changeset 0:8300eb051bea draft

Initial upload
author ktnyt
date Fri, 26 Jun 2015 05:19:29 -0400
parents
children 84a17b3fad1f
files GEMBASSY-1.0.3/AUTHORS GEMBASSY-1.0.3/COPYING GEMBASSY-1.0.3/ChangeLog GEMBASSY-1.0.3/INSTALL GEMBASSY-1.0.3/Makefile.am GEMBASSY-1.0.3/Makefile.in GEMBASSY-1.0.3/NEWS GEMBASSY-1.0.3/README GEMBASSY-1.0.3/acd/Makefile GEMBASSY-1.0.3/acd/Makefile.am GEMBASSY-1.0.3/acd/Makefile.in GEMBASSY-1.0.3/acd/gaaui.acd GEMBASSY-1.0.3/acd/gaminoinfo.acd GEMBASSY-1.0.3/acd/gb1.acd GEMBASSY-1.0.3/acd/gb2.acd GEMBASSY-1.0.3/acd/gbasecounter.acd GEMBASSY-1.0.3/acd/gbaseentropy.acd GEMBASSY-1.0.3/acd/gbaseinformationcontent.acd GEMBASSY-1.0.3/acd/gbaserelativeentropy.acd GEMBASSY-1.0.3/acd/gbasezvalue.acd GEMBASSY-1.0.3/acd/gbui.acd GEMBASSY-1.0.3/acd/gcai.acd GEMBASSY-1.0.3/acd/gcbi.acd GEMBASSY-1.0.3/acd/gcgr.acd GEMBASSY-1.0.3/acd/gcircularmap.acd GEMBASSY-1.0.3/acd/gcodoncompiler.acd GEMBASSY-1.0.3/acd/gconsensusz.acd GEMBASSY-1.0.3/acd/gdeltaenc.acd GEMBASSY-1.0.3/acd/gdeltagcskew.acd GEMBASSY-1.0.3/acd/gdinuc.acd GEMBASSY-1.0.3/acd/gdistincc.acd GEMBASSY-1.0.3/acd/gdnawalk.acd GEMBASSY-1.0.3/acd/genc.acd GEMBASSY-1.0.3/acd/genret.acd GEMBASSY-1.0.3/acd/gentrez.acd GEMBASSY-1.0.3/acd/gew.acd GEMBASSY-1.0.3/acd/gfindoriter.acd GEMBASSY-1.0.3/acd/gfop.acd GEMBASSY-1.0.3/acd/ggcsi.acd GEMBASSY-1.0.3/acd/ggcskew.acd GEMBASSY-1.0.3/acd/ggcwin.acd GEMBASSY-1.0.3/acd/ggeneskew.acd GEMBASSY-1.0.3/acd/ggenomemap3.acd GEMBASSY-1.0.3/acd/ggenomicskew.acd GEMBASSY-1.0.3/acd/gicdi.acd GEMBASSY-1.0.3/acd/gkmertable.acd GEMBASSY-1.0.3/acd/gldabias.acd GEMBASSY-1.0.3/acd/gnucleotideperiodicity.acd GEMBASSY-1.0.3/acd/goligomercounter.acd GEMBASSY-1.0.3/acd/goligomersearch.acd GEMBASSY-1.0.3/acd/gp2.acd GEMBASSY-1.0.3/acd/gpalindrome.acd GEMBASSY-1.0.3/acd/gphx.acd GEMBASSY-1.0.3/acd/gqueryarm.acd GEMBASSY-1.0.3/acd/gquerystrand.acd GEMBASSY-1.0.3/acd/greporiter.acd GEMBASSY-1.0.3/acd/gscs.acd GEMBASSY-1.0.3/acd/gseq2png.acd GEMBASSY-1.0.3/acd/gseqinfo.acd GEMBASSY-1.0.3/acd/gshuffleseq.acd GEMBASSY-1.0.3/acd/gsignature.acd GEMBASSY-1.0.3/acd/gsvalue.acd GEMBASSY-1.0.3/acd/gviewcds.acd GEMBASSY-1.0.3/acd/gwvalue.acd GEMBASSY-1.0.3/aclocal.m4 GEMBASSY-1.0.3/compile GEMBASSY-1.0.3/config.guess GEMBASSY-1.0.3/config.sub GEMBASSY-1.0.3/configure GEMBASSY-1.0.3/configure.in GEMBASSY-1.0.3/data/ADH_HUMAN.fasta GEMBASSY-1.0.3/data/accid.fasta GEMBASSY-1.0.3/data/consensus.fasta GEMBASSY-1.0.3/depcomp GEMBASSY-1.0.3/doc/Makefile GEMBASSY-1.0.3/doc/Makefile.am GEMBASSY-1.0.3/doc/Makefile.in GEMBASSY-1.0.3/doc/html/Makefile GEMBASSY-1.0.3/doc/html/Makefile.am GEMBASSY-1.0.3/doc/html/Makefile.in GEMBASSY-1.0.3/doc/html/gaaui.html GEMBASSY-1.0.3/doc/html/gaminoinfo.html GEMBASSY-1.0.3/doc/html/gb1.html GEMBASSY-1.0.3/doc/html/gb2.html GEMBASSY-1.0.3/doc/html/gbasecounter.html GEMBASSY-1.0.3/doc/html/gbaseentropy.html GEMBASSY-1.0.3/doc/html/gbaseinformationcontent.html GEMBASSY-1.0.3/doc/html/gbaserelativeentropy.html GEMBASSY-1.0.3/doc/html/gbasezvalue.html GEMBASSY-1.0.3/doc/html/gbui.html GEMBASSY-1.0.3/doc/html/gcai.html GEMBASSY-1.0.3/doc/html/gcbi.html GEMBASSY-1.0.3/doc/html/gcgr.html GEMBASSY-1.0.3/doc/html/gcircularmap.html GEMBASSY-1.0.3/doc/html/gcodoncompiler.html GEMBASSY-1.0.3/doc/html/gconsensusz.html GEMBASSY-1.0.3/doc/html/gdeltaenc.html GEMBASSY-1.0.3/doc/html/gdeltagcskew.html GEMBASSY-1.0.3/doc/html/gdinuc.html GEMBASSY-1.0.3/doc/html/gdistincc.html GEMBASSY-1.0.3/doc/html/gdnawalk.html GEMBASSY-1.0.3/doc/html/genc.html GEMBASSY-1.0.3/doc/html/genret.html GEMBASSY-1.0.3/doc/html/gentrez.html GEMBASSY-1.0.3/doc/html/gew.html GEMBASSY-1.0.3/doc/html/gfindoriter.html GEMBASSY-1.0.3/doc/html/gfop.html GEMBASSY-1.0.3/doc/html/ggcsi.html GEMBASSY-1.0.3/doc/html/ggcskew.html GEMBASSY-1.0.3/doc/html/ggcwin.html GEMBASSY-1.0.3/doc/html/ggeneskew.html GEMBASSY-1.0.3/doc/html/ggenomemap3.html GEMBASSY-1.0.3/doc/html/ggenomicskew.html GEMBASSY-1.0.3/doc/html/gicdi.html GEMBASSY-1.0.3/doc/html/gkmertable.html GEMBASSY-1.0.3/doc/html/gldabias.html GEMBASSY-1.0.3/doc/html/gnucleotideperiodicity.html GEMBASSY-1.0.3/doc/html/goligomercounter.html GEMBASSY-1.0.3/doc/html/goligomersearch.html GEMBASSY-1.0.3/doc/html/gp2.html GEMBASSY-1.0.3/doc/html/gpalindrome.html GEMBASSY-1.0.3/doc/html/gphx.html GEMBASSY-1.0.3/doc/html/gqueryarm.html GEMBASSY-1.0.3/doc/html/gquerystrand.html GEMBASSY-1.0.3/doc/html/greporiter.html GEMBASSY-1.0.3/doc/html/gscs.html GEMBASSY-1.0.3/doc/html/gseq2png.html GEMBASSY-1.0.3/doc/html/gseqinfo.html GEMBASSY-1.0.3/doc/html/gshuffleseq.html GEMBASSY-1.0.3/doc/html/gsignature.html GEMBASSY-1.0.3/doc/html/gsvalue.html GEMBASSY-1.0.3/doc/html/gviewcds.html GEMBASSY-1.0.3/doc/html/gwvalue.html GEMBASSY-1.0.3/doc/html/index.html GEMBASSY-1.0.3/doc/text/Makefile GEMBASSY-1.0.3/doc/text/Makefile.am GEMBASSY-1.0.3/doc/text/Makefile.in GEMBASSY-1.0.3/doc/text/copydesc.pl GEMBASSY-1.0.3/doc/text/gaaui.txt GEMBASSY-1.0.3/doc/text/gaminoinfo.txt GEMBASSY-1.0.3/doc/text/gb1.txt GEMBASSY-1.0.3/doc/text/gb2.txt GEMBASSY-1.0.3/doc/text/gbasecounter.txt GEMBASSY-1.0.3/doc/text/gbaseentropy.txt GEMBASSY-1.0.3/doc/text/gbaseinformationcontent.txt GEMBASSY-1.0.3/doc/text/gbaserelativeentropy.txt GEMBASSY-1.0.3/doc/text/gbasezvalue.txt GEMBASSY-1.0.3/doc/text/gbui.txt GEMBASSY-1.0.3/doc/text/gcai.txt GEMBASSY-1.0.3/doc/text/gcbi.txt GEMBASSY-1.0.3/doc/text/gcgr.txt GEMBASSY-1.0.3/doc/text/gcircularmap.txt GEMBASSY-1.0.3/doc/text/gcodoncompiler.txt GEMBASSY-1.0.3/doc/text/gconsensusz.txt GEMBASSY-1.0.3/doc/text/gdeltaenc.txt GEMBASSY-1.0.3/doc/text/gdeltagcskew.txt GEMBASSY-1.0.3/doc/text/gdinuc.txt GEMBASSY-1.0.3/doc/text/gdistincc.txt GEMBASSY-1.0.3/doc/text/gdnawalk.txt GEMBASSY-1.0.3/doc/text/genc.txt GEMBASSY-1.0.3/doc/text/genret.txt GEMBASSY-1.0.3/doc/text/gentrez.txt GEMBASSY-1.0.3/doc/text/gew.txt GEMBASSY-1.0.3/doc/text/gfindoriter.txt GEMBASSY-1.0.3/doc/text/gfop.txt GEMBASSY-1.0.3/doc/text/ggcsi.txt GEMBASSY-1.0.3/doc/text/ggcskew.txt GEMBASSY-1.0.3/doc/text/ggcwin.txt GEMBASSY-1.0.3/doc/text/ggeneskew.txt GEMBASSY-1.0.3/doc/text/ggenomemap3.txt GEMBASSY-1.0.3/doc/text/ggenomicskew.txt GEMBASSY-1.0.3/doc/text/gicdi.txt GEMBASSY-1.0.3/doc/text/gkmertable.txt GEMBASSY-1.0.3/doc/text/gldabias.txt GEMBASSY-1.0.3/doc/text/gnucleotideperiodicity.txt GEMBASSY-1.0.3/doc/text/goligomercounter.txt GEMBASSY-1.0.3/doc/text/goligomersearch.txt GEMBASSY-1.0.3/doc/text/gp2.txt GEMBASSY-1.0.3/doc/text/gpalindrome.txt GEMBASSY-1.0.3/doc/text/gphx.txt GEMBASSY-1.0.3/doc/text/gqueryarm.txt GEMBASSY-1.0.3/doc/text/gquerystrand.txt GEMBASSY-1.0.3/doc/text/greporiter.txt GEMBASSY-1.0.3/doc/text/gscs.txt GEMBASSY-1.0.3/doc/text/gseq2png.txt GEMBASSY-1.0.3/doc/text/gseqinfo.txt GEMBASSY-1.0.3/doc/text/gshuffleseq.txt GEMBASSY-1.0.3/doc/text/gsignature.txt GEMBASSY-1.0.3/doc/text/gsvalue.txt GEMBASSY-1.0.3/doc/text/gviewcds.txt GEMBASSY-1.0.3/doc/text/gwvalue.txt GEMBASSY-1.0.3/gsoap/.deps/libgsoap___a-dom_cpp.Po GEMBASSY-1.0.3/gsoap/.deps/libgsoap___a-stdsoap2_cpp.Po GEMBASSY-1.0.3/gsoap/.deps/libgsoap_a-dom.Po GEMBASSY-1.0.3/gsoap/.deps/libgsoap_a-stdsoap2.Po GEMBASSY-1.0.3/gsoap/.deps/libgsoapck___a-dom_cpp.Po GEMBASSY-1.0.3/gsoap/.deps/libgsoapck___a-stdsoap2_ck_cpp.Po GEMBASSY-1.0.3/gsoap/.deps/libgsoapck_a-dom.Po GEMBASSY-1.0.3/gsoap/.deps/libgsoapck_a-stdsoap2_ck.Po GEMBASSY-1.0.3/gsoap/.deps/libgsoapssl___a-dom_cpp.Po GEMBASSY-1.0.3/gsoap/.deps/libgsoapssl___a-stdsoap2_ssl_cpp.Po GEMBASSY-1.0.3/gsoap/.deps/libgsoapssl_a-dom.Po GEMBASSY-1.0.3/gsoap/.deps/libgsoapssl_a-stdsoap2_ssl.Po GEMBASSY-1.0.3/gsoap/Makefile GEMBASSY-1.0.3/gsoap/Makefile.am GEMBASSY-1.0.3/gsoap/Makefile.in GEMBASSY-1.0.3/gsoap/bin/README.txt GEMBASSY-1.0.3/gsoap/bin/linux386/soapcpp2 GEMBASSY-1.0.3/gsoap/bin/linux386/wsdl2h GEMBASSY-1.0.3/gsoap/bin/macosx/soapcpp2 GEMBASSY-1.0.3/gsoap/bin/macosx/wsdl2h GEMBASSY-1.0.3/gsoap/bin/win32/soapcpp2.exe GEMBASSY-1.0.3/gsoap/bin/win32/wsdl2h.exe GEMBASSY-1.0.3/gsoap/custom/README.txt GEMBASSY-1.0.3/gsoap/custom/duration.c GEMBASSY-1.0.3/gsoap/custom/duration.h GEMBASSY-1.0.3/gsoap/custom/long_double.c GEMBASSY-1.0.3/gsoap/custom/long_double.h GEMBASSY-1.0.3/gsoap/custom/struct_timeval.c GEMBASSY-1.0.3/gsoap/custom/struct_timeval.h GEMBASSY-1.0.3/gsoap/custom/struct_tm.c GEMBASSY-1.0.3/gsoap/custom/struct_tm.h GEMBASSY-1.0.3/gsoap/dom.c GEMBASSY-1.0.3/gsoap/dom.cpp GEMBASSY-1.0.3/gsoap/extras/README.txt GEMBASSY-1.0.3/gsoap/extras/ckdb.c GEMBASSY-1.0.3/gsoap/extras/ckdb.h GEMBASSY-1.0.3/gsoap/extras/ckdbtest.c GEMBASSY-1.0.3/gsoap/extras/ckdbtest.h GEMBASSY-1.0.3/gsoap/extras/fault.cpp GEMBASSY-1.0.3/gsoap/extras/logging.cpp GEMBASSY-1.0.3/gsoap/extras/soapdefs.h GEMBASSY-1.0.3/gsoap/src/.deps/soapcpp2-error2.Po GEMBASSY-1.0.3/gsoap/src/.deps/soapcpp2-init2.Po GEMBASSY-1.0.3/gsoap/src/.deps/soapcpp2-soapcpp2.Po GEMBASSY-1.0.3/gsoap/src/.deps/soapcpp2-soapcpp2_lex.Po GEMBASSY-1.0.3/gsoap/src/.deps/soapcpp2-soapcpp2_yacc.Po GEMBASSY-1.0.3/gsoap/src/.deps/soapcpp2-symbol2.Po GEMBASSY-1.0.3/gsoap/src/Makefile GEMBASSY-1.0.3/gsoap/src/Makefile.am GEMBASSY-1.0.3/gsoap/src/Makefile.in GEMBASSY-1.0.3/gsoap/src/MakefileManual GEMBASSY-1.0.3/gsoap/src/README.txt GEMBASSY-1.0.3/gsoap/src/error2.c GEMBASSY-1.0.3/gsoap/src/error2.h GEMBASSY-1.0.3/gsoap/src/init2.c GEMBASSY-1.0.3/gsoap/src/soapcpp2.c GEMBASSY-1.0.3/gsoap/src/soapcpp2.h GEMBASSY-1.0.3/gsoap/src/soapcpp2_lex.l GEMBASSY-1.0.3/gsoap/src/soapcpp2_yacc.y GEMBASSY-1.0.3/gsoap/src/symbol2.c GEMBASSY-1.0.3/gsoap/stdsoap2.c GEMBASSY-1.0.3/gsoap/stdsoap2.cpp GEMBASSY-1.0.3/gsoap/stdsoap2.h GEMBASSY-1.0.3/gsoap/typemap.dat GEMBASSY-1.0.3/gsoap/wsdl/.deps/wsdl2h-mime.Po GEMBASSY-1.0.3/gsoap/wsdl/.deps/wsdl2h-schema.Po GEMBASSY-1.0.3/gsoap/wsdl/.deps/wsdl2h-service.Po GEMBASSY-1.0.3/gsoap/wsdl/.deps/wsdl2h-soap.Po GEMBASSY-1.0.3/gsoap/wsdl/.deps/wsdl2h-types.Po GEMBASSY-1.0.3/gsoap/wsdl/.deps/wsdl2h-wsdl.Po GEMBASSY-1.0.3/gsoap/wsdl/.deps/wsdl2h-wsdl2h.Po GEMBASSY-1.0.3/gsoap/wsdl/.deps/wsdl2h-wsdlC.Po GEMBASSY-1.0.3/gsoap/wsdl/.deps/wsdl2h-wsp.Po GEMBASSY-1.0.3/gsoap/wsdl/Makefile GEMBASSY-1.0.3/gsoap/wsdl/Makefile.am GEMBASSY-1.0.3/gsoap/wsdl/Makefile.in GEMBASSY-1.0.3/gsoap/wsdl/MakefileManual GEMBASSY-1.0.3/gsoap/wsdl/README.txt GEMBASSY-1.0.3/gsoap/wsdl/dime.h GEMBASSY-1.0.3/gsoap/wsdl/gwsdl.h GEMBASSY-1.0.3/gsoap/wsdl/http.h GEMBASSY-1.0.3/gsoap/wsdl/imports.h GEMBASSY-1.0.3/gsoap/wsdl/includes.h GEMBASSY-1.0.3/gsoap/wsdl/mime.cpp GEMBASSY-1.0.3/gsoap/wsdl/mime.h GEMBASSY-1.0.3/gsoap/wsdl/schema.cpp GEMBASSY-1.0.3/gsoap/wsdl/schema.h GEMBASSY-1.0.3/gsoap/wsdl/service.cpp GEMBASSY-1.0.3/gsoap/wsdl/service.h GEMBASSY-1.0.3/gsoap/wsdl/soap.cpp GEMBASSY-1.0.3/gsoap/wsdl/soap.h GEMBASSY-1.0.3/gsoap/wsdl/sp.h GEMBASSY-1.0.3/gsoap/wsdl/typemap.dat GEMBASSY-1.0.3/gsoap/wsdl/types.cpp GEMBASSY-1.0.3/gsoap/wsdl/types.h GEMBASSY-1.0.3/gsoap/wsdl/wsam.h GEMBASSY-1.0.3/gsoap/wsdl/wsdl.cpp GEMBASSY-1.0.3/gsoap/wsdl/wsdl.h GEMBASSY-1.0.3/gsoap/wsdl/wsdl2h.cpp GEMBASSY-1.0.3/gsoap/wsdl/wsp.cpp GEMBASSY-1.0.3/gsoap/wsdl/wsp.h GEMBASSY-1.0.3/gsoap/wsdl/wsrmp.h GEMBASSY-1.0.3/gsoap/wsdl/wst.h GEMBASSY-1.0.3/gsoap/wsdl/wsu.h GEMBASSY-1.0.3/include/.deps/gfile.Po GEMBASSY-1.0.3/include/.deps/ghttp.Po GEMBASSY-1.0.3/include/.deps/gplot.Po GEMBASSY-1.0.3/include/.deps/gpost.Po GEMBASSY-1.0.3/include/GLANGSoapBinding.B1.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.B1.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.B2.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.B2.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.DoubleHelix.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.DoubleHelix.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.Ew.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.Ew.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.P2.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.P2.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.S_value.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.S_value.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.aaui.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.aaui.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.amino_counter.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.amino_counter.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.amino_info.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.amino_info.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.base_counter.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.base_counter.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.base_entropy.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.base_entropy.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.base_information_content.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.base_information_content.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.base_relative_entropy.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.base_relative_entropy.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.base_z_value.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.base_z_value.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.bui.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.bui.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.cai.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.cai.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.calc_pI.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.calc_pI.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.cbi.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.cbi.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.cgr.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.cgr.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.circular_map.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.circular_map.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.codon_compiler.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.codon_compiler.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.codon_counter.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.codon_counter.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.codon_mva.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.codon_mva.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.codon_usage.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.codon_usage.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.complement.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.complement.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.consensus_z.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.consensus_z.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.cor.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.cor.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.cumulative.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.cumulative.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.delta_enc.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.delta_enc.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.delta_gcskew.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.delta_gcskew.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.dinuc.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.dinuc.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.dist_in_cc.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.dist_in_cc.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.dnawalk.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.dnawalk.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.enc.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.enc.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.entrez.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.entrez.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.filter_cds_by_atg.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.filter_cds_by_atg.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.find_dif.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.find_dif.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.find_dnaAbox.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.find_dnaAbox.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.find_iteron.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.find_iteron.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.find_ori_ter.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.find_ori_ter.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.find_pattern.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.find_pattern.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.find_ter.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.find_ter.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.fop.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.fop.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.gcsi.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.gcsi.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.gcskew.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.gcskew.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.gcwin.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.gcwin.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.genes_from_ori.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.genes_from_ori.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.geneskew.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.geneskew.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.genome_map.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.genome_map.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.genome_map3.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.genome_map3.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.genomicskew.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.genomicskew.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.grapher.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.grapher.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.help.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.help.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.hydropathy.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.hydropathy.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.icdi.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.icdi.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.kmer_table.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.kmer_table.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.lda_bias.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.lda_bias.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.leading_strand.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.leading_strand.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.least_squares_fit.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.least_squares_fit.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.longest_ORF.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.longest_ORF.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.max.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.max.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.maxdex.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.maxdex.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.mean.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.mean.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.median.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.median.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.min.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.min.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.mindex.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.mindex.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.molecular_weight.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.molecular_weight.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.nsmap GEMBASSY-1.0.3/include/GLANGSoapBinding.nucleotide_periodicity.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.nucleotide_periodicity.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.oligomer_counter.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.oligomer_counter.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.oligomer_search.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.oligomer_search.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.over_lapping_finder.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.over_lapping_finder.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.palindrome.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.palindrome.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.peptide_mass.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.peptide_mass.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.phx.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.phx.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.plasmid_map.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.plasmid_map.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.pubmed.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.pubmed.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.query_arm.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.query_arm.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.query_strand.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.query_strand.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.rep_ori_ter.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.rep_ori_ter.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.scs.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.scs.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.seq2png.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.seq2png.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.seqinfo.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.seqinfo.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.shuffleseq.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.shuffleseq.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.signature.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.signature.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.splitprintseq.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.splitprintseq.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.standard_deviation.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.standard_deviation.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.sum.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.sum.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.to_fasta.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.to_fasta.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.togoWS.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.togoWS.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.translate.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.translate.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.ttest.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.ttest.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.variance.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.variance.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.view_cds.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.view_cds.res.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.w_value.req.xml GEMBASSY-1.0.3/include/GLANGSoapBinding.w_value.res.xml GEMBASSY-1.0.3/include/Makefile GEMBASSY-1.0.3/include/gae.h GEMBASSY-1.0.3/include/gfile.c GEMBASSY-1.0.3/include/gfile.h GEMBASSY-1.0.3/include/ghttp.c GEMBASSY-1.0.3/include/ghttp.h GEMBASSY-1.0.3/include/glibs.h GEMBASSY-1.0.3/include/gplot.c GEMBASSY-1.0.3/include/gplot.h GEMBASSY-1.0.3/include/gpost.c GEMBASSY-1.0.3/include/gpost.h GEMBASSY-1.0.3/include/soapC.c GEMBASSY-1.0.3/include/soapClient.c GEMBASSY-1.0.3/include/soapClientLib.c GEMBASSY-1.0.3/include/soapH.h GEMBASSY-1.0.3/include/soapServer.c GEMBASSY-1.0.3/include/soapServerLib.c GEMBASSY-1.0.3/include/soapStub.h GEMBASSY-1.0.3/install-sh GEMBASSY-1.0.3/ltmain.sh GEMBASSY-1.0.3/m4/._libtool.m4 GEMBASSY-1.0.3/m4/._ltoptions.m4 GEMBASSY-1.0.3/m4/._ltsugar.m4 GEMBASSY-1.0.3/m4/._lt~obsolete.m4 GEMBASSY-1.0.3/m4/general.m4 GEMBASSY-1.0.3/m4/hpdf.m4 GEMBASSY-1.0.3/m4/java.m4 GEMBASSY-1.0.3/m4/lf_x11.m4 GEMBASSY-1.0.3/m4/libtool.m4 GEMBASSY-1.0.3/m4/ltoptions.m4 GEMBASSY-1.0.3/m4/ltsugar.m4 GEMBASSY-1.0.3/m4/ltversion.m4 GEMBASSY-1.0.3/m4/lt~obsolete.m4 GEMBASSY-1.0.3/m4/mysql.m4 GEMBASSY-1.0.3/m4/pngdriver.m4 GEMBASSY-1.0.3/m4/postgresql.m4 GEMBASSY-1.0.3/m4/sgi.m4 GEMBASSY-1.0.3/missing GEMBASSY-1.0.3/src/Makefile.am GEMBASSY-1.0.3/src/Makefile.in GEMBASSY-1.0.3/src/config.h.in GEMBASSY-1.0.3/src/gaaui.c GEMBASSY-1.0.3/src/gaminoinfo.c GEMBASSY-1.0.3/src/gb1.c GEMBASSY-1.0.3/src/gb2.c GEMBASSY-1.0.3/src/gbasecounter.c GEMBASSY-1.0.3/src/gbaseentropy.c GEMBASSY-1.0.3/src/gbaseinformationcontent.c GEMBASSY-1.0.3/src/gbaserelativeentropy.c GEMBASSY-1.0.3/src/gbasezvalue.c GEMBASSY-1.0.3/src/gbui.c GEMBASSY-1.0.3/src/gcai.c GEMBASSY-1.0.3/src/gcbi.c GEMBASSY-1.0.3/src/gcgr.c GEMBASSY-1.0.3/src/gcircularmap.c GEMBASSY-1.0.3/src/gcodoncompiler.c GEMBASSY-1.0.3/src/gconsensusz.c GEMBASSY-1.0.3/src/gdeltaenc.c GEMBASSY-1.0.3/src/gdeltagcskew.c GEMBASSY-1.0.3/src/gdinuc.c GEMBASSY-1.0.3/src/gdistincc.c GEMBASSY-1.0.3/src/gdnawalk.c GEMBASSY-1.0.3/src/genc.c GEMBASSY-1.0.3/src/genret.c GEMBASSY-1.0.3/src/gentrez.c GEMBASSY-1.0.3/src/gew.c GEMBASSY-1.0.3/src/gfindoriter.c GEMBASSY-1.0.3/src/gfop.c GEMBASSY-1.0.3/src/ggcsi.c GEMBASSY-1.0.3/src/ggcskew.c GEMBASSY-1.0.3/src/ggcwin.c GEMBASSY-1.0.3/src/ggeneskew.c GEMBASSY-1.0.3/src/ggenomemap3.c GEMBASSY-1.0.3/src/ggenomicskew.c GEMBASSY-1.0.3/src/gicdi.c GEMBASSY-1.0.3/src/gkmertable.c GEMBASSY-1.0.3/src/gldabias.c GEMBASSY-1.0.3/src/gnucleotideperiodicity.c GEMBASSY-1.0.3/src/goligomercounter.c GEMBASSY-1.0.3/src/goligomersearch.c GEMBASSY-1.0.3/src/gp2.c GEMBASSY-1.0.3/src/gpalindrome.c GEMBASSY-1.0.3/src/gphx.c GEMBASSY-1.0.3/src/gqueryarm.c GEMBASSY-1.0.3/src/gquerystrand.c GEMBASSY-1.0.3/src/greporiter.c GEMBASSY-1.0.3/src/gscs.c GEMBASSY-1.0.3/src/gseq2png.c GEMBASSY-1.0.3/src/gseqinfo.c GEMBASSY-1.0.3/src/gshuffleseq.c GEMBASSY-1.0.3/src/gsignature.c GEMBASSY-1.0.3/src/gsvalue.c GEMBASSY-1.0.3/src/gviewcds.c GEMBASSY-1.0.3/src/gwvalue.c
diffstat 581 files changed, 303282 insertions(+), 80 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/AUTHORS	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,2 @@
+See README file.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/COPYING	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,340 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year  name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/ChangeLog	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+Version 0.0.1 11-Mar-2012
+        Beta version.
+Version 0.0.1 09-Jun-2012
+        Update, 5 methods added. Some method names changed.
+Version 0.0.1 26-Sep-2012
+	Update, 1 method added.
+Version 1.0.1 07-Jul-2013
+	Map method conversion.
+	Document re-enforecment.
+	RESTification
+	EDAM ontology mapping
+Version 1.0.2 28-Oct-2013
+	Update EMBOSS-6.6.0
+Version 1.0.3 09-Feb-2015
+	Refactoring
+	Finish RESTification
+	Implement "-tai" option in "gcai"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/INSTALL	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,370 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
+Inc.
+
+   Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.  This file is offered as-is,
+without warranty of any kind.
+
+Basic Installation
+==================
+
+   Briefly, the shell command `./configure && make && make install'
+should configure, build, and install this package.  The following
+more-detailed instructions are generic; see the `README' file for
+instructions specific to this package.  Some packages provide this
+`INSTALL' file but do not implement all of the features documented
+below.  The lack of an optional feature in a given package is not
+necessarily a bug.  More recommendations for GNU packages can be found
+in *note Makefile Conventions: (standards)Makefile Conventions.
+
+   The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+   It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring.  Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.
+
+   If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release.  If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+   The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'.  You need `configure.ac' if
+you want to change it or regenerate `configure' using a newer version
+of `autoconf'.
+
+   The simplest way to compile this package is:
+
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.
+
+     Running `configure' might take a while.  While running, it prints
+     some messages telling which features it is checking for.
+
+  2. Type `make' to compile the package.
+
+  3. Optionally, type `make check' to run any self-tests that come with
+     the package, generally using the just-built uninstalled binaries.
+
+  4. Type `make install' to install the programs and any data files and
+     documentation.  When installing into a prefix owned by root, it is
+     recommended that the package be configured and built as a regular
+     user, and only the `make install' phase executed with root
+     privileges.
+
+  5. Optionally, type `make installcheck' to repeat any self-tests, but
+     this time using the binaries in their final installed location.
+     This target does not install anything.  Running this target as a
+     regular user, particularly if the prior `make install' required
+     root privileges, verifies that the installation completed
+     correctly.
+
+  6. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  To also remove the
+     files that `configure' created (so you can compile the package for
+     a different kind of computer), type `make distclean'.  There is
+     also a `make maintainer-clean' target, but that is intended mainly
+     for the package's developers.  If you use it, you may have to get
+     all sorts of other programs in order to regenerate files that came
+     with the distribution.
+
+  7. Often, you can also type `make uninstall' to remove the installed
+     files again.  In practice, not all packages have tested that
+     uninstallation works correctly, even though it is required by the
+     GNU Coding Standards.
+
+  8. Some packages, particularly those that use Automake, provide `make
+     distcheck', which can by used by developers to test that all other
+     targets like `make install' and `make uninstall' work correctly.
+     This target is generally not run by end users.
+
+Compilers and Options
+=====================
+
+   Some systems require unusual options for compilation or linking that
+the `configure' script does not know about.  Run `./configure --help'
+for details on some of the pertinent environment variables.
+
+   You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here
+is an example:
+
+     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+
+   *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+   You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you can use GNU `make'.  `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.  This
+is known as a "VPATH" build.
+
+   With a non-GNU `make', it is safer to compile the package for one
+architecture at a time in the source code directory.  After you have
+installed the package for one architecture, use `make distclean' before
+reconfiguring for another architecture.
+
+   On MacOS X 10.5 and later systems, you can create libraries and
+executables that work on multiple system types--known as "fat" or
+"universal" binaries--by specifying multiple `-arch' options to the
+compiler but only a single `-arch' option to the preprocessor.  Like
+this:
+
+     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+                 CPP="gcc -E" CXXCPP="g++ -E"
+
+   This is not guaranteed to produce working output in all cases, you
+may have to build one architecture at a time and combine the results
+using the `lipo' tool if you have problems.
+
+Installation Names
+==================
+
+   By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc.  You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX', where PREFIX must be an
+absolute file name.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+   In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files.  Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.  In general, the
+default for these options is expressed in terms of `${prefix}', so that
+specifying just `--prefix' will affect all of the other directory
+specifications that were not explicitly provided.
+
+   The most portable way to affect installation locations is to pass the
+correct locations to `configure'; however, many packages provide one or
+both of the following shortcuts of passing variable assignments to the
+`make install' command line to change installation locations without
+having to reconfigure or recompile.
+
+   The first method involves providing an override variable for each
+affected directory.  For example, `make install
+prefix=/alternate/directory' will choose an alternate location for all
+directory configuration variables that were expressed in terms of
+`${prefix}'.  Any directories that were specified during `configure',
+but not in terms of `${prefix}', must each be overridden at install
+time for the entire installation to be relocated.  The approach of
+makefile variable overrides for each directory variable is required by
+the GNU Coding Standards, and ideally causes no recompilation.
+However, some platforms have known limitations with the semantics of
+shared libraries that end up requiring recompilation when using this
+method, particularly noticeable in packages that use GNU Libtool.
+
+   The second method involves providing the `DESTDIR' variable.  For
+example, `make install DESTDIR=/alternate/directory' will prepend
+`/alternate/directory' before all installation names.  The approach of
+`DESTDIR' overrides is not required by the GNU Coding Standards, and
+does not work on platforms that have drive letters.  On the other hand,
+it does better at avoiding recompilation issues, and works well even
+when some directory options were not specified in terms of `${prefix}'
+at `configure' time.
+
+Optional Features
+=================
+
+   If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+   Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System).  The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+   For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+   Some packages offer the ability to configure how verbose the
+execution of `make' will be.  For these packages, running `./configure
+--enable-silent-rules' sets the default to minimal output, which can be
+overridden with `make V=1'; while running `./configure
+--disable-silent-rules' sets the default to verbose, which can be
+overridden with `make V=0'.
+
+Particular systems
+==================
+
+   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
+CC is not installed, it is recommended to use the following options in
+order to use an ANSI C compiler:
+
+     ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+   HP-UX `make' updates targets which have the same time stamps as
+their prerequisites, which makes it generally unusable when shipped
+generated files such as `configure' are involved.  Use GNU `make'
+instead.
+
+   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
+a workaround.  If GNU CC is not installed, it is therefore recommended
+to try
+
+     ./configure CC="cc"
+
+and if that doesn't work, try
+
+     ./configure CC="cc -nodtk"
+
+   On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
+directory contains several dysfunctional programs; working variants of
+these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
+in your `PATH', put it _after_ `/usr/bin'.
+
+   On Haiku, software installed for all users goes in `/boot/common',
+not `/usr/local'.  It is recommended to use the following options:
+
+     ./configure --prefix=/boot/common
+
+Specifying the System Type
+==========================
+
+   There may be some features `configure' cannot figure out
+automatically, but needs to determine by the type of machine the package
+will run on.  Usually, assuming the package is built to be run on the
+_same_ architectures, `configure' can figure that out, but if it prints
+a message saying it cannot guess the machine type, give it the
+`--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+     CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+     OS
+     KERNEL-OS
+
+   See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+   If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+   If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+   If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+   Variables not defined in a site shell script can be set in the
+environment passed to `configure'.  However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost.  In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'.  For example:
+
+     ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).
+
+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
+an Autoconf limitation.  Until the limitation is lifted, you can use
+this workaround:
+
+     CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+`configure' Invocation
+======================
+
+   `configure' recognizes the following options to control how it
+operates.
+
+`--help'
+`-h'
+     Print a summary of all of the options to `configure', and exit.
+
+`--help=short'
+`--help=recursive'
+     Print a summary of the options unique to this package's
+     `configure', and exit.  The `short' variant lists options used
+     only in the top level, while the `recursive' variant lists options
+     also present in any nested packages.
+
+`--version'
+`-V'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
+`--cache-file=FILE'
+     Enable the cache: use and save the results of the tests in FILE,
+     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     disable caching.
+
+`--config-cache'
+`-C'
+     Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+     Do not print messages saying which checks are being made.  To
+     suppress all normal output, redirect it to `/dev/null' (any error
+     messages will still be shown).
+
+`--srcdir=DIR'
+     Look for the package's source code in directory DIR.  Usually
+     `configure' can determine that directory automatically.
+
+`--prefix=DIR'
+     Use DIR as the installation prefix.  *note Installation Names::
+     for more details, including other options available for fine-tuning
+     the installation locations.
+
+`--no-create'
+`-n'
+     Run the configure checks, but stop before creating any output
+     files.
+
+`configure' also accepts some other, not widely useful, options.  Run
+`configure --help' for more details.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/Makefile.am	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+#
+
+SUBDIRS = src acd doc
+
+EXTRA_DIST = gsoap depcomp ltmain.sh config.sub config.guess data
+
+# tar to pick up the other directories
+# then remove any CVS subdirectories
+
+dist-hook:
+	tar cBf - acd | ( cd $(distdir); tar xBf - ; cd acd; rm -rf CVS ) 
+	tar cBf - doc | ( cd $(distdir); tar xBf - ; cd doc; rm -rf CVS; rm -rf master) 
+	tar cBf - include | ( cd $(distdir); tar xBf - ; cd include; rm -rf CVS ) 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/Makefile.in	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,850 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 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@
+
+#
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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@
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/general.m4 \
+	$(top_srcdir)/m4/hpdf.m4 $(top_srcdir)/m4/java.m4 \
+	$(top_srcdir)/m4/lf_x11.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)/m4/mysql.m4 $(top_srcdir)/m4/pngdriver.m4 \
+	$(top_srcdir)/m4/postgresql.m4 $(top_srcdir)/m4/sgi.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+	$(am__configure_deps) $(am__DIST_COMMON)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/src/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+	ctags-recursive dvi-recursive html-recursive info-recursive \
+	install-data-recursive install-dvi-recursive \
+	install-exec-recursive install-html-recursive \
+	install-info-recursive install-pdf-recursive \
+	install-ps-recursive install-recursive installcheck-recursive \
+	installdirs-recursive pdf-recursive ps-recursive \
+	tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+	cscope distdir dist dist-all distcheck
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+CSCOPE = cscope
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in AUTHORS COPYING ChangeLog \
+	INSTALL NEWS README compile config.guess config.sub install-sh \
+	ltmain.sh missing
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  if test -d "$(distdir)"; then \
+    find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+      && rm -rf "$(distdir)" \
+      || { sleep 5 && rm -rf "$(distdir)"; }; \
+  else :; fi
+am__post_remove_distdir = $(am__remove_distdir)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+DIST_TARGETS = dist-gzip
+distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+ANT = @ANT@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DEVWARN_CFLAGS = @DEVWARN_CFLAGS@
+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_MEMMOVE = @HAVE_MEMMOVE@
+HAVE_STRERROR = @HAVE_STRERROR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVA_CFLAGS = @JAVA_CFLAGS@
+JAVA_CPPFLAGS = @JAVA_CPPFLAGS@
+JAVA_LDFLAGS = @JAVA_LDFLAGS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MYSQL_CFLAGS = @MYSQL_CFLAGS@
+MYSQL_CONFIG = @MYSQL_CONFIG@
+MYSQL_CPPFLAGS = @MYSQL_CPPFLAGS@
+MYSQL_LDFLAGS = @MYSQL_LDFLAGS@
+MYSQL_VERSION = @MYSQL_VERSION@
+NM = @NM@
+NMEDIT = @NMEDIT@
+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_SEPARATOR = @PATH_SEPARATOR@
+PCRE_DATE = @PCRE_DATE@
+PCRE_LIB_VERSION = @PCRE_LIB_VERSION@
+PCRE_MAJOR = @PCRE_MAJOR@
+PCRE_MINOR = @PCRE_MINOR@
+PCRE_POSIXLIB_VERSION = @PCRE_POSIXLIB_VERSION@
+PCRE_VERSION = @PCRE_VERSION@
+POSIX_MALLOC_THRESHOLD = @POSIX_MALLOC_THRESHOLD@
+POSTGRESQL_CFLAGS = @POSTGRESQL_CFLAGS@
+POSTGRESQL_CONFIG = @POSTGRESQL_CONFIG@
+POSTGRESQL_CPPFLAGS = @POSTGRESQL_CPPFLAGS@
+POSTGRESQL_LDFLAGS = @POSTGRESQL_LDFLAGS@
+POSTGRESQL_VERSION = @POSTGRESQL_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XLIB = @XLIB@
+XMKMF = @XMKMF@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+embprefix = @embprefix@
+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@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = src acd doc
+EXTRA_DIST = gsoap depcomp ltmain.sh config.sub config.guess data
+all: all-recursive
+
+.SUFFIXES:
+am--refresh: Makefile
+	@:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
+	      $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	$(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool config.lt
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscope: cscope.files
+	test ! -s cscope.files \
+	  || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+clean-cscope:
+	-rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	test -d "$(distdir)" || mkdir "$(distdir)"
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    $(am__make_dryrun) \
+	      || test -d "$(distdir)/$$subdir" \
+	      || $(MKDIR_P) "$(distdir)/$$subdir" \
+	      || exit 1; \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+		am__skip_mode_fix=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+	$(MAKE) $(AM_MAKEFLAGS) \
+	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
+	  dist-hook
+	-test -n "$(am__skip_mode_fix)" \
+	|| find "$(distdir)" -type d ! -perm -755 \
+		-exec chmod u+rwx,go+rx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r "$(distdir)"
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__post_remove_distdir)
+
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+	$(am__post_remove_distdir)
+
+dist-lzip: distdir
+	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
+	$(am__post_remove_distdir)
+
+dist-xz: distdir
+	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
+	$(am__post_remove_distdir)
+
+dist-tarZ: distdir
+	@echo WARNING: "Support for distribution archives compressed with" \
+		       "legacy program 'compress' is deprecated." >&2
+	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__post_remove_distdir)
+
+dist-shar: distdir
+	@echo WARNING: "Support for shar distribution archives is" \
+	               "deprecated." >&2
+	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__post_remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__post_remove_distdir)
+
+dist dist-all:
+	$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
+	$(am__post_remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.lz*) \
+	  lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
+	*.tar.xz*) \
+	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir)
+	chmod u+w $(distdir)
+	mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
+	chmod a-w $(distdir)
+	test -d $(distdir)/_build || exit 0; \
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && am__cwd=`pwd` \
+	  && $(am__cd) $(distdir)/_build/sub \
+	  && ../../configure \
+	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	    --srcdir=../.. --prefix="$$dc_install_base" \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+	  && cd "$$am__cwd" \
+	  || exit 1
+	$(am__post_remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+	@test -n '$(distuninstallcheck_dir)' || { \
+	  echo 'ERROR: trying to run $@ with an empty' \
+	       '$$(distuninstallcheck_dir)' >&2; \
+	  exit 1; \
+	}; \
+	$(am__cd) '$(distuninstallcheck_dir)' || { \
+	  echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+	  exit 1; \
+	}; \
+	test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool \
+	distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+	am--refresh check check-am clean clean-cscope clean-generic \
+	clean-libtool cscope cscopelist-am ctags ctags-am dist \
+	dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
+	dist-tarZ dist-xz dist-zip distcheck distclean \
+	distclean-generic distclean-libtool distclean-tags \
+	distcleancheck distdir distuninstallcheck dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+	uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# tar to pick up the other directories
+# then remove any CVS subdirectories
+
+dist-hook:
+	tar cBf - acd | ( cd $(distdir); tar xBf - ; cd acd; rm -rf CVS ) 
+	tar cBf - doc | ( cd $(distdir); tar xBf - ; cd doc; rm -rf CVS; rm -rf master) 
+	tar cBf - include | ( cd $(distdir); tar xBf - ; cd include; rm -rf CVS ) 
+
+# 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:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/NEWS	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+11/3/2012      See Changelog
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/README	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,223 @@
+
+/* GEMBASSY ver 1.0.3 *********************************************************
+
+  All rights reserved. Copyright (C) 2012-2013 by ITAYA Hidetoshi.
+
+  This EMBASSY package is free software. You can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by the
+  Free Software Foundation, either version 2 of the License, or any later
+  version.
+
+  See also GNU General Public License Version 2, included in this
+  package as COPYING.
+
+*****************************************************************************/
+
+
+
+/* About *********************************************************************
+
+  This is an EMBASSY package for the utilization of G-language SOAP service.
+
+  All of the tools included in this package are wrapper programs to
+  utilize G-language SOAP service, which are web APIs to access the methods
+  of G-language Genome Analysis Environment (G-language GAE); a powerful
+  workbench for genome analysis.
+
+  Detailed documentation on G-language GAE methods are availabe at:
+  http://www.g-language.org/wiki/soap
+
+  The EMBOSS Explorer interface is available at:
+  http://soap.g-language.org/gembassy/emboss_explorer
+
+*****************************************************************************/
+
+
+
+/* Installation **************************************************************
+
+REQUIREMENTS
+   EMBOSS (> 6.6.0) - This EMBASSY package requires EMBOSS version 6.6.0 or
+                      above.
+   libcurl-devel (> 7.29.0) - Required for file POST
+
+   A UNIX-like operating system
+
+INSTALLATION
+  Is EMBOSS already installed in your system?
+    Yes: Go to "EMBOSS is already installed" section.
+    No: Go to "Install from EMBOSS" section.
+
+  Install from EMBOSS:
+  Root users
+    In the following examples we assume the downloaded EMBOSS archive filename
+    is emboss-latest.tar.gz
+
+    1. Download and compile EMBOSS source code
+      % wget ftp://emboss.open-bio.org/pub/EMBOSS/emboss-latest.tar.gz
+      (or "curl -O ftp://emboss.open-bio.org/pub/EMBOSS/emboss-latest.tar.gz")
+      % tar zxf emboss-latest.tar.gz
+      % cd EMBOSS-6.6.0
+      % ./configure
+      % make
+      % sudo make install
+
+    2. Make "embassy" directory in the EMBOSS-6.6.0/ directory if it does not
+       exist and go into the directory.
+      % mkdir embassy
+      % cd embassy
+
+    3. Download and compile the GEMBASSY source code
+      % wget http://soap.g-language.org/gembassy/source/GEMBASSSY-1.0.3.tar.gz
+      (or "curl -O http://soap.g-language.org/gembassy/source/GEMBASSY-1.0.3.tar.gz")
+      % tar zxvf GEMBASSY-1.0.3.tar.gz
+      % cd GEMBASSY-1.0.3
+      ( EMBOSS-6.6.0/embassy/GEMBASSY-1.0.3 )
+      % ./configure
+      % make
+      % sudo make install
+
+  Non-root users
+    When running the './configure' command do the following instead:
+      % ./configure --prefix=/PATH/TO/DIR/ (ex. --prefix=$HOME/opt)
+
+  EMBOSS is already installed:
+    When EMBOSS is already installed, GEMBASSY must be installed to the exact
+    same directory as the existing EMBOSS.
+
+    If non-root users wish to install GEMBASSY separately, first install the
+    EMBOSS package on top of the home directory.
+
+    The following commands assume you have EMBOSS installed in the
+    /PATH/TO/EMBOSS/ directory.
+      % wget http://soap.g-language.org/gembassy/source/GEMBASSY-1.0.3.tar.gz
+      (or "curl -O http://soap.g-language.org/gembassy/source/GEMBASSY-1.0.3.tar.gz")
+      % tar zxf GEMBASSY-1.0.3.tar.gz
+      % cd GEMBASSY-1.0.3
+      % ./configure --prefix=/PATH/TO/EMBOSS/ (ex. --prefix=/usr/local)
+      % make
+      % make install
+
+
+    Installing custom EMBOSS configuration files
+      We highly recommend users to install the custom EMBOSS configuration files
+      from the KBWS package. The configuration file provides database definition
+      for various databases, allowing versatile access to various sequence
+      entries.
+
+      % wget http://soap.g-language.org/kbws/embossrc
+       (or "curl -O http://soap.g-language.org/kbws/embossrc")
+      % mv embossrc ~/.embossrc
+
+    Then rewrite the "emboss_acdroot" and "emboss_data" value in ~/.embossrc
+    file to the corresponding directories.
+    (ex. emboss_acdroot = ~/opt/share/EMBOSS/acd)
+    (ex. emboss_data = ~/opt/share/EMBOSS/data)
+
+  Update of EMBOSS
+    When users are upgrading EMBOSS, please be sure to uninstall old versions
+    of EMBOSS and GEMBASSY. If you override them, some older versions of files
+    may cause errors.
+
+  NOTE - automake problem
+    If the source code is cloned from the GitHub Repository, there are
+    known problems with automake version mismatches which stop the compilation
+    of the source. Follow the steps below in (NOTE - libtool problem) to
+    solve this problem.
+
+  NOTE - libtool problem
+    On some systems there may be compatibility problems with different
+    automake, autoconf or libtool versions. If a libtool problem
+    arises you can try deleting the following files if they exist:
+
+      config.cache
+      ltmain.sh
+      ltconfig
+      libtool
+
+    and then type
+      % aclocal -I m4
+      % autoconf
+      % automake -a
+
+    and then retry make.
+
+    If you have 'autoreconf' in your system
+      % autoreconf -fi
+
+    will do the trick.
+
+*****************************************************************************/
+
+
+
+/* QuickStart ****************************************************************
+
+DATABASE DEFINITION
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+   Input files used in the examples are provided in the data/ directory.
+
+   INSTALLATION:
+     % wget http://soap.g-language.org/kbws/embossrc
+      (or "curl -O http://soap.g-language.org/kbws/embossrc")
+     % mv embossrc ~/.embossrc
+
+    Then rewrite the "emboss_acdroot" and "emboss_data" value in ~/.embossrc
+    file to the corresponding directories.
+    (ex. emboss_acdroot = ~/share/EMBOSS/acd)
+    (ex. emboss_data = ~/share/EMBOSS/data)
+
+INFORMATION OF GEMBASSY TOOLS
+   List of all tools
+      For a list of all tools included in GEMBASSY use
+      % wossname -showembassy GEMBASSY
+
+   Documentation
+      Detailed documentation are available to be viewed with the "tfm"
+      utility included in EMBOSS.
+      Here is an example for "gaminoinfo"
+      % tfm gaminoinfo
+
+USAGE EXAMPLE
+   The following examples show basic usages of three GEMBASSY tools and the
+   different ways of passing input. Example 1. uses database definition, 2.
+   uses the accid option, and 3. uses the sequence accession ID as input.
+   1. ggcskew (GC skew)
+      % ggcskew -plot -graph cps refseqn:NC_000913
+      Calculates the GC skew of the input sequence
+      Created ggcskew.ps
+
+   2. ggcsi (GC Skew Index)
+      % ggcsi accid.fasta -accid stdout
+      GC Skew Index: an index for strand-specefic mutational bias
+      Input nucleotide sequence: refseqn:NC_000964
+      Sequence: NC_000964 GCSI: 0.214855185905019 SA: 976.152832384745 DIST: 170.245783
+
+   3. greporiter (Replication Origin and Terminus)
+      % greporiter -outfile stdout
+      Get the positions of replication origin and terminus
+      Input nucleotide sequence: accid.fasta
+      Sequence: NC_000913 Origin: 3923881 Terminus: 1550412
+
+*****************************************************************************/
+
+
+
+/* Content *******************************************************************
+
+gSOAP Toolkit
+   This EMBASSY package is dependant on gSOAP Toolkit for SOAP transfer,
+   included in the gsoap/ directory. It is used automatically during
+   compilation.
+
+*****************************************************************************/
+
+
+
+/* Contact *******************************************************************
+
+Hidetoshi Itaya (celery @ g-language.org)
+   Institute for Advanced Biosciences, Keio University.
+
+*****************************************************************************/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/Makefile	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,533 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# acd/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994-2014 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.
+
+
+
+
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgincludedir = $(includedir)/GEMBASSY
+pkglibdir = $(libdir)/GEMBASSY
+pkglibexecdir = $(libexecdir)/GEMBASSY
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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 = x86_64-apple-darwin14.0.0
+host_triplet = x86_64-apple-darwin14.0.0
+subdir = acd
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/general.m4 \
+	$(top_srcdir)/m4/hpdf.m4 $(top_srcdir)/m4/java.m4 \
+	$(top_srcdir)/m4/lf_x11.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)/m4/mysql.m4 $(top_srcdir)/m4/pngdriver.m4 \
+	$(top_srcdir)/m4/postgresql.m4 $(top_srcdir)/m4/sgi.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/src/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_$(V))
+am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__installdirs = "$(DESTDIR)$(pkgdatadir)"
+DATA = $(pkgdata_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+pkgdatadir = $(prefix)/share/EMBOSS/acd
+ACLOCAL = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing aclocal-1.15
+AMTAR = $${TAR-tar}
+AM_DEFAULT_VERBOSITY = 1
+ANT = 
+AR = ar
+AUTOCONF = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing autoconf
+AUTOHEADER = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing autoheader
+AUTOMAKE = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing automake-1.15
+AWK = awk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS =   -O2 
+CPP = gcc -E
+CPPFLAGS =  -DAJ_MACOSXLF
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+DEVWARN_CFLAGS = 
+DLLTOOL = false
+DSYMUTIL = dsymutil
+DUMPBIN = 
+ECHO_C = \c
+ECHO_N = 
+ECHO_T = 
+EGREP = /usr/bin/grep -E
+EXEEXT = 
+FGREP = /usr/bin/grep -F
+GREP = /usr/bin/grep
+HAVE_MEMMOVE = 
+HAVE_STRERROR = 
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+JAR = 
+JAVA = 
+JAVAC = 
+JAVA_CFLAGS = 
+JAVA_CPPFLAGS =  -DNO_AUTH
+JAVA_LDFLAGS = 
+LD = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
+LDFLAGS = 
+LIBOBJS = 
+LIBS = -lcurl -lm  -lgd -lpng -lz -lm
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LIPO = lipo
+LN_S = ln -s
+LTLIBOBJS = 
+LT_SYS_LIBRARY_PATH = 
+MAKEINFO = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing makeinfo
+MANIFEST_TOOL = :
+MKDIR_P = .././install-sh -c -d
+MYSQL_CFLAGS = 
+MYSQL_CONFIG = no
+MYSQL_CPPFLAGS = 
+MYSQL_LDFLAGS = 
+MYSQL_VERSION = 
+NM = /usr/bin/nm
+NMEDIT = nmedit
+OBJDUMP = false
+OBJEXT = o
+OTOOL = otool
+OTOOL64 = :
+PACKAGE = GEMBASSY
+PACKAGE_BUGREPORT = celery@g-language.org
+PACKAGE_NAME = GEMBASSY
+PACKAGE_STRING = GEMBASSY 1.0.3
+PACKAGE_TARNAME = GEMBASSY
+PACKAGE_URL = http://www.g-language.org/gembassy/
+PACKAGE_VERSION = 1.0.3
+PATH_SEPARATOR = :
+PCRE_DATE = 11-Apr-2009
+PCRE_LIB_VERSION = 0:1:0
+PCRE_MAJOR = 7
+PCRE_MINOR = 9
+PCRE_POSIXLIB_VERSION = 0:0:0
+PCRE_VERSION = 7.9
+POSIX_MALLOC_THRESHOLD = -DPOSIX_MALLOC_THRESHOLD=10
+POSTGRESQL_CFLAGS = -I/usr/local/Cellar/postgresql/9.3.5_1/include
+POSTGRESQL_CONFIG = /usr/local/bin/pg_config
+POSTGRESQL_CPPFLAGS = -I/usr/local/Cellar/postgresql/9.3.5_1/include
+POSTGRESQL_LDFLAGS = -L/usr/local/Cellar/postgresql/9.3.5_1/lib -lpq
+POSTGRESQL_VERSION = 9.3.5
+RANLIB = ranlib
+SED = /usr/local/bin/gsed
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = strip
+VERSION = 1.0.3
+WARN_CFLAGS = 
+XLIB =  -lX11 
+XMKMF = 
+X_CFLAGS = 
+X_EXTRA_LIBS = 
+X_LIBS = 
+X_PRE_LIBS =  -lSM -lICE
+abs_builddir = /Users/kotone/dev/git/GEMBASSY/acd
+abs_srcdir = /Users/kotone/dev/git/GEMBASSY/acd
+abs_top_builddir = /Users/kotone/dev/git/GEMBASSY
+abs_top_srcdir = /Users/kotone/dev/git/GEMBASSY
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_DUMPBIN = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = $${TAR-tar} chof - "$$tardir"
+am__untar = $${TAR-tar} xf -
+bindir = ${exec_prefix}/bin
+build = x86_64-apple-darwin14.0.0
+build_alias = 
+build_cpu = x86_64
+build_os = darwin14.0.0
+build_vendor = apple
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+embprefix = /Users/kotone/opt
+exec_prefix = ${prefix}
+host = x86_64-apple-darwin14.0.0
+host_alias = 
+host_cpu = x86_64
+host_os = darwin14.0.0
+host_vendor = apple
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = ${SHELL} /Users/kotone/dev/git/GEMBASSY/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = $(MKDIR_P)
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /Users/kotone/opt
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target_alias = 
+top_build_prefix = ../
+top_builddir = ..
+top_srcdir = ..
+pkgdata_DATA = *.acd
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu acd/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu acd/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:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+install-pkgdataDATA: $(pkgdata_DATA)
+	@$(NORMAL_INSTALL)
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(pkgdatadir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" || exit 1; \
+	fi; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \
+	done
+
+uninstall-pkgdataDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$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: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(pkgdatadir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: 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:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-pkgdataDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-pkgdataDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	cscopelist-am ctags-am distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-pkgdataDATA install-ps \
+	install-ps-am install-strip installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags-am uninstall uninstall-am uninstall-pkgdataDATA
+
+.PRECIOUS: Makefile
+
+
+# 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:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/Makefile.am	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,3 @@
+
+pkgdata_DATA = *.acd
+pkgdatadir=$(prefix)/share/EMBOSS/acd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/Makefile.in	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,533 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 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@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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@
+subdir = acd
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/general.m4 \
+	$(top_srcdir)/m4/hpdf.m4 $(top_srcdir)/m4/java.m4 \
+	$(top_srcdir)/m4/lf_x11.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)/m4/mysql.m4 $(top_srcdir)/m4/pngdriver.m4 \
+	$(top_srcdir)/m4/postgresql.m4 $(top_srcdir)/m4/sgi.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/src/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__installdirs = "$(DESTDIR)$(pkgdatadir)"
+DATA = $(pkgdata_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+pkgdatadir = $(prefix)/share/EMBOSS/acd
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+ANT = @ANT@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DEVWARN_CFLAGS = @DEVWARN_CFLAGS@
+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_MEMMOVE = @HAVE_MEMMOVE@
+HAVE_STRERROR = @HAVE_STRERROR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVA_CFLAGS = @JAVA_CFLAGS@
+JAVA_CPPFLAGS = @JAVA_CPPFLAGS@
+JAVA_LDFLAGS = @JAVA_LDFLAGS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MYSQL_CFLAGS = @MYSQL_CFLAGS@
+MYSQL_CONFIG = @MYSQL_CONFIG@
+MYSQL_CPPFLAGS = @MYSQL_CPPFLAGS@
+MYSQL_LDFLAGS = @MYSQL_LDFLAGS@
+MYSQL_VERSION = @MYSQL_VERSION@
+NM = @NM@
+NMEDIT = @NMEDIT@
+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_SEPARATOR = @PATH_SEPARATOR@
+PCRE_DATE = @PCRE_DATE@
+PCRE_LIB_VERSION = @PCRE_LIB_VERSION@
+PCRE_MAJOR = @PCRE_MAJOR@
+PCRE_MINOR = @PCRE_MINOR@
+PCRE_POSIXLIB_VERSION = @PCRE_POSIXLIB_VERSION@
+PCRE_VERSION = @PCRE_VERSION@
+POSIX_MALLOC_THRESHOLD = @POSIX_MALLOC_THRESHOLD@
+POSTGRESQL_CFLAGS = @POSTGRESQL_CFLAGS@
+POSTGRESQL_CONFIG = @POSTGRESQL_CONFIG@
+POSTGRESQL_CPPFLAGS = @POSTGRESQL_CPPFLAGS@
+POSTGRESQL_LDFLAGS = @POSTGRESQL_LDFLAGS@
+POSTGRESQL_VERSION = @POSTGRESQL_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XLIB = @XLIB@
+XMKMF = @XMKMF@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+embprefix = @embprefix@
+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@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+pkgdata_DATA = *.acd
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu acd/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu acd/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:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+install-pkgdataDATA: $(pkgdata_DATA)
+	@$(NORMAL_INSTALL)
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(pkgdatadir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" || exit 1; \
+	fi; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \
+	done
+
+uninstall-pkgdataDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$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: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(pkgdatadir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: 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:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-pkgdataDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-pkgdataDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	cscopelist-am ctags-am distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-pkgdataDATA install-ps \
+	install-ps-am install-strip installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags-am uninstall uninstall-am uninstall-pkgdataDATA
+
+.PRECIOUS: Makefile
+
+
+# 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:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gaaui.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,55 @@
+application: gaaui [
+  documentation: "Calculates various indece of amino acid usage"
+  groups: "Protein:Properties"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0613 Peptides and amino acids"
+  relations: "EDAM_operation:0250 Protein property calculation"
+  relations: "EDAM_operation:0398 Protein molecular weight calculation"
+  relations: "EDAM_operation:2574 Protein hydropathy calculation"
+  relations: "EDAM_operation:0401 Protein hydropathy calculation
+              (from sequence)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    features: "Y"
+    type: "nucleotide"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "AAINDEX entry output file"
+    knowntype: "aaindex data"
+    relations: "EDAM_data:2016 Amino acid property"
+    relations: "EDAM_data:1501 Amino acid index"
+    relations: "EDAM_data:1502 Amino acid index (chemical classes)"
+    relations: "EDAM_data:1506 Amino acid index (hydropathy)"
+    relations: "EDAM_data:1505 Amino acid index (molecular weight)"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gaminoinfo.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,42 @@
+application: gaminoinfo [
+  documentation: "Prints out basic amino acid sequence statistics"
+  groups: "Protein:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0613 Peptides and amino acids"
+  relations: "EDAM_operation:0250 Protein property calculation"
+  relations: "EDAM_operation:0398 Protein molecular weight calculation"
+  relations: "EDAM_operation:2574 Protein hydropathy calculation"
+  relations: "EDAM_operation:0401 Protein hydropathy calculation
+              (from sequence)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "protein"
+    relations: "EDAM_data:2886 Sequence record (protein)"
+  ]
+
+endsection: input
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "AAINDEX entry output file"
+    knowntype: "aaindex data"
+    relations: "EDAM_data:2016 Amino acid property"
+    relations: "EDAM_data:1501 Amino acid index"
+    relations: "EDAM_data:1502 Amino acid index (chemical classes)"
+    relations: "EDAM_data:1506 Amino acid index (hydropathy)"
+    relations: "EDAM_data:1505 Amino acid index (molecular weight)"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gb1.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,54 @@
+application: gb1 [
+  documentation: "Calculates strand bias of bacterial genome using B1 index"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  selection: method [
+    information: "Choose method of 'lobry' or 'rocha'"
+    values: "lobry;rocha"
+    default: "rocha"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Program compseq output file"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gb2.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,48 @@
+application: gb2 [
+  documentation: "Calculates strand bias of bacterial genome using B2 index"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Program compseq output file"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"    
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gbasecounter.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,71 @@
+application: gbasecounter [
+  documentation: "Creates a position weight matrix of oligomers around start
+                  codon"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  selection: position [
+    information: "Either 'start' (around start codon) or 'end'
+                  (around stop codon) to create the PWM"
+    values: "start;end"
+    default: "start"
+  ]
+
+  integer: patlen [
+    information: "Length of oligomer to count"
+    default: "3"
+  ]
+
+  integer: upstream [
+    information: "Length upstream of specified position to create PWM"
+    default: "30"
+  ]
+
+  integer: downstream [
+    information: "Length downstream of specified position to create PWM"
+    default: "30"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Weight matrix output file"
+    knowntype: "matrix"
+    relations: "EDAM_data:1362 Position weight matrix"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gbaseentropy.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,83 @@
+application: gbaseentropy [
+  documentation: "Calculates and graphs the sequence conservation
+                  using Shanon uncertainty (entropy)"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0160 Sequence sites and features"
+  relations: "EDAM_operation:0253 Feature prediction"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  selection: position [
+    information: "Either 'start' (around start codon) or 'end'
+                  (around stop codon) to create the PWM"
+    values: "start;end"
+    default: "start"
+  ]
+
+  integer: patlen [
+    information: "Length of oligomer to count"
+    default: "3"
+  ]
+
+  integer: upstream [
+    information: "Length upstream of specified position to create PWM"
+    default: "30"
+  ]
+
+  integer: downstream [
+    information: "Length downstream of specified position to create PWM"
+    default: "30"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  toggle: plot [
+    information: "Include to plot result"
+    default: "Y"
+  ]
+
+  xygraph: graph [
+    standard: "$(plot)"
+    gtitle: "gbaseentropy of $(sequence.name)"
+    relations: "EDAM_data:2166 Sequence compisition plot"
+  ]
+
+  outfile: outfile [
+    standard: "@(!$(plot))"
+    nullok: "Y"
+    nulldefault: "$(plot)"
+    information: "Program compseq output file (optional)"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gbaseinformationcontent.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,84 @@
+application: gbaseinformationcontent [
+  documentation: "Calculates and graphs the sequence conservation using
+                  information content"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0160 Sequence sites and features"
+  relations: "EDAM_operation:0253 Feature prediction"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  selection: position [
+    information: "Either 'start' (around start codon) or 'end'
+                  (around stop codon) to create the PWM"
+    values: "start;end"
+    default: "start"
+  ]
+
+  integer: upstream [
+    information: "Length upstream of specified position to create PWM"
+    default: "30"
+  ]
+
+  integer: downstream [
+    information: "Length downstream of specified position to create PWM"
+    default: "30"
+  ]
+
+  integer: patlen [
+    information: "Length of oligomer to count"
+    default: "3"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  toggle: plot [
+    information: "Include to plot result"
+    default: "Y"
+  ]
+
+  xygraph: graph [
+    standard: "$(plot)"
+    gtitle: "gbaseinformationcontent of $(sequence.name)"
+    relations: "EDAM_data:2166 Sequence compisition plot"
+  ]
+
+  outfile: outfile [
+    standard: "@(!$(plot))"
+    nullok: "Y"
+    nulldefault: "$(plot)"
+    information: "Program compseq output file (optional)"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gbaserelativeentropy.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,83 @@
+application: gbaserelativeentropy [
+  documentation: "Calculates and graphs the sequence conservation using
+                  Kullback-Leibler divergence (relative entropy)"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0160 Sequence sites and features"
+  relations: "EDAM_operation:0253 Feature prediction"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  selection: position [
+    information: "Either 'start' (around start codon) or 'end'
+                  (around stop codon) to create the PWM"
+    values: "start;end"
+    default: "start"
+  ]
+
+  integer: patlen [
+    information: "Length of oligomer to count"
+    default: "3"
+  ]
+
+  integer: upstream [
+    information: "Length upstream of specified position to create PWM"
+    default: "30"
+  ]
+
+  integer: downstream [
+    information: "Length downstream of specified position to create PWM"
+    default: "30"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  toggle: plot [
+    information: "Include to plot result"
+    default: "Y"
+  ]
+
+  xygraph: graph [
+    standard: "$(plot)"
+    gtitle: "gbaserelativeentropy of $(sequence.name)"
+    relations: "EDAM_data:2166 Sequence compisition plot"
+  ]
+
+  outfile: outfile [
+    standard: "@(!$(plot))"
+    nullok: "Y"
+    nulldefault: "$(plot)"
+    information: "Program compseq output file (optional)"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gbasezvalue.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,75 @@
+application: gbasezvalue [
+  documentation: "Extracts conserved oligomers per position using Z-score"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  integer: limit [
+    information: "Rank threshold for showing the conserved oligomer"
+    default: "5"
+  ]
+
+  selection: position [
+    information: "Either 'start' (around start codon) or 'end'
+                  (around stop codon) to create the PWM"
+    values: "start;end"
+    default: "start"
+  ]
+
+  integer: patlen [
+    information: "Length of oligomer to count"
+    default: "3"
+  ]
+
+  integer: upstream [
+    information: "Length upstream of specified position to create PWM"
+    default: "30"
+  ]
+
+  integer: downstream [
+    information: "Length downstream of specified position to create PWM"
+    default: "30"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Program compseq output file (optional)"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gbui.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,69 @@
+application: gbui [
+  documentation: "Calculates base usage indices for protein-coding sequences"
+  groups: "Nucleic:Codon usage"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0236 Sequence composition calculation"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  boolean: translate [
+    information: "Include when translating using standard codon table"
+    default: "N"
+  ]
+
+  list: position [
+    information: "Codon position"
+    values: "all: Assess overall base usage of the gene;
+             1: Assess base usage at 1st position of codons;
+             2: Assess base usage at 2nd position of codons;
+             3: Assess base usage at 3rd position of codons"
+    default: "all"
+  ]
+
+  string: delkey [
+    information: "Regular expression to delete key"
+    knowntype: "regular expression"
+    default: "[^ACDEFGHIKLMNPQRSTVWYacgtU]"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+	type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Program compseq output file"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gcai.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,64 @@
+application: gcai [
+  documentation: "Calculates codon adaptation index for each gene"
+  groups: "Nucleic:Codon usage"
+  embassy: "gembassy"
+  relations: "EDAM_operation:0286 Codon usage analysis"
+  relations: "EDAM_topic:0107 Codon usage analysis"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  boolean: translate [
+    information: "Include when translating using standard codon table"
+    default: "N"
+  ]
+
+  string: wabsent [
+    information: "W value of codons absent from a reference set to negative
+                  when excludes such codons from the calculation"
+    
+    default: "-1"
+  ]
+
+  boolean: tai [
+    information: "Include when calculating tRNA adaptation index (TAI)"
+    default: "N"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Codon usage output file"
+    knowntype: "codon usage"
+    relations: "EDAM_data:2865 Codon usage bias"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gcbi.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,58 @@
+application: gcbi [
+  documentation: "Calculates the codon bias index (CBI)"
+  groups: "Nucleic:Codon usage"
+  embassy: "gembassy"
+  relations: "EDAM_operation:0286 Codon usage analysis"
+  relations: "EDAM_topic:0107 Codon usage analysis"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  boolean: translate [
+    information: "Include when translating using standard codon table"
+    default: "N"
+  ]
+
+  string: delkey [
+    information: "Regular expression to delete key"
+    knowntype: "regular expression"
+    default: "[^ACDEFGHIKLMNPQRSTVWYacgtU]"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Codon usage output file"
+    knowntype: "codon usage"
+    relations: "EDAM_data:2865 Codon usage bias"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gcgr.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,55 @@
+application: gcgr [
+  documentation: "Creates a Chaos Game Representation of a given sequence"
+  groups: "Display"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0092 Data visualisation"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+  string: format [
+    information: "Output file format. Dependent on 'convert' command"
+    knowntype: "output format"
+    default: "png"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  integer: width [
+    information: "Width of image"
+    default: "1024"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  string: goutfile [
+    information: "Output file for non interactive displays"
+    knowntype: "output filename"
+    relations: "EDAM_data:2166 Sequence composition plot"
+    default: "gcgr"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gcircularmap.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,54 @@
+application: gcircularmap [
+  documentation: "Draws circular map of the genome"
+  groups: "Display"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0092 Data visualisation"
+  relations: "EDAM_topic:0621 Genome, proteome and model organisms"
+  relations: "EDAM_operation:0578 Circular map rendering"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+  string: format [
+    information: "Output file format. Dependent on 'convert' command"
+    knowntype: "output format"
+    default: "svg"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output 
+[
+  information: "Output section"
+  type: "page"
+]
+
+  string: goutfile [
+    information: "Output file for non interactive displays"
+    relations: "EDAM_data:1274 DNA map"
+    default: "gcircularmap"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gcodoncompiler.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,91 @@
+application: gcodoncompiler [
+  documentation: "Calculates various kinds of amino acid and codon usage data"
+  groups: "Nucleic:Codon usage"
+  embassy: "gembassy"
+  relations: "EDAM_operation:0286 Codon usage analysis"
+  relations: "EDAM_topic:0107 Codon usage analysis"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  boolean: translate [
+    information: "Include to translate using standard codon table"
+    default: "N"
+  ]
+
+  boolean: startcodon [
+    information: "Include to include start codon"
+    default: "N"
+  ]
+
+  boolean: stopcodon [
+    information: "Include to include stop codon"
+    default: "N"
+  ]
+
+  string: delkey [
+    information: "Regular expression to delete key (i.e. amino acids and
+                  nucleotides)"
+    knowntype: "regular expression"
+    default: "[^ACDEFGHIKLMNPQRSTVWYacgtU]"
+  ]
+
+  list: data [
+    information: "Kinds of codon usage data. R* hypothesizes amino acids which
+                  are not present in the gene"
+    values: "A0: Absolute amino acid frequency ('AA');
+             A1: Relative amino acid frequency ('RAAU');
+             C0: Absolute codon frequency ('AF');
+             C1: Relative codon frequency in a complete sequence;
+             C2: Relative codon frequency in each amino acid ('RF');
+             C3: Relative synonymous codon usage ('RSCU') ;
+             C4: Relative adaptiveness; i.e., ratio to maximum of minor codon
+                 ('W')
+             C5: Maximum (1) or minor (0) codon;
+             R0: Absolute codon frequency ('AF');
+             R1: Relative codon frequency in a complete sequence;
+             R2: Relative codon frequency in each amino acid ('RF');
+             R3: Relative synonymous codon usage ('RSCU') ;
+             R4: Relative adaptiveness; i.e., ratio to maximum of minor codon
+                 ('W')
+             R5: Maximum (1) or minor (0) codon"
+    default: "R0"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Codon usage output file"
+    knowntype: "codon usage"
+    relations: "EDAM_data:2865 Codon usage bias"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gconsensusz.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,64 @@
+application: gconsensusz [
+  documentation: "Calculates consensus in given array of sequences"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    relations: "EDAM_data:0850 Sequence set"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  integer: high [
+    information: "Z value greater than which is significant"
+    default: "1"
+  ]
+
+  float: low [
+    information: "Z value less than which is insignificant"
+    default: "0.2"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  toggle: plot [
+    information: "Include to plot result"
+    default: "Y"
+  ]
+
+  xygraph: graph [
+    standard: "$(plot)"
+    gtitle: "gconsensusz of $(sequence.name)"
+  ]
+
+  outfile: outfile [
+    standard: "@(!$(plot))"
+    nullok: "Y"
+    nulldefault: "$(plot)"
+    information: "Program compseq output file (optional)"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gdeltaenc.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,49 @@
+application: gdeltaenc [
+  documentation: "Calculates the codon usage bias related to translation
+                  optimization (delta ENC)"
+  groups: "Nucleic:Codon Usage"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Program compseq output file"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gdeltagcskew.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,69 @@
+application: gdeltagcskew [
+  documentation: "Calculates strand bias of bacterial genome using delta GC skew index"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  boolean: at [
+    information: "Include when observing AT skew instead of GC skew "
+    default: "N"
+  ]
+
+  boolean: purine [
+    information: "Include when observing purine (AG/TC) skew"
+    default: "N"
+  ]
+
+  boolean: keto [
+    information: "Include when observing keto (TG/AC) skew"
+    default: "N"
+  ]
+
+  selection: method [
+    information: "Choose the nucleotides to use 'degenerate', 'gc3', or 'all'"
+    values: "degenerate;gc3;all"
+    default: "degenerate"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Program compseq output file"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gdinuc.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,68 @@
+application: gdinuc [
+  documentation: "Calculates dinucleotide usage "
+  groups: "Nucleic:Codon Usage"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  boolean: translate [
+    information: "Include when translates using standard codon table"
+    default: "N"
+  ]
+
+  list: position [
+    information: "Codon position or reading frame"
+    values: "all:Assess all codon positions;
+             12:Assess the reading frame 1-2;
+             23:Assess the reading frame 2-3;
+             31:Assess the reading frame 3-1"
+    default: "all"
+  ]
+
+  string: delkey [
+    information: "Regular expression to delete key (i.e. amino acids and nucleotides)"
+    knowntype: "regular expression"
+    default: "[^ACDEFGHIKLMNPQRSTVWYacgtU]"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Program compseq output file"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gdistincc.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,56 @@
+application: gdistincc [
+  documentation: "Calculates the distance between two loci in circular chromosomes"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:3073 Nucleic acid feature detection"
+  relations: "EDAM_operation:0415 Nucleic acid feature prediction"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+  integer: first [
+    parameter: "Y"
+    information: "Position to find the distance"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "Y"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  integer: second [
+    information: "If the second position is negative, position of replication origin is used"
+    default: "-1"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    relations: "EDAM_data:3127 Nucleic acid features (replication and
+                recombination)"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gdnawalk.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,43 @@
+application: gdnawalk [
+  documentation: "Draws DNA Walk map of the genome"
+  groups: "Display"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0092 Data visualisation"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+  string: format [
+    information: "Output file format. Dependent on 'convert' command"
+    knowntype: "output format"
+    default: "png"
+  ]
+
+endsection: input
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  string: goutfile [
+    information: "Output file for non interactive displays"
+    knowntype: "output filename"
+    relations: "EDAM_data:1274 DNA map"
+    default: "gdnawalk"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/genc.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,58 @@
+application: genc [
+  documentation: "Calculates the effective number of codons (Nc)"
+  groups: "Nucleic:Codon Usage"
+  embassy: "gembassy"
+  relations: "EDAM_operation:0286 Codon usage analysis"
+  relations: "EDAM_topic:0107 Codon usage analysis"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  boolean: translate [
+    information: "Include when translates using standard codon table"
+    default: "N"
+  ]
+
+  string: delkey [
+    information: "Regular expression to delete key (i.e. amino acids and nucleotides)"
+    knowntype: "regular expression"
+    default: "[^ACDEFGHIKLMNPQRSTVWYacgtU]"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Codon usage output file"
+    knowntype: "codon usage"
+    relations: "EDAM_data:2865 Codon usage bias"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/genret.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,68 @@
+application: genret [
+  documentation: "Retrieves various gene features from genome flatfile"
+  groups: "Edit, Data retrieval, Feature tables"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0160 Sequence sites and features"
+  relations: "EDAM_topic:0091 Data handling"
+  relations: "EDAM_operation:2422 Data retrieval"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+  string: gene [
+    parameter: "Y"
+    information: "List of gene name(s) to report"
+    knowntype: "sequence id list"
+    default: "*"
+  ]
+
+  string: access [
+    parameter: "Y"
+    information: "Name of gene feature to access"
+    knowntype: "feature key"
+    word: "Y"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  string: argument [
+    information: "Extra arguments to pass to method"
+    knowntype: "string"
+    default: ""
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    extension: "$(access).genret"
+    information: "Sequence output file"
+    knowntype: "sequence data"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gentrez.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,39 @@
+application: gentrez [
+  documentation: "Searches NCBI Entrez"
+  groups: "Data Retrieval:Text data"
+  embassy: "gembassy"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  string: database [
+    parameter: "Y"
+    information: "NCBI database to search"
+    knowntype: "name"
+    default: "pubmed"
+  ]
+
+  string: query [
+    parameter: "Y"
+    information: "Query to search"
+    knowntype: "string"
+  ]
+
+endsection: input
+
+section: output [
+        information: "Output section"
+        type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "ASCII text output file"
+    knowntype: "ascii text"
+    default: "$(database).$(query).gentrez"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gew.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,58 @@
+application: gew [
+  documentation: "Calculates a measure of synonymous codon usage evenness (Ew)"
+  groups: "Nucleic:Codon Usage"
+  embassy: "gembassy"
+  relations: "EDAM_operation:0286 Codon usage analysis"
+  relations: "EDAM_topic:0107 Codon usage analysis"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  boolean: translate [
+    information: "Include when translates using standard codon table"
+    default: "N"
+  ]
+
+  string: delkey [
+    information: "Regular expression to delete key (i.e. amino acids and nucleotides)"
+    knowntype: "regular expression"
+    default: "[^ACDEFGHIKLMNPQRSTVWYacgtU]"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Codon usage output file"
+    knowntype: "codon usage"
+    relations: "EDAM_data:2865 Codon usage bias"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gfindoriter.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,61 @@
+application: gfindoriter [
+  documentation: "Predicts the replication origin and terminus in bacterial genomes"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:3073 Nucleic acid feature detection"
+  relations: "EDAM_operation:0415 Nucleic acid feature prediction"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  integer: window [
+    information: "Number of windows to use for Fat Fourier Transform. Only active when -lowpass option is specified. Value must be the power of two"
+    default: "4096"
+  ]
+
+  boolean: purine [
+    information: "Use purine skew for calculation"
+    default: "N"
+  ]
+
+  boolean: keto [
+    information: "Use keto skew for calculation"
+    default: "N"
+  ]
+
+  integer: lowpass [
+    information: "Lowpass filter strength in percent. Typically 95 or 99 works best"
+    default: ""
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    relations: "EDAM_data:3127 Nucleic acid features (replication and
+                recombination)"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gfop.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,52 @@
+application: gfop [
+  documentation: "Calculates the frequency of optimal codons (Fop)"
+  groups: "Nucleic:Codon Usage"
+  embassy: "gembassy"
+  relations: "EDAM_operation:0286 Codon usage analysis"
+  relations: "EDAM_topic:0107 Codon usage analysis"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  boolean: translate [
+    information: "Include when translates using standard codon table"
+    default: "N"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Codon usage output file"
+    knowntype: "codon usage"
+    relations: "EDAM_data:2865 Codon usage bias"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/ggcsi.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,74 @@
+application: ggcsi [
+  documentation: "GC Skew Index: an index for strand-specific mutational bias"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  selection: gcsi [
+    information: "GCSI version to use"
+    values:  "1;2"
+    default: "2"
+  ]
+
+  integer: window [
+    information: "Number of windows. Must be a power of 2"
+    default: "4096"
+  ]
+
+  boolean: purine [
+    information: "Use purine skew for calculation"
+    default: "N"
+  ]
+
+  boolean: keto [
+    information: "Use keto skew for calculation"
+    default: "N"
+  ]
+
+  boolean: at [
+    information: "Use AT skew for calculation"
+    default: "N"
+  ]
+
+  boolean: pval [
+    information: "Calculate p-value when GCSI version 2 is selected"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Program compseq output file"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/ggcskew.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,85 @@
+application: ggcskew [
+  documentation: "Calculates and plots the GC skew of the input sequence"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  integer: window [
+    information: "Window size to observe"
+    default: "10000"
+  ]
+
+  integer: slide [
+    information: "Window slide size"
+    default: "10000"
+  ]
+
+  boolean: cumulative [
+    information: "Include to calculate cumulative skew"
+    default: "N"
+  ]
+
+  boolean: at [
+    information: "Include for observing AT skew instead of GC skew"
+    default: "N"
+  ]
+
+  boolean: purine [
+    information: "Include for observing purine (AG/TC) skew"
+    default: "N"
+  ]
+
+  boolean: keto [
+    information: "Include for observing keto (TG/AC) skew"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  toggle: plot [
+    information: "Include to plot result"
+    default: "Y"
+  ]
+
+  xygraph: graph [
+    standard: "$(plot)"
+    gtitle: "ggcskew of $(sequence.name)"
+  ]
+
+  outfile: outfile [
+    standard: "@(!$(plot))"
+    nullok: "Y"
+    nulldefault: "$(plot)"
+    information: "Program compseq output file (optional)"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/ggcwin.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,75 @@
+application: ggcwin [
+  documentation: "Calculates and plots the GC content along the given genome"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  integer: window [
+    information: "Window size to observe"
+    default: "10000"
+  ]
+
+  boolean: at [
+    information: "Include for observing AT skew instead of GC skew"
+    default: "N"
+ ]
+
+  boolean: purine [
+    information: "Include for observing purine (AG/TC) skew"
+    default: "N"
+  ]
+
+  boolean: keto [
+    information: "Include for observing keto (TG/AC) skew"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  toggle: plot [
+    information: "Include to plot result"
+    default: "Y"
+  ]
+
+  xygraph: graph [
+    standard: "$(plot)"
+    gtitle: "ggcwin of $(sequence.name)"
+  ]
+
+  outfile: outfile [
+    standard: "@(!$(plot))"
+    nullok: "Y"
+    nulldefault: "$(plot)"
+    information: "Program compseq output file (optional)"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/ggeneskew.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,87 @@
+application: ggeneskew [
+  documentation: "Calculates and plots the gene strand bias of the given genome"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  integer: window [
+    information: "Window size to observe"
+    default: "10000"
+  ]
+
+  integer: slide [
+    information: "Window slide size"
+    default: "10000"
+  ]
+
+  boolean: cumulative [
+    information: "Input 1 to calculate cumulative skew"
+    default: "N"
+  ]
+
+  selection: base [
+    information: "Input 'gc', 'at', 'purine', or 'keto' for observing
+                   GC/AT/Purine/Keto skews"
+    values: "none;gc;at;purine;keto"
+    default: "none"
+  ]
+
+  boolean: gctri [
+    information: "Include to use only the third codon positions"
+    default: "N"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  toggle: plot [
+    information: "Include to plot result"
+    default: "Y"
+  ]
+
+  xygraph: graph [
+    standard: "$(plot)"
+    gtitle: "ggeneskew of $(sequence.name)"
+  ]
+
+  outfile: outfile [
+    standard: "@(!$(plot))"
+    nullok: "Y"
+    nulldefault: "$(plot)"
+    information: "Program compseq output file (optional)"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/ggenomemap3.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,64 @@
+application: ggenomemap3 [
+  documentation: "Draws the map of the genome (version 3)"
+  groups: "Display"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0092 Data visualisation"
+  relations: "EDAM_topic:0621 Genome, proteome and model organisms"
+  relations: "EDAM_operation:0573 Map rendering"
+  relations: "EDAM_operation:2466 Map annotation"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+  string: format [
+    information: "Output file format. Dependent on 'convert' command"
+    knowntype: "output format"
+    default: "png"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  integer: width [
+    information: "Image width"
+    default: "8192"
+  ]
+
+  integer: height [
+    information: "Image height"
+    default: "8192"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  string: goutfile [
+    information: "Output file for non interactive displays"
+    relations: "EDAM_data:1278 Genetic map"
+    default: "ggenomemap3"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/ggenomicskew.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,71 @@
+application: ggenomicskew [
+  documentation: "Calculates and plots the GC skew in different regions of the given genome"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  integer: divide [
+    information: "Window to divide into"
+    default: "250"
+  ]
+
+  boolean: at [
+    information: "Input 1 when observing AT skew instead of GC skew"
+    default: "N"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  toggle: plot [
+    information: "Include to plot result"
+    default: "Y"
+  ]
+
+  xygraph: graph [
+    standard: "$(plot)"
+    gtitle: "ggenomicskew of $(sequence.name)"
+    multiple: "4"
+  ]
+
+  outfile: outfile [
+    standard: "@(!$(plot))"
+    nullok: "Y"
+    nulldefault: "$(plot)"
+    information: "Program compseq output file (optional)"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gicdi.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,58 @@
+application: gicdi [
+  documentation: "Calculates the intrinsic codon deviation index (ICDI)"
+  groups: "Nucleic:Codon usage"
+  embassy: "gembassy"
+  relations: "EDAM_operation:0286 Codon usage analysis"
+  relations: "EDAM_topic:0107 Codon usage analysis"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  boolean: translate [
+    information: "Include when translating using standard codon table"
+    default: "N"
+  ]
+
+  string: delkey [
+    information: "Regular expression to delete key"
+    knowntype: "regular expression"
+    default: "[^ACDEFGHIKLMNPQRSTVWYacgtU]"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Codon usage output file"
+    knowntype: "codon usage"
+    relations: "EDAM_data:2865 Codon usage bias"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gkmertable.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,55 @@
+application: gkmertable [
+  documentation: "Creates an image showing all k-mer abundance within a sequence"
+  groups: "Display"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0092 Data visualisation"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+  string: format [
+    information: "Output file format. Dependent on 'convert' command"
+    knowntype: "output format"
+    default: "png"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  integer: k [
+    information: "Length of oligomer"
+    default: "6"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  string: goutfile [
+    information: "Output file for non interactive displays"
+    knowntype: "output filename"
+    relations: "EDAM_data:2166 Sequence composition plot"
+    default: "gkmertable"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gldabias.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,61 @@
+application: gldabias [
+  documentation: "Calculates strand bias of bacterial genome using linear
+                  discriminant analysis (LDA)"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  integer: coefficients [
+    information: "Show LDA coefficients"
+    default: "0"
+  ]
+
+  selection: variable [
+    information: "Data to use for LDA. Either 'base', 'codonbase', 'codon', or
+                  'amino'"
+    values: "base;codonbase;codon;amino"
+    default: "codon"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Program compseq output file"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gnucleotideperiodicity.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,71 @@
+application: gnucleotideperiodicity [
+  documentation: "Checks the periodicity of certain oligonucleotides"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  integer: window [
+    information: "Window size to seek periodicity"
+    default: "50"
+  ]
+
+  string: nucleotide [
+    information: "Nucleotide to search"
+    knowntype: "nucleotide codes"
+    default: "aa"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  toggle: plot [
+    information: "Include to plot result"
+    default: "Y"
+  ]
+
+  xygraph: graph [
+    standard: "$(plot)"
+    gtitle: "ggcskew of $(sequence.name)"
+  ]
+
+  outfile: outfile [
+    standard: "@(!$(plot))"
+    nullok: "Y"
+    nulldefault: "$(plot)"
+    information: "Program compseq output file (optional)"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/goligomercounter.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,54 @@
+application: goligomercounter [
+  documentation: "Counts the number of given oligomers in a sequence"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+  string: oligomer [
+    parameter: "Y"
+    knowntype: "nucleotide codes"
+    information: "Oligomer to count"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  integer: window [
+    information: "Int window size"
+    default: ""
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Program compseq output file"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/goligomersearch.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,59 @@
+application: goligomersearch [
+  documentation: "Searches oligomers in given sequence"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+  string: oligomer [
+    parameter: "Y"
+    knowntype: "nucleotide codes"
+    information: "Oligomer to search"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  selection: return [
+    information: "'position' to return list of positions where oligomers are
+                  found, 'oligo' to return list of oligomers found ordered by
+                  positions, 'both' to return a hash with positions as keys and
+                  oligomers as values, 'distribution' to return four values
+                  about the distribution of given oligomer"
+    values: "position;oligo;both;distribution"
+    default: "position"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Program compseq output file"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gp2.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,47 @@
+application: gp2 [
+  documentation: "Calculates the P2 index of each gene"
+  groups: "Nucleic:Codon usage"
+  embassy: "gembassy"
+  relations: "EDAM_operation:0286 Codon usage analysis"
+  relations: "EDAM_topic:0107 Codon usage analysis"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Codon usage output file"
+    knowntype: "codon usage"
+    relations: "EDAM_data:2865 Codon usage bias"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gpalindrome.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,63 @@
+application: gpalindrome [
+  documentation: "Searches palindrome sequences"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  integer: shortest [
+    information: "Shortest palindrome to search"
+    default: "4"
+  ]
+
+  integer: loop [
+    information: "Longest stem loop to allow"
+    default: "0"
+  ]
+
+  boolean: gtmatch [
+    information: "If 1, allows g-t match"
+    default: "0"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Program compseq output file"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gphx.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,58 @@
+application: gphx [
+  documentation: "Identifies predicted highly expressed genes"
+  groups: "Nucleic:Codon usage"
+  embassy: "gembassy"
+  relations: "EDAM_operation:0286 Codon usage analysis"
+  relations: "EDAM_topic:0107 Codon usage analysis"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  boolean: translate [
+    information: "Include when translating using standard codon table"
+    default: "N"
+  ]
+
+  string: delkey [
+    information: "Regular expression to delete key"
+    knowntype: "regular expression"
+    default: "[^ACDEFGHIKLMNPQRSTVWYacgtU]"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Codon usage output file"
+    knowntype: "codon usage"
+    relations: "EDAM_data:2865 Codon usage bias"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gqueryarm.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,50 @@
+application: gqueryarm [
+  documentation: "Gets the replication arm name (left or right) from the given position"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:3073 Nucleic acid feature detection"
+  relations: "EDAM_operation:0415 Nucleic acid feature prediction"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+  integer: position [
+    parameter: "Y"
+    information: "Position to query"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+        information: "Output section"
+        type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    relations: "EDAM_data:1276 Nucleic acid features"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gquerystrand.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,57 @@
+application: gquerystrand [
+  documentation: "Gets the strand name (leading or lagging) from the given position"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:3073 Nucleic acid feature detection"
+  relations: "EDAM_operation:0415 Nucleic acid feature prediction"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+  integer: position [
+    parameter: "Y"
+    information: "Position to query"
+    default: "0"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  selection: direction [
+    information: "Strand of the querying position either 'direct' or 'complement'"
+    values: "direct;complement"
+    default: "direct"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+        information: "Output section"
+        type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    relations: "EDAM_data:1276 Nucleic acid features"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/greporiter.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,69 @@
+application: greporiter [
+  documentation: "Gets the positions of replication origin and terminus"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:3073 Nucleic acid feature detection"
+  relations: "EDAM_operation:0415 Nucleic acid feature prediction"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  boolean: oriloc [
+    information: "Include Oriloc for prediction"
+    default: "N"
+  ]
+
+  boolean: gcskew [
+    information: "Include to use GC skew shift-point for prediction"
+    default: "N"
+  ]
+
+  integer: difthreshold [
+    information: "Distance between the GC skew shift point and predicted dif
+                  site expressed as the precentage of genome size, used as a
+                  threshold to retrieve dif sequence from the database"
+    default: "0"
+  ]
+
+  boolean: dbonly [
+    information: "Include to only use values available in databases and to
+                  suppress prediction"
+    default: "N"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    relations: "EDAM_data:3127 Nucleic acid features (replication and
+                recombination)"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gscs.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,58 @@
+application: gscs [
+  documentation: "Calculates the scaled chi-square"
+  groups: "Nucleic:Codon usage"
+  embassy: "gembassy"
+  relations: "EDAM_operation:0286 Codon usage analysis"
+  relations: "EDAM_topic:0107 Codon usage analysis"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  boolean: translate [
+    information: "Include when translates using standard codon table"
+    default: "N"
+  ]
+
+  string: delkey [
+    information: "Regular expression to delete key (i.e. amino acids and nucleotides)"
+    knowntype: "regular expression"
+    default: "[^ACDEFGHIKLMNPQRSTVWYacgtU]"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Codon usage output file"
+    knowntype: "codon usage"
+    relations: "EDAM_data:2865 Codon usage bias"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gseq2png.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,60 @@
+application: gseq2png [
+  documentation: "Converts a sequence to PNG image"
+  groups: "Display"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0092 Data visualisation"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+  string: format [
+    information: "Output file format. Dependent on 'convert' command"
+    knowntype: "output format"
+    default: "png"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  integer: width [
+    information: "Width of the image"
+    default: "640"
+  ]
+
+  integer: window [
+    information: "Window size of a sequence to represent each pixel"
+    default: "20"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  string: goutfile [
+    information: "Output file for non interactive displays"
+    knowntype: "output filename"
+    relations: "EDAM_data:2166 Sequence composition plot"
+    default: "gseq2png"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gseqinfo.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,36 @@
+application: gseqinfo [
+  documentation: "Prints out basic nucleotide sequence statistics"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Program compseq output file"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gshuffleseq.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,46 @@
+application: gshuffleseq [
+  documentation: "Creates randomized sequence with conserved k-mer composition"
+  groups: "Nucleic:Mutation"
+  embassy: "gembassy"
+  groups: "Nucleic:Mutation, Protein:Mutation"
+  relations: "EDAM_topic:0091 Data handling"
+  relations: "EDAM_topic:0199 Genetic variation"
+  relations: "EDAM_operation:0367 Sequence mutation and randomization"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "any"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  integer: k [
+    information: "Sequence k-mer to preserve composition"
+    default: "1"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  seqout: outseq [
+    parameter: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gsignature.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,64 @@
+application: gsignature [
+  documentation: "Calculates oligonucleotide usage (genomic signature)"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  integer: wordlength [
+    information: "Word length"
+    default: "2"
+  ]
+
+  boolean: bothstrand [
+    information: "Include to use both strands direct used otherwise"
+    default: "Y"
+  ]
+
+  boolean: oe [
+    information: "Use observed (0) or O/E (1) value"
+    information: "Include to use O/E value observed values used otherwise"
+    default: "Y"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Program compseq output file"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gsvalue.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,52 @@
+application: gsvalue [
+  documentation: "Calculates the strength of selected codon usage bias (S)"
+  groups: "Nucleic:Codon Usage"
+  embassy: "gembassy"
+  relations: "EDAM_operation:0286 Codon usage analysis"
+  relations: "EDAM_topic:0107 Codon usage analysis"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  boolean: sharp [
+    information: "Include to use the 40 genes used by Sharp instead of ribosomal proteins"
+    default: "N"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Codon usage output file"
+    knowntype: "codon usage"
+    relations: "EDAM_data:2865 Codon usage bias"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gviewcds.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,71 @@
+application: gviewcds [
+  documentation: "Displays a graph of nucleotide contents around start and stop codons"
+  groups: "Nucleic:Composition"
+  embassy: "gembassy"
+  relations: "EDAM_topic:0157 Sequence composition analysis"
+  relations: "EDAM_operation:0377 Sequence composition calculation
+              (nucleic acid)"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  integer: length [
+    information: "Length in bases to show around start/stop codons"
+    default: "100"
+  ]
+
+  integer: gap [
+    information: "Gap shown in graph in between start/stop codon neighbors"
+    default: "3"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  toggle: plot [
+    information: "Include to plot result"
+    default: "Y"
+  ]
+
+  xygraph: graph [
+    standard: "$(plot)"
+    gtitle: "gviewcds of $(sequence.name)"
+    multiple: "4"
+  ]
+
+  outfile: outfile [
+    standard: "@(!$(plot))"
+    nullok: "Y"
+    nulldefault: "$(plot)"
+    information: "Program compseq output file (optional)"
+    knowntype: "compseq output"
+    relations: "EDAM_data:3086 Nucleic acid sequence composition"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/acd/gwvalue.acd	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,61 @@
+application: gwvalue [
+  documentation: "Calculates the 'relative adaptiveness of each codon' (W)"
+  groups: "Nucleic:Codon Usage"
+  embassy: "gembassy"
+  relations: "EDAM_operation:0286 Codon usage analysis"
+  relations: "EDAM_topic:0107 Codon usage analysis"
+]
+
+section: input [
+  information: "Input section"
+  type: "page"
+]
+
+  seqall: sequence [
+    parameter: "Y"
+    type: "nucleotide"
+    features: "Y"
+    relations: "EDAM_data:0849 Sequence record"
+  ]
+
+endsection: input
+
+section: advanced [
+  information: "Advanced section"
+  type: "page"
+]
+
+  string: include [
+    information: "Regular expression to include genes in a reference set a
+                  reference set in several studies are in-built 1: Nakamura
+                  and Tabata, 2: Sharp and Li, 3: Sakai et al."
+    knowntype: "regular expression"
+    default: "ribosomal.*protein"
+  ]
+
+  string: exclude [
+    information: "Regular expression to exclude genes from a reference set"
+    knowntype: "regular expression"
+    default: "[Mm]itochondrial"
+  ]
+
+  boolean: accid [
+    information: "Include to use sequence accession ID as query"
+    default: "N"
+  ]
+
+endsection: advanced
+
+section: output [
+  information: "Output section"
+  type: "page"
+]
+
+  outfile: outfile [
+    parameter: "Y"
+    information: "Codon usage output file"
+    knowntype: "codon usage"
+    relations: "EDAM_data:2865 Codon usage bias"
+  ]
+
+endsection: output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/aclocal.m4	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1165 @@
+# generated automatically by aclocal 1.15 -*- Autoconf -*-
+
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+
+# This file 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.
+
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
+[m4_warning([this file was generated for autoconf 2.69.
+You have another version of autoconf.  It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
+
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.15'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version.  Point them to the right macro.
+m4_if([$1], [1.15], [],
+      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too.  Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.15])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is '.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
+])
+
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+#
+# This file 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.
+
+
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery.  Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
+      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
+      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
+      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                    [depcc="$$1"   am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+               [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_$1_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+  fi
+  am__universal=false
+  m4_case([$1], [CC],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac],
+    [CXX],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac])
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+      # This compiler won't grok '-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_$1_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+  [--enable-dependency-tracking],
+  [do not reject slow dependency extractors])
+AS_HELP_STRING(
+  [--disable-dependency-tracking],
+  [speeds up one-time build])])
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+  am__nodep='_no'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
+])
+
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
+
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+#
+# This file 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.
+
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+  # Older Autoconf quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named 'Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`AS_DIRNAME("$mf")`
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running 'make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "$am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`AS_DIRNAME(["$file"])`
+      AS_MKDIR_P([$dirpart/$fdir])
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
+  done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled.  FIXME.  This creates each '.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+#
+# This file 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 macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.65])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[AC_DIAGNOSE([obsolete],
+             [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(
+  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+  [ok:ok],,
+  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+			     [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+		  [_AM_DEPENDENCIES([CC])],
+		  [m4_define([AC_PROG_CC],
+			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+		  [_AM_DEPENDENCIES([CXX])],
+		  [m4_define([AC_PROG_CXX],
+			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+		  [_AM_DEPENDENCIES([OBJC])],
+		  [m4_define([AC_PROG_OBJC],
+			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+		  [_AM_DEPENDENCIES([OBJCXX])],
+		  [m4_define([AC_PROG_OBJCXX],
+			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
+])
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+  fi
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
+])
+
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $_am_arg | $_am_arg:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+AC_SUBST([install_sh])])
+
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Check to see how 'make' treats includes.	            -*- Autoconf -*-
+
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
+else
+  am_missing_run=
+  AC_MSG_WARN(['missing' script is too old or missing])
+fi
+])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# --------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+  [whether $CC understands -c and -o together],
+  [am_cv_prog_cc_c_o],
+  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[[\\\"\#\$\&\'\`$am_lf]]*)
+    AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
+    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
+esac
+
+# Do 'set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$[*]" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$[*]" != "X $srcdir/configure conftest.file" \
+	&& test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment])
+     fi
+     if test "$[2]" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+  [AC_MSG_CHECKING([that generated files are newer than configure])
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
+
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# ("yes" being less verbose, "no" or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+  [--enable-silent-rules],
+  [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+  [--disable-silent-rules],
+  [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+dnl
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+   [am_cv_make_support_nested_variables],
+   [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+  dnl Using '$V' instead of '$(V)' breaks IRIX make.
+  AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor 'install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in "make install-strip", and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# --------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+#
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+
+m4_if([$1], [v7],
+  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+
+  [m4_case([$1],
+    [ustar],
+     [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+      # There is notably a 21 bits limit for the UID and the GID.  In fact,
+      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+      # and bug#13588).
+      am_max_uid=2097151 # 2^21 - 1
+      am_max_gid=$am_max_uid
+      # The $UID and $GID variables are not portable, so we need to resort
+      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
+      # below are definitely unexpected, so allow the users to see them
+      # (that is, avoid stderr redirection).
+      am_uid=`id -u || echo unknown`
+      am_gid=`id -g || echo unknown`
+      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+      if test $am_uid -le $am_max_uid; then
+         AC_MSG_RESULT([yes])
+      else
+         AC_MSG_RESULT([no])
+         _am_tools=none
+      fi
+      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+      if test $am_gid -le $am_max_gid; then
+         AC_MSG_RESULT([yes])
+      else
+        AC_MSG_RESULT([no])
+        _am_tools=none
+      fi],
+
+  [pax],
+    [],
+
+  [m4_fatal([Unknown tar format])])
+
+  AC_MSG_CHECKING([how to create a $1 tar archive])
+
+  # Go ahead even if we have the value already cached.  We do so because we
+  # need to set the values for the 'am__tar' and 'am__untar' variables.
+  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+  for _am_tool in $_am_tools; do
+    case $_am_tool in
+    gnutar)
+      for _am_tar in tar gnutar gtar; do
+        AM_RUN_LOG([$_am_tar --version]) && break
+      done
+      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+      am__untar="$_am_tar -xf -"
+      ;;
+    plaintar)
+      # Must skip GNU tar: if it does not support --format= it doesn't create
+      # ustar tarball either.
+      (tar --version) >/dev/null 2>&1 && continue
+      am__tar='tar chf - "$$tardir"'
+      am__tar_='tar chf - "$tardir"'
+      am__untar='tar xf -'
+      ;;
+    pax)
+      am__tar='pax -L -x $1 -w "$$tardir"'
+      am__tar_='pax -L -x $1 -w "$tardir"'
+      am__untar='pax -r'
+      ;;
+    cpio)
+      am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+      am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+      am__untar='cpio -i -H $1 -d'
+      ;;
+    none)
+      am__tar=false
+      am__tar_=false
+      am__untar=false
+      ;;
+    esac
+
+    # If the value was cached, stop now.  We just wanted to have am__tar
+    # and am__untar set.
+    test -n "${am_cv_prog_tar_$1}" && break
+
+    # tar/untar a dummy directory, and stop if the command works.
+    rm -rf conftest.dir
+    mkdir conftest.dir
+    echo GrepMe > conftest.dir/file
+    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+    rm -rf conftest.dir
+    if test -s conftest.tar; then
+      AM_RUN_LOG([$am__untar <conftest.tar])
+      AM_RUN_LOG([cat conftest.dir/file])
+      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+    fi
+  done
+  rm -rf conftest.dir
+
+  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+  AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([m4/general.m4])
+m4_include([m4/hpdf.m4])
+m4_include([m4/java.m4])
+m4_include([m4/lf_x11.m4])
+m4_include([m4/libtool.m4])
+m4_include([m4/ltoptions.m4])
+m4_include([m4/ltsugar.m4])
+m4_include([m4/ltversion.m4])
+m4_include([m4/lt~obsolete.m4])
+m4_include([m4/mysql.m4])
+m4_include([m4/pngdriver.m4])
+m4_include([m4/postgresql.m4])
+m4_include([m4/sgi.m4])
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/compile	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,347 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand '-c -o'.
+
+scriptversion=2012-10-14.11; # UTC
+
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Written by Tom Tromey <tromey@cygnus.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+nl='
+'
+
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" ""	$nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+  file=$1
+  case $file in
+    / | /[!/]*) # absolute file, and not a UNC file
+      if test -z "$file_conv"; then
+	# lazily determine how to convert abs files
+	case `uname -s` in
+	  MINGW*)
+	    file_conv=mingw
+	    ;;
+	  CYGWIN*)
+	    file_conv=cygwin
+	    ;;
+	  *)
+	    file_conv=wine
+	    ;;
+	esac
+      fi
+      case $file_conv/,$2, in
+	*,$file_conv,*)
+	  ;;
+	mingw/*)
+	  file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+	  ;;
+	cygwin/*)
+	  file=`cygpath -m "$file" || echo "$file"`
+	  ;;
+	wine/*)
+	  file=`winepath -w "$file" || echo "$file"`
+	  ;;
+      esac
+      ;;
+  esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+  func_file_conv "$1"
+  if test -z "$lib_path"; then
+    lib_path=$file
+  else
+    lib_path="$lib_path;$file"
+  fi
+  linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+  lib=$1
+  found=no
+  save_IFS=$IFS
+  IFS=';'
+  for dir in $lib_path $LIB
+  do
+    IFS=$save_IFS
+    if $shared && test -f "$dir/$lib.dll.lib"; then
+      found=yes
+      lib=$dir/$lib.dll.lib
+      break
+    fi
+    if test -f "$dir/$lib.lib"; then
+      found=yes
+      lib=$dir/$lib.lib
+      break
+    fi
+    if test -f "$dir/lib$lib.a"; then
+      found=yes
+      lib=$dir/lib$lib.a
+      break
+    fi
+  done
+  IFS=$save_IFS
+
+  if test "$found" != yes; then
+    lib=$lib.lib
+  fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+  # Assume a capable shell
+  lib_path=
+  shared=:
+  linker_opts=
+  for arg
+  do
+    if test -n "$eat"; then
+      eat=
+    else
+      case $1 in
+	-o)
+	  # configure might choose to run compile as 'compile cc -o foo foo.c'.
+	  eat=1
+	  case $2 in
+	    *.o | *.[oO][bB][jJ])
+	      func_file_conv "$2"
+	      set x "$@" -Fo"$file"
+	      shift
+	      ;;
+	    *)
+	      func_file_conv "$2"
+	      set x "$@" -Fe"$file"
+	      shift
+	      ;;
+	  esac
+	  ;;
+	-I)
+	  eat=1
+	  func_file_conv "$2" mingw
+	  set x "$@" -I"$file"
+	  shift
+	  ;;
+	-I*)
+	  func_file_conv "${1#-I}" mingw
+	  set x "$@" -I"$file"
+	  shift
+	  ;;
+	-l)
+	  eat=1
+	  func_cl_dashl "$2"
+	  set x "$@" "$lib"
+	  shift
+	  ;;
+	-l*)
+	  func_cl_dashl "${1#-l}"
+	  set x "$@" "$lib"
+	  shift
+	  ;;
+	-L)
+	  eat=1
+	  func_cl_dashL "$2"
+	  ;;
+	-L*)
+	  func_cl_dashL "${1#-L}"
+	  ;;
+	-static)
+	  shared=false
+	  ;;
+	-Wl,*)
+	  arg=${1#-Wl,}
+	  save_ifs="$IFS"; IFS=','
+	  for flag in $arg; do
+	    IFS="$save_ifs"
+	    linker_opts="$linker_opts $flag"
+	  done
+	  IFS="$save_ifs"
+	  ;;
+	-Xlinker)
+	  eat=1
+	  linker_opts="$linker_opts $2"
+	  ;;
+	-*)
+	  set x "$@" "$1"
+	  shift
+	  ;;
+	*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+	  func_file_conv "$1"
+	  set x "$@" -Tp"$file"
+	  shift
+	  ;;
+	*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+	  func_file_conv "$1" mingw
+	  set x "$@" "$file"
+	  shift
+	  ;;
+	*)
+	  set x "$@" "$1"
+	  shift
+	  ;;
+      esac
+    fi
+    shift
+  done
+  if test -n "$linker_opts"; then
+    linker_opts="-link$linker_opts"
+  fi
+  exec "$@" $linker_opts
+  exit 1
+}
+
+eat=
+
+case $1 in
+  '')
+     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file 'INSTALL'.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "compile $scriptversion"
+    exit $?
+    ;;
+  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+    func_cl_wrapper "$@"      # Doesn't return...
+    ;;
+esac
+
+ofile=
+cfile=
+
+for arg
+do
+  if test -n "$eat"; then
+    eat=
+  else
+    case $1 in
+      -o)
+	# configure might choose to run compile as 'compile cc -o foo foo.c'.
+	# So we strip '-o arg' only if arg is an object.
+	eat=1
+	case $2 in
+	  *.o | *.obj)
+	    ofile=$2
+	    ;;
+	  *)
+	    set x "$@" -o "$2"
+	    shift
+	    ;;
+	esac
+	;;
+      *.c)
+	cfile=$1
+	set x "$@" "$1"
+	shift
+	;;
+      *)
+	set x "$@" "$1"
+	shift
+	;;
+    esac
+  fi
+  shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+  # If no '-o' option was seen then we might have been invoked from a
+  # pattern rule where we don't need one.  That is ok -- this is a
+  # normal compilation that the losing compiler can handle.  If no
+  # '.c' file was seen then we are probably linking.  That is also
+  # ok.
+  exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file.  Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+  if mkdir "$lockdir" >/dev/null 2>&1; then
+    break
+  fi
+  sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/config.guess	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1421 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright 1992-2014 Free Software Foundation, Inc.
+
+timestamp='2014-11-04'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+#
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
+#
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+#
+# Please send patches to <config-patches@gnu.org>.
+
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright 1992-2014 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+	for c in cc gcc c89 c99 ; do
+	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+	     CC_FOR_BUILD="$c"; break ;
+	  fi ;
+	done ;
+	if test x"$CC_FOR_BUILD" = x ; then
+	  CC_FOR_BUILD=no_compiler_found ;
+	fi
+	;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+	PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+	# If the system lacks a compiler, then just pick glibc.
+	# We could probably try harder.
+	LIBC=gnu
+
+	eval $set_cc_for_build
+	cat <<-EOF > $dummy.c
+	#include <features.h>
+	#if defined(__UCLIBC__)
+	LIBC=uclibc
+	#elif defined(__dietlibc__)
+	LIBC=dietlibc
+	#else
+	LIBC=gnu
+	#endif
+	EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+	;;
+esac
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+	# NetBSD (nbsd) targets should (where applicable) match one or
+	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+	# switched to ELF, *-*-netbsd* would select the old
+	# object file format.  This provides both forward
+	# compatibility and a consistent mechanism for selecting the
+	# object file format.
+	#
+	# Note: NetBSD doesn't particularly care about the vendor
+	# portion of the name.  We always set it to "unknown".
+	sysctl="sysctl -n hw.machine_arch"
+	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+	case "${UNAME_MACHINE_ARCH}" in
+	    armeb) machine=armeb-unknown ;;
+	    arm*) machine=arm-unknown ;;
+	    sh3el) machine=shl-unknown ;;
+	    sh3eb) machine=sh-unknown ;;
+	    sh5el) machine=sh5le-unknown ;;
+	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+	esac
+	# The Operating System including object format, if it has switched
+	# to ELF recently, or will in the future.
+	case "${UNAME_MACHINE_ARCH}" in
+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+		eval $set_cc_for_build
+		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+			| grep -q __ELF__
+		then
+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd
+		else
+		    os=netbsdelf
+		fi
+		;;
+	    *)
+		os=netbsd
+		;;
+	esac
+	# The OS release
+	# Debian GNU/NetBSD machines have a different userland, and
+	# thus, need a distinct triplet. However, they do not need
+	# kernel version information, so it can be replaced with a
+	# suitable tag, in the style of linux-gnu.
+	case "${UNAME_VERSION}" in
+	    Debian*)
+		release='-gnu'
+		;;
+	    *)
+		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		;;
+	esac
+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+	# contains redundant information, the shorter form:
+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+	echo "${machine}-${os}${release}"
+	exit ;;
+    *:Bitrig:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+	exit ;;
+    *:OpenBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+	exit ;;
+    *:ekkoBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+	exit ;;
+    *:SolidBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+	exit ;;
+    macppc:MirBSD:*:*)
+	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    *:MirBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    alpha:OSF1:*:*)
+	case $UNAME_RELEASE in
+	*4.0)
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+		;;
+	*5.*)
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+		;;
+	esac
+	# According to Compaq, /usr/sbin/psrinfo has been available on
+	# OSF/1 and Tru64 systems produced since 1995.  I hope that
+	# covers most systems running today.  This code pipes the CPU
+	# types through head -n 1, so we only detect the type of CPU 0.
+	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+	case "$ALPHA_CPU_TYPE" in
+	    "EV4 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV4.5 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "LCA4 (21066/21068)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV5 (21164)")
+		UNAME_MACHINE="alphaev5" ;;
+	    "EV5.6 (21164A)")
+		UNAME_MACHINE="alphaev56" ;;
+	    "EV5.6 (21164PC)")
+		UNAME_MACHINE="alphapca56" ;;
+	    "EV5.7 (21164PC)")
+		UNAME_MACHINE="alphapca57" ;;
+	    "EV6 (21264)")
+		UNAME_MACHINE="alphaev6" ;;
+	    "EV6.7 (21264A)")
+		UNAME_MACHINE="alphaev67" ;;
+	    "EV6.8CB (21264C)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8AL (21264B)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8CX (21264D)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.9A (21264/EV69A)")
+		UNAME_MACHINE="alphaev69" ;;
+	    "EV7 (21364)")
+		UNAME_MACHINE="alphaev7" ;;
+	    "EV7.9 (21364A)")
+		UNAME_MACHINE="alphaev79" ;;
+	esac
+	# A Pn.n version is a patched version.
+	# A Vn.n version is a released version.
+	# A Tn.n version is a released field test version.
+	# A Xn.n version is an unreleased experimental baselevel.
+	# 1.2 uses "1.2" for uname -r.
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+	exitcode=$?
+	trap '' 0
+	exit $exitcode ;;
+    Alpha\ *:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# Should we change UNAME_MACHINE based on the output of uname instead
+	# of the specific Alpha model?
+	echo alpha-pc-interix
+	exit ;;
+    21064:Windows_NT:50:3)
+	echo alpha-dec-winnt3.5
+	exit ;;
+    Amiga*:UNIX_System_V:4.0:*)
+	echo m68k-unknown-sysv4
+	exit ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-amigaos
+	exit ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-morphos
+	exit ;;
+    *:OS/390:*:*)
+	echo i370-ibm-openedition
+	exit ;;
+    *:z/VM:*:*)
+	echo s390-ibm-zvmoe
+	exit ;;
+    *:OS400:*:*)
+	echo powerpc-ibm-os400
+	exit ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+	echo arm-acorn-riscix${UNAME_RELEASE}
+	exit ;;
+    arm*:riscos:*:*|arm*:RISCOS:*:*)
+	echo arm-unknown-riscos
+	exit ;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+	echo hppa1.1-hitachi-hiuxmpp
+	exit ;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+	if test "`(/bin/universe) 2>/dev/null`" = att ; then
+		echo pyramid-pyramid-sysv3
+	else
+		echo pyramid-pyramid-bsd
+	fi
+	exit ;;
+    NILE*:*:*:dcosx)
+	echo pyramid-pyramid-svr4
+	exit ;;
+    DRS?6000:unix:4.0:6*)
+	echo sparc-icl-nx6
+	exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+	case `/usr/bin/uname -p` in
+	    sparc) echo sparc-icl-nx7; exit ;;
+	esac ;;
+    s390x:SunOS:*:*)
+	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4H:SunOS:5.*:*)
+	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+	echo i386-pc-auroraux${UNAME_RELEASE}
+	exit ;;
+    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+	eval $set_cc_for_build
+	SUN_ARCH="i386"
+	# If there is a compiler, see if it is configured for 64-bit objects.
+	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+	# This test works for both compilers.
+	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		grep IS_64BIT_ARCH >/dev/null
+	    then
+		SUN_ARCH="x86_64"
+	    fi
+	fi
+	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:6*:*)
+	# According to config.sub, this is the proper way to canonicalize
+	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+	# it's likely to be more like Solaris than SunOS4.
+	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:*:*)
+	case "`/usr/bin/arch -k`" in
+	    Series*|S4*)
+		UNAME_RELEASE=`uname -v`
+		;;
+	esac
+	# Japanese Language versions have a version number like `4.1.3-JL'.
+	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+	exit ;;
+    sun3*:SunOS:*:*)
+	echo m68k-sun-sunos${UNAME_RELEASE}
+	exit ;;
+    sun*:*:4.2BSD:*)
+	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	case "`/bin/arch`" in
+	    sun3)
+		echo m68k-sun-sunos${UNAME_RELEASE}
+		;;
+	    sun4)
+		echo sparc-sun-sunos${UNAME_RELEASE}
+		;;
+	esac
+	exit ;;
+    aushp:SunOS:*:*)
+	echo sparc-auspex-sunos${UNAME_RELEASE}
+	exit ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+	echo m68k-milan-mint${UNAME_RELEASE}
+	exit ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+	echo m68k-hades-mint${UNAME_RELEASE}
+	exit ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+	echo m68k-unknown-mint${UNAME_RELEASE}
+	exit ;;
+    m68k:machten:*:*)
+	echo m68k-apple-machten${UNAME_RELEASE}
+	exit ;;
+    powerpc:machten:*:*)
+	echo powerpc-apple-machten${UNAME_RELEASE}
+	exit ;;
+    RISC*:Mach:*:*)
+	echo mips-dec-mach_bsd4.3
+	exit ;;
+    RISC*:ULTRIX:*:*)
+	echo mips-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    VAX*:ULTRIX*:*:*)
+	echo vax-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+	echo clipper-intergraph-clix${UNAME_RELEASE}
+	exit ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+	#if defined (host_mips) && defined (MIPSEB)
+	#if defined (SYSTYPE_SYSV)
+	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_SVR4)
+	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+	#endif
+	#endif
+	  exit (-1);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c &&
+	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+	  SYSTEM_NAME=`$dummy $dummyarg` &&
+	    { echo "$SYSTEM_NAME"; exit; }
+	echo mips-mips-riscos${UNAME_RELEASE}
+	exit ;;
+    Motorola:PowerMAX_OS:*:*)
+	echo powerpc-motorola-powermax
+	exit ;;
+    Motorola:*:4.3:PL8-*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:Power_UNIX:*:*)
+	echo powerpc-harris-powerunix
+	exit ;;
+    m88k:CX/UX:7*:*)
+	echo m88k-harris-cxux7
+	exit ;;
+    m88k:*:4*:R4*)
+	echo m88k-motorola-sysv4
+	exit ;;
+    m88k:*:3*:R3*)
+	echo m88k-motorola-sysv3
+	exit ;;
+    AViiON:dgux:*:*)
+	# DG/UX returns AViiON for all architectures
+	UNAME_PROCESSOR=`/usr/bin/uname -p`
+	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+	then
+	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+	       [ ${TARGET_BINARY_INTERFACE}x = x ]
+	    then
+		echo m88k-dg-dgux${UNAME_RELEASE}
+	    else
+		echo m88k-dg-dguxbcs${UNAME_RELEASE}
+	    fi
+	else
+	    echo i586-dg-dgux${UNAME_RELEASE}
+	fi
+	exit ;;
+    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
+	echo m88k-dolphin-sysv3
+	exit ;;
+    M88*:*:R3*:*)
+	# Delta 88k system running SVR3
+	echo m88k-motorola-sysv3
+	exit ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+	echo m88k-tektronix-sysv3
+	exit ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+	echo m68k-tektronix-bsd
+	exit ;;
+    *:IRIX*:*:*)
+	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+	exit ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+	echo i386-ibm-aix
+	exit ;;
+    ia64:AIX:*:*)
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:2:3)
+	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+		eval $set_cc_for_build
+		sed 's/^		//' << EOF >$dummy.c
+		#include <sys/systemcfg.h>
+
+		main()
+			{
+			if (!__power_pc())
+				exit(1);
+			puts("powerpc-ibm-aix3.2.5");
+			exit(0);
+			}
+EOF
+		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+		then
+			echo "$SYSTEM_NAME"
+		else
+			echo rs6000-ibm-aix3.2.5
+		fi
+	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+		echo rs6000-ibm-aix3.2.4
+	else
+		echo rs6000-ibm-aix3.2
+	fi
+	exit ;;
+    *:AIX:*:[4567])
+	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+		IBM_ARCH=rs6000
+	else
+		IBM_ARCH=powerpc
+	fi
+	if [ -x /usr/bin/lslpp ] ; then
+		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:*:*)
+	echo rs6000-ibm-aix
+	exit ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+	echo romp-ibm-bsd4.4
+	exit ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+	exit ;;                             # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+	echo rs6000-bull-bosx
+	exit ;;
+    DPX/2?00:B.O.S.:*:*)
+	echo m68k-bull-sysv3
+	exit ;;
+    9000/[34]??:4.3bsd:1.*:*)
+	echo m68k-hp-bsd
+	exit ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+	echo m68k-hp-bsd4.4
+	exit ;;
+    9000/[34678]??:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	case "${UNAME_MACHINE}" in
+	    9000/31? )            HP_ARCH=m68000 ;;
+	    9000/[34]?? )         HP_ARCH=m68k ;;
+	    9000/[678][0-9][0-9])
+		if [ -x /usr/bin/getconf ]; then
+		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+		    case "${sc_cpu_version}" in
+		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+		      532)                      # CPU_PA_RISC2_0
+			case "${sc_kernel_bits}" in
+			  32) HP_ARCH="hppa2.0n" ;;
+			  64) HP_ARCH="hppa2.0w" ;;
+			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+			esac ;;
+		    esac
+		fi
+		if [ "${HP_ARCH}" = "" ]; then
+		    eval $set_cc_for_build
+		    sed 's/^		//' << EOF >$dummy.c
+
+		#define _HPUX_SOURCE
+		#include <stdlib.h>
+		#include <unistd.h>
+
+		int main ()
+		{
+		#if defined(_SC_KERNEL_BITS)
+		    long bits = sysconf(_SC_KERNEL_BITS);
+		#endif
+		    long cpu  = sysconf (_SC_CPU_VERSION);
+
+		    switch (cpu)
+			{
+			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+			case CPU_PA_RISC2_0:
+		#if defined(_SC_KERNEL_BITS)
+			    switch (bits)
+				{
+				case 64: puts ("hppa2.0w"); break;
+				case 32: puts ("hppa2.0n"); break;
+				default: puts ("hppa2.0"); break;
+				} break;
+		#else  /* !defined(_SC_KERNEL_BITS) */
+			    puts ("hppa2.0"); break;
+		#endif
+			default: puts ("hppa1.0"); break;
+			}
+		    exit (0);
+		}
+EOF
+		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    test -z "$HP_ARCH" && HP_ARCH=hppa
+		fi ;;
+	esac
+	if [ ${HP_ARCH} = "hppa2.0w" ]
+	then
+	    eval $set_cc_for_build
+
+	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+	    # generating 64-bit code.  GNU and HP use different nomenclature:
+	    #
+	    # $ CC_FOR_BUILD=cc ./config.guess
+	    # => hppa2.0w-hp-hpux11.23
+	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+	    # => hppa64-hp-hpux11.23
+
+	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+		grep -q __LP64__
+	    then
+		HP_ARCH="hppa2.0w"
+	    else
+		HP_ARCH="hppa64"
+	    fi
+	fi
+	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+	exit ;;
+    ia64:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	echo ia64-hp-hpux${HPUX_REV}
+	exit ;;
+    3050*:HI-UX:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <unistd.h>
+	int
+	main ()
+	{
+	  long cpu = sysconf (_SC_CPU_VERSION);
+	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+	     results, however.  */
+	  if (CPU_IS_PA_RISC (cpu))
+	    {
+	      switch (cpu)
+		{
+		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+		  default: puts ("hppa-hitachi-hiuxwe2"); break;
+		}
+	    }
+	  else if (CPU_IS_HP_MC68K (cpu))
+	    puts ("m68k-hitachi-hiuxwe2");
+	  else puts ("unknown-hitachi-hiuxwe2");
+	  exit (0);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+		{ echo "$SYSTEM_NAME"; exit; }
+	echo unknown-hitachi-hiuxwe2
+	exit ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+	echo hppa1.1-hp-bsd
+	exit ;;
+    9000/8??:4.3bsd:*:*)
+	echo hppa1.0-hp-bsd
+	exit ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+	echo hppa1.0-hp-mpeix
+	exit ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+	echo hppa1.1-hp-osf
+	exit ;;
+    hp8??:OSF1:*:*)
+	echo hppa1.0-hp-osf
+	exit ;;
+    i*86:OSF1:*:*)
+	if [ -x /usr/sbin/sysversion ] ; then
+	    echo ${UNAME_MACHINE}-unknown-osf1mk
+	else
+	    echo ${UNAME_MACHINE}-unknown-osf1
+	fi
+	exit ;;
+    parisc*:Lites*:*:*)
+	echo hppa1.1-hp-lites
+	exit ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+	echo c1-convex-bsd
+	exit ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+	exit ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+	echo c34-convex-bsd
+	exit ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+	echo c38-convex-bsd
+	exit ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+	echo c4-convex-bsd
+	exit ;;
+    CRAY*Y-MP:*:*:*)
+	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*[A-Z]90:*:*:*)
+	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+	      -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*TS:*:*:*)
+	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*T3E:*:*:*)
+	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*SV1:*:*:*)
+	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    *:UNICOS/mp:*:*)
+	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
+    5000:UNIX_System_V:4.*:*)
+	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+	exit ;;
+    sparc*:BSD/OS:*:*)
+	echo sparc-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:BSD/OS:*:*)
+	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:FreeBSD:*:*)
+	UNAME_PROCESSOR=`/usr/bin/uname -p`
+	case ${UNAME_PROCESSOR} in
+	    amd64)
+		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	    *)
+		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	esac
+	exit ;;
+    i*:CYGWIN*:*)
+	echo ${UNAME_MACHINE}-pc-cygwin
+	exit ;;
+    *:MINGW64*:*)
+	echo ${UNAME_MACHINE}-pc-mingw64
+	exit ;;
+    *:MINGW*:*)
+	echo ${UNAME_MACHINE}-pc-mingw32
+	exit ;;
+    *:MSYS*:*)
+	echo ${UNAME_MACHINE}-pc-msys
+	exit ;;
+    i*:windows32*:*)
+	# uname -m includes "-pc" on this system.
+	echo ${UNAME_MACHINE}-mingw32
+	exit ;;
+    i*:PW*:*)
+	echo ${UNAME_MACHINE}-pc-pw32
+	exit ;;
+    *:Interix*:*)
+	case ${UNAME_MACHINE} in
+	    x86)
+		echo i586-pc-interix${UNAME_RELEASE}
+		exit ;;
+	    authenticamd | genuineintel | EM64T)
+		echo x86_64-unknown-interix${UNAME_RELEASE}
+		exit ;;
+	    IA64)
+		echo ia64-unknown-interix${UNAME_RELEASE}
+		exit ;;
+	esac ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+	echo i${UNAME_MACHINE}-pc-mks
+	exit ;;
+    8664:Windows_NT:*)
+	echo x86_64-pc-mks
+	exit ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+	# UNAME_MACHINE based on the output of uname instead of i386?
+	echo i586-pc-interix
+	exit ;;
+    i*:UWIN*:*)
+	echo ${UNAME_MACHINE}-pc-uwin
+	exit ;;
+    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+	echo x86_64-unknown-cygwin
+	exit ;;
+    p*:CYGWIN*:*)
+	echo powerpcle-unknown-cygwin
+	exit ;;
+    prep*:SunOS:5.*:*)
+	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    *:GNU:*:*)
+	# the GNU system
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	exit ;;
+    *:GNU/*:*:*)
+	# other systems with GNU libc and userland
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+	exit ;;
+    i*86:Minix:*:*)
+	echo ${UNAME_MACHINE}-pc-minix
+	exit ;;
+    aarch64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    aarch64_be:Linux:*:*)
+	UNAME_MACHINE=aarch64_be
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    alpha:Linux:*:*)
+	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+	  EV5)   UNAME_MACHINE=alphaev5 ;;
+	  EV56)  UNAME_MACHINE=alphaev56 ;;
+	  PCA56) UNAME_MACHINE=alphapca56 ;;
+	  PCA57) UNAME_MACHINE=alphapca56 ;;
+	  EV6)   UNAME_MACHINE=alphaev6 ;;
+	  EV67)  UNAME_MACHINE=alphaev67 ;;
+	  EV68*) UNAME_MACHINE=alphaev68 ;;
+	esac
+	objdump --private-headers /bin/sh | grep -q ld.so.1
+	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    arc:Linux:*:* | arceb:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    arm*:Linux:*:*)
+	eval $set_cc_for_build
+	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+	    | grep -q __ARM_EABI__
+	then
+	    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	else
+	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+		| grep -q __ARM_PCS_VFP
+	    then
+		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
+	    else
+		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
+	    fi
+	fi
+	exit ;;
+    avr32*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    cris:Linux:*:*)
+	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+	exit ;;
+    crisv32:Linux:*:*)
+	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+	exit ;;
+    frv:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    hexagon:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    i*86:Linux:*:*)
+	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+	exit ;;
+    ia64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    m32r*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    m68*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    mips:Linux:*:* | mips64:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef ${UNAME_MACHINE}
+	#undef ${UNAME_MACHINE}el
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=${UNAME_MACHINE}el
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=${UNAME_MACHINE}
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+	;;
+    openrisc*:Linux:*:*)
+	echo or1k-unknown-linux-${LIBC}
+	exit ;;
+    or32:Linux:*:* | or1k*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    padre:Linux:*:*)
+	echo sparc-unknown-linux-${LIBC}
+	exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+	echo hppa64-unknown-linux-${LIBC}
+	exit ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+	# Look for CPU level
+	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+	  PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+	  *)    echo hppa-unknown-linux-${LIBC} ;;
+	esac
+	exit ;;
+    ppc64:Linux:*:*)
+	echo powerpc64-unknown-linux-${LIBC}
+	exit ;;
+    ppc:Linux:*:*)
+	echo powerpc-unknown-linux-${LIBC}
+	exit ;;
+    ppc64le:Linux:*:*)
+	echo powerpc64le-unknown-linux-${LIBC}
+	exit ;;
+    ppcle:Linux:*:*)
+	echo powerpcle-unknown-linux-${LIBC}
+	exit ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
+	exit ;;
+    sh64*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    sh*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    tile*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    vax:Linux:*:*)
+	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
+	exit ;;
+    x86_64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    xtensa*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    i*86:DYNIX/ptx:4*:*)
+	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+	# earlier versions are messed up and put the nodename in both
+	# sysname and nodename.
+	echo i386-sequent-sysv4
+	exit ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+	# Unixware is an offshoot of SVR4, but it has its own version
+	# number series starting with 2...
+	# I am not positive that other SVR4 systems won't match this,
+	# I just have to hope.  -- rms.
+	# Use sysv4.2uw... so that sysv4* matches it.
+	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+	exit ;;
+    i*86:OS/2:*:*)
+	# If we were able to find `uname', then EMX Unix compatibility
+	# is probably installed.
+	echo ${UNAME_MACHINE}-pc-os2-emx
+	exit ;;
+    i*86:XTS-300:*:STOP)
+	echo ${UNAME_MACHINE}-unknown-stop
+	exit ;;
+    i*86:atheos:*:*)
+	echo ${UNAME_MACHINE}-unknown-atheos
+	exit ;;
+    i*86:syllable:*:*)
+	echo ${UNAME_MACHINE}-pc-syllable
+	exit ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+	echo i386-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    i*86:*DOS:*:*)
+	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	exit ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+	else
+		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+	fi
+	exit ;;
+    i*86:*:5:[678]*)
+	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+	case `/bin/uname -X | grep "^Machine"` in
+	    *486*)	     UNAME_MACHINE=i486 ;;
+	    *Pentium)	     UNAME_MACHINE=i586 ;;
+	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+	esac
+	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+	exit ;;
+    i*86:*:3.2:*)
+	if test -f /usr/options/cb.name; then
+		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+	elif /bin/uname -X 2>/dev/null >/dev/null ; then
+		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+			&& UNAME_MACHINE=i586
+		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+	else
+		echo ${UNAME_MACHINE}-pc-sysv32
+	fi
+	exit ;;
+    pc:*:*:*)
+	# Left here for compatibility:
+	# uname -m prints for DJGPP always 'pc', but it prints nothing about
+	# the processor, so we play safe by assuming i586.
+	# Note: whatever this is, it MUST be the same as what config.sub
+	# prints for the "djgpp" host, or else GDB configury will decide that
+	# this is a cross-build.
+	echo i586-pc-msdosdjgpp
+	exit ;;
+    Intel:Mach:3*:*)
+	echo i386-pc-mach3
+	exit ;;
+    paragon:*:*:*)
+	echo i860-intel-osf1
+	exit ;;
+    i860:*:4.*:*) # i860-SVR4
+	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+	else # Add other i860-SVR4 vendors below as they are discovered.
+	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+	fi
+	exit ;;
+    mini*:CTIX:SYS*5:*)
+	# "miniframe"
+	echo m68010-convergent-sysv
+	exit ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+	echo m68k-convergent-sysv
+	exit ;;
+    M680?0:D-NIX:5.3:*)
+	echo m68k-diab-dnix
+	exit ;;
+    M68*:*:R3V[5678]*:*)
+	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+	OS_REL=''
+	test -r /etc/.relid \
+	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4; exit; } ;;
+    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+	OS_REL='.3'
+	test -r /etc/.relid \
+	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+	echo m68k-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    mc68030:UNIX_System_V:4.*:*)
+	echo m68k-atari-sysv4
+	exit ;;
+    TSUNAMI:LynxOS:2.*:*)
+	echo sparc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    rs6000:LynxOS:2.*:*)
+	echo rs6000-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+	echo powerpc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    SM[BE]S:UNIX_SV:*:*)
+	echo mips-dde-sysv${UNAME_RELEASE}
+	exit ;;
+    RM*:ReliantUNIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    RM*:SINIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    *:SINIX-*:*:*)
+	if uname -p 2>/dev/null >/dev/null ; then
+		UNAME_MACHINE=`(uname -p) 2>/dev/null`
+		echo ${UNAME_MACHINE}-sni-sysv4
+	else
+		echo ns32k-sni-sysv
+	fi
+	exit ;;
+    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+			# says <Richard.M.Bartel@ccMail.Census.GOV>
+	echo i586-unisys-sysv4
+	exit ;;
+    *:UNIX_System_V:4*:FTX*)
+	# From Gerald Hewes <hewes@openmarket.com>.
+	# How about differentiating between stratus architectures? -djm
+	echo hppa1.1-stratus-sysv4
+	exit ;;
+    *:*:*:FTX*)
+	# From seanf@swdc.stratus.com.
+	echo i860-stratus-sysv4
+	exit ;;
+    i*86:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo ${UNAME_MACHINE}-stratus-vos
+	exit ;;
+    *:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo hppa1.1-stratus-vos
+	exit ;;
+    mc68*:A/UX:*:*)
+	echo m68k-apple-aux${UNAME_RELEASE}
+	exit ;;
+    news*:NEWS-OS:6*:*)
+	echo mips-sony-newsos6
+	exit ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+	if [ -d /usr/nec ]; then
+		echo mips-nec-sysv${UNAME_RELEASE}
+	else
+		echo mips-unknown-sysv${UNAME_RELEASE}
+	fi
+	exit ;;
+    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
+	echo powerpc-be-beos
+	exit ;;
+    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
+	echo powerpc-apple-beos
+	exit ;;
+    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
+	echo i586-pc-beos
+	exit ;;
+    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
+	echo i586-pc-haiku
+	exit ;;
+    x86_64:Haiku:*:*)
+	echo x86_64-unknown-haiku
+	exit ;;
+    SX-4:SUPER-UX:*:*)
+	echo sx4-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-5:SUPER-UX:*:*)
+	echo sx5-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-6:SUPER-UX:*:*)
+	echo sx6-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-7:SUPER-UX:*:*)
+	echo sx7-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-8:SUPER-UX:*:*)
+	echo sx8-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-8R:SUPER-UX:*:*)
+	echo sx8r-nec-superux${UNAME_RELEASE}
+	exit ;;
+    Power*:Rhapsody:*:*)
+	echo powerpc-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Rhapsody:*:*)
+	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Darwin:*:*)
+	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+	eval $set_cc_for_build
+	if test "$UNAME_PROCESSOR" = unknown ; then
+	    UNAME_PROCESSOR=powerpc
+	fi
+	if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+	    if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+		    (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		    grep IS_64BIT_ARCH >/dev/null
+		then
+		    case $UNAME_PROCESSOR in
+			i386) UNAME_PROCESSOR=x86_64 ;;
+			powerpc) UNAME_PROCESSOR=powerpc64 ;;
+		    esac
+		fi
+	    fi
+	elif test "$UNAME_PROCESSOR" = i386 ; then
+	    # Avoid executing cc on OS X 10.9, as it ships with a stub
+	    # that puts up a graphical alert prompting to install
+	    # developer tools.  Any system running Mac OS X 10.7 or
+	    # later (Darwin 11 and later) is required to have a 64-bit
+	    # processor. This is not true of the ARM version of Darwin
+	    # that Apple uses in portable devices.
+	    UNAME_PROCESSOR=x86_64
+	fi
+	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+	exit ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+	UNAME_PROCESSOR=`uname -p`
+	if test "$UNAME_PROCESSOR" = "x86"; then
+		UNAME_PROCESSOR=i386
+		UNAME_MACHINE=pc
+	fi
+	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+	exit ;;
+    *:QNX:*:4*)
+	echo i386-pc-qnx
+	exit ;;
+    NEO-?:NONSTOP_KERNEL:*:*)
+	echo neo-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    NSE-*:NONSTOP_KERNEL:*:*)
+	echo nse-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    NSR-?:NONSTOP_KERNEL:*:*)
+	echo nsr-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    *:NonStop-UX:*:*)
+	echo mips-compaq-nonstopux
+	exit ;;
+    BS2000:POSIX*:*:*)
+	echo bs2000-siemens-sysv
+	exit ;;
+    DS/*:UNIX_System_V:*:*)
+	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+	exit ;;
+    *:Plan9:*:*)
+	# "uname -m" is not consistent, so use $cputype instead. 386
+	# is converted to i386 for consistency with other x86
+	# operating systems.
+	if test "$cputype" = "386"; then
+	    UNAME_MACHINE=i386
+	else
+	    UNAME_MACHINE="$cputype"
+	fi
+	echo ${UNAME_MACHINE}-unknown-plan9
+	exit ;;
+    *:TOPS-10:*:*)
+	echo pdp10-unknown-tops10
+	exit ;;
+    *:TENEX:*:*)
+	echo pdp10-unknown-tenex
+	exit ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+	echo pdp10-dec-tops20
+	exit ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+	echo pdp10-xkl-tops20
+	exit ;;
+    *:TOPS-20:*:*)
+	echo pdp10-unknown-tops20
+	exit ;;
+    *:ITS:*:*)
+	echo pdp10-unknown-its
+	exit ;;
+    SEI:*:*:SEIUX)
+	echo mips-sei-seiux${UNAME_RELEASE}
+	exit ;;
+    *:DragonFly:*:*)
+	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
+    *:*VMS:*:*)
+	UNAME_MACHINE=`(uname -p) 2>/dev/null`
+	case "${UNAME_MACHINE}" in
+	    A*) echo alpha-dec-vms ; exit ;;
+	    I*) echo ia64-dec-vms ; exit ;;
+	    V*) echo vax-dec-vms ; exit ;;
+	esac ;;
+    *:XENIX:*:SysV)
+	echo i386-pc-xenix
+	exit ;;
+    i*86:skyos:*:*)
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	exit ;;
+    i*86:rdos:*:*)
+	echo ${UNAME_MACHINE}-pc-rdos
+	exit ;;
+    i*86:AROS:*:*)
+	echo ${UNAME_MACHINE}-pc-aros
+	exit ;;
+    x86_64:VMkernel:*:*)
+	echo ${UNAME_MACHINE}-unknown-esx
+	exit ;;
+esac
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/config.sub	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1807 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright 1992-2014 Free Software Foundation, Inc.
+
+timestamp='2014-12-03'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+
+
+# Please send patches to <config-patches@gnu.org>.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright 1992-2014 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo $1
+       exit ;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+  knetbsd*-gnu* | netbsd*-gnu* | \
+  kopensolaris*-gnu* | \
+  storm-chaos* | os2-emx* | rtmk-nova*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  android-linux)
+    os=-linux-android
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+	-sun*os*)
+		# Prevent following clause from handling this invalid input.
+		;;
+	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+	-apple | -axis | -knuth | -cray | -microblaze*)
+		os=
+		basic_machine=$1
+		;;
+	-bluegene*)
+		os=-cnk
+		;;
+	-sim | -cisco | -oki | -wec | -winbond)
+		os=
+		basic_machine=$1
+		;;
+	-scout)
+		;;
+	-wrs)
+		os=-vxworks
+		basic_machine=$1
+		;;
+	-chorusos*)
+		os=-chorusos
+		basic_machine=$1
+		;;
+	-chorusrdb)
+		os=-chorusrdb
+		basic_machine=$1
+		;;
+	-hiux*)
+		os=-hiuxwe2
+		;;
+	-sco6)
+		os=-sco5v6
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco5)
+		os=-sco3.2v5
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco4)
+		os=-sco3.2v4
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2.[4-9]*)
+		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2v[4-9]*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco5v6*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco*)
+		os=-sco3.2v2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-udk*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-isc)
+		os=-isc2.2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-clix*)
+		basic_machine=clipper-intergraph
+		;;
+	-isc*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-lynx*178)
+		os=-lynxos178
+		;;
+	-lynx*5)
+		os=-lynxos5
+		;;
+	-lynx*)
+		os=-lynxos
+		;;
+	-ptx*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+		;;
+	-windowsnt*)
+		os=`echo $os | sed -e 's/windowsnt/winnt/'`
+		;;
+	-psos*)
+		os=-psos
+		;;
+	-mint | -mint[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+	# Recognize the basic CPU types without company name.
+	# Some are omitted here because they have special meanings below.
+	1750a | 580 \
+	| a29k \
+	| aarch64 | aarch64_be \
+	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+	| am33_2.0 \
+	| arc | arceb \
+	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+	| avr | avr32 \
+	| be32 | be64 \
+	| bfin \
+	| c4x | c8051 | clipper \
+	| d10v | d30v | dlx | dsp16xx \
+	| epiphany \
+	| fido | fr30 | frv \
+	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+	| hexagon \
+	| i370 | i860 | i960 | ia64 \
+	| ip2k | iq2000 \
+	| k1om \
+	| le32 | le64 \
+	| lm32 \
+	| m32c | m32r | m32rle | m68000 | m68k | m88k \
+	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
+	| mips | mipsbe | mipseb | mipsel | mipsle \
+	| mips16 \
+	| mips64 | mips64el \
+	| mips64octeon | mips64octeonel \
+	| mips64orion | mips64orionel \
+	| mips64r5900 | mips64r5900el \
+	| mips64vr | mips64vrel \
+	| mips64vr4100 | mips64vr4100el \
+	| mips64vr4300 | mips64vr4300el \
+	| mips64vr5000 | mips64vr5000el \
+	| mips64vr5900 | mips64vr5900el \
+	| mipsisa32 | mipsisa32el \
+	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa32r6 | mipsisa32r6el \
+	| mipsisa64 | mipsisa64el \
+	| mipsisa64r2 | mipsisa64r2el \
+	| mipsisa64r6 | mipsisa64r6el \
+	| mipsisa64sb1 | mipsisa64sb1el \
+	| mipsisa64sr71k | mipsisa64sr71kel \
+	| mipsr5900 | mipsr5900el \
+	| mipstx39 | mipstx39el \
+	| mn10200 | mn10300 \
+	| moxie \
+	| mt \
+	| msp430 \
+	| nds32 | nds32le | nds32be \
+	| nios | nios2 | nios2eb | nios2el \
+	| ns16k | ns32k \
+	| open8 | or1k | or1knd | or32 \
+	| pdp10 | pdp11 | pj | pjl \
+	| powerpc | powerpc64 | powerpc64le | powerpcle \
+	| pyramid \
+	| riscv32 | riscv64 \
+	| rl78 | rx \
+	| score \
+	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+	| sh64 | sh64le \
+	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+	| spu \
+	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+	| ubicom32 \
+	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+	| visium \
+	| we32k \
+	| x86 | xc16x | xstormy16 | xtensa \
+	| z8k | z80)
+		basic_machine=$basic_machine-unknown
+		;;
+	c54x)
+		basic_machine=tic54x-unknown
+		;;
+	c55x)
+		basic_machine=tic55x-unknown
+		;;
+	c6x)
+		basic_machine=tic6x-unknown
+		;;
+	leon|leon[3-9])
+		basic_machine=sparc-$basic_machine
+		;;
+	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+		;;
+	ms1)
+		basic_machine=mt-unknown
+		;;
+
+	strongarm | thumb | xscale)
+		basic_machine=arm-unknown
+		;;
+	xgate)
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	xscaleeb)
+		basic_machine=armeb-unknown
+		;;
+
+	xscaleel)
+		basic_machine=armel-unknown
+		;;
+
+	# We use `pc' rather than `unknown'
+	# because (1) that's what they normally are, and
+	# (2) the word "unknown" tends to confuse beginning users.
+	i*86 | x86_64)
+	  basic_machine=$basic_machine-pc
+	  ;;
+	# Object if more than one company name word.
+	*-*-*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+	# Recognize the basic CPU types with company name.
+	580-* \
+	| a29k-* \
+	| aarch64-* | aarch64_be-* \
+	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
+	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+	| avr-* | avr32-* \
+	| be32-* | be64-* \
+	| bfin-* | bs2000-* \
+	| c[123]* | c30-* | [cjt]90-* | c4x-* \
+	| c8051-* | clipper-* | craynv-* | cydra-* \
+	| d10v-* | d30v-* | dlx-* \
+	| elxsi-* \
+	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+	| h8300-* | h8500-* \
+	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+	| hexagon-* \
+	| i*86-* | i860-* | i960-* | ia64-* \
+	| ip2k-* | iq2000-* \
+	| k1om-* \
+	| le32-* | le64-* \
+	| lm32-* \
+	| m32c-* | m32r-* | m32rle-* \
+	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+	| microblaze-* | microblazeel-* \
+	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+	| mips16-* \
+	| mips64-* | mips64el-* \
+	| mips64octeon-* | mips64octeonel-* \
+	| mips64orion-* | mips64orionel-* \
+	| mips64r5900-* | mips64r5900el-* \
+	| mips64vr-* | mips64vrel-* \
+	| mips64vr4100-* | mips64vr4100el-* \
+	| mips64vr4300-* | mips64vr4300el-* \
+	| mips64vr5000-* | mips64vr5000el-* \
+	| mips64vr5900-* | mips64vr5900el-* \
+	| mipsisa32-* | mipsisa32el-* \
+	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa32r6-* | mipsisa32r6el-* \
+	| mipsisa64-* | mipsisa64el-* \
+	| mipsisa64r2-* | mipsisa64r2el-* \
+	| mipsisa64r6-* | mipsisa64r6el-* \
+	| mipsisa64sb1-* | mipsisa64sb1el-* \
+	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+	| mipsr5900-* | mipsr5900el-* \
+	| mipstx39-* | mipstx39el-* \
+	| mmix-* \
+	| mt-* \
+	| msp430-* \
+	| nds32-* | nds32le-* | nds32be-* \
+	| nios-* | nios2-* | nios2eb-* | nios2el-* \
+	| none-* | np1-* | ns16k-* | ns32k-* \
+	| open8-* \
+	| or1k*-* \
+	| orion-* \
+	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+	| pyramid-* \
+	| rl78-* | romp-* | rs6000-* | rx-* \
+	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+	| sparclite-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+	| tahoe-* \
+	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+	| tile*-* \
+	| tron-* \
+	| ubicom32-* \
+	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+	| vax-* \
+	| visium-* \
+	| we32k-* \
+	| x86-* | x86_64-* | xc16x-* | xps100-* \
+	| xstormy16-* | xtensa*-* \
+	| ymp-* \
+	| z8k-* | z80-*)
+		;;
+	# Recognize the basic CPU types without company name, with glob match.
+	xtensa*)
+		basic_machine=$basic_machine-unknown
+		;;
+	# Recognize the various machine names and aliases which stand
+	# for a CPU type and a company and sometimes even an OS.
+	386bsd)
+		basic_machine=i386-unknown
+		os=-bsd
+		;;
+	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+		basic_machine=m68000-att
+		;;
+	3b*)
+		basic_machine=we32k-att
+		;;
+	a29khif)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	abacus)
+		basic_machine=abacus-unknown
+		;;
+	adobe68k)
+		basic_machine=m68010-adobe
+		os=-scout
+		;;
+	alliant | fx80)
+		basic_machine=fx80-alliant
+		;;
+	altos | altos3068)
+		basic_machine=m68k-altos
+		;;
+	am29k)
+		basic_machine=a29k-none
+		os=-bsd
+		;;
+	amd64)
+		basic_machine=x86_64-pc
+		;;
+	amd64-*)
+		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	amdahl)
+		basic_machine=580-amdahl
+		os=-sysv
+		;;
+	amiga | amiga-*)
+		basic_machine=m68k-unknown
+		;;
+	amigaos | amigados)
+		basic_machine=m68k-unknown
+		os=-amigaos
+		;;
+	amigaunix | amix)
+		basic_machine=m68k-unknown
+		os=-sysv4
+		;;
+	apollo68)
+		basic_machine=m68k-apollo
+		os=-sysv
+		;;
+	apollo68bsd)
+		basic_machine=m68k-apollo
+		os=-bsd
+		;;
+	aros)
+		basic_machine=i386-pc
+		os=-aros
+		;;
+	aux)
+		basic_machine=m68k-apple
+		os=-aux
+		;;
+	balance)
+		basic_machine=ns32k-sequent
+		os=-dynix
+		;;
+	blackfin)
+		basic_machine=bfin-unknown
+		os=-linux
+		;;
+	blackfin-*)
+		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
+	bluegene*)
+		basic_machine=powerpc-ibm
+		os=-cnk
+		;;
+	c54x-*)
+		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	c55x-*)
+		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	c6x-*)
+		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	c90)
+		basic_machine=c90-cray
+		os=-unicos
+		;;
+	cegcc)
+		basic_machine=arm-unknown
+		os=-cegcc
+		;;
+	convex-c1)
+		basic_machine=c1-convex
+		os=-bsd
+		;;
+	convex-c2)
+		basic_machine=c2-convex
+		os=-bsd
+		;;
+	convex-c32)
+		basic_machine=c32-convex
+		os=-bsd
+		;;
+	convex-c34)
+		basic_machine=c34-convex
+		os=-bsd
+		;;
+	convex-c38)
+		basic_machine=c38-convex
+		os=-bsd
+		;;
+	cray | j90)
+		basic_machine=j90-cray
+		os=-unicos
+		;;
+	craynv)
+		basic_machine=craynv-cray
+		os=-unicosmp
+		;;
+	cr16 | cr16-*)
+		basic_machine=cr16-unknown
+		os=-elf
+		;;
+	crds | unos)
+		basic_machine=m68k-crds
+		;;
+	crisv32 | crisv32-* | etraxfs*)
+		basic_machine=crisv32-axis
+		;;
+	cris | cris-* | etrax*)
+		basic_machine=cris-axis
+		;;
+	crx)
+		basic_machine=crx-unknown
+		os=-elf
+		;;
+	da30 | da30-*)
+		basic_machine=m68k-da30
+		;;
+	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+		basic_machine=mips-dec
+		;;
+	decsystem10* | dec10*)
+		basic_machine=pdp10-dec
+		os=-tops10
+		;;
+	decsystem20* | dec20*)
+		basic_machine=pdp10-dec
+		os=-tops20
+		;;
+	delta | 3300 | motorola-3300 | motorola-delta \
+	      | 3300-motorola | delta-motorola)
+		basic_machine=m68k-motorola
+		;;
+	delta88)
+		basic_machine=m88k-motorola
+		os=-sysv3
+		;;
+	dicos)
+		basic_machine=i686-pc
+		os=-dicos
+		;;
+	djgpp)
+		basic_machine=i586-pc
+		os=-msdosdjgpp
+		;;
+	dpx20 | dpx20-*)
+		basic_machine=rs6000-bull
+		os=-bosx
+		;;
+	dpx2* | dpx2*-bull)
+		basic_machine=m68k-bull
+		os=-sysv3
+		;;
+	ebmon29k)
+		basic_machine=a29k-amd
+		os=-ebmon
+		;;
+	elxsi)
+		basic_machine=elxsi-elxsi
+		os=-bsd
+		;;
+	encore | umax | mmax)
+		basic_machine=ns32k-encore
+		;;
+	es1800 | OSE68k | ose68k | ose | OSE)
+		basic_machine=m68k-ericsson
+		os=-ose
+		;;
+	fx2800)
+		basic_machine=i860-alliant
+		;;
+	genix)
+		basic_machine=ns32k-ns
+		;;
+	gmicro)
+		basic_machine=tron-gmicro
+		os=-sysv
+		;;
+	go32)
+		basic_machine=i386-pc
+		os=-go32
+		;;
+	h3050r* | hiux*)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	h8300hms)
+		basic_machine=h8300-hitachi
+		os=-hms
+		;;
+	h8300xray)
+		basic_machine=h8300-hitachi
+		os=-xray
+		;;
+	h8500hms)
+		basic_machine=h8500-hitachi
+		os=-hms
+		;;
+	harris)
+		basic_machine=m88k-harris
+		os=-sysv3
+		;;
+	hp300-*)
+		basic_machine=m68k-hp
+		;;
+	hp300bsd)
+		basic_machine=m68k-hp
+		os=-bsd
+		;;
+	hp300hpux)
+		basic_machine=m68k-hp
+		os=-hpux
+		;;
+	hp3k9[0-9][0-9] | hp9[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k2[0-9][0-9] | hp9k31[0-9])
+		basic_machine=m68000-hp
+		;;
+	hp9k3[2-9][0-9])
+		basic_machine=m68k-hp
+		;;
+	hp9k6[0-9][0-9] | hp6[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k7[0-79][0-9] | hp7[0-79][0-9])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k78[0-9] | hp78[0-9])
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][13679] | hp8[0-9][13679])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][0-9] | hp8[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hppa-next)
+		os=-nextstep3
+		;;
+	hppaosf)
+		basic_machine=hppa1.1-hp
+		os=-osf
+		;;
+	hppro)
+		basic_machine=hppa1.1-hp
+		os=-proelf
+		;;
+	i370-ibm* | ibm*)
+		basic_machine=i370-ibm
+		;;
+	i*86v32)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv32
+		;;
+	i*86v4*)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv4
+		;;
+	i*86v)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv
+		;;
+	i*86sol2)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-solaris2
+		;;
+	i386mach)
+		basic_machine=i386-mach
+		os=-mach
+		;;
+	i386-vsta | vsta)
+		basic_machine=i386-unknown
+		os=-vsta
+		;;
+	iris | iris4d)
+		basic_machine=mips-sgi
+		case $os in
+		    -irix*)
+			;;
+		    *)
+			os=-irix4
+			;;
+		esac
+		;;
+	isi68 | isi)
+		basic_machine=m68k-isi
+		os=-sysv
+		;;
+	leon-*|leon[3-9]-*)
+		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+		;;
+	m68knommu)
+		basic_machine=m68k-unknown
+		os=-linux
+		;;
+	m68knommu-*)
+		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
+	m88k-omron*)
+		basic_machine=m88k-omron
+		;;
+	magnum | m3230)
+		basic_machine=mips-mips
+		os=-sysv
+		;;
+	merlin)
+		basic_machine=ns32k-utek
+		os=-sysv
+		;;
+	microblaze*)
+		basic_machine=microblaze-xilinx
+		;;
+	mingw64)
+		basic_machine=x86_64-pc
+		os=-mingw64
+		;;
+	mingw32)
+		basic_machine=i686-pc
+		os=-mingw32
+		;;
+	mingw32ce)
+		basic_machine=arm-unknown
+		os=-mingw32ce
+		;;
+	miniframe)
+		basic_machine=m68000-convergent
+		;;
+	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+	mips3*-*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+		;;
+	mips3*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+		;;
+	monitor)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	morphos)
+		basic_machine=powerpc-unknown
+		os=-morphos
+		;;
+	moxiebox)
+		basic_machine=moxie-unknown
+		os=-moxiebox
+		;;
+	msdos)
+		basic_machine=i386-pc
+		os=-msdos
+		;;
+	ms1-*)
+		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+		;;
+	msys)
+		basic_machine=i686-pc
+		os=-msys
+		;;
+	mvs)
+		basic_machine=i370-ibm
+		os=-mvs
+		;;
+	nacl)
+		basic_machine=le32-unknown
+		os=-nacl
+		;;
+	ncr3000)
+		basic_machine=i486-ncr
+		os=-sysv4
+		;;
+	netbsd386)
+		basic_machine=i386-unknown
+		os=-netbsd
+		;;
+	netwinder)
+		basic_machine=armv4l-rebel
+		os=-linux
+		;;
+	news | news700 | news800 | news900)
+		basic_machine=m68k-sony
+		os=-newsos
+		;;
+	news1000)
+		basic_machine=m68030-sony
+		os=-newsos
+		;;
+	news-3600 | risc-news)
+		basic_machine=mips-sony
+		os=-newsos
+		;;
+	necv70)
+		basic_machine=v70-nec
+		os=-sysv
+		;;
+	next | m*-next )
+		basic_machine=m68k-next
+		case $os in
+		    -nextstep* )
+			;;
+		    -ns2*)
+		      os=-nextstep2
+			;;
+		    *)
+		      os=-nextstep3
+			;;
+		esac
+		;;
+	nh3000)
+		basic_machine=m68k-harris
+		os=-cxux
+		;;
+	nh[45]000)
+		basic_machine=m88k-harris
+		os=-cxux
+		;;
+	nindy960)
+		basic_machine=i960-intel
+		os=-nindy
+		;;
+	mon960)
+		basic_machine=i960-intel
+		os=-mon960
+		;;
+	nonstopux)
+		basic_machine=mips-compaq
+		os=-nonstopux
+		;;
+	np1)
+		basic_machine=np1-gould
+		;;
+	neo-tandem)
+		basic_machine=neo-tandem
+		;;
+	nse-tandem)
+		basic_machine=nse-tandem
+		;;
+	nsr-tandem)
+		basic_machine=nsr-tandem
+		;;
+	op50n-* | op60c-*)
+		basic_machine=hppa1.1-oki
+		os=-proelf
+		;;
+	openrisc | openrisc-*)
+		basic_machine=or32-unknown
+		;;
+	os400)
+		basic_machine=powerpc-ibm
+		os=-os400
+		;;
+	OSE68000 | ose68000)
+		basic_machine=m68000-ericsson
+		os=-ose
+		;;
+	os68k)
+		basic_machine=m68k-none
+		os=-os68k
+		;;
+	pa-hitachi)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	paragon)
+		basic_machine=i860-intel
+		os=-osf
+		;;
+	parisc)
+		basic_machine=hppa-unknown
+		os=-linux
+		;;
+	parisc-*)
+		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
+	pbd)
+		basic_machine=sparc-tti
+		;;
+	pbb)
+		basic_machine=m68k-tti
+		;;
+	pc532 | pc532-*)
+		basic_machine=ns32k-pc532
+		;;
+	pc98)
+		basic_machine=i386-pc
+		;;
+	pc98-*)
+		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentium | p5 | k5 | k6 | nexgen | viac3)
+		basic_machine=i586-pc
+		;;
+	pentiumpro | p6 | 6x86 | athlon | athlon_*)
+		basic_machine=i686-pc
+		;;
+	pentiumii | pentium2 | pentiumiii | pentium3)
+		basic_machine=i686-pc
+		;;
+	pentium4)
+		basic_machine=i786-pc
+		;;
+	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumpro-* | p6-* | 6x86-* | athlon-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentium4-*)
+		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pn)
+		basic_machine=pn-gould
+		;;
+	power)	basic_machine=power-ibm
+		;;
+	ppc | ppcbe)	basic_machine=powerpc-unknown
+		;;
+	ppc-* | ppcbe-*)
+		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppcle | powerpclittle | ppc-le | powerpc-little)
+		basic_machine=powerpcle-unknown
+		;;
+	ppcle-* | powerpclittle-*)
+		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64)	basic_machine=powerpc64-unknown
+		;;
+	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+		basic_machine=powerpc64le-unknown
+		;;
+	ppc64le-* | powerpc64little-*)
+		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ps2)
+		basic_machine=i386-ibm
+		;;
+	pw32)
+		basic_machine=i586-unknown
+		os=-pw32
+		;;
+	rdos | rdos64)
+		basic_machine=x86_64-pc
+		os=-rdos
+		;;
+	rdos32)
+		basic_machine=i386-pc
+		os=-rdos
+		;;
+	rom68k)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	rm[46]00)
+		basic_machine=mips-siemens
+		;;
+	rtpc | rtpc-*)
+		basic_machine=romp-ibm
+		;;
+	s390 | s390-*)
+		basic_machine=s390-ibm
+		;;
+	s390x | s390x-*)
+		basic_machine=s390x-ibm
+		;;
+	sa29200)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	sb1)
+		basic_machine=mipsisa64sb1-unknown
+		;;
+	sb1el)
+		basic_machine=mipsisa64sb1el-unknown
+		;;
+	sde)
+		basic_machine=mipsisa32-sde
+		os=-elf
+		;;
+	sei)
+		basic_machine=mips-sei
+		os=-seiux
+		;;
+	sequent)
+		basic_machine=i386-sequent
+		;;
+	sh)
+		basic_machine=sh-hitachi
+		os=-hms
+		;;
+	sh5el)
+		basic_machine=sh5le-unknown
+		;;
+	sh64)
+		basic_machine=sh64-unknown
+		;;
+	sparclite-wrs | simso-wrs)
+		basic_machine=sparclite-wrs
+		os=-vxworks
+		;;
+	sps7)
+		basic_machine=m68k-bull
+		os=-sysv2
+		;;
+	spur)
+		basic_machine=spur-unknown
+		;;
+	st2000)
+		basic_machine=m68k-tandem
+		;;
+	stratus)
+		basic_machine=i860-stratus
+		os=-sysv4
+		;;
+	strongarm-* | thumb-*)
+		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	sun2)
+		basic_machine=m68000-sun
+		;;
+	sun2os3)
+		basic_machine=m68000-sun
+		os=-sunos3
+		;;
+	sun2os4)
+		basic_machine=m68000-sun
+		os=-sunos4
+		;;
+	sun3os3)
+		basic_machine=m68k-sun
+		os=-sunos3
+		;;
+	sun3os4)
+		basic_machine=m68k-sun
+		os=-sunos4
+		;;
+	sun4os3)
+		basic_machine=sparc-sun
+		os=-sunos3
+		;;
+	sun4os4)
+		basic_machine=sparc-sun
+		os=-sunos4
+		;;
+	sun4sol2)
+		basic_machine=sparc-sun
+		os=-solaris2
+		;;
+	sun3 | sun3-*)
+		basic_machine=m68k-sun
+		;;
+	sun4)
+		basic_machine=sparc-sun
+		;;
+	sun386 | sun386i | roadrunner)
+		basic_machine=i386-sun
+		;;
+	sv1)
+		basic_machine=sv1-cray
+		os=-unicos
+		;;
+	symmetry)
+		basic_machine=i386-sequent
+		os=-dynix
+		;;
+	t3e)
+		basic_machine=alphaev5-cray
+		os=-unicos
+		;;
+	t90)
+		basic_machine=t90-cray
+		os=-unicos
+		;;
+	tile*)
+		basic_machine=$basic_machine-unknown
+		os=-linux-gnu
+		;;
+	tx39)
+		basic_machine=mipstx39-unknown
+		;;
+	tx39el)
+		basic_machine=mipstx39el-unknown
+		;;
+	toad1)
+		basic_machine=pdp10-xkl
+		os=-tops20
+		;;
+	tower | tower-32)
+		basic_machine=m68k-ncr
+		;;
+	tpf)
+		basic_machine=s390x-ibm
+		os=-tpf
+		;;
+	udi29k)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	ultra3)
+		basic_machine=a29k-nyu
+		os=-sym1
+		;;
+	v810 | necv810)
+		basic_machine=v810-nec
+		os=-none
+		;;
+	vaxv)
+		basic_machine=vax-dec
+		os=-sysv
+		;;
+	vms)
+		basic_machine=vax-dec
+		os=-vms
+		;;
+	vpp*|vx|vx-*)
+		basic_machine=f301-fujitsu
+		;;
+	vxworks960)
+		basic_machine=i960-wrs
+		os=-vxworks
+		;;
+	vxworks68)
+		basic_machine=m68k-wrs
+		os=-vxworks
+		;;
+	vxworks29k)
+		basic_machine=a29k-wrs
+		os=-vxworks
+		;;
+	w65*)
+		basic_machine=w65-wdc
+		os=-none
+		;;
+	w89k-*)
+		basic_machine=hppa1.1-winbond
+		os=-proelf
+		;;
+	xbox)
+		basic_machine=i686-pc
+		os=-mingw32
+		;;
+	xps | xps100)
+		basic_machine=xps100-honeywell
+		;;
+	xscale-* | xscalee[bl]-*)
+		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+		;;
+	ymp)
+		basic_machine=ymp-cray
+		os=-unicos
+		;;
+	z8k-*-coff)
+		basic_machine=z8k-unknown
+		os=-sim
+		;;
+	z80-*-coff)
+		basic_machine=z80-unknown
+		os=-sim
+		;;
+	none)
+		basic_machine=none-none
+		os=-none
+		;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+	w89k)
+		basic_machine=hppa1.1-winbond
+		;;
+	op50n)
+		basic_machine=hppa1.1-oki
+		;;
+	op60c)
+		basic_machine=hppa1.1-oki
+		;;
+	romp)
+		basic_machine=romp-ibm
+		;;
+	mmix)
+		basic_machine=mmix-knuth
+		;;
+	rs6000)
+		basic_machine=rs6000-ibm
+		;;
+	vax)
+		basic_machine=vax-dec
+		;;
+	pdp10)
+		# there are many clones, so DEC is not a safe bet
+		basic_machine=pdp10-unknown
+		;;
+	pdp11)
+		basic_machine=pdp11-dec
+		;;
+	we32k)
+		basic_machine=we32k-att
+		;;
+	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+		basic_machine=sh-unknown
+		;;
+	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+		basic_machine=sparc-sun
+		;;
+	cydra)
+		basic_machine=cydra-cydrome
+		;;
+	orion)
+		basic_machine=orion-highlevel
+		;;
+	orion105)
+		basic_machine=clipper-highlevel
+		;;
+	mac | mpw | mac-mpw)
+		basic_machine=m68k-apple
+		;;
+	pmac | pmac-mpw)
+		basic_machine=powerpc-apple
+		;;
+	*-unknown)
+		# Make sure to match an already-canonicalized machine name.
+		;;
+	*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+	*-digital*)
+		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+		;;
+	*-commodore*)
+		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+		;;
+	*)
+		;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+	# First match some system type aliases
+	# that might get confused with valid system types.
+	# -solaris* is a basic system type, with this one exception.
+	-auroraux)
+		os=-auroraux
+		;;
+	-solaris1 | -solaris1.*)
+		os=`echo $os | sed -e 's|solaris1|sunos4|'`
+		;;
+	-solaris)
+		os=-solaris2
+		;;
+	-svr4*)
+		os=-sysv4
+		;;
+	-unixware*)
+		os=-sysv4.2uw
+		;;
+	-gnu/linux*)
+		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+		;;
+	# First accept the basic system types.
+	# The portable systems comes first.
+	# Each alternative MUST END IN A *, to match a version number.
+	# -sysv* is not here because it comes later, after sysvr4.
+	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+	      | -sym* | -kopensolaris* | -plan9* \
+	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+	      | -aos* | -aros* \
+	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+	      | -bitrig* | -openbsd* | -solidbsd* \
+	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+	      | -chorusos* | -chorusrdb* | -cegcc* \
+	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
+	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
+	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
+	# Remember, each alternative MUST END IN *, to match a version number.
+		;;
+	-qnx*)
+		case $basic_machine in
+		    x86-* | i*86-*)
+			;;
+		    *)
+			os=-nto$os
+			;;
+		esac
+		;;
+	-nto-qnx*)
+		;;
+	-nto*)
+		os=`echo $os | sed -e 's|nto|nto-qnx|'`
+		;;
+	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+		;;
+	-mac*)
+		os=`echo $os | sed -e 's|mac|macos|'`
+		;;
+	-linux-dietlibc)
+		os=-linux-dietlibc
+		;;
+	-linux*)
+		os=`echo $os | sed -e 's|linux|linux-gnu|'`
+		;;
+	-sunos5*)
+		os=`echo $os | sed -e 's|sunos5|solaris2|'`
+		;;
+	-sunos6*)
+		os=`echo $os | sed -e 's|sunos6|solaris3|'`
+		;;
+	-opened*)
+		os=-openedition
+		;;
+	-os400*)
+		os=-os400
+		;;
+	-wince*)
+		os=-wince
+		;;
+	-osfrose*)
+		os=-osfrose
+		;;
+	-osf*)
+		os=-osf
+		;;
+	-utek*)
+		os=-bsd
+		;;
+	-dynix*)
+		os=-bsd
+		;;
+	-acis*)
+		os=-aos
+		;;
+	-atheos*)
+		os=-atheos
+		;;
+	-syllable*)
+		os=-syllable
+		;;
+	-386bsd)
+		os=-bsd
+		;;
+	-ctix* | -uts*)
+		os=-sysv
+		;;
+	-nova*)
+		os=-rtmk-nova
+		;;
+	-ns2 )
+		os=-nextstep2
+		;;
+	-nsk*)
+		os=-nsk
+		;;
+	# Preserve the version number of sinix5.
+	-sinix5.*)
+		os=`echo $os | sed -e 's|sinix|sysv|'`
+		;;
+	-sinix*)
+		os=-sysv4
+		;;
+	-tpf*)
+		os=-tpf
+		;;
+	-triton*)
+		os=-sysv3
+		;;
+	-oss*)
+		os=-sysv3
+		;;
+	-svr4)
+		os=-sysv4
+		;;
+	-svr3)
+		os=-sysv3
+		;;
+	-sysvr4)
+		os=-sysv4
+		;;
+	# This must come after -sysvr4.
+	-sysv*)
+		;;
+	-ose*)
+		os=-ose
+		;;
+	-es1800*)
+		os=-ose
+		;;
+	-xenix)
+		os=-xenix
+		;;
+	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+		os=-mint
+		;;
+	-aros*)
+		os=-aros
+		;;
+	-zvmoe)
+		os=-zvmoe
+		;;
+	-dicos*)
+		os=-dicos
+		;;
+	-nacl*)
+		;;
+	-none)
+		;;
+	*)
+		# Get rid of the `-' at the beginning of $os.
+		os=`echo $os | sed 's/[^-]*-//'`
+		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+		exit 1
+		;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+	score-*)
+		os=-elf
+		;;
+	spu-*)
+		os=-elf
+		;;
+	*-acorn)
+		os=-riscix1.2
+		;;
+	arm*-rebel)
+		os=-linux
+		;;
+	arm*-semi)
+		os=-aout
+		;;
+	c4x-* | tic4x-*)
+		os=-coff
+		;;
+	c8051-*)
+		os=-elf
+		;;
+	hexagon-*)
+		os=-elf
+		;;
+	tic54x-*)
+		os=-coff
+		;;
+	tic55x-*)
+		os=-coff
+		;;
+	tic6x-*)
+		os=-coff
+		;;
+	# This must come before the *-dec entry.
+	pdp10-*)
+		os=-tops20
+		;;
+	pdp11-*)
+		os=-none
+		;;
+	*-dec | vax-*)
+		os=-ultrix4.2
+		;;
+	m68*-apollo)
+		os=-domain
+		;;
+	i386-sun)
+		os=-sunos4.0.2
+		;;
+	m68000-sun)
+		os=-sunos3
+		;;
+	m68*-cisco)
+		os=-aout
+		;;
+	mep-*)
+		os=-elf
+		;;
+	mips*-cisco)
+		os=-elf
+		;;
+	mips*-*)
+		os=-elf
+		;;
+	or32-*)
+		os=-coff
+		;;
+	*-tti)	# must be before sparc entry or we get the wrong os.
+		os=-sysv3
+		;;
+	sparc-* | *-sun)
+		os=-sunos4.1.1
+		;;
+	*-be)
+		os=-beos
+		;;
+	*-haiku)
+		os=-haiku
+		;;
+	*-ibm)
+		os=-aix
+		;;
+	*-knuth)
+		os=-mmixware
+		;;
+	*-wec)
+		os=-proelf
+		;;
+	*-winbond)
+		os=-proelf
+		;;
+	*-oki)
+		os=-proelf
+		;;
+	*-hp)
+		os=-hpux
+		;;
+	*-hitachi)
+		os=-hiux
+		;;
+	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+		os=-sysv
+		;;
+	*-cbm)
+		os=-amigaos
+		;;
+	*-dg)
+		os=-dgux
+		;;
+	*-dolphin)
+		os=-sysv3
+		;;
+	m68k-ccur)
+		os=-rtu
+		;;
+	m88k-omron*)
+		os=-luna
+		;;
+	*-next )
+		os=-nextstep
+		;;
+	*-sequent)
+		os=-ptx
+		;;
+	*-crds)
+		os=-unos
+		;;
+	*-ns)
+		os=-genix
+		;;
+	i370-*)
+		os=-mvs
+		;;
+	*-next)
+		os=-nextstep3
+		;;
+	*-gould)
+		os=-sysv
+		;;
+	*-highlevel)
+		os=-bsd
+		;;
+	*-encore)
+		os=-bsd
+		;;
+	*-sgi)
+		os=-irix
+		;;
+	*-siemens)
+		os=-sysv4
+		;;
+	*-masscomp)
+		os=-rtu
+		;;
+	f30[01]-fujitsu | f700-fujitsu)
+		os=-uxpv
+		;;
+	*-rom68k)
+		os=-coff
+		;;
+	*-*bug)
+		os=-coff
+		;;
+	*-apple)
+		os=-macos
+		;;
+	*-atari*)
+		os=-mint
+		;;
+	*)
+		os=-none
+		;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+	*-unknown)
+		case $os in
+			-riscix*)
+				vendor=acorn
+				;;
+			-sunos*)
+				vendor=sun
+				;;
+			-cnk*|-aix*)
+				vendor=ibm
+				;;
+			-beos*)
+				vendor=be
+				;;
+			-hpux*)
+				vendor=hp
+				;;
+			-mpeix*)
+				vendor=hp
+				;;
+			-hiux*)
+				vendor=hitachi
+				;;
+			-unos*)
+				vendor=crds
+				;;
+			-dgux*)
+				vendor=dg
+				;;
+			-luna*)
+				vendor=omron
+				;;
+			-genix*)
+				vendor=ns
+				;;
+			-mvs* | -opened*)
+				vendor=ibm
+				;;
+			-os400*)
+				vendor=ibm
+				;;
+			-ptx*)
+				vendor=sequent
+				;;
+			-tpf*)
+				vendor=ibm
+				;;
+			-vxsim* | -vxworks* | -windiss*)
+				vendor=wrs
+				;;
+			-aux*)
+				vendor=apple
+				;;
+			-hms*)
+				vendor=hitachi
+				;;
+			-mpw* | -macos*)
+				vendor=apple
+				;;
+			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+				vendor=atari
+				;;
+			-vos*)
+				vendor=stratus
+				;;
+		esac
+		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+		;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/configure	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,22938 @@
+#! /bin/sh
+# From configure.in Revision: 1.35 .
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.69 for GEMBASSY 1.0.3.
+#
+# Report bugs to <celery@g-language.org>.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+	expr "X$arg" : "X\\(.*\\)$as_nl";
+	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
+if test "x$CONFIG_SHELL" = x; then
+  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+"
+  as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+  exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
+  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+
+  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
+    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+    PATH=/empty FPATH=/empty; export PATH FPATH
+    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
+      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+  if (eval "$as_required") 2>/dev/null; then :
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  as_found=:
+  case $as_dir in #(
+	 /*)
+	   for as_base in sh bash ksh sh5; do
+	     # Try only shells that exist, to save several forks.
+	     as_shell=$as_dir/$as_base
+	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  CONFIG_SHELL=$as_shell as_have_required=yes
+		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  break 2
+fi
+fi
+	   done;;
+       esac
+  as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+  CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+      if test "x$CONFIG_SHELL" != x; then :
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+fi
+
+    if test x$as_have_required = xno; then :
+  $as_echo "$0: This script requires a shell more modern than all"
+  $as_echo "$0: the shells that I found on your system."
+  if test x${ZSH_VERSION+set} = xset ; then
+    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+  else
+    $as_echo "$0: Please tell bug-autoconf@gnu.org and
+$0: celery@g-language.org about your system, including any
+$0: error possibly output before this message. Then install
+$0: a modern shell, or manually run the script under such a
+$0: shell if you do have one."
+  fi
+  exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -pR'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -pR'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -pR'
+  fi
+else
+  as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='GEMBASSY'
+PACKAGE_TARNAME='GEMBASSY'
+PACKAGE_VERSION='1.0.3'
+PACKAGE_STRING='GEMBASSY 1.0.3'
+PACKAGE_BUGREPORT='celery@g-language.org'
+PACKAGE_URL='http://www.g-language.org/gembassy/'
+
+ac_unique_file="src/ggcskew.c"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
+LIBOBJS
+NEEDAJAX_FALSE
+NEEDAJAX_TRUE
+ISSHARED_FALSE
+ISSHARED_TRUE
+ISAIXIA64_FALSE
+ISAIXIA64_TRUE
+ISCYGWIN_FALSE
+ISCYGWIN_TRUE
+PURIFY_FALSE
+PURIFY_TRUE
+ESYSTEMLIBS_FALSE
+ESYSTEMLIBS_TRUE
+embprefix
+LOCALLINK_FALSE
+LOCALLINK_TRUE
+POSIX_MALLOC_THRESHOLD
+PCRE_POSIXLIB_VERSION
+PCRE_LIB_VERSION
+PCRE_VERSION
+PCRE_DATE
+PCRE_MINOR
+PCRE_MAJOR
+HAVE_STRERROR
+HAVE_MEMMOVE
+POSTGRESQL_VERSION
+POSTGRESQL_LDFLAGS
+POSTGRESQL_CPPFLAGS
+POSTGRESQL_CFLAGS
+POSTGRESQL_CONFIG
+MYSQL_VERSION
+MYSQL_LDFLAGS
+MYSQL_CPPFLAGS
+MYSQL_CFLAGS
+MYSQL_CONFIG
+JAVA_BUILD_FALSE
+JAVA_BUILD_TRUE
+JAVA_LDFLAGS
+JAVA_CPPFLAGS
+JAVA_CFLAGS
+JAVAC
+JAVA
+JAR
+ANT
+AMPDF_FALSE
+AMPDF_TRUE
+AMPNG_FALSE
+AMPNG_TRUE
+XLIB
+X_EXTRA_LIBS
+X_LIBS
+X_PRE_LIBS
+X_CFLAGS
+XMKMF
+DEVWARN_CFLAGS
+WARN_CFLAGS
+CXXCPP
+LT_SYS_LIBRARY_PATH
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+MANIFEST_TOOL
+RANLIB
+ac_ct_AR
+AR
+DLLTOOL
+OBJDUMP
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+EGREP
+GREP
+SED
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+LIBTOOL
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
+am__fastdepCXX_FALSE
+am__fastdepCXX_TRUE
+CXXDEPMODE
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+am__nodep
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+mkdir_p
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+MKDIR_P
+SET_MAKE
+LN_S
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+CPP
+ac_ct_CXX
+CXXFLAGS
+CXX
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+AWK
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_dependency_tracking
+enable_silent_rules
+enable_shared
+enable_static
+with_pic
+enable_fast_install
+with_aix_soname
+with_gnu_ld
+with_sysroot
+enable_libtool_lock
+enable_64
+with_optimisation
+enable_warnings
+enable_devwarnings
+enable_devextrawarnings
+enable_buildbookdeprecated
+enable_buildalldeprecated
+with_sgiabi
+with_x
+with_docroot
+with_gccprofile
+with_java
+with_javaos
+with_auth
+with_thread
+with_hpdf
+with_pngdriver
+with_mysql
+with_postgresql
+enable_localforce
+enable_debug
+enable_large
+enable_systemlibs
+enable_purify
+enable_mcheck
+enable_savestats
+'
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CXX
+CXXFLAGS
+CCC
+CPP
+LT_SYS_LIBRARY_PATH
+CXXCPP
+XMKMF
+ANT
+JAR
+JAVA
+JAVAC'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval $ac_prev=\$ac_option
+    ac_prev=
+    continue
+  fi
+
+  case $ac_option in
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
+    datadir=$ac_optarg ;;
+
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=no ;;
+
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
+
+  -enable-* | --enable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=\$ac_optarg ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst | --locals)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=\$ac_optarg ;;
+
+  -without-* | --without-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=no ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    case $ac_envvar in #(
+      '' | [0-9]* | *[!_$as_cr_alnum]* )
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+    esac
+    eval $ac_envvar=\$ac_optarg
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  as_fn_error $? "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+  case $enable_option_checking in
+    no) ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+  esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
+		datadir sysconfdir sharedstatedir localstatedir includedir \
+		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+		libdir localedir mandir
+do
+  eval ac_val=\$$ac_var
+  # Remove trailing slashes.
+  case $ac_val in
+    */ )
+      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+      eval $ac_var=\$ac_val;;
+  esac
+  # Be sure to have absolute directory names.
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+  esac
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  as_fn_error $? "pwd does not report name of working directory"
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_myself" : 'X\(//\)[^/]' \| \
+	 X"$as_myself" : 'X\(//\)$' \| \
+	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r "$srcdir/$ac_unique_file"; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+	pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+  # Omit some internal or obsolete options to make the list less imposing.
+  # This message is too long to be a string in the A/UX 3.1 sh.
+  cat <<_ACEOF
+\`configure' configures GEMBASSY 1.0.3 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking ...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR            user executables [EPREFIX/bin]
+  --sbindir=DIR           system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR        program executables [EPREFIX/libexec]
+  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --libdir=DIR            object code libraries [EPREFIX/lib]
+  --includedir=DIR        C header files [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
+  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR           info documentation [DATAROOTDIR/info]
+  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR            man documentation [DATAROOTDIR/man]
+  --docdir=DIR            documentation root [DATAROOTDIR/doc/GEMBASSY]
+  --htmldir=DIR           html documentation [DOCDIR]
+  --dvidir=DIR            dvi documentation [DOCDIR]
+  --pdfdir=DIR            pdf documentation [DOCDIR]
+  --psdir=DIR             ps documentation [DOCDIR]
+_ACEOF
+
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+
+X features:
+  --x-includes=DIR    X include files are in DIR
+  --x-libraries=DIR   X library files are in DIR
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of GEMBASSY 1.0.3:";;
+   esac
+  cat <<\_ACEOF
+
+Optional Features:
+  --disable-option-checking  ignore unrecognized --enable/--with options
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-dependency-tracking
+                          do not reject slow dependency extractors
+  --disable-dependency-tracking
+                          speeds up one-time build
+  --enable-silent-rules   less verbose build output (undo: "make V=1")
+  --disable-silent-rules  verbose build output (undo: "make V=0")
+  --enable-shared[=PKGS]  build shared libraries [default=yes]
+  --enable-static[=PKGS]  build static libraries [default=yes]
+  --enable-fast-install[=PKGS]
+                          optimize for fast installation [default=yes]
+  --disable-libtool-lock  avoid locking (might break parallel builds)
+  --enable-64             64 bit pointers on 32 bit machines
+  --enable-warnings       compiler warnings
+  --enable-devwarnings    strict compiler warnings for developers
+  --enable-devextrawarnings
+                          add extra warnings to devwarnings
+  --enable-buildbookdeprecated
+                          build deprecated functions used in books for 6.2.0
+  --enable-buildalldeprecated
+                          build all deprecated functions
+  --enable-localforce     force compile/link against /usr/local
+  --enable-debug          debug (-g option on compiler)
+  --enable-large          over 2Gb file support [default=yes]
+  --enable-systemlibs     utility for RPM/dpkg bundles
+  --enable-purify         purify
+  --enable-mcheck         mcheck and mprobe memory allocation test
+  --enable-savestats      save AJAX statistics and print with debug output
+
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
+                          both]
+  --with-aix-soname=aix|svr4|both
+                          shared library versioning (aka "SONAME") variant to
+                          provide on AIX, [default=aix].
+  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
+  --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
+                          compiler's sysroot if not specified).
+  --without-optimisation  Disable compiler optimisation
+  --with-sgiabi=[ARG]     SGI compiler flags [default=no]
+  --with-x                use the X Window System
+  --with-docroot=DIR      root directory path of documentation (defaults to
+                          none)
+  --with-gccprofile       selects profiling
+  --with-java[=ARG]       root directory path of Java installation
+  --with-javaos[=ARG]     root directory path of Java OS include
+  --with-auth[=ARG]       authorisation mechanism for Jemboss server
+                          [default=PAM]
+  --with-thread[=ARG]     thread type [default=linux]
+  --with-hpdf=DIR         root directory path of hpdf installation [defaults
+                          to /usr]
+  --with-pngdriver=[DIR]  root directory path of png/gd/zlib installation
+                          (defaults to /usr)
+  --with-mysql[=ARG]      use MySQL client library [default=yes], optionally
+                          specify path to mysql_config
+  --with-postgresql@<:=@ARG]
+                          use PostgreSQL library [default=yes], optionally
+                          specify path to pg_config
+
+Some influential environment variables:
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  LIBS        libraries to pass to the linker, e.g. -l<library>
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+              you have headers in a nonstandard directory <include dir>
+  CXX         C++ compiler command
+  CXXFLAGS    C++ compiler flags
+  CPP         C preprocessor
+  LT_SYS_LIBRARY_PATH
+              User-defined run-time library search path.
+  CXXCPP      C++ preprocessor
+  XMKMF       Path to xmkmf, Makefile generator for X Window System
+  ANT         Path to the Apache Ant make tool
+  JAR         Path to the Java archive tool
+  JAVA        Path to the Java application launcher
+  JAVAC       Path to the Java compiler
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to <celery@g-language.org>.
+GEMBASSY home page: <http://www.g-language.org/gembassy/>.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d "$ac_dir" ||
+      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+      continue
+    ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
+    else
+      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
+  done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+  cat <<\_ACEOF
+GEMBASSY configure 1.0.3
+generated by GNU Autoconf 2.69
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_cxx_try_compile LINENO
+# ----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_compile
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } > conftest.i && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+    ac_retval=1
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+	 test "$cross_compiling" = yes ||
+	 test -x conftest$ac_exeext
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+       $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=$ac_status
+fi
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $2 (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_func
+
+# ac_fn_cxx_try_cpp LINENO
+# ------------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_cpp ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } > conftest.i && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+    ac_retval=1
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_cpp
+
+# ac_fn_cxx_try_link LINENO
+# -------------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+	 test "$cross_compiling" = yes ||
+	 test -x conftest$ac_exeext
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_link
+
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if eval \${$3+:} false; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_header_compiler=yes
+else
+  ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  ac_header_preproc=yes
+else
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+  yes:no: )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+( $as_echo "## ------------------------------------ ##
+## Report this to celery@g-language.org ##
+## ------------------------------------ ##"
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_mongrel
+
+# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
+# -------------------------------------------
+# Tests whether TYPE exists after having included INCLUDES, setting cache
+# variable VAR accordingly.
+ac_fn_c_check_type ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=no"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+if (sizeof ($2))
+	 return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+if (sizeof (($2)))
+	    return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  eval "$3=yes"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_type
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by GEMBASSY $as_me 1.0.3, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    $as_echo "PATH: $as_dir"
+  done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *\'*)
+      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+    2)
+      as_fn_append ac_configure_args1 " '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      as_fn_append ac_configure_args " '$ac_arg'"
+      ;;
+    esac
+  done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+  (set) 2>&1 |
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      sed -n \
+	"s/'\''/'\''\\\\'\'''\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
+    *)
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+)
+    echo
+
+    $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      $as_echo "$ac_var='\''$ac_val'\''"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=\$$ac_var
+	case $ac_val in
+	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+	esac
+	$as_echo "$ac_var='\''$ac_val'\''"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+      echo
+      cat confdefs.h
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      $as_echo "$as_me: caught signal $ac_signal"
+    $as_echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
+elif test "x$prefix" != xNONE; then
+  ac_site_file1=$prefix/share/config.site
+  ac_site_file2=$prefix/etc/config.site
+else
+  ac_site_file1=$ac_default_prefix/share/config.site
+  ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+  test "x$ac_site_file" = xNONE && continue
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
+    esac
+  fi
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	# differences in whitespace do not lead to failure.
+	ac_old_val_w=`echo x $ac_old_val`
+	ac_new_val_w=`echo x $ac_new_val`
+	if test "$ac_old_val_w" != "$ac_new_val_w"; then
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	  ac_cache_corrupted=:
+	else
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+	  eval $ac_var=\$ac_old_val
+	fi
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
+$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
+$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+ac_config_headers="$ac_config_headers src/config.h"
+
+
+
+# Make sure CFLAGS is defined to stop AC_PROG_CC adding -g.
+CFLAGS="${CFLAGS} "
+
+# Checks for programs.
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AWK+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AWK="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$AWK" && break
+done
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  for ac_prog in icc gcc cc
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in icc gcc cc
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CC" && break
+done
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link_default") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+	;;
+    [ab].out )
+	# We found the default executable, but exeext='' is most
+	# certainly right.
+	break;;
+    *.* )
+	if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+	then :; else
+	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	fi
+	# We set ac_cv_exeext here because the later test for it is not
+	# safe: cross compilers may not add the suffix if given an `-o'
+	# argument, so we may need to know it at that point already.
+	# Even if this section looks crufty: it has the advantage of
+	# actually working.
+	break;;
+    * )
+	break;;
+  esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+  ac_file=''
+fi
+if test -z "$ac_file"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	  break;;
+    * ) break;;
+  esac
+done
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if ${ac_cv_objext+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if ${ac_cv_c_compiler_gnu+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
+else
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GCC=yes
+else
+  GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+else
+  CFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  ac_c_werror_flag=$ac_save_c_werror_flag
+	 CFLAGS="-g"
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if ${ac_cv_prog_cc_c89+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
+
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+  if test -n "$CCC"; then
+    CXX=$CCC
+  else
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in icpc g++
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CXX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$CXX" && break
+  done
+fi
+if test -z "$CXX"; then
+  ac_ct_CXX=$CXX
+  for ac_prog in icpc g++
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CXX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CXX"; then
+  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CXX="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CXX" && break
+done
+
+  if test "x$ac_ct_CXX" = x; then
+    CXX="g++"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CXX=$ac_ct_CXX
+  fi
+fi
+
+  fi
+fi
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
+if ${ac_cv_cxx_compiler_gnu+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
+else
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GXX=yes
+else
+  GXX=
+fi
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
+if ${ac_cv_prog_cxx_g+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+   ac_cxx_werror_flag=yes
+   ac_cv_prog_cxx_g=no
+   CXXFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_cv_prog_cxx_g=yes
+else
+  CXXFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+else
+  ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+	 CXXFLAGS="-g"
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_cv_prog_cxx_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+  CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+  if test "$GXX" = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-g"
+  fi
+else
+  if test "$GXX" = yes; then
+    CXXFLAGS="-O2"
+  else
+    CXXFLAGS=
+  fi
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if ${ac_cv_prog_CPP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
+fi
+
+    done
+    ac_cv_prog_CPP=$CPP
+
+fi
+  CPP=$ac_cv_prog_CPP
+else
+  ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if ${ac_cv_path_install+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+  ./ | .// | /[cC]/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    rm -rf conftest.one conftest.two conftest.dir
+	    echo one > conftest.one
+	    echo two > conftest.two
+	    mkdir conftest.dir
+	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+	      test -s conftest.one && test -s conftest.two &&
+	      test -s conftest.dir/conftest.one &&
+	      test -s conftest.dir/conftest.two
+	    then
+	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	      break 3
+	    fi
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+
+  done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    INSTALL=$ac_install_sh
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+	@echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  SET_MAKE=
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+  if ${ac_cv_path_mkdir+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in mkdir gmkdir; do
+	 for ac_exec_ext in '' $ac_executable_extensions; do
+	   as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
+	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+	     'mkdir (GNU coreutils) '* | \
+	     'mkdir (coreutils) '* | \
+	     'mkdir (fileutils) '4.1*)
+	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+	       break 3;;
+	   esac
+	 done
+       done
+  done
+IFS=$as_save_IFS
+
+fi
+
+  test -d ./--version && rmdir ./--version
+  if test "${ac_cv_path_mkdir+set}" = set; then
+    MKDIR_P="$ac_cv_path_mkdir -p"
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for MKDIR_P within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    MKDIR_P="$ac_install_sh -d"
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+
+am__api_version='1.15'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[\\\"\#\$\&\'\`$am_lf]*)
+    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+  *[\\\"\#\$\&\'\`$am_lf\ \	]*)
+    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
+esac
+
+# Do 'set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$*" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$*" != "X $srcdir/configure conftest.file" \
+	&& test "$*" != "X conftest.file $srcdir/configure"; then
+
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment" "$LINENO" 5
+     fi
+     if test "$2" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
+test "$program_prefix" != NONE &&
+  program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
+else
+  am_missing_run=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the 'STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+  enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+  am__nodep='_no'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+  AMDEP_TRUE=
+  AMDEP_FALSE='#'
+else
+  AMDEP_TRUE='#'
+  AMDEP_FALSE=
+fi
+
+
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+  enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+    AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  am__isrc=' -I$(srcdir)'
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='GEMBASSY'
+ VERSION='1.0.3'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
+# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
+
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar  pax cpio none'
+
+am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+
+
+
+
+
+depcc="$CC"   am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+  case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+      # This compiler won't grok '-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+  am__fastdepCC_TRUE=
+  am__fastdepCC_FALSE='#'
+else
+  am__fastdepCC_TRUE='#'
+  am__fastdepCC_FALSE=
+fi
+
+
+depcc="$CXX"  am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CXX_dependencies_compiler_type+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CXX_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+  case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+      # This compiler won't grok '-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CXX_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CXX_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+  am__fastdepCXX_TRUE=
+  am__fastdepCXX_FALSE='#'
+else
+  am__fastdepCXX_TRUE='#'
+  am__fastdepCXX_FALSE=
+fi
+
+
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+  fi
+fi
+
+
+# Use libtool to make a shared library.
+case `pwd` in
+  *\ * | *\	*)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
+
+
+
+macro_version='2.4.5'
+macro_revision='2.4.5'
+
+
+
+
+
+
+
+
+
+
+
+
+
+ltmain=$ac_aux_dir/ltmain.sh
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+$as_echo_n "checking how to print strings... " >&6; }
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='printf %s\n'
+else
+  # Use this function as a fallback that always works.
+  func_fallback_echo ()
+  {
+    eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+  }
+  ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO ""
+}
+
+case $ECHO in
+  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
+$as_echo "printf" >&6; } ;;
+  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
+$as_echo "print -r" >&6; } ;;
+  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
+$as_echo "cat" >&6; } ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if ${ac_cv_path_SED+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+     for ac_i in 1 2 3 4 5 6 7; do
+       ac_script="$ac_script$as_nl$ac_script"
+     done
+     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+     { ac_script=; unset ac_script;}
+     if test -z "$SED"; then
+  ac_path_SED_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_SED" || continue
+# Check for GNU ac_path_SED and select it if it is found.
+  # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo '' >> "conftest.nl"
+    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_SED_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_SED="$ac_path_SED"
+      ac_path_SED_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_SED_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_SED"; then
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+  fi
+else
+  ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+  rm -f conftest.sed
+
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$GREP"; then
+  ac_path_GREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in grep ggrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_GREP" || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_GREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_GREP"; then
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     if test -z "$EGREP"; then
+  ac_path_EGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in egrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_EGREP" || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_EGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_EGREP"; then
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_EGREP=$EGREP
+fi
+
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if ${ac_cv_path_FGREP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+   then ac_cv_path_FGREP="$GREP -F"
+   else
+     if test -z "$FGREP"; then
+  ac_path_FGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in fgrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_FGREP" || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+  # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'FGREP' >> "conftest.nl"
+    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_FGREP="$ac_path_FGREP"
+      ac_path_FGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_FGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_FGREP"; then
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_FGREP=$FGREP
+fi
+
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
+
+
+test -z "$GREP" && GREP=grep
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+  withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test yes = "$GCC"; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return, which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD=$ac_prog
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test yes = "$with_gnu_ld"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if ${lt_cv_path_LD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$LD"; then
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS=$lt_save_ifs
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD=$ac_dir/$ac_prog
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test no != "$with_gnu_ld" && break
+	;;
+      *)
+	test yes != "$with_gnu_ld" && break
+	;;
+      esac
+    fi
+  done
+  IFS=$lt_save_ifs
+else
+  lt_cv_path_LD=$LD # Let the user override the test with a path.
+fi
+fi
+
+LD=$lt_cv_path_LD
+if test -n "$LD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if ${lt_cv_prog_gnu_ld+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if ${lt_cv_path_NM+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM=$NM
+else
+  lt_nm_to_check=${ac_tool_prefix}nm
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS=$lt_save_ifs
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm=$ac_dir/$lt_tmp_nm
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the 'sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+	case $build_os in
+	mingw*) lt_bad_file=conftest.nm/nofile ;;
+	*) lt_bad_file=/dev/null ;;
+	esac
+	case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+	*$lt_bad_file* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break 2
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break 2
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS=$lt_save_ifs
+  done
+  : ${lt_cv_path_NM=no}
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+if test no != "$lt_cv_path_NM"; then
+  NM=$lt_cv_path_NM
+else
+  # Didn't find any BSD compatible name lister, look for dumpbin.
+  if test -n "$DUMPBIN"; then :
+    # Let the user override the test.
+  else
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in dumpbin "link -dump"
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DUMPBIN+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DUMPBIN"; then
+  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$DUMPBIN" && break
+  done
+fi
+if test -z "$DUMPBIN"; then
+  ac_ct_DUMPBIN=$DUMPBIN
+  for ac_prog in dumpbin "link -dump"
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DUMPBIN"; then
+  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_DUMPBIN" && break
+done
+
+  if test "x$ac_ct_DUMPBIN" = x; then
+    DUMPBIN=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DUMPBIN=$ac_ct_DUMPBIN
+  fi
+fi
+
+    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
+    *COFF*)
+      DUMPBIN="$DUMPBIN -symbols -headers"
+      ;;
+    *)
+      DUMPBIN=:
+      ;;
+    esac
+  fi
+
+  if test : != "$DUMPBIN"; then
+    NM=$DUMPBIN
+  fi
+fi
+test -z "$NM" && NM=nm
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if ${lt_cv_nm_interface+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
+  cat conftest.out >&5
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
+
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if ${lt_cv_sys_max_cmd_len+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+    i=0
+  teststring=ABCD
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw* | cegcc*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  mint*)
+    # On MiNT this can take a long time and run out of memory.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  os2*)
+    # The test takes a long time on OS/2.
+    lt_cv_sys_max_cmd_len=8192
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[	 ]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len" && \
+       test undefined != "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
+	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+	      test 17 != "$i" # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
+
+fi
+
+if test -n "$lt_cv_sys_max_cmd_len"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+
+
+
+
+
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
+else
+  lt_unset=false
+fi
+
+
+
+
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  lt_SP2NL='tr \040 \012'
+  lt_NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  lt_SP2NL='tr \100 \n'
+  lt_NL2SP='tr \r\n \100\100'
+  ;;
+esac
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
+$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
+if ${lt_cv_to_host_file_cmd+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+        ;;
+    esac
+    ;;
+  *-*-cygwin* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_noop
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+        ;;
+    esac
+    ;;
+  * ) # unhandled hosts (and "normal" native builds)
+    lt_cv_to_host_file_cmd=func_convert_file_noop
+    ;;
+esac
+
+fi
+
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
+$as_echo "$lt_cv_to_host_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
+$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
+if ${lt_cv_to_tool_file_cmd+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  #assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+        ;;
+    esac
+    ;;
+esac
+
+fi
+
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
+$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if ${lt_cv_ld_reload_flag+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_reload_flag='-r'
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    if test yes != "$GCC"; then
+      reload_cmds=false
+    fi
+    ;;
+  darwin*)
+    if test yes = "$GCC"; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OBJDUMP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OBJDUMP"; then
+  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+  ac_ct_OBJDUMP=$OBJDUMP
+  # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OBJDUMP"; then
+  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_OBJDUMP="objdump"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OBJDUMP" = x; then
+    OBJDUMP="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OBJDUMP=$ac_ct_OBJDUMP
+  fi
+else
+  OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
+if ${lt_cv_deplibs_check_method+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# 'unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# that responds to the $file_magic_cmd with a given extended regex.
+# If you have 'file' or equivalent on your system and you're not sure
+# whether 'pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[4-9]*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[45]*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    # Keep this pattern in sync with the one in func_win32_libid.
+    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
+  ;;
+
+cegcc*)
+  # use the weaker test based on 'objdump'. See mingw*.
+  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | dragonfly*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+haiku*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix[3-9]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+*nto* | *qnx*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+openbsd* | bitrig*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+os2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+  case $host_os in
+  mingw* | pw32*)
+    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+      want_nocaseglob=yes
+    else
+      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
+    fi
+    ;;
+  esac
+fi
+
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DLLTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DLLTOOL"; then
+  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+$as_echo "$DLLTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DLLTOOL"; then
+  ac_ct_DLLTOOL=$DLLTOOL
+  # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DLLTOOL"; then
+  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+$as_echo "$ac_ct_DLLTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_DLLTOOL" = x; then
+    DLLTOOL="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DLLTOOL=$ac_ct_DLLTOOL
+  fi
+else
+  DLLTOOL="$ac_cv_prog_DLLTOOL"
+fi
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
+$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
+if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+  # two different shell functions defined in ltmain.sh;
+  # decide which one to use based on capabilities of $DLLTOOL
+  case `$DLLTOOL --help 2>&1` in
+  *--identify-strict*)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+    ;;
+  *)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+    ;;
+  esac
+  ;;
+*)
+  # fallback: assume linklib IS sharedlib
+  lt_cv_sharedlib_from_linklib_cmd=$ECHO
+  ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
+$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  for ac_prog in ar
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$AR" && break
+  done
+fi
+if test -z "$AR"; then
+  ac_ct_AR=$AR
+  for ac_prog in ar
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AR="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_AR" && break
+done
+
+  if test "x$ac_ct_AR" = x; then
+    AR="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    AR=$ac_ct_AR
+  fi
+fi
+
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+$as_echo_n "checking for archiver @FILE support... " >&6; }
+if ${lt_cv_ar_at_file+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ar_at_file=no
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  echo conftest.$ac_objext > conftest.lst
+      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
+      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+  (eval $lt_ar_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      if test 0 -eq "$ac_status"; then
+	# Ensure the archiver fails upon bogus file names.
+	rm -f conftest.$ac_objext libconftest.a
+	{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+  (eval $lt_ar_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+	if test 0 -ne "$ac_status"; then
+          lt_cv_ar_at_file=@
+        fi
+      fi
+      rm -f conftest.* libconftest.a
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
+$as_echo "$lt_cv_ar_at_file" >&6; }
+
+if test no = "$lt_cv_ar_at_file"; then
+  archiver_list_spec=
+else
+  archiver_list_spec=$lt_cv_ar_at_file
+fi
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+test -z "$STRIP" && STRIP=:
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
+else
+  RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+test -z "$RANLIB" && RANLIB=:
+
+
+
+
+
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  bitrig* | openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
+
+case $host_os in
+  darwin*)
+    lock_old_archive_extraction=yes ;;
+  *)
+    lock_old_archive_extraction=no ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[BCDT]'
+  ;;
+cygwin* | mingw* | pw32* | cegcc*)
+  symcode='[ABCDGISTW]'
+  ;;
+hpux*)
+  if test ia64 = "$host_cpu"; then
+    symcode='[ABCDEGRST]'
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[BCDEGRST]'
+  ;;
+osf*)
+  symcode='[BCDEGQRST]'
+  ;;
+solaris*)
+  symcode='[BDRT]'
+  ;;
+sco3.2v5*)
+  symcode='[DT]'
+  ;;
+sysv4.2uw2*)
+  symcode='[DT]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[ABDT]'
+  ;;
+sysv4)
+  symcode='[DFNSTU]'
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[ABCDGIRSTW]' ;;
+esac
+
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  # Gets list of data symbols to import.
+  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+  # Adjust the below global symbol transforms to fixup imported variables.
+  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
+  lt_c_name_lib_hook="\
+  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
+  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
+else
+  # Disable hooks by default.
+  lt_cv_sys_global_symbol_to_import=
+  lt_cdecl_hook=
+  lt_c_name_hook=
+  lt_c_name_lib_hook=
+fi
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+    # Fake it for dumpbin and say T for any non-static function,
+    # D for any global variable and I for any imported variable.
+    # Also find C++ and __fastcall symbols from MSVC++,
+    # which start with @ or ?.
+    lt_cv_sys_global_symbol_pipe="$AWK '"\
+"     {last_section=section; section=\$ 3};"\
+"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
+"     \$ 0!~/External *\|/{next};"\
+"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+"     {if(hide[section]) next};"\
+"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
+"     ' prfx=^$ac_symprfx"
+  else
+    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[	 ]\($symcode$symcode*\)[	 ][	 ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+  fi
+  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
+  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
+# define LT_DLSYM_CONST
+#elif defined __osf__
+/* This system does not cope well with relocations in const data.  */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+	  cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols.  */
+LT_DLSYM_CONST struct {
+  const char *name;
+  void       *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+  { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+	  $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+	  cat <<\_LT_EOF >> conftest.$ac_ext
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+	  # Now try linking the two files.
+	  mv conftest.$ac_objext conftstm.$ac_objext
+	  lt_globsym_save_LIBS=$LIBS
+	  lt_globsym_save_CFLAGS=$CFLAGS
+	  LIBS=conftstm.$ac_objext
+	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest$ac_exeext; then
+	    pipe_works=yes
+	  fi
+	  LIBS=$lt_globsym_save_LIBS
+	  CFLAGS=$lt_globsym_save_CFLAGS
+	else
+	  echo "cannot find nm_test_func in $nlist" >&5
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&5
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+    fi
+  else
+    echo "$progname: failed program was:" >&5
+    cat conftest.$ac_ext >&5
+  fi
+  rm -rf conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test yes = "$pipe_works"; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+
+fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+fi
+
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
+  nm_file_list_spec='@'
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
+
+# Check whether --with-sysroot was given.
+if test "${with_sysroot+set}" = set; then :
+  withval=$with_sysroot;
+else
+  with_sysroot=no
+fi
+
+
+lt_sysroot=
+case $with_sysroot in #(
+ yes)
+   if test yes = "$GCC"; then
+     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+   fi
+   ;; #(
+ /*)
+   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+   ;; #(
+ no|'')
+   ;; #(
+ *)
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
+$as_echo "$with_sysroot" >&6; }
+   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+   ;;
+esac
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+$as_echo "${lt_sysroot:-no}" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
+$as_echo_n "checking for a working dd... " >&6; }
+if ${ac_cv_path_lt_DD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+if test -z "$lt_DD"; then
+  ac_path_lt_DD_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in dd; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_lt_DD" || continue
+if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+  cmp -s conftest.i conftest.out \
+  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi
+      $ac_path_lt_DD_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_lt_DD"; then
+    :
+  fi
+else
+  ac_cv_path_lt_DD=$lt_DD
+fi
+
+rm -f conftest.i conftest2.i conftest.out
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
+$as_echo "$ac_cv_path_lt_DD" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
+$as_echo_n "checking how to truncate binary pipes... " >&6; }
+if ${lt_cv_truncate_bin+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+  cmp -s conftest.i conftest.out \
+  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
+fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
+$as_echo "$lt_cv_truncate_bin" >&6; }
+
+
+
+
+
+
+
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in $*""; do
+      case $cc_temp in
+        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then :
+  enableval=$enable_libtool_lock;
+fi
+
+test no = "$enable_libtool_lock" || enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out what ABI is being produced by ac_compile, and set mode
+  # options accordingly.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.$ac_objext` in
+      *ELF-32*)
+	HPUX_IA64_MODE=32
+	;;
+      *ELF-64*)
+	HPUX_IA64_MODE=64
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    if test yes = "$lt_cv_prog_gnu_ld"; then
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -melf32bsmip"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -melf32bmipn32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -melf64bmip"
+	;;
+      esac
+    else
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -32"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -n32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -64"
+	  ;;
+      esac
+    fi
+  fi
+  rm -rf conftest*
+  ;;
+
+mips64*-*linux*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    emul=elf
+    case `/usr/bin/file conftest.$ac_objext` in
+      *32-bit*)
+	emul="${emul}32"
+	;;
+      *64-bit*)
+	emul="${emul}64"
+	;;
+    esac
+    case `/usr/bin/file conftest.$ac_objext` in
+      *MSB*)
+	emul="${emul}btsmip"
+	;;
+      *LSB*)
+	emul="${emul}ltsmip"
+	;;
+    esac
+    case `/usr/bin/file conftest.$ac_objext` in
+      *N32*)
+	emul="${emul}n32"
+	;;
+    esac
+    LD="${LD-ld} -m $emul"
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.  Note that the listed cases only cover the
+  # situations where additional linker options are needed (such as when
+  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+  # vice versa); the common cases where no linker options are needed do
+  # not appear in the list.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.o` in
+      *32-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_i386_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    case `/usr/bin/file conftest.o` in
+	      *x86-64*)
+		LD="${LD-ld} -m elf32_x86_64"
+		;;
+	      *)
+		LD="${LD-ld} -m elf_i386"
+		;;
+	    esac
+	    ;;
+	  powerpc64le-*linux*)
+	    LD="${LD-ld} -m elf32lppclinux"
+	    ;;
+	  powerpc64-*linux*)
+	    LD="${LD-ld} -m elf32ppclinux"
+	    ;;
+	  s390x-*linux*)
+	    LD="${LD-ld} -m elf_s390"
+	    ;;
+	  sparc64-*linux*)
+	    LD="${LD-ld} -m elf32_sparc"
+	    ;;
+	esac
+	;;
+      *64-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_x86_64_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_x86_64"
+	    ;;
+	  powerpcle-*linux*)
+	    LD="${LD-ld} -m elf64lppc"
+	    ;;
+	  powerpc-*linux*)
+	    LD="${LD-ld} -m elf64ppc"
+	    ;;
+	  s390*-*linux*|s390*-*tpf*)
+	    LD="${LD-ld} -m elf64_s390"
+	    ;;
+	  sparc*-*linux*)
+	    LD="${LD-ld} -m elf64_sparc"
+	    ;;
+	esac
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS=$CFLAGS
+  CFLAGS="$CFLAGS -belf"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if ${lt_cv_cc_needs_belf+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_cc_needs_belf=yes
+else
+  lt_cv_cc_needs_belf=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+     ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
+  if test yes != "$lt_cv_cc_needs_belf"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS=$SAVE_CFLAGS
+  fi
+  ;;
+*-*solaris*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*)
+        case $host in
+        i?86-*-solaris*|x86_64-*-solaris*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        sparc*-*-solaris*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+        esac
+        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
+        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+          LD=${LD-ld}_sol2
+        fi
+        ;;
+      *)
+	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+	  LD="${LD-ld} -64"
+	fi
+	;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+esac
+
+need_locks=$enable_libtool_lock
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$MANIFEST_TOOL"; then
+  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
+if test -n "$MANIFEST_TOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
+$as_echo "$MANIFEST_TOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
+  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
+  # Extract the first word of "mt", so it can be a program name with args.
+set dummy mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_MANIFEST_TOOL"; then
+  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
+if test -n "$ac_ct_MANIFEST_TOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
+$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_MANIFEST_TOOL" = x; then
+    MANIFEST_TOOL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
+  fi
+else
+  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
+fi
+
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
+$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
+if ${lt_cv_path_mainfest_tool+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_path_mainfest_tool=no
+  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
+  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+  cat conftest.err >&5
+  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+    lt_cv_path_mainfest_tool=yes
+  fi
+  rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
+$as_echo "$lt_cv_path_mainfest_tool" >&6; }
+if test yes != "$lt_cv_path_mainfest_tool"; then
+  MANIFEST_TOOL=:
+fi
+
+
+
+
+
+
+  case $host_os in
+    rhapsody* | darwin*)
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DSYMUTIL"; then
+  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+  ac_ct_DSYMUTIL=$DSYMUTIL
+  # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DSYMUTIL"; then
+  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_DSYMUTIL" = x; then
+    DSYMUTIL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DSYMUTIL=$ac_ct_DSYMUTIL
+  fi
+else
+  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_NMEDIT+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$NMEDIT"; then
+  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+  ac_ct_NMEDIT=$NMEDIT
+  # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_NMEDIT"; then
+  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_NMEDIT="nmedit"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_NMEDIT" = x; then
+    NMEDIT=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    NMEDIT=$ac_ct_NMEDIT
+  fi
+else
+  NMEDIT="$ac_cv_prog_NMEDIT"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_LIPO+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$LIPO"; then
+  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_LIPO"; then
+  ac_ct_LIPO=$LIPO
+  # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_LIPO"; then
+  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_LIPO="lipo"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_LIPO" = x; then
+    LIPO=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    LIPO=$ac_ct_LIPO
+  fi
+else
+  LIPO="$ac_cv_prog_LIPO"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OTOOL"; then
+  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+  ac_ct_OTOOL=$OTOOL
+  # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OTOOL"; then
+  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_OTOOL="otool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OTOOL" = x; then
+    OTOOL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OTOOL=$ac_ct_OTOOL
+  fi
+else
+  OTOOL="$ac_cv_prog_OTOOL"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL64+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OTOOL64"; then
+  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+  ac_ct_OTOOL64=$OTOOL64
+  # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OTOOL64"; then
+  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_OTOOL64="otool64"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OTOOL64" = x; then
+    OTOOL64=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OTOOL64=$ac_ct_OTOOL64
+  fi
+else
+  OTOOL64="$ac_cv_prog_OTOOL64"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if ${lt_cv_apple_cc_single_mod+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_apple_cc_single_mod=no
+      if test -z "$LT_MULTI_MODULE"; then
+	# By default we will add the -single_module flag. You can override
+	# by either setting the environment variable LT_MULTI_MODULE
+	# non-empty at configure time, or by adding -multi_module to the
+	# link flags.
+	rm -rf libconftest.dylib*
+	echo "int foo(void){return 1;}" > conftest.c
+	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+        _lt_result=$?
+	# If there is a non-empty error log, and "single_module"
+	# appears in it, assume the flag caused a linker warning
+        if test -s conftest.err && $GREP single_module conftest.err; then
+	  cat conftest.err >&5
+	# Otherwise, if the output was created with a 0 exit code from
+	# the compiler, it worked.
+	elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
+	  lt_cv_apple_cc_single_mod=yes
+	else
+	  cat conftest.err >&5
+	fi
+	rm -rf libconftest.dylib*
+	rm -f conftest.*
+      fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_ld_exported_symbols_list=yes
+else
+  lt_cv_ld_exported_symbols_list=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+	LDFLAGS=$save_LDFLAGS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
+$as_echo_n "checking for -force_load linker flag... " >&6; }
+if ${lt_cv_ld_force_load+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_force_load=no
+      cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
+      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+      echo "$AR cru libconftest.a conftest.o" >&5
+      $AR cru libconftest.a conftest.o 2>&5
+      echo "$RANLIB libconftest.a" >&5
+      $RANLIB libconftest.a 2>&5
+      cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
+      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+      _lt_result=$?
+      if test -s conftest.err && $GREP force_load conftest.err; then
+	cat conftest.err >&5
+      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
+	lt_cv_ld_force_load=yes
+      else
+	cat conftest.err >&5
+      fi
+        rm -f conftest.err libconftest.a conftest conftest.c
+        rm -rf conftest.dSYM
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
+$as_echo "$lt_cv_ld_force_load" >&6; }
+    case $host_os in
+    rhapsody* | darwin1.[012])
+      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
+    darwin1.*)
+      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+    darwin*) # darwin 5.x on
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+	10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+	10.[012][,.]*)
+	  _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+	10.*)
+	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test yes = "$lt_cv_apple_cc_single_mod"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test yes = "$lt_cv_ld_exported_symbols_list"; then
+      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
+    else
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
+    fi
+    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
+      _lt_dsymutil='~$DSYMUTIL $lib || :'
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x$2 in
+    x)
+        ;;
+    *:)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \S|@1\"
+        ;;
+    x:*)
+        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+        ;;
+    *)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if ${ac_cv_header_stdc+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_header_stdc=yes
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+		  inttypes.h stdint.h unistd.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+func_stripname_cnf ()
+{
+  case $2 in
+  .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;;
+  *)  func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;;
+  esac
+} # func_stripname_cnf
+
+
+
+
+
+# Set options
+
+
+
+        enable_dlopen=no
+
+
+  enable_win32_dll=no
+
+
+            # Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then :
+  enableval=$enable_shared; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for pkg in $enableval; do
+	IFS=$lt_save_ifs
+	if test "X$pkg" = "X$p"; then
+	  enable_shared=yes
+	fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac
+else
+  enable_shared=yes
+fi
+
+
+
+
+
+
+
+
+
+  # Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then :
+  enableval=$enable_static; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for pkg in $enableval; do
+	IFS=$lt_save_ifs
+	if test "X$pkg" = "X$p"; then
+	  enable_static=yes
+	fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac
+else
+  enable_static=yes
+fi
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then :
+  withval=$with_pic; lt_p=${PACKAGE-default}
+    case $withval in
+    yes|no) pic_mode=$withval ;;
+    *)
+      pic_mode=default
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for lt_pkg in $withval; do
+	IFS=$lt_save_ifs
+	if test "X$lt_pkg" = "X$lt_p"; then
+	  pic_mode=yes
+	fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac
+else
+  pic_mode=default
+fi
+
+
+
+
+
+
+
+
+  # Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then :
+  enableval=$enable_fast_install; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for pkg in $enableval; do
+	IFS=$lt_save_ifs
+	if test "X$pkg" = "X$p"; then
+	  enable_fast_install=yes
+	fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac
+else
+  enable_fast_install=yes
+fi
+
+
+
+
+
+
+
+
+  shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[5-9]*,yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
+$as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
+
+# Check whether --with-aix-soname was given.
+if test "${with_aix_soname+set}" = set; then :
+  withval=$with_aix_soname; case $withval in
+    aix|svr4|both)
+      ;;
+    *)
+      as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
+      ;;
+    esac
+    lt_cv_with_aix_soname=$with_aix_soname
+else
+  if ${lt_cv_with_aix_soname+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_with_aix_soname=aix
+fi
+
+    with_aix_soname=$lt_cv_with_aix_soname
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
+$as_echo "$with_aix_soname" >&6; }
+  if test aix != "$with_aix_soname"; then
+    # For the AIX way of multilib, we name the shared archive member
+    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+    # the AIX toolchain works better with OBJECT_MODE set (default 32).
+    if test 64 = "${OBJECT_MODE-32}"; then
+      shared_archive_member_spec=shr_64
+    else
+      shared_archive_member_spec=shr
+    fi
+  fi
+  ;;
+*)
+  with_aix_soname=aix
+  ;;
+esac
+
+
+
+
+
+
+
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS=$ltmain
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+test -z "$LN_S" && LN_S="ln -s"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "${ZSH_VERSION+set}"; then
+   setopt NO_GLOB_SUBST
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if ${lt_cv_objdir+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
+
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
+
+
+
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test set != "${COLLECT_NAMES+set}"; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a '.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+old_CC=$CC
+old_CFLAGS=$CFLAGS
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+func_cc_basename $compiler
+cc_basename=$func_cc_basename_result
+
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD=$MAGIC_CMD
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS=$lt_save_ifs
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/${ac_tool_prefix}file"; then
+      lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS=$lt_save_ifs
+  MAGIC_CMD=$lt_save_MAGIC_CMD
+  ;;
+esac
+fi
+
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+if test -n "$MAGIC_CMD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD=$MAGIC_CMD
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS=$lt_save_ifs
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/file"; then
+      lt_cv_path_MAGIC_CMD=$ac_dir/"file"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS=$lt_save_ifs
+  MAGIC_CMD=$lt_save_MAGIC_CMD
+  ;;
+esac
+fi
+
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+if test -n "$MAGIC_CMD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  else
+    MAGIC_CMD=:
+  fi
+fi
+
+  fi
+  ;;
+esac
+
+# Use C for the default configuration in the libtool script
+
+lt_save_CC=$CC
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+
+lt_prog_compiler_no_builtin_flag=
+
+if test yes = "$GCC"; then
+  case $cc_basename in
+  nvcc*)
+    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
+  *)
+    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
+  esac
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_rtti_exceptions=no
+   ac_outfile=conftest.$ac_objext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="-fno-rtti -fno-exceptions"  ## exclude from sc_useless_quotes_in_assignment
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_rtti_exceptions=yes
+     fi
+   fi
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+
+if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then
+    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+else
+    :
+fi
+
+fi
+
+
+
+
+
+
+  lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
+
+
+  if test yes = "$GCC"; then
+    lt_prog_compiler_wl='-Wl,'
+    lt_prog_compiler_static='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test ia64 = "$host_cpu"; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static='-Bstatic'
+      fi
+      lt_prog_compiler_pic='-fPIC'
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            lt_prog_compiler_pic='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the '-m68020' flag to GCC prevents building anything better,
+            # like '-m68040'.
+            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      case $host_os in
+      os2*)
+	lt_prog_compiler_static='$wl-static'
+	;;
+      esac
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic='-fno-common'
+      ;;
+
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      lt_prog_compiler_static=
+      ;;
+
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic='-fPIC'
+	;;
+      esac
+      ;;
+
+    interix[3-9]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      lt_prog_compiler_can_build_shared=no
+      enable_shared=no
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic='-fPIC -shared'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic=-Kconform_pic
+      fi
+      ;;
+
+    *)
+      lt_prog_compiler_pic='-fPIC'
+      ;;
+    esac
+
+    case $cc_basename in
+    nvcc*) # Cuda Compiler Driver 2.2
+      lt_prog_compiler_wl='-Xlinker '
+      if test -n "$lt_prog_compiler_pic"; then
+        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
+      fi
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      lt_prog_compiler_wl='-Wl,'
+      if test ia64 = "$host_cpu"; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static='-Bstatic'
+      else
+	lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic='-fno-common'
+      case $cc_basename in
+      nagfor*)
+        # NAG Fortran compiler
+        lt_prog_compiler_wl='-Wl,-Wl,,'
+        lt_prog_compiler_pic='-PIC'
+        lt_prog_compiler_static='-Bstatic'
+        ;;
+      esac
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      case $host_os in
+      os2*)
+	lt_prog_compiler_static='$wl-static'
+	;;
+      esac
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      lt_prog_compiler_static='$wl-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC (with -KPIC) is the default.
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+      case $cc_basename in
+      # old Intel for x86_64, which still supported -KPIC.
+      ecc*)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-KPIC'
+	lt_prog_compiler_static='-static'
+        ;;
+      # icc used to be incompatible with GCC.
+      # ICC 10 doesn't accept -KPIC any more.
+      icc* | ifort*)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-fPIC'
+	lt_prog_compiler_static='-static'
+        ;;
+      # Lahey Fortran 8.1.
+      lf95*)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='--shared'
+	lt_prog_compiler_static='--static'
+	;;
+      nagfor*)
+	# NAG Fortran compiler
+	lt_prog_compiler_wl='-Wl,-Wl,,'
+	lt_prog_compiler_pic='-PIC'
+	lt_prog_compiler_static='-Bstatic'
+	;;
+      tcc*)
+	# Fabrice Bellard et al's Tiny C Compiler
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-fPIC'
+	lt_prog_compiler_static='-static'
+	;;
+      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-fpic'
+	lt_prog_compiler_static='-Bstatic'
+        ;;
+      ccc*)
+        lt_prog_compiler_wl='-Wl,'
+        # All Alpha code is PIC.
+        lt_prog_compiler_static='-non_shared'
+        ;;
+      xl* | bgxl* | bgf* | mpixl*)
+	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-qpic'
+	lt_prog_compiler_static='-qstaticlink'
+	;;
+      *)
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl=''
+	  ;;
+	*Sun\ F* | *Sun*Fortran*)
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl='-Qoption ld '
+	  ;;
+	*Sun\ C*)
+	  # Sun C 5.9
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl='-Wl,'
+	  ;;
+        *Intel*\ [CF]*Compiler*)
+	  lt_prog_compiler_wl='-Wl,'
+	  lt_prog_compiler_pic='-fPIC'
+	  lt_prog_compiler_static='-static'
+	  ;;
+	*Portland\ Group*)
+	  lt_prog_compiler_wl='-Wl,'
+	  lt_prog_compiler_pic='-fpic'
+	  lt_prog_compiler_static='-Bstatic'
+	  ;;
+	esac
+	;;
+      esac
+      ;;
+
+    newsos6)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic='-fPIC -shared'
+      ;;
+
+    osf3* | osf4* | osf5*)
+      lt_prog_compiler_wl='-Wl,'
+      # All OSF/1 code is PIC.
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    rdos*)
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    solaris*)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+	lt_prog_compiler_wl='-Qoption ld ';;
+      *)
+	lt_prog_compiler_wl='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      lt_prog_compiler_wl='-Qoption ld '
+      lt_prog_compiler_pic='-PIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic='-Kconform_pic'
+	lt_prog_compiler_static='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    unicos*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_can_build_shared=no
+      ;;
+
+    uts4*)
+      lt_prog_compiler_pic='-pic'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    *)
+      lt_prog_compiler_can_build_shared=no
+      ;;
+    esac
+  fi
+
+case $host_os in
+  # For platforms that do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic=
+    ;;
+  *)
+    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+    ;;
+esac
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+if ${lt_cv_prog_compiler_pic+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
+$as_echo "$lt_cv_prog_compiler_pic" >&6; }
+lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_pic_works=no
+   ac_outfile=conftest.$ac_objext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"  ## exclude from sc_useless_quotes_in_assignment
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_pic_works=yes
+     fi
+   fi
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
+
+if test yes = "$lt_cv_prog_compiler_pic_works"; then
+    case $lt_prog_compiler_pic in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+     esac
+else
+    lt_prog_compiler_pic=
+     lt_prog_compiler_can_build_shared=no
+fi
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if ${lt_cv_prog_compiler_static_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_static_works=no
+   save_LDFLAGS=$LDFLAGS
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_cv_prog_compiler_static_works=yes
+       fi
+     else
+       lt_cv_prog_compiler_static_works=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS=$save_LDFLAGS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
+
+if test yes = "$lt_cv_prog_compiler_static_works"; then
+    :
+else
+    lt_prog_compiler_static=
+fi
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+hard_links=nottested
+if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then
+  # do not overwrite the value of need_locks provided by the user
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+  hard_links=yes
+  $RM conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+  if test no = "$hard_links"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+  runpath_var=
+  allow_undefined_flag=
+  always_export_symbols=no
+  archive_cmds=
+  archive_expsym_cmds=
+  compiler_needs_object=no
+  enable_shared_with_static_runtimes=no
+  export_dynamic_flag_spec=
+  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  hardcode_automatic=no
+  hardcode_direct=no
+  hardcode_direct_absolute=no
+  hardcode_libdir_flag_spec=
+  hardcode_libdir_separator=
+  hardcode_minus_L=no
+  hardcode_shlibpath_var=unsupported
+  inherit_rpath=no
+  link_all_deplibs=unknown
+  module_cmds=
+  module_expsym_cmds=
+  old_archive_from_new_cmds=
+  old_archive_from_expsyms_cmds=
+  thread_safe_flag_spec=
+  whole_archive_flag_spec=
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  include_expsyms=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ' (' and ')$', so one must not match beginning or
+  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
+  # as well as any symbol that contains 'd'.
+  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  # Exclude shared library initialization/finalization symbols.
+  extract_expsyms_cmds=
+
+  case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test yes != "$GCC"; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd* | bitrig*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  ld_shlibs=yes
+
+  # On some targets, GNU ld is compatible enough with the native linker
+  # that we're better off using the native interface for both.
+  lt_use_gnu_ld_interface=no
+  if test yes = "$with_gnu_ld"; then
+    case $host_os in
+      aix*)
+	# The AIX port of GNU ld has always aspired to compatibility
+	# with the native linker.  However, as the warning in the GNU ld
+	# block says, versions before 2.19.5* couldn't really create working
+	# shared libraries, regardless of the interface used.
+	case `$LD -v 2>&1` in
+	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+	  *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
+	  *\ \(GNU\ Binutils\)\ [3-9]*) ;;
+	  *)
+	    lt_use_gnu_ld_interface=yes
+	    ;;
+	esac
+	;;
+      *)
+	lt_use_gnu_ld_interface=yes
+	;;
+    esac
+  fi
+
+  if test yes = "$lt_use_gnu_ld_interface"; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='$wl'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+    export_dynamic_flag_spec='$wl--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+      whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+    else
+      whole_archive_flag_spec=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
+      *GNU\ gold*) supports_anon_versioning=yes ;;
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix[3-9]*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test ia64 != "$host_cpu"; then
+	ld_shlibs=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+
+_LT_EOF
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+            archive_expsym_cmds=''
+        ;;
+      m68k)
+            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_minus_L=yes
+        ;;
+      esac
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	allow_undefined_flag=unsupported
+	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+      # as there is no search path for DLLs.
+      hardcode_libdir_flag_spec='-L$libdir'
+      export_dynamic_flag_spec='$wl--export-all-symbols'
+      allow_undefined_flag=unsupported
+      always_export_symbols=no
+      enable_shared_with_static_runtimes=yes
+      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+
+      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file, use it as
+	# is; otherwise, prepend EXPORTS...
+	archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[	 ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
+          cp $export_symbols $output_objdir/$soname.def;
+        else
+          echo EXPORTS > $output_objdir/$soname.def;
+          cat $export_symbols >> $output_objdir/$soname.def;
+        fi~
+        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    haiku*)
+      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+      link_all_deplibs=yes
+      ;;
+
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      allow_undefined_flag=unsupported
+      shrext_cmds=.dll
+      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      enable_shared_with_static_runtimes=yes
+      ;;
+
+    interix[3-9]*)
+      hardcode_direct=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+      export_dynamic_flag_spec='$wl-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+      tmp_diet=no
+      if test linux-dietlibc = "$host_os"; then
+	case $cc_basename in
+	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
+	esac
+      fi
+      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+	 && test no = "$tmp_diet"
+      then
+	tmp_addflag=' $pic_flag'
+	tmp_sharedflag='-shared'
+	case $cc_basename,$host_cpu in
+        pgcc*)				# Portland Group C compiler
+	  whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95* | pgfortran*)
+					# Portland Group f77 and f90 compilers
+	  whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	lf95*)				# Lahey Fortran 8.1
+	  whole_archive_flag_spec=
+	  tmp_sharedflag='--shared' ;;
+        nagfor*)                        # NAGFOR 5.3
+          tmp_sharedflag='-Wl,-shared' ;;
+	xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+	  tmp_sharedflag='-qmkshrobj'
+	  tmp_addflag= ;;
+	nvcc*)	# Cuda Compiler Driver 2.2
+	  whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	  compiler_needs_object=yes
+	  ;;
+	esac
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	  compiler_needs_object=yes
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	esac
+	archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+
+        if test yes = "$supports_anon_versioning"; then
+          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+            cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+            echo "local: *; };" >> $output_objdir/$libname.ver~
+            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
+        fi
+
+	case $cc_basename in
+	tcc*)
+	  export_dynamic_flag_spec='-rdynamic'
+	  ;;
+	xlf* | bgf* | bgxlf* | mpixlf*)
+	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+	  hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+	  archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+	  if test yes = "$supports_anon_versioning"; then
+	    archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+              cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+              echo "local: *; };" >> $output_objdir/$libname.ver~
+              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+	  fi
+	  ;;
+	esac
+      else
+        ld_shlibs=no
+      fi
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+	ld_shlibs=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+	ld_shlibs=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  # For security reasons, it is highly recommended that you always
+	  # use absolute paths for naming shared libraries, and exclude the
+	  # DT_RUNPATH tag from executables and libraries.  But doing so
+	  # requires that you compile everything twice, which is a pain.
+	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	    hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+	  else
+	    ld_shlibs=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+    esac
+
+    if test no = "$ld_shlibs"; then
+      runpath_var=
+      hardcode_libdir_flag_spec=
+      export_dynamic_flag_spec=
+      whole_archive_flag_spec=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      allow_undefined_flag=unsupported
+      always_export_symbols=yes
+      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L=yes
+      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	hardcode_direct=unsupported
+      fi
+      ;;
+
+    aix[4-9]*)
+      if test ia64 = "$host_cpu"; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to GNU nm, but means don't demangle to AIX nm.
+	# Without the "-l" option, or with the "-B" option, AIX nm treats
+	# weak defined symbols like other global defined symbols, whereas
+	# GNU nm marks them as "W".
+	# While the 'weak' keyword is ignored in the Export File, we need
+	# it in the Import File for the 'aix-soname' feature, so we have
+	# to replace the "-B" option with "-P" for AIX nm.
+	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
+	else
+	  export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# have runtime linking enabled, and use it for executables.
+	# For shared libraries, we enable/disable runtime linking
+	# depending on the kind of the shared library created -
+	# when "with_aix_soname,aix_use_runtimelinking" is:
+	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "aix,yes"  lib.so          shared, rtl:yes, for executables
+	#            lib.a           static archive
+	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
+	#            lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a(lib.so.V) shared, rtl:no
+	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a           static archive
+	case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+	  for ld_flag in $LDFLAGS; do
+	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
+	    aix_use_runtimelinking=yes
+	    break
+	  fi
+	  done
+	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
+	    # so we don't have lib.a shared libs to link our executables.
+	    # We have to force runtime linking in this case.
+	    aix_use_runtimelinking=yes
+	    LDFLAGS="$LDFLAGS -Wl,-brtl"
+	  fi
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      archive_cmds=''
+      hardcode_direct=yes
+      hardcode_direct_absolute=yes
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+      file_list_spec='$wl-f,'
+      case $with_aix_soname,$aix_use_runtimelinking in
+      aix,*) ;; # traditional, no import file
+      svr4,* | *,yes) # use import file
+	# The Import File defines what to hardcode.
+	hardcode_direct=no
+	hardcode_direct_absolute=no
+	;;
+      esac
+
+      if test yes = "$GCC"; then
+	case $host_os in aix4.[012]|aix4.[012].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`$CC -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	  # We have reworked collect2
+	  :
+	  else
+	  # We have old collect2
+	  hardcode_direct=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  hardcode_minus_L=yes
+	  hardcode_libdir_flag_spec='-L$libdir'
+	  hardcode_libdir_separator=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test yes = "$aix_use_runtimelinking"; then
+	  shared_flag="$shared_flag "'$wl-G'
+	fi
+	# Need to ensure runtime linking is disabled for the traditional
+	# shared library, or the linker may eventually find shared libraries
+	# /with/ Import File - we do not want to mix them.
+	shared_flag_aix='-shared'
+	shared_flag_svr4='-shared $wl-G'
+      else
+	# not using gcc
+	if test ia64 = "$host_cpu"; then
+	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test yes = "$aix_use_runtimelinking"; then
+	    shared_flag='$wl-G'
+	  else
+	    shared_flag='$wl-bM:SRE'
+	  fi
+	  shared_flag_aix='$wl-bM:SRE'
+	  shared_flag_svr4='$wl-G'
+	fi
+      fi
+
+      export_dynamic_flag_spec='$wl-bexpall'
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      always_export_symbols=yes
+      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	allow_undefined_flag='-berok'
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        if test set = "${lt_cv_aix_libpath+set}"; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  if ${lt_cv_aix_libpath_+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+  lt_aix_libpath_sed='
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }'
+  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_=/usr/lib:/lib
+  fi
+
+fi
+
+  aix_libpath=$lt_cv_aix_libpath_
+fi
+
+        hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
+        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
+      else
+	if test ia64 = "$host_cpu"; then
+	  hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'
+	  allow_undefined_flag="-z nodefs"
+	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an
+	 # empty executable.
+	 if test set = "${lt_cv_aix_libpath+set}"; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  if ${lt_cv_aix_libpath_+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+  lt_aix_libpath_sed='
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }'
+  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_=/usr/lib:/lib
+  fi
+
+fi
+
+  aix_libpath=$lt_cv_aix_libpath_
+fi
+
+	 hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  no_undefined_flag=' $wl-bernotok'
+	  allow_undefined_flag=' $wl-berok'
+	  if test yes = "$with_gnu_ld"; then
+	    # We only use this code for GNU lds that support --whole-archive.
+	    whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'
+	  else
+	    # Exported symbols can be pulled into shared objects from archives
+	    whole_archive_flag_spec='$convenience'
+	  fi
+	  archive_cmds_need_lc=yes
+	  archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+	  # -brtl affects multiple linker settings, -berok does not and is overridden later
+	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
+	  if test svr4 != "$with_aix_soname"; then
+	    # This is similar to how AIX traditionally builds its shared libraries.
+	    archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+	  fi
+	  if test aix != "$with_aix_soname"; then
+	    archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+	  else
+	    # used by -dlpreopen to get the symbols
+	    archive_expsym_cmds="$archive_expsym_cmds"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+	  fi
+	  archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+            archive_expsym_cmds=''
+        ;;
+      m68k)
+            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_minus_L=yes
+        ;;
+      esac
+      ;;
+
+    bsdi[45]*)
+      export_dynamic_flag_spec=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      case $cc_basename in
+      cl*)
+	# Native MSVC
+	hardcode_libdir_flag_spec=' '
+	allow_undefined_flag=unsupported
+	always_export_symbols=yes
+	file_list_spec='@'
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=.dll
+	# FIXME: Setting linknames here is a bad hack.
+	archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+	archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[	 ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
+            cp "$export_symbols" "$output_objdir/$soname.def";
+            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+          else
+            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+          fi~
+          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+          linknames='
+	# The linker will not automatically build a static lib if we build a DLL.
+	# _LT_TAGVAR(old_archive_from_new_cmds, )='true'
+	enable_shared_with_static_runtimes=yes
+	exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+	export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+	# Don't use ranlib
+	old_postinstall_cmds='chmod 644 $oldlib'
+	postlink_cmds='lt_outputfile="@OUTPUT@"~
+          lt_tool_outputfile="@TOOL_OUTPUT@"~
+          case $lt_outputfile in
+            *.exe|*.EXE) ;;
+            *)
+              lt_outputfile=$lt_outputfile.exe
+              lt_tool_outputfile=$lt_tool_outputfile.exe
+              ;;
+          esac~
+          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+            $RM "$lt_outputfile.manifest";
+          fi'
+	;;
+      *)
+	# Assume MSVC wrapper
+	hardcode_libdir_flag_spec=' '
+	allow_undefined_flag=unsupported
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=.dll
+	# FIXME: Setting linknames here is a bad hack.
+	archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+	# The linker will automatically build a .lib file if we build a DLL.
+	old_archive_from_new_cmds='true'
+	# FIXME: Should let the user specify the lib program.
+	old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+	enable_shared_with_static_runtimes=yes
+	;;
+      esac
+      ;;
+
+    darwin* | rhapsody*)
+
+
+  archive_cmds_need_lc=no
+  hardcode_direct=no
+  hardcode_automatic=yes
+  hardcode_shlibpath_var=unsupported
+  if test yes = "$lt_cv_ld_force_load"; then
+    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
+  else
+    whole_archive_flag_spec=''
+  fi
+  link_all_deplibs=yes
+  allow_undefined_flag=$_lt_dar_allow_undefined
+  case $cc_basename in
+     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
+     *) _lt_dar_can_shared=$GCC ;;
+  esac
+  if test yes = "$_lt_dar_can_shared"; then
+    output_verbose_link_cmd=func_echo_all
+    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+    archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+    module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
+
+  else
+  ld_shlibs=no
+  fi
+
+      ;;
+
+    dgux*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2.*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    hpux9*)
+      if test yes = "$GCC"; then
+	archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+      else
+	archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+      fi
+      hardcode_libdir_flag_spec='$wl+b $wl$libdir'
+      hardcode_libdir_separator=:
+      hardcode_direct=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      hardcode_minus_L=yes
+      export_dynamic_flag_spec='$wl-E'
+      ;;
+
+    hpux10*)
+      if test yes,no = "$GCC,$with_gnu_ld"; then
+	archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test no = "$with_gnu_ld"; then
+	hardcode_libdir_flag_spec='$wl+b $wl$libdir'
+	hardcode_libdir_separator=:
+	hardcode_direct=yes
+	hardcode_direct_absolute=yes
+	export_dynamic_flag_spec='$wl-E'
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	hardcode_minus_L=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test yes,no = "$GCC,$with_gnu_ld"; then
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+
+	  # Older versions of the 11.00 compiler do not understand -b yet
+	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
+$as_echo_n "checking if $CC understands -b... " >&6; }
+if ${lt_cv_prog_compiler__b+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler__b=no
+   save_LDFLAGS=$LDFLAGS
+   LDFLAGS="$LDFLAGS -b"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_cv_prog_compiler__b=yes
+       fi
+     else
+       lt_cv_prog_compiler__b=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS=$save_LDFLAGS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
+$as_echo "$lt_cv_prog_compiler__b" >&6; }
+
+if test yes = "$lt_cv_prog_compiler__b"; then
+    archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+else
+    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+fi
+
+	  ;;
+	esac
+      fi
+      if test no = "$with_gnu_ld"; then
+	hardcode_libdir_flag_spec='$wl+b $wl$libdir'
+	hardcode_libdir_separator=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  hardcode_direct=no
+	  hardcode_shlibpath_var=no
+	  ;;
+	*)
+	  hardcode_direct=yes
+	  hardcode_direct_absolute=yes
+	  export_dynamic_flag_spec='$wl-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  hardcode_minus_L=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test yes = "$GCC"; then
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+	# Try to use the -exported_symbol ld option, if it does not
+	# work, assume that -exports_file does not work either and
+	# implicitly export all symbols.
+	# This should be the same for all languages, so no per-tag cache variable.
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
+$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
+if ${lt_cv_irix_exported_symbol+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  save_LDFLAGS=$LDFLAGS
+	   LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
+	   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+int foo (void) { return 0; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_irix_exported_symbol=yes
+else
+  lt_cv_irix_exported_symbol=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+           LDFLAGS=$save_LDFLAGS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
+$as_echo "$lt_cv_irix_exported_symbol" >&6; }
+	if test yes = "$lt_cv_irix_exported_symbol"; then
+          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
+	fi
+      else
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+      hardcode_libdir_separator=:
+      inherit_rpath=yes
+      link_all_deplibs=yes
+      ;;
+
+    linux*)
+      case $cc_basename in
+      tcc*)
+	# Fabrice Bellard et al's Tiny C Compiler
+	ld_shlibs=yes
+	archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      esac
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    newsos6)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+      hardcode_libdir_separator=:
+      hardcode_shlibpath_var=no
+      ;;
+
+    *nto* | *qnx*)
+      ;;
+
+    openbsd* | bitrig*)
+      if test -f /usr/libexec/ld.so; then
+	hardcode_direct=yes
+	hardcode_shlibpath_var=no
+	hardcode_direct_absolute=yes
+	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+	  hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+	  export_dynamic_flag_spec='$wl-E'
+	else
+	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+	fi
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      allow_undefined_flag=unsupported
+      shrext_cmds=.dll
+      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      enable_shared_with_static_runtimes=yes
+      ;;
+
+    osf3*)
+      if test yes = "$GCC"; then
+	allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+	archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+      else
+	allow_undefined_flag=' -expect_unresolved \*'
+	archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+      hardcode_libdir_separator=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test yes = "$GCC"; then
+	allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+	archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+	hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+      else
+	allow_undefined_flag=' -expect_unresolved \*'
+	archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+	archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+          $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	hardcode_libdir_flag_spec='-rpath $libdir'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_separator=:
+      ;;
+
+    solaris*)
+      no_undefined_flag=' -z defs'
+      if test yes = "$GCC"; then
+	wlarc='$wl'
+	archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+          $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+      else
+	case `$CC -V 2>&1` in
+	*"Compilers 5.0"*)
+	  wlarc=''
+	  archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+	  ;;
+	*)
+	  wlarc='$wl'
+	  archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+	  ;;
+	esac
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_shlibpath_var=no
+      case $host_os in
+      solaris2.[0-5] | solaris2.[0-5].*) ;;
+      *)
+	# The compiler driver will combine and reorder linker options,
+	# but understands '-z linker_flag'.  GCC discards it without '$wl',
+	# but is careful enough not to reorder.
+	# Supported since Solaris 2.6 (maybe 2.5.1?)
+	if test yes = "$GCC"; then
+	  whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+	else
+	  whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+	fi
+	;;
+      esac
+      link_all_deplibs=yes
+      ;;
+
+    sunos4*)
+      if test sequent = "$host_vendor"; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  reload_cmds='$CC -r -o $output$reload_objs'
+	  hardcode_direct=no
+        ;;
+	motorola)
+	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      hardcode_shlibpath_var=no
+      ;;
+
+    sysv4.3*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_shlibpath_var=no
+      export_dynamic_flag_spec='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	hardcode_shlibpath_var=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	ld_shlibs=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+      no_undefined_flag='$wl-z,text'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      runpath_var='LD_RUN_PATH'
+
+      if test yes = "$GCC"; then
+	archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We CANNOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      no_undefined_flag='$wl-z,text'
+      allow_undefined_flag='$wl-z,nodefs'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='$wl-R,$libdir'
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+      export_dynamic_flag_spec='$wl-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test yes = "$GCC"; then
+	archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
+
+    *)
+      ld_shlibs=no
+      ;;
+    esac
+
+    if test sni = "$host_vendor"; then
+      case $host in
+      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+	export_dynamic_flag_spec='$wl-Blargedynsym'
+	;;
+      esac
+    fi
+  fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
+test no = "$ld_shlibs" && can_build_shared=no
+
+with_gnu_ld=$with_gnu_ld
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc=yes
+
+  if test yes,yes = "$GCC,$enable_shared"; then
+    case $archive_cmds in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  $RM conftest*
+	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+	if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } 2>conftest.err; then
+	  soname=conftest
+	  lib=conftest
+	  libobjs=conftest.$ac_objext
+	  deplibs=
+	  wl=$lt_prog_compiler_wl
+	  pic_flag=$lt_prog_compiler_pic
+	  compiler_flags=-v
+	  linker_flags=-v
+	  verstring=
+	  output_objdir=.
+	  libname=conftest
+	  lt_save_allow_undefined_flag=$allow_undefined_flag
+	  allow_undefined_flag=
+	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+	  then
+	    lt_cv_archive_cmds_need_lc=no
+	  else
+	    lt_cv_archive_cmds_need_lc=yes
+	  fi
+	  allow_undefined_flag=$lt_save_allow_undefined_flag
+	else
+	  cat conftest.err 1>&5
+	fi
+	$RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
+      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+if test yes = "$GCC"; then
+  case $host_os in
+    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+    *) lt_awk_arg='/^libraries:/' ;;
+  esac
+  case $host_os in
+    mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
+    *) lt_sed_strip_eq='s|=/|/|g' ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+  case $lt_search_path_spec in
+  *\;*)
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+    ;;
+  *)
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+    ;;
+  esac
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary...
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  # ...but if some path component already ends with the multilib dir we assume
+  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+  case "$lt_multi_os_dir; $lt_search_path_spec " in
+  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+    lt_multi_os_dir=
+    ;;
+  esac
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+    elif test -n "$lt_multi_os_dir"; then
+      test -d "$lt_sys_path" && \
+	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS = " "; FS = "/|\n";} {
+  lt_foo = "";
+  lt_count = 0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo = "/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[lt_foo]++; }
+  if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+  # AWK program above erroneously prepends '/' to C:/dos/paths
+  # for these hosts.
+  case $host_os in
+    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+      $SED 's|/\([A-Za-z]:\)|\1|g'` ;;
+  esac
+  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=.so
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+
+
+case $host_os in
+aix3*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='$libname$release$shared_ext$major'
+  ;;
+
+aix[4-9]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test ia64 = "$host_cpu"; then
+    # AIX 5 supports IA64
+    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line '#! .'.  This would cause the generated library to
+    # depend on '.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # Using Import Files as archive members, it is possible to support
+    # filename-based versioning of shared library archives on AIX. While
+    # this would work for both with and without runtime linking, it will
+    # prevent static linking of such archives. So we do filename-based
+    # shared library versioning with .so extension only, which is used
+    # when both runtime linking and shared linking is enabled.
+    # Unfortunately, runtime linking may impact performance, so we do
+    # not want this to be the default eventually. Also, we use the
+    # versioned .so libs for executables only if there is the -brtl
+    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+    # To allow for filename-based versioning support, we need to create
+    # libNAME.so.V as an archive file, containing:
+    # *) an Import File, referring to the versioned filename of the
+    #    archive as well as the shared archive member, telling the
+    #    bitwidth (32 or 64) of that shared object, and providing the
+    #    list of exported symbols of that shared object, eventually
+    #    decorated with the 'weak' keyword
+    # *) the shared object with the F_LOADONLY flag set, to really avoid
+    #    it being seen by the linker.
+    # At run time we better use the real file rather than another symlink,
+    # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+    case $with_aix_soname,$aix_use_runtimelinking in
+    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    aix,yes) # traditional libtool
+      dynamic_linker='AIX unversionable lib.so'
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      ;;
+    aix,no) # traditional AIX only
+      dynamic_linker='AIX lib.a(lib.so.V)'
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      ;;
+    svr4,*) # full svr4 only
+      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,yes) # both, prefer svr4
+      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # unpreferred sharedlib libNAME.a needs extra handling
+      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,no) # both, prefer aix
+      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+      ;;
+    esac
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
+  ;;
+
+beos*)
+  library_names_spec='$libname$shared_ext'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+  version_type=windows
+  shrext_cmds=.dll
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$cc_basename in
+  yes,*)
+    # gcc
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+
+      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+      ;;
+    esac
+    dynamic_linker='Win32 ld.exe'
+    ;;
+
+  *,cl*)
+    # Native MSVC
+    libname_spec='$name'
+    soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+    library_names_spec='$libname.dll.lib'
+
+    case $build_os in
+    mingw*)
+      sys_lib_search_path_spec=
+      lt_save_ifs=$IFS
+      IFS=';'
+      for lt_path in $LIB
+      do
+        IFS=$lt_save_ifs
+        # Let DOS variable expansion print the short 8.3 style file name.
+        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+      done
+      IFS=$lt_save_ifs
+      # Convert to MSYS style.
+      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+      ;;
+    cygwin*)
+      # Convert to unix form, then to dos form, then back to unix form
+      # but this time dos style (no spaces!) so that the unix form looks
+      # like /cygdrive/c/PROGRA~1:/cygdr...
+      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      ;;
+    *)
+      sys_lib_search_path_spec=$LIB
+      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      # FIXME: find the short name or the path components, as spaces are
+      # common. (e.g. "Program Files" -> "PROGRA~1")
+      ;;
+    esac
+
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+    dynamic_linker='Win32 link.exe'
+    ;;
+
+  *)
+    # Assume MSVC wrapper
+    library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
+    dynamic_linker='Win32 ld.exe'
+    ;;
+  esac
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$major$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[23].*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      soname_spec='$libname$release$shared_ext$major'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2.*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+haiku*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    if test 32 = "$HPUX_IA64_MODE"; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
+    fi
+    ;;
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+  postinstall_cmds='chmod 555 $lib'
+  # or fails outright, so override atomically:
+  install_override_mode=555
+  ;;
+
+interix[3-9]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test yes = "$lt_cv_prog_gnu_ld"; then
+		version_type=linux # correct to gnu/linux during the next big refactor
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+linux*android*)
+  version_type=none # Android doesn't support versioned libraries.
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext'
+  soname_spec='$libname$release$shared_ext'
+  finish_cmds=
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  dynamic_linker='Android linker'
+  # Don't embed -rpath directories since the linker doesn't support them.
+  hardcode_libdir_flag_spec='-L$libdir'
+  ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+
+  # Some binutils ld are patched to set DT_RUNPATH
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_shlibpath_overrides_runpath=no
+    save_LDFLAGS=$LDFLAGS
+    save_libdir=$libdir
+    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+	 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+  lt_cv_shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    LDFLAGS=$save_LDFLAGS
+    libdir=$save_libdir
+
+fi
+
+  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Ideally, we could use ldconfig to report *all* directores which are
+  # searched for libraries, however this is still not possible.  Aside from not
+  # being certain /sbin/ldconfig is available, command
+  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+  # even though it is searched at run-time.  Try to do the best guess by
+  # appending ld.so.conf contents (and includes) to the search path.
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+*nto* | *qnx*)
+  version_type=qnx
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
+  ;;
+
+openbsd* | bitrig*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec=/usr/lib
+  need_lib_prefix=no
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+    need_version=no
+  else
+    need_version=yes
+  fi
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+os2*)
+  libname_spec='$name'
+  version_type=windows
+  shrext_cmds=.dll
+  need_version=no
+  need_lib_prefix=no
+  # OS/2 can only load a DLL with a base name of 8 characters or less.
+  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+    v=$($ECHO $release$versuffix | tr -d .-);
+    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+    $ECHO $n$v`$shared_ext'
+  library_names_spec='${libname}_dll.$libext'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=BEGINLIBPATH
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  postinstall_cmds='base_file=`basename \$file`~
+    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+    dldir=$destdir/`dirname \$dlpath`~
+    test -d \$dldir || mkdir -p \$dldir~
+    $install_prog $dir/$dlname \$dldir/$dlname~
+    chmod a+x \$dldir/$dlname~
+    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+    fi'
+  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+    dlpath=$dir/\$dldll~
+    $RM \$dlpath'
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  ;;
+
+rdos*)
+  dynamic_linker=no
+  ;;
+
+solaris*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test yes = "$with_gnu_ld"; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec; then
+    version_type=linux # correct to gnu/linux during the next big refactor
+    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+    soname_spec='$libname$shared_ext.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=sco
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  if test yes = "$with_gnu_ld"; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+uts4*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test no = "$dynamic_linker" && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test yes = "$GCC"; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
+fi
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
+fi
+
+# lt_cv_sys_lib... is unaugmented for libtool script decls...
+lt_cv_sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec
+
+# ..but sys_lib_... needs LT_SYS_LIBRARY_PATH munging for
+# LT_SYS_DLSEARCH_PATH macro in ltdl.m4 to work with the correct paths:
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" ||
+   test -n "$runpath_var" ||
+   test yes = "$hardcode_automatic"; then
+
+  # We can hardcode non-existent directories.
+  if test no != "$hardcode_direct" &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&
+     test no != "$hardcode_minus_L"; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action=unsupported
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
+
+if test relink = "$hardcode_action" ||
+   test yes = "$inherit_rpath"; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test yes = "$shlibpath_overrides_runpath" ||
+     test no = "$enable_shared"; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+
+
+
+
+
+  if test yes != "$enable_dlopen"; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen=load_add_on
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32* | cegcc*)
+    lt_cv_dlopen=LoadLibrary
+    lt_cv_dlopen_libs=
+    ;;
+
+  cygwin*)
+    lt_cv_dlopen=dlopen
+    lt_cv_dlopen_libs=
+    ;;
+
+  darwin*)
+    # if libdl is installed we need to link against it
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dl_dlopen=yes
+else
+  ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
+else
+
+    lt_cv_dlopen=dyld
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+
+fi
+
+    ;;
+
+  tpf*)
+    # Don't try to run any link tests for TPF.  We know it's impossible
+    # because TPF is a cross-compiler, and we know how we open DSOs.
+    lt_cv_dlopen=dlopen
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=no
+    ;;
+
+  *)
+    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
+if test "x$ac_cv_func_shl_load" = xyes; then :
+  lt_cv_dlopen=shl_load
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if ${ac_cv_lib_dld_shl_load+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dld_shl_load=yes
+else
+  ac_cv_lib_dld_shl_load=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
+  lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
+else
+  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = xyes; then :
+  lt_cv_dlopen=dlopen
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dl_dlopen=yes
+else
+  ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if ${ac_cv_lib_svld_dlopen+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_svld_dlopen=yes
+else
+  ac_cv_lib_svld_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
+  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if ${ac_cv_lib_dld_dld_link+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dld_dld_link=yes
+else
+  ac_cv_lib_dld_dld_link=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
+  lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+    ;;
+  esac
+
+  if test no = "$lt_cv_dlopen"; then
+    enable_dlopen=no
+  else
+    enable_dlopen=yes
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS=$CPPFLAGS
+    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS=$LDFLAGS
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS=$LIBS
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  	  if test yes = "$cross_compiling"; then :
+  lt_cv_dlopen_self=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+/* When -fvisibility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}
+_LT_EOF
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+    esac
+  else :
+    # compilation failed
+    lt_cv_dlopen_self=no
+  fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
+
+    if test yes = "$lt_cv_dlopen_self"; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self_static+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  	  if test yes = "$cross_compiling"; then :
+  lt_cv_dlopen_self_static=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+/* When -fvisibility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}
+_LT_EOF
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+    esac
+  else :
+    # compilation failed
+    lt_cv_dlopen_self_static=no
+  fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+    fi
+
+    CPPFLAGS=$save_CPPFLAGS
+    LDFLAGS=$save_LDFLAGS
+    LIBS=$save_LIBS
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+striplib=
+old_striplib=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+  darwin*)
+    if test -n "$STRIP"; then
+      striplib="$STRIP -x"
+      old_striplib="$STRIP -S"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    fi
+    ;;
+  *)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    ;;
+  esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+  # Report what library types will actually be built
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
+  test no = "$can_build_shared" && enable_shared=no
+
+  # On AIX, shared libraries and static libraries use the same namespace, and
+  # are all built from PIC.
+  case $host_os in
+  aix3*)
+    test yes = "$enable_shared" && enable_static=no
+    if test -n "$RANLIB"; then
+      archive_cmds="$archive_cmds~\$RANLIB \$lib"
+      postinstall_cmds='$RANLIB $lib'
+    fi
+    ;;
+
+  aix[4-9]*)
+    if test ia64 != "$host_cpu"; then
+      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+      yes,aix,yes) ;;			# shared object as lib.so file only
+      yes,svr4,*) ;;			# shared object as lib.so archive member only
+      yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+      esac
+    fi
+    ;;
+  esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+  # Make sure either enable_shared or enable_static is yes.
+  test yes = "$enable_shared" || enable_static=yes
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
+
+
+
+
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC=$lt_save_CC
+
+      if test -n "$CXX" && ( test no != "$CXX" &&
+    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
+    (test g++ != "$CXX"))); then
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
+if test -z "$CXXCPP"; then
+  if ${ac_cv_prog_CXXCPP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+      # Double quotes because CXXCPP needs to be expanded
+    for CXXCPP in "$CXX -E" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
+fi
+
+    done
+    ac_cv_prog_CXXCPP=$CXXCPP
+
+fi
+  CXXCPP=$ac_cv_prog_CXXCPP
+else
+  ac_cv_prog_CXXCPP=$CXXCPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+else
+  _lt_caught_CXX_error=yes
+fi
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+archive_cmds_need_lc_CXX=no
+allow_undefined_flag_CXX=
+always_export_symbols_CXX=no
+archive_expsym_cmds_CXX=
+compiler_needs_object_CXX=no
+export_dynamic_flag_spec_CXX=
+hardcode_direct_CXX=no
+hardcode_direct_absolute_CXX=no
+hardcode_libdir_flag_spec_CXX=
+hardcode_libdir_separator_CXX=
+hardcode_minus_L_CXX=no
+hardcode_shlibpath_var_CXX=unsupported
+hardcode_automatic_CXX=no
+inherit_rpath_CXX=no
+module_cmds_CXX=
+module_expsym_cmds_CXX=
+link_all_deplibs_CXX=unknown
+old_archive_cmds_CXX=$old_archive_cmds
+reload_flag_CXX=$reload_flag
+reload_cmds_CXX=$reload_cmds
+no_undefined_flag_CXX=
+whole_archive_flag_spec_CXX=
+enable_shared_with_static_runtimes_CXX=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+objext_CXX=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test yes != "$_lt_caught_CXX_error"; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="int some_variable = 0;"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+  # save warnings/boilerplate of simple test code
+  ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+
+  ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC=$CC
+  lt_save_CFLAGS=$CFLAGS
+  lt_save_LD=$LD
+  lt_save_GCC=$GCC
+  GCC=$GXX
+  lt_save_with_gnu_ld=$with_gnu_ld
+  lt_save_path_LD=$lt_cv_path_LD
+  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+  else
+    $as_unset lt_cv_prog_gnu_ld
+  fi
+  if test -n "${lt_cv_path_LDCXX+set}"; then
+    lt_cv_path_LD=$lt_cv_path_LDCXX
+  else
+    $as_unset lt_cv_path_LD
+  fi
+  test -z "${LDCXX+set}" || LD=$LDCXX
+  CC=${CXX-"c++"}
+  CFLAGS=$CXXFLAGS
+  compiler=$CC
+  compiler_CXX=$CC
+  func_cc_basename $compiler
+cc_basename=$func_cc_basename_result
+
+
+  if test -n "$compiler"; then
+    # We don't want -fno-exception when compiling C++ code, so set the
+    # no_builtin_flag separately
+    if test yes = "$GXX"; then
+      lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
+    else
+      lt_prog_compiler_no_builtin_flag_CXX=
+    fi
+
+    if test yes = "$GXX"; then
+      # Set up default GNU C++ configuration
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+  withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test yes = "$GCC"; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return, which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD=$ac_prog
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test yes = "$with_gnu_ld"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if ${lt_cv_path_LD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$LD"; then
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS=$lt_save_ifs
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD=$ac_dir/$ac_prog
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test no != "$with_gnu_ld" && break
+	;;
+      *)
+	test yes != "$with_gnu_ld" && break
+	;;
+      esac
+    fi
+  done
+  IFS=$lt_save_ifs
+else
+  lt_cv_path_LD=$LD # Let the user override the test with a path.
+fi
+fi
+
+LD=$lt_cv_path_LD
+if test -n "$LD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if ${lt_cv_prog_gnu_ld+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+
+
+
+
+      # Check if GNU C++ uses GNU ld as the underlying linker, since the
+      # archiving commands below assume that GNU ld is being used.
+      if test yes = "$with_gnu_ld"; then
+        archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+        archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+
+        hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
+        export_dynamic_flag_spec_CXX='$wl--export-dynamic'
+
+        # If archive_cmds runs LD, not CC, wlarc should be empty
+        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+        #     investigate it a little bit more. (MM)
+        wlarc='$wl'
+
+        # ancient GNU ld didn't support --whole-archive et. al.
+        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+	  $GREP 'no-whole-archive' > /dev/null; then
+          whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+        else
+          whole_archive_flag_spec_CXX=
+        fi
+      else
+        with_gnu_ld=no
+        wlarc=
+
+        # A generic and very simple default shared library creation
+        # command for GNU C++ for the case where it uses the native
+        # linker, instead of GNU ld.  If possible, this setting should
+        # overridden to take advantage of the native linker features on
+        # the platform it is being used on.
+        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      fi
+
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+    else
+      GXX=no
+      with_gnu_ld=no
+      wlarc=
+    fi
+
+    # PORTME: fill in a description of your system's C++ link characteristics
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+    ld_shlibs_CXX=yes
+    case $host_os in
+      aix3*)
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+        ;;
+      aix[4-9]*)
+        if test ia64 = "$host_cpu"; then
+          # On IA64, the linker does run time linking by default, so we don't
+          # have to do anything special.
+          aix_use_runtimelinking=no
+          exp_sym_flag='-Bexport'
+          no_entry_flag=
+        else
+          aix_use_runtimelinking=no
+
+          # Test if we are trying to use run time linking or normal
+          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+          # have runtime linking enabled, and use it for executables.
+          # For shared libraries, we enable/disable runtime linking
+          # depending on the kind of the shared library created -
+          # when "with_aix_soname,aix_use_runtimelinking" is:
+          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+          # "aix,yes"  lib.so          shared, rtl:yes, for executables
+          #            lib.a           static archive
+          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
+          #            lib.a(lib.so.V) shared, rtl:no,  for executables
+          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+          #            lib.a(lib.so.V) shared, rtl:no
+          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+          #            lib.a           static archive
+          case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+	    for ld_flag in $LDFLAGS; do
+	      case $ld_flag in
+	      *-brtl*)
+	        aix_use_runtimelinking=yes
+	        break
+	        ;;
+	      esac
+	    done
+	    if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+	      # With aix-soname=svr4, we create the lib.so.V shared archives only,
+	      # so we don't have lib.a shared libs to link our executables.
+	      # We have to force runtime linking in this case.
+	      aix_use_runtimelinking=yes
+	      LDFLAGS="$LDFLAGS -Wl,-brtl"
+	    fi
+	    ;;
+          esac
+
+          exp_sym_flag='-bexport'
+          no_entry_flag='-bnoentry'
+        fi
+
+        # When large executables or shared objects are built, AIX ld can
+        # have problems creating the table of contents.  If linking a library
+        # or program results in "error TOC overflow" add -mminimal-toc to
+        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+        archive_cmds_CXX=''
+        hardcode_direct_CXX=yes
+        hardcode_direct_absolute_CXX=yes
+        hardcode_libdir_separator_CXX=':'
+        link_all_deplibs_CXX=yes
+        file_list_spec_CXX='$wl-f,'
+        case $with_aix_soname,$aix_use_runtimelinking in
+        aix,*) ;;	# no import file
+        svr4,* | *,yes) # use import file
+          # The Import File defines what to hardcode.
+          hardcode_direct_CXX=no
+          hardcode_direct_absolute_CXX=no
+          ;;
+        esac
+
+        if test yes = "$GXX"; then
+          case $host_os in aix4.[012]|aix4.[012].*)
+          # We only want to do this on AIX 4.2 and lower, the check
+          # below for broken collect2 doesn't work under 4.3+
+	  collect2name=`$CC -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	    # We have reworked collect2
+	    :
+	  else
+	    # We have old collect2
+	    hardcode_direct_CXX=unsupported
+	    # It fails to find uninstalled libraries when the uninstalled
+	    # path is not listed in the libpath.  Setting hardcode_minus_L
+	    # to unsupported forces relinking
+	    hardcode_minus_L_CXX=yes
+	    hardcode_libdir_flag_spec_CXX='-L$libdir'
+	    hardcode_libdir_separator_CXX=
+	  fi
+          esac
+          shared_flag='-shared'
+	  if test yes = "$aix_use_runtimelinking"; then
+	    shared_flag=$shared_flag' $wl-G'
+	  fi
+	  # Need to ensure runtime linking is disabled for the traditional
+	  # shared library, or the linker may eventually find shared libraries
+	  # /with/ Import File - we do not want to mix them.
+	  shared_flag_aix='-shared'
+	  shared_flag_svr4='-shared $wl-G'
+        else
+          # not using gcc
+          if test ia64 = "$host_cpu"; then
+	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	  # chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+          else
+	    if test yes = "$aix_use_runtimelinking"; then
+	      shared_flag='$wl-G'
+	    else
+	      shared_flag='$wl-bM:SRE'
+	    fi
+	    shared_flag_aix='$wl-bM:SRE'
+	    shared_flag_svr4='$wl-G'
+          fi
+        fi
+
+        export_dynamic_flag_spec_CXX='$wl-bexpall'
+        # It seems that -bexpall does not export symbols beginning with
+        # underscore (_), so it is better to generate a list of symbols to
+	# export.
+        always_export_symbols_CXX=yes
+	if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
+          # Warning - without using the other runtime loading flags (-brtl),
+          # -berok will link without error, but may produce a broken library.
+          # The "-G" linker flag allows undefined symbols.
+          no_undefined_flag_CXX='-bernotok'
+          # Determine the default libpath from the value encoded in an empty
+          # executable.
+          if test set = "${lt_cv_aix_libpath+set}"; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  if ${lt_cv_aix_libpath__CXX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+
+  lt_aix_libpath_sed='
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }'
+  lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$lt_cv_aix_libpath__CXX"; then
+    lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  if test -z "$lt_cv_aix_libpath__CXX"; then
+    lt_cv_aix_libpath__CXX=/usr/lib:/lib
+  fi
+
+fi
+
+  aix_libpath=$lt_cv_aix_libpath__CXX
+fi
+
+          hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"
+
+          archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
+        else
+          if test ia64 = "$host_cpu"; then
+	    hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib'
+	    allow_undefined_flag_CXX="-z nodefs"
+	    archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
+          else
+	    # Determine the default libpath from the value encoded in an
+	    # empty executable.
+	    if test set = "${lt_cv_aix_libpath+set}"; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  if ${lt_cv_aix_libpath__CXX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+
+  lt_aix_libpath_sed='
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }'
+  lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$lt_cv_aix_libpath__CXX"; then
+    lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  if test -z "$lt_cv_aix_libpath__CXX"; then
+    lt_cv_aix_libpath__CXX=/usr/lib:/lib
+  fi
+
+fi
+
+  aix_libpath=$lt_cv_aix_libpath__CXX
+fi
+
+	    hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"
+	    # Warning - without using the other run time loading flags,
+	    # -berok will link without error, but may produce a broken library.
+	    no_undefined_flag_CXX=' $wl-bernotok'
+	    allow_undefined_flag_CXX=' $wl-berok'
+	    if test yes = "$with_gnu_ld"; then
+	      # We only use this code for GNU lds that support --whole-archive.
+	      whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'
+	    else
+	      # Exported symbols can be pulled into shared objects from archives
+	      whole_archive_flag_spec_CXX='$convenience'
+	    fi
+	    archive_cmds_need_lc_CXX=yes
+	    archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+	    # -brtl affects multiple linker settings, -berok does not and is overridden later
+	    compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
+	    if test svr4 != "$with_aix_soname"; then
+	      # This is similar to how AIX traditionally builds its shared
+	      # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
+	      archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+	    fi
+	    if test aix != "$with_aix_soname"; then
+	      archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+	    else
+	      # used by -dlpreopen to get the symbols
+	      archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+	    fi
+	    archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d'
+          fi
+        fi
+        ;;
+
+      beos*)
+	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	  allow_undefined_flag_CXX=unsupported
+	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+	  # support --undefined.  This deserves some investigation.  FIXME
+	  archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	else
+	  ld_shlibs_CXX=no
+	fi
+	;;
+
+      chorus*)
+        case $cc_basename in
+          *)
+	  # FIXME: insert proper C++ library support
+	  ld_shlibs_CXX=no
+	  ;;
+        esac
+        ;;
+
+      cygwin* | mingw* | pw32* | cegcc*)
+	case $GXX,$cc_basename in
+	,cl* | no,cl*)
+	  # Native MSVC
+	  # hardcode_libdir_flag_spec is actually meaningless, as there is
+	  # no search path for DLLs.
+	  hardcode_libdir_flag_spec_CXX=' '
+	  allow_undefined_flag_CXX=unsupported
+	  always_export_symbols_CXX=yes
+	  file_list_spec_CXX='@'
+	  # Tell ltmain to make .lib files, not .a files.
+	  libext=lib
+	  # Tell ltmain to make .dll files, not .so files.
+	  shrext_cmds=.dll
+	  # FIXME: Setting linknames here is a bad hack.
+	  archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+	  archive_expsym_cmds_CXX='if   test DEF = "`$SED -n     -e '\''s/^[	 ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
+              cp "$export_symbols" "$output_objdir/$soname.def";
+              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+            else
+              $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+            fi~
+            $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+            linknames='
+	  # The linker will not automatically build a static lib if we build a DLL.
+	  # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true'
+	  enable_shared_with_static_runtimes_CXX=yes
+	  # Don't use ranlib
+	  old_postinstall_cmds_CXX='chmod 644 $oldlib'
+	  postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~
+            lt_tool_outputfile="@TOOL_OUTPUT@"~
+            case $lt_outputfile in
+              *.exe|*.EXE) ;;
+              *)
+                lt_outputfile=$lt_outputfile.exe
+                lt_tool_outputfile=$lt_tool_outputfile.exe
+                ;;
+            esac~
+            func_to_tool_file "$lt_outputfile"~
+            if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+              $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+              $RM "$lt_outputfile.manifest";
+            fi'
+	  ;;
+	*)
+	  # g++
+	  # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+	  # as there is no search path for DLLs.
+	  hardcode_libdir_flag_spec_CXX='-L$libdir'
+	  export_dynamic_flag_spec_CXX='$wl--export-all-symbols'
+	  allow_undefined_flag_CXX=unsupported
+	  always_export_symbols_CXX=no
+	  enable_shared_with_static_runtimes_CXX=yes
+
+	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+	    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	    # If the export-symbols file already is a .def file, use it as
+	    # is; otherwise, prepend EXPORTS...
+	    archive_expsym_cmds_CXX='if   test DEF = "`$SED -n     -e '\''s/^[	 ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
+              cp $export_symbols $output_objdir/$soname.def;
+            else
+              echo EXPORTS > $output_objdir/$soname.def;
+              cat $export_symbols >> $output_objdir/$soname.def;
+            fi~
+            $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	  else
+	    ld_shlibs_CXX=no
+	  fi
+	  ;;
+	esac
+	;;
+      darwin* | rhapsody*)
+
+
+  archive_cmds_need_lc_CXX=no
+  hardcode_direct_CXX=no
+  hardcode_automatic_CXX=yes
+  hardcode_shlibpath_var_CXX=unsupported
+  if test yes = "$lt_cv_ld_force_load"; then
+    whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
+  else
+    whole_archive_flag_spec_CXX=''
+  fi
+  link_all_deplibs_CXX=yes
+  allow_undefined_flag_CXX=$_lt_dar_allow_undefined
+  case $cc_basename in
+     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
+     *) _lt_dar_can_shared=$GCC ;;
+  esac
+  if test yes = "$_lt_dar_can_shared"; then
+    output_verbose_link_cmd=func_echo_all
+    archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+    module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+    archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+    module_expsym_cmds_CXX="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
+       if test yes != "$lt_cv_apple_cc_single_mod"; then
+      archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
+      archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
+    fi
+
+  else
+  ld_shlibs_CXX=no
+  fi
+
+	;;
+
+      os2*)
+	hardcode_libdir_flag_spec_CXX='-L$libdir'
+	hardcode_minus_L_CXX=yes
+	allow_undefined_flag_CXX=unsupported
+	shrext_cmds=.dll
+	archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	  $ECHO EXPORTS >> $output_objdir/$libname.def~
+	  emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	  emximp -o $lib $output_objdir/$libname.def'
+	archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	  $ECHO EXPORTS >> $output_objdir/$libname.def~
+	  prefix_cmds="$SED"~
+	  if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	    prefix_cmds="$prefix_cmds -e 1d";
+	  fi~
+	  prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	  cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	  emximp -o $lib $output_objdir/$libname.def'
+	old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+	enable_shared_with_static_runtimes_CXX=yes
+	;;
+
+      dgux*)
+        case $cc_basename in
+          ec++*)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          ghcx*)
+	    # Green Hills C++ Compiler
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+        esac
+        ;;
+
+      freebsd2.*)
+        # C++ shared libraries reported to be fairly broken before
+	# switch to ELF
+        ld_shlibs_CXX=no
+        ;;
+
+      freebsd-elf*)
+        archive_cmds_need_lc_CXX=no
+        ;;
+
+      freebsd* | dragonfly*)
+        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+        # conventions
+        ld_shlibs_CXX=yes
+        ;;
+
+      haiku*)
+        archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+        link_all_deplibs_CXX=yes
+        ;;
+
+      hpux9*)
+        hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'
+        hardcode_libdir_separator_CXX=:
+        export_dynamic_flag_spec_CXX='$wl-E'
+        hardcode_direct_CXX=yes
+        hardcode_minus_L_CXX=yes # Not in the search PATH,
+				             # but as the default
+				             # location of the library.
+
+        case $cc_basename in
+          CC*)
+            # FIXME: insert proper C++ library support
+            ld_shlibs_CXX=no
+            ;;
+          aCC*)
+            archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+            # Commands to make compiler produce verbose output that lists
+            # what "hidden" libraries, object files and flags are used when
+            # linking a shared library.
+            #
+            # There doesn't appear to be a way to prevent this compiler from
+            # explicitly linking system object files so we need to strip them
+            # from the output so that they don't get included in the library
+            # dependencies.
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+            ;;
+          *)
+            if test yes = "$GXX"; then
+              archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+            else
+              # FIXME: insert proper C++ library support
+              ld_shlibs_CXX=no
+            fi
+            ;;
+        esac
+        ;;
+
+      hpux10*|hpux11*)
+        if test no = "$with_gnu_ld"; then
+	  hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'
+	  hardcode_libdir_separator_CXX=:
+
+          case $host_cpu in
+            hppa*64*|ia64*)
+              ;;
+            *)
+	      export_dynamic_flag_spec_CXX='$wl-E'
+              ;;
+          esac
+        fi
+        case $host_cpu in
+          hppa*64*|ia64*)
+            hardcode_direct_CXX=no
+            hardcode_shlibpath_var_CXX=no
+            ;;
+          *)
+            hardcode_direct_CXX=yes
+            hardcode_direct_absolute_CXX=yes
+            hardcode_minus_L_CXX=yes # Not in the search PATH,
+					         # but as the default
+					         # location of the library.
+            ;;
+        esac
+
+        case $cc_basename in
+          CC*)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          aCC*)
+	    case $host_cpu in
+	      hppa*64*)
+	        archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      ia64*)
+	        archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      *)
+	        archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	    esac
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+	    ;;
+          *)
+	    if test yes = "$GXX"; then
+	      if test no = "$with_gnu_ld"; then
+	        case $host_cpu in
+	          hppa*64*)
+	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          ia64*)
+	            archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          *)
+	            archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	        esac
+	      fi
+	    else
+	      # FIXME: insert proper C++ library support
+	      ld_shlibs_CXX=no
+	    fi
+	    ;;
+        esac
+        ;;
+
+      interix[3-9]*)
+	hardcode_direct_CXX=no
+	hardcode_shlibpath_var_CXX=no
+	hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
+	export_dynamic_flag_spec_CXX='$wl-E'
+	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+	# Instead, shared libraries are loaded at an image base (0x10000000 by
+	# default) and relocated if they conflict, which is a slow very memory
+	# consuming and fragmenting process.  To avoid this, we pick a random,
+	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+	archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	archive_expsym_cmds_CXX='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	;;
+      irix5* | irix6*)
+        case $cc_basename in
+          CC*)
+	    # SGI C++
+	    archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    if test yes = "$GXX"; then
+	      if test no = "$with_gnu_ld"; then
+	        archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+	      else
+	        archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
+	      fi
+	    fi
+	    link_all_deplibs_CXX=yes
+	    ;;
+        esac
+        hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
+        hardcode_libdir_separator_CXX=:
+        inherit_rpath_CXX=yes
+        ;;
+
+      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+	    archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+
+	    hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
+	    export_dynamic_flag_spec_CXX='$wl--export-dynamic'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	    old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+	    ;;
+	  icpc* | ecpc* )
+	    # Intel C++
+	    with_gnu_ld=yes
+	    # version 8.0 and above of icpc choke on multiply defined symbols
+	    # if we add $predep_objects and $postdep_objects, however 7.1 and
+	    # earlier do not add the objects themselves.
+	    case `$CC -V 2>&1` in
+	      *"Version 7."*)
+	        archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+		archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	      *)  # Version 8.0 or newer
+	        tmp_idyn=
+	        case $host_cpu in
+		  ia64*) tmp_idyn=' -i_dynamic';;
+		esac
+	        archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+		archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	    esac
+	    archive_cmds_need_lc_CXX=no
+	    hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
+	    export_dynamic_flag_spec_CXX='$wl--export-dynamic'
+	    whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'
+	    ;;
+          pgCC* | pgcpp*)
+            # Portland Group C++ compiler
+	    case `$CC -V` in
+	    *pgCC\ [1-5].* | *pgcpp\ [1-5].*)
+	      prelink_cmds_CXX='tpldir=Template.dir~
+               rm -rf $tpldir~
+               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+	      old_archive_cmds_CXX='tpldir=Template.dir~
+                rm -rf $tpldir~
+                $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+                $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+                $RANLIB $oldlib'
+	      archive_cmds_CXX='tpldir=Template.dir~
+                rm -rf $tpldir~
+                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+	      archive_expsym_cmds_CXX='tpldir=Template.dir~
+                rm -rf $tpldir~
+                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+	      ;;
+	    *) # Version 6 and above use weak symbols
+	      archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+	      archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+	      ;;
+	    esac
+
+	    hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir'
+	    export_dynamic_flag_spec_CXX='$wl--export-dynamic'
+	    whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+            ;;
+	  cxx*)
+	    # Compaq C++
+	    archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+	    archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname  -o $lib $wl-retain-symbols-file $wl$export_symbols'
+
+	    runpath_var=LD_RUN_PATH
+	    hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+	    hardcode_libdir_separator_CXX=:
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+	    ;;
+	  xl* | mpixl* | bgxl*)
+	    # IBM XL 8.0 on PPC, with GNU ld
+	    hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
+	    export_dynamic_flag_spec_CXX='$wl--export-dynamic'
+	    archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	    if test yes = "$supports_anon_versioning"; then
+	      archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
+                cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+                echo "local: *; };" >> $output_objdir/$libname.ver~
+                $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
+	    fi
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      no_undefined_flag_CXX=' -zdefs'
+	      archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
+	      hardcode_libdir_flag_spec_CXX='-R$libdir'
+	      whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	      compiler_needs_object_CXX=yes
+
+	      # Not sure whether something based on
+	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+	      # would be better.
+	      output_verbose_link_cmd='func_echo_all'
+
+	      # Archives containing C++ object files must be created using
+	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	      # necessary to make sure instantiated templates are included
+	      # in the archive.
+	      old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+
+      lynxos*)
+        # FIXME: insert proper C++ library support
+	ld_shlibs_CXX=no
+	;;
+
+      m88k*)
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+	;;
+
+      mvs*)
+        case $cc_basename in
+          cxx*)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+	  *)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+	esac
+	;;
+
+      netbsd*)
+        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	  archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+	  wlarc=
+	  hardcode_libdir_flag_spec_CXX='-R$libdir'
+	  hardcode_direct_CXX=yes
+	  hardcode_shlibpath_var_CXX=no
+	fi
+	# Workaround some broken pre-1.5 toolchains
+	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+	;;
+
+      *nto* | *qnx*)
+        ld_shlibs_CXX=yes
+	;;
+
+      openbsd* | bitrig*)
+	if test -f /usr/libexec/ld.so; then
+	  hardcode_direct_CXX=yes
+	  hardcode_shlibpath_var_CXX=no
+	  hardcode_direct_absolute_CXX=yes
+	  archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+	  hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
+	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
+	    archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
+	    export_dynamic_flag_spec_CXX='$wl-E'
+	    whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+	  fi
+	  output_verbose_link_cmd=func_echo_all
+	else
+	  ld_shlibs_CXX=no
+	fi
+	;;
+
+      osf3* | osf4* | osf5*)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	    hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
+	    hardcode_libdir_separator_CXX=:
+
+	    # Archives containing C++ object files must be created using
+	    # the KAI C++ compiler.
+	    case $host in
+	      osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
+	      *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
+	    esac
+	    ;;
+          RCC*)
+	    # Rational C++ 2.4.1
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          cxx*)
+	    case $host in
+	      osf3*)
+	        allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'
+	        archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+	        hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
+		;;
+	      *)
+	        allow_undefined_flag_CXX=' -expect_unresolved \*'
+	        archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+	        archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+                  echo "-hidden">> $lib.exp~
+                  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
+                  $RM $lib.exp'
+	        hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+		;;
+	    esac
+
+	    hardcode_libdir_separator_CXX=:
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+	    ;;
+	  *)
+	    if test yes,no = "$GXX,$with_gnu_ld"; then
+	      allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'
+	      case $host in
+	        osf3*)
+	          archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+		  ;;
+	        *)
+	          archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+		  ;;
+	      esac
+
+	      hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
+	      hardcode_libdir_separator_CXX=:
+
+	      # Commands to make compiler produce verbose output that lists
+	      # what "hidden" libraries, object files and flags are used when
+	      # linking a shared library.
+	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+	    else
+	      # FIXME: insert proper C++ library support
+	      ld_shlibs_CXX=no
+	    fi
+	    ;;
+        esac
+        ;;
+
+      psos*)
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+        ;;
+
+      sunos4*)
+        case $cc_basename in
+          CC*)
+	    # Sun C++ 4.x
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          lcc*)
+	    # Lucid
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+        esac
+        ;;
+
+      solaris*)
+        case $cc_basename in
+          CC* | sunCC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+            archive_cmds_need_lc_CXX=yes
+	    no_undefined_flag_CXX=' -zdefs'
+	    archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	    archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+              $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	    hardcode_libdir_flag_spec_CXX='-R$libdir'
+	    hardcode_shlibpath_var_CXX=no
+	    case $host_os in
+	      solaris2.[0-5] | solaris2.[0-5].*) ;;
+	      *)
+		# The compiler driver will combine and reorder linker options,
+		# but understands '-z linker_flag'.
+	        # Supported since Solaris 2.6 (maybe 2.5.1?)
+		whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
+	        ;;
+	    esac
+	    link_all_deplibs_CXX=yes
+
+	    output_verbose_link_cmd='func_echo_all'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+	    ;;
+          gcx*)
+	    # Green Hills C++ Compiler
+	    archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+
+	    # The C++ compiler must be used to create the archive.
+	    old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    # GNU C++ compiler with Solaris linker
+	    if test yes,no = "$GXX,$with_gnu_ld"; then
+	      no_undefined_flag_CXX=' $wl-z ${wl}defs'
+	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+	        archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+	        archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+                  $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	        # Commands to make compiler produce verbose output that lists
+	        # what "hidden" libraries, object files and flags are used when
+	        # linking a shared library.
+	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+	      else
+	        # g++ 2.7 appears to require '-G' NOT '-shared' on this
+	        # platform.
+	        archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+	        archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+                  $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	        # Commands to make compiler produce verbose output that lists
+	        # what "hidden" libraries, object files and flags are used when
+	        # linking a shared library.
+	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+	      fi
+
+	      hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir'
+	      case $host_os in
+		solaris2.[0-5] | solaris2.[0-5].*) ;;
+		*)
+		  whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+		  ;;
+	      esac
+	    fi
+	    ;;
+        esac
+        ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+      no_undefined_flag_CXX='$wl-z,text'
+      archive_cmds_need_lc_CXX=no
+      hardcode_shlibpath_var_CXX=no
+      runpath_var='LD_RUN_PATH'
+
+      case $cc_basename in
+        CC*)
+	  archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+      esac
+      ;;
+
+      sysv5* | sco3.2v5* | sco5v6*)
+	# Note: We CANNOT use -z defs as we might desire, because we do not
+	# link with -lc, and that would cause any symbols used from libc to
+	# always be unresolved, which means just about no library would
+	# ever link correctly.  If we're not using GNU ld we use -z text
+	# though, which does catch some bad symbols but isn't as heavy-handed
+	# as -z defs.
+	no_undefined_flag_CXX='$wl-z,text'
+	allow_undefined_flag_CXX='$wl-z,nodefs'
+	archive_cmds_need_lc_CXX=no
+	hardcode_shlibpath_var_CXX=no
+	hardcode_libdir_flag_spec_CXX='$wl-R,$libdir'
+	hardcode_libdir_separator_CXX=':'
+	link_all_deplibs_CXX=yes
+	export_dynamic_flag_spec_CXX='$wl-Bexport'
+	runpath_var='LD_RUN_PATH'
+
+	case $cc_basename in
+          CC*)
+	    archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~
+              '"$old_archive_cmds_CXX"
+	    reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~
+              '"$reload_cmds_CXX"
+	    ;;
+	  *)
+	    archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    ;;
+	esac
+      ;;
+
+      tandem*)
+        case $cc_basename in
+          NCC*)
+	    # NonStop-UX NCC 3.20
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+        esac
+        ;;
+
+      vxworks*)
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+        ;;
+
+      *)
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+        ;;
+    esac
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
+    test no = "$ld_shlibs_CXX" && can_build_shared=no
+
+    GCC_CXX=$GXX
+    LD_CXX=$LD
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    # Dependencies to place before and after the object being linked:
+predep_objects_CXX=
+postdep_objects_CXX=
+predeps_CXX=
+postdeps_CXX=
+compiler_lib_search_path_CXX=
+
+cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+_LT_EOF
+
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
+if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  # Parse the compiler output and extract the necessary
+  # objects, libraries and library flags.
+
+  # Sentinel used to keep track of whether or not we are before
+  # the conftest object file.
+  pre_test_object_deps_done=no
+
+  for p in `eval "$output_verbose_link_cmd"`; do
+    case $prev$p in
+
+    -L* | -R* | -l*)
+       # Some compilers place space between "-{L,R}" and the path.
+       # Remove the space.
+       if test x-L = "$p" ||
+          test x-R = "$p"; then
+	 prev=$p
+	 continue
+       fi
+
+       # Expand the sysroot to ease extracting the directories later.
+       if test -z "$prev"; then
+         case $p in
+         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+         esac
+       fi
+       case $p in
+       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+       esac
+       if test no = "$pre_test_object_deps_done"; then
+	 case $prev in
+	 -L | -R)
+	   # Internal compiler library paths should come after those
+	   # provided the user.  The postdeps already come after the
+	   # user supplied libs so there is no need to process them.
+	   if test -z "$compiler_lib_search_path_CXX"; then
+	     compiler_lib_search_path_CXX=$prev$p
+	   else
+	     compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p"
+	   fi
+	   ;;
+	 # The "-l" case would never come before the object being
+	 # linked, so don't bother handling this case.
+	 esac
+       else
+	 if test -z "$postdeps_CXX"; then
+	   postdeps_CXX=$prev$p
+	 else
+	   postdeps_CXX="${postdeps_CXX} $prev$p"
+	 fi
+       fi
+       prev=
+       ;;
+
+    *.lto.$objext) ;; # Ignore GCC LTO objects
+    *.$objext)
+       # This assumes that the test object file only shows up
+       # once in the compiler output.
+       if test "$p" = "conftest.$objext"; then
+	 pre_test_object_deps_done=yes
+	 continue
+       fi
+
+       if test no = "$pre_test_object_deps_done"; then
+	 if test -z "$predep_objects_CXX"; then
+	   predep_objects_CXX=$p
+	 else
+	   predep_objects_CXX="$predep_objects_CXX $p"
+	 fi
+       else
+	 if test -z "$postdep_objects_CXX"; then
+	   postdep_objects_CXX=$p
+	 else
+	   postdep_objects_CXX="$postdep_objects_CXX $p"
+	 fi
+       fi
+       ;;
+
+    *) ;; # Ignore the rest.
+
+    esac
+  done
+
+  # Clean up.
+  rm -f a.out a.exe
+else
+  echo "libtool.m4: error: problem compiling CXX test program"
+fi
+
+$RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
+
+# PORTME: override above test on systems where it is broken
+case $host_os in
+interix[3-9]*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  predep_objects_CXX=
+  postdep_objects_CXX=
+  postdeps_CXX=
+  ;;
+esac
+
+
+case " $postdeps_CXX " in
+*" -lc "*) archive_cmds_need_lc_CXX=no ;;
+esac
+ compiler_lib_search_dirs_CXX=
+if test -n "${compiler_lib_search_path_CXX}"; then
+ compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'`
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    lt_prog_compiler_wl_CXX=
+lt_prog_compiler_pic_CXX=
+lt_prog_compiler_static_CXX=
+
+
+  # C++ specific cases for pic, static, wl, etc.
+  if test yes = "$GXX"; then
+    lt_prog_compiler_wl_CXX='-Wl,'
+    lt_prog_compiler_static_CXX='-static'
+
+    case $host_os in
+    aix*)
+      # All AIX code is PIC.
+      if test ia64 = "$host_cpu"; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static_CXX='-Bstatic'
+      fi
+      lt_prog_compiler_pic_CXX='-fPIC'
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            lt_prog_compiler_pic_CXX='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the '-m68020' flag to GCC prevents building anything better,
+            # like '-m68040'.
+            lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | cygwin* | os2* | pw32* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+      case $host_os in
+      os2*)
+	lt_prog_compiler_static_CXX='$wl-static'
+	;;
+      esac
+      ;;
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic_CXX='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      lt_prog_compiler_pic_CXX=
+      ;;
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      lt_prog_compiler_static_CXX=
+      ;;
+    interix[3-9]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic_CXX=-Kconform_pic
+      fi
+      ;;
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+	;;
+      *)
+	lt_prog_compiler_pic_CXX='-fPIC'
+	;;
+      esac
+      ;;
+    *qnx* | *nto*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic_CXX='-fPIC -shared'
+      ;;
+    *)
+      lt_prog_compiler_pic_CXX='-fPIC'
+      ;;
+    esac
+  else
+    case $host_os in
+      aix[4-9]*)
+	# All AIX code is PIC.
+	if test ia64 = "$host_cpu"; then
+	  # AIX 5 now supports IA64 processor
+	  lt_prog_compiler_static_CXX='-Bstatic'
+	else
+	  lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
+	fi
+	;;
+      chorus*)
+	case $cc_basename in
+	cxch68*)
+	  # Green Hills C++ Compiler
+	  # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+	  ;;
+	esac
+	;;
+      mingw* | cygwin* | os2* | pw32* | cegcc*)
+	# This hack is so that the source file can tell whether it is being
+	# built for inclusion in a dll (and should export symbols for example).
+	lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+	;;
+      dgux*)
+	case $cc_basename in
+	  ec++*)
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    ;;
+	  ghcx*)
+	    # Green Hills C++ Compiler
+	    lt_prog_compiler_pic_CXX='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      freebsd* | dragonfly*)
+	# FreeBSD uses GNU C++
+	;;
+      hpux9* | hpux10* | hpux11*)
+	case $cc_basename in
+	  CC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_static_CXX='$wl-a ${wl}archive'
+	    if test ia64 != "$host_cpu"; then
+	      lt_prog_compiler_pic_CXX='+Z'
+	    fi
+	    ;;
+	  aCC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_static_CXX='$wl-a ${wl}archive'
+	    case $host_cpu in
+	    hppa*64*|ia64*)
+	      # +Z the default
+	      ;;
+	    *)
+	      lt_prog_compiler_pic_CXX='+Z'
+	      ;;
+	    esac
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      interix*)
+	# This is c89, which is MS Visual C++ (no shared libs)
+	# Anyone wants to do a port?
+	;;
+      irix5* | irix6* | nonstopux*)
+	case $cc_basename in
+	  CC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_static_CXX='-non_shared'
+	    # CC pic flag -KPIC is the default.
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+	case $cc_basename in
+	  KCC*)
+	    # KAI C++ Compiler
+	    lt_prog_compiler_wl_CXX='--backend -Wl,'
+	    lt_prog_compiler_pic_CXX='-fPIC'
+	    ;;
+	  ecpc* )
+	    # old Intel C++ for x86_64, which still supported -KPIC.
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    lt_prog_compiler_static_CXX='-static'
+	    ;;
+	  icpc* )
+	    # Intel C++, used to be incompatible with GCC.
+	    # ICC 10 doesn't accept -KPIC any more.
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_pic_CXX='-fPIC'
+	    lt_prog_compiler_static_CXX='-static'
+	    ;;
+	  pgCC* | pgcpp*)
+	    # Portland Group C++ compiler
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_pic_CXX='-fpic'
+	    lt_prog_compiler_static_CXX='-Bstatic'
+	    ;;
+	  cxx*)
+	    # Compaq C++
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    lt_prog_compiler_pic_CXX=
+	    lt_prog_compiler_static_CXX='-non_shared'
+	    ;;
+	  xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)
+	    # IBM XL 8.0, 9.0 on PPC and BlueGene
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_pic_CXX='-qpic'
+	    lt_prog_compiler_static_CXX='-qstaticlink'
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      lt_prog_compiler_pic_CXX='-KPIC'
+	      lt_prog_compiler_static_CXX='-Bstatic'
+	      lt_prog_compiler_wl_CXX='-Qoption ld '
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+      lynxos*)
+	;;
+      m88k*)
+	;;
+      mvs*)
+	case $cc_basename in
+	  cxx*)
+	    lt_prog_compiler_pic_CXX='-W c,exportall'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      netbsd*)
+	;;
+      *qnx* | *nto*)
+        # QNX uses GNU C++, but need to define -shared option too, otherwise
+        # it will coredump.
+        lt_prog_compiler_pic_CXX='-fPIC -shared'
+        ;;
+      osf3* | osf4* | osf5*)
+	case $cc_basename in
+	  KCC*)
+	    lt_prog_compiler_wl_CXX='--backend -Wl,'
+	    ;;
+	  RCC*)
+	    # Rational C++ 2.4.1
+	    lt_prog_compiler_pic_CXX='-pic'
+	    ;;
+	  cxx*)
+	    # Digital/Compaq C++
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    lt_prog_compiler_pic_CXX=
+	    lt_prog_compiler_static_CXX='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      psos*)
+	;;
+      solaris*)
+	case $cc_basename in
+	  CC* | sunCC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    lt_prog_compiler_static_CXX='-Bstatic'
+	    lt_prog_compiler_wl_CXX='-Qoption ld '
+	    ;;
+	  gcx*)
+	    # Green Hills C++ Compiler
+	    lt_prog_compiler_pic_CXX='-PIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sunos4*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.x
+	    lt_prog_compiler_pic_CXX='-pic'
+	    lt_prog_compiler_static_CXX='-Bstatic'
+	    ;;
+	  lcc*)
+	    # Lucid
+	    lt_prog_compiler_pic_CXX='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+	case $cc_basename in
+	  CC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    lt_prog_compiler_static_CXX='-Bstatic'
+	    ;;
+	esac
+	;;
+      tandem*)
+	case $cc_basename in
+	  NCC*)
+	    # NonStop-UX NCC 3.20
+	    lt_prog_compiler_pic_CXX='-KPIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      vxworks*)
+	;;
+      *)
+	lt_prog_compiler_can_build_shared_CXX=no
+	;;
+    esac
+  fi
+
+case $host_os in
+  # For platforms that do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic_CXX=
+    ;;
+  *)
+    lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
+    ;;
+esac
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+if ${lt_cv_prog_compiler_pic_CXX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; }
+lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_CXX"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
+if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_pic_works_CXX=no
+   ac_outfile=conftest.$ac_objext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"  ## exclude from sc_useless_quotes_in_assignment
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_pic_works_CXX=yes
+     fi
+   fi
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
+
+if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then
+    case $lt_prog_compiler_pic_CXX in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
+     esac
+else
+    lt_prog_compiler_pic_CXX=
+     lt_prog_compiler_can_build_shared_CXX=no
+fi
+
+fi
+
+
+
+
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if ${lt_cv_prog_compiler_static_works_CXX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_static_works_CXX=no
+   save_LDFLAGS=$LDFLAGS
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_cv_prog_compiler_static_works_CXX=yes
+       fi
+     else
+       lt_cv_prog_compiler_static_works_CXX=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS=$save_LDFLAGS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
+
+if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then
+    :
+else
+    lt_prog_compiler_static_CXX=
+fi
+
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o_CXX=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o_CXX=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o_CXX=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o_CXX=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
+
+
+
+
+hard_links=nottested
+if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then
+  # do not overwrite the value of need_locks provided by the user
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+  hard_links=yes
+  $RM conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+  if test no = "$hard_links"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+  export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+  case $host_os in
+  aix[4-9]*)
+    # If we're using GNU nm, then we don't want the "-C" option.
+    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+    # Without the "-l" option, or with the "-B" option, AIX nm treats
+    # weak defined symbols like other global defined symbols, whereas
+    # GNU nm marks them as "W".
+    # While the 'weak' keyword is ignored in the Export File, we need
+    # it in the Import File for the 'aix-soname' feature, so we have
+    # to replace the "-B" option with "-P" for AIX nm.
+    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
+    else
+      export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+    fi
+    ;;
+  pw32*)
+    export_symbols_cmds_CXX=$ltdll_cmds
+    ;;
+  cygwin* | mingw* | cegcc*)
+    case $cc_basename in
+    cl*)
+      exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+      ;;
+    *)
+      export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+      exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+      ;;
+    esac
+    ;;
+  *)
+    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+    ;;
+  esac
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
+test no = "$ld_shlibs_CXX" && can_build_shared=no
+
+with_gnu_ld_CXX=$with_gnu_ld
+
+
+
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_CXX" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc_CXX=yes
+
+  if test yes,yes = "$GCC,$enable_shared"; then
+    case $archive_cmds_CXX in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  $RM conftest*
+	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+	if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } 2>conftest.err; then
+	  soname=conftest
+	  lib=conftest
+	  libobjs=conftest.$ac_objext
+	  deplibs=
+	  wl=$lt_prog_compiler_wl_CXX
+	  pic_flag=$lt_prog_compiler_pic_CXX
+	  compiler_flags=-v
+	  linker_flags=-v
+	  verstring=
+	  output_objdir=.
+	  libname=conftest
+	  lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
+	  allow_undefined_flag_CXX=
+	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+  (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+	  then
+	    lt_cv_archive_cmds_need_lc_CXX=no
+	  else
+	    lt_cv_archive_cmds_need_lc_CXX=yes
+	  fi
+	  allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
+	else
+	  cat conftest.err 1>&5
+	fi
+	$RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; }
+      archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=.so
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+
+
+case $host_os in
+aix3*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='$libname$release$shared_ext$major'
+  ;;
+
+aix[4-9]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test ia64 = "$host_cpu"; then
+    # AIX 5 supports IA64
+    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line '#! .'.  This would cause the generated library to
+    # depend on '.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # Using Import Files as archive members, it is possible to support
+    # filename-based versioning of shared library archives on AIX. While
+    # this would work for both with and without runtime linking, it will
+    # prevent static linking of such archives. So we do filename-based
+    # shared library versioning with .so extension only, which is used
+    # when both runtime linking and shared linking is enabled.
+    # Unfortunately, runtime linking may impact performance, so we do
+    # not want this to be the default eventually. Also, we use the
+    # versioned .so libs for executables only if there is the -brtl
+    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+    # To allow for filename-based versioning support, we need to create
+    # libNAME.so.V as an archive file, containing:
+    # *) an Import File, referring to the versioned filename of the
+    #    archive as well as the shared archive member, telling the
+    #    bitwidth (32 or 64) of that shared object, and providing the
+    #    list of exported symbols of that shared object, eventually
+    #    decorated with the 'weak' keyword
+    # *) the shared object with the F_LOADONLY flag set, to really avoid
+    #    it being seen by the linker.
+    # At run time we better use the real file rather than another symlink,
+    # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+    case $with_aix_soname,$aix_use_runtimelinking in
+    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    aix,yes) # traditional libtool
+      dynamic_linker='AIX unversionable lib.so'
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      ;;
+    aix,no) # traditional AIX only
+      dynamic_linker='AIX lib.a(lib.so.V)'
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      ;;
+    svr4,*) # full svr4 only
+      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,yes) # both, prefer svr4
+      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # unpreferred sharedlib libNAME.a needs extra handling
+      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,no) # both, prefer aix
+      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+      ;;
+    esac
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
+  ;;
+
+beos*)
+  library_names_spec='$libname$shared_ext'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+  version_type=windows
+  shrext_cmds=.dll
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$cc_basename in
+  yes,*)
+    # gcc
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+      ;;
+    esac
+    dynamic_linker='Win32 ld.exe'
+    ;;
+
+  *,cl*)
+    # Native MSVC
+    libname_spec='$name'
+    soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+    library_names_spec='$libname.dll.lib'
+
+    case $build_os in
+    mingw*)
+      sys_lib_search_path_spec=
+      lt_save_ifs=$IFS
+      IFS=';'
+      for lt_path in $LIB
+      do
+        IFS=$lt_save_ifs
+        # Let DOS variable expansion print the short 8.3 style file name.
+        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+      done
+      IFS=$lt_save_ifs
+      # Convert to MSYS style.
+      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+      ;;
+    cygwin*)
+      # Convert to unix form, then to dos form, then back to unix form
+      # but this time dos style (no spaces!) so that the unix form looks
+      # like /cygdrive/c/PROGRA~1:/cygdr...
+      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      ;;
+    *)
+      sys_lib_search_path_spec=$LIB
+      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      # FIXME: find the short name or the path components, as spaces are
+      # common. (e.g. "Program Files" -> "PROGRA~1")
+      ;;
+    esac
+
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+    dynamic_linker='Win32 link.exe'
+    ;;
+
+  *)
+    # Assume MSVC wrapper
+    library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
+    dynamic_linker='Win32 ld.exe'
+    ;;
+  esac
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$major$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[23].*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      soname_spec='$libname$release$shared_ext$major'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2.*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+haiku*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    if test 32 = "$HPUX_IA64_MODE"; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
+    fi
+    ;;
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+  postinstall_cmds='chmod 555 $lib'
+  # or fails outright, so override atomically:
+  install_override_mode=555
+  ;;
+
+interix[3-9]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test yes = "$lt_cv_prog_gnu_ld"; then
+		version_type=linux # correct to gnu/linux during the next big refactor
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+linux*android*)
+  version_type=none # Android doesn't support versioned libraries.
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext'
+  soname_spec='$libname$release$shared_ext'
+  finish_cmds=
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  dynamic_linker='Android linker'
+  # Don't embed -rpath directories since the linker doesn't support them.
+  hardcode_libdir_flag_spec_CXX='-L$libdir'
+  ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+
+  # Some binutils ld are patched to set DT_RUNPATH
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_shlibpath_overrides_runpath=no
+    save_LDFLAGS=$LDFLAGS
+    save_libdir=$libdir
+    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
+	 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+  lt_cv_shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    LDFLAGS=$save_LDFLAGS
+    libdir=$save_libdir
+
+fi
+
+  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Ideally, we could use ldconfig to report *all* directores which are
+  # searched for libraries, however this is still not possible.  Aside from not
+  # being certain /sbin/ldconfig is available, command
+  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+  # even though it is searched at run-time.  Try to do the best guess by
+  # appending ld.so.conf contents (and includes) to the search path.
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+*nto* | *qnx*)
+  version_type=qnx
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
+  ;;
+
+openbsd* | bitrig*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec=/usr/lib
+  need_lib_prefix=no
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+    need_version=no
+  else
+    need_version=yes
+  fi
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+os2*)
+  libname_spec='$name'
+  version_type=windows
+  shrext_cmds=.dll
+  need_version=no
+  need_lib_prefix=no
+  # OS/2 can only load a DLL with a base name of 8 characters or less.
+  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+    v=$($ECHO $release$versuffix | tr -d .-);
+    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+    $ECHO $n$v`$shared_ext'
+  library_names_spec='${libname}_dll.$libext'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=BEGINLIBPATH
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  postinstall_cmds='base_file=`basename \$file`~
+    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+    dldir=$destdir/`dirname \$dlpath`~
+    test -d \$dldir || mkdir -p \$dldir~
+    $install_prog $dir/$dlname \$dldir/$dlname~
+    chmod a+x \$dldir/$dlname~
+    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+    fi'
+  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+    dlpath=$dir/\$dldll~
+    $RM \$dlpath'
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  ;;
+
+rdos*)
+  dynamic_linker=no
+  ;;
+
+solaris*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test yes = "$with_gnu_ld"; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec; then
+    version_type=linux # correct to gnu/linux during the next big refactor
+    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+    soname_spec='$libname$shared_ext.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=sco
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  if test yes = "$with_gnu_ld"; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+uts4*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test no = "$dynamic_linker" && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test yes = "$GCC"; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
+fi
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
+fi
+
+# lt_cv_sys_lib... is unaugmented for libtool script decls...
+lt_cv_sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec
+
+# ..but sys_lib_... needs LT_SYS_LIBRARY_PATH munging for
+# LT_SYS_DLSEARCH_PATH macro in ltdl.m4 to work with the correct paths:
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action_CXX=
+if test -n "$hardcode_libdir_flag_spec_CXX" ||
+   test -n "$runpath_var_CXX" ||
+   test yes = "$hardcode_automatic_CXX"; then
+
+  # We can hardcode non-existent directories.
+  if test no != "$hardcode_direct_CXX" &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" &&
+     test no != "$hardcode_minus_L_CXX"; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action_CXX=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action_CXX=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action_CXX=unsupported
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
+$as_echo "$hardcode_action_CXX" >&6; }
+
+if test relink = "$hardcode_action_CXX" ||
+   test yes = "$inherit_rpath_CXX"; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test yes = "$shlibpath_overrides_runpath" ||
+     test no = "$enable_shared"; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+
+
+
+
+
+
+  fi # test -n "$compiler"
+
+  CC=$lt_save_CC
+  CFLAGS=$lt_save_CFLAGS
+  LDCXX=$LD
+  LD=$lt_save_LD
+  GCC=$lt_save_GCC
+  with_gnu_ld=$lt_save_with_gnu_ld
+  lt_cv_path_LDCXX=$lt_cv_path_LD
+  lt_cv_path_LD=$lt_save_path_LD
+  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test yes != "$_lt_caught_CXX_error"
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+        ac_config_commands="$ac_config_commands libtool"
+
+
+
+
+# Only expand once:
+
+
+
+
+
+
+# Check if 64 bit pointer support is required on 32 bit machines
+# Disabled by default
+
+# Check whether --enable-64 was given.
+if test "${enable_64+set}" = set; then :
+  enableval=$enable_64;
+fi
+
+
+if test "x${enable_64}" = "xyes"; then :
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64bit compilation support" >&5
+$as_echo_n "checking for 64bit compilation support... " >&6; }
+
+  case ${host_os} in #(
+  aix*) :
+
+    CPPFLAGS="-DAJ_AIX64 ${CPPFLAGS}"
+    case ${CC} in #(
+  gcc) :
+     ;; #(
+  *) :
+
+      as_fn_append CC " -q64"
+     ;;
+esac
+    NM="nm -B -X 64"
+    AR="ar -X 64"
+   ;; #(
+  hpux*) :
+
+    case ${CC} in #(
+  gcc) :
+     ;; #(
+  *) :
+
+      as_fn_append CC " +DD64"
+     ;;
+esac
+
+$as_echo "#define HPUX64PTRS 1" >>confdefs.h
+
+   ;; #(
+  *) :
+     ;;
+esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
+
+fi
+
+
+
+
+# Compiler optimisations
+# The Solaris 64bit ptr check has to be done here owing to param order
+
+
+# Check whether --with-optimisation was given.
+if test "${with_optimisation+set}" = set; then :
+  withval=$with_optimisation;
+fi
+
+
+if test "x${with_optimisation}" != "xno"; then :
+
+  case ${CC} in #(
+  gcc) :
+
+    # Intel MacOSX requires reduced optimisation for PCRE code
+    # other OSs just use -O2
+    case ${host_os} in #(
+  darwin*) :
+
+      if test "x${host_cpu}" = "xi386"; then :
+  as_fn_append CFLAGS " -O1"
+else
+  as_fn_append CFLAGS " -O2"
+fi
+     ;; #(
+  *) :
+
+      as_fn_append CFLAGS " -O2"
+     ;;
+esac
+   ;; #(
+  *) :
+
+    case ${host_os} in #(
+  aix*) :
+
+      as_fn_append CFLAGS " -O3 -qstrict -qarch=auto -qtune=auto"
+     ;; #(
+  irix*) :
+
+      LD="/usr/bin/ld -IPA"
+      as_fn_append CFLAGS " -O3"
+     ;; #(
+  hpux*) :
+
+      as_fn_append CFLAGS " -fast"
+     ;; #(
+  osf*) :
+
+      as_fn_append CFLAGS " -fast -U_FASTMATH"
+     ;; #(
+  solaris*) :
+
+      as_fn_append CFLAGS " -O"
+      # test for 64 bit ptr here (see Solaris 64bit above)
+      if test "x${enable_64}" = "xyes"; then :
+  as_fn_append CFLAGS " -xtarget=ultra -xarch=v9"
+fi
+     ;; #(
+  linux*) :
+
+      # Default optimisation for non-gcc compilers under Linux
+      as_fn_append CFLAGS " -O2"
+     ;; #(
+  freebsd*) :
+
+      as_fn_append CFLAGS " -O2"
+     ;; #(
+  *) :
+     ;;
+esac
+   ;;
+esac
+
+fi
+
+
+
+
+# Compiler warning settings: --enable-warnings, defines WARN_CFLAGS
+
+# Check whether --enable-warnings was given.
+if test "${enable_warnings+set}" = set; then :
+  enableval=$enable_warnings;
+fi
+
+
+if test "x${enable_warnings}" = "xyes"; then :
+
+  case ${CC} in #(
+  gcc) :
+
+    # -Wall priovides:
+    #    -Waddress
+    #    -Warray-bounds (only with -O2)
+    #    -Wc++0x-compat
+    #    -Wchar-subscripts
+    #    -Wenum-compare (in C/Objc; this is on by default in C++)
+    #    -Wimplicit-int (C and Objective-C only)
+    #    -Wimplicit-function-declaration (C and Objective-C only)
+    #    -Wcomment
+    #    -Wformat
+    #    -Wmain (only for C/ObjC and unless -ffreestanding)
+    #    -Wmissing-braces
+    #    -Wnonnull
+    #    -Wparentheses
+    #    -Wpointer-sign
+    #    -Wreorder
+    #    -Wreturn-type
+    #    -Wsequence-point
+    #    -Wsign-compare (only in C++)
+    #    -Wstrict-aliasing
+    #    -Wstrict-overflow=1
+    #    -Wswitch
+    #    -Wtrigraphs
+    #    -Wuninitialized
+    #    -Wunknown-pragmas
+    #    -Wunused-function
+    #    -Wunused-label
+    #    -Wunused-value
+    #    -Wunused-variable
+    #    -Wvolatile-register-var
+
+    WARN_CFLAGS="-Wall -fno-strict-aliasing"
+   ;; #(
+  *) :
+     ;;
+esac
+
+fi
+
+
+
+
+
+
+# Compiler developer warning settings: --enable-devwarnings,
+# sets DEVWARN_CFLAGS
+
+# Check whether --enable-devwarnings was given.
+if test "${enable_devwarnings+set}" = set; then :
+  enableval=$enable_devwarnings;
+fi
+
+
+if test "x${enable_devwarnings}" = "xyes"; then :
+
+  case ${CC} in #(
+  gcc) :
+
+    # Only -Wstrict-prototypes and -Wmissing-prototypes are set in this
+    # EMBASSY module.
+
+    DEVWARN_CFLAGS="-Wstrict-prototypes -Wmissing-prototypes"
+
+    # Diagnostic options for the GNU GCC compiler version 4.6.1.
+    # http://gcc.gnu.org/onlinedocs/gcc-4.6.1/gcc/Warning-Options.html
+    #
+    # -Wextra: more warnings beyond what -Wall provides
+    #    -Wclobbered
+    #    -Wempty-body
+    #    -Wignored-qualifiers
+    #    -Wmissing-field-initializers
+    #    -Wmissing-parameter-type (C only)
+    #    -Wold-style-declaration (C only)
+    #    -Woverride-init
+    #    -Wsign-compare
+    #    -Wtype-limits
+    #    -Wuninitialized
+    #    -Wunused-parameter (only with -Wunused or -Wall)
+    #    -Wunused-but-set-parameter (only with -Wunused or -Wall)
+
+    # AS_VAR_SET([DEVWARN_CFLAGS], ["-Wextra"])
+
+    # Warn if a function is declared or defined without specifying the
+    # argument types.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wstrict-prototypes"])
+
+    # Warn if a global function is defined without a previous prototype
+    # declaration.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wmissing-prototypes"])
+
+    # Warn for obsolescent usages, according to the C Standard,
+    # in a declaration.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wold-style-definition"])
+
+    # Warn if a global function is defined without a previous declaration.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wmissing-declarations"])
+
+    # When compiling C, give string constants the type const char[length]
+    # so that copying the address of one into a non-const char * pointer
+    # will get a warning.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wwrite-strings"])
+
+    # Warn whenever a local variable or type declaration shadows another
+    # variable, parameter, type, or class member (in C++), or whenever a
+    # built-in function is shadowed.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wshadow"])
+
+    # Warn when a declaration is found after a statement in a block.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wdeclaration-after-statement"])
+
+    # Warn if an undefined identifier is evaluated in an `#if' directive.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wundef"])
+
+    # Warn about anything that depends on the "size of" a function type
+    # or of void.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wpointer-arith"])
+
+    # Warn whenever a pointer is cast so as to remove a type qualifier
+    # from the target type.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wcast-qual"])
+
+    # Warn whenever a pointer is cast such that the required alignment
+    # of the target is increased.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wcast-align"])
+
+    # Warn whenever a function call is cast to a non-matching type.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wbad-function-cast"])
+
+    # Warn when a comparison between signed and unsigned values could
+    # produce an incorrect result when the signed value is converted to
+    # unsigned.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wsign-compare"])
+
+    # Warn if a structure's initializer has some fields missing.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wmissing-field-initializers"])
+
+    # An alias of the new option -Wsuggest-attribute=noreturn
+    # Warn for cases where adding an attribute may be beneficial.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wmissing-noreturn"])
+
+    # Warn if an extern declaration is encountered within a function.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wnested-externs"])
+
+    # Warn if anything is declared more than once in the same scope,
+    # even in cases where multiple declaration is valid and changes
+    # nothing.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wredundant-decls"])
+
+    # Warn if the loop cannot be optimized because the compiler could not
+    # assume anything on the bounds of the loop indices.
+    # -Wunsafe-loop-optimizations objects to loops with increments more
+    # than 1 because if the end is at INT_MAX it could run forever ...
+    # rarely
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wunsafe-loop-optimizations"])
+
+    # Warn for implicit conversions that may alter a value.
+    # -Wconversion is brain-damaged - complains about char arguments
+    # every time
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wconversion"])
+
+    # Warn about certain constructs that behave differently in traditional
+    # and ISO C.
+    # -Wtraditional gives #elif and #error msgs
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wtraditional"])
+
+    # Warn if floating point values are used in equality comparisons.
+    # -Wfloat-equal will not allow tests for values still 0.0
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wfloat-equal"])
+
+    # This option is only active when -ftree-vrp is active
+    # (default for -O2 and above). It warns about subscripts to arrays
+    # that are always out of bounds.
+    # -Warray-bounds gives false positives in gcc 4.6.0
+    # Disable rather than use a non-portable pragma
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wno-array-bounds"])
+   ;; #(
+  icc) :
+
+    # Diagnostic options for the Intel(R) C++ compiler version 11.1.
+    # http://software.intel.com/en-us/articles/intel-c-compiler-professional-edition-for-linux-documentation/
+
+    # This option specifies the level of diagnostic messages to be
+    # generated by the compiler.
+
+    DEVWARN_CFLAGS="-w2"
+
+    # This option determines whether a warning is issued if generated
+    # code is not C++ ABI compliant.
+
+    as_fn_append DEVWARN_CFLAGS " -Wabi"
+
+    # This option tells the compiler to display errors, warnings, and
+    # remarks.
+
+    as_fn_append DEVWARN_CFLAGS " -Wall"
+
+    # This option tells the compiler to display a shorter form of
+    # diagnostic output.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wbrief"])
+
+    # This option warns if cast is used to override pointer type
+    # qualifier
+
+    as_fn_append DEVWARN_CFLAGS " -Wcast-qual"
+
+    # This option tells the compiler to perform compile-time code
+    # checking for certain code.
+
+    as_fn_append DEVWARN_CFLAGS " -Wcheck"
+
+    # This option determines whether a warning is issued when /*
+    # appears in the middle of a /* */ comment.
+
+    as_fn_append DEVWARN_CFLAGS " -Wcomment"
+
+    # Set maximum number of template instantiation contexts shown in
+    # diagnostic.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wcontext-limit=n"])
+
+    # This option enables warnings for implicit conversions that may
+    # alter a value.
+
+    as_fn_append DEVWARN_CFLAGS " -Wconversion"
+
+    # This option determines whether warnings are issued for deprecated
+    # features.
+
+    as_fn_append DEVWARN_CFLAGS " -Wdeprecated"
+
+    # This option enables warnings based on certain C++ programming
+    # guidelines.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Weffc++"])
+
+    # This option changes all warnings to errors.
+    # Alternate: -diag-error warn
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Werror"])
+
+    # This option changes all warnings and remarks to errors.
+    # Alternate: -diag-error warn, remark
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Werror-all"])
+
+    # This option determines whether warnings are issued about extra
+    # tokens at the end of preprocessor directives.
+
+    as_fn_append DEVWARN_CFLAGS " -Wextra-tokens"
+
+    # This option determines whether argument checking is enabled for
+    # calls to printf, scanf, and so forth.
+
+    as_fn_append DEVWARN_CFLAGS " -Wformat"
+
+    # This option determines whether the compiler issues a warning when
+    # the use of format functions may cause security problems.
+
+    as_fn_append DEVWARN_CFLAGS " -Wformat-security"
+
+    # This option enables diagnostics about what is inlined and what is
+    # not inlined.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Winline"])
+
+    # This option determines whether a warning is issued if the return
+    # type of main is not expected.
+
+    as_fn_append DEVWARN_CFLAGS " -Wmain"
+
+    # This option determines whether warnings are issued for global
+    # functions and variables without prior declaration.
+
+    as_fn_append DEVWARN_CFLAGS " -Wmissing-declarations"
+
+    # Determines whether warnings are issued for missing prototypes.
+
+    as_fn_append DEVWARN_CFLAGS " -Wmissing-prototypes"
+
+    # This option enables warnings if a multicharacter constant
+    # ('ABC') is used.
+
+    as_fn_append DEVWARN_CFLAGS " -Wmultichar"
+
+    # Issue a warning when a class appears to be polymorphic,
+    # yet it declares a non-virtual one.
+    # This option is supported in C++ only.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wnon-virtual-dtor"])
+
+    # This option warns about operations that could result in
+    # integer overflow.
+
+    as_fn_append DEVWARN_CFLAGS " -Woverflow"
+
+    # This option tells the compiler to display diagnostics for 64-bit
+    # porting.
+
+    as_fn_append DEVWARN_CFLAGS " -Wp64"
+
+    # Determines whether warnings are issued for questionable pointer
+    # arithmetic.
+
+    as_fn_append DEVWARN_CFLAGS " -Wpointer-arith"
+
+    # his option determines whether a warning is issued about the
+    # use of #pragma once.
+
+    as_fn_append DEVWARN_CFLAGS " -Wpragma-once"
+
+    # Issue a warning when the order of member initializers does not
+    # match the order in which they must be executed.
+    # This option is supported with C++ only.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wreorder"])
+
+    # This option determines whether warnings are issued when a function
+    # uses the default int return type or when a return statement is
+    # used in a void function.
+
+    as_fn_append DEVWARN_CFLAGS " -Wreturn-type"
+
+    # This option determines whether a warning is issued when a variable
+    # declaration hides a previous declaration.
+
+    as_fn_append DEVWARN_CFLAGS " -Wshadow"
+
+    # This option warns for code that might violate the optimizer's
+    # strict aliasing rules. Warnings are issued only when using
+    # -fstrict-aliasing or -ansi-alias.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wstrict-aliasing"])
+
+    # This option determines whether warnings are issued for functions
+    # declared or defined without specified argument types.
+
+    as_fn_append DEVWARN_CFLAGS " -Wstrict-prototypes"
+
+    # This option determines whether warnings are issued if any trigraphs
+    # are encountered that might change the meaning of the program.
+
+    as_fn_append DEVWARN_CFLAGS " -Wtrigraphs"
+
+    # This option determines whether a warning is issued if a variable
+    # is used before being initialized.
+
+    as_fn_append DEVWARN_CFLAGS " -Wuninitialized"
+
+    # This option determines whether a warning is issued if an unknown
+    # #pragma directive is used.
+
+    as_fn_append DEVWARN_CFLAGS " -Wunknown-pragmas"
+
+    # This option determines whether a warning is issued if a declared
+    # function is not used.
+
+    as_fn_append DEVWARN_CFLAGS " -Wunused-function"
+
+    # This option determines whether a warning is issued if a local or
+    # non-constant static variable is unused after being declared.
+
+    as_fn_append DEVWARN_CFLAGS " -Wunused-variable"
+
+    # This option issues a diagnostic message if const char* is
+    # converted to (non-const) char *.
+
+    as_fn_append DEVWARN_CFLAGS " -Wwrite-strings"
+
+    # Disable warning #981 operands are evaluated in unspecified order
+    # http://software.intel.com/en-us/articles/cdiag981/
+
+    as_fn_append DEVWARN_CFLAGS " -diag-disable 981"
+   ;; #(
+  *) :
+     ;;
+esac
+
+fi
+
+
+
+
+
+
+# Compiler extra developer warning settings: --enable-devextrawarnings,
+# appends DEVWARN_CFLAGS
+# Will only have an effect if --enable-devwarnings also given
+
+# Check whether --enable-devextrawarnings was given.
+if test "${enable_devextrawarnings+set}" = set; then :
+  enableval=$enable_devextrawarnings;
+fi
+
+
+if test "x${enable_devwarnings}" = "xyes" &&
+       test "x${enable_devextrawarnings}" = "xyes"; then :
+
+  case ${CC} in #(
+  gcc) :
+
+    # flags used by Ubuntu 8.10 to check open has 2/3 arguments etc.
+
+
+$as_echo "#define _FORTIFY_SOURCE 2" >>confdefs.h
+
+
+    # compiler flags
+
+    CPPFLAGS="-fstack-protector ${CPPFLAGS}"
+
+    # warnings used by Ubuntu 8.10
+    # -Wall already includes:
+    #           -Wformat
+
+    as_fn_append DEVWARN_CFLAGS " -Wformat-security -Wl,-z,relro"
+
+    # -Wpadded means moving char to end of structs - but also flags
+    #  end of struct so need to add padding at end
+
+    as_fn_append DEVWARN_CFLAGS " -Wpadded"
+   ;; #(
+  *) :
+     ;;
+esac
+
+fi
+
+
+
+
+# Compile deprecated functions still used in the book text for 6.2.0
+
+# Check whether --enable-buildbookdeprecated was given.
+if test "${enable_buildbookdeprecated+set}" = set; then :
+  enableval=$enable_buildbookdeprecated;
+fi
+
+
+# Compile all deprecated functions
+
+# Check whether --enable-buildalldeprecated was given.
+if test "${enable_buildalldeprecated+set}" = set; then :
+  enableval=$enable_buildalldeprecated;
+fi
+
+
+if test "x${enable_buildbookdeprecated}" = "xyes" ||
+       test "x${enable_buildalldeprecated}" = "xyes"; then :
+
+
+$as_echo "#define AJ_COMPILE_DEPRECATED_BOOK 1" >>confdefs.h
+
+
+fi
+
+if test "x${enable_buildalldeprecated}" = "xyes"; then :
+
+
+$as_echo "#define AJ_COMPILE_DEPRECATED 1" >>confdefs.h
+
+
+fi
+
+
+
+
+# Add extensions to Solaris for some reentrant functions
+
+case ${host_os} in #(
+  solaris*) :
+    as_fn_append CFLAGS " -D__EXTENSIONS__" ;; #(
+  *) :
+     ;;
+esac
+
+
+
+
+# Test whether --with-sgiabi given for IRIX (n32m3 n32m4 64m3 64m4)
+
+case ${host_os} in #(
+  irix*) :
+
+  case ${CC} in #(
+  gcc) :
+     ;; #(
+  cc) :
+    #
+# Handle SGI compiler flags
+#
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sgiabi" >&5
+$as_echo_n "checking for sgiabi... " >&6; }
+
+# Check whether --with-sgiabi was given.
+if test "${with_sgiabi+set}" = set; then :
+  withval=$with_sgiabi; if test "$withval" != no ; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+  case $host_os in
+  irix*)
+    if test "$withval" = n32m3 ; then
+      CFLAGS="-n32 -mips3 $CFLAGS"
+      LD="/usr/bin/ld -n32 -mips3 -IPA -L/usr/lib32"
+	if test -d /usr/freeware ; then
+          LDFLAGS="-L/usr/freeware/lib32 $LDFLAGS"
+        fi
+    fi
+
+    if test "$withval" = n32m4 ; then
+      CFLAGS="-n32 -mips4 $CFLAGS"
+      LD="/usr/bin/ld -n32 -mips4 -IPA -L/usr/lib32"
+	if test -d /usr/freeware ; then
+          LDFLAGS="-L/usr/freeware/lib32 $LDFLAGS"
+        fi
+    fi
+
+    if test "$withval" = 64m3 ; then
+      CFLAGS="-64 -mips3 $CFLAGS"
+      LD="/usr/bin/ld -64 -mips3 -IPA -L/usr/lib64"
+	if test -d /usr/freeware ; then
+          LDFLAGS="-L/usr/freeware/lib64 $LDFLAGS"
+        fi
+    fi
+
+    if test "$withval" = 64m4 ; then
+      CFLAGS="-64 -mips4 $CFLAGS"
+      LD="/usr/bin/ld -64 -mips4 -IPA -L/usr/lib64"
+	if test -d /usr/freeware ; then
+          LDFLAGS="-L/usr/freeware/lib64 $LDFLAGS"
+        fi
+    fi
+    ;;
+  esac
+
+
+fi
+else
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+
+
+ ;; #(
+  *) :
+     ;;
+esac
+ ;; #(
+  *) :
+     ;;
+esac
+
+
+
+
+
+
+PCRE_MAJOR="7"
+PCRE_MINOR="9"
+PCRE_DATE="11-Apr-2009"
+PCRE_VERSION="${PCRE_MAJOR}.${PCRE_MINOR}"
+
+
+POSIX_MALLOC_THRESHOLD="-DPOSIX_MALLOC_THRESHOLD=10"
+
+
+PCRE_LIB_VERSION="0:1:0"
+PCRE_POSIXLIB_VERSION="0:0:0"
+
+
+
+
+
+
+
+
+# Checks for header files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5
+$as_echo_n "checking for X... " >&6; }
+
+
+# Check whether --with-x was given.
+if test "${with_x+set}" = set; then :
+  withval=$with_x;
+fi
+
+# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
+if test "x$with_x" = xno; then
+  # The user explicitly disabled X.
+  have_x=disabled
+else
+  case $x_includes,$x_libraries in #(
+    *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #(
+    *,NONE | NONE,*) if ${ac_cv_have_x+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # One or both of the vars are not set, and there is no cached value.
+ac_x_includes=no ac_x_libraries=no
+rm -f -r conftest.dir
+if mkdir conftest.dir; then
+  cd conftest.dir
+  cat >Imakefile <<'_ACEOF'
+incroot:
+	@echo incroot='${INCROOT}'
+usrlibdir:
+	@echo usrlibdir='${USRLIBDIR}'
+libdir:
+	@echo libdir='${LIBDIR}'
+_ACEOF
+  if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then
+    # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+    for ac_var in incroot usrlibdir libdir; do
+      eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
+    done
+    # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
+    for ac_extension in a so sl dylib la dll; do
+      if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" &&
+	 test -f "$ac_im_libdir/libX11.$ac_extension"; then
+	ac_im_usrlibdir=$ac_im_libdir; break
+      fi
+    done
+    # Screen out bogus values from the imake configuration.  They are
+    # bogus both because they are the default anyway, and because
+    # using them would break gcc on systems where it needs fixed includes.
+    case $ac_im_incroot in
+	/usr/include) ac_x_includes= ;;
+	*) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;;
+    esac
+    case $ac_im_usrlibdir in
+	/usr/lib | /usr/lib64 | /lib | /lib64) ;;
+	*) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;;
+    esac
+  fi
+  cd ..
+  rm -f -r conftest.dir
+fi
+
+# Standard set of common directories for X headers.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+ac_x_header_dirs='
+/usr/X11/include
+/usr/X11R7/include
+/usr/X11R6/include
+/usr/X11R5/include
+/usr/X11R4/include
+
+/usr/include/X11
+/usr/include/X11R7
+/usr/include/X11R6
+/usr/include/X11R5
+/usr/include/X11R4
+
+/usr/local/X11/include
+/usr/local/X11R7/include
+/usr/local/X11R6/include
+/usr/local/X11R5/include
+/usr/local/X11R4/include
+
+/usr/local/include/X11
+/usr/local/include/X11R7
+/usr/local/include/X11R6
+/usr/local/include/X11R5
+/usr/local/include/X11R4
+
+/usr/X386/include
+/usr/x386/include
+/usr/XFree86/include/X11
+
+/usr/include
+/usr/local/include
+/usr/unsupported/include
+/usr/athena/include
+/usr/local/x11r5/include
+/usr/lpp/Xamples/include
+
+/usr/openwin/include
+/usr/openwin/share/include'
+
+if test "$ac_x_includes" = no; then
+  # Guess where to find include files, by looking for Xlib.h.
+  # First, try using that file with no special directory specified.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <X11/Xlib.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # We can compile using X headers with no special include directory.
+ac_x_includes=
+else
+  for ac_dir in $ac_x_header_dirs; do
+  if test -r "$ac_dir/X11/Xlib.h"; then
+    ac_x_includes=$ac_dir
+    break
+  fi
+done
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+fi # $ac_x_includes = no
+
+if test "$ac_x_libraries" = no; then
+  # Check for the libraries.
+  # See if we find them without any special options.
+  # Don't add to $LIBS permanently.
+  ac_save_LIBS=$LIBS
+  LIBS="-lX11 $LIBS"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <X11/Xlib.h>
+int
+main ()
+{
+XrmInitialize ()
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  LIBS=$ac_save_LIBS
+# We can link X programs with no special library path.
+ac_x_libraries=
+else
+  LIBS=$ac_save_LIBS
+for ac_dir in `$as_echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
+do
+  # Don't even attempt the hair of trying to link an X program!
+  for ac_extension in a so sl dylib la dll; do
+    if test -r "$ac_dir/libX11.$ac_extension"; then
+      ac_x_libraries=$ac_dir
+      break 2
+    fi
+  done
+done
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi # $ac_x_libraries = no
+
+case $ac_x_includes,$ac_x_libraries in #(
+  no,* | *,no | *\'*)
+    # Didn't find X, or a directory has "'" in its name.
+    ac_cv_have_x="have_x=no";; #(
+  *)
+    # Record where we found X for the cache.
+    ac_cv_have_x="have_x=yes\
+	ac_x_includes='$ac_x_includes'\
+	ac_x_libraries='$ac_x_libraries'"
+esac
+fi
+;; #(
+    *) have_x=yes;;
+  esac
+  eval "$ac_cv_have_x"
+fi # $with_x != no
+
+if test "$have_x" != yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_x" >&5
+$as_echo "$have_x" >&6; }
+  no_x=yes
+else
+  # If each of the values was on the command line, it overrides each guess.
+  test "x$x_includes" = xNONE && x_includes=$ac_x_includes
+  test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
+  # Update the cache value to reflect the command line values.
+  ac_cv_have_x="have_x=yes\
+	ac_x_includes='$x_includes'\
+	ac_x_libraries='$x_libraries'"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: libraries $x_libraries, headers $x_includes" >&5
+$as_echo "libraries $x_libraries, headers $x_includes" >&6; }
+fi
+
+if test "$no_x" = yes; then
+  # Not all programs may use this symbol, but it does not hurt to define it.
+
+$as_echo "#define X_DISPLAY_MISSING 1" >>confdefs.h
+
+  X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
+else
+  if test -n "$x_includes"; then
+    X_CFLAGS="$X_CFLAGS -I$x_includes"
+  fi
+
+  # It would also be nice to do this for all -L options, not just this one.
+  if test -n "$x_libraries"; then
+    X_LIBS="$X_LIBS -L$x_libraries"
+    # For Solaris; some versions of Sun CC require a space after -R and
+    # others require no space.  Words are not sufficient . . . .
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -R must be followed by a space" >&5
+$as_echo_n "checking whether -R must be followed by a space... " >&6; }
+    ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
+    ac_xsave_c_werror_flag=$ac_c_werror_flag
+    ac_c_werror_flag=yes
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       X_LIBS="$X_LIBS -R$x_libraries"
+else
+  LIBS="$ac_xsave_LIBS -R $x_libraries"
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	  X_LIBS="$X_LIBS -R $x_libraries"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: neither works" >&5
+$as_echo "neither works" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    ac_c_werror_flag=$ac_xsave_c_werror_flag
+    LIBS=$ac_xsave_LIBS
+  fi
+
+  # Check for system-dependent libraries X programs must link with.
+  # Do this before checking for the system-independent R6 libraries
+  # (-lICE), since we may need -lsocket or whatever for X linking.
+
+  if test "$ISC" = yes; then
+    X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
+  else
+    # Martyn Johnson says this is needed for Ultrix, if the X
+    # libraries were built with DECnet support.  And Karl Berry says
+    # the Alpha needs dnet_stub (dnet does not exist).
+    ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char XOpenDisplay ();
+int
+main ()
+{
+return XOpenDisplay ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5
+$as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; }
+if ${ac_cv_lib_dnet_dnet_ntoa+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldnet  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dnet_ntoa ();
+int
+main ()
+{
+return dnet_ntoa ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dnet_dnet_ntoa=yes
+else
+  ac_cv_lib_dnet_dnet_ntoa=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
+$as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; }
+if test "x$ac_cv_lib_dnet_dnet_ntoa" = xyes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
+fi
+
+    if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5
+$as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; }
+if ${ac_cv_lib_dnet_stub_dnet_ntoa+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldnet_stub  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dnet_ntoa ();
+int
+main ()
+{
+return dnet_ntoa ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dnet_stub_dnet_ntoa=yes
+else
+  ac_cv_lib_dnet_stub_dnet_ntoa=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
+$as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; }
+if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = xyes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
+fi
+
+    fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    LIBS="$ac_xsave_LIBS"
+
+    # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
+    # to get the SysV transport functions.
+    # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
+    # needs -lnsl.
+    # The nsl library prevents programs from opening the X display
+    # on Irix 5.2, according to T.E. Dickey.
+    # The functions gethostbyname, getservbyname, and inet_addr are
+    # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
+    ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
+if test "x$ac_cv_func_gethostbyname" = xyes; then :
+
+fi
+
+    if test $ac_cv_func_gethostbyname = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
+$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lnsl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char gethostbyname ();
+int
+main ()
+{
+return gethostbyname ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_nsl_gethostbyname=yes
+else
+  ac_cv_lib_nsl_gethostbyname=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
+$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
+fi
+
+      if test $ac_cv_lib_nsl_gethostbyname = no; then
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5
+$as_echo_n "checking for gethostbyname in -lbsd... " >&6; }
+if ${ac_cv_lib_bsd_gethostbyname+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lbsd  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char gethostbyname ();
+int
+main ()
+{
+return gethostbyname ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_bsd_gethostbyname=yes
+else
+  ac_cv_lib_bsd_gethostbyname=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5
+$as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; }
+if test "x$ac_cv_lib_bsd_gethostbyname" = xyes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
+fi
+
+      fi
+    fi
+
+    # lieder@skyler.mavd.honeywell.com says without -lsocket,
+    # socket/setsockopt and other routines are undefined under SCO ODT
+    # 2.0.  But -lsocket is broken on IRIX 5.2 (and is not necessary
+    # on later versions), says Simon Leinen: it contains gethostby*
+    # variants that don't use the name server (or something).  -lsocket
+    # must be given before -lnsl if both are needed.  We assume that
+    # if connect needs -lnsl, so does gethostbyname.
+    ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
+if test "x$ac_cv_func_connect" = xyes; then :
+
+fi
+
+    if test $ac_cv_func_connect = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5
+$as_echo_n "checking for connect in -lsocket... " >&6; }
+if ${ac_cv_lib_socket_connect+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char connect ();
+int
+main ()
+{
+return connect ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_socket_connect=yes
+else
+  ac_cv_lib_socket_connect=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
+$as_echo "$ac_cv_lib_socket_connect" >&6; }
+if test "x$ac_cv_lib_socket_connect" = xyes; then :
+  X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
+fi
+
+    fi
+
+    # Guillermo Gomez says -lposix is necessary on A/UX.
+    ac_fn_c_check_func "$LINENO" "remove" "ac_cv_func_remove"
+if test "x$ac_cv_func_remove" = xyes; then :
+
+fi
+
+    if test $ac_cv_func_remove = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5
+$as_echo_n "checking for remove in -lposix... " >&6; }
+if ${ac_cv_lib_posix_remove+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lposix  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char remove ();
+int
+main ()
+{
+return remove ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_posix_remove=yes
+else
+  ac_cv_lib_posix_remove=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5
+$as_echo "$ac_cv_lib_posix_remove" >&6; }
+if test "x$ac_cv_lib_posix_remove" = xyes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
+fi
+
+    fi
+
+    # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+    ac_fn_c_check_func "$LINENO" "shmat" "ac_cv_func_shmat"
+if test "x$ac_cv_func_shmat" = xyes; then :
+
+fi
+
+    if test $ac_cv_func_shmat = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5
+$as_echo_n "checking for shmat in -lipc... " >&6; }
+if ${ac_cv_lib_ipc_shmat+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lipc  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shmat ();
+int
+main ()
+{
+return shmat ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_ipc_shmat=yes
+else
+  ac_cv_lib_ipc_shmat=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5
+$as_echo "$ac_cv_lib_ipc_shmat" >&6; }
+if test "x$ac_cv_lib_ipc_shmat" = xyes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
+fi
+
+    fi
+  fi
+
+  # Check for libraries that X11R6 Xt/Xaw programs need.
+  ac_save_LDFLAGS=$LDFLAGS
+  test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
+  # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+  # check for ICE first), but we must link in the order -lSM -lICE or
+  # we get undefined symbols.  So assume we have SM if we have ICE.
+  # These have to be linked with before -lX11, unlike the other
+  # libraries we check for below, so use a different variable.
+  # John Interrante, Karl Berry
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5
+$as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; }
+if ${ac_cv_lib_ICE_IceConnectionNumber+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lICE $X_EXTRA_LIBS $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char IceConnectionNumber ();
+int
+main ()
+{
+return IceConnectionNumber ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_ICE_IceConnectionNumber=yes
+else
+  ac_cv_lib_ICE_IceConnectionNumber=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
+$as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; }
+if test "x$ac_cv_lib_ICE_IceConnectionNumber" = xyes; then :
+  X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
+fi
+
+  LDFLAGS=$ac_save_LDFLAGS
+
+fi
+
+ac_header_dirent=no
+for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
+  as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
+$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
+if eval \${$as_ac_Header+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <$ac_hdr>
+
+int
+main ()
+{
+if ((DIR *) 0)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_ac_Header=yes"
+else
+  eval "$as_ac_Header=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$as_ac_Header
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
+_ACEOF
+
+ac_header_dirent=$ac_hdr; break
+fi
+
+done
+# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
+if test $ac_header_dirent = dirent.h; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
+$as_echo_n "checking for library containing opendir... " >&6; }
+if ${ac_cv_search_opendir+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char opendir ();
+int
+main ()
+{
+return opendir ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dir; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_opendir=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if ${ac_cv_search_opendir+:} false; then :
+  break
+fi
+done
+if ${ac_cv_search_opendir+:} false; then :
+
+else
+  ac_cv_search_opendir=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
+$as_echo "$ac_cv_search_opendir" >&6; }
+ac_res=$ac_cv_search_opendir
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
+$as_echo_n "checking for library containing opendir... " >&6; }
+if ${ac_cv_search_opendir+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char opendir ();
+int
+main ()
+{
+return opendir ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' x; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_opendir=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if ${ac_cv_search_opendir+:} false; then :
+  break
+fi
+done
+if ${ac_cv_search_opendir+:} false; then :
+
+else
+  ac_cv_search_opendir=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
+$as_echo "$ac_cv_search_opendir" >&6; }
+ac_res=$ac_cv_search_opendir
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if ${ac_cv_header_stdc+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_header_stdc=yes
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+
+for ac_header in unistd.h TargetConfig.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+# Checks for typedefs, structures, and compiler characteristics.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
+$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
+if ${ac_cv_c_bigendian+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_c_bigendian=unknown
+    # See if we're dealing with a universal compiler.
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifndef __APPLE_CC__
+	       not a universal capable compiler
+	     #endif
+	     typedef int dummy;
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+	# Check for potential -arch flags.  It is not universal unless
+	# there are at least two -arch flags with different values.
+	ac_arch=
+	ac_prev=
+	for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+	 if test -n "$ac_prev"; then
+	   case $ac_word in
+	     i?86 | x86_64 | ppc | ppc64)
+	       if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+		 ac_arch=$ac_word
+	       else
+		 ac_cv_c_bigendian=universal
+		 break
+	       fi
+	       ;;
+	   esac
+	   ac_prev=
+	 elif test "x$ac_word" = "x-arch"; then
+	   ac_prev=arch
+	 fi
+       done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    if test $ac_cv_c_bigendian = unknown; then
+      # See if sys/param.h defines the BYTE_ORDER macro.
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+	     #include <sys/param.h>
+
+int
+main ()
+{
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+		     && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+		     && LITTLE_ENDIAN)
+	      bogus endian macros
+	     #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  # It does; now see whether it defined to BIG_ENDIAN or not.
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+		#include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+		 not big endian
+		#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_bigendian=yes
+else
+  ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    fi
+    if test $ac_cv_c_bigendian = unknown; then
+      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+	      bogus endian macros
+	     #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  # It does; now see whether it defined to _BIG_ENDIAN or not.
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+		 not big endian
+		#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_bigendian=yes
+else
+  ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    fi
+    if test $ac_cv_c_bigendian = unknown; then
+      # Compile a test program.
+      if test "$cross_compiling" = yes; then :
+  # Try to guess by grepping values from an object file.
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+short int ascii_mm[] =
+		  { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+		short int ascii_ii[] =
+		  { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+		int use_ascii (int i) {
+		  return ascii_mm[i] + ascii_ii[i];
+		}
+		short int ebcdic_ii[] =
+		  { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+		short int ebcdic_mm[] =
+		  { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+		int use_ebcdic (int i) {
+		  return ebcdic_mm[i] + ebcdic_ii[i];
+		}
+		extern int foo;
+
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+	      ac_cv_c_bigendian=yes
+	    fi
+	    if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+	      if test "$ac_cv_c_bigendian" = unknown; then
+		ac_cv_c_bigendian=no
+	      else
+		# finding both strings is unlikely to happen, but who knows?
+		ac_cv_c_bigendian=unknown
+	      fi
+	    fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+
+	     /* Are we little or big endian?  From Harbison&Steele.  */
+	     union
+	     {
+	       long int l;
+	       char c[sizeof (long int)];
+	     } u;
+	     u.l = 1;
+	     return u.c[sizeof (long int) - 1] == 1;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_c_bigendian=no
+else
+  ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+    fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
+$as_echo "$ac_cv_c_bigendian" >&6; }
+ case $ac_cv_c_bigendian in #(
+   yes)
+     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
+;; #(
+   no)
+      ;; #(
+   universal)
+
+$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
+
+     ;; #(
+   *)
+     as_fn_error $? "unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
+ esac
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
+$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
+if ${ac_cv_c_const+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+#ifndef __cplusplus
+  /* Ultrix mips cc rejects this sort of thing.  */
+  typedef int charset[2];
+  const charset cs = { 0, 0 };
+  /* SunOS 4.1.1 cc rejects this.  */
+  char const *const *pcpcc;
+  char **ppc;
+  /* NEC SVR4.0.2 mips cc rejects this.  */
+  struct point {int x, y;};
+  static struct point const zero = {0,0};
+  /* AIX XL C 1.02.0.0 rejects this.
+     It does not let you subtract one const X* pointer from another in
+     an arm of an if-expression whose if-part is not a constant
+     expression */
+  const char *g = "string";
+  pcpcc = &g + (g ? g-g : 0);
+  /* HPUX 7.0 cc rejects these. */
+  ++pcpcc;
+  ppc = (char**) pcpcc;
+  pcpcc = (char const *const *) ppc;
+  { /* SCO 3.2v4 cc rejects this sort of thing.  */
+    char tx;
+    char *t = &tx;
+    char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+    *t++ = 0;
+    if (s) return 0;
+  }
+  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
+    int x[] = {25, 17};
+    const int *foo = &x[0];
+    ++foo;
+  }
+  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+    typedef const int *iptr;
+    iptr p = 0;
+    ++p;
+  }
+  { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
+       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+    struct s { int j; const int *ap[3]; } bx;
+    struct s *b = &bx; b->j = 5;
+  }
+  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+    const int foo = 10;
+    if (!foo) return 0;
+  }
+  return !cs[0] && !zero.x;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_const=yes
+else
+  ac_cv_c_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
+$as_echo "$ac_cv_c_const" >&6; }
+if test $ac_cv_c_const = no; then
+
+$as_echo "#define const /**/" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
+$as_echo_n "checking for inline... " >&6; }
+if ${ac_cv_c_inline+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_c_inline=no
+for ac_kw in inline __inline__ __inline; do
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifndef __cplusplus
+typedef int foo_t;
+static $ac_kw foo_t static_foo () {return 0; }
+$ac_kw foo_t foo () {return 0; }
+#endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_inline=$ac_kw
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  test "$ac_cv_c_inline" != no && break
+done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
+$as_echo "$ac_cv_c_inline" >&6; }
+
+case $ac_cv_c_inline in
+  inline | yes) ;;
+  *)
+    case $ac_cv_c_inline in
+      no) ac_val=;;
+      *) ac_val=$ac_cv_c_inline;;
+    esac
+    cat >>confdefs.h <<_ACEOF
+#ifndef __cplusplus
+#define inline $ac_val
+#endif
+_ACEOF
+    ;;
+esac
+
+ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
+if test "x$ac_cv_type_pid_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define pid_t int
+_ACEOF
+
+fi
+
+ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
+if test "x$ac_cv_type_size_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned int
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5
+$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; }
+if ${ac_cv_struct_tm+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <time.h>
+
+int
+main ()
+{
+struct tm tm;
+				     int *p = &tm.tm_sec;
+				     return !p;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_struct_tm=time.h
+else
+  ac_cv_struct_tm=sys/time.h
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5
+$as_echo "$ac_cv_struct_tm" >&6; }
+if test $ac_cv_struct_tm = sys/time.h; then
+
+$as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h
+
+fi
+
+
+
+# Checks for library functions.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getpgrp requires zero arguments" >&5
+$as_echo_n "checking whether getpgrp requires zero arguments... " >&6; }
+if ${ac_cv_func_getpgrp_void+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # Use it with a single arg.
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+getpgrp (0);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_func_getpgrp_void=no
+else
+  ac_cv_func_getpgrp_void=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_getpgrp_void" >&5
+$as_echo "$ac_cv_func_getpgrp_void" >&6; }
+if test $ac_cv_func_getpgrp_void = yes; then
+
+$as_echo "#define GETPGRP_VOID 1" >>confdefs.h
+
+fi
+
+for ac_func in strftime
+do :
+  ac_fn_c_check_func "$LINENO" "strftime" "ac_cv_func_strftime"
+if test "x$ac_cv_func_strftime" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_STRFTIME 1
+_ACEOF
+
+else
+  # strftime is in -lintl on SCO UNIX.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for strftime in -lintl" >&5
+$as_echo_n "checking for strftime in -lintl... " >&6; }
+if ${ac_cv_lib_intl_strftime+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lintl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char strftime ();
+int
+main ()
+{
+return strftime ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_intl_strftime=yes
+else
+  ac_cv_lib_intl_strftime=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_strftime" >&5
+$as_echo "$ac_cv_lib_intl_strftime" >&6; }
+if test "x$ac_cv_lib_intl_strftime" = xyes; then :
+  $as_echo "#define HAVE_STRFTIME 1" >>confdefs.h
+
+LIBS="-lintl $LIBS"
+fi
+
+fi
+done
+
+for ac_header in vfork.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default"
+if test "x$ac_cv_header_vfork_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_VFORK_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_func in fork vfork
+do :
+  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+if test "x$ac_cv_func_fork" = xyes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5
+$as_echo_n "checking for working fork... " >&6; }
+if ${ac_cv_func_fork_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ac_cv_func_fork_works=cross
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+
+	  /* By Ruediger Kuhlmann. */
+	  return fork () < 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_func_fork_works=yes
+else
+  ac_cv_func_fork_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5
+$as_echo "$ac_cv_func_fork_works" >&6; }
+
+else
+  ac_cv_func_fork_works=$ac_cv_func_fork
+fi
+if test "x$ac_cv_func_fork_works" = xcross; then
+  case $host in
+    *-*-amigaos* | *-*-msdosdjgpp*)
+      # Override, as these systems have only a dummy fork() stub
+      ac_cv_func_fork_works=no
+      ;;
+    *)
+      ac_cv_func_fork_works=yes
+      ;;
+  esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5
+$as_echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;}
+fi
+ac_cv_func_vfork_works=$ac_cv_func_vfork
+if test "x$ac_cv_func_vfork" = xyes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5
+$as_echo_n "checking for working vfork... " >&6; }
+if ${ac_cv_func_vfork_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ac_cv_func_vfork_works=cross
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+/* Thanks to Paul Eggert for this test.  */
+$ac_includes_default
+#include <sys/wait.h>
+#ifdef HAVE_VFORK_H
+# include <vfork.h>
+#endif
+/* On some sparc systems, changes by the child to local and incoming
+   argument registers are propagated back to the parent.  The compiler
+   is told about this with #include <vfork.h>, but some compilers
+   (e.g. gcc -O) don't grok <vfork.h>.  Test for this by using a
+   static variable whose address is put into a register that is
+   clobbered by the vfork.  */
+static void
+#ifdef __cplusplus
+sparc_address_test (int arg)
+# else
+sparc_address_test (arg) int arg;
+#endif
+{
+  static pid_t child;
+  if (!child) {
+    child = vfork ();
+    if (child < 0) {
+      perror ("vfork");
+      _exit(2);
+    }
+    if (!child) {
+      arg = getpid();
+      write(-1, "", 0);
+      _exit (arg);
+    }
+  }
+}
+
+int
+main ()
+{
+  pid_t parent = getpid ();
+  pid_t child;
+
+  sparc_address_test (0);
+
+  child = vfork ();
+
+  if (child == 0) {
+    /* Here is another test for sparc vfork register problems.  This
+       test uses lots of local variables, at least as many local
+       variables as main has allocated so far including compiler
+       temporaries.  4 locals are enough for gcc 1.40.3 on a Solaris
+       4.1.3 sparc, but we use 8 to be safe.  A buggy compiler should
+       reuse the register of parent for one of the local variables,
+       since it will think that parent can't possibly be used any more
+       in this routine.  Assigning to the local variable will thus
+       munge parent in the parent process.  */
+    pid_t
+      p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),
+      p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();
+    /* Convince the compiler that p..p7 are live; otherwise, it might
+       use the same hardware register for all 8 local variables.  */
+    if (p != p1 || p != p2 || p != p3 || p != p4
+	|| p != p5 || p != p6 || p != p7)
+      _exit(1);
+
+    /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent
+       from child file descriptors.  If the child closes a descriptor
+       before it execs or exits, this munges the parent's descriptor
+       as well.  Test for this by closing stdout in the child.  */
+    _exit(close(fileno(stdout)) != 0);
+  } else {
+    int status;
+    struct stat st;
+
+    while (wait(&status) != child)
+      ;
+    return (
+	 /* Was there some problem with vforking?  */
+	 child < 0
+
+	 /* Did the child fail?  (This shouldn't happen.)  */
+	 || status
+
+	 /* Did the vfork/compiler bug occur?  */
+	 || parent != getpid()
+
+	 /* Did the file descriptor bug occur?  */
+	 || fstat(fileno(stdout), &st) != 0
+	 );
+  }
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_func_vfork_works=yes
+else
+  ac_cv_func_vfork_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5
+$as_echo "$ac_cv_func_vfork_works" >&6; }
+
+fi;
+if test "x$ac_cv_func_fork_works" = xcross; then
+  ac_cv_func_vfork_works=$ac_cv_func_vfork
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5
+$as_echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;}
+fi
+
+if test "x$ac_cv_func_vfork_works" = xyes; then
+
+$as_echo "#define HAVE_WORKING_VFORK 1" >>confdefs.h
+
+else
+
+$as_echo "#define vfork fork" >>confdefs.h
+
+fi
+if test "x$ac_cv_func_fork_works" = xyes; then
+
+$as_echo "#define HAVE_WORKING_FORK 1" >>confdefs.h
+
+fi
+
+for ac_func in vprintf
+do :
+  ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf"
+if test "x$ac_cv_func_vprintf" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_VPRINTF 1
+_ACEOF
+
+ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt"
+if test "x$ac_cv_func__doprnt" = xyes; then :
+
+$as_echo "#define HAVE_DOPRNT 1" >>confdefs.h
+
+fi
+
+fi
+done
+
+
+
+for ac_func in strdup strstr strchr erand48 memmove
+do :
+  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+if test "x${with_x}" != "xno"; then :
+
+  CFLAGS="$CFLAGS $X_CFLAGS"
+
+case $host_os in
+irix*)
+    XLIB="-lX11 $X_EXTRA_LIBS"
+    ;;
+*)
+    XLIB="$X_LIBS -lX11 $X_EXTRA_LIBS"
+    ;;
+esac
+
+
+
+ac_fn_c_check_header_mongrel "$LINENO" "X11/Xlib.h" "ac_cv_header_X11_Xlib_h" "$ac_includes_default"
+if test "x$ac_cv_header_X11_Xlib_h" = xyes; then :
+
+
+$as_echo "#define PLD_xwin 1" >>confdefs.h
+
+
+else
+
+	echo ""
+	echo "X11 graphics have been selected but no X11 header files"
+        echo "have been found."
+        echo ""
+        echo "This error usually happens on Linux/MacOSX distributions"
+	echo "where the optional X11 development files have not been installed."
+        echo "On Linux RPM systems this package is usually called something"
+        echo "like xorg-x11-proto-devel whereas on Debian/Ubuntu it may"
+        echo "be called x-dev. On MacOSX installation DVDs the X11 files"
+        echo "can usually be found as an explicitly named optional"
+        echo "installation."
+        echo ""
+        echo "After installing the X11 development files you should do a"
+        echo "'make clean' and perform the configure stage again."
+        echo ""
+        echo "Alternatively, to install EMBOSS without X11 support, you can add"
+        echo "the --without-x switch to the configure command."
+	echo ""
+        exit $?
+
+fi
+
+
+
+
+fi
+
+
+# Library checks.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lc" >&5
+$as_echo_n "checking for socket in -lc... " >&6; }
+if ${ac_cv_lib_c_socket+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lc  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char socket ();
+int
+main ()
+{
+return socket ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_c_socket=yes
+else
+  ac_cv_lib_c_socket=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_socket" >&5
+$as_echo "$ac_cv_lib_c_socket" >&6; }
+if test "x$ac_cv_lib_c_socket" = xyes; then :
+  LIBS="${LIBS}"
+else
+  LIBS="${LIBS} -lsocket"
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lm" >&5
+$as_echo_n "checking for main in -lm... " >&6; }
+if ${ac_cv_lib_m_main+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lm  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+
+int
+main ()
+{
+return main ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_m_main=yes
+else
+  ac_cv_lib_m_main=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_main" >&5
+$as_echo "$ac_cv_lib_m_main" >&6; }
+if test "x$ac_cv_lib_m_main" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBM 1
+_ACEOF
+
+  LIBS="-lm $LIBS"
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for curl_easy_init in -lcurl" >&5
+$as_echo_n "checking for curl_easy_init in -lcurl... " >&6; }
+if ${ac_cv_lib_curl_curl_easy_init+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcurl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char curl_easy_init ();
+int
+main ()
+{
+return curl_easy_init ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_curl_curl_easy_init=yes
+else
+  ac_cv_lib_curl_curl_easy_init=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curl_curl_easy_init" >&5
+$as_echo "$ac_cv_lib_curl_curl_easy_init" >&6; }
+if test "x$ac_cv_lib_curl_curl_easy_init" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBCURL 1
+_ACEOF
+
+  LIBS="-lcurl $LIBS"
+
+else
+  as_fn_error $? "You need to install libcurl-devel library to your system" "$LINENO" 5
+fi
+
+
+# GD for FreeBSD requires libiconv
+
+case ${host_os} in #(
+  freebsd*) :
+
+  if test "x${with_pngdriver}" != "xno"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -liconv" >&5
+$as_echo_n "checking for main in -liconv... " >&6; }
+if ${ac_cv_lib_iconv_main+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-liconv  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+
+int
+main ()
+{
+return main ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_iconv_main=yes
+else
+  ac_cv_lib_iconv_main=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_iconv_main" >&5
+$as_echo "$ac_cv_lib_iconv_main" >&6; }
+if test "x$ac_cv_lib_iconv_main" = xyes; then :
+  LIBS="${LIBS}"
+else
+  LIBS="-liconv ${LIBS}"
+fi
+
+fi
+ ;; #(
+  *) :
+     ;;
+esac
+
+
+
+
+ if false; then
+  AMPNG_TRUE=
+  AMPNG_FALSE='#'
+else
+  AMPNG_TRUE='#'
+  AMPNG_FALSE=
+fi
+
+ if false; then
+  AMPDF_TRUE=
+  AMPDF_FALSE='#'
+else
+  AMPDF_TRUE='#'
+  AMPDF_FALSE=
+fi
+
+
+#
+# Handle general setup e.g. documentation directory
+#
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if docroot is given" >&5
+$as_echo_n "checking if docroot is given... " >&6; }
+
+# Check whether --with-docroot was given.
+if test "${with_docroot+set}" = set; then :
+  withval=$with_docroot; if test "$withval" != no ; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  CPPFLAGS="$CPPFLAGS -DDOC_ROOT=\\\"$withval\\\""
+fi
+else
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+
+
+
+
+# GCC profiling
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc profiling is selected" >&5
+$as_echo_n "checking if gcc profiling is selected... " >&6; }
+
+# Check whether --with-gccprofile was given.
+if test "${with_gccprofile+set}" = set; then :
+  withval=$with_gccprofile; if test "$withval" != no ; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  CFLAGS="$CFLAGS -g -pg"
+  LDFLAGS="$LDFLAGS -pg"
+fi
+else
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+
+
+
+
+
+  JAVA_CFLAGS=""
+  JAVA_CPPFLAGS=""
+  JAVA_LDFLAGS=""
+
+  have_java="yes"
+  auth_java=""
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Java JNI" >&5
+$as_echo_n "checking for Java JNI... " >&6; }
+
+
+# Check whether --with-java was given.
+if test "${with_java+set}" = set; then :
+  withval=$with_java;
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${withval}" >&5
+$as_echo "${withval}" >&6; }
+    if test "x${withval}" = "xno"; then :
+  have_java="no"
+fi
+
+else
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    have_java="no"
+
+fi
+
+
+  if test "x${have_java}" = "xyes"; then :
+
+    # If specified, the Java JNI include directory has to exist.
+    if test -d ${with_java}; then :
+  JAVA_CPPFLAGS="-I${withval}"
+else
+
+      have_java="no"
+      as_fn_error $? "Java include directory ${withval} does not exist" "$LINENO" 5
+
+fi
+
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Java JNI OS" >&5
+$as_echo_n "checking for Java JNI OS... " >&6; }
+
+
+# Check whether --with-javaos was given.
+if test "${with_javaos+set}" = set; then :
+  withval=$with_javaos;
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${withval}" >&5
+$as_echo "${withval}" >&6; }
+
+    if test "x${withval}" != "xno"; then :
+
+      # If specified, the Java JNI OS include directory has to exist.
+      if test "x${have_java}" = "xyes" && test -d ${withval}; then :
+  as_fn_append JAVA_CPPFLAGS " -I${withval}"
+else
+
+        have_java="no"
+        as_fn_error $? "Java OS include directory ${withval} does not exist" "$LINENO" 5
+
+fi
+
+fi
+
+else
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+
+
+  # Authorisation type
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for authorisation type" >&5
+$as_echo_n "checking for authorisation type... " >&6; }
+
+
+# Check whether --with-auth was given.
+if test "${with_auth+set}" = set; then :
+  withval=$with_auth;
+    if test "x${withval}" != "xno"; then :
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+      case ${withval} in #(
+  yes) :
+
+        auth_java="PAM"
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lpam" >&5
+$as_echo_n "checking for main in -lpam... " >&6; }
+if ${ac_cv_lib_pam_main+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpam  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+
+int
+main ()
+{
+return main ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_pam_main=yes
+else
+  ac_cv_lib_pam_main=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pam_main" >&5
+$as_echo "$ac_cv_lib_pam_main" >&6; }
+if test "x$ac_cv_lib_pam_main" = xyes; then :
+  as_fn_append JAVA_LDFLAGS " -lpam"
+fi
+
+       ;; #(
+  pam) :
+
+        auth_java="PAM"
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lpam" >&5
+$as_echo_n "checking for main in -lpam... " >&6; }
+if ${ac_cv_lib_pam_main+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpam  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+
+int
+main ()
+{
+return main ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_pam_main=yes
+else
+  ac_cv_lib_pam_main=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pam_main" >&5
+$as_echo "$ac_cv_lib_pam_main" >&6; }
+if test "x$ac_cv_lib_pam_main" = xyes; then :
+  as_fn_append JAVA_LDFLAGS " -lpam"
+fi
+
+       ;; #(
+  shadow) :
+
+        auth_java="N_SHADOW"
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lcrypy" >&5
+$as_echo_n "checking for main in -lcrypy... " >&6; }
+if ${ac_cv_lib_crypy_main+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcrypy  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+
+int
+main ()
+{
+return main ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_crypy_main=yes
+else
+  ac_cv_lib_crypy_main=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypy_main" >&5
+$as_echo "$ac_cv_lib_crypy_main" >&6; }
+if test "x$ac_cv_lib_crypy_main" = xyes; then :
+  as_fn_append JAVA_LDFLAGS " -lcrypt"
+fi
+
+       ;; #(
+  rshadow) :
+
+        auth_java="R_SHADOW"
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lcrypy" >&5
+$as_echo_n "checking for main in -lcrypy... " >&6; }
+if ${ac_cv_lib_crypy_main+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcrypy  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+
+int
+main ()
+{
+return main ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_crypy_main=yes
+else
+  ac_cv_lib_crypy_main=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypy_main" >&5
+$as_echo "$ac_cv_lib_crypy_main" >&6; }
+if test "x$ac_cv_lib_crypy_main" = xyes; then :
+  as_fn_append JAVA_LDFLAGS " -lcrypt"
+fi
+
+       ;; #(
+  noshadow) :
+    auth_java="NO_SHADOW" ;; #(
+  rnoshadow) :
+    auth_java="RNO_SHADOW" ;; #(
+  aixshadow) :
+    auth_java="AIX_SHADOW" ;; #(
+  hpuxshadow) :
+    auth_java="HPUX_SHADOW" ;; #(
+  *) :
+     ;;
+esac
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  if test -n "${auth_java}"; then :
+  as_fn_append JAVA_CPPFLAGS " -D${auth_java}"
+else
+  as_fn_append JAVA_CPPFLAGS " -DNO_AUTH"
+fi
+
+  # Threading type
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for threading type" >&5
+$as_echo_n "checking for threading type... " >&6; }
+
+
+# Check whether --with-thread was given.
+if test "${with_thread+set}" = set; then :
+  withval=$with_thread;
+    if test "x${withval}" != "xno"; then :
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+      case ${withval} in #(
+  yes) :
+
+        as_fn_append JAVA_CPPFLAGS " -D_REENTRANT"
+        as_fn_append JAVA_LDFLAGS " -lpthread"
+        # AS_VAR_APPEND([LIBS], [" -lpthread"])
+       ;; #(
+  freebsd) :
+
+        as_fn_append JAVA_CPPFLAGS " -D_THREAD_SAFE"
+        as_fn_append JAVA_LDFLAGS " -pthread"
+        # AS_VAR_APPEND([LIBS], [" -lc_r"])
+       ;; #(
+  linux) :
+
+        as_fn_append JAVA_CPPFLAGS " -D_REENTRANT"
+        as_fn_append JAVA_LDFLAGS " -lpthread"
+        # AS_VAR_APPEND([LIBS], [" -lpthread"])
+       ;; #(
+  solaris) :
+
+        as_fn_append JAVA_CPPFLAGS " -D_POSIX_C_SOURCE=199506L"
+        as_fn_append JAVA_LDFLAGS " -lpthread"
+        # AS_VAR_APPEND([LIBS], [" -lpthread"])
+       ;; #(
+  macos) :
+
+        # AS_VAR_APPEND([JAVA_CPPFLAGS], [""])
+        # AS_VAR_APPEND([JAVA_LDFLAGS], [" -lpthread"])
+        # AS_VAR_APPEND([LIBS], [" -lpthread"])
+       ;; #(
+  hpux) :
+
+        as_fn_append JAVA_CFLAGS " -Ae +z"
+        as_fn_append JAVA CPPFLAGS " -DNATIVE -D_POSIX_C_SOURCE=199506L"
+        as_fn_append JAVA_LDFLAGS " -lpthread"
+        # AS_VAR_APPEND([LIBS], [" -lpthread"])
+       ;; #(
+  irix) :
+
+        # AS_VAR_APPEND([JAVA_CFLAGS], [""])
+        as_fn_append JAVA_LDFLAGS " -lpthread"
+        as_fn_append LIBS " -lpthread"
+       ;; #(
+  aix) :
+
+        as_fn_append JAVA_CPPFLAGS " -D_REENTRANT"
+        as_fn_append JAVA_LDFLAGS " -lpthread"
+        as_fn_append LIBS " -lpthread"
+       ;; #(
+  osf) :
+
+        as_fn_append JAVA_CPPFLAGS " -D_REENTRANT -D_OSF_SOURCE"
+        as_fn_append JAVA_LDFLAGS " -lpthread"
+        as_fn_append LIBS " -lpthread"
+       ;; #(
+  *) :
+     ;;
+esac
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  # Test for programs ant, jar, java and javac.
+
+  if test "x${have_java}" = "xyes"; then :
+
+    # Extract the first word of "ant", so it can be a program name with args.
+set dummy ant; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ANT+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ANT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ANT="$ANT" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ANT="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_ANT" && ac_cv_path_ANT="no"
+  ;;
+esac
+fi
+ANT=$ac_cv_path_ANT
+if test -n "$ANT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ANT" >&5
+$as_echo "$ANT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    if test "x${ANT}" = "xno"; then :
+  have_java="no"
+fi
+
+    # Extract the first word of "jar", so it can be a program name with args.
+set dummy jar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_JAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $JAR in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAR="$JAR" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_JAR="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_JAR" && ac_cv_path_JAR="no"
+  ;;
+esac
+fi
+JAR=$ac_cv_path_JAR
+if test -n "$JAR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAR" >&5
+$as_echo "$JAR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    if test "x${JAR}" = "xno"; then :
+  have_java="no"
+fi
+
+    # Extract the first word of "java", so it can be a program name with args.
+set dummy java; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_JAVA+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $JAVA in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVA="$JAVA" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_JAVA="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_JAVA" && ac_cv_path_JAVA="no"
+  ;;
+esac
+fi
+JAVA=$ac_cv_path_JAVA
+if test -n "$JAVA"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVA" >&5
+$as_echo "$JAVA" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    if test "x${JAVA}" = "xno"; then :
+  have_java="no"
+fi
+
+    # Extract the first word of "javac", so it can be a program name with args.
+set dummy javac; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_JAVAC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $JAVAC in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_JAVAC" && ac_cv_path_JAVAC="no"
+  ;;
+esac
+fi
+JAVAC=$ac_cv_path_JAVAC
+if test -n "$JAVAC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5
+$as_echo "$JAVAC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    if test "x${JAVAC}" = "xno"; then :
+  have_java="no"
+fi
+
+fi
+
+  if test "x${have_java}" = "xyes"; then :
+
+
+$as_echo "#define HAVE_JAVA 1" >>confdefs.h
+
+
+    ### FIXME: Append -DDEBIAN for the moment.
+    # Debian uses PAM service "ssh" instead of "login", see ajjava.c
+    # This could use AC_DEFINE() if no better option was avialable.
+    # Ultimately, this should be configurable via server configuration
+    # files.
+    if test -f "/etc/debian_release" || test -f /etc/debian_version; then :
+  as_fn_append JAVA_CPPFLAGS " -DDEBIAN"
+fi
+
+fi
+
+
+
+
+
+
+
+
+
+
+   if test "x${have_java}" = "xyes"; then
+  JAVA_BUILD_TRUE=
+  JAVA_BUILD_FALSE='#'
+else
+  JAVA_BUILD_TRUE='#'
+  JAVA_BUILD_FALSE=
+fi
+
+
+#
+# Handle user hints
+#
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to look for pdf support" >&5
+$as_echo_n "checking whether to look for pdf support... " >&6; }
+
+# Check whether --with-hpdf was given.
+if test "${with_hpdf+set}" = set; then :
+  withval=$with_hpdf; if test "$withval" != no ; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+      ALT_HOME="$withval"
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    fi
+else
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+    ALT_HOME=/usr
+
+fi
+
+
+
+#
+# Locate hpdf
+#
+if test -d "${ALT_HOME}"
+then
+
+#
+# Keep a copy if it fails
+#
+	ALT_LDFLAGS="$LDFLAGS"
+	ALT_CPPFLAGS="$CPPFLAGS"
+
+#
+# Set
+#
+        LDFLAGS="${LDFLAGS} -L${ALT_HOME}/lib"
+        CPPFLAGS="$CPPFLAGS -I$ALT_HOME/include"
+
+#
+# Check for libharu in ALT_HOME
+#
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for HPDF_New in -lhpdf" >&5
+$as_echo_n "checking for HPDF_New in -lhpdf... " >&6; }
+if ${ac_cv_lib_hpdf_HPDF_New+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lhpdf -L${ALT_HOME}/lib $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char HPDF_New ();
+int
+main ()
+{
+return HPDF_New ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_hpdf_HPDF_New=yes
+else
+  ac_cv_lib_hpdf_HPDF_New=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hpdf_HPDF_New" >&5
+$as_echo "$ac_cv_lib_hpdf_HPDF_New" >&6; }
+if test "x$ac_cv_lib_hpdf_HPDF_New" = xyes; then :
+  CHECK=1
+else
+  CHECK=0
+fi
+
+#
+#
+# If everything found okay then proceed to include png driver in config.
+#
+	if test $CHECK = "1" ; then
+	  LIBS="$LIBS -lhpdf"
+
+	  case $host_os in
+	  solaris*)
+		LDFLAGS="$LDFLAGS -R$ALT_HOME/lib"
+		;;
+          esac
+
+
+$as_echo "#define PLD_pdf 1" >>confdefs.h
+
+	   if true; then
+  AMPDF_TRUE=
+  AMPDF_FALSE='#'
+else
+  AMPDF_TRUE='#'
+  AMPDF_FALSE=
+fi
+
+	  echo PDF support found
+	    if test $ALT_HOME = "/usr" ; then
+		  LDFLAGS="$ALT_LDFLAGS"
+		  CPPFLAGS="$ALT_CPPFLAGS"
+	    fi
+	else
+#
+# If not okay then reset FLAGS.
+#
+  	   if false; then
+  AMPDF_TRUE=
+  AMPDF_FALSE='#'
+else
+  AMPDF_TRUE='#'
+  AMPDF_FALSE=
+fi
+
+	  LDFLAGS="$ALT_LDFLAGS"
+	  CPPFLAGS="$ALT_CPPFLAGS"
+	  echo "No pdf support (libhpdf) found."
+	fi
+
+else
+        if test $withval != "no"; then
+		echo "Directory $ALT_HOME does not exist"
+		exit 0
+        fi
+fi
+
+#
+# Handle user hints
+#
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if png driver is wanted" >&5
+$as_echo_n "checking if png driver is wanted... " >&6; }
+
+# Check whether --with-pngdriver was given.
+if test "${with_pngdriver+set}" = set; then :
+  withval=$with_pngdriver; if test "$withval" != no ; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  ALT_HOME="$withval"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+else
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ALT_HOME=/usr
+
+fi
+
+
+
+#
+# Locate png/gd/zlib, if wanted
+#
+if test -d "${ALT_HOME}"
+then
+
+#
+# Keep a copy if it fails
+#
+	ALT_LDFLAGS="$LDFLAGS"
+	ALT_CPPFLAGS="$CPPFLAGS"
+
+#
+# Set
+#
+        LDFLAGS="${LDFLAGS} -L${ALT_HOME}/lib"
+        CPPFLAGS="$CPPFLAGS -I$ALT_HOME/include"
+
+	  ICCHECK=0
+	  case $host_os in
+          solaris*)
+	        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libiconv_close in -liconv" >&5
+$as_echo_n "checking for libiconv_close in -liconv... " >&6; }
+if ${ac_cv_lib_iconv_libiconv_close+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-liconv -L${ALT_HOME}/lib -liconv $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char libiconv_close ();
+int
+main ()
+{
+return libiconv_close ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_iconv_libiconv_close=yes
+else
+  ac_cv_lib_iconv_libiconv_close=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_iconv_libiconv_close" >&5
+$as_echo "$ac_cv_lib_iconv_libiconv_close" >&6; }
+if test "x$ac_cv_lib_iconv_libiconv_close" = xyes; then :
+  ICCHECK=1
+else
+  ICCHECK=0
+fi
+
+	           if test $ICCHECK = "1" ; then
+	               LDFLAGS="${LDFLAGS} -L${ALT_HOME}/lib -liconv"
+	           fi
+	        LDFLAGS="$LDFLAGS -R$ALT_HOME/lib"
+                ;;
+          esac
+
+
+
+
+
+#
+# Check for zlib in ALT_HOME
+#
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflateEnd in -lz" >&5
+$as_echo_n "checking for inflateEnd in -lz... " >&6; }
+if ${ac_cv_lib_z_inflateEnd+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lz -L${ALT_HOME}/lib -lz $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char inflateEnd ();
+int
+main ()
+{
+return inflateEnd ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_z_inflateEnd=yes
+else
+  ac_cv_lib_z_inflateEnd=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflateEnd" >&5
+$as_echo "$ac_cv_lib_z_inflateEnd" >&6; }
+if test "x$ac_cv_lib_z_inflateEnd" = xyes; then :
+  CHECK=1
+else
+  CHECK=0
+fi
+
+#
+
+#
+# Check for png
+#
+	if test $CHECK = "1" ; then
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for png_destroy_read_struct in -lpng" >&5
+$as_echo_n "checking for png_destroy_read_struct in -lpng... " >&6; }
+if ${ac_cv_lib_png_png_destroy_read_struct+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpng -L${ALT_HOME}/lib -lz $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char png_destroy_read_struct ();
+int
+main ()
+{
+return png_destroy_read_struct ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_png_png_destroy_read_struct=yes
+else
+  ac_cv_lib_png_png_destroy_read_struct=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_png_png_destroy_read_struct" >&5
+$as_echo "$ac_cv_lib_png_png_destroy_read_struct" >&6; }
+if test "x$ac_cv_lib_png_png_destroy_read_struct" = xyes; then :
+  CHECK=1
+else
+  CHECK=0
+fi
+
+	fi
+
+
+
+
+#
+# Check for gd
+#
+	if test $CHECK = "1"; then
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gdImageCreateFromPng in -lgd" >&5
+$as_echo_n "checking for gdImageCreateFromPng in -lgd... " >&6; }
+if ${ac_cv_lib_gd_gdImageCreateFromPng+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lgd -L${ALT_HOME}/lib -lgd -lpng -lz -lm $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char gdImageCreateFromPng ();
+int
+main ()
+{
+return gdImageCreateFromPng ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_gd_gdImageCreateFromPng=yes
+else
+  ac_cv_lib_gd_gdImageCreateFromPng=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gd_gdImageCreateFromPng" >&5
+$as_echo "$ac_cv_lib_gd_gdImageCreateFromPng" >&6; }
+if test "x$ac_cv_lib_gd_gdImageCreateFromPng" = xyes; then :
+  CHECK=1
+else
+  CHECK=0
+fi
+
+          if test $CHECK = "0"; then
+		echo need to upgrade gd for png driver for plplot
+	  fi
+	fi
+#
+# If everything found okay then proceed to include png driver in config.
+#
+	if test $CHECK = "1" ; then
+	  LIBS="$LIBS -lgd -lpng -lz -lm"
+
+	  if test $ICCHECK = "1" ; then
+		  LIBS="$LIBS -liconv"
+	  fi
+
+          case $host_os in
+          solaris*)
+	      LDFLAGS="$LDFLAGS -R$ALT_HOME/lib"
+              ;;
+          esac
+
+
+$as_echo "#define PLD_png 1" >>confdefs.h
+
+	   if true; then
+  AMPNG_TRUE=
+  AMPNG_FALSE='#'
+else
+  AMPNG_TRUE='#'
+  AMPNG_FALSE=
+fi
+
+	  echo PNG libraries found
+	    if test $ALT_HOME = "/usr" ; then
+		  LDFLAGS="$ALT_LDFLAGS"
+		  CPPFLAGS="$ALT_CPPFLAGS"
+	    fi
+	else
+#
+# If not okay then reset FLAGS.
+#
+  	   if false; then
+  AMPNG_TRUE=
+  AMPNG_FALSE='#'
+else
+  AMPNG_TRUE='#'
+  AMPNG_FALSE=
+fi
+
+	  LDFLAGS="$ALT_LDFLAGS"
+	  CPPFLAGS="$ALT_CPPFLAGS"
+	  echo No png driver will be made due to librarys missing/old.
+	fi
+#       echo PNG STUFF FOLLOWS!!!
+#       echo CHECK = $CHECK
+#       echo LIBS = $LIBS
+#       echo LDFLAGS = $LDFLAGS
+#       echo CPPFLAGS = $CPPFLAGS
+
+
+else
+        if test $withval != "no"; then
+		echo "Directory $ALT_HOME does not exist"
+		exit 0
+        fi
+fi
+
+
+
+  MYSQL_CFLAGS=""
+  MYSQL_CPPFLAGS=""
+  MYSQL_LDFLAGS=""
+  MYSQL_CONFIG=""
+  MYSQL_VERSION=""
+
+
+# Check whether --with-mysql was given.
+if test "${with_mysql+set}" = set; then :
+  withval=$with_mysql;
+    if test "x${withval}" = "xno"; then :
+  want_mysql="no"
+elif test "x${withval}" = "xyes"; then :
+  want_mysql="yes"
+else
+
+      want_mysql="yes"
+      MYSQL_CONFIG="${withval}"
+
+fi
+
+else
+  want_mysql="yes"
+fi
+
+
+
+  if test "x${want_mysql}" = "xyes"; then :
+
+    if test -z "${MYSQL_CONFIG}" -o test; then :
+  # Extract the first word of "mysql_config", so it can be a program name with args.
+set dummy mysql_config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_MYSQL_CONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $MYSQL_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_MYSQL_CONFIG="$MYSQL_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_MYSQL_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_MYSQL_CONFIG" && ac_cv_path_MYSQL_CONFIG="no"
+  ;;
+esac
+fi
+MYSQL_CONFIG=$ac_cv_path_MYSQL_CONFIG
+if test -n "$MYSQL_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MYSQL_CONFIG" >&5
+$as_echo "$MYSQL_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+
+    if test "x${MYSQL_CONFIG}" != "xno"; then :
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MySQL libraries" >&5
+$as_echo_n "checking for MySQL libraries... " >&6; }
+
+      MYSQL_CFLAGS="`${MYSQL_CONFIG} --cflags`"
+      MYSQL_CPPFLAGS="`${MYSQL_CONFIG} --include`"
+      MYSQL_LDFLAGS="`${MYSQL_CONFIG} --libs`"
+
+      MYSQL_VERSION=`${MYSQL_CONFIG} --version`
+
+
+      EMBCPPFLAGS="${CPPFLAGS}"
+      EMBLDFLAGS="${LDFLAGS}"
+
+      CPPFLAGS="${MYSQL_CPPFLAGS} ${EMBCPPFLAGS}"
+      LDFLAGS="${MYSQL_LDFLAGS} ${EMBLDFLAGS}"
+
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+                                        #include "mysql.h"
+int
+main ()
+{
+mysql_info(NULL)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  havemysql="yes"
+else
+  havemysql="no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+
+      CPPFLAGS="${EMBCPPFLAGS}"
+      LDFLAGS="${EMBLDFLAGS}"
+
+      if test "x${havemysql}" = "xyes"; then :
+
+
+$as_echo "#define HAVE_MYSQL 1" >>confdefs.h
+
+        found_mysql="yes"
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+else
+
+        MYSQL_CFLAGS=""
+        MYSQL_CPPFLAGS=""
+        MYSQL_LDFLAGS=""
+        found_mysql="no"
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+
+else
+
+      found_mysql="no"
+
+fi
+
+fi
+
+
+  mysql_version_req=
+
+  if test "x${found_mysql}" = "xyes" -a -n "${mysql_version_req}"; then :
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if MySQL version is >= ${mysql_version_req}" >&5
+$as_echo_n "checking if MySQL version is >= ${mysql_version_req}... " >&6; }
+
+
+    mysql_version_req_major=`expr ${mysql_version_req} : '\([0-9]*\)'`
+    mysql_version_req_minor=`expr ${mysql_version_req} : '[0-9]*\.\([0-9]*\)'`
+    mysql_version_req_micro=`expr ${mysql_version_req} : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
+
+    if test "x${mysql_version_req_micro}" = "x"; then :
+  mysql_version_req_micro="0"
+fi
+
+    mysql_version_req_number=`expr ${mysql_version_req_major} \* 1000000 \
+                             \+ ${mysql_version_req_minor} \* 1000 \
+                             \+ ${mysql_version_req_micro}`
+
+
+    mysql_version_major=`expr ${MYSQL_VERSION} : '\([0-9]*\)'`
+    mysql_version_minor=`expr ${MYSQL_VERSION} : '[0-9]*\.\([0-9]*\)'`
+    mysql_version_micro=`expr ${MYSQL_VERSION} : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
+
+    if test "x${mysql_version_micro}" = "x"; then :
+  mysql_version_micro="0"
+fi
+
+    mysql_version_number=`expr ${mysql_version_major} \* 1000000 \
+                         \+ ${mysql_version_minor} \* 1000 \
+                         \+ ${mysql_version_micro}`
+
+    mysql_version_check=`expr ${mysql_version_number} \>\= ${mysql_version_req_number}`
+
+    if test "x${mysql_version_check}" = "x1"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+fi
+
+
+
+
+
+
+
+  POSTGRESQL_CFLAGS=""
+  POSTGRESQL_CPPFLAGS=""
+  POSTGRESQL_LDFLAGS=""
+  POSTGRESQL_CONFIG=""
+  POSTGRESQL_VERSION=""
+
+
+# Check whether --with-postgresql was given.
+if test "${with_postgresql+set}" = set; then :
+  withval=$with_postgresql;
+    if test "x${withval}" = "xno"; then :
+  want_postgresql="no"
+elif test "x${withval}" = "xyes"; then :
+  want_postgresql="yes"
+else
+
+      want_postgresql="yes"
+      POSTGRESQL_CONFIG="${withval}"
+
+fi
+
+else
+  want_postgresql="yes"
+fi
+
+
+
+  if test "x${want_postgresql}" = "xyes"; then :
+
+    if test -z "${POSTGRESQL_CONFIG}" -o test; then :
+  # Extract the first word of "pg_config", so it can be a program name with args.
+set dummy pg_config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_POSTGRESQL_CONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $POSTGRESQL_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_POSTGRESQL_CONFIG="$POSTGRESQL_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_POSTGRESQL_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_POSTGRESQL_CONFIG" && ac_cv_path_POSTGRESQL_CONFIG="no"
+  ;;
+esac
+fi
+POSTGRESQL_CONFIG=$ac_cv_path_POSTGRESQL_CONFIG
+if test -n "$POSTGRESQL_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $POSTGRESQL_CONFIG" >&5
+$as_echo "$POSTGRESQL_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+
+    if test "x${POSTGRESQL_CONFIG}" != "xno"; then :
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PostgreSQL libraries" >&5
+$as_echo_n "checking for PostgreSQL libraries... " >&6; }
+
+      POSTGRESQL_CFLAGS="-I`${POSTGRESQL_CONFIG} --includedir`"
+      POSTGRESQL_CPPFLAGS="-I`${POSTGRESQL_CONFIG} --includedir`"
+      POSTGRESQL_LDFLAGS="-L`${POSTGRESQL_CONFIG} --libdir` -lpq"
+
+      POSTGRESQL_VERSION=`${POSTGRESQL_CONFIG} --version | sed -e 's#PostgreSQL ##'`
+
+
+      EMBCPPFLAGS="${CPPFLAGS}"
+      EMBLDFLAGS="${LDFLAGS}"
+
+      CPPFLAGS="${POSTGRESQL_CPPFLAGS} ${EMBCPPFLAGS}"
+      LDFLAGS="${POSTGRESQL_LDFLAGS} ${EMBLDFLAGS}"
+
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+                                        #include "libpq-fe.h"
+int
+main ()
+{
+PQconnectdb(NULL)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  havepostgresql="yes"
+else
+  havepostgresql="no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+
+      CPPFLAGS="${EMBCPPFLAGS}"
+      LDFLAGS="${EMBLDFLAGS}"
+
+      if test "x${havepostgresql}" = "xyes"; then :
+
+
+$as_echo "#define HAVE_POSTGRESQL 1" >>confdefs.h
+
+        found_postgresql="yes"
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+else
+
+        POSTGRESQL_CFLAGS=""
+        POSTGRESQL_CPPFLAGS=""
+        POSTGRESQL_LDFLAGS=""
+        found_postgresql="no"
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+
+else
+
+      found_postgresql="no"
+
+fi
+
+fi
+
+
+  postgresql_version_req=
+
+  if test "x${found_postgresql}" = "xyes" -a -n "${postgresql_version_req}"; then :
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if PostgreSQL version is >= ${postgresql_version_req}" >&5
+$as_echo_n "checking if PostgreSQL version is >= ${postgresql_version_req}... " >&6; }
+
+
+    postgresql_version_req_major=`expr ${postgresql_version_req} : '\([0-9]*\)'`
+    postgresql_version_req_minor=`expr ${postgresql_version_req} : '[0-9]*\.\([0-9]*\)'`
+    postgresql_version_req_micro=`expr ${postgresql_version_req} : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
+
+    if test "x${postgresql_version_req_micro}" = "x"; then :
+  postgresql_version_req_micro="0"
+fi
+
+    postgresql_version_req_number=`expr ${postgresql_version_req_major} \* 1000000 \
+                                  \+ ${postgresql_version_req_minor} \* 1000 \
+                                  \+ ${postgresql_version_req_micro}`
+
+
+    postgresql_version_major=`expr ${POSTGRESQL_VERSION} : '\([0-9]*\)'`
+    postgresql_version_minor=`expr ${POSTGRESQL_VERSION} : '[0-9]*\.\([0-9]*\)'`
+    postgresql_version_micro=`expr ${POSTGRESQL_VERSION} : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
+
+    if test "x${postgresql_version_micro}" = "x"; then :
+  postgresql_version_micro="0"
+fi
+
+    postgresql_version_number=`expr ${postgresql_version_major} \* 1000000 \
+                              \+ ${postgresql_version_minor} \* 1000 \
+                              \+ ${postgresql_version_micro}`
+
+    postgresql_version_check=`expr ${postgresql_version_number} \>\= ${postgresql_version_req_number}`
+
+    if test "x${postgresql_version_check}" = "x1"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+locallink="no"
+embprefix="/usr/local"
+# Check whether --enable-localforce was given.
+if test "${enable_localforce+set}" = set; then :
+  enableval=$enable_localforce;
+fi
+
+
+if test "x${enable_localforce}" = "xyes"; then :
+  embprefix="/usr/local"
+fi
+
+if test "x${prefix}" = "xNONE"; then :
+
+    if test "x${enable_localforce}" != "xyes"; then :
+  locallink="yes"
+else
+
+        locallink="no"
+        embprefix="/usr/local"
+
+fi
+
+else
+
+    embprefix="${prefix}"
+
+fi
+
+ if test "x${locallink}" = "xyes"; then
+  LOCALLINK_TRUE=
+  LOCALLINK_FALSE='#'
+else
+  LOCALLINK_TRUE='#'
+  LOCALLINK_FALSE=
+fi
+
+
+
+
+
+
+
+# Enable debugging: --enable-debug, sets CFLAGS
+
+# Check whether --enable-debug was given.
+if test "${enable_debug+set}" = set; then :
+  enableval=$enable_debug;
+fi
+
+
+if test "x${enable_debug}" = "xyes"; then :
+  as_fn_append CFLAGS " -g"
+fi
+
+
+
+
+# Turn off irritating linker warnings in IRIX
+
+case ${host_os} in #(
+  irix*) :
+
+  CFLAGS="-Wl,-LD_MSG:off=85:off=84:off=16:off=134 ${CFLAGS}"
+ ;; #(
+  *) :
+     ;;
+esac
+
+
+
+
+# Enable the large file interface: --enable-large, appends CPPFLAGS
+
+# Check whether --enable-large was given.
+if test "${enable_large+set}" = set; then :
+  enableval=$enable_large;
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for large file support" >&5
+$as_echo_n "checking for large file support... " >&6; }
+
+if test "x${enable_large}" = "xno"; then :
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+else
+
+  case ${host_os} in #(
+  linux*) :
+
+    as_fn_append CPPFLAGS " -DAJ_LinuxLF"
+    as_fn_append CPPFLAGS " -D_LARGEFILE_SOURCE"
+    as_fn_append CPPFLAGS " -D_LARGEFILE64_SOURCE"
+    as_fn_append CPPFLAGS " -D_FILE_OFFSET_BITS=64"
+   ;; #(
+  freebsd*) :
+
+    as_fn_append CPPFLAGS " -DAJ_FreeBSDLF"
+   ;; #(
+  solaris*) :
+
+    as_fn_append CPPFLAGS " -DAJ_SolarisLF"
+    as_fn_append CPPFLAGS " -D_LARGEFILE_SOURCE"
+    as_fn_append CPPFLAGS " -D_FILE_OFFSET_BITS=64"
+   ;; #(
+  osf*) :
+
+    as_fn_append CPPFLAGS " -DAJ_OSF1LF"
+   ;; #(
+  irix*) :
+
+    as_fn_append CPPFLAGS " -DAJ_IRIXLF"
+    as_fn_append CPPFLAGS " -D_LARGEFILE64_SOURCE"
+   ;; #(
+  aix*) :
+
+    as_fn_append CPPFLAGS " -DAJ_AIXLF"
+    as_fn_append CPPFLAGS " -D_LARGE_FILES"
+   ;; #(
+  hpux*) :
+
+    as_fn_append CPPFLAGS " -DAJ_HPUXLF"
+    as_fn_append CPPFLAGS " -D_LARGEFILE_SOURCE"
+    as_fn_append CPPFLAGS " -D_FILE_OFFSET_BITS=64"
+   ;; #(
+  darwin*) :
+
+    as_fn_append CPPFLAGS " -DAJ_MACOSXLF"
+   ;; #(
+  *) :
+     ;;
+esac
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+fi
+
+
+
+
+# Enable libraries provided by the system rather than EMBOSS:
+# --enable-systemlibs, sets ESYSTEMLIBS
+
+# Check whether --enable-systemlibs was given.
+if test "${enable_systemlibs+set}" = set; then :
+  enableval=$enable_systemlibs;
+fi
+
+
+ if test "x${enable_systemlibs}" = "xyes"; then
+  ESYSTEMLIBS_TRUE=
+  ESYSTEMLIBS_FALSE='#'
+else
+  ESYSTEMLIBS_TRUE='#'
+  ESYSTEMLIBS_FALSE=
+fi
+
+
+
+
+
+# Enable the purify tool: --enable-purify, sets CC and LIBTOOL
+
+# Check whether --enable-purify was given.
+if test "${enable_purify+set}" = set; then :
+  enableval=$enable_purify;
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for purify" >&5
+$as_echo_n "checking for purify... " >&6; }
+
+if test "x${enable_purify}" = "xyes"; then :
+
+  CC="purify --chain-length=20 -best-effort -windows=yes gcc -g"
+  LIBTOOL="${LIBTOOL} --tag=CC"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+else
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+
+
+
+
+if test "x${CC}" = "xcc"; then
+  case "${host}" in
+    alpha*-dec-osf*) CFLAGS="${CFLAGS} -ieee";;
+  esac
+fi
+
+ if test "x${enable_purify}" = "xyes"; then
+  PURIFY_TRUE=
+  PURIFY_FALSE='#'
+else
+  PURIFY_TRUE='#'
+  PURIFY_FALSE=
+fi
+
+
+
+
+
+platform_cygwin="no"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cygwin" >&5
+$as_echo_n "checking for cygwin... " >&6; }
+case "${host}" in
+  *-*-mingw*|*-*-cygwin*)
+    platform_cygwin="yes"
+    ;;
+  *)
+    platform_cygwin="no"
+    ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${platform_cygwin}" >&5
+$as_echo "${platform_cygwin}" >&6; }
+ if test "x${platform_cygwin}" = "xyes"; then
+  ISCYGWIN_TRUE=
+  ISCYGWIN_FALSE='#'
+else
+  ISCYGWIN_TRUE='#'
+  ISCYGWIN_FALSE=
+fi
+
+
+
+
+
+needajax="no"
+
+case ${host_os} in #(
+  aix*) :
+     if true; then
+  ISAIXIA64_TRUE=
+  ISAIXIA64_FALSE='#'
+else
+  ISAIXIA64_TRUE='#'
+  ISAIXIA64_FALSE=
+fi
+ ;; #(
+  *) :
+     if false; then
+  ISAIXIA64_TRUE=
+  ISAIXIA64_FALSE='#'
+else
+  ISAIXIA64_TRUE='#'
+  ISAIXIA64_FALSE=
+fi
+ ;;
+esac
+
+ if test "x${enable_shared}" = "xyes"; then
+  ISSHARED_TRUE=
+  ISSHARED_FALSE='#'
+else
+  ISSHARED_TRUE='#'
+  ISSHARED_FALSE=
+fi
+
+
+case ${host_os} in #(
+  aix*) :
+
+  if test -d ajax/.libs; then :
+  $as_echo "AIX ajax/.libs exists"
+else
+  mkdir ajax/.libs
+fi
+
+  case ${host_os} in #(
+  aix5*) :
+    needajax="no" ;; #(
+  aix4.3.3*) :
+    needajax="yes" ;; #(
+  *) :
+    needajax="no" ;;
+esac
+ ;; #(
+  *) :
+     ;;
+esac
+
+ if test "x${needajax}" = "xyes"; then
+  NEEDAJAX_TRUE=
+  NEEDAJAX_FALSE='#'
+else
+  NEEDAJAX_TRUE='#'
+  NEEDAJAX_FALSE=
+fi
+
+
+
+
+
+# HP-UX needs -lsec for shadow passwords
+
+case ${host_os} in #(
+  hpux*) :
+    as_fn_append LDFLAGS " -lsec" ;; #(
+  *) :
+     ;;
+esac
+
+
+
+
+# GNU mcheck functions: --enable-mcheck, defines HAVE_MCHECK
+
+# Check whether --enable-mcheck was given.
+if test "${enable_mcheck+set}" = set; then :
+  enableval=$enable_mcheck;
+fi
+
+
+if test "x${enable_mcheck}" = "xyes"; then :
+  for ac_func in mcheck
+do :
+  ac_fn_c_check_func "$LINENO" "mcheck" "ac_cv_func_mcheck"
+if test "x$ac_cv_func_mcheck" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_MCHECK 1
+_ACEOF
+
+fi
+done
+
+fi
+
+
+
+
+# Collect AJAX statistics: --enable-savestats, defines AJ_SAVESTATS
+
+# Check whether --enable-savestats was given.
+if test "${enable_savestats+set}" = set; then :
+  enableval=$enable_savestats;
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for savestats" >&5
+$as_echo_n "checking for savestats... " >&6; }
+
+if test "x${enable_savestats}" = "xyes"; then :
+
+
+$as_echo "#define AJ_SAVESTATS 1" >>confdefs.h
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+else
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+
+
+
+
+ac_config_files="$ac_config_files Makefile src/Makefile acd/Makefile doc/Makefile doc/html/Makefile doc/text/Makefile"
+
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+
+  (set) 2>&1 |
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      # `set' does not quote correctly, so add quotes: double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \.
+      sed -n \
+	"s/'/'\\\\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;; #(
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+) |
+  sed '
+     /^ac_cv_env_/b end
+     t clear
+     :clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    if test "x$cache_file" != "x/dev/null"; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+U=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+$as_echo_n "checking that generated files are newer than configure... " >&6; }
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+  as_fn_error $? "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+  as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+ if test -n "$EXEEXT"; then
+  am__EXEEXT_TRUE=
+  am__EXEEXT_FALSE='#'
+else
+  am__EXEEXT_TRUE='#'
+  am__EXEEXT_FALSE=
+fi
+
+
+if test -z "${AMPNG_TRUE}" && test -z "${AMPNG_FALSE}"; then
+  as_fn_error $? "conditional \"AMPNG\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${AMPDF_TRUE}" && test -z "${AMPDF_FALSE}"; then
+  as_fn_error $? "conditional \"AMPDF\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${JAVA_BUILD_TRUE}" && test -z "${JAVA_BUILD_FALSE}"; then
+  as_fn_error $? "conditional \"JAVA_BUILD\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${AMPDF_TRUE}" && test -z "${AMPDF_FALSE}"; then
+  as_fn_error $? "conditional \"AMPDF\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${AMPDF_TRUE}" && test -z "${AMPDF_FALSE}"; then
+  as_fn_error $? "conditional \"AMPDF\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${AMPNG_TRUE}" && test -z "${AMPNG_FALSE}"; then
+  as_fn_error $? "conditional \"AMPNG\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${AMPNG_TRUE}" && test -z "${AMPNG_FALSE}"; then
+  as_fn_error $? "conditional \"AMPNG\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${LOCALLINK_TRUE}" && test -z "${LOCALLINK_FALSE}"; then
+  as_fn_error $? "conditional \"LOCALLINK\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ESYSTEMLIBS_TRUE}" && test -z "${ESYSTEMLIBS_FALSE}"; then
+  as_fn_error $? "conditional \"ESYSTEMLIBS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${PURIFY_TRUE}" && test -z "${PURIFY_FALSE}"; then
+  as_fn_error $? "conditional \"PURIFY\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ISCYGWIN_TRUE}" && test -z "${ISCYGWIN_FALSE}"; then
+  as_fn_error $? "conditional \"ISCYGWIN\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ISAIXIA64_TRUE}" && test -z "${ISAIXIA64_FALSE}"; then
+  as_fn_error $? "conditional \"ISAIXIA64\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ISAIXIA64_TRUE}" && test -z "${ISAIXIA64_FALSE}"; then
+  as_fn_error $? "conditional \"ISAIXIA64\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ISSHARED_TRUE}" && test -z "${ISSHARED_FALSE}"; then
+  as_fn_error $? "conditional \"ISSHARED\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${NEEDAJAX_TRUE}" && test -z "${NEEDAJAX_FALSE}"; then
+  as_fn_error $? "conditional \"NEEDAJAX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+: "${CONFIG_STATUS=./config.status}"
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+	expr "X$arg" : "X\\(.*\\)$as_nl";
+	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -pR'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -pR'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -pR'
+  fi
+else
+  as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by GEMBASSY $as_me 1.0.3, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration.  Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
+  -q, --quiet, --silent
+                   do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+      --file=FILE[:TEMPLATE]
+                   instantiate the configuration file FILE
+      --header=FILE[:TEMPLATE]
+                   instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <celery@g-language.org>.
+GEMBASSY home page: <http://www.g-language.org/gembassy/>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+GEMBASSY config.status 1.0.3
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=?*)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
+  *)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
+    esac
+    as_fn_append CONFIG_FILES " '$ac_optarg'"
+    ac_need_defaults=false;;
+  --header | --heade | --head | --hea )
+    $ac_shift
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
+    ac_need_defaults=false;;
+  --he | --h)
+    # Conflict between --help and --header
+    as_fn_error $? "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
+  --help | --hel | -h )
+    $as_echo "$ac_cs_usage"; exit ;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+  *) as_fn_append ac_config_targets " $1"
+     ac_need_defaults=false ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  shift
+  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+  CONFIG_SHELL='$SHELL'
+  export CONFIG_SHELL
+  exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
+enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
+SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
+ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
+PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
+host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
+host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
+host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
+build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
+build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
+build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
+SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
+Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
+GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
+EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
+FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
+LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
+NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
+LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
+exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
+file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
+want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
+DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
+sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
+AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
+archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
+STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
+lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
+CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
+compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
+GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'
+nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
+lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'
+objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
+MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
+libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
+postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
+version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
+install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_lib_dlsearch_path_spec='`$ECHO "$lt_cv_sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
+striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'
+predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'
+postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'
+predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'
+postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'
+LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'
+reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'
+reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
+GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
+inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
+always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
+predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'
+postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'
+predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'
+postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'
+
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in SHELL \
+ECHO \
+PATH_SEPARATOR \
+SED \
+GREP \
+EGREP \
+FGREP \
+LD \
+NM \
+LN_S \
+lt_SP2NL \
+lt_NL2SP \
+reload_flag \
+OBJDUMP \
+deplibs_check_method \
+file_magic_cmd \
+file_magic_glob \
+want_nocaseglob \
+DLLTOOL \
+sharedlib_from_linklib_cmd \
+AR \
+AR_FLAGS \
+archiver_list_spec \
+STRIP \
+RANLIB \
+CC \
+CFLAGS \
+compiler \
+lt_cv_sys_global_symbol_pipe \
+lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_import \
+lt_cv_sys_global_symbol_to_c_name_address \
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+lt_cv_nm_interface \
+nm_file_list_spec \
+lt_cv_truncate_bin \
+lt_prog_compiler_no_builtin_flag \
+lt_prog_compiler_pic \
+lt_prog_compiler_wl \
+lt_prog_compiler_static \
+lt_cv_prog_compiler_c_o \
+need_locks \
+MANIFEST_TOOL \
+DSYMUTIL \
+NMEDIT \
+LIPO \
+OTOOL \
+OTOOL64 \
+shrext_cmds \
+export_dynamic_flag_spec \
+whole_archive_flag_spec \
+compiler_needs_object \
+with_gnu_ld \
+allow_undefined_flag \
+no_undefined_flag \
+hardcode_libdir_flag_spec \
+hardcode_libdir_separator \
+exclude_expsyms \
+include_expsyms \
+file_list_spec \
+variables_saved_for_relink \
+libname_spec \
+library_names_spec \
+soname_spec \
+install_override_mode \
+finish_eval \
+old_striplib \
+striplib \
+compiler_lib_search_dirs \
+predep_objects \
+postdep_objects \
+predeps \
+postdeps \
+compiler_lib_search_path \
+LD_CXX \
+reload_flag_CXX \
+compiler_CXX \
+lt_prog_compiler_no_builtin_flag_CXX \
+lt_prog_compiler_pic_CXX \
+lt_prog_compiler_wl_CXX \
+lt_prog_compiler_static_CXX \
+lt_cv_prog_compiler_c_o_CXX \
+export_dynamic_flag_spec_CXX \
+whole_archive_flag_spec_CXX \
+compiler_needs_object_CXX \
+with_gnu_ld_CXX \
+allow_undefined_flag_CXX \
+no_undefined_flag_CXX \
+hardcode_libdir_flag_spec_CXX \
+hardcode_libdir_separator_CXX \
+exclude_expsyms_CXX \
+include_expsyms_CXX \
+file_list_spec_CXX \
+compiler_lib_search_dirs_CXX \
+predep_objects_CXX \
+postdep_objects_CXX \
+predeps_CXX \
+postdeps_CXX \
+compiler_lib_search_path_CXX; do
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+    *[\\\\\\\`\\"\\\$]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Double-quote double-evaled strings.
+for var in reload_cmds \
+old_postinstall_cmds \
+old_postuninstall_cmds \
+old_archive_cmds \
+extract_expsyms_cmds \
+old_archive_from_new_cmds \
+old_archive_from_expsyms_cmds \
+archive_cmds \
+archive_expsym_cmds \
+module_cmds \
+module_expsym_cmds \
+export_symbols_cmds \
+prelink_cmds \
+postlink_cmds \
+postinstall_cmds \
+postuninstall_cmds \
+finish_cmds \
+sys_lib_search_path_spec \
+lt_cv_sys_lib_dlsearch_path_spec \
+reload_cmds_CXX \
+old_archive_cmds_CXX \
+old_archive_from_new_cmds_CXX \
+old_archive_from_expsyms_cmds_CXX \
+archive_cmds_CXX \
+archive_expsym_cmds_CXX \
+module_cmds_CXX \
+module_expsym_cmds_CXX \
+export_symbols_cmds_CXX \
+prelink_cmds_CXX \
+postlink_cmds_CXX; do
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+    *[\\\\\\\`\\"\\\$]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+ac_aux_dir='$ac_aux_dir'
+
+# See if we are running on zsh, and set the options that allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}"; then
+   setopt NO_GLOB_SUBST
+fi
+
+
+    PACKAGE='$PACKAGE'
+    VERSION='$VERSION'
+    RM='$RM'
+    ofile='$ofile'
+
+
+
+
+
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+  case $ac_config_target in
+    "src/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config.h" ;;
+    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+    "acd/Makefile") CONFIG_FILES="$CONFIG_FILES acd/Makefile" ;;
+    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+    "doc/html/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/Makefile" ;;
+    "doc/text/Makefile") CONFIG_FILES="$CONFIG_FILES doc/text/Makefile" ;;
+
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+  tmp= ac_tmp=
+  trap 'exit_status=$?
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+' 0
+  trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+  test -d "$tmp"
+}  ||
+{
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+  eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+  ac_cs_awk_cr='\\r'
+else
+  ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+  echo "cat >conf$$subs.awk <<_ACEOF" &&
+  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+  echo "_ACEOF"
+} >conf$$subs.sh ||
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  . ./conf$$subs.sh ||
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+  if test $ac_delim_n = $ac_delim_num; then
+    break
+  elif $ac_last_try; then
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+  N
+  s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+  for (key in S) S_is_set[key] = 1
+  FS = ""
+
+}
+{
+  line = $ 0
+  nfields = split(line, field, "@")
+  substed = 0
+  len = length(field[1])
+  for (i = 2; i < nfields; i++) {
+    key = field[i]
+    keylen = length(key)
+    if (S_is_set[key]) {
+      value = S[key]
+      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+      len += length(value) + length(field[++i])
+      substed = 1
+    } else
+      len += 1 + keylen
+  }
+
+  print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+  cat
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[	 ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
+    break
+  elif $ac_last_try; then
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any.  Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[	 ]*#[	 ]*define[	 ][	 ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  for (key in D) D_is_set[key] = 1
+  FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+  line = \$ 0
+  split(line, arg, " ")
+  if (arg[1] == "#") {
+    defundef = arg[2]
+    mac1 = arg[3]
+  } else {
+    defundef = substr(arg[1], 2)
+    mac1 = arg[2]
+  }
+  split(mac1, mac2, "(") #)
+  macro = mac2[1]
+  prefix = substr(line, 1, index(line, defundef) - 1)
+  if (D_is_set[macro]) {
+    # Preserve the white space surrounding the "#".
+    print prefix "define", macro P[macro] D[macro]
+    next
+  } else {
+    # Replace #undef with comments.  This is necessary, for example,
+    # in the case of _POSIX_SOURCE, which is predefined and required
+    # on some systems where configure will not decide to define it.
+    if (defundef == "undef") {
+      print "/*", prefix defundef, macro, "*/"
+      next
+    }
+  }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$ac_tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
+	 # because $ac_f cannot contain `:'.
+	 test -f "$ac_f" ||
+	   case $ac_f in
+	   [\\/$]*) false;;
+	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+	   esac ||
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+      esac
+      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      as_fn_append ac_file_inputs " '$ac_f'"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input='Generated from '`
+	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+	`' by configure.'
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+    fi
+    # Neutralize special characters interpreted by sed in replacement strings.
+    case $configure_input in #(
+    *\&* | *\|* | *\\* )
+       ac_sed_conf_input=`$as_echo "$configure_input" |
+       sed 's/[\\\\&|]/\\\\&/g'`;; #(
+    *) ac_sed_conf_input=$configure_input;;
+    esac
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  as_dir="$ac_dir"; as_fn_mkdir_p
+  ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+  esac
+  ac_MKDIR_P=$MKDIR_P
+  case $MKDIR_P in
+  [\\/$]* | ?:[\\/]* ) ;;
+  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+  esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+  s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined" >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined" >&2;}
+
+  rm -f "$ac_tmp/stdin"
+  case $ac_file in
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+  esac \
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+  :H)
+  #
+  # CONFIG_HEADER
+  #
+  if test x"$ac_file" != x-; then
+    {
+      $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
+    else
+      rm -f "$ac_file"
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    fi
+  else
+    $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
+  fi
+# Compute "$ac_file"'s index in $config_headers.
+_am_arg="$ac_file"
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $_am_arg | $_am_arg:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$_am_arg" : 'X\(//\)[^/]' \| \
+	 X"$_am_arg" : 'X\(//\)$' \| \
+	 X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$_am_arg" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
+
+  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+  esac
+
+
+  case $ac_file$ac_mode in
+    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+  # Older Autoconf quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named 'Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$mf" : 'X\(//\)[^/]' \| \
+	 X"$mf" : 'X\(//\)$' \| \
+	 X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running 'make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "$am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$file" : 'X\(//\)[^/]' \| \
+	 X"$file" : 'X\(//\)$' \| \
+	 X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      as_dir=$dirpart/$fdir; as_fn_mkdir_p
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
+  done
+}
+ ;;
+    "libtool":C)
+
+    # See if we are running on zsh, and set the options that allow our
+    # commands through without removal of \ escapes.
+    if test -n "${ZSH_VERSION+set}"; then
+      setopt NO_GLOB_SUBST
+    fi
+
+    cfgfile=${ofile}T
+    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+    $RM "$cfgfile"
+
+    cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+# Generated automatically by $as_me ($PACKAGE) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the  same
+# distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+
+# The names of the tagged configurations supported by this script.
+available_tags='CXX '
+
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$LT_SYS_LIBRARY_PATH"}
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Which release of libtool.m4 was used?
+macro_version=$macro_version
+macro_revision=$macro_revision
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# What type of objects to build.
+pic_mode=$pic_mode
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# Shared archive member basename,for filename based shared library versioning on AIX.
+shared_archive_member_spec=$shared_archive_member_spec
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that protects backslashes.
+ECHO=$lt_ECHO
+
+# The PATH separator for the build system.
+PATH_SEPARATOR=$lt_PATH_SEPARATOR
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="\$SED -e 1s/^X//"
+
+# A grep program that handles long lines.
+GREP=$lt_GREP
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# A literal string matcher.
+FGREP=$lt_FGREP
+
+# A BSD- or MS-compatible name lister.
+NM=$lt_NM
+
+# Whether we need soft or hard links.
+LN_S=$lt_LN_S
+
+# What is the maximum length of a command?
+max_cmd_len=$max_cmd_len
+
+# Object file suffix (normally "o").
+objext=$ac_objext
+
+# Executable file suffix (normally "").
+exeext=$exeext
+
+# whether the shell understands "unset".
+lt_unset=$lt_unset
+
+# turn spaces into newlines.
+SP2NL=$lt_lt_SP2NL
+
+# turn newlines into spaces.
+NL2SP=$lt_lt_NL2SP
+
+# convert \$build file names to \$host format.
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+
+# convert \$build files to toolchain format.
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+
+# An object symbol dumper.
+OBJDUMP=$lt_OBJDUMP
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method = "file_magic".
+file_magic_cmd=$lt_file_magic_cmd
+
+# How to find potential files when deplibs_check_method = "file_magic".
+file_magic_glob=$lt_file_magic_glob
+
+# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
+want_nocaseglob=$lt_want_nocaseglob
+
+# DLL creation program.
+DLLTOOL=$lt_DLLTOOL
+
+# Command to associate shared and link libraries.
+sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
+
+# The archiver.
+AR=$lt_AR
+
+# Flags to create an archive.
+AR_FLAGS=$lt_AR_FLAGS
+
+# How to feed a file listing to the archiver.
+archiver_list_spec=$lt_archiver_list_spec
+
+# A symbol stripping program.
+STRIP=$lt_STRIP
+
+# Commands used to install an old-style archive.
+RANLIB=$lt_RANLIB
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Whether to use a lock for old archive extraction.
+lock_old_archive_extraction=$lock_old_archive_extraction
+
+# A C compiler.
+LTCC=$lt_CC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_CFLAGS
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration.
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm into a list of symbols to manually relocate.
+global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import
+
+# Transform the output of nm in a C name address pair.
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# Transform the output of nm in a C name address pair when lib prefix is needed.
+global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
+# The name lister interface.
+nm_interface=$lt_lt_cv_nm_interface
+
+# Specify filename containing input files for \$NM.
+nm_file_list_spec=$lt_nm_file_list_spec
+
+# The root where to search for dependent libraries,and where our libraries should be installed.
+lt_sysroot=$lt_sysroot
+
+# Command to truncate a binary pipe.
+lt_truncate_bin=$lt_lt_cv_truncate_bin
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# Used to examine libraries when file_magic_cmd begins with "file".
+MAGIC_CMD=$MAGIC_CMD
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Manifest tool.
+MANIFEST_TOOL=$lt_MANIFEST_TOOL
+
+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+DSYMUTIL=$lt_DSYMUTIL
+
+# Tool to change global to local symbols on Mac OS X.
+NMEDIT=$lt_NMEDIT
+
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=$lt_LIPO
+
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=$lt_OTOOL
+
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=$lt_OTOOL64
+
+# Old archive suffix (normally "a").
+libext=$libext
+
+# Shared library suffix (normally ".so").
+shrext_cmds=$lt_shrext_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at link time.
+variables_saved_for_relink=$lt_variables_saved_for_relink
+
+# Do we need the "lib" prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Library versioning type.
+version_type=$version_type
+
+# Shared library runtime path variable.
+runpath_var=$runpath_var
+
+# Shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Permission mode override for installation of shared libraries.
+install_override_mode=$lt_install_override_mode
+
+# Command to use after installation of a shared archive.
+postinstall_cmds=$lt_postinstall_cmds
+
+# Command to use after uninstallation of a shared archive.
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# As "finish_cmds", except a single script fragment to be evaled but
+# not shown.
+finish_eval=$lt_finish_eval
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Compile-time system search path for libraries.
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_lt_cv_sys_lib_dlsearch_path_spec
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds
+
+# A language specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \$shlibpath_var if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds
+
+# Commands necessary for finishing linking programs.
+postlink_cmds=$lt_postlink_cmds
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects
+postdep_objects=$lt_postdep_objects
+predeps=$lt_predeps
+postdeps=$lt_postdeps
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path
+
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+    cat <<'_LT_EOF' >> "$cfgfile"
+## -------------------------------------- ##
+## Shell functions shared with configure. ##
+## -------------------------------------- ##
+
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x$2 in
+    x)
+        ;;
+    *:)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \S|@1\"
+        ;;
+    x:*)
+        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+        ;;
+    *)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+
+
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in $*""; do
+      case $cc_temp in
+        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
+
+_LT_EOF
+
+  case $host_os in
+  aix3*)
+    cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test set != "${COLLECT_NAMES+set}"; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+_LT_EOF
+    ;;
+  esac
+
+
+ltmain=$ac_aux_dir/ltmain.sh
+
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '$q' "$ltmain" >> "$cfgfile" \
+     || (rm -f "$cfgfile"; exit 1)
+
+   mv -f "$cfgfile" "$ofile" ||
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+
+
+    cat <<_LT_EOF >> "$ofile"
+
+# ### BEGIN LIBTOOL TAG CONFIG: CXX
+
+# The linker used to build libraries.
+LD=$lt_LD_CXX
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag_CXX
+reload_cmds=$lt_reload_cmds_CXX
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds_CXX
+
+# A language specific compiler.
+CC=$lt_compiler_CXX
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC_CXX
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_CXX
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_CXX
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_CXX
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object_CXX
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds_CXX
+archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds_CXX
+module_expsym_cmds=$lt_module_expsym_cmds_CXX
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld_CXX
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_CXX
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_CXX
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
+
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct_CXX
+
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \$shlibpath_var if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute_CXX
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L_CXX
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic_CXX
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath_CXX
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_CXX
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols_CXX
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_CXX
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_CXX
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_CXX
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds_CXX
+
+# Commands necessary for finishing linking programs.
+postlink_cmds=$lt_postlink_cmds_CXX
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec_CXX
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_CXX
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects_CXX
+postdep_objects=$lt_postdep_objects_CXX
+predeps=$lt_predeps_CXX
+postdeps=$lt_postdeps_CXX
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
+
+# ### END LIBTOOL TAG CONFIG: CXX
+_LT_EOF
+
+ ;;
+
+  esac
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/configure.in	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1012 @@
+#                                               -*- Autoconf -*-
+# Configure template for the EMBOSS package.
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ([2.64])
+AC_INIT([GEMBASSY],
+[1.0.3],
+[celery@g-language.org],
+[GEMBASSY],
+[http://www.g-language.org/gembassy/])
+AC_REVISION([$Revision: 1.35 $])
+AC_CONFIG_SRCDIR([src/ggcskew.c])
+AC_CONFIG_HEADERS([src/config.h])
+AC_CONFIG_MACRO_DIR([m4])
+
+# Make sure CFLAGS is defined to stop AC_PROG_CC adding -g.
+CFLAGS="${CFLAGS} "
+
+# Checks for programs.
+AC_PROG_AWK
+AC_PROG_CC([icc gcc cc])
+AC_PROG_CXX([icpc g++])
+AC_PROG_CPP
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_PROG_MAKE_SET
+AC_PROG_MKDIR_P
+
+AM_INIT_AUTOMAKE
+
+# Use libtool to make a shared library.
+LT_INIT
+
+
+
+
+# Check if 64 bit pointer support is required on 32 bit machines
+# Disabled by default
+
+AC_ARG_ENABLE([64],
+[AS_HELP_STRING([--enable-64], [64 bit pointers on 32 bit machines])])
+
+AS_IF([test "x${enable_64}" = "xyes"],
+[
+  AC_MSG_CHECKING([for 64bit compilation support])
+
+  AS_CASE([${host_os}],
+  [aix*],
+  [
+    CPPFLAGS="-DAJ_AIX64 ${CPPFLAGS}"
+    AS_CASE([${CC}],
+    [gcc],
+    [],
+    [
+      AS_VAR_APPEND([CC], [" -q64"])
+    ])
+    NM="nm -B -X 64"
+    AR="ar -X 64"
+  ],
+  [hpux*],
+  [
+    AS_CASE([${CC}],
+    [gcc],
+    [],
+    [
+      AS_VAR_APPEND([CC], [" +DD64"])
+    ])
+    AC_DEFINE([HPUX64PTRS], [1], [Set to 1 if HPUX 64bit ptrs on 32 bit m/c])
+  ])
+  AC_MSG_RESULT([done])
+])
+
+
+
+
+# Compiler optimisations
+# The Solaris 64bit ptr check has to be done here owing to param order
+
+AC_ARG_WITH([optimisation],
+[AS_HELP_STRING([--without-optimisation], [Disable compiler optimisation])])
+
+AS_IF([test "x${with_optimisation}" != "xno"],
+[
+  AS_CASE([${CC}],
+  [gcc],
+  [
+    # Intel MacOSX requires reduced optimisation for PCRE code
+    # other OSs just use -O2
+    AS_CASE([${host_os}],
+    [darwin*],
+    [
+      AS_IF([test "x${host_cpu}" = "xi386"],
+      [AS_VAR_APPEND([CFLAGS], [" -O1"])],
+      [AS_VAR_APPEND([CFLAGS], [" -O2"])])
+    ],
+    [
+      AS_VAR_APPEND([CFLAGS], [" -O2"])
+    ])
+  ],
+  [
+    AS_CASE([${host_os}],
+    [aix*],
+    [
+      AS_VAR_APPEND([CFLAGS], [" -O3 -qstrict -qarch=auto -qtune=auto"])
+    ],
+    [irix*],
+    [
+      LD="/usr/bin/ld -IPA"
+      AS_VAR_APPEND([CFLAGS], [" -O3"])
+    ],
+    [hpux*],
+    [
+      AS_VAR_APPEND([CFLAGS], [" -fast"])
+    ],
+    [osf*],
+    [
+      AS_VAR_APPEND([CFLAGS], [" -fast -U_FASTMATH"])
+    ],
+    [solaris*],
+    [
+      AS_VAR_APPEND([CFLAGS], [" -O"])
+      # test for 64 bit ptr here (see Solaris 64bit above)
+      AS_IF([test "x${enable_64}" = "xyes"],
+      [AS_VAR_APPEND([CFLAGS], [" -xtarget=ultra -xarch=v9"])])
+    ],
+    [linux*],
+    [
+      # Default optimisation for non-gcc compilers under Linux
+      AS_VAR_APPEND([CFLAGS], [" -O2"])
+    ],
+    [freebsd*],
+    [
+      AS_VAR_APPEND([CFLAGS], [" -O2"])
+    ])
+  ])
+])
+
+
+
+
+# Compiler warning settings: --enable-warnings, defines WARN_CFLAGS
+
+AC_ARG_ENABLE([warnings],
+[AS_HELP_STRING([--enable-warnings], [compiler warnings])])
+
+AS_IF([test "x${enable_warnings}" = "xyes"],
+[
+  AS_CASE([${CC}],
+  [gcc],
+  [
+    # -Wall priovides:
+    #    -Waddress
+    #    -Warray-bounds (only with -O2)
+    #    -Wc++0x-compat
+    #    -Wchar-subscripts
+    #    -Wenum-compare (in C/Objc; this is on by default in C++)
+    #    -Wimplicit-int (C and Objective-C only)
+    #    -Wimplicit-function-declaration (C and Objective-C only)
+    #    -Wcomment
+    #    -Wformat
+    #    -Wmain (only for C/ObjC and unless -ffreestanding)
+    #    -Wmissing-braces
+    #    -Wnonnull
+    #    -Wparentheses
+    #    -Wpointer-sign
+    #    -Wreorder
+    #    -Wreturn-type
+    #    -Wsequence-point
+    #    -Wsign-compare (only in C++)
+    #    -Wstrict-aliasing
+    #    -Wstrict-overflow=1
+    #    -Wswitch
+    #    -Wtrigraphs
+    #    -Wuninitialized
+    #    -Wunknown-pragmas
+    #    -Wunused-function
+    #    -Wunused-label
+    #    -Wunused-value
+    #    -Wunused-variable
+    #    -Wvolatile-register-var
+
+    AS_VAR_SET([WARN_CFLAGS], ["-Wall -fno-strict-aliasing"])
+  ])
+])
+
+AC_SUBST([WARN_CFLAGS])
+
+
+
+
+# Compiler developer warning settings: --enable-devwarnings,
+# sets DEVWARN_CFLAGS
+
+AC_ARG_ENABLE([devwarnings],
+[AS_HELP_STRING([--enable-devwarnings],
+[strict compiler warnings for developers])])
+
+AS_IF([test "x${enable_devwarnings}" = "xyes"],
+[
+  AS_CASE([${CC}],
+  [gcc],
+  [
+    # Only -Wstrict-prototypes and -Wmissing-prototypes are set in this
+    # EMBASSY module.
+
+    AS_VAR_SET([DEVWARN_CFLAGS], ["-Wstrict-prototypes -Wmissing-prototypes"])
+
+    # Diagnostic options for the GNU GCC compiler version 4.6.1.
+    # http://gcc.gnu.org/onlinedocs/gcc-4.6.1/gcc/Warning-Options.html
+    #
+    # -Wextra: more warnings beyond what -Wall provides
+    #    -Wclobbered
+    #    -Wempty-body
+    #    -Wignored-qualifiers
+    #    -Wmissing-field-initializers
+    #    -Wmissing-parameter-type (C only)
+    #    -Wold-style-declaration (C only)
+    #    -Woverride-init
+    #    -Wsign-compare
+    #    -Wtype-limits
+    #    -Wuninitialized
+    #    -Wunused-parameter (only with -Wunused or -Wall)
+    #    -Wunused-but-set-parameter (only with -Wunused or -Wall)
+
+    # AS_VAR_SET([DEVWARN_CFLAGS], ["-Wextra"])
+
+    # Warn if a function is declared or defined without specifying the
+    # argument types.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wstrict-prototypes"])
+
+    # Warn if a global function is defined without a previous prototype
+    # declaration.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wmissing-prototypes"])
+
+    # Warn for obsolescent usages, according to the C Standard,
+    # in a declaration.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wold-style-definition"])
+
+    # Warn if a global function is defined without a previous declaration.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wmissing-declarations"])
+
+    # When compiling C, give string constants the type const char[length]
+    # so that copying the address of one into a non-const char * pointer
+    # will get a warning.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wwrite-strings"])
+
+    # Warn whenever a local variable or type declaration shadows another
+    # variable, parameter, type, or class member (in C++), or whenever a
+    # built-in function is shadowed.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wshadow"])
+
+    # Warn when a declaration is found after a statement in a block.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wdeclaration-after-statement"])
+
+    # Warn if an undefined identifier is evaluated in an `#if' directive.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wundef"])
+
+    # Warn about anything that depends on the "size of" a function type
+    # or of void.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wpointer-arith"])
+
+    # Warn whenever a pointer is cast so as to remove a type qualifier
+    # from the target type.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wcast-qual"])
+
+    # Warn whenever a pointer is cast such that the required alignment
+    # of the target is increased.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wcast-align"])
+
+    # Warn whenever a function call is cast to a non-matching type.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wbad-function-cast"])
+
+    # Warn when a comparison between signed and unsigned values could
+    # produce an incorrect result when the signed value is converted to
+    # unsigned.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wsign-compare"])
+
+    # Warn if a structure's initializer has some fields missing.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wmissing-field-initializers"])
+
+    # An alias of the new option -Wsuggest-attribute=noreturn
+    # Warn for cases where adding an attribute may be beneficial.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wmissing-noreturn"])
+
+    # Warn if an extern declaration is encountered within a function.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wnested-externs"])
+
+    # Warn if anything is declared more than once in the same scope,
+    # even in cases where multiple declaration is valid and changes
+    # nothing.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wredundant-decls"])
+
+    # Warn if the loop cannot be optimized because the compiler could not
+    # assume anything on the bounds of the loop indices.
+    # -Wunsafe-loop-optimizations objects to loops with increments more
+    # than 1 because if the end is at INT_MAX it could run forever ...
+    # rarely
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wunsafe-loop-optimizations"])
+
+    # Warn for implicit conversions that may alter a value.
+    # -Wconversion is brain-damaged - complains about char arguments
+    # every time
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wconversion"])
+
+    # Warn about certain constructs that behave differently in traditional
+    # and ISO C.
+    # -Wtraditional gives #elif and #error msgs
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wtraditional"])
+
+    # Warn if floating point values are used in equality comparisons.
+    # -Wfloat-equal will not allow tests for values still 0.0
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wfloat-equal"])
+
+    # This option is only active when -ftree-vrp is active
+    # (default for -O2 and above). It warns about subscripts to arrays
+    # that are always out of bounds.
+    # -Warray-bounds gives false positives in gcc 4.6.0
+    # Disable rather than use a non-portable pragma
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wno-array-bounds"])
+  ],
+  [icc],
+  [
+    # Diagnostic options for the Intel(R) C++ compiler version 11.1.
+    # http://software.intel.com/en-us/articles/intel-c-compiler-professional-edition-for-linux-documentation/
+
+    # This option specifies the level of diagnostic messages to be
+    # generated by the compiler.
+
+    AS_VAR_SET([DEVWARN_CFLAGS], ["-w2"])
+
+    # This option determines whether a warning is issued if generated
+    # code is not C++ ABI compliant.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wabi"])
+
+    # This option tells the compiler to display errors, warnings, and
+    # remarks.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wall"])
+
+    # This option tells the compiler to display a shorter form of
+    # diagnostic output.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wbrief"])
+
+    # This option warns if cast is used to override pointer type
+    # qualifier
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wcast-qual"])
+
+    # This option tells the compiler to perform compile-time code
+    # checking for certain code.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wcheck"])
+
+    # This option determines whether a warning is issued when /*
+    # appears in the middle of a /* */ comment.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wcomment"])
+
+    # Set maximum number of template instantiation contexts shown in
+    # diagnostic.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wcontext-limit=n"])
+
+    # This option enables warnings for implicit conversions that may
+    # alter a value.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wconversion"])
+
+    # This option determines whether warnings are issued for deprecated
+    # features.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wdeprecated"])
+
+    # This option enables warnings based on certain C++ programming
+    # guidelines.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Weffc++"])
+
+    # This option changes all warnings to errors.
+    # Alternate: -diag-error warn
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Werror"])
+
+    # This option changes all warnings and remarks to errors.
+    # Alternate: -diag-error warn, remark
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Werror-all"])
+
+    # This option determines whether warnings are issued about extra
+    # tokens at the end of preprocessor directives.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wextra-tokens"])
+
+    # This option determines whether argument checking is enabled for
+    # calls to printf, scanf, and so forth.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wformat"])
+
+    # This option determines whether the compiler issues a warning when
+    # the use of format functions may cause security problems.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wformat-security"])
+
+    # This option enables diagnostics about what is inlined and what is
+    # not inlined.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Winline"])
+
+    # This option determines whether a warning is issued if the return
+    # type of main is not expected.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wmain"])
+
+    # This option determines whether warnings are issued for global
+    # functions and variables without prior declaration.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wmissing-declarations"])
+
+    # Determines whether warnings are issued for missing prototypes.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wmissing-prototypes"])
+
+    # This option enables warnings if a multicharacter constant
+    # ('ABC') is used.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wmultichar"])
+
+    # Issue a warning when a class appears to be polymorphic,
+    # yet it declares a non-virtual one.
+    # This option is supported in C++ only.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wnon-virtual-dtor"])
+
+    # This option warns about operations that could result in
+    # integer overflow.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Woverflow"])
+
+    # This option tells the compiler to display diagnostics for 64-bit
+    # porting.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wp64"])
+
+    # Determines whether warnings are issued for questionable pointer
+    # arithmetic.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wpointer-arith"])
+
+    # his option determines whether a warning is issued about the
+    # use of #pragma once.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wpragma-once"])
+
+    # Issue a warning when the order of member initializers does not
+    # match the order in which they must be executed.
+    # This option is supported with C++ only.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wreorder"])
+
+    # This option determines whether warnings are issued when a function
+    # uses the default int return type or when a return statement is
+    # used in a void function.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wreturn-type"])
+
+    # This option determines whether a warning is issued when a variable
+    # declaration hides a previous declaration.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wshadow"])
+
+    # This option warns for code that might violate the optimizer's
+    # strict aliasing rules. Warnings are issued only when using
+    # -fstrict-aliasing or -ansi-alias.
+
+    # AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wstrict-aliasing"])
+
+    # This option determines whether warnings are issued for functions
+    # declared or defined without specified argument types.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wstrict-prototypes"])
+
+    # This option determines whether warnings are issued if any trigraphs
+    # are encountered that might change the meaning of the program.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wtrigraphs"])
+
+    # This option determines whether a warning is issued if a variable
+    # is used before being initialized.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wuninitialized"])
+
+    # This option determines whether a warning is issued if an unknown
+    # #pragma directive is used.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wunknown-pragmas"])
+
+    # This option determines whether a warning is issued if a declared
+    # function is not used.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wunused-function"])
+
+    # This option determines whether a warning is issued if a local or
+    # non-constant static variable is unused after being declared.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wunused-variable"])
+
+    # This option issues a diagnostic message if const char* is
+    # converted to (non-const) char *.
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wwrite-strings"])
+
+    # Disable warning #981 operands are evaluated in unspecified order
+    # http://software.intel.com/en-us/articles/cdiag981/
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -diag-disable 981"])
+  ])
+])
+
+AC_SUBST([DEVWARN_CFLAGS])
+
+
+
+
+# Compiler extra developer warning settings: --enable-devextrawarnings,
+# appends DEVWARN_CFLAGS
+# Will only have an effect if --enable-devwarnings also given
+
+AC_ARG_ENABLE([devextrawarnings],
+[AS_HELP_STRING([--enable-devextrawarnings],
+[add extra warnings to devwarnings])])
+
+AS_IF([test "x${enable_devwarnings}" = "xyes" &&
+       test "x${enable_devextrawarnings}" = "xyes"],
+[
+  AS_CASE([${CC}],
+  [gcc],
+  [
+    # flags used by Ubuntu 8.10 to check open has 2/3 arguments etc.
+
+    AC_DEFINE([_FORTIFY_SOURCE], [2], [Set to 2 for open args])
+
+    # compiler flags
+
+    CPPFLAGS="-fstack-protector ${CPPFLAGS}"
+
+    # warnings used by Ubuntu 8.10
+    # -Wall already includes:
+    #           -Wformat
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wformat-security -Wl,-z,relro"])
+
+    # -Wpadded means moving char to end of structs - but also flags
+    #  end of struct so need to add padding at end
+
+    AS_VAR_APPEND([DEVWARN_CFLAGS], [" -Wpadded"])
+  ])
+])
+
+
+
+
+# Compile deprecated functions still used in the book text for 6.2.0
+
+AC_ARG_ENABLE([buildbookdeprecated],
+[AS_HELP_STRING([--enable-buildbookdeprecated],
+[build deprecated functions used in books for 6.2.0])])
+
+# Compile all deprecated functions
+
+AC_ARG_ENABLE([buildalldeprecated],
+[AS_HELP_STRING([--enable-buildalldeprecated],
+[build all deprecated functions])])
+
+AS_IF([test "x${enable_buildbookdeprecated}" = "xyes" ||
+       test "x${enable_buildalldeprecated}" = "xyes"],
+[
+  AC_DEFINE([AJ_COMPILE_DEPRECATED_BOOK], [1],
+  [Define to 1 to compile deprecated functions used in book texts for 6.2.0])
+])
+
+AS_IF([test "x${enable_buildalldeprecated}" = "xyes"],
+[
+  AC_DEFINE([AJ_COMPILE_DEPRECATED], [1],
+  [Define to 1 to compile all deprecated functions])
+])
+
+
+
+
+# Add extensions to Solaris for some reentrant functions
+
+AS_CASE([${host_os}],
+[solaris*],
+[AS_VAR_APPEND([CFLAGS], [" -D__EXTENSIONS__"])])
+
+
+
+
+# Test whether --with-sgiabi given for IRIX (n32m3 n32m4 64m3 64m4)
+
+AS_CASE([${host_os}],
+[irix*],
+[
+  AS_CASE([${CC}],
+  [gcc],
+  [],
+  [cc],
+  [CHECK_SGI])
+])
+
+
+
+
+dnl PCRE library definitions - see the MAJOR and MINOR values
+dnl to see which version's configure.in these lines come from
+
+dnl Provide the current PCRE version information. Do not use numbers
+dnl with leading zeros for the minor version, as they end up in a C
+dnl macro, and may be treated as octal constants. Stick to single
+dnl digits for minor numbers less than 10. There are unlikely to be
+dnl that many releases anyway.
+
+PCRE_MAJOR="7"
+PCRE_MINOR="9"
+PCRE_DATE="11-Apr-2009"
+PCRE_VERSION="${PCRE_MAJOR}.${PCRE_MINOR}"
+
+dnl Default values for miscellaneous macros
+
+POSIX_MALLOC_THRESHOLD="-DPOSIX_MALLOC_THRESHOLD=10"
+
+dnl Provide versioning information for libtool shared libraries that
+dnl are built by default on Unix systems.
+
+PCRE_LIB_VERSION="0:1:0"
+PCRE_POSIXLIB_VERSION="0:0:0"
+
+
+
+
+dnl FIXME: This does no longer seem required with Autoconf 2.67?
+dnl Intel MacOSX 10.6 puts X11 in a non-standard place
+dnl AS_IF([test "x${with_x}" != "xno"],
+dnl [
+dnl   AS_CASE([${host_os}],
+dnl   [darwin*],
+dnl   [
+dnl     OSXX=`sw_vers -productVersion | sed 's/\(10\.[[0-9]]*\).*/\1/'`
+dnl     AS_IF([test ${OSXX} '>' '10.4'],
+dnl     [AS_VAR_APPEND([CFLAGS], [" -I/usr/X11/include -L/usr/X11/lib"])])
+dnl   ])
+dnl ])
+
+
+
+
+# Checks for header files.
+AC_PATH_XTRA
+AC_HEADER_DIRENT
+AC_HEADER_STDC
+
+AC_CHECK_HEADERS([unistd.h TargetConfig.h])
+
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_C_BIGENDIAN
+AC_C_CONST
+AC_C_INLINE
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+AC_STRUCT_TM
+
+
+# Checks for library functions.
+AC_FUNC_GETPGRP
+AC_FUNC_STRFTIME
+AC_FUNC_FORK
+AC_FUNC_VPRINTF
+
+AC_CHECK_FUNCS([strdup strstr strchr erand48 memmove])
+
+AS_IF([test "x${with_x}" != "xno"], [LF_EMBOSS_PATH_XLIB])
+
+
+# Library checks.
+AC_CHECK_LIB([c], [socket], [LIBS="${LIBS}"], [LIBS="${LIBS} -lsocket"])
+AC_CHECK_LIB([m], [main])
+AC_CHECK_LIB([curl], [curl_easy_init], [],
+[AC_MSG_ERROR([You need to install libcurl-devel library to your system])])
+
+# GD for FreeBSD requires libiconv
+
+AS_CASE([${host_os}],
+[freebsd*],
+[
+  AS_IF([test "x${with_pngdriver}" != "xno"],
+  [AC_CHECK_LIB([iconv], [main], [LIBS="${LIBS}"], [LIBS="-liconv ${LIBS}"])])
+])
+
+
+
+
+AM_CONDITIONAL([AMPNG], [false])
+AM_CONDITIONAL([AMPDF], [false])
+
+CHECK_GENERAL
+CHECK_JAVA
+CHECK_HPDF
+CHECK_PNGDRIVER
+
+AX_LIB_MYSQL
+AX_LIB_POSTGRESQL
+
+
+
+
+dnl "Export" these variables for PCRE
+
+AC_SUBST([HAVE_MEMMOVE])
+AC_SUBST([HAVE_STRERROR])
+AC_SUBST([PCRE_MAJOR])
+AC_SUBST([PCRE_MINOR])
+AC_SUBST([PCRE_DATE])
+AC_SUBST([PCRE_VERSION])
+AC_SUBST([PCRE_LIB_VERSION])
+AC_SUBST([PCRE_POSIXLIB_VERSION])
+AC_SUBST([POSIX_MALLOC_THRESHOLD])
+
+
+
+
+dnl Test if --enable-localforce given
+locallink="no"
+embprefix="/usr/local"
+AC_ARG_ENABLE([localforce],
+  [AS_HELP_STRING([--enable-localforce],
+  [force compile/link against /usr/local])])
+
+AS_IF([test "x${enable_localforce}" = "xyes"],
+[embprefix="/usr/local"])
+
+AS_IF([test "x${prefix}" = "xNONE"],
+[
+    AS_IF([test "x${enable_localforce}" != "xyes"],
+    [locallink="yes"],
+    [
+        locallink="no"
+        embprefix="/usr/local"
+    ])
+],
+[
+    embprefix="${prefix}"
+])
+
+AM_CONDITIONAL([LOCALLINK], [test "x${locallink}" = "xyes"])
+
+AC_SUBST([embprefix])
+
+
+
+
+# Enable debugging: --enable-debug, sets CFLAGS
+
+AC_ARG_ENABLE([debug],
+[AS_HELP_STRING([--enable-debug], [debug (-g option on compiler)])])
+
+AS_IF([test "x${enable_debug}" = "xyes"], [AS_VAR_APPEND([CFLAGS], [" -g"])])
+
+
+
+
+# Turn off irritating linker warnings in IRIX
+
+AS_CASE([${host_os}],
+[irix*],
+[
+  CFLAGS="-Wl,-LD_MSG:off=85:off=84:off=16:off=134 ${CFLAGS}"
+])
+
+
+
+
+# Enable the large file interface: --enable-large, appends CPPFLAGS
+
+AC_ARG_ENABLE([large],
+[AS_HELP_STRING([--enable-large],
+[over 2Gb file support @<:@default=yes@:>@])])
+
+AC_MSG_CHECKING([for large file support])
+
+AS_IF([test "x${enable_large}" = "xno"],
+[
+  AC_MSG_RESULT([no])
+],
+[
+  AS_CASE([${host_os}],
+  [linux*],
+  [
+    AS_VAR_APPEND([CPPFLAGS], [" -DAJ_LinuxLF"])
+    AS_VAR_APPEND([CPPFLAGS], [" -D_LARGEFILE_SOURCE"])
+    AS_VAR_APPEND([CPPFLAGS], [" -D_LARGEFILE64_SOURCE"])
+    AS_VAR_APPEND([CPPFLAGS], [" -D_FILE_OFFSET_BITS=64"])
+  ],
+  [freebsd*],
+  [
+    AS_VAR_APPEND([CPPFLAGS], [" -DAJ_FreeBSDLF"])
+  ],
+  [solaris*],
+  [
+    AS_VAR_APPEND([CPPFLAGS], [" -DAJ_SolarisLF"])
+    AS_VAR_APPEND([CPPFLAGS], [" -D_LARGEFILE_SOURCE"])
+    AS_VAR_APPEND([CPPFLAGS], [" -D_FILE_OFFSET_BITS=64"])
+  ],
+  [osf*],
+  [
+    AS_VAR_APPEND([CPPFLAGS], [" -DAJ_OSF1LF"])
+  ],
+  [irix*],
+  [
+    AS_VAR_APPEND([CPPFLAGS], [" -DAJ_IRIXLF"])
+    AS_VAR_APPEND([CPPFLAGS], [" -D_LARGEFILE64_SOURCE"])
+  ],
+  [aix*],
+  [
+    AS_VAR_APPEND([CPPFLAGS], [" -DAJ_AIXLF"])
+    AS_VAR_APPEND([CPPFLAGS], [" -D_LARGE_FILES"])
+  ],
+  [hpux*],
+  [
+    AS_VAR_APPEND([CPPFLAGS], [" -DAJ_HPUXLF"])
+    AS_VAR_APPEND([CPPFLAGS], [" -D_LARGEFILE_SOURCE"])
+    AS_VAR_APPEND([CPPFLAGS], [" -D_FILE_OFFSET_BITS=64"])
+  ],
+  [darwin*],
+  [
+    AS_VAR_APPEND([CPPFLAGS], [" -DAJ_MACOSXLF"])
+  ])
+
+  AC_MSG_RESULT([yes])
+])
+
+
+
+
+# Enable libraries provided by the system rather than EMBOSS:
+# --enable-systemlibs, sets ESYSTEMLIBS
+
+AC_ARG_ENABLE([systemlibs],
+[AS_HELP_STRING([--enable-systemlibs], [utility for RPM/dpkg bundles])])
+
+AM_CONDITIONAL([ESYSTEMLIBS], [test "x${enable_systemlibs}" = "xyes"])
+
+
+
+
+# Enable the purify tool: --enable-purify, sets CC and LIBTOOL
+
+AC_ARG_ENABLE([purify],
+[AS_HELP_STRING([--enable-purify], [purify])])
+
+AC_MSG_CHECKING([for purify])
+
+AS_IF([test "x${enable_purify}" = "xyes"],
+[
+dnl if(purify -version) < /dev/null > /dev/null 2>&1; then
+  CC="purify --chain-length=20 -best-effort -windows=yes gcc -g"
+  LIBTOOL="${LIBTOOL} --tag=CC"
+  AC_MSG_RESULT([yes])
+dnl fi
+],
+[
+  AC_MSG_RESULT([no])
+])
+
+
+
+
+dnl Set extra needed compiler flags
+if test "x${CC}" = "xcc"; then
+  case "${host}" in
+    alpha*-dec-osf*) CFLAGS="${CFLAGS} -ieee";;
+  esac
+fi
+
+AM_CONDITIONAL([PURIFY], [test "x${enable_purify}" = "xyes"])
+
+
+
+
+dnl Test for cygwin to set AM_LDFLAGS in library & apps Makefile.ams
+dnl Replaces original version which used 'expr' and so wasn't entirely
+dnl portable.
+platform_cygwin="no"
+AC_MSG_CHECKING([for cygwin])
+case "${host}" in
+  *-*-mingw*|*-*-cygwin*)
+    platform_cygwin="yes"
+    ;;
+  *)
+    platform_cygwin="no"
+    ;;
+esac
+AC_MSG_RESULT([${platform_cygwin}])
+AM_CONDITIONAL([ISCYGWIN], [test "x${platform_cygwin}" = "xyes"])
+
+
+
+
+dnl Tests for AIX
+dnl If shared needs -Wl,-G in plplot,ajax,nucleus, -lX11 in plplot,
+dnl and -Wl,brtl -Wl,-bdynamic in emboss
+dnl We therefore need a static test as well
+needajax="no"
+
+AS_CASE([${host_os}],
+[aix*],
+[AM_CONDITIONAL([ISAIXIA64], [true])],
+[AM_CONDITIONAL([ISAIXIA64], [false])])
+
+AM_CONDITIONAL([ISSHARED], [test "x${enable_shared}" = "xyes"])
+
+AS_CASE([${host_os}],
+[aix*],
+[
+  AS_IF([test -d ajax/.libs],
+  [AS_ECHO(["AIX ajax/.libs exists"])], [mkdir ajax/.libs])
+
+  AS_CASE([${host_os}],
+  [aix5*], [needajax="no"],
+  [aix4.3.3*], [needajax="yes"],
+  [needajax="no"])
+])
+
+AM_CONDITIONAL([NEEDAJAX], [test "x${needajax}" = "xyes"])
+
+
+
+
+# HP-UX needs -lsec for shadow passwords
+
+AS_CASE([${host_os}],
+[hpux*],
+[AS_VAR_APPEND([LDFLAGS], [" -lsec"])])
+
+
+
+
+# GNU mcheck functions: --enable-mcheck, defines HAVE_MCHECK
+
+AC_ARG_ENABLE([mcheck],
+[AS_HELP_STRING([--enable-mcheck],
+[mcheck and mprobe memory allocation test])])
+
+AS_IF([test "x${enable_mcheck}" = "xyes"], [AC_CHECK_FUNCS([mcheck])])
+
+
+
+
+# Collect AJAX statistics: --enable-savestats, defines AJ_SAVESTATS
+
+AC_ARG_ENABLE([savestats],
+[AS_HELP_STRING([--enable-savestats],
+[save AJAX statistics and print with debug output])])
+
+AC_MSG_CHECKING([for savestats])
+
+AS_IF([test "x${enable_savestats}" = "xyes"],
+[
+  AC_DEFINE([AJ_SAVESTATS], [1],
+  [Define to 1 to collect AJAX library usage statistics.])
+  AC_MSG_RESULT([yes])
+],
+[
+  AC_MSG_RESULT([no])
+])
+
+
+
+
+AC_CONFIG_FILES([Makefile
+                 src/Makefile
+                 acd/Makefile
+                 doc/Makefile
+                 doc/html/Makefile
+                 doc/text/Makefile
+])
+
+AC_OUTPUT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/data/ADH_HUMAN.fasta	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,8 @@
+>lcl|NM_000668.4_cdsid_NP_000659.2 [gene=ADH1B] [protein=alcohol dehydrogenase 1B] [protein_id=NP_000659.2] [location=85..1212]
+MSTAGKVIKCKAAVLWEVKKPFSIEDVEVAPPKAYEVRIKMVAVGICHTDDHVVSGNLVTPLPVILGHEA
+AGIVESVGEGVTTVKPGDKVIPLFTPQCGKCRVCKNPESNYCLKNDLGNPRGTLQDGTRRFTCRGKPIHH
+FLGTSTFSQYTVVDENAVAKIDAASPLEKVCLIGCGFSTGYGSAVNVAKVTPGSTCAVFGLGGVGLSAVM
+GCKAAGAARIIAVDINKDKFAKAKELGATECINPQDYKKPIQEVLKEMTDGGVDFSFEVIGRLDTMMASL
+LCCHEACGTSVIVGVPPASQNLSINPMLLLTGRTWKGAVYGGFKSKEGIPKLVADFMAKKFSLDALITHV
+LPFEKINEGFDLLHSGKSIRTVLTF
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/data/accid.fasta	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,77329 @@
+>NC_000913 NC_000913.2 Escherichia coli str. K-12 substr. MG1655 chromosome, complete genome.
+agcttttcattctgactgcaacgggcaatatgtctctgtgtggattaaaaaaagagtgtc
+tgatagcagcttctgaactggttacctgccgtgagtaaattaaaattttattgacttagg
+tcactaaatactttaaccaatataggcatagcgcacagacagataaaaattacagagtac
+acaacatccatgaaacgcattagcaccaccattaccaccaccatcaccattaccacaggt
+aacggtgcgggctgacgcgtacaggaaacacagaaaaaagcccgcacctgacagtgcggg
+ctttttttttcgaccaaaggtaacgaggtaacaaccatgcgagtgttgaagttcggcggt
+acatcagtggcaaatgcagaacgttttctgcgtgttgccgatattctggaaagcaatgcc
+aggcaggggcaggtggccaccgtcctctctgcccccgccaaaatcaccaaccacctggtg
+gcgatgattgaaaaaaccattagcggccaggatgctttacccaatatcagcgatgccgaa
+cgtatttttgccgaacttttgacgggactcgccgccgcccagccggggttcccgctggcg
+caattgaaaactttcgtcgatcaggaatttgcccaaataaaacatgtcctgcatggcatt
+agtttgttggggcagtgcccggatagcatcaacgctgcgctgatttgccgtggcgagaaa
+atgtcgatcgccattatggccggcgtattagaagcgcgcggtcacaacgttactgttatc
+gatccggtcgaaaaactgctggcagtggggcattacctcgaatctaccgtcgatattgct
+gagtccacccgccgtattgcggcaagccgcattccggctgatcacatggtgctgatggca
+ggtttcaccgccggtaatgaaaaaggcgaactggtggtgcttggacgcaacggttccgac
+tactctgctgcggtgctggctgcctgtttacgcgccgattgttgcgagatttggacggac
+gttgacggggtctatacctgcgacccgcgtcaggtgcccgatgcgaggttgttgaagtcg
+atgtcctaccaggaagcgatggagctttcctacttcggcgctaaagttcttcacccccgc
+accattacccccatcgcccagttccagatcccttgcctgattaaaaataccggaaatcct
+caagcaccaggtacgctcattggtgccagccgtgatgaagacgaattaccggtcaagggc
+atttccaatctgaataacatggcaatgttcagcgtttctggtccggggatgaaagggatg
+gtcggcatggcggcgcgcgtctttgcagcgatgtcacgcgcccgtatttccgtggtgctg
+attacgcaatcatcttccgaatacagcatcagtttctgcgttccacaaagcgactgtgtg
+cgagctgaacgggcaatgcaggaagagttctacctggaactgaaagaaggcttactggag
+ccgctggcagtgacggaacggctggccattatctcggtggtaggtgatggtatgcgcacc
+ttgcgtgggatctcggcgaaattctttgccgcactggcccgcgccaatatcaacattgtc
+gccattgctcagggatcttctgaacgctcaatctctgtcgtggtaaataacgatgatgcg
+accactggcgtgcgcgttactcatcagatgctgttcaataccgatcaggttatcgaagtg
+tttgtgattggcgtcggtggcgttggcggtgcgctgctggagcaactgaagcgtcagcaa
+agctggctgaagaataaacatatcgacttacgtgtctgcggtgttgccaactcgaaggct
+ctgctcaccaatgtacatggccttaatctggaaaactggcaggaagaactggcgcaagcc
+aaagagccgtttaatctcgggcgcttaattcgcctcgtgaaagaatatcatctgctgaac
+ccggtcattgttgactgcacttccagccaggcagtggcggatcaatatgccgacttcctg
+cgcgaaggtttccacgttgtcacgccgaacaaaaaggccaacacctcgtcgatggattac
+taccatcagttgcgttatgcggcggaaaaatcgcggcgtaaattcctctatgacaccaac
+gttggggctggattaccggttattgagaacctgcaaaatctgctcaatgcaggtgatgaa
+ttgatgaagttctccggcattctttctggttcgctttcttatatcttcggcaagttagac
+gaaggcatgagtttctccgaggcgaccacgctggcgcgggaaatgggttataccgaaccg
+gacccgcgagatgatctttctggtatggatgtggcgcgtaaactattgattctcgctcgt
+gaaacgggacgtgaactggagctggcggatattgaaattgaacctgtgctgcccgcagag
+tttaacgccgagggtgatgttgccgcttttatggcgaatctgtcacaactcgacgatctc
+tttgccgcgcgcgtggcgaaggcccgtgatgaaggaaaagttttgcgctatgttggcaat
+attgatgaagatggcgtctgccgcgtgaagattgccgaagtggatggtaatgatccgctg
+ttcaaagtgaaaaatggcgaaaacgccctggccttctatagccactattatcagccgctg
+ccgttggtactgcgcggatatggtgcgggcaatgacgttacagctgccggtgtctttgct
+gatctgctacgtaccctctcatggaagttaggagtctgacatggttaaagtttatgcccc
+ggcttccagtgccaatatgagcgtcgggtttgatgtgctcggggcggcggtgacacctgt
+tgatggtgcattgctcggagatgtagtcacggttgaggcggcagagacattcagtctcaa
+caacctcggacgctttgccgataagctgccgtcagaaccacgggaaaatatcgtttatca
+gtgctgggagcgtttttgccaggaactgggtaagcaaattccagtggcgatgaccctgga
+aaagaatatgccgatcggttcgggcttaggctccagtgcctgttcggtggtcgcggcgct
+gatggcgatgaatgaacactgcggcaagccgcttaatgacactcgtttgctggctttgat
+gggcgagctggaaggccgtatctccggcagcattcattacgacaacgtggcaccgtgttt
+tctcggtggtatgcagttgatgatcgaagaaaacgacatcatcagccagcaagtgccagg
+gtttgatgagtggctgtgggtgctggcgtatccggggattaaagtctcgacggcagaagc
+cagggctattttaccggcgcagtatcgccgccaggattgcattgcgcacgggcgacatct
+ggcaggcttcattcacgcctgctattcccgtcagcctgagcttgccgcgaagctgatgaa
+agatgttatcgctgaaccctaccgtgaacggttactgccaggcttccggcaggcgcggca
+ggcggtcgcggaaatcggcgcggtagcgagcggtatctccggctccggcccgaccttgtt
+cgctctgtgtgacaagccggaaaccgcccagcgcgttgccgactggttgggtaagaacta
+cctgcaaaatcaggaaggttttgttcatatttgccggctggatacggcgggcgcacgagt
+actggaaaactaaatgaaactctacaatctgaaagatcacaacgagcaggtcagctttgc
+gcaagccgtaacccaggggttgggcaaaaatcaggggctgttttttccgcacgacctgcc
+ggaattcagcctgactgaaattgatgagatgctgaagctggattttgtcacccgcagtgc
+gaagatcctctcggcgtttattggtgatgaaatcccacaggaaatcctggaagagcgcgt
+gcgcgcggcgtttgccttcccggctccggtcgccaatgttgaaagcgatgtcggttgtct
+ggaattgttccacgggccaacgctggcatttaaagatttcggcggtcgctttatggcaca
+aatgctgacccatattgcgggtgataagccagtgaccattctgaccgcgacctccggtga
+taccggagcggcagtggctcatgctttctacggtttaccgaatgtgaaagtggttatcct
+ctatccacgaggcaaaatcagtccactgcaagaaaaactgttctgtacattgggcggcaa
+tatcgaaactgttgccatcgacggcgatttcgatgcctgtcaggcgctggtgaagcaggc
+gtttgatgatgaagaactgaaagtggcgctagggttaaactcggctaactcgattaacat
+cagccgtttgctggcgcagatttgctactactttgaagctgttgcgcagctgccgcagga
+gacgcgcaaccagctggttgtctcggtgccaagcggaaacttcggcgatttgacggcggg
+tctgctggcgaagtcactcggtctgccggtgaaacgttttattgctgcgaccaacgtgaa
+cgataccgtgccacgtttcctgcacgacggtcagtggtcacccaaagcgactcaggcgac
+gttatccaacgcgatggacgtgagtcagccgaacaactggccgcgtgtggaagagttgtt
+ccgccgcaaaatctggcaactgaaagagctgggttatgcagccgtggatgatgaaaccac
+gcaacagacaatgcgtgagttaaaagaactgggctacacttcggagccgcacgctgccgt
+agcttatcgtgcgctgcgtgatcagttgaatccaggcgaatatggcttgttcctcggcac
+cgcgcatccggcgaaatttaaagagagcgtggaagcgattctcggtgaaacgttggatct
+gccaaaagagctggcagaacgtgctgatttacccttgctttcacataatctgcccgccga
+ttttgctgcgttgcgtaaattgatgatgaatcatcagtaaaatctattcattatctcaat
+caggccgggtttgcttttatgcagcccggcttttttatgaagaaattatggagaaaaatg
+acagggaaaaaggagaaattctcaataaatgcggtaacttagagattaggattgcggaga
+ataacaaccgccgttctcatcgagtaatctccggatatcgacccataacgggcaatgata
+aaaggagtaacctgtgaaaaagatgcaatctatcgtactcgcactttccctggttctggt
+cgctcccatggcagcacaggctgcggaaattacgttagtcccgtcagtaaaattacagat
+aggcgatcgtgataatcgtggctattactgggatggaggtcactggcgcgaccacggctg
+gtggaaacaacattatgaatggcgaggcaatcgctggcacctacacggaccgccgccacc
+gccgcgccaccataagaaagctcctcatgatcatcacggcggtcatggtccaggcaaaca
+tcaccgctaaatgacaaatgccgggtaacaatccggcattcagcgcctgatgcgacgctg
+gcgcgtcttatcaggcctacgttaattctgcaatatattgaatctgcatgcttttgtagg
+caggataaggcgttcacgccgcatccggcattgactgcaaacttaacgctgctcgtagcg
+tttaaacaccagttcgccattgctggaggaatcttcatcaaagaagtaaccttcgctatt
+aaaaccagtcagttgctctggtttggtcagccgattttcaataatgaaacgactcatcag
+accgcgtgctttcttagcgtagaagctgatgatcttaaatttgccgttcttctcatcgag
+gaacaccggcttgataatctcggcattcaatttcttcggcttcaccgatttaaaatactc
+atctgacgccagattaatcaccacattatcgccttgtgctgcgagcgcctcgttcagctt
+gttggtgatgatatctccccagaattgatacagatctttccctcgggcattctcaagacg
+gatccccatttccagacgataaggctgcattaaatcgagcgggcggagtacgccatacaa
+gccggaaagcattcgcaaatgctgttgggcaaaatcgaaatcgtcttcgctgaaggtttc
+ggcctgcaagccggtgtagacatcacctttaaacgccagaatcgcctggcgggcattcgc
+cggcgtgaaatctggctgccagtcatgaaagcgagcggcgttgatacccgccagtttgtc
+gctgatgcgcatcagcgtgctaatctgcggaggcgtcagtttccgcgcctcatggatcaa
+ctgctgggaattgtctaacagctccggcagcgtatagcgcgtggtggtcaacgggctttg
+gtaatcaagcgttttcgcaggtgaaataagaatcagcatatccagtccttgcaggaaatt
+tatgccgactttagcaaaaaatgagaatgagttgatcgatagttgtgattactcctgcga
+aacatcatcccacgcgtccggagaaagctggcgaccgatatccggataacgcaatggatc
+aaacaccgggcgcacgccgagtttacgctggcgtagataatcactggcaatggtatgaac
+cacaggcgagagcagtaaaatggcggtcaaattggtaatagccatgcaggccattatgat
+atctgccagttgccacatcagcggaaggcttagcaaggtgccgccgatgaccgttgcgaa
+ggtgcagatccgcaaacaccagatcgctttagggttgttcaggcgtaaaaagaagagatt
+gttttcggcataaatgtagttggcaacgatggagctgaaggcaaacagaataaccacaag
+ggtaacaaactcagcaccccaggaacccattagcacccgcatcgccttctggataagctg
+aataccttccagcggcatgtaggttgtgccgttacccgccagtaatatcagcatggcgct
+tgccgtacagatgaccagggtgtcgataaaaatgccaatcatctggacaatcccttgcgc
+tgccggatgcggaggccaggacgccgctgccgctgccgcgtttggcgtcgaacccattcc
+cgcctcattggaaaacatactgcgctgaaaaccgttagtaatcgcctggcttaaggtata
+tcccgccgcgccgcctgccgcttcctgccagccaaaagcactctcaaaaatagaccaaat
+gacgtggggaagttgcccgatattcattacgcaaattaccaggctggtcagtacccagat
+tatcgccatcaacgggacaaagccctgcatgagccgggcgacgccatgaagaccgcgagt
+gattgccagcagagtaaagacagcgagaataatgcctgtcaccagcgggggaaaatcaaa
+agaaaaactcagggcgcgggcaacggcgttcgcttgaactccgctgaaaattatgccata
+ggcgatgagcaaaaagacggcgaacagaacgcccatccagcgcatccccagcccgcgcgc
+catataccatgccggtccgccacgaaactgcccattgacgtcacgttctttataaagttg
+tgccagagaacattcggcaaacgaggtcgccatgccgataaacgcggcaacccacatcca
+aaagacggctccaggtccaccggcggtaatagccagcgcaacgccggccaggttgccgct
+acccacgcgcgccgcaagactggtacacaatgactgaaatgaggttaaaccgcctggctg
+tggatgaatgctatttttaagacttttgccaaactggcggatgtagcgaaactgcacaaa
+tccggtgcgaaaagtgaaccaacaacctgcgccgaagagcaggtaaatcattaccgatcc
+ccaaaggacgctgttaatgaaggagaaaaaatctggcatgcatatccctcttattgccgg
+tcgcgatgactttcctgtgtaaacgttaccaattgtttaagaagtatatacgctacgagg
+tacttgataacttctgcgtagcatacatgaggttttgtataaaaatggcgggcgatatca
+acgcagtgtcagaaatccgaaacagtctcgcctggcgataaccgtcttgtcggcggttgc
+gctgacgttgcgtcgtgatatcatcagggcagaccggttacatccccctaacaagctgtt
+taaagagaaatactatcatgacggacaaattgacctcccttcgtcagtacaccaccgtag
+tggccgacactggggacatcgcggcaatgaagctgtatcaaccgcaggatgccacaacca
+acccttctctcattcttaacgcagcgcagattccggaataccgtaagttgattgatgatg
+ctgtcgcctgggcgaaacagcagagcaacgatcgcgcgcagcagatcgtggacgcgaccg
+acaaactggcagtaaatattggtctggaaatcctgaaactggttccgggccgtatctcaa
+ctgaagttgatgcgcgtctttcctatgacaccgaagcgtcaattgcgaaagcaaaacgcc
+tgatcaaactctacaacgatgctggtattagcaacgatcgtattctgatcaaactggctt
+ctacctggcagggtatccgtgctgcagaacagctggaaaaagaaggcatcaactgtaacc
+tgaccctgctgttctccttcgctcaggctcgtgcttgtgcggaagcgggcgtgttcctga
+tctcgccgtttgttggccgtattcttgactggtacaaagcgaataccgataagaaagagt
+acgctccggcagaagatccgggcgtggtttctgtatctgaaatctaccagtactacaaag
+agcacggttatgaaaccgtggttatgggcgcaagcttccgtaacatcggcgaaattctgg
+aactggcaggctgcgaccgtctgaccatcgcaccggcactgctgaaagagctggcggaga
+gcgaaggggctatcgaacgtaaactgtcttacaccggcgaagtgaaagcgcgtccggcgc
+gtatcactgagtccgagttcctgtggcagcacaaccaggatccaatggcagtagataaac
+tggcggaaggtatccgtaagtttgctattgaccaggaaaaactggaaaaaatgatcggcg
+atctgctgtaatcattcttagcgtgaccgggaagtcggtcacgctacctcttctgaagcc
+tgtctgtcactcccttcgcagtgtatcattctgtttaacgagactgtttaaacggaaaaa
+tcttgatgaatactttacgtattggcttagtttccatctctgatcgcgcatccagcggcg
+tttatcaggataaaggcatccctgcgctggaagaatggctgacatcggcgctaaccacgc
+cgtttgaactggaaacccgcttaatccccgatgagcaggcgatcatcgagcaaacgttgt
+gtgagctggtggatgaaatgagttgccatctggtgctcaccacgggcggaactggcccgg
+cgcgtcgtgacgtaacgcccgatgcgacgctggcagtagcggaccgcgagatgcctggct
+ttggtgaacagatgcgccagatcagcctgcattttgtaccaactgcgatcctttcgcgtc
+aggtgggcgtgattcgcaaacaggcgctgatccttaacttacccggtcagccgaagtcta
+ttaaagagacgctggaaggtgtgaaggacgctgagggtaacgttgtggtacacggtattt
+ttgccagcgtaccgtactgcattcagttgctggaagggccatacgttgaaacggcaccgg
+aagtggttgcagcattcagaccgaagagtgcaagacgcgacgttagcgaataaaaaaatc
+cccccgagcggggggatctcaaaacaattagtgggattcaccaatcggcagaacggtgcg
+accaaactgctcgttcagtacttcacccatcgccagatagattgcgctggcaccgcagat
+cagcccaatccagccggcaaagtggatgattgcggcgttaccggcaatgttaccgatcgc
+cagcagggcaaacagcacggtcaggctaaagaaaacgaattgcagaacgcgtgcgccttt
+cagcgtgccgaagaacataaacagcgtaaatacgccccacagacccaggtagacaccaag
+gaactgtgcatttggcgcatcggtcagacccagtttcggcatcagcagaatcgcaaccag
+cgtcagccagaaagaaccgtaagaggtgaatgcggttaaaccgaaagtgttgcctttttt
+gtactccagcagaccagcaaaaatttgcgcgatgccgccgtagaaaatgcccatggcaag
+aataataccgtccagagcgaaataacccacgttgtgcaggttaagcagaatggtggtcat
+gccgaagcccatcaggcccagcggtgccggattagccaacttagtgttgcccataattcc
+tcaaaaatcatcatcgaatgaatggtgaaataatttccctgaataactgtagtgttttca
+gggcgcggcataataatcagccagtggggcagtgtctacgatcttttgaggggaaaatga
+aaattttccccggtttccggtatcagacctgagtggcgctaaccatccggcgcaggcagg
+cgatttgcagtacggctggaatcgtcacgcgataggcgctgccgctgaccgctttaaccc
+catttagtgccgcacctacagggcctcccagccccgcgccgcgcagcaaaccatgcccaa
+gtacgctcattgctgcgtgggtgcgtaaaatgcgggtcagttggctggaaagcaaatgcg
+acacaccttttgccaataatttgtctttcatcagcagcggcagcagctcttccagctcat
+tcaccctggcatcgaccgcgtgcagaaactcctgcttatgttcctcgtccattttcttcc
+aggtattacgcagaaattgttccagtaactgttgctcaatttcaaacgtagacatctctt
+tgtcggctttcagcttcaatcgctttgaaacatcgagcaaaatggcccgatacaatttac
+cgtgtccgcgcagtttgttggcgatactatcgccaccaaaatgctgtaattctccggcaa
+tcagctgccagttgcggcgatgttgctcgggatgcccttccatcgatttaaacagttcgt
+tgcgcatcagtacgctggagaggcgagttttgcctttttcattatgggtgagcaatcggg
+cgaaatttgccaactgttcctcactacaatgctgaagaaaatccagatctgaatcattca
+ggtaattaacattcattttttgtggcttctatattctggcgttagtcgtcgccgataatt
+ttcagcgtggccatatccgatgagttcaccgtatgacccgaaaaggtgatttttgagacg
+cagcgtttattgtcgttatcgctgttaatgttgatccagtcagtggtttgcccttctttt
+atttctgaaggaatattcaggctctgactggcgctacgggcggctttgaaataaaccgat
+gcaccgcttaactgtaaatcgccatggtcggcagagagttgtatgcgtttcacaatgcga
+caaacaggaagtttcagcgccagatcgttggtttcgttacgcggcattgcaatggcgccg
+aggagtttatggtcgtttgcctgcgccgtgcagcacagcatcaggctaatcgccaggctg
+gcggaaatcgtaaaaacggatttcataaggattctcttagtgggaagaggtagggggatg
+aatacccactagtttactgctgataaagagaagattcaggcacgtaatcttttcttttta
+ttacaattttttgatgaatgccttggctgcgattcattctttatatgaataaaattgctg
+tcaattttacgtcttgtcctgccatatcgcgaaatttctgcgcaaaagcacaaaaaattt
+ttgcatctcccccttgatgacgtggtttacgaccccatttagtagtcaaccgcagtgagt
+gagtctgcaaaaaaatgaaattgggcagttgaaaccagacgtttcgcccctattacagac
+tcacaaccacatgatgaccgaatatatagtggagacgtttagatgggtaaaataattggt
+atcgacctgggtactaccaactcttgtgtagcgattatggatggcaccactcctcgcgtg
+ctggagaacgccgaaggcgatcgcaccacgccttctatcattgcctatacccaggatggt
+gaaactctagttggtcagccggctaaacgtcaggcagtgacgaacccgcaaaacactctg
+tttgcgattaaacgcctgattggtcgccgcttccaggacgaagaagtacagcgtgatgtt
+tccatcatgccgttcaaaattattgctgctgataacggcgacgcatgggtcgaagttaaa
+ggccagaaaatggcaccgccgcagatttctgctgaagtgctgaaaaaaatgaagaaaacc
+gctgaagattacctgggtgaaccggtaactgaagctgttatcaccgtaccggcatacttt
+aacgatgctcagcgtcaggcaaccaaagacgcaggccgtatcgctggtctggaagtaaaa
+cgtatcatcaacgaaccgaccgcagctgcgctggcttacggtctggacaaaggcactggc
+aaccgtactatcgcggtttatgacctgggtggtggtactttcgatatttctattatcgaa
+atcgacgaagttgacggcgaaaaaaccttcgaagttctggcaaccaacggtgatacccac
+ctggggggtgaagacttcgacagccgtctgatcaactatctggttgaagaattcaagaaa
+gatcagggcattgacctgcgcaacgatccgctggcaatgcagcgcctgaaagaagcggca
+gaaaaagcgaaaatcgaactgtcttccgctcagcagaccgacgttaacctgccatacatc
+actgcagacgcgaccggtccgaaacacatgaacatcaaagtgactcgtgcgaaactggaa
+agcctggttgaagatctggtaaaccgttccattgagccgctgaaagttgcactgcaggac
+gctggcctgtccgtatctgatatcgacgacgttatcctcgttggtggtcagactcgtatg
+ccaatggttcagaagaaagttgctgagttctttggtaaagagccgcgtaaagacgttaac
+ccggacgaagctgtagcaatcggtgctgctgttcagggtggtgttctgactggtgacgta
+aaagacgtactgctgctggacgttaccccgctgtctctgggtatcgaaaccatgggcggt
+gtgatgacgacgctgatcgcgaaaaacaccactatcccgaccaagcacagccaggtgttc
+tctaccgctgaagacaaccagtctgcggtaaccatccatgtgctgcagggtgaacgtaaa
+cgtgcggctgataacaaatctctgggtcagttcaacctagatggtatcaacccggcaccg
+cgcggcatgccgcagatcgaagttaccttcgatatcgatgctgacggtatcctgcacgtt
+tccgcgaaagataaaaacagcggtaaagagcagaagatcaccatcaaggcttcttctggt
+ctgaacgaagatgaaatccagaaaatggtacgcgacgcagaagctaacgccgaagctgac
+cgtaagtttgaagagctggtacagactcgcaaccagggcgaccatctgctgcacagcacc
+cgtaagcaggttgaagaagcaggcgacaaactgccggctgacgacaaaactgctatcgag
+tctgcgctgactgcactggaaactgctctgaaaggtgaagacaaagccgctatcgaagcg
+aaaatgcaggaactggcacaggtttcccagaaactgatggaaatcgcccagcagcaacat
+gcccagcagcagactgccggtgctgatgcttctgcaaacaacgcgaaagatgacgatgtt
+gtcgacgctgaatttgaagaagtcaaagacaaaaaataatcgccctataaacgggtaatt
+atactgacacgggcgaaggggaatttcctctccgcccgtgcattcatctaggggcaattt
+aaaaaagatggctaagcaagattattacgagattttaggcgtttccaaaacagcggaaga
+gcgtgaaatcagaaaggcctacaaacgcctggccatgaaataccacccggaccgtaacca
+gggtgacaaagaggccgaggcgaaatttaaagagatcaaggaagcttatgaagttctgac
+cgactcgcaaaaacgtgcggcatacgatcagtatggtcatgctgcgtttgagcaaggtgg
+catgggcggcggcggttttggcggcggcgcagacttcagcgatatttttggtgacgtttt
+cggcgatatttttggcggcggacgtggtcgtcaacgtgcggcgcgcggtgctgatttacg
+ctataacatggagctcaccctcgaagaagctgtacgtggcgtgaccaaagagatccgcat
+tccgactctggaagagtgtgacgtttgccacggtagcggtgcaaaaccaggtacacagcc
+gcagacttgtccgacctgtcatggttctggtcaggtgcagatgcgccagggattcttcgc
+tgtacagcagacctgtccacactgtcagggccgcggtacgctgatcaaagatccgtgcaa
+caaatgtcatggtcatggtcgtgttgagcgcagcaaaacgctgtccgttaaaatcccggc
+aggggtggacactggagaccgcatccgtcttgcgggcgaaggtgaagcgggcgagcatgg
+cgcaccggcaggcgatctgtacgttcaggttcaggttaaacagcacccgattttcgagcg
+tgaaggcaacaacctgtattgcgaagtcccgatcaacttcgctatggcggcgctgggtgg
+cgaaatcgaagtaccgacccttgatggtcgcgtcaaactgaaagtgcctggcgaaaccca
+gaccggtaagctattccgtatgcgcggtaaaggcgtcaagtctgtccgcggtggcgcaca
+gggtgatttgctgtgccgcgttgtcgtcgaaacaccggtaggcctgaacgaaaggcagaa
+acagctgctgcaagagctgcaagaaagcttcggtggcccaaccggcgagcacaacagccc
+gcgctcaaagagcttctttgatggtgtgaagaagttttttgacgacctgacccgctaacc
+tccccaaaagcctgcccgtgggcaggcctgggtaaaaatagggtgcgttgaagatatgcg
+agcacctgtaaagtggcggggatcactcccataagcgctaacttaagggttgtggtatta
+cgcctgatatgatttaacgtgccgatgaattactctcacgataactggtcagcaattctg
+gcccatattggtaagcccgaagaactggatacttcggcacgtaatgccggggctctaacc
+cgccgccgcgaaattcgtgatgctgcaactctgctacgtctggggctggcttacggcccc
+ggggggatgtcattacgtgaagtcactgcatgggctcagctccatgacgttgcaacatta
+tctgacgtggctctcctgaagcggctgcggaatgccgccgactggtttggcatacttgcc
+gcacaaacacttgctgtacgcgccgcagttacgggttgtacaagcggaaagagattgcgt
+cttgtcgatggaacagcaatcagtgcgcccgggggcggcagcgctgaatggcgactacat
+atgggatatgatcctcatacctgtcagttcactgattttgagctaaccgacagcagagac
+gctgaacggctggaccgatttgcgcaaacggcagacgagatacgcattgctgaccgggga
+ttcggttcgcgtcccgaatgtatccgctcacttgcttttggagaagctgattatatcgtc
+cgggttcactggcgaggattgcgctggttaactgcagaaggaatgcgctttgacatgatg
+ggttttctgcgcgggctggattgcggtaagaacggtgaaaccactgtaatgataggcaat
+tcaggtaataaaaaagccggagctccctttccggcacgtctcattgccgtatcacttcct
+cccgaaaaagcattaatcagtaaaacccgactgctcagcgagaatcgtcgaaaaggacga
+gtagttcaggcggaaacgctggaagcagcgggccatgtgctattgctaacatcattaccg
+gaagatgaatattcagcagagcaagtggctgattgttaccgtctgcgatggcaaattgaa
+ctggcttttaagcggctcaaaagtttgctgcacctggatgctttgcgtgcaaaggaacct
+gaactcgcgaaagcgtggatatttgctaatctactcgccgcatttttaattgacgacata
+atccagccatcgctggatttcccccccagaagtgccggatccgaaaagaagaactaactc
+gttgtggagaataacaaaaatggtcatctggagcttacaggtggccattcgtgggacagt
+atccctgacagcctacaaaacgcaattgaagaacgcgaggcatcgtcttaacgaggcacc
+gaggcgtcgcattcttcagatggttcaacccttaagttagcgcttatgggatcactcccc
+gccgttgctcttactcggattcgtaagccgtgaaaacagcaacctccgtctggccagttc
+ggatgtgaacctcacagaggtcttttctcgttaccagcgccgccactacggcggtgatac
+agatgacgatcagggcgacaatcatcgccttatgctgcttcattgctctcttctccttga
+ccttacggtcagtaagaggcactctacatgtgttcagcatataggaggcctcgggttgat
+ggtaaaatatcactcggggcttttctctatctgccgttcagctaatgcctgagacagaca
+gcctcaagcacccgccgctattatatcgctctctttaacccattttgttttatcgattct
+aatcctgaagacgcctcgcatttttgtggcgtaattttttaatgatttaattatttaact
+ttaatttatctcttcatcgcaattattgacgacaagctggattatttttgaaatattggc
+ctaacaagcatcgccgactgacaacaaattaattattacttttcctaattaatccctcag
+gaatcctcaccttaagctatgattatctaggcttagggtcactcgtgagcgcttacagcc
+gtcaaaaacgcatctcaccgctgatggcgcaaattcttcaatagctcgtaaaaaacgaat
+tattcctacactataatctgattttaacgatgattcgtgcggggtaaaatagtaaaaacg
+atctattcacctgaaagagaaataaaaagtgaaacatctgcatcgattctttagcagtga
+tgcctcgggaggcattattcttatcattgccgctatcctggcgatgattatggccaacag
+cggcgcaaccagtggatggtatcacgactttctggagacgccggttcagctccgggttgg
+ttcactcgaaatcaacaaaaacatgctgttatggataaatgacgcgctgatggcggtatt
+tttcctgttagtcggtctggaagttaaacgtgaactgatgcaaggatcgctagccagctt
+acgccaggccgcatttccagttatcgccgctattggtgggatgattgtgccggcattact
+ctatctggcttttaactatgccgatccgattacccgcgaagggtgggcgatcccggcggc
+tactgacattgcttttgcacttggtgtactggcgctgttgggaagtcgtgttccgttagc
+gctgaagatctttttgatggctctggctattatcgacgatcttggggccatcattatcat
+cgcattgttctacactaatgacttatcgatggcctctcttggcgtcgcggctgtagcaat
+tgcggtactcgcggtattgaatctgtgtggtgcacgccgcacgggcgtctatattcttgt
+tggcgtggtgttgtggactgcggtgttgaaatcgggggttcacgcaactctggcgggggt
+aattgtcggcttctttattcctttgaaagagaagcatgggcgttctccagcgaagcgact
+ggagcatgtgttgcacccgtgggtggcgtatctgattttgccgctgtttgcatttgctaa
+tgctggcgtttcactgcaaggcgtcacgctggatggcttgacctccattctgccattggg
+gatcatcgctggcttgctgattggcaaaccgctggggattagtctgttctgctggttggc
+gctgcgtttgaaactggcgcatctgcctgagggaacgacttatcagcaaattatggtggt
+ggggatcctgtgcggtatcggttttactatgtctatctttattgccagcctggcctttgg
+tagcgtagatccagaactgattaactgggcgaaactcggtatcctggtcggttctatctc
+ttcggcggtaattggatacagctggttacgcgttcgtttgcgtccatcagtttgacagga
+cggtttaccggggagccataaacggctcccttttcattgttatcagggagagaaatgagc
+atgtctcatatcaattacaaccacttgtattacttctggcatgtctataaagaaggttcc
+gtggttggcgcagcggaggcgctttatttaactccacaaaccattaccggacagattcga
+gcgctggaagagcgcctgcaaggcaaattatttaaacgcaagggacgtggtctcgaaccc
+agcgagctgggagaactggtctatcgctatgccgataaaatgttcaccttaagccaggaa
+atgctggatattgtgaactatcgcaaagaatccaatttattgtttgacgttggcgtggct
+gatgcactttccaaacgcctggtcagtagcgtacttaacgccgcagtggtagaaggcgag
+cccattcatcttcgctgcttcgaatccacccacgaaatgctgctggagcaattaagtcag
+cataaactggatatgatcatttctgactgtccgatagactctacgcagcaggaaggcctg
+ttctccgtgagaattggcgaatgtggcgtgagtttctggtgtacaaatccaccaccagaa
+aaaccgttcccggcttgtctggaagaacggcgacttttgattcctgggcgacgttcaatg
+ttagggcgcaaattgcttaactggtttaactcccagggattaaacgtagaaatcctcggc
+gagtttgatgatgccgctttgatgaaagcttttggtgcgatgcacaatgcaatcttcgtt
+gccccaacgctttatgcatatgacttttatgccgataaaactgtcgtagaaattggtcgc
+gtcgagaatgtgatggaagagtaccatgctatttttgctgagcggatgattcagcacccg
+gcggtacagcgaatctgcaatacggattattctgcgctttttagtccagcggtgcgttaa
+tcggcagctcccccaaagttaaggtgggggagatagattagttgtacattaccacgattt
+tgactcggctcattatttgcccgcttgagacattgtttccatatgtacgcgggcgaataa
+atagaggaatctgattacttccttcatggggatgctgaaaagagtagtaattgctggtaa
+tgactccaacttattgatagtgttttatgttcagataatgcccgatgactttgtcatgca
+gctccaccgattttgagaacgacagcgacttccgtcccagccgtgccaggtgctgcctca
+gattcaggttatgccgctcaattcgctgcgtatatcgcttgctgattacgtgcagctttc
+ccttcaggcgggattcatacagcggccagccatccgtcatccatatcaccacgtcaaagg
+gtgacagcaggctcataagacgccccagcgtcgccatagtgcgttcaccgaatacgtgcg
+caacaaccgtcttccggagactgtcatacgcgtaaaacagccagcgctggcgcgatttag
+ccccgacatagccccactgttcgtccatttccgcgcagacgatgacgtcactgcccggct
+gtatgcgcgaggttaccgactgcggcctgagttttttaagtgacgtaaaatcgtgttgag
+gccaacgcccataatgcgggctgttgcccggcatccaacgccattcatggccatatcaat
+gattttctggtgcgtaccgggttgagaagcggtgtaagtgaactgcagttgccatgtttt
+acggcagtgagagcagagatagcgctgatgtccggcggtgcttttgccgttacgcaccac
+cccgtcagtagctgaacaggagggacagctgatagaaacagaagccactggagcacctca
+aaaacaccatcatacactaaatcagtaagttggcagcatcacctacctcaatgtgtatca
+caatatccatattctttgtgggggagtctggagattgagtagatattcttgttcagaatg
+tatcagccgatggttctacgattcttaagccacgaagagttcagatagtacaacggcatg
+tctcttttgactatctggcaaccggcagtgtgttctctcacgcatcacaaaagcagcagg
+cataaaaaaacccgcttgcgcgggctttttcacaaagcttcagcaaattggcgattaagc
+cagtttgttgatctgtgcagtcaggttagccttatgacgtgcagctttgtttttgtggat
+cagacctttagcagcctgacggtccacgatcggttgcatttcgttaaatgctttctgtgc
+agcagctttgtcgccagcttcgatagctgcgtatactttcttgatgaaagtacgcatcat
+agagcgacggcttgcgttgtgcttacgagccttttcagactgaatggcgcgcttcttagc
+tgatttgatattagccaaggtccaactcccaaatgtgttctatatggacaattcaaaggc
+cgaggaatatgcccttttagccttcttttgtcaatggatttgtgcaaataagcgccgtta
+atgtgccggcactcgttacgtagtgatggcgcaggattctaccagcttgcggggtgtgaa
+tacagcttttccgcgataaaaattgcagcaggcggtcagtttcttcccgtgatttgcgcc
+atggcaatgaaaagccacttctttctgatttcggtactcaatcgccggttaaccttgacc
+gctgtacaaggtatactcggacgattttcactgttttgagccagacatgaagctgatacg
+cggcatacataatctcagccaggccccgcaagaagggtgtgtgctgactattggtaattt
+cgacggcgtgcatcgcggtcatcgcgcgctgttacagggcttgcaggaagaagggcgcaa
+gcgcaacttaccggtgatggtgatgctttttgaacctcaaccactggaactgtttgctac
+cgataaagccccggcaagactgacccggctgcgggaaaaactgcgttaccttgcagagtg
+tggcgttgattacgtgctgtgcgtgcgtttcgacaggcgtttcgcggcgttaaccgcgca
+aaatttcatcagcgatcttctggtgaagcatttgcgcgtaaaatttcttgccgtaggtga
+tgatttccgctttggcgctggtcgtgaaggcgatttcttgttattacagaaagctggcat
+ggaatacggcttcgatatcaccagtacgcaaactttttgcgaaggtggcgtgcgcatcag
+cagcaccgccgtgcgtcaggcccttgcggatgacaatctggctctggcagagagtttact
+ggggcacccgtttgccatctccgggcgtgtagtccacggtgatgaattagggcgcactat
+aggtttcccgacggcgaatgtaccgctgcgccgtcaggtttccccggtgaaaggggttta
+tgcggtagaagtgctgggcctcggtgaaaagccgttacccggcgtggcaaacatcggaac
+acgcccaacggttgccggtattcgccagcagctggaagtgcatttgttagatgttgcaat
+ggacctttacggtcgccatatacaagtagtgctgcgtaaaaaaatacgcaatgagcagcg
+atttgcgtcgctggacgaactgaaagcgcagattgcgcgtgatgaattaaccgcccgcga
+attttttgggctaacaaaaccggcttaagcctgttatgtaatcaaaccgaaatacggaac
+cgagaatctgatgagtgactataaatcaaccctgaatttgccggaaacagggttcccgat
+gcgtggcgatctcgccaagcgcgaacccggaatgctggcgcgttggactgatgatgatct
+gtacggcatcatccgtgcggctaaaaaaggcaaaaaaaccttcattctgcatgatggccc
+tccttatgcgaatggcagcattcatattggtcactcggttaacaagattctgaaagacat
+tatcgtgaagtccaaagggctttccggttatgactcgccgtatgtgcctggctgggactg
+ccacggtctgccgatcgagctgaaagtcgagcaagaatacggtaagccgggtgagaaatt
+caccgccgccgagttccgcgccaagtgccgcgaatacgcggcgacccaggttgacggtca
+acgcaaagactttatccgtctgggcgtgctgggcgactggtcgcacccgtacctgaccat
+ggacttcaaaactgaagccaacatcatccgcgcgctgggcaaaatcatcggcaacggtca
+cctgcacaaaggcgcgaagccagttcactggtgcgttgactgccgttctgcgctggcgga
+agcggaagttgagtattacgacaaaacttctccgtccatcgacgttgctttccaggcagt
+cgatcaggatgcactgaaagcaaaatttgccgtaagcaacgttaacggcccaatctcgct
+ggtaatctggaccaccacgccgtggactctgcctgccaaccgcgcaatctctattgcacc
+agatttcgactatgcgctggtgcagatcgacggtcaggccgtgattctggcgaaagatct
+ggttgaaagcgtaatgcagcgtatcggcgtgaccgattacaccattctcggcacggtaaa
+aggtgcggagcttgagctgctgcgctttacccatccgtttatgggcttcgacgttccggc
+aatcctcggcgatcacgttaccctggatgccggtaccggtgccgttcacaccgcgcctgg
+ccacggcccggacgactatgtgatcggtcagaaatacggcctggaaaccgctaacccggt
+tggcccggacggcacttatctgccgggcacttatccgacgctggatggcgtgaacgtctt
+caaagcgaacgacatcgtcgttgcgctgctgcaggaaaaaggcgcgctgctgcacgttga
+gaaaatgcagcacagctatccgtgctgctggcgtcacaaaacgccgatcatcttccgcgc
+gacgccgcagtggttcgtcagcatggatcagaaaggtctgcgtgcgcagtcactgaaaga
+gatcaaaggcgtgcagtggatcccggactggggccaggcgcgtatcgagtcgatggttgc
+taaccgtcctgactggtgtatctcccgtcagcgcacctggggtgtaccgatgtcactgtt
+cgtgcacaaagacacggaagagctgcatccgcgtacccttgaactgatggaagaagtggc
+aaaacgcgttgaagtcgatggcatccaggcgtggtgggatctcgatgcgaaagagatcct
+cggcgacgaagctgatcagtacgtgaaagtgccggacacattggatgtatggtttgactc
+cggatctacccactcttctgttgttgacgtgcgtccggaatttgccggtcacgcagcgga
+catgtatctggaaggttctgaccaacaccgcggctggttcatgtcttccctaatgatctc
+caccgcgatgaagggtaaagcgccgtatcgtcaggtactgacccacggctttaccgtgga
+tggtcagggccgcaagatgtctaaatccatcggcaataccgtttcgccgcaggatgtgat
+gaacaaactgggcgcggatattctgcgtctgtgggtggcatcaaccgactacaccggtga
+aatggccgtttctgacgagatcctgaaacgtgctgccgatagctatcgtcgtatccgtaa
+caccgcgcgcttcctgctggcaaacctgaacggttttgatccagcaaaagatatggtgaa
+accggaagagatggtggtactggatcgctgggccgtaggttgtgcgaaagcggcacagga
+agacatcctcaaggcgtacgaagcatacgatttccacgaagtggtacagcgtctgatgcg
+cttctgctccgttgagatgggttccttctacctcgacatcatcaaagaccgtcagtacac
+cgccaaagcggacagtgtggcgcgtcgtagctgccagactgcgctatatcacatcgcaga
+agcgctggtgcgctggatggcaccaatcctctccttcaccgctgatgaagtgtggggcta
+cctgccgggcgaacgtgaaaaatacgtcttcaccggtgagtggtacgaaggcctgtttgg
+cctggcagacagtgaagcgatgaacgatgcgttctgggacgagctgttgaaagtgcgtgg
+cgaagtgaacaaagtcattgagcaagcgcgtgccgacaagaaagtgggtggctcgctgga
+agcggcagtaaccttgtatgcagaaccggaactgtcggcgaaactgaccgcgctgggcga
+tgaattacgatttgtcctgttgacctccggcgctaccgttgcagactataacgacgcacc
+tgctgatgctcagcagagcgaagtactcaaagggctgaaagtcgcgttgagtaaagccga
+aggtgagaagtgcccacgctgctggcactacacccaggatgtcggcaaggtggcggaaca
+cgcagaaatctgcggccgctgtgtcagcaacgtcgccggtgacggtgaaaaacgtaagtt
+tgcctgatgagtcaatcgatctgttcaacagggctacgctggctgtggctggtggtagtc
+gtgctgattatcgatctgggcagcaaatacctgatcctccagaactttgctctgggggat
+acggtcccgctgttcccgtcgcttaatctgcattatgcgcgtaactatggcgcggcgttt
+agtttccttgccgatagcggcggctggcagcgttggttctttgccggtattgcgattggt
+attagcgtgatcctggcagtgatgatgtatcgctcgaaggccacgcagaagctaaacaat
+atcgcttacgcgctgattattggcggcgcgctgggcaacctgttcgaccgcctgtggcac
+ggcttcgttgtcgatatgatcgacttctacgtcggcgactggcacttcgccaccttcaac
+cttgccgatactgccatctgtgtcggtgcggcactgattgtgctggaaggttttttgcct
+tctagagcgaaaaaacaataataaaccctgccggatgcgatgctgacgcatcttatccgg
+cctacagattgctgcgaaatcgtaggccggataaggcgtttacgccgcatccggcaaaaa
+tccttaaatataagagcaaacctgcatgtctgaatctgtacagagcaatagcgccgtcct
+ggtgcacttcacgctaaaactcgacgatggcaccaccgccgagtctacccgcaacaacgg
+taaaccggcgctgttccgcctgggtgatgcttctctttctgaagggctggagcaacacct
+gttggggctgaaagtgggcgataaaaccaccttctcgttggagccagatgcggcgtttgg
+cgtgccgtcaccggacctgattcagtacttctcccgccgtgaatttatggatgcaggcga
+gccagaaattggcgcaatcatgctttttaccgcaatggatggcagtgagatgcctggcgt
+gatccgcgaaattaacggcgactccattaccgttgatttcaaccatccgctggccgggca
+gaccgttcattttgatattgaagtgctggaaatcgatccggcactggaggcgtaacatgc
+agatcctgttggccaacccgcgtggtttttgtgccggggtagaccgcgctatcagcattg
+ttgaaaacgcgctggccatttacggcgcaccgatatatgtccgtcacgaagtggtacata
+accgctatgtggtcgatagcttgcgtgagcgtggggctatctttattgagcagattagcg
+aagtaccggacggcgcgatcctgattttctccgcacacggtgtttctcaggcggtacgta
+acgaagcaaaaagtcgcgatttgacggtgtttgatgccacctgtccgctggtgaccaaag
+tgcatatggaagtcgcccgcgccagtcgccgtggcgaagaatctattctcatcggtcacg
+ccgggcacccggaagtggaagggacaatgggccagtacagtaacccggaagggggaatgt
+atctggtcgaatcgccggacgatgtgtggaaactgacggtcaaaaacgaagagaagctct
+cctttatgacccagaccacgctgtcggtggatgacacgtctgatgtgatcgacgcgctgc
+gtaaacgcttcccgaaaattgtcggtccgcgcaaagatgacatctgctacgccacgacta
+accgtcaggaagcggtacgcgccctggcagaacaggcggaagttgtgttggtggtcggtt
+cgaaaaactcctccaactccaaccgtctggcggagctggcccagcgtatgggcaaacgcg
+cgtttttgattgacgatgcgaaagacatccaggaagagtgggtgaaagaggttaaatgcg
+tcggcgtgactgcgggcgcatcggctccggatattctggtgcagaatgtggtggcacgtt
+tgcagcagctgggcggtggtgaagccattccgctggaaggccgtgaagaaaacattgttt
+tcgaagtgccgaaagagctgcgtgtcgatattcgtgaagtcgattaagtcattagcagcc
+taagttatgcgaaaatgccggtcttgttaccggcattttttatggagaaaacatgcgttt
+acctatcttcctcgatactgaccccggcattgacgatgccgtcgccattgccgccgcgat
+ttttgcacccgaactcgacctgcaactgatgaccaccgtcgcgggtaatgtctcggttga
+gaaaactacccgcaatgccctgcaactgctgcatttctggaatgcggagattccgctcgc
+ccaaggggccgctgtgccactggtacgcgcaccgcgtgatgcggcatctgtgcacggcga
+atcgggaatggctggctacgactttgttgagcacaaccgaaagccgctcgggataccggc
+gtttctggcgattcgggatgccctgatgcgtgcaccagagcctgttaccctggtggccat
+cggcccgttaaccaatattgcgctgttactttcacaatgcccggaatgcaagccgtatat
+tcgccgtctggtgatcatgggtggttctgccggacgcggcaactgtacgccaaacgccga
+gtttaatattgctgccgatccagaagctgctgcctgtgtcttccgcagtggtattgaaat
+cgtcatgtgcggtttggatgtcaccaatcaggcaatattaactcctgactatctctctac
+actgccgcagttaaaccgtaccgggaaaatgcttcacgccctgtttagccactaccgtag
+cggcagtatgcaaagcggcttgcgaatgcacgatctctgcgccatcgcctggctggtgcg
+cccggacctgttcactctcaaaccctgttttgtggcagtggaaactcagggcgaatttac
+ctcaggcacgacggtggttgatatcgacggttgcctgggcaagccagccaatgtacaggt
+ggcattggatctggatgtgaaaggcttccagcagtgggtggctgaggtgctggctctggc
+gtcgtaacctgtcacatgttattggcatgcagtcattcatcgactcatgcctttcactga
+tatccctccctgtttatcattaatttctaattatcagcgtttttggctggcggcgtagcg
+atgcgctggttactctgaaaacggtctatgcaaattaacaaaagagaatagctatgcatg
+atgcaaacatccgcgttgccatcgcgggagccggggggcgtatgggccgccagttgattc
+aggcggcgctggcattagagggcgtgcagttgggcgctgcgctggagcgtgaaggatctt
+ctttactgggcagcgacgccggtgagctggccggagccgggaaaacaggcgttaccgtgc
+aaagcagcctcgatgcggtaaaagatgattttgatgtgtttatcgattttacccgtccgg
+aaggtacgctgaaccatctcgctttttgtcgccagcatggcaaagggatggtgatcggca
+ctacggggtttgacgaagccggtaaacaagcaattcgtgacgccgctgccgatattgcga
+ttgtctttgctgccaattttagcgttggcgttaacgtcatgcttaagctgctggagaaag
+cagccaaagtgatgggtgactacaccgatatcgaaattattgaagcacatcatagacata
+aagttgatgcgccgtcaggcaccgcactggcaatgggagaggcgatcgcccacgcccttg
+ataaagatctgaaagattgcgcggtctacagtcgtgaaggccacaccggtgaacgtgtgc
+ctggcaccattggttttgccaccgtgcgtgcaggtgacatcgttggtgaacataccgcga
+tgtttgccgatattggcgagcgtctggagatcacccataaggcgtccagccgtatgacat
+ttgctaacggcgcggtaagatcggctttgtggttgagtggtaaggaaagcggtctttttg
+atatgcgagatgtacttgatctcaataatttgtaaccacaaaatatttgttatggtgcaa
+aaataacacatttaatttattgattataaagggctttaatttttggcccttttatttttg
+gtgttatgtttttaaattgtctataagtgccaaaaattacatgttttgtcttctgttttt
+gttgttttaatgtaaattttgaccatttggtccacttttttctgctcgtttttatttcat
+gcaatcttcttgctgcgcaagcgttttccagaacaggttagatgatctttttgtcgctta
+atgcctgtaaaacatgcatgagccacaaaataatataaaaaatcccgccattaagttgac
+ttttagcgcccatatctccagaatgccgccgtttgccagaaattcgtcggtaagcagatt
+tgcattgatttacgtcatcattgtgaattaatatgcaaataaagtgagtgaatattctct
+ggagggtgttttgattaagtcagcgctattggttctggaagacggaacccagtttcacgg
+tcgggccataggggcaacaggttcggcggttggggaagtcgttttcaatacttcaatgac
+cggttatcaagaaatcctcactgatccttcctattctcgtcaaatcgttactcttactta
+tccccatattggcaatgtcggcaccaatgacgccgatgaagaatcttctcaggtacatgc
+acaaggtctggtgattcgcgacctgccgctgattgccagcaacttccgtaataccgaaga
+cctctcttcttacctgaaacgccataacatcgtggcgattgccgatatcgatacccgtaa
+gctgacgcgtttactgcgcgagaaaggcgcacagaatggctgcattatcgcgggcgataa
+cccggatgcggcgctggcgttagaaaaagcccgcgcgttcccaggtctgaatggcatgga
+tctggcaaaagaagtgaccaccgcagaagcctatagctggacacaagggagctggacgtt
+gaccggtggcctgccagaagcgaaaaaagaagacgagctgccgttccacgtcgtggctta
+tgattttggtgccaagcgcaacatcctgcggatgctggtggatagaggctgtcgcctgac
+catcgttccggcgcaaacttctgcggaagatgtgctgaaaatgaatccagacggcatctt
+cctctccaacggtcctggcgacccggccccgtgcgattacgccattaccgccatccagaa
+attcctcgaaaccgatattccggtattcggcatctgtctcggtcatcagctgctggcgct
+ggcgagcggtgcgaagactgtcaaaatgaaatttggtcaccacggcggcaaccatccggt
+taaagatgtggagaaaaacgtggtaatgatcaccgcccagaaccacggttttgcggtgga
+cgaagcaacattacctgcaaacctgcgtgtcacgcataaatccctgttcgacggtacgtt
+acagggcattcatcgcaccgataaaccggcattcagcttccaggggcaccctgaagccag
+ccctggtccacacgacgccgcgccgttgttcgaccactttatcgagttaattgagcagta
+ccgtaaaaccgctaagtaatcaggagtaaaagagccatgccaaaacgtacagatataaaa
+agtatcctgattctgggtgcgggcccgattgttatcggtcaggcgtgtgagtttgactac
+tctggcgcgcaagcgtgtaaagccctgcgtgaagagggttaccgcgtcattctggtgaac
+tccaacccggcgaccatcatgaccgacccggaaatggctgatgcaacctacatcgagccg
+attcactgggaagttgtacgcaagattattgaaaaagagcgcccggacgcggtgctgcca
+acgatgggcggtcagacggcgctgaactgcgcgctggagctggaacgtcagggcgtgttg
+gaagagttcggtgtcaccatgattggtgccactgccgatgcgattgataaagcagaagac
+cgccgtcgtttcgacgtagcgatgaagaaaattggtctggaaaccgcgcgttccggtatc
+gcacacacgatggaagaagcgctggcggttgccgctgacgtgggcttcccgtgcattatt
+cgcccatcctttaccatgggcggtagcggcggcggtatcgcttataaccgtgaagagttt
+gaagaaatttgcgcccgcggtctggatctctctccgaccaaagagttgctgattgatgag
+tcgctgatcggctggaaagagtacgagatggaagtggtgcgtgataaaaacgacaactgc
+atcatcgtctgctctatcgaaaacttcgatgcgatgggcatccacaccggtgactccatc
+actgtcgcgccagcccaaacgctgaccgacaaagaatatcaaatcatgcgtaacgcctcg
+atggcggtgctgcgtgaaatcggcgttgaaaccggtggttccaacgttcagtttgcggtg
+aacccgaaaaacggtcgtctgattgttatcgaaatgaacccacgcgtgtcccgttcttcg
+gcgctggcgtcgaaagcgaccggtttcccgattgctaaagtggcggcgaaactggcggtg
+ggttacaccctcgacgaactgatgaacgacatcactggcggacgtactccggcctccttc
+gagccgtccatcgactatgtggttactaaaattcctcgcttcaacttcgaaaaattcgcc
+ggtgctaacgaccgtctgaccactcagatgaaatcggttggcgaagtgatggcgattggt
+cgcacgcagcaggaatccctgcaaaaagcgctgcgcggcctggaagtcggtgcgactgga
+ttcgacccgaaagtgagcctggatgacccggaagcgttaaccaaaatccgtcgcgaactg
+aaagacgcaggcgcagatcgtatctggtacatcgccgatgcgttccgtgcgggcctgtct
+gtggacggcgtcttcaacctgaccaacattgaccgctggttcctggtacagattgaagag
+ctggtgcgtctggaagagaaagtggcggaagtgggcatcactggcctgaacgctgacttc
+ctgcgccagctgaaacgcaaaggctttgccgatgcgcgcttggcaaaactggcgggcgta
+cgcgaagcggaaatccgtaagctgcgtgaccagtatgacctgcacccggtttataagcgc
+gtggatacctgtgcggcagagttcgccaccgacaccgcttacatgtactccacttatgaa
+gaagagtgcgaagcgaatccgtctaccgaccgtgaaaaaatcatggtgcttggcggcggc
+ccgaaccgtatcggtcagggtatcgaattcgactactgttgcgtacacgcctcgctggcg
+ctgcgcgaagacggttacgaaaccattatggttaactgtaacccggaaaccgtctccacc
+gactacgacacttccgaccgcctctacttcgagccggtaactctggaagatgtgctggaa
+atcgtgcgtatcgagaagccgaaaggcgttatcgtccagtacggcggtcagaccccgctg
+aaactggcgcgcgcgctggaagctgctggcgtaccggttatcggcaccagcccggatgct
+atcgaccgtgcagaagaccgtgaacgcttccagcatgcggttgagcgtctgaaactgaaa
+caaccggcgaacgccaccgttaccgctattgaaatggcggtagagaaggcgaaagagatt
+ggctacccgctggtggtacgtccgtcttacgttctcggcggtcgggcgatggaaatcgtc
+tatgacgaagctgacctgcgtcgctacttccagacggcggtcagcgtgtctaacgatgcg
+ccagtgttgctggaccacttcctcgatgacgcggtagaagttgacgtggatgccatctgc
+gacggcgaaatggtgctgattggcggcatcatggagcatattgagcaggcgggcgtgcac
+tccggtgactccgcatgttctctgccagcctacaccttaagtcaggaaattcaggatgtg
+atgcgccagcaggtgcagaaactggccttcgaattgcaggtgcgcggcctgatgaacgtg
+cagtttgcggtgaaaaacaacgaagtctacctgattgaagttaacccgcgtgcggcgcgt
+accgttccgttcgtctccaaagccaccggcgtaccgctggcaaaagtggcggcgcgcgtg
+atggctggcaaatcgctggctgagcagggcgtaaccaaagaagttatcccgccgtactac
+tcggtgaaagaagtggtgctgccgttcaataaattcccgggcgttgacccgctgttaggg
+ccagaaatgcgctctaccggggaagtcatgggcgtgggccgcaccttcgctgaagcgttt
+gccaaagcgcagctgggcagcaactccaccatgaagaaacacggtcgtgcgctgctttcc
+gtgcgcgaaggcgataaagaacgcgtggtggacctggcggcaaaactgctgaaacagggc
+ttcgagctggatgcgacccacggcacggcgattgtgctgggcgaagcaggtatcaacccg
+cgtctggtaaacaaggtgcatgaaggccgtccgcacattcaggaccgtatcaagaatggc
+gaatatacctacatcatcaacaccacctcaggccgtcgtgcgattgaagactcccgcgtg
+attcgtcgcagtgcgctgcaatataaagtgcattacgacaccaccctgaacggcggcttt
+gccaccgcgatggcgctgaatgccgatgcgactgaaaaagtaatttcggtgcaggaaatg
+cacgcacagatcaaataatagcgtgtcatggcagatatttttcatccgctaatttgatcg
+aataactaatacggttctctgatgaggaccgtttttttttgcccattaagtaaatctttt
+ggggaatcgatatttttgatgacataagcaggatttagctcacacttatcgacggtgaag
+ttgcatactatcgatatatccacaattttaatatggccttgtttaattgcttcaaaacga
+gtcatagccagacttttaatttgtgaaactggagttcgtatgtgtgaaggatatgttgaa
+aaaccactctacttgttaatcgccgaatggatgatggctgaaaatcggtgggtgatagca
+agagagatctctattcatttcgatattgaacacagcaaggcggttaataccctgacttat
+attctgtcggaagtcacagaaataagctgcgaagttaagatgatccctaataagctggaa
+gggcggggatgccagtgtcagcgactggttaaagtggtcgatatcgatgagcaaatttac
+gcgcgcctgcgcaataacagtcgggaaaaattagtcggtgtaagaaagacgccgcgtatt
+cctgccgttccgctcacggaacttaaccgcgagcagaagtggcagatgatgttgtcaaag
+agtatgcgtcgttaattttatctcgttgataccgggcgtcctgcttgccagatgcgatgt
+tgtagcatcttatccagcaaccaggtcgcatccggcaagatcaccgtttaggcgtcacat
+ccgtcgtcccctgcaaacgggggcgattttcctccatttgcctcagtggctgcgtttcat
+gtaacgatacatgacagcgcccgacaagatcctgatactctttggtattcaaccgtttcc
+agtgtaactcgtcgtcactaacattgcgtacagcgcgggctggcgtacccatcaacaact
+ggcgtttctcgccgcgaaagcccgctttgacaaagctcatggcggcaacaatgctctctt
+cgccaatgaccgcgccatccataatcacgctgttcatcccgaccaatgcatcgcgaccaa
+tcaaacaaccatgcaggatcgctccgtgcccgatatggccgttttccccaacgatagtgt
+cagtgtcgcagtagccatgcataatgcagccatcctgaatattggctcccgcttgcacga
+tcaaccgcccgtagtcaccacgcagtgaggcgagtgggccgatgtagacaccggctccca
+caatcacatcgccaatcaagacggcactgggatggacaaacgccgtcgggtgaaccaccg
+gaattaacccctcaaaggcgtaatagctcacggttgttaacgtcctttccacaccggatc
+gcgcttctcggcaaacgccagcggcccttcaatggcatcttccgaatgcagaaccgatgg
+atagtgtttcaacacgccgctgcgaatatagcgatacgcttcttctaccggcatttcgct
+ggtggtgcggtagatctctttcagcgccgcaatcgccagcggggcgctgttaaccagctg
+ctgagccagttcgcgggcgttatccatcagttccgcctggctaaccacgcggttgactat
+cccccaacgcagcgcctcttctgcgcccattcgtctgccggtcatcaccatttcattgac
+gatggcaggcggcaggatcttcggcagacgcagcacaccgccgctgtcaggaacgatgcc
+cagtttggcttccggcagggcgaagctggcgttatcggcacaaacaataaaatctgccgc
+cagcgccagttcaaagccgccgccaaaggcatagccgttcacagctgcgataaccggttt
+gtcgagattgaaaatttcggttaatcccgcaaaaccacccggaccaaagtcagcatccgg
+tgcttcgccttctgctgccgcttttaaatcccagcccgcggaaaagaacttctctccggc
+accggtaataatggcgacacgtaattgcggatcgtcacggaaatttagaaatacttcgcc
+catttcaaagctggtttttgcatcaatagcattcgcttttggacgatcaagggtaatttc
+cagaattgatccattgcgggtcagatgtaatgattcactcattccttttctccatttttg
+ctttttcagggacgacaacatccctgcaaaaaatgcatattgttttagagtgtgattatt
+agctggcagggtagttccctgctgtttcatttatttcagattctttctaattattttccc
+cgagcaattacgtggcagatcttttctgatctccagataagagggcactttaaatttcgc
+catattttgttcgcagaagcggaaaaattcctcttcgctcaatgtttcaccttcattcag
+caccacaaatgctttgatggcttcatcgcgaatcgaatctttaatacccacaaccacgat
+gtcctgaattttcgggtgcgcggcgataatattttccagctccacgcaggagacattctc
+gccgccacgtttaatcatattgcagcggcgatcgacgaaataaaaaaagtcctcttcgtc
+gcggtatccggtatcgccggtatgcagccagccatcggcttccagcactttcgcagtggc
+ttgtgggttgagaaagtactctttgaagatggttttcccaggtatgcctttaatgcagat
+ttcaccgatctcaccagccgggagcgggcgattgtgatcgtcgcggatctccgcttcgta
+gcaaaaccccacccgaccaatcgacggccagcgtcgtttatcgccaggacgatcgccgat
+aatgcccacaatggtttccgtcatcccataagacgtcagcaagcgaacgccgaagcgttc
+acaaaacgcatctttttcctgctccgacaagttgagataaaacatcacttcccgcaggcg
+gtgttgctgatcgttcgctgaaggcggctgtaccatcaacgtacggatcatcatcggaat
+acattcggtaacggtggcgcggtacttctgtacctgtccccagaaggcgcgggcgctgta
+tttctcgaccagcacaaaggtggccccggcagaaaacgccgccatcgccgcagtacactg
+gcaatcgatatgaaacgcaggcattaccgtcaggtagacgtcatcgtcacgcagtgcaca
+ctgccaggcggagtaatatccagcgaagcgcaggttgtaatgggtaatcaccacaccttt
+cggtcgggaggtggtgccggaggtgaagagaatttccgccgtatcgtcagtcgatagcgg
+cggtgcatagcacaaggtggcaggttgttgatttttcagttgagtaaacgaactcacgcc
+atcatcagcgggaagtgccacatctgtcaggcaaatgtgccgcaattgagtggcatcttc
+ctgctgaatctgttgatacataggatagaattgcgcactggtcaccagcaggcacgcctg
+gctattttgcaggatccacgcgctttcctcgcacaacaggcgggcgttaatcggcaccat
+aatcgcgccaatttttgccagcccgaaccagcaaaagataaattccgggcagttgtcgag
+atgtagtgcaaccttgtcgcctttgcgaatccccagcgtataaaacaggtttgccgtgcg
+gttaatctcctgatttaactcaagataactataccggttaacgactccgccgctggattc
+acaaatcagcgccgttttatgaccgtaaacgtccgcaagatcgtcccacatttgacgtag
+atgttgtccgccaatgatatccattgcacctctatccatttttgttcgtttgttattggg
+cgggcgctagtcaggcaagccgactgacgccacgcgtttagtcctcaactttggccagac
+ctttgctgaccaactcctgaatgtcgttttcgctgtagccgatatttttcaaaatggcag
+ccgtgtccatgccatgtgagggcattccgcgccagatttgtccggggttatttttgaatt
+tcggcatgatgttcggccctttgcaggtgcgaccatccatcgtttgccactgagtgattg
+attcgcgagccacatactgtggattgctttccagttccggtacggtcagcactttggcgc
+aggcgatattcagttcagcaaagcgttcttttacttccgcgatggtatgtgtcgccagcc
+aggcatcgagtttctcttcaaccagtgggccgtaagggcattcgatacggtggataagct
+gagtgccttccgggatttctggcgtgccaagcagatgtgcgaggccaatatctttaaagc
+actcttcaatttgggtaatgcccaccagttccatcacgatgtagccgtcggcacatttat
+acagaccgcaaccggcgtagtagggatctttacctttgctcatgcgcgggcacatttcgc
+cgccgttgaagtaatccatcatgaagtactggcccatacgcagcatcacttcatacatgg
+cgatgtcgatactttcgcctttaccggtttcacgcactttatgcagtgctgccagcgccg
+ccgtggtggcggtcaggccagaaaagtaatcggcggtatacgggaaggcaggcattggct
+ggtcaacatcaccgttctgaatcaggtaaccactaaaggcctgggcgatagtgttatagg
+ccggaagattggtgtactcctcggtgccgtactgaccaaaaccggacaggtgagcgataa
+ccagtttcgggttgtgctgccacagtacttcatcggtaatgccacgacgggcaaaggccg
+gacctttactggcttcgatgaagatatcggtggtttccattaatttcagaaacgcttcgc
+ggccttcatctttgaaaatatttaacgacagcgcgtgcaaattgcggcgggagagttgcg
+ggtagttcggttgaacgcgaatggtgtcggcccaggcgacgttctcgatccagataactt
+ccgcgccccattctgcgaacatttgcccggcaaacggtccggcgatttcgataccggaga
+agacaacgcgcaatccggccaacggcccgaatttcggcatgggtagatgatccattattt
+gctcctgaaaaatttatgtagcgcatgactgccggatgcggcgtaaacgctttatccggc
+ctacattcgtgctcccgtaggcctgataagacgcatcagcgtcgcatcaggcagcgcacg
+gacttagcggtattgcttcagcaccgcacgacccagcgtcaggatctgcatttcgtcaga
+tcccccggagacgcggtctacacgcagatcacgccagaagcggctgatgcggtggttgcc
+cgcaatcccgacaccgcccagcacctgcattgcgctatccacaacttcaaatgccgcatt
+ggcgcagaagtatttgcacatcgctgcatcgccagaggtgatggtgccgttgtctgcttt
+ccacgctgcttcatacagcatgtttttcatggagtttaatttgatcgccatgtgggcgaa
+tttttcctgaatcaactggaaacgaccaatagcctcgccaaactgcacgcgctgattggc
+gtagcgcgccgcatcttcaaaggcgcacatcgccgtaccgtagttggtgagggctaccag
+gaaacgttcatggtcgaactcttctttgacgcggttaaagccgttaccttcccgaccgaa
+catgtctttctcgtccagttccacgtcgtcaaaggtgatttcacagcagctatccatacg
+cagaccgagcttttcaagtttggtcactttgatgcccggtttgctcatatcaacaaacca
+ttcggtgtagacaggtttgtccggagaagccccgtcgcgcgccatcaccacgatgtacgg
+ggtgtaggcgctgctggtaataaaacacttactaccattaagataaatcttaccatttct
+acgggtataagtcgttttcaggctacccacgtcggagcccgcgcccggttcggtaatcgc
+tgagttccacatctgcttaccggtgccgcggaaagccataattttgtcgatctgctcttg
+tgtgccttcgcgcaggaaggtgttgaacccgcccggcaactggtacagcacataggttgg
+tgcccccagacgtcccagctccatccacacggcggcgagagtaacaaaccccgcgtccag
+accaccgtgctcttcagggatcagcagactgtcgatacccatatccgccagtgctttgac
+aaaacgttccgggtagacgctgtcacggtcgcactcggcaaaataggcctcccagttttc
+gctggccatcagttcgcggataccggcgacaaacagttcctgctcatcatttaaattaaa
+atccatctttcaacctcttgatattttgggggttaattaatctttccagttctgtttcgc
+gtctttaataaaggagagcgtcaccataatgttgacgaagaacagcgggcatcctccggc
+gataatggcggtttgaatcggtttcaggccgccgagcgccagcagaacaataccgataat
+gccaaccagaattgaccaaccgatacgcaccagcagaggtggttcttcaccatcgcgtac
+ttcgcggcaagtggacatcgccagggtataagagcaggcgttaaccagcgtaacggtggc
+aataaagcagaggatgaagaagccccacatggtggcggtgctgagtggcagagcggccca
+ggtttcaatgatggcgcgcgccacaccgtactgttcgatcagatttggaatgttgatgat
+gtttttatctatcaacagcagagtgttactaccgagtacagtccacaggatccaggttga
+cgctgtcagccccagcaccatgccgaagcacagttcacgcacagtacgaccacgggagat
+gcgggcgaggaagatactcatctggatagcataaatcacccaccatgcccagtagaacac
+ggtccagccctgcgggaagccgcctttagcgatgggatcggtatagaacaacatgcgcgg
+cagatacatcagcaacatccccaccgaatcggtgaagtagttcatgatgaagctggcacc
+gctgacaatgaacacccaacccagcatcaggaagctcaggtaactacgcacgtcactggc
+gatacgtacccctttttgcagaccgcaagcgacgcaaatggcgttgaggataatccagca
+ggtaatgatgatagcgtccagttgcagggtatgcggaatgccaaacaaccattgcataca
+ctcggtcaccagcggcgtggcaaggcccagactggtacccatcgcgaagatcaaggcgac
+gagatagaagttgtcgacgatagtgccgaacaaccctttggcgtgtttttcacctaccag
+cggcaccagtgtcgagctggggcgaatcacttccattttgcggacaaagaagaagtaagc
+gaaggcgactgaaaggaagctgtaagtggcccacggcagaggtccccagtggaacaagct
+gtaagccagccccaactctttcgcccctgtcgagttcggttctaagccaaacggcggggt
+ggagatgtagtagtagatctcaatcgatccccagaacagtacggcagcagacgtacagga
+ggcgaacatcataaagatccaactggcggtgctaaattctggcggttcgttacctaaacg
+ctttttggcatacgggccaaacaccagccagaaccaaccgaaaagcatcaccaccatata
+ccattcaaatgcccatccccatacattggtgacgtaactgaatacagcattaataacgac
+attcgctgcatccagatctctgactgtaagccaacaaagtatgccgacgattattaacgg
+cggaaagaaaaccttcggttctattcccgtttttctcttttcattcttcatgagttaatt
+ccactgtgaaaacgaatatttattttgcgttcccgtttgttttatttttgttaacattta
+atataattattattaacctcgtggacgcgttaatggctaactcataatgggtattcaata
+agctgtattctgtgattggtatcacatttttgtttcgggtgaatagagggcgttttttcg
+ttaattttgattaataatcagtttgttatgctctgttgtgagtaaaaaataacatctgac
+tttcaatattggtgatccataaaacaatattgaaaatttctttttgctacgccgtgtttt
+caatattggtgaggaacttaacaatattgaaagttggatttatctgcgtgtgacattttc
+aatattggtgattaaagttttatttcaaaattaaagggcgtgatatctgtaattaacacc
+accgatatgaacgacgtttccttcatgatttctggagatgcaatgaagattattacttgc
+tataagtgcgtgcctgatgaacaggatattgcggtcaataatgctgatggttcattagac
+ttcagcaaagccgatgccaaaataagccaatacgatctcaacgctattgaagcggcttgc
+cagctaaagcaacaggcagcagaggcgcaggtgacagccttaagtgtgggcggtaaagcc
+ctgaccaacgccaaagggcgtaaagatgtgctatcgcgcggcccggatgaactgattgtg
+gtgattgatgaccagttcgagcaggcactgccgcaacaaacggcgagcgcactggctgca
+gccgcccagaaagcaggctttgatctgatcctctgtggcgatggttcttccgacctttat
+gcccagcaggttggtctgctggtgggcgaaatcctcaatattccggcagttaacggcgtc
+agcaaaattatctccctgacggcagataccctcaccgttgagcgcgaactggaagatgaa
+accgaaaccttaagcattccgctgcctgcggttgttgctgtttccactgatatcaactcc
+ccacaaattccttcgatgaaagccattctcggcgcggcgaaaaagcccgtccaggtatgg
+tcggcggcggatattggttttaacgcagaggcagcctggtcagaacaacaggttgccgcg
+ccgaaacagcgcgaacgtcagcgcatcgtgattgaaggcgacggcgaagaacagatcgcc
+gcatttgctgaaaatcttcgcaaagtcatttaattacaggggatgctatgaacacgtttt
+ctcaagtctgggtattcagcgataccccttctcgtctgccggaactgatgaacggtgcgc
+aggctttagctaatcaaatcaacacctttgtcctcaatgatgccgacggcgcacaggcaa
+tccagctcggcgctaatcatgtctggaaattaaacggcaaaccggacgatcggatgatcg
+aagattacgccggtgtcatggctgacactattcgccagcacggcgcagacggcctggtgc
+tgctgccaaacacccgtcgcggcaaattactggcggcaaaactgggttatcgccttaaag
+cggcggtgtctaacgatgccagcaccgtcagcgtacaggacggtaaagcgacagtgaaac
+acatggtttacggtggtctggcgattggcgaagaacgcattgccacgccgtatgcggtac
+tgaccatcagcagcggcacgttcgatgcggctcagccagacgcgtcacgcactggcgaaa
+cgcacaccgtggagtggcaggctccggctgtggcgattacccgcacggcaacccaggcgc
+gccagagcaacagcgtcgatctcgacaaagcccgtctggtggtcagcgtcggtcgcggta
+ttggcagcaaagagaacattgcgctggcagaacagctttgcaaggcgataggtgcggagt
+tggcctgttctcgtccggtggcggaaaacgaaaaatggatggagcacgaacgctatgtcg
+gtatctccaacctgatgctgaaacctgaactgtacctggcggtggggatctccgggcaga
+tccagcacatggttggcgctaacgcgtcgcaaaccattttcgccatcaataaagataaaa
+atgcgccgatcttccagtacgcggattacggcattgttggcgacgccgtgaagatccttc
+cggcgctgaccgcagctttagcgcgttgatccactctggcagggctgcattttggccctg
+ccgctgacagggagctcttatgtccgaagatatctttgacgccatcatcgtcggtgcagg
+gcttgccggttcggttgccgcactggtgctcgcccgcgaaggtgcgcaagtgttagttat
+cgagcgtggcaattccgcaggtgccaagaacgtcaccggcgggcgtctctatgcccacag
+tctggaacacattattcctggtttcgccgactccgcccccgtagaacgcctgatcaccca
+tgaaaaactcgcgtttatgacggaaaagtcagcgatgactatggactactgcaatggtga
+cgaaacctcgccatcccagcgttcttactccgttttgcgcagtaaatttgatgcctggct
+gatggagcaggccgaagaagcgggcgcgcagttaattaccgggatccgcgtcgataacct
+cgtacagcgcgatggcaaagtcgtcggtgtagaagccgatggcgatgtgattgaagcgaa
+aacggtgatccttgctgatggggtgaactccatccttgccgaaaaattggggatggcaaa
+acgcgtcaaaccgacggatgtggcggttggcgtgaaggaactgatcgagttaccgaagtc
+ggttattgaagaccgttttcagttgcagggtaatcagggggcggcttgcctgtttgcggg
+atcacccaccgatggcctgatgggcggcggcttcctttataccaatgaaaacaccctgtc
+gctggggctggtttgtggtttgcatcatctgcatgacgcgaaaaaatcggtgccgcaaat
+gctggaagatttcaaacagcatccggccgttgcaccgctgatcgcgggcggcaagctggt
+ggaatattccgctcacgtagtgccggaagcaggcatcaacatgctgccggagttggttgg
+tgacggcgtattgattgccggtgatgccgccggaatgtgtatgaacctcggttttaccat
+tcgcggtatggatctggcgattgccgccggggaagccgcagcaaaaaccgtgctttcagc
+gatgaaaagcgacgatttcagtaagcaaaaactggcggaatatcgtcagcatcttgagag
+tggtccgctgcgcgatatgcgtatgtaccagaaactaccggcgttccttgataacccacg
+catgtttagcggctacccggagctggcggtgggtgtggcgcgtgacctgttcaccattga
+tggcagcgcgccggaactgatgcgcaagaaaatcctccgccacggcaagaaagtgggctt
+catcaatctaatcaaggatggcatgaaaggagtgaccgttttatgacttctcccgtcaat
+gtggacgtcaaactgggcgtcaataaattcaatgtcgatgaagagcatccgcacattgtt
+gtgaaggccgatgctgataaacaggcgctggagctgctggtgaaagcgtgccccgcaggt
+ctgtacaagaagcaggatgacggcagtgtgcgcttcgattacgccggatgtctggagtgc
+ggcacctgtcgcattctggggctggggtcggcgctggaacagtgggaatacccgcgcggc
+acctttggtgtggagttccgttacggctgatgttggtttgatacgtaacgccgcactgac
+tctcattgcaaaaaacaggaataaccatgcaaccgtccagaaactttgacgatctcaaat
+tctcctctattcaccgccgcattttgctgtggggaagcggtggtccgtttctggatggtt
+atgtactggtaatgattggcgtggcgctggagcaactgacgccggcgctgaaactggacg
+ctgactggattggcttgctgggcgcgggaacgctcgccgggctgttcgttggcacatcgc
+tgtttggttatatttccgataaagtcggacggcgcaaaatgttcctcattgatatcatcg
+ccatcggcgtgatatcggtggcgacgatgtttgtttcatcccccgtcgaactgttggtga
+tgcgggtacttatcggcattgtcatcggtgcagattatcccatcgccacctcaatgatca
+ccgagttctccagtacccgtcagcgggcgttttccatcagctttattgccgcgatgtggt
+atgtcggcgcgacctgtgccgatctggtcggctactggctttatgatgtggaaggcggct
+ggcgctggatgctgggtagcgcggcgatcccctgtttgttgattttgattggtcgattcg
+aactgcctgaatctccccgctggttattacgcaaagggcgagtaaaagagtgcgaagaga
+tgatgatcaaactgtttggcgaaccggtggctttcgatgaagagcagccgcagcaaaccc
+gttttcgcgatctgtttaatcgccgccattttccttttgttctgtttgttgccgccatct
+ggacctgccaggtgatcccaatgttcgccatttacacctttggcccgcaaatcgttggtt
+tgttgggattgggggttggcaaaaacgcggcactagggaatgtggtgattagcctgttct
+ttatgctcggctgtattccgccgatgctgtggttaaacactgccggacggcgtccattgt
+tgattggcagctttgccatgatgacgctggcgctggcggttttggggctaatcccggata
+tggggatctggctggtagtgatggcctttgcggtgtatgcctttttctctggcgggccgg
+gtaatttgcagtggctctatcctaatgaactcttcccgacagatatccgcgcctctgccg
+tgggcgtgattatgtccttaagtcgtattggcaccattgtttcgacctgggcactaccga
+tctttatcaataattacggtatcagtaacacgatgctaatgggggcgggtatctcgctgt
+ttggcttgttgatttccgtagcgtttgccccggagactcgagggatgtcactggcgcaga
+ccagcaatatgacgatccgcgggcagagaatggggtaaattgttcagatttctctctttt
+ctgaatcaatattattgactataagccgcgtgaatatatgactacactttgtgggaaaac
+aaaggcgtaatcacgcgggctacctatgattcttataatttatgcgcatccgtatccgca
+tcattcccatgcgaataaacggatgcttgaacaggcaaggacgctggaaggcgtcgaaat
+tcgctctctttatcaactctatcctgacttcaatatcgatattgccgccgagcaggaggc
+gctgtctcgcgccgatctgatcgtctggcagcatccgatgcagtggtacagcattcctcc
+gctcctcaaactttggatcgataaagttttctcccacggctgggcttacggtcatggcgg
+cacggcgctgcatggcaaacatttgctgtgggcggtgacgaccggcggcggggaaagcca
+ttttgaaattggtgcgcatccgggctttgatgtgctgtcgcagccgctacaggcgacggc
+aatctactgcgggctgaactggctgccaccgtttgccatgcactgcacctttatttgtga
+cgacgaaaccctcgaagggcaggcgcgtcactataagcaacgtctgctggaatggcagga
+ggcccatcatggatagccatacgctgattcaggcgctgatttatctcggttcggcagcgc
+tgattgtacccattgcggtacgtcttggtctgggatcggtacttggctacctgatcgccg
+gctgcattattggcccgtgggggctgcgactggtgaccgatgccgaatctattctgcact
+ttgccgagattggggtggtgctgatgctgtttattatcggcctcgaactcgatccacaaa
+ggctgtggaagctgcgtgcggcagtgttcggctgtggcgcattgcagatggtgatttgcg
+gcggcctgctggggctgttctgcatgttacttgggctgcgctggcaggtcgcggaattga
+tcggcatgacgctggcgctctcctctacggcgattgccatgcaggcgatgaatgaacgca
+atctgatggtgacgcaaatgggtcgcagtgcctttgcggtgctgctgttccaggatatcg
+cggcgatcccgctggtggcgatgattccgctactggcaacgagcagtgcctcgacgacga
+tgggcgcatttgctctctcggcgttaaaagtggcgggtgcgctggtgctggtggtattgc
+tggggcgctatgtcacgcgtccggcgctgcgttttgtagcccgctctggcttgcgggaag
+tgtttagtgccgtggcgttattcctcgtgtttggctttggtttgctgctggaagaggtcg
+gcttgtcgatggcgatgggcgcgtttctggcgggcgtactgctggcaagctcggaatacc
+gtcatgcgctggagagcgatatcgaaccatttaaaggtttgctgttggggctgtttttca
+tcggtgttggcatgtcgatagactttggcacgctgcttgaaaacccattgcgcattgtca
+ttttgctgctcggtttcctcatcatcaaaatcgccatgctgtggctgattgcccgaccgt
+tgcaagtgccaaataaacagcgtcgttggtttgcggtgttgttagggcagggcagtgagt
+ttgcctttgtggtatttggcgcggcgcagatggcgaatgtgctggagccggagtgggcga
+aatcgctgaccctggcggtggcgctgtcgatggcagcaacgccgattctgctggtgatcc
+tcaatcgccttgagcaatcttctactgaggaagcgcgtgaagccgatgagatcgacgaag
+aacagccgcgcgtgattatcgccggattcggtcgttttgggcagattaccggacgtttac
+tgctctccagcggggtgaaaatggtggtactcgatcacgatccggaccatatcgaaacct
+tgcgtaaatttggtatgaaagtgttttatggcgatgccacgcggatggatttactggaat
+ctgccggagcggcgaaagcggaagtgctgattaacgccatcgacgatccgcaaaccaacc
+tgcaactgacagagatggtgaaagaacatttcccgcatttgcagattattgcccgcgccc
+gcgatgtcgaccactacattcgtttgcgtcaggcaggcgttgaaaagccggagcgtgaaa
+ccttcgaaggtgcgctgaaaaccgggcgtctggcactggaaagtttaggtctggggccgt
+atgaagcgcgagaacgtgccgatgtgttccgccgctttaatattcagatggtggaagaga
+tggcaatggttgagaacgacaccaaagcccgcgcggcggtctataaacgcaccagcgcga
+tgttaagtgagatcattaccgaggaccgcgaacatctgtcattaattcaacgacatggct
+ggcagggaaccgaagaaggtaaacataccggcaacatggcggatgaaccggaaacgaaac
+cctcatcctaataaagagtgacgtaaatcacactttacagctaactgtttgtttttgttt
+cattgtaatgcggcgagtccagggagagagcgtggactcgccagcagaatataaaatttt
+cctcaacatcatcctcgcaccagtcgacgacggtttacgctttacgtatagtggcgacaa
+ttttttttatcgggaaatctcaatgatcagtctgattgcggcgttagcggtagatcgcgt
+tatcggcatggaaaacgccatgccgtggaacctgcctgccgatctcgcctggtttaaacg
+caacaccttaaataaacccgtgattatgggccgccatacctgggaatcaatcggtcgtcc
+gttgccaggacgcaaaaatattatcctcagcagtcaaccgggtacggacgatcgcgtaac
+gtgggtgaagtcggtggatgaagccatcgcggcgtgtggtgacgtaccagaaatcatggt
+gattggcggcggtcgcgtttatgaacagttcttgccaaaagcgcaaaaactgtatctgac
+gcatatcgacgcagaagtggaaggcgacacccatttcccggattacgagccggatgactg
+ggaatcggtattcagcgaattccacgatgctgatgcgcagaactctcacagctattgctt
+tgagattctggagcggcggtaattttgtatagaatttacggctagcgccggatgcgacgc
+cggtcgcgtcttatccggccttcctatatcaggctgtgtttaagacgccgccgcttcgcc
+caaatccttatgccggttcgacggctggacaaaatactgtttatcttcccagcgcaggca
+ggttaatgtaccaccccagcagcagccggtatccagcgcgtatataccttccggcgtacc
+tttgccctccagcgatgcccagtgaccaaaggcgatgctgtattcttcagcgacagggcc
+aggaatcgcaaaccacggtttcagtggggcaggggcctcttccggcgattctttgctgta
+catatccagttgaccgttcgggaagcaaaaacgcatacgggtaaaagcgttggtgataaa
+acgcagtcttcccagcccccgcaattccggtgaccagttatttggcatatcgccgtacat
+ggcatcaagaaagaagggataggagtcactcgatagcaccgcttctacatcgcgtgcgca
+ctctttggcggtctgcagatcccactgcggcgtgatccctgcgtgggccatcaccagctt
+tttctcttcgtcgatttgcagcagaggctggcgccgcagccagttaagcagctcgtcggc
+atccggcgcttccagcagcggtgtcaggcgatctttcggtttattgcggctgatcccggc
+aaataccgccagcagatgcagatcgtgattgcccagcaccagacgtacgctgtcgcctaa
+ggatttcacatagcgcagaacatccagcgaacccggcccgcgcgcgaccagatcgcccgt
+cagccagagggtatctttcccaggggtaaattctactttatgcagcaatgcgatcagttc
+atcgtaacaaccatgaacgtcgccaataaggtatgtcgccatattcttttaatgaatgag
+tgtgggaacggcgagtcggaatacgggaatgtcgatgctgaaagggacgccattttcatc
+gatcatttcgtagtgaccctgcatggtgcccagcggggtttcaatgattgcaccgctggt
+gtactggtactcttcgccaggcgcgataagtggctggacgccaaccactccttcgccctg
+gacttcggtttcacggccattgccattggtgatcagccagtaacgccccaacaactgcac
+tggcgctcgccccagattgcgtatggttacggtataagcaaaaacgtaacgttcattatc
+aggtgaagattgagcctcaatgtagacgctttgaacctgaatacacactcggggcgaatt
+gatcatcgttaactctcctgcaaaggcgcgttctccgccagatagttcgccatctggcaa
+tattgcgcgacagagatattttccgctcgcatcgccgggtcgatccccattcccgttaac
+acctcgacgctaaacaggttgccgaggctgttacgaatggttttacgacgctggttaaag
+gcttcggtggtgatgcggctcaacacacgaacatctttaaccgggtgaggcatcgttgca
+tgaggaaccaggcgcacgacggcggaatccactttgggtggtggtgtaaaggctgacggc
+ggtacttccagtaccgggatcacattgcaatagtattgcgccatgacgcttaatcgacca
+tacgctttgctgttcggtcctgcaaccagacgattcaccacctctttttgcaacataaag
+tgcatgtcggcaatggcatcagtatagctaaacagatggaacatcaacggcgtggagatg
+ttataaggcaggttgccgaaaacacgcagcggctgacccattttctcggccagttcacca
+aagttaaaggtcatcgcatcctgctgataaatcgtcagtttcgggcctaagaatggatgc
+gtttgcagacgtgccgccagatcgcggtcaagttcgatgaccgtcagctggtccagacgt
+tcgccgaccggttcggtcaatgccgccagaccggggccgatttcgaccatcgcctggccc
+ttttgcgggttaatggcagacacaatactgtcgatcacgaactgatcgttgagaaagttt
+tgcccgaagcgtttacgggctaagtggccctggtggactcgattattcattgggtgttaa
+caatcattttgatggcgagattaagcgccgtaataaaactgccgacatcggctttgccac
+gtcccgccagttcaagcgcggtgccgtggtccactgatgtgcgaataaagggcaggccca
+gcgtaatgttcacaccgcgcccgaagccctggtattttagcacgggaagaccctgatcgt
+ggtacatcgccagcacggcgtcggcgttatcaagatatttcggctgaaacagggtatcgg
+caggcagcggcccgttgagtttcatcccctgcgcccgcagctcattgagcaccggaataa
+tggtgtctatctcttccgtacccatatgaccgccttcgcccgcgtgcggattcagcccgc
+agaccagaatgcgcggttcggcaataccaaatttggtccgcaaatcgtgatgcaaaatag
+caatcacttcgtgcaaaagtgcaggggtgatagcgtctgcgatatcgcgcagcggtaaat
+gcgtcgttgccagcgccacgcgaagttcttcggtcgccagcatcatcaccacctttttcg
+cctgcgaacgctcttcgaaaaactcggtatgaccggtaaaaggaatgccagcgtcgttaa
+taacgcctttatgcaccggacctgtgatcagcgcggcaaattcgccgttcagacaaccat
+cgcacgctcgcgccagcgtttccaccacataatgcccattttcaaccgctaactgccccg
+cagtgacaggtgcacgtagcgcgacaggaagtagcgttaatgtgcccgcagtttgcggtt
+gtgcaggggagttgggggaataagggcggagggtgagcggcaaaccgagcatcgctgccc
+ggttggtaaggagagtggcatcggcacaaacaaccagttcgaccggccactcacgctgtg
+caagctggacaactaagtccgggccaatcccggcgggctcgccgggagtgatcacaacac
+gttgggttttaaccattagttgctcaggattttaacgtaggcgctggcacgttgttcctg
+catccagcttgctgcttcttccgagaacttacggttcatcagcatgcggtatgcacgatc
+tttctgcgcagcgtcggttttatcgacattacgggtatccagcagttcgattaaatgcca
+gccgaatgaagagtgaaccggtgcactcatttgacctttgttcaggcgagtcagggcgtc
+acggaaggccggatcgaaaatatctggtgtagcccagccgagatcgccgccctggttagc
+agagcctggatcctgagagaactctttcgctgcggcagcaaaagtcgttttaccactctt
+gatatcagcagcaatctgttccagtttcacacgggcctgttcgtcagtcatgatcggcga
+cggtttcagcagaatatggcgagcatgaacttcggtcaccgagatatttttgctttcgcc
+gcgcaggtcgttaactttcagaatatggaagccaacgccggaacgaatcgggccaacaat
+gtcgcctttcttcgcggtgcttaatgcctgggcgaagatcccgggcaactcctgaatacg
+gccccagcccatctggccgccgttcagcgcctgctggtcggcagaatgagcaatcgccag
+cttaccgaaatcagcgccgttacgcgcctgatcgacaatggcgcgcgcctggctttccgc
+ttcgttcacctgatcagaggtcgggttttccggcagcgggatcaggatgtggctcaggtt
+cagctcagtgctggcgtcgttttggttacccacctgctgcgccagggattcgacttcctg
+cggcaggatggtgatgcgacgacgcacctcgttgttacgcacttcagagataatcatctc
+tttgcggatctggttacgataggtgttgtagttcagtccatcgtaagccagacggctgcg
+catctgatccagcgtcatgttgttctgtttcgcgatgttagcaatcgcctgatccagctg
+ctcatcggagattttcactcccattttctgccccatctgcaggatgatttgatccatgat
+caaacgttccatgatttggtggcgcagcgtcgcgtcatcaggaagttgctgccttgcctg
+agcagcgttcagttttaccgactgcattaatccatcaacgtcgctttccagcacgacgcc
+gttattgacgacggctgcgactttatcgactacctggggggcagcgaaactggtattcgc
+gatcatggcgataccgagaagcagcgttttccagttcttcatactttttccatttcaatt
+aaccgcactgcggattacgtggtaaatcaacaaatcacaaagtgttttgatacggcagaa
+tgttcgaacgcagcatctcttgcgtacccagaccgtagttggagctcaggccgcgaagtt
+cgatgttaaagccgattgcgttgtcatataccgcatgttgtttatcgttatcccaaccgt
+tcagcttccgctcgtaaccgacgcgaattgcatagcagcaggagctgtattgcacaccta
+acatagagtcggcttgcttgttagcattggtgtcgtagtagtaggccccaacaatggacc
+aacgatcggcaattggccagctggcgacagcacctacctgcgaaataccattcttatatt
+gctcagcagtggaatagtacttaggcagcgtagcctgaatatattccgggctggcgtaac
+ggtaattcagctgtaccagacggtcttcatcccgacggtattcaatgctggagttactgg
+tcgctacgttatccagacgtgtatcgtactgaatcccgccacgcaatccccaacgctcgg
+agatacgccagtaagtatcgcctgcccacaccagtgaacccgttttgtcgtcattctccc
+atgttatgttgtcatcgccagtgcgagactccgtgaaatagtagatttgaccaacggaaa
+tattaaaacgttcaacggcagcatcatcatatatgcgagatgtgacaccggtcgtcacct
+ggttagcggaggcaatacggtcaagaccgccgtaagtccggtcccggaacaggccagagt
+agtcagattgcagcagagacgagtcgtagttatagatgtcgctctgatcgcgatacggca
+cgtacaaatactgcgcgcgcggttccagcgtttgggtataacccggagccagcatttcca
+tatcgcgttcaaagaccattttgccgtcaactttgaattgcggcattacgcggttaacgg
+attcgtccagcttggtcgtgtttctggagttataccagtcaagattggtttgctgataat
+gggttgccagcaacttcgcttcggtattgatgctgccccagttattagagagcggcaaat
+tgatggtcggttccaggtgaacacgggttgcttcaggcatgtcgtctctggtgttaacaa
+agtgcactgcctggccgtaaatacgcgtatcaaacggaccaacatcattctggtagtaat
+taacgtctaactgcggctctgccgagtagctactggtgttctgttcgctgaaaacctgga
+actgcttggttgaaacggtggcattgaagttttgcaccgcatagccaacgctgaattttt
+gcgttgcgtagccgtcagtactggaaccgtacttgttatcgaaatcattgaagtagctag
+gatcgctgaccttggtgtagtcgacgttgaaacgccacacctgatccatgaccccggagt
+ggttccagtagaataaccaacgacgtgaactgtcatcgttcgggtgttcatcttcataga
+ctttatctgaaggcagatagtccagttccatcaagccagcgcccgcctgggagaggtagc
+ggaattcgttctcccacatgatgttgccacgacgatgcatataatgcggcgtgatggtgg
+catccatatttggcgcgatgttccagtaatatggcaggtagaactcaaagtagttggtgg
+tggtgtacttggcgttcgggatcaagaaaccagagcgacgtttgtcacccaccggcaact
+gcaaataggggctataaaagatcggtaccggacccaccttaaagcgggcgttccagatct
+ccgcaacttgttcttcgcggtcatgaataatttcgctacctaccacgctccaggtgtcag
+aacccggcagacaggaggtaaagctaccgttatccagaatggtatagcggttttcgccac
+gttgtttcatcaggtccgctttaccgcgaccctggcgacccaccatctggtaatcacctt
+cccagacgttggtatctttggtgttcagattcgcccagcctttcggccctttgaggatca
+cctggttatcgtcgtaatggacattaccgagcgcatcaacggtacgtaccggctccggtt
+gtcctggtgcctctttttgatggagctgcacttcgtcggcctgcagacggctgttaccct
+gcatgatatccacgctgccagtaaacacggcgtcatccgggtagtcccctttcgcgtggt
+cagcattgatagtcacgggtaagtcattggtatcgccctgtaccagaggacggtcatagc
+ttggcacgcccaacatgcactgtgaggcgaggtcggctgccagtccctgttgactataaa
+gggcggtggcaatcatggtggccaggagagtggggatacgttttttcatacgttgatttt
+attgttccatcatcggtaacgttgcgcgtgacaaacggtcagagactaacgtactcgtca
+tctctacgctagtgttaatcctgtccgaatagcgtcagtggtgttaggcacggcattgaa
+tgacaggtatgataatgcaaattataggcgatgtcccacaattgaccgcagccggaaaac
+ggtaaaagcacctttatattgtgggagatagccctgatatccgtgtgtcgatttggggaa
+tatatgcagtattggggaaaaatcattggcgtggccgtggccttactgatgggcggcggc
+ttttggggcgtagtgttaggcctgttaattggccatatgtttgataaagcccgtagccgt
+aaaatggcgtggttcgccaaccagcgtgagcgtcaggcgctgttttttgccaccactttt
+gaagtgatggggcatttaaccaaatccaaaggtcgcgtcacggaggctgatattcatatc
+gccagccagttgatggaccgaatgaatcttcatggcgcttcccgtactgcggcgcaaaat
+gcgttccgggtgggaaaatcagacaattacccgctgcgcgaaaagatgcgccagtttcgc
+agtgtctgctttggtcgttttgacttaattcgtatgtttctggagatccagattcaggcg
+gcgtttgctgatggttcactgcacccgaatgaacgggcggtgctgtatgtcattgcagaa
+gaattagggatctcccgcgctcagtttgaccagtttttgcgcatgatgcagggcggtgca
+cagtttggcggcggttatcagcagcaaactggcggtggtaactggcagcaagcgcagcgt
+ggcccaacgctggaagatgcctgtaatgtgctgggcgtgaagccgacggatgatgcgacc
+accatcaaacgtgcctaccgtaagctgatgagtgaacaccatcccgataagctggtggcg
+aaaggtttgccgcctgagatgatggagatggcgaagcagaaagcgcaggaaattcagcag
+gcatatgagctgataaagcagcagaaagggtttaaatgaccctgtaaatgatgctgagta
+actgcccacgattaaaggtggccgccctggcggtcacttctttgagaaaaggcgtttact
+cagaatggtggacaggctcaatgcacggtttacgggaggggttctgtaggttttatcgcg
+ttgaccctgcttaaggttgagagctttacgacgagcggaattatatttttacgtcttaaa
+aataaaaaacacatacctgaatgagcgatttttgaaagtatatttattcagaacgcgcat
+catgagtttttaactcaatgcgaggctattaccatgaaagtatcagttccaggcatgccg
+gttacacttttaaatatgagcaagaacgatatttataagatggtgagcggggacaagatg
+gacgtgaagatgaatatctttcaacgcttgtgggagacgttacgccatctgttctggtca
+gataaacagactgaggcttataaacttctgttcaatttcgtgaataaccagactggcaac
+atcaacgcctcagaatactttactggggctatcaacgagaatgagagagaaaagtttatc
+aatagcctggaattattcaataaacttaaaacatgcgcaaaaaatccggatgagttggtc
+gcaaagggcaatatgcgctgggtcgcccagaccttcggggatatcgagttaagtgtcact
+tttttcattgaaaagaataagatatgtactcagacgttgcagctgcataagggccaaggt
+aacttgggcgttgatcttagaaaggcttaccttcccggcgttgacatgagggattgttac
+cttggtaaaaaaacaatgaaaggtagcaatgatatcctttatgagagacctgggtggaat
+gctaacctgggcgtgctaccccggacggtgctaccccggacggtgctaacccggacggtg
+ctaacctggacggtgctaccgtgaacggtgctacctccttatatgatgaggtaattatta
+ttaataaaatcccccccaaaaaaattgatactaaaggagttgctactgaagaagttgcta
+ctaaaaaagtactgctgaacaaattactgacaacgcaattattgaatgagccagaataag
+ctaaggttgaaggggctggaacgccccttcaaccttagcagtagcgtgggatgatttcac
+aattagaaagacctgcatgatgagctagagaagaggctagtgacgcaaggcgtcgtgcag
+gacacggatcaccgagatgggcatcgccaaccagactgctaattagcccatgaataacaa
+tcagaaaggaccataacagacccgttaaaatgaaatataagagacggtcaacgggtgaag
+aaaaagttcaaaaattcgctgtggagcaggaagggaattaccgaatggaaagcgtagcca
+cacgcaacaactgaaagcagtttggcagaaacaaaaaatccccggactcggggatttatg
+tacaagaggcagcccttaggatgagggtataaacgtacaggaaaggttaaaaatccgctg
+gcgctttaaacgtcatactattgccatacgccggatgggtaatcgtcaacatctctgcat
+gtagcaacaaacgtggtgccatcgctctcgcttctggtgatgcataaaaacgatcgccga
+gaatcggatgacccagcgccagcatatgcacacgcaattgatgcgaacgcccggtaatcg
+gttttaacaccactcttgccgtgttatccgccgcatactccaccacttcatattccgtct
+gcgcaggtttacccgtttcgtaacagactttctgtttcgggcggtttggccagtcgcaaa
+tcagcggcagatccaccagaccttctgcgggggatggatgcccccagacgcgggccacat
+actgctttttcggctcgcgctcgcggaactggcgttttaactcccgctccgcggctttgg
+tcagcgccactacaatcacgccgctggtagccatatccagacgatgcaccgattctgcct
+gcggataatcacgctgaatgcgcgtcatcacgctgtctttgtgctcttccagacgacccg
+gcactgacaacaaaccgctcggcttgttgaccaccataatatggtcatcctgatacagga
+taaccaaccagggttcctgcggtggattgtagttttccatccccattttcggctccgtta
+ctgatgcgttacaacgatcaaacgcagggcatccagacgccaacctgcctgatccaggct
+ttccattacctgctgacggttgctctcaatggcggtcagttcgtcgtcacgaatgttcgg
+gttcactgcacgcagagcttccagacgagacagctcggcagacagtttttcgtcggcttc
+gttacgcgctgcatcaatcaatgcacgggcagatttctcgatctgcgcttcacccagttg
+aaggatagcgtgaacatcctgctgcacggcgttaaccagtttgctgccggtgtgacggtt
+aaccgcgttaagctggcggttaaaggtttcaaactctacctgcgccgccaggttgttgcc
+gtttttatccagcagcatacgtaccggcgtcggtggcaggaagcggttgagctgcaactg
+cttcggagcctgggcttcaaccacataaatcagttccaccaacagcgtacctaccggcaa
+cgctttgttttttaacagtgaaatcgtgctgctaccggtatcgccagaaaggatcagatc
+cagaccgttgcggatcagcggatgctcccaggtaataaactgtgcatcttcacgcgccag
+cgccacttcacgatcaaaggtgatggtgatgccatcttccgacaggccagggaagtccgg
+caccagcatatgatcggacggcgtcagcacgatcatgttgtcgccgcgatcgtcctgatt
+gataccgataatatcgaacaggttcatggcgaaggcgatcaggttggtatcgtcatcctg
+ctcttcaatgctttctgccagtgcctgggctttttcgccaccgttggagtggatttccag
+caggcggtcacgaccctgttccagctgtgctttcagcgcttcatgttgctcgcggcagtt
+tttgatcagatcgtcaaagccttcggtttgatccggtgaagccagatagttaatcagatc
+gttgtatacgctatcgtaaatagtgcgtccggtcgggcaggtgtgctcaaatgcatccag
+accttcgtgataccagcgcaccagcaccgactgagcggttttctccagataaggcacatg
+gatctgaatatcgtgcgcctggccgatacgatccagacgaccaatacgctgctccagtag
+atccgggttgaatggcaggtcaaacatcaccatgtggctggcgaactggaagttacgtcc
+ttcagaaccgatttctgagcacagcagtacctgtgcgccggtgtcttcttcggcaaacca
+ggcggcagcgcggtcacgttcgataatcgacataccttcgtggaacaccgcagcgcgaat
+accttcacgttcgcgcagtacctgctccagttgcagcgcagtggcagctttggcgcagat
+caccagcactttctgagagcgatggctggtcaggtagcccatcagccactcaacgcgcgg
+atcgaagttccaccaggtggcgttatcaccttcaaattcctgataaatacgctccgggta
+gagcatatcgcgagcacgatcttccgcacttttacgtgcgcccataatgccggagacttt
+aatagccgtctgatactgcgtcggtagcggcagcttaatggtgtgcagctcgcgtttcgg
+gaatcctttcacaccgttacgcgtgttacggaacagcacgcggctggtgccgtggcgatc
+catcagcatcgaaaccagctcctgacgggcgctctgggcatcttcgctgtcgctgtttgc
+tgcctgcaacagcggctcgatatcctgctcgccgatcatctcgccgagcatgttcagttc
+gtcattgctcagtttgttacctgccagcagcatggcaacggcgtccgcaaccggacgata
+atttttctgctcttcaacgaactgcgcaaaatcgtggaaacggttcgggtccagcagacg
+cagacgggcgaagtggctttccatccccagctgttccggggtcgcggtcagcagcagaac
+gcccggcacgtgctctgccagttgttcaatggcctgatattcacggcttggcgcatcttc
+gctccacaccaggtgatgcgcttcatcgaccaccagcaggtcccattcggcttcacagag
+atgttccaggcgctgtttgctacgacgggcaaaatccagcgagcaaatcaccagctgttc
+ggtgtcaaacgggttgtaagcatcgtgctgagcttcggcataacgctcatcatcaaatag
+cgcaaagcgcaggttgaaacggcgcagcatttctaccagccactgatgctgtaaggtttc
+cgggacgataattagcacacgttcagcagcgccagagagcagttgctgatgcaggatcat
+cccggcttcaatggttttccctaaacccacttcgtcagccagcaggacgcgcggcgcgtg
+gcggcgaccaacatcatgagcgatgttgagctgatgcgggatcaggctggtacgctgacc
+gcgcaggccgctgtacggcatacggaactgttcgctggaatatttacgcgcgcgataacg
+cagcgcaaagcggtccatacggtcaatctgcccggcaaacagacggtcctgcggtttgct
+gaacaccagtttgctatcaaggaaaacttcacgcagggctacgccggactcttcagtatc
+caggcgagtaccgatataggtcagcaagccattttcttcttttacttcttcgacttgcat
+ctgccagccgtcatggctggtaatggtatcaccagggttgaacatcacgcgggtcacggg
+ggaatcactgcgtgcgtacagacggttttcaccagtagatgggaaaagtaaagtgacagt
+tcgcgcatccaccgcgacaacggttccaagtcccaattcgctttctgtatcgctgatcca
+gcgttgaccaagtgtaaaaggcatatgtgttcggctctatatctttaattgcaggcaata
+accacccgctaccgtgcttatgaggtagtggtgttattcaggtccaggaatggaaagggc
+gctatggtactggatggcaaagcattcgtcacgcatcaaaatggtatctggcgaactctt
+ttttttgctcaaaatagcccaagttgcccggtcataagtgtagcaaaattatcctcaata
+aaagggagtattccctccgccacgggttgtagctggcgggtcagatagtgttcgtaatcc
+agtggtgaacgttggtagtccagcggctccgggccgttggtggtccatacgtacttaatg
+gtgccgcgattctgatattgcaaggggcgaccacgcttttggttttcttcatcggcaagg
+cgagcggcgcgtacatgaggcggcacattacgctgatactcgctcagcggacggcgaagg
+cgtttacggtaaaccagtcgcgcatccagttcacccgccatcagtttgtcgatggtttcg
+cgtacatattcctgatatggctcgttgcggaagatgcgcaggtatagctcctgctgaaac
+tgctgggccagcggcgtccagtcggtgcgcacggtttccagccctttaaacaccatccgc
+tgcttgtcgccctcctgaatcagtccggcataacgctttttactgccggtatcggctccg
+cgaatggttggcatcagaaaacggcagaaatgggtttcatactccagttctaatgcgctg
+gtcagccgttgtttttgcagcgtttccgcccaccaggcgttaacgtgctgcaccagtgca
+cgaccgattttcgccgcttcttcttccgaatgtgcgcctttcagccagacaaacgttgag
+tcggtatcgccgtagataacgtcgtagccctgtgcttcaatcaacgctttggtttgccgc
+atgatctgatgaccacgcatggtgatcgacgatgccagccgcggatcgaagaagcggcag
+gcggtggtgccgagcacgccataaaaggcattcatgatgattttcagcgcctgcgacagc
+ggtttgttaccctggcgtttggcttcatcgcgcccgtgccagatgttagtcacaatctcc
+ggcaggcaatgtttttctcgcgagaaccaggcatcgagaaaaccttcggtactgtgctct
+ggatcaggctgcgccatgccttccaccagcccgacgggatcaatcagaaaggtgcggatg
+atcgacgggtacaggcttttatagtccagcaccagcactgaatcataaagccctggccgt
+gaatccatcacgtagccgccagggctggcgtgcggcggcacttcgccgagattaggcgcg
+acataaccagcgcgatgcattcgcggaaaatagagatgaccaaatgccgccaccgaaccg
+ccgtgtcggtccaccggcaggccgttcaccgttgcccgttcgagtaaaaatggcatgatt
+tcagttttgtggaagatctgcgtcaccagctcgcaatctttcaggttataagttgccagc
+gcaggtttatcttcggcgaaacggcggtcaatttcgtccattcgatcccacgggttatcg
+atagattttccttcgcctaatagctcctgagcgacagtttccagcgagaatgaagagaaa
+ttccagaacgcggatttcagcgcctcgataccgtcgataattagccgacctttagcctgg
+gcaaaaaagacgccgtttttaaagccgtgctcgcgccactccagctcgctattatcgcgc
+ccaagacgcagcggaagacggtaacgctcggcatgtttttgcagcattcgcagatcgaac
+tgcaccacgttccaaccgatgatcacatcaggatcgtagttggcaaaccaggcgttgagt
+ttttccagcaactgcgggcggctggcgacgtattccagttcgaaatcaagcgaggaggcg
+tcgccattctccggccccagcatataaacgatgcgctgcccgcagccttccaggccgatg
+cagtacagctcaccgtggcgggtggtttcaatatctatagaaacccacttgagcggcgga
+cgatagtcgggatgcggtttcagacgggcattaacgatagtgccattgtgcatatcaccc
+tcgacccacaccggtgaggtgataaaccgctccatcagatagcgttctggcggacgcaca
+tcggcctcgtagacggtaacgccaccttcacgcaggcgcttttcgtaattcatcaattgg
+cgatgggcgcgacagtaaaggccatacaccggctggcggtgaaaatcctttaacgccagc
+ggtgtcaggcgaaagccttgttcaccctgcaaaatatgctgagcgcggggaacctgatcg
+gcgggaataaacgccacggactcttgcggtgcaagcgtaacctgcaacggcccgttgtcc
+gtcgccagccagaaggagacttctgtcccttgcggggtgtcccgccagtgtcgggttaag
+ataaaacctgcctgcgccacgctgaaaatccatcaaaaaaccaggcttgagtatagcctg
+gtttcgtttgattggctgtggttttatacagtcattactgcccgtaatatgccttcgcgc
+catgcttacgcagatagtgtttatccagcagcgtttgctgcatatccggtaactgcggcg
+ctaactgacggcagaatatccccatataagcgacctcttccagcacgatggcgttatgca
+ccgcatcttcggcatttttgccccatgcaaacgggccgtgggaatggaccagaacgccgg
+gcatttgcgctgcatcgataccctgtttttcaaaggtttctacgatgacgttaccggttt
+cccactcatattcgccgttgatttctgcgtcggtcattttgcgggtgcagggaatggtgc
+cgtagaaatagtcggcgtgggtggtgccggttgctggaatcgactgacccgcctgcgccc
+agatggtggcgtggcgcgagtgcgtatgcacaatgccgccaatggaggggaatgcctgat
+agagcagccggtgagttggcgtgtcggaggagggctttttcgtaccttcaaccacttcac
+cggtttcgatgctaaccacgaccatatcgtcagcggtcatgacgctgtaatcgacgccgg
+aaggtttgatcacaaagacgccgcgctcgcgatcaacggcgctgacgttgccccatgtga
+gcgtgaccaggttgtgttttggcagcgccaggttggcttctaatacctggcgtttgagat
+cttctaacatgttgactccttcgtgccggatgcgctttgcttatccggcctacaaaatcg
+cagcgtgtaggcctgataagacgcgccagcgtcgcatcaggcgttgaatgccggatgcgc
+tttgcttatccggcctacaaaatcgcagcgcgtaggcctgataagacgcgccagcgtcgc
+atcaggcgttgaatgccggatgcgctttgcttatccggcctacaaaatcgcagcgtgtag
+gccagataagacgcgtcagcgtcgcatcaggcgttacataccggatgcggctacttagcg
+acgaaacccgtaatacacttcgttccagcgcagcgcgtctttaaacgctggcaggcgtgt
+gtcgttatcaatcaccgtgatttcaatgtcgtgcatctcggcgaattggcgcatatcgtt
+gaggttcagtgcatggctgaagacggtatggtgcgcgccaccagcgaggatccacgcttc
+ggaagcagttggcagatccggttgcgctttccacagcgcattcgccaccggcagtttcgg
+cagggagtgcggtgttttcaccgtgtcgatgcagttaaccagtagacggtaacgatcgcc
+gagatcaatcaagctggcgacaatcgctgggccggtttgggtattgaagatcaggcgggc
+aggatcgtccttaccaccaataccgagatgctgaacgtcgaggatcggtttctcttctgc
+ggcgatcgacgggcagacttccagcatatgggagccgagcaccaggtcattacctttctc
+gaagtgataggtgtagtcctccataaaggaggtgccgccctgcagaccggttgacatcac
+cttcatgatgcgaagcagggcggcagttttccagtcgccttcgcccgcaaagccgtaacc
+ctgctgcatcagacgctgtacggccagaccaggaagctgtttcagaccgtgcaaatcttc
+aaaggtggtggtgaacgcgtggaagccaccttgttccaggaaacgcttcatccccagctc
+aatacgcgccgcttccagcacgttctgtcgttttttgccgtggatttgtgtggcaggcgt
+catggtgtagcagctttcgtactcatcgaccagcgcgttaacatcgccgtcgctgatgga
+gttcaccacctgcaccagatcgccaaccgcccaggtattgacggagaaaccgaacttgat
+ctgtgcggcaactttatcgccatcggtgaccgccacttcacgcatgttatcgccaaatcg
+gcagactttcagatgacgggtatcctgtttagagaccgcctgacgcatccaggagccgat
+acgctcatgggcttgtttatcctgccagtgaccggtaaccacggcatgttgctgacgcat
+acgcgcgccaatgaagccgaactcgcgaccgccatgtgcagtctggttcaggttcataaa
+gtccatatcgatactgtcccacggcagcgccgcgttgaactgggtgtggaattgcagcaa
+cggtttgttgagcatggtcaggccgttgatccacattttggccggggagaaggtgtgcag
+ccacaccaccagaccagcgcaacgatcgtcgtaattcgcgtcgcggcaaatagcggtgat
+ttcatccggcgtggtgcccagcggtttcaacaccagtttgcagggcagtttcgcttccgt
+attcagcgcattaacgacgtgctcggcatgttgggtgacctgacgcagggtttccgggcc
+atacagatgctggctgccaatgacaaaccacacttcataattatcaaaaatcgtcattat
+cgtgtccttatagagtcgcaacggcctgggcagcctgtgccggggcggaagttggaagat
+agtgttgttcggcgctcatcgcccattgctgatagcggcgataaagctgttcaaagcgtt
+gtgcctgctcgctgcacggttgcagggttttctctaccgcactggccattttttgctgag
+ctgatgggatgtctgcgtgcactttcgcggcgacggcagcaaaaatcgccgcaccgagcg
+cacagcactggtcagaggcaacaatttgcagcgggcgattcagcacgtcgcagcaggcct
+gcataatgacctggtttttccgcgcgatgccgcccagtgccatcacgttattaacggcga
+tcccctgatcggtaaagcactccatgattgcgcgtgcgccaaaggcggtggcagcaatca
+aaccgccgaacagcagcggagcgtcggtagcgaggttaagatcggtaatcacccctttca
+ggcgttggttagcgttcggtgtgcggcggccgttaaaccagtcgagcaccaccggcaggt
+gatccagagacggatttttggcccatgcttcggtcagcgccggaagcagttgtttctggc
+tggcgttgatttgcgttttcagttccggatgctgggcggcaagctgttccagcggccagc
+cgagtacgcgaccaaaccaggcgtagatatcaccaaacgccgattggcctgcttccagac
+cgataaatccaggcaccacgctgccatcaacctgaccgcaaatacctttaactgcccgct
+cgccaacgctctgtttgtcggcaatcagaatgtcgcaggtggaagtaccgataactttta
+ccagtgcgttaggctgtgcgcctgcgccaactgcgcccatatggcagtcaaacgcgccgc
+cggaaatcaccacgctttcaggcaggccgagacgctgcgcccattccgggcataaggtgc
+ccaccggaatatcggcagtccaagtgtcagtgaacagcggggaaggcaaatggcgattga
+ggatcgggtccagctcatcaaagaaactggctggcggcaggccgccccagctttcgtgcc
+acagagatttatgcccggcgctgcaacgtccgcgacgaatatcctgcgggcgggtggtac
+cggaaagcagagctggcacccagtcgcacagctcaatccacgatgcggcagattgcgcca
+cggcgctgtcctggcgagtcacatgcaggatttttgcccagaaccattcgctggaataaa
+taccaccaatgtagcgggagtagtcaacgttgcccggcgcgtggcacaaacgggtaatct
+cttccgcttcttcaaccgcagtgtggtctttccacaatacgaacatcgcgttcgggtttt
+cggcaaactccgggcgcagcgccagcacgtttccgtcggcatcaatcggtgcgggcgtcg
+agccggtactgtcaacgccaatcccgaccacagctgcgcgctgttcgacgctaagctctg
+caagcacggttttcagtgccgcttccattgactcaatgtagtcacgcggatgatgacgga
+actggttattcggggcatcacaaaattgccctttctgccaacggggataccactctacgc
+tggtggcgatctcttcaccggtagcgcagtccaccgccaaagctcgcacagaatcactgc
+caaaatcgaggccaattgcaatcgccatcgtttcactccatccaaaaaaacgggtatgga
+gaaacagtagagagttgcgataaaaagcgtcaggtaggatccgctaatcttatggataaa
+aatgctatggcatagcaaagtgtgacgccgtgcaaataatcaatgtggacttttctgccg
+tgattatagacacttttgttacgcgtttttgtcatggctttggtcccgctttgttacaga
+atgcttttaataagcggggttaccggttgggttagcgagaagagccagtaaaagacgcag
+tgacggcaatgtctgatgcaatatggacaattggtttcttctctgaatggtgggagtatg
+aaaagtatggctgaagcgcaaaatgatcccctgctgccgggatactcgtttaacgcccat
+ctggtggcgggtttaacgccgattgaggccaacggttatctcgatttttttatcgaccga
+ccgctgggaatgaaaggttatattctcaatctcaccattcgcggtcagggggtggtgaaa
+aatcagggacgagaatttgtctgccgaccgggtgatattttgctgttcccgccaggagag
+attcatcactacggtcgtcatccggaggctcgcgaatggtatcaccagtgggtttacttt
+cgtccgcgcgcctactggcatgaatggcttaactggccgtcaatatttgccaatacgggt
+ttctttcgcccggatgaagcgcaccagccgcatttcagcgacctgtttgggcaaatcatt
+aacgccgggcaaggggaagggcgctattcggagctgctggcgataaatctgcttgagcaa
+ttgttactgcggcgcatggaagcgattaacgagtcgctccatccaccgatggataatcgg
+gtacgcgaggcttgtcagtacatcagcgatcacctggcagacagcaattttgatatcgcc
+agcgtcgcacagcatgtttgcttgtcgccgtcgcgtctgtcacatcttttccgccagcag
+ttagggattagcgtcttaagctggcgcgaggaccaacgcattagtcaggcgaagctgctt
+ttgagcactacccggatgcctatcgccaccgtcggtcgcaatgttggttttgacgatcaa
+ctctatttctcgcgagtatttaaaaaatgcaccggggccagcccgagcgagtttcgtgcc
+ggttgtgaagaaaaagtgaatgatgtagccgtcaagttgtcataattggtaacgaatcag
+acaattgacggcttgacggagtagcatagggtttgcagaatccctgcttcgtccatttga
+caggcacattatgcaagcattgctggaacactttattacccaatccaccgtgtattcatt
+gatggcggtggtgttggtggcctttctggagtcgctggcgctggtcggtttgattctacc
+cggtacggtgctgatggcggggctgggagcgctgattggcagcggcgagttaagtttctg
+gcacgcctggctggcagggattattggctgcttgatgggcgactggatttctttctggct
+gggttggcgttttaaaaagccgttgcatcgctggtcatttctgaagaaaaacaaagcact
+acttgataaaactgaacatgcgttgcatcaacacagcatgttcaccattctggtcggtcg
+ttttgttggcccgacgcgtccgctggtgccaatggtggcgggaatgctggatctgccggt
+ggctaaatttattacgccgaatattatcggctgcctgctgtggccgccgttttacttcct
+gccagggattctggcgggcgcggcgatcgatattcctgccggaatgcagagcggtgagtt
+taaatggttgctgctggcaacagcggtgtttttgtgggttggtggctggctgtgctggcg
+gttatggcgcagcggtaaagcgactgaccgtttgagtcattatttgtcccgcggtcgttt
+gttgtggctgacgccgttgatttctgccatcggcgtggtggcgctggtggtgttaattcg
+ccacccgttgatgccggtgtatatcgatattttgcgtaaagtggttggggtttaggagat
+agtcttgtgcgggttgcctgatgcgacgcttgccgcgtcttatcaggcctacaaaacgca
+ctacccgtaggtcggataaggcgttcacgccgcatccgacagtgcatactaacccgtaat
+ccccaatagtgccgaagcactcgccttaccgctcaacaactcattggtcataccctgcca
+ggcgatgcgcccgtcggcgactactaccgagcgcgtggcgatccgcgccgcatcttccac
+gctgtgcgacaccatcaatagcgtcattttttgctgctggcagctcgtgctcaccagcgt
+caacatctcctgacgtaacgccggatcgagcgcagagaacggttcatcgagcaataaaat
+cggctgttcgcgtaccagacaacgcgctaacgccactcgctgtcgctgaccgccggaaag
+ctcgcccggtaaccgcgccattaaattatcaatccccatctggcgggcgatagcgtgcat
+tttcccctgctgtaccgcgttcagtttcaatcccggatttagccccagcccgatgttctg
+tgcgaccgtcaggtggctgaacaggttgttctcctgaaacagcatcgacaccggacggcg
+tgacggcggcatagttgtgtgatctacgccatcgatagtcagcgaaccgctggctggcgt
+cagaaaaccggcgatcaaattcagcagggtacttttacccgcgccgcttggcccgaggat
+cgccacctgctcgccgcgttccaccgttaagctaaaacgcatcggcaaatggtggtaaag
+ccaggtgatatcagtcagttttaacatttcgccccggtagtttttcaatcacggtaaaca
+gcagaaaacagagcagcagcagaattaacgcggtgaccgcaccgtcctggctgcgatagg
+agccaatttgctggtagagataaaacggcagggtgcggaaatcatcgttaccgaacaacg
+ccaccacgccaaaatcaccaatcgacagcacgcatgcaaaggccagcgcctgcgccagtg
+gacgtttcagggcgcgcagctccaccacttttaagcgtgaccagccttcaatccccagcg
+actgacataacatgctgtagcgggcggtgatatcgcgcatcgggttttccagcactttca
+gcgcataagggatcgccattaacgcattggtgaaaatcacaatgccgtcagcagattgtg
+gcaggccgatagtgttgttgagcagtaaaaagaagccggtagccagcacaatccccggca
+tggcgaggatcaacatgccgctcatctccagcacctgacccgccagcattttctgccgcg
+cccgcagttcgcgactgctccatagcagcatcatggtcagcactacgcacaatacacctg
+ccgccagcgcaatacgcaacgaggtccacagcgcctgccacagcaccggttgtgccagca
+cttccggcaactggcgatttaccccatcgacgatcaccgccagtaacggtggcagcaaca
+gcagcagcgccagcacaattaacaccgtgtcgcaaatgcggctatgcagacgatcgtccg
+ggtcgcgccagccttgcagcagcgtggtgccgggcgcaatggccttactcaatcgctgac
+tcaacagcaccagcccgaggcagcacaccatctggagcagcgccagcattgccgcgcggg
+caggatcgtagtcgtaactcagcgcctgatagattgccagctcgatagtggtcgcctgcg
+gaccgccccccagcgatagcacggtggcgaagctggcgaaacagagcataaagataagcg
+cagcaaccggcgggatttgtcgccgtaaccacggccattcgacgaagcggaaaaaatgcc
+agctacgcatcccaagctgggcggcaagttgacgctgttcgccggggatgttttccagtg
+cctggagtaataagcggctcgccatcggcagattaaaaaacacatgggccagcaaaatac
+cttgcaggccgtagggcgaaaaggtccactccagaccgagcgattggcagagtgttgcca
+gccagccctggcgaccatagacgctaagaatgccgaaaacagcgaccaacaccgggagga
+tcaaggtcattgcacacagacgcaacagcgccagccgacccggaaagcgcctgcgataga
+gcgcgcgggcgaggaatatcgcgggtatgacagagagcagtgccgagagaaacgcctgcc
+agaaggagaagcgcaccacatgccacagatagctgtcctgccagactgccacccagtcat
+cctgcggcgcgttccaccacagggcgagaaacgccgccagcgcaaccgctaccaccagcg
+tggtggcgcttacacctggaattaaccagccgggaattaacggctgacggcgcgttgcca
+ttcgctaatccatgcctgacgttgtgccgccacttcggctggcgtgaactccaacgtggt
+tgcgggtttggtcaatttttcaaaaccggcaggcagcgtgacgtttgccaccggatacat
+ccagttgccggttgggatcgcattctggaaagccggagaaaccataaactggaggaattt
+ttgcgccagctccggctgcttgctggcagcggtgcgggcggcgacttccacttgcagata
+gtgaccttcgctgaagttcgcggcggcgtagttatctttcttctcttcgagaatgtgata
+agccggagaggtggtgtaactcagtaccagatcgctttcaccttttaaaaacaggccgta
+ggcttcgctccagcctttggtgaccgtgaccgttttcttcgccagtttctgccaggcttg
+tggggcgtcatcgccatagactttttgcatccatagcaacagacccagccccggtgtact
+ggtgcgcggatcctgataaatcacccgccagttttgatcgctctcaaccagttctttcag
+gctttgtggcgggtttttcagtttgttcttgtcataaacgaaggcgaagtagccataatc
+aaacggtacgaaagtgtcattattccagccgccgggaacgttaacggcatccgctgccac
+accgcttttggcaaacagtccggttttactggcggcgtctaacaggttgttatccagccc
+cagcaccacatcggctttactgtttttgccttccatccgtagacggttgagaagcgaaac
+gccatcttccagcgccaccagtttcagttcgcaattacagtcggcttcaaaggctttttt
+aaccaccggaccaggcccccagtcggcggcgaaggaatcgtaggtataaacagtcagaac
+gggtttagcgaaaacgggcgctgtgcacagcaacagcaggggcagacatttttttaacac
+tttgcacctcaaaaaagagtggcaaaggacttgagaaggagcctcaaatcccttcgccgg
+cgttatccggatcaggttcgacgggtattttctcagcgcacgcgtacgcgtggcaccccg
+ttgagaacggcgttagtgtagtgattttgttatcaaccagcaatcatggatccggtggcg
+caaaccacgctgatttaaaatcgaaccagccgagggtattcatgcgcaggccgcgcatac
+tgcgttgcccctgaatgatcagccagtggtgcaataatggcaccatcgctttgctggcga
+ccagttgctggcaccagttcgccagattcatctcgccattgcgccagcgagcagcgtcgg
+cttgccagtcaatgggaatgcaatgttgtagcagtggcacttcgcataaatgtgcgaaaa
+cagagaagtccagcggcagggtaaagttggcgctgtttagccagatatcactttcgatct
+ctcctgtatgccactgatcgtagtcgatctctttgattttcagcgtgacctggtgacttg
+ccagaatctgctgcatgatcccggcaatcacccgatgctcactgtgatcctgataaaagg
+ttagggtgaggctttccaggccagccggtttttcgctctttatggtgcgggcatggtgcc
+aacgggggagcagtccataagccgggaaccacagttgctggtactgttcctcagcgaaat
+agaccagattagttggagaaagcacatagcttacccagtccctgacttgctgattcgccc
+cgcgatgggtgcggctgtcgaacagtaaatagtagcaaccttcctccaggcggctttcaa
+tctctttttcctcgccctgtggaccttttagcatcagccctccggctggctcgtcggcaa
+tttccggcagaacccagacgttaacttcgtcgattaatgcccggtaaccgaagaagtcat
+cgaatgcctgaattttcagttgattggtgctgttgcgaatcaccgcatacggaccggtgc
+cgatgggatggctggcaaagttactgagggtttcccattcgcgcggcaggatcatcgccg
+gaacttgccccagcagtaacggtaaccagcggtccggttgcgtgagatggatatccagcg
+tccagggcgtcggcgacacaatgtcagcaatatgcgaatagagcggcagcgtattgattc
+gttttaaagaggcgatcacatcgtccatttccagttcacgaccatggtgaaaatggactc
+ctggacgcaaaaagaaacgccagtgaagcggtgaaatttgctgccagtggtgggcgatgt
+ctgcttccagttccccattttcctcatttatgcgcgttagcgaactgaagatttgccggg
+cgatatgggtttcggaacggcgcaatgcgctgccaggtagcagattacgcaacggacgat
+agtagagcacgcgcaggatgtgccgcccctggcggaagctgcggcccagatgagaaacca
+gcatttgccgcacagtcgctttgtcgccaaccaactgcaccagttgatcgatacgatcct
+gctccagcaggtcttccgcccgctgttgctgaagcgccagcccggtatagaggaatgtca
+gacgcgagcgtttaccgcgcccgacttccgcttcccacgtcagccagccgcgatcctgca
+tggtgttgagcagggtgcgcatatgacgacgcgagcagctcaataacgctgccagttcgt
+tgagcgttgtgtcctgcgatttaccctcgcagcattgccacaggcggatgaactgttgtt
+gcagacgagcagatggcataaaaggggaactcctgtgcaaaagacagcaattttattttc
+cctatattaagtcaataattcctaacgatgaagcaagggggtgccccatgcgtcagtttt
+atcagcactattttaccgcgacagcgaagttgtgctggttgcgttggttaagcgtcccac
+aacgattaaccatgcttgaaggactgatgcagtgggatgaccgcaattctgaaagttgac
+ttgcctgcatcatgtgtgactgagtattggtgtaaaatcacccgccagcagattatacct
+gctggttttttttattctcgccgcgctaaaaagggaacgtatgatctggataatgacgat
+ggctcgccgtatgaacggtgtttacgcggcatttatgctggtcgcttttatgatgggggt
+ggccggggcgctacaggctcctacattgagcttatttctgagtcgtgaggttggcgcgca
+acctttctggatcggcctcttttatacggtgaatgctattgctgggatcggcgtaagcct
+ctggttggcaaaacgttctgacagtcagggcgatcggcgaaaactgattatattttgctg
+tttgatggctatcggcaatgcgctattgtttgcatttaatcgtcattatctgacgcttat
+cacctgtggtgtgcttctggcatctctggccaatacggcaatgccacagttatttgctct
+ggcgcgggaatatgcggataactcggcgcgagaagtggtgatgtttagctcggtgatgcg
+tgcgcagctttctctggcatgggttatcggtccaccgttggcctttatgctggcgttgaa
+ttacggctttacggtgatgttttcgattgccgccgggatattcacactcagtctggtatt
+gattgcatttatgcttccgtctgtggcgcgggtagaactgccgtcggaaaatgctttatc
+aatgcaaggtggctggcaggatagtaacgtacggatgttatttgtcgcctcgacgttaat
+gtggacctgcaacaccatgtacattattgatatgccgttgtggatcagtagcgagttagg
+attgccagacaaactggcgggtttcctgatggggacggcagctggactggaaataccagc
+aatgattctggctggctactatgtcaaacgttatggtaagcggcgaatgatggtcatagc
+agtggcggcaggagtactgttttacaccggattgattttctttaatagccgtatggcgtt
+gatgacgctgcaactttttaacgctgtatttatcggcattgttgcgggtattgggatgct
+atggtttcaggatttaatgcctggaagagcgggggcagctaccaccttatttactaacag
+tatttctaccggggtaattctggctggcgttattcagggagcaattgcacaaagttgggg
+gcactttgctgtctactgggtaattgcggttatttctgttgtcgcattatttttaaccgc
+aaaggttaaagacgtttgatgacgtggacgatagcggaaagcccggtcatttgaccgggc
+aaggggattaattcataaacgcaggttgttttgcttcataagcggcaatggcgtcgtcgt
+gctgcaaggtaagcccaatactgtccagaccgttcatcatgcagtggcggcggaaggcat
+cgatggtaaagcgataggttttctctcccgctttcacctcttgcgcttccagatccacgt
+cgaaatggatccccggattagctttcaccagcgcaaacagttcgtccacttctgcatcgc
+ttaatttcaccggcagcagctggttgttaaagctattgccgtagaagatgtcagcaaaac
+tcggcgcaatcaccactttaaaaccgtagtcggtcaatgcccagggcgcgtgctcacgcg
+aagagccacagccgaagttttctcgtgccagcaaaatggaagcgccctgatactgcggga
+agttcagcacgaagtccgggtttggctgttggcctttttcatccagaaaacgccagtcgt
+taaacagatgcgcgccaaaacccgtacgggtcactttctgcaaaaactgtttcgggatga
+ttgcatcggtatcgacattggcggcatccagcggaaccaccaggcctgtgtgtttgataa
+atttctctgccatggtgtgctccttatttaatgttgcgaatgtcggcgaaatgtccggtc
+acagcagcagcggcagccattgccgggctgaccagatgcgtgcgcccgccgcgcccctgg
+cggccttcaaagttacggttgctggtggaggcacaacgttcgcccggattcagacggtcg
+ttgttcatcgccagacacattgagcagccaggcaagcgccattcaaaaccggcttcaata
+aagattttatccagaccttccgcttccgcctgggcttttaccgggccagagccgggaacc
+accagtgcctgcacgcctggcgcgacttttcgccctttggcgatctccgctgccgcgcgt
+aaatcttcaatgcgcgagttggtacaggaaccgataaacactttgtcgatagccacttcg
+gtcagcggaatacccggtttcagccccatataggccagcgctttttctgccgacgcgcgt
+tcaaccggatcggcaaacgaagccggatcgggaatattgtcgttcacggaaatcacctgg
+ccgggattggtgccccaggtgacctgcggtgaaatttcttctgcttgcagagtgacaacg
+gtatcgaaagttgcgccttcgtcggtttgcagggttttccagtaggcaacggcgtcgtcg
+aaatctttgcctttcggcgcatgcagacggcctttgacatagttaaaggtggtttcgtcc
+ggtgcaaccagaccggcttttgcgcccatttcgattgccatattgcacagggtcatacga
+ccttccatgcttaaatcacggattgcttcgccgcaaaactccaccacatgcccggtgccg
+cctgcgctaccggttttaccgataattgccagcacgatatcttttgcggtaatgcccggc
+gcggctttgccctggacttcaattttcatggtttttgcgcggccctgtttcagggtttgc
+gttgccagtacgtgttcaacttcggaagtgccgataccaaaggccagtgcgccaaacgcg
+ccgtgggtggcggtatgcgagtcgccgcagacaatggtcatccccggcaaggtgacgccc
+tgttccggccccattacgtggacgatcccctgatacgggtgattcaggtcatacagttcg
+acgccaaattctttgcagtttttgatcagttcctgcatctggatacgcgccatttcaccg
+caggcattaatgtctttggtctgggtagagacgttgtgatccatggtagcgaaggttttg
+cccggctgacgtaccgggcgaccgtgggcgcgcagaccatcgaacgcctgcggtgaggtc
+acttcatgcaccaggtggcggtcgatatataacagtggggtttcgttttcggcttcgtac
+acaacgtgagcgtcgaacaatttttcgtataacgtcttagccatgattacaccccttctg
+ctacatagcgggcaatgatatcgcccatttcatcggtactaacggcggcagcgccacggg
+ctaaatccccggtgcgaatgccttcttctaatgcgcggttaatggcgcgttcaatggcgc
+aagccgcatcatcggcatccaggctgtaacgcagcagcagtgccagcgaaaggatttgtg
+caatcgggttggcgatgtttttgcctgcgatatctggtgccgagccgcccgccggttcat
+acagtccaaaaccttgctcgttcaggctggcggaaggcaacatccccatcgagccagtga
+tcattgcgcactcgtcagacagaatgtcgccaaacaggttggagcacagcagaacgtcaa
+actgtgatggatctttaatcagctgcatggtggcgttgtcgatgtacatatgcgccagtt
+cgacatccgggtattccgtggcgatctcgttaacgatctcccgccataaaatagaggatt
+gcagcacgttggctttatcgatcgacgtcactttgtggcgacgcttgcgagcagattcaa
+acgcgatgcgggcgatacgttcgatctcaaaacggtgatacacctcggtatcaaaggctt
+tttcatattgtccgctaccttcgcggccttttggctgaccgaaatagatgccgccggtca
+gttcgcgcacacacaggatgtcgaagccgtttgcggcaatgtctgcacgcagcggacaga
+atgcttccagcccctgatacagttttgccgggcgcaggttgctgaataatttgaagtgct
+tacgcagaggcagcagcgcgccgcgttctggttgctggtctggtggtaaatgttcccact
+tcgggccgcctaccgagccaaacagcacggcatcggcttgctcacaaccttcaaccgtcg
+caggcggcagtggttgcccgtggttatcaatggctgcgccgcctacatcgtaatggctgg
+tggtgatgcgcatcgcaaagcggttgcgcacggcatccagcactttcagcgcctgggtca
+tcacttccggaccaataccgtcccccggcaatacggcaatatggtaattcttcgacatca
+cacggtttccttgttgttttcgttgtgttgagctttgcgttgcaactctttttcgacttc
+tgcggcacgccagatattgttcagaacgtgcaccatggctttggcagatgactcgacaat
+atcggtagccaggccgacgccgtggaagcggcgaccgttgtagttagcgacgatatccac
+ctgacccagcgcatctttaccgtggcctttggcggtcaggctgtatttcaccagttcgac
+gttatattcagtgatgcggttaattgcctgatagacggcatcgaccggaccgttaccgtt
+ggcggcttctgctttgacttcttcgccacaggccagtttgacggcggcggtggcgatatc
+gttagagccagactgcacgctgaagtaatccagacggaaatgctccggctcttcttgctg
+cttaccgatgaaggccagcgcctccagatcgtaatcaaacacctgaccttttttgtccgc
+cagcttcaggaaagcatcgtacaaattgtctaaattatattcactttctttataccccat
+ctcatccatgcgatgtttcaccgccgcacgccccgaacgagaggtcagattcagctggat
+ttggttcagaccaatagattctggtgtcatgatttcgtagttttcgcggtttttcagcac
+gccatcctggtgtataccggaggagtgtgcgaatgcgccgctgccaacaatggctttgtt
+tgccgggatcggcatattacaaatctggctaactaactggctggtgcgccatatctcctg
+gtgattaatggcggtgtggacgttgagaatatccttacgaactttgatcgccatgatgac
+ttcttccagggaacagtttccggcacgctcgccgatcccgttcattgcgccttccacctg
+gcgtgcaccggcatgtaccgccgccagtgagtttccgaccgccaggcccaaatcgtcgtg
+ggtatgtacggagataatggctttgtcgatgttaggcacgcgttcatacaggccgctgat
+gattccggcgaactcaaacggcatggtgtagcccacggtgtccggaatgttgatggtggt
+ggcaccggcattaatcgccgcttcgaccactcgcgccagatcggcaatgggtgtacgccc
+ggcatcttcgcaagaaaattcaacatcatcggtgtaattacgggcgcgtttcaccatata
+gatagcgcgttcgatcacctcgtccagcgtgctgcgcagcttggtggcgatgtgcattgg
+cgaagtggcaataaaggtatgaatacggaaggcttcggcgactttcagggattcggccgc
+cacgtcgatatctttttccacgcagcgagctaacgcacatacgcggctgtttttaacctg
+gcgggcgatggtttgcaccgattcaaaatcgcccggcgaagagacggggaaaccgacttc
+catcacgtcaacacccatacgctcaagggccagcgcaatttgcagtttttctttcacact
+caagcttgcctgtaacgcctgttcaccgtcgcgcaatgtggtatcgaaaataatgacttg
+ctggctcatggtttgggtccttgtctcttttagagcgcctcgcttcgggcataaaaaaac
+ccgcgcaatggcgcgggttttttgtttgactgcgtgctggcttaatgctggatgccgctc
+actcgtctaccgcgcaaagaagatgcgtttagtagtagtagaccgataaagcgaacgatg
+tgagtcattaaatcagctccagatgaatgcgatatgcttttagagttactggatacaaaa
+acggatgtcaaccctgacgcaataaaaacgtcccgccagcgtgagttctgcatccgtaaa
+attagctaattgtgctgcggtggttaaagtaagcgatattaatttctgcttaactaccga
+cgcttttcatcggttgacatatttcagcataaatttttgcatctaatcaacgaggaaaaa
+ggggacaaaatgcacgcgttgcaaaacctatcctgatgatttgtattgaattatatgttt
+tgcgattttttttgatattgatttggtgaatattattgatcaattaatgttaagaattaa
+tgcattaaatatataaattaattattaaataagcacatttaatccattttgtagatgatt
+gagtattcgcggtagttatgattagattgttttcgcaacaaaaacattatggattattat
+gctgtggtaaatgactcattccacggcaatggattctgtttttatcagaacccgtatctt
+tatgttttccgaattttactcattttgctttttcttattttatatgcatgataaatcata
+ttcttcaggattatttctctgcattccaataagggaaagggagttaagtgtgacagtgga
+gttaagtatgccagaggtacaaacagatcatccagagacggcggagttaagcaaaccaca
+gctacgcatggtcgatctcaacttattaaccgttttcgatgccgtgatgcaggagcaaaa
+cattactcgtgccgctcatgttctgggaatgtcgcaacctgcggtcagtaacgctgttgc
+acgcctgaaggtgatgtttaatgacgagctttttgttcgttatggccgtggtattcaacc
+gactgctcgcgcatttcaactttttggttcagttcgtcaggcattgcaactagtacaaaa
+tgaattgcctggttcaggttttgaacccgcgagcagtgaacgtgtatttcatctttgtgt
+ttgcagcccgttagacagcattctgacctcgcagatttataatcacattgagcagattgc
+gccaaatatacatgttatgttcaagtcttcattaaatcagaacactgaacatcagctgcg
+ttatcaggaaacggagtttgtgattagttatgaagacttccatcgtcctgaatttaccag
+cgtaccattatttaaagatgaaatggtgctggtagccagcaaaaatcatccaacaattaa
+gggcccgttactgaaacatgatgtttataacgaacaacatgcggcggtttcgctcgatcg
+tttcgcgtcatttagtcaaccttggtatgacacggtagataagcaagccagtatcgcgta
+tcagggcatggcaatgatgagcgtacttagcgtggtgtcgcaaacgcatttggtcgctat
+tgcgccgcgttggctggctgaagagttcgctgaatccttagaattacaggtattaccgct
+gccgttaaaacaaaacagcagaacctgttatctctcctggcatgaagctgccgggcgcga
+taaaggccatcagtggatggaagagcaattagtctcaatttgcaaacgctaactgattgc
+agaataggtcagacatgaatgtctggtttattctgcattttttattgaatgtagaatttt
+attctgaatgtgtgggctctctattttaggattaattaaaaaaatagagaaattgctgta
+agttgtgggattcagccgatttattatcaatttaatcctctgtaatggaggattttatcg
+tttcttttcacctttcctcctgtttattcttattaccccgtgtttatgtctctggctgcc
+aattgcttaagcaagatcggacggttaatgtgttttacacattttttccgtcaaacagtg
+aggcaggccatggagatgttgtctggagccgagatggtcgtccgatcgcttatcgatcag
+ggcgttaaacaagtattcggttatcccggaggcgcagtccttgatatttatgatgcattg
+cataccgtgggtggtattgatcatgtattagttcgtcatgagcaggcggcggtgcatatg
+gccgatggcctggcgcgcgcgaccggggaagtcggcgtcgtgctggtaacgtcgggtcca
+ggggcgaccaatgcgattactggcatcgccaccgcttatatggattccattccattagtt
+gtcctttccgggcaggtagcgacctcgttgataggttacgatgcctttcaggagtgcgac
+atggtggggatttcgcgaccggtggttaaacacagttttctggttaagcaaacggaagac
+attccgcaggtgctgaaaaaggctttctggctggcggcaagtggtcgcccaggaccagta
+gtcgttgatttaccgaaagatattcttaatccggcgaacaaattaccctatgtctggccg
+gagtcggtcagtatgcgttcttacaatcccactactaccggacataaagggcaaattaag
+cgtgctctgcaaacgctggtagcggcaaaaaaaccggttgtctacgtaggcggtggggca
+atcacggcgggctgccatcagcagttgaaagaaacggtggaggcgttgaatctgcccgtt
+gtttgctcattgatggggctgggggcgtttccggcaacgcatcgtcaggcactgggcatg
+ctgggaatgcacggtacctacgaagccaatatgacgatgcataacgcggatgtgattttc
+gccgtcggggtacgatttgatgaccgaacgacgaacaatctggcaaagtactgcccaaat
+gccactgttctgcatatcgatattgatcctacttccatttctaaaaccgtgactgcggat
+atcccgattgtgggggatgctcgccaggtcctcgaacaaatgcttgaactcttgtcgcaa
+gaatccgcccatcaaccactggatgagatccgcgactggtggcagcaaattgaacagtgg
+cgcgctcgtcagtgcctgaaatatgacactcacagtgaaaagattaaaccgcaggcggtg
+atcgagactctttggcggttgacgaagggagacgcttacgtgacgtccgatgtcgggcag
+caccagatgtttgctgcactttattatccattcgacaaaccgcgtcgctggatcaattcc
+ggtggcctcggcacgatgggttttggtttacctgcggcactgggcgtcaaaatggcgttg
+ccagaagaaaccgtggtttgcgtcactggcgacggcagtattcagatgaacatccaggaa
+ctgtctaccgcgttgcaatacgagttgcccgtactggtggtgaatctcaataaccgctat
+ctggggatggtgaagcagtggcaggacatgatctattccggccgtcattcacaatcttat
+atgcaatcgctacccgatttcgtccgtctggcggaagcctatgggcatgtcgggatccag
+atttctcatccgcatgagctggaaagcaaacttagcgaggcgctggaacaggtgcgcaat
+aatcgcctggtgtttgttgatgttaccgtcgatggcagcgagcacgtctacccgatgcag
+attcgcgggggcggaatggatgaaatgtggttaagcaaaacggagagaacctgattatgc
+gccggatattatcagtcttactcgaaaatgaatcaggcgcgttatcccgcgtgattggcc
+ttttttcccagcgtggctacaacattgaaagcctgaccgttgcgccaaccgacgatccga
+cattatcgcgtatgaccatccagaccgtgggcgatgaaaaagtacttgagcagatcgaaa
+agcaattacacaaactggtcgatgtcttgcgcgtgagtgagttggggcagggcgcgcatg
+ttgagcgggaaatcatgctggtgaaaattcaggccagcggttacgggcgtgacgaagtga
+aacgtaatacggaaatattccgtgggcaaattatcgatgtcacaccctcgctttataccg
+ttcaattagcaggcaccagcggtaagcttgatgcatttttagcatcgattcgcgatgtgg
+cgaaaattgtggaggttgctcgctctggtgtggtcggactttcgcgcggcgataaaataa
+tgcgttgagaatgatctcaatgcgcaatttacagcccaacatgtcacgttgggctttttt
+tgcgaaatcagtgggaacctggaataaaagcagttgccgcagttaattttctgcgcttag
+atgttaatgaatttaacccataccagtacaatggctatggtttttacattttacgcaagg
+ggcaattgtgaaactggatgaaatcgctcggctggcgggagtgtcgcggaccactgcaag
+ctatgttattaacggcaaagcgaagcaataccgtgtgagcgacaaaaccgttgaaaaagt
+catggctgtggtgcgtgagcacaattaccacccgaacgccgtggcagctgggcttcgtgc
+tggacgcacacgttctattggtcttgtgatccccgatctggagaacaccagctatacccg
+catcgctaactatcttgaacgccaggcgcggcaacggggttatcaactgctgattgcctg
+ctcagaagatcagccagacaacgaaatgcggtgcattgagcaccttttacagcgtcaggt
+tgatgccattattgtttcgacgtcgttgcctcctgagcatcctttttatcaacgctgggc
+taacgacccgttcccgattgtcgcgctggaccgcgccctcgatcgtgaacacttcaccag
+cgtggttggtgccgatcaggatgatgccgaaatgctggcggaagagttacgtaagtttcc
+cgccgagacggtgctttatcttggtgcgctaccggagctttctgtcagcttcctgcgtga
+acaaggtttccgtactgcctggaaagatgatccgcgcgaagtgcatttcctgtatgccaa
+cagctatgagcgggaggcggctgcccagttattcgaaaaatggctggaaacgcatccgat
+gccgcaggcgctgttcacaacgtcgtttgcgttgttgcaaggagtgatggatgtcacgct
+gcgtcgcgacggcaaactgccttctgacctggcaattgccacctttggcgataacgaact
+gctcgacttcttacagtgtccggtgctggcagtggctcaacgtcaccgcgatgtcgcaga
+gcgtgtgctggagattgtcctggcaagcctggacgaaccgcgtaagccaaaacctggttt
+aacgcgcattaaacgtaatctctatcgccgcggcgtgctcagccgtagctaagccgcgaa
+caaaaatacgcgccaggtgaatttccctctggcgcgtagagtacgggactggacatcaat
+atgcttaaagtaaataagactattcctgactattattgataaatgcttttaaacccgccc
+gttaattaactcaccagctgaaattcacaataattaagtgatatcgacagcgcgtttttg
+cattattttgttacatgcggcgatgaattgccgatttaacaaacacttttctttgctttt
+gcgcaaacccgctggcatcaagcgccacacagacgtaacaaggactgttaaccggggaag
+atatgtcctaaaatgccgctcgcgtcgcaaactgacactttatatttgctgtggaaaata
+gtgagtcattttaaaacggtgatgacgatgagggattttttcttacagctattcataacg
+ttaatttgcttcgcacgttggacgtaaaataaacaacgctgatattagccgtaaacatcg
+ggttttttacctcggtatgccttgtgactggcttgacaagcttttcctcagctccgtaaa
+ctcctttcagtgggaaattgtggggcaaagtgggaataaggggtgaggctggcatgttcc
+ggggagcaacgttagtcaatctcgacagcaaagggcgcttatcagtgcctacccgttatc
+gggaacagctgcttgagaacgctgccggtcaaatggtttgcaccattgacatttatcacc
+cgtgcctgctgctttaccccctgcctgaatgggaaattatcgagcaaaaattatcgcgtc
+tgtcgagcatgaacccggttgagcgccgtgtgcagcgcctactgttaggtcatgccagcg
+aatgtcagatggatggcgcaggtcgattgttaatcgcgccagtactgcggcaacatgccg
+ggctgacaaaagaagtgatgctggttggacagttcaacaagtttgagctgtgggatgaaa
+caacctggcatcaacaggtcaaggaagatatcgacgcagagcagttggctaccggagact
+tatcggagcgactgcaggacttgtctctataaaatgatggaaaactataaacatactacg
+gtgctgctggatgaagccgttaatggcctcaatatccgtcctgatggcatctacattgat
+gggacttttggtcgcggtggtcactcacgtctgatcctctcgcagcttggcgaagagggg
+cgtttgctggcgatcgatcgcgacccgcaggctatcgccgttgcgaagactattgatgat
+ccgcgcttctccatcatccacggacctttctccgcgctgggcgaatacgttgccgagcgc
+gatcttatcggcaagatcgacggcattctcctcgatcttggcgtctcttcaccgcaactt
+gatgatgctgaacgtggcttttcctttatgcgcgatggtccgctggacatgcgtatggac
+ccaacccgtgggcagtcagccgctgaatggctacaaaccgcagaagaagccgatatcgcc
+tgggtattgaaaacctatggtgaagagcgttttgccaaacgcattgcccgcgccattgtc
+gagcgtaaccgcgaacagccgatgacccgcaccaaagaactggcggaagtcgtggctgct
+gcaacgccggtgaaagataagtttaaacatcccgcgacccgtaccttccaggcggtgcgc
+atttgggtaaacagtgaactggaggagatagagcaggcgctaaaaagctcgctcaacgtg
+ctggccccgggtgggcggctttcgatcatcagcttccactcgctggaagaccgtattgtg
+aaacgttttatgcgtgaaaacagccgcggtccgcaagttccggcagggttaccgatgact
+gaagagcagctcaaaaaactgggtggccgtcagctgcgagcactaggcaagttaatgccg
+ggcgaagaagaggtggctgagaaccctcgtgcccgtagttcagttctgcgtattgcagag
+aggacgaatgcatgatcagcagagtgacagaagctctaagcaaagttaaaggatcgatgg
+gaagccacgagcgccatgcattgcctggtgttatcggtgacgatcttttgcgatttggga
+agctgccactctgcctgttcatttgcattattttgacggcggtgactgtggtaaccacgg
+cgcaccatacccgtttactgaccgctcagcgcgaacaactggtgctggagcgagatgctt
+tagacattgaatggcgcaacctgatccttgaagagaatgcgctcggcgaccatagccggg
+tggaaaggatcgccacggaaaagctgcaaatgcagcatgttgatccgtcacaagaaaata
+tcgtagtgcaaaaataaggataaacgcgacgcatgaaagcagcggcgaaaacgcagaaac
+caaaacgtcaggaagaacatgccaactttatcagttggcgttttgcgttgttatgcggct
+gtattctcctggcgctggcttttctgctcggacgcgtagcgtggttacaagttatctccc
+cggatatgctggtgaaagagggcgacatgcgttctcttcgcgttcagcaagtttccacct
+cccgcggcatgattactgaccgttctggtcgcccgttagcggtgagcgtgccggtaaaag
+cgatttgggctgacccgaaagaagtgcatgacgctggcggtatcagcgtcggtgaccgct
+ggaaggcgctggctaacgcgctcaatattccgctggatcagctttcagcccgcattaacg
+ccaacccgaaagggcgctttatttatctggcgcgtcaggtgaaccctgacatggcggact
+acatcaaaaaactgaaactgccggggattcatctgcgtgaagagtctcgccgttactatc
+cgtccggcgaagtgactgctcacctcatcggctttactaacgtcgatagtcaagggattg
+agggcgttgagaagagtttcgataaatggcttaccgggcagccgggtgagcgcattgtgc
+gtaaagaccgctatggtcgcgtaattgaagatatttcttctactgacagccaggcagcgc
+acaacctggcgctgagtattgatgaacgcctgcaggcgctggtttatcgcgaactgaaca
+acgcggtggcctttaacaaggctgaatctggtagcgccgtgctggtggatgtcaacaccg
+gtgaagtgctggcgatggctaacagcccgtcatacaaccctaacaatctgagcggcacgc
+cgaaagaggcgatgcgtaaccgtaccatcaccgacgtgtttgaaccgggctcaacggtta
+aaccgatggtggtaatgaccgcgttgcaacgtggcgtggtgcgggaaaactcggtactca
+ataccattccttatcgaattaacggccacgaaatcaaagacgtggcacgctacagcgaat
+taaccctgaccggggtattacagaagtcgagtaacgtcggtgtttccaagctggcgttag
+cgatgccgtcctcagcgttagtagatacttactcacgttttggactgggaaaagcgacca
+atttggggttggtcggagaacgcagtggcttatatcctcaaaaacaacggtggtctgaca
+tagagagggccaccttctctttcggctacgggctaatggtaacaccattacagttagcgc
+gagtctacgcaactatcggcagctacggcatttatcgcccactgtcgattaccaaagttg
+accccccggttcccggtgaacgtgtcttcccggaatccattgtccgcactgtggtgcata
+tgatggaaagcgtggcgctaccaggcggcggcggcgtgaaggcggcgattaaaggctatc
+gtatcgccattaaaaccggtaccgcgaaaaaggtcgggccggacggtcgctacatcaata
+aatatattgcttataccgcaggcgttgcgcctgcgagtcagccgcgcttcgcgctggttg
+ttgttatcaacgatccgcaggcgggtaaatactacggcggcgccgtttccgcgccggtct
+ttggtgccatcatgggcggcgtattgcgtaccatgaacatcgagccggatgcgctgacaa
+cgggcgataaaaatgaatttgtgattaatcaaggcgaggggacaggtggcagatcgtaat
+ttgcgcgaccttcttgctccgtgggtgccagacgcaccttcgcgagcactgcgagagatg
+acactcgacagccgtgtggctgcggcgggcgatctctttgtagctgtagtaggtcatcag
+gcggacgggcgtcgatatatcccgcaggcgatagcgcaaggtgtggctgccattattgca
+gaggcgaaagatgaggcgaccgatggtgaaatccgtgaaatgcacggcgtaccggtcatc
+tatctcagccagctcaacgagcgtttatctgcactggcgggccgcttttaccatgaaccc
+tctgacaatttacgtctcgtgggcgtaacgggcaccaacggcaaaaccacgactacccag
+ctgttggcgcagtggagccaactgcttggcgaaatcagcgcggtaatgggcaccgttggt
+aacggcctgctggggaaagtgatcccgacagaaaatacaaccggttcggcagtcgatgtt
+cagcatgagctggcggggctggtggatcagggcgcgacgttttgcgcaatggaagtttcc
+tcccacgggctggtacagcaccgtgtggcggcattgaaatttgcggcgtcggtctttacc
+aacttaagccgcgatcaccttgattatcatggtgatatggaacactacgaagccgcgaaa
+tggctgctttattctgagcatcattgcggtcaggcgattattaacgccgacgatgaagtg
+ggccgccgctggctggcaaaactgccggacgcggttgcggtatcaatggaagatcatatt
+aatccgaactgtcacggacgctggttgaaagcgaccgaagtgaactatcacgacagcggt
+gcgacgattcgctttagctcaagttggggcgatggcgaaattgaaagccatctgatgggc
+gcttttaacgtcagcaacctgctgctcgcgctggcgacactgttggcactcggctatcca
+ctggctgatctgctgaaaaccgccgcgcgtctgcaaccggtttgcggacgtatggaagtg
+ttcactgcgccaggcaaaccgacggtggtggtggattacgcgcatacgccggatgcactg
+gaaaaagccttacaggcggcgcgtctgcactgtgcgggcaagctgtggtgtgtctttggc
+tgtggtggcgatcgcgataaaggtaagcgtccactgatgggcgcaattgccgaagagttt
+gctgacgtggcggtggtgacggacgataacccgcgtaccgaagaaccgcgtgccatcatc
+aacgatattctggcgggaatgttagatgccggacatgccaaagtgatggaaggccgtgct
+gaagcggtgacttgcgccgttatgcaggctaaagagaatgatgtggtactggtcgcgggc
+aaaggccatgaagattaccagattgttggcaatcagcgtctggactactccgatcgcgtc
+acggtggcgcgtctgctgggggtgattgcatgattagcgtaacccttagccaacttaccg
+acattctcaacggtgaactgcaaggtgcagatatcacccttgatgctgtaaccactgata
+cccgaaaactgacgccgggctgcctgtttgttgccctgaaaggcgaacgttttgatgccc
+acgattttgccgaccaggcgaaagctggcggcgcaggcgcactactggttagccgtccgc
+tggacatcgacctgccgcagttaatcgtcaaggatacgcgtctggcgtttggtgaactgg
+ctgcatgggttcgccagcaagttccggcgcgcgtggttgctctgacggggtcctccggca
+aaacctccgttaaagagatgacggcggcgattttaagccagtgcggcaacacgctttata
+cggcaggcaatctcaacaacgacatcggtgtaccgatgacgctgttgcgcttaacgccgg
+aatacgattacgcagttattgaacttggcgcgaaccatcagggcgaaatagcctggactg
+tgagtctgactcgcccggaagctgcgctggtcaacaacctggcagcggcgcatctggaag
+gttttggctcgcttgcgggtgtcgcgaaagcgaaaggtgaaatctttagcggcctgccgg
+aaaacggtatcgccattatgaacgccgacaacaacgactggctgaactggcagagcgtaa
+ttggctcacgcaaagtgtggcgtttctcacccaatgccgccaacagcgatttcaccgcca
+ccaatatccatgtgacctcgcacggtacggaatttaccctacaaaccccaaccggtagcg
+tcgatgttctgctgccgttgccggggcgtcacaatattgcgaatgcgctggcagccgctg
+cgctctccatgtccgtgggcgcaacgcttgatgctatcaaagcggggctggcaaatctga
+aagctgttccaggccgtctgttccccatccaactggcagaaaaccagttgctgctcgacg
+actcctacaacgccaatgtcggttcaatgactgcagcagtccaggtactggctgaaatgc
+cgggctaccgcgtgctggtggtgggcgatatggcggaactgggcgctgaaagcgaagcct
+gccatgtacaggtgggcgaggcggcaaaagctgctggtattgaccgcgtgttaagcgtgg
+gtaaacaaagccatgctatcagcaccgccagcggcgttggcgaacattttgctgataaaa
+ctgcgttaattacgcgtcttaaattactgattgctgagcaacaggtaattacgattttag
+ttaagggttcacgtagtgccgccatggaagaggtagtacgcgctttacaggagaatggga
+catgttagtttggctggccgaacatttggtcaaatattattccggctttaacgtcttttc
+ctatctgacgtttcgcgccatcgtcagcctgctgaccgcgctgttcatctcattgtggat
+gggcccgcgtatgattgctcatttgcaaaaactttcctttggtcaggtggtgcgtaacga
+cggtcctgaatcacacttcagcaagcgcggtacgccgaccatgggcgggattatgatcct
+gacggcgattgtgatctccgtactgctgtgggcttacccgtccaatccgtacgtctggtg
+cgtgttggtggtgctggtaggttacggtgttattggctttgttgatgattatcgcaaagt
+ggtgcgtaaagacaccaaagggttgatcgctcgttggaagtatttctggatgtcggtcat
+tgcgctgggtgtcgccttcgccctgtaccttgccggcaaagacacgcccgcaacgcagct
+ggtggtcccattctttaaagatgtgatgccgcagctggggctgttctacattctgctggc
+ttacttcgtcattgtgggtactggcaacgcggtaaacctgaccgatggtctcgacggcct
+ggcaattatgccgaccgtatttgtcgccggtggttttgcgctggtggcgtgggcgaccgg
+caatatgaactttgccagctacttgcatataccgtatctgcgacacgccggggaactggt
+tattgtctgtaccgcgatagtcggggcaggactgggcttcctgtggtttaacacctatcc
+ggcgcaggtctttatgggcgatgtaggttcgctggcgttaggtggtgcgttaggcattat
+cgccgtactgctacgtcaggaattcctgctggtgattatggggggcgtgttcgtggtaga
+aacgctttctgtcatcctgcaggtcggctcctttaaactgcgcggacaacgtattttccg
+catggcaccgattcatcaccactatgaactgaaaggctggccggaaccgcgcgtcattgt
+gcgtttctggattatttcgctgatgctggttctgattggtctggcaacgctgaaggtacg
+ttaatcatggctgattatcagggtaaaaatgtcgtcattatcggcctgggcctcaccggg
+ctttcctgcgtggactttttcctcgctcgcggtgtgacgccgcgcgttatggatacgcgt
+atgacaccgcctggcctggataaattacccgaagccgtagaacgccacacgggcagtctg
+aatgatgaatggctgatggcggcagatctgattgtcgccagtcccggtattgcactggcg
+catccatccttaagcgctgccgctgatgccggaatcgaaatcgttggcgatatcgagctg
+ttctgtcgcgaagcacaagcaccgattgtggcgattaccggttctaacggcaaaagcacg
+gtcaccacgctagtgggtgaaatggcgaaagcggcgggggttaacgttggtgtgggtggc
+aatattggcctgcctgcgttgatgctactggatgatgagtgtgaactgtacgtgctggaa
+ctgtcgagcttccagctggaaaccacctccagcttacaggcggtagcagcgaccattctg
+aacgtgactgaagatcatatggatcgctatccgtttggtttacaacagtatcgtgcagca
+aaactgcgcatttacgaaaacgcgaaagtttgcgtggttaatgctgatgatgccttaaca
+atgccgattcgcggtgcggatgaacgctgcgtcagctttggcgtcaacatgggtgactat
+cacctgaatcatcagcagggcgaaacctggctgcgggttaaaggcgagaaagtgctgaat
+gtgaaagagatgaaactttccgggcagcataactacaccaatgcgctggcggcgctggcg
+ctggcagatgctgcagggttaccgcgtgccagcagcctgaaagcgttaaccacattcact
+ggtctgccgcatcgctttgaagttgtgctggagcataacggcgtacgttggattaacgat
+tcgaaagcgaccaacgtcggcagtacggaagcggcgctgaatggcctgcacgtagacggc
+acactgcatttgttgctgggtggcgatggtaaatcggcggactttagcccactggcgcgt
+tacctgaatggcgataacgtacgtctgtattgtttcggtcgtgacggcgcgcagctggcg
+gcgctacgcccggaagtggcagaacaaaccgaaactatggaacaggcgatgcgcttgctg
+gctccgcgtgttcagccgggcgatatggttctgctctccccagcctgtgccagccttgat
+cagttcaagaactttgaacaacgaggcaatgagtttgcccgtctggcgaaggagttaggt
+tgatgcgtttatctctccctcgcctgaaaatgccgcgcctgccaggattcagtatcctgg
+tctggatctccacggcgctaaagggctgggtgatgggctcgcgggaaaaagataccgaca
+gcctgatcatgtacgatcgcaccttactgtggctgaccttcggcctcgcggcgattggct
+ttatcatggtgacctcggcgtcaatgcccatagggcaacgcttaaccaacgatccgttct
+tcttcgcgaagcgtgatggtgtctatctgattttggcgtttattctggcgatcattacgc
+tgcgtctgccgatggagttctggcaacgctacagtgccacgatgctgctcggatctatca
+tcctgctgatgatcgtcctggtagtgggtagctcggttaaaggggcatcgcgttggatcg
+atctcggtttgctgcgtatccagcctgcggagctgacaaaactgtcgctgttttgctata
+tcgccaactatctggtgcgtaaaggcgacgaagtacgtaataacctgcgcggcttcctga
+aaccgatgggcgtgattctggtgttggcagtgttactgctggcacagccagaccttggta
+cggtggtggtgttgtttgtgactacgctggcgatgttgttcctggcgggagcgaaattgt
+ggcagttcattgccattatcggtatgggcatttcagcggttgtgttgctgatactcgccg
+aaccgtaccgtatccgccgtgttaccgcattctggaacccgtgggaagatccctttggca
+gcggctatcagttaacgcaatcgctgatggcgtttggtcgcggcgaactttgggggcaag
+gtttaggtaactcggtacaaaaactggagtatctgccggaagcgcacactgactttattt
+tcgccattatcggcgaagaactggggtatgtcggtgtggtgctggcacttttaatggtat
+tcttcgtcgcttttcgcgcgatgtcgattggccgtaaagcattagaaattgaccaccgtt
+tttccggttttctcgcctgttctattggcatctggtttagcttccaggcgctggttaacg
+taggcgcggcggcggggatgttaccgaccaaaggtctgacattgccgctgatcagttacg
+gtggttcgagcttactgattatgtcgacagccatcatgatgctgttgcgtattgattatg
+aaacgcgtctggagaaagcgcaggcgtttgtacgaggttcacgatgagtggtcaaggaaa
+gcgattaatggtgatggcaggcggaaccggtggacatgtattcccgggactggcggttgc
+gcaccatctaatggctcagggttggcaagttcgctggctggggactgccgaccgtatgga
+agcggacttagtgccaaaacatggcatcgaaattgatttcattcgtatctctggtctgcg
+tggaaaaggtataaaagcactgatagctgccccgctgcgtatcttcaacgcctggcgtca
+ggcgcgggcgattatgaaagcgtacaaacctgacgtggtgctcggtatgggaggctacgt
+gtcaggtccaggtggtctggccgcgtggtcgttaggcattccggttgtacttcatgaaca
+aaacggtattgcgggcttaaccaataaatggctggcgaagattgccaccaaagtgatgca
+ggcgtttccaggtgctttccctaatgcggaagtagtgggtaacccggtgcgtaccgatgt
+gttggcgctgccgttgccgcagcaacgtttggctggacgtgaaggtccggttcgtgtgct
+ggtagtgggtggttctcagggcgcacgcattcttaaccagacaatgccgcaggttgctgc
+gaaactgggtgattcagtcactatctggcatcagagcggcaaaggttcgcaacaatccgt
+tgaacaggcgtatgccgaagcggggcaaccgcagcataaagtgacggaatttattgatga
+tatggcggcggcgtatgcgtgggcggatgtcgtcgtttgccgctccggtgcgttaacggt
+gagtgaaatcgccgcggcaggactaccggcgttgtttgtgccgtttcaacataaagaccg
+ccagcaatactggaatgcgctaccgctggaaaaagcgggcgcagccaaaattatcgagca
+gccacagcttagcgtggatgctgtcgccaacaccctggccgggtggtcgcgagaaacctt
+attaaccatggcagaacgcgcccgcgctgcatccattccggatgccaccgagcgagtggc
+aaatgaagtgagccgggttgcccgggcgtaattgtagcgatgccttttgcatcgtatgaa
+tttaagaagttaatggcgtaaagaatgaatacacaacaattggcaaaactgcgttccatc
+gtgcccgaaatgcgtcgcgttcggcacatacattttgtcggcattggtggtgccggtatg
+ggcggtattgccgaagttctggccaatgaaggttatcagatcagtggttccgatttagcg
+ccaaatccggtcacgcagcagttaatgaatctgggtgcgacgatttatttcaaccatcgc
+ccggaaaacgtacgtgatgccagcgtggtcgttgtttccagcgcgatttctgccgataac
+ccggaaattgtcgccgctcatgaagcgcgtattccggtgatccgtcgtgccgaaatgctg
+gctgagttaatgcgttttcgtcatggcatcgccattgccggaacgcacggcaaaacgaca
+accaccgcgatggtttccagcatctacgcagaagcggggctcgacccaaccttcgttaac
+ggcgggctggtaaaagcggcgggggttcatgcgcgtttggggcatggtcggtacctgatt
+gccgaagcagatgagagtgatgcatcgttcctgcatctgcaaccgatggtggcgattgtc
+accaatatcgaagccgaccacatggatacctaccagggcgactttgagaatttaaaacag
+acttttattaattttctgcacaacctgccgttttacggtcgtgcggtgatgtgtgttgat
+gatccggtgatccgcgaattgttaccgcgagtggggcgtcagaccacgacttacggcttc
+agcgaagatgccgacgtgcgtgtagaagattatcagcagattggcccgcaggggcacttt
+acgctgctgcgccaggacaaagagccgatgcgcgtcaccctgaatgcgccaggtcgtcat
+aacgcgctgaacgccgcagctgcggttgcggttgctacggaagagggcattgacgacgag
+gctattttgcgggcgcttgaaagcttccaggggactggtcgccgttttgatttcctcggt
+gaattcccgctggagccagtgaatggtaaaagcggtacggcaatgctggtcgatgactac
+ggccaccacccgacggaagtggacgccaccattaaagcggcgcgcgcaggctggccggat
+aaaaacctggtaatgctgtttcagccgcaccgttttacccgtacgcgcgacctgtatgat
+gatttcgccaatgtgctgacgcaggttgataccctgttgatgctggaagtgtatccggct
+ggcgaagcgccaattccgggagcggacagccgttcgctgtgtcgcacaattcgtggacgt
+gggaaaattgatcccattctggtgccggatccggcgcgggtagccgagatgctggcaccg
+gtattaaccggtaacgacctgattctcgttcagggggctggtaatattggaaaaattgcc
+cgttctttagctgaaatcaaactgaagccgcaaactccggaggaagaacaacatgactga
+taaaatcgcggtcctgttgggtgggacctccgctgagcgggaagtttctctgaattctgg
+cgcagcggtgttagccggactgcgtgaaggcggtattgacgcgtatcctgtcgacccgaa
+agaagtcgacgtgacgcaactgaagtcgatgggctttcagaaagtgtttatcgcgctaca
+cggtcgcggcggtgaagatggtacgctgcaggggatgctcgagctgatgggcttgcctta
+taccggaagcggagtgatggcatctgcgctttcaatggataaactacgcagcaaacttct
+atggcaaggtgccggtttaccggtcgcgccgtgggtagcgttaacccgcgcagagtttga
+aaaaggcctgagcgataagcagttagcagaaatttctgctctgggtttgccggttatcgt
+taagccgagccgcgaaggttccagtgtgggaatgtcaaaagtagtagcagaaaatgctct
+acaagatgcattaagattggcatttcagcacgatgaagaagtattgattgaaaaatggct
+aagtgggccggagttcacggttgcgatactcggtgaagaaattttaccgtcaatacgtat
+tcaaccgtccggaaccttctatgattatgaggcgaagtatctctctgatgagacacagta
+tttctgccccgcaggtctggaagcgtcacaagaggccaatttgcaggcattagtgctgaa
+agcatggacgacgttaggttgcaaaggatggggacgtattgacgttatgctggacagcga
+tggacagttttatctgctggaagccaatacctcaccgggtatgaccagccacagcctggt
+gccgatggcggcacgtcaggcaggtatgagcttctcgcagttggtagtacgaattctgga
+actggcggactaatatgtcgcaggctgctctgaacacgcgaaacagcgaagaagaggttt
+cttctcgccgcaataatggaacgcgtctggcggggatccttttcctgctgaccgttttaa
+cgacagtgttggtgagcggctgggtcgtgttgggctggatggaagatgcgcaacgcctgc
+cgctctcaaagctggtgttgaccggtgaacgccattacacacgtaatgacgatatccggc
+agtcgatcctggcattgggtgagccgggtacctttatgacccaggatgtcaacatcatcc
+agacgcaaatagaacaacgcctgccgtggattaagcaggtgagcgtcagaaagcagtggc
+ctgatgaattgaagattcatctggttgaatatgtgccgattgcgcggtggaatgatcaac
+atatggtagacgcggaaggaaataccttcagcgtgccgccagaacgcaccagcaagcagg
+tgcttccaatgctgtatggcccggaaggcagcgccaatgaagtgttgcagggctatcgcg
+aaatggggcagatgctggcaaaggacagatttactctgaaggaagcggcgatgaccgcgc
+ggcgttcctggcagttgacgctgaataacgatattaagctcaatcttggccggggcgata
+cgatgaaacgtttggctcgctttgtagaactttatccggttttacagcagcaggcgcaaa
+ccgatggcaaacggattagctacgttgatttgcgttatgactctggagcggcagtaggct
+gggcgcccttgccgccagaggaatctactcagcaacaaaatcaggcacaggcagaacaac
+aatgatcaaggcgacggacagaaaactggtagtaggactggagattggtaccgcgaaggt
+tgccgctttagtaggggaagttctgcccgacggtatggtcaatatcattggcgtgggcag
+ctgcccgtcgcgtggtatggataaaggcggggtgaacgacctcgaatccgtggtcaagtg
+cgtacaacgcgccattgaccaggcagaattgatggcagattgtcagatctcttcggtata
+tctggcgctttctggtaagcacatcagctgccagaatgaaattggtatggtgcctatttc
+tgaagaagaagtgacgcaagaagatgtggaaaacgtcgtccataccgcgaaatcggtgcg
+tgtgcgcgatgagcatcgtgtgctgcatgtgatcccgcaagagtatgcgattgactatca
+ggaagggatcaagaatccggtaggactttcgggcgtgcggatgcaggcaaaagtgcacct
+gatcacatgtcacaacgatatggcgaaaaacatcgtcaaagcggttgaacgttgtgggct
+gaaagttgaccaactgatatttgccggactggcatcaagttattcggtattgacggaaga
+tgaacgtgaactgggtgtctgcgtcgtcgatatcggtggtggtacaatggatatcgccgt
+ttataccggtggggcattgcgccacactaaggtaattccttatgctggcaatgtcgtgac
+cagtgatatcgcttacgcctttggcacgccgccaagcgacgccgaagcgattaaagttcg
+ccacggttgtgcgctgggttccatcgttggaaaagatgagagcgtggaagtgccgagcgt
+aggtggtcgtccgccacggagtctgcaacgtcagacactggcagaggtgatcgagccgcg
+ctataccgagctgctcaacctggtcaacgaagagatattgcagttgcaggaaaagcttcg
+ccaacaaggggttaaacatcacctggcggcaggcattgtattaaccggtggcgcagcgca
+gatcgaaggtcttgcagcctgtgctcagcgcgtgtttcatacgcaagtgcgtatcggcgc
+gccgctgaacattaccggtttaacggattatgctcaggagccgtattattcgacggcggt
+gggattgcttcactatgggaaagagtcacatcttaacggtgaagctgaagtagaaaaacg
+tgttacagcatcagttggctcgtggatcaagcgactcaatagttggctgcgaaaagagtt
+ttaatttttatgaggccgacgatgattacggcctcaggcgacaggcacaaatcggagaga
+aactatgtttgaaccaatggaacttaccaatgacgcggtgattaaagtcatcggcgtcgg
+cggcggcggcggtaatgctgttgaacacatggtgcgcgagcgcattgaaggtgttgaatt
+cttcgcggtaaataccgatgcacaagcgctgcgtaaaacagcggttggacagacgattca
+aatcggtagcggtatcaccaaaggactgggcgctggcgctaatccagaagttggccgcaa
+tgcggctgatgaggatcgcgatgcattgcgtgcggcgctggaaggtgcagacatggtctt
+tattgctgcgggtatgggtggtggtaccggtacaggtgcagcaccagtcgtcgctgaagt
+ggcaaaagatttgggtatcctgaccgttgctgtcgtcactaagcctttcaactttgaagg
+caagaagcgtatggcattcgcggagcaggggatcactgaactgtccaagcatgtggactc
+tctgatcactatcccgaacgacaaactgctgaaagttctgggccgcggtatctccctgct
+ggatgcgtttggcgcagcgaacgatgtactgaaaggcgctgtgcaaggtatcgctgaact
+gattactcgtccgggtttgatgaacgtggactttgcagacgtacgcaccgtaatgtctga
+gatgggctacgcaatgatgggttctggcgtggcgagcggtgaagaccgtgcggaagaagc
+tgctgaaatggctatctcttctccgctgctggaagatatcgacctgtctggcgcgcgcgg
+cgtgctggttaacatcacggcgggcttcgacctgcgtctggatgagttcgaaacggtagg
+taacaccatccgtgcatttgcttccgacaacgcgactgtggttatcggtacttctcttga
+cccggatatgaatgacgagctgcgcgtaaccgttgttgcgacaggtatcggcatggacaa
+acgtcctgaaatcactctggtgaccaataagcaggttcagcagccagtgatggatcgcta
+ccagcagcatgggatggctccgctgacccaggagcagaagccggttgctaaagtcgtgaa
+tgacaatgcgccgcaaactgcgaaagagccggattatctggatatcccagcattcctgcg
+taagcaagctgattaagaattgactggaatttgggtttcgaggctctttgtgctaaactg
+gcccgccgaatgtatagtacacttcggttggataggtaatttggcgagataatacgatga
+tcaaacaaaggacacttaaacgtatcgttcaggcgacgggtgtcggtttacataccggca
+agaaagtcaccctgacgttacgccctgcgccggccaacaccggggtcatctatcgtcgca
+ccgacttgaatccaccggtagatttcccggccgatgccaaatctgtgcgtgataccatgc
+tctgtacgtgtctggtcaacgagcatgatgtacggatttcaaccgtagagcacctcaatg
+ctgctctcgcgggcttgggcatcgataacattgttatcgaagttaacgcgccggaaatcc
+cgatcatggacggcagcgccgctccgtttgtatacctgctgcttgacgccggtatcgacg
+agttgaactgcgccaaaaaatttgttcgcatcaaagagactgttcgtgtcgaagatggcg
+ataagtgggctgaatttaagccgtacaatggtttttcgctggatttcaccatcgatttta
+accatccggctattgattccagcaaccagcgctatgcgatgaacttctccgctgatgcgt
+ttatgcgccagatcagccgtgcgcgtacgttcggtttcatgcgtgatatcgaatatctgc
+agtcccgtggtttgtgcctgggcggcagcttcgattgtgccatcgttgttgacgattatc
+gcgtactgaacgaagacggcctgcgttttgaagacgaatttgtgcgtcacaaaatgctcg
+atgcgatcggtgacttgttcatgtgtggtcacaatattattggtgcatttaccgcttata
+aatccggtcatgcactgaataacaaactgctgcaggctgtcctggcgaaacaggaagcct
+gggaatatgtgaccttccaggacgacgcagaactgccgttggccttcaaagcgccttcag
+ctgtactggcataacgacatttatactgtcgtataaaattcgactggcaaatctggcact
+ctctccggccaggtgaaccagtcgtttttttttgaattttataagagctataaaaaacgg
+tgcgaacgctgttttcttaagcacttttccgcacaacttatcttcattcgtgctgtggac
+tgcaggctttaatgataagatttgtgcgctaaatacgtttgaatatgatcgggatggcaa
+taacgtgagtggaatactgacgcgctggcgacagtttggtaaacgctacttctggccgca
+tctcttattagggatggttgcggcgagtttaggtttgcctgcgctcagcaacgccgccga
+accaaacgcgcccgcaaaagcgacaacccgcaaccacgagccttcagccaaagttaactt
+tggtcaattggccttgctggaagcgaacacacgccgcccgaattcgaactattccgttga
+ttactggcatcaacatgccattcgcacggtaatccgtcatctttctttcgcaatggcacc
+gcaaacactgcccgttgctgaagaatctttgcctcttcaggcgcaacatcttgcattact
+ggatacgctcagcgcgctgctgacccaggaaggcacgccgtctgaaaagggttatcgcat
+tgattatgcgcattttaccccacaagcaaaattcagcacgcccgtctggataagccaggc
+gcaaggcatccgtgctggccctcaacgcctcacctaacaacaataaacctttacttcatt
+ttattaactccgcaacgcggggcgtttgagattttattatgctaatcaaattgttaacta
+aagttttcggtagtcgtaacgatcgcaccctgcgccggatgcgcaaagtggtcaacatca
+tcaatgccatggaaccggagatggaaaaactctccgacgaagaactgaaagggaaaaccg
+cagagtttcgtgcacgtctggaaaaaggcgaagtgctggaaaatctgatcccggaagctt
+tcgccgtggtacgtgaggcaagtaagcgcgtctttggtatgcgtcacttcgacgttcagt
+tactcggcggtatggttcttaacgaacgctgcatcgccgaaatgcgtaccggtgaaggaa
+aaaccctgaccgcaacgctgcctgcttacctgaacgcactaaccggtaaaggcgtgcacg
+tagttaccgtcaacgactacctggcgcaacgtgacgccgaaaacaaccgtccgctgtttg
+aattccttggcctgactgtcggtatcaacctgccgggcatgccagcaccggcaaagcgcg
+aagcttacgcagctgacatcacttacggtacgaacaacgaatacggctttgactacctgc
+gcgacaacatggcgttcagccctgaagaacgtgtacagcgtaaactgcactatgcgctgg
+tggacgaagtggactccatcctgatcgatgaagcgcgtacaccgctgatcatttccggcc
+cggcagaagacagctcggaaatgtataaacgcgtgaataaaattattccgcacctgatcc
+gtcaggaaaaagaagactccgaaaccttccagggcgaaggccacttctcggtggacgaaa
+aatctcgccaggtgaacctgaccgaacgtggtctggtgctgattgaagaactgctggtga
+aagagggcatcatggatgaaggggagtctctgtactctccggccaacatcatgctgatgc
+accacgtaacggcggcgctgcgcgctcatgcgctgtttacccgtgacgtcgactacatcg
+ttaaagatggtgaagttatcatcgttgacgaacacaccggtcgtaccatgcagggccgtc
+gctggtccgatggtctgcaccaggctgtggaagcgaaagaaggtgtgcagatccagaacg
+aaaaccaaacgctggcttcgatcaccttccagaactacttccgtctgtatgaaaaactgg
+cggggatgaccggtactgctgataccgaagctttcgaatttagctcaatctacaagctgg
+ataccgtcgttgttccgaccaaccgtccaatgattcgtaaagatctgccggacctggtct
+acatgactgaagcggaaaaaattcaggcgatcattgaagatatcaaagaacgtactgcga
+aaggccagccggtgctggtgggtactatctccatcgaaaaatcggagctggtgtcaaacg
+aactgaccaaagccggtattaagcacaacgtcctgaacgccaaattccacgccaacgaag
+cggcgattgttgctcaggcaggttatccggctgcggtgactatcgcgaccaatatggcgg
+gtcgtggtacagatattgtgctcggtggtagctggcaggcagaagttgccgcgctggaaa
+atccgaccgcagagcaaattgaaaaaattaaagccgactggcaggtacgtcacgatgcgg
+tactggaagcaggtggcctgcatatcatcggtaccgagcgtcacgaatcccgtcgtatcg
+ataaccagttgcgcggtcgttctggtcgtcagggggatgctggttcttcccgtttctacc
+tgtcgatggaagatgcgctgatgcgtatttttgcttccgaccgagtatccggcatgatgc
+gtaaactgggtatgaagccaggcgaagccattgaacacccgtgggtgactaaagcgattg
+ccaacgcccagcgtaaagttgaaagccgtaacttcgacattcgtaagcaactgctggaat
+atgatgacgtggctaacgatcagcgtcgcgccatttactcccagcgtaacgaactgttgg
+atgtcagcgatgtgagcgaaaccattaacagcattcgtgaagatgtgttcaaagcgacca
+ttgatgcctacattccaccacagtcgctggaagaaatgtgggatattccggggctgcagg
+aacgtctgaagaacgatttcgacctcgatttgccaattgccgagtggctggataaagaac
+cagaactgcatgaagagacgctgcgtgagcgcattctggcgcagtccatcgaagtgtatc
+agcgtaaagaagaagtggttggtgctgagatgatgcgtcacttcgagaaaggcgtcatgc
+tgcaaacgcttgactccctgtggaaagagcacctggcagcgatggactatctgcgtcagg
+gtatccacctgcgtggctacgcacagaaagatccgaagcaggaatacaaacgtgaatcgt
+tctccatgtttgcagcgatgctggagtcgttgaaatatgaagttatcagtacgctgagca
+aagttcaggtacgtatgcctgaagaggttgaggagctggaacaacagcgtcgtatggaag
+ccgagcgtttagcgcaaatgcagcagcttagccatcaggatgacgactctgcagccgcag
+ctgcactggcggcgcaaaccggagagcgcaaagtaggacgtaacgatccttgcccgtgcg
+gttctggtaaaaaatacaagcagtgccatggccgcctgcaataaaagctaactgttgaag
+taaaaggcgcaggattctgcgccttttttataggtttaagacaatgaaaaagctgcaaat
+tgcggtaggtattattcgcaacgagaacaatgaaatctttataacgcgtcgcgcagcaga
+tgcgcacatggcgaataaactggagtttcccggcggtaaaattgaaatgggtgaaacgcc
+ggaacaggcggtggtgcgtgaacttcaggaagaagtcgggattaccccccaacatttttc
+gctatttgaaaaactggaatatgaattcccggacaggcatataacactgtggttttggct
+ggtcgaacgctgggaaggggagccgtggggtaaagaagggcaacccggtgagtggatgtc
+gctggtcggtcttaatgccgatgattttccgccagccaatgaaccggtaattgcgaagct
+taaacgtctgtaggtcagataaggcgttttcgccgcatccgacattcgcacacgatgcct
+gatgcgacgctggcgcgtcttatcaggcctaaagggatttctaactcattgataaatttg
+tttttgtaggtcggataaggcgttcacgccgcatccgacatttgcacaagatgcctgatg
+cgacgctgtccgcgtcttatcaggcctacgtgcggcatcagacaaatgtcactgctttgg
+ttcttcgctccagtcatcgctttcggaaagatcgccactgctggggattcgtttttcttc
+agcagcccattctccgaggtcgatcagctgacaacgtttggagcaaaatggccgaaacgg
+gctgatttcaccccacaccaccgttttcccgcaggttgggcaattcaccgtaatagtttc
+tgacatttttactccttagcaacaggccagttcgaaatccagacgttccggtacctgtcc
+gttttcagtgtccagcggcataaaacgaatggcaaaacggctcttatgtccggaaatttg
+cggataaagctgtgaatcgagcgacagattcaggcgcagcaagtcggcatcgccaccgtt
+atcctgataaaaaccattcaggctggtttgtttacggaagggggccgactggcgaattaa
+atccagcaccatggtaagtgcctgggtgagcgggttcaggctggcaatccaggtttctac
+ctggctgtcgcgctgcgcctggggtagatgcagccaaatgtgcaatgtaggtaaatcaaa
+gctgcaacagccgcctgggatgctcagtcgctgacgcaccagagcaatcaaacgatcttc
+acgcagaaattgcccgatacgcggcgcggaaattaatacgctccccgccgcttttaactg
+ctgaattaatgcttcaatacggctctggtccacgccaggcacgccaatccaggtctggag
+tttacgttgctgccggtcaagttctttcaacagctcagtgcggacttcgccgcgctcgaa
+aacatccagtaattcactgacattacggaagaaatgcagcgcgccagcgtggtcaacgat
+gggtaaattaacggtgagttgctgaatcaaaaactcaatgcgcagccatgtacgcatttt
+ttcatttagtggatgttcaaaaaggacctgggtctgcattacggtttttcctgtgagaca
+aactgcgacgcaagctgcaaatagtgtgcgtgcaggcgggcaacatccgatgcgatagca
+tccggtgcgccgttattatcaatgacgtcatctgccacggcaaggcgggcttcgcgcgtt
+gcctgagcagcaaggatttgttcgacatgctcgcgagttacatcatcgcgctgcatggtg
+cgcttaagttgcgtttctgggctgacatccaccacaagcactcgattcgcttttttatac
+agtgagttttctaccagcaatggcacaacccacagtacatagggggaagtagcttgctgg
+atctggtgttgcgtctcttgctgaatcagcggatgcagcagggcgttaagccagtttttc
+tcttccgggttggcgaagatccgctcgcgcaaggcccggcgctgcaatgttccatcagca
+gcaatcatgttagcgccaaagtgatcagcaatggcatgtagcgcaggtgcacctggttca
+accacctgacgcgcaataatatcggcatcaatgacgttaattccgagatcagcaaacgca
+ttggcaacggtactcttgccactgccaatgcctcccgttaaggcaactatatacctcata
+atttatattcccgggaattcatcatgattatcaaaacgttaaaaatgagtgcacgaaagc
+gaaattgatgaaacgttcgctcactatttaccaggtaaatttatgggattgtagcgtaaa
+aaaagacaatttcgcagtcttgcgccgcattgattagtgcgtatgatagcgtcactggag
+ttgcgctcttacccttatagccattaaccccaggaatccgcacatgcgtattgaagaaga
+tctgaagttaggttttaaagacgttctcatccgccctaaacgctccactcttaaaagccg
+ttccgatgttgaactggaacgtcaattcaccttcaaacattcaggtcagagctggtccgg
+cgtgccgattatcgccgcaaatatggacaccgtaggcacattttctatggcctctgcgct
+ggcttcttttgatattttgactgctgtgcataaacactattctgtcgaagagtggcaagc
+gtttatcaacaattcttccgctgatgtgctgaaacatgtgatggtttctaccggtacgtc
+tgatgcggatttcgaaaaaactaaacagattctcgacctgaacccggcattaaacttcgt
+ttgtattgacgtggcgaatggttattccgaacacttcgtgcagttcgttgcgaaagcgcg
+tgaagcgtggccgaccaaaaccatttgtgctggtaacgtagtgactggtgaaatgtgtga
+ggagcttatcctctcaggtgccgatatcgttaaagttggcattggcccaggttctgtttg
+tacaactcgcgtcaaaacaggcgtcggttatccgcaactttctgcggtaatcgaatgtgc
+cgatgctgcgcacggtctgggcggaatgatcgtcagcgatggtggctgcaccacgccggg
+cgatgtggcgaaagcctttggcggcggtgccgatttcgtcatgcttggcggcatgctggc
+gggccacgaagagagcggcggtcgcatcgttgaggagaacggcgagaaatttatgctgtt
+ctacggcatgagctccgagtctgcgatgaaacgtcacgttggcggcgttgcggaatatcg
+cgcagcagaaggtaaaaccgttaagctgccgctgcgaggcccggttgaaaataccgcgcg
+agatattttgggcggcctgcgttcagcttgtacatacgttggggcttcacgcctgaaaga
+gctgaccaagcgcaccacgtttattcgtgtgcaggaacaagaaaaccgcatcttcaacaa
+cctgtaatctcccaacgctggcgtggagcaacacgccagcgttatcccatcccactcatc
+gcatcgcctaaatggaaaattggcagatacattgccaccaccagcgtaccaataattcct
+cccgttatgatcagcaacgccggttccagtaaggctgcgaggttatccgccagcgccatt
+gtgttttcccgatgatgatgggcgaggttgtctaacatgagatccagagagccggatgcc
+tctcctgttctcactaattgcaaacagagcgggctaaactcaccggtattttttagcgcc
+agccagatgggttgaccgttactgatatcgtgctggatttgtgtcagaagttgcacccag
+tacgggcagcgcattgtttctctgacgctctctacgccctgtaaaaaagtaatgcctgca
+ctttgtgtcagcgccagaatcgtaaagatctgcgtgagtttttgtccccgcatcagtgaa
+cccataatcgggatgcgtaacagcaatttctgccgcactataagccaggtcggtcggcgc
+atcagcaacttattggctatcgccagcagaaagccgaacaacaccagcagccagctccat
+tcgccactaaagtctgccagcgtcatgatcccctgcgttagtgccggtagtggggtgttg
+aaggtcttatagatagcggcaaactccggcagaacaaaatgcagcattgccacaaccacc
+atgattgccatcgctaaaatgatgatgggataacgtaacgctgatttcactttgtcggtc
+aactgacgctgggctttttgctgacgcgccagttcaaagcagcattcatccagcttaccg
+gtcagttcacccgtgcggatcatcgcctgatagagcggcggaaatacctctgaccagggt
+aataaggcattggaaaaagcaatgccctgttcgagatcgtgcgccagcgattgcagcaac
+gcttgccattgcttactgggatgctgttccgccagcagagccagcccttcagaaagcgtt
+aaccctgctttgagtagcgtcgccagttgatgaatgacttccgcgcttttatctcctcgc
+cactgcgcagaattgatggcgattcgcttcaggcttagtggggtaaccatctgttgctgt
+agtgccataagcagtaaagtacggctctctgcccatagcatcccatcttgcgcattgccg
+tcgccggttatgccatgccagcgccagagttgcttactcgccatgcggcatccccagtac
+gcggattaactcttcaaaggtggttaagccttgctctacggccaggcagccgttttcaaa
+aagcgtacgcatacccgcctgtcgtgcgtgcgtttccagcgattcaacgtcggtattagc
+ggaaataagctgacgaatgaccggcgttatgggcagaacttcaaataaggccgtacgacc
+ataaaaaccgtggtagcaatgtacacaaccgggtgcctgccagtggggcagcggcgatgg
+ccatacattgtctggaatgtggatgggctccccttgctgccggcgacaatgtgggcaaag
+tttgcgtaccagacgctgggctattaccagcgtaagcgccgatgatagcatccagcgggc
+gacccccatttgctgtaaacgtaccagcgtttcgcaggtggaattagtgtgtagggtaga
+caacaccaggtgaccagtttgcgccgctttaatagcgatctctgctgtttcgccatcgcg
+gatctctccgatcatgatgacgtcaggatcctggcgcaataacgcacgcaaaacgccctg
+aaaggtgagtccggcacgcggatggatttgcgtctggtttagtccggctatggggatctc
+aactggatcttcgacgctacaaatattaatgtcagcggtattcagcttttgcagggcact
+ataaagcgtgaccgttttgccgctgccggtagggccagttaccagcaccagtccctgtgg
+ttgttgcaaggcatgagcaaagtccgccagttgtaacggctgcattccaagcgtgttgac
+atccagtgcctgacccacctgctgtaacaaccttaataccaccttttcaccaccccgaca
+tggtaaggtcgcaatacgaaatgagacggcgtttcctgccagttcgacagtgaattgccc
+gtcctgcggcaggcgatgttccgcaatatccaggtttcccagcacttttaatctggcggt
+taatgcgactccggcatccggtgaaacatccggtaaaggatgcaatacgccgtcgatacg
+caagcggatgcggtaggcattgtccgctggttcgatatgaatatcagacgcgcgttgttc
+cagcgcagattgtaacgttcgagttagcaactctgctttgggctgatgcttctcctgaac
+agctacgggcaatgtctgttgtgtgcgactggcgtgaccttccatttgttggcgcgtcca
+gcaggtgatctcaatacgtttggtggtagcgaaatgcaatgcgtccagtagctcatgcga
+aggtgcatcgactaccgcaacatgaaccacctcttcgctggcatccagcaagactccatg
+ataacgcagacacagggcagtgagctgtggaatattcattgccgctccttagttggcgtc
+atcaaagcggaagacatcttcgcaggcttgctgcaatgcgctgtcactttgaatattgca
+gttgcgcgtccagccggtgacgccgtttgcgttatcccaacccggtgtcatgacgacgct
+tagcccattgagactttcttgcccggtcagcgacaccacgccctttgccacactcatggc
+tgaaacatagcgggtggtggtaggcgagggaatgccattgctgccaccgtcgcaggtatc
+taatccaccatgttccagcgcgcacaactctacggcggtacggtaaggcacaaaggtttg
+tagcatgtcggtgagtgcggctttgcgcaggtagttttgataagcgggaataccaatggc
+gcttaaaatggcaatgatgccaataaccaccatcagttcgataagtgtaaaaccgcgttg
+cttgtccatctgtttcgctccttgatttggttggcgctactttggcaaacgccatcagca
+caggcgaggggcaaaaaacgaaacgggaaagcagattccgaggttttttatttcgttgca
+gcgaaagacaagaaatttgcgaggcgttacgaagaaagttggggaaggggagattatccg
+cccgcgatggagcggataaatctgtcaactattagcgaaaacgcattgaaaggtcgagtg
+cttgtacgtgtttagttagcgcaccgacggagataaagtccacgcccgtttcggcaaatt
+cacgcagtgttttgtcagtgacgttgccagacacttccagtagcgccttgccgttggtgc
+gtttgacggcttcgcgcatctgttctgtttcgaagttatccagcatgatgatatcggctc
+ctgctttcagggcttcatcaagttcttccagattctctacttcgacttctactggcgcat
+ccgggtgcagccaggacgctttttcgaccgcctggcgcactgagccggaggcaataatat
+ggttttctttgatcaggaaggcatcagaaagccccagacggtgattcgctccgccgccgc
+aaagtaccgcgtatttcagagctgaacgcaggccgggtaaggttttgcgcgtatccaaca
+actgcgtgttggtgccttccagcaattcgacatagtggcgtaccttactggcaactcctg
+aaagggtttgcacaaaattaagcgcagtgcgttcgcccgttaacagcacgcgggatgggc
+cttcaagttcgaacaaggattgattggcattgatgacatcgccgtcatccacatgccaga
+ttatggtgacatcgtcgcctgccagttgaataaacacctcttcaacccagcgtttgccgc
+aaaagacgccattctcgcgggtgatcaccgtggcatgagagcgagaattttccggtaaaa
+gttttgccgtaatatcattgttggcatcgactgttccgcctaaatcttcccgcagcgcct
+gggccaccgcgccggggatatcgagattaatgcgttccagcagctcgtcacgtcgggtgt
+cagggttatagcggcgaggcggcatgttaaaactccagatagctaacgaatcataaggta
+gaaacatgctactctgaaccgggtattagcaccacatataaggagatcctgcatgttgtt
+agaacaggggtggctggttggcgcgcgccgcgttccctcaccacattacgattgccgccc
+ggatgacgaaacacccaccctgctggtggtgcacaatattagcctgccgccaggcgagtt
+tggcggtccgtggatcgacgcattattcactggaactattgatccgcaggcacatccttt
+ctttgctgagatcgcccatttgcgcgtctccgctcactgtttgattcgccgtgatggtga
+aatagtccagtatgttcctttcgataaacgtgcatggcatgcgggagtctctcagtatca
+ggggcgcgaacgctgcaatgatttttctattgggattgagcttgaaggcaccgatacgct
+ggcgtataccgatgcgcagtatcaacagcttgcggcggttacgcgggcactgattgattg
+ctatccggatatcgctaaaaacatgacgggccattgtgatattgcgccggatcggaaaac
+cgatcccggtcctgcatttgattgggcacggtttcgtgtgctggtcagcaaggagacaac
+atgacgctatttacaaccttactggtgttaattttcgagcgcctgtttaagttgggcgag
+cactggcagcttgatcatcgtcttgaagcgttctttcggcgggtgaaacatttttctctc
+gggcgcacgttaggcatgaccattattgcgatgggcgtgacttttttactgttacgcgca
+ttgcagggagtattgttcaacgttcccacgctactggtgtggctgctgattggtttgctg
+tgtattggcgcaggtaaagttcgtcttcattatcatgcttatctgacagctgcttcacgt
+aatgatagccatgcccgtgccacgatggctggcgaactcaccatgattcacggcgtcccg
+gcaggctgcgacgaacgtgagtatttgcgtgagctgcaaaatgcattgctgtggattaac
+tttcgtttttatcttgcaccgctgttctggctgattgtggggggaacctggggacccgtt
+acgctgatggggtatgcgtttttgcgtgcatggcaatactggctggcgcgatatcagacg
+ccgcatcatcgtttacagtccggcattgatgccgtgcttcatgtactggattgggtgccg
+gttcgtcttgcgggtgtggtatatgccttgatcggtcatggtgagaaagcgttaccggcc
+tggtttgcttcgctgggtgatttccatacttcgcagtatcaggtgttaacgcgtctggcg
+cagttctctctggcgcgtgaaccgcatgtcgataaggtggagacgccgaaggcagcggtt
+tcaatggcgaagaaaacctcgttcgtggtcgtggtggtgattgcactactgacgatttac
+ggggcgttggtgtaaagattattgccctcaccctgtacgggtgagggcgtagagagatta
+atgcgcttttacggctttggcggttttctctttaaacagatagccgatacctaacacgat
+cagccataccgggatcaggtataccgaaatcgccattcctggggtcatcagcataatcac
+cagtaccgccgccataaacagcaggcagatccagttacccagcggataaagcagagcagg
+gaagcgagttaccacgccttgttcctgcttggcgcgacggaatttcatatgcgccaggct
+aatcatcgcccagttgattaccagtgcagataccaccagcgccattaacagtccgaaagc
+ggactctggggcaaggtagttaatcagtacgcacaacgccgttaccagtgcagacaccag
+aatggtatttactggtacaccacgtttatcgacagacgccagcgcttttggcgcattacc
+ctgttgtgccagaccaaacagcatacggctgttgcaatatacgcagctgttgtacacgga
+gagcgccgcagtcagtaccacgatgttcagcgcattcgccacaaaggtatcgcctaactc
+gtggaagatcagcacaaacggactggtatcggcggtaacgcgggtccacggcatcagtga
+gagcagaacggctaacgaaccaatatagaaaatcaggatgcggtagataacctggttagt
+tgctttcggtatactttgctccgggttatcagcttctgctgcggtgatccccaccagttc
+cagaccaccgaacgagaacatgataatcgccatcatcatcaccagcccggtgaagccgtg
+cggcaggaaaccaccctgatcccacaggttgctaacggtcgcctgcgggccgccgttgcc
+actgaatagcagccagccgccgaagatgatcatcgctaccaccgcgataactttgataat
+ggcaaaccagaactccatctcgccaaacactttaacgttggtcaggttgatggcgttaat
+caccacaaagaatacggcggcagaaacccaggtggggatttccggataccagaactgaat
+gtatttacccacggcagtcagctcagccatggcaactaaaacgtacagtacccagtagtt
+ccagccagaggcgaaaccggcaaaactgccccagtatttataagcaaagtggctaaagga
+gcctgcgacaggttcttcgaccaccatttcacccagctgacgcatgatcagaaaggcgat
+aaaaccagcaatggcgtaacccaggataatccctggccctgcggactgtattacggaggc
+gctacccaggaataacccggtccctatcgcgccacccagcgcgataagctgaatatggcg
+gtttttaaggccgcgctttagctgctcgccgtgctgttgaccttccatcatgaaacctcg
+tgcggtggttgtttttttgatctacgcagtgatgcgtgtgtaagtttgcaattccgtttg
+ttgtattaatttgtttacatcaaagaagtttgaattgttacaaaaagacttccgtcagat
+caagaataatggtatgcggcagcgaatgcacccgctttatgcatggttgaagatgagttg
+cttaaaaagaaaccgtttgtaaagctcagcctcaacccctctcaatatgtagaatgaatt
+taaattcgttttaattgaattaaaaatcacaaaattggtaagtgaatcggttcaattcgg
+atttttatagtttaataatcgttaaaaaactcctttcctacgtaaagtctacatttgtgc
+atagttacaactttgaaacgttatatatgtcaagttgttaaaatgtgcacagtttcatga
+tttcaatcaaaacctgtatggacataaggtgaatactttgttactttagcgtcacagaca
+tgaaattggtaagaccaattgacttcggcaagtggcttaagacaggaactcatggcctac
+agcaaaatccgccaaccaaaactctccgatgtgattgagcagcaactggagtttttgatc
+ctcgaaggcactctccgcccgggcgaaaaactcccaccggaacgcgaactggcaaaacag
+tttgacgtctcccgtccctccttgcgtgaggcgattcaacgtctcgaagcgaagggcttg
+ttgcttcgtcgccagggtggcggcacttttgtccagagcagcctatggcaaagcttcagc
+gatccgctggtggagctgctctccgaccatcctgagtcacagtatgacttgctcgaaaca
+cgacacgccctggaaggtatcgccgcttattacgccgcgctgcgtagtaccgatgaagac
+aaggaacgcatccgtgaactccaccacgccatagagctggcgcagcagtctggcgatctg
+gacgcggaatcaaacgccgtactccagtatcagattgccgtcaccgaagcggcccacaat
+gtggttctgcttcatctgctaaggtgtatggagccgatgttggcccagaatgtccgccag
+aacttcgaattgctctattcgcgtcgcgagatgctgccgctggtgagtagtcaccgcacc
+cgcatatttgaagcgattatggccggtaagccggaagaagcgcgcgaagcatcgcatcgc
+catctggcctttatcgaagaaattttgctcgacagaagtcgtgaagagagccgccgtgag
+cgttctctgcgtcgtctggagcaacgaaagaattagtgatttttctggtaaaaattatcc
+agaagatgttgtaaatcaagcgcatataaaagcgcggcaactaaacgtagaacctgtctt
+attgagctttccggcgagagttcaatgggacaggttccagaaaactcaacgttattagat
+agataaggaataacccatgtcagaacgtttcccaaatgacgtggatccgatcgaaactcg
+cgactggctccaggcgatcgaatcggtcatccgtgaagaaggtgttgagcgtgctcagta
+tctgatcgaccaactgcttgctgaagcccgcaaaggcggtgtaaacgtagccgcaggcac
+aggtatcagcaactacatcaacaccatccccgttgaagaacaaccggagtatccgggtaa
+tctggaactggaacgccgtattcgttcagctatccgctggaacgccatcatgacggtgct
+gcgtgcgtcgaaaaaagacctcgaactgggcggccatatggcgtccttccagtcttccgc
+aaccatttatgatgtgtgctttaaccacttcttccgtgcacgcaacgagcaggatggcgg
+cgacctggtttacttccagggccacatctccccgggcgtgtacgctcgtgctttcctgga
+aggtcgtctgactcaggagcagctggataacttccgtcaggaagttcacggcaatggcct
+ctcttcctatccgcacccgaaactgatgccggaattctggcagttcccgaccgtatctat
+gggtctgggtccgattggtgctatttaccaggctaaattcctgaaatatctggaacaccg
+tggcctgaaagatacctctaaacaaaccgtttacgcgttcctcggtgacggtgaaatgga
+cgaaccggaatccaaaggtgcgatcaccatcgctacccgtgaaaaactggataacctggt
+cttcgttatcaactgtaacctgcagcgtcttgacggcccggtcaccggtaacggcaagat
+catcaacgaactggaaggcatcttcgaaggtgctggctggaacgtgatcaaagtgatgtg
+gggtagccgttgggatgaactgctgcgtaaggataccagcggtaaactgatccagctgat
+gaacgaaaccgttgacggcgactaccagaccttcaaatcgaaagatggtgcgtacgttcg
+tgaacacttcttcggtaaatatcctgaaaccgcagcactggttgcagactggactgacga
+gcagatctgggcactgaaccgtggtggtcacgatccgaagaaaatctacgctgcattcaa
+gaaagcgcaggaaaccaaaggcaaagcgacagtaatccttgctcataccattaaaggtta
+cggcatgggcgacgcggctgaaggtaaaaacatcgcgcaccaggttaagaaaatgaacat
+ggacggtgtgcgtcatatccgcgaccgtttcaatgtgccggtgtctgatgcagatatcga
+aaaactgccgtacatcaccttcccggaaggttctgaagagcatacctatctgcacgctca
+gcgtcagaaactgcacggttatctgccaagccgtcagccgaacttcaccgagaagcttga
+gctgccgagcctgcaagacttcggcgcgctgttggaagagcagagcaaagagatctctac
+cactatcgctttcgttcgtgctctgaacgtgatgctgaagaacaagtcgatcaaagatcg
+tctggtaccgatcatcgccgacgaagcgcgtactttcggtatggaaggtctgttccgtca
+gattggtatttacagcccgaacggtcagcagtacaccccgcaggaccgcgagcaggttgc
+ttactataaagaagacgagaaaggtcagattctgcaggaagggatcaacgagctgggcgc
+aggttgttcctggctggcagcggcgacctcttacagcaccaacaatctgccgatgatccc
+gttctacatctattactcgatgttcggcttccagcgtattggcgatctgtgctgggcggc
+tggcgaccagcaagcgcgtggcttcctgatcggcggtacttccggtcgtaccaccctgaa
+cggcgaaggtctgcagcacgaagatggtcacagccacattcagtcgctgactatcccgaa
+ctgtatctcttacgacccggcttacgcttacgaagttgctgtcatcatgcatgacggtct
+ggagcgtatgtacggtgaaaaacaagagaacgtttactactacatcactacgctgaacga
+aaactaccacatgccggcaatgccggaaggtgctgaggaaggtatccgtaaaggtatcta
+caaactcgaaactattgaaggtagcaaaggtaaagttcagctgctcggctccggttctat
+cctgcgtcacgtccgtgaagcagctgagatcctggcgaaagattacggcgtaggttctga
+cgtttatagcgtgacctccttcaccgagctggcgcgtgatggtcaggattgtgaacgctg
+gaacatgctgcacccgctggaaactccgcgcgttccgtatatcgctcaggtgatgaacga
+cgctccggcagtggcatctaccgactatatgaaactgttcgctgagcaggtccgtactta
+cgtaccggctgacgactaccgcgtactgggtactgatggcttcggtcgttccgacagccg
+tgagaacctgcgtcaccacttcgaagttgatgcttcttatgtcgtggttgcggcgctggg
+cgaactggctaaacgtggcgaaatcgataagaaagtggttgctgacgcaatcgccaaatt
+caacatcgatgcagataaagttaacccgcgtctggcgtaagaggtaaaagaataatggct
+atcgaaatcaaagtaccggacatcggggctgatgaagttgaaatcaccgagatcctggtc
+aaagtgggcgacaaagttgaagccgaacagtcgctgatcaccgtagaaggcgacaaagcc
+tctatggaagttccgtctccgcaggcgggtatcgttaaagagatcaaagtctctgttggc
+gataaaacccagaccggcgcactgattatgattttcgattccgccgacggtgcagcagac
+gctgcacctgctcaggcagaagagaagaaagaagcagctccggcagcagcaccagcggct
+gcggcggcaaaagacgttaacgttccggatatcggcagcgacgaagttgaagtgaccgaa
+atcctggtgaaagttggcgataaagttgaagctgaacagtcgctgatcaccgtagaaggc
+gacaaggcttctatggaagttccggctccgtttgctggcaccgtgaaagagatcaaagtg
+aacgtgggtgacaaagtgtctaccggctcgctgattatggtcttcgaagtcgcgggtgaa
+gcaggcgcggcagctccggccgctaaacaggaagcagctccggcagcggcccctgcacca
+gcggctggcgtgaaagaagttaacgttccggatatcggcggtgacgaagttgaagtgact
+gaagtgatggtgaaagtgggcgacaaagttgccgctgaacagtcactgatcaccgtagaa
+ggcgacaaagcttctatggaagttccggcgccgtttgcaggcgtcgtgaaggaactgaaa
+gtcaacgttggcgataaagtgaaaactggctcgctgattatgatcttcgaagttgaaggc
+gcagcgcctgcggcagctcctgcgaaacaggaagcggcagcgccggcaccggcagcaaaa
+gctgaagccccggcagcagcaccagctgcgaaagcggaaggcaaatctgaatttgctgaa
+aacgacgcttatgttcacgcgactccgctgatccgccgtctggcacgcgagtttggtgtt
+aaccttgcgaaagtgaagggcactggccgtaaaggtcgtatcctgcgcgaagacgttcag
+gcttacgtgaaagaagctatcaaacgtgcagaagcagctccggcagcgactggcggtggt
+atccctggcatgctgccgtggccgaaggtggacttcagcaagtttggtgaaatcgaagaa
+gtggaactgggccgcatccagaaaatctctggtgcgaacctgagccgtaactgggtaatg
+atcccgcatgttactcacttcgacaaaaccgatatcaccgagttggaagcgttccgtaaa
+cagcagaacgaagaagcggcgaaacgtaagctggatgtgaagatcaccccggttgtcttc
+atcatgaaagccgttgctgcagctcttgagcagatgcctcgcttcaatagttcgctgtcg
+gaagacggtcagcgtctgaccctgaagaaatacatcaacatcggtgtggcggtggatacc
+ccgaacggtctggttgttccggtattcaaagacgtcaacaagaaaggcatcatcgagctg
+tctcgcgagctgatgactatttctaagaaagcgcgtgacggtaagctgactgcgggcgaa
+atgcagggcggttgcttcaccatctccagcatcggcggcctgggtactacccacttcgcg
+ccgattgtgaacgcgccggaagtggctatcctcggcgtttccaagtccgcgatggagccg
+gtgtggaatggtaaagagttcgtgccgcgtctgatgctgccgatttctctctccttcgac
+caccgcgtgatcgacggtgctgatggtgcccgtttcattaccatcattaacaacacgctg
+tctgacattcgccgtctggtgatgtaagtaaaagagccggcccaacggccggcttttttc
+tggtaatctcatgaatgtattgaggttattagcgaatagacaaatcggttgccgtttgtt
+gtttaaaaattgttaacaattttgtaaaataccgacggatagaacgacccggtggtggtt
+agggtattacttcacataccctatggatttctgggtgcagcaaggtagcaagcgccagaa
+tccccaggagcttacataagtaagtgactggggtgagggcgtgaagctaacgccgctgcg
+gcctgaaagacgacgggtatgaccgccggagataaatatatagaggtcatgatgagtact
+gaaatcaaaactcaggtcgtggtacttggggcaggccccgcaggttactccgctgccttc
+cgttgcgctgatttaggtctggaaaccgtaatcgtagaacgttacaacacccttggcggt
+gtttgcctgaacgtcggctgtatcccttctaaagcactgctgcacgtagcaaaagttatc
+gaagaagccaaagcgctggctgaacacggtatcgtcttcggcgaaccgaaaaccgatatc
+gacaagattcgtacctggaaagagaaagtgatcaatcagctgaccggtggtctggctggt
+atggcgaaaggccgcaaagtcaaagtggtcaacggtctgggtaaattcaccggggctaac
+accctggaagttgaaggtgagaacggcaaaaccgtgatcaacttcgacaacgcgatcatt
+gcagcgggttctcgcccgatccaactgccgtttattccgcatgaagatccgcgtatctgg
+gactccactgacgcgctggaactgaaagaagtaccagaacgcctgctggtaatgggtggc
+ggtatcatcggtctggaaatgggcaccgtttaccacgcgctgggttcacagattgacgtg
+gttgaaatgttcgaccaggttatcccggcagctgacaaagacatcgttaaagtcttcacc
+aagcgtatcagcaagaaattcaacctgatgctggaaaccaaagttaccgccgttgaagcg
+aaagaagacggcatttatgtgacgatggaaggcaaaaaagcacccgctgaaccgcagcgt
+tacgacgccgtgctggtagcgattggtcgtgtgccgaacggtaaaaacctcgacgcaggc
+aaagcaggcgtggaagttgacgaccgtggtttcatccgcgttgacaaacagctgcgtacc
+aacgtaccgcacatctttgctatcggcgatatcgtcggtcaaccgatgctggcacacaaa
+ggtgttcacgaaggtcacgttgccgctgaagttatcgccggtaagaaacactacttcgat
+ccgaaagttatcccgtccatcgcctataccgaaccagaagttgcatgggtgggtctgact
+gagaaagaagcgaaagagaaaggcatcagctatgaaaccgccaccttcccgtgggctgct
+tctggtcgtgctatcgcttccgactgcgcagacggtatgaccaagctgattttcgacaaa
+gaatctcaccgtgtgatcggtggtgcgattgtcggtactaacggcggcgagctgctgggt
+gaaatcggcctggcaatcgaaatgggttgtgatgctgaagacatcgcactgaccatccac
+gcgcacccgactctgcacgagtctgtgggcctggcggcagaagtgttcgaaggtagcatt
+accgacctgccgaacccgaaagcgaagaagaagtaatttttcgtttgccggaacatccgg
+caattaaaaaagcggctaaccacgccgctttttttacgtctgcaatttacctttccagtc
+ttcttgctccacgttcagagagacgttcgcatactgctgaccgttgctcgttattcagcc
+tgacagtatggttactgtcgtttagacgttgtgggcggctctcctgaactttctcccgaa
+aaacctgacgttgttcaggtgatgccgattgaacacgctggcgggcgttatcacgttgct
+gttgattcagtgggcgctgctgtactttttccttaaacacctggcgctgctctggtgatg
+cggactgaatacgctcacgcgctgcgtctcttcgctgctggttctgcgggttagtctgca
+ttttctcgcgaaccgcctggcgctgctcaggcgaggcggactgaatgcgctcacgcgctg
+cctctcttcgctgctggatcttcgggttagtctgcattctctcgcgaactgcctggcgct
+gctcaggcgaggcggactgataacgctgacgagcggcgtccttttgttgctgggtcagtg
+gttggcgacggctgaagtcgtggaagtcgtcatagctcccatagtgttcagcttcattaa
+accgctgtgccgctgcctgacgttgggtatctcgtgtaatgactggtgcggcgtgtgttc
+gttgctgaaactgatttgctgccgcctgacgctggctgtcgcgcgttggggcaggtaatt
+gcgtggcgctcattccgccgttgacatcggtttgatgaaaccgctttgccatatcctgat
+catgatagggcacaccattacggtagtttggattgtgccgccatgccatattcttatcag
+taagatgctcaccggtgatacggttgaaattgttgacgtcgatattgatgttgtcgccgt
+tgtgttgccagccattaccgtcacgatgaccgccatcgtggtgatgataatcatcattgt
+catgatgatgatggtcatgatcgtcgtcgtcccagtcgatgctgctgaatagtgcgtacg
+tggtagcaacgcccatgctatagccgaatccgcgtacaaagctgtcaacaaacggttctc
+cggctggtggtggcagataaaccggcggatacgcagtattggcccagttcccgtaaacca
+cggttgggttgtagttgggaatatagaccacatcaggattggcgggctcaatggaaatga
+cggttgttgccggctctgtaatgacggggttggcagttaaaactgtattggatggtatga
+cgggtgccgtgactgtctgttttaccggtacagctttcttcgttgtggtaataactttct
+gttcggttgatgacttcagcgagccggtttgttgcgccagttgccgcaatcgctgtaccg
+agtccatcacgtcctgcggctgggccagaaaagcatcgcccaggttttgcacccattgcg
+ggttttcgcccatcaatgccatcaattgtggaaaggccaccagtgatttaacgctggcgt
+cccacggctggtcagataccgcctgaatagcagcatcgccttgtttaagtggattatcgt
+gcgaccattgcactgcttgagcaacgtttgtcggataggttgatgccatcagcacctgcg
+aaagtagggcgtcgggatacagcgcgacgggcgcgacccattgatctatttgtgcagtgc
+tgaatgcggatttgacgacggcgggtgttacgggaggtgcggaaaccgttgcaggaaacg
+taaccgcggcagcgtcagacacagccagttgtgtcgattgcggttccacaggcgcttcca
+ctgtgcggctttttatatatagcccggtagaggcggcacaaagcccggcactgcaaatta
+gcgccagcacatggggtttaaacggcaaagtcattttcataattcggatctcaaggaaat
+cgcaatggtcggcgaactgccacccgcaggtgctgtgaatccgagtataaagaggcggta
+gtttaaattttgactaatcttgggattcgttgagaaaggtgattatcaccatgcgaatta
+acgaagtttttacggagggaaacaatctctagaccatccttaacgattcagccacttttt
+tatgttgcttttttgtaaacagattaacacctcgtcaaaatcctgctattctgcccgttg
+cggtactgggcatttaccctacaaactgctgtctcacaggagcgtgaagagaatcgcctg
+ccgcactatgacaatgagagcgaggagaaccgtcgtgctagaagaataccgtaagcacgt
+agctgagcgtgccgctgaggggattgcgcccaaacccctggatgcaaaccaaatggccgc
+acttgtagagctgctgaaaaacccgcccgcgggcgaagaagaattcctgttagatctgtt
+aaccaaccgtgttcccccaggcgtcgatgaagccgcctatgtcaaagcaggcttcctggc
+tgctatcgcgaaaggcgaagccaaatcccctctgctgactccggaaaaagccatcgaact
+gctgggcaccatgcagggtggttacaacattcatccgctgatcgacgcgctggatgatgc
+caaactggcacctattgctgccaaagcactttctcacacgctgctgatgttcgataactt
+ctatgacgtagaagagaaagcgaaagcaggcaacgaatatgcgaagcaggttatgcagtc
+ctgggcggatgccgaatggttcctgaatcgcccggcgctggctgaaaaactgaccgttac
+tgtcttcaaagtcactggcgaaactaacaccgatgacctttctccggcaccggatgcgtg
+gtcacgcccggatatcccactgcacgcgctggcgatgctgaaaaacgcccgtgaaggtat
+tgagccagaccagcctggtgttgttggtccgatcaagcaaatcgaagctctgcaacagaa
+aggtttcccgctggcgtacgtcggtgacgttgtgggtacgggttcttcgcgtaaatccgc
+cactaactccgttctgtggtttatgggcgatgatattccacatgtgccgaacaaacgcgg
+cggtggtttgtgcctcggcggtaaaattgcacccatcttctttaacacgatggaagacgc
+gggtgcactgccaatcgaagtcgacgtctctaacctgaacatgggcgacgtgattgacgt
+ttacccgtacaaaggtgaagtgcgtaaccacgaaaccggcgaactgctggcgaccttcga
+actgaaaaccgacgtgctgattgatgaagtgcgtgctggtggccgtattccgctgattat
+cgggcgtggcctgaccaccaaagcgcgtgaagcacttggtctgccgcacagtgatgtgtt
+ccgtcaggcgaaagatgtcgctgagagcgatcgcggcttctcgctggcgcaaaaaatggt
+aggccgtgcctgtggcgtgaaaggcattcgtccgggcgcgtactgtgaaccgaaaatgac
+ttctgtaggttcccaggacaccaccggcccgatgacccgtgatgaactgaaagacctggc
+gtgcctgggcttctcggctgacctggtgatgcagtctttctgccacaccgcggcgtatcc
+gaagccagttgacgtgaacacgcaccacacgctgccggacttcattatgaaccgtggcgg
+tgtgtcgctgcgtccgggtgacggcgtcattcactcctggctgaaccgtatgctgctgcc
+ggataccgtcggtaccggtggtgactcccatacccgtttcccgatcggtatctctttccc
+ggcgggttctggtctggtggcgtttgctgccgcaactggcgtaatgccgcttgatatgcc
+ggaatccgttctggtgcgcttcaaaggcaaaatgcagccgggcatcaccctgcgcgatct
+ggtacacgctattccgctgtatgcgatcaaacaaggtctgctgaccgttgagaagaaagg
+caagaaaaacatcttctctggccgcatcctggaaattgaaggtctgccggatctgaaagt
+tgagcaggcctttgagctaaccgatgcgtccgccgagcgttctgccgctggttgtaccat
+caagctgaacaaagaaccgatcatcgaatacctgaactctaacatcgtcctgctgaagtg
+gatgatcgcggaaggttacggcgatcgtcgtaccctggaacgtcgtattcagggcatgga
+aaaatggctggcgaatcctgagctgctggaagccgatgcagatgcggaatacgcggcagt
+gatcgacatcgatctggcggatattaaagagccaatcctgtgtgctccgaacgacccgga
+tgacgcgcgtccgctgtctgcggtacagggtgagaagatcgacgaagtgtttatcggttc
+ctgcatgaccaacatcggtcacttccgtgctgcgggtaaactgctggatgcgcataaagg
+tcagttgccgacccgcctgtgggtggcaccgccaacccgtatggacgccgcacagttgac
+cgaagaaggctactacagcgtcttcggtaagagtggtgcgcgtatcgagatccctggctg
+ttccctgtgtatgggtaaccaggcgcgtgtggcggacggtgcaacggtggtttccacctc
+tacccgtaacttcccgaaccgtctgggtactggcgcgaatgtcttcctggcttctgcgga
+actggcggctgttgcggcgctgattggcaaactgccgacgccggaagagtaccagaccta
+cgtggcgcaggtagataaaacagccgttgatacttaccgttatctgaacttcaaccagct
+ttctcagtacaccgagaaagccgatggggtgattttccagactgcggtttaaaaagtcag
+cgcacgcgctgcgcataaacgacacaatgcccggtgaatgagattcccgggcattttttt
+atttctaaaccatcgccgttccgctgtttttctccggtaaggctgcgataattacatcaa
+tggcgcaatgcgatttcggtgcattgccgggagcagaggaacacactatggattacgaat
+ttctgcgcgatattaccggagtggtaaaggtgcgtatgtccatggggcatgaagtggtcg
+ggcactggtttaatgaagaggtgaaagaaaacctggccttgcttgatgaagtggaacaag
+cagcgcacgcactgaaaggtagcgaacggtcctggcaacgggcagggcatgaatacaccc
+tgtggatggacggtgaagaggtgatggttcgcgccaatcaactggaattcgctggcgatg
+aaatggaagaggggatgaactactacgacgaagaaagcctgtcgctatgcggcgttgagg
+attttctgcaggtcgtggcggcttaccgcaatttcgtgcagcagaagtaaataaatctgg
+cggagcctgggagctccgccagagccgttaaacagctggcatattgcgcccgtaataaat
+ctcgcgcatttctttccacagcgcagcggtaatttcctggcgctcgctgtcggttaagtc
+ttccggtttggtgtggaacatgtagtgcttaaggtcgaactctttaagcaacatcttggt
+atggaagatattttcctgatagacgttcacatccaccatgtcatacagcgccttcatatc
+gtcagacataaagttctgaatcgaattaatctcatggtcgataaagtgcttcataccgtt
+aatgtcgcgggtaaaaccgcgcacgcgataatcaatggttacgatatcggactcaagctg
+gtggatcaggtaattcagcgccttcagcggagaaatcacgccgcaggtagagacttcaat
+atcggcgcggaaggtacataaaccgccttcaggatgactttccgggtaggtatgtacgca
+aatatgacttttatcaagatgggcaacgaccgtttctggcagtgggccggggtgttctgt
+tttgtcgatgagtttcgggtcaaccggttcttcactcaccagaatagtgacgctggcacc
+ctgtggttcgtaatcctggcgggcgatgttaagaatattagccccgataatggaacaggt
+ttctgacaggatttcggtcagacggttggcattatagagttcatcgatataagcaatata
+accgtcgcgctcttcggcagttttggcgtagcagatatcgtaaatacaaaaactcagact
+tttggtcagattattaaagccatgcagtttcagttttttcaatttcttatcttctcctta
+ggacggctgtgaagccagtgcgtcttgcagatactgaggtaaggcaaaagctgccgtatg
+gattgccggattgtaataacggcatttcaggccagaggcgagaaaacgcgcctgaataat
+ttcggttgagagatggcgtaaggcgtcgttatctgtcgcccatgcaaaagtcatgatacc
+gccgtaataggtcgggatcgccgcctgataaaagccaacgtcgctgaagtaatggctgag
+tttgcgatggctgtcgatggcttcttcctgctgtaaaaagcagacgccgttttgtgcgac
+gaagataccgccaggattcaggcaacgtttgcagccttcataaaatgccgaagtgaaaag
+gctttcgccgggaccgataggatcggtgcagtcggagataatgacatcaaaggtctggct
+ggtttgattaacgaaattgacgccatcgtcgatcaccagcttaaagcgcggatcgtcgta
+gctaccggcgttatggttgggtagatactgacggcagaacgatacgacacccgcatcgat
+ttccaccatcgtgattgactcaacgtttttatgtcgggttacttcacgcagcatggcacc
+gtcgccgccgccgataatcagcacatgtttcgcgtgaccatgggccagtagcggaacatg
+ggtcatcatctcatgatagataaactcgtcgcgctcggtggtttgtactacgccatccag
+cgccattacgcgaccaaatgcagcgttctcaaaaatgatcagatcctggtgatcggtctt
+ttcatgatacagaacgttatctaccgcaaagtactgcccaaactggtcgtgtagcgtttc
+atgccactgttttttttcggccatgggttgatacctcctttgttaacacccgtaaaaaaa
+gggcgcaacataatagctaacattgaccgcggatgcacggtcaatatttctacaaaaagg
+tatcagggattatttgacgtaggcaagcaggcttaaggaatcgcgggccagggctttgca
+ttttttagcgacgggaatgccaatgccgctgagatcgcggtagctgtcttcaccgagggc
+tttcatgtcgaaggtgtcgtaattactgaggtcccactggttttgctgagcgaaaaagac
+cagtgcgcgacgaatttgcccgttaggtaagttctggtaaccacaatcgttcttcagaaa
+gacaaaaactgccgttaaatcggccatatcttcggcttcagactcgctgagcgcgtaact
+gtttgcgcagacggccatcaggctgccgaataacactgttctgaaaaacgtcttcattgc
+ttctaccaggggcttaaagaagataaacgttagcacactgcgagcgaggcgacgaccatt
+attgtcgattaaattgtgtctgcggcttgaccttcccgtaaggggaaggactatgctcaa
+cgtttgattttgtttcgcctgcttaagaataaggaaataactatgcaacgtcgtgatttc
+ttaaaatattccgtcgcgctgggtgtggcttcggctttgccgctgtggagccgcgcagta
+tttgcggcagaacgcccaacgttaccgatccctgatttgctcacgaccgatgcccgtaat
+cgcattcagttaactattggcgcaggccagtccacctttggcgggaaaactgcaactacc
+tggggctataacggcaatctgctggggccggcggtgaaattacagcgcggcaaagcggta
+acggttgatatctacaaccaactgacggaagagacaacgttgcactggcacgggctggaa
+gtaccgggtgaagtcgacggcggcccgcagggaattattccgccaggtggcaagcgctcg
+gtgacgttgaacgttgatcaacctgccgctacctgctggttccatccgcatcagcacggc
+aaaaccgggcgacaggtggcgatggggctggctgggctggtggtgattgaagatgacgag
+atcctgaaattaatgctgccaaaacagtggggtatcgatgatgttccggtgatcgttcag
+gataagaaatttagcgccgacgggcagattgattatcaactggatgtgatgaccgccgcc
+gtgggctggtttggcgatacgttgctgaccaacggtgcaatctacccgcaacacgctgcc
+ccgcgtggttggctgcgcctgcgtttgctcaatggctgtaatgcccgttcgctcaatttc
+gccaccagcgacaatcgcccgctgtatgtgattgccagcgacggtggtctgctacctgaa
+ccagtgaaggtgagcgaactgccggtgctgatgggcgagcgttttgaagtgctggtggag
+gttaacgataacaaaccctttgacctggtgacgctgccggtcagccagatggggatggcg
+attgcgccgtttgataagcctcatccggtaatgcggattcagccgattgctattagtgcc
+tccggtgctttgccagacacattaagtagcctgcctgcgttaccttcgctggaagggctg
+acggtacgcaagctgcaactctctatggacccgatgctcgatatgatggggatgcagatg
+ctaatggagaaatatggcgatcaggcgatggccgggatggatcacagccagatgatgggc
+catatggggcacggcaatatgaatcatatgaaccacggcgggaagttcgatttccaccat
+gccaacaaaatcaacggtcaggcgtttgatatgaacaagccgatgtttgcggcggcgaaa
+gggcaatacgaacgttgggttatctctggcgtgggcgacatgatgctgcatccgttccat
+atccacggcacgcagttccgtatcttgtcagaaaatggcaaaccgccagcggctcatcgc
+gcgggctggaaagataccgttaaggtagaaggtaatgtcagcgaagtgctggtgaagttt
+aatcacgatgcaccgaaagaacatgcttatatggcgcactgccatctgctggagcatgaa
+gatacggggatgatgttagggtttacggtataaaaagaccgtattcggaaatatgcccgg
+atctctccgggcattaaactgatgacaaacgcaaatctgcctgatgcgctacgcttatca
+ggcctacgctagctgtgcaatccattgattttgcacaattttgtaggctggataaggcgt
+tcacgccgcatccggcatgaacaacgcgcacgttgtcagcaatctgagcaagtcttactt
+cacatcatccggcagcgcataagccacaatatagtcgcccatcttcgtaccaaatgaacc
+gtgaccgcctgcggagatcaccacatactgcttaccattcacttcataggtcattggcgt
+agcctgaccacccgctggtaaacgaccctgccacagtttttcaccgttgctcatgttgta
+agcgcgcaggtagttatctgccgtagcggcgataaacagcacgttacccgccgtggagat
+tggcccgcccagcatcggcatacccatattgaacggcaccggaaccggcatcgggaacgg
+catactgtcctgcggcgtaccaatacgtttcttccacaccacttcattagttttcagatc
+cagcgccgagatataaccccatgctggctgtttacatggcagaccaaatggtgagaggaa
+cgggttgagcgtgacaccatacggtacaccgtactgtggctgaatgccggattccgtacc
+cgtgcctttggcatctttcggctgctccatcgggttgccaggaccacgcgggatcagttt
+cgaaacaaacggcagtgccattgggttggcaatcgccacttcacgatttggatcaacgga
+aatcccgccccattcgaacatccccaggttacccgggaagaccagcgtaccctgttcaga
+tggcggggtgaaaatgccttcatagcgcatctggtggaacatcacgcggcacaccagttg
+gtcaaacatggtggctccccacatatccgcaccgctcaaatctttcgtcggacggaagct
+cagttcagaaaacggttgagttggggttacgtaatcgcctttcgctgcaccttggggaac
+cggtttttccggtgccggaaccaccagttcgccattacgacgatcgagcacaaaaatgtt
+gccggttttcgccggagcgtaaataactggcactttctgaccattaacggtgatgtccgc
+cagcgtcggctgtgccggaagatccatgtcccacaggtcgtggtgaacggtctggtagct
+ccacgccagtttcccggtagtggcattcagcgccagaatcgagctggcataacgttcctg
+ttccggtgtgcggttaccgccccagatatccggcgtggtcacgcccatcggcagatagac
+cagatccagcttcgcgtcataggccgctggtgcccaggagtttggcgagttaaaggtaaa
+ggtgtgttcgtcagacgggattgcgttcggatctttcgcgccgggatcaaaagcccacag
+cagctccccggtgttgacatcaaaaccacggatcacgccagacgtttcgcgggttgagaa
+gttatcggtaactgaaccggccatcacgatggttttatcggtgataatcggtggcgaagt
+cggttcatacagacccggtttggtgtctggcatattgctttgcagattgagcacgccttt
+attggcgaaggtttcgcacagtttgccgttttcagcgttaatcgcaatcagtcgaccatc
+attgaccggaagaatgatacgacgcgggcaatccgccatcacttccggcgaagcggtttc
+tgctttggcttcatgataagagacaccacggcaggttacgtgctggaaagactcgttggt
+tttcagctcaggatcgtaatgccatttctctttgccgctggcggcatcaagcgcaaacag
+gcgctggtgagcggtacacaggtaaagggtgtcgcccactttaatcggcgtcacttcatt
+ggtgatttcacccggatcgttcggctgcttcacatcgccagtacggaacacccaggcttc
+tttcagattatggacgttatcggcgttaatttgtttcagcggcgaaaagcgttgaccttc
+ctgattacgaccataggcaggccagtcctgatcggctacgggggagatagcttcagcagg
+tgtggcatcggcgcttaaggtgccgttgatctcctgcggatcgttaaatccggcccaggt
+caggataccaccgctaatcagcagtgcgaccaccagtgcggcaactgcgccgctggcagg
+aatgaccaggcgacgccagacaaacggcaggatcagccagatgccgaagaagaccagaat
+gtcgctgcgcggagtcagcgcccagaagtcgaaaccaacttcccagacgccccaaatcat
+ggtgccgagcagcagggctgcgtatagccaaagcgcggcgcgtttactgcgccacagcat
+ccaggcgacgccgagcatcacaaggccagcgatagggtagtaccaggagccgccaatcgc
+gaccagccagcctccgccaatgagtagatacagcccgcaaagcgctgcaaaaagggctgt
+tagcgtgacgagtaatcgtcgcgagcctgtattgttaattgccataaagagacaccattt
+caattcattaatattttagtagcaattaattataggttttaacatgtgtgatcgtcatca
+caattcgagctttattaacagattccgcgaatgaatagttttactggtatactgcgtgtc
+ttgcgctttgttgcggtgccaaaacctgcccgtgcgaagtgatttgtttttaaatcatat
+ggttagagatatgaaacatactgtagaagtaatgatccccgaagcggagattaaagcgcg
+tatcgccgaactgggtcgtcagattactgagcgttacaaagacagcggcagcgatatggt
+gctggtgggtctgctgcgtggctcatttatgtttatggcggacctgtgccgtgaagttca
+ggtatctcatgaagtcgactttatgaccgcctccagctacggtagcggcatgtccaccac
+ccgtgatgtgaaaatcctcaaagatctggatgaagatatccgtggcaaggacgtgctgat
+tgttgaagatatcatcgactcggggaatacactgtcgaaagtgcgtgagatcttaagcct
+gcgcgaaccgaagtcgctggcgatttgtacgctgctggataaaccgtcccgtcgtgaagt
+gaacgtcccggtagaatttatcggtttctcgatcccggatgagtttgtggtgggttacgg
+cattgattacgcacagcgttaccgtcatctgccgtatatcggcaaagtgattctgctgga
+cgagtaagtgtgaagttgccggatgtgttgcatccggcatggcatttttatttgtggttg
+gcgtgtttcagcttgaggttggaaatcccgtgacggtaacgttgctcaagggtttcgcgg
+ttggtggcggtaacatccagatcacgcagcaagccgtcgtgaatgccgtaggcccagccg
+tgaatggtaactttctgcccgcgtttccacgctgattgcataatggtggagtggcccagg
+ttatacacctgttccatgacgttcagttcacacaaggtatccagacggcgctcttgcggc
+atttcgccgagcaatgagctatgtttgaaccagatatcgcggatatgcagcagccagttg
+ttgataagccccagttccgggttttcaactgcggcttgtacgccgccgcaaccgtagtgg
+ccacagataataatgtgttcaacttcgagtacatccactgcatactgaaccacggaaagg
+cagttcaggtcagtgtgaatgaccaggttagcaacattacggtgaacaaagagttcgccc
+ggctcaagaccggttaaacgttctgcaggaacgcgactgtcggaacatccaatccataga
+aagcgcggtttttgcgcttgtgccagtttctcaaaaaacccgggatcctcttccaccagc
+atttttgaccatagtgcattgttgctgatgagtgtatctatgtctttcatggaggttaac
+gacctgtaaccaaataattacgtttggctaatatagggcaactccgggacgatttaaacc
+acagataaagtgtaagaacgtaaggtaagtaaaaatttatgaccattgcactggaacttc
+aacagcttaaaaaaacctatccaggcggcgttcaggcgcttcgtgggatagatttgcagg
+tcgaagcgggtgatttttatgcgcttctcgggccgaacggggccgggaaatcgaccacta
+tcggtattatcagctctctggtaaataaaacctccgggcgggtcagcgtatttggttacg
+atctcgagaaggatgtcgtgaacgctaaacgtcagttgggactggtgccgcaggaattta
+acttcaacccgtttgaaaccgtgcagcaaattgtggtgaatcaggcagggtactacggcg
+tggagcgcaaagaagcgtacatccgcagcgaaaagtatcttaaacaactcgatctatggg
+gaaaacgcaacgaacgtgcgcgtatgttatctggcgggatgaagcgccgtttaatgattg
+cccgtgcgttaatgcatgaacctaaactactgattctcgacgaaccgaccgcaggcgtgg
+atattgaacttcgccgctcaatgtggggctttttgaaggatttaaacgacaaaggcacca
+ccatcattctcaccacacactacctggaagaagcagaaatgctgtgccgcaatatcggca
+ttattcaacacggtgagctggtggaaaatacctcgatgaaggcgctgctggcgaagctga
+aatcggaaacctttattctcgatctcgcaccgaaaagcccgttaccgaagctcgatggct
+atcagtatcgactggtcgataccgcgacgctggaagttgaagtgctgcgtgagcagggga
+tcaacagcgtatttacgcagttaagtgagcagggcattcaggtattaagtatgcgtaaca
+aagctaaccgtctggaagagctgtttgtttcactggttaatgaaaaacaaggagatcgcg
+catgatgcatctttactgggtggcgctaaaaagcatctgggcgaaagagatccatcgctt
+tatgcgtatctgggtgcagacgctggtgccgccagtcatcaccatgaccctttactttat
+tatcttcggtaacctgattggttcgcgtattggcgatatgcatggcttcagctatatgca
+gttcatcgtaccggggctgatcatgatgtcggtgatcaccaatgcctacgccaacgttgc
+gtcatcattttttggtgccaagttccagcgtaatattgaagagctgctggtagcgccggt
+tccgactcacgtcattattgccggatatgtcggcggtggcgtggcgcgtggtctgtttgt
+tggcattctggtgacggcaatttcactgttttttgtgccatttcaggtgcattcgtgggt
+attcgttgccttaacgctggtgctcacggcggtgttgttctcccttgcgggtttgctgaa
+cggtgtgtttgccaaaacgttcgatgacatcagcctggtgccaacctttgtgttaacgcc
+actcacgtatttgggcggggtcttttactcactgactttgttgccgccgttctggcaagg
+gctgtcgcacctgaacccaatcgtttatatgatcagtggtttccgctacggcttcctcgg
+tatcaatgatgttccgctggtcactacctttggcgtactggtggtctttattgtggcgtt
+ttatttgatctgttggtcgctgatccaacgtggacgtggtttgcgtagctaaggctattt
+cctctcctctggatttgggggagaggagttttgacggctatcaccctttatcaacaatgg
+tcagggtagactgattttcggctaaggaggaaggcgatgttaggttgggtaattacctgt
+cacgatgaccgggcgcaagagatactggatgcgctggagaaaaaacatggggcacttctt
+cagtgccgggccgtgaatttctggcgcggattaagctctaatatgctcagccgcatgatg
+tgcgatgctctgcatgaagcggactctggtgagggtgtcatcttcttaaccgatatagcc
+ggagcgccaccgtatcgcgtggcttcattattaagccacaaacactcccgttgcgaagtg
+atttctggtgtcacgttaccgttaattgaacagatgatggcttgccgtgaaaccatgacc
+agttcagagtttcgcgagcgtattgtcgaactgggtgcgccggaggtgagtagtctttgg
+caccaacaacaaaaaaatccgcctttcgtcctcaaacataatttgtatgagtattaaccc
+gcgattctgatggcgcttttgctacaataaaagcgttgtttcaccctcggttattttttc
+atgtacaaacaagctgttattctcctgctgatgctgtttaccgcaagtgtcagtgccgcg
+ttacctgcccgttatatgcaaaccatcgaaaatgctgcggtctgggcgcaaattggtgac
+aagatggtgaccgtggggaatattcgggccggacaaatcattgccgtggagcccactgcc
+gcaagttattacgcatttaattttggctttggcaaaggttttatcgataaaggtcatctc
+gagccggttcaggggcgacaaaaagttgaagacggtttgggcgacctcaacaagccgctg
+agtaatcagaacttagttacctggaaagatacgccggtctataacgcgccgagtgcggga
+agtgcgccatttggggtactggcggacaatttgcgctacccgattttgcataaactgaaa
+gacaggttaaatcaaacctggtatcagatccgtattggcgatcgactggcctatatcagc
+gcactggatgcccaacccgataatggcctgtcggtgctaacctatcaccatattctgcgc
+gacgaagaaaacacccgttttcgccatacttcgacgaccacatcggtacgcgctttcaat
+aaccagatggcctggctgcgtgacaggggatacgcgacactgagcatggtgcagctggaa
+ggctacgtgaagaataagatcaatctccctgcgcgagcggtggtgattacctttgatgat
+ggcctcaagtcggtgagccgctatgcgtatcctgtgttgaaacaatatggcatgaaggcg
+acggcgtttattgttacctcacgcatcaaacgtcacccgcagaagtggaacccaaaatcg
+ctgcaatttatgagcgtttctgagcttaacgaaattcgcgatgtatttgatttccagtca
+catacccattttttgcatcgggtagatggttatcgccgacccatattactgagccgtagt
+gagcacaatattctgtttgattttgcacgttcacgccgcgctctggcgcaatttaatccg
+catgtctggtatctttcgtatccgtttggcggatttaatgacaacgccgtgaaggcagca
+aacgatgccggatttcacctggcggtgacaaccatgaaaggcaaagtaaaaccgggggat
+aatccgttgttactaaaacgactttatatcttaagaacggattcgctggagacgatgtcg
+cggctggtgagtaaccagccgcagggataacaatcaagcaacctgtaccggaatcgcttt
+cgcggtacgtttcatttcattgtcgccttcaaaataggcgacgttgggtcgccaggtgcg
+agcttcttcatctggcatggtaacgaagctggcgatgatgacaatatcgccgacactggc
+gcagtgggccgccgcaccgttaacagaaataattctcgaaccgcgttctgccgcgatggc
+ataagtggagaaacgcttgccgttggtgacattccagatatcaatggcttcgttttcgag
+aataccggctgcgtcaagaaaatcctggtcaatggcgcaagaaccttcatagtgcaggtc
+cgcatgagtcactttcacgcggtggagtttgccctgcagcatcgtgcgaatcataacttc
+tacctttctaccctgtcgttaacgaagcaggcgatgcctgctttgaggaaattctcacgc
+agtattgcccgatttttgtttagtgtctactcatctgacggcatttgcgtcagcagtttg
+cgtaccgcgccgaagcgtgccatgtatcgcctgtaacgaattgatatttctctgaacgct
+gctcggtaaacaataaagaggtggctgacgatagcgcgccttgactggatactgccttca
+cgcaaagccacacggaagacagggaagatggatgcaccgagtaccacaccgcatgacgcg
+gtatttaaacaatttttaatgcatgcggagacggctcgcgactttctggagatacatttg
+ccagtggaattacgcgaactttgtgacctcaacacgcttcatttagagtcggggagtttc
+attgaagagagcctgaaaggacacagcacggacgtgctctattccgtgcaaatgcagggc
+aatcccggttatctgcatgttgtgattgaacaccaaagcaagccggataagaaaatggcc
+tttcgcatgatgcgttattctatagccgccatgcaccggcatctggaggctgaccacgat
+aagctgccgctggtggtgccgatactgttttatcagggcgaggccacaccttatccgcta
+tcaatgtgctggtttgatatgttttactcgccggagctggcgcgacgcgtctataacagt
+cctttcccgctggtggatatcaccatcacaccggatgacgaaatcatgcaacatcggcgg
+attgcgattctcgaactactgcaaaaacatattcgccagcgcgacttaatgttattgctt
+gagcaactggtcacgctgatcgacgaagggtacactagcggaagtcagttagttgccatg
+caaaactatatgctgcaacgcggtcatactgaacaagcggatttgttttacggtgtgttg
+agagacagggaaacgggaggggagtctatgatgacgctggcgcagtggtttgaagagaaa
+gggattgagaaggggattcagcagggaagacaggaagtaagtcaggaattcgcccagcgt
+cttctgagtaaaggaatgtctcgggaagacgttgcagagatggcaaatttacctcttgct
+gagattgataaggtaattaaccttatttaagttacctgtgttatgacagatgacgtgggg
+taaattaataactggcgccatcagccgtagcgccagttaagtattacgccagctcgacca
+ttttgttgtcgatcaggcgagcatcgccaagccaggcggctaccagaattactgcccgtt
+tgctggtttcagaaacttccagcaatgtgtcggcatcgcgaatctgaatatcatcggcgc
+ggaagcctttttcattcagttcttgccccgcaatggtaataatttcatcgagatcccgtt
+ccccagcctgcaatttgtcagcaatcgaacttaaaactttgtacagaccaggcgcaattt
+tgcgttgttccgccgtcagataaccgttacgggaacttagcgccagaccgtctttggcgc
+gcataattggcacaccgacaatctcaatatcgaagcccatatcggcaaccattttgcgga
+tcagcgccagttgctgaaaatctttttcaccgaagcaggcgatgtccggctggaccaggt
+tgaacagcttgctgacaatagtcgaaacgccgcgaaaatgtcccggacggctggcacctt
+ccagcatggtcgaaaggccaggaacgtcaacgtaagtgtgggtttcagtaccgttcgggt
+agatctcttttaccgaaggggcgaaaactaaatccactttacgtttgtttagcttctcgc
+agtcctcctgcaaggtccgtggataacgagccagatcttccgggcggtcgaactgcatcg
+ggttaacgaaaatactgacgacgaccacatcggcgcgggctttggcttcgtcgaccagct
+tcatatggccatcgtgcaggttacccatggtaggcaccagcgccacgcgcttgccttcca
+tacgcaggcggcgaatttgctgacgcagcagcggcagggtttcgataattaacacaacgt
+gactccttaatggaaactgtgttcttcgcccggataaacgccggactccacttcagccat
+atactgccgcacagccgcgcggatgtcgcccgtttcggcgaggaaatttttagcgaattt
+aggaatgtgaccgccggtaataccaaaggcgtcgtgcatcacgaggatctgcccgtcagt
+gacgttgcctgcgccaatgccaataaccgggatcgccagtgcttcggtaatacgttttgc
+cagttcaaccggcacgcattccagcaccagcagctgtgccccagcagcttctaaggctaa
+tgcatcgctgagcagttgatcgcccgcttcatcgccgcgcccctgaactttgtagccacc
+gaaaatattcactgactgtggtgttaaacctaagtgaccacatacaggaacggcacgttc
+ggtcagcatttgtacggtttctaccagccactcaccgccttcaattttgaccatgttagc
+accggcacgcataaccgttgcggcgttttcgaaggcttgttccggcgtggcatacgccat
+aaacggcaggtcagccagcagcaggcagtttggtgcgccgcgacgtacggcggcagtgtg
+gtaggcgatatcggcaacggtaactggcagggtggagtcgtgcccctgaaccgtcatgcc
+cagcgaatcgcccaccagcatgacgttaagcccttcatcagcaaagagtttggcgaagct
+atagtcataagcggtgatggtcgcgaaacgttttttttcctgtttgtacttctgcagtaa
+ggagatggtggtcggtttcataacgtatcctgataaattgatgttgtgctgtctggcatt
+ttatcagtcacattggtgggggcaatgatttatccgtagcagcactgccagaaggtgaca
+gtgctgctacgttatcagggataggttacctggaaagtactggtggctttaaattcgccg
+ggttcgatagcaatattcccgtcttgctttaatgttgcctggaaatgaagaggctgtgat
+gtgccgttaccttgattagggtaaaccccatcggaggtgtcatcttcggtttcataatct
+atataaacagaattcgtatcattaggttttaatgtcattagcggatttttactggttgct
+aaaccttcaatgagtacgccaacgcctttggcggcagtgcttccagtaagcgtattacca
+agcagttgtgtgttttgagtacctacttttccagtgacgagttttgtttcaatattacgc
+acacgaatacaattctgaagcgagatatcaaagggaacaggtgaagcgccatttttaatt
+gtcccagagctatattctcccattctaaccgttgaaccattgactgatggcccggtaagt
+atggaggtaaaacatgttggtaaggttaatttgacattattcagtgtgaaattgacataa
+atgtggttgctgtgatctacaacttttgtaccaggactgtaggccttaaacgaataaagg
+taatttgatgaactggataactggacttgctgattaagtgtaggatcgaaattagtatct
+gtataaaattcaacagttatgttgtgtactataccaccaatagcccaaaacttatcgtag
+tcgtctgctttgttgcaacccttagtttgtagatcgctgtctgtgacggaaaagaaaaat
+tcttggttggaaggatctccgatatagattcctggcgattgaatgtcagttattgtatcg
+tatgcagaccagacccttgatattaacatggtgtaatacagaccaggaacagatgtatta
+aatagtttatgtccgccataatctttacctgaatagaccatggcattttcaatagttatt
+ggaccaggattcgctctgccagatgtattgcagtaaagaataccaccaccggtacctgta
+tccaggtatgaccagtacatttttaccccagtcgggccgagctgcgtgggtttataaaaa
+accaagttgcttgctgttgatgtgtaattaaaggtcatctgtgcggcagtggaggggcct
+cgatagttatcaactcctgcattatttcccacaataaaacttgtatatgcactgactgta
+ttacaacaagaatacagtgctaaaaaaagaatgtacctgaagatagtcttcatttttact
+ccaatgtttctttattgttatggtttgcgctgtttttgtttgttattcgtagtaaatatc
+cactaacacatggctcataagttgaccagatgtaacactcaatgcaggatcgattttttg
+cattcgggtgctaaatttccaggatgaaccattcatgtcatccgacattactggataaac
+ggaacgagatccgcctgaagcattaagaacattgaatgtattcgccgaatcctgagtaga
+aaatataactactcctacattacttgctcctgacgaaatttcattagcaaatatttgcct
+agagccagcagccatgacaccgctaagggctctaaaatcaatatgtaactgatttagcac
+atcgccagttccctgtaatgcacagtcggatacagtgatagtgaactcttttccacctgg
+ttgataactttcaggagtaacattacctgaaaaatatcccaccccaacgacgccaagatc
+aatattaccctggttactgattccgcttttgcaggtgctgttttttacattggcaacaag
+gtcaatatcctgtccagcaatggctggacaggcgatgcaaaacagtaatgacagaaacag
+aattattctcttcatcagcttacgttgagtgggatgcatatatagttcctgaatctgtaa
+gtctgttagttataggttactgtaaatgtggctggtgcagaaaacttacccgcagtgaca
+ttgtttacggttttatttttttccacgaccaggcgtgcactcatcggataataaacgacc
+gcattggctgcagtggagattgttacctcttgtgatgctggtgttacacagctaaattgt
+gttgcactccctgttgccggagttacagtgctccagacttcaacggcgacagcacttgct
+ttatctgcggctgtggaaccatttgcaaaccccgcaccgtcattagcagttccctcgcat
+gtggctcgcttggttaattttatttgcgcttttttattggggatacccgcacagtctttg
+aatttgagtttgaatgtttttactttggtcttggcattgatttcagaaatatatacatca
+ccaaaatcaacaacagaaatgtcctgatcagagtcatttactaatgtagcggtacaagta
+cccatttctacagtagtaataacggtcagtccaatactgtctgttgccgcataagagagt
+acgctgaacaatgaggcagccaaaacgacactgctggataatccataacgtaaattttta
+aatgtcatcataattatccttcttattgatagatgaaattaaacgtcgccagtgcacgaa
+aattccccggtacgccttgccctgcatctgtttcacgtagcgcaacggtcatttcaagac
+ccttatcgggctgcatctcgtctgtgctccagcgtatcttttccgcactgttaggtttaa
+ggaaagtggcatcatcagtagtccgttttttgaaacccataccgatattacttgtcgtcg
+aagatgaatcaccagactgcggtataataagcttaggtgagcttgatgatgcatttccgg
+tcagagtggtatcaatccaactgatgccactgctgcacccactggcaaccagtttaaaat
+cagcctgagattctgtcgttttattcgcgatcttatccagacccatcttagggattctca
+atgtgtagttattattgccatcattcgtgacgttattaccagtaagtgtgatgttacagg
+ttgtcgctttgacagtggctgtaaactctacattaatatccgttgcaaatactgagggtg
+ataataatattcccatcagtatcactattttatgtggcgttgtttttatcatttgacgtc
+ccttgtagttactgaatctgacaccgaattccattcagaataatagattgtgctattttt
+tctgcttctgggctttgttgataatgcgcaagacaacttacgggtttactttgttcgagc
+catttaatgctgatatttccctgctgctcaataccacgaacaaatgcttgtccaccctgt
+ccaacattaccaatgacattgccttgctcatcataaatatctgcagcaaatggaatattt
+ttaccatcacttcgtgtgatgttcataatggctgattgcccttgcacggtttcaaaatca
+gcaaagacgactgaaccctgacgcggtacagctactgcactggtactttttaattcaaca
+tcgttctcaagatcgttgatatccagcgcgatacggttttcatgataaggagaaagagcg
+ctggtgacaccataaccccatcgatcgatagtactgttgccataatttattcgcgctcct
+tgagcacctggagcctgaactaccgccagtgtatcggagtcgctaaaactatcattactg
+aaagtcagtccaccgctatgcaatacaaaaccaccgtcggtgctgagagaaacttgacgg
+ctgttatcgctatttgcagaaattgaacctgccagcgttccccatggtgactcatagctg
+gcataacccccaacataactcaaatctttgctggctttattcatcgtatagccagtattc
+acgctataactgacgcgagcgttatcgctatagccactgctgctaacgttgagttggtta
+ttacccttaaagtcactgcttatttgagtatcaatactctggaaacctgaagtacgttgt
+tcagtgccaagtaatttttcaattggaatggtgaaactaagataaacgctatcgtcagtg
+tcgccgtcttcattccatgaacgctgggcactgacactgtagctgccccaggatgtactg
+ttactgtagccaatagagtaattgctacgattttgtccggaagcccagtaatcggaccaa
+cttccggaaagataaaatgaaccgtaatcttttttctcaaatttcaacggttggttaata
+ctgaccgtaacctgatttttcatgcgtgagtaattacgcatggatttcggttcaagatct
+tgttcgggatgtttcacttcatcaattagagttagtgcatcattaagaccaaggtaattc
+tgtgtcgaatagcgataggccgcgatattcagtgaagtacttgtttcttcgaataacttg
+ttccaggaaacacgataactttgcccctggtatgttttatcatccgggatacgaacattg
+gaatgagtcacatcgaaagaaaatgcaccaactgaagtattcagaccaagacctaacaaa
+ccagcggtatagttattatcggttatctgaataccggtataacccgtcagatagttattc
+aggccgtagtagtagcttgcttgaaataaattaggctcatcctgaatatcatcttttaag
+acctgaccgccgctaatatcccaacgtccaacgccagggcgtaacatttgaacaacggat
+gagaaaggttgcgagaatgtccgctttgagccatcggattcttcgatggtaacaataaga
+tcgctgccgtaccctgacggactcagatcatcaatgacgaaagcgcctggcggcaccgtc
+gtttcataaatcttatagccaccttgcgtaatagtgactttggcgttggtattggcaacg
+ccatgaatgataggcgcaaagctggctaaagtcggaggcaacatgcggctgtcactgtat
+aaacgaatgcctcggatactgacggaatcaaaggtttcgcccgtcgtataagactcacca
+agaatgagttgagaacgcagcgaggcgatatcacgctgaacataccgattcttaaaatca
+taattactgccagaatcggtcatccagttgtagttgcccgaggcacgcagtcgccatgca
+cctaaattcatcccaccgttaaatgcagcataaatgctttcattttttcgaccaggggtt
+tcactatgatatccgttgaggttgtatgacaacatggccgcattaatgccgttttcccat
+aacgatggatcaacatagttttggtaatttttcattacccaggcttgaggaacgtctata
+tccagacgttgatcgttaacgtcataacgaacagaagcctgagggataatttccgtcaaa
+ttgaggcaattgccgagcgtttcatccctggcaagcagaacggctttttcgttatttata
+tcgggagaattaatatgaaactgcaataaattctttaatgtgatacaagcctgggcgttc
+ttttttccttcaattgcgacaaatgtaatactttggttaatgattggttggtcgtttaca
+taaacactgacgtcgtaaacacccggtatagcggggttaccttcactgtaccggctgaga
+tcaatattagatgcattctgccccatcaggaaggtatggtcatattcaacgagttcagca
+ctgaaagcagtattgcaatacagcagcgcgcaaaacgtggcgatacgggtcagatgatga
+taatttttagtatattctatagtcacgctatgcttcctgcggaattatatccttgcctga
+ttacagcctggcattaccttcaattgcgccaccaaagtcattaatggcgtaaaaatgcac
+ttttgcagaattcgctttgccattaaggccattgactttcatgacctcatcactaaatgg
+tgcaatcattttcacatcaatcggatagcgtttaccgctagcttctaaatcaccactgct
+aaaagagacgtagtaaggggttggattggtcactcgtaatgacgccttaccttctgaacc
+tgaccagaaccacttcagggctaacggggcttcagagggatttcccttcaatccatccgg
+gcgatagaaaagttttatacgtgtgcgaaatgccagttgcagcaggctttgattcgcgac
+cttttctgcatctggttttggtggaacttccagtacgttaaaccagaacacgctctctct
+gtctttaggcagtgaggtgctggctgtgtacattaatttgattgtttgcccacgtttggc
+atcaatacgcgatactggcggcgtagcagtaaaagggactgtaatactgccaggctcagc
+gttgtcatcgccagtatctaaccaactctggacaagcaacgggttattccctttattttc
+cagacgtacgttgacacttttttgatcgcttttatatattacgcgagtacccgaaatgac
+aatgtccgcaatagacgatgaactaaaagccatacaggttacgaagcataaagctgttgt
+atgtttggtgttaaaaaacataaaccatccctgatagagttaattaaaacagggaataat
+ataaaatagaaattattattccctgtatattcattcaatcaatttaactggtgaatactt
+actgataagtaatggtgtatgcagtgttagtttttacataaccagcagttgctgtttggt
+ctgcgacggcacgaacgtaagacgctttaaaatcataaacagcagattttgtcgttgcat
+ccagggctttagtatacacatcgccagggttgttaatttgaacctgtttgatagtggaac
+catcaatattgtgtagagcgatattaacgccgtcagatgggttgttaatagacatgtcgt
+tgttcaaagtccctttgctgttaccaaagaaaacagaaccgaaggtcattttagccgtgc
+tacctggattcggatttgctttgctgcagtcaacggtgatgctgaaaggtttagctttag
+cgccaacggtgtcattcagtacgccagcatcgatttcaccaacggttgcggtttgcagca
+ggatcagaccatccttgttaccgccgtcaacgcgggtttcacaggtgttatcaacaacca
+gaccactgatatttaactgaccgccgtccatatcagcagaagcagtacctgcaaccatcg
+ccagcataagaccagacagggcaaaacctaattttttagacataaaaatcctttaataaa
+attccattagtcagactacatgtttgaagaatgactattcatgacacaaataggagaaac
+aaatgttagatattaatgagcaatgatatttgttacccaaatttacaaccattgttcatt
+aggtcgcctattgtgcactttagaagcttttgaacaaattaaatttacttaattcaaaat
+taagtaaaaataagttcacaagtgcaattggttagggtatggagatgggattgatattta
+tttataggaagttatattatttccgcaaagagatgtttaaactaaaatcgtaattaagga
+aagagatgagatatgattttcagaaaatatttatattcgcaatataaataaattaccatt
+tgtttaatttgtcaaatgctcttgtatgtaagatttgacgcaacatctccccatcaggaa
+acaccaactccggcgcgatttcaaacagcggccacagcataaatccacgattcttcatat
+cgtagtgcggaacggtcaggcgttcagtatttatcacttcattaccaaacagcatgatgt
+cgagatccagcgtgcgtggtccccagcgttcagctttgcggacgcgaccttgctgcaatt
+caatacgctgtgtgtgattgagtagctcttcaggtgcaagagaggtttccagcgccacgg
+ctgcgtttaagtaatcgggttgatcttgcggccccagcggtggggtgcggtaaaacgaag
+aaacggtaagaatgtggctttcagggatatcgcctaatgctttcagggcagcattgacct
+gctccagcggagaggccagattgctgcctatggcaatatacgccactgtcatgcggtacc
+ctcacgacgtggtgcgcgtttgcgtggacgacgagtacgacgacgcggtgacggttcttc
+atccagctcgttgagcatccctttttggtctggtggcgcggaaacctggaactcacccca
+ccatttcaccagacgctgcagttcagcgttacgctcaacttcagctcgcaaggccaacag
+gtcataagccgcacggaacttaggatgctccagcagtttccatgcgcgtttaccctgacg
+acgggacatacgcaactgcaactgccagatatcgcgggttaatgtcgtcagacgtttcgg
+gattgccagtgaacggcaggcttcgtccagcacgtcgttcatcgccagcgcgaaagcgtc
+gtgataggtcaggccgctttcctgggcgatcttctgtgccgtctccagcagtgggtacca
+gaacatggcggcaaacaggaacgccgggttcacgcgcatatcgttatggatacgcgtatc
+ggtattcttcagcacctgttcaatgatccgctccatcgggctgtcgccattttccgtgaa
+gtagcgggtaatggtcgggaacagcggctggaacagatgatattcacacaacagcttata
+ggtttcgtaaccgtagcccgcttgtagcagtttaagcgattcttcaaacaggcgtgccgg
+tgggatatcgttcagcagggtagcgaggcgagggatcggttctgcggtttccgggctgat
+gcgcatacccaatttggcggcaaaacgtaccgcgcgcagcatacgtaccggatcttcacg
+gtagcgcgtttccgggttaccaatcagacggataacgccgtccttcagatccttcatgcc
+gccaacgtaatcacggacggtaaaatccgctacgctgtaatacaggctgttgatagtgaa
+atcgcggcgctgggcgtcttcttcgatggagccgaaaatgttgtcgcgcagcaacatgcc
+gttttgcccgcgttgggaggtcgtgcggtcgctgacgttaccttcgtggtgtccacggaa
+ggtcgcaacttcgataatctccgggccaaacattacatgagccagacggaaacggcgacc
+caccaggcggcagttacggaacagtttgcgcacctgctcaggcgtggcgttagtggttac
+gtcaaaatctttcggctttttgccaagtaacaggtcgcgcacgccgccgccaaccagcca
+ggcttcgtatcccgctttattgagcctgtacattaccttcagggcattttcactgatatc
+tttgcgggaaatagcatgctgctcacgcgggatcaccgtcacctgtggacgggcgactgc
+ctgttcagcctcgctttcctcgcggcttagcaccttgcggcaaaaattagcgactcgggt
+aaaaatagtacacctcggtagtgtcaaacatcattcaggacaaaaaaatagcggctaatc
+atagctcagcatgacgcatttgagaatgttgaatttacaattgccgactcgggcacggcg
+gtaagccgccagtttttgacggctgactgaaggatttgctcgacgctgaaatcctgccag
+tgtgcttctgcctgctgccccagaaattgaagtgccgcgattagtaccgggcgtggatcg
+cctttcggcaacgcaggcgcatgattctgcttggaaagtttagcgccttgtggattaagc
+gccagcggcagatgaatgtaatctggcactttccagccaaaaagctggtacagcgagatt
+tgccttactgttggttcaatcagatcagccccacgcactatttctgtaacgccctggaaa
+tgatcatcaaccacaacagccaggttgtaggcgaacaacccatcacggcgatgaatgata
+aaatcttcccgtgccagtttttcgtcggcgtgaataatgccgcgcagctggtcagtaaat
+tgcgtgaccggatgctgctggcggatacgcactgcggcgttgtctggtccatgatgcaac
+acccggcaatgaccgtcgtaaataccgccaatgctttgaatacgcgcacgcgtacaggtg
+cagtaataacttagtccttgttcatgtaaccaggcgagtgcttcacgataggcgtcgtga
+cgttgcgattgccagagaacatcgccgtcccagtgcagaccgtaatgttccagctggcgc
+aggatagtttctgcggcaccgggaacttcacgaggcgggtcgatatcttctatgcgtacc
+agccagcgaccttgccgggcgcgagcctgcaaatagctgccgagcgcggcgatcagagag
+ccaaaatgaagctcgccggaaggagagggggcgaagcggccaatatactgtgtgtctgtc
+atctctttgaacaaaaaataaggcgggagcatttcccgcctgtggtaaacgtgatggaac
+ggctgtaattagccagccatctgtttttcgcgaatttcagccagcgttttgcagtcgatg
+cacagatcggctgtcgggcgcgcttccagacggcgaataccaatttcaacaccgcaggat
+tcgcagtagccgaaatcttcgtcttccacttttttcagcgtcttctcgatctttttgatc
+agcttacgctcgcgatcgcggttacgcagttcgaggctgaactcttcttcctgggctgca
+cggtctaccgggtccgggaagttggctgcttcatcctgcatatgtgtaacggtgcgatcg
+acttcatccctgagttgattacgccatgcttccagaatacgacggaagtgcgccagctgg
+gcttcattcatatactcttcgcccggcttctcctgatatggttccaccccagcgatggcg
+agaatactcagggacgatgttttacggttttgcccttcttgcatgttgcttctccttaac
+acgcactatcgatccccatgttcgggggaaaaatgaggccgctataaatagcagatgctt
+ttccggatagcaattatctaaacgtaacacttgacaactgtgtgaggaaaagcgtatttg
+cgcacgcgaccagaatgtaaattaaccagttacttactttactacaatgtaaccggcagt
+gattttttaagagccatgccttcagcagaaatttccgctttgtaagccagaatttctacc
+cccctctgttgagcttctgacaatagttgcgcgtatttctcatcgatgtggcgcgcgggt
+gaaaaccgtgtaatggctgaatgcagcacggcgaaaaagataaccgcacgctggccttca
+gccgctacgctcatcaactcccgaaggtgtttctgacctcgttcagtgaccgcatcggga
+aaatatccctgttcgttctccgctaacgtaaccgatttcacttcaatatagcagtctgga
+cgcgaatccgcctgcaacataaagtcaatacggctgcgttctgcgccgtattttacttcg
+cttttcagcgagctatagcctgacagttctgaaattgattcattaaggatagcctctttc
+gtcaacctgttagcccaaagcgtgttgacgcaaataaatgcgccgctctggctttgagtt
+aattcccaggtgtgtgggtatttccgtttggtgttgtctgaagtcgaataccagacggta
+tcgccaggcgttgcacaaccggtcatcgcacccgtattcgggcagtgtagcgttaattcg
+cgaccatcgggtgtgatcacatcggctaaaaaacgtttgtaacgctgaattagcgtcgcg
+cgctgtagagggggagaaaattccattgcgacaatccttgttattgcgttagcgcccagc
+gttttagcggcgtgtagcgtgtgcgtccacgggcaaacgaggaggcgtaaagggtgaact
+ccgtcaccgcatacgaccagttaaaacctggcggcgggattgtcaccgcctcgctggcgt
+cgcgcaataaggtaatatgtggatgaaacggacgattgctttgaaaacaaccgctgcggg
+cagcctgtgaacggagcatattcgccagctggattaagccgcgtggcggctgacgcatcc
+ctaaccacaccacacgcgaacgcagccattgtccggcgtcatcaagcgtgagtgtgaaac
+caggttgacgaatccgtccggctaaaagagaaagcgccttctctttctcggcgctcactt
+cgcctaaaaatgccagagtcagatgcaaattatcggcggcgaccggacgtcccgcctcag
+gtgggaagtgtgtggcgcgccaatggataatctgttcgcggatttctgcaggtaagtcga
+tagcaaagaacagacgttgcggttcagacatgtgaggcactcggttatgaattaccgcga
+tgctacaatgtggcgcgaagaatgttaaccctctggagcgttttgtgtcgtcgttgcccg
+ttgctgccgtcttacctgaattacttaccgctctcgattgtgcgccgcaggtattattaa
+gtgcgccgaccggggccgggaaatcaacctggctgccgctgcaactgctggcgcatcccg
+gcattaacgggaaaattatcctgctggagccgcgtcgtctggcggcgcgtaacgtcgcgc
+aacggctggcggagctgcttaacgaaaagccaggcgataccgttggctaccggatgcgtg
+cgcaaaactgcgtcgggccgaatacccgcctggaagtggttaccgaaggcgtgctgacgc
+gcatgatccagcgtgacccggaactgagcggtgttggactggtgatccttgatgaatttc
+atgagcgcagcttgcaggcggatttggcgttggcgctgttactcgatgtgcaacaaggtc
+tgcgtgatgaccttaaactgctgattatgtcggctaccctggacaacgaccgcttgcagc
+aaatgctgccagaagcgcctgtcgtcatctcagaagggcgctcgtttccggttgaacgcc
+gttatttaccgctgcccgcgcatcagcgttttgacgatgccgttgcggtagccaccgctg
+aaatgctgcgtcaggaaagcggatcattactgttatttttacctggcgtcggagaaattc
+agcgtgtgcaggaacaactggcttcgcgcatcggcagtgatgtattgctctgcccgctgt
+atggcgcgttgtcgctgaacgatcagcgaaaagcgatcctcccggcaccgcaagggatgc
+gcaaagtggtgctggcgaccaatattgctgaaaccagtttaaccattgaaggtattcgtc
+tggtggtggattgtgcccaggagcgtgtggcgcgttttgatccgcgcacggggcttacgc
+gactgattactcaacgcgttagccaggcatccatgacgcagcgtgccgggcgcgccgggc
+gtctggagccgggtatcagcctgcatttaatcgccaaagaacaagcagaacgcgccgcgg
+cgcaaagtgaaccggagatcttacaaagcgatctttccggtttgctgatggaattactgc
+aatggggatgcagcgatccggcgcagatgagctggctggatcaaccgccagtagtgaatc
+tactggccgcgaaacgtctgttacaaatgctgggggcactggagggtgaacggcttagtg
+cgcaagggcaaaaaatggcagcgctgggtaacgatccgcgtttagcggcaatgctggtta
+gcgcgaagaacgacgacgaagctgctaccgcggcaaaaattgccgccattctcgaagagc
+cgccacggatgggcaatagtgacctgggcgtggcgttttcgcgcaatcaaccagcctggc
+agcaacgtagtcagcaactgttaaaacgcttaaacgtacgtggcggtgaggcagacagtt
+cgcttatcgcgccgctacttgccggggcgtttgccgatcgcattgctcgtcgccgtgggc
+aagatggacgctatcaactggcaaacggcatgggagcgatgctcgatgccaacgacgcgc
+taagccgccacgaatggttgatcgcaccgttattattgcagggcagcgcctcgccggatg
+cgcggattttactggcgctgctggtcgatattgatgagttagtacaacgctgcccgcagc
+tggtacagcagtctgacactgtggagtgggatgacgcgcaaggtacgctgaaagcctggc
+gtcggctacaaatcggtcagttgacggtgaaagtgcagccgctggcgaaaccgtcagaag
+acgagttgcatcaggcgatgcttaatggcatccgtgataaaggtttaagcgtgctcaact
+ggacggcggaagcggaacagctacgcttgcgtttgttatgcgccgcaaagtggttgccgg
+aatatgactggccagcggttgatgatgaaagtttattggcagcgctggaaacgtggctgc
+tgccacatatgactggcgtacattcactacgcggcctgaaatcactcgacatttatcagg
+cactacgcggattacttgattggggaatgcagcaacgtctggatagtgaattgcctgcgc
+attacactgtgccgacgggaagccggatcgccattcgttatcatgaagataacccgcccg
+cgctggcggtgagaatgcaagagatgtttggcgaggccaccaatccgacgatcgcccagg
+ggcgcgtgccgctggtgctggagttgctttcacctgcccaaaggccattacaaatcacac
+gagatttgagcgacttctggaaaggagcgtaccgtgaggtgcaaaaagagatgaaagggc
+gttatcccaaacatgtctggccggacgacccggcaaatactgcaccgacgcgacggacga
+aaaagtattcgtaaggttggttttctccctctccctgtgggagagggccggggtgagggc
+atcagcgcgcacgttcaccctcaccctaaccctctccctcaagggagaggggaccgatcg
+agcacaaattttgagagatatcttcttctgtcttgtaacagaagaacagaaaatcgggct
+tttgcgcctgaatattgcggagaaaaagcatggccgggaatgaccgcgagccaattggac
+gcaaagggaaaccgacgcgtccggtcaaacaaaaggtaagccgtcgtcgttacgaagatg
+acgatgattacgacgattatgatgactatgaggatgaagaaccgatgccgcgcaaaggta
+agggcaaaggcaaagggcgtaagcctcgtggcaaacgcggctggctatggctactgctaa
+aactggctatcgtttttgccgtgctgatcgccatttacggcgtttatctcgatcaaaaaa
+ttcgtagccgtattgatggcaaggtctggcaactgcctgcggcagtttatggccgaatgg
+tcaatcttgagccagacatgaccatcagcaagaacgagatggtgaagctgctggaggcga
+cccagtatcgtcaggtgtcgaaaatgacccgtcctggcgaatttaccgtgcaggccaaca
+gcattgagatgattcgccgtccgtttgatttcccggacagtaaagaaggacaggtgcgcg
+cgcgtctgacctttgatggcgatcatctggcgacgatcgtcaatatggagaacaaccgtc
+agttcggtttcttccgtcttgatccgcgtctgatcaccatgatctcttcgccaaacggtg
+agcagcgtctgtttgtgccgcgcagtggtttcccggatttgctggtggatactttgctgg
+cgacagaagaccgtcatttttacgagcatgatggaatcagtctctactcaatcggacgtg
+cggtgctggcaaacctgaccgccggacgcacggtacagggtgcgagtacgctgacgcaac
+agctggtgaaaaacctgttcctctccagcgagcgttcttactggcgtaaagcgaacgaag
+cttacatggcgctgatcatggacgcgcgttacagcaaagaccgtattcttgagctgtata
+tgaacgaggtgtatctcggtcagagcggcgacaacgaaatccgcggcttcccgctggcaa
+gcttgtattactttggtcgcccggtagaagagctaagcctcgaccagcaggcgctgttag
+tcggtatggtgaaaggggcgtccatctacaacccgtggcgtaacccaaaactggcgctgg
+agcgacgtaatctggtgctgcgtctgctgcaacagcaacagattattgatcaagaactct
+atgacatgttgagtgcccgtccgctgggggttcagccgcgcggtggggtgatctctcctc
+agccagcctttatgcaactggtgcgtcaggagctgcaggcaaaactgggcgataaggtaa
+aagatctctccggcgtgaagatcttcactacctttgactcggtggcccaggacgcggcag
+aaaaagccgccgtggaaggcattccggcactgaagaaacagcgtaagttgagcgatcttg
+aaactgcgattgtggtcgtcgaccgctttagtggtgaagttcgtgcgatggtcggaggtt
+ctgagccgcagtttgcgggctacaaccgtgcgatgcaggcgcgtcgttcgattggttccc
+ttgcaaaaccagcgacttatctgacggccttaagccagccgaaaatctatcgtctgaata
+cgtggattgcggatgcgccaattgcgctgcgtcagccgaatggccaggtctggtcaccgc
+agaatgatgaccgtcgttatagcgaaagcggcagagtgatgctggtggatgcgttgaccc
+gttcgatgaacgtgccgacggtaaatctggggatggcgctggggctgcctgcggttacgg
+agacctggattaaactgggcgtaccgaaagatcagttgcatccggttccggcaatgctgc
+tgggggcgttgaacttaacgccaatcgaagtggcgcaggcattccagaccatcgccagcg
+gtggtaaccgtgcaccgctttctgcgctgcgttcggtaatcgcggaagatggcaaagtgc
+tgtatcagagcttcccgcaggcggaacgcgctgttccggcgcaggcggcgtatctgacac
+tatggaccatgcagcaggtggtacaacgcggtacgggtcgtcagcttggggcgaaatacc
+cgaacctgcatctggcagggaaaacagggactaccaacaataacgtagatacctggtttg
+cgggcattgacggcagcacggtgaccatcacctgggtcggccgtgataacaaccagccga
+ccaaactgtatggtgccagcggggcaatgtcgatttatcagcgttatctggctaaccaga
+cgccaacgccgctgaatcttgttccgccagaagatattgcagatatgggcgtggactacg
+acggcaactttgtttgcagcggtggcatgcgtatcttgccggtctggaccagcgatccgc
+aatcgctgtgccagcagagcgagatgcagcagcagccgtcaggcaatccgtttgatcagt
+cttctcagccgcagcaacagccgcaacagcaacctgctcagcaagagcagaaagacagcg
+acggtgtagccggttggatcaaggatatgtttggtagtaattaacatctaagcgtgaaat
+accggatggcgagttgccatccggtaaaataacatcccatctaagatattaaccctttct
+tttcatctggttgtttattaacccttcaggaacgctcagattgcgtaccgcttgcgaacc
+cgccagcgtttcgaatattatcttatctttataataatcattctcgtttacgttatcatt
+cactttacatcagagatataccaatggcgcgttccaaaactgctcagccaaaacactcac
+tgcgtaaaatcgcagttgtagtagccacagcggttagcggcatgtctgtttatgcacagg
+cagcggttgaaccgaaagaagacactatcaccgttaccgctgcacctgcgccgcaagaaa
+gcgcatgggggcctgctgcaactattgcggcgcgacagtctgctaccggcactaaaaccg
+atacgccgattcaaaaagtgccacagtctatttctgttgtgaccgccgaagagatggcgc
+tgcatcagccgaagtcggtaaaagaagcgcttagctacacgccgggtgtctctgttggta
+cgcgtggcgcatccaacacctatgaccacctgatcattcgcggctttgcggcagaaggcc
+aaagccagaataactatctgaatggcctgaagttgcagggcaacttctataacgatgcgg
+tcattgacccgtatatgctggaacgcgctgaaattatgcgtggcccggtttccgtgcttt
+acggtaaaagcagtcctggcggcctgttgaatatggtcagcaagcgtccgaccaccgaac
+cgctgaaagaagttcagtttaaagccggtactgacagcctgttccagactggttttgact
+ttagcgattcgttggatgatgacggtgtttactcttatcgcctgaccggtcttgcgcgtt
+ctgccaatgcccagcagaaagggtcagaagagcagcgttatgctattgcaccggcgttca
+cctggcgtccggatgataaaaccaattttaccttcctttcttacttccagaacgagccgg
+aaaccggttattacggctggttgccgaaagagggaaccgttgagccgctgccgaacggta
+agcgtctgccgacagactttaatgaaggggcgaagaacaacacctattctcgtaatgaga
+agatggtcggctacagcttcgatcacgaatttaacgacacctttactgtgcgtcagaacc
+tgcgctttgctgaaaacaaaacctcgcaaaacagcgtttatggttacggcgtctgctccg
+atccggcgaatgcttacagcaaacagtgtgcggcattagcgccagcggataaaggccatt
+atctggcacgtaaatacgtcgttgatgatgagaagctgcaaaacttctccgttgataccc
+agttgcagagcaagtttgccactggcgatatcgaccacaccctgctgaccggtgtcgact
+ttatgcgtatgcgtaatgacatcaacgcctggtttggttacgacgactctgtgccactgc
+tcaatctgtacaatccggtgaataccgatttcgacttcaatgccaaagatccggcaaact
+ccggcccttaccgcattctgaataaacagaaacaaacgggcgtttatgttcaggatcagg
+cgcagtgggataaagtgctggtcaccctaggcggtcgttatgactgggcagatcaagaat
+ctcttaaccgcgttgccgggacgaccgataaacgtgatgacaaacagtttacctggcgtg
+gtggtgttaactacctgtttgataatggtgtaacaccttacttcagctatagcgaatcgt
+ttgaaccttcttcgcaagttgggaaggatggtaatattttcgcaccgtctaaaggtaagc
+agtatgaagtcggcgtgaaatatgtaccggaagatcgtccgattgtagttactggtgccg
+tgtataatctcactaaaaccaacaacctgatggcggaccctgagggttccttcttctcgg
+ttgaaggtggcgagatccgcgcacgtggcgtagaaatcgaagcgaaagcggcgctgtcgg
+cgagtgttaacgtagtcggttcttatacttacaccgatgcggaatacaccaccgatacta
+cctataaaggcaatacgcctgcacaggtgccaaaacacatggcttcgttgtgggctgact
+acaccttctttgacggtccgctttcaggtctgacgctgggcaccggtggtcgttatactg
+gctccagttatggtgatccggctaactcctttaaagtgggaagttatacggtcgtggatg
+cgttagtacgttatgatctggcgcgagtcggcatggctggctccaacgtggcgctgcatg
+ttaacaacctgttcgatcgtgaatacgtcgccagctgctttaacacttatggctgcttct
+ggggcgcagaacgtcaggtcgttgcaaccgcaaccttccgtttctaatttctcttttggg
+gcacggatttccgtgcccatttcacaagttggctgttatgcaggaatacacgaatcattc
+cgataccacttttgcactgcgtaatatctcctttcgtgtgcccgggcgcacgcttttgca
+tccgctgtcgttaacctttcctgccgggaaagtgaccggtctgattggtcacaacggttc
+tggtaaatccactctgctcaaaatgcttggccgtcatcagccgccgtcggaaggggagat
+tcttcttgatgcccaaccgctggaaagctggagcagcaaagcgtttgcccgcaaagtggc
+ttatttgccgcagcagcttcctccggcagaagggatgaccgtgcgtgaactggtggcgat
+tggtcgttacccgtggcatggcgcgctggggcgctttggggcggcagatcgcgaaaaagt
+cgaggaagctatctcgctggttggcttaaaaccgctggcgcatcggctggtcgatagtct
+ctctggcggcgaacgtcagcgggcgtggatcgccatgctggtggcgcaggatagccgttg
+tctgttgctcgacgaaccgacctcggcgctggatatcgcccaccaggttgatgtgctgtc
+gctggtgcaccgtttaagtcaggagcgtggcctgacggtcattgccgtgttgcacgatat
+caatatggcggcacgctactgtgattatctggtcgccctgcgcggcggtgaaatgattgc
+tcagggaacgcctgcggaaattatgcgcggcgaaaccctcgaaatgatttatggcatccc
+gatgggtattttgccgcatccggcgggtgctgcacctgtgagttttgtttattgatgagc
+ggcttacctcttatttcgcgccgtcgactgttaacggcgatggcgctttctccgttgtta
+tggcagatgaataccgcccacgcggcggctattgatcccaatcgtattgtggcgctggag
+tggttgccggtggaattactgctggcgctcggcatcgtgccttacggcgtggcggatacc
+atcaactatcgcctgtgggtcagcgaaccaccattgccggactcagtgatcgacgtcggt
+ttgcgcacagaacctaaccttgaactgctgaccgaaatgaaaccatcgtttatggtctgg
+tcggcaggatatggcccttcaccagaaatgctggctcgtattgcgccgggtcgcggattt
+aacttcagtgacggcaaacagccgttggcgatggcgcgtaaatcgctgacggaaatggca
+gatttacttaacctgcaaagcgcagcggaaacgcatttagcgcaatatgaagactttatc
+cgcagcatgaaaccccgctttgtgaagcgtggtgcgcgtccgttattgctgacgacgctt
+atcgatccgcgccatatgctggtcttcggtccaaacagcttgttccaggaaattcttgat
+gagtacggcatcccaaatgcctggcaaggggaaaccaacttctggggcagtaccgccgtc
+agtatcgatcgtctggcggcgtataaagacgttgatgtgctctgttttgatcacgacaac
+agcaaagacatggatgcgctaatggcaacgccgctgtggcaggccatgccgtttgtccgc
+gccggacgctttcagcgcgtacctgcagtctggttttatggtgcgacgctctcggcaatg
+cactttgtgcgcgttctggataacgccatcggaggtaaagcgtgagtaaacgaattgcgc
+ttttcccggcgttattgctggcgctgttagtgattgtcgctacggcgctcacctggatga
+acttctcgcaggcgctgccgcgtagccagtgggcgcaggctgcctggtcgccggatattg
+acgtcatcgagcagatgatttttcactacagcttgttgccgcgtctggcgatttcgctgc
+tggtgggcgcgggtctggggctggtgggcgtgctgtttcagcaagtgctgcgtaacccgc
+tggcggagccgacgacgcttggcgttgctacaggcgcgcaactggggattaccgtcacta
+cgctctgggcgatccctggtgcgatggcgagccagtttgctgcgcaggcaggggcttgtg
+ttgttggcttaattgtctttggcgtcgcgtgggggaaacggctgtcgccggtaacgctga
+ttctcgcggggttggtagtgagcctttattgcggcgcaatcaatcagttactggttatct
+tccatcatgaccaactgcaaagcatgtttctgtggagcactggaacgctgacgcaaaccg
+actggggcggcgttgagcgtttatggccgcagctgctgggcggtgtgatgctgacgttgc
+tgctacttcgtccgttaaccctgatggggcttgatgatggcgtggcgcgcaatctcgggc
+tggccttgtcgcttgcgcgtctggcagcgctgtcgctggcgattgtcatcagtgcgctgc
+tggtgaacgctgtggggattatcggctttatcgggttgttcgcgccgctgctggcaaaaa
+tgctgggggcgcggcgtctgctgccacgactgatgctggcgtcgttgattggtgcgctga
+tcctctggctttccgatcaaatcatcctctggctgactcgcgtgtggatggaagtgtcca
+ccggttcggtcactgcgttgatcggtgcgccgctgctactgtggctgttgccgcgtttac
+gcagcattagcgcgccggatatgaaggtcaacgatcgtgtcgcggctgaacgccaacatg
+tgctggcgtttgccctcgcgggcggcgtgctgctgttgatggctgtggtggtggcgctgt
+cgtttggtcgtgatgcgcacggctggacgtgggcgagcggggcgttgctcgaggatttaa
+tgccctggcgctggccgcgaattatggcggcgctgtttgcgggcgtcatgctggcggtgg
+cgggctgtattattcagcgactgaccggaaacccgatggcaagcccggaagtgctgggga
+ttagctccggcgcggcgtttggcgtggtgttgatgctgtttctggtgccgggtaatgcct
+ttggctggctgttacctgcaggcagtctcggcgcggcggtgacgctgttgatcattatga
+tcgccgccggccgcggtggattttccccacaccgtatgttactggcggggatggcgttaa
+gcaccgcgttcaccatgcttttgatgatgttgcaggcaagtggtgacccgcgaatggcgc
+aagtgctgacctggatttccggttcgacctacaacgcgaccgatgcgcaggtctggcgca
+ccggaattgtgatggtgattttgctggcgattaccccgctgtgccgccgctggctgacca
+ttttaccgctgggtggtgataccgcccgagccgtaggaatggcgctgacgccgacgcgaa
+ttgcgctgctgctgttagcggcttgcctgacggcgaccgcgacgatgactattggaccgt
+tgagttttgttggtttaatggcaccgcatattgcgcggatgatgggctttcgacggacga
+tgccacacatcgtaatttcggcgctggtgggtggtttactgctggtgttcgctgactggt
+gtgggcggatggtgctgtttccattccagatcccggcggggctgctgtcaacctttatcg
+gcgcgccatattttatctatttgttgagaaagcagagccgttaatttttccatataacgg
+ccctgtacgcctggacggataaagcgtttacgcgacaacggatgcccgatgcgacgctgg
+cgcgtcttatcgggcctacaaacggccccgaatcgtaggtcggataaggcgttcacgccg
+catccgacaaaccatgctggatcacaacttcgcaaacacccgacgtgcagcatcgatggt
+gttattgatatcttccatgctgtgcgccacggacataaagcccgcttcaaacgctgacgg
+tgccaggtaaacaccttcgtccagcatcatatggaagaaacgcttaaagcgttccacgtc
+acaggccatcacatcctgatagcacgtcacggactcggcgtcggtaaagaaaataccgaa
+catgccgccaacgtggttaacgaccagcggaattccggcttcttctgccgcttccagcag
+accttctgccagacgtgttgtcagctcatccagcgtttcgtgaacgcccggctgcgcgac
+ttcattcagacaggcgaaacccgctgccatcgcaatcgggttaccggaaagcgtacccgc
+ctgatagaccggacccgtcggggccagcgcatccattacatcacgacgaccaccgaatgc
+gcctaccggcattccaccgccgatgattttgccgaggcaggttaaatctggcactacgcc
+gtaataatcctgtgcgccagctagcgctacgcggaaaccggtcatcacttcatcgatgat
+cagcaacgcgccaaattcgtcgcacagcgcgcgcagacctggcaggaactctggcagcgg
+cggaacacagttcatattgcctgccaccggctcgacgataatacaggcaatctcttgcgg
+gtattgctcaaatgcggcgcgtacagaagccagatcattataagtacaggttaaggtata
+tttggcgaaatctgccggaacgcccggcgagtttggctggcctaacgtgagtgcgccaga
+accggctttcaccagcaggcagtcagcgtgaccatggtaacacccttcaaatttaataat
+tttgtcgcgaccggtaaaaccacgggccaggcggatggcgctcatggtcgcttcagtgcc
+ggagttcaccatgcgcaccatatccatggtcgggaccagttcggtcaccagttgcgccat
+tttcacttccatttcggttggtgcaccaaagcttaaaccacgctcggcggcttcaatcac
+ggcattgcggattgccggatggttatggcccagcaccatcggcccccaggaaccgacata
+atcgatataggctttgccatcaacatcgtacagataagcgccgtccgctttttcgataaa
+cagtggagtgccgcccacgccagtaaaggcgcgaacaggggagttcacaccgccagggat
+cagctcgcgcgctgcgctgtaaagattttcagacttactcatggagggttcctgattcgt
+agaaaaagtgaatggctgctattctatgttattcataacaagttaaatactcgtcaaaca
+tcaggctgcttgtactggtgcaatcctgatttcttagagtataaaagttttgtgcatttg
+aaacattacgctttgcaaaggattttcatggaacgtgcgagtaaaatgccgtcatcttat
+ttgtatgaccaataagtgatcattggatgaaaactgatactccctctttagaaacaccgc
+aggccgcgcgcctgcgacgcagacaactgattcgccaacttcttgagcgcgataaaaccc
+cgttagccattttgtttatggcggcagtcgtcggcacgcttgttgggctggcagcggttg
+cttttgacaaaggtgtcgcctggttgcagaaccaacgtatgggggcgctggtacatactg
+ctgataattatccgcttctgttaaccgtcgcttttctctgttcggcggtgctggcgatgt
+ttggctactttttggtgcgcaaatacgcgccggaagcaggtggttcggggatcccggaaa
+ttgaaggggcgctggaagatcaacgtcccgttcgctggtggcgtgtattgccggtgaagt
+tctttggcgggctggggacactcggcggaggcatggtgttggggcgcgaagggccaaccg
+tgcagatcggcggtaacattggccgtatggtgcttgatattttccgcctgaaaggtgacg
+aagctcgccatacgctgctggcaaccggtgctgctgcggggctggctgcggcctttaacg
+cgccgctggcgggtattttgtttattatcgaagagatgcgtccgcagtttcgctatacgt
+taatttcgattaaagcggtatttattggtgtcattatgtcgaccattatgtaccggattt
+ttaatcatgaagttgcgttgattgacgtcggtaaactttctgatgcgccgcttaatacgc
+tgtggctttatctgatcctcggtattatttttggcattttcggccctatttttaataaat
+gggtgctggggatgcaggatttgctgcaccgtgtgcacggcggcaatattaccaaatggg
+tgctaatgggcggtgcgattggcggtctgtgtggattgctggggtttgtggcaccagcaa
+cgtcgggcggcggttttaacctgattcctatcgctaccgcggggaatttcagcatgggaa
+tgctggtgtttatcttcgtcgcgcgggtcattaccaccttactctgcttctcttccggcg
+cgccgggcggtatttttgccccgatgctggcgctgggtactgtgctgggaaccgctttcg
+gaatggttgccgttgagctgtttccgcaatatcaccttgaggcggggacgtttgctattg
+ccggaatgggggcattactggcggcatctattcgcgcgccgttaacggggatcattctgg
+ttctggagatgaccgataactaccagctcattttgccaatgattattaccggtcttggcg
+caacactattagcgcaatttaccggcgggaaaccgctatactcggcgattcttgcgcgca
+cgctggcaaaacaggaagctgagcaactggcgcgaagcaaggccgcatcagccagcgaga
+atacttgaacgaaataccagggtattagataatggcgattattattgggttagaatttgc
+ccaattgccgatgtcgtttggagcaaaatatgagtgatgacgtagcactgccgctggagt
+ttaccgacgcagcagccaacaaagttaaaagcctgatcgctgacgaagataacccgaatc
+tgaaattacgcgtgtatatcaccggtggcggttgcagcggcttccagtatggtttcacct
+ttgatgatcaggtgaacgaaggcgatatgaccatcgaaaaacagggcgttggcctggtgg
+ttgatccgatgagcctgcaatatctggtcggcggttccgttgattataccgaaggtctgg
+aaggttctcgtttcatcgtgaccaacccgaacgcgaaaagcacctgcggttgcggttctt
+cctttagtatctaatctgttgttcatgtgccggataaactatccggcacatcttctctct
+tcaacgcccattctcatccagcgcaaacgtcggtagcttaagatgccaacgaatagccgc
+cagccgaatcaatagcgtcacgaccatgcccatcatactggctgtttccagtggtacgga
+aaatgtgtaataagccgtagcgtggacaataccgccgataatacaggcagttgcgtagat
+ttctgtacgtaaaatcatggggatttcgcgggccagaacatcacgaatgatcccgccgcc
+aacgccagtaatgacgcccatacaaaccgcgattaacggaccggcttccgcattaaaggc
+tttattcacgccaatgccgacaaacaccgccagaccaacggcgtccagcaccggcaacat
+ccattttggtaagcgtcttggctggcgcaccagcacgatggtcagcatgctggtgaccat
+tgcaacgaccagatcggtgggatctttcacccaaaataccgggccgtgatccagcgccat
+gtcgcgaattgtcccgccgcctactgcggttaccacgcccagtaccagaacaccaaaagg
+gtccatacgcaattttccggctaacaaaacgccggagatggcaaataccgctgtgccgac
+tatatccagccaatagacgagcattgttcaatccccactgagcacctgaaaaggtcaggc
+gctaatctacctgtgaaagcgcattacagagctgttgtgcagcgaggataatacgtgggc
+ttgcacgttcaaaccagtcactcgtgagaggaataacgggaattttgagctgttcacccc
+agtattgtttgattttaggaatttggtccggtccgcctgtaatgacaatcgcctgtggcg
+agcgtgctaacacctgttcgcggctaacttgcggccagggaacccggctgtctttaaaga
+tgttttctccgccacaaacttcgagtacctggttctgaatcgactcttttccactggtaa
+atggcggattaatgccgaattgcagaaaaacacgttttttaggtttatcagcatattgcg
+ctttcaattgcgcgtactgatccagcagggattgcgcggcttgttcggccttgtctggtt
+gcggactccagggggccagttgacgtaacgcattggcaatttgttcaatgcttgtcgcat
+cgacccacatcacttttattcccagcgaagccagctggtcaacctgccgctcggcattac
+ctccacgccaggcaatcaccagatcgggtttcagcgcgacaatgcgttccagattcatcc
+cctgccaggtggaaacctgctcaatcttttgcgcttgtggaggatagtcggaatagctgc
+tgaccccaaccggcgtgatcccggcggcaaaggcaagttcagtgttggcgggagaaagcg
+tgatgacgcgcggcgcggcgttgagccacagtggcgcaagaaaagacagggcgaccagcg
+ccctgaacagtgacttagccatgtgcaagtttctgcaccagtgactcaaccatcaggctg
+gactgtttagcggcaacagccaggaactcatcgaagctaagatgagactgttgatcggcc
+acgtcggagatggcgcgtacgacaacaaacgggacgttgaaattgtggcagacatgggcg
+attgccgtcgcttccatctctacagcaatggcctgtgggaagttgtggcggattttcgcc
+agaccaacagaaccgttgatgaaagcgtcgccgctaacaatcaggccacgtacagcgtta
+agattcagttcggcaatgcaggcctcagcggcagcgatcagtttatcgtcagctttaaag
+cctgccggacagcctggtaactgaccgtattcataaccaaatgccgtgacatccgcgtcg
+tgataacgtgcttcgtccgagacaacgatatcgcccactttcaacgttggtgccaggcca
+ccggcagaaccggtgttaataatcacatctggcttgcagtgttccaacagcaaagtggca
+cccagcgccgcagcgactttaccgatgcccgatttcagaagcgcaacctcggttccattc
+agttggccggtatagatttcgcaaccgccgagactgatagtttgacggttttcgattttg
+tcacgcagcagcgtaacttcttcttccattgcaccaatgatgccgattttcatagattta
+ctcgcgataagcccgatttgaaggcatagtttaccatgcgcttacggggaagcgtatttc
+tcacgcgggagaggacatggcacagattgatttccgaaaaaaaataaactggcatcgtcg
+ttaccgttcaccgcagggcgttaaaaccgaacatgagatcctgcggatcttcgagagcga
+tcgcgggcgtatcatcaactctccggcaattcgtcgtctgcaacaaaagacccaggtttt
+tccactggagcgcaatgccgccgtgcgcacgcgtcttacccactcgatggaagtccagca
+ggtggggcgctacatcgccaaagaaattttaagccgtctgaaagagcttaaattactgga
+agcatacggcctggatgaactgaccggtccctttgaaagcattgttgagatgtcatgcct
+gatgcacgatatcggcaatccgccgtttggtcattttggcgaagcggcgataaatgactg
+gtttcgccaacgtttgcacccggaagatgccgaaagccagcctctgactgacgatcgctg
+cagcgtggcggcactacgtttacgggacggggaagaaccgcttaacgagctgcggcgcaa
+gattcgtcaggacttatgtcattttgaggggaatgcacaaggcattcgcctggtgcatac
+attgatgcggatgaatctcacctgggcacaggttggcggtattttaaaatatacccgtcc
+ggcgtggtggcgtggcgaaacgcctgagacacatcactatttaatgaaaaagccgggtta
+ttatctttctgaagaagcctatattgcccggttgcgtaaagaacttaatttggcgcttta
+cagtcgttttccattaacgtggattatggaagctgccgacgacatctcctattgtgtggc
+agaccttgaagatgcggtagagaaaagaatatttaccgttgagcagctttatcatcattt
+gcacgaagcgtggggccagcatgagaaaggttcgctcttttcgctggtggttgaaaatgc
+ctgggaaaaatcacgctcaaatagtttaagccgcagtacggaagatcagttttttatgta
+tttacgggtaaacaccctaaataaactggtaccctacgcggcacaacgatttattgataa
+tctgcctgcgattttcgccggaacgtttaatcatgcattattggaagatgccagcgaatg
+cagcgatcttcttaagctatataaaaatgtcgctgtaaaacatgtgtttagccatccaga
+tgtcgagcggcttgaattgcagggctatcgggtcattagcggattattagagatttatcg
+tcctttattaagcctgtcgttatcagactttactgaactggtagaaaaagaacgggtgaa
+acgtttccctattgaatcgcgcttattccacaaactctcgacgcgccatcggctggccta
+tgtcgaggctgtcagtaaattaccgtcagattctcctgagtttccgctatgggaatatta
+ttaccgttgccgcctgctgcaggattatatcagcggtatgaccgacctctatgcgtggga
+tgaataccgacgtctgatggccgtagaacaataaccaggcttttgtaaagacgaacaata
+aatttttaccttttgcagaaactttagttcggaacttcaggctataaaacgaatctgaag
+aacacagcaattttgcgttatctgttaatcgagactgaaatacatgaaaaaaaccacatt
+agcactgagtgcactggctctgagtttaggtttggcgttatctccgctctctgcaacggc
+ggctgagacttcttcagcaacgacagcccagcagatgccaagccttgcaccgatgctcga
+aaaggtgatgccttcagtggtcagcattaacgtagaaggtagcacaaccgttaatacgcc
+gcgtatgccgcgtaatttccagcagttcttcggtgatgattctccgttctgccaggaagg
+ttctccgttccagagctctccgttctgccagggtggccagggcggtaatggtggcggcca
+gcaacagaaattcatggcgctgggttccggcgtcatcattgatgccgataaaggctatgt
+cgtcaccaacaaccacgttgttgataacgcgacggtcattaaagttcaactgagcgatgg
+ccgtaagttcgacgcgaagatggttggcaaagatccgcgctctgatatcgcgctgatcca
+aatccagaacccgaaaaacctgaccgcaattaagatggcggattctgatgcactgcgcgt
+gggtgattacaccgtagcgattggtaacccgtttggtctgggcgagacggtaacttccgg
+gattgtctctgcgctggggcgtagcggcctgaatgccgaaaactacgaaaacttcatcca
+gaccgatgcagcgatcaaccgtggtaactccggtggtgcgctggttaacctgaacggcga
+actgatcggtatcaacaccgcgatcctcgcaccggacggcggcaacatcggtatcggttt
+tgctatcccgagtaacatggtgaaaaacctgacctcgcagatggtggaatacggccaggt
+gaaacgcggtgagctgggtattatggggactgagctgaactccgaactggcgaaagcgat
+gaaagttgacgcccagcgcggtgctttcgtaagccaggttctgcctaattcctccgctgc
+aaaagcgggcattaaagcgggtgatgtgatcacctcactgaacggtaagccgatcagcag
+ctttgccgcactgcgtgctcaggtgggtactatgccggtaggcagcaaactgaccctggg
+cttactgcgcgacggtaagcaggttaacgtgaacctggaactgcagcagagcagccagaa
+tcaggttgattccagctccatcttcaacggcattgaaggcgctgagatgagcaacaaagg
+caaagatcagggcgtggtagtgaacaacgtgaaaacgggcactccggctgcgcagatcgg
+cctgaagaaaggtgatgtgattattggcgcgaaccagcaggcagtgaaaaacatcgctga
+actgcgtaaagttctcgacagcaaaccgtctgtgctggcactcaacattcagcgcggcga
+cagcaccatctacctgttaatgcagtaatctccctcaaccccttcctgaaaacgggaagg
+ggttctccttacaatctgtgaacttcaccacaactccatacatcttcatcatcctttagg
+catttgcacaatgccgtacgttacgtacttccttatgctaagccgtgcataacggaggac
+ttatggctggctggcatcttgataccaaaatggcgcaggatatcgtggcacgtaccatgc
+gcatcatcgataccaatatcaacgtaatggatgcccgtgggcgaattatcggcagcggcg
+atcgtgagcgtattggtgaattgcacgaaggtgcattgctggtactttcacagggacgag
+tcgtcgatatcgatgacgcggtagcacgtcatctgcacggtgtgcggcaggggattaatc
+taccgttacggctggaaggtgaaattgtcggcgtaattggcctgacaggtgaaccagaga
+atctgcgtaaatatggcgaactggtctgcatgacggctgaaatgatgctggaacagtcgc
+ggttgatgcacttgttggcgcaggatagccgtttgcgggaagaactggtgatgaacctga
+ttcaggcagaggagaatactcccgcacttactgaatgggcgcaacggctggggatcgatc
+tcaatcaaccgcgagtggtggctattgttgaggtcgacagcggtcagcttggcgtggaca
+gcgcaatggcggagttacaacaactgcaaaacgcgctgactacgcccgagcgtaataatc
+tggtggcgattgtctcgctaaccgaaatggtggtgttgaaaccggcgttgaactcttttg
+ggcgctgggatgcagaagatcatcgtaagcgagttgaacaactgattacccgcatgaaag
+agtacggccagctgcgttttcgcgtttcactgggcaactattttaccggtcctggcagta
+ttgcccgatcctatcgtacggcgaaaacgacgatggtggtgggtaaacagcggatgccag
+aaagtcgctgctatttttatcaggatctgatgttacctgtgttactcgacagtttgcgtg
+gcgactggcaggccaacgaactggcgcgaccgctggcgcggctgaaaacgatggacaata
+acggcttgctgcgacgaacgctggcggcgtggtttcgccacaatgtgcaaccgctggcaa
+cgtcaaaggcgttgtttattcatcgtaataccctggagtatcggcttaatcgtatatcgg
+aactgaccgggcttgatttgggcaattttgatgacaggttgctgctgtatgtggcgttac
+aactggatgaagagcggtaggttatgcgttaaggttgaggcggcgctggctcattcccct
+cagcccgaagggtagaggggaatgcccgaattaaccgtcagttcgggattatttacgcgt
+tagtttttccagatcggcttcaatctcgctgatcttattggttacgactgactccaggtg
+acgtaagtcgtcgaggatcttacgcttaagatcaacttcgctgcggtcacgctggcagat
+ttgatcaagctcatcaatgatataccgtagattcgggctgatttcctggacttctttata
+accctgacccacaccatcagcgacgaccgttttacgctgacgcggatatttaaacttaac
+gctcttggcgaaaaactcgcctttgtctttctggaaatagattttcagaatatcgttgtt
+ggcttcctgccggaggctgtaacgatcaatttcttcaggattggtaatacccagactttt
+cagattgtcgtacatagcgttacctcaaaatgagtcagtaaattgtgcttattttagcat
+ttggcctggcccgcccggctcgactgtgatcgcagaaagcctttttcttccagacttcta
+tcatggcgtaaaaatcaaaaaattacctgctttattctggtgataaaattcacgatctac
+accagttccagcatcgttacttccgggcggcagttcagacgcaaaccatacaaactgccc
+acgccacgggttgtgtagatgtgtctttcgccaaaggcatttaatccggcgacgtaacgt
+ttatcttcgacaggggcaaaaggttcaccaaccaacggtacgcgcagttgcccgccgtga
+gtatggccgcacagcatcagatcccagggttcatcacgcatgacttctttgctgtcggga
+ttatgcgccagcaccagtcttggcagattggcttcgctggcgggaggcggtttgcattgt
+ccggcccataagtcaccagtgcctaccagttcgaattgcctgttcggcgtggcgatcacc
+gtagcctggttaaacaacaccgtgatgcccgctgatttcaacgtctcgccaattaagtga
+tttttttctgtaccaacagggcgatcgtggttgccgaagcaggcaaacgtcggcgcacat
+tcggcaaggggggagagtacgtcactaaacgccgaaaaattcagcgacatatcaaataat
+acgtaatcgccgcccagtaatatcaaatcgggcttttgttctatgccaagagcaatcgcg
+tcagaaatcaggcttaaaggaacaaaacgagagtaatggagatcggccagaaaaagaatt
+ttgaatggtgctgcgttgtctttaaaaaaggcgaggcggtgacggattaattcaaaccag
+cctggctcacagtaatgcatataaccgaaacctgagctcgtggctatcgtcgcggcagta
+gcctgcaaaaatcggcggcgtgaaatcatcgctcatccctgcaaaaaaatcgggcagcgt
+cgtgctgcccgtgtgcatacttttagtcgatggtacgcagcagttcgttaatgccgactt
+tgccgcgagttttcgcgtcaactttcttaacgataaccgcacagtagaggctgtatttgc
+catcttttgacggcagattacctgaaacaaccacagaccccgccggaacgcgaccgtagt
+ggatttcgccggtttcacggtcgtaaatacgggtgctctgaccaatgtatacgcccatgg
+aaatgacggaaccttcttcgacaatcaccccttcaaccacttcagagcgcgcgccgatga
+agcaattatcttcaatgatggttgggttagcctgcagcggttccagcacgccgccgatgc
+ccacgccaccggaaaggtggacgtttttaccaatctgcgcacaagaaccgacggtcgccc
+aggtatcaaccatggtgccttcatcaacatatgcgccgatgttgacgtaagacggcatca
+gcacggtgttacgggcaataaacgcaccctgacgtaccgccgctggtggcacaacgcgga
+agccttctttctggaaacgtgcttcgtcgtagtcggcgaatttcatcggcactttgtcga
+agtagcggctttctgccccttcgatcacctgattatcattaatacggaaagagagcagca
+ccgcttttttcaaccactgatgcgtcacccactgaccgtcaattttttccgctacacgca
+gtgcgccggaatccagcagggcgatcacctgatttaccgcttcgcgggtaacggtgtctg
+cattggctggcgtgatctcggcacggcgttcaaaagcggtttcaataatgttctgtaact
+gctgcattgttaaactcttttcatatcagtaaacacatcaccctttatcgtttggattga
+gggcctctgtcaaccgctgatgcacttcctgctgcaactcgttattaagcgcacgccggt
+cagcggtggcaattatgaataaatcttctactcgctcgccaatggttgtaattcgggcac
+catgaagcgaaattcccagatcggcaaaaattttcccgactcgcgccagcagtccaggtt
+ggtcgagggcgatcagttcgaggaacgatttgcggtcggtatgggtcggcaaaaacgtta
+cttcggtttcaacagtaaaatggcgtaatttggcgggttggcgacggggctgcggtggct
+gccagctactttgcgtcagtacttgctccagaccaaaccgaataacctcatgacgatctg
+cggacagcgggttgccatcgggttccagcacgataaaggtatccatcgccataccgtcgc
+gagtggtgaaaatttgtgcgtcgtgaacacttaaattgcggcggtctaattcggcacaga
+cggcggcaaacagataagggcggtccgggctccagataaaaatctcggtgcctccacgcg
+tagcctgcgggctaagcaataccagcggtttgcttaaatcatgctgtaataaatggcggg
+catgccaggccagttgatttgggctatggcggacaaaatagttagcacgacagcgtgacc
+aaatttggtgcagcgcctcttcgtcgatgttatccatgcgcagtagtgccagtgcctgga
+gttggtgatggcgaacccgttcgcgcatatccggcgtgttttgcattccgcgtcgtagct
+gcttttcggtggcaaagtagagctcacgcaacagactttgcttccagctattccacagcg
+tttcgttggtggcgcaaatgtcagccacagtcaggcataccagatagcgcagacgatttt
+ccgtttgcacttcttcggcaaactgcttgatgacttccgggtcctgaatatcgcggcgtt
+gggcggtcaccgacatcaacaggtgctggcgaaccagccaggcgaccagctgtgtttcgc
+gtgagttcagcccgtggagttcggcaaaatgcactacatcctgagcaccgagaatggagt
+ggtcgccgccgcgtcctttggcgatatcgtgaaacagcgcggcgatgaaaatcagctcag
+ttgacggcaggcgcggccagacgtccacacacaacggatggcgctggcgcgtttcttcac
+tggcaaaactctccagtttcagcatcacgcggatagtatgttcatccaccgtgtaggcgt
+ggaacagatcaaactgcatctgcccgacgatatgcgaccattgcggcatatacgcgccga
+gcacgctatggcgatgcattggcaatagcccgcgccgcaccgctccggggtgacgcagaa
+tgctcaaaaacagttttcgtgcttccggaatattacacagcggttgttgcagatggcgac
+gggcatggcgtaactggcgcagcgtggtggagtaaatgccggtgatcgcactgttgtgca
+ccatggtgtagaacatacgcaagatggcttccggctggcgcataaatagtgtttcatcac
+gcaggtcgattagcgtaccgcgtagctgaaactcatcgtcgattggacgtggtttttcgt
+cggcgggaagggcgaggatggcttcatcgaacagttgcagcagcatctggttgagttcac
+tgacgcggcgtgtaacgcggaagtaatccttcatcatccgctcgaccggttcgttacctt
+caccactgtaattcagacgctgggcgacgctaagctggcgatcgaataacaggcgattat
+cgtaacggctgacgaccagatgcagggcaaagcgaatacgccacaatatatgcagacatt
+cgtttaattccgcccgctccgctgaggttaagaagccaaacccgaccatttcatccagcg
+atgttgcgccaaaatgacggcgggccacccattgcagagtgtggatatcgcgcaagccgc
+cagggctgcttttgatgtctggttcaaggttgtagctggtgccatggtaacgctgatggc
+gctggttctgttcttcaactttcgccgcgtagaacttgtcggaaggccagaatccttcgc
+tgaaaatatgtttttgcagttcgaggaacagcgcaacatcgccaattaataagcgggatt
+cgattaaattggtggcgacggttaaatccgataacccttccagcatgcactcttcaagcg
+tgcgcacgctatgaccgacttccagctttacatcccagagcagcgttaacagctcgccca
+ctttttgcgcctgatcgtccgggagctttttacggcttaaaatcagtaaatcgacgtctg
+aaagtggatgcagctcgccacgaccgtagccaccgacggcgaccaatgccaggtcggcaa
+tctggctgaatcccgcttcaatccataatcgttgcaggagctggtcgataaactcggtgc
+gcgcctcaatcaactgttctgcagagatcccattgtcaaaggcatcacccagccaacgct
+ggaaagtatcgatatgggcttttatcccaccgacggttaattcatcacggggccagacgc
+atggattttgcggttgaccgggcagggtggggagagcggtgtttgcgtactgttctggaa
+gggtattcattgtgcgccacccataagattaaattatcgcattaaaaaagccggcattcg
+ccggcttcatcttattcgtcgtgcgagattatcgccgggatggtgtcatccttgcgtagc
+gtcagaatttcgcagccgttatcagtcaccacaatagtatgctcatattgtgcagacaag
+ctgcgatctttggtttttaccgtccagccatctttcatggtgcggatctcttttttaccc
+gcgttgaccattggctcgatggtgaacgtcatcccaggtttcagtacgacgttggtttca
+cgggagtcatagtgcagcacctgcggttcttcatggaagccgcgaccaataccgtgtccg
+caatattcacgaacgacggagaagccttctgcttcgacaaatttctgaatcgccgcaccg
+atttcgcgcagattaatgcctggttttaccatgcgtagcgccaggtacaggctttcttgc
+gtgatgcggcacagacgttcgcccatgatggtcggcttaccgacgataaacattttcgag
+gtatcgccgtggaaaccatctttgattacggtgacatcaatgttaacgatatcgccatct
+ttcagcagcttagcatcgtccgggataccgtggcacaccacttcattaatagagatgcaa
+acggatttcggatagccgtgatagccgaggcaggcagaaaccgcgtgttgttcattaaca
+atgtaatcattacagatgcgatccagctcgccggtgctgacgcccggtttaacatacggt
+tcgatcatctccagcacttcggcagccagtcggccagcgacgcgcattttttcgatatct
+tctggggtcttgattgagatagccattaattctgtccatcagcgtcggtgataccgacaa
+tatatatgtaagtgccgtcaatggtatcacacccgggcaaattgagaatcattctgaatt
+tcgccaaacgtgccactgaaggttttctataatagaaaattcgacgtctgatgctgtaca
+cagcgccaacaattattggtgtccacgacgtatttgtggtataaagcgcgccggacttcc
+gatccatttcgtatacacagactggacggaagcgacaatctcactttgtgtaacaacaca
+cacgtatcggcacatattccggggtgccctttggggtcggtaatatgggatacgtggagg
+cataaccccaacttttatatagaggttttaatcatggcaactgtttccatgcgcgacatg
+ctcaaggctggtgttcacttcggtcaccagacccgttactggaacccgaaaatgaagccg
+ttcatcttcggtgcgcgtaacaaagttcacatcatcaaccttgagaaaactgtaccgatg
+ttcaacgaagctctggctgaactgaacaagattgcttctcgcaaaggtaaaatccttttc
+gttggtactaaacgcgctgcaagcgaagcggtgaaagacgctgctctgagctgcgaccag
+ttcttcgtgaaccatcgctggctgggcggtatgctgactaactggaaaaccgttcgtcag
+tccatcaaacgtctgaaagacctggaaactcagtctcaggacggtactttcgacaagctg
+accaagaaagaagcgctgatgcgcactcgtgagctggagaaactggaaaacagcctgggc
+ggtatcaaagacatgggcggtctgccggacgctctgtttgtaatcgatgctgaccacgaa
+cacattgctatcaaagaagcaaacaacctgggtattccggtatttgctatcgttgatacc
+aactctgatccggacggtgttgacttcgttatcccgggtaacgacgacgcaatccgtgct
+gtgaccctgtacctgggcgctgttgctgcaaccgtacgtgaaggccgttctcaggatctg
+gcttcccaggcggaagaaagcttcgtagaagctgagtaataaggcttgataactccccca
+aaatagttcgagttgcagaaaggcggcaagctcgagaattcccgggagcttacatcagta
+agtgaccgggatgagcgagcgaagataacgcatctgcggcgcgaaatatgaagggggaga
+gcccttatagaccaggtagtacacgtttggttagggggcctgcatatggccccctttttc
+acttttatatctgtgcggtttaatgccgggcagatcacatctccgaggattttagaatgg
+ctgaaattaccgcatccctggtaaaagagctgcgtgagcgtactggcgcaggcatgatgg
+attgcaaaaaagcactgactgaagctaacggcgacatcgagctggcaatcgaaaacatgc
+gtaagtccggtgctattaaagcagcgaaaaaagcaggcaacgttgctgctgacggcgtga
+tcaaaaccaaaatcgacggcaactacggcatcattctggaagttaactgccagactgact
+tcgttgcaaaagacgctggtttccaggcgttcgcagacaaagttctggacgcagctgttg
+ctggcaaaatcactgacgttgaagttctgaaagcacagttcgaagaagaacgtgttgcgc
+tggtagcgaaaattggtgaaaacatcaacattcgccgcgttgctgcgctggaaggcgacg
+ttctgggttcttatcagcacggtgcgcgtatcggcgttctggttgctgctaaaggcgctg
+acgaagagctggttaaacacatcgctatgcacgttgctgcaagcaagccagaattcatca
+aaccggaagacgtatccgctgaagtggtagaaaaagaataccaggtacagctggatatcg
+cgatgcagtctggtaagccgaaagaaatcgcagagaaaatggttgaaggccgcatgaaga
+aattcaccggcgaagtttctctgaccggtcagccgttcgttatggaaccaagcaaaactg
+ttggtcagctgctgaaagagcataacgctgaagtgactggcttcatccgcttcgaagtgg
+gtgaaggcatcgagaaagttgagactgactttgcagcagaagttgctgcgatgtccaagc
+agtcttaattatcaaaaaggagccgcctgagggcggcttctttttgtgcccatcttgtaa
+attcagctaacccttgtggggctgcgctgaaaagcgacgtacaatgtcgctagtattaat
+tcatttcaatcgttgacagtctcaggaaagaaacatggctaccaatgcaaaacccgtcta
+taaacgcattctgcttaagttgagtggcgaagctctgcagggcactgaaggcttcggtat
+tgatgcaagcatactggatcgtatggctcaggaaatcaaagaactggttgaactgggtat
+tcaggttggtgtggtgattggtgggggtaacctgttccgtggcgctggtctggcgaaagc
+gggtatgaaccgcgttgtgggcgaccacatggggatgctggcgaccgtaatgaacggcct
+ggcaatgcgtgatgcactgcaccgcgcctatgtgaacgctcgtctgatgtccgctattcc
+attgaatggcgtgtgcgacagctacagctgggcagaagctatcagcctgttgcgcaacaa
+ccgtgtggtgatcctctccgccggtacaggtaacccgttctttaccaccgactcagcagc
+ttgcctgcgtggtatcgaaattgaagccgatgtggtgctgaaagcaaccaaagttgacgg
+cgtgtttaccgctgatccggcgaaagatccaaccgcaaccatgtacgagcaactgactta
+cagcgaagtgctggaaaaagagctgaaagtcatggacctggcggccttcacgctggctcg
+tgaccataaattaccgattcgtgttttcaatatgaacaaaccgggtgcgctgcgccgtgt
+ggtaatgggtgaaaaagaagggactttaatcacggaataattcccgtgatggataaataa
+gggtaagattccgcgtaagtatcgcgggggcgtaagtctggttataaggcgttattgttg
+caggcagtttggtcacggccagcgcgcagcaaccggagcgtacaaaagtacgtgaggatg
+gcgagcactgcccggggccaaaatggcaaataaaatagcctaataatccagacgattacc
+cgtaatatgtttaatcagggctatacttagcacacttccactgtgtgtgactgtctggtc
+tgactgagacaagttttcaaggattcgtaacgtgattagcgatatcagaaaagatgctga
+agtacgcatggacaaatgcgtagaagcgttcaaaacccaaatcagcaaaatacgcacggg
+tcgtgcttctcccagcctgctggatggcattgtcgtggaatattacggcacgccgacgcc
+gctgcgtcagctggcaagcgtaacggtagaagattcccgtacactgaaaatcaacgtgtt
+tgatcgttcaatgtctccggccgttgaaaaagcgattatggcgtccgatcttggcctgaa
+cccgaactctgcgggtagcgacatccgtgttccgctgccgccgctgacggaagaacgtcg
+taaagatctgaccaaaatcgttcgtggtgaagcagaacaagcgcgtgttgcagtacgtaa
+cgtgcgtcgtgacgcgaacgacaaagtgaaagcactgttgaaagataaagagatcagcga
+agacgacgatcgccgttctcaggacgatgtacagaaactgactgatgctgcaatcaagaa
+aattgaagcggcgctggcagacaaagaagcagaactgatgcagttctgatttcttgaacg
+acaaaaacgccgctcagtagatccttgcggatcggctggcggcgttttgctttttattct
+gtctcaactctggatgtttcatgaagcaactcaccattctgggctcgaccggctcgattg
+gttgcagcacgctggacgtggtgcgccataatcccgaacacttccgcgtagttgcgctgg
+tggcaggcaaaaatgtcactcgcatggtagaacagtgcctggaattctctccccgctatg
+ccgtaatggacgatgaagcgagtgcgaaacttcttaaaacgatgctacagcaacagggta
+gccgcaccgaagtcttaagtgggcaacaagccgcttgcgatatggcagcgcttgaggatg
+ttgatcaggtgatggcagccattgttggcgctgctgggctgttacctacgcttgctgcga
+tccgcgcgggtaaaaccattttgctggccaataaagaatcactggttacctgcggacgtc
+tgtttatggacgccgtaaagcagagcaaagcgcaattgttaccggtcgatagcgaacata
+acgccatttttcagagtttaccgcaacctatccagcataatctgggatacgctgaccttg
+agcaaaatggcgtggtgtccattttacttaccgggtctggtggccctttccgtgagacgc
+cattgcgcgatttggcaacaatgacgccggatcaagcctgccgtcatccgaactggtcga
+tggggcgtaaaatttctgtcgattcggctaccatgatgaacaaaggtctggaatacattg
+aagcgcgttggctgtttaacgccagcgccagccagatggaagtgctgattcacccgcagt
+cagtgattcactcaatggtgcgctatcaggacggcagtgttctggcgcagctgggggaac
+cggatatgcgtacgccaattgcccacaccatggcatggccgaatcgcgtgaactctggcg
+tgaagccgctcgatttttgcaaactaagtgcgttgacatttgccgcaccggattatgatc
+gttatccatgcctgaaactggcgatggaggcgttcgaacaaggccaggcagcgacgacag
+cattgaatgccgcaaacgaaatcaccgttgctgcttttcttgcgcaacaaatccgcttta
+cggatatcgctgcgttgaatttatccgtactggaaaaaatggatatgcgcgaaccacaat
+gtgtggacgatgtgttatctgttgatgcgaacgcgcgtgaagtcgccagaaaagaggtga
+tgcgtctcgcaagctgaggataatccggctacagagagtcgcgctatttgttagcgtagg
+gcttcagtgatatagtctgcgccatctgatcgtaagtagttggctttataaggtcagata
+tgccgtggttttacacggcttttttttgtataggcttcagtattcctgagtaccgtaaac
+cctgtcagggaataaaaaacgcgtgatgttgtctgctactcaaccacttagcgaaaaatt
+gccagcgcatggctgccgtcatgttgcgatcattatggacggcaatggccgctgggcaaa
+aaagcaagggaagattcgtgcctttgggcataaagccggggcaaaatccgtccgccgggc
+tgtctcttttgcggccaacaacggtattgaggcgttaacgctgtatgcctttagtagtga
+aaactggaaccgaccagcgcaggaagtcagtgcgttaatggaactgtttgtgtgggcgct
+cgatagcgaagtaaaaagtctgcaccgacataacgtgcgtctgcgtattattggcgatac
+cagtcgctttaactcgcgtttgcaagaacgtattcgtaaatctgaagcgctaacagccgg
+gaataccggtctgacgctgaatattgcggcgaactacggtggacgttgggatatagtcca
+gggagtcaggcaactggctgaaaaggtgcagcaaggaaacctgcaaccagatcagataga
+tgaagagatgctaaaccagcatgtctgtatgcatgaactggcccctgtagatttagtaat
+taggactgggggggagcatcgcattagtaactttttgctttggcaaattgcctatgccga
+actttactttacagatgttctctggcccgatttcgatgaacaagactttgaaggggcgtt
+aaatgcctttgctaatcgagagcgtcgtttcggcggcaccgagcccggtgatgaaacagc
+ctgatgggggtcgcttttgctgaagtatcgcctgatatctgcttttgtgttaatacccgt
+cgtcatcgcggcgttgtttctgttgccgccggtggggttcgccattgtaacgctggtggt
+ctgcatgctggcagcgtgggaatggggacagcttagcggttttaccactcgttcgcagcg
+agtatggttggcggtgttatgcgggttattgttggcgctgatgctttttctgttgccgga
+atatcaccgaaatattcatcaaccgctggttgaaatctcactttgggcttcgctgggttg
+gtggattgtcgcgctattgctggtgctgttttacccaggttccgcagcaatctggcgtaa
+ctctaaaacattgcgccttatttttggcgtgctaaccattgttcccttcttctggggcat
+gctggcgttacgggcctggcactatgacgagaatcattacagtggcgcaatatggctgct
+ctatgtcatgatcctggtatggggcgctgactccggcgcatatatgtttggcaaattgtt
+tggtaaacataagctggcaccgaaggtttctccgggtaaaacctggcaaggctttatcgg
+tggactcgctactgcagcggtaatctcatggggttatggcatgtgggcgaatctcgacgt
+cgctcccgtcaccttactcatttgctctattgtcgcagcgttagcctcagtgctcggcga
+tctgaccgagagtatgtttaagcgtgaagcaggaattaaggacagcggtcatttaattcc
+aggacacggtggtattttagatcgtattgatagcctgacggctgcggtaccggtctttgc
+ttgcttgttgttactggtattcaggacgctttaacggaaggtaatatgctgagttttctc
+tgggatttggcttcgttcatcgttgcactgggtgtacttatcaccgtgcatgaatttggt
+catttctgggttgcccggcgttgtggtgttcgcgttgagcgtttctcaatagggtttggt
+aaggcgctctggcggcgaactgataagctcggcaccgaatatgttatcgccctgatcccg
+ttgggcggttatgtcaaaatgctggatgagcgcgcagaaccggtcgttccggaactccgc
+caccatgccttcaataataaatctgtcggccaacgagcggcgattattgccgcaggtccg
+gttgcaaacttcatttttgctatctttgcctactggctggtttttattattggtgtgcct
+ggcgtacgtccggtggttggcgaaatagcagccaattcgatagctgcggaagcacaaatt
+gcaccaggtacggaactaaaagccgtagatggtatcgaaacgcctgattgggatgccgtg
+cgtttgcagttggtcgataaaattggcgatgaaagcaccaccattacagtagcgccattt
+ggcagcgaccaacggcgggatgtaaagctcgatttacgtcactgggcgtttgagcctgat
+aaagaagatccggtatcttcgctggggattcgtcctcgtgggccgcaaattgaacctgta
+ctggaaaatgtgcagccaaactcggcggcaagcaaggcaggtttgcaagcaggcgacagg
+atcgttaaagtcgatggtcagcccttaacgcagtgggtgacctttgtgatgcttgtccgg
+gataacccgggtaaatccttagcgttagaaatcgaaaggcaggggagtcccttgtctttg
+acattaatcccggagagtaaaccgggtaatggtaaagcgattggttttgtcggtattgag
+ccgaaagtcattcctttgccagatgagtataaagttgtacgccagtatgggccgttcaac
+gccatcgtcgaagccacggacaaaacgtggcagctgatgaagctgacggtcagtatgctg
+ggaaaattgatcaccggtgatgtgaaactgaacaacctcagtgggccgatctctatcgcc
+aagggggctgggatgacagcggaactcggggttgtttattacctgccgtttcttgcgctt
+attagcgtgaacttagggataattaacctgtttccgttgcccgtacttgacggggggcat
+ctgctgttccttgcgatcgaaaagatcaagggcggaccggtatccgagcgggttcaagac
+ttttgttatcgcattggctcgattctgctggtgctgttaatggggcttgcacttttcaat
+gatttctctcggttatgagagttagttaggaagaacgcataataacgatggcgatgaaaa
+agttgctcatagcgtcgctgctgtttagcagcgccaccgtatacggtgctgaagggttcg
+tagtgaaagatattcatttcgaaggccttcagcgtgtcgccgttggtgcggccctcctca
+gtatgccggtgcgcacaggcgacacggttaatgatgaagatatcagtaataccattcgcg
+ctctgtttgctaccggcaactttgaggatgttcgcgtccttcgtgatggtgatacccttc
+tggttcaggtaaaagaacgtccgaccattgccagcattactttctccggtaacaaatcgg
+tgaaagatgacatgctgaagcaaaacctcgaggcttctggtgtgcgtgtgggcgaatccc
+tcgatcgcaccaccattgccgatatcgagaaaggtctggaagacttctactacagcgtcg
+gtaaatatagcgccagcgtaaaagctgtcgtgaccccgctgccgcgcaaccgtgttgacc
+taaaactggtgttccaggaaggtgtgtcagctgaaatccagcaaattaacattgttggta
+accatgctttcaccaccgacgaactgatctctcatttccaactgcgtgacgaagtgccgt
+ggtggaacgtggtaggcgatcgtaaataccagaaacagaaactggcgggcgaccttgaaa
+ccctgcgcagctactatctggatcgcggttatgcccgtttcaacatcgactctacccagg
+tcagtctgacgccagataaaaaaggtatttacgtcacggtgaacatcaccgaaggcgatc
+agtacaagctttctggcgttgaagtgagcggcaaccttgccgggcactccgctgaaattg
+agcagctgactaagatcgagccgggtgagctgtataacggcaccaaagtgaccaagatgg
+aagatgacatcaaaaagcttctcggtcgctatggttatgcctatccgcgcgtacagtcga
+tgcccgaaattaacgatgccgacaaaaccgttaaattacgtgtgaacgttgatgcgggta
+accgtttctacgtgcgtaagatccgttttgaaggtaacgatacctcgaaagatgccgtcc
+tgcgtcgcgaaatgcgtcagatggaaggtgcatggctggggagcgatctggtcgatcagg
+gtaaggagcgtctgaatcgtctgggcttctttgaaactgtcgataccgatacccaacgtg
+ttccgggtagcccggaccaggttgatgtcgtctacaaggtaaaagagcgcaacaccggta
+gcttcaactttggtattggttacggtactgaaagtggcgtgagcttccaggctggtgtgc
+agcaggataactggttaggtacaggttatgctgttggtatcaacgggaccaaaaacgatt
+accagacctatgctgaactgtcggtaaccaacccgtacttcaccgtagatggcgtaagcc
+tcggtggtcgtctcttctataatgacttccaggcagatgacgccgacctgtccgactata
+ccaacaagagttatggtacagacgtgacgttgggcttcccgattaacgaatataactcgc
+tgcgtgcaggtctgggttatgtacataactccctgtccaacatgcagcctcaggttgcga
+tgtggcgttatctgtactctatgggtgaacatccgagcacctctgatcaggataacagct
+tcaaaacggacgacttcacgttcaactatggttggacctataacaagcttgaccgtggtt
+acttcccgacagatggttcacgtgtcaacctgaccggtaaagtgaccattcctggatcgg
+ataacgaatactacaaagtgacgttagacacggcgacttatgtgccgatcgatgacgatc
+acaaatgggttgttctggggcgtacccgctggggttatggtgatggtttaggcggcaaag
+agatgccgttctacgagaacttctatgccggtggttccagcaccgtgcgtggcttccagt
+ccaataccattggtccgaaagcagtttacttcccgcatcaggccagtaattatgatccgg
+actatgattacgaatgtgcgactcaggacggcgcgaaagacctgtgtaaatcggatgatg
+ctgtaggcggtaacgccatggcggttgccagcctcgagttcatcaccccgacgccgttta
+ttagcgataagtatgctaactcggttcgtacttccttcttctgggatatgggtaccgttt
+gggatacaaactgggattccagccaatattctggatatccggactatagtgatccaagca
+atatccgtatgtctgcgggtatcgcattacaatggatgtccccattggggccgttggtgt
+tctcctacgcccagccgttcaaaaagtacgatggagacaaggcagaacagttccagttta
+acatcggtaaaacctggtaagtgttctccacaaaggaatgtagtggtagtgtagcgatga
+ctttaggcgatcaatataagatcgccgggccacgcaaagaactgcaccctccggtgcaaa
+tgggatggtaaggagtttattgtgaaaaagtggttattagctgcaggtctcggtttagca
+ctggcaacttctgctcaggcggctgacaaaattgcaatcgtcaacatgggcagcctgttc
+cagcaggtagcgcagaaaaccggtgtttctaacacgctggaaaatgagttcaaaggccgt
+gccagcgaactgcagcgtatggaaaccgatctgcaggctaaaatgaaaaagctgcagtcc
+atgaaagcgggcagcgatcgcactaagctggaaaaagacgtgatggctcagcgccagact
+tttgctcagaaagcgcaggcttttgagcaggatcgcgcacgtcgttccaacgaagaacgc
+ggcaaactggttactcgtatccagactgctgtgaaatccgttgccaacagccaggatatc
+gatctggttgttgatgcaaacgccgttgcttacaacagcagcgatgtaaaagacatcact
+gccgacgtactgaaacaggttaaataagtaatgccttcaattcgactggctgatttagcg
+cagcagttggatgcagaactacacggtgatggcgatatcgtcatcaccggcgttgcgtcc
+atgcaatctgcacaaacaggtcacattacgttcatggttaacccaaaataccgtgagcat
+ttaggcttgtgccaggcgtccgcggttgtcatgacccaggacgatcttcctttcgcgaaa
+agtgccgcactggtagtgaagaatccctacctgacttacgcgcgcatggcgcaaatttta
+gataccacgccgcagcccgcgcagaacattgcacccagtgcggtgatcgacgcgacggcg
+aagctgggtaacaacgtatcgattggcgctaacgcggtgattgagtccggcgttgaactg
+ggcgataacgtgattatcggtgccggttgcttcgtaggtaaaaacagcaaaatcggtgca
+ggttcgcgtctctgggcgaacgtaaccatttaccatgagatccagatcggtcagaattgc
+ctgatccagtccggaacagtggtaggcgcagacggctttggttatgccaacgatcgtggt
+aactgggtgaagatcccacagattggtcgcgtaattattggcgatcgcgtggagatcggt
+gcctgcacaaccatcgatcgcggcgcgctggatgacactattattggcaatggcgtgatc
+attgataaccagtgccagattgcacataacgtcgtgattggcgacaatacggcggttgcc
+ggtggcgtcattatggcgggcagcctgaaaattggtcgttactgcatgatcggcggagcc
+agcgtaatcaacgggcatatggaaatatgcgacaaagtgacggttacgggcatgggtatg
+gtgatgcgtcccatcactgaaccaggcgtctattcctcaggcattccgctgcaacccaac
+aaagtctggcgcaaaaccgctgcactggtgatgaacattgatgacatgagcaagcgtctg
+aaatcgcttgagcgcaaggttaatcaacaagactaacgttccatcttttgttcgccaaac
+tttacggcctgtctcattcttacgattgcggcaggccgtgttattattgtcgtttcttat
+attttgacaggaagagtatcttgactactaacactcatactctgcagattgaagagattt
+tagaacttctgccgcaccgtttcccgttcttactggtggatcgcgtgctggattttgaag
+aaggtcgttttctgcgcgcagtaaaaaatgtctctgtcaatgagccattcttccagggcc
+atttccctggaaaaccgattttcccgggtgtgctgattctggaagcaatggcacaggcaa
+caggtattctggcgtttaaaagcgtaggaaaactggaaccgggtgagctgtactacttcg
+ctggtattgacgaagcgcgcttcaagcgcccggtcgtgcctggcgatcaaatgatcatgg
+aagtcactttcgaaaaaacgcgccgcggcctgacccgttttaaaggggttgctctggtcg
+atggtaaagtagtttgcgaagcaacgatgatgtgtgctcgtagccgggaggcctgatacg
+tgattgataaatccgcctttgtgcatccaaccgccattgtggaagagggcgcgtcaattg
+gcgcgaacgcacacattggtcctttttgtatcgttggaccccatgtcgaaattggtgagg
+gtaccgtactgaaatctcacgttgtcgtgaatggtcatactaaaattggccgcgataatg
+agatttatcagttcgcctccatcggcgaagttaaccaggatctgaaatatgctggcgaac
+cgacccgtgtggaaatcggcgatcgtaaccgcattcgcgaaagcgtcaccattcatcgtg
+gcacagtccagggcggtggattgacgaaggtgggcagcgacaacttactgatgatcaacg
+cgcacattgcgcacgattgtacggtaggtaaccgctgtattctcgccaacaacgcaacgc
+tggcgggtcacgtatcggttgacgacttcgcgatcatcggcggcatgaccgcagtccatc
+agttctgcatcattggtgcgcacgtgatggttggcggctgctccggtgtggcgcaggacg
+tccctccttatgtcattgcgcagggtaaccacgcaacgccgttcggtgtcaatatcgaag
+ggctgaagcgccgcggattcagccgtgaggcgattaccgctatccgcaatgcgtataagc
+tgatttatcgtagcggtaaaacgctcgatgaagtgaaaccggaaattgctgaactggcgg
+aaacatatccggaagtgaaagcctttaccgatttctttgcacgctcaacgcgcggtctga
+ttcgttaatgactgaacagcgtccattaacgattgccctggtcgccggagaaacctccgg
+cgatatcctgggggccggtttaatccgcgctctgaaagaacatgtgcccaacgcccgctt
+tgttggtgttgccgggccacgaatgcaggctgaaggctgcgaagcctggtacgaaatgga
+agaactggcggtgatgggcattgttgaagtgctcggtcgtctgcgtcgcttactgcatat
+tcgtgccgatctgacaaagcgttttggcgaactgaagccagatgtttttgttggtattga
+tgcgcctgacttcaatattactcttgaaggtaacctcaaaaagcagggtatcaaaaccat
+tcattacgtcagtccgtcagtctgggcgtggcgacagaaacgtgttttcaaaataggcag
+agccaccgatctggtgctcgcatttctgcctttcgaaaaagcgttttatgacaaatacaa
+cgtaccgtgccgctttatcggtcataccatggctgatgccatgccattagatccagataa
+aaatgccgcccgtgatgtgctggggatccctcacgatgcccactgcctggcgttgctacc
+ggggagccgtggtgcagaagttgaaatgcttagtgccgatttcctgaaaacggcccagct
+tttgcgccagacatatccggatctcgaaatcgtggtgccactggtgaatgccaaacgccg
+cgagcagtttgaacgcatcaaagctgaagtcgcgccagacctttcagttcatttgctgga
+tgggatgggccgtgaggcgatggtcgccagcgatgcggcgctactggcgtcgggtacggc
+agccctggagtgtatgctggcgaaatgcccgatggtggtgggatatcgcatgaagccttt
+taccttctggttggcgaagcggctggtgaaaactgattatgtctcgctgccaaatctgct
+ggcgggcagagagttagtcaaagaattattgcaggaagagtgtgagccgcaaaaactggc
+tgcggcgctgttaccgctgttggcgaacgggaaaaccagccacgcgatgcacgatacctt
+ccgtgaactgcatcagcagatccgctgcaatgccgatgagcaggcggcacaagccgttct
+ggagttagcacaatgatcgaatttgtttatccgcacacgcagctggttgcgggtgtggat
+gaagtcggacgcgggccgttagttggcgcggtcgtcaccgctgcggtgatccttgacccg
+gcgcgcccgattgccgggctgaatgattccaaaaagctgagcgaaaaacgccgtctggcg
+ctctatgaagagatcaaagagaaagcgttgagctggagtctgggccgcgcggaaccccac
+gaaatcgacgagctgaacattcttcatgcgaccatgctggcgatgcagcgtgccgtcgct
+gggctgcatattgcgccggaatatgtgttgattgatggtaaccgctgcccgaaattaccg
+atgcctgcgatggctgtggtgaaaggcgatagccgcgtaccggaaatcagtgccgcgtct
+atcctggcgaaagtgacgcgtgacgccgaaatggcggcgctggatattgttttcccgcaa
+tatggttttgcccaacacaaagggtacccaaccgcttttcatctggaaaaactggctgaa
+cacggcgcgaccgaacaccatcggcgcagctttgggcctgtcaaacgcgcactgggactt
+gcgtcctgattcttgtgtcgagattaagtaaaccggaatctgaagatgtctgaaccacgt
+ttcgtacacctgcgggtgcacagcgactactcgatgatcgatggcctggccaaaaccgca
+ccgttggtaaaaaaggcggcggcgttgggtatgccagcactggcgatcaccgatttcacc
+aacctttgtggtctggtgaagttctacggagcgggacatggcgcagggattaagcctatc
+gtcggggcagattttaacgtccagtgcgacctgctgggtgatgagttaacccacctgacg
+gtactggcggcgaacaataccggctatcagaatctgacgttgctgatctcaaaagcgtat
+cagcgcgggtacggtgccgccgggccgatcatcgatcgcgactggcttatcgaattaaac
+gaagggttgatccttctttccggcggacgcatgggcgacgtcggacgcagtcttttgcgt
+ggtaacagcgcgctggtagatgagtgtgtcgcgttttatgaagaacacttcccggatcgc
+tattttctcgagctgatccgcaccggcaggccggatgaagaaagctatctgcacgcggcg
+gtggaactggcggaagcgcgcggtttgcccgtcgtggcgaccaacgacgtgcgctttatc
+gacagcagcgactttgacgcacacgaaatccgcgtcgcgatccacgacggctttaccctc
+gacgatcctaaacgcccgcgtaactattcgccgcagcaatatatgcgtagcgaagaggag
+atgtgtgagctgtttgccgacatccccgaagcccttgccaacaccgttgagatcgccaaa
+cgctgtaacgtaaccgtgcgtcttggtgaatacttcctgccgcagttcccgaccggggac
+atgagcaccgaagattatctggtcaagcgtgcaaaagagggcctggaagagcgtctggcc
+tttttattccctgatgaggaagaacgtcttaagcgccgcccggaatatgacgaacgtctg
+gagactgaacttcaggttatcaaccagatgggcttcccgggctacttcctcatcgttatg
+gaatttatccagtggtcgaaagataacggcgtaccggtagggccaggccgtggctccggt
+gcgggttcactggtggcctacgcgctgaaaatcaccgacctcgatccgctggaatttgac
+ctgctgttcgaacgtttccttaacccggaacgtgtctccatgcctgacttcgacgttgac
+ttctgtatggagaaacgcgatcaggttatcgagcacgtagcggacatgtacggtcgtgat
+gcggtatcgcagatcatcaccttcggtacaatggcggcgaaagcggtgatccgcgacgta
+ggccgcgtgctggggcatccgtacggctttgtcgatcgtatctcgaaactgatcccgccc
+gatccggggatgacgctggcgaaagcgtttgaagccgagccgcagctgccggaaatctac
+gaagcggatgaagaagttaaggcgctgatcgacatggcgcgcaaactggaaggggtcacc
+cgtaacgccggtaagcacgccggtggggtggttatcgcgccgaccaaaattaccgatttt
+gcgccgctttactgcgatgaagagggcaaacatccggtcacccagtttgataaaagcgac
+gttgaatacgccggactggtgaagttcgacttccttggtttgcgtacgctcaccatcatc
+aactgggcgctggagatgatcaacaagcggcgggcgaagaatggcgagccgccgctggat
+atcgctgcgatcccgctggatgataagaaaagcttcgacatgctgcaacgctcggaaacc
+acggcggtattccagcttgaatcgcgcggcatgaaggacctgatcaagcgtctacaacct
+gactgcttcgaagatatgatcgccctagtggcactgttccgccccggtccgttgcaatca
+gggatggtggataactttatcgaccgtaaacatggtcgtgaagagatctcctatccggac
+gtacagtggcagcatgaaagcctgaaaccggtactggagccaacctacggcattatcctg
+tatcaggaacaggtcatgcagattgcgcaggtgctttctggttataccctcggtggcgcg
+gatatgctgcgtcgtgcgatgggtaagaaaaagccggaagagatggctaagcaacgttct
+gtatttgctgaaggtgcagaaaagaacggaatcaacgctgaactggcgatgaaaatcttc
+gacctggtggagaaattcgctggttacggatttaacaaatcgcactctgcggcctatgct
+ttggtgtcatatcaaacgttatggctgaaagcgcactatcctgcggagtttatggcggcg
+gtaatgaccgccgatatggacaacaccgagaaggtggtgggtctggtggatgagtgctgg
+cggatggggctgaaaatcctgccaccagatataaactccggtctttaccatttccacgtc
+aacgacgacggcgaaatcgtgtatggtattggcgcgatcaaaggggtcggtgaaggtccg
+attgaggccatcatcgaagcccgtaataaaggcggctacttccgcgaactgtttgatctc
+tgcgcccgtaccgacaccaaaaagttgaaccgtcgcgtgctggaaaaactgatcatgtcc
+ggggcgtttgaccgtcttgggccacatcgcgcagcgctgatgaactcgctgggcgatgcg
+ttaaaagcggcagatcaacacgcgaaagcggaagctatcggtcaggccgatatgttcggc
+gtgctggccgaagagccggaacaaattgaacaatcctacgccagctgccaaccgtggccg
+gagcaggtggtattagatggggaacgtgaaacgttaggcctgtacctgaccggacaccct
+atcaaccagtatttaaaagagattgagcgttatgtcggaggcgtaaggctgaaagacatg
+cacccgacagaacgtggtaaagtcatcacggctgcggggctcgttgttgccgcgcgggtt
+atggtcaccaagcgcggcaatcgtatcggtatctgcacgctggatgaccgttccgggcgg
+ctggaagtgatgttgtttactgacgccctggataaataccagcaattgctggaaaaagac
+cgcatacttatcgtcagcggacaggtcagctttgatgacttcagcggtgggcttaaaatg
+accgctcgcgaagtgatggatattgacgaagcccgggaaaaatatgctcgcgggcttgct
+atctcgctgacggacaggcaaattgatgaccagcttttaaaccgactccgtcagtctctg
+gaaccccaccgctctgggacaattccagtacatctctactatcagagggcggatgcacgc
+gcgcggttgcgttttggcgcgacgtggcgtgtctctccgagcgatcgtttattaaacgat
+ctccgtggcctcattggttcggagcaggtggaactggagtttgactaatacaggaatact
+atgagtctgaatttccttgattttgaacagccgattgcagagctggaagcgaaaatcgat
+tctctgactgcggttagccgtcaggatgagaaactggatattaacatcgatgaagaagtg
+catcgtctgcgtgaaaaaagcgtagaactgacacgtaaaatcttcgccgatctcggtgca
+tggcagattgcgcaactggcacgccatccacagcgtccttataccctggattacgttcgc
+ctggcatttgatgaatttgacgaactggctggcgaccgcgcgtatgcagacgataaagct
+atcgtcggtggtatcgcccgtctcgatggtcgtccggtgatgatcattggtcatcaaaaa
+ggtcgtgaaaccaaagaaaaaattcgccgtaactttggtatgccagcgccagaaggttac
+cgcaaagcactgcgtctgatgcaaatggctgaacgctttaagatgcctatcatcaccttt
+atcgacaccccgggggcttatcctggcgtgggcgcagaagagcgtggtcagtctgaagcc
+attgcacgcaacctgcgtgaaatgtctcgcctcggcgtaccggtagtttgtacggttatc
+ggtgaaggtggttctggcggtgcgctggcgattggcgtgggcgataaagtgaatatgctg
+caatacagcacctattccgttatctcgccggaaggttgtgcgtccattctgtggaagagc
+gccgacaaagcgccgctggcggctgaagcgatgggtatcattgctccgcgtctgaaagaa
+ctgaaactgatcgactccatcatcccggaaccactgggtggtgctcaccgtaacccggaa
+gcgatggcggcatcgttgaaagcgcaactgctggcggatctggccgatctcgacgtgtta
+agcactgaagatttaaaaaatcgtcgttatcagcgcctgatgagctacggttacgcgtaa
+ttcgcaaaagttctgaaaaagggtcacttcggtggcccttttttatcgccacggtttgag
+caggctatgattaaggaaggattttccaggaggaacacatgaacatcattgccattatgg
+gaccgcatggcgtcttttataaagatgagcccatcaaagaactggagtcggcgctggtgg
+cgcaaggctttcagattatctggccacaaaacagcgttgatttgctgaaatttatcgagc
+ataaccctcgaatttgcggcgtgatttttgactgggatgagtacagtctcgatttatgta
+gcgatatcaatcagcttaatgaatatctcccgctttatgccttcatcaacacccactcga
+cgatggatgtcagcgtgcaggatatgcggatggcgctctggttttttgaatatgcgctgg
+ggcaggcggaagatatcgccattcgtatgcgtcagtacaccgacgaatatcttgataaca
+ttacaccgccgttcacgaaagccttgtttacctacgtcaaagagcggaagtacacctttt
+gtacgccggggcatatgggcggcaccgcatatcaaaaaagcccggttggctgtctgtttt
+atgattttttcggcgggaatactcttaaggctgatgtctctatttcggtcaccgagcttg
+gttcgttgctcgaccacaccgggccacacctggaagcggaagagtacatcgcgcggactt
+ttggcgcggaacagagttatatcgttaccaacggaacatcgacgtcgaacaaaattgtgg
+gtatgtacgccgcgccatccggcagtacgctgttgatcgaccgcaattgtcataaatcgc
+tggcgcatctgttgatgatgaacgatgtagtgccagtctggctgaaaccgacgcgtaatg
+cgttggggattcttggtgggatcccgcgccgtgaatttactcgcgacagcatcgaagaga
+aagtcgctgctaccacgcaagcacaatggccggttcatgcggtgatcaccaactccacct
+atgatggcttgctctacaacaccgactggatcaaacagacgctggatgtcccgtcgattc
+acttcgattctgcctgggtgccgtacacccattttcatccgatctaccagggtaaaagtg
+gtatgagcggcgagcgtgttgcgggaaaagtgatcttcgaaacgcaatcgacccacaaaa
+tgctggcggcgttatcgcaggcttcgctgatccacattaaaggcgagtatgacgaagagg
+cctttaacgaagcctttatgatgcataccaccacctcgcccagttatcccattgttgctt
+cggttgagacggcggcggcgatgctgcgtggtaatccgggcaaacggctgattaaccgtt
+cagtagaacgagctctgcattttcgcaaagaggtccagcggctgcgggaagagtctgacg
+gttggtttttcgatatctggcaaccgccgcaggtggatgaagccgaatgctggcccgttg
+cgcctggcgaacagtggcacggctttaacgatgcggatgccgatcatatgtttctcgatc
+cggttaaagtcactattttgacaccggggatggacgagcagggcaatatgagcgaggagg
+ggatcccggcggcgctggtagcaaaattcctcgacgaacgtgggatcgtagtagagaaaa
+ccggcccttataacctgctgtttctctttagtattggcatcgataaaaccaaagcaatgg
+gattattgcgtgggttgacggaattcaaacgctcttacgatctcaacctgcggatcaaaa
+atatgctacccgatctctatgcagaagatcccgatttctaccgcaatatgcgtattcagg
+atctggcacaagggatccataagctgattcgtaaacacgatcttcccggtttgatgttgc
+gggcattcgatactttgccggagatgatcatgacgccacatcaggcatggcaacgacaaa
+ttaaaggcgaagtagaaaccattgcgctggaacaactggtcggtagagtatcggcaaata
+tgatcctgccttatccaccgggcgtaccgctgttgatgcctggagaaatgctgaccaaag
+agagccgcacagtactcgattttctactgatgctttgttccgtcgggcaacattaccccg
+gttttgaaacggatattcacggcgcgaaacaggacgaagacggcgtttaccgcgtacgag
+tcctaaaaatggcgggataacttgccagagcggcttccgggcgagtaacgtgctgttaac
+aaataaaggagacgttatgctgggtttaaaacaggttcaccatattgcgattattgcgac
+ggattatgcggtgagcaaagctttctactgcgatattcttggtttcacgctgcaaagcga
+agtctatcgcgaagcgcgcgactcatggaaaggggatttggcgcttaatgggcaatatgt
+gattgagcttttctcatttccgttcccgccggaacgacccagccgaccggaagcttgcgg
+tctgcgtcatctggcttttagcgttgatgacatcgatgcggcagtggcgcaccttgaaag
+ccataacgtgaagtgtgaaaccatccgtgtcgatccatacacgcaaaaacgcttcacctt
+ctttaacgatccggacgggctgccgttggaactgtatgagcagtaaggcttgtcatcgcc
+gcatttgcccggtaacgtgccgggcattgctactgtaaaatcgcaccatcatgacactca
+cgctcaatagacaacttctcacctcacgccagattctggtggcctttagcggcgggcttg
+actccaccgttctgctgcatcagttggtgcagtggcggacggaaaatccgggtgtcgctc
+tgcgcgctattcatgtgcatcacggtttaagtgccaatgccgatgcctgggttacgcatt
+gcgaaaacgtctgccaacagtggcaggtgccgctggtggtcgaacgcgtacaacttgcgc
+aagaaggactgggcattgaggcccaggcgcggcaggcacgttatcaggcatttgcccgca
+ccttgttgcccggtgaagtgctggtcaccgcgcaacatctcgacgatcaatgtgaaacct
+ttctgctggcgctaaaacgcggcagtggccctgccgggctttcggctatggcggaagtct
+cggagtttgccggaacgcggcttattcgcccgttgctcgcccgcacgcggggggaactgg
+tgcagtgggcgcgtcagtatgatttacgctggattgaagacgaaagtaatcaggacgact
+catacgatcgtaactttctgcgcctgcgcgtagtgccgttattgcagcagcgttggccgc
+attttgccgaagcaacggcccgcagcgccgcactttgtgctgaacaagagagcctgctgg
+atgaactgctggcagatgatttagcacactgtcaatcgccgcaggggacgctgcagattg
+tgccaatgctggcgatgagtgatgcccgccgcgcggcgattatccgccgctggctggcag
+ggcagaatgcaccgatgccttcccgcgacgcgttggtgaggatctggcaggaagtggcgc
+tggcgcgggaagatgcctcaccctgtttacgtttgggcgcgtttgaaatccgacgctatc
+agtcgcaactgtggtggattaaatccgtcaccgggcaaagcgaaaacattgtgccgtggc
+agacgtggcttcaaccgctggaattaccggcggggctgggaagtgtacagcttaatgcgg
+gaggcgatattcgccctccgcgtgcagacgaagcggtcagcgtgcgtttcaaagcgccag
+gattgctgcatattgtcgggcgtaacggcggacgtaagctaaagaaaatctggcaagagc
+tgggcgtgccgccgtggctacgtgacaccacgccactgctgttttatggcgaaacgctga
+ttgcggcggcaggggtatttgtgacgcaagaaggtgtggctgaaggtgagaatggcgtaa
+gttttgtctggcagaaaacgcttagttaagtgaaagccggataagacgcatcaaacgtcg
+catccggcgaaagtcaatcaggattcgcttaccaccaccgtaccgatttccgggtggcta
+aagctggtaattttatccagacgcagctcgcgggtttcgccagcggcctcgacgaccagg
+tactccacatttttgcgggagactaaatcactggcttttgcctgcaatttttcgccatct
+ttcagctcaagtgtcagcattaaatgatgctggcaggcgagctcaagattatcgtaatca
+tcacaattgattggttgatacgtatcattcattgacataatcgctcaccagtaagtttgc
+cgcagcgtatgctgctttttccctgacagcctcagaaagggcgtcgtcggcagccatttc
+attcagcactttcaaaacgcagcccagcgcgtccggaacgtatcctaagtctccgctggc
+gatttccgcgtaccgcttgcgtattaactcacaatatttttccacatgccctcctgtcag
+cactctgacttaaccgtggatgcaagtctaagcctacgaagataaactctgtttcgcaag
+gtgactataccacactcatttctgcaatatcagcgccgcaactgcacgtattccgttaca
+atggcctcctgattcgaaaggagttttcttatggcgcttaaagcgacaatttataaagcg
+acggttaatgtggccgatctcgaccgcaaccagtttctcgatgcctctctgacgctggcg
+cgccatccttcagaaacccaggagcgtatgatgctgcgcttgctggcgtggctgaaatat
+gctgatgaacgtctgcaatttacccgtggtttgtgtgccgatgatgagccggaagcgtgg
+ctgcgtaacgatcacctgggcattgatttgtggattgagctggggctgccggatgagcgg
+cggattaagaaagcctgcacccaggccgcagaagtggcgctgtttacctataatagtcgg
+gcggcgcaaatctggtggcagcaaaatcagagcaaatgtgtgcagtttgccaatctttcc
+gtctggtatctggacgatgaacaactggcgaaagtaagcgcctttgccgatcgtaccatg
+acgctgcaggcaacgattcaggatggcgtgatctggttatcggatgataagaataatctg
+gaagtgaacttaaccgcctggcaacaaccttcatgattgtgatttcccgacatgttgcta
+ttcccgatggtgagcttgagatcaccgccattcgtgcgcagggcgcgggcgggcagcatg
+ttaataagacctcaacggctattcatctgcgttttgacattcgggcgtccagcctgccag
+agtattacaaagagcgtctgctcgccgccagccatcatttgatcagcagtgatggcgtga
+ttgtcattaaggcacaggaataccgcagtcaggaactgaaccgcgaagcagctctggccc
+ggctggtggctatgattaaagaattaacaacagaaaaaaaagcccgacgacccacgcggc
+ccacccgtgcatcgaaagagcgcaggctggcatcgaaagcacaaaaatcaagcgtgaagg
+cgatgcgcggcaaagtgcgcagcggtcgggaataaaaagaaggaatggatggtgaaaaaa
+gcgatagtgacagcgatggctgtaatcagcctctttactctgatgggatgtaataatcgg
+gccgaagtcgatacgctttctccggcgcaggctgccgaactgaaaccgatgccgcaaagt
+tggcgcggcgtgctgccgtgtgccgattgcgaaggaatcgaaacctctctgttcctcgaa
+aaagacggaacatgggtgatgaatgagcgttatctcggtgctcgtgaagaaccttcctcc
+ttcgcttcctacggtacatgggcgcgaaccgctgacaagctggtattaaccgacagcaaa
+ggtgaaaagtcatattatcgggcgaaaggcgatgcgctggagatgctcgatcgtgaaggc
+aatccgattgaatcgcagttcaactatacgctggaagcggcacaatccagtttacctatg
+acgccgatgaccctgcggggcatgtatttttatatggctgatgcggcgaccttcactgat
+tgcgcgaccggaaaacgtttcatggtagcgaataacgcagagctggagcgtagctacctg
+gctgcgcgcggtcacagtgaaaaaccggtgttactgtcagtagaaggtcactttacgctt
+gagggtaatccggataccggtgcgccgactaaagtattggcacccgatacggcagggaaa
+ttttaccccaaccaggattgcagtagtttggggcagtaacccgtcttgagacagaaacaa
+acgcaaaacaggccagaaggatatatttcaacattttgaatttgcacgttttttgtaggc
+cggataaggcgtttacgccgcatccggcaatggtgctcaacgcctgatgcgacgctggcg
+cgtcttatcatgcctacaacccccctcataccttaaggcggataaggcatttactttatc
+accgggtcaaaccaacaaagcgacccgccttgatataaatcccaggcttcaggtgcccaa
+catactgtaactgcgtttctggcttaaacgcagagacatcaccaatacgcatatgcatca
+gatcggcagggctaatccagcccgattgcgccagtgtaagtggatgcccggctttggcaa
+aggcatccgtgacaaattccgaacaaaaccacgactttttgtctccttcgcccacactgc
+ttaactgcgctttcgccaggccgctgacgcactgttggcgaaaatcctcggagaacggat
+tcagtgagcacatctggcgagtcaccataaagggaataaattcgacaatgccgcgatagt
+tataaccgctatctttgattttattggcaaacgcggtgatatctgtggcttgttgcgggg
+taagatccgggactcgtaagacgaaaagcttatcactatgcttcatcgcttttttaaggg
+aaacgatctggacgccagcgcctgtcgcttctgcaacgttattatcacccagaaagattg
+caacgtgactcacagaggaagtgctgaagacgcggattccaaatgaggttaccccaaggc
+ttgaggagaacagcaaatcgccgggtttgagatcaggtgccgttatttcttttattgatt
+gttcggtgaaagagctttgatgctggaatttgacagcccatgtttttgcctcggcatcta
+ctgctgtggctgatgggtctggctggctgatatcaacggtacaagccgaaagtaaaagaa
+agctggggagaaacaggcggcagtacgcctttggtttatccattttatacaatccatgta
+aaaaaagggccctgaaattcaggaccctttctggcatcagcctttaatctgtttcaccag
+atattcgacgatgtcaccagtcttaattaactgtttctcgccgttgcgacgatatttata
+ttcgatatcgtcgttgtcgaggttacggtcgcccagcacaatagtgtgcggaataccgat
+cagttccatatcagcaaacatcacgcccggacgctctttgcggtcatccagcagcacttc
+gataccttgtgcacgcagttcgctgtacagtttctcagcaagctcttgtacgcggaagga
+tttgtgcatgttcatcggcagaatcgccacctggaacggcgcgatagcgtcaggccatac
+gatgcctcgttcgtcgtagttctgctcaatcgccgcagctaccacacgcgttaccccgat
+accgtagcaacccatcgtcaggatttggttacggccatcttcaccctgtacggaggcttt
+cagtgcttcggagtacttggtacccagctggaagatgtgaccaacttcgataccacgttt
+gatcagcagcctaccctggccatccgggcttggatcgccagccaccacgttacggatatc
+tgcaacttccggggtagcgacatcgcgatcccagttgatgccgaagtagtgtttaccatc
+gatgttagcaccagcagcgaaatcactcatcgccgcaacggtacggtcaatcaccaccgg
+aatcggcatgtttaccggacccagtgaacccggaccggctttaaccacggcacgaatttc
+ttcttcggtcgcgaaagtcagcgggcttgcaacctgcggcagtttttctgctttaacttc
+gttcagctcgtgatcaccgcgcaccagcagcgcaacctgcgggaagctgctgccttcaac
+cgctttaaccagcagagtcttaaccgttttctcaatcggcagattgaactgttcaaccag
+ttccgcgatggttttcgcgttcggcgtatcaaccagcgtcatttcctgggtagcagcagc
+gcgcggttctttcggcgcgatagcttctgccagttcaatgttcgctgcatagtcagaggt
+gtcggagaagaccacatcgtcttcaccgctctgcgccagcacctggaattcgtgagaggc
+gctgccgccgatagaaccggtgtcggcttgtacggcgcggaaatccagccccatgcggct
+gaagattttgctgtaggccgcatacattgcatcgtaggtttcctgcagggattcctgaga
+agtatggaaagagtaagcatctttcatcaggaattcgcgggaacgcatgacgccgaaacg
+cggacgcacttcgtcgcggaacttggtctggatctgatagaagttcagcggcagctgttt
+gtaagagctaagctcgttacgaatcaggtcagtgataacttcttcatgagttgggccgag
+tacgaacggacgctcgccacggtcaacaaaacgcagcagttccggaccgtactgttccca
+acgaccactctcttgccacaaatcggctggctgaaccaccggcatcgacacctcgatcgc
+accggcgttgttcatctcttcacgcacgatgttttcgacttttttcagaacgcgcacgcc
+ggtcggcagccaggtatataacccggaggccagcttgcggatcatcccggcgcgcagcat
+cagctgatggctgatcacctcggcgtcggcaggtgtctccttgagagtggagagcaggta
+ttggctagtacgcatgttgttacggttccagttggaaggtagaacaggctcaaggcgagc
+ctgggacaaaaaaaagtgatttagtttaccagtgcaaaagaaatgtcaaaagagaagggc
+gtgaatttaacgcggttccagcgcaaagacttcaaaacctgcgtcggtgacgcgccagcg
+aacgttaaaatcatgtagccagacggcataggttttgcccgtttcctcacctttacgata
+ggccgggcgcgggtcctgcgccagtacttcgcggataaacagcgttaactgcggataacg
+cttctccagcgtcaaaagctgcttttcgacctctgcggtaaaactcaccgccatctctgc
+agctggcgcactttgcgcatagctggcactggcatcgggaagcgattcggcaaaggggag
+atacggtttgatatccactaccggcgtaccatcgaccagatccagactgccgagcttcag
+aatcacgctgtctttatggcaaacaacctctttcagctctaccagcgacatgccaattgg
+gttagggcggaaagtagagcgtgttgcgaaaacccccattctggcgttaccgccgaggcg
+cggtggacgcacagtcggacgccagccgccttccatcgtttgatgaaagacgaaaaggat
+ccataaatggctgaacgcttccaggccgcgaacggcgtcggcctggttgtagggagcaat
+gagatgcagttcgccgttggcgctttttaccagacctggctggcgcggaacggcgaactt
+ttctttatagggcgagcgaataacgcctatttgctcgaactggaaactgctcatttcgcc
+gtaatgttaagcgcagaaccgatacatacagcctgacgatagcagcctggcgtaccgctg
+gtgacttcgcagctatgcagtaatacagcattggctttcattttagaggcgttgatttgc
+atccgcttacgtgcggttggaatgctcggcggagagtcctgattagaggcctggcaagag
+tcgccactgacttcaccgagatcgcggaacggtttgccgactaattcttctgcattggta
+taaattcggaccggcgtggcgcgcggcgctttcggttttgcaggctccgctttcggctgg
+ggtgcagtgctttgaacgggttcgacaggggatctgcttaacatggaacagccgcttagc
+atgagtgctactaaacagatcggtaaagcacgcatagtatttcctcaatgtatgatcaaa
+acgtcaatattgaatcaggagcttgtaaaaatgacaagacgggcaagcgcccgtcctgaa
+tgatattacaaattgtggaaacagcctaaaaattaccagcctttaacagctccgccgtta
+aacactttgtttgctgcttcgtaaacttcgtcagactgataagcctggacgaatttcttc
+acgttctcggcgtctttgttatcttcacgcgtcacgatcaggtttacgtacggggactct
+ttatcttcaacaaagataccgtctttcgccggagtcaggccaatctggctggcataggtg
+gtattgataactgccagagcgatttgcgcgtcgtccagagaacgcggcagttgcggtgct
+tccagttcaacaattttcagatttttggggttctcaacaacatcaagaacggtcggcagc
+aggccaacgccatctttcagtttgatcaagcccactttttgcagcagcagcagtgaacga
+ccaaggttagttgggtcgtttggcacggcaacctgcgaaccatcctgcagttcatccagt
+gatttgattttcttggagtaaccagcaatcggataaacaaaagtgttgcctactgcgacc
+agtttgtagccacgatctttcagttgctgatcaaggtacggtttatgctggaaggcgttg
+gcgtcgatatcgcctttgctcaatgcttcgtttggcagaacatagtcgttgaaggttacc
+agctcaacgtccaggccatatttgtctttcgcaactttctgcgcgacttctgcaacctgc
+tgttcggcaccaacaatcacgccgactttaatgtggtttggatctttttcatcctgaccg
+cagcctaccagtgccagtgatccgatcagggctcccactgccgcaaaggttttgaatttg
+aacgccataccttattccttcttcaattatttatgttgtgttgaacgttacttgcgagtg
+acagcccggacgatgcggtcgcctgcgaactgaattaaataaaccagaatgaccagcaat
+accagtaccgtattcatcaccgtcgcgttatagccgatgtagccatactgatagccaatc
+tgacctaaaccaccggcaccgactgcaccacccatcgcggaataaccgaccagggtaatc
+agggtgatagttgccgcattcaccagacccggcagcgcttccggtaacagcaccttacgg
+acgatctgcatcggcgtggcacccattgcgcgggaagcttcaattaacccggttgggatc
+tccagcagagcgttctcgaccatacgggcaataaacggtgctgcaccaacggttaacgga
+acaatcgctgcctgcaaaccaatcgatgtaccgacaataacgcgggtaaacggaatcatc
+catacaagcaagataatgaacgggatggaacggaaaatgttcacaatcgcagaaacggta
+cgatacagcttcgcgttagcaataatttgccccggacgcgtgacataaagcagaacgcca
+accggcagaccaatcacaaagccaaaaaaaccggatacgaaggtcattgccagcgtttcc
+catacgccacgaaccagcagccacatcatcggctcagacataacccagtacctctacttt
+tacatggtgttcctgcagccaggcaatggcggcttgcgtatcttgttgtgtgccgtgcat
+ttcagtcagcatgatgccgaacttaacgccaccggcgtaatccatctgcgcgctaataat
+gttgttgttgacgttgaaacgacgcgcggtttcagaaagcagtggggcatcgaccgattg
+accggtaaactccagacgcagcatcggcacgcagtcagtaaatggctccgcttgcagacg
+ttcctggtaatcttccgggatatccagatgcagggtcgactgaataaacttctgcgccag
+cggcgttttcggatgcgagaacacttcacttaccgtgtcctgctcgatcagttctccatt
+gctgatgaccgccacgcaatcacaaatgcgcttcacaacgtccatttcgtgggtgatcaa
+cagaatcgtcaaccccagacggcggttgatgtctttcagcagttcgagaatagaacgtgt
+cgttgccgggtccagcgcgctggtggcttcatcacacagcaatactttgggattgctggc
+taacgcacgggcaattgccacacgttgtttctgcccaccggaaagattcgacgggtagct
+atcatgcttatcgccaagaccaaccaatgacagcaattccgtcacgcgacgtttgacctc
+gtctttcggtgtgttgtccagctccagcggcagagccacgttgccaaaaacagtacgcga
+agagagcaggttaaaatgctggaaaatcataccaatctggcggcgagctttggtcaactc
+ggattctgacagcgtggtcagttcctggccatcgaccagcacgctaccctcggttgggcg
+ctccagcaggtttacacaacgtataagcgtactcttacccgcgcctgaggcaccgataac
+gccataaatttgtccagctggcacatgcaggctgacgttgttcaacgcctggatggtgcg
+ggtgccctggtggaacactttggtgatattcgaaagttttatcattgattatttattatc
+gtcattaagttagtcgtggcatctcgaatgcctgaaacgggcaacgccgtcaatgaaatg
+gatgttaaggcatccagacgtctaaatcaatcaggtttatgcgaagagcactttcttgca
+ggtcgaaacatgcgatactagcgtcacatgccttattaaggagctataaaaggtggcgaa
+gagcgtacccgcaatttttcttgaccgtgatggcaccattaatgtcgatcacggctatgt
+ccatgagatcgacaactttgaatttatcgacggtgttattgacgccatgcgcgagctaaa
+aaaaatgggctttgcgctggtggtagtaaccaaccagtctggcattgctcgcggtaaatt
+taccgaagcacagtttgaaacgctgaccgagtggatggactggtcgctggcggaccgaga
+tgtcgatctggatggtatctattattgcccgcatcatccgcagggtagtgttgaagagtt
+tcgccaggtctgcgattgccgcaaaccacatccggggatgcttttgtcagcacgcgatta
+tttgcatattgatatggccgcttcttatatggtgggcgataaattagaagatatgcaggc
+agcggttgcggcgaacgtgggaacaaaagtgctggtgcgtacgggtaaacctattacgcc
+tgaagcagaaaacgcggcggattgggtgttaaatagcctggcagacctgccgcaagcgat
+aaaaaagcagcaaaaaccggcacaatgattaaaagatgagcggttgaaataaaaatgcat
+ttttccgcttgtcttcctgagccgactccctataatgcgcctccatcgacacggcggatg
+tgaatcacttcacacaaacagccggttcggttgaagagaaaaatcctgaaattcagggtt
+gactctgaaagaggaaagcgtaatatacgccacctcgcgacagtgagctgaaagccgcgt
+cgcaactgctctttaacaatttatcagacaatctgtgtgggcactcgaagatacggattc
+ttaacgtcgcaagacgaaaaatgaataccaagtctcaagagtgaacacgtaattcattac
+aaagtttaattctttgagcatcaaacttttaaattgaagagtttgatcatggctcagatt
+gaacgctggcggcaggcctaacacatgcaagtcgaacggtaacaggaagaagcttgcttc
+tttgctgacgagtggcggacgggtgagtaatgtctgggaaactgcctgatggagggggat
+aactactggaaacggtagctaataccgcataacgtcgcaagaccaaagagggggaccttc
+gggcctcttgccatcggatgtgcccagatgggattagctagtaggtggggtaacggctca
+cctaggcgacgatccctagctggtctgagaggatgaccagccacactggaactgagacac
+ggtccagactcctacgggaggcagcagtggggaatattgcacaatgggcgcaagcctgat
+gcagccatgccgcgtgtatgaagaaggccttcgggttgtaaagtactttcagcggggagg
+aagggagtaaagttaatacctttgctcattgacgttacccgcagaagaagcaccggctaa
+ctccgtgccagcagccgcggtaatacggagggtgcaagcgttaatcggaattactgggcg
+taaagcgcacgcaggcggtttgttaagtcagatgtgaaatccccgggctcaacctgggaa
+ctgcatctgatactggcaagcttgagtctcgtagaggggggtagaattccaggtgtagcg
+gtgaaatgcgtagagatctggaggaataccggtggcgaaggcggccccctggacgaagac
+tgacgctcaggtgcgaaagcgtggggagcaaacaggattagataccctggtagtccacgc
+cgtaaacgatgtcgacttggaggttgtgcccttgaggcgtggcttccggagctaacgcgt
+taagtcgaccgcctggggagtacggccgcaaggttaaaactcaaatgaattgacgggggc
+ccgcacaagcggtggagcatgtggtttaattcgatgcaacgcgaagaaccttacctggtc
+ttgacatccacagaactttccagagatggattggtgccttcgggaactgtgagacaggtg
+ctgcatggctgtcgtcagctcgtgttgtgaaatgttgggttaagtcccgcaacgagcgca
+acccttatcttttgttgccagcggtccggccgggaactcaaaggagactgccagtgataa
+actggaggaaggtggggatgacgtcaagtcatcatggcccttacgaccagggctacacac
+gtgctacaatggcgcatacaaagagaagcgacctcgcgagagcaagcggacctcataaag
+tgcgtcgtagtccggattggagtctgcaactcgactccatgaagtcggaatcgctagtaa
+tcgtggatcagaatgccacggtgaatacgttcccgggccttgtacacaccgcccgtcaca
+ccatgggagtgggttgcaaaagaagtaggtagcttaaccttcgggagggcgcttaccact
+ttgtgattcatgactggggtgaagtcgtaacaaggtaaccgtaggggaacctgcggttgg
+atcacctccttaccttaaagaagcgtactttgcagtgctcacacagattgtctgatgaaa
+atgagcagtaaaacctctacaggcttgtagctcaggtggttagagcgcacccctgataag
+ggtgaggtcggtggttcaagtccactcaggcctaccaaatttgcacggcaaatttgaaga
+ggttttaactacatgttatggggctatagctcagctgggagagcgcctgctttgcacgca
+ggaggtctgcggttcgatcccgcatagctccaccatctctgtagtggttaaataaaaaat
+acttcagagtgtacctgcaaaggttcactgcgaagttttgctctttaaaaatctggatca
+agctgaaaattgaaacactgaacaatgaaagttgttcgtgagtctctcaaattttcgcaa
+cacgatgatggatcgcaagaaacatcttcgggttgtgaggttaagcgactaagcgtacac
+ggtggatgccctggcagtcagaggcgatgaaggacgtgctaatctgcgataagcgtcggt
+aaggtgatatgaaccgttataaccggcgatttccgaatggggaaacccagtgtgtttcga
+cacactatcattaactgaatccataggttaatgaggcgaaccgggggaactgaaacatct
+aagtaccccgaggaaaagaaatcaaccgagattcccccagtagcggcgagcgaacgggga
+ggagcccagagcctgaatcagtgtgtgtgttagtggaagcgtctggaaaggcgcgcgata
+cagggtgacagccccgtacacaaaaatgcacatgctgtgagctcgatgagtagggcggga
+cacgtggtatcctgtctgaatatggggggaccatcctccaaggctaaatactcctgactg
+accgatagtgaaccagtaccgtgagggaaaggcgaaaagaaccccggcgaggggagtgaa
+aaagaacctgaaaccgtgtacgtacaagcagtgggagcatgcttaggcgtgtgactgcgt
+accttttgtataatgggtcagcgacttatattctgtagcaaggttaaccgaataggggag
+ccgaagggaaaccgagtcttaactgggcgttaagttgcagggtatagacccgaaacccgg
+tgatctagccatgggcaggttgaaggttgggtaacactaactggaggaccgaaccgacta
+atgttgaaaaattagcggatgacttgtggctgggggtgaaaggccaatcaaaccgggaga
+tagctggttctccccgaaagctatttaggtagcgcctcgtgaactcatctccgggggtag
+agcactgtttcggcaagggggtcatcccgacttaccaacccgatgcaaactgcgaatacc
+ggagaatgttatcacgggagacacacggcgggtgctaacgtccgtcgtgaagagggaaac
+aacccagaccgccagctaaggtcccaaagtcatggttaagtgggaaacgatgtgggaagg
+cccagacagccaggatgttggcttagaagcagccatcatttaaagaaagcgtaatagctc
+actggtcgagtcggcctgcgcggaagatgtaacggggctaaaccatgcaccgaagctgcg
+gcagcgacgcttatgcgttgttgggtaggggagcgttctgtaagcctgtgaaggtgtact
+gtgaggtatgctggaggtatcagaagtgcgaatgctgacataagtaacgataaagcgggt
+gaaaagcccgctcgccggaagaccaagggttcctgtccaacgttaatcggggcagggtga
+gtcgacccctaaggcgaggccgaaaggcgtagtcgatgggaaacaggttaatattcctgt
+acttggtgttactgcgaaggggggacggagaaggctatgttggccgggcgacggttgtcc
+cggtttaagcgtgtaggctggttttccaggcaaatccggaaaatcaaggctgaggcgtga
+tgacgaggcactacggtgctgaagcaacaaatgccctgcttccaggaaaagcctctaagc
+atcaggtaacatcaaatcgtaccccaaaccgacacaggtggtcaggtagagaataccaag
+gcgcttgagagaactcgggtgaaggaactaggcaaaatggtgccgtaacttcgggagaag
+gcacgctgatatgtaggtgaagcgacttgctcgtggagctgaaatcagtcgaagatacca
+gctggctgcaactgtttattaaaaacacagcactgtgcaaacacgaaagtggacgtatac
+ggtgtgacgcctgcccggtgccggaaggttaattgatggggttagcgcaagcgaagctct
+tgatcgaagccccggtaaacggcggccgtaactataacggtcctaaggtagcgaaattcc
+ttgtcgggtaagttccgacctgcacgaatggcgtaatgatggccaggctgtctccacccg
+agactcagtgaaattgaactcgctgtgaagatgcagtgtacccgcggcaagacggaaaga
+ccccgtgaacctttactatagcttgacactgaacattgagccttgatgtgtaggataggt
+gggaggctttgaagtgtggacgccagtctgcatggagccgaccttgaaataccacccttt
+aatgtttgatgttctaacgttgacccgtaatccgggttgcggacagtgtctggtgggtag
+tttgactggggcggtctcctcctaaagagtaacggaggagcacgaaggttggctaatcct
+ggtcggacatcaggaggttagtgcaatggcataagccagcttgactgcgagcgtgacggc
+gcgagcaggtgcgaaagcaggtcatagtgatccggtggttctgaatggaagggccatcgc
+tcaacggataaaaggtactccggggataacaggctgataccgcccaagagttcatatcga
+cggcggtgtttggcacctcgatgtcggctcatcacatcctggggctgaagtaggtcccaa
+gggtatggctgttcgccatttaaagtggtacgcgagctgggtttagaacgtcgtgagaca
+gttcggtccctatctgccgtgggcgctggagaactgaggggggctgctcctagtacgaga
+ggaccggagtggacgcatcactggtgttcgggttgtcatgccaatggcactgcccggtag
+ctaaatgcggaagagataagtgctgaaagcatctaagcacgaaacttgccccgagatgag
+ttctccctgactccttgagagtcctgaaggaacgttgaagacgacgacgttgataggccg
+ggtgtgtaagcgcagcgatgcgttgagctaaccggtactaatgaaccgtgaggcttaacc
+ttacaacgccgaagctgttttggcggattgagagaagattttcagcctgatacagattaa
+atcagaacgcagaagcggtctgataaaacagaatttgcctggcggccgtagcgcggtggt
+cccacctgaccccatgccgaactcagaagtgaaacgccgtagcgccgatggtagtgtggg
+gtctccccatgcgagagtagggaactgccaggcatcaaattaagcagtaagccggtcata
+aaaccggtggttgtaaaagaattcggtggagcggtagttcagtcggttagaatacctgcc
+tgtcacgcagggggtcgcgggttcgagtcccgtccgttccgccacttattaagaagcctc
+gagttaacgctcgaggttttttttcgtctgtatatctattattgccagaatcgcaaaaat
+cctctgcattttacgctctttttcctcaacagtctgaagcccataatcacctcagttaac
+gaaaatagcattaaaagaggcatattatggctatccctgcatttggtttaggtactttcc
+gtctgaaagacgacgttgttatttcatctgtgataacggcgcttgaacttggttatcgcg
+caattgataccgcacaaatctatgataacgaagccgcagtaggtcaggcgattgcagaaa
+gtggcgtgccacgtcatgaactctacatcaccactaaaatctggattgaaaatctcagca
+aagacaaattgatcccaagtctgaaagagagcctgcaaaaattgcgtaccgattatgttg
+atctgacgctaatccactggccgtcaccaaacgatgaagtctctgttgaagagtttatgc
+aggcgctgctggaagccaaaaaacaagggctgacgcgtgagatcggtatttccaacttca
+cgatcccgttgatggaaaaagcgattgctgctgttggtgctgaaaacatcgctactaacc
+agattgaactctctccttatctgcaaaaccgtaaagtggttgcctgggctaaacagcacg
+gcatccatattacttcctatatgacgctggcgtatggtaaggccctgaaagatgaggtta
+ttgctcgtatcgcagctaaacacaatgcgactccggcacaagtgattctggcgtgggcta
+tgggggaaggttactcagtaattccttcttctactaaacgtaaaaacctggaaagtaatc
+ttaaggcacaaaatttacagcttgatgccgaagataaaaaagcgatcgccgcactggatt
+gcaacgaccgcctggttagcccggaaggtctggctcctgaatgggattaagcctctctga
+cagctcctccgggagctgtttttacatgctcgctaaggaaatcgataaaagcccggatgc
+gcgtacttaccgcacggtcgctgtaatagacggcactgaatggcatttccactggcaaca
+ctttatctgccattaactccaccaattctccgcgagcgatttctttgtcgatcatgtagt
+cggacaaacacgcaatcccgttgccactcaggcaaagctgtttcagtgtttccccactat
+tggatgacaaaccgtacttcacctcatgtaattgtccatcgctacgggctatcggccagg
+tattgagggaagcgggttcagtgaatcccaggcaaatatgttgctttaaatcgtcgatcg
+tttctggcttcccgtagcgggaaatataatcgggggaggcgataatttttcgataactgt
+taaataacggcctggcacgtaagctggaatccgttaacgtaccagcgcgtatcgcgacat
+ccacttttctttcgatcaaattaataatcgtttcggaggagactagcgacaaagtgactt
+ccggatagcgttcacggaaaggcttaattaacggcatcagaaagtgcagcaccactggag
+ttgcggcatcgatccgtaacagtccacgcggtgtattacgcgtctccataatttctgatt
+ctgccgctgccatctcctgcaaaattgactgtacgcgacgaaaataacgctcgccttctt
+ccgtcaggctaagttgtcgcgtggtccgattaagcaggctaacgccaagtttcatctcca
+gctttttcaccgcccggcttaccgctgagtttgcttgccctaattgttccgctgcccggc
+taaagctgccgctttcgacgaccgaaacaaaaatggcgagttcttccgacgtggctttca
+tttttgctcctgttgcaaaatagaagagatattttgaatttatttgtcattaaaccatca
+ggatgcgtgatatgtcatgcgatttaatgttctccataatgagcaaaattctgaccggtg
+taagcacttgcttacataacaatatacaattgctcgttgaaagagtgagctaaaatccct
+ataacagtagaaccctcccgagtgcggaagggttgacgtaatagaggtttcaaagtcaaa
+agtgcgaaaaaacacctatgccatgcgctatgttgccggacaacctgcggaaaggatctt
+accgccggggtcttttgcgagcatcggccaggcattaccacctggggaaccgttaagtac
+cgaagagcgtattcggatcctggtgtggaacatatacaaacagcaacgcgctgaatggtt
+gtcggtattaaagaactacggcaaagatgcacatctggtgttattgcaggaagcgcagac
+aacgccagagttagtacagtttgcgaccgctaactatcttgccgccgatcaggtacccgc
+tttcgtgctgccacaacatccttctggcgtaatgaccctttcggcggcacatccagtgta
+ttgctgcccgttacgtgaacgagaacccattttgcgtctggcgaagtcggcactggtgac
+ggtctatccattacctgacacccgcctgttgatggtggttaatatacacgccgtcaactt
+cagtctgggcgtggatgtctatagtaagcagttacttcctattggcgatcagatagctca
+ccacagcggcccggtcattatggcgggagatttcaatgcctggagccgtagaaggatgaa
+cgcgttatatcgctttgcgcgggaaatgtcgctgcgccaggtgcgttttaccgatgatca
+gcgccgtcgggcgtttggtcgcccgctcgattttgttttctaccgtggtctgaacgtcag
+tgaagcttctgtactggttacgcgcgcttccgatcacaatccgctactcgttgaattcag
+tcccggcaagcctgataaataaggtatgtcaggtctgccacagggcagaccaacgtttgg
+cgctgcgcaaaacgtgagcgcggtggtggcgtatgacttatctgcccacatgctggatgt
+cgtggcacaagctgccgaagcccggcaactgaaaaatatcaccacccgccagggatatgc
+cgaaagtctgccatttgccgataacgcatttgatattgttatcagccgttattctgccca
+tcactggcatgatgttggtgcagcactgcgagaagtgaataggatattgaaacctggcgg
+taggctgattgtgatggacgtaatgtctccgggtcacccagtgcgcgacatctggttaca
+gacggtagaagcattacgcgatacctctcacgtacgaaactacgccagcggtgagtggtt
+gacgttaatcaatgaagccaatctgatagttgataatttaattacagataagttaccgct
+ggaattttcttcatgggtcgcgagaatgcgtacgccagaagcgttagtagacgctattcg
+catttaccaacagagcgcatcgacagaggtgagaacgtattttgccttgcagaatgatgg
+ctttttcaccagtgatatcatcatggtagatgcacataaagcggcataaataaaaaaggc
+accgggggaatcggtgcctttttattatctggtttgtcaggaatctggcatgttgttgtt
+tttcacaaacaacgtcagcttatcgcctggttgcagattcgcagtgtcgctgttccagcg
+catcacatctttgatgttcacgccgtggcgtttagcaatgcttgaaagcgaatcgccttt
+gcgcacacgatacgtaatgctatcgctgttgtttgccagtcgctgtgcgctactgcctgc
+accaatcgtcaaactttggcctggcttcagcttagatccgcgcagtttgttccactgctg
+caaatctttggtgcttacgccgagacgtgaagcgatacttgaaagcgtgtcgccagagcg
+tacggtgtaaacacggctgttaagcggcgtattgtcggcaaccagcgtcgactgtacagc
+agcaatttcgcctgaagccagagattcacgcagttgatctgcatgcttctttggcaccat
+cacgtactgcgggccacttgcgcccagcgtggagccttttacgccagcgttgaatgtctt
+cagcttgctgacggaaatccccgccatatctgctaccttcgccatttcaaccgggctgct
+caggtgcacacgcgccagagcacggctttcatcggtcgttggcagacgtacgccataacg
+cttgctgtttttgagaatatcactcaatgccagcattttaggcacgtactgcttcgtttc
+ctgcggcaacggtaacgaccagaagtccgtggatttcccacgcgctttgttcgttttaat
+tgccttcatgacccgaccttcgccgctgttataagccgctacggtcagaagccagtcgcc
+gtcaaacattttgttcagacgctgcatcatattcagcgcggcagttgttgaagcaacaac
+atcgcgacgcgcgtcataattgcgggtctgtttcaaaccataattgcgccccgtgctcgg
+aatgatctgccagatgcctgcggcattggcgccagacgttgcgtgaggatcaaaagcgct
+ctccactatgggtagtagtaccagttccataggcatgttacgttttttaacttgccctgc
+tatccagtacatatacggctctgcccgtaaagttacatcgtggagatagctcttattgcg
+taaatatttctgtttctgttcgcgaatccggtcattttccggaattcccatctttagctc
+gtcgccaatgaaagcccacaagtcaccatctggcgcgatagacgtcccatcgtccatcca
+tcgtgcctgacttgtaaactttgctgcttccccttgaccagctgcagaaaggctctgtgc
+gtgctgttgaacgttgccggtactctggcaacccacgagcaggacagaggcgagtaatat
+cgcttttgccttcatgtgtgtgtcaatagttgcttaaaagacgaccgatcataacggcga
+acggagccgatgacaagaaagttttatcagaacctatctttctttgaccttaaccatgca
+aaacgctcttcaggttgttgcaataatgtttcttcattaattacattaattaaatcaata
+tcttccgttcttaaaaaaacattaatttgccgctcatttttcagaattacgggtagtgtt
+atttgattttttgcccgtaactccttaactttacgataataatcatttatggacaaatcg
+tgcggaagaatactcaaagcaaacttcatatttgataaggtatattcatgagcacaacat
+accaatgtatcgtcaggtaacgcacttaactttttaagtgattgatacatttgtgatgct
+gtcccttcaaacaaccgaccacacccaccagaaaacagtgtgtcgccgcaaaatagataa
+ggtttactgaagtaacagatatgtcctaaagtgtgacccggcgtagcaattacactaaat
+tcatgccccaaaacgaaggcagtttcgccatctttgactacctgtgttgttcccttatct
+tgtgtctcttgtggaccatacaccacaatttgtggaaacttttccaccagttcttttacg
+ccgccaacgtgatcgtggtgatggtgggtgagaaatatggcctccggttgccagttattg
+gcggcaatggcgtttaatactggctctgcgtctccgggatcgacaatcaggcagcgacct
+gcttcatcattcaaaacccagatgtaattgtcatcaaaggcgggaatactgttaagattc
+atagattacctctcagtgtgaaacggaaggttgtgatgaaaccggcaagagtccctcaaa
+ctgtcgtggctcctgattgctggggcgatttgccctggggaaagctttatcgcaaggcgc
+tggagcgccagctcaacccgtggttcactaaaatgtatggttttcatctgcttaagattg
+gcaatttaagcgcagaaatcaattgcgaagcgtgcgcggtttctcatcaagtgaatgttt
+ctgcgcaaggaatgcccgtccaggtacaggcggacccacttcatcttccttttgccgata
+aatccgttgatgtttgtctactggcacatacattgccgtggtgcaccgatccgcatcgtt
+tattgcgtgaagccgatcgggtattgattgatgatggctggctggtcattagtggcttca
+atcccatcagttttatgggattacgcaaacttgtgccggtattgcgcaaaacctcgccct
+ataacagccggatgtttactctgatgcggcagctggactggctctctttgttgaattttg
+aagtgctacacgccagccgtttccacgttctcccgtggaacaaacacggaggaaaactat
+tgaatgcgcatattcctgcgcttggttgcttacaacttattgttgcccggaaacggacta
+ttcctttaacgctaaatccgatgaaacagagtaaaaacaagccacgaattcgccaggcgg
+ttggagccacccggcaatgtcgtaaaccacaggcttaaacttcaacttggtagcctgtat
+cttccagtgtgggattcatcgccgcggcacgagccagttcatcacagcgttcgttttccg
+ggtgtccggcatggcctttaacccattcccatttgatttgatgctgccccaatgcagcat
+caagacgttgccagagatcgacattttttactggttttttgtctgcggttttccagccac
+gttttttccagttatggatccactgggtgataccctggcggacatactggctgtcggtac
+tcaaaatgacttcgcaatgttcttttaacgcctccagcgcgacaatagcggccatcaact
+ccatacggttgttggtggtgcgggtgtagccagcgctaaaggttttctcgcgtccgcgat
+agcgtaaaatagcgccgtaacccccaggtcctggattgcccagacacgaaccatcggtga
+aaatttctacctgtttaagcatctctggtagacttcctgtaattgaatcgaactgtaaaa
+cgacaagtctgacataaatgaccgctatgagcactgcaattacacgccagatcgttctcg
+ataccgaaaccaccggtatgaaccagattggtgcgcactatgaaggccacaagatcattg
+agattggtgccgttgaagtggtgaaccgtcgcctgacgggcaataacttccatgtttatc
+tcaaacccgatcggctggtggatccggaagcctttggcgtacatggtattgccgatgaat
+ttttgctcgataagcccacgtttgccgaagtagccgatgagttcatggactatattcgcg
+gcgcggagttggtgatccataacgcagcgttcgatatcggctttatggactacgagtttt
+cgttgcttaagcgcgatattccgaagaccaatactttctgtaaggtcaccgatagccttg
+cggtggcgaggaaaatgtttcccggtaagcgcaacagcctcgatgcgttatgtgctcgct
+acgaaatagataacagtaaacgaacgctgcacggggcattactcgatgcccagatccttg
+cggaagtttatctggcgatgaccggtggtcaaacgtcgatggcttttgcgatggaaggag
+agacacaacagcaacaaggtgaagcaacaattcagcgcattgtacgtcaggcaagtaagt
+tacgcgttgtttttgcgacagatgaagagattgcagctcatgaagcccgtctcgatctgg
+tgcagaagaaaggcggaagttgcctctggcgagcataaatacctgtgaaaggcgctaaaa
+atagcgacttgggcgatttttgcagcaaacgattcaaaagatgagaaaaaccgttgacga
+aggtcgaggcaatccgtaatattcgcctcgttcccaacggaacacaacgcggagcggtag
+ttcagtcggttagaatacctgcctgtcacgcagggggtcgcgggttcgagtcccgtccgt
+tccgccactattcactcatgaaaatgagttcagagagccgcaagatttttaattttgcgg
+tttttttgtatttgaattccaccatttctctgttcaatgattttactctggcgtaggtgc
+gtgattctcgcttgttgtctcattcattaaaattcaataatgatatcgaaccattcagct
+taaatatatttctagagaataaatttatattgattaaatgaatgtatatttcaaattgat
+tttgtttgttattatttaagtgaggtatataattagagtccgttatcaatgctaaatatt
+ctaatcattatgacaggcgagggagtgtccaattatgaattcaaaaaagctttgttgcat
+atgtgtgttattctcgctgcttgcaggatgtgcctctgaatcttctattgatgaaaagaa
+gaaaaaagctcaagtcacacaaagtaatattaataaaaacactccccagcaactgacaga
+caaagatttattcggtaatgaaaccactctggccgtatccgaagaggatattcaagctgc
+gcttgatggagatgagttccgcgttccccttaattctcctgtaatacttgttcaatccgg
+caaccgcgcaccggaaaccattatgcaggaggagatgcgaaaatattatactgtttccac
+attctctggtatcccggacaggcaaaagcctctgacttgtaacaaaaacaaagataaaaa
+tgagaacgaggatgttgccagtgctgagaatatgaactggatgcaggcactgcgttttgt
+ggctgcaaaaggacatcagaaagcgattattgtttaccaggatatgttgcagacaggaaa
+atatgactctgcgctgaaatcaacagtatggtccgactataaaaatgacaaactcactga
+cgctatctccctgcgctacctggtacgtttcacgctggtggatgtggcaacaggtgagtg
+ggctacctggtcgccggtgaattatgaatataaagtgcttccaccattgcccgacaagaa
+tgaagccagtacgactgatatgacagagcagcaaatcatgcaacttaagcaaaagaccta
+taaagcgatggtaaaagatttggttaaccgctatcaataataaattatatctgccgccag
+gaatttctggcggcaataatacaaaattctttgcataagaaatttttcttgacaaagaca
+gtgcaagaaaggacatggaatccggagttaaaaactgtttgttttagaatatttaattat
+ttaactgctgaatcttccttgcgagaaatatatccattattacatttcatgccattttta
+atatagattgctcctgggaaaattcccgtattattaccgcaggggtgataattagtattg
+acatatcctgtgacaaaaggagctattaaaggtgctattacgatagctattagtaaaaat
+ataagagttagctgtattgttatgtctgtggcgaaattgactaccttcgtttttttgatt
+aagaatgattttattatcgtaagtaaaattacatgaatatttaaaaaggaaaacgacatg
+aaaccgaagcacagaatcaacattctccaatcataaaatatttccgtggagcattttatt
+attgaatatagaggtttaactccggtaaaaaacaaagaagcattgaatgcagggaaaaat
+aatatggccataaaaaacatcgaaagaaactcttttaatttaacatgtaaacgcatggtt
+aatcctcatatcacgggtggagtgttaagaacatacataaatggagtcatgttttccctt
+ttccatttatcaagttcctgttgccgttttagtccatctctaattgcatattttaatttt
+tctgataaatggcattgagcatcgatttcatttaaaacaactgtacacactatccctgtc
+agtaaaattgctcctccgacaagaattactggaaagccaaagctaacacaggcaaaagaa
+gccagacttccaatagcggttgcaacaccaccggctataactgctttggccacatccatt
+gaaaaatcgccaagaaaattaaccagatctcgctctgaactcataataaattctatggtt
+ctgctgatttaaccgcagagaagttcgccacagcaatccgaaaccactggcacgtggaga
+ataagctgcacaggcgtctggacgtggtaatgaatgaagacgactacaaaataagaagag
+gaaacgcagcagaattattttcagggatacggcacattgctattaatattttgacgaatg
+agaaggtattcaaggcagggttaagacgtaagatgcgaaaagcagccatggacagaaact
+acctggcgtcagtccttgcggggagcgggctttcgtagtaataccccgactctccccgtc
+cttaaacacaacccccactcaccacaacctaaactcatccgcatcctgccatgccggaaa
+cttttctctatattcccgcaatgctgccatcgacagctccgcatcaatgcgcgttgcctg
+atgcgcgtcggcagtagcgataatctctccttgcggattaatcacccggctgtcaccgcg
+ataatggcagccgttgccatcgctgccgacgcgattgcatcccgccacatacgcctgatt
+ctcaatcgcgcgggccgtcagcaatgcctgccagtgcagagagcgcggagcaggccagtt
+ggcgacgtacagggcgaggtcataatcgttgagattgcgcgaccacacaggaaaacgtaa
+gtcgtagcacaccagcggcaaaatacgccagccgcgccattccacaatcactcgcgcatt
+gcccgctttataatgtagatgctcatctgccatgcggaacagatgacgcttatcataaaa
+atgtaccgtgccgcccggctcaaccagcaaaaagcggttaaccgaaccagactccgtttg
+taatgcaacactgcctgcaatcagcgcattgcactgctgcgccttagctgtcatccagtt
+cactacgtcatcttgtgctagcgacgaagctgccgcttccatggcaaagccgctggtaaa
+catctccggtagaacgatcacatcgcgcccggtaataccttccagttgacgatcaaaatg
+acgcaggttggcaggaccatccatccacaccagtggttgctgcaaaagcgtaatcttcaa
+accaggcacggtgtacaactcctttatgcgaagggttttataactttaacaccttatcag
+gcagttgccttagcgcagaataaattgataacaaatgctgatattggaaatatctgattt
+gcaaattatcgtgttatcgccaggctttaggaggttaataacatgggcaggataagctcg
+ggaggaatgatgtttaaggcaataacgacagtcgccgctctggtcatcgccaccagtgca
+atggcgcaggatgatttaaccattagcagccttgcaaagggcgaaaccaccaaagctgca
+tttaatcagatggtacaagggcataagctgcctgcctgggtgatgaaaggcggtacttat
+actcccgcacaaaccgtaacgttgggagatgagacgtatcaggtgatgagcgcgtgcaaa
+ccgcatgactgtggctcgcaacgtatcgctgtgatgtggtccgagaaatctaatcagatg
+acggggctgttctcgactattgatgagaaaacgtcgcaagagaaactcacctggctgaat
+gtgaacgatgcgctttcgattgatggtaaaacggtgttgttcgcggcgttgaccggcagc
+ctggaaaaccatccggatggctttaattttaaataattagcggataaagaaacggagcct
+ttcggctccgttattcatttacgcggcttcaactttccgcactttctccggcaactttac
+cggcttcgtcgccagctcttccggatcaaagtcatcaacgttaatactgcgcagacggct
+ttcttcagctttcaccagaatagcggcttcatctttatcaatcagccccttcaccagcgc
+gttgtgcgccagttcatccagacgggtaaacggcaggtttttacccagctctttacagat
+ccgctgatgaattgggtcggcggcaatcacatccaccagcgcctcttccagcaagccaac
+cggattatgctcgctcggcgtcaggtactgaccgcgaccaatgcgggaacgggtggcgtt
+cggcacttgtaaaatcttcgccactttatgatccagcttgtcagaaggtgccagataatg
+acgtccggtcgggaagatcaccacattcagcagcccggcaaccacgcggttcgggaagtt
+ttgcagtaaatcatccatcgcctgttcagcctgatacagcgcatcttgtacgccccagtg
+caccagcggcaggtcggcttcattacggccttcgtcgtcataacgcttcagcacggcaga
+ggcgaggtagagctggcttaaaatatcccccagacgggccgagatgcgctcgcgacgttt
+caggctgccgcccagcactgccatcgagacatcagaaagcagggcgaggttggcgctcag
+gcggttcaggtgctgatagtagcgtttagtggcatcgccggttggcgtgctgctggttaa
+accgcgcgtcaggcccagccagaagctgcgaactttgttgctaccgacgtgaccgatatg
+tttgaacaacagtttatcgaacgcgttgacgtcattgttcttcgccgcttccatctcttc
+cagcacgtacggatggcaacgaatcgctccttgtccgaagatcatcatgctgcgggtcag
+aatgttagccccttcaacggtgatggcaatcggtgcgccctggtaagcacgcgccaggaa
+gttgctttgcccgagcataatgcctttaccgccggtaatatccatcgcatcaataatcga
+ctgctgcccgcggtgggtacagtgatacttaacgatagccgacagcacggcaggtttttc
+gccgagcataatgccgtaggtaatcagcgatgccgcagcatccatcacgtaggcattacc
+ggcaatacgcgccagcggctcttcaatcccttccatcttaccaatagagattttgaactg
+acggcgaatgtgagcatacgcgccggttgccagcgctaccgatttcacgccgccggttga
+gttggaaggcagggtgatgccgcggcctaccgagaggcactccaccagcatccgccagcc
+ttgcccggccattttcggcccgccgatgatgtaatcgatcggcacgaagacatctttacc
+gcgcgtcggtccgttctggaacggtacgttcagcgggaagtggcgacgaccaatttccac
+gcccggcgtggtggttgggatcagcgcacaggtaatgcctaaatcttctgcaccgccgag
+taatttttccgggtcggagagtttaaacgccagcccaagcacggtcgcaatcggtgccag
+cgtaatgtagcgtttgttccaggtcagacgcatccccagcacctgctggccctgccattc
+gcccatgcagacaatcccggtgtccggaatcgcgcccgcatcggaacccgcttccgggct
+ggtcagtgcaaagcaggggatctcctgaccacgcgccagacgcggcagatagtgatcttt
+ctgctcgtcagtgccgtaatgttgcaacagttcgcccgggcctaatgagtttggcacgcc
+gacggtaatcgccaggatcccgctcacgccggagagtttttgcagcacgcgagactgggc
+ataagccgagaactccagcccgccgtactcttttttgatgatcatcgcgaagaaacgatg
+ctctttaaggtacgcccacaactccggcggcagatccgccagctcatgggtgatctggaa
+atcattcgccatccggcaggcttcttctaccgggccgtcgagaaacgcttgctcttcggc
+ggtcaggcgcggctgcggatagttatgcagctttttccagtccggcttgccctggaacaa
+gtcgccctcccaccaggtggtgcccgcatcaatcgcttctttctcagtgcgcgacatcgg
+cggcatcaccttacggaaaccgcgaaataccggcgcggaaatcatcgacttacgcatagg
+cgcaaagttaaatggcacgaggataatggccagaggcaccagtacccacgccgaccacag
+accagcaacgccgagggcggctgtccaggcgagcaaaatcagactgctgataaataagct
+cacgcggtgatagaacaacgcgccgagcaggacaaccgtagcgagaatactcaaaatcat
+cataacgaaaagccccttacttgtaggaggtctgaccacttgtgatgatatggttgtagt
+ggatgtaaaaacatttagcaatatgtttacaatataattacaacaaagctcacattgttg
+ctgtttttatccgcacttcaggtcaaaaagtcctggtcatagcacctgcccgtacttctc
+gcttttggcggtatccggtacactgcattttgtctattacatttatgctgaaggatatcc
+tcatgtaccaggatcttattcgtaacgaactgaacgaagcggcggaaacgctggctaact
+ttttaaaagatgacgccaatattcacgccattcagcgcgcggcggtcctgttagcagaca
+gctttaaagccggtggcaaagtgctttcctgcggcaacggcggttcccattgcgacgcta
+tgcactttgccgaagagttgaccggtcgctaccgtgaaaaccgtccgggctacccggcga
+ttgctatttctgacgttagtcatatttcctgcgtcggtaatgatttcggtttcaatgata
+ttttctcccgctacgttgaagcggtaggtcgcgaaggcgatgtactgctggggatctcca
+cctccggtaactctgcaaacgtgatcaaagcgatcgcagcggcgcgtgagaagggaatga
+aagtgatcaccctgaccggtaaagacggcggcaaaatggctggcacggcggatatcgaaa
+ttcgcgtaccgcactttggttatgccgaccgcattcaggagattcacattaaagtgatcc
+atatcctgatccagttgattgaaaaagagatggttaagtaagtctggcgtaggccggata
+agacgtttacgccgcatccggcatttgtgcgctgatgcctgatgcgacgctgacgcgtct
+tatcatgcctacaaatctgtacgcgaaccgtaggccgaataatgcgttcacgccgcatcc
+gacctgaaaattcttaaatcaatcttcgccgggggccatgcgctcccgctgttgtggagg
+ttacccatgtgcgaattgctcgggatgagcgccaacgtccctaccgatatctgctttagt
+ttcaccgggcttgtacagcgtggtggtggaaccgggccacataaagatggctggggcatt
+accttttacgaaggtaaaggctgtcgcacatttaaagatccacaacccagctttaattcc
+cccatcgccaaacttgtccaggactacccgataaaatcctgttcggtggtggctcatatt
+cgccaggctaatcggggcgaggtggcgctggaaaatactcacccatttacccgcgagtta
+tgggggcgtaactggacttatgcccataacggacaactgacgggctacaaatcactggaa
+accggcaacttccgcccggtaggcgaaaccgacagcgaaaaagccttctgctggctcctg
+cataaattaacgcagcgttacccgcgcacaccgggcaacatggcggcggtatttaaatat
+atcgcctcactggcggatgaactgcggcagaagggcgttttcaacatgctgctttcggac
+gggcgctatgtaatggcgtattgctcgactaatttacactggatcacccgccgcgcgccg
+tttggcgtggcaacgttgctggatcaggatgtggaaatcgacttcagctcgcagaccaca
+ccgaatgatgtggtcacggtgattgcaacacagccgctgacgggcaatgaaacctggcaa
+aagattatgccaggcgaatggcgcttattttgcctcggggagcgtgtagtttgatgccag
+ttgtggctgcacaacttcgtggcttaacggcttgctgaccacgtaacgaccattgaccac
+agaaacggttggtggcttacgggtttgctcaaagtagtcgtaacccggcttcagttgctc
+ccagaagtccttaaagttggaatatttatggcgcttcatattggcgtcggtcatgcggaa
+cgggtaaatactcacttgcacgctcggctgaccaaacaccagcgcaccagtaacgaactg
+gaatatctcatcaataccctgattggtcattgcgtagcagccgatggaaacacaatcgcc
+gtggatcatcaggtatttcccttcataaccatgcgcacggtcataggcattggggaaacc
+aatattaatcgctttgtagtaacggctgtctggttttaactgattacgctggacgctata
+aaacccttccgggcttttgaaatcgccctgacgctgttttggccctaagccgccggaata
+tttacagattttatagctgtcgagcagttgatattgctcgcccattttgacgtagagatc
+gagcgtacgttcttccttgaagatctggatgtagacaggggatcccatcaactgctgctt
+atactctttgctcacaggcgtggtagagctactgctgcccagcaaaccggcaaatgaaac
+gcacgggatcaacaacatcgcaagaattaatgcgattttacgcatactgcttattccttg
+ataaaacggttacacacgccaggacggcaaaatggatcccaaatcggaatagtctggatt
+tggaaggctcacattatcaccaaaagagttttacgcaagcctgtcggcgcagggtttaca
+aatttcatcggaagcgggctttacccaaagagcgccgcgtgagttccagttctctcaaat
+cgtaaaagtttatcggtaagtttgtaaatcaggatccagtccggttcgacatgagcatcg
+cgataacctttccatgaaccttgcagcgggtggtctttataaacagctggaagcggtaaa
+gtattattgataagaagcgtcataagatatttcaatttattcatatccttatgacgcttt
+tgtgcaagttttacatcctttgaatattgtcccgagtattcaatatccctttgaatcata
+tttaaattcctaatttatcaaataaatcatcggcgtctttggccttatgaacatcaatgc
+cagcttcgctgtttttgattgattgaatggttaattgattaggctcgcgtaaatcaaacg
+gcaatgccttttcacgcgcgacctttgtgagggttatgcgaaccaggtcagagatggtca
+gccccatcccggccagtacgtccgctgcctgattcttcagatcttcatcgattcgggcgc
+gaacaaacgcgttagcagccattggggtatctcctgtgctgtatatttattcagcttgaa
+ttgtagctcaaatgagcaacagcgacaatccatgagtaatttaataaacggatgttttta
+cataattaactgaaatatatatgttaattttataataatggtttattaagtttgttcaga
+aacgatccgggatacactgcaacattaaagcatgaccagccattattgagtatgtccttg
+ccgtcgattccatcctttgtattgtcgggattactgttgatttgtttgccgttttcttca
+tttgccagcgccaccacatcacatatctctttcagctacgccgcccgccagcggatgcaa
+aaccgtgcgcgtttattaaaacagtaccaaactcatctgaaaaagcaggccagctatatt
+gtggaaggcaatgccgaaagcaaaagggcgctacgccagcacaaccgggagcagataaaa
+cagcatccagaatggtttcctgctccgctcaaggcgagtgacagacgctggcaggcgctg
+gcggaaaacaaccactttttaagcagcgaccatctgcataacattaccgaagtggcgatt
+caccgcctggagcagcagcttggcaagccttacgtctggggcggtacgcggcctgataaa
+ggctttgactgtagcgggttggttttttatgcctacaacaagatccttgaggctaagctc
+ccgcgcacggccaatgagatgtaccactatcgccgggcaacgattgtggcgaacaacgac
+ctgcgccggggagatttgctgtttttccatatccacagccgcgagatagccgatcatatg
+ggcgtgtatttgggcgatgggcaatttatcgagtcgccacgtaccggcgaaaccattcgg
+ataagccgattagccgaacctttctggcaggaccattttttgggcgcgcgcaggattttg
+acggaagagacgattttgtaggacggataaggcgtttacgccgcatccggcagttgtacg
+caggtgcctgatgcgacgctggcgcgtcttatcatgcctacgagcccgcgaatatttgcg
+agccgctttcccgatataaaacaacctcattgccaacctttccttttcttcttaccgttg
+agaaaaaggagtcgccatgtctgaatatcgtcgttattacatcaaggggggaacatggtt
+tttcacggtgaatttacgaaatcgtcgaagccaacttttgaccacccagtaccagatgct
+ccgtcacgccattattaaagttaagcgagacaggccttttgaaatcaacgcctgggtcgt
+tttgccagagcatatgcactgtatctggacattacctgaaggcgatgatgatttttcctc
+gcgctggcgggaaattaaaaagcaatttacccatgcttgtggattgaaaaatatctggca
+accacgtttttgggagcacgccatccgcaataccaaagattataggcatcatgttgatta
+tatttatataaatccagtaaagcatggttgggtaaagcaagtgagtgattggccattctc
+aacgttccatcgcgatgtcgcgcgagggttatatcccatcgattgggcgggggacgtaac
+ggattttagtgccggggagcgtatcatttcataattgtgcgcagatgcctgatgcgacgc
+tagcgcgtcttatcatgcctacaaacttgtgccggatcggtaggccggataaggcgttta
+tgccgcatccggcagttatgcgcagatgcctgatgcgacgctggcgcgtcttatcatgcc
+tacaaacttgtgcctgaacggtaggacggataaggcgttcacgccgcatccggcagttgt
+gcaccaatgctggatacttacatcaacgcccccataatcttcaactccagctcatccggc
+acttcgttatacgacagcacatgcagccccggcgcaaacaaccttgcataacgcgccagc
+aaagggcgcagctgcggtggcaccagcagcaccgggtctttccccgccgctttcatctgc
+tctttcacctgtggcatcgtactctggaactggttgagcatattcggatcgaccggcacg
+ctgtcgagcatcactttcccgccctgttgcgcctgattcaccacgttggtcagcagattt
+tccagctcattattcagcgtatacaccgtcagctcctgcttgcgaacgaacggatgggta
+atgctgcgccgcaatgccaggcgcacatcggccgccagcagaatatgatctttcgtcacc
+gtgctactggcgaccagcacggtggcgatggtgacgatatcgcgcagggaaacgccttcg
+gtcagcagcgcccggtacactttcagcaactggctgtaattgagcgccgcgctcaaatct
+tccgccagacgcggtgccgtcgacgataaacggttatgcaactgcgtaatatcatcatag
+ttaaacaaatcaggaatatagctgcgcacaatcttatttacatgggtagcgatcacgctg
+gcgctgtcgatcacctgataccccatattcagcgccttcgctttctgcgccgcctggatc
+caggtgaccggcatcccgtacgccgggtcgttcccctgcacgccgtcaatctcgccgtag
+gtttcgctggagggcagggccatcagtttatccgccggaatatccgcttcatcagccttt
+atgccgttgatgaaaatggcgtactgactgggcttaaggcggaagttttcccgaatgcgg
+atctccggcagcagcacgccgttgccgtcagaaatcacctgccgcacgccgcgaatccgc
+tgggtgagcgggttaccctgtgctttgtccaccagcgccaccagtttgtaaccgaggctt
+aaactgataggctcgatcagcggaatggtttcccaactgacctgctgctcgctggtttcg
+gtgatggtgcgggtcagcgtttcgaggcttttctcttccgcctccgccgccagcggctgt
+ttgctcatccgccagccggtaaaaccaagcagggcgctgaacagcaaaaacggcaggtgc
+ggcattcccggtaccaccgccagcacgaacataatcccggtggcggtgtagagcaccgac
+gggcttgccagcagctggttacgcacgtcatgggcgatatcgccgttgtcgctgacgcgg
+gtgacgataatcgccgccgcggtggagagcagcagggaagggatctgcgccaccaggccg
+tcgccgatggtcatcagcacatactgctggaaggcagcatcggcgctcaggttgtatttg
+aagatcccgatacagacgccgccgatcaggttgatcgccagaatcatcatcccggcgatg
+gcgtccccgcgcacaaacttcgatgccccgtccatcgcgccgtagaaatcggcctcgctg
+gcaacatctttacgccgggtttgcgcctgcgcctggttgatcaatccggcgttaagatcg
+gcgtcaatcgccatctgtttgccgggcatcgcgtctaaggtaaagcgggcagaaacctcg
+gaaatacgctcggcccctttggtgacgacaataaagttgattgtcaacagcgtcagtaaa
+tccgagcgtgaaagcattatcgccgcgctgcacgggcagtcgatttttaacggtggtggg
+ctgtcgccgttaaataaaatcagcccgtctcatccgccaaaacctgccaccgtggcggtg
+ccggaagagacggagaaaaaagcgcgtgatgtgaatgagaaaacggcgctgctgaagaag
+aaatccgccaccgagcttggtgagctggcaaccagtatcaacaccattgcccgtgatgcg
+catatggaagcgaatctggagatggagattgttccccagggattacgcgtgctgattaaa
+gacgaccagaaccgcaatatgtttgaacgcggcagcgcgaagattatgccgttctttaaa
+acgctgctggtggagctcgcgccagtgttcgactcgctcgataataaaattattattacc
+gggcataccgatgcgatggcctacaaaaacaatatctacaacaactggaacctttcgggt
+gaccgcgcgctttcggctcgtcgggtgctggaagaggccggaatgccggaagataaagtg
+atgcaggtaagcgcaatggcggaccagatgctgctggattccaaaaatccgcaaagcgcg
+ggcaaccggcgcattgagattatggtgctgaccaaaagtgcgtccgatacgctgtatcaa
+tactttggtcagcatggggataaagtggtgcagccgctggtgcaaaagctggataagcag
+caggtgctttcgcagcgaacgcgttaaatgctgaatctttacgcatttctcaaaccctga
+aatcactgtatactttaccagtgttgagaggtgagcaatgcgtaaaatcattcatgtgga
+tatggactgctttttcgccgcagtggagatgcgcgacaatcccgccctgcgcgatatccc
+tattgctattggcggcagccgcgaacgtcggggggtgatcagcaccgccaattatcccgc
+gcgtaaatttggcgtacgtagcgctatgccgacagggatggcgctcaaattatgcccaca
+tctcaccttgcttccggggcgctttgacgcctacaaagaagcctcaaatcatatccgtga
+aatcttctcgcgctacacctcgcgcattgaaccgttgtcactggatgaggcttatctcga
+tgtcaccgatagcgtccattgccacggttctgcgaccctcatcgcccaggaaatccgcca
+gacaatcttcaacgagctgcaactgacggcgtctgcgggcgtggcaccagtaaagtttct
+cgccaaaatcgcctccgacatgaataaacccaacggccagtttgtgattacgccggcaga
+agttccggcatttttacaaaccttaccgctggcaaaaatccccggcgtcggcaaagtctc
+agcggcaaaactggaagcgatggggctgcggacctgcggtgatgtacaaaagtgtgatct
+ggtgatgctgcttaaacgctttggcaaatttggccgcattttgtgggagcgtagtcaggg
+gattgacgaacgcgatgttaacagcgaacggttgcgaaaatccgtcggcgtggaacgcac
+gatggcggaagatattcatcactggtctgaatgtgaagcgattatcgagcggctgtatcc
+ggaacttgaacgccgtctggcaaaggtaaaacctgatttactgattgctcgccagggggt
+gaaattaaagttcgacgattttcagcaaaccacccaggagcacgtctggccgcggctgaa
+taaagctgatctaatcgccaccgcgcgtaaaacctgggatgaacgccgcggcgggcgcgg
+tgtgcgtctggtggggctgcatgtgacgttgcttgacccgcaaatggaaagacaactggt
+gctgggattatgatgtatactattatgtatattctggtgtgcattattatgagggtatca
+ctgtatgcatcgaattctcgctgaaaaatcggtcaatatcactgagttacgtaaaaaccc
+agctaaatactttattgatcaaccggttgcggttctttctaataatcgccccgcaggata
+tctcttaagtgccagcgcattcgaagcgttaatggacatgcttgctgaacaagaggagaa
+aaagcccataaaggcgcgcttccgtccaagtgctgcaagattagaggaaattacacgccg
+cgctgaacaatatcttaatgatatgacggatgatgatttcaatgactttaaggaataagg
+atgcgggtattcaaaacaaaacttattcgcctgcaacttacagcagaggaacttgatgcg
+ttaacggcggattttatttcctataagcgtgacggtgttttgccagatatatttggtcgc
+gatgcactctacgacgactcctttacctggccattaatcaaatttgagcgagttgctcat
+attcatctggcaaatgagaataatccatttccgccacagttgcgccaattcagcagaacg
+aatgacgaagcgcatttggtatattgtcagggggcgtttgatgagcaagcatggttgctc
+attgccattctgaaacctgaacctcataaactggctcgagataacaaccaaatgcataaa
+attgggaaaatggcagaagcgtttcgcatgcgtttttgaatttatattatgaataacata
+caaataagaaactatcagcctggcgattttcagcaactatgcgctattttcattagagcg
+gttacgatgaccgccagtcagcattattcaccacaacaaatttccgcctgggcgcagatt
+gacgaatctcgctggaaggagaaactcgcgaaatcacaagtgtgggttgcgatcattaat
+gcacaaccggttggttttatttcccgcattgaacattatatcgatatgttatttgttgac
+cctgaatacacccgccgtggggttgccagcgctttgttaaaacctttgattaagtctgaa
+tccgaacttacggtggacgcaagcataaccgcaaaacccttttttgaacgttatggtttt
+cagacagttaagcagcagcgcgttgaatgccggggagcgtggtttactaatttttatatg
+cgatataaaccgcaacattaaatccagcttgcaatgaaaataacgcccgcctggtatgtg
+cgcgttttctgattccacaaactgcaaggaggtaaatcatgacaaatcctttatcaatga
+ctctttgcagacctttccaggattaattctttttttcttgccctggattcgtctgccatt
+tcctgatttttatatttatatactctaaataattcgagttgcaggaaggcgacaagcgag
+tgaatcgccaggagcttacataagtaagtgactggggtgaacgaacgcagtcgcagtaca
+tgcaacttgaagtatgacgagtataaatggaatggtacatgggcaaatatattcgtccct
+tatccgatgcggtatttaccatcgcatctgatgacctgtggatcgagagtttagcgatcc
+aacaattacacaccacggcaaatttacccaacatgcagcgcgtagtggggatgccagatt
+tacaccccggacgcggctacccgattggcgcagcgttcttctctgttggtcgtttttacc
+cggcaagacgtcgcggtaacggtgctggaaacagaaacgggccgctactctgacacactg
+cgttcggcgctggtttctctcgatggcgataacgcatgggcattaagcgaaagctggtgt
+ggcactattcagtggatttgtccgagtccgtatcggcctcatcatgggcgcaaaaactgg
+tttctgggcattgggcgttttaccgctgatgagcaggaacaatcggatgcaatccgttat
+gagacgctgcgttcgtcggggccgggcggtcaacatgtcaataaaaccgactcggcggta
+cgcgccacgcatttggcatccggtattagcgtgaaggttcagtcagagcgtagtcagcat
+gctaacaagcggctggcacgattgctgattgcctggaagctggagcaacagcaacaggaa
+aatagcgcggcgctgaaatcgcagcggcgaatgttccatcaccagattgaacgtggcaac
+ccgcgacggacatttacagggatggcttttatcgaaggataatgaaggatgaaactgccg
+gaaggcgattaaacgccatccggcagcaaatcaaataattacttcgccggaatttctttc
+agcagttcagtcagcagtgtccagtaatgacctacgctttcgatgtgaacttgctcatcc
+ggagagtgtggaccggtgatagttggcccgatagaaaccatgtccatttccggatacggt
+tttttgaacagaccacattccaggcccgcgtggataatctggatgttcggcgtcttgttg
+aacaggcgctgataggtttcacgtaccagatgcatcaccggagaattagcgtccggctgc
+cagccaggatatgcgcctttcgcttcggttttcgcgccagccagtttacccagcgaatcc
+agcatgctcaccacgtagtctttaccgctgtcgatcagtgaacggatcaggcagtgaatt
+tctacgttattgtcagtcatggtcaccacaccgacgttcagggaggtttcaaccacacct
+ttggctacatcggagttacgaatcacaccgttcggggtggcgttcagcagacgaataaag
+gtatcgcgagatttcgcaatcagggcagctttatcgttcgctacagagtccagcaacaag
+gccagatttttctctttttctgccagctcgtttttcaggatctcctgataggtattcacc
+agagatttcaggacgtcgactttatcagctgcgacagcaatggtcgcaaaggcttcacgc
+gggatggcgttacgcagtgtgccgccgttgaaatcgataaggcgcagatccagttcttcc
+gcatgacccgccaggaagcgcaccagcagtttgttggcattacccagcccaacgtggatt
+tccccgccggagtgaccgcctttcagaccttttaaggttaacttgaaggtttcaaaacca
+gctggaaccgcttcacgatctaaatgcaggttggaggtgaagtcgataccccccgcacaa
+cccatgtagatttcaccttcttcttcggagtcggtgttaatcagaatatcagcctgcaac
+cagttgccctgtaagccgaacgcaccgtccataccggcttcttcggtcatggtcagcagc
+acttccagcgggccgtgaaccacgttttcgtcagccagaaccgccagcgcagaggccata
+ccaatgccgttatccgcacccagcgtggtgccgcgcgctttaacccattcgccatcaata
+taaggctggataggatctttcgtgaagtcatgcacggtgtcgttatttttctgcggcacc
+atatcgaggtgggcctgtaagacgaccggtttacgattttccatacctgcggtagcaggt
+ttacgaatcaggatattacctacctgatcgcgttcgacatggaaacctttctcttttgcc
+caaccaacaatgtattcagcgagttgctcttcatgataggacgggtgaggaatagaacag
+attttggcaaaaatatcccacagcggctgtggagataattgagacagttcagacacgtta
+agtctccttgtcgatcacccgcaaaacagtattgcaggtcacagggttagcagaaaatgt
+tgtcaacacaagacaggcttgcgagatatgtttgagaataccactttatcccgcgtcagg
+gagaggcagtgcgtaaaaagacgcggactcatgtgaaatactggtttttagtgcgccaga
+tctctataatctcgcgcaacctattttcccctcgaacactttttaagccgtagataaaca
+ggctgggacacttcacatgagcgaaaaatacatcgtcacctgggacatgttgcagatcca
+tgcacgtaaactcgcaagccgactgatgccttctgaacaatggaaaggcattattgccgt
+aagccgtggcggtctggtaccgggtgcgttactggcgcgtgaactgggtattcgtcatgt
+cgataccgtttgtatttccagctacgatcacgacaaccagcgcgagcttaaagtgctgaa
+acgcgcagaaggcgatggcgaaggcttcatcgttattgatgacctggtggataccggtgg
+tactgcggttgcgattcgtgaaatgtatccaaaagcgcactttgtcaccatcttcgcaaa
+accggctggtcgtccgctggttgatgactatgttgttgatatcccgcaagatacctggat
+tgaacagccgtgggatatgggcgtcgtattcgtcccgccaatctccggtcgctaatcttt
+tcaacgcctggcactgccgggcgttgttctttttaacttcaggcgggttacaatagtttc
+cagtaagtattctggaggctgcatccatgacacaggcaaacctgagcgaaaccctgttca
+aaccccgctttaaacatcctgaaacctcgacgctagtccgccgctttaatcacggcgcac
+aaccgcctgtgcagtcggcccttgatggtaaaaccatccctcactggtatcgcatgatta
+accgtctgatgtggatctggcgcggcattgacccacgcgaaatcctcgacgtccaggcac
+gtattgtgatgagcgatgccgaacgtaccgacgatgatttatacgatacggtgattggct
+accgtggcggcaactggatttatgagtgggccacccaggcgatggtgtggcaacaaaaag
+cctgtgcggaagacgatccgcaactcagtggtcgtcactggctgcatgcggctacgttgt
+acaacattgccgcctatcctcatctgaaaggagatgacctggccgagcaagcgcaggctt
+tgtcaaaccgcgcctatgaagaggccgctcagcgtctaccgggcacgatgcggcagatgg
+agtttaccgtacccggcggtgcgcccatcaccggctttttgcatatgccgaaaggcgatg
+gcccgttcccgacggtattaatgtgtggtggtctggatgcgatgcagacggactattaca
+gcctgtatgaacgttattttgcgccgcgcggcattgcgatgctgactattgatatgccgt
+cggtgggcttttcttcaaaatggaagctcacccaggactccagcctgttgcatcagcacg
+tcttaaaggcgctgcctaacgtaccgtgggtggatcacactcgcgtcgcggcctttggtt
+tccgtttcggcgctaacgttgccgtgcgtctggcataccttgaatcgccgcgtctgaaag
+cggttgcctgtcttggtccggtagttcataccctgttgagtgattttaagtgccagcaac
+aggtgccggaaatgtatcttgacgttctggccagtcgtttggggatgcatgatgcttccg
+atgaagcgttgcgcgtggagctgaatcgctattcattaaaagtgcaaggattgctgggac
+gtcgctgcccaacgccaatgttatcaggctactggaagaacgatccgttcagcccggaag
+aggactcacgcttaatcacctcatcatctgctgacggtaaattattagagatcccattta
+acccggtgtatcggaattttgacaaaggtcttcaggaaatcaccgactggatcgaaaaac
+gcttgtgttaaaaatttgctaaattttgccaatttggtaaaacagttgcatcacaacagg
+agatagcaatgacgttaccgagtggacacccgaagagcagattgatcaaaaaatttaccg
+cactaggcccgtatattcgtgaaggtaagtgcaaagataatcgattctttttcgattgtc
+tggctgtatgcgtcaacgtgaaaccggcaccggaagtgcgtgaattctggggctggtgga
+tggagctggaagcgcaggaatcccgttttacctacagttaccagtttggtctgttcgata
+aagcaggcgactggaagagtgttccggtaaaagacactgaagtggttgaacgactggagc
+acaccctgcgtgagtttcacgagaagctgcgtgaactgctgacgacgctgaatctgaagc
+tggaaccggcggatgattttcgtgacgagccggtgaagttaacggcgtgagtgaaatgtg
+ccggatgcatcacatccggcaatattcattaaaactgatacgtcatgccaaccgcgacaa
+tatcatcattattaatattcaatttgttatcgctatccagttggttgattttataatcaa
+caaacgctgacatatttttgttgaaataatacgtagcaccgacgtcgatataattgacca
+gatcttcatcaccgataccttcaatatctttccctttcgataagacataacccagcgatg
+gacgcagaccaaagtcaaactggtattgagcgaccgcttcaaagttctgtgtcttattgg
+caaagccgccagttattggcgtcattttgcgtgtttcagaatagaaagttgccagataaa
+tattattggcatcgtatttcagacctgttgcccatgcttctgcacgcttgcctgtgccac
+ggctttgcaggttctgctcgttggtgcgatctgagttggtataggccccactaatggcga
+aatcgctgccgccaaagtcatatgtcaatgacgtgccgaagccatcgccgttttgctttt
+taacgtcgcggttttcgtttttcccttgatattgcagggttaagttcaggccatcgataa
+cgccgaagaagtcggtgttccgatacgtcgccagaccgctggcgcgtttggtcataaagt
+tgtcggtctgcgccgaggaatcgccaccaaattccgggaacatatcggtccaggcttcca
+cgtcatacaacgcccccaggttacgaccataatcgaaagaacccaaatctttatatttca
+acccggcaaaagcgagacgcgttttttgctgtgcagtatcactctctgctttattaccgg
+caaactctgcttcccaacgaccataaccagtcagttgatcgttaatttgtgtttcgcctt
+tgaaaccaaaacggatataactctggtcgccatctttactggcgttatcactcatataat
+gcatggctttaactttgccatagacatccagtttattaccgtctttattatatatttctg
+cagcctgtacagatgcagatgccacaatgcccatcaccactaatgccagagtgctctttt
+tcattttcattcctgattttaattaacgcgcgaatattcagcgggagagtcccgttgaaa
+acaggaaagtttttaacctgagattgttaaagatatattacagattaataatattcttaa
+aatgtggtaatttattaaatctgtaataaaagcgtaaacaactgccgctaggcttgctga
+tcccgcgcaacaaaacgccatgctttgctcgcagatggttggcaaccgacgacagtcctg
+ctaaaacgttcgtttgatatcatttttcctaaaattgaatggcagagaatcatgagtgac
+agccagacgctggtggtaaaactcggcaccagtgtgctaacaggcggatcgcgccgtctg
+aaccgtgcccatatcgttgaacttgttcgccagtgcgcgcagttacatgccgccgggcat
+cggattgttattgtgacgtcgggcgcgatcgccgccggacgtgagcacctgggttacccg
+gaactgccagcgaccatcgcctcgaaacaactgctggcggcggtagggcagagtcgactg
+attcaactgtgggaacagctgttttcgatttatggcattcacgtcgggcaaatgctgctg
+acccgtgctgatatggaagaccgtgaacgcttcctgaacgcccgcgacaccctgcgagcg
+ttgctcgataacaatatcgttccggtaatcaatgagaacgatgctgtcgctacggcagag
+attaaggtcggcgataacgataacctttctgcgctggcggcgattcttgcgggtgccgat
+aaactgttgctgctgaccgatcaaaaaggtttgtataccgctgacccgcgcagcaatccg
+caggcagaactgattaaagatgtttacggcattgatgacgcactgcgcgcgattgccggt
+gacagcgtttcaggcctcggaactggcggcatgagtaccaaattgcaggccgctgacgtg
+gcttgccgtgcgggtatcgacaccattattgccgcgggcagcaagccgggcgttattggt
+gatgtgatggaaggcatttccgtcggtacgctgttccatgcccaggcgactccgcttgaa
+aaccgtaaacgctggattttcggtgcgccgccggcgggtgaaatcacggtagatgaaggg
+gcaactgccgccattctggaacgcggcagctccctgttgccgaaaggcattaaaagcgtg
+actggcaatttctcgcgtggtgaagtcatccgcatttgcaacctcgaaggccgcgatatc
+gcccacggcgtcagtcgttacaacagcgatgcattacgccgtattgccggacaccactcg
+caagaaattgatgcaatactgggatatgaatacggcccggttgccgttcaccgtgatgac
+atgattacccgttaaggagcaggctgatgctggaacaaatgggcattgccgcgaagcaag
+cctcgtataaattagcgcaactctccagccgcgaaaaaaatcgcgtgctggaaaaaatcg
+ccgatgaactggaagcacaaagcgaaatcatcctcaacgctaacgcccaggatgttgctg
+acgcgcgagccaatggccttagcgaagcgatgcttgaccgtctggcactgacgcccgcac
+ggctgaaaggcattgccgacgatgtacgtcaggtgtgcaacctcgccgatccggtggggc
+aggtaatcgatggcggcgtactggacagcggcctgcgtcttgagcgtcgtcgcgtaccgc
+tgggggttattggcgtgatttatgaagcgcgcccgaacgtgacggttgatgtcgcttcgc
+tgtgcctgaaaaccggtaatgcggtgatcctgcgcggtggcaaagaaacgtgtcgcacta
+acgctgcaacggtggcggtgattcaggacgccctgaaatcctgcggcttaccggcgggtg
+ccgtgcaggcgattgataatcctgaccgtgcgctggtcagtgaaatgctgcgtatggata
+aatacatcgacatgctgatcccgcgtggtggcgctggtttgcataaactgtgccgtgaac
+agtcgacaatcccggtgatcacaggtggtataggcgtatgccatatttacgttgatgaaa
+gtgtagagatcgctgaagcattaaaagtgatcgtcaacgcgaaaactcagcgtccgagca
+catgtaatacggttgaaacgttgctggtgaataaaaacatcgccgatagcttcctgcccg
+cattaagcaaacaaatggcggaaagcggcgtgacattacacgcagatgcagctgcactgg
+cgcagttgcaggcaggccctgcgaaggtggttgctgttaaagccgaagagtatgacgatg
+agtttctgtcattagatttgaacgtcaaaatcgtcagcgatcttgacgatgccatcgccc
+atattcgtgaacacggcacacaacactccgatgcgatcctgacccgcgatatgcgcaacg
+cccagcgttttgttaacgaagtggattcgtccgctgtttacgttaacgcctctacgcgtt
+ttaccgacggcggccagtttggtctgggtgcggaagtggcggtaagcacacaaaaactcc
+acgcgcgtggcccaatggggctggaagcactgaccacttacaagtggatcggcattggtg
+attacaccattcgtgcgtaaataaaaccgggtgatgcaaaagtagccatttgattcacaa
+ggccattgacgcatcgcccggttagttttaaccttgtccaccgtgattcacgttcgtgaa
+catgtcctttcagggccgatatagctcagttggtagagcagcgcattcgtaatgcgaagg
+tcgtaggttcgactcctattatcggcaccattaaaatcaaattgttacgtaagatcttat
+cattctcccaccaaaaaattatcttaatgtaacagctggtgtaagtaaattctatcaacg
+aagatcaatcttatctactgaccaaaaaggcctgatagggcttcgctcactatacatcct
+tggctgcaggtttagttgtacaccactcctaaatttaatgtgttggcaatgtgttcaata
+aagctcgaacaaattagctcattatgatcggttaatacttcaacttctggttgcatgatt
+gtttgtccgtaaaaagataacgcgcctgccgggtagtagcaggcgcattacgcaataggt
+aaacaagggaggaagttcagaaatgtaaatcgggaaggttgtacgcaatgttcatcgtac
+tacgttgttacggctttgccgcaacaagccagttgcctgccgcgctcgcagaatgtctgc
+agcccggagataaggagattgttcctgccagctaaatcccttcctgtcgatacgaaccag
+ctcgtatttttctaccagaaaattcacggcatcggctagggtgataccggcatcgatgtg
+ttccttaatcacagcctcattgcagaatggcgtgtcgtttattgtcagaccatagtgctg
+ttccagcagacgtgtcagtaacatttgccagacagccacgggtgacaggcagggcttcac
+cgcccgctgagttattgcaggtaaagttttcatgtttgctctcgtgtaggtaattaacgc
+tgagtggggtaaatggcgatgtatacgtagccgcaactgccaagggtgtcggcttcgcag
+gttaaatcgttgtggtacagggtaacgcagtgggcatggtgggggctgagttcaccggtg
+gtcagcatcgattccatctggaggataaagtgcgggaatgtttcatccagcttccggcat
+tcgatgtcactgaacttgccggtgatgctggcccggtcagccagataatgcagtcggttg
+ccttcctgcaccagacgggctcccaggcgcagtgtaatctcccgctgcaggcccctggta
+gggttgctcattacagttctccactattgtcagttcagggtgatgctcatcaggcaggta
+tagggcccattgcggtcctggcggcgttcggcgtataccgcgaggactccggcgatatcc
+ggaacgtccctgccggtgtaatgacagacgctaccgtgccactggtatttgccggtgcag
+tagcgaaagattcgggactcaggatgctggcggtatatcgtcattgccctgcgtttactg
+ataattttcatgtaatacctcaaagcagaccgtgttctgcgaacgaatagatttgcctgc
+caccgacaatcagatggtcagggacacggatatccaccagctgaagcacctgaaccagtc
+gctgcgtgagggttttgtcggcctggctaggtgtcgtctcgccggaaggatggttatgcg
+cgagtatcaccgccgccgcgttgaagtgcagagcacgtttgaccacctcccggggatgca
+cctcggtgcggttaatcgtgccggtgaagagcgtttcatgggcaatcaactgattctggt
+tgtccagatacaacacccggaactcttcccgctcaagcgcggccatatgcagtcgcagcc
+attcacgtacggcgtgggtagaggtgaaggctacgccgggctcatgcaggtggcggtcca
+gagccctgagcgcccgctgaatgagacgccggtcctgtggcgtcatctcgccgggtaaaa
+aggaaagctgtttcatctgttgctccttcggtcagtcgataatacgcagaatggcgtgag
+cctctggatgttgcatggcatactcccgcaggcggtaatagtgtgcggtcatcgcgtcac
+attctgtacggcaggcatggtggctatacgcaatcaggcagacagcaatacctgctgctt
+ctgcactcatttgggcatcgttaccgttcaggcagttaaacagacgccatgtctcatcgt
+tgtcaggctcgggggacataaatgcgccgccattgctgagggtgtagaacgaccagatac
+caccgctgtagccctcacagaagcggtccatccaggcgaagatatgcggctccaggagta
+gccactgcgggatagcgccaaagtactgtggccagaaatcgatacgctgttcatcgggga
+ccggcgtgacggtcagttcaaattcgggttggttagcgggtgcgaggtcgtgctgcgtct
+gtgttgtcatgggtatgtctccgtcaataaaaacgccagcggcgatggctggcgtatggg
+gatataaagtgtgttcggggaggtgaatgcgggtaaatgcttcgcgatcagcgggtggcc
+gtgtctgtacggatgcctgaggtgcggatatagcggttaagaccttcaccggcatccggc
+tcaaagttccatgcccgccagaccatccggccttcagtatcacgaaccaccagacggaag
+tgactgccctggtcgtcttcgagtgtgatattgctgtacgtggtagtgaccgcttgcgct
+tgtctccgggtgaaaggccccggtggcagcaacacggattgggtcattttcgggctcctg
+ataaaagaaaaccccggcagcctgctagctgtcggggtgaatttgctggggaagatacta
+ctatcagtcgttgctgcagtctccgagagtggacagaactttctcagcgttcttccggtc
+cgcagtgaaggtccctgctttgtggtcattgacgtagacgtcgaactgcccggcctcaga
+gatattgctgatgaagtcaaaccaggcgttatcgccgttacgccagcccaggctggacgg
+aataatgtactgctggtgatccatcactacggtgatagtagtgtcgtcatcgtgcgaact
+gaccatcttgtcatcggcaagggtaagaaagactgaatgctgatagaaaccattctggtc
+cgggttccctgtgcagttgatggtaaacgtctttccgctggcttcggtcacgctgtattc
+cgtattgccctgaccgtaaccctgctgccagaaccccgggatagcagaggcattaaagct
+cgcgagcagtacacccgccagcataaaccgacttagtgaaagtattgtcattcttgtctc
+ctttgtcgttgttttattcctgattgtcagggttcgagggtatcagtagctgccccatca
+gtttgccgtcatgggcgtactcaaagtatttttctttggtatacgggtccgtcacctcct
+ggtattccagtttgatgttatcggcaatacacagcgcattcatcagtggctggacggttt
+tttcctgcatatccacgaggtagtagtaactgccatcctcgcagccatcgggcgactggc
+gggtacgtaaaacctgcaaggtgggaccggataagtagtcaacctgtgaccattcttcgc
+tgacatcatcctggtggctgaccacatcactgaaacgcggtggggtgaggtccttaaatt
+tactgatggccttcaggtcatcacttctgtcatcgcatgcgatgagaaacagagtggtgg
+caaccagcgccagcagaggcagtgttttacgtttcattatttttttcctgaaatcagacg
+aaccactttggcaaagacataaatgcccacgaaaatacccaccggcacgccgacgaacgg
+tgtcagcgcgacactggcagcaccggctgcgccacctcccgtcagcagtgcggcaacagt
+ggcaagggtcagggccgcgagactgtcggacaccccggttttgttcagaatgatgacgat
+gacaacaatggcgataatggcaatatccggactgatactccaggtccagatacatcagcc
+gctcacgaaaatcacgccgcagcgtgcgcaccgacacaccaaactcagcggcaagcttac
+gcacactcagcgtttcccctgccaccagacggctgattatcagtgacagcctgacagcca
+gccggtcatggcggcgttctgcctgtgtcatgagacgttctccgtgaaagttaactgact
+gaaaatgatgtgattactttaaagagggggtcggacagggtatggacaccacagaaacta
+tttttcatttctgcaaaagccagaggcagcgggggttacaggccttccctcggtgagtga
+ggaccgtcagcacggtgcgatgcggacaggtggtgtccgatattaacaaagcagcaacat
+taaacggtcactgcagttgcgtgagcagggcttccgccatcacccacagtgcccggttaa
+gtttcacgtccccgtcgataccgcgaacggcacgggtatgtgaccgtcctcctttggcat
+tacggccactgagcccgcccttaatcaggttctcctgaatacgctggtacgtggtccaca
+ggtcattgctctcatcctgccagcggcgaggggagaggatctgcgattcagtcaccggct
+ggtggtcttcaccaaagcggtatgtgagggcggcttttgccagtgcctgctgtgccgggg
+gtggcaacagcaacgactgcatggcatcccgtttctcctccacccggtcaaaaatcccca
+gcacctcatacgcgccttcaatcacctgactcaccacgtcccccttgtgtggcacccgca
+cctcgccaaacgactcaccgcagacgagcccgttctgacaaaccgcacgaaatagtcccg
+gcaacatctgatacgaactggttccatcgtgagagttgagtagaataatttccggcacct
+gtttaccggtgatctgcccttcccgccgcagacgcagcatatgctttgtatgttcacgac
+gacccgggtcacgcacgcgggtctgacaggcaaagaatggctggaagccttctcgctgta
+ggctgtcgagcagggagatggtgggtatataggtataacgctcactacgggactcgtgtt
+tgtcctcactgaatacactgggcactacgcgaaacagctcttcacgggttaacggacggt
+cgcgacggataaggtttgctgcgccaaagcgcgaagccagacgggtcataagcagactcc
+tcataacgggaaaacaaataaaagggatccccgtcgcatcggcgacaggggcagggaagt
+aacagggatgggttaaatactcagaagaagaaatcccagacggcgcgggccactgacacc
+accgtggtgcgcacggcctgaatgacggcccgcaccggggcgggtatcaggggaaaggca
+ctgatgctatcgagtacggccccgacggtttcaccaaaatcgctacgagcctgttcccgg
+actaccgtcgtgcgaaaggaaggatggagttgcgacaccaccgggctggtggcctcacgt
+ggcaggcacttaatcatccgctcggccatcaccttaagcccccattgtagacggaccgac
+acagcacacaccggatggacgggctggaacagctcatgcagcaggcagattttgcggctg
+atattctgcttctgcgccgtggacaactgtcccccaccgctggtaggttcggccttatcc
+gactggctgataacaaacagcaccttatgccggtatacctctccaatcacctgatgataa
+aaatgttcatccaccgtcagcgcccggtcatcggccttaatcagccacagtaccaggtcg
+aggcgaggaagctgttcgcggtacagcgcagcatactcggtatcgcgagcgccactttcg
+cccacgccgggcagatccatcagcgttatatagcggtcgccgacttgcaggcgaaagcgc
+agtggctcacgtgtacaggccgccacatcgctgaccggtgatatatctccggcaaacagg
+gcattgcacagactgctcttcccaacaccggttttacccataatgccgatcactggctcg
+tagttagttaactggttaatttgctgcagaagccgctctgatacccattgcggcagatca
+gcaagcgattgctgaaacgacttcaaaccttcagaattattcatcactactcctctgaaa
+aataataaaaaacggtagaatcgtgagattccgccgttaattgcgtatgttcagagtgat
+gatatatatctgaagattttttcaatcctctgcgcttgaggcagctgcgcgactgctggc
+tcaggcaatgaatgagttataatagcagcatttactaacagggatttattgagagtatga
+gccgccgtgatacaccttaaaatctcaacccagcaaagtttcggagccgcgagcaaaagt
+gagagccttcacaaaataatgcttagtaataaagttactttgaattcagagccccgatta
+atgtgaacatgatcaacgaattttacccagattgagttcattcagtagccaggttttgaa
+cacatcaagcgcagaatgcatgtgttggtgctgggggaaaaccaaataatgaccgatgta
+atgtatttcgctggtactgtttacaagtgggcataccagtttaccgctagcgatttcacg
+ttcagccagtagttttgattcaagcacaactcccaagccgtcaactgcggcagcaatcgc
+cataaagctacggtcaaatcgaaggccataattattgggtggcgtcatcttattcgcctc
+aaaccatcctttccactggtacaactgcacatcgcactgaatcaatgtcaacgcatagag
+atcctctggtttctttagccgctcagccagttggggagaacacagtggcgtaagttcttc
+aacagcaagcgggatcttctcatagggtgatgggcggggttcaccgtagactatatcgag
+atcaaaatcatcctgttcaaaacgtgcatattctgtgctggctgaaagtcgcagatcgat
+gcttgggttctcacgtatgaacttaccaagacgtggtaaaagccattgatgggcaaaact
+cggtgcagtatgaaggcgcaaaggcctggattcatcagccgtcactaatgccaacccctg
+ctgtaattcgttaaatccccgctgtatgtgctcaagcagtatttcaccttctttcgtcag
+cgtaatttctcgcgtactgcgctgaaaaaggcgtacatcaagcaagttttccagtttgcg
+gatggcatggctgatcgcactgggtgacagttccaactcagaggcggccaacgcaaaagc
+tccggtacgaccagccgcttcaaaggcgcgtaacagatttagaggtgcttttgctaagag
+cttcattcatgaatccttttcactagggatgaagtggtttactgaatttggccacctgaa
+cagaggtgatatgctcacctcagaacaacacaggtgtcataatgaaaaaaagaaatttca
+gcgcagagtttaaacgcgaatccgctcaactggtcgttgaccagaactacaccgtggcag
+atgcagccagcgctatggatgtcggcctttccacaatgacgcgatgggtgaaacaattac
+gtgatgaacggcagggcaaaacaccaaaagcctcccccattaccccggaacaaattgaaa
+tccgtgagctcaggaaaaagctacaacgtattgaaatggaaaatgaaatattaaaaaagg
+ctactgtagattcaattggtcaacgcaacagttatgtgaaaacatggggttgcggaggtt
+ttttgaatgagacgaacatttacagcagaggaaaaagcctctgtttttgaactatggaag
+aacggaacaggcttcagtgaaatagcgaatatcctgggttcaaaacccggaacgatcttc
+actatgttaagggatactggcggcataaaaccccatgagcgtaagcgggctgtagctcac
+ctgacactgtctgagcgcgaggagatacgagctggtttgtcagccaaaatgagcattcgt
+gcgatagctactgcgctgaatcgcagtccttcgacgatctcacgtgaagttcagcgtaat
+cggggcagacgctattacaaagctgttgatgctaataaccgagccaacagaatggcgaaa
+aggccaaaaccgtgcttactggatcaaaatttaccattgcgaaagcttgttctggaaaag
+ctggagatgaaatggtctccagagcaaatatcaggatggttaaggcgaacaaaaccacgt
+caaaaaacgctgcgaatatcacctgagacaatttataaaacgctgtactttcgtagccgt
+gaagcgctacaccacctgaatatacagcatctgcgacggtcgcatagccttcgccatggc
+aggcgtcatacccgcaaaggcgaaagaggtacgattaacatagtgaacggaacaccaatt
+cacgaacgttcccgaaatatcgataacagacgctctctggggcattgggagggcgattta
+gtctcaggtacaaaaaactctcatatagccacacttgtagaccgaaaatcacgttatacg
+atcatcgttagactcaggggcaaagattctgtctcagtaaatcaggctcttaccgacaaa
+ttcctgagtttaccgtcagaactcagaaaatcactgacatgggacagaggaatggaactg
+gccagacatctagaatttactgtcagcaccggcgttaaagtttacttctgcgatcctcag
+agtccttggcagcggggaacaaatgagaatacaaatgggctaattcggcagtactttcct
+aaaaagacatgtcttgcccaatatactcaacatgaactagatctggttgctgctcagcta
+aacaacagaccgagaaagacactgaagttcaaaacaccgaaagagataattgaaaggggt
+gttgcattgacagattgaatctacaaccgcgctcttgatgtcagactccctgaacagttc
+tcgataatcgggaaactcagggcgcgttatcctgtggccactctctgccatgtgttcggg
+gttcatcgcagcagctacaaatactggaaaaaccgtcctgaaaagccagacggcagacgg
+gctgtattacgcagtcaggtacttgaactgcatggcatcagccacggctctgccggagca
+agaagcatcgccacaatggcaacccagagaggataccagatggggcgctggcttgctggc
+agactcatgaaagagctggggctggtcagttgccagcagccgactcaccggtataagcgt
+ggcggtcatgagcacgttgctatcccgaatcatcttgagcgacagttcgccgtaacggaa
+ccaaatcaggtgtggtgcggtgatgtgacctatagtgtgcccggagttcagggcgggcat
+ggatgcttaaatgaaccgcgagtctgtctggaatattgaaccggtaactcacgatgagaa
+acccaacaatcccaccgggtgtgacggtggagaacctgagcggcagtgacctgcggcatg
+cccgcagggtgatgtaacccgctgacaacggggattgaggcgagatcactaagccgagat
+gatcctcaaggttaagtactgaaaggttgaagaacatgaacccgttaatccgcctctgtg
+ggttgaaaacgtcaccacggcctacgtgatctgacaggccgtgcaggaggaactggcagt
+gatacgtaagcactgccggtcgaaggtgttttgacatgtatgcgaaacaccggggcagca
+gcgtctatcacgcttgcgttgctgacttctgccaacttgcggcaagcaaggataaagagt
+gcgacgggcagcctcctcagtatgcctgagtccaggcaggtaaaccggggaaggtcagcg
+acggatgttaagggggcatggctccgatgacgcgctggctggcggagcttccgtagtagt
+ccgcgatggggaaagcccattacatggcgaagggaagcagtttgaatgtgtttgcgacgt
+gaattaactgacctaacgaggtgaagacctttgataatcagcgaaatgcaacgcaagctt
+gccacatgggcagccaccgatccgtccctacggattcaacggctgctgcgtctgataaca
+caaccagaatggctggctgaagcggcgcggatcacgctttcatcaaagggggcccatacc
+cccggcgttgatggcgtgaacaaaacaatgctacaggccagactggctgttgagctgcaa
+atcctcagggatgaattactctcaggccactaccagcccttgcccgccagacgggtttac
+atccctaaaagcaacggcaaactgcgaccactgggtatccccgcgttgcgggatcgtatt
+gttcagcgggccatgctgatggcgatggagccgatatgggagagtgattttcatacgctc
+tcatatggcttccggcctgagcgcagtgtccaccacgcgatccgcacggtgaaattacag
+ctcacagactgtggtgaaacccggggacgctgggtgattgaaggcgacctgtccagttac
+ttcgacaccgtacatcatcgactgctgatgaaggctgtacgccgcaggatcagtgacgca
+cgtttcatgactctgctgtggaaaaccatcaaggcgggacatatcgatgtcggtctcttt
+cgggcggccagtgaaggtgtgccacagggcggtgttatatcgccgctattatcgaacatc
+atgctgaatgagttcgatcaatacctgcatgagcgctacctgagcgggaaagccagaaaa
+gatcggtggtactggaataacagtatccaacggggccgaagtacggcggtcagagaaaac
+tggcagtggaaacccgcggtggcgtactgccgctatgccgatgattttgtcctcatcgtc
+aaaggcaccaaagcacaggtggaagccatcagggaggagtgtcggggtgtgctcgaaggc
+agtctgaaactcaggctgaacatggataagactaaaatcccccatgttaatgacggcttt
+atctttctggggcacaggctcattcgcaaacgcagtcgttatggcgagatgcgagtggtc
+tcaacgatcccgcaggagaaagccagaaacttcgccgcatcgctgacagcactgttatgg
+aaggtgcgaataagcggggaaattcttctcggctgactcagtcatttcatttcttcatgt
+ttgagccgattttttctcccgtaaatgccttgaatcagcctatttagaccgtttcttcgc
+catttaaggcgttatccccagtttttagtgagatctctcccactgacgtatcatttggtc
+cgcccgaaacaggttggccagcgtgaataacatcgccagttggttatcgtttttcagcaa
+ccccttgtatctggctttcacgaagccgaactgtcgcttgatgatgcgaaatgggtgctc
+caccctggcccggatgctggctttcatgtattcgatgttgatggccgttttgttcttgcg
+tggatgctgtttcaaggttcttaccttgccggggcgctcggcgatcagccagtccacatc
+cacctcggccagctcctcgcgctgtggcgccccttggtagccggcatcggctgagacaaa
+ttgctcctctccatgcagcagattacccagctgattgaggtcatgctcgttggccgcggt
+ggtgaccaggctgtgggtcaggccactcttggcatcgacaccaatgtgggccttcatgcc
+aaagtgccactgattgcctttcttggtctgatgcatctccggatcgcgttgctgctcttt
+gttcttggtcgagctgggtgcctcaatgatggtggcatcgaccaaggtgccttgagtcat
+catgacgcctgcttcggccagccagcgattgatggtcttgaacaattggcgggccagttg
+atgctgctccagcaggtggcggaaattcatgatggtggtgcggtccggcaaggcgctatc
+cagggataaccgggcaaacagacgcatggaggcgatttcgtacagagcatcttccatcgc
+gccatcgctcaggttgtaccaatgctgcatgcagtgaatgcgtagcatggtttccagcgg
+ataaggtcgccggccattaccagccttggggtaaaacggctcgatgacttccaccatgtt
+ttgccatggcagaatctgctccatgcgggacaagaaaatctcttttctggtctgacggcg
+cttactgctgaattcactgtcggcgaaggtaagttgatgactcatgatgaaccctgttct
+atggctccagatgacaaacatgatctcatatcagggacttgttcgcaccttccggaggcg
+ttatgagctggcggccctttttgtatctgattattaatccccacccgctattaagcgccc
+ggcgcgggcatctgcgtctggtgcagggttgactttgcattctgttaacaaacgcggtat
+aacaaaccttctttggatgtttagatgtccatacgtttagaaggttatatgcaaacaaca
+caacaaaatgcgccactgaagcgcacaatgaaaacgcgtcacctgattatgctttccttg
+ggcggcgtgattggcacaggattattcttcaataccgggtacatcatttccaccactgga
+gcggcgggaacgctgctggcctatctgattggtgcgctggtggtctggctggttatgcag
+tgtctgggcgagctgtcggtcgcgatgccggagaccggagcgtttcacgtttatgccgcg
+cgctatcttggtccggctaccgggtataccgtggcctggctttactggctgacctggacc
+gtggcgctgggttcgagctttaccgccgctggattctgtatgcagtactggtttccacag
+gtgccggtatgggtctggtgcgtggtgttctgcgcgattatttttggtctgaatgttatc
+tccacgcgcttttttgccgaaggggagttctggttctcgctggtcaaagtggtcactatc
+atcgcctttatcatcctcggtggggcggcgattttcggctttattccgatgcaggatggc
+tcgcccgcgccggggctgagtaatatcacggcagaaggctggttcccgcacggtggctta
+ccgattttgatgactatggtggcagtgaactttgctttttcgggtaccgagcttatcggc
+attgccgccggtgaaacggaaaacccgcgcaaagttatcccggtagcgattcgtactacc
+atcgcgcgactgattattttctttatcggcaccgtgtttgtgctggcagcgctgatcccg
+atgcagcaggtgggcgtggagaaaagcccgtttgtgctggtatttgagaaagtagggatc
+ccgtacgccgctgatatttttaacttcgtgatcctgacggctattctttctgcagcgaac
+tccgggttatatgcctccgggcgcatgctgtggtcgttgtcgaatgaacgtacgctaccg
+gcctgttttgcgcgagtaacgaaaaacggcgtgccactgacggcgctgtcggtcagtatg
+ctcggtggtgtgctggcgctgttttccagcgtggtggccccggacacggtatttgttgcg
+ctgtcggcaatctccgggtttgcggtggtagcggtgtggctgagtatctgcgcctcgcat
+tttgtttttcgtcgccgtcatctgcaacaaggtaaggcattgagtgaattacattatcgc
+gcgccgtggtatccgctggtgccagtattaggttttgtgctgtgcctggtggcctgtgtt
+gggctggcattcgatccagcgcagagaattgcgttgtggtgcgggttaccgtttgttgcg
+ttgtgctatggtgcttatttccttactcaaccccgaaacgcaaaacaggagccagaacat
+gtcgcagaataatccgttacgcgctcttcttgataaacaggatatcctgctgctggatgg
+cgcgatggcgacggagctggaagcgcgagggtgtaacttagccgacagcctgtggtcagc
+caaagtgctggtagaaaacccggagcttatccgcgaagtgcatcttgattactaccgggc
+gggggcgcaatgcgcgatcactgccagctatcaggcgacgccggcgggcttcgccgcgcg
+aggtctggatgaagcgcagtcgaaagcgctgattggcaaaagcgtggagctggcgcgtaa
+agcccgtgaagcgtatctggcagagaacccgcaggcgggaacgcttctggtggcgggatc
+cgtcgggccttacggcgcgtatctggcggatggctctgaataccgtggcgattatcattg
+tagcgttgaggcatttcaggcgtttcatcgcccgcgcgtggaagccttgctggatgccgg
+ggccgatctgctggcctgcgaaaccctgccgaatttttccgagattgaggcgttggccga
+gctgttgaccgcatatccgcgtgcgcgggcgtggttctcatttaccctgcgcgacagcga
+acacctgagcgacggtacgccgctgcgtgacgtggttgcgttgctggcgggttatccgca
+ggtggtggcgctaggcattaactgtattgcgctggaaaacaccaccgctgcgttgcagca
+tttacacggtttaacggtgctgccgctggtggtgtatccgaactcgggcgagcattacga
+tgccgtgagcaaaacctggcatcatcacggtgaacattgcgcgcagctggcggattatct
+gccgcagtggcaggccgctggcgcacggttgattggcgggtgctgtcgcaccacgcctgc
+ggatatcgccgcgttaaaagcgcgaagctgagggtttatcgggtctacatcgttcattgt
+aggcctgataagcgcagcgcatcaggcattgccggatggcggcacaagcgccttatccgg
+cctacaaaaccacaaaacgttatgccgcatccgccagaacaaacatgccgtacggatgga
+tttcaagataatactgctcgccgacgtccggttgcagacgcgtagcgttgacctgcaata
+atatctcctgcccgtgccattccaccgtcacttcatactgcggccccatataggcgacat
+ggcggatcacgcagcgctggctctcttcgccgcgatcgctgagcgtgatcgcttccgggc
+gcacaccgaccatcccttcaccctgtgtaccaaagtgcagcgggcgcggcagatgatagc
+cgtagatatcaacgtatccgtcgctgaaggttgccgggaacaggttggcatcgcccataa
+agctcgccataaagcgggaggcgggctggcggtaaagatcctgcggtgagccgatctgca
+tgatgtgtcccttgttcatcaccagcacagtatcagaaaccgcaaaggcttcgctctgat
+cgtgggtgacgtacagcgaggtgatatcaaactgcttttgcaactcgcggatcttgtcgc
+gcatgctgcgacgcaggttggcgtcgaggttactcaacggctcatcaaacagcagcactt
+tcggcttgaggatcagcgcgcgggccagcgccacgcgctgctgctgcccgccggagatct
+gatcgacaaagcggtcttcgaatccttccagatccaccatcgccaacgcctctttgacgc
+gggctttcagctctgcgcgcggtacgccgagcattttcaggccataaccgacattctctc
+ccagcgacatatgcgggaacagggcataggactgaaacaccatacagatatcgcgctgct
+gaatagagcgatgggtgacgtcttcgccatcaatgaaaatttgcccttcgctcggttttt
+ccagcccggcaaccaggcgcaaaatagtggttttgccgcagccggacgggccgagcagcg
+tcaccatttgcccctgcgggatggtgaggttgatattgtcgattaccgtattactgccaa
+atcgtttagtgacgttgcgcagttcaacgaaatttttctgagtcatagtgcgctccatta
+cgcctggtttttggcttttgaacgggaggtacgtgattcaccgatcagccagtcaaagat
+gaaaataatcgccagcatcaccacgatcagaatggaaccgtaggcaatcgctacaccgta
+ttcgccatcttccacgcggttgaggatgtaagccgtcgctacgcgggtatccggcgtgac
+gaggaacacaatggcgctgacggtggtaatggcgcgcacaaagctgtaaatcagcgccga
+gaggatcgccgggcgcagcagcggcagcaggatgtgcgtaatggtacgcagggaaccggc
+gcgcaggctgagtgaggcttcatcgagcgatttatcgatttggcccggtaatgactccaa
+cttattgatagtgttttatgttcagataatgcccgatgactttgtcatgctgctccaccg
+attttgagaacgacagcgacttccgtcccagccgtgccaggtgctgcctcagattcaggt
+tatgccgctcaattcgctgcgtatatcgcttgctgattacgtgcagctttcccttcaggc
+gggattcatacagcggccagccatccgtcatccatatcaccacgtcaaagggtgacagca
+ggctcataagacgccccagcgtcgccatagtgcgttcaccgaatacgtgcgcaacaaccg
+tcttccggagcctgtcatacgcgtaaaacagccagcgctggcgcgatttagccccgacgt
+atccccactgttcgtccatttccgcgcagacgatgacgtcactgcccggctgtatgcgcg
+aggttaccgactgcggcctgagttttttaaatggcggaaaatcgtgttgaggccaacgcc
+cataatgcgggcggttgcccggcatccaacgccattcatggccatatcaatgattttctg
+gtgcgtaccgggttgagaagcggtgtaagtgaactgcagttgccatgttttacggcagtg
+agagcagagatagcgctgatgtccggcagtgcttttgccgttacgcaccaccccgtcagt
+agctgaacaggagggacagctgatagaaacagaagccactggagcacctcaaaaacacca
+tcatacactaaatcagtaagttggcagcatcaccgagaacacaaatgggctaattcggca
+gtactttcctaaaaagacatgtcttgcccaatatactcaacatgaactagatctggttgc
+tgctcagctaaacaacagaccgagaaagacactgaagttcaaaacaccgaaagagataat
+tgaaaggggtgttgcattgacagattgaatctacagcagctttttttaatatgtcccgtt
+cgtcggtaacccgtttcagctctttctggagacggcggatctcggcctgagcatctgact
+gttctttattagtggaagaatccggaccgtacttctttatccaggcataaaggctgtggg
+tggtgatatcgagacgtgttgcaacgctggcaacagaataaccgagatcaacaacctgtt
+tgactgcttcagttttaaactcttcgggataacgcttaccgctcatgggcacctctcttt
+aagccattttaaatgactcggaggtgtctgttaaacccgtggcgattcaaaattgcgata
+tatacatacccatgactgcccagcgtatcggcttcaccagtcagcccgttacggtacagt
+gtgacacagtgcgcgtacctgggattcagctcacaggagagcagcatcagctccagatgt
+gcgacaaaatgcgggaaggcttcatccagttgtagagtctgcacctcactgaatgagccg
+gtgaatccagcccggtcagccagaaaatgcagacgatgaccttcctgcaccagtcgtgct
+ccgaaacacggtgtgatatctcgtttaagcccccaagtttgagtagagtctttattcata
+attttattcctgttaaagaagaccatgttcggcgaatgagaatatttgcctgccgccgac
+aatcaggtggtcggggacatggtgaacactttttaacatcctttacccatggtgatcgac
+tttttcttcaggtcgatcacccccactttcgtgctgtaccaccacacctcgtagctgccg
+tcttcctgcatctccttcagcccgacccgttctcccctgaacgccttgcctgcgctcaga
+cttacccctttcacgctcagctttccgctgatatccactttcctgaccatcaccccttca
+tcgtattccgggggcgttgtgttgccgctgtactgccgcgctgacggctgataccgcgag
+cccggtaccgccatatccagcgcctcgtgcgggcgttcaaggttatagaccgtccgccag
+tggtcgaaggcgcgctgcagttcaccgctgtctgcgaaccattttccctgcagcacttcc
+gccttcaggctgcggtgaaaacgctccagcttcccctgcgtctgcggatgataaggccgg
+gagtgccccacccggatacccaggcgcatcagccacagctccagcgccgtccaggtgccg
+gtggtgtcgccccacggtgagccgttatccatggtcatccggtccggcaggccgtaacgc
+tcaaacacgctgaccagctgctgctgcacggtctcgcgccgttcatcggtacagtgcgcc
+aggcacagggaaaaacgggagtggtcgtccagcagggtgagcggatggcagcgtccaccg
+ccaaaaggaaagtggcccttaaaatccatctgccagaggcggttcggcgcgtcgtgttcg
+aaccggcccgtggcgggaatgcccggtgaagcgcccggcagcaggccatggcgggccatc
+aggttatggacggtgctgaaggcgggcatggtgtgcccctggtcctcgagccagcgctta
+atcttgcgggctccccagcgttcatgacggtcatgggccatacgcagcagggccgtgatg
+tcgtcagatgagcggttcggggaatggtgcggaatgcgcgggcggtcctgaagaccggcg
+gcaccttcctgagcccagcgctggagccacttgtagccggtggcaggtgaaatgccgaag
+cgacggcagagggaacggatgttcgccccgtcctgcgaggcgaacaaaacaaactcagta
+cgtaatgacatggtatctctcgcatcccagggcataagcgactccataaacgggttctta
+tgccttagttgtaagtgtctaccatgtccccgaacaagtgttcactatgtccccggaccg
+tacaccccaaaggggagaggggactgcaccgagccatcttttccccctcgcccctttggg
+gagagggccggggtgaggggcaatatgtgatccagcttaaatttcccgcactccctcttc
+ccttccgatttacctctccttgttctgcgtcatagtatgatcgttaaataaacgaacgct
+gttctataatgtagaacaaaatgattcagcaaggagatctcatgccgcagtccgcgttgt
+tcacgggaatcattccccctgtctccaccatttttaccgccgacggccagctcgataagc
+cgggcaccgccgcgctgatcgacgatctgatcaaagcaggcgttgacggcctgttcttcc
+tgggcagcggtggcgagttctcccagctcggcgccgaagagcgtaaagccattgcccgct
+ttgctatcgatcatgtcgatcgtcgcgtgccggtgctgatcggcaccggcggcaccaacg
+cccgggaaaccatcgaactcagccagcacgcgcagcaggcgggcgcggacggcatcgtgg
+tgatcaacccctactactggaaagtgtcggaagcgaacctgatccgctatttcgagcagg
+tggccgacagcgtcacgctgccggtgatgctctataacttcccggcgctgaccgggcagg
+atctgactccggcgctggtgaaaaccctcgccgactcgcgcagcaatattatcggcatca
+aagacaccatcgactccgtcgcccacctgcgcagcatgatccataccgtcaaaggtgccc
+atccgcacttcaccgtgctctgcggctacgacgatcatctgttcaataccctgctgctcg
+gcggcgacggggcgatatcggcgagcggcaactttgccccgcaggtgtcggtgaatcttc
+tgaaagcctggcgcgacggggacgtggcgaaagcggccgggtatcatcagaccttgctgc
+aaattccgcagatgtatcagctggatacgccgtttgtgaacgtgattaaagaggcgatcg
+tgctctgcggtcgtcctgtctccacgcacgtgctgccgcccgcctcgccgctggacgagc
+cgcgcaaggcgcagctgaaaaccctgctgcaacagctcaagctttgctgagccggacgat
+aacgatgaccattgagaaaattttcaccccgcaggacgacgcgttttatgcggtgatcac
+ccacgcggcggggccgcagggcgctctgccgctgaccccgcagatgctgatggaatctcc
+cagcggcaacctgttcggcatgacgcagaacgccgggatgggctgggacgccaacaagct
+caccggcaaagaggtgctgattatcggcactcagggcggcatccgcgccggagacggacg
+cccaatcgcgctgggctaccacaccgggcattgggagatcggcatgcagatgcaggcggc
+ggcgaaggagatcacccgcaatggcgggatcccgttcgcggccttcgtcagcgatccgtg
+cgacgggcgctcgcagggcacgcacggtatgttcgattccctgccgtaccgcaacgacgc
+ggcgatcgtgtttcgccgcctgatccgctccctgccgacgcggcgggcggtgatcggcgt
+agcgacctgcgataaagggctgcccgccaccatgattgcgctggccgcgatgcacgacct
+gccgactattctggtgccgggcggggcgacgctgccgccgaccgtcggggaagacgcggg
+caaggtgcagaccatcggcgcgcgtttcgccaaccacgaactctccctgcaggaggccgc
+cgaactgggctgtcgcgcctgcgcctcgccgggcggcgggtgtcagttcctcggcacggc
+gggcacctcgcaggtggtcgcggaggcgctgggtctggcgctgccgcactccgcgctggc
+gccgtccgggcaggcggtgtggctggagatcgcccgccagtcggcgcgcgcggtcagcga
+gctggatagccgcggcatcaccacgcgggatatcctctccgataaagccatcgaaaacgc
+gatggtgatccacgcggcgttcggcggctccaccaatttactgctgcacattccggccat
+cgcccacgcggcgggctgcacgatcccggacgttgagcactggacgcgcatcaaccgtaa
+agtgccgcgtctggtgagcgtgctgcccaacggcccggactatcacccgaccgtgcgcgc
+cttcctcgcgggcggcgtgccggaggtgatgctccacctgcgcgacctcggcctgctgca
+tctggacgccatgaccgtgaccggccagacggtgggcgagaaccttgaatggtggcaggc
+gtccgagcgccgggcgcgcttccgccagtgcctgcgcgagcaggacggcgtagagccgga
+tgacgtgatcctgccgccggagaaggcaaaagcgaaagggctgacctcgacggtctgctt
+cccgacgggcaacatcgctccggaaggttcggtgatcaaggccacggcgatcgacccgtc
+ggtggtgggcgaagatggcgtataccaccacaccggccgggtgcgggtgtttgtctcgga
+agcgcaggcgatcaaggcgatcaagcgggaagagattgtgcagggcgatatcatggtggt
+gatcggcggcgggccgtccggcaccggcatggaagagacctaccagctcacctccgcgct
+aaagcatatctcgtggggcaagacggtgtcgctcatcaccgatgcgcgcttctcgggcgt
+gtcgacgggcgcctgcttcggccacgtgtcgccggaggcgctggcgggcgggccgattgg
+caagctgcgcgataacgacatcatcgagattgccgtggatcgtctgacgttaactggcag
+cgtgaacttcatcggcaccgcggacaacccgctgacgccggaagagggcgcgcgcgagct
+ggcgcggcggcagacgcacccggacctgcacgcccacgactttttgccggacgacacccg
+gctgtgggcggcactgcagtcggtgagcggcggcacctggaaaggctgtatttatgacac
+cgataaaattatcgaggtaattaacgccggtaaaaaagcgctcggaatttaattatttta
+agagataaaaccgtctgcggaatatttcccgcagacggctttgttgtttttgaaatttat
+taatttaaacaattagttgagatatatcgttggcgtcacaaaagcaaaataacgtaattc
+ggaaataagatatgaccattgctggttaattgaatagctcattacactccattaacacga
+tgttgtaattcggcacactacataagggtgtaattctgatgacgcaattaaccatgaaag
+acaaaattggctacgggctgggagacaccgcctgcggcttcgtctggcaggccacgatgt
+tcctgctggcctatttctacaccgacgtcttcggcctgtcggcggggattatgggcacgc
+tgtttttggtctcccgcgtgctcgacgccgtcaccgacccgctgatggggctgctggtag
+accgcacccgcacgcggcacggccagttccgcccgttcctgctgtggggggccatcccgt
+tcggcatcgtctgcgtgctgaccttctacacgccggacttctccgcacagggcaagatca
+tctacgcctgcgtgacctacattctcctgaccctggtctacaccttcgttaacgtgccgt
+actgcgccatgccgggcgtcatcaccgccgacccgaaagagcgtcacgccctgcagtcct
+ggcgcttcttcctggcggcggcgggctcgctcgctatcagcggcatcgcgctgccgctgg
+tgagcatcatcggcaaaggggacgagcaggtgggctacttcggcgccatgtgcgtgctgg
+ggctgagcggcgtggtgctgctctacgtctgcttcttcacgaccaaagagcgctacacct
+ttgaggtgcagccgggctcgtcggtggcgaaagaccttaagctgctgctgggcaacagcc
+agtggcgcatcatgtgcgcgttcaagatgatggcgacctgctccaacgtggtgcgcggcg
+gggcgacgctctacttcgtgaaatacgtgatggatcacccggagttggcgacccagtttt
+tactttacggcagcctcgccaccatgttcggctcgctttgctcctcacgcctgctgggcc
+gcttcgaccgcgtcaccgccttcaagtggatcatcgtcgcctactcgctgatcagcctgc
+tgattttcgtcaccccggcggagcacatcgcgctcatttttgccctcaacatcctgttcc
+tgttcgtctttaataccaccacgccgctgcagtggctgatggcttctgacgtggtggact
+acgaggagagccgcagcggtcgccgcctcgacgggctggtgttctccacctacctgttca
+gcctgaagattggcctggcgattggcggggcggtggtgggctggatcctggcgtacgtca
+actattccgccagcagcagcgtgcagccggttgaggtgctcaccaccatcaaaattctgt
+tctgcgtggtgccggtggtgctctacgcgggcatgttcatcatgctgtcgctctacaagc
+tcaccgatgcccgcgtggaggccatcagccggcagctgattaagcaccgcgcggcgcagg
+gcgaggccgttcccgacgccgcgacagccgcatcccattaaccggaggcaatatggaaat
+cactaacccgatactcaccggcttcaacccggacccgtccctgtgccgccagggcgagga
+ctactacatcgccacctcgaccttcgagtggttcccgggcgtgcgcatctaccactcccg
+tgacctgaaaaactggtcgctggtcagcaccccgttggaccgcgtgtcgatgctggacat
+gaagggcaacccggactccggcggcatctgggcgccgtgcctgagctacgccgacggtaa
+attctggctgctctacaccgacgtgaagattgtcgactcgccgtggaaaaacggccgcaa
+cttcctcgtcaccgcgccctccatcgaggggccatggagcgagccaatcccgatgggcaa
+cggcgggtttgacccgtccctgttccacgacgacgatggccgcaaatactatatctaccg
+cccgtgggggccgcgccaccacagcaacccgcacaacaccatcgtgttacaggcgtttga
+cccgcagaccggcacgctctcgcccgagcgcaaaacgctgtttaccggcacgccgctctg
+ctacaccgaaggcgcgcacctgtatcgccacgcgggatggtactacctgatggccgccga
+gggcggcaccagctacgagcacgccgtcgtggtgctgcgttccaaaaatatcgacgggcc
+gtacgagctgcacccggacgtaacgatgatgaccagctggcacctgccggagaacccgct
+gcagaagagcggccacggctcgctgctgcagacgcatacgggtgaatggtacatggccta
+cctcaccagccgcccgctgcgcctgcccggcgtgccgctgctggcctccggcggacgcgg
+ctactgcccgctggggcgcgagaccggcatcgcccgcattgaatggcgcgacggctggcc
+gtacgtggaaggcggcaagcacgcgcagctgaccgtgaaaggcccgcaagtagccgagca
+gcctgcagccgttccgggcaactggcgggacgatttcgacgccagttcgcttgacccgga
+gctgcagaccctgcgcattccgttcgacgacaccctcggctcgctcaccgcgcgcccggg
+cttcttacggctctatggcaacgactcgctcaattcgaccttcacccaatcgaccgtggc
+gcgccgctggcagcacttcgccttccgggcagaaacgcggatggagttctcgccggtgca
+cttccagcagagcgcggggctgacctgctactacaacagcaaaaactggagctactgctt
+tgtggactacgaggagggacagggtagaaccatcaaagttatccagctcgaccacaacgt
+gccgtcgtggccgctgcacgagcagcccattccggtgccggaacatgcggagagcgtctg
+gctgcgggtggacgtggatacgctggtctaccgctacagctactcgtttgatggcgagac
+gtggcacaccgtgccggtgacgtatgaggcgtggaagctgtcggacgactacatcggcgg
+gcgcggcttcttcaccggcgcgtttgtgggcctgcactgcgaggacatcagcggcgacgg
+ctgctacgcggacttcgactacttcacctacgagccggtctaacggctcaggccgggtag
+cccagcgcgcgcgagagcgcgagcccggcctgctgaagctgctcgcggaaattagccagc
+tccgcgtcgtccacgcgggaggtcagcgtcgacaggctcagggcggcgatgacgcgggac
+tcgtggttccacaccggcaccgccacgcagcgcacgccctgctcgttctcttcgctgtcc
+agggcgtagccttgctcgcgggtctgcgccagggcgctcattaaggcttcgcgagacgcg
+agggtggcgggcgtaaaggtagtgtactgatagccctccagcagggcgttcagctcggcc
+tcgcccagccaggcaatcaacaccttgccgatggcggtggcgtgcaccggcaggcggcgg
+ccgatgcgtgaataggcgatggcggccagcttgccttcaatcttctcgatatagacccct
+tcacgcccgtccaggatccccagatgggtggtctgcccggtccgccgggacagctccgtc
+agccagccttttgccttctgccgaatatcgatggagcccacgacaaaatggccgcgctcg
+accagcttcatgccgaggcgatacttgccgttctccgggttctgatcgatatagccgtga
+agctgcagggtttttagcagcgagtggagggtactcttgctcagccccatcagtttgctg
+atgtcggtgatcttaagctcggtggcctgctcgttgaacaggtcgaggatctgcaacgca
+cgttcaacagactgaataatcggcataatgctggcatgtccacgctggaattaaggcgaa
+aacgtacctttttcgggatgaaaaatcaatgaaatggagccggtgttctccctctccctg
+tgggagagggccggggtgagggcaccaacgcgcagcggacccaatcactccccaagcgtt
+gccatcatcaccgccttaatcgtatgcatccggttttccgcctggtcgaacacgatgctc
+gccgccgactcaaacacctcgtccgtcacctccatcccgccgtgcagatcgaactccttc
+gccatctgcttgccgagcgtagtctggtcgtcatggaacgccggcagacagtgcaggaac
+ttcacgttcgggttgtcggtcagcgccatcatctgcgcgttcacctgatacccgcgcagc
+agcgcaatccgctctgcccacttctctttggcctcgcccatcgacacccacacgtcggta
+tagataaagtccgcgcccttaacgcctgccgccacgtcttccgtcagagtaattttcccg
+ccgtgcttctccgccagcgcgctgcactccgccaccaggctctcttccggccagcaggct
+ttcggggccaacaggcgcagatccagcccggtcagcgccgccgcttccagcatcgagttg
+cccatgttgttgcgcgcatcgcccgcgtagaccagcgtcatctcgttaaacgccttgccc
+ggcaggtgctcctgcatggtcatcaggtccgccagcagctgggtcgggtggaactcgttg
+gtcagcccgttccacaccggcacgcccgcatactgcgccagcgtttcgaccacttcctgg
+ccgtgaccgcgatactgaatgccgtcatacatccgcccgagaacccgcgcggtgtcctta
+attgactctttatgcccaatctggctgccgctcggccctaaataggtaacgcgcgcgccc
+tggtcaaatgcggcaacttcgaaagagcaacgggtacgagtcgagtctttttcgaagatg
+agcgcgatgtttttaccggtaagcttctgtacttccttgccattttttttatcggctttg
+agctgtgcggcaagggtcagcagagaagtgaactgtgcaggggtaaagtcgagcagtttc
+agaaagtgttttttgtataaatcggacattttatcctcgcatggcgaacgccacttattg
+aattaaaattcactttatatgtgtaattattcatttgcaaccccatttcacaattctttc
+ttacaaaggtggaggcaaacccgtccgtgtgtgaaaataatcgtatctgcctccgattct
+ctgcagaagcagaaagacattggatcgaattctacaaccaggtcgagtcagaaatgagaa
+tgattggccttctttatgattttaaggattatgcttctaaaatggcggagaacatggcga
+ggcttgctgccttacttcattacttcagcggtgatggaggcgatatatctgttaccgggt
+aatgactccaacttattgatagtgttttatgttcagataatgcccgatgactttgtcatg
+ctgctccaccgattttgagaacgacagcgacttccgtcccagccgtgccaggtgctgcct
+cagattcaggttatgccgctcaattcgctgcgtatatcgcttgctgattacgtgcagctt
+tcccttcaggcgggattcatacagcggccagccatccgtcatccatatcaccacgtcaaa
+gggtgacagcaggctcataagacgccccagcgtcgccatagtgcgttcaccgaatacgtg
+cgcaacaaccgtcttccggagcctgtcatacgcgtaaaacagccagcgctggcgcgattt
+agccccgacgtatccccactgttcgtccatttccgcgcagacgatgacgtcactgcccgg
+ctgtatgcgcgaggttaccgactgcggcctgagttttttaaatggcggaaaatcgtgttg
+aggccaacgcccataatgcgggcggttgcccggcatccaacgccattcatggccatatca
+atgattttctggtgcgtaccgggttgagaagcggtgtaagtgaactgcagttgccatgtt
+ttacggcagtgagagcagagatagcgctgatgtccggcagtgcttttgccgttacgcacc
+accccgtcagtagctgaacaggagggacagctgatagaaacagaagccactggagcacct
+caaaaacaccatcatacactaaatcagtaagttggcagcatcaccgaattttcagcccgg
+atgtttcacgtacctatgtcgaatatctggccgataaggttgcggatcgagaagaggatg
+cagaggaatatctggaagcaatcatggaggctcgtgttaccgttgctggcatggggctgg
+tgatggaggtgcaggattacttcgatggcgaggccgatagactggcgaaggcgtggctgg
+ccgagtacacaccgcaaatcaagtcgttgaaagatgagcgtaaagaggcctatcgtcaaa
+tcgtcgaaatgagtaccgaaccgcaggatgtggatctggtcaggccggcgaacaagtttg
+aaatgaccagggtgcgtgaaggtgaaaaggaagctgaccttccagtctggaaacaccatt
+tgttgtgtgacgaaagcgggaactatccggctctgttgaaccattgggaaaccaaggttt
+ttgagatcgaaaccaaacgtgaaggatttgctttctggtatcgtaatccacagtacacag
+ggcagtcgtcactgggaatcgcttatgttgaagctgaacagtacaagattgttcgtcccg
+atttcctgttctttgccgaacaggatggcaaaatggttgtggacctggtagatccacata
+gcctacatctggctgatgctttgcccaaactggaaggacttgcgctatatgccgaacatc
+attctgatgcttacaggcgaatcgaatctgtcgccgaagtaaagggtaaattacgagtgt
+tagatttgaaacggcaggatgtgcaggatgctgttgctaccgctgaaaatgcagaaacgt
+tatttagtagcggacttgctgatgactatcagtaatctatagaaaattgcgtaacgaaac
+tgcattttagtaattttttgaaacaatacaaataaggccttctcactgagaaggccatta
+ccgacttacagttcgatttggctacagccgaagttacggtctccttcaccaaacactttg
+ctttcaactttggtcaggtagtccagtcgggttaacagcgcctggtagttctgctggaag
+tcagtactattggtgtctagcacatacttacagttttcaggaaaatggaccagaccaggg
+tgatcgtctctctccagtctcagggcgctgtaccaggctcctgtgatcatccctctaagg
+ttatcgtcctgatcgtaatccccgaggtggtagtaagcgtctttgttgaacaacaggcaa
+atgtgatagtggcatttacctgattcagaatactctttcgcccatataataaataaaggg
+caacggtaaatgcgtttatcctcacgcaccttacgggtacggtcagcctccagcttagct
+ctgagggattcacgcatccgggatatcaccccaggttccaggttagggaagcaacagata
+ttgtcaccgttatcaactattttgggatagtggagatcgacacgtacagcaattaaccta
+ggataccggttagtcaaataacataataatttattaatcttactctgatattcgaggata
+tgtactccatgagtaccttgatatgttttcataatatatacctgtatttggtcctacggt
+ctatagcagaccgtacagggatgccatacaggcagggctattcctggtcactgttgtcgg
+tatatactggtatcagattttagtacggacatactgatctgattactactcttactggtg
+aatacaggtagtaagagtacacaatgccattatataatacctatccaacatctaaatttg
+agacgaaggtagccccagcctgtgatggctgttaaaaagttactctgcaattagcttctg
+gaattaaccgatgattccgttattccagtgccgcttcacagtcgataaactgatactcaa
+tttctttgcaatctcagcctgagtaaatccacctttcttaagtattgtgatatcacgtcg
+gtatttgcttccctcctttcgtcctaattttttcttaacatgtcgatatcggcttttagt
+tgatttcagattgtgaatgtcaatcgtatcctgacgagcaatcaaaaaagacaagcaact
+ttcagcagaaggctctatccttgaagctggatggtagctgtagataaacatttctttttg
+aaggcaaaaaaataaaatattctgtaagtcctccacagttctgccaagacagcttagatc
+tggaatgacaagcgtgtcctgccggttcatttcatgatgaatcaattgtctgagtaaacg
+ttgctctgaaacaacctctttaatatctacctgctcgatcacaacatgttcaggtagaat
+attaaatttttggcatatctcagcaagtgagtgatgatctgtaatgctttcttgctgttc
+gctactgcatatggtgtaaaaaaatgaacgcatctgatgcactccggtgtcataaattat
+tttttgatacctgaataatgtcattttgcataaaaaacaaccaaaaatagagagtgattg
+ccagcgatactttaactggtaaagtagtattttacctctcataattgtttgtccttcttt
+gttacctcttaggttctgctctcttgtgagtatgggtttataatgatgtcatccggtaca
+ttaacacggttggaaacatctgttttgcggagcactggcagcataaccaccatttcattg
+acatggtaaatatcaatccaacaaacaaccggataaggcataacaatcccctttcttcta
+agaacttcatttatcccgaatataatcaattgggatgttgacaagagtagagcctgcccg
+gcatcaaagtaataaccctcaaaggttgttctatgaataagaataatgtttgaatatcct
+gagacactttgatgctttacatcaaaatgtctttgattgtaaatgtaaatggctttttcc
+atatcgtaattttcccttagcgaggatagcctttcacgtataactgttttttcatctttc
+cccatgaattcatcattagcgttcagttgaaagtaatctgcaatggggatttttaatgga
+ctcatgatgttcgttttccagattaacgaacagtactcttccagagttacttctgtttta
+cctcggcttcgattgatgctttcttttatagagaactttaacaggtcattttttatttca
+tttattgaccagttatgacgattgcatttttctaatatagggatagccaaatccacaact
+tccgctattacggaagagtgagatttatttgttagtctggcataatgatcaattactcct
+aatgaagattgatttttgaacgtgactgagtgtttttttatgggagtagtctgtactacc
+tgtgactcattgtttttgccttgacaaggtttttttcctggtagaacgctgctcatctca
+aaattagtaacactattagacatttttaaggaaacctctttgttatctcaatataaaact
+actatctgaaatttctcagtgttgccccatttttctcggggcaacatcgctataaatcaa
+taaaattaaatctgtaatttattacagactttctcgtacagaaaatgtatctataaaatc
+gaggacatctttacgtaaccagtaatggcggccattgatttgttttgggcgaggtagccc
+ctcaggcaatttgtcctgacaaagccatttacgaatggtttgagatttgtagctaatgat
+tttagctaactcagctgttgaaatgagctgtgattgagatgtatccgggagtttgaatgc
+gctcattttgccacctcagtgattgagatattggcaaagaaagctttaagcattattgaa
+ttagtaggggtagtaatgaaggcagaaggaaacgtttcgggctcggggtcggggtcacta
+ccatcacctgaatctgatgataaggcacttttagctgatttagccgtactgtgatgcgat
+ctggatgcctgatttttacatgacatcagacgcgcgagaaagttagtagcattttgcatt
+ctttgtttaagatgtaaaattttcagtttggcgcatgcgacagacttgcgaagagctgag
+tatgttcctttgagatactcgacaacctcttccatggacgcaggatcgttaaaggattga
+gttgttttacttgaattaatacaccagcgagctctgatagctgccagagtgggttctatg
+gatacagttgctggggttgccattggcttatctcctgtgtagttgctgtatcattgacta
+aactgtgtattacgatacatgaaaatctatcttgatcaatagttgatgatattttgtaat
+atgttgatttttaatggaatcaacgcatatcaacgttgttttttatggtaatacctgctt
+catttaagatccatgtctcaattttctcgtgccattttcgtaacagatctaacggacgac
+ggcgatagtgtttttcggcaagagcgctgggtttgtgtcccataatttgagcaacaatac
+cagtgggaacttcaacccactcggccaaagtaccaaaactacgacgtaaaccgtgaaggc
+tgatatgtggtaactcagccagcactaatgctctgttgtgcgctgaacgcggctcaataa
+ttttgccacttttactgttacttctgaaaacccaaccctccttatttacgtcagaatttg
+gggattgcgctagtacatttaacaattcagaaacataaggagtgagagggatgatacgtt
+caccttcgatcttgtctttaattcgcatgcttgaccatttgaaatctacgtctgaccagc
+gaagcgacgcaatttcttcacgccgagcaccagtgagcaaaagtacttggagataggccg
+atgcaataggattattgaggctacgcacggcactaaaccagctttttagttgttcctttt
+gcaggcaatcatcagctttactcgctgacacgggaaccatttttcttacgttgtaatctt
+gtgccagatcgccaggaatgatcccttgatattttttctgataattactccatttgatga
+aagcacgtagtaggcgataagcgtgagcagtgacggtaggtctattttgcctttctgtac
+tcagccacgctgctatgtaatctggggttagctccgataacggcaggttgagcaaactag
+ccaatggtccagccgaagtcgggccttggcctctttttttactttcgcctccacgactgg
+acaagttaatgtgatcggcaatgtatcgagtagaatatgggcgtttagtttttgcactga
+taccggttctcaattcttgaagatagtcttcccaggcgacggagaaagtcacttttgttt
+tacgtgattctgcctgcagggattctgcttctgcgatttttacagccttagcaattcgtg
+gatctatccctgtatcgatcaatgtttgtaaccgtcttgcctcggctctcgcatcatcaa
+tcttccagtcgttaatgttgccaatagtcatgcgaagggttttccccgcatatacgcttt
+ggaatacaaaggcttttgctccgctagttgctcggcatgccagggttgttacatctgcat
+cccaaagaaaagtttgttttttcccttccggtaaggtgaatctgcgaagtctttcgaagg
+taaatttttgtcttgaaagcgccatttttcggctccagttgagaattgctgtcttacaat
+aatgtaactgctggtgtaagtaaatggagggaataaacatcaacttttgttaatttcaat
+caacgggtttattgctataacttggtgttttataatataaagtatgttgttttgattgat
+tgctcaagtagttaaaaatgcattaacatcgcattcgtaatgcgaaggtcgtaggttcga
+ctcctattatcggcaccattaaaatcaaagagttaccccatatttaaatacaccacgttt
+cctcctgtgccgtatttgtgccattgtaaccttggcaattcatcaaaatactgttctgac
+atcaggcagtgcaggtgcagacatttaagccaattgctgccgccattctttgacgtagtc
+aatcagggcgcggagctttggtgcaatattgcgacgctgtgggaaatacagatagaagcc
+cggaaattgtggaagaaagtcatcaagcagcgatacaagcttaccgctttcaatatatgg
+cctgaaagtttcctgagtggcaattgttattcctccgccggcaagagccagcctcaacat
+cagacgcagatcattagtcgtaatctgcggttcaatcgcaaggtcgaaagttctcccgtt
+ttcttcaaatggccagcgataaggcgcaacctccggggactgacgccagccgatacactt
+atgggtatttcccccggaggcgagaaagcactctccacgcccggccgcaaggatcaggac
+gacgggggcaggcatgaatcctcctcctgatggagacgtacagaggcgacttctgccagc
+acggagagtgccagagtatgcgcatcccgggctttggggaatatcccgacgggtgcccgg
+atttgcgttgtttcctccctggaccatcccagctcgtggagcttttgcagacgtaacgtg
+tgggttcgatagctgcccaatgcgccgagataaaagggttttgcttctcgcgcggcctgc
+aacactggcagctcccggttgagatcatggcacagcaaaatgaccgccgtatcggtatcg
+atctgagcgctggctgaggccggaaaaagatcgaagatatggctgtcatagcctgtggct
+gctgcaagactcgcggttgcctgcgcctcaagagaacgtccgtaaatcatcagcctgacg
+catggcctgaaccccacctcaaagccattgagattccagcccgtccgggtttgcgtgggc
+aggcacaccagcgattgtgcttgcggatcgtagcgcagccccaccggttttctctgttcc
+aggcggttcagcacggcgagcagaggctgtgccgagcgtagtttatggagcgtcagcgtg
+atcccaccgccgcagggcagaacgatgtcaaaccacggcgaaccttcgccatagcgaatt
+tcgcgatcgcggcctgagcccatcatctccagcgcttcaaaagcggcagcggcctccacg
+cagccgccagagacaaaaccgcagtaacgaccatcttcgcgcaccaccatctgcgccccg
+agcgggcgcgccgcgccgccgcgtatctccaccagcgtcaccagcaccgctcctttaccg
+gacattagcgcctctacggcgaagcgcagaatggtccggtggtcatcggtgagaaacgcc
+tgctctggcttatgccagtgttcgtctttgtcaaaaagcgggtatgacattgttcctcct
+taaaccacatccggcagcttatcgagcagcttatccagagtgatgggataatcccgtacc
+cgaataccggtggcgttatacaccgcgttggcgatagccgcgctcacgccgcacaggccc
+agctcaccgacacctttggccttcatcggggaggatatggggtcggtatcatccaggaaa
+atcacctcctgttttgggatatccgcatgaaccggcacctcataccccgccatatcgtga
+ttaacgaagtagcccaaacggtcatccaccgccagctcctccatcagtgccgcgcccatg
+cccatagtcattgcgccaatgacctggctgcgcgcagttttcggattcaggatgcgtcct
+gcagcacacacagcgagcatacgccggacccgaacttctcccgtcgcgctatgcacgccg
+acctccacaaaatgcccggcaaaggtcgactgctggtactctttgctcagtgttccgaat
+tcaatgctctcttccgctgtcagtctgccgcctgcggtggcttcatgtagcgtggcgctt
+cgggtaccgttggtaatcttgccgtcggcaaactgcgactgctcaggatcaaacccgact
+gccgaggcaatcatttcgcgaagcttcatacaggcggcgtaaacgccggaggtggaggta
+ttcgcgccccattgtccaccagaacccgcagaaaccgggaaactggaatcgccgaggtga
+accgcaacctgctccagcggtacgccaagcatttccgctgccgtctgggccagaatggtg
+tagctgccggtgccaatgtcggtcatgtccgtttctacggtaacggtgccgttttgttcg
+aggtgaacccgagcacccgatttttccagcagattattgcgaaagcccgccgcaacaccg
+tggccgactagccactccccgtcgcgcacctgtccgggtgtggcgttgcgctgcttccag
+ccaaatttatccgctccggtgcgcaagcactcgataagctgacggcgagagaagcagcgc
+gtcgggtcggcggggtcaacctgagtgtcattcaggatgcgaaactcgacgggatcgatg
+cccgctttttccgccagttcgtcgatcgcgatttcgagcgccatcagaccgggggcttcg
+ccgggcgcacgcatggcgttcccttccggcaaatcaagcgtggcgagccgcaggccggta
+tgacgattcgccccggcgtagagtaattcgctttgctgtaccgccgtttccggcgtgccg
+ccgggcaggtttccagaccagctttcatgtgagatagcggtgattttcccgctctggtcg
+gcaccgatacgcaagtgctgaagggtggcggggcggtgcgtggtgttattgggaatagag
+gggcgggggagcatcactttaaccggacgtttcaccgctcgggcggcgagggccgccagc
+agcgcatcgcttctcaggaacagcttgccgccaaaccctccgccgatatacggggagata
+atacgcacattctccacgggaactttcagcgtttttgccagatcggtgcggcaccagtca
+atcatctgatttgaggtccagagggtaagcttatttccatcccagacggccatcgaggca
+tgcggctccatcgccatatggctctggtccggggtcgtgtaggtagcatcaatcttcacc
+gcagcggaggtgaaagccccgtcaaagtcaccgacgtttttgtcgggcgtgtcttccggc
+ggctgattgacggcctgtttttcgtccgccagggagtaagctcctttattacggcgatag
+tgtgcctgcaccagcgaggccgccgctcgcgcctgttcgaaggtctcggccactaccagc
+gcaatggcctgatgatagtgctcaatagtggggccgcctaacagcctggcggtgtttttg
+tcgcctttgccgagtgccccggcgttactggcggtaatgacagccagtacgcccggcgct
+ttttgcgcggcgtccgtatcaagggcggtgaggcgtcctttggcaatggcggaaccgacg
+atatagccataggcggcgttgggggcttcttcatgccattcgtaggcgtagcgtgccgtg
+ccggtagttttcagcggtccgtcgatgcggtcatggggacgaccgacaaccttcagctga
+tcgatcgggttttcccctgcgggtttatcaaatttcatgcctgtgccctcgcttcagcca
+gtacggaggcaagcgttcgcttcgccaacaggagtttaaaggtgttttcagcggtgggat
+gggcgctggcgaacagcgtgtcatatacggcctgcgccccctgggatagctgagcatccg
+cagcctcaatgcgccagggcttatgtgctactccgcccagcgcgacgcgcccgctgccgt
+caggctgaataatcgccgcgaccgataccagggcaaaggcgtaggaggcgcgatcgcgca
+ccttacggtagatatgttttccgccgagcggtggaggtaacgtcaccgcaacgataagct
+caccgggaagcagggcggtttcaatgtgcggcgtttttcccggagggtgataaaaatcag
+ccagtgtgatactgcgagtctttccctccggcgtgatggtttccaccaccgcatccagca
+accgcattgcgaccgccatatcgctcggatgggtggcaatgcaggcttcgcttacgccta
+ccaccgcgtgctgacggctaaagccttcaagcgccgcgcagccgctcccgggcaggcgct
+tattgcagggctgattggtgtcgtaaaaataggggcagcgcgtgcgctggagcagattac
+ctgcggtggttgcctgattacgtaactgaccagacgcgccagcgagcagggcgcgggaga
+gtaccgcgtaatcacgacgcacgcgctcgtgagccgccaggtcggtgttccgtaccagtg
+cgccgatgcgcagcccacccgcgtcggtcacttcaatcttatcgagcccgaggccgttca
+catcgataaggtgggtgggcgtttcaatttccagcttcatcaggtccagcagattggtcc
+cgcccgcgataaattttgcgccgggtacgcgctgagcgctaagtgccgcctcggctgggg
+tattcactcgttcataggtaaacgccttcatgattttatctcccccgcagcatcttcaat
+ggcggcaaggatgttagcgtatgcaccacagcgacagatgttgccgctcatacgttcacg
+gatctcatcggcagttgtttctggagcggaaaccaaatcgaccgtgacgtgactgggaat
+gccgtcctgaatctcttttagcaccgctactgatgagcaaatttgcccggaggtgcagta
+gccgcactggaagccatcatgcttgataaaggccgcctgcatggggtgaagattatctgg
+cgaacccaggccttcaatggtggtgatctcggccccctgatgcatgactgcaagcgtcag
+gcaggcattaagcctgcgaccattgaccagcacggtacaggctccgcactgtccgtgatc
+gcaacctttcttggtaccgatcaaatgcagattttcacgcaaagtgtccagtagcgtggt
+tcgggtatccacctcaagctgctcggttttgccgttcaccttcagtgtcaggggcattat
+ctctggcgcgggtgtagctgccggaacgcttgccgccagcgtagaatgaggataaaccac
+ggcggtcgccgctgttgcggcgctcactttaatcagatcgcgacgggtcaaacttaaatc
+gtgcggctcgtgcttcccaacccgattatcttcggggtattcgccttggttgctcatacc
+aggcctccggtattctaaaggggaaaataagagtgcgttgcgagagtgctgatgcttttt
+taaacgttaagcatagtcggcgacagcaggaggattattcttaaaacgcgaatgcagcta
+tgagcccggctaataaattcatgttcgccgggatgttgatgatgatgggagctggtttat
+tgctttagttgtacgatgcaaaaaccaataaggaaacctgtgattttcagctctacatca
+ccctgcaaatctctgtcacttctaatataaaaatagggagaaatgatggagcttatattc
+attggcgattaggaaactatcttgttatacaaaacaatacagttctttacatttgccttg
+ttttatgaatactcctgaagaggtgtataacataatggtacaagcagggtagatatgaat
+atatttgaacaaactccaccgaaccgcagacgttatggtcttgctgcattcattgggctg
+attgctggcgttgtttccgcattcgtgaagtggggggctgaagttccattgccgccacgt
+agcccggtggatatgtttaatgcagcgtgtggcccggaatcattaatcagggctgcaggc
+caaattgattgctcgcgtaattttctcaatccaccgtatatttttcttcgagactggttg
+gggctgacagatcccaatgcggctgtttatacctttgccgggcatgtctttaactgggtt
+ggtgttacgcacattatcttttcgatagtgtttgctgtcggttattgtgtggtcgctgaa
+gtatttccaaaaattaaactctggcagggcttactggcaggtgctttagcccaacttttt
+gttcatatgatttcattccctctcatgggactgacgccacctctgtttgatctcccgtgg
+tatgagaatgtttctgaaatttttggacatttagtctggttctggtctattgaaattatt
+cgcagagatttacgaaacagaattactcatgagccagaccctgagatccctttaggctca
+aacagataatgcattgaatgataaaaatggcgcaaatacagcgccatttttataggttaa
+aaacattgctttttatattctgatgcagatagtcagtgagtatatcgcgctacttcagga
+tgatgtagatccgaagaacgctacagaagagaggcattgttgctggcaaatagaagaagt
+atcgggttttgttacccctgaaaaacgaagccccgctattatcgctggcggggcagtgca
+attaattattgtatgtttataacggtgtcagcccgtatttagcccttgcacgattgcaag
+cctcattgacgactccgttctcaccagacatggcgaattctctgcatgtggacgatcgat
+ttttatatatcgtgcagcaggcatttttgcccggggttcctgcaagggcaatacatcggg
+ggtttttctgattggtaccgctcatgcatcggtgaaaaggggatatttgttcagtgagcc
+tggcgggaatagtaccgccagcatcgtcggcttcggcccagtaaaaagagacgcggaaaa
+atgcacaacaggcaccacacgtcatgcatggattcagattgctcataattcaccagtaca
+gctaaaaatcgtaaagagaacagcggtacatcgtatgtaagaacgtaccgcggttggctg
+gggaactttcgatagtgtgagtattgaatgatttccagccgttaccgattttacgtacta
+attcgtgattaaaccactcgttagcaggctgcctgatacctttccgtgtctcctgaacac
+tatggtgtgcatatgagaaagcccatcgttacaggtgatattgacgatcgcttccacatc
+atttaaacgatttttggggctctgaggtggaattcttccctcgaccgatggataagtctt
+agtccgccgaagggggcttagccggacaggaatcgctaatcttaatgaatttgtcgttat
+agaccagatagtgattccccggctgacgtaactcaggctgatgaaccacgtctcccggac
+gtagataccaggcatcgccttcctcttcggtcgaatcacatcctggcttaatcagtagct
+taaaccatgtgttgccagtgttacttaccgttcctgtcaccttgtcgaaggaccatttaa
+actgaacctgacgtggtcgtactaccagaatggtatccatcaccaccaccggctccgtgc
+tgaccacgccgccggttgggctgcgtcttgtatggttacgagtggggacctcgcgaaatg
+agacccggtagtagcgctcgcggttatcccgtggaccatgatagtaaaatttaaaatact
+cgctctcaccagcctgcaacgccagctggcggggggcgaaaagcagttcaccatccaccg
+gtcgggtgcgcaattcactgctgcccgggctatcaatagcactgatggcaatacggtata
+tccgtgcgcttttgttgttattcactacacgtttgctgacaaagtcagtctcggacggca
+gcgaaaatgtcagattgccgaccgaaatcgcctgtgtcaaaggtgccgccagcatacaga
+ccgctgtcagcagggccttagttaatgttacgccacgtcgcctgaacatgaatctctcct
+gaagcgctgacttcgccaaaccagccgttatcatctaccgtacgcagcgaaatggcgtta
+tccattggaatcgaaaatttgactgtggtcttatccatctgccccacttcgccagagata
+tcagtccacggtgtggtcaaccacagcgcatcggtcatatcccgccagctatcatcgcac
+ccggcatcgtaggtttttgtagctccgttgcgggtaataaaggaaagtgtcgccgggaac
+ggtactttcgccttaccgtcatcggagctgaagacacaataggagcgcccgccaatcacc
+tgcgcgggtccggtcaccttgatcagcacttcgtcggcagctgttttaccgctggtggtt
+acgatatagccgaaatcgagtgccgactcgccgctgccaacatatccctcccgcgacggt
+gtctgagtatattcatcggagataatactgatgctgaaatcacggggtttgataatcagc
+gtgttggaggtagaaaattcataccagccagactccggtgatgtggtgttctgaaagcga
+aagttgaatagatctttggtgttgatatcgctgatcccgaggttcaccatctgcttaaag
+aagttgctcgagaagaaaacatagatcgagtctgcgctcttcatctcgttgaaggtgtag
+taataggcggtattgctcaccggtttccatgaactgccattcagactgaactgcatatcg
+tacgccccgacggccgaggctaacgacgagttggcgatcgccgggaatatatggattgag
+gtgttgctgagtccgtttgtttgcagggtatagttaaccatcttacaacttaatcctgaa
+cggctgccgatggtttgcgtccggcagtcggcgttcccttcgcccagagtcggtactccg
+tcgctgttgataaatacttccgccagcgagtgggtatttatcaaccgtagatttgctgct
+ttcgtatgggtgacgttgcgaacataccagttgccggaggcctgatccttacagcgtgcg
+ccgctgctggcgtcatagttcacagaggtctggcaggcattgatggtcattgtaaagctg
+ctgccgacgggcatttgttgcatatactggtaaaacgcgtctgacaacatgccgtgcatc
+cacttcgcgccgccgctggtcaccgtcgcgccataaaatccactggcgtcggtggtttgc
+ggcaggataagactggtggtcatattacacccagcgtaccagttgatgcagcgcaagcca
+gttaaaggagatgaaactggtgaattttccagccacatatcaaacttccagttggtataa
+aggccggtgttgtaaccgttatcaatgtagccgaggctttgctgatagatggttcctgaa
+ccagtgtattttaaaccggtccagcggttggcaccggtcaggcgcggatccagcgccccg
+ccaggagtgacgaaaaagttgtcgtctgagttgttttcgacaaacacaaactcgcgtgcc
+ggtgcatccgcccaggttgttttgctcactgccgctctgagcgcagttactggccagatt
+agcgcgaaaattatcatcgttattagtaggttaactctcattctcttctcctgtctgcgt
+caccgccgcccacgatgagaggccgctgcagaccacatcaccgacccagacggcaccgcg
+cgcctggttgagttccagagccacttcgcaggttttattgccactgtagcgaaaatcgat
+agtggggtatttcttatccacgtccatgacaaactcgccgttttcatcggttcgggttcg
+gccgatatggttgttaatccgtgcgttagccagcagtgtgccgtcttccgcacggatacg
+accggagacggtaaccatctgcttcacctctggctcaatgacagcgacattgcctggata
+gagagtcagacgacttttgcggccgctgacgatatcgtaactgtcgagtgagtttttgct
+gttctgtaactccacctcatatcttccatagggagagagcgggagatagttacgcttgcc
+gttaagcgggaaaatccgcccgttgattttggcgctgatctgaccgtcgtcctccagccc
+ggtgttgaatatcaccccagcgttgccatcagtccgcccgctggcagcaatgtttttacc
+ctgccagccgacgctgccattggcggtcaagttggtattgacgtagccgtccgccgcgct
+attgacgttcagcgttccgctggcgtaacgagcgtcgaattgtgcatacgccccgccgct
+gagggttttgtcatcaccggtatcgccggagatggcacgtgacagattggcaccaacagt
+gcgaatggttccttcatcaaactgtttgcgtgctgacaggtttgccatggtgtagccgtt
+ttgatgagtcatccctgcgctaaaccagttgcccagtggtagcgagagatcgagagcgat
+atattttcctgtattggcgttgctgtcgccgttgttatagcgctgaataccggcccgcag
+gccaagcgaaccaaaggtaccgctgtagacattttgatagtaatctgccgtgtaataatg
+gctgttgtaacggcggtcatcattgtagctgatgctgaatgtgcccagcttcgaccacag
+tgagttcaggttgagtgtgccgccgattgcacggttgtcggcatcgctacgtcgcaattg
+attgccaatgcgggttttttcctgattaacccacagcgaactaaagcctcccggtagagt
+ggcgctgatgctgccgatgctgctccatgagctgtcactggccagcatattttgcaggtt
+aacgttgatcgcccccccaagcggcagcgtcagacgggtttcacccaccgcctgattatc
+gtatccatatcccgttgccgcccagctaagcgtactcaatgagccggaggtcgaggcacc
+tgctagccaactctctttagctggtcgcgtctttttcccgttttccgaccagcgatccat
+atgaaagctaccgccccatacctgccacgccagtggtgcaccgacgccgcgcccccggct
+aaacagcttattgacccgctgggtgcgtttgctgatcacgcgaccgttaacgatcacctc
+aacttccacatcgtaaatcccgtacggtagaccccgggtatccacttcatgattgcccat
+agtgaagttctgaacgcttagtagccgcccatcacgggtgagatgtacttcgcccgccgc
+cggtaaaaaggcgatcactggcgtggctgactggctgctgtcgaagatggtggagctggc
+ctggtttccccaggaaaggccgtaaatcttccctgctgaaatggcggtcatcggccctaa
+ggactgcaagttccaggtgtcgagcattccaccggcaaatcggtgaccggcaaaatcgcg
+ttcatacatcgctttatataattcactgtcctgttgaccgctaccgatcccgtacagcga
+gccgtcgagcaccacatgatgttcgcgcagtgcagtaacgttattcagcgacagatagct
+ggatgtgttgctcccgccgttacgcaactggttgttatagacgcccaagttatagctcag
+attactgctgagggtgttaacactggactgcccgatgtcttcgctacgtgagcgtagtac
+ggtgcccagcgcttcgcgcttgaccactagctgcagcagcagttggcgcaagctgagatc
+cagctgcgcgttgtcagtcagggggatggtaagggcctcattgaacggggcgttggccag
+agccatcagctgctgtcgagtttgttcgctgacactggcgttatcttcactctcttccag
+ctgtattttccggatgcgtagctgtccatcgtccagccagataaaagcgctgccgattcg
+ctgatcgtcctggcgaccctggctaccggcgagatgaatatagagcgggacgctcatgcc
+gtcctgaagcgcctgactgaaggcctgcggaataatcaccccacctatttgctgcgcact
+tatgtcagcagcgctggcatcgggctgaacgaacaaaaagaccatgccgaaggcaaactg
+ggctttcagtcctggggagaaccgtcgtaaaggcattgtcgttatccatctgcacagcta
+tctatttcacgggaatgaacttatcaccctgccaaagtgcaacccgtcctttgttatccg
+cagtgtccacgcgggtaaaacgacgcgacttgcccggcatcaggtagtaattctctttac
+actccttaccgttggcggctttcaggcaaggtccgtaggcgaggatccgcagcgtcgcat
+ttcctgtatttgtcagggagccgttggcgtactgaaagtggtagttcgcctgacgagggg
+cgacgaccagaatggtgccgatgcgggcggaagcagtggccacagcgctgcggttggcat
+tatcgcgctgcgcatcactgagggcctgatcaaaccagacaatgcggtagtagcgctctt
+tttcatctgcgggtcccttatagaagaagcggatcacttcgctggcttgggcgggtagca
+gcaagctggcgggagtgagtagcaactcatccggcttgtccattgagataacctgcccgt
+cgtcaagcggtgaagagagccgttcgagacggatattgataaggcgaccactgtcggtac
+tgtttttgatcgttttgctcagcgtgctgctgtcactgttcataaacgatgatatatcgc
+cgacatccagcgcctgggccggagatattccggaaaacagcagagcgagaggcagaaggt
+gctttttcataacaattccgtccaggaataaagcaggggggctacccctgctggtacatc
+agagagattaactggtccaggtcgcgtcgaactgtacgctaacgtcgccgctccagatgc
+cttccggtagagtgctgtaatctgttactgcggtggtaccattggtggtaccgctgatga
+tggagaaggtgaaaccatcctgtgcggtggtacgattgctggcattgtaaccgttagcca
+gcgggctaaggttgccgcccagtacgccgttggcggtatcgatcatcacggtatcgccag
+ttttttcgactgccgcgccgttataatccacgcccacattcagtgtggaacctgaggtat
+ccaactgggttaatgtgttggtgataagacgtgaggtcagtttaaaggcggtagccgttg
+agtcaccctcgatagccacgtcaaatagacctttctgtgagttaaaacctttaatgcctt
+cggcatactggaacgccaggctaccgagtggcgtcacaaccagcttactggtggtgtctt
+ttttggctgttgccgaccaggtcgctacagcctgagctgttacgtcagcagcctgcgcca
+cacccatgccggtaaacaccgttaccagagctattgccagaaccttttttttcattgcat
+ttcttcccgagttgaattgaggacgtgatgtcccagtgagtcattttttaaaactaactt
+gcctggagtttactgaaccaacttatatatttttgagtacagcttggcctcagcattacg
+ccgatgggtatacactgtcttcacactacaattttcaattctggcaatcgatttaggttg
+cattccctgggccgtcatgcggataatttccatttcccggtccgtgattttatctttctt
+aatatcttttctcaggaacctgccattaatcacatagaccagttcttttctaatatcacg
+actcagtccagcgtataccacgcccctaatattgctattgtaataccaataatttgctaa
+ggcctctgactttctggccgcaatcaatacgacctgtttcccctttaccgcggataacca
+ttcattatcacggtttataaattcagataaagaatccgtactgagattgataaacacgaa
+atcttttctaattttctccaacgatagataaattaatctgtcgatatccacaatcagttc
+agatagtcctttatagaagtaggcgtcatggggagaccagatgtatttatcagaacggtt
+ttgacattccatatggtttttaacctcatagtccctactgtaatcactttgccatgtcac
+tactttccaaacctgtaatttttacaggtgcattcagtttccttagtaaaccggaagtaa
+ataagatacgtagtacatatcaataaaggttaaacgagattaagtttaattattttcgat
+tgggcttaaatttatgttttttttcccgatgagtgtcaatatgtgaacggaaaaggaatt
+caatggttaagtcaatatttagaaaaactgaaaatattgcttttttgataagaagaaaaa
+gacatttggtttcataaggttattggcaatataacgttcaattcttacttgcattttata
+ttggtcaggaactttgccctgaagtgttaggaatagtcttaatgcgctgtgtgatggact
+agtaaaaaaacaagttttaagggtaagggatagaatataaaactatgatgagctgtcatt
+gaagatgatttgccaatcagtaagatattttaatggattaacatgccgcacaaaatggtt
+acaggtgttcattccaataagtaatggaaaattgaacgggcgtatgtacgtcatctgttc
+ggtaagcccccaagagccagattaagtgaagttaaacgaaggctgccagctgtcacagga
+acgatggcctttttgtcagggcactgcattcagttatctgtgcgcgttactctaactggc
+actcgaacgtcggcgacggggttaccggtggatcagactgttcctgtggcgtaaacgttt
+ttatgttagtaccaacagatttaccacatttatcatcttaacagtttgagtgaaaatgca
+ggctgcgccgcaaagggaggagactgagtggcgtgttcagtctaaaagagggttgatgcc
+agcatacaggggcgaagctggtcaacaagtcaacattaagataatggaatattcggagag
+aaacgtcaggcagttggcctcaaatgaacaggaagaatatatccccaggaaaattaatgt
+tggtgttataaacacaccaacattaatccgatctgattattaatcagacaaatatcgtta
+atccgtcgaattttgaatcaacgttttttcttacgaccctgaacggccttaaaacgtgga
+ttagatttacaaatcacatatagccgtccttttcgcttcacaatctgacagtctggatgg
+cgttcttttgcggtacgcagagagttaagaactttcatcacgccccctttttcgtgctaa
+caaaacgaccaaaacgttgggtgaatcgtgcaacatttccttctgatgccactgttctca
+gcttccctgtatagaacgggtgcgatttagaagagacatcaattgtcacgtatggatacg
+ttacgccatccagctcaatctcacggtctgttttgatagtcgagccgattttaaagtact
+catcaacactggtgtcgtggaacaccacagtacgatactcaggatggatattgggcttca
+tcatttttacctgttatgttataacataaccataaagatacatgctcatccggatcattt
+caacactcaatccctgtgactctttgtggatgtggaattttcgcaacggggaactctggc
+attgttagcagccattggtgacgctcccataaacgcctggatgagtgattgatgatggtt
+ttgctgagagtatggatttttcgagaatggaggttatctccactttactggccgataatt
+tatcgcagtatgattgattacctgacagcgtgtattcctctcccacggatataataatta
+cttacaaaaaagggagaggatgcatattttaaatatcactgaagtgaacagtttatttcc
+gttattaatagaaatggagaaataaataggcgtattctacaattgcgacaaaaacaacga
+tattaatcagtttatgactgatttgctgtactttattctctttcattggtacttcctcgc
+tttaaaaaagagtgcacttcgtaagtgcccttatataaataacgagtttggtcaaccaat
+tttttgacatgtatcacaaatttgaatagatgtattacatcaactatcttttattgcacc
+aacgtcattgatatatgtcgcctgaagtcagttccgggaatgagtctgatctcaagactg
+gcccagtccgggcgttgattggtgctgaggagcatatcgcatctcatcataatgtcgtat
+ctcctggggtgttatacaagatatcgttgttggtgacctgggagaggaattgagttctat
+taaaccgtcaactatgccggatacatactggattacactgcaggcacgccttatgagaga
+acgtgccgcagtgacgggttaattatctgaaagaatttgtgaggctgtatcggttactca
+ttgatttgatagttttactctcgggagaataatagatatttaatccattaacggaaacca
+gccagttcctttcgatgcctgaatttgatcccatagtttatccggaatggttaattcatg
+aacaagttgtgttatcgttcatgagaagcataacgtaaagggaaaagctcgattagacgg
+cagaatttgtcaggggttatgaacgaaattcataaatctgtttgagtgttgcgatgggta
+gtgcaagttcgatatctccgcaatttacagtccgatgaaggaaaatgaatatccataaaa
+aatatattggtttatcctggcatatatacctatttcgacgtatttccaatagttttaatt
+aaaggcaggtcattgttattcactctgaatagtgaattattcactgtccgcagagtaaga
+aatataacttaggtatctatttaatgacttgcacaaaaagctaaattttcccccataaat
+aaaaatataatcccgcgcccaaccacctgatgagtggctataggcactggatatattagg
+tggcggtgcactttcttacataaaggtatttccttttctgcggaaaaggaaatcgggaaa
+tccccggtttttctgacaagcagacgccattatttgtgtctgcctatgttcgttaattcg
+ttcatcaggaaattatctcaatgtcacattataaaacaggtcataaacaaccacgatttc
+gttattcagttctggcccgctgcgtggcgtgggcaaatatctctgttcaggttctttttc
+cactcgctgtcacctttaccccagtaatggcggcacgtgcgcagcatgcggttcagccac
+ggttgagcatgggaaatactacggtaactgctgataataacgtggagaaaaatgtcgcgt
+cgtttgccgcaaatgccgggacatttttaagcagtcagccagatagcgatgcgacacgta
+actttattaccggaatggccacagctaaagctaaccaggaaatacaggagtggctcggga
+aatatggtactgcgcgcgtcaaactgaatgtcgataaagatttctcgctgaaggattctt
+cgctggaaatgctttatccgatttatgatacgccgacaaatatgttgttcactcaggggg
+caatacatcgtacagacgatcgtactcagtcaaatattggttttggctggcgtcattttt
+caggaaatgactggatggcgggggtgaatacttttatcgatcatgatttatcccgtagtc
+atacccgcattggtgttggtgcggaatactggcgcgattatctgaaactgagcgccaatg
+gttatattcgggcttctggctggaaaaaatcgccggatattgaggattatcaggaacgcc
+cggcgaatggctgggatattcgtgctgagggctatttacccgcctggccgcagcttggcg
+caagcctgatgtatgaacagtattatggcgatgaagtcgggctgtttggtaaagataagc
+gccagaaagacccgcatgctatttctgccgaggtgacctatacgccagtgcctcttaccc
+agcaatagtggacacgcggctaagtgagtaaactctcagtcagaggtgactcacatgaca
+aaaacagtatcaaccagtaaaaaaccccgtaaacagcattcgcctgaatttcgcagtgaa
+gccctgaagcttgctgaacgcatcggtgttactgccgcagcccgtgaactcagcctgtat
+gaatcacaactctacaactggcgcagtaaacagcaaaatcagcagacgtcttctgaacgt
+gaactggagatgtctaccgagattgcacgtctcaaacgccagctggcagaacgggatgaa
+gagctggctatcctccaaaaggccgcgacatacttcgcgaagcgcctgaaatgaagtatg
+tctttattgaaaaacatcaggctgagttcagcatcaaagcaatgtgccgcgtgctccggg
+tggcccgcagcggctggtatacgtggtgtcagcggcggacaaggataagcacgcgtcagc
+agttccgccaacactgcgacagcgttgtcctcgcggcttttacccggtcaaaacagcgtt
+acggtgccccacgcctgacggatgaactgcgtgctcagggttacccctttaacgtaaaaa
+ccgtggcggcaagcctgcgccgtcagggactgagggcaaaggcctcccggaagttcagcc
+cggtcagctaccgcgcacacggcctgcctgtgtcagaaaatctgttggagcaggattttt
+acgccagtggcccgaaccagaagtgggcaggagacatcacgtacttacgtacagatgaag
+gctggctgtatctggcagtggtcattgacctgtggtcacgtgccgttattggctggtcaa
+tgtcgccacgcatgacggcgcaactggcctgcgatgccctgcagatggcgctgtggcggc
+gtaagaggccccggaacgttatcgttcacacggaccgtggaggccagtactgttcagcag
+attatcaggcgcaactgaagcggcataatctgcgtggaagtatgagcgcaaaaggttgct
+gctacgataatgcctgcgtggaaagcttctttcattcgctgaaagtggaatgtatccatg
+gagaacactttatcagccgggaaataatgcgggcaacggtgtttaattatatcgaatgtg
+attacaatcggtggcggcggcacagttggtgtggcggcctcagtccggaacaatttgaaa
+acaagaacctcgcttaggcctgtgtccatattacgtgggtaggatcataaagtcctcggg
+tcgttgtccactcttttggcatgtcagcatattcacataccgtaccagcaaaagtttcaa
+ccgtgagcaaatcgaccgattttgttgacggttcaaacgtggaaacgaaatagatatccg
+tcttaaaattcttcatacatctggctaaatgatgacgtcgtagtttgacttcttcatccg
+gtgatttattcgacacttcaatgtcatatttaaatgagttgccaaaaataggtgtctcag
+gaaagttgattaatctacactccgtcttttgctgttgacgtattaaaaaagaagggaaga
+tatttgcgagatcccaataatcacggtggcggtattcacggggagagcagccgaataact
+ttttaaattcgcggctgaatgactgctgtgaatcaaaatgcaaagagagtgcaatatcaa
+gcatagatttcgcggtgagccggacaagaatggcggcacgacaaagccttcgtttgcgaa
+tgtattctcccaaaggcacatgcatgaaatttcggaacagaagctggatgttgcgtctgc
+tgtagccagatttctgtgcgatatcttcgattgaaatagggtgctcaagattgcactcaa
+tccactccaggagctgctgtagaatcttctgcctgatcatctcattctccgttaattctt
+tgtcatatcgcacattttcgttataccctgggccctaagtgtatcaaaaatagcaagggc
+gaaggcaaaagcactggtagcgtctgcttcgttgtccccgaaaatagagaggtttcagtc
+ctacattattaatgaattttttgcataagtgatatcaaaatccacatactactttgaggt
+tacgttttaacgtagactcattgttcatgcctaatggagggactgacagtggaattttcc
+gtatagtctgcttcagagtattgcagatgcccatcaaaaatcgatttctcactgacagat
+aaagaaatggcacaaattagttcgcttgatttgggttatgttggggagtcggtaaaacat
+tttaatcctgaatttgttcgtggttgtcttgctgtaaaaatacatgattgatattaatca
+tgtattttacctaagacgacaaaaaccttttaacagggagtgatattgatcttcactctg
+tcatatctccggtaatatggcgtcaggcttcatcatcagaaagggggcctgacgcctgaa
+aaagtgaacaacagacagtgttcggattatcaatattcagtttttaacgttgaactggat
+tcattactgcgttgtttaagaatttcccgcgccgaatctgccattatcatgactgcacct
+gccagcatcagagtatctttcaataccaggcgaccagcaccggataaataagggaaacca
+tgatgagcgtcacccaatgcgggtacccatgcctccggggtggtgattaaaaatgagagt
+gttaccagcggcgtggtaaatgccatcagtcctcccaataaacctaaccagcgattgaca
+ggattagccaaaaccagcagagcaataatcacctccacgacgccaagaccgttggaaaaa
+ccataggtattattggccgtttgccatgcccttgcttctggtttgtattcgccttcgtga
+gtcagatactgtttatagtcttccgggtgttcataaaagaacgacattagtggactgttt
+gcgacgaatggtgtaatgctgtctgcctcgtaagggacaaactttaataacccaatccac
+ataaaaacaattgcaatactcagacgaatcaatgtcaggccaattttatctccccgactt
+aacaggtgcaggtatttttccattgtgaacatccttatttatacaatactgctgttgcgg
+ttgaattattatcaattcgcatcgatgtgactttccaggatgaagcattatattttctgg
+ctatatcagcaatggtatcctccagaactgtcggtgatgctgatactgacgagacgctga
+tatgtttcagaattattttatcatctgcattggtggaaaatgccataacgccagataata
+gtgttgcaaataaaacagattttttaaacatataaaataccatcaatgaagtgattaaga
+agttatagagtaacagagaattaataagattcttttctctgagacgccagaatatttgtt
+ctggcgtctgattttgagtttatttgactaatgaaaatagatcattgagtgattcgctca
+tcgacggatgagtaaatatctgatcgcgtaatatgctataaggcagcccggcatccatca
+ccattttcactatattgatcatctcgtgggagtcaacacacagcagtgatgcccctaaca
+tacgttgggttttattatcaacaatcgcttttaataccccacgagtatcattcatcactc
+tggcacgcggaattgcagctacaggcaatgtcaccacctgaatatcagcaccactctctc
+tggcttgttcttctgtcataccaaccctggacaggggcggtgtcataaatacggaataag
+gcacatttttccgatcatcagtactacgtttgccttcacccagtaactcatcacgtacaa
+tgcggtaatcatccagtgatatgtaagtaaattgcagcccgccggtaacatctcccatcg
+cccaaatattgtctgcggtggtatgtaatcgcttgtcaacgacaattgccccgcgctcgt
+ttactgcgataccggcattttctggatgtaacgaagcggtagccggttgacgaccggaag
+ctattaacagtgcatccaccgccagttgggcgtgctcgctatgcacttgcacttgatttt
+catggtgactgattcgctccacatgggcattgaggataatatcgacgccctgatcgcgta
+aaatcgtcgcgatattatcagcaatatcccgatcttcccgaggcaaaaacagcgaagctg
+cttctaaaatggttaccttgctgccaaaattagcgaacatagaggcgaactcaacgccaa
+tatatccgccgcccaaaatacctaaatgcccaggcaattcttttagattaagtaatccgg
+tgctgtcatatactcctggcgtggtggtaattccaggaattggcggaaccacggtttgtg
+caccggtattaataaaaattttctcgccatgaatttccagatttccctcaggccgatgaa
+cacgcaggctatgattattgataaactccgcctggccgtcgatcacgtcgatattgggca
+tatccgcaagattatgaaaattcttattacgtaaaaaattaaccacttcatttttacgct
+gtatggcacggacaaaatctgtgtgctgctgtgcgtcatgaaccaatgttttggttggga
+tgcagccgatattaatacaggtcccgccatacattgcatttgattgttcgatgagagcca
+ctcgccaacctgcttttgccagcgtgacggctaatgtttttccagccttgccaaaaccaa
+taatcactgcctgatatttattcatgatgatttcctgtcgaaacgcgttcatttgacatc
+atgactatagacgcaaaagagcaaataacatttcttcacaacgcttgatattttgtctta
+tcgtctgatattttctttttcttaatcagaatcacaaaacaaaaatcatgattaactatt
+tgatggtattagattagttatttactaagattgttggtgtttgtaatcaaaaaccactca
+ggagtctgatatggatgcccttagccgtttgttgatgcttaacgctccacaaggaacgat
+cgataagaattgcgtgttaggaagtgactggcagcttccacatggtgccggggaattatc
+ggttattcgttggcatgcgttaacgcaaggagcggcgaagctggaaatgccgacggggga
+gatttttacattacgcccgggaaatgtggtcctgctaccacaaaattcagctcatcgcct
+gagtcatgtcgataatgaatcgacctgtattgtctgcggcactcttcggttgcaacattc
+ggcgcgttattttttaacgtctttgccggaaacgctgtttttagcaccggttaaccacag
+cgtggaatataactggctgagggaggcgatcccgtttttacaacaggaatccagatcggc
+aatgccgggagtggatgcactgtgtagccagatctgcgctacattctttaccctcgcggt
+gcgtgagtggattgcacaggttaatactgagaaaaacattctcagtttgcttctgcatcc
+acgtcttggtgcggtaatacagcaaatgctggaaatgccaggacacgcctggaccgtcga
+atcgctggccagcatcgctcacatgtcccgggcaagttttgcccagcttttccgtgatgt
+ttccggaaccacgccgctggctgtattaacaaagttgcgtctacaaatagcggcccagat
+gttttcccgggaaacgctccctgttgtggtgatcgctgagtcagtaggctatgccagtga
+atcatcttttcacaaggcgtttgtccgcgagtttggttgtaccccgggagaatatcggga
+aagggtcagacagcttgcaccctgaataaaaccgccagaaatcagggcaaagataatccg
+cattccgggagttgtgagcctttcaactatttctatttccaacggtggtttgggctttat
+atattttttctgatggactctagctcagtttttaaataaaaatgcaaactaaattgcttc
+aattaaataaaatcccgactattacttgatacgtgattattgtcggtgatttttttgtac
+accatcagtgtatatctcaataacccctgaataagtagctctgaataggtataagggatg
+tagccatttttaaatggatttcttatgccaaaaatgatcgtcgatttccccataaaatgt
+gagcgatgccgaaagaaataaaattagttattgcatttgacgtttggatgaaagattatc
+atttgtcatacaaatgaggggtggtatgttgctagccaattaaaaaagaacgccatattt
+attgatgattgatcccccggtgggggggaaacatcgggcataaatgggcatgaagtaatg
+gagtattagttgtgaatgtcaatttctttgtcacctgtattggtgacgccctgaaatcaa
+gaatggcacgagactccgtgctgctactggaaaaactcggctgtcgcgtaaatttcccgg
+agaaacagggatgctgcggtcagcctgcgatcaatagcggttatatcaaagaagcgattc
+cagggatgaaaaatctgatcgccgcactggaggataacgacgatcccattatttcaccgg
+ctggctcttgcacctatgccgtaaaaagttacccgacgtatctggcggatgaacctgaat
+gggcatcacgtgccgcaaaggttgccgcgcgtatgcaggatctcacctcttttattgtta
+ataaattaggggtagtcgatgtaggtgccagtttgcaagggagagcggtgtatcacccat
+cttgtagcctggcccgtaagctgggagtgaaggacgagccacttacgctgctgaaaaatg
+tgcgtggactggagctgttgacctttgctgaacaggatacctgctgcggatttggcggca
+cgttctcggtcaaaatggccgaaatatccggcgagatggtgaaagaaaaggttgcgcacc
+tgatggaagtccgccctgagtatttaattggtgctgacgtgagttgcctgctaaacatca
+gtgggcgattacaacgggaagggcagaaagtcaaagtgatgcatattgctgaagtgttga
+tgagccgctgaggatataaagatgtcgatcaaaaccagtaatacagattttaagacacgc
+atccgtcagcaaattgaagatccgatcatgcgcaaagcggtggcaaacgcgcagcagcgt
+attggggcaaatcggcaaaaaatggtcgatgaattggggcactgggaggagtggcgcgat
+cgggccgcccagatacgtgatcatgttctgagtaatctcgacgcttatctgtaccagctc
+tcagaaaaagtgacgcaaaacggcggtcacgtctattttgcaagaaccaaagaagacgct
+acccgctacattttacaggttgcccaacgcaaaaatgcccggaaggtggtgaaatctaaa
+tcgatggtgaccgaagagattggtgtcaatcatgtgttgcaggatgctggcattcaggtg
+attgaaaccgatctgggtgaatatattctccagctggatcaagatccgccatctcatgtt
+gtggtcccggcaattcataaagatcgccatcagatccgtcgagtgctacacgaacgtctg
+ggctatgaggggccggaaacgcctgaagcgatgaccttattcatccggcaaaaaatccgc
+gaagatttcctcagtgctgaaataggtattaccggctgtaatttcgcggtggcagagacc
+ggttcggtatgcctggtgaccaatgaaggtaatgcgcgaatgtgtaccacgctgcctaaa
+acgcatattgcagtgatgggaatggagcgtattgcccccacgtttgccgaggtagatgta
+ttgatcaccatgctggcgcgcagtgccgttggtgcacgtttgacgggatacaacacctgg
+ctgacaggaccgcgcgaagctgggcacgttgatggtcctgaagagtttcatctggttatt
+gtcgataacgggcgttctgaggtgctggcctctgaatttcgggatgtgctgcgctgtatt
+cgctgcggggcttgtatgaatacttgtccggcatatcgccatattggcggtcatggatat
+ggctctatttatccagggccaattggtgcggtgatttctccgctacttggcggctataaa
+gattttaaagatttaccctacgcctgctctttatgcacagcttgtgacaacgtgtgtccg
+gtgcgtattccgctgtcaaaactgattttgcgtcatcgtcgggtgatggctgaaaaaggg
+atcaccgcaaaagcagagcaacgggcgataaaaatgttcgcttatgccaatagtcatcca
+ggattgtggaaagtcgggatgatggccggtgctcatgcggcaagctggtttatcaatggc
+ggcaaaacaccactcaaatttggcgcgattagcgactggatggaagcacgcgatcttcct
+gaagctgacggagagagtttccgtagttggtttaagaaacatcaggcgcaggagaaaaag
+aatggataatcgaggcgaatttttgaataacgttgctcaggcactgggtcgcccgctgcg
+acttgaaccgcaagcagaagatgcgccgcttaacaactatgctaacgagcggcttaccca
+acttaaccaacagcagcgctgtgacgcgtttattcagtttgccagcgatgttatgttgac
+gcgctgtgagctgaccagcgaggcgaaggcggcagaagctgcaatacgtctgtgtaaaga
+gctgggagatcagtcggtcgtgattagcggtgacacgaggctggaggaattggggattag
+cgaacgtttgcagcaggaatgcaatgccgttgtttgggatccggcgaaaggtgccgagaa
+tatctcgcaggcagagcaggctaaagtgggtgttgtgtatgctgaatatggtttaaccga
+atcgggaggcgtggttcttttttccgccgccgagcgcgggcgttcattgagcctgctccc
+ggaatattctctttttatcctgcgtaaaagcactatcctgccgcgtgtagcgcaactcgc
+agaaaaattgcatcagaaagcgcaggccggtgaacgaatgccttcctgcattaacatcat
+tagcggccccagttcaacggcggatattgagcttatcaaagtcgtcggagttcatggccc
+ggtgaaagcggtgtatctgattattgaggattgttgagagagatatgaagtctggacata
+aacctgaagaaggcatacgaggttgaaaatagcgtttaggacaacctgacttaaccccgt
+tccgtcatggttatgctgctcttctgtaaatatcctggtattaccaatgccaggatattt
+acagtgaaaaagacaggcatccattcctgaaaacgggttcccttcccggtcattgtcact
+tcagctttatacaggcactctctatcagaatgttgtttattactgcccagagttttgttg
+gtattcatctaccatttttttgacaaggcaaaacattacagaaattacaatgcttagaaa
+aaatcccagagccaggcaaatggcagcagggtatttattttttatttctggtgagcttat
+agttacacagccatcaccgttcggatacaatgaccagttcctggtcaggtatatcatttt
+tgtataaagctcactgttaattgctgaaggcgtttgtatctcatcgagaacttgcctgcc
+attatgatattctgacgcataccatttgataatagaggcctgcacgcgagatatttcctc
+ttcagcagttggtaaagctctcttatctcctgaccattccagccttatttctctgttctt
+gacatctgggctggtgtgaaaaaatgtagtaattcgctgaataacatcttcagtcattgt
+agtctgacaggcaaaattattattgctatcacagctaacaagtatacctggcgttgtctg
+gtttatttttaggctgtaaatcacttttatattgtctttattgatatacagaaacaacag
+caccatagccatacatatagccataataaaaaggataacacgaatctttttcttcagata
+aaataaaatctcaatcagatcgatatcctgtttgatttgttcacgcataatatatccaga
+gaataaaatctgtcgcagataaggttgtattaatagtctgtatcaggaatgttcgggtta
+aatatcagcaaaaagcccgcatcatgaatactggatatgaagcatgagagttacctcagt
+gtttatataaggattcggtccccctctctggaacggtaactctcaatctgatcggttcct
+gcgttagttcacatcacgactcattttttcgctctcaccggcatcccatttgccacaaaa
+tatcccgccgtgctcctcggcagcgcttcctgtccacgaatcatatccgctattttctcg
+ccaatcataattgtcgtggcgttcaaattcccggtgataatctgcggcataatcgacgca
+tccaccacacgcaggccttctaacccgtgtacgcggccttcgccgtcaaccacggacatc
+tcgtcgtaacccattttgcaggtaccgcacggatggaaggcggtttcggcgtggttacgc
+acgaactcatcgagctgttcatccgtctggcattcgacaccggggctgatttcgcggcca
+cgatactgatccagcgcgggttgatgcatgatctcgcgggtgatgcgaattgcgtcgcgg
+aactcctgccagtcctgctcgtgcgacatgtagttaaacagaatcgccggatgctggtgc
+gggtcgcgggatttaatccgcacatgcccacggcttggcgagcgcattgagccgacgtgg
+cactggaaaccgtgctctttcactgcattcgagccgttatagttaatcgctactggcagg
+aaatggtactgaatattcggccacgcaaattcctcacggctgcgaataaatccacctgct
+tcaaagtggttgctggcaccaacgccagtgccgccaaacagccactccgcaccgattttc
+ggctggttccaccactgcagggcagggtagagggaaaccggttctttgcactcatattgc
+agatacatctccagatgatcctgaagattttcgccgacgccgggtaattcatgcaccagc
+ggaatatcaaactccgccagcagttcagcgttgccgacgccggagcgttgcaggatctgc
+ggtgaggcaatcgcgcctgcacataacagcacttctttgttggccgttgcgcgggttggg
+atggtgctgtcgccttccagccattcgacgcccaccgcgcgtttgccgtcaaaaatgatg
+tgatcggtcatagcgtgagtacgaatggtcaggttaggacgcgatttggcctgatcgaga
+tagccacgcgcggtgctggcgcgacggccctgcggcgtgacggtgcgatccatcggacca
+aaaccttcctgctgataaccgttgagatcgtccgtgcgcgggtagcccgcctgcacgccc
+gcttcaatcatcgcttcaaacagcggattgacgccgggtttggaggtagtgacgctcacc
+gggccatcaccgccgtgatagtcgttttcacccatatcgcgagtctcggccttgcggtag
+tagggcaggcagtcgaggtagctccagttctccagaccgggttcttgcgcccagttatcg
+agatccagcgcattgccacggatgtagcacatgccgttgatcagcgacgatccacccaga
+cctttaccgcgtccgcactccatgcggcggttattcataaacggttcaggttccgtttca
+taggcccagttgtagcgtttaccctgtagcgggaatgccagggcagcgggcatctgggtg
+cggaagtcaaagcgatagtccgggccgcccgcttcaagcagcagcacggaggtattcgga
+tcttcagtcagacgggtagcgagaacgttgccggctgagccggcaccaataatgatgtag
+tcaaattgcaaataaacctcctggttagaatatggactggaatttagccatctcaacctg
+gatggacttcacctgggtgtaactctggagcgtcatcacgccgttctcgcgaccaatgcc
+ggagtgtttgtagccgccaacgggcatctctgccggggattcgccccaggtgttgatcca
+gcaaatacccgcttccagctgatgaatgacgcgatgcgcgcggttcaggtccgctgtcac
+gatgcccgccgccaggccgtagtcggtatcgttagcgcggcgaatgacttcgtcttccga
+ctcgtaggtcagaatggacatcactggcccgaagatctcttcacgcacgatggtcatatc
+gtcgctgcaatcggtgaacactgtcggtgcaacccatgcgccgttatcgaagccatcgcc
+tttcagtacatcgccgccgcacagtacgcgcgcgccttcctctttgcctttggcgatata
+gcgcagcacgttatcgcgatgcgggaagctgaccagcgggccgaagttagtttgcggatc
+gaaaacgtcgcccgcgcgaatgcgctcaacgcgcgccagaattttctgctcaaatgcggc
+tttgcatttcgccggaacgaagacgcgggtgccattggtacacacctgaccggagctgaa
+gaagtttgccatcatggcgatatcggcggcgagatcgagatccgcatcatcgaaaacgat
+cagcggtgatttaccgcccagttccatggtcacttctttcagggaagaggccgccgagtt
+agccatcacttttttgccgctggcgacaccgccggtaaatgacactttggcaatgcccgg
+atgctcggtcagatattgcccggtctccgcgcccacgcccggcaacacgttaaatacgcc
+gtccggcaggcccgcttcgctgtaaatttcagccagctttaacgcggtaagcggggtaac
+ttcgctcggtttgaaaatcattgcgttgcctgccgccagcgccggggcggatttccacag
+ggcaatctggatcgggtagttccatgcgccaatccctgccactacgcccagcggttcgcg
+gcgggtatacacaaaggacgtttcacgcaacgggatctggctgccttccagcgccgggat
+cagcccggcgtagtactccagcacgtccgcaccggtaacgatatcgacggttgaggtttc
+cgaatatgcttttccggtgtcgagggtttccagttttgcgagttcgtcattgcgttcacg
+cagaatatcaacggcccgacgcagaatacgcgagcgctccatggcggtcatcgacgccca
+gattttttgcccctgctgggcgcttttcacggcgcgatcgacatcctcgcgcccggcggc
+ctgcacggtcgccagcacgttaccgttggccgggttaatggtctcgaaggtgcgaccgct
+ggtggcggaggtataaccaccatgtatataaagctgctgttctgccattcgggacatcac
+gtctcctcggttaatcggtgggtagatgctgagtgataaagtggcgggtcagggaattag
+cgcgggttttatccagcggtttgccgctcagagccgcgcgcagccataatccatcaatca
+gcgcggccaggccgtagcccgcttcctgtgcctgttcgcgcggcaattcgcgacgaaact
+cgctcaccagattcgacagcaagcggcggctgctgacctgctgtaaacgatagagcatcg
+gctgatgcatactgctggcccagaacgccagccaggctttcatcgccgcactgctcacct
+gcgtttcatcgaagtttccgccaacaatcgcctgtaatcgctgctctgcactgccctgcg
+gaagtgcatgtaatcgattcaaaaccgcgtcacgcagctgactggtgatatcgcgcatgg
+ttgcttccagcagaccatttttgtccctgaaatagtggctgatgatccccgtagaaacgc
+ctgcacggcgggcgatctgcgcgatcgttgcatcgtgcatgcccacttcatttattgctt
+ccagtgtggcgtcgatcagttgtctgcgccggatcgactgcatccccaatttgggcattt
+tcgccactccattcatcagcggtgtttatctattaaagcggttattgattggacgttcaa
+tataaaatgtgtcttaattgttacgaatttgattttaaatagtaacaataacagtgggga
+tactggatgacagacctttcacacagcagggaaaaggacaaaatcaatccggtggtgttt
+tacacctccgccggactgattttgttgttttccctgacaacgatcctgtttcgcgacttc
+tcggccctgtggattggccgcacgctggactgggtttctaaaaccttcggttggtactat
+ctgctggcggcaacgctctatattgtctttgtggtctgtatcgcttgttcgcgttttggt
+tcggtgaagctcgggccagaacaatccaaaccggaattcagcctgctgagttgggcggcg
+atgctgtttgctgccgggatcggtatcgacctgatgttcttctccgtagccgaaccggta
+acgcagtatatgcagccgccggaaggcgcgggacagacgattgaggccgcgcgtcaggcg
+atggtctggacgctgtttcactacggcttaaccggctggtcgatgtatgcgctgatgggc
+atggcgctcggatactttagctatcgttataatttgccgctcaccatccgctcggcgctg
+tacccgatcttcggtaaacggattaacgggccgataggtcactcagtggatattgcagcg
+gtgatcggcactatcttcggtattgccactacgctcggtatcggtgtggtgcagcttaac
+tatggcttgagcgtactgtttgatattcccgattcgatggcggcgaaagcggcactgatc
+gccttgtcggtgataatcgccacgatctctgtcacctccggtgtcgataagggcattcgc
+gtgttatcggagcttaatgtcgcgctggcgctgggattgatcctgttcgtattgtttatg
+ggcgacacttcgttcctgcttaatgcactggtgctgaatgttggcgactatgtgaatcgc
+tttatgggcatgacgctcaacagttttgccttcgaccgtccggttgagtggatgaataac
+tggacgctcttcttctgggcatggtgggtggcatggtcgccgtttgtcggcttgttcctg
+gcgcgtatctcgcgtgggcgtaccattcgccagttcgtgctgggcacgttgattattccg
+tttaccttcacgctgttatggctctcggtgttcggcaatagcgcgctgtatgaaatcatc
+cacggcggcgcggcatttgccgaggaagcgatggtccatccggagcgcggcttctacagc
+ctgctggcgcagtatccggcgtttacctttagcgcctccgtcgccaccattactggcctg
+ctgttttatgtgacctcggcggactccggggcgctggtgctggggaatttcacctcgcag
+cttaaagatatcaacagcgacgcccccggctggctgcgcgtcttctggtcggtggcgatt
+ggcctgctgacgctcggcatgctgatgactaacgggatatccgcgctgcaaaacaccacg
+gtgattatggggctgccgttcagctttgtgatcttcttcgtgatggcggggttgtataaa
+tctctgaaggtagaagattaccgccgtgaaagtgccaaccgcgataccgcaccgcgaccg
+ctggggcttcaggatcgcctgagctggaaaaaacgtctctcgcgcctgatgaattatccg
+ggcacgcgttacactaaacagatgatggagacggtctgttacccggcaatggaagaagtg
+gcgcaggagttgcggttgcgcggcgcgtacgtggagctaaaaagcctgccaccggaagag
+ggacagcagttgggtcatctggatttgttggtgcatatgggcgaagagcaaaactttgtc
+tatcagatttggccgcagcaatattcggtgccgggctttacctaccgcgcacgcagcggt
+aaatcgacctactaccggctggaaaccttcctgttagaaggcagccagggcaacgacctg
+atggactacagcaaagagcaggtgatcaccgatattcttgaccagtacgagcggcacctt
+aactttattcatctccatcgtgaagcgccgggccatagcgtgatgttcccggacgcgtga
+ttgttattgcataaaaccgcgccatgtctgcatatggcgctgtttctcctacctcttgat
+acgttatatctatacggttaagcccttagtatctattgatgattaccagacaacagataa
+taaaaaagaaaagaactattgcagcccaaaacctacatttgggctgttgcgaatgttcaa
+taagtttagtcttatttaatgtaaatattgctgatcatttgaaatgacgcattattcatg
+agaaatgtgtatcgtaaatcaactgaaattaacgcaaccatttgttatttaaggtttaat
+tatctgtgtgtgatattttattgaatgttttaaatattgtttttattggcattgctataa
+tattggttatcatttgctgaatggattcagtcttaatgagtgggtttttaagggacaggc
+atagagtaatgatacgtatgcataaccaacatctttactcattatgtcattgaatgttga
+cgctatgtgtttatgagggagaggtattttcagttgatctggattgttaaattcatataa
+tgcgcctttgctcatgaatggatgccagtatgtagtgggaaattataaatattgaaatag
+tccaactacttctttattaccaaaaatgagtatctgaattttaatattgcattcttgcgt
+gattatctcctgagtttgacttgtgattacctttttaaggtatttagcgtaactgttttt
+gagcgagcatcagaggtaaagataatcttcttgatagtgatgtgggatgttatacgtatg
+gcatcgctgatgtttatggttaccccttatgtgtgctcaggaatcgacaggtaatcactc
+atactgaacagcgataaaagataaaggtgtgttcatgaattcatgtgattttcgtgtttt
+tctgcaagagttcggtacaacggttcatttgtcattgcctggtagcgtatccgagaaaga
+acgactgctactcaagctgctgatgcagggaatgtctgtaacagaaatatcacagtacag
+aaatcgcagtgcaaagacaatttcacatcaaaagaaacagctctttgagaaactggggat
+tcagagcgatattactttctggcgcgatattttctttcagtacaatccggagatcatatc
+cgccacggggagtaatagtcacagatatattaatgataatcactatcaccatatcgtcac
+gcctgaagccatcagtctggcgttggaaaaccacgaattcaaaccgtggatccaaccggt
+tttctgcgcgcagactggcgtactgacgggctgtgaggtgcttgtccgctgggaacatcc
+acaaacgggaattatcccaccggatcagtttattcctctggcggagtcatccggtcttat
+tgtcataatgacccgccaactgatgaaacagactgcggatattctgatgccggtaaaaca
+tttgctgccggacaatttccatattggcatcaacgtctcggcgggttgttttttggcagc
+gggatttgaaaaagagtgtctgaacctggttaataaattaggtaacgataaaatcaagct
+ggttctcgagctaacggaacgtaaccctattccggtaacgccagaagccagagcgatatt
+tgacagccttcatcagcacaacattacctttgcgctggatgactttggtacgggttatgc
+gacctatcgttacttgcaggcgttcccggtcgattttattaagatcgataagtcatttgt
+gcaaatggcgagtgtcgacgaaatctccggtcatattgtggacaatattgtcgaactagc
+gcgtaagcctggtctgagtatcgtggcggaaggggtagaaacccaggagcaggcggattt
+aatgatcggtaaaggcgttcactttttgcagggctatttgtactctccgccagtaccggg
+taataaatttatctctgaatgggtaatgaaagcaggtggttgatgtaaaccgctattcac
+agcgcatcgggaggttggcagcgattaattctcccgatgcagtaaatcctgatagatccc
+cgttaatatgccatttggcgcaaattgttttttaatccactgcgtcacctgacccgtagc
+agaatgctgagtcgccagtaacatgcgcgaatcctggcgcggattatggatttgtcgggt
+aaccagcagggattgcgtcatcgcctcacggaccatgtaatccggcaaaaaaccaattcc
+ttcacctaaaatctggcactgacatttggtgttgaaatctggcaccagaattgactcctg
+cccgtgcagcaaccagcccacttttttattaatcgtatgcgcggtgtcctccaccataat
+attagggtagagacgcagttggctttcggcgatgggttccggcacaaaggctaacgggtg
+atccggggcgatagcaaaagcccagcgaatcgcgccaatttcagtgtaatcaataccgcc
+gccgtccagtagtgtatcgggtgcgccgatggcgatattggcctgattattaataatcgc
+atcccagacgccgttatacacttcggtggtgacggtaatctggcaggtaggaaactgctt
+tttcagcacctgtaacaagcgtgcggtgtgtttgggcgtataaagcagctgattaataca
+aatgcgcacacgcgcttctatgccctgcgaaatagtatcgattctgcgtttgatggcata
+aaaatcattcagcaggtcggtagctttgcggaaaaaataacgcccggactccgttaactc
+aatgctgcgggtactgcgagtgaacagcaccacatccagccccgtctccatacgcttaat
+ggtgtagctaatggcggaagtggttaaacccaactcttctgcggctttactgaagctgcc
+aaaacgcgcagcggtagtaaatgccaacagattctcttcggtaaaaattgagttcattaa
+accattctcgccattatctactatgaatttctccagctatgactgtagaggtatcggtta
+aagatagataatcatttttgaataacttttaatacccgtcgcgtttagtcgtcgcttcgc
+ttaatttttgtccaccatattctgaaattacccccacgcagttacccgccagaaaaccca
+gtaacgtcaccgtccagttcatcccgctggcaaaaaacagcgtcatgccgagaaagccac
+cgggaataaaggacagtaaccagaaacgcccttgccagaccactaccgccgagaagggta
+cggtagtaattacgctcgcccagaacgcggacagtccacttacagaggccagccaaccag
+cagtcagcgcggcgaaaaacgcccacaccatcccggaataattaaccgccagacttctga
+taaaccccgatttaccgccgcctgcggcataaaaactgcaaaaggcgacgaagccaatgg
+ttcctaataattcccatccttgagagagcccgacatgtgaagacactaactgccaaagcc
+ctgcacaaataccgacggtgacacccgttgccgtgagtccgttcatcttgttcccctctg
+gttagacatggacgaaagctactcttacatgtgcagactatagagaaataaaacctgatt
+gagtgaaagggtatcgggtcaaagaaacaaatattgcactaccgcacactgcgaaaagat
+tgttgaatattattcaacaaaaaggcgagatacggcgaattaaatttaagcgggttcttt
+tatcagattatcgttgctattctcaattcatcgaaaacagccacaaaaaccaggggaatg
+tgaatgagtataaaaaatctacctgccgactatttattggctgcacaacagggtgatatc
+gataaagtaaaaacctgccttgcgctgggtgtcgatattaatacctgcgatcgtcagggg
+aaaacggcaattacgctggcaagtttatatcagcaatatgcttgcgttcaggcattaatt
+gatgccggagcggatattaataagcaagatcatacctgtttaaatccttttttaattagc
+tgtctgaacgatgatttaacgctactacgaattattttaccggctaaacccgatcttaat
+tgcgtaacccgttttggcggtgtcggcctgacgcctgcctgtgaaaaaggccatttaagt
+attgtaaaagagcttttggcgcatacggagattaacgttaaccagaccaaccatgtaggc
+tggacgccgctactggaagcgattgtgcttaatgatggtggtattaaacagcaggcgatt
+gtgcagttattgctggaacacggtgccagcccgcatctgaccgataaatatggcaaaacg
+ccactggaactggcgcgggaacggggctttgaagagattgcgcagttactgattgccgca
+ggtgcataaaccgggaggcttgctatcaacacaccagaaagacggtgtgtgtgggcgcta
+actgcggatgcggattttctggcgcagcgggggcaaggacaggttgaacaggtctttgcc
+agagcggtaaatatcgcactcccggctcgccagcagttgctgacgctgctttgtgaagag
+tacgacaatgcgccaaacagttgtcggttggcactcactcactttgatgatctgttccgg
+catggtgataaggttcagtttgacgatcaaggtattacggttggtcaacatcttcatata
+gagatgagtcgttgtcggcgttggctgtccccaaccttgcaaatgaccgctgtgaatttt
+caccttatcgcctggctacagtggcacgacattattcatcagcacctgggggaaaatgaa
+accctgtttaattatcgcggcgataatccgttttatcaggcgttaaataaagaattacat
+attaaacgacgggcagttattcaggccgtaaacgataaacaaaatatcgcctcagcggtc
+gccagtatgatggggttagggattggccttacgccatcagccgacgattatttaacaggt
+ctggcgcttattttatttattcccgggcatccggcggaaaaatacaaagaggaattttat
+ctcggtctgcaacgcggcaaaaataataccacattattaagtgccataacgctggaagcc
+gcattacaacaacgctgccgggaaaatattcatcgttttattcacaacattatttatgac
+atccctgggaacgcaactcaggcaatagaaaaaattaaacatattggctccagttccggc
+tgcgacatgctgtatggcatggccgatggttgtgcgctgagccaaacctacggagggaat
+tatgtcagttaaaatagtcattaaaccgaatacctattttgattctgtctcgctgatgtc
+tatctccacgcgtgcaaataaactcgacggcgtcgagcaggcatttgtggcgatggcgac
+cgaaatgaataaaggcgtgctgaagaatttaggactgctgacgccggagctggagcaggc
+gaaaaacggcgacctgatgattgtcatcaatggtaaatcgggtgcggacaacgagcagtt
+actggtggagattgaagaactgttcaacaccaaagcgcaaagcggctcgcacgaggcgcg
+ttacgccactattggcagcgccaaaaagcatatcccggaaagtaacctggcggtgatttc
+ggtcaacggtctgtttgccgctcgcgaagcgcgtcaggcgctgcaaaacgatctcaacgt
+gatgctgttttccgataacgtctcagttgaagatgaactggcgctcaagcaactggccca
+cgaaaaagggctgctgatgatggggccagactgtggcacggcgattatcaacggcgcggc
+gctctgttttggtaacgccgtgcgtcgcggcaacatcggtattgttggcgcatccggcac
+cggcagtcaggagttgagcgtccgcattcatgaatttggcggcggcgtttcgcaactgat
+tggcaccggcgggcgcgacctgagcgagaaaatcggcggcctgatgatgctcgacgccat
+cgggatgctggaaaacgatccgcaaactgaaatcattgcgcttatctccaaaccgcctgc
+gcctgcggtggcccgcaaagtgctggaacgtgcgcgcgcctgccgcaagccggtggtcgt
+ctgcttcctcgatcgtggcgaaacgccagtggatgagcaggggctacagtttgcccgcgg
+caccaaagaggcagcgctaaaagcggtgatgctctccggcgtgaaacaggaaaatctcga
+cctgcatacgcttaaccagccgttgattgcggatgtgcgtgcgcgtctgcaaccgcagca
+gaaatacattcgtggcctgttctgcggcggcacgctgtgcgacgaaaccatgttcgcggt
+gatggaaaaacatggcgatgtctacagcaacattcagcccgatccggaattccgcctgaa
+agatatcaaccgcagcatcaaacacaccttcctcgactttggcgatgacgacttcaccaa
+tggcaagccgcacccgatgattgaccccaccaaccgcatcagtcgcttgatcgaagaggc
+gcgcgatccagaagtggcggtgatcgtgatggattttgtgctcggatttggatcgcatga
+agatccggtcggctccaccatcgagacgatcaaagaagcgaaagcgatcgccgctgccga
+aggacgcgagttgatcattctcgcctatgtgctgggtaccgatcttgatacgccatcgtt
+agaacaacaaagccagatgctgcttgatgccggagtgattctggcgagcagcagcaccaa
+taccggattgctggcgcgtgaatttatctgcaaaggggaggaagcctgatgagccagtca
+ctgtttagccaaccattgaacgttattaacgtcggcatcgccatgtttagcgatgacctg
+aaaaagcagcatgtagaagtgactcaactcgactggacgccgccggggcagggcaatatg
+caggtggtgcaggcgctggataacattgccgattcgccgctggcggacaaaatcgccgcc
+gctaaccagcaggcgctggagcgtattatccagtcgcatccggtgctgattggttttgat
+caggcgattaacgtggtgccgggcatgacggcgaaaaccattcttcacgccgggccgccg
+atcacctgggaaaaaatgtgcggcgcgatgaaaggcgcggtcaccggagcgctggtgttc
+gaaggactggcgaaagatctcgacgaggcggctgaactggcggcttccggggagatcacc
+ttctcgccgtgtcacgagcacgactgcgtgggatcgatggcgggtgttacctcggcctcg
+atgtttatgcacatcgtaaaaaacaaaacctacggcaacatcgcttataccaacatgagc
+gagcagatggcgaagattttgcgtatgggcgctaacgaccagagcgtgattgaccgcctg
+aactggatgcgtgatgtgcagggaccaatactgcgcgacgcgatgaaaattatcggcgaa
+atcgatctgcgcttaatgctggcgcaggcgctgcatatgggcgatgagtgccataaccgc
+aataacgccgggacgacactgctgattcaggcgctgacgccggggattattcaggcgggt
+tattccgtcgagcaacagcgcgaagtgtttgagtttgtcgccagcagcgactacttctcc
+ggcccgacgtggatggcgatgtgtaaagcggcgatggatgcggcgcatggcatcgaatac
+agcaccgtggtcaccaccatggcgcgtaacggcgtcgagttcggcctgcgggtcagcggc
+ctgccggggcaatggtttaccggcccggcgcagcaggtgatcggcccgatgtttgccggt
+tataagccggaagattcggggctggatatcggcgacagcgccatcaccgaaacctacggt
+attggcggatttgctatggcgaccgcgcccgctatcgtcgcgctggtgggcggcacggtg
+gaagaagctattgatttctcccgtcagatgcgcgaaatcaccctcggtgaaaaccccaac
+gtcaccattccgctgctcggttttatgggcgtgccgtcggcaatcgacatcacccgcgtg
+ggtagcagcggcattctgccggtgatcaacaccgccatcgcccataaagatgcgggcgtc
+ggcatgattggcgcgggcattgtgcatccaccttttgcctgcttcgagaaagccattctt
+ggctggtgcgaacgttacggcgtctgacctacatgttcatgccggatgcggcgtgaacgc
+cttatccggcctacgaatggcgcaagaatctgtaggcctgataagcgtagcgcatcaggc
+atttgtcaccattgccggatgcggcgtgaacgccttatccggcctacgaatggcgcaaga
+atctgtaggcctgataagcgtagcgcatcaggcatttgccaccactgccggatgcggcgt
+ggacgccttatccggcctacgagtggcgcgagaatctgtaggcctgataagcgtagcgca
+tcaggcatttgtcaccattgccggatgcggcgtgaacgccttatccggcctacgagtggc
+gcgagaattgtaggcctgataagcgtagcgcatcaggcagtctggcgttggtcataaccc
+catcaccctctgtagcggacataacaacatgaaagagcttgtggtcgttgccattggtgg
+caacagcattatcaaagataacgccagccagtcgattgagcatcaggcggaggcggtgaa
+agccgtcgccgatacggtgctggaaatgctggcttccgattacgacattgtgctgaccca
+cggcaacgggccgcaggtcgggctggatttacgccgtgcggagattgcccacaagcgcga
+agggctgcccttaacgccgctggcgaactgtgtggcagatacgcagggcggcatcggcta
+tctgatccaacaggcgctgaataaccggctggcgcgtcacggcgagaagaaagccgtcac
+cgtggtgactcaggtggaagtggataaaaacgatccaggttttgcccatcccaccaagcc
+catcggcgcattctttagtgacagccagcgtgacgaattacaaaaggcaaaccctgactg
+gtgttttgttgaagatgccgggcggggctatcgccgcgtggtcgcctcgccggaaccgaa
+acgtattgtcgaagcacctgccattaaagcgctgatccaacaaggttttgtcgtaattgg
+cgcgggcggcggtggaattccggtagtgcgtactgacgcgggagattaccaaagcgtgga
+cgcggttatcgacaaagatctctctaccgcgctgctggcccgtgaaattcacgccgacat
+tcttgtgatcaccactggcgtcgaaaaagtgtgtattcactttggcaaaccgcagcagca
+ggcgctcgatcgggtggatattgccaccatgacccgctatatgcaggaagggcatttccc
+gcccggcagcatgttgccaaaaatcatcgccagcctgacatttttagaacaaggcggcaa
+agaagtgattatcaccacgccggaatgcctgcctgcggcgctgcgcggcgaaacgggcac
+tcatattattaaaacgtaaggacgtaagatgaaagaaagcaatagccgccgtgaatttct
+gagccagagcggtaagatggtcaccgccgccgcgctgtttggtacctctgtgccgctcgc
+ccatgcggcggtagctggcaccctaaactgcgaagcgaacaacaccatgaaaatcactga
+cccgcattactatctcgataacgtgctgctggaaaccggttttgactacgaaaatggcgt
+ggcggtgcagacccgcacggcgcgccagaccgtggagattcaggacggcaaaattgtcgc
+cctgcgcgagaacaagctgcatccggacgccacgctgccgcactatgacgctggcggtaa
+gctgatgctgcccaccacccgcgacatgcatattcatctcgacaaaaccttttacggcgg
+gccgtggcgctcgctcaatcgtccggcaggcaccaccatccaggacatgatcaaactcga
+gcagaaaatgctgccggaactgcaaccgtacactcaggagcgggcagaaaaactgattga
+tttattgcagtcgaaaggcaccaccattgcccgcagccactgcaatatcgaaccggtttc
+cggcctgaaaaatctgcaaaatttgcaggcggtgctggcgcgacgtcaggcgggctttga
+gtgtgaaatcgtcgccttcccgcagcacggtttgctgctgtcgaaatctgaacctttaat
+gcgtgaagcgatgcaggcgggggcgcattacgtcggcggcctggacccgaccagtgttga
+tggcgcgatggaaaaatccctcgacaccatgttccagattgcgctggactacgacaaagg
+cgtcgatattcacctgcacgaaaccactccggcaggcgtggcagccatcaattatatggt
+tgaaacggtagagaaaacgccacagctgaagggcaagctgaccatcagtcacgcctttgc
+gctggcaacgctcaacgagcaacaggtagatgaactggcgaaccggatggtggtgcaaca
+aatttctatcgcctcgacggtgccgattggcacgctgcatatgccgctcaaacagttgca
+cgacaaaggcgtaaaagtgatgactggcactgacagcgttatcgaccactggtcgcctta
+tggtctgggcgacatgctggaaaaagccaatctgtacgcgcagctctatattcgtcctaa
+cgaacagaacctctcccgctcgctgtttttagccactggcgatgtattgccgctgaatga
+aaaaggcgagcgtgtatggccaaaagcgcaggatgacgccagctttgtgctggtggacgc
+ctcctgttccgccgaggcggtggcgcgtatctcgccgagaaccgcaacgttccataaagg
+gcaactggtgtgggggagtgtggcaggttgatgcgcatttgaaacgcctgcaacggtgaa
+tagtaagagatttaagccccagggagtggggcaatctgaatatgagtgtgtcggcagaaa
+tggacattatctttgaggaatatgcccttattgacgttgtgtagataactatttgtctac
+gtgaaaagatcatcagttttgccgattttagtcttttacagatagcaaatatcacactta
+caggcgctcgccttatggggaacgttgctgctctgtttcattcaggctcgcggcatgttg
+gggctggatcgggtggtttaaatattggctatattcaatggacgcgttttgccgcgatga
+catatcaggcgttgccaaatacacatagctaatcaggagtaaacacaatgaagatcaaag
+ctgttggtgcatattccgctaaacaaccacttgaaccgatggatatcacccggcgtgaac
+cgggaccgaatgatgtcaaaatcgaaatcgcttactgtggcgtttgccattccgatctcc
+accaggtccgttccgagtgggcggggacggtttacccctgcgtgccgggtcatgaaattg
+tggggcgtgtggtagccgttggtgatcaggtagaaaaatatgcgccgggcgatctggtcg
+gtgtcggctgcattgtcgacagttgtaaacattgcgaagagtgtgaagacgggttggaaa
+actactgtgatcacatgaccggcacctataactcgccgacgccggacgaaccgggccata
+ctctgggcggctactcacaacagatcgtcgttcatgagcgatatgttctgcgtattcgtc
+acccgcaagagcagctggcggcggtggctcctttgttgtgtgcagggatcaccacgtatt
+cgccgctacgtcactggcaggccgggccgggtaaaaaagtgggcgtggtcggcatcggcg
+gtctgggacatatggggattaagctggcccacgcgatgggggcacatgtggtggcattta
+ccacttctgaggcaaaacgcgaagcggcaaaagccctgggggccgatgaagttgttaact
+cacgcaatgccgatgagatggcggctcatctgaagagtttcgatttcattttgaatacag
+tagctgcgccacataatctcgacgattttaccaccttgctgaagcgtgatggcaccatga
+cgctggttggtgcgcctgcgacaccgcataaatcgccggaagttttcaacctgatcatga
+aacgccgtgcgatagccggttctatgattggcggcattccagaaactcaggagatgctcg
+atttttgcgccgaacatggcatcgtggctgatatagagatgattcgggccgatcaaatta
+atgaagcctatgagcgaatgctgcgcggtgatgtgaaatatcgttttgttatcgataatc
+gcacactaacagactgaaaaaattaataaataccctgtggtttaacatattaacttcgct
+ctccacttaactttttagttaaggagagcgaaataatatcaaagtagcagtaaaacctat
+aacgtaaatttaaattgttaaattaacgccctccagtacacaatacttcacacgttagtt
+atgagcgatttctgatagtgcctggtttaatcagagctttattatctgcgacgtttattt
+ttatttaagagagatcgcgatgatatcattaaaagctccgcacaataatttgatgccata
+tacgcaacaaagcatacttaatacggttaaaaacaatcagttaccagaggatatcaaaag
+ctccctggtttcctgtgtcgatatattcaaggttttgattaaacaatattatgattatcc
+ttatgattgtcgtgatgatttagtcgatgacgacaaactcattcatctcatggctgccgt
+acgagactgtgagtggtcagacgataacgcactcaccataaatgtgcagtttaatgattt
+ccctggattttatgactggatggattaccctgatcacccggttaagtttgtttttcacat
+acttgaaaatcaaaaagggacagtttgggtatatgaccaggatgatgcgtttcttgatat
+taaagcaaacgtgcaggctggacgctttaccgggcttaagaaattagtgcagtttatcga
+ttcagtgcgaacagattgcaaatgtattcttcttgaataccatatgcctttgctgagaat
+tttccctaaagggaaagagtgtatgcatgtggaaaaatggcttcgcgaaatgtcgtctat
+tccggagacagacgcgcccattaagcaggcgcttgcgcatggattattattacacttaaa
+aaatatctaccctgtttttcctgaatcactggtgatgttattgctctctgttctggacgt
+aaaaacatacagagatgatgcgcgattaaatgaatggatatctaatagagtgcaggaatt
+aggtgacagatattatcctgtaaataagcacgttaaaatccgctacactctttagttcag
+aaagggttccacctgcaagttgttattccacctgagagtgaatcgcaatgcaggtaatca
+tttcatctgtatatctgtatgccaactggcattccatctcttttttcgccgatattttgt
+tgtgatcggcgacacttcgcttaaaaaagcaccagtagtggtttcgcagccatgcggtgt
+ataaaaaatgatctcatgcagatgttttgtgaatgtgttggttgacattcatatgaaaaa
+aatcataattccatcatgtttgtgtggggtcttttctgtatcttacgcatcgcactcaag
+cctgacagaaaatatgctgtaaggctcatatcaaaaaccgccattagctcatcaggaaga
+gcagacgacaaccaggattgttgtatggtacggggttcgaggcctcgatggcggtccaac
+ttttcaaaactcttctgaatcagatccccttattatcatccctgcaaagtggaacattgc
+cattgtttggctattcaggatggggcagaccaatgaaaaaagcccacacaggggagagtg
+ggctgaaatgggaagctaaagactcaagtaaacttatcggaaataaggaccacgcattac
+gggggctatcatcgccgatggccgtgattcggcaaatcaggttgattacgtagagagtaa
+attatctgctcaccgctgcgtcaccccttcgtaaatcaggcgtagcgcgaatacaccaat
+aattgcaccaataacccgactggcaacgcgttgcatacgcccataagcacgacgcacagc
+gggcaaagaaaacgcctgactaagaaaaactcgccagataattgatgcgagcacaatccc
+cgcccaggccattaaacgtgcccatgttggtgtttcggcatttaatgttactgagaaaat
+actgataaaaaataaaacggtttgcgggttagagagatcggtaattaatccgcggcgaaa
+aaagacataccagggggcgctaatcggttgttgtagtgtgctcatttgcggtgttgactg
+gcggcgcatgctgcaccacgcaaaccataagagataagcgccgccgacgattctgataag
+cgaaaaaatctcctcacactgcgtaattagcgttgcaagaccaaacaaacccaacccgga
+ataaaatgcatcgcccagcgccacgcccagcccggtcagcacccctgcgcgtcgaccgga
+agccaggctggtttgtactaccacaaagagattggctcccggattaaaaaaagtaatcac
+gaacagtcctacggtcaggtaaacggcatgcaaaggatccatagtgatttcatccataaa
+taagtgaactaactgcatcatatttctaccaaaaataatcgggtgcgagagagatcacaa
+agtgtcttatttccggttactggcgtttatgccctgactgaactaattattaatcaaccc
+aataatgtgggtgggtgatagtgtgataacaactctggagccgtaatatgaaaataatct
+ctaaaatgttagtcggtgcgttagcgttagccgttaccaatgtctatgccgctgaattga
+tgaccaaagcggaatttgaaaaagttgaatcgcagtatgaaaaaataggtgatatttcaa
+ccagcaatgaaatgtcgactgcagatgcaaaagaagatttgatcaaaaaagcggatgaaa
+aaggggctgatgtgttggtactgacctccggtcaaactgacaataagatccacggcacgg
+caaatatttataagaagaagtaattctgaatcctatgtaaacatctccgatgcgtaagtt
+tatcggtgatcatctattgaaatttatgccggataaagcgttcgcgctgcattcggcagt
+tcagcttttcagccgccgccagaacgtcgtccggctgatgcctaaataattcgccgctgc
+tgttttatcgccattaaatttctccagtgcctgttgtggtgtcagtaagcgtggagcggg
+agttttcgccgactcgcgcgccagttccggcagtagcagttgcataaactgcggcgttaa
+atccggcgtcggttccacacttaaaaacagcgccagtcgttccatcatattgcgcagttc
+acgaatattgcctggccagtcgtagtgcagcagcacagtttcacttgcctgtaacccctg
+gcgtaatgcagcagaaaatggggcggagagcgccgccagagacactttcaaaaagctttc
+cgccagcggaagaatatccgccacccgctcgcgcagtggtggcaattgcagacgcaaaat
+actcagccgataaaacagatcacggcgaaaacgtccttgctgcatatcttcttccagatt
+gcagtgagtggcgctaatgacccgtacatctaccggaacaggctgatgcccgccgacgcg
+ggtgacctctttttcttccagcacccgcagcagccgggtctgcaaaggtagcggcatttc
+gccaatctcatccagaaacagcgtaccgccgtgggcaatttcgaacagcccggcgcgacc
+tccgcgtcgcgagccggtaaacgccccttcctcatagccaaacagttctgcttccagcag
+cgattcggcaatcgccccgcagttgacggcaacaaacggatgcgactttttgccctgtcg
+cgcatcgtggcgggcaaaatattcccgatgaatcgcctgggccgccagctctttgcccgt
+ccccgtttccccctcaatcaacaccgccgcactggagcgggcatacagcaaaatagtctg
+ccgtacttgttccatctgtggtgattgaccgagcatatcgcccagcacgtaacgagtacg
+cagggcgttgcgggtggcatcgtgagtgttatggcgtaacgacatgcgcgtcatatccag
+cgcatcgctgaacgcctggcgcacggtggcggcggaatagataaaaattccggtcattcc
+ggcttcttctgccaaatcggtaatcagccctgcgccgaccaccgcttcggtgccgttagc
+ttttagctcgttaatctgcccgcgtgcgtcttcctcggtaatgtagctacgttggtcgag
+gcgcaaattaaaggttttttgaaacgccaccagcgctggaatggtttcctgataggtgac
+aacgccgatagaagaggtgagttttccggcttttgccagtgcctgtaacacatcgtagcc
+gctcggtttaatcaaaataactggcactgacaggcggcttttcaggtacgcgccgttaga
+gccagccgcgatgatggcgtcacagcgttcgtttgccagtttcttgcggatgtaggtcac
+tgctttttcaaagccaagctgaataggggtaatgttcgccaggtgatcaaactcgaggct
+gatatcgcgaaacagctcgaacaggcgcgttacagataccgtccagataaccggtttgtc
+gtcattaagccgtggtggatgtgccatagcgcaccgcaaagttaagaaaccgaatattgg
+gtttagtcttgtttcataattgttgcaatgaaacgcggtgaaacattgcctgaaacgtta
+actgaaacgcatatttgcggattagttcatgactttatctctaacaaattgaaattaaac
+atttaattttattaaggcaattgtggcacaccccttgctttgtctttatcaacgcaaata
+acaagttgataacaaaggatgggctatgtctctacactctccaggtaaagcgtttcgcgc
+tgcactgactaaagaaaatccattgcagattgttggcaccatcaacgctaatcatgcgct
+gttggcgcagcgtgccggatatcaggcaatttatctttctggcggtggcgtggcggcagg
+ttcgctggggctgcccgatctcggtatttctacccttgatgatgtgctgaccgacattcg
+ccgtatcaccgacgtttgttcgctgccgctgctggtggatgcggatatcggttttggttc
+ttcggcctttaacgtggcgcgcaccgtgaaatcgatgattaaagccggtgcggcaggatt
+gcatattgaagatcaggttggtgcgaaacgctgcggtcatcgtccgaataaagcgatcgt
+ctcgaaagaagagatggtggatcggatccgcgcggcggtggatgcgaaaaccgatcctga
+ttttgtgatcatggcgcgcaccgatgctctggcggtagaggggctggatgcggcgatcga
+gcgtgcgcaggcctatgttgaagcgggtgccgagatgttgttcccggaggcgattaccga
+actcgccatgtaccgccagtttgccgatgcggtgcaggtgccgatcctcgccaacatcac
+cgaatttggtgccacgccgctgtttaccaccgacgaattacgcagcgcccatgtcgcaat
+ggcgctgtacccactttcagcgttccgcgccatgaaccgcgccgctgaacatgtctacaa
+cgtcctgcgccaggaaggcacgcagaaaagcgtcatcgacaccatgcagacccgcaacga
+gctgtacgaaagcatcaactactaccagtacgaagagaagctcgacaacctgtttgcccg
+tagccaggtgaaataaaaaacgcccgttgattgtattcgacagccgatgcctgatgcgtc
+gctgacgcgacttatcaggcctacgaggtgcactgaactgtaggtcggataagacggatg
+gcgtcgcatccgacaaccgatgcctgatgcgccgctgacgtgacttatcaggcctacggg
+gtgcactgaactgtaggtcggataagacgcatagcgtcgcatccgacaaccgatgcctga
+tgcgccgctgacgcgacttatcaggcctacggggtgcactgaactgtaggtcggataaga
+cgcatagcgtcgcatccgacaaccgatgcctgatgcgccgctgacgcgacttatcaggcc
+tacggggtgaactgaactgtaggtcggataagacgcatagcgtcgcatccgacaacaatc
+tcgaccctacaaatgataacaatgacgaggacaacatgagcgacacaacgatcctgcaaa
+acagtacccatgtcattaaaccgaaaaaatctgtggcactttctggcgttccggcgggca
+atacggcgctctgcaccgtgggtaaaagtggcaatgacctgcattaccgcggctacgata
+ttcttgatctggcgaaacattgcgaatttgaagaagtggcgcatctgctgatccacggca
+aactgccgacccgtgacgaactcgccgcttacaaaacgaaactgaaagccctgcgcggtt
+taccggctaacgtgcgtaccgtgctggaagccttaccggcggcgtcgcacccgatggatg
+ttatgcgcaccggtgtttccgcgctcggctgcacgctgccagaaaaagaggggcataccg
+tctctggcgcgcgggatattgccgacaaactgctggcgtcgcttagctcgattctccttt
+attggtatcactacagccacaacggcgaacgcatccaaccggaaaccgatgacgactcca
+tcggcggtcacttcctgcatctgctgcacggcgaaaagccatcgcaaagctgggaaaagg
+cgatgcatatctcgctggtgctgtacgccgaacacgagtttaacgcctccacctttacca
+gtcgggtgattgcgggcaccggctctgatatgtattccgcgattattggcgcgattggcg
+cactgcgcgggccaaaacacggcggggcgaatgaagtgtcgctggagatccagcaacgct
+acgaaacgccggacgaagccgaagcagatatccgcaagcgcgtggaaaacaaagaagtgg
+tcattggttttggtcatccggtttacaccatcgctgacccgcgccaccaggtgattaaac
+gtgtggcgaagcagctctcgcaggaaggcggctcgctgaagatgtacaacatcgccgatc
+gcctggaaacggtgatgtgggagagcaaaaagatgttccccaatctcgactggttctctg
+ctgtttcctacaacatgatgggcgttcccaccgagatgttcacaccactgtttgttatcg
+cccgcgtcaccggctgggcggcgcacattatcgaacaacgtcaggacaacaaaattatcc
+gtccttccgccaattatgttggaccggaagaccgcccgtttgtcgcgctggataagcgcc
+agtaaacctctacgaataacaataaggaaacgtacccaatgtcagctcaaatcaacaaca
+tccgcccggaatttgatcgtgaaatcgttgatatcgtcgattacgtcatgaactacgaaa
+tcagctctaaagtggcctacgacaccgcacattactgcctgctcgacacgctcggctgcg
+gtctggaagctctcgaatacccggcctgtaaaaaactgctggggccaattgttcccggca
+ccgtcgtacccaacggcgtgcgcgtccccggaactcagttccagctcgaccccgtccagg
+cggcatttaacatcggcgcgatgatccgctggctcgatttcaacgatacctggctggcgg
+cggagtggggccatccttccgacaacctcggcggcattctggcaacggcggactggcttt
+cgcgcaacgcggtcgccagcggcaaagcgccgttgaccatgaaacaggtgctgaccgcaa
+tgatcaaagcccatgaaattcagggctgcatcgcgctggaaaactcctttaaccgcgtcg
+gcctcgaccacgttctgttagtgaaagtggcttccaccgccgtggtcgccgaaatgctcg
+gcctgacccgcgaggaaattctcaacgccgtttcgctggcgtgggtggacggtcagtcgc
+tgcgcacctatcgccatgcgccgaacaccggcacgcgtaaatcctgggcggcgggcgatg
+ccacttcccgcgcggtacgtctggcactgatggcgaaaacgggcgaaatgggttacccgt
+cagccctgactgcgccggtgtggggcttctacgacgtctcctttaaaggtgaatcgttcc
+gcttccagcgcccgtacggttcctacgttatggaaaatgtgctgttcaaaatctccttcc
+cggcggagttccactcccagacggcagttgaagcagcgatgacgctctatgaacagatgc
+aggcagcaggcaaaacggcggcggatatcgaaaaagtgaccattcgcacccacgaagcct
+gtattcgcatcatcgacaaaaaagggccgctcaataacccggcagaccgcgatcactgca
+ttcagtacatggtggcgatcccgctgctattcgggcgcttaacggcggcagattacgagg
+acaacgttgcgcaagataaacgcattgacgccctgcgcgagaagatcaattgctttgaag
+atccggcatttaccgctgactaccacgacccggaaaaacgcgccatcgccaatgccatta
+cccttgagttcaccgacggcacacgatttgaagaagtggtggtggagtaccccattggtc
+atgctcgccgccgtcaggatggtattccgaaactggtcgataaattcaaaatcaatctcg
+cgcgccagttcccgactcgccaacagcagcgcattctggaggtttctctcgacagagctc
+gcctggaacagatgccggtcaatgagtatctcgacctgtacgtcatttaagtaaacggcg
+gtaaggcgtaagttcaacaggagagcattatgtcttttagcgaattttatcagcgttcga
+ttaacgaaccggagcagttctgggccgagcaggcccggcgtattgactggcagacgccct
+ttacgcaaacgctcgatcacagcaatccgccgtttgcccgttggttttgtgaaggccgaa
+ccaacttgtgccacaacgccatcgaccgctggctggagaaacagccagaggcgctggcgc
+tgattgccgtctcttcggaaacagaagaagagcgcacctttacctttcgtcagctgcatg
+acgaagtgaacgcggtggcctcaatgttgcgttcattgggtgtgcagcgcggcgatcggg
+tgctggtgtatatgccgatgattgccgaagcgcatattactctgctggcctgcgcgcgca
+ttggcgctattcactcggtggtgtttggtggatttgcctcgcacagcgtggcggcgcgaa
+ttgatgacgctaaaccggtgctgattgtctcggctgatgccggagcgcgcggtggcaaaa
+tcattccctataaaaaattgctcgacgatgcgataagtcaggcgcagcaccagccacgcc
+atgttttgctggtggatcgcgggctggcgaaaatggcgcgcgtcagcgggcgggatgtcg
+atttcgcgtcgttgcgccatcaacacatcggcgcgcgggtaccggtggcgtggctggaat
+ccaacgaaacctcctgcattctctacacttccggcacgaccggcaaacctaaaggcgtgc
+agcgtgacgtcggcggatatgcggtggcgctggcgacctcgatggacaccatttttggcg
+gcaaagcgggcagcgtgttcttttgcgcatcggatatcggctgggtggtggggcattcgt
+atatcgtttacgcgccgctgctggcggggatggcgactatcgtttacgaaggattgccga
+cctggccggactgcggcgtgtggtggacaatcgtcgagaaatatcaggttagccggatgt
+tctcagcgccgaccgccattcgcgtgctgaaaaaattccctaccgctgaaattcgcaaac
+acgatctctcgtcgctggaagtgctctatctggctggagaaccgctggacgagccgaccg
+ccagttgggtgagcaatacgctggatgtgccggtcatcgacaactactggcagaccgaat
+ccggctggccgattatggcgattgctcgcggtctggacgacaggccgacgcgtctgggaa
+gccccggtgtgccgatgtatggctataacgtgcagttgcttaatgaagtcaccggcgaac
+cgtgtggcgtcaacgagaaagggatgctggtggtggaagggccgctgccgccggggtgta
+ttcagaccatctggggcgacgacggccgctttgtgaagacttactggtcgctgttttccc
+gcccggtgtacgccacctttgactggggcatccgtgacgctgacggttatcactttattc
+tcgggcgcactgacgatgtaattaacgttgccgggcatcggctggggacgcgcgagattg
+aagagagtatctccagccatccgggcgttgccgaagtggcggtggttggggtgaaagatg
+cgctgaaagggcaggtggcggtggcgtttgtcattccgaaagagagcgacagtctggaag
+atcgtgatgtggcgcactcgcaagagaaggcgattatggcgctggtggacagccagattg
+gcaactttggccgcccggcgcacgtctggtttgtctcgcaattgccaaaaacgcgatccg
+gaaaaatgctgcgccgcacgatccaggcgatttgcgaaggacgcgatcctggagatctga
+cgaccattgatgatcctgcgtcgttggatcagatccgccaggcgatggaagagtaggtta
+ttgtcggatgcgtcgcgcggtgcatccggcactgtgtgccgatgcctgatgcgacgctga
+cgcgttttatcatgcctacggacctgaaccgtaggtcggataaggcgctcgcgtcgcatc
+cgacaccatgctcagatgcctgatgcgacgctgacgcgtcttatcaggcctacccactgt
+ttttacaccgataatttttcccccacctttttgcactcattcatataaaaaatatatttc
+cccacgaaaacgattgctttttatcttcagatgaatagaatgcggcggattttttgggtt
+tcaaacagcaaaaagggggaatttcgtgtcgcaagataacaactttagccaggggccagt
+cccgcagtcggcgcggaaaggggtattggcattgacgttcgtcatgctgggattaacctt
+cttttccgccagtatgtggaccggcggcactctcggaaccggtcttagctatcatgattt
+cttcctcgcagttctcatcggtaatcttctcctcggtatttacacttcatttctcggtta
+cattggcgcaaaaaccggcctgaccactcatcttcttgctcgcttctcgtttggtgttaa
+aggctcatggctgccttcactgctactgggcggaactcaggttggctggtttggcgtcgg
+tgtggcgatgtttgccattccggtgggtaaggcaaccgggctggatattaatttgctgat
+tgccgtttccggtttactgatgaccgtcaccgtcttttttggcatttcggcgctgacggt
+tctttcggtgattgcggttccggctatcgcctgcctgggcggttattccgtgtggctggc
+tgttaacggcatgggcggcctggacgcattaaaagcggtcgttcccgcacaaccgttaga
+tttcaatgtcgcgctggcgctggttgtggggtcatttatcagtgcgggtacgctcaccgc
+tgactttgtccggtttggtcgcaatgccaaactggcggtgctggtggcgatggtggcctt
+tttcctcggcaactcgttgatgtttattttcggtgcagcgggcgctgcggcactgggcat
+ggcggatatctctgatgtgatgattgctcagggcctgctgctgcctgcgattgtggtgct
+ggggctgaatatctggaccaccaacgataacgcactctatgcgtcgggtttaggtttcgc
+caacattaccgggatgtcgagcaaaaccctttcggtaatcaacggtattatcggtacggt
+ctgcgcattatggctgtataacaattttgtcggctggttgaccttcctttcggcagctat
+tcctccagtgggtggcgtgatcatcgccgactatctgatgaaccgtcgccgctatgagca
+ctttgcgaccacgcgtatgatgagtgtcaattgggtggcgattctggcggtcgccttggg
+gattgctgcaggccactggttaccgggaattgttccggtcaacgcggtattaggtggcgc
+gctgagctatctgatccttaacccgattttgaatcgtaaaacgacagcagcaatgacgca
+tgtggaggctaacagtgtcgaataacgctttacaaacaattattaacgcccggttaccag
+gcgaagaggggctgtggcagattcatctgcaggacggaaaaatcagcgccattgatgcgc
+aatccggcgtgatgcccataactgaaaacagcctggatgccgaacaaggtttagttatac
+cgccgtttgtggagccacatattcacctggacaccacgcaaaccgccggacaaccgaact
+ggaatcagtccggcacgctgtttgaaggcattgaacgctgggccgagcgcaaagcgttat
+taacccatgacgatgtgaaacaacgcgcatggcaaacgctgaaatggcagattgccaacg
+gcattcagcatgtgcgtacccatgtcgatgtttcggatgcaacgctaactgcgctgaaag
+caatgctggaagtgaagcaggaagtcgcgccgtggattgatctgcaaatcgtcgccttcc
+ctcaggaagggattttgtcgtatcccaacggtgaagcgttgctggaagaggcgttacgct
+taggggcagatgtagtgggggcgattccgcattttgaatttacccgtgaatacggcgtgg
+agtcgctgcataaaaccttcgccctggcgcaaaaatacgaccgtctcatcgacgttcact
+gtgatgagatcgatgacgagcagtcgcgctttgtcgaaaccgttgctgccctggcgcacc
+atgaaggcatgggcgcgcgagtcaccgccagccacaccacggcaatgcactcctataacg
+gggcgtatacctcacgcctgttccgcttgctgaaaatgtccggtattaactttgtcgcca
+acccgctggtcaatattcatctgcaaggacgtttcgatacgtatccaaaacgtcgcggca
+tcacgcgcgttaaagagatgctggagtccggcattaacgtctgctttggtcacgatgatg
+tcttcgatccgtggtatccgctgggaacggcgaatatgctgcaagtgctgcatatggggc
+tgcatgtttgccagttgatgggctacgggcagattaacgatggcctgaatttaatcaccc
+accacagcgcaaggacgttgaatttgcaggattacggcattgccgccggaaacagcgcca
+acctgattatcctgccggctgaaaatgggtttgatgcgctgcgccgtcaggttccggtac
+gttattcggtacgtggcggcaaggtgattgccagcacacaaccggcacaaaccaccgtat
+atctggagcagccagaagccatcgattacaaacgttgaacgactgggttacagcgagctt
+agtttatgccggatgcggcgtgaacgccttatccggcctacgtagagcactgaactcgta
+ggcctgataagcgtagcgcatcaggcaattccagccgctgatctgtgtcagcggctaccg
+tgattcattcccgccaacaaccgcgcattcctccaacgccatgtgcaaaaatgccttcgc
+agcggctgtctgccagctgtagtttatgccggatgcggcgtgaacgccttatccggccta
+cgtagagcactgaactcgtaggcctgataagcgtagcgcatcaggcaattccagccgcag
+acctgtgtcagcggctaccgtgattcatttccgccaacaaccgcgcatttatccaacgcc
+atgtgcaaaaatgccttcgcggcggctgtctgccagctatttttccgccgcaacaaaacc
+gccgttctctccagtagtggcggggcaagagaaatagctttaagcccgtcatgttgtgtg
+gcaatcgctgctggtaacaatgtggaaagggaagtgcggcgaatcagctccagaaccgcg
+ctaattgagttcgcctcaatgaccacctgtggatgtagccccgctttctcgcagtagtgg
+tcaatttgctctctggtggcaaattccgcgctgagcaggaccagtttttcatcatgcaag
+cgactcaacgccacctgttcatggacggccagcggatgatgttgcgccacgactaacgct
+aaactttctgtcagtaaaggaattgcctccagctccggcgaatgcacaggcgcgaaggca
+atcccaacgtccaactcgtcgcggcaaagcatatcctcgattttctcctgcgacatttcc
+tgtagctggagcgtgatgctgggatagcgcgcatagaaatccgccattaaggggccgata
+aagtagctcgtaaaggtgggggtgacggcgatacgcagcgatcctcgcgtcagatcggca
+acatcatgaatcgcccgtttacccgcccccagttcctgtaacgcccggctggcgtactgt
+cgccagacttctcctgcatcagtgagacgaatcgttcgcccgctacggtcaaacagcggc
+acgcctaaactctcctctaactggcgaatctgctgggaaagcgcaggttgggagacgtgc
+aacgcactggcggcacgggtgaagctgccatgttcagccacggcaagaaaataattgata
+tgtcgagagagcattcgcaacctataagtaaatccaatggaactcatcataaatgagact
+tttaccttatgacaatcggcgagtagtctgcctctcattccagagacagacagaggttaa
+cggtgaaagagattattgatggattccttaaattccagcgcgaggcatttccgaagcggg
+aagccttgtttaaacagctggcgacacagcaaagcccgcgcacactttttatctcctgct
+ccgacagccgtctggtccctgagctggtgacgcaacgtgagcctggcgatctgttcgtta
+ttcgcaacgcgggcaatatcgtcccttcctacgggccggaacccggtggcgtttctgctt
+cggtggagtatgccgtcgctgcgcttcgggtatctgacattgtgatttgtggtcattcca
+actgtggcgcgatgaccgccattgccagctgtcagtgcatggaccatatgcctgccgtct
+cccactggctgcgttatgccgattcagcccgcgtcgttaatgaggcgcgcccgcattccg
+atttaccgtcaaaagctgcggcgatggtacgtgaaaacgtcattgctcagttggctaatt
+tgcaaactcatccatcggtgcgcctggcgctcgaagaggggcggatcgccctgcacggct
+gggtctacgacattgaaagcggcagcatcgcagcttttgacggcgcaacccgccagtttg
+tgccactggccgctaatcctcgcgtttgtgccataccgctacgccaaccgaccgcagcgt
+aaccttatttttaaaccatcaggagttccaccatgattcagtcacaaattaaccgcaata
+ttcgtcttgatcttgccgatgccattttgctcagcaaagctaaaaaagatctctcatttg
+ccgagattgccgacggcaccggtctggcagaagcctttgtaaccgcggctttgctgggtc
+agcaggcgcttcctgccgacgccgcccgcctggtcggggcgaagctggatctcgacgaag
+actccattctactgttgcagatgattccactgcgtggctgcattgatgaccgtattccaa
+ctgacccaacgatgtatcgtttctatgaaatgttgcaggtgtacggtacaaccctgaaag
+cgttggttcatgagaaatttggcgatggcattattagcgcgattaacttcaaactcgacg
+ttaagaaagtggcggacccggaaggtggcgaacgtgcggtcatcaccttagatggtaaat
+atctgccgaccaaaccgttctgacagccatgcgcaaccatcaaaagacgttcacgatgct
+gctggtactggtgctgattggtcttaatatgcgaccactgctcacctccgtcgggccact
+gctaccgcaattgcgccaggcgagcggaatgagctttagcgtggctgccctgttgaccgc
+tctgccggtggttaccatgggcgggctggcgctggccggaagctggcttcatcagcatgt
+cagcgaacgtcgcagtgtcgccatcagtctgttgctgattgccgtcggtgcattgatgcg
+tgagctttacccgcaaagtgcgctgctgcttagcagcgcactgcttggtggggtggggat
+cggcatcattcaggcggtgatgccttcggtgattaaacggcggtttcagcagcgcacgcc
+actggtgatggggctgtggtccgcggctctgatgggcggcggtgggcttggtgccgccat
+aacgccctggttagttcaacatagcgaaacctggtatcaaacactcgcctggtgggcgct
+gcctgccgttgttgcgctctttgcctggtggtggcaaagcgcccgcgaggtcgcctcttc
+ccacaagacaacaaccactccggttcgcgtggtattcactccccgcgcgtggacgctggg
+tgtttacttcggtctgattaacggcggttacgccagcctgattgcctggttacccgcttt
+ctatattgagattggtgccagcgcgcagtacagcggttccttactggcattgatgacgct
+tgggcaagccgcaggagctttgctgatgcctgctatggctcgccatcaggatcggcgcaa
+actgttaatgctggcgctggtgttacaactggtggggttctgcggctttatctggctgcc
+gatgcaattgccggtattgtgggcgatggtgtgtgggttaggtctgggcggcgcgtttcc
+gctctgtttgctgctggcgctcgatcactctgtgcaaccggctattgctggcaagctggt
+ggcgtttatgcagggaatcggttttatcatcgccgggcttgccccgtggttttctggcgt
+gctgcgtagtatcagcggcaattacctgatggactgggcatttcatgcgctgtgcgtcgt
+tgggctgatgatcataaccctgcgttttgcaccagtacgttttccgcagctgtgggtcaa
+agaggcatgatgcgacgcttgttcctgcgctttgttcatgccggatgcggctaatgtaga
+tcgctgaacttgtaggcctgataagcgcagcgtatcaggcaatttttataatttaaactg
+acgattcaactttataatctttgaaataatagtgcttatcccggtcgtttatttcgcgaa
+taacccgacaaggaacgccagccgccacgacgtttggtggaatgtcttttgtgacgatac
+tacccgcgccaataacagaattatccccgatggtgacgcctggattaataaccacatgac
+ttccgatccagacgttattgccaatcgttatcggaaaagagtacatctcgccgttttttc
+tcaattcatggtgtacagggtgtcccgtaacggaaagagtaacgttgggtgcaatcagta
+cgttatcaccgattgttaccgtgtagtcatcgacaatggttaaattgaaatttgcataaa
+aattgcggcctatatggatgttggaaccgtaagagaaatagacaggcggttctacccagg
+cgttttcccctaccgtggcaaacatttctttaatcaggctttctcttttttcaacttctg
+atggatgcgagtgattaaactcatacattaacgttttcccacgaagtcttttttccggta
+agccttcgcacatatcggtaaatagcttgcctgctcttattctttcggtcattggcatgt
+tcaatgcgatcactccgttatgatatgttggtcggataaggcgctcgcgccgcatccgac
+attgattgcttaagcgacttcattcacctgacgacgcagcagggaaagcgggccggggcc
+gctaagcgtgaacacggaaattaaggtgaagcccagcgccaccagacccagcaccagata
+agcgccctggaaaccgatgctttcatacatattgcccgccagtacagacataaaaatcat
+cgccagttgcttaaagaagcagaaacagaccagataaatcgtcgctgaaaaacgcacttc
+aaactggctggtaatatatttaaagcagcccaccagcaggaacggtacttcaaacatatg
+cagcgttttcagaataaccacttccagcgctgaggtggcgaacgatgagccaataatacg
+tacagacataatagtgccagccagcagcagggcgtttttcccaccgatgcgattaatgat
+cagtggcgcaaagaacataatcgaggcgttaagtaattcgcccattgtcgttacgtagcc
+aaatacccgcgtaccctgttcaccggtagcaaagaacgaagtaaagaaattagcaaactg
+ttggtcaaaaacatcgtaggtgcaggaaacgccaataacatacagtgacaaaaaccacag
+ttttggctgtctgaacagttccagtgccagcttaaggctaaatgccgaatggttggcacc
+taccgcattggcaaccgtggcagaagagggcgcatccgttttggcgaaaaagagtaaaac
+ggcgaggatgagtgcacagccagagcccagccagaaaacaaactgattattgatggtgaa
+catgatgccgacaatcgaggcacacagcgcccagccaacacagccaaacatccgcgcgcg
+accaaattcgaaattactgcgacggctgactttctcaataaatgcctctactgctggcgc
+accggcgttaaaacaaaagcctagataaataccaccaacaatcgatcctactaaaatgtt
+gtattgtaacagtggcccgaagataaaaataaagaacggcgcaaacatcactaacatgcc
+ggtaataatccacagcaggtatttgcgcagcccgagtttgtcagaaagcagaccaaacag
+cggttggaataatagcgagaacagagaaatagcggcaaaaataatacccgtatcactttt
+gctgatatggttgatgtcatgtagccaaatcgggaaaaacgggaagtaggctcccatgat
+aaaaaagtaaaagaaaaagaataaaccgaacatccaaaagtttgtgttttttaaatagta
+cataatggatttccttacgcgaaatacgggcagacatggcctgcccggttattattattt
+ttgacaccagaccaactggtaatggtagcgaccggcgctcagctggaattccgccgatac
+tgacgggctccaggagtcgtcgccaccaatccccatatggaaaccgtcgatattcagcca
+tgtgccttcttccgcgtgcagcagatggcgatggctggtttccatcagttgctgttgact
+gtagcggctgatgttgaactggaagtcgccgcgccactggtgtgggccataattcaattc
+gcgcgtcccgcagcgcagaccgttttcgctcgggaagacgtacggggtatacatgtctga
+caatggcagatcccagcggtcaaaacaggcggcagtaaggcggtcgggatagttttcttg
+cggccctaatccgagccagtttacccgctctgctacctgcgccagctggcagttcaggcc
+aatccgcgccggatgcggtgtatcgctcgccacttcaacatcaacggtaatcgccatttg
+accactaccatcaatccggtaggttttccggctgataaataaggttttcccctgatgctg
+ccacgcgtgagcggtcgtaatcagcaccgcatcagcaagtgtatctgccgtgcactgcaa
+caacgctgcttcggcctggtaatggcccgccgccttccagcgttcgacccaggcgttagg
+gtcaatgcgggtcgcttcacttacgccaatgtcgttatccagcggtgcacgggtgaactg
+atcgcgcagcggcgtcagcagttgttttttatcgccaatccacatctgtgaaagaaagcc
+tgactggcggttaaattgccaacgcttattacccagctcgatgcaaaaatccatttcgct
+ggtggtcagatgcgggatggcgtgggacgcggcggggagcgtcacactgaggttttccgc
+cagacgccactgctgccaggcgctgatgtgcccggcttctgaccatgcggtcgcgttcgg
+ttgcactacgcgtactgtgagccagagttgcccggcgctctccggctgcggtagttcagg
+cagttcaatcaactgtttaccttgtggagcgacatccagaggcacttcaccgcttgccag
+cggcttaccatccagcgccaccatccagtgcaggagctcgttatcgctatgacggaacag
+gtattcgctggtcacttcgatggtttgcccggataaacggaactggaaaaactgctgctg
+gtgttttgcttccgtcagcgctggatgcggcgtgcggtcggcaaagaccagaccgttcat
+acagaactggcgatcgttcggcgtatcgccaaaatcaccgccgtaagccgaccacgggtt
+gccgttttcatcatatttaatcagcgactgatccacccagtcccagacgaagccgccctg
+taaacggggatactgacgaaacgcctgccagtatttagcgaaaccgccaagactgttacc
+catcgcgtgggcgtattcgcaaaggatcagcgggcgcgtctctccaggtagcgaaagcca
+ttttttgatggaccatttcggcacagccgggaagggctggtcttcatccacgcgcgcgta
+catcgggcaaataatatcggtggccgtggtgtcggctccgccgccttcatactgcaccgg
+gcgggaaggatcgacagatttgatccagcgatacagcgcgtcgtgattagcgccgtggcc
+tgattcattccccagcgaccagatgatcacactcgggtgattacgatcgcgctgcaccat
+tcgcgttacgcgttcgctcatcgccggtagccagcgcggatcatcggtcagacgattcat
+tggcaccatgccgtgggtttcaatattggcttcatccaccacatacaggccgtagcggtc
+gcacagcgtgtaccacagcggatggttcggataatgcgaacagcgcacggcgttaaagtt
+gttctgcttcatcagcaggatatcctgcaccatcgtctgctcatccatgacctgaccatg
+cagaggatgatgctcgtgacggttaacgcctcgaatcagcaacggcttgccgttcagcag
+cagcagaccattttcaatccgcacctcgcggaaaccgacatcgcaggcttctgcttcaat
+cagcgtgccgtcggcggtgtgcagttcaaccaccgcacgatagagattcgggatttcggc
+gctccacagtttcgggttttcgacgttcagacgtagtgtgacgcgatcggcataaccacc
+acgctcatcgataatttcaccgccgaaaggcgcggtgccgctggcgacctgcgtttcacc
+ctgccataaagaaactgttacccgtaggtagtcacgcaactcgccgcacatctgaacttc
+agcctccagtacagcgcggctgaaatcatcattaaagcgagtggcaacatggaaatcgct
+gatttgtgtagtcggtttatgcagcaacgagacgtcacggaaaatgccgctcatccgcca
+catatcctgatcttccagataactgccgtcactccagcgcagcaccatcaccgcgaggcg
+gttttctccggcgcgtaaaaatgcgctcaggtcaaattcagacggcaaacgactgtcctg
+gccgtaaccgacccagcgcccgttgcaccacagatgaaacgccgagttaacgccatcaaa
+aataattcgcgtctggccttcctgtagccagctttcatcaacattaaatgtgagcgagta
+acaacccgtcggattctccgtgggaacaaacggcggattgaccgtaatgggataggtcac
+gttggtgtagatgggcgcatcgtaaccgtgcatctgccagtttgaggggacgacgacagt
+atcggcctcaggaagatcgcactccagccagctttccggcaccgcttctggtgccggaaa
+ccaggcaaagcgccattcgccattcaggctgcgcaactgttgggaagggcgatcggtgcg
+ggcctcttcgctattacgccagctggcgaaagggggatgtgctgcaaggcgattaagttg
+ggtaacgccagggttttcccagtcacgacgttgtaaaacgacggccagtgaatccgtaat
+catggtcatagctgtttcctgtgtgaaattgttatccgctcacaattccacacaacatac
+gagccggaagcataaagtgtaaagcctggggtgcctaatgagtgagctaactcacattaa
+ttgcgttgcgctcactgcccgctttccagtcgggaaacctgtcgtgccagctgcattaat
+gaatcggccaacgcgcggggagaggcggtttgcgtattgggcgccagggtggtttttctt
+ttcaccagtgagacgggcaacagctgattgcccttcaccgcctggccctgagagagttgc
+agcaagcggtccacgctggtttgccccagcaggcgaaaatcctgtttgatggtggttaac
+ggcgggatataacatgagctgtcttcggtatcgtcgtatcccactaccgagatatccgca
+ccaacgcgcagcccggactcggtaatggcgcgcattgcgcccagcgccatctgatcgttg
+gcaaccagcatcgcagtgggaacgatgccctcattcagcatttgcatggtttgttgaaaa
+ccggacatggcactccagtcgccttcccgttccgctatcggctgaatttgattgcgagtg
+agatatttatgccagccagccagacgcagacgcgccgagacagaacttaatgggcccgct
+aacagcgcgatttgctggtgacccaatgcgaccagatgctccacgcccagtcgcgtaccg
+tcttcatgggagaaaataatactgttgatgggtgtctggtcagagacatcaagaaataac
+gccggaacattagtgcaggcagcttccacagcaatggcatcctggtcatccagcggatag
+ttaatgatcagcccactgacgcgttgcgcgagaagattgtgcaccgccgctttacaggct
+tcgacgccgcttcgttctaccatcgacaccaccacgctggcacccagttgatcggcgcga
+gatttaatcgccgcgacaatttgcgacggcgcgtgcagggccagactggaggtggcaacg
+ccaatcagcaacgactgtttgcccgccagttgttgtgccacgcggttgggaatgtaattc
+agctccgccatcgccgcttccactttttcccgcgttttcgcagaaacgtggctggcctgg
+ttcaccacgcgggaaacggtctgataagagacaccggcatactctgcgacatcgtataac
+gttactggtttcacattcaccaccctgaattgactctcttccgggcgctatcatgccata
+ccgcgaaaggttttgcgccattcgatggtgtcaacgtaaatgcatgccgcttcgccttcc
+ggccaccagaatagcctgcgattcaaccccttcttcgatctgttttgctacccgttgtag
+cgccggaagatgcttttccgctgcctgttcaatggtcattgcgctcgccatatacaccag
+attcagacagccaatcacccgttgttcactgcgcagcggtacggcgatagaggcgatctt
+ctcctcctgatcccagccgcggtagttctgtccgtaaccctctttgcgcgcgcgcgccag
+aatggcttccagctttaacggttcccgtgccagttgatagtcatcaccggggcgggaggc
+taacatttcgattaattccttgcggtcttgttccgggcaaaaggccagccaggtcaggcc
+cgaggcggttttcagaagcggcaaacgtcgcccgaccattgcccggtgaaaggataagcg
+gctgaaacggtgagtggtttcgcgtaccaccattgcatcaacatccagcgtggacacatc
+tgtcggccataccacttcgcgcaacagatcgcccagcagtggggccgccagtgcagaaat
+ccactgttcgtcacgaaatccttcgcttaattgccgcactttgatggtcagtcgaaaact
+atcatcggaggggctacggcggacatatccctcttcctgcagcgtctccagcagtcgccg
+cacagtggtgcgatgcaggccgctgagttccgccagcagcccgacgctggcaccgccatc
+aagtttatttaacatatttaataacattagaccgcgggttaagccgcgcacggttttgta
+ttccgtctgctcattgttctgcatattaattgacatttctatagttaaaacaacgtggtg
+cacctggtgcacattcgggcatgttttgattgtagccgaaaacacccttcctatactgag
+cgcacaataaaaaatcatttacatgtttttaacaaaataagttgcgctgtactgtgcgcg
+caacgacattttgtccgagtcgtgaggtactgaaatggcaatacaacaccctgacatcca
+gcctgctgttaaccatagcgttcaggtggcgatcgctggtgccggcccggttgggctgat
+gatggcgaactatctcggccagatgggcattgacgtgctggtggtggagaaactcgataa
+gttgatcgactacccgcgtgcgattggtattgatgacgaggcgctgcgcaccatgcagtc
+ggtcggcctggtcgatgatgttctgccgcacactacgccgtggcacgcgatgcgttttct
+caccccgaaaggccgctgttttgctgatattcagccaatgaccgatgaatttggctggcc
+gcgccgtaacgcctttattcagccgcaggtcgatgcggtgatgctggaaggggtgtcgcg
+ttttccgaatgtgcgctgcttgttttcccgcgagctggaggccttcagtcagcaagatga
+cgaagtgaccttgcacctgaaaacggcagaagggcagcgggaaatagtcaaagcccagtg
+gctggtagcctgtgacggtggagcaagttttgtccgtcgcactctgaatgtgccgtttga
+aggtaaaactgcgccaaatcagtggattgtggtagatatcgccaacgatccgttaagtac
+gccgcatatctatttgtgttgcgatccggtgcgcccgtatgtttctgccgcgctgcctca
+tgcggtacgtcgctttgaatttatggtgatgccgggagaaaccgaagagcagctgcgtga
+gccgcaaaatatgcgcaagctgttaagcaaagtgctgcctaatccggacaatgttgaatt
+gattcgccagcgtgtctacacccacaacgcgcgactggcgcaacgtttccgtattgatcg
+cgtactgctggcgggcgatgccgcgcacatcatgccggtatggcaggggcagggctataa
+cagtggtatgcgcgacgcctttaacctcgcatggaaactggcgttggttatccaggggaa
+agcccgcgatgcgctgctcgatacctatcaacaagaacgtcgcgatcacgccaaagcgat
+gattgacctgtccgtgacggcgggcaacgtgctggctccgccgaaacgctggcagggtac
+gttacgtgacggcgtttcctggctgttgaattatctgccgccagtaaaacgctacttcct
+cgaaatgcgcttcaagccgatgccgcaatattacggcggtgcgctgatgcgtgagggcga
+agcgaagcactctccggtcggcaagatgtttattcagccgaaagtcacgctggaaaacgg
+cgacgtgacgctgctcgataacgcgatcggcgcgaacttcgcggtaattggctggggatg
+caatccactgtgggggatgagcgacgagcaaatccagcagtggcgcgcgttgggcacacg
+cttcattcaggtggtgccggaagtgcaaattcataccgcacaggataaccacgacggcgt
+actacgcgtgggcgatacgcaaggtcgcctgcgtagctggttcgcgcaacacaatgcttc
+gctggtggtgatgcgcccggatcgctttgttgccgccaccgccattccgcaaaccctggg
+caagaccctgaataaactggcgtcggtgatgacgctgacccgccctgatgccgacgtttc
+tgtcgaaaaggtagcctgatatgcacgcttatcttcactgtctttcccactcgccgctgg
+tggggtatgtcgacccggcgcaagaggtgctcgatgaggtcaatggcgtgattgccagcg
+cccgcgagcgtattgcggcattctcccctgaactggtggtgctgtttgcgccagatcact
+acaacggctttttctatgacgtgatgccaccgttctgtttaggcgttggagcgacggcaa
+ttggtgatttcggcagtgcggcaggagagctgcccgtgcctgtggagctggcggaggcct
+gtgcgcatgccgtcatgaagagcgggatcgatcttgccgtttcttactgtatgcaggtgg
+accacgggttcgcccagccgctggagttcctgctcggtgggctggataaggtgccagttc
+tgcctgtgttcatcaacggtgtcgccacgccgctgcccggtttccagcgtacccgcatgt
+tgggtgaagccattggacgtttcaccagcactctcaataaacgcgtgctgttcctgggtt
+ccggtgggctttcccatcagccgccggtgcccgaactggcgaaagccgatgcccatatgc
+gcgaccgtctgttggggagcgggaaagatttacccgccagtgagcgcgaattgcgtcagc
+aacgggtgattagcgccgctgagaagtttgttgaggatcagagaacgctgcatccgctca
+acccgatttgggataaccagttcatgactttgctggagcagggacgcatacaggaactgg
+atgccgtcagtaacgaagagctttccgccattgccggaaagtcgacacatgaaatcaaaa
+cctgggtcgccgcttttgccgctatttctgcgtttggcaactggcgtagcgaagggcgtt
+attaccgcccaatcccggagtggattgccggatttggctcgttaagcgccagaacagaga
+actgaatatgcaggagaagatgatgagttatcagccacaaaccgaagccgccaccagccg
+ttttctgaatgtagaagaagcgggtaaaacgctgcgcatccattttaatgactgcggaca
+aggcgacgaaaccgttgtcctgctgcatggttccggcccgggtgctactggctgggcgaa
+cttcagccgcaatatcgatccgctggtagaggcgggctatcgggtgatcctgctggattg
+tccgggttggggcaagagcgattcggtcgttaatagtggttcgcgatcggatcttaatgc
+acgaatcctgaaaagcgtggtggatcaactggatatcgccaaaatccacctgctgggcaa
+ctcgatggggggccatagttctgtggcgttcacccttaaatggccggagcgcgtcggcaa
+actggtgctgatgggcggcggtacgggcggcatgagtttgtttacgccgatgccaaccga
+aggtattaagcgactgaatcagctttatcgtcagccgactatcgaaaacctgaagctgat
+gatggatatcttcgtttttgataccagcgatttgaccgacgccctgtttgaagcgcgcct
+gaataatatgctgtcgcgccgcgatcacctggaaaacttcgttaagagcctggaagctaa
+tccgaaacagttcccggattttggcccacgtctggcggaaatcaaagcgcaaaccctgat
+tgtctgggggcgcaacgaccgctttgtgccgatggatgcgggtctgcgtctgctgtccgg
+cattgccggttctgaactgcatatcttccgcgactgtggtcactgggcgcagtgggaaca
+tgccgacgctttcaatcaactggtgctgaatttcctcgcacgcccttaaggaatggtcat
+gacgaagcatactcttgagcaactggcggcggatttacgccgcgccgcagagcagggcga
+agcgattgcaccgctgcgcgatctgattggtatcgataacgctgaagcggcttacgccat
+tcagcacataaatgtgcaacatgacgttgcgcaggggcgtcgcgtggtagggcgtaaagt
+gggcctgacacatccgaaagtgcaacaacaactgggcgttgatcaaccggattttgggac
+gttatttgccgacatgtgttatggcgataacgaaatcattcctttttcccgtgttctgca
+accccgcattgaagcggagatcgcactggtgttgaaccgcgatttgcccgcaaccgatat
+caccttcgacgaattgtataacgccattgaatgggtacttccggcgctggaagtggtggg
+gagccgcattcgcgactggtcgattcagtttgtcgataccgtggcagataacgcctcctg
+tggggtgtatgtcatcggcggtccggcgcaacgtccggcggggttagacctgaaaaactg
+cgccatgaagatgacgcgtaataacgaagaggtttctagcgggcgcggcagcgaatgcct
+gggacatccgcttaatgcggccgtctggctggcacgcaaaatggccagtctgggtgaacc
+gctgcgcaccggagatatcattcttaccggggcattaggtccgatggtggcggtgaatgc
+gggcgatcgttttgaagcccatattgaaggcataggttcagttgctgcgacattttcaag
+cgcagccccaaaaggaagtctgtcatgagtaagcgtaaagtcgccattatcggttctggc
+aacattggtaccgatctgatgattaaaattttgcgtcacggtcagcatctggagatggcg
+gtgatggttggcattgatcctcagtccgacggtctggcgcgcgccagacgtatgggcgtc
+gccaccacccatgaaggggtgatcggactgatgaacatgcctgaatttgctgatatcgac
+attgtatttgatgcgaccagcgccggtgctcatgtgaaaaacgatgccgctttacgcgaa
+gcgaaaccggatattcgcttaattgacctgacgcctgctgccatcggcccttactgcgtg
+ccggtggttaacctcgaggcgaacgtcgatcaactgaacgtcaacatggtcacctgcggc
+ggccaggccaccattccaatggtggcggcagtttcacgcgtggcgcgtgttcattacgcc
+gaaattatcgcttctatcgccagtaaatctgccggacctggcacgcgtgccaatatcgat
+gaatttacggaaaccacttcccgagccattgaagtggtgggcggcgcggcaaaagggaag
+gcgattattgtgcttaacccagcagagccaccgttgatgatgcgtgacacggtgtatgta
+ttgagcgacgaagcttcacaagatgatatcgaagcctcaatcaatgaaatggctgaggcg
+gtgcaggcttacgtaccgggttatcgcctgaaacagcgcgtgcagtttgaagttatcccg
+caggataaaccggtcaatttaccgggcgtggggcaattctccggactgaaaacagcggtc
+tggctggaagtcgaaggcgcagcgcattatctgcctgcctatgcgggcaacctcgacatt
+atgacttccagtgcgctggcgacagcggaaaaaatggcccagtcactggcgcgcaaggca
+ggagaagcggcatgaacggtaaaaaactttatatctcggacgtcacattgcgtgacggta
+tgcacgccattcgtcatcagtattcgctggaaaacgttcgccagattgccaaagcactgg
+acgatgcccgcgtggattcgattgaagtggcccacggcgacggtttgcaaggttccagct
+ttaactatggtttcggcgcacatagcgaccttgaatggattgaagcggcggcggatgtgg
+tgaagcacgccaaaatcgcgacgttgttgctgccaggaatcggcactattcacgatctga
+aaaatgcctggcaggctggcgcgcgggtggttcgtgtggcaacgcactgtaccgaagctg
+atgtttccgcccagcatattcagtatgcccgcgagctcggaatggacaccgttggttttc
+tgatgatgagccatatgaccacgccggagaatctcgccaagcaggcaaagctgatggaag
+gctacggtgcgacctgtatttatgtggtggattctggcggtgcgatgaacatgagcgata
+tccgtgaccgtttccgcgccctgaaagcagagctgaaaccagaaacgcaaactggcatgc
+acgctcaccataacctgagtcttggcgtggcgaactctatcgcggcggtggaagagggct
+gcgaccgaatcgacgccagcctcgcgggaatgggcgcgggcgcaggtaacgcaccgctgg
+aagtgtttattgccgccgcggataaactgggctggcagcatgggaccgatctctatgcgt
+taatggatgccgccgacgacctggtgcgtccgttgcaggatcgaccggtacgagtcgatc
+gcgaaacgctggcgctgggatacgctggtgtttactcgagcttcctgcgtcactgtgaaa
+cggcggcggcgcgttatggcttaagtgcggtggatattctcgttgagctgggcaaacgcc
+ggatggttggcggccaggaggatatgatcgttgacgtggcgctggatctgcgcaacaaca
+aataatgatgactgccgagaacgtgcattttgtatgcccatcccagcacgactgccggat
+gcggcgtgaacgccttatccggcctacggatggcgtgagaatttgtaggtctgataagac
+gcgttagcgtcgcatcaggcatctgcgcacgactgccggatgcggcgtgaacgccttatc
+cggcctacggatggcgcgggaatttgtaggcctgataagacgcgttagcgtcgcatcagg
+catctgcgcacgactgccggatgcggcgtgaacgccttatccggcctacgggtggcgcga
+gaatttgtaggcctgataagacgcgttagcgtcgcatcaggcatctgcgcacgactgccg
+gatgcggcgtaaacgccttatccggcctacggatggcgcgggaatttgtaggcctgataa
+gacgcgttagcgtcgcatcaggcatctgcacacgactgccggatgcgataaacgtcttgt
+ccggcctacatttcgcccgtaggcagtcattaaatagttctgattacgcggctggcaatg
+tatcagtcgcgattcacctgcactcgcaacgaggttcatcttatgtcgactcgtacccct
+tcatcatcttcatcccgcctgatgctgaccatcgggctttgttttttggtcgctctgatg
+gaagggctggatcttcaggcggctggcattgcggcgggtggcatcgcccaggctttcgca
+ctcgataaaatgcaaatgggctggatatttagcgccggaatactcggtttgctacccggc
+gcgttggttggcggaatgctggcggaccgttatggtcgcaagcgcattttgattggctca
+gttgcgctgtttggtttgttctcactggcaacggcgattgcctgggatttcccctcactg
+gtctttgcgcggctgatgaccggtgtcgggctgggggcggcgttgccgaatcttatcgcc
+ctgacgtctgaagccgcgggtccacgttttcgtgggacggcagtgagcctgatgtattgc
+ggtgttcccattggcgcggcgctggcggcgacactgggtttcgcgggggcaaacttagca
+tggcaaacggtgttttgggtaggtggtgtggtgccgttgattctggtgccgctattaatg
+cgctggctgccggagtcggcggttttcgctggcgaaaaacagtctgcgccaccactgcgt
+gccttatttgcgccagaaacggcaaccgcgacgctgctgctgtggttgtgttatttcttc
+actctgctggtggtctacatgttgatcaactggctaccgctacttttggtggagcaagga
+ttccagccatcgcaggcggcaggggtgatgtttgccctgcaaatgggggcggcaagcggg
+acgttaatgttgggcgcattgatggataagctgcgtccagtaaccatgtcgctactgatt
+tatagcggcatgttagcttcgctgctggcgcttggaacggtgtcgtcatttaacggtatg
+ttgctggcgggatttgtcgcggggttgtttgcgacaggtgggcaaagcgttttgtatgcc
+ctggcaccgttgttttacagttcgcagatccgcgcaacaggtgtgggaacagccgtggcg
+gtagggcgtctgggggctatgagcggtccgttactggccgggaaaatgctggcattaggc
+actggcacggtcggcgtaatggccgcttctgcaccgggtattcttgttgctgggttggcg
+gtgtttattttgatgagccggagatcacgaatacagccgtgcgccgatgcctgacgtgcc
+ttattaggcaggggcgaaagggacttcaccccaatacacctacggcgtttacaggtatac
+tcgctaaaaattattcagcgggtttggaaacaaagatggcaaaacttaccttacaagagc
+agttgctcaaagcaggattagtcaccagcaaaaaagcggcgaaggtggagagaacggcga
+aaaaatcgcgcgttcaggcgcgtgaagctcgggcggcggtagaagaaaataaaaaggcac
+agcttgagcgtgataaacagcttagcgaacagcaaaaacaagcggcgttggcgaaagaat
+ataaagctcaggtgaagcagcttattgaaatgaaccgaatcaccattgccaatggcgata
+ttggttttaacttcactgacggcaatctgattaagaagatttttgtcgataagctcacac
+aggcgcagttgattaatggtcgtctggcgattgcccgcttgttggtcgataacaatagcg
+aaggtgaatacgccattattcccgccagcgttgccgataaaattgctcagcgcgatgcca
+gcagtatagtgttgcacagcgcgctcagcgccgaagagcaggatgaagacgacccgtatg
+ccgacttcaaagtgcctgatgatttgatgtggtaaacatagataagtcgtgcgcagatgc
+ctgatgcgacgctatgcgcgtcttatcaggcctacggtttatgggcgaagtgtagaccgg
+ataaggcgttcacgccgcatccggcagtcgtgcgccatgcctgatgcgacgctttgcgcg
+tcttatcaggcctacggcttacgggcgaagtgtaggccggataaggcgttcacgccgcat
+ccggcagtcgtgctattatcaacgcatattcagtttattggcgtggtaggcaatatgctc
+gccaataaaactggagacaaaataatagctgtgatcataaccctcgtgataacggattaa
+cgtcttgatattcatctcctggcagatcttttcaagatttggagtccgcagctgttctgc
+gtaaaaatcatcactcaacccctgatcaaccatgatttccgcaacgcgttgaccttgtga
+aataagactcaccgggtcgtaatccaaccaggcatctttattttcagcaagatatgcagc
+aaaggcttgctgtccccacggcacttgcgatggggagacaatgggcgaaaacgccgagac
+gctgacatattcatctgggttacgtaacgccagcaccagcgcgcccagcccgcccataga
+atgaccagagatagactttttggccgttgccggaaaatgatgcatcactaaatccggcag
+ctcgttgcggatatagtcatacattttgtaatgttcattccacggcgcttgcgtcgcgtt
+caggtaaaacccggcaccttgcccgagatcgtaacggtcagcatctgcgacatgactgcc
+tcgcggactggtgtccggcgcaacaacaataatgttgtgctcagccgcgtaacgctgcat
+ccccgatttagtaatgaaattctgctcgttgcaggtcaggcctgaaagccagtacagcac
+cggcaatttttcattcgcggcttttggtgggagatagacgccgacattcatttcacattt
+cagtgattgggaataatgccgatacatattttgccagccgccaaagctgacatgtttttc
+aatgagttccatcagtcattatctcagggttaatcccccggacggctgcccggggagagt
+attaagaacccccgcctgaagtggacggggtaaacctgcgggaaatcagtaacgaattac
+ggttcgaatggatttgccttcatgcatcaggtcgaaggcgtcattaatttcatccaggct
+catggtatgcgtgacaaacggttccagatcgatatcacctttcatcgcatcttcaaccat
+gcccggtaactgggaacgacctttcacgccgccaaacgcggaacctttccatacgcgacc
+agtgaccaactggaatggacgggtggagatttcctgaccggcaaccgcgaccccgatgat
+caccgactgaccccagccgcggtgcgcactttccagcgccgcacgcatcacgttgacgtt
+accgatgcattcaaaggtatggtcgataccccatttgttgatatccaacaggacatcttt
+tatcggtttgtcgtagtcattcgggttaatgcagtcggtagcaccgaagcgacgcgccag
+atcgaatttcttcgggttggtatcgatagcgataatccgacccgctttcgcctgacgcgc
+gccctgaaccactgccagaccaatcgcgccaagaccaaacacggcaacagaatcacctgg
+ctggactttagctgtgttgtgtaccgcgccaataccggtggtcacgccacagcccagcag
+gcagacgtgttcatggtttgcttctggattaatttttgccagagacacttccgcgactac
+ggtgtattcactgaatgtagagcaccccatgtagtgataaagcggctgcccgttgtaaga
+aaaacgggtggtgccgtctggcatcaggcctttaccctgggtttcgcgaaccgcaacaca
+gaggttagttttgccagaacgacagaactcacactcgccgcactccgcggtgtaaagcgg
+gatcacatggtcgccaggtttgacgctggttacgccttcaccgacttcaaccacaacgcc
+ggccccttcgtgaccgagaaccaccgggaatacaccttccgggtcatcgccggagagggt
+aaatgcgtcggtatggcaaacgccggtatgggtgactttaattagcacttcacctttttt
+cggtggtgcaacgtcaatttcaacgatttccagcggtttaccgggagcaaatgcaacggc
+agcacgtgatttcatctctcgctcttcctcaatatggtaatagattcagctatttaagat
+aggcacgaaccagttcaatagtgtcgtcaacggattggctgacttcgcggctgtagcagt
+catttcggtcaaacgtttcccggatatggctttcaagcacttctgccatcagcccattag
+ccgcgccccgaacggcagcgatctgttggagtatggcacggcattcggcatcaccctcca
+gcgaccgttccagagcatcaatctgcccccgaatacgacgaactcgagtaaggacctttt
+tcttctcttccggagtactgggcatttcgcacctcatcatctgcatgcaatatactatag
+gggggtattctatatgtcaatgcatacccccctatagtatataacactggagaataaaat
+ttatccggtgaatgtggtcggaaaacaaagaggaaaggggggggggctaatcggcaggga
+aggccgccccggatagcgggcggcagaaggaatcagaatttccaggtcagacgggctgca
+agttgcagaccgttaaaatcatcggttggggtgtcgtaccacactttacctgccgtcagc
+ccgagattaagttgctcagtcagcggttgaatacgttgcagactgacgctcttcatgctg
+ccgtagcgtgtttctggcgtccagtcataggtgtaagcacctgttccgcggcttagccat
+agttgcgtataaccagtgccgcgcgggtcattcagacgcacggaaatcatattgctataa
+ctaccacctgcatcgctggagtcataatgggtatagcggtagctggtgatcaccgggcca
+gtatagagtgatacgccgccttgccaggcatcgacttcgacatcatcgtaatatttagtg
+tagcgataaccggtcgtgaaaagcgtttttggtaacagggccaggttaatatcctgacga
+aaatcctggcgggcaaagaccggcgtattatccgcaaaggcaatacccgttcgggttgtc
+agccagttattccatttataccagaccgcaccctgaccgcgagtggcattgaaatgttca
+gtttcataatcacgacgcccctgggaaagattaaaaagcagcgttgcgttttcaactttc
+gccaccagttcagcatacgctaaattacggttgccatgatcgccagaataatcggtaaaa
+tcgtagcccgcggtaatggaagttaacccggcataagcgggcaatgcgctaaaaatggcc
+gccgctaataacgtccgttttatcattttaatctcctgtacggataagttcttgtcggag
+tgaataagttccggtaggtaaattacgttctacaatcacgcgcgggccaagttgcgtgtt
+cggggaaataattcgcccaggcaaaataataacttgtacgccaaggcgtgaacgctgccc
+gatataacaacctaatttatcgcatccggtagcgataattccctctggagttcgaacaga
+cacgggctgttcatccagacgatgattactggtacgtacttgtgcgcctaaatatgcctg
+gtttgcaactaccgagtcggcaataaaacattgcggaccaatcgttgcttccgcttcaat
+aaccgcatttttaatctcggtggcaaaaccaatttttacgccattgctgattattgtgcc
+aggacgaataaacgcataattactagactggccccctgaatctccagacaaccaatatca
+cttaaataagtgatagtcttaatactagtttttagactagtcattggagaacagatgatt
+gatgtcttagggccggagaaacgcagacggcgtaccacacaggaaaagatcgcaattgtt
+cagcagagctttgaaccggggatgacggtctccctcgttgcccggcaacatggtgtagca
+gccagccagttatttctctggcgtaagcaataccaggaaggaagtcttactgctgtcgcc
+gccggagaacaggttgttcctgcctctgaacttgctgccgccatgaagcagattaaagaa
+ctccagcgcctgctcggcaagaaaacgatggaaaatgaactcctcaaagaagccgttgaa
+tatggacgggcaaaaaagtggatagcgcacgcgcccttattgcccggggatggggagtaa
+gcttagtcagccgttgtctccgggtgtcgcgtgcgcagttgcacgtcattctcagacgaa
+ccgatgactggatggatggccgccgcagtcgtcacactgatgatacggatgtgcttctcc
+gtatacaccatgttatcggagagctgccaacgtatggttatcgtcgggtatgggcgctgc
+ttcgcagacaggcagaacttgatggtatgcctgcgatcaatgccaaacgtgtttaccgga
+tcatgcgccagaatgcgctgttgcttgagcgaaaacctgctgtaccgccatcgaaacggg
+cacatacaggcagagtggccgtgaaagaaagcaatcagcgatggtgctctgacgggttcg
+agttctgctgtgataacggagagagactgcgtgtcacgttcgcgctggactgctgtgatc
+gtgaggcactgcactgggcggtcactaccggcggcttcaacagtgaaacagtacaggacg
+tcatgctgggagcggtggaacgccgcttcggcaacgatcttccgtcgtctccagtggagt
+ggctgacggataatggttcatgctaccgggctaatgaaacacgccagttcgcccggatgt
+tgggacttgaaccgaagaacacggcggtgcggagtccggagagtaacggaatagcagaga
+gcttcgtgaaaacgataaagcgtgactacatcagtatcatgcccaaaccagacgggttaa
+cggcagcaaagaaccttgcagaggcgttcgagcattataacgaatggcatccgcatagtg
+cgctgggttatcgctcgccacgggaatatctgcggcagcgggcttgtaatgggttaagtg
+ataacagatgtctggaaatataggggcaaatccaattacctatcaggcagtttgcgccaa
+tcactaccggaccctgaataacggcaccatgacaaatacgggtattcgcgccgataacaa
+cttcacctgcagtttcatcaataattacctggtctgcaatctgaatatttttctctttaa
+cattaagcttcagatagtttttcagttcctgtgacagaaggttgggaataagcggttgac
+gcttccaccagtgcggaatagcgggtgggtttgtcgcgctgaggttcgcgtccagtaaaa
+aaggcaataagtccataaataatccagatggcataagctaataatacatacacaacggaa
+agcggcgctaaaggcaccaacaaccagcaacgatgaaaccaggcgctaaaagcaccaata
+acacaaactacgccgacccagataagcggaaacattgccaacaccactccatgcggcccg
+gtggtgatgaattcattaaaccaggtagtgagataaatcccaacgccataaagcacaacc
+aacagcataggaaatatactgaagataccgaagcggctaaataaaagtcttttatgcagg
+cgcatacagaccgcgtatcccacaatccaacgccgccagcgacgccactcctcacgcggg
+ctgttgcattcctgtgggtatacgatgcagcgattcgcctgccgaatacggtagccgttt
+gccaccaatgtccaggtgagatcaaggtcttcgactttagtacgatccgagaaaccgaac
+ttacgcaatacatcagtacggaacatcccgcaggcaccgctgataataaacggtgcgcca
+cccaggagctgctgtagcgtgcgcttcataacaatcatcggcaactttacggtcgcgcgg
+atgtgcggtaacagacccgcgcctttcaacgcagtagagggaatgccgcctacggcatcg
+gcaccgcgctcaatttctgccagcatatagcccattccgtcttgatcgggcggaacatag
+gtgtcggcatcacttaaaaaaacctggtcgcaggtggcgtaattgaggccattcatcagc
+gcaccacctttaccggtatttttttgcgtgacggcaacaaagcggtcgccccatttgcgt
+ttgacttccgccatgaccgcttcggtattgtccgtggagccgtcgttaacgcaaattacc
+cggcaaaaataagggttacgcagtagattatccagtgactgcgccagacacgggccttcg
+ttatacgcaggtataatggcgtcaatacagcctttcttttgactgggtttacgtcttagc
+gtacttaaaaaccatagcaacattgctatggacatacagataaatatccaggttttcatg
+caatttgctcaaagaatcattttatgaattacaaagccttcacccagatcgctattgacc
+tgttgtccgcgaaattgtgcaactgcacgcaggcgatcatgacgcatataatcgcgtcgt
+tcctagcttttatgtttttttaatgcagcaagtttgactgtgaaatattcttctttaacg
+gattcaaaaacctgaggcataaatgaaagccaggtacttggggtttcgtagccgagaatt
+tgcggaatagttcggcaggcaaccattgaagcttgataaacagcaagatgatcctgatgg
+cggtcggcatcatgcatggtatatacccgcatgatttcaacatcagaaggaatttgattt
+ttaatgatgtcttccagggcggaaatcatatcattgagctgtaaatgagcgcgggtgtca
+gcaaaattaagatgaatagtttggtggcaccctaatatctttagggcgttgcgcgattct
+tcatggcgatcgattattccatctgtgccagagttgccggtagtcatcaccacggctgcg
+atataaattcctttttgcgcaagacgagcaagcgatgcgccacagcctaattctatatcg
+tcaggatgtgcgccaatagcaaggataccctttcttttatttgccgaagaaaggagggct
+gaatctaaaaccttatccacttaatgacactccattttatttattatactacaagcacaa
+cgatgcactcagagacgtaatctctggcgcagccagatgttaatttataaatgttaaatg
+ttgctaataactgaaaagcaagggctttcagacccgtgggttcgactgggtaatgtttct
+atgcaattcatatgttaagtgtttgtatgtttggtatgtatagttattttgttttataca
+ttgtatttagatgtgatttagtttgtcaattaattgcatttaaaaaatatgttctgtgaa
+caagcattgtttatatacattatgtgaatgtaatatgcgagtgattgagaatgatacagt
+gatatatacaatgcgaatataatagttttattatatgtattgatattgatagaaataatg
+aagtaataaatctcgtaatgtggttgtttatgcatcactaaaatgaagtgtagtaatttt
+cccaattgttagaacggagtaattgcatatttaatctttccttagccgtttttttgctaa
+gaataaaatcatctgtgcgataacgactaattcttttaatgaatgtttttattcctgaat
+actgctcccataacaagacaggggagcagacaatcatggcaatttcatcgcgtaacacac
+ttcttgccgcactggcattcatcgcttttcaggcacaggcggtgaacgtcaccgtggcgt
+atcaaacctcagccgaaccggcgaaagtggctcaggccgacaacacctttgctaaagaaa
+gcggagcaaccgtggactggcgtaagtttgacagcggagccagcatcgtgcgggcgctgg
+cttcaggcgacgtgcaaatcggcaacctcggttccagcccgttagcggttgcagccagcc
+aacaggtgccgattgaagtcttcttgctggcgtcaaaactgggtaactccgaagcgctgg
+tggtaaagaaaactatcagcaaaccggaagatctgattggcaaacgcatcgccgtaccgt
+ttatctccaccacccactacagcctgctggcggcactgaaacactggggcattaaacccg
+ggcaagtggagattgtgaacctgcagccgcccgcgattatcgctgcctggcagcggggag
+atattgatggtgcttatgtctgggcaccggcggttaacgccctggaaaaagacggcaagg
+tgttgaccgattctgaacaggtcgggcagtggggcgcgccaacgctggacgtctgggtgg
+tgcgcaaagattttgccgagaaacatcctgaggtcgtgaaagcgttcgctaaaagcgcca
+tcgatgctcagcaaccgtacattgctaacccagacgtgtggctgaaacagccggaaaaca
+tcagcaaactggcgcgtttaagcggcgtgcctgaaggtgacgttccggggctggtgaagg
+ggaatacctatctgacgccgcagcaacaaacggcagaactgaccggaccggtgaacaaag
+cgatcatcgacaccgcgcagtttttgaaagagcagggcaaggtcccggctgtagcgaatg
+attacagccagtacgttacctcgcgcttcgtgcaataaaaggaggcgcagatgctgcaaa
+tctctcatctttacgccgattatggcggcaaaccggcactggaagatatcaacctgacgc
+tggaaagcggcgagctactggtggtgctggggccgtccggctgcggtaaaaccaccctgc
+tgaatctgattgccggttttgtgccttatcagcatggcagcattcaactggcgggtaagc
+gtattgagggaccgggagcagagcgtggcgtagtttttcagaatgaagggctactaccgt
+ggcgcaatgtacaggacaacgtggcgttcggcctgcaattggcaggtatagagaaaatgc
+agcgactggaaatcgcgcaccagatgctgaaaaaagtggggctggaaggcgcagaaaaac
+gctacatctggcagctttccggtggtcaacgtcagcgggtggggattgctcgtgcgctgg
+cggcgaatccccagctgttattactcgacgaaccgtttggtgcgctggacgccttcaccc
+gcgaccagatgcaaaccctgctgctgaaactctggcaggagacgggcaagcaggtgctgt
+tgattacccacgatatagaagaagcggtgtttatggcgactgaactggttctgctttcat
+ccggccctggccgtgtgctggagcggctgccgctcaactttgctcgccgctttgttgcgg
+gagagtcgagccgcagcatcaagtccgatccacaattcatcgccatgcgcgaatatgttt
+taagccgcgtatttgagcaacgggaggcgttctcatgagtgtgctcattaatgaaaaact
+gcattcgcggcggctgaaatggcgctggccgctctcgcgtcaggtgaccttaagcattgg
+cacgttagcggttttactcaccgtatggtggacggtggcgacgctgcaactgattagccc
+gctatttttgccgccgccgcaacaggtactggaaaaactactcaccattgccggaccgca
+aggctttatggacgccacgctgtggcagcatctggcagccagtctgacgcgcattatgct
+ggcgctatttgcagcggtgttgttcggtattccggtcgggatcgcgatgggacttagccc
+tacggtacgcggcattctggatccgataatcgagctttatcgtccggtgccgccgctggc
+ttatttgccgctgatggtgatctggtttggtattggtgaaacctcgaagatcttactgat
+ctatttagcgatttttgcaccggtggcgatgtcggcgctggcgggggtgaaaagcgtgca
+gcaggttcgcattcgtgccgcccagtcgctgggtgccagccgtgcgcaggtgctgtggtt
+tgtcattttgcccggtgcgctgccggaaatcctcaccggattacgtattggtctgggggt
+gggctggtctacgctggtggcggcggagctgattgccgcgacgcgcggtttaggatttat
+ggttcagtcagcgggtgaatttctcgcaactgacgtggtgctggcggggatcgcggtgat
+tgcgattatcgcctttcttttagaactgggtctgcgcgcgttacagcgccgcctgacgcc
+ctggcatggagaagtacaatgagtgaacgtctgagcattaccccgctggggccgtatatc
+ggcgcacaaatttcgggtgccgacctgacgcgcccgttaagcgataatcagtttgaacag
+ctttaccatgcggtgctgcgccatcaggtggtgtttctacgcgatcaagctattacgccg
+cagcagcaacgcgcgctggcccagcgttttggcgaattgcatattcaccctgtttacccg
+catgccgaaggggttgacgagatcatcgtgctggatacccataacgataatccgccagat
+aacgacaactggcataccgatgtgacatttattgaaacgccacccgcaggggcgattctg
+gcagctaaagagttaccttcgaccggcggtgatacgctctggaccagcggtattgcggcc
+tatgaggcgctctctgttcccttccgccagctgctgagtgggctgcgtgcggagcatgat
+ttccgtaaatcgttcccggaatacaaataccgcaaaaccgaggaggaacatcaacgctgg
+cgcgaggcggtcgcgaaaaacccgccgttgctacatccggtggtgcgaacgcatccggtg
+agcggtaaacaggcgctgtttgtgaatgaaggctttactacgcgaattgttgatgtgagc
+gagaaagagagcgaagccttgttaagttttttgtttgcccatatcaccaaaccggagttt
+caggtgcgctggcgctggcaaccaaatgatattgcgatttgggataaccgcgtgacccag
+cactatgccaatgccgattacctgccacagcgacggataatgcatcgggcgacgatcctt
+ggggataaaccgttttatcgggcggggtaatacgagagtggacggtcccctcgccccctt
+ggggagagggttagggtgagggggcgttcaccgtactttcaacaggttaactcccccttt
+ctgagaggaaacaaaattaacgcagaatcttcttctcagccaaatccagcgcaaagtagc
+tgaaaatcagatccgcacccgcacgcttaatcgaacctaagctttcgagcacgactttct
+cttcatctatagcacccgccagcgcggcgaacttaatcatcgcatactcaccgctcacct
+gatacgcgccaatcggcaattcagtacgttcacgcagctcacgcacgatgtcgaggtacg
+ctccagcaggtttaaccatcaggcagtctgcgccctgggcttcatccagcagtgattcac
+gaatcgcctcacgacggttcattgggttcatctgatagcttttgcggtcgccttttaatg
+cgcttccggcagcttcacggaacgggccataaaaggaggaggcgaacttggtcgaatacg
+acataatcgccgtatctttaaatcccgcagcgtccagcgcctgacgaatcgcctgtacct
+ggccgtccatcgcggcggaaggggcgatgaagtctgcacctgcagcagctgcaaccacgg
+cttgcttgcctaaattttccagagtcgcgtcgttgtcgacgccatgctcgcacagcacac
+cgcagtgaccgtgagaagtgtattcacagaagcaggtgtctgacataacgatcatttctg
+gcacggtctgcttgcagatgcgcgacatacgcgccaccagtccatcttcccgccaggcat
+cgctgccggtttcatcggtatggtgagagatgccaaaagtcatcacggaacgaataccgg
+cgttggcgatgcgttcaatttcgcgtgccagatgtttctctggaatgcgcatcacgcctg
+gcatggcttcaacggctttgtagtcgtcaatttcttcttcaacaaagatcggcaacacca
+ggtcgttaaggctaagtgttgtctcttcaaacatagcgcgcagcgcaggagatttgcgca
+ggcgacgagggcgttggattaagtctgtcatggtctgcctgatgtttgtggaatcgaggg
+gcatagtatacctgaagcagggtagggatgttttacgaaagttgtcgcgatgttgacaag
+aagagaatggaagagaggccaggacatctttttaatagaaacagcaataattttatattc
+actgaaaatatttttaatctttatttatagctgttggttattattttttggagtttggtt
+gcgctgctataaattgaataattaaaactttgttgcatattcataggatatttatctggt
+ttgtgtttgtgatatttattatgcgtatgcttcaaaaacaaaattatctgcaacatgttg
+aaatactgtgcttttatgaatttgatgcgtgtttttctccataaattatatatgtccaca
+ttcggacttaggggaaagaataattgaaccattcgtctgtaacgcagcataatcgttagc
+gcgaaacataatatgttttctatgcattgataattgatggatcaacttattacgtccctg
+aggagggatgacaaatgcactcctggaaaaagaaacttgtagtatcacaattagcattgg
+cttgcactctggctatcacctctcaggctaatgcagcaaactatgatacctggacttata
+tcgataatcccgttacagcacttgattgggatcatatggataaggcaggcactgtagatg
+gcaactatgtaaactatagtggttttgtctattacaacaacaccaatggtgatttcgatc
+agtcctttaacggcgataccgttaacggcacgatctcaacctattatttgaaccatgatt
+atgcagacagtactgctaatcagcttgatatcagtaattcagtgattcacggttcgatta
+cttctatgctgcctggcggttattatgatcgttttgatgcagatggtaataatctgggtg
+gatatgatttttacactgatgcggttgttgatacacactggcgtgatggtgatgttttca
+ctttgaacattgctaacactactattgatgatgattatgaagctctttacttcactgatt
+cttataaagatggtgatgtaaccaagcacacaaatgagacatttgatacaagtgaaggcg
+ttgctgttaatcttgatgtagaaagtaacatcaatatttccaataactcccgcgttgcag
+gtattgcattatctcaaggtaatacttacaacgaaacctacactaccgaatctcatactt
+gggataacaatatctctgtaaaagattccacagtgacttcgggttcaaattatatcctgg
+atagcaatacttatggcaaaactggtcactttggcaattctgatgaaccgagtgattatg
+ctggcccgggtgatgttgcaatgtcctttactgcttcaggttccgactatgcgatgaaga
+acaatgtattcctcagcaattcaacgctgatgggtgatgttgcctttaccagcacctgga
+atagtaattttgatccgaatggtcatgattccaacggtgacggggtgaaagataccaacg
+ggggttggactgatgatagcctcaacgttgatgaactaaatctcactctcgataacggaa
+gcaagtgggttggtcaggcaatttataacgttgctgaaacgtcagcaatgtatgatgttg
+ctacaaacagccttactcctgatgcaacatatgaaaacaatgactggaaacgtgttgttg
+atgacaaggtcttccagagcggtgtatttaacgtagcgttgaataacggttctgaatggg
+atactacaggtcgttccatcgttgataccttgacagttaataatggttctcaggttaatg
+tttcggaatctaaattaacttcagatactatcgatttaactaacggttcttcgctgaaca
+ttggtgaagatggctacgttgataccgatcatctgactattaactcctacagtactgttg
+cgttgaccgaatctactgggtggggggctgattgatcctacccacgtaatatggacacag
+gcctaagcgaggttcttgttttcaaattgttccggactgaggccgccacaccaactgtgc
+cgccgccaccgattgtaatcacattcgatataattaaacaccgttgcccgcattatttcc
+cggctgataaagtgttctccatggatacattccactttcagcgaatgaaagaagctttcc
+acgcaggcattatcgtagcagcaaccttttgcgctcatacttccacgcagattatgccgc
+ttcagttgcgcctgataatctgctgaacagtactggcctccacggtccgtgtgaacgata
+acgttccggggcctcttacgccgccacagcgccatctgcagggcatcgcaggccagttgc
+gccgtcatgcgtggcgacattgaccagccaataacggcacgtgaccacaggtcaatgacc
+actgccagatacagccagccttcatctgtacgtaagtacgtgatgtctcctgcccacttc
+tggttcgggccactggcgtaaaaatcctgctccaacagattttctgacacaggcaggccg
+tgtgcgcggtagctgaccgggctgaacttccgggaggcctttgccctcagtccctgacgg
+cgcaggcttgccgccacggtttttacgttaaaggggtaaccctgagcacgcagttcatcc
+gtcaggcgtggggcaccgtaacgctgttttgaccgggtaaaagccgcgaggacaacgctg
+tcgcagtgttggcggaactgctgacgcgtgcttatccttgtccgccgctgacaccacgta
+taccagccgctgcgggccacccggagcacgcggcacattgctttgatgctgaactcagcc
+tgatgtttttcaataaagacatacttcatttcaggcgcttcgcgaagtatgtcgcggcct
+tttggaggatagccagctcttcatcccgttctgccagctggcgtttgagacgtgcaatct
+cggtagacatctccagttcacgttcagaagacgtctgctgattttgctgtttactgcgcc
+agttgtagagttgtgattcatacaggctgagttcacgggctgcggcagtaacaccgatgc
+gttcagcaagcttcagggcttcactgcgaaattcaggcgaatgctgtttacggggttttt
+tactggttgatactgtttttgtcatgtgagtcacctctgactgagagtttactcacttag
+ccgcgtgtccactattgctgggtaagatcagattacaacctgtacgccaatactatcacc
+gtaactaacggcggtgtattggatgtgaacgttgatcagttcgatactgaagctttccgt
+actgacaaactggaactgaccagcggcaacatcgctgaccataacggtaacgtagtatct
+ggtgtgttcgatatccatagcagcgattacgttctgaacgctgatctggtgaacgaccgt
+acctgggatacttccaagtctaactacggttacggtattgttgctatgaactctgatggt
+cacctgactatcaacggtaacggcgacgtagacaacggtactgaactggataacagctct
+gtagacaatgttgttgctgcaaccggtaactacaaagttcgtatcgacaacgcaactggc
+gctggcgctatcgctgattacaaagataaagaaattatctacgtaaacgacgtcaacagc
+aacgcgaccttctctgctgctaacaaagctgacctgggtgcatacacctatcaggctgaa
+cagcgcggtaacaccgttgttctgcaacagatggagctgaccgactacgctaacatggcg
+ctgagcatcccgtctgcgaacaccaatatctggaacctggaacaagacaccgttggtact
+cgtctgaccaactctcgtcatggcctggctgataacggcggcgcatgggtaagctacttc
+ggtggtaacttcaacggcgacaacggcaccatcaactatgatcaggatgttaacggcatc
+atggtcggtgttgataccaaaattgacggtaacaacgctaagtggatcgtcggtgcggct
+gcaggcttcgctaaaggtgacatgaatgaccgttctggtcaggtggatcaagacagccag
+actgcctacatctactcttctgctcacttcgcgaacaacgtctttgttgatggtagcttg
+agctactctcacttcaacaacgacctgtctgcaaccatgagcaacggtacttacgttgac
+ggtagcaccaactccgacgcttggggcttcggtttgaaagccggttacgacttcaaactg
+ggtgatgctggttacgtgactccttacggcagcgtttctggtctgttccagtctggtgat
+gactaccagctgagcaacgacatgaaagttgacggtcagtcttacgacagcatgcgttat
+gaactgggtgtagatgcaggttataccttcacctacagcgaagatcaggctctgactccg
+tacttcaaactggcttacgtctacgacgactctaacaacgataacgatgtgaacggcgat
+tccatcgataacggtactgaagggtctgcggtacgtgttggtctgggtactcagtttagc
+ttcaccaagaacttcagcgcctataccgatgctaactacctcggtggtggtgacgtagat
+caagactggtccgcgaacgtgggtgttaaatatacctggtaatattcttcactccgaaga
+aatactggtaatttaatctaaataatgcccgtcaaggatttgacgggcattactgcaaag
+gacgcgcaaatgttatctgtagttaaacctcttcaggaatttggtaagctcgataaatgt
+ttgtccagatacggtacgcgcttcgagtttaataatgaaaagcaagttatattttccagt
+gatgtcaataacgaagatactttcgttattttagagggagttatctctctgcgtagagaa
+gaaaacgtacttatcggtattacccaggctccttatattatggggctggctgatggttta
+atgaaaaacgatataccatacaaattaatatcagaaggaaattgtacgggatatcatcta
+ccagccaaacaaaccattacgcttattgaacaaaatcaactctggcgagacgctttttac
+tggttagcctggcaaaatagaattctggaattacgcgacgtgcagctcattgggcataat
+tcctacgaacaaatccgcgcaacattattatcaatgattgactggaatgaagaattgcga
+tcacgtattggtgtgatgaattatatccatcaacgtacacgcatatcgcgttctgtcgtc
+gcagaagttctcgctgctttgcgtaaaggcggctatatcgaaatgaataaaggcaaactg
+gtcgctatcaaccgtttgccttcagagtattaatcaggacgcggggataaccaacggttt
+attcccgcttagctcggtcaccaggtcattgatgccatcgctcatatttttaaagcgcgt
+caacggcgaacgagtgaccaccacaaacgcgccaatattcttctgcgggatcatcgccat
+ataggtaatgaaaccgccaccaccgcctgtcttctgaataatccccggacgaccctcttt
+cggggccatatatacccaacctaaaccaagcgcatccgctttgccggggacatccatgcc
+aatcactttcgtaaactgcgcgcgctgataaatcaacgtctgcatgcgatctgcctggtt
+actgcgctgataaaaatcagatgacaaatactgctgcatccagcgcatcatatcgccagg
+cgtggaatagacgccgccgctgccaattgccgccagcgtgttattgcacggactggcacc
+gcgctcagcaaccattaaacggcggcactgatccggtgagggggtgtaggtggtgtcttt
+catccccaatggacgggtaatctgctcttcaaacaactgggtataaggcttgccggacgc
+attcgccagtgcatctgccagcaggtcgaacgcaaggttagagtacgccgcctgactgcc
+tggcgcggctttcagcttcgccgtagaaaggtatttccagcgttgctcgcgcgttggcca
+gacaaacaccggacgatgtgccgcgccaccgggctgttcacggggcagggcgctggtatg
+ggttgccagattgaccagcgtaatgggcgtcccattgtaggttggcacgcgtgcgcctgg
+cggagcatatttacttagcggatcgtttaacttcacggtcccctggtcgagcaatttcac
+cagcatctcactggtcattagcttggtgagggaagcaatacgcacgaccgaatccagctg
+cgggcgaacgttattaccaggtcgcgtttcgccataactgcgaaagacgcgctggttacc
+gtcgataacaaccagagccatccccgtggcaccgctgccgtaaaaaatatgatcggcata
+acgatcgacaatatcagaggcaaactccggttcagtgatcggctgcgccgcatggacgga
+ggtcaatgacgccgcacacagcacggcagaaaaaagcagactacgtttcaacggtggtgt
+ccatagattgaatgaaggtaactgagcgtatttatactactcattgatagattgcaaagg
+gcgaattagtgcaataatagtgttaaaaacgtaacggcgcgtaaacacgatctttttcct
+gctcaccaatgcctgcatttgtgatcctgcgcgtgttaatccgcttatgtaaacaatctt
+tggtttgtgaaatccgtcgaaacaattcttatggtcaggctggcgaactaagcgccttgc
+tatgggtcacaatgggcggtttcatttggctgacgctttgtagcggtcatgcggttaata
+cacagcagttgttaaaacgataagaagttagcaggagtgcatatgtttaagtcttttttc
+ccaaagccgggaacgttttttctctcggccttcgtttgggcattgattgccgttatcttc
+tggcaagccggtgggggtgactgggtggcgcgtatcaccggcgcttccgggcagatcccg
+attagcgccgcgcgtttctggtcgttggatttcctgattttttacgcttactacattgtt
+tgcgtaggactttttgcattgttctggtttatctacagcccgcatcgttggcaatactgg
+tcaatactcggtactgcactgatcatcttcgtcacctggtttttggtggaagtcggggtc
+gccgtcaacgcctggtatgcgccgttctatgatctgattcaaaccgcgctaagttcgccg
+cataaagtcaccatcgaacaattttaccgcgaagtgggcgtctttctggggattgcgctg
+atcgctgtggtgatcagtgtgctgaacaacttctttgtcagtcactacgtgttccgctgg
+cgtacagcgatgaacgaatattacatggcgaactggcaacaactgcgtcatatcgaaggg
+gccgcacagcgtgtgcaggaagacaccatgcgttttgcttcaacgctggagaatatgggc
+gtcagttttatcaacgccatcatgacgttgatcgccttcctgccggtgctggtaacgctc
+tccgcgcatgtgccggagctgccgattatcgggcacattccgtatggtctggtgattgcc
+gcaatcgtctggtcgctgatggggaccggattgctggcagtggtagggatcaaactgccg
+gggctggagtttaaaaaccagcgtgtagaggctgcctaccgtaaagagctggtttatggt
+gaagacgatgccacgcgcgcgacgccgcctacggtacgcgagctgtttagcgccgtacgg
+aaaaactatttccgcctctattttcactatatgtatttcaacatcgcccgcattctctat
+ttgcaggtcgataacgttttcggtttgttcttgctgtttccgtcaattgttgccggtacg
+attacgctcggcctgatgacgcagattaccaacgtttttggtcaggttcgcggtgctttc
+cagtacctgattaactcatggaccacactggttgagttgatgtctatctacaaacgtctg
+cgcagctttgaacatgagctggatggtgacaaaattcaggaagtaacccataccttgagc
+taaaaaggagaagtaatgtcgcgcgtcaatcctctatcttcgctgtcattgttggcggtt
+ctggttttagcggggtgtagtagtcaggctccgcaaccgttgaaaaagggcgaaaaagcg
+atagatgtagcgagcgtcgtgcggcagaagatgcctgcgagcgtgaaagaccgcgatgcc
+tgggcgaaagatctcgccaccacctttgaaagtcaggggctggcaccgacgctggaaaac
+gtctgctcggtgctggcggtggcgcagcaggagtcaaattatcaggcagatccggccgtt
+ccgggcttaagcaagatcgcctggcaagagattgaccgtcgtgctgaacggatgcacatt
+cctgcttttctggttcataccgcgctaaaaatcaaatcgccaaacggcaaaagttatagc
+gaacggttagattcggtgcgtacagaaaagcaattgagcgcgatttttgacgatctgatc
+aacatggtgccaatggggcagacgctgtttggttcgctcaatccggtgcgcaccggtggg
+ccgatgcaggtcagcattgcttttgccgaacagcataccaaagggtatccgtggaaaatg
+gacggtacagtccgtcaggaagtcttcagtcgccgcggcgggttgtggtttggtacttac
+catttactgaattatcccgccagttatagcgcaccgatataccgttttgctgattttaac
+gctggctggtacgccagccgtaatgccgcgtttcagaacgcggtcagtaaggccagcggc
+gtgaagctggcactggacggtgatttaattcgttacgacagtaaagaacccgggaaaacc
+gaactggcaacgcgcaaactggctgcaaaactggggatgagcgacagcgaaattcgccgt
+cagttagagaaaggtgacagcttctcttttgaggagacggcgctgtacaagaaagtttat
+caacttgccgaaacgaaaacgggtaaatcactcccccgcgaaatgttgcctggcattcaa
+ctggaaagcccgaaaatcacccgcaacctgactacggcctggtttgcgaagcgcgtagac
+gaacggcgggcgcgttgtatgaaacagtgatcaaacaggaatgtcaggccagataaggcg
+tttcaggccgcatctgacaatgtaaaacttactggcggcgatgtcgccagtgcagccata
+gcgccaccactgcaaaaatgaggcagcctactaaaaacgggatcagcccgaaaatggtgc
+cgacacctaaaccaatttccacccgtgggcgacctgtttcctggacctgcattaaacgct
+catagacgccgggcgcatgcactaacaggttcagcaattgcgccccagcccaaaagcaaa
+acagcacaaacaacgcataggcaatgttgccaggcgttgaagaggcattgcgatattttc
+cgctaaacagcgattttgacagggtgaaatcagccataaaaacctccggaagtcatctgc
+ttctcttctggtgtgataccagcggcttatggcaagtctgacaggtcatttagattgtca
+atatcagaatcatggtaaattgatgttgggaatattcccgaagcgtgaatcttcgttgtg
+agtcacaaaatggcaaccttaagttaaatttattaacaattacgaaaatgttgtctacac
+cacagacggttgttgcagaatatgcaaggatgttgtttttcgttaacggagctgccatga
+atctgcctgtaaaaatccgccgtgactggcactactatgcgttcgccattggccttatat
+tcattcttaatggcgtggtggggttactgggatttgaagcaaaaggttggcagacctatg
+ccgtcggtctggtgacgtgggtgattagtttctggctggcggggttgattattcgtcgtc
+gcgatgaagaaactgaaaacgcccaataagaatattatcgggcgttaaaatattacattg
+tggttttcaatgcgttatccgcagcgtgacgctccagcgccagttcaatcaaacgtgtga
+tcagatcggtgtaacccagaccgctggcttgccacagcttcggatacatactgatattag
+tgaagccaggcagggtgttgatctcgttgatcaccacttcgttctctggggttaaaaaca
+cgtctacacgcgccatgcctgcgcatcccaacgtttgataagcctgaacggcaatcgccc
+ggatcttatcgttgatttctggcgcaatggctgccggaactaccactttcgcgccatctt
+cgtcaatgtacttggtgtcgtaggcatagaaatcgctggtgagtacgatctctccacagg
+tgctggcttgcggattgtcgttgcccagaactgcgcattcgatctcacgacctttgatcc
+cttgctcaacgatcactttatgatcgaactcgaacgccagatcgacggcaattgcgtact
+gttcttcactggttactttgctgacaccaacagaagagccctgattagccggttttacaa
+acagtggtaaccccagtttagactccacttcggcaaaactaatgttgtgacgattggcgc
+gcgtcagggtaataaatggcgcaatgttcagcccggcatcgcgtagcagacgtttggtga
+catctttgtccatacaggctgctgaagccagaacatcagaacctacaaacggtaaattgg
+cgacccgcagcattccctgcaaggaaccatcttcgcccagcgtaccgtggacaatcggga
+aaatgacatccaccgtcggcaacggctgaccgttttgcgcgtcgataagctgatgctcat
+gtttacctggcacctgcgcaaggctggtcgccgaagggcgcaacgcaatatgggcaggat
+cgtctgcatttagcagataattgctggcatcgctgacgtgccattgcccttgtttatcaa
+tgcccagcagcacaacgtcgaagcgacttttatcaatggcatcgacaatgttttttgccg
+attgcagagacacttcatgttccgctgatttaccaccaaaaacgattcctacccgcagtt
+tttccatcttaaaaacctatcccgtctaacacaaagtgcatacattaccacgacaaaacg
+ggggattcgcggccttctgaaagattgttgcaatcttctgctgacaaagcgtgcaacgta
+ctggtgaagaaagtgcgttatctcaaagatgtgcgcaagatcacaaaaatgatgaacggg
+aagctaatttattcctggcttaaatggccatgcggtgagtttttttctcttaattataag
+ttaacgaagagaatatatttcataacttttatttataataaaggttgataattaaaagcc
+tatattttgtgtgggtaattatttaaataagagaaacgtttcgctggtaatcaaacaaaa
+aatatttgcgcaaagtatttcctttgtcataaaaataatacttccagacactatgaagtt
+gtgaaacataatgttaacttctccatactttggataaggaaatacagacatgaaaaatct
+cattgctgagttgttatttaagcttgcccaaaaagaagaagagtcgaaagaactgtgtgc
+gcaggtagaagctttggagattatcgtcactgcaatgcttcgcaatatggcgcaaaatga
+ccaacagcggttgattgatcaggtagagggggcgctgtacgaggtaaagcccgatgccag
+cattcctgacgacgatacggagctgctgcgcgattacgtaaagaagttattgaagcatcc
+tcgtcagtaaaaagttaatcttttcaacagctgtcataaagttgtcacggccgagactta
+tagtcgctttgtttttattttttaatgtatttgtacatggagaaaataaagtgaaacaaa
+gcactattgcactggcactcttaccgttactgtttacccctgtgacaaaagcccggacac
+cagaaatgcctgttctggaaaaccgggctgctcagggcgatattactgcacccggcggtg
+ctcgccgtttaacgggtgatcagactgccgctctgcgtgattctcttagcgataaacctg
+caaaaaatattattttgctgattggcgatgggatgggggactcggaaattactgccgcac
+gtaattatgccgaaggtgcgggcggcttttttaaaggtatagatgccttaccgcttaccg
+ggcaatacactcactatgcgctgaataaaaaaaccggcaaaccggactacgtcaccgact
+cggctgcatcagcaaccgcctggtcaaccggtgtcaaaacctataacggcgcgctgggcg
+tcgatattcacgaaaaagatcacccaacgattctggaaatggcaaaagccgcaggtctgg
+cgaccggtaacgtttctaccgcagagttgcaggatgccacgcccgctgcgctggtggcac
+atgtgacctcgcgcaaatgctacggtccgagcgcgaccagtgaaaaatgtccgggtaacg
+ctctggaaaaaggcggaaaaggatcgattaccgaacagctgcttaacgctcgtgccgacg
+ttacgcttggcggcggcgcaaaaacctttgctgaaacggcaaccgctggtgaatggcagg
+gaaaaacgctgcgtgaacaggcacaggcgcgtggttatcagttggtgagcgatgctgcct
+cactgaattcggtgacggaagcgaatcagcaaaaacccctgcttggcctgtttgctgacg
+gcaatatgccagtgcgctggctaggaccgaaagcaacgtaccatggcaatatcgataagc
+ccgcagtcacctgtacgccaaatccgcaacgtaatgacagtgtaccaaccctggcgcaga
+tgaccgacaaagccattgaattgttgagtaaaaatgagaaaggctttttcctgcaagttg
+aaggtgcgtcaatcgataaacaggatcatgctgcgaatccttgtgggcaaattggcgaga
+cggtcgatctcgatgaagccgtacaacgggcgctggaattcgctaaaaaggagggtaaca
+cgctggtcatagtcaccgctgatcacgcccacgccagccagattgttgcgccggatacca
+aagctccgggcctcacccaggcgctaaataccaaagatggcgcagtgatggtgatgagtt
+acgggaactccgaagaggattcacaagaacataccggcagtcagttgcgtattgcggcgt
+atggcccgcatgccgccaatgttgttggactgaccgaccagaccgatctcttctacacca
+tgaaagccgctctggggctgaaataaaaccgcgcccggcagtgaattttcgctgccgggt
+ggtttttttgctgttagcaaccagacttaatggcagatcacgggcgcatacgctcatggt
+taaaacatgaagagggatggtgctatgaaaataacattactggttaccttgcttttcggt
+ctggtttttttaaccaccgtcggcgctgccgagagaactttaaccccacaacaacagcgt
+atgacctcctgtaatcagcaggcgacggcgcaggcgttgaaaggggatgctcgtaagacc
+tacatgagtgattgcctgaagaacagcaagtctgcgcctggcgaaaaaagtttgacgcca
+cagcagcaaaagatgcgcgaatgcaataatcaagcaacacaacaatctctgaaaggtgat
+gatcgtaataagtttatgagtgcctgcctcaagaaagccgcctgatacctgatagtgcta
+acgggtgagctacgaaaatggctcacccgaaatatcatacttctgcctttagctccgtct
+ctataatttgggaaaattgtttctgaatgttcccaaaaataatgaatgatgaaaactttt
+tcaaaaaagcggcggcgcacggggaggaacctcctttaactcctcaaaacgaacatcagc
+ggtccgggctgcgcttcgcccgtcgcgtcagactaccccgtgcggttggcctggctggca
+tgttcttaccgattgcttcaacgctggtttcacacccgccgccgggctggtggtggctgg
+tgttggtcggctgggcgttcgtctggccgcatttagcctggcagatagcgagcagggccg
+tcgatccgcttagccgggaaatttacaacttaaaaaccgatgcagtattagcgggaatgt
+gggtaggcgtaatgggcgtaaacgtgctgccttccaccgcgatgttgatgattatgtgtc
+tgaatttgatgggggcaggcggcccccgtctgtttgtcgcgggtctggtgttgatggtgg
+tttcctgccttgtcaccctcgagctgacgggcattaccgtgtcgttcaatagtgcgccgc
+tggaatggtggctctcccttcccattattgtcatttatcctctgctgtttggctgggtca
+gctaccagacggcaaccaaactggcggaacataaacgcaggttgcaggtcatgagtaccc
+gcgacggcatgacgggcgtgtataaccgacgtcattgggaaactatgttacgcaatgaat
+ttgataactgtcggcggcataatcgcgatgcaacgttactgattatcgatatcgaccatt
+tcaagagcatcaacgatacctggggccatgatgtgggcgatgaagcgattgtggcgctta
+cccgacagttacaaattaccctgcgcggtagcgatgtgattggtcggtttggcggcgatg
+agtttgcagtaatcatgtccggtacgccagctgagagcgccattaccgccatgttacggg
+tgcatgaagggctaaatacattacgtttgccgaatacgccacaggtaactttacggatta
+gtgtgggggttgcgccgctgaacccacaaatgagtcactatcgtgagtggttgaaatcgg
+cagatttggcgctttacaaagcaaagaaagccggacgtaaccgcaccgaagtggcggcct
+gacgtccggcgaaagtcatcaggatttgctgagtttttctgatttttccatacacttcgt
+catcgcttcgatcactgcagcacggaagcctttctcttccagtacgcgtaccgcttcaat
+ggtggtgcctcccggtgagcagaccatatctttcagtgcccccggatgttctcccgtttc
+cagcaccatttttgcggaacccattaccgcctgagcggcaaatttatacgcctgggcgcg
+tggcatcccgcccagcacggcggcgtcggccatcgcttcgataaacataaatacgtaggc
+tggcgaagaaccgctcacaccgaccaccgggtggatcatcggctcagcaattacttccgc
+ttcgccaaagcagcggaaaatattcagcacatcagcggtatcttctggggttaccagcgc
+gtttggcgttacggaggtcatcccggcattaaccagtgcgggagtgttcggcatggcgcg
+gataattttccggtcatggcccagcgcgcgggcaagctggtcgagcgtgacacctgcagc
+aatagaaacgaccagagagtctttattcaggctggaggtgatttcgctaagcactttaat
+catgatgccaggtttaacggcagcaaaaatgatgtcggcgatttgcgccacttcttgcgc
+cgattctgcggcgttgatgccgaactggtcatgcagggcggcgactttatccggggaggg
+ggtgtatacccagatttgccctggaagcacctgaccgctggcaatcagaccgccgagaat
+ggcttttcccatattgccgcagccaataaaaccgattttcttttccattgcctcactcct
+gccgtgaaattcattgttttgataatcgctggcagaagcataaacagaactatgccggaa
+ggcaaaagcgcgacacaatagaggattacccaacaaaggatgactttatgacaatttggg
+tggatgccgacgcgtgtcccaatgtaattaaagagattttgtatcgcgcggcggaacgta
+tgcagatgccgctggtactggtagcaaaccagagtttacgcgtgccgccatcgcgattta
+ttcgtacgctgcgcgtcgcggcaggtttcgacgttgccgataacgaaattgtccggcagt
+gtgaagcgggcgatttggtgatcaccgcagatatacctttggctgctgaagccatcgaga
+aaggcgctgcggcgcttaatccgcgcggcgaacgttacacgccagcgaccattcgtgagc
+gcctgacgatgcgcgattttatggataccttacgtgccagtgggatccagaccggcggac
+cagatagcctttcacaacgtgaccgccaggcctttgccgcggagctggagaagtggtggc
+tggaagtgcaacgtagtcgtggctaaatgtaatttattatttacacttcattcttgaata
+tttattggtatagtaaggggtgtattgagattttcactttaagtggaattttttctttac
+aatcgaaattgtactagtttgatggtatgatcgctattctcatgacaccggctttcgccg
+cattgcgacctattggggaaaacccacgatgacacaacctctttttctgatcgggcctcg
+gggctgtggtaaaacaacggtcggaatggcccttgccgattcgcttaaccgtcggtttgt
+cgataccgatcagtggttgcaatcacagctcaatatgacggtcgcggagatcgtcgaaag
+ggaagagtgggcgggatttcgcgccagagaaacggcggcgctggaagcggtaactgcgcc
+atccaccgttatcgctacaggcggcggcattattctgacggaatttaatcgtcacttcat
+gcaaaataacgggatcgtggtttatttgtgtgcgccagtatcagtcctggttaaccgact
+gcaagctgcaccggaagaagatttacggccaaccttaacgggaaaaccgctgagcgaaga
+agttcaggaagtgctggaagaacgcgatgcgctatatcgcgaagttgcgcatattatcat
+cgacgcaacaaacgaacccagccaggtgatttctgaaattcgcagcgccctggcacagac
+gatcaattgttgattttcgagcgcctatacttaacgttcatcccgtgaaataaggaagaa
+cgatgccaacgaaaccgccttatcctcgtgaagcatatatagtgacgattgaaaaaggaa
+agccaggacagacggtaacctggtaccaactcagagccgatcatcctaaaccagactcgt
+tgatcagtgaacatccgaccgctcaggaagcgatggatgcgaaaaaacgctatgaggacc
+ctgacaaagagtgaccgcatcagactgctcggaagggattctgagtgccactacaaggga
+tctgcgtcacatttttcataattcatgtttttctaataattagaatattaaacaataaca
+atccattactggaatcatttggaatctttacattatgccgtgcacgtctgctgctacgct
+ttttgtcatttgtagcacaagtaagtgtcagcagtggtgcttcacacttgcccggtaatt
+aacgacgaaagaaaagtaaggtggatgaacaatgagtgcgtcgttggcgatcctgaccat
+cggcattgtacctatgcaggaagttttgccgctcctgacggaatacattgacgaagataa
+tatttcccatcatagcctgctggggaagttaagtcgtgaagaagtgatggcggagtacgc
+gccagaagcaggcgaagacaccattctcacattattaaatgacaaccagctggcccatgt
+ttcgcgtcgcaaagtggagcgtgacctgcaaggtgtggttgaagtgctcgataatcaggg
+ttatgacgtcattttattaatgagtacagcaaacattagtagtatgactgcgcgtaatac
+gatctttcttgagccgtcgcgaatattgcctccactggtttcctctattgttgaagatca
+tcaggtgggggttatcgttccggttgaggagatgctgcccgttcaggcgcaaaaatggca
+aattttgcagaaatcgccggtattttcattgggtaaccccattcatgattcagaacaaaa
+aatcattgatgccgggaaagaattactggcaaaaggggctgatgtcatcatgctggattg
+tttaggatttcaccaacgtcatcgcgatttactgcaaaaacagctcgatgttcctgtctt
+gctgtctaacgtattgattgcacggctggctgcggaattactggtgtaattttgcgtgac
+agccagcgcctctggcccctatagtgaagtagatgttcaactaccaaacagggccagttt
+atgcttcaaagtaatgagtacttttccggcaaagtgaaatcaatcggcttttccagcagc
+agcactggtcgcgccagcgtgggtgttatggttgaaggcgaatacaccttcagcaccgct
+gagccggaagagatgacggtaatcagtggcgcgctgaatgtgttactgcctgacgcgacc
+gactggcaggtgtatgaagccggttcggtgtttaatgttcccggtcacagtgagtttcat
+ctgcaagttgccgaacccacctcttatctgtgccgctatctgtaattcctcgccttcccc
+ttgaacgggagggcatttttctgaaatatcctttctttagcccataataatatttccttt
+gctgcgattttttcaatttccgatatattcataatttatcaaggttgatataaatatcag
+tgaagatctccagatattgttgcggaactggctacgataaaagataaatcagatgatgaa
+tggtggcgtgcattgctgcaaagtcgcaatgatcatttacgccaaacggcattgcgcaac
+gcacataccccggcgttgttgttaacgacattgactgagcctcaggatcggtcgctggct
+attaataatccacagctggctgccgatgtgaaaacggcgtggttaaaagaggatccatca
+ttactcttatttgtcgaacaacccgatctttcgctgttacgtgatttagtgaaaaccggg
+gcaacgcggaaaattcgcagtgaagcgcgtcaccggcttgaggaaaaacaatgacacaac
+gtccatggagcaagttacagcgtaaaacgcataatattgctgcgctaaaaattattgctc
+gccgtagcgaataattatatgcctggtgtggcttcgtacgccggataagacgcggcaggc
+gtcgcatccggcattaaaggaaaatcagcaattaacgttgtgcttcgccacctaatcctt
+caatcaggttttgaattaacgctgccagttcaccagtcatcaggatgaaatcggcatcaa
+aacgctgggcgaaatcttcacggtcgatatcttcgttttgatcgcgcagctcgtcgcaga
+acttcagacgcttgagcgaaccatcgtcgcacatcacaaactgaatgcgctgctgccagt
+cgagcgccagtttagtcaccacttttccggcttcaatgtgattggtgatctcttcgctgg
+tcagatcttgtttcttcgcgcggatcacgccgccatcttccagcaacgatttcagctcgg
+cttcatcaagcagctggaagccctgtgccgcactaccggagcgaacccattcggtcagcg
+tcagttcaatcgggttttccatgctcaatggtacaaccggtaacgaccccaggcttttac
+gcagtaatgccagcgtatcttccgcttttttggcactggcgcagtccaccataatcaaac
+cgttaaccgtgtcgatccacatcattgtctggctaaaacggctgaaagcacgcggcagca
+gagagtgcagcacttcgtctttcagcgaatctttttcggttttcttcagcttacgcgcct
+gttccgcttccagtttggcgattttcgcttccagcgcctgtttaatcaccggagacggga
+ggattttttcttctttgcgcgcgcagataacaatttgaccattggcaacgtgcgttaacg
+catcgctgtgcgatcccatcggaggaacccagcccatcttcgccatgtcctggctgccgc
+atggggtaaatgccatcgaggctagctgtttttccatctcttctgcacgcagcgaaatct
+cgcggctaagacggtaaaccattaaatttttgaaccacagcatgataatttccacggcct
+tgtcgttaaatttagcgggcatgataacgaattgtcggcggccttgcattgccaatccgg
+ttgtccgtctctacgctattgatattgaaaaaaataaggagagtaccgtgcgtataggta
+tcgatttaggcggcaccaaaactgaagtgattgcactgggcgatgcaggggagcagttgt
+accgccatcgtctgcccacgccgcgtgatgattaccggcagactattgaaacgatcgcca
+cgttggttgatatggcggagcaggcgacggggcagcgcggaacggtaggtatgggcattc
+ctggctcaatttcgccttacaccggtgtggtgaagaatgccaattcaacctggctcaacg
+gtcagccattcgataaagacttaagcgcgaggttgcagcgggaagtgcggctggcaaatg
+acgctaactgtctggcggtttcagaagcagtagatggcgcggcagcgggagcgcagacgg
+tatttgccgtgattatcggcacgggatgcggcgcgggcgtggcattcaatgggcgggcgc
+atatcggcggcaatggcacggcaggtgagtggggacacaatccgctaccgtggatggacg
+aagacgaactgcgttatcgcgaggaagtcccttgttattgcggtaaacaaggttgtattg
+aaacctttatttcgggcacgggattcgcgatggattatcgtcgtttgagcggacatgcgc
+tgaaaggcagtgaaattatccgcctggttgaagaaagcgatccggtagcggaactggcat
+tgcgtcgctacgagctgcggctggcaaaatcgctggcacatgtcgtgaatattctcgatc
+cggatgtgattgtcctggggggcgggatgagcaatgtagaccgtttatatcaaacggttg
+ggcagttgattaaacaatttgtcttcggcggcgaatgtgaaacgccggtgcgtaaggcga
+agcacggtgattccagcggcgtacgcggcgctgcgtggttatggccacaagagtaaaaaa
+cgtaggcaattggcgcatcatgcctgatgcgacgcttgccgcgtcttatcaggcctacaa
+aaggtgccagaaccgtaggccggataaggcgttcacgccgcatccggcaataagtgctcc
+gatgcctgatgcgacgcttgccgcgtcttatcaggcctgcaaaatgtgccagaaccgcgt
+agggcggataaggcgttcacgccgcatccggcaataagtaatgagcaccgagactataac
+ctaccccagtggtttcgccagcaccggagtatccgccgcttgctggcgcttatagcgacc
+atacagcagcaacgacgacatcgcagcaaacgaaagcagggcggcaggcagcgccacgta
+attatatgccagccccagcgtcagcatcatacctccgcaatatgcgccgacggcgctacc
+gaggttaaacgctatttgcccacctgcggcacctaataactctccgcctttggcgttttg
+tagtaacaatatttgtagcggtgctgaaagggcaaataatcccgcgcaacaaataaaagc
+aaaaataagcgacgttgttttcatgccgccgcagaaaaagagcatcagcagtgccagtac
+aattataaagtcagtcactgctgcaatgcgcagtggtgaataacgtcctgaaatcctgcc
+acttagcatatttcccagcaccatccctagcccaactaacatcataataaaggtcatcgc
+cgtttccgaaaaaccggaaataaacatcatgtatggctttacgtagctgaaccaggcaaa
+cacacctgcgttgccaaacatcgtggcggcgaaaattaaccacggggccgggctgcgcaa
+aaagtgaaattgttcgcgcagatttcctttcgcctcgtcgcgaatatctggcacccaaaa
+atagaccgatgccatcaccgcaatattaaaaacagcgatcaataaaaaggtgtaacgcca
+gctaaattcctgacttaaatacgttcccagcggaatgcccagcaaattggcgactgtcat
+cccggaaaccatccccgccacggcggcggtgacttttccgggtttgataatttttgataa
+cacgatcgctccgacgccaaaaaatgcgccatgcggaaagccggataccagccgaccaat
+ggcgagcatcaggtaagacgaagagagcgtgaacatggcgttgccaatgacgcacaacgc
+caccagaaacaacaagatatgtttgagtgagtagcggctggaaaagagtgcgatgattgg
+cgcaccgaccaccacccccagtgcataatacgagatcatatgcccggcggcaggaatcga
+aattcctacgttatgcgccagctccgtgagcacgcccataatgccaaattcggccatccc
+caaaccaaacgtgcccagagccaaagataaaatgacttttttcataccaccatcacaacc
+accagaacggctaccaatcaccgtagccaataaagtgatagcttgcaggataacgaccag
+caaggccaagagataattcgcccctctgtattcattatcctgctgaatagttatttcact
+gcaaacgtactttccagtttgctgtagcccaggccgttgatctttttcactttgatctgc
+accggaatacgctctttcatcgcttctacgtggctaatcacaccgatggttttgccactg
+gcgttcagggcatccagcgcatcaagggcggtatccagcgtttcgctatccagcgtgcca
+aaaccttcatcaaggaacagcgagtcaatacgtgttttatggctgaccagatccgaaagc
+gccagcgccagcgccagactaacgaggaaactttcgccgccggaaagggtacgggtatcg
+cgtaccgcatctgcctgccaggtatcaacaacctcgacttccagcgcctcgctggctttg
+cgctgtaacagatagcgcccgtgcagccgggtaagttgctgattagcgagatggactaaa
+ttatccagcgtcagcccctgggcaaacttgcggaatttatcgccctctttggaacctatt
+agcgaattcagatatccccagtcctcaacctgctgcgtcatttgagcaatttgctgcatt
+aaggtttgttgttgctgacggttatctgcatcctgcttcagctgctggcgaatctcgcct
+tgactcgtggtgttttcacgcaacttttggtgagtttgcgctaactcttgctgaatctgc
+tccaccgtcacagtgagagccaacccgtcgtcaggtcggtgttgttgatgctgtgccagc
+gtttctgctgtctgagtgaccagagtttgcgcctgacggcgctggttttccagattctgc
+ttgagctgttccagctgcgttagtgtttgttcatccattagcgccgcaaggaacgcctgc
+tgatcgtcaaagacgctggcctgtagcgcggtgtcaaactgcgcctgggctttttgcaga
+ctttgcgccgccagaacatcctgttgctgtaacgtctgctgctggctgtgtaatgcgaga
+cattgttcatgtacctgccgccagttttccaataccacagtttcttcgcagtgcgggagt
+tcatcactttgcggcaacgtttccagaatcggcgtcagctgctgaatacggttttgcagc
+gcggttaattcgttctggcgttgctgccagctctgcgcttcttgctgacgtgtcgccaac
+cagctctcttcttcatcttcctgtggcaatgtcagtgcataacccgtcaatgtcgttaaa
+agtagttgctggcgttgttcaatttgctgttgatactggataatttgctgattatgcgcg
+gcaatctgcccttgtaattcatgccgttggctgagtaaccgcagctggcgttcgtgctca
+tcttgtgcatccagccacggttgaatatcgtccagtggctgcaaggtgatattgaggctg
+gccgtgacggcttgccattgttgagtaagtgcttgctcatcttgtcggaggctttgcgct
+tcgttttcatcacgctgaagctgctttgttatggcgtccagttgcccacgtagcgtcgca
+ccttcttcaccgagctttttaacttcgttttccagcgccagtaatcgagactgattaacg
+ccaggctccagcgcctgatacgcctcgaccgccgggtggctggtggaaccacaaagtggg
+caaggctgacccgcctgtaactgtgcacgttgagcttccagcgttttgatgcgcgcttcc
+tgctcgcaaatggttttcacatcggcaagttgctgcgtcttttctttataacgctggcgc
+atttcgttaagtgcggcgttacgttgcgtctgttcttgcgtgacattctggatagcgacc
+tgtaactgcgccagacgtttttgttggggaacaatctgtccatgcagcgcgaccaggtgc
+tgacgcagtgggcgttgctcagcatgttgcgccagggcggtagcaacttcatcggcggtt
+aacgtcaacgtgatcgccgcaagcgcattaagtttttgctcagcatgggttaactgttgc
+tgccattgccgcagatgctcgcgatcgctggtttgttgggagaactgcgcacgccaaccc
+gccggttcgttgttccactgacggaagcggtcgtgttcctgtaaccaggtattcaggctt
+tgttgctgctgctgtaattctgctgactgcttcgccgcgtggtggcgaatgctcgcgcga
+agcgccattgtgctctgtaagcgagtatttacttcttcaatctgctggcgaatatgcgcc
+agcgccgcgctgtgttctgcgatgcgttcccagtgtggacgaagatttcgtgccggttgt
+gccagactaagcgccgccagttgaggttgcgctttttcttcttcggctaacgcctgttgc
+aaggcctgctgacggcggctggcttcttgctgcaattcgtcctgacgcgttaaccagttt
+agcgattgttgttcttgctgctgcgcggtaattaactgtttttcttcgtcagtaagtacc
+tgcaaactcgctgtcagcgattgcacttgttccggcgtgagcaacgtgacgccgctggcc
+tgcgcttgcagcttctccagctctgtgcgggccgatttgtgctgctcaaaaaccatcgcc
+gagatttgcccgtagatttcagtgccggttaactcctcgagcaattccgcgcgttctttg
+ggtttggcattcaggaaggcagcaaattgcccctgcgaaagcagcatcgaacgggtgaag
+cgcccgtaatccagcccggttaacgtcgctgtcagttccagcttatctttcactttgtcg
+gcgagaattttgccgtcggcgcagcgcgccagctctacgcgtggcacctgcaaattaccg
+tcgggttggttacgcgcccgattctggctccagaatgcacggtacgcttcacctttcact
+tcaaactccacctccgccagacattcggcggtatcgcgggtcatgagatcattttgcgat
+tgtgaaacgttagagagacgcggagtttcgtgatacagcgccagacaaatggcgtccagc
+agggtggttttccccgcacctgttgggccggtaatagcaaacagcccgttgctggcgaac
+ggctcgcgggtgaaatcaatcttccattcgccttttaatgagttcaggtttttcaggcgc
+aggctgagaattttcatgcttcgtgttctccggcgagggtatgcaacgtcgtggtgaaaa
+gatgctgcagacgttgctgctgcgattcatccagttcttccagtgccagacggcgattga
+acacctcttcgacgctgagttcgctgagggtttcacgctgttggctggctaacacacgct
+cgcgctgttcacgactccgacgtaccagcaatacttcgacaggcaatgattcggttaatg
+cctggattttgcgctgaatatcatgcagatactcatcagtagtgatttcgatatccagcc
+agacaggtggctcctgcgatacatcgcgccactgttccagctgtgcggtaatcgacgcca
+gatcgcctttcagcactgccatgggttgcgttaccggtacgttcaggttttccacgctct
+ctaatttgccgtttgaaaatgtcaccagatggacatatttactcttaccgcattcatcaa
+aactcagtggaatgggggagccgcaatagcgaacatgttccatgccgccaataatctgtg
+cgcggtgaatatgcccgagcgcgatgtagtcggctggtggaaagttttgtgccggaaacg
+cgtccagcgtgccaatataaatgtcacgcacggcgtcacttttactggcccccacggtcg
+ttaaatgtcccgtggcgatgatgggcagaggctgatcgccgcgcagtttgcaggcatcgg
+catagtgttgttggtaataatcggtaatcgctgccagtaaatgctgctgtttttcaatac
+cgttaagccccgcctggctggtaataatgtcacgcggacgtaaaaacggaatggggcaca
+gcactgcgcctggcgtcccgtcgcgacgaggcaagatttgcggcgcatgtccggcgctgg
+cgaccacggtagtattgaggaacgccatgatatcgcgcgattcattcagcgtggcgaccg
+agtcatggtttcctgccagtaccaccagatgacagccagtttgctgtaaattgacaacaa
+aacggttgtataacgtgcgggcgtaactgggcggcgagccggtatcgaaaacatcaccgg
+caacaataatcgcatccacctgatgggtttgtgctgtctccagcagccagtcaagaaaag
+cctgatgttcagcttcgcggcttttactgtagaagttctggccgagatgccagtctgagg
+tgtgaaggatgcgcataacggttccctggcgaaaaagcatgggcgcgattatacccaaac
+agatgtgccatttgcttttttctgcgccacggaaatcaataacctgaagatatgtgcgac
+gagcttttcataaatctgtcataaatctgacgcataatgacgtcgcattaatgatcgcaa
+cctatttattacaacagggcaaatcatggcgagacgtattctggtcgtagaagatgaagc
+tccaattcgcgaaatggtctgcttcgtgctcgaacaaaatggctttcagccggtcgaagc
+ggaagattatgacagtgctgtgaatcaactgaatgaaccctggccggatttaattctcct
+cgactggatgttacctggcggctccggtatccagttcatcaaacacctcaagcgcgagtc
+gatgacccgggatattccagtggtgatgttgaccgccagaggggaagaagaagatcgcgt
+gcgcggccttgaaaccggcgcggatgactatatcaccaagccgttttcgccgaaggagct
+ggtggcgcgaatcaaagcggtaatgcgccgtatttcgccaatggcggtggaagaggtgat
+tgagatgcagggattaagtctcgacccgacatctcaccgagtgatggcgggcgaagagcc
+gctggagatggggccgacagaatttaaactgctgcacttttttatgacgcatcctgagcg
+cgtgtacagccgcgagcagctgttaaaccacgtctggggaactaacgtgtatgtggaaga
+ccgcacggtcgatgtccacattcgtcgcctgcgtaaagcactggagcccggcgggcatga
+ccgcatggtgcagaccgtgcgcggtacaggatatcgtttttcaacccgcttttaacgcct
+tgctcatcggacgcagagcagggcttatgatttcttaactggagtatcttacgtgctgga
+acggctgtcgtggaaaaggctggtgctggagctgctactttgctgcctcccggctttcat
+cctgggtgcattttttggttacctgccctggtttttgctggcatcggtaacaggactgct
+tatctggcatttctggaatttattgcgcctttcatggtggctgtgggtggatcgcagtat
+gaccccgccaccggggcgtggtagctgggaaccgctactatacggcttacaccagatgca
+gctgcgaaataaaaaacgccgccgtgaactgggcaatctgattaaacgctttcgtagcgg
+cgcggagtcgctgcccgacgcggtggtgctgaccacggaagagggcggtattttctggtg
+taacggtctggcgcaacaaattcttggtttgcgctggccggaagataacgggcagaacat
+ccttaacctactgcgttacccggagtttacgcaatatctgaaaacgcgtgatttttctcg
+cccgctcaatctggtgctcaacaccgggcggcatctggaaattcgcgtcatgccttatac
+ccacaaacagttgctgatggtggcgcgtgatgtcacgcaaatgcatcaactggaaggggc
+gcggcgtaacttttttgccaacgtgagccatgagttacgtacgccattgaccgtgttaca
+gggttacctggagatgatgaatgagcagccgctggaaggcgcggtacgcgaaaaagcgtt
+gcacaccatgcgcgagcagacccagcggatggaaggactggtgaagcaattgctgacgct
+gtcgaaaatagaagccgcaccgacgcatttgctcaatgaaaaggttgatgtgccgatgat
+gctgcgcgttgttgagcgcgaggctcagactctgagtcagaaaaaacagacatttacctt
+tgagatagataacggcctcaaggtgtctggcaacgaagatcagctacgcagtgcgatttc
+gaacctggtctataacgccgtgaatcatacgccggaaggcacgcatatcaccgtacgctg
+gcagcgagtgccgcacggtgccgaatttagcgttgaagataacggaccgggcattgcacc
+ggagcatattccgcgcctgaccgagcgtttttatcgcgttgataaagcgcgttcccggca
+aaccggcggtagcggattagggttagcgatcgtgaaacatgctgtgaatcatcacgaaag
+tcgcctgaatattgagagtacagtaggaaaaggaacacgtttcagttttgttatcccgga
+acgtttaattgccaaaaacagcgattaatccgcctttgtcatcttttattgccataagcc
+agtcgatgctggcttattttctttgcagtcaaaatacgggcgttagattttacaacgatt
+ggtgattttttgttcgcatgattagccatgtctttttcacggaaatagtgttttatactg
+gttggtgatttcttatcgctatatacctctggtttttagatccctccttgctttaaaacg
+ttataagcgtttaaattgcgcttcaggtgctgtcatactgactgcattaacgcggtaaat
+cgaaaaactattcttcgccgcgcctggttgggagtatttcccgctaaaattgtttaaata
+taccgctgtatcatccccagggattggcacaaaaatttaacgttacaacaccacatccac
+aggcagtatgatttatgacccatcaattaagatcgcgcgatatcatcgctctgggcttta
+tgacatttgcgttgttcgtcggcgcaggtaacattattttccctccaatggtcggcttac
+aggcaggcgaacacgtctggactgcggcattcggcttcctcattactgccgttggcctgc
+cggtattaacggtagtggcgctggcaaaagttggcggcggtgttgacagcctcagcacgc
+caatcggtaaagtcgctggcgtactgctggcaacggtttgttacctggcggtggggccgc
+ttttcgctacgccgcgtacagctaccgtttcctttgaagtggggattgcgccgctgacgg
+gtgattccgcgctgccgctgtttatctacagcctggtctatttcgctatcgttattctgg
+tttcgctctatccgggcaagctgctggataccgtgggcaacttccttgcgccgctgaaaa
+ttatcgcgctggtcatcctgtctgttgccgctattgtctggccggcgggttctatcagca
+cggcgactgaggcttatcaaaacgctgcgttttctaacggcttcgttaacggctatctga
+ccatggatacgctgggcgcaatggtgtttggtatcgttattgttaacgcggcgcgttctc
+gtggcgttaccgaagcgcgtctgctgacccgttataccgtctgggctggcctgatggcgg
+gtgttggtctgactctgctgtacctggcgctgttccgtctggggtcagacagcgcgtcgc
+tggtcgatcagtctgcaaacggcgctgctattctgcatgcttacgttcagcacacctttg
+gcggcggcggtagcttcctgctggcggcgttaatcttcatcgcctgcctggtaacggcag
+ttggcctgacctgtgcttgtgcagaattctttgcccagtacgtaccgctctcttatcgta
+cgctggtgtttatcctcggcggcttctcgatggtggtttctaacctcggcttaagccagc
+tgatccagatctccgtaccggtgctgaccgctatttatccgccgtgtatcgcactggttg
+tattaagttttacacgctcatggtggcataattcgtcccgcgtgattgctccgccgatgt
+ttatcagcctgctttttggtattctcgacgggatcaaagcatctgcattcagcgatatct
+taccgtcctgggcgcagcgtttaccgctggccgaacaaggtctggcgtggttaatgccaa
+cagtggtgatggtggttctggccattatctgggatcgcgcggcaggtcgtcaggtgacct
+ccagcgctcactaaatcactgaacatttgttttaaccacggggctgcgatgccccgtggt
+tttttattgtgttgatgggttaggaattgatggaaagtaagaacaagctaaagcgtgggc
+taagtacccgccacatacgctttatggcactgggttcagcaattggcaccgggctgtttt
+acggttcggcagacgccatcaaaatggccggtccgagcgtgttgttggcctatattatcg
+gtggtatcgcggcgtatatcattatgcgtgcgctgggggaaatgtcggtacataacccgg
+ccgccagctctttctcgcgttatgcgcaggaaaacctcggcccgctggcaggttacatta
+ccggctggacctactgctttgaaatccttattgtcgccatcgccgatgtgaccgcttttg
+gtatctatatgggtgtctggttcccgacggtgccgcactggatttgggtactgagcgtgg
+tgctgatcatttgcgccgtaaacctgatgagcgtgaaggtattcggtgagctggaattct
+ggttctcgttctttaaagtcgccaccatcatcatcatgattgtcgccggtttcggcatca
+tcatctgggggattggcaacggcgggcaaccgaccggtattcataacctgtggagcaacg
+gcggcttcttcagtaacggctggcttggcatggtaatgtcgttgcaaatggtgatgtttg
+cttacggtgggatcgaaattatcgggattaccgccggtgaagcgaaagatcctgagaaat
+cgataccgcgtgcgattaactccgtgccgatgcgtattctggtgttctacgtcggtacgc
+tgttcgtcattatgtctatctacccgtggaatcaggttggcactgccggtagcccgttcg
+tgctgacgttccagcatatgggcattacctttgccgccagcattcttaactttgttgtgc
+tgactgcttcgctgtcggcaattaacagtgatgtatttggcgtaggccgtatgctccacg
+gtatggcagagcagggcagcgcgccgaaaattttcagcaaaacgtcgcgtcgcggtattc
+cgtgggttacggtgctggtgatgactaccgcgctgctgtttgcggtgtatctgaactaca
+tcatgccggaaaacgtcttcctggtgatcgcttcgctggcaaccttcgccacggtgtggg
+tgtggattatgatcctgctgtcgcaaattgccttccgtcgccgtttgccgccagaagaag
+ttaaggcgctgaaatttaaagtgccgggtggggtagcaacgaccatcggcgggctgattt
+tcctgctctttattatcgggttgattggttatcacccggatacgcgtatctcgctgtatg
+tcggtttcgcgtggattgttgtgctgttgattggctggatgtttaaacgccgccacgatc
+gtcagctggctgaaaaccagtaatccttgcgttctgtaagccggttcaggaggaaatcct
+gatccggctattccgaaagttatccgcccccgtcctcctcccccaaatatccttcagatg
+atgagtgatcctgcattaggctatggcaaggtgatcagattttcatcacaggggaattat
+gatgttaaatgcatggcacctgccggtgcccccatttgttaaacaaagcaaagatcaact
+gctcattacactgtggctgacgggcgaagacccaccgcagcgcattatgctgcgtacaga
+acacgataacgaagaaatgtcagtaccgatgcataagcagcgcagtcagccgcagcctgg
+cgtcaccgcatggcgtgcggcgattgatctctccagcggacaaccccggcggcgttacag
+tttcaaactgctgtggcacgatcgccagcgttggtttacaccgcagggcttcagccgaat
+gccgccggcacgactggagcagtttgccgtcgatgtaccggatatcggcccacaatgggc
+tgcggatcagattttttatcagatcttccctgatcgttttgcgcgtagtcttcctcgtga
+agctgaacaggatcatgtctattaccatcatgcagccggacaagagatcatcttgcgtga
+ctgggatgaaccggtcacggcgcaggcgggcggatcaacgttctatggcggcgatctgga
+cgggataagcgaaaaactgccgtatctgaaaaagcttggcgtgacagcgctgtatctcaa
+tccggtgtttaaagctcccagcgtacataaatacgataccgaggattatcgccatgtcga
+tccgcagtttggcggtgatggggcgttgctgcgtttgcgacacaatacgcagcagctggg
+aatgcggctggtgctggacggcgtgtttaaccacagtggcgattcccatgcctggtttga
+caggcataatcgtggcacgggtggtgcttgtcacaaccccgaatcgccctggcgcgactg
+gtactcgtttagtgatgatggcacggcgctcgactggcttggctatgccagcttgccgaa
+gctggattatcagtcggaaagtctggtgaatgaaatttatcgcggggaagacagtattgt
+ccgccactggctgaaagcgccgtggaatatggacggctggcggctggatgtggtgcatat
+gctgggggaggcgggtggggcgcgcaataatatgcagcacgttgccgggatcaccgaagc
+ggcgaaagaaacccagccggaagcgtatattgtcggcgaacattttggcgatgcacggca
+atggttacaggccgatgtggaagatgccgccatgaactatcgtggcttcacattcccgtt
+gtggggatttcttgccaataccgatatctcttacgatccgcagcaaattgatgcccaaac
+ctgtatggcctggatggataattaccgcgcagggctttctcatcaacaacaattacgtat
+gtttaatcagctcgacagccacgatactgcgcgatttaaaacgctgctcggtcgggatat
+tgcgcgcctgccgctggcggtggtctggctgttcacctggcctggtgtaccgtgcattta
+ttacggtgatgaagtaggactggatggcaaaaacgatccgttttgccgtaaaccgttccc
+ctggcaggtggaaaagcaggatacggcgttattcgcgctgtaccagcgaatgattgcgct
+gcgtaagaaaagtcaggcgctacgtcatggcggctgtcaggtgctgtatgcggaagataa
+cgtggtggtatttgtccgcgtgctgaatcagcaacgtgtactggtggcaatcaaccgtgg
+cgaggcctgtgaagtggtgctacccgcgtcaccgtttctcaatgccgtgcaatggcaatg
+caaagaagggcatgggcaactgactgacgggattctggctttgcctgccatttcggctac
+ggtatggatgaactaacgttttataacgccttgcgtgacgcctgcgccatcatccgcgga
+taaaactgccagaagcgggtttcgagggcgtcataatgagcgtctaaatcgtaccaggag
+tcacgcagggcatccagacgtgggcggcggcttgccatgccgtttaacacgttctggatg
+aaatccatatcgcgatagcgcaccagccactgctctgaccacaagtaattgttcagattg
+ataaaacgtggcggtgagtccggcaaaatcgtcatcacttgctcgcgggcataacagaca
+aattcctgtagcggaaagtccggcgacagctgcgaccagtggcgggaaagaaagtgatcc
+cacatgacatccagcgtaataggcgcaacgcggcgcgtttcactacgaaaccactcccgt
+gcttcgcggacttccggcagattgtcagtcaatacgtcgatacgtcgatgcatatgaatg
+ccagccacgacgtcgggcggaaaactttcttcaggatttccgcgtacgaaatcagccagt
+aaattgccggaaagcgagctttccgcgagatgggctaaatgcaggtgagctaaaaaattc
+atcgattatattctatccaaaagggggtaaaggttgcagggagagcgccccggcactaga
+ctacccgcctcttattttagtctgagtcagtgtcatgcgcgttaccgatttctcctttga
+attgcccgaatccctgattgcccactatcccatgcctgaacgcagtagctgtcgtttact
+gtcgctggacgggccgacgggcgcgctgacgcacggtactttcaccgatttacttgataa
+gctcaaccccggcgatcttctggtttttaataatacccgcgtgatcccggcgcgcctgtt
+tgggcgtaaagccagcggcggcaagattgaagtgctggttgaacggatgctcgacgacaa
+acgcattcttgcgcatattcgcgcctcgaaagcgccaaaacctggcgcagaactgctgct
+gggcgatgacgaaagtattaacgcaacaatgaccgcgcgccacggcgcactgtttgaagt
+cgaatttaatgatgaacgctcggtgctggatattctcaacagcatcggccatatgccgct
+gccgccgtatatcgaccgtccggacgaagacgctgaccgcgaactttatcaaaccgttta
+tagcgaaaaaccgggcgcggttgcagccccgaccgcaggtctgcattttgacgagccttt
+gctggaaaaattgcgcgccaaaggcgtggagatggcgtttgtgacgttgcacgttggtgc
+gggcaccttccagccggtgcgcgtcgacaccattgaagatcacatcatgcactcggaata
+cgctgaagtaccgcaggatgtggtagacgcggtactggcggcgaaagcgcgcggtaaccg
+ggtgattgcggttggcaccacttcagtacgttcgctggaaagcgcggctcaggcagcgaa
+aaacgatctcattgaaccgttcttcgacgatacccaaatctttatctatccgggcttcca
+gtacaaagtggtcgatgcgctggtgacgaacttccacttgccagagtcgacgctgattat
+gctggtttcggcctttgccggttatcaacacaccatgaacgcctataaagcagcggtaga
+agagaaatatcgcttttttagttacggtgatgcgatgtttatcacgtacaatccgcaggc
+aattaatgagcgcgtcggggagtaattccgcggcgctggtttaaaacgttggactgtttt
+tctgacgtagtggagaaaaaatgaaatttgaactggacaccaccgacggtcgcgcacgcc
+gtggccgcctggtctttgatcgtggcgtagtggaaacgccttgttttatgcctgttggca
+cctacggcaccgtaaaagggatgacgccggaagaagttgaagccactggcgcgcaaatta
+tcctcggcaacaccttccacctgtggctgcgcccgggccaggaaatcatgaaactgcacg
+gcgatctgcacgattttatgcagtggaaggggccgatcctcaccgactccggcggcttcc
+aggtcttcagccttggcgatattcgtaaaatcaccgaacagggcgtgcacttccgtaacc
+cgatcaacggcgatccgattttcctcgatcctgaaaaatcaatggagattcagtacgatc
+ttggttcggatatcgtcatgatctttgatgagtgtacgccgtatcctgctgactgggatt
+acgcaaaacgctccatggagatgtctctgcgttgggcgaagcgtagccgtgagcgttttg
+acagtctcggaaacaaaaatgcgctgtttggtatcatccagggcagcgtttacgaagatt
+tacgtgatatttctgttaaaggtctggtagatatcggttttgatggctacgctgtcggcg
+gtctggctgtgggtgagccgaaagcagatatgcaccgcattctggagcatgtatgcccgc
+aaattccggcagacaaaccgcgttacctgatgggcgttggtaaaccagaagacctggttg
+aaggcgtacgtcgtggtatcgatatgtttgactgcgtaatgccaacccgcaacgcccgaa
+atggtcatttgttcgtgaccgatggcgtggtgaaaatccgcaatgcgaagtataagagcg
+atactggcccactcgatcctgagtgtgattgctacacctgtcgcaattattcacgcgctt
+acttgcatcatcttgaccgttgcaacgaaatattaggcgcgcgactcaacaccattcata
+accttcgttactaccagcgtttgatggcgggtttacgcaaggctattgaagagggtaaat
+tagagagcttcgtaactgatttttaccagcgtcaggggcgagaagtaccacctttgaacg
+ttgattaatattaataatgagggaaatttaatgagcttttttatttctgatgcggtagcg
+gcaacgggtgcaccggcgcaaggtagcccgatgtctttgattttgatgctggtggtattc
+ggtctgattttctatttcatgatcctgcgtccacagcagaagcgcaccaaagaacacaaa
+aagctgatggactccattgccaaaggtgatgaagttctgacgaacggtggcctggttggt
+cgcgtaaccaaagtagcggaaaacggctacattgctatcgcgctgaatgacaccactgaa
+gtagttattaaacgtgacttcgtagctgccgtcctgccgaaaggcaccatgaaggcgctg
+taattaaaatttttccctaagggaattgccgtgttaaaccgttatcctttgtggaagtac
+gtcatgctgatcgtggtgattgtcatcggtctgctgtatgcgcttcccaacctgtttggt
+gaggatccggctgttcagatcactggtgcgcgcggagtcgccgccagtgagcaaacgctg
+atccaggtccagaaaacgttacaagaagaaaaaataactgctaagtctgtggcactggaa
+gagggcgctattcttgcgcgcttcgactccactgacacccagttgcgcgctcgtgaagca
+ttaatgggcgttatgggtgacaaatacgtcgtggcgcttaaccttgccccggcaacgccg
+cgctggctggcagctattcacgctgagccgatgaagctcggccttgacctgcgtggcggc
+gttcacttcctgatggaagtggatatggacaccgcgcttggcaaactccaggaacaaaat
+atcgatagcctacgcagtgacctgcgcgaaaagggcatcccgtataccactgttcgtaaa
+gaaaacaactacggcctgagcatcactttccgcgatgctaaagctcgtgatgaagccatt
+gcgtatctgagcaagcgccatccggacctggtgattagcagccagggcagcaaccagctg
+cgtgcggtaatgagcgatgctcgtctgagtgaagcgcgtgaatatgcggtgcagcagaac
+attaatatcctgcgtaaccgtgtaaaccaacttggcgtggcggagccggtggttcagcgt
+cagggtgctgaccgtatcgttgttgaactgccaggtattcaggacactgcgcgtgcgaaa
+gagattctgggtgcgacggcaacgctggaattccgtctggtaaacaccaacgttgaccag
+gccgctgcggcatccggtcgcgtaccgggcgactctgaagtgaaacagacccgcgaaggt
+cagccagttgtgctgtacaaacgcgtaattctgaccggtgaccatatcaccgactccact
+tccagccaggacgaatacaaccaaccgcaggttaacatctcgctcgatagcgctggtggt
+aacatcatgtctaacttcactaaggacaacatcggcaaaccgatggcaaccctgtttgtg
+gagtacaaagacagcggtaagaaagatgcaaatggtcgtgcggttctggtgaaacaggaa
+gaggtgattaacatcgccaacatccagtctcgtctgggtaacagcttccgtatcaccggc
+atcaacaacccgaacgaagcccgtcagctgtcactgctgctgcgtgccggtgcgttgatc
+gcgccgattcagattgttgaagaacgtaccattggcccaaccctgggtatgcagaacatt
+gaacaggggctggaggcttgccttgccggtctgctggtttctattctgttcatgatcatc
+ttctataagaagtttggtctgattgcgaccagtgctctgattgccaacttgatcttaatc
+gtcggcattatgtcgctgttgccaggcgcaacgctgagtatgccaggtatcgcgggtatc
+gtcttaacccttgcggtggcggtcgatgcgaacgtactgatcaacgaacgtattaaagaa
+gagttgagcaacggacgtactgttcaacaggcaattgatgaaggttatcgtggcgcattc
+agttctatcttcgatgcgaacatcaccacgctgattaaagtcatcatcctgtacgcagtg
+ggtaccggggcaattaaagggttcgcgattactaccggtatcggtgtggcgacgtcgatg
+tttaccgcgattgtcggtacgcgtgccatcgtaaacctgctatatggcggcaagcgcgtc
+aagaagctgtcaatctgaggagtgcgatgtggcacaggaatatactgttgaacaactaaa
+ccacggccgtaaagtctatgactttatgcgctgggactactgggctttcggcatctctgg
+tctgctgttaatcgctgctatcgttattatgggcgtgcgcggctttaactgggggctgga
+tttcaccggtggtacggttattgaaattacgctcgaaaaaccggctgaaattgacgtaat
+gcgtgatgcattgcaaaaagccggttttgaagagccgatgctgcaaaactttggtagcag
+ccatgacatcatggtccgtatgccgcctgctgaaggcgaaaccggcggtcaggtgttggg
+cagccaggttctgaaggtgattaacgaatccaccaatcagaatgcagcagtgaagcgtat
+tgagttcgtcggtccgagcgtgggggcagaccttgcgcaaaccggtgcgatggcgttgat
+ggcagcgctgctgtctatcctcgtgtacgtaggtttccgctttgagtggcgactggcggc
+aggggtggttattgcgctggcgcacgacgttatcattacgctgggtattttgtcgttatt
+ccatatcgagattgacctgaccattgtggcatcgttgatgtcggttatcggttactcgct
+taacgacagtatcgtggtatcggaccgtattcgtgaaaacttccgcaagatccgtcgcgg
+tacgccttacgaaatctttaacgtgtccttgacccagacgctgcaccgtaccttgatcac
+atccggtactaccttgatggttatcctgatgctgtacctcttcggtggtccggtactgga
+aggcttctcgctgaccatgcttatcggtgtttccatcggtactgcatcttccatctatgt
+ggcatctgcgttggctctgaaactgggtatgaagcgcgaacacatgttgcagcagaaagt
+ggaaaaagaaggggcggatcagccgtcaattctgccgtaatcaagttcccgttgatgttg
+aaaatcccggtcagaagatcgggattttttttgatgtatggagattgcgaaaatccccgc
+atcttgggaaactgcgcgtaaccctacatttcatccaggtaacttttcatggctatcatc
+ccaaaaaactatgcgcggttagaaagcggctatcgcgaaaaagcattaaaaatctatccg
+tgggtctgcggtcgctgttcccgcgagtttgtttattccaacctgcgtgaacttaccgtt
+caccacattgatcacgaccataccaataacccggaagatggcagtaactgggaattgttg
+tgtctctattgccacgatcatgagcattcgaaatataccgaagcggatcagtatggtacg
+accgttatcgcaggggaagatgcgcagaaagatgtcggtgaagcgaagtacaacccattc
+gctgacctgaaagcgatgatgaacaagaagaagtgattaaaacgtaaaattgcctgatgc
+gctacgcttatcaggcctacgttatttcagcaatatattgaatttacgtgcttttgttgg
+ccggacaaagcgtttacgccgcatccggcatgaacaaagcacacgttgttaacaatcaga
+aatgccgggaataaatcccggcattttcataatcagaagttgtaacctactaccaggtaa
+ccaccccagccggtagagcgaacgttgaagttgccgttgccgaagttcagttctgcatcg
+tcgttccactgaccaccgtcgtgccagtaacgagctacgacagagtagtgccagtgatcg
+tagttcagagccagaatatggctggaagcgatagagttattagtacgggtcttaataccg
+ttgattgcgttaccgctgtcatcccctaaatcggaaccccagtcgaagttggtgaagccg
+atgtagctcagctgaccgccccacagatcggtaatcggcacaaagtatttaattttgaaa
+cggtaaccgtcccactcgttttcgttcgctgcgccatagttctgccactggtatttcgca
+tagacgttcatggacaggctcatcggcaggccagtgtcgatatcggtacccagacccatg
+taccaggtgctctggcgaccatctttattacgacccatgtcgtaaatgtagttgttcgcg
+aagtaccactctttgaacggaccgaagctaaggtcagtattggtcagcttgtcgatggag
+aaacgtggttcgatttccataaacagcggagaaccgtggttccagatacctttagcatcg
+gagttaccgccgaagaataccggcgcatccgcataaccatagaagtcgaaccagtctttt
+ttagcgaatgcttcgtactcaaggtaggtatcgttgcggatctgcggtccgaaacgggtg
+tgatagcttccgacaacgttaacgctctggtgccaccagtcggaaagatactgcggtttg
+tcgttttcagctgcgttgacagtaaaagacgaagagagcgccagtaccgcaccggctgcc
+agtaatgtttttttcatatgtatgccactgtttgaaaatcccttgcgggagtgaaaaagg
+cgcaaattgcgtttctaaatatttcgtatacagaggagcctattataaaaatcattgctc
+acaaaaatatgtttcgtttcacagttctatcatttacgtaatcgattgcgttcacgttta
+cacacattcgggcggggattgtactgactttcgcccttgttgcaaacttttactatcaat
+ccaggtgatgtaagcagagtaacaaaatgacggggaaagatgttgcgggacgcacaaaat
+cgtcccgaaatacgtttactgcataacaggttgaatgtcgtggatacgtacaaagcctaa
+ctgatccacagaaatcccctttaactgtaacggaatatcaacatcgctgggggcgaggac
+gctggcaggggcattaatcaattgattctgcacattgatttcctgaaagttgtctattgt
+tccctgaatttgcccatattcaacagttccgctgaatgcgggcaagggatcattcgactc
+accctgaatacgtagtgtaagggtggtgccatctgcatcaggcgtaatattcaccagcga
+catacgtaaagtaccgatctggctttccagtcttgccggtgttttcgctccaggcagaag
+gtaaaccccactgctggattttgcattcagcctgttttgctgagtgattttgactgtttc
+ttgattgagttgcgtcatctcctggttcagcgtgctgacgctgtgtttcatctgtcgcac
+ttcactttgctgcacacaggcgctaaggctgaacaggcttcccagcaggagcagtcgaaa
+aacgttagtattcataggtcgtccctttctcgtcgcaattagcctaatggtagagggtaa
+aagcagcgaaagcatcgatcctttatctcaaaagcgttgcgcctttgttgtatcgtcagt
+tcagggtaaaatagatttccgttaaccacctggtcaggacgccgtatgcattgcccattc
+tgtttcgccgtggacactaaggtaattgactctcgtctcgtgggcgagggttcatccgta
+cgccgccgtcggcagtgtctggtgtgtaatgaacgtttcaccacctttgaagtggcggag
+ctggttatgccgcgtgttgtaaaaagcaacgacgtgcgtgaaccgtttaatgaagagaaa
+ttgcgtagcggaatgctgcgggcgctggaaaaacgtccggtgagttccgatgacgtcgaa
+atggcaatcaatcatattaaatcgcagctgcgcgccaccggtgagcgcgaagtgccgagc
+aagatgattggcaatctggtgatggagcaattgaaaaagctcgataaagtcgcctatatc
+cgttttgcctctgtctaccgcagtttcgaagatatcaaagaatttggcgaagagatcgcg
+cgcctggaggactaagccgtgcaggacgagtattacatggcgcgggcgctaaagctggcg
+caacgaggacgttttaccacgcatcccaacccgaatgtcgggtgcgtcattgtcaaagat
+ggcgaaattgtcggtgaaggttaccaccaacgtgcgggtgaaccacatgccgaagtacac
+gcgttgcgtatggcgggtgaaaaagccaaaggtgcgaccgcctatgtcacactcgaaccc
+tgtagccatcatggtcgtacgccaccgtgctgtgacgcactcatcgccgctggcgtagcg
+cgcgtggttgcctcgatgcaagatcctaacccgcaggtcgctgggcgtggactttaccgt
+ctgcaacaggctggcattgacgtcagccacggcctgatgatgagtgaagccgagcaattg
+aataaaggctttctcaagcggatgcgcaccggctttccttatattcagttaaaacttggc
+gcatcgcttgatggtcgcacggcgatggcgagcggcgaaagccagtggatcacttcgccc
+caggcgcggcgtgatgtacaactactgcgcgcgcaaagtcatgccattttaaccagcagc
+gccacggtgctggcggatgatcctgccttaacggtgcgttggtctgaactggatgaacaa
+actcaggcgctctatccgcaacaaaatctccgtcagccgatacgtattgtgattgatagc
+caaaatcgcgtgacgccggtacatcgcattgtgcagcagcccggcgaaacctggttcgcg
+cgtacgcaggaagattctcgtgagtggccggaaacggtgcgtaccttgctgattccagag
+cataaaggtcatctggatctggttgtactgatgatgcaactgggtaaacagcaaattaac
+agcatctgggtggaagcggggccaacgctcgctggcgcattgctgcaggcgggtttagtc
+gatgagctgattgtctatatcgcacctaaactattaggcagcgacgcccgcggattatgc
+acgctgccagggcttgagaaattagccgacgccccccaatttaaattcaaagagatacgt
+catgtaggcccggatgtttgcctgcatttagtgggtgcatgatctcccggctcgaaaggg
+aagcagcgcacgaaatattatgctaaaatccgcccccctgcggggccatactcgaacccg
+aaggaagaaaatgaacattattgaagctaacgttgctaccccggacgctcgcgtcgccat
+caccatcgcgcgtttcaacaactttatcaatgacagcctgctggaaggtgcaattgacgc
+actgaaacgtatcggtcaggtaaaagatgaaaacattaccgttgtttgggtgcctggtgc
+ctatgagctgccgctggcggcgggtgcactggctaaaaccggtaaatacgacgcggtgat
+tgcgctgggtacggttattcgtggtggcactgcccactttgaatatgtcgctggtggtgc
+aagcaacggcctggcgcatgttgcccaggacagcgaaattccggttgcttttggggttct
+gaccactgaaagcattgaacaagcgatcgaacgtgctggcaccaaagctggcaacaaagg
+tgcagaagctgcactgaccgcgcttgaaatgattaatgtattgaaagccatcaaggcctg
+aaattagtaaggggaaatccgtgaaacctgctgctcgtcgccgcgctcgtgagtgtgccg
+tccaggcgctctactcctggcagttgtcccagaacgacatcgctgatgttgaataccagt
+tcctggctgaacaggatgtaaaagacgttgacgtcctgtacttccgtgagctgctggccg
+gggtggcgactaataccgcatacctcgacggactgatgaagccatacctgtcccgcctgc
+tggaagaactgggacaggtagaaaaagcagtactgcgcattgcgctgtacgaactgtcta
+aacgtagcgatgtgccatacaaagtggccattaacgaagcgatcgaactggcgaaatcgt
+tcggcgcagaagacagccataagttcgtcaacggcgtactcgataaagcagcacctgtga
+ttcgccctaacaaaaagtgatatccaggccggtagattcacggaagaccgttccatgatc
+gccggccttttcttttttacctgctgaggcataacgtatggcatgtggcgagttctccct
+gattgcccgttattttgaccgtgtaagaagttctcgtcttgatgtcgaactgggcatcgg
+cgacgattgcgcacttctcaatatccccgagaaacagaccctggcgatcagcactgatac
+gctggtggcgggtaaccatttcctccctgatatcgatcctgctgatctggcttataaagc
+actggcggtgaacctaagcgatctggcagcgatgggggccgatccggcctggctgacgct
+ggcattaaccttaccggacgtagacgaagcgtggcttgagtccttcagcgacagtttgtt
+tgatcttctcaattattacgatatgcaactcattggcggcgataccacgcgtgggccatt
+atcaatgacgttgggtatccacggctttgttccgatgggacgagccttaacgcgctctgg
+ggcgaaaccgggtgactggatctatgtgaccggtacaccgggcgatagcgccgccgggct
+ggcgattttgcaaaaccgtttgcaggttgccgatgctaaagatgcggactacttgatcaa
+acgtcatctccgtccatcgccgcgtattttacaggggcaggcactgcgcgatctggcaaa
+ttcagccatcgatctctctgacggtttgatttccgatctcgggcatatcgtgaaagccag
+cgactgcggcgcacgtattgacctggcattgctgccgttttctgatgcgctttctcgcca
+tgttgaaccggaacaggcgctgcgctgggcgctctctggcggtgaagattacgagttgtg
+tttcactgtgccggaactgaaccgtggcgcgctggatgtggctctcggacacctgggcgt
+accgtttacctgtatcgggcaaatgaccgccgatatcgaagggctttgttttattcgtga
+cggcgaacctgttacattagactggaaaggatatgaccattttgccacgccataaagatg
+tcgcgaaaagtcgcctgaagatgagtaatccgtggcatctacttgctgtcggattcggaa
+gtggattaagcccgatcgttcctgggacgatgggctcgctggcagcgattccgttctggt
+atctgatgacctttttgccctggcagctctactcgctggtggtgatgctggggatctgta
+tcggcgtctatctttgtcatcaaacggcgaaagacatgggtgtgcacgatcatggcagca
+ttgtctgggacgaatttattggtatgtggatcacgctcatggcgctgccgaccaatgact
+ggcagtgggttgccgccgggtttgtgattttccgtattctggatatgtggaagccgtggc
+cgatccgctggtttgatcgcaatgtgcatggcggcatggggatcatgatcgacgatattg
+tcgccggggtgatttccgcaggcatcctgtattttatcggtcatcactggccgctgggta
+ttctgtcgtagttgtgcaccgatgcctgatgtgacgcttgtcacgtctcatcaggcctgg
+actcttatttaaatcctacgacaggatgcggtttatacggcgtttccagttcggcaatct
+gttccggcttcaaagtgatatccaccgcgttcaatagctcatcaagctgttcttcgcgcg
+aagttccgataatcggtgcggcaatgcccggtttactcaacaaccaggccagcgcaactt
+gtgctcgtgtcgcccccagttcttcactgacgcctgttaaccgctctgcgatctgcgcgt
+cattttcatcgctttctttatagagatttttccccacctcatcagacaccagtcgtgcgg
+tagtttctccccacggacgcgtcagacggccccttgccagcgggctccatggaattaccg
+ccacgccctcctgataacacagtggtagcatctcgcgctcttcttcacgataaatcagat
+tgtagtgatcctgcatactgacaaactgcgcccagccgtgctgtttttggagttccagtg
+cctgagcaaactgcgaagcgtgcattgatgacgcgccgatataacgcgctttcccggctt
+ttaccacgtcgttgagggcttccagcgtctcttcgatcggcgtgttgtaatcccagcgat
+gaatttgcaggatatcgacataatccatgccgagacgtcgcaggctgtcgtcgatagagc
+gcaaaatttgcgcacgggataatccttccggtaaatcaccaacgcgatggaacactttgg
+tcgcaacgaccacgtcttcacgacgggcgaaatcccgcagtgcgcgaccgacgatctctt
+cgctgctgccgtcagaataactgttggcggtatcaaagaaatttatgccgccttccagtg
+cacgtttaattatgggacggctgctttcttccggcagtgtccatgcgtgattaccgcgat
+ctggctcgccaaaggtcatacagccgaggcaaagtcgggaaacgcgaaggtcggtttttc
+ctaaggggttgtattgcatgctgccactcctgctatactcgtcatacttcaagttgcatg
+tgctgcggctgcattcgttcaccccagtcacttacttatgtaagctcctggggcttcact
+cgtttgccgccttcctgcaactcgaattatttagagtctatgaataatttcttaagcata
+gcaggagtggagtagggattatgccagccaggccttgattttggcttccataccagcggc
+atcgaggccgagttcggcgcgcatttcttcctgagttccttgcggaataaagaagtccgg
+caggccaatgttcagcacgggtactggtttacgatgggccatcagcacttcgttcacgcc
+gctgcctgcgccgcccataatggcgttttcttctacggtgaccagcgcttcatggctggc
+ggccatttccagaattaacgcttcatcaagcggtttcacaaaacgcatatcgaccagcgt
+ggcgttcagcgattcggcgactttcgccgcttctggcatcagcgtaccaaagttaaggat
+cgccagtttctcgccacgacgcttcacaatgcctttgccaattggtagtttttccagcgg
+cgtcagttccacgccgaccgcgttgccacgcgggtagcgcaccgctgacgggccatcgtt
+atagtgatagccggtatagagcatctggcgacattcgttttcatcgctcggggtcataat
+gaccatttccggtatgcagcgcaggtaagagagatcaaaagcaccctgatgggtttgacc
+gtcagcaccaacaatgcccgcgcggtcgatggcgaacaggaccggaagcttttgaatcgc
+cacgtcatgcagcacctgatcataggcgcgttgcaggaaagtggagtaaatcgcgacaat
+gggtttgtacccaccaatcgccagacccgcagcaaaggtcaccgcgtgttgctcggcaat
+tgccacgtcgaagtagcgatccgggaatttacgtgaaaactcgaccatgccggaaccttc
+acgcatcgccggagtaatcgccatcagcttgttgtctttcgctgccgtttcgcacaacca
+gtcgccaaagatttttgaatagctcggcaaaccgccgctacttttcggcaaacaaccgct
+ggagggatcaaatttaggcacggcgtggaaagtgatcgggtctttttctgccggttcata
+accacgaccttttttggtcatgatatgcaggaactgcgggcctttcaggtcgcgcatgtt
+ctttagcgtggtgataagccccagcacatcgtgaccgtccaccgggccgatgtagttaaa
+gcccagctcttcaaacaacgtgccaggcactaccatgcctttaatatgttcttcggtgcg
+tttgagcagctctttaattggcggcacgccagagaaaacttttttcccgccttcgcgcag
+tgaagagtaaagcttaccggaaagcagctgtgccagatggttgttgagcgcgccgacatt
+ttcggaaatcgacatttcattgtcgttgagaatcaccagcatatcaggacggatatcgcc
+cgcgtgattcatcgcttcaaacgccatgcctgcggtaatcgcgccatcgccaatgacaca
+gacggtgcggcgatttttgccttctttttcggcagcaaccgcaataccaattccggcact
+gatggaggttgatgaatgcccgacgcttaatacgtcatattcgctttcgccgcgccacgg
+gaacgggtgcagaccgcctttctgacggatggtgccgattttgtcgcggcgtccggtcaa
+aattttatgcggataagcctgatgccccacatcccaaatcaattggtcaaacggggtgtt
+gtagacatagtgcagcgccacggtcagttcgaccgtgcccagcccggaggcgaagtgccc
+gctggaacggctcacgctgtcgagtaaatagcggcgcagttcgtcgcagagtttcggtaa
+actctctttcggcaacagtcgtaactcctgggtggagtcgaccagtgccagggtcgggta
+tttggcaatatcaaaactcatcaggggcctattaatacttattgtttatttattacgctg
+gatgatgtagtccgctagcgcttccagtgccgaggtatcgagtgactgttcagccagttg
+tttcagcgactgacgggcatcgtcgatcagatcccgggctttcttccgggcttgctcaag
+acccagaagtgcagggtaggtacttttaccaagttgctggtcggcaccctggcgttttcc
+caacgttgcagtatctcccaccacatccaggatgtcatcctgaacctggaaggcaaggcc
+gatgctctctgcatacttgtcgagtaccggcagagcacgacgtcctttatctccggcgct
+taatgcaccaaggcgaacggcggcgcgaatcaatgcgccggttttatgacgatgaatacg
+ctcaagcgcgtccagaggtacgtgtttgccttccgcgtctaaatctaatgcctgaccacc
+gcacattccggcaataccactggcgctcgccagttcagaaatcatcgaaattctgtcgcg
+gtccgacacttccggcatatcggcatcgcttaaaatcgagaacgccagcgtttgtaaagc
+gtcgccagcgagaatcgcgtttgcttcgccaaacttcacatggcaggttggcaaaccgcg
+acgcagatcgtcatcatccattgccggtaaatcatcatgaattaatgagtaagcgtggat
+acactcaacggcggcagcgggtgcgtccagcgtgtttgtgctaacgccgaacatatgacc
+ggtggcataaaccaggaaaggtcgcaggcgcttaccacctaataatgcgccatactgcat
+ggtttcgaccacgggagtgttctgaaagggcagtggggcgataaaacggctcagcgcctg
+gttggcctgcttaacgcaggcttcgagttgctgcggaaagtccattactcattgtccggt
+gtaaaaggggttagagaggcgtcttcattgtcagacagcagaatttgtacgcgctgttcg
+gcttgttgtaatttggcctgcccctgacgtgccagctgcacgccgcgttcgaactcgttc
+agcgcctcttccagcggcaggtcgccactttccagacgggttacaatctgttccagctcg
+ctcagcgccttttcaaagctggcgggcgcctcatttttcttcggcataatgaatgtctga
+ctctcaatatttttcgccccgtcatggtaacggactcagggcaaatagcaaataacgcgc
+aatggtaaggtgatgtgcacagcaaagcgatgttagtggtatacttccgcgcctggatgc
+agccgcaggtgtgggctgctgtatttttccctatacaagtcgcttaaggcttgccaacga
+accattgccgccatgaagtttatcattaaattgttcccggaaatcaccatcaaaagccaa
+tctgtgcgcttgcgctttataaaaatccttaccgggaacattcgtaacgttttaaagcac
+tatgatgagacgctcgctgtcgtccgccactgggataacatcgaagttcgcgcaaaagat
+gaaaaccagcgtctggctattcgcgacgctctgacccgtattccgggtatccaccatatt
+ctcgaagtcgaagacgtgccgtttaccgacatgcacgatattttcgagaaagcgttggtt
+cagtatcgcgatcagctggaaggcaaaaccttctgcgtacgcgtgaagcgccgtggcaaa
+catgattttagctcgattgatgtggaacgttacgtcggcggcggtttaaatcagcatatt
+gaatccgcgcgcgtgaagctgaccaatccggatgtgactgtccatctggaagtggaagac
+gatcgtctcctgctgattaaaggccgctacgaaggtattggcggtttcccgatcggcacc
+caggaagatgtgctgtcgctcatttccggtggtttcgactccggtgtttccagttatatg
+ttgatgcgtcgcggctgccgcgtgcattactgcttctttaacctcggcggcgcggcgcat
+gaaattggcgtgcgtcaggtggcgcattatctgtggaaccgctttggcagctcccaccgc
+gtgcgttttgtcgctattaatttcgaaccggtcgtcggggaaattctcgagaaaatcgac
+gacggtcagatgggcgttatcctcaaacgtatgatggtgcgtgccgcatctaaagtggct
+gaacgttacggcgtacaggcgctggtcaccggcgaagcgctcggccaggtgtccagccag
+acgctgaccaacctgcgcctgattgataacgtctccgacacgctgatcctgcgtccgctg
+atctcttacgacaaagagcacatcatcaacctggcccgccagattggcaccgaagacttt
+gctcgcacgatgccggaatattgtggtgtgatctccaaaagcccgacggtgaaagcagtt
+aaatcgaagattgaagcggaagaagagaagttcgacttcagcattctcgataaagtggtt
+gaggaagcgaataacgttgatatccgcgaaatcgcccagcagaccgagcaggaagtggtg
+gaagtggaaaccgtcaatggcttcggcccgaacgacgtgatcctcgatatccgttctatc
+gatgaacaggaagataagccactgaaagtcgaagggattgatgtggtttctctgccgttc
+tataaactgagcaccaaatttggcgatctcgaccagaacaaaacctggctgctgtggtgt
+gagcgcggggtgatgagccgtctgcaggcgctctatctgcgcgagcagggctttaacaat
+gtgaaggtatatcgcccgtaatttgtggtttttacgtcgcatctggtcagatgcgacgtt
+tgccgcatccgacactactcgtaataattataaatccctgccgccatcaccagttgtgat
+gccacttcatgggctttttcacgcccaaccaacaggtcgataattttcagaccaaagtcg
+atagctgtacccggcccctggctggtcagcaattttacccgtgcatcccagacgacgcgc
+ttgtccagccattgttcggcgggaattttgtctttcagcgtcgggaagccggtcatatta
+ccaatcgggaagatatcgtgcggcaccagcacggtggctggcgcggcgcaaatagccgcg
+acgatacgcccggaacggtggaactgtttaacggtttcaaccagcagagtgctatcgcga
+aaacactccgcgcctttaatgccaccaggcagcacgatcacgtcatattcgccatcagcc
+acttcgaccagcggcgcatccgccagcagcttcacgccgcgcgagcaggtaatcgccagg
+ttaccatcgctggcgacgctggcagtggtgactttgataccgccgcgaaccagcagatcg
+atagtggtgacggcttcagtctcttcactaccaggggcgaggcaaaccagtgccgatgcg
+ctcatattcactctcctttctttttaccatttcaaacaggcgggtgttttccggtacggc
+aatcccatgcgcgcgggcgcggcgtaagagaaaaccattgatatagtcgatttcagtgtg
+gcgcagcgcgcggatatcctgcaacatcgacgagatattttccgctgtggcatcaatcac
+ctgcatcacgtaatcacgcaaatcttctgctgaagtatgatgcccttcgcgttcgatcac
+cgccgcgacttcttcgcatatctgcataatttcttgcggatgatgacgtaattcaccgtt
+cgggcaattccagatggcagtcagtggattaatcacgcagttgactgccagcttgcgcca
+cagctcggcgcgaatattgttatgccaggcaacgtcaggcaacacggtttgcaaaatatc
+cgccagataactgtaatccccgtcctgttgccgtgccgggccaatatgcgtgataccgtt
+tgccacatgaataatgacattgccgtcgcggcgggctgcatgggtggtggtgcccatcag
+taatggctgctgaatgttttgcaactcttcgatggtgcccatgccgttgtgaattaacag
+tattggcgtagttacaggcagtgtggacgcgaggcttttgacggcatcggaaacctgcca
+tgctttcagcgtcaccaggagcagatcgctggtggcgagaaaatcgggatcgttggcggt
+cagcgattcgttaaatatcgaaccatctgtctcaaccagattcacgctacaataaggttg
+cggtacgcgcagccagccctgaacttcatgaccctgtttgcaaagtgctgtaagccataa
+ttgccctaaggcaccgcatcccaatacggtaattttcattgttcctcctcacccgcaacc
+actccgggtgttcaataaggctatcccttaattgtgcatgctgttgcgactatgcacaat
+taagggatacgtcctggtgcaggactgtcggttatttaactttgcgggtattatgcttcg
+catcaaaaatgaagggagaggaaaagatgccatctttcgatattgtctctgaagttgatc
+ttcaggaagcacgtaacgcggtcgataacgcgagccgcgaagtggagtcccgttttgact
+tccgtaacgttgaagcctcatttgagctgaacgacgccagcaaaaccatcaaagtgttga
+gcgagtccgatttccaggtcaatcagttgctggatattctgcgtgccaagctgctgaagc
+gcggcattgaaggcagttcgctggatgtaccggagaatatcgttcatagcggtaaaacct
+ggtttgtggaagcgaaactgaaacagggcattgagagcgcgacccagaagaaaatcgtca
+agatgatcaaagacagcaaactgaaagtgcaggcgcaaattcagggcgatgaaatccgcg
+taacgggcaaatctcgtgatgatttgcaggctgtcatggcgatggtacgtggtggcgatc
+tcggtcagccgttccagttcaaaaacttccgcgattaatcgcgactatgtgcgttttgtt
+catgtcagatgcggcatgaacgcctgattcggcctacaaaggtttgtaattcagaaactt
+tgtaggcctgataagcgtagcgcagcaggcaattcgccgcgttttttatgcctgacgaat
+tgcctgttctatctcaaagcgattcgtcactttgctgtcgattttcacataagctgaatg
+ttcttcttctgcaatcaacacttctttgatgccttcagtttctagcaaacgcacttttaa
+cgcctcgtttgcggcaatgttcgccgggatttcaatgcgcaaactgctgacatacggcgg
+ttctttcatggtactggcgactgtcagccacactgcggccagcattgcgccagcgagaaa
+taccccctgaccgtcaaacatgccgttaatccagccgcccagcgaaccgccaatcgccac
+gccaagaaactggctggtggagtaaacacccatcgccgtacctttgtaacctgctggcga
+ctctttactgataagtgagggcaggagggcttccatcaaattaaacgccacaaagaaaag
+ctgcacgccgaccaccagttgccagaactgcgtttgcgcgttccacaacacaatttccgc
+aaccacgatcaacccgacgcagaagacaaagacttgcttcattttgcgcttaacttcagc
+gtagataatgaaaggcacgaccgagccaaaggcgattagcattgtcgccagatagacctt
+ccagtgttcagccgccgggaaccctgcatcagccagttgtccgggcagggcaacaaacgt
+cgacatcagcaaaatatgcagacacataatgccaaagttgagtttcagcagccgcggttc
+cgccagcactttactgaaactgcctttcaccattccggactcacgattaagtacgtgagt
+gctactgttgggcacaacccaaatggtcaacgcaatgccggtcgttgccagaatagcgat
+catccagaacagcgcgtgcagcccaagtttgtgagtgatgatcgggccaagcaccatcgc
+aatggcaaaggtaatgccaaagctcacgccgataaacgccatcgctttggtgcggttttg
+ttcgcgcgtgagatcggaaagcagcgccataacggcggcggcaattgctccagagccttg
+tagcgcccggcccagaataattccccagatggagtcggaaagcgcagcgataacgctacc
+ggcggcaaacaccgccagcccaccgacaattaatggtttgcgaccaatgcggtcggaaag
+caggccaaacggaatctgaaaaacggcctgagtcagaccataaataccaatggcaatacc
+gattaatgcttcgctggcaccttgcagagccatgccgtacgtggtcagaaccggcagaac
+cataaacatgcccagcatgcgcaacgagaatacggtccctaaaccccaggtcgcgcgcct
+ctcacctggcgtcattttataatcgttcattaccacctctgttttaaattcgcgactagt
+gtaaagcggcaaacgaatggggtaaacatgcggattttttagtaaatatttcgagaggga
+tatgtttctaatgctaagaaaaaaggtgccgtagcacctttttaatagagaggttttgtt
+accacacagcagccagcagcgtatgcgagtccggtaccataaaatcaacggacatcatca
+ccgagagggcagtgatggcgatgatagagaagccgaacagcttgcgcgcccagattctgt
+catcagcaactttataaccgcgcagagccatacctaaccaccagacgctaaccgccgcgg
+cgaccaccagatatttatacccagcgtaaccgccaagagagagcatcagcgtggcaacgg
+caaaggcgatgatatacagcgtgatgtgattcttcgccaccgaaatgccttttaccactg
+gcaataccggaatgtttgccgcctggtaatccttaaagcggaaaatggcgatggcatagg
+agtgaggcatctgccacaggctgaagatagccagcaggatcgctgcgccgctatcgaact
+caccggttaccgcacagtagccgatcaccggcggcgcagcgccggagagcgaaccaatca
+acgtgccgtagacagagtggcgtttcatgtacaggctataaacgccgacataaaccacaa
+agcccatcacccccagccagcaggccagcggattcgcgccaaaccacagcagcataaagc
+cagcaatacccagcaacgtggcgtacaccagcgagacagcaggagagatcaggcctttca
+ccagcacccgattcttcgtcctttccatctttctgtcgatatccctgtcgatgtagttgt
+taaacacacaacccgacgccacaaccagtgacaccccaaccagcgtgtagataaacaggg
+gataatcaatgctgccctttgaggccagcaggaatcccccaatcaccgagatcaggttgc
+caaagatgatgcctggtttcgttacttgcaggtattgcttaaacatcataaccgccgctc
+ttagtgcatcatcatgttgtagttgaggttccacataatccagatggagcctacaaccag
+gatagcgatgattagcacggtgaagacaaacgccgtcatgttccagccttcatctgattt
+ggtattcatgtgcaggaagcacaccagatgcaccagaacctgtaccactgccattgccag
+gattgttcccagaattacggccggagaggcagctcctgtcatcaccatccagaacggaat
+caccgtcagaatgatcgacaggataaagcctgtcatgtaggtttttacgctgccatggga
+cgcgccgctgtgatcggtagaatgactcattacatcgcccccatcagataaacaacagtg
+aacacacagatccaaaccacatccaggaagtgccagaacaggctcaggcacatgatgcgg
+gtacggttagtgctggtcaggccgcgacgggcgatttgcaccatcagcaccgccatccag
+ataagaccagaagtgacgtgcagaccgtgcgtgccgaccagcgcaaagaacgctgacagg
+aagccgctgcgatccggacccatgccgttaacaatcaggtgatggaattcatagatttcc
+atcccgataaatccggcaccaaacaaccaggtcaacgccagccaggagataacctggctt
+ttgttgtttttgtacatggcgatagccgccatgccgtaggtgatggagctgaacaacagc
+aagaaagtttcaaccagaacgaacggcagttcgaaaatgtccttacctgtcgggccgcct
+gcggtgccgttcaccagaacggcataggtagcaaacaagatagagaacagaatgcagtcg
+ctcatcaggtagatccaaaatccgaagattttggttccgcctgcatcgtggtgcccgtgt
+tcgtgcgcgtgggcagtcgcgtgcgtcaaagtatcagttgccatttttcagccctgcctt
+agtaatctcatcgaaatgctggttttccagtttttcgatttctgccaccggcacgtagta
+atccacgtcctcgtcgaagcttttcacgatccaggtgatgatcatgcctgcgaagccaac
+aatcgccagccaccagatatgccagatcatggcgaaaccgaagatggtggagaaagctgc
+aatgacgatacctgcaccgctgtttttcggcatatgaatttcttcatagtggtcaggctt
+tttatacgcttcgcctttctctttcatttcccagaatgcatcacgttcgtgaacgtgcgg
+cactacggcaaagttatagaacggaggcggggaagaggttgcccactccagcgtacggcc
+accccacgggtcgccagtcaggtcacggttctggtcgcggtcgcgaatagaaacgtacat
+ctgaataacgaggcagagaatacccagcgcaatcagtactgcaccgctggctgcaatcat
+cagcatggtgtggaactgcgggtcaatctgctggctcaaacgacgggtcatgcccatgaa
+gcccagcgcatacagtggcataaaggcaacgaagaagccgatgatccagaaccagaacgc
+gcgtttaccccaggtttcgttcagtttgaaaccgaacgctttaggccaccagtaggtcat
+ccctgcgaagcagccgaagaccacgccgccgatgatcacgttatggaagtgcgcaatcag
+gaacaggctgttatgcagaacgaagtccgcgcccggtacggccagcagcacgccagtcat
+cccgcccaccgagaaggtgacgataaaaccgatggtccacagcatcgcagaatggaacac
+gatgcggccctgatacatggtgaacagccagttgaagatcttcaccccggtcgggatggc
+gataatcattgtggtgataccaaagaaggcgtttacgttcgcgcccgcacccatcgtaaa
+gaagtggtgcagccaaacgatgaacgacagcacggtgatacagacggttgcccataccag
+cgaggtataaccaaacagacgtttacgcgagaaggttgccgcaatttcggagaacacacc
+gaaaacaggcaggatcaggatgtaaacttccgggtggccccaggcccaaatcaggttgat
+gtacatcatcatgttgccacccatatcgttggtaaagaaatgggtgcccagatagcgatc
+cagggtcaacaacgcgacggtaaccgtcagaattgggaaggaagcaataatcagtacgtt
+cgcgcacagtgatgcccaggtaaatactggcatcttgaacatggtcatgcccggtgcgcg
+catcttcagaatggtaacgaagaagttgataccggtaagcgtcgtacctataccggatag
+ctggagactccatatccagtaatcgacaccgactcccggactgtactctattcccgatag
+cggtggataggccagccagccggtctgcgcaaattcgcccacgccgagagaaacgttaac
+cagaatcacaccaacaacggtaaaccagaagcttaagttgttgaggaacgggaacgcaac
+gtcacgcgcgccgatctgcagcggaaccaccaggttcatcagaccgataacgaaaggcat
+cgccacgaagaagatcataatcacgccgtgcgcggtaaagatctgatcgtagtggtgagg
+tggcaggaagcccgcttcgcccgccgaggcaagagcctgctggctacgcatcataatggc
+gtcagcaaaaccacgcagcaacatcacaatcgccacgatgatatacatgataccgaggcg
+tttatggtcgacggaggtcagccactctttccacaggtaggtccacttaccgaagtaagt
+gatcaggccaacgagcgccagacctcccaaaataatgccagcgatcgtaaccatgacgat
+aggttcatggaacgggactgcatcaagtgataattttccgaacatctttattcttcctca
+acccctttaatgggcggattccgcgtggctcatgtccatgccttccataccttcgtgtgc
+gctgtgctcaccttctggctgggtcatgtccatgctcttaccgtgagccataaacttgtt
+aattacatcggcaaacaagtctggtttcacgttggagaaatattccacctggttgtattc
+gctaggcgcggccagtttttcgaacgcagccatgtcagacatggtgttcggcgactgctt
+cgcttttgcgacccactggtcgaatgcggcgcgatccggtgttgcaatagctttgaactt
+catgcctgagaagcccgggccgctgtagctggcggagataccgtcataagtgccgggttc
+gttggcgatcagatgcaggcgagtctgcataccggccatggcataaatctggctacccag
+acgcggaatgaagaaggagttcatcacggagttggaggtcactttgaagtacaccggagt
+gttcgccgggaaagcgatttcattcacggtagcaatgccctgttccgggtagatgaagaa
+ccatttccagtccatggaaaccacttcgatggtaatgggcttctcgtcgtgtgccagcgg
+cttgctaggctcaagagcgtgagtggttttccaggtcagtactgcaaggaagatgatgat
+taagataggtaccgtccagaccacagcttccactttattggagtgtgaccagttcgggct
+gtacttagcatctttattgctcgcacggtacttccaggcgaaaccaacagccatcaagat
+tgcgggaataacgacaatcaacatcaggccaaatgccgtcagtatcagtgaacgttgctc
+cagaccaatctgtcctttgggatctaacagcgcagaattacagccactgagcaatacagt
+gcctgcaaataatgacaaccatcccaaacttttattgtatttcctgagtctcatttaacg
+acctcaattccacgggatctggtggcgtttaaagtgtgtgggcattttacgggaaggtta
+cattactgtaaacatgattaaattcctgttacttggatttggctgccaggtcacatatgt
+tgcaaaacatatcaggttgattttaagaagctgttgcaaaagggcgttataacaaaaggg
+gagtgctgaaggagtctgggcgggcaattggtataaccaatgtgaaataaaacaattatt
+taacaaataattatcattagagtgacaactgggtgatgagaaaataaagactcattagct
+gaatcgtgtaagaaaaatagaatttataaatggcgccaataatttccaaacgctaagccg
+cacaaaagaacaaatattaataagcgatactgatgtttatttagccgtaataattacggc
+gagtgattactacagctaaataatatttacagattacgtcagatgcgtttttcgtagcgc
+cagataatccagcaaaccaccaagcacgacgccagaaagggcgactaaaaccccgacttc
+cagcagagcaggcaggaaagagaagtgcgtcaaatccagcgcgtccatcgtcaatagcag
+taaccacacggccaacaggctgacgcccgccgccagtgtccacatggcaaaggcataacc
+tgccggatatgcggtacgggagataaagttgtcatttactcgtgtatattcaagcgtctg
+gcggcaaaccagcagcaaaataagccctggtacggcagcggcgacggagaatagatagaa
+tgtcgaccagccgtgtgcttcaacaaaccaacccgccacggggccgacataaactcgccc
+tacagcagaaagcgctgagagcagggcaaattgagtagcggaaaatgacttattacatag
+cgtcattaacagcgcgacaaaggctgatgtgcccatcccgccacagaggttttcgaaaaa
+gacggctgcgcccatgctgtagagatgcttatcagtaatcgacagcagccagtaaccggc
+gttagacgcaccttgtaaaatgccgaaaatcagcagtgcccggaacagtgacaggcgctg
+catcaaaatcccaccgtacaatgcgccaacaatggtcgctagtaagccaagcgttttgtt
+aaccacgcctacttcacccgcatcaaacccgacgccgcgaatcaaaaacgtggttgtcag
+gctcatggcgaatgcgtcgcccagcttatacagcacgataagaagcaaaataagccaggc
+attattgcgaccaaagaaatctcgcagaggtgcaacaaccgcttgttccagcgttttggg
+cacaggaatggtgtcggttggttctggtgcaagcaacgtcgcgataatacaggggatcaa
+cagtgccgccattaaccagtacatgccctgccagcccagccatttatctgccagccacag
+ggctaggccgccggaaaccagcatccctaaacggtaacccagcacgctgattgccgcgcc
+cgcaccacgttcttctgccggaagcacatcggttttccacgcatcgaagactatatcctg
+ggaagcagagcaaaaagcgatcaccactgccagcgccgccatccagcggagttgggtgcc
+tggttcgagaaaacccatcgccgcaatggcgactaataacaggatttgcgtggcgagcag
+ccaaccgcgccgccgcccaaaaaatggaggcgtgtagcggtccatcagcggtgaccagag
+gaatttaaaaacgtaagcctggcctaccagagagaagaaaccaatggttttgagatcgat
+attctcgaccgtcatccaggcctgtaaggtaccggatgtcagggcgagcggtagcccgga
+agcaaaacccaggatcagcaatatggctgaacgcggctgttgaaaaatacgtaaatattg
+actggacatgggcgtctacaggcccggcttgcaccgggccagagggcagaaattaacgcg
+cgttctgcttgatgaattcgtggatgctggtgtcctgagacatatcagcgatggtatcgg
+tcagcacactgttaaccgcatcggcgatatttttgttggaggcctggaacgcaccttcaa
+cgttgtagctggcacgatagtttttggtcattttgttgccattctgcgcggtagcgatga
+tggcgatatccgctttggtcgcgatgttgtagcgcacgttgccctgggacacgtcagcat
+acagttggctaacgatgatttgcagattaaccgggccattcggaccaaccatgtaaccac
+gcgcggtcatctgtttttccagcacttcttgcagcaggaaacgcagatcgcgggaggcgg
+tcagggtaacgatttgattatcgcgggtgacttttgccagcgcctgatcggtacgctgat
+cggcaccattaatgcttacggtgacgcccatcaggcttggatcctgctgtggcagtgtaa
+tcgtcggggaaacttcaatagttgttggcggttttgcgcatcctgcaagcataaacagag
+caactaacgggaagaggatttttttgaacatgttcgggctctcagagactcttaagcgtg
+tttggtaaaaattcccgccatcataacattgccaacggcgaggggaagtgggtaaggcat
+gtaaattcatcatgttgacgaaataatcgcccctggtaaaagaaacactgatgcgaggcc
+tgtgtttcaatctttaaatcagtaaacttcatacgcttgacggaaaaaccaggacgaaac
+ctaaatatttgttgttaagctgcaatggaaacggtaaaagcggctagtatttaaagggat
+ggatgacatctcagcgttgtcggaggagatatttcatgatgatacgtgagcggatagaag
+aaaaattaagggcggcgttccaacccgtattcctcgaagtagtggatgaaagctatcgtc
+acaatgtcccagccggctctgaaagccattttaaagttgtgctggtcagcgatcgtttta
+cgggtgaacgttttctgaatcgtcatcgaatgatttacagtactttagcggaggaactct
+ctactaccgttcatgcgctggctctgcatacttacactattaaggagtgggaagggttgc
+aggacaccgtctttgcctctcctccctgtcgtggagcaggaagcatcgcgtaaaaacgca
+tttgcaactgtcggcgcttttccagtatgttgctaaagattttatgaaaaacggcctgcg
+ggccgttttgttttgtctggattttgcgctttttgcccagcattcagacgaaaattgccc
+gggaattgtgaaaaaatacgcgacagcgcgcaataaccgttctcgactcataaaagtgat
+gccgctataatgccgcgtcctatttgaatgctttcgggatgattctggtaacagggaatg
+tgattgattataagaacatcccggttccgcgaagccaacaacctgtgcttgcggggtaag
+agttgaccgagcactgtgattttttgaggtaacaagatgcaagtttcagttgaaaccact
+caaggccttggccgccgtgtaacgattactatcgctgctgacagcatcgagaccgctgtt
+aaaagcgagctggtcaacgttgcgaaaaaagtacgtattgacggcttccgcaaaggcaaa
+gtgccaatgaatatcgttgctcagcgttatggcgcgtctgtacgccaggacgttctgggt
+gacctgatgagccgtaacttcattgacgccatcattaaagaaaaaatcaatccggctggc
+gcaccgacttatgttccgggcgaatacaagctgggtgaagacttcacttactctgtagag
+tttgaagtttatccggaagttgaactgcagggtctggaagcgatcgaagttgaaaaaccg
+atcgttgaagtgaccgacgctgacgttgacggcatgctggatactctgcgtaaacagcag
+gcgacctggaaagaaaaagacggcgctgttgaagcagaagaccgcgtaaccatcgacttc
+accggttctgtagacggcgaagagttcgaaggcggtaaagcgtctgatttcgtactggcg
+atgggccagggtcgtatgatcccgggctttgaagacggtatcaaaggccacaaagctggc
+gaagagttcaccatcgacgtgaccttcccggaagaataccacgcagaaaacctgaaaggt
+aaagcagcgaaattcgctatcaacctgaagaaagttgaagagcgtgaactgccggaactg
+actgcagaattcatcaaacgtttcggcgttgaagatggttccgtagaaggtctgcgcgct
+gaagtgcgtaaaaacatggagcgcgagctgaagagcgccatccgtaaccgcgttaagtct
+caggcgatcgaaggtctggtaaaagctaacgacatcgacgtaccggctgcgctgatcgac
+agcgaaatcgacgttctgcgtcgccaggctgcacagcgtttcggtggcaacgaaaaacaa
+gctctggaactgccgcgcgaactgttcgaagaacaggctaaacgccgcgtagttgttggc
+ctgctgctgggcgaagttatccgcaccaacgagctgaaagctgacgaagagcgcgtgaaa
+ggcctgatcgaagagatggcttctgcgtacgaagatccgaaagaagttatcgagttctac
+agcaaaaacaaagaactgatggacaacatgcgcaatgttgctctggaagaacaggctgtt
+gaagctgtactggcgaaagcgaaagtgactgaaaaagaaaccactttcaacgagctgatg
+aaccagcaggcgtaatttacgcagcataacgcgctaaattcgcacaaaggcccgtcaccg
+ccaggtggtgggcttttttttgtcatgaattttgcatggaaccgtgcgaaaagcctcttt
+cggtgttagcgtaacaacaaaagattgttatgcttgaaatatggtgatgccgtacccata
+acacagggactagctgataatccgtccataaggttacaatcggtacagcaggttttttca
+attttatccaggagacggaaatgtcatacagcggcgaacgagataactttgcaccccata
+tggcgctggtgccgatggtcattgaacagacctcacgcggtgagcgctcttttgatatct
+attctcgtctacttaaggaacgcgtcatttttctgactggccaggttgaagaccacatgg
+ctaacctgattgtggcgcagatgctgttcctggaagcggaaaacccagaaaaagatatct
+atctgtacattaactccccaggcggggtgatcactgccgggatgtctatctatgacacca
+tgcagtttatcaagcctgatgtcagcaccatctgtatgggccaggcggcctcgatgggcg
+ctttcttgctgaccgcaggggcaaaaggtaaacgtttttgcctgccgaattcgcgcgtga
+tgattcaccaaccgttgggcggctaccagggccaggcgaccgatatcgaaattcatgccc
+gtgaaattctgaaagttaaagggcgcatgaatgaacttatggcgcttcatacgggtcaat
+cattagaacagattgaacgtgataccgagcgcgatcgcttcctttccgcccctgaagcgg
+tggaatacggtctggtcgattcgattctgacccatcgtaattgatgccagaggcgcaact
+gtgccgctatacttatccagggcggcacaacgctgtaagcggcttgcgcctgagaatggc
+atttgcgtcgtcgtgtgcggcacaaagaacaaagaagaggttttgacccatgacagataa
+acgcaaagatggctcaggcaaattgctgtattgctctttttgcggcaaaagccagcatga
+agtgcgcaagctgattgccggtccatccgtgtatatctgcgacgaatgtgttgatttatg
+taacgacatcattcgcgaagagattaaagaagttgcaccgcatcgtgaacgcagtgcgct
+accgacgccgcatgaaattcgcaaccacctggacgattacgttatcggccaggaacaggc
+gaaaaaagtgctggcggtcgcggtatacaaccattacaaacgtctgcgcaacggcgatac
+cagcaatggcgtcgagttgggcaaaagtaacattctgctgatcggtccgaccggttccgg
+taaaacgctgctggctgaaacgctggcgcgcctgctggatgttccgttcaccatggccga
+cgcgactacactgaccgaagccggttatgtgggtgaagacgttgaaaacatcattcagaa
+gctgttgcagaaatgcgactacgatgtccagaaagcacagcgtggtattgtctacatcga
+tgaaatcgacaagatttctcgtaagtcagacaacccgtccattacccgagacgtttccgg
+tgaaggcgtacagcaggcactgttgaaactgatcgaaggtacggtagctgctgttccacc
+gcaaggtgggcgtaaacatccgcagcaggaattcttgcaggttgatacctctaagatcct
+gtttatttgtggcggtgcgtttgccggtctggataaagtgatttcccaccgtgtagaaac
+cggctccggcattggttttggcgcgacggtaaaagcgaagtccgacaaagcaagcgaagg
+cgagctgctggcgcaggttgaaccggaagatctgatcaagtttggtcttatccctgagtt
+tattggtcgtctgccggttgtcgcaacgttgaatgaactgagcgaagaagctctgattca
+gatcctcaaagagccgaaaaacgccctgaccaagcagtatcaggcgctgtttaatctgga
+aggcgtggatctggaattccgtgacgaggcgctggatgctatcgctaagaaagcgatggc
+gcgtaaaaccggtgcccgtggcctgcgttccatcgtagaagccgcactgctcgataccat
+gtacgatctgccgtccatggaagacgtcgaaaaagtggttatcgacgagtcggtaattga
+tggtcaaagcaaaccgttgctgatttatggcaagccggaagcgcaacaggcatctggtga
+ataattaaccattcccatacaattagttaaccaaaaaggggggattttatctccccttta
+atttttcctctattctcggcgttgaatgtgggggaaacatccccatatactgacgtacat
+gttaatagatggcgtgaagcacagtcgtgtcatctgattacctggcggaaattaaactaa
+gagagagctctatgaatcctgagcgttctgaacgcattgaaatccccgtattgccgctgc
+gcgatgtggtggtttatccgcacatggtcatccccttatttgtcgggcgggaaaaatcta
+tccgttgtctggaagcggcgatggaccatgataaaaaaattatgctggtcgcgcagaaag
+aagcttcaacggatgagccgggtgtaaacgatcttttcaccgtcgggaccgtggcctcta
+tattgcagatgctgaaactgcctgacggcaccgtcaaagtgctggtcgaggggttacagc
+gcgcgcgtatttctgcgctctctgacaatggcgaacacttttctgcgaaggcggagtatc
+tggagtcgccgaccattgatgagcgggaacaggaagtgctggtgcgtactgcaatcagcc
+agttcgaaggctacatcaagctgaacaaaaaaatcccaccagaagtgctgacgtcgctga
+atagcatcgacgatccggcgcgtctggcggataccattgctgcacatatgccgctgaaac
+tggctgacaaacagtctgttctggagatgtccgacgttaacgaacgtctggaatatctga
+tggcaatgatggaatcggaaatcgatctgctgcaggttgagaaacgcattcgcaaccgcg
+ttaaaaagcagatggagaaatcccagcgtgagtactatctgaacgagcaaatgaaagcta
+ttcagaaagaactcggtgaaatggacgacgcgccggacgaaaacgaagccctgaagcgca
+aaatcgacgcggcgaagatgccgaaagaggcaaaagagaaagcggaagcagagttgcaga
+agctgaaaatgatgtctccgatgtcggcagaagcgaccgtagtgcgtggttatatcgact
+ggatggtacaggtgccgtggaatgcgcgtagcaaggtcaaaaaagacctgcgtcaggcgc
+aggaaatccttgataccgaccattatggtctggagcgcgtgaaagatcgaatccttgagt
+atcttgcggttcaaagccgtgtcaacaaaatcaagggaccgatcctctgcctggtagggc
+cgccgggggtaggtaaaacctctcttggtcagtccattgccaaagccaccgggcgtaaat
+atgtccgtatggcgctgggcggcgtgcgtgatgaagcggaaatccgtggtcaccgccgta
+cttacatcggttctatgccgggtaaactgatccagaaaatggcgaaagtgggcgtgaaaa
+acccgctgttcctgctcgatgagatcgacaaaatgtcttctgacatgcgtggcgatccgg
+cctctgcactgcttgaagtgctggatccagagcagaacgtagcgttcagcgaccactacc
+tggaagtggattacgatctcagcgacgtgatgtttgtcgcgacgtcgaactccatgaaca
+ttccggcaccgctgctggatcgtatggaagtgattcgcctctccggttataccgaagatg
+aaaaactgaacatcgccaaacgtcacctgctgccgaagcagattgaacgtaatgcactga
+aaaaaggtgagctgaccgtcgacgatagcgccattatcggcattattcgttactacaccc
+gtgaggcgggcgtgcgtggtctggagcgtgaaatctccaaactgtgtcgcaaagcggtta
+agcagttactgctcgataagtcattaaaacatatcgaaattaacggcgataacctgcatg
+actatctcggtgttcagcgtttcgactatggtcgcgcggataacgaaaaccgtgtcggtc
+aggtaaccggtctggcgtggacggaagtgggcggtgacttgctgaccattgaaaccgcat
+gtgttccgggtaaaggcaaactgacctataccggttcgctcggcgaagtgatgcaggagt
+ccattcaggcggcgttaacggtggttcgtgcgcgtgcggaaaaactggggatcaaccctg
+atttttacgaaaaacgtgacatccacgtccacgtaccggaaggtgcgacgccgaaagatg
+gtccgagtgccggtattgctatgtgcaccgcgctggtttcttgcctgaccggtaacccgg
+ttcgtgccgatgtggcaatgaccggtgagatcactctgcgtggtcaggtactgccgatcg
+gtggtttgaaagaaaaactcctggcagcgcatcgcggcgggattaaaacagtgctaattc
+cgttcgaaaataaacgcgatctggaagagattcctgacaacgtaattgccgatctggaca
+ttcatcctgtgaagcgcattgaggaagttctgactctggcgctgcaaaatgaaccgtctg
+gtatgcaggttgtgactgcaaaatagtgacctcgcgcaaaatgcactaataaaaacaggg
+ctggcaggctaattcgggcttgccagcctttttttgtctcgctaagttagatggcggatc
+gggcttgcccttattaaggggtgttgtaaggggatggctggcctgatataactgctgcgc
+gttcgtaccttgaaggattcaagtgcgatataaattataaagaggaagagaagagtgaat
+aaatctcaattgatcgacaagattgctgcaggggctgatatctctaaagctgcggctggc
+cgtgcgttagatgctattattgcttccgtaactgaatctctgaaagaaggggatgatgta
+gcactggtaggttttggtacttttgccgttaaagagcgtgctgcccgtactggccgcaac
+ccgcagaccggtaaagagatcaccatcgctgctgctaaagtaccgagcttccgtgcaggt
+aaagcactgaaagacgcggtaaactaagcgttgtccccagtggggatgtgacgaagttca
+agggcgcatctactgatgtgccttttttatttgtattcggtgactttctgcgtcttgtgg
+gctgacaattgcccccgtttcttgtcacaataggcctttgcgcgcatcgatacgttgcgt
+gaggtacacagtcatctacagcggagtgttgttacaccatgatggacagcttacgcacgg
+ctgcaaacagtctcgtgctcaagattattttcggtatcattatcgtgtcgttcatattga
+ccggcgtgagtggttacctgattggcggaggcaataactacgccgcaaaagtgaatgacc
+aggaaatcagccgtgggcaattcgagaacgccttcaacagcgagcgtaatcgcatgcagc
+aacagctgggcgatcaatactccgagctggcagcgaacgaaggctatatgaaaaccctgc
+gtcaacaggtgctgaatcgtctgatcgacgaggcgctgctggatcagtacgcacgtgagc
+tgaaactgggtatcagcgatgagcaggttaaacaggcgattttcgcgaccccagccttcc
+aggttgacggcaaatttgataacagccgctataacggtatcctcaaccagatggggatga
+ccgccgatcagtacgcccaggcgctgcgtaaccagctcactacccaacagctgattaacg
+gcgttgccggtaccgattttatgctgaaaggtgaaaccgacgagctggcggcactggtcg
+cgcaacaacgcgtggtgcgtgaggcgactatcgatgttaacgcgctggcggcgaagcagc
+ctgtgaccgaacaggagattgccagctactacgaacaaaacaaaaacaatttcatgacgc
+cggaacaattccgcgtgagttacatcaagctggatgccgcaacgatgcagcaaccggtta
+gcgatgcggatatccagagctactacgaccagcatcaggatcaattcacccagccgcagc
+gtacccgctacagcatcatccagaccaaaactgaagatgaagcgaaagcggtacttgatg
+agctgaataaaggcggtgattttgctgcattagccaaagaaaaatctgccgatattatct
+ctgctcgtaacggcggcgatatgggttggttagaagatgccactatcccggacgaactga
+aaaatgctggtctgaaagaaaaaggccaactgtctggtgtcatcaaatcttcggtcggtt
+tcctgattgtacgtctggacgacattcagccagcgaaagtgaaatcgttagacgaagtac
+gtgacgacattgcggcgaaagtgaaacacgaaaaagccctcgatgcgtactacgcgctgc
+agcagaaagtgagcgatgcggcaagcaacgacaccgagtctctggccggtgcagagcaag
+ctgccggcgttaaagccactcagacgggttggttcagcaaagataacctgccggaagagt
+tgaacttcaagccggttgccgacgctatctttaacggcggtctggtaggtgaaaacggcg
+cgccgggcatcaactctgacatcatcaccgtagacggcgaccgcgcattcgtgctgcgca
+tcagcgagcacaaaccggaagcggtgaaaccgttggcagatgttcaggaacaagttaagg
+cattggttcagcacaacaaagctgaacaacaggcgaaagtggatgctgagaaactgctgg
+ttgatttgaaagccggcaaaggtgcggaagctatgcaggctgccggtctgaaatttggcg
+agccgaaaaccttaagccgttccggtcgtgacccgattagccaggcggcgtttgcactgc
+cactgccagcgaaagacaaaccgagctacggtatggcgaccgatatgcaaggtaatgtgg
+ttctgctggcgctggatgaagtgaaacaaggttcaatgccggaagatcagaaaaaagcga
+tggtgcagggtatcacccagaacaacgcacaaatcgtctttgaagctctgatgagtaacc
+tgcgtaaagaggcgaaaatcaaaattggcgatgcgctggaacagcaataatcctgaagcc
+gcctcgcaaaaaaatgcgttgcagctgtaacaagaaaaggtcgctttcgcggccttttcc
+atttctgaacattgccatttgtttactgttttcactgccgttaaggtgattccactgtta
+acaaacaaggagaaaacagtatgaaacacggaattaaagcactgctcattaccctgtccc
+tggcctgtgccggaatgtctcatagcgcgctggcggcagcttctgtggcgaaaccgacgg
+cggtagaaaccaaagcggaagctcctgcagcacaaagtaaagcagcagtaccggcgaaag
+ccagtgacgaagaaggcacccgggtcagcattaataatgccagcgcggaagagctagccc
+gcgcgatgaatggcgttggcctgaagaaagcgcaggcgattgtcagttatcgcgaagagt
+acggtccgtttaaaactgtggaggatctaaagcaggtgccggggatgggcaattcgctgg
+tggaacgtaatctggcggtattaaccctgtaattaatttgcatagtggcaattttttgcc
+agactgaagaggtcataccagttatgacctctgtacttataacaacaacgtaaggttatt
+gcgctatgcaaacacaaatcaaagttcgtggatatcatctcgacgtttaccagcacgtca
+acaacgcccgctaccttgaatttctcgaagaagcccgctgggatgggttggaaaatagcg
+acagttttcagtggatgacggcccataacatcgccttcgtcgtggtcaatatcaatatta
+actatcgtcgcccagcggtattaagtgacctgttaactattaccagtcagttgcagcaat
+taaacggtaaaagcggcatcttaagccaggtcattacactggagccggaagggcaggtgg
+tagcggatgcgcttattacgtttgtttgtattgatcttaaaacgcagaaagcattagctc
+tggaaggggaattgcgcgaaaagctggagcagatggttaagtaaacgttttgtggtgccg
+gatgctcaagccgcatccggcgacacccggaataattacctcaacccggttttctgcttc
+atcgctgccatcaccgtcggtttatcggccagataatgattcaaaccgttggcgcgtaaa
+ttacatgccgcacaatgaccgcaaccgtcgcctttaaagccgttatagcaggtcaacgtt
+tcgttacggactaaatccagtttgccgtaataatctgccagcgcccaggtttccgcttta
+tcaatccacatcagcggcgtttcaaaacgaatatctttcgccatgcccaaactgacggca
+tggtttagtgctttcacaaactcatcgcggcaatccgggtagccggagaaatccgtttcg
+cagacgccagtaattacggcttctgcttttacctgatacgcatatattgccgccagcgtc
+aggaacaaaatattacgccctgggacaaacgtattcgggataccatcggcttcaggttca
+taatcaggcaccggaatgctgtcacgcgtcaggctactgaccgccagctcgttgagcagg
+gtgacatccagcaccttatgcgcgcgtgcccccagtttcagcgccagttcgcgtgccacg
+tcgatttctgcgcgatgccgctgaccgtaatcgaacgtcacgcaatggacttcatcatat
+tgttgtaatgcctgcaccagacaggtggtggaatcctgacctccactgaacacaacgaca
+gcacgtttcatagataatcctgcttgaacaataaaagcgttatggtaacgcctgcgatta
+acccggaccagctattcattgcgatggcgcgggaagccaggcttcggtaaattcaaacca
+gccgcgcggtgtcagtcgcacaccgttcacgccgggaggggcactaatgcgatagtgata
+gttgaacagcggcgtcagcgtcgcatctgtcattaactggctaaaaaccgctttcagggc
+attaaatcggttttcttcatcaggcattatttgcacggcatccagtgtcgattgtagatg
+tgcgtatgctggagcgtcgaaaacatgtggccacagcggatcgcagcgcagccattgctc
+cagagtatattccggtgcttcgccaattaatctgtcgcccatcatgaggtctgcgtgtgc
+ctgtagggtcgtgtcgtcccagttttttgcgttatgaaaaataattgtgagttcacagcc
+ttccgctgccagtgtcgcctgtaggcgttctgccatggtatgaagttctatcggtaggtg
+ataaaccagcgtcaaggttttcggtagtttgacttcatccggtacctgccaatgcggaat
+agtccagcctggcagtaatgcatgactggcggtgatcaggttttctccgacttctaacgt
+ttgtaataaaccggattgatgaataatggagatcacttttcgcgcctgccagagggagag
+tcggggacttttgcgcaacgtcaaatagcaaaaacctaaactgatgccgctactgacctg
+gctgacccgttgcagctcctccggtttgccgatggtgatttgcacgggatgccgacaact
+ggttcccaaatctttttcgaaaagcggcggagttatccagtactcaaccgctttaagcag
+cggatgacgtaaatggtaataatcatggctttccaggcgcaccagctctgctgtgaattg
+tgttaagcgaaaaggacccgtgccgatcagtgggaattgcggatgcgccagatggctgca
+atagctcgccagccggtgcgcaagccagtaatcagggcgatgtaaaaagaaggtcagaca
+ctgcggatgggtgacttcaatacgcttcacgctaataaataattgatccagtgctggcag
+ttgtaacagcatcaataatcgctggtgtaagtgtgaggcttttactgcatcgccgttatg
+ccagtgtagggttgaacgaagataaaagtcccagcgtaacccgtcagtagaggtttccca
+gtgatgcgctaaatcgccaatcgggcgctgagtattattatcgaagcgggtcaggccgga
+aaatatctgcccggcgagatgctgctcggcacggccgggcaaaaagcctggttgtagcgg
+ttcgagcgggcgatagtagggaatacgcaacgtgggtgtatcgttttgccattgtccgcc
+cataaacggctgtaacagagtgcgcagctcacctggggccagttgcgccagctccagcac
+atcttgctgctttccggtttccagtgcctgttccatcatcgcattgcgtagcgattccgg
+cgtgaccagaaagcgtaattgtccgcgctttccgcgtcctgactgcgcctgccactccag
+ccatcccgcctcctgtgcctgacgcaacagcgtacgaacatggcgttcgctgcaaaaaca
+gcgttcggccagttcgctgacggtgacggtttgcggctttccggcggaaggttgccacag
+acgttgatactggttaagacggttgagcaatcgcatataaacccggaacaatattattta
+actattcactattacttccgtatatatcaggtgatactcaatcaccattaaccgtgtcac
+agagtggagaaagaaatggctcgtctggcagcatttgatatggatggcactttattgatg
+cccgaccatcatttaggtgagaaaaccctctctactttggcgcgactgcgtgaacgcgac
+attaccctcacttttgccacggggcgtcatgcgctggagatgcagcatattctcggggcg
+ctatcgctggatgcgtatttgattaccggcaacggaacgcgcgtgcattctctggaaggt
+gaacttttacatcgtgatgatttacctgcggatgtcgcggagctggtgctgtatcagcaa
+tgggatacccgagccagcatgcatatcttcaatgacgacggttggtttaccgggaaagag
+atccctgcgttgttgcaggcatttgtctatagcggttttcgttatcagataatcgatgtc
+aaaaaaatgccactcggcagcgtcaccaagatctgcttctgtggcgatcacgacgatctt
+acacgcttgcagatccagctatacgaagcattaggcgagcgtgcacatttgtgtttttcc
+gccacggattgcctcgaagtgctgccggtgggctgcaataaaggcgctgcattgacggtg
+ctgacccaacatttaggtttatcgttgcgcgattgcatggcctttggtgatgcgatgaac
+gatcgcgaaatgttagtcagcgtcggtagcggatttattatgggcaatgcgatgccgcaa
+ctgcgcgcggagctcccgcatttaccggtgattggacattgccgaaatcaggctgtctct
+cactatttgacgcactggctggactatccacatctaccttattcccccgaataacgagat
+cccttccagcaccgggcaattgcccggttttttttgcgttgaatttgtcattttgtgccg
+tggtgtttaaaccgcacagaataaattgtcgtgatttcacctttaaaataaaattaaaag
+agaaaaaaattctctgtggaagggctatgttagataaaattgaccgtaagctgctggcct
+tactgcagcaggattgcaccctctctttgcaggcactggctgaagccgttaatctgacaa
+ccaccccttgctggaagcgcctgaaacggctggaggacgacggtatccttatcggcaaag
+tcgccctgctggatccggaaaaaataggcctcggcctgaccgcttttgtgctgataaaaa
+cgcaacatcacagcagcgaatggtattgccgctttgtcacggtggttaccgaaatgccag
+aagtgctggggttctggcgcatggctggtgaatacgattatctgatgcgcgtccaggttg
+ccgacatgaaacgctacgacgagttttataagcgtctggtaaacagcgtgccggggctgt
+cggacgtcacttccagcttcgcgatggaacagattaaatacaccacttctttacccatcg
+aataaatatccagaatcaggtcaggacacaacgcgtgcgattatttgctcaattaagctg
+gtatttccgtcgggaatggcgtcgctatctcggggctgtcgccttgcttgtcattatcgc
+gatgctgcaactggttccgccaaaagtggttggtattgttgtcgatggcgtgacagaaca
+acactttactaccgggcagatcctgatgtggatcgccaccatggtgctgattgccgttgt
+ggtttatctcctgcgttacgtctggcgggtattgctgtttggtgcgtcttatcaactggc
+tgttgaactgcgtgaagattattaccgtcagctaagccggcagcatcctgagttttacct
+gcgtcatcgcaccggtgacctcatggctcgtgcgaccaatgacgtcgatcgcgtcgtgtt
+tgccgccggagaaggggtgctgacgctggtggattcactggtgatgggctgcgctgtgtt
+gattatgatgtctacgcaaattagctggcagttgaccttattttccctgttgccgatgcc
+agtgatggcgatcatgattaagcgcaacggcgatgctttgcatgaacgctttaagctggc
+acaggcggcgttttccagtcttaatgaccgcacccaggaaagcctcaccagtatccgcat
+gatcaaagcctttggtctggaagatcgccagtcggcgttatttgccgcggatgccgaaga
+taccggcaaaaaaaacatgcgggtggcgcgtattgatgctcgtttcgacccgaccatcta
+tatcgcgattggtatggcgaacttgctggcgattggcggcggtagttggatggtggtgca
+gggcagtttaacgctgggccagctcaccagttttatgatgtatttaggtctgatgatttg
+gccaatgctggcgctggcatggatgtttaacattgtggaacgtggtagtgctgcgtacag
+ccgtattcgcgcgatgctggcggaagcgccggtggtgaacgatggtagcgaacccgtgcc
+ggaagggcgtggcgaactggatgtaaatattcaccagttcacgtatccgcagactgacca
+tcctgcgctggaaaacgtcaatttcgccctgaaacccggtcagatgctgggtatctgcgg
+gccgactggttccggcaaaagtaccctgttgtcgctcattcagcgtcatttcgacgtcag
+cgagggggatattcgctttcatgatattcctctgacgaagttacaactcgatagctggcg
+tagccgcctggcggtagttagccagacgccattccttttttctgacactgtggcgaataa
+catcgcgctgggttgcccgaatgccacccagcaagagattgagcatgtcgcgcggttagc
+cagcgtacatgacgatattttgcgtctaccgcaaggttacgatacagaggtgggcgagcg
+cggtgtgatgctttccggcgggcaaaaacagcgtatctccattgctcgtgcgttattagt
+caacgcggaaatcctcatccttgatgatgcgctttcggcggtggacggacgcactgagca
+ccagatcctgcataacctgcgtcagtgggggcagggaagaacggtaatcatcagtgccca
+tcgcctttctgcactgacggaagccagtgaaattattgtgatgcagcacggacatatcgc
+ccagcgtggcaatcatgatgtgctggcacaacaaagcggctggtatcgcgatatgtatcg
+ctatcaacaactggaggcggcgctcgacgacgctccggaaaatcgcgaggaggccgtcga
+tgcgtagttttagccaactgtggccgactctcaagcgcctgttagcgtacggttcgccgt
+ggcgtaaaccgctggggattgcggtcctgatgatgtgggttgcggcggcggcagaagtca
+gtgggccgctgcttatcagctattttatcgacaatatggtagcgaaaaataacctgccgt
+tgaaagtggttgcagggctggctgcggcgtatgttgggctgcaactgtttgccgccgggc
+tacattacgcgcagtcgctgctgtttaatcgggcggcagtaggcgtagtgcaacagttgc
+gtaccgacgtgatggatgctgcgttacgccagccattaagcgagtttgatacccaacccg
+tcgggcaggtgatttcccgcgtcactaatgacactgaagtgatccgcgatctctacgtta
+ccgtagtggcaactgtcctgcgcagtgccgcgctggtgggcgcgatgctggtggcgatgt
+tcagcctcgactggcgaatggcactggtggcgataatgattttcccggtggtgctggtgg
+taatggtgatataccagcgttacagcacgccgattgtccgtcgtgtgcgcgcctatttgg
+cggatatcaacgacggctttaacgaaatcatcaatggcatgagcgttatccagcagtttc
+gtcagcaggcgcgatttggcgaacgtatgggggaggccagtcgttcacactatatggcga
+ggatgcaaaccctgcgcctcgacggttttctgctgcgtccgctgctgagtctgttttcat
+cgctcattctttgtggcttgttgatgctgtttggcttctccgccagcggcaccattgaag
+tgggcgtgctgtatgcgtttatcagctatcttgggcgacttaacgaaccattaatcgaac
+tgaccacgcaacaggcgatgctgcaacaggctgttgttgctggtgagcgcgtgtttgaac
+tgatggacggaccgcgccagcaatatggcaatgatgatcgcccgttacagagtggcacca
+tcgaagtcgataacgtgtcatttgcttatcgcgatgacaatctggtgctaaagaacatta
+atctctctgtgccttcgcgcaattttgtggcgctggtcgggcataccggcagtggcaaaa
+gcaccctcgccagtttattgatgggctattacccgctaacggaaggtgagattcgccttg
+atggtcgtccattaagttcgctaagtcacagcgcgctgcgccagggcgtggcaatggtgc
+agcaagatccggtggtgctggcggataccttcctcgccaacgtgacgctggggcgggata
+tctccgaagaacgcgtctggcaggcgctggaaaccgtgcaactggcggagctggcgcgta
+gcatgagcgacggtatttacacgccgctgggcgagcaggggaataatctctcagttgggc
+aaaagcaactgctggcactggcgcgcgtgctggtcgagacgccgcaaatcctgatccttg
+atgaggcaaccgccagcattgactccggtactgaacaggcgattcaacatgctctggcgg
+cggtgcgtgaacataccacgctggtagtgattgctcaccgcttatcgaccattgttgatg
+ccgacaccattctggtgcttcatcgtgggcaagccgtggagcagggcactcaccagcaac
+tgctggcggcccagggacgctactggcagatgtatcaactgcaacttgcgggcgaagagc
+tggcagccagcgtgcgtgaagaggaatcattgagcgcctgaatagcgcaatatttcatcg
+ttggtgcaaaaatgtaacgcactgtgcactgtcatagtgcgttttcattttcaaacttct
+taacttcctgctctctttctcgtttttcatttctggcacaccgcttgcaataccttcttc
+gtgtagcagaaccattaccgaattctgaccggaggggatctatgaagctggtgaccgtga
+taatcaaaccattcaagctggaagacgttcgtgaagcgttatcttccattggtattcagg
+gcctgaccgtcaccgaagtgaaaggtttcgggcgtcagaaagggcatgccgagctgtacc
+ggggggcggaatacagcgtcaatttcctgccaaaagtaaaaattgatgtggcgattgctg
+atgaccaactcgatgaagtgatcgatatcgtcagtaaggcggcttacaccggaaaaattg
+gcgacggcaaaatcttcgtcgctgaattgcaacgcgtcattcgtattcgtaccggcgaag
+ccgacgaagcggcgctgtaatctctggcacacagcaacaggaacgaaaaatgaagatagc
+gacgataaaaactgggcttgcttcactggcgatgcttccgggactggtaatggctgcacc
+tgcggtggccgataaagccgacaatgcgtttatgatgatttgtactgcgctggtgctgtt
+tatgactattccggggattgccctgttttacggtgggttgattcgcggcaaaaacgtgct
+gtcgatgctgacgcaggtgacggtgacatttgcactggtctgtattctctgggtggttta
+cggttactcgctggcgtttggtgagggcaacaacttcttcggcaacattaactggttgat
+gctgaaaaacatcgaactgacggcggtgatgggcagcatttatcagtatatccacgtggc
+gtttcagggatcgtttgcctgcattaccgtcggcttgatagttggggcgctggcggaacg
+aatccgcttctcagctgtgttgattttcgtggtggtatggctgacgctctcttacattcc
+gattgcgcatatggtgtggggcggtggtttgctggcttctcacggtgcgctggatttcgc
+gggtggcaccgtggtgcacattaacgccgcaatcgccggtctggtgggcgcgtatctgat
+aggaaaacgcgtgggcttcggtaaagaggcgtttaaaccgcacaacctgccgatggtctt
+caccgggactgccattctctatatcggttggtttggctttaacgccgggtcagcgggcac
+ggcgaatgaaatcgcggcactggcatttgtgaatactgtggtcgcaacggcggcggcaat
+tcttggctggatcttcggtgaatgggcgctgcgtggtaagccttcactgctgggggcgtg
+ttctggcgcgattgccggtctggtcggcgtgacgccagcctgcggctacattggggttgg
+cggcgcgttgattatcggcgtggtagctggtctggcgggcttgtggggcgttaccatgct
+caaacgcttgctgcgggtggatgatccctgcgatgtcttcggtgtgcacggcgtttgtgg
+cattgtcggctgtatcatgaccgggatttttgccgccagctcgctgggcggcgtgggctt
+cgctgaaggtgtgacgatgggccatcagttgctggtacagctggaaagcatcgccattac
+gatcgtctggtccggtgttgtggcatttatcggctacaaattggcggatctgacggttgg
+tctgcgtgtaccggaagagcaggagcgagaagggctggatgtcaacagccacggcgagaa
+tgcctataacgcgtaacaagcactgcaaaaaacagccggacggttttcacctccggctat
+ttttttaattgtgattacgcatcaccccttcctgaacggtcgaggcaaccagtacgccgt
+cttgggtataaaactcaccgcgcacaaagccacgtgcgctggacgccgaggtgctctcca
+cgctatacagcagccattcattcaaattaaacgggcgatggaaccacatggaatggtcaa
+tggtggcaatctgaatccccggttcgagaaaaccgatgccgtgcggctgtagagctaccg
+gcaggaagttaagatcagaagcgtaaccgagcagatactgatgaacgcgcaggtcatccg
+gcacgctaccatttgcgcggatccacacctgacgatgtggttctgcgacgtgacctttca
+gtgggttatgaaactccaccggacggacttccagcggacgatcgcagatgaatttatctt
+tcagcactggcggcagcaggtgcgccagcgattgggcgatttgcgtttccgaagggaggc
+catcaggcgctggcgcggacggcattgttttttgatgttcgaaacccgcttctggtgcct
+ggaaagaggcagtcatataaaaaatcggtttgccgttttgaatagcagcaacccggcggg
+cgctgaagctgttaccgtcacgcagcgtttcgacatcataaataatcggcttcttactat
+cgccagggcgaagaaagtagctgtgaaacgaatgtaccagccgctcttcagggacggtct
+cttttgcagcatacaaggcctgacccacgacctggccgccaaacacctggcgtaaaccta
+aatcttcactctggccgcgaaagagtccttcctcaattttttccagatttaacaatgtca
+gtaaattttttagcgcctgactcatataactctccagtaacaaagctgccgcagcaagcc
+aaagtgagttgagtataacgcaaatttgctactggtccgatgggtgcaatggtctgaatt
+acgggctaattacaggcagaaatgcgtgatgtgtgccacacttgttgacgttactatttt
+gttaaccactcttccggcgaggaaagttagcccgctggtgcattgataataaggagaaat
+gaatgaaactcgtgcacatggccagtggtttagcggttgcgattgcgttggcggcttgcg
+cagataaaagcgcggatattcagacgccagcaccggctgcaaatacgtctatttcagcaa
+cacaacaaccagctatccagcaaccgaatgtctccggtaccgtctggatccgtcagaaag
+tcgcactgccgcctgatgctgtgctgaccgtgacactttctgacgcgtcgttagccgatg
+caccgtcaaaagtgctggcgcagaaagcggtgcgtactgaaggtaaacagtcaccattca
+gctttgttctgtcatttaacccggcagatgttcagccgaacgcgcgtattctgttgagtg
+cggcgattaccgtgaatgacaaactggtatttatcaccgataccgttcagccggtgatca
+accagggcggaactaaagccgacctgacattggtgccggtacagcaaaccgccgtgccgg
+ttcaggccagcggtggcgcaacgactaccgtaccttcgacttcaccaactcaggtgaatc
+cgtcttcggcagttccagctcctacgcaatattaagcgacgttaaccctctccgcccgga
+gagggttagtagttccagcgataacgctgcaagtcgatttgcccgcttcccgataccatc
+acaccttctgccagtaatgcctgtcgctgacgctgtaaatccggtccggttagcgaaatt
+gtgccgtggcgattaaccacccggtgccagggtaaggtgctgccttcagggagacgcttt
+aacacaccgcccacctggcgcgcggcgcggggcgatcccgccagtttcgccacatcaccg
+taagtggtgacatagccttcgggaatagcggcgacgatttgccagacgcgttggggaaat
+gaatcttctttttccatcttttcttcctgaggtaatttttcagcataatctggaaaaacg
+cccgagtgaagtcgcattgcgcaagaaaccagcatctggcacgcgatgggttgcaattag
+ccggggcagcagtgataatgcgcctgcgcgttggttctcaacgctctcaatgggggctct
+gttggttctcccgcaacgctactctgtttaccaggtcaggtccggaaggaagcagccaag
+gcagatgacgcgtgtgccgggatgtagctggcagggcccccacccatttctgcctcccac
+cgtttcgtcaaaaaatcccaacatggctaaactttaaccacaactgacgtcgcaagaatt
+gtctggctgcgcagtacgcttcggaggtatgtctgatgaagtatgttgatggttttgtgg
+ttgccgttcctgccgataaaaaggatgcctatcgggaaatggccgctaaggctgcgccat
+tgtttaaagagtttggcgcgcttcgtattgtcgaatgctgggccagcgatgtaccggatg
+gcaaagtgaccgattttcgtatggcggtgaaagcggaagagaatgaagaggttgtcttta
+gctggattgaatacccttcaaaagaggtccgcgacgctgctaatcaaaagatgatgtcgg
+acccacggatgaaagagttcggcgagtccatgccgtttgacggcaagcgaatgatctatg
+gcggattcgagtcaatcatcgacgaataggtagcgtgacgggctgtgcggcgtgccgtca
+gcccaaaaattcacaaatgttgctcggcccagcgtaagaaatcttctttcggtaatgcct
+tgctgtagagccagccctgaccgtagtgcacgccatgctggcgtaaccactcttcttgtt
+tactggtttcgattccctccgctaccattttcagtttcagtgtttttgccatttcgatga
+tatgcggcgtgacatttttatattccagcgcatcaacgaaagatttatcgatcttcagaa
+tgtcgacatccagatcctgtaaataacttaaacttgaataccccgtaccaaaatcatcaa
+gataaatttcatggcccgcctcccggtagcgagaaattatcggggcgctggttttcggat
+cggcaaactcgcgttcagtgagttcaagcgcgatctgtctgggattaacctgatagtgat
+tgatcatgtcacgcagcaattgcgggattttttccgaggtgagcacgggggattcaagat
+tgatcgaaatatgctgctgtggatgctgacgcagccagtcgcccatatcttcaaagacgc
+ttcttataatcagtagcgtcaatggctcagaaaggcccgtttgctgtgccagcggaataa
+aactatctggtgacaaccaactaccgtctgtctgcggccagcgcgccagtgcctcagcac
+cgacaattttgccattggctaaggagacaatcggctgatagtgcacgcaaatatcacgat
+tttcgatagcatcctgcagccgatgatgcggtgactgaatacggcgcaaaatacgcagca
+caaacatcgctgccagcaggccaatcaccaacccgagcggtaaccaaataaagacttgcc
+gatgccagcctttctgcaacattttcgttgaagcccatgtgatgatcgaaatattcatct
+ccggtaagggcaggatatcgtaaatgattccattattttcgatatgctcaccgggtgttt
+tttgtagcctggtaataattccctgagcaatttcatcgctgctggttatgacaacgttat
+gggcattgccaataatggcggcatcaatttgccatgagctatagggaatgacatcaataa
+aggaagcggggtcgatcatgacgacataatgtgccgttcccatggcgaccatgtaacgga
+taatgcctaaatcgttatgcgatgttaaccagacacgataaccatctttcgaaattttac
+ctggctcggggaaggtatcgggcggactttcatgctccagagacgaacactggggaacgt
+tgttatcgatataagccacttcctgaatatagcgataactgtaagatacccgacgcattt
+ccatgagatgggcttcgctacaggcagcgccttgccatctttccagctcctgcagcgcat
+ctttcccttgtgtcgccaccttattggctcgaatagcgacgcgggaggaataggtatcca
+gctcttcaataaacgatgtttctacctgctgatgggccagccagatgcttaagccgacag
+gcagcaatactgaaagaatcagtactcccgaaataaggccgaccagatgtcgtgttctca
+ccagcatatccttattaacacagtgtagggaaagtatatctgattgtggaaaaaggctgg
+ctggagataaggaggtagagctggtatttcatgaagtgatgggtggaaacgatcattgtc
+atttgaccaggcgcagagctttacgcctggtatgtaaccctaacttaagatgttgattcg
+gcgcgagcgagggtaaaaatatcgtaaaaagacagttcacctttacggacgatcattttt
+tgcagttgttccttatgaacatccgcgacacgcggagagttcaagatggcttcaaccagc
+gcggcaggtacaaagcgcgtgttgtaccattcgccgttatagcaaacgcggaaatccagc
+acgtcgatatcttcatagcggtagcgtgggtagacatcgaaaaagaagaaaccattaagc
+aggataaataatacaaccagtagccagacagagcctgacagcgtttcggactgcaacatc
+accgccagggtggcaaaaaaagcaacgtacataccgataaacagccccggatgtttacgg
+ataaaactgatactaaagcggggtttgttgtcgcgtttttcgcgggtattcagagactca
+atcgtttcggtcagcaggcgttgtatttcggtcatcgtttgccttcgtggtatctgcaac
+tttccagggaacaccctattttaacgtgggaatagtagaggggaagtaacagatctacca
+caattttgcataacagttgcgaaaaaccgattacaattttttaattattctggctggatt
+accgcccacgacaacgttgtccgggacatcttttgtgacaactgcacctgaggctaccac
+gacgttatcaccaatggtcacaccagggttaatgaccgcgcgtccgccaatccagacgtt
+attaccgatggtgacgggtttccccagttcagcaccgctattacgtgctacagggtcgat
+gggatgtgttgccgtgtagatatgaacgcctggtgccaacatacagttatcaccgatgcg
+aatagggcagacatcaagcatcacgcaatcgaagttggcgaaaaaattattaccgagaaa
+aatgttatagccatagtcacagcgaaacgttggctcaatataagcctctgtcacctgacc
+gaatagatcagcgagaatttgctggcgtaatgtgtgctcttccgccagggaatgattgta
+tcggtgaataagctgacgagcgcgcaggcgatcgcgagataacgtctcatctgccgagcg
+atacaactcaccagcaatcatcttttctttttctgtgctcattactgacctccggttgct
+gaaaatgcggcaacacagtaagacgaaaagtcagtgaagagaacgttcccattacatctg
+tgtgataaagatcacatagggtatgtcttcatggcgaaaaagtataaaattcttaataaa
+cagccggttatagctccgaaagcgaattatttattagcgaataaatttccatactgagga
+agggatcttgtcgtacagtttattcatggtcaattcggcgaggcggtgatctgcggctga
+gtaaaataccgccagttcattatctgataattcgtatttatttttctcgataacacgctc
+cagcgtgtcaattgtctggcaacgacgtaaacgcattaaataatcggttttcgttaaagg
+tttttcggacatacttctacctatggttgtaataattctaacaagataaactcgcaggat
+tctctttcgtcgcattgacaaaacaacggaatagtcgattacctgacttccgccatttct
+gaagatcctgcatattaataccataactactgaacaacataaaggtgtcatccagatatt
+cgtcgatctgctcaatgagcttattgtcttcattatacttaattttgtaattaagtgcga
+aggtcgcaatatgctcaatcagttcattcaactggaggttgatcgccgaggttgggtcgt
+ttacccagccatgattgctttcttcaaggtttgcaaggcagtcatgatacagggtttcac
+agagaaacttaagctgtgcgatatcatgtcttttgggtgagtattcatccataacgcgtc
+cccttcttagcggttgaactaacggacacctttcgggatggaaaaaacttactgacctgg
+acttgccctctcgtttgttagcttaactataagccactctttgcaggttttcatcgcatt
+attacgaaaaattacaattaggaaggaagcgggacaggactcactttttcatactagcac
+taacccgcagcaggtaaaagcagtttgctcgaactattcataacatttcaggattatcgc
+cagatgaaattggtgacactaataccaggattgctctgaatatgacgtaataaccgagga
+atgaataaagaattaccgcaaataattaagaatagcctctaaatgattatggattattaa
+atctattagcgctacttaatataaattaactaacaatcagtattttttatgaattttatc
+cgtggttaatactggttttcgtatgagatcctgagttggtggttcaattactccttaatg
+ttcgtaggttatgcataaaaaaggccgcttacgcggccttagtgattacacgttgtatca
+atgatgatcgacagtatggctgtgctcgatatcttcattcttgcggctaaagcggcggcg
+aaccaccacaaagaataccggaacgaagaagattgccagtaccgttgcggtcaccatccc
+gcccattacaccggtacctactgcgttctgcgcgccggaaccagcaccagtactgataac
+cagcggcataacgccgaggataaacgccagcgaggtcatcaggatcggacgtaaacgcat
+ccgcaccgcatcaagcgtcgcttcaatcagacctttaccttctttatccatcaagtcttt
+ggcgaattcgacgataaggatcgcgttcttcgccgacaacccaatggttgtgagcaggcc
+tacctggaagtaaacgtcattggtcaggccacggaaggtggcagccagcaacgcaccgat
+aacccccagcggaacgaccagcataacggagaacggaatcgaccagctctcgtacagcgc
+cgccagacacaggaacacgacaatcaacgaaatcgcgtacagtgaaggtgcctggttgcc
+ggagagacgttcctgataggacatccccgtccagtcatagccaacaccggtaggcagttt
+gctcgccagttgttccatcagctccattgcttcaccggtacttttacccggtgccgcctg
+gcctaagatttccatggatggcaggccgttgtaacgttccagacgcggcgaaccgtactc
+ccaacgagaagaggagaacgccgagaatggcaccatctgaccatcagcagcacgaacata
+ccagtcgccgatatcatccggcagcatacggtatttcgcttctgacatgacataaacttt
+cttcacacgaccgcggtcgataaagtcgttcacatagctgccgccccatgcagcgcccag
+agtggtgttaatgtcgttgatagaaacacccagcgcctgcgctttttcctggtcgatatc
+aatcttaaactgcggggtatcttccagaccgtttggacgtacgctggtcaacatatcagg
+gtgcttcgctgcttctgcaagcaactggttacgcgcctgagtcagtttttcgtgaccaag
+gccagcctggtcaatcagctcaaagtcaaagccggttgcagtacccagttccacgattgc
+gggcaggttaaaggcgaaaaccatcgcatctttgatttgcgagaaagcgcgtgttgcacg
+catggtaatcgcttcaactttgttttcttcgcccggacgatcggcccagtccttcaagga
+aacgaacgcaataccggtattctgaccacgtcccgcaaagccgaagccgttaacggcgaa
+caccgactcaacgttgttcttttctttggtcagatagtaatgcgttacctcattgagcac
+tttctgtgtacgttcctgcgttgcacctgctggcagctgaaccatggtcataaacacgcc
+ctggtcctcatctggcaagaaggagcttggcagacgcacgaacagataggccatgccgac
+cacgatgatcagatacagcaccaggtaacgccccgtactgcgcagaataccgcctacgct
+gtcggtgtagtggtgcgtgctcttctcgaacatgcggttaaaccagccgaagaagccttt
+tttaccttccccgtgatcgcctttggcaatcggtttcagcatggtggcacaaagagctgg
+agtcaggatcaacgccaccagtaccgacagcgccattgctgaaacaatggtaatagagaa
+ctgacgatagatagcaccagtagaaccgccaaagaaggccatcggtacgaataccgccga
+cagtaccatcgcgataccgaccagagcgccctgaatctgccccatcgacttacgggtagc
+ttcttttggcggcaaaccttcttccgccataacacgctcaacgttttctaccacaacgat
+ggcgtcatccaccaacaggccgatggcgagcaccatcccgaacattgttagcgtgtttat
+cgagaagccaaaggcggcaaggacggcaaaggtcccgagcaataccaccggtacggcaat
+ggtcggaatcaacgtcgcgcggaagttctgcaggaacagatacataaccaggaacacgag
+gatgatcgcttcgaccagcgttttaaccacttcgtgaatagagattttcacgaacggcgt
+ggtgtcgtatgggtaaacaattttcagacccgacgggaagaacggttccatcttcgccag
+ttcagcacggattgccgcagcggtatccagcgcgtttgcaccggtcgccagcttgatccc
+cagaccggaagccggttggccgttaaactctgcgatgatgtcgtagttctcaccacccag
+ctcaatcttcgcgacgtcacgcagcagcacgcgggaaccatcctgattcactttcagcag
+gattttgccgaactcttcagtagaggtcagacgcgtctgagcaataatagaggcgttaag
+ctgttggcctttcaccggcggcgtaccaccgagctgacccgccgcaacctgggcgttctg
+cgctttgatggcggtaatgacatcaaccggcgttagctggaatttgttcagctcattcgg
+gttcatccagatacgcatcgcgtactgtgaaccgaacaactgaacatcacccacgcccga
+cgtacggctgatggcatctttcatattcgccgccacgtagtcggagatatcctcctgcgt
+catggtgccatcggtgttgataacgccgacaaccatcaggaagctgctggatgatttctc
+aacgctcaccccttgctgctgaacttcttgcggcagcaacggcatcgccagctgcagttt
+gttctgcacctgaacctgcgcgatatccgcatcagtaccagactcaaaggtcagggtgat
+ctgcacggtacccgtggagtcactgttagaggacatgtacatcaggttatcgataccgtt
+catattctgttcgataacctgtgtcaccgtgtcctgcactgttttcgcatcagcgccggg
+gtaggaggcggagatcgttactgccggcggtgcaatcgtaggatattgcgccaccggcag
+tttgaggatcgccagcccccctgccaacatgatgataatggcgatcacccacgcaaaaat
+cgggcgatcgataaagaaattaggcatgtcttaacggctcctgtttaagttaagacttgg
+actgttcaggctgagcaccgcttgcggcttgctggttattatcagcggtaacttcttgtg
+cttttacctggacaccaggacgcactttctgcagcccacttattactacgcgatcgcctg
+ctttcagaccttctgtcaccagccacttatcgccaatagcctggcttgcaacgatcggac
+gggtttccactttgtcatccgcgccaactaccagtacggtggcatcgccacgcggcgtac
+gggttacgccctgttgcgggactaaaatagcgtttggattaagcccttcttccagacgtg
+cgcgcacgaacatacccggcagcagagtgtgatccgggttcgggaagatagcgcgtaggg
+tgatagacccagtggtctgatcaacggtaacgtcagagaattccagcgtaccgtcctgcg
+ggaacttaatgccgtcactggtgatcagtgacactttggctttgccgttctcttgtttca
+gcgtgccattcgccagttcctgtttcaggcgcaggaagtcgttgctggactgggtcacat
+caacgtagatcggatcaagttgctgcacggttgccagcgcagtcgcctgaccgttctgta
+ccaatgcgccttccgtcacgttcgacttaccaatgcgaccgctaatcggagaggtgactt
+tggtgtaagccagattgatccgcgcagtttcaacggcagctttcgccgcagttaccgcag
+cattcgcctgttgcgcatcagccagagcctgatcgtactcttgcttactgatgtactgag
+taccgagcagtttctgataacgattcaccgtcaattgcgcgatattggctgcagcctggg
+ctttcgccagatcacctttcgcactgtcgtatgtcgcctgataggtcgcaggatcaatct
+gatagagagagacacctgcttcgatgtcgctaccttctttgaaattacgcttcaggataa
+tcccgctaacttgaggacgaacttctgcgatccggtaggcactggtgcgacccggaagct
+cggttgtgatctgcagaggttcagttttgactgttactacgccaacggcgggcatctgct
+ggccaccttgttgggcctgtttgtcgtcacatcctgttagggctaagctgcctgagagca
+tcagaacgaccgccagaggcgtaaaccctctgtttttgttcatatgtaaacctcgagtgt
+ccgatttcaaattggtcaatggtcaaaagttaataaacccattgctgcgtttatattatc
+gtcgtgctatggtacatacattcacaaatgtatgtaaatctaacgcctgtaaattcacga
+acatatggcacgaaaaaccaaacaagaagcgcaagaaacgcgccaacacatcctcgatgt
+ggctctacgtcttttctcacagcagggggtatcatccacctcgctgggcgagattgcaaa
+agcagctggcgttacgcgcggtgcaatctactggcattttaaagacaagtcggatttgtt
+cagtgagatctgggaactgtcagaatccaatattggtgaactagagcttgagtatcaggc
+aaaattccctggcgatccactctcagtattaagagagatattaattcatgttcttgaatc
+cacggtgacagaagaacggcgtcgattattgatggagattatattccacaaatgcgaatt
+tgtcggagaaatggctgttgtgcaacaggcacaacgtaatctctgtctggaaagttatga
+ccgtatagaacaaacgttaaaacattgtattgaagcgaaaatgttgcctgcggatttaat
+gacgcgtcgcgcagcaattattatgcgcggctatatttccggcctgatggaaaactggct
+ctttgccccgcaatcttttgatcttaaaaaagaagcccgcgattacgttgccatcttact
+ggagatgtatctcctgtgccccacgcttcgtaatcctgccactaacgaataaccctgaat
+ctgactccaggatttttcctggacattttcgtcgttgctattctggttcactgcgtcgtg
+atattcttgcggtttgactttttcaggtcgttcttcaggttcagaaaccttcattcatca
+tgactatgttccagtattacaaacgatcacggcattttgttttttcagcatttattgctt
+ttgtttttgtcttgttatgccagaacacggcgtttgcgcgggcgtcatcgaatggtgatc
+tgccgacaaaagcggacctgcaggcgcaacttgactcactaaataaacaaaaagatcttt
+ctgctcaggacaaactggtgcagcaggatctgacagatacattagccaccctcgataaaa
+tcgatcgcataaaagaagagacagttcagctacggcaaaaagtcgctgaagcgccggaaa
+aaatgcgccaggcgaccgcggcgttaacagcacttagcgatgtcgataacgacgaagaaa
+cgcgcaaaattctgagcacgctgtcgttgcgccagctggaaactcgcgttgcccaggcgc
+tggacgatttgcaaaacgcacaaaacgatctggcgtcttataacagccagctggtttcgt
+tacagacgcagcccgaacgcgtgcaaaatgcgatgtataacgcttcgcagcagctgcaac
+aaattcgcagtcgtctggatgggactgatgtcggcgagacagccttacgtcccagccaga
+aagtgttaatgcaggcccagcaggcgttgctgaatgcggagattgaccagcagcgtaaaa
+gcctggaagggaacaccgtcttgcaggataccttgcaaaagcaacgtgattacgtgacgg
+cgaacagcgctcgtctggagcaccagttacaactgttgcaagaagcggtaaacagcaagc
+gcctgactttaaccgaaaaaacggcgcaggaagccgtctccccggatgaagccgcgcgta
+ttcaggctaatccgctggtgaagcaggaactggaaattaaccagcagttaagtcagcgtc
+tgattaccgcgactgaaaacggtaatcagttgatgcagcaaaacattaaagtcaaaaact
+ggctggagcgggcgctgcaatcggaacgcaatattaaagagcagattgccgtcctgaagg
+gcagcctgctgttgtctcgtatcctttaccagcaacaacaaacgctgccctcggcggatg
+aactggaaaacatgaccaaccgcatcgcggatttgcgtctcgaacagtttgaagttaacc
+agcagcgtgatgcactcttccagagcgatgcgttcgtcaacaaactggaagaaggtcaca
+ccaacgaagtcaacagcgaagttcacgatgcgttattgcaagtggttgatatgcgtcgcg
+aattgctggatcaactcaacaaacagttgggtaaccagctgatgatggccattaacctgc
+aaatcaaccagcagcagttaatgagtgtgtcgaaaaacctgaaatccatcctgactcagc
+aaatcttttgggtgaacagtaaccgtccaatggactgggactggatcaaagcgttcccgc
+aaagcctgaaagatgaatttaagtcgatgaaaatcacggtgaactggcaaaaagcctggc
+ccgccgtttttatcgctttcctcgctggtttgccgctgctgttgattgccgggctgatcc
+actggcgtctgggctggctgaaagcgtatcaacaaaaactggcttccgctgtgggttccc
+tgcgtaacgacagccagctcaacacaccaaaagcgatccttatcgacctgatccgtgcgc
+tgccggtgtgcctgattattctcgcggttggcctgattctgttgaccatgcagctcaaca
+tcagcgaactgctatggtcgttcagcaaaaaactggcgatattctggctggtgtttggcc
+tgtgctggaaggtactggagaaaaacggcgttgccgtacgtcacttcggcatgccggaac
+agcagaccagccactggcgtcggcaaattgtccgcatcagtctcgcattgctgcctatcc
+atttctggtctgtggtggcagaactttccccgctgcatctgatggatgatgtgctggggc
+aagcgatgattttcttcaacctgctgctgattgccttcctggtatggccgatgtgccgcg
+aaagctggcgtgataaagagtcgcacaccatgcgactggtcaccattaccgtgctgtcga
+taatcccgattgcgctgatggtgctgactgctacaggctacttctacactacgctgcgtc
+tggcaggacgctggattgaaaccgtttatctggtgatcatctggaacctgctgtaccaga
+cggtactgcgtggcttaagcgtagcggcgcggcgtatcgcctggcgtcgtgcgctggcgc
+gtcggcagaatctggtgaaagagggcgcagaaggtgctgaaccgccggaagaacccacca
+ttgcactggagcaagttaaccagcagacgctgcgtattaccatgttgctgatgtttgcgc
+tgttcggtgtcatgttctgggcaatttggtccgatttgatcaccgtgttcagctatctcg
+acagcatcacgctctggcattacaacggcactgaagctggcgctgcggtggtgaaaaacg
+tcaccatgggcagtctgttgtttgcgattatcgcctcaatggtggcctgggcgttgattc
+gcaacctgcctggtttactggaagtgctggtgctctcgcgactgaatatgcgccagggcg
+cgtcgtatgccattactaccatccttaactacatcattattgctgttggtgcgatgacgg
+tgttcggatcgctgggcgtctcttgggataaactccagtggctggccgcagcattatccg
+taggtcttggttttggtttacaagaaattttcggtaacttcgtctccggtttgatcattc
+tattcgaacgtccggtgcgtattggcgatacggtaaccattggtagcttctcggggacgg
+taagtaagatccgtattcgtgcgacaacgattaccgatttcgatcgcaaagaagtgatca
+tcccgaacaaagcgtttgttaccgagcgtctgatcaactggtcgttgactgacactacta
+cgcgtctggtgatccgtctcggcgtggcctatggctccgatctggaaaaagtgcgtaaag
+tgttactgaaggcggcgactgagcacccaagggtgatgcacgaaccaatgccggaagtct
+tctttacggcatttggtgccagcacgttggatcatgagctgcgtctgtatgtgcgtgaac
+tgcgtgaccgtagtcgtactgtcgatgagctgaaccgtactatcgatcagctgtgccgtg
+aaaacgacatcaacattgcctttaaccagcttgaagtgcatctgcacaacgagaagggcg
+atgaggtgacggaagtaaaacgcgactacaaaggcgatgacccgacgccagcggtagggt
+aaaaacgaaagggggcaacatttagttgccccgagattgctaacaaagtgcgcgttgttc
+atgccggatgcggcgtgaccgccttatccggcctacgaaaccgcaagaattcaatatatt
+gcaggagcggtgtaggcctgataagcgtagcgcatcaggcagttttgcgtttgcccgcaa
+ccttaggggacatttagcgaccccatttatttctcacttttccgcctcatcatcgcgcgt
+taatttcttttcataatcacgctttacaatatccagcgcgcgcagcacggtactggcagg
+gatctgattttcctccagcagcacaatcaaatcgacagccagtttgacatcgtcaggggc
+attttccagtgacatattctctccattgctagcgggttaaacgcgctaacctgttttcga
+ttttttccagcgcatggcggcagcgtgccaggcgcgcttcataggcttccacttcacgat
+gcagcgtttgctgttccacgagatcggtcacccgcgccagacgggctctgcgttcggcaa
+ccatctcacgtagccgccgctcaaaatcctgatgctgaatacgtttacgctgccagcggg
+caattttcggtggtgcactgtcccactcgcgcaatgaccaggcggaggcttcacgcgcga
+tggcttccagttgtgccgccagatgttccgccagccaggccacttgcggcagctgttgct
+gctcaactgcatgacgaagcgcagccagattatcgcccgcctcgtcgagacaagcctgta
+gtgttgtcgcacgagtctgaaaaagatgcctgtcgaaacgagcacttagcgtggcgaact
+gtgacaccggggcacaacgctgacgcagcgtagcgagctgtccttccagtttttccagca
+gcagggcggttttcacgataagacctcaatgaaaatgataattgttatgctaaagtagcc
+actctgtaagctgacaacactcaatatgcaacgaatcattttaatcatcattggctggct
+ggcggtagtgctgggtacgctgggcgtggtattaccggtattaccgacgacgccgtttat
+cctgctggcggcctggtgctttgcccgttcttccccgcgctttcacgcctggttgctgta
+ccgctcatggtttggcagctatctacgtttctggcagaaacatcatgcgatgccgcgcgg
+cgtcaaaccgcgggcgattttgcttattttgctcacgtttgccatttctctgtggttcgt
+ccagatgccatgggtgcgcatcatgttgctggtaattctcgcctgtttgcttttctatat
+gtggcgaattccggtgattgatgaaaagcaagaaaagcactgaagcacaacaatcgcagt
+tgcaattattgcgtacagccagtacattctggcgttttcgagcacaggcgcaggcggtca
+aaggttaaacaactgttacttttgatacgtttaaaacgcgccgtgagtaccaccgtaaca
+agcaggcatacacttatgaccgcgactgcacagcagcttgagtatctcaaaaatagcatc
+aaaagcattcaggactacccaaaacccggcattcttttccgcgatgtcaccagcttactg
+gaagacccgaaagcttacgctctcagcatcgacttgctggttgagcgttacaaaaatgcg
+ggcattaccaaagttgtcggcaccgaagcgcgtggcttcttgtttggcgctccggtagct
+ctgggtctgggcgttggctttgtaccggtccgtaaaccgggcaaactgccgcgtgaaacc
+atcagtgaaacttacgacctggaatacggcaccgatcagctggagatccacgttgatgcc
+atcaaaccgggcgacaaagttctggtggtggacgacctgctggcaaccggcggcactatc
+gaagcgaccgttaaactgatccgtcgtctgggtggtgaagtggctgacgctgcgttcatt
+atcaacctgttcgatctcggcggcgaacagcgtctcgaaaaacagggcattaccagctac
+agccttgtcccgttcccgggccattaattatcgccagtcttgtgctgcccacgctacgga
+cagcacaagatgtgcattcagcctcgccgttctgacggggctgtgttagcattacccctt
+cgtgaatccaccttccagcgtttcagagcctgccaatgagttatcaggtcttagcccgaa
+aatggcgcccacaaacctttgctgacgtcgtcggccaggaacatgtgctgaccgcactgg
+cgaacggcttgtcgttagggcgtattcatcatgcttatcttttttccggcacccgtggcg
+tcggaaaaacctctatcgcccgactgctggcgaaggggctaaactgcgaaaccggcatta
+ccgcgacgccgtgcggcgtgtgcgataactgtcgtgaaatcgagcaggggcgctttgtcg
+atctgattgaaatcgacgccgcctcgcgcaccaaagttgaagatacccgcgacctgctgg
+ataacgtccagtacgctccggcgcgtggtcgtttcaaagtttatctgatcgacgaagtgc
+atatgctgtcgcgccacagctttaacgcactgttaaaaacccttgaagagccgccggagc
+acgttaagtttctgctggcgacgaccgatccacagaaattgccggtgacgattttgtcac
+gctgtctgcaatttcatctcaaggcgctggatgtcgagcaaattcgccatcagcttgagc
+acatcctcaacgaagaacatatcgctcacgagccgcgggcgctgcaattgctggcacgcg
+ccgctgaaggcagcctgcgagatgccttaagtctgaccgaccaggcgattgccagcggtg
+acggccaggtttcaacccaggcggtcagtgcgatgctgggtacgcttgacgacgatcagg
+cgctgtcgctggttgaagcgatggtcgaggccaacggcgagcgcgtaatggcgctgatta
+atgaagccgctgcccgtggtatcgagtgggaagcgttgctggtggaaatgctcggcctgt
+tgcatcgtattgcgatggtacaactttcgcctgctgcacttggcaacgacatggccgcca
+tcgagctgcggatgcgtgaactggcgcgcaccataccgccgacggatattcagctttact
+atcagacgctgttgattggtcgcaaagaattaccgtatgcgccggaccgtcgcatgggcg
+ttgagatgacgctgctgcgcgcgctggcattccatccgcgtatgccgctgcctgagccag
+aagtgccacgacagtcctttgcacccgtcgcgccaacggcagtaatgacgccaacccagg
+tgccgccgcaaccgcaatcagcgccgcagcaggcaccgactgtaccgctcccggaaacca
+ccagccaggtgctggcggcgcgccagcagttgcagcgcgtgcagggagcaaccaaagcaa
+aaaagagtgaaccggcagccgctacccgcgcgcggccggtgaataacgctgcgctggaaa
+gactggcttcggtcaccgatcgcgttcaggcgcgtccggtgccatcggcgctggaaaaag
+cgccagccaaaaaagaagcgtatcgctggaaggcgaccactccggtgatgcagcaaaaag
+aagtggtcgccacgccgaaggcgctgaaaaaagcgctggaacatgaaaaaacgccggaac
+tggcggcgaagctagcggcagaagccattgagcgcgacccgtgggcggcacaggtgagcc
+aactttcgctaccaaaactggtcgaacaggtggcgttaaatgcctggaaagaggagagcg
+acaacgcagtatgtctgcatttgcgctcctctcagcggcatttgaacaaccgcggtgcac
+agcaaaaactggctgaagcgttgagcatgttaaaaggttcaacggttgaactgactatcg
+ttgaagatgataatcccgcggtgcgtacgccgctggagtggcgtcaggcgatatacgaag
+aaaaacttgcgcaggcgcgcgagtccattattgcggataataatattcagaccctgcgtc
+ggttcttcgatgcggagctggatgaagaaagtatccgccccatttgatcgtaagcacagc
+ttacgttcgtcatccttaacgtgattgagagagaaacctatgtttggtaaaggcggtctg
+ggtaacctgatgaagcaagcccagcagatgcaagaaaaaatgcagaaaatgcaggaagag
+atcgcgcagctggaagtcaccggcgaatctggcgcaggtctggtaaaagtgaccatcaac
+ggtgcacacaactgccgtcgcgtagagatcgacccgagcctgctggaagacgacaaagag
+atgctggaagacctggtggctgcagcattcaacgacgcagcacgtcgtattgaagaaacg
+cagaaagaaaaaatggcctctgtatcctccggaatgcagctgccgcctggctttaagatg
+ccgttctgatgcaaaccagcccgctgttaacacagcttatggaagcactgcgctgtctgc
+cgggcgttggcccgaagtcggcgcagcgtatggcgttcacgctgcttcagcgcgatcgta
+gcggcgggatgcgtctggcgcaggcgctcacccgggcgatgtcggaaatcggccactgcg
+ccgattgccgcactttcaccgaacaggaagtctgtaacatctgttcgaatccgcgtcgtc
+aggaaaacggtcaaatctgcgtggtggagagtccggcggacatctacgccattgagcaga
+cggggcagttttcaggtcgttattttgtgttgatggggcatctgtcaccgctggacggca
+tcggtccggatgatatcgggcttgatcgtctggaacagcgtctggcagaggaaaaaatca
+ctgaagtgatcctcgccaccaaccccacggttgaaggtgaagctaccgctaactacattg
+ccgagctttgcgcgcaatatgacgtggaagccagccgaatcgctcatggcgttccggttg
+gcggcgagctggaaatggtcgacggcaccacgttgtcacactcccttgccgggcgtcata
+agattcgtttttaagcaaacgagagcaggatcacctgctctcgcttgaaattattctccc
+ttgtccccatctctcccacatcctgtttttaaccttaaaatggcattattgaggtagacc
+tacatgaaaggacaagaaactcgtggttttcagtcagaagtgaaacagcttctgcacctg
+atgatccattctctctattccaataaagaaatcttcctgcgtgagcttatctctaacgcc
+tccgatgcggcggacaagctgcgtttccgtgcgctctctaacccggacctgtacgaaggt
+gatggcgaactacgcgttcgtgtctctttcgataaagacaagcgtacgctgaccatctcc
+gataacggcgtggggatgacccgcgacgaagtgattgaccatctggggactatcgctaaa
+tccggtaccaaatcattcctcgaatccctgggttctgaccaggcgaaagacagccagctg
+atcggtcagtttggtgttggtttctactctgcgtttatcgtggccgacaaagtgaccgtg
+cgtactcgcgcggcaggcgaaaaaccagaaaatggcgtcttctgggaatcggctggcgaa
+ggtgaatacaccgttgccgacatcaccaaagaagatcgtggtactgaaatcaccctgcat
+ctgcgtgaaggcgaagacgagttcctcgatgactggcgcgtgcgttccatcatcagcaaa
+tactccgaccatatcgcgctgccggtagagatcgaaaaacgcgaagagaaagacggcgaa
+accgttatctcctgggagaaaatcaacaaagcgcaggcgctgtggactcgtaacaagtcg
+gaaatcaccgatgaagagtacaaagagttctacaaacacatcgcccacgactttaatgat
+ccgctgacctggagccacaaccgtgttgaaggtaagcaggagtacaccagcctgctgtac
+atcccgtcccaggctccgtgggatatgtggaaccgcgatcataaacacggcctgaaactg
+tatgttcagcgtgtgttcatcatggacgacgcagaacagttcatgccgaactatctgcgc
+ttcgtgcgtggtctgattgactccagcgatctgccgctgaacgtttcccgtgaaatcctc
+caggacagcacggtaacgcgtaacctgcgcaatgcgctgaccaagcgtgtgctgcaaatg
+ctggaaaaactggcgaaagacgacgcggaaaaataccagaccttctggcaacagtttggc
+ctggtactgaaagaaggtccggcggaagatttcgctaaccaggaagcgatcgccaaactg
+ctgcgttttgcttctacccataccgattcttctgcgcagaccgtatctctggaagactac
+gtttcccgcatgaaagaagggcaggagaaaatctactacatcaccgcagacagctatgcg
+gcagcgaagagcagcccgcacctggaactgctgcgtaagaaaggcatcgaagttctgctg
+ctttccgaccgcatcgatgagtggatgatgaactatctgactgagttcgacggtaaaccg
+ttccagtcggtgtctaaagttgacgagtcgcttgaaaaactggctgacgaagttgatgag
+agcgcgaaagaagcggagaaagcactgactccgttcatcgaccgtgtgaaagccctgctc
+ggcgagcgcgtgaaagatgtccgtctgactcaccgtctgaccgatacgccagcgatcgtt
+tcgaccgacgcggacgaaatgagcactcagatggcgaaactgttcgctgcggcgggccag
+aaagtgccagaagtgaaatacatcttcgaactgaacccggatcacgtactggtgaaacgt
+gcggcagatactgaagatgaagcgaagttcagcgagtgggtagaactgctgctggatcag
+gcgctgctggcagaacgcggcacgctggaagatccgaacctgtttattcgtcgtatgaac
+cagctgctggtttcctgatgtaatgccggatgaccttcgtgtcatccggcatttttcttt
+tcatcatctgcactttccgcaaattatctcgccattaaccgtttcagccccaggtgcctt
+tcttgaggcaatcgcctgttggtggtatcgtttatcgctttttcaaaaaattcgacacat
+tttaaggggattttcgcaatgcgtatcattctgcttggcgctccgggcgcggggaaaggg
+actcaggctcagttcatcatggagaaatatggtattccgcaaatctccactggcgatatg
+ctgcgtgctgcggtcaaatctggctccgagctgggtaaacaagcaaaagacattatggat
+gctggcaaactggtcaccgacgaactggtgatcgcgctggttaaagagcgcattgctcag
+gaagactgccgtaatggtttcctgttggacggcttcccgcgtaccattccgcaggcagac
+gcgatgaaagaagcgggcatcaatgttgattacgttctggaattcgacgtaccggacgaa
+ctgatcgttgaccgtatcgtcggtcgccgcgttcatgcgccgtctggtcgtgtttatcac
+gttaaattcaatccgccgaaagtagaaggcaaagacgacgttaccggtgaagaactgact
+acccgtaaagatgatcaggaagagaccgtacgtaaacgtctggttgaataccatcagatg
+acagcaccgctgatcggctactactccaaagaagcagaagcgggtaataccaaatacgcg
+aaagttgacggcaccaagccggttgctgaagttcgcgctgatctggaaaaaatcctcggc
+taattcgaaagcgcgcacggacagtcccctcgccccctcggggagagggttagggtgagg
+ggaacaggcccgcacaagcaaacttatcagcaatctcaggccggatattcattcggcctt
+ttacaaaaacctcaatctgcgctattcctttttctgatttgacctctcacagcaattagt
+tcttcttcctcacttttccgctacaattatcaacaagttgaatcgataagaggcggtaat
+gcgtcagactaaaaccggtatcctgctggcaaacctgggtacgcccgatgcccccacacc
+tgaagcggtaaaacgctatctgaaacaatttttaagcgacagacgcgtggttgatacctc
+acggttgttatggtggccattgctgcgcggcgtgattttgccgctgcgctcgccgcgtgt
+ggcgaagctgtatgcctctgtctggatggaaggtggctcgccgctgatggtttacagccg
+ccagcaacagcaggcgctggcacaacgtttaccggagatgcccgtagcgctgggaatgag
+ctacggctcgccatcactggaaagcgccgtagatgaactcctggcagagcatgtagatca
+tattgtggtgctgccgctttatccgcaattctcctgttctacggtcggtgcggtatggga
+tgaactggcacgcattctggcgcgcaaacgtagcattccggggatatcgtttatacgtga
+ttacgccgataaccacgattacattaatgcactggcgaacagcgtacgcgcttcttttgc
+caaacatggcgaaccggatctgctactgctctcttatcatggcattccccagcgttatgc
+agatgaaggcgatgattacccgcaacgttgccgcacaacgactcgtgaactggcttccgc
+attggggatggcaccggaaaaagtgatgatgacctttcagtcgcgctttggtcgggaacc
+ctggctgatgccttataccgacgaaacgctgaaaatgctcggagaaaaaggcgtaggtca
+tattcaggtgatgtgcccgggctttgctgcggattgtctggagacgctggaagagattgc
+cgagcaaaaccgtgaggtcttcctcggtgccggcgggaaaaaatatgaatatattccggc
+gcttaatgccacgccggaacatatcgaaatgatggctaatcttgttgccgcgtatcgcta
+aagctgagcggtaaagaactgagcgccgtcgcgaagagcctcgtcggcggttttcatcat
+ccgtgaataatgcaaaaaggcgtgcagcgtgcctgggtagagtttgaactcacagggctg
+ctgatgcgccgctaacgtctggtaaagcagacggctgtcatccagcagcggatcgaactc
+cgccccggcaataaaacagggcggaacttcgcgagtgagatcattattaaacagacagta
+atacggcgactcgcggtccgcgtcgttgcttaaatatgcctcttcgtacatctgcaaatc
+ctgttgcgttaagccatcccagacaccgcccaacagacgacgagtcacggaatcccgtaa
+tccgtaaagcccataccacagcaaaacgcccgcaactttaccgcaatcgatctgtttatc
+acgcaaccacaacgcactggcgagcgccagcatggcacctgcggaatcaccggcaaagcc
+aatgcgggacatattgatttgataatcctccgcctgctggtggaaataacaacaagcagc
+cacaatttcctctatcgcttgcggaaaacgcgcttcaggtgaaagggtgtaatcaatacc
+aatcaccgtacattggctgtagcttgccagcaggcgcatgatgcgatcgtgggtatcgag
+attgccgagaataaaaccgcctccatgcaaataaaatagcgtcgctgggctatctggctg
+cggacaaaagagacgtgtttccacctgcccatattttgttggaaccatgtaagctctggt
+tgccatttctggagcgcccgcattccagaatcggcgctcaagcgtgtaatactgtcgttg
+ctcagcaatcgttcccgttgcgggccagggcggtaaatccggctgaagagtattcacaac
+ggtcttcatttcagcagaaataaggtccagaacaggtagtttgttttccggcttcataca
+aaaactcctttcaaattacgtcattgtaaggaaccactgccatgaaaatgcgatcccgcc
+tgctgatattgaaactggctgcgtctcgcgcgctcccgtcagattgtgttaacattcgcc
+gctcagttaaccacccgtaaaaacaaccatgaaatttcccggtaaacgtaaatccaaaca
+ttacttccccgtaaacgcacgcgatccgctgcttcagcaattccagccagaaaacgaaac
+cagcgctgcctgggtagtgggtatcgatcaaacgctggtcgatattgaagcgaaagtgga
+tgatgaatttattgagcgttatggattaagcgccgggcattcactggtgattgaggatga
+tgtagccgaagcgctttatcaggaactaaaacagaaaaacctgattacccatcagtttgc
+gggtggcaccattggtaacaccatgcacaactactcggtgctcgcggacgaccgttcggt
+gctgctgggcgtcatgtgcagcaatattgaaattggcagttatgcctatcgttacctgtg
+taacacttccagccgtaccgatcttaactatctacaaggcgtggatggcccgattggtcg
+ttgctttacgctgattggcgagtccggggaacgtacctttgctatcagtccaggccacat
+gaaccagctgcgggctgaaagcattccggaagatgtgattgccggagcctcggcactggt
+tctcacctcatatctggtgcgttgcaagccgggtgaacccatgccggaagcaaccatgaa
+agccattgagtacgcgaagaaatataacgtaccggtggtgctgacgctgggcaccaagtt
+tgtcattgccgagaatccgcagtggtggcagcaattcctcaaagatcacgtctctatcct
+tgcgatgaacgaagatgaagccgaagcgttgaccggagaaagcgatccgttgttggcatc
+tgacaaggcgctggactgggtagatctggtgctgtgcaccgccgggccaatcggcttgta
+tatggcgggctttaccgaagacgaagcgaaacgtaaaacccagcatccgctgctgccggg
+cgctatagcggaattcaaccagtatgagtttagccgcgccatgcgccacaaggattgcca
+gaatccgctgcgtgtatattcgcacattgcgccgtacatgggcgggccggaaaaaatcat
+gaacactaatggagcgggggatggcgcattggcagcgttgctgcatgacattaccgccaa
+cagctaccatcgtagcaacgtaccaaactccagcaaacataaattcacctggttaactta
+ttcatcgttagcgcaggtgtgtaaatatgctaaccgtgtgagctatcaggtactgaacca
+gcattcacctcgtttaacgcgcggcttgccggagcgtgaagacagcctggaagagtctta
+ctgggatcgttaagttatcgtcggttcgtaggccagataaggcgttcacgccgcatctgg
+catttggctctcgatgcctgatgcgacgctggcgcgtcttatcatgcctacatatttttc
+atattttacatccggcaaccaccgtttaccccgtcaccacctcacccgccggtggcgttt
+ccagcagttccagcatggtacgggcgatttcacgctcgcccatcactacctgattcgcac
+cacgttcggtgatatacgccacttcatcgtcataatgggcgcgggcaataatctcaatat
+ccggatttttcgcgcgggcagatgccacaatctcacccgcttcataaccgttgggaatcg
+tcaggatcagccattttgcacattccagatgcgccagttgcataatttcttcgttcgccg
+cattgcccaatactgcgcggaccccgcgctctcgcagctcatcaacacgggttcgtgacg
+tctcaatcaccaccagcggaatatcagaggcgagcaatttctcccccagcaggctgccta
+cacgaccgtaacccaccagtagcgcatggttgcaaatatccactgggatctgcttctctt
+cttcgattgcctcttccagcgtctgctcttccagcgtttcggtcttcgccagatatttct
+ccagtagtgcgaacagtaccgggttgagcataatcgacaggatcgcccctgccagtacca
+ggttttgtccggcctgcggcagtaaattcaatgccattcccagtcccgccaggataaacg
+cgaactcaccaatctgcgccaggctggcggcgatggttaatgccgtacgttgggagtgac
+caaacagtcgcaccaggaaaaatgcggctaacgacttaccaaacagaataatcgccagcg
+tcgccagcactgccagcggttgctgaatcagaattaacggatcaaacaacatcccgacgg
+agacaaaaaacagcaccgcaaacgcgtcgcgcaatggcagcgtatcgtgggcggcacggt
+gactcagttcagactcgttcagtaccatcccggcaaagaacgcaccgagtgcaaaggaga
+catcaaacagctctaccgcaccaaaggcaacccctaacgccagcgccagcaccgacaggg
+taaacagctcgcgagaaccggttgccgcgctgcgtgccataatccacggcaccagacggc
+gacctaccagcatcataatggcgataaatgcgatcactttgccgatggtgatccccatat
+cgactgcaagagtggcaaagcccacatcgccctgttccatcattcctgccactgcgggca
+gcaacaccagcgtcagaaccattaccaggtcttccacaatcaaccaaccgatggcgattt
+gcccacgctgactgtcaattaattgccgttcttcaagtgcgcgcagtaacaccacggtac
+tggcggtggaaagacataaaccgaacacgataccggtcattaacgaccagcccagcacgg
+cagagagcgccatacccagcagcgtcgccacggctatctgggcgatcgcaccgggaatgg
+cgatggcctttaccgccatcaaatccttcagcgaaaagtgcaaaccgacgccaaacatca
+acagaatgacgcccagttcagccagttccggggcaagcttggtatcggcaacaaagcccg
+gagtgaatggtcctgccagcacacccgctaacagatatcccaccagaggagaaatacgta
+gtttattggccagcatgccgaggataaaggcgagcacaaggccgccaacaatggtggtga
+taagcggggtggcgtgatgcattccgtctccttttcctggtggttattgtccatttttgg
+ccgggaaaaccaaaattacaggtaatagtttatgacaatttcattgatgatgttcatgaa
+taattattgaattttgcagaaaaatggaattagctgcaaaaaaagcacggatcggaaaac
+agaaggcggtttaacagaggaaaggcttatggcgactgtaaaacgatgcagccaaagttt
+gcctttggctgcaatgaaatcagtctttatgccggttatcaggcaggaatatggtcaaca
+tccccaatagtggcaggaaagcacagattttatagactaactcgatgctggtgtgatcgg
+cgataagccccagaactgccgctcccagacctcccatgccaaaagcaaaaccgaaaaaga
+gtccagaaaccataccgatacgtcctggaagcagctcctgagcgtagaccagaatggcag
+agaatgccgaagcgaggataaatccaataatcaccgttaaaacccccgtccagtgcaggc
+tggcgtagggtaaaatcagcgtaaacggcgcaacgccgaggatagagccccaaatcacat
+atttccgcccaattttatcccctacaggcccgccgatcaccgtacctgccgcaacggcaa
+acaggaaggcaaacagatgaagctgagcattctggatagataatccgaatttttgcatca
+gataaaaggtgtaatagctgctgatgctcgccatatagaaatatttcgagaaaatgagga
+ttaacagaatgctgaccgccagtacaactttattgcgcggcagtggattgataatcgtcg
+ctttgggttttcctttattcattcggtgctgtgccgagtaccaacggctgatttgcgcca
+acaccacgatcgccagcagtgccgcaagcacaaaccaggcaacgttgcctttgccataag
+gcgcgataatcaccgccgccagcaagggtcccagggaactgccaaagttgccgccgacct
+gaaagatagattgcgccaggccatgccgcccgccggaagccatacgggccacgcgagaag
+attccggatgaaagaccgatgaaccggtaccgaccagcgccgccgccagcagaactgcgc
+caaaactgcccgccagcgcaagcagcaccagaccgcttaaggtaaagcacatgccaattg
+gcaacgaccatggcatcggatatttatcggtccagtagccgaccactggttgcagtagcg
+aagaggcgagctggaaggtgagggttatcatgccaatctgcataaatgtcagagaaaatt
+ctgactgaagcagcggataaatcgccagaatcagcgattggatcatgtcgttcagcagat
+gtgagaggctgatagcacctaaaataccaaacgatgttcgggccttggtcgttgacgcag
+ccgcgcccgccacaggctggggttgttcactcattgccataggaaagtcactttttcagg
+gttgcgatgtaaagaatgatcttatttgtgattattaccagactaacatacctgtatgcg
+tcgtctgaaggaagtctcaacgccgaatacagaatttctaatctggatgcagatttatct
+tcaccggacgcagacttgtctatgatgtcgcgtcatactatttttcaacacgttgaaatc
+aggtcagggagagaagtatgaaattattgcagcggggcgtggcgttagcgctgttaacca
+catttacactggcgagtgaaactgctctggcgtatgagcaggataaaacctacaaaatta
+cagttctgcataccaatgatcatcatgggcatttttggcgcaatgaatatggcgaatatg
+gtctggcggcgcaaaaaacgctggtggatggtatccgcaaagaggttgcggctgaaggcg
+gtagcgtgctgctactttccggtggcgacattaacactggcgtgcccgagtctgacttac
+aggatgccgaacctgattttcgcggtatgaatctggtgggctatgacgcgatggcgatcg
+gtaatcatgaatttgataatccgctcaccgtattacgccagcaggaaaagtgggccaagt
+tcccgttgctttccgcgaatatctaccagaaaagtactggcgagcgcctgtttaaaccgt
+gggcgctgtttaagcgtcaggatctgaaaattgccgttattgggctgacaaccgatgaca
+cagcaaaaattggtaacccggaatacttcactgatatcgaatttcgtaagcccgccgatg
+aagcgaagctggtgattcaggagctgcaacagacagaaaagccagacattattatcgcgg
+cgacccatatggggcattacgataatggtgagcacggctctaacgcaccgggcgatgtgg
+agatggcacgcgcgctgcctgccggatcgctggcgatgatcgtcggtggtcactcgcaag
+atccggtctgcatggcggcagaaaacaaaaaacaggtcgattacgtgccgggtacgccat
+gcaaaccagatcaacaaaacggcatctggattgtgcaggcgcatgagtggggcaaatacg
+tgggacgggctgattttgagtttcgtaatggcgaaatgaaaatggttaactaccagctga
+ttccggtgaacctgaagaagaaagtgacctgggaagacgggaaaagcgagcgcgtgcttt
+acactcctgaaatcgctgaaaaccagcaaatgatctcgctgttatcaccgttccagaaca
+aaggcaaagcgcagctggaagtgaaaataggcgaaaccaatggtcgtctggaaggcgatc
+gtgacaaagtgcgttttgtacagaccaatatggggcggttgattctggcagcccaaatgg
+atcgcactggtgccgactttgcggtgatgagcggaggcggaattcgtgattctatcgaag
+caggcgatatcagctataaaaacgtgctgaaagtgcagccattcggcaatgtggtggtgt
+atgccgacatgaccggtaaagaggtgattgattacctgaccgccgtcgcgcagatgaagc
+cagattcaggtgcctacccgcaatttgccaacgttagctttgtggcgaaagacggcaaac
+tgaacgaccttaaaatcaaaggcgaaccggtcgatccggcgaaaacttaccgtatggcga
+cattaaacttcaatgccaccggcggtgatggatatccgcgccttgataacaaaccgggct
+atgtgaataccggctttattgatgccgaagtgctgaaagcgtatatccagaaaagctcgc
+cgctggatgtgagtgtttatgaaccgaaaggtgaggtgagctggcagtaatccgaaagtg
+ccggatgtttgcatccggcacaatgcttaatcgcggcgggcgatatcagcaaatttggca
+tcgaggatctttgccagatcgcctgccgccagttcgatatccagtccgcgcttgccgccg
+gaaacataaatagtggcaaattcttgtgcgggggcgtcgataatcgttggcagacgtttt
+ttctgccccagtgggctaatccccccaaccaggtatcccgtcgaacgctgcgcgaccatc
+ggatcggccatctcaactttcttggcacccagcgcttttgctacttttttaagatccagt
+tgacctgcgaccggcgtaacggccacggcaaggtgtttcatatcaccgttcactgccacc
+agcagcgttttgtagacctgatccggattcaaacctaattttttgacgacttcatcgcca
+aaattggtttcagccggatcgtgctcgtaggtatggatttgaaacgaaatcttgtttttt
+tcgagtaatttaactgcgggtgtcatggtaattttcctgccttaaacaaaaaaacgaagc
+aagcatacgcctgatggcggtccaaaaaaaagagtcatcttgcctaagagtattggcagg
+atggtgagattgagcgacaatcgagttacaccgtcgcttaaagtgacggcataataataa
+aaaaatgaaattcctctttgacgggccaatagcgatattggccatttttttagcgcaaca
+tttgcggcaaattcccttctccatacaggtgtagtgcaccgaccgcgaccacatatcgcc
+ccggcggcatggcgcgtaatttatcccgccaggcgagatttcgctgatgcatcagcacat
+cgtacagcgactgactgaacgtattgggcagcgttatatcattattttgcggcggtgcat
+tcagccaccagctcatcatttgttgcagcaaccgtgcgttggtatgccagtgggtcagcg
+tatcgtccagcagcgccagtcctttgtcagggagctggagcaacatggcaatctggtttt
+cagccccttccagttcaatcacgggtttatgttgttgcttcgccgcctgcaatagctggt
+aatcgataccgtattctgcccgcagccccagtttttgtgcctgcgtcgcctgaagaacca
+tcgcgatttgccacagcggttgggtagaaaagagtgagggagaaatgcccatctcctggc
+taatgtgctgcaggttttggagttgctcctcgctaatgcgctcttccagcgcctcgcagg
+caggcaaattagcaaaaggcgtatcgctggtggaaacatccgcctcgacgatcagcgcat
+cggcgtttttgagctttttgagcaaacgggtgggcaggggagccatatcgtggctaccca
+tatgaatactgccaatcagatgaaaatggcgattgccggggagggtgatatcgatggcag
+gccaggtgtaatgattaccgcgcagcgcggcccaaagcgtttttacccggtacaacagat
+ccatacgacctccctttgtgaaatatcatgctagcgcgcggtgagggatggcgcaaatgg
+agttggagacttgtttaatgtgtttgtatgattcagtatgttcttgcatcgctattcaca
+aggaagcaacagttaaaaaccatgaaacaggcaacaagaaaaccgacgacacccggagat
+attcttctctatgaatatctggaaccgctcgatttgaaaatcaatgagttagcagagttg
+ctgcatgttcatcgtaatagcgtcagtgcactgatcaataacaatcgtaaactcactact
+gagatggcatttcgtctggcgaaagtttttgataccacagtcgatttttggctaaacctc
+caggcggcggttgatctttgggaagttgaaaacaacatgcgcacccaggaagaattggga
+cggattgaaacagtggctgaatatttggcacgccgtgaagagcgtgcaaaaaaggtcgcg
+taaggccaaaacatcgcttcatctcgtaggccggataaggcgttcacgccgcatccggca
+tccgagcaccattgcctgatgcgacgcttacccgtcttatcaggcctacaaacttgtgcc
+tgaaccgtaggccggataaggcgtttacgccgcatccggcatccgagcaccattgcctga
+tgcgacgcttacgcgtcttatcaggcctacaaacctgtgcctgaaccgtaggccggataa
+ggcgtttacgccgcatccggcagtcatgcgtcgatgccaaatgcgccaccctaaagcagc
+gcatccgcaatgatgtacttattccttcggtttaaaccgcagcaaccggttggcgttact
+cactacggtaatcgacgagagcgccattgccgctccggcaactaccgggttaagcagtgt
+tccagtgaacggccacaaaataccggcggcgaccggaataccgatactgttgtagataaa
+cgcaccgagcaggttctgcttcatgttgtgcagcgttgcgcgggaaatagcgagcgcatc
+cgcaacgcccatcaggctatggcgcatcagggtaatcgccgcggtttcaatggcaacatc
+actgccgccacccatcgcaatgccgacatccgcctgagccagcgctggcgcgtcgttaat
+gccgtcgcccaccattgccacctgacgtccttcactttgcagatgtttgatcgcttcggc
+tttaccgtccggcagcaccccggcgatcacctcatcaatccctgcttctttggcgatcgc
+attggcggtggttgggttatccccggtcaacatcaccagacgatatcccgctttatgcag
+gcgttgcagcgccgccacgctatcactacgcaacggatcgcgtactgccagcagggctac
+cgctttcccgtcaaccgccagcagcacaggcgttgccccttgcgatgcctgagcagtaat
+ctccgcttcgatagctttggtaccaacctgttgctcatttaacagcgcctgattgcccag
+caataacgcatgaccttcagcttcaccgctcacgcccagcccgcgcaatgtgcggaaacc
+gttgacctgcggtagctgcatatcacctgctttatcgaggatcgctcgtgccagcggatg
+gctggaaccttgctccagtgccgccgccagacgcaatgcctgcgcttcatcaacatcagc
+aaatgttttcactgcgacaacctgcggcttcccttcagtcagcgtcccggttttatcgaa
+cactacagtgtcgagtgtactggcgcgttgcagcgcgtcagcgtcccgcaccagcacgcc
+aaactcagccgcccgcccgacgccggaaataatcgacatcggcgtcgccagccccagcgc
+acacggacaggcaataatcagtaccgtggtggcaatcaccagggtatagacaatctgcgg
+tgccggaccaaagaaataccagattgccgcactgacaagcgcaataaccaccactaccgg
+cacaaatacggctgagattttatccgccagctgaccgatttctggcttgctgctctgggc
+ctggcgcaccatgcgaatgattcgtgacagcgtagtatggctgccaaccgcactggcacg
+aaacagcacactgccgtcctgtaccactgtcccggcatggacgctatcgccttcgccttt
+ttgctgcgggattggttcgcccgtcagcatcgcttcatccagccatgcttcgccctgggt
+aatctcgccatctaccggcacgcgatcgccggtcgtcaggcgcagcaacatacctggctg
+cacttctgccagaggcacgcttttttcaccttcgtcagtaaccaggcgtgccgtcggcgg
+ggttaaatcgagtaacttttccagcgccttagaagaacgctggcgtgcgcgcgcttccag
+catatggccgagattgatcagaccgataatcatcgcgctggcttcgtaataaagatgtcg
+cgcttccatcgggaaccactgcggccacaggttgacgctcatcgaatagagccacgccac
+gccagtacccagcgccaccagcgtatccatcgtcgccgcaccgttcagcaggcttttcca
+tgcactgcggtaaaaatggccgccggcgaaaaccatcactgccagggttatcaggccgat
+aaccaaccacaggctgcggttgtcagcggtgaccatcatgttatcgccgatcatccccca
+gaccatcaccgggatacccaccgccagtgcgacaattgcctgccagcggaagcgcttcat
+cgtagcgacggcggtttcttgctggcgctcgcggcgtttagcgtcatcttcaatcgcttc
+cgcgccgtagcccgctttttccaccgcctgcactaaatcttgtggggaggcactgcccat
+caccagcgcagtacgctccgccaggtttacccgtgcctgagtgacgcccggtacgctttg
+cagcgcattttgtacgcgggtgacacagctggcgcagctcatgccgctcagcagcaactg
+ctggctgtcatcgtcatcggcggtcgctgccggaagcgcctcagaaaccgctgtcagtgc
+ttccgacgggattgatgactccgccagcggtttagcctttgggtggcttacagatgcgtc
+ataacccgcttgtttgatggtttcgatcagctgttctgcactggcagtcccggtaacgtg
+cgcttcagtgatagacacatccgcctgctcaacatccggacgctgttcaagactttcttt
+cacgcgtttaacgcagtgaccgcaggacaggccgtccagggtcaggtcgatagtttgtga
+cataaaacactcctttaagacagttttgactggctgtgataaaggttaaaccttccagca
+aggggaaggtcaagaaattaataaaccaggcgggtaaaagtccgtaaagattaaaaaatc
+ggctcgatttgcatcaggattagacatttatctctttgttttcctgtagttaagttgcgg
+gtgctaagttaaatcaggatgcctgaaaatcggcaccggggtgaggaattacctcccgca
+tctataaaaaggagttaacaaaagatgttagatgcaaacaaattacagcaggcagtggat
+caggcttacacccaatttcactcacttaacggcggacaaaatgccgattacattcccttt
+ctggcgaatgtaccaggtcaactggcggcagtggctatcgtgacctgcgatggcaacgtc
+tatagtgcgggtgacagtgattaccgctttgcactggaatccatctcgaaagtctgtacg
+ttagcccttgcgttagaagatgtcggcccgcaggcggtacaggacaaaattggcgctgac
+ccgaccggattgccctttaactcagttatcgccttagagttgcatggcggcaaaccgctt
+tcgccactggtaaatgctggcgctattgccaccaccagcctgattaacgctgaaaatgtt
+gaacaacgctggcagcgaattttacatatccaacagcaactggctggcgagcaggtagcg
+ctctctgacgaagtcaaccagtcggaacaaacaaccaacttccataaccgggccatagcc
+tggctgctgtactccgccggatatctctattgtgatgcaatggaagcctgtgacgtgtat
+acccgtcagtgctccacgctcctcaatactattgaactggcaacgcttggcgcgacgctg
+gcggcaggtggtgtgaatccgttgacgcataaacgcgttcttcaggccgacaacgtgccg
+tacattctggccgaaatgatgatggaagggctgtatggtcgctccggtgactgggcgtat
+cgtgttggtttaccgggcaaaagcggtgtaggtggcggtattctggcggtcgtccctgga
+gtgatgggaattgccgcgttctcaccaccgctggacgaagatggcaacagtgttcgcggt
+caaaaaatggtggcatcggtcgctaagcaactcggctataacgtgtttaagggctgatca
+tgatgaacacggaaggtaataacggtaacaaacctctcggtctatggaacgtcgtttcca
+tcggcattggggcaatggtgggggcggggatcttcgcgctgctggggcaggctgcattgc
+taatggaagcctcgacctgggtcgcctttgcttttggcggtattgtggcgatgttttccg
+gttatgcctatgcgcgtctgggggcgagctatcccagcaatggcggcattatcgacttct
+ttcgtcgcggattaggcaacggcgtcttttcgctggcgctctcgttactgtacctgttga
+cgctggcggtgagcatcgccatggtcgcccgtgcttttggcgcttatgccgtgcagtttt
+tgcatgaaggcagccaggaggagcaccttattttgctctacgcgttggggatcattgcgg
+tgatgacgcttttcaactccttaagcaaccatgcggtagggcggctggaagtgatcctcg
+tcggcattaaaatgatgatcctgttattgctgattattgccggtgtctggtcgctgcaac
+cggcgcatatttccgtctctgcgccccccagctccggtgcgttcttctcctgtattggga
+taactttccttgcctatgcgggctttggcatgatggcgaacgcggcggataaagtgaaag
+atccgcaggtcattatgccacgggcgtttctggtggcgattggcgttaccacgttgcttt
+atatctcgctggcactggttttgcttagcgatgtatcggcattagagttagaaaaatatg
+ccgataccgccgtagcgcaggctgcttctccgctgctcgggcatgtgggttatgtgatcg
+tcgtcatcggcgctttactggcgacggcttcagccattaacgcgaacctgttcgccgtgt
+ttaacatcatggacaacatgggcagcgaacgcgaactgccgaagctaatgaataaatccc
+tgtggcggcagagtacctggggcaacattattgtcgtggtgttgattatgctgatgacgg
+cggcactgaatttaggctcactcgccagcgttgccagcgccacctttttgatttgctacc
+tggcggtgtttgtggtggcgatccgcctgcgtcatgatattcacgcctcgttgccgattc
+ttatcgttggtacgttggtgatgttgttggtgatcgttggctttatctacagtctgtggt
+cccagggtagccgtgcgttgatatggattattggctcactcttactcagccttattgtgg
+caatggtcatgaagcgcaataaaaccgtataacatctctctgtgcgcagtacttcctgta
+ttattgtggtggcggtcgatattcgcactggcaaaaaaacgtgcttgaatatctgttgaa
+accctttaacaaagcacaggaggcgttgcgcgaacgatgaacatcagcgatgtagcaaaa
+attaccggcctgaccagcaaagccattcgcttctatgaagagaaggggctggtgacgccg
+ccgatgcgcagcgaaaacggttatcgcacctacacgcagcagcatctcaacgaactgacc
+ttactgcgccaggcacggcaggtgggctttaacctggaagagagcggcgagctggtgaat
+ctgtttaacgacccgcagcggcacagcgccgacgtcaaacggcgcacgctggagaaggtg
+gcggagatcgaacgacacattgaggagctgcaatccatgcgcgaccagctgctggcactg
+gcgaatgcctgccctggcgatgacagcgccgactgcccgattatcgaaaatctctccggc
+tgctgtcatcatcgggcagggtgattaagacgagacggctcggatatgtagggttatccc
+ttctatcgcaatgacttcaacatgcgtacctgcaccgagatcctcgctggcgctgacagg
+ccatgaactgtcaccgacgcgcatatgaccgcgcccgttgaccagcggagattccagcac
+aaaacgtcggccaatcagctgctgcccgcgctggtttaaatgactatcgctgtgcttttg
+ttcgcgcacccgccgcgacaaccatttccaccacagccaggcggcgagcagcgtcaggat
+ggcaaacattaccccttgccactcccaacccagcggcaccagccagaccaccaggccggt
+aatcaccgctgccacgccgctccacaacaaataaccatttccgcccagcatctcggctgc
+cagcagcaaaccgccgagactgagccagaaaatatgtggatgaacgaccattaactccat
+catggctgagtccgtttgttggcgctgtctttcaccagctcggcaatcccggcaatcgac
+cccatcaggctgctggcctctaatggcatcatcactactttgctgttactggaggaaccg
+atctgctgtaacgcttcggtgtatttctgcgctacgaagtagttcaccgcctgaatatca
+ccggaggcgatagcttcagacaccattttggtggcgcgggcttctgcttcggcggaacgt
+tcacgcgcttcagcctgtaaaaacgccgactgacgttcgccttccgctttcaggatttgc
+gactgtttttcaccttcggctttgaggatttccgcctgacggatcccttccgcttcaaga
+atgtaagcgcgtttggtacgttccgctttcatctgcgcgttcattgaagagataagctct
+gccggtgggcgcacgtcgcgaatttcaatacgggtgactttaatcccccacgggttggtg
+gcttcatcgacaatacgcagcaggcgtgagttgatgctgtcgcgctgagagagcatttcg
+tcaagttccattgaacccagcacggtacggatgttagtcatggtcaggttgatgatcgcc
+agctccagattgctgacttcataagccgcgcgcggcgcgtcaatcacctgaataaagcac
+acggcgtcgatggtaacgttggcgttatctttcgagataacttcctgggaagggatatcg
+agcacttgctccatcatattgatcttgcgaccaatgcgatccataaacggcaccaccaga
+ctgagccccggctgtaacgttttggtatagcgaccaaagcgttctactgtccactgatag
+ccctgcggtacgattttgacacccgcgccgacaatgaccagcgcgacaaaaatgagaatc
+gggataaagataagcatcggaaaaacctcctgttgtaccgtccataatcagcaaaattgc
+tgcttgattaaacaaattatacctgattactgaaagagagttcccccttattcctgcgaa
+ggataaactgtttttagtaaaaatcagaaaaagggaacagcgatgcaggaaaatagtcct
+ttgcttcagctacaaaacgtaggatatctggcgggtgatgcgaagattcttaataacatc
+aatttttcgctgcgtgctggcgaatttaagttaattaccggtccttctggttgtggcaaa
+agtacgctgctaaaaatagttgcttcattgatcagcccaaccagcggaacgttactgttt
+gaaggtgaggatgtcagcacactaaagccagaaatctaccgccaacaagtctcttactgc
+gcccagacaccgacgctgtttggcgatacggtatacgataatctgatctttccctggcag
+atccgtaaccggcagcctgacccagccatttttctcgattttctcgaacgcttcgccttg
+ccggacagcattttgacgaagaatatcgccgagctatctggtggtgaaaaacaacgcatc
+tcattgattcgtaacctgcaatttatgccgaaggttttattgctggatgaaataaccagt
+gcgctggatgaaagtaataaacataacgtcaatgagatgatccatcgttatgtgcgcgag
+caaaatattgccgtgctgtgggtgacacacgataaagacgaaattaatcatgcggataaa
+gtgattacactgcaaccgcatgccggagaaatgcaggaagcacgctatgaactcgcataa
+tattactaacgaatcattagcactggcattaatgctggtggtggtggcaatcttaattag
+ccataaagaaaaactggcgctggagaaagatattctctggagcgtcgggcgagcgataat
+tcagctgattattgtcggctatgtgctgaagtatattttcagcgtggatgatgccagcct
+gacattattgatggtgttatttatctgctttaatgcggcgtggaacgcgcaaaaacgcag
+taaatatattgctaaagcttttatctcatcgtttattgccattacggtcggggcgggaat
+taccctggcggtgctgattctctcagggtcgattgaatttatcccgatgcaggtgatccc
+tatcgccgggatgattgccggtaacgccatggtagcggtggggttgtgttacaacaattt
+agggcaacgggtcattagcgaacagcaacagattcaggagaaactgagtcttggtgcgac
+gccgaagcaggcttcagcgatattgattcgcgacagtattcgcgcggctttaattccgac
+ggtcgattcagcaaaaacggttggcttagtgagtttaccaggaatgatgtccgggctgat
+atttgccgggattgatccggtgaaggcgattaaatatcagattatggtgacctttatgct
+gctctcaaccgccagcttgtcgaccattattgcctgctatttaacctatcgtaagtttta
+taattcgcgccaccagttggtggtgacgcaattgaagaagaaatgatgcgatgccggatg
+cgcagcatcgcatccggcgttgtggttcatgtgccgatcaacggaatatcaatacaacaa
+tgcatacagctggcggcgatacttcgacgccagtgcatcacccgtacccagcgcagcgag
+gatctcctggaacgttttacgcgtctgaccgtctgcggcggtgagatctttacgcagatg
+cccgaacagcaactccagcgcctcttcattgcgcccaacctgatgcagttgcagcgccag
+ttgcgtcgccagtgcggcatcttctggattctccgccacctgctgttgcaactgttgaat
+ttccggcgtatcagccgcctgcttcagcagttcgatttgcgccaccagcccctggtagcg
+ggtgtcctgatcctgcaacggaatggttttcagcaccgcttccgcatcttcagaacggtt
+cagcgcaatcagcgtttctgccagcagcaggccgatctccccgttctgattcgacaactg
+ccaggcgtctttcagcaatggcagggcatcggtgtaattgctttcctgcatcagttgcat
+cgcctgctgcgctttcagctcttcttcgcgcggcagcactttatccagcagggcgcggat
+cgcctcttccggttgcggcccctggaagccatctaccggttgcccgttctggaacagata
+cacggtcggaatcgcacgcagaccaaactgcgcggcaatcatctgctccgcgtcgcagtc
+cagcttcgccagaataaattgcccgttgtactgcgccgcgaggctttccagaattggggt
+taactgcaaacagtgctggctacgttcagaccaaaaatagaacagcaccggagtggtcat
+cgactgttcaagaacctgttgcaggttagattcgttaatgttgacaatattttctacgga
+catggagtcgctctctgttgtcgatattttctttgacatgggggcttaagcgcgcgcttc
+aactcacccctgcaatattttgtccatcacgcgccccggcagcaggcgcttaagcaccat
+taccgcccaggtcaccagcgtcaccggatagcgcatcttcggcttctcgctaataaaagc
+atggcgtactttgtccaccaccgcttccggtcccaacgtaaagcgggcggcgatgccggg
+attttcgactggtttatcactttgcgtctggttgacgttgtcggtgaagcgagtacgaat
+gggaccgggttcgatcaggctgactttaattccgctgtggcgcagctccatgcgcagtgc
+atctgaccacgcctccagcgcatatttactggccgcgtaagcgccacgacccggcgtgga
+gattaatcccatcaccgatgatgtcatcacaatacgcccttcaccgtgcggtaacatcgc
+gggtaacaggcgcatggtgagctggtgtgcgccgaaaaagttggcggaaaactgctgttc
+catctgcgcacggctgatggtggaaagggggccatacatgccgaatccggcattgttaaa
+gatcccatacagacaattatcggtcagggcgatcacctcgtcggctgcgcgatcaacact
+ttctggtgaatccagatcgatcaacacgccggtaaatcccatgctgttcatgcgctcaac
+atcatccggtttccggcaacctgccagcacatgaaaaccctggcgttttaattcgagcgc
+gctttccaggccaattccactggaacatccggtaattaagaccgatttttgcataacttt
+acctgtcaggatctccgttgctttatgagtcatgatttactaaaggctgcaactgcttcg
+ccatccagtcggcaataaacggctgggcgtcgcggttgggatgaataccgtcatcctgca
+tccattgtggcttgaggtagacctcttccataaaaaagggcagcagcggaacatcaaact
+ctttggcgagtttggggtaaatggcgctaaaggcttcattataacggcgaccatagtttg
+caggcagacgtatttgcattaacaatggttcagcgttggcggctttgacatcctgcaaaa
+tctggcgcagcgtttgctcggtttgctgtggctgaaaaccacgcaaaccgtcattgccgc
+ccagttcaaccagcacccaacgcggctgatgctgtttcagcagagccggaaggcgcgcca
+gtccttgttgcgaggtgtcgccgctgatgctggcattaactaccgacgttttactctgcc
+acttatcattcaacaaggcaggccaggccgcgctggcagacattcgatacccggcgctca
+ggctatcacccagaatcaataacgtgtccgctgcggcggcacggaaggttaacaggacca
+ggaacaggaagggcaaatgccagcggaaaacattgttgaagttcatcatcttaagaagtc
+cgtcggtcagggggagcatgaactctccatcctcaccggagttgagctggttgtcaaacg
+tggcgagaccatcgcactggtgggcgagtcgggatcgggtaagtcaaccttgctggcgat
+cctcgccgggcttgatgacggcagcagtggcgaagtgagtctggtgggacaaccgctaca
+taatatggacgaagaagcgcgggcaaagttgcgcgcgaagcacgtcggctttgtttttca
+gtcatttatgttaattcctacccttaacgcgctggaaaacgtcgagcttccggctctgct
+gcgcggtgagagtagcgcggaaagtcgtaacggggcgaaagcgttgctcgaacagttagg
+gctgggtaaacgtctggatcatcttccggcacagctttccggcggtgaacagcaacgagt
+ggcgctggcacgagcctttaatggtcgacctgatgtgctgtttgccgacgaacccaccgg
+caaccttgaccgccagacgggcgataaaattgccgacctgctgttttccctcaaccgtga
+acatggcaccacgttgattatggtgacccacgacctgcaactggcggcacgctgcgaccg
+ctgcttacggctggtgaacgggcagttgcaggaggaagcatgattgcacgttggttctgg
+cgcgaatggcgttcgccgtcgctattaattgtctggctggcgctaagcctggcggtggcc
+tgcgtgctggcgctgggcaatatcagcgatcgcatggagaagggcttaagccagcaaagc
+cgtgagtttatggcgggcgatcgggcgttgcgcagttcacgcgaagtgccgcaagcgtgg
+ctggaggaagcgcaaaagcgcggcctgaaagtcggcaagcagctgactttcgccacaatg
+acctttgcaggcgacacaccgcagctggcgaacgtcaaagcggtggatgatatctacccg
+atgtatggcgatctgcaaactaatccccctggcctgaaaccgcaggcgggcagcgtattg
+ctggccccacgcctgatggcactgcttaacctgaaaacgggcgacaccattgacgtgggc
+gatgccaccttgcggattgccggagaagtgattcaggaaccggattccggttttaacccc
+ttccagatggctccgcgtctgatgatgaatctggcggatgtcgataaaaccggagccgtg
+cagccggggagtcgggtcacctggcgttataaattcggcggcaacgagaaccagctcgac
+ggctatgagaaatggttgttacctcagcttaaacccgaacaacgctggtacggtctggaa
+caggacgaaggcgcgctggggcgatcgatggaacgctcgcaacagttcctgctgctttcg
+gcgcttctgaccttgctgctggcagtggcagcggtggcggtagcgatgaatcattactgt
+cgcagtcgctacgatctggtggcgatcctcaaaacgctgggggcagggcgagcgcaactg
+cgtaagctaatcgtcggtcagtggttgatggtgctgacgctttcagccgttaccggtggg
+gccataggcctgttgttcgaaaacgtgttgatggtgctgctcaagcccgttctgcctgct
+gcactaccgccagccagcctctggccgtggctgtgggcgcttggcaccatgacggtcatc
+tcgctgctggtggggctacgaccatatcgcttgttgctggcaacgcagcctttacgcgta
+ttacgtaatgatgtggtagcgaacgtctggccgctgaagttttatctgccgattgtcagt
+gtggtggttgtgctgctgctcgccggattaatgggtggcagcatgctgctttgggcggtg
+ctggcgggcgcggtagtactggctttgctgtgcggtgtgctgggctggatgctgctgaat
+gtacttcgccgcatgacgctgaaatcgctgcctctgcgcctggcggttagccgcctgtta
+cgtcagccgtggtcaacgttaagtcagctttcggcattttcgctctcctttatgctgctg
+gcactgctgctggtgttgcgtggcgatctgctcgaccgctggcagcagcagctacctcca
+gaaagcccgaactactttttaattaacatcgccacagaacaggtagcaccgctaaaagcg
+ttcctcgcggaacatcagatagtcccggaatcgttttatccggtggtgcgggcgcggctg
+acggcgattaacgataagccgacagaaggtaatgaagatgaggcgcttaaccgcgaactc
+aatcttacctggcaaaatacgcggcccgatcataatccgattgtcgccggtaactggccg
+ccaaaagccgatgaagtgtcgatggaagaggggctggcgaaacgcttaaacgttgccctc
+ggtgataccgtgacttttatgggcgatacccaggagttccgcgctaaagtgaccagcctg
+cgcaaagtggactgggaaagtctgcggcctaatttctattttattttccctgaaggggca
+ttagacgggcaaccgcagagctggcttaccagtttccgctgggagaatggcaacggcatg
+ttgacacaactcaaccgccagttcccgaccattagcctgttagatattggcgcgatttta
+aaacaggtcggtcaggtgctggagcaggtaagtcgggcgctggaagtgatggtggtactg
+gtcaccgcctgcggtatgttgctgttgctggcacaggtgcaggtgggaatgcgtcagcgt
+catcaggagctggtggtgtggcgcacactcggtgcggggaaaaaactgctgcgtaccacg
+ttgtggtgtgagttcgccatgcttgggtttgtttccggcctggtggccgcaattggtgcg
+gaaacggcgctggcagtgttgcaggcgaaagtgtttgattttccgtgggagccagactgg
+cgattgtggattgttctgccgtgcagcggagcgctgctgctgtcgcttttcggcggctgg
+ctgggtgcgcgactggttaagggtaaggcgctgttcaggcagtttgcggggtgatgagag
+taaataaggggcgttctggttgaatggaacgccttgtttaaattaattctacaatatgtt
+tcattgatgatgttattgaattggtgatttcctatctttctattgctgatattaatctga
+atcggtggagtttattgattttaaatatagccctacaaaaataactcagactaataaaat
+cataaatcatatgcgttgaatggatattatccatatagtgaatttgttgatgatgaattc
+atctgtgctaaaaatgttagtttaataaaatattgaaagtgacctgtaataacagttgtt
+gttgattgagaacaaataagtttatgtgaaaaatatataaatacattagctggtcttgtg
+tgtcattttatttttttttgttgctaacacagggatatgaacaataactaaaagggcact
+ttatatgagcggaaaaccagcggcgcgtcagggagatatgactcagtatggcggtcccat
+tgtccagggttcggcaggtgtaagaattggcgcgcccaccggcgtggcgtgctcggtgtg
+tccgggcgggatgacttcgggcaacccggtaaatccgctgctgggggcgaaggtgctgcc
+cggcgagacggaccttgcgctgcccggcccgctgccgttcattctctcccgcacctacag
+cagctaccggacgaagacgcctgcaccggtgggcgttttcggccccggctggaaagcgcc
+ttctgatatccgcttacagctacgtgatgacggactgatactcaacgacaacggcgggcg
+gagcattcactttgagccgctgctgccgggggaggcggtgtacagccgcagtgagtcaat
+gtggctggtgcgcggtggtaaggcagcacagccggacggccatacgctggcgcggctgtg
+gggggcgctgccgccggatatccggttaagcccgcatctttacctggcgaccaacagcgc
+acaggggccgtggtggatactggggtggtctgagcgggtgccgggtgctgaggacgtact
+gccagcgccgctgccgccgtaccgggtgcttaccgggatggcggaccgcttcgggcggac
+gctgacgtaccggcgtgaggccgccggtgacctggccggggaaatcaccggcgtgacgga
+cggtgccgggcgggagttccgtctggtgctgaccacgcaggcgcagcgtgcggaagaggc
+ccgcacctcttcgctatcttcttctgacagttcccgccctctctcagcctcagcgttccc
+cgacacactgcccggtaccgaatacggccccgacaggggtatccgcctttcggcggtgtg
+gctgatgcacgacccggcatacccggagagcctgcccgctgcgccactggtgcggtacac
+gtatacggaagccggtgaactgctggcggtatatgaccgcagcaatacgcaggtgcgcgc
+tttcacgtatgacgcgcagcacccgggccggatggtggcgcaccgttacgcgggaaggcc
+ggagatgcgctaccgctacgacgatacggggcgggtggtggagcaactgaacccggcagg
+gttaagctaccgctatctttatgagcaggaccgcatcaccgtcaccgacagcctgaaccg
+gcgtgaggtgctgcatacagaaggcggggccgggctgaaacgggtggtgaaaaaagaact
+ggcggacggcagcgtcacgcgcagcgggtatgacgcggcaggaaggctcacggcgcagac
+ggacgcggcgggacggaggacagagtacggtctgaatgtggtgtccggcgatatcacgga
+catcaccacaccggacgggcgggagacgaaattttactataacgacgggaaccagctgac
+ggcggtggtgtccccggacgggctggagagccgccgggaatatgatgaaccgggcaggct
+ggtatcggagacatcgcgcagcggggagacagtacgctaccgctacgatgacgcgcacag
+tgagttaccggcgacgacaacggatgcgacgggcagcacccggcagatgacctggagccg
+ctacgggcagttgctggcgttcaccgactgctcgggctaccagacccgttatgaatacga
+ccgcttcggccagatgacggcggtccaccgcgaggaaggcatcagcctttaccgccgcta
+tgacaaccgtggccggttaacctcggtgaaagacgcacagggccgtgaaacgcggtatga
+atacaacgccgcaggcgacctgactgccgttatcaccccggacggcaaccggagcgagac
+acagtacgatgcgtggggaaaggcggtcagcaccacgcagggcgggctgacgcgcagtat
+ggagtacgatgctgccggacgtgtcatcagcctgaccaacgagaacggcagccacagcgt
+cttcagttacgatgcgctggaccggctggtacagcagggcggctttgacgggcggacgca
+acgttatcattatgacctgaccggaaaactcacacagagtgaggatgagggacttgtcat
+cctctggtactacgatgaatcggaccgtatcactcaccgcacggtgaacggcgaaccggc
+agagcagtggcagtatgatggccacggctggctgacagacatcagccacctgagcgaagg
+ccaccgtgttgccgtccactatggctatgacgataaaggccgcctgaccggcgaatgcca
+gacggtggagaacccggagacgggggaactgctgtggcagcatgagacgaaacacgcata
+caacgagcaggggctggcaaaccgcgtcacgccggacagcctgccgccggtggagtggct
+gacgtatggcagcggttacctggcgggaatgaagctgggcgggacgccgctggtcgagta
+tacgcgggacaggctgcaccgtgagacggtgcgcagcttcggcagcatggcaggcagtaa
+tgccgcatacgaactgaccagcacatacacccccgcaggccagttacagagccagcacct
+gaacagcctggtatatgaccgtgactacgggtggagtgacaacggcgacctggtgcgcat
+cagcggcccgcgacagacgcgggaatacggctacagcgccacgggcaggctggagagtgt
+gcgcaccctcgcaccagacctggacatccgcatcccgtatgccacggacccggcgggcaa
+ccggctgccggacccggagctgcacccggacagtacactcacagtgtggccggataaccg
+catcgcggaggatgcgcactatgtctaccgccacgatgaatacggcaggctgacggagaa
+gacggaccgcatcccggcgggtgtgatacggacggacgacgagcggacccaccactacca
+ctacgacagccagcaccgcctggtgttctacacgcggatacagcatggcgagccactggt
+cgagagccgctacctctacgacccgctgggacggcgaatggcaaaacgggtctggcggcg
+ggagcgtgacctgacggggtggatgtcgctgtcgcgtaaaccggaggtgacgtggtatgg
+ctgggacggagacaggctgacgacggtgcagactgacaccacacgtatccagacggtata
+cgagccgggaagcttcacgccgctcatccgggtcgagacagagaacggcgagcgggaaaa
+agcgcagcggcgcagcctggcagagacgctccagcaggaagggagtgagaacggccacgg
+cgtggtgttcccggctgaactggtgcggctgctggacaggctggaggaagaaatccgggc
+agaccgcgtgagcagtgaaagccgggcgtggcttgcgcagtgcgggctgacggtggagca
+actggccagacaggtggagccggaatacacaccggcgcgaaaagctcatctttatcactg
+cgaccaccggggactgccgctggcgcttatcagcgaagacggcaatacggcgtggagcgc
+ggaatatgatgaatggggcaaccagcttaatgaggagaacccgcatcatgtgtatcagcc
+gtaccgtctgccagggcagcagcatgatgaggaatcagggctgtactataaccgtcaccg
+gtactacgatccgttgcaggggcggtatattactcaggacccgatggggttgaaaggggg
+atggaatttatatcagtatcctttaaatccactacaacaaattgaccctatgggattatt
+gcagacttgggatgatgccagatctggagcatgtacggggggagtttgtggtgttctttc
+acgtataataggaccaagtaaatttgatagtactgcagatgctgcgttagatgctttgaa
+agaaacgcagaatagatctctatgtaatgatatggaatactctggtattgtctgtaaaga
+tactaatggaaaatattttgcatctaaggcagaaactgataatttaagaaaggagtcata
+tcctctgaaaagaaaatgtcccacaggtacagatagagttgctgcttatcatactcacgg
+tgcagatagtcatggcgattatgttgatgaatttttttcaagtagcgataaaaatcttgt
+aagaagtaaagataataatcttgaagcattttatctcgcaacacctgatggacgatttga
+ggcgcttaataataaaggagaatatatttttatcagaaatagtgtcccgggattgagttc
+agtatgcataccgtatcatgattaattttagtgcttttattagtggggcctataaggaga
+ttcaatgaaatatagttcaatattttcgatgctttcattttttatactatttgcctgtaa
+tgagacagctgtttacggttctgatgaaaacattatttttatgaggtatgtggaaaaatt
+acatttagataaatactctgttaaaaatacggtaaaaactgaaacaatggcgatacaatt
+agctgaaatatatgttaggtatcgctatggcgaacggattgcagaagaagaaaaaccata
+tttaattacggaactaccagatagttgggttgttgagggagcaaagttaccttatgaagt
+tgcgggtggtgtatttattatagaaattaataagaaaaatggatgtgttttgaatttcct
+acatagtaaataatgctggcgctgatggatgcggatggaaacattgcgtggagcggggag
+tatgatgagtggggcaaccagctgaatgaagagaacccgcatcacctgcaccagccgtac
+cggctgccggggcagcagtatgataaggagtcggggctgtactacaaccggaaccggtac
+tacgatccgttgcaggggcggtatatcactcaggacccgatagggctggaggggggatgg
+agtctgtatgcgtatccgctgaatccggtgaatggtattgatccattagggttaagtccc
+gcagatgtagcgctaataagaagaaaagatcaactaaaccatcaaagagcatgggatata
+ttatctgatacttatgaagatatgaagagattaaatttaggtgggactgatcaatttttc
+cattgtatggcattttgtcgagtgtctaaattaaatgacgctggtgttagccgatcggcg
+aaagggctgggttatgaaaaagagattagagattacgggttaaatctgttcggtatgtac
+ggcagaaaagtaaagctatcccattctgaaatgattgaagataataaaaaagacttggct
+gtaaatgaccatgggttgacatgtccatcaacaacagattgctcagatagatgtagtgat
+tatattaatccagagcataaaaaaacgataaaggctttacaagatgctggctatctcaag
+taatctatcaaagatgataatatttatttttgctattataatcattgttgttttatgcgt
+aattacttatctttatttatacaaagatgaatctcttgtaagtaaacattacataaacta
+tatggcaataccagaaaatgatggagtttttacatggctcccagatttttttccgcacgt
+agcggtggatatatcaatatacacaaatgtagaagatgattatttttttcttatttttcc
+ctaacaaatgatgatgggggtaggtttaagaaaacattgacagtgagggccagggaacaa
+gtggcgaaaatcgtatcaaagaatgatccagatacaaaaaaagtgtggtgtaaatatggt
+aagataccagggcaaggggatggtgtaaaccttttttttgttggtgaaattaatgttacg
+cattattttataacaaatattggagctggattgcctgatgcttgtgcagagtaattgctt
+gaattaagagtctatcccatatcgaagtcgtcaacttcgtagtgaggaaaagtaaaattc
+ctgactgagaaaagacatgtcggctattgtgtaaagccatatagctcagacgatgaatat
+ctactcgtattcagttgtttattgagggtgagttccgaccctgaaacaacaaataaaatg
+aacagtcagagagtttacatagaattgcactggtcttttacgatatctgacattgtgtaa
+tacatattcagccatgcattaattaaaatgttacgtgtttaatgtgagtccctatctgaa
+aataaataatccttccggattaaaataaattcttgccgggaaagaaagaggaaataaacc
+attagcggaaaaccagcggcacgccagggtgacatgccccagtacggcggcccgatagtc
+cagggttcagcgggggtactgatagtcgcgccgactgcatcgagaactccatacaacttt
+ttacggaacgtcacctgataaaatttgttcagtatcgtcttttgagattctcaaggttat
+ggagtaaccagacagaacggacaccactgtcggagataaaaaccccctgtttacgcagct
+cgttgctggcccggtgctgaccatgtgtcgggaaagcgacggcgtaatcaacaacagcct
+gttcagttgcctcatcggtacggttcttaaggttaggagcgcggcgactacgattaatct
+gcgcatccacaccgccttcagcgaccagttcgcggtaacgataaaacgtatcacgcgaaa
+cgcccatgattttacaggcttttgatacgttgctgagttcttcagccagattgagcaaac
+cggctttgtgtttgatgacgggattggcagtatgaagcatgagagttacctcttgttttg
+gataaggattcgacactcatatcaaaaccggtaactctcaacctttcaaggccatgtgtc
+agatcaagtcgcgactaatacaaatacgtccctcattaccgcgccttaacccattccgcc
+acttccgcccactcaccgcgaaagacaactttttccgcttttttctcaagctgatagcga
+tacatcgggtcgtaatattcttcaagtaacggcaccagccaggccagatgaccgtcggtg
+ctgccggtggtgagttgcgttgtcagtgctgcatccagccttgcagccagttcgttatag
+cgctgtagccccagccgacgcttaatcgccgaaagtccgtgatgcaggtattcgcaatac
+tcctgccagccctgttcgtcgccgtacgcgtgggtaaaatcatgatgcatacgcaagaaa
+tactcttcgttcaggcgctcaagacggatctcaaacggatcttctaccaccgcaatcgcc
+gcctgagtcattcgctcgcgcaggcattccggcaggtgattcgaaccgatcatccggctt
+tcgtcttccagcacccacaggcgcaaattctgacgggcgtcggtttttagcatttcggca
+gccagcaggttttcaaaactcgcctggctaagttgtggttgtaacgtgcgaccaaacgcc
+gaaccgcgatgacgcgccaacccttccagatcaacaccgttcggctgttgctgcactaac
+agcgttttaccgctgccggtacaaccgccaatcagcactatcggtttttgtgccagttca
+atagtcgcctgaatcgcggtctggcgcagtgccttataaccgccttccaccagcggataa
+tcaatccccgctgcatgcaaccagctttgcacaatatgtgagcgctgaccgccacgggcg
+cagcagagaataccttgcggattttgcaggcacgctgcccgccaggcgtccatgcgctgc
+tgacgaatttcacccgccaccagtttatgtcccagcgccagcgctgcgtctgagccttgc
+tgtttatagcaggtgccaacggcggcgcgttcatcgttattcattaacggcagattgata
+gcggcgggcattgcgccgtgctcaaactcgataggggcgcgaacatcaataatgggcgta
+tcagcaatcagcagggcacgatagtcctgttccgtgtgtctctcttgcatagttaaaagt
+gaacctcaaatcagcttgcgcgctattttacgcgccaacgcgcaaggaaacttgattttt
+aactgcgtgggttgccgaaaatttctaaaaatccgctgatttccggcctgcgctgggtaa
+acaaggtcacaatatcttctaccgctttgccgctgccaaatttgcgccatgccagactca
+atggcgaaggagggcgcatcgttgggattacccggctgaccagttgttgattatcgatca
+ttgactggcaaagcgattttggcaaaaaaccaatgccaacgcccgccagatgggcggcga
+ttttcgtttccatatcgggaacaataatctctttttgccctggcaatcgccaggcgacgc
+gtttggttaaggtgcgggcgctgtcttcaatattgaccgccggaaagcgccgcaactgcg
+cttctgttagcggctcttcaacgttcgccagcggatgatccgccgccatgacaaagcgcc
+attgcaccgatcctaagggatcaagactaaaggtatttgccagcgcctcagttcccgtga
+cgccgatagccagcgaaaaaccttcgtacaatagcgagtcccagacgcccatatagattt
+gtcgggagatgtgaaactgggtaaaggggtaacgctcattcagccacgccagcaactggg
+cgacggcctgggggttgtagagcaggttgttgatgacaatattcacctggcgttccacgc
+catcattcacctgttgcagctcgcttggcatactttccagccagctcagccagtctctgg
+cctgggaaagtagatgctcgccagccgctgtcaacgtcacgctgcgagtcgtacggaaaa
+acagcgctactccggtattctcttccagaagtttaatgcgataactgatcgtcgccgtgg
+ttttacataatcgttctgccgcttttgaaaaacttcctgtttcagcaaccgcaatgaaag
+tccgcaaggtttctggatcgaacatcttcaggtatccccttttaaatccgcaagttgcgt
+gattttcttatcctctgatttatcagtatttttacatgataaccctgttcaatttgtgga
+ctaaatctagttttggaaaaatattccaacttttgtattgatgttgttctcttaaggttt
+tagattgcctgttattgaaaccaagctgaccggtcggcggtggttgaacggaattatgtt
+acaaggacaaaaagatgaaacttcaggtattaccgttaagtcaggaagcctttagtgctt
+atggcgacgtaatcgaaacgcagcaacgggattttttccatattaacaatggcctggtgg
+agcgttaccacgatttggcgctggttgagattcttgagcaagactgtacgcttatcagca
+ttaaccgcgcgcaaccggcgaatctgccgctgaccattcacgaactcgaacgtcatccgc
+tgggtactcaggcctttatcccgatgaaaggtgaggtgtttgtggtggtcgtggcgttag
+gtgacgacaaaccagacctgtcaacgctgcgggcgtttatcaccaacggcgaacagggag
+tgaattaccatcgtaacgtctggcatcacccacttttcgcctggcagcgcgtcaccgatt
+ttctgaccatcgatcgcggcggcagtgacaactgtgatgttgaaagtattcctgaacagg
+aactctgttttgcgtgacgcctgcaaccgacttgcataagataaactaattgttcattgt
+ttatgctcacttgtaggtcggagttaacgtaggtatgacggaagttagacggcgcggcag
+gccaggacaggcggagcctgtggcacagaagggcgcacaggcgttagagcggggaattgc
+gattctgcaatatttggaaaaaagtgggggaagttcgtcggttagcgatatttctctcaa
+tctggatttgccgctctccacgacctttcgcttgctgaaggttttacaggcagcggattt
+tgtctatcaggacagtcaattaggctggtggcatataggattaggtgtctttaacgtcgg
+tgcggcgtacatccataaccgcgatgtcctctccgtcgccgggccgtttatgcgccgcct
+gatgttactttccggcgaaacggtcaatgtcgcgatccgtaacggcaatgaagcggtatt
+aattggtcagttagagtgtaaatcgatggtcaggatgtgtgcgccactgggcagtcgtct
+gccactgcatgcttccggtgcgggcaaagcgctgctttatccgctggcggaagaggagtt
+gatgagcatcattctgcaaaccggtttgcagcagtttacgccaactacgcttgtggatat
+gcccaccttgctgaaggacctggaacaagcgcgtgaactgggctataccgtagataaaga
+agagcatgttgtaggtctgaattgcatagcttcagcaatttacgatgatgtcggtagtgt
+tgttgccgctatctccatctccgggccttcatcaagactgacagaagatcgttttgtcag
+tcagggtgagctggtcagagacaccgcccgcgatatcagcacggcgttgggactgaaagc
+acatccataatgtctgtcgcatcccgctctgcggagcgggtttttttgacaaaatttgaa
+agttggaaaaattttccaataaatagaggtaggaataaaatggcaaaaatgagagccgtt
+gacgcggcaatgtatgtgctggagaaagaaggtatcactaccgccttcggtgttccggga
+gctgcaatcaatccgttctactcagcgatgcgtaagcacggcggtattcgtcacattctg
+gcgcgtcatgtggaaggtgcttcgcacatggcggaaggttatacccgcgcaacggcaggg
+aatatcggcgtatgtctggggacttccggtcctgcgggcacggacatgatcaccgcgctc
+tattccgcttctgctgattccattcctattctgtgcattaccggccaggcaccgcgcgcc
+cgtctgcataaagaagattttcaggccgtagatattgaagcaattgctaaaccggtcagc
+aaaatggcggttacagttcgtgaagcggcgctggtgcctcgcgtgctgcaacaggcattt
+cacctgatgcgttctggtcgtccgggtccggtactggtggatttaccgttcgacgttcag
+gttgcggaaatcgagtttgatcctgacatgtacgaaccgctgccggtctacaaacctgct
+gccagccgtatgcagatcgaaaaagctgtagaaatgttaatccaggccgaacgtccggtg
+attgttgccgggggcggggtaattaatgctgacgcagctgcactgttacaacagtttgct
+gaactgaccagcgttccggtgatcccaacgctaatgggctggggctgtatcccggacgat
+catgaactgatggccgggatggtgggtctgcaaaccgcgcatcgttacggtaacgcaacg
+ctgctggcgtctgacatggtgtttggtatcggtaaccgttttgctaaccgtcataccggc
+tcggtagagaaatacaccgaagggcgcaaaatcgttcatattgatattgagccgacgcaa
+attggtcgcgtgctgtgtccggatctcggtattgtctctgatgctaaagcggcgctgaca
+ctgctggttgaagtggcgcaggagatgcaaaaagcgggtcgtctgccgtgtcgtaaagaa
+tgggtcgccgactgccagcagcgtaaacgcactttgctgcgcaaaacccacttcgacaac
+gtgccggtgaaaccgcagcgcgtgtatgaagagatgaacaaagcctttggtcgcgatgtt
+tgttatgtcaccaccattggtctgtcacaaatcgctgcggcacaaatgctgcatgtcttt
+aaagaccgccactggatcaactgtggtcaggctggtccgttaggctggacgattccggct
+gcgctaggggtttgtgccgctgatccgaaacgcaatgtggtggcgatttctggcgacttt
+gacttccagttcctgattgaagagttagctgttggcgcgcagttcaacattccgtacatc
+catgtgctggtcaacaacgcttatctggggctgattcgtcagtcacaacgcgcttttgac
+atggactactgcgtgcaactcgctttcgagaatatcaactccagtgaagtgaatggctac
+ggtgttgaccacgtaaaagtagcggaaggtttaggttgtaaagctattcgggtcttcaaa
+ccggaagatattgcgccagcctttgaacaggcgaaagccttaatggcgcaatatcgggta
+ccggtagtcgtggaagttattctcgagcgtgtgaccaatatttcgatgggcagcgaactg
+gataacgtcatggaatttgaagatatcgccgataacgcagcggacgcaccgactgaaacc
+tgcttcatgcactatgaataagggagataaataatgttacgtttctctgctaatttatcg
+atgttatttggagaatatgattttctcgcccgttttgagaaagctgcgcagtgtggtttt
+cgcggcgttgaatttatgtttccttatgactacgacattgaagaattaaaacatgtgctg
+gcgagtaataaactcgaacatacgctgcacaatttaccggcgggtgactgggcggcgggg
+gagcgcggtattgcctgtattcctggccgtgaagaagagtttcgggatggcgtagcagca
+gcgattcgttatgcccgtgcgctgggtaataaaaaaattaactgtctggtcggtaaaacg
+ccggctggtttcagcagtgaacagattcacgcaacgcttgtagaaaacctgcgttatgcc
+gcgaatatgctgatgaaagaagatattttattactgattgaacctattaaccattttgat
+attcctggtttccatctcaccggaactcggcaggcgctgaaattgattgatgatgttggt
+tgctgcaatttgaaaattcagtatgacatttatcatatgcagcggatggaaggtgaatta
+accaacaccatgactcagtgggctgataaaattggtcacctgcaaattgccgataatccg
+catcgcggcgaaccgggaaccggagaaattaattatgattatctctttaaggtaatcgaa
+aattctgactacaacggttgggttgggtgtgaatataaaccccaaaccaccacggaagcc
+ggtttacgctggatggatccgtaccgttaaaacgtaacgctattcagacaatgctttttt
+aggccgctaagttggcaggggatcgtgttgtctgaattcaggaaaagcgaaatttaaaag
+aggttaattatgaaactgggatttattggcttaggcattatgggtacaccgatggccatt
+aatctggcgcgtgccggtcatcaattacatgtcacgaccattggaccggttgctgatgaa
+ttactgtcactgggtgccgtcagtgttgaaactgctcgccaggtaacggaagcatcggac
+atcatttttattatggtgccggacacacctcaggttgaagaagttctgttcggtgaaaat
+ggttgtaccaaagcctcgctgaagggcaaaaccattgttgatatgagctccatttccccg
+attgaaactaagcgtttcgctcgtcaggtgaatgaactgggcggcgattatctcgatgcg
+ccagtctccggcggtgaaatcggtgcgcgtgaagggacgttgtcgattatggttggcggt
+gatgaagcggtatttgaacgtgttaaaccgctgtttgaactgctcggtaaaaatatcacc
+ctcgtgggcggtaacggcgatggtcaaacctgcaaagtggcaaatcagattatcgtggcg
+ctcaatattgaagcggtttctgaagccctgctatttgcttcaaaagccggtgcggacccg
+gtacgtgtgcgccaggcgctgatgggcggctttgcttcctcacgtattctggaagttcat
+ggcgagcgtatgattaaacgcacctttaatccgggcttcaaaatcgctctgcaccagaaa
+gatctcaacctggcactgcaaagtgcgaaagcacttgcgctgaacctgccaaacactgcg
+acctgccaggagttatttaatacctgtgcggcaaacggtggcagccagttggatcactct
+gcgttagtgcaggcgctggaattaatggctaaccataaactggcctgatacccgcaataa
+aaatggccgatatcagaaaatgaatcggccagcaatattaaaaaagaaagcagccaaaga
+tgttgcttcagtattaaaaataatatttttattttatttgttcctcatagctagattaaa
+acaacgttattcgatacgtgaaattaagagggatttatggaacatcagagaaaactattc
+cagcaacgcggctatagcgaagatctattgccgaaaacgcaaagccagcggacctggaaa
+acatttaactattttaccttatggatgggttcggttcataacgttcccaattatgtgatg
+gtcggcggcttttttattctcggcttgtctacctttagtattatgctggcaattatcctc
+agcgcctttttcattgccgcggtaatggtattaaacggtgctgcgggcagtaaatacggt
+gtgccttttgccatgatcctgcgtgcttcttacggtgtacgtggtgcactgtttcccgga
+ttattaaggggcggaattgccgccatcatgtggtttggtttgcaatgttacgcggggtca
+ctggcctgcttgattctgattggcaaaatctggccgggatttttaactctcggtggtgat
+ttcactctgttaggcctttctctaccgggcttaattactttcttaatcttctggctggtc
+aacgttggtataggttttggcggtggcaaagttttaaataaattcactgccattcttaac
+ccgtgcatctatatcgttttcggcggtatggcgatttgggcgatttcactggtcgggatc
+ggtccaatctttgactacattccgagcggtattcagaaagcagaaaacggtggcttcctg
+ttcctggtggtgattaacgcggtagttgcggtctgggcggcaccggcggtgagcgcatcc
+gactttacgcaaaacgcccactcgtttcgtgagcaggcgctggggcaaacgctgggttta
+gttgtggcctatattctgtttgcggtcgccggggtatgtattattgccggagccagtatt
+cactacggcgctgatacctggaacgtgctggatattgttcagcgttgggacagcctgttc
+gcctcgttctttgcggtactggttattctgatgacaactatctccactaacgcgaccggt
+aatattattccagccggttatcagattgccgccattgcaccgacaaaactgacctataaa
+aacggcgtactgattgccagtattatcagcttgctgatctgcccgtggaaattaatggaa
+aatcaggacagcatttatcttttcctcgatattatcggcggaatgcttggtccggtaatt
+ggtgtcatgatggcgcattattttgtggtgatgcgcggacaaattaatcttgatgaactg
+tataccgcacctggcgattataaatattacgataacggttttaacctcactgcgttttca
+gtaactctggtggccgttattttatctcttggcggtaagtttattcactttatggaaccg
+ttatcgcgtgtttcatggtttgtcggcgtcatcgtcgcctttgcggcctacgccttatta
+aagaaacgtacaacagcagaaaaaacaggagagcaaaaaaccataggttaattaatcccg
+atattgaacattgagttaaaaaccaatctgtattttacaaggagtttgttatgtcttttg
+atttaatcattaaaaacggcaccgttattttagaaaacgaagctcgcgttgtagatatcg
+ccgttaaaggcggaaaaattgctgctatcggtcaggatctgggcgatgcaaaagaagtta
+tggatgcgtctggtctggtggtttcgccgggcatggttgatgcgcacacccatatttctg
+aaccgggtcgtagccactgggaaggttatgaaaccggtactcgcgcagcggcaaaaggtg
+gtatcaccaccatgatcgaaatgccgctcaaccagctgcctgcaacggttgaccgcgctt
+caattgaactgaagttcgatgccgctaaaggcaagctgactattgatgcggcacaactcg
+gtggcctggtgtcttacaacatcgaccgtctgcatgagctggatgaagtgggcgttgtcg
+gcttcaaatgcttcgttgcgacctgtggcgatcgcggtatcgacaacgacttccgtgatg
+taaacgactggcagttcttcaaaggtgcgcagaagctgggcgaactgggtcagccggtgc
+tggtgcactgcgaaaacgcgctgatttgtgacgaactgggcgaagaagcgaagcgtgaag
+gtcgcgtaaccgctcatgactatgtggcttcgcgtccggtatttaccgaagtggaagcaa
+ttcgccgcgtactgtatctggcgaaagttgctggttgccgtctgcacgtttgccacgtca
+gcagcccggaaggtgttgaggaagtgactcgtgcacgtcaggaaggtcaggacgttactt
+gtgaatcctgcccgcattactttgtactggataccgatcagttcgaagaaatcggtactc
+tggcgaagtgttcaccgccgatccgcgatctggaaaaccagaaaggcatgtgggaaaaac
+tgtttaacggtgaaatcgactgcctggtttccgaccactctccatgcccgccggaaatga
+aagccggtaacatcatgaaagcatggggcggtatcgccggtctgcaaagctgcatggacg
+tgatgttcgatgaagcggtacagaaacgcggtatgtctctgccaatgttcggcaaattaa
+tggcgactaacgcagcagatattttcggtctgcagcaaaaaggccgtatcgccccaggaa
+aagatgccgacttcgtcttcattcagccgaatagcagctatgttcttaccaatgacgatc
+tggaatatcgccacaaagtcagcccgtatgttggccgtaccattggcgcgcgtatcacga
+aaaccatcttacgtggtgatgtgatttacgacattgaacagggcttccctgttgcgccga
+aaggtcaatttatccttaaacatcagcagtaatctggcccctgcaatgcccgtccttgcg
+gcgggcattctccggttaaggtgtgtttatgttcaattttgcagtcagccgcgaaagcct
+gttatcaggatttcagtggtttttctttattttttgcaacacggttgtggttcctcctac
+gctactttctgcttttcagttgccgcaaagtagcctgcttacgctcacgcaatatgcttt
+tcttgctaccgcactggcctgcttcgctcaggcgttttgcggtcatcgtcgcgctattat
+ggaagggccaggtggcctgtggtggggaaccatccttactatcacccttggtgaagcatc
+gcgcgggacaccgatcaacgatatcgccaccagcctggcagtggggattgcactctccgg
+cgtgctgacgatgttgattggttttagcggattaggccatcgcctggcacggttatttac
+gccgtcggtgatggtcttgtttatgttgatgctgggcgcgcagctgaccactatcttttt
+caaaggtatgctcgggctgccgtttggcatagccgacccgaattttaaaattcagttacc
+gccgttcgcgctctcggtggcggtgatgtgcctggtactggcgatgattatcttcctgcc
+gcaacgttttgcccgttatggcctgctggtcggcaccataaccggctggttgttgtggta
+cttttgctttccttcttcgcactcgctctccggtgagttgcactggcagtggttcccgct
+cggcagtggcggtgctttgtcgccgggaattattctgacggcggtgattacaggtctggt
+aaatatcagcaatacctacggtgcgattcggggcacggatgttttttatccgcagcaggg
+cgcagggaatacgcgttatcgtcgtagctttgtggcgaccggatttatgacgctgataac
+cgtaccgctggcggtaattccattttcaccgtttgtttcatccattggtttattaaccca
+gactggcgattacacgcggcgttcgtttatttatggcagcgttatttgcctgctggtggc
+gctggttcctgcactcacgcgactgttttgcagtatccctttacccgtgagtagtgcggt
+catgctggtttcttatctgcctttactcttttccgcgctggtgtttagccagcaaataac
+gtttaccgctcgcaatatttatcgactcgcattgccgttatttgtcggcatatttttaat
+ggcattaccgcctgtgtatctgcaagaccttccattaacgcttcgtcctctgctcagtaa
+cggcttattggtcgggattttactggctgttcttatggataaccttattccgtgggaacg
+catcgaataatttgttgaaaaaggattgataatgaagattgtcattgcgccagactcttt
+taaagagagcttaagtgcagaaaaatgttgtcaggcaattaaagccgggttttcgaccct
+ctttcccgatgcgaactatatctgtttgccgatagcggatggcggcgaagggacggtgga
+tgcgatggtcgccgcgacgggcggcaacatcgtgacgcttgaagtctgcgggccgatggg
+cgaaaaagtgaatgctttttatggccttaccggcgacgggaaaacggcggtgattgagat
+ggcggcagcaagtggcctgatgctggtcgcgcctgaaaagcgtaatccgttgctggcctc
+cagttttggtacgggggagttaattcgtcatgcgctggataacgacattcgccatattat
+tctcggcattggcggcagtgcgacggtcgacggcggtatgggcatggcgcaggcgctcgg
+tgtgcgtttccttgatgccgacggtcaggcgctggcggcaaacggtggtaatttagcgcg
+cgtggcaagcattgagatggatgaatgcgatccgcgtctggcgaattgccatattgaagt
+agcatgtgacgttgataacccgctggtaggggcacgcggcgcggcggcggtgtttggccc
+gcaaaaaggggcaacgccggagatggtcgaagaacttgaacaggggctgcaaaattacgc
+ccgtgttttacaacagcaaactgaaattaatgtctgccagatggcgggcggcggcgctgc
+gggcggtatgggtattgcggcggcggtatttctcaatgcggatattaaaccgggcattga
+aattgtgttgaatgcggtcaatcttgcgcaggcagtgcagggcgcagcactggtgattac
+cggggaagggcgcatcgactcgcaaacggcaggcggtaaagcgccgctgggtgtggcgtc
+ggtggcgaagcagtttaatgtaccggtgattgggattgctggcgtattgggtgatggcgt
+ggaagtggtgcaccagtacggcattgacgcggtattcagcattttgcctcgtctggcacc
+tttagccgaagtgctcgccagcggtgaaaccaatctcttcaacagcgcgcgaaatattgc
+ctgcgccattaaaataggtcagggaattaaaaactaacccttacctttaaagcggatgcg
+atttatatcgcataagagtgcagtactcatgccggatgcggcatgagtaccatatccttc
+ctgaaaatcgcgcaaattctatatattgcagagatcatgtaggcctgataagcgaagcgc
+atcaggcaatgttacaaaaaaagccacggtataaaccgtggcaaaatccaacatagctaa
+aaataatcaggcgagtggtatgacttaaatctctacgtcgcggttacaatctttcgagta
+aatatagctgaacgcttcaccacgccctacaccataaccagcctgtaaagaataagcgcc
+cataaagatgtaatcgccttttttcaccgggatccagttattgtcgaggttataaacccc
+ctgaccggaaagaatataggcaccgtgttcctgaacgtgtgtttcgatataaccgtggct
+ggcacctggtgcaaaagagaggatatgcatgttcatatcaaaacctaactctttgggcag
+aaaatccagcagaataacatcgtccatgccttcataatgaatgcgttccagttcgctggc
+attgccagaaaccagccacggtgcatagccttctaccggaacatagcggcgcttatataa
+aaagatttggctgtcttcggcctgggcgttaacaaacgtcattaaggagcctggcgggca
+ataaagatagccaccttcgcttaaggcaaatgttttgccttcggctttggcagtgatatt
+tccagagatcacatacaggaacgtttcaatgccttcgccaccgaagccctgttggttgcc
+accgttttgatgcagtgtgaccagataatcaacaaaagaggcacccagctttggcgtgga
+gaggattgtcgcgtcacaattttcaaagcccggaataatattttttaccagaccatccgg
+ggttaacagtgcgaaattaccgtgtttaacaatcgcacggttagccagtaaatcttcgcg
+gtaaccggtgacgttatttaaatatcccatttatgactccttatttctgccaggcaagtt
+gataaagcatgagtgccaacgttttgaccccttcggcaaggtcggtaatattggtgcgtt
+ccgccgggttatggctgatcccgttgatgctggggataaaaatcatgcaggttggtacgc
+gaggcgcgaaaatttgcgcgtcgtgcccggcaccactgtgcatcacccggtaattcagtt
+tttctctttcacacaattctgtcagggtggcgaccagctccttattcatcggcacgggtt
+cttcgtccatccataaatcgatatcaataccaatgtccatttcatcgcaaatcgcccgca
+tgtcgttttctaactgttgggtgaaatcgcgcagcacggcagcgtcggtatgacgacaat
+caatggtgaacgtggttttacccggcaccacatttaccgtattcgggcgcggctctactt
+tgccaaaggtcagaaccagcggatcgcccatccttttcgctttttcgaccgactgatggc
+aaatgcgactgaaagcgtaaactgtatcacgacgataacccatcggcgtggtgcctgcat
+ggtttgattcgccgttcagcgttaccgtataacgacgctgcccgacaattgcattcacca
+cgccaattgattgcccattactttccagcacacagccctgttcaatatgcagttcaacaa
+aggctttaatatcctgacgcggagttagtggggcgttcggaagagtaaatccgcaagcct
+tcatcgcatcgacaaaactatttcctttggcatcacagatattccgcacgtcgtcaggat
+tcgccagcccaaaaatatttttactgccccagaagacatacgggaagcggctgccttctt
+cttctgccatcgccaccacttcgaccgtacgtagcggcgcgccgtattgcgttttcagcc
+agtcaattgccagccacgccgccagcgcgccgaattgcccgtcaaggttaccgccgttaa
+ccacggtatcgatatgcgaaccgctcagaaccacttcctgtggatattcggtgccattca
+ggcgaccgtataaattccccacttcatcgaaacgtgtttccagcccgcttgctgccattc
+tttttttaaattgctgctgggtttccagccattccggcgaataaagtaaacgggtcatcc
+cacccgctgggtcagcgccaaaagaggaaagccagggcagcgtttcttctatagcttgac
+ggaaatgtgtaatcataagaaagtcctgtctcaataattattgcgcaaagggatttttcg
+tttcgtatgacgtgttataaagcgcgtcggaaattaaatactggtaaatatcatcaacaa
+tttcgatgccttcgacggcggctttgcgttgtttaatatcctgatcctgtccgggataat
+aaacctgattaaaaccgggcgcgggggtaatggcatttaattcgcgcatggtctggctaa
+gatgttgacggaataattcgctggaggagaaaaagttcggattaataactatatgtaatt
+gccccaaattacgccctgcgtgtaaatcgtcatacatcgaactaacctgtcgcccgaacg
+gtaagccgagtaagacgcctgagaggacgtcaatcatcatcatcaggccatacccttttg
+gcccggcggcggggagcagagcatgtaccgcgaacggatcggttgttggtacaccgtttt
+tatcgaccgcccaggtatccgggatagacatattacgcgagcgggcgtcgagcacttttc
+cccatgcctgtacggtagtcgccatatcaaaggtaaggatctcgtcgccttctcccggcg
+cggcaaaggccagggggttagtaccgtagtaaatttccgcgccgccaaacggcaccacca
+ttggatcggactggcacatcgaaatgccaatgaatccggcgcgggctgcctgctgcacaa
+aataagagattgcgccgctgtgacccatccggctgataccgaccaccgcaacgccatttt
+gctgggcggttttgatggcatgttccatacccattttcgccgcgacctgtccggcggcat
+tgtcggcatgtaaaattgccgagcacggcccggtttcctcaagacgaaactccggttcgc
+ggttggtgccgccttttgaaatgcgttccgcgtagtattccacgcgcaccgcgccatgag
+agtggatccctctggcatcggcgtaaaccaatacttcagccacggttgcagcgtgctcac
+gttttaacccagcctggcagagtttattctcaattagctggtggagtgtttcccgactga
+ttttcatctgtcttcctttttaacgacggtgtgaagcatgactgcaattaacatacaggg
+aaaatatctggattatgtgatccagacaggcaaaaaaatatagttagaatttatttgata
+atccgctcacttttaacctgatttttaaaacaacaacgcttattaaaaaataatgagtaa
+tagcctggtggttatttgaattcttttgttaataattcctgtgtgatattcatcacctta
+tttactcgttgtcatcgataccgtaatcgccacattaacactgctcgtgcaattgccatg
+ggtgcaatttttaaggagttgttatgatccacgcctttattaaaaaagggtgttttcagg
+attcggtcagtttaatgattatttcacgaaaactcagcgaatcagaaaatgttgatgatg
+tttccgtaatgatgggtacgcccgccaataaagcgttattagataccacaggtttctggc
+atgacgattttaataacgccacgccgaacgatatttgcgtggcaattcgtagcgaagcgg
+cggatgcggggatcgcgcaggcgattatgcagcagcttgaagaggcgctaaaacaactgg
+cgcaggggtcaggcagcagccaggcgttgacgcaggtgcgtcgctgggacagtgcctgtc
+agaaattacccgatgccaatctggcgctgatttcagtggctggcgagtatgcggcggagc
+tggcaaaccaggcgctggatcgcaacctcaacgtgatgatgttctccgataacgtcacgc
+tggaagatgaaatccaacttaaaacccgcgcgcgggaaaaaggcttgctggtgatggggc
+cggactgcggtacgtcgatgattgccggcacaccgctggcttttgctaacgtgatgccgg
+aaggcaatattggcgtcattggcgcttccggtaccgggattcaggagctgtgttcgcaga
+ttgcgctggcaggggagggaattactcacgcgattggccttggcgggcgcgacctcagcc
+gtgaagtgggcggcatcagtgcgctaacagcgctggaaatgctcagtgcagacgagaaaa
+gcgaagtgctggcatttgtttcaaaaccacctgccgaagctgtgcgtctgaaaattgtta
+atgccatgaaagcaaccggcaaaccgacggtggcgctgtttttaggttataccccggcgg
+tggcccgcgacgagaatgtctggtttgcctcctcgctggatgaggccgcacgcctggctt
+gcctgctttcacgcgtcacggcgcgacgtaacgcaatagcgcctgtcagcagcggattta
+tttgcggtttgtataccggcggtacgctggctgccgaagcggcgggattacttgccggac
+accttggcgtggaagccgacgatacccatcaacatggcatgatgctggacgccgatagcc
+accagattattgacctcggcgatgatttctacaccgtcgggcgtccccatccgatgatcg
+acccaaccttacgcaaccagttaattgccgatctcggcgctaaaccgcaagtgcgcgtgt
+tgctgcttgatgtcgtgattggcttcggtgcgaccgccgatcctgccgcctcgctggtga
+gcgcctggcaaaaagcctgtgccgcgcgtttagataatcaaccactgtatgccattgcca
+cggtgacaggcactgaacgtgacccgcaatgccgctcgcagcaaatcgccacgctggaag
+atgcggggattgcggtcgtgagttcgctaccggaagccaccttgctggcggcagcgttaa
+ttcatccgctctcgcctgccgcacagcaacacacaccgtcattactggaaaacgtcgccg
+tgattaacatcggattacgcagctttgcgctggagctacaaagcgccagcaaaccggttg
+tgcattaccaatggtcgccagtcgccggtggcaataaaaaactggctcgtttattagaac
+gtttgcaataaggggttcccatgtttacatcagtggcgcaagccaatgctgcggttatcg
+aacaaattcgtcgcgctcgtccacactggctggatgtgcaaccggcttcttcacttatca
+gcgaactaaacgaaggcaaaacactgcttcacgccgggccgccaatgcgctggcaggaga
+tgaccggacccatgaaaggggcgtgcgtgggcgcatgtctgttcgaaggttgggcgaaag
+atgaagcgcaggcgctggcaatactggagcaggggaagtgaacttcattccttgtcacca
+tgtgaatgccgtcgggccaatgggcggtattacttctgccagtatgccgatgctggtggt
+tgagaacgtgaccgacggcaaccgggcgtactgcaacctcaacgaaggtatcggcaaagt
+gatgcgttttggcgcttacggcgaagatgtcctgactcgccatcgctggatgcgcgatgt
+gttaatgccagtattaagcgcggcgctggggcgcatggagcgcggtatcgatctcacggc
+gatgatggcgcagggcattacgatgggcgatgagttccatcaacgcaatattgcttcctc
+tgcactgttaatgcgtgcgctggccccacaaattgctcgcctcgatcatgataaacagca
+catcgccgaagtgatggatttcctcagcgtgaccgatcagttcttcctcaacctcgcgat
+ggcttactgcaaggcggcgatggatgctggcgcgatgatccgcgcaggcagcatcgtcac
+ggcaatgacccgcaacggcaatatgttcgggattcgggtaagcgggctgggcgaacgctg
+gtttactgcgcctgtaaacactccgcaaggtctgtttttcaccggcttctcgcaggagca
+ggcgaacccggatatgggcgatagcgcgattaccgaaacctttggtatcggaggtgcggc
+aatgatcgcagcgcctggcgtaacgcgctttgtcggtgcgggtggcatggaagcggcaag
+agcggtatctgaagagatggcggaaatttaccttgaacgcaatatgcagttgcagatccc
+aagctgggattttcagggcgcgtgcctggggctggacattcgtcgcgtggtagaaaccgg
+cattacgccactcatcaataccggtatcgcccataaagaggcggggatcgggcagattgg
+cgcaggcaccgtgcgggcaccgctggcgtgctttgaacaggcgctggaagcactggctga
+aagcatgggtattggttgaggaacgcgcaatgacgatcatccatcctctgcttgccagta
+gtagcgcaccgaattatcgccagtcctggcggttagcgggagtgtggcggcgggcgatta
+acctgatgacggaaagcggcgaactgttaacgttgcatcgtcagggtagtggtttcggcc
+ccggaggatgggtgcttcgccgtgcgcaattcgatgcgttatgcggtggattatgcggca
+atgaacgaccacaggttgtggctcaagggattcgcctcgggcgtttcacggttaaacagc
+cacagcgttattgtttgctgcgtattacgccgcctgcgcatcctcaaccacttgcagctg
+catggatgcaacgcgcggaggaaaccgggcttttcgggccactggcgttggcggcaagcg
+atccgctgcctgctgagttacgccagtttcgtcactgttttcaggccgcgctcaatggcg
+ttaagaccgactggcggcactggctgggtaaaggccccggattaacgccgagtcatgatg
+acacgctgagcggaatgctgctggcggcctggtattatggcgctttagatgcgcgctccg
+gtcgtccgttttttgcctgttccgacaatctgcaactcgttaccacagcggtgagcgtca
+gttatttacgttatgccgcgcaaggatatttcgcctcgccactcctgcactttgttcatg
+ctctgagttgcccgaaacgtaccgctgttgcgattgattcgctgctggcgctggggcata
+cgtcaggggcagatacgctgctggggttctggcttggccaacaattattacaaggaaaac
+catgaaaacactggttgtggctcttgggggcaacgccttactccagcgcggtgaggcgct
+gacggcagaaaatcaatatcgcaatatcgccagtgctgtacccgcgctggcacgcctggc
+ccgttcttatcggttggcgattgttcacggcaacgggccgcaggtggggctgctggcatt
+gcagaatctggcgtggaaagaggtagaaccgtatccgctggatgtgctggttgcggaaag
+ccaggggatgattggctatatgctggcgcagagtttgagcgcacagccgcagatgccgcc
+cgtgacgacggtgctgacgcgcattgaggtttcgcctgatgatccggcgtttttgcagcc
+agagaaatttattggtccggtttatcagccagaagaacaagaggcactggaagcggctta
+cggctggcagatgaaacgtgatggtaaatatttgcgccgggtggtggcgtctccgcaacc
+gcgtaaaattctcgacagcgaagccatcgagttgttgctcaaagaggggcatgtggtgat
+ttgcagtggcggcggcggtgtgcctgtgacggatgacggagcagggagtgaagcagtgat
+tgataaagatctcgccgctgcgttgctcgccgagcagattaatgcagatggactggtgat
+cctcaccgatgctgatgcggtatatgaaaactggggaacgccgcagcaacgtgccattcg
+ccatgccacaccggatgagttagcgccatttgccaaagccgatggttcgatggggccgaa
+tgtaacggcggtgagtggttatgtcagaagccgtggtaaacccgcgtggattggggcgtt
+atcgcgaattgaagagacgctggcgggcgaagcggggacctgtatttcgctgtagtcgta
+ggcattagacatttgtgcctgatgcgacgcttgacgcgtcttatcaggcctacaaccggt
+gccgcatccggcaattggtgcacaatgcctgatgcgatgcttgacgcatcttatcaggcc
+tacaatgggtaccggatcggtaggccggataaggcgtttacgccgcatccggcaagaata
+gagcaccagttaaccgaacttactctgcgcccaaatcacgccgctggcatattccggcgg
+cagcagcgggattaaggcttccagcgtcgcagtcagacgcgatgtgtcgctgtcggtcaa
+attcagatgccccactttacgccccggacggacttctttgtcgtaccagtgcagatgcac
+cagcggcagtttcagccagtcataattcacatcgctaccaatcagattgatcatcaccga
+cggattattcaccactggttgcggtaacggcagatcggtaatcgcccgcagatgcagctc
+aaactggctgatgctggcaccgttttgtgtccagtgaccgctgttatgcacacgcggtgc
+cagttcgttgatcaacagaccttgcggggtgacaaaacactccatcgccatcacgcccac
+atagcccagctcctgcataatcgccgacagcatctcttcggcttgcgcctgctgctgtgc
+gttggcctgcggaaaagcgacgctggtgcgcaaaataccgtcctgatgcaggttatgcgt
+cagcggataaaacacggtgctgccatcaaagccgcgcgcgccaaccagcgacacttcacc
+agagaagttaatgccctgctcgacaatacattcgccgtaacactctgccggtaactgttc
+ggtttcatttgcgcgtaaacgccattgaccgcgaccgtcataaccaccagtgcgacgctt
+aacaatcgccagctcacctaaacgatcaaacaccgcaggccactcgctgcgttcggcaag
+taactgccacggtgcagtcggcaggtggagcttatcgaaaagctgcttctgagtcagacg
+gtcagcaataatcgggaacacatcgcggttcacaaaggccggatggcgcgccagctcgcg
+ggttaatgcggtttccggccagcgttctatctcagcggtaatcacgctttgttgaaaagg
+caccgccgccggttcagcgtccagcccgactggccagacagcaatgcctaacggttcgcc
+tgcctgacgcagcatacggcctaactgcccgttaccgaggacgcaaacctgtttcatgcc
+gcacctcgcgggtccgggttttccagcacttcgtcggtctgggctttgcgccagtcattc
+agacgctggtgcagttctttatcatgagtcgcaagaatttgtgctgccagtaacgccgcg
+tttgccgcgccagctttaccaatcgccagcgtacccaccggaatgccgcgcggcatttgt
+acgatggagtagaggctatcgacaccgctcagtgcggcgctctgtactggcacgcccagc
+accggcaccagcgttttggcggcaatcatgcctggcagatgcgctgcgccgcctgcgccc
+gcaataatcacctgataaccgttctcttcggcgctttcggcgaagctgaacagtttatcg
+ggggtgcggtgagcagaaaccacttcaacgtggtgcgggacattcaggatttcgaagatt
+tcggcggcgaactgcatggtagcccagtcgcttttggaccccatcacgatggcgacacgc
+gccggattattgcgggaagacatgcgtcttaaaactcctgtggtgcacaactctcggctt
+tagagggcacagagaatagcacggaaagagagcaaggaaaacggttgcgtggctgtgaaa
+tcagcaaagttgcgggttttttaaaacggaaaatgaatcagctcaacgtcatccgccgtg
+actttcaccattgaaccttccgtatgccaggcacccagtaccacgcgaaaagcaggttgc
+tgattggcgataagttcatgcaccgccgggcgatgggtatgcccgtggatcagccattgc
+acctgatgtttttccatcgcactgaccaccgcgttttggttaacgtccatgatcgccagc
+gatttactgctgttggcttctttgctgttcgcgcgcattcgcgcggcaatgcgtttgcgc
+acaaacaacggcagggcgaggaatagcgtctgcagccagggtttgtggaccttggcgcga
+aaagcctgataacccgcgtcatcggtgcacagcgtgtcgccatgcataatcaacacccgg
+cgaccataaagttcgagcaccttttcttccggcaataacgtcatgccactttcacgggca
+aagcgtttgccgagcagaaaatcacggttgccatgaatgaaataacagggaacgccggaa
+tcggacaccgctttgatcgccgccgccatcttgcgatggagtgggttgggatcgtcgtcg
+ccaatccatgcttcaaacagatcgccaagaatatacagcgcgtcggccttgcgggcttcc
+cccgctaaaaaacgcagaaaaccggcggtgatcgccggttcttccacgcagagatgaaga
+tctgcaataaagagtgtcgccacgattactcgctaacggtcacgctttcaatgataacgt
+cttcttttggcacgtcctggtgcataccgctacgaccggttgcaacacctttgattttgt
+ctaccacgtccatgccgtcaaccacttcagcaaacacgcagtagccccaaccttgcaggc
+tttcgccagagaagttcaggaagtcgttatcaaccacgttgatgaagaactgtgcagttg
+cagagtgcggagcctgagtacgtgccattgccagcgtaccacgggtatttttcaggccgt
+tgttggcttcgtttttgatcggttctttggtggctttttgtttcatgcccggttcaaaac
+cgccgccctgaatcataaagccgttgataacacggtggaaaatggtgttgttgtaaaaac
+cttcgcggcagtagtccaggaagtttttaactgtttcaggtgctttatcgtcaaaagttt
+tgatgacaatatcgccgtgattggtgtggaaagtaaccatttttgcatcctgttccgttt
+gattggtgcttcaacccagttcgggtcatatatagggtggtgttatagcataaccgcacg
+atcggatcatcacgcaatgtatgctgattcgcgcgggaaatatgggtattatacgcaact
+caattacccacacatgtctaaacggaatcttcgatgctaaaaatcttcaatactctgaca
+cgccaaaaagaggaatttaagcctattcacgccggggaagtcggcatgtacgtgtgtgga
+atcaccgtttacgatctctgtcatatcggtcacgggcgtacctttgttgcttttgacgtg
+gttgcgcgctatctgcgtttcctcggctataaactgaagtatgtgcgcaacattaccgat
+atcgacgacaaaatcatcaaacgcgccaatgaaaatggcgaaagctttgtggcgatggtg
+gatcgcatgatcgccgaaatgcacaaagattttgatgctttgaacattctgcgcccggat
+atggagccgcgcgcgacgcaccatatcgcagaaattattgaactcactgaacaactgatc
+gccaaaggtcacgcttatgtggcggacaacggcgacgtgatgttcgacgtcccgaccgat
+ccaacttatggcgtgctgtcgcgtcaggatctcgaccagctgcaggcaggcgcgcgcgtt
+gacgtggtcgacgacaaacgcaacccaatggacttcgttctgtggaagatgtcgaaagag
+ggcgaaccgagctggccgtctccgtggggcgcgggtcgtcctggctggcacattgaatgt
+tcggcaatgaactgcaagcagctgggtaaccactttgatatccacggcggcggttcagac
+ctgatgttcccgcaccacgaaaacgaaatcgcgcagtccacctgtgcccatgatggtcag
+tatgtgaactactggatgcactcggggatggtgatggttgaccgcgagaagatgtccaaa
+tcgctgggtaacttctttaccgtgcgcgatgtgctgaaatactacgacgcggaaaccgtg
+cgttacttcctgatgtcgggccactatcgcagccagttgaactacagcgaagagaacctg
+aagcaggcgcgtgcggcgctggagcgtctctacactgcgctgcgcggcacagataaaacc
+gttgcgcctgccggtggcgaagcgtttgaagcgcgctttattgaagcgatggacgacgat
+ttcaacaccccggaagcctattccgtactgtttgatatggcgcgtgaagtaaaccgtctg
+aaagcagaagatatggcagcggcgaatgcaatggcatctcacctgcgtaaactttccgct
+gtattgggcctgctggagcaagaaccggaagcgttcctgcaaagcggcgcgcaggcagac
+gacagcgaagtggctgagattgaagcgttaattcaacagcgtctggatgcccgtaaagcg
+aaagactgggcggcggcggatgcggcgcgtgatcgtcttaacgagatggggatcgtgctg
+gaagatggcccgcaagggaccacctggcgtcgtaagtaattgcgctattgccggatgcga
+gttttcgcatccggttatcgtctgcgccaccacaacattcccatcagtagcatccccggc
+aaccacacccacatcaattcagaaataatcacctgatgcccgtacggcgtggtgtaacga
+gacaatgcaaacggcgcgacttttatcacctgccagggagcgaaaaagcgttcatctgac
+cacggccacagccagccaacgcctttaccgccagtggttaccgaatccagcaagctgtgc
+gatagcaacgagacggttaaaaacagccagcagcgaatcagcccagccctgaaccatcgg
+cgtccaataaacacacataacagcgggacaacaaacgcaaacaccagcgaatgggtaaac
+ccgcgatgaccaaaaacattgccgtaagcaacgccaaatttaaacgacaatacgtcggcg
+tcgggcagcatcgccaggatgattccggcaaataacagacgcggagggatgactttcgaa
+cccaaccctaaaccaatgcataggggaacggcggcgtgcgtaataacggttggcatgatg
+gtcgcttcggcaaaatgtcgatgctatcagcatggatgaacggggcgtagagggcaaaag
+tctgaaaagagaaccggcctgttgatacaggccgggaaagggatcaggcaacaacctgta
+cgctgtgacctgcaaaactcactgtctgaccggcgacgattttgcagcgtttgcgcgttt
+caaccgcaccgtcgactttcacctggccttcggcaatcgcgattttcgcctgcgcgccgc
+tttcgctccagccttccagtttcagcaagtcgcacagctcaacgtgcggatgtttaccta
+aagaaaatgtcgccatgttactcatcctgtggatcatgatattcaacgcacgcctgtagc
+gtgttttcaatcagcgtggcaaccgtcatcgggccaacgccgccgggaacaggcgtaatg
+tatgaggcgcgtttagccgcgtcttcaaacacgacgtcgcccacaactttgccattttcc
+agacggttgatgccgacatcaatcacaattgcgccttctttgatccagtcaccgggaata
+aagcctggcttgccaacggcaacgatcaatagatcggcattttctacgtgatgacgcaga
+tttttagtgaagcggtgagtcactgtagtggtgcaacctgccagcagcagttccatgctc
+atcgggcggccaacgatattcgatgcgccaatcaccacggcgttgaggccgaaggtatca
+atgttgtaacgctcaagcagcgtgacgataccgcgcggggtgcagggacgcagacgcggc
+gcgcgctggcacagacgaccgacgttgtaaggatggaaaccgtccacgtctttgtccgga
+tgaatacgttccagcactttgacgttatcaatacccgccggtaacggcagttgaaccaga
+atgccatcgatggtgttgtcggcattcagcgtatcgataagctccagcagctccgcttcg
+ctggtggtttccgggaggtcataagagcgggagacgaacccgacttcttcacaagccttg
+cgtttgcttgcgacataaatttgcgatgcagggttactacccaccagcacaacggccagt
+cctggtgcccgcagtccggctgcaatacgcgcctgaactttttgagcaacttcagagcgc
+acctgctgcgcaatcgttttaccgtcaataatctttgctgccatcagagagaggattcca
+tctgttacgtagatcgaaggggatgcgcctattttgtcagaagcggggcgcgctgtcagg
+tttcgtttcagatttatcgcgtgaagcgacctcttgcgaaggtgaggcgcaccgtcgctg
+agactgaaagcttcatttttcgtccatgatggcgttgtaaatctggaactgatttatttc
+cttgtctaaggattaagataatttaagaaatacctgacaatataaaaagaattttcagcc
+tggtaatttaccgcttcaggtctatatttgtgttgaatatattttgcgcggaagtattca
+tctaacggggctctctattttttagaatagagtgcatattttcaattaagacattcttag
+aggataaaaaggaatttactactatcagtgtcttaaataaagtaatcggttatatacgga
+tgtggagtcgataaatgagattgaaggaatatatatgaaattaagatttatttcgtctgc
+gctggctgccgcactattcgccgctacgggtagttatgctgccgttgtagatggcggtac
+aattcactttgaaggcgaactggtgaatgctgcctgttcagtgaatactgactcggcaga
+ccaggttgtcacactcggtcaatatcgtaccgatattttcaatgctgttggtaatacctc
+tgcattaattccattcaccattcagttgaacgactgcgatcctgttgttgccgctaatgc
+tgccgttgcattttctggtcaggctgatgcaatcaatgataatttattggccattgcatc
+cagtaccaatacaacaacagcaacgggtgtcggtattgaaatacttgataatacatccgc
+aattctcaaacctgatgggaatagcttctcaaccaaccagaacttgatccccgggaccaa
+cgttcttcatttttctgcacgttataaaggcaccggtacaagtgcatcagcagggcaagc
+aaatgctgacgcgacttttattatgagatatgaataatcaaaaccacgttgttttgaatt
+atatatcacgtcttataacaaagtaatgtaccggttgtctgaagcggtatggtggcaatg
+taaatcgaaatcatgttcactttgtatcatgccgctttattaaatgaaaagggaatgatg
+tgttgtaagaaaccaaagcaatcatttctttatattccttatttttgccgtcaggaatac
+acaaggcgtattaactatgatgactaaaataaagttattgatgctcattatattttattt
+aatcatttcggccagcgcccatgctgccggagggatcgcattaggtgccacgcgtattat
+ttatcccgctgatgctaaacagactgcggtatggattagaaatagccataccaatgagcg
+ctttctggtcaattcgtggattgaaaacagcagcggtgtaaaagaaaagtcattcatcat
+tacaccgccactgtttgttagtgaacccaaaagcgaaaatactttgcgtattatttacac
+cggtccaccgctggcagcagatcgtgagtctctgttctggatgaatgttaagacgatccc
+ttcggtagataaaaatgcattgaacggcaggaatgttttgcaactggcgattttatcgcg
+catgaaattatttctccgtccaattcaattacaagaattacccgcagaagcgccggacac
+actcaagttttcgcgatccggtaactatatcaatgttcataatccatcacctttttatgt
+caccctggttaacttacaagtgggcagccaaaagttggggaatgctatggctgcacccag
+agttaattcacaaattcccttaccctcaggagtgcagggaaagctgaaatttcagaccgt
+taatgattatggttcagtaactccggtcagagaagtgaacttaaactaaccgaatcatct
+gacaatatcagagctaattatgaaaatacccactactacggatattccgcagaggtatac
+ctggtgtctggccggaatttgttattcatctcttgccattttaccctcctttttaagcta
+tgcggaaagttatttcaacccggcatttttattagagaatggcacatccgttgctgattt
+atcgcgctttgagagaggtaatcatcaacctgcgggcgtgtatcgggtggatctctggcg
+taatgatgagttcattggttcgcaggatatcgtatttgaatcgacaacagaaaatacagg
+tgataaatcaggtgggttaatgccctgttttaaccaggtacttcttgaacgaattggcct
+taatagcagtgcatttcccgagttagcccagcagcaaaacaataaatgcatcaatttact
+gaaagctgtacctgatgccacaattaactttgattttgcagcgatgcgcctgaacatcac
+tattcctcagatagcgttgttgagtagcgctcacggttacattccgcctgaagagtggga
+tgaaggtattcctgctttactcctgaattataatttcaccggtaacagaggtaatggtaa
+cgatagctatttttttagtgagctcagcgggattaatattggcccgtggcgtttacgcaa
+caatggttcctggaactattttcgcggaaatggatatcattcagaacagtggaataatat
+tggcacctgggtacagcgcgccattattccgctgaaaagtgaactggtaatgggagacgg
+caatacaggaagtgatattttcgatggcgttggatttcgtggtgtacggctttattcttc
+tgataatatgtatcctgatagccagcaagggtttgccccaacggtacgtgggattgcccg
+tacggcggcccagctaacgattcggcaaaatggttttattatctatcaaagctatgtttc
+ccccggcgcttttgaaattacagatttgcacccgacatcttcaaatggcgatctggacgt
+caccatcgacgagcgcgatggcaatcagcagaattacacaattccgtattcaacagtgcc
+aattttacaacgcgaagggcgtttcaaatttgacctgacggcgggcgattttcgtagcgg
+taatagtcagcaatcatcgcctttcttttttcagggtacggcactcggcggtttaccaca
+ggaatttactgcctacggcgggacgcaattatctgccaattacaccgcctttttattagg
+gctggggcgcaatctcgggaactggggcgcagtgtcgctggatgtaacgcatgcgcgcag
+tcagttagccgacgccagtcgtcatgagggggattctattcgcttcctctatgcgaaatc
+gatgaacaccttcggcaccaattttcagttaatgggttaccgctattcgacacaaggttt
+ttatacccttgatgatgttgcgtatcgtcgaatggaggggtacgaatatgattacgacgg
+tgagcatcgcgatgaaccgataatcgtgaattaccacaatttacgctttagccgtaaaga
+ccgtttgcagttaaatgtttcacaatcacttaatgactttggctcgctttatatttctgg
+tacccatcaaaaatactggaatacttcggattcagatacgtggtatcaggtggggtatac
+cagcagctgggttggcatcagttattcgctctcattttcgtggaatgaatctgtagggat
+ccccgataacgaacgtattgtcggacttaatgtttcagtgcctttcaatgttttgaccaa
+acgtcgctacacccgggaaaatgcgctcgaccgcgcttatgcctcctttaacgccaaccg
+taacagcaacgggcaaaatagctggctggcaggtgtaggtgggaccttactggaaggcca
+caacctgagttatcacgtaagccagggtgatacctcgaataatgggtacacgggcagcgc
+cacggcaaactggcaggccgcttacggtacgctggggggcgggtataactacgaccgcga
+tcaacatgacgttaactggcagctgtctggcggtgtggtcgggcatgaaaatggcataac
+gctgagccagcctttaggggataccaatgttttgattaaagcgcctggcgcaggcggtgt
+acgcattgaaaatcaaactggcattttaaccgactggcgcggctatgcggtgatgctgta
+tgccacggtttatcggtataaccgtatcgcgcttgataccaatacgatggggaattccat
+cgatgttgaaaaaaatattagcagcgttgtgccgacgcaaggcgcgttggttcgtgccaa
+ttttgatacccgcataggcgtgcgggcgctcattaccgttacccagggcggaaaaccggt
+gccgtttggatcactggtacgggaaaacagtaccggaataaccagtatggtgggtgatga
+cgggcaagtttatttaagtggtgcgccattgtctggtgaattactggttcagtggggaga
+cggcgcgaactcacgctgcattgcgcactatgtattgccgaagcaaagcttacagcaagc
+cgtcactgttatttcggcagtttgcacacatcctggctcataaaggaaattatcaataag
+ataatctgcagattattattggcgatggcatgtttgtgtctggcaaacatatcctgggct
+actgtttgtgcaaatagtactggcgtagcagaagatgaacactatgatctctcaaatatc
+tttaatagcaccaataaccagccagggcagattgttgttttaccggaaaaatccggctgg
+gtaggtgtctcagcaatttgtccacccggtacgctggtgaattatacataccgtagttat
+gtcaccaactttattgttcaggaaactatcgataattataaatatatgcaattacatgat
+tatctattaggtgcgatgagtctggttgatagtgtgatggatattcagttccccccgcaa
+aattatattcggatgggaacagatcctaacgtttcgcaaaaccttccattcggggtgatg
+gattctcgtttaatatttcgtttaaaggttattcgtccctttattaacatggtggagatc
+cccagacaggtgatgtttaccgtgtatgtgacatcaacgccttacgatccgttggttaca
+cctgtttataccattagttttggtggccgggttgaagtaccgcaaaactgcgaattaaat
+gccgggcagattgttgaatttgattttggtgatatcggcgcatcgttatttagtgcggca
+gggccgggtaatcgacctgctggtgtcatgccgcaaaccaagagcattgcggtcaaatgt
+acgaatgttgctgcgcaggcttatttaacaatgcgtctggaagccagtgccgtttctggt
+caggcgatggtgtcggacaatcaggatttaggttttattgtcgccgatcagaacgatacg
+ccgatcacgcctaacgatctcaatagcgttattcctttccgtctggatgcagctgcggca
+gccaatgtcacacttcgcgcctggcctatcagtattaccggtcaaaaaccgaccgaaggg
+ccgtttagcgcgctggggtatttacgcgtcgattatcaatgaggtacggagaatgagaag
+agtactctttagctgtttctgcgggctactgtggagttccagtggatgggcagttgaccc
+tttaggaacgattaatatcaatttgcacggtaacgttgttgatttctcctgtaccgtaaa
+cacagcggatattgataagacggtagatttaggcagatggcctacgacacaactactgaa
+cgctggcgataccacggcactcgtcccttttagcctgcggctggagggatgtcctccggg
+ttcagttgcgattttatttacgggaacgccggcatccgataccaacctgctggctctgga
+tgatcccgcaatggcacaaaccgtcgccatcgaattacgtaatagcgatcgctcccggct
+cgcactgggggaggcgagcccgactgaggaagtagatgcaaatggcaatgtcacactaaa
+cttttttgccaattatcgagcgttagccagcggtgttcggccaggtgtggcgaaagcgga
+tgcgatatttatgatcaattataattaatattatattaattcgtataatttggcgtagtc
+gataagctctacaattgaatgcaaacctagcttgccataaatattagatttatgcgcact
+aactgttttattgctaagtaataacttatcggcaatttctttattagataatccgctaac
+cagataacgtaatatggtcacttcacgattagatagcacagtgaccgttgaactattcgt
+actacatttattgctttttatatagttaagcgtttcgctgggaaaaaacgtgtatccgga
+gaggatcatctgaacggcatgaaaaatatcattctgatcattgcatttactgacaaaacc
+gttagcaccagcttgtatcgctctgccagcataaaagcattctgatttcgatgataaaaa
+taacactttcactgtgctctggatttgtttgatccttttcaggaaggtaaaaccgtctgt
+tccgggcaagtctatatccataatgattaaatcaacaggacgggttcggagataatcgat
+ggttatgcgataatcatccgttttcaggacaatctgcaattcactgtttttttgcaacag
+aacttcaatagacattctgatgataggatgagtatccataatgatcaccgacgttggttt
+catagttaccagtctcataggagcggacaattttccgttaggtcgggaaattgtactttg
+atacatgaaaatacgggttttcttgattcagacgcgcagcggtgtgcgtttgtttgccgc
+tatagcgaaataaatcagaaaatcagacgcggtcgttcacttgttcagcaaccagatcaa
+aagccattgactcagcaagggttgaccgtataattcacgcgattacaccgcattgcggta
+tcaacgcgcccttagctcagttggatagagcaacgaccttctaagtcgtgggccgcaggt
+tcgaatcctgcagggcgcgccattacaattcaatcagttacgccttctttatatcctcca
+taatttcagagtgggacatatttgggacattatcaccaaaaatgtcgtctattttcctcg
+catgctctgtcaaatgattaggcgcaaggtgagcatacctacgaaccatttctatggact
+cccatccgcccatttcctgaagcactgataatgggacgcctgactgaatcagccagcttg
+cccaggtgtgtctgaggtcatggaaacggaaatcttcaattcctgcacgacgacaagctg
+atagccatgatgtcttgctgtcgatgcgcatcttcctgaccgcaggcgttgatgttccat
+ctgctcgcttagccgccttggtatgtacaaacacccatttgtgatgcttgcctatttgat
+cacgcaacactttacaggcggtatcgttcagcgccacaccaatggcgcggtttgatttgc
+tctcttctggattcacccaggcaactcgtcgctgcatgtcgatttgttgccattccagat
+ttatgatgttcgactttctcagaccagttgccagcgcaaacttgacgacagatttcagtg
+gttcggggcactcatcaataaggcgttttgcttcctccttttccagccatctgactcgct
+tgtttctgaccgctggtatcttgatgacaggcgctttttccagccacttccagtcgcgtt
+ctgcagcacggagaatggcctttatcatggcaagatgctttgcctttgtctgagttgata
+ctggctttggttcataaacaggcagttctttacctttcctgatggcggcctgaactttct
+gtttccatatttctttcgtctttctgttatgcattctgcttacagcagagtaaatctttg
+cctccgagatatctttaagccttataccctcaaaatgttcaagccagaactcaatccggc
+ttttatctgaatcgagagattttttatcagctttttcctcaagccatcttaggcaggcct
+cttcaaaagtgacatcaggtaaatcccctagcttttctactcgccagagttctgcttttc
+gcttgtcgtgcaactcctgagcttgccgtttgtcctttgtgccaagagattccttaattc
+gtttcccgcccgggagcgaatacgaggcataccatatttcatttctgcggaagagtgaca
+ttttctttcctctgttatgccatcacccgcgctcacctggacagtatgcagcggagactg
+aagcgccgcaatgcaggcttgccgtgttgtgaggtacccggatattatcgtgaggatgcg
+tcatcgccattgctccccaaatacaaaaccaatttcagccagtgcctcgtccattttttc
+gatgaactccggcaccatctcgtcaaaactcgccatgtacttttcattccgctcaatcac
+gacataatgcaggccttcacgcttcatgcgcgggtcatagttggcaaagtaccaggcatc
+ttttcgcgtcacccacatgctgtactgcacctgggccatgtaagccgattttattgcctc
+gaaaccaccgagccggaatttcatgaaatcccgggaggtacgagtattgccggaagcgtg
+gcctgtatccggatgcagagtcttatccgtggaaatcgaacgcgcattactggttggtta
+ccaacttgtaccagaacatgcgggccaatgcgctggctgacgcggaattacggcgcaagg
+ctgccgatgaactgacctgtatgacagcgcgaattaaccgtggtgagacgatacctgaac
+cagtaaaacaacttcctgttatgggcggtagacctctaaatcgtgcacaggctctggcga
+agatcgcagaaattaaagctaagttcggactgaaaggagcaagtgtatgacgggcaaaga
+ggcaattattcattacctggggacgcataagagcttctgtgcacaggacgttgccgcggt
+aacaggcgcaaccgtaatctgatcttacccagcaatagtggacacgcggctaagtgagta
+aactctcagtcagaggtgactcacatgacaaaaacagtatcaaccagtaaaaaaccccgt
+aaacagcattcgcctgaatttcgcagtgaagccctgaagcttgctgaacgcatcggtgtt
+actgccgcagcccgtgaactcagcctgtatgaatcacaactctacaactggcgcagtaaa
+cagcaaaatcagcagacgtcttctgaacgtgaactggagatgtctaccgagattgcacgt
+ctcaaacgccagctggcagaacgggatgaagagctggctatcctccaaaaggccgcgaca
+tacttcgcgaagcgcctgaaatgaagtatgtctttattgaaaaacatcaggctgagttca
+gcatcaaagcaatgtgccgcgtgctccgggtggcccgcagcggctggtatacgtggtgtc
+agcggcggacaaggataagcacgcgtcagcagttccgccaacactgcgacagcgttgtcc
+tcgcggcttttacccggtcaaaacagcgttacggtgccccacgcctgacggatgaactgc
+gtgctcagggttacccctttaacgtaaaaaccgtggcggcaagcctgcgccgtcagggac
+tgagggcaaaggcctcccggaagttcagcccggtcagctaccgcgcacacggcctgcctg
+tgtcagaaaatctgttggagcaggatttttacgccagtggcccgaaccagaagtgggcag
+gagacatcacgtacttacgtacagatgaaggctggctgtatctggcagtggtcattgacc
+tgtggtcacgtgccgttattggctggtcaatgtcgccacgcatgacggcgcaactggcct
+gcgatgccctgcagatggcgctgtggcggcgtaagaggccccggaacgttatcgttcaca
+cggaccgtggaggccagtactgttcagcagattatcaggcgcaactgaagcggcataatc
+tgcgtggaagtatgagcgcaaaaggttgctgctacgataatgcctgcgtggaaagcttct
+ttcattcgctgaaagtggaatgtatccatggagaacactttatcagccgggaaataatgc
+gggcaacggtgtttaattatatcgaatgtgattacaatcggtggcggcggcacagttggt
+gtggcggcctcagtccggaacaatttgaaaacaagaacctcgcttaggcctgtgtccata
+ttacgtgggtaggatcaaccagcataaatcaggctgcggctaaaatggcgcgggcaggaa
+tcctggtcgttgatggtaaggtctggcgaacggtgtattaccggttcgctaccagagaag
+aatgggaaggaaaggtgagcacgaatctgatttttaaggagtgtcgccagagtgccgcga
+tgaaacgggtattgagggtatataaaagaacatcaatgggaacacaatgatgaaacaggt
+gagttgagttcaaactgtagtacaattctctccagtttgaacaggaaagaatatgctatg
+aacccttatatttatcttggtggtgcaatacttgcagaggtcattggtacaaccttaatg
+aagttttcagaaggttttacacggttatggccatctgttggtacaattatttgttattgt
+gcatcattctggttattagctcagacgctggcttatattcctacagggattgcttatgct
+atctggtcaggagtcggtattgtcctgattagcttactgtcatggggatttttcggccaa
+cggctggacctgccagccattataggcatgatgttgatttgtgccggtgtgttgattatt
+aatttattgtcacgaagcacaccacattaaaataatttgtttctaaacgactaaaatatg
+gaggctcttatatttatatgagcctcgttttatgctttttgttaatgtctttatttttta
+tgtattcttttgtgctttcaagattatggcgtaagaaaattgcaatacgattattgttgt
+atattcaagataatgtgaccttaattgtctttttaaataaaaaataaacaaaaattatat
+cccaccactaaggtttataaaagcatacgttagcaggtgtcaccatgaaaaaagccatag
+catatatgcgattttcatcaccaggtcagatgtctggcgactcattaaaccgacagagaa
+gacttattgctgaatggttaaaggtaaatagtgattattatcttgataccataacatatg
+aagatttaggattaagtgcattcaaaggaaagcatgcacaatcaggagctttttcggaat
+ttttagatgctatagagcatggttatatattgccaggaactacattgttagttgaaagtc
+tggacagactttcaagagaaaaagtcggtgaagcgattgaacgtctgaaattgattttga
+atcacggtattgatgttataactctttgcgacaatacagtctataatattgactctttga
+atgagccatattcattaataaaagccatacttatagcacaaagggcaaatgaagaaagcg
+agataaagtcaagtcgggttaaattatcatggaagaaaaaacggcaggatgcactggaat
+caggtacgattatgacggcgtcttgtccgagatggctctccttagatgacaaaagaacgg
+cttttgttccagaccccgacagggtgaaaactattgagctaatttttaaactcaggatgg
+aaaggcgctcattgaatgcaatagccaagtatttaaatgatcatgctgtaaagaatttct
+caggaaaagaaagtgcatggggaccttctgtaattgaaaaattattagcgaataaagctc
+tgataggtatttgcgtaccttcatatcgtgcaagagggaaagggataagtgaaatcgctg
+gctattatcccagagtcatatcagatgatttgttttacgctgtacaggaaattcggttgg
+caccttttggtattagcaatagtagcaagaatcctatgctaataaatctacttcgaacag
+ttatgaagtgtgaggcttgtggtaataccatgattgttcatgcggtatctggaagtttgc
+atggctattatgtttgtccgatgagaagattacatcgatgtgacaggccatcaataaaaa
+gagatttggttgattataatatcattaatgaattgctttttaattgtagcaaaattcaac
+cagttgaaaacaagaaagatgctaatgaaactttagagttaaaaattattgagcttcaga
+tgaaaattaataatttaatcgttgcattgtctgtcgcgcctgaagttaccgctatagcag
+agaaaataagactattagataaggaattacgaagggcttcggtatcattgaaaactttga
+agagtaaaggtgtaaattcattcagtgatttttatgctattgacttaaccagtaaaaatg
+gacgagagttatgccgtacacttgcctataaaacattcgaaaaaatcataattaatacgg
+ataataaaacctgtgatatctattttatgaatggcattgtttttaaacactatcctttaa
+tgaaagtaatatccgcccagcaggcgataagtgctctcaaatatatggttgatggtgaga
+tttatttctaaataatgatctcggattttaagttatgctatggtgataaagtgcaagaca
+gaattaattatctttgacgaaacttaatgggtaattactttgtttgctcccacaagcgag
+ttttgtacggctgtattggggtagtaaatgagctatacaatcttaatcatttgttaggtg
+agaactcttggtcgcagattcaaatactgaaaatacgtgacaaattattatgagcaaaat
+ggtgtatgtcacgtattttgaatggtaggttaaaaaataacaccgactttcgtaggtgtt
+actaataataaagcagagtttttagatagtatcaatgtgctttgtgtatattgtggcaaa
+taattgggttgggggtacaattgtgattgcttttgcatgaacattgcgcctttatgcata
+atgagataaaggaatatcaaataaaataacgataggtcataacaaagaggtttttatgaa
+aacacttatcgtttcaactgtattggcattcataacattttctgcgcaggctgcagcatt
+tcaggtcactagtaatgaaataaaaacaggagagcaacttacaacgtctcatgtcttttc
+tggatttgggtgtgaaggtggtaatacatcgccctcattaacctggtctggtgttcctga
+aggtaccaaaagctttgccgtaactgtatatgatccagatgcacctacaggcagtggttg
+gtggcattggactgttgttaatattccagcaacagtaacatatttgcccgttgatgcagg
+gagacgtgatggaacaaaactgccgactggtgctgttcaaggccgaaatgattttggcta
+tgctgggtttggtggcgcatgtcctcctaaaggagataaaccacatcattaccagtttaa
+agtatgggctctaaaaactgaaaagattcctgtagattctaactccagcggagcgttagt
+tggttatatgcttaatgctaataaaatcgcaaccgctgagataacaccagtttatgagat
+aaagtagggtgagagtatgctggcaagaggtaagactaacttaaagatcgaagaaatacg
+gatgcataaacatcatgagattcatagggttaagcctcttatgccagctttgtgtcgtat
+ccgtcagggaaagaaagttatcaattgggagacgcatactttaactgttgataataatca
+aataatattatttccttgtggttatgaattttatattgagaattatcctgaagcagggct
+ttatcttgcagaaatgctttacttacccattgatttaattgagagtttccaaaaacttta
+tacggtaactgatcaaatacgtaacaaaacaagtttctttttacctcagaatcctgagtt
+aatatattgttgggagcaactaaaaacatctgtttcccgaggcttctcaactaaaattca
+ggagcacttagcaatgggcgttctactttcgttaggagtgaatcatgttaatcatttact
+tttatcatatagtaaacaatcattgataagtcgttgttataacctgctgctatccgaacc
+cggcacaaaatggacagcaaacaaggttgctcgatatctctacatttctgtttctacatt
+acatcgccgtctagcaagcgagggggtaagtttccaaagtatactggacgatgtgaggtt
+aaataatgcgttgtctgctatacaaacgacggtaaaacctataagcgagattgccagaga
+aaatggttataagtgtccttctcgttttactgaaagatttcataatcgttttaatataac
+accaagagagataagaaaagcttccagagagtaaaagtgttttaagaaggagcaattcta
+tcgattttgattttgggaaatcaacacggcataattatgtcaccggagcctgaacaactc
+cggtgacttctgcgctaaacggggacgtttatgcgcacatacaatccaaactctcttctc
+ccttcacagatgcagaaatgcacctgcaattctttgcatctagcgtttgacctctgcgga
+ggggaagcgtgaacctctcacaagacggcatcaaattacatcgcggcaacttcaccgcta
+tcggtcggcagatccagccttatctggaggagggcaaatgctttcgcatggtgcttaaac
+cgtggcgtgagaaacgcagtctttcccagaatgcactcagccacatgtggtacagcgaaa
+tcagtgaatacctcatcagcaggggtaaaacgttcgccactccagcttgggtaaaagatg
+ctctcaaacacacatatctcggttatgaaaccaaagacctggttgatgtcgtaaccggtg
+atatcaccactatccagtcgttacgccatacctccgatcttgataccggagagatgtatg
+tcttcctgtgtaaggttgaagcctgggcgatgaatattggttgccacctgactattccac
+agagctgcgagttccagctgctgcgcgacaagcaggaggcgtaatggctacaccgcttat
+tcgtgtcatgaacggacacatctacagagtaccaaatcgtcgtaagcgtaaacctgagct
+gaagccatccgaaataccaacactgctcggatataccgccagcttggttgataaaaaatg
+gttgcgactggcagcaaggaggagtcatggctgatttgagaaaagcagcgcgtggtcggg
+aatgccaggtaagaatccctggcgtatgtaatggcaaccctgaaacgtctgtactggcac
+atatccggctgactggattgtgcggcaccggtacgaaaccgccagacctgattgccacca
+ttgcatgttctgcctgccacgacgaaatcgaccgccgcacgcattttgttgacgctggat
+atgcaaaagaatgcgcgctggaaggtatggcgagaacacaggttatctggctgaaagagg
+gggttattaaggcgtgaatacctacagcatcacattaccctggcctccgagcaataatcg
+ctattaccgccataatcgcgggcgcacgcacgtcagcgcagaggggcaggcataccgcga
+taacgtcgcccgaatcattaaaaacgcaatgctggatatcggcctggctatgcctgtgaa
+aatccgcattgagtgccacatgccggatcgccgtcgccgtgacctggataatctgcaaaa
+agccgcttttgacgcactcactaaagcaggtttctggctggatgatgctcaggtcgttga
+ttaccgcgttgtgaagatgcctgttaccaaaggtgggaggctggaactgaccatcaccga
+aatggggaatgaatgatgtttgagtttaatatggcagaacttcttcgccaccgctggggg
+cgtctgcgcttatatcgtttccccggttctgttttgaccgattaccgaatactgaagaat
+tacgccaaaaccctgacaggagcaggagtatgaagtcagagataacaatcaactaatact
+gttttgttgatttttgcttgtaattggcgttctggtctgatttttgtggagtaagttgat
+gcgtgatattcagatggttcttgagcgttggggagcgtgggcggctaataatcatgaaga
+tgtgacctggtcgtccattgccgccggttttaagggattaattacttcaaaagtaaaatc
+tcgcccgcaatgttgtgacgatgacgcgatgatcatttgcgggtgcatggcccgtctgaa
+aaagaacaacagcgatttgcacgatttattagtagattattatgtagtcggtatgacatt
+catgtcactggcaggtaagcattgctgctctgatggttatatcgggaaaaggttacagaa
+ggctgagggcataattgaagggatgttaatggcattagatatccggttagagatggatat
+cgttgttaataactctaattaatatgccaattgtttactaaaaattattaaaaatggggc
+gttgagacgcccccaaaaataaagggtaatatataacagaaggtttatatagttagaagc
+aaggttgtgcttctaaaggaagtggcttgagggagccacttatatgttggggaggcaacg
+cctcccgcaacatatctttttcgtaatcagattagaactggtaaaccagacctacagcaa
+cgatgtcatcagtgcttacaccgagtgctttagggaaggtgcgaataagcggggaaattc
+ttctcggctgactcagtcatttcatttcttcatgtttgagccgattttttctcccgtaaa
+tgccttgaatcagcctatttagaccgtttcttcgccatttaaggcgttatccccagtttt
+tagtgagatctctcccactgacgtatcatttggtccgcccgaaacaggttggccagcgtg
+aataacatcgccagttggttatcgtttttcagcaaccccttgtatctggctttcacgaag
+ccgaactgtcgcttgatgatgcgaaatgggtgctccaccctggcccggatgctggctttc
+atgtattcgatgttgatggccgttttgttcttgcgtggatgctgtttcaaggttcttacc
+ttgccggggcgctcggcgatcagccagtccacatccacctcggccagctcctcgcgctgt
+ggcgccccttggtagccggcatcggctgagacaaattgctcctctccatgcagcagatta
+cccagctgattgaggtcatgctcgttggccgcggtggtgaccaggctgtgggtcaggcca
+ctcttggcatcgacaccaatgtgggccttcatgccaaagtgccactgattgcctttcttg
+gtctgatgcatctccggatcgcgttgctgctctttgttcttggtcgagctgggtgcctca
+atgatggtggcatcgaccaaggtgccttgagtcatcatgacgcctgcttcggccagccag
+cgattgatggtcttgaacaattggcgggccagttgatgctgctccagcaggtggcggaaa
+ttcatgatggtggtgcggtccggcaaggcgctatccagggataaccgggcaaacagacgc
+atggaggcgatttcgtacagagcatcttccatcgcgccatcgctcaggttgtaccaatgc
+tgcatgcagtgaatgcgtagcatggtttccagcggataaggtcgccggccattaccagcc
+ttggggtaaaacggctcgatgacttccaccatgttttgccatggcagaatctgctccatg
+cgggacaagaaaatctcttttctggtctgacggcgcttactgctgaattcactgtcggcg
+aaggtaagttgatgactcatgatgaaccctgttctatggctccagatgacaaacatgatc
+tcatatcagggacttgttcgcaccttccttagtgaagtcatttttgtcaagcaggttgat
+tttgtaatcaacgaaagtagacatatttttgttgaagtaataggttgcacctacatcaac
+atatttgactaagtcctgatcgccccatactccaagatccttacctttagattgcaggta
+agcaacggacggacgcagaccgaaatcgaactgatattgtgcaacagcttcgaagttttg
+ggctttattagcaacgaagtgatcagcaaatacagtcatattctgggtttcagaataggt
+agtggccaggtaaatgttgttagcgtcatatttcagacctgcggcccaaacttctgcatt
+tttaccggaagcaaatacttcaggaagaactttccctgcattaacttgagtgtcggtacg
+atcagatttcgcataagttgcaccgataccgaatccttcgtattcataggtagcagagaa
+accgaagccatcaccgttaccttcagtgtagttatcgaaatcgctacgatcgtttttgcc
+ttggtactgagcagcaaagttcagaccatcaaccagaccaaagaagtcgttgttacgata
+ggttgcaacaccagttgcacgttgagtcatgaacacgtcggtttgagtccaagtgtcacc
+accgaattctggcaggacgtcagtccacgcaccgatgtcgtatgctacaccgtagttacg
+gccgtaatcgatggagccgtagtcaccgaatttcaggccagcgaaggcaagacgggtttt
+atctttggaggaaccttgagattcagcgcggttgcctttgaattcatattcccactgacc
+gaaaccagtcagttgatcgttgatttgggtttcacctttgaagccaagacgggcataagt
+agtatcaccatcatctgcatcattagaggagaagtagtgcttagcattaactttcccgta
+cagatccagcttgttactgtctttattataaatttcagctgcctgagcagacatcgccat
+tagtactgatgcagctacagcagaaattgccactgttaattttttcatcgtgagcccttt
+ttttgaactattattaaaaaatgatgtcactgcgcgataaatattcatctaatcaatgtg
+attatttcaagatgtaagttttggtttctcgtttgatttgtgaagtagatctctattttt
+atctgaacttttttctatcgaatcctattcatggctcttggctgaataaaaataaatcta
+ttagccaatttatattaacggctgttatttataagtgctctataatttgaaggttcaatt
+taaaccggctaaaaataacactggaaattattttttggttatttgttgagatttgcttat
+gtatttgtagtggtgttttcaatactcggtagcattctctcaaatatcatttagtggttt
+acgtacgtaaaaaattggttatgctgttaagagtggttacttcgtcacacagcttaaacc
+cgccgtcgagcgggtttttccattttttgagtctcgatattagctgataacccaatacct
+gagttattcactgactccgagtctgttacgtttcgtagtattccctcaatttacacccgc
+tttgtctgcgaggtggggttatgaaatccatggataagttaacaacgggtgtcgcctatg
+gcacctcagcaggtagtgccgggtactggtttttacagctgctagataaagtcactccct
+cacagtgggcagcaataggtgtgctgggtagcctggtatttggcctgctgacgtacctga
+caaacctttatttcaagattaaagaagataagcgcaaggctgcgagaggtgaataatgcc
+tccatcattacgaaaagccgttgctgctgctattggtggcggagcaattgctatagcatc
+agtgttaatcactggcccaagtggtaacgatggtctggaaggtgtcagctacataccata
+caaagatattgttggtgtatggactgtatgtcacggacacaccggaaaagacatcatgct
+cggtaaaacgtataccaaagcagaatgcaaagcactcttgaataaagaccttgccactgt
+cgccagacaaattaacccgtatatcaaagtcgatataccggaaacaacgcgcggcgctct
+ttactcattcgtttacaacgtgggtgctggcaattttagaacatcgacgcttcttcgcaa
+aataaaccagggcgatatcaaaggcgcatgtgatcagctgcgtcgctggacatacgctgg
+cggtaagcaatggaaaggcctgatgactcgtcgtgagattgagcgtgaagtctgtttgtg
+ggggcaacagtgagcagagtaaccgcgattatatccgctctgattatctgcatcatcgtc
+agcctgtcatgggcggtcaatcattaccgtgataacgcaatcgcctacaaagtccagcgc
+gacaaaaatgccagagaactgaagctagcgaacgcggcaattactgacatgcagatgcgt
+cagcgtgatgttgctgcgctcgatgcaaaatacacgaaggagttagctgatgcgaaagct
+gaaaatgatgctctgcgtgatgatgttgccgctggtcgtcgtcggttgcacatcaaagca
+gtctgtcagtcagtgcgtgaagccaccacggcctccggcgtggataatgcagcctccccc
+cgactggcagacaccgctgaacgggattatttcaccctcagagagaggctgatcactatg
+caaaaacaactggaaggaacccagaagtatattaatgagcagtgcagatagagctgacca
+tatcgatgggcaactcatgcaattattttgagcaatacacacgcgcttccagcggagtat
+aaatgcctaaagtaataaaaccgagcaatccatttacgaatgtttgctgggtttctgttt
+taacaacattttctgcgccgccacaaattttagctgcatcgacagttttcttctgcccaa
+ttccagaaacgaagaaatgatgggtgatggtttcctttggtgctactgctgtctgtttgt
+tttgaacagtaaatgtctgttgagcacatcctgtaataagcagggccagcgcagtagcga
+gtagcatttttttcatggtgttattcccgatgctttttgaagttcgcagaatcgtatgtg
+tagaaaattaaacaaaccctaaacaatgagttgaaatttcatattgttaatatttattaa
+tgtatgccaggtgcgatgaatcgtcattgtattcccggattaactatgtccacagccctg
+acggggaacttctctgcgggagtgtccgggaataattaaaaacgatgcacacagggttta
+gcgcgtacatgtattgtattatgccaacaccccggtgctgacacggaagaaaccggacgt
+tatgatttagcgtggaaagatttgtgtagtgttctgaatgctctcagtaaatagtaatga
+attatcaaaggtatagtaatatcttttatgttcgtggatatttgtaatccatcggaaaac
+tcctgctttagcaagattttccctgtattgctgaaatgtgatttctcttgatttcaacct
+atcataggacgtttctataagatgcgtatttcttgagaatttaacatttacaaccttttt
+aagtccttttattaacacggtgttatcgttttctaacacaatgtgaatattatctgtggc
+tagatagtaaatataatgtgagacattgtgacgttttagttcagaataaaacaattcaca
+gtttaaatcttttcgcacttgatcgaatatttctttaaaaatggcaacctgagccattgg
+taaaaccttccatgtgatacgagggcgcgtagtttgcattatcgtttttatcgcttcaat
+ctggtctgacctctttgtgttttgttgatgatttatgtcaaatattaggaatgttttcaa
+ttaatagtattggttgcgtaacaaagtgcggtcctgctggcattctggagggaaatacaa
+ccgacagatgtatgtaaggccaacgtgctcaaaccttcatacagaaagatttgaagtaat
+attttaaccgctagatgaagagcaagcgcatggagcgacaaaatgaataaagaacaatct
+gctgatgatccctccgtggatctgattcgtgtaaaaaatatgcttaatagcaccatttct
+atgagttaccctgatgttgtaattgcatgtatagaacataaggtgtctctggaagcattc
+agggcaattgaggcagcgttggtgaagcacgataataatatgaaggattattccctggtg
+gttgactgatcaccataactgctaatcattcaaactacttaacctgtgacagagccaaca
+cgcagtctgtcactgtcaggaaagtggtaaaactgcaactcaattactgcaatgccctcg
+taattaagtgaatttacaatatcgtcctgttcggagggaagaacgcgggatgttcattct
+tcatcacttttaattgatgtatatgctctcttttctgacgttagcctccgacggcaggct
+tcaatgacccaggctgagaaattcccggaccctttttgctcaagagcgatgttaatttgt
+tcaatcatttggttaggaaagcggatgttgcgggttgttgttctgcgggttctgttctta
+gttgacatgaggttgccccgtattcagtgtcgctgatttgtattgtctgaagttgttttt
+acgttaagttgatgcagatcaattaatacgatacctgcgtcataattgattatttgacgt
+ggtttgatggcgtagatgcacgttgtgacatgtagatgataattattatcattttgtggg
+tcctttccggcgatccgacaggttacggggcggcgacctcgcgggttttcgctatttatg
+aaaattttccggtttaaggtgtttccgttcttcttcgtcgtaacttaatgtatttattta
+aaataccccctgaaaagaaaggaaacgacaggtgctgaaagcgagctttttggcctctgt
+cgtttcctttctctgtttttgtccgtggaatgtgcaatggaagtcaacaaaaagcagctg
+gctgacattttcggtgcgagtatccgtaccattcagaactggcaggaacagggaatgccc
+gttctgcgaggcggtggcaagggtaatgaggtgctttatgactctgccgccgtcataaaa
+tggtatgccgaaagggatgctgaaattgagaacgaaaagctgcgccgggaggttgaagaa
+ctgctgcaggccagcgagacagatctccagccagggactattgagtacgaacgccatcga
+cttacgcgtgcgcaggccgatgcacaggagctgaaaaatgccagagactccgctgaagtg
+gtggaaaccgcattctgtactttcgtgctgtcgcggatcgcaggtgaaattgccagtatt
+ctcgacgggatccccctgtcggtgcagcggcgttttccggaactggaaaaccgacatgtt
+gatttcctgaaacgggatatcatcaaagccatgaacaaagcagccgcgctggatgaactg
+ataccggggttgctgagtgaatatatcgaacagtcaggttaacaggctgcggcattttgt
+ccgcgccgggcttcgctcactgttcaggccggagccacagaccgccgttgaatgggcgga
+tgctaattactatctcccgaaagaatccgcataccaggaagggcgctgggaaacactgcc
+ctttcagcgggccatcatgaatgcgatgggcagcgactacatccgtgaggtgaatgtggt
+gaagtctgcccgtgtcggttattccaaaatgctgctgggtgtttatgcctactttataga
+gcataagcagcgcaacacccttattccagctggcttcgtggctgttttcaacagtgatga
+gtcatcgtggcatctcgttgaagatcatcggggtaaaacggtttatgacgtagcgtcagg
+ggacgcgttatttatttctgaactcggtccgttaccggaaaatgttacctggttatcgcc
+ggaaggggagtttcagaagtggaacggtacagcctgggtgaaagatgcagaagcagaaaa
+actgttccggattcgggaggcggaagaaacaaaaaacagcctgatgcaggtagccagtga
+gcatattgcgccacttcaggatgctgtagatctggaaatcgcaacggaggaagaaacctc
+attgctggaagcctggaaaaaatatcgggtgttgctgaaccgtgttgatacatcaactgc
+acctgatattgagtggcctacgaaccctgtcagggagtaatcattgggattatgccgcag
+cacgtcttaagcaagaacatgctgcggttggatgctatttttttcctgaagcggaaaaca
+ttactacagtaccttgaaccttggttttaacattctcgaaatgctctgagagtatatgtg
+ttaagccttcttcggaatcttttgtgtttgaaaagatgcctttctgattgtaaatgcgca
+tcagtttttgaccgaagctattgtgcacaactccatcgccaagaattgtggctccgtata
+gagttccatcgtcagttaaggcctgcgccgcattgcgtattacacagctttttgtagata
+tatttccaggcaggcagtgaagaaggtaagacatggaaatggaatcaaattgaccatgta
+acgccgcgggataaggttcaaaaacatcatggctaattttatgtttaatttttgattccc
+cagcccttgtagatgccgcgttcaggctagcttcgttcaaatccattaaagatatcagac
+tactctcaggtacgtgagtaaggtaaaacccagttccaacaccaatatccagatggttgt
+tacctaaatgttccagaaagtgtggaagaaggtgttcctttgtaggacatccccatgcaa
+gccgatttgatactcccaaaacccaccagtcataaagctttagggtaagtggtgtgtaaa
+ttctagccccatcatctgtgtttttttattaatttcaccatgttatagttttatttgtga
+attaaatcaattatggcaatgaattacaaggggttaaatgctgccgcagcatagcgatat
+tgaaatagcctggtatgcttcaatacagcaggagccgaatggctggaagaccgtcaccac
+acagttctacatccaggaattcagtgagtatattgcgccactgcaggatgctgtagatct
+ggaaatcgcaacggaggaagaaagatcgttgctggaagcctgaaaaaagtatcgggtgct
+gctaaaccgtgtggacacttccgtagcaccagatatcgagtggcttattcaaccataata
+aacagtatgtatatcataggttattaattgtgagttttttcggtgtgttatttgtttgtt
+tgatgttatgcttttgcgccccaaaaggttgtttagatgtattttatcaattgattttca
+atatcgtttaataaagaaaaattaagcaagctggatgttggttttttgttaattgaatgg
+ttctaataatgtttttttactgttgttgaatgtgacttgataagaaatgcaagtaaaaat
+gatactctttttattttaaattcaaacggttgacatatatatagcaagaggtttcaggtg
+cgttgtagtgagtttatgttaataaaaagcatagtaagcgttgaaaaatgtaactttgaa
+ataagttagaataaaaaacaacatacatataataatttaatcttaaatgaaatttattaa
+aatttgcaaactataattttgtgtataaaaatataaatgcacatcatcctgattatgatt
+gtgtatttaattggttgttatttgactactatcaacttgttttaattttatgataggtgc
+aagatggattatgtttgctccgtagttttcatctgtcaatcatttgatttaattataaac
+aggagagttatctcgttcaaaaaaaattcattgtttattgtaagcgacaaaattagaagg
+gagttaccagtatgcccctctaaactaagaattgttgatatagataagaaaacatgttta
+tccttttttatcgacgtgaataatgagctgcctggcaaatttactcttgataagaatggc
+tatattgctgaagaggaacctccattatcgcttgttttttctctgtttgaagggattaaa
+atagcagactcacactccctttggttaaaagaaagactatgtatatccttacttgccatg
+ttcaaaaaacgcgaaagtgtaaattcatttatactaacaaatataaatacatttacctgt
+aaaattactggaataatcagttttaatattgagcggcaatggcatttaaaagatattgcg
+gaattgatttatacgagtgaaagtttaataaaaaaaagattaagggatgaaggaacgtca
+tttactgaaatattgagagatactaggatgaggtatgcaaaaaaactcataacttcaaac
+tcttattctatcaatgtcgtagcccagaaatgtggctataacagtacttcatatttcata
+tgtgcatttaaagattattatggtgtcacgccatctcattattttgagaaaataatcggc
+gtcacagatggaataaacaaaacaattgactgataatgtttattacaagttgtctacatg
+ttaattataatattatacagcgttttttttgatgtgatattctggaaccattaatttgta
+attgggttgctgtcgcctattttatacatactataattgatggttttctatgtgatttag
+ttaataaccttctgggtttattttaagggttaattgttacattgaaatggctagttattc
+cccggggcgattttcacctcggggaaattttagttggcgttcttaaaatgtgtacttaag
+accagcagtagtgatgaagttatagttttctatacctgctccatttttgctgtagtctga
+agtgttattattgtgatcataaagtgaagtattaccttttttattcgtaacccgattcca
+tgcgccttcaacataaacttttgcgttaggtgtgacgtaataacctgcattgactgcaac
+agaatagtaattttggtctttgaccttactgcgataagtgattctttttcccgggtcata
+gtgttcatcgttatcagatgattccacccagccgctgtatttaaatgtgccaccgagttc
+aaaatcttcataacgataacttccagtcaagccaatgtagggcattttaaaacgttgttt
+gtagccgattgctctttctccattcgggaaggagccgatatcatctctgaatccctcctc
+agaactgtagatataggaaccacctctggctgtaaagctataacggctttcctgatatcc
+ggccatgagtcccaggcggtaattgggttcgttgaggagccagcctttgatattcagatc
+aaattcgttggcataattgagttgtgtatcagggtgtctactttcatccgtccaggttcc
+ggggttactggaatccatccagtcctgatcgaccatattgccacctcggctgccgagagt
+tgtccagccagcagccccgatagatatctggggcatcaaatcccaattaattgcaccttt
+aataattgcagcgttattgaatttccagtcgagttgactgacttttcggcctccttcttc
+ggctagataaacacgctcttttgtttttccgctcagagttccaagactaatgtccgcatt
+tatgttgtcaggagtaaacgataaagtctcggtagaagcaaaagagctgatcgcaatagg
+ggttgtcaggactattcccagaagtttcgcccgcataaaagttctccattcaatcgtttt
+aatgattgaatatgtattttttatatctaacttaatgagtcaattacatattgctccact
+gtttatattttgtttagtattgaatgattatcacaatgcgctatctgtttttggtttaat
+tatctgttattgtttcatatttcggttttactgtgtggtttttttatgcttttgtggtgc
+ttttatctatttaagtgccatgcctttagaggcatataagcgaaaatagcatgaggttta
+tcctcaattactatgttttttagtacaaaaaagagggacaaaactgagacacataaggcc
+tcgcaatggcttgcaaggctttacatgttttgaggtagtgggacgtgtgagcgcagagat
+ggcgcggtaagttgttgacttaaaatgtcgttctaggaacttctaagtcgtgggccgcag
+gttcgaatcctgcagggcgcgccatttcttcctcatttatgcccgtcttatccgtttccg
+ctttgcccttcaccacatcactttttgtcgctgtttggcgagataattcaacggtgtcag
+gccgtaaaacgccttaaaaacagagataaagtacgacgtgctgctatagccacataattg
+cgccacctgagtgatatttttgttatccatcaataacatctgtacggcgtaacgcatacg
+acactctgtgacaatctggctatagctggtattttcgttttttaatttctttttgagcag
+gctggggcttaaacatagcgaactggcgacaattcgcagattccagtaatgctgaatatc
+gctttgaataatgcggcagacgctgtcgcggacgctgctgcgtaagatatacatcagtag
+ggcaataaaccgcgattgctcaagaaagttagacaatacggtaaaaagcaatgcgcgcgt
+caactccgcttcgcagggtctgctgggttgctgcttgctgtggttggcggctagccggaa
+cacttccggtgtacggctatgacaagcgataaccggggttgccagccgcgaccagggctt
+tacacaggttaagttcttatttaaaaacaacagataatcgttgatgatgttacggttgat
+gtgggtgattaatacgtgatttaacgttgagagttcaatgacgttattgttgcacgcgaa
+ggcggccaggtagtttttcggaagggtaaacgtagcatggttattgacgcttacctctac
+ctctttttcggtcaggatcaccacgcaaggttcactgctgctcaattgcatttcgcactc
+ctcagatatcagaaactccgctcaaaggatctatgcttcctgcatgagtgatcggcccgt
+tcgccgataacgatcttctttctttagcacgctttttagcaattaatcttgatggaattc
+tgatgagagcgaaagaggtaagccaggtcgtacccgacttacctggaggagatttaatac
+tcgagaatgccgtgcgcgacgggcaaatagcgcagagagaaatagagagtgtctttaccg
+caagaggaacgtttcgctaacagcgaggcaatttctgcgtccggtttcggtttcgctgta
+aaggttttgcctttgccggcgacaaaaagttcataaacaacgccgctggcaggggcggga
+ctttggcaatcggcgctggcctgtaaataacgttcacgctgttcagcggtcagtttatcc
+acgccgctgccatcctgtacccagacattaacgccggttgctttaacgtgttccagcagt
+tggcgatagccatcgggcgacatgtttccggcgaaaaaactactgatataaaccggtttt
+gctgaaacatcgctaatcagccgctgcgcgttgtttaaccatgttagcaaaggctgacgg
+gcggcttcgctgcgccagttcaggtcgtcaatttccgcgctgatgtaccagccatccggc
+gttatgccaggcgcggcgctccataatctggcttgctggagatcggcagccagcaggcga
+ttaagatagctttccagcgctgcggacgactgtttctggtgcataaaaaattccggatcg
+gcgttcagcccgacaataagcttcagaccagcctgttgcgcagctgcggcccgcttaaac
+aataacgtgcgctgttctggctgggtaaatgcatcgccgtaacgggtccattgcaaaaca
+agggtatcgaagccttgcaaacgtaactgactcatcagcccctgccactgggtatcggta
+acctgactatctcggttttgtggttgccagataatacctttcatcgcaaaggaaaaaggg
+ctgaccaaaagcagtgtcagcaatacgaaaatgaacttacgcatttaccagtgcactcca
+atggtgagaaacgcgttgttgcgctctccgttacgttgattaatcgccttaaaggtatgt
+tgatactcgacgccgagactgactttgtgcggccaggcgtcgtagtgcgtctcgccggtc
+cagatattccagcggaccccgactccgccaagctgcgcgccctgagtgcctttatcacga
+tagccgttgtcctgaacgtgagcgtaaggctcaatagtctgtccgttagctaccttctga
+tgccagctgacgcgataatctgccgtccacgcctgaatatcctggcggatatattgcgcc
+gcatcgaggtacaggttttgggcaaaccagcctgaaccgttcgggtgccattcgtcgctg
+tatttgccgccattaaagaatgaggcgctggcgcgcagcatggtatcggatgcgccattt
+tggccgttcagcggcaactgctgttcgacggcgatgaaaaagatctgatcgcgcagcggc
+ttccagcgcagaccggtgccggacatcggatttttcaccggcatcatcaccccgttttct
+ccggtatcggcaaagacgcggctataaactgagagcaggtcgccttccagcagcatattg
+cgtccgatgcggtactcggcttccagttgtccgtagctacgatagcttttccctggcgct
+gcgccgccgacattattgttagcggtactcattgcgccggaacgcaagccgatggaagaa
+tcgaaactgaacgtccagcggcgaccgacctcctcatgcaaacggcggaaattgaagcgt
+tgttgattttgttctggggtcagtggggttatcagcgcctgattatcaatgtcatcaatc
+accagccgggcgtagtgctgcgtcgcaggcatgtcatccagacgctggttcacgtaggcc
+agttgtcggatcagtgccggatcgtccggaagccctttatgcgccggttcgagcatttcc
+cgcgactgtgcgatatcaccgctatcccacaaggcgtaaccaagcgctgcctgggtgttg
+ctattattcggttccagttccagcgcggcgcgcaaatcactcaccgcggccgggacatta
+tgacgttggcgataaattgtcgcccgcgcaacgtaagcgttggcagaaggcgcaatattg
+attgagcgcgtgagatcgttcagtgcgagttccggctgaccaggaatgtaacgttgcgca
+tgcagccaccagtagagggcattgcttcccagtccacgtttttctgcctgttgtagccag
+cgatcgcgagccgcaccatttcctgccgcctgggcggtattggcagcagcaagcagatcc
+tcattgctcatgtcgtgaagactgattttctgccaggccgccagtgcggtggcgtagtcc
+tcaacctgatacgcctgataggctaccgcacgatgttgccaggcgctcggttgtcgttgt
+tcggcctgaagccatgcatacaacgccacaccgggtagcgtgtcccgataacactttgcc
+agacggttccaggcggcggcatcgtaggaaggcgacatatcgcccagcaagcgaactatt
+gccgggcaattatctgcaatacccggcaactgactttgccactgacgttgctccgccagc
+ggtaagggtttcgataaaatcgccaccttcgccggcgttgccaggtaaggatgactttcc
+agcagagacgccagtcgcgccattaaagtctggctgacacgcgcatcgccctggaaagga
+tagcgttgcagcaataaatcggcagcttcgcgtgactgctcgttctgcatcagttgccag
+gttagttgatccaggcgggtaagatttgccggttcttgctgatacagcaatcgtgccaga
+cgcagagcttcagccttgttacgggtcgccacgctgacagcataacgctcctcaagcatt
+tcattggcggggagggtggcgagcagtttttgcgctgcgtcgtactgaccttcttttaac
+agcaccggtagcgtcgcgccaacaacatactggcggttgtcggcaaactgtaccgtataa
+ttcgccaacgcctgaacggggttagcgctgtatttagataacagatagagccaacttttc
+tcttgtgcgtccgtggtaaatagtggcttattttcaatgagataatgctggaggcgtgct
+ttttcgccacgataagccagcgcggtcgcgtaagtaatatatgactgaggatcggtgaag
+atcccctgtgattgcagtgccaggatccgatcgtccagctgcccggcaagaagcacgtca
+aaccactgacggcgttctgccgcgcttaatgtgttctgctggcgtgcttcattgtatagc
+gtatctgcctgggaccattgtttcaggtagattgcccgttgcagcagatcggttcgcagc
+gtttttccttccggcgatgcagcaaacgtcgcatcgttcagttgcgctctggcgacaggt
+aactgtgccagccgcagggcattctgcccgacttcactgcgacaacgcagggtcggcgca
+gcatcgcacgctttttgctgggcaagcagttcttcaactgtcgtaacgcttttcacttca
+accggaatagccgccagactgcgctcaagtcgggcatctcctgggtgacgtttcagttga
+tcctcaagcaacagccgcgcccggtcatcatgaccaaaatggcgataggcttccgcaagg
+tataaagtcagcggaatattatccggcacctgctggtgtatatattcaaattcgcggatg
+gcggttgcttcgtcgttatttttctgtgccttcagcgctttatcgagacggggataaata
+acaaaatggcgataatcgctcagccccagctcttctgcgctggtgccgatattgtctgcg
+agtgcgctggtactcaataaagacgtcagcagtaaaccagaccatccgatgacgcgatta
+aggttattctccttcattttcggactccagttgcgcaacctgttctgtgtttaaacctgc
+tttgagtaatagtgattgcatcgaaacttgtaattcgcgttgaattgtcaggacgcgatc
+caacgtttcctggctgataacgccttcggtgaccaaaaacttgccgagcggcagagaact
+gcgttcatggcgcaataacaacacgttaattgctgaacgattaatatgaccgagcgtggt
+cagtatttcggcgaacaggaactgatgcggcacatattgccgccagatttcaccggcctg
+ctgttccgtgagccactgatgctgaaccgcattgtacaacattgcccgcggatcgtgacc
+gcgtcggcgtgcataccagtgacgtaaccctgtgacaatttgtccccgcagaacaatgac
+gtaacgcactttgcgtccgactttacgcgtcagggccgccagcgaaaccgggtcaatacc
+atcttcactgccgacaattaactcgtcattttccagacgcagcggcagtaccgcataatg
+cagcgccacggaggccggcatttcggcaatcagcgaggaagggatctgccaggcatcgat
+ggattcccacgccacgccgttttgctctgccagcgcctgtgccagctgctcggcgctaat
+cagcccctgcatcagcattgaaccgcccaggcgtagaccttcgacgcgattacgcagtgc
+tgtatcgagttgttcttcagtgatgacctgattttccagcagaatttgacctaacgggcg
+caacgagcgggtatcgccagtcacgctggggaagtcatgcgttgttttatcccacgccac
+gcgacgtggatcgccgtgttgaagtacctgttttagcgcgcgccagttggccatgaagtt
+aatcaggttgccccagaaaagacgcaggacggaaagcagcccctgcgtcaggccgtagta
+gccagtaacgaaaatcacccgctgcacgatgcggttaaccatcaaaccaaagtttagcca
+cagcagggtcattaaccatgcgctgccgctgaaaatagaaaggaaatgccaggcatcggg
+ccacaaactttcatacgccagcaacagcaaaagctggatcatcaccagcatcgcgaggaa
+gctgacaaagttactgattgcccctttgcggtcgcgccagagaaagtagttcagcgtcag
+gctggaggtccatttatgggttttaaagccttggaaaacaatgccgatgatccagcggga
+tttttgtcgaaccgcagtcgaaaaggtatcggggaaatattcgcgcacgcagatcatgtt
+tgatgtccgcgcgtgctgtaaaaatttacgctgctcgcgttctttggcttcgtccaccac
+cggaaaacggacaaaaatttccgtcatacctttttctttcaggcggaagccaatgtcgta
+atcttcagtaagactctgcacgtcgaaagcaataccgtcaccgtcagctaacagtgcggt
+cacggcgcggcggctgaaacaggtgccgacgcctgcgctgggcacttgtccggcgagggc
+ttcacgcaccggaacatctttgccatgcagctctgaaaactcatcaatgtaagtcatgct
+ggtgaagtgcgtccattcgcgttcgaacggatacaccgggatctgaatcagatctttacg
+ctcgaccagatagttgaacagacgcaattccatcggtgaaatcacatcttcggcgtcatg
+cagaataaaaccagcaaaagcgaaattggcgctacgctcaaattgggtgatggcgtccag
+cacgttgttcagacagtcggctttgctggtggggccaggacgcgcgcagactaccttatg
+cacattcgggaagcgagcgcacacttcgtcaacatcacgctgagtatcggggtcgttggg
+gtaggtgccaacaaagatatgatagttttcgtagtcgagcgtggtcgccgccagctcggc
+catattgccgatgacgcccgtttcattccacgccggaaccataatcgctaacggtttttc
+atctggtttatacagttcgcggtaactcattcgcgggtagcggcgataaacactcaactt
+gcgtttaatgcggcgtacccagtagacgacatcaataaaaaaatcgtccagcccgctgat
+gaacatgatgaccgctaacgttatcgcgattacttttaagccgtagagccaggtagcaaa
+aacatcaagaagccagtccacacaaaaaccttacattaacgctggttatgtttagggtgg
+cgtatattaaggttttttatgaattgtgacagctttttaccattaataggtatgactatt
+gcggcacgttatttttacactggttataaaagttgccgtttgctgaaggattaagcgggt
+aatgtgataacaaaccttgtcccccgcgcatccgacgttaccgcaaccgtgcctttatgc
+gcgacaacaatcgatttcactatcgccaggccaataccgctaccttcaccttttcgctgg
+cgggaggggtcaacgcgatagaaacggtcaaacaatcgcggtaagtgctcgggcgcaatg
+ggcgtaccggggttttcgacgataacttgcaccaggtgatcgaccgtctgacagcgcact
+acaattgtctctccggttggcgtataacgcagggcgttcgaaagcaggttgcttagcgcc
+cgacgcagcatcagcggatcgcccgcgacctgacacttgtcgccaacaaaccgcaactcc
+acgccgcgatcttccgctaacgcctcgaaaaaatcgaacactttgccgacttcatccgcc
+aggttgagcattttcttttcggggattagctggttgttatcggcctgagcgagaaacagc
+atatcgctgaccattttcgccattcgcgtcagctcttcgagattagagtagagcacatct
+tccagctccttctggctgcgcgactggctgagggcgatttcggtttgcgttatgagattc
+gtaattggtgtgcgaatttcgtgagcgatatccgctgagaaattggactggcgggtaaag
+acatcctcaatacgctcgatcatatggttgaacgacagtaccagctgttccagctcaatg
+ggcacggtctgcgggtcgaggcgaacgtcgagatctttcgaggtaatattctggatttga
+cggctgacgctgcggatcggcgcgtgacctttatgtaccgccaacagtacgataaagacg
+atcaggatgctgattaccgatgcggtcataataagtttattcatcaaatcatttatgtaa
+tgaagatgaaaatcgatcgaaagcgcgatgtagagcgtataaatcggtttgccgtccacc
+aacgggccaaccggcaagttaatcatccgccagttgctgtgttccatatgcccgtgaccg
+tggcctggcatcatcatcgtcgggccggaaaggagatacacctcgccaccctgagcgtct
+ttatcgggtatggcgtcacgcgtaaactcgcggatatccggcgcaccgggggagtgatac
+accgttttaccctgactatctgccagggaaatcaacacattggaataaccactgacgata
+tcttccagcgtcattaagcgtcgggcttgcgtttcgtcagggtgatttagtacccgttca
+agggtggcgctaatctcttttaaatcattaatatcctgctcggcaaaatgaacttttact
+gagtggatcatgatccatgcaaaggcgaaaaacgccgcgatggtggccaggctgataaaa
+aaggtcaggcgggttgccagcgaaaacgggcgctgaaatggcttactgaccatccggcac
+ctcaagcatgtaacccacgccgcgcacggtctgaattagcttcggctcaaagtcgttgtc
+gattttgccgcgcagccgcttcaccgccacatcaatagcattggtatcgctgtcaaaatt
+catgtcccatacctgcgaggcgataagcgagcggggcagcacttcgccctgatggcgaag
+gaagaactccagcagagtaaactctttactggtcaaagtgatgcgcgtgccgctgcgggt
+gactttgcggctgacgagatcgaccatcaaatcggcaacctgaaactgactttcgataat
+caccgccgccccgcgccgcagtaatgtgcgcacccgcgccagcagttcagcaaaagcgaa
+tggcttcaccaggtagtcatctgcccccaactccagccccttgacgcgatgttcaatggt
+gccaagcgcggtaagcaacagaatcggcatccctttattggcggagcgtaacatgcgcac
+gatatcccagccgttcacgtccggcagcataatatcgaggattatcagatcataatcacc
+ggtcatcgccagatggtagccattcagcccgttgtcggccaaatcgaccacaaaaccggc
+ttcggttaaccctttggtcaagtattctccggttttcttttcatcttcgacaatcaacag
+tttcatatttcctccgcatgttgcccgggcaattctagagtagcgggatcagatggcaat
+cgcttattggcaaaatgacaattttgtcatttttctgtcaccggaaaatcagagcctggc
+gagtaaagttggcggcataaaatcaccagaaattatgagcctatgtctccttgtaaactt
+ctgccattttgtgtggcccttgcgctaaccggttgttcactggcaccggattatcagcgt
+ccggcaatgcccgtgccgcagcagttctcactcagccagaacggcctggttaacgcagca
+gataactatcagaacgcgggctggcgcaccttttttgttgataatcaggtgaagacgctg
+attagcgaggcgctggtgaataatcgggatttgcgcatggcgacgctgaaagtgcaggag
+gcacgggcgcaatatcgtctgaccgatgccgaccgctacccacagctcaatggcgagggc
+agcggcagctggagcggtaatcttaaagggaataccgccacgacacgggagttttcgacc
+ggccttaacgccagctttgacctcgattttttcggtcgcttaaagaacatgagcgaagcc
+gagcgacaaaattatttagccactgaggaagctcagcgcgcggtgcatattctgctggtt
+tctaatgtcgcgcaaagctatttcaatcagcaactggcgtatgcgcaattgcaaatagcc
+gaagaaacgctgcgtaattatcagcagtcatatgcgtttgtcgaaaaacaactgttgaca
+ggtagcagtaatgttctggcgctggaacaggctcgcggggtgatagaaagtacccgcagc
+gacatcgctaaacgtcagggggaactggcgcaggcgaataatgcattgcaactgttgctg
+ggaagctacggcaagctgccgcaagcgcagacagtaaacagcgacagcctgcaaagcgtt
+aaattaccggcgggattgtcgtcgcaaatcttattgcagcgcccggatattatggaagct
+gaacacgcgttaatggcggctaatgccaatattggcgctgcacgcgcggcattttttccg
+tctataagcctgaccagcggaatatcgaccgccagtagcgatctatcgtcattatttaac
+gccagcagcgggatgtggaattttatacccaaaattgagatccccatttttaatgccgga
+cgcaaccaggccaatctggatatcgccgaaattcgccagcagcagtcggtggtgaattat
+gaacagaaaatccagaacgcctttaaagaagtggcagatgcgctggcattacgtcaaagc
+ctgaacgatcaaattagcgcccagcagcgttatctggcatcgctgcaaattactttgcaa
+cgggcgcgggcattatatcagcacggcgcagtaagttatctggaagtgctggatgccgag
+cgttctttatttgcaacccgacaaactttacttgatctgaattatgcccgtcaggttaac
+gaaatttctttgtataccgcacttggtggcggttgacagcaatatactcgtcatacttca
+agttgcatgtgctgcgtctgcgttcgctcaccccagtcacttacttatgtaagctcctgg
+ggattcactcgcttgtcgccttcctgcaactcgaattatttagagtatgacttttaactc
+caggagagaataaatgaaaaaagcactgcaagtcgcaatgttcagtctgtttaccgttat
+tggctttaatgcccaggctaacgaacatcatcatgaaaccatgagcgaagcacaaccaca
+ggttattagcgccactggcgtggtaaagggtatcgatctggaaagcaaaaaaatcaccat
+ccatcacgatccgattgctgccgtgaactggccggagatgaccatgcgctttaccatcac
+cccgcagacgaaaatgagtgaaattaaaaccggcgacaaagtggcgtttaattttgtcca
+gcagggcaacctttctttattacaggatattaaagtcagccagtaacccaggtttaatga
+gatgaaaaaaatcgcgcttattatcggcagcatgatcgcgggcggtattatttctgcggc
+aggttttacctgggttgcaaaggcggaaccgcctgcagaaaaaacgtcgaccgcagaacg
+taaaatcttattctggtacgacccaatgtatcccaatacgcggttcgataaaccaggtaa
+atcgccgtttatggatatggatctggtgccgaaatatgccgatgaagagagttctgcgtc
+tggtgtgcgcattgacccgactcagacgcagaatctgggggtgaaaacggctaccgtcac
+gcgcggaccgctgacttttgcccagagtttcccggcgaatgtcagttacaacgagtatca
+gtatgccattgtgcaggctcgcgctgccgggtttatcgacaaggtgtatccgcttaccgt
+gggcgataaagtacaaaagggcacaccgcttctcgacctgaccattcctgactgggtgga
+agcgcagagtgagtatttactgctgcgcgaaaccggcggtacggcgacccagactgaagg
+cattcttgagcggctgcgactggcgggaatgccggaggcggatattcgccgcctgatcgc
+cacgcaaaaaatccagactcgctttacgctcaaagcgcccattgatggcgtgatcaccgc
+gtttgatctgcgcgcgggaatgaatatcgccaaagataacgtggtagcgaaaattcaggg
+tatggacccggtgtgggtcactgctgcgatcccggagtctatcgcctggctggtgaaaga
+tgcctcgcagtttaccctcaccgttccggcgcgaccggataaaacactcaccatccgcaa
+atggacgctgctacctggcgtggatgccgcgacccgcacgctgcagctgcgtctggaagt
+cgacaacgccgacgaggcgctaaaaccgggcatgaacgcctggttgcaactcaacaccgc
+cagcgaaccgatgctgctcattccgtcacaagcgctgattgataccggcagcgaacagcg
+ggtgattaccgttgatgccgacgggcgctttgtaccgaaacgcgttgctgttttccaggc
+atcgcaaggcgtcaccgcattacgctctggtctggcggaaggtgaaaaggtggtttccag
+cggcctgttcctgattgattccgaagccaatatttctggcgcactggagcggatgcgctc
+tgaaagtgctacccatgcgcattgagggaataaccaatgattgaatggattattcgtcgc
+tcggtggcgaaccgttttttggtgctgatgggcgcgttgtttctgagcatctggggcacc
+tggaccatcattaatacgccagtggatgcgctgccggatctctccgatgtgcaggttatt
+attaaaaccagctatcccggtcaggcaccacaaatcgttgaaaatcaggtgacttatccg
+ctaaccaccaccatgttgtcggtgcctggcgcgaagactgtgcgcggtttctcacagttt
+ggcgactcttatgtgtatgtcattttcgaagatggcaccgatccgtactgggcgcgttcg
+cgggtgctggagtacctcaaccaggtacagggtaagctgcctgcgggagtcagcgccgag
+ctggggccagatgccacgggtgttggctggatctatgaatatgcactggtggatcgcagc
+ggtaagcacgatctggccgatttacgctcattacaggactggtttctcaaatatgagctg
+aaaaccatccctgacgttgcggaagtggcgtcggtgggcggtgtggtgaaagagtatcag
+gtggttatcgatccccagcgcctggcgcagtatggcatcagtctcgccgaagtaaaaagc
+gcgctggatgcttcaaaccaggaagcgggcggttcgtcgatcgaactggcggaagcggaa
+tatatggtgcgcgccagcggctatctgcaaacgctcgacgactttaatcacatcgtttta
+aaagccagtgaaaatggcgtgcccgtttatctgcgcgatgttgcgaaggtccagattggc
+ccggagatgcgccggggcattgccgaactaaacggcgaaggcgaagtggcgggcggggtg
+gtgatcctgcgatccggcaaaaacgcccgagaagtgatcgccgccgtgaaggacaaactg
+gaaacgctgaaaagtagtctgccggaaggcgtggagatagttacaacatacgatcgcagc
+cagctcattgaccgcgccatcgacaacctcagcggcaagttgctggaagagtttattgtg
+gtggcggtagtctgtgcgctgtttctctggcatgtgcgctcggcgctggtggcgattatt
+tcgttgccgctggggttgtgtattgcttttattgtcatgcacttccagggactgaatgcc
+aatattatgtcgttgggtggcattgcgattgccgtcggggcgatggtcgatgctgctatc
+gtcatgatcgagaatgcgcataaacggctggaagagtggcagcaccagcatcctgacgcc
+acgctggataataaaacgcgctggcaggtgatcaccgatgcgtctgttgaagtggggccg
+gcgctatttatcagtctgctgattatcacgttgtcgtttatcccgatcttcaccctggaa
+gggcaggaagggcgtctgtttggcccgttggcgttcaccaaaacgtatgcgatggcgggt
+gcggcgctgctggcgatcgtagtgatcccgatcctgatgggctactggatccgtggcaaa
+attccgccggaaagcagtaacccgctcaatcgctttttgattcgtgtttatcatccgctg
+ttgctgaaagtactgcactggccgaaaaccacgctgctggtggcggcgctttcggtgctg
+acggttctctggccgctcaataaagttggcggggaatttttaccgcagatcaatgaaggc
+gacttgttgtatatgccatcgacgctgccggggatttccgcagcagaggcggcgagtatg
+ctgcaaaaaaccgacaagctaattatgagcgtacctgaagtggcgcgggtatttggcaaa
+accgggaaagcggaaaccgccaccgattctgctccgctggagatggtagaaacgaccatc
+cagcttaagccgcaggagcagtggcggccaggcatgacgatggacaaaatcattgaggaa
+ctggataacaccgtgcggctgccggggctggcgaatctgtgggtgccgccaattcgtaac
+cgtatcgatatgctctcaaccggcattaaaagccccatcggcattaaagtttccggcact
+gtgctggcggatatcgacgcgatggctgagcaaattgaagaagtagcgcgaacggtgcca
+ggcgtagcttctgcgcttgccgagcggctggaaggtgggcgctatatcaacgttgagatt
+aaccgtgaaaaagccgcacgttacggtatgacggtggcggatgtgcagttgtttgtgact
+tctgcggtgggcggggcgatggttggcgaaacggtggaagggattgcccgttatccaatt
+aatctgcgttatccgcaaagctggcgcgatagtccgcaggcactgcgccagctgccgatc
+ctgacgccgatgaagcagcaaatcaccctggcagacgtggccgacattaaagtctctacc
+ggaccgtcgatgctgaaaaccgagaatgcgcgcccgacgagctggatttatatcgatgcc
+cgcgatcgtgacatggtgtcggtggttcacgatttgcaaaaagcgatagctgaaaaagtg
+cagttaaaaccgggcaccagcgtggcattctccgggcagttcgagctactggagcgcgcc
+aaccataagcttaaactcatggtgccgatgacgttgatgattatcttcgtgctgttgtat
+ctggcgttccgtcgggtgggcgaagcgttgctgattatcagcagcgtaccgtttgcgctg
+gtgggcggcatctggttgctgtggtggatgggctttcatctttccgtggcgacgggcact
+ggctttatcgccctcgccggggtcgccgccgaatttggcgtggtgatgctgatgtattta
+cgtcacgccatagaggccgtgccgtcgttgaataatccacaaacattcagcgagcagaag
+ctggatgaggcgttatatcacggcgcggtcctgcgcgtgcgcccgaaagcgatgacggtg
+gcggtgattatcgccggtctgctgccgattctgtggggaacgggggctggttcagaggtg
+atgagccggattgccgcgccgatgattggcggcatgatcaccgcacctttgctgtcgctg
+tttattatcccggcggcgtataagctgatgtggctgcaccgacatcgggtacggaaataa
+aagcaggataccccgtttaaccgtgtggattgtgtcttgcgacgatgggcactaaatgtt
+aaaaggtgcccctcaacaaaaaagacacacaggggaaaggcgtgaaaaacgcgtcaaccg
+tatcggaagatactgcgtcgaatcaagagccgacgcttcatcgcggattacataaccgtc
+atattcaactgattgcgttgggtggcgcaattggtactggtctgtttcttggcattggcc
+cggcgattcagatggcgggtccggctgtattgctgggctacggcgtcgccgggatcatcg
+ctttcctgattatgcgccagcttggcgaaatggtggttgaggagccggtatccggttcat
+ttgcccactttgcctataaatactggggaccgtttgcgggcttcctctctggctggaact
+actgggtaatgttcgtgctggtgggaatggcagagctgaccgctgcgggcatctatatgc
+agtactggttcccggatgttccaacgtggatttgggctgccgccttctttattatcatca
+acgccgttaacctggtgaacgtgcgcttatatggcgaaaccgagttctggtttgcgttga
+ttaaagtgctggcaatcatcggtatgatcggctttggcctgtggctgctgttttctggtc
+acggcggcgagaaagccagtatcgacaacctctggcgctacggtggtttcttcgccaccg
+gctggaatgggctgattttgtcgctggcggtaattatgttctccttcggcggtctggagc
+tgattgggattactgccgctgaagcgcgcgatccggaaaaaagcattccaaaagcggtaa
+atcaggtggtgtatcgcatcctgctgttttacatcggttcactggtggttttactggcgc
+tctatccgtgggtggaagtgaaatccaacagtagcccgtttgtgatgattttccataatc
+tcgacagcaacgtggtagcttctgcgctgaacttcgtcattctggtagcatcgctgtcag
+tgtataacagcggggtttactctaacagccgcatgctgtttggcctttctgtgcagggta
+atgcgccgaagtttttgactcgcgtcagccgtcgcggtgtgccgattaactcgctgatgc
+tttccggagcgatcacttcgctggtggtgttaatcaactatctgctgccgcaaaaagcgt
+ttggtctgctgatggcgctggtggtagcaacgctgctgttgaactggattatgatctgtc
+tggcgcatctgcgttttcgtgcagcgatgcgacgtcaggggcgtgaaacacagtttaagg
+cgctgctctatccgttcggcaactatctctgcattgccttcctcggcatgattttgctgc
+tgatgtgcacgatggatgatatgcgcttgtcagcgatcctgctgccggtgtggattgtat
+tcctgtttatggcatttaaaacgctgcgtcggaaataaggcattcacgctacatccgaca
+aaacgatgtcaaccatccgaaaccgctctcatccattcgatgagagcggtttttttaatt
+actgcttaaatgcacccgccagagagcgaatatcattgccggttggcgactgatgaagtc
+gcagaccaaactcttcgacaatcgcaaatatgtgatcgaatatatcagcctgaatgcttt
+catattccagccacaccacggtgttagtaaacgcgtagatctcgagcggtaaaccgttat
+cacctggagccagttggcgtaccattaaggtcatatctttacgaatccgcggatggttac
+gcagatattcgttcagataggcacgaaaggttccaatattggtcattcggcgcagattta
+ataccgactccgtagaaccttgctggcgattccactcattaatttcctgatggcggctgg
+ttaaataaggctttaacaaatgcgctttattcagacgttgcatttcgtcttcatcaagaa
+aacgaatactggtgacatcaatactgatactgcgcttaatacgtcgcccgccagatgctg
+acatcccgctccagtttttaaaggagtcagaaaccagagaccaggtgggaatagtggtaa
+tggtattgtcccagttacgcactttgacggtggttaacccaatatcgatcaccgcgccat
+ccgcgccgtatttcggcatctccagccagtcgcccagtttcagcatatcgttcgcggaaa
+gctgaatacctgccaccagaccaagaatcggatctttaaataccaacatcagcacggcag
+ccattgcaccaagaccgctgatcagaatcgctggcgactgaccaatcagcagcgagatca
+tcaaaatgccgaccagaatcgcgccgatcagtttaatcccctgaaatatccctttcagcg
+gtaactgagatgctgccgggaatttctgcgccagattcaaaataacatccagcaacgaga
+agactgaaagcagcgcatacatcatgatccacaactgcgcgcaggtagtcagaatatctg
+ccgcttcggtgcctttttgcagccagaataccgcctgaatattgacgataatcccctgca
+gggtaaaagctaaacggtggaagagtttattctgggtaatgatttgcaaccaaagccgtg
+aactggcgatggcacgtttttcgaaggtccgcagtaccacccaatgcaaaataatatgca
+ccacgacggcggtcagaaaaataataccgaaaatcatcaccatcgaggtggtgtgatcga
+tctcaatacccgctaaatcttcaacctgggatattaaatcctgcataacgtctcctttat
+acaacagcagcctatgatgacggctgaaacagggttatgcaaatcaggagaatctgagag
+gaaatagccgggcagatgcccggcaagagagaattacacttcggttaaggtgatgttttg
+cggcagacgagatttcggcagcgtagcgttaaaatcttcaacgctgtgatgacctaccgg
+aacaaccaccagactggtgtagcctttctctttcagaccaaattctgcatcgaggatggc
+ggcgtcaaaaccttcgatgggtaccgcgtccagacccagagccgccacgccgagcaggaa
+gttaccgacgttgagataaacctgttttgccatccactctgcatcatcatgcagatcttt
+acggtgcatatcagcgaagaacttgcgacctttatcgttcgcggctttcgcttccggcgt
+ggcaaagcggccatcggcatcttcctggtcaacaaccagcttcagccagacatcgtccat
+cgcggtttttgcacagaacaccacgacgtgcgaggcatcaagcattttacgctcgttgaa
+cacgtaattaccggcagcggatttggcaacacgcgctttaccttcttccgtgctggcaac
+aataaaatgccacggctgggagttggtgctggatgggctgtattgcagtagcgttttgat
+ctgctcggcctgttccggggtaagttttttgctggcatcaaatgccttagtggaatgacg
+ctttaaggcgacagaaatgatatccataaagactccatgtgaaagtaattttgcgtgcca
+gcagattacaaggttcaacgagaaatggtaagcgagaaaaatgcgctatagatttccgct
+ttagcctggacgcactcttttttgatcgcgtttagccagaccatcaaccaccagattcca
+cgaatcgttgatcagatcgcgaagtaacgcttcggagatttcttcgccgggatacactga
+aatccagtgctttttattcatgtgataccctggcttaatgcttgggtatatttgctgatt
+taacagggatttttgtggatcggacttcagattgataaaggggacgccgcgtagctccga
+cgacagcataaaaatcttgccgccaattttaaaaacatcgaactccgggccaaaaggcca
+gcaaagctcgacaaagggtaactcaagggccaggcgtttcgccgtttcgtgcagtgattg
+cttatccataaacgttcctttaggcgaaggagaataagcaaagtatgccgcgaagtacgg
+cgataatcgacgtttaatccgccagcgagaaccagcgtcgccagataaagcgcagaacaa
+aatactcaatagcgcccagcactaaaaaccacagacaaaacaataaagtgtaaagctgac
+taagatccatcagatggaacatggtcaccagtttttgtgccagcgccagccccagtgcgg
+gggcgggcagcagcaggcaagagaggaaagccatcagcaaaatgcctgctgcggtggtca
+aggtttctaaagggtgtttcataacattgttaaatgtaagttaaaacaccattgtcaggg
+atattcttctgtaaggcaattcccggcttagtcaccggcccagatctcacaatgcttttt
+caccagcccaatcagcgagccgccatcggcgacgaaatcgcgcattagctgcgcttcatt
+cagaccgctgacgacctggcgatgcagggcctcaatcgcgctcgatgcaccaattttatg
+tgcggaaggggcgattttttccagcaatcgcaaggtatcttccgttagcggtcgacgatc
+tccagtgtgcggatcggtgatgacgccttcaagcccatagcgacaggcctggaaacggtt
+gaatttatacagcaggtaatctttttcctgatgtttaaacgggcgttccgtcagtaacca
+gtgggcggtagcctgaattaatcccgccatatttactgcgtggctaagggttaacggggt
+atccatcacccgaacctccaccgtgccaaaatgaggactggggcgaatatcccagtgcag
+atctttaatgctgtcgatcatcgtggtgtaactcagacagcgaaacagggcttcaaattg
+ttgccagttactgacccacggcatcgggccattatcaggaaaggcggaaaaaatattcgg
+tcgtgaggaggcaaaacgcgtatccgttccctgcatatatggcgacgcggcggaaagggc
+gataaagtgcggcacaaatcgtgacaagccgtgcagcaaataaatggcgtcatcgccact
+ggcgcagccaacatggacatgctgaccaaaaacggtcgcctgctgaatgagataaccaaa
+gttttccagcgtgcgttgatagcgttcgttatcgcatacctcctgacgctgccatttctg
+aaacgggtgcgtgccaccgccgcaaatttccagatgatggtctgtggctgcctgcaatac
+gactttctgcatcgctgaaaactgcccggcagcctggttgatatcacggcaaacatccgt
+cgccagctccagcatactttcggtgatatcgtgctttacctctccggccgtgatcttatt
+tttaaccgcgtcaatcagcattgaagagtcctggcttaagtcatagcccggcggattaac
+cacctgcatttccagttcaataccgagggtaaaaggttcagaaacatgaaaatcgggtaa
+tggcataggtttctcttatgttggcgttttctattcagtatagaagtcggagcggctggg
+cgagatgcggaagttctggaatgtttcttttttttggtgatggtgaactgatggtgcctg
+aagcaatttggctacttttgcaatgtgacaagttatggcagtgctgactggtggcgaaga
+attttgacgattgagtcatgcagaaaaaaacgggttcagcttcagttgattaaatgagga
+gtgagaagtccgaaacaggactcactgtataaataaacagctattttgttgaggaagggt
+aagataacggcgggtgcctgaagctttccggtttcaggtttactctgaggtctggaaaga
+tgaagccccaggagatatttctatcaaccctggggctgccactccaaacccgaacaattt
+ggatggtagtcccttcttcgcatggaggcaatataaacatgctgacgaaatatgcccttg
+cggcagtcatagtgctgtgtttaacggtgctgggatttacgcttctggtcggagactcgc
+tgtgtgagtttacggtgaaggaacgtaatattgagtttaaggctgttctcgcttacgaac
+cgaagaagtagccgttgtgcggggagtaatcccataagcgctaacttaagggttgtggta
+ttacgcctgatatgatttaacgtgccgatgaattactctcacgataactggtcagcaatt
+ctggcccatattggtaagcccgaagaactggatacttcggcacgtaatgccggggctcta
+acccgccgccgcgaaattcgtgatgctgcaactctgctacgtctggggctggcttacggc
+cccggggggatgtcattacgtgaagtcactgcatgggctcagctccatgacgttgcaaca
+ttatctgacgtggctctcctgaagcggctgcggaatgccgccgactggtttggcatactt
+gccgcacaaacacttgctgtacgcgccgcagttacgggttgtacaagcggaaagagattg
+cgtcttgtcgatggaacagcaatcagtgcgcccgggggcggcagcgctgaatggcgacta
+catatgggatatgatcctcatacctgtcagttcactgattttgagctaaccgacagcaga
+gacgctgaacggctggaccgatttgcgcaaacggcagacgagatacgcattgctgaccgg
+ggattcggttcgcgtcccgaatgtatccgctcacttgcttttggagaagctgattatatc
+gtccgggttcactggcgaggattgcgctggttaactgcagaaggaatgcgctttgacatg
+atgggttttctgcgcgggctggattgcggtaagaacggtgaaaccactgtaatgataggc
+aattcaggtaataaaaaagccggagctccctttccggcacgtctcattgccgtatcactt
+cctcccgaaaaagcattaatcagtaaaacccgactgctcagcgagaatcgtcgaaaagga
+cgagtagttcaggcggaaacgctggaagcagcgggccatgtgctattgctaacatcatta
+ccggaagatgaatattcagcagagcaagtggctgattgttaccgtctgcgatggcaaatt
+gaactggcttttaagcggctcaaaagtttgctgcacctggatgctttgcgtgcaaaggaa
+cctgaactcgcgaaagcgtggatatttgctaatctactcgccgcatttttaattgacgac
+ataatccagccatcgctggatttcccccccagaagtgccggatccgaaaagaagaactaa
+ctcgttgtggagaataacaaaaatggtcatctggagcttacaggtggccattcgtgggac
+agtatccctgacagcctacaaaacgcaattgaagaacgcgaggcatcgtcttaacgaggc
+accgaggcgtcgcattcttcagatggttcaacccttaagttagcgcttatgggagtaatc
+cccgcatatccggttgtcaggtcaggatggtaaggcacctgctttacactttcgcccgtg
+gtcagtgatggctgcgggcgaatcgtaccagatgttgtcaattaatcgtgttggcacagc
+gttatgactatcttttcttttatctgccagtgcacagcaaacatctcattctcacgatga
+atgatgacctgctgtttattccagctaattatctgatagtccagaaaacctgcatcagtt
+tggatctcacttgccttaaatgcgctctctttggcggaaaatgccagtgtcagcgccaga
+gaaaaggctaaaccgcagtctgcgagtcgctcgtgttccgctggtgtaataatgttgtct
+gtcaattctcttgcggtttgtacagaaaaaatttcttctatatcaatgccaatcggttga
+cgagataccacggctaatgccgtagtcccacagtggctaatactgccgtatacctccgca
+ggccagacaggttggcgtagctcgccgattgcgggcacacatttatagccatattcccgc
+aaagcataaacagcagcgatccgtccggctaaatgctctgttttacgtttacgtccagcg
+tgttgcagttgtgcgtagtgcggcagccagagtaaatcctgctcacaaaaattcgccgga
+tcgaactcaacaaaatgcagcgtatgtccggcaaaggggagggaggtatgcgtagttttc
+atatcgaccatattcgagactgatgacaaacgcaaaactgcctgatgcgctacgcttatc
+aggcctacatggtcctgcaatatattgaattggcaagatttttgtaggccggataaggcg
+ttcacgccgcatccggcatgaacgacgcgcactttgtcaacaatctgacgttagcatcag
+aagtgggtgtttacgctcatataccacgtacgtcccggctcgttataggtatacgccccg
+gcaccggcgatatagttggcccctgccaaatcgcccgtggtctgggcattacccgcacgc
+cacaaacgtttgtcgaacagattgtccacgccgccggtcagactgacattcttcgtcaca
+tcccaggtcgcgctcaggccaacaatgctgtaaggactaatttctttggtttccggtcca
+accgctggctgacctttatagttgtacttcttcggctgctgcttgccgtaccaggtgaag
+gtcgtttgcatcgacaaatcttcccgtgcctgccagctcagcgttgagttcaacgtatac
+tccgggatgatcgacaaacggtcgcccgtggttttgttttcactcttcagcatataagtg
+atgttattggtccacatcaccgtttcgctaaccggtacgtttaacgatccttccagacct
+tcaaccaccgctttcggcacgttatcccactgatagagatcggtgccgactgcgttttgc
+cctacagccacatagcccgcttcaatcttattgcgataatcgttacggaaccaggtgacg
+cccgccagccacccgtcgcgtttgaactccagaccaatctctttgttgatgctggtttct
+gctttcaggtcatcgttaccttgcagatagcagccgcccgcgctggcatagcaaccctga
+cctttactgtagagaatgtagttcgggttagtctggtacaggctcggcgctttataagca
+cgggcgatgcccattttcagcgtgaagtcatcgcctaaaccttgcgatatgttcagcgcc
+gggctccagttattgccgacaatactgtgatgatcgaaacgcagccccggcgttacgatg
+gtgctgtcagtcagctccatgttgttttcggcaaacagcgagaaaatttctgcttttgaa
+tacgggctacggtcggtggtactcacgccatcaatagcgccaccggtattcgttccggtc
+agtgcctgggtgttggaacttaagtccttcatccgttgctgattccactccgtacccagc
+gtcagcgtctggttaacgaggaaatcaatcggcaggttaacttcgctgtgcagcatcacg
+tcatcaagatcgatatcgacgaaatcctgtgtcgctttttcgttaaatttcccttcggta
+ccgcccgccagaccttccggaatacgcgagttacgggtgtgttcgtactgcacccagttg
+ctggtggtcacgccgttatcccagccaccgttccaggtcagcgcgtagttctggcgatac
+agacggttggtttcatcgccatatttcgagcgggtataggaatcggagttggtattctgg
+gtgtcgcccgcatacaggttaccctggcggctgtaacctgcttccagttccagcgattgc
+aatggcgcgaaatcccagcgcaccacgccattaatatctttgttgattaccccttcgcgc
+ccggctggtaacgtcgtggcatacgttccggcacgcgcggactgatggccctggttgata
+tcccacgcgtcagcctgggttttgtcgaggttgccatacaaacggaagctgaattcgtcg
+cccagcggaccggtcaggctaaagttagtgcgtttggtggcaccttcctctttatgttct
+ggcgcattgaaatatgcgtcccaggagccgtgccactcgccgctgccttttttggtaatg
+atgttaaccacgccgcccgccgcgccgttgccataacgcgcagctgccggaccacgcaga
+acttcaatacgttcaatcatttcaggtggcacccaggaagtatcaccacgggtatcgcgc
+tcgccacgccagccctgacgcaccgagttacggctgcttaccggcttgccgtcaatcaaa
+atcagcgtgttttccggacccataccgcgaatatcaatctgtcggttattcccacgctga
+ccactggtggagttaccggtcaggttaacgcctggcatggtacggatgatcttcgacaca
+tcgcgggcaaccgggtttttgcggatttcatctgcggtgatggtcgaaacgccaggcgcc
+tgtaagttctgctcggcggcggtaacgacaatagtatcgtcatgtgaaacaggagtatcg
+gtcggctcttgtgcctgcgctaccccataaatccccagattgaccaacaaggccagggaa
+tgaatcttcttgttcattgttttattcctgcatttttgccacgaattgcaactgtcgggc
+atggtcgtcatcaacacgacgcatcccgctaccgcgaaaacctttgatcctgaaagacac
+gcagtgcagttggttaattaatgtccgcgcttcccacggcgcgccattacgctattgcaa
+atgcaaatagttatcaataatattatcaatatatttctgcaatcaatgaaaaattgcaca
+gtaaacatggggttatggtgtgacggcgttaaaagtaggaagtgagagctggtggcagtc
+gaaacatggcccggaatggcagcgtctgaatgacgaaatgtttgaggtcactttctggtg
+gcgtgatccccaaggttctgaagaatactcgacgataaagcgcgtatgggtctacatcac
+tggtgtgaccgatcaccatcagaacagccagccccagtcgatgcagcgaattgcaggcac
+taacgtctggcagtggacgacacaactcaatgccaactggcgcggcagctactgctttat
+tcccaccgaacgcgatgacattttttctgtaccatcccccgatcgcctcgaattgcgcga
+aggctggcgaaaactattaccccaggcgatagccgatccgctgaacctacaaagctggaa
+aggcgggcgagggcacgctgtttctgcactcgaaatgccgcaagcgcctctgcaaccggg
+atgggattgtccgcaagcgccagaaatacctgccaaagaaattatctggaaaagtgaacg
+gttgaaaaagtcacggcgtgtatggatttttaccaccggcgatgcaacagcagaagaacg
+cccgctggcagttttgctcgatggcgaattttgggcgcaaagtatgcccgtctggccagt
+gctgacttcgctgacccatcgtcagcaacttcctcccgccgtgtatgtgttgatcgacgc
+tatcgacaccacgcaccgcgcccacgaactgccgtgtaatgcggatttctggctcgcagt
+acagcaagagttattacccctggtgaaagctattgccccttttagcgatcgtgccgatcg
+caccgtggttgccgggcagagttttggtgggctttccgcgctgtatgccggactgcactg
+gcctgaacgctttggctgtgtattaagccagtcaggatcgtactggtggccgcatcgggg
+cgggcagcaagagggcgtgttacttgaaaagctaaaagctggtgaagttagcgccgaagg
+tctgcgcattgtgctggaagcgggtattcgcgagccgatgatcatgcgggccaatcaggc
+gctgtatgcgcaattacaccccataaaagaatccattttctggcgtcaggttgacggcgg
+acatgatgcgctttgttggcgcggtggcttgatgcaggggctaatcgacctctggcaacc
+acttttccatgacaggagttgaatatggcattcagtaatcccttcgatgatccgcaggga
+gcgttttacatattgcgcaatgcgcaggggcaattcagtctgtggccgcaacaatgcgtc
+ttaccggcaggctgggacattgtgtgtcagccgcagtcacaggcgtcctgccagcagtgg
+ctggaagcccactggcgtactctgacaccgacgaattttacccagttgcaggaggcacaa
+tgagccagcatttacctttggtcgccgcacagcccggcatctggatggcagaaaaactgt
+cagaattaccctccgcctggagcgtggcgcattacgttgagttaaccggagaggttgatt
+cgccattactggcccgcgcggtggttgccggactagcgcaagcagatacgctgcggatgc
+gttttacggaagataacggcgaagtctggcagtgggtcgatgatgcgctgacgttcgaac
+tgccagaaattatcgacctacgaaccaacattgatccgcacggtactgcgcaggcattaa
+tgcaggcggatttgcaacaagatctgcgcgtcgatagcggtaaaccactggtctttcatc
+agctgatacaggtggcggataaccgctggtactggtatcagcgttatcaccatttgctgg
+tcgatggctttagtttcccggccattacccgccagatcgccaatatttactgcacatggc
+tgcgtggcgaaccaacgcctgcttcgccatttacgcctttcgctgatgtagtggaagagt
+accagcaataccgcgaaagcgaagcctggcagcgtgatgcggcattctgggcagaacagc
+gtcgtcaactgccgccgcccgcgtcactttctccggcacctttaccggggcgcagcgcct
+cggcagatattctgcgcctgaaactggaatttaccgacggggaattccgccagctggcta
+cgcaactttcaggtgtgcagcgtaccgatttagcccttgcgctggcagccttgtggctgg
+ggcgattgtgcaatcgtatggactacgccgccggatttatctttatgcgtcgactgggct
+cggcggcgctgacggctaccggacccgtgctcaacgttttgccgttgggtattcacattg
+cggcgcaagaaacgctgccggaactggcaacccgactggcagcacaactgaaaaaaatgc
+gtcgtcatcaacgttacgatgccgaacaaattgtccgtgacagcgggcgagcggcaggtg
+atgaaccgctgtttggtccggtactcaatatcaaggtatttgattaccaactggatattc
+ctgatgttcaggcgcaaacccataccctggcaaccggtccggttaatgaccttgaactgg
+ccctgttcccggatgtacacggtgatttgagtattgagatcctcgccaataaacagcgtt
+acgatgagccaacgttaatccagcatgctgaacgcctgaaaatgctgattgcccagttcg
+ccgcggatccggcgctgttgtgcggcgatgtcgatattatgctgccaggtgagtatgcgc
+agctggcgcagctcaacgccactcaggttgagattccagaaaccacgcttagcgcgctgg
+tggcagaacaagcggcaaaaacaccggatgctccggcgctggcagatgcgcgttacctgt
+tcagctatcgggaaatgcgcgagcaggtggtggcgctggcgaatctgctgcgtgagcgcg
+gcgttaaaccaggggacagcgtggcggtggcactaccgcgctcggtctttttgaccctgg
+cactccatgcgatagttgaagctggagcggcctggctaccgctggataccggctatccgg
+acgatcgcctgaaaatgatgctggaagatgcgcgtccgtcgctgttaattaccaccgacg
+atcaactgccgcgctttagcgatgttcccaatttaacaagcctttgctataacgccccgc
+ttacaccgcagggcagtgcgccgctgcaactttcacaaccgcatcacacggcttatatca
+tctttacctctggctccaccggcaggccgaaaggggtaatggtcgggcagacggctatcg
+tcaaccgcctgctttggatgcaaaatcattatccgcttacaggcgaagatgtcgttgccc
+aaaaaacgccgtgcagttttgatgtctcggtgtgggagtttttctggccgtttatcgcag
+gggcaaaactggtgatggctgaaccggaagcgcaccgcgacccgctcgctatgcagcaat
+tctttgccgaatatggcgtaacgaccacgcactttgtgccgtcgatgctggcggcatttg
+ttgcctcgctgacgccgcaaaccgctcgccagagttgcgcgacgttgaaacaggttttct
+gtagtggtgaggccttaccggctgatttatgccgcgaatggcaacagttaactggcgcgc
+cgttgcataatctatatggcccgacggaagcggcggtagatgtcagctggtatccggctt
+ttggcgaggaactggcacaggtgcgcggcagcagtgtgccgattggttatccggtatgga
+atacgggtctgcgtattcttgatgcgatgatgcatccggtgccgccgggtgtggcgggtg
+atctctatctcactggcattcaactggcgcagggctatctcggacgccccgatctgaccg
+ccagccgctttattgccgatccttttgccccaggtgaacggatgtaccgtaccggagacg
+ttgcccgctggctggataacggcgcggtggagtacctcgggcgcagtgatgatcagctaa
+aaattcgcgggcagcgtatcgaactgggcgaaatcgatcgcgtgatgcaggcgctgccgg
+atgtcgaacaagccgttacccacgcctgtgtgattaaccaggcggctgccaccggtggtg
+atgcgcgtcaattggtgggctatctggtgtcgcaatcgggcctgccgttggataccagcg
+cattgcaggcgcagcttcgtgaaacattgccaccacatatggtaccggtggttctgctgc
+aacttccacagttaccacttagcgccaacggcaagctggatcgcaaagccttaccgttgc
+ctgaactgaaggcacaagcgccagggcgtgcgccgaaagcgggcagtgaaacgattatcg
+ccgcggcattctcgtcgttgctggggtgtgacgtgcaggatgccgatgctgatttcttcg
+cgcttggcggtcattcgctactggcaatgaaactggcagcgcagttaagtcggcaggttg
+cccgccaggtgacgccggggcaagtgatggtcgcgtcaactgtcgccaaactggcaacga
+ttattgatgctgaagaagacagcacccggcgtatgggattcgaaaccattctgccgttgc
+gtgaaggtaatggcccgacgctgttttgtttccatcctgcgtccggttttgcctggcagt
+tcagcgtgctctcgcgttatctcgatccacaatggtcgattatcggcattcagtcaccgc
+gccccaatggccccatgcagacggcggcaaacctggatgaagtctgcgaagcgcatctgg
+caacgttacttgaacaacaaccgcatggcccttattacctgctggggtattcccttggcg
+gtacgctggcgcagggtattgcggcgcgactgcgtgcccgtggcgaacaggtggcatttc
+ttggcttgctggatacctggccgccagaaacgcaaaactggcaggaaaaagaagctaatg
+gtctggacccggaagtgctggcggagattaaccgcgaacgcgaggccttcctggcagcac
+agcagggaagtacttcaacggagttgtttaccaccattgaaggcaactacgctgatgctg
+tgcgcctgctgacgactgctcatagcgtaccgtttgacggtaaagcgacgctgtttgttg
+ctgaacgcacacttcaggaaggtatgagtcccgaacgcgcctggtcgccgtggatagcgg
+agctggatatctatcgtcaggattgtgcgcatgtggatattatctctccagggacgtttg
+aaaaaattgggccgattattcgcgcaacgctaaacaggtaaattaatattatttataaac
+ccataattacagaaaataattatgggttttttatttgtttgatttataggtttgatgaat
+atttctcttaaatagagtgaatgttgcattcagtggaaggaatttacaaacttcagcttc
+ggataattatcaccaactggtaaagtgagcgccgtggagatttccccctattggactcat
+tttcaggttataccccatgtcatcactgaatattaaacagggaagtgacgctcattttcc
+cgattatcctctggcgtcgcccagtaataatgaaattgatttacttaatctaatctcagt
+tttatggcgggccaaaaaaacggtcatggcggtcgtttttgcgtttgcctgcgcaggctt
+gctgatctctttcatcctgccgcaaaaatggaccagcgcggcggttgtcacgcctccaga
+acctgttcagtggcaagagttggagaaatcattcactaagcttcgtgtgctggatctgga
+tatcaaaattgatcgtacagaagcatttaacctgtttatcaagaagtttcagtcggttag
+cttgctggaagagtacctgcgttcatcaccttatgtgatggaccaattaaaagaggcgaa
+aatcgacgaactggatttgcatcgcgcaattgtcgcattgagcgaaaaaatgaaagcggt
+tgatgacaatgccagtaagaaaaaagatgaaccgtcactgtatacctcctggacgctaag
+ttttaccgcgccaaccagtgaagaggcgcagaccgttttgagcgggtatatcgattatat
+ctctacgttggtggtgaaagagtcgctagaaaacgtccgtaataaactggagatcaaaac
+ccagtttgaaaaagaaaaactggctcaggatcgcattaaaacgaaaaatcaacttgatgc
+aaacattcagcgcctcaattattcactcgacattgccaacgcggcaggaattaaaaagcc
+cgtttacagtaatggtcaggccgttaaagatgaccccgatttttctatttctctcggtgc
+agacggtattgaacgcaaactggaaatagaaaaagcggtcactgacgttgcggaactgaa
+cggtgaattacgtaatcggcagtatcttgtcgagcaattaacaaaagcacatgtcaacga
+tgtgaattttacgccgtttaaatatcagttaagcccgtcattgccagtgaaaaaagacgg
+tccgggtaaggcgattattgtgatcctttccgcgttgatcggcgggatggtggcttgtgg
+tggcgtgctgttgcgctatgcgatggcatccagaaaacaggatgccatgatggcagacca
+cttagtttaactatttgcggttgaaggtgccgttcgtccgagcggcaccacaagcggcgt
+tccggcaactggatcgtcaatgatcatgcagcgcagaccataaatgcgctcaatcagttc
+agcagtgacaatctccttcggcgctccctgagcaacaattttcccttcccgcaatgcaat
+caaatggctggcgtaacgacaggcctgattaagatcgtgcagcaccgccgccagggtata
+gcctttttcgcggttcagttcgcttaacaactccagcaaatcaatctgatgactgatatc
+cagccaggtcgtgggttcgtcgagcagcataattgccgtttcctgggccagcaccatcgc
+gatccacgctcgctggcgttgtccgccagaaagggtatccacgctttgatctgccagatg
+agttattcccgtggcctgcattgctttcgttaccgcttcttcatcctctttgcgccagcg
+ggtaaacagcggttgatgcggataacgtccacgcgccaccagctcctgcacggtgatatc
+gcccggcgtggtagcattttgcgccaacagaccaatccggcgtgcaacctctttactggc
+gtaatgttgaatgtgctcgccatccagccagacatgcccatgagcaggcgtcatcaggcg
+gcttaaggtacgcagtaacgtggatttaccgcagccatttggcccgataattgccgtgaa
+gtgaccatcaggtatttctacagtcagattttccgcaacggtatatttgccatatcccag
+ggttaactgttcgccgcgcaaacgggctactgattcggtcattttttgcgagactcctga
+attaacaagacgataaggtaaataccgccgaggctgacggtaacgacgccaaccggaagt
+tgatacggcataaacagttgttgggcgcagagatcggccgccagcagtaacagcgccccg
+catagcgccgcctgggttagcccccagcgagcggtgccgctaatgcgtcgggcaatgtgc
+ggtgcgactaaagcaataaaggaaatcggcccggcaagcgctgttgccgcagcggtaagc
+accactgcaaccagcatcattaacagacgcgaacgttcgacgctgacgcccagcgcacac
+gcggtatcatcgcccatttccagcaagcgcatccggcgtaccagtaaggcggcggcaatg
+agcatcaatataatgatgggtgcggaaggcgaggtttttgcccacgtcaggccgttgagc
+gatccggcattccacaaacctgctgttagcgccgtttctaaagacgctttcagcaacagc
+caggtattaaaggccaccagcatggcgcgaacgccgataccgataataatcaaccgaaag
+gtgtcgatgccgttgcgccaggcgagcagccagaccagcagcgaagtgacaatgccgccc
+accattgctgacagcgcgatagccgtcaggtcctgaccaaacagcaccatcgccaccagc
+acgccgctccacgccccggtgttaaagcccattacgtcagggctgccgagcgggttacgc
+atcagcgactgaaaaatcgcgccactgacgcccagtgctgcgccaatcaacagcgccatc
+agcacgcgtggtaaacgccattcggtgaccaccatcgtcatactgcgcggcgcatcgccc
+atcagcgcggcgaatacctgcgaggtttccagcgtgacggcaccgctgcgtaatccccag
+atacctgcaaccacacaggcggaaaccagcagcaaacaggtgatgagtaatcggcgagag
+acgtaaatcatgcaccacctcgcgttttacgtcgcacgaggaagatcagcaccggtgcac
+caataaacgcactgaccacagaaacgcgcagttcgccgggcacaatcacccgcccgatga
+tatcggcaaacagcagcagggcaggggtagcaagtagcgtgacgggcagcgaccagcgat
+gatcggcacccaccagccaacgcgccatatgcggcatcatcaggccaataaaggcaatcg
+ggccaactattgccgtcgcactaccacaaagcacggtaatcgccagcagaccaatcaact
+gtgtgcgcgccacgcgactgcccagcgccgtcgcggtgtcgctgccgaggctcaaactgt
+tcagcgcgcgactcagtaatagcgcagttgctccggcgatcagcaccgggatcagcacca
+cttttaaggtatgtagattgcgaatatccagcgaaccggcttgccagaaacgcaactgat
+cgtagacgtcaggattaagcagggcgatgccgctggtcagtccttccagcaccgccgcca
+gcgccacgcccgccagggttaaacgcaccggacttaactgcccgccgccctgactgccgg
+taaaggcaacaatcaatgaggccaccagcgccccggcgaaggccatcgccagttgttcct
+gcgcggaagagtaaccaaacagcgccgcacccagcacaatggcaaagctggctccggcgt
+tcacgccaagcaagccggggtcggcaagtgggtttcgggtgagggtttgcattaacgccc
+cggcaaggccaagcgcgccgcctgccagtaaaccggcaagggtacgcggcagccgcgcgt
+cgagcacgatggtgcagtcggcgctctggcaggtgccggagaaggcctccagcactacgg
+aagcggggagtgattttgccccaatgagcaggcttaatgccgtcgcgataatcagtaata
+acagcaatccgggcacggcaatggcgcgtgtcacggcaacagaaccagacatacgaactt
+ccatgataatgaaattaattatcgttatcgatcttatttggatatgttagcatgtgcagc
+ctaagaataggtatttaaaatatttgatggcaaggcattgtaatgaataaacaatcctgg
+ctgcttaacctcagcctgttgaaaacgcacccggcgtttcgcgcagtattcctcgctcgt
+ttcatctcaattgtgtctctgggtttgctcggcgtcgcggtgccggtgcagatccagatg
+atgacacattccacctggcaggtggggctttcggtgacgctgaccggcggcgcgatgttt
+gttggcctgatggtcggcggtgtgctggcggatcgctatgagcgcaaaaaagtgattttg
+ctggcgcgcggcacctgtggcattggcttcattggactgtgccttaatgcactgctgccg
+gagccgtcattgctggcaatctatttacttggtttatgggatggttttttcgcatcgctt
+ggcgttacggcgctattggcggcgacaccagcactggtagggcgtgaaaacttaatgcag
+gccggggcgatcaccatgttgaccgtgcgtctggggtcggtgatttcgcccatgattggc
+ggtttattgctggcgaccggtggcgtagcctggaactacgggctggcggcggcgggcacg
+tttattaccttgctaccgttgttaagccttccggcgttgccaccgccaccgcagccgcgt
+gagcatccgttgaaatcattactggcaggatttcgttttctgcttgccagcccgctggtg
+ggcgggattgcgctgctgggtggtttattgacgatggcgagcgcggtgcgggtactgtat
+ccggcgctggctgacaactggcagatgtcagcggcacagattggttttctctacgcggcg
+atcccgctcggcgcggctattggtgcgttaaccagcgggaagctggcacatagtgcgcga
+ccagggttattgatgctgctctccacgctgggatcgttcctcgccattggtctgtttggc
+ctgatgccgatgtggattttaggcgtggtttgtctggcgctgttcggctggttgagtgcg
+gtcagctcgttgctgcaatacacaatgctgcaaacgcaaaccccggaagcgatgttaggg
+cggattaacggtttgtggacggcgcagaacgtgacgggcgatgccataggcgcggcgctg
+ctgggtggtttgggcgcgatgatgacaccggttgcttccgcaagcgcgagcggttttggt
+ttgttgattatcggcgtgttgttattgctggtgctggtggagttgcgacattttcgccag
+acgccgccgcaggtgacagcgtccgacagttaatgcttaaaacagcgccttaagcctatc
+cagcacttgcatggcgctgtagtaatccagacggaacgtctcggttcccagcgcataaac
+ctgcttgttttgtactgcaggcaggtgcgcgagcagcggattagcataaatagcatcggc
+atctttctgatcaccggcgaacaggaatagtgactcgccatttaaccctgcagccagatt
+ttccccaccaagctgaatgatgtcatggcgtttaccctgactttggctggcatttaaccc
+tgcgggtaacttcgccagcgtaaagccgagttgttccagcatctgcccttgtgctgattc
+tggcgtccagagattggcactgtgtgcagcggcagtatagacaatggcagtgaccggctg
+cggcggtaatttgatttgctctttcgccgccgccagttgcttatcaaactgcgcaatccg
+ctctgccgcttgtttctcatgcccggtaatttcgccaagttgcgttaacagcgactgcca
+gcttttgtcgtcgtaattgatgattaatgtcggggcgatggtggaaagctgatcatacag
+tgccagcgccgaatccccgccggttgcgctaattaaaatcagatccggcatttgcgcggc
+aacggcttcggcgctcggttcgccgatatagagccgttgcagtttgcgttctttcgccac
+cttgctccactggcgtaaaaagccctggtcatccgcgacgcggttattcggcgtggtcgc
+gccgctggcgatcaccggagcatcaatcgccagcagtgagccggtcagggtgacgctggt
+ggaaacaatacgctgcggctggctttccagtgtatgtgtgccacggctgtcagtaatctg
+acgcggccagtcagcggcctgaactgcggctattcctgaaagcaaaagtcctgttaatag
+aagggcgttgcggtagagcggggcgagtctcacaaatcagcttcctgttattaataaggt
+taagggcgtaatgacaaattcgacaaagcgcacaatccgtcccctcgcccctttggggag
+agggttagggtgaggggaacagccagcactggtgcgaacattaaccctcaccccagccct
+caccctggaagggagagggggcagaacggcgcaggacatcacattgcgcttatgcgaatc
+catcaataatgcttctcattttcattgtaaccacaaccagatgcaaccccgagttgcaga
+ttgcgttacctcaagagttgacatagtgcgcgtttgcttttaggttagcgaccgaaaata
+taaatgataatcattattaaagcctttatcattttgtggaggatgatatggatacgtcac
+tggctgaggaagtacagcagaccatggcaacacttgcgcccaatcgctttttctttatgt
+cgccgtaccgcagttttacgacgtcaggatgtttcgcccgcttcgatgaaccggctgtga
+acggggattcgcccgacagtcccttccagcaaaaactcgccgcgctgtttgccgatgcca
+aagcgcagggcatcaaaaatccggtgatggtcggggcgattcccttcgatccacgtcagc
+cttcgtcgctgtatattcctgaatcctggcagtcgttctcccgtcaggaaaaacaagctt
+ccgcacgccgtttcacccgcagccagtcgctgaatgtggtggaacgccaggcaattccgg
+agcaaaccacgtttgaacagatggttgcccgcgccgccgcacttaccgccacgccgcagg
+tcgacaaagtggtgttgtcacggttgattgatatcaccactgacgccgccattgatagtg
+gcgtattgctggaacggttgattgcgcaaaacccggttagttacaacttccatgttccgc
+tggctgatggtggcgtcctgctgggggccagcccggaactgctgctacgtaaagacggcg
+agcgttttagctccattccgttagccggttccgcgcgtcgtcagccggatgaagtgctcg
+atcgcgaagcaggtaatcgtctgctggcgtcagaaaaagatcgccatgaacatgaactgg
+tgactcaggcgatgaaagaggtactgcgcgaacgcagtagtgagttacacgttccttctt
+ctccacagctgatcaccacgccgacgctgtggcatctcgcaactccctttgaaggtaaag
+cgaattcgcaagaaaacgcactgactctggcctgtctgctgcatccgacccccgcgctga
+gcggtttcccgcatcaggccgcgacccaggttattgctgaactggaaccgttcgaccgcg
+aactgtttggcggcattgtgggttggtgtgacagcgaaggtaacggcgaatgggtggtga
+ccatccgctgcgcgaagctgcgggaaaatcaggtgcgtctgtttgccggagcggggattg
+tgcctgcgtcgtcaccgttgggtgagtggcgcgaaacaggcgtcaaactttctaccatgt
+tgaacgtttttggattgcattaaggagcgaggatgagcattccattcacccgctggccgg
+aagagtttgcccgtcgctatcgggaaaaaggctactggcaggatttgccgctgaccgaca
+ttctgacgcgacatgctgcgagtgacagcatcgcggttatcgacggcgagcgacagttga
+gttatcgggagctgaatcaggcggcggataacctcgcgtgtagtttacgccgtcagggca
+ttaaacctggtgaaaccgcgctggtacaactgggtaacgtcgctgaattgtatattacct
+ttttcgcgctgctgaaactgggcgttgcgccggtgctggcgttgttcagccatcagcgta
+gtgaactgaacgcctatgccagccagattgaacccgcattgctgattgccgatcgccaac
+atgcgctgtttagcggggatgatttcctcaatactttcgtcacagaacattcctccattc
+gcgtggtgcaactgctcaacgacagcggtgagcataacttgcaggatgcgattaaccatc
+cggctgaggattttactgccacgccatcacctgctgatgaagtggcctatttccagcttt
+ccggtggcaccaccggcacaccgaaactgatcccgcgcactcataacgactactactaca
+gcgtgcgtcgtagcgtcgagatttgtcagttcacacaacagacacgctacctgtgcgcga
+tcccggcggctcataactacgccatgagttcgccaggatcgctgggcgtctttcttgccg
+gaggaacggttgttctggcggccgatcccagcgccacgctctgtttcccattgattgaaa
+aacatcaggttaacgttaccgcgctggtgccacccgcagtcagcctgtggttgcaggcgc
+tgatcgaaggcgaaagccgggcgcagcttgcctcgctgaaactgttacaggtcggcggcg
+cacgtctttctgccacccttgcggcgcgtattcccgctgagattggctgtcagttgcagc
+aggtgtttggcatggcggaagggctggtgaactacacccgacttgatgatagcgcggaga
+aaattatccatacccagggttacccaatgtgtccggatgacgaagtatgggttgccgatg
+ccgaaggaaatccactgccgcaaggggaagtcggacgcctgatgacgcgcgggccgtaca
+ccttccgcggctattacaaaagtccacagcacaatgccagcgcctttgatgccaacggtt
+tttactgttccggcgatctgatctctattgatccagagggttacatcaccgtgcaggggc
+gcgagaaagatcagattaaccgtggcggcgagaagatcgctgccgaagagatcgaaaacc
+tgctgctgcgccacccggcggtgatctacgccgcactggtgagcatggaagatgagctga
+tgggcgaaaaaagctgcgcttatctggtggtaaaagagccgctgcgcgcggtgcaggtgc
+gtcgtttcctgcgtgaacagggtattgccgaatttaaattaccggatcgcgtggagtgtg
+tggattcacttccgctgacggcggtcgggaaagtcgataaaaaacaattacgtcagtggc
+tggcgtcacgcgcatcagcctgaaggagagaacacgatggctattccaaaattacaggct
+tacgcactgccggagtctcacgatattccgcagaataaagttgactgggcctttgaaccg
+caacgtgccgcgttgttaatccatgatatgcaggactattttgtcagcttctggggcgag
+aactgcccgatgatggagcaggtgatcgcgaatattgctgcgctgcgcgactactgcaaa
+cagcacaatatcccggtttattacaccgcccagccgaaagagcagagcgatgaagatcgg
+gcgctgttgaatgatatgtgggggccgggcctgacccgctcgccggaacagcaaaaggtg
+gtggatcgcctgacgccagatgccgacgacacggtgctggtgaagtggcgctacagcgcg
+tttcatcgttctccgctggagcaaatgctgaaagagagtggacgtaaccagctgattatt
+accggggtatatgcccacattggctgtatgaccaccgcaaccgacgcatttatgcgcgat
+attaaaccgtttatggtggcggatgcgctggccgatttcagccgtgacgagcatttgatg
+tcgctgaaatatgtggccggacgttctggccgggtggtgatgactgaagaattactgcca
+gcacctatccccgccagcaaagcggcgctgcgtgaggtgatcctgccgttgctggacgag
+tccgatgaaccgttcgatgacgacaacctgatcgactacggtctggattcggtgcgcatg
+atggcgctggcggcgcgctggcgcaaagtgcatggtgatatcgactttgtcatgctggcg
+aaaaacccgaccatcgacgcctggtggaagctactctcccgcgaggtgaaataatggatt
+tcagcggtaaaaatgtctgggtaaccggcgcaggtaaaggtatcggctacgccacggcgc
+tggcgtttgttgaggcgggagcgaaagttacaggttttgatcaagcgttcactcaggagc
+aatatccctttgcgaccgaagtgatggatgttgccgacgctgcgcaggtcgcgcaagtgt
+gtcagcgactgttagctgaaacggagcgactggacgcgctggtcaatgcggcgggaattt
+tacgcatgggcgcgaccgatcagctcagtaaagaggactggcagcagacttttgcggtta
+acgtcggcggtgcgtttaacctgttccagcaaaccatgaaccagtttcgccgtcagcggg
+gcggggcgattgtcactgtggcgtccgacgccgcgcacacgccgcgtattggcatgagtg
+cttatggcgcatcgaaagcggcgctgaaaagcctggcgttgagcgtcgggctggaactgg
+cgggtagcggcgtgcgctgtaatgtggtttcgcctggctccaccgacaccgatatgcaac
+gcacgctgtgggtgagcgatgacgccgaagaacagcgtattcgcggctttggcgagcagt
+ttaaactcggcattccgctggggaaaatcgcccgtccacaagagatcgccaacacgattt
+tgttcctcgcctctgacctcgccagccatattaccctacaggatattgtggtcgatggcg
+gctcaacgctgggggcataagcatgatctggaaacgccatttaacgctcgacgaactgaa
+cgccaccagcgataacacaatggtggcgcatctgggaattgtgtatacccgtctgggcga
+tgatgtgctggaagccgaaatgccggttgatacccgtactcatcagccgttcggtttact
+acatggcggcgcgtcggcggcgctggcggaaacgctgggatcgatggccggatttatgat
+gacccgcgacggacagtgtgtggtaggcacagaacttaatgcaacacaccatcgcccggt
+gtctgagggaaaggtacgcggcgtctgccagccgctgcatcttggtcggcaaaatcagag
+ctgggaaatcgtcgttttcgatgaacaggggcggcgttgctgcacttgtcggctgggtac
+ggcagttttgggatgaacccgacagaattagatgagattgcaggaaaactcggttaacgg
+agtgatcgagttaacattgttaagttaaatattggtttcaactccgatttacatggttgc
+tgtgttgttaaattgtacaaagatgttatagaaacaaaatgtaacatctctatggacacg
+cacacggataacaactatgaacaaatcagggaaatacctcgtctggacagtgctctctgt
+aatgggagcatttgctctgggatacattgctttaaatcgtggggaacagatcaacgcgct
+gtggattgtggtggcgtcggtctgtatctatctgatcgcttaccgtttttatgggctgta
+tatcgccaaaaatgtgctggcggttgacccgacgcgtatgacgccagcggtgcgccataa
+cgacgggctggactatgtgccgacggacaagaaagtgctgttcggtcaccattttgcggc
+cattgccggagcaggtccgctggtggggccggtactggcggcgcaaatgggctacctgcc
+ggggatgatctggctgctcgctggggtggttctcgccggtgcggtgcaggatttcatggt
+gctgtttgtttctacgcgccgtgacggtcgctcgctgggtgagctggtcaaagaagagat
+ggggccaaccgccggggtgattgcgctggtggcctgctttatgatcatggtcattatcct
+tgcagtgctggcgatgatcgtggtgaaagccctgactcatagcccgtggggaacatatac
+cgttgcgttcaccattccgctggcgctgtttatggggatctacctgcgctatctgcgtcc
+ggggcgtattggcgaagtgtcggtcatcggtctggtattcctgattttcgccattatctc
+tggcggctgggtggcagaaagtccgacctgggcaccgtactttgactttaccggcgtgca
+gttgacctggatgctggtgggttacggttttgtggcggcggtgctgccggtgtggttact
+gctggccccgcgtgactacctctctaccttcctgaaaatcgggactatcgtcggtctggc
+ggtaggcattttgattatgcgcccgacgctgaccatgcctgcgctgaccaaatttgtcga
+tggcactggcccggtatggaccggtaacctgttcccgttcctgtttatcaccatcgcctg
+tggcgcggtgtctggcttccatgcgctgatctcttctgggaccacgccgaagatgctggc
+gaacgaagggcaggcgtgctttatcggctacggtgggatgttaatggaatccttcgtggc
+gattatggcgctggtttccgcctgtatcatcgatccgggcgtgtattttgccatgaacag
+cccgatggcggtgctggctccggcagggacggcggatgtggtcgcttctgccgcgcaggt
+ggtgagtagctggggctttagcattacaccagatacgctaaaccagattgccagcgaagt
+gggtgaacagtcgatcatttcccgtgcgggcggtgcgccgacgctggcggtggggatggc
+ctacattctgcacggcgcgctgggcggcatgatggatgtggcgttctggtatcacttcgc
+cattttgtttgaagcactgtttattctgacggcggtggatgcaggtacgcgtgctgcgcg
+ctttatgttgcaggatctgctgggcgtggtgtctcctggcctgaagcggaccgattcact
+gcctgctaacctgctggcaacagcgctgtgcgtactggcgtggggctacttcctccatca
+gggcgtggtcgatccgctgggcggcattaacactctgtggccgctgtttggtattgccaa
+ccagatgctggcagggatggcgctgatgctctgtgccgtggtgttgttcaagatgaaacg
+tcaacgttacgcctgggtggcgctggtaccaacggcctggctgctgatttgtaccctgac
+cgcaggctggcagaaagcgtttagcccggatgcgaaagtcggcttcctggccattgctaa
+taagttccaggcaatgatcgacagcggcaatattccgtcgcagtatactgagtcacagct
+ggcgcaactggtgttcaacaaccgtctggatgccgggttaaccatcttctttatggtggt
+cgtggtggttctggcactgttctcgattaagacggcacttgcggcattgaaagatccgaa
+gccaacggcgaaagaaacgccgtatgaaccaatgccggaaaatgtcgaggagatcgtggc
+gcaggcaaaaggcgcacactaaagtcagagtgagggggggatgttggcgaatgttggctt
+agtgcccagggttccctctcaccctaaccctctccccggtggggcgaggggactgaccga
+gcgcgttgatagcatttgtaggccggataaggcgttcacgccgcatccggcactctttca
+gcaacatggttagcggaggccaagatgtttgattcactggcaaaagccggaaaatattta
+ggtcaggcggcgaagctgatgattggtatgcctgattacgacaactatgtcgaacatatg
+cgggttaaccatcccgatcaaacgccgatgacctacgaagagtttttccgtgagcggcag
+gacgcgcgctacggtggaaaaggcggcgcgcgctgctgctaaatttgtacgtcaggcttt
+aaacgattccacttttttgaacgctgcacgcaacgtatctggtgtcagcgtgactggcag
+gtaatgaatggactccaccggacgcagggtgtgggcaatcactttgtcgatctccgcctg
+attattgatatccacttccagctccgccagtgtagtcggcagatgaaaacgctgatacgc
+tccagttaattgcgccagcacatcatcctgacccagcaaggcgctttgcaccagaattcc
+gtaggcgactttggtgccgtggagaaacttctcggtttgcggcagcacggtcagaccgtt
+atgcacggcatgagctgccgccacacgcgtaaaacgatcgcccagaccaccaaccatccc
+accaccagcaataatagcatccaccacatcgcaaaatgattgcgttaactgttgattttg
+ctgatcgctcagcgcctgttcgctactgtttaacaagacgtcgcgaatggcttgcgcatt
+attgatccccagtcgcacggttagcggcaacgtttctggttgcggagccagcaccaccgc
+ttcataccatttcgccagcgtgtcaccgatccccgccagcagatattgttgcggtgcatt
+gaggataatctccggttccaccagcaccataaaattggcgtcgtcgaaaatctcataatg
+cagcgcctgtccggcatcattataccagacggagagcggtgtccaggcggcgcaggtggc
+ggcgatcgtcggaacggcaacaaacggcagaccgagacggcgggcgagggctttcgcggt
+gtcgagcagtgcaccgccaccgacgccaatcaccacgctgcggtcgtcaccggactcagc
+cgccagttgttgtacatcgctttcgctgcaatgaccgcgaaacaaaatatgctttgcccc
+tggcagtccaaacgctggcggaagtttggtttgcgccgcagcaatggcgcgtttgccgta
+gatccacaccgcgcgagaaagttgttcatcagtgaaaaaatcgtgcaggtgattgaaact
+tcctggatgtgaaaagtagttagccgggccgacgaccacgcggataggattgtgaggcat
+gttgtgttgtccttattgttttatttagacatctaaacgtcttgattgccaaatactagc
+atcgtgttatagtgccttcaacacgcaacttcgtcaggtacaataaaaatgacaaataac
+cctctgattccacaaagcaaacttccacaacttggcaccactattttcacccagatgagc
+gcgctggcgcagcaacaccaggcgattaacctgtcgcaaggctttcctgattttgatggt
+ccgcgctatttacaggagcggctggcgcaccacgttgcacagggggcaaaccaatacgcg
+cccatgaccggcgtgcaggccttgcgcgaggcgattgctcagaaaacggaacgtttgtat
+ggctatcaaccagatgccgatagcgatatcaccgtaacggcaggggcgacggaagcgtta
+tacgcggcgattaccgcactggtgcgcaatggcgatgaagtgatttgttttgatcccagc
+tatgacagttacgcccccgccatcgcgctttctgggggaatagtgaagcgtatggcactg
+caaccaccgcattttcgcgttgactggcaggaatttgccgcattattaagcgagcgcacc
+agactggtgatcctcaacactccgcataaccccagtgcaactgtctggcagcaggctgat
+ttcgccgctttgtggcaggcgatcgccgggcacgagatttttgtcattagcgatgaagtc
+tacgagcacatcaacttttcacaacagggccatgccagtgtgctggcgcatccgcagctg
+cgtgagcgggcagtggcggtttcttcatttggcaagacctatcatatgaccggctggaaa
+gtgggttattgtgttgcgccagcgcccatcagcgccgaaattcgcaaggtacatcagtat
+ctgaccttttcggtgaataccccggcacagctggcgcttgctgatatgctacgtgcagaa
+cctgagcattatcttgcgttaccggacttttatcgccagaagcgcgatattctggtgaat
+gctttaaatgaaagccggctggagattttaccgtgtgaaggtacatactttttgctggtg
+gattacagcgcggtttctaccctggatgatgttgagttttgccagtggctgacgcaggag
+cacggcgtagcggcgattccgctgtcggtgttttgcgccgatcccttcccacataaactg
+attcgtctctgttttgccaagaaggaatcgacgttgctggcagcagctgaacgcctgcgc
+cagctttagctatttaaccgtccaggcgcgggaatattgacggtcggcaaacaactcttg
+caggccgttaatttgcttcaggcgcagcacttcgtcgctgtccattcccagctctttgcc
+aattttattatcgtcccatcccaactggctaagttcacggacgatttccgacatggcggt
+gatttgatggcgtccacgagcgcgattatgacgaatagtcgcggcgatgcgttgattacg
+cgtaccttccagacaggtcaccggcaaataaccttttaagcgtaattttaatgatgatga
+gcctttaccaatttcatggcggtgaaaaccatccacgatttccatggcatttttatccgt
+atgtgtgaccacaatgggttgggtaaaaccatctatttcaatggatttttgcagcagttt
+tttttcgggtggtgccacgttgtttgggttgtaatcattaggcataagttggctgttttt
+aacccacagaacgcaatccactggctcttcacgaaaggggctaacctgatggatcgccat
+gcggatttcattaatcgctttgatgcgatcatcttccggcaagctggcgagaaattgcgt
+taaatcctgcgttaatcgttgttgcatagtatcccccattcctgacgttttccttttatc
+cgttcgttataacgctgatagttcttcgattttgtggggctaaatgataatgcccgacac
+cagtaatcgttattgagtaaaactttgcatatccgccgccaggaggggatatctttcgcg
+ccaatgtccccttgctgggtttgtggaacctcgatgccttttttctgataccagtgcaaa
+taaatggcgattttattgcggtaatgctcagctgttttttccggcatgctattgagcagc
+aataatgcatattcttgccagtctaaatgttctggcttgaggattttccgatgcccatag
+aaatgattgtcatgtccggcgtaaatgccgccactttttaccccgctgactcgtgcgcac
+atagcagcccagcgatccggttcgataacgtgatagagccataatccttgtcgttgctcc
+gggccaaaaggttcgcaaattcgcatatgacgcagaggaacgcctgcctgatacattagg
+ttatacagtgggttgcagagactttgatgatttgcataccaggtccagatatcagccact
+ttccagtcgtaaatggggtaaatgtaccagctatgaccgcctggtgcggccgtagtccag
+ggtttatcgtcggcaaaacgttgtttatttaaactggcgatggcgacaaaacggttgtag
+gactcatccgcacggatgccgatcatcatcgccgccggacgtttttgtgaaaaccattcg
+gcaaactcacgtacaaattgttcgaaggtcatgcctggctggtaaaagcagaaaaagtca
+gggtcggttatcgcatcttggggaggttgacgtacccattcgacatcaggttcccagcac
+tgccattcgggttggtattgtgaaagggaattttgcgtcgtaagcgggagcgcaacccag
+taaaactcttcgatgacatcggtgtacaactcgcgcagggactgaacatagttaatggtg
+caagagaattgcgcctcccagtcgataaacaaaacgcagatttttttgcccatttgtcgg
+gcaagttcggctgtcagatgcagcattaaaccagagtctttgccgccagaaaatgagaca
+caaacgcggggtagggtgttgagtgtccaggtaatacgctctcgtgcagcttccagaata
+ttgagcggaagaggaattttataaatagacatctgaagacgctctctgaacgttacaggg
+tgatcagtgagataagtctgttaattataaagtaaacactgtaaagcagagtgttttatt
+tttcattcgcgctgtgaataaatagatgaaagttatagtagctgtctgtagttatatatc
+aaaaactctcatttagacggtcaataaatcgggagaacaccaaattatttaaagaagatt
+tattataggaaatgtaaagctttattgaaggtaacggatgttctagttttatctctttta
+agttaagaaagtcacggtaggaattataaagttcataggggactattcccagtaaatctg
+taactgcaatgctattaatgattgtcagcaaagaggaaccacgaaatgagattttgcgat
+tcataaatctctcgtctatttccatttgaatatcatcaacccctgctgatttagatatta
+attgggtgaactcttctgccataatttgttcataagtgctattgtcagtaattcgtggat
+gcctattactacaaattagagtattgcgaatcgtatgcaatggcatgcaaatgacggaac
+ggctgatcactggcatttgggtgatcaccagatcggctttgcggtgaaccaacagttctt
+cagcattctctgctgacatgaggatatcatggcactcaatctcgacagaggaatcttgcc
+gtaggcagcggatcagcatactattattagagcaagaaatgagctgagggccgtagataa
+taaagtttttctttagttcggacttattgactatattaattgtttgttcaaggcctctga
+gatttttctcaagatggtgatgcagatttaaccctgttgtcgtcggcgcgataccttttc
+ctgagcgaatgaataaagggtcattaaattgcgcacgtaagcgttgtaacgactggctca
+cggctgatggggtgatatatagtgattcagcagctttgctaatgcttaaatgctggtaaa
+tacactcaaatatgacaagaagatttaagtcgaactttttcaagtcgtagagattggcca
+tacactactccggttatatttttcttccatgatatattcacttaatcaatgttttttgcg
+tatatatttttattgattatgtttttttgcttaactcaggattaagtttttctaaaatag
+cacagccacttagggcagagcgagcaattcatgcttttttaggatggttgaaaagcaggg
+atatagttcaaccatccatgaattaccttttatttattccccataatgatattaagcgtt
+ttctgatcgggcaaccccacggcctgttgtagcgtattttccttactcatgtaatagata
+gccggcgtgacatttgcccccagatcgtccatcagtttctcattgtcacttaacactttc
+atttgctctgtacttacgtttgcaggcacgtttagcttaagcttgccaccagaggcttca
+tattgttgccaggtttttgcgggatctttggaggcaagaattgccgctgctgtcgccggg
+ctttctggcttgataaccccaaccaacaatgttcttaattgcactttgccagaatctacc
+cacgggcgcgcctgctgccagaactgtttacaatatgggcagaacggatcggcgaagacg
+tagacaatgaccggcgcatcttttttaccgtcgaggagccagtgggattgttccatccgt
+tgccacatttcgcgtccggctggtgcgtaaatttctttttcgataagtgtgttactcagg
+ttttcacctttctcgttgtacatgtaaccagagatagcgtgcttaccatctggagtcagg
+tagatggtgacgcccatatcctgatactttccgagataacctttcattcctccgggggca
+tcgaatgttttgatgattgtaatgccctgtttttcaatcgcttttactggagcaggaagt
+tcctctgcgaaggcgattgcaggaagcagagccagtaaaagtatcttttttaacattaat
+ttgtccttttcagtcagtgcaaaagtcgagtaaaaggcataacctatcactgtcataggt
+aagagcttagatcaggtgattgccctttgtttatgagggtgttgtaatccatgtcgttgt
+tgcatttgtaagggcaacacctcagcctgcaggcaggcactgaagataccaaagggtagt
+tcagattacacggtcacctggaaagggggccattttactttttatcgccgctggcggtgc
+aaagttcacaaagttgtcttacgaaggttgtaaggtaaaacttatcgatttgataatgga
+aacgcattagccgaatcggcaaaaattggttaccttacatctcatcgaaaacacggagga
+agtatagatgtccttgattaacaccaaaattaaaccttttaaaaaccaggcattcaaaaa
+cggcgaattcatcgaaatcaccgaaaaagataccgaaggccgctggagcgtcttcttctt
+ctacccggctgactttactttcgtatgcccgaccgaactgggtgacgttgctgaccacta
+cgaagaactgcagaaactgggcgtagacgtatacgcagtatctaccgatactcacttcac
+ccacaaagcatggcacagcagctctgaaaccatcgctaaaatcaaatatgcgatgatcgg
+cgacccgactggcgccctgacccgtaacttcgacaacatgcgtgaagatgaaggtctggc
+tgaccgtgcgaccttcgttgttgacccgcagggtatcatccaggcaatcgaagttaccgc
+tgaaggcattggccgtgacgcgtctgacctgctgcgtaaaatcaaagcagcacagtacgt
+agcttctcacccaggtgaagtttgcccggctaaatggaaagaaggtgaagcaactctggc
+tccgtctctggacctggttggtaaaatctaaatttccttcgtctttcacgccatagcggc
+gttggcgtcgcccgctcaccccggtcacttacttgtgtaagctcccggggattcacaggc
+tagccgccttgctctgacgcgaaatacttcggaaattcacctaattcttcgggtgctgcg
+gcacccgattttcttccccgcaccatgatgcaagctgcatccaggtagccgcagaggccg
+cttgcatgatgatgtttaaagcccaggagataaacatgctcgacacaaatatgaaaactc
+aactcaaggcttaccttgagaaattgaccaagcctgttgagttaattgccacgctggatg
+acagcgctaaatcggcagaaatcaaggaactgttggctgaaatcgcagaactgtcagaca
+aagtcacctttaaagaagataacagcttgccggtgcgtaagccgtctttcctgatcacca
+acccaggttccaaccaggggccacgttttgcaggctccccgctgggccacgagttcacct
+cgctggtactggcgttgctgtggaccggtggtcatccgtcgaaagaagcgcagtctctgc
+tggagcagattcgccatattgacggtgattttgaattcgaaacctattactcgctctctt
+gccacaactgcccggacgtggtgcaggcgctgaacctgatgagcgtactgaacccgcgca
+tcaagcacactgcaattgacggcggcaccttccagaacgaaatcaccgatcgcaacgtga
+tgggcgttccggcagtgttcgtaaacgggaaagagtttggtcagggccgcatgacgttga
+ctgaaatcgttgccaaaattgatactggcgcggaaaaacgtgcggcagaagagctgaaca
+agcgtgatgcttatgacgtattaatcgtcggttccggcccggcgggtgcagcggcagcaa
+tttactccgcacgtaaaggcatccgtaccggtctgatgggcgaacgttttggtggtcaga
+tcctcgataccgttgatatcgaaaactacatttctgtaccgaagactgaagggcagaagc
+tggcaggcgcactgaaagttcacgttgatgaatacgacgttgatgtgatcgacagccaga
+gcgccagcaaactgatcccagcagcagttgaaggtggtctgcatcagattgaaacagctt
+ctggcgcggtactgaaagcacgcagcattatcgtggcgaccggtgcaaaatggcgcaaca
+tgaacgttccgggcgaagatcagtatcgcaccaaaggcgtgacctactgcccgcactgcg
+acggcccgctgtttaaaggtaaacgcgtagcggttatcggcggcggtaactccggcgtgg
+aagcggcaattgacctggcgggtatcgttgagcacgtaacgctgctggaatttgcgccag
+aaatgaaagccgaccaggttctgcaggacaaactgcgcagcctgaaaaacgtcgacatta
+ttctgaatgcgcaaaccacggaagtgaaaggcgacggcagcaaagtcgttggtctggaat
+atcgagatcgtgtcagcggcgatattcacaacatcgaactggccggtattttcgtccaga
+ttggtctgctgccgaacaccaactggctcgaaggcgcagtcgaacgtaaccgcatgggcg
+agattatcattgatgcgaaatgcgaaaccaacgtgaaaggcgtgttcgcagcgggtgact
+gtacgacggttccgtacaagcagatcatcatcgccactggcgaaggtgccaaagcctctc
+tgagtgcttttgactacctgattcgcaccaaaactgcataagaagaagtaagattcacct
+gcaattgcttagccgccggggtcaaacctggcggcttttttatggcattaaaaagccccg
+ccgggatggctccgggcagggcgggatacttattctggcaattaacgcacaaccagcacc
+ggcagattggcgtggcggatcacgctcgaggcgttagaacctaacagatgggtcgaaatc
+gatgggttgcgagaaccaataactacaacatcagcccccagttcttctgccaactcattg
+acttcatcccgcacgctaccaaaacggacatgttgtttaatgcgggaaggatcgatggtg
+aagtggctgaccatcgtttgcagacgttcttgtgcttcatgttgcagatgctcttcaaaa
+cgacgcacatcagcggcaaaacggtgcaggctcaggctggctgacccgggtagtacgtga
+agtagatgaataactccgtcatcctgggcgaggaattcagcgtggcgaacagctttgtcg
+ctcaattccatttcaaatacatcaactggcataatgattgtcttatacataaccctttct
+ccctgttaatcatgaacaaatcattcgccatgattataatatttatccctgatatttgtc
+tggttctttttccttacgaactgtttctgtgatgaatatattctcactgaacaccaggaa
+ttctcccaaaacctgtggtaccgcccgttttcccgctgtgatagctacccttaaagactg
+actcttttttgaactgtctctggaggttgcatgaaagcattgacttatcacggcccacat
+cacgttcaggtagaaaatgttcccgatccgggcgttgaacaggcagatgatattattctg
+cgtattacggcaacggcgatctgtggctctgacctccatctttatcgaggcaaaatacct
+caggttaaacatggcgatatttttggtcatgaatttatgggggaagtagttgaaaccgga
+aaggacgtaaaaaatttgcaaaaaggcgaccgagtggtaattccgttcgtcattgcttgt
+ggcgactgttttttctgtcgattgcaacaatatgccgcctgcgaaaataccaatgcgggt
+aaaggcgctgcgctcaataaaaaacagataccagctccagcggcattgtttggttatagt
+cacctgtatggcggcgttcctggtgggcaggcggaatatgtccgcgtccctaaagggaat
+gtggggccgtttaaagtaccgcctttgctttcagatgataaagcgcttttcctttctgat
+attctgccaacggcatggcaggcagcaaaaaatgcgcagatccaacaaggttcaagcgtt
+gcagtctatggtgctggtcctgtgggattgttgacaatcgcctgtgcacggttgctcggt
+gcggaacagatttttgttgttgatcatcatccctaccgcttgcatttcgccgccgaccgc
+tacggcgcgatcccgattaattttgatgaagacagcgatccggcacagtcaattattgaa
+caaacggcaggtcaccggggcgtggatgcagtaatagacgccgtcggttttgaagcgaaa
+ggcagcaccacggaaacggtgctgactaacctgaaactggagggcagcagcggtaaagcg
+ttgcgtcagtgtattgcggcggtcaggcgtggcggcattgttagcgtaccgggcgtctac
+gctggatttattcacggtttcctgtttggcgacgcctttgataaagggttgtcgtttaaa
+atgggacagacccacgttcacgcatggctgggagaattattaccgttaattgagaaagga
+ttactgaaaccagaagaaattgttacccactatatgccgtttgaagaggccgcccgggga
+tatgagattttcgaaaaacgtgaagaggagtgccgtaaggtgattctggtacccggtgca
+caaagcgcagaggcggcgcagaaggcggtttcaggtctggtgaatgcgatgccgggggga
+acaatatgatcgtcaggagtggttttcgaggtaaaggacagccatgacgataatcgccgc
+cataatcagaaatcctatcaggatgtaaaatgcttctgccatggttattcccacaaacga
+aacggaataattttgcagcaaaagtgaacagtgagaaccaggaaaaattgctgattttgc
+gtaaagaggatgcgagtgcatcctctgggcaaagcgagttatcgcttgtgcagatgggat
+taaagcaggtagtcgccagcagcttctggctggtattcgagttccagcacttcaaggtgg
+gttgcaacgccgcccggaagttcccagtgaatggaatcgccaacgcgcagccccagcagt
+gcggcacctaccggagccataacggaaagctgagtattgctatcggtcatttttgccgga
+tacaccagcgtgcgcacacgcacttcgccatcgctaagattgcggaatttaacccggctg
+ttcattgtcaccacgtcgtgtggcatctcttctggcgaacacatttgggcgcgatccaac
+tctgcgtttaacgcgtcggcgattggcaaaccagcataggcgggttgctccagcagaata
+tcgatgcgttcggcatccaggtcgttaatgatgatagttggtctggacatttttactcca
+tgtcgtcggtgctgcgagtgtcgcagataaacatacccaaaagaaaaccctcaccgtcag
+gcggcgagggtttaactcacatgatgatactgactgttgctcactctttgaagtgatttg
+cgtcacattcagggaattcctcaatgcagcgcattatgtataaatcttaatcgccttggt
+ttatggaagacgaattagcgtgttttgtaaatcagatgattaataacccgctttatcaat
+cacaaaggttttgccacagttacctgggtgaggttgtggcaagaatgagtttgcagaaag
+cggagcgttgatggcgtcagctttgatcgagatctgaatttcagtcaaatacgcagggtt
+accctggcacgttagcttaactgctttcacgttctcttttccccagcttttggcaaaggc
+ggcgtcaaagtcacggcggctcactgttttaccgtaattatccgcaaggaattttccggc
+ttcgctctctttaatttcttgattcaggcgtaccatcgtaccgaagtatgcgtccggatc
+aaaaccaaagcaggcaccgtgtttggcatattcgtagcgttccaggcaggaacgtccgcc
+agctcctggcatgacttcacttagtttagcggccgtttccagtgataatccggtttccgg
+cgatgaacacattcggctggcgcgcgcttctggtagattcgggattgggcgagtagcgca
+accgaagcgcatccagcggcgttcatcaacaccacgggcagcaaccgatttaggcaatcc
+tggccacagaccatgtacggtcagaaaatcagctttgttggtcgtttcggtttgcaggcg
+acattcatctcgttcgttacgatttcgatcgtgttgactctggcaaaatccggtttgcca
+ggagagggccaggacatagcgatcaaaatcgccatactgttttgcctgcaacgctaaggc
+gttggcagaagagaagggaagcagagaaaccgcgagcaacgcggcgttacgccagaatgc
+tttcataatgggtgtggaactcatacatacactgaatactatctattaaatcataaaaaa
+gcccgccaggtgggcttacctggcgggcgtgatgatttattcagcgtttggcgaacgtat
+tagttccacatggcgagaatcggccagccaaccaacagcaacatagagatgtaaatcacc
+ccgaagattgcgccaagacgccagtaatcttttgatttcacatagccacagccgtaaata
+atcaccccaggaccggttgcatacggcgtcagacagcccatgataccgatagacagcacc
+agcaggatacacagttgttccattggtacgcccggaatacctttaccgacggccagaata
+accggcagcatggttgcggtgtgcgcagacaggctggcaaacaggtagtgtgcaaagtag
+aacaccagaaccagtacaatcaccgttgcgtttggtgagaatccttccaggtgcgtactc
+atggtaccggcgaaccagtcaataaaaccagaacgagtcaggccgttagccatcacaacc
+agagttgccaggttgaccagtgtgttccatgcgctgttatagcgggtaatgtctttccaa
+ggcacaacgtgcagggccagcattagcgaaactgccagcagaccaaccgcagtagcatta
+atgacttcactgccaaatacccacaaacctaagctgagcaatacaaggccaatcagtgtc
+cactctctgcgtgtcagcgcacccatggttttcagttcatcacccgcccaggttgccact
+tcttcactgtgtgtgatttccggtttgtacagcacgtaggaaagccacggcgcaatgata
+agcaagataaccccaaccggcaggaagcagaggaaccactgcaaccagctaatctggata
+ccggcaattttgctgacgaactccagacccagcacgtttggtgccgcaccggtgacaaac
+atggacgaactcagactggtactaatgaccatcatccacatcaaatagccgccaatacga
+cgcgcggacggatcgttcgggaatgatttaaacaacggcggcaggtttttaatgaccgga
+aaaaccgtacccccggtacgcgcggtgttggaaggtgtaaacggtgccagcagaatgtcg
+ataatgacaatcgcataacccaacgtcagcgtgcgtttgcccatgaatttcaccaggaaa
+agggcaatgcgacgacctaacccggaaacttcataccctaatgcaaaaataaatgcgcca
+aataccagccataccgtggtgctggaaaaaccagccaggccccatttcagcgcctgtttt
+tgcgcattaaacgctgggtcagctaattctttggcatcaaagagcaggtaattactgcca
+ataacgcaaatagtaaccgcaataaaactgatcgctgttgccggaattggctcgaggatc
+atgccgacaatcattgccacaaacacagcgaagtaatgccatgcctgcggcggcataccg
+tcggggacagggataagaaacatgacacccatcaccaccagtggggccaatagtttccat
+atattatcttttgctaaagacatacgggttctccgaaaattaatatttccaaatttatca
+agtgcttaaataattaaatctgtgctaaaaaccaggtaaggatcagtaggtcagcactgc
+cgcctggactgagatttcgttcgatacactccctgtcgaactgccggagataatcgagat
+cggcgggggttcgaatgccccctttttgcaataatgtttgcgcctcgcgctgtagccagc
+gcaggcccccctcgccaccgcgcgatgcaacgttggtatcgccgttgatcgccatcagta
+ggagcaaggtatcgagcaatgccagttcaggatctaacccctgatccagcagagtgaggt
+aatgcggcaaggcgtgattgatcaccagtggataacccgcttcggcttcaccgcgtgcgc
+cggtaaggccaagctgttggtacaaccgttgacctgccgtcagttgtgaattattggtac
+gcagttcgcgatcggtcaggccacggcagaaacttgccgccgtagaacaaacggttgttg
+gcgttaccggttggttgagttgaagcaaacggccaattgccgcacatagcagccctaaag
+aaaaaatgctgcctttatgcgtgtttacgcccgcagtggcgcggaacatatcaccttcgc
+aagccataccaattgggcgtaatccgtggagtaccgcttctggtgccatttccgcactac
+aggcaccaaattcaatgaaacggggtagccagccctgaatcgccagcgcgctgcggtgga
+aatcttccagcgccatatctttgtgcgcaccgcagttaatgcgatccacgaggcctggtt
+tcggtgacagattgacttcagtcagcatggcgcgccagcccagcagggcgtactcatcga
+ttaatgacgtcgcaagctttgtggttttagttgacgttgcaggcatcgacatcgttcagc
+agtgcctccatgcggttgagtaaatcggtcagttgatgggtttttccacgcgcgcagacg
+gctgcgctttgttcgcacaacaggcagcggcgaggcggcagtgaatagtcgcggcgggag
+agaatttcgccttcgggcgtcaggacatcgatatcccataaccgcccgagaggatgacta
+tgttcaagctcaatggtggcgagcttgaggtcgcgagccggggcggcaatgctcaacatg
+ccctccggcccgctggcggaaaccagtgcagcctgctcctgaatttgccagccctgtttt
+gcggctaaggcacgcaaggctgtcacgccatgattaaaaattcggcgtgtgacctcgctg
+tctttaatcggcccaggcgcaaccacggtaaaggagaccagtggaacaggatggcgcttg
+agccagacgtgttgccgtgcttgcctttcatcccggctgacgagcagctcgggaattgat
+accgcatggtggctggcgagttcaggaagcaggtgcatggcttattccttcacctgatgc
+acaacatcgatcaccgagccatcgcggtaacgcacaacggcaacgacgcggtctgtgaat
+tcaatcggctgtggttcaccggtcagcagacgcgcacgttcgcgcagccactcaatggaa
+accactttaatgcccgcttcctgcagacgttctgccagttccggacgtgccgggttaact
+gcgataccgtggtctgtgaccagaatatcgacactggagcctggggtgatgcaggtcagt
+acgttatccaccagagtcggaatacgaccgcgtaccagcggcgcgacgatgatggaaagc
+gcagaggcaatcgcggtatcgcagtgaccaccggaagcaccacgcagtacgccgtcagag
+ccggtcagcacgttaacgttgaactgggtgtcaatttccagcgcgctcagtaccaccacg
+tcgagacgatcaaccgatgcgcctttcgaaccccagttagcgtactggttggcgctgatt
+tcgatgtgattggggttacgggccagcgattgcgcagcatggctgtcaaagctctgcaca
+tccagcagtttgcggatcagacctttttcgtgcaggtcaaccatcgtcgcggtaataccg
+ccaagggcgaagtcggcgcgaatatcgcggctacgcattttgtcttccaggaaacgggtt
+accgccagcgatgcgccgccggtgccggtttgcatggagaaaccttctttgaagtagcca
+gagttgacaatcacatccgcagcgctacgggcaataagcagttcgcgcgggttagtggtc
+atacgggtcgcgccagcgccgatttttgcagcatcgccaacgcggtcaactttgacgatc
+aaatcaacctgatcttgctcaatgcttgccggattatgcggataaggcagcagttcttcg
+gtaagcatcacgacctgttttgcgttgtcggcatcaactattgcatagccgagggagccg
+cagcaggctttaccggtgtagccgttggcattaccgaattcatcacaggacgggacgccg
+aggaaagccacgtcgatattcagttcgccgctctgtaccagatgcacacgaccgccgtga
+gagtggatctgcaccggttctgccagcagaccacgggagatctcttccgccagtggacca
+cgcaggccggaggtataaatgcgggtaaccacgccctggcgaatgtgttctaccagcggc
+gcatggcaatcactcagggagctggacgccagggtcaggtttttaaagcccatcttcgcg
+atgacgtccatcaccatattgacggtcaggtcaccgccacggaaagcgtgatggaaggaa
+accgtcatgccgtcctgtaaaccagagcgacgaatcgcttcttccaggttggcgcacagt
+ttgcgatcgcgcgctttttcagcctggtaggtttgctttggcgagttctggaaagcggca
+agatcgcattcagcgcgacgattccaggccgctacccgttcttgtcgttgagattgttca
+attttctgcgtcattttgattgccttattcttcgcggatgccggaaagttctgcacggga
+gagcaccagacgggcgcgatcgataaccggaccgtccaccatcttgccgttcagggaaac
+cacgccgaggccttcgcgagcggcggcttcagcggcttctacgacgcggcgggcgtgatc
+cacttctttctgggtcggtgcgtagaggttgtgcagcagatcaatctgacgcgggttgat
+cagcgatttgccgtcaaagcccagctgtttgatgtgggcggcttcttgcagaaatccggc
+ttcgttgttagcgtcggaatagacggtatcgaacgcctgaatacccgcagagcgcgcggc
+ctgcaaaatggaacagcgtgcgaacagcagttcagttccttccggggagcgttctgtacg
+caggttgcgcacatagtcttctgcaccgagggcgataccgatcaaacgctcggaagcgtg
+agcgatttccactgcgcgggtaatccccagcggagattcaatcgccgccagcaggccggt
+gctgccgggttcacgaccacaggctttttcgatacgcaggatctctttttcaatatccag
+aacatcctgagcggtatcggttttcggcagacgcacaacgtccgcaccaccgcgaacgac
+ggcttccaggtcgttaacaccccattcggaatccagcgcgttgacacgcacaatggtttc
+aatatcgcgatacagcggatgttgcagcgcgtggtaaaccatgcggcgggcggtgtcttt
+ttcacgcaatgctacggagtcttcgaggtcaaacatcagggcatcagccgggtagatgaa
+ggagttgctgaccatcgcggcattggcaccaggcacaaacaacatgctgcggcgggtgcg
+agttttacgttgttgcagcgaagcggaaatcattggcaatcctcccatggcagagccggg
+ataccgctggcgcgtgccagcagggcttccagtcgtgcacgtaaaatgcagtccagtgcg
+cctttgtcatcgacattcagctgtacgccgcgcacgttgtagcgggcgagaacgtccaga
+atggtggtgcgaattgcatcgccaaactgtttctcaacgctgctattgatttgcaggtcg
+atatcctgcgtatcgagtggggcgatgcgtatcatcacatccccagactcaagggtgcct
+gcaacggcgggctggtttattttcatttttcacctgtttctcatgcgggggtcttttgac
+gagctgccgcgtcctggcgggagtgctcaagcaggttctgcaaataatgcagcgtgactg
+cagggaccagcggcgcgatagccgtgagatcgtttttcgccagcagttgacgtacccggg
+aagcggatatcggcatctcctggtaacgcagccgctcaatttcaaccagttcgatgggcg
+gtgcggagatagtcggcgtttccagccagtagcgcatatcctggttgtactgggcggtaa
+cgcgacaaaagggttcagtaccgacaaagcggtgagttacacccagcgcgggagcgaggt
+actgacggaaaatcttcagatcaatttcggtgtaacaatggttaatgacgctctgttctt
+taatgaagtagcaagggaacgtagcgcgggagatgatgtattcggagccacgatgcacag
+tcaggcgtggaatatcggcggtgccttttaacaccaaatccagccggtcttcatagggga
+agcgtgaagaatcttctttgactaaaaacagatgcaaccagtcgcactgtgccgcagcct
+gttgaatcagataacggtgaccattcgtaaagggattggcgttcatcacaatgcagccaa
+tcttgttccctggatgacgaaattttttcagcgattcggcatagcgtttcagtcgcgtgg
+cgctgttttccatcagcaccatcacgccgggtacgctggtcagcgtggaaaaaccgcact
+ggcggaacagcgcctcgtattcggttttggtataaataaacagatgcgtgctgtgccgct
+cataggcgaggtttatcaattcagtggctaatgtcagcgccagtccttcaccgcggacgg
+attcactgatagcaacgcatttaataatatttccggcaattccaccgcacgcgataagct
+tttcatcgcgggttacggtaataaatacttcgactgtggtgtcaacgctcaaatcatttt
+catgcaggaattgggcgatttccgccatttttttattttctgaacgttttacgcgggtga
+aaatatcattgccgaacataataaatagtatcctgaaggtgcatgttgttatcgatttgc
+aacgaatgttgttcaatgttgcaaactgataaccttttattttcacttgggagaaagggg
+gtgatcgaggtatatctttttctcctttcgctatacatcctaaggagtatttcggcgtga
+aattttgatttatttcacatagagttagtggttttttatttatttaatgattttaagttt
+tttaattaatgtaattacgaaatgactcgcaggtttaagtgatttaattgatttaatgaa
+taaaatttgccacgatcataattaatatctatgtattttgattcaacattttaattacat
+ccgtcaaagaggctcgggacaacccgcaaggaaaacaatgttgcagcttaacgagaataa
+acagtttgcatttttccaaagactggcatttccgctgcgtatctttttgctgattctggt
+gttctcaatatttgtcattgcagccctggcgcaatattttacggccagttttgaggacta
+tttaacgcttcatgtacgcgacatggcaatgaatcaggcgaaaattattgcctccaatga
+cagtgtcatctctgcggtgaaaacgcgtgactacaaacggctggcgaccatcgctaacaa
+attacaaagagataccgattttgattatgtggtgattggggaccggcactcgatccgcct
+ttaccatcctaatccggagaaaattggttatcctatgcagttcaccaaacagggcgcgct
+ggagaaaggggagagctacttcattaccgggaaagggtcaatggggatggcgatgcgcgc
+caaaacgccaatctttgatgacgatggaaaagtcatcggcgtggtgtcgattggctacct
+ggtgagtaaaatcgatagctggcgggctgagtttttattaccgatggcaggtgtgtttgt
+cgtgctgttagggattctgatgttgctgtcgtggttcctggccgcgcatatccgtcggca
+gatgatgggcatggagccaaagcaaatcgcacgcgtggtccgtcagcaagaggcgctgtt
+tagttcggtttatgaagggctgattgcggtggatccgcatggttacattaccgccatcaa
+tcgtaacgcaagaaagatgctggggctgagttcccccggacggcaatggttgggtaaacc
+cattgttgaagtggtcaggcccgccgatttctttaccgaacagattgatgaaaaacgtca
+ggatgtggtggcgaactttaacggtctgagcgttattgccaaccgggaagctattcgttc
+aggtgatgatttgctgggggccattatcagctttcgtagtaaagacgaaatttccaccct
+caatgcgcaactgacgcaaataaaacaatacgttgagagccttcgtacattgcgacacga
+gcatctcaattggatgtcgacgctcaatggtctgttgcagatgaaagagtatgatcgcgt
+gctggcgatggtgcagggggagtctcaggcccagcaacagcttattgacagcctgcgcga
+ggcgtttgccgatcgccaggtggcggggctgctttttggtaaagtgcagcgcgcccggga
+actggggctaaaaatgatcattgtccccggtagccagctttcgcaactgccgccaggact
+ggatagcaccgagtttgcagccattgtgggcaatttacttgataacgccttcgaagccag
+cctgcgtagcgatgaaggaaacaagatcgttgaattattcctcagcgatgaaggcgatga
+tgtggtgattgaagtcgccgatcagggctgcggcgttccagagtctctacgagacaaaat
+atttgagcagggggtcagtacgcgtgctgacgagcccggtgaacatggcattgggttgta
+cttgattgccagctacgtaacgcgctgcggtggtgttatcactctcgaagataatgatcc
+ctgcggtaccttattttcaatctatattccgaaagtgaaacctaatgacagctccattaa
+ccctattgatcgttgaggacgaaacgccgctggcagagatgcatgcggaatatattcgtc
+acattcccggattcagtcagatattactggcgggaaatctggcgcaggcccgaatgatga
+tcgagcgttttaagccggggctaatcttgctcgataactatcttcctgacggtagaggga
+ttaatttactgcatgaactggtgcaggcgcattatcccggcgacgtggtgtttaccactg
+cagccagcgatatggaaacggtgtctgaagccgtacgttgtggtgtatttgattatctca
+ttaagcccattgcctatgaacggctggggcaaacgctaacccgtttccgccagcgtaaac
+atatgctggaaagtattgatagcgccagccagaagcaaattgatgagatgtttaatgctt
+atgctcgcggtgaacctaaggacgagctaccgaccggcattgaccccttgacgctaaacg
+cggtgcgaaaactgtttaaagagcctggtgtgcaacatacggcagaaacggtggcgcagg
+cactgaccatcagccgcaccactgccaggcgttatcttgaatattgcgccagccgccatc
+tgattattgctgaaattgttcacggcaaagttggcagaccacaacgcatataccacagtg
+ggtgacatgataaagccggaggaaacttgcctccggcattactatttacttgcctgtgac
+cgctgctgccgttcctggcaccatcagctctgtagcaacgataacaatcaccaaaccaac
+aagcaccggtaccgaggtgcgttttacgacttcaaacggcgagatcttcgccatcccggc
+aaccgcaacgactacgccagaaacgggcgaaagggtacggccaaggtttgacgcctgcag
+catcgggatagtcaaatacgccgggttaatgccggaagagtgcgccagtttcgggatcat
+ctcaacaaacgcataaaacggcgcattgcctgaaccggtcgtgactgccgccagcattgt
+cagaatcaccaataccagcatcaggatgatactcgccgaaccaaacgaggtagcgataga
+aatcagactttgaataaagccgatggtgctaagcccctgagcgaataccccagcggcaac
+cagcagcatcaccacgttagcaaacgcatctgccatcccgcgataagccacttccagacc
+agagaaaactttctgggtattaaagctgcggaggaactccagaatggaggcaatcagcat
+acaaatcaccagaatagtgatgatgtgtaattgcggaccccatttaccgtcaaaaatcag
+tacaccgatgatcggcgtgaacggcaaaatggcataaaacgcaggagcagtggtggtgat
+ttcactgacatctaacatttcatgagagatgtgctcttttttatccagataacgttgcca
+gaagaagtgggcgatcgccatgccgataattgcagcaattgagataggcagcgtcgtttt
+gaaggcgaagtcaatcagcgacatttcggaagcttgcgccgccagcaccacatcccctga
+agtcggtgcgagaataatcgccgccggggaggcacaaatggcagcagctgcgccacgact
+gataccaacgtttaccatcaccggaaatagggttgccatcagcaaaacacccagaccggt
+tgcggaagagacggccagagacatcagacaggcgacaaaataggcggcaatcatcagcag
+gtaaggggagttaatatactgcaatggttttgacgccagcttgaccaccatatcattcgc
+gccgatatgggtcatgtaagcggcaaatccacacagcatcataatcatcatgccgaggtc
+gccgccgcggctcattagtaatattttaacgtattcaacgatatccgtggcgctgtagcc
+tgttgaagcctggctggacggtaacactttgtgccccataatggcactgataatcagcaa
+taacaggccaccgacaaataacacaccagtggcggaataccctttaatgatgtagcgagc
+tacacccacaataaccacaaccccaataaggagctcaatgaatgtcagcataatttttcc
+tgtctccaggccccaaagtaaataataaaaaattcctaaagcttaaggaaaaaatatgcc
+caataaattggcgatgaatgctgattaaaatcaagaaaaactgccattaagacattgaag
+ttgctgtttttatacatagataacaaaacgcatatttagcggttggcaattatcacataa
+taatgtgtgcaaattgatggtggattgatgcaaatttgttaattgcaatggtgttagctg
+cggctgtgcgctcaaaaaataatctaatatgagcataggttgacgatatatattatatac
+ttcgttaagatgattgttgtatctcgttaaaaaataaaataatttttccttgattgcatt
+ttgtcatcaaaaaagacttggtttttcttttttgactattcccatcgcagaaaacgacgc
+atcatctttaatcgatgcgcggaaatatttaacttgaacaagcggaaataaatagagcag
+ctattcagattattctttatgttgggtctattaaggttatgttaattgtagctttgctat
+gctagtagtagatttttgataaatgttttatggtcacaaatgaacgtgagtaaatatgtc
+gctatcttttcctttgtttttattcagttaatcagcgttggtaaagtttttgctaacgca
+gatgagtggatgacaacgtttagagaaaatattgcacaaacctggcaacagcctgaacat
+tatgatttatatattcctgccatcacctggcatgcacgtttcgcttacgacaaagaaaaa
+accgatcgctataacgagcgaccgtggggtggcggttttggcctgtcgcgttgggatgaa
+aaaggaaactggcatggcctgtatgccatggcatttaaggactcgtggaacaaatgggaa
+ccgattgccggatacggatgggaaagtacctggcgaccgctggcggatgaaaattttcat
+ttaggtctgggattcaccgctggcgtaacggcacgcgataactggaattacatccctctc
+ccggttctactgccattggcctccgtgggttatggcccagtgacttttcagatgacctac
+attccgggtacctacaacaatggcaatgtgtactttgcctggatgcgctttcagttttga
+gacaaatgaagttttagtaacttctttaaaatcaatagctaaaataagtaacatcaaaaa
+taacgcgacttttatcactttttagtaaagttacactggacaaagcgtaccacaattggt
+gtactggtaaccgacacagcatttgtgtctatttttcatgtaaaggtaattttgatgtct
+aagattaaaggtaacgttaagtggtttaatgagtccaaaggattcggtttcattactccg
+gaagacggcagcaaagacgtgttcgtacacttctctgcaatccagactaatggttttaaa
+actcttgctgaaggtcagcgcgtagagttcgaaatcactaacggtgccaaaggcccttct
+gctgcaaacgtaatcgctctgtaagatacgtcagcaagaattcaaaacccgcttaatcag
+cgggttttttttggtctttagtgtgcggttgaggccgaaaacagccagaatgccagtgcg
+gtcatggcaaaagaccccagaaggttgacgaaaacgttcagtaatgcccagccaaagcgg
+ccctcttgtaacaaaaacaccacttctgccgaaaatgttgagaaggttgttagaccgcca
+caaaatccggtggtgattaatactttccacactggatcaatgttcgtcatcctgctgaac
+catgcgaatcctattcctatgatgaatgccccaatcaggtttgctgtcagcgtccccaac
+ggaatcgcctgatgcagtgggttaaatcgcatacttaacagccatctcgccacgcttccc
+gtaccaccgccaataaaaactgctaaaagaagttgtaacactgcaaaatcctgctatttg
+atttgtatgagtgataagtgtaacgccgaataatcgtcgttggcgaattttacgactctg
+acaggaggtggcaatgctggttgccgcaggacagtttgctgttacatctgtgtgggaaaa
+gaacgctgagatttgtgcctcgttgatggcgcaggcggcggaaaacgacgcatcgctgtt
+tgccctgccggaagcattgctggcgcgcgatgatcatgatgcagatctatcggttaaatc
+agcacagctgctggaaggcgaattcctcggactttacggcgagaaagtaaacgtaacatg
+atgacgacaattctgacgattcatgttccttcaacgccggggcgcgcatggaatatgctg
+gtggcacttcaggcaggaaacatcgtcgcccgttatgccaaactgcatctctatgatgca
+tttgccattcaggaatcacgccgtgttgatgctggtaatgaaatcgctccgttactggag
+gtggaagggatgaaggtcggtctgatgacctgttatgacttacgctttccagagctggcg
+ctggcacaggcattacagggagctgaaatcctggtacttcctgccgcctgggttcgcggg
+ccgctcaaagagcatcactggtcaacgttgcttgccgctcgtgcgctggataccacctgt
+tatatggtggcggcgggggagtgcgggaacaaaaatatcggtcaaagccggattatagat
+ccctttggcgtcaccattgcggcagcgtcagaaatgcctgcactcattatggcggaagtg
+acgcccgaacgtgtgcgtcaggtgcgcgcgcaactgcccgtcttaaacaaccgtcgcttt
+gcgccgccgcaattattatgatgtttttttactcggcgcttgattcaccttgttacagat
+tgctattgtgtgcgcgcgtcgaatgaccgttaatattctctggtttttaaggcgcgttct
+gttgccggttatatgtcaagaaggtatctatgggtgagattagtattaccaaactgctgg
+tagttgcggcgctggtcgttctgctgtttgggactaagaagttacgtacgctgggcggag
+accttggagcggccattaaagggttcaagaaggcgatgaatgatgacgatgctgcggcga
+aaaaaggcgcagacgttgatcttcaggctgaaaagctctctcataaagagtgacgtggcg
+agcaggacgctccctcaatatcttgttcgatacaaaaaacccgcttcaaaaagcgggttt
+tttatcagacagatgtaagtaattattacaggattacttaacttccatccctttcgcctg
+caaatcggcgtggtaagaagagcggacaaacggaccgcatgcagcatgggtaaagcccat
+cgccagcgcttcggctttcatttcgtcgaactcatccgggctaacgtaacgttgaaccgg
+caggtgatggcggcttggctgcaaatattgccccagcgttaacatcgtcacaccatgacg
+gcgcaggtcgcgcattacctcaataatttcttcattggtttcacccagtcccaccatcag
+accagacttggtcgggatttccggatgcgcttctttaaagcgttccagcagcttcagcga
+ccagttgtaatctgcaccaggccgtacctgacggtaaatacgcggtacgttttccaggtt
+atggttgaacacatctggtggcgttgcagtcagaatatccagagcacgatccatacgacc
+gcggaaatccggcaccagagtttcaattttgatttgcgggcttttttcccgaatggcagt
+aatgcaatccgcaaagtgctgggcaccgccatcgcgcaggtcatcacggtcaacggaggt
+gataaccacataacgcagcgccatatcggcaatggtctgcgccagtttcactggttcatt
+ggcatcaggagctaccgggcgaccgtgggcaacatcacagaacggacaacggcgggtaca
+aatagcgccgaggatcataaacgttgctgtgccgtggttgaagcattccgccaggttagg
+gcaggaggcttcctcgcagacagaatgcaggccatttttgcgcattgcggctttgatgcc
+ctggatacgtgtagagtccgctggaagcttgattttcatccattccggcttgcgcagcag
+ggcttcgcgctctgttgccacgtttttaaccgggataagggccatcttatcggcatcgcg
+gtatttaacaccgcgttccatcacaatgggtttactcatagcgtgcgtgttccagttgcg
+aattacgaaggaaagcgtttcaattcaatagattgttgtaattatcaactatttttgaat
+taacgactggcagtatatcattgaaacggacctgaaagcagccaaagcggtcgcgaaaat
+gtaaaattgttgttggattgtgccattttatcgttctgcgctgtgatctggctgtaacaa
+tactttttcaaaatgcattacggataacatctattactccgtgcaggatgggatcacgca
+ggctgaatttgttgtagtggatagagaaatctatttgctcctcatttaaggacggaaaag
+gcagtttttccagcggccagcagcggctaaacaggttataaaaacggctgggaataatcg
+ctaacatgtcactgttggcaaccagtgcagcgattgtcaaaatgttgtagctggtgaaat
+tgatttgccggtccggaaacatttcttgaactctctgccgcagaccgctgaaattttgct
+cttccggtaacagaagtacatgcgcagcgttgtcgatagtctctctgtcatcttctaaag
+agagtagtggatttccctcgcggcaaattaacaccatattgtcggtgaacagaacatgat
+gttgcaccgtacgattggtgcaaaacatgttatcgatgatgagatcggtttgaaactgac
+tgagttggttttccgcgtcgctgatgggcgggttgcgcagtaaaagctgcggatagtgag
+ttttaatcgcccgatagatgacaggaaggaccagtgctccgaccgagggagtggtcgcaa
+tagttatcgttcgttgcttatcatagcttccttcgatatccagcgcgccaagaatggact
+caaggccctgactgatatactcatgtagatgcatcgcaaatgcggtaggagtgacaccct
+ggcctttgcgaataaacaatgggtcagggaatataacgcgcagtttctgaatagactgac
+tgattgccgagggggtcagattaagcactttcgctgcattaacgatccctttatgtacat
+atacagcttcaaaaatagtcagaaggttaagatcaatatttcgtaaggttgtaaatattt
+gtggtttaccttctgacgactttctgcttaaacagggttcaatttgattattactatcca
+cgcacttactccaattttattcatggaaaaataatatttaaaaaattacaataatcttat
+gtctaattggaacggaacgcttttgctcaccataatcaactatttcaataggttaatcaa
+tggggtgagttacggagcaaggcgtggcaccgcatttctgcaagtgataaagaaaatata
+caaacgcgaaggagatgtaaagcattagcagatattatgagtaatgacccagtgtaaatt
+gggccattgatgtatggaattaagcggtaatatattcgaagtccggattgtttagtagcg
+ctaaaatattttccagtaaacgtggagcaatattattagtcgtcgcttcgggtttccatt
+gtgatattttagccatttccattccggcatacccacaaggattaatacgtaaaaatggtg
+aaagatccatattgacgtttaatgccagaccgtggaatgaacaaccgcgtcgaatacgta
+aacccagtgagcaaattttcttttccccaacatagacacctggcgcgtcagcccgaggat
+gcgcttctatacccagttcagccagggtattcaccactgtttgctcaagcaaggtcacca
+gttcacgcacaccgagtttacggcgtttcaggttaagcaacacatacatcacctgttgcc
+ccggcccgtgataagtcacctgcccaccgcgatcgctctggatcaccggaatatcacccg
+gcattaaaatgtgctccgcttttcctgcctgaccttgggtgaataccggatagtgctcga
+ccagccagatttcatcaagggtactatcatcgcgggtatcggtgaattcatgcatagcct
+gggagattggctcgtaaggctgaagaccgagctggcggacaagaattttatcctgataca
+aaacggcatctccgtggagaatgagtaaaagtgggggaaaagtatatcacagcgaggaga
+ggggagttacccgaccaggagccgggtaacggagaagcgagttacagaaccatgcggaca
+atatcgattttgcccagttcttcatacagtgtttcaacctgctcgatatgagtggcgttg
+atagtgatagataccgagtggtagttgcctttgctgcttggttttaccgttggggtgtag
+tcacctggcgcatggcgctgtaccacttcaaccacctgatcaaccagctcaggtaacgcc
+tgccccataactttgtaagtaaaaggagtagggaattcaagcagttcgttaagtttggtt
+ttcatgtcagctccggcgtaacgtaattaaatagcaactcccgccagaaggcgggagttt
+tttactgatgcttagtatatggggacggaaattacactttcaagtgtttaatttttaacc
+aaaccagtgatggaacattaatttaatgtaatcaatgattttgccgaagaagttaccttc
+cgggatttcttgcaacacaaccagcgggcgttgctcgatcgttttgccatcaagctggaa
+gttgatagttccgacgacctgattcttttgcagcggcgcatgcaattcactgctgttcag
+cacatagctggctttcagatctttcatgcgaccacgcggaatggtcaggtacacgtcttt
+atcaacccctaacgaagcgcgatcagaatcaccaaaccaaaccggttcagaggcgaactc
+tttacctactttcagtgggttaacggtttcaaagaaacggaagccccaggttagcagttt
+tttactttcggcttcacggcctttaaaagtacgtccgcccattaccgcagaaatcaagcg
+catctggccttcagtcgcagaagcaacaaggttgtaacctgctttgtcagtgtgtccggt
+tttgatgccgtcgacattcaggctgttatcccataacaggccgttacggttcagctggcg
+aataccgttaaacgtaaattctttttctttatagatcgagtattcattcggtacgtcacg
+gatcaatgcctggccgatcagcgccatatctcgcgcggagctgtactgaccatcagcatc
+cagaccatgtaccgtctggaagtgggtatttttcaggcccagtgcgttaacgtagctgtt
+catcaagccaacaaaagcgtcctggctaccagcggcaaaatcggccatggcgacacaagc
+atcgttacccgattgcaggttaataccgcggatcagctgagaaaccggaacctgcatgcc
+cggtttgaggaacatcagcgaagaacctttaaacaccgggttaccggtggcccatgcgtc
+gttgccgatagtgactaaatcagtttctttaaatttaccggctttcattgcctggccgat
+aacgtaactggtcatcattttggtcaggctggcaggatcgcggcggacatctgcgttctg
+ttcggcgagcactttgccggagttatagtcaatcaggatgtaggactccgcatcgatctg
+cggtacacccgggatcatagttttgatattcaggtcatcggcatgtgcagcagagataaa
+ggctgtgcaaagagccgtggtgagcgccaggcgcttcatgatacgagcggaaaaaatggt
+attcatggtctgaactacgacatccgtgatggaattaaaaaagtgccctactatagcaaa
+tgcactaccggcaggcatctgactttccgcgtgactttgttaacgtcatttacagaaatt
+gacacatcagatgcctgctttacgctactgcgcggtagtaataaatgactgtaattgggc
+ttcggtttgcaaacgttgctgcaaggtactggcttcggctttgctggcgaatgggccaag
+ctggatccgccagaccgcgccattttgagttacgcgaccggggacgccgaacttctgtcc
+cagttgctgttggtactgttgcgcacgagcctgatcgcttacggccccgacttgcaccat
+aaagttgccgctggcgctttgcgagacggcttgcggtgtcaccattgcaggcgaggttgc
+aggcgttgtcgacggagctgtaacaacgggctgtggcgcaggcgtcggttcgctgccttc
+cagtacaccaggcgctaaggtcgttggtgcgccgaggaaaccgctactggttaccggcgc
+gccggtcggatcttcgctttttagcgtcgaattactgaccggaagaatgtcaccctgcgg
+gccagacactgaacttgttcccgcgccaccgcttaaatcgggaggtgcaggcagggcgta
+agtctgtttggcgactgtggtacaagccataccaggaccagaaagcgaaccatcctgggc
+aacaataatcggatcgatacgaactttggtgttgtttgacgtgttaagacggtcagctgc
+cgcgcgagaaagtgaaataacgcggtcgttgccgtaagggccgcgatcattaatgcgcac
+cacgatcattcgcccgttagccaggttagtgattctggcgtagctggggatcggaagcgt
+tggatgggctgccgtcagctgtgtcggatcgaatgcttcgccagaggccgtcaggttact
+gccgggttcggcatcatagattgccgccagtcccgcctggctaaatcgagacggatcctg
+cacgattttgtagcttttaccgtcgcgctggtaatcctgatttgccgtcgcgttcagtgg
+ttcgaaacgcgggtccgccccgctaatttcaactatagggccgttacataccgcaggctg
+cggtacacttaccgtctgttgctgaccatcatcgcttgtacatgccgcgagcattcctgc
+cgcgatgcagatcccgagccactgcttacgcattgcgcacctcttacacgcttttcgaca
+acattttcctgtgggtgtggattgacattacaatcccgaacccagccatcagcacaatta
+gcgccgatcctccataactgaccagtgggagcggaacccctacaaccggcagaataccgc
+ttaccataccaatatttacgaagacataaacgaataatatcagcattaagccgccagcca
+tgacgcgaccaaaggtggtttgcgctctggcggctatccacagcccgcgcatgatcagca
+gaatgtagagagcgagcagaatcagaatgcccactaatcccagctcttccgccagtaccg
+cgaagataaagtcagtatggcgttcggggagaaattcaagctgtgactgagtgccgtgca
+gccagcctttgccgcgtaatccgccggagccaatagcaattttagactgaataatgtgat
+agcccgcgccgagtgggtctgattccgggtccaggagcatcattacgcgctggcgctggt
+aatcatgcatcaggaagaaccacagaatcggaatgaacgccgctaccagcactactgcga
+cgccaatcagacgccagctaaggccagagaggaacagtacaaacagaccggaaagcgcaa
+cgaggattgatgttcccaggtcaggctgtgcagccaccagcagcgtgggcataaatatca
+gcaccagcgcgatgccagtgttcttcaacgatggcgggcaaacgtcgcggttgataaagc
+gcgcaaccatcagtggtacggctattttggcaatttccgacggctgaaaacgaacaatac
+cgaggtccagccagcgttgagcacctttagagatggcaccgaaagcatctaccgccacca
+gcaaaataatacagatgatatagagatagggggcccagccttcataaacgcgtggaggaa
+tttgcgccatcaccaccatgatgaccagacccatcgcgatttggccgattttacgctcca
+tcatgccaatatcctgaccgctggcgctccagataaccagggcgctgtaaaccagcaatg
+ccagtaagatcagcagcattgtgggatcgagatggactttatcccagaatgtttttttat
+tcggattatccgtcatgattaatggtcctccgctgcggcaaccgctggattttccgcagg
+cagatcggtgttgttatcacccagcataatgtggtcgaggatctggcgcatcagtgtacc
+aaccgccggacccgcaccaccgttctccagaatcatggcgacagccacttgcggattgtt
+gtatggcgcaaaggcggtcatcagtttgtggtcacgtaaacgctcggcaattttgtgcgc
+attataggtttcgttcgctttcagaccgaagacctgagcggtaccggatttcgccgcaat
+tttgtacggtgcgctagcaaagtatttatgcgccgtaccgttagggcggttagcaacacc
+gtacataccgtctttcgccagctcccagtaaccggaatgaatatcgccgacgggcggttc
+atgcggctgtacccatggcacctgtttgccgtcttcggcggtgctcatcagcaaatgagg
+aaccttcacgataccgtcattaatcaggatcatcagtgccttactcatctggattggggt
+cgctgtccagtaaccctgaccgataccaaccggaatggtgtcaccctgataccacggttt
+tttaaagcgtttctgtttccattcgcgggtaggcatgttgccggaacgttcttccgccag
+gtcgataccggtgtaatgaccataaccgaatttacccatccattcggagaggcgatcgat
+ccccatatcgtaggccacctgatagaagaaggtatccgcagattcttccagcgatcttgt
+gacattcagacgcccgtggccccattttttccagtcacgataacgtttttccgaacctgg
+cagttgccaccagcctgggtcaaacagcgtcgtattgcgcgtgatcaccccggcgctcaa
+tgccgaaaccgccacatagggtttaactgtagacgcgggaggataaaccccctgtgtggc
+gcggttcaccagcggtgtattcggatcgttcaacaaggcggaataatctttgctggagat
+accgtcaacaaacaagtttgggtcataactaggcgtggaaaccagcgccagcaccccacc
+tgtacgcggatcggtgactaccacagctgcgcggctacccgccagcagcgtttcaatata
+ttgctggagtttgagatccagcgtcaggtaaatatcgtgtccggcttgcggtggtacttc
+ttttaactggcgaataacacgcccacggttgttaacttcaacctcttcataaccggtctg
+accgtgcagcacatcttcatagtaacgctcaatgcccagcttaccgatatcatgcgttgc
+cgcatagttggccagtttgccgtcattattcaggcgttcgacgtctttatcgttgatttt
+cgacacatagccgatgacgtgggtcaacgccgaaccgtaaggatagtaacgacgtttata
+gcctttaacttcgacacccggaaaacggtactgattgacggcaaagcgagctacttgtac
+ttcggtcaggttagttttcaccggaatagaggtgaaacggtgtgaacgtgcgcgctcttt
+tcggaatgcagcaatatcgtcatcggtcagatctaccacgctgcgcaaagcgtccagcgt
+ttgctgcacgttatcgactttctccggcatcatttctatctggtagatagtgcggttgag
+ggccagagggataccgttacgatcgtagataatgccgcggctgggcgcgataggcaccag
+cttaatgcggttttcattagagcgggtctggtagtcggtaaagcgaacaatttgcagatt
+atacaggttggcgataagcacgccggtcagcagcaaaatccccaaaaaggcgaccagcgc
+ccggcgcacaaacagcgcggactctgccgtatagtcgcgaaaagagttctgtagtttcat
+ccgctgcgttttctactcaaagctcccttatcactcacggtgataaggatggttggtggt
+gatgctccacgcccggtacagactctctgcgaccagcacgcgaaccagcggatgggggag
+ggtaagcgccgacagcgaccagctctgctcagccgccgctttacaggcaggcgacaaccc
+ttcaggcccgccaatcagtagactgacgtcgcgaccatccagcttccagcgttccagctc
+agcggctaactgcggcgtatcccagggcttgcctggaatatcgagggtgacaatgcggtt
+tttgcctgcggccgccaacatctgctcaccctctttgtcgagtatgcgcttgatgtccgc
+attcttgccgcgttttccggccggaatttcaatcagctcgaagggcatatctttcggaaa
+acgacgcaggtactcggtaaaaccggtttgtacccagtccggcattttcgttcccacggc
+gacaagttgcagcttcacgcattaactccagagtttttccagttcatacaggcgacggct
+ctcttcctgcatgacatggacaatcacatcgcccaaatccacgacaatccagtcggcgct
+gttttcaccttctacgccgagcggtaacaggcccgctgcgcgagactcctgcacaacgtg
+gtcagcaatggacataacatgacggctggacgtacccgtacagatgatcatgcagtcggt
+gatgctggatttgccctgaacgtctaaggcgatgatgtcctgacctttgaggtcatcaat
+tttgtcgataacaaaatcctggagtgctttaccctgcaagttttccccctgggtgaatca
+aatagataaaaatggtctgtcagtatacctgaaccagaggcgatttcgggacaattgtcg
+ccgaatcggctttcgaaagtgggctatcatcccaccccgcgccgcagattgcatcgccat
+ttttgtaaaacaatttctacaaagtcgtgtctggcggaaaaagtctggctgcggagaata
+tcagcctgcccgggtctgtcaatggtcgttgcggcttacccgtaaaaaaacagaaaagtc
+atgcattctcgaccccgatggcacggctattgaggacgcgtagcgtcgcgaatttttggt
+tgatatcaatggcgctccaacacccctggtcaacgcgaaaatgccacatagcttcggcag
+gcatgccaattaaacgggcgattaacagactcagtacaccctgatggctgacgactaaaa
+tattctgatagtgctgaaattcactaagccttgcgataaagcgttccacacgttgcgaaa
+atgcctgaaatccttcaccgttcgtggggattgcatgctgccagtcattgcaccacgcgc
+tatagttttcggcatcttcttgcatgaggtcgcgatgatgtcgcatctcccagtcgccaa
+aaaacatttcgttgagttcaggtatgatttgcacggggagctggcggtcactgagaacca
+gtcgcgcggtatgctgtgcccgttccagttcactgcataaaaccagatcaaaggaaacac
+catgtagcagcgtatgcagattttgcgcttgctcaataccgcgcgcggtcaggggggtgg
+gcgcatgaccgctgtaaagaccatcgatattcgcttgcgtttcaccatgacgaattaacc
+acagtcgcatcatgccctccgtaacgacaggtatcagcgatacaagccttgttggttaat
+gtaagtcagtaccggttccggcaataaatcctcacatgattcaccgttttgcaaacgttc
+gcggatgatggtcgccgagatgttaaaccacggcgtttcagccagataaattttaccggc
+aggctgaaggtgaagatcttccgggttatgtgtcaaatgatcttccagccattgctggta
+ttgcggttgcgccatttcaagtgggtaacctggacgccgacagacgatcaaatgtgcatt
+gtcgagtatcgtttcgtattcgtaccaggtcggaaaggtcagcagtgaatcctgaccaat
+aataaacgccagcggcacgtccggtccttgttcctgccgccactctttcagtgtttgcgc
+agtgtaagagggggcattgcgctttagctcgcgttcatcaagagtaaataatggcttgtc
+ggcaatcgccagttcaagcatgtgtttacgctgcacgctgttcgcttccggctggggacg
+atgcggaggaacattattagggatgattgtgacccgcgtcagaccaatcaaattcgccag
+cgtttccacgggttttagatgaccatagtgcaccggatcaaaggtgccgccaaacagagc
+ctgtaaagatttcatatcaaccgtcgataaatacgtccgccaggggtttatggcacaaca
+gaagagataacccttccagctctgcccacactgactgaccgtaatcttgtttgagggtga
+gttccgttcgtgtcaggagttgcacggcctgacgtaactgcgtctgacttaagcgattta
+acgcctcgcccatcatgccccggcggttctgccatacccgatgcttatcaaacaacgcac
+gcagtggcgtatgggcagactggcgtttcaggttaaccagtaacaacagttcacgttgta
+atgtgcgcaacaaaataaccggttcgctgccttccagacgcagttgctgaagaatatgca
+atgcgcgcttactttttcccatcaacaaagcatcaacccaatgaaaaggggtgaaatgcg
+cggcatcattcaccgcctgttcaacgcgcggtaatgtcaatttgccgtctggccagagca
+gcgataaacgctccagtgcctgagccagcgccagcaggttaccttcataacagtagcaga
+gcacctgatttgccgcgtcatccagttctaagttgagctgttttgcgcgcgcagcaaccc
+agcggggaagctgagcctgctccggtgtctgacaggtcacctgcacgctgcgattcgcaa
+gcgcagtaaaccaggcggcattttcttgcgctttgcttaatttattaccgcggacgatca
+acagcaggtcgtcatgcagaagtccggtgagtgtgagaagttgctcattgatcgccgcat
+tcggtccgttttctggtaacaacagcaatagcgtttgtcgactggcaaacagactcatag
+cctggcataacgaaaagatcgcattccagtcagtgttgggatcaatggaaaaagtgtggt
+gttcttcgaatccttgtgccgcagctacctgacgaacagcgtcctggctttcctgcaata
+acagaggatcgttaccaagtaaaagatacgccgcgcgcagcccttcattgagctgcgcgc
+ggagttgttccgggtacaaccgaatcatcagttacccagcgtggtggagacgcgtgcagg
+cgttgccggagtatccgttgtggtcgacgtctgttcttcgtcggaacgaatatccgcagc
+acggatgcttggcagcttacgaatcagctgttcggcagcacggtcgtacatctcttttac
+gatcatgtcttgttcgttatctttcgctaacgccatttgcgggttatcgaagaacgaacg
+gaagactttggcgctaatcgggtagatatcacggccggggatcaacacggtcgcattaac
+cgtcatgatcatctgatactctgctgtttgaccgttacggaataccgatgcggtatcttt
+cgcgatgctcactttacccaaacgcaaggatggaacgtccttacgcgtggtttctttatc
+aagcaactcgacaccattcagacgtaactggttacgcaccgcacggcttaatggcccgtt
+cggatcgcctgagtccaggatcatgaccttcatagtggaaggaacctgcgtggtatcacg
+cagatgccagccacacccggcggtgattaacaccgccagagataacaacaatgttgccag
+atatcgcacgcttcctcccgcgcttagccaacgaccagattgaggagtttacctggtacg
+taaatcactttacgtacagtaacgccatcaagatattttgctaccagatgttcctggcca
+gcacgttcgcgaacctgttcttccgttgcgtccaccggaacggtgattttggcacggact
+ttaccgttaacctgcaccacgaccagcgtggagtcttccaccatcgctttttcgtcagca
+accggccacggcgcgttgtcgatatcgccttcgcctttcagttcctgccacagcgtgaag
+cagatgtgcggggtgaacgggttaagcatacggacaacggccagcagtgcttcctgcatc
+agagcgcgatcctgctcgccatcggttggtgctttcgccagtttgttcatcagctccata
+atcgccgcaattgcggtgttgaaggtctgacgacggccgatatcatcggtcactttagcg
+atcgttttatgcacatcgcgacgcagcgctttctgattttcagtcagcgcatcaacgttc
+agtgccgcaacatcaccttttgctgtgtgctcgtaaaccagtttccagacacgtttcagg
+aagcggttagccccttccacaccggattcctgccattcgagagtcatatcagccggagaa
+gcaaacatcataaacagacgaacggtgtccgcgccgtaacgttcaaccatcacctgcggg
+tcgataccgttgttcttcgacttggacattttgctcatgccggtataaaccagttcatgg
+cctgccgcatctttcgctttcacgatacggcctttctcgtcacgttcaacgatagcatca
+accggggaaacccagttacgttcgccgttttcgccaacatagtagaaggcatctgccagc
+accataccctgacacagcaactgtttcgctggttcgtcagagttcaccatgcctgcatca
+cgcatcagtttgtggaagaagcggaagtagagcaggtgcataatggcgtgttcaatacca
+ccaatgtagatatccaccggcagccagtagttagccgcttcggaatccagcataccttct
+ttgtactgcgggcaagtgtagcgcgcatagtaccaggaggactccataaaggtgtcgaaa
+gtgtcggtttcacgcagtgctggcataccgttaacggtagttttcgcccactccggatct
+gctttaatcgggctggtaatgccgtccattaccacatcttccggcaggatcaccggcagc
+tggtcgtccggggtcggcattacggtaccgtcttccagcgtcaccatcggaatcggcgcg
+ccccagtaacgctgacgggaaacaccccagtcgcgcaggcggtagttcactttacgctcg
+ccaacgcccatcgcagtcagtttatcggcgatggcgttgaaggccgcttcatggtcaaga
+ccgttgaactcgccagagttgaacagcacgcctttttcagtcagggcttgctgagaaaga
+tctggctcagagccgtcagctgccaggataaccggtttgatgttcaggccgtatttagag
+gcaaactcgtagtcgcgctggtcgtgccccggtaccgccataactgcgcccgtgccgtac
+tccatcaatacgaagtttgctgcccaaacgggaatttcttcgcccgttaatgggtgaacc
+gctttaaagccagtatcgacgccttttttctccatcgtcgccatttcagcttcggcaact
+ttggtgttacggcattcgtcaataaaggccgccagttcaggattattttccgccgctttc
+tgcgccagcggatgacccgcagctaccgccaggtaggtacaacccataaaggtgtccggg
+cgggtagtgtaaacggtcagcgtgttgtcatagtcgttaacgttgaaggtgatctccacg
+ccttcggaacgaccgatccagttacgctgcatggttttaacggtgtctggccagtgatcc
+agtttatccagatcgttgagcagctcgtcagcgtaagcagtgattttgataaaccactgc
+gggatctctttacgttcaactttggtatcgcagcgccagcagcagccgtcgataacttgt
+tcgttcgccagtacggtctggtcgttcgggcaccagttgaccgcagaagtcttcttatat
+accaggccttttttatacagctcggtgaagaatttctgttcccaacggtagtattccggc
+gtacaggttgccagctcgcggctccagtcataaccaaagcccagcattttgagctggttt
+ttcatatacgcgatgttgtcgtacgtccacggtgccggagcggtgttgtttttcaccgcc
+gcgccttccgcaggcagaccaaacgcgtcccagccgatcggctgcaggacgtttttgccc
+agcatacgctggtagcgggcgatcacgtcaccgatggtgtagttacgtacgtggcccatg
+tgtagtcgaccagaaggatagggaagcatagacaggcagtaatacttctctttgctctcg
+tcttcggttacttcaaatgtgcgcttctcatcccaatgaagctgtactttggattctatc
+tcttccgggcggtattgctcttgcatggcagccagtggtcctgttttcaatacggctaca
+aatgtagcgttgaggtggtttttcagatccgcatagcatagcccaaacgtccgcgtcaaa
+acagcctttcgcgcactcgacgttgaaatgatgcccggattattcatacattaatttaca
+gagtttgtgggcgtattagcaaagcaaggaacaaagaacgtctattattatagtcagtta
+acgacccgggagatgaaacgatgaacaaggttgctcaatattaccgtgaactggttgcgt
+cactgagcgaacgcctgcgcaatggcgaacgtgatatcgacgcactggtggaacaggcgc
+gcgagcgcgtaataaaaacaggggagttaacgcgaaccgaggtcgatgagctgacgcgag
+ctgtcagacgtgacctggaagagttcgccatgagctatgaagagagcctgaaagaagaat
+ctgacagcgtctttatgcgggtgattaaagaaagcttgtggcaggagctggcagacatca
+ccgataaaacgcagcttgaatggcgcgaagttttccaggacctcaatcatcatggggttt
+atcacagcggagaagtggtcgggctgggaaatctggtctgcgagaaatgtcacttccatc
+tcccgatctacacaccggaagtgctgacgctatgcccgaaatgtggtcatgaccagttcc
+agagacgcccgtttgagccgtaatagtctgatttcgcacagcaataaagagaatatgggc
+cgaatgaaattccccggcccttgtttttatctctacagtaaatcttcagtctcacgaatt
+tcctgactgacatctctggttccggatgactgaactttacgatacaggtcgagagcctgt
+cggagatcgacaggtcttccttctccgtagtgatacataatggccaggttataccaggca
+gtggcgtcattgcattcagcggctttcgtaaaccattcaaaggcagcctgataatctttc
+tcaacgccttgtccgtgtttatacatataaccgatgttgacgtaagcgccgacgctcccc
+tgagcggcagccttcagataccagtacatcgcttgcttatagtcctggtccaccccttcg
+ccagcgttataatcccatgcaatttgaaactgggcgtgccgattaccctgctgtgcgctt
+ttcaaataccagaatgcggcgagtgtcttgttttgagcaacgccttttccgtcttcataa
+agatcggccagattgttttgcgcgtcactatggccttgtaatgcagcttgtttgtaccag
+aaaaatgccagcgcatagtcttttgcgactccgttgccatttctgtacatccacccaaga
+ttattttgcgcataagacattccgctctccgcggctatctgataccagacaaccgcttct
+ttataattgggggcttctccacgatccagtgtccagccaagggcgttggaagcgaaagta
+tggccttgtagggcagcttttttcagccagaagatggcttgctcattatctttatgacgg
+cttttatcctcggtatacttttgccctaaggaatactgtgcttcacaatgaccttgctca
+gcggccagcttcagccagtaaaaggctttttcgtcgtccggagaatcaattgcgctatcg
+cgattataataaaacccaacaatatattgagcctcgcaatcgcctttttcagcacgttcg
+ataatctcatctattgataaattatcgcagcaacttgacgtgaaaatcattatcatttcc
+ttatggttgcagataaaacatattatatttttatgtgttccatttttgcgtaagccttat
+tttatgcgtattatgtcgcgtcagaaaagtataaataaacgagcctcgcaatgcggctaa
+tattcatttaatgaatatttaaggataaattatatggacatggagtcgcaaaaaatattg
+tttgcactttccactccgatggaaatacgcaatgaatgctgtttaccttcgcattcatca
+cccaaaatgtatttaggtacatgcttttttgacctttcttcctcatggggaattgatgac
+cgtgatgacctgctgcgcacaattcaccgaatgatcgataacggtcatgccgctcggttg
+gcagggttttatcaccgctggtttcgttattcgccatgtgaatggcgtgactatcttgct
+gaactaaatgagcaaggtcaggcttatgcgcaatttgtcgccagcaccgccgaatgctgt
+ggcgaagggggaatcaaagcctgggattatgtccggatgggttttttaagccgaatgggc
+gtacttaataactggttgagcgaagaagaaagtctatggatccagtcgcgcattcatcta
+cgggctctacgttattatagtaactggcggcaatactttgccggttatacctttggtcgg
+caatattggcagtctcccgaagatgatcatctgcctttattacgcgaattcttagcgcgt
+aaagaatacgacgattccggcaatgatatgttttatcaattatttgccagtgatgatgcg
+tattaccctaccttgtcctggcaaccattggcttactattctgcatgcccggaaacgctt
+aaggatatgagcgacctatgaaaaattgctggaagatcctcgatatagaggaaacgactg
+acgtcgatattatccgccgcgcttatctggcgctgttaccgtcctttcatccagaaaccg
+atccgcagggttttaaacaacttcgtcaggcgtatgaggaggcgctacggattgcgcagt
+cgcctgctaaatctgtttggcaaccagaagaatatgaggtagcagaacatgaaattctgc
+tcgcctttcgtgcgttacttgcctctgatagtgaacgttttctgccctccgcctggcagc
+gattcattcagcaattaaattattgctcgatggaggagattgatgaattacgctggtcgc
+tgtgcacaatcgccatgaacactgcccatttatccttcgagtgcgtggtgttattagcag
+aaagattgcggtggttacaggaggaaaataccggggaaatagacgaagaagaactggaat
+cctttttatatgccattgcgaaggggaatgtttttaacttccagaccattctgcatctgc
+ccgttgccgtgcaaaatgacaccatcgatttttaccaaatgttcgctcggatttggtcat
+cgcatccacaatggctgacattgtatttagcgcaacatcgcgcagtgattatccccgatg
+atgcaaaactgcacagaaatttactccgctggtatagcgcaggtcgcctggatatccccg
+aacttctggattacgcccagtcatggcgggaaactgaacctgataatgaagatgcgcctt
+attatgaatacgcgcaacgcgtctattgtggagaaggcgaaagcctgttggcagaacttt
+gtgactactggcgcgagtatccctccacccaggcggatgctttaatgttgcaatggtgcc
+gtcagcatcgggtcgattattacccattactggtgatgatgattgaagcgcgtgatctgg
+ttaacgatcagggaaaaccgctactttatgtccccggcgacagcgcccgtacgcgttttc
+atttatacgaaatactcagcgatgaaaaactctctgcgctggggcgttcactggtcgaga
+tggttttgcacaaaggacgtaagccgcggatctcactcacgcgtgatacagaacatacct
+tatggccattatatctagttgccaaacaattagtgcaggcctgccaacctacagaagaat
+cattaatgccgattgtgagccgccttgatgcagaaaatcgttgtccactggaagcattaa
+ttattcgtcgattattaattcaggcggcgaattttaccgagaagcaaactgttgaaccgg
+agccgcaaccgcagccaatgcccgttgacgatggtgggccaggctgtctgggcatcatta
+aaattattttctatatttttatctttgctggtttgatagggaaaatactccatctgttcg
+ggtgacagtcgacgttaatgtgcgggaagcccggcaagtaatctttccgcatttttgtaa
+tgttgtttggcggtcagttttaaccatttttgagattcataatggttaacattaatacct
+gagccatttctgtagatcaaacctaaagtatattgagcatgagcatacccttgttcagct
+gcttccttataccagagaattgctttacgggtgtcgggtttgacccccagacctttgagg
+tagatccaccccagtttactttgcgcgcgtggattttcctgttccgctgattgctcatac
+cagtatctcgcctgtgtataatccagtggtttaccgtcgctaccatgaagataaaattct
+ccaaggcgatattgcgacgttgagtgaccatgaatcgcggaaagctccgtggctgccgtg
+gtgaatggaagactgcccggtgagcttaaataatcaaaggcataattcaccatggcttta
+tcacgcaacgtcgttttcttgggttggctaatacaggtaattgctgcaactataaaaatt
+gcgaatatatacattaattttttattcatgtgtgaatgcttcgattttctttttattttg
+aaagcgtcaagtttatactcatcaataataaaaaagtagtcagttaatgcacttaaggga
+ttattaacaaatgaataaggaagaacaatatcttctttttgcgctttctgcgcccatgga
+aatacttaatcagggttgcaaacccgcgcatgactcgccaaaaatgtatactgggataaa
+agaattcgagctctcatcatcctggggaataaataatcgtgatgatttaattcagactat
+ttatcagatgactgatgatggtcatgccaatgatttagctggcttatatctgacatggca
+tcgctcttcccctgaagagtggaaagcattaattgctggtggctcggagagagggttgat
+ttatacccaattcgttgcccaaaccgctatgtgctgtggggaagggggaatcaaagcctg
+ggattatgttcgaatggggtttctgtcacgggtcggtgtgctcaacaagtggctgacgga
+agaagagagtttatggctgcaatcgcgcgtctatgtacgagctcaccattactatcacag
+ctggatgcactatttttccgcctattcgttaggacgtctctactggcaatcttctcagtg
+cgaagacaacacttcgctacgcgaggcgctaaccctgtacaaatacgatagcgccgggag
+tcgtatgttcgaagagctggcagcgggaagcgatcgtttctatgccacgcttccctggca
+gccattaactgtccagtctgaatgcccggtaacgcttaaggatgtgagcgacctatgaaa
+acatgttggcaaatcctcgaaattgaaagcacgacgcaaatagacattatccgccaggct
+tatcttgctcgcttaccgttgtgtcatcccgaaaccgatccgcaagggtttaaagcatta
+cgccaggcctatgaagaggccctgcgactggcggtaaatcctgtcgaggaagcagatgat
+gaagaaaaagatgctgccgctgaacatgaaatactacgtgcattcaggacattactggat
+tcagaaagtgatcgttttcagccttccgcctggcagaaatttattcagcaattaaatacc
+tggaacatggaggatgtcgatcaattacgctggccgctgtgtgcaatcgccatagaagcg
+cgatatctttcattaaattgtgcttctttgctggcagagcgtttgaactggcattcattt
+aatgacagcgaaggaatggatgaggaagaaagggaggcttttcttgaggccattcaggct
+ggtgattgtttcgatttccttagccttctggaatatcccattgcgttgcagaaccagact
+gttgagtattacttcgcgctggaacgttgctgccgttaccatcctgactatgtcactgcg
+tttttggcgatggaaggtccgtggttaattcctgatgatgcaaagttacatcgcaaactg
+ttgcgctggtacagctcggtgcaaacaggtatggcggaactcattcctgtcgctcaacag
+tggcaaacggaagaaccagaaagcgaagatgcccggtattacttgtgtgcacaacgtttg
+tactgcggcgagggggaaagcctgcttgccgatctctgcgcgtactgggaaagttaccca
+tctacacaagctgataatttgttgttgcagtggagcaagcgtcattgcccggattatttc
+gcgttattagtgatggttatcgaagcgcggagcatggtagatgcgcaaggtcaaccgctg
+aaatatgttcctggtgagagcgcccggacgcggctgttatgggcggagattttacatagc
+ggaaaattatcgccgttaggtcaatcgtttattgagtcgttattcttcaagcgcaaagca
+tgggcgtggtggaaatcgagagtcggtagcgagacagagcaagattcaccgttcctggat
+ttgtatcgggtagcggaacaggtagtacttgaagcgtttccgaaacaagagatgctggcc
+cgtcttaatacaaggctggaaggcggagatgctcatccattagaggccattgtcacccgg
+atgcttttgacgaaagtgaaactcgagccggaggatgaagatgtcgatgagccaacacct
+gaaaatcatgaagaaaaaaatgatgagggtgaaaaaccacagagcattaccagcattatc
+aaaatcagtttaacggtgctggtgataggttatgctctcggcaaaatcgcgatgttgttt
+agctgacgatgtgttttttgcgccgatgccggatgcagcgtttacgccgcatccggcagc
+cgtgtttatgggatctcaatggctaaataatcgctcgcccgccgccgaacttcatccacg
+cgggccatatcgtttgactgcaacgccgcatcaaaatcggtgatcacccggccgatctct
+tctcgctcgtcacccagcgcccgcgcccacaactcttccagtttggctttaaaggtgcga
+ttgatgagcatatcgcgcggataaattttcaatgcggataaccgcgtccgactctcttca
+atctgctgcgcgctcaatgttaccgggctgtggttaatcactctggacttaacgctgccg
+tcttccagaagcacgtcaacttcaagcaacccgttgatatcataactaaagcgaatatca
+atcgactgataagccccggttttcttcaacggcacatcgaaggattccaccagaatgttg
+tttttaactttgtggttttctccctgatagacgttaaccgtaattgaatcctgttccggg
+tgcatggttgaataagtttctacacgcgacacgggcacagtggtgtttcgttcaataatc
+ggcgagaaaatgccggaaacgccctggcggttaacttcaacgcccaacgagtaagggcaa
+atatcagtgaggattacctcttcaatatcttcactgcgtaagcggcaggcggcctggatt
+gctgcgcccagcgcgacaatggtgctcggatcgtaactttgatacggtaatttgccaaac
+agacgcacggcgattcgctgcaccagcggcatttgtgacgcgccgccaaccagcaccaga
+ctgtcgatttgactcggcttcagacgcgcatcgcgcaacgcctgttcaatcggcactcgc
+aagcgattgagcagcggcaaccacaaatcttccagttcgttctcgtaaaattcgcattcc
+cgcgtttcttcctgatactgccagcgaatgtgcaatggcgattgattgctacattttgcc
+gcttccacacaggcgtacaaggctgccagttcactctcgttaagcgtggtcctggcgaca
+tccgcgcgttttaaaacctcatcgaccagcatatgggtaaaatcttcgccaccaagaaag
+ttgtcgccagcggaggcgtgaacttcaatcaccggcgtggcgtactcaagcaccgtaacg
+tcaaacgtgccgccaccgagatcaaacaccagcgaacgggtattttgttgggtatgcagg
+ccatacgccatcgcagctgctgtgggttcattaattaagcgtaccgcatttaacccggct
+aactccgctgctaaacgggtatgcttgcgttgttcatcgctgaaataagccggaacggag
+atcaccacatctttaatcggacgttgcagaaattcttcggcatcttcttttaatgagcgt
+aataccaaagaggacagttctggcgcgttaaatgtgtcgctgcctaaccgccagttggta
+ttactgcccattgcacgtttaaataacgctgccgttttatccggatgcgaagtacgccgt
+gatacagccggttttccgactaaaatatgattattttcatccatgctaattatggatggt
+gttaaatattcaccgaacttatttggaattaattgcgcggcaccgtctttccagacggca
+attaaactattggtagtaccgagatcgataccaatggcgagttctgcattatccattgca
+tttatatcttgaaagaaaaagagataaacagattaagaccacccaggtaacgcgtggtga
+tcttaatcaatgacgtgtgttaagcgtaaaatttcagacgatcagccagtaaatcaacaa
+agccctgacgatcaacatcgaccattacggtggcattcggtttattgcctgtcagataat
+aataatcaacaaccgtcataccctgggtatatttcccctgtgtttccacgccaacccagc
+gctcaacagaggtaaataactccggtttcaacagccaggcgatggtgcatgggtcatgca
+gtggtgcgccgacaaagccccatttttcgtctttatgatattcgaggaagaaatccagca
+gttcggcaacaatggttgaaacagggttaccaatcgcgcggaaacgctcggtgtcttcaa
+cgtggatttgtgctttatgagtaacatccagaccggccatcaccaccgggatccctgact
+ggaagacaatttctgccgcttccgggtcaacgtaaatattaaattcagccgcaggcgtcc
+agttacccagccccatagcgccacccataatcacgatacgggcaattttgctatgcagtt
+ccggatggctattgagcagcaaggcaacgttagtttgcggtccggtagacacaatggtga
+caggttccgcactttcacgcagcgttttcgccatcagctctaccgccgtacagttttgcg
+gtgcgaatgtcggttccggtaatgccgggccgtcgagaccgctttcgccgtgcacattgt
+ccgcgataatcaactcacgcattaacggttttaccgcgccgcctgctaccggaatatcgg
+tgcgattaagcaaggtcagcatacgcagaacattgcgtaaggttttttctggtgtctggt
+ttccggcggaagacgtaattgctttgacatcaagctctggtgaggcgagggcgagaacta
+ttgcgatagcgtcgtcatgacctgggtcgcaatctaacagaattggcagtgccattgttg
+ctccttgttgtgtgcttctttgcgacaagggtaacgccaggatgtaacagatacgagggg
+cgaaacgataaagcgtgagatggcgcgcaattgggtatgcgcgccagagtgattaatgca
+ggattttcgcgaggaagtcttttgcgcggtccgatttcggatcatcgaagaaagcgtctt
+tcggcgagtcttcgacaattttaccctcgtccataaagatcacccgattcgccactttac
+gggcaaagcccatttcgtgggtcaccaccatcatggtcattccttcgttcgccagttcca
+ccatcacgtccagtacttcgttgatcatctccggatccagcgccgatgtcggttcgtcaa
+acagcatcgcaataggatccatacacaacgcgcgagcgattgccacacgctgctgctgac
+cgccggaaagctgcgccggaaacttattggcgtgagcagaaagcccgacacgctccagca
+gtttcagggctttttcacgagccggcgctttatcgcgtttaagcactttcacctgcgcca
+gggtcaggttttcgataatcgacagatgagggaacagctcgaaatgctggaataccatcc
+cgacgcgggaacgcagctttgccagatcggttttcttgtcgttaaccacgataccatcga
+cggtgatttcaccttgctgcaccggttcgaggccgttgacggttttaatcagcgttgatt
+tgccggaaccagacgggccgcaaaccaccaccacttcgccttttttcacttcggttgagc
+agtcggtcagcacctgaaagtgaccataccattttgaaacatttttcagggtaatcatta
+tgctgtccttcttttcaagtagctgaccaacaacgacgcgctaagactaataacgaaata
+aacaaatccggcaaacaggatcatctcaacctgcgtaccatcacgctcaccaatggttga
+ggcggtacggaagaaatcggccagggataacacatacaccagtgaggtatcctggaacag
+tacgatgccctgagtgagcagcagcggcaccatcgcgcggaacgcctgcggcagaataat
+cagtttcatcgactgccagtgagtcattcccaacgccagcgcggcgctcgattgaccacg
+agaaatactttgaataccagcacggataatctctgaatagtaggccgcttcaaacatcga
+aaacgccaccatcgccgaaattaaacggatatcattttttggcgataatcccagcacgtt
+ttgcagaaaacccggcacgatcaggtaaaaccacagcaaaaccataactaaaggaatcga
+gcggaatacgttaacgtaggctttggcaaaccacgccacgggcgcaaagctggataaacg
+catcaccgccagcatcgtgccccacaaaataccaatcactaccgccgtgacggtgatttt
+cagggtgatcaccagcccgtcgagcagatatggcagggaagggacaatggaactccagtc
+aaactcgtacattatttgccccccatgttgccaggcaggcgaactttacgttcaaccagc
+gtcatcaccagcatgataaaagcgttaatcaacacatacgccagcgtaatggcggtaaac
+gactcccaggcatgggctgagtaatcgagcaatttacccgcctgcgccgccatatccacc
+agaccgatagtcgaggcgatggcggagtttttcaccaggttcatcatctctgaggtcatc
+ggcgggacgataacgcgataagcattaggcagcagtacgtatcgataagcctgcggtagc
+gtcaggcccatcgccagcgcggcatttttttgccctcgcggcagcgactgaatcgcggcg
+cgtacctgttcgcaaacacgggcggcggtaaacagccccaggcagagcatggatgaaagg
+aaaaactgaatattgggatccagctcggccttaaaccacatgccgattttctccggcagc
+agctccgggatcaccagataccaggtaaagaattgcacaatcaacggcacgttgcggaac
+agttcgacatacaacgtacccagaccagagagaaaacggtttggaacggtacgtaaaatg
+ccgaaaaatgaaccgacgaggaaagcgataatccaggcgcagatcgacaaagcgatcgtc
+acctgaaaaccactccagatccaaccaagataggtggtgttgccgaacggggcttgttgt
+aaaaaaataccccagttccagtctatagacataaatctactccagaaaaaagagggtagc
+agcgttaactgctaccctcgaagattgttacccagcgtattgcggttttcaggcccgatg
+gggaacgaccatcaggcgtatagtctgtccgtgctacgtaacaatcgagagggctggaat
+ttccgcccctggttcttgtaattagttcagtgccttgtcattcggttctttgaacagtgc
+tttcatttcgtctgacagttcgaaattcatgttcaggtttttcggcggaattggattttt
+gaaccacttatcaaaccatttttccgcttcaccggaggtctgcacctgagcgatggtgtc
+atccatcagctttttgaactgcggatcatctttacgcaacatacaaccgtaggcctcctg
+agactgcggcttgccgacgatttcccagttgtctggtttcttcgctttcgcacgttcacc
+ggccagcagagcgtcatccatcataaaggcaacggcacgaccgctttccagggtgcggaa
+agagtcaccgtgatctttggcgctgatgatgcgcatattcattttttgctcttcattcag
+tttgttgagcaaaacttcagaggtagtgccggaagtgacgactacggctttgtctttcag
+gttggcaaaatctttgatatcgccaccctttttggtcaacaggcgcgtaccgaccacgaa
+aatagtgtcagagaaagccgcctgtttttggcgttcgacgttgttggtggtagaaccaca
+ttcaaaatcgaaagtgccgttttgcagcagtggaatacggttttgtgaggtaatcggaat
+cagttttacctgcaagtccggtttgttgagtttctttttcactgcttcaacaatggcgtt
+ggagtaatcctgcgagtaacccaccactttttgctgattgtcgtaataagagaaaggcac
+tgaagattcacggtgaccgacgacaatcacaccgtttttggcgattttgtccagagtact
+gcccgctgccggggcggcgtcatctgcctgtgccagtcctgcggaaagcgccagggcgag
+gattgctgtggcaggtttacgtaattgcatatccaactcctttatcttctgcgttaagaa
+cgcatggatacccgttgtgagtgtttgtgttgttatcgtctgcaactttattgtgcagtg
+ttgtgcctgttagggaaggtgcgaataagcggggaaattcttctcggctgactcagtcat
+ttcatttcttcatgtttgagccgattttttctcccgtaaatgccttgaatcagcctattt
+agaccgtttcttcgccatttaaggcgttatccccagtttttagtgagatctctcccactg
+acgtatcatttggtccgcccgaaacaggttggccagcgtgaataacatcgccagttggtt
+atcgtttttcagcaaccccttgtatctggctttcacgaagccgaactgtcgcttgatgat
+gcgaaatgggtgctccaccctggcccggatgctggctttcatgtattcgatgttgatggc
+cgttttgttcttgcgtggatgctgtttcaaggttcttaccttgccggggcgctcggcgat
+cagccagtccacatccacctcggccagctcctcgcgctgtggcgccccttggtagccggc
+atcggctgagacaaattgctcctctccatgcagcagattacccagctgattgaggtcatg
+ctcgttggccgcggtggtgaccaggctgtgggtcaggccactcttggcatcgacaccaat
+gtgggccttcatgccaaagtgccactgattgcctttcttggtctgatgcatctccggatc
+gcgttgctgctctttgttcttggtcgagctgggtgcctcaatgatggtggcatcgaccaa
+ggtgccttgagtcatcatgacgcctgcttcggccagccagcgattgatggtcttgaacaa
+ttggcgggccagttgatgctgctccagcaggtggcggaaattcatgatggtggtgcggtc
+cggcaaggcgctatccagggataaccgggcaaacagacgcatggaggcgatttcgtacag
+agcatcttccatcgcgccatcgctcaggttgtaccaatgctgcatgcagtgaatgcgtag
+catggtttccagcggataaggtcgccggccattaccagccttggggtaaaacggctcgat
+gacttccaccatgttttgccatggcagaatctgctccatgcgggacaagaaaatctcttt
+tctggtctgacggcgcttactgctgaattcactgtcggcgaaggtaagttgatgactcat
+gatgaaccctgttctatggctccagatgacaaacatgatctcatatcagggacttgttcg
+caccttccttaggtaacatttagtttggctaaatgtaaagatattgctgttttattgttt
+gtttttgcgagatgcgccgcaccattccgaagcaaaattcttaaaatgcactcttttagt
+gctaccgctggattactgtggtgcaactaggttgtactgatgctgtttcagggtttgcct
+tgtataacaaagcaatagatgtgccaaagttggataggagaatattgttatccggataat
+gcactgatgccgcatccggtgagcgtgccgaaatatgggatgtattccggcacgataaga
+agggattatttacgtcgctgacgcagactcatcaacacagcagcaaaaccaaacaatgcc
+gtcagcacccacagcggccagttgccggtacgtgcgtatggtgtgagtccggtggtcggc
+gtcacgttagtggttaacacctcgcgggtgaactgcgggatcatcgcctgaatctcaccc
+tgcgggccaatcaccgccgtaatgccgttgttggtgctgcgcaacagtgggcgcgccagc
+tccagcgcacgcattcgcgccatctggaagtgttgccatggaccaatagatttaccaaac
+cacgcatcgttggagatagtcagcagatagtcggtatccgggcggaagttatcgcgcact
+tgctcgccgagaatgatctcgtagcaaatagccgcagtaagctcaataccatttgccgac
+agcggcggctggatatatggcccacggctgaacgacgacatcggcagatcaaagaacggt
+gctaacggacgcagaatcgactccagcgggacaaactcgccaaacggcaccagatggttt
+ttgttatagcgatcggctgattcgtagctgtacggcgcacctttacccagcgtgatgatg
+gtgttgtaggtatcgtagcggttctgcttattgagacgcgcgtcgacaatcccggttacc
+agcgagctacctttatcacgcaactcaccgtccagtgctttgaggaacggttgctgatta
+atttccagatcggttatcgccgactccggccagataatcaacgatgatttgcccatcagc
+ggtgccgttgcgttgtagtaaatcttcagcgtattaagaagctggccttcgtcccatttc
+agcgattgcggaatatcgccctgaaccatcgaaacctgaatggttttctccggttgtggg
+gtaaaccactggatgtaacgcagcgggaagggaagggcaaacagcacgacggccaccacc
+agcggacgccagttgcgtttgaccaacgccagtgccagcaggccactaaccatcatcagc
+aggaagttaatggcttccacgcccattatcggtgccagcccttttaacgggccatcaatc
+tggctatagccgaactgtaaccacgggaagccggtcagtacccaaccgcgcagaaactcg
+gtcacttgccagagggcaggggcggcaatcgctacgcgcagccaggtggttttcggccac
+agacgcgacagcacgccagcaaacagtccggtatacagcgacaaatacgccgccagcagc
+accaccaggaagatgttaaccgggccaggcattccgccaaaggtcgcgatgctgacatag
+acccagttaataccgctgccaaagaggccaaatccccagcaaaagccaatagcggcagac
+tggagtggacggcggttaaaggtcaacgcctgaagccccatcagcgaaataatcgccgca
+ggccagacgtcgtaaggagagaaggccagcgttccgcaggcaccgaataataacgccagc
+agcaggcgaatgcgctggcgttcaattaatgaggcaaaagccatgtagttatctatccag
+tttcggttttattcatccagcttcggctggggtgagtcatccgggattttgacatgaacc
+tgaataatacgccgactgtcggccatcgccactttgaactggtaaccgtcgatgtcgata
+gtttcgccacgcgccggaagatgcccaaatgcctgcatcaccagaccaccgatagtgtcg
+acttcttcatcgctaaagtgggtgccgaacgcttcgttgaagtcttcaatggaagccagt
+gcgcgtacggtccaggtatgacgactcagctgacggaagtcgatatcatcttcttcgtca
+tactcgtcttcaatctcaccaacaatcagttccaggatgtcttcaatggtcaccagaccg
+gaaaccccaccgaattcgtcaataacgatcgccatgtggtaacgctgagagcgaaactct
+ttcagcatccggtctacgcgcttactttcaggaacgacaaccgcctgacgtaacactttg
+tccatgctgaaggcttcagcatcgctgcgcataaacggcagcaagtctttcgccatcaga
+atcccttcaatgtgatctttgtcttcgctaatcaccgggaaacgtgagtgggcggactcg
+atgatgacatcaagacattcgtccagcgtctggttgcgtttcagggtaatcatctgggag
+cgggggatcatgatgtcgcgaacgcgttggtctgcgatgtccatcaccccttcgagcata
+tcgcgcgtatcttcgtcgataaggtcgttctgcccggaatcacggatcagcgccagcagt
+tcgtcacggtttttcggttcaccgtggaaaagttggctgagtaacagggagaaaaatccc
+ttcttgttgcttatcgtgtcactactgtgtgaattgtcgtcgctcatggcgtcgtatggg
+ttctcatgttagttaatcaaaacgccgtcgttaatcaccaacggcggggacgtctgccag
+tcaaatgcctggcaaattattctttctcggcaatgtacggatcctcatagcccagagcaa
+gcataatctctgtttcgagggcttccatttcttctgcttcgtcatcttcgatgtgatcgt
+aacctaacaaatgcagactgccgtgcaccaccatatgcgcccagtgcgcctccagtggtt
+tgccttgctcctgagcttccttctcaaccacctgacggcagataaccagatcgcccagta
+gcgacatttccatgccaggcggcacttcaaacgggaaggagagcacgttggtcggcttat
+ccttaccgcgataggtcagattcagactgtggctttcggcggtatcgaccacgcgaatcg
+tcacttccgattcttcctgaaactgcgggatcaccgcattcagccatgtctgaaactggc
+tctcttccggtaacccggaattatcttcacatgccagttgtaaatcgaggatcacctgac
+tcatttttgttcctgttcttcgcgcttgcgttctgctgccagcgccgcttttcgtttttg
+ttcggcttcttcccaggcttcataggcgttaacgatacgcgccaccacagggtgacgaac
+cacgtcttcgctgtggaagaagttaaagctgatctcttcgacatcggccagcacttcgat
+ggcgtgacgtaagcctgatttagtattacgcggcaggtcgatctgtgtgacgtcgccggt
+gataaccgcttttgagttaaaaccgatacgggtcaggaacatcttcatctgttcgatggt
+ggtgttctggctctcatcgagaatgataaacgcgtcgttcagcgtacgaccacgcatata
+ggccagcggtgcgacttcaataacgttgcgctcaatcagtttctcgactttctcaaagcc
+cagcatttcaaacagcgcgtcgtacagcgggcgcagatacgggtctactttctggcttaa
+atcgccaggcaggaagcccagtttctcaccggcttctactgccggacgagtcagcagaat
+acggcgaatttcctgacgctccagggcatcaactgccgcagccactgccaggtaggtttt
+acccgtacccgccgggccaacgccgaaggtaatgtcatggtcgagaatattggcgatgta
+ctgcgcctggtttggcgtgcgcggcttaattacgccgcgtttggttttgatattgaccgc
+tttgccgtactccggcacgctctccgcgctttgctccagtacccgcgcttctttaatcgc
+aaggtggatctgttccggttcgatatcctgaatctgaccgcgcatcggggcagtatcgac
+atacaggctacgcagaatgtctgccgcagcggtgacgcaaatcggacggccggtcagttt
+aaagtggttatcgcggcgattgatctcgatgccgagacggcgttcgagctgcttgatgtt
+gtcatcaaacgggccgcacaggctcaacagacgcgcattgtctgctggctccagggtgat
+ttcgcgagtgtctatgttcaaaccgttcctcttatctgtatgccgccggaagctgaacat
+tcaccggcctataaggaaattattcacgccacaggaaaaaggcgcaagcattgcaataaa
+gatggggataaagagagaaaaaacaaggcccaccggaacggcaggcctgagaattacggc
+tgataataacccacgccaaggtcgttttctttgcgggtacgggcaatcactgattccggt
+gtttctgccacgcgcagacccatttcatcttcagtacgcaccactttaccgcgcagagag
+ttcgggtagacgtcggtaatttctacatcgacgaatttaccgatcatatccggcgtgcct
+tcgaagttgaccacgcggttattttccgtacgcccggaaagctccatgatgctcttacgc
+gatgtaccttctaccagaatacgctgggtggtgccgagcatccggcggctccacgccatc
+gcttgctgattaatgcgctcttgcagaatatacagacgctgcttcttctcttcttccgga
+acatcatcaaccatatcggcggctggtgtacccggacgtgcagagaagataaagctgtag
+ctcatgtcgaaattgacgtcggcaatcagcttcatcgttttctcgaagtcttcggtggtt
+tcgccagggaagccaacgatgaaatcagaactgatctgaatatctggacgcgccgcacgc
+agtttacggatgatcgctttgtactccagcgccgtatgggtacggcccatcaggttcaga
+atgcgatcggaaccgctctgtaccggcagatgcaggaagctcaccagctccggcgtgtcg
+cgatacacttcgatgatatcgtcggtgaattcgatcggatggctggtggtaaagcgaata
+cgatcgatcccgtcgatcgcagcaaccagacgcagcagatcggcaaacgatccggtggtg
+ccgtcgtagttttcaccacgccaggcgttcacgttctgaccgagcaggttgacttcacgc
+acgccctgagccgcaagctgggcaatctcaaacagaatatcgtcggacggacggcttacc
+tcttcaccacgggtgtaaggcaccacgcagtaggtgcaatatttattgcagccttccatg
+atggagacaaacgcggtcggcccttcggcgcgcggttccggtagacggtcaaacttctcg
+atttccgggaagctgatatctacaaccgggctgcggtcgccacgcacggagttgatcatc
+tccggcagacggtgcagcgtttgcggcccaaaaataatatcgacatagtgggcgcgctgg
+cgaatgtgctcgccttcttgcgatgccacgcagccaccgacgccgataatcaggtctgga
+ttcttctcttttaacagtttccagcgacccaactgatggaagactttttcctgagccttc
+tcgcggattgagcaggtgttcagcagcagcacatccgcttcttccgccacgtcggtcagt
+tgatagccgtgggtggcatccagcagatcggccatcttcgatgaatcgtactcgttcatc
+tgacagccccaggttttaatatggagttttttggtcatcgacttgctcttgcgaaatagt
+agccaggaatgcagggcgcatagtgtaatgctttgctgccgttgtgaccagtatgagcgt
+tatcagcccttaggggtaaaaatcctgtaaacttaaagcatattgctaacaggatgattg
+accatgacaaatcaaccaacggaaattgccattgtcggcggaggaatggtcggcggcgca
+ctggcgctggggctggcacagcacggatttgcggtaacggtgatcgagcacgcagaacca
+gcgccgtttgtcgctgatagccaaccggacgtgcggatctcggcgatcagcgcggcttcg
+gtatcattgcttaaagggttaggggtctgggatgcagtacaggctatgcgttgccatcct
+taccgcagactggaaacgtgggagtgggaaacggcgcatgtggtgtttgacgccgctgaa
+cttaagctaccgctgcttggctatatggtggaaaacactgtcctgcaacaggcgttgtgg
+caggcgctggaagcgcatccgaaagtaacgttacgtgtgccaggctcgctgattgcgctg
+catcgccatgatgatcttcaggagctggagctgaaaggcggtgaagtgattcgcgcgaag
+ctggtgattggtgccgacggcgcaaattcgcaggtgcggcagatggcgggaattggcgtt
+catgcatggcagtatgcgcagtcgtgcatgttgattagcgtccagtgcgagaacgatccc
+ggcgacagcacctggcagcaatttactccggacggaccgcgtgcgtttctgccgttgttt
+gataactgggcatcgctggtgtggtatgactctccggcgcgtattcgccagttgcagaat
+atgaatatggcacagctccaggcggaaatcgcgaagcatttcccgtcgcgtctgggttac
+gttacaccgcttgccgctggtgcgtttccgctgacgcgtcgccatgcgttgcagtacgtg
+cagccagggcttgcgctggtgggcgatgccgcgcataccatccatccgctggcggggcag
+ggagtgaatcttggttatcgtgatgtcgatgccctgattgatgttctggtcaacgcccgc
+agctacggcgaagcgtgggccagttatcctgtcctcaagcgttaccagatgcggcgcatg
+gcggataacttcattatgcaaagcggtatggatctgttttatgccggattcagcaataat
+ctgccaccactgcgttttatgcgtaatctcgggttaatggcggcggagcgtgctggcgtg
+ttgaaacgtcaggcgctgaaatatgcgttagggttgtagccttacaacattgccggatgc
+gtgccaaccgtaggtcggataagacgcggcagcgtcgcatccgacattgaaggataagac
+gtgtcaacatcgcattcgacattgaatgaacgcagaaaagcaaaaagctcgccgaagcga
+gcttttttaatgtggctggggtacgaggattcgaacctcggaatgccggaatcagaatcc
+ggtgccttaccgcttggcgataccccaactgggtgcacttacaaggtaagcgtcttgaat
+aaattggctggggtacgaggattcgaacctcggaatgccggaatcagaatccggtgcctt
+accgcttggcgataccccaacaaattggttttgaatttgccgaacatattcgatacattc
+agaatttggtggctacgacgggattcgaacctgtgaccccatcattatgagtgatgtgct
+ctaaccaactgagctacgtagccagattgtttcttcgatggctggggtacctggattcga
+accagggaatgccggtatcaaaaaccggtgccttaccgcttggcgataccccaataaccg
+ggcggtgaaccgcttactcgaagaagatggctggggtacctggattcgaaccagggaatg
+ccggtatcaaaaaccggtgccttaccgcttggcgataccccatccgtacaacgctttctg
+gtgaatggtgcgggaggcgagacttgaactcgcacaccttgcggcgccagaacctaaatc
+tggtgcgtctaccaatttcgccactcccgcaaaaaaagatggtggctacgacgggattcg
+aacctgtgaccccatcattatgagtgatgtgctctaaccaactgagctacgtagccatct
+tttttttcgcgataccttatcggcgttgcggggcgcattatgcgtatagagccttgcagc
+gtcaacctctttttcaaggaaaattgctcgaaagtgactgtttggttaggttgcgaacag
+cgtggcgctatattcgtcaattattgtttactttgtgttttttcccaccctacagccatt
+cttttgtcatacaggatgaaattcggaatttaacaatagtggtgggaaattaatctatga
+aatactggcctacagtgatgagttgtcaaacagtgatgtggcaaacccggaacatttcct
+tactgcatatcagaatcaacaagcacctcaataactgaaacagccccggatttcaccggg
+gctgtttcgcatttcttacttatacgccgactggtgaacaccaaccgcgcgaccagacgg
+atcgtccattttcttgaacgcttcatcccattcgatcgctttagcggaagaacaagcgac
+ggaaggaccgcccggcacgcactcagcggcgctcggaagcgggaatagttcttcaaagat
+ctcccgatacaagtacgcttctttagaggttggcgtgttgtacgggaagcggaagcgggc
+agtttccagttgctgatcagaaacctgctgcgcagccacttctttcagggtgtcgatcca
+actgtaaccgacgccatcggagaactgctctttctgccgccaggccacgcttgcaggcag
+atacgcttcaaaacattcacgcaggatgtgtttttccattttgccgttaccgcacatttt
+atcctgtgggttaatacgcatcgccacatcaaggaattttttgtcgaggaacggaacgcg
+tgcttccacgccccaggctgacatcgctttgttggcacgcgcgcagtcatacatatgcag
+ggccagcagtttacgcaccgtctcttcatgcagttctttggcattcggtgctttgtggaa
+gtaaagataaccgccgaacacttcatcagaaccttcaccggacagcaccattttaatgcc
+catcgccttgatcttacgcgacattaaatacatcggtgttgaagcgcgaatagtggtcac
+atcataagtttcgatgtggtaaatcacgtcgcggatggcatccagaccttcctgtacagt
+gaagtgaatttcgtgatgcaccgtgcccagatggtttgccacttcctgggctgctttcag
+atccggtgaacccggcagacctacagcaaaggagtgtaactgcggccaccaggcttcaga
+gcgttcctgatcttccacgcgacgggctgcgtatttcttggtgatagcggaaataattga
+ggaatccagaccaccagaaagcagcacaccgtaaggcacatcagacatcagatggctttt
+aactgaatcttccagtgcctgacgcagctcgtttttgtcggtcacgttatctttcaccgc
+atcgtagtcgaaccagtcgcgatgatagtaagaacggatttcgccgtcctggctccacaa
+atagctccccgccgggaactctttaatcgtgcggcaaactggcaccagcgctttcatttc
+tgaggccacatacagctgaccgtgttcgtcataccccatatacagtgggatgatccccag
+atggtcgcgaccaatcaggtaggcatctttttcgctgtcgtacagtgcaaaggcaaacat
+gccctgcaagtcgtcgagaaattccggccctttttcctgatacagcgcgaggatcacttc
+acagtcagacccggtctggaactggtaacgatcgccatattcggcgcgcaatgcctggtg
+gttgtagatttcaccgtttaccgccagtacgtgggttttttgttggttgtagagaggttg
+cgcccccgcgttaacgtcaacaattgacagacgttcgtgggcgagaatggcgttatcgct
+ggcataaataccggaccagtccgggccacgatgacgcatcaggcgtgacagctcgagggc
+tttcttacgcagctcaactgcgtctgttttgatatcgaatacgccaaaaattgaacacat
+aaccttctccgttaacctggtatttgttgcttgttgtgtttgcttgtttaaaaaaatgcc
+gcaaagcagcactgtgcgcaagcgatttggcggtgaaaaaataaaaaacgtaatggtgat
+tgtcgattggtgaaaaaaggtctggtgtgaggatatatttattgatgaatcgataatttt
+tagcgggttttattgaatgtttatattttacgggggccaaattgctgacaaagtgcgatt
+tgttcatgccggatgcggcgtgaacgccttatccggcctacaaaagcatgaaaattcaat
+atattgcaggagctgcgtaggcctgataagcgtagcgcatcaggcagtttggcgtttgtc
+atcagagccaaccacgtccgcagacgtggttgctattcagataacgtcgatttcagcgac
+tgacgggtaaatccagctggggcggaaaggcatactgtcgatatcgtcgagcgacgaaac
+accagaaagcaccagaatcgtctccagacctgcctggaagccggccagaatatcggtacg
+caggttatcgccgacaatcaccgtttcttccgaatgcgcctgcattttgtttaatgctgc
+gcggatgatccacgggctgggcttaccaacatagaacggtttgcgcccggagattttctc
+aatccctgcacacaacgcgccacaagcgggataaaaaccgcgcccgtgggtgtccggatt
+ggtggcgataaaacgtgcaccgttagcgacgaaataggctgctttatgcatcatgtccca
+gttgtaggaacgcgtttcgccaacaatcacgaaatcagggttcacatcggtaatagtgaa
+accggctttgtacagttcatgaatcagtgcgccttcgcccaccacatacgctttcttgcc
+ttcctggcgacgcaggaaatcggcagtcgccatcgcagaggtataaaacacgctgtcagg
+tacatcgacacctgcggtggcaaagcggttcgccagatcttgcccagtctgcgaaggata
+gttggtcagcaacaccagcggcaggcctttatccataatcccgtgcaaaaattccgctgc
+acccggtacggcgacgttatcgtgcatcagcacgccgtcgatatcgcaaattacattttt
+aatggtcatggactacccagaatattgacaacaataagcgccactataaaagcacattaa
+ttttccagcaaatgctggagcaaaataccgttgagcatggcgcgttttaccagcgcaaaa
+gcgccgattgccgagcggtgatccagctcagaacgtaccaccggcagattagtgcgaaac
+gccttcagcgcctgggtattaatgcagctttcaatagcagggagcagcactttatcggct
+tcggtgatttcaccggcaataacaattttttgcggattaaataagttgatagcaatggcg
+atggttttacccagatgacgaccgacatactcaattacttccgacgccagactatcgcct
+ttgttcgcggctttgcagatagttttgatggtgcagtcgtccagcggcacgcggctctgg
+tagccctgctttaacagattcaacacccgttgttcaatggcagcgttggcagcgatagtt
+tccaggcagccaaagttgccgcagtggcagcgttcacccagcggttcgacctgaatatgg
+ccaatttcaccgacgttgccgttgcggccaataaaaatgcgcccgttagagataatcccg
+gccccggttccgcgatggacacgcaccagaatggagtcttcgcaatcctgacttgcaccg
+aagtagtgctccgccagcgccagactacggatatcgtgaccaacgaaacaggtcacttta
+aaacgttcttccagagcttctaccagcccccagttttctacctgaatatgcggcatgtaa
+tgaattttgccgctgtccgggtcaacaagccctggcaggatcaccgaaatcgcgatcagc
+tcgcgcagtttgcgctggtagctatcaataaactgagcaatggcattcaacagggcatgt
+tccagcgtttgctgggtacgttccggcagcgggtaatgttcttctgccagcactttgctg
+ctgagatcaaacagagtgatggtggcgtcatgacgaccaagccgtacgccgattgcgtgg
+aaattgcgggtttcggtgacgatggagatagcgcggcggcccccggtggaggcctgctga
+tcaacttctttgatcagcccgcgttcgataagctgacgcgtaattttggttacgctggcg
+ggggcaagctggctttgctcggcaatctgaatccgcgagattggcccgtactggtcaatc
+aggcgataaaccgccgcgctgttaagctgttttacgagatcaacattacctatctgagct
+tgtccgcctggtgtcatactttctcttattgagttacgacctcgttaccgttaacgatgg
+tcttggtgattttaaaatcaggtgtgaatgcagtcaggttggctactttacctgcggcga
+gtgtgccgagacgtttctcaacgccaatcgcacgcgccggatagagcgtcgccatacgta
+gcacttcatccagtgcgataccgcaatgttcgaccagattacgcacgccttcaatcatgg
+ttaaggatgaaccgcttaacgtaccgttctcatccacacaaagtccgttacggtagtata
+ttgttttacccgcaaaaatgaactgttcaatgttggcacctgctggcgcggtggcgtcag
+taaccagacacagtttgtcgcctttcagacgtttagcgttgcgaatgttggcgtaatcaa
+catgcaggccatcagcaataataccgcaataaatgtcagcttcgtcgaggatcgcgcccg
+ccaggccaggttcacgaccggtaatatacggcatcgcgttgtacagatgggtggcaaagg
+taatccccgcgcggaaaccggcttttgcttctttcaacgtcgcgttggagtgaccggcag
+aaaccacaatcccggcatttgccagtttgctgatgacttccgcaggaaccatttccggtg
+ccagggtcactttggtaatgacgtcggcgttttcacacaggaaatcgaccagcgcggcat
+caggcttacgcacaaaattcggattatgggtgcctttttttaccagattcagccacggac
+cttccagatgcagacctaacgcctgattcggatgttttgccaggtactcgcgcataacgc
+gcacgccctgtttcatcagctcatcgctggtggtgataagcgtcggcagatagttagtac
+agcctgatttctcattggctttctgcatgatttccagcgtttccacgctgaccgcttcag
+cggtgtcgttaaactgtacgccgccgcagccgtttaactgcacatcgataaaaccggggg
+agagaatggccccgttcagtgaacgttgttcgatctctggcggcagttccgctaccggac
+agacgcttttaatcaggccatcagcgataacaaccgcgtggtcatcaagaaattcgtggc
+cggtaaagatccggccctgggttaatgcatacattctgacccccgattttaaaaaatatt
+gccctgagcaaggagccagggcagggataacaattacagacctttgatattttctgcttc
+taattcattgaaatatcttaaagtcttaactttcagctccatggtggaaggttcatcgca
+caccatgatcgctttcggatgcagttgcagacagctgatggtccacatatggttcacgca
+accttcaacggcggcctgcagcgccagtgctttctggctacccagcaccagaatcatcac
+ttcttcggcatccagcagtgtaccaacaccgacagtcagggcatattttggcacctgatt
+aacatcgttatcaaagaaacgagagtttgcgacgcgagtgtcatgagtcagggttttgat
+acgagtacgagaagccagagaagacgccggttcgttaaatgcaatatgaccgtcgttacc
+tacaccgcccataaacagatgaatttttccgtaagaacggattttttcttcatactggcg
+gcactcggcgtcgatatccggggcgttgccgttgagaaggttgatgttttctgctggaat
+atcaacgtgatcgaagaaattacggtgcataaagctgtagtagctttccggatgctcttt
+cggcagaccgacatattcgtccatgttgaaggtgacaacgtgcttaaagctgacctggcc
+tgctttatgcatttcgactaacgctttataggtggtcatcggcgtgccgccagtcggcag
+gcccagtacaaacggacgatcggcagtcggtttgaacgcattgatacgattgacgatatg
+gcgagcagcccatttgccgacctgttcagcggtagtcagggggatcagtctcattattca
+cctcaataagtaaaatgtaagccgttggcggattaggcatctttaagcgtaacctggatt
+tgcgcagacaggcgtcaatccgacctgattttttgaatgataaaataagttttctggttt
+agccagtaaaagggagtgataataacgatatttggtgacaaaactcacaaaagacacgcg
+tttaatttgcgatacgaattaaattttcacacactctgtagcagatgatctaacaatctg
+attacagaacatcggcagtacaatttgcagcaaaataaaaatacggcttgaaacgagcca
+aatagggttctcgtagggggaataagatgaatattttaggttttttccagcgactcggta
+gggcgttacagctccctatcgcggtgctgccggtggcggcactgttgctgcgattcggtc
+agccagatttacttaacgttgcgtttattgcccaggcgggcggtgcgatttttgataacc
+tcgcattaatcttcgccatcggtgtggcatccagctggtcgaaagacagcgctggtgcgg
+cggcgctggcgggtgcggtaggttactttgtgttaaccaaagcgatggtgaccatcaacc
+cagaaattaacatgggtgtactggcgggtatcattaccggtctggttggtggcgcagcct
+ataaccgttggtccgatattaaactgccggacttcctgagcttcttcggcggcaaacgct
+ttgtgccgattgccaccggattcttctgcctggtgctggcggccatttttggttacgtct
+ggccgccggtacagcacgctatccatgcaggcggcgagtggatcgtttctgcgggcgcgc
+tgggttccggtatctttggtttcatcaaccgtctgctgatcccaaccggtctgcatcagg
+tactgaacaccatcgcctggttccagattggtgaattcaccaacgcggcgggtacggttt
+tccacggtgacattaaccgcttctatgccggtgacggcaccgcggggatgttcatgtccg
+gcttcttcccgatcatgatgttcggtctgccgggtgcggcgctggcgatgtacttcgcag
+caccgaaagagcgtcgtccgatggttggcggtatgctgctttctgttgctgttactgcgt
+tcctgaccggtgtgactgagccgctggaattcctgttcatgttccttgctccgctgctgt
+acctcctgcacgcactgctgaccggtatcagcctgtttgtggcaacgctgctgggtatcc
+acgcgggcttctctttctctgcgggggctatcgactacgcgttgatgtataacctgccgg
+ccgccagccagaacgtctggatgctgctggtgatgggcgttatcttcttcgctatctact
+tcgtggtgttcagtttggttatccgcatgttcaacctgaaaacgccgggtcgtgaagata
+aagaagacgagatcgttactgaagaagccaacagcaacactgaagaaggtctgactcaac
+tggcaaccaactatattgctgcggttggcggcactgacaacctgaaagcgattgacgcct
+gtatcacccgtctgcgccttacagtggctgactctgcccgcgttaacgatacgatgtgta
+aacgtctgggtgcttctggggtagtgaaactgaacaaacagactattcaggtgattgttg
+gcgcgaaagcagaatccatcggcgatgcgatgaagaaagtcgttgcccgtggtccggtag
+ccgctgcgtcagctgaagcaactccggcaactgccgcgcctgtagcaaaaccgcaggctg
+taccaaacgcggtatctatcgcggagctggtatcgccgattaccggtgatgtcgtggcac
+tggatcaggttcctgacgaagcattcgccagcaaagcggtgggtgacggtgtggcggtga
+aaccgacagataaaatcgtcgtatcaccagccgcagggacaatcgtgaaaatcttcaaca
+ccaaccacgcgttctgcctggaaaccgaaaaaggcgcggagatcgtcgtccatatgggta
+tcgacaccgtagcgctggaaggtaaaggctttaaacgtctggtggaagagggtgcgcagg
+taagcgcagggcaaccgattctggaaatggatctggattacctgaacgctaacgcccgct
+cgatgattagcccggtggtttgcagcaatatcgacgatttcagtggcttgatcattaaag
+ctcagggccatattgtggcgggtcaaacaccgctgtatgaaatcaaaaagtaatctgctt
+tatgcctgatgcgacgcttgagcgtcgcatccaacaatgacaagcggtggagatcttctc
+tgccgctttttttttcatcaatcatccccataatccttgttagattatcaattttaaaaa
+actaacagttgtcagcctgtcccgcttataagatcatacgccgttatacgttgtttacgc
+tttgaggaatccacgatgagtgaggcagaagcccgcccgactaactttatccgtcagatc
+atcgatgaagatctggccagtggtaagcacaccacagtacacacccgtttcccgccggag
+ccgaatggctatctgcatattggccatgcgaaatctatctgcctgaacttcgggatcgcc
+caggactataaaggccagtgcaacctgcgtttcgacgacactaacccggtaaaagaagat
+atcgagtatgttgagtcgatcaaaaacgacgtagagtggttaggttttcactggtctggt
+aacgtccgttactcctccgattattttgatcagctccacgcctatgcgatcgaactgatc
+aataaaggcctggcgtacgttgatgaactgacgccggaacagatccgcgaataccgcggc
+accctgacgcaaccgggtaaaaacagcccgtaccgcgaccgcagcgttgaagagaacctg
+gcgctgttcgaaaaaatgcgtgccggtggttttgaagaaggtaaagcctgcctgcgtgcg
+aaaatcgacatggcttcaccgtttatcgtgatgcgcgatccggtgctgtaccgtattaaa
+tttgctgaacaccaccagactggcaacaagtggtgcatctacccgatgtacgacttcacc
+cactgcatcagcgatgccctggaaggtattacgcactctctgtgtacgcttgagttccag
+gacaaccgtcgtctgtacgactgggtactggacaacatcacgattcctgttcacccgcgc
+cagtatgagttctcgcgcctgaatctggaatacaccgtgatgtccaagcgtaagttgaac
+ctgctggtgaccgacaagcacgttgaaggctgggatgacccgcgtatgccgaccatttcc
+ggtctgcgtcgtcgtggttacactgcggcttctattcgtgagttctgcaaacgcatcggc
+gtgaccaagcaggacaacaccattgagatggcgtcgctggaatcctgcatccgtgaagat
+ctcaacgaaaatgcgccgcgcgcaatggcggttatcgatccggtgaaactggttatcgaa
+aactatcagggcgaaggcgaaatggttaccatgccgaaccatccgaacaaaccggaaatg
+ggcagccgtcaggtgccgtttagcggtgagatttggattgatcgcgccgatttccgcgaa
+gaagctaacaagcagtacaaacgtctggtgctgggtaaagaagtgcgtctgcgtaatgct
+tatgtgattaaggcagaacgcgtcgagaaagatgccgaaggtaatatcaccaccatcttc
+tgtacttatgacgccgataccttaagcaaagatccggcagatggtcgtaaagtcaaaggt
+gttattcactgggtgagcgcggcacatgcgctgccggttgaaatccgtttgtatgaccgt
+ctgttcagcgtgcctaacccaggtgctgcggatgatttcctgtcggtgattaacccggaa
+tcgctggtgatcaaacagggctttgctgaaccgtcgctgaaagatgcggttgcgggtaaa
+gcattccagtttgagcgtgaaggttacttctgcctcgatagccgccattctacggcggaa
+aaaccggtatttaaccgcaccgttgggctgcgtgatacctgggcgaaagtaggcgagtaa
+ttttaagtttcgctatgccggatggggcgtttacgtcgcatccggcaaggaacagacaaa
+cagtttcaaacgctaaattgcctgatgcgctacgcttatcaggcctacatgatctctgca
+atatattgagtttgcgtgcttttgtaggccggataaggcgttcacgccgcatccggcaag
+aaacagcaaacaatccaaaacgccgcgttcagcggcgttttttctgcttttcttcgcgaa
+ttaattccgcttcgcaatttatccataaaataaatttaaaataacaaaacataattaaat
+aaaatgtaaccgctttcatcttgctggaatttcacgcttttattcttctgcaagcctttc
+aaccgcaaacttaagccttgtaacaaaaatcatcaaaatatgtgcggttgctcatgttct
+tacattctggttacagaaagagattgataattcgcgtcgcgaaaaatagtctgttcctgt
+agtcagcgagacttttctcaacgctacttttttaatttttattttttcgctgttcacctt
+tggtgcagcaatttatacgtcaaagaggattaacccatgcgtacgtttagtggcaaacgt
+agtacgctggcgctggctatcgccggtgttacagcaatgtcgggctttatggcaatgccg
+gaggctcgcgccgaaggattcatcgacgattcaaccttaaccggcggtatctattactgg
+cagcgtgaacgcgaccgtaaagatgttaccgacggcgacaaatacaaaaccaacctttct
+cactccacctggaatgccaacctcgattttcagtccggttatgctgctgatatgttcggc
+cttgatattgctgcgtttacggcgattgaaatggcggaaaacggcgacagctcccacccg
+aacgaaatcgcgttttcaaaaagtaataaagcctatgacgaagactggtccggcgacaaa
+agcggtataagcctgtataaagctgcggccaaatttaaatacggtccggtttgggcgagg
+gcaggttacattcagccaactggtcaaacgctgttagcgccgcactggagctttatgcca
+ggtacttatcagggggcggaagccggggcgaattttgattacggcgatgctggtgcgttg
+agtttctcctacatgtggaccaacgaatacaaagcgccgtggcatctggaaatggatgag
+ttttatcagaacgataaaaccaccaaagttgattatctgcactcctttggggcgaaatac
+gacttcaaaaataacttcgtactggaagcggcatttggtcaggcggaagggtatatcgat
+caatattttgccaaagccagctacaaatttgatatcgccggtagcccgttaaccaccagc
+taccagttctacggtacccgagataaagttgacgatcgcagcgtcaacgacctttatgac
+ggcaccgcctggctgcaagcgttgacctttggttaccgggcggctgacgtagtggatttg
+cgcctcgaaggcacctgggttaaggctgacggtcagcagggatacttcctgcaacgtatg
+actccaacctacgcttcctcaaacggtcgcctggatatctggtgggataaccgttctgac
+ttcaacgccaacggcgaaaaagcggtcttcttcggtgcgatgtatgacctgaaaaactgg
+aatcttccaggcttcgccatcggcgcttcctacgtttacgcatgggatgctaaacctgcg
+acctggcagagcaatccggatgcgtactacgacaaaaaccggactattgaagagtctgcc
+tacagcctggatgcggtctataccattcaggacggtcgcgccaaaggcacgatgttcaaa
+ctgcatttcaccgaatacgacaaccactccgacatcccaagctggggcggtggttacggc
+aacatcttccaggatgagcgtgacgtgaaatttatggtaatcgcaccattcaccatcttc
+tgatgcccgacgcggcaggttttgtgcctgccgcacgtttgaggaatttgctatgaaaaa
+actgattctcatcgccataatggcatcggggctggtagcttgtgcgcaatcaaccgcgcc
+acaggaagacagtcgtctgaaagaggcatacagcgcctgtatcaacaccgcacaaggttc
+gccagaaaaaattgaagcctgccagagcgtgttaaacgtgctgaagaaagagaaacaaca
+tcagcagtttgccgaccaggaaagtgtacgcgtactggattatcagcagtgtctgcgtgc
+aacgcaaaccggaaatgatcaggcggtgaaagccgattgtgataaagtctggcaggaaat
+acgcagtaataacaaataagtgagagctgtaactctcgcttttcttatttcccttgcata
+aaaaagccaacccgcaggttggcttttctcgttcaggctggcttatttgccttcgtgcgc
+atgttcatcttcgcggcaatcgccttcggcacagtgaccgtaaagatagagactgtggtt
+agtcaggcgaatgccatgttttgcggcaatttcacgctgacgcgcttcgatggaatcatc
+actaaattcgataaccttgccgcagtcgaggcagatcaggtgatcgtggtgatgttgctg
+tgtcagttcaaatacggatttaccgccttcaaaattgtggcgggtgacgataccagcgtc
+gtcaaactggttcagtacgcgatataccgtagccagaccaatttcttcacccatatcgat
+cagacgtttgtataaatcttccgcactgacgtgatggttgtccggctcctgaagaacttc
+caggatttttaaacgaggaagcgttactttcaggccagctttctttagggcggtattgtt
+atcagtcatgcggaatctgtcctgttactaagcggttcacttcattagaagaagtgacag
+aatttgctcttgagataatgcgtatcattatagaattgccacgcctaaatgaaaaccaca
+agtccctggcaaatattgttaataaaaacgtggcacagcttacatttacaacggcaaggc
+cacttgaacaccgggacattgtacaggtacaacagcaaaagttacaaatttgtagcaatt
+attttgattggcattatctattaatacggcgtagacatgagtctacgccgcatcacatca
+ggcattgagaatttcgtcgagatgcaactcttcagaaatctgtttaacccatttttctac
+acgttcagcggtcagttccggctgacggtcttcgtcgatagccagaccgacaaagtggtc
+gtcatctgccagaccttttgatgcttcgaaatgatagcccgcagttggccagtgaccaac
+gatggttgcaccgcgcggttcaatgatgtcgcggatggtgcccaatgcgtcgcagaaata
+ttcggcgtaatcttcctggtcaccacaaccaaacagcgcaaccagtttgccgttgaaatc
+aatctcttcgagagtcgggaagaagtcatcccagtcacactgcgcttcgccgtaatacca
+ggttgggatgcccagcagcagaatgtcataagcttccagatcttctttgctgctttttgc
+aatgtcatggacatcggcaacgtctttaccaagctgtttttgaatcatttttgcgatatt
+ttcggtattaccggtgtcgctgccgaaaaagatgccagtgatagccatgagtgaaataac
+ctcttgaaacttattgaaatgggggtggaaaattgcccacggataaaggcaatcatagca
+gaacaggcagtcttgcggaatcagcaaacgagcaggactgcacactgtgctacatgaaag
+tggaaatttaaacgatgccctgactacgcagcgccgccagttgctgcattaacatctctt
+cgatcagttcgctacggctcatattgcgcgactccgccagctcgttcagcgcctcgacag
+cttccgcgttcagcttcagttcgacacgcttaaggccacgtactttgtcgcgttttagct
+ggttgcgtttattaatacgcagctgttcatcgcgcgaaagcggattagttttcggtcgtc
+ccggtcgacgctcgtgcgcgaacagatctaatgtcgtacggtccgtttgttctttggcca
+tgatcttggtgacttcgggggaaacaatcagccaggcctctgcccggatggatagcgcgc
+cataatacatcagcgcgatgagtcacgccaacgcccacgcgcggaaagcgacgcggacgc
+tgggtttttaatcagttgcgttaatcattgagatagcgacggatagcgcgtaataccgca
+tccggtttttcagcatggacccagtgacccgcgcctgcaatcacatgcgcccgtgcctgt
+ggaaattgagccagtaaatcatcacggtactgctcgctaacatacggagaattgccgcca
+gggataaacagggcagggtgatcccatgccgggattttctcccaacctacaatatgcgga
+tactgatcccacaataccggcacgttaaagcgccactccccgtcaacaaaagatttcagc
+agaaactgaatcaccccttcttcattaagatgctggcgcattattgctgctgcttgctgg
+cgagtttgtgcgtccgattcactgaccgcgttgatagccgcaaaaatctcatcatgacgg
+cgtacgtgatagtcgaccggcgcgatatcgatcgccaccagtttatcgatgcgatcggag
+gctagtgcagtaagtgccattaccgctttaccgcccatggagtgaccgataaatgttgct
+ttgtcgatctgctgtgcatccagagtatcaacaagatcctgcgccatcgccgggtaattc
+attaccggatctctcggtgaaagaccgtggttacgcatatcaacctggatgatattgtga
+tcgtttaccagatcgcgagccagtacgccaaggttgtcgaggctgccaaacagaccgtgg
+acaagaacgatgggagaattattgtgctggttttgtgcagtttgcgcgcggatattcaat
+ttcatggcaaagttctttttttcgcgttgtcgggttagggtattatgttgaccattgtgc
+cacagggctgcaacaaataaggtttattccgagtttttctgcaagccaggcttgacgcta
+tccgctgccgggatttattcatatactcctggcgacttgtattcagctaagacactgcac
+tggattaagatgaaaacgattgaagttgatgatgaactctacagctatattgccagccac
+actaagcatatcggcgagagcgcatccgacattttacggcgtatgttgaaattttccgcc
+gcatcacagcctgctgctccggtgacgaaagaggttcgcgttgcgtcacctgctatcgtc
+gaagcgaagccggtcaaaacgattaaagacaaggttcgcgcaatgcgtgaacttctgctt
+tcggatgaatacgcagagcaaaagcgagcggtcaatcgctttatgctgctgttgtctaca
+ctatattctcttgacgcccaggcgtttgccgaagcaacggaatcgttgcacggtcgtaca
+cgcgtttactttgcggcagatgaacaaacgctgctgaaaaatggtaatcagaccaagccg
+aaacatgtgccaggcacgccgtattgggtgatcaccaacaccaacaccggccgtaaatgc
+agcatgatcgaacacatcatgcagtcgatgcaattcccggcggaattgattgagaaggtt
+tgcggaactatctaaaacgttgcagacaaaggacaaagcaatggcaatccacaatcgtgc
+aggccaacctgcacaacagagtgatttgattaacgtcgcccaactgacggcgcaatatta
+tgtactgaaaccagaagcagggaatgcggagcacgcggtgaaattcggtacttccggtca
+ccgtggcagtgcagcgcgccacagctttaacgagccgcacattctggcgatcgctcaggc
+aattgctgaagaacgtgcgaaaaacggcatcactggcccttgctatgtgggtaaagatac
+tcacgccctgtccgaacctgcattcatttccgttctggaagtgctggcagcgaacggcgt
+tgatgtcattgtgcaggaaaacaatggcttcaccccgacgcctgccgtttccaatgccat
+cctggttcacaataaaaaaggtggcccgctggcagacggtatcgtgattacaccgtccca
+taacccgccggaagatggtggaatcaaatacaatccgccaaatggtggcccggctgatac
+caacgtcactaaagtggtggaagacagggccaacgcactgctggccgatggcctgaaagg
+cgtgaagcgtatctccctcgacgaagcgatggcatccggtcatgtgaaagagcaggatct
+ggtgcagccgttcgtggaaggtctggccgatatcgttgatatggccgcgattcagaaagc
+gggcctgacgctgggcgttgatccgctgggcggttccggtatcgaatactggaagcgtat
+tggcgagtattacaacctcaacctgactatcgttaacgatcaggtcgatcaaaccttccg
+ctttatgcaccttgataaagacggcgcgatccgtatggactgctcctccgagtgtgcgat
+ggcgggcctgctggcactgcgtgataagttcgatctggcgtttgctaacgacccggatta
+tgaccgtcacggtatcgtcactccggcaggtttgatgaatccgaaccactacctggcggt
+ggcaatcaattacctgttccagcatcgtccgcagtggggcaaagatgttgccgtcggtaa
+aacgctggtttcatctgcgatgatcgaccgtgtggtcaacgacttgggccgtaaactggt
+agaagtcccggtaggtttcaaatggtttgtcgatggtctgttcgacggcagcttcggctt
+tggcggcgaagagagtgcaggggcttccttcctgcgtttcgacggcacgccgtggtccac
+cgacaaagacggcatcatcatgtgtctgctggcggcggaaatcaccgctgtcaccggtaa
+gaacccgcaggaacactacaacgaactggcaaaacgctttggtgcgccgagctacaaccg
+tttgcaggcagctgcgacttccgcacaaaaagcggcgctgtctaagctgtctccggaaat
+ggtgagcgccagcaccctggcaggtgacccgatcaccgcgcgcctgactgctgctccggg
+caacggtgcttctattggcggtctgaaagtgatgactgacaacggctggttcgccgcgcg
+tccgtcaggcacggaagacgcatataagatctactgcgaaagcttcctcggtgaagaaca
+tcgcaagcagattgagaaagaagcggttgagattgttagcgaagttctgaaaaacgcgta
+aacacatttaataaaaaaagggcggtcgcaagatcgcccttttttacgtatgacaaacac
+agaattgcctgatgcgctacgcttatcaggcctacgaggatggtgcaatatattgaattt
+aagcgattttgtaggccggataaggcgttcacgccgcatccggcaaaaacaacgaacact
+ttgtcaacaaactgagtagctcaaggaaatcccaatgaagaccaacaggagtctggtcgt
+catagtgtcactaattaccgccacattactgctgactgcatgcgcccaacctgaacaatc
+atcattagctggcgactggttactgacccctaaagataaaaccagaggattaacgggtag
+cattgcggtaaatattgcacctttccggtgtaagacaaattgccgtggtgataacttacc
+tgataatacccgccgctggcagttgtcaggcgggaacgaaaaagaacttacttatcttca
+taatatgtcagcacaagaaaaggtcggtttaaatcccggttggcaatgctacacctcatt
+ttttatgcgggtttgccagggcaagcccggcactcgaccgatagtcaatgaggattatgt
+cagcgaaagcggattttttggctcgatgatgcatgtcgggattattgagttacgacgctg
+ccagtcagaaaattgccagcaagaattgaaagcgataaatacacattaaaatagtgagtc
+cgggaatgaaacccggacctgaacatgtcttattgcgtgaatgtttctttcatttgatac
+tgcatttcccagagttcagtaagcgaaataacttttcttgttcttgcttcttcactttgt
+acccataagaaagggtagaacgtgaaggcttccgttgccgataattttattacgtcttct
+cgccattgctgccatcgtacattttcatagaaggtatctaaatcaccggataatgcccac
+tgaagaaactcagaatatccaacttccagactttcccaattcagcgtatctggcgcaaaa
+taataaacgcagccagtatcttccccaagatcgccaccattaagagcaaaaattacccct
+gcgacatcgtcagcgatgggtaaagcccgcacgcctgcgaattcagggcgttgtgtccaa
+cttactggatctcgtggcaaccgggggtgaccagatcctgctatgcgtaactaaccatta
+tcaatcagcagacctccggagccatagacaagcgcacccatcggtgattttgttgtcacc
+tgtaattgataaagtgcggtttcggctaaatctttattaaccggtaagagttcggtatgg
+tttgtggcgtcttttaaccagttctggattattggccaggctgaatcttcagtatttact
+aactgattcatttcacgcatcgctacttgctccttgtgtgctacggtgtcatttatgatg
+aggaattgtatggaacattttttaaatattaagttccttatatttgaataaaaaatgact
+ttatccatacattgccacttttttcaaagcataaaccgatacccaataccggtttcagta
+ataaaatggcgaggccgggccggatcctgttccagtttttgtcgcagatgccccatataa
+ttacgcaaatagttgctgtgttcgatcgcgtttagaccctacatctgccggatgcggcat
+aaataacgaactatttgccaacaaacagaaagggcgatcattcaatcgcccttttttact
+ttgttttattaaccgtgtttatttttcagttcaaagcgtggtgataccagaccatacagt
+gtccaaccaaggaaggtcacgatggaaccgtacagcatggcttcttccccggatgagtac
+agcgcataaaagctatacatcgcgccaacaaaagcaacaaagtttgcaactttcgctttt
+gaggggggcacattagcgaccttctgaataatgactaatgccgccattgacagaatatac
+ggaatgatattggtcaccacggccaggttaaccagcacgttgaactgactgtttagcgac
+gggctaatggtcatcagtgccaatccactctgaataatcacaatggtcaacattccctgc
+accggtgcatccactttggttacacgggagaaaattttagggaagtagccttcatcagat
+gaagatttaaacacctgggcaatggtgaactgccagccaagtagcgaaccgcagcaggac
+atcaccatcagcgccataatgactttacccacttccggcgtgaacatctgcgcgaaggcc
+agaccaaatggtgccgttgaatttgccagctccatatttggcacaatcccggcaatcacg
+ttggtggagacgatataaatcaccgccgcacctaacgtaccgccgagtaccgcgattggc
+acattacgttccgggttttccactacatcagtattcgcacacgcagactccagaccaaga
+aaagcccacagcgtcatagcgatggaagaacctaccgcactgaagaacggtgcatgatgc
+ggattccaggaatcaacgtacagcgtcgggctaaaccagaaccagccaataatgcacaga
+ccgacgaccggaataatgaccccccacacggtaatgctactgatttgcccggtaatgcgc
+gcaccaccaaagttagccacggtacaaatccacagcaccccgatggtcgcaagaccaatc
+tgcactggcgacaaactcgcgccgagcagttcggtgccgtaaccaaccgccgaaatagca
+atcgcgacgttagcaatcagcagtgagacgccgtaggtatagttcgccataaagttaccg
+gatttaccgaaagcatactcggcataaccgcccataccgcctgatttacggctgaacata
+ccgcattttgcgaatgcccatgccagtgccattgagcctacggctgtcaccagccaggag
+ataattgagattgtcccgacttcggcaagctttgtcggcagcatgatgataccggagccc
+atcatgttgaccatcgtcagtatggttaactgaacgacgcccattttgttcgatttagcc
+tgactcataatttttcccctttcaacagggtgctttgcgcatcacgaggcttgatgacat
+agcaccaaacttgcttacgaccatcatgttcttcgatatagacaccctgcagctccggtg
+caaaacctggcagcaggttgatcccttcttccagagcgctgaagtaacgcagaacagcac
+caccccagatttcacccggaacaacacacagcacacccggaggataaggaagcgcacctt
+cggcagcgatacggccttctgcatccggcagacgaaccagttccacttcaccgcgtaaat
+aggcgtagttggcttcttgcggattcatgctgacgcgtgggaagtgctccttacggaaca
+tctctttttgcagttgtttcacgttgtggcgggcatacaaatcatgcatttcctgacaca
+actgacgcagggtataaccggcgtagcgctcttcatgctgtttgtagatggaaggtagca
+cttctgctaatggcgcgtcggactcaagcagtttttcgaagcgtaccagcagggcaacaa
+gttgctgaagtttggccatatcttctgccggagtcagcaggaagaggatggagttaagat
+cgcatttttccggcactacgccattttcgcgcaggaagttagcaagaatcgtcgcgggta
+caccgaacgcttcatattcgccgttacgtgcatcaatacctggggttgtcagcaacagtt
+tgcatggatcgacaaagtattgattctctgcatagccttcaaaagaatgccagtgttccc
+ctggtacaaactggaagaagcgcagatcaaccgcaatttgcgctgtttcatacgactgcc
+agggtttaccatccaccagttcaggtacgaacggacgaatatgctgacagttatcgagga
+tcagtttgcgggcattaatgccatttaccacacaatccatccacatattacgaccgctga
+caccttcatgcattttggcgttgatattcagtgcggcaaacagcggatagaacgggctgg
+tggaggcgtgcatcataaaggcgttgttcatgcgtttgtgcggtacataacgctgttgcc
+ctttgatgtggctgtcttttttatgaatttgtgaagtctgagaaaaaccagcctgttgtt
+tatgcacagattgcgtaaccagaatacccggatcgttctcattaagatccagcaacagcg
+gcgaacagtccgccatcatcggaataaactgttcatagccgacccatgctgagtcaaaca
+ggatgtagtcacacagatgaccaattttatccaccacttggcgggcgttataaatcgtac
+cgtcgtaggtgcctaactgaatcacagcgaggcggaaaggacgagcctcttttgcccgct
+gcggtgcgacttccgcgatcagctcacgcaggtaactttcttcaaaacagtgcgcatcaa
+tgccaccgataaagccatacgggttacgtgccgtttccagataaaccggtgttgcaccag
+cctgtagcaacgctccgtggtggttagatttgtggttattgcgatcaaacagcaccagat
+cacccggtgttagcagggcgtttaaaaccactttgttagaagatgaagtgccatttaaaa
+cgaagtaggttttatcggcattaaacacttttgccgcatgttgctgtgcaatgcatggcg
+cgccttcgtgaatcagcagatcgcccatcgctacgtcggcgttgcacaagtcggcacgga
+acagcgcctcaccaaagtattccacaaactgattccccgccggatggcgacggaaaaatt
+cgccgccctgatgaccagggcaatcaaacgcgctgttaccttgattgacataatcgacca
+gtgcgcggaagaaaggtgggcgcagttgagtttcataatggctggcagcggtttctaact
+ggcgaccataaaattctcgtcgcgattcgcaattctcaaagacacccgaaatacggggca
+aatactctgcgggtacacgttcttgattttcagtagcaataaataccgggatgccataac
+ccgtggcatcgatttcatcgagttttccgcatgtaacatcgttgagcgataaaactattg
+ccgccacatcgatattacgactttcattaatgtagatacattctcgctgcgtggtaaaac
+agtccgggcaagaatcactaaccgcaatttttaattttgacatttttcatctctttattt
+taggtaatagcaggtcctcaatttctcgaatgagaaatcgatcgtgccggaaaaaagcaa
+agttaccccgctgataaataaatcaggtagattgcttttttcagaatgcagaaaccctta
+ccagtcaggtggctgataatacaagggttaacagagaatgagcactgcggaatacaggca
+tatgcctgtaatacagagagtcaggaagacctgtacgctgaagtgcccttagtcggtaga
+ctaacgggcattgaagaagtgaaagtcgaagctattgcgatgagcaaacttcataatatg
+agttgtccgccttatatggggcatagtgcggctgttattttccatttaatttacctttcc
+tgatgtgaatgaaggtgaagatattctatccaggaaatacggttgaactgtgaaggtgat
+caataaaaaatgatcaatcttaatttatttaatgatgagctttttactcagtaatataaa
+atattgaattgttatttttgtgtgttgtttaagataaaaagccgtatttattattacggc
+tttaattaataaaaggcaggctgtattaaaattaatattcaaagcataaaccgatagcca
+ataccggtttcagtaatgaaatggcgtgggcgggcgggatcctgttccagtttttgtcgc
+agatgtcccatataaatacgcaaatagtgactgtgttcgaccgcgtttggcccccacacc
+tggttaaggagctggcgctgggtgagtacttttccggcattgttgagcagcaccgccagc
+aggcggaactcaattggtgtgagatgcacctcttcctcaccccggtgaatcacgcgggcg
+gctaaatcgacggtaacatcggaaaattttaccagcggatcgggcgcggtggtggcagag
+tggcggcgtaatgcgacgcgcagacgggcctgcaattcgccaatgccaaacggcttactc
+agataatcatccgctccggcatccagcgcggcgattttgtcgctctcttcgctgcgtgcg
+gaaagcacaatcaccggcaccgcgctccactggcgcaggtcgcggataaactcaatccca
+tcaccatcgggcaggccgagatcgagaataatcaaatctggcttacgggttgccgcttcc
+agcaagccgcgttgcagcgtttcggcctcaaagacgcgcatcccgtcgccctccagcgcc
+gtgcgcagaaagcgacgaatagcctgttcatcttcaacaatcagaacgtttgtcacatat
+cctcatgaaattcttcaagttcaggggcagtttgctggggaagtgtaacacgaaaacagg
+caccaccttccggtcggttgaacgcggtaatagtgcccccgtgtacatccactatcgccc
+gacaaattgccagtccaagccctacccccggtactgccgactctttattcccgcgagcaa
+acttatcaaatatcgtctgctcctggcctggcggaagaccggggccgttatcccagacat
+ccagttgtagattttcgccctcaacgtgggcatcgataccaatttcggcctgcgcacccg
+catatttcaccgcgttctccagcagattaatcagcacccgttcaaagagtggcccgtcaa
+cgtggattaaggtcagcggttctggcagagaaagattgatgggcgacgataaacccggtt
+ccagcatttgcagcgcgctgccgactacttcttccagcgttaaccactctttcttcaaat
+taaagccgccggactgaattcgcgccatatccagtagattattcaccagtcgggtagtgt
+tcagcacatgctgacggatctcgctggcctggcgggcgtggggtgatccttcgcttgcca
+gatcgagcgttaagatttctgcctgaccaaacagcaccgtaagcggcgtgcgtaaatcat
+gcgaaagcgccgccagcagggcgttgcggatctgttcacgttcgcttgccatccgcgcct
+gttcttcgctggcggttagcgtcagccgctcaagggcattggcgactaacagcgtaaacg
+tctccagcaggcgctgctgttccgggatcatcaactggcgcagattccccggctccacca
+ccaccagcccgtaggttttctcgccgctttttagcggcaaaatctggtacggtacaccgg
+gtaacgtgtcggtgcccgcgcccgcaggcaggcctttatcaaaactccactgcgcgatgg
+catcgtcccacggcgtcattccttgcggatgtgttaacggctgcaatttaccgttgtcat
+cgggcaacaacacctgactgcgggcatgaaacgtggaggcaataaattgttcgctggtgg
+cagcgatatcctgcggactgcggcccaccgccagagctttcgacatttcatataagtgcc
+gtgtgcgttgctcgcggtaacgggctacccgcgcctgataacgcacgccagcagtaaggt
+tcccgatcaccagcccgacggttaacatcaccgcgaaggtcagcagatattgcacatcag
+agacggcgagcgtgccgcgtggggcgataaaaaagagatcgaaactcactacattaatga
+cggtggcaaccactgaaggccagcgtccataaaatagcgccaccaccaccacgccaagca
+gatacagcatcaccaggttggcggcatcaaacgccatcagccactgcatggcaattaagg
+tgataacggcgcataacgcggcggcaaccacgcatccctgaatttgtacacgccacttgt
+ctttaaaagagcggttatccggcgcgttgttaatcgtgcgggcgggtggttcatcaagcg
+cgaccagcacctgatcgagatcgggggcgatgcgcgccagtcggtcagcaaacgtttccc
+gacgccaccagcggcgcgaggccgggcgaccgagaataatcttgccgagattatgttcac
+gggcataacgcactaccgctttctcttccgctggatcagaaagtgttgccgtctccgcgc
+ccagttcctgcgccagacgtaaggcgctgagaattgcccgacgttttttttccggtaagc
+ggtgcagggcaggggtttcaacatacaccgcgtgccagacgctacccagccgtgacgcca
+gccgcgccgctgcgcggaccagtttttcgctgccggtgttatggccgatgcataaaagga
+tcgcgtcgcgcgtgtgccacactttctcttcgccaggatgcccccgccaggcgcgcattt
+gctcatcaacgcgatcggcagtacggcgcagtgccagttcgcgcagggcgatcagattac
+ctttgcggaaaaaatgttcaatggcgcgctccgcctgcccggcaatatagactttgcctt
+ctttcagccgctggcgcagatcgtccgggggcaagtccaccagcaccacgtcgtcggcgg
+catcgaaaaaaggatcgggcacggtttcccgtacctgaattccggtgacgccgctgacca
+catcattcagactttccagatgctgaacgttgacggtagtgaaaacatcaatgccagctt
+ccagcagttcttcgatatcctgccagcgtttgggatgacgggaacctggcgcattactgt
+gcgccagttcgtccattaagatcagcgccgggcggcgggcgagggcggcatcgagatcaa
+actcgctgatatgccgcccacggtacgcctggcgttttaacggcagaacagccagccctt
+ccagcatggcggcggtatcttttcgcccgtgggtttctaccacgccaaccacaatatcca
+gcccttgcgcccgcagtcgctgggcttctgccagcatcgcccaggtcttcccgacgcctg
+cacaggcaccgaagaaaactttcagcttcccccgatgcggcgcggcagtttgttccagca
+gacgatcggggtcgggacgtaagggttcgttattcatcaagtttatccagcgccagattg
+agttcaacaatgttgacaaccggctggccgatatatttcaccagcggttgttggctgtat
+tttgcgatcagttgcgtgagctgttcaacgctgagattacgcgctttcgccacgcgtggg
+atttgccaggccgccgcttgcggggtgatattattgtccagcccgcttgccgatgccgtc
+accagttcaaccggaacgctcgcgctggcatccgggttagcggcccgtaatgcagcaacg
+cgtgcggctattagtttatccagctcagggttactgaccgccagattgctcccgccagaa
+gcctgtggattatagggcatttctgccgttgccgacgggcgaccatgaaaatagccgttg
+ccggtaaaattctgcccgattaatgccgaaccgcgcaccgtatcaccttcacgaatcaac
+gaaccattggcctgccagggaaaccaccattgccccagtacggtggtcagcagcgggtaa
+acgccgccagtaatcaataacagaaagataaatgttgataatgccggacgtaatccactc
+atggtaaacctcacaccagaccgcaaacggtcagcagtaaatcaatgactttgataccga
+taaacggcaccagcagcccacccagaccgtaaatccataagttacggcgcaacatggcag
+aagcggtaagcggtttataactcacgccttttaacgccaggggaatcaaaaagacgataa
+tcaaggcgttgaaaatcaccgcactgaggattgcggagtcgggcgaatgcaggcacatga
+tgttcagcgcatttaactgcggatacgttgccgcgaatgccgccggaataatggcgaagt
+atttcgccacatcgttggcaatgctgaaggtggtcagcgagccacgggtcatcagcatct
+gtttgccaatgtgcaccacctcgatcaacttggtcgggttagagtcgagatcgaccatat
+tgcccgcctctttcgccgcctgggtgccggagttcatcgccaccgcgacatctgcctgcg
+ccagcgccggagcatcgttggtgccgtcgccggtcatcgctaccaaacgaccttccgcct
+gatactgacggatcaatgccagcttggcctccggtgtcgcttcggcgagaaaatcatcga
+cacccgcttccgcagcaatcgcggcggcagtcagacggttatcgccggtaatcatcaccg
+ttttaatgcccattttgcgcagctgggcgaagcgctctttaataccgcctttgacgatat
+ctttcagcgcaataacgcccagcacacgagaaccttccaccaccaccagcggcgtggctc
+cctgacgcgcaacctgatcgactttttgatcaacatcggtagggaagtgaccaccgttag
+cctcaacatggcgacgaatggcatcgacagaacctttacggatcatgcggttgtcgatgt
+tgatcccgctcatccggctttgcgcagtaaacggtacaaaggtggcatggagcgactgca
+catcgcgctcgcgcaggttaaaacgctgcttggcgaggatcacaatactgcggccttccg
+gcgtttcatcagccagcgaagccagttgtgcggcgtcagccagcgttttttcatccacgc
+cctgcgcggggataaactccgacgcctgacggttaccgagtgtgatggtgccggttttat
+ccagtagcagaacgtcaacgtcacctgccgcttcaactgcacgtccgctggtggcaatca
+cattcgcgcctagcatccggctcatcccggcgacgccgatcgctgacaacaggccgccaa
+tagtggttgggatcagacagaccagcagcgccaccagtaccgttacgctgactgcattac
+cgccccacgcggaaaacggccacagcgtggcggttgccagtaaaaagacgatagtcaggg
+caatcagcagaatggtcagggcaatttcgttcggcgttttgcgtcgctgtgcgccttcca
+ccatcgcgatcatccgatccagaaatgtctcgccggggttaacgctacactcaatcacca
+gccagtcagaaagaatacgcgtgccgccggtgacggaggcaaaatcgccgccggattcac
+ggatcaccggtgccgattccccggtgatggcgctttcatcgaccgatgcacccccttcaa
+taacttcaccatcgcaggggataatatcgccagcttctaccagtacgatatcgcctttac
+gaagttggtcggcaggaactttgtccgccgcagcgccatatttcggctcacgcagcttgc
+gggcaaaggcagtttttttcacccctttcagactgttggcctgcgctttactgcggcctt
+ctgccagcgcctcggcgaaattagcgaacagtacggtgatccacagccaaccgctaatgg
+ccgcgctaaacagcgcattgccgggcatcgcaccgcttgccatcgcgatgctaatacagg
+tggtcagcagactgccgatccagacgataaacatcaccggattgcgccattgcgcctgcg
+ggtttaattttttcaccgcttctttcagcgcctgaacgacaagtgttggttcgaatagcg
+ccagttgtttacgactcatattcagtgctcactcaatatcatcaggagagatattccgcc
+accggaccaagcgccagggcagggataaaggtcagtgcgccaaccagcaacacggtgccg
+attaacaggccaacaaacagcgggccgtgcgttggcagcgtgccggagctggcggcttgg
+ctctttttactcaccagcgaaccggcaattgccatcaccgggataatcaccccgaagcga
+ccgacaaacatgcagaacgccagtaaacagttccagaacggagagttggcgcttaatccg
+gcaaaggcgctgccgttgttgttagcggcggatgacacggcgtacagcacttcgctaaaa
+ccatgcgggccagggttgagcatggcgctacgtccggcgtcggtcatcatcgccaacgcc
+gcgcccatcagcaccagcgtcggggtaaccagaattgccagtgcagtcagtttcatctcg
+cgtacgtcgatttttttacccagatattccggtgtacgaccaatcatcagcccggcaata
+aacaccgccagcaggacaaacagcatcatgccgtaaagaccagaaccgacaccgccgaac
+accacttcaccaatttgcatcagccacatcggcaccatgccaccgagagcggtaaacgaa
+tcatgcatcgcaatcaccgcgccacaggaagccgccgtcgtcacgaccgcaaacaggcta
+ctgaccagcacgccgaaacggctctctttaccttccatattgatgctgctgtccgtgccc
+agtgccagcagatgaggattaccctgaacttctgcccacatcaccacgcctacgcagatg
+acaaaaatcactgacatcgcccacagcaacatgcgcccctggcggcgatcgcccatcact
+tcaccaaaggcaaagcacagcgccgttgggatcaagaagatcgccagcatctgcacgaag
+ttggtcagtgcggttgggttttcaaacggatgcgacgagttggcattaaagaagccaccg
+ccgttagtaccgagcatcttgatcgcttcctgagaagctacaggccccatgggtaacagc
+tgttgcgctccttcaacggtattcacagcctgataaggcagaaagttttgcagcgcacct
+tgttgaataaaaaacagtgcaatcaacaacgccacagggactagcacccataacgtgatg
+cgtagcagatcgacccaggcattcccgagcgtgctcatgctctggcgggtaaacgcacgg
+atgagggcaaaaatcaccgcaatcccgctggcggcagaaagaaagttttgcaccgttaag
+cccgccatctggctgaaatagctcaacgtggtttcaccgctataagattgccagttggta
+ttggtgacaaagctgacggcggtattcagcgccagatcccacgacagccctggcaactgc
+tgtggattaagcggcagatagtgctgaccgagcaacataaaaaacagcaccgccagcccc
+agcatgttcaggccgagaatggcacaaagatattgcttccagttcatctcacggtcagag
+acgccaagtgcgcgaaaaagtacgcgctcaacgcccgttgtaccgggaagaggaatgtca
+ttaatcagccgcgccagcccgctgcctaaaggacgcgccagcaccattaacaccagtaaa
+aacgtggcgatcagtaagaacccttgcgcagccatcagaacgcctccgcattgatcaggg
+cataaaccagataacccagtaataaaaacaccagcaatacgccggttatcacgcctgcac
+tcacagtgcacctccagtggcctaaaagtgataccggaagggtagaattctggctgcaaa
+gatttcgcaaaaatctgcgggcggggtgtaaaaaaagtataaaaatggcaaaagccatga
+tttaactaatgtttagtattaatttaacttttgtgtaacttaattacaggatgaatgtaa
+ataaaccatcaataagcaaaaataagtggtcggatgagtagtaaaattacacaaaaggcg
+gtactattttcatcagataaacaaattcatttttccggtgccattcaccgggtagataca
+aaagggggagaaaagtatggaactctacagagaatatcctgcatggcttatctttttacg
+ccgtacttatgcggttgcagcgggcgttctggcgctgcctttcatgcttttctggaaaga
+ccgcgcccgcttttacagctacctgcatcgcgtctggtcgaaaaccagcgataaaccggt
+gtggatggatcaggccgaaaaggcaactggtgatttttattgattgctgagttttgaata
+cattgaaaaccgccagcggaaacgctggcggttttttgtatcaggaagatgttcagagga
+atatttagacatcgttataccaatcgaaacatatattcatgaaatatatataaatatttt
+cctaattgttcttatctgacagatatctcacttaaggctttcttataaatctgtagggtt
+tcgcctgtcagcagacaaataacccgataaaacaaggatgagcagatgagcggaaaaccg
+gcggcgcgtcagggcgacatgacgcagtatggcggtagcattgtccagggttcagccggg
+gtacgcatcggtgcccccaccggcgtggcctgttcggtgtgccccggcggggtgacgtcc
+ggccatccggtcaatccgctgctcggtgcaaaggtccttcccggtgaaaccgacatcgcc
+ctgcccggcccgctgccgttcattctctcccgcacctacagcagttaccggacaaaaacg
+cccgcgccggtggggagcctcggccccggctggaaaatgcctgcggatatccgcttacag
+ctgcgcgataacacactgatactcagtgataacggcggcagaagcctgtattttgagcac
+ctgtttcccggtgaggacggttacagccgcagcgagtcactgtggctggtgcgcggcggc
+gtggcgaaactggatgaaggtcaccggctggccgcactctggcaggcgctgccggaagaa
+ctccgcttaagtccgcatcgttatctggcgacaaacagtccgcaggggccgtggtggctg
+ctcggctggtgtgagcgggtgccggaagcggatgaggtgctgcctgcgccgctgccgccg
+taccgggtactgaccgggctggtggaccgcttcgggcgcacacagacgttccaccgcgaa
+gccgccggtgaattcagcggcgaaatcaccggcgtgacggatggtgccgggcgtcacttc
+cggctggtactgaccacgcaggcgcagcgggcagaagaagcccggcagcaggccatttcc
+ggcgggacggaaccgtccgcttttcctgataccctgccgggttacaccgaatatggccgg
+gacaacggcatccgtctgtctgccgtgtggctgacgcacgacccggaatacccggagaat
+ttacctgccgcgccgctggtgcgctatggctggacgccccgcggcgaactggcggcggtg
+tatgaccgcagcaatacacaggtgcgcagctttacttacgatgataaataccggggccgg
+atggtggcgcaccgtcacacgggccgaccggaaatctgttaccgttacgacagcgacggg
+cgggtgacagaacagctaaacccggcaggcttaagttacacgtatcagtatgagaaggac
+cgcatcaccatcaccgacagcctgaaccgccgtgaagtcctgcacacgcagggtgaaggc
+gggctgaagcgggtggtgaaaaaggaacacgcggacggcagcgtcacgcagagtcagttt
+gacgcggtgggcaggctcagggcacagacggatgccgcaggcaggacaacagaatacagt
+ccggatgtggtgacgggcctcatcacgcgcatcaccacgccggatggcagggcatcggcg
+ttttactataaccaccacagccagttaacgtcagccaccgggcctgacgggctggaaata
+cgccgggaatatgatgaatggggccgtctgattcaggaaactgcccctgacggcgatatc
+acccgctaccgttatgataatccacacagtgacttaccctgcgcaacggaagatgccacc
+ggcagccggaaaaccatgacgtggagccgttacggtcagttgctgagcttcactgactgt
+tccggttatgtaacccgctatgaccatgaccgttttggtcaggtgacggcggtgcaccgc
+gaggaagggctgagtcagtaccgcgcatacgacagccgtggacagttaattgccgtgaaa
+gacacgcagggccatgaaacgcggtatgaatacaacgccgccggtgacctgaccaccgtc
+attgccccggacggcagcagaaacgggacacagtacgatgcgtggggaaaagccatctgt
+accacgcagggcggtctgacgcgcagtatggaatacgatgctgccggacgggtcatccgc
+ctgaccagtgaaaacggcagccacaccaccttccgttacgatgtactcgaccggctgata
+caggaaaccggctttgacggccgcacacagcgttatcaccacgacctgaccggcaaactt
+atccgcagcgaggatgaggggctggtcacccactggcactatgacgaagcagaccgcctc
+acgcaccgcaccgtgaatggcgaaaccgcagagcggtggcagtatgacgaacgcggctgg
+ctgacagacatcagccatatcagcgaagggcaccgggtgacggtgcactatggttatgac
+agtaaaggccgcctcgccagtgaacacctgacggtgcatcatccgcagacgaatgaactg
+ctctggcagcatgagaccagacatgcgtacaacgcacagggactggcgaaccgctgtata
+ccggacagcctgcccgccgtggaatggctgacctacggcagcggctggctgtcaggcatg
+aaactcggcgacacaccgctggtggagtacacccgcgaccgcctgcaccgggaaacgctg
+cgcagcttcggccgttatgaactcaccaccgcttatacccctgccgggcagttacagagc
+cagcacctgaacagcctgctgtctgaccgcgattacacctggaacgacaacggcgaactc
+atccgcatcagcagcccgcgccagacccggagttacagctacagcaccaccggcaggctg
+accggcgttcacaccaccgcagcgaatctggatatccgcatcccgtataccacagacccg
+gcaggtaaccgcctgcccgacccggagctgcacccggacagcgccctcagcatgtggccg
+gataaccgtatcgcccgtgacgcgcactatctttaccggtatgaccgtcacggcaggctg
+acagagaaaaccgacctcatcccggaaggggttatccgcacggatgatgagcgcacccac
+cggtaccattacgacagtcagcaccggctggtgcactacacgcggacacaatatgcagag
+ccgctggtcgaaagtcgctatctttacgacccgctgggccgcagggtggcaaaacgggta
+tggcggcgtgaacgggacctgacgggctggatgtcgctgtcacggaaaccgcaagtgacc
+tggtacggctgggacggcgaccgcctgaccacgatacagaacgacagaacccgcatccag
+acgatttatcagccggggagcttcacgccactcatcagggttgaaaccgccaccggtgag
+ctggcgaaaacgcagcgccgcagcctggcggatacccttcagcagtccggtggcgaagac
+ggtggcagtgtggtgttcccgccggtgctggtgcagatgctcgaccggctggaaagtgaa
+atcctggctgaccgggtgagtgaggaaagccgccgctggctggcatcgtgcggcctgacg
+gtggcgcagatgcaaagccagatggacccggtatacacgccggcgcgaaaaattcacctg
+taccactgcgaccatcgcggcctgccgctggcccttatcagcacggaagggacaacagcg
+tggtacgcagaatacgatgaatggggtaacctgctgaatgaagagaacccgcatcagctg
+cagcagcttatccgcctgccggggcagcagtatgatgaggagtccggcctgtattacaac
+cgccaccgctattatgacccgctgcaggggcgatatatcactcaggatccgattgggctg
+aaagggggatggaatttttatcagtatccgttgaatccgatctcaaatatagatccatta
+ggattagaaacactaaaatgcattaagccactgcattcaatgggcggaactggtgaaaga
+agcggtccagatatatgggggaatccgttctatcatcaatatctttgtgtcccagatggt
+aaaggggactatacttgtggtggccaagaccaacggggagaatcaaaaggagatggtcta
+tgggggccaggtaaagcaagtaatgatacaaaagaagctgctggccgttgtgacctcgtt
+gaaaccgataatagttgtgtggagaactgtttaaaagggaagtttaaagaggtaaggccg
+cgttattctgtattgcctgatatattcacacctataaatttagggctatttaaaaactgc
+caagactggtctaatgattctttagaaacatgtaagatgaagtgctccggaaataacatt
+ggacgttttattagatttgtattcaccggagtgatgtaatgaaatatattatttttttat
+tcagagctatatggctggctttatcgcttttaatactattcttttccatgcatagacttt
+cactattagactccactcgtgatgtgagcgagttaattagtctcatgtcttatggaatga
+tggtaatatgttttccaacaggcatagtattctttattgctctaatatttatagggactg
+tatcagacattattggcgtaaggattgatagtaagtatattatggcgataataatatggc
+tttattttctgtcaggagggtatattcaatggtttgtattaagtaagcgcattataaaca
+aataaattaagttaattgctcttattattatatgtaacctgggcattgatatcccgtatg
+ccacagacccggcaggtaaccgcctgcccgacccggagctgcacccggacagcaccctca
+gcatgtggccggataaccgtatcgcccgtgacgcgcactatctttaccggtatgaccgtc
+acggcaggctgacggagaaaaccgacctcatcccggaaggggttatccgcacggatgatg
+agcgcacccaccggtaccattacgacagtcagcaccggctggtgcactacacgcggacac
+aatatgcagagccgctggtcgaaagccgctatctttacgacccgctgggccgcagggtgg
+caaaacgggtgtggcgacgtgaacgggacctgacgggctggatgtcgctgtcacggaaac
+cgcaagtgacctggtacggctgggacggcgaccgcctgaccacgatacagaacgacagaa
+cccgcatccagacgatttatcagccggggagcttcacgccactcatcagggttgaaaccg
+ccaccggtgagctggcgaaaacgcagcgccgcagcctggcggatacccttcagcagtccg
+gcggcgaagacggtggcagtgtggtgttcccgccggtgctggtgcagatgctcgaccggc
+tggaaagtgaaatcctggctgaccgggtgagtgaggaaagccgccgctggctggcatcgt
+gcggcctgacggtggagcagatgcaaaaccagatggacccggtgtacacgccggcgcgaa
+aaatccacctgtaccactgcgaccatcgcggcctgccgctggcgcttgtcagcacggaag
+gggcaacagaatggtgcgcagaatacgatgaatggggcaacctgctgaatgaagagaacc
+cgcatcagctgcagcagcttatccgcctgccggggcagcagtatgatgaggagtccggcc
+tgtattacaaccgccaccgctattatgacccgctgcaggggaggtatatcactcaggatc
+cgattgggctgaaggggggatggaatttttatcagtatccgctgaatccggttcagtata
+tagattcaatgggactggcatcaaaatatggacacttaaataatggcggatatggagcga
+gacccaacaaaccgcctacgcccgatccaagtaaattgccggacatagcgaaacaattaa
+gactgccatatcctattgaccaggccagtagtgcgcctaatgttttcaaaacattcttca
+gagcattaagcccttacgactacacactgtattgcaggaagtgggtaaaaccaaatctga
+cttgtacgccacaggatgattcccagtatccagggatggatacaaagacagcaagtgatt
+acctgccacagacaaattggccaacaactcaattaccaccaggatatacttgtgcagaac
+cctatttattcccagacattaataaacccgatgggccagcaacagcagggatagatgatt
+tgggtgaaattttagctaagatgaaacagagaacatcgagaggaataagaaaatgaaaag
+agttttgttctttttgctgatgatatttgttagttttggtgttatagctgattgcgaaat
+acaagctaaagatcatgattgttttactattttcgctaagggtactattttttccgcgtt
+tcctgtcttaaataataaagccatgtggagatggtatcagaatgaggacatcggtgagta
+ttattggcaaacagaactgggtacatgtaaaaataataaattcacaccaagcggggcgag
+actcttaattcgcgtcgggtcactacgccttaatgaaaatcatgccatcaaaggaacgtt
+gcaggagttgataaatacagcagaaaaaacggcgtttctcggcgatcggtttagaagtta
+tataagagcgggtatctatcaaaaaaagagcagtgatccagttcagttgttggcagtcct
+tgataattcaatcatggtaaaatattttaaagatgagaaaccaacttatgctcgaatgac
+agcacatctcccgaacaaaaatgagtcttacgaatgtttaataaagatacagcatgaact
+aattcgtagtgaagagaaataaaatctcttcctgagaaaacaaattaatcattgtgaaaa
+attatataactcatggaataggtgtttattttgcgttccatttgcagggaaagatcacgt
+aacgctacttttttgtactaaataattcgaattttaagttcaacaattgagatactactt
+attgtctaaagctgtttttcatagcttatacatgatcaaatactccttacataaataagg
+tgaacaaatggaacttaaaaaattgatggaacatatttctattacacccgattacagaca
+agcctggaaagtggtgcataaattgtcagatattctactgttgactatttgtgccgttat
+ttctggtgcagaaggttgggaagatatagaggatttcggggaaacacatctcgatttttt
+gaagcaatatggtgattttgaaaatggtattcctgttcacgataccattgccagagttgt
+atcccagggaaagatcacgtaacgctacttttttgtactaaataattcgcattttatgtt
+taaaaattgagatattccttattacctaaagctgtttttcatagcttatacatgatcaaa
+tactccttacataaataaggtgaacaaatggaacttaaaaaattgatggaacatatttct
+attattcccgattacagataagcctggaaagtagagcataaattgtcaggcatcctacta
+ttgactatttttgccgttatttctggtgcagaaagttgggaagatatagaggatttcggg
+gaaacacatctcgatttcttgaagcaatatggtgattttgaaaatggtattcctgttcac
+gatactattgccagagttgtatcctgtatcagtcctgcaaaatttcacgagtgctttatt
+aactggatgcgtgattgccattcatcaaatgataaagacgtcattgcaattgatggaaaa
+acgctccggcactcttatgacaagagtcgccgcaggggagcgattcatgtcattagtgcg
+ttctcaacaatgcacagtctggtcatcgggcagatcaagacggataagaaatccaatgag
+atcacagctatccctgaacttcttaacatgctggatattaaaggaaaaatcatcacaact
+gatgcgatgggttgccagaaagatattgcagagaagatacaaaaacagggaggtgattat
+ttattcgctgtaaaaggaaaccaggggcggcttaataaagcctttgaggaaaaatttccg
+ctgaaagaattaaataatccagagcatgacagttacgcaatgagtgaaaagagtcacggc
+agagaagaaatccgtcttcatattgtttgcgatgtccctgatgaacttattgatttcacg
+tttgaatggaaaggactgaagaaattatgcgtggcagtctcctttcggtcaataatagca
+gaacaaaagaaagagccagaaatgacggtcagatattatatcagttctgctgatttaacc
+gcagaaaagttcgccacagcaatccgaaaccactggcacgtggagaataagctgcactgg
+cgtctggacgtggtaatgaatgaagacgactgcaaaataagaagaggaaacgccgcagaa
+ttattttcagggatacggcacatcgctattaatattttaacgaatgataaggtattcaag
+gcagggttaagacgtaagatgcgaaaagcagccatggatagaaactatctcgcgtcagtc
+cttgcggggagcgggctttcgtaatctttccctgctttttgtactaaataattcgcattt
+tatgtttaaaaattgagatattccttattacctgaagctgttttttattgcttatacatg
+atcaaatacttcttacataattaaggagaacaaaatggaacttaaaaaattgatggaaca
+tatttctattatccccgattacagacaagcctggaaagtggaacataaattatcggatat
+tctactgttgactatttgtgccgttatttctggtgcagaaggctgggaagatatagagga
+ttttggggaaacacatcccgattttttgaagcaatatggtgattttgaaaatggtattcc
+tgttcacgataccattgccagagttgtatcctgtatctgtcctgcgaaatttcatgagag
+ctttattaactggatgcttgactaccattcttcagatgataaagacgtcatcgcaattga
+tggaaaaatacaccggcattcttatgacaagagtcgccgtaagggagcgattcatgtcat
+tagtgcgttctcaacaatgcacagtctggtcatcggacagatcaagacggataagaaatc
+caatgagatcacagctatccctgaacttcttaacatgctggatattaaaggaaaaatcat
+caaaaccgatgcgatgggttgccagaaagatattgcagagaagatacaaaaacagggagg
+tgattatttattcgctgtaaaaggaaaccaggggcggctaaataaagccttcgaggaaaa
+atttccgctgaaagaattaaataatcccaagcatgacagttacgcaattagtgaaaagag
+tcacggcagagaagaaacccgtcttcatattgtttgcgatgtccctgatgagcttattga
+tttcacgtttgaatagaaagggcagctatggttagaaactacctgacgtcagtccttgcg
+gggagcaggctttcgtaaatttgtcctgctacaacaggattaacttcacaaatatcattt
+ctcaacgtctacacttactcctgtaaaccgctcaggagcagtaatgaatctacaacgatt
+tgatgacagcaccctaatccgtatctttgcccttcatgagttacatcgactgaaagaaca
+tggcttaacgcgcggggcgcttctcgattatcacagccgctataaactcgtctttctggc
+gcattctcagccggagtaccgcaaacttggcccgttcgtggctgatattcaccagtggca
+aaatctggatgactattacaaccagtaccgccaacgcgtagttgttttgctttctcaccc
+cgccaacccgcgcgatcacaccaatgttttgatgcacgttcagggttattttcgcccgca
+tattgattccacagaacgccagcagctggctgcgcttatcgacagttatcgccgtggcga
+gcaaccacttcttgcgccgctgatgcgtatcaaacactatatggcgctttatcctgacgc
+ctggctttcagggcagcgttatttcgaactttggccgcgtgtgattaacttgcgccattc
+aggagttttatgactacccatctggtctggtttcgccaggatttacgtctgcacgataat
+ctcgcactggctgccgcctgccgcaattcgtctgcacgcgtgctggcgttgtatatcgct
+acaccacgccagtgggcgacgcataacatgtcgccgcgtcaggctgaacttatcaatgct
+caactgaatgggctacaaatagcgcttgcggaaaaaggtattcctttattgttccgtgaa
+gtggatgactttgtcgccagtgtcgaaatagttaaacaggtgtgcgcggaaaacagcgtt
+acccacctgttttataactatcagtatgaagtgaatgagcgggcgcgggatgtggaagtt
+gaaagagcgctgcgtaacgtggtgtgtgaaggatttgatgacagcgtgatcctgccgcct
+ggcgcggtgatgaccggtaatcacgagatgtacaaagtctttacgccttttaagaatgcc
+tggctgaaacggctgcgggaagggatgccggagtgcgtcgctgcgccaaaagttcgtagt
+agcggatcgatagagccctcgccatccattacgctgaattatcctcgtcagtctttcgat
+actgcgcattttccggtggaagaaaaagcggcgattgcgcaattacgccagttttgccag
+aacggtgccggagaatatgagcaacaacgagattttccggcagtggaaggcaccagccgt
+ttgtcggccagcctggcaacgggcgggttatcgcctcgccagtgcttgcatcgcttgttg
+gctgaacagccgcaggcgctggacggtggggccggtagtgtctggcttaatgagctgatc
+tggcgcgagttttaccgtcacctgataacgtatcacccctcgttgtgtaaacatcgtcca
+tttattgcctggacggatcgtgtacagtggcagagcaatcccgcacatttacaggcctgg
+caggaaggcaaaacgggatacccgattgttgatgccgctatgcgtcagcttaacagcact
+ggctggatgcataacaggctacggatgattacagccagttttctggtgaaagatttattg
+atcgactggcgcgaaggcgagcgatatttcatgtcgcagctgattgatggtgatttggca
+gccaataacggtggctggcagtgggccgcttcaaccggaaccgatgcagcgccgtatttt
+cgtattttcaacccgacaacccagggcgagaaatttgatcatgagggcgagtttatccgc
+cagtggctaccggaactgcgcgatgtgccagggaaagtggtgcatgagccgtggaagtgg
+gcgcagaaagcaggtgtgacgctggattatccgcaaccgatagtcgagcacaaagaagcg
+agagtacaaacgttggcagcgtatgaggcggcgcggaaggggaaataacagacgcgtcag
+gcaatcgagcccagatgccggatgcggcgtgaacgccttatccagcctacaaatttgtgc
+aaattcaataaattgcaggaaatacgtaggcctgataagacgcgtcaagcgtcgcatcag
+gcatcggtgctggcctattaagactccagcgccagcgcgcggtttctgaatttcagcgcc
+tgatacagccaaatcatcagtaccagtcctacacacgccagtgcgccccaggtaatttga
+tcaaatacttcaatatatgcattgatggagtagttgatcgccccggaagcatcaaacgaa
+gcctgcgatgtctgatcggcaatcacgcccgccagatagttcgcgatcgcgccagaaagc
+agcatgtagatgccggttaatacgccggtcacaccggggatttcaatgcgcgtaatttgc
+gacatggcaaccgggtcgataaacagttccgcaaagcccatcaccgccaggcctaatacc
+atcagtggcagagaagagtgaccatacattgcggaccagcgggcgcttaaggtcagaatg
+cagaatccggcgctcatcaggccaaggccaagagcaaatttcccccagatgcgcacggta
+cgattacccgcgacactctcttttaccacccacgccaggaacacaccgcacagcataact
+gcgaaggcattaatcgactggaacatcgcggtcggaacggtataaccaaacatatcgcgg
+ttaacgaagcggtcgatataaaggctaatcgagctaccgccctgttgtgcgaaggcccag
+aacaacatactgaagaaggtgagcgtcacaatcagccccagctccttccgctgtttctgg
+ttttctgctttgcgataaatttttgccagtacacccaggccaataatagtcgcgacaatt
+aaggcgtataccgaccactctttccagaacagtatggtaatcagtgcaggcgttgccacc
+agcagaaccagcagccatccccagttcggcaggagaaagtttgtcgcacgcagtactttt
+ttgttaacgccgcgggtatgagtgaaatgacgattgccacataagaaaatgaccagaccc
+gcgatcatgccaaccgccgccaggccaaagcccatcgcccagctgtactcttcctgggcg
+taaccacaggcgataggtgcgataatagaccccacgttacccgccgcatacatcagcgag
+aaaccgccatcacgacgcggatcggttggctcatacagctcgccgagcagacagcttacg
+ttagatttaaacaggccatagccgcagacgataatcgccagggacagatagaggaatgac
+ggatggatctcactggcacccagcaccacatgaccgatcgccatcaacaacgcccccagc
+atcaccgccatgcgattgccgagaactttatccgccaaaaagccaccgaggattggcgtg
+acatacaccagcgaacagtaggcgctaaataactcgtaggcgtgagtatcgttgtatttt
+agttgattggtgagatagagaatcagcagggcacgcatgccgtaaaagctaaaatattcc
+cagatttgcagcgcaacgacatagtaaatagcgcgcggctgtgatgcgtgtttattcata
+ataattccacaattgacggcaacgtcacgtaatagttgcgcggcgtgcttgtgtttcctt
+aaagttaaaactttgatacagatctgattatttatgcaatatgctgtctgattgcataaa
+tatacattagctgaagcgtgatgatataaacaatttgcgtcttttggcgtcgggtttgtt
+tcttaatatgtcaaaagattggctatcgacgaactggcgaggtaacgctatgttaacggt
+gtagctatcagaatacggaaggcgcgaagatgaaaaacaccgaactggaacaactgatta
+acgaaaaactgaacagcgcggcgattagtgattacgcgccgaatggtttgcaggtggaag
+gcaaagagacggtgcaaaaaattgttaccggtgtcaccgccagccaggctttgctcgatg
+aggcagtgcgtctgggcgcggatgcggtcattgtgcatcatggctacttctggaaaggag
+agtctccggtcattcgcggaatgaagcgtaaccgtttaaaaacgttgctggcgaatgata
+tcaacctgtatggctggcatttgccgcttgacgcacatcctgagctgggcaataacgcac
+agctggcggcgttactggggatcacggtcatgggcgaaattgagccgttggtgccgtggg
+gcgaactgaccatgcctgtgccgggactggagctggcttcctggattgaagcgcgtctgg
+gacgtaagccgttatggtgtggcgataccggacctgaggtggtccagcgcgtcgcctggt
+gcacgggcggcgggcaaagttttatcgatagcgccgcgcgttttggcgtggatgctttta
+ttactggcgaagtttctgaacagaccattcattcagcccgcgagcagggattgcattttt
+atgctgcaggtcaccatgccactgaacgtggtggtattcgcgcattgagcgagtggctga
+atgaaaataccgatcttgatgtgacctttattgatattcctaatcctgcataacgaataa
+tcagagggatcgaaagtgcaacgagcgcgttgttatctgataggtgaaacggcggtagtg
+ctggaactggaaccgccggtgacgctggctagccagaaacggatctggcgactggcgcag
+cgtctggtggatatgccgaatgtggttgaagccattcccggcatgaacaatatcacggtg
+attttgcgtaatcctgagtcgctggcgctggatgccatagagcgtttgcaacgctggtgg
+gaggagagcgaggcgctggagccggagtctcgctttattgaaattccggtggtttacggt
+ggtgcaggcggaccggatttggcggtggtcgcggcgcattgcgggttgagcgaaaaacag
+gttgttgaattgcactcctccgtggaatacgtggtctggtttttaggttttcaaccgggc
+ttcccgtatctcgggagtttgccggaacaactacacacgccacggcgcgctgaaccgcgc
+ttactcgttccggcaggttctgtcgggatcggcgggccgcagactggtgtttatccgctg
+gcaacgccgggtggctggcagttgattggtcatacctcactcagcctgtttgatccggcg
+cgtgacgaacccatcttattacgtccgggagacagcgtgcgctttgtaccgcagaaggag
+ggagtatgctgaagattattcgtgcgggcatgtataccactgtgcaggatggcggtcgtc
+acggttttcgccagtcgggtatcagccactgcggcgcactggatatgcccgcgttacgca
+ttgctaacctactggtgggtaatgacgccaatgcccccgcgctggagatcacgctcggtc
+agttaactgttgagttcgaaactgatgggtggtttgctctgacgggtgccggttgcgaag
+cgcggctggatgataatgccgtctggaccggctggcgattgccgatgaaagcaggccagc
+gtttaacgcttaaacgcccgcagcacgggatgcgcagttatctggcggtcgcgggtggta
+ttgatgttccgccggtaatgggctcatgcagcaccgatctcaaagtggggattggcgggc
+tggaaggccgtttactgaaggatggtgaccgactcccgattggcaaatcgaagcgtgatt
+ctatggaagcgcagggcgttaaacagctgctgtggggcaaccgcattcgcgccttgccgg
+ggccggaatatcatgagttcgatcgcgcctcgcaggatgcattctggcgttcgccctggc
+agcttagctcgcaaagtaaccgcatgggctatcgcttacaggggcaaattttaaaacgca
+ccaccgatcgcgaactgttatctcacggtttgttaccgggcgtggtgcaggtgccacata
+acgggcagccgattgtgttgatgaacgacgcacagaccaccggtggttacccgcgtattg
+cctgtatcattgaggctgatatgtaccatctggcgcaaattccgctcggtcagccgattc
+attttgtccagtgttcactggaagaggcactaaaagcacggcaagatcagcaacgttatt
+ttgaacaattagcgtggcggctgcacaatgaaaattgacctgaacgccgatctgggcgaa
+ggctgcgccagcgacgcagagctattaacgctggtttcctctgccaatattgcctgtgga
+tttcatgcaggcgatgcgcaaatcatgcaggcttgcgtgcgtgaagcaataaaaaatggt
+gtcgcgattggcgctcacccgagttttcccgacagggaaaattttggtcgcagcgccatg
+cagctgccgccagaaaccgtttacgcccagacgctgtatcaaattggcgcgctggcaacg
+attgcccgtgcgcaaggcggcgtaatgcgtcatgtcaaaccgcacggcatgttgtacaac
+caggcggcgaaagaagcacaactggcagacgccatcgccagagcggtatacgcttgcgat
+ccagcattgattctcgtcgggctggcgggaagcgagctgattcgtgcaggcaagcaatat
+ggtctgacaacgcgcgaggaagtgtttgccgatcgcggttatcaggctgacggctcgctg
+gtgccgcgaagccagtcaggcgcgttgattgaaaacgaagaacaggcgctggcgcaaacg
+ctggagatggtgcaacacggcagagtcaaaagtatcaccggcgaatgggcaacggtcgcg
+gcgcaaacggtctgcctgcatggcgacggcgagcacgcactggcgttcgcccgccgacta
+cgctctgcatttgccgaaaaggggattgttgtcgcagcataaccccgattaataaagaat
+gaaaaaaggatatcaccatgcctgaaggcccggagatccgccgtgcagcggataacctgg
+aggcggcgatcaaaggcaaaccactaactgatgtctggtttgccttcccgcagttaaaac
+cttatcaatcacaacttatcggtcaacacgttacccatgtggaaacgcgtggtaaggcgt
+tgttaactcatttttccaacgacttaacgctctacagccataatcagctttacggcgtct
+ggcgcgtggttgataccggcgaagagccgcagaccacgcgagtattgcgggtaaaactgc
+aaacggctgacaaaaccattctgctttatagcgcctcggatattgagatgttgaccccgg
+aacaactgaccacgcatccgtttttacaacgcgttggtcccgatgtgctggatccgaatc
+tgacgccggaggtggtgaaagaacgattattgtcgccgcgctttcgtaaccgtcagtttg
+ctggattactgctcgatcaggcgtttctggctgggcttggcaattatttgcgggtggaga
+tcctctggcaggttgggttgactggaaatcataaagcgaaagatctcaatgcggcgcaac
+tggatgcactcgcacacgcgttactggagattcctcgattttcctacgctacgcgggggc
+aggtggatgagaataagcatcatggggcgctgtttcgctttaaggtttttcatcgagatg
+gcgaaccgtgcgaacgttgtggcagcatcattgagaaaaccacgctgtcatctcgcccgt
+tttactggtgccctggctgccagcactaggccgaccgcttcggcgcataggttgaaataa
+accgcgcaatggcaggccctgtcagcaaaatactgaacaggcgtagggtttgcatcgcca
+taatgagcgccatatcggcattgctccctgcggcgatgaccgccacggtatcaagcccgc
+cggggctggtggcgaggtaggcagtcataaaatcaatgtgcataaaccgggtcagccccc
+acgccatacccgcacaaatagccagcagagcaaaaatcgacagcaggatttgcggtagcg
+ggcgtagtgcccgcagtaagatttgtttatcgaaaccaagaccaatccgccagccaattg
+ccatatacgccatcgccagcagccattccggtagttcgatggtgatgagctgaccagact
+ggagcactgcgcccgccagcatcgggatgagcatcgtgccggaaggaagacgcagcaggc
+atcccactgtaccggcaacgaccgcgagcaaaatagtaagcaggagattaatgctcactg
+gcgggaaccagacgatatgctggttaaccgcttcagcgttatcgcccagcatcatgcggg
+tgaccagaacagcggcccccgcgacgaacagcactcgcagatattgcataaacgccacca
+ggcgaatatctgcgccgtaatcttgcgccatagcgaccattgccgccgcgccgccaggag
+aggagccccaggcaccggtatttccaggcaatgagctatagcgcaccaataaccaaccca
+caatggcgctggaaagcagcgttaccagtaaaattgcaagcacgatcggccagttgacgg
+ccagggtggtgagaatcgaaccagtgaggttttgcgcaatcatgcagccaagaatggcct
+gggcggcgagaaaagcagagcggggaagttgcagagtaattccgcgcatactaaagatga
+tcccggcgatcatcggcccaagtaatagcgccgccgggagatgtaccgcgaggaaaccaa
+tagaaaggagaagtgatagcacacataacattccccactgcaaaactggcatccttcgct
+ccctcattattttctctttggtgtatcgatacagcataaagaaagctgggccaggaaaaa
+ataacagcaatcaaggaaaaggggaaaatcagcaattttctgaaagagatgccctttccg
+gcggcaaagggcatcatggtaaatcagttatagttaatcttaaaaagcaccactgtatcg
+aaggggccagcctcgatgggggtgcctggaatggacgaaagttcagccgtataggttttt
+tcgtagaccaacatgtcactggtgaaatcggcgtattcagcatatttattgaaggtataa
+ggcgaggcgttttcatccagtaaacgtagcttcagaccattaccaatcaacaatgcttta
+tcttcttcaaccaacgtttcttcggtataaaaggaggaactgactttaaatccgtcggtg
+cattgatcgttttggctcttggtcgttttaatactgaacgttttcgacattgtgtggcga
+cgtatatccagcaaattaaatttaccaaaatcaatcacctgtgtttccggtgaaatggaa
+aaattgacgctgcaatccagcacgcgaatgttttccagaccagtaatatgatatttcagg
+ttttgggcagtagggtcttcgttaacgctaccggcaccgtcaaattgcacgacgatatag
+tcgctaagcgtactttgataatcatgcggcggcatttctcgtattttgacgtataaccgc
+atgcgagcgagaaaggtacgcgacatatgaatattagcgggatcgcccgagcaaattttg
+ttctgccatcccatcgcgatgatctgctcaggggtataaatatcaatgttcttactgtcg
+atacactggttagtgtcgatgcgactttttcccagactggcatcgtaatcgacaccgttg
+tatgtcacgccgagttgataataacgatcctgcacccccggataggggtttacccaggcg
+tagacatgctcgctttcaaagttgccgttggtattgttgtcacaatagacgggaatttta
+atatcgtcagattcccagatcttatcaccgggtttggcattgcctggtacagcaaacggt
+tgaatcgcttctgatttttctactgcgccaccagatgtaccaaaatagcagttcagcgcc
+attgcagacttcaacggcagaaataacaggcagatgacgagcaacaatcccttgccagca
+ctcatttcgcctccactgcttgtaaacggcattgtccgctgcagttgagcgtcgtcatgc
+gtaatgcgccgtaatcatccatgtaaccgagataaaactggctgccgctataacttccgg
+tgtttgtgttgaccgtactaaaaggtgcaaccatcacggttttgaagcctgggagaacgc
+ctttttcatttctccccagataggcaatggtcagataatacgcggtaggatttttcagtg
+tcagttggttgccctgctggctgacctgtaactgcagttcgaccttttctcctgctttct
+tgcgtaatgcagccggtcgccagaacaatttaatacgactttgaatagcgacctgaagta
+tcgcatggtcgctgcttttatccggagcgggaggaatttcgcgcatattgtagaaaaata
+gcgtttcgcgatcgccaggtaattgtgtggttgaggcttgtttcacaacccgcacctgcg
+atgtcgctttcggttccagacgttgaatagggggcaaagcgaccagaagagcatcgcttt
+tctcccctttttcattttctatccaggaataagcaagataaggcagtttgtcactttggt
+tttcgatacgcaggctggtggctttgtcattggcgttaaacacaatgcgtgtgcgatcgg
+gttgcaccgcagcattgcaacccaagctgatggttaacaacattaagggtaatcctttaa
+taaatgtcattctcttttccttaattaatgacaaggtaaaatcaggcgtttggtcgtgtc
+ttccagacgttctggcagatgaataatgcagctttgctcaccccagaccacggtaaacag
+ttgattttcagcgacaccgcttaaccaggcatgtccttcctcgccaaccatacccacgct
+aatgccgctgtcatcctggcggatatccgcaccgaggggagggaactgaccgctggcgtt
+gcgtatgatgacgttaacgtctttaccggaacgggaagccagtgatttgtaacctatcgc
+gccttcaatccatgtttccttgatgacgttttctgcaactgttacgccgtcgggtaagtc
+attcatgttcaccgccacggtggaaggctggtaactggaaatcaacggcaccaccgcaat
+gccaaaatggttggtgtagtcgagattgccctgaaccggaatatctgccacgccatcggt
+gctgaccatcaggcgtggttcattggtggagctgcggcgatgaaatgctgcaccatattg
+ggttgcggtgaaagaaccgctccagctgctgctgacggaactgtaatcactggcggcata
+ggtaccagaaatatcccactcacccgctgaactcaggtgctgatagttaccgctcacctg
+ggctccattgtccggacgatcggattgcagtccggcagacatgccccagctattacgttc
+atccagcgtatcgttccacgacatgcggtgtatggtgctgtggctactgttttgcatgtc
+atagccaacccgaccaccgttaccgaaggggagcgaaatcgacagataaatctggttgtc
+gcgatctttatcttcgtagtgggtcgtattgaatgacgtcgaaatcgagatatctctcca
+gtcaccaatatcaacattaaaacctgctgtgatgttggcggtcgtggaggcgtctgcatt
+ccaccaggtttgatgtagcaggttggcgtaaagattgaggtttagtggggtaatcggttg
+gcccacggataagctgatcgtctgtttttcgtcctgcgcatcgctgtcgttgtatttgtg
+atccagatagttggcgtagctgtgaaaatgacgatctgagaagcgataagcggcgagcga
+aatcgtgctgttggtggcatccacttgtttgctgtaattaaaacggtagcttaagccccg
+ctcgtcctgctgagtatcaaaatggctactggcccaggtgacatcaaaggacagtgcgcc
+aagccacagcatattttgcccgatacccattgcggcagaatggtagtcatcatcagaaat
+cagcaggccgccgtacagcgaggtgtttgagagcatcccccaggaaacttcattgctaaa
+aaaggtttcattttcagtttgatgtgacatggaaggccgtggctgacccgcggccaattt
+atagcgaacctgtccctggcgagtcaggaagggcgtcgatgctgccgaaacctggaaatt
+gttcacccgaccatcttcttccgtcactttgacatccagcgtgccctgaacagactgatt
+gaggtcatcaataataaacgggcctggcgggacttttttctggtaaatgacgcggcctga
+ttgactgatcgtcaccgtggcattggtctgtgcaataccgctaatttgtggggcgtagcc
+acgcagctcccacggtaacattcgatcgtcactcgccagtgccgcgccggtataagaaaa
+accatcgaaaatattggaactgaaatcggtttcgccgagggttaacttagagcctaattg
+cggtaatggacgaaaaagataggtgcgcgatattccgcctgactggtcatggttatcttc
+gctatcggtcttattaagctggtaatcactgcgtaagcgccatgccccggcgttaattcc
+ggcggtaccgtaggcattcaggttagtgctgctgctgccgtcctgtgggcggtagctgct
+ggcaaacaagttgtaatccatcaggacaccggcaacaccttctttccatgtagagggggg
+agcccagttttctgagtgccacgccagccaggcttgcggaatactaatattcagttgctg
+attggcttgatcgaaattgaagagcatttcaggtcgggaactgaaatcaatacaccgatc
+tatctgtggcaaggactgacggatatctggttttaaaccaaatttatcgaccagtgaatc
+attgatgcatggaatggttttgtcaccctttttttgccagttaattttttgcccattact
+gattttgttgttattcaccgcaacgctaacaaaatattcaccgggagcaatgactccttt
+ttcctttaataatgaaatatcaatgcggtcgcgcattgatttatcgagaacattcagatt
+gaattcgaccgccattgcgcaaggcatcgccatgaccaggcaggatacaaaagagagtcg
+ataaatattcacggtgtccatacctgataaatattttatgaaaggcggcgatgatgccgc
+caaaataatacttatttataatccagcacgtaggttgcgttagcggttacttcacctgcc
+gtgacatcgactgcattatcaatttgttccatccaggcgaaaaagttcagcgtctgttct
+gatgagcttgcatccaggtcaagatctggcgcggctgaacctaatacgatgttaccgtca
+tttttgtccatcagtcgtacaccgaccccagttgcttcgcctgcactggtgttgctcaac
+aaaggcgtagcaccagttgtcttagccgtgctatcgaaggttacgccaactttggatacc
+ggcattccgctaccgttgtcagaagcaggcagatcacagttgatcaagcgaatgtcgacg
+gccactttattgctatgatgctcccggtttatatgggttgtcgtgacttgtccaagatct
+atgtttttatcaatatcttctggatgaatttcacaaggtgcttcaataacctccccctta
+aagtgaatttcgccagaaccttcatcagcagcataaacaggtgcagtgaacagcagagat
+acggccagtgcggccaatgttttttgtcctttaaacataacagagtcctttaaggatata
+gaataggggtatagctacgccagaatatcgtatttgattattgctagtttttagttttgc
+ttaaaaatattgttagttttattaaatgcaaaactaaattattggtatcatgaatttgtt
+gtatgatgaataaaatataggggggtatagatagacgtcattttcatagggttataaatg
+cgactaccatgaagtttttaattgaaagtattgggttgctgataatttgagctgttctat
+tctttttaaatatctatataggtctgttaatggattttatttttacaattttttgtgttt
+aggcatataaaaatcaacccgccatatgaacggcgggttaaaatatttacaacttagcaa
+tcaaccattaacgcttgatatcgcttttaaagtcgcgtttttcatatcctgtatacagct
+gacgcggacgggcaatcttcataccgtcactgtgcatttcgctccagtgggcgatccagc
+caacggtacgtgccattgcgaaaatgacggtgaacatggaagacggaatacccatcgctt
+tcaggatgataccagagtagaaatcgacgttcgggtacagtttcttctcgataaagtacg
+ggtcgttcagcgcgatgttttccagctccatagccacttccagcaggtcatccttcgtgc
+ccagctctttcagcacttcatggcaggtttcacgcattacggtggcgcgcgggtcgtaat
+ttttgtacacgcggtgaccgaagcccatcaggcggaaagaatcatttttgtctttcgcac
+gacgaacaaattccggaatgtgtttaacggagctgatttcttccagcattttcagcgccg
+cttcgttagcaccgccgtgcgcaggtccccacagtgaagcaatacctgctgcgatacagg
+caaacgggttcgcacccgaagagccagcggtacgcacggtggaggtagaggcgttctgtt
+catggtcagcgtgcaggatcagaatacggtccatagcacgttccagaatcggattaactt
+catacggttcgcacggcgtggagaacatcatattcaggaagttaccggcgtaggagagat
+cgttgcgcgggtaaacaaatggctgaccaatggaatacttgtaacacatcgcggccatgg
+tcggcattttcgacagcaggcggaacgcggcaatttcacggtgacgaggattgttaacat
+ccagcgagtcgtgatagaacgccgccagcgcgccggtaataccacacatgactgccattg
+gatgcgagtcgcgacggaaagcatggaacagacgggtaatctgctcgtggatcatggtat
+gacgggtcaccgtagttttaaattcgtcatactgttcctgagtcggtttttcaccattca
+gcaggatgtaacaaacttccaggtagttagaatcggtcgccagctgatcgatcgggaaac
+cgcggtgcagcaaaataccttcatcaccatcaataaaagtaattttagattcgcaggatg
+cggttgaagtgaagcctgggtcaaaggtgaacacaccttttgaaccgagagtacggatat
+caataacatcttgacccagcgtgcctttcagcacatccagttcaacagctgtatccccgt
+tgagggtgagttttgcttttgtatcagccatttaaggtctccttagcgccttattgcgta
+agactgccggaacttaaatttgccttcgcacatcaacctggctttacccgttttttattt
+ggctcgccgctctgtgaaagaggggaaaacctgggtacagagctctgggcgcttgcaggt
+aaaggatccattgatgacgaataaatggcgaatcaagtacttagcaatccgaattattaa
+acttgtctaccactaataactgtcccgaatgaattggtcaatacttccacactgttacat
+aagttaatcttaggtgaaataccgacttcataacttttacgcattatatgcttttcctgg
+taatgtttgtaacaactttgttgaatgattgtcaaattagatgattaaaaattaaataaa
+tgttgttatcgtgacctggatcactgttcaggataaaacccgacaaactatatgtaggtt
+aattgtaatgattttgtgaacagcctatactgccgccaggtctccggaacaccctgcaat
+cccgagccacccagcgttgtaacgtgtcgttttcgcatctggaagcagtgttttgcatga
+cgcgcagttatagaaaggacgctgtctgacccgcaagcagaccggaggaaggaaatcccg
+acgtctccaggtaacagaaagttaacctctgtgcccgtagtccccagggaataataagaa
+cagcatgtgggcgttattcatgataagaaatgtgaaaaaacaaagacctgttaatctgga
+cctacagaccatccggttccccatcacggcgatagcgtccattctccatcgcgtttccgg
+tgtgatcacctttgttgcagtgggcatcctgctgtggcttctgggtaccagcctctcttc
+ccctgaaggtttcgagcaagcttccgcgattatgggcagcttcttcgtcaaatttatcat
+gtggggcatccttaccgctctggcgtatcacgtcgtcgtaggtattcgccacatgatgat
+ggattttggctatctggaagaaacattcgaagcgggtaaacgctccgccaaaatctcctt
+tgttattactgtcgtgctttcacttctcgcaggagtcctcgtatggtaagcaacgcctcc
+gcattaggacgcaatggcgtacatgatttcatcctcgttcgcgctaccgctatcgtcctg
+acgctctacatcatttatatggtcggttttttcgctaccagtggcgagctgacatatgaa
+gtctggatcggtttcttcgcctctgcgttcaccaaagtgttcaccctgctggcgctgttt
+tctatcttgatccatgcctggatcggcatgtggcaggtgttgaccgactacgttaaaccg
+ctggctttgcgcctgatgctgcaactggtgattgtcgttgcactggtggtttacgtgatt
+tatggattcgttgtggtgtggggtgtgtgatgaaattgccagtcagagaatttgatgcag
+ttgtgattggtgccggtggcgcaggtatgcgcgcggcgctgcaaatttcccagagcggcc
+agacctgtgcgctgctctctaaagtcttcccgacccgttcccataccgtttctgcgcaag
+gcggcattaccgttgcgctgggtaatacccatgaagataactgggaatggcatatgtacg
+acaccgtgaaagggtcggactatatcggtgaccaggacgcgattgaatatatgtgtaaaa
+ccgggccggaagcgattctggaactcgaacacatgggcctgccgttctcgcgtctcgatg
+atggtcgtatctatcaacgtccgtttggcggtcagtcgaaaaacttcggcggcgagcagg
+cggcacgcactgcggcagcagctgaccgtaccggtcacgcactgttgcacacgctttatc
+agcagaacctgaaaaaccacaccaccattttctccgagtggtatgcgctggatctggtga
+aaaaccaggatggcgcggtggtgggttgtaccgcactgtgcatcgaaaccggtgaagtgg
+tttatttcaaagcccgcgctaccgtgctggcgactggcggagcagggcgtatttatcagt
+ccaccaccaacgcccacattaacaccggcgacggtgtcggcatggctatccgtgccggcg
+taccggtgcaggatatggaaatgtggcagttccacccgaccggcattgccggtgcgggcg
+tactggtcaccgaaggttgccgtggtgaaggcggttatctgctgaacaaacatggcgaac
+gttttatggagcgttatgcgccgaacgccaaagacctggcgggccgtgacgtggttgcgc
+gttccatcatgatcgaaatccgtgaaggtcgcggctgtgatggtccgtgggggccacacg
+cgaaactgaaactcgatcacctgggtaaagaagttctcgaatcccgtctgccgggtatcc
+tggagctttcccgtaccttcgctcacgtcgatccggtgaaagagccgattccggttatcc
+caacctgtcactacatgatgggcggtattccgaccaaagttaccggtcaggcactgactg
+tgaatgagaaaggcgaagatgtggttgttccgggactgtttgccgttggtgaaatcgctt
+gtgtatcggtacacggcgctaaccgtctgggcggcaactcgctgctggacctggtggtct
+ttggtcgcgcggcaggtctgcatctgcaagagtctatcgccgagcagggcgcactgcgcg
+atgccagcgagtctgatgttgaagcgtctctggatcgcctgaaccgctggaacaataatc
+gtaacggtgaagatccggtggcgatccgtaaagcgctgcaagaatgtatgcagcataact
+tctcggtcttccgtgaaggtgatgcgatggcgaaagggcttgagcagttgaaagtgatcc
+gcgagcgtctgaaaaatgcccgtctggatgacacttccagcgagttcaacacccagcgcg
+ttgagtgcctggaactggataacctgatggaaacggcgtatgcaacggctgtttctgcca
+acttccgtaccgaaagccgtggcgcgcatagccgcttcgacttcccggatcgtgatgatg
+aaaactggctgtgccactccctgtatctgccagagtcggaatccatgacgcgccgaagcg
+tcaacatggaaccgaaactgcgcccggcattcccgccgaagattcgtacttactaatgcg
+gagacaggaaaatgagactcgagttttcaatttatcgctataacccggatgttgatgatg
+ctccgcgtatgcaggattacaccctggaagcggatgaaggtcgcgacatgatgctgctgg
+atgcgcttatccagctaaaagagaaagatcccagcctgtcgttccgccgctcctgccgtg
+aaggtgtgtgcggttccgacggtctgaacatgaacggcaagaatggtctggcctgtatta
+ccccgatttcggcactcaaccagccgggcaagaagattgtgattcgcccgctgccaggtt
+taccggtgatccgcgatttggtggtagacatgggacaattctatgcgcaatatgagaaaa
+ttaagccttacctgttgaataatggacaaaatccgccagctcgcgagcatttacagatgc
+cagagcagcgcgaaaaactcgacgggctgtatgaatgtattctctgcgcatgttgttcaa
+cctcttgtccgtctttctggtggaatcccgataagtttatcggcccggcaggcttgttag
+cggcatatcgtttcctgattgatagccgtgataccgagactgacagccgcctcgacggtt
+tgagtgatgcattcagcgtattccgctgtcacagcatcatgaactgcgtcagtgtatgtc
+cgaaggggctgaacccgacgcgcgccatcggccatatcaagtcgatgttgttgcaacgta
+atgcgtaaaccgtaggcctgataagacgcgcaagcgtcgcatcaggcaaccagtgccgga
+tgcggcgtgaacgccttatccggcctacaagtcattacccgtaggcctgataagcgcagc
+gcatcaggcgtaacaaagaaatgcaggaaatctttaaaaactgcccctgacactaagaca
+gtttttaaaggttccttcgcgagccactacgtagacaagagctcgcaagtgaaccccggc
+acgcacatcactgtgcgtggtagtatccacggcgaagtaagcataaaaaagatgcttaag
+ggatcacgatgcagaacagcgctttgaaagcctggttggactcttcttacctctctggcg
+caaaccagagctggatagaacagctctatgaagacttcttaaccgatcctgactcggttg
+acgctaactggcgttcgacgttccagcagttacctggtacgggagtcaaaccggatcaat
+tccactctcaaacgcgtgaatatttccgccgcctggcgaaagacgcttcacgttactctt
+caacgatctccgaccctgacaccaatgtgaagcaggttaaagtcctgcagctcattaacg
+cataccgcttccgtggtcaccagcatgcgaatctcgatccgctgggactgtggcagcaag
+ataaagtggccgatctggatccgtctttccacgatctgaccgaagcagacttccaggaga
+ccttcaacgtcggttcatttgccagcggcaaagaaaccatgaaactcggcgagctgctgg
+aagccctcaagcaaacctactgcggcccgattggtgccgagtatatgcacattaccagca
+ccgaagaaaaacgctggatccaacagcgtatcgagtctggtcgcgcgactttcaatagcg
+aagagaaaaaacgcttcttaagcgaactgaccgccgctgaaggtcttgaacgttacctcg
+gcgcaaaattccctggcgcaaaacgcttctcgctggaaggcggtgacgcgttaatcccga
+tgcttaaagagatgatccgccacgctggcaacagcggcacccgcgaagtggttctcggga
+tggcgcaccgtggtcgtctgaacgtgctggtgaacgtgctgggtaaaaaaccgcaagact
+tgttcgacgagttcgccggtaaacataaagaacacctcggcacgggtgacgtgaaatacc
+acatgggcttctcgtctgacttccagaccgatggcggcctggtgcacctggcgctggcgt
+ttaacccgtctcaccttgagattgtaagcccggtagttatcggttctgttcgtgcccgtc
+tggacagacttgatgagccgagcagcaacaaagtgctgccaatcaccatccacggtgacg
+ccgcagtgaccgggcagggcgtggttcaggaaaccctgaacatgtcgaaagcgcgtggtt
+atgaagttggcggtacggtacgtatcgttatcaacaaccaggttggtttcaccacctcta
+atccgctggatgcccgttctacgccgtactgtactgatatcggtaagatggttcaggccc
+cgattttccacgttaacgcggacgatccggaagccgttgcctttgtgacccgtctggcgc
+tcgatttccgtaacacctttaaacgtgatgtcttcatcgacctggtgtgctaccgccgtc
+acggccacaacgaagccgacgagccgagcgcaacccagccgctgatgtatcagaaaatca
+aaaaacatccgacaccgcgcaaaatctacgctgacaagctggagcaggaaaaagtggcga
+cgctggaagatgccaccgagatggttaacctgtaccgcgatgcgctggatgctggcgatt
+gcgtagtggcagagtggcgtccgatgaacatgcactctttcacctggtcgccgtacctca
+accacgaatgggacgaagagtacccgaacaaagttgagatgaagcgcctgcaggagctgg
+cgaaacgcatcagcacggtgccggaagcagttgaaatgcagtctcgcgttgccaagattt
+atggcgatcgccaggcgatggctgccggtgagaaactgttcgactggggcggtgcggaaa
+acctcgcttacgccacgctggttgatgaaggcattccggttcgcctgtcgggtgaagact
+ccggtcgcggtaccttcttccaccgccacgcggtgatccacaaccagtctaacggttcca
+cttacacgccgctgcaacatatccataacgggcagggcgcgttccgtgtctgggactccg
+tactgtctgaagaagcagtgctggcgtttgaatatggttatgccaccgcagaaccacgca
+ctctgaccatctgggaagcgcagttcggtgacttcgccaacggtgcgcaggtggttatcg
+accagttcatctcctctggcgaacagaaatggggccggatgtgtggtctggtgatgttgc
+tgccgcacggttacgaagggcaggggccggagcactcctccgcgcgtctggaacgttatc
+tgcaactttgtgctgagcaaaacatgcaggtttgcgtaccgtctaccccggcacaggttt
+accacatgctgcgtcgtcaggcgctgcgcgggatgcgtcgtccgctggtcgtgatgtcgc
+cgaaatccctgctgcgtcatccgctggcggtttccagcctcgaagaactggcgaacggca
+ccttcctgccagccatcggtgaaatcgacgagcttgatccgaagggcgtgaagcgcgtag
+tgatgtgttctggtaaggtttattacgacctgctggaacagcgtcgtaagaacaatcaac
+acgatgtcgccattgtgcgtatcgagcaactctacccgttcccgcataaagcgatgcagg
+aagtgttgcagcagtttgctcacgtcaaggattttgtctggtgccaggaagagccgctca
+accagggcgcatggtactgcagccagcatcatttccgtgaagtgattccgtttggggctt
+ctctgcgttatgcaggccgcccggcctccgcctctccggcggtagggtatatgtccgttc
+accagaaacagcaacaagatctggttaatgacgcgctgaacgtcgaataaataaaggata
+cacaatgagtagcgtagatattctggtccctgacctgcctgaatccgtagccgatgccac
+cgtcgcaacctggcataaaaaacccggcgacgcagtcgtacgtgatgaagtgctggtaga
+aatcgaaactgacaaagtggtactggaagtaccggcatcagcagacggcattctggatgc
+ggttctggaagatgaaggtacaacggtaacgtctcgtcagatccttggtcgcctgcgtga
+aggcaacagcgccggtaaagaaaccagcgccaaatctgaagagaaagcgtccactccggc
+gcaacgccagcaggcgtctctggaagagcaaaacaacgatgcgttaagcccggcgatccg
+tcgcctgctggctgaacacaatctcgacgccagcgccattaaaggcaccggtgtgggtgg
+tcgtctgactcgtgaagatgtggaaaaacatctggcgaaagccccggcgaaagagtctgc
+tccggcagcggctgctccggcggcgcaaccggctctggctgcacgtagtgaaaaacgtgt
+cccgatgactcgcctgcgtaagcgtgtggcagagcgtctgctggaagcgaaaaactccac
+cgccatgctgaccacgttcaacgaagtcaacatgaagccgattatggatctgcgtaagca
+gtacggtgaagcgtttgaaaaacgccacggcatccgtctgggctttatgtccttctacgt
+gaaagcggtggttgaagccctgaaacgttacccggaagtgaacgcttctatcgacggcga
+tgacgtggtttaccacaactatttcgacgtcagcatggcggtttctacgccgcgcggcct
+ggtgacgccggttctgcgtgatgtcgataccctcggcatggcagacatcgagaagaaaat
+caaagagctggcagtcaaaggccgtgacggcaagctgaccgttgaagatctgaccggtgg
+taacttcaccatcaccaacggtggtgtgttcggttccctgatgtctacgccgatcatcaa
+cccgccgcagagcgcaattctgggtatgcacgctatcaaagatcgtccgatggcggtgaa
+tggtcaggttgagatcctgccgatgatgtacctggcgctgtcctacgatcaccgtctgat
+cgatggtcgcgaatccgtgggcttcctggtaacgatcaaagagttgctggaagatccgac
+gcgtctgctgctggacgtgtagtagtttaagtttcacctgcactgtagaccggataaggc
+attatcgccttctccggcaattgaagcctgatgcgacgctgacgcgtcttatcaggccta
+cgggaccaccaatgtaggtcggataaggcgcaagcgccgcatccgacaagcgatgcctga
+tgtgacgtttaacgtgtcttatcaggcctacgggtgaccgacaatgcccggaagcgatac
+gaaatattcggtctacggtttaaaagataacgattactgaaggatggacagaacacatga
+acttacatgaatatcaggcaaaacaactttttgcccgctatggcttaccagcaccggtgg
+gttatgcctgtactactccgcgcgaagcagaagaagccgcttcaaaaatcggtgccggtc
+cgtgggtagtgaaatgtcaggttcacgctggtggccgcggtaaagcgggcggtgtgaaag
+ttgtaaacagcaaagaagacatccgtgcttttgcagaaaactggctgggcaagcgtctgg
+taacgtatcaaacagatgccaatggccaaccggttaaccagattctggttgaagcagcga
+ccgatatcgctaaagagctgtatctcggtgccgttgttgaccgtagttcccgtcgtgtgg
+tctttatggcctccaccgaaggcggcgtggaaatcgaaaaagtggcggaagaaactccgc
+acctgatccataaagttgcgcttgatccgctgactggcccgatgccgtatcagggacgcg
+agctggcgttcaaactgggtctggaaggtaaactggttcagcagttcaccaaaatcttca
+tgggcctggcgaccattttcctggagcgcgacctggcgttgatcgaaatcaacccgctgg
+tcatcaccaaacagggcgatctgatttgcctcgacggcaaactgggcgctgacggcaacg
+cactgttccgccagcctgatctgcgcgaaatgcgtgaccagtcgcaggaagatccgcgtg
+aagcacaggctgcacagtgggaactgaactacgttgcgctggacggtaacatcggttgta
+tggttaacggcgcaggtctggcgatgggtacgatggacatcgttaaactgcacggcggcg
+aaccggctaacttccttgacgttggcggcggcgcaaccaaagaacgtgtaaccgaagcgt
+tcaaaatcatcctctctgacgacaaagtgaaagccgttctggttaacatcttcggcggta
+tcgttcgttgcgacctgatcgctgacggtatcatcggcgcggtagcagaagtgggtgtta
+acgtaccggtcgtggtacgtctggaaggtaacaacgccgaactcggcgcgaagaaactgg
+ctgacagcggcctgaatattattgcagcaaaaggtctgacggatgcagctcagcaggttg
+ttgccgcagtggaggggaaataatgtccattttaatcgataaaaacaccaaggttatctg
+ccagggctttaccggtagccaggggactttccactcagaacaggccattgcatacggcac
+taaaatggttggcggcgtaaccccaggtaaaggcggcaccacccacctcggcctgccggt
+gttcaacaccgtgcgtgaagccgttgctgccactggcgctaccgcttctgttatctacgt
+accagcaccgttctgcaaagactccattctggaagccatcgacgcaggcatcaaactgat
+tatcaccatcactgaaggcatcccgacgctggatatgctgaccgtgaaagtgaagctgga
+tgaagcaggcgttcgtatgatcggcccgaactgcccaggcgttatcactccgggtgaatg
+caaaatcggtatccagcctggtcacattcacaaaccgggtaaagtgggtatcgtttcccg
+ttccggtacactgacctatgaagcggttaaacagaccacggattacggtttcggtcagtc
+gacctgtgtcggtatcggcggtgacccgatcccgggctctaactttatcgacattctcga
+aatgttcgaaaaagatccgcagaccgaagcgatcgtgatgatcggtgagatcggcggtag
+cgctgaagaagaagcagctgcgtacatcaaagagcacgttaccaagccagttgtgggtta
+catcgctggtgtgactgcgccgaaaggcaaacgtatgggccacgcgggtgccatcattgc
+cggtgggaaagggactgcggatgagaaattcgctgctctggaagccgcaggcgtgaaaac
+cgttcgcagcctggcggatatcggtgaagcactgaaaactgttctgaaataaatatctgt
+aataagaaatagccctcgccgcttccctctacaggaatggcgaagggctgtcggtttcga
+catggttggccatcgtatgatggccttttttgtgcttatcgcgatgattttcgctgcgct
+atcagggtaaatttatagtcatcggtattaaaagcgttgcggctatattcaaacacccga
+ccatcaactaaatatccacgcgatactttttcaagaatcggctttgtctggctgatatta
+agcagacggctcatctcttcggttggcatcagaggaatgatttcctgttcgctacgatcg
+ataaccattttcttcacttcttcgataaagtgatatttcgaattttccatgacctgccag
+gtgagatccgggaacaacgcaagcggcatccaggtttcttccagcgccattggcttttgc
+ttgcgatagcgcacgcgcttcacatgccacacacgatcctgcggggtgatttgtagctgt
+tgctgaagaaaatcgtcagccggaatcacttcgaatatcagaacttcactgtgtgtatcg
+acgtgacggtccgacagtttttcatcaaaactggttaactgaaaaatatcgtaattgacc
+cgctcttctttgacgtaagtcccgctgccctgaatgctttcgaggatctgctgctcgact
+agctggcgcaaagcctgacgcaccgtaacccggctgacgccaaactctgtttgtagcgct
+gattcagtgggtaacgcatcgccaggtttaagctcgccacgcgcaatttgttcacgaatg
+cgatcggcaatctgccggtataagggcttgtgtcccatttttagtatctcattaatacga
+atttaaccattatgcccgataaattcatcctgtaaataatacaaatacaatacaaataat
+ttcaatcaagtgaaattgatcacataatggtattgttttatcgggcacactggcgcgact
+ataaaaacgatcaagtgaggatcatgatgaatctgacgactctgacccaccgcgatgcgt
+tgtgtctgaatgcgcgctttaccagccgtgaagaggccatccacgcgttgactcaacgtc
+ttgctgctctggggaaaatttccagtactgagcaatttctggaagaagtgtatcgccgtg
+aaagccttggcccgaccgccttaggtgaagggttggctgtgccgcatggcaaaactgctg
+cggtaaaagaagcggcgtttgcggtcgccacactcagcgagccgcttcagtgggaaggcg
+ttgatggcccggaagcagttgatttagtggtgctgctggcgattccccccaatgaagcgg
+gtactacgcatatgcaactgctgacagcgctgaccacgcgccttgcggatgatgagattc
+gggcgcgtatacagtcggcgacgacgcctgatgagttgctctcggcgctggatgacaagg
+gaggcacgcaaccttctgcctctttttccaacgcgccaactatcgtctgcgtaacggcct
+gtccggcgggtattgctcacacctatatggctgcggaatatctggaaaaagccggacgca
+aactcggcgtaaatgtttacgttgaaaaacaaggcgctaacggcattgaagggcgtttaa
+cggcggatcaactcaatagtgcaaccgcctgtatttttgcggctgaagtcgccatcaagg
+agagtgagcgttttaatggcattcccgcgctttcagtgcctgttgccgagccgattcgcc
+atgcagaagcgttgatccaacaagcgcttaccctcaagcgtagcgatgagacgcgtaccg
+tacagcaagatacgcaaccggtgaaaagtgtcaaaacggagctgaaacaggcactgttga
+gcggaatctcttttgccgtaccgttgattgtcgcggggggcacggtgctggcggtcgcgg
+tattactgtcgcaaatcttcgggctacaagatctgtttaatgaagaaaactcctggctgt
+ggatgtaccgcaagctgggcggcgggctgctcggaattttgatggtaccggtgctcgcgg
+cctataccgcctattctctggcagataaaccggcgttagcgccaggctttgcggctggac
+ttgccgccaacatgatcggctccgggtttctcggcgcggtcgttggcggattgatagccg
+gttacttgatgcgctgggtgaaaaatcacttgcgtcttagcagtaaattcaatggattcc
+tgactttttatctctacccggtgctcggtacgttgggagcgggcagtctgatgctgtttg
+tggtgggggaacctgtcgcctggatcaataactcgcttaccgcctggctgaacggtctgt
+caggaagtaacgcgctgttgctgggtgccattctcggttttatgtgttcctttgaccttg
+gagggccagtgaataaagccgcttatgcattctgcctgggcgcaatggcgaacggcgttt
+acggcccgtatgccattttcgcctccgtcaaaatggtttcggcatttaccgtaaccgctt
+ccacgatgctcgcaccgcgcctgtttaaagagtttgaaattgagaccgggaaatccacct
+ggctgttagggctggcaggtattaccgaaggggcgatcccgatggcgattgaagatccgc
+tgcgggttattggttcgtttgtgctgggctctatggtaacgggcgctattgtcggtgcga
+tgaatatcggcctttcgacacccggtgccggcattttctcgctctttttacttcatgata
+atggcgcgggcggtgttatggcggcaattggctggtttggcgcggcattggtgggggctg
+caatctcgactgcaattctcctgatgtggcggcgtcacgcggttaagcatggcaactatc
+tgactgatggcgtaatgccataaacaaaaaggaaacgacgatgaaagcagtatctcgcgt
+tcacatcaccccgcatatgcactgggatcgagagtggtatttcaccaccgaagagtcacg
+tattctgctggtcaataatatggaagagatcctgtgccgactggaacaggacaacgaata
+caaatattacgtactcgacgggcaaacggcgatcctcgaagattatttcgcggtgaaacc
+ggaaaacaaagaccgtgtgaagaaacaggtagaagccggcaagttgattatcggcccctg
+gtatacccagaccgataccacgattgtttctgcggaatccatcgtccgtaatctgatgta
+cggaatgcgtgactgcctcgcgtttggcgagccgatgaaaataggttatttaccagattc
+ctttggcatgtccgggcaactgccgcatatctacaatggatttggcattacccgcaccat
+gttctggcgcggatgttcggagcgccacggtactgataaaaccgagtttttgtggcaaag
+cagtgacggtagcgaagtgacggcgcaggtgctgccgctgggctacgccatcggtaagta
+cttacctgccgacgaaaacggattacgtaaacgcctcgacagttattttgacgtgctgga
+aaaagcgtctgtaaccaaagagattttgctgccgaatgggcatgaccagatgccattgca
+gcaaaatatcttcgaagtgatggataagctacgtgagatctaccctcaacgtaagtttgt
+gatgagccgctttgaagaggtatttgagaagatcgaagcgcagcgagataatctggcaac
+cctgaaaggggaatttattgatggcaaatatatgcgcgtgcatcgcaccatcggttctac
+gcgtatggatatcaaaattgcccacgcgcgtattgaaaataagattgttaatctgctgga
+accgctggcaacactggcctggacgttgggttttgaataccaccacggcttgctggagaa
+aatgtggaaagagatcttaaaaaatcatgcccacgacagtatcggctgctgctgtagtga
+caaagttcatcgcgaaatcgtcgcccgcttcgaactggctgaagacatggcggataatct
+gattcgtttctacatgcgcaaaattgccgacaacatgccgcagagcgacgccgacaaact
+cgtcctgtttaacctgatgccctggccgcgtgaagaagttatcaacaccactgtgcggct
+gcgcgccagccagtttaatttgcgggacgatcgcggtcagcctgtaccgtattttattcg
+ccatgcccgtgagatcgatccaggcctaatcgatcggcaaatagttcattacggtaatta
+cgatccctttatggagtttgatatacagatcaaccagattgtcccttctatgggctatcg
+cacgctttatatcgaagcgaatcagcctggcaacgtaattgcggcaaaaagtgacgctga
+agggatactggaaaatgctttctggcaaattgcgctcaatgaggatggttctctgcaact
+ggtagataaagacagcggtgtgcgctatgaccgggtattgcaaattgaagaaagctctga
+tgatggtgatgaatatgactattcacccgcaaaagaagagtgggtaattaccgcagcgaa
+cgcgaaaccgcaatgcgatattattcatgaagcctggcagagcagggctgttatccgcta
+tgacatggcagtgccgctcaatttgtcagaacgcagcgcccggcaatccactggcagagt
+aggggtggtgttggttgtcactcttagtcataacagcaggcgtattgatgtggatatcaa
+tcttgataaccaggctgacgatcatcgccttcgtgtcctggtccctacaccttttaacac
+cgacagtgttctggcagatacgcagtttggttcgctaacgcgccccgtgaacgacagtgc
+aatgaacaactggcagcaagaaggctggaaagaagcgccggttccggtatggaatatgct
+caactatgttgccttacaggaagggcgtaacggcatggctgtctttagcgaagggttacg
+tgaatttgaagtcatcggtgaagagaagaaaacctttgccattacgttgctgcgtggcgt
+gggcttactgggcaaagaagatctgcttttaaggcctgggcggccttcgggaattaaaat
+gccagtcccggactcacaactacgtggtctgctttcttgtcgcctaagtttattgagtta
+taccggtacgccaaccgccgctggtgtagctcagcaggcgcgagcatggctgactccagt
+acagtgttacaacaaaatcccatgggatgtgatgaagctcaacaaagccggattcaacgt
+gccggaaagttatagtttgttgaaaatgcccccagtgggatgcctgataagcgcacttaa
+gaaagctgaagaccgacaagaagtgattttacggctgtttaatccggctgaatcagcaac
+ctgtgatgcgactgttgctttcagtcgcgaggtgatttcttgctcagaaacgatgatgga
+tgaacacattaccaccgaggaaaatcaaggttcaaatctatcggggccttttttacccgg
+ccagtcacggacgttcagttaccggcttgcctgaatagcaatcaaaccgaagccacatat
+gcgcggccagattgttgacaaagggcgctttgttcatgccggatacggcatgaacgcttt
+attcggtctacaaaagcaggcaaattcaatatattgcagagatgatgtagacactggcaa
+gcgtagcgcatcaggtaattttgcgtttatcttcactctcaagccacgtatatgtggctt
+tatttttaacaaaataataaccctgggtgagttaattataatataattataagttaacta
+aatgttaatattggcggggtggatttatgcctttattagtaatcctgaaactctgcgtcg
+tattagccagtgaccaaaaaaagaattaaggtcaaccgtgctgtttttgcttcgtctctt
+tttatctttaattgccaaccgaaactaatttcagccttataactcacacattttaaacat
+aaatgtcactaaagttaccttattgaaacatgattaacataatttgtaggaattgatatt
+tatcaatgtataagtcttggaaatgggcatcaaaaagagataaattgttctcgatcaaat
+tggctgaaaggcggtaatttagctataaattgatcaccgtcgaaaaatgcaaatttgctt
+caacaaaaacctgtttattgtaaggattttgcggcgtaatatatacgtgggatcaatttg
+agtttttattaacatgtttgcaacctttctttacgccgtttttgtgtgcattcacatggt
+atgatgaaagtgttcaaacaaatttctattggggcatgcgtgtgaccctttctaacgggg
+ttcactctcggagtcttcatgcgatgagcaaggagtcatgatgttagatatagtcgaact
+gtcgcgcttacagtttgccttgaccgcgatgtaccacttcctttttgtgccactgacgct
+cggtatggcgttcctgctggccattatggaaacggtctacgtcctctccggcaaacagat
+ttataaagatatgaccaagttctggggcaagttgtttggtatcaacttcgctctgggtgt
+ggctaccggtctgaccatggagttccagttcgggactaactggtcttactattcccacta
+tgtaggggatatcttcggtgcgccgctggcaatcgaaggtctgatggccttcttcctcga
+atccacctttgtaggtctgttcttcttcggttgggatcgtctgggtaaagttcagcatat
+gtgtgtcacctggctggtggcgctcggttcaaacctgtccgcactgtggattctggttgc
+gaacggctggatgcaaaacccaatcgcgtccgatttcaactttgaaactatgcgtatgga
+gatggtgagcttctccgagctggtgcttaacccggttgctcaggtgaaattcgttcacac
+tgtagcgtctggttatgtgactggcgcgatgttcatcctcggtatcagcgcatggtatat
+gctgaaaggtcgtgacttcgccttcgctaaacgctcctttgctatcgctgccagcttcgg
+tatggctgctgttctgtctgttattgttctgggtgatgaatccggctacgaaatgggcga
+cgtgcagaaaaccaaactggctgctattgaagccgagtgggaaacgcaacctgcgcctgc
+tgcctttactctgttcggcattcctgatcaggaagaggagacgaacaaatttgcgattca
+gatcccttacgcactgggcatcattgcaacgcgttccgtggataccccggttatcggcct
+gaaagagctgatggtgcagcatgaagaacgcattcgtaacgggatgaaggcgtactctct
+gctcgaacaactgcgttctggttctaccgaccaggcggttcgtgaccagttcaatagcat
+gaagaaagacctcggttacggtctgctgctgaaacgctatacgccaaacgtggctgatgc
+gactgaagcgcagattcaacaggcaaccaaagactccatcccgcgtgtagcgccgctgta
+ctttgcgttccgtatcatggtggcgtgtggcttcctgcttctggcaatcatcgcgctctc
+tttctggagtgtcatccgcaaccgcattggcgagaaaaaatggcttctgcgcgccgcgct
+gtacggtattccgctgccgtggattgctgtagaagcgggctggttcgtggctgaatatgg
+ccgccaaccgtgggctatcggtgaagtgctgccgacagctgtggcgaactcgtcactgac
+cgcaggcgatctcatcttctcaatggtgctgatttgcggcctgtataccctgttcctggt
+ggcagaattgttcttaatgttcaagtttgcacgcctcggcccaagcagcctgaaaaccgg
+tcgctatcactttgagcagtcttccacgactactcagccggcacgctaagacaggagtcg
+tcaaatgatcgattatgaagtattgcgttttatctggtggctgctggttggcgttctgct
+gattggttttgcagtcactgacggtttcgacatgggggtgggcatgctcacccgtttcct
+cggtcgtaacgacaccgagcgtcgaattatgattaactccattgcaccacactgggacgg
+taaccaggtttggctgatcaccgcgggcggcgcactctttgctgcctggccgatggtcta
+tgccgctgcgttctccggcttctatgtggcgatgatcctcgtgctggcgtctttgttctt
+ccgtccggtcggttttgactaccgctccaagattgaagaaacccgctggcgtaacatgtg
+ggactggggcatcttcattggtagcttcgttccgccgctggtaattggtgtagcgttcgg
+taacctgttgcagggcgtaccgttcaacgttgatgaatatctgcgtctgtactacaccgg
+taacttcttccagttgcttaacccgttcggcctgctggcaggcgtggtgagcgtagggat
+gatcattactcagggcgcaacctatctgcaaatgcgtaccgtgggcgaactgcacctgcg
+tacccgtgcaacggctcaggtggctgcgctggtgacactggtctgtttcgcactggctgg
+cgtatgggtgatgtacggtatcgatggttatgtcgtgaaatcgacaatggaccattacgc
+agcctctaacccactgaataaagaagtggttcgtgaagctggcgcatggctggttaactt
+caacaacacgccaattctgtgggctattccggcactgggtgtggttctgccgctgctgac
+catcctgactgcacgtatggataaagccgcgtgggcgtttgtgttctcctccctgacgct
+ggcctgcatcatcctgacagccggtatcgcaatgttcccgtttgtgatgccgtccagcac
+catgatgaacgcaagtctgacaatgtgggatgcaacttccagccagctgacgcttaacgt
+catgacctgggttgcggtggttctggtaccgatcattctgctctacaccgcctggtgtta
+ctggaaaatgttcggtcgtatcaccaaagaagatattgaacgtaacacccactctctgta
+ctaagtaaggagctaaaaatgtggtatttcgcatggattctgggaacgcttcttgcctgt
+tcgtttggggtaatcaccgcgctggcgcttgaacacgtcgaatcaggcaaagccggtcaa
+gaagacatctgatgagtaagattatcgcgactttgtatgcggtaatggacaagcgccccc
+tgcgggcgctttccttcgtgatggcgcttctgttagcaggatgtatgttttgggacccat
+ctcgttttgccgcgaagaccagtgaactggaaatctggcatggtttattgctgatgtggg
+ccgtctgtgctggtgtgattcacggcgtgggctttcgtccgcagaaggttctttggcaag
+ggattttttgcccattgcttgccgatattgttctcattgtcgggctgattttcttcttct
+tttaaatcagaattctctttaaaaaattatgggccgctccaggcccataaatttttacgc
+tcccttaacttgccctcattcccaaacctcaatcgcgcgcgtatagtagcagcgtttaaa
+agctctaacttttgttgcattaccgggatgtaaagtgaatacaacgctgtttcgatggcc
+ggttcgcgtctactatgaagataccgatgccggtggtgtggtgtaccacgccagttacgt
+cgctttttatgaaagagcacgcacagagatgctgcgtcatcatcacttcagtcagcaggc
+gctgatggctgaacgcgttgcctttgtggtacgtaaaatgacggtggaatattacgcacc
+tgcgcggctcgacgatatgctcgaaatacagactgaaataacatcaatgcgtggcacctc
+tttggttttcacgcaacgtattgtcaacgccgagaatactttgctgaatgaagcagaggt
+tctggttgtttgcgttgacccactcaaaatgaagcctcgtgcgcttcccaagtctattgt
+cgcggagtttaagcagtgactgacatgaatatccttgatttgttcctgaaggctagcctt
+ctggttaaacttatcatgttgattttgattggtttttcaatcgcatcttgggccattatt
+atccagcggacccgtattcttaacgcagcggcgcgcgaagccgaagcgtttgaagataaa
+ttctggtctggaatcgaactctctcgcctctatcaagagagccaggggaaacgggataat
+ctgactggttcggaacaaatcttttacagcgggttcaaagagtttgtgcgcctgcatcgt
+gccaatagccatgcgccggaagccgtagtggaaggggcgtcgcgtgctatgcgtatctcc
+atgaaccgtgaacttgaaaatctggaaacgcacattccgttcctcggtacggttggctcc
+atcagcccgtatattggtctgtttggtacggtctgggggatcatgcacgcctttatcgcc
+ctcggggcggtaaaacaagcaacactgcaaatggttgcgcccggtatcgcagaagcgttg
+attgcgactgcaattggtctgtttgccgctatcccggcagttatggcctacaaccgcctc
+aaccagcgcgtaaacaaactggaactgaattacgacaactttatggaagagtttaccgcg
+attctgcaccgccaggcgtttaccgttagcgagagcaacaaggggtaagccatggccaga
+gcgcgtggacgaggtcgtcgcgatctcaagtccgaaatcaacattgtaccgttgctggac
+gtactgctggtgctgttgctgatctttatggcgacagcgcccatcatcacccagagcgtg
+gaggtcgatctgccagacgctactgaatcacaggcggtgagcagtaacgataatccgcca
+gtgattgttgaagtgtctggtattggtcagtacaccgtggtggttgagaaagatcgcctg
+gagcgtttaccaccagagcaggtggtggcggaagtgtccagccgtttcaaggccaacccg
+aaaacggtctttctgatcggtggcgcaaaagatgtgccttacgatgaaataattaaagca
+ctgaacttgttacatagtgcgggtgtgaaatcggttggtttaatgacgcagcctatctaa
+acatctgcgtttcccttgcttgaaagagagcgggtaacaggcgaacagtttttggaaacc
+gagagtgtcaaaggcaaccgaacaaaacgacaagctcaagcgggcgataattatttcagc
+agtgctgcatgtcatcttatttgcggcgctgatctggagttcgttcgatgagaatataga
+agcttcagccggaggcggcggtggttcgtccatcgacgctgtcatggttgattcaggtgc
+ggtagttgagcagtacaaacgcatgcaaagccaggaatcaagcgcgaagcgttctgatga
+acagcgcaagatgaaggaacagcaggctgctgaagaactgcgtgagaaacaagcggctga
+acaggaacgcctgaagcaacttgagaaagagcggttagcggctcaggagcagaaaaagca
+ggctgaagaagccgcaaaacaggccgagttaaagcagaagcaagctgaagaggcggcagc
+gaaagcggcggcagatgctaaagcgaaggccgaagcagatgctaaagctgcggaagaagc
+agcgaagaaagcggctgcagacgcaaagaaaaaagcagaagcagaagccgccaaagccgc
+agccgaagcgcagaaaaaagccgaggcagccgctgcggcactgaagaagaaagcggaagc
+ggcagaagcagctgcagctgaagcaagaaagaaagcggcaactgaagctgctgaaaaagc
+caaagcagaagctgagaagaaagcggctgctgaaaaggctgcagctgataagaaagcggc
+agcagagaaagctgcagccgacaaaaaagcagcagaaaaagcggctgctgaaaaggcagc
+agctgataagaaagcagcggcagaaaaagccgccgcagacaaaaaagcggcagcggcaaa
+agctgcagctgaaaaagccgctgcagcaaaagcggccgcagaggcagatgatattttcgg
+tgagctaagctctggtaagaatgcaccgaaaacggggggaggggcgaaagggaacaatgc
+ttcgcctgccgggagtggtaatactaaaaacaatggcgcatcaggggccgatatcaataa
+ctatgccgggcagattaaatctgctatcgaaagtaagttctatgacgcatcgtcctatgc
+aggcaaaacctgtacgctgcgcataaaactggcacccgatggtatgttactggatatcaa
+acctgaaggtggcgatcccgcactttgtcaggctgcgttggcagcagctaaacttgcgaa
+gatcccgaaaccaccaagccaggcagtatatgaagtgttcaaaaacgcgccattggactt
+caaaccgtaatcgcgatgttgactgttcggacggtcaacatcaggcaccggttgccacgg
+ggttctggtagttttgtgtattttagtttgttaacattctgctaaattatcgtgggccat
+cggtccagataagggagatatgatgaagcaggcattacgagtagcatttggttttctcat
+actgtgggcatcagttctgcatgctgaagtccgcattgtgatcgacagcggtgtagattc
+cggtcgtcctattggtgttgttcctttccagtgggcggggcctggtgcggcacctgaaga
+tattggcggcatcgttgctgctgacttgcgtaacagcggtaaatttaatccgttagatcg
+cgctcgtctgccacagcagccgggtagtgcgcaggaagtacaaccagctgcatggtccgc
+actgggcattgacgctgtagttgtcggtcaggtcactccgaatccggatggttcttacaa
+tgttgcttatcaacttgttgacactggcggcgcaccgggtactgtacttgctcagaactc
+gtacaaagtgaacaagcagtggctgcgttatgctggtcataccgccagtgatgaagtgtt
+tgaaaaactgaccggcattaaaggtgcgttccgtactcgtattgcctacgttgttcagac
+caacggcggtcagttcccgtatgaactgcgcgtatctgactatgacggttacaaccagtt
+tgtcgttcaccgttcaccgcagccgctgatgtctccggcgtggtcaccagacggttctaa
+actggcttatgtgaccttcgaaagcggtcgttccgcgctggttattcagacgctggcaaa
+tggcgctgtacgtcaggtggcttcattcccgcgtcacaacggtgcacctgcattctcgcc
+agacggcagcaaactggcattcgccttgtcgaaaaccggtagtctgaacctgtacgtaat
+ggatttggcttctggtcagatccgccaggtgactgatggtcgcagtaacaataccgaacc
+gacctggttcccggatagccagaacctggcatttacttctgaccaggccggtcgtccgca
+ggtttataaagtgaatatcaacggcggtgcgccacaacgtattacctgggaaggttcgca
+gaaccaggatgcggatgtcagcagcgacggtaaatttatggtaatggtcagctccaatgg
+tgggcagcagcacattgccaaacaagatctggcaacgggaggcgtacaagttctgtcgtc
+cacgttcctggatgaaacgccaagtctggcacctaacggcactatggtaatctacagctc
+ttctcaggggatgggatccgtgctgaatttggtttctacagatgggcgtttcaaagcgcg
+tcttccggcaactgatggacaggtcaaattccctgcctggtcgccgtatctgtgataata
+attaattgaatagtaaaggaatcattgaaatgcaactgaacaaagtgctgaaagggctga
+tgattgctctgcctgttatggcaattgcggcatgttcttccaacaagaacgccagcaatg
+acggcagcgaaggcatgctgggtgccggcactggtatggatgcgaacggcggcaacggca
+acatgtcttccgaagagcaggctcgtctgcaaatgcaacagctgcagcagaacaacatcg
+tttacttcgatctggacaagtacgatatccgttctgacttcgctcaaatgctggatgcac
+atgcaaacttcctgcgtagcaacccgtcttacaaagtcaccgtagaaggtcacgcggacg
+aacgtggtactccggaatacaacatctccctgggtgaacgtcgtgcgaacgccgttaaga
+tgtacctgcagggtaaaggcgtttctgcagaccagatctccatcgtttcttacggtaaag
+aaaaacctgcagtactgggtcatgacgaagcggcatactccaaaaaccgtcgtgcggtac
+tggtttactaagagaattgcatgagcagtaacttcagacatcaactattgagtctgtcgt
+tactggttggtatagcggccccctgggccgcttttgctcaggcaccaatcagtagtgtcg
+gctcaggctcggtcgaagaccgcgtcactcaacttgagcgtatttctaatgctcacagcc
+agcttttaacccaactccagcaacaactttctgataatcaatccgatattgattccctgc
+gtggtcagattcaggaaaatcagtatcaactgaatcaggtcgtggagcggcaaaagcaga
+tcctgttgcagatcgacagcctcagcagcggtggtgcagcggcgcaatcaaccagcggcg
+atcaaagcggtgcggcggcatcaacgacgccgacagctgatgctggtactgcgaatgctg
+gcgcgccggtgaaaagcggtaatgcaaacacggattacaatgcagctattgcgctggtgc
+aggataaatcccgccaggatgacgcaatggtggcatttcagaatttcatcaaaaattacc
+ctgattcaacttacctgccaaacgccaattattggctgggtcagttaaactacaacaagg
+gtaaaaaagatgatgcggcgtactattttgcttcggtagtgaaaaactatccgaagtcac
+caaaggctgcagatgcgatgtttaaagtcggcgtcatcatgcaggacaaaggtgacaccg
+caaaagcgaaagccgtataccagcaggttatcagtaaataccctggtactgatggcgcta
+aacaggcacaaaaacgtctgaacgcgatgtaatgcataacacacgaccagaagtcgcatt
+atttctggtcgtgtcgtgcgaatcataagcagttgagtgatctacatcgaaatttttgtt
+gcgctcaagtctgaaatcagtaatatatgccgccgttgccacgggatatcaaacaaaccg
+aaagcaacgaaaaagtgggtcgttagctcagttggtagagcagttgacttttaatcaatt
+ggtcgcaggttcgaatcctgcacgacccaccaatcgctaaggtggaagcggtagtaaaac
+gtgaaggataacgttgcatgagcaacggcccgaagggcgagacgaagtcgagtcatcctg
+cacgacccaccactaacatagttagttgtagtatccagcgtagtatcgggtgattagctc
+agctgggagagcacctcccttacaaggagggggtcggcggttcgatcccgtcatcaccca
+ccaccgggtcgttagctcagttggtagagcagttgacttttaatcaattggtcgcaggtt
+cgaatcctgcacgacccaccagttttaacatcgaagacagatgttaagcgtgtaggataa
+cgttgcgtcagcaacggcccgtagggcgagcgaagcgagtcatcctgcacgacccaccac
+taatgacggtgggttcggtggaagtagtttgtagtatccagcgcagtatcgggtgattag
+ctcagctgggagagcacctcccttacaaggagggggtcggcggttcgatcccgtcatcac
+ccaccactcgggtcgttagctcagttggtagagcagttgacttttaatcaattggtcgca
+ggttcgaatcctgcacgacccaccagttttaacatcaaactcagatgttaagcgtgaagg
+ataacgttgcgccagcaacggcccgtagggcgagcgaagcgagtcatcctgcacgaccca
+ccaatcttaaagattggccccgagtaaaaatctttcaggtaacacccgtatgggtcgtta
+gctcagttggtagagcagttgacttttaatcaattggtcgcaggttcgaatcctgcacga
+cccaccaatttaaaggtggttactggtagagaacgtgaaggataacgttgcgttagcaac
+ggcccgaagggcgagacgaagtcgagtcatcctgcacgacccaccatcctgaatgattaa
+ggcagcataatcccgcaaggggtcgttagctcagttggtagagcagttgacttttaatca
+attggtcgcaggttcgaatcctgcacgacccaccaatgtaaaaaagcgccctaaaggcgc
+ttttttgctatctgcgatactcaaagattcgaacctgcagcaggtttgagttgagcgcag
+cgaaacaacggagccgctcgcggcgacggcccgaagggcgagcgaagcgagtcatcctgc
+acgacccaccaatgtaaaaaagcgccctaaaggcgcttttttgctattcaggcatcctca
+atttcactttgtaaacctgatgacatcgtcagagcttactgtgcaagcaactctatgtcg
+gtggaattaggcgtaaaatgacgcatcctgcacattaggcgtaattcgagtgacttttcc
+ccaccattcgactatcttgtttagcatataaaacaaattacaccgataacagcgaatatt
+acgctaatgtcggttttaacgttaagcctgtaaaacgagatggtaagatgagcgtaatgt
+ttgatccagacacggcgatttatcctttccccccgaagccgacgccgttaagcattgatg
+aaaaagcgtattaccgcgagaagataaaacgtctgctaaaagaacgtaatgcggtgatgg
+ttgcccactactataccgatcccgaaattcaacaactggcagaagaaaccggtggctgta
+tttctgattctctggaaatggcgcgcttcggtgcaaagcatcccgcttctactttgttag
+tcgctggggtgagatttatgggagaaaccgccaaaattctcagtccggaaaaaacaattc
+tgatgccgacacttcaggctgaatgttcactggatctcggctgccctgttgaagaattta
+acgcattttgcgatgcccatcccgatcgtactgtcgtcgtctacgccaacacttctgctg
+cggtaaaagcgcgcgcagattgggtggtaacttcaagcattgccgtcgaacttattgatc
+atcttgatagtttgggtgaaaaaatcatctgggcacccgacaaacatctggggcgttacg
+tgcaaaaacagacgggtggagacattctatgctggcagggtgcctgtattgtgcatgatg
+aatttaagactcaggcgttaacccgcttgcaagaagaatacccggatgctgccatactgg
+tgcatccagaatcaccacaagctattgtcgatatggcggatgcggtcggttccaccagtc
+aactgatcgctgctgcgaaaacattgccacatcagaggcttattgtggcaaccgatcggg
+gtattttctacaaaatgcagcaggcggtgccagataaagagttactggaagcaccaaccg
+caggtgagggtgcaacctgccgcagctgcgcgcattgtccgtggatggccatgaatggcc
+ttcaggccatcgcagaggcattagaacaggaaggaagcaatcacgaggttcatgttgatg
+aaaggctgcgagagagggcgctggtgccgctcaatcgtatgctggattttgcggctacac
+tacgtggataacgaataataaggcgtaacgttacgctttgggggaaagatggattttttt
+agtgtgcagaatatcctggtacatataccaataggggcaggcggttatgatctctcatgg
+atcgaagcggtaggcacgatcgccgggttgctgtgtattggccttgccagtctggagaag
+atcagcaactacttctttggcctgatcaacgtcaccttgtttggcattattttctttcag
+attcagctgtatgccagcctgctattacaggtgtttttctttgccgcgaatatttacggt
+tggtatgcgtggtcgcgacaaaccagtcagaacgaggcggagttgaaaattcgctggttg
+ccattgccgaaggcactcagctggttggcggtttgcgttgtttcgattggtctgatgacg
+gtatttatcaatccggtgtttgcatttttgacccgcgtggcagtcatgatcatgcaagca
+ttaggattacaggttgtgatgcctgaactgcaaccggacgctttcccgttctgggattca
+tgcatgatggtgttatctatcgtggcaatgattctgatgacgcgtaagtatgtggaaaac
+tggctgttgtgggtgattattaacgtgattagcgtcgttatttttgcacttcagggcgtt
+tacgccatgtctctggagtacatcatcctgacctttattgcgctcaacggcagccggatg
+tggatcaacagcgcacgtgaaagaggctcacgcgcgctgtcccattaatggtgatgatgt
+gaatggccagacaccccttcattcaggtggcagtctggcccatgacaaggttgatattcc
+atctgaatggtggcgtgctcaatctgatagtgatccatcaggtagtgttggatctgatcc
+aacaaggcatcgtgatcgtgtggcgggatcacctgcacatgcaacgtcatcaccggcttc
+tcgcctaccatccatacatgtacatggtgcacattgcggacttccgggatttcccggcac
+atacgacgcttcagttcagcgatatccagcgataccggtgcaccttcaagtaattcattc
+acgctatctttcaacagtcgccacgcgctacgcagaaccagaagcgacaccagtatcgag
+agaatggggtcagcaggtgtccagccagtccagataataatcaacgcggcaataatagcc
+ccaaccgaacccagcaggtccccgagcacatgcagtgccgctgctcgtacgttgaggttt
+ttctcttcgctgccgtgatgaagtaaccagaaagaaagtatatttgccagcaacccagcc
+acggcaattgccatcatcatgccgccctcgaccggacgcggcgtgcggaagcgttctatc
+gcctcccagacaatcaaaatggtaattaccacgagggctatggcattcacaaacgccgcg
+agcgtggtcagtcttagccaaccgaaagtgtggcgaatggtgggaggacgacgtgaaaat
+tgcacggcgagtagggcgaaaagcagggcggcagtatcggtcaacatatgacccgcatcg
+gccagcaatgccagagaaccagaaagaaaaccaccaacgacttctaccagcataaacccg
+gcagtcacgccgaaagcatacaacaagcgacgagcattattatcttctggcaggtgtgag
+gacgtgtgtgagtgtgagtgcgccatgacgagtcatcccttaattattctcacttaactt
+tatgacatcatactgcttttagaagtgaaaaattaaaagggagagactccgctctcccat
+tattggctattttgcagggttactgcgtggtaccgtcggttttggtatcgacatcattat
+tgatgccatcaccggtttgtacctttttattgatatccggacagcgaccatctttgcaca
+tggtgttcttgtgctcttcatctttggtcattccgtcattgttcattgaagaaccatccg
+aatgcagcattgtgccgccagaaccggtatttaccccgttattgtcgacgttatttggcg
+cgacattttcacgggcgtcaggggctacctggcccgcatcagctgcggcgtttgcctggc
+cgttattagtttgcgctccgctatcggcagccagtgcggcaccgctggcaaggcttagag
+tggcagtcagaaataatgtggccagttttgtcattttcataggatgctcctgttatggtc
+gttatgtcggataacctcttccaacagtgcatttgcaggtgaatataaggcattggttta
+agatttcagccaggttatgaaacgcagcagagaatcttgaaataattaacaaacaaagga
+gttacagttagaaattgtaggagagatctcgtttttcgcgacaatctggcgtttttcttg
+ctaattccaggattaatccgttcatagtgtaaaaccccgtttacacattctgacggaaga
+tatagattggaagtattgcattcactaagataagtatggcaacactggaacagacatgaa
+ttatcagaacgacgatttacgcatcaaagaaatcaaagagttacttcctcctgtcgcatt
+gctggaaaaattccccgctactgaaaatgccgcgaatacggttgcccatgcccgaaaagc
+gatccataagatcctgaaaggtaatgatgatcgcctgttggttgtgattggcccatgctc
+aattcatgatcctgtcgcggcaaaagagtatgccactcgcttgctggcgctgcgtgaaga
+gctgaaagatgagctggaaatcgtaatgcgcgtctattttgaaaagccgcgtaccacggt
+gggctggaaagggctgattaacgatccgcatatggataatagcttccagatcaacgacgg
+tctgcgtatagcccgtaaattgctgcttgatattaacgacagcggtctgccagcggcagg
+tgagtttctcgatatgatcaccccacaatatctcgctgacctgatgagctggggcgcaat
+tggcgcacgtaccaccgaatcgcaggtgcaccgcgaactggcatcagggctttcttgtcc
+ggtcggcttcaaaaatggcaccgacggtacgattaaagtggctatcgatgccattaatgc
+cgccggtgcgccgcactgcttcctgtccgtaacgaaatgggggcattcggcgattgtgaa
+taccagcggtaacggcgattgccatatcattctgcgcggcggtaaagagcctaactacag
+cgcgaagcacgttgctgaagtgaaagaagggctgaacaaagcaggcctgccagcacaggt
+gatgatcgatttcagccatgctaactcgtccaaacaattcaaaaagcagatggatgtttg
+tgctgacgtttgccagcagattgccggtggcgaaaaggccattattggcgtgatggtgga
+aagccatctggtggaaggcaatcagagcctcgagagcggggagccgctggcctacggtaa
+gagcatcaccgatgcctgcatcggctgggaagataccgatgctctgttacgtcaactggc
+gaatgcagtaaaagcgcgtcgcgggtaaggtttaattgtcggatgcgccgtcagagtggc
+gtatccgatgaatcaccacaggcctgataagtcgcgcagcgtcgcatcaggcaatgtgct
+ccattgttagcaacaaaaaagccgactcacttgcagtcggctttctcattttaaacgaat
+gacgtttacttcgctttaccctggtttgcaaccgccgctgctttcgctgcgatctcgtca
+gcattacccagataatagcgtttcagcggtttgaaattctcgtcgaactcatacaccagc
+ggcacgccagtcgggatattaagctcaagaatctcttcttcgctcatgttatcaagatat
+ttcaccagcgcacgtaaagagttaccgtgtgcagcgatgatcacgcgctcaccgctcttc
+atacgcggcagaatagtttcattccagtaagggatcacgcggtcaatggtcagcgccagg
+ctttccgtcagcggcagttctttctcgctcagtttcgcgtaacgcggatcgtgacccgga
+taacgctcatcatctttagtcagttccggcggagtcactgcaaaaccacgacgccactgt
+ttcacctgctcgtcgccatacttttcagcagtttccgctttgttcagaccctgcaacgca
+ccgtagtgacgttcgttcagtttccaggatttctcaacgggcagccatgcctgatccagt
+tcgtccagcacattccacagggtatggatagcgcgtttcagcacagaagtgtaagcaaag
+tcaaagctgtaaccttcctctttcagcagcttacctgctgcttttgcttcgcttacgcct
+ttctcagacagatccacgtcgtaccaaccggtgaaacggttttctttgttccactgactt
+tcgccatgacgaaccagaaccagcttagttacagccatatacttactcctcaaatcatct
+tttaatgataataattctcattatattgccgcgacgaagcaacagcaatgcttacgcata
+accatagcgaaaatagtggcgcagtgtaaggttgttgtgaatattgagttgcaaatatgt
+cggtgtttgctggtgatttgaacaatatgagataaagccctcatgacgagggcgtaacat
+tactcagcaataaactgatattccgtcaggctggaatactcttcgccaggacgcaggaag
+cagtccggttgcggccattcagggtggttcgggctgtccggtagaaactcgctttccaga
+gccagcccttgccagtcggcgtaaggttcggttccccgcgacggtgtgccgccgaggaag
+ttgccggagtagaattgcagagccggagcggtggtgtagaccttcagctgcaatttttca
+tctgctgaccagacatgcgccgccactttcttgccatcgcctttggcctgtaacaagaat
+gcgtgatcgtaacctttcactttgcgctgatcgtcgtcggcaagaaactcactggcgatg
+attttggcgctgcggaaatcaaaagacgttccggcgacagatttcaggccgtcgtgcgga
+atgccgccttcatcaaccggcagatattcgtccgccagaatctgcaacttgtgattgcgc
+acgtcagactgctcgccgtcaagattgaaatagacgtgattagtcatattcaccgggcaa
+ggtttatcaactgtggcgcgataagtaatggagatacggttatcgtcggtcagacgatat
+tgcaccgtcgcgccgagattacccgggaagccctgatcaccatcatctgaactcagggca
+aacagcacctgacgatcgttctggttcacaatctgccagcgacgtttgtcgaacccttcc
+ggcccgccgtgcagctggttaacgccctgacttggcgaaagcgtcacggtttcaccgtca
+aaggtataacggctattggcgatacggttggcataacgaccaatagaggcccccagaaac
+gcggcctgatcctgatagcattccgggctggcacagccgagcagcgcctcgcggacgctg
+ccatcggaaagcggaatacgggcggaaagtaaagtcgcaccccagtccatcagcgtgact
+accatccctgcgttgttacgcaaagttaacagtcggtacggctgaccatcgggtgccagt
+gcgggagtttcgttcagcactgtcctgctccttgtgatggtttacaaacgtaaaaagtct
+ctttaatacctgtttttgcttcatattgttcagcgacagcttgctgtacggcaggcacca
+gctcttccgggatcagcgcgacgatacagccgccaaatccgccgccggtcatgcgtacgc
+cacctttgtcgccaatcacagctttgacgatttctaccagagtgtcaatttgcggcacgg
+tgatttcgaaatcatcgcgcatagaggcatgagactccgccatcaactcgcccatacgtt
+tcaggtcgccttgctccagcgcgctggcagcttcaacggtgcgggcgttttcagtcagta
+tatgacgcacgcgttttgccacgatcgggtccagttcatgcgcaacagcgttgaactctt
+caatggtgacatcacgcagggctggctgctggaagaaacgcgcaccggtttcgcactgtt
+cacgacgggtgttgtattcgctgccaaccagggtacgtttgaagttactgttgatgatga
+cgacagccacacctttgggcatggaaactgctttggtccccagtgagcggcaatcgatca
+gcaaggcatgatctttcttgccgagcgcggaaattagctgatccatgatcccgcagttac
+agcctacaaactggttttctgcttcctgaccgttaagcgcgatttgtgcgccgtccagcg
+gcagatgataaagctgctgcaatacggttccgaccgcgacttccagtgaagcggaagaac
+ttaacccggcaccctgcggcacattgccgctgatcaccatgtccacgccgccgaagctgt
+tgttacgcagttgcagatgtttcaccacgccacgaacgtagttagcccattgatagtttt
+catgtgcgacaatgggcgcatcgagggaaaactcgtcgagctgattttcataatcggctg
+ccatcacgcgaactttacggtcatcgcgtggtgcacaactgatcacggtttgataatcaa
+tcgcgcagggcagaacgaaaccgtcgttgtagtcggtgtgttcaccaatcaaattcacgc
+ggccaggcgcctgaatggtgtgagtggcagggtagccaaatgcgttggcaaacagagatt
+gtgttttttctttcagactcatttcttacactccggattcgcgaaaatggatatcgctga
+ctgcgcgcaaacgctctgctgcctgttctgcggtcaggtctcgctgggtctctgccagca
+tttcataaccaaccataaatttacgtacggtggcggagcgcagcagaggcggataaaagt
+gcgcgtgcagctgccagtgttgattctcttcgccattaaatggcgcgccgtgccagccca
+tagagtaggggaaggagcactggaagaggttgtcataacgactggtcagctttttcaacg
+ccagcgccagatcgctgcgctgggcgtcggtcaaatcggtgatccgtaaaacgtgggctt
+tgggcagcagtagcgtttcgaacggccaggcagcccagtaaggcacgacggctaaccagt
+gttcggtttcgacaacggtacggctaccgtctgccagctcgcgctgaacataatccacca
+gcattggtgatttctgttcggcaaaatattctttttgcaggcggtcttcgcgctcagctt
+cgttaggcaggaagctatttgcccaaatctgaccgtgcggatgcgggttagagcagccca
+tcgccgcgcctttgttttcaaaaacctgcacccatgggtacgttttccccagttctgcgg
+tttgctcctgccaggttttgacgatttccgtcaatgctgcaacgctgagctctggcagcg
+ttttactgtgatccggtgaaaagcagatcacccggctggtgccgcgcgcgctctggcaac
+gcatcagcggatcgtgactttctggcgcatctggcgtgtcagacatcaaagccgcaaagt
+cattagtgaaaacgtaagtcccggtgtaatcggggtttttatcgcctgtcacccgcacat
+tacctgcgcagaggaagcaatctggatcgtgcgcaggtaacacctgtttggctggcgttt
+cctgcgccccctgccaggggcgcttagcgcggtgcggtgaaaccagaatccattgcccgg
+tgagcgggttgtagcggcgatgtggatgatcaacgggattaaattgcgtcatggtcgttc
+cttaatcgggatatccctgtggatggcgtgactgccagtgccaggtgtcctgcgccattt
+catcgagtgtgcgcgttacgcgccagttcagttcacggtcggctttgctggcgtccgccc
+agtaggccggaaggtcgccctcgcgacgcggtgcaaaatgataattaaccggtttgccgc
+aggctttgctgaaggcattaaccacgtccagcacgctgttgcctacgccagcgccgaggt
+tgtagatgtgtacgcctggcttgttcgccagtttttccatcgccacgacgtgaccgtccg
+ccagatccattacgtggatgtaatcgcgtacgccagtaccatcttcggtcggataatcgt
+taccaaaaatcgccagcgagtcgcgacggcctacagcaacctgggcgatgtatggcatca
+ggttattcggaatgccttgcggatcttcgcccatatcgcccgacggatgcgcgccaaccg
+ggttgaagtagcgcagcagggcaatgctccagtccggctgggctttttgcagatcggtga
+ggatctgttccaccatcagcttgcttttgccgtaagggctttgcggtgtgccggtcggga
+agctttcaacgtatggaattttgggctgatcgccataaacggtggcggaggagctaaaaa
+taaagtttttgacgttagcggcgcgcatggcgctaatcaggcgcagagtgccgttgacat
+tgttgtcgtaatattccagcggtttttgtaccgattcgcccacggctttcagcccggcga
+agtggatcacggtgtcgatagcgtgatcgtgcaggatctcggtcatcaacgcttcgttac
+gaatatcgccttcaacaaacgttggatgtttgccgcctaaacgctcgataacaggcagta
+cgctgcgcttactgttacagaggttatcaagaatgatgacatcatgaccgttttgcagta
+attgcacacaggtatgacttccaatgtaaccgctaccaccggtaaccagaactctcataa
+ttcgctccattaggcttatggtatgaaataaccatagcataacaaagatgcgaaaagtgt
+gacatggaataaattagtggaatcgtttacacaagaatttagccgttttttatgcgcgat
+taagtgattataaaacagagggtttatgaatgattgcgctttttatctgaaaaaagacgc
+ggtttcatgcctgcatgcgtcgaaccgttggccggagagggtgctaaggccgcctccggc
+aaggtcagcactaccgactcaatatatttttgtcagcacatagcgatagagtccaccgtc
+cggcacgaactcaagacgatgggtaatacaggcaggcgcatcttcagcgtggtgcgaaac
+aaacaacaattgcgtttcaccttcgctaatcagcacatcaacaaaacggcggataagctg
+gcgattcagcggatcaagcccctgtagtggttcatcgagaataagcaacgtcggatgttt
+caccagtgcgcggacaatcagcgccagacgctgctgtccccaggaaagactatggaacgg
+agcgtcagccgtgcgtttatcaatgccgagaatatccagccactgctgcaccagtttttg
+ctggcgatccgaaacggcctgataaatgccaatcgaatcaaaatagccagaaagaatcac
+attacgcacggtagtgctgacccggtaatccagatgcaaactactgctgacgtaaccgat
+atgctttttgatatcccagatggtttcgccgctgccgcgacgtcgtccgaaaagcgtcaa
+atcgttgctgtaaccttgcggatgatcgccagtaaccaggcttaataacgtcgattttcc
+tgcaccatttggcccgacaatttgccagtgttcgcctggattcacctgccagctaaggtt
+attaagaatggggcgatcgttataagaaaccacgccattgttcagcacaatgcgcggttc
+gttggcgggtaaggcgtgacgtgctgaaggttcatccggctccggcagttgcacaccttc
+aagctgttcactatgcgccagttgcgcgacgagtgcttgttggagcagttcctctttagc
+gccagtttccgctaacgtgcaatccgccagcacgccagcaaactggacaaactccgggat
+ctcatcgaagcgattgagcaccagtaccagagtaataccggactgatgtaacgaggcgag
+tcgctcagccagctgctgacgtgaggcaacatccaggccatcgaacggctcatcaagaat
+caacaagtcaggctccgacatcagcgcctgacacagcagggtttttcgcgtctcgccagt
+ggaaaggtatttaaagcgtcggtcgaggagggcggtaataccgaactgctgcgccagttg
+catgcaacgcggtgcatcctttacttcatcctgaatgatctcagccgtagtgcgtccggt
+gtcatcttcgccagggccgagcatatcggtgttattccgctgccattcgtcgctgacgag
+tttttgcaattgctcgaaggagagacgagtgatgtgggaaaactggctttgccgttcacc
+tttcaaaagcggaagttcccccgccagcgcgcgggccagggccgatttcccgcttccatt
+cgaaccgacaaacgcccaactatcacccgcgtttaacgttagctgaggcaattgcagcgt
+ttttgtgtcgctaagacgaaacgtgccttgcaaaatttgcaacgatgacattttatatcc
+cactttgtgcagcgattactgacagggatacgtgtttcataacaaattgtcaacacgctt
+agcacagcgtggcgataatcacgctgtcggcattaaagtaggccgtgacattctgtcctt
+gctgaagagaagtcgcttcatttaccggcactgtggcgcacagtgtttgcccgtcgggta
+gcgccattaatacttcgcactgctctgcgccgcgctcaatatgactaataatacccggta
+attggttgtcagcgttttgcgcgaccgcctcgtcctgagtaatacctacccacggcgctt
+ttagcaatatcaacacttctttgccttcatccagccccagacgcgcgccgctttgtgcgg
+taattgcgactttcaggcgtgtttttccgtcagccagtaagacatcaacatgctgttgaa
+cgtcatcatgatcgcgggcggtgatggtaccgaaccactggttacgggcgctggtttgca
+gtgaaaaacgtgagatcgcggccagcaggctgttcagcggcagggcgtcatcgtcactta
+acacatcaaaggctttttgctggatttgcgccagtaagtcatagagctgaatcagtcgct
+gaccatagcgggtcagtactgcgccgccgccacctttaccgcctgttgcgcgctcgacca
+gaatatgctcacttaactgattcatctcgttaatggcatcccaggcgcttttatagctaa
+taccggcatctttcgctccctggctaatggaaccggaaagcgcaatgtgttttagtagcg
+aaatgcggcgcgggtcggcgaataatttttgttggagcttaagggtgagaaggatttcgg
+cctgcataacaatgtcctggcaaaagtcttattgtgacggaaaacgaacgccacgcaaag
+ctgaccgcacaaaaggggagtgcttttctgtgcttagcggttagaatagtctcatgacta
+tatctggagttgaccatgttagagttattaaaaagtctggtattcgccgtaatcatggta
+cctgtcgtgatggccatcatcctgggtctgatttacggtcttggtgaagtattcaacatc
+ttttctggtgttggtaaaaaagaccagcccggacaaaatcattgattccctgaatgcccg
+cttagtcgggcattttctttttctcaacttcctgcttttcctgccgatattttttcttat
+ctacctcacaaaggttagcaataactgctgggaaaattccgagttagtcgttatattgtc
+gcctacataacgttacattaaggggttaccaatggctcgtaaatggttgaacttgtttgc
+cggggcggcactctctttcgctgttgctggcaatgcactggcagatgaagggaaaatcac
+ggtgttcgccgccgcatcactgactaacgcaatgcaggacattgctacgcagtttaaaaa
+agagaaaggcgtggatgtggtttcttctttcgcttcgtcatctactctcgcccgtcagat
+tgaagcgggtgcgcctgcggatctgtttatttctgccgatcagaaatggatggattatgc
+ggttgataaaaaagcgatcgatacagctacgcgtcagacactgctcggcaatagcctggt
+cgttgtagcaccgaaagccagcgtgcagaaagatttcaccatcgacagcaaaaccaactg
+gacttcactgctgaatggcggtcgcctggcggttggcgatccggaacatgttcccgctgg
+catttatgcaaaagaagcactgcaaaaactgggcgcatgggatacgctctctccgaaact
+ggccccagcggaagatgttcgtggggcgctggcgctggtcgaacgtaacgaagcgcctct
+gggcattgtctacggttctgacgcagttgccagcaaaggggtaaaagtggttgccacctt
+cccggaagattcacataaaaaagtggaatatccggttgctgttgtggaagggcataacaa
+tgcgacagtgaaagcattttatgattatctgaagggaccgcaggcagcggaaatctttaa
+acgttacggatttacaatcaagtaatgatactgaccgatccagaatggcaggcagtttta
+ttaagcctgaaagtttcttccctggctgtgctgtttagcctgccgtttgggatctttttt
+gcctggttactggtgcgttgcacgtttccgggcaaagctctgctcgacagcgtactgcat
+ctaccgctggtgttaccgcccgtggtcgtcggttacttattattagtttcgatgggacgg
+cgcggatttatcggtgaacgtctgtatgactggtttggtattaccttcgcctttagctgg
+cgcggcgcggttctcgctgccgccgtcatgtcgtttccgctgatggtgcgggcaattcgt
+ctggcgctggaaggggttgatgtcaaactggaacaggccgcaagaacactgggggccggg
+cgctggcgcgttttctttactatcacgttaccgctgaccttaccgggaattattgttggt
+acggtactggcttttgctcgttctctcggtgagtttggtgcaaccatcacctttgtgtcg
+aacattcctggtgaaacgcgaaccattccttctgccatgtataccctgatccagaccccc
+ggcggggaaagtggagcggcgagactgtgcattatttctattgcgctggcgatgatctcc
+ctgttgatttcagaatggctggccagaatcagccgtgaacgggcggggcgctaatcatgc
+tggaactgaatttttcccagacgttgggcaaccattgcctgactattaatgaaacgctgc
+ccgccaatggcatcactgctatctttggcgtctccggtgccggaaaaacttcgctgatta
+acgccatcagtggactgacgcgcccgcaaaaagggcggattgtcctcaatgggcgggtac
+taaatgatgccgaaaaaggtatctgcctgacgccggaaaagcgtcgcgttggctatgttt
+ttcaggatgcgcggctgttcccgcattacaaagtgcgtggcaatctgcgctacggcatgt
+cgaaaagtatggtcgatcagttcgataagctggtggcgcttttaggcattgaaccgttgc
+ttgaccgtttaccaggcagcctgtccggaggcgaaaaacagcgcgtggcgattggtcggg
+ctttgctgacagcaccggaattgctgttgctggatgaaccgctggcgtcactggatattc
+cgcgtaaacgcgaactgttgccttatctgcaacggctgacacgggaaatcaacattccga
+tgttgtatgtcagccattcgctggatgagatcctccatctggcagacagagtgatggtac
+tggaaaacggtcaggtgaaagcctttggcgcgctggaggaagtgtggggcagtagcgtga
+tgaatccgtggctgccgaaagagcaacaaagtagcattctgaaagtgacggtgcttgagc
+atcatccgcattacgcgatgaccgcgctggcgctgggcgatcagcatttgtgggtcaata
+agctggacgaaccgctgcaagctgcgctacgtatccgcattcaggcttccgatgtttctc
+tggttttacaaccgccgcagcaaaccagcattcgtaacgtattgcgggcaaaagttgtta
+atagttatgacgacaacggccaggtggaagtggaactggaagtcggcggtaaaacgctgt
+gggcgcgtatcagcccgtgggccagggatgaactggcgatcaaacctggcctgtggctgt
+acgcgcaaattaaaagtgtgtcgataaccgcctgattaaatcaggtggctataaatgaac
+tgggcaatgctgtcggtggtgttatcaccaatcacaatgttggcgcgcgcttttaccgcg
+tcatcggcgttgcccatcgccacgcctgtaccagcggcttccagcatactgatatcatta
+aagttatcgccgaatgccacgacgttttccatcgaccaaccttgcgcctcaacccatttc
+gtcaaacgtttacctttgctgttgccgccgcgtgcaatatcaacctgatcgtgccaggac
+cattcacactccagtcccagttcatgttcgacatgcttaccaaaatgctgcaattgcggc
+aggtcatcgtgcgtcagggcgaacttccatacggcgttaacttgttgcgccgtttcagcc
+agagaagcgacttgtgtgaaagtcggacgctgttccggcggcagggtttgcgcccagtta
+gatgtgcgaatgacatgcccggtcgggtgctcatagaccattgcatcatcgacatacatc
+agaccgtgaatgtggtgttcattcagcatctcaatgagttgcagggctttaataacgggc
+attgggtccgcttccagcacggtttttgcatgataatcatacaaataggtgccattacag
+caaatagcaggtgtatccagcgccagcgcctgataaaaaggatgaatagcgacgtgatgg
+cgacctgtgacgatgattaattgatagcctgcttcgcgagcgcgggccagggcttctatc
+gatgaaggaagcagggtctttttcggggtcaataaggtgccgtctaagtcgagagcaatc
+acgcgtgtggtcatggcgtattccagattaaggttaagaattttcgtctgcgcgaatggt
+acaccgataccactatcggacaaaattctgcgttttaattcagcattcaccgccaaaagc
+gactaattttagctgttacagtcagttgctaaatgcaaaggagcattcatgaagcaaaca
+gtttatatcgccagccctgagagccagcaaattcacgtctggaatctgaatcatgaaggc
+gcactgacgctgacacaggttgtcgatgtgccggggcaggtgcagccgatggtggtcagc
+ccggacaaacgttatctctatgttggtgttcgccctgagtttcgcgtcctggcgtatcgt
+atcgccccggacgatggcgcactgacctttgccgcagagtctgcgctgccgggtagtccg
+acgcatatttccaccgatcaccaggggcagtttgtctttgtaggttcttacaatgcgggt
+aacgtgagcgtaacgcgtctggaagatggcctgccagtgggcgtcgtcgatgtggtcgag
+gggctggacggttgccattccgccaatatctcaccggacaaccgtacgctgtgggttccg
+gcattaaagcaggatcgcatttgcctgtttacggtcagcgatgatggtcatctcgtggcg
+caggaccctgcggaagtgaccaccgttgaaggggccggcccgcgtcatatggtattccat
+ccaaacgaacaatatgcgtattgcgtcaatgagttaaacagctcagtggatgtctgggaa
+ctgaaagatccgcacggtaatatcgaatgtgtccagacgctggatatgatgccggaaaac
+ttctccgacacccgttgggcggctgatattcatatcaccccggatggtcgccatttatac
+gcctgcgaccgtaccgccagcctgattaccgttttcagcgtttcggaagatggcagcgtg
+ttgagtaaagaaggcttccagccaacggaaacccagccgcgcggcttcaatgttgatcac
+agcggcaagtatctgattgccgccgggcaaaaatctcaccacatctcggtatacgaaatt
+gttggcgagcaggggctactgcatgaaaaaggccgctatgcggtcgggcagggaccaatg
+tgggtggtggttaacgcacactaaccgctgatttacccggcgcagtctctcctgcgccgg
+tgtattaacctatctcctgtaacgcgtgtctctggcgttcgacgatattggtccacaaat
+tgtctttatcgtcagtccataaattaatcagcaaggcaaaaaagcgttctgctgctggag
+aaagtacggcatctttacggcgaattattcccaatgttcgacgtataacgggttccacca
+atgggataccaataatcgaagaatagggcgcatgaggcattgccaggccaggaagcgccg
+aaatccccagtcccgcctccaccagtcctaatgacgtcgaaagatgacgcacttcgtaaa
+accagtccagcttccagggcttgtcggccagctgttgttctatcaacagtcggttgccgc
+tggaggagcgtacgccaatcattttgtaacccactaactcctgccattctacaagctgct
+ttttggccaatggatggtcacgccgacaggccagcacgaacggctcgttgaccagtgggg
+taaaatcaatggatgaatttgtgacgttgttcatgtttatgccaaagtctgattcgttac
+acagcaccgattccatgcaattattcgtgccttgttccagaatccgcactttaatattgg
+gatacagctcattaaatttaccgattgccagcggtaaaaaataaaatactgcggtcggaa
+tacacgctaacgtcaccataccacgatgataagcattcatatcacgaatattaaaaagcg
+tttcatcgaatttctttattaattcccgcgcctccgggagcaacctttttcctgcttttg
+ttaacgtaaccttgcgagttgtacgctcaaatagttgaacatgtaaatcttcctccatct
+tttttattcttcgcgttaatgcaggttgcgtaatattgagtaatttagcggcattgttaa
+acgaactggactctgccagtatgacaaatgccttcatacttgataattcatgcttcatta
+ttactccggaaaatggaagcgacgattttgggtggctggccgttaaaaattttaactgca
+tttagccaacttaaattaatgaaaaaatgttattaatcgttgagctaaagtcattagaga
+tgctttgcccttaatgtaaccatatcgcaataagttatgtttttaaattgagggcattat
+tatgaaaaaaataccctgcgtgatgatgcgaggtggaacctcgaggggcgcgttcctgtt
+agcggaacatttacccgaagatcaaacgcagcgcgataaaatattgatggcaattatggg
+ttccggtaacgatctggaaattgacggtattggcggcggtaatccactgaccagtaaagt
+cgccattattagccgttccagcgatccgcgtgctgatgtcgattatctgtttgcgcaggt
+aatcgttcatgagcaacgtgtcgataccacgcctaactgcggcaatatgctgtctggtgt
+tggggcattcgccattgaaaatggtttgattgcagcgacttcgccagttactcgcgtacg
+tatccgcaacgtcaatacgggtacgttcatcgaagctgatgtgcaaacgccaaatggtgt
+tgtcgagtacgagggtagcgccagaattgacggcgtaccgggtactgccgcaccggttgc
+gctcactttcctgaatgccgctggaaccaaaaccggaaaagttttcccgactgataatca
+gattgattattttgacgatgtcccggtgacctgtatcgatatggcgatgccagtcgtcat
+tattccggctgaatatctgggaaaaacaggttatgaattaccggcggaactggatgccga
+caaagcattattagcccgcattgaatctatccgtctacaagcgggtaaagcaatgggctt
+aggtgatgtcagtaatatggttatccctaaacctgtgcttatttctccagcgcagaaagg
+cggggcaattaatgtgcgttattttatgccgcattcttgccatcgcgcgctggcgataac
+cggtgctattgctatttccagtagttgtgcattggaaggcaccgtcacccgacaaatcgt
+cccttctgtaggatacggcaatatcaatattgaacaccccagtggtgcgctcgacgttca
+tttaagtaatgaaggtcaggatgccacgacgttacgcgcatctgttattcggacgaccag
+aaaaatattttccggtgaagtttatcttccctgaaaaaattcgttgtcaggataaggaca
+atcaataaaggacttctgtatgagtcatacagaaagaacaggattttaaatgaataagaa
+atcgttatggaagctaattctgatattagcgatcccatgtattattggttttatgccagc
+tccggcaggattaagcgaactggcgtgggtgctttttggtatttacctggcggccattgt
+ggggctggttatcaagcctttcccggaacctgtcgtactgttaattgccgttgctgcctc
+aatggtggtggtcggtaacttatccgacggtgcgtttaaaaccaccgccgtattaagcgg
+ttactcttcaggtaccacctggctggtgttctcggcgtttaccttaagcgccgcatttgt
+gaccaccggtttaggtaaacgtattgcctatctgctgattggtaaaatcggtaacaccac
+gctgggtctgggttacgttacggtattcctcgatctggtactggctccggcaacaccgtc
+taacaccgcgcgtgcgggcggcattgtgttaccgatcatcaacagcgtggcggtggcttt
+ggggtccgaaccggaaaaaagtccgcgtcgtgtcggacattacctgatgatgtccattta
+catggtcaccaaaaccaccagctatatgttctttaccgcaatggcggggaacattctggc
+gctgaaaatgatcaacgacattctgcacctgcaaattagctggggtggatgggcgctggc
+agccggattgccgggcatcattatgctgctggtcaccccgctggtgatttacaccatgta
+tccaccagaaattaagaaggtggataacaaaaccatcgctaaagcgggccttgccgaact
+aggaccgatgaaaatccgcgaaaaaatgctgctcggtgtctttgtgctggcgctgctggg
+ctggattttcagtaagtctctgggggttgatgaatccaccgtggcaatcgttgttatggc
+aaccatgctgctgctgggtatcgttacctgggaagacgtggttaaaaataaaggcggctg
+gaataccttaatctggtacggcggtattatcggcttaagctccttattatcgaaagttaa
+attcttcgaatggttagctgaagtctttaaaaataacctggcatttgatggtcacggtaa
+cgttgctttcttcgttattattttcctcagcattatcgtgcgttatttcttcgcttccgg
+tagtgcctatatcgttgctatgttaccggtatttgccatgctggcgaacgtctccggcgc
+accgttaatgttaaccgcgctggcactgttgttctccaactcctatggcggcatggttac
+tcactatggcggcgcggcaggtccggtcatctttggcgtgggttataacgatattaaatc
+ctggtggttggtcggtgcggtactgacgatattaaccttcctggtgcatatcaccctcgg
+cgtgtggtggtggaatatgctgatcggctggaacatgctgtaaatattctcgtcatactt
+caagttgcatgtgctgcgtctgcgttcgctcaccccagtcacttacttatgtaagctcct
+ggggattcactcgcttgtcgccttcctgcaactcgaattatttagagtatatccatttat
+tatctttctgcgcacttcacggtgcgcagatatctggagcatttgatgatcaagttatct
+gaaaaaggcgtgtttctcgccagtaataacgaaataattgccgaagaacatttcaccggc
+gaaattaaaaaagaagaagccaaaaaaggcactattgcctggtctattctctcttcgcat
+aatacgtccggaaatatggataaacttaaaattaagtttgattcattagcctctcacgat
+attacctttgttggtattgtacagaccgctaaagcgtccggtatggaacgtttcccgctg
+ccgtatgtgctgaccaactgccataactcactctgcgccgtcggcggcactattaacggt
+gatgaccatgtttttggtttatcggcggcccagcgttatggcggtatttttgtgcctccg
+catattgcggtcatccatcaatatatgcgtgagatgatggcaggcggcggcaaaatgatc
+ctcgggtcagacagccacacccgttacggtgcattagggacaatggcagtcggtgagggc
+ggcggtgagttggtaaaacagctgcttaatgacacctgggatatcgactatccgggcgtg
+gttgcggtgcatctgaccggaaaacctgcgccgtatgtggggccacaggatgtggcgctg
+gctatcattggcgcggtgttcaaaaacggttacgtcaaaaacaaagtcatggagttcgtt
+ggaccgggcgttagcgcgctctctaccgatttccgtaacagcgttgacgtgatgaccact
+gaaacgacctgtttaagttctgtctggcaaaccgatgaagaagtccataactggctggcg
+ctgcacggtcgcggccaggattactgccagcttaaccctcaaccgatggcgtactacgat
+ggctgcatcagcgttgatttaagcgccatcaaaccaatgattgcgctgccgttccacccg
+agcaacgtgtatgaaatcgacacactgaaccagaacctgaccgacattctgcgtgagatt
+gaaattgagtccgaacgcgtggcgcacggtaaagccaaactctcgctgctggataaagtg
+gaaaatggtcgcctgaaagtgcagcaggggattatcgcgggctgttctggcggtaactac
+gaaaacgtcatcgcggcggcgaatgcactgcgcggtcaatcctgtggcaatgacaccttc
+tcgctggcagtttacccgtcatcacagccggtgtttatggatctcgccaaaaaaggtgtg
+gtagcagatttgattggcgcaggcgcaatcatcagaaccgcgttctgcggcccatgcttt
+ggcgcgggcgatacgccaatcaacaacggtttgagtattcgccacaccacgcgtaacttc
+ccgaaccgcgaaggctctaagccagctaatgggcagatgtcagcggtggcgttgatggac
+gctcgttctatcgctgcgactgcggcaaacggtggctatttaacctctgccagcgaactt
+gattgctgggacaacgtgccggagtacgccttcgatgtaacgccgtataaaaaccgtgtt
+tatcagggctttgtgaaaggggcaactcagcaaccgctgatttacgggccgaacattaaa
+gactggccggaattgggtgcgctgactgacaatatcgtcctgaaagtgtgctcgaagatc
+ctcgacgaagtgaccaccaccgacgaactgattccttccggtgaaacctcttcttatcgt
+tcaaatccgattggtctggcggagtttaccctgtctcgccgcgatcccggttatgttagc
+agaagtaaagcgactgctgagctggaaaatcagcgtctggcggggaatgtcagcgagctg
+acagaggtgtttgcgcgcattaagcagattgctggtcaggagcatattgatccgctgcaa
+actgaaattggcagcatggtctatgcggtgaaaccaggcgatggttctgcgcgtgaacag
+gcggcgagctgccagcgtgtgattggcggtctggcgaatattgccgaggagtacgcgact
+aaacgctatcgttctaacgtcatcaactgggggatgttaccgctgcaaatggcggaagta
+ccaacctttgaagtgggggattacatttacatccctggcattaaagcggcgctggataat
+ccgggtacgacgtttaaaggttatgtgatccatgaagatgcgccggtaacggaaattacg
+ctctatatggaaagtctgactgctgaagagcgcgagattatcaaggcgggtagtttgatt
+aacttcaataaaaaccgtcagatgtaaaaagcgccatgtgaatgtaggtcgcattcggca
+cttattgtcggatgcgatgcttgcgcatcttatccgacctacgaatcgcatcgaatctgt
+aggccagataaggcattttcgcagcatccggcacttattgtcggatgcgatgcttgcgca
+tcttatccgacctacaaatcgcatcgaaccgtaggccggataaggcgtttacgccgcatc
+cggcaaatagttaattgctcttacttcttcgcctctgcaaccactttactacccacgccg
+cggttattgtattcccacatgcggttgtagttagtgtcattcagattgcgctgtatttcg
+tcgttatcatctacgctgccggtattacccgcaaacggacgattagagatcaccgcatcg
+gcccacggtttagccgtgttaaaaccttcgttgatggcgctatcacggatcaccacctga
+ccgttggtattggcatcaacatccagcgagcggcccagttgcgccacaccatcaccgaaa
+gcattgaaacggctgtttacggcgaggaaaccgtagtaaatgttggacagcgtagccggt
+gcaaacacatacgcttcttgctgagtacgtgagttcaccacgcggaattcggtgttatcg
+aacaccactgcgccgcgaccagaaacgatatccacatccccttcaatgtagctgttggtc
+accagcgtacgcggctgacgattcgtttccagacggttctgcacaccgctgttggtgaca
+aagaaggtgttctgacgaccgagaatgttaacgttgttaatctgtacctggtcaccatca
+gtacgcagtgccaccgccggatggttacctgcatctacgctatcgcccagcgtgttttcg
+atggtcagattttgcagttgcaggccattgttttgtgaccagaagaccgcagagcagaga
+acaccgatactgtcgctgcgtttgctctggcagctatcgtacatataccacgctggttta
+cctggcatatatttgccgcgcgggttgacgtcgtgacgccagtcggcagggctcatgcca
+ccatcaagggaaagcccaatcttcacatcaatcggtttttcacctgtaccgtacagagta
+attccacccggagcggcagggacatataccgttccctgatactcaccaggcatcacggca
+atatactggcgcttgttggtacgcttgataattgccgcatctaccgccgcctgaatcgtg
+gtatgcgttacaccttgagtgcccgccgggccgacaacaaagtcaggttgcgcaggcagg
+gtaatcggggaaggattccacgctgcagcacctggtgtcagggatgcaaaatagtgttga
+gcatcgaaattctgcgcttcttttgccgacagaatcgggcgagaagaggtaccaggcgcg
+gtttgatcagaaggacgttgatcgggcggggttgagctacaggcggtcagcgtcacgcca
+aaagccaatgccagcgccagacgggaaactgaaaatgtgttcacaggttgctccgggcta
+tgaaatagaaaaatgaatccgttgaagcctgcttttttatactaacttgagcgaaacggg
+aaggtaaaaagacaaaaagttgtttttaatacctttaagtgataccagatggcattgcgc
+catctggcagagtgattaactaaacatcgcagtaatcgaggcgcttgccagagagtggaa
+atgaacgttaaacccgaccatcgcgccgctggcaccttcatcgacatcaatacgttctat
+atccagcgcgtgaacggtaaaaatgtagcgatgagtttcgcctttcggcggtgctgcgcc
+atcgtacccggttttaccaaagtcggtacgcgtctgcaaaacgccgtctggcattgctac
+cagaccagagccaaacccttgcggtaatacgcgggtatcagcgggtaagttaacaactac
+ccagtgccaccagccggagccggttggcgcatccgggtcgtagcaggtgacaacaaaact
+tttcgttcccgcaggaacatcatcccacgccagatgcggtgaaatattatcgccatcgta
+acccatgccgttaaagacatgacgatgcggcaatttatcgccatcgcgcagatcgttact
+gatgagtttcatgaaccctcctttcttgtttgcagaaagtgtagccagaaaccctcacgc
+ggacttctcgttattggcaaaaaaatgtttcatcctgtaccgcgcggttaaccgctgcgg
+tcagacgctgcaactgttgcgggagaataatatagggcggcatcaggtaaatcagtttgc
+caaaaggccggatccagacaccctgttcgacaaagaatttttgcagcgccgccatattca
+ccggatgagtggtttcgaccacgccaatggcccccagtacgcgcacatcggcaaccattt
+cggcatcacgggcgggggcaagttgctcgcgcagctgtacttcaatatccgccacctgtt
+gctgccagtcgccagattcgagaatcgccaggctggcgtttgctgccgcgcaggccagcg
+gattgcccataaaagttggcccatgcataaagcaaccggcttcaccgttactgatggttt
+ctgcaacctcgcgcgtggtgagtgtggcggaaagggtcattgtgccgccggttaaggctt
+taccgaggcacaaaatgtccggcgcgatttctgcatgttcacaggcaaacagtttcccgg
+tacgaccaaatccagtggcgatctcgtcggcaatcagcaagataccttcgcgatcgcata
+ttttgcggattcgttttaaccattccggatggtacatgcgcatcccgcctgcgccctgga
+caatcggctcaatgatcaccgccgcgatttcatgacgatgcgccgccatcaggcgggcaa
+agcccaccatatcgcgctcatcccattcgccatccatgcggctttgcggggcgggagcaa
+acaggttttctggcaggtagcctttccacagactgtgcattgagttatccggatcgcaca
+ccgacatcgcgccaaaggtatcgccatgataaccattgcggaaggtcagaaaacgctggc
+gcgcttcgcctttggcttgccagtactgcaacgccattttcatcgccacttccaccgcta
+cggaaccggagtccgcgagaaaaacgcactccagcggttgcggcgtcatcgccaccagtt
+tgcggcacagctcaatggctggcgcatgggtgataccgccaaacatcacatgcgacatgg
+catcaatttgcgacttcatcgccgcattaagctgcgggtgattgtagccgtggatcgccg
+cccaccaggacgacataccgtcaaccaggcgtctgccgtcagacaaaatcagctcgcaac
+cttcggcgctcaccaccggataaaccggcagaggggaggtcatggatgtgtatgggtgcc
+agatatggcgttggtcaaaggcaagatcgtccgttgtcataatcgacttgtaaaccaaat
+tgaaaagatttaggtttacaagtctacaccgaattaacaacaaaaaacacgttttggaga
+agccccatggctcaccgcccacgctggacattgtcgcaagtcacagaattatttgaaaaa
+ccgttgctggatctgctgtttgaagcgcagcaggtgcatcgccagcatttcgatcctcgt
+caggtgcaggtcagcacgttgctgtcgattaagaccggagcttgtccggaagattgcaaa
+tactgcccgcaaagctcgcgctacaaaaccgggctggaagccgagcggttgatggaagtt
+gaacaggtgctggagtcggcgcgcaaagcgaaagcggcaggatcgacgcgcttctgtatg
+ggcgcggcgtggaagaatccccacgaacgcgatatgccgtacctggaacaaatggtgcag
+ggggtaaaagcgatggggctggaggcgtgtatgacgctgggcacgttgagtgaatctcag
+gcgcagcgcctcgcgaacgccgggctggattactacaaccacaacctggacacctcgccg
+gagttttacggcaatatcatcaccacacgcacttatcaggaacgcctcgatacgctggaa
+aaagtgcgcgatgccgggatcaaagtctgttctggcggcattgtgggcttaggcgaaacg
+gtaaaagatcgcgccggattattgctgcaactggcaaacctgccgacgccgccggaaagc
+gtgccaatcaacatgctggtgaaggtgaaaggcacgccgcttgccgataacgatgatgtc
+gatgcctttgattttattcgcaccattgcggtcgcgcggatcatgatgccaacctcttac
+gtgcgcctttctgccggacgcgagcagatgaacgaacagactcaggcgatgtgctttatg
+gcaggcgcaaactcgattttctacggttgcaaactgctgaccacgccgaatccggaagaa
+gataaagacctgcaactgttccgcaaactggggctaaatccgcagcaaactgccgtgctg
+gcaggggataacgaacaacagcaacgtcttgaacaggcgctgatgaccccggacaccgac
+gaatattacaacgcggcagcattatgagctggcaggagaaaatcaacgcggcgctcgatg
+cgcggcgtgctgccgatgccctgcgtcgccgttatccggtggcgcaaggagccggacgct
+ggctggtggcggatgatcgccagtatctgaacttttccagtaacgattatttaggtttaa
+gccatcatccgcaaattatccgtgcctggcagcagggggcggagcaatttggcatcggta
+gcggcggctccggtcacgtcagcggttatagcgtggtgcatcaggcactggaagaagagc
+tggccgagtggcttggctattcgcgggcactgctgtttatctctggtttcgccgctaatc
+aggcagttattgccgcgatgatggcgaaagaggaccgtattgctgccgaccggcttagcc
+atgcctcattgctggaagctgccagtttaagcccgtcgcagcttcgccgttttgctcata
+acgatgtcactcatttggcgcgattgcttgcttccccctgtccggggcagcaaatggtgg
+tgacagaaggcgtgttcagcatggacggcgatagtgcgccactggcggaaatccagcagg
+taacgcaacagcacaatggctggttgatggtcgatgatgcccacggcacgggcgttatcg
+gggagcaggggcgcggcagctgctggctgcaaaaggtaaaaccagaattgctggtagtga
+cttttggcaaaggatttggcgtcagcggggcagcggtgctttgctccagtacggtggcgg
+attatctgctgcaattcgcccgccaccttatctacagcaccagtatgccgcccgctcagg
+cgcaggcattacgtgcgtcgctggcggtcattcgcagtgatgagggtgatgcacggcgcg
+aaaaactggcggcactcattacgcgttttcgtgccggagtacaggatttgccgtttacgc
+ttgctgattcatgcagcgccatccagccattgattgtcggtgataacagccgtgcgttac
+aactggcagaaaaactgcgtcagcaaggctgctgggtcacggcgattcgcccgccaaccg
+tacccgctggtactgcgcgactgcgcttaacgctaaccgctgcgcatgaaatgcaggata
+tcgaccgtctgctggaggtgctgcatggcaacggttaataaacaagccattgcagcggca
+tttggtcgggcagccgcacactatgagcaacatgcagatctacagcgccagagtgctgac
+gccttactggcaatgcttccacagcgtaaatacacccacgtactggacgcgggttgtgga
+cctggctggatgagccgccactggcgggaacgtcacgcgcaggtgacggccttagatctc
+tcgccgccaatgcttgttcaggcacgccagaaggatgccgcagaccattatctggcggga
+gatatcgaatccctgccgttagcgactgcgacgttcgatcttgcatggagcaatctcgca
+gtgcagtggtgcggtaatttatccacggcactccgcgagctgtatcgggtggtgcgcccc
+aaaggcgtggtcgcgtttaccacgctggtgcagggatcgttacccgaactgcatcaggcg
+tggcaggcggtggacgagcgtccgcatgctaatcgctttttaccgccagatgaaatcgaa
+cagtcgctgaacggcgtgcattatcaacatcatattcagcccatcacgctgtggtttgat
+gatgcgctcagtgccatgcgttcgctgaaaggcatcggtgccacgcatcttcatgaaggg
+cgcgacccgcgaatattaacgcgttcgcagttgcagcgattgcaactggcctggccgcaa
+cagcaggggcgatatcctctgacgtatcatctttttttgggagtgattgctcgtgagtaa
+acgttattttgtcaccggaacggataccgaagtggggaaaactgtcgccagttgtgcact
+tttacaagccgcaaaggcagcaggctaccggacggcaggttataaaccggtcgcctctgg
+cagcgaaaagaccccggaaggtttacgcaatagcgacgcgctggcgttacagcgcaacag
+cagcctgcagctggattacgcaacagtaaatccttacaccttcgcagaacccacttcgcc
+gcacatcatcagcgcgcaagagggcagaccgatagaatcattggtaatgagcgccggatt
+acgcgcgcttgaacaacaggctgactgggtgttagtggaaggtgctggcggctggtttac
+gccgctttctgacactttcacttttgcagattgggtaacacaggaacaactgccggtgat
+actggtagttggtgtgaaactcggctgtattaatcacgcgatgttgactgcacaggtaat
+acaacacgccggactgactctggcgggttgggtggcgaacgatgttacgcctccgggaaa
+acgtcacgctgaatatatgaccacgctcacccgcatgattcccgcgccgctgctgggaga
+gatcccctggcttgcagaaaatccagaaaatgcggcaaccggaaagtacataaaccttgc
+cttgttgtagccattctgtatttggttaaattgcgagcgagatcgcgtcttcgattgact
+gcaatttaaccaattaaattctaaaataatcacgaaaaaaattttacttccgcctcatgc
+ggcgaatgtgggaattgcccaggcggcgggggataggggctggagacagttatccactat
+tcctgtggataaccatgtgtattagagttagaaaacacgaggcaagcgagagaatacgcg
+gcttgcacgcgaattggcgttaaagacggctcaaagaaatatcttttattttttaactgg
+ttagataaatgcaatggcagtcactgaacaggcatctcttgccataaaactgtcatcact
+catcttgacaaatgttaaaaaagccgttgctttggggataacccggtaaggccggagttt
+tatctcgccacagagtaaattttgctcatgattgacagcggagtttacgctgtatcagaa
+atattatggtgatgaactgtttttttatccagtataatttgttggcataattaagtacga
+cgagtaaaattacatacctgcccgcccaactccttcaggtagcgactcatgagtaaaccg
+ttcaaactgaattccgcttttaaaccttctggcgatcagccagaggcgattcgacgtctc
+gaagaggggctggaagatggcctggcgcaccagacgttacttggcgtgactggctcaggg
+aaaaccttcaccattgccaatgtcattgctgaccttcagcgcccaaccatggtacttgcg
+cccaacaaaacgctggcggcccagctgtatggcgaaatgaaagagttcttcccggaaaac
+gcggtggaatatttcgtttcctactacgactactatcagccggaagcctatgtaccgagt
+tccgacactttcattgagaaagatgcctcggttaacgaacatattgagcagatgcgtttg
+tccgccaccaaagcgatgctggagcggcgtgatgtggttgtggtggcgtctgtttccgcg
+atttatggtctgggcgatcctgatttatatctcaagatgatgctccatctcacggtcggt
+atgattatcgatcagcgcgcgattctgcgccgactggcggagctgcaatacgctcgtaat
+gatcaagcattccagcgtggtactttccgcgttcgtggcgaggtgatagatatcttcccg
+gcagaatcggatgacattgcacttcgcgtggaactgtttgacgaggaagtggaacgattg
+tcgttatttgacccgctgaccgggcagattgtttccactattccacgttttaccatctac
+ccgaaaacgcactacgtcacaccgcgcgagcgcatcgtacaggcgatggaggagatcaaa
+gaagagctggccgccagacgcaaagtgctgttggaaaacaacaaactgctggaagagcag
+cggctgacccagcgtacccagtttgatctggagatgatgaacgagctgggctactgttcg
+gggattgaaaactactcgcgcttcctctccggtcgtggaccgggtgagccaccgccgacg
+ctgtttgattacctgcctgccgatgggctgctggtcgtcgatgaatctcacgtcaccatt
+ccacaaattggcggcatgtatcgcggtgaccgggcgcgtaaagagacactggtggagtac
+ggcttccgcctgccatcagcgctggataaccgtccgcttaagtttgaagagttcgaagca
+ttagcgccgcaaaccatctatgtttcggcgacgccgggtaattacgagctggaaaaatcc
+ggcggcgatgtggtggatcaggtggtgcgtccaaccggattgcttgacccgattatcgaa
+gtgcggccggtggcgacacaggttgatgatcttctttcggagattcgtcagcgagcggca
+attaacgaacgcgtactggtcaccacactgaccaagcggatggcggaagatcttaccgaa
+tatctcgaagaacatggcgagcgcgtgcgttatcttcactcagatatcgacaccgtcgaa
+cgtatggagattatccgcgacttgcgtctgggtgagttcgacgtgctggtagggatcaac
+ttactgcgcgaaggtctggatatgccggaagtgtcgctggtggcgatcctcgacgctgac
+aaagaaggcttcctgcgttccgaacgttcgttgatccagaccattggtcgtgcggcacgt
+aacgttaacggtaaagcgattctctacggcgataagatcaccccatcaatggcgaaagcg
+attggcgaaaccgaacgtcgccgtgagaaacagcagaagtacaacgaggaacacggaatt
+acgccgcaaggcttgaacaagaaagtggtcgatatcctggcgctggggcagaacattgcc
+aaaaccaaagcgaagggcagaggaaaatcgcgcccgattgttgagccggataatgtgccg
+atggatatgtcgcctaaagcgttgcagcagaaaatccatgagctggaagggttgatgatg
+caacacgcgcagaatctggagttcgaagaagcggcgcaaattcgtgaccagttgcatcag
+ctgcgtgagctgtttatcgcggcatcgtaacaggatagcgaagaagactgatgacaaacg
+gaaaacagcctgatgcgctacgcttatcaggcctacattttctccgcaatatattgaatt
+tgcgcggtttgtaggccggataaggcgttcacgccgcatccggcataaacaacgcgcact
+ttgtcttcaataggaagccggaattttccttcggatttccgttaacctaaagcctgtaac
+gccttttccagcgcgttatgtaacaactggcggtcatgacgatacggaatatcgctggcc
+tccagtacctcctggatcacaatccgctctttcaccgccgagacatccacttttggcccg
+acgatgaccgcatcaatgacctttttaccaacatactgctccataattgccagcttgctt
+tccagcttcaaattagccgcaggtaaactcaactcacgccccagattgccgatataaacc
+atcggcgctggcgtgcggcgtaatgcctgggcgatttccttcagcagcagaattggcatc
+aggctggtataaaaactgccaggcccaataatgatgagatccgcttcattgatagcgtga
+accgcctcacgcgttgcgggtacattaggcgttaacaataactcttgaatcggcgtagtt
+aactggtcgatattgacctcgccgtaaacttcatgcccctgatcgtcaatcgccatcaga
+tcaacaggatgctctgacattggaatcaaatgcgtatccactttcagcagattacgaatt
+aaattgatggcttccagaggccgcacgctaaggtgatccagcgcctttaacatcaagttt
+ccgagattatgaccggaaagttcgccattgccaccaaaacggtattcaaacatcgcggag
+gcgacgctcggttccgttatcagctggttgaggcagttgcgcatatcgccccaggcaatg
+ccgccttctgaacggcgaatacgccccgtcgagccaccattatcggtggtggtgacgata
+cccgttaaacgagaacccaaagacgaaagtgatgagagaacgcgtcccagtccatgccct
+ccgccgagagcaacgacacgatcaagatcagccagcgtacgattgcgcatatagtttcct
+ggagtcagattatccgcgctacagtagcgcaaattgcggggaaacagcaattaacctgcc
+aatattgaggatacaaactattttcttctacctctaaaggacgatgcacgctatgcctcc
+ctgatgatgtatatcaaagtaaaaccgccattttcccttattctgtagcgaaatagcacg
+atcatgacgctatatacatgattacatagcgaaagtgtggatggtaaaaatctcatttac
+acgctagtatcggcataaccactaaacactctagcctctgcacctgggtcaactgatacg
+gtgctttggccgtgacaatgctcgtaaagattgccaccagggcgaaggaagaaatgactt
+cgcctcccgtatctggaaaggtgtacatggcttcacaactgactgatgcatttgcgcgta
+agttttactacttgcgcctgtcgattaccgatgtgtgtaactttcgttgcacctactgcc
+tgccggatggctacaaaccgagcggcgtcaccaataaaggctttcttaccgtcgatgaaa
+ttcgccgggttacgcgcgccttcgccagactgggcaccgaaaaagtgcgcctgacaggag
+gagagccgtctttacgccgcgactttaccgatatcatcgccgctgtgcgggaaaacgacg
+ctatccgccagattgcggtcacaaccaatggttaccgtctggaacgcgatgtggcgagct
+ggcgcgatgcgggacttactggcattaacgtcagtgtcgacagtctggacgcccgccagt
+ttcacgctattaccgggcaggataaattcaaccaggtcatggcagggattgatgctgcat
+ttgaggccggttttgagaaggtcaaagtcaataccgtgctgatgcgtgatgttaatcatc
+accagctcgacacctttctgaactggatccagcatcgccctatccagctgcgtttcatcg
+aactgatggaaacgggcgagggcagcgagctcttccgtaagcatcacatctctggtcagg
+ttctgcgtgacgagctactgcgtcgcggctggatccaccaattacgtcaacgcagcgacg
+gtcccgcgcaagtcttttgccatccagattacgccggagagattggccttatcatgccgt
+atgaaaaagacttctgcgccacttgcaaccgcctgcgcgtttcctccattggtaaactcc
+atctctgcctgtttggtgaaggcggcgttaacctgcgcgatctgctggaagacgataccc
+agcaacaggcgctggaagcgcgtatttcagcggcgctgcgggagaagaaacagacccatt
+tcctgcatcaaaacaacaccggtattacgcaaaacttatcgtacattggcggctaaaacg
+tcaaaaggagagatcagatgagtcaggtaagcactgaatttatcccgacccgtattgcta
+ttcttacggtttctaatcgtcgcggtgaagaagacgatacctccggtcactatctgcgcg
+attcggcgcaagaagcgggccatcacgttgtcgataaagccattgtgaaagaaaaccgct
+acgctattcgcgctcaggtatctgcgtggatcgccagcgacgatgtacaagtggtattga
+ttacgggtggtactggcctgacggaaggtgatcaggctcccgaagcattgctgccgttgt
+tcgaccgtgaagttgaaggttttggtgaagtgttccggatgttgtcgtttgaagagattg
+gcacttccacgttgcaatctcgtgcggtagcgggcgtcgccaacaaaacgctgattttcg
+ccatgccgggttcgaccaaagcgtgccgtaccgcatgggaaaatatcatcgcgccgcagc
+tggatgcccgtacgcgtccgtgtaatttccatccacatttgaagaaataagtatgtcgca
+actgacccatatcaacgccgctggcgaagcgcacatggtggatgtctccgccaaagcgga
+aaccgtgcgtgaagcgcgggcggaagcctttgtcaccatgcgcagcgagacgctggcgat
+gattattgatggtcgccaccacaaaggcgacgtatttgccactgcgcgtattgccggtat
+tcaggcggcaaaacgcacctgggatctgatcccgctctgtcatccgctgatgctcagcaa
+agttgaagtcaatttacaggccgagccggagcacaatcgggtgcgtatagaaaccttatg
+ccgcctgaccgggaaaaccggtgtcgaaatggaagcattaaccgcggcctccgtggcggc
+gctgaccatttatgacatgtgcaaagcggtgcaaaaagatatggtgattggtccggtacg
+tttgctggcgaagagcggcggcaagtcgggtgactttaaggtggaagcggatgattaaag
+ttctttttttcgcccaggtgcgcgagttggtgggaacagatgcaaccgaagtggctgcgg
+atttcccaactgttgaagcgttacgccagcacatggctgcgcagagcgatcgctgggcgc
+tggcgctggaagatggcaaattactggctgccgtcaaccagacgctggtgagttttgacc
+atccgctgactgacggcgacgaagtagctttcttcccgccggtaaccggaggttaagatg
+gcagaaaccaaaattgttgttggtccgcagccgttcagcgtaggagaagagtacccgtgg
+ctggcggagcgtgacgaagacggtgcggtagtcacctttactggtaaggtgcgcaaccat
+aacctgggcgacagcgtcaacgcattaaccctcgaacactatccggggatgactgaaaaa
+gcactggcagaaattgttgatgaagcgcgtaaccgctggccgctggggcgcgtcactgtg
+attcaccgcatcggggaattatggccgggcgatgaaatcgtttttgtcggtgtcaccagt
+gcgcatcgcagcagtgcgtttgaagccgggcagtttattatggattatctcaaaacccgc
+gcaccgttctggaagcgcgaagccacgccggaaggcgaccgctgggttgaagctcgggag
+agcgatcagcaggcggcaaaacgctggtagttttttgttagccggataaggcaccgctgc
+gtccggcaatttcaccgctcagtacatacgtttacgctgcgtcgatgcacagcctcatca
+ttttgcagtatccttaagatattccttatatcttcaggagatcgtcatggacagattccc
+acgttctgattcaatcgtacaaccccgggctggcttgcaaacttatatggctcaagtcta
+tggctggatgaccgttggcttgttgctgaccgcatttgttgcctggtatgcggctaattc
+cgcggccgtgatggagctgttgttcactaaccgtgtctttttaatcggtctgatcatcgc
+gcaattagcattggttattgtgttatcagcgatgattcaaaagctgagcgcaggtgtaac
+gacgatgctctttatgctttattcggcgctgacgggtcttacgctttccagtatattcat
+tgtctataccgctgcttctatcgccagtactttcgtcgttactgccgggatgttcggcgc
+aatgagcctgtacggttacaccacgaagcgcgatttaagtggctttggcaatatgctgtt
+tatggcgttaatcggcattgtgctggcatcgctggtcaacttctggttgaaaagcgaagc
+attgatgtgggcagttacctacatcggcgtgattgtctttgtcggattgacggcgtatga
+cacgcagaaactgaaaaatatgggtgagcagattgatacccgcgacacgtcgaacctgcg
+caaatattccattcttggcgcgttaaccttgtatctggacttcatcaacctgttcctgat
+gttgttgcggatcttcggcaaccgccgttaattctttttcaccatcactatcccggccat
+gtgtcgggatttttttcttactaaaaacgacacttaacaagtaccaggtataaaatatgc
+cttatggacgagcggaagcgttttctgtatccataaatgcaaaagtattttgtatgcgtg
+gttttaaatttattgatggtgaatattaatattttttctaaggataactaaaagaatgga
+atcatactcgcaaaacagcaataaattagattttcagcacgaggccaggatattaaacgg
+tatatggctcattaccgctttaggtttggtggcaaccgcaggactagcctggggagctaa
+gtatatcgaaattacggcaaccaaatatgattcaccaccaatgtatgtcgccatagggtt
+attattactttgtatgtatggcttaagtaaggatatcaacaagataaatgccgccatcgc
+gggcgtaatatatctgtttttactctctttggtggcgattgtcgttgcaagtttagttcc
+tgtatatgccattatcatcgtgttcagcactgcgggcgcgatgtttttaatcagtatgct
+ggccggtttattatttaatgttgatcctggttctcaccgttttatcattatgatgacgtt
+gacagggttggccctggtaatcatcgtgaatgcggcattaatgagtgaacggcccatttg
+gataataagttgcttaatgattgtgttatggtcaggcattatctcgcatggacgaaataa
+gctccttgaattggcggggaaatgccatagtgaagagttgtggagtccggttcgttgcgc
+ttttacaggtgcattaacactctattactattttatcggcttctttgggatacttgccgc
+gatagctataacgcttgtctggcaaaggcatacgcgtttttttcattagccgtaaatgca
+catactaaagaacttaactaaacttcacatcgccgcttcatttttcgcccgtagcttctt
+cgcctggctttccagcaacaggtaacagatcagcgccagcagcagtgggataaagtaata
+cagcacacggtaagcgagtagggcggcgataattgtacctttggaggtatgctccccagc
+cagtagtgcgataaacaccgcttccagcacaccgatccccgccggaatatgcacgatgac
+gccagcaatactactaaccagtaacacgcccagtacaaagaaatagttcacgctttgacc
+aagtaacagccagataatcgcccccattaccatccagttaacgctggaaatcagcatctg
+agcgagggcgaatttccatgaaggcagcaccagcttttgccctttgatggtcatatggcg
+gtgcttcgcgaaagcgcaaaaccacaaataaaccgcgataatcatcagtaagccaatgcc
+gagaatacgcagcgtagtttgatcgacataccagtgatccggcaactccaccacgcctgc
+ggtaaagataatccctgccagtaaaatgtagcccagccagttggtggtaatactgagcga
+gaaaatccgcgtaatagtgctaccgggcaaccccagacgagagtacaaacgatagcgcat
+accaatgccgccgacccaggtactgagcgtcaggttgaaggcgtagcagataaacgacac
+cagcatcacctggcgcttcgccagtttgtgaccgcagtaaaagcgggcgagcaggtcata
+gcagccgtaaatcagatagctgacgaccaccagcccgaccgcactaagcagcgcaacgcg
+attgtagtcgcggatgaccttccagacctcttcccagtccacttttttggcgtagaccac
+cagcaacacaatcaccgcgataaaaaacagccaggtgaggatcttctttgctaagcgcca
+gcgcgggtgtgatttactcatcagggttttacccccgtgttttcagtttctacccgatcc
+tgcgtttccattgtcggttgtgcgggcggatcaacctgcgccagacgtggcgtgtgtgcc
+ggaagccagccaaccagcgccgggaagtggcgtaaaaagtggaacgccagcacgcttttg
+gtcaggttccaccaggtgcgtttgggcagcatggtttcatccacctgctgacaatctgcg
+gcaataatgccgttcagattatcgcgcagcgtctggttaaaatgacgatcgtggatgatg
+acatttgcttcgagattcagtgacaaactgagcggatcgagattactggaccctactgtc
+gcccagtgatcgtccatcaatgccactttgccgtggagcgggcggcggcggtactcaaaa
+acctgaacgccgcctttaaccagatagttatacagcaagcgcgcaccgactctgacaatc
+ggcatatccggttcgccctgaatgatcagtttgatccgcaccccgcgccgtgccgcttta
+cgcaaggcgtgtaaaaatcgatagccggggaagaagtaggcgttggcgataatcacttcc
+cgccgcgcctgagtgagcattttcaaataatggcgttcaatatcatcgcgatgttcttcg
+ttatcgcgccagaccagcaatacctgcgcttctcccggctggcggttctcttccgctttg
+tgatgacgtcgccaccagcgtcgtgccgcgctctgtccaggcaggttttccagctcaaac
+tggagaatatcttcgacaatcggcccttcaaggcgtaccgcgtaatcctgtttagcctct
+ggaccgtagctggacatatgctcggcggagtaattcagcccgccaataaaggctatacgc
+gcgtcgatcaccacaattttgcgatgcatccggcgaaacacattggtgcgcataccaaaa
+aggcgagggcggggatcgtagtagcggaacactacgccagctgccgtcagttcattgaca
+aactcatcgctgagatccggcgaaccgtagccatccagcaagacttccgctttaaccccg
+cgttgcgctgctgccagtagtgccgcatgcagttgtttgccgacgtcatcctcaaaccag
+ataaacgtttcaagaatgatgcgttcttgtgcctcgccaatcgccttaaacaccgcggga
+taatattgctcgccgttttccagcaactggatcttattgccttcgcgccagctacatttc
+ataaatgaatctccgcacttaaaggggcatgatcagaaaggtgtcgccatgtccgcagcg
+gcaacgcggttggcgcgctggcgctggcatttttgacgtagatcctgtccagtcgtagta
+gaggaaattgcaccggaaacgtgcgcgccgggcgtccgtgggcgcgggtaaaaatctcat
+ccagtccggcctgcacttttaacggatgattagctttttgccgccagtcattgaaatcac
+ccgccaccaataccggttcgccgtccggtagctcattcacccattcggcgagcatcgcaa
+gctgcgcctgacggtgcgcctcacgcaggcccagatgtacgcacatcacatgaatcgctt
+ttccggtcatcggcggcacaatgcggcagtagagcacgccgcgcttttccgcaccatcga
+ccgaaacatcgcgattctcataatgttcaatgggataacgcgacagtacggcgttgccgt
+gatgcccttccgggtatacggcattgcgaccgtaggcaaaatcgctccacatagtgtcgg
+cgagaaactcgtagtgcgaggtatcgggccagttttccacatgcagcggatgaacttcgt
+gcgcgcccatcacttcctgcaggcaaacaatatcggcgctgacggtacgcacggcgtcgc
+gaagttccggcaaaatgaagcgtcggttaaacgcggtaaagcctttgtgaatattgatgg
+tgagcaccttgaacgaaaattgttgtgtttgatcgggcataattttcctgtctttgcctc
+ttatctcattgaaatagtgtagtcggcgtcacaaaaaggtgcggtcttacggaattttcc
+gtaaagttcggtactctgagtaagtagagataaattcttcaggagagaagccatgaagtg
+gcaacaacgtgttcgtgtcgcaacgggtctaagttgctggcagattatgttgcatttact
+ggtagtggcgctgctggtggtgggctggatgagtaagactctggttcacgtcggcgtggg
+attatgcgcactgtattgtgtcacggtagtgatgatgctggtgtttcagcgccaccccga
+gcaacgctggcgtgaggtggcagacgtgctggaagagctgaccacgacctggtattttgg
+cgcagcgctgattgtgctgtggctgttgtcccgcgttctggaaaacaactttttgctggc
+aattgcagggctggcaatccttgccggcccggcggtagtgtctttgctggcgaaagataa
+gaagttacatcaccttacgtctaaacatcgcgtacgccgctgaccctgtcgtggccgtta
+tcaccagtagcggccacaaactattccacacaatatccagactcgcatccttcaaataaa
+tctgcttggtaatgtccgtaaagtggcgaatagggttaatccacgtcaggttttgcagcc
+ataccggcatgttttccaccggagaaacgtaaccggaaaggagaatggcgggcatcataa
+agacaaacacgccgataaacgcctgctgttgtgttgaacagagtgatgaaatcaacagac
+cgaatcccaccagcgataaaccataaatcaccatcgtaaagtagaacagcgccagcgatc
+cggcgaaggggatttgatacgcccagataccaatcgccagcacaatggtggcctggaagg
+tggcgacaattaacgccggtacggctttgccgatgaagatctgccaggtggtgagcggcg
+aaaccagtagctgatcgagcgtaccttgttcacgttcgcgggcgacggaaagtgaagtga
+cgatcattacgccgatagtggtgatcatggcgatcagtgacggcaccacaaaccatttgt
+agtcgagattcgggttataccagttgcgtaccaccagctcgctgttgttaggtttcggtt
+ttccttccagcagctcctgctgataatttttgacgatctgttgcaggtagttggcggcaa
+tttgcgcactgttggagttacgcccgtcgaggatcaactgcaaaggcgcggtctggaagg
+tatccagtttgcgcgagaagtcagccgggaaacgcaccagtagtaacgccttttgtgtgt
+cgatggttgggcggatctcctgtgggcttttcagcagcagcacatgagtaaaggcgctgg
+cgcgggcaaaacgttgggtcagctccaccgaatgctcgccgttatcttcatcgtagatgg
+cgatggtggcgttagtcacttccagcgtggcggcgaacgggaacaggatcacctgaatta
+gcacgggtaaaatcagaatcgcgcgggtttgcggttcgcgcagcaacgactgcaactctt
+tgcggattaacgtccataagcgatgaaacatgctcttctccctaatccagccgacgtttg
+gttttcagccacgtcaggccgataaacatcaccgccgaagcgatcaaaaacagcacgttt
+accaccagcaccactggaatattcccggcgaggaacaggctttgcagggtgctgacgaaa
+taacgagcgggaataatgtacgtcaccgcgcggatcaccgcgggcatactgtcgatctga
+aaaataaagccggaaagcataatcgacggcagaaaagcggcgttcagggcgacctgagcg
+gcattgaactggttgcgggtaatcgtggaaatcagcagccccatccccagggtactgagt
+aaaaacaggctggagataaaaaacagaatcagcagcgacccgcgatacggcacgccgaga
+ataaacactgacaccagcatacacagcaacatcgccagcatcccgagaaagtaataaggg
+atcagcttacacagcagcagttccgtgcgggtaatctccgtagagagcagagcctccatg
+gtgccgcgttcccattctcgcgccaccaccagcgaggtgagaatcgcgccgatgaccgtc
+atgataatggtcaccgcaccggggataatgaagtgctggctaatcgccgccgggttaaac
+cagtagcgggtttgtacatcaataagcggttcaaaagtctgcccgttgtcctccgctcgc
+tgcatttgccagatctgccagatcccttcgacatacccctgtacaaagttagcggtattc
+ggctcactgccgtcggtgatcacctgaatcggtgcggtggcgttggcgcgctccatctgt
+tccgcaaaatccaccggaataaccaccagaccgcgaattttccccgcctgcattttggcg
+atcagttcctgacggttatcgctgatggtggcgtcgatgtagggcgaaccggtcatggtg
+tgggtgaaatccagcgccgcttcgctacgctgttccagtaaaatcccgacccgcagcttg
+ctggagtcgaggttaatgccgtaaccaaaaataaacagcagtagcagcgggatcactacc
+gcaatcagccagctactcggatcgcgaacgatctgccgcgtctctttaacgcacagcgcc
+cgtacgcgacgccaggacaggatcgggttactcattgctatgctccttatcccagtcgtg
+gatcaactgaataaaggcttgctccatggtgggatcgggttgctcatcgttagccgactg
+tgctttcaaatcgtccggcgtgccgctggcgattaatttcccgcggtacaccaggccgat
+gcggtcgcaatattccgcttcatccataaagtgggtggtgaccatcaccgtgacgccttt
+ctctaccatgctgttgatgtgcagccaaaattcacggcgggtgagggggtcaacgccgga
+agtcggttcgtcgagaaacagaatgtccggttcatgcatcagcgaacaggccagcgccag
+ccgctgtttaaaacctaatggcagttcatcggtggcgtgggaggcgatacttttcaggcc
+gaacgcctcgctcatgcgggagattttttcgttctgcgcccgaccgcgtaagccatacac
+accagagaaaaagcgtaaattctgttcgaccgtcaggttaccgtagagcgaaaatttttg
+cgccatatagccgagatgctggcgcgctttaccggaactctctttcagatccatccccag
+caccagcgcctggccggaagtcggcaccagcaaaccgcacatcatcttaaaggtggtcga
+tttacccgcgccgtttggccccagcaaaccaaaaatctccccacgtttaacggcaaagtt
+gacgtgatcggtggcggcaaaatccccaaatttcttggtcagttctttcgcttcgatcac
+cgtctcgccgggtgtgccttctaccgtatgtaatattgcgcccagcggcgattccgaggt
+tccggcaccgcccagcaaatcaataaacgcatcttcaaaacgcggcgtagtttcgttgat
+gttgatttccggcatcccgtcggcatggcgaatatcgtctggtgtggcctcttttttgag
+gatcagacgtaccgatttcccctgaatcatgccgtcgctgacctgcggcagtttcaaggc
+gcgttgcaacagtttgcggttgccctcgtgtggactggtcatcagaaagctgcgtccggc
+catggtttgtgtcagggcttttggttctccctgatacagcaactcgccttcgttcatcag
+taacacgtcacggcactgctcggcttcgtcgagatacgaggtactccagaggattaacat
+cccttcgcccgccagctcatgcaccatctgccacagttcgcgccgtgagatagggtcaac
+gccgacgccgggttcatcgagcagcaacactttcggttcgcccaccagggtacaggccag
+accgagtttttgtttcatcccaccggagagcttgcccgccaggcgtccggtaaacggccc
+aagagacgtaaactccagcaggcgagcaaaagtttgcttacgtgcctcgccggtgacgct
+gcgcaaatccgcgtacagattgaggttctccatcaccgtgagatcttcatacagaccaaa
+tttctgcggcatataaccgagcacggcgtgcagcgcgccgtcgtttttgatcggatcaaa
+gccaatcaccgtggcactgccgctgtcgggtttcagtaatcccgccaacatccgcatcag
+cgtggttttacctgcaccgtccggccccaccaaccccgtcacataaccggcgtgaatggt
+acaatcgagcggcgcgacggcgggcttgtccatgcccggaaagcgtttttccaggccgtt
+cagcgtgataacggcatcattcatgtcctgcctcgtcaccgaattgtaccgtcactggca
+ttccctggcgtaacgcatcatcggcgtcggtcaccacaatacgcaggcgatagacgaggt
+cggtacgcagatccggcgtttcgacggttttcggggtaaattcagcagtcggcgaaacga
+aaccaatctgcccgtgatacggcttgtccgggcgaccatcggtataaagcagcactttgc
+gccccggctgggcctggtcaagattacgttcatcaacataagcgcgcacccacaccggac
+gcgttagtgaaacggtaaacaccgtgccaccttcattgaggaccgtgcctggctccaccg
+cgcgcgttaacagcgtgccatcagacggggctatcaacgttgagtcctgtaaattcaact
+ccgcctgcgccagttgcgcctgcgcctgttcgaggctggctttcgcctgagcgatgtcct
+gttcacggttaccggaacggtactgacgcaatttatcctgtgctgatttcagcgttgcct
+gcgcctggtcgcgcgaggagcgggcattttccaggtcatttgccgaaatagtgcggcttt
+tccacaacccttgctggcggttatagaagttctgcgcatagtcataggcggcttgcgcct
+gtttcaccgctgcggcggcctgagcgatttcttcattgcgatacccggcaagcatcaggt
+catactgcgcctgtgccaccgaaacacccgctttcgcctgcatcagggcaatctcatacg
+gcttgtgatccagttcgcccagcacctggcccgctttgatagcatcaccttcgtccaccg
+ccagcgattcaacgcgccccccaacacggaaactaagatttaccgtacgaatatccacgt
+tgccatacagcgtcaggccgttatcctggcggctttgataccaccagtagcctccggcaa
+ccacggcggcaagtaccactaccgccaatccgatcacgacaggttttttcatcactacaa
+actcctttgcgataatccttgcaaaatcaggtcgatatgacaggtcaccgtctggttgat
+cagttcggtcttttcttcatcgaacgcggtccagccggtacgtaacagaattgtttcttt
+gccaagacggaacgccagaatctcaccaatcaacgcatgggtatgaaggatcatgcgggt
+gtcattggcgtcgcagccggtccaggcggcaatcaggcgtgtcaggtggctgtgtagcgg
+actaatcacctgttcgtgcaccaggtggtaggctgccgtgggagagagctgctcacggga
+gataaacttgctgaggttgacggtgtcatcctgggtgagcagcttaatcatgttcctgca
+ggcgcgaaggatcagttcacggatggcagcccgatcaggctgtggttgcgcgaacaagcg
+ttcggcttcctcggcatgcggacggaactgctcgccaataaaatcggcaatccactgggc
+gcaggcgaggtacaaatcttctttcgaaccgaagtagtaggtgatggcagcgatattctg
+cccggcctgggcggctatctcgcgagtggtggcgttcattccatattcaccaaactgcgc
+cagtgcggcagcaatcagctgttttttcgcctgttcacccttgattgtcatggcaggatt
+attcatcgcacagtccattcttaatcaaatgattgattaagattatgactccatagggga
+gttgtccagtatggctaagaattttagcaacgccagtcacagggataatttatgcgctgc
+gtcacaaaaactgctacactccgctccctcatgacattgtggtttttgtcattttccttt
+tcagtatctccctgaaaactacaccggtaacggtcggggcggttcggagtagttatgtct
+ttcgattctttgggtttaagccctgatatcctgcgcgccgttgccgagcagggttaccgt
+gaacccacccctattcagcagcaggcgatccctgcggtgctggaaggccgcgacctgatg
+gctagcgcccagaccggcaccggcaaaacagcgggctttacgctgccgctgttgcaacac
+ctgatcactcgccagccgcacgccaaagggcgtcgtccggtacgtgcgctcattcttacc
+ccgacccgtgaactggcggcgcagattggcgaaaacgtccgtgattacagcaaatacctg
+aacattcgttcgctggtggtgtttggtggtgtgagtattaacccgcagatgatgaaactg
+cgtggcggcgttgatgtgctggtggcaaccccgggacgtttgctggacctggaacatcag
+aatgcagtgaagctggatcaggttgaaatcctcgtcctcgatgaagctgaccgcatgctc
+gacatgggctttatccacgatatccgtcgcgtgttaacaaaactacctgcgaagcgccag
+aacctgttattctccgcgaccttctctgacgatattaaagccctggcggaaaaactgttg
+cacaacccgctggaaatcgaagtggcacgccgcaataccgcgtctgatcaggtgacccag
+cacgttcactttgtcgataagaaacgcaaacgcgaattgctgtcgcacatgattgggaaa
+gggaactggcagcaggtgctggtgtttacccgtaccaaacacggcgctaaccatctggct
+gaacagctcaataaagatggcatccgtagtgcggcgatccacggcaataaatcgcaaggt
+gcgcgtactcgtgcgctggctgattttaaatcgggcgatattcgtgtactggtggcaact
+gacatcgctgcgcgcggcctggatattgaagagctgccgcacgtcgtcaactatgaactg
+ccaaacgtacctgaagattatgtccaccgtatcgggcgtaccggtcgtgcggctgctacc
+ggtgaagcgttgtcgctggtgtgtgttgatgaacacaaactgctgcgtgatatcgaaaaa
+ctgctgaaaaaagagatcccgcgcattgcgattccgggctatgagccggacccgtcaatc
+aaagccgaaccgatccagaacggtcgccagcaacgtggcggcggcggtcgtgggcaaggt
+ggtggtcgcggtcaacagcaaccacgccgtggggaaggtggcgcaaaatctgcaagcgcg
+aaacctgcagaaaaaccgtctcgccgcctcggcgatgccaaaccggcaggcgaacaacaa
+cgtcgccgccgtccgcgtaaacctgccgctgcgcagtaatcttttatgccgggctatgcc
+cggcatcaggctgatgaacaaacgcaaaactgcctgatgcgctacgcttatcaggcctac
+gtgaactctgcaatatattgaatttgcatgcttttgtaggccggataaggcgtttacgcc
+gcatccggcatttcacaacaagcacttgtcagcaatttgagaacacgggaaaaaatttat
+ctgttttaccgcccataagccaccgagacgttacttctctatagccaattgttcgcgcaa
+ctccattaaaaggtagcccagtcgattcttgcccttaccatgaccaccgtctccccagta
+agcatcgttttccgtatgctcaaccagttttgcgggcgcggttgccagcaagagcgcacg
+cagttctgcatgctgttcgaatttagcgcgaagtgcttttcgcatcacctgttctttgac
+cgactcccagtttttacgcagaggcttagaacgatcgcgccccatgcgtgcggcgaccat
+aggggaagaaacccgacggatctcttcgcggtatttttcatcaaggaatttttgtgcctg
+aaaatagtgttctgaggtaggccaggttttcccgtcaaccttgatgggccaggcggcaaa
+gttagaaaaatcaccgtagtcatcgctggtgctgtagaaatttatgatggtgtcttgcat
+gacgtgttggatcctttgtgctcgaacgggcattaaaccgcattatgttggtggttattg
+cgagccgctttccagaaacagaaaaaccattacccctgaaaaccgaaaaatgccacaata
+ttggctgtttatacagtatttcaggttttctcatggcattaaccgccgcgcttaaagcgc
+aaattgccgcctggtataaggcgcttcaggaacagatccccgactttattccccgtgcgc
+cgcagcggcagatgattgcggacgtcgccaaaacgctggccggagaagaagggcgacatc
+tggcgattgaagcccccaccggcgttgggaaaacgctctcttatttgattcccggcatcg
+ccattgcccgcgaagagcaaaaaacgctggtggtgagtaccgccaacgtggcattgcagg
+atcagatttacagcaaagatttaccgctgctgaaaaagatcattcccgatcttaaattca
+ctgccgcttttgggcgtgggcgctacgtttgtccgcgtaatctgacggcgctcgccagta
+ctgaacccacgcaacaggatctgctggcgtttcttgacgacgaactgacgccgaacaatc
+aggaagagcaaaaacgttgtgcgaagctgaagggcgatctcgatacttataaatgggatg
+gtctgcgcgatcatactgatatcgctatagatgacgatctctggcgtcgtttaagtaccg
+acaaagccagctgcctcaaccgcaattgttactactatcgtgaatgcccgttttttgtcg
+ctcgtcgggagattcaggaagcggaagtggtggtggcaaaccatgcgctggtgatggcgg
+cgatggaaagcgaagcggtattgcctgacccgaaaaatttactgctggtgctggacgaag
+gccatcacctgccggatgtggcgcgggatgcgcttgagatgagcgccgaaatcaccgcgc
+cgtggtatcggctacagctggacttgttcacgaaactggtcgctacctgcatggagcagt
+ttcgcccgaagaccatcccaccgctggcgatccctgaacgtttgaatgcgcattgtgaag
+agttgtatgagcttatcgcctcgttaaacaacattctcaatctctacatgcctgccgggc
+aggaggcagagcaccgttttgcgatgggcgaactgccagatgaagtgctggagatctgcc
+agcggctggcaaaactcaccgagatgctgcgtggcctggcggagttatttcttaacgatt
+taagtgagaaaaccggcagccatgacattgtacgtctgcatcggttgattttgcagatga
+accgcgcgttggggatgttcgaggcgcaaagcaaactctggcggctggcttcgctggcgc
+aatcttccggtgcaccggtgaccaaatgggcgacgcgggaagagcgcgaagggcagctac
+acctctggtttcactgcgtgggaatacgtgtcagcgatcagctggaaaggctgctgtggc
+gcagtattccgcacattattgtcacctccgcaaccttgcgttcgctgaacagtttttcgc
+gtttgcaggagatgagtggtctgaaagagaaagcgggcgaccgttttgtggcgctggatt
+ccccctttaaccactgcgaacagggcaaaattgttattccccggatgcgcgttgagcctt
+ccatcgacaacgaagagcagcatattgccgaaatggcggcctttttccgtaagcaggtgg
+agagcaaaaaacatctcggtatgttggtactgtttgccagcggacgggcgatgcagcgct
+ttctcgactatgtgacggatttacgtctgatgttgctggttcagggcgatcagccgcgtt
+accgtttagttgaactgcaccgcaaacgcgtcgccaacggtgagcgcagcgtgctggtgg
+gcttacagtcatttgccgaagggcttgatttgaaaggtgatctgctcagccaggtgcata
+tccacaaaatcgcttttccgcccatcgacagcccggtggtgatcaccgaaggggaatggc
+tgaaaagcctcaaccgctatccgtttgaggtgcaaagcctgccgagcgcctcgtttaacc
+tgattcagcaggttgggcgactgattcgaagccacggttgctggggcgaagtggttatct
+acgacaaacgcttgctgaccaaaaattatggcaagcgactactggatgcattaccggtat
+ttccgatagagcaaccggaagtccctgaaggtatagttaaaaagaaagaaaaaacgaaat
+ccccacgccgtcggcggcgttaatgatgtgagtcaggtaaggagtcgtaaatggactatc
+gcaaaatcattaaagagatcgggcgcgggaaaaaccacgcgcgcgatttagaccgggata
+ctgcgcgcggtctgtatgctcatatgctcaatggtgaagtccctgaccttgagttgggcg
+gcgtattgattgcgctgcgtatcaaaggagaaggggaagcagagatgctcggcttttacg
+aagccatgcaaaatcacaccatcaagctgacgccgccagcaggcaagccgatgccgattg
+tcatccccagttacaacggcgcgcgtaaacaggccaacctgacgccgttgttggcgattc
+tcctgcacaaactcggttttcctgtggtggttcacggggttagcgaagatccaacccgcg
+tgctgactgaaaccatttttgaattgatgggtattacgccaacgttgcacggcgggcagg
+cgcaggcgaagctcgacgaacatcaaccggtgtttatgccagtcggcgcgttttgcccgc
+cgctggaaaaacaactggcgatgcgctggcggatgggcgtgcgtaacagtgcacataccc
+tggcgaaactggcgacgccatttgccgaaggtgaggcgctgcgtctttccagcgtttcgc
+atccggaatacattggacgcgtcgcgaagttctttagcgatatcggcgggcgggcgctac
+taatgcatggtactgaaggtgaagtgtatgctaatccgcagcgctgcccgcagatcaatc
+tcattgaccgtgaagggatgcgggtgctgtatgaaaaacaggacactgctggtagcgagt
+tactgccacaagcaaaagatccggaaaccacggcgcagtggattgagcgttgccttgctg
+gcagcgaaccgattcccgaatcgctgaaaatccagatggcttgctgcctggtggctacgg
+gtgaagcggcaactatcagcgacggcctggcgcgcgttaatcaggcattttaattctttt
+ctcagccggatgagccatgtcatccggcttttaccccaccgcaatatgaaattcctgcat
+ctttattgaccttcccacgcccggcgtgcagcataaaaatacaacaaacacataacataa
+acaggagttaaccatggaaagtggtcatcgctttgatgctcagacgctgcacagttttat
+tcaggctgtatttcgtcagatgggtagcgaggaacaagaagcgaaattagttgccgatca
+tttaatcgcggcaaacctggcagggcatgattcacatggtattggcatgatcccaagcta
+tgtacgctcctggagtcaggggcacctgcaaattaaccatcatgccaaaaccgttaaaga
+ggcgggggcggcggtcacgctcgatggcgatcgcgcatttggtcaggtcgcggcacatga
+agcgatggcgctggggattgagaaagcgcatcagcacggtattgccgccgtggcgctaca
+taactcgcatcatatcggccgtatcggttactgggcggagcagtgtgcagcggcggggtt
+tgtctctatccactttgttagcgtggtcggtattccaatggtcgcgccgttccacggtcg
+cgacagccgctttggcaccaatccgttctgtgtggttttccctcgtaaagataatttccc
+gctgttgcttgattacgccaccagcgccattgcatttggcaaaacccgcgtcgcctggca
+taaaggcgtccccgtgccgccaggttgcctgattgacgttaacggcgtgccgacgaccaa
+tccggcggtaatgcaggagtcgccgttgggttcgctgttgacctttgccgaacataaagg
+ctacgcccttgcagcgatgtgtgaaattcttggcggggcgctttccggcggtaaaacgac
+gcatcaggaaacgttacaaaccagtcccgatgccattcttaactgcatgaccactatcat
+catcaacccggaactcttcggcgcgccggattgtaacgcgcagaccgaagcctttgccga
+gtgggtgaaagcctcgccgcatgatgatgataagccgattttgctaccgggcgagtggga
+agtgaacacgcgtcgcgaacggcagaagcaggggattccactggatgcgggaagctggca
+ggccatttgtgatgcagcgcggcagattggtatgccggaagagacgttgcaggctttctg
+tcagcagttagccagctaaaaaaaagcccgtccagtggcggacgggcaaacaagggtaac
+ataggatcaatgagggttagagcatatgcgtctgtcggcaaacagacagggaaatacttg
+tgctggacgtagcgtaaacgcctgatccgtccaacggttcggattttgtaggcctgataa
+gacgcggtagcgtcgcatcaggcatctgttgccggatgcggcgtaaacgccttatccgtc
+ctacgaattacttataaattaccgcagtaccgcttaatttattgttgttggtggcggaag
+tgatgctgtatccactggcaccggctgccgcggctttctcagccagtttcgcttccaggg
+catcgagggtggatgcgccatcggcagaaaccacgccgattttattcatgttctgtgcct
+gggatgccgttaccggttccgccgcgaacacgccaaatgacagagttgaaagagccatag
+cagcaacaacagtattgatagttttcataattaatctctcgcaggtgatttttgtataag
+tgacgttgtttcgtcgatgtgatgagtatcacgtttttttacgagagataaaatcgaaga
+gaattgaccgccttgttcaaataaattgattgatatctaacctactgataaaccatttat
+ttgttgtacttatgaacttgttttataccgcgtggcagtcacagcagcgttaaaggcacg
+gaatgacacgcaaaatacaaattatactcgctatgcatctcgccagttgtagttaacgta
+actggctgtctttcgaacctctgcgattatatcctgtataagctggtttttgtaaatctt
+tctcctgctgacaatgaatacataagcgcacgccaggaatggcttcccgacgggcctgcg
+ggatgggggcaccgcactcttcacattcatccaggctttcgccgcgcggaatttcacccc
+gagcgcgggcaatcgcatcttcaattgtactgttgatctgttcgttgacggcgtcatcgt
+tagcccaaccggatgccatatcgacctccccatatcaatacttgtacagttaagtgtagc
+taatccagggacgaactcgggcagttcaagcatcagatctccgaccattcccgcagcaga
+ttatgataaagattaagcagcgacaggatctcttcactttcgccgtagcggcttttcagc
+gactgaatattgttgtccagttcaaacagcatggcgcgctttttatcatcgcggatcatc
+gactggatccacataaatgatgccactcgtacgccgcgggttacgggtgtcacgcaatgc
+aggctgctggagggatacaacacgagatcgcctgccgggagttttacccgatgttgtccg
+aaggtgtcattaacgaccagttcgccgccgtcgtagctttgtggatcgcttaaaaacagc
+gtggcagaaaggtcagtacgcatccagccgttttgtggatggctgcgtactgcgccatcc
+acatggaaaccataggtttcattgttctgatagcgattaaacagcggcgtggaaagggta
+cgcggcaaggccgcggcaaagaataaagcatgttggttaaccgcgttcagcacctcattt
+tgcagggcggcgtataacgtgctgcgggtgtcgacctgttgattgttcttaacttgcgca
+ccttgtgcgccggtggtgacgcgtccatccacccattcggcttgttccagttgttcgcga
+aaacgagcgacgtcctgtggcgataacacgccgggaatgtggtacatcatacaatttctc
+caaaaagtggggcctgcgccccacatctgaatcagaaatgcatattggctgtgagcaaga
+aggttcttggctcgcccgggtgataacggtagccgctcttgttgattgaggcgacgtaat
+cggtatcaaacaggttgtaaacgtttagctggaagtcgagattgcgattaactcgatacc
+ccagtttggcatcggcgacccagtaaccttcggtaaacgctggcgttcccaccgcgccgt
+ctgaacctttatgcatactgccgatatagcgtgcgcccgcgccaacagagatatcgtcgg
+ttgcctgatattggctccataaggtgaaggcgtgctccggggtatacggcagcgatgagg
+aaccatcctgggcaacatctttgccgtttttgatggttgctttttgctgggtatagccgc
+caatcacctgccacgcgggagtgatattcccggccacggatatctcatagccttcgacgc
+gtttcttaccgtattgcgagtaagttccgtcatcattttgctcaacttcattttcgatat
+cagtgcggaacagcgcggcggtgagcaacagacgtttatccagaacctgccatttggtgc
+caatctcgctggtgttggctttttgcggtttaaaatcggtgcggttggcactgttaccgc
+tgccagactgcgcaagggcgaagttgttgccgcccggaggctgctgggaaacggcatagt
+taatatagacattgccgttttccgtcaggtgatacagcgccccggctttccagttcatca
+gattgcccgacttggcggtgtcgacggtggtgaccggagaaccttttgccacaccagttg
+ggcaggtgatggcaccgcgtccgctgccgccgcaggcggtggcactgtcatattcagtat
+gataattatccagacggatcccgccgttcagctcaaaatcacgggtgatttgcagcgtat
+caaaggcgtaaattgcgaaggtatccgtctgaccattggcgtttgcgccgttgcgcgtca
+ggccgccgggatgaatgctgctgtcaggatgataaatatttaccgcgggtaacgtcaccg
+gattaacgccgtagttagtctgcgtttcacgggtaaattccacgccggtactgacatcat
+gaccgatagaaccggtatagaacgtcgaggtcaggttggtctggttggtgagaattttat
+tactcacatctttggtattcgccgtgcgtgaccaggtccagctattcacatcgctggtgg
+gctgagtaatattcgacgccccgcccataatcgccgtcatcaggtaatcctgctttacgc
+gcgaccaacgggtagtattgcgaatggtggtgttatcgttgatgtcgtgctcaaaacgca
+tggtggcggtgtcggtggtcgaatcgtcgtaatcggaatccgtgccgtaaaagttatgag
+tatcaacttttccggaatgattcagggccgccgttcccgcagatggggcagaatagcccg
+gcaaaccgatggtcggaatgccgccgtctggcgtgttgtgctgggtgacatgcagataat
+taagatacaaacgattcgctgtaccaaggccaaaagcgacagaaggggcgacgccgtaac
+gctcatttttgactttgtcgcgtccggcatcgtgcgttttttcgcccattacattcaggc
+gcaccgcggtggtatcaccaatgacctgattgacgtccagcgtgccgcggcggaaccagg
+cgctgccaatactggcggaggcgtcaatgccggaatcattgcgcggctgcttgctgatca
+tattgatcgagcctgtcggtgcgctgcgcccgtagtcggtgccggacggccctttaatca
+cttcgacctgctcggtattgaaggtgtcgcgcgagacgctgccgatatcgcgaatgccat
+caatataaatactgttagaggtatcggcaccacgcatataaatggcgtcgccagtggtgg
+agttaccgttctcacccgcaaaaaacgcacccacgccggggacgtttttgagcgcgtcgg
+taaggttggttgcgccctgatctttaatcacttgttcagaaattaccgtcatcgtgcggg
+tagtatccgctaccggacgcgagaatttcggatcggcagattgttgtggcgcataaagcg
+aaggcgttgatgcttcgacaaccagcgtgtcatccgcgttagtttgcccttcggcggcga
+gtgcctgagccacaggcgtgatgccaatacaaagaccggcaaagaacgtgagcgaatgaa
+attgtctggcagggaaattgcgattgttttccattttgcaggtgactttttcttatatgt
+tgaaattttcactgccacgagaaagcctctctgcggatgcgatgccactgttaatcccgt
+gatagtgctcgtgaaagtgataataattttgataagcattatcacttggagcgattttct
+atcacccattgcgcgaaaaagaaatacatttatttacattgagttcatatttgatgtttt
+ttgattacaaaacagacgaaaactgcatccagaggcgaatgcagttacgttggtggggtt
+atttgtagatggttgcagtaccgaacatctggtcatttccgcctgcggaattaatgacat
+aacctttcgcgccttgttcgcgcgctttttctgccagtttatcctccagatcgcttaggt
+ttgatgcgccagttgccgaaacggtaccggcgggccgtagctgaccgctgtccaggttac
+tcatcggttgcgcggcataagccgtgagagagattccgctcaggacggtggcaatcagta
+gtgtgaggcactttttcataatgacatcctcataaatacaacgggtagtgcctgataagt
+gtaggtcgcctgcgcgatgcaaatgacgcaaaaaattgacagagatgtgcttattttttg
+aacgatatatttttacaaaataagacaaatcaatgacatgcataatgctgatttttatga
+tgaattgccataaaccatagccatgttaaggttttggggaatgataaacgcagccagata
+tttaccctgtcgcgttatgcgggtatcttacgccgctgcttaaaggagaatgctatgtcc
+gcccagaaaccggggttgcatccgcgcaaccgtcatcacagccgctacgatctcgccacg
+ctttgtcaggtcaatcctgaactcaggcaattcctcacgcttacacccgccggggagcaa
+agcgtagactttgccaatccgctggcggtgaaggcgctcaataaggcgttgctggcccat
+ttttacgccgtagcgaactgggatatccccgacggttttctctgcccaccagtaccgggc
+cgggcggattatattcatcaccttgccgatttactggcagaagcaagcggaacaattcca
+gcgaatgccagcattctggatatcggcgttggtgcgaactgtatttatccgctgattggc
+gtacatgaatatggctggcgttttaccggtagtgaaaccagcagccaggcgttaagcagt
+gcgcaggcgattatcagttctaatccggggcttaaccgcgccattcgtctgcgtcggcaa
+aaagagagtggggcgatttttaacggcatcatccataaaaacgagcaatacgacgcgacc
+ttgtgtaacccgccattccacgattccgccgctgcggcacgggcaggtagtgagcgtaaa
+cgccgtaacctggggctgaacaaagacgatgcactgaactttggcggccagcaacaggag
+ttgtggtgtgaaggcggtgaagtcacctttatcaaaaagatgattgaagagagcaaaggc
+ttcgcgaagcaggtgatgtggtttacatcactggtatctcgtggtgaaaacttaccgccg
+ttgtatcgtgccctgacggacgtgggcgcggtgaaggtggttaaaaaagagatggcccag
+gggcaaaagcagagtcgctttattgcctggacctttatgaacgacgagcagcgccgccgt
+tttgtcaatcgccagcgttaaagcgttggttcccccggcggtaacggttcagccggggtc
+gcgcccggagcaggcagcacctgataagtctgcactggcgcgcgaacgcccgccaggtcg
+aaatgttttttcacctggctgtcgagggcaaagcgtaccgtccactgtttgagtggcagc
+gtggtgaacgaaacacgcagtgtaaacgcggtattgcttaagccgacaatcccggcaaaa
+ttcggttcaccaataatcagcccgcgaatttcttcgttttccattaattccgctaccgca
+tctttcagtgcctgattggctttatcagcatcttcatggcgatcaacatcataatttgcc
+accaccgaaccaatgccgcggacaaagttagcaaaggtggttatcgaagaccacggaatg
+atgtgatacgccccggtatcctgtcgtacgcccacggagcgaatcgacatccgttccact
+gtgccggtcaacggcccgatagtcaccaaatctccagtgttcatgccgttttcaaactga
+ataaataccccggtgataatatctttcaccagcgtttgcgaaccaaacgagatagccaga
+cctaatgccccggcacctgccagcaatggcgcgatattgacgccgatttccgacaacaca
+atcatgatggtgatggtactgataatcaccgccagcgcgttacgaaacagcgtaagcagg
+gtacgcgtgcgggcgctgggtagcgggcggccatgaatatccgaagccagccggttttcg
+atcaaactggcgagcaccgtccagccaaccgccgagaagaaaagaatgagtgcgatacgg
+atcaggatatctacggttttctgccccgcgccgttttgcagccagttccagaaatcgaac
+aatccccatgcgctcaacagcaacattaccgccacgcagactgtcagaatacgcgccgtt
+ttcagcgccgccgacagccagccattcaaccgtttttgcagctccggatagttacgctga
+gtatgtggcgagagagtgatggttttcgccagccagcgggaaaacataccggaaacaaac
+gctgcgataccaataatcgccaggctgcgcaccgttgcacccatcataaatttcaggctg
+ttgcccggatcgaacaacgaaaagaaaaacagcacgataaaataggcgcttgccagccag
+tgccacaccagcgcaaaggcgcggataaacaggctgaaaaaggccagcgaatgctccgcg
+aagttgagcaaatgctgggtaatctcttttttattacgaaagatcaggtacaacgcccag
+acggtcatgcacagcataatgatgacgttcgccagcgcacctatctgtacattcacctga
+ttagagataatcggcacggccacaatcaggccataacctatcaaactgcttaaccagctc
+aggcgacgactccagtaacgggcgctctcgtcctgaatcgtgaacgggcgcagctccgcc
+acgtttgggcaaaaaatcaggcgtagtacggctttgaaaaattcaatgagggcaaaggcg
+ttgagaaacaaactttgttggaaagcgatggtgcgactgcctgcattcaggttgtcgctt
+aatacctggccgacaaataatgtcagggccagtaacagcaggtcgataataaacgccccg
+ataatcatcgccggaagctgcaaccagttgctgcgctcacgatttttttgccgcgcccac
+tgacccattttgcgatacagcggcagtgcgcacaggcgaatcagccagtaaaaaccaaac
+actaataccgctaacattgaaaaatgggtcagcgcattgctgaaggtttgtggattaaac
+ggcttatgcggggagccggtgatattgcgataaagttgcccgaagcgggcggaaagggct
+tcaccataatggcggctgacttcggtgaccttttgcagcacggtttgctcttcgaccagc
+gtcggcggcactatttttggtaccggttcagcagggggcgtagcggcaacggtgcgcaac
+tggtcgatcaactctttacgcgaggtgtcattatccagcacatccgccagtgcgccatag
+gccgcttttttttgttcgatatccggttccggggccggttcagtcgttgagtccgttgtc
+gttgtggttgtaacgccgggtatggataccgcgtgggcaggtgcgcccagcaggcagaag
+aggatgaacaggatccaccgcatgactcctccagtgagaaaatagagcaaaaagataagt
+atagatgctggaggaggggcgattttaaatgagaggaatctggtgtgcctccctttcggg
+tgaaagggaggaagggatattaagcaggttgctgacaacgtgcgggcttttttgccggat
+gcggcgtgaacgccttatccgtcctacaagttcatgcaattttaataagttgccagatat
+cctgtaggcctgataagcgtagcgcatcaggcaatgtgtcttattaagagacgtgctgca
+aaaattcctgcaagcgctggctcggcgggttcttgatcaacacctgcggattgccatctt
+ccgcaatccggcctttgtcgataaagatcagccgcgaagctactttctcggcaaaaccga
+tttcgtgggtcacgatcaccatcgtcatcccttcttcagccagatcctgcataaccttca
+gcacttcatggcgcagttccgggtcaagagcggaagtcggttcatcaaacagcatcattt
+tcggcttcaccgccagcgcgcgggcaatcgccacacgctgctgttgaccaccagaaagtt
+cggaagggtagtgatgtgcacgttctgccagaccgactttcgccagcagctcacgtgcca
+gtttttccgcctcttctttgttcgcgccacgcacgcgtagcgggccaaacatgacgtttt
+ccagcgctgtcagatgcgggaagaggtaaaactgctggaacaccatacctgcttcctggc
+gaatcaggcgctcgtcaactttcggatcgttaaccttcaggccatcgacaatcagatcgc
+cggaggtgatttcttccagtttgttgatgcagcgcagcagggtcgatttaccggaaccgg
+acggcccgataatcaccacgacttcgccctgggcaatgttcaaatcgatattgtgcagca
+cctgggttgggccaaagtgcttggagacgtttttaaattcaatcacaggattttcatcct
+tctttccagacgacgcagaataaagctcagcaccagggtaataatcagatagaacaccgc
+cacggcgctccagatctcaagggcgcggaagttaccggcaataatttcttgcccctgacg
+ggtcagttccgccacgccgatcacaataaacagcgaggtgtctttaatgctgatgatcca
+ctggttacccagcggcggcagcatacgacgcagtgccagcggtaaaatgacgtagcgaat
+ggtttcccaacgtgaaagaccgagcgccagtcctgcttcacgaaaacctttgtggataga
+cagcaccgcaccacgcgtgatttccgcaatatacgcgccggagttgatcatgatggtgac
+caccgccgcagtaaatgggtcgatgcgtaagtcgttaaacgccatcggcagggcgaaata
+aataaacatcacctggacgacgataggtgtgccgcggatcacttcaataaagaccagcgc
+gacgtggttggctatccaacctccgaaggtgcgtgcaaaacctgccagcaatccgattac
+cagaccgcctgccagaccgaggaccgaaatccacagggtcattttggcaccttcaatcag
+aagcggaatggcaggccagatggcactccagtcaaactgcatatgttgttcctgttaccg
+tggtgtaaataatcaaattcagggtaattaatggccccggagcgggtttgcgcccctcac
+cctaatcctctccccataggggagagggaactgccagtgcgttttacaggtgtagcgtta
+ttatttcggttcagtaccgaaccattttttgtagatttcgttgtaagttccgttctcgcg
+cagggttttcaacgcgccgttgactttgtcacgcagctcgtcgctacctttcgggaacgc
+aataccgtattgctgcgcttccagagagtcacctaccgctttgaactgaccgttaccggc
+ggttttgatgaagtacagaatgtttggcgtatcgtgcagaacggcgtctgcgcggttggt
+gcccagttccatataggcgttatcgatgttcgggaactgacgcagatctttagttttgat
+gtttgctttcgcgtaatcaacggagccagtaccgctcttcacagcaaccactttcccgtc
+gagatctttcacgcttttcacatcgttattgttagctttcaccatcactaacaggccgct
+tttgtagtagccgtcagagaaatcgatcgcttttttacgctcgtcggtgatggtaatgcc
+cgccagcgccagatcgacgtttttggtttgcagtgccggaatgatcccactgaaatccat
+cggcttcagttcgtaatccagcttcagctctttagcgatggcagcccacagatcaacgtc
+aaagcccacatatttatcgccctgtttaaattcaaacggaacgaaggcggtatccgtcgc
+gacaactaattttttatccgcggcatgagaagaaaccgcaaaagccagggtcagtgcagc
+cagtgaaacttttaatacagacttcatagcatttccttttttctatccacgggacgatcc
+cctgcgtgacattcacatatatgaaaaaatcgtgccagttttgcaactccttgatttttc
+gagatgcggcaaaaacgtgatgcacgatttatagggcaataccctgaagatgcaccattc
+tggggcaccaatctggtgcgctaaaattgtgcactcaacacagtgattatttagcgtaaa
+acctgatgaaaaaacaatctttatgtaacgattgtgtgatgatgtggatacaaaaaattt
+acttaatcagctggagatagcagatggatgcactaaataagtgcgttgaggtgggctgca
+aaacaaaacggcctcctgtcaggaagccgcttttatcgggtactaaagttctgcaccatc
+agcgatggatttattcgatgttagactcgataaaccacaggaatttatccaggtcgcgag
+acgcggcggtcaggatatctgcggtgtcgtcatctttcgcttcgccaatcgctttgcgta
+cgtcattagcgacgattgcgtaacggtcagccagttctttcaggtgatcctgaacgttgt
+ggatgtccagcgggtaacttttcagcggggttttgctgttgataacttgagtggtcccca
+gagctacaccgcccagctgcactgcacgttctgccatggtatccagatgatcgatcagtg
+cggtgcggaagccatccagcatttcatgtacggcaatgaagttagcgccgcgcatgttcc
+agtgcgcttgtttggtaatcaaagaaagatcaataaactggataacctggcgattcagca
+actctactgttgcttttttctcgctgtcggagacatcgttgcgggtataaagcagattgg
+tcgcttttgatttaactaatttagcggtactcataatttcatatcctcttgatgttatgt
+cccagtaattaacgagattaagtatagcaccggctatgtgttccgctattctggctgttc
+ctatcacactaatagtggtaacaagcgtgaaaaacaaaactaataaagattcaatgagtt
+agatatattgataagaacaattcttatttatctgctcgccaggaattttcggaataaata
+tgcttttgcataattcgatatataaagacggtgtagaggaaaagtagcgagaaattctgc
+atggttatgcataaccatgcagaaatgtaaatttaattaatgtctaattcttttattttg
+ctctctttgcgtactgtcagcgtagaccccattgaagcggcgatgatagcgccgagcgcc
+agtagctgtatgggtgtcagtgtttctccgaggaaaatcatcccggaaacggcagccagc
+gccggttccatgctcatcagcgtaccaaatgtccgtgttggcaaacgggtgagggcaatc
+atttccagcgaataaggcagagcggtcgagagaatagcgacagccagacccaatggaata
+accgaccagtgccagagtgcttcaccagcctgaagcgctccaattggcacgaaaattaac
+gctgcaatcaacgaaccaattgccaccgtcgcagggccatgttccgctcctgcgcgttgc
+ccacttaaaatgtaaatagcccaacaagccccggcccccagtgccagcgcacagccggtt
+aaatcgacatgggaaacgtcttgccccagcggtagcaggaaccacagaccaagaaccgcc
+agcacaacccagacgaaatctaccgggcgacgagaagagaacagcgccaccgccagtggt
+ccggtgaactccagcgccaccgcaatacccagcggtactgtctgaatagaaagataaaaa
+agataattcatcccacccagcgaaacgccgtaaaacaacagcggtaaccgttgctctttg
+gcaaagcgcagtcgccatggcttaaagaacgcgatgaggatcagcgttcctaatgccaga
+cgcagcgcagtgacacccggtgcgcccaccagaggaaaaagtgacttagctaacgaggct
+ccaccctgaatagacgccatggcaacgagcaatatgactattggtaaccagaccggcatt
+ttacgtaatgaaccaggcatcctttctcccacaaatatctagacttaagtaaagcgtgga
+gtgtactggatatacccaatgctggttgagcatttgttgaaaaaattttcccccgttttg
+actaaaatgcgccaggattgatggaatcattagtctggtgattaggaataatctggatga
+atgacagggaaaacatgcgtaatacttacgcagttctctgaaaaagtgatttaaatttag
+atggatagcggtgtatggaaacgttctgttacatgaaatggcccgttagacatcacaaat
+cgcgaagagtttcccattaatttttgatatatttaaaacttaggacttatttgaatcaca
+tttgaggtggttatgaaaaaaattgcatgtctttcagcactggccgcagttctggctttc
+accgcaggtacttccgtagctgcgacttctactgtaactggcggttacgcacagagcgac
+gctcagggccaaatgaacaaaatgggcggtttcaacctgaaataccgctatgaagaagac
+aacagcccgctgggtgtgatcggttctttcacttacaccgagaaaagccgtactgcaagc
+tctggtgactacaacaaaaaccagtactacggcatcactgctggtccggcttaccgcatt
+aacgactgggcaagcatctacggtgtagtgggtgtgggttatggtaaattccagaccact
+gaatacccgacctacaaacacgacaccagcgactacggtttctcctacggtgcgggtctg
+cagttcaacccgatggaaaacgttgctctggacttctcttacgagcagagccgtattcgt
+agcgttgacgtaggcacctggattgccggtgttggttaccgcttctaatcactttggtga
+tataaaaaatccgcctctcggggcggatttttgtttttaaggtttcgggtcgaaaatatc
+ggttccgagatggttgtaatccaccttctgtaactggaagttggtgatgtatatcggccc
+ggctttcttctcagatataaacgggtatttgatgttaatttccttcgctttaatccccgt
+ccactgggagaaaaagcctaagaagtcattggctgagcggcgggctttaatcacacgatg
+cgctttatcgtcgctggaaatgaccataaaaggcacctggaaattttgctgatatttatc
+atcatgggcaaggtattgcacgtctttaccgcgctctttaaaggccagaccgtggtcaga
+aaagtaaaccagcgagaagctgctgccgctgttgcgtaactgatcgtacagcttgcgcag
+taaatcgtccgtttgcgtcatggtatagagatagcacgacgtttctttcgattgcacaaa
+ggtttcgtattttccttgtgtcctgtcgcaggcctgcggatgtgagcccatcagatgtag
+aacaatcagctgcggttgcgagtgctcttgcgccagcacttgagcggtcatatccagtaa
+cgcttcgtctttggtgtttttatctgcttcaaaattaccttctttcaggaagtacacttc
+atctgctcgtttggcgatgctggcgatagcggtatcgtattcgccgatttgaccctggtt
+ggaaaaccaccaggtctggaagcccgcgcgatttgccagggtgacaaagttatcctgaaa
+ctgtggtttgccatcgacaacgcgattgagcgttaagccaagcgatttctgcgtggagcc
+actggcggcaatgtagtcagcaaatatcaaaccgttaacgctgctggcaaacggggtatt
+gtcccagtgaccgccaaaggcaccgagggcatcgcgacgcgcgctttcaccgatcaccac
+cacataggtctgatacttcggcttaacggcagtgaccgtccaggtatctttcattccgga
+aagttttgccatccgttcttgctcttcaatcacctcgttattattgacgatgacatcctt
+agcaaaacgaaataccggatagccagtatctttcagtttaaatacgccaccccaggccag
+gttttgcacgggagcaacaaaaaatgtcgccacactgaataccagacacaggctgtcgaa
+ggtattccagcgcgctttttcattctctttttttcgcctgattgctattacgccgagcgc
+aaaaataaataagccgaccaggtagctgtaccacggaaaaatcgtcaggatttcggtcga
+ctcttccatattggtggagtgcaatgccagcaatgtattgaaattaggcgcgccgtaggc
+ctgagcaaaagggaaataacaagccgccaccagcgaactgacaccgaccagaactttttg
+tacgcgaggcaatgttcgccatagcaaaagcaaaatagccgtaaacgcagcggtgtagag
+caaactgaaggggtaacctaagccgaggttaattaatagcgactgtaaaaagtagaacgc
+agtccacgggctaaatacccggctacgggtaacaagcgattctttgagggttaaattcat
+atgccactatcgtaacaaacgccatgtgcttaccctggcgtcaagggtcaatacctgcaa
+gagtgcgtgaagagtggaaaggggtccgcatccgcgagccgcaatatacgcagggctgca
+agaagatagagcgagccgccgttcaggtcaactactgacgaacaaatcttttgcgaaggg
+gattgcaaatccgacaaaaagtggggtttttcagaccaaaacgcgttatgcctgcatgaa
+agcaggagtgaagcggcgtaccgcgacgccgctatttatcggaaggtttatcttgctgcg
+gtttgttgttgaccatatcgcacaacatagagagcagcattaaccgtactttaaagggag
+aatgactaaacacgcgcatacacctcttgaactcattcataagacctcctgacttgctaa
+tcccgtcgatccttgagggatgattgcattacatacagatatagcacaggctatattata
+tagctattgctaaaacgttaattttttgtaccttcgcaactctggtttacaatgtgcgca
+cgaaatgagaacgctatgtatgcgtcaccataatgaggaagcacaatgagtcgtcgcgca
+ggtacgccaacagcaaaaaaagtgacgcagttagtgaacgtggaagagcacgttgaaggg
+ttccgccaggtcagagaggcgcatcggcgcgagcttattgatgattacgttgagctgatt
+tctgacttgatcagggaagtgggggaagctcgtcaggtggacatggctgctcgtctggga
+gtttcgcaaccgacggtggctaaaatgcttaagcggctggcaaccatggggctgattgaa
+atgatcccctggcgtggcgtgtttttaacggcagaaggagagaagctggcgcaggaaagc
+cgcgagcgacatcagatagtcgaaaatttcttgttggtgttgggcgtcagtccggaaatc
+gcccgtcgcgacgcggaaggcatggagcaccatgttagtgaagagacgctcgacgctttt
+cgtttgtttacccagaaacacggtgccaaatgagcctgccttttttacgcacgctgcaag
+gcgatcgtttttttcagttattaattcttgttggtatcggattaagctttttcgtgccct
+ttgcaccgaaatcctggcctgctgctatcgactggcacaccatcatcaccttaagcggcc
+tgatgctgctgaccaaaggtgtggagttaagcggttattttgatgtgctggggcgcaaaa
+tggtgcgccgctttgctacggagcgtcggctggcgatgtttatggtgctggcggcggcgc
+tgctttctacctttctgaccaacgatgtcgcgctgtttattgttgttccgctgactatca
+cgctaaaaagactgtgtgagatcccggttaatcggctgattatttttgaggcgctggcag
+tcaacgctggttcgctactgacgccaattggcaacccgcaaaatattcttatctggggac
+gttctggtctttcgtttgccggatttattgcccaaatggcaccgctggctggcgcaatga
+tgctgacgctcctgctcctgtgctggtgttgtttccctggaaaggcgatgcaataccata
+cgggggtgcaaacaccggagtggaaaccgcggctggtgtggagttgtctggggctgtata
+tcgtctttctgacggcgctggagttcaaacaagagctgtggggactggtgattgtggcgg
+caggctttgcgctgctggcacgtcgcgtggtgctcagtgtggactggacgctgctgctgg
+tgtttatggcgatgtttatcgacgtccatttactgacccagcttccagcgttgcaaggcg
+tgttgggtaacgtgagtcatctatctgaacccgggttatggttaacggcaatcggtttat
+cgcaggtgatcagtaacgtgccgagtaccatattgttgctgaactatgtgccgccgtctt
+tattactggtatgggcggtaaacgtaggtggctttgggttattacccggatcgctggcaa
+atttgattgcgctacgtatggcgaacgatcgccgcatctggtggcgtttccatctctatt
+caataccgatgctgttgtgggcggcgttggtgggatatgttttgttagttatactcccgg
+ccaactagggtctggcaaataaaaaaggcggattatgagtccgccttttgctttaagttt
+tgaagattaattcagacgaaccggcatcccggagcggtttttaatcgcttcatcaagaac
+aacctggtcaacatctggctgaccggtcactgtctgcacgctcttcgtcagggtaattgg
+cacaatttcctgaccttcaaactgggcttcggtggtagacagcgggttatggacttcaat
+ataacggctgccgtctggctcggtggtcgcttttaccggctcatcaataaactgtacgcg
+ggtaccgaccggtactttctcgaacaggaatttgatgtcttcgttacgcagacgcacaca
+accatgacttacacgcaggccgataccgaagttggcgttggtgccatggatagcatacag
+gcgaccgatatagagtgcatacagccccatcgggttatccggacctgccggaacgacagc
+cggaagcggttcgcccgcagcgcggtactctgcgtgcattttggcggtcggcgtccaggt
+cgggcctgcttttttacgctcaactttggtggtccagttgataggcgtatctttgcctaa
+ctgaccaatgccgatcggcagcacgataacggtgttggtccctttcggatagtaataaag
+acgcatctcagcactgttaatgacgatgccttcatgaacggtatccggcaggatcagctg
+ctgcggaatgttcagtacagtaccgcctttcggcaggaaggtatccacacccgggttcgc
+ttccatcatattggaaagccccatctggtactcggcggcaaaatactccagcggctgagt
+gttaccttcaggaatggtgatcacctgattctgaccaaccaggcgactcccgtcggttgg
+cagaggataagttaccgcagaggcggtactgcaaaagccgacaacagcgaaggccgctgc
+gaataatgttttcaatttcatattcatgttaagcgagattttgtgcctggcaggccattg
+ggttgagaatattagagtattggaagcgcattataagttcattccagctcacagtgaaat
+cagatgtgtacgaaatcacattttttgcctttggcttgagtgtagaccttaagcgaggag
+caggatcttctttcagacttatggcataatgcgcggtttgtcatatctcttttcaggata
+cgcctgtgttagtttccagtaacgtcaccatgcagttcggcagtaagccgttgtttgaaa
+acatttccgtcaaatttggcggcggcaaccgttacggcctgattggcgcgaacggtagtg
+gtaaatccacctttatgaagatcctcggcggcgaccttgagccgacgctgggtaacgttt
+ccctcgatcccaacgagcgcattggtaaactgcgtcaggatcagtttgcctttgaagagt
+tcactgtgctggatacggtgatcatggggcataaagagttgtgggaagtgaagcaggagc
+gcgaccgcatctatgctttgccggaaatgagtgaagaagacggctataaagtggccgatc
+tggaagttaaatacggcgaaatggacggttactctgcggaagctcgcgccggtgaactgt
+tgcttggcgtgggaattccagtggaacagcactacggcccgatgagtgaagttgctcctg
+gctggaagctgcgtgtgcttctggcgcaggcgctgtttgctgatccggatattctcctgc
+tcgacgaaccgaccaacaacctcgacatcgacaccattcgctggctggaacaggtgctga
+acgagcgtgacagcaccatgatcatcatctcgcacgaccgtcacttccttaacatggtct
+gtacccacatggcggatctggattacggcgagctgcgcgtttatccgggtaactacgatg
+agtacatgacggcggcgacccaggcgcgtgaacgtctgctggccgataacgccaagaaga
+aagcgcagattgctgagttgcaatctttcgttagccgctttagcgccaacgcctcgaaat
+ctcgccaggcaacttcgcgcgcgcgccagattgataaaatcaaactggaagaggtgaaag
+cctccagccgtcagaacccgttcatccgttttgaacaggataagaaactgttccgtaacg
+cgctggaagtggaaggtctgaccaaagggtttgataacggtccgctgtttaaaaatctca
+acctgctgctggaagtgggtgaaaaactggcggtactgggtaccaacggcgtcggtaaat
+caacgctgctgaaaacgctggtgggcgatctgcaaccggacagcggcaccgtaaaatggt
+ctgagaacgcgcgcattggttactatgctcaggaccacgaatatgagtttgaaaatgatc
+tgaccgtgttcgaatggatgagccagtggaagcaggaaggcgatgacgagcaggcggtac
+gcagtattctcggtcgtttgctgttcagccaggacgacatcaaaaagccagctaaagtgc
+tttccggtggggaaaaagggcggatgctgtttggtaagttaatgatgcagaagccgaaca
+ttctgatcatggacgaaccgaccaaccacctggatatggaatccattgagtcgctgaaca
+tggcactggaactgtatcagggcacgctgatctttgtttcacacgaccgtgagttcgtaa
+gctccctggcgacccgcattctggaaatcaccccggaacgcgtgatcgactttagcggta
+attacgaagattacctgcgtagtaaagggatcgagtaagtgattatccgtcaccccgata
+ctgtcggggtgacggcggctgatgacaaatgcaaaatagcctgatgcgctacgcttatca
+ggcctacgcagtacctgcaatatattgaatctgcaggactttgtaggccggataaggcgt
+taacgccgcatcaggcattaacaaagcgcatttgtcagcaatctgagtaacgtcgaatcg
+attttcttaatcccacatcaattcacttccattaattctcaaacatccatgcccaacgct
+cgcttaccgtgaatgttgaggtcggcaagcgtaaagcgtccttcccagtttgtttcatag
+tcctcgcgcgggaagtcgcccggcgatgcgcctttttccagtgcggccttcaccttgtgc
+gcgtaggcaagatttttctcgcacatcggtgccgcaggaatgtacatcacgttgccccaa
+ccttgttgattttcaacgggggcaacggaatggatgacgtcgcagtgccaccagacggag
+tctccggcttcgagttttggaatgctggttaacgcctcaatcaacagtggatgccattgc
+tctgataccggcaatactcttccgggcgctacgccgcacagttcatcctccggcacatca
+tcaagcagcggacgtaacagtacgtacgccatagcttcaggaatgggcacgacgtgcagc
+agcccctgaccaggcagcatatcagagagcgctgtccagccctggaatgtccgaaacacg
+gaacatttggtggtgttgtccaccgtgtactcttcaacttccgtacgatgtgccgcatgc
+cagggatcatattgcgccagattgccattaaagacgttggcgaaaacgcgctgatacgct
+ggaagcagccagcgttccagtgccccggagtcggtatgcgctccaagacctttggaggtc
+gttccgggcggacggcggcggatacggtcagggtagatgacgctcacatccgggttaaac
+cattgctttccatcactttcaaatgtccacagacgattgagaaacgactgcgcattcgcc
+atttcttcactctggcgggcctgcatttgcgcctgcgaccagtagatggggtaaatctcg
+ggacgtgaagcgctgagcgtcccgaagaaattatcgccggggcctttgtagacctcgtca
+aagcggttgcggtccagatagtccagcatcgactgatcccagcctagcgcttgttcgcgg
+gggaaatggccttttatcaccgcacaaccgcgacgtttaatctgttcgcgctgctctgca
+gtaacatgacctgctttgatatcggcataagacagcaccggccagacggcatcgccctgt
+gctttgagtgcgttgatttcagccactcgcgtggcaatgtcatcgcttagctgattaaag
+atctgctggacgtcgccaagctgcgcccgcagcgcgtgcttcatctgacggatagctgct
+ttgtgatcggcaggcaatgtgtcgctggtaaaagtagaagccataaccacctctcattaa
+ctttcattcgaaaccattctgatttgcatgtgacaatataagttataaataagttaatgc
+aagtttaatgatttgatgtgatgtacaggatgtaaaaagaagggaaaaccggagcgcacg
+gctccggtagagaggtcagctgttaaaaggggatgtgttatccagcaccgcctgaatcac
+attcagcgcgccttcatgattattatcatcggtagcgtaacgggcgatttgtttaatgtt
+ttccgcagcattgcccatcgcaaaggaataacgcgccattttcagcatctccgcatcgtt
+accgctgtcgccaatcgctaccacattttgcggtgacagatcccagcgtttcagtaaccg
+cgaaataccgtttgctttatgtagaccgggaataatcaggtcgataaagccaaaaccact
+ggtaacgggtttcataatgccatcgagcgctacgtgcagtttgtcgatcactaacgggat
+ttgttcatccggcaggttgagcgaaaacttgaacagtacgtcgtcaatctcctgataatc
+ttttacaggtttcaggcgatggtagtgttttgccatcagtgcgacaaatgcttcgggggc
+attttcgctgacatatgcactttgcagaccgcaggcgacaaaattgagttgcttatcttt
+tagcaactcgccaataacaatccgcgattcatgtcgggtcagttcgccgtggaacaactg
+cttgccatgttcgtaaaccagtgcgccgttttccgcgacaaaagagatctcatcctttag
+ctcaggaaagaatgaaataagctggtaatactgattaccgctggcaacaacgaacttaat
+gccgcgctttttcagttcctgatattgcgccataaaacgtggttggttgtacgttttggc
+gtcgttaagaaaagtaccgtccatgtctgtgacgataacttttacgctcataggtgtgct
+cctggctcgaaaatgaaaccgtaacagtgtaataacaatgtgacgcagagcacaaattat
+atttcgaatgaaagtaaggatgaaattgatgatgtgaatgatttagcccggcgacgacgc
+cgccgggccgaggagattacagcatatgttcagtacgggcgatgatatcgtcctgagcgt
+ctggagagagcgcggtgaagaacgcggaatagcccgcgacacgcactaccagatcgcgat
+actgatcgggatgttttttcgcatccagcagcgtttcgcgggaaacgatgttgtactgaa
+tatgccagcctttatgcacttcaaagaaggtacgcagcaggatcatcagtttctgcttgt
+cagattcgttctccagcgttgccggattcagtttctggttgagcaacacgccgccgagaa
+tcgctgccgtaggcagtttacccactgagccaatgaccgcagtagggccaagatggtcag
+taccggaggccgggcttgcgccttctgccagcggggtgtgggctttacgcccgtccggtg
+ttgccatagtctgcgcgccaaacggtacgttagcggagattgatgacgtacccgcgtaat
+agttgccgccaaccggaccacgaccgtagcgcggattatggtactgtttcagttcgtcga
+tataggtctgataagcgcgagccagcagcgtatcgacagtatcatcgtcgttgccgtact
+tcggcgcaccgttaatcagccgctgacgcagctgctcgtgagtcaggccgtcgaagtcat
+ctgccagtgcggcagcaagctgttgctgaccaatcgcaccttgttcaaacaccagtttct
+tcactgccgccaggctgttgccgaggttggcaatgccgacctgcaggccagaaacccagt
+catatttcgcgccgccttgcttgatacttttcgctcgctcaatacagtcatccaccagcg
+ccgagcagagaatatcgtgcacgttctcttccagcatggtgtcgacgacatattcgattt
+cgattgatttgcgggtgtagtaacggatttgcgtatcccacgcgtccatcacttcatcga
+agttgttgaagttacctgccgacaacgctttttcttgtggcaggaacactttgccgctgg
+tggcatcatgcccgccttccagcgccgccagcatcacgcgggcgaagttgataaagctca
+tgccggtacagcgatagccccatttgccaccgacggcggtttctatacaaccaatcgctg
+cgtagtcataagcgtcctgcggttcaataccgagtttaataaattccgggatcacgattt
+cgtcgttgttgaacgccggcatcccgaagccgcaacggatcacctgtacgcaggcgtcga
+ggaaatcgttgctcattcctgcatggtaacgcacgctgaggttaggctgagtggaacgca
+ggcgaccgcaggattcgaggatcgcgtaagagagtggattcaccgcgtccattggttgac
+catcaaccagattttgcccgccaatagtgacgttctgatacagcggacttcccgcagagg
+cttttgagtgtgagccggagcggatcttgttcacttccagcagtttcagccagcagctat
+gcagcatctcgatggcgtgttcgcgatccagcgtctggttgagttcaacgtcgcggcgat
+agtacgggtagagatactggtccatacgaccaaacgatactgagtgaccgttagattcga
+tctgcaaaatcaactggatgaagtaacacagttgcagcgcctgccagaaagtctgcggcg
+gctggtgggcgataagatcgcagttttctgccatcgccagcagttcatcgcgacggcttt
+cgcgggtttcggtcgcggccatttcacgcgccagggcagcgaaacgttcaatgtgttcac
+tgactgccaccagcacgatatcaatcgctttcaggaattgctcaccgtgtaaatcttcca
+gcaccgtcaggttgatgcgcgagcgacgttccgctacttcctcgcgcagaccatcaagcc
+ctttttccagcagcagcgggaaattcaccgccaggtgcgcatcgccggaggtcatattgc
+cttccgctttaatgattccggtcgccagcagacctttttgctcatcggtaaacatgccgt
+agcagcgatcctgtacggtctgaccgcgccaccacgggcacacttcatgcagaacgcgtt
+tgttctcttcgctcaccgcaaagccagcaccgggacgatctgccagatcatcaatctctt
+tttcgatccacgagacagtatattccgggaagatcggcgcggcgcgaacttcgcttgcct
+ggttgccaatgatcaactcatcgtgtttgatccagatggtgcgattcgccaggtgatgcg
+ccagtgccagcgcgcgacgtaccgggatcggcttatcgagatgttgttgatacatctcgg
+tatagtgctgcgcgcgctcggtacagactggcggtttcacaatatgcaccagcgcatttt
+tgtgcgctttaatgcggtcgctgagcgtgtccagtttcagtgtggtcatggttgttatcc
+tcgtaaggtcgcggttaaccctttctggcaggcatactgctgggcaaagtcgagcagttc
+tggcgcatcaagcggtttttccggggcgtcatagggcagattaagtaagtgatatttgtt
+gatgcccagcgtgtggtagggcagaaaatgaatttcgccaacgtgcagctcgtcggcggc
+aaaatcggtaatggcttttacagaggtttcgtcggcattaaagccctgaatcagcggcac
+gcggataatgatttttttgcccgctgcggcgagttttttcaggttatccagcactctggc
+ggcgttaccgtcggtccactgtttaaacggcgcgtcggcaacgtgttttaaatcggcaag
+aaacagatcgatatagggcagagaaggggcgatatatttccacggcacatgcagacaggt
+ttctaccgcagtatgaatgcctgcctcgtggctggcttgcagtagcgccatcgccatttc
+cggctgcataaagggctcaccacccgaaagcgttaaaccgccgccgctgcgatcgtaaaa
+cggtttatcgcgcagaacggtcgtcatgatctcctcaacgcttttcacttcaccacacac
+ggttaatgcctgtgtcggacagcagtcggttaacgccgtcagatgctccggggttaactt
+ttcccgatgaataagcaaaccattcagcgcgcgctcaatcacttccggcgcggccttagc
+gcacagctcgcagccttccagacacagtcgtgcgtcatacagcagatcctgcgtgcgggc
+gcggctttccgggttctgacaccagcggcagcccagcgaacagcctttaagaaatacgac
+cgtgcggataccggggccatcatgggtcgagtagcgctgaatattgaaaatcatagttgc
+ctctctatttcgttcaagcattaaaatactttcgaatgaaagttagattgatgtgcgtca
+actgttcagagagttttcccgtgatagtctacattcagacaaaaagtacattttgaggat
+ggttatggaactgtatctggatacttcagacgttgttgcggtgaaggcgctgtcacgtat
+ttttccgctggcgggtgtgaccactaacccaagcattatcgccgcgggtaaaaaaccgct
+ggatgttgtgcttccgcaacttcatgaagcgatgggcggtcaggggcgtctgtttgccca
+ggtaatggctaccactgccgaagggatggttaatgacgcgcttaagctgcgttctattat
+tgcggatatcgtggtgaaagttccggtgaccgccgaggggctggcagctattaagatgtt
+aaaagcggaagggattccgacgctgggaaccgcggtatatggcgcagcacaagggctgct
+gtcggcgctggcaggtgcggaatatgttgcgccttacgttaatcgtattgatgctcaggg
+cggtagcggcattcagactgtgaccgacttacaccagttattgaaaatgcatgcgccgca
+ggcgaaagtgctggcagcgagtttcaaaaccccgcgtcaggcgctggactgcttactggc
+aggatgtgaatcaattactctgccactggatgtggcacaacagatgattagctatccggc
+ggttgatgccgctgtggcgaagtttgagcaggactggcagggagcgtttggcagaacgtc
+gatttaaccggacgttctgcatcctcataaattgctgatgacgtggcggagtgccgcgtc
+ttatcaggcctggaggtggcaattactgcccacacacctcacaccccggattacgcatca
+gtttcatttcgcgaaactgacaggtcatcgcatcgtacatgacgattttcccgctggccg
+gtttgccataacctgccagcattttgatcgcttccattgcctgcaacgaaccaattacgc
+cgatcaacggtgccattacgcctgcttccacgcaggttaatgcattttcaccaaacaaac
+ggctaaggcagcgatagcacggttcaccgtcctgataagtaaagacggtgatttgacctt
+ccatacgaattgccgcgccggaaaccagcggtaccttcgcggcaaaacagcctgcgttca
+gttgattacgtaccgcaacgttatccgtacagtcgagcaccagatcgtgttcagcaatca
+atgctgcaagttctgcgtcatccagcagtgcattgactggcgtaatcgcgatatgtgggt
+tgatccgcgtcagggcgtcacgggcggattccaccttcggttgcccgaccgtggcatcac
+tgtgcagtgtctggcgttgcagattcgagagcgaaaccgtgtcgaagtcgagcagcgtca
+ggttaccgacaccggcgcttgccagatactgcgaggctgcacagccgaggccgcccaggc
+ccactatcagcacgcgagaatctttcagcgcctcctggccgtcaaaatcaaagccgcgca
+gaatgatttgccggttgtagcgcagcatctcctgatcgctgagttccgccattacaggcc
+tccgaacaacgcgttaaacggttctacttccacccattcgcccacttccacattgccgcg
+atcgcgttccagcacgataaagcagttgccgaggctaaaggagctaaatatatgtgaacc
+ctgatgtccggtggtcgtcacttccagttcgccatcggcgttgcgttgcagcacgccgcg
+ctggaaatcaagacgtcctggcgtttttttcaggcgggacgctgtgcgtacgcgctggcg
+cgcgggcaggccgctggcggtgttaccgcttagttttgccagcaaaggctgtaccagttg
+atagaaggtcagcgtcgctgaaaccgggttgcccggcaggccgcagaaccagctattgct
+gagtttaccgaacgcgaacggtttacctggtttaatcgccagcttccagaaggcgatctc
+ccccagctcttcaagaatcgttttggtgtaatccgcctcacccactgaaacaccgccgga
+actgatcaccacatccgcctggctgtcggcttcaataaatgcggcgcgcagggcatgggg
+atcgtcgcggataatccctaagttaattacctcgcatcccaactgttctaacatcaggtg
+tacggcgagacggttggtatcgtagatttggccgtcgcccagcggctgaccgggcaactg
+gagttcatcaccggtagaaaaaagcgctacacgcactttacgaatcaccggaacttcggc
+aatccccagtgaagcaattactggcagctctgcggtagtcaggcgagttcccgccgggaa
+aacaaccgcacctgcagagatatcttcaccgcgacggcgaatattttgcccgctacgcac
+ttcagcagtaaaacgcacgccattgtccatttgttcagtctgctcctgcatcaccaccgc
+ttcgcagccttccggcaccggcgcaccggtcataatacgaatgcaggtacccgcaggcca
+ttcaccatggtatggctgaccggcaaaggatttaccggcaacgggcagcggttgcccgga
+ggcaatatcggctaaacgcaccgcgtagccgtccattgcggagttatcaaaccccggaac
+atcaagcggcgaaacgacatcgctcgccagaatacgaccaaaacactgtaccagtggcag
+cgtttcctgggcggtcagtggggtgacgcgagaaagcatctcattaagcgcggtgtcgag
+cgacatcaatccggtggtaaattccatgaaaacactcctgcggaggcaaaatcgaatttg
+cctattatgtcagaaaaacgccacagactgtatgccacctcgggcgtagcgctgggtcct
+gcctttacatgccatatccatctttctatattcaaaaattgaatgagtaattcataaaaa
+ttctgatatttatagcaaaagtggcgaaccacccttaatggacgaatactatgggcaaag
+cagtcattgcaattcatggtggcgcaggtgcaattagccgcgcgcagatgagtctgcaac
+aggaattacgctacatcgaggcgttgtctgccattgttgaaaccgggcagaaaatgctgg
+aagcgggcgaaagtgcgctggatgtggtgacggaagcggtgcgtctgctggaagagtgtc
+cactgtttaacgccggaattggcgctgtctttacgcgtgatgaaacccatgaactggacg
+cctgtgtgatggatggtaacaccctgaaagccggtgcggtggcgggcgttagtcatctgc
+gtaatccggttcttgccgcccggctggtgatggagcaaagcccgcatgtgatgatgattg
+gcgaaggggcagaaaattttgcgtttgctcgtggcatggagcgcgtctcgccggagattt
+tctccacgtctttgcgttatgaacaactactggcagcgcgcaaggaaggggcaaccgtcc
+tcgaccatagcggtgcgccactggatgaaaaacagaaaatgggcaccgtgggggccgtgg
+cgttggatttagacggcaatttggcggcagccacgtccacaggcggaatgaccaataaat
+tacccggacgagttggcgatagtcccttagtgggtgccggatgctacgccaataacgcca
+gtgtggcggtttcttgtaccggcacgggcgaagtcttcatccgcgcgctggcggcatatg
+acatcgccgcgttaatggattacggcggattaagtctcgcggaagcctgcgagcgggtag
+taatggaaaaactccctgcgcttggcggtagcggtggcttaatcgctatcgaccatgaag
+ggaatgtcgcgctaccgtttaacaccgaaggaatgtatcgcgcctggggctacgcaggcg
+atacgccaaccaccggtatctaccgtgaaaaaggggacaccgttgccacacagtgatgaa
+cttgatgccggtaatgtgctggcggttgaaaatctgaatattgcctttatgcaggaccag
+cagaaaatagctgcggtccgcaatctctcttttagtctgcaacgcggtgagacgctggca
+attgttggcgaatccggctccggtaagtcagtgactgcgttggcattgatgcgcctgttg
+gaacaggcgggcggtttagtacagtgcgataaaatgctgttgcagcggcgcagtcgcgaa
+gtgattgaacttagcgagcagaacgctgcacaaatgcgccatgttcgcggtgcggatatg
+gcgatgatatttcaggagccgatgacatcgctgaacccggtatttactgtgggtgaacag
+attgccgaatcaattcgtctgcatcagaacgccagtcgtgaagaagcgatggtcgaggcg
+aagcggatgctggatcaggtacgcattcctgaggcacaaaccattctttcacgttatccg
+catcaactctctggcgggatgcgccagcgagtgatgattgcgatggcgctgtcatgccgc
+ccggcggtgctgattgccgatgagccaaccaccgcgctggatgtcactattcaggcgcag
+atcctgcaattaatcaaagtattgcaaaaagagatgtcgatgggcgttatctttatcact
+cacgatatgggcgtggtggcagagattgccgatcgggtactggtgatgtatcagggcgag
+gcggtggaaacgggtaccgtcgaacagatttttcatgcaccgcaacatccttacacccgt
+gcgctgttagctgctgttccgcaacttggtgcgatgaaagggttagattatccccgacgt
+ttcccgttgatatcgcttgaacatccagcgaaacaggccccccccatcgagcagaaaacg
+gtggtggatggcgaacctgttttacgagtgcgtaatcttgtcacccgtttccctttgcgc
+agcggtttgttgaatcgcgtaacgcgggaagtgcatgccgttgagaaagtcagttttgat
+ctctggcctggcgaaacgctatcgctggtgggcgagtctggcagcggtaaatccactacc
+gggcgggcgttgctgcgcctggtcgaatcgcagggcggcgaaattatctttaacggtcag
+cgaatcgataccttgtcacccggcaaacttcaggcattacgccgggatattcagtttatt
+tttcaggacccttacgcttcgctggacccacgtcagaccatcggtgattcgattatcgaa
+ccgctgcgtgtacacggtttattgccaggtaaagacgcggctgcacgcgttgcgtggttg
+ctggagcgcgtgggcctgttacctgaacatgcctggcgttacccgcatgagttttccggc
+ggtcagcgccagcgcatctgcattgctcgcgcgttggcattgaatccaaaagtgatcatt
+gccgacgaagccgtttcggcgctggatgtttctattcgcgggcagattatcaacttgttg
+ctcgatctccagcgtgatttcggcattgcgtatctgtttatctcccacgatatggcggtg
+gtagagcggattagtcatcgtgtggcggtgatgtatctcgggcaaattgttgaaattggt
+ccacggcgcgcggtcttcgaaaacccgcagcatccttatacgcgtaaattactggcggca
+gttccggtcgctgaaccgtcccgacaacgaccgcagcgtgtactgctgtcggacgatctt
+cccagcaatattcatctgcgtggcgaagaggtggcagccgtctcgttgcaatgcgtcggg
+ccggggcattacgtcgcacaaccacaatcagaatacgcattcatgcgtagataacattca
+ggcggagaataaaatggcaagagctgtacaccgtagtgggttagtggcgctgggcattgc
+gacagcgttgatggcatcttgtgcattcgctgccaaagatgtggtggtggcggtaggatc
+gaatttcaccacgctcgatccgtatgacgcaaatgacacgttatctcaggccgtagcgaa
+atcgttttaccaggggctgttcggtctggataaagagatgaaactgaaaaacgtgctggc
+ggagagttataccgtttccgatgacggcattacttacaccgtgaaattgcgggaaggcat
+taaattccaggatggcaccgatttcaacgccgcggcggtgaaagcgaatctggaccgggc
+cagcgatccggcgaatcatcttaaacgctataacctgtataagaatattgctaaaacgga
+agcgatcgatccgacaacggtaaagattaccctcaaacagccgttctcagcgtttattaa
+tattcttgcccatccggcgaccgcgatgatttcaccggcagcgctggaaaaatatggcaa
+ggagattggtttttatccggtgggaaccggaccgtatgaactggatacctggaatcagac
+cgattttgtgaaggtgaaaaaattcgcgggttactggcagccaggattgcccaaactgga
+cagcataacctggcgtccggtggcggataacaacacccgcgcggcaatgctgcaaaccgg
+tgaagcgcagtttgctttccccattccttacgagcaggccacactgctggagaaaaacaa
+aaatatcgagttgatggccagtccgtcaattatgcagcgttatatcagtatgaacgtgac
+gcaaaagccgttcgataacccgaaggtccgtgaggcgctgaattacgccattaaccgtcc
+ggcgctggtgaaagttgcctttgcgggctatgcaacgccagctactggtgtggtaccgcc
+aagtatcgcctacgcgcaaagttataaaccgtggccttacgatccagtgaaagcgcgcga
+attactgaaagaggcgggatatcccaacggtttcagtaccacgctgtggtcgtcacataa
+ccacagcaccgcgcagaaagtgctgcaatttacccagcagcagttagcgcaggtcgggat
+taaagcccaggtgactgcgatggatgccggacagcgggcggcagaagttgaaggtaaagg
+gcaaaaagagagcggcgtgcggatgttctacactggctggtcggcttcaaccggcgaagc
+ggactgggcactatcgccgctgtttgcctcgcagaactggccaccgacgctgtttaatac
+cgcgttttacagcaataaacaggtggatgacttcctggctcaggcactgaaaactaatga
+tccggcggaaaagacccgcttatataaggcggcgcaggatatcatctggcaagaatcgcc
+gtggatcccgctggtggtagaaaaactggtgtcggcacacagtaaaaacctgaccggttt
+ttggatcatgccagacaccggcttcagctttgaagacgcggatttgcaataagcaacgca
+gggagtggaatgcttaattacgttatcaaacgcttactggggttgattccgacgctgttt
+atcgtctcggtgctggtgtttttatttgtccatatgctgcccggcgatccggcgcgattg
+attgccgggcccgaagctgatgcgcaggttatagaactggtgcgtcagcagctggggttg
+gatcagccgctgtatcaccagttctggcactatatcagcaatgctgtgcagggggatttt
+ggcctgtcgatggtgtcgcgtcgtccggttgccgatgagattgccagccgctttatgcca
+acgctgtggctgaccataaccagtatggtctgggcggttatatttggtatggcggcggga
+attatcgccgccgtctggcgtaaccgttggccggatcgattgagtatgaccattgcggtg
+tcggggatctcgtttccggcatttgctctggggatgcttttaattcaggtattctccgtt
+gaactgggctggctgcctaccgtgggagcagacagttggcagcactacattttaccctcc
+ctgacgctcggcgcggcagtggccgccgtgatggcgcgctttacccgcgcgtcgtttgtc
+gatgttttaagcgaagattatatgcgtaccgcgagggcgaaaggggtgagcgaaacctgg
+gttgtcctcaaacacgggctacgtaacgcgatgatcccggtagtgaccatgatgggctta
+cagtttggctttttgctcggtggttccatcgttgtggagaaagttttcaactggccggga
+cttggacgcttactcgttgactccgtagaaatgcgtgattacccggtgattcaggcggaa
+attctgcttttctcgctggaatttattcttatcaacttagtggtggatgtgctttacgcc
+gccattaacccggctatcaggtacaagtaaggatgcgactatttaactggcgacgtcagg
+cggtgttaaacgccatgccactggtcaaacctgaccaggtacgtacaccgtggcatgaat
+tctggcgacgatttcgccgtcagcatatggcgatgaccgccgcattattcgttattttat
+tgattgtggtggccatttttgcacgctggatcgctccctatgacgccgaaaattattttg
+attatgacaatctgaataacggaccttctttgcagcactggtttggcgtcgattcactgg
+ggcgtgacattttcagccgtgtcctggttggtgcgcaaatctcgctggcggcgggcgtgt
+ttgccgtgtttatcggtgcggcgatcgggacgttgctgggcttgctcgctggatattatg
+aaggctggtgggatcggctgatcatgcgcatttgcgatgtgctgtttgccttcccgggta
+ttttactggcgatcgctgttgttgcggtgttgggaagcggcattgctaacgtgattattg
+cagtcgccattttttccatccccgcgtttgcccgcctggtgcgcggcaacacgctggtgt
+tgaaacagcaaacctttattgagtcagcacgcagtattggtgccagcgatatgaccgttt
+tgttgcgtcatatcctgcctgggaccgtctcttctatcgtggtgtttttcaccatgcgca
+ttggtacctcgattatctctgccgccagcctctcatttctcggcctcggtgcgcagccgc
+cgacaccagagtggggagcaatgctcaatgaggctcgagcggatatggttatcgcgccgc
+atgtcgctgtttttccggccctggctatttttctgaccgtactggcgttcaatttgttgg
+gcgatggtttacgcgatgcgctggatccgaaaattaaaggatagttacgtttgaatattg
+cttgaaagggtaatcacctcacaggaaattattgccctaagcaagtgttgtaactttctg
+ctgattttgtagaatcgggtaatttggttaaaaagccgcagcaagggacaatttttgcag
+cggcacagcgttcagatagttattttgttaaatgtattaacatgctgagtttatacgaaa
+agataaagataaggctgataattttatttttattggcagcactgtcatttattggtcttt
+ttttcatcattaactatcaactggtatcggagcgcgcggtaaaacgtgccgatagccgct
+ttgaacttattcagaaaaacgttggctatttctttaaagatattgaacgttcggccctga
+cattaaaggactcactgtatttattaaaaaatacagaggagattcaacgcgccgtgattc
+ttaaaatggaaatgatgccatttttagactcggtgggactggtacttgatgataataaat
+attatcttttttcgcggagggcgaatgataaaatcgttgtttatcatcaggaacaagtaa
+atggaccgcttgtcgacgagtcagggcgggttatttttgccgattttaacccatcgaaac
+gaccgtggtcggtggcttcagatgactctaacaacagctggaatccggcatacaattgct
+ttgatcgtccgggtaaaaaatgtatctcttttacgctacacatcaacggcaaagatcacg
+atttgttagcggtggataaaattcatgtcgatttaaactggcgatatctgaacgagtatc
+ttgatcaaatcagcgctaatgatgaagttctatttttgaaacaaggccatgagatcattg
+ccaagaatcaactcgctcgtgaaaaactgattatttataatagcgaaggtaattataata
+ttattgattctgtcgatactgaatatatcgaaaaaacatcagcggtgccaaacaacgcat
+tattcgaaatctatttttattatcctggcggtaatttattgaacgcatcagataaacttt
+tttatctgccgtttgcgttcattattatcgtattgctggtggtttatttaatgaccactc
+gtgtgttccgtcggcaattttctgaaatgacagagctggttaatacgctggcgtttttgc
+ctgactcaacggatcaaatcgaggctctgaaaattcgtgaaggcgatgcgaaagagatta
+tcagcatcaaaaattcgatcgcggaaatgaaagatgccgaaattgaacggtcaaataaat
+tgctctcactgatctcttacgatcaggaaagtggttttattaaaaatatggcgattattg
+agtctaacaataatcagtatctggctgtggggatcatcaaactgtgtggtctggaagccg
+tggaagcggtgtttggtgttgatgagcgcaataaaatcgtcaggaaattgtgtcagcgaa
+ttgccgagaaatatgcgcaatgctgcgatatcgtgacattcaatgccgatctctatttac
+ttctgtgtcgggaaaatgtacagacatttacccgtaaaatagcgatggtaaacgattttg
+acagcagctttggctaccgcaatctgcgcatccataagtctgccatttgtgaacctttgc
+agggggaaaacgcctggagttacgcagaaaaactgaaactggcgatttccagtatccgtg
+accatatgttctcagagtttattttctgtgatgacgcgaaactcaacgaaatagaagaga
+atatctggattgcgcgtaatattcgccatgcaatggaaattggcgaactattcctcgtct
+atcaaccgatcgttgatattaacacccgcgccattctgggcgcggaggcgttgtgccgtt
+gggtgtctgcggagcgggggatcatttcaccgctgaagttcattaccattgctgaagata
+tcgggtttatcaatgagctgggttatcagattattaaaacggcaatgggtgaattcagac
+attttagtcagcgtgcgtcgctgaaggatgatttcttactgcatattaatgtttcgccct
+ggcagttaaacgaaccacactttcatgagcgttttaccaccatcatgaaagaaaatggcc
+tgaaggcgaacagcctctgtgttgagatcactgaaaccgtgatcgagcgaattaatgaac
+atttttatctcaatattgaacaactgcgtaaacaaggggtacggatatcgattgatgact
+ttggcaccggtttgtcaaacctgaaacgtttttatgaaattaatccagacagcataaagg
+tggactcgcaattcaccggcgatattttcggtactgcgggaaaaattgtgcgcattattt
+tcgacctggcacgctataaccggatcccggtgattgcggaaggcgtagagagcgaagacg
+ttgcgcgcgaattaatcaaattaggatgtgttcaggctcaggggtatctgtaccagaaac
+ccatgccattctccgcctgggataaaagtggaaaattagtaaaagagtagtttacgtatg
+tccagaatcaataagttcgtacttacagtcagtctgctgatttttatcatgatttcagca
+gttgcctgcgggatctacactcaaatggtaaaggaacgggtgtatagcctgaaacagtcc
+gttattgatactgcttttgcggtggcaaatattgctgaatatcggcgtagcgtggcaatt
+gatcttatcaacacgctaaatcccacggaggaacagctgttggttggtttgcgcacagct
+tacgccgactcggtttccccctcttatttgtacgatgtcggtccttatctgatttccagt
+gacgaatgtattcaggtaaaggagttcgagaaaaattattgtgcagatattatgcaggtt
+gtgaagtatcgacatgtcaaaaatacagggtttatctcttttgacggtaaaaccttcgtc
+tattacctctatccggtaactcacaatcgtagtctgatatttttgcttggtctggagcgt
+ttttctttactgtcaaaatcgctggcgatggacagcgagaacctgatgttctctctattt
+aagaacggtaaaccggtgaccggtgatgaatataatgctaaaaacgccatcttcaccgtt
+tcggaagcgatggagcacttcgcctatttgccgaccggattgtatgtatttgcgtataaa
+aaagatgtttatttgcgggtttgtacattgattattttctttgccgcattggtggcagtg
+atatcgggtgccagttgcctctatctggtacgcagagtgattaatcgtggtattgtggag
+aaagaagccatcattaataaccattttgaacgcgtactggatggcgggcttttcttttcg
+gctgccgatgtcaaaaaactctacagtatgtataactcggcgttcctggacgacctgacc
+aaagcaatgggcagaaaatcctttgacgaagatttaaaagcgctgccggaaaaaggcggt
+tatttgtgcctgtttgacgtcgataaattcaaaaacattaacgacaccttcggtcatttg
+ctgggcgatgaagtgttgatgaaagtggtgaaaatccttaaatcacagatcccggtagat
+aaaggtaaagtctaccgcttcggcggtgacgaatttgcggtgatttatacgggtggaacg
+ctggaagagttgctatcgattctaaaagaaatcgttcatttccaggtgggaagcattaat
+ttaagtaccagtatcggtgtagcacattcaaatgaatgtcctaccgtcgaacgcttgaaa
+atgctggcggatgagcggctgtataagagtaagaaaaacggcagggcacagattagctgg
+cagtaatcattattcgcaggccggacaaatgattttgcccggcctgaattaattaaaccc
+ggctaccccacaaatcgtactcatcggcgtgctcgactttcacacgcaggatatcacccg
+gcttaacgttggtttcaccattgagataaaccgcgccgtcgatttccggtgcatctgcca
+tgctgcgaccaatcgcgccttcttcgtccacttcgtcgataatcaccagaatttcacggc
+ccactttctcttgcaggcgctcggcggaaatctgctgctgcagctgcatgaaacggttcc
+agcgttcttctttaacttcttccggaacctggtcaggcagggcattggcgtctgcacctt
+caaccgggctgtatttaaagcagccaacgcgatccagacgcgcttctttcaggaagtcga
+gtagcatctggaaatcttcttctgtctcgccagggaagccgacaataaaggttgagcgta
+gggtcagttccgggcagatttcgcgccactgtttgatgcgcgccagttggcgatctacag
+aacccggacgcttcatcagtttgagaatgcgcgggctggcgtgctgcaacggaatgtcca
+gatacggcaggattttgccttctgccatcagtgggatgacgtcgtccacatgcggataag
+ggtaaacgtagtgcagacgtgtccagatccccagtttcgataactgttcgcacaggctga
+ccatgctggtttttaccggctcgccgttgtggaagccagtacgatgtttaacatcaacgc
+cataggcggaagtatcctgcgagatcaccagaatctctttaacgcccgcatctaccagac
+gtttcgcttcacttaacacttcgccaatcggacggctcaccaggtcgccgcgcatagacg
+gaataatgcagaaggtgcagcggtgattacagccttcagaaattttcagataggcataat
+gacgcggcgtcagtttcacaccttgttctggcaccaggctcaggaatgggttgtgtttcg
+gttttggcacgtagtgatgaacgtgctccagaacctgctcatagctatgaggcccggtga
+tttccagcactttcgggtggacttcgcggatctgatcttcttttgcccccagacaaccgg
+tcacaataaccttgccgttttcattcaacgcttcaccaatggcttccagtgattcttgta
+ccgcgctgtcaataaagccgcaggtgttgacgatcaccatgtccgcatcgtcatagctcg
+gtaccacgtcataaccttcagtgcggagttcggtgagaatacgctctgaatcaacaaggt
+ttttcggacagccaagggaaacaaagccgattttcggctggggagttactttgctcatag
+cttaaaaaatattcagttacaggaaaggtcagggcagggattctacagagttctggataa
+aatttgtatcgcaatctcattcgctggcggaggcgaaggaaatgtaaattttgttaattc
+ggcgtgaagaattgatcctggacagcattttgctcaaaaaatagccatactatttaattg
+caacaaggctgggaagaggaggatcgaagtatgttcgttgacagacagcgaatcgatctg
+ctgaaccggttgatcgacgcacgcgttgacctcgccgcatacgtgcaactgaggaaggca
+aaaggatacatgtccgtcagcgaaagcaatcatctacgagataacttttttaaactgaat
+cgcgaactgcacgataaatcgctgcggttgaatcttcatctggatcaggaagagtggagt
+gctcttcatcatgctgaagaagcattagcgacagccgcagtatgtttgatgagtgggcac
+catgattgcccgactgttattaccgtcaacgccgataagcttgaaaattgtctgatgagc
+ttaacgctgagtatccagagcctgcagaagcacgccatgcttgagaaggcctgaaaacta
+agggggagaaagcgtctcccccttcatgtttaagtttttgtaaaaatgaatttgttatct
+cctccactgactacgctttaagccagagtcaatccggaggcgttatgcatcgacaatcct
+ttttccttgtgccccttatttgtctttcttccgctctctgggcggctcctgcaacggtaa
+atgtcgaagtactgcaagacaaactcgaccatccctgggcactggcctttttacccgata
+atcacggtatgttaatcactctgcgcggcggcgagttgcgtcactggcaagcaggaaaag
+gattatctgcgccgctttccggagttccggacgtttgggcgcacgggcagggcggcctgc
+tggacgtggttttagcgcctgattttgctcagtctcgccgcatctggttaagttattccg
+aagttggcgatgatggcaaagccggaactgctgtgggttatggccgcttaagtgatgatc
+tctcaaaagtgaccgacttccgcaccgtctttcgccagatgccaaaactgtctaccggca
+accattttggcgggcggctggtattcgacggtaaaggttatctttttattgctctgggcg
+aaaacaatcagcgcccgacggcgcaggatctggataaattacagggcaaactggtgcgtc
+tgaccgaccagggcgaaatcccggatgataatccttttataaaggaatccggtgcgcgcg
+ccgagatctggtcttatggcattcgtaatccgcaaggaatggcgatgaatccgtggagta
+atgcactgtggctgaatgaacatggcccgcgcggtggtgatgaaattaatatcccgcaaa
+aaggcaaaaactacggctggccgctggcaacctggggaatcaactattcaggctttaaga
+taccggaagcgaaaggggagatcgtcgccgggaccgagcaacctgttttttactggaaag
+attcgcccgctgtgagcggcatggccttctataacagcgataaattcccccagtggcagc
+aaaaattatttattggcgcgctgaaagataaagatgtcattgtgatgagcgtcaacggcg
+acaaagtgacagaagatggccgtattttaacggacagagggcagcgaattcgtgatgttc
+gcactggacccgacggttatttatacgttctcaccgacgagtccagtggggaattactta
+aagttagcccacgcaattagctaacgggaatcatcaccactttgcgcactgcggggcgtt
+cagtgagttgctgataccagcgttgcagatttggacgcggtgtccaggtcaggccaacgt
+taaacaaattgtagatgaacggtgcgatagcgatatcgcccacaccaaactcgtcgccag
+agaaccattttacttttgccagttccgcatcgagcagggcaaacagggcgtcgcactctt
+tgcaactggcatcaatggcggcctgatcgcgctcttccggtggtgttctgactaatccca
+tcaggatcccgcgatgagcattactgagcgtctggtttgcccagtccatccatttttccg
+cttccgcacgacgtgccggtgagtcgatccacaggcgtttttgcccgtactgtgccgcca
+gatagcggacaatggcgtttgattcccaaagaatgagatcactttcgtcgtcacgcaaca
+acggcaccagcccgttagggttcatcgccagaaaatcagcatcgtgatttatcccaaact
+cacggcccgcgagaatttgctcataaggtagttccagttcttcgagcgtcagcaatactt
+tttttacgttagttgaattattccgaccccacagcgtaatcatactcaccccttttccga
+caggcagccacaggctgaacaggactccgatggtgaagtaaagttaacttttaagcaaca
+gctggcaaaaaaatgacaccagaagcagcgaagcggcaggatattgcataaactttaaaa
+actttaccaacttacggtttctttaagtttgtgtgtgcgttattaatcaccaaacttatc
+atacggcgatataacgtattttttttgaatggatactcgggtggcatttatgacgcaata
+ctcctctctccttcgtggtcttgcagcgggttctgcatttttattcctttttgccccaac
+ggcattcgcggcggaacaaaccgttgaagcgccgagcgtggatgcgcgtgcatggatttt
+aatggattacgccagcggtaaagtgctggcagaaggcaatgcggatgagaaactggatcc
+cgcgagcctgactaaaatcatgaccagctatgtggttgggcaggcgcttaaggccgataa
+gattaaactcaccgatatggtgacggtcggtaaagatgcctgggcgacgggaaatccggc
+actgcgtggttcatcggtaatgttcctcaaaccgggcgatcaggtttcggtggcagactt
+gaacaaaggtgtgattatccagtccggtaatgacgcctgtattgcgctggctgattacgt
+tgccgggagccaggagtcatttattggtctgatgaatggttatgccaaaaaactgggtct
+gaccaacactaccttccagacggtgcacggcctggatgcgccggggcagttcagcaccgc
+gcgcgatatggcattgctgggtaaagcattgatccacgatgtgccggaagagtacgccat
+tcataaagagaaagagttcaccttcaacaaaattcgtcagcctaaccgtaaccgtctgct
+gtggagcagcaatctgaatgttgatggcatgaagacaggaaccacggcaggcgcgggata
+taatctggttgcttcggctacccagggcgatatgcgtttaatctccgtagtgttgggggc
+gaaaaccgaccgtatccgttttaatgagtctgagaaattattgacctggggtttccgctt
+ctttgaaaccgtgacgccaattaaacctgatgccacctttgtgactcagcgcgtctggtt
+tggtgataagagcgaagtgaatctcggggcaggtgaagcgggctcagtgaccataccgcg
+tgggcagctgaaaaacctgaaagcgagttatacgttaacggaaccgcagcttaccgcacc
+gctgaaaaaaggtcaggttgtcgggaccattgatttccagcttaacggtaaatccattga
+gcagcgtccgctgatcgtgatggaaaatgtggaagagggcggattctttggtcgggtgtg
+ggatttcgtgatgatgaaattccatcagtggttcggcagctggttctcttaatcttctga
+taaccggatggcgcgaaacgtcatccggttatacgtcattaatacatcaacttaatgcgc
+tgcgtctgcgcgtacttcacatactcatcttccgggcaacaatcgctcaccacaatatca
+aagcgtttcaggtcacccatgcgcgccggacgcaccttgccaaatttactgtggtcgaca
+accagcacatgcttttgcgccatcgacatggcccagtgttttaccggcaactcttcaaga
+ttaaaacaggtagcgcctttactgacatgcacgcccgccgcagaataaaaagcgatatcc
+gggcaaaaattattcagcgtttgctgaaaatcgatgggtttgaaaatggcgttgctggcg
+tgaaattcaccaccgcaaagaaacgcgcggcaatggggtttctctttcagcgccagaaag
+gtatttagcgaataacaaacggcggtaaaagggatttcattatcaatcgcttcaataatc
+cacggcgtggtggtgccacagtcaaaaaagagggtctgatcgggttctaccagcgtcgca
+gccagttttgccgcccggcgtttttcttccaccaggcgggatttttgatcgcttaacagg
+taatggctggcactgcgcggttccagaacaatatagccgccgagcaaaacgacgggcgca
+ctgtggttgttcagatcgcgacgaatcgtcatctccgaaaccccaagcagggcggcggcg
+tctttaagatgtaacttatcgctgcgttttaattcttgcagcagctgcccgatacgctct
+tcgcgacgtgtttccataatccctctgaatagttattgaagcgagccgctcaatactaca
+ctttttagcagagatcagtcacgcacccagcctttgcggatcggtaatgcaaaacagacg
+cgataccacgattgcagacgttgatagagtttatgccccatcgcttgccagataatctgg
+gcactaaggcagccaatcatacctgccagcaatccaccgagcatatccagcggccagtgg
+acgccaagataaacgcgcgaccaggcaatgacgacggccagcaccattaaaagtgagccg
+gaccacaggcgatgccagcataaaaatgccagtgcaaaggtgaaaatcaccgtaccgtga
+tcgcttgggaatgagtcatccgccgcatgatgcaggaagttatagccgatattttcgaca
+aagggtcggtcgtgcggaaaaagatgtcccatcgtccaggacacaaacaggctgaccgcc
+agcgcgatagcgatttttatcaccagttgccgttgtgctgtaagcccccacaaccaaagt
+accacggccagcaacggcaccacggtaatcaaatctttagcaataaaaatcgccaacgag
+atcatccacggagccgagtctggcgtcgcgttaataagagagaatagagagagattcaaa
+ttttccagcataacttcccgacgcaaagtgattaaaagggagccaatacaggcaagtcgt
+tgagaataaagtgcaggttaaactgggtaaagcggcatcgtcttatttccctcaagcggc
+ctgtttacggtgggtgattgtaacgggcataggttaaataaaacttaaagaaagcgtagc
+tatactcgtaataatgtaagaatgtgcttaaccgtggtttcagctacaaaattcgctttc
+tcgttagctgcgcttttattaaactctgcgcgattattattggcgaagaaattgcatgca
+aaataaattagcttccggtgccaggcttggacgtcaggcgttacttttccctctctgtct
+ggtgctttacgaattttcaacctatatcggcaacgatatgattcaacccggtatgttggc
+cgtggtggaacaatatcaggcgggcattgattgggttcctacttcgatgaccgcgtatct
+ggcgggcgggatgtttttacaatggctgctggggccgctgtcggatcgtattggtcgccg
+tccggtgatgctggcgggagtggtgtggtttatcgtcacctgtctggcaatattgctggc
+gcaaaacattgaacaattcaccctgttgcgcttcttgcagggcataagcctctgtttcat
+tggcgctgtgggatacgccgcaattcaggaatccttcgaagaggcggtttgtatcaagat
+caccgcgctgatggcgaacgtggcgctgattgctccgctacttggtccgctggtgggcgc
+ggcgtggatccatgtgctgccctgggaggggatgtttgttttgtttgccgcattggcagc
+gatctcctttttcggtctgcaacgagccatgcctgaaaccgccacgcgtataggcgagaa
+actgtcactgaaagaactcggtcgtgactataagctggtgctgaagaacggccgctttgt
+ggcgggggcgctggcgctgggattcgttagtctgccgttgctggcgtggatcgcccagtc
+gccgattatcatcattaccggcgagcagttgagcagctatgaatatggcttgctgcaagt
+gcctattttcggggcgttaattgcgggtaacttgctgttagcgcgtctgacctcgcgccg
+caccgtacgttcgctgattattatgggcggctggccgattatgattggtctattggtcgc
+tgctgcggcaacggttatctcatcgcacgcgtatttatggatgactgccgggttaagtat
+ttatgctttcggtattggtctggcgaatgcgggactggtgcgattaaccctgtttgccag
+cgatatgagtaaaggtacggtttctgccgcgatgggaatgctgcaaatgctgatctttac
+cgttggtattgaaatcagcaaacatgcctggctgaacgggggcaacggactgtttaatct
+cttcaaccttgtcaacggaattttgtggctgtcgctgatggttatctttttaaaagataa
+acagatgggaaattctcacgaagggtaaaaaaatgcctgactgctttgtgcgatcaggca
+ttctcgaattaatggtgatggtcgtcaatctggtgttcgataaccatcccttcacctacg
+ctggcaagatggcgaacataaggatgcgggcggtaagccggagctggcgcaggagccaca
+tagacggtttgcggcacagtcgcgacgctgaccgcttgtggaacgctgactgaatcagga
+accacaaccactttgtatccactcggcacatcgacggtgacactttgcgccatcgccaca
+ccagtaaagcccattaaaagcgcgcccaacagtagacaatttttcataatcatttcgcct
+gaaataatgcagcgggttaatttccgcgaattatgcagccttcattcaggcattgtgttg
+ccgggcgtgctgccggttttattggtcaaatggcgcttcgtgtttaagaactttatcgat
+cacatccagtacgccttcacggttattggagcctgcgcggtattttgccgctgcgacgac
+cgcgctaccggcattttccattgcaaaactaaagcctgcctgacgcagcatctcaatatc
+gttaccgccatcgccaaagaccaccacttcgctgtcgtctattccccataatttctgcag
+ttggcgaaggccattggctttatgtacgccggggataatcagatcgatgctgccgttgcc
+ggtgtggaccgacaccataatatcgccgatggcctcatgtaatgctttttgtacttgtgg
+aatcagttcatcggaaagattcaggccaaacttaaagaagatatcctctaagttgtcaaa
+gttatcgacgtattccagacggtgataatacatttccgccaccgttttcatggcatcgtc
+atattttttgagtgtataggcactattttttccgcaggcaataatttccacttccgggcg
+cgtcagcaaatgttccacgacagtagcaaacgcatccttcgatagctcgccattaaaaac
+atctttgccttcgctcactacccagccgccgttttcagccacaaaggcaatttcattagc
+aatttcagggaagaaagagatcaactgataatattgattcccgctggcgactacaaagcg
+aattccttgtgctttcatttgctgatactgagccataaaccgctcacggttataggtttt
+ttgatcgcttaagaaagtaccatccatgtctaccgcaattaatttaatgctcatcaacta
+ttctccatcgccgtctgcgttttggtatcgggtttggcgacggctttcgcgacaatagcc
+gcgagaataaccagcgccagtacaaccagcattgcactacgtaatccataatgttcgccg
+agatagcccagcagcggcggcccgacgaggaaagccagataaccggtcgttgctaccaca
+ctgacgcgggttggtgcatcggggccggtatcgctggcggcagaaatggtcagcgggaag
+cccagcgaggcacccagtccccagagtacaacagacaccccagcgacccaggcgctatcg
+acaaaaataatcagcccaatacccaacgcccccattagtgcactggcccgaaccacggca
+acgcgactgtaacggtcgatgaaccaaccgccggtgaagcgtccaacggtcatccccagg
+gtaaaaccggcataaatcagcgagccggaagtagggctaaaaccgtgaccgtcaaccatt
+aataagggtaaccagtcgttggcagaaccttcggcaaaggccatcgccagcaccacaaca
+cctatcagcagcaactggatatcgcgataaaaaggtacgcctttttcgccatgctgggtg
+ccatcggcagcatttttgcccgtaccgtcagggattgcctgaatggcgatataaataggt
+gcgatacctaccagcgccgccaataaaatgtgcaccgttgccggaacgccaaaggccgtc
+agtgccatcccgacacctgcgcctgccagcgtgcccaggctataaaaaccgtgcatcatc
+ggcaaaaccgtcttattcatttctcgctcaacggcagcaccttcaacgtttatcgccact
+tccgcagaaccaaaacttgccccaaagacgccgagaccaacggcaaagagcaggggcgat
+gtcagccagagtgccagacttaatatcatcatcccgatcaatgcgcaggacatcgtgacc
+aggatgacattacgtgtcccaaagcgtttcactaaccacgccgagcagagaataccgctc
+atcgaaccgatcgacagaccaaagagaacaccgcccatttcagcgatcgagacagagaga
+atatcgcggatagcaggcgtacgggttgcccaggacgccattaacaggcctggcaaaaag
+aagaacataaacagcgcccaggttcggcgtttcaatgcattacgtgaagaatttacggtc
+atagatcacgtcaaaataagaagagggaagacaacattagcaaggttgtgtacatttgta
+cacaattgcagagagaggaaatgacatgcgtcgcgctaacgatccgcaacggcgagaaaa
+aattatccaggccacgctggaggcggtgaaactttacggaatacatgctgttacgcaccg
+caaaattgctacccttgccggggtaccgttgggatcgatgacctactatttttcaggaat
+tgatgagttgttactggaggcgttcagcagttttactgagatcatgtcccggcaatatca
+ggcattttttagcgatgttagtgatgctccgggcgcatgccaggctatcaccgatatgat
+ctacagctcacaggttgcaacgccggataacatggagctgatgtaccagctctacgcgct
+ggctagccgaaaaccgctattaaaaacggtaatgcaaaactggatgcagcgcagtcagca
+aacgctcgaacaatggtttgaacccggaaccgcccgcgcgcttgatgcgtttattgaggg
+gatgacgctgcattttgtcaccgaccgtaagccgctatcgcgcgaggagattttgaggat
+ggttgagagggttgcagggtagtagataagttttagataacaaaaaacccatcaaccttg
+aaccgaaatggcggggttgatgggctccacaaaatggggacatcaaagaaaagcagtggc
+actaattaagactgatgccctgcggaaaagttctgcggttgtgcaaaaaaatttcatttt
+cagggcaacttcagttttatcctaatcctggccataccatgacgatgattgtccctgcca
+gcgtcagcaggacgttggcgattgcataggtgcccgcatagcccagcgccgggatgttac
+tgcgagctgtatcactgatgatctccattgccggcgcgcaggtacgtgcgcccatcattg
+cgccgaacaacagcgcgcggttcattcgcaatacataagcaccgaacaagaaacagataa
+ccacgggcaccagactgacaatcaatccggcaatcaacatctgaccgccaatcgcgccca
+ggccgttattaataccgctaccggcgctcagaccaacgcctgccataaacaccatcaagc
+cgaactctttcaccatgcttaatgcaccctgcggaatgtaaccgaaggtcgggtggttag
+cacgcataaagcccagcataattccggcgaataacaacccggcagcgttccccatgccga
+aactgaatgtgctgaactggaaggtgatcatcccgatcatcagcccaataacaaagaagg
+cgcagaatgccagcaggtcagtgacctggctgtgaatcgagataaagccgatgcgatcgg
+cgatggtttttacgcggcgggcatcgccgctgacttgtaaaacgtcacctttgttaagca
+cgacgttgtcatctatcggcatctcaatctggctacgaatgacgcggttaaggaagcaac
+cgtgatcggtcaacttcagttgtgcgagacgtttacctacagcgttatggtttttaacga
+ccacttcttcagtgacgatacgcatgtcgagaaggtcacgatcgaaaacttctttaccgt
+tacggaagctgggatcgagtcgggcatgggcgtcgggatagcctaccaacgctatttcat
+cgcccatttgtagcacggcatcaccgtctggatttgccagaatcccgttacgtcgaatac
+gttcaatgtagcagccggtttgtcgataaatacccagttcacgcagatttttgccgtcgg
+tccaggccaccagttccgggccgacgcgataggcgcggatcaccggtaaataaaccttac
+ggttggcatcagtgtccaggccacgttcgcgggcgatttgctgggcgctggtctgtaagt
+cctgatgctgcaatttcggcaagtaacgcgcaccaacaatcaaactcaccagaccgatta
+aataggttaaggcatacccgaggctcagattatccagtgccagtgagagctgcctgcttt
+ccatgccggaatgacgcagtgtatcgccagcaccgaccagaaccggtgtcgacgtcatag
+agcctgctaacataccggccgtcaggccaatatcccagccaaacagcttacctaacccta
+aggcgatcaccagcgcactgccaaccatcaccagtgctaacattaggtaatttttcccat
+cgcgaaaaaaaatggaaaaaaagttcggtccggcttcgaccccgacgcagaaaataaaca
+gcataaagccaagattaagcgcatcggtgttaatgctgaaatgttgttggcctaataaca
+gcgatacgactaaaacgccaatggaattacccagttggatcgaaccaagtcgtaactttc
+cgagacatagcccaagcgcgaggaccacaaataataacagaatgtaattcccatttaaca
+attcggcgacgtttatattcacggaggctaacttcttgtttactagtaagctgttgaaag
+aaatggtaatttacgataatgttttttaccagaattcagggcgcagattcattcagcgca
+cctaaacgatagtaaagtaacaatatattttactagtgtaatcacattaggtatcaacgg
+ctatatgaattgcgttggcctatattagcatggaatgcgaagcggctttatcttactgaa
+cgccacactggcgaaaaatgtgttcgatagacgcagtgtcaggaggaacgagtgaaacat
+aaacaacgttgggcgggggcaatctgctgttttgtcctcttcattgtggtgtgccttttt
+ctggcgacgcacatgaaaggcgcttttcgggctgccgggcatcctgaaatcggcttgcta
+tttttcattcttcctggagcagtcgccagcttcttttcacagcgtagagaagtcctgaaa
+cctctgtttggcgcaatgctggcggcaccctgttcgatgctcattatgcggctgtttttt
+tcaccgacgcgctcattctggcaagagctggcatggttactaagcgcggtgttctggtgt
+gcgctgggggcactgtgtttcttatttatcagtagtttgtttaaaccacagcacagaaaa
+aatcagtaaagccctcaacgcgagggcttgtcagacgatcaggcgtccagattttctttc
+acccatgcagcaaaatcggtatagccgccgatatgttgctgatcgacaaaaatctgcggc
+acggtttctacgggtttacctgccttttgttgtagatcttctttagtgatcccttccgca
+cgaatatctacatactgatactgaaaatcatcgcgttcattgctcaatttctcagccaga
+tcttttgcacgcacacagtaagggcaacccgaacgaccaaaaataacggtttgcattatt
+tctctcctcatagatttatgcctgtaatgatcacgctaaaatgtattcgctgaaagtagg
+tttaacctgttgcattaattgctaaaagctataactgttaaacacaatacagtgaaaagt
+tttagactgaaggctcactttgcagagggaagcgtatgcgcgcgatcggtaaattgccta
+aaggcgtgttgatactggaatttatcggaatgatgctactggcggtggcgctgctgtcgg
+taagcgactccctgtcgctgcctgagccattttctcggccagaagtgcagattctgatga
+tttttctcggtgttttgctcatgcttcccgctgcggtggtggttattcttcaggtggcaa
+aacgtcttgccccacagctgatgaaccgtccaccgcaatattcacgttcagaaagagaaa
+aagataatgacgccaaccattgaacttatttgtggccatcgctccattcgccatttcact
+gatgaacccatttccgaagcgcagcgtgaggcgattattaacagcgcccgtgcgacgtcc
+agttccagttttttgcagtgcagtagcattattcgcattaccgacaaagcgttacgtgaa
+gaactggtgacgctgaccggcgggcaaaaacacgtagcgcaagcggcggagttctgggtg
+ttctgtgccgactttaaccgccatttacagatctgtccggatgctcagctcggcctggcg
+gaacaactgttgctcggtgtcgttgatacggcaatgatggcgcagaatgcattaatcgca
+gcggaatcgctgggattgggcggggtatatatcggcggcctgcgcaataatattgaagcg
+gtgacgaaactgcttaaattaccgcagcatgttctgccgctgtttgggctgtgccttggc
+tggcctgcggataatccggatcttaagccgcgtttaccggcctccattttggtgcatgaa
+aacagctatcaaccgctggataaaggcgcactggcgcagtatgacgagcaactggcggaa
+tattacctcacccgtggcagcaataatcgccgggatacctggagcgatcatatccgccga
+acaatcattaaagaaagccgcccatttattctggattatttgcacaaacagggttgggcg
+acgcgctaaaaccgccacgtcgatgtatgatacgcgggcttttgaccaggtctgacagag
+aggtgcagggtgaaaattgccatattgtcccgggatggaacgctctattcgtgtaagcgg
+ctgcgtgaagccgctatacagcgcggtcacctggttgaaattcttgatccgctttcttgc
+tacatgaacataaatcctgcggcgtcttctattcactacaaaggccgcaagttaccccat
+tttgacgcagtgatcccgcgtattggcaccgccattaccttttatgggacggcggcactg
+cgccagttcgagatgctggggagctatccgctcaatgagtcggtcgccattgcccgggcg
+cgtgacaaattgcgttccatgcaactgctggcgcgtcagggcatcgacctgcctgtcacg
+ggcattgcgcattcgccggatgataccagcgatttaatcgacatggtcggtggtgcgccg
+ctggtggtcaagttggttgaaggcacgcagggaattggcgtcgtgctggcggagacgcgt
+caggcggcggaaagcgtgattgacgctttccgcggtctgaacgcgcatattctggtgcag
+gaatatatcaaagaggcgcaagggtgcgatatccgctgtctggttgttggcgatgaagtg
+gtcgctgcgattgaacggcgggcgaaagagggcgattttcgttccaatttgcatcgtggc
+ggcgcggcaagcgtcgccagtatcacaccacaggagcgtgaaatcgcgataaaagccgcg
+cgaacgatggcgctggacgttgctggtgtggatattctgcgtgctaatcgcgggccgttg
+gtgatggaggtgaatgcgtcgccggggctggaaggaatagaaaaaaccaccggtatcgac
+atcgcgggtaaaatgatccgctggatcgaacgccacgctacgacagaatattgcctgaaa
+acgggtggttagtcgcaatcacattactgatcatggttttgcctgcgctttttgcgtaag
+ctgtgccggtctttttatcgaaagaggttgtacaaaattatgacatcgctggtcgttcct
+ggtctggatacgctgcgtcaatggctcgatgacctggggatgagtttttttgaatgtgat
+aactgtcaggctctgcatctgccccatatgcagaatttcgacggtgtctttgatgccaaa
+atcgatctgatcgataacacgatcctgttttctgccatggcggaagtccgaccttcagcc
+gtattgccgctggcggcggatttatctgccatcaatgccagttcgctgaccgtgaaagca
+tttcttgatatgcaggatgataatctgccaaagctggtggtttgccagtctttatccgtt
+atgcagggcgtaacctatgagcagtttgcatggttcgtgcgtcagagcgaagagcagatt
+tcgatggtcattcttgaagctaatgcccatcaactgctgttaccgactgatgatgaaggg
+caaaacaacgttaccgaaaactatttcctccactgataactcctttcgagcacgcagtcg
+ctggtgcagtggctgcgcgctgcaaaattatctgctgtttttaaccttttcttaaagatt
+atttcacttctcttgtgtcgatttggctttatcacatagagcaaatatgcataaaaattt
+gttaaataccgttttttaatccgagctatagtctcaaaccctggctaaagttattcttgc
+gatgcttttatatagcgagcagtgctggccgggagaaagttctcttttcttacaccgcgc
+cgataaaaaatatgcacgtttattgcatatctttcagtgtgacaacttttgttcgtttgt
+taacgaactttcagaaggaaagagatatgaccgccttaaataaaaaatggctatcgggtc
+tggttgcgggtgctctgatggccgtctctgtcggcacgctcgcggctgaacaaaaaacac
+tccacatttataactggtctgattatatcgccccggacacggtggccaattttgaaaaag
+aaaccggtattaaagtcgtctacgatgttttcgactctaacgaagtactggaaggcaaat
+taatggccgggagtaccggctttgatctggtggttccatctgccagctttctggagcgcc
+agttgactgcgggagttttccagccgctggacaaaagcaaattgccggagtggaagaatc
+tcgacccggaactgctgaagctggtcgccaaacacgatcccgacaataaatttgctatgc
+cctatatgtgggcgacgaccgggattggctataacgttgataaagttaaagcggtgctgg
+gcgaaaacgcgcccgtcgatagctgggacttgatcctcaaacctgaaaatctggaaaaac
+tgaaaagctgcggtgtctctttcctggatgcgccagaagaagtttttgctaccgtgttga
+attatctcggcaaagatcccaacagcactaaagcggatgattacaccggaccggcaacag
+atctgctgttaaagctgcgcccgaacattcgttatttccattcatctcaatacattaacg
+acctggcaaacggcgatatttgcgtcgctatcggctgggcaggtgatgtctggcaggcgt
+caaaccgcgcgaaggaagcgaagaatggcgtgaatgtctcgttctcgattccaaaagaag
+gggcgatggcgttctttgatgtattcgccatgcctgcggatgccaaaaacaaagacgaag
+cctatcagttcctgaattacctgctgcgcccggatgtagtagcgcatatttccgaccatg
+tgttctatgccaacgccaataaagcagccacgccgctggtgagtgcggaagtccgtgaga
+acccaggtatttatccgcctgcggatgttcgtgcgaagctgttcactctgaaagtgcagg
+atccgaaaatcgaccgtgtgcgcacccgcgcgtggaccaaagtgaagagcggaaaataat
+ccgcagtcgtagatgccggaggggcgcaccacacccgccggcaattcgcaccattatggt
+gcgcttgcacacattcaatgccggagagcagccgtgaatgacgctatccctcgcccgcag
+gcgaaaacccgtaaggcgctgacgccgctattagaaatccgcaacctgaccaaatcctac
+gatggtcaacatgcggtggatgatgtcagcctgaccatctacaaaggtgaaatcttcgcg
+ctgctgggcgcatccggctgtggcaagtccacgctgctgcgtatgctggcaggtttcgaa
+caaccttctgccggacagataatgcttgatggcgtcgatttgtcacaggttccgccttac
+ctgcgccccatcaatatgatgtttcagtcttacgcgctgtttccgcatatgaccgtggaa
+cagaacatcgcttttggcctgaaacaggacaaactaccgaaagcggaaattgccagccgg
+gtcaatgagatgctcggcctggtgcatatgcaggagttcgccaaacgcaaaccgcatcag
+ctttccggtggtcagcgacaacgtgtggccctggcccgaagccttgcgaagcgcccgaaa
+ctattactgctcgatgagccgatgggcgcgctggataaaaagctgcgtgacaggatgcag
+cttgaagtggtggatattctggagcgcgtcggtgtgacttgtgtgatggtcacccacgat
+caggaagaggcgatgaccatggcggggcgcatcgccattatgaatcgtgggaaatttgtc
+cagattggcgaaccggaagagatctacgagcatccgactacccgctatagcgccgaattt
+attggctcggtaaacgtctttgaaggcgtactcaaagagcgtcaggaagatggcctggtg
+cttgattcgccggggctggtgcatccactgaaagtcgacgcggatgcctcggtggtcgat
+aacgtgccggtacatgtggcgctgcgcccggaaaaaatcatgctttgcgaagagccgccc
+gccaatggttgtaacttcgcggtgggggaggtgatacacattgcctatctcggcgatctt
+tcggtgtatcacgttcgtctgaaaagtgggcagatgattagcgcccagctacaaaacgcc
+catcgtcatcgtaaagggttaccgacctggggcgacgaagtgcgtttgtgctgggaagtg
+gacagctgtgtggtgctgacggtttaaggagcaaagatgagtacacttgaacctgctgcc
+cagtcgaaaccgccgggcggatttaagctgtggttgtcgcagctgcaaatgaagcatggg
+cgcaaactggtcattgcgttgccatatatctggttgatcttgctgtttctgctgccattt
+ctgattgtctttaaaataagcctggcggagatggcgcgcgctattccaccttataccgaa
+ctgatggagtgggctgacgggcaactgtccatcactcttaatctcggtaattttctgcaa
+ctgaccgacgatccgctctatttcgatgcttatctccagtcgctacaggtggctgcgatt
+tcgacattttgctgtttactgatcggctatccgctggcgtgggcggtggcgcacagtaag
+ccttcgacccgtaatattttattactactggtgatcctgccgtcgtggacctcgtttctg
+atccgcgtttatgcctggatgggaatattaaaaaacaacggtgtgctgaataattttctg
+ctgtggctgggggttatcgatcaaccgctgaccattctgcataccaatctggccgtttat
+atcggcattgtttacgcttacgtgccgtttatggtactgccgatttataccgcgttgatt
+cgtattgattattcgctggtggaagcagcgctggatctcggtgcacgaccgctgaaaacg
+ttctttactgtgatcgtgccgctgactaaaggtgggattattgccggatcgatgctggtg
+tttatcccggctgtgggcgagtttgtgatcccggaactgctcggtggcccggacagcatc
+atgatcgggcgcgtgctatggcaagagtttttcaataaccgcgactggccggtggcctcg
+gcggtagcgatcatcatgttgctgctgctaattgtgccgataatgtggttccacaaacac
+cagcaaaaaagcgtgggagaacacggatgaataatttaccggtagttcgttcgccctggc
+ggattgtgattttgctgctgggctttacctttctctacgcgccaatgctgatgctggtta
+tctattcgtttaacagctcgaagctggtgacggtgtgggccggctggtcaacgcgctggt
+atggtgagttattgcgcgatgacgcgatgatgagtgcggttggtttaagtctgacaattg
+cggcctgtgcggcgacggcggcggcgatcctcggaactattgcggcggtggtgctggtgc
+gctttggcaggtttcgcggatcaaatggctttgcctttatgatcaccgcgccgctggtaa
+tgccagatgtcatcacgggcttgtcgctgttgttattattcgtcgcgcttgctcatgcca
+ttggctggcctgcggaccgcggtatgctcaccatctggctggcgcatgtcactttttgta
+cggcttatgtggcggtcgttatttcttcaagattgcgggaactggatcgctcgatagaag
+aagcagcgatggatctcggtgcgacgccgctgaaagtgtttttcgtcattacgctaccga
+tgatcatgcccgcgatcatttctggctggttactggcttttactttgtcgcttgatgatc
+tggtgatcgccagctttgtttccgggccgggagccaccacgttaccgatgctggtctttt
+ccagcgtgcggatgggggtgaatccggaaatcaacgccctggcaacattgatcctcggcg
+cggtcggaattgtcggatttatcgcctggtatctgatggctcgcgcagaaaaacagcgga
+tacgcgacatccagcgtgcaagacgtggctgaagacactaaaatttgccaacctggctac
+ataatgccgcgcatgtcgcggcattgttttcatggaagacgaaacgttgggattttttaa
+gaaaacatcttcatctcatgctcgcctgaatgtgcctgcgctggtgcaggtggcggcgct
+cgccattattatgatccgtggcctcgacgtgctgatgattttcaatacgctgggcgtgcg
+cggtattggcgagttcattcatcgcagcgtacaaacctggagtttaacgctggtcttttt
+aagcagtctggtgctggttttcattgagatctggtgtgcgttttcactggtgaaagggcg
+tcgctgggcgcgctggctatatctgctgacacaaatcaccgccgcaagttacttgtgggc
+ggcttcgctggggtacggttatccggagctgttcagcattcccggtgaatcaaaacgtga
+aatcttccatagcctgatgctgcagaagctgccggatatgctcatcctgatgctgctgtt
+cgttccctcgaccagtcggcggttcttccagttgcaataatgtgtataatcgtcgcccct
+gatgatgtgaaggtcaatgtatgcagtgcgcactttacgacgcgggtcgctgtcgttcct
+gtcagtggataatgcagccgattccagagcaactctccgctaaaaccgccgatcttaaaa
+atctgctcgccgactttccggttgaggaatggtgcgcgccggtgtcaggcccggaacaag
+ggtttcgtaataaagccaaaatggtggtgagtggtagcgttgaaaaaccactgctcggta
+tgctgcatcgcgatggcacaccagaagacctttgtgactgcccgctttatcctgcctcat
+ttgcgcccgtttttgcggcgctaaaaccgtttatcgcccgagcggggttaacgccctaca
+acgtggcgcgtaagcgtggcgaactgaaatacattctgctgactgaaagccagagtgatg
+gaggcatgatgctgcgctttgtactgcgttctgataccaagctggcgcaactgcgtaagg
+cgctgccgtggttacacgaacaactaccgcagctgaaagttattaccgtcaatattcagc
+cggtacatatggcgattatggaaggggagacggagatctacctgaccgaacaacaggcac
+tggcggagcgttttaatgacgtaccgctgtggatccgtccgcaaagtttcttccagacta
+atccggcggtcgccagccagttgtacgccaccgcgcgcgactgggtacgacagctgccgg
+ttaaacatatgtgggatctgttctgcggtgtggggggctttggtttacactgcgcgacgc
+ctgacatgcagttaaccgggatcgaaattgcatcagaggccattgcctgtgcaaagcagt
+cagccgctgaactgggcttaacgcgtttgcaatttcaggcgctggactccactcagtttg
+ccaccgctcagggggatgtgccggagctggtgctggttaacccgccgcgccgcggcattg
+gtaaaccgctgtgtgattatctctcaacgatggcaccgcgttttatcatctactccagct
+gtaacgcccaaactatggcgaaagatatccgcgaactgcctgggtttcgtattgaacggg
+tgcagcttttcgatatgttcccgcataccgcgcactatgaagtgctgacgctgctggtga
+agcaataaaaaagccgcatgtgcggcttcagattgctgacaaagtgcgcgttgtttatgc
+cggatgcggcgtaaacgccttatccggcctacaaaagcgtgcaaattcaatacattgcat
+gggccatgtaggcctgataagcgtagcgcatcaggcaattttacctttgtcatcagtctc
+aagccgcggttgcggctttctgaatcttactgtgggaaccactggtcactgattttttga
+taagtaccgtcagctttaattgctgccagcgcgttattcagtttttccagcagggctttg
+ttatccggacgtacagcgatgcccaggccggtgccaaaatattgcggatcggtcactttc
+tcagtagcaacaccaagttgtggattggttttcagccattcgtttaccaccgctgtgtca
+ccaaataccccatcaatacgaccatttttcagatcgataaaggcattctgataactgtca
+taagagacagttttcacttccgggtgctgatcctgaatatatttctggtgcgtagtaccg
+ttttccatcccaatacgtttgcctttcagatcggcaaacgttttgtaggtatcttttttg
+gcaatcacgacggctgagttttcatagtagggcgtggtaaacgatacctgtttgctacgc
+tccggggtgatatccataccggagattacggcgtcatattttctgaatttcagggacggg
+atcaggctgtcgaacgcgtgattagtaaaagtacattctgcctgcatttgtttgcacaag
+gcttttgccagatcgatatcaaagccgacaatctcattattagcacctatagattcaaag
+ggtggataggtggctgaaacgccaaaattgattttctctgcggcagaagcaccgaaagta
+aaggaagcaagtaaagcggcaagaactaactttttcatgatggaactcccgtctgtcaat
+cttatgatttttggccgtgtctgcggcatgggataacaatgccatcaagtgaatttatat
+gcaataaacatgattaaataatttaaatgaaataaaaaagacggacaacttagtgggttg
+tccgtcttcattataagaatttatgcactatgtaggccggataaggcgtccccgccgcat
+ccggcacaggcaccgtgctgatgtctgatgcgacgctggcgcgtcttatcagacctacaa
+aaccccccggcgaatgtacgcagccacattaatttcgccgttcgaatgccagcgctttgc
+gctcgatcagacgcatcatcagcgtcagcaggccgttaacgaccaggtaaataatccctg
+ccgcaccgaacaccattacatcgtaggtgcgtccgtacaacaactggctgtatcccatca
+cttccatcagcgtaatggtgtatgccagagaggtacttttgaataccagcaccacttcgt
+tggaataagaagagagcgagcgtttaaaggcatacggcagcaggatcgccagcgtatctt
+ttttgctcattcccagggcgctacaggactgccactgaccttccgggatcgcacgaattg
+caccgtaaaacagctgcgtggtatacgccgcactattcagcgacaacgcaatcagcgcac
+ataaccacggttctgacaacaaatgccacagtgccggatactcctgcaaagtcggaaact
+ggcccggcccgtaataaatcaggaagatctgcaccagcagcggcgtaccggtaaacagcg
+tgatataaccccgcaccagccacaccagcaccggcgttttcagcgtcaggatgatggtaa
+aaatcaatgccagaatcagtgccacaatcagcgaggcaacggttagcgtcaggctggtgt
+gtagccctttcatcagttcgggtaaatactcaaacattagctgggcctccgctcaaaacg
+tgtcgcgcgcaggtcaatgcgtttgagaatgtactgactgagcagggtgatcaccaggta
+aatcgccgccgccacaatgtaccaggtaaatggttcctgggtacgagtagcgatgctttt
+tgtttgcagcattaaatcattcacactaatcaaactgaccagcgcggtatctttcagcag
+caccagccactggttaccgaggccaggcagcgcatgacgccacatctgcggcatcaccag
+acggaaaaagatagccgatttcgacagccccagcgcctgaccagactcccactgacccac
+cggcaccgctttcaacgcgccccgaagcgtttgcgaggcataggcggcatacagcagtga
+cagagcgatgacaccacaaaggaacgggctaacgtcgaagttctcaatgtccatctgcac
+tgggatctgcacgaacccaagattgatagtgaagccatccgaaagcgtcagcagcagctg
+cgaggagccaaaatagataaacagcaccaccagaatttctggcaggccacgcagaatggt
+taccagcgctgaacctgcccacgcgacaggacgccattttgccgactcccataccgcaaa
+gaacatcgccagcgccagcccgacaatcaatgcacaaacggcaaggccgacggtcatccc
+ggcggcgcttgctaaaggaaaaaattcattcatcaggaattacttctggaaccatttgtt
+gtagatggtttcgtaagtgccatctttcttcactttttccagcgcagtgttgagtttctg
+ctgcagctcagtgttgccctgacgtaccgcgatgccgaggccagtgccgaagtaatcttt
+atcggtcactttgtcgcccaccgccgccagtttcgggttatctttcagccactcagtgac
+cactgcggtgtcaccgaagacgccgtcgatacgcccgttttgcagatccagttttgcgtt
+ctggtagctgtcatacggaacggtagtgatttccgggtgcttatccataatgaatttctg
+gtgtgtcgtcccgttctgtacgccgacttttttgcctttcagctgatcaacactggtgta
+tttgccttgctgacccacaaacagggcagagttgtcatagtacggggtggtaaacagcac
+ctgcttttcacgctccggagtgatatccatgcccgccatcacggcttctacgcgacggaa
+tttcaggcttgggatcaggctgtcaaacgcctggttagagaaagtgcaggttgcatcaat
+ctctttacacagcgcttgtgccaggtcgacgtcaaaaccaacgatctggttgtttgcatc
+aatcgattcaaacggaggataggaggcttcggtagcaaaacgaatggtttcggcagctgt
+ggcggaaagactaaaacctgcaattaacgcggcaatcagaacttttttcattgttgttat
+cccgaatcttagtgagagagatagtttttaaatgcttcggtttgcggctcggtaaagcag
+ctcgcgtcgccttgttctacgatatgaccattttccatatacaccactcggctggcggtt
+ttacgcgccacttcaacttcgtgggtgacgatcacctgggtaatattcgtttctgccagc
+tcacgaatgatgctgacgatttgtgccgtaatttccgggtccagtgcggcggtcggttca
+tcgaacagcagtacctgcggttccatcatcaacgcacgggcaatagcaacacgctgctgc
+tgaccaccagaaagatgcagcgggtaacgatcgctataaggtttgagacgcagacgttcc
+agcagtttttctgcacgggccagcgcctgatctttactcaaccccagtacacggcagggc
+gcttcaatcaggttttgctgcacggtcagatgcggccacaggttgtattgctgaaacacc
+atgccaacgttacgacgcaaatcgcgaatcgctttgtcagagggtgttttggtgaaatcg
+aaatggttgcctgcaatgttgagcgtaccggagcgcggcatctcaagcagattgagtaca
+cgcagcagcgagcttttacccgcgccgctggggccaagtaacaccagcgtttcgccctgt
+gggcaatccagcgtgatatcgaacagcgcctgatgcgcgccgtagaagcaattaatgccg
+tttaattgaatactcattgacactcgtatactggcagtctgatagctattgaggtcgaag
+atagtacctttgacagaataattatgcaatatttctgctttaaaagttaaaagcaaagcg
+cattattcaataaacatagcacaaaataacgggggcggtggtcggcgagcataaatgtcg
+gcattcctcacgaaatgccggacaatttacggggtttattggttgatcaaggcgttagcg
+attctcgatggactgacggagcgtacccgccgtggcatgaacgctaccgcctaagtaacg
+cacatcgtcgatgacccaacactggccttcctgaatcattaacacttcatcctgccaacc
+ctggtcaccctgtttgagatccacgcgcaatggaatgttacgggcatcacgattagggat
+agtcgatgcactggcaacgtgggcgctatctggcaaggtggttcgactggagaatggatc
+gttggtcagtagttcccgatggttattatcccgggaggcatcgctaagcagtgtcgccag
+tttgtcgctcagataagggcgcaaggcggtgatgtcgttgctgcggtgcaaaatgcggta
+gtcataaaattgctgggccacgttatccgggcctccttcaacgcaaggaccactgcgtgt
+gccgttatctttataagctggagtgactgtggtgcaggcactgaggagcagtgcgcaggg
+gataagcattgtcaatttgctgtagcgcataatgatttccttataagcgatcgctctgaa
+agcgttctacgataataatgatatcctttcaataatagcgtatcagtctgataatgcttt
+tgagatcgaaggcttagcaaacaaggagatcgatcatgcaattttctacaaccccaactc
+tggaaggccagaccatcgttgaatattgcggtgtggtgaccggcgaagcgattttaggtg
+ccaatattttccgtgatttctttgccggtatccgcgatatcgttggcggacgttccggtg
+cgtatgaaaaagaactgcgtaaagcacgggagatcgcctttgaggaattaggctcccagg
+cgcgggcgctgggggccgatgccgtcgtcggtattgatatcgactacgaaacggtcgggc
+aaaacggcagtatgctgatggttagcgtcagcggtacggcggtgaaaacgcgtcgatgag
+aagattcttctggctggtcgctgccgctctgttattggcagggtgtgcaggcgaaaaagg
+cattgtcgagaaagagggatatcagcttgatacccgacgccaggcgcaggcggcgtatcc
+gcgcattaaagtgctggtgatccactacaccgcagatgattttgatagctcgctggcgac
+actgaccgataagcaggtcagctcgcattatctggtccctgcggtaccaccgcgatacaa
+cggtaaaccgcgcatctggcaactggtgccggaacaagaactggcctggcatgcggggat
+tagcgcctggcgcggggcaacgcgccttaacgacacctctattggcattgagctggaaaa
+ccgtggctggcaaaaatcggccggagtgaaatattttgccccgtttgaaccggcacagat
+tcaggcgcttattccactggcgaaagatattattgcccgttatcacatcaagccggaaaa
+cgtagtggcacatgcggatatcgcaccgcagcgcaaagacgatccggggccattatttcc
+ctggcagcaactggcgcagcaggggattggtgcctggccggatgcgcagcgggttaactt
+ttaccttgccgggcgcgcgccgcacacaccggtagataccgcgtcattgctggagctttt
+ggcgcgctacggttatgacgttaaacctgatatgacaccgcgcgagcagcggcgcgtgat
+tatggcattccagatgcatttccgcccgacgttatataacggcgaagcggatgcagaaac
+tcaggcgattgccgaagcattgctggagaaatacgggcaggattagcgcggcagttttcc
+gtggtcgcgtagccaggcggcagttttctcgataccttcatccagggtgatgaccggctg
+ataacctaactcttcctgcgcacgcgtaatatccagcgtaaagtcaaaattcaacttgga
+gacgccgtagtgggtcagcggcggctcttttgctgacttgcggcctaaacgctccatgct
+gcgggcgatcatatccagcatcgggtaggggacggaacgaatacgacagtcaatattcaa
+ctcgtcgatcagcttctgcacgatgctgcgcagtgtgcgatgctcgccgttggtgatgtt
+gtacacacgcccggaaggtagcttatcgcaggcttcctggcttgccagccacattgcgtg
+cacggcattttcatagtaggtcatatcgaccagcgcactgccgccatgcggtaacagaat
+actgccgtagtggtgcatcatatgcgccagacggggaataaagactttatcgtgcggtcc
+gaacagactttgtgggcgcagaatagtaaagcgcgtttgtggattcgcctgcgaaagcat
+attgatcacttcttcgctggctgctttgctgcgggcaaactcgttggcgaagcggtgagg
+gcgaaaatcttctttaatatcgcgatggtggtgataatcgaagtacagggagggggaaga
+gatatgaataaagttacgcacaccccaggcgacagcccattcacccaggcggcgagtggc
+gcgaacgttagccagatcgaaagcctgttgtgtcccccagggtgaggtaaagctggagca
+gtgccacagcgtatcaatgcccgcgagcatcactttagcttgtgatgaaaccagctcggt
+cagatccgccggaacaaactctgcgcccattttttccagcaatttgcccattgcctcgtt
+gcgaccggtcgctcgcacgctgatgcctttctggcataaaaactctaccgcgtttcgacc
+taagccgctggtggcgccggtaaccagtaccttcatatcaatccactgttgttgagaaaa
+taacgtgcgcattcttccgtgatttcccccatgatgcaatgggaaacatgaaagaataac
+gcaggttttgtcgattaatctgtgctttgttctgccagtctggcgatttgttttgccatt
+ccgcgaaaaataaacagatgcgcggggatcatcaataaccagtaaaacagccccggcata
+ccgtgcggatgccagaaagcgcggacatcgatagtacgatagtcgcctttatcttccagg
+ctaaaacacagtcgtcccagccccggcgctttcatgccaaataacaacgtaagttgtttt
+tccggttcaacgacaatcactttccagctatccaccgcatcgccagtctgtaaatattcg
+cgctccgggcggcctttcgccagcttatgaccgatcgcgcggtccatcaacgcccgtgtc
+tgccacaaaatattgccaaagaaataacgctctttaccgccgatttggttcactacctgc
+cataaagcagcaaggctggcggacgttttaacggtaaaccccgcctgtttggcaaaataa
+ccgtactccggtcgccagcgggcaaaggcctgagcgtcgtagccccagtcgctggagttg
+accagtttttcctcctctttcaacgtgctacgtaccgcgtcatcgaaagcgatcagccgt
+tgtgggatgagtgcacgtagcgcggtatcatccgccagcagatcgtgtttcagcccctga
+atcaacgccctggcggtggtgggcggtacggaagtaatcacattgagaaaccacaccgaa
+atccagcgggtggggagggggatggggatcaaccagcggcgcttaccgctcaccgccata
+aaatgttcaaactgttgctgataactgagcacctctggtccggcggcttcgaagatgcgg
+tgttcgctggccggatgatctaacaacgcaaccagatagtgcagcaagttttccagcgca
+atgggcgtggtgcgtgaacgaacccagcgcggaggcgttaagactggcaggttgtagacc
+atatcgcgcatgacttcgaacgccgcggaacctgcgccaacgataattccggcccgcagt
+tcggtcacgggtacattcgcttcacgcagaatgtccgccgtagcctgacgagcacgcaga
+tgatccgactgctcatgtggcggggcctgcaacgaactaagaaagattaattgcttaact
+ggtacttcacgtagcgcatcgcggacgttgagagccacctggcgctcctgagcgataaaa
+tcgccgccttcgcccatgctgtgcaccagaaaatagaccgtatcgatatcctgcaacagg
+gccggtaggttatccggccagctgagatcgactttatggcaactgacgtttgccagttgc
+agctttgcaagcctgtcgacatgacgtgccgccgccaggatctgatgcccttgctggctg
+agtgtgcgcaccagatgctgaccaatgtagccactggcaccgagaactaaaatgcgttgc
+ggcacgtctctctccttaacgcgccaggaatgcacgccagtgggcggcgacttccgccag
+ttgttcgcgcgagacgtcaagatgcgtcaccaggcggacaatcggcgaggcgttaatcag
+cacgtttctcgctttcatgtattcgcctaacgcggcagcattttcttccccgacgcgaac
+aaacagcatattggtgtcctgacgcatcacatccgcgcctgcttcacgcagctgctccgc
+catccaggcagcgttgtcgtggtcttcctgcaagcgcgcaacgttatttttcagggcata
+tatcccggcggcagccagaatgccggactggcgcatcccgccacctgtcattttccgcca
+gcgaatggcacgtttaatgtaatcacgattaccgacgagtaatgaaccgactggcgtccc
+aagacctttcgacaggcaaatggtgaacgaatcacaatattgcgtgatctctttcagttc
+gcagccgtaagccaccacggcattaaagatgcgcgcaccgtcaacatgcagcgccagatt
+gcgctcgcgggtaaattcccatgcttctttcaggtattcccgcggcaacactttgccgtt
+gtgggtgttttccagactgagtaatttggtgcgggcgaaatggatatcgtcgggtttgat
+tttcatcgccactttatccagcggtagcgtgccgtcggcagccgcgtctatgggttgcgg
+ttgaatactgcccagcaccgccgcgccaccggcttcaaacagatagttatgcgcggcctg
+accgacaatatactcttcgccgcgttcgcagtgactgagcagagcgaccaggttggcctg
+agtgccggtaggcagaaaaatggcggcttctttaccggaaagctctgctgcgtagtcctg
+cagagcattaacggtagggtcgtctccgtaaacgtcgtccccaaccggggcggccatcat
+cgcttcgagcatggcgcggcttggtcgggtaacggtatcactgcgtaaatcaatcatggc
+atgtccttattatgacgggaaatgccaccctttttaccttagccagtttgttttcgccag
+ttcgatcacttcatcaccgcgtccgctgatgattgcgcgcagcatatacaggctgaaacc
+tttggcctgttcgagtttgatctgcggtggaatggctaactcttctttggcgaccaccac
+atccaccaacaccggaccgtcgatggagaaggcgcgttgcagggcttcatcaacttcaga
+cgctttttctacacggatacccgtaatgccgcacgcttcggcaatgcgggcaaagtttgt
+gtcgtgtagttcggtgccgtcagtcaaatagccaccagctttcatctccatcgccacaaa
+gcccagcacgctgttgttaaagacgacaattttcactggcagtttcatctgcactactga
+gaggaaatcgcccatcaacatgctaaaaccgccatcgccgcacatggcgaccacctgacg
+ttctggctctgtcgcctgcgcacccagcgcctgcggcatggcgttagccatcgaaccgtg
+gttaaacgaacctaacaggcgacgcttgccgttcatttttagataacgtgccgcccacac
+cgttggcgtaccaacgtcacaggtgaaaatagcgtcatcggcggcaaaatgactaatttg
+ctgcgccagatattgcgggtgaatggctttctcgctcggtttagctaaatcgtccagccc
+tttgcgggcgtcgcggtaatcttccagcgctttatccagaaacttgcgatcggctttttc
+ttccaccaatggaagcaatgcacgcagagtcgacttgatatcgccgaccagtgccatatc
+caccttgctgtgagcgccgatgctggctgggttgatatcaatctgaatgattttggcatc
+ggtcgggtagaaggcgcggtagggaaattgcgtgccgagtagcactaacgtgtcggcgtt
+catcatggtatggaaacctgacgagaagccgattaacccggtcattccaacatcatacgg
+attatcgtattcgacatgttctttaccgcgcagggcatgaacaataggcgctttaatttt
+cccggcaaactcaactaactctttatgcgcccccgcgcagccgctgccacacatcagggc
+gatattgctggaataacgcagcagttgcgccagtttgcgtaactcttcttcttccggcgt
+cacgactggttgtggcgcatgataccagtgcatggttgccccttctggcgcaggttttaa
+cgccacgtcgcctggtaacacgacaaccgaaacgccacggttaagcaccgctttgcgcat
+ggcaatcgccagtacttgtgggatctgctccgggctggaaaccagctcgcaatagtgact
+acattcgcggaatagctcttgtgggtgggtttcctggaaatagccgctgccaatttcgct
+ggagggaatatgagcggcaatcgccagtaccggaacgtgattgcggtggcaatcgaacag
+gccgttgattaagtgcaggttgccggggccgcacgatccggcgcagaccgccagttctcc
+gctaagttgtgcttcagcgccagcggcaaaggccgccacttcttcgtggcgggtggacat
+ccactcgatggtgcccatgcgattaagactgtcactaagaccgttcagagagtcgcctgt
+gactccccagatgcgtttcacccctgccgattcgagtgttttggcgatataagctgcaac
+cgtttgtttcatggttctccatctcctgaatgtgataacggtaacaagtttagttcatct
+gacggagggggaagggatgggagagaaaggaggcactaacggttaaatagcccgatgaaa
+ggaatatcatcgggcataaggcgattatgcgagaaccaaatccccctgcggatggcagga
+gcaggccagtacgtaaccttcagcgatttcggcgtcggtcagcgtcattgtgctgctcac
+cgtatattcaccggaaaccacttttgtcttacagcagccgcaaacacccgcacggcaggc
+agcgacaaccggaacgttattgctttccagcgcctccagtagcgtggtgccaaccggggc
+gtaaaattctcgtgccggttgcagtttggtgaatttcagaccgctggtcgccgcttctgc
+tactggggtgaagaatttctctttaaagaaacgcgtcacgccgagcgctttcacttcctg
+ctctacccaatccatatacggagccgggccgcaggtcatcacggtacgtgaagctaagtc
+aggtacacctgccagcagttcgcgagtgagacgaccagcgataaagccttcggtaacgtt
+attttctgccaccagcgttaccggatagttacgccactcatcggcgaaaataacatcctg
+cggcgtacgcacgttgtagatcacccgcacatcggcctgtggacggttcttcgcaagcca
+gcgacgcatcgacataatcggcgtgacgccgcagcctgccgccagcaacaggaatttatc
+ttctgctttatcgtcgcaggtaaattcccccatcgcgtccgaaagccagagataatcacc
+gcgttttacatcgcgcgtcagccactgggagccgacaccgtcatcaatccgccgcacggt
+cagggtgatatattcactcacgcctggcgtggaggaaatggtgtaagcacgcagcgtttc
+cgctgagtttcgcacgctgaccagtgcatattgcccggcgcgatatgggtagtaatcgtg
+gcaaatcagggaaatcgtccacacatccggcgtttcttgcgtaatgtgatgaacctgcat
+ccgccacgggcattgattcgttggcatcgtcatcgacaaactccttacgcgctcaacagt
+tgcttcatgtcttcttcaacagtggtgatagaacgcaggccgaatttctcgttcagcacc
+gccagcaggtctggtgtcaggaaaccaggtgcagtcgggccggtgacgatatttttcacg
+cccagagaaagcagcgtcagcagaatgacgatcgctttctgttcaaaccaggagagcacc
+agcgacagcggcagatcgttgacaccgcagcccagtttctctgccagagtgacagccaga
+ataatcgctgagtaagcatcgttacattgacctgcatctaccagacgcggcagaccttcg
+atatcgccaaactcaagtttgttaaagcgatatttaccacaggcgagggtcaggatcagg
+cagtcatccggcacgctggtggcgaaatcggtgaagtagtggcgctcgccgcgtgcgccg
+tcacagccaccaagcaggaagatatgacgcagtttttcacggctcaccagatcaatcagc
+gtatcagcagcgccaagcagcgtctggcgaccaaaacccacggtgataaggtgcggaatt
+tcgctgtacgggaagcctgccatctgttgcgcctgggtgataaccgcagagaaatcatca
+ccgtccagatgacgcacgccaggccagccaacaatgctgcgggtccagatacgatcgtca
+taagcgcctacggttgggtcgatgatgcagttcgaggtcatcacgatggggccagggaaa
+cgagcgaactccacttgctgattctgccagccgctgccgtagttaccgaccagatgcttg
+aatttacgcagctccgggtagccatgcgcaggcagcatttcgccgtgggtgtagacatta
+acgcccgtgccttcggtctgttccagcaggttgtagagatctttgagatcgtgaccggaa
+atcagaatgcatttacccgccgtcgctttgacgttgacctgggttggcgtcgggtgaccg
+tatttaccggtttcgcctgcatccagaatgctcatcactttgaagttcatctggccgatt
+tccattgaacactcaagaagcgcgttcatatcggcaggccaggtccccagccacgccatg
+attttatggtactgggcataaatatcgttgtcgtattgaccgagaacatgcgcgtgttcc
+atataggccgccgcacctttcaggccatacaggcacagcagacgcaggccgagaatgttt
+tcgccaatcgccgctttatctttgttaggggtaaattctgctgcctgacgttgcagctcg
+ccgagatcgtcgctcaccagttgcaggtcagccatcgggttatcgacgcgcgcgttggca
+tctacagccaggcattgcgctttcagcgcctcgcgcagggcaatcgcttcacgagcgtag
+ccgacaatacgcggagaatcgaagttaacgttggtcagggttgagaaaaaggcacgtggc
+gcgaagctgtcaacatcgtggttgatgatgccgtattcacgcgcttttaccgcccaggca
+gaaagcccttgcagcgccgcgatgagtaaatcctgaaggtcagaagtttccgccgtttta
+ccacacatcccctgcgcgtatgagcagccgtttcctgccggagtacggatagtttgttca
+cattgcacacaaaacatgatcacaccttttaaagttatatttaatatacatgtttaaggt
+taagacgcttaacgcggggataaaagggatttttcatgcaactttaagggagattgattt
+agcgcaattttggcggcagggatctaccgccagagaggtattacgcagagaaaaaggcga
+tgaggatcggcactaacaggctaagaataaaaccgtgaacaattgccgccgggaccatat
+ccagcccgccagtacgttgaagaacgggcagggtgaaatccattgatgtggcaccgcata
+agcccagtgcagtagagcggctgcggcgaatcagcccagggatcaacataatagcaatca
+gttcacgggccagatcattaaaaaacgccgcgctcccgattaccggaccaaaagattcgg
+tcaataaaataccggaaagagaataccagccgaaaccggaggccattgccagcgcggtat
+tgatggggagatcaagaataaaggcgttaattaaaccaccaattaatgaactgacaacca
+ccaccacggcgacaatcattccccggcgattaaggacaatctgctttaaggtcatgccat
+tattgcgcaactgaataccaacgaggaaaagtagcaaaattaacgtgtattcactggctt
+cggtcgcgtgttgtaagaaagccagtccacttagaccaatggcaaaaccaatcactacta
+cgccgcacagttttagcgactccagcgccatcgcaatacgcgacgggagtttttcttgct
+gatggtggttgcgccacggcaggcctcgctccagccacatcagggcggcaatattacaca
+gtaaaataacggtaatactgacggcagaataatgcagaatcgccaacaggttactggcga
+ggttatcgagaaacgccagactgatacccataaaaaagagaataaggtaaaccatccagc
+ttaatagctgattaataacttttaacgcagcttgttggcgaagcggaatgaggtaaccca
+caatcaggggaaccagaatgattaacagcccagaaaacatgaaaacccagtccttgcaaa
+gatgaagtcgaaatgcgcgatgacacactactgaaagcggaaggacgagtaaagttgcaa
+ttaaaaggaaatgttatgcataaggagcagtagagtattcgttttcatttaaagatattc
+ttgcgctttaattacaaactgcaccgatgttggtggcgtcaaaatcgccgaggcgttccc
+tgaaggccggggcagcccacatggatgtgggctgagggcgcgttttacagggatgttacc
+tcgcgcccgacccggtagccgtaagggataagtcgagggcaccgcgcagcggcgattttg
+ttcgccagagcccgggggtgcagggggcggcggcgattggccgccccctgcgcgctcctt
+gcgccagtggcaatatgttgcttagctcatgaaaggagcgcaacaagatgatgaatcaac
+atataacaacatcttaaaaaaaggcctgacattacgccaggccttctgcgttaattaatc
+acgcttttccagcagggtccggtaaatcagaccaccgataatgccgccgacaattggcac
+cacccagaagaaccacagttgttctaatgcccagccgccctggaagatagcaaccgcggt
+gctgcgcgccgggttaacagaagtgttagtcaccggaatactaattaagtgaatcagggt
+taaggccagaccaatagcgatcggcgcaaaacctgccggcgcgaatttgtcggttgcgcc
+gtggatcaccaacaggaaacctgcactcaataccagttcaactaccagcgcggaaagcat
+ggaataaccgcctggtgaatgctcgccataaccgttagaagcaaaaccgctggctgccgc
+gtcaaaacccgttttaccactggcaattaaatacagcagcgccgctgcaacaataccgcc
+gacaacctgggcaattacgtagccaacgacttcttttgccggaaaacgtccgccagccca
+taaaccaatagtgaccgccgggttaaaatgaccaccagaaatatgaccaacagcaaaggc
+catcgtcagaacggtcagaccgaacgccaacgccacgccggcaaaaccaatgcctaattc
+cgggaagcctgcggccagtacagcactaccacagccaccaaaaacaagccagaaagtacc
+aaaacattcagctgctaattttctgaacatatccaccacaattaaaaattgaccctgtga
+aaaatatggtcgttttatagggtcgtcgtaaaaaagtgacgacggaaataatgcgcggct
+attttaaaaacgaaggcgagtcattcaccagataaataaatccagtaaatttgatttagg
+gcaacagcgggttgccccatatagtcatttgtctgattgacagtgtagtgcacgcaaaag
+atttaatcctttaggcgtaataaaaaataatttatcatgctaattatttgattttgttgt
+ttttgcagacttatcagcaagagggagtataacgcgattattcgctcatttttcagacat
+ttgccatgcttaaatgtgatgtcatcacgtattagcaaggcctttcccgttatactgcca
+gcgtaaaggataagtcacatatttctggaggggatatgattcttgagcgcgttgaaattg
+tgggttttcgcggtatcaaccgtttgtcgttgatgctggaacaaaacaacgtcctgattg
+gggagaacgcgtggggtaaatccagcttgctggacgccttaactctgctgctatcgccag
+aatcagatctctaccattttgagcgcgacgatttctggttcccgccgggagatatcaacg
+ggcgagaacatcatctgcatattattttgaccttccgcgaatcgctgccaggccgacatc
+gggttcgccgttatcggccgctggaagcgtgctggacgccatgcaccgatggctatcacc
+gtattttttatcgtctggaaggggagagtgcggaagacggcagcgtgatgacactgcgca
+gttttctcgataaagacggacatccgattgatgtcgaggatattaacgatcaggcacgcc
+atctggtgcgtttaatgccggtgctgcgcttgcgtgatgcccgttttatgcgccgtattc
+gtaacggcacggtgccaaatgtccctaatgtggaagtcaccgcgcgccagctcgatttcc
+tcgcccgtgagttatcctcacatccgcaaaatctctctgatgggcagattcgtcagggac
+tttccgcaatggtacagctgcttgagcattatttctctgagcagggggccggacaggcgc
+gatatcgtttaatgcggcggcgagccagcaatgagcaacgaagctggcgctatctggata
+tcatcaaccggatgattgaccgacctggtgggcgctcgtatcgggttattttgctcggcc
+tatttgctactttgttgcaggcaaaaggcacattgcgactggataaagacgcccgtccat
+tgttgctgatcgaagatccagaaacccgtttacaccccattatgctttcagttgcctggc
+atctgttgaatcttctgccattgcagcgcattgccaccaccaactcgggtgagttgcttt
+cgttaacgccggtagagcatgtttgccgactggtacgtgagtcctcgcgcgttgccgcct
+ggcgtctggggccgagtggcttgagtaccgaagatagccgacgcatatcctttcacattc
+gttttaaccgtccgtcatcgctgtttgcacgctgctggttgctggtggaaggggaaacgg
+aaacctgggttatcaatgaactggcgcgtcagtgcggacatcattttgatgccgaaggga
+tcaaggtcattgagtttgcccagtccgggctaaagccactggttaaatttgcccgccgaa
+tggggattgaatggcatgtactggtcgatggcgatgaagcagggaagaaatatgccgcta
+cggtacgcagcctgttgaataacgatcgggaagccgaacgagaacatttaacggcgttac
+cggcgctggatatggaacattttatgtatcgccagggattttccgatgtgttccaccgca
+tggcgcaaatcccggaaaatgtaccgatgaatctacgcaaaattatctcgaaagcgatcc
+atcgctcttccaaacccgatcttgccattgaagtggcaatggaggcaggacgtcgtggtg
+tggactccgtaccgacgctgctgaaaaaaatgttctcacgcgtgctgtggctggcgcgcg
+gtcgcgcggattaaccgcgaaacatcgtggccatttgtggctgaatagcgtcgagcatct
+catagcgccgacggtattcagcccgttttttactggcgatttcggcaatctcttttcgtg
+ctatctgtgctggaaggcggtaatggcgttcagcatcacatacgccgccaaccgattccc
+agaaagcgttgtaatcagcgtggatcttgccttctttatcgcgataacgcaggctgcggt
+aaatatgcgtttcattgctgacggcaataatctgctctacctgcaaacgttgggcaaaca
+gacaggccgcttccatcacgaggcgtttgggaaatagcccgtggcaggctttcgtcgcat
+tctggatttcctgatgtggaatttcccattttgcgccttgcagtccgccaataaacatcg
+ttcttttcccctgatattcacacagggtaaacgtgatctctgccagaggaataccttcgc
+tgttgcggaacaggattgtgctgtcaccttctttatccattgagatcatcatggtcagct
+caagcgtgaactgctcgccgtttttgccttccagcttcgccagttgcagcccgggggtat
+tcaaatataagctgaattcttccgccgacatacattcgcggagtaacgcataatggtaac
+gtaacgcctccagcaattgcttacggctaagattcgccgcaaggtaagggcgatgcagac
+gcacaggcagtcgcggctggcgcgttaacaatacattgagattaggccagtgggaaagtt
+cgttcatccactcaacgcttaaacgcggcataatcaacgagcgcagcaaaaatttctggc
+gaaaactacggcgatgccagaatttacccggccgacactgtccacgtgccagactaagaa
+aaagtgacaggctgctgagagattcagatggcgtaaaggtccgttcagttagctgcgaca
+tattcatgaaatcaatggttatacatggcgtcgatttcaccattgcgtatcttaaccaaa
+catcaatagtgtgattactaacgtaaattttagggttttgttgatatttcgttgaagtta
+atgacccggattggcatatggagtattcagaaaatttatgaaaaagcggaaaaccgtgaa
+gaagcgttacgttattgcgctggtgatagtcatcgccggactgattacgttatggagaat
+tcttaacgcacccgtgccgacttatcagacgctgattgtgcgccccggtgatttacagca
+aagcgtgctggcgaccggaaagctggacgcgctgcgtaaggttgatgtgggcgcgcaggt
+cagcggtcagttgaaaactctgtcggtggcgattggcgataaagtaaaaaaagaccagct
+tttaggggttattgatcctgaacaggctgaaaaccagattaaggaggtcgaagcaacgct
+gatggagctacgtgcgcagcggcagcaggcggaagcggagctgaaactggcgcgggtgac
+gtattcccgtcagcaacgtctggcacaaacgaaggctgtttcacagcaggatctcgacac
+cgccgcgacggagatggctgtgaaacaggcgcaaattggcaccattgacgcgcaaatcaa
+gcgcaatcaggcttctctcgatacggctaaaaccaatctcgattacactcgcatcgttgc
+cccgatggccggggaagtcacgcaaatcaccactctgcaaggccagacggtgattgccgc
+acaacaagcaccgaacattctgacgctggcagatatgagcgccatgctggtaaaagcgca
+ggtttctgaagcggatgtaatccacctgaagccggggcaaaaagcctggtttacggtgct
+tggcgatccactgacgcgctacgaggggcaaatcaaggatgtactaccgacgccggaaaa
+ggttaacgacgctattttctattacgcccgttttgaagtccccaaccccaatggtttgct
+gcggctggatatgactgcgcaagtgcatattcagctcaccgatgtgaaaaatgtgctgac
+gatccctctgtcggcgttaggcgatccggttggcgataatcgttataaagtcaaattgtt
+gcgtaatggtgaaacacgcgagcgtgaagtgacgattggcgcacgtaacgataccgatgt
+tgagattgtcaaagggcttgaagcgggcgatgaagtggtgattggtgaggccaaaccagg
+agctgcacaatgacgcctttgctcgaattaaaggatattcgtcgcagctatcctgccggt
+gatgagcaggttgaggtgctgaagggcatcagcctcgatatttatgcgggtgagatggtc
+gcgattgttggcgcttcgggttccggtaaatcgaccctgatgaatattctcggctgtctg
+gataaggccaccagcggcacctatcgcgtcgccggtcaggatgttgccacgctggacgcc
+gatgcgctggcgcaactgcgccgcgagcatttcggctttattttccagcgttaccatttg
+ctttcgcatttaaccgccgagcagaacgttgaagtacccgccgtctatgctggtcttgag
+cggaaacagcgactgcttcgtgcccaggagttgctgcaacggctggggctggaagaccgt
+acagagtattatccggcacagctttcgggtggtcagcaacagcgcgtcagcatcgcgcgg
+gcattgatgaacggtggtcaggtaattcttgccgatgaaccaaccggcgcactggacagc
+cattctggcgaagaggtgatggcgatcctgcatcagctgcgcgatcgtgggcatacggtg
+attatcgtcacccacgatccgcaggtcgctgctcaggccgagcgggtgatcgaaattcgc
+gacggcgaaattgtgcgcaatcctcccgccattgaaaaagtgaatgttactggcgggacg
+gaacctgttgtcaacacggtgtctggctggcggcagtttgtcagcggttttaacgaggcg
+ctgacgatggcatggcgggcgctggcagcgaataaaatgcgtactttactgaccatgctg
+gggattattatcggtattgcgtcggtggtttccattgtcgtggtgggtgacgccgccaaa
+caaatggtgctggcggatattcgttctattggtacgaatactattgatgtctatcccggg
+aaagattttggcgatgacgatccgcaatatcagcaggcgctgaagtacgacgacttaatc
+gccatccaaaaacaaccgtgggtcgcctcagccacacctgccgtctcgcaaaacctgcgc
+ctgcgttataacaatgttgatgttgctgccagtgccaatggcgtgagcggcgattatttt
+aatgtctatggcatgaccttcagtgaaggaaacacctttaatcaggagcagctgaacggt
+cgtgcgcaggtcgtggttctcgacagtaatactcgccgccagcttttcccccataaagca
+gatgtggttggcgaggtgattctggtcggcaatatgcccgccagagtcattggtgtggcg
+gaagaaaaacagtcgatgtttggtagcagtaaagtgctgcgtgtctggctaccttacagc
+acgatgtccgggcgagttatgggccagtcgtggcttaactccattactgtcagggtgaaa
+gaaggatttgacagcgccgaggcggaacagcaactcacgcgtttactttcactgcgccac
+ggaaagaaggatttctttacctggaacatggacggcgtcttgaaaactgttgaaaagacc
+acacgtactttacaactgtttctgacgctggtggcggtgatttcgctggtggtgggcggt
+attggtgtaatgaatattatgctggtgtcagtgaccgagcggacgcgggaaattggcatt
+cgcatggctgtaggtgcgcgagcaagcgatgttttgcaacagttcctgatcgaagccgta
+ctggtttgcctggtcggtggcgcgttgggaataacactgtcactgttaattgctttcacc
+ttgcagcttttcttacccggctgggagattggtttttcaccgttggcgctgctgctggcg
+tttctctgctcgacggtcaccgggattttatttggctggttacccgcacgaaatgcggca
+cgactggatccagtagatgctctggcacgagagtaatttttgagataaaaatgccagccg
+atcgggctggcattttgcctttaggatgtacacaatgagacagaagagctatgcgactgc
+cgcttctacttcgacgggcacaataacactggcgtgattgccttttggcccctggtggac
+atcaaactgaacggattgtccagcttttagcgttctgtaaccatccatctgaatggtgga
+ataatgagcgaaaatatcttcgccgccgccttcagggcagatgaaaccaaaccctttggc
+attgttgaaccacttaacagtacccttttccatgcttcgacatccttcgcaaatcttata
+caagtaagatggaataaaccggggtcagagagggggctgttcaaaacctcgccaactcta
+gaaatacaatttagagaattagggcgagccgtcaagcatttgacaggggacaaggggcag
+gtatgaatcaaaaatttgaagcagttaacgctattgacaggaatgtgacagatgtcgctg
+atgccaacgatagatgatagttatctatcatgtggagtagattggtcaggcaaataagct
+cttgtcagcggcagggcgttctgccgataaccgtaaccgaagatgataactgacaatggg
+taaaacgaacgactggctggactttgatcaactggcggaagaaaaagttcgcgacgcgct
+aaaaccgccatctatgtataaagtgatattagtcaatgatgattacactccgatggagtt
+tgttattgacgtgttacaaaaattcttttcttatgatgtagaacgtgcaacgcaattgat
+gctcgctgttcactaccaggggaaggccatttgcggagtctttaccgccgaggttgcaga
+aaccaaagtggcgatggtgaacaagtacgcgagggagaatgagcatccattgctgtgtac
+gctagaaaaagcctgaatgcaggcataaaaattgggggaggtgcctatgctcaatcaaga
+actggaactcagtttaaatatggctttcgccagagcgcgcgagcaccgtcatgagtttat
+gaccgtcgagcacttgttactggcgctgctcagtaacccatctgcccgggaggcgctgga
+agcgtgttctgtggatttggttgcgctccgtcaggaactggaagcctttattgaacaaac
+cacacccgttctgcctgccagtgaagaggagcgcgacacacagccgacgctgagttttca
+gcgtgtactgcaacgtgcggtcttccatgtccagtcctccggtcgcaatgaggttaccgg
+tgcaaacgttctggtcgctatctttagcgaacaggagtcgcaggcggcatatctgttgcg
+taaacatgaagtcagccgtctcgatgtggtgaactttatctctcatggcacgcgtaaaga
+cgagccgacacagtcttctgatcctggcagccagccaaacagcgaagaacaagctggtgg
+ggaggaacgtatggagaatttcacgacgaacctgaatcagcttgcgcgcgtgggcggaat
+cgacccactgattggtcgtgagaaggagctggagcgtgctattcaggttctctgccgtcg
+ccgtaaaaacaacccgctgctggtgggggaatctggtgtcggtaaaaccgcgattgcgga
+aggtcttgcctggcgaattgttcagggcgatgtgccggaagtgatggctgactgtacgat
+ttactctctcgatatcggttctctgttagcgggcacaaaatatcgcggcgactttgaaaa
+acgttttaaagcgttgctcaagcagctggagcaggacactaacagcatcctgtttattga
+tgagatccacaccattatcggtgcgggtgcagcgtctggtggtcaggtcgatgcggctaa
+cctaatcaaaccgttgctctccagcggtaaaattcgtgtaattggttcgacaacctatca
+ggagttcagcaacattttcgagaaagaccgtgctctggcgcgtcgcttccagaaaattga
+tattactgaaccgtcgatcgaagaaactgttcaaatcatcaatggcctgaaaccgaagta
+tgaagcgcaccacgacgtgcgttataccgcaaaagcggtgcgtgcggcggtagagctggc
+ggtgaaatacattaacgatcgtcatctgccggataaagccattgatgttatcgacgaagc
+gggcgctcgcgcacgcctgatgccggtaagcaaacgcaagaaaaccgttaatgtggcgga
+tattgagtccgtggtggcccgtattgcacgcattccagagaagagtgtttctcagagtga
+tcgtgataccctgaaaaacctcggcgatcgcttgaaaatgctggtcttcggtcaggataa
+agccattgaggcgctgactgaagccattaagatggcgcgtgcaggtttaggtcacgaaca
+taaaccggttggttcgttcctgtttgccggccctaccggggtcgggaaaacagaggtgac
+ggtacagctttcgaaagctttgggcattgagcttctgcgctttgatatgtccgagtatat
+ggaacgccataccgtcagccgtcttattggtgcgcctccgggatacgttggttttgatca
+gggcggtttgctgactgatgcggtcatcaagcatccacatgcggtgctgctgctggacga
+aatcgagaaagcgcacccggacgtgttcaatattctgttgcaggtgatggataacggtac
+gctgaccgataacaacggacgcaaagcagacttccgtaacgtggtgctggtgatgaccac
+caacgccggggtacgggaaactgagcgcaaatccattggtcttatccaccaggataacag
+caccgatgcgatggaagagatcaagaagatctttacaccggaattccgtaaccgtctcga
+caacattatctggtttgatcatctgtcaaccgacgtgatccatcaggtggtggataaatt
+catcgtcgagttgcaggttcagctggatcagaaaggtgtttctctggaagtgagccagga
+agcgcgtaactggctggccgagaaaggttacgaccgggcaatgggcgctcgtccgatggc
+gcgtgtcatccaggacaacctgaaaaaaccgctcgccaacgaactgctgtttggttcgct
+ggtggacggcggtcaggtcaccgtcgcgctggataaagagaaaaatgagctgacttacgg
+attccagagtgcacaaaagcacaaggcggaagcagcgcattaatctgattgttaggtagg
+ttggtcaagtccgtaatctcgaaagaggttacggactttttgtttatggggtggaggagg
+ttcagaccctttttttaatgatgatggtaagttgttgataattagtgctgcgggaaggta
+aggataaaaaagggtgctgcaggagaatgggatggttttgctttattaacaacgggctaa
+acgtgtagtatttgagttcactgccgtacaggcagcttagaaattcacaggtaacatact
+ccacccgcccaccatgttcactgccgtacagacagataaaatgcgaaaaaaaagctcgca
+ctttcgtacgagctcttctttaaatatggcggtgagggggggattcgaacccccgatacg
+ttgccgtatacacactttccaggcgtgctccttcagccactcggacacctcaccaaattg
+ttttgctaccaaacctcatgggtggcaacggggcgctactatagggagttggagtaaaac
+ggtcaagaagaattttaatgataattattgtttgctcatactgtaaacaagttgtgcagt
+atatctacatcgagacaagttacggacttatacttccaaagtacttcatacatatcacaa
+aataaaaaggccggttaaaccgaccttttactcgttctttctcttcgcccatcaggcggt
+aaaacaatcagcgactacggaagacaatgcggcctttgctcaggtcgtacggggtcagtt
+caacagtcactttgtcgcccgtcaggatgcggatgtagtttttgcgcattttaccggaga
+tgtgtgcagtaaccacgtgaccgttttctaactctacgcggaacatggtattaggcaacg
+tttcaagaacggtaccttgcatttcaatattgtcttctttggccatctaatcctctgggg
+tatcactaccgtaatttgaaccggcaagataatgccgaagttctgtaaataagtaaagat
+ttgcgcgctaaatcgcaacaaacaggttcggcacattactccgaaaacacacggctaagc
+cgcaccaaaagcgcaacgtataagggagcggtgagataaacgatgggcgttacctgacgc
+gaaaaattccttatcggcagcggggtaatgagcgtaaccaactctgcgaccgcaattata
+acactctggggagaaatgtgccgaaaacattcattcttgtggtgaaaacaagcatcgtgg
+tacccagaaattattcggcaatcgtccgaggcgcatttgattgagataattaaggtaatc
+ccggcggggaatttcgcaggcaccaagcgatgctgtgtgatcgttaaggacctggcagtc
+gataagcttaccgccatgaccgataaattcctcacagaataccagaagcgccgttttaga
+cgcattttccatccggctgaacatggactcgccacaaaatagcgttccctgggccacgcc
+gtacataccgccgacaagctcatcttcacgccagacttcaatggagtgggcatggccgag
+ttcgtgaaggcgatggtaggcttcgaccacgccacgcgtgatccaggttccttcttcgcg
+atcgctggcacagccttcaatgacctgaccaaaagcgtaattcatcgtgacacgataggg
+cgagcgtttatgaaatcgcttcatactacggctgatatgcagtgattctggccatagcac
+cgcgcggggatcgggcgaccaccagaggatggggtcgcctggagaaaaccacggaaaaat
+accacgctggtaagccattaacaggcgcgcagggctaagatcgcccccaagtgccagcag
+gccgttaggctcacgtaatgcgccttccggggaagggaaggctattgaatggcgagaaag
+ctgaaccaggcgcatgaccgcaaaactccacgcaagtcggatcgttcaataatagcttac
+aaaccctgcttgaactggtaataacgcccctgtctggcaagcagttctgcgtgagtacct
+tgctcaataatttgcccgttgtccatcactattatttgttggaaacgagagagtccgcga
+agtcgatgggtgaccattaacaccgttttctcacgcatcatttctgcaagcaattcaagg
+atctggctttcggttgtggcatctaagccttcggtaggttcatccagcaacaccagtggc
+gcatcatgtaacagcgcacgggcgatagccagacggcgcagttcaccaccggagagctgg
+cgtccgccttcacctaaccaactgttgagacctgcatcctcgagcagcttttccaggcca
+acgcgacgcaagatctccgacagagcctcatcactactgccaggcgaggcgagtaaaaga
+ttatcacgcagcgtggcgctaaacagatgcactcgctgaggaacaacgctgatggtctgt
+cgtagagccgcttcattcaggctggctatggggctatcgttaagcaaaatctcgccctgt
+tgcgggtcccatgcgcgggtcagctgttgtaacagtgttgatttgccgcatccggttcgc
+ccgagaatcgctatatgttccccggcgtttacctgaagagaaatccctttaagtgcctgt
+tgagattgctccggataagtgaactgaacatcccgtaacgtcagcgaaacgcgatcggca
+acacgagtttgggtatcaggaaaggtgacctccggtttttgatccgttaagtcagagata
+cgtacggcagaggcaatgacttgccccagatgctgaaatgcacccgttactggtgccagt
+gcttcaaacgcggctaacgcgcagaagacaaacagggcaattaacgcgccgggttgagca
+ttgccgccaacgccgccagacgccatccacagcatcaggatcaccgctaacgcgccaatg
+agcagcattatcgcttgcgacaatgcggtcagttcagattgacggcgttgcgcttccagc
+cattgaatttctgtattctctagttgcgtgcgataacgatcgctggcaccaaaaatggtc
+agctcagcttgcccttgcagccaggccgtcagttgttggcgatactgtccgcgaagatga
+gtcagattttgcccggtgctttttcccgcacgataaaacagcggtggcatcaggaaaagc
+gtcagtaacataatgccgcccagcgtaaaggcgagggtgaaatcaaggaaacttaacccg
+attgtcaccaccataatcaccacaaaagcgcccaccagcggcgagataacgcgcaggtaa
+agatgatcgagcgtatcaacatccgccaccacgcgattgagcaattcgccctgacgatag
+cgcgccagtccggcaggggagaggggcagcaatttgctgaaggtgtaaatgcgcagatgc
+tgcaacacgcggaaagtcgcgtcgtgacttaccagacgttcaaaatagcgcccggcagta
+cgggtgattgctgcgccacgcacgcccgcagcgggtagcatatagttgaagctgtacagt
+ccggcaacccccgcaaccgctgaggccgagaggaaccagccggaaagtgtcaacagaccg
+atactggcgagcagcgtcacaattgccagcacaataccaagacttaacatccatttatga
+cgtttatacagtgccagatagggtagcaaagcgcgcatttaaatctcctcctgacgatgg
+gccagtaatgtggcgaatgggccaccagccacacttaattccgcgtaacgtccttgctca
+ataatccggccatcctgcataacccaaatgacatcccagtcagcaagatcttctaactgg
+tgggtgaccattaacgttgtctggcgcagagaggcggcattcagcgcctccattacgcgc
+tgttcactgtgagcatcaaggctggcagcgggttcatccaacagtaatagcgaacaggga
+tttagtaacgcacgggccaccgccacgcgctgcgcctgccccacggaaaggcgggcagcc
+tggtcgccaacaggcgtatcaacgccttgtgggaggagcggtagaaactcgctgacccag
+gcgttatccagcgctgcttgtaattcttgttcgctggcatcaggtcgcgccagtagtacg
+ttatcccgcaatgttgctgccggtaattgtgggttttgcccaacccaggagagatgttta
+cgccatgattctggtgataaatcgcgtaattctatcccgttgattcgtagcgatccctga
+tatgagagaaaaccagaaagcgcgttcagcagtgagcttttacctgaaccgctgcgacca
+accaacaccgcacgttggcctgctggcaaagtaaagttcagcggtccggccagcgtttta
+ccttccggcgacgtgataaacagctcctcggcctcaatggtcaccggatcggtcgatgct
+aattccgcctcaccacgttgcggatgggcgagcggggtttccataaacgttttcagactg
+tcagctgcgccaacagcctgggctttagcatgataaaacgtaccgagatcgcgtaatggc
+tggaaaaactctggcgcaaggatcagggccagaaaacccgcagccagcgtcacaccggta
+tcgtagtgaccaaaatccagctcgccgagataggaaaaaccaaagtagaccgccaccaga
+gcaattgacagcgaggtaaaaaattcgagaatgccggaggataaaaacgccagccgtagc
+acttccattgtccgttggcggaaatcttccgaagcagaacgaatactttcaatttcagct
+tcaccacgaccaaaaatacgcaatgtttccatgccgcgcaggcgatcgaggaaatgccca
+cttaagcgagcaagagcgagaaagttacgtcggttagcatcggcagcccccattccaacc
+agcgccataaacaacggaattaacggtgcagtgcccagcagaatgagcgccgcagcccag
+ttagaggggaagattgccaccacaatcagcaacggcaccgacactgccagcgccatttgc
+ggcagatagcgtgcatagtaatcatgcatatcgtcaatttgctcgagtaccagcgtcgcc
+cagctccccgcaggtttaccctgaatccacgctggccctgcttgttgcagacggtcgaga
+acctgacggcggatggcaaagcggatatgctgcccggcgtgataacccacccgttcgcgt
+aaccagaccacccatgcgcgcagtacaaaggtcagaaccagtaacgtaaagggaagcagc
+agggcttcacggggaatattctccataatcatatgttgcagaattcgcgccatgaaccag
+gcctgggcaatgatcaatatgccgctcacaaagcccagcagacgagaaatattcagccaa
+cgttgggagatgacgctttgctgttttaaccagcgggttaactctttttgacgagattta
+ttcattgcacgcttagcaggtgagttatcagaattatttgcagagcaatgttacaacggg
+gaaaaaataaaggcgacccatagtcgcatggtgtcgccttctttacttttgttactgatt
+tgtaaaattattttgcgtcagctaaaccatcgaggtagcgttccgcatcaagtgctgcca
+tgcagcctgtaccggccgaagtaatggcctggcgataaatgtgatccatcacgtcgcctg
+cggcaaagacgccaggaatgctggtctgggtggcattaccatgaatacccgactgtactt
+tgatgtagccgttttccagttccagctgcccttcgaaaatcgcagtattcgggctgtgac
+cgatagcaacaaacagaccggcaacgtcgagtgactcgatgttatcgctgttttgcgtat
+cgcgcagacgaacgccagtgacacccatttgatcgccggtcacttcttccagcgtacggt
+tggtgtgcagaatgatgttgccgttctccactttatccatcaggcgcttaatgaggattt
+tttccgcgcggaaaccgtcacggcggtgaatcagatgcacttccgaagcgatgttagaca
+gatacagcgcctcttcaaccgcggtattgccgccgccgatgaccgcaactttctggttgc
+gatagaagaaaccgtcgcaggttgcacaagcagaaaccccacggcctttaaaggcttctt
+cagagggcaggccgagatagcgtgcagaagctccggtggcaataatcagcgcgtcgcaag
+tgtattcgccgttatcgccattcagacggaacggacggttttgcagatccaccttgttga
+tatgatcaaaaatgatctcagtttcaaacttggtggcatgttcgtgcatgcgctccatta
+ataacggaccggtcagatcgtttggatcgccaggccagttttccacttccgtggtggtgg
+tcagttggccgcctttttccatgccggtaatcagcacaggttgcaggttggcgcgcgccg
+cgtagacagcagcggtgtatcccgccgggcctgaacccaggataagcagtttactgtgtt
+tggtcgtgcccatgagatccccatagttgttggcagacaatgggcaggattgtagggaat
+ttacagacgtaaaaaaagagtatgacgattttgttaacaatttgtgcaatcggcagcatc
+gataagcaggtcaaattctcccgtcattatcacctctgctacttaaatttcccgctttat
+aagccgattaaatgatgaataaacgcccctgttaatgaatatctggcatgttgtactaaa
+aatcgatgttttgctttgacaatcccctggtgttttgcgaaaacattcgaggaagaaaaa
+aaacagtattcttatatgcgcataaccatgcatgtaaataccatgtttaccgtgctagtg
+aaatctacgtatggcgtggacagacgccattcgtgatgtcgatagctgccacaaggcaac
+ggtcttctcaccgtagacccaggcattgcgcgccgtgaatcttcatgatttcggtctatc
+gtgacgggtagcgactctgaacagtgatgtttcagggtcagacaggagtagggaaggaat
+acagagagacaataataatggtagatagcaagaagcgccctggcaaagatctcgaccgta
+tcgatcgtaacattcttaatgagttgcaaaaggatgggcgtatttctaacgtcgagcttt
+ctaaacgtgtgggactttccccaacgccgtgccttgagcgtgtgcgtcggctggaaagac
+aagggtttattcagggctatacggcgctgcttaacccccattatctggatgcatcacttc
+tggtattcgttgagattactctgaatcgtggcgcaccggatgtgtttgaacaattcaata
+ccgctgtacaaaaacttgaagaaattcaggagtgtcatttagtatccggtgatttcgact
+acctgttgaaaacacgcgtgccggatatgtcagcctaccgtaagttgctgggggaaaccc
+tgctgcgtctgcctggcgtcaatgacacacggacatacgttgttatggaagaagtcaagc
+agagtaatcgtctggttattaagacgcgctaacacggaacaggtgcaaaatcggcgtatt
+ttgattacactcctgttaatccatacagcaacagtactggggtaacctggtactgttgtc
+cgttttagcatcgggcaggaaaagcctgtaacctggagagcctttcttgagccaggaata
+cattgaagacaaagaagtcacattgacaaagttaagtagcggccgccgccttctggaggc
+gttgctgatccttattgtcctgtttgccgtctggttgatggctgccttactaagctttaa
+cccttcggaccccagctggtcgcaaacggcctggcatgaacctatccataatttaggtgg
+gatgcccggtgcgtggttggcagatacgctgttctttatttttggcgtgatggcttacac
+cattcccgtcattattgtcggcggttgttggtttgcctggcgtcatcagtccagcgacga
+atacattgattattttgccgtttcgctacgcatcattggcgttttggcgctcatccttac
+ctcctgtggtctggcggcaatcaacgctgacgatatctggtattttgcctccggtggcgt
+cattggcagcttactaagcactacgctacaaccactgctacacagtagcgggggaactat
+tgcgctgctctgcgtttgggcagcgggcctgacgttgttcaccggttggtcatgggtgac
+cattgctgaaaaactcggcggctggattttaaacattctcaccttcgccagtaatcgtac
+ccgtcgcgatgatacctgggtcgatgaagatgagtatgaagacgacgaagagtatgaaga
+tgaaaatcacggcaaacagcatgaatcacgccgtgcccgtattcttcgcggcgcgctagc
+gcgtcgtaaacggttggcggaaaaattcattaatccgatggggcggcaaacagacgctgc
+gttgttctccggtaagcggatggatgatgacgaagagattacctacactgcacgcggtgt
+ggctgccgacccggacgacgtcctattttcgggcaatcgtgcaacgcagccagaatatga
+cgaatacgatccattattaaacggtgcgccaattaccgaacctgtcgctgtagcagctgc
+tgctaccacggcgacacaaagctgggctgcgccggttgaacctgtgactcagacgccgcc
+tgttgcctctgttgatgttccacctgcgcaacctacagtagcctggcagcctgtaccggg
+tccacaaacgggagagccggttattgctcctgcaccggaaggttacccacagcagtcaca
+atatgcgcagcctgcagtgcaatataatgagccgctgcaacaaccagtacagccgcagca
+gccgtattatgcacctgcagctgaacaacctgcgcaacagccgtattatgcccctgcgcc
+agaacaaccggtggcaggtaacgcctggcaagccgaagagcagcaatccacttttgctcc
+acagtctacataccagactgagcaaacttatcagcagccagccgctcaggagccgttgta
+ccaacagccgcaacccgttgaacagcagcctgttgtggagcctgaacccgttgtagaaga
+gacaaaacccgcgcgtccgccgctttactactttgaagaagttgaagagaagcgagcccg
+tgaacgtgaacaacttgcggcctggtatcaaccgattccagaaccggttaaagaaccaga
+accgatcaaatcttcgctgaaagcaccttctgttgcagcagtacctccagtagaagccgc
+tgccgctgtttccccgctggcatctggcgtgaaaaaagcgacactggcgacgggggctgc
+cgcaaccgttgccgcgccagtcttcagtctggcaaatagcggtggaccgcgtcctcaggt
+caaagaggggattggtccgcagttgccacgaccgaaacgtatccgcgtgccaactcgtcg
+tgaactggcgtcttacggtattaagctgccctcacagcgtgcggcggaagaaaaagcccg
+tgaagcccagcgcaatcagtacgattctggcgatcagtacaacgatgatgaaatcgatgc
+gatgcagcaggatgaactggcacgtcagttcgcccagacacagcagcaacgctatggcga
+acagtatcaacatgatgtgcccgtaaacgcagaagatgcagatgctgcggcagaggctga
+actggctcgtcagtttgcgcaaactcaacaacaacgttattccggcgaacaaccggctgg
+ggcgaatccgttctcgctggatgattttgaattttcgccaatgaaagcgttgctggatga
+tggtccacacgaaccgttgtttacgccaattgttgaacctgtacagcagccgcaacaacc
+ggttgcaccgcagcagcaatatcagcagccgcaacaaccagttccgccgcagccgcagta
+tcagcagccacaacagccggttgcgccgcagccacaatatcagcagccgcaacaaccggt
+tgcgccacagcagcaatatcagcagccgcaacaaccggttgcgccgcagcagcagtatca
+gcagccacaacagccagttgcgccacaaccgcaggataccctgcttcatccgctgttgat
+gcgtaatggcgacagccgtccgttgcataaaccgacgacgccgctgccttctctggattt
+gctgacaccgccgccgagcgaagtggagccggtagatacctttgcgcttgaacaaatggc
+tcgcctggtggaagcgcgtctggctgatttccgtattaaagccgatgtcgtcaattactc
+tccggggccggttatcactcgctttgaattgaacctggcaccgggcgtaaaagcggcgcg
+catttctaacttgtcacgggaccttgcccgttcactttcgacggtggcggtgcgtgtcgt
+tgaagttattcctggcaaaccctatgtaggtctggagttaccgaataaaaaacgacaaac
+cgtttatctgcgcgaagttttggataacgccaaattccgcgataatccgtcgccattaac
+cgtggtgctgggtaaagatatcgccggtgagccggtggttgccgatctggcgaaaatgcc
+gcacttgttggttgcggggactaccggttccggtaaatctgtcggtgtgaacgcgatgat
+cctgagcatgctttataaagcacagccagaagatgtgcgtttcatcatgatcgacccgaa
+aatgctggagctttcggtttatgaaggcattccgcatctgttaacggaagtcgttactga
+tatgaaagatgccgccaacgcgctgcgctggtgtgttaacgagatggagcgtcggtataa
+actgatgtctgcgctgggtgtgcgtaatctggcgggttataacgaaaaaattgctgaagc
+cgatcgcatgatgcgtccgattccagacccgtactggaagccgggtgacagtatggatgc
+ccagcatccggtgctgaaaaaagaaccatacattgtggtgttggttgacgaatttgccga
+cctgatgatgacggtaggtaaaaaagtggaagagctgatagcacgtctggcgcaaaaagc
+ccgtgccgcgggtatccacctcgtactggcaactcagcgtccatcggttgatgttattac
+tggtctgattaaagcgaatattccgacccgtatcgcctttaccgtatccagtaagattga
+ctcacgtaccattcttgatcaggctggcgcggaatcactgctgggtatgggggatatgct
+ctactctgggccgaactccacgttgccggtacgtgtccatggtgcttttgttcgcgatca
+ggaagttcatgccgtggtgcaggactggaaagcgcgtggtcgcccacagtatgttgatgg
+catcacctccgacagcgaaagcgaaggtggtgcgggtggtttcgatggcgctgaagaact
+ggatccgttgttcgatcaggcggtgcagtttgtcactgaaaaacgcaaagcgtcaatttc
+tggcgtacagcgtcagttccgcattggttataaccgtgcagcgcgtattatcgaacagat
+ggaagcgcaggggattgtcagcgaacaggggcacaacggtaatcgtgaagtgctggcccc
+accgccgtttgactaactaatgcatcgtatgccggataaggcgcggtagcgtcgcatccg
+gcactctatcaactgaaaattcagtattttcttctttcctcaagctgattattagcctgg
+aatagagagtagagggaactcccgatcgggagtgacgtaatttgaggaataatgatgaaa
+aaaattgccatcacctgtgcattactctcaagcttagtagcaagcagcgtttgggctgat
+gccgcaagcgatctgaaaagccgcctggataaagtcagcagcttccacgccagcttcaca
+caaaaagtgactgacggtagcggcgcggcggtgcaggaaggtcagggcgatctgtgggtg
+aaacgtccaaacttattcaactggcatatgacacaacctgatgaaagcattctggtttct
+gacggtaaaacactgtggttctataacccgttcgttgagcaagctacggcaacctggctg
+aaagatgccaccggtaatacgccgtttatgctgattgcccgcaaccagtccagcgactgg
+cagcagtacaatatcaaacagaatggcgatgactttgtcctgacgccgaaagccagcaat
+ggcaatctgaagcagttcaccattaacgtgggacgtgatggcacaatccatcagtttagc
+gcggtggagcaggacgatcagcgcagcagttatcaactgaaatcccagcaaaatggggct
+gtggatgcagcgaaatttaccttcaccccgccgcaaggcgtcacggtagatgatcaacgt
+aagtagaggcacctgagtgagcaatctgtcgctcgatttttcggataatacttttcaacc
+tctggccgcgcgtatgcggccagaaaatttagcacagtatatcggccagcaacatttgct
+ggctgcggggaagccgttgccgcgcgctatcgaagccgggcatttacattctatgatcct
+ctgggggccgccgggtaccggcaaaacaactctcgctgaagtgattgcccgctatgcgaa
+cgctgatgtggaacgtatttctgccgtcacctctggcgtgaaagagattcgcgaggcgat
+cgagcgcgcccggcaaaaccgcaatgcaggtcgccgcactattctttttgttgacgaagt
+tcaccgtttcaacaaaagccagcaggatgcatttctgccacatattgaagacggcaccat
+cacttttattggcgcaaccactgaaaacccgtcgtttgagcttaattcggcactgctttc
+ccgtgcccgtgtctatctgttgaaatccctgagtacagaggatattgagcaagtactaac
+tcaggcgatggaagacaaaacccgtggctatggtggtcaggatattgttctgccagatga
+aacacgacgcgccattgctgaactggtgaatggcgacgcgcgccgggcgttaaatacgct
+ggaaatgatggcggatatggccgaagtcgatgatagcggtaagcgggtcctgaagcctga
+attactgaccgaaatcgccggtgaacgtagcgcccgctttgataacaaaggcgatcgctt
+ttacgatctgatttccgcactgcataagtcggtacgtggtagcgcacccgatgcggcgct
+gtactggtatgcgcgaattattaccgctggtggcgatccgttatatgtcgcgcgtcgctg
+tctggcgattgcgtctgaagacgtcggtaatgccgatccacgggcgatgcaggtggcaat
+tgcggcctgggattgctttactcgcgttggcccggcggaaggtgaacgcgccattgctca
+ggcgattgtttacctggcctgcgcgccaaaaagcaacgctgtctacactgcgtttaaagc
+cgcgctggccgatgctcgcgaacgcccggattatgacgtgccggttcatttgcgtaatgc
+gccgacgaaattaatgaaggaaatgggctacgggcaggaatatcgttacgctcatgatga
+agcaaacgcttatgctgccggtgaggtttacttcccgccggaaatagcacaaacacgcta
+ttatttcccgacaaacaggggccttgaaggcaagattggcgaaaagctcgcctggctggc
+tgaacaggatcaaaatagccccataaaacgctaccgttaatgttatcgttgcggtaatgt
+tgttactgtatccctgtggtcgcaggctgtggccacatctcccatttaattcgataagca
+caggataagcatgctcgatcccaatctgctgcgtaatgagccagacgcagtcgctgaaaa
+actggcacgccggggctttaagctggatgtagataagctgggcgctcttgaagagcgtcg
+taaagtattgcaggtcaaaacggaaaacctgcaagcggagcgtaactcccgatcgaaatc
+cattggccaggcgaaagcgcgcggggaagatatcgagcctttacgtctggaagtgaacaa
+actgggcgaagagctggatgcagcaaaagccgagctggatgctttacaggctgaaattcg
+cgatatcgcgctgaccatccctaacctgcctgcagatgaagtgccggtaggtaaagacga
+aaatgacaacgttgaagtcagccgctggggtaccccgcgtgagtttgactttgaagttcg
+tgaccacgtgacgctgggtgaaatgcactctggcctcgactttgcagctgcagttaagct
+gactggttcccgctttgtggtaatgaaagggcagattgctcgcatgcaccgcgcactgtc
+gcagtttatgctggatctgcataccgaacagcatggctacagtgagaactatgttccgta
+cctggttaaccaggacacgctgtacggtacgggtcaactgccgaaatttgctggcgatct
+gttccatactcgtccgctggaagaagaagcagacaccagtaactatgcgctgatcccaac
+ggcagaagttccgctgactaacctggtgcgcggtgaaatcatcgatgaagatgatctgcc
+aattaagatgaccgcccacaccccatgcttccgttctgaagccggttcatatggtcgtga
+cacccgtggtctgatccgtatgcaccagttcgacaaagttgaaatggtgcagatcgtgcg
+cccagaagactcaatggcggcgctggaagagatgactggtcatgcagaaaaagtcctgca
+gttgctgggcctgccgtaccgtaaaatcatcctttgcactggcgacatgggctttggcgc
+ttgcaaaacttacgacctggaagtatggatcccggcacagaacacctaccgtgagatctc
+ttcctgctccaacgtttgggatttccaggcacgtcgtatgcaggcacgttgccgcagcaa
+gtcggacaagaaaacccgtctggttcataccctgaacggttctggtctggctgttggtcg
+tacgctggttgcagtaatggaaaactatcagcaggctgatggtcgtattgaagtaccaga
+agttctgcgtccgtatatgaacggactggaatatattggctaatacccaatttttctgaa
+tctaaaaagcgcctgcgggcgctttttttgtctccctttgataccgaacaataattactc
+ctcacttacacgtaatactactttcgagtgaaaatctacctatctctttgattttcaaat
+tattcgatgtatacaagcctatatagcgaactgctatagaaataattacacaatacggtt
+tgttactggaatcaatcgtgagcaagcttgagtgagccattatgaaaacgaaaatccctg
+atgcggtattggctgctgaggtgagtcgccgtggtttggtaaaaacgacagcgatcggcg
+gcctggcaatggccagcagcgcattaacattaccttttagtcggattgcgcacgctgtcg
+atagcgccattccaacaaaatcagacgaaaaggttatctggagcgcctgtacagttaact
+gtggtagtcgctgcccgctacgtatgcacgtcgtggacggtgaaatcaaatatgtcgaaa
+cggacaataccggcgatgacaattacgacggcctgcaccaggttcgcgcctgcctgcgtg
+ggcgttccatgcgtcgccgtgtctacaatccggaccgcctgaaatatccgatgaaacgag
+tcggggcgcgcggtgaaggcaaattcgagcgcattagctgggaagaagcctacgacatca
+tcgcgaccaatatgcagcgcctgatcaaagagtacggcaacgagtctatctatctgaact
+atggcaccggtacgctgggcggcaccatgacccgctcctggccgccgggaaataccctgg
+tcgcgcggctgatgaactgctgcggcggctatctgaaccattacggcgactactcctccg
+cgcaaattgcggaaggtttgaactatacctacggcggctgggcagatggcaacagcccgt
+cggatatcgaaaacagtaagctggtagtgctgtttggtaataaccctggcgaaacgcgaa
+tgagtggcggtggggtgacttactatcttgaacaggcacgccagaaatctaatgcccgca
+tgatcatcatcgatccgcgctataccgacaccggtgccgggcgcgaagatgagtggatcc
+ctattcgtccgggaacagatgccgcactggttaacggtctggcgtacgtcatgatcactg
+aaaacctggtggatcaggcattcctcgataaatattgcgttggctacgatgagaaaaccc
+tgccagccagtgcgccgaaaaatggccactataaagcttatattctgggtgaagggccag
+atggcgtggctaaaacgccggaatgggcctcgcaaatcactggtgttccggcagacaaaa
+tcatcaaattggctcgtgaaatcggtagtaccaaaccggcgtttatcagccagggatggg
+gcccgcagcgtcacgctaacggtgaaatcgcaacccgtgctatctcgatgctggcgattc
+tgaccggtaacgttggtattaacggaggcaacagcggcgcgcgtgaaggttcatacagct
+taccgtttgtccgtatgccgaccttggaaaacccgatccagaccagcatttcgatgttta
+tgtggaccgatgccattgaacgtggcccggaaatgacggcgctgcgtgatggtgtacgcg
+ggaaagataagctggatgtgccgatcaaaatgatctggaactatgccggtaactgcctga
+ttaaccagcattctgaaatcaaccgtacccatgaaatccttcaggatgataagaagtgcg
+agctgattgtggttatcgactgccacatgacctcatcggcgaaatatgctgacatcctgc
+tgcctgactgcaccgcttccgaacagatggactttgcgctggatgcatcctgcgggaata
+tgtcttacgtgattttcaacgatcaggtgattaaaccgcgctttgaatgtaagaccatct
+atgaaatgaccagcgaactggcaaaacgtcttggcgttgagcaacagtttactgaaggcc
+gtacccaggaagagtggatgcggcatctgtatgcccagtcgcgggaagcgattcctgaac
+tgccaacgtttgaagagttccgcaagcaggggatctttaaaaagcgcgacccacaagggc
+atcacgttgcttataaagccttccgtgaagatccgcaggcaaacccactgactacgccat
+cgggcaaaattgagatttattcgcaggcgctggctgacattgccgctacctgggaattgc
+ctgaaggcgatgtgatcgatccactgccgatctacacgccgggctttgaaagttatcagg
+atccgctgaacaaacagtatccgctgcagcttacaggtttccactataaatctcgcgttc
+actcaacttacggcaacgttgatgtgctgaaagcggcttgccgtcaggaaatgtggatca
+acccgcttgatgcccaaaaacgcggtatccacaacggcgataaagtcaggatctttaacg
+atcgtggtgaggttcatattgaggcgaaagtgacgccacgaatgatgccgggtgtggtcg
+cactgggtgaaggtgcctggtatgacccggatgcaaaacgtgtcgataagggtggttgta
+ttaacgtactgaccactcaacgtccgtctcctctcgctaaggggaatccgtcacatacaa
+accttgttcaggttgaaaaggtgtaaggagtaaccgatgacaacccagtatggatttttt
+attgattccagccgttgcaccggttgcaaaacctgcgagctggcctgtaaagactacaaa
+gatttgacgccagaagtcagcttccgccgcatttatgaatatgctggcggcgactggcag
+gaagataacggtgtctggcaccagaacgtgtttgcctactatctgtcgatttcatgtaac
+cactgcgaagatccggcttgtactaaagtctgcccgagcggtgcgatgcataaacgtgaa
+gatggttttgttgtggtcgatgaagatgtgtgcattggctgccgctactgccatatggct
+tgcccgtatggcgcaccgcaatataacgaaacgaaaggccatatgaccaaatgcgatggt
+tgttatgaccgtgttgcggagggtaaaaagccgatctgtgttgaatcttgtccgctgcgg
+gcgctggatttcggccctatcgacgagctgcgtaaaaaacatggcgatctggcggccgtt
+gcgccgttgccgcgagctcactttaccaaaccgaatattgtgatcaaacccaatgccaat
+agccgcccgaccggggataccactggctatctggcaaacccgaaggaggtgtgagatggg
+aagtggatggcatgaatggccgctgatgatcttcacggtcttcgggcaatgtgtagcagg
+tggttttatcgttctggctttggcgctgctcaaaggcgacctgcgagcagaagcccagca
+gcgtgttatcgcctgcatgtttggtttatgggtgctgatgggcattggctttatcgcctc
+tatgctccatcttggttcaccaatgcgcgcttttaactcgctcaaccgggtaggggcttc
+agcactcagtaacgaaatcgccagcggttcgatcttttttgccgtaggcggcatcggctg
+gttgctggcaatgctgaaaaagctgtcaccggcattgcgtacgctgtggctgatagtgac
+gatggttcttggcgtcatctttgtctggatgatggtgcgtgtgtataacagcattgatac
+cgttccgacctggtacagcatctggacgccgatgggcttcttcctgacgatgtttatggg
+cggcccgttactgggttacctgttgttgagtctggctggcgtcgatggctgggcgatgcg
+tctgctgccagcaatttctgtactggcactggtagtgagtggcgtggtgtcagtgatgca
+gggcgcagagctggcgactattcatagttctgtgcagcaggccgcagcgctggtgccgga
+ctatggtgcgctgatgtcctggcggatcgtgcttttggccgttgccctgtgcttgtggat
+tgcaccacagctaaaaggttatcagcctgcggttccgctactttctgtatcattcattct
+gcttctggcaggggaattaatcggtcgcggcgtattctatggtttgcatatgaccgtggg
+gatggccgtcgcaagctaatcataacaaccggggtttcggccccggttctcttttatttc
+tgcttcgttaacgtgtcataactggtcatcaaattacgataatcaggaatgtggttagag
+aacaacgtcgccagtccttcaatatcattacgccagtcgcgatgcagctcgcacgccacg
+ccgaaccatgtcatcaattgcgcaccagcttgcgacaagcgatcccatgccgaatgccgg
+gtaatttcattaaaggtccctgacgcgtcagtcacgacaaagacgtcaaacccttcttca
+atggctgaaagcgccgggaatgccacgcaaacttcggttaccacaccggcaataattaac
+tgttttttacctgtcgctttgacagcttttacaaaatcttcgttatcccaggcgttaata
+tttcccgggcgagcaatgtaaggtgtatcggggaattgtgctttcagttctggaactaat
+gggccgttaggaccggtttcaaaactggtggtaagaatagttggtaagttgaaatactta
+gccaggtcacccagcgccagcacgttatttttaaacttatcgggttcgatatcccgtaca
+agggaaagtaaaccagcctggtgatcaacaagcaaaacggcagcatcatttttatcaaga
+cgaacatacggtttggtcatcctcttctcctttcgagagtcagtggtacgtctgaaatcg
+atcagacgcgatgcattgctctgaaagcatagacgggaaatatgagtttgctgtgaccat
+gaaatttttcgactgaacgaagcgtatgaaatttgtgttagttcaataaaaacaatcaga
+tgagactaatcatctcttcagcattagcgttatgaatgagtaatataaatcgataatacc
+gccgctgggatatcgcgtattttcacccattgacaatgtttttggcggtggcatgatgcg
+catgaaatttgaacttcctcacggttttaattcatgtccacgtatacccagcctgtcatg
+cttttgctgtctggcctgcttttgttgactctggcgattgcggtgttaaatacactcgtg
+ccgctttggctcgcccaggaacacatgtccacatggcaggtaggcgttgtcagctcatcc
+tattttaccggcaaccttgtcggtacattgctgacagggtatgtcattaagcgcattggc
+tttaaccgcagctattatctggcctccttcatttttgccgctggctgtgccggccttggc
+ctgatgattggattctggagctggttggcttggcgttttgtcgcgggcgtcggctgtgcc
+atgatttgggtggttgttgagagcgcgctgatgtgcagtgggacgtcacgtaaccgtggg
+cgtttgcttgctgcgtatatgatggtttattacgtgggaacgtttttaggccagttactg
+gtcagcaaagtttcaaccgagctgatgtccgtattgccgtgggttacaggtttgacgttg
+gcagggatcttaccgctgttgtttacgcgtgtgctgaatcagcaggctgaaaaccatgat
+tcgacgtcaattacgtcaatgctaaaactccgtcaggcgcggcttggcgtgaatggctgc
+attatctcaggaatcgttctgggatctctatatggcctgatgccgctgtacctcaatcac
+aaaggggtgagcaatgccagcattggtttctggatggcggtactggtcagtgcgggtatc
+cttggacaatggccgattggacgtctggcggataagtttggtcgactgctggtgttgcgt
+gttcaggtctttgtcgtcattctcggcagtatcgcgatgcttagccaggcggcgatggcc
+ccagcgttattcatcctcggtgccgctggctttacgctatatccggtggcgatggcatgg
+gcttgcgagaaagttgaacatcatcaactggtggcgatgaaccaggccttactgttgagc
+tatactgtgggaagtctgcttggcccgtcatttaccgctatgctaatgcagaatttctcc
+gataatttattgtttatcatgatcgccagcgtatcgtttatctatttgctgatgctgctg
+cgcaacgccggtcatacgccgaaacccgttgctcacgtgtaaatgaattcaagcagagtg
+tgaacttactgtttcacactctgcttttttgtttcttctatctgacttgctttattccaa
+attttattcgtttaaaaataaaatgtgcagcaggttataattttgcatttcgctatttcc
+gcacttcttatttgccgcgcataatccctcgttttaccgatgcccctttaattttggcga
+aggatttgtctatggctgggaatgttcaggaaaaacagttgcgatggtacaacattgcgc
+tgatgtcttttatcactgtctggggttttggcaacgttgttaataactatgccaaccagg
+ggctggtggttgttttttcatgggtgtttatctttgcactctatttcacaccttatgcgc
+taattgttggtcagttaggctcgaccttcaaagatgggaagggcggggtcagtacctgga
+ttaaacacacgatgggacccggactggcttatctcgccgcgtggacctactgggtggtgc
+atattccctatctggcacaaaaaccccaggcaattctgattgcgctcggttgggcgatga
+aaggcgacggttcgctaatcaaagaatattcagtcgtagcgttacaggggttaacgctgg
+tgctgtttatcttctttatgtgggttgcttcacgcggtatgaaatcgctgaaaatcgtcg
+gttctgtggcagggattgctatgtttgttatgtcactcctgtatgtggcgatggcggtaa
+ccgcgcctgcaattactgaagtgcatattgcgaccacaaacattacctgggaaacgttca
+ttcctcatatcgactttacctacattaccactatttcaatgctggttttcgcggttggcg
+gagcagagaagatttctccttacgttaatcaaacgcgcaacccaggaaaagaatttccaa
+aagggatgttatgcctggcggtgatggttgcggtttgtgccattctgggctcgctggcga
+tggggatgatgtttgattcgcgtaatatcccggatgacttaatgaccaacggtcagtatt
+acgcctttcagaagctgggcgagtattacaacatgggtaatactttaatggtgatttacg
+ccattgcgaataccctgggacaagtagcggcgctggtattctcgattgatgccccgctta
+aagtgctattaggtgatgctgacagcaaatatattccagccagtttatgtcgtaccaacg
+cttctggtacgcccgttaatggctattttctgaccctggtactggtggcgattctgatta
+tgctgccgactctcggcattggtgatatgaacaatctctataaatggctgttgaacctta
+attcggtagtgatgccgctgcgttatttatgggtatttgttgcatttattgcagtcgttc
+gcttggcgcagaaatataaaccagaatatgtctttattcgtaataagcctctggcaatga
+ccgtcgggatttggtgttttgcctttaccgcctttgcctgtttgacggggatcttcccga
+aaatggaagccttcactgcagagtggaccttccagttggcgctgaatgttgcaacgccgt
+ttgtgctggtaggattaggactgatattcccgctgctggcgcgtaaagcgaatagtaaat
+aattattgtggtcggtgacgctgactctggcagatctgacccgtttttacataatcgaga
+aatgcgcgcaagccgcaggacatatactggcggtttggataatagatctggaagcctgga
+cgctctgtgctccagtcttccagtacacattctaaacgaccagtatcaaggtactccttg
+atctgttcatagagcagatacccgataccagcacccatcaaaacggcctccagttcagca
+tcaacatcatccagaatgatatttcctgcgacagcaatttccagctcctttgcaaattgc
+cagtggaaaggtttgccgctgggataacgaaaaacaacacattgatgattaagcagatca
+tgaggatggcggggtttgccatatcttgcaaagtactctggcgttgctgctacacataat
+ttcactggcgggccgatcgccacgctgatcatatctttttcgacgatgcaactaagtcga
+acgccagcgtcaaagccctgttggacgatatcgacaagagagtcgtcagttgtgagctcg
+actttaatatcaggatattcacgtgtgaaaccaaccagtaaagacattaaaaatatacgt
+gcagctacccgggcggcattgattttgagcgttcctgtcggtgtcagacgaaaatcattc
+atctcatctaacatgatctgaatttcgtcgaaagctgggcgcaatcgttcatagagatta
+gaacccgcttccgttaacgatacgcttcgggttgtccgattgaataagcgaattttaaga
+cgttgttccagtgttttaatactatggctaatggcggacgaggataagcctaactcatcg
+cccgctgcacgaaagctttgattacgggccacggcaaagaaagtggcaaagtcagacata
+ttcatccgcattagtgaaaatccttcattaactcatcctgaatcatcacgtttacaggat
+tatgccgcctgcgtaaagtgcgctccagaacttaacgtggaggtaaaattatgcagtctg
+aacgtatttatttggtatgggcccatcctcgtcatgattcattgaccgcacatattgctg
+atgcgatccatcagcgggcaatggagcggaaaatacaggtgacggaactcgatttatatc
+ggcgtaatttcaacccagtgatgacgccggaagatgaaccagactggaagaatatggata
+aacgttattctccagaggttcatcagctttattcagagctgcttgaacatgacacgttag
+tggtggtttttcctctctggtggtacagcttcccggcaatgctaaaaggatatattgaca
+gagtatggaataatgggctggcttatggagatgggcacaaattaccattcaataaagttc
+gttgggtggcgctggttggaggagacaaagaatcatttgtccagatgggctgggaaaaaa
+atataagcgattatttaaaaaatatgtgcagttatcttggtattgaagatgccgatgtca
+ctttcttgtgtaatacagtggtattcgatggggaagaacttcacgcgagctattatcagt
+cgttattatctcaggtacgggatatggtagatgcactataagatgtgttaaaaacgctgt
+agcagaatgaagcgcggaataaaaaagcggcaactcaataaagttgccgctttacgggga
+aattagaacattaccttatgaccgtactgctcaagaatgcctttcacgcgttccatggtc
+tctttcttcggtggtttaacaccgtcgagtttgtactcttcacccattgccacccatttg
+tgtttgcccagctcgtggtaggggagaagctcgattttctcaacgttgcccatatcacgg
+gtaaattcaccgaggcgatgcgctgaatcgtcatcgtcagaccagcctgggacaacaacg
+tagcggatccacaccttcacatttttgttcgccagatatttagcgaactccagcgtgcgg
+tggttggaaactccaaccagattttggtggatctcgtcgttcatctgtttgagatcgagc
+attaccaggtcggttacttccagcagttcatcaatcaccggatcgtaacgacgaacaaaa
+ccgttggtgtccagacaggtatgaatgccttcttttttgcaggcgcggaaccagtcacga
+acaaactcagcttgcaggattgcttcaccgccggatgcggtaacgccgccgccggaagcg
+ttcataaagtggcgataggtcaccacttccttcatcaaatcttcaacggtaacttcttta
+ccgccatgcgtgtcccaggtgtcgcggttatgacaatacaggcagcgcatcaggcagccc
+tggaaaaaggtgataaagcgaatacctgggccgtctacggttccacaggattcaaaggag
+tgaatgcgaccaataactgacattgcggtgtttctccagatgtggcccatctgaggccgt
+gttggtgcgcagctcgaaggctacgtcgagtctgttttggcagtcaccttaaagtataga
+tagctgacaaaaaaggctctcgcgctaaaaaaggccccactttcgtggagcctttattgt
+acgctttttactgtacgatttcagtcaaatctaattacatagattgagtgaaggtacgag
+taataacgtcctgctgctgttctttagtcagcgagttgaaacgtactgcgtagccagata
+cacggatggtcagctgcggatatttttccgggttttccatcgcgtcgagcagcatttcac
+ggttcatcacgttaacgttcaggtgctgaccaccttcgatggatgcttcgtggtggaagt
+aaccatccatcagaccagccaggttggtcttacgaacttcgtcgtctttacccagtgcgt
+tcggaacgatagagaaggtgtaggagataccatctttagcgtaagcaaacggcagtttag
+caacggaagtcagagaggctactgcacctttctggtcacgaccgtgcatcgggttagcac
+ccggtccgaacggcgcgccagcacgacgaccgtctggggtgttacccgttttcttaccat
+acacaacgttagaagtgatggtcagaacagactgagtcgggatagcgtcacggtaggtgt
+gcagtttctgaattttcttcatgaaacgttctaccaggtcaacagccaggtcatctacac
+gcggatcattgttaccaaactgcgggtattcgccttcgatttcgaagtcgatagccagac
+cgtcttcgtcacgaatcggtttaactttcgcatatttgattgcagacagggagtcagcag
+caacggacagaccagcgataccacacgccatggtgcggataacgtcacggtcgtgcagcg
+ccatcagagaggcttcgtagctgtacttgtcgtgcatgtagtggatgatgttcagtgcag
+tgatgtactgtttagccagccagtccatgaagtgatccatgcgctccatcacttcatcat
+agttcaggacatcgcctttgatcggttcagacttcggaccaacctgcattttcagttttt
+cgtcaacgccgccgttgattgcgtacagcatggttttcgccaggtttgcacgcgcaccga
+agaactgcatttgtttaccaacgatcatcgggcttacgcagcaagcaatagcgtagtcat
+cgttgttgaagtccggacgcatcaggtcatcgttctcatactgcagagaagaggtgtcga
+tggacactttagcggcgaatttcttgaagttcagcggcagtttttcagaccacagaatgg
+tcatgttcggttccggagacggacccatggtgtacagggtgttcaggaaacggaagctgt
+ttttggtaaccagggtacgaccgtcgaggcccataccaccgatagattcggttgcccaga
+tcgggtcgccagagaacagttcatcgtattccggagtacgcaggaagcgaaccatacgca
+gtttcatgaccaggtggtcaaccatttcctgcgcttcttgttcggtgatcttgccagctt
+tcaggtcacgttcgatgtacacatccaggaaggtggaggtacgaccgaaggacattgcag
+caccgttctgagacttaacagcagccaggtagccgaagtaagtccactggatagcttcct
+gagcgttggtagccggaccagagatgtcgtagccgtatttcgcagccatttctttcatct
+gacccagagcgcggtgctgttcagcgatttcttcgcgcagacggatagtctgttccaggt
+ttacgccgttttccagatcagcctgcagagaagtgaactgtgccagtttgtctttcatca
+ggtagtcgataccgtacagcgcaacgcgacggtagtcaccgatgatacggccacggccat
+atgcatctggcagaccggtcagaacaccagatttacggcaacgcaggatgtccggagtgt
+aaacgtcgaacacgccctggttgtgagttttacggtattcagtgaagatttttttgatca
+tcggatccagttcgcggttgtacgctttgcaggaaccttcgatcattttgataccaccga
+acgggataagagcacgtttcagcggagcttcagtctgcagaccaacgattttctcaagct
+gcttgttgatgtagccagcgtcgtgagaggtgatggtggaagcaacagcggtgtcaaagt
+caactggcgcgtgagtgcggttttccagtttaacgccttccattactttgtcccacaggg
+tggtggtcgcttcagtagcgccagccaggaaggactcgtcaccctcgtacggagtgtagt
+ttttctgaatgaagtcacggacgtttacttcattctgccagtcacctttggtaaaacctt
+cccaggctgtggctaacttttcattaagctcggacatgtaacacctaccttcttaagtgg
+attttttatttactgcgtacttcgacaaccattaatggtggtcgttttcacgcaggtaaa
+tgacccagtatgtcaacccaaccaacaaaccaccaccgataatgttgccgatcgtaaccg
+gaatcaggttatcagtgatgaaattcatcacggtcaggtgagaaaaattttccggtgcag
+aaccgactgcggtccaaaattccggggatgcgaagtcgcggattacaatacccatcggga
+tcataaacatgtttgcgatactgtgctcaaaaccgctggcaacaaacatcgcgaccggca
+gcaccataatgaacgctttgtccatcaggctgcggccagaataactcatccatactgcca
+gacataccatcaggtttgccaggataccaagacagacggcctcaataaaagtatggtgca
+ctttgtggtcggcggtttgtaggacgtttagtccccattgaccatttgcggtcatatact
+cgccggaaagccacattaaaagtacaaacagcagtgcgccgaccaggttgccaaaataga
+catttagccagtttttcgccaactgaccccaggtgatgcgcccactcgccttagcaacaa
+caatcaacacggtggaagtaaagagatcggctccgcagacaacacaaagaatcagcccca
+gagagaagcaaatgccgccaaccagttttgccatgccgaagggcattgtgcctgtgccag
+tggttgctgtgatatagaagacgaatgcgattgagatgaaaacaccggcggtaatcgcca
+gatagaaagtcttaagcggatgtttcgttgctttatagacacccgcctcttcggccactt
+tggccattgcagcaggaagtaaaagatcaaaagggttgtcagctttcacactaactctct
+ctttattaagtcggcgacgagatactaacaaagcattatagatgagaaattgatatagat
+catatctcgcctggcttataggcccgtaactcgcatggtttttatgcaaatacggagtaa
+atatttgattatccaaataaaaataaattttaaaaattaacaaatgagttgaattttttc
+cgcatcctccgctaaaacagttaattaaaagggagcatcaggcgaataaagtaacaatat
+cgatcgtatttattaaatacaaattaccgatatttaaccttataattacaattattttat
+taatgcaaatatatgtaaagcggggcattaaaaaaacgccccgtaatataactcagacta
+atcattaagcctacattgcgtaggctatttgattttattttgcccagaatgctgctttgg
+cgcgctgcagcttttcgtaggccttcaacaacgactgatgtgcagcaaacgcgtgcagat
+cgctatctaccggttgcaggccgtaaaacgccgcttcgccgctcattgccgcactggcgg
+cttctacggcatctgcgccgtacatgcgaacaaacgcattcagatattgcagcggctggc
+gatcttcttcctgtgccagtaataacaacgtttgcaggcagcgataatagttggcgcgtt
+ccggactaaatactgatgagttaaactccatcgtccattcggtccagaccagagcctgtt
+ccagatcgccaccagccagcgccagcatggcttttaattcaccgatacgcagggtgtacc
+aaccgttatccgacccggtcgccagacccaacagctcacgcacgcgggtaaagtcatcaa
+aaccttcttcatccagttgctcgatgaggttcaggtaatcttctttttcccactcgctgc
+ctggtagcgaaagaatcgtttcacgtaaatggctgcccatactgttattcgcgagccaca
+gatcttcagccggataaatatcggacatgccaggcacgataatacggcaagcataaacgc
+ccagatgctcgtaatcggcaatataaacttctttatcttctttgttgaagatagccatca
+gtgtggcgaactcttcttccgtggtgccggagaaattccagtccacaaacggataatcgg
+catcctgcttgaacaggtcccaggagattaaaccgctggaatcgataaagtgcgtttcga
+ggttggtatgttcagcgacttcttcatcatcgaaggttggcggagtaaacacatccaaat
+ctttcaggccacgaccttgcagcagctcggtcacggtacgttccagtgctacgccaaaat
+caggatgcgcaccgaaagaggcaaagcaggtaccgttagcaggattgaacagtaccacgc
+aaatcaccggatactggccgccaagcgaaccgtcataagcgaagattgggaaaccctccg
+cttccagcgtttcgatggcttcaactactgctgggtaacgcgccagcacgtctgccggga
+tctctggcaggctgatgctttcagcaataatgcggtttttcacgtagcgttcgaaaactt
+cagacaatccctgaacgcgtgcttcgttgcgggtattacctgcggacataccgttggaga
+cgtacaggttaccaatgatattcatcggaatataaacggtctgattgtcggactgacgcg
+taaacggcaggccgcaaataccacgatcttcgttaccggattgtaggtcaatcagcatgc
+tgccggtcagttcattctccggatcataaaacgcgcgcagacggtcatcgagcagccctt
+ctggcacatcgtcattttcggtcagtgggaaccatttttcgttgggataatgcacgaacg
+gaccgttggcgatggtttcgcccagccagaagtccgcaaaaaagtagttggttgagagac
+gctcgaaatattcaccgagtgcagaagccagcgccgctttcttggttgcgcctttaccgt
+tggtaaaacacagtgcgcactctttgtcgcgaatatgtacagaccagacgttaggcacgg
+gattcagccaggaggcctcttcaatctgaaagccgaggtctgaaagtttttgctggaagc
+gagcgatggaatcttccagagcggcatctttgccggggataaatgtttgcgtcatgaaaa
+tcactttagtcgtacggaaagcgcgcaataatacgggttttatctcaaaggcgctatcac
+cgccgccatgccgatgaactgttgactatgcttttagcggataaaccacgttaagagcat
+aaaaatgaaggcgttcgatctccaccgtatggcatttgataaagtgccttttgatttcct
+tggcgaagttgcactacgtagtctttatacctttgtactggtctttttgttcctcaaaat
+gaccggaagacgcggtgtgcggcagatgtcgctgtttgaagttttaatcattctgacgct
+gggatcagcggcgggagatgtggcgttttatgatgatgtgccgatggtcccggtacttat
+cgtctttattactctggcgttgttataccgcctggtaatgtggttgatggcgcacagtga
+aaaactggaagatcttctggaaggcaagccagttgtcattattgaagatggcgagctggc
+ctggtcgaaactcaataactccaacatgacggaatttgagttctttatggagctacgatt
+gcgtggcgtggagcagctggggcaggtacgtctggcgattctcgaaaccaacgggcaaat
+cagtgtctatttctttgaagatgacaaggtgaaaccgggtttacttattttacccagtga
+ttgtacgcagcgttacaaagtggtgccggagtcggcggactatgcctgtattcgttgtag
+tgaaatcattcatatgaaagcgggggaaaaacaattatgtccgcgctgtgcaaatccaga
+atggacgaaggcaagtcgggcaaaacgggtgacctgacagtaaaaacatcggctttttgc
+taataatccgagagattcttttgtgtgatgcaagccacatttttgccctcaacggtttta
+ctcattgcgatgtgtgtcactgaatgataaaaccgatagccacaggaataatgtattacc
+tgtggtcgcaatcgattgaccgcgggttaatagcaacgcaacgtggtgaggggaaatggc
+tcaaatcttcaattttagttctggtccggcaatgctaccggcagaggtgcttaaacaggc
+tcaacaggaactgcgcgactggaacggtcttggtacgtcggtgatggaagtgagtcaccg
+tggcaaagagttcattcaggttgcagaggaagccgagaaggattttcgcgatcttcttaa
+tgtcccctccaactacaaggtattattctgccatggcggtggtcgcggtcagtttgctgc
+ggtaccgctgaatattctcggtgataaaaccaccgcagattatgttgatgccggttactg
+ggcggcaagtgccattaaagaagcgaaaaaatactgcacgcctaatgtctttgacgccaa
+agtgactgttgatggtctgcgcgcggttaagccaatgcgtgaatggcaactctctgataa
+tgctgcttatatgcattattgcccgaatgaaaccatcgatggtatcgccatcgacgaaac
+gccagacttcggcgcagatgtggtggtcgccgctgacttctcttcaaccattctttcccg
+tccgattgacgtcagccgttatggtgtaatttacgctggcgcgcagaaaaatatcggccc
+ggctggcctgacaatcgtcatcgttcgtgaagatttgctgggcaaagcgaatatcgcgtg
+tccgtcgattctggattattccatcctcaacgataacggctccatgtttaacacgccgcc
+gacatttgcctggtatctatctggtctggtctttaaatggctgaaagcgaacggcggtgt
+agctgaaatggataaaatcaatcagcaaaaagcagaactgctatatggggtgattgataa
+cagcgatttctaccgcaatgacgtggcgaaagctaaccgttcgcggatgaacgtgccgtt
+ccagttggcggacagtgcgcttgacaaattgttccttgaagagtcttttgctgctggcct
+tcatgcactgaaaggtcaccgtgtggtcggcggaatgcgcgcttctatttataacgccat
+gccgctggaaggcgttaaagcgctgacagacttcatggttgagttcgaacgccgtcacgg
+ttaatgccgaaattttgcttaatccccacagccagcctgtggggtttttatttctgttgt
+agagagttgagttcatggaatccctgacgttacaacccatcgctcgtgtcgatggcacta
+ttaatctgcccggttccaagagcgtttctaaccgcgctttattgctggcggcattagcac
+acggcaaaacagtattaaccaatctgctggatagcgatgacgtgcgccatatgctgaatg
+cattaacagcgttaggggtaagctatacgctttcagccgatcgtacgcgttgcgaaatta
+tcggtaacggcggtccattacacgcagaaggtgccctggagttgttcctcggtaacgccg
+gaacggcaatgcgtccgctggcggcagctctttgtctgggtagcaatgatattgtgctga
+ccggtgagccgcgtatgaaagaacgcccgattggtcatctggtggatgcgctgcgcctgg
+gcggggcgaagatcacttacctggaacaagaaaattatccgccgttgcgtttacagggcg
+gctttactggcggcaacgttgacgttgatggctccgtttccagccaattcctcaccgcac
+tgttaatgactgcgcctcttgcgccggaagatacggtgattcgtattaaaggcgatctgg
+tttctaaaccttatatcgacatcacactcaatctgatgaagacgtttggtgttgaaattg
+aaaatcagcactatcaacaatttgtcgtaaaaggcgggcagtcttatcagtctccgggta
+cttatttggtcgaaggcgatgcatcttcggcttcttactttctggcagcagcagcaatca
+aaggcggcactgtaaaagtgaccggtattggacgtaacagtatgcagggtgatattcgct
+ttgctgatgtgctggaaaaaatgggcgcgaccatttgctggggcgatgattatatttcct
+gcacgcgtggtgaactgaacgctattgatatggatatgaaccatattcctgatgcggcga
+tgaccattgccacggcggcgttatttgcaaaaggcaccaccacgctgcgcaatatctata
+actggcgtgttaaagagaccgatcgcctgtttgcgatggcaacagaactgcgtaaagtcg
+gcgcggaagtggaagaggggcacgattacattcgtatcactcctccggaaaaactgaact
+ttgccgagatcgcgacatacaatgatcaccggatggcgatgtgtttctcgctggtggcgt
+tgtcagatacaccagtgacgattcttgatcccaaatgcacggccaaaacatttccggatt
+atttcgagcagctggcgcggattagccaggcagcctgaatgaacaacgggcaataaatag
+ccaaatctttctttatcaaaacgtcggcacattgtcggcgttttttttcggaccttgtga
+gtcattttgattaatggtagcgtcgcttgtcaatgtaagttgttgatacataatatttat
+atatgattaatcaacggatgattcacatgaagaatactaaattactgctggcgattgcga
+cctctgcagcattactgacagggtgtcaaaatacccacggtattgataccaatatggcta
+tcagctccggtttaaatgcctataaagcagcaacattaagcgatgccgatgcaaaagcga
+ttgccaatcagggctgtgccgaaatggacagcggcaatcaagtcgcaagtaaatccagca
+agtacggtaaacgtctggcaaaaatcgccaaagcattgggtaacaatattaatggcacgc
+cggtcaactataaggtttatatgaccagcgacgtcaacgcatgggcgatggcgaacggct
+gtgttcgtgtctacagtggcctgatggacatgatgaatgacaacgaaattgaaggcgttc
+tgggccatgaactgggccacgtcgcgttgggtcactcgctggctgaaatgaaagcttctt
+atgcgatcgttgccgcacgcgatgccatttcagctaccagcggtgtggcttcccagcttt
+cccgctcacaattaggtgatatcgcagaaggcgctatcaatgctaaatactcccgtgata
+aagagtccgaagcagatgatttctcctttgatctgttgaagaaacgtggcatcagcaccc
+aggggctggttggcagctttgaaacactggctagcctggatggcggtcgcacccagtcca
+tgtttgactctcacccaccatcaacagagcgtgcgcaacacatccgtgatcgtatcgcct
+ctggtaagtaaatcattgtcatctttcgggctggtcttctgccagcccgctataattgcg
+caataaatccccatctgaatacagacaaaactggtttttgcacacaacgttaacgatttg
+tggcgtcggcgcgtataatgcgcgcggttatgttaacggtacgcctgttttaaggagata
+aagatgacggcaattgccccggttattaccattgatggcccaagcggtgcagggaaaggc
+accttgtgtaaggctatggcggaagcgttgcaatggcatctgctggactcgggtgcaatt
+tatcgcgtactggcattggcggcattacatcaccatgttgatgttgcgtcggaagatgcg
+ctggtaccgctggcatcccatctggatgtacgttttgtgtcgaccaatggcaatctggaa
+gtgatcctcgaaggggaagatgtcagcggcgaaattcgtactcaggaagtggcgaatgca
+gcttcacaagtcgcggcattcccacgcgttcgtgaagcattattgcgtcgccaacgcgcg
+tttcgcgaattaccaggtctgattgccgatggccgcgacatgggaacggtggtattccct
+gatgcaccagtgaaaattttccttgacgcctcctcggaagaacgtgcgcatcgccgcatg
+ctacagttgcaggagaagggctttagtgttaactttgagcgccttttggccgagatcaaa
+gaacgcgacgaccgcgatcgtaaccgagcggtagcgccactggttccggcagccgatgct
+ttagtgttggattccaccaccttaagcattgagcaagtgattgaaaaagcgctacaatac
+gcgcgccagaaattggctctcgcataagcgaccgaatttgcagtacccccgttgcaatgg
+aatgacagcgggtatgttaaacaaccccatccggcatggagccaggtggacgttaaatat
+aaacctgaagattaaacatgactgaatcttttgctcaactctttgaagagtccttaaaag
+aaatcgaaacccgcccgggttctatcgttcgtggcgttgttgttgctatcgacaaagacg
+tagtactggttgacgctggtctgaaatctgagtccgccatcccggctgagcagttcaaaa
+acgcccagggcgagctggaaatccaggtaggtgacgaagttgacgttgctctggacgcag
+tagaagacggcttcggtgaaactctgctgtcccgtgagaaagctaaacgtcacgaagcct
+ggatcacgctggaaaaagcttacgaagatgctgaaactgttaccggtgttatcaacggca
+aagttaagggcggcttcactgttgagctgaacggtattcgtgcgttcctgccaggttctc
+tggtagacgttcgtccggtgcgtgacactctgcacctggaaggcaaagagcttgaattta
+aagtaatcaagctggatcagaagcgcaacaacgttgttgtttctcgtcgtgccgttatcg
+aatccgaaaacagcgcagagcgcgatcagctgctggaaaacctgcaggaaggcatggaag
+ttaaaggtatcgttaagaacctcactgactacggtgcattcgttgatctgggcggcgttg
+acggcctgctgcacatcactgacatggcctggaaacgcgttaagcatccgagcgaaatcg
+tcaacgtgggcgacgaaatcactgttaaagtgctgaagttcgaccgcgaacgtacccgtg
+tatccctgggcctgaaacagctgggcgaagatccgtgggtagctatcgctaaacgttatc
+cggaaggtaccaaactgactggtcgcgtgaccaacctgaccgactacggctgcttcgttg
+aaatcgaagaaggcgttgaaggcctggtacacgtttccgaaatggactggaccaacaaaa
+acatccacccgtccaaagttgttaacgttggcgatgtagtggaagttatggttctggata
+tcgacgaagaacgtcgtcgtatctccctgggtctgaaacagtgcaaagctaacccgtggc
+agcagttcgcggaaacccacaacaagggcgaccgtgttgaaggtaaaatcaagtctatca
+ctgacttcggtatcttcatcggcttggacggcggcatcgacggcctggttcacctgtctg
+acatctcctggaacgttgcaggcgaagaagcagttcgtgaatacaaaaaaggcgacgaaa
+tcgctgcagttgttctgcaggttgacgcagaacgtgaacgtatctccctgggcgttaaac
+agctcgcagaagatccgttcaacaactgggttgctctgaacaagaaaggcgctatcgtaa
+ccggtaaagtaactgcagttgacgctaaaggcgcaaccgtagaactggctgacggcgttg
+aaggttacctgcgtgcttctgaagcatcccgtgaccgcgttgaagacgctaccctggttc
+tgagcgttggcgacgaagttgaagctaaattcaccggcgttgatcgtaaaaaccgcgcaa
+tcagcctgtctgttcgtgcgaaagacgaagctgacgagaaagatgcaatcgcaactgtta
+acaaacaggaagatgcaaacttctccaacaacgcaatggctgaagctttcaaagcagcta
+aaggcgagtaattctctgactcttcgggatttttattccgaagtttgttgagtttacttg
+acagattgcaggtttcgtcctgtaatcaagcactaagggcggctacggccgcccttaatc
+aatgcagcaacagcagccgcttaatttgcctttaaggaaccggaggaatcatgaccaagt
+cagaattgatagaaagacttgccacccagcaatcgcacattcccgccaagacggttgaag
+atgcagtaaaagagatgctggagcatatggcctcgactcttgcgcagggcgagcgtattg
+aaatccgcggtttcggcagtttctctttgcactaccgcgcaccacgtaccggacgtaatc
+cgaagactggcgataaagtagaactggaaggaaaatacgttcctcactttaaacctggta
+aagaactgcgcgatcgcgccaatatttacggttaagttttttactcaaacttgaacgaga
+gaaaagcacctgtcgggtgcttttttcatttctctaatctggaactggaagctgcctcgc
+agagttttgaacagttttcaccctttcgttaaattcttctgaatatgcctcggggaacgc
+aaaattcccaccagacaaccgctcaacaaagttgcacactttccataaacagggaggggt
+gcatgaaaataacgacagtcggtgtatgcataattagcggaatttttccgttgctgattt
+tgccccaattgcctgggacattaacccttgcgtttctgactctcttcgcctgcgtactgg
+catttatccctgttaaaaccgtccgttatatcgcgctgacgttgctgtttttcgtttggg
+gcatattatcagcaaagcaaattttgtgggcaggagaaaccttaactggcgcgacgcagg
+atgcaattgttgagatcactgcaactgacggcatgaccactcattacggtcaaattactc
+atctacaaggtcgacgtatattccctgcgtcaggtctcgtgatgtatggcgaatatcttc
+cgcaagcggtttgtgctggacaacaatggtcaatgaaactcaaagttcgtgcagttcatg
+gccaacttaatgatggcggctttgatagccagcgttatgccattgcccagcatcagccgc
+tcaccggccgttttctgcaggcaagtgtcattgaaccgaattgtagcctgcgtgcacagt
+atctggcgtcactacaaacaacgctgcaaccctatccgtggaatgcggttattcttggtt
+taggtatgggggaacggttatccgtccccaaagaaatcaaaaatatcatgcgcgatactg
+gaacggcgcatttaatggcgatatcgggattgcacatcgcttttgcggcgttgctggctg
+ccggactcattcgcagtggacaaatttttctgcctgggcgctggatccactggcaaatac
+cattaattggcggaatctgctgtgctgctttttatgcctggttgacgggaatgcaacctc
+ctgcattgcgtaccatggtggcgcttgctacgtggggaatgcttaagttaagtgggcgac
+agtggagtggctgggatgtatggatatgttgtctggcggcaattttgctgatggatcctg
+ttgccattctctcgcaaagtttatggctctctgccgctgcggtcgcggcattgatatttt
+ggtatcagtggtttccctgtcctgagtggcaactgccgccggtattgcgtgcagttgttt
+ccctcatccatctgcaactgggaatcacacttctgcttatgcccgtgcaaatcgtcatat
+ttcatggcattagtctgacctcgtttattgcaaatctattagcaattcccttggtgacat
+ttatcacggttccgttgatcctcgccgcgatggttgtgcatttaagcgggccgttaatcc
+tggagcaagggttatggtttcttgccgaccggtctttggctttacttttctgggggttaa
+agagtttgccggaagggtggatcaacattgctgaatgttggcaatggctatcattttccc
+catggttcttactggtggtatggcgattaaacgcctggcgaacgttgccagcaatgtgtg
+tggctggaggcttgctgatgtgctggccgctgtggcaaaaacctcgacctgacgagtggc
+agctgtacatgcttgatgtcgggcaagggctggcaatggtgatagccagaaacggcaaag
+cgattctctatgacacaggactggcctggcctgaaggggatagtgggcaacaactgatta
+tcccctggctccactggcataatcttgaaccggaaggcgttattctgagccatgaacatc
+tggatcaccggggagggctggattcaatattgcatatatggccgatgttatggatcagaa
+gtccgttaaactgggaacatcatcagccctgtgtgcgtggcgaagcgtggcaatggcaag
+gattgcgtttcagcgcgcactggcctttacaaggtagcaacgataaaggaaataaccatt
+cctgtgtggttaaggttgatgacgggacgaatagcattcttctaaccggtgatattgaag
+ccccagctgaacaaaagatgctaagccgttactggcagcaagtgcaggcaacattgcttc
+aggtacctcaccatggcagtaatacctcatcatcgttgccattaattcagcgagtgaatg
+gaaaagtggcactcgcatcggcatcgcgctataacgcatggcgactgccctctaacaaag
+ttaagcatcgctatcaactgcaaggatatcaatggattgatactccacatcaaggtcaaa
+caacggtcaatttttcagcgcaaggctggcggattagcagcctcagggagcaaattttac
+ctcgttggtatcatcagtggtttggcgtgccagtggataacgggtagaatatgcggctat
+ttcaacaaatgctggttttttgaatgcataacgacaaagatctctctacgtggcagacat
+tccgccgactgtggccaaccattgcgcctttcaaagcgggtctgatcgtggcgggcgtag
+cgttaatcctcaacgcagccagcgataccttcatgttatcgctccttaagccacttcttg
+atgatggctttggtaaaacagatcgctccgtgctggtgtggatgccgctggtggtgatcg
+ggctgatgattttacgtggtatcaccagctatgtctccagctactgtatctcctgggtat
+caggaaaggtggtaatgaccatgcgtcgccgcctgtttggtcacatgatgggaatgccag
+tttcattctttgacaaacagtcaacgggtacgctgttgtcacgtattacctacgattccg
+aacaggttgcttcttcttcttccggcgcactgattactgttgtgcgtgaaggtgcgtcga
+tcatcggcctgttcatcatgatgttctattacagttggcaactgtcgatcattttgattg
+tgctggcaccgattgtttcgattgcgattcgcgttgtatcgaagcgttttcgcaacatca
+gtaaaaacatgcagaacaccatggggcaggtgaccaccagcgcagaacaaatgctgaagg
+gccacaaagaagtattgattttcggtggtcaggaagtggaaacgaaacgctttgataaag
+tcagcaaccgaatgcgtcttcaggggatgaaaatggtttcagcctcttccatctctgatc
+cgatcattcagctgatcgcctctttggcgctggcgtttgttctgtatgcggcgagcttcc
+caagtgtcatggatagcctgactgccggtacgattaccgttgttttctcttcaatgattg
+cactgatgcgtccgctgaaatcgctgaccaacgttaacgcccagttccagcgcggtatgg
+cggcttgtcagacgctgtttaccattctggacagtgagcaggagaaagatgaaggtaagc
+gcgtgatcgagcgtgcgactggcgacgtggaattccgcaatgtcacctttacttatccgg
+gacgtgacgtacctgcattgcgtaacatcaacctgaaaattccggcagggaagacggttg
+ctctggttggacgctctggttcgggtaaatcaaccatcgccagcctgatcacgcgttttt
+acgatattgatgaaggcgaaatcctgatggatggtcacgatctgcgcgagtataccctgg
+cgtcgttacgtaaccaggttgctctggtgtcgcagaatgtccatctgtttaacgatacgg
+ttgctaacaacattgcttacgcacggactgaacagtacagccgtgagcaaattgaagaag
+cggcgcgtatggcctacgccatggacttcatcaataagatggataacggtctcgatacag
+tgattggtgaaaacggcgtgctgctctctggcggtcagcgtcagcgtattgctatcgctc
+gagccttgttgcgtgatagcccgattctgattctggacgaagctacctcggctctggata
+ccgaatccgaacgtgcgattcaggcggcactggatgagttgcagaaaaaccgtacctctc
+tggtgattgcccaccgcttgtctaccattgaaaaggcagacgaaatcgtggtcgtcgagg
+atggtgtcattgtggaacgcggtacgcataacgatttgcttgagcaccgcggcgtttacg
+cgcaacttcacaaaatgcagtttggccaatgatcgaaaaaatctggtctggtgaatcccc
+tttgtggcggctattgctgccactctcctggttgtatggcctggtgagtggcgcgatccg
+tctttgctataaactaaaactgaagcgcgcctggcgtgcccccgtaccggttgtcgtggt
+tggtaatctcaccgcaggcggcaacggaaaaaccccggtcgttgtctggctggtggaaca
+gttgcaacagcgcggtattcgcgtgggggtcgtatcgcggggatatggtggtaaggctga
+atcttatccgctgttattgtcggcagataccacaacagcacaggcgggtgatgaacctgt
+gttgatttatcaacgcactgatgcgcctgttgcggtttctcccgttcgttctgatgcggt
+aaaagccattctggcgcaacaccctgatgtgcagatcatcgtaaccgacgacggtttaca
+gcattaccgtctggcgcgtgatgtggaaattgtcgttattgatggtgtgcgtcgctttgg
+caatggctggtggttgccggcggggccaatgcgtgagcgagcggggcgcttaaagtcggt
+tgatgcggtaatcgtcaacggcggtgtccctcgcagcggtgaaatccccatgcatctgct
+gccgggtcaggcggtgaatttacgtaccggtacgcgttgtgacgttgctcagcttgaaca
+tgtagtggcgatggcggggattgggcatccgccgcgcttttttgccacgctgaagatgtg
+tggcgtacaaccggaaaaatgtgtaccgctggccgatcatcagtctttgaaccatgcgga
+tgtcagtgcgttggtaagcgccgggcaaacgctggtaatgactgaaaaagatgcggtgaa
+atgccgggcctttgcagaagaaaattggtggtatttgcctgtagacgcacagctttcagg
+tgatgaaccagcgaaactgcttacgcaactaaccttgctggcttctggcaactagttacg
+ccgcggcagcgttcgattgatggagtcatgaatgtcgctgccgcacctctcccttgctga
+tgcgcgtaatcttcaccttgccgcacaaggcctgttaaacaaaccccgccgtcgagcgtc
+gttggaggatattccggcaacgatctcccgcatgtccttgctgcaaatcgataccatcaa
+tattgttgcccgtagtccatatctggtgcttttcagtcgtctgggaaattatcctgccca
+gtggctggatgagtctctggcgcgtggcgaattaatggaatactgggcgcatgaagcctg
+ctttatgccgcgtagcgactttcgtcttattcgccaccgcatgctggcacctgaaaaaat
+gggctggaaatacaaagacgcctggatgcaggaacatgaggcggaaattgcacagttaat
+tcagcatattcatgataaggggccggtacgttcagccgattttgagcatcctcgtaaagg
+tgcaagcggctggtgggaatggaagccgcataaacggcatctggaaggtttatttactgc
+cggaaaggtgatggtgattgaacggcgcaacttccagcgcgtttatgatttaacccaccg
+tgtcatgcctgactgggatgatgagcgcgatctcgtttcgcaaacagaagcagaaatcat
+catgctggataacagtgcgcgtagcctgggaatattccgcgaacagtggctggcagatta
+ctatcggctgaaacgtccggcactggcggcgtggcgcgaagcgagggctgaacagcagca
+aatcattgctgtgcatgttgaaaaattgggcaatctttggctgcatgatgatttgctgcc
+gctactcgagcgagcgctggccggaaagctcactgcaacgcacagcgcggtactttcgcc
+ttttgatcctgttgtctgggatcgcaaacgcgcagagcagctttttgattttagctaccg
+gctggagtgctataccccagcgccgaaacgccagtatggctattttgttctgccgttatt
+acatcgtgggcaattagttgggcgaatggatgccaaaatgcatcgccagacaggcatcct
+tgaagttatctctctgtggttacaggaaggtattaaaccaacgacaacgctgcaaaaagg
+gctacgtcaggcgattactgatttcgctaactggcagcaggcaacgcgggtgacattagg
+atgctgcccgcaaggcctctttactgattgccgcaccggctgggaaatagaccccgtcgc
+ataaatgattatgataagatttatgcattcataacccgatccatctggaggaactatgga
+tcatcgtctgcttgaaatcattgcctgcccggtttgcaacggaaaactttggtataacca
+ggaaaaacaagagcttatttgcaaactggacaacctcgctttcccgctgcgtgatggcat
+tccagtgttgctggaaacggaagcccgcgtgctgactgctgatgagagtaaatcatgagt
+tttgtggtcattattcccgcgcgctacgcgtccacgcgtctgcccggtaaaccattggtt
+gatattaacggcaaacccatgattgttcatgttcttgaacgcgcgcgtgaatcaggtgcc
+gagcgcatcatcgtggcaaccgatcatgaggatgttgcccgcgccgttgaagccgctggc
+ggtgaagtatgtatgacgcgcgccgatcatcagtcaggaacagaacgtctggcggaagtt
+gtcgaaaaatgcgcattcagcgacgacacggtgatcgttaatgtgcagggtgatgaaccg
+atgatccctgcgacaatcattcgtcaggttgctgataacctcgctcagcgtcaggtgggt
+atggcgactctggcggtgccaatccacaatgcggaagaagcgtttaacccgaatgcggtg
+aaagtggttctcgacgctgaagggtatgcactgtacttctctcgcgccaccattccttgg
+gatcgtgatcgttttgcagaaggccttgaaaccgttggcgataacttcctgcgtcatctt
+ggtatttatggctaccgtgcaggctttatccgtcgttacgtcaactggcagccaagtccg
+ttagaacacatcgaaatgttagagcagcttcgtgttctgtggtacggcgaaaaaatccat
+gttgctgttgctcaggaagttcctggcacaggtgtggatacccctgaagatcttgagcgc
+gttcgcgctgaaatgcgctaatttcacttcacgacacttcagccaattttgggaggagtg
+tcgtaccgttacgattttcctcaatttttcttttcaacaattgatctcattcaggtgaca
+tcttttatattggcgctcattatgaaagcagtagcttttatgagggtaatctgaatggaa
+cagctgcgtgccgaattaagccatttactgggcgaaaaactcagtcgtattgagtgcgtc
+aatgaaaaagcggatacggcgttgtgggctttgtatgacagccagggaaacccaatgccg
+ttaatggcaagaagctttagtacgcccggaaaagcccgacaactggcatggaaaaccacc
+atgctggcaagaagtgggactgtccgtatgccgactatttatggtgtgatgacgcatgaa
+gaacaccccggccccgatgtcctgctactggagcggatgcgtggtgtttcggtggaggca
+ccagcccgaacaccagaacgctgggaacaactcaaagaccaaatcgttgaagccttactg
+gcctggcaccgtcaggacagtcgcggttgcgtcggcgcggtcgacaatactcaggaaaat
+ttctggccctcatggtaccggcaacatgttgaagtgctatggaccacgctcaatcagttc
+aataacaccggtctgacgatgcaggataagcggatcctgtttcgcactcgcgaatgtctc
+ccggcattatttgaaggctttaacgacaattgtgtgctgattcacggtaacttctgttta
+cgcagcatgttgaaagattcgcgcagcgatcagttactggcgatggtcgggccgggacta
+atgctttgggcaccgcgagaatacgaactgttccgactaatggataattctctggcggaa
+gatttgctctggagttacctgcaacgcgcgccagtggcggagtcgttcatctggcggcgt
+tggttgtatgtgttatgggatgaagttgcgcaactggttaataccggacgatttagtcgg
+cgcaacttcgatctggcatcaaaatcactcttgccgtggctcgcctgacgaaccttttag
+ccactgccagatacggccaagcgtttcatagccaacacgatcgctatgcatcaaccagac
+cggagaagggattgcccgttcccacgggttaagcggcgagtcgatggccaactgattcgc
+cggggctggtagcggatttaacccttcctgctgaaaaaagatcatcgcccgcggcagatg
+tgatgcggaggtcaccagcaggaaaggggcgtcaccaatcgcctgtttcactgctgcagc
+ttcttcttcggtatcttttggcaaatccagggtgataatttgctcgcgcggcacgcccag
+cgattgcgcaactctggcacctacttccgctgtactcaccgtattggtttttgctacgcc
+tcccgtgaagatcagttttgatcccggattttcgcgccataagcgaataccttcattcag
+gcgtggcagactgttattgattaaattagagctcggtgcccactgcgggttccaggtata
+accacctccgagcaccacgatatagtccactttttgcgaattattccatgtcggataggt
+gctttcgatgggacgcagcaggcggtcggctaccggttgcaaactcaataacaagagcgc
+cagccacccaatgctaataaaaatcttcccggttttttgaaaacggctaaaccacagcag
+cgccaggccagcgccaataatcaacaacatcagcggaagtggcagcaacatattgccaat
+cacttttttcagtgtaaaaagcatcctttctggttccttttttaaccatatagcaaggga
+tcgccagcgatattacaccagacgggttcattctcgccgtggctgtgacaaaatagcgtc
+tttatcagaaaacgtcttagccaaccggtggagaaagcaatgcaggatcgcaattttgat
+gatattgcggaaaagttttcccgtaacatttacggcaccaccaaagggcagcttcgacag
+gctattctgtggcaggatctcgatcgcgtgctggcggaaatgggcccgcaaaaactgcgt
+gtgctggatgctggcggtggagaagggcagaccgcaatcaaaatggccgagcgtgggcat
+caggtcattttatgcgatctttctgcgcagatgatcgaccgcgcaaaacaggcggcagaa
+gcaaaaggtgtgagcgacaacatgcaatttatacattgcgccgctcaggatgttgcttcg
+catttggaaacgcccgttgatctgatattgttccatgcggtgctcgagtgggtggctgat
+ccccgcagcgtattgcagaccctctggtcagtgttgcgtccaggcggcgtgttgtcgtta
+atgttctacaatgcgcatggtttgttgatgcataacatggtcgccgggaattttgattac
+gtgcaggcgggaatgccgaaaaagaaaaaacggacgctttcgccagattatccacgcgac
+ccggcgcaggtttatctgtggctggaagaagctggttggcaaattatgggtaagacaggc
+gttcgcgtgtttcatgattatctgcgcgagaaacaccagcagcgcgactgctatgaagca
+ttacttgaattagaaacgcgttattgccgtcaggaaccgtatattaccctggggcgttat
+attcatgtcaccgcgcgcaaaccgcagagcaaggataaagtatgagtgaattttcccaga
+cagtccccgaactggttgcctgggccagaaaaaatgacttctccatctcgctgccggtag
+accgactctcttttctgctggcggttgccacgctgaacggcgagcgtctggatggtgaga
+tgagtgaaggcgagctggtggatgcattccgccatgtgagtgatgcgtttgagcaaacca
+gcgaaaccatcggcgtgcgcgccaataacgcgatcaacgacatggtgcgtcaacgtctgc
+tgaaccgctttaccagcgagcaggcggaagggaacgcaatttaccgtctgacgccgctcg
+gcatcggcattactgactactacatccgtcagcgcgagttttctacgctgcgtctttcta
+tgcagttgtcgattgtggcgggtgagctcaaacgcgcagcagatgccgccgaagagggcg
+gtgatgaatttcactggcaccgtaatgtctatgcgccactgaaatattcggtagcagaaa
+ttttcgacagtatcgacctgacgcaacgtctgatggacgaacagcagcagcaggtgaagg
+acgatatcgcccagttgctgaacaaagactggcgggcggcgatttccagctgtgaattgt
+tgctttcggaaacttccggaacgctgcgtgaattgcaggatacgctggaagcggcaggcg
+acaaattgcaggctaatctgttgcgcattcaggatgcgacgatgacccatgacgatctgc
+atttcgtcgatcgtctggtgttcgatctgcagagcaaactcgatcgtattatcagttggg
+gccagcaatccatcgacttgtggattggctacgaccgccacgtacacaaatttattcgta
+ccgcgatcgatatggataaaaaccgcgtctttgctcagcggttacgtcagtcggtacaaa
+cctattttgatgagccgtgggcgctaacttatgccaatgccgatcgtctgctggatatgc
+gtgacgaagagatggcactgcgcgatgaagaagtgactggggaacttcctgaggatctgg
+aatacgaagagtttaacgagatccgcgaacagctggcggcgatcatcgaagaacaacttg
+ccgtgtacaaaaccagacaagtgccgctggatcttggtctggtggtacgcgaatatctgt
+cacagtatccgcgtgcacgtcactttgacgttgcgcgtattgttattgatcaggcggtac
+gtcttggcgtagcgcaagcagatttcaccggactgccagcgaaatggcagccgattaatg
+attacggagccaaggtacaggcgcatgtcatcgacaaatattgaacaagtgatgccggtt
+aagctggcgcaggcgctggcgaatccgttatttccggcgctggacagcgccttacgttca
+ggacgccatattggcctcgacgaactggataatcatgcattcctgatggattttcaggaa
+tatctggaagagttttacgcgcgttataacgttgagcttattcgcgcaccagaagggttc
+ttctatttacgcccacgttccaccacgctgatccctcgttccgtcttgtcggaactggat
+atgatggtcgggaaaatcctctgttatctctatctcagcccggaacggctggcgaatgag
+gggattttcacccagcaggaactgtacgacgaactgctcaccctggccgatgaagcaaaa
+ctgctgaaactggtgaacaaccgttcaaccggttcagacgttgaccgtcagaagttgcag
+gagaaagtacgttcttcgctcaaccgtctgcgtcgtttaggcatggtgtggtttatgggc
+cacgacagcagcaagtttcgcattaccgaatcggtgttccgcttcggagccgatgtgcgt
+gctggcgacgatccccgtgaagcacagcgtcgcctgattcgtgatggcgaagcaatgccg
+attgaaaatcatctgcaactcaacgatgaaaccgaagagaatcagccagatagcggagag
+gaagaataatgattgaacgcggtaaatttcgctcactgacgctgattaactggaacggct
+tttttgcccgaacttttgaccttgacgagctggtcacgacgctttctggcggtaacgggg
+cgggtaaatccaccaccatggcggcgttcgttacggcgctgatccccgacctgaccctgc
+tgcatttccgtaacactacggaagccggggccaccagcggttcgcgcgataaaggtctgc
+acggtaagctgaaagcgggtgtctgttattcgatgctcgacaccattaactcgcgccacc
+agcgcgtggtggtcggtgtgcgtctgcaacaggttgccggacgcgatcgtaaagtggata
+tcaagccgtttgccattcagggactgccgatgtcggtgcagccgacacagctggtgaccg
+aaaccctgaacgaacgccaggcgcgcgtgctgccgcttaacgagctgaaagacaagctcg
+aggcgatggaaggcgtgcagtttaaacagttcaactccattactgattaccactcgctga
+tgttcgatctgggcatcatcgcgcgtcgtctgcgctccgcatctgaccgtagcaaattct
+atcgtctgatcgaagcttcgctgtatggcgggatctccagtgccattacccgttctctgc
+gcgactacctgttgccagaaaacagcggcgtgcgtaaagcgttccaggacatggaagcgg
+cgctgcgtgaaaaccgtatgacgctggaagcgattcgtgtcacccagtcggaccgcgacc
+tgtttaagcatctgatcagcgaagccaccaactacgtggcggcggactacatgcgtcacg
+ccaacgagcgccgtgtccatctcgacaaagccctggagtttcgtcgcgagctacatactt
+cgcgtcagcaactggcggctgagcagtacaaacacgtcgatatggcgcgtgagctggcag
+agcacaacggtgccgaaggcgatctggaagcggattatcaggcggccagtgatcacctga
+acctggtgcaaaccgcactgcgtcagcaggagaagatcgaacgctacgaagcggatctcg
+atgagctgcagatccgtctggaagagcaaaatgaagtggtggcagaagccatcgaacgcc
+agcaagagaatgaggctcgtgcggaagctgccgaactggaagtggacgagctgaaaagcc
+agcttgctgactaccagcaggcgctggacgtccagcaaacgcgcgcgatccagtataacc
+aggcgattgctgcgcttaatcgtgccaaagaactgtgccatctgccggacttaaccgccg
+actgcgccgccgaatggctggaaaccttccaggcgaaagagctggaagcgactgaaaaaa
+tgctctctcttgagcagaaaatgagcatggcgcaaaccgcgcacagccagtttgagcagg
+cttatcagctggtggtggcaatcaacggcccactggcgcgtaacgaggcgtgggatgtcg
+ctcgcgaactattgcgcgaaggggtcgatcagcgtcacctggcagagcaggttcagccgc
+tgcggatgcgattaagcgaactggaacagcgtctacgcgagcagcaagaagctgagcgtc
+tgctggcagatttctgcaaacgtcagggcaagaattttgatatcgacgaactggaagccc
+tgcatcaggaactggaagcacgcattgcctctctttccgatagcgtgtctaacgcccgtg
+aagagcgcatggcactgcgccaggagcaggaacagctgcagtctcgcattcagagtttga
+tgcagcgtgcgccggtttggctggcagcgcaaaacagtctcaaccagttgagcgaacagt
+gcggcgaagagtttacctccagccaggacgtcaccgaatatctgcaacagttgctggagc
+gtgagcgagaggcgattgttgaacgcgatgaagtgggcgcgcgcaaaaacgccgtcgatg
+aagagatcgaacgtttaagccagcctggcggctctgaagatcagcgtctgaacgcgctgg
+cggagcgttttggtggtgtgctgctgtcagaaatttatgacgacgttagcctggaagatg
+cgccgtacttctcagcgctgtatggcccgtcacgccacgccatcgtggtgccagatctgt
+cacaggtaactgaacacctggaaggcttgaccgattgcccggaagatctctatctgatcg
+aaggagatccgcagtcattcgatgacagcgtgttcagcgttgatgagctggaaaaagcgg
+tagtggtgaaaatcgccgatcgtcagtggcgttattcacgtttcccggaagtgccgctgt
+ttggtcgtgctgcgcgtgaaagccgtattgaaagcctccatgccgagcgtgaagtgcttt
+ccgaacgcttcgccacgctctcctttgatgtacagaaaactcagcgtctgcatcaggcgt
+tcagccgctttatcggcagtcatctggcggttgcgtttgagtctgacccggaagcagaaa
+tccgtcaactgaacagccgtcgcgtcgaactggagcgggcgttaagtaatcatgaaaatg
+ataaccagcagcagcgtattcagtttgagcaggcgaaagagggcgttacggcgctgaacc
+gcattctgccgcgtctcaacctgttggctgatgacagcctggcggatcgcgtcgatgaaa
+tccgcgaacgtctggatgaagcccaggaagccgcgcgttttgttcagcagtttggcaatc
+aactggcgaaactggaaccgattgtttcggtattgcagagcgacccggaacagttcgaac
+agttaaaagaagattacgcgtactctcagcagatgcagcgcgatgcccgtcagcaggcgt
+ttgccctgacggaagtggtgcagcgtcgtgcgcactttagctattctgactcggcagaaa
+tgcttagcggtaacagcgatctcaacgaaaaactgcgtgaacgtctggaacaggcggaag
+cggagcgtacccgcgctcgcgaagcgttgcgcggtcacgcagcgcagttgagtcagtaca
+accaggtgctggcttcgctgaaaagttcttacgacaccaaaaaagagctactcaacgatc
+tgcaacgtgaattgcaggatatcggcgtgcgtgctgatagcggggcagaagagcgggcgc
+gtattcgccgtgacgagctgcatgcgcaactgagcaataaccgttcacgccgcaatcaac
+tggaaaaagcgcttaccttctgcgaagcggagatggacaacctgacccgcaaactgcgca
+agctggagcgggattactttgagatgcgcgagcaggtagtgaccgccaaagcgggctggt
+gtgcggtgatgcgcatggtgaaagataacggcgttgagcgccgcttacaccgtcgtgagc
+tggcttatctctccgctgatgatttgcgttccatgtcggataaggcgttaggtgcgctgc
+gtctggcggtggcggataacgaacatctgcgcgacgtgctgcgcatgtcggaagatccga
+aacgtccggagcgtaaaattcagttcttcgtggcggtttatcagcatctgcgtgaacgta
+ttcgtcaggatattattcgtaccgatgatccggtggaagctatcgaacagatggagattg
+aacttagccgtctgaccgaagaattaacctcccgtgaacagaaactggcgatcagttccc
+gcagcgtggcgaacatcattcgcaaaaccattcagcgcgagcagaaccgtatccgtatgc
+tcaaccaggggttgcagaacgtatcgtttggtcaggtgaacagcgtgcgtctcaacgtga
+acgtgcgtgaaacgcacgccatgctactggatgtgctctctgaacagcacgagcagcatc
+aggatctgtttaacagcaaccgtttgaccttctcggaagcgctggcgaaactgtatcaac
+gtcttaacccgcagattgatatggggcagcgcacgccgcagaccatcggtgaagaactgc
+tggattaccgcaactatctggaaatggaagttgaggttaaccgtggttccgatggctggc
+tgcgcgcagagtctggtgcattgtcgaccggtgaggcgattggtaccggtatgtcgattc
+tggtgatggtggtacaaagctgggaagatgaatctcgccgcctgcgcggtaaagatatct
+ctccttgccgcctgctgttcctcgatgaagcagcgcgactggatgctcgttctatcgcca
+cgctgtttgaattgtgtgagcgtttgcaaatgcaactcatcatcgcagcgccggaaaata
+tcagcccggagaaaggcaccacctataaactggtgcgtaaagtcttccagaataccgaac
+acgttcatgtcgtcggcctgcgaggatttgcgccgcaactccctgaaacgcttccaggaa
+ctgacgaagcgccttctcaggcgagttaaaattaaggcggcagcaatgccgccttttctt
+tttccgaaaactccgtttctgcactaaaaaagtggcacattacggcgcgcttttctttaa
+acttctttacattaggttatgtaaaaacgtatcggcgtttatatactgaagataagcctg
+atgagtaacaggcttgctcgtcatactttcgtgagtattggcgttgtacaggcaagtcgt
+aaaataacagcctggctattcagagtatgataaaaacagggggcaagggatgttgcttaa
+tatgatgtgtggtcgtcagctgtcggcaatcagtttgtgcctggccgtaacattcgctcc
+actgttcaatgcgcaggccgatgagcctgaagtaatccctggcgacagcccggtggctgt
+cagtgaacagggcgaggcactgccgcaggcgcaagccacggcaataatggcggggatcca
+gccattgcctgaaggtgcggcagaaaaagcccgcacgcaaatcgaatctcaattacccgc
+aggttacaagccggtttatcttaaccagcttcaactgttgtatgccgcacgcgatatgca
+acccatgtgggaaaaccgtgatgctgttaaagccttccagcaacagctggcagaggtggc
+gattgccggtttccagccgcagtttaataaatgggtagagttactgaccgatcctggtgt
+taacgggatggcacgcgacgtggtgctctctgatgcgatgatgggctatctccatttcat
+tgcaaatattccggtcaaaggcactcgctggctatatagcagtaaaccttatgcacttgc
+aacgccgccgctctcggtgattaaccaatggcagctggcgctggataaaggtcaattgcc
+tacgtttgttgcaggactggcaccgcagcatccgcaatatgcggcgatgcatgaatcgtt
+actggccttactctgtgacaccaaaccgtggccccaactgaccggcaaagcaacgttgcg
+cccagggcagtggagtaacgacgtaccggcgttgcgcgaaatattgcaacgcacaggcat
+gttggacggggggccgaaaattactctacctggcgatgacacgccaactgacgcggtagt
+cagcccatccgctgttactgttgaaacagcagaaactaagccgatggataagcaaacgac
+gtctcgtagtaaacctgcgcctgccgttcgcgccgcctacgataatgaactggtggaagc
+cgttaaacgttttcaggcatggcaaggattgggggcagatggtgctattggcccggcaac
+acgtgactggttaaacgtaacgcccgcccagcgtgctggtgtgttggctctcaacatcca
+gcgattgcgcttgctgccaacagagctttctaccgggatcatggttaacattccggccta
+ttcgctggtctactatcagaacggcaatcaggtgctggattcgcgagtcattgtcggtcg
+ccccgatcgcaaaacgccgatgatgagcagtgcccttaacaacgtagtggtaaacccgcc
+gtggaacgtacctccaactctggcacgcaaagatattctgccaaaagtgcgcaacgatcc
+gggatatctcgaaagccatggctatacggtgatgcgcggctggaacagcagagaagcgat
+tgacccatggcaggttgactggtctacaatcacggcctcgaatttaccgttccgcttcca
+gcaggctccaggcccacggaactcgctggggcgctataaattcaatatgccgagttcaga
+ggccatttatttgcatgacacgccgaaccacaatctgttcaagcgtgatacacgcgcatt
+gagctcaggctgtgtacgagtgaataaagcttccgatctggcgaatatgctgttgcagga
+tgcaggctggaatgacaaacgtatttctgatgcgctgaagcagggtgatacacgttacgt
+caatattcggcagtcgattccggtgaatctctactacctgacggcctttgttggtgcaga
+tggtcgtacccagtatcgtacagatatttacaattatgatctgcctgcgcgatccagctc
+gcaaatcgtatcgaaagcggaacaattaatcaggtaaatgaagtagttcggggaaatcag
+ttgtcgtaataattagcatgattgggggcgattctctgcagcccccgtcactgctggggt
+tgagtcatcttgacgtctgctttacgggcggttaaggtgcctcttgtgcgccagaagtgc
+atataaacgataacattgacctgtagacttgattatcatggacaaattcgacgctaatcg
+ccgcaaattgctggcgcttggtggcgttgcactcggtgccgccatcctgccgacccctgc
+gtttgcaacactctctaccccacgcccgcgcattttgacactcaataatcttcataccgg
+agagtcaatcaaagcggagtttttcgatggcagaggctatattcaggaagaattggcaaa
+acttaaccattttttccgcgattaccgcgcgaacaaaataaagtccatcgacccaggatt
+attcgaccagttgtatcgcctgcaagggttgttaggcacgcgcaaaccggtgcaactcat
+ttccggttatcgttctattgataccaacaatgaactacgcgcccgcagccgtggagtagc
+gaagaaaagctatcacactaaaggccaggcgatggatttccatattgaaggtatcgcgtt
+aagcaatattcgcaaagccgcgttatctatgcgcgcaggtggtgtaggatattatccacg
+tagtaactttgtgcatattgataccgggccagcacggcactggtagtaattgcttaacga
+aacaggggcagtatgaactatcgtattattccggtcaccgcattctcccagaactgttca
+ttaatctggtgtgaacaaacccgtctggccgcactggtcgatcctggcggcgatgcggaa
+aaaatcaaacaggaagttgatgacagcggcctgacactgatgcagatcctgctgacgcat
+ggtcatctggaccacgttggcgcagcggcggaactggcgcaacattacggcgtgccggtt
+ttcggcccggaaaaagaagatgagttctggctgcaaggcttgcctgcgcaaagtcgtatg
+tttggtctggaagagtgccagccgctgacgccagatcgttggctgaacgaaggcgatacc
+atcagcatagggaatgtgactttacaggtgttacattgccctgggcatacgccgggtcat
+gtcgtgttttttgatgatcgggcaaagctgctgatttctggcgatgttattttcaaaggc
+ggagtagggcgcagtgacttcccgcgtggcgatcataatcaactgatttcttcaatcaaa
+gataaattgctgccactgggggatgacgtgatatttattccgggtcacggaccattatcc
+acacttggttatgaacgcctgcataatcccttcctgcaagacgaaatgcccgtctggtaa
+ggcacataaaaaagcccgcttttaatgctggcctggatttctggcaaagtgcgctttgtt
+tatgccggatgcggcacgagcgccttatccggcctacaaaatcgtgcaaattcaaaatat
+tgcaggggacgcgtaggcctgataagcgtagcgcatcaggcaatgttgcgtttgtcatca
+gtctcagcccgcttttcagcgggcttcattgtttttaatgcttacagcactgccacaatc
+gcttcgcacagcggagccatgttatctggtgtcatcccggccacatttacgcgaccagaa
+gcaaccgcatatacgccaaactcttcgcgcagacgcagcacttgttcttttgtcaggcca
+ctgaaggagaacatgccgttctgtttgatgataaagctgaagtcgcggtttgcgcctttt
+tcctgcagcgtattgacgaacaactgacgcatacgctgaatacgctggcgcatatcagtc
+agctcttgttcccaaatcgcacgtaacgcatcgttgctcaggatggtggcaacaacagaa
+gcgccgtgtgctggtgggttagagtagttagcgcgaatcgccgctttcatttggctgaat
+gcgcgatcaacggtttcactgtcggcagcaaccagagtacaagcgccaacacgctcgttg
+tacaggccaaagtttttagagtaggaactggcaacaatcagctctttatgcatagccgcg
+aaagcgcgcagtccttcagcatcttcttccagaccacgggcaaaaccctggtaagcgaag
+tcaaacagcggtaaccagcctttctcaacggagagttgtgccagtgtttgccattgttcc
+agcgtagggtcgataccggttgggttatggcagcagccatggaacagcactacgtcgcca
+gcctgagcttcattcaggctgttaatcagtgcatcgaagtcaagagtgtgattttccgca
+tcataataagcgtattcacgaacttccagacctgcagagttaaagacgctcttatggttc
+ggccagcttgggttgctcacccacacacgcttaacgctggtattttttgccaggaaatcg
+gcagccacgcgtagtgcgccagtgccccccggagtctgtgccgtgcgagcacgtttgtca
+ttgatcagggcgctacctttaccaaacagcagttcctgagtgcagcgaccaaattcaggg
+atgccgtcaatgccgaggtaatttttggtggtttcattttcgagcagatactgttcagcc
+tttttcacgctggtcagtaccggggttttgcccgtctcatctttatagacaccaatcccg
+aggttaattttgccgggacgttcatcggcacgaaacagatcggccaggcccagaatcggg
+tcggcaggagcggcggtaatgttctcaaacatgacgaggttccattatggttacagaagg
+gaagtccgctatcagggtaacgggagatttacaaaattccaactattactgatgaaaacg
+caggctgtttttgcaagacgtgagattgctctggaaggtataaaaaaaacaggaccaaag
+tcctgttttttcggcatttaacaaagaggtgtgctattagaactggtaaacgatacccac
+agcaacggtgtcgtctgaacctacgcccagtttgttgtcagaatcgatctggttgatgat
+gtagtcaacataggtggacatgtttttgttgaagtagtaggttgcgcccacttcaaagta
+gttcaccagatcaacatcaccgataccttctacgtctttcgctttagatttggtgtaagc
+gatggacggacgcagaccgaaatcgaactggtattgcgcaactaacagaacgtcttgcgt
+tttgttggcgaagccgctggtgtttgtaaatttattagtgatcggcgtagcgttacgggt
+ttcaccgtagttcgctgccaggtagatgttgttcgcgtcgtacttcagaccagtagccca
+ctgttcagcttttttaccgttgccaagaggttgagcttcttgcaggttggtacggtcagc
+tgcaccataagcaccaacgataccaaagccttcgtattcgtagctgatagaaccgccaac
+accgtcgccgttagaacggcgtgcagtgtcacgctcgtttttacccaggtactgaacagc
+gaagttcaggccatcaaccagaccaaagaagttggagttacgataggtagcaacgccgcc
+aacacgaccaacgaagaagtcatcgctgtatgcagtatcaccaccaaattctggcagcat
+atcggtgtaacccagtgcatcataaaccacaccgtagttacggccgtaatcgaaagaacc
+aacgtcagcgtatttaagacccgcgaatgccagacgcgttttgttaccagtttgagcgtc
+agcgccttcagagttgttaccctggaagttatattcccactgaccataaccggtcagatc
+ggaattgatttgagtttcccctttaaaaccaagacgggcataggtcatgtcgccattgcc
+accgtaactgttttcaccgttacccttggaaaaataatgcagaccaacagctttaccgta
+cagatctactttgttgccatctttgttatagatttctgcagcgtttgcagtacctgctac
+taacagagcagggacgatcactgccagaatattgcgcttcatcattatttattaccctca
+tggttttttttatgacacctgccactgccgtcaataagttctgtcaataaaaatttacgg
+aactattgatgagagtttggtgtctttatgtgtctgcaggcatctttccattcaaactaa
+cgtttcgctaccgtgaaagtgctacaaagataaagatttggtttcaaaaagaaaaaatat
+gtaaccaaaagtaaaatttaaggaactttgtgaacaccgtcatatttccatagagacgtg
+atgatatttacagcaattttaatctatttatatgatttccttatatttaaattaactaaa
+cggaaattttgtttctgatggaaactttatcgacctggcacaaaatcttctttcagacat
+ccagaatgccaaaaaatagtatgaaaattgtgctattagctaagaaaaaactaatccgca
+ataagaatgcggattagtttttgcgcgtaaatgttgcaatgtaatattccgtaacaggat
+gatcgttatggcggggttgcaaatagattgcttgacttaacaaacagataacttgacaga
+aaagataaaaaaagagccagcgggcgctggctcttgaagacgctaaattagaagctggcg
+ttacgcggagtacgtgggaacggaatcacatcacgtacgttttgcacgccagttacgtaa
+gcaatcagacgttcaaaaccaagaccgaaacctgaatgcggaacagtaccgtagcgacgc
+agatcgcgataccaccagtaatcttctttattcaggcccatttccagcatacgctcgtcc
+agcacgtccagacgttcttcacgctgggagccaccaatgatctcaccgatgcccggagcc
+agaacgtccatagccgcaacggttttaccgtcttcgttaaggcgcatatagaacgcttta
+atatctttcggatagtttttaaccactaccggtgctttaaagtgttcttccgccagataa
+cgctcatgctcagaagagagatcgactccccagtaaaccgggttttcaaacttcctgccg
+cagttttcgagaatggtcactgcgtcggtataatccacctgcgcaaaatcggcttcaatg
+aagcgttccagacgtgaaacggcatctttatctacgcgttcagcgaagaatttcatgtcg
+tcagcgcgttcttcgagaaccgctttgaagacatatttcagcatggcttcagccagaccc
+gcaatatcgttcaggttagcaaacgccacttccggctccagcatccagaattccgccagg
+tgacggctggtgttggagttttcagcacggaaagtcgggccgaaggtataaattttggac
+aatgcgcaagcgtaggtttcgccgttcaactggccagatacggtcaggaaagactcttta
+ccaaagaagtctttgtcgaaatccactttgccctgatcgttacgcggcaggttttccaga
+tccagcgtagaaacgcggaacatttcgcctgcaccttcggtatcagatgcggtaatcagt
+ggcgttgaaacccagaagaatccctgctcgttaaagaagcgatgcagcgcctgcgccagc
+gtatggcgaacgcgcgcgacggcaccaatcaggtttgtgcgcggacgcaggtgagcgact
+tcacgcagatactcaatgctgtggcgttttgccgccatcgggtaagtgtctggatcttca
+acccaaccagcaacttcaaccttgctggcctgaatttcaaattgttgcccctggcccggc
+gacgccacgactttacccgtcacaatgaccgagcagccggtggtcagacgcaggacgtct
+tcattgtaattgggcagagaattattgatgacagcctgtacaggatcaaagcaggaaccg
+tcataaacggcgaggaaggagatgccagcttttgaatctcggcgggtacgtacccatccg
+cgcacggtgacttcgctgtcaacggctacacggccctggagtacgtcggctacaggcaca
+acgctcataatattctctctgttaatagtcggaaaaaataaacacttgtccacccgtaaa
+tggggggatacctatgttacctggcatctgcaatcagacaagcagaattcgcaaatgcag
+cgaaagatttcggaattaaaggtaaaaaaagggagccgattagctccctgatgatattaa
+ctggcttttttaatatgcggaaggtcgaacgctttgcgcagcgcccgaacaaacgcttta
+tcatggcagatagttttgccagggctgtcagaaagtttcgccaccggtttaccgttacac
+tctaccaacttaatgacaatattcaggggttttacctgggggatatcgcaggtcaggcga
+gtcccaataccaaaacttaattgcacgcgggaagagaagtggcggtatagctcaaccgct
+ttgcgtaaatccagattgtcagagaaaaccagcgttttactctgtggatcaattcccagc
+ttttcataatgtgcaatggctttttcaccccattcaaccgggtcgccagagtcatgacgc
+aggccctgataccgactagcgaactcgacaccgaaatcacgcaggaaagcatccatagtg
+atgcagtcggttaatgcaatgccaagttggtcgggatactcttccagccaggcagcaagt
+gcagctcgctggctgttggctagatccgggctgatttgctgatgtgcctggaaccattcg
+tgtgcctgtgttcccatcggcgtgagggaaagccgacgcgccagatcgtagttgctggtg
+cccacaaaccaggattcctgttgcagacgcttaacgatggtttcttgtacttcgcgagaa
+aaacggcgacgggtgccaaaatccatcagatggaagcgcgacatatcaagaccggcggtt
+aacgccgagaagtcgactaatttgctttccagcgtgtcgagggcttgcgcaacgtcggcc
+tgcggtgagcgatagcgatgtaccatttcactgataaccgccagcaaaggaacttcccag
+aggatgacttcacgccacgggccgcttaaacgaatatccagcttgccattatcgttggac
+acggtgacttgttccgggttaaagcggaactcgcgtaaccagttaagatagtcggcctta
+aagaaaggcagggcagaaagccactgatattcatcatcctgcaggcgcaggtgctgcatc
+gcctgaacctgttcacgaatagcatcggcataaatacccagcagatcgtcacctcggcaa
+cgaaactccgccgcgacatgcacatcgtaatagtgatgaaacacggcttgctgcatatgc
+aacttataagcatctgtatccagcaacgagtgcagaacaggagaagcgaattgtgtcata
+ggtgcgcagtagcgtcctcgtacaggagcgtttagtacaataaacatcttcaggaactgc
+tggagtataccttgtttcgcaatttattgaaccccgatcacaccatatgccacctttctg
+gtcgatggcattacgcggtgtatgttataaaaatgtagcaataaaggcgtttgtacctga
+aaagatgaagattctgcatagcgcgatttacgcaacaggaatagactgaacaccagactc
+tataaaagatgctaaaggttatttatgactcaacagccacaagccaaataccgtcacgat
+tatcgtgcgccggattaccagattactgatattgacttgacctttgacctcgacgcgcaa
+aagacggtcgttaccgcggtcagccaggctgtccgtcatggtgcatcagatgctcccctt
+cgtctcaacggcgaagacctcaaactggtttctgttcatattaatgatgagccgtggacc
+gcctggaaagaagaagagggcgcactggttatcagtaatttgccggagcgttttacgctt
+aagatcattaatgaaataagcccggcggcgaataccgcgctggaagggctttatcagtca
+ggcgatgcgctttgcacccagtgtgaagccgaaggtttccgccatattacgtattatctc
+gaccgcccggacgtgctggcgcgttttaccaccaaaattattgccgataaaatcaaatat
+cccttcctgctttccaatggtaaccgcgttgcgcaaggcgaactggaaaacggacgccat
+tgggtacagtggcaggacccgttcccgaaaccgtgctacctgtttgcgctggtggcaggc
+gactttgatgtactgcgcgatacctttaccacgcgttctggtcgcgaagtagcactggag
+ctgtacgtcgatcgcggcaaccttgatcgcgcgccgtgggcgatgacctcgctgaaaaac
+tccatgaaatgggatgaagaacgctttggcctggagtatgacctcgacatctatatgatc
+gtcgcggtggatttcttcaatatgggcgcaatggagaataaggggctgaatatctttaac
+tccaaatatgtgctggcccgcaccgacaccgccaccgacaaagattacctcgatattgaa
+cgcgttatcggccatgaatatttccataactggaccggtaaccgagtgacctgtcgcgac
+tggttccagctcagcctgaaagaaggtttaaccgtcttccgcgatcaggagttcagctct
+gaccttggttcccgcgcagttaaccgcatcaataatgtacgcaccatgcgcggattgcag
+tttgcagaagacgccagcccgatggcgcacccgatccgcccggatatggtcattgagatg
+aacaacttctacaccctgaccgtttacgagaagggcgcggaagtgattcgcatgatccac
+accctgcttggcgaagaaaacttccagaaagggatgcagctttatttcgagcgtcatgat
+ggtagtgcagcgacctgtgacgactttgtgcaggcgatggaagatgcgtcgaatgtcgat
+ctctcccatttccgccgttggtacagccagtccggtacaccgattgtgaccgtcaaagac
+gactacaatccggaaaccgagcagtacaccctgaccatcagccagcgcacgccagccacg
+ccggatcaggcagaaaaacagccgctgcatattccgtttgccatcgaactgtatgataac
+gaaggcaaagtgatcccgttgcagaaaggcggtcatccggtgaattccgtgctgaacgtc
+actcaggcggaacagacctttgtctttgataatgtctacttccagccggtgcctgcgctg
+ctgtgcgaattctctgcgccagtgaaactggaatataagtggagcgatcagcaactgacc
+ttcctgatgcgtcatgcgcgtaatgatttctcccgctgggatgcggcgcaaagtttgctg
+gcaacctacatcaagctgaacgtcgcgcgtcatcagcaaggtcagccgctgtctctgccg
+gtgcatgtggctgatgctttccgcgcggtactgcttgatgagaagattgatccagcgctg
+gcggcagaaatcctgacgctgccttctgtcaatgaaatggctgaattgttcgatatcatc
+gacccgattgctattgccgaagtacgcgaagcactcactcgtactctggcgactgaactg
+gcggatgagctactggctatttacaacgcgaattaccagagcgagtaccgtgttgagcat
+gaagatattgcaaaacgcactctgcgtaatgcctgcctgcgtttcctcgcttttggtgaa
+acgcatctggctgatgtgctggtgagcaagcagttccacgaagcaaacaatatgactgat
+gcgctggcggcgctttctgcggcggttgccgcacagctgccttgccgtgacgcgctgatg
+caggagtacgacgacaagtggcatcagaacggtctggtgatggataaatggtttatcctg
+caagccaccagcccggcggcgaatgtgctggagacggtgcgcggcctgttgcagcatcgc
+tcatttaccatgagcaacccgaaccgtattcgttcgttgattggcgcgtttgcgggcagc
+aatccggcagcgttccatgccgaagatggcagcggttacctgttcctggtggaaatgctt
+accgacctcaacagccgtaacccgcaggtggcttcacgtctgattgaaccgctgattcgc
+ctgaaacgttacgatgccaaacgtcaggagaaaatgcgcgcggcgctggaacagttgaaa
+gggctggaaaatctctctggcgatctgtacgagaagataactaaagcactggcttgataa
+ataaccgaatggcggcaatagcgccgccattcggggaatttacccctgttttctcaggcg
+agtttcagattcaccacgttgcatcacccgttgcaacacctccgcttccagctccgctaa
+tcgcaccgaccctaatcgacgcggacgggggatatccactgtcaaatccagaccaatttt
+tccctcttcaattaacagcacccggtcagccatcgctaccgcttcgctcacatcatgcgt
+caccaacagtacggtaaagccgtgctcctgccaaagtgacacaatcaaatcctgcatctc
+gagtcgcgttaaggcgtccagcgccccgagcggttcatcaagcaacaataatcccggtcg
+atgaatcaacgctcttgccagcgccactcgctgtttctgcccgccagaaagtgcggcagg
+ccattcccctgcgcgattctccagtcctaccgcagccaacgctcgacgtgcggcatcgcg
+ccactggcctttaaggcctaacccaacgttatcaatcaccgatttccacggtagcagacg
+cgcatcctgaaacatcattcgcgtgtcttcctgaatttcagccagcggtgtggtgcccgc
+taacacatcgcctgcggttggcgtttccagacctgccagcaggcgcagcagggtactttt
+gccaccaccgctgcggcccaccaccgccacaaactgacctgccggaatatgtaaatccag
+ttggttcaggacgatattttccgcgtaatgtttgcttactgcattgagcaacaatggcgt
+gccctggttcagacgagcagtattcataccgtggcctccttcaaatgataagccgggttc
+cagcgcaaccagaggcgctctaacagctgcgcgctgacgtcagccagtttgccgagcagg
+gcgtaaagaataatagcgactaccaccacgtccgtttgcaaaaactcccgcgcattcatc
+gccagataaccaatgcctgaattggcagaaatggtttcggcaacaatcagcgtcagccac
+atcaggcccaacgcaaaacgcacgccgaccataattgagggcagggcaccaggcaggatc
+acatggataaacagcggtatgccggataatccatagctacgcgccatctccaccaacccg
+cgatcgatattacggatgccatgccaggtgttgatataaatggggaatagcgtaccgagc
+gccaccagaaagatttttgcggattcatcaatgccaaaccacaaaatcaccagcgggatc
+agcgccagatgcggcacgttgcgcaacatctgaattgaggtatccagcagccgttctccc
+cagcgagatagcccgctaatcagtcccaaaatcaaccccagcgatccgccaattgaaaag
+ccaatcagcgcccgccaggagctgatcgccagatgctgccacagttcgccgctggcggag
+agcgtccagaacgccgtcaccactccttccggtgaaggcaaaatacgcgtcgacagccag
+ccaaccgaggaggccagttgccacaccgccacgatgcccaccggtaaaaaccagggggca
+acgcgcaataaccacttcttcactggcgttgccattatttcttccttagctttgcgcgac
+tttacgggggataaaatcattcgccaccgcttcgccttgcggattcagcggctgcggctg
+gggaatttccgggatggcgacatccagaagcgggaacagcaactcgccaacccgatacgc
+ttcttccagatgcggatagcccgaaagcacaaaactgtcgatgccaagcgcggcatattc
+gttgattcgcgcagcgaccgtaggaccatcgcccaccagcgccgtcccggcaccgccgcg
+cactaagccaacgcccgcccataaattggggctgatctccagattgtcgcgcttgccgtt
+atgtaacgccgccattcgctgttgccctacggaatccgtccgggcgaatgcggcctgtgc
+tttggcgatagtttcatcatcaagatgcgagattaaccgctcggcggcctgccacgcttc
+gtcgttagtttcacgaacaatcacatgcagacgaataccgaaacgaattttgcgtccatg
+cgcggcagctttcgcccgcacttgttcgattttctctttaaccagttccggcggttcgcc
+ccaggtgaggtagagatcaacctgttctgccgccagctcctgggcgacatctgacgatcc
+gccaaagtaaagtggcggatacggctgttgaatcgccgggaagagcagttttgctccgcg
+cacatgaatatgtttaccgttgaaatcgacggtttctctctgcaataaacgccgccagac
+ctgggtaaattccgccgaggcttcgtagcgctcgctatgatcaaggaacactccgtcgcc
+tgccagctcttgtggatcgctgcctgtgaccaggttaaacaacgcacgtccatttgagag
+acggtcaagcgtggcggcctggcgggcggcaacggtaggtgaggttacgctgggacgcag
+ggcgacaagaaacttcagccgctgcgtcaccgggatcatcgatgcggcaaccagccacgc
+atcttcgcaggagcgccccgttggaattagcacaccggtatagccaagacgatccgccgc
+ttgcgcaatttgttgcagataaccgtgatcaaccgggcgtgaaccttcttccgttcccag
+ataatgcccgtcaccgtgggtcggtaaaaaccagaacatattcagactcataattgtttt
+ccttccagttgagtgggctgccagatgcgctggcgaatatcgacttttttcggcaccaga
+cgattttcataaaacagatctgccgtttgctgctgtaaggcggcaacctcggcgttaacc
+ggtttgatggtggtaggagggcgatgatctaagtaagaggcaatcaccggtgccggtaag
+cccatcgtttttgccagtaaagcgatgctttgctcgcgctggctgcgggttaacgcatcg
+gcctcactaaaggttgccagtacgccctgaataaaagcgccgtttttttctgcataggga
+cgagctgccagataaaacgatccagtttgattgagatcggtgccgtctttcagcacccgc
+acgccgccctgtaataatgcagcagagtagtagggatcccagatagcccaggcgtcaacg
+ttaccttgctggaacgcggcgcgggcatcagcgggcgtcaggtaagtgggttggatatcg
+gtaaacttaagtccggcctgacgcagtgcacgcagtaaaaggttgtgtgaactggaacct
+ttctgaaaggcaactttgtgacctttaagatcggctacggttttgatcgggctgttttct
+gccaccagaatcacttcggctttgggcttcggtggctcgacgcccacgtacaccaaatca
+gccccggcagcctgggcaaagattggcggaatatccccggtactgccgagatcaatactg
+ccaacgtttaacgcttccaacatttgcggacccgcggggaactccacccaggagattttt
+gattccggatagcgtttttccagtaactggtggctttttgccagcaccataccaatactg
+cctttctgatagcctatacgtaacgcttcaggcgaggattctgcagcaaccgcaaaagta
+gagacgctaagcaatcccgccagcgccagtttaatgatgttacgcatgggcattacctcg
+cagagacagaaggtcaggaacctgaacatcgcggcggtgcaatgcctgccagaaagtttc
+tagcgcggtatcaagacgggtttgcagatttggcgtgaactggggtctgtgatggtaatc
+aattacttgtgagtcatcggcaaacacgccgtgcaggatctcctgagctttcagtgcgct
+taaaactggtttaagggcataatcgaccgccagcagatgggccacggtaccgcccgtcgc
+cagcggtagcaccactttgccttgcaaagcgcgttctggcagcaggtcgagcagggtttt
+caacgcaccggaataggcggctttatacacaggcgtggcgacaatcagcccatcggcctg
+ttgcagctgttcggtgaaggtcttgagtgccggactatcgaaacgagcataaagtagatc
+ttccggggcgaagttttgcagattccagtgataaacctctacatccaggccatttagttt
+ttcccgcgcatattccagcaaggagctggagcgagaaggaaagcgaggactacccgccag
+ggtgatgacacgcatactctctccttataaccaattgttctttttttgttaacattgata
+acaattcggtcagtctgtcggagagacaagaaaattccaaatataaattttgtgtatctt
+tttctgaaaataaactaaagaaagggctttatatatcacgcatatttatttattggatag
+tcattagatgttgaatcaatgaattactcgttcagttaatatttaaatattcatgaaatc
+tataaattaaagatttgtcacttattggatttagtatgcttgatttaaatggcggacaat
+tattgttattattaagtctaatgtcatttaaaggcattatcatatttacgaagagatcag
+gatgataacgatgaaaaaaagtgtattgacggcgtttataactgtggtatgtgcaacgtc
+cagcgttatggctgctgatgataatgctatcacggatggctcagtaacatttaatggtaa
+agttattgctccagcttgtaccctggtagctgcgacgaaagattccgtggtgactttgcc
+agatgttagtgccacgaagttgcaaaccaatggtcaggtttctggcgtgcaaattgatgt
+gccaattgaattaaaagattgtgatactaccgtaacaaaaaatgcaacgttcacctttaa
+tggcactgcggatactactcagattacagcgtttgctaaccaggcctcatctgatgctgc
+tacaaacgtggccctgcaaatgtatatgaatgatggtacaacggccatcacgccagacac
+agaaaccgggaacattttgttgcaggatggagatcagacgttgacttttaaagttgatta
+tatcgctacggggaaagcgacttcaggtaatgtgaatgcggtaacaaatttccatattaa
+ctattattaatagaactcattaattgttttattaattagtacccctccagtgttctggag
+gggatattcatattttttaagagtgactatttatgaaaacttgcataacaaagggaattg
+tgaccgtaagtttaacggcaatattactcagctgctcatccgcatgggcggcaggtaaag
+gcgggattggacttgcagcaacacgtcttgtttattcagaaggtgaagagcaaatttcac
+tgggtgtacgtaacaccagtccggatgttccttatcttattcagtcatgggtgatgaccc
+cagataataaaaaatcagcagactttattattacaccaccgctatttgtgctgaatccgg
+caaatgagaatctgttacgcattatgtacattggagcgccgttggcgaaagacagagaaa
+cccttttcttcactagcgtacgggcagtcccttcaacaacgaagcggaaagagggaaata
+ccctgaagattgccacacaaagcgtcatcaaacttttctggcgaccaaaaggtttagcgt
+atcccttaggcgaggctccggcgaaactgcgttgcacttcgtcagctgacatggttacgg
+tcagtaacccaacaccttatttcattaccctgacagacctgaaaataggtggaaaagtag
+ttaaaaatcaaatgatttccccctttgataaataccaattttctctgccaaagggggcca
+aaaatagcagcgtaacgtatcgaaccatcaatgactacggggcggaaacgccgcaactca
+actgtaaatcgtaagccgtcttcagttaagagagcgagatgtatagaactcatcgacaac
+acagcctgttaagctctggtggagtgccatcgtttattggtgggctggtggtgtttgtgt
+cggcagcgttcaatgcacaagctgaaacctggttcgatcctgcttttttcaaagatgatc
+cctcaatggtggccgatttgtctcgtttcgaaaaaggacaaaaaataacgccaggggttt
+atcgtgtcgatattgttctgaatcagacaattgtagatacgcgcaacgtcaattttgttg
+agataacgccagagaaggggattgccgcctgtttgacgactgaaagcctggatgcaatgg
+gtgttaatactgatgcgtttccggcttttaaacaactggacaaacaagcgtgtgtgccat
+tggcggagattattccggatgccagcgtaacgtttaatgtgaataaactccgtctggaaa
+tttcagtaccgcaaatcgccatcaaaagtaatgcccgtggttatgtcccccctgaacgtt
+gggatgaagggatcaacgcgctattactgggatattcgtttagcggggctaacagtattc
+atagcagcgcagacagtgattctggcgacagctattttctgaatttaaacagtggcgtta
+atttaggcccatggagattgcgcaacaattcaacatggagtcgtagtagtggccaaaccg
+cagaatggaagaatctcagcagctatttgcaacgggcggttattcctctgaaaggcgaac
+tgaccgtaggtgatgattatactgcaggcgattttttcgatagtgtcagctttcgtggtg
+tgcagctggcgtcagatgacaacatgctgccagacagcctgaaagggtttgcgcctgtgg
+tgcgtggtatcgccaaaagcaatgcccagataacgattaagcaaaatggttacaccattt
+accaaacttatgtatcgcctggtgcttttgaaattagtgatctctattccacgtcgtcga
+gcggtgatttgttagttgaaatcaaagaagcggacggcagcgtcaatagctacagcgtac
+cgttctccagtgtgccattactccagcgtcaggggcgaatcaaatacgcggtgacactgg
+cgaaatacagaaccaatagtaatgaacagcaggagagcaaatttgcccaggccacgttgc
+agtggggcggaccgtggggaacgacctggtatggtggtggacaatatgctgaatattacc
+gtgccgccatgtttggtctgggatttaacctcggcgatttcggagcaatttcgttcgatg
+cgacccaggcgaagagtacgctagcagatcaaagcgaacataaaggtcagtcatatcgtt
+ttctgtatgccaaaacgctcaaccacttgggcactaactttcaattgatgggctatcgct
+attcgacgtcgggtttctacaccctttccgacaccatgtataaacatatggatggctacg
+aatttaatgacggtgatgatgaagatacgccgatgtggtcgcgttattacaatttgtttt
+acaccaaacgtggcaaactgcaggtcaatatctcccagcaattaggcgagtacggttcgt
+tttatttaagtggtagccagcaaacttactggcatacggatcaacaggatcggctattac
+agtttggctacaacacgcaaattaaagatctttcgctggggatttcctggaactacagta
+agtcccgtggtcaacctgatgctgatcaggtgtttgctctaaatttttccctgccgctca
+atctgttgctccccagaagtaatgatagctataccaggaaaaaaaattacgcctggatga
+cctctaacaccagtatcgataacgaagggcacactacacaaaacctgggtttaacggaga
+cattactcgatgacggtaacctgagctacagcgtgcaacagggatataacagcgagggga
+aaacggctaatggtagcgccagcatggattacaaaggggcgtttgcggatgcccgagtgg
+gctacaactacagcgataacggcagtcaacaacaactgaactacgctctttcaggcagtt
+tagttgcccattcacagggcattaccctggggcaatcgctgggggaaactaacgttctga
+ttgcagcaccaggcgcagagaatactcgtgtggcgaacagcaccgggctgaaaactgact
+ggcgcggatataccgttgttccttatgccacttcttatcgggaaaatcgaatcgcacttg
+atgcggcgtcgttaaaacgtaacgtggatcttgaaaatgcagtagtcaacgtggttccca
+ccaaaggggcgttggttctggcggagttcaatgcccatgcgggtgcaagggtattaatga
+aaacatcaaagcagggtataccgctgcgttttggcgcgatagcgacgctggacggcgtac
+aggctaatagcggcataattgatgatgatggctcgctctatatggcgggtttaccggcga
+agggaacaataagcgtgcgctggggcgaagctcccgatcaaatttgtcatatcaattacg
+agcttaccgaacaacaaattaactctgcgattacgcgaatggatgccatatgcagataat
+ctttggagaaaaatgcgtgtcattactacgactattttttgccgccgtcttaatgttatg
+gtgcgctcaaaccgctgcttatagcgggcagtgtcatactactcaggggaatccgtatat
+tggcgtcaattttggcgttaaaaccctggaggaagaagcaaatacggcaggggtagttaa
+agacaaattttatcagtggaacgaatcgaatgattattatgtttcctgtgattgcgataa
+agacaatgtcagaagtggccgatgggcattcgccgcggattcaccgttagtctatttagg
+cgacaactggtacaaaattaatgactatcttgccgccaaagttttattgcaggttaaagg
+cagttctcctactgcggttcctttcgaaaacgtgggcacagggggggatacccgatggca
+tatttgcgaccctggcggtcaacgtttaggtgggcagggggcaagcggtaatagcggtag
+cttttccctgaaaatattgcagccgttcgttggctcggtcgtcattcctcctatggcgct
+ggcgcgattatatgaatgctacaacatacccgcaggtgattcctgcacgactacaggtac
+accggttttagtgtattacctgtctggtacgatcaattcacttggctcatgttccgtcaa
+tgccggagagacaattgaagttgatttaggtgatgtcttcgctgccaatttccgtgttgt
+agggcataaacctcttggggccagaacggcagaacttgcaattccagtcaggtgtaacac
+gggaaacgcgggattagttaatgtcaacctgagtctgacggcaaccacagaccccagcta
+tccccaggcgattaagacgtcacgtcctggcgtgggcgtggtggtgaccgatagccagaa
+caacattatttcccctgctggtggaacattaccgctctctattcctgatgatgcagacag
+tatcgcgcgaatgaatgtctatccagtcagcacgacaggtgtaccaccagaaaccgggcg
+atttgaagccacggcaacggtgagaataaattttgattaacgcgtgaacgtatgaagaaa
+aaaacgatatttcagtgcgttatcttgttctttagcattcttaacatccatgtcgggatg
+gctgggcctgaacaagttagtatgcatatttatgggaatgtggtcgatcagggctgtgat
+gtcgccaccaaaagtgcattacaaaatattcatattggtgattttaatatcagtgatttt
+caggccgcgaataccgtaagcactgctgctgatttgaatatcgatatcaccggttgtgcc
+gctggtattactggcgcggacgtcctttttagcggcgaggctgacacccttgcgccgaca
+ctgctcaaactaactgacacaggcggaagcggtggtatggcaacggggattgccgtgcaa
+attcttgatgcgcaaagtcagcaagaaatcccgctcaatcaggtccagcctcttacgccc
+ttaaaagccggggataacacactcaaatatcaacttcgttataagtccacaaaggcggga
+gcaacgggcggtaatgcgacggcggttctctattttgatctggtttaccagtgaaggagt
+gatgttgaaacggataatctggattctgttcttattgggattaacgtggggctgtgagct
+atttgcccatgatggcacggtcaacattagcggatcgtttcgccgtaatacatgcgtgct
+ggcacaggatagcaagcaaatcaatgtgcagttaggcgatgtctcgctgacacgtttttc
+tcatgggaattatggcccggagaaatctttcatcattaatttgcaggattgcggaacaga
+tgtcagcacggttgacgtcaccttttcaggaacccccgacggagtgcagagcgaaatgtt
+gtccattgaaagtggtacggatgcagccagcgggctggcaattgcgattctggatgatgc
+gaagatattgattccgcttaaccaggcgagtaaagactacagcctacatagcggtaaggt
+gccattaactttttatgcgcaattgcgacctgtcaatagcgatgtgcagtcgggtaaagt
+gaatgccagcgcgacatttgtacttcattatgactaatacgtggaacagattggcgctct
+tgattttcgccgttttatcgctgctggtggcgggtgaattgcaggcaggagtggtggtcg
+gcggaacgcgatttatctttccggcagacagagaatcgatatctattttactgactaata
+ccagtcaggaatcctggcttattaacagtaaaatcaaccgcccaacgcgttgggccgggg
+gggaagcgtcgacagtgccagcaccattactggccgctccgccacttattctcctgaagc
+ccggtacgacaggcacgttgcgcttgctgagaacggaaagcgacatcttgcctgtggatc
+gcgaaacgctatttgagttaagcattgccagcgtgccatccggcaaagttgaaaatcaga
+gcgtaaaagtggcgatgcgctcggtatttaaactgttctggcgacccgaaggtttgccgg
+gcgacccgctggaagcttatcaacaattacgctggacacggaattcgcagggtgtacaac
+tcactaacccaacgccttattacattaacctgattcaggtgagtgtaaatggtaaagcgt
+taagtaatgtgggagttgtgccgcctaaaagccagcgtcagacaagctggtgtcaggcaa
+tcgcaccgtgtcatgtcgcctggcgggcgataaatgattacggcgggttgagtgcaaaga
+aggagcaaaatctgccctgaaacaggttcggaaaacgtttgcgttttttttgccgcaggt
+caattcccttttggtccgaactcgcacataatacgcccccggtttgcacaccgggaatcc
+aggagagttcatgtactaccccttcgttcgtaaagcccttttccagctcgatccagagcg
+cgctcatgagtttacttttcagcaattacgccgtattacaggaacgccgtttgaagcact
+ggtgcggcagaaagtgcctgcgaaacctgttaactgcatgggcctgacgtttaaaaatcc
+gcttggtctggcagccggtcttgataaagacggggagtgcattgacgcgttaggcgcgat
+gggatttggatcgatcgagatcggtaccgtcacgccacgtccacagccaggtaatgacaa
+gccgcgtctctttcgtctggtagatgccgaaggtttgatcaaccgtatgggctttaataa
+tcttggcgttgataacctcgtagagaacgtaaaaaaggcccattatgacggcgtcctggg
+tattaacatcggcaaaaataaagatacgccagtggagcagggcaaagatgactatctgat
+ttgtatggaaaaaatctatgcctatgcgggatatatcgccatcaatatttcatcgccgaa
+taccccaggattacgcacgctgcaatatggtgaagcgctggatgatctcttaaccgcgat
+taaaaataagcaaaatgatttgcaagcgatgcaccataaatatgtgccgatcgcagtgaa
+gatcgcgccggatctttctgaagaagaattgatccaggttgccgatagtttagttcgcca
+taatattgatggcgttattgcaaccaataccacactcgatcgttctcttgttcagggaat
+gaaaaattgcgatcaaaccggtggcttaagtggtcgtccgcttcagttaaaaagcaccga
+aattattcgccgcttgtcactggaattaaacggtcgcttaccgatcatcggtgttggcgg
+catcgactcggttatcgctgcgcgtgaaaagattgctgcgggtgcctcactggtgcaaat
+ttattctggttttatttttaaaggtccgccgctgattaaagaaatcgttacccatatcta
+attatttcttcgaattcctctttataagataatcagggctttattttcagccctggttgt
+tttatattcatcgctgttgcttatttagacattttgtacttttattgttgaggttattaa
+gcgaagcgacaatggattgtgttgctgcggttttatagggtaggggagaggcagatgcga
+attaaaccagacgataactggcgttggtattacgatgaagagcacgatcgaatgatgctc
+gatttagccaatggtatgctatttcgctcacgttttgcgcgcaagatgttgactccagat
+gccttttctcccgcaggcttttgcgttgacgacgccgcgctctatttctcttttgaagaa
+aagtgccgcgattttaatttatctaaagaacaaaaagccgaactggtgctgaatgcactg
+gtagcaattcgctatctcaaaccgcaaatgccgaaaagctggcattttgtttcccatggt
+gaaatgtgggtgcccatgccgggcgatgcggcctgcgtttggttgagcgatactcacgag
+caggtcaatttgctggtcgttgaatctggcgaaaatgccgcactatgcctgctggcacaa
+ccctgcgttgttattgcgggtcgcgcgatgcagttgggcgacgccattaaaatcatgaac
+gacaggctgaaaccgcaggttaatgttgacagcttcagcctcgaacaggcagtctaacgc
+gccaacttaagtgcagtcttcggtacacagctacagcaaagaatggtgccatcatcgccc
+attgctgattttttcagcggcgtgacttcgccttctaaaagctgaacacggcaacttcca
+caaatgcccgcgcggcaagaataagggatacgaattccctgattttctaattgctccagc
+aacacctgttggttatttccacgaaatgcctgtccctgccagtcaatatctacatttgcg
+tccggttgttgcgtgatgttggcggtatcatcagcggcagctgcgccgtaaatttttgcc
+ggagccgttgccagaatttccacctcatcgccaacgcgaatcacgccgctattacgggca
+attaaattctgaccaaaatcgacatcgccgttatcctgggcagtgcggaaagattgcaat
+gtttttaatggttcgcctgccggatgtttttgccctttttctgggctgacggtggtgaaa
+atacagcggctacaaggtttaaccacatcaaacaccacatcaccaatgcgaatcactttc
+cagcgatcttcttcccaggctgacgcgccggaaaccaccagattggggcggaattgctcc
+atttttacactggccggacaacgttgttggagatcacgtaacgaggcttcgttagcaaga
+aggtaaggatagccatcagcaaatgacagaggtacagtgttgtggcgtttcacgcgccgg
+gtcatttgtggccccacccagcgtaattgcacttcgcgggagaaaaatccacttagccat
+ttgttgatcgcgtctggcgcaattcgcgcggtaaaatgtgtgccccaaacttcggttggt
+gcgtcttgtgtggcgaaatcagcaaaacgaacatatgcgctactgccatctggtgcggtg
+agatgcaagccatcatgcacaggtgaaggagtaaaccgtaccatctggggaaactggcga
+gcggtaataaacgtaccgtcaggttccgtgatcataaagatgcgatcgaaggccagacca
+ctgacatctgccagagcatgtgtaagaccaatgccgcgcatcgatttaacaggatgaata
+aaaagccggattaatgtcgccacggtgcggtcctcaaatgaaaataagccctcaacttta
+tgacatgacgcgcttattagctataatgcgcaacaattttcttagcgcctgtcccattag
+gctattttatttgtcagtttggccctgggttatgctcgaaatcctcacgtacttgtgtac
+gctccggtttctccgcgctgtccatgtccagactgactgcaacaattacgcctactgcgg
+taggctcttagagtaaaagtgacgatatgaattctctgtttgccagtacggcccgtgggc
+tggaagagctgttaaaaactgaactggaaaacctgggggccgttgaatgccaggtggttc
+agggtggggtccatttcaagggcgacacacggcttgtttaccagagcctgatgtggagcc
+gcctggcctcgcgtattatgttgccgctgggcgagtgtaaggtttacagcgatttagacc
+tctatctcggtgttcaggcgatcaactggacagagatgtttaatcctggcgcgaccttcg
+ctgtccacttcagtggtttgaatgacaccatccgcaacagtcagtacggcgcgatgaaag
+tgaaagacgcgatcgtcgatgctttcacgcggaaaaatctgccgcgtccaaatgttgatc
+gcgatgcgccggatatccgcgttaacgtctggctgcataaagaaaccgccagtatcgctc
+ttgatctgagtggtgatggtttacatctgcgtggctatcgcgatcgtgctggtattgcgc
+cgatcaaagaaaccctggcagccgctattgtgatgcgatccggctggcagccaggaacac
+cgctgctcgatccgatgtgtggttccggtacgttgctgattgaagcagcgatgctggcga
+ccgatcgcgcaccaggcttgcaccgtgggcgttggggctttagcggctgggcgcagcatg
+atgaagctatctggcaggaagtgaaagcggaagcgcaaactcgcgcccgtaaaggcctgg
+ctgagtatagctctcatttttacggttcggacagcgacgcacgggtgattcaacgtgcac
+gcactaacgcccgtcttgcggggattggtgaactgatcacctttgaggtgaaagatgtcg
+cgcaactgaccaatccgctgccgaaagggccgtacggcacagtgttgagcaacccgccat
+acggggaacgtctggacagcgaaccggcgctgattgcgctgcatagcctgctgggtcgga
+tcatgaaaaaccagtttggtggctggaatctctctttgtttagtgcctcgccggatctgc
+taagctgcttgcagctgcgtgcagacaaacagtacaaggcgaaaaacggcccgctggact
+gcgtacagaaaaattaccacgttgccgaaagcactccagacagcaaaccggcgatggtag
+cggaagactacaccaaccgcctgcgtaagaacctcaaaaaattcgagaagtgggctcgcc
+aggaagggattgaatgttaccgcctgtatgacgccgatctgccagaatataacgttgccg
+ttgaccgttatgccgactgggtggtggtgcaggagtatgcgccgccaaaaactattgatg
+ctcacaaagcgcgtcagcgtctgttcgatattatcgctgcaaccatttcggtactgggga
+ttgcgccaaacaaactggtgctgaaaacccgtgaacgccagaagggcaaaaaccaatacc
+agaaactgggcgagaagggcgagtttcttgaagttaccgaatataacgctcacttgtggg
+tgaacctgacggattatctcgatactggtctgttcctcgatcaccgcatcgcccgtcgta
+tgctcggtcagatgagcaaaggcaaagatttcctcaacctgttctcttataccggcagcg
+ccaccgtgcatgcgggattaggcggtgcacgcagcaccaccaccgtggatatgtcgcgta
+cttatctggaatgggcagaacgcaacctgcgtctgaatggcctgaccgggcgtgcgcatc
+gcctgattcaggccgattgcctggcgtggctgcgtgaggcaaatgaacagttcgatctga
+tctttatcgatccgccaaccttctctaactcaaaacgaatggaagatgcgtttgatgttc
+agcgcgatcatctggcgctgatgaaagatttgaaacgtctgctgcgtgcaggtgggacga
+tcatgttctcgaacaacaaacgtggcttccgtatggatctcgacggcctggcaaaactgg
+gactgaaagcacaagaaattacgcaaaaaacgctctcccaggatttcgcccgtaaccgcc
+agatccacaactgctggctgattaccgcagcctgaaaggaatagtaatgtcattaatcag
+tatgcatggcgcatggctgtcgttcagcgacgcgccgcttctcgataacgcagaactgca
+tatcgaagataacgaacgtgtttgtctggtgggccgcaacggcgcaggcaaatcgacgtt
+aatgaaaatcctcaaccgtgaacaagggctggatgacggtcgcattatttacgagcaaga
+tttgattgtagcgcgtctgcaacaggatccgccgcgtaacgttgagggtagcgtttatga
+tttcgttgccgaaggcattgaagaacaagcggaatatctgaaacgctatcacgatatttc
+gcgcctggtgatgaacgacccgagcgagaaaaatctcaacgaactggcgaaggttcagga
+acagctggatcaccacaacctgtggcagctggaaaaccgcatcaacgaagtgctggcgca
+actggggttagatcctaacgttgcgctgtcgtcgctttccggcggctggttgcgtaaagc
+ggcattaggacgcgcgctggtgagtaatccgcgcgtgctgttgcttgatgaaccgacaaa
+ccacctggatattgaaaccatcgactggctggaagggtttttgaaaactttcaacgggac
+gattattttcatctcccacgaccgttcgtttatccgcaatatggcgacgcgcattgttga
+tctcgatcgcggcaagctggtgacctatccagggaattacgaccagtacctgctggaaaa
+agaagaagccctgcgcgtggaagaattacaaaatgccgagttcgatcgcaaactggcgca
+ggaagaggtgtggatccgccaggggatcaaagcacgccgtacccgtaatgaaggccgcgt
+acgcgccctgaaagcgatgcgtcgcgaacgtggtgaacgtcgcgaagtgatgggtaccgc
+aaagatgcaggtggaagaggccagccgctccggtaaaatcgttttcgaaatggaagacgt
+ttgctaccaggttaacggtaagcaactggtgaaagatttttctgcccaggttctacgtgg
+cgacaaaattgccctgattggtccgaatgggtgcggcaaaaccacgctgctaaaactgat
+gctcggtcagcttcaagcggacagcgggcgtattcacgttggcaccaaactggaagtggc
+ttatttcgatcagcaccgcgcggaactggatcccgataaaacggtgatggataaccttgc
+cgaaggtaagcaagaggtgatggttaacggcaagccacgccacgtattgggctatttgca
+ggactttctgttccatccgaaacgggcgatgacgccggtacgtgcgctttctggcggtga
+gcggaaccgcttgctgctggcgcgtttgttcctcaaaccaagcaacttattgattcttga
+cgaaccgaccaacgatcttgatgtcgaaacgctggaactgctggaagaactgatcgacag
+ctatcagggcacggtattgctggttagccacgatcgtcagtttgtcgataacaccgttac
+agaatgttggatcttcgaaggcggcggtaaaattggtcgttatgtcggcggttatcatga
+tgcccgtggtcagcaagagcagtatgtggcgctcaaacagcctgcggtgaaaaaaaccga
+agaagccgccgcggcaaaagcagaaactgtaaaacgcagcagtagcaaactaagctataa
+attgcagcgcgaactggagcagctaccgcaattgctcgaagatctggaggcgaagctgga
+agccctacagacgcaagtggcggatgcttccttcttcagtcagccgcatgagcagacgca
+aaaagtgcttgctgatatggctgctgcagagcaggagctggagcaagcctttgaacgctg
+ggagtatcttgaagcgttaaaaaatggtggctgatcgcaaaatagtcgatttaaacagag
+acagctgacaacggtaaaattgcctgatgaactgggtttatcaggcatgaaaaccaacac
+tttgttagtcatctgtaaaatagcgcatcattaaggagtaccaatgtgcgaacatcatca
+tgccgcgaagcacatcctgtgctcgcagtgtgacatgctggtggcgttaccgcgccttga
+gcatggtcagaaagcggcatgtccccggtgtggcacaacgttaaccgtggcgtgggatgc
+ccctcggcagcgtcccaccgcctatgcgttggctgcactgttcatgctgttgctgtccaa
+cttgtttccttttgtgaatatgaacgttgcaggagttaccagtgaaattacattactgga
+aattcccggcgtgcttttttctgaggactacgccagcctcggcacctttttcctgttgtt
+tgtgcaactggttcccgcgttttgtctgataaccattctgttactggtgaatcgcgcgga
+attaccggtccgtttaaaagagcaactggcacgggtgctttttcaactcaaaacctgggg
+aatggcggagattttcctcgcgggtgtgctggtcagtttcgttaaactgatggcttacgg
+cagcattggggtaggcagcagctttctcccctggtgtttattttgtgtcctgcaactgcg
+cgcttttcagtgcgttgatcgtcgctggttatgggacgacatcgccccgatgccagaact
+gcgccagccgctaaaaccaggcgtcacggggatacgtcaggggctgcgttcgtgctcctg
+ttgtacggcaatccttcctgctgatgaacccgtgtgcccgcgttgtagtaccaaagggta
+cgttcggcgtagaaacagcctgcagtggacactcgcgctgcttgtaacgtccatcatgct
+gtatcttccggctaatattttgcccatcatggtgacggatttattaggctcgaagatgcc
+gtcgacgattctcgctggggtcattctgttatggagcgaaggctcttatcccgtcgctgc
+ggtgatctttctggccagtattatggtgccaacgttaaagatgatcgccatcgcgtggct
+gtgttgggatgccaaagggcatggcaagcgcgacagtgaaagaatgcatttgatttatga
+agttgttgagtttgtaggccgctggtcgatgattgacgttttcgttatcgcggtgctctc
+ggcgctggtgcgtatgggaggtttaatgagtatttatccggcaatgggtgcattaatgtt
+tgctttagtcgtcataatgacaatgttttctgctatgacgtttgacccgcgtttgtcgtg
+ggatcgtcaacctgaatcagagcatgaggagtcctgacagtatggaatctaataatgggg
+aagccaaaatccagaaagtgaagaactggtctcccgtgtggatatttcctatcgtcacgg
+cgctcattggggcctgggttcttttttatcattacagccatcagggaccggaagtgaccc
+tgatcaccgcgaatgcggaaggaattgaaggtggcaaaaccaccattaaaagccgtagcg
+ttgacgtcggcgtggttgaaagcgccacactggctgatgatttgacgcacgttgaaatca
+aagcgcggctgaattccggtatggaaaaattgctgcataaagacaccgtcttttgggtgg
+tgaaaccgcagattggtcgcgaagggattagcggcctgggaacgctgctgtctggagttt
+atatcgaactgcagccaggcgcgaaaggcagcaaaatggataaatacgatttgctggact
+cgccaccgttggccccgcctgatgcgaaaggtatccgtgtgattctcgatagcaaaaaag
+ccgggcagctctcgccaggagatccggtgctgttccgtggctatcgggtaggttcggttg
+aaaccagcaccttcgatacacaaaaacgcaatatcagctatcaactgttcatcaatgcac
+cttatgaccgactggtgaccaacaatgttcgcttctggaaagatagtggcattgcggttg
+atctgacgtcagcagggatgcgtgtggagatgggctcattgacaacgctgctgagtggcg
+gtgtcagctttgatgtgccggaaggtctggatttagggcagccagtggcaccgaaaacag
+ctttcgttttgtatgatgatcagaagagcattcaggattcgttgtacaccgatcacattg
+attatctgatgttctttaaagattcggtacgcggtctgcaaccgggagctccggtagagt
+tccggggtattcgcctgggtaccgtaagcaaagtgccattctttgcgccgaatatgcgtc
+agacatttaacgatgattaccgtattccggtactgattcgtatcgagccagagcggctga
+aaatgcagcttggcgaaaatgcggatgttgttgagcaccttggcgaattgttgaaacgtg
+gtttacgcggatcgctgaaaaccggaaacctggtcactggtgcactgtatgttgatctcg
+atttctatccaaatacgcctgcaataaccggtattcgtgaatttaatggttatcagatta
+tcccgaccgttagcggcggcctggcgcaaatccagcaacgactgatggaagcgttggata
+agatcaacaaactgccattgaatccgatgattgaacaggcaaccagtacgctttctgaaa
+gtcagcgcacaatgaaaaacctgcaaacgacgctggatagcatgaacaagatcctcgcta
+gccagtcgatgcagcagttgccgacggatatgcagtcaacgttgcgtgaattgaatcgca
+gcatgcagggcttccagcctggctccgcagcctacaacaagatggtggcggatatgcagc
+gccttgatcaggtgttgcgagaactgcaaccggtgctgaaaacgctcaatgagaagagta
+acgcgctggtatttgaagcgaaggacaaaaaagatccagagccgaagagggcgaaacaat
+gaaaaagtggctagtgacgattgcagcactgtggctggccggatgcagctccggcgaaat
+taataaaaactattaccagttacctgtggtgcagagcggtacacaaagtaccgccagcca
+gggcaatcgtctgttatgggtagagcaggtcactgttcctgactatctggcggggaatgg
+tgtggtttatcaaaccagtgatgtgaagtatgtgattgccaacaacaacttgtgggccag
+cccgttggatcaacagttgcgcaacaccctggttgccaacctgagtacgcaactgcccgg
+ctgggtggttgcctcccagcctctgggaagcgcccaggacacgctcaatgttaccgtaac
+ggagtttaacggtcgctatgatggcaaggtcattgtcagtggtgagtggctgttgaacca
+ccagggacaactgatcaaacgtccgttccgtctggaaggagtgcaaactcaggatggtta
+cgatgagatggttaaagtgctggccggtgtctggagtcaggaagccgcttctattgcaca
+agagataaagcgtctaccttaattataaagatttgtaaatataaccgtctccggtatgtt
+gcctgaggcggtttttttgtctctaacgtgcggaaaaatttgttcctcttcacatttttt
+gtacaaccgacatgcccgtgtagctcacaaatatgacagtggcgtgaattttgcgcattg
+acggcagttatgattcgcggtattgcttaactgtgattgcacatttagtaatcactgttt
+tcttttccaccagaaaccagtatgagggaaacgaggcatgaagagacaaaaacgagatcg
+cctggaacgggcacatcaacgtggttatcaggccggcatcgccggacgctcaaaagaaat
+gtgtccctatcagacgctgaatcaaaggtcacaatggctgggaggctggcgagaagccat
+ggcggacagggtagtaatggcctgattctgtctctttaaaaagaaacctccgcattgcgg
+aggtttcgccttttgatactctgtctgattataatcagaaggcagacgtatcctggaaca
+gaccgactttcaggtcgctggcggtatagatcagacgaccatcaaccagcacttcgccat
+ccgccaggcccataatcagacgacggttaacaatgcgtttaaagtgaatacggtaggtca
+cttttttcgctgtcggcagtacctgaccagtgaatttcacttcgccaacgcccagcgcgc
+ggcctttaccttcgccgcccagccagccgaggtagaaccctaccagctgccacattgcgt
+ccaggcccaggcatcccggcataaccggatcgccaataaagtggcatccgaagaaccaca
+gatccggattgatatccagttctgcttcaacataccctttgtcgaagttaccacccgttt
+cggtcattttgaccacacggtccatcatcagcatgttcggtgctggcaattgcgggcctt
+tagcgccaaacagttcaccgcgaccagaggcaagaaggtcttcttttgtataggattcgc
+gtttatctaccatgttctctgtaagccttattttattgaagcacgcaggatagctaacac
+gtgtacgctgaacaagtccgatcagttcggaataaaccagttcagccaacgtaatggcca
+tggaaaacggtgacgtccttcctgttgcgatgcttgcgcgatacgttcctggatggtttg
+catcagcgtcgtttggccttcgccatcccacaccagatttaataataacggcagtgcgtc
+agtcacatcgtctactgcccagatggtgaatttgccttcttctaccgctttcaccagttc
+actgtgaagacttaaatggcgaacgttagctgtggggataatgacaccttgtttcccggt
+taactcacgttgctggcaaatagcaaagaagccttcgattttctcatttaaaccaccgac
+cggctgggcgcgaccgaactgatcgactgaacctgtgatagcgatactctgattcaccgg
+cacatcggcgagggcgcttatcagggcgcagagttcagccatcgaggcactatctccatc
+aacttcactgtatgactgctcaaatgtcagcgatgctgagaaggggatctgttgctcaag
+ctgtagttccgacatcaggaacgcttgcatgatcatcatccctttcgcatggatattgcc
+gccaagctccgctttgcgttcgatgtcggtgaattcaccatcgccaatatgcacaacgca
+gctaatgcgagaaggttcgccaaaagcgcgtggatgacccggaaattcaatgaccgaaag
+ggcgttaatttgcccgatgcgttcgccttcggtttcaatcaggatttgctcctgaaggat
+ctcatcctgcatacgttcagcgaggaaaccttcgcgccattcacgctgctgcagcattaa
+gtttagctgctcgccggagaaggtgtcgccatcacacagggaggcgacctctttacactg
+gcggaggatccactgcgggctaagcggaagtgtttcttgttcaccggtgtagcgtgctgc
+ttcgcggataagtatcggccaggcatccgctcccggtgcaggtaagtgattatgtctggc
+ggtaaatgtcacccagcgacaccactgggttactgactccgcatcgacaatctgcagagt
+atcttcaaattcgctataaatagcctgctctgaaagctctggctccatctcctggaaatc
+agccaatgattcgcgttcgcctaccagaatgactttcagcttcaatggcatcgaaggcac
+agagacggggagagggcgcgactcatcaaacgcaacccagtcaaaacgctcgcggttaac
+gatatttttcagccgcatccacagcagaggttgcgccagcagtgtacgcaaagagataat
+gagaataccgccatttgcctgatgcaccagaccaggctgcagggtaatgtcgccattaaa
+ctggcgcaggcagccaaagagttgctccgcttctacccagtcggcagcgacaacttgcgt
+taaagtcgcaaaattatcatctgcactcactgcgtgacgtaagcggatggagtggccgga
+aacctcatagtgaccgcccaccagttggcctgcatcgctttgtagcgtacgcgcggcatt
+ggcaataagattcagatactcagactcttccggggccttcgccagcataaaagaggagga
+tgctcgcgtatgcagcaactgctccagcgcaaattgcagccgcggttgagtatcactgaa
+taaaggatcgttttcgtcaatcaaatgtggctgagcaaatatttcctgatagctatcggt
+atcaggaaccaggtcacgccatgcaagtttcgtaatggtcaaagttgatgttttttagtc
+tgttgtcaaagccgcgattataccgtaaccggcactacagcacacgtagaaagcaccgac
+aatactcctggcatgggcgttaaagctcacaggatggagattcttttcttcactggccta
+aaaagctgatattctgtaaagagttacacggtaacattgagatcgctatgaaatatcaac
+aacttgaaaatcttgaaagcggttggaaatggaagtatctggttaagaagcatcgcgaag
+gggagttaatcacccgttacatagaagccagtgccgcccaggaagccgtcgatgtgttgc
+tctcgctggaaaatgaacccgtgctggtaaatggctggattgacaagcatatgaatccgg
+aactggtcaatcgcatgaagcaaaccattcgggcaagacgaaagcgccattttaatgcgg
+aacaccagcatacgcgcaaaaaatcgatcgatctggaatttattgtctggcaacgtctgg
+ctggtcttgcgcagcgtcgcggtaaaacgctttctgaaacgattgttcagctgattgaag
+atgcggaaaacaaagagaaatacgcgaataaaatgtcttctctgaagcaggatctgcagg
+cattgctgggtaaggaataactgacgaaagtcagttcaatttactaaaggcaaaaaaaac
+cccgcagcagcggggtttttctaccagacgagaacttaagcctgcggctgagttacaacg
+tctttgatacctttaacttcgatctctacgcgacgatccggagccaggcagtcgatcagt
+gcagcacgctgtttcacgttgtcacaggtgttgccagtaaccgggttggattcgcccata
+ccacgtgcggagatcttgtctgccgggatacctttggagatcaggtaatcaacaacagac
+tgagcacggcgctcggacagaccctggttgtaagcgtcagaaccgatgcggtcggtgtaa
+cccagaacaactacggaaccgtctttcggatccaggttgctcagctggctgtacagctga
+tccagagcagcctgaccttccggtttcagggttgctttgttgaagttgaacagaacgtca
+gacttcagagtgaagtgcttggtctgtacttccggtgccggagctggagccggagcaact
+actggagctgcttcgccctgaccgaaacggtaggaaacacccaggctcagcatgccgttg
+tccggacgagtgccgatggtgtgtgcgtcaccgatgttgttggtccactggtattccaga
+cgggtagcgatttcaggagtgatcgcgtactcaacaccgccagcgaagaccggagaaacg
+ccggtgtcgtggtttttaccataaacgttggatttagtgtctgcacgccataccatgcca
+cccagacgagtgtagatgtccaggtcgtcagtgattgggtaacccagtttagcggtcagt
+tgaacgccctgagctttgtatgcaccgttttcaacgctgcctttgtacggcatacgacct
+aaccagtcgtaacccatttcaaagccaacatacgggttaacctggtaaccaccaaaagca
+ccagcgcccagttggttttcatgggtcgggccattgttgttgatgaaaccagtgtcatgg
+tactgggaccagcccagtttagcaccagtgtaccaggtgttatctttcggagcggcctgc
+gctacggtagcgaaaccagccagtgccactgcaatcgcgatagctgtctttttcattttt
+tgcgcctcgttatcatccaaaatacgccatgaatatctccaacgagataacacggttaaa
+tccttcaccgggggatctgctcaatattaactctaccgatatcttcggcttatgccgagc
+acccctggcgatgtaaagtctacaacgtagttgaaaacttacaagtgtgaactccgtcag
+gcatatgaaaaaaaagtcttgtataaggtatgtttaatcttttttgtcagcgacaattta
+cagaagagaatcgcggaaaccgcttcagacaagcctccgcaaggaaaattagtcacgact
+gaaagcattggctgggcgacaaaaaaagttccaggattaatcctaaatttacttaatgat
+acaaattagagtgaatttttagcccggaaagttgtctcgtggcgtgagaggatgcgctta
+ccggacgcataataaaccccatagcgttaccttcatttgccgcatcaacaagttcagcat
+gctcttcttcagtcaaatcatctgccaaccaaccgatcaccacactgtaattgcccgtgc
+gtaaagcgcgaaccattgactccacagtgtggcaaggggagagctggctaatctgcatta
+ctttcgttaagggtagcccagatgcctgaacccattcccgactcagtttttgttgcggtg
+ttaaccagagttgccagcgcgattgctgaccgagttgctgtaacaatggcaacagtagaa
+gttgcgtcatcatgggctgatcttcgcgatagacaacttcactgataagcccggctgtag
+tgttttccgtagagacacgcgcaattttacttgctgcggatgagaacgacgaagaacgat
+gtgcatagcctgaagtgtacataatcaatccagcccctgtgagttactgtatggatgtac
+agtacatccagtgacaacaaagatcaaccctattttcggaaagagcctcgcaaattttgt
+cgttggtgacgggaaaacataaattaatcttgccccttaagaataagttgcctattttcg
+tagttaacggatccgttaatgtgaatcattcttttatgttatgattttaaaaggaatttt
+atgaaaagcctctcctataagcggatctataaatcacaagaatacctggcaacgttgggc
+acaattgaataccgatcattgtttggcagttacagcctgaccgttgacgacacggtgttt
+gcgatggtttctgatggtgagttgtatcttcgggcttgtgagcaaagtgcacagtactgt
+gtaaaacatccgcctgtctggctgacatataaaaagtgtggccgatccgttaccctcaat
+tactatcgggttgatgaaagtctatggcgaaatcaactgaagctggtgcgtctgtcgaaa
+tattctctcgatgcagcgctgaaagagaaaagcacgcgcaatacccgggaaagactgaaa
+gatttgcccaatatgtcttttcatctggaagcgattctcggggaggtggggattaaggat
+gtacgggcgttacgtatacttggggcaaaaatgtgttggttgcgactgcggcagcaaaac
+agtctggtgacagaaaagattctgtttatgcttgaaggtgccattatcggcattcatgaa
+gctgcgctcccggtggcacgccgccaggagcttgcagaatgggctgactctcttacgccg
+aaacaggagtttcctgcggaacttgagtaatctggcgttgcagacgaccaatctcaggca
+gtaatgcaatcaataatccaacttgttgtacgaccagaggttctttgctgtctgcccgtg
+gttcaagttgctgcatccgctgtttcaggctagctaatgcctcattgacgcgttcttcat
+cagcaggttgatgatgtaacgcgtcatcaacatagcaaactgcgtcatcaagaaacgcca
+gaatttcaggattagttaactgctcccggtgagcaccgagggctgagatatagctggtaa
+acgtatggttaaggcacagcaaccgaaacgcggcttcgcgaatttgcggggtaacgttcg
+gctcgctggacatatttgataccaccgacgccagctcagcatcacggttgtgtgcatcgc
+ggcgggcaatacgatacgccagacggttatcacgcccctgatggtattgctccagtatgg
+catcgagataccgacagttggcctctgtggcgcgttcgagcatgcgcggcagattgcgaa
+actgccagtcaggccagatgtagctcactgccgcccacgcaatggcacaaccaatcagcg
+tatcgattacgcgaggtaacgctacttcaaaaccttcacccagtaagttaaaacacagta
+gcaccaaaagtgtgatgaacatcgttgcatgagcgtattgcacgttacggaaggcaaaaa
+agagcacgccggtaataaccagcagcaccagctgcccttccagtgatggcacaaaccaca
+gcacaggaatgccaatggcgatacctaccagcgtaccaataatccttaacttcaggcggt
+ggcgcgtggcgttatagtttggctggcagacaaacaaacttgtcagcaagatccaatacc
+cgtgatgcattccggttatctgaatgatggcgtagccgaagcacaacaccagcgacattc
+ttaccgcatgacggaagagggcggattccggcgtgaagtgacggctaagacgcagccaga
+tatcactcaacccgtgcgggctgtcatcagcgagctcattttcgtcattattatggggta
+gtgcctgggcctgttctgattcaattgttgccagttgggcatcaatggcgcgtaaattgt
+tcagcaaaaatcccagtgttttgagtaaatcggcgggtgcgccgttatcgcgcatccgct
+ccagcgcagcatcaatatgcgtaaaagcgcgctcaaaatgcggatcatgttgataaggct
+gacgcaacaaaatacagcgtgacagttgctggcacgcctggccctgcatcgacatcagcc
+gctgaaaacggaacagcacgtcgctgtggcgaaaatgttcacgcaatgtttgatactgaa
+tatgagaagagctggcacgctcgtgaatatcctgtgcgacaaagtaataatgcagcgtgc
+gacgcgttccccgttgaccacgatcgccacgtaagcgggtcagcagcgagagtttcgtct
+gattcaatgtcgccatcagcagaccgttggcgagagccaaatcgtacagcggtgcctggc
+tttgatcttcaatatcaggatcaaacatgcgcgacttgagctcaagataacgcgccagtt
+gttcatagcaacgcgccaggttgtcctgcagcgggcggaccgggaacagcagatgaccaa
+taagtgtcaggacgttgtaccagacggcaccggccagcagatacatcggctgctgatacc
+agtgctcatacagtgatgttcccaacatagtgtaaatggcgatcagcaatgcaccgaagg
+caattgttgcatagcgttgacccagaccgccgagcaaaatgaagccgctggtagagagcg
+ttaagccaatcgcaaatagccagggccagggaaacagcaattctactgaggccgaggcga
+taaaaaagcagaacagcgtaatgatgaggttacgcaaacgtcccgccagtcggtcatcga
+gatcggtcagcgccgctgccaccatccccagcgttagcggaatcgtcagttttacatcac
+ccagccaccacggaaacgctgtggttccacaaagcgcaataaaaatacgcgcgtaataca
+gccaggcgctgttccaggtatagcgtttgagcaaaggacttagcataaaggccatattag
+tggattattcaaaacgacgacgtgcattggcttcacgcgcagcttgcgctgtttctaccg
+ataccacgcgacgaccaaccggccatagtgcaatagcggcaattttaaagttcgcaatgc
+cgacaggaatgccaatgattgaaatacattgtgcgatgcccgttgcaatgtgcatcaggc
+ataaccaccagccaaagaaaatcagccagaaaatattcaataccgtaccgccagtattca
+gcagcacatttttgccagccgggttcagttcatcgacatgaatagcttcattgccataag
+gcaccagagacagtttagtgatctcccagcaggatcgtgtcagcggtaaggtaaaaatca
+gcacaatactgaccagagtcgccaacagccagcccagagtggtggcaaatccgccaagca
+caaagttcagaatgttcaaaacggtacgcataaaacctcgctttactgtggttttcagta
+atgggcggcaattgtaacgtttttttgggctggagcacgttttctctgacggttacactg
+ataagaaataatttcgtgtggatctacagagtcatggaactgaaagcgacaacgcttgga
+aaacgtctggcacagcacccttacgatcgggcggtgatcctcaatgccgggattaaagtc
+tccggcgatcgccacgaataccttattcctttcaatcaattactggcgattcactgtaag
+cgcggtctggtatggggcgagctggaatttgtactgccggacgaaaaagtggtgcgtctg
+cacggcaccgaatggggcgagacgcagcgtttttaccatcatcttgatgctcactggcgg
+cggtggagtggcgagatgagcgaaattgcgtctggtgttttacgccagcaactggatttg
+attgccacgcgcactggggaaaataaatggctgacgcgtgagcaaacctctggcgtgcag
+caacaaatccgccaggctttgtcggcgttgccgttgccggttaaccgactggaagaattc
+gataactgccgtgaggcgtggcgtaaatgtcaggcctggttgaaagatattgaaagcgct
+cggttgcagcataaccaggcgtataccgaagccatgcttaccgagtatgcggattttttc
+cgccaggtcgagtcttcaccgctgaatccggcgcaggcccgggcagtcgttaatggcgag
+cattctctgttagtgctggcaggtgcaggaagcggaaaaacgtcggtgctggtggcccgt
+gcaggctggttgctggcgcgtggtgaagcgtcccctgagcaaattttattgctggcgttt
+ggtcgcaaagccgctgaagagatggacgagcggattcgcgaacggctacataccgaagac
+attaccgcacgcacgtttcatgcgctggcgctgcatattattcagcagggcagcaaaaaa
+gttccgatagtcagcaaactggaaaatgataccgctgcccgtcatgaactctttattgct
+gagtggcgcaagcaatgcagcgaaaagaaagcgcaggcgaagggctggcggcaatggctg
+acggaagaaatgcagtggtcagtgccagaaggtaacttctgggatgatgaaaaattacag
+cgtcgccttgcctctcgcctcgatcgctgggtaagtctgatgcggatgcacggtggtgca
+caggcagaaatgattgccagtgcacccgaagagattcgcgatctgttcagtaaacgtatc
+aagttgatggccccgttattaaaagcctggaaaggtgcgctgaaggcagaaaacgctgtc
+gatttttcgggccttattcatcaggcgattgtgattctggagaaaggtcgctttatcagc
+ccgtggaagcatattctggttgatgaatttcaggatatctcgccgcagcgggcagcgttg
+ttagcggcattacgcaagcaaaacagtcagacgacgttgttcgctgttggtgatgactgg
+caggcgatttaccgattcagcggtgcgcaaatgtcgctcaccaccgctttccatgaaaac
+tttggtgaaggcgaacgctgtgatttagacacgacttaccgttttaacagtcgtatcggt
+gaggtggcaaaccggtttattcagcagaacccaggccagctgaaaaagccgctaaacagc
+ttaaccaatggagacaaaaaagccgtcacgttattggatgagagtcaacttgacgctttg
+ctggataagctctctggttatgccaaaccggaagagcgcattctgatcctggcgcgttac
+catcacatgaggcctgccagcctggaaaaagcggcaacacgctggccgaagttgcaaatc
+gactttatgaccattcatgccagcaaagggcaacaggcggattacgtcatcatcgttggc
+ttgcaggagggaagtgatggttttccggctgcggcgcgggagtcgattatggaagaggcg
+ctactgccaccggttgaggatttcccggacgctgaagaacggcggttaatgtacgtggcg
+ctgacccgggcacgccatcgggtatgggcactgtttaacaaagagaatccctctcccttt
+gtggaaatactgaaaaatctggatgtgccggtggcgagaaaaccgtaagaaacaggtggc
+gtttgccacctgtgcaatattacttcagacggtccgcgagataacgctgataatcgggga
+tcagaatatcgaccgcgtcgttgaaatgcggcgactggattatgaagtctgccgttgcca
+cgttggtggcgaccggaatgttccataccgtcgccagacgcagcaaggctttcacgtcag
+gatcgtgcggcacggcatttagtggatcccagaagaaaatcaatacatcaattttccctt
+ctgagatcaatgcgccaacctgctggtcaccccccattgggccactcaacatcgcgttga
+cgttcatgccggtcgcgcgggaaattaagttaccggtagtgcctgttgcatacagtacgt
+gttgttccagtaacggttgatgccgttccacccagctcatcagcatttgtttgcagtgat
+cgtgtgccaccagcgcaatatgtttccgcgcaggtaaagtgcgagtcgtcagttccataa
+tgtacatccgtagttaactttcctacagattactgtaagcacttatcgctgcaagataaa
+gaccgaaaaagcctgcgcacaggcacaaaaatctcaggaagatggttgtttttccgccca
+ctgcaggaaagtatttcgcgtttgtgggtcagccagtttaaaccaatacttcagccgttg
+ttctgtgagcacctgagactgcggtggaatagcatccagctcggaaacacccgaaagcag
+cgtactgtcatctgccatcatcgtggcaaattgcggtagtgaagcgcgtttcgcggattt
+gttatagcgttcaacctcgacctcataatcaatcgtttttgccgttgaggtaatggcgag
+aatatccagctttaccggaatcggcgtcgcatcgccatccaacaattcaaggcgcggcgc
+ggcatcaaaatggttagcttcccgctcattctccaggcgaggcaggcgaaaattgacctg
+gttgatgagctgggtattaaaactgaccaccagcggtggggagatatacagccgttcttc
+actattggaaagatgaatcgtcttctcaacgcgaaacactaactgatgcggtccattatc
+cagttcaatgctgtccgcaccgcgcagcagagagctggaaaccttcttgccgtcgagtac
+cagaagatcgacatcggttgaaagccgcagcgtggtggcaaaaacggataccggcaaaca
+taatgcaatcaaggtggtcacgatgccggttttcataggtagctcctgtcaaaagaccgc
+ccgaataataatgtgtcaaaatttttctttaatcatacttactaacatatagacatattt
+cccgcttttgctctcattcattcgtattagctgcatggttggcatgtcggctttgtcgta
+cactttgttaaacagtctggaggaaataatgaaagaaaccgatattgcaggcattttaac
+gtccactcacaccattgcgctggtgggggcaagcgacaaacccgatcgtcccagctatcg
+cgtgatgaaatatctactcgaccaggggtatcacgtcattccggtttcgccaaaagttgc
+cggcaaaacgctgctgggccagaaggggtatggcacgctggcagacgttccggaaaaagt
+cgatatggtcgatgttttccgtaattcagaagcggcgtggggcgtggcacaggaagctat
+tgccattggcgcgaaaactctctggatgcaactgggggtgattaatgagcaagcggcagt
+actggcacgggatgccgggttaaatgtggtgatggatcgctgcccggctattgagatccc
+tcgcctgggcctggccaaataaaaaatccccggaaggcaaaaaccttccggggatttgtt
+cagggattagttacgcagacgcggggcctggagttgtttgcggatggtctgcgccagctc
+atccatggatggctgttcaggatgttcatcctgcaattcgctacttagctgggcttcagc
+caggtaggtatgaaccggtaggccgttatcgtcctccatcactacgtgataccacggagc
+ggcgcgaagctcgtcattcaccgccagctcatcaggcgacggttcagagagcgaataaac
+cgggtcgatatccacgaccactccgagataacctaacagggaatggcggacctgctggcc
+gataccgaatttgctggcaatcatagtcacctcccgggaaatctttacctttgatataag
+ggtaaaattccacatttcaagttacatgacgcgacaggcaaaccctttcagatatagccc
+ttccggataggtagcgatcaccggatgatcggctgcctgacggaactgctctataaattg
+tacatcacgaccggcatcaattgcggcatccgcgatgattttctgaaataaatcgctggt
+catcagaccggaacaggagaaagtcaggagaataccgccttcattcagcagctgaatcgc
+cagcatgttgatgtctttataaccacgacacgcgcccatcaactggcttttattctcaac
+aaacttcggcgggtccatcacgataacgtcaaatttttcaccgcgatcgcgataagtacg
+cagcaatttaaagacatcatcacggacaaactcagccttgctcagatccagtttgttcag
+ctcaacgttctgccgtgcaatatccagcgcttcctgggaggtatcaacgctgacaacctg
+gctgcaaccgcccatcagtgccgatacggcgaaaccaccggtataggagaaacagttcag
+cacacgtttattttcaacgtagcggcgggtagccaggcggctatcacgctggtccaggta
+gtagcccgttttgtgtccgtgctgaatatccaccagcagtttcattccgtgttcttcaat
+cggcagcagggcaggtggcaactcgccggtgacggggccctgggtcagctccattccttc
+ttttttacgtaccgcgacgtcgctgcgatcgtaaatcgaacattccgggtacagcgtttg
+cagggcactaattaatgccgcgcgctgatattctgccccagcactcagcagttgcagcac
+cagaaaattaccgaaacgatcgatagtaatacccggcaggccatcagattctccggcgat
+taaacgatagctgtcgaggccatctttttgcgccagccagtcacgccatttttgtgcttg
+ttgcaaacggcgggaaaaaaaagcaatgtcgatagactcagacgggtcaaacgtccagac
+gcgcgcccggatttgcgaagctggcgaataagcgccgcgtgctaaccattttccctgatg
+atcaacaatatcgatggtttcaccgaggctggctttaccttccatgcgggcaacggcccc
+ggaaaagacccacggatggcgacgaagtaatgatttttcgcgccctttggctaacactaa
+acgtacactcataatttacttttctgtcgatgcaaagaaatgggcgtcattgtccggagt
+tttccatggatttgcaacgcgtccattaaggataaggagagcagcaatgtcgaaagtctg
+cataattgcctgggtttacgggcgagttcagggcgtaggatttcgctacaccacacagta
+cgaagcgaaaagactgggtttaaccgggtacgccaaaaatcttgacgatggcagcgtgga
+agtggttgcttgcggtgaagaagggcaggtggaaaaattaatgcagtggttaaagagtgg
+cggcccgcgttctgcgcgtgtagaacgggtgctcagcgagccgcatcatccctcggggga
+attaaccgattttcgtatccgttaaatacattttaccggttttggcaggccagcaatttt
+ggtggcttgcttagccggacctttcggaaacagtcggtataaatagcggctgttaccttt
+ttcttcgccaaatttattcgccatcgcttttaccagcatacgaatcgccggagaagtatt
+gaattccagatagaaatcacgcacaaaacgcaccacttcccagtgttccggtgacagcga
+aatcccttcgttctctgcaatcaccacagccagcggctcactccactggctgctttcttt
+gagatagccttcggtatccgtttctatctctttaccttcgaagatcagcataattattac
+taccttaatcagactggcggcagtgtaacaaaaaacaaagccccgcataaagcgaggcta
+tgaaagtgttagcgggtgagattaatcgcggctagcgaagcccagaatgctcagcaggct
+gacgaagatgttgtacagcgaaacatacaggctaaccgtggcacgaatatagttcgtctc
+accgccatgaatgatgttgctggtttcaaacaagatagcgccagaggagatcagaatgaa
+gaccgcgctgatcgccagatgcagagcaggcagctgcaggaagatattcgcaaccatacc
+aatcagcaccaccacaatacccgccatcagcataccgccgaggaacgacatatctttgcg
+ggtggtcagcacatatgcagagcagcagaagaacactaacgccgttccgcccagtgccat
+agcgattacgtcacccattccggcagacagataggtgttcagaataggtccgaggatata
+acccagaaaaccggtaaaggcgaatgcggagataatcccggtcggcttattcgccgtttt
+ataggtcaggaacatcaaaccatacatacccaccagcgtcagaatcagacccggagatgg
+cagcatcagcaccgtactggcagttgcggtaatcgccgaaaaggccagcgtcaggctcag
+cagaaaataggtattacgcagcaccttatgggtgctaagcagtgatgtacggtcatgtga
+agaactaacaatacgatccattgagtcactctctatgacagatgtaattaattaagcagc
+ataatgataatgcgtaagggcacccagaagttttacccatctttacgcatttgatctgga
+acaggtttaacagcggattatcaggtcattaagcaaatataacgccctgagaatttcgac
+aggcaaaagaaaaaggggttagcatttagctaaccccttatcttatttggcggaagcgca
+gagattcgaactctggaaccctttcgggtcgccggttttcaagaccggtgccttcaaccg
+ctcggccacacttccggaatgacgcgcactataaacatcccgatgcggcgtgtaaacccc
+taatttgtttgtttgcctgaaaaacagccaaaagtgcattgatagcgtgaaataacagca
+gattgatcatttcatcaccatgaattccttctcttttactcgtttagcaaccggctaaac
+atccccaccgcccggccaaaagaaaaataggtccatttttatcgctaaaagataaatcca
+cacagtttgtattgttttgtgcaaaagtttcactacgctttattaacaatactttctggc
+gacgtgcgccagtgcagaaggatgagctttcgttttcagcatctcacgtgaagcgatggt
+ttgccttgctacagggacgtcgcttgccgaccataagcgcccggtgtcctgccggtgtcg
+caaggaggagagacgtgcgatatgaataacgaggaaacattttaccaggccatgcggcgt
+cagggcgttacccggcgcagctttctcaaatattgtagtctggctgccacgtcgctggga
+ttaggcgcgggaatggcaccaaagattgcctgggcgctggagaacaaaccgcgcattccg
+gtggtatggatccacggtctggaatgcacctgctgtaccgaatcttttatccgctccgct
+cacccactggcgaaggacgtcatcctttccctgatttccctcgattacgacgatactttg
+atggctgccgccggaacccaggcggaagaagtctttgaagacatcatcacgcaatacaat
+ggcaaatatatcctcgcagtagaaggtaatccgccgctgggcgagcaggggatgttctgt
+atcagcagcggtcgaccgtttattgagaaactcaaacgtgccgctgccggagccagcgcg
+attatcgcctggggaacctgcgcgtcctggggctgcgtgcaggccgcgcgacccaatccg
+acgcaggcaacgcctatcgacaaagtcatcaccgacaaacccattatcaaagtacctggc
+tgcccgccgatcccggatgtgatgagcgccatcattacttacatggtgacctttgatcgc
+ttgccagatgtcgacagaatgggccgtccgctgatgttctatggtcagcgaatccacgat
+aaatgctatcgccgcgcccacttcgacgccggagagttcgtccagagttgggatgatgac
+gctgcccgcaaaggttactgcctgtacaaaatgggctgcaaagggcctaccacctataac
+gcctgttcctccacacgctggaatgatggcgtttctttcccaatccagtctggtcacggc
+tgcctgggctgtgcggaaaatggtttctgggatcgcggttcgttctacagccgcgtggtc
+gatattccgcaaatgggtactcattccaccgccgataccgtcggtttaaccgcgcttggc
+gtggtggcagcggctgttggtgtgcacgcagtcgccagcgccgttgaccagcgcagacgt
+cataaccagcaacctacagaaaccgaacatcagccaggcaatgaggataaacaggcatga
+gcactcagtacgaaactcagggatacaccatcaataatgccggacgccgcctggtggtcg
+acccgattacgcgcatcgaaggccacatgcgctgcgaagtgaatattaacgatcagaatg
+tgatcaccaatgccgtctcctgcggcaccatgtttcgcgggctggagatcatcctacaag
+ggcgcgacccgcgcgatgcgtgggcgttcgttgaacgtatctgcggcgtctgtactggcg
+tacacgccctggcttcggtttacgccatcgaagatgctatcggtattaaagtgccggaca
+acgccaatatcatccgcaacattatgctggcaacgctctggtgccacgatcatctggtgc
+acttctatcagcttgccgggatggactggatcgatgtgttagatgcgctgaaagccgacc
+cgcggaaaacctccgaactggcgcaaagtctctcctcttggccgaaatcatcccctggct
+atttcttcgacgtacaaaaccgcctgaaaaaatttgttgaaggcgggcagttggggatct
+tccgcaatggctactgggggcacccgcagtacaaactgccgccagaagctaacctgatgg
+gctttgcccactatctcgaagctctcgatttccagcgtgaaattgtcaaaatccacgcgg
+tctttggcggtaaaaacccgcatccaaactggattgtcggcgggatgccttgcgccatca
+acattgacgaaagcggcgcggtcggggcagtcaatatggaacgcctgaacctggtgcagt
+caattatcacccgcacggcggacttcattaacaacgtgatgatccccgacgccttagcca
+tcggtcagttcaacaaaccgtggagcgaaatcggcactggtctttctgataaatgcgttc
+tcagctacggcgcattcccggatattgccaacgactttggcgagaaaagtctgctgatgc
+ctggcggcgcggtgattaacggcgacttcaacaatgtgctgccagtggatttggttgatc
+cgcagcaggtgcaggagtttgtcgaccacgcctggtatcgatatcccaacgatcaggtcg
+ggcgtcatccgttcgatggcatcaccgacccgtggtacaaccccggcgatgtcaaaggca
+gcgataccaacattcagcagctgaatgaacaggaacgctactcgtggatcaaagcgccac
+gctggcgcggtaacgcgatggaagtggggccgctggcgcgcacgttaatcgcttatcaca
+aaggcgatgctgcgaccgttgagtcggtcgatcgcatgatgtcggcgttgaacctgccgc
+tttccggtatccagtcaacgttaggccgcattttgtgccgcgcgcacgaagcgcagtggg
+ccgcaggtaagttgcagtatttcttcgacaagctgatgaccaacctgaaaaacggcaatc
+tcgccactgcttccacggaaaaatgggaacctgcaacctggccgacagagtgccgtggtg
+tcggttttaccgaagcgccgcgcggggcgttaggccactgggccgccattcgcgatggca
+agattgatctctaccagtgcgtggtgccgaccacctggaacgccagcccgcgcgatccca
+aagggcagattggcgcttatgaagcggcgctgatgaacaccaaaatggcgatccccgagc
+aaccgctggagatcctgcgtactctgcacagctttgacccgtgcctcgcctgttcaacac
+acgtgctgggcgacgacggtagcgagctgatctccgtgcaggtgcgttaacagcgaagga
+gaatcatcatgcaacagaaaagcgacaacgttgtcagccactatgtctttgaagcgccag
+tgcgcatctggcactggttgacggtgttatgcatggcggtgttgatggtcaccggatact
+ttatcggcaagccgctaccttccgtcagcggcgaggcgacgtatctgttctatatgggct
+acatcaggttaattcacttcagcgccgggatggtttttaccgtggttttgctgatgcgga
+tctactgggcttttgttggcaatcgatactcccgcgagctgtttatcgtgccggtatggc
+gtaaaagctggtggcagggcgtgtggtatgaaatccgctggtatctgtttctggcaaaac
+gtccgagtgccgatataggccataatcccatcgcccaggcggcgatgttcggctatttcc
+tgatgtcggtctttatgatcatcactggttttgcgctgtacagcgaacacagccagtacg
+ctatttttgcgccgttccgttatgtggtggaatttttctactggacgggtggcaactcaa
+tggacattcacagctggcatcggctggggatgtggctgattggcgcgtttgtgatcggtc
+atgtctacatggcgctgcgtgaagacatcatgtccgacgacacggtgatctccaccatgg
+tcaacggctaccgtagccacaaatttggcaaaataagtaacaaggagcgttcatgagcga
+gcaacgcgtggtggtcatggggctgggcaacctgctgtgggccgatgaaggcttcggcgt
+gcgggtggcggaacggctgtatgcccattaccactggcccgagtatgtggagattgtcga
+tggcggtactcagggactgaacttgctggggtatgtcgaaagcgccagccatctgttgat
+tctcgatgccattgactacgggctggaacctggaacgctgcgaacctatgccggagaacg
+cattccggcttatctcagcgcgaagaaaatgagcctgcatcagaacagtttctccgaagt
+gttggcgctggcggatatccgcggacatctgccagcacatattgccctcgtcggtctgca
+acccgcaatgctcgacgactacggcggtagcctgagcgaactggcacgggagcaactgcc
+cgctgcggaacaggcggcgctggcgcagcttgctgcgtggggaattgtgccgcaaccggc
+taatgaatcgcgctgtctcaattatgactgtctgtcgatggaaaattacgaaggcgttcg
+cttgcgccagtaccggatgacacaggaggagcagggatgagcaacgacacgccatttgat
+gcgttgtggcaacgaatgctggcgcgcggctggacgccagtcagtgaatcccgtcttgac
+gactggcttacgcaagcgccagacggcgtggtgttattaagcagtgacccgaaacgcacg
+ccagaggtcagcgataatccggtaatgattggcgaattactgcgcgagtttcccgactat
+acatggcaggtggcgattgctgaccttgagcagagcgaagccatcggcgatcgctttggc
+gtctttcgctttcctgccactttagtgtttaccggcggaaactatcgcggcgtgctgaat
+ggtattcacccgtgggcggaactgataaacctgatgcgcgggcttgtcgaaccgcagcag
+gagcgtgcctcatgagcgaaacttttttccatctgctggggccaggaacgcaaccgaacg
+atgacagtttcagcatgaatccactgccgatcacctgtcaggtgaatgatgaaccgagta
+tggcggccctggagcaatgtgctcacagcccgcaggtgattgcgctgttaaacgagttac
+aacatcaactaagcgaacgccaaccgccgttgggcgaggtgctggcagtcgatctgttaa
+atctcaacgccgacgatcgtcactttatcaatacgcttctcggggaaggggaagtgtcag
+tgcgcattcagcaggctgacgacagtgaaagtgaaatacaggaggcgatcttctgcggat
+tatggcgggtgcgcagacgtcgcggcgaaaagttgctggaggacaaactggaggctggct
+gcgcgccgctggcgttgtggcaggcggcaacgcaaaatctcttgccgacagattcgctgt
+taccgccgcccattgatggcctgatgaatggcctaccgttggcgcatgagttactggcac
+atgtacgtaaccccgacgcgcagccgcacagcattaatctgacgcaattacccatcagcg
+aggctgatcggctttttctctcacgtctctgtgggccgggaaatattcagattcgtacca
+ttggctatggcgagagctatatcaacgccacggggttacgccatgtctggcatttacgct
+gtacggacaccttaaaaggcccgttactggaaagttatgaaatctgcccaataccggaag
+tggtgctggcagcgccagaagatttggtcgactctgcgcagcggcttagcgaggtatgtc
+agtggctggcggaagctgcaccgacgtaaaaagacggtaagtatcgctttcagtcttatg
+aatatcgcaatcggcgaatacctctggtcgtagagtttcaggataaagagggagatctac
+cattatcgggttatttttctctcttcgcctacaggagtgcgcatgtgggatgtcattgat
+ttatcgcgctggcagtttgctctgaccgcgctgtatcactttttatttgtaccccttacc
+ctggggctgatttttttgctggctattatggaaaccatttacgtggtcaccggcaaaaca
+atctaccgcgatatgacgcgcttctggggtaagctcttcggtatcaattttgctcttggc
+gtggctaccggcctgaccatggagtttcagtttggtactaactggtcattctattccaac
+tatgtgggcgatatttttggcgcaccgctggcgatggaagcattaatggccttcttcctc
+gaatccacctttgtcgggctgttcttcttcggctggcaacggctgaataaataccagcac
+ctgctggtgacgtggctggtggcgttcggttcaaatctctctgcgttgtggatattgaat
+gccaacggttggatgcaatacccgaccggtgcgcattttgatatcgacaccctgcgtatg
+gagatgaccagcttcagcgagctggtctttaatccggtcagccaggtgaaatttgtgcac
+accgtaatggcgggctacgtgaccggggccatgtttattatggcgatcagcgcctggtat
+ttactgcgcggacgggagcgcaatgtcgcattacgctcgtttgccatcggttccgtcttc
+ggtactctggcgattatcggtaccctgcaactcggagacagttctgcgtatgaagtcgcg
+caagtacaaccggtaaaactggcggcgatggaaggggagtggcaaacggaacctgcacct
+gcaccgttccatgtggttgcctggccggaacaggatcaagagcgtaacgcctttgccctc
+aaaattcccgcgctgctagggatcctcgccactcactcattagataaacccgtgccgggt
+ctgaagaatttgatggctgaaacctacccacgcttgcaacgcggacgtatggcctggctg
+ttaatgcaggaaatatcgcaaggcaatcgtgagccgcatgtgttgcaggcattccgggga
+ctggaaggtgacctgggctacggcatgttgctctcccgctatgcgccggatatgaatcat
+gtcacagccgcacagtaccaggcggcgatgcgtggcgcgatacctcaggttgcgccggta
+ttctggagtttccgcatcatggtgggctgtggttccctgctgctactggtgatgctgatt
+gcgcttgtccagacgctgcgtggcaaaatcgaccagcatcgctgggtgctgaaaatggcg
+ctctggagtttgccgttgccgtggattgcgattgaagccgggtggtttatgaccgagttt
+ggtcgtcagccgtgggcgatacaggacatcttaccgacatactccgcgcactccgcttta
+accacaggacaactggctttctcactgatcatgatcgtagggctttacaccctgttctta
+atcgccgaagtctacctgatgcagaaatatgcccgtctggggccgagcgcgatgcagagt
+gaacaaccgacgcagcaacaggggtaaaggagaaaatcatgtttgattatgaaacattgc
+gcttcatctggtggctgctgattggcgtgatcctggtggtctttatgatctccgacggat
+ttgacatggggatcggctgtctgctgccgctggtggcgcgtaatgatgatgaacgccgga
+tagtgataaacagcgttggtgcacactgggaaggcaaccaggtctggttgatcctcgctg
+gtggggcattatttgccgcctggcccagagtgtatgcagcggcgttttccggcttttatg
+tggcgatgatcctggtgctgtgctcactgttcttccgcccgctggcctttgattatcgcg
+gaaaaatcgccgatgcacgctggcgtaaaatgtgggacgccggtctggtcatcggcagtc
+tggtgccgccggtagtcttcggtatcgccttcggcaacttgttgctcggcgtgccgtttg
+ccttcacaccgcaattacgcgtggagtatctcggcagcttctggcaactgctgacgccat
+tccctttattgtgcggattgctcagccttgggatggtgattttgcaaggtggcgtctggt
+tacaactgaaaactgttggtgtgattcatctgcgttcacagctggcgaccaaacgcgctg
+cactgttggtgatgctgtgctttttgctggcgggttactggctgtgggtcggtattgatg
+gctttgtactgctcgcccaggatgctaacggtccttccaatccgttaatgaaactggtgg
+cagtgctacctggtgcctggatgaataattttgtcgagtcgcccgttttgtggatcttcc
+cgctgctgggattcttctgcccattgctgacggtgatggcgatttatcgtggtcgcccgg
+gttggggatttttgatggcatcattgatgcaatttggcgtgattttcacggcaggcatca
+cgctgttcccctttgtcatgccgtcaagcgtgagtccgatctccagcctgacgttgtggg
+acagtacttccagtcagctgacgctgagcattatgttggtaatcgtgctgatatttttgc
+ccattgtgttgctctacactctctggagctactacaaaatgtgggggcgcatgacaacag
+aaactctccgccgtaacgaaaacgagttgtactaaggagcagaaacaatgtggtatttac
+tttggttcgtcggcattttgttgatgtgttcgctctccacccttgtgttggtatggctgg
+acccgcgtctgaaaagttaacgaacgtaggcctgatgcggcgcattagcatcgcatcagg
+caatcaataatgtcagatatgaaaagcggaaacatatcgatgaaagcgatcttaatccca
+tttttatctcttctgattccgttaaccccgcaatctgcattcgctcagagtgagccggag
+ctgaagctggaaagtgtggtgattgtcagtcgtcatggtgtgcgtgctccaaccaaggcc
+acgcaactgatgcaggatgtcaccccagacgcatggccaacctggccggtaaaactgggt
+tggctgacaccgcgcggtggtgagctaatcgcctatctcggacattaccaacgccagcgt
+ctggtagccgacggattgctggcgaaaaagggctgcccgcagtctggtcaggtcgcgatt
+attgctgatgtcgacgagcgtacccgtaaaacaggcgaagccttcgccgccgggctggca
+cctgactgtgcaataaccgtacatacccaggcagatacgtccagtcccgatccgttattt
+aatcctctaaaaactggcgtttgccaactggataacgcgaacgtgactgacgcgatcctc
+agcagggcaggagggtcaattgctgactttaccgggcatcggcaaacggcgtttcgcgaa
+ctggaacgggtgcttaattttccgcaatcaaacttgtgccttaaacgtgagaaacaggac
+gaaagctgttcattaacgcaggcattaccatcggaactcaaggtgagcgccgacaatgtc
+tcattaaccggtgcggtaagcctcgcatcaatgctgacggagatatttctcctgcaacaa
+gcacagggaatgccggagccggggtggggaaggatcaccgattcacaccagtggaacacc
+ttgctaagtttgcataacgcgcaattttatttgctacaacgcacgccagaggttgcccgc
+agccgcgccaccccgttattagatttgatcaagacagcgttgacgccccatccaccgcaa
+aaacaggcgtatggtgtgacattacccacttcagtgctgtttatcgccggacacgatact
+aatctggcaaatctcggcggcgcactggagctcaactggacgcttcccggtcagccggat
+aacacgccgccaggtggtgaactggtgtttgaacgctggcgtcggctaagcgataacagc
+cagtggattcaggtttcgctggtcttccagactttacagcagatgcgtgataaaacgccg
+ctgtcattaaatacgccgcccggagaggtgaaactgaccctggcaggatgtgaagagcga
+aatgcgcagggcatgtgttcgttggcaggttttacgcaaatcgtgaatgaagcacgcata
+ccggcgtgcagtttgtaatgcataaaaaagagcattcagttacctgaatgctctgaggct
+gatgacaaacgaagaactgtctaatgcgtagaccggaaaaggcgttcacgccgcatccgg
+ccactttcagttttactctttctcggagtaactataaccgtaatagttatagccgtaact
+gtaagcggtgctggcgcgtttaatcacaccattgaggatagcgcctttaatattgacgcc
+tgcctgttccagacgctgcattgacaaactcacctctttggcggtgttcaagccaaaacg
+cgcaaccagcaggctggtgccaacagaacgccccacgaccgcggcatcactcaccgccag
+catcggcggcgtatcgacaatcaccagatcgtaatggtcgttcgcccattccagtaattg
+acgcatccgatcgcgcatcagcagttcagacgggttaggtggcacctgaccgcgagtaat
+cacatcaaagcctcctttgccaaaatgctggatcactttgttgagctcatctttacctgc
+cagatattccgacaagccatgttcattactcacggtaaacaggttatgcgaataaccacg
+gcgtaagtcggcatcaataaataacactttttgatcggactgggcgatcaccgctgccag
+agttgaactgacaaacgttttaccactgtctggcgtcgcaccggtgatcattagaatgtt
+attctccgtctccatcatagcgaaatgcagactggttcgtagcgcacgtacggcttccac
+agcagaatccgccgggttatccaccgccaggaaggggatatttttagtacgatggcgctg
+ctgattagaaaataaatttttcttacgcagacgggtgcgtttatccagccactcggacat
+tgggatagtggcataaacgctgatgccgtgctcttccagttgttccggggcttctacacc
+acgacgcaacatcgcacgcgccagcacggcacccacagaaataaacaggccaagaataaa
+accaagcaccacgttcaacgcttttttcggtttcactggctgcggctgagtgactgccgg
+gtcgataatccgcacgttaccaatggcactggatttcgaaatactcaactcctgctggcg
+gttaagtaattgcagatataccgcacggcccgcttctacgtcacgacttaaacgcaacac
+ttcctgttgggtggaaggcattgccgatacccgcttattcaggcgtttgcgttcttgctc
+cagcgtctggcgtttttccagcagcgcacgataagttgggtgatctttcttatacagctg
+ggagatctctgcctcgcggaaggtcagctcattgagttgattatcaacgttcacaatctg
+ctcaagaacggctttggcttccaggttaaggtcaaccgaatcgcgctgctggcgataaac
+gttgagtttttcttccgcttggtccagctcgctgcgcacttcaggtaactggcgctgtaa
+gaattcaaggctttgtgaatcctgcgccgcctggcgagcgatattctgttgcaaatagtt
+gttagcgatgctgttcagaatacgagtaatcaactggggatcatcaccagtcatggtaag
+ttccagcatcccgctttctttactgcgttcgctaacggtaaaggtttcctgcaatgcgtt
+aatcgcttccagttcggtacgctggctcaggacaaactgtgttcctggtttggccttaat
+gtccgcgatagtcagcgcaacgccatctttttccagacgctggccgaccataccattgac
+ggtgaactcttcaccttccagtgtatagtggccgttttccccaaccgtgagtgtcagttg
+ctgatcctgaccattcagttgtggaatatgcatccagctgatcgccagctcacctggttt
+ttctttggttaatctcgcccagccgcgacccacaatcggaaaatacttctgctcaactat
+gtcgcgcagattcagttcagcaatggttttaccgagaatcatgcgcgattgcagcagttg
+gatctccggtgcagactcgggcgatgagttagggatcatatcgctcaggccgctgagaat
+ggcgttgccctgtttttgctcaacctggaccagagtatctgcctgataaattggtgtgct
+taacagcgagtaagcgacagcgatcagcgtgaataacgcggtcacgctgataataaactt
+acggtgatcccataactcgccgaccagacgaagcagatcgatctcattttcctgagtgct
+gcctggtggcgtattcatatttttagttgtcatcgtattttataaactcaaattaccggc
+tgaggcgcttcgcccattcctgactggcgcgctccaacataccgtagacatgttcaaatg
+cgtcctgacttttacgatagggatccgggatctctttctgttccagccattgcccaaaca
+gcattgtcttcccgcggacctcgggagcaattgcggtaacctgagcaatatgttccgact
+ccattgccagaatcagatcgtaatttcgtgccatctcagcagtgagcttacgtccggcat
+gtccttcaagagatacgccatgattagcggcaacatctgccgctgtcgcatctgcagggt
+gttttaccagaccatgaacacctgccgatttgacttttacgcccggcagacgtttacgca
+gcaagcgctcgccaatgggcgaacggcaaatgttgccggtacaaaccaccaggattgagt
+taaattttagttgggccatgtttgaatccaccgtgaagtctctgtcaggtcatgcacccc
+ggaaatcgtcggtaccagcagagaaatcacacggttccaacgagccagcggcgcggtagt
+gacataaacaatgtcgtaaggttcaagctggaattccgttccgagtatcattgccgatgc
+gtccttcgcattcagctgataaatattggcgattttgccattctgcttgttttgcgttgc
+acgaataacaaaaatccccgtcgcatcagcgacatcctgattcataccctcagcgttacc
+cagcgcttccgccagggtcataccgctgcggtccattttcagcgtgctctgtttacccac
+ttcacccatcacgaagactttcagatcatcgttgcgcggaataaataaaatatcgcccgg
+gtgcagcagtttgttctggcgcaagtcgccacgctgcatcagcgcatagaggttcacttt
+ggtctttacgccattctgggtgagcaccacgttgcgccagtctgcatctgcggtcagacc
+gcccgcggcgttaatcgcatccatgatggtcagaggaatattggtaatcggctgctgacc
+cgatttgctgacttcgccggtgacgtacgctttttgcgatcggaacgccgcgacgctgac
+atcgacttgcgggctttcaatgactgaatcgagacgcgctgtaatctcgttgcgtacctg
+ggtaagtgttttcccggccactttcaggcgaccaatataggggtagaaaatcgcaccatc
+ggcgttaacccagttgccggtatcactggcgctacggtattgccctgcgggggtggttag
+ttccgggtgatcccagaccgtaaccatcaacacatcaccaatcccgatacgatattcata
+gtttgcgatttgctgctccagctccgggttagcctgcgacataatcggtttggcgcgcaa
+ctgatcaatcaatcctggcgtgacgggatagatattgaccattttgtccaggtcatactg
+attgtcaggtagttcaatgacatccttgttactggtcgataaattctgaccaggaacaag
+ggtacatgctgtcaaagacagaacagccaatgtcagtaccgaaaacttaaaaatgttctt
+tttcattggtttatatttatcagtcaatgtaatgttatgaattacgtcaggttattgtcc
+aaccggtacttctcgctctgccgtcattggatagagctggtatttgcgtgacagcatttg
+tccaccatcacgcgtcaatggtgtccacgaaaccaccgcgcggttgcggttaggtccaat
+ggtcatcaagtcgaatggaatcgagatataaaaacctttactaaagccgccttcgccgta
+gtcatctttagatacgttactgattgccgcccatacccctaccgccacgccgctgtcaaa
+gcgtttggcgacgtcgatcgttgcgcctttatcttttgccagatattgcccaacgctaag
+tttcatcagtacgccattgagcgtcggcgggttccagtaagccgtcacgaaacctgttgg
+cgtggaataatcggtgaaacgcatcatgttgtcccagtcacgttgcttcacgtagttaac
+gtccacacccagcgcccagcaggcatctagcgggcgataaagcagctcggaaccgacacc
+ggcgtacatcgtttccagataaccgccatacacctggccatagaaaccattgcctaagtc
+agcaaaatagttcgcctgcaagttgttgagataaacgtcattgcgaacgtagtcacggat
+atgcgtgcgcacgcggggcagggtagagtccgcgggcaacagcgaagacttaaacttgtc
+gtagttgttgtaaatattggtgaaaataccgccatcaagcagcaggtggtcggtaaacca
+gtagcgggcactggacatcagccccagctggaacatatagaaatcttccgggccgcccag
+cgactgtgaaagtgttgggttgaaagagtagctaaagcgatcttcacgaatacggtagcc
+ccgaccaaaggcagaaagatcttcagcttcaacacgttgttgttgcagtggctctgattg
+accaggcgctgtacctgccagctgtttgcgcaggctggctacgtcggtttcggtagtcac
+catcgccatatgctcgcgcttttgcgtcacgctaatcttctcaacgccttgcggcaggtt
+attcaccagaatccggttggcacgatcgaccgcttcacgagagtcacggtatttgtattg
+ctgaccagacatatacagtgtcttatcgcgtagctgaatttctggcgcgtcaaagcccgc
+gttatacttcagggcggtaagttggtttgctaccgtggtgtactgcaatccttcagattc
+aggcgcaggttgatatgccggttttggcgtatcgcgcagggcagggcgcagatcgttgaa
+attggtccgtaacgtgaagccaaacatcaacgtgttaccgcgttcataactcaggttgag
+atctgcccagctggcagcgcgataaactgcgccgacgttgaaatggcttgcctgaggcag
+tttgccagcgaaatcattctggtaattgtttccatcgtattcgagtttcagacgcagggg
+attccacggcgtttgatactcaatgccgccaaagatggaagccgggccacgaaagatatc
+gctaaagctgatatcgcccgcatcgtgagactctgcgcgatgacaatatttatcgctcac
+ccggcaaaacgggttggtaatattgcccgcattaccggcgtagccccatgccatcccgag
+ggtgaaatcaaatggccccgcttgcttgctggccaccagatactcaccgtcaaacagacc
+cgtaccagcaatatcacgtttaccaaacgccacttgcggtagccagtaaccttcttccca
+caggcgaagtttaaaatcgaatgatttgtctttgtatgactgatcgccgctgaaatcttc
+ccactggctatatttgcgtgtgcgcacatccgtataacgaatggtgccttccagccatgg
+gaacagcgccacggaggtggagtagaaccggtattgatcgttatcccggtagttgacgct
+gaattcaccttccggtgcgatgcgcgcatttggcatctgcaacaatcctgtgccgccaaa
+gtctgattgcgacgaacccagcggatccgggtaggttaatacttcagcatgacaggcact
+ggagacggcaatggccaggcagcttaaaagataagaattcttcttcatcagtcaggaaca
+cgttgcgttaaaacagacacaatctggtcatttaaatcagcatatttttcgggcagtaca
+tgcgcagaaaagcccaaccaaagctggctgccaggcggtggttccacatgtcttttattc
+cacagggcaacaggggcgacgacagtctcaccctcaggcgtaatcaccataacgttattc
+ttgtccgcgcctgcaaggcgggggtgatcttgcagataatcggtaacgctacggcctgcc
+tgccagggcaattgcccggccccagaaaccgcacccagcagagtaatagtcaccggacgc
+tgtacggtatagagcgtatagtccccgaccaacgggggattgctgttctcatccactcgt
+acaaaatcagggtccagtttgaccggtaagcgaccagtgatattgagattgagtaactgc
+tggcgcacggatttaatcgttgccgccacatcgtcgtcagcttctgcttcccaggaagca
+agctgtgccatgacatgttggtagtctttaagcgctttagctttcgccgcagagtcggtc
+agcaaggcaccaggccaccagaggcgatcgcgcagttgcggttgtgtcaccaactggaca
+acattttccacggggccaacggaaagtgtctgttgttcgccaggcagataaatagtcacc
+gttccttgcgcaaaggcatggggtgtcattacgtaaagtacgctggcaatgaaatacgac
+tgtaatttattcatggtgcgggtttaagaaacgtcatttctacgggaataacccctgcgc
+ctaacatttgccgactttgacgaacctggccagtagccgaatcgacccagaatgtgtttt
+gccactgtttttctggccgcgtggaagtcacctcttcctgccagacattacacagcacat
+tgcgacccgcaatattcagcgtctctaatccagcaaaggaaaaagtagaactcagggtcg
+cagagcgaaaatggttgtcttcactccagagaatatcgcgcgtccagcggctgccatctt
+ttattgccagcgcgttacgcagagggtcctgcccggaatttgtcacttccagcagattat
+tattaagtttgacggtttttaaaagacgtccattgtgggtaaccagcatggcgttatcct
+gggataaccatttgctttgttcttgttctatatatcccagtaccacaaagattcgttgcc
+cttcattaaggcgtaaatacatagtggaataaggcaacgcctggatctgctgatccgcta
+cggtgatatcctgattatcgaaaaggctggcgcgaaatgtatcgaccatactttgctggc
+tgtgcgtacatcccgcaagaaatagtgcgaaaatcgataaaataagagggcgcaccttta
+atccttgaaaggttaattaaaaaaatgcaaatctctaaagcccggtacgaatatcgcaac
+cgggtatcatttaactttaatttcgacgcgttaaagcagtattagcgtgtagtggacgtg
+gtggttgaggtgttatgagaaccgccatcgccactgtcatttgctgcaacaactgccaac
+gtcgccacaccaacagccgttgccacaccgacaactgtcgccgtgccgacagcgccagca
+gccacgccaccagtggtagtagcagtcgtggttgcgccggtagtggtcgttgtggtgcca
+gtagtacccgtcgttgcctcggtcccgtttgttgcttcaggggcagcaaacgcagctggc
+gtcgtcaacatgaaggccataaggattgcagaaagcttgtgtttcataacttttccttta
+ttcatcgcatggacaatacgggtgatgctgccaacttactgatttagtgtatgatggtgt
+ttttgaggttctccagtggcttctgtttctatcagctgtccctcctgttcagctactgac
+ggggtggtgcgtaacggcaaaagcactgccggacatcagcgctatctctgctctcactgc
+cgtaaaacatggcaactgcagttcacttacaccgcttctcaacccggtacgcaccagaaa
+atcattgatatggccatgaatggcgttggatgccgggcaacagcccgcattatgggcgtt
+ggcctcaacacgattttccgccatttaaaaaactcaggccgcagtcggtaacctcgcgca
+tacagccgggcagtgacgtcatcgtctgcgcggaaatggacgaacagtggggatacgtcg
+gggctaaatcgcgccagcgctggctgttttacgcgtatgacaggctccggaagacggttg
+ttgcgcacgtattcggtgaacgcactatggcgacgctggggcgtcttatgagcctgctgt
+caccctttgacgtggtgatatggatgacggatggctggccgctgtatgaatcccgcctga
+agggaaagctgcacgtaatcagcaagcgatatacgcagcgaattgagcggtataacctga
+atctgaggcagcacctggcacggctgggacggaagtcgctgtcgttctcaaaatcggtgg
+agctgcatgacaaagtcatcgggcattatctgaacataaaacactatcaataagttggag
+tcattaccgacaatacgtacgcttgagatcaggattgtctactttgagtataacatcctt
+gtgaaatctccctttcctcataccgcttgcactatatactgcgggtaggaaaggcgcgca
+gagggaaatataagattgttaactatccccctctggaaatacgacttgtgagcataagat
+aaatcttagcaaaatacaaattaaagataaggaaattgttacgaaagctattaattattg
+ttggtaatatagtttcaagtggtactataactggctgttaaatggcatttataactatta
+ggtgcagagatattcgcttaaatggattagtttctttgtggaaaagtaactgatgttata
+atgtatgatgttgactatttcactattccaataaaaccagtcagctttaaacaagcagcg
+tcatattaagagagataaacatttgccgctgttggtcctcgcaggccatttacgcggcaa
+aattccacacgtaatcctggtataagcacttctgcgtcgcggggagtgaatgcggaaata
+tggacctgaacttctttacgaccgtcggaggggataatgaatcctttgccgcttttgcga
+tcaaaggttttgacaattcctgtcattttacgggacaaacaaattccttactgaaaatac
+tgcgctgcactatacggggttaataaaataaagccagcgatatttaagaccgccggacgg
+ctaaaataaaatttgcttaatctcaattatcatgcgttaatagctgcgtcggtttgaaag
+acagacagcatacaaagtagtttactaaagcagttctcattatcaggcattatccccttc
+ttttgagtctctctcctgaacactaagtagtttctgtattaaagccctgtttgccgaaag
+gcccaaaatgaaggaagtaaaatatgtctaataaaatgactggtttagtaaaatggttta
+acgcagataaaggttttggctttatcactcctgatgatggcagcaaagacgttttcgtcc
+atttcaccgccatccagagcaatgaattccgcacgctgaacgaaaatcagaaagttgaat
+tttctattgagcaggggcaacgtggccccgcggcagcgaacgttgttacgctctaaggtt
+gccattattactcaacatctccatttccgctgtccatgttgtcatggttcacagtaccgc
+acatcggcattcgatgtgacggagcgaaaccctttgggcgctaagtgtattttttgtaaa
+tcgacgatgatcacctttgataacgtcgcgctgcaaatacgcactgaccatgcgccgctg
+gatttcacaaaataatatcaggctccctcgtggagccttttttatatctgccttattttt
+cttcaacgctgtatgtatagtaagcgataacctgttgattattgaatctttcggggagat
+ggcttataacatttcttacctgaccagggtaccgggaaccaacaccttactggcgtgttg
+ctgtcttttaagaccagaagaggttaacagtgaatattgaagagttaaaaaaacaagccg
+aaacggaaatcgccgactttatcgcgcaaaaaatcgccgagctgaacaagaatacaggga
+aagaagtctctgaaattcgcttcaccgcacgagaaaaaatgaccgggcttgaaagttatg
+atgtcaaaatcaaaataatgtgattttgtgaacatcaccccgtgcgaggtgatgttccgc
+ttgttgctaatttagtgaccaatcattggcgcttgtggaattaagcgtcggtacaattcc
+tccggcaccgggctttgccatactcccgcatacattgcgtaaccaatcaccgcaaacata
+atccccagaaccagtagcgtcattaaccagccagacaacgcaaaggcttttttatttgcc
+gcaggtttttgcagtgaaaaggtcaatgttgaggctaccggacatgactctacgcaagtc
+atacagccggtacattccactgttcgtacctgaattaatttatcgaccgggatccgtgat
+gggcaattttttgcgcatttgccacagtcgatacaactttcggcattgcgacgaatctta
+aacggcgacaatagcgaaaccacgcccatcagcgcgccatatgggcaaagataacgacac
+caggcatggcgaataaacaggctggcaatcagcaaaacggtcacgctgattaatgtcgcg
+gtccccatatgacgaaagaaatcgagcattttaacgtccatcaccacgctgtagggcgac
+aacataaaatagtgaatcgcctgagcgggcatcaataacgcgatatagataaaaaaactc
+aacagcaaatacttcacgccgcgcagaggaatatccagccagcggggaaggacacattgc
+cgaccaaacagtttgttaccgagatcgccgattaattcagaaagcgtaccaaccgggcat
+aaccatgagcaaaaggcctttttgagtaatagactgatgacgataaaagcgaccaataac
+agcatcgcggcggcgtggacggacggtaactgacctgttacaaggctatatttcagattc
+atcagcccggcaatcggtagccagccttcgatacctcccggtctggcgacaaatgtcgtg
+ctacttgccgtttcgtaatagcgcacccaataccagaacgtgatggcaatataaatattc
+attgccaacagtaataattgcgtcgctttacgccaggtcgtggcattacgccagtcattc
+cacggtaatttgccgcccgtcgtgcctggccgccgctgccagcgggttcttttattctct
+gccatgattttgccagtccgttaagttgtataccaaatgccactattctagttgttctta
+actggctgatattgattcaaatcgcgttcaggtctttcttatgcaaccatgcttccagag
+cggcaacactgcgtgtaatttcttcgtgtggaaggggggcagataatggctgctgctcca
+gttgtgcgcatagctggctggcgatatgcattcccagactcgagcaactgctttttagct
+gatgcgcggcacgctttattttctcgctatcctgactggcgcgggcaatgtcgatttcat
+cgagaagcggcagggcatgttgtgtaaataataccagccattcgtggatcttctccgtcc
+ccattaactgagcatcttcattgagttgcgatacatccagcgattgatcattattgactt
+gcagttggagatagtgcgccagtaactgaccgagcacttcacgcggcaccggtttaggga
+taatcccgcggaataatgaactggtacgctggcgcagcgtttcgtcaatgacatgggcgc
+taaagccaatcaaaaccagcgacggatattgctgtgccagttgtcgggcaagcgtaatgc
+cgtcgatatccggcagatcaaaatccaccagtgcggcagcaaacggttcgctattttgca
+gtgtctctaaagcctgcgcggcattgccaacagcaacaatctgcgcaccactggttttca
+gcatctcaatggtaattcgctgggttagcgggttatcttcaattaacagcaaacgtaaac
+cgtcaagacgcaccgcctgattgactgtttttggcacgggtgccgtggcaacacgtaacg
+gcaagcgtaaacaaaaacagcttccaacctccggcgtgctggtggcgctcagttcgccgc
+ccatcgcctgggccagacggctactgatagtcagtcccagcccggtgccgccgcgtttgc
+cgcttacctgcacaaatggctggaagatttctgccagtttcgcgggatcaataccgcagc
+cgctgtcttccacttcgaccagccattgctcgccatcagtgcgactacgcaggataatgt
+acccttcgtcagtaaaacgcagggcgttgctcaacaggttggttataacctgacgaatac
+gtcgtggatcgcccattaacgcgcacggcatatcatcggcaattgccgttgccaggcgaa
+tcgggcgacctttcacccgtccgctcattaattgcagggtactttccagcagcgggcgcg
+gttcaaagggctcatcgctgaccgaaacattcttgccacctgcttcgatagcggaataat
+cgagaatatcgttgaggatggtcagcaacgattcaccagagtcagtaattgcccgcaaat
+catcacgctgggcgttaagtgcggggttatctgccagcagttgagcagtgccgagaatac
+cgtacagcggtgtgcggatctcatggctcatcgccgccagaaacgccgattttgcctggc
+tggctttttctgcttccgcccgtgcctgtcggtgttctatcaccagttcctgcaattcag
+ctgtacgcgctttgacctgcgccgccagctgttcgcggtggcgattcagtgcatgaacat
+tgctgcgaaacgcatccatcagccgcccgatggtatccagctcccgtacgccagcggttt
+ccgggaaaggggagtcaatatcaccgtccagcagccgttgcagcgcctgcgtttgttcgg
+caagtggacgcgtgactgagcgataaaccacgcgccagaggatcagaatcagtgcgcaaa
+gtgaaaccatccccagcaataacaggctgtattgcccgcgtgcactcgctttttccagat
+gcgccagtccgtgctgattacgcagctcaatggtgtcgaccagctgactgacttcgctac
+taaactgcgcgaactgggcgatgttattttgtgcgagagtttgtaggtgattgctgattt
+cactgtcctgctgatacagcgccagcaaatcgctatattggctaacggtagttaacgttg
+ttgcgacctgcgcacgaacacccggatcttcaatgcgtatttgccgacgttgcagaattt
+tcaccgcattattgagctgcttttccagcgttggtgcatttttctggatctgctccagcc
+ccagattcatcaccatttgctgcacccgcagagcgctaaggcgcagttcattcatctggt
+taacatactcaagatcgatatcaatcagccgatcgagtgcactttcagcagcctgacgct
+gatcttgttcgatcaaatcgtaaatcccggcctgggtcgctccagcggaagttgtcgcat
+tattcgcctgaccttgcgccaggcgtgcgatctcatcggcggcagcgactatctgctgac
+tgagttgctgttgttgctggcgcagttgcaaacgctgccccaccagttccccttgctgac
+gtaacgaacgggagatctcctgctcctgttgttcaatagcggtggtatcaaaaccttgtt
+cccgtaacgcttgcagcaacgcattaatcttcaggctttgtgcggtgagcattcgcccct
+gcgcctgccacatcttttcgttatcggcactggtcaggttctgcgcggcgaaaagttccc
+aggcgctggcttcgctcaactggcgcgccatattcatggtaggaatcaatgcctgagtgt
+tgtctttttccacctggctgataaagcgcaggttgtaccatcccaccagggtactggtca
+gggttaacagcgccatcagggcaaagcccatccagagtcttcgggtcagggttaaattca
+cggtcggtgcactttaggtgaaaaaggttgagtcgcaaagcggaatgcatctagcataaa
+gccttattattgatgaggctatcatgcgcgtactgctatttttacttctttcccttttca
+tgttgccggcattttcggctgataacctgttgcgctggcatgatgcgcagcatttcacgg
+tgcaagcctctacgccgcttaaagccaaacgcgcatggaaactgtgcgcgctttatccca
+gcctgaaagattcatattggttatcgttgaactatggtatgcaggaggctgctcgccgct
+acggtgtggatttaaaagtgctggaggcaggcggctacagccagttggctacccagcaag
+cacaaatcgaccagtgtaaacagtggggcgcagaggccattttgctcggtagtagcacga
+cctcatttcccgacctgcaaaagcaggtagcaagtctgccggtgatcgaactggtaaatg
+ctattgatgctccccaggtgaaaagccgcgttggtgtgccctggtttcagatgggctatc
+aaccggggcgatatctggtgcaatgggcgcacggtaaaccactgaatgtgctgttgatgc
+ccggacccgataacgccgggggcagtaaggagatggtcgagggttttcgcgcagccattg
+ccggaagcccggtgcgtattgttgatattgcgcttggtgataacgatattgaaatccagc
+gtaacctgttgcaggagatgctggaacgccatccagaaatcgacgtcgttgccggaacgg
+ccattgcggcagaggcggcaatgggggaagggcgtaacctgaaaacgccgcttaccgtgg
+tgtcgttttatctttcacatcaggtgtatcgcgggctgaagcggggaagagtgattatgg
+ctgccagcgatcaaatggtctggcagggggaactggcggttgagcaggccatcaggcaat
+tacaggggcaatcggtttctgataatgtcagcccaccgattttagttctgacgccgaaaa
+atgccgaccgtgaacatattcgccgctcgctgtcaccagggggatttcgtccggtctatt
+tttatcagcacacatcagcggctaagaaataaccttcaccatgttgcgtcaccagtaaat
+ccgcgctgagtttatgacgtaaacgacgaattaacacatcgacggtgcgcaggtcagggt
+tttccacccgacgcgcagaaagcatacgtagcagacgttcacggctgagaatttcgcccg
+gattcgtcacaaatgccaccaacatttcatactctgcgcgggtcagtttaatcggctcgc
+catcccgctccagcgtatggcgcgacacattcaggcaataaccggcaaagcgatagcagt
+tgtcctgagtgtgcggttgagcttgtcgcgcgaggtcgattcgccagagcagatttttca
+cccgtactaccagttcgcgcagttccagcggtttggtgacgtaatcgtctgcgcccattt
+ccagcccaacaatacggtcaatccgatcgctgcgtccggtaaccagaataatccccaccg
+ttgagcgttctcgcagggcgcgggttaacatcaggccattttcatcgggtaagttgatat
+ccagcagaattaaatctaccgactgattctgcataatttcccgtagcccagcaccgctcg
+ccgtaacggaaacggtatacccctcctgagtgaagtaggattgtaatcgcgcctgggtaa
+ccggctcatcttcaacaataacaatgtgatgtggcatcagagggttttactcattctgtt
+catatctgttcatattctgccgtaagccgttcatcctgaccagtgccgctgttcatattt
+gctcattaagatcgcttcactaaaccataattctacaggggttattatgcggaaactctg
+gaacgcgctacgccgacccagtgctcgttggtcggtactggcgctggtcgcaattgggat
+tgtgattggcattgcgctgattgtattgccacacgttgggatcaaagtcaccagcacaac
+cgaattttgtgtcagttgccacagtatgcaaccggtgtatgaagaatataaacagtcggt
+gcatttccagaacgcctccggcgtgcgagctgaatgccatgactgtcatatcccgccgga
+tattccaggcatggtgaagcgcaaactggaagcgagcaatgatatctaccagacctttat
+tgctcactccattgatacacctgaaaaattcgaagccaaacgcgcggaacttgccgagcg
+tgaatgggcgcgaatgaaagaaaacaactcggcaacctgccgctcctgccataactacga
+tgcgatggatcatgcgaagcagcatcctgaagcagcacgtcagatgaaggtggcagcgaa
+agataatcaatcctgcatcgactgtcataaaggtattgcccaccagttaccggatatgag
+tagcggcttccgtaagcagttcgatgagctgcgcgccagtgctaatgacagtggtgacac
+gctgtactctattgatattaagccaatttatgcggcgaaaggcgataaagaagcctctgg
+ttctctgctgcctgcttcggaagtgaaagtccttaaacgtgacggcgactggctgcaaat
+tgaaattaccggctggacggaaagcgccggacgtcagcgtgtactcacccaattcccagg
+taaacgcatctttgttgcctcgattcgtggtgatgtgcagcagcaggtaaaaacgctgga
+gaaaaccaccgttgccgacaccaataccgagtggagcaagttgcaggccactgcgtggat
+gaagaaaggcgacatggtgaacgatatcaaaccgatctgggcttatgcggattcgttgta
+caacggcacctgtaaccagtgccacggcgcaccggaaatcgcccactttgacgctaacgg
+ttggatcggcacgctcaacggcatgattggctttaccagtctcgataaacgtgaagaacg
+caccttgttgaaatatctgcaaatgaatgcgtctgacaccgcaggtaaggctcacggcga
+taagaaggaagaaaaataatgaacaataacgatctctttcaggcatcacgtcggcgtttt
+ctggcacaactcggcggcttaaccgtcgccgggatgctggggccgtcattgttaacgccg
+cgacgtgcgactgcggcgcaagcggcgactgacgctgtcatctcgaaagagggcattctt
+accgggtcgcactggggggctatccgcgcgacggtgaaggatggtcgctttgtggcggca
+aaaccgttcgaactggataaatatccgtcgaaaatgattgccggattgccggatcacgta
+cacaacgcggcgcgtattcgttatccgatggtacgcgtggactggctgcgtaagcgccat
+ctcagcgatacctcccagcgcggtgataaccgttttgtgcgcgtgagctgggatgaagcc
+ctcgacatgttctatgaagaactggaacgcgtgcagaaaactcacgggccgagtgccttg
+ctgaccgccagtggttggcaatcgacggggatgttccataacgcttcggggatgctggcg
+aaagctattgccttgcatggtaatagcgttggtacgggcggagattactctaccggtgct
+gcgcaggtgatcctgccgcgcgtagtcggttcgatggaagtgtatgaacagcaaacctcc
+tggccgctggtattgcagaacagcaaaaccattgtgctgtggggctccgatttgctgaaa
+aaccagcaagcgaactggtggtgcccggatcacgatgtttatgaatattacgcgcagcta
+aaagcgaaagtcgccgccggtgaaattgaggtcatcagcatcgatccggttgtcacatcc
+acccatgagtatctggggcgcgagcatgtgaagcacattgcggttaacccgcaaactgac
+gtgccgctgcaactggcgctggcacatacgctgtacagtgaaaacctgtacgacaaaaac
+ttccttgctaactactgtgtgggttttgagcagttcctgccgtatctgctgggtgagaaa
+gacggtcagccgaaagatgccgcatgggctgaaaaactgaccggcattgatgccgaaacc
+attcgtgggctggcgcggcagatggcggcgaacagaacgcaaattattgctggctggtgc
+gtgcagcgtatgcagcacggtgaacagtgggcgtggatgattgtggttctggcggcgatg
+ctggggcaaattggcctgccaggtggtggttttggttttggctggcactacaacggcgca
+ggcacgccggggcgtaaaggcgttattctgagtggtttctccggctctacgtcgattccg
+cctgttcacgacaacagtgactacaaaggctacagcagcactattccgattgcccgtttt
+atcgatgcgatcctcgaaccggggaaagtgatcaactggaacggtaaatcggtaaaactg
+ccgccgctgaaaatgtgtatttttgccggaactaacccattccatcgccatcagcagatc
+aaccgcattattgaaggcttgcgcaagctggaaacggttatcgccatagataaccagtgg
+acctcaacctgccgctttgccgatatcgtactgcctgcgaccacgcagtttgagcgtaac
+gatctcgaccagtacggcaatcactccaaccgtggcattatcgccatgaaacaggtggtg
+ccgccgcagttcgaggcgcgcaacgacttcgatattttccgcgagctgtgccgtcgcttt
+aatcgcgaagaagcctttaccgaagggctggacgaaatgggctggctgaaacgcatctgg
+caggaaggtgtacagcaaggcaaaggacgcggcgttcatctgccagcgtttgatgacttc
+tggaataacaaagagtacgtcgagtttgaccatccgcagatgtttgttcgccaccaggca
+ttccgcgaagatccggatctcgaaccgctgggcacgccgagtggcctgattgagatctac
+tcgaaaactatcgccgatatgaactacgacgattgtcaggggcatccgatgtggtttgag
+aaaatcgaacgctcccacggtgggcctggctcgcaaaagtatccgttgcatctgcaatct
+gtgcatccggatttccgacttcactcgcagttatgtgagtcggaaacgctgcgtcagcaa
+tatacggtagcgggtaaagagccagtattcattaacccgcaggatgccagcgcgcgcggt
+attcgtaacggtgatgtggtacgcgtctttaacgctcgcggtcaggtgttggcaggggca
+gtggtttctgaccgctatgcacccggcgtggcacgaattcacgaaggggcatggtacgat
+ccagataaaggcggcgagcctggtgcgctgtgcaaatacggtaaccccaacgtgttgacc
+atcgacatcggtacatcgcagctggcgcaggcgaccagtgcgcacactacgctggtggaa
+attgagaagtacaacggaacagtggagcaggtgacggcgtttaacggccccgtggagatg
+gtggcgcagtgcgaatatgttcccgcgtcgcaggtgaaatcatgaccacgctgacagcac
+aacagattgcctgtgtttacgcctggctagcgcagttgttctcccgtgagctggacgatg
+aacaactgacgcaaatcgccagtgcgcagatggctgaatggttttcgttgctgaaaagcg
+aaccgccgctcactgcggcggtgaacgagctggaaaaccgtattgccacgctgacagtac
+gtgacgatgcccgtctggaactggccgcggacttttgcggcctgtttctgatgaccgaca
+aacaagcggcgctgccgtatgcatcggcctacaaacaggacgagcaagagattaaacgct
+tgttagttgaggcagggatggaaaccagcggcaatttcaacgaaccggcagatcatctgg
+cgatctatctcgaattgctcagccatctgcatttttcgctgggagaggggaccgttcctg
+cgcgaagaatcgacagtttgcggcaaaaaacactgacggcgctgtggcaatggttaccag
+agtttgttgcgcgttgtcgtcagtatgacagctttggtttttacgcggcactaagccagt
+tattgctggtgttagtggagtgcgaccaccaaaacagataacgtcgtttgtgcgcctgaa
+aagacgcgtttagcgtcgcatcaggcattatggcgcagttgccggatgcggcgtgaacgt
+cttatccggcccacaggaactgtaatctttgtagaccggttaagatgcgtcatcgcatcc
+ggcaaacacacatcacggatgagctacaaaccgggaaagccgctggcgcagcaggcggtt
+ttcctgcttcaggtgcgcaatatcatccattaacgtcagcgccaccgcgatccccggcca
+gtccagagccagttcatgacgcaggcgtaccgcgcgttgcaccacaatggcggcatggtc
+gtcaaatacccaggttgtttcctggatctcacgcggttcaaccacccccaaaccgacaat
+ttcattcaactcctcttcagagatgccggtatgcaggcaaaattcggtaatagtaaaagt
+caccgtaacattagccattatgctttcccccaatctttacgtggatcaaaagacgactgg
+gcgtctgccagttgctgccacagcgcggcagtgttttcatccggtttcggcggcatcacg
+attttcagtaccgcatacagatcgccggtctgttttttgctcaccagacctttgccttta
+acgcgcaatcgttgcccggcctggctgcctggcgggatagtcagcaaaatgctttctttc
+agtgttggaacggtgactttagcacccagcgccgcttcccacgggctaaccggcaccaca
+atttccagatcctggccgacaatatcaaacagcggatgtggcgcaatatgaatcaccagc
+cacaaatcgccatttggaccgccgttttcgcccggcgtcccctggcctttcagacggatg
+cgttgaccattgccgacgcccgccgggatcttcacattcagcgttttcggaatttcctgt
+tcgatcatgccaaaggcgttataaaccggcaggttatagctgatggtacgcttatgctca
+gtaagcgtttcttcgaggaataccgccacttcgatttcaatatcgtggccgcgtgtggcg
+gggcgttgacggctctggcgggcatgctgaccgaaaattgacgagaagatatcgtcaaaa
+tcttcggcgttaaaactctgaccgtcgccatggtggaactgacggttaaattgcggatcg
+ttgcgatgttgccacatctgatcatactcagcgcgacgttgttcatcacttaacacttcc
+caggcttcagcgacctctttgaagcgggcttcggcatccggttctttgctgacatcagga
+tggtatttgcgggcaagtcgacgataggcggtcttgattgtcttgagatcgtccgtcggt
+ttcacgcccatgatggcgtaataatcctttaattccatagcgttatctcgcgtaaatcaa
+cacaaattgaaggaacccctgtaaggtaactcctataagtgtagggtaatcctcaaaatt
+tcatatgccaacacagaatatgttattgaaatcatcgcggagaggaggtcgccatcaaga
+tgggttgctgaacatattttaaacaggtgaaaaagggtgagcgatttttgatagttgaac
+caggcactttaagtttaactagggcgtcattatttattaaattttatagacgctatatat
+gggtagtaatatacatggaattagttgcactgcaaataattatttgaaacaggcctggaa
+cgatataaaaaatgagtacgaaaaaaatcaaacatattcaatcacgctttttgaaaacac
+actggtgtgttttatgcggttatacaatgaactcagacgtaaagtaaatgaagaggatac
+tccatgtctggaatgtgaatcactagaaaaagaatttgaggaaatgcagaatgataatga
+tctatcattatttatgagaatattgcgtactaatgatacacaaatttattcaggggtttc
+aggaggtattacatatactatacaatatgttcgagatattgatattgttagagtgtcctt
+gccgggcagagcttcagagtctatcacagattttaaaggttattattggtataactttat
+ggagtatattgaaaacattaatgcgtgtgatgatgttttttctgagtattgttttgatga
+tgaaaatataagtgtccagccagagcggataaatacgccgggaatatctgatttggattc
+tgacattgatttgtctggtatatcttttattcagcgtgaaactaaccaggcattaggatt
+aaaatatgctcctgtagatggcgatggatattgtctgttaagagctatactggttttaaa
+acaacatgattattcatgggcgctggtcagttataagatgcaaaaggaagtttacaacga
+attcattaaaatggttgataaaaaaacgatcgaggctcttgttgatacggcattctataa
+tctcagggaagatgtaaagacgttatttggcgttgatctacaatctgacaaccaaattca
+ggggcagagtagtcttatgtcatggagctttctgttttttaaaaaacaattcattgatag
+ttgcttgaataacgaaaaatgtatcctgcatttacccgagtttatatttaatgataacaa
+gaacttgcttgctttagataccgacacgtcggataggattaaagcggtgaagaattttct
+tgttgttctttcagatagcatttgctcattatttattgttaatagtaatgtggcatcaat
+ctccttggggaatgaatccttttcaacagatgaagatcttgagtatggttatttaatgaa
+cactggcaatcattatgacgtttacctccctcctgaactttttgctcaggcttacaagtt
+aaacaataaggaaatgaatgcgcaactcgactatttaaatcgttatgcaatttaatggca
+aaggcatatgctaaaaaccattgttattagtctcacacttttttattggtaaatattgtc
+tctgtattggtaacgccgcagatattctgtttagccacaggtgcaattatcagcggcgta
+cgcgaggcaggggctaatcaggcatagtttgcgtcaaaccttgcctgtttttgaagatgt
+atatagaaaaacaggcgttcaacaagccattttgcgaacctgttcccggaaaaaagtcat
+atttctgtcacactctttagtgattgataacaaaagaggtgccaggaatgaacaaaacgc
+taatcgccgcagctgtggcagggatagttttactcgcttcaaacgctcaggcacaaaccg
+taccggaaggctatcagctacagcaagtgctcatgatgagccgccataacttacgtgcgc
+cgctggcgaacaatggcagtgtgctggagcagtcgacgccgaataaatggccagaatggg
+acgtccccggtgggcaactcaccaccaaaggtggcgtgctcgaagtgtatatgggccatt
+acatgcgtgaatggctggcagagcaggggatggtgaaatcgggggaatgcccgccgccgt
+acaccgtttatgcctatgccaatagtctgcaacgtaccgttgcgaccgcacagttcttta
+ttaccggcgcattcccggggtgtgatattcctgtgcatcaccaggaaaaaatgggcacta
+tggacccaacctttaacccggtgatcaccgatgattccgccgcattcagtgaacaggcgg
+tggcggcaatggagaaagagctcagcaaactccagcttaccgacagctaccagctactgg
+aaaaaatcgttaactataaagattcccctgcctgtaaagagaaacaacagtgttcgctgg
+tggatggcaaaaatacctttagcgccaagtatcaacaagaaccaggtgtttccgggccgc
+tgaaagtcggcaactcgctggtagatgcgtttactttgcaatattacgaaggttttccga
+tggatcaggtggcctggggagaaatcaaatctgaccagcagtggaaggtgttgtcgaagc
+ttaaaaacggctaccaggacagcctgtttacctcaccggaagtggcgcgcaatgttgcga
+aaccgctggtcagttatatcgacaaagctctggtcaccgatcgcaccagcgcaccgaaaa
+ttacagtgttggttgggcacgactccaacattgcctctctgttaacggcgctggatttca
+aaccgtatcagttgcatgaccagaacgaacgcacgccgattggcggcaaaatcgttttcc
+agcgttggcatgacagcaaagccaatcgcgatttgatgaaaattgaatatgtgtatcaga
+gtgcggaacagttacgtaatgccgatgcgttaaccctgcaggcacctgcgcagcgtgtga
+cgctggaattaagcggttgcccgatagacgctgatggtttctgcccgatggataagtttg
+atagcgtgttgaatgaagcggtgaaataacagaaaactcccccgcgagaagcgggggagt
+cgctggttaaacgtttttacgttcgatggtctgttcgccccaaaaaagcgaatctttatc
+ggtcttagcaaaggctttgactaacacttcatcactaccttcttcccaaatcttttccgc
+cattttttcgtcgtacccggcgacttcgaaaatggcctcggctatttccggcgacgtatt
+gcgcagagatgcccattcaccgacgtgatgagctttcgcttcttgagttggcatgcgtat
+cctcctgttgaagattagccgttaagtttaactgccagacctgcgacatattccccttga
+taacgagcaatagacagttcttcctggctgggctggcgtgaaccgtcaccgcctgcgatg
+gtggttgcgccgtacggcgtaccgccgcgaacctgtgaaacgtcaaataattcctgcgct
+gcgtagccaatagggacaattaccatgccgtgatgcgcaagggtcgtccaggtggatgtg
+atggtttgttcctgaccgccgccagtaccggtggaactaaagacgctcgccagttttccg
+tatagtgcgccggaagcccacaggccgcccgtctggtcgaggaaggtacgcatttgaccg
+gacatgttgccaaagcgggtaggtgtaccaaaaataatggcgtcgtaatcggccagttct
+tgcggggttgcaaccggtgcagtttgcgttttaccgcctgctttttcaaataattgcggc
+ggcatggtttccggtacacgcttaacgacaacttcagcgccatccactttgcttgcaccc
+tcagcgactgcgcgtgccatcgtttcaatatgtccgtacatggaataataaagcaccaga
+actttagccatttctaaccactcctcgtgttatctctattccgtagcgattcgctaccac
+ttatttaaagataagacgtccttttcagagtgcaaatttcacaaccacttatttgattta
+taacaactttcacaagcacgtaattttgtcgcaaaatgacacatttttatctcatcgcgt
+ttttttaatcataagagcggcttatggataattattggagatgatatctattctcgctaa
+gaagctgttgcaggatattaccaaacgcgggtctgcccgcgtcagttcactaagcttagt
+cccacgtagcgaaaatatggcagccgccatacgccgcgttaattctatgcaatatgatgt
+ctatacccagacggaggtcagtaatggcaaaccatcgaggcggttccggcaattttgcag
+aagaccgcgaaagagcatcagaagcaggtaaaaaaggtggacagcacagcgggggtaatt
+tcaagaatgacccgcagcgcgcatctgaagcaggtaaaaaaggtggtaagagcagtcacg
+gcaaaagcgacaactagccgggctaatcaatgacgaatgcatttttgtctgtagctcgtc
+aaaaagccatcaccgccggttacccggtggttgatactgatgacaaatgtaagcttgcct
+gatgcgcgatgcttatcaggcctaccagaagattgcaatatattgaatttgcactgtttt
+gtaggccggataaggcgtttacgccgcatccggcatgaacaatgcgtacgttgtcaacaa
+tctgcaccgccggtaaccccggcggttttctgtttatggctcctgatgaacaacttctgg
+cggtggaacgtcaaccaactttctgcttaacaacgcattgagtaaaatcgcgccaaaggt
+tgctgtaccaatccctcccaacgtaaaaccgcccagcgtgagagcaaaatcacccgcgcc
+cagcactaaggttactgcgaccataatcaaattaccgttctggcttaaatcgacacggtt
+ttgtacccatatccttgcgcctgcgacggcaatcagcccgaacacaacaattgatgcacc
+accaataaccgcggccggaatggtatgaatcagcgcaccaaatttcggtgaaaagcccaa
+cagcatggcgatgacggcagcagcaacaaacaccagcgtcgagtagactttggtcacggc
+catcacaccgatattttcagcataggtggtcacgccgctaccgccgacagagccggaaag
+catcgttgccagaccatcgcctacgaatgcccgccccatatacgggtccatattgcgtcc
+ggtcatcccggcgactgccttgagatgacctaagttttccgccaccagaatcaccgccac
+gggcgcaatcagcatcattgcctgaccattaaaagcaggagtggaaaaatgtggcagacc
+gaaccaggcagcatggctgacgagagtaaaatcgacggcttttcccagccctaaaacgtt
+ggtcatcacgccatacagcagacaggcgacaattaatcctacgagaatcaataaccgctg
+gatcatgccacgggtaaacaccgccaccagcccaatacacagcaccgtcattaccgccat
+ccagctatcaaaggccgaagccgatacacttttcactgcgataggcgctaagttcaggcc
+aatcgccatcaccaccgcacccgtcaccaccggcggcatcagtcgttcaatccagcgcgt
+accgattttcatcaccaccaggccaatgacggtataaaccagcccacaggcgataatccc
+gcccagcgcaatgctgatattcgggttaatgccctgaccgttaaagcccgtcgcggcgat
+caccacgccgacaaaagccgcgctggagccgagataactggggacgcgcccgccggtaat
+aaagaaaaacagtaacgtgccgatccccgacattaaaatggaaagattgggatccagccc
+catcagaatcggcattaacaccgtcgcgccaaacatcgccaccgcgtgttgaacgcccat
+tactgccgtctgagcaaacggcaatcgttcatccggcgcgaccacgccgctctctgtaga
+ggtcgattttaactgccagtgaggaaaaccgaacattgccatcagctgtctccttaagga
+ggttaacaagcagggcgcatcagcgcgtgataactgcgatcgaaccacaccagcccgtag
+ggtgtggtgtgacgatgaatcgcttcgatggcgcaaaacagaatgtcgtgggtgccgacg
+ctcaccacctggctgatacggcagtcaaacgaaaccagagcctcttccagttgcgggcat
+ccggtcacccccgtctgccagcgggcggcggcaaagcggtgttccatgggcgttttgccg
+ccaaaaaggtttgaaagcggctcctgcccggcgctaagtgtatttacacacagcgttcga
+ttttcattgaatgccggccagacggacgccccacgattcaggcacaccagtaatgtgggc
+ggcgtatcggtcacactgcagacggcgctggcggtgaacccggcgcgcccggctggaccg
+tccgtggtgataatattgaccgccgcgcccatgcaggacatcgcatcgcgaaaagtttgt
+tgatcgacaatgttcatagtttgctccttacaacagcccgcaggcttcttcaaaggacag
+acgtggcaggcgcgcataaagcttgctgctatcgccatagccgatattaatcagcagatt
+gctcttcagcgtgctgcccgtaaaaaaggcgtcgtccacgtgttgacggtcaaagcccga
+catcgggccggtatccagtcccagcgcccggcaggcgacgatcagataggccgcctgcat
+ggaactgttgcgaaacgctgtttcttcggcaagttgtgggctggaggtaaaccaactgcg
+ggcatcaccgtggggaaacagtagtggtaaccgttcataaaattcactgtcccaggcgac
+gatagcggtgacgggcgcggtcagggttttttgcagattgccgctggaaagtgccgggcg
+cagacgttcttttccttctgccgtgcgggtaaacacgatccgtgccggagaacagttagc
+tgatgtcggcccccatttcatcagggcataaatctcccgtaacgtctcatcgctgacggg
+tgtctcccgccagccgttgtgagtgcgggcatcggtgaacagggtgctaagcgcacctgg
+gctaacggcttcgttcatagcaattccttacagggcggcttcacggtgatgtaacaggct
+ggcaagcccgttgagtaacagagcattaaacgtttcgggatcggtcacgttgcaggcgtg
+tccgccatagggcatcaccattttctggctatcgggcagggcggcatgaagttcactgga
+acatgctgttggcaccagcagatcatcactggcgcagatgatttgcaccgggcagcggat
+gcgatccgcatggtgactaaagtcagcgcgtttgagggcgttaagtcgacgcagtaaatt
+atttttgccctgaaaatgcgccagtgccagcgcgtcttctgcctccaggcgaggtgcgcg
+ggccgccatccagtcggcgggatagaggaacaacggctgcgcttccacccatgcctgcgc
+gccgccgctatacagtaatcgttcgcgaacctgaaaacagcggcgcgtatgggcgtttat
+tcgtagccagccgttaacgctgatcagcacagttaccgacgcgggataatccagcgccag
+ctgcattcccaccagcgcaccgagcgcatggccgaccactgcgtaatgctcaatccctgc
+ggctaccagcgcctgatgcagttccgctgccatctgggcgatactgtaatcttctgccag
+cgtgtcgggattattgccggtgccgcgctggtcgtaacagactacctgatactcctgctc
+cagcaccgccagttgcggtaaccagtaactgccgctacccccaagacccgaaatcaacac
+cactacgggcgcatcagcataagggggaggtgagagtgaaagtttcatcgcggcctcact
+tggcgatatgcgcaattgtggcgatttccaccagcgcgtcaggttttaccagtccgcact
+gaatgcagaatcgcgccggtttatcacccggaaaaaactcggcgtagatttcgttaatcg
+cggcgtaatttttccagtcggtaataaagatgctgttgaaggtcacatccgccatcgtgc
+cacccgccgtctcgatcaccttgcggatagtttccagaacgtggcgggtttgcgcctttg
+ggtcatcggcaaacagcacgttattatgttgatcaaaagccagcgtaccggagacataca
+ccacgccatcagccagcgtgccgggaacgaagggggccagcggtgcgctgctgccagcgg
+gaataattacggattttggcatcgttaaactccttaagcgatatgagcaaaggacgtggg
+agaaagcgcgtcgcagaatgtttcgacgtcgctgacccagccaaaaaaggtttcgatatt
+gaacaacgcggctttctgcgcaaatttcggccccgcctggtgagttgcgtcttcaagcac
+cacgccgaaatactccagaaaaaagccgtcgcgtagcgtcgattcgacgcagacgttggt
+agcgatgccggtgaaaaccagatggcgtattccgcggctgcgcaaaatgctgtccagcgg
+cgtattgaagaaaccgctgtagcgcggcttcggcagcacaatatcgccaggctgcggcac
+cagttcatccaccagttgataatcccaggagcctttcgccagcaatttcccctgcagctg
+cggctgcttacgcatggttttcagggcgttcgatttatgaaaattcggtgagccgggtcc
+gccagcctcgacatactgttcatcccagccattttgaaaccagatgatcagcatccctgc
+cgctcgcgctgcggtcacggcggtttgaatgttggcaatgaccgggcgagtggttgagac
+atcaaacccggcgagatctaagtagccgcctggcgtggcataagcgttttgcatatccac
+cacgatcagcgcactttgctgcggatcgaaggtaatggcttccggtcgagcggttaaggt
+cgtcatcatgccacctcctgagtcagcgcaggtagatgggcgcggcattgcatcagtggt
+tgaatgcgctcgccgaaggtttcgattcccgacagaaaatcgtcgaaggttaacagcacg
+ccttcggcaccaggcacgcttgcgacttcatctaacatgcgcgcgacactggcgtaagaa
+ccgactaacgtccccatattgatgtttaccgccgaagtgggatcggccatctgacgaacg
+ttggtgtcagtaccggagcgggtatctttctgactttgttcggttagccagcttaacgcc
+tcttcatccgcgcccgctttgtagtgttcccatttggcgcgagcggcatcgtcggtttca
+tcggcaatcaccataaacaacacataagagccaacgtcgcgtccggtttgctctgcggcc
+tgtttcatccgcgcagcggtcggggcgaaagccgtgggtgtatttacgcctttgccgaaa
+cagaagttgaaatcggcataccgggcggagaacgccatgccagcgtcgctttgcccggcg
+cagatcactttcatggggacactcggttgcggactcacgcgacaatcattcatggtgaaa
+aaatcgcctttaaaatcgcttttccccgtgccccacaggtcgcgcagcacctgaacatat
+tcggtgagatagtcgtaacgacgggagaaatagtcatcgccaggccagatacccatctgc
+tcatactcgggcttttgccagccagtcacgaggttgacgccaaaacgcccgccagagatg
+gagtcgatggttgcggccatacgggcgacgattgccggaggtaacgttaaggtggcagca
+gtggcgtaaatctgaatgcgcgaggtcacggccgccagccccgccatcaaggtgaacgac
+tcaaggttgtgatcccagaactcagttttgccgccaaagccacgcagtttgatcatcgac
+agggcgaaatcgaaatggtagtgctccgctttttgcacaatggctttattcagttcaaag
+gtcggcatgtactgcggcgcgtgggtcgaaatgagccagccgttgttgccaataggtacg
+aatacgccaattttcatcatcaacctctcttcgtctcgtaaagtgaaagtcagacggggc
+gctgcatcctgcatatccttttcagccgcgtattggcttgtttgcaaagcggatgccagt
+ttttaaaaagttaatgttattaatctgttaacattacgttatctaaaatatctggtaaaa
+agtggactaaacggtcaaaacagttgcacataaaacatgcatctgtgcgcgatgagagtg
+cagaaggtcgaggccgggcgggggttttgctatcctgttgccaatctacaagaggggaga
+gcgcatgacgcaaggcgcagtgaaaacaacgggtaaacgttcgcgcgcagtaagcgcgaa
+gaaaaaagcgattcttagcgcagcactggacactttttcacaattcggttttcacggcac
+aaggctggagcagatcgcagagttggcgggtgtttcaaaaaccaatctgctgtattactt
+tccgtcaaaagaggcgctgtatattgccgtgctgcggcagattctcgatatctggctggc
+accgttaaaagcgtttcgtgaagatttcgccccgctggcggcgatcaaagagtacatccg
+tctgaagctggaagtctcacgcgattatccgcaggcttcgcgcctgttctgtatggagat
+gctggcaggcgcgccgctgttaatggatgaactgacgggcgatttgaaggcattaattga
+tgagaaatcggcgctgattgccggttgggtcaaaagcggcaaactcgcgccgattgatcc
+gcagcatttgatttttatgatttgggcttccactcaacattacgccgatttcgcccctca
+ggtggaggcggtgacaggcgcgacgttgcgcgatgaggtatttttcaatcaaacggttga
+aaacgtgcagcggattattattgaggggattcgaccacgttaaagatgccggaggaggtt
+gtaacatcctccggctacctgtttaacctatagtcattaagctggcgttaccgccagcgg
+cagcggtattcacactcagcgaacgctcgatatacagccgttccagaaggatattgcttt
+cgccacgggcaaaaccctgcaccgaaacaattgtgccatcccgcgcggcaactgcttcac
+acaatgcgcgaagctgatccgaatcaccgtggaagatcaccgcatcaaacggttgagcgg
+ttatattttccgctttcgccagttgaatacgttcgctgactgccgatggcaatgccttca
+ctaactgacgatgcagcgcgtcatccggccacagtacctggctgcccaccgccagcacgg
+cggcgagctgagtcagcgcatcctgctcatcatcggcaatacacaacacgcgctcacgcg
+gcagcagcgtccaggtgttgcgttcacccgtcggccccggcagcaatcgttgtgttcctg
+cctgcgccagctcgccatattgcgtacataacgcctgcaattctggacgatttgctgccc
+attcccgcagtgcatttagcggctgagtcaatgcggctttcaactgcgcatcgaccggat
+actttgcatcctgacgcgcgagcgtcactgccagcgcactttccgggcgattcgccagca
+gacggtagagatagagcggaccgcctgctttcggcccggtaccggacaacccttcgccgc
+cgaacggctgcacaccaaccactgcgcccaccatattacggttaacatacaggttaccaa
+catgggccgagccagtgacctgggcgatggtttcatcaatgcgcgtatggacgccaagcg
+tcagaccataaccggaagcgttaatctgctcgatcagctctggtagctggttacggttgt
+aacgcaccacatgcagcaccggaccaaagacctctttttgcaattcggcaaagtcatcca
+gttcgatcagcgtcggggcgacaaaggtgccgctttgccattcacgggcatcttcgctgt
+tttcccgcaccgcctggaacaccggacggcctttgctacgcatggtctgaatatggcgct
+caatattggctttcgcttcgctatcaatcactggaccgatatcggtggtcaggcgacccg
+gattacccatccggcattcggccattgcgccgcgcagcattttcaacgtgtggtcggcaa
+tctcatcttgcaggcacagcacgcgcagcgccgaacaacgctgacccgcactgtcgaacg
+ccgaggccagtacatccacgacgacctgttcggtcagtgctgaagaatcgacaatcatcg
+cgttcatgccgccggtttcagcgatgagcggaatagggcgaccctgagcgtccaggcggc
+tggcgatattgcgctgcagtaacgtagcgacttcggttgaaccggtaaacatcaccccgc
+gcacgcgatcatcacccgtcagttgcgcgcccacggtttcaccccgacctggcagcaatt
+gcaccacgcctggcggtacacccgcttccagcaaaatggcgatcccttgcgcggcaatca
+gcggcgtttgttctgccggttttgccagcacgctgttacctgccgccagtgcggcggcga
+tctgcccggtgaaaatagccagcgggaagttccacggactgatacacaccacaggcccta
+atggacggtgggtttcgttagcgaaatcatcccgcacctgtccggcgtagtagtggagaa
+aatcgaccgcttcgcgcacttcggcaatggcgttactgaaggtttttccggcctcacgca
+ccagaataccaatcagttgctgcatctggctttccatcagcacggcagcgcggtgcaaaa
+tcgctgcgcgttcagccggaggcgtggcaaaccagattggcgcgttattaaccgcacttt
+ccagcgcctgttctacttcacgcggcgtggcttcacgcacatagcccacaatatctttcg
+gttccgcagggttaataacgggcgacatctcacctgccgctaccggttgttccagcattg
+gcaaggcctgccatttttgcagtgcactattgagcagggcagaggagagcgaggccaggc
+ggtgttcgttagcgagatccagccctgccgagttgtcgcgcccgtgaccgtaaagatcgc
+gcggcaggggaattttcggatgcggtaatccagtttgcccttcctgttgcgccagttttt
+ctacagcagtgaccggatcggcgaccagttcatccagtggcaaagaggtgtcggcaatac
+ggttaacaaacgaggtgttagcaccgttttccagcaggcgacgcaccagatacgccaaca
+gcgtttcatgtgtgccaaccggagcataaatacgacacggacggttaagtttgccgtcgg
+caactttcccggtgacctgctcatacagtggctcgcccataccatgcaggcactggaact
+cgtactgacccgggtagtagttctgccccgccagttgataaatcgccgccagcgtatggg
+cgttgtgcgtcgcgaactgcgggtagattagattcggcaccgccagcagctttttcgcac
+aggcgagataagaaacgtcggtatacaccttgcgggtataaaccggataaccttcaaggc
+cgtccatctgcgcacgcttaatttcactatcccagtacgcgcctttcaccaggcgaatca
+tcagacggcgacggctgcgggtggcgagatcaatcaggtaatcgatcaccaacgggcagc
+gtttttgataagcctgaataacaaaaccgatgccgttccagcctgccagttccggctcga
+aacagagtttttccagcagatcgagggagatctccaggcgatcggactcttcggcgtcaa
+tgttgataccaatatcgtactgacgcgccagcagggtgagtgatttcagacgcgggtaaa
+gctcttccattacccggtcatactgggcgcggctataacgcggatgcagcgccgacagtt
+tgattgaaatgcccggcccttcatagatgccacgaccgttagacgctttaccgatggcgt
+gaatcgcctgctgataggaaaccatatacgcctgtgcatctgcggcggtcagcgcggctt
+cgcccagcatatcgtaagagtaacggaaacctttctcttccagcttgcgggcattggcta
+acgcttccgcgatggtttcgccagtgacgaactgctcacccatcaggcgcatcgccatat
+ccacacctttgcggatcagcggttcaccgcttttaccgataatgcggttcagcgagcggg
+agaggctggcttcgttatgggtggaaaccagtttgccagtaaacagcagcccccaggtgg
+cggcattaacaaacagtgacgggctacgaccaatgtgtgactgccagttaccgttgctga
+ttttgtcgcgaattaacgcgtcgcgggtggctttgtcgggaatacgcaacaacgcttccg
+ccagacacatcagcgccacgccttcctgcgatgacagcgaaaactcctgcaataacccct
+ggaccatacctgcgcgaccactggcatttttttgattacgcagtttatcggccagctgat
+acgccagtttgtgcgcctgttcagcaactggctgcggcaggcgggcttgttccagcagca
+tagaaaccgcttcggtttccgggcggcgataggccgcggtgatcgcggcgcgggaaaccg
+actggggcaatatttgctcggcaaagtcgaggaatggctggtgtggttcctctgccggag
+tcggtgcttcatcgctctcattggccgcgccagaaagcagcgcaggtagctccggcagag
+tatcgctgttttccagttgttcgagataagaaaaaatcgcctgcttaattaaccagtgtg
+gtgtgcgatcgatacgtgtcgcggcagacttaatacgctcacgcgtcgcgtcgtccagct
+taacccccatggtggtggttcccatgccattactcctgttgttcagaaaggtgcaactta
+acgttatcgtgaaatatccatgatgttgcaactttgtgcaaccatgttaaatgtgacatg
+cgtagcaagcttaaaaatgaatgaaatgttaataaaagaaatcgatatgacagggattaa
+aaaaataactcagactttttctctgcggcagttaacatttttgaaaggtgcaaccgcaaa
+aaatgtgagagagtgcaacctgatgaaaaatagtgtcgctgagcactaaaatttaatgta
+aatggtgtgttaaatcgattgtgaataaccagcgcttccggcaggatacggtcgccctgg
+taaaacataaactctgttaccccgttccggtggcagatataacggcaagtttcgacattg
+ccgataataattttttggagactttagatggctattagcacaccgatgttggtgacattt
+tgtgtctatatctttggcatgatattgattgggtttatcgcctggcgatcaacgaaaaac
+tttgacgactatattctgggcggtcgtagtcttgggccattcgtgacggcattatcggcg
+ggtgcgtcggatatgagcggctggctgttaatggggttgccgggcgctgtttttctttcc
+gggatttccgaaagctggatcgccattggcctgacattaggcgcgtggattaactggaag
+ctggtggccgggcggttgcgtgtgcataccgaatacaacaataacgccttaacactgccg
+gattatttcaccgggcgctttgaagataaaagccgcattttgcgcattatctctgcgctg
+gttattttgctgttcttcaccatttattgcgcttcgggcattgtggcaggcgcgcgtctg
+tttgaaagtacctttggcatgagctacgaaacggctctgtgggcgggcgctgcggcgacg
+atcctttacacctttattggcggtttcctcgcggtgagctggactgacactgtacaggcc
+agcctgatgatttttgccctgatcctgacgccggttatcgtcattatcagtgtcggtggc
+tttggtgactcgctggaagtgatcaaacaaaagagcatcgaaaacgttgatatgctcaaa
+ggtctgaactttgttgccattatctcactgatgggttgggggctgggttacttcgggcag
+ccgcacattctggcgcgttttatggcggcggattctcaccacagcattgtccatgcgcgt
+cgtattagtatgacctggatgatcctctgcctggcaggggcggtggctgtcggcttcttt
+gggattgcttactttaacgatcatccggcgttggctggtgcggtaaatcagaacgccgag
+cgtgtgtttatcgaactggcgcaaattctgtttaacccgtggattgccgggattctgctg
+tcggcaattctggcggcggtaatgtcaaccttaagttgccagctgctggtgtgctccagt
+gcgattaccgaagatttgtacaaagcgtttctgcgtaaacatgccagccagaaagagctg
+gtgtgggtagggcgtgtgatggtgctggtggtggcgctggtggcgattgcgctggcggca
+aacccggaaaaccgcgtgctgggcttagtgagctacgcgtgggcaggctttggcgcggcg
+tttggtccagtggtgctgttctcggtgatgtggtcacgcatgacgcgtaacggtgcgctg
+gcggggatgatcatcggtgcgctgacggttatcgtctggaaacagttcggctggctggga
+ctgtacgaaattattccgggctttatcttcggcagtattgggattgtagtgtttagtttg
+ctgggtaaagcgccgtcagcggcgatgcaaaaacgctttgccgaggccgatgcgcactat
+cattcggctccgccgtcacggttgcaggaaagctaagggacttagcctgcggcggttttg
+tttggcttcagcagcgggttgcgctcccttaatgtgcctcgccatataaattgaatggtg
+cagggagcgcgcagggggcggccaatcgccgccgccccctgctgtcccggccttcgggga
+acgcttcagcgattttgacgccaccaacacccgagctgttattatgttccgggcaaaaag
+ttagatttgataatcgcggatggacgaaattgcttgatacacccgcttatcagttttaca
+tggaagctctgatgcattgagtctggacagttttgtcggctggatacggcgtttacgcgg
+catccggcaagaacacatggttctttgcaaacaatcccatctttctaccctggaataatc
+gtttatatcccttggcattacctctctttgtttacattccaacatcattttataaacatt
+ccgcttgtgtttttctttgccgtaatgataatcgctatcactgcgatttacttttctttg
+catagattgactcagaaaaacgtttaagggtgggtggcatgtttgttccgtttctcatta
+tgttgcgcgaaggacttgaagccgcgctgattgtcagtttgattgccagctatcttaagc
+gtacccagcgaggccgatggattgtgtgatgtggattggcgtgttgcttgccgctgcgtt
+gtgcctgggcttgggtatcttcattaacgaaaccaccggcgaatttccgcaaaaagaaca
+ggaactgtttgaaggtatcgtggcggtgatcgccgtggtgatccttacctggatggtttt
+ctggatgcgcaaagtgtcgcgcaacgtcaaagtgcaactggaacaggcagtcgatagcgc
+attgcagcgtggaaatcatcatggctgggcgctggtgatgatggtcttttttgccgttgc
+aagggaagggctggagtcggtctttttcctgctggcggcatttcaacaagatgtcgggat
+ctggccgccgctgggtgcaatgctcggtcttgctactgccgtggtgctaggcttcctgct
+ctactggggcggtattcgcctcaatcttggtgcattttttaaatggaccagcctgtttat
+tctcttcgtcgccgcagggctggcagctggtgccattcgcgcatttcatgaagccggatt
+gtggaaccactttcaggaaatcgccttcgatatgagtgcggtgctctcaactcactcgct
+gtttggcacgctgatggaagggatttttggctatcaggaagcgccgagcgtcagcgaagt
+cgccgtctggtttatttatctcatcccggcgctggtggcatttgctctgccaccacgcgc
+aggggcgacagcgtctcgctccgcgtaacaaatacgacgcaaactcttgcttagttacaa
+catactttaaagggatagtctcgtcatgaccattaacttccgccgtaacgcattgcagtt
+gagcgtggctgcgctgttttcttctgcttttatggctaacgccgctgatgtgccgcaggt
+caaagtgaccgtgacggataagcagtgcgaaccgatgaccattacggttaacgccgggaa
+aacacagttcattattcagaaccacagccagaaggcgctggagtgggagatcctcaaagg
+cgtgatggtggtggaagagcgggaaaatatcgcccctggctttagccagaaaatgacggc
+gaatttacagcctggcgaatacgatatgacctgcggtctgctgactaacccgaaagggaa
+gttgatcgtcaaaggtgaggcaacggcggatgcggcgcaaagtgatgcgctgttaagtct
+tggtggtgcaattactgcatataaagcgtatgtcatggcggaaaccacgcagctggtgac
+cgacaccaaagcctttaccgacgcgattaaagcaggcgatatcgaaaaagcgaaagcact
+gtatgcaccgacgcgccagcactatgagcgtattgaaccgattgctgaactgttctccga
+tctggatggcagcattgacgcccgtgaagatgattacgagcaaaaagccgccgacccaaa
+attcactggtttccaccgtctggaaaaagcattgtttggcgacaacaccaccaaagggat
+ggatcagtacgctgagcagctttataccgatgtggtcgatttgcaaaaacgcatcagtga
+actggctttcccaccttcaaaagtggtcggcggcgcagccggactgattgaggaagtggc
+agccagcaaaattagcggtgaagaagatcgctacagccacaccgatctgtgggatttcca
+ggctaacgttgaaggctcgcagaaaattgtcgatttgctgcgtccacaactgcaaaaagc
+caacccggaactgctggcaaaagtcgatgccaactttaaaaaggtcgataccattctggc
+gaaataccgtactaaagacggttttgaaacctacgacaaattgaccgatgccgaccggaa
+tgcactgaaaggaccgattactgcgctggcggaagatctggcgcaacttcgcggtgtgct
+gggactggattaagcgttatgcagtataaagatgaaaacggcgtgaatgaaccgtcacgc
+cgacgtttactgaaagtgataggtgcactggcgctggcgggaagttgtccggtcgctcat
+gcacaaaaaacgcaaagtgcgccgggtacgctttcaccggatgctcgcaatgagaaacag
+ccgttttatggtgagcatcaggcagggatcctgacgccacaacaggccgcaatgatgctg
+gtggcgtttgatgtgcttgccagcgataaagccgatcttgagcggttgtttcgcttgttg
+actcagcgttttgcttttctgactcagggcggagcagcaccagaaacgccaaatccgcgc
+ctgccaccactcgattccggcattcttggcggctacattgcgcccgataatctcaccatc
+acgttatcggtgggtcactcattgtttgatgagcgctttggccttgcgccacagatgcca
+aaaaagctgcagaagatgacgcgtttccccaacgactcgctggatgcggcgttatgtcat
+ggtgatgtgttgctacagatttgcgccaacacccaggacacggttatccatgcgctgcgc
+gatatcatcaaacacacgccggatttgctcagtgtgcgctggaagcgggaagggtttatt
+tccgatcacgcggcgcgtagtaaaggcaaagagacgccgattaatttgctgggtttcaaa
+gacggcactgccaatcccgatagccagaatgataagttgatgcaaaaagtggtgtgggta
+acggcagatcagcaggagcctgcgtggacaatcggtggcagctatcaggcagtacgcttg
+attcagtttcgagtggaattttgggacagaacgccgctgaaagaacagcagacgattttt
+ggccgtgataagcaaaccggtgcgccgctgggaatgcagcatgagcatgatgtgcctgat
+tacgccagcgacccggaagggaaggtgatcgcgctggacagccatatccggctggcgaat
+ccccgcacggcggagagtgagtccagcctgatgctgcgtcgtggctacagttattcactg
+ggcgtcaccaactccgggcaactggatatggggttgctgtttgtctgctaccaacacgat
+ctggaaaaaggcttcctgacagtacaaaaaaggctcaatggcgaagcgctggaggaatac
+gttaaacctatcggcggcggttatttttttgcgctgccgggggtgaaggacgcgaacgat
+tatttcggaagcgcgttattgcgggtttaatgtttttaggcggataaggcatttgtgcgc
+agatgcctgatgcgacgcttgcgcgtcttatcatgcctacaatcagtgcgggtttggtag
+gctggataaggcgttcacgccgcatccggcgatcgtgcactgatgcctgatgcaaatcct
+gctgaaagcacacagcttttttcatcactgtcatcactctgtcatctttccagtagaaac
+taatgtcactgaaatggtgttttatagttaaatataagtaaatatattgttgcaataaat
+gcgagatctgttgtacttattaagtagcagcggaagttcccggcagtgatagtcagtcac
+tatggagatcgcggatggtaacgtcctgtactggacatgttttagataatcaacgcgcca
+ccactcgcggagttttctcctccggtagtcatctcgtcactttgcattttcaacctcatc
+ctttcttttcatgtgttaccgacgccgtaaacggtgcgcgtagccgtttttcggcatttt
+atccaaaagcaaactatggcttacaaggaagccaaccctctgatgttcgtgcgcataatc
+gcgctgccaacggcgcgtgtgatgaatacaaacaactcaaggtgctctccatgggaagac
+aaaaagcagtgatcaaagctcgtcgcgaggcaaaacgtgtgctgagacgggattcgcgca
+gccataagcagcgtgaagaagaatcggtcacctcgcttgtgcagatgggcggcgtagaag
+ccattggtatggcccgcgacagtcgcgatacttcgcccatcctcgcgcgaaatgaagcgc
+aattgcactatctgaaggctattgagagtaagcagctgatattcgccacgggcgaagccg
+ggtgcggaaaaacctggatcagcgcagcaaaagcggcagaggccctgatacataaggatg
+tcgacaggattatcgtcacccgtccagttctgcaagccgatgaagatcttggcttcttac
+ctggagatatcgcagaaaagtttgctccctattttcgcccggtctacgacgtgctggtcc
+ggcgcttaggggcttcctttatgcagtactgcctgcgaccggaaatagggaaggtggaaa
+ttgcgccgttcgcctatatgcgtggacgtacctttgaaaatgcagtcgtcattcttgacg
+aggcgcagaatgtgactgccgcgcaaatgaaaatgtttttaacccgcctcggggagaacg
+tgacggttatcgtcaacggtgatatcacgcaatgcgatttgcctcgcggcgtgtgctccg
+gattaagtgacgcgctggaacgtttcgaagaagatgaaatggttgggatcgtccggttcg
+gtaaagaggactgcgtacgttcggcactttgccaacgtacgctgcatgcctacagttaag
+tgtgttatcggtgcagagcccgggcgaaccgggctttgttttgggtgtttatgcccggac
+tagcgctttttctgaaacaaccatttttatttgcccctggctggtgaagtgtacgctcat
+cctgtggcttttttgtagttgctgatagagctcatcaggtattgctaagctctctgcata
+ttcttgcggcgtatattggtaggctgcatgatgctgctgtttttgaaaacgcagcttatt
+gtacagcgcccagacaattaacacgacggcattcgccactgccagcaaaaaatagaactg
+aagtcggcttctggcctcgctttgccagtaataacccgtcagcagatccatggcgaataa
+gaatatgaacaacgcaaataatgtccacaagatggttgtggcaacataatcaaccagtaa
+acgtactggtgattgtcgggtcgtaataattaaattgttcatattaacctctcagaatcc
+cgcgatcgggacttacccaacgggcgcgttgctttttaggcatcaacatgactcgtgtaa
+atgataccaatgtcgttgccaggctcagcatccagaaaataaccgggaaccaaataatcc
+agaaaagcgatgaagtcagattatgctcatagcgattctcgatcatcaggctgacaataa
+attgcagtaaacataacgtacacaataatattccggcagtatgtgtcgcagcgatatgtg
+tcaattcaatatttaacggtacaccggcaagttggactgcgtaaataatgaaaccgacca
+ggcaggtgaaggcccatattgtcgtcaggcagtattcaaaaaacagcggccacattcgaa
+agttttctttgcgccacaaccttgtcatatttttgaggaatacttctgcaccgccctgag
+cccagcgcaggcgctgtttccacagcccttttaacgtttcaggcattaatatccagcaca
+gtgcccgtggctcgtaaaaaatcgtccactgattcaactgcagcttccagctaatatcaa
+tatcttcggtgatcatatcgtcactccagtaacccacttctgccagggcgctgcgacgaa
+atgcggcaataacaccggaaacggtaaatacgtttccatagatacgctgggttcgcttga
+tcaaaccaataattgaggaatactcgccaacctgaattttacccaccagggtagaacgtg
+ttcgaatacgaggattaccggttacggcacccacacgcgggttgtacaacatcggttcca
+caatatatgccgccgcatcgcggtctaataacgcatcgccatcaatgcacaccagatatt
+cacttttcgccgcggcagctccggttttaagcgcaatggctttcccctggttttgcgcca
+gatgaatgacccgcaaatggggaatttgtgcagccatgcgatccaggatggcacgggttt
+tatctgttgaaccgtcatttacggcaataacttcaatgttctcataacgctgtgctaaag
+cggcgtgtatggtttcctcaacgtttttctcctcattaaaacagggaatgataatggaga
+tagacggattatctttcaactggggagctggtgcgttttctccccacggccagtggcgtt
+cacgatagacccagaaatagacgccgccaacaatccacataatggacataaaaaacggcc
+agaagaaaacgaacctcatcatcagttcaccagagtgaaagtacgctacgcataggggta
+tgcataacaccagacataatataaaaaacgatacgatgcgattaatcatttttcggatac
+caggctgttgaaaactcaggacgaataaggtctatttcaggttggttatgcagaaaattg
+tcgggataataaccatagtttttcactccattcagttgtaataggctcatccagtgagcg
+agttgttgcgaagaaatagcctgatgctgaccatttttctgccagttttgtgcctgtaat
+tctaaaatagatttgtctttagcctgagggatgtttttaatttgattggtcaattgtatt
+aaccattggtcagccgatttttctgcgacaccttccagataaggcatagccataatagcg
+gtccagtcatagctttttaggaaatcagcataattctgtgcaaaccaggcttcactttca
+ggttgtattaccggaagtgcaaaaatatttcgtgcagttttaatatgtggaccgcgaatg
+gcttttacgcgcgcactaagttctaaagtgaagtcagttaacgcacgacttttaaagcgg
+gcccactgtttaaattgctccgggttttgtcgaatttcgctcagactcccgctaaagcct
+gcttgctgataagccgtgatagccggtgcactggcatcttcataatctgaaagcaaagca
+tcatcgtggaacaatatgccatcaaaagcagcatgtccggcaagatcttcatataacatg
+ccaacttgtgctctgactctgtcatcgaaaggagagagacggtgatattgttcaggatga
+atttgtgcttttttctcccctgttggtaagtattttactcgcgttaatgtgggatctaaa
+tcccagcttaataccggcatccacgcatagatgtttacacctgagcgggtacgtaattgc
+caggcaacccgactaaaaatatctgctttcattggtagcaaacgatttggaaaccagacc
+tctttgaccagcccatcaccatcgggatcagcaaatgcctgcaaatacacggttgatatt
+tgcatatctttcacccgctgaattagcacatcaatattgcgatccatttgctggaggttt
+tcgtcataaacgtaatcaagatcgatatgcattatccgttgtggtgatttttcctgtacg
+gtaataatttgctgggcaaactcttttaatgagggattattggcgattaatacccgcgga
+atggaatccaattgcgacgcatttgccaaacctgattcaagggtgaagaacatgtcataa
+ccgagtttttttaattcctctatcgctatgccattcgcttcgccataaggccaaacaaaa
+acgtgtggatttacctcaacctttgtacgcaggtattccgtcatttttacagcatccaga
+cgaattctttcccggtattctgctgcggtttcataccgtgcgtggtcagtaaaatatgca
+cgatttacatatacaggcaataagctgccggtggcattagcctgaataccgtagtgagaa
+ttccatgtatgagaagcgagctcaacgagccgggaacgcgcaacttctcgcacttgttgc
+cacgtggcaaaatattctcgatcgaccaactcatcgccaaattttacttgtttatccgct
+ggcgtatcgacccaactgccgacgggggcccatacagcaggccactggaaggcctgaaga
+attgggaagacgcgggtataaaaactctggtagccgtcatcaaaagtcagcactacagct
+ttttccggtagcggttttcctcctcgatgtgcttcacgaatttgagcaatactgaccggt
+tgataaccgttctcgcgcagccaggcaaattgttcacgcagtgctgatgtccgcactgac
+ataaaacgctggtcggcagcttcgtcttcaacgttatgccatgaaatcgctacaaaacca
+ttatgcggccacggttgctcggcgagtaaagattcgcgatcctgtggcggtataaatgat
+gttcttgactggctaatgcacgcggtgagcataattatactcaccagcatcaggagatat
+ttatttccattacgtaacatatttatccttaaaatctgaatgtcatatcgaattcaacgt
+ataagttgtgttctctgtcaccgtcataaggtcgtttttcccagcgtagcgttgcgccag
+catcaatcacgtcattccaactaatgcgttgcccgtagccgagttgggtgacgacatccg
+tgccataatgtttttgccaggaggcaccaacacctgcgctgaatatttgctcccagctat
+tttcatagcttcgccataacaaatggcttgcctcaaatgccggaacaatatcgaacgttt
+ttatagggttgtagtatggggtatcgtgttctgtattttgttcgtaatacagactgggta
+ggaaatcgacaatcaaatatggtgaagaccagatgcgttcctgaccctcaagtgagactt
+catgacgctggttactgtcggaaaaatcagtgaaagcccaggagacaccgtacttacgcc
+gctcattttgataccagcgaacataagcctgagcactgttgcctgtaacaccatttttca
+ttgcccgtaatggaacgcggtgagagaggcgttccagttgcgaaccaatacgccagttat
+cattaaaatcataccagccagacaggcgcgcgccgggtttatgctcatgattgaaaacgc
+gttcagcgtactctgcctcgagccagatattacgtgaccgccactcaacacccgcaagcc
+agtcgcgaacaatcccttttccttcgctaaattgtccatcggcataaccgaatccagcaa
+aaccgcgccagttatccttcagcggtggtgaataaacgatggtggttaagtcgacatcat
+gtttaccactatccgggccttcggcatcaattcctgttgagccagcgatacgaagctctg
+caagattatgtacatcaaccgcacgttttaatcgtacaacgccgggatcttgcggttcac
+gttcgacaacatcgtgcgttaagacagctgcctgctgccattcttgtaacgttaatgctg
+tccaggcttgttcaacctccagattaatattacgtggctcgatcacttctgcttttttta
+attcattttctgctgcacgaggccaaccgcgggcttgtaacacactcgcgtaatcaatgc
+gcagtccctgatttcctggtgcgttataagcaagctctctggctgtcatttcagcctgag
+gaagatcattactatattttgctacggttgagagaaacgaatgcccctgtaaccaggtat
+cattcgggatgctcgtaggcgtgcccattaaccgaaggaaaggcggcgaagtattaatgg
+tatgttgggtgacagttagcgcgcccggataattttcactctccaggtggctgtaaaaga
+gatccgcaagttcttcatcggataaatccggggcaatggtctccttgtgataaaagagct
+cggtcattattgactgtgcttttttcggctgatgatctttgagataagccgatgcaaccc
+aatattgcccccagggcggaataatttgccccgtcttttttaatcgctgatagtgagaaa
+taacgtctttataacgatcgcgagttaataacgcgccaagatgatcaacctgaatacgct
+ggtactgggcagtgcggtctgggttatcgtgccacagaatttctaatgcagcgtattggg
+cgagggcgcgatcggcaatggcataacgttcactttcactgcgcgtaggcataaacgaca
+gtctgaccagttcggcatgaatatcagcgcgaatatctggcgttaaattggcatcgtcaa
+tcgcggcagcaagttgattattacgtaatgcctgcacgtattctgtgggatattgttgcg
+tagatgcattttcaggtaatgactctgtcatcgcccgtaattcatcctgatgacgccccg
+ccagtttatagatataggcttctgcgagtaaattggctttgtccggtgctccagagttaa
+gctgcttaagtttaaccagcgcagtatcatagtgaccagcatctgccagggttaaaattt
+gtccccgttgataatccttattttgcggctccagagagagcgccttttgccacagtgtaa
+gcgagttttgccattgttgcaggttacgataagcgacggcgacagctgcataaccacgcg
+ctggtaattgctgatgacggtagcggttgtaaacggtaataacctgtttatcttgcccgg
+cccataaggcaatctgtaaccagtcagcaatttggttattgctgagtgctgattttagtg
+caaaccatgacaaagctggctgagtattacccttgcgagcttcaataatcaatgcatcat
+aggcgttattaacagcactcttcgccgcgggactcgctgctaaaaatgcggcagtaagaa
+gtttcaaagcccatttggttttcgggcacctttttctgctacttgaatacatcctgtatt
+actccatgtattgccaaaatctctctctgtatctaattacaggtaactgaaaagaaagat
+atttttgcacctcataatccgttattaaacgcggaagagagacgtgaattgttgatgatg
+agaagaagaaatgatgagcagagtgtccatataaaatccttttctcgcccgaaaatccat
+tccaatgatgaggatcttcaggaatacggcataaatcccaatgcctttttcaaaataaat
+taggattaaaataattaaatcagtaaattccgatgcatgatttcggatttttcgaaagtc
+ctgatgaaaggctgcgctacggcactcacggatttaattgttattcctaatgtatctatg
+aattaatgttttataaggattttctataaccatttataagtattttcaagcctggcttgt
+tgcaaacaatgtataaagcacttaggcaataataattacattcagcaactatcatcatcg
+gtattgtttgtgggcggaatttcatattgacaacagtacagttcttatatctattaataa
+tagaaagggatctacaacctacagattggtgtagctttatggaaaaagactatttgagaa
+ttagtagtactgtattagtgagcttattgtttgggcttgctttggttttggtgaatagtt
+ggtttaatcagccaggcgttgaggaagttgttccacgatcaacctatctgatggtaatga
+ttgctttattttttatcgatactgttgcatttatttttatgcagttgtatttcatttatg
+accgtaggcaattttcaaactgtgtacttagtttggcttttctgagttgtttgatttact
+ttgttataaccgtcattatcattcagcaaattattgaggagcgtttgacaagcagtgttg
+tccaaaatgacattgcaatctattatttgtttcgtcagatgagtttgtgcatattaatat
+ttctggcattggtgaataaagttagtgaaaacacaaaacagcgcaatttattttccaaaa
+aaatgactttgtgcataagtttgttttttgtttttggggggccgatagttgctcacatac
+tttctagtcattatgagagctacaatttacacattgccgagttaaccaatgaaaatggtc
+aggtggtttggaaagcctcatatgttaccataatgattttcatgtggttaaccttgcttt
+cggttaatctatactttaatggtttacgctatgatatctggaatggagtgacggtgattg
+ctttttgtgccgtactgtacaatatctctctgttatttatgagcaggtatagcgtgtcca
+cttggtatattagtcgcactattgaagtagtcagtaagttaaccgttatggtaatattta
+tgtgccatatattcagtgcgctacgagtaacaaagaacattgcacatcgcgatcccttaa
+ccaatatatttaacagaaattatttttttaatgaactgacagttcaatcagcatcagccc
+aaaaaacgccttattgcgtcatgattatggatatcgaccacttcaaaaaagtcaacgaca
+cctgggggcatccggttggcgatcaggtgataaaaacagtggtgaatatcattgggaaaa
+gcatacgaccagatgaccttttagcgcgcgtcggcggcgaagagtttggcgtcttgctga
+cggacatcgatactgaacgtgcgaaagctttagcggaaaggattcgggaaaatgttgagc
+gtttaactggcgataatcctgaatacgctataccacaaaaagtgacgattagtattggcg
+ctgttgtgactcaggaaaatgcgttaaacccaaatgagatctatcgactggctgataacg
+cactttacgaggcgaaagagaccgggcgtaataaggtggttgtgagggatgtggtgaatt
+tttgtgagtcaccataaagcggcattttgatcctacccacgtaatatggacacaggccta
+agcgaggttcttgttttcaaattgttccggactgaggccgccacaccaactgtgccgccg
+ccaccgattgtaatcacattcgatataattaaacaccgttgcccgcattatttcccggct
+gataaagtgttctccatggatacattccactttcagcgaatgaaagaagctttccacgca
+ggcattatcgtagcagcaaccttttgcgctcatacttccacgcagattatgccgcttcag
+ttgcgcctgataatctgctgaacagtactggcctccacggtccgtgtgaacgataacgtt
+ccggggcctcttacgccgccacagcgccatctgcagggcatcgcaggccagttgcgccgt
+catgcgtggcgacattgaccagccaataacggcacgtgaccacaggtcaatgaccactgc
+cagatacagccagccttcatctgtacgtaagtacgtgatgtctcctgcccacttctggtt
+cgggccactggcgtaaaaatcctgctccaacagattttctgacacaggcaggccgtgtgc
+gcggtagctgaccgggctgaacttccgggaggcctttgccctcagtccctgacggcgcag
+gcttgccgccacggtttttacgttaaaggggtaaccctgagcacgcagttcatccgtcag
+gcgtggggcaccgtaacgctgttttgaccgggtaaaagccgcgaggacaacgctgtcgca
+gtgttggcggaactgctgacgcgtgcttatccttgtccgccgctgacaccacgtatacca
+gccgctgcgggccacccggagcacgcggcacattgctttgatgctgaactcagcctgatg
+tttttcaataaagacatacttcatttcaggcgcttcgcgaagtatgtcgcggccttttgg
+aggatagccagctcttcatcccgttctgccagctggcgtttgagacgtgcaatctcggta
+gacatctccagttcacgttcagaagacgtctgctgattttgctgtttactgcgccagttg
+tagagttgtgattcatacaggctgagttcacgggctgcggcagtaacaccgatgcgttca
+gcaagcttcagggcttcactgcgaaattcaggcgaatgctgtttacggggttttttactg
+gttgatactgtttttgtcatgtgagtcacctctgactgagagtttactcacttagccgcg
+tgtccactattgctgggtaagatcagtgcctggcacacgcgtttgatggaagacggcgtt
+caggcaatgcgcgattatcttgccggactggatatcgcttcgccagagcatcaggttctg
+atgaacgtaacagcaaaaagcgaggtcgctccgtcaattatcaaagaaaatctctcatta
+cacttaactcatacggtgaaatggactgaatctctcgatacatttctgaatatgccaacc
+ccggtagctttccttgaaataagtaataagccctatttggggaatatgttaaatgatttt
+gctggcgtggatcagcaacgagttatgcattgtcgtaaagcatttagtgatgcaaaggta
+ttcaaatgattcctgattatttaacttttattcgctttcaggataaacgaaatctgatat
+acatttatgctattggacttattctgataggcttttattggaagaatgcagggtttactt
+ttccatcagaggatattggtgtagttagtgggattctggctctggtgctgtataatttta
+tttttgatctcaaggcgtactgggcttataaatgcgtcacgaagaatatcgatttttcgt
+ggtttaagaaaaagcagaaccacaaaatagaattatttcttacacaacctctggtggcag
+gatttctgtcgttaatcatgttgagtgcaatgagttgggggctataccagcttctaccct
+cgttatatgcgctgttcctgatttcgttacttgggccgttggtcatctttctgctgtttc
+ggatgatccgcaccagttatgtcaagcaggtcgctatttcagtagcgaaaaaagtaaaat
+ataaaagtctgactcgctatgtgctgctttcggtgtgcatctcaacggttgttaacctgc
+ttactatcagcccgttgcgtaacagtgattcttttgtgacagaggggcagtggttaacgt
+ttaaatcgataattgcattgctcattctttgtggcgtagtgttggcgattaatctgtttt
+ttctgcgcttctccaagcggtacgcttttctgggcaggctttttttgcaggaaatcgatc
+tgtttttctccagtgaaaatgcgttgtcgaccttttttgccaagccgctttggcttcggt
+tattcatattgctggttattgaagtgatgtggattacgctggtgtcggtattggcaacgc
+ttgtagaatggcggatttggtttgaagcctattttttactctgctatgtaccgtgcttaa
+tttactattttttctattgtcgattcctctggcataacgattttatgatggcatgtgaca
+tgtatttccgttgggggcattttaataagtgaggaagtgataggaagtgaccagataata
+catatatgttctgtactctcttgcgcattttgattgttgactgagtaaccagacagttga
+tgtgcacgatttcccctcgccctaacagacgtgggcgggggcacccggtgtgtgcaatat
+acgaaaaaaaagcccgtactttcgtacgagctcttctttaaatatggcggtgaggggggg
+attgactcgcttcgctcgccctgcgggcagcccgctcactgcgttcacggtctgtccaac
+tggctgtcgccagttgtcgacccccggtcggggcttctcatccccccggtgtgtgcaata
+cacgaaaaaaaagcccgtactttcgtacgagctcttctttaaatatggcggtgagggggg
+gattgactcgcttcgctcgccctgcgggcagcccgctcactgcgttcacggtctgtccaa
+ctggctgtcgccagttgtcgaaccccggtcggggcttctcatccccccggtgtgtgcaat
+atacgaaaaaaaagcccgtactttcgtacgagctcttctttaaatatggcggtgaggggg
+ggattgactcgcttcgctcgccctgcgggcagcccgctcactgcgttcacggtctgtcca
+actggctgtcgccagttgtcgaaccccggtcggggcttctcatccccccggtgtgtgcaa
+tatacgaaaaaaaagcccgtactttcgtacgagctcttctttaaatatggcggtgagggg
+gggattcgaacccccgatacgttgccgtatacacactttccaggcgtgctccttcagcca
+ctcggacacctcaccaaattgtcgttcctgtcttgctggaacgggcgctaatttagggaa
+atcatgacctgaggtcaacaaactttttgaaaaaatcgcgcgtttattcaaacttcaatc
+aatgtgtggttttaataagcgaaatctgctttttttgccaccgaccacggatttgttatg
+ctggtggcctttgtagatcataacgataagtgcgaataaatttcgcacaacgcttttcgg
+gagtcagtatggatatcatcttttatcacccaacgttcgatacccaatggtggattgagg
+cactgcgcaaagctattcctcaggcaagagtcagagcatggaaaagcggagataatgact
+ctgctgattatgctttagtctggcatcctcctgttgaaatgctggcagggcgcgatctta
+aagcggtgttcgcactcggggccggtgttgattctattttgagcaagctacaggcacacc
+ctgaaatgctgaacccttctgttccactttttcgcctggaagataccggtatgggcgagc
+aaatgcaggaatatgctgtcagtcaggtgctgcattggtttcgacgttttgacgattatc
+gcatccagcaaaatagttcgcattggcaaccgctgcctgaatatcatcgggaagatttta
+ccatcggcattttgggcgcaggcgtactgggcagtaaagttgctcagagtctgcaaacct
+ggcgctttccgctgcgttgctggagtcgaacccgtaaatcgtggcctggcgtgcaaagct
+ttgccggacgggaagaactgtctgcatttctgagccaatgtcgggtattgattaatttgt
+taccgaatacccctgaaaccgtcggcattattaatcaacaattactcgaaaaattaccgg
+atggcgcgtatctcctcaacctggcgcgtggtgttcatgttgtggaagatgacctgctcg
+cggcgctggatagcggcaaagttaaaggcgcaatgttggatgtttttaatcgtgaaccct
+taccgcctgaaagtccgctctggcaacatccacgcgtgacgataacaccacatgtcgccg
+cgattacccgtcccgctgaagctgtggagtacatttctcgcaccattgcccagctcgaaa
+aaggggagagggtctgcgggcaagtcgaccgcgcacgcggctactaataaagcatcagga
+ttcctgctatccttggcgggaattgaatacaggagagagttatgtatcccgtcgaccttc
+atatgcataccgttgccagcacacatgcatatagcacattaagtgattacattgcccagg
+ccaaacaaaagggcattaaactttttgcgatcaccgatcatggcccggatatggaagatg
+cgccgcatcactggcacttcattaacatgcgtatctggccgcgagtggttgatggggtag
+ggatcctgcgcggcatcgaagctaacattaaaaatgttgatggtgaaattgactgcagcg
+gtaaaatgtttgactcgctggatctaattattgccggttttcatgagccggtttttgcgc
+cacatgacaaagcgaccaatacacaagcgatgatcgccactatcgccagcggcaatgtgc
+atataataagccatcccggaaatcccaaatatgaaatagatgtgaaagccgttgctgaag
+cagccgcgaaacatcaggtggcgctggaaatcaataattcctcatttttacactcacgta
+agggcagtgaagacaactgtcgtgaggtagccgcagcggtacgtgatgctggaggttggg
+tggcattaggctcggattctcacaccgcgtttaccatgggggaatttgaagagtgtctta
+aaatcctcgacgcggtagattttccgccagagcgcattttgaatgtttctccgcgccgct
+tactgaacttccttgaatctcgcggtatggcaccgattgcggaatttgcagacctttaat
+tactagtaatggaaatatattaatgaacgagttttctatcctctgtcgtgtgctgggttc
+gctctattaccgccaaccacaagatcctttactggtgccgctgtttaccctgattcgtga
+ggggaaactggctgcgaactggccactggagcaggatgagttgctgacacgtttgcagaa
+aagctgtgatatgacgcaagtctctgccgattacaatgcgttgtttatcggcgatgaatg
+tgctgtgccgccatatcgtagcgcatgggttgagggcgcgacggaagcggaagtgcgcgc
+ttttctttctgagcgagggatgccattagcggatacgccagccgatcacatcggcacatt
+gctgctcgcagcttcctggctggaagatcagtcaacggaagatgagagcgaagcactgga
+aacactgttcagtgagtatctgttaccctggtgtggtgcgttccttggcaaagtggaggc
+ccatgcaaccacgcctttctggcgcaccatggcaccgctaacccgcgatgccattagtgc
+aatgtgggacgagctggaagaagattctgaagaataagtgtgatctacgtcactcataac
+tgcaacggataatttgttgttgcataaaatgtgtgctcgatctcattcatggccgcgttt
+tctgctatcatgcgcggcatgaacatacttctctctattgcaatcacaacaggcattctc
+tccggtatctggggatgggtggctgtttccctgggcttactaagctgggcgggcttcctg
+ggctgtacggcctactttgcctgcccgcaaggtgggctgaaagggctggcgatctccgct
+gcaaccctgcttagtggcgtggtgtgggcgatggtcattatttacggtagtgcactggca
+ccacatctggaaattctcggttatgtcataaccggtattgtcgcgtttctgatgtgtatt
+caggccaaacagctgctgctttcatttgttccggggacgtttataggcgcatgcgcgacg
+tttgccgggcagggtgactggaaactggtgttaccttcgctggcgcttgggctgatattt
+ggttacgcaatgaaaaacagtggcctgtggctggcggcgcgtagtgcaaagacggcgcac
+cgtgagcaggaaatcaaaaataaagcgtgaggggcactcacgctttcgcttaaacagtaa
+aatgccggatgataattccggcttttttatctgtcaggattccggtggaaccgacatatg
+gcggtatttcaccagaatgtcattctgccgttctgctttattttgcaaatcccacagacc
+acggtcgataccatcattaatcaggaaaatgacccctgtttcgatagccgacatcaggca
+cagcataacaggttcgttcgaggtgtaacccacttccccttcaagcaagcgctggtagtc
+aataaagcggaaaaccccggcctgaacttcataggaaagtatcgtcttactggtgttcac
+cgaagaaaggatctcgccggtactcacattgacgacgcgcaggttcacggcaatctgatc
+gagctggtattgcgtgtcggcaccgatgccaaaatatcttgccccaaccccgccagattt
+gacgttgctttcataaccgataatcgaaccttcaaccatgatatttgccgccgttaaaga
+ttgcagcgggattcggttattaatggcaaccgtgccgttttcttgtgccgcacgaataat
+cttgcgctcgttaagcaggttttgtaagccctggcgctccagcggtataaaccagcgaga
+atctttcagtgccgtgaccagcattgccgtggcgctttgcggaacagcagtggagaagtt
+acttgccgggtagggtttaaattgcccggtttcgtcctgaatgttgtataccgaaacaaa
+gattttacccgtcggcgctggcagatgggtcaaatctttgtagctctgagcacgaggcat
+taatgtcggtctggcggcttctttaggcggggcggttaagcatccgctcagtaacatgac
+ggcaaccaaaagaaataagcgctgcatgattattttccttatgaagctggggcttaaaaa
+tcggttgagttattttgtaaacccgaaacctggatggtcgaggtttgtccggttttacga
+tctgtcacgttcaactgcaattgaccatcgcggttggcaatatcgacaatataatcgttg
+gtcaccatgcggcccggtttaccggtattaatattcgacagtagcccacctaaaatttgt
+gactggatggcctgagtaaagttatctaacgctgagggtgtttcaataccaaagtcatcg
+ttatagctcggatctttataagagttttgggcctgagcgctatttaataaaaaagcgcca
+ttatttgggttaccaccaaagtttggattacggaactggaaagtcatggttccagcccaa
+cttaatggcgaaataagcatgagtagaactactgcatgtttgacacgcattgcagcctcc
+gaacaattttttatttagaattcatcatgcgccaaatcgcccgtacttaataacgcctga
+tttatctggcgacgatttagtgcttcttcagtttgaatcagtgcaaagacgacagttttc
+tcgaagtctcttttcaacggaaataaaaaagtctggaaaataacgtcctgattgaccgtt
+atagtgatccagcttccccatcgtgcactgggcctttcattaatcgttaagttacccgta
+tagtcactttcccatttatcactaaaggctcggtaaaaatcatggccaatagatgaaaca
+gtatggtcagttagcaatcccgggacttctacctcaacggcgtgaagattccctgcggcg
+aacagaaattctgccgccacaatccagcgtaaataacgtttcatggctttatcgcctgag
+gttatcgtttgcccaggaaaccgcttgtgtccggttttttacggctatcttcttgaaaag
+attataaagatgcgttttaaccgtattttcgctgatgaacaacgaacgagcgatctcgtt
+attagacgcgccgatacgcagcttattcaggatctctttttcccgatgagtaaggagggc
+tgattccgtgctgttataacgatagttacctgaatgcgtaatcaggtagctggcaagctt
+ttgcgtaaagtagcattcgccgcgcaggacgccttgcaacccattgacaacacgttcttg
+atcctccatggaataaaaaacgccgttgatatgaggccagttttcaatgtcgcggtacgg
+gtaatcttcaggcgtatttagcaacaatattttgatattgttgtttttcctgctcaaagt
+atcctgccaataatggataagctttttatccgcttccatcatatccagaagaataataga
+gcctgaagagatatcgtccagagaacgttgaatattatgtaattttcctgtaattgccag
+cgattgtttaaggtgctgcaagagagctgtcgcctgcaaagaagatttagtgatcaacaa
+taatgtatgaccatgaatactatggacttcattaaacatgatgaaaccccgcttttttta
+ttgatcgcacacctgacagctgcctctaaaatagaagcaccagaagtactgacagatgtt
+gcactgctgtgtgtagtaataaatcagccctaaatgggtaaaatataaaactaatggatt
+acatctgatttcaatctagccattacaaatcttaaatcaagtgttaaacatgtaactaaa
+tgtaactcgttatattaaaatgttaaccttaaggttttattaagtttagaaatgatagaa
+aagttgtacatttggtttttattgcacaattttaaaaaatcatacaaatggtgataactt
+actaataatgcatataaaaaatatttcggtgtagtcctttcgtcatgtaaaacgttcttg
+ttttttctccacacctccgtggacaattttttactgcaaaaagacgaggtttgtcacggc
+ttgtgcgcaagacatatcgcagcaatcagcgacgggcaagaagaatgactgtctggtgct
+ttttgatagcggaaaacggagatttaaaagaaaacaaaatatttttttgcgtagataaca
+gcgtatttacgtgggttttaatactttggtatgaactaaaaaagaaaaatacaacgcgcg
+ggtgagttattaaaaatatttccgcagacatactttccatcgtaacgcagcgttaacaaa
+atacaggttgcgttaacaaccaagttgaaatgatttaatttcttaaatgtacgaccaggt
+ccagggtgacaacatgaaaaacaaattgttatttatgatgttaacaatactgggtgcgcc
+tgggattgcagccgcagcaggttatgatttagctaattcagaatataacttcgcggtaaa
+tgaattgagtaagtcttcatttaatcaggcagccataattggtcaagctgggactaataa
+tagtgctcagttacggcagggaggctcaaaacttttggcggttgttgcgcaagaaggtag
+tagcaaccgggcaaagattgaccagacaggagattataaccttgcatatattgatcaggc
+gggcagtgccaacgatgccagtatttcgcaaggtgcttatggtaatactgcgatgattat
+ccagaaaggttctggtaataaagcaaatattacacagtatggtactcaaaaaacggcaat
+tgtagtgcagagacagtcgcaaatggctattcgcgtgacacaacgttaatttccattcga
+cttttaaatcaatccgatgggggttttacatgaaacttttaaaagtagcagcaattgcag
+caatcgtattctccggtagcgctctggcaggtgttgttcctcagtacggcggcggcggta
+accacggtggtggcggtaataatagcggcccaaattctgagctgaacatttaccagtacg
+gtggcggtaactctgcacttgctctgcaaactgatgcccgtaactctgacttgactatta
+cccagcatggcggcggtaatggtgcagatgttggtcagggctcagatgacagctcaatcg
+atctgacccaacgtggcttcggtaacagcgctactcttgatcagtggaacggcaaaaatt
+ctgaaatgacggttaaacagttcggtggtggcaacggtgctgcagttgaccagactgcat
+ctaactcctccgtcaacgtgactcaggttggctttggtaacaacgcgaccgctcatcagt
+actaatacatcatttgtattacagaaacagggcgcaagccctgttttttttcgggagaag
+aatatgaatacgttattactccttgcggcactttccagtcagataacctttaatacgacc
+cagcaaggggatgtgtataccattattcctgaagtcactcttactcaatcttgtctgtgc
+agagtacaaatattgtccctgcgcgaaggcagttcagggcaaagtcagacgaagcaagaa
+aagaccctttcattgcctgctaatcaacccattgctttgacgaagttgagtttaaatatt
+tccccggacgatcgggtgaaaatagttgttactgtttctgatggacagtcacttcattta
+tcacaacaatggccgccctcttcagaaaagtcttaatttgttgaaatatcgagcataaga
+tgaatctggagagaatggtctgctgcgaatcagccaacctgaaagtatggataacacaac
+cctcaaggatgactaatcattgaggaaatagaataaatgttcagaccttttttaaactct
+cttatgctcggcagtttgttttttccttttattgccattgctggaagcaccgtgcaaggg
+ggcgtgatccatttttatggccaaattgtggaaccggcatgtgacgtcagcacccagtca
+tcacccgtagaaatgaactgcccacagaatggttctattccgggcaaaacctactccagc
+aaagcgttaatgagcggcaatgtcaaaaacgcgcaaatagcctcagtaaaagtgcagtat
+cttgataaacagaaaaagctggctgtaatgaacatcgaatataactaagtttctgaacaa
+ctcacgttgctgagcagaaaaatgcgatttaaccaaaaagcctgctgtacacttaagaaa
+caagaaggtgtaaggaggcgttatgaaaacgcgtattcatgttgtgcagggtgatattac
+caaactggccgttgatgtgattgtgaatgcggctaatccgtcattaatgggaggcggcgg
+cgtcgatggggccattcatcgcgcagcgggtccggccctgctggatgcttgtttaaaagt
+caggcaacagcagggcgattgccctacggggcatgccgttattacgcttgcaggcgatct
+tcccgctaaagccgtagtgcacaccgtcgggccagtctggcgtggtggtgaacaaaacga
+agaccagcttttgcaggatgcctatctcaatagcctacgactggtggcggcaaacagcta
+tacgtcagtggcttttcctgcaatcagtactggggtttatggttaccctcgtgcggcagc
+ggctgaaatcgcagtaaaaaccgtttcagaatttattacccgtcacgctttacccgaaca
+ggtatactttgtctgttatgatgaagaaaacgcccacctctacgaaagactccttaccca
+acaaggagatgaatgatttgccccggctggcgagcgcggtgctgccactgtgttcgcaac
+atcccggtcagtgtggcctttttcctctggagaaaagtctggatgcgtttgccgcccggt
+atcgtctggccgaaatggcagagcatacgctcgatgttcagtattacatctggcaggacg
+atatgtcgggtcggttactgttttccgccctgttagccgcagcaaagcgtggcgttcgcg
+tccgtttgttgctggacgacaacaatacgcccggacttgacgacattttacgcttgcttg
+acagtcatccacgcattgaagtccggctttttaatcctttctcgtttcgcttgctgcgtc
+cgcttggttatatcaccgacttttcccgtcttaatcgccgtatgcacaataaaagtttca
+ctgtcgatggcgtggtgaccctggtgggaggacgaaatattggtgatgcctattttggag
+caggggaggagccacttttttcggatttagatgtcatggcaataggacccgtggtagagg
+acgttgccgatgatttcgcccgctactggtattgcaaatcggtttcacccttacagcagg
+tgctggatgtcccggagggtgaaatggcggatcgcatcgagttacccgcctcctggcata
+acgatgccatgacgcatcgttatttacgcaaaatggaatccagtccatttataaatcatc
+tggttgatggaacattgccgcttatctgggcgaagacacgtttattaagtgatgatccgg
+cgaaaggggagggcaaggcaaaacggcattcactgttaccgcagcgcctgttcgatatca
+tgggctcacccagtgaacgcatcgatattatctcttcctattttgtaccgacacgcgcag
+gtgtggcgcaactcttacggatggtgagaaaaggggtaaagattgcgatcctaaccaatt
+ctcttgccgctaacgatgttgctgtcgtccatgccggatacgcgcgctggcgcaaaaaat
+tgctccgctatggcgtggaattatatgaactcaagccgacgcgtgaacaaagtagtacgt
+tacacgatcgcggcataaccggtaattccggagccagcctgcatgctaaaacctttagca
+tcgatggtaaaacggtgtttatcggctctttcaatttcgatccgcgttcaacattgctca
+atactgaaatgggcttcgtgatagagagcgaaacgctggcacagttaattgataaacgct
+ttattcagagccagtatgatgcggcctggcagctccgtctggacaggtggggacggatca
+actgggttgatcgtcatgcaaagaaagagattattctcaaaaaagaacccgccaccagtt
+tctggaagcgggttatggtcagactggcgtcgatattgcccgtggaatggttattgtaaa
+tgtggcttaacgggctggtgctttatcgttctcacgcttaacaaccggtttaccagagaa
+caaaaacttcagtaacgggatgcgcaaatgaatttcatacagaattatcgcaatccctac
+tacaaatatcaggccacagagaaaaccaagccagttggaggtgatgtgcggtgtaatgta
+tgcgccgaaaaacagcgttaacgggtggtgaaccagatagataaacagcgatgcgttaac
+aaaataagtcacccgcgctgactggaagttaagcaaacggtggccaaaggagaagaccac
+attcaccatccacagaccgaggaccatggtgatcaccgactcggtttcgtacatccaggc
+atcgccactgccatagcgctggttgagtaaataagcgacaaacgccaatgctgctgcaag
+ggtacagccacgagacggcgtggtaaacaaggctttaagatgagggaaaatgaaagccag
+tgcgccgaggataaagaacggcaaataaaacagcgtttgcatgacaataaaattgaacat
+gccattactcagaatgggcggatacacaataaaaatcgttcttcttattaccgcataacc
+gatgccgaggcataaaaaaatcaccgatagttttaccatcgagaattttttattcgtttt
+atcagaattttctaaattatttctgatgcgcttaaatatccatacgcacagcgtcgtcat
+gaccactaacaccagtaaaaaccacaggtgtgatattaattcccaggccaacgtattata
+tttgtcatacaatgacagcccaggccaactttccgcttttcctttgacatattgcagcat
+aataaattgcggtaatgtcagtagggggatggctgttaacatcgggatacctacacgttc
+gacacgtactttccaccattttttcaagggatagcgtaaaaaaagcatgtaggaaaagta
+gccggatataacgaaaaatacctgcatgcggaacgagtggatgaagtcattaaaaagggt
+cagccacaatgatgattcggcgctattcacatgccatgtatggctcgaatagattaaaga
+aatatgaaaaggtatccctaacaacatcagccaggcgcggatggagtcgaggaaatattc
+acgttgcgcgggtactgggttcatatatggttaactaatctcggatttttcgtcttatcc
+ctgtcgggttatgcctttaggcttgttgccatagtgacaccgacctgaccgcgccaggcg
+caggcttcaaggtttttatgcatagcatcatcgctaccactaaccagaatggaagcgtct
+gtaagacggttgataaataaatttgctggcaaaccctacacgaagtcgatgcttctgtct
+ttaggagaagcacggaaagtgaaaacggttgcaatcaggtgcttaatccatgagccagcg
+tgctgaacgataccgggattctgttgtcggaatggctggttatccattaaaatagatcgg
+atcgatataagcacacaaagggggaagtgcttactaattatgaaacataaactacaaatg
+atgaaaatgcgttggttgagtgctgcagtaatgttaaccctgtatacatcttcaagctgg
+gctttcagtattgatgatgtcgcaaagcaagctcaatctttagccgggaaaggctacgag
+acgcccaaaagcaacttgccctccgttttccgcgatatgaaatacgcggactatcagcag
+atccagtttaatcatgacaaagcgtactggaacaatctgaagaccccattcaaactcgag
+ttctaccatcagggtatgtacttcgataccccggtcaaaataaatgaagtgactgccacc
+gcagtcaaacgaatcaaatacagcccggattatttcactttcggcgatgttcagcatgac
+aaagatacggtaaaagaccttggctttgccggttttaaagtgctttacccgatcaacagc
+aaagataaaaacgatgaaatcgtcagcatgctcggggccagctatttccgcgtgattggt
+gcaggtcaggtttatggcctttctgcccgcggcctggcaattgataccgccttgccatcg
+ggtgaagaatttccgcgcttcaaagagttctggatcgagcgtccaaaaccgactgataaa
+cgtttaaccatctatgcattgcttgactcgccgcgtgcgacaggtgcttacaaattcgtg
+gttatgccagggcgtgacacggttgtggatgtgcagtcgaaaatctatctgcgcgataaa
+gtcggcaaactgggggttgcaccgttaaccagtatgttcctgtttgggccgaaccaaccg
+tcgcctgcaaataactatcgtccggagttgcacgactctaacggtctctctatccatgcc
+ggtaatggcgaatggatctggcgtccgttgaataacccgaaacatttagcggtcagcagc
+ttctccatggaaaacccgcaaggctttggtctgttgcagcgcggtcgtgatttctcccgc
+tttgaagatctcgatgatcgttacgatctccgtccaagcgcatgggtgactccgaaaggg
+gagtggggtaaaggcagcgttgagctggtggaaattccaaccaacgatgaaaccaacgat
+aacatcgtcgcttactggacgccggatcagctgccggagccgggtaaagagatgaacttt
+aaatacaccatcaccttcagccgtgatgaagacaaactgcatgcgccagataacgcatgg
+gtgcaacaaacgcgtcgttcaacgggggatgtgaagcagtcgaacctgattcgccagcct
+gacggtactatcgcctttgtggtcgattttaccggcgcagagatgaaaaaactgccagag
+gataccccggtcacagcgcaaaccagcattggtgataatggtgagatagttgaaagcacg
+gtgcgctataacccggttaccaaaggctggcgtctggtgatgcgtgtgaaagtgaaagat
+gccaagaaaaccactgaaatgcgtgctgcgctggtgaatgccgatcagacgttgagtgaa
+acctggagctaccagttacctgccaatgaataagacaactgagtacattgacgcaatgcc
+catcgccgcaagcgagaaagcggcattgccgaagactgatatccgcgccgttcatcaggc
+gctggatgccgaacaccgcacctgggcgcgggaggatgattccccgcaaggctcggtaaa
+ggcgcgtctggaacaagcctggccagattcacttgctgatggacagttaattaaagacga
+cgaagggcgcgatcagctgaaggcgatgccagaagcaaaacgctcctcgatgtttcccga
+cccgtggcgtaccaacccggtaggccgtttctgggatcgcctgcgtggacgcgatgtcac
+gccgcgctatctggctcgtttgaccaaagaagagcaggagagcgagcaaaagtggcgtac
+cgtcggtaccatccgccgttacattctgttgatcctgacgctcgcgcaaactgtcgtcgc
+gacctggtatatgaagaccattcttccttatcagggttgggcgctgattaatcctatgga
+tatggttggtcaggatttgtgggtttcctttatgcagcttctgccttatatgctgcaaac
+cggtatcctgatcctctttgcggtactgttctgttgggtgtccgccggattctggacggc
+gttaatgggcttcctgcaactgcttattggtcgcgataaatacagtatatctgcgtcaac
+agttggcgatgaaccattaaacccggagcatcgcacggcgttgatcatgcctatctgtaa
+cgaagacgtgaaccgtgtttttgctggcctgcgtgcaacgtgggaatcagtaaaagccac
+cgggaatgccaaacactttgatgtctacattcttagtgacagttataacccggatatctg
+cgtcgcagagcaaaaagcctggatggagcttatcgctgaagtcggtggcgaaggtcagat
+tttctatcgccgccgccgtcgccgcgtgaagcgtaaaagcggtaatatcgatgacttctg
+ccgtcgctggggcagccagtacagctacatggtggtgctggatgctgactcggtaatgac
+cggtgattgtttgtgcgggctggtgcgcctgatggaagccaacccgaacgccgggatcat
+tcagtcgtcgccgaaagcgtccggtatggatacgctgtatgcgcgctgtcagcagttcgc
+gacccgcgtgtatgggccactgtttacagccggtttgcacttctggcaacttggcgagtc
+gcactactggggacataacgcgattatccgcgtgaaaccgtttatcgagcactgcgcact
+ggctccgctgccgggcgaaggttcctttgccggttcaatcctgtcacatgacttcgtgga
+agcggcgttgatgcgccgtgcaggttggggggtctggattgcttacgatctcccgggttc
+ttatgaagaattgccgcctaacttgcttgatgagctaaaacgtgaccgccgatggtgcca
+cggtaacctgatgaacttccgtctgttcctggtgaagggtatgcacccggttcaccgtgc
+ggtgttcctgacgggcgtgatgtcttatctctccgctccgctgtggtttatgttcctcgc
+gctctctactgcattgcaggtagtgcatgcgttgaccgaaccgcaatacttcctgcaacc
+acggcagttgttcccagtgtggccgcagtggcgtcctgagctggcgattgcactttttgc
+ttcgaccatggtgctgttgttcctgccgaagttattgagcattttgcttatctggtgcaa
+aggaacgaaagaatacggcggcttctggcgcgttacattatcgttgctgctggaagtgct
+tttttccgtgctgctggctccggtacgcatgctgttccatacggtcttcgttgtcagcgc
+gttccttggctgggaagtggtgtggaattcaccgcagcgtgatgatgactccacttcctg
+gggtgaagcgttcaaacgccacggctcacagctgctgttagggttagtgtgggctgttgg
+gatggcgtggctggatctgcgtttcctgttctggctggcaccgattgtcttctcgttgat
+cctgtcaccgtttgtttcggtgatttccagccgtgccaccgttggtctgcgcaccaaacg
+ctggaaactgttcctgatcccggaagagtattcgccgccgcaggtgctggttgataccga
+tcggttccttgagatgaatcgtcaacgctcccttgatgatggctttatgcacgcagtgtt
+taacccgtcatttaacgctctggcaaccgcaatggcgaccgcgcgtcaccgcgccagtaa
+ggtgctggaaatcgcccgtgaccgccacgttgaacaggcgctgaacgagacgccagagaa
+gctgaatcgcgatcgtcgcctggtgctgctaagcgatccggtgacgatggcccgtctgca
+tttccgtgtctggaattccccggagagatattcttcatgggtgagttattacgaagggat
+aaagctcaatccactggcattgcgtaaaccggatgcggcttcgcaataaaaacgtagttg
+cctgatgcgctacgcttatcaggcctacatcgttcctgcaatttattgattttgcaagac
+tttgtgggtcggataaggcgttcacgccgcatccggcaaaaacaacgagccaataaaaat
+accggcgttatgccggtatttttttacgaaagaggtatcaaatgcgtttaattgtggtga
+gcatcatggtgaccttgctgagtggctgtggcagcattattagtcgcactataccggggc
+aggggcatggcaaccaatattatcccggtgtgcaatgggatgtgcgtgactccgcctggc
+gttatgtcacgatccttgatctgccattctctctggtttttgatactttactgctgccga
+tcgacattcatcatggcccgtatgagtgattaacgttcatcccactcatcagctgctgcg
+cgtccttcctcggtatccagcggtggctcaagctgaaattccccctcgtcccattcatgt
+aatgtattctcttcctgccactcctggcgtatctctatctcatcatagtcgccatcaaaa
+acactttgcgcggcttcaccgctaagcataggtaaacattcaccttcttccccttcgtcg
+gcaaaaaactcaacttgccacatgatgtcgccgtcctgcaaaacgtatttttgggcattg
+aactgttgcacattcgcatcttcggcgtcgatgccggggttgtctgcaagaaattcttcg
+cgtgcagcgtcaatggcttcttcaagcgttgcgtacatggtcatcacgattctccctttg
+agttgatgaggtttcagggaaaaggatagctgattctccgcttttgcaagtatgaaaggc
+gaaaaatcagttcgatacctggggtattcgacgacgacgtagactgttccatgaatagac
+tgcgttgaataacactacgccagcggtgacgagaaataccgctctgaaaccgtagttcgc
+tgaaatcgctgctcccatcaatggtccggtaacgttgccaatatcacgaaacgattggtt
+atagctgaagatacgcccggcgatctggttgctcgagttgtaaaccaacagtgtctgtac
+ggcggggagtagtgcaccatcggcggcaccgagcaaaaaacgtaaaatcccaagttgcaa
+tggcgtctgaacgtaagacattgggatcaacagcagtacagaaaagatcagcgctgtaat
+caggatcttttcgggtccgattcgatcgccaagtttgccgagtcgtggtgcacttagcag
+agccgccacgcctggcaccgaggcgatcatgccactgataaaggcgacgttactgacgtt
+acccgccagttcgcggacatacagcgtcagaatgggggcaattgagcccgtcgccacctg
+gatgattaacgtagtgacaaacaggctgagtaccagtttcgggtttttaagtgatgtcac
+cacttcccgcatgtgcagcatctcttttttgctgaccggctggaatttttctctgatgca
+aaacagggtgacgaaaaagcagagtatgagcacactggcggtaataaagaataccggacg
+taagccgtagctatcggcgagcaggccgccagccattgggccgagcaacgcaccactaac
+gccgcctgtggagagcgtacccagcgcccagccgcttttattacgcggtacttgtgtggc
+gataagagcattagcgttggggacaaatccgccaagtaacccaagaagcgcccgcaggat
+caaaaactgccagatattttgtgccagccccatcaacaccatcacgatgcccatgccgag
+ggcagagcgtaatagcatgagttttcggcctttacggtcggcgagtccaccccaaaacgg
+tgaggcgatggccgaaaataaaaatgtaatgctgaagacaataccggaccacatattcag
+ggcggagtgaccggtaacgccaagctgctcaacgtagaggggtaagaagggcattaccag
+actgaaggcggcaccggtaagaaaacagcctagccaggcgacgatcaggtttcgtttcca
+gtttataggggtgtcattttcacagggtgacatagcaatccgctgttggtgcgccaggcg
+cggtgaacataagaagaaaagataagcacactaattatgcgcccgacttccagggggcgc
+aatccagagagcttttatcgctaaatcagggggatttgctgtggtaatgccggatgccat
+tctgaagcatccggcatgggagatttaatagcgtgaaggaacgccttccgggcgtgtttt
+aaagcgacggtgtaaccacatatactgctctggtgccatcatgatgcatttttcgaccac
+tttgttcatccacgcggcggtagtttcggcatcatccagtggcggagaacactctggcgg
+cagcataatcaattgataccctttgccatctggcttacggcgtggaacgaagggcaccag
+acatgcgccggacatccgtgccagcatccaggttccggtcgtggtcgcagcctgctcaac
+ggcaaacaacgggacgaaaacgcttgagcgcgggccgtaatcatgatccggtgcgtacca
+gaccacttcgccttttttcagggctttaatcatgccttttaaatctttgcggtcgagcat
+cgatttatttgagcgcaaacggccccaggtttgtagccagtcaatcagtggattatcgtt
+cgggcgataaacgccaatacccggttcctgcataccaaactgccgcgcacccagctccag
+tgtcagaaaatggatgccaactaacaggatgccgcgtttttgcgcctgcacgtcacgaat
+gtgttccatgccgatcacttccgtccagcgggcgattcggcggtccggccagaaccacgc
+catgccggtttccatcaggcccatgccaacggattcgaaattcttcaccaccattttacg
+gcgttcttgttcgctcatttccgggaagcacagttccaggttgcgatgcacaatttttgc
+gcgtcgtttcataaaacgtaacgccagttttcctaatccacaaccgaggcggtagataac
+cgggtagggcaattgcacgactaaccaaagtacgccaatacccaaccaggttaaccaata
+acgcggatgaagcagtgcggtggagaacttgggtagattcgtcatatcaatcctgttttt
+caacctattcgggcaattgtatgtattgtcgcattttttcgcccgcaaccaaaatttgtg
+gctgaagactgggcgaaattgccgcgcttgtaaataacaaataatttttaatgcgcaaat
+gtagcgtaaaatgtgtggatgttaattatcgataattgctatatcatgccgcggattttt
+actttcccatctcgcaggaaccgtacaccatgccagtgttacacaaccgcatttccaacg
+acgcgctaaaagccaaaatgttggctgagagcgaaccgcgaaccaccatttcgttttaca
+agtatttccacatcgccgatcctaaggcgacccgtgacgctttatatcagctgtttaccg
+cgctgaatgtttttgggcgagtgtatctggcgcatgagggcattaacgcgcaaatcagcg
+tacctgcgagcaatgttgaaacatttcgcgcgcagctctatgccttcgacccggctttag
+agggtttacgcctgaatatcgcgttggatgatgacgggaaatccttctgggtactgcgca
+tgaaggtacgcgatcgcattgttgccgacggtattgacgatcctcactttgatgccagca
+atgttggtgagtatctgcaagcggcggaagtgaacgccatgcttgacgatcccgatgcac
+tatttatcgacatgcgtaaccactatgagtatgaagtggggcactttgaaaacgcgctcg
+aaattccggcagataccttccgtgagcagctgccaaaagcagtcgagatgatgcaggcac
+ataaagataaaaaaatcgtcatgtactgcaccggcggcattcgttgtgaaaaggccagtg
+cctggatgaaacataacggattcaacaaagtctggcatatcgagggcggaattattgaat
+acgcccgtaaggcgcgcgagcagggcttgccggtgcgttttattggcaaaaattttgttt
+ttgacgagcggatgggcgaacgtatatcggatgagattatcgcgcattgccaccagtgcg
+gcgcgccgtgcgacagccataccaactgtaaaaatgatggctgccacctgctgtttattc
+agtgtccagtatgcgcggaaaaatacaaaggttgttgtagtgagatttgctgcgaagaaa
+gcgcgttaccgccagaagaacagcgacgccgtcgggcaggacgtgaaaatggcaataaga
+tctttaataagtctcgtggacgtctgaatacaacactgtgcattcctgatccaacagaat
+aaatatcattgccggatgcgtgccatccggcaacatttcacgcttacttctgctgtacgc
+cttccactgaaataatcagatccacttcctgagaagctggacctaaatctgtcttgatat
+tgaagtccttgagcttaattttgccttcggcctcgaagcctgcacgtttaccaccccatg
+ggtcgtcgccctgaccaattaatttcgcttccagcgtgacgggtttggttacgccattca
+gcgtcagatcgccggtaatatccagttcgtcaccgtctttcttcacgctggtggaggtga
+atgttgcctgtggatattttgcggtattgaggaaatctgcactgcgaagatgtttatcgc
+gttcggcgtgattagtatcgacgctggtggtgttaattgtcacattcactttatcggcag
+ccggatttttttcgtcaaaggtaaaagtaccgtcgaaatctttaaaggtgccgtataacc
+agctatagccaaggtgctggatgcggaaattaacaaaggcgtgctgaccttctttgtcaa
+ttttgtaatcggcggcaaccgctgaaccggcagagaacatcagggacgcgaaggttaaac
+caagcaggctttttttcattttttatactccatagtcagatgacgactttcccagcatgc
+gcttcagagtgtcgtctttatcgatgaaatgatgcttcagggccataaatccgtgcataa
+cggacagtactacgacgctccacgcgagccaaaaatgcagggcaccggcaaagtctgcct
+gtgcgccagcgtcggcaagggtcgcggggacgtcaaaccagccaaaaacgctgatcggtt
+taccatcggcagttgagatcagatagccgctgatgccgatggcgaaaagcaataggtaca
+atgcgagatgtccagctcttgcggcaagacgagtcatgggcgaataactcggcagcggac
+ccggcggtggagatatgacacgccacagaacgcgaataaccagccccatcattaacaaaa
+taccgatgcttttatgcagttcgggtgctttgtgataccagccatcgtaataactgagcg
+tgaccatccacagacctaaagcaaacatgccgtagacaataattgcgcttagccaatgga
+aggccgcagatataacaccatagcgttcaggggtatttgtgaatgacataagtgcatcca
+aaacgaatttgcgagagaaagaaaatggcgtgtcggagaatgaattgcaacacaaaaata
+acaaattgaatgatatttatttttatttcaataattttgaattaataatgaaagaatctt
+cataagtttagtgggttcagcatcagagatgtctggtgagtgctgtagaagcaggaataa
+tctcattcaatttttcacgctaaatgaaagggagattaaatatttgtcagtttatgtcag
+tgcggaaaactaaaaataaaacacatagatcagatccataattgccaacaatccccagag
+aaaaagataaagcatcagatgctcgcgaatattattgatgagatagtgcaacagccgacg
+cattaaatactcctgtaaaaacggcctcattctggaggccgtaatgatgattattggaag
+cgggaaagcctgaatggcgtcaaatcaaaatcgctttttttgtcttgcgcaaaatcggca
+gctatttcccctaaaactgacgcaaatttaaaaccgtgcccactcaggccggtaatgagc
+agtgtattatcgtggccgggtagggtatcgataataaaatcttcgtcaggcgaattatca
+taggtgcaggcagcgccgtacaggcagcaaccgatacccggcaatacattgcgcaagaac
+gggaaggcttctgacccatcactggccacttccgcaaacggaacacgttcatccgctgaa
+tggataacctggcctccgttatgtttgccaatcttcaacgcgtcgttttctgccggaaaa
+ccataatattgatcgccattgggcagttcaccggtaaacgccgggaatttattcttcacg
+ctatagcggccatcggcctgataccaggcaaatactttgcgtacgggctggacaggcagc
+tccgggagcaggtcttttacccatgttcccgcgcagacaatcgcttttttcgcctgatac
+tcaccgtcagccgtttcaatagttacgccatcatcgtcatgacgaattgcggtgaccggg
+cagttgaacagttgcgcacagcccgcttccttcgccagttggatccaggttttaatcgcc
+agttcgctgcgcaaaaaaccggaatcagtttcaaataagccgatgtagttgtccgggacg
+cgtatttccggccagcgggccataatcccttgcgcatcgagcttttcaacgttgagttgc
+cattgttcggcgctgtgggcgacgttggcgagaaatgtggaatcagccgggccaaggtta
+atgacgccagagcgtacaaaaatgggatcttcttcgttgtggcgggagagttcatcccac
+agcgtttgcgcgcggaggaccagcgggacatacttttcgccttcaccataagcatggcga
+attaatcgcgtatcgccgtggtggctgccgtgttgatgcggtggcatatgggcgtcggtc
+attagcacgtttaaaccggcgcgggttgcataatacccggcggcagcgcctacggaaccg
+ctgccaataatgatgagatcgtatttcatttttttctctctgctctcatggtttaagcag
+agtaattaactgaatgcagatatacaacccagaaatggtaaaggcaccggtgaggtgcct
+tttgggtggatggtcatgtcatgttaatgacgccgatactcgtttacctggaaatcaccg
+gattcaattttggcgattcctgcttctaatatcgaaataaattgtctggcaacatcagtg
+gttaaccagagcgtctgaccaacttcagtcccttcctgctcggacttatttggggtctgg
+tagtgcaaacgcaacatcagcgcatcatagctatcaacggtgctgatgtcccaccctacg
+agcggatgagtctgaatgacttcattatttttttccatcatggccccctaattcgtgtta
+ctagacaacgttattcgaggttcaatgcgtttttatctgaagcaacttcagtataccaat
+aagtaagggtattcaccgaatttttaaagggggaaacagataaatttctgcttttaagat
+ttatatgaacaataaaacagcatgtcattcatatttttttagcatattgtgcaattattt
+tgaggaagtgtagaaattttgtactcaaaattcgtaagtaaaataaaaaagccggggcga
+cccggcaaaaaaaatcactgcatattattcgctgacaaaccagtcatcggcgctttccca
+cgtttcctggagaatttcactaatgcgctgtttatcttcttttgtcgcgccaataaccga
+taaattattcgctgcggcataacgtaccgatacgtggccttcattatcaggaaacgcata
+ctgaatacggcgggaaagttcgccagccagggcgtcaatagccccagctggcaatggaga
+agttttcgctatggtgacttcaattcgcataatagccccctgttgaatatactggttatt
+tatacaggtaaaataacctaatgacaacaggaagctacgatttttattgtttaacggacc
+agcgtaccgtttccccggcgaggaatggcaccagcgtgtcatcagtcagtgcgatgcttt
+cagcaacctgttgctcttcacgtaccagttcgatgaatgtgtcgttgaccggcaacccat
+agaactgcgggccgtttacagaacagaatgcttcaaagtgctgcaaagcattcatttctt
+caaagacggtagcgtaactgcccagcgcggttggggcgttgaagcagcccgcgcagccgc
+aactgctctctttgcgatgacgtgcatgtggcgcagaatccgtaccgaggaatactcgat
+taaaaccgctggcgaccagttcacgcaatgcctgttggtgaatattacgtttgaggatgg
+gtagacaatacaggtgcggacgcacgcctccaaccagcatatggttgcggttaaacatca
+gatgctgcggagtgatggtggcagccagccgttcatttccgtcacggacatagtcggcag
+catctttggtggtgatgtgctcaaaaacgactttcagcgcagtcaggcgctggcgcagag
+gttccatcacgctttctataaagcgcgcttcacgatcaaaaatgtcgatatctgcatgtg
+tcacttcaccatgcaccagtagcggcataccgattttttccatgcgctcaagtaccggca
+tgattgcgtcaattgacgtcacgccgtggctggagttagtggttgcgtttgccgggtaaa
+gttttgcagcggtgaacacgccttcgttaaatccgcgctccagctcattaggatccagcg
+aatctgttaaataacaggtcatcaatggggtgaaatcgtgcccggcaggtacggcgtcaa
+gaatacgctggcgatacgccacggcagcctcaacggtggtcacgggcggagccagattgg
+gcattacgatagcccgtccataaatttcgctggtatatggcacgacagtttttaacatgt
+cgccatcgcggaggtgaaggtgccagtcgtctgggcggcggatctttaatacctgggatg
+gtgcagtcattaatctctatgctccggctgaagggatgtttttgccggacacaaaggata
+agcggaaacgttttcctttgcacgaaaaataaagggcgcgaatgcgccctcgtgattaat
+cagtaaatggaatgacaatttcgcctggcttcacttcaatgcctttcgccagttttttcg
+ccattgcttcgccctggctgccatcttcgcgcaggacgtaagcaggttgctggttaaagt
+aattgcgtaatgcctggttcaaatagggaagcaacgtttgcatcaccgtttgcatttttt
+ccggttgtaccgtcgcatcgaccacttccatctctttcaggaagatcgcacctttttctt
+tatcaaacacgggcagcgctttcagcttcagtttcatggtcgctttctgactaccgaaca
+gggagttcatgtccagattggcgtctccggttagggtaaccttattcggctcttcgcgac
+caatttggctggtcaggtttgtcagaacaatatgggcgtcagccacgccgggtaaaccga
+tatcttttgagaaattattatgtttcgcaagcgactggttaatttcttgttcggtgatgg
+tgtattgggtgagttgattacagccaacgagcaggccactgacgatcaatgcagcggcaa
+ataaaaacttgttcatggtagtcctcgacatgaaatctgcgtcaatatcctgacacaacg
+cagcatgtgtcaccagcgataaactcgccagcagaaaaaactgaaaacggcggcaacccg
+cgaatacaggctgccgcggcgggtcaggattaaatcgccattgatgataacaaattgatt
+tgtgtctgtttcgccatattatcgcggtaatcagcaacgcggcttggccagttaattccg
+gctaccagcgtcagattacgcagtagcgggaatagctgaatatcatcttccgaaagttcg
+ccattcacggcgttcggtttgacgatcagtttgtccagcgcacgtaaatcatcgctgata
+ttcttaatcagaccgtcagagtgggccagcaggtcggcaaaattacccgcgctggcctct
+ttcttgtcgacgaaatatttgcgcgcggcgggagtagaaaactcatcaaatgccgatttg
+gcaaaacgcggcaacagcagtttgttggcgtagccattgaccttgcgcagccactcttca
+atggcaggggaacgtttgccggtcagtaacggtttgccgtcgagtttatcgacatagtga
+acgatgtccatgctttctggcatatagcggctgtcatctttttgcagaatgggaacctgt
+ttttgaccgaccatccgggtgggtgtttctgcgtcgtcgttgagcagaacatgtaattcg
+acggggatatttttcaggccgaaaatcatgcgggctttgaggcagtaagggcagtgatcg
+taaatgtatagcttcacgtgactcctccatttggctgtcagttcactttcagtatgaagg
+agtcaggggggagtatcaaatcaggcgtcgcgttcaagcaaacgacgcgcggcgcgtttc
+tggctaaactgccaacccagcgcaaggaaagtgaagatgccaataatgcccagcatcatc
+cacggaagctctggctggtgcgccgatttgcccaggtcaaacagccagccgccaccgata
+taaccaatagcgccgccaatcgccagacccagacggctaaaccccatatagctgccgcga
+gctcttgcgtccgccagcgaagcacttaaggtttcacgcgcaggctcggcaatgatcgac
+ccgatataaaacagacaaatcagggtgaaaagttgttgcaggccgctgaccatgcccacc
+ggcatcatgcttaatgacattatcaacagcccagccatcaaccggtgttccagacgaaaa
+tgcttttcactccagcgggcgatagggtagagcaacgttaacgacagacacgcttcaatg
+gcatacatccatttaacggcagagggcgcgccagccacgtcgttgaccataattggcagc
+atcagcatcacttgtacagccagcatgtagtaacccgccagcgtcagaacataggtgaca
+aaacgcttgtcacgcatcacgcgggtcatgccttcgcgaacgggcgtgcgtacggtggag
+agtttccatgctggtaacaaccacgcattgaacgccgcacatagcacaaatagaactgcc
+cctgtggcgcagaccaggcgaaagtcgtattgcaacagccagctccccaacaatgcgcca
+atgaccgcaccggcactgtcctgcatcatcaacagcgagaaaaaacgaccacgctgctgt
+ggacggattaatttcaccaccagcgccgaacgcggcggatcaaacaacgtgccaccgagt
+cccgagagcaggcatgaaaaccacaatagccacggttcgtgggcgatacccattgtggcg
+aatccggcggcgcgcatcagcataccggtaacaatcatcggtttggcaccaaagcggtcg
+gcaattgcaccgccgaaaatacccagaccttgctgaataaattggcgtagaccgagagca
+ataccgaccatgacggcggcccagcccatttgatcaacgaagcggatagagatcagcggg
+aagacaacaaagaaccccagcacgaccagcatattatcgatgagcaggaaatatttaccc
+aggttcctcgcctgcgacacgcgggacatttcccctcccgggaaataaaagatgagcact
+ttctattctgcattgccgctaagacttttcccatcacttcggggacaatatttttttatc
+aaaacgtcgctttgatagagagtttttatcaaatatgtgaataatgcagaaaatggcatt
+ttggacttttcacagggtctggttgcgcaggtatagtaatacttacagcgtattaaagac
+gttacgggaaggagtaggtatagaatgtttggctatcgcagtaacgtgccaaaagtgcgc
+ttaaccacagaccgactggtcgtgcgtctggtgcatgatcgtgatgcctggcgtcttgcg
+gattattacgcagagaatcgccatttcctcaagccctgggagccagtgcgcgacgaaagc
+cactgttatccatcaggctggcaggccaggctggggatgattaacgaatttcataaacaa
+ggttcagctttctactttggcttattcgacccggacgaaaaagagattattggcgttgcc
+aatttttccaatgttgttcgtggctcttttcatgcctgctatctcggttattcgattggg
+caaaaatggcagggcaaaggactcatgtttgaagccctgaccgcagccattcgttatatg
+cagcgcacccaacatattcatcgcattatggctaattatatgccgcacaataaacgcagc
+ggtgatttactggcgcgactgggttttgaaaaagaaggctatgcgaaagactatctgttg
+attgatggacaatggcgcgatcacgtactgacggcattaactaccccagactggacgccc
+ggccgctaaggagaatctcatgaaatatcaacttactgcccttgaagctcgcgtgattgg
+ttgcttgctggaaaagcaggtgaccacgccggagcaatacccgctctcagtcaatggtgt
+agtcacggcctgtaatcagaaaacgaaccgtgaaccggtcatgaatctgagtgaatccga
+agtgcaggaacagctggataatctggtcaaacgtcattatctacgcacagtgagcggttt
+tggtaatcgggtcaccaaatatgagcaacgtttttgtaattcagaatttggcgatctgaa
+actgagcgcagcggaagtggcgttaatcaccacgttgttattgcgtggtgcccagacgcc
+aggtgaactgcgcagccgcgccgcgcgaatgtatgaattcagcgatatggcggaagtgga
+gtcgacgctggaacaactggcaaatcgcgaagatggtccttttgtggtgcgtctggcccg
+cgaaccgggtaaacgcgaaaaccgctacatgcatcttttcagtggtgaggttgaagatca
+gccggcggtgacggatatgtcgaacgcggttgacggtgatttacaggcccgcgtcgaagc
+cctggaaatcgaagtggcagaactgaaacagcgtcttgattcgttgctggcccatctggg
+agattaaagtgaaaaaattacgtatcggcgtagtgggattaggtggcattgcgcaaaaag
+cgtggttaccggtgctggcggcagcgtctgactggacgttacaaggagcctggtcgccta
+cgcgcgcgaaagccctgccaatttgtgaaagctggcgcattccttatgccgattcgttat
+ccagccttgccgccagttgcgatgcggtttttgtgcattccagcaccgccagccactttg
+acgtggtcagtacgttactcaatgcgggggtacatgtctgtgtcgataaaccgctggcag
+aaaatctgcgcgatgctgaacggctggtggaactggcggcgcggaaaaaactgacgttga
+tggtcggttttaaccgtcgtttcgcaccactctacggtgagttaaaaacgcaactcgcca
+ccgcagcctcgctaagaatggataaacatcgtagcaatagcgtcgggccacacgatcttt
+atttcacgttgctggatgattatctgcatgtggtggataccgcgctgtggttgtcgggcg
+gcaaagcctctctggatggcggtacgctactgactaacgacgctggcgaaatgctgtttg
+ccgagcaccatttttcggctggtcctttgcagatcaccacctgtatgcatcgccgtgccg
+gaagtcagcgtgaaaccgtgcaggccgtgactgacggtgcgctcatcgacattacggata
+tgcgcgaatggcgtgaggagcgcgggcagggcgtagtgcataaaccgattcctggttggc
+agagtacgcttgagcaacgtgggtttgtcggctgtgcgcggcacttcattgaatgtgtgc
+aaaaccagacagttccgcaaaccgccggcgaacaggccgtgctggcgcaacgtatcgttg
+acaagatctggcgcgatgcgatgagtgaataaaccctgtaacatctggcggtagcaattc
+accataatccaggtagactattcgcctctttcagcgcctgccttgcaggcgttttgcccg
+tgggtctggattagaacaccgatgaatttattaaaatcgctggccgccgtcagctcgatg
+accatgttttcgcgtgtgcttggcttcgcacgagacgcaattgtcgccagaatctttggc
+gcagggatggcaaccgacgcctttttcgtcgcttttaaacttcctaacttgttacgccgt
+atctttgccgaaggggcattttcccaggcatttgtaccgattctggcggaatataaaagt
+aagcagggtgaagacgccacgcgggtctttgtctcttatgtttctggcctgctgacactt
+gcgctggcggttgtgacggtcgctggcatgctcgccgcaccgtgggtgatcatggtgacc
+gcgccaggcttcgctgacacagctgacaaatttgccctgaccagccagctactaaagatt
+acctttccctatatcttgctgatctccctggcgtcgctggtgggagcgattctgaatacg
+tggaaccgcttctcgattccggcgtttgctccaacactgcttaacatcagcatgattggt
+ttcgcgctgtttgccgcaccgtactttaacccaccggtgctggcgctggcgtgggctgtt
+acggtcggcggcgtcctgcagctggtgtatcagctaccgcacctgaagaagatcggcatg
+ctggtcctgccgcgcattaacttccacgatgccggagcaatgcgcgtggtgaaacagatg
+ggaccggcgatccttggcgtctctgtgagccagatctccttaatcatcaacaccattttt
+gcctcgtttcttgcttccggttcggtgtcttggatgtattacgccgaccgcttaatggag
+tttccgtccggtgtgctgggcgtggcgcttggcaccattttgctgccgtcgctgtcgaaa
+agttttgccagtggcaatcatgatgaatacaaccgtttgatggactgggggttgcgtctt
+tgtttcctgttggcgctgccgagtgcggttgcgttgggcattctttccggtccgttgacc
+gtttcgctgttccagtacggtaaatttaccgcgtttgatgcgctgatgacccagcgggcg
+ttaattgcctactcggtgggtttgattggcctgattgtagtgaaagtgttggctcctggc
+ttttattcccgccaggacattaaaacgccagtgaaaattgccatcgttacgctgatttta
+acgcaattgatgaacctggcgtttattggtccgttgaaacatgccgggctgtcactttct
+attggtctggcggcgtgtctgaatgcttcgctgctttactggcagttgcgtaagcagaaa
+atctttaccccgcaacccggctggatggcgtttctgttgcgtctggtggtggcggtactg
+gtgatgtctggcgtgcttttaggtatgttacatatcatgccggagtggtcattgggtacc
+atgccctggcgtttactgcgtttaatggcggtcgtgctggcggggattgccgcgtacttc
+gctgcactggcggtactgggcttcaaagttaaagaatttgcccgccggacggtgtaacaa
+tgcattccggcctgcagtgcaggccggagataatcttcagatcgaaatctttttaccgcc
+gcgatgggttgttgaggtctgaccgttcgccccatatagcgtcggttcctgatgcggttt
+caacatttccagcgcctgttgattgcgctcaatctgtccttccagtaaccagccgttatg
+ttgattcatttggcgtagttgctgcgttttcacagtaatttcctgccagcgttgactaat
+atcaacgctatttgctgtattgggttctttcctgcgtaactgttcgaggtaatccagcgt
+cgccagcagtgagcttttttgttctgtaatccattgcaactggctgccgttgatctgccc
+catagagagatgttgctgctcttgatccattaccgttttgagatcgttaagcacagcgga
+catctggtcgaggatctctgcaagacgtgtcatacgatcagttactctgcaagtcttgct
+gcgcttcgttgatcagcgcatcggcaattttgccggtgtccatttttagttcaccgttac
+gaatcgccagttttaacgcttcgacacgttcaagattgatatcactgctgccgggttgca
+tcagttttgcttgcgcgtcgcttaacgtcacactggtgctggtggaggcggttgtttttg
+ccgcccggctgttcgttaccggcgcgtcagtggtttcgcgcggttgaacggtgcttacag
+gcttcagaggcgaagtgcgatcaatactcatggtttattcctcattgagggcgcttttat
+catgtgttgcttatttatcggcaagggacgggtaatctttaacagcttacaggtttataa
+gaatattcccatctgcatcaacaacgccgctgactacctgtcccgataccatgcgcaccc
+gcgcattctgtgcgacggctgcattgttcagcgcctgaccttctgcgttggcgctaaacc
+catcaccgctggcgatcacattgacgcgttgtcccgcttttacccgccatgcctggcgaa
+actgggttaactggataggttgatcgggtgatagatcgcgcaggctaatggcatcaacaa
+gttgattgatatccagcaccgtacgcggtggcagggtatccagccgtccgcgtttcagtt
+tgacattgccagcttccagctttcctccccgcgcaatgggcatcgcggcaaccacataat
+ttcctgtggcctgtacattaacctgtaaatatcgtttgtcgttaccgcagcgtgccaaca
+cattcacattgccccacaggcgggaattattgctcatcgaaagcaatggctgctcgcatg
+gcggtagtagattgggcgctgtacgaatagaaacacgaacctcatcacttacccccgcga
+gttgggcgctaaaaaagttgtgcaattgcgatgtgagattgctcgccgtacttaacggac
+tgaacagtatcgcgatgatcgccacgctacgttttattatcagcattttcgcccccagcc
+atttctacaacgtgaattgtacctgtccgcaatgaccatcaacggcataaatagcgaccc
+attttgcgtttattccgccgataacgcgcgcgtaaaggcatttaagctgatggcagaatt
+ttgatacctgcggaggagatatgctcgataagctcgacgccgccttacgttttcaacaag
+aggcgctcaatctgcgcgcccagcgtcaggaagtgctggcagcaaacatcgccaatgccg
+atacccctggttatcaggcgcgcgatatcgattttgccagtgaacttaaaaaagtcatgc
+aacgtggacgggatgcaaccagtgtggttgcactgacgatgacctcaacgcaacacattc
+cggcgcaggcgctgacgcctcctaccgcagaactgcaataccgtattccggaccagcctt
+cgcttgacggtaataccgtcgatatggatcgcgaacgcacccagtttgccgataacagcc
+tgcaataccagatgagccttagcgcgttgagcgggcaaatcaaaggcatgatgaacgttt
+tacagagcggaaattaacggatggcactgctgaatatttttgatatcgccgggtcggcgt
+taactgcccagtcccagcgcctgaacgtggcggccagtaatctggcgaatgctgatagcg
+tgaccggtcccgatggacagccatatcgggcaaaacaggtggtattccaggttaacgctg
+caccaggtgctgcgacaggcggcgtaaaggttgccgatgttatagaaagtcaggccccgg
+acaaactggtttatgaaccgggtaatccgctggcagatgcaaagggctacgtaaaaatgc
+cgaacgttgatgttgtcggagagatggttaacaccatgtcggcgtcacgcagctatcagg
+ccaatgttgaagtgctcaacacggtgaaaagcatgatgctgaaaacccttacgctcggtc
+aataaaggagaaagctatgtccattgcggtaaccaccaccgatccgacaaataccggcgt
+cagtaccaccagcagtagttcgctcacgggcagcaacgccgcagatttacaaagcagttt
+tctgactttgctggtggcgcagctgaaaaaccaggacccgaccaatccaatggaaaacaa
+cgagctgacgtcgcaattggcacaaatcagcacggtcagcgggattgaaaaactcaatac
+cacgctcggatctatttccggacagattgataacagccagtcgttacaggccagtaacct
+gatcggtcacggcgtgatgatccccggcaccactgttcttgcgggaaccggcagtgaaga
+aggggctgtgaccacgaccacgccgtttggtgttgagctgcaacaggcggcagacaaagt
+tacggccaccatcaccgataaaaatggcgcggttgtgcgcaccattgatattggtgaact
+gaccgccggagttcacagtttcacctgggacggtacgttgactgatggcagcactgcgcc
+gaacggttcttacaatgtagcgattagcgccagtaacggtggtacacaactggttgccca
+gccgctgcagtttgctctggtgcagggtgtgatccgcggcaacagcggtaatacgctgga
+tctcggcacttacggcaccaccaccctcgacgaagtacggcagataatttaagccttcac
+atttcaggagtcagtcatggccttttctcaagcggttagcggattaaacgctgccgccac
+caacctcgatgttattggcaacaatatcgccaactccgccacctacggctttaaatcagg
+cacggcctcttttgccgatatgtttgccggttcgaaagtgggactgggggtaaaagttgc
+cggtatcactcaggactttaccgatggcacgaccaccaacaccgggcgaggtctggacgt
+tgctatcagccagaacggttttttccgtctggtagacagcaacggttcggtgttctacag
+ccgtaacggacaatttaagctggatgaaaaccgtaacctggtgaatatgcaaggtttaca
+gctgacgggttacccggcaaccggtacgccgccgactattcagcaaggggcgaatccgac
+caatatttcgatcccgaataccctgatggcagcgaaaactaccaccacggcatcgatgca
+gatcaacctgaattccagtgatccgcttcctactgttacgccattcagcgccagcaatgc
+ggatagctataacaaaaaaggttcggtgactgttttcgacagtcagggtaatgctcatga
+catgagcgtctactttgtgaagaccggggataataactggcaggtctacacccaggatag
+cagtgatccaaacagcattgcgaagacagcgacaacactggaatttaatgctaatggcac
+attagtggatggtgcgatggcgaataatatcgcaaccggcgcaattaacggtgcagaacc
+cgccacgtttagtctgagcttcctcaactccatgcagcaaaataccggcgctaacaatat
+tgtggcaaccacccagaacggctacaaaccgggcgatctggtgagttatcaaatcaatga
+tgacggtacggttgtcggcaactattccaacgaacaaacccaactgctggggcagattgt
+actggcgaactttgccaacaacgaaggtctggcatccgaaggcgacaacgtctggtctgc
+gacgcaatcttctggcgtggcgctgttggggacagccgggacgggaaactttggcaccct
+gaccaacggtgcgctggaagcgtccaacgtcgatctcagtaaagaactggtcaatatgat
+cgttgcccagcgtaactatcagtctaacgcccagaccatcaaaacccaggaccagatcct
+caacacgctggttaacttacgctaatcgctgacgggatagctcaatggatcacgcaattt
+ataccgcgatgggagcagccagccagacactgaatcaacaggcggtaaccgccagtaatc
+tggccaatgcctcaacgcccggttttcgcgcgcagttgaatgctttacgcgcggtgccag
+tggaagggctttctctgcccacgcgcacgttggtcacggcgtcaacgccgggcgcagata
+tgacgcccggcaaaatggattacacctcgcgcccgctggacgtcgcgttgcagcaggatg
+gctggctggccgtgcagaccgctgacggcagcgaagggtatacgcgtaatggcagcattc
+aggttgatcccaccgggcaactgacaattcaggggcatccggtgataggcgaggctgggc
+caattgctgtgccggaaggggcggaaatcactattgctgccgatggcacaatctcggcgc
+tcaatccgggcgatccggcaaatacggttgcgccagtagggcgtcttaaactggtgaaag
+ccacgggcagcgaagtgcagcgcggtgacgacggcatttttcgtttaagcgcagaaaccc
+aggccacgcgtgggccggtactgcaggcagatccaaccttgcgtgtgatgtcgggggttc
+tggaaggcagtaacgtcaatgccgttgcggcaatgagcgacatgattgccagcgcgcggc
+gttttgaaatgcagatgaaggtgatcagcagcgtcgatgataacgcaggccgtgccaacc
+aactgctgtcgatgagttaattgaaaggatacatgacaagtataagttgcccgatgcgca
+agtttatcgggtctatgggggcaatcgcaatttatcgattttgcgagcacttgtaggccg
+gataaggcgtttacgccgcatccggcaagaagacatatgcactttgtcactaatccacta
+caggacattttatgatcagttcattatggatcgccaaaacgggccttgacgcccagcaaa
+ccaatatggacgtcattgccaacaacctggcaaacgtcagtactaacggttttaagcgtc
+agcgcgcggtgtttgaagatctgctttatcaaaccattcgccagccgggggcacagtctt
+ccgaacaaaccaccttaccctccggattacaaatcggcacgggggtacgcccggtcgcca
+ctgaacgcttacacagccagggaaacctgtcgcagaccaacaacagcaaagatgtcgcga
+ttaaagggcagggctttttccaggtgatgttgccagatggttcatcagcctatacccgtg
+acggctctttccaggtggatcagaacgggcagctggtgacggctggtggttttcaggtgc
+agccagcgatcaccattccggcgaatgcgttaagtatcaccatcggtcgtgatggcgtgg
+tcagcgtaacccaacaaggccaggcagctccggttcaggttgggcagctcaatctcacca
+cctttatgaatgacaccgggctggagagcattggcgaaaacctctacaccgaaacgcaat
+cctctggtgcaccgaacgaaagcacgccgggcctgaacggcgcgggactgctgtatcaag
+ggtatgttgaaacgtctaacgtcaacgtggcggaagaactggtcaatatgattcaggtgc
+aacgcgcttacgaaatcaacagtaaagcggtgtccaccaccgatcagatgctgcaaaaac
+tgacgcaactctaaggcttaaccggtggcaggttcaccggtttactgatttttgaagatg
+atagccatgcaaaaaaacgctgcgcatacttatgccatttccagcttgttggtgctttca
+ctaaccggctgcgcctggataccctccacgccgctggtgcagggggcgaccagtgcacaa
+ccggttcccggtccgacgcccgtcgccaacggttctattttccagtctgctcagccgatt
+aactatggctatcaaccgctgtttgaagatcgtcgaccacgcaatattggcgatacgctg
+accatcgtgttgcaggagaacgtcagcgccagcaaaagctcctctgcgaatgccagccgt
+gacggtaaaactaattttggctttgatactgtgccgcgctatttgcaggggctgtttggt
+aacgctcgtgccgatgtcgaagcctccggtggtaacacgttcaacggaaagggcggggcc
+aatgccagcaatacctttagcggcacgttgacggtgacggttgaccaggtactggtcaac
+ggcaacctgcatgtggtgggtgaaaaacagattgccattaatcagggtaccgaatttatt
+cgcttctctggcgtggttaatccacgcactatcagcggcagcaataccgtaccgtctact
+caggtggcggatgcgcgcattgaatacgtaggcaatggctacattaacgaagcgcaaaat
+atgggctggttgcagcgtttcttccttaacctgtcgccaatgtaagtgaggctgtggtga
+ttaaatttctctctgcattaattcttctactggtcacgacggcggctcaggctgagcgta
+ttcgcgatctcaccagtgttcagggggtaaggcaaaactcactgattggctatggtctgg
+tggtggggctggatggcaccggtgaccagacaacccagacgccgtttaccacacaaacgc
+ttaataacatgctctcacagctgggaattaccgttccgacgggcaccaatatgcagctaa
+aaaacgtcgctgcggtaatggtgacagcgtcacttcctccgtttggacgtcaggggcaaa
+ccatcgatgtggtggtttcttccatgggaaatgccaaaagcttgcgtggaggtacgttgt
+tgatgacaccgcttaagggcgttgacagtcaggtgtatgcgctggcgcagggcaatattc
+tggttggcggcgcaggagcctccgctggcggtagcagtgttcaggttaaccaactgaacg
+gtggacggatcaccaatggtgcggttattgaacgtgaattgcccagccagtttggcgtcg
+ggaatacccttaatttgcaacttaacgacgaagatttcagcatggcgcagcaaatcgctg
+acaccatcaaccgcgtgcgtggatatggcagcgccaccgcgttagatgcgcggactattc
+aggtgcgcgtaccgagtggcaacagttcccaggtccgcttccttgccgatattcagaata
+tgcaggttaatgtcaccccgcaggacgctaaagtagtgattaactcgcgcaccggttcgg
+tggtgatgaatcgcgaagtgaccctcgacagctgcgcggtagcgcaggggaatctctcag
+taacagttaatcgtcaggccaatgtcagccagccagatacaccgtttggtggtggacaga
+ctgtggttactccacaaacgcagatcgatttacgccagagcggcggttcgctgcaaagcg
+tacgttccagcgccagcctcaataacgtggtgcgcgcgctcaatgcgctgggcgctacgc
+cgatggatctgatgtccatactgcaatcaatgcaaagtgcgggatgtctgcgggcaaaac
+tggaaatcatctgatgatcagcgacagcaaactactggcaagtgcggcctgggatgcgca
+atcactcaacgaactaaaggcgaaagcgggcgaagatccggcggcaaatatccgtccggt
+ggcccgtcaggtggaagggatgttcgtgcagatgatgttgaaaagcatgcgcgacgcttt
+accaaaagatggcctgttcagcagcgagcacactcgcctgtataccagtatgtatgacca
+gcagattgcccaacagatgacggcgggcaaaggtctggggcttgcagagatgatggttaa
+acagatgacgccagaacaaccattgccagaggagtccacgccagcagcaccgatgaaatt
+cccgctcgaaactgtggtgcgttatcaaaatcaggcgctttcgcagctggtgcaaaaggc
+cgtgccacgtaactacgatgattcgctgccgggtgacagtaaagcattcctcgcgcaact
+ctcgctgcccgcccaactggcaagccagcaaagcggtgtgccacatcatttgatcctcgc
+tcaggcggcactggaatctggttgggggcaacggcaaatccgccgcgaaaacggcgagcc
+gagctataacctgtttggtgtcaaagcctctggcaactggaaagggccagttactgaaat
+caccacgactgaatatgaaaacggcgaagcgaagaaagtaaaagcgaagtttcgcgtcta
+cagctcgtatctggaagccttgtcggattacgttgggctgttaacgcgtaacccgcgcta
+cgccgccgtgacgaccgccgcgagtgcggaacagggggcgcaggccctacaggacgcggg
+ctatgccaccgatcctcactatgcccgcaaactcaccaacatgattcagcagatgaaatc
+gataagcgacaaggtgagcaaaacctacagtatgaacattgataatctgttctgaataac
+tcaagtccggcgggtcgctgccgataatactctgtaattgaaggcttataaggaacctcc
+atgtccagcttgattaataacgccatgagcggactgaacgcggcccaggcggcgttaaat
+acggcaagtaataatatctccagctataacgttgccggatatacccgccaaaccactatt
+atggcgcaggccaatagcacgttgggcgctggcggctgggttggcaatggtgtctacgtt
+tctggtgtgcagcgtgagtatgatgcgtttattaccaaccagttacgtgcggcgcagacg
+caaagtagcggtctgactgcccgctatgagcagatgtcgaaaatcgacaatatgctctcc
+accagtacctcttcgctggcaacacagatgcaggatttcttcaccagcctgcaaacgctg
+gtgagtaacgcggaagacccggcagcgcgccaggcgctgattgggaaatcagaaggattg
+gtgaatcagtttaaaaccaccgatcaatatctgcgcgaccaggacaaacaggtcaatatc
+gcgataggtgccagcgttgatcagatcaacaactacgctaaacaaattgccagcctgaac
+gatcaaatctcgcgcctgacaggcgtgggggcaggggcgtcacctaacaatctgctggat
+caacgcgatcaactggtgagcgaattaaaccagattgttggtgtagaagtcagcgttcag
+gatggcggcacttataacatcacgatggccaatggttactcactggttcagggaagtacg
+gcgcggcaactggcggcagttccttccagcgctgacccttctcgtacgactgtcgcttat
+gttgatgggacggcaggcaatattgagatcccggagaaattactgaataccgggtcgctg
+ggcggcattctgacattccgttctcaggatctggaccagacgcgtaatacgcttggacaa
+ctggcgctggcatttgccgaggctttcaacacccaacacaaagccggatttgatgctaac
+ggcgatgccggtgaagatttctttgctatcggtaagcccgcggttctgcaaaacacgaaa
+aacaaaggtgacgttgcgatcggtgccacggtaactgatgcctccgcggtactggcgaca
+gattacaaaatctcgttcgataataatcagtggcaggtcacccgccttgccagcaatacc
+acttttacggtgacgccggatgccaacggtaaagtggcatttgatggtctggagttgacg
+tttacaggaacgcctgccgttaacgacagcttcacgctgaaaccagtaagtgacgccatc
+gtcaacatggatgtattaatcaccgacgaagcgaaaatagcgatggcgagcgaagaagat
+gcgggtgatagcgataaccgcaacggtcaggccctgctggatctgcaaagcaacagtaaa
+acggtgggcggtgcgaaatcctttaacgacgcttatgcctcgttagtgagtgatatcggt
+aataaaaccgcgacgttgaaaaccagtagcgccacgcaaggtaatgtggtgacgcagctt
+tccaatcagcagcagtcgatttccggtgtcaatctcgatgaggagtacggaaatctgcaa
+cgttttcagcagtattacctggcgaatgcgcaggttctgcagacggcaaacgcgattttt
+gatgcgctgattaacattcgctaaggggagataagatgcgtttcagtacacagatgatgt
+accagcaaaacatgcgtggtatcaccaattctcaggcagaatggatgaagtacggcgaac
+agatgtcgacgggtaagcgagtcgttaacccttctgacgatcccattgctgcatcacaag
+ccgtagttctctcccaggcacaggcgcaaaacagccagtacacgctggcgcgtactttcg
+ccactcaaaaagtgtcactggaagagagtgtacttagccaggtcaccactgctatccaga
+atgctcaggaaaaaattgtctacgccagcaatggcaccttgagtgacgatgaccgggcct
+cgctggctacggatattcaggggcttcgtgaccagttgctgaatctggcaaacaccactg
+acggtaacgggcgctacatttttgccggttataaaacagagactgcgccgtttagcgaag
+agaaagggaaatacgtcggtggagcagaaagtattaaacaacaggtcgatgcttcgcgtt
+cgatggtgatagggcacacgggtgacaaaattttcgacagtattaccagcaacgcggtag
+cggaaccagacggtagcgcttctgaaaccaatctttttgccatgctggatagtgccatcg
+cagccctgaaaacgccggtcgcggatagcgaagcggataaagaaaccgccgctgcggcgt
+tagataaaaccaaccgcggactgaaaaactcgctgaacaatgtgctgactgttcgcgcgg
+aattaggcacgcagctgaacgaactggagtcgctggattcattaggtagcgatcgcgctt
+tagggcaaacgcagcagatgagcgatctggttgatgtggactggaatgcaactatttcat
+cttacatcatgcagcaaacggcattgcaggcatcgtataaagcatttaccgatatgcagg
+gattgtcgctcttccagctcagcaaataatttcgctttaaaacatatcatgaaactgggt
+atgttttgtctgcctgctctgggatcgctggggcgggcatttttttgcctattttgcatt
+gttggttagcaaggatgccattcgatgaattttaatatgttgattcaaagatgaaataaa
+aaagccctggcagttaccagggcttgattactttgagctaattattactcaacaggttgc
+ggacgcgcaggagcggcagaggcatgatgtgttgccgtatgaccacctgcggcaccttta
+ccttcgaaggcaaaagtagggcgctgccagtcactgtgacgcggtgcctccggaacatat
+tccggtgctggagcgcgcgtcattggcgcggtagcgtggttatgctcaacggtgacctca
+ggttcgaccgcagctaccgtttcaacttctgctgcgacttcagcgactactggcgcggca
+ggttgagcaacaacttcaggttcagcaactacaacctcagcagtttcgacaacttcttca
+atatctgccgtctcttcctgcggttcaaccaccggttctgcttgttctgcaacttcctgg
+gctacggcaacatcagactcggtaatcacctgcggctgttcagttaccgcggcagcgatc
+acttcaggatgcgtcgtttcaaccacttccggttgcggttcggcaacctgaacgggggct
+tctacgacaccggccacttcttcaacaactggcgcgctaacaaccggttcgatagcggcg
+gcgacagggacctcagtcaccatcggctgcacatgtacttcttcctgttcgcgctgctct
+tcaacctgtacatcttgcggacgtacaattggatagcggatccagactttgccagaggcc
+agttccggagacgcgcacgctacggtcaacggcattggcgactgggttggataacgctcg
+tcacgatagcgacgacgacgctgaccacttacgcgcaggtgacgaggcgagcggcgagaa
+cgacgcggcatgccaccgttgtcacggttatcagcattgttctcttcttgctgttctggt
+gcagtttgcgctacgactggcagcgggactttcaccagttctgtgcgtggagctggcgct
+tcctgaacaattggttcggcagcgacagtttcttcaaccaccggtgcgactaccgcttct
+tcggctacgctttgctcgtaacgcactttctgattgagctgacgctgtttacgacgcggc
+tgaaccggacgtacacgttcttcctgttcggtttcctgaacagattgctcttcaacattc
+agcgccttcgcttcttgttgcgcctgacgtttatcatcattacggcggcggctacgttca
+cgacgcggcgcttgctgctcgtcggcggtacgcgctttttccgttacctcagcctgctga
+cggctctcacgcgtctcggcagtctgctgctgtgcctggcgacgattacgacggttttct
+tcgcgattatcgctgccttcagtacgttcactacgggtgtcgcggcgctcattacggtca
+cggcggttgttctgacgaggcttgcgacgatcctgttgacgttccggtttcgcttctgct
+ttcggtgctggttgctcggtcggtttggtttcttcaccaccgctgaacagcgctttcagt
+gcgccgaagaagcggctcaacagcccaggttgtgcaggagctgctggtgttgccggtgca
+gctttcggtgctggagctacaacaggcgcggcaggttcagctggcgttggcgcaggcggc
+acatccggcatggcaaaggttgccagcgcaggttgttccggacgcttacgttcagcgaac
+tcttcttcagacggcagcgccatcgcttcttcatgcagcttcggcagcatgtagcttaag
+gttggggtttcttcccctttacgcacgcgcagcacgtggtagtgcggggtttccatctga
+tcgtttggcacaattacacagcgcacaccgtcctgacgagtttcaatggcatttaccgca
+gaacgtttttcattcagcaggtaagaagcgattggcacaggaacaatggcgtgaacttcc
+tgggtgttctctttcagcgcttcttcttcgatcagacgcagaatagagagcgacagcgat
+tcgttgtcacgcacggtgccagtaccagaacaacgcggacaaacgtgatgactggattca
+cccagtgatgggctcaggcgctgacgggacatttccagcaggccaaagcgagaaatatgg
+ctgatttgaatacgcgcacggtcctgacgcaccgcttcacgcagacggttttctaccgca
+cgctggtggcgtactggcgtcatgtcgatgaagtcgataacaatcaggccgccgaggtca
+cgcaggcgcagctgacgagcaatctcatcggcagcttcgaggttagtgttaaacgcggtt
+tcttcgatatcgccgccgcgggtcgcgcgtgcggagttgatgtcgatggccgttaacgct
+tcggtgctgtcgataacaatggaaccaccagacggcagacgaacttcacgctggaaggcg
+gactcgatctgtgactcgatctggtagtggctgaacagcgggatctcgccggtgtacagt
+ttgattttgctgctgaaatccgggcgacctaatgcagcgatatgctgacgtgccagttcg
+agcactttcgggttatcgataaggatttcgccgatgtcctgacgtaagtaatcgcggaat
+gcgcgaacgattacgttgctctcctgatgaatcaggaacggggccgggcggctttcagcg
+gcttttttgatggcttcccagtgtttcagacggaagcttaaatcccattgcagcgcctca
+gcagatttgccgacgccagcggtgcgcacgataagccccatgccttccggcagttcaagg
+cttgccagtgcttcttttaattcggtacggtcgtcgccttcgatacggcgagaaatgcca
+cccgcgcgcgggttgttcggcatcagaaccagatagctacccgccagactgataaaggtg
+gttaatgccgcgcctttgttgccgcgctcttctttatcgatctgaacaatgacttcctga
+ccttcacgcaacacatctttaatgttgggacgaccatgagcactgtagttagcagggaaa
+tattcgcgggcaatttcttttagtgggaggaaaccgtgacgttcagcgccgtaatcaaca
+aaagcagcttccagactcggttcaatgcgggtgattttacctttgtagatgtttgccttt
+ttctgctcgtgccctggactttcgatatccaggtcatacagacgctgcccatctacaagg
+gcaacgcgcaactcttcctgctgagttgcgttgattaacattcttttcatcgtaacttac
+tcattattcttacattgacgactaagctgcgggcaaagtaacgcctttccgggtgtgaac
+cgatggcctcgtgtctagtcgcgtcgccaacctcacggttatcgtcagctcaaagaggcg
+cagagtgtcggttgcccgtttttcatgcggaaaaacagcgcaattatcaaagaaacagac
+tgggtattactctccagaaatatttccatctaccggtaaggactgcaacccgcagcccgc
+taactgcctgaaagatcaatacgtcttacgccattgctgcgtggatgatcggtcgggcaa
+aatgggttattccgtaaaatttcttgttttaacaaggatggacacggaaacggcctcatt
+attccactgcaagccttgttatagcaagatgacttttaccatttatcacccgcttactca
+cagttttttcacttcttgctggtgattggtttaataaccatcaataaagtgatcacgcag
+tgaagtaataaggtgcaaaagtaaatataagcatagaaaaatgagtggcgcgaatcctgt
+tggctaattagaatcgccaaccatgaaaacagagactccatccgtaaaaattgttgctat
+caccgctgacgaagcggggcaacgtatcgataactttttgcgtacccaattgaaaggcgt
+accaaaaagtatgatttaccgtattttgcgtaaaggcgaagtgcgggtgaacaaaaaacg
+tattaagcctgaatataaactcgaagcgggtgatgaggtgcgtattccaccggttcgcgt
+tgctgagcgggaagaagaggcggtttcgccacatctgcaaaaggtggcggcgctggcgga
+cgtcatcttatatgaagatgatcacatcctggtgctgaataaaccttccggtacggcggt
+acatggcggcagtggtttaagcttcggcgttattgaaggtttgcgggcgttgcgcccgga
+agcgcggttccttgaactggttcatcgtcttgaccgggacacctcaggtgttttgctggt
+agcgaaaaaacgctcggcgttgcgttctctgcatgagcaattacgtgaaaaagggatgca
+aaaagattacctggcgctggtgcgcggtcagtggcagtcgcatgtgaagagcgttcaagc
+accgttactgaaaaatattctgcaaagcggcgaacgtatcgtgcgtgtgagtcaggaagg
+caaaccgtcggaaacacgctttaaagtggaagaacgctatgcatttgccaccctggtgcg
+ttgtagcccggtaacagggcgtactcaccagatccgtgtgcatacacaatatgcgggtca
+tccgattgcctttgacgatcgctacggtgaccgtgaatttgacaggcagctcactgaagc
+aggcacgggattaaatcgcctgttcctgcacgctgcagcgttgaagtttactcatccggg
+gaccggtgaggtgatgcgtatcgaagctccgatggatgaaggtttgaagcgttgtttgca
+aaagctgcgtaacgcgcgctaatacaagcatataaacctgataatgggcggttggcctga
+taaggcgtttacgccgcatcaggccgccagcaccgattgccggatgcgacgtaaccacat
+ccggcgcaaaaaactatcccatcagcgggtttttcccttcccgacgtaacatctgacaca
+gcgcgattagcggtaaaccaaccagcgtgttaggatcacgcccctctaaacgctcaaaca
+gcgtaatgccaaatccttcactcttaaagctacccgcgcagtgcaggggatgctctttac
+gcacgtaattatcaatctccgcctcgctcaggtgacggaaatggacgtcaaaaggctcca
+cttctgtttgcagatgcccattcgccgaattaaacaacgccagtccagtatagaaggtga
+cgatattgccgctggctttgcgtaattgcagacgggcattttcttccgttaacggtttac
+cggtgatttcgccatcaagaacacatacctggtctgaaccaataattaaatgatccggat
+aacgtgacgccagagattgcgctttttcttgtgccagtcgaagcaccaactgtcgcggtg
+attcgtcgctgcgtggggtttcgtcgacctctggtgctgcacattcaaaagagatttgca
+gtttttccagaagagcgcgacgccatggcgaggtggaggctaaaataagtttaggcatat
+ttttttccatcagatatagcgtattgatgatagccattttaaactatgcgcttcgttttg
+caggttgatgtttgttatcagcactgaacgaaaataaagcagtaacccgcaatgtgtgcg
+aattattggcaaaaggcaaccacaggctgcctttttctttgactctatgacgttacaaag
+ttaatatgcgcgccctatgcaaaaggtaaaattacccctgactctcgatccggttcgtac
+ggctcaaaaacgccttgattaccagggtatctatacccctgatcaggttgagcgcgtcgc
+cgaatccgtagtcagtgtggacagtgatgtggaatgctccatgtcgttcgctatcgataa
+ccaacgtctcgcagtgttaaacggcgatgcgaaggtgacggtaacgctcgagtgtcagcg
+ttgcgggaagccgtttactcatcaggtctacacaacgtattgttttagtcctgtgcgttc
+agacgaacaggctgaagcactgccggaagcgtatgaaccgattgaggttaacgaattcgg
+tgaaatcgatctgcttgcaatggttgaagatgaaatcatcctcgccttgccggtagttcc
+ggtgcatgattctgaacactgtgaagtgtccgaagcggacatggtctttggtgaactgcc
+tgaagaagcgcaaaagccaaacccatttgccgtattagccagcttaaagcgtaagtaatt
+ggtgctccccgttggatcggggataaaccgtaattgaggagtaaggtccatggccgtaca
+acagaataaaccaacccgttccaaacgtggcatgcgtcgttcccatgacgcgctgaccgc
+agtcaccagcctgtctgtagacaaaacttctggtgaaaaacacctgcgtcaccacatcac
+tgccgacggttactaccgcggccgcaaggtcatcgctaagtaatcacgcatctgcgtgat
+gaagcttagtgaggattttccccaggcaactggggaaagaccaaaccgggcggcgacgat
+accttgacacgtctaaccctggcgttagatgtcatgggaggggattttggcccttccgtg
+acagtgcctgcagcattgcaggcactgaattctaattcgcaactcactcttcttttagtc
+ggcaattccgacgccatcacgccattacttgctaaagctgactttgaacaacgttcgcgt
+ctgcagattattcctgcgcagtcagttatcgccagtgatgcccggccttcgcaagctatc
+cgcgccagtcgtgggagttcaatgcgcgtggccctggagctggtgaaagaaggtcgagcg
+caagcctgtgtcagtgccggtaataccggggcgctgatggggctggcaaaattattactc
+aagcccctggaggggattgagcgtccggcgctggtgacggtattaccacatcagcaaaag
+ggcaaaacggtggtccttgacttaggggccaacgtcgattgtgacagcacaatgctggtg
+caatttgccattatgggctcagttctggctgaagaggtggtggaaattcccaatcctcgc
+gtggcgttgctcaatattggtgaagaagaagtaaagggtctcgacagtattcgggatgcc
+tcagcggtgcttaaaacaatcccttctatcaattatatcggctatcttgaagccaatgag
+ttgttaactggcaagacagatgtgctggtttgtgacggctttacaggaaatgtcacatta
+aagacgatggaaggtgttgtcaggatgttcctttctctgctgaaatctcagggtgaaggg
+aaaaaacggtcgtggtggctactgttattaaagcgttggctacaaaagagcctgacgagg
+cgattcagtcacctcaaccccgaccagtataacggcgcctgtctgttaggattgcgcggc
+acggtgataaaaagtcatggtgcagccaatcagcgagcttttgcggtcgcgattgaacag
+gcagtgcaggcggtgcagcgacaagttcctcagcgaattgccgctcgcctggaatctgta
+tacccagctggttttgagctgctggacggtggcaaaagcggaactctgcggtagcaggac
+gctgccagcgaactcgcagtttgcaagtgacggtatataaccgaaaagtgactgagcgta
+catgtatacgaagattattggtactggcagctatctgcccgaacaagtgcggacaaacgc
+cgatttggaaaaaatggtggacacctctgacgagtggattgtcactcgtaccggtatccg
+cgaacgccacattgccgcgccaaacgaaaccgtttcaaccatgggctttgaagcggcgac
+acgcgcaattgagatggcgggcattgagaaagaccagattggcctgatcgttgtggcaac
+gacttctgctacgcacgctttcccgagcgcagcttgtcagattcaaagcatgttgggcat
+taaaggttgcccggcatttgacgttgcagcagcctgcgcaggtttcacctatgcattaag
+cgtagccgatcaatacgtgaaatctggggcggtgaagtatgctctggtcgtcggttccga
+tgtactggcgcgcacctgcgatccaaccgatcgtgggactattattatttttggcgatgg
+cgcgggcgctgcggtgctggctgcctctgaagagccgggaatcatttccacccatctgca
+tgccgacggtagttatggtgaattgctgacgctgccaaacgccgaccgcgtgaatccaga
+gaattcaattcatctgacgatggcgggcaacgaagtcttcaaggttgcggtaacggaact
+ggcgcacatcgttgatgagacgctggcggcgaataatcttgaccgttctcaactggactg
+gctggttccgcatcaggctaacctgcgtattatcagtgcaacggcgaaaaaactcggtat
+gtctatggataatgtcgtggtgacgctggatcgccacggtaatacctctgcggcctctgt
+cccgtgcgcgctggatgaagctgtacgcgacgggcgcattaagccggggcagttggttct
+gcttgaagcctttggcggtggattcacctggggctccgcgctggttcgtttctaggataa
+ggattaaaacatgacgcaatttgcatttgtgttccctggacagggttctcaaaccgttgg
+aatgctggctgatatggcggcgagctatccaattgtcgaagaaacgtttgctgaagcttc
+tgcggcgctgggctacgacctgtgggcgctgacccagcaggggccagctgaagaactgaa
+taaaacctggcaaactcagcctgcgctgttgactgcatctgttgcgctgtatcgcgtatg
+gcagcagcagggcggtaaagcaccggcaatgatggccggtcacagcctgggggaatactc
+cgcgctggtttgcgctggtgtgattgatttcgctgatgcggtgcgtctggttgagatgcg
+cggcaagttcatgcaagaagccgtaccggaaggcacgggcgctatggcggcaatcatcgg
+tctggatgatgcgtctattgcgaaagcgtgtgaagaagctgcagaaggtcaggtcgtttc
+tccggtaaactttaactctccgggacaggtggttattgccggtcataaagaagcggttga
+gcgtgctggcgctgcctgtaaagcggcgggcgcaaaacgcgcgctgccgttaccagtgag
+cgtaccgtctcactgtgcgctgatgaaaccagcagccgacaaactggcagtagaattagc
+gaaaatcacctttaacgcaccaacagttcctgttgtgaataacgttgatgtgaaatgcga
+aaccaatggtgatgccatccgtgacgcactggtacgtcagttgtataacccggttcagtg
+gacgaagtctgttgagtacatggcagcgcaaggcgtagaacatctctatgaagtcggccc
+gggcaaagtgcttactggcctgacgaaacgcattgtcgacaccctgaccgcctcggcgct
+gaacgaaccttcagcgatggcagcggcgctcgagctttaaaagaggaaaatcatgaattt
+tgaaggaaaaatcgcactggtaaccggtgcaagccgcggaattggccgcgcaattgctga
+aacgctcgcagcccgtggcgcgaaagttattggcactgcgaccagtgaaaatggcgctca
+ggcgatcagtgattatttaggtgccaacggcaaaggtctgatgttgaatgtgaccgaccc
+ggcatctatcgaatctgttctggaaaaaattcgcgcagaatttggtgaagtggatatcct
+ggtcaataatgccggtatcactcgtgataacctgttaatgcgaatgaaagatgaagagtg
+gaacgatattatcgaaaccaacctttcatctgttttccgtctgtcaaaagcggtaatgcg
+cgctatgatgaaaaagcgtcatggtcgtattatcactatcggttctgtggttggtaccat
+gggaaatggcggtcaggccaactacgctgcggcgaaagcgggcttgatcggcttcagtaa
+atcactggcgcgcgaagttgcgtcacgcggtattactgtaaacgttgttgctccgggctt
+tattgaaacggacatgacacgtgcgctgagcgatgaccagcgtgcgggtatcctggcgca
+ggttcctgcgggtcgcctcggcggcgcacaggaaatcgccaacgcggttgcattcctggc
+atccgacgaagcagcttacatcacgggtgaaactttgcatgtgaacggcgggatgtacat
+ggtctgaccgcgatttgcacaaaatgctcatgttgcgcgcagtctgcgtggttatgagta
+ataattagtgcaaaatgatttgcgttattggggggtaaggcctcaaaataacgtaaaatc
+gtggtaagacctgccgggatttagttgcaaatttttcaacattttatacactacgaaaac
+catcgcgaaagcgagttttgataggaaatttaagagtatgagcactatcgaagaacgcgt
+taagaaaattatcggcgaacagctgggcgttaagcaggaagaagttaccaacaatgcttc
+tttcgttgaagacctgggcgcggattctcttgacaccgttgagctggtaatggctctgga
+agaagagtttgatactgagattccggacgaagaagctgagaaaatcaccaccgttcaggc
+tgccattgattacatcaacggccaccaggcgtaagtgaacatctccaggcggtcgttcga
+ccgcctgagttttatctttttgtcccactagaatcattttttccctccctggaggacaaa
+cgtgtctaagcgtcgtgtagttgtgaccggactgggcatgttgtctcctgtcggcaatac
+cgtagagtctacctggaaagctctgcttgccggtcagagtggcatcagcctaatcgacca
+tttcgatactagcgcctatgcaacgaaatttgctggcttagtaaaggattttaactgtga
+ggacattatctcgcgcaaagaacagcgcaagatggatgccttcattcaatatggaattgt
+cgctggcgttcaggccatgcaggattctggccttgaaataacggaagagaacgcaacccg
+cattggtgccgcaattggctccgggattggcggcctcggactgatcgaagaaaaccacac
+atctctgatgaacggtggtccacgtaagatcagcccattcttcgttccgtcaacgattgt
+gaacatggtggcaggtcatctgactatcatgtatggcctgcgtggcccgagcatctctat
+cgcgactgcctgtacttccggcgtgcacaacattggccatgctgcgcgtattatcgcgta
+tggcgatgctgacgtgatggttgcaggtggcgcagagaaagccagtacgccgctgggcgt
+tggtggttttggcgcggcacgtgcattatctacccgcaatgataacccgcaagcggcgag
+ccgcccgtgggataaagagcgtgatggtttcgtactgggcgatggtgccggtatgctggt
+acttgaagagtacgaacacgcgaaaaaacgcggtgcgaaaatttacgctgaactcgtcgg
+ctttggtatgagcagcgatgcttatcatatgacgtcaccgccagaaaatggcgcaggcgc
+agctctggcgatggcaaatgctctgcgtgatgcaggcattgaagcgagtcagattggcta
+cgttaacgcgcacggtacttctacgccggctggcgataaagctgaagcgcaggcggtgaa
+aaccatcttcggtgaagctgcaagccgtgtgttggtaagctccacgaaatctatgaccgg
+tcacctgttaggtgcggcgggtgcagtagaatctatctactccatcctggcgctgcgcga
+tcaggctgttccgccaaccatcaacctggataacccggatgaaggttgcgatctggattt
+cgtaccgcacgaagcgcgtcaggttagcggaatggaatacactctgtgtaactccttcgg
+cttcggtggcactaatggttctttgatctttaaaaagatctaagttgtcattttccaccc
+ttataaaaggtccgcttgcgggccttttttcttagcttttattccgacttgttccgtagt
+gaacatgctgccacactaacaattctctgataaggagccggtatgttcttaattaacggt
+cataagcaggaatcgctggcagtaagcgatcgggcaacgcagtttggtgatggttgtttt
+accaccgccagagttatcgacggtaaagtcagtttgttatcggcgcatatccagcgacta
+caggatgcttgtcagcggttgatgatttcctgtgacttctggcctcagcttgaacaagag
+atgaaaacgctggcagcagaacagcaaaatggtgtgctgaaagtcgtgatcagtcgcggt
+agtggcgggcgagggtacagcacattgaacagcggaccggcaacgcggattctctccgtt
+acggcttatcctgcacattacgaccgtttgcgtaacgaggggattacgttggcgctaagc
+ccggtgcggctggggcgcaatcctcatcttgcaggtattaaacatctcaatcgtcttgag
+caagtattgattcgctctcatcttgagcagacaaacgctgatgaggcgctggtccttgac
+agcgaagggtgggttacggaatgctgtgcggctaatttgttctggcggaagggcaacgta
+gtttatacgccgcgactggatcaggcaggtgttaacggcattatgcgacaattctgtatc
+cgtttgctggcacaatcctcttatcagcttgtcgaagtgcaagcctctctggaagagtcg
+ttgcaggcagatgagatggttatttgtaatgcgttaatgccagtgatgcccgtatgtgcc
+tgtggcgatgtctccttttcgtcagcaacgttatatgaatatttagccccactttgtgag
+cgcccgaattagtcatgaaaaaagtgttattgataatcttgttattgctggtggtactgg
+gtatcgccgctggtgtgggcgtctggaaggttcgccatcttgccgacagcaaattgctta
+tcaaagaagagacgatatttaccctgaagccagggaccggacgtctggcgctcggtgaac
+agctttatgccgataagatcatcaatcgtccacgggtttttcaatggctgctgcgtatcg
+aaccggatctttctcactttaaagccgggacttaccgctttacaccgcagatgaccgtgc
+gcgagatgctgaaattgctggaaagcggtaaagaagcacagttccctctgcgactggtag
+aagggatgcgtctgagcgattacctcaagcaattgcgtgaggccccgtatatcaagcata
+cgctgagcgatgataagtacgccaccgtagcgcaggcacttgaactggaaaacccggagt
+ggattgaaggttggttctggccagacacctggatgtataccgccaataccaccgatgtcg
+cgttactcaagcgagcgcacaagaaaatggtgaaagcggtcgatagcgcctgggaagggc
+gtgcggacggtctgccttataaagataaaaaccagttggtgacgatggcatcaattatcg
+aaaaagaaaccgccgttgccagtgaacgcgataaggttgcctcagtatttatcaaccgtt
+tacgcattggtatgcgcctgcagaccgacccgaccgtgatttacgggatgggagagcgtt
+ataatggcaaactttctcgtgcagacctggaaacgccgacagcgtataacacctatacca
+ttaccggtctgccgccaggtgcgatagcgacgccgggggcggattcgctgaaggctgctg
+cgcatccggcaaaaacgccgtatctctattttgtggccgatggtaaaggtggtcacacgt
+ttaataccaatcttgccagtcataacaagtctgtgcaggattatctgaaagtgcttaagg
+aaaaaaatgcgcagtaagtatatcgtcattgaggggctggaaggcgcaggcaaaactacc
+gcgcgtaatgtggtggttgagacgctcgagcaactgggtatccgcgacatggttttcact
+cgggaacctggcggtacgcaacttgccgaaaagttaagaagcctggtgctggatatcaaa
+tcggtaggcgatgaagtcattaccgataaagccgaagttctgatgttttatgccgcgcgc
+gttcaactggtagaaacggtcatcaaaccagctctggctaacggcacctgggtgattggc
+gatcgccacgatctctccactcaggcgtatcagggcggcggacgtggtattgaccaacat
+atgctggcaacactgcgtgatgctgttctcggggattttcgccccgacttaacgctctat
+ctcgatgttaccccggaagttggcttaaaacgcgcgcgtgcgcgcggcgagctggatcgt
+attgagcaagaatctttcgatttctttaatcgcacccgcgcccgctatctggaactggca
+gcacaagataaaagcattcataccattgatgccacccagccgctggaggccgtgatggat
+gcaatccgcactaccgtgacccactgggtgaaggagttggacgcatgagatggtatccat
+ggttacgacctgatttcgaaaaactggtagccagctatcaggccggaagaggtcaccatg
+cgctactcattcaggcgttaccgggcatgggcgatgatgctttaatctacgccctgagcc
+gttatttactctgccaacaaccgcagggccacaaaagttgcggtcactgtcgtggatgtc
+agttgatgcaggctggcacgcatcccgattactacaccctggctcccgaaaaaggaaaaa
+atacgctgggcgttgatgcggtacgtgaggtcaccgaaaagctgaatgagcacgcacgct
+taggtggtgcgaaagtcgtttgggtaaccgatgctgccttactaaccgacgccgcggcta
+acgcattgctgaaaacgcttgaagagccaccagcagaaacttggtttttcctggctaccc
+gcgagcctgaacgtttactggcaacattacgtagtcgttgtcggttacattaccttgcgc
+cgccgccggaacagtacgccgtgacctggctttcacgcgaagtgacaatgtcacaggatg
+cattacttgccgcattgcgcttaagcgccggttcgcctggcgcggcactggcgttgtttc
+agggagataactggcaggctcgtgaaacattgtgtcaggcgttggcatatagcgtgccat
+cgggcgactggtattcgctgctagcggcccttaatcatgaacaagctccggcgcgtttac
+actggctggcaacgttgctgatggatgcgctaaaacgccatcatggtgctgcgcaggtga
+ccaatgttgatgtgccgggcctggtcgccgaactggcaaaccatctttctccctcgcgcc
+tgcaggctatactgggggatgtttgccacattcgtgaacagttaatgtctgttacaggca
+tcaaccgcgagcttctcatcaccgatcttttactgcgtattgagcattacctgcaaccgg
+gcgttgtgctaccggttcctcatctttaagagagacatcatgtttttagtcgactcacac
+tgccatctcgatggtctggattatgaatctttgcataaggacgtggatgacgttctggcg
+aaagccgccgcacgcgatgtgaaattttgtctggcagtcgccacaacattaccgggttat
+ttacatatgcgggatctggtaggcgaacgtgacaacgtcgtattttcttgtggcgtgcat
+ccactcaaccagaatgatccctacgatgtagaagatttacgccgtctggcggcagaagag
+ggtgttgtagcgctgggtgaaaccgggctggattattattacacgccggaaactaaagta
+cgtcagcaagagtccttcatccatcatatccagattggtcgtgaactgaacaagccggtt
+atcgtccatacccgtgacgcccgtgccgatacgctggcaattctgcgcgaagaaaaagtg
+acggattgcggtggcgtactacactgttttacagaggacagagaaacggcgggtaaatta
+ctggatctcggattttacatctccttttccggcattgtgaccttccgtaatgcggagcaa
+ctgcgcgatgctgcgcgttatgtccccctggatcggttactggtggaaactgactcacct
+taccttgcgccggtaccgcatcgaggaaaagagaatcaacctgcgatggttcgtgacgtt
+gcagaatacatggctgtgttgaaaggtgttgccgttgaagaactggcgcaggtaaccacc
+gataacttcgcccgtctgtttcacatcgacgcttcccgccttcaatccatccgttgaatg
+agtttttttaaagctcgtaattaatggctaaaacgagtaaagttcaccgccgaaaattgg
+gcggtgaataaccacgtttgaaatattgtgacatatgttttgtcaaaatgtgcaacttct
+ccaatgatctgaagttgaaacgtgatagccgtcaaacaaattggcactgaattattttac
+tctgtgtaataaataaagggcgcttagatgccctgtacacggcgaggctctccccccttg
+ccacgcgtgagaacgtaaaaaaagcacccatactcaggagcactctcaattatgtttaag
+aatgcatttgctaacctgcaaaaggtcggtaaatcgctgatgctgccggtatccgtactg
+cctatcgcaggtattctgctgggcgtcggttccgcgaatttcagctggctgcccgccgtt
+gtatcgcatgttatggcagaagcaggcggttccgtctttgcaaacatgccactgattttt
+gcgatcggtgtcgccctcggctttaccaataacgatggcgtatccgcgctggccgcagtt
+gttgcctatggcatcatggttaaaaccatggccgtggttgcgccactggtactgcattta
+cctgctgaagaaatcgcctctaaacacctggcggatactggcgtactcggagggattatc
+tccggtgcgatcgcagcgtacatgtttaaccgtttctaccgtattaagctgcctgagtat
+cttggcttctttgccggtaaacgctttgtgccgatcatttctggcctggctgccatcttt
+actggcgttgtgctgtccttcatttggccgccgattggttctgcaatccagaccttctct
+cagtgggctgcttaccagaacccggtagttgcgtttggcatttacggtttcatcgaacgt
+tgcctggtaccgtttggtctgcaccacatctggaacgtacctttccagatgcagattggt
+gaatacaccaacgcagcaggtcaggttttccacggcgacattccgcgttatatggcgggt
+gacccgactgcgggtaaactgtctggtggcttcctgttcaaaatgtacggtctgccagct
+gccgcaattgctatctggcactctgctaaaccagaaaaccgcgcgaaagtgggcggtatt
+atgatctccgcggcgctgacctcgttcctgaccggtatcaccgagccgatcgagttctcc
+ttcatgttcgttgcgccgatcctgtacatcatccacgcgattctggcaggcctggcattc
+ccaatctgtattcttctggggatgcgtgacggtacgtcgttctcgcacggtctgatcgac
+ttcatcgttctgtctggtaacagcagcaaactgtggctgttcccgatcgtcggtatcggt
+tatgcgattgtttactacaccatcttccgcgtgctgattaaagcactggatctgaaaacg
+ccgggtcgtgaagacgcgactgaagatgcaaaagcgacaggtaccagcgaaatggcaccg
+gctctggttgctgcatttggtggtaaagaaaacattactaacctcgacgcatgtattacc
+cgtctgcgcgtcagcgttgctgatgtgtctaaagtggatcaggccggcctgaagaaactg
+ggcgcagcgggcgtagtggttgctggttctggtgttcaggcgattttcggtactaaatcc
+gataacctgaaaaccgagatggatgagtacatccgtaaccactaatccgtaagacgttgg
+ggagactaaggcagccagatggctgccttttttacaggtgttattcagaattgatacgtg
+ccggtaatgctgaaattacgcggtgtgccgtagacgatagaaccttccacgttggtatcg
+taggttttgtcgaacaggttattgacgttcccctgtaacgagaagtttttcgtcacctgg
+tagcgggtgaagagatccaccagcgcgtagctaccttgctcggcgcggaaggtgccatac
+ggcgtcacggtgtcggtatacacgcgattttgccagttaacaccaccgccgaccgtcaac
+tctggcatgacaggcaaccgatagctggtgaacattttaaccgtggtgcgtggcagatta
+ggattaacggcgtttccttcgttatcctctgcaatatagcgcgttgcgccaaatgtcagc
+tgccagttgtcggtaattgcgccgttgagttcaaattccacccctttactgactgtccca
+tccaccgctttataggcggtttcgccgttgctgccggggataggtgtaccggtggactga
+gcgacattatcctgctcaatacggaagatggctaacgtggtggtcagacggctattcatc
+cagtccgatttcagacccagctcgtagttgttaccggtgattggagccagatatttgcct
+gaactgtcacgatcattttgcggctggaaaatagaggtatagctggcgtaggtcgaccag
+ttgtcattgatgtcaaacaccagaccagcgtaaggcgtggtgtggtttttctccatgctg
+taagtcagcgtatcaacccgccagttggtataacgtgcgccgaggatcagatgcagcgga
+tcggcaagggtgacacgagtggcagcatataacgatttcatatgtgtggtatcgtcctgc
+gccaggctctgtggtgaccagtcggtttgtgggaaattgccattaaagttgtagaaactg
+ccaatttcatccgggaagatgttggcccatgaactgaagtaacgattgttttgtttgctg
+taactgccaccaaacattagattgtgctgacgaccaaacaattcataactaccgtcagcg
+aacaaatccagcgcatcaactttacgtttgccactgttccaaccggtgccgccgacataa
+tcaaagccaggtccataattactgtatggcccaaccagcataccatccgctttgtttaca
+taggcatcgacatacatcattttgctgtcaaattcgacttcagagtgggtggcattcagt
+gtcgcttgccaggtatcagcaaactgctgcttcagggtcataaagaccttgttgatctct
+ttatcgttgtacgcccagtcaggtgcggtactgcgtgcgcgatcgtaactgttgctgctg
+ccatcagtattccagcgcggtaaaccgccccaggtagggctattaacatcaatgcgctga
+tattcgtaaccggctgaaagcgtcgtaagatcgcctaaatcagcatcgacaatgcccgag
+aagaaggtcttttcactgttgtagcggtccagccatgagtcgttattctggtagccgccg
+acaattcgcgcgcggattttaccgtcttcggtgagtgggctttgtaaatccgccacatac
+cgttctttgttccagctaccgtattccgccgagacatcgcctttaaattcacgactggtc
+gcgtgttttcgaaccatattaattgccgcagatggattacccgtcccggtcatgagtcct
+gtcgcgccacgcactacttctacgcgttcaaagagtgccatatcagaaagtgcgtcgccc
+agattccagcgcgattcaaaataggtggggataccatcaaccatatagttatcgatctgg
+aatccgcgggaataataaagagcacgatcggaatccgcctgacttttgctgatccccagc
+gtgttttccatcacttcgcccagcgtttgtaactgctgatcttccatccgctgctggcta
+acaatagtgaccgactgaggaatatcacgttgagtcatctgcattttggtacccgcagag
+gtagacgttacgctgtaatcattttcgccatcatctggagctgtggctgaaccctcaaca
+atcaccgtttcttcagtggctggtgcagcaaaagcggcagaaggtaatagtgccagtgct
+atgcaaccggcaagtagtgacggtttggtgatggcttgatattgattatccctgttaaat
+tgtgttgaaagcatttgaaatctcttggtttatgttgtcgtcaggctcatgccggaggag
+ggtgatgagcgattatatttagtgtgcgaataattttgtttgtaaatgcaaatgagaaat
+atacgcattcatatttgtcatgtaaaccaaacagagaatgtcttttcagcgcattcgcag
+gcagaaatgggaataatggcgatatatacggcagcaaaacgattttttgcttaagaaatc
+gtgagttaaggttgaaagagcaggtttaactcgaccatactctatactcgcagtgtggcg
+cggcgtagcatggcgcaacgcatggctatttgaaaaaggaaaatgtcgtggcagaagaaa
+ctatattcagcaaaattattcgtcgtgagatcccctccgatatcgtctaccaggatgatc
+tggtaacggcgtttcgcgatatttcgccgcaagcgccaacgcatattctgatcattccga
+atatcctcattccgactgtgaacgacgtctcagctgagcatgagcaggcgctgggacgca
+tgatcaccgtagcggcaaaaattgctgagcaagaaggtattgccgaagatggctatcgtc
+tgatcatgaataccaaccgccatggcggacaagaggtttaccacatccatatgcacttgt
+tgggtggccgtccgctgggaccaatgctggcgcataaaggtctgtaacgatgagaaaagg
+atgctttgggctggtgtctctggtgttgttactgctggtgggctgtcgttcacatccgga
+aattccggtgaatgatgagcaatcgctggtgatggagtcatctttattggctgcgggcat
+cagtgcagaaaagcccttcctttcgacgtctgatattcaaccttcagcatcctcaacgct
+ttataacgaaaggcaagaacccgttaccgttcattatcgtttttactggtatgacgccag
+agggctggagatgcatcctctggaaaggccacgcagcgttaccattcccgcacattcggc
+ggtaacgctgtacggcagcgccaattttctgggggcgcacaaagtcagactttatctata
+tttgtaaggggtgaatcttgatgacaaaaatgagtcgctacgccttgattaccgcgctgg
+cgatgtttctcgccgggtgtgtggggcaacgtgaacctgcaccggtagaagaagtgaaac
+cagcgccggaacaaccagccgagccacaacagcctgtccccacagtgccctcggtgccga
+cgatcccgcagcagccaggcccaattgagcacgaagatcaaactgcaccgcctgcgccgc
+atattcgccattatgactggaatggcgcaatgcagccgatggtcagtaagatgcttgggg
+ctgacggggtgactgcgggtagcgtcctgctggttgatagcgttaacaaccgtactaacg
+gttcgctgaatgccgcagaagcgaccgaaacgctgcgaaatgcgctggctaataacggga
+aatttaccctggtttccgcccagcaactgtcgatggcgaagcaacagttaggtttgtcgc
+cgcaggacagtttaggcacccgtagtaaagccataggcattgcccgcaatgtcggcgctc
+attacgtgctgtactccagcgcctctggcaacgttaacgctccgaccctacaaatgcagc
+tgatgctggtgcagacgggcgaaattatctggtcaggtaaaggtgccgtttcgcagcaat
+aatcccatcacgcgcgacgaattgctgtcgcgctttttcccgcagtatcatcccgtcacg
+acgtttaatagtgggcttagtggcgggagttttctcattgaacatcagggccagcgtttt
+gttgtgcgtcagccgcacgatcctgatgcgccgcagtccgcgttcttgcgccagtatcgg
+gctttatcacaactacccgcatgcattgcaccgaagccgcatttatatctccgtgactgg
+atggtagtcgactatctgcccggcgcggtaaaaacgtatttgccggataccaacgaactg
+gcaggcttgctgtattatctacatcaacaaccacgttttggctggcgaataacgctgttg
+ccgttactggaactgtactggcagcaaagcgatccggcgcggcggacagtgggttggctg
+cgaatgttaaaacgtctgcgcaaagcgcgggaaccacggcctttacgcttaagtccattg
+catatggatgtccacgccggaaatttagtgcatagcgcgtcagggttaaaactcatcgac
+tgggagtatgccggagatggtgatatcgcgctggaactggcggcggtgtgggtggaaaat
+actgaacagcaccggcaattggtcaatgactatgccactcgcgcgaagatttatccggcg
+caattatggcgtcaggtcaggcgatggtttccctggctgctgatgctcaaagcagggtgg
+tttgagtaccgctggcgacaaaccggcgatcaacaatttatcaggctggccgatgacacc
+tggcggcagctattaataaaacaataaggagagcagtgtgggtccagtaatgttggatgt
+cgaaggttacgaactggacgcggaagagcgtgaaatactggcgcatccgctggtgggagg
+gctgattctctttacgcgtaactatcatgatcctgcccagttacgtgaactggtgcgcca
+gatccgcgcagcttcgcgcaatcgtctggtggtggcggttgatcaggaaggtggacgcgt
+gcagcgttttcgtgaaggttttacccgcttgccagcggcgcaatcattcgctgcgctgtc
+aggaatggaagagggtggcaaactggcgcaggaggcaggttggttgatggccagcgaaat
+gatcgctatggatattgatatcagctttgcgcctgtgctggatgtcgggcatatcagcgc
+ggcgattggcgagcgttcttatcatgccgatccacaaaaagccctggcaattgccagccg
+gtttattgatggtatgcatgaagccggaatgaaaacgaccgggaaacacttcccaggaca
+cggtgcagtaacggcagactcacacaaagaaacaccgtgcgatccacgtccacaagcgga
+gattcgcgctaaagatatgtcggtcttcagttccttaatccgcgaaaataaactcgacgc
+cattatgcctgcgcatgtgatctacagtgatgttgatccgcgtccggcgagcggttctcc
+ctactggctgaaaaccgttttgcgtcaggaactgggttttgacggcgtgattttctctga
+cgatttatcgatggaaggtgccgcgattatgggcagttatgccgaacgcgggcaggcttc
+actggatgcgggttgcgatatgatcctggtctgcaataatcgtaaaggggccgtcagcgt
+gttagataatctgtcaccgatcaaggcagaacgtgttacacgtttgtatcataaaggttc
+attttcgcgacaggaactgatggactcggctcgctggaaagcgatcagcacccgtctgaa
+tcagttacatgaacgctggcaggaagagaaagcaggtcactaaccctggcttatgtgagg
+aagcgatgattatctatttacacggttttgactctaacagtccgggtaaccacgagaaag
+tcttacaattgcagtttattgacccggatgtacgcttgataagctacagtacgcggcatc
+cgaaacatgatatgcagcatctgcttaaagaagtggacaaaatgttgcaactgaacgttg
+acgagcgtccgctaatttgcggcgttggcttgggcggatactgggcggaacggattggtt
+ttctttgcgacatccgccaggtgatcttcaaccctaatttgttcccttatgagaacatgg
+aaggcaagattgatcgcccggaagagtatgccgatattgccactaagtgtgtgaccaact
+tccgtgagaagaatcgcgatcgttgcctggtgattttgtcgcgtaatgatgaagcgctta
+acagccagcggacatctgaagagttgcatcattattacgagattgtctgggacgaagagc
+agacgcacaaattcaagaatatctccccgcatttacagcgcattaaagcgttcaaaaccc
+tcgggtaaatgccctcgtcgcatcaggtaaccttgccggtacctgatgcgctccgaattc
+tgtgggtcggataaggcgtccacgccgcatccgacagtcgagcatcaatgcctgatgcgc
+ttcttatcaggcctaccgaacgccctgcatacacccctcactctatatcactctcacaaa
+ttcgctcaaataataaacaataaactctgttttttgatctcacccggtaaagtcgcctat
+cttttcagcaacaaaacttgattaacatcaattttggtatgaccaatgcaccattcatgt
+tattctcaatagcgaagaacattttcattgctgtaacctgttgttaattaagagctatgt
+taataaccattaattaacaattggttaataaatttaagggggtcacgttgactacgccat
+tgaaaaagattgtgattgtcggcggcggtgctggtgggctggaaatggcaacacagctgg
+ggcataagctgggacgcaagaaaaaagccaaaattacgctggtcgatcgtaaccacagcc
+acctgtggaaaccgctgctgcacgaagtggcgactggctcgcttgatgaaggcgtcgatg
+cgttgagctatctggcccatgcgcgcaatcatggtttccagttccagctgggttccgtca
+ttgatattgatcgtgaagcgaaaacaatcactattgcagaactgcgcgacgagaaaggtg
+aactgctggttccggaacgtaaaatcgcctatgacaccctggtaatggcgctgggtagca
+cctctaacgatttcaatacgccaggtgtcaaagagaactgcattttcctcgataacccgc
+accaggcgcgtcgcttccaccaggagatgctgaatttgttcctgaaatactccgccaacc
+tgggcgcgaatggcaaagtgaacattgcgattgtcggcggcggcgcgacgggtgtagaac
+tctccgctgaattgcacaacgcggtcaagcaactgcacagctacggttacaaaggcctga
+ccaacgaagccctgaacgtaacgctggtagaagcgggagaacgtattttgcctgcgttac
+cgccacgtatctctgctgcggcccacaacgagctaacgaaacttggcgttcgcgtgctga
+cgcaaaccatggtcaccagtgctgatgaaggcggcctgcacactaaagatggcgaatata
+ttgaggctgatctgatggtatgggcagccgggatcaaagcgccagacttcctgaaagata
+tcggtggtcttgaaactaaccgtatcaaccagctggtggtggaaccgacgctgcaaacca
+cccgcgatccagacatttacgctattggcgactgcgcgtcatgcccgcgtccggaagggg
+gctttgttccgccgcgtgctcaggctgcacaccagatggcgacttgcgcaatgaacaaca
+ttctggcgcagatgaacggtaagccgctgaaaaattatcagtataaagatcatggttcgc
+tggtatcgctgtcgaacttctccaccgtcggtagcctgatgggtaacctgacgcgcggct
+caatgatgattgaaggacgaattgcgcgctttgtatatatctcgctataccgaatgcatc
+agattgcgctgcatggttactttaaaaccggattaatgatgctggtggggagtattaacc
+gcgttatccgtccgcgtttgaagttgcattaatcgacgtacactggcggatgtggcataa
+acgcctcatccgcccttgaggaacagcgcgatcggcagccgcgttgtatcaggcatcctt
+tcagactcctccgaatccttaagtatttccagccattcccgcgcttttcatcttctgtct
+gatagctgcttttctccttcgcttgcatgattggcataactgcaaagaaggaggtgttcc
+cgtgaataaatcaatgttggcgggtatcgggattggtgtcgcagctgcgctgggcgtagc
+ggcagtggccagtctgaacgtgtttgaacggggcccgcaatacgctcaggttgtttctgc
+aaccccaatcaaggaaacggttaaaacaccgcgtcaggagtgtcgcaacgtcacagtgac
+ccatcgtcgaccggtgcaggatgaaaatcgcattaccgggtcggtgctcggcgctgttgc
+tggcggcgtgatagggcatcagtttggtggtggtcgcggtaaagatgtcgccactgttgt
+gggggcgctgggtggtggatatgccggtaaccagatccagggctctctccaggaaagcga
+tacttacacgactacgcaacagcgttgtaaaacggtgtatgacaagtcagaaaaaatgct
+cggttatgatgtgacctataagattggcgatcagcagggcaaaatccgcatggaccgcga
+tccgggtacgcagatcccgctagatagcaacgggcaactgattttgaataacaaagtata
+acaaggctgtactctgcaatttggcccctcattcgctcaggctgaggggctttttttgcg
+acttatttcaccagttcgggccataaacgcaaagtcgttccggcaatctgcatcagtttt
+tccagcgatgcaccttcgcgtgcgctgatcgacatcccctgaataatacaattaaggaat
+tctgccagatgtgtcacgtcacagtggggcgggatttccccgcgcgcttgtcgttgacat
+aaaaactgctgcaaagtgcgctcttgcatcgcatggcgtgatttcaacgtattggcgata
+tctcctgaatctggggagagggtggtgcagttgttgatcatgaagcagcctgccggggtg
+tctttgctggtaaagcagttggcgatggcagcaaaatagtcagccagcgcagactccacg
+cttttctcttcacaaaacagctgtgcttcatgcttagcggcaaaacgatcgatatagcgg
+tcgagaacggcacgaaataacccctctttgttggtaaattccgcgtatagcgtgggcgct
+ttggctccggtcgcttcgacgaggtccgcaagagaagtcgcttcataaccgtgttgccag
+aacaatttcatggccttatcaagcgcggcatccctgtcgaacacttttgggcggccacgg
+cttttttttacacattgtgttgagtcagttgccatgatgccgttgtacctggtgactgtg
+aatgaaaggttattataaaaataatcacctccgttcaccagtccagatcccataaaaata
+attgctttctatttaactgaaatttaaagatttttaaattaattaatgattgttataaaa
+aatatcttgtatgtgatccagatcacatctatcatttagttatcgatcgttaagtaattg
+cttgcgacgtcattcatctgcataaggccactattatgaaaaacgtaaaaaccctcatcg
+ctgcggcgattttaagctccatgtcatttgccagctttgcggctgtcgaagttcagtcaa
+cgccagaaggccaacaaaaagtcggtacaatcagtgctaacgcggggacaaatctgggat
+cgctggaagagcagctggcgcaaaaagcggatgagatgggcgcaaaatctttccgtatta
+cttctgtaaccggtccgaataccctccatggaacagcagtaatttataaataagcattaa
+ccctcattaatgcctgctactgctgattttttccccgcgacatgccgtgtcgcggggatt
+tttttatccgggctttacagcgtttgtgggctcacttgatgacggcggacatccaccggc
+atcccggaacggacatccatcacatgttgcatcacttcagcgtcagtttgtgctgcatct
+ttaaatgattgcattgcgctattcagcgtaattggcagcagctgcggatcgtcatcaatc
+ttctctgacagcggctgatgtacttcaaccagacgcgcaccgtttggttcggcagagact
+tttatcggagtgttgatgatattcactttggtgcctggggtgacctggctaaagagtgtt
+ttgatatcgtcatcccgcagacgaatacagccagaacttacccgcatgccaatgccgaaa
+tcggcgttcgtaccatgaagcaaataaacgccgccataggccgccagacgaatcgcatga
+tggcccattgggttatccagtccagccggcactaccgcaggcaactcaattccctgtgct
+ttataacgggcgcggatgtttgccgttggcgtccaggttgggtttgcacgtttgtctgaa
+acggtggtcaccattgtcggtgtcagcgtgtcaccacctaactgaccaatacctattgga
+tacacggttaccgaatttttacccggcgggtagtaatagagacgcagctccgcaatgttg
+atcacaatgccttcgcgcggcgcatctggaagtagggtttgcaacgggatcgttaacacg
+ctgcccgcgcgcggtacgtaaggatcaacgccggggttagcctgtaacagagcgagaaag
+ccgacgttgtattttttggcgatggcttccagagaaccaccgtcattttccaccacatga
+aatttgttttcgccaaccagacgactgcccgctggcggcagcggccaggtgttggctttt
+gccggtagcgccagcgccacggcagcggcgaacgtaaaaaacgttagccagcgagaaaaa
+cgcgttttgatcatcaccaaaaatccataataaatataaggttattgtaataaacagata
+agcctgaattatggatggtgacagtgtcggatagtgcagggaagtgcaaagaatttgtaa
+atgttgcagatgggggcgcagaaacgcccccgatttaccattaagcgatcgcgttctctt
+ccagttcacgcataaactggcgtacccattcgatacgcgttttccgctcactcaaatcct
+gaataaatttcaggcgcgtcggaccatcaaggcggtaatgctgcggctgtttttgcagca
+aaccaatcaaccaggccggattaacgtgattcttctcggcaaattcgatcaccccgcctt
+tctcattaccttccagcttcctgatccccagtttctgcgcttgctggcgcagacgggcaa
+tatccagcagggtacgcgccggatctggcagcaggccgaagcgatcgataagctcgactt
+tgatctcttccagttcgttttccgttttggcgctggcaatacgtttgtagaacgacagac
+gcgtgttcacgtcagggatgaaatcatctggcaatagcgacggcatccgcagctcgactt
+ctgtttgctggctggtgagatcttccagcgacggctcgcgtccggctttcagtgcatcga
+cggcgttttccagcaactccatatacagcgagaaaccgatggtttccattgagccgcttt
+gttcttcgccaagcagttcacccgcgccgcgaatctccagatcgtgcgttgccagcgcaa
+aacctgccccgagatcttccagcgaggcaattgcttcaagacgtttttgtgcatcggtag
+tcatcgcttttggatgcggtgtcagcaaccatgcatatgcctgatgatgcgaacgtccga
+cgcgaccgcgtaactggtgcagctgcgccagaccgaagtgatccgcgcgttcaatgataa
+tagtgttggctgtcgggatgtcgatcccggtttcgataatggttgtacaaaccagcacgt
+tgaaacgttgatgatggaaatcattcatcacccgttccagttcgcgctcgcgcatctgcc
+cgtgaccgatggcgatccgcgcttctggcaccagttctgccagccgttcggcggctttct
+gaatgttttccacatcattgtagagataataaacctgtcctccgcgcaaaatttcacgca
+ggatcgcctcccggaccaccatgctgtcatactcacggacaaaggttttaactgccagac
+gacgggcgggcggcgtggcgataatcgacaggtcacgcattccgctcattgccatattca
+gcgtacgtgggatcggcgttgcagtaagcgtcagaatatccacgttcgcgcgcatcgctt
+taatgcgctctttatgacgcaccccgaagcggtgttcttcatcgacaatcagcaggccta
+aatctttaaacttgacgtcactttgcagcagtttgtgcgtaccgatcagaatatcgattt
+tcccttccgccacttccgcaaggatttgcgtctgctctttggcgctgcggaaacgggaga
+tcatttcgatacgtaccggccagttggcgaaacggtcgcggaagttgtcgtaatgctgct
+gcgcgagaagggtggtaggcaccagcaccgccacctgcttgtggttatctactgccagga
+aagctgcgcgcatcgccacttctgttttaccaaagccaacatcgccgcacaccagacgat
+ccattgccagcggctgacacatgtcgctaagtaccgcattaatggcctgcgcctgatccg
+gcgtggtttcaaacgggaagctgtcgcagaacaactgatactgctcacgatcgtgtttaa
+acgcgaagccctctttggcggcgcgttgcgcgtagatatccagcaattccgccgccacat
+cacgcactttttccgccgctttctgccgcgcgcgtgaccacgcatcgccgccaagtttat
+gcagcggggcgttttcttccgcgccacctgcgtaacggctaatcagatgcagtgacgaca
+ccggaacatacagtttggcgtcgttggcataggtgagcatcagatactcgccagtaatgc
+cacccgcttccagcgtggtcattccggcataacgaccgacgccgtgctccagatggacca
+ccggctgaccaatatgcagttccgcaaggttacggatcagtgtatcggggttgatggtgc
+ggcgagaatcctgacgacgacgggcaacgcgttcaccgagcagatcgctttcgcaaatca
+gcgccagattacgcaccgtatcgacaaaaccatgttcggcagcgccaatcatcagataac
+gcccacggtcgctggcttcatcaagacgcataatgcgttgcggagcaattttaattcgtg
+cgagcagttcacccagcgcttcacggcgaccttcactttctaccgagaacaccaccggac
+cgtcgaaagtctcgaggaacttacgcagcgcatccagcggcgctttttgttgtgcctgaa
+cggccaggtctggcagtttctggaaacctaaattggcattcgcggcttttgtcggtaaat
+gttcagtttttagctgcacccggggccagtttttcagctctgagaagagctcgtccaccc
+gcagccagagcgattgtggtggcaacagcgggcgcatcggatcgacgccgcgattctcaa
+aacgcgccagcgtgtcagcctggaaacgttcggcactggtttccagatcgccagtattca
+cgagcaaggtattggcagggaaataactgaacagcggcggcagtggttcgctgaagaaca
+atggctgccagtactcgatcccggcaggtaatgtgcctttactcacttgctggtaaatat
+gttctggatcgcgcttcacttcgaaggtatcgcgccactggctgcggaacagttcaattg
+ccgctttatcggtcggaaattcgtgcgcgggcagcagattgatcgcttctacttcctcca
+gcgtgcgctggctgtcgacgtcaaacacccgcaggctgtcgatttcatcatcaaagaaat
+caagacgataaggcagctcactccccatcgggaagagatccagcaacgcgccgcgcgtgg
+cgtattcgccgtgctccatcacctggtcaacatggcgataaccggcgctgtccagttggg
+ttcgtaatgcatctcgtgacaggcgctgaccttttttcatcaccagcgcatgaccgtgga
+gaaaactgtgtgggcaaacgcgctgcataagcgtattcaccggaacaatcagtacgccac
+gctgcatcgtcggtagctggtaaagggtggaaaggcgcgaggagataatgtcctgatgag
+gcgaaaaactgtcgtagggaagagtttcccagtccgccagattcatcaccatttgatcgg
+taaactggctgatttcatcatgcaaacgcagagcattttgcatatctggtgcaatgagta
+ccaccggaccggcgtgacgttcggcaatttccgctaccagcgttgcacaggctgcgccgg
+ttaactcgcccagcagacgctgctcacccgctttgacgggcagcgtataacgatattgtt
+caggcataacggttgtcagattctcgttaggatatgcctcaacatatgggggcatatctc
+tgataagcaatgctgttcattatccgtaatcgacatggtttagcaaattgaatcgccccg
+gctggggcgatggcttagcgggagtaactgacggcagcgggcagtgaaggcggggagaac
+aacagatcgctgaatgcacgctgtgaaagttttcttaccagcaagcccgcaacagtacag
+atgaacaaactgacaaagggataaaccagcaggagtgtcagttcgacttgcggcgaccag
+cgtgctgcgttcatttgcgcaagcagagttaagctgaatatttcaaccagaatgcgatgg
+gtggtgtagatagcaatggtgttggagccaatcacattcagcaggctggtggagcgcata
+ccgaatcgttgctcgtattgataaaacagcttcatgatcaccacaatcgataccagcgac
+aacagcagcgagatagtaaacaaccaggcaccgaccgccagaacggtaagcaaagaagcc
+atcagcagatggcggcgcaacggcacctctttaacacaggtcattattgttgcgccaaac
+catgcgccaaggctgtaataaggcaaattgcggatcacactgttcattccccaccacggc
+gtgggaacgaaattaaccgccacactcagcagtacaaacaaggcgaatagtggcagcgcc
+agacggctaaaaattttacataccacgaaatagacaattaacgcatacagataccacaag
+ctggtgctggcggtgatcatcccgtgcaggaactcaccggtggaatcggcataagcggca
+ttggaggcattgcttaaatcgcgctcaggtgccagccactggttcagcgcacttaacgcc
+agccactgcaccacgccccaaagcgccagcacccagaagatgttccagatccgtttatcg
+agacaatttccccacggtacgctgtcgatatagcggcgaatcaaatagccggatataaag
+aaaaaaaccggcatacgaaagggggcaaggtaaagattgaaatagatccagcatttgctc
+aggacttccgataacggatgctgaaaagtggtcagatgcggataaaaggtaatgaccgag
+tgataaatcaccaccagacaaatacataaccctttgatctggttaatccatagctctttt
+tgtttcatcaggacaacacgctcttttttaatttacatgcggttgatcctgcgggttatg
+acccgaggtgtaatgggtatctgtctgtattggatgatttttcagattaagatcaggcgg
+caagattgatgataaaacatggcaatttagccgattgatttacgggggcttttcagatta
+gccctgacgatcacttacagttcagacgtttacccatcttgctttcgcttatatactcgt
+gtctttgctacagcaaccagacggatttcatgtaccaacctgtcgctctatttattggcc
+tgcgttacatgcgtgggcgtgcagcggatcgcttcggtcgtttcgtctcctggctttcta
+ccatcggcattaccctcggggtgatggcgctggtcacagtattgtcagtgatgaacggct
+ttgagcgcgagctgcaaaacaacatccttggcctgatgccacaggcaattctctcttctg
+agcatggctctcttaacccgcagcaactcccagaaacggcagtcaaactggacggcgtta
+atcgcgtcgcacctattactaccggtgatgtggtactgcaaagcgcgcgcagcgtggcgg
+tcggggtgatgctcggtatcgacccggcgcaaaaagatccacttacaccgtatctggtca
+atgtgaaacaaactgacctcgagccggggaaatataatgtcatcctcggcgaacaacttg
+cctcacagctaggcgttaatcgcggtgatcaaatccgcgtgatggtaccatctgccagcc
+agttcacgccgatggggcgtattccaagccagcgcctgttcaatgtgattggcactttcg
+ccgccaacagtgaagtcgatggctatgaaatgctggtgaatattgaggatgcctcgcgtc
+tgatgcgttatccggcaggcaatattaccggctggcgtttgtggctggatgagccgctga
+aagtcgactcattaagtcagcaaaaactgcctgaaggcagcaaatggcaggactggcgtg
+atcgtaaaggcgagttgttccaggccgtacgcatggaaaaaaatatgatgggtttactgc
+tgagcctgattgtcgccgttgcggcgtttaacattattacctcactagggctgatggtaa
+tggagaagcagggcgaagtagcgatcctgcaaacgcaaggcttaactccgcgacaaatca
+tgatggtctttatggtgcaaggggccagcgccgggattatcggtgcgatcctcggagcgg
+cgcttggcgccctgcttgccagccagttaaataatctgatgccgataatcggcgtcctgc
+ttgatggcgcggcgctgccggtggctatcgaacctttacaggtcattgttattgcgctgg
+tggcgatggctatcgcgctgctgtctacgctttacccttcatggcgcgctgccgccactc
+aacccgctgaggctttacgttatgaataagatcctgttgcaatgcgacaacctgtgcaaa
+cgctatcaggaaggcagtgtgcaaaccgatgtgctgcacaatgtcagtttcagcgtcggc
+gaaggtgaaatgatggcgatcgtcggtagctctggttccggtaaaagtaccttgctgcac
+ctgctgggcgggctggatacgccaacctccggcgatgtgatttttaatggtcagccaatg
+agcaaactgtcgtcggcagcgaaagctgaactgcgcaaccagaagctgggctttatttat
+cagtttcaccacctgctgccggattttaccgccctggaaaacgtggctatgccgctgctg
+attggcaagaaaaagcccgctgaaatcaacagccgtgcacttgagatgttaaaagcggtg
+gggctggatcatcgtgcgaatcaccgcccatctgaactttctggcggcgaacgccagcgt
+gtggcgattgcccgtgcgctggtgaataacccgcgcctggtactggcggatgaacctacc
+ggtaacctcgatgcgcgtaacgccgacagcatcttccagttgcttggggaattgaatcgc
+ttgcagggcaccgccttcctggtggttactcacgacctgcaactggcgaaacgtatgagc
+cgccagttagaaatgcgtgatggtcgtctgacggcggaactgagcctgatgggggcggag
+taatggcgatgcctttatcgttattaattggcctgcgttttagtcgcggacggcggcgcg
+gcggcatggtgtcgctgatctccgttatttctaccattggcattgccctcggcgtggcgg
+tattgatcgtcggcttaagcgcgatgaacggctttgaacgcgaactgaacaaccgtattc
+tggcggtggtgccgcatggtgaaatcgaggcggtggatcagccgtggactaactggcagg
+aagcactggatcacgtgcaaaaagtgccgggtattgccgctgccgcgccgtatatcaatt
+tcaccgggctggtggaaagtggcgcgaatcttcgcgcaatccaggtgaagggcgttaacc
+cgcaacaggaacagcgtctgagcgcattaccctcgtttgtccagggcgatgcgtggcgca
+attttaaagcgggcgaacagcaaattatcatcggcaaaggcgtggcggatgcgctgaaag
+tgaagcagggggattgggtgtcgattatgatccccaactcgaatcccgagcataaactga
+tgcagccaaaacgtgtgcgtttgcacgttgccggtattttgcagttgagtggtcaactcg
+atcacagttttgccatgatcccgctggcggatgcccaacaatatcttgatatgggttcca
+gcgtgtcaggtattgcccttaaaatgacggatgttttcaacgccaataagctggtacgcg
+atgcgggtgaagtgaccaacagctatgtttatattaaaagctggattggtacttacggct
+atatgtatcgcgatatccaaatgatccgcgccattatgtatctggcgatggtactggtga
+ttggcgtggcctgtttcaacatcgtctccaccttagtgatggcggtgaaagacaagagtg
+gcgatatcgcagtattaagaacgctgggggcgaaagatggtttaattcgcgccatctttg
+tctggtatggattgctggcagggctgttcggcagcctgtgtggtgtgattatcggcgtag
+tggtttcactgcaacttaccccgattattgagtggattgaaaagttgatcggtcatcagt
+tcctctccagcgatatctattttattgatttcctgccatcggaattgcactggctggacg
+tcttctacgtactggtcacagcattgttgctgagtcttttggcaagttggtatccggcgc
+ggcgcgccagtaatattgaccctgcgcgagtccttagcggccagtaaaggcagtacatta
+aaacaaggagcggcaatgtattacgggtttgatattggtggaacaaaaattgcgcttggc
+gtgtttgatagcggtcggcagttgcagtgggaaaagcgggtgccgacaccgcgtgacagc
+tatgacgcatttttagatgcagtgtgtgagctggtagctgaagctgaccaacgttttggc
+tgtaaaggttctgtcggcatcggtattccgggaatgccggaaacagaagatggtacgctg
+tatgccgccaatgtccccgctgccagcggtaaaccgctgcgtgccgacctgagcgcacgt
+cttgatcgcgatgtacgccttgataacgatgccaactgttttgccctttcagaagcctgg
+gatgatgaatttactcaatatccactggtgatggggttgattctcggcaccggtgttggc
+ggcgggctgattttcaacggcaaaccgattaccggtaaaagctacattaccggcgagttt
+ggccatatgcgtctgccggttgatgcgttaaccatgatggggttggatttcccgttacgc
+cgctgcggctgtggtcagcatggctgcattgaaaattatctgtctggtcgcggttttgcg
+tggctgtatcaacactattatcatcaaccgttgcaggctcccgaaattattgcgctttat
+gatcaaggcgatgagcaggcaagggcgcacgttgagcgttatctggatttattagcggtt
+tgtctgggaaatatcctgaccatcgttgaccctgacctggtcgtcattggtggtggctta
+tcgaatttcccggcaatcacaacgcaactggcggacaggctgcctcgtcatctcttacct
+gtagctcgtgttccgcgcattgaacgcgcgcgccacggtgatgcgggaggaatgcgtggt
+gcggccttcctacatctaaccgattaaacaacagaggttgctatgctgtcgcgtcggggt
+catcggttaagtcgttttcgtaaaaataaacgccgcctgcgcgagcgtttgcgtcagcgt
+atttttttcagagataaagtggtgccggaagcaatggaaaaaccaagagtactcgtactg
+acaggggcaggaatttctgcggaatcaggtattcgtacctttcgcgccgcagatggcctg
+tgggaagaacatcgggttgaagatgtggcaacgccggaaggtttcgatcgcgatcctgaa
+ctggtgcaagcgttttataacgcccgtcgtcgacagctgcagcagccagaaattcagcct
+aacgccgcgcatcttgcgctggctaaactgcaagacgccctcggcgatcgctttttgctg
+gtgacgcagaatatcgacaacctgcatgaacgcgcaggtaataccaatgtgattcatatg
+catggggaactgctgaaagtgcgttgttcacaaagtggtcaggttctcgactggacagga
+gacgttaccccagaagataaatgccattgttgccagtttccggcacccttgcgcccgcac
+gtagtgtggtttggcgaaatgccactcggcatggatgaaatttatatggcgttgtcgatg
+gccgatattttcattgccattggcacatccgggcatgtttatccggcggctgggtttgtt
+cacgaagcgaaactgcatggcgcgcacaccgtggaactgaatcttgaaccgagtcaggtt
+ggtaatgaatttgccgagaaatattacggcccggcaagccaggtggtgcctgagtttgtt
+gaaaagttgctgaagggattaaaagcgggaagcattgcctgatgcactacgcttatcagg
+cctgcaaggggacgcaattaattgaatttgcgggttttgtgggccggataaggcgttcgc
+gccccatccggaataatacacgcgcacttttccggcctcttttatcgtttactcgtcaat
+aacaatgcggcaataaacgtacagacaccaattagccctgcccagagtggcgatattctg
+gtaatcgcaaagctattatcgatatacaaacataaagcctgataacccatattggcaata
+gtcatcgccactgcaaattttaacgcataaataaaacgagtcgtgtagtaaaagatcctg
+gaaaataagataaacgtcgcagcccaggcgataaaacctaatgtgttggtgctgccgggg
+ggagcattttcatgctgttgtcctggatgcggataatacgttagtggcggcgtcgattgt
+tttaatatctgtgcttgtagaacagccaatgcattattgattccctgataccagagatct
+gcatttaaataagccagcgtgtgattttctatcagaaggccgagatgtttatcgtccaga
+ccactttcaacctggccgttggtgatcataattaaccgtggttcgcgggtagtaaatagt
+aacagaacacttccttttacatcactcaatgaagatgacgcatgcgccagcatcgcttta
+ccattttgtctgagactggcttcattattaatgtcgggtaaaaccacaataaacggtgca
+attcccgtttgttggcgaaaaagctcggctttatgcgcgatctcttcagcatctggtaca
+gtaccggtaacgtccgtaaaaagtgtcttcattattggaattaatggcttgctggctgct
+gtcagaggcaggagtatcagtaaactgagcagtataatgaattttttcatgggcgggact
+tccgtttcctgcgtgattttttagaggagggcatacttattaataaaccgacggcgataa
+aaataacgcccataatgccgataaacccccatttaaaaaaattaacccacgggttattta
+tctcagccttttcaggatgcccgggagaataataaacattaactttatcgccttcgctgt
+cttcataaaaatcgctgccgatactcgaattgaaaattagcgtgtaatctggcgtcggtc
+gaaaggcaacgacgggataccacgaaccatctttacccgtgcgatgagaatgactggagt
+gccagacggtatcaacaatgacgccttcggtatgaatcgcgtctttgctataggtgaact
+ggttataaaagacaacaacagaaatgaggatcagtaccagaccgataccgaggaatatac
+gaaagaaaactttactgtcctgactcattagccacatccttgctaactaaaaaacgggcg
+gtaataccaccgcccgcttgctgaattaacgtcctgctttcagcttctgataatactctt
+cataaatgctgctggctgcgccaacgtcattctgccattcgccatttttaatggtttcag
+catccgggtagagtgttttatcgttcgccacttctggacttaacagcttacgcgccgcaa
+ggtttggcgttggataaccgatagtttcagcaacctgttttgccacatccgggcgcagca
+ggaagttgatcaatttcagcgcgccttctttgtttttggcatttgccgggatcgccaggc
+tgtccatccagaaaatgccgccttctttcggccacaccacgtcaattggcgtacccgcct
+ggcgtgcaacgaaagcagaaccgttccagatcatgccgaggttaacttcgccttccatgt
+acgggttcgccgggttatcggagttaaaggctgccacgtttggcatcagttttttcagct
+cgttatatgcagcttcaatctctttcggatcggtggtgttaccggagtagcccagcttac
+gcagcgccatctggaacacttcacgggcatcgtcggtcaacagcaggctgcctttgtact
+ctggcttccacagatcggcccagctggtgacagatttcggatccaccgcatcaccgttaa
+caccaatcgccgtcgcaccccagatatacggaatggagtagtcgttattcgggtcaaaag
+gcttgttgagcatgtctggatcgagattgctgaagtttgttaacttcgacttgtcgatct
+tctggatcatcccttctttacgcattttatcaacgtaataggttgaaggaaccaccagat
+cataggcaccgtctttgtatgttttcagcttggcgtacatggtttcgttcgactcgtaag
+tcgaatagataaccttaataccggtttctttggtgaactgttcaagcagtcctggcggca
+cgtactcggtccagttgtagaaatacagcgtgttgttgtcatcggcgtgagcggcgctca
+tgcccagtgccagagcacccgccgcgagcaggtggcgtgaccattttttcatttaacgtc
+ccctgtgttacctttcgttttatcacgagcaataagctggctggcaataaccatcaccag
+cgacagcaccagtaatatggttgccagcgcgttaacttccggcgatacgccgactttgac
+catcgaataaatttttaacggcagaatttcataacttggtccggtgacgaacgaagaaac
+taccacatcgtccatcgacagggtaaagcttaacacccagcccgccgccaccgctggcat
+tgccagtggcagaatgatttttcgcagaatggtaaattcgctggcaccgagatctttcgc
+cgcttccagcattcgcacgtcaaaacctttcaggcgcgaatacaccgtcaccaccacaaa
+tggcaggcagaaggtgatatgcgagaacagcagcgaccagaagccaagctgaatacccag
+cagcataaacagcaccagcagcgaaatcgccatcacgatatctggtgacatcatcaccac
+aaacagcattccgctaacgaacggcttaccacgaaagcgataacggtacagcgcaactgc
+cgtcagtgaaccgataagcgtagcaaacgtcgccgaaaacaccgccattgttagtgaatg
+ctgcgctgcctgtaacaggctgtcgttgttcatcagcaggctataccatttggtggtaaa
+gccctgccagttgatgccaaagcgcgagctgttaaaggagttcacaatcaaaataatgat
+tgggatatacaggtacgcgtagatagcggtcataaaaccgccgcgaagcagtcgaccgat
+cattcgagttccaccttcttattcagcaaacgagaagcgcgccagtaaaccagcaacatc
+aggcccattacgatagtcagcgtaatgctggtagctgcaccaaacggccagtcacgaata
+ttaaggaactggaccttgatgacgttaccgatcagcaggtttttcgcaccgcccatcagg
+tcggatacatagaacaggcccatcgctggcagcatcaccagcagacatccggcaataatt
+cccggcatcgtcagtggaataatgatacggataaaagtctgtaacttgctggcaccgaga
+tcgcgcgccgcctcaagcaacggcttatccagtttttcgatactggagtacagcggcatc
+accataaacggcagcagaatgtaaaccagaccgataatcaccgcactgggcgtgaacatg
+atacggattggtgtgtcgataacgcccagccagagcaaaaactcgttgagatagcctttg
+gtgctgaggaaaattttcagcccgtagatacgaattaatgagttggtccagaacggaaca
+atcagcagaaacagcagcagcggacgcaccttgtgtggcaacttcgccagaaaccaggca
+aacgggtagcccagcaccaggcaggcgagggtggcgatcagcgccatattcagcgagtgc
+aatagcacttcaaaatagagcggatcgagcagacgcgtgtagttatccagcgtaaagacc
+attttgacaaaactggcgtcgtcgcgggtcaaaaagctggtgccaatgatcatcaggttg
+ggcagaaagacaaacaacacaagccaaccgacaatagtgacaatcactacattctggaac
+ttacttgtgttcttcatcagccagtacgacctcccagctttctacccaattaatggccat
+tttttggtcgagagagtggtcaaagtcaggatcgtcttcattgaagaattcgctgaccat
+caccatcttgccattttccagttcaacaaccgactccagcgtcatgcctttgtagttacg
+ctcgcgaacgtaaccaatcagcccttcagcgtggttgtcgtcgttaatctcttcaacacg
+taagtcttccgggcgcagcagaacatgcagtttttgccccggttcaacggcgaagttaac
+gtagatattacattcgcggccttcaacgttggcgcgtacgcgctgctcgtctagacgttc
+gatgacagtggcgttaaacatattgatttcgccaatgaagccggcaacaaacaggttttt
+cggctcttcgtagatttcacgcggcgtgccgtcttgctcaatgcgaccatcgcgcatcac
+cacaatcctgtctgacatggtgagtgcttcttcctggtcgtgagtcacaaagacgaatgt
+aatgccaagcttacgctgtaacgctttcagctcgttctgcatttgcttacgcagtttgta
+atccagcgctgagagcgactcatccagcaacaacagacgaggcttgttaaccaccgcgcg
+agcaatggcgacgcgttgctgttgaccaccagagagctgatgcggtttgcgttgagcgaa
+ggtttccaactgcaccatccgcagggcttccatcacgcggggcgtaatttcagcagcggg
+ggttttttgcatgcgcaacccaaaggccacattttcgaacacggtcatgtgggggaaaag
+tgcgtagctttggaaaacagtgttcacatagcggttttccgccggaacgtgggtgatgtc
+ctcgttatccagcatgatgcgtccggaatcaacagtttccagacctgcaatcaggcgaag
+aacggttgttttaccgcagccagaagggccaagcagcgtgaggaactcgccattgttgat
+agtcagatccagctggggaatgacctctttaccatcaaagcatttgcgaattcccgccaa
+ttgcaccagcggtgaaagcgaactcggttgtttattcaattttttactctgtcccatgta
+aacgcaacggatggcttaccgatgcggggtttgtggttaaccaccttggtgactcttaat
+gagggcggtaattctacggcaaaccgcttgaatcgccaatctttgttgtgaattactggc
+ttagctttatattcattaaggtaatgctgataaatattcccgcttgcaggggtaaaagtg
+acctgacgcaatatttgtcttttcttgcttcttaataatgttgtcacaaaaagtgagggt
+gactacatggataaactacttgagcgatttttgaactacgtgtctctggatacccaatca
+aaagcaggggtgagacaggttcccagcacggaaggccaatggaagttattgcatctgctg
+aaagagcagctcgaagagatggggcttatcaatgtgaccttaagtgagaagggcactttg
+atggcgacgttaccggctaacgtccctggcgatatcccggcgattggctttatttctcat
+gtggatacctcaccggattgcagcggcaaaaatgtgaatccgcaaattgttgaaaactat
+cgcggtggcgatattgcgctgggtatcggcgatgaagttttatcaccggttatgttcccg
+gtgctgcatcagctactgggtcagacgctgattaccaccgatggtaaaaccttgttaggt
+gccgatgacaaagcaggtattgcagaaatcatgaccgcgctggcggtattgcaacagaaa
+aaaattccgcatggtgatattcgcgtcgcctttaccccggatgaagaagtgggcaaaggg
+gcgaaacattttgatgttgacgccttcgatgcccgctgggcttacactgttgatggtggt
+ggcgtaggcgaactggagtttgaaaacttcaacgccgcgtcggtcaatatcaaaattgtc
+ggtaacaatgttcatccgggcacggcgaaaggagtgatggtaaatgcgctgtcgctggcg
+gcacgtattcatgcggaagttccggcggatgaaagcccggaaatgacagaaggctatgaa
+ggtttctatcatctggcgagcatgaaaggcaccgttgaacgggccgatatgcactacatc
+atccgtgatttcgaccgtaaacagtttgaagcgcgtaaacgtaaaatgatggagatcgcc
+aaaaaagtgggcaaagggttacatcctgattgctacattgaactggtgattgaagacagt
+tactacaatatgcgcgagaaagtggttgagcatccgcatattctcgatatcgcccagcag
+gcgatgcgcgattgcgatattgaaccggaactgaaaccgatccgcggtggtaccgacggc
+gcgcagttgtcgtttatgggattaccgtgcccgaacctgttcactggcggttacaactat
+catggtaagcatgagtttgtgactctggaaggtatggaaaaagcggtgcaggtgatcgtc
+cgtattgccgagttaacggcgcaacggaagtaagcgaaaagggatgcggcatgtgatgcc
+gcatccggcttaaatccaaacttacccttcgaagaaccaatacccgctattgaccagcgc
+cgcgagcatcgcgaggaatgacggatcttccagcgcatcgccaaaattctccgcagtcag
+cgcaatgttgctggcgagtgcatccagtgccggacggtgcggggaatcgatcttctcacc
+attggcatacacgtcgtcgccaatgcgcaatacgcgcagaccacccaggcgcaccagcac
+ttcaccttgtttcagcgcatcgtagatttcatccggctgataaggcggctctggcggcgc
+gatatccagttcatgacgtgactgggatataaactcgccaaaccattgcttaaagtgttc
+cggctggttgatcaattcgagcatcatctcacgcagtttatccatctcttgcggcagaac
+atccgcaggatgagcgcgaggtggaacatccggatcgctgtagtagttgccgcccagttc
+acgttgcagcacataatcggcaaatccactaatcagttcccgcgtatttggcgcgcgaaa
+gcccacggaatagttcatcgcattttccagcgcgtagccttcatgcgggaatcctggcgg
+aatataaagaatatcaccaggctccagctcttcatcgatgatggcttcgaacggatcgac
+ctgtaacagatccggatgtgggcagtgctgtttcatttgcagcttttcgcccactcgcca
+gcgacgacgtccggtaccctgaatgataaacacgtcgtactgatcgagatgcgggccgac
+gccgccgccgggtacagaaaaagaaatcatcagatcatcaatacgccagtccggtagttc
+acggaacggtcgcatcagcgcggcggtcggctcatgccagtggttcactgcctgtaccag
+taatgaccagttggtttcaccgagatgatcgtagctttcgaacgggccgtggctgacctg
+ccatttgccatcctggtgactgaccagtcgactgtcaacttcgctttccatcgccagacc
+cgccaactcgtctggagagatcgggtcaataaaattattaaagccgcgttttaacaccac
+cgggcgtttctgccagtgacgttcaagaaaatcgggccagttaagagtgagttggtattc
+catgttaagcatccacaggctggtatctgcaaccgattataacggatgcttaacgtaatg
+cgtgaagtatgggcatatttattcatctttcggcgcagaatgctggcgaccaaaaatcac
+ctccatccgcgcaccgcccagcatgctctctccggcgacgattttaccctcatattgctc
+ggtgatttcgcgggctaccgccagccctacaccttgcccagggcgtaaagtatcaacccg
+ttgaccacggtcgaaaatgacctctcgcttgcttaatggaataccggggccatcatcctc
+gaccacaatatagagatgctcgtcggtttgccttgcagaaatttcgacaaactcgaggca
+atatttacaggcattatccagcacgttgcccatcacctcgacaaaatcgttctgctcacc
+gacaaagctgatctctggcgaaatatcgagagagatattgacccctttgcgttgatacac
+tttgttcagcgctgaggtgagattgtccagcagtggggcgaccggatgcagctcgcggct
+gagcaatgtcccgccgcgcatactggcacgatgcaggtagtagccaatttgctgtgaaat
+gcggctgatttgctccagcattaccggctcagcatcactgacgctcatcttttcactacg
+cagagaacgcagcgtactttgcagcaccgccagtggcgttttcagactatgggtcaggtc
+ggtgagcgtcgtacggtatttgtcgtaacgttcgcgttcactttttaacaatcggttcag
+gtttcgtaccagactggtcagttctcgcgttgtggctggattgagcaattcgcggttatg
+ttcttccagttcgcggacttcttttgccagggcttcgatggggcgtaaactccaccaggc
+ggcgacccacagcagcgggatcactaacagcagattggctgagagcacatagataaacca
+gctccagaccatataggaactttttagctccaccggaatggtatccaccaccacaatggt
+taattttggcatccgcgatgttgccgggtagacgtttactgccaccgagtgggtcatctc
+cgcgtcgtcatcatcttcccgcacttcctgcaactgttgctgtatcgaatgatctccact
+cagcaagaggctggtatcgttaacatccgcttcaatttcatgaaaaccattcgatttcag
+ccagtcaggctggatcatcttcatcagccagggcacgtcacgttgcgcccataaaagctg
+cccgttctcatcataaattagcgtcatggtggggctttgcttgtcgatattttcgggtaa
+ctcgacatgcaacttattgttttcccacttcgcaagggtatagaacagattgctctcgcc
+acgtaacagccgaaacgtagttttatcgaaactgacgctataaccgatcagcgcgaccat
+tccgtaggcaagcgaaagcaccagtactaccgctgccgttgccaacagaaaacgtacccg
+cagcgagagcgggaaaaaaagacgcagtaattttttcatcagcgcaattcgaacagatag
+ccctggccgcgaacggtggtaatcacttcttggggatattgtgcctgaatttttttgcgc
+agacgtcccatcagtacatcaatggtatggctttcccgcagctccgcatccggatagagt
+tggagcattaacgaatctttgctgaccactttgccattattgcgtatcaacgtttccata
+atagtgtattcgaacgcggtcagtttgatcacttcgtcattaatagataattcacggcga
+gagagatcaacctgaaacggggggagcgaaatgacctgtgaagccagaccgctattacgc
+cgcattaatgcctgcattcgcgccatcacctcttcaatatgaaacggtttagtcacataa
+tcatcagcaccggcacttaatacttcgactttgtcctgccagctttcacgggcggttaat
+accagaatcggcagtgaaacatcgttgctacgccagcggcgaatcagtgacagaccgtcc
+tcgtctggcaatccgagatcgacaatcgcaatatccggtatatgttcattgagataataa
+tcggcttctttggcatcttctgcgtcatcgacctgatgaccagcatcctgaatctgaact
+ttaaggtggtgacgtaacaacgcattgtcttcaacaaccagtacgcgcatttttatttct
+ccctgtcttaattattaaaatagtgtaacgcgattatgtggttatgggggtaaacattaa
+ataaaccagcggggaggggaggtaaagtgaaaaaataaaaagcggataatcttaataagc
+aggccggacagcatcgccatccggcactgatacgaggtttatttcagctcatcaaccatc
+gtgatagctcgaccaatatagttagccggcgtcatcgctttcaggcgggctttctcttct
+tctggcaacgccagaccatcgataaactgcttcatgccttcggcgtcaacgcgcttaccg
+cgagtcagctctttcagcttctcgtacggtttttcgatgccatagcgacgcataactgtc
+tggattggttcagccagcacttcccagttgtgatccagttcatccagcagatggtcacgg
+ttcacttccagtttgctcacgcctttcagggtggattgatatgcaatcaaggcataaccg
+atacccacgccgaggttacgcagcacggtagagtcggtcaggtcacgctgccagcgggaa
+accggcagtttgcttgccagatgctgcaataccgcgttggaaaggcccagattcccttcg
+gagttttcgaagtcgatcgggttaactttatgcggcatggtggaagaaccaatctcacca
+gcaatggttttctgtttgaagtggttaagggcgatataaccccagacgtcacggtcaaag
+tcgatcagaatagtgttgaagcgcgcaacgcaatcaaacagttcggcaatgtagtcgtgc
+ggttcgatctgggtggtgtacgggttccactgaatacccagcgaggtgacgaactcttcg
+ctgaactgatgccagtcaacttccgggtaagcggcgatgtgggcgttatagttaccgacc
+gcgccgttgattttgccgaggatctccacctggttaagctggcggtactggcgctccata
+cggtaggcgacgtttgccatctctttaccgatggttgacggcgtggctggctgaccgtgg
+gtacgagacagcagcgggatatcgcgatactgaacggcgagatctttaatgccatcaatc
+agttgacgccagtatggcaggatcacttcatcacgcgcggttttcagcattaatgcgtgg
+gagaggttattgatatcttccgaagtacaggcaaagtggatgaattcagaaaccgcgtgc
+agttccgggatctccgccactttttctttcaggaaatactcaaccgctttaacgtcgtgg
+ttagtggtacgctcgatagttttgatgcgcgccgcatcttcttcgctgaaactggcgacg
+attgcatcaaggtaaccgattgcgtcggcagcaaaagcaggaacttccttgatcgctgcg
+tgcgcggccagtttttgcagccaacgtacttcaacttgtacacggaatttcagcaaacca
+tattcgctgaaaatcccgcgcagcgcgctgactttatcgccgtagcgtccatcgacaggg
+gaaacggcggtcagtgaggataattccatagatcacaactccggggttaaatgagcaaga
+atttgttttgcctgagtggtcaggcgattacgagaaaacatcagttgcagacgtccgccg
+ccgacctggtgccagagcacggcggcgcgaatgcctgccagcagggttgcgcgaactttc
+gcctgcacttgtgggctttgcagtacagcaggggaaccggtgacctgaatgcgcgggcca
+agcgggctaatcacatcaacatagatagcagccatcgcgctcatcagcgtttcggactgt
+aaatcgaagtgttcgagctggcgttgcaggccgttgatccggttgcccagagtgtcgagc
+gcgcctttcgctgaggagagtttgcgctcaagcaccatcaagctgagtgtgtagcgggtt
+aattcggcgtttaagccctggcgactgctggcattgagcacgccgagcagggtttccagc
+ccgacgcgcaggttggcttcgctaccgccaaaaaccgccagcgtcgagctggggttcata
+tcaataatactgttgagtgagacgtgtagcgcatcggcatcacaatgcccctggtgagcg
+agttgttgcaccaggcgtgccgactgacaaataccggccagggcgagggtgatgtcatag
+taattctttgccacgttcactgcttccttgttttaagtaaagataataatcagaccggca
+gcggcagacgctgctcaataataccgccaccgaggcacacttcaccgttatagaagacgg
+cagactggcccggcgtcacggcggcaaccggttcatcgaaaatcacttcaatgcgatcat
+cgtccagcgccttgacggtgcaagggatatcggtctggcgatagcgggtttttaccgtgc
+aacgcatagtgccggtgaatggttcgcgatcgacccagtgcaactgctgggcaatcaacc
+cgacagacatcagccgcgggtgttcatggccctgagcgacaaccagaatgttgttttcga
+cgtctttgtccaccacataccacggttcttcggtaccttctttggtgccaccgataccca
+gacctttacgctgaccgagagtgtgatacatcagcccctggtgctcaccaatttcatcgc
+catcgacggtaatgattttgcccggttgcgccgggagataacggcccaggaactcgcgga
+atttacgttcgccaatgaagcaaatgccggtagagtcttttttcttcgcggtgaccagac
+caagatcttcagcaatcttacgcacctgcggtttttccagttcgccgaccgggaacaggc
+tttgcgcaatctgctcatggctgagcgtataaaggaagtagctctggtctttattgctgt
+ccagaccacgcagcaggcggctcttgccatcgacatcggcccgacgtacgtaatgaccgg
+tagcgatataatcggcacctaaatcttcggcggcaaattcgaggaaggctttaaatttga
+tctctttgttgcacagaatatccggattcggcgtgcgaccggctttatattcggcaagga
+acagttcgaagacgttgtcccagtactcggcagcaaagttaacggtgtgcagttcaatgc
+cgagcttgtcgcagacagcctgggcatcagccagatccgctgccgctgtgcaatattcct
+caccgtcgtcttcttcccagttcttcataaacaggccttcgacctgatatccctgttgtt
+gcaacagccaggcagaaacggaggaatcgacaccgccggacatgccgacgattacttttt
+ttgcggtttcagacattggatcactcacgacattgaacttcaaggcggcgtattctatca
+cgcagccttttagatgacaccctttgtaaaaggccagttaaaatcgccaatcatctccag
+cggataacgttgcccgctttgataacaacgaatactttccgccaccagcggcgaacgaag
+atttgacgcctgtaaaatttcttcggcgctgacccaacggcagcagtcgatatcgctgtc
+atgaggctgggtcgggcatatttgctcaagctcaatggcaaagaggaaacgcaaaaacgg
+cgttttatctggcgcaatccactgatgcatacgaataaagtgttgcggctgcgcgctgat
+gccggtttcttcccacagttcacgggcggcggcttccactaaggtttcatcggcttccag
+atgcccggcaggttggttccataacgctttaccattaatcgtctcttcaacgactaaaaa
+tttgccttctgcgtgcaccacgcaagcaacggtaacgtgcggtttaaacattttgcatcc
+ttaatctgtcacttctcgccattcaccattggcaagattatccaaagagtaatcacccat
+cgcatagcgaatcagtcgcagcgtggggaagccaacatgggcggtcatgcggcgcacctg
+gcgattacgtccttcatataaggtgatcttcagccagctggtgggaatacttttgcgttc
+acgaattggtggattccgcggccataaccacgcgggttcgtcaaccagctccgcgccggc
+gggcagggtagggccatcatttaaggttacgccattgcgcaaggcttcaagtgcgtcttg
+tgtgggaataccttccacctgcacataatagatttttccggtgcgtttacccggctgggt
+taaacgcgcctgcaacgcgccgttattggtcagcaccagcaacccttcgctatcgcggtc
+aaggcgacctgctgcataaacaccctgaaccgggatgaattcttttaatgttttgcgtcc
+ggcttcatcggtgaactgcggaagaacatcgtagggtttattgaacaggatcacacgcgt
+gggctggttttcaggtttacgcctggtagaacgttgcgagctgaatcgcttaacctggtg
+atttctaaaagaagttttttgcatggtattttcagagattatgaattgccgcattatagc
+ctaataacgcgcatctttcatgacggcaaacaatagggtagtattgacaagccaattaca
+aatcattaacaaaaaattgctctaaagcatccgtatcgcaggacgcaaacgcatatgcaa
+cgtggtggcagacgagcaaaccagtagcgctcgaaggagaggtgaatggaaagtaaagta
+gttgttccggcacaaggcaagaagatcaccctgcaaaacggcaaactcaacgttcctgaa
+aatccgattatcccttacattgaaggtgatggaatcggtgtagatgtaaccccagccatg
+ctgaaagtggtcgacgctgcagtcgagaaagcctataaaggcgagcgtaaaatctcctgg
+atggaaatttacaccggtgaaaaatccacacaggtttatggtcaggacgtctggctgcct
+gctgaaactcttgatctgattcgtgaatatcgcgttgccattaaaggtccgctgaccact
+ccggttggtggcggtattcgctctctgaacgttgccctgcgccaggaactggatctctac
+atctgcctgcgtccggtacgttactatcagggcactccaagcccggttaaacaccctgaa
+ctgaccgatatggttatcttccgtgaaaactcggaagacatttatgcgggtatcgaatgg
+aaagcagactctgccgacgccgagaaagtgattaaattcctgcgtgaagagatgggggtg
+aagaaaattcgcttcccggaacattgtggtatcggtattaagccgtgttcggaagaaggc
+accaaacgtctggttcgtgcagcgatcgaatacgcaattgctaacgatcgtgactctgtg
+actctggtgcacaaaggcaacatcatgaagttcaccgaaggagcgtttaaagactggggc
+taccagctggcgcgtgaagagtttggcggtgaactgatcgacggtggcccgtggctgaaa
+gttaaaaacccgaacactggcaaagagatcgtcattaaagacgtgattgctgatgcattc
+ctgcaacagatcctgctgcgtccggctgaatatgatgttatcgcctgtatgaacctgaac
+ggtgactacatttctgacgccctggcagcgcaggttggcggtatcggtatcgcccctggt
+gcaaacatcggtgacgaatgcgccctgtttgaagccacccacggtactgcgccgaaatat
+gccggtcaggacaaagtaaatcctggctctattattctctccgctgagatgatgctgcgc
+cacatgggttggaccgaagcggctgacttaattgttaaaggtatggaaggcgcaatcaac
+gcgaaaaccgtaacctatgacttcgagcgtctgatggatggcgctaaactgctgaaatgt
+tcagagtttggtgacgcgatcatcgaaaacatgtaatgccgtagtttgttaaatttatta
+acgggagcgtaacgctcccgttgttttttgttaggctgctaacggttatcaaaattttat
+caaaaaaagttatcaaaacccctcggtagttttggggtaggctggccggtcaggtggtag
+ttctactactagtctcccacatagatattccttagctttttattattgctggcggacgct
+cgttaatatttaaggtcttcattgattaagacatccccaaagttagttatgtattcactg
+ttattaggacaattatgaattaccactccttacacccgctcaaatattgttaaattgccg
+gttttgtatcaactactcacccgggactcgccaggggacagccaacaggcattgggtgca
+atcaccttagcgttcaggtacatgcggaatgtaaaaaaggccgcgagcgcggccccttca
+catacatctttagtactgagactgtttaacctagggaattattatcgtattatattgcat
+tacaactcccaacagtgacatatgaacttcctgctttactccacgactttaatatttcaa
+ggccatgtgaagaacatatttcttgcactgcgagttcatcgagtaatccatagtaagaaa
+cactttttgaatttttgtaaatgtatccgtaaagatgttttcttcctgtttcgtattttt
+tgaagtatgagcttttatattgatttacaataagagtctcacctcctgattttagtaatc
+tcttgatgctaagaactattttgtcgattgtatcccgacaaggaacggcagagagaacat
+tagagcaaaggatgaaatcgtaacccccaattattttgtcgacatcctcgaaagcaactg
+tatttgcatttttataatatcgtgggacatagtcaataattttagttttaattcctctaa
+taatttgctctctttcaagttgccttttcgagtctagaaaagtaacttcatcaaatttac
+tgattaattcatcagaatatctaagttttccgcagccaaaatcaagggcgtggccatttt
+tctcaatgcttctaatatactcgcaaagatatctagagggcatcgtatgaggttttgctg
+cattctctgagcgaatattaactccgtgcatattatagttcaaagcaagtaccattcaat
+taatgttatttttagtgaaaaattcttttattttatcgtccgggatttttccgacttgac
+tttcagttctgggcttaactgtcaaagcaaagataataccactcactgagaatgataaaa
+ttacaaaaaagaataaagacagcaaagaaccttcaacatgaaaaatatccatttgtttgc
+aaaaaaagattattaggaaggaaattaatgcaattatcgaaaattcaaaaaatatccaaa
+aatagtatactttattccagaagagttcaatataatgtttgtcttcaatttttcttactt
+cagggtaatatagattgctcattacattgtgagcttcatctttatttaattttctgttga
+ctccagctctccgtgataacggttttataattagatgcttatcccaaagatatcgcaccc
+gaagtagtttggctgcattgttatgtaggtctaacgcaccgctaattaaatatgcaaaaa
+tcgcaaaagcacaaggtaatataccaaaagatagtgcccaattaataaagctctcatgat
+ctttaataggtgggacatacttggttggtaatgttattaaagggatgtattcgtaaataa
+ctagaagtatgcaatatattagcgtatttaagaaagttgctttatgaagtttaggcaaca
+tttcattataatttttggggggttcgaacatattattcacctgagtcacgctttaggata
+gtgtaatggtaatatttaattaagtgtcattatatacttttcagtaggttagttacaatt
+ttttgtatctgttcaggctgacctagcttcgctgacagacaatattgtgatcagtagcac
+gtatcgaggaggagtagcgctacaaatttgacgctgggtgagaatctgaaattgatagaa
+atgaaataatgaaataatgaaatgatgaaatgatgaaatgatgaaatgatgaaatgatga
+aatgatgacagagtgtccagtgggcacggatggtgtcttacgacatgcttaccttaatcg
+ttcccagtgtgcctatagcagatattctaaacatgtcgataattcattacgcatatagta
+tcgaacatagaaaaaactgaagattcatcttattttgtatatactacctagcccaacaat
+gtagaggttaacgaaaaatgcgctcaccaatttgtcatcttttctcagcaattaattcat
+caccatttaagattgcaccagagaaggagcaagatcttaaaacgatagttgacgacaaaa
+aaattataatttcagttgtgagtgaacctggttttaatatccgagtcaggaagaatgaga
+gtaataattcacatgaaatagttctaacagtagcttcacttgaatatatttgggcatttt
+ccaatttcttttgggtttttacgcaagagtactccaaatctcagaaaaataatgatgagc
+actttgatttaacaggaaaaaataggcttaaaaagtctgatgaacttcttaaatgggcaa
+ggaaaaacttgcaaacaacaggttgcgaatcatggcctaaaaaatgtcccaagccagaag
+catatttacaaggaagcgaagactcacaagttgctagcgagatatttctttgtgctattg
+cttggattcttcatcatgaaataagtcatgttgttttacagcatccattggtcactacag
+cattctccactcaagaggagcgtgaagcagattcacatgctacaaaatggatattaggca
+acctgtatgaatccgctcctgaattaaagaaacgtgcacttggcattgctacggcagtgc
+tttgtatacaaagcttagaagttgaaaattacttctgtttacaaaatacacacccagctg
+catatgagcgtatatattcgaatatttcatgctaccctgtcggaaatgaagagttgattg
+aagctctatgtacagtgatgcttcaatatcttttccatggcaaaaatatcaatgtgaatc
+tagatggggagtccttttcatcgattttaggtgatcttctctgtgatatttcacgtctta
+ccagtaactgatatggctgtccgccgctcgcttaaagtggactttttagtttttatcatg
+tgcggtgagaaattcaatgtggcgttgagatgcttaaaggttcacaacgctactttgctc
+catcctttacctcgatcatcatgataacgatcggtttgttgttgtgttttatgaccaagt
+agtttttgtgtgtctaacccctgttctttatacagacgttcagataaagacctttgctca
+tggaatgtcgcaggtgaaccctctccccagtcaattcttgctaaatctctcgctttacta
+aaattcatcgtcaatgtattggctttaacctgcgctccgcgctctgcttgtgaagttgaa
+cgaaaaaaatgcactaagtatgcactgactgcatagtcacggcagcgggctactacatcg
+cgtaaactccagttaatcgcattgaggcgaagagaaagaggaattgcgattttgctcccg
+gtcttttcctgaatgacatgaagatgatcatcccaaatatcgctaaatttcatacgcgaa
+atatcacctaaccgctgaccagtaaccagcgctaacagcatggcatttcccatgtaacga
+tgagtagcgtctgcgatatcgaagatttttttccattcttcaaggctcagccgttgtcgg
+gtaatttttcttcttggttgtttagtggctaatgctgggttatagccaggaggtacttct
+ccgtagtgctgcgcctctttgaaaacatcaatcaggacggagcgaactacttgtgccatt
+cttggccgcccagcggcgatatactcatcaagcaattgtgctatatctctgacatcaacg
+gctgagatcaacttcattcctgctcgttctctgagcaaggatactggtttagctttttgt
+ttataggtgttgagtcttatatcaccacttttaagcctgtcatcctggatcgcttgatag
+cgatctaaccaggttgacgttgtgatagcctttcctttgctggttgcgatcctgtcactg
+atagccagaatctgccgggttctttgttcagccaggcgagtgttggcctcagtggcaata
+gcgatagcttcagcttcgtttgttcccaaagcatggaattttcctgtcactggatgctta
+taccgccaatagactttatttaccttcctactataaagcggatataagttagggactgaa
+acattattcttacgcggtctggctgccattactcaaaatccgttgcaaaagtaatgagtc
+atttttcttgattacaggtgttaccaactccccaactaactcggcgtcctcacgcactcg
+ccataaccggccttgtttcatggccggtggacaaaataaattctgcttagcataacgacg
+caatgtggacacacttggaggattacttctgtatttttcagcagcccattcttcaagagt
+taacatttgaagcatatgcgatcaccttattactacactaactgcttagtctcagcatat
+cgaccctgcacggtcggttagtttctccacaaaacagagaagagcacctgtggccacagc
+tatcaggatgggtcgggttattaacccgtcatccggggatactcttctctgttttgtaaa
+aagggcggtaccagaaaggactaaggaaaaaactggtaccgccaagactacacacagcat
+aaagttgtggtgtcgggtgcccccggtgcctggcgaaggttgcacaccaggcgggtgggt
+atccacagaaggtcgattgtcagcctcaaccttaacccgcgtgcgctgagccgcattcac
+cacaacgctaaggattctctctggttgaaaatacttagctgttatgtgcctgtcttttca
+ccacttcaggctcggtggtatgctggagttctcacacagccagcaagcaaggaaacttaa
+tgaaccagttttatgttcacgttcgtctatttgaagacacagccgaacagaccaaaaaat
+ttgaagaattaatgcttaactttctgtaccagaaaacagttaaagagtctgacgatagct
+gctgcagactgattccagagggatatatcctcaaaagtacaatgaactgccaacaaatcc
+ttgatcaaacattttcaattgctaacagtgccggtgttgacgcaaatatatttgtctgta
+aatttgaacaaagcgcatgcttacttccgtctgcttccttagttggtaacgatttcgttc
+attacgatcttacgcctaagcccatcaagctcgattcttaaagccttaaccattgtgtcg
+tgataaacacggctcaccttctctccattgcatggcagaggggtgagtgtgttagccatg
+aaattcatgaactcggttcgaccaggggcttgcgccccgcaagtctttaatgcctgtttt
+gctaacaaaatgcgggcctcagtgcctgcatttggctctatctgctgcaaacgtttagcg
+tcttccagcaacaatgcgatcacatgcttcaaattctgctcattcatctattctctccac
+tgaaatcatccgctaacgaatcatcccggtcttcgtacgtaccgggcgggctacttcgtg
+ggcgtcctgcctgtttgttgtttctcttgggtacattatgtatctcaaaggtacattgtc
+aagtataaaaaaacctgccgaagcaggttcataaacattgattaggctttgattttgtat
+cttcttggttttcctgagaaaatcacagtaccaattatagagcaattaccgttgatctta
+atgtaaggctcaggccagtttgggtttaacgctttgagataacgctgtgtcccatcttct
+atcaaccttttgaaggtggtttcacctgtatcgtgcatcaatgcaataacgtcgtcaccg
+tggcaggcaggtacttcaggatcgacaaaaatcatgtctcccgggcggtactcatcaatc
+attgaatcacctattacccgcaagatataagtcatttccccacagggtacagggcaggga
+tacgtttctgctgtgctcaaatcaacctcagaatatccaacttctttccatgctccggcc
+tgtacccatgatatgacagggactaatgtgatttgtttattagtgattgaaacatcaggt
+ttttttgtgatgttcgttgtctggtgttcttgatcgagccatcctacaggcaggtcgaaa
+catttttcgatgtgtcgtgccatgctgtcaccgatatttttagtagcaccatctcccata
+aacctgctggtctgggttggctcgcgatcaatcatagtggcaaaggaagaattcccgcca
+acaccatctctcagttttctggcgttagaccgccggatgtcatggattgttttcataacg
+aaattaaaacccttgtaccgttaaggtacaagtatcttgaaggttcatttcaatcatgta
+atatgtacaccggaggtacatattgtatgaaagcgtattgggactctttaaccaaagaac
+agcagggcgagttggccggaaaagttggctcaacacctggctacttacggctggttttca
+atggctataaaaaagccagttttgtgctggctaaaaaacttgagcaatacacatcaggtg
+caattacgaaatctgacttaagaccggatatctatccgaaagattagcagaacactttca
+atttttaaccacagaacgatgaggctaatcgtgggtaagcatcactggaaaatagaaaaa
+cagcctgagtggtacgtgaaagctgtcagaaaaactatcgcggcgttgccgagtggttac
+gctgaagcggctgactggctcgatgtaacagaaaacgctttattcaaccgccttcgtgca
+gatggcgatcagattttcccgctgggatgggcaatggttttacagcgtgctggtggcact
+cacttcattgctgatgctgtggcgcagtctgcaaatggcgtctttgtgtctcttcctgac
+gtcgaggatgtggacaacgccgatattaaccagcgtctgctggaagtcattgaacagatc
+ggcagttattcaaaacagattcgttcagcaatcgaagacggtgtagtggaaccgcatgag
+aagacagcaattaacgacgagctgtatctctcaatttcgaagctgcaggagcatgcagca
+cttgtctacaaaattttttgcatttcagaaagtaatgacgcccgcgagtgtgcagctccg
+ggcgtcgtggcgtcgattgcttctggttgtggagaaactaacgcatgaacagtttaacaa
+cacactaccgtcgctcgcaactgattgcgcttcctgtaccgggtggaaaagcgaaggtgg
+aatattgctatgcagtgaatgtaccaggtgacagggaaattgtaacccacagctttgcag
+agtgggctgtgggtgatttcaaccggcagaaggagacagtcctttgcgacaagttaaccg
+ctggttcaaagatcactacggagtgcccgtcagagtcattcgttgggagccggaaacaca
+acgggttatctacctccgcgaaggttatgagcatgaatgcttcagcccgctcgaacagtt
+tcgtcgtaaattcagggaaatagaggtcggtcatgagcactaaattaaccggctatgtat
+gggatggttgcgctgcatcaggcatgaagttatccagcgtggcaattatggcccgcctgg
+ctgatttcagtaatgacgaaggtgtgtgctggccatcaattgaaaccattgcccgtcaga
+ttggcgcggggatgagtaccgtcagaacggctatcgcacggctggaagcagaaggctggt
+taacgcgtaaggcgcgtcgccagggtgatggttcatcaccccactgtgccgtggtggatg
+aatatcacgagcacgccacagatgcgctttacaccacgatgcttaccgggatgggggcgc
+gacgccagccactgatgtgggccattaccaccgccgggtacaacattgaggggccgtgct
+acgacaaacggcgggaagtcatcgagatgctcaacggctcggtgccaaacgatgaactgt
+tcgggatcatctataccgttgatgaaggtgacgactggaccgacccgcaggtgctggaaa
+aagccaatccaaatattggcgtgtcggtttatcgcgaatttttgttaagtcagcagcagc
+gtgcgaaaaataacgcccgtctggcaaacgtctttaaaacaaaacacctcaatatctggg
+cgtcggcgcgttcggcgtatttcaacctggtgagctggcagagctgcgaggataaatcac
+tgacccttgagcagttcgaggggcagccgtgcattctggcctttgacctggcgcgtaagc
+tggatatgaacagcatggcgcgactttatacccgcgagattgacggtaaaacgcattact
+acagtgtggccccgcgtttctgggtaccgtatgacacggtgtacagcgtcgagaaaaatg
+aagatcgccggacagccgaacgctttcagaaatgggtggaaatgggcgttctgaccgtta
+ccgatggtgcggaggtggattatcgctacatcctcgaagaggccaaagcggcgaacaaaa
+tcagcccggtcagtgagtcacccatcgaccccttcggggcgaccgggctgtcacatgacc
+ttgctgatgaagacctgaaccccgtcaccatcattcagaactacaccaacatgtccgatc
+cgatgaaagagctggaagcggcgattgaatcggggcgctttcatcatgacggcaatccca
+tcatgacctggtgtatcggcaacgtggtcggcaaaaccattccgggtaacgatgatgtgg
+tgaagcccgtcaaggagcaggcggaaaacaaaatcgatggtgcagttgcgctgattatgg
+cggttggcagagccatgctgtacgagaaagaagacacgctgtctgatcacattgagtcct
+acgggatccgctcgctttaactgaggtaattatgatcatgctgattctcgcgcctctggt
+gggcgtgctgggtgcgcttttgctggcgtatggtgcctggctgatttatcccccggcggg
+ttttgttgttgccggggcgctgtgcctgttctggtcgtggctggtggcgcgatatctcga
+ccgtacacagtcgtctgtcggcggaggtaaatagtgttcttttcgggattatttcaacga
+aaaagtgacgcaccggtgaccacgccagcagagctggcggatgccatcgggctgtcgtat
+gacacctataccggaaagcagatcagcagtcagcgggctatgcgactgacggcggttttt
+tcctgcgtcagagtgctggcagagtcggtcgggatgttgccctgcaatctgtatcacctg
+aacggcagcctgaagcagagagccaccggcgaacgtctgcataaactgatctccacgcat
+cccaatggctatatgacgccgcaggagttctgggagctggtggtcacctgtctgtgcctg
+aggggaaacttttacgcctacaaagtgaaagcatttggcgaagtggctgaactgctgccc
+gtcgatcccggctgtgtggtatatgcgctgggaaggtgtcagcgatggcctgaaggtgac
+cgccgggagtgttattcagcgcgatgacctggtgcagtacacgacaactgacgatgcaac
+cagctccggtggtgtcctgcgcgtgccgatcgcctgctcaagtgcaggtgcggtcggtaa
+cgctgacgacggtacggcattaatcctggtcacgccggtgaatggtctgccgtcttccgg
+tgtggctgacaccctgacaggcggatttgatactgaagagctggaaacgtggcgcgcccg
+cgtcattgagcggtattactggacgccgcagggcggggctgacggggactatgtcgtctg
+ggctaaagaagtgcccggcattacccgcgcatggacataccgtcacttgatgggaacggg
+aactgtcggtgtgatgattgccagcagtgacctgattaatcccattccggaagaatcaac
+ggaaacggcggcaagacaacatatcgggccactggccccggtggcaggctctgatttgta
+tgtgttcaggccggtggcacatacggtggattttcatatccgcgtgacgccggacacacc
+agaaatacgggctgccattaccgcggagttgcgttcgttcctgctgcgtgatggttatcc
+gcagggagaactcaaggtatcgcgtatcagtgaggcgatttccggtgcgaacggggaata
+cagccatcagttgcttgcaccggtggacaatatctccattgcgaaaaacgaactggcggt
+actggggacgatttcatggacgtgacaaacgatgattacatccgcctgttatcggcactg
+ttgccgcccggtccggtgtggtcagccagcgatccggcgattgccggtgcggcaccgtca
+ttaacccgtgttcatcagcgtgcggatgccctgatgcgggagctggatccgcgcaccacc
+actgaactgataaaccgctgggagcgtctgtgcggtctgccggatgaatgtattccggcg
+ggaacgcagacccttcgccagcgtcagcaacggctggatgcgaaggttaacctggcgggc
+ggcatcaacgaggatttttatcttgcacagcttgctgccctgggcagaccagatgccacc
+atcacgcgatacgacaaaagcactttcacctgctcatcggcctgtactgacgcggtgaat
+gcgccggaatggcggtattactggcaggtcaacatgccagccaccaccaactccacctgg
+atgacatgtggcgatccctgtgattccgcactgcgtatctggggtgacaccgttgtcgag
+tgtgtgcttaacaaactctgcccgtcgcatacctacgtaatttttaaatatccggagtaa
+tccatgcatcgtatagacacgaaaaccgcgcagaaggataagttcggcgcgggtaagaac
+ggttttacccgtggtaacccccagaccggcacgcctgccaccgatctggatgatgactac
+tttgacatgttgcaggaggaactttgcagcgtggtggaggcatccggtgccagcctggag
+aaggggcggcacgaccagttacttaccgcacttcgcgcgctgctgttaagccgcaagaat
+ccgtttggcgatatcaaatcggatggcactgtgcaaacggctctcgaaaaccttggtttg
+ggagaaggagcaaaactcaatgcagcaacggctacattaggacgcaccggtttcatagct
+ataccggttatgattggtggtattgagcaatcagtaatcattcagtgggggtggaatgcc
+gcaaaagcatctgcctctgggggggatggaaatacagttgtattcccggttgcgtttaat
+aatgcctgtgttgccgttgttgcaaattatgacaatgtcagcgcacctatcaatgcagtg
+gcaacggggggatatacaaccacttcgtttttattacggtgcgcagctcaaacgggtagt
+tattactataactggattgctattgggtattaagatgaaaatatactgttgcttaaatac
+cgttggtttttttatggatggctgtggcgtcattccgccagattctaaagaaataacggc
+agaacactggcagtcattattaaaatctcaagctgaaggaggcgtgatcgatttttctgt
+ttttcctccttctattaaagaggttatccgtactcatgatgatgaagtcgcagatgcgaa
+ctttcaaaagcagatgcttatctctgatgcaactgattttatcaatagcagacagtggca
+gggtaaggctgcattgggaagacttaaagaagatgagctgaaacaatataatttgtggct
+ggattatctggaagcactggaactggttgatacatccagtgcgccagatattgaatggcc
+tacgcctccggcagttcaggccagatgacatccggcgcggtgctggtatctgttgccgtc
+accgcgtcaatgtaatccagcacagcgttaagtctggttgtttctgcctgcgtcagttta
+cgtccggcctgcaatttcagttgaatcagactaatggaagccattgcagcatcaatcagt
+gactggcgctgtgcttctgccgcgtctactgcggcgctatgctgtgcttcagtatcggtc
+acccatttctcaccatcccatttatcgtatggagataaaggggcgatagtggttgtattt
+tcagggtaatcacccggagctttgatttcttttgattctccagttttggtgctatagacc
+gtttcaccgcgatggtctggcacatattcccatgagttaaaatctgcagaacggcagatt
+gcataaccagccttatgtgtaccaggggcatctaaacaggaacatgccggaatgccgaca
+ccaacggcaagatattcatttgaagtggaaatatattcccgtgtttcaccatcgtagtta
+taaacggtaacatcccctgcctttgttgcaataaggtcactatttaatattgctttatgc
+atcaggctgccctcacgatatagttaaatgcaatattacgcggacgcgtttctgaggctg
+cggcacctaaaccatccactgattgtttatatgttttaaaggttccataatccggggctg
+gtaatccggcatcgtttgtgtttcctcttttgataatgtcagtgccactatttacccata
+tttcatcaaaatagaaattaatcgttgcatcagtcacaatcgtggatcttgacggtaatc
+catgagcatgatcctccgttgcatacccctgaatacttaaaatagagcgacctgtatcaa
+tcccccgcccgtcatcccagccacgaataaactcaccacgtaaatcaggcaatttatttg
+tcggataagcctttgccagttccgggtattcttcagcagaaaaagcggcaccattgcatt
+tcagccagcctgttggcggagtggctgaaggccacggaaccgggacaccaacaggtaatg
+cagagccttctcccaaaccaacgtttatgaaaatgaagaaataacaagcaaatggcatca
+ttcctgcttttaccagggggatttaacatgcttattggctatgtacgcgtatcaacaaat
+gaccagaacacagatctacaacgtaatgcgctgaactgtgcaggatgcgagctgattttt
+gaagacaagataagcggcacaaagtccgaaaggccgggactgaaaaaactgctcaggaca
+ttatcggcaggtgacactctggttgtctggaagctggatcggctggggcgtagtatgcgg
+catcttgtcgtgctggtggaggagttgcgcgaacgaggcatcaactttcgtagtctgacg
+gattcaattgataccagcacaccaatgggacgctttttctttcatgtgatgggtgccctg
+gctgaaatggagcgtgaactgattgttgaacgaacaaaagctggactggaaactgctcgt
+gcacagggacgaattggtggacgtcgtcccaaacttacaccagaacaatgggcacaagct
+ggacgattaattgcagcaggaactcctcgccagaaggtggcgattatctatgatgttggt
+gtgtcaactttgtataagaggtttcctgcaggggataaataaagttaaagacactttgtg
+tacaaaagaaagtaaaacaacagcaacttgttgcaattttatcaataaaagtagtattgt
+cgtgaaaaattgattaaagattaatattatgcatgtttttgataataatggaattgaact
+gaaagctgagtgttcgataggtgaagaggatggtgtttatggtctaatccttgagtcgtg
+ggggccgggtgacagaaacaaagattacaatatcgctcttgattatatcattgaacggtt
+ggttgattctggtgtatcccaagtcgtagtatatctggcgtcatcatcagtcagaaaaca
+tatgcattctttggatgaaagaaaaatccatcctggtgaatattttactttgattggtaa
+tagcccccgcgatatacgcttgaagatgtgtggttatcaggcttattttagtcgtacggg
+gagaaaggaaattccttccggcaatagaacgaaacgaatattgataaatgttccaggtat
+ttatagtgacagtttttgggcgtctataatacgtggagaactatcagagctttcacagcc
+tacagatgatgaatcgcttctgaatatgagggttagtaaattaattaagaaaacgttgag
+tcaacccgagggctccaggaaaccagttgaggtagaaagactacaaaaagtttatgtccg
+agacccgatggtaaaagcttggattttacagcaaagtaaaggtatatgtgaaaactgtgg
+taaaaatgctccgttttatttaaatgatggaaacccatatttggaagtacatcatgtaat
+tcccctgtcttcaggtggtgctgatacaacagataactgtgttgccctttgtccgaattg
+ccatagagaattgcactatagtaaaaatgcaaaagaactaatcgagatgctttacgttaa
+tataaaccgattacagaaataaaattatttattaaagtcacatttaagacgtaataccct
+acagggtaaaaattttctctgatcttaacttctgcaaatgttaactgctatttttatgct
+aaaaatggttatcaaaactcaaaaacacatgtttataatcaatgagttatagaaatgcta
+agggctaatgagttatatgcaaattagtaaaattatgttgctatgtcagatagttacgat
+ttagtcatctaactaatgctgcgccatatgggttggactgaagcggctgacctgattgtt
+aaaggtatggaaggcgcaatcaatgccaagaccgtaacttatgacttcgaacgtctgatg
+gaaggcgctaagctgctgaaatgttcagagtttggtgaagcgatcatcgaaaacatgtaa
+tctctccatgtgttaaatattgaaacgggcgtataacacgcccgttgttttatttatgtg
+gatattattaatagcatatcgagcatatttatatgaagcccattacttgagcccatatgg
+gcatatttttataatgcaactattatgtaaacatttatttgttattttgctttctcctgg
+aggacactcttgactgcttttgagtaaactccataaatccttgttgaatggtgcgatgtg
+ataaatagtaataggatattctttatccttaaggataataccagacttaaccggtgtaaa
+tatactgccaggagggagaaatatagtagattgataccagatgatcattttcatattacc
+ccatatggctgaaaaagatataccacatgtaggttgaattaccgtgtcaattactatcca
+cttcatttgttatgtcttatcccacggtatttaatatggttcattaggatgtttatttct
+tgattttgcatatgagtatattacccccccctcaaaaaaataaattaattaaaatgatgg
+cttatataaaataaaatttaaagcaaggaatctcaatggatgttaaacaaaatgagattt
+tgtgaaagcaataaattattgacttcgttttagatttgtttagctataatgttatacatt
+caaatgactgaacatcctgtaattaaaacatagcctttatgctactttgtgccaatttgc
+taaacattatggttgcctttttatataacgataataatgaatataagcatgacatgagaa
+taaggtttcaatttttgagttatataggaatgatttaacctgttcctggctaaaatacat
+ataaccggatgatgactaaaccaaaatacatgtgcgttaagtattgaaacggacgtgtgg
+cacggccgttgtttttataaatatgttaaccgttataaaataacgtatcaaaagtcaagt
+gatcacatttcaaatatcaagttgatagtattagtctggtgattatttatgggtgacaat
+aaaaagacagtattaatcatccatagagatagtctctgcacttttatttccattatgcta
+atgccttactgaattatgaagcatttcttaagtatccaactttagctagattaatggttt
+attattttctacatcttcaatatataaaagcgtattatcaatggcgtagtaactgcgttt
+gttatgattaacatcagtaacccaccggaaaacgcccgcgcctgccagtgttgaacagta
+ttcccgaaatgtagattttccgcaaatatgaagcaatgcggcctcttttattttagcagg
+gttcttggtcgtactaacttttaacaggttcctggttcctcttaataacaaaaccgtatc
+atcgtgagtaataattctgatgttatccgtagccagataataaatgtaatgtgcaatacg
+gtgatgttttaattctgaataaaaccaggagaagttttgctcttttctcacttgctcaaa
+catcttttgaaaaacaacgacctgatccatcaggataataacctcttgttagttgtgaga
+ctgcgtagtgtgcacgatcggttttaccacttcaatctggtctgtcctttggctgtgata
+tgtacagagtgtgatagagggaatatctgaattctcccggtgagcattttgcaacggacc
+agctccggtacaaacgctgttgtgggttcagattataacattctgtctaaggggcgggat
+aaaggtgaaattagggggcatgaaagatgactttataaccttgctcaccccagtgttgta
+aaagttcgttttgccttctcgttggtgccatgcctgtccagacaatcaatgtttgcgtcg
+ggaacagttccgggcgcggcgattcaatgggatcagcaagaacagaaatgtgccatcctg
+acaatgataaacgccatgcttccagccacaatcgtgctctctcttcaacattccacgcca
+tcagaatggcttctttaccgggcttacggcgcatttcgaaaagcgaggttgctgcgtatt
+caattaatgcgccgtcaaacatactgctcataatgcgggaggtgttgtgatcaagcacga
+gacgctggcgaacaggaaggtaaacatgattaatcaattgatctactgggtactctcgac
+ccagtgaaataattctcgcgcgtagtttggcaggattagccatgcgaagaattgacatca
+tctcttcttgcaggcggctccagtcatcttccgtatcctggctggtggtttccagtaatg
+ctttaactttgcctacagggacgccattacttatccaacgcttgatctcttcgatgcgtt
+gtatgtcttcttcatcaaagagtcggtgtccgccttcactgcgctgtggttttaacaaac
+cgtagcggcgttgccaggcccggagagtgacaggattaatcccgcaacgttcagcaacat
+caccaatgctgtaataagccacaattcctccttgcggtcacaaatctccgtcgcctgtac
+acgacccaataatactttgtacaatatacgctaaaattgtacaaagtataaataagattt
+cagctaaattggatgaaacattatttttaatgtggattaaatttaaacgtaacgtattca
+ttttcacgatgatttactgaaatcatgtgaaagaatgtgctgaaaattattttttctctg
+gccacgctatggaagggataccattcaatttagctttagcaaacagatctccctgaaaca
+tctcaattcctgcggattcaagccacatccactcttctggtgttgccacgcccatagcac
+tgacttgaatttcaagtgatgtacagcattttatgatcgcctgaataattgcctgccgtg
+gcccacttttatgaacattggtaatcaattcctgactgattttaattctgtcaggctgga
+agcgtgacaggagtaacaaaccagcaaaacctgcgccaaaatgatcaattgctacactga
+taccagcagcctttagcgatttaatcgcttcggcaaactcatcaaaccgagatatgactt
+cactttcagtaaattcaacgatgatttgttcaggcaccagagcattggcctttatttcat
+taagtaaaaaagagactgcgtcaggttcgttaaccagggtcataggtaatagattgattg
+aaatcattttatcaccgagctcaagtgcgtgtgccatcgtgaatgcaagcgccttacttt
+tgagatccgctgtgtagatttccccgtctttacgctgcccaaccgctatggctgatgggc
+tatcttcatttttttgcacaatggcttcaaaagcgattatccgccgcgataagggatcga
+caataggatgaaaggcaaagtggtcgtttatagttggtgaaagggcacaggaatcaagtt
+ctttatcagatccgtcagcgataaaaagccaggagtcttcggcagggatctcgaaatagg
+ttgattgttcggttgcaaggacaaaagtacgaaaaaattgtagcgctctgtcatcataag
+ttagctgaaattttgatgtgcctttgtcgaatacggcctgtaaaacgtcatctcgctcgt
+gcaggcgcaaatcaaataattccattcccgctttgccaaaacggcgagcaggcgcgtaat
+cgcacagcagctcaacaatattatagtgccgtggatcctggcatatagcccgatatatca
+ttttaacctgttcttccggaccttccagaagctggaaaaaatgagaaccattaaacagta
+agatccctgttacgtcagactgcatgttcctgcgatttgctatcgaaaccatttcttcga
+tttttttgacaggttcgtcgtcacgtatatggctacgataaataagggtggtaagcatta
+acaatccagggtaatgggtgaggcgagagtaagacggtaacagacatatcttcttgtgtc
+tttcttttaataccaaaacataaccgtttctttacattgataaaaaatggaaaaagttga
+acactagttggcgaaaaatcttgtatagattgtcagttaaatgatgcaatatgttttatc
+ataacacattgttttatatgcattagcactaattgcaaaaaattaatttatcattctgta
+cacatatttcgtacaagtttgctattgttacttcacttaacattgattaacatttttaac
+agaggcgtagcatgcatcaaaattcagtgactttagattctgcgggagcaatcactcgtt
+actttgcaaaagctaacttgcatactcagcaggaaactctcggggaaattgtgactgaga
+ttttgaaagatggacgtaatctgagtcgaaagtcgctttgtgccaaacttctttgccgac
+tggaacacgcgactggggaagaggaacagaaacattataatgcactaattgggttgcttt
+ttgaataatgcaacagcctgattatttaacaggttagctatgaagtcgttatgaagacat
+ctgataatgaacgtataaaatatgaaattactggccaggcggtgctccagatactgcgca
+tgaagataaatttttcattgcagactcttattaagcaattactcgtaatgaaatcggctg
+aggaagatgctttccgacgcgatttaattgacagcataattcgtgattttagcaatagtg
+attcaggagggccaaaccgaagaacagcgacagctgacaataaaagtatgttcaatggta
+agaaaataaacagaatacattaaaatttcataagtaagatgagaggttaccatgcttgaa
+gatactacaattcataatgcaataactgataaagcgttagcaagttactttcgcagttcg
+ggtaatttgttagaagaagaatcagcagtgttagggcaggctgtcaccaatttaatgctt
+tcaggcgataatgttaataataaaaatattatcttaagtctgatacactccttggaaaca
+acaagtgatattctcaaagctgatgtgattagaaaaacactggaaatcgtgttgcgatac
+acagctgatgatatgtaacttctaattattaagtataagtttatagaaaactcattcatc
+ttatttttgtctgtcgctttagactatacacagcataattttattgggttaatatttcta
+cgaggctgacatgaataattcaatcccagagagatttatttttcaatgtgctttgtttaa
+aaatctcgagagggaggtgttcatgacgcatgggtatgttgatagtcatattattgatca
+ggctttacgcttgcgtttaaaagatgaaaccagtgtgattctttctgatctctatctgca
+aatattgcagtacattgaaatgcataagactacactaacggatatcattattaatgacag
+ggaatccgtgctctcttagaacttgagtaaggttttagaataaacatcagctgtatcacc
+atgctgatgcaaagtgagcatttcaggcgttatgctttcttattatgtccgcaatatcag
+gtgtcaagaatggagagttctcgctctccattcttgacgcctgatatcccgcctaactta
+ttttgtactgcctacattatgctcaataattaatgggttagatcaagatggagaaaattt
+tatcttcggcgtggatatttcttatgctctctaccatgctctctgtagatgccagcgcga
+gcgaatgaatggcattttcatgtattaaaccctttggccgggacaagcaaatgcgcaata
+cactcatacccatcctcgttgcgatatgcttgtttattaccggtgtcgctattttgaaca
+tccagctctggtattccgcaaaagcagagtacctggcgggagcgagatatgccgccaaca
+atatcaatcatatacttgaagaagcgtcacaagcgactcaaacagcggttaacattgccg
+ggaaggaatgcaacctcgaggagcaatatcagcttggcactgaagcagctctgaaacctc
+acctgcgcacaatcatcattctcaaacagggaatagtctggtgtacatccctgcctggga
+atcgggtcctgttgtctcgtattcctgttttcccggacagtaatttactgttggctccag
+caatcgacaccgttaatagattacctatcctgctctatcagaaccaatttgcagatacgc
+gcattttggttacgataagcgatcagcatattcgtggggcacttaatgtacccttgaaag
+gggtaaggtatgtattacgcgtggcggatgacattattggaccaacgggtgatgtgatga
+cgcttaatggacattatccctataccgagaaggttcactccacaaaatatcatttcacta
+ttatctttaacccgccgccactctttagcttctacagacttatcgataaaggctttggga
+ttttaatatttattctgttaatcgcctgcgccgctgccttcctgcttgatagatatttca
+ataaaagcgcaacgcctgaagagatcctgcgacgggcaataaataatggggagatcgtcc
+ctttttaccaacctgtggtaaatggtcgggaagggacattgcggggagttgaggtgttag
+cccgctggaaacaacctcacggtggatatatatcacccgcggcatttattccacttgctg
+aaaaatccggattaatcgttccgcttacgcaaagcctgatgaatcaggttgccagacaga
+tgaacgctatcgcgagtaaattgccggaaggttttcatattggaattaattttagcgctt
+cgcatattatttcgccgacgtttgtcgacgagtgtttaaatttccgtgacagttttaccc
+gccgcgatttaaaccttgttctggaagtcaccgagcgtgagccattgaatgttgatgaaa
+gtctggttcagcggttgaacatactgcatgaaaatggttttgtcatcgcactggatgatt
+tcggtactggctactcagggctttcttatcttcatgacctgcatattgattatatcaaaa
+ttgatcacagtttcgttggccgcgtaaacgcagacccagaatcaacccgaattctggatt
+gtgtattggatctggcgcgtaaactttcgatcagtatcgtcgctgaaggtgtcgaaacga
+aagaacaacttgactatctgaaccaaaattatatcacatttcagcagggttattatttct
+ataaacctgttacatacatcgacctggtcaaaattatcctttctaaaccgaaggtgaagg
+ttgtggttgagtgaaaattgatcagtaaggccatagtgcggtgtaattatagacagctaa
+ttagctcgttgcctcttgttactattgttcattattttgtttgctataattgtttgaaag
+ttttgacaggattgccattagtagcatgaacaatagtaataatctggattatttcactct
+ctatatcatattttccattgcatttatgctgatcaccctcctggtcatccttattgcaaa
+acccagtaccgggctgggagaagtgcttgtgacgataaatttgcttaatgcccttgtttg
+gctggcgatcaatctggttaatcgattaagagaaagactcgtcaaccacagggatcagca
+ataatctttcagtttctcactgtcagtatgcggctgaatgggttgctggcagtgaacgcc
+tggatcattgaaggaaaggcattattgcgcaaatagttgtcaaccctggtgttatcacgg
+ttgtttttatatatcaccgaaataatcctcatcgcaactattaacaattttgatgtcgaa
+gagttatttgttaaacaaaatcgtcacctcaaagtgatcaatgtcatgaaaataaggtga
+aaaatgataatgccgacttatttatcatttatatattgtcgctgtttatctatttaaatt
+ttttgtgcttttgtttttgtctttaccctccgttttggtaatctgagctcataggttatt
+tgaccaggaatgtttgttaatccaatgaatggatggttaatctatgaaactgaaaaaact
+ccccgggtttagtttgggacttattgctctggcggtgggtaatgcatatgcaacacaatt
+gttggatgattatagtataatttcctatatgactgatgaagaatcgccgattgaaatcaa
+agataataatccgataagtaatggagagtatctaaccactgaagacgaaagccatgctgt
+gaaagtggatgacggtgtaactggatatataaataatgccagtgtgatgactagtggtga
+tggatcttatggtatttctgttgatagtcaaaacaaagtattatatataagcgatagcga
+tattaagacctctggaagcgtatctgacaaagaaaatggagggataacagccagcgcagt
+agtcagtgaatttggtggcaccatctttatgaatggtgataattcagtcgagtcgggtgg
+ggcatattcagcgggacttttaagccaggttaatgattctgaaaagatggtaaataacac
+ccgtcttgaaaccacagataaaacgaacattgttacctctggggaaaatgcagtaggtgt
+tcttgcatgttcaagtcctggagagtctcgaacatgtgtcgatgctgtagatgatgaagt
+tagtgattctaacagttacgaagttattagccgtgctgatttaaaaatgaatggtggttc
+cataacaactaatggcattaatagctatggtgcttatgctaatgggaaaaaagcatatat
+taatttagattatgtggcacttgaaactgtggctgatggaagttatgcagttgctattcg
+acaaggtaacattgatataaaaaatagttctattacaacaacaggcactaaagcccccat
+tgcaaaaatatacaatggtggagagttatttttttccaatgtcaccgcggtatcaaaaca
+agataaaggaatatcaattgatgcatcaaatatcgattctcaagccaaaatagcactatt
+aagtgttgaactttcaagtgctttggatagtattgatgttaacaaaactacaacggatgt
+aagtatccttaatcgaagtattatcacacctggtaataatgttctggttaataatactgg
+aggtgacttaaacataatttcgtccgactctattctaaatggagcgactaaactcgtcag
+cggcacaaccacgctgaagctttcagaaaatacaatctggaatatgaaagatgactccgt
+tgttacccatctgactaattcagacagtattatcaatctttcgtatgatgatggtcaaac
+atttacccaaggaaaaacattaaccgtaaaaggtaattatgtcggtaataatggtcagct
+taatatccgcaccgtattaggtgatgataaatcggctacggacagacttattgttgaggg
+taatacttcgggttcaactaccgtctatgtgaaaaatgctggaggaagcggcgcggccac
+gctaaacgggatcgaactcataactgtgaatggcgatgaatctccagcagatgccttcag
+ataaggtgatgcaaggattgcagctggagctttcgaatatcaactaaaacaacaaggcaa
+aaactggtatttgacaagttatcagtcagtgaatgaggaggataacagctcagagggaaa
+ttcagaatcaacagaaacgcctacccccgtcctgcgccccgaagctggaagttacgtcgc
+taacctggcagctgctaacactctttttgttatgcgtctgaacgaccgtgcgggtgaaac
+gcgctacatcgatcctgtaactgaacaggagcgttcaagccgactttggctacgtcaaat
+tggcgggcataatgcctggcgtgacagcaacggacagttgagaacgacctcgcatcgcta
+cgtctcgcagttagggggcgatctgttaaccggtggttttaccgatagtgacagttggcg
+tttgggagtgatggctggttatgcccgcgactacaacttaactcattccagcgtgtcgga
+ttatcgttcgaaagggagtgtcagaggctatagcgcagggctgtatgccacctggtttgc
+cgatgacatcagtaaaaaaggcgcatacattgactcctgggcgcaatatagctggtttaa
+aaactcggtgaaaggggatgaattagcctatgaatcctatagcgcgaaaggtgcaaccgt
+ctcgctggaagcgggttacggttttgccctgaataaatcctttggtctggaagcggcgaa
+atatacgtggatcttccagccacaggcacaggctatctggatgggcgtcgatcataatgc
+gcacacggaagccaatggctcacgtattgagaatgacgcaaataacaacatccagacccg
+actcggcttccgcacctttattcgtactcaggagaaaaacagcggtccgcacggtgacga
+ctttgaaccttttgttgaaatgaactggatccataacagtaaagattttgctgtctcaat
+gaacggtgtgaaagtcgaacaagatggggcgagtaatttgggggaaattaaacttggcgt
+aaatggcaacctgaatccagcggccagcgtctggggaatgtgggcgtgcagctgggtgat
+aatggctacaatgacaccgcagtgatggtgggcctgaaatataagttctgatcccgccgt
+tagctaaaaaaccgcgtcgtattcatcgacgcggtacatatgaaatattattttttgccg
+atagcacgcatggtgtcatcaattgccgtgatcaacagcatttgcgggtctttagcgcaa
+acctgattcagtttttctaccactttggcgctcagttccggagattgctcaatttttaaa
+tcacggctggcaacgctggcattacccattaccgcaacaatttctgcaacctgtgcgctg
+tcagtttttgccatttcgttggcttctgcgcaagtaatataggtttctgacggcaaaccg
+tttttaatattgtagtcctgcgcccaggtcattggtgcgaaaacaaacaggcccgccagt
+aaagcaaattttttcatcatcattccttatttcattttacccagaattgcaccacccgta
+ccgccaatcacggcacctttaatcgccccttcgaggccattgccggtcagaacgccagtg
+acagcaccaacggcggcacccacttttgcacctttacgcgcatttttaccgtcgcggcct
+ttttctgttactgcaccaacaccagcgccaacagctgcacctttcagtacgccattaaca
+ccattgccagtaagtaaaccaacgcctgcgcctagcaatgcacctttcgtggtgcggttc
+atatccgccatcgctggcgtggagcagaacaatgctgagataagcccgaaggcaagtatt
+tttttcttcaacttagatgtccggtattaagtaagttgcacacacaataatttcgtcttc
+aattaagatctgcttaactaaagaacgctcgctattattcagataattcaaaatgagcgt
+ggctgtgatgataggaattatgttttttacgtgaatgagaataatcttaaatgaggaata
+actcattgattgacaatatttttattcaagaagtgtcattgactgttaacgcaatgttgt
+aaaggtaagataatctgatttatcaatattattgtgtgatttttatgtgagcagaagata
+ttcatcagcaacgattacattagtcattttattttgccgacggcctcattgtcgaaagat
+aagcgtacgacagtattatcagaaaagagtgattttttatccaactacacttcagcgcac
+tgcgtgtaaaaaatgcctctttcttatgcgggatatcatcatttcatcatgatgtctttg
+gtgagcggtgaacacaatacacctgcgctgtctcttcaggatgaatcccctggtctggtg
+cctgcgggctgatgttgcagcagagcttaggtcacttagacgctactatcatttatccaa
+tggcatggaatcgaaatcagtcgatacccgcagtatatatcgtgaactgggtgcaacgct
+gagttacaacatgcgcctggggaacggtatggaaatgaaccctggctgaaggcggctgtg
+cgcaaagaatttgtcgatgataaccgggtgaaggtgaataatgacggtaatttcgtcaat
+gatttgtcgggcagacgtggaatataccaggcagctattaaagcctcattcagcagtacg
+tttagcggacatctcggggtggggtatagccatggtgccggtgtggaatccccgtggaac
+gcggtggctggtgtgaactggtcgttctgaccatcaacgattaaactgcgcttcggcgca
+gttttcgtttacaggatgttgaaagggaaaattctggggcaaaaaaagcccgccagttac
+ggcgggaaacctcatcctatgggagaacaatgaataatgaaattgcggggttatcatctc
+ccagtatatccatactaacaataaggttatttactcaaccaggcataaacattttgtttt
+gtgcgtgggaacagccttaaggtgtaaagggggaggtggaaatagcaatgaggagtatca
+gcaagaatactcgccgctttaccacaacgtggatgagagggatgaaaaactcaaggcaga
+gataactctgccttgaagataaatgcgcttttacagcgggcttatttcagctcttctgct
+tccggtaaggtcacgttcagctcaagaatagaaatatcgccatctttttgctcaagctgt
+acggttaccatctcaggatcaatttgtacgtatttacaaatgacctcaagaatatcttta
+cgcaactgcggcagataatgcggttctgcatcgctgcgacggcgttcagcaacaataatc
+tgcagccgttcttttgcaatgttggctgtgtttttcttccgcgagagaaagaaatcgagt
+aatgccataacttatcctccgaacaagcgtttgaggaagcctttcttctcttcttcaatg
+aagcggaaaggacgttcttctcccaacagacgttctacggtatctgcgtaggctttaccc
+gcatcggcgttaatgtcgagaatgaccggttcaccctggttagaggcgcgcaatactgat
+tgatcctctgggatcacgccgacgagtttgatgcgcaggatctccagcacatcttccatg
+ctcagcatgtcacctctgcttacgcggcctgggttatagcgcgttaacagcaggtgctct
+ttaataggctcttcgccattttctgcgcggcgtgatttcgacgccagaatgcctaaaata
+cggtcagagtcgcgtactgaggagacttccgggttggtggtaataatggcttcgtctgca
+aaatagagtgccattaacgcaccggtttcaatccctgccggggagtcacaaacgataaat
+tcaaaatccatcgctttcagatcatcaagaactttggcgaccccttcacgggtgagggca
+tctttatcgcgtgtttgcgatgccggcagaatatagagattttcagtacgcttatcttta
+attaacgcctgatttagcgttgcatcgccctgaatgacgttgacgaaatcgtaaacgacc
+cggcgttcacaacccataatcaggtcgagattacgcaggccgatatcaaaatctatcacg
+acagttttctttcccttctgggccaaaccagtggcgatggccgcgctggaggttgtctta
+ccaacaccccctttgcccgaagtaacaacaataatgcgtgccatagaaattccttgttaa
+aaagggatcaatttaacggttgaacggtcaaagcgttttcgactaactgcagtcgcgccg
+ctttgccataaaattctgctgggatttgatcactcagccagtattcacctgcgatggaca
+ccagttccgccatcaggttcgtacaaaatatttgcgtttcccggtcaccacttgcccctg
+ccagcgcacgaccgcgcatcatgccatagacatgaatgttcccatcggcaatcaattcgg
+ccccagcgctaacgtggcttgtaacaatcagatcacattgtggagcataaatacgctgac
+cggaacgcaccggggtatctattaaacgcgtttttgtgaccggcgttgtattttgcgctg
+gagcctgcggtgtgggagctggacgtggcgctttttcctttccttccgtcaggataggca
+gccccatcttttcaatttcggctttaagttgcgcatctttgcagccacttacgccaataa
+cccgcaaaccggttgccgaaaccgccttatgcatcgctgaccagtttaccgggtcttcca
+gtgcactgacgttgagtacaacgggggcatgttttaaaaatgcgggggcctgagcgattt
+tgtcttccagcgcctgatggataaccttaggttctgcctcatgcagatgaaccacagata
+aagtgaagctactgcctttaagctcgattggcgtgtttgacatcctggccttactcaatt
+agctattaatcatcgccagcgcgcgatgatgttccgaagactataaggcatgttatagtc
+tggattatattgaggcaagtcaccctcccatttattcagagtaaaagtctattctgtgat
+aaatggcgctgattcatagcttaaaaaatacccttgtcaatcaacccattgccgtcgtac
+ttttgattgttcttatttacgcttcctttttccgcaccctaatcgtgacagcatctccag
+acctgtttaaatatccagtattgaggcaagtgtattttttcaccacgccaggctttctta
+actttccattttttgcggcatcattaaagaacagatacccgttatcttaatatccgccac
+agaattgctctatcatagaaaccgcagaagacgtctgatacttctgtcaggtcatcgtaa
+ctcgtccaggtcagcggttttgattacggattgatgatgaaatgagcataagtgttgtac
+ggttggattatcaggatgtgctatgaatatgatgcgtattttttatatcggattgtcagg
+tgtggggatgatgttctcatcaatggcgtctggaaatgacgctggcggacttcaatctcc
+ggcgtgcggcgttgtttgcgacccgtatatttgtgtgaactcagatggcatttccccaga
+gttaacaaggaaatatctcggcgaaaaagccgctgaaaacttacaatcattacaaggcta
+cgatcccagcgaatttacattcgctaacggtgtattttgcgatgttaaagaaaaattatg
+tcgtgatgatcgttattttggtgtggatggtaagcggagtggaaaaatcaatcaaaccac
+cacaaagatgttatttatgtgtcgtgagtgatgtcttgtttacattatgttctattcgtc
+attaacctcttgagcgacagagaggagtggggcattaacgtttatgacggggagagtccc
+cgtcggttgacatttacttaatttgaatatcgacgttatattttttagttttgtttttac
+gggcgtcgtttcgggtttgcaacactcgcagctcatatttgccagaagcagggagtgagt
+attgtccgtgactatcgagttctggggaatatctggataaatcaactgaatcatcgattc
+ctggcccgaagaggtaagtatcagcgccttcattagagatactcacatgcactttctgac
+cttttttggcatagaaggtatatgtatcgtaatcgtatccctttatttcgccggagtact
+gagcgctgctatggccttttctgaactcaacattgacattcttacccgcagcaaagctcg
+tggaggttagcagtgcaagcagcaatacagccttcctgatgctcttgattttcattggta
+gtctcctgttcagaatgagtacgatgaactgttataatataacaatccctaacgggagaa
+ttccagtggctttcctgcgttcggtaaaatcacgttgcggcatttttgccggggggatta
+cttataaagggggcatggactcaacaaaccgtagaaatctacagctggctggcttgtggc
+gcgggtttcattgatgttagcttatgccaaaacctggcatcttaaagagtaaaagtatgt
+tttgtgtgatttatcgaagcagcaagcgtgaccagacctatttatatgtcgaaaaaaaag
+acgatttttcgcgtgttcctgaggaactgatgaaaggttttggtcagcctcagttagcga
+tgattctgccgctggatgggcggaagaaactggtcaatgccgatattgaaaaggttaaac
+aggcattaaccgagcaaggttactatttgcagttaccgccaccacccgaagatttgctga
+agcaacatctttccgtcatggggcagaaaacagacgacactaacaaataaccgatatccg
+gcggtggcattatctttgtcggcgcgggttttcatatccacgataaggtgaggggaacgt
+tatgtatcaacatcacaactggcaaggtgcgctgctggattatccggtgagtaaagtagt
+ctgtgttggcagtaactatgccaaacatattaaagagatgggcagcgcagtgcccgaaga
+gccagtgctgtttattaaaccagaaacggcactgtgcgatctgcggcagccattggcgat
+cccatccgatttcggttcagttcatcatgaagtcgaactggcggtgttgattggcgcgac
+actgcgtcaggctacggaagagcatgtccgcaaagccattgccggttatggcgtggcgct
+cgatctgacattgcgtgatgttcagggaaaaatgaagaaagccgggcagccgtgggaaaa
+ggctaaagcgtttgataactcttgtccgctttccgggtttattcccgcggcggaatttac
+cggcgacccgcaaaatacaacgctgagcctgagcgtaaacggcgaacaacgccagcaagg
+tacgactgcggacatgatccataaaatcgttccgctgatcgcttatatgagcaagttttt
+taccctcaaggccggtgacgttgtgttgacaggcacgcctgatggcgtcggcccgttgca
+aagcggtgatgagctgacagtcactttcgatgggcattctttgacaactcgcgttttgta
+atactttttgccgcctgaaagcggcggcaaaacttgcatcgctgtgccagactggttata
+aggtgcgttttaacgtaatggcggaacacctgatgagcgatgtacctttctggcaaagta
+aaaccctggacgaaatgagcgatgcggaatgggagtcgttgtgtgatggttgcggtcagt
+gttgcctgcataaactgatggatgaagacaccgacgaaatctacttcactaacgtcgcct
+gtcgccagctcaatattaaaacctgtcaatgtcggaactacgaacgtcgtttcgagtttg
+aacccgactgcattaaattaacccgtgaaaatctgccaacattcgaatggctgccaatga
+cctgcgcttatcgtttgctggcggaaggtaaagatttacctgcgtggcatccgctactta
+ctggttcgaaagcggcaatgcatggtgaacgtatctctgtgcgtcatatcgcagtgaaag
+aatcagaagtgattgactggcaggatcatatcttaaataaacctgactgggcgcagtgat
+aaatttaatagatgctgatgggggctttcttaatatacgtctggatgctcgccatttcgt
+agccctgtttttgaaagcgctctgtcataatgagagttacccgataccttattatcaaca
+ggtaactctcaatctttaaaaaacgtctgtgtttttaaatgtgataaaccttataccttg
+agtacatggagagaataatcgcttatcagacttcaggtacctcaaagagtgtctttttac
+cgtgtcttttctgatactcattacaggtgttaatcatttttttggccgcttcttttagca
+aagaaagcattaaatcatcataatcaacgtagaatctggttgtttcagtttccgttttta
+tctcaccgatggcggctatttcggtggttaatttcaatttggcggcatcgatatctttat
+tcgcttgtttaaccgtgttagacagggtggtaaagaaattctgcacagattttaacttgt
+tcttcaattctggaatcagttttccttcaactacgcccgcagcaatagaataggaaatga
+ttaatccaaatggaccggcgacgacaccggctgcggcaccggcatatgcttccttcctga
+ttttatctacctgtgactggaaatagctgcttttttctgaaaaatcattggttaactggc
+tatctaacgccagcagtttcccggaagcgttgttgaaactttgtgagcttaccagcaggg
+atttttgcgcttcattcagcttcgtgatgccgtcatccagtaccttaatgagaatgtctt
+tctgggcggatgctttcttctcattgtactcatcaaatagcaaaatatacgctgcgagca
+attgcgtcgcaacaccacaccattcatacactgtttgggttgcttcaaaatacttatcct
+ggctatccataagtaaggttttaatatcgccgactaaaacggaggctgcctgtgaatact
+cctgtttaaagcgacttaactcttttatggtttcatcaaaggtctgccaggggatgacct
+gatcgagatatttattataaagatctaatgctccatctgcggtttcgattgcgtttttaa
+ctacttctaccgttttatctgcaacgatttcagtcataatcattcgcctctttaaatata
+taaattgtaatgaaactcctgttttacaactattaataaattttacttcatctaattcat
+agttagccgggcgggatgcgtcaatgtctttatttctattaatatgataaatatcaaaca
+atgtttaatgtcattatggcgaatgcttctattctattttttagccgggtgatatttttc
+atttctgctggatgagcgtcgtcgccagaaggccacgtgagcacaagataagagaacgaa
+aaatcagcagcctatgcagcgacaaatattgatagcctgaatcagtattgatctgctggc
+aagaacagactactgtatataaaaacagtataacttcaggcagattattatgttgtttat
+caagcctgcggatctccgcgaaattgtgacttttccgctatttagcgatcttgttcagtg
+tggctttccttcaccggcagcagattacgttgaacagcgcatcgatctgaatcaactgtt
+gatccagcatcccagcgcgacttacttcgtcaaagcaagtggtgattctatgattgatgg
+tggaattagtgacggtgatttactgattgtcgatagcgctattaccgccagccatggtga
+tattgtcatcgctgctgttgacggcgagtttacggtgaaaaaattgcaactacgcccgac
+ggtacagcttattcccatgaacagcgcgtactcgcccattaccatcagtagtgaagatac
+gctggatgtctttggtgtggtgatccacgtcgttaaggcgatgcgctgatgtttgccctc
+tgtgatgtaaacgcgttttatgccagctgtgagacggtgtttcgccctgatttatggggt
+aaaccggtggttgtgctatcgaataatgacggttgcgttatcgcccgaaacgctgaggca
+aaggcgcttggcgttaaaatgggcgatccctggttcaaacaaaaagatctgtttcgtcgc
+tgtggcgtggtttgctttagcagcaattatgagctttacgcagacatgagcaatcgggtg
+atgtcgacgctggaagagctatcgccccgcgtcgagatttacagtattgatgaggcattc
+tgcgatctgacaggtgtgcgtaattgtcgcgatctgactgattttggcagagaaattcgc
+gcaacggtgctacaacgtacccatcttactgttggtgtggggatcgcccagaccaaaacg
+ctggctaagcttgccaatcatgcggcaaaaaaatggcagcggcagacgggtggggtggtg
+gatttatcaaatctggaacgccagcgtaaattaatgtctgctctccccgtggatgacgtc
+tgggggattggacggcggatcagcaaaaaactggacgcgatggggatcaaaaccgttctc
+gatttggcggatacagatatccggtttatccgtaaacattttaatgtcgtgctcgaaaga
+acggtgcgtgaactgcgcggcgaaccctgtttgcaactggaagagtttgcaccgacgaag
+caggaaattatctgttcccgctcgtttggtgaacgcatcacggattatccgtcgatgcgg
+caggccatttgtagttacgctgcccgggcggcggaaaaacttcgcagcgagcatcaatat
+tgtcggtttatctccacgtttattaagacgtcaccatttgcgctcaatgaaccttattac
+ggcaatagcgcgtcggtaaaactgctgacgcccactcaggacagcagggatatcattaac
+gctgctacgcgatctctggatgccatctggcaagcgggccatcgttaccaaaaagcgggc
+gtgatgctgggggatttcttcagtcagggagtcgcgcagctcaatttattcgatgacaac
+gcaccgcgccccgggagtgagcaattgatgacggtaatggatacactgaatgctaaagag
+ggcagaggaacactctattttgccgggcaggggatccagcaacaatggcagatgaagcga
+gccatgctttcaccacgttatacaacgcgaagttctgatttactgagggtcaaataaata
+tagcggcaggaaaaaagcgctcccgcaggagcgccgaatggattagcgaccgaacagatc
+acgttttttcgctttaaacggctgggaaatcaccaccagcactgcgacaatcaggtaagc
+gataaaaataccgagcagccactgcggcatttccagacctaaaaaatcccactgacgctc
+ggcgcaatcgccagaggcgacaaacacttgcggcacccacttatccagcggcagccattc
+cgggaaacgaaccataaaatcacaggtggcaaacggcgaaggatagagctgaagcatggt
+gtgctcgtaagttaactgcacaccgcggaacgcactatacaaccagataaccatcgctac
+ataacgcagcggagttttcggggcgatcgcgccaatcagcgcagcacccagaacgccgaa
+taacgcgcagcgttcataaatacagagcacgcaaggtttcagtaacatcacatgctggaa
+ccacagcgccgtcagttccagtgccagagcagtaaacgccatcaacagccacgcgccccg
+gccttgtgaacattggttcaaaaatcgcaacataatcatttccctgcaatatgcatagag
+tgcgcagtttaaaccaattcattcgctgcgccaccaggaggcagcaaaaataggacgcaa
+ttggacaattatcgggcgaaaaggcaaaccgggcatttatatgcccggtaagttgttatc
+aaagcgttgctatccagcccatttgcataaaccattcggttacaggggcaagcgtaaact
+cgacgcagagcaagccgacgagtgtcaggacgagggtgtaaggcagggccatccacacca
+tgcggccataagagaggcgaatcaatggcgcgagtgcagaggtcagcaggaacaggaacg
+cagcctgaccgttcggcgtagcgacggagggcagattggtaccggtattaatggcgaccg
+ccagcagctcgtattgcttcaacgtgatagcgccactttccattgccgctttcgcttcgt
+tgatataaatcgtccccacgaagacgttatccgaaatggatgacagcagaccgttgaaaa
+tatagaacagcgacagctgagcatgttccgatgcctgcaacacaaactgaataattggcg
+aaaacagttgttggtcgataatcaccgcgactaccgagaaaaacaccgtcaacagtgcgg
+tgaatggcagagattcggtgaaggctttaccgatagcatgctcatcggtgacaccggtca
+atgatgttgccagaataatgactgacaaaccaatcaagccaacttccgccagatgcaacg
+ccagcgcagtcaccagccagacgccaataatcgcctggacaatcagacggattttatcct
+gacgggtacgctggtggcggctttgatcgtcaaactgttgcaacacttcgcggactttct
+ccggcagcgtttcaccgtagccaaaccaacgcagcttctctaccagcaggcaggttaaca
+ggccacaaatcagaaccggaacggtcaccggcgacatgcgcaggaagaaatcgccaaaat
+gccagccagccgctttagcgatgatcaggttctgtggttcgcccaccatggtcattacgc
+cgcctaatgcggtgccgacaccggcatgcatcatcaggctacgcagaaagccacggaact
+gttccagaaccactttgtaatgcttgtcgatatgactatcgtcttgcaggtcggtgtctt
+cggtacgggaagaggctacgcggtgataaataccataaaaaccgactgcaacgctgatca
+ccaccgccacgacggttaaggcatcgaggaacgcggagaggaacgcagccgccacgcaaa
+aagagagcgacagcagcattttggagcgaatgcttaacagcaaacgggtaaatatgaaca
+gcaacagctgtttcataaaatagatacccgccaccataaacatcagtaacagcaagactt
+caagatttgccgccacctcttcacggacgtgttccgcgctggtcatgccgatgaataccg
+cttcgatagccaacagaccaccggggagcagcgggtagcatttcagggccatcgccagag
+tgaaaataaattccgctaccagcaaccagcccgcgacgaaagggctgatgaggaaaatta
+acgggtttacgattaagaaaatgatgagggcgagtttgtaccagtcgggggactggccca
+aaaaattgcgccatagcgcgcggccccaggagatctccatgatggtttcccttaccttac
+aaataatcaatgatgtttttatgtttaaacgcaaagcttaacggtcaggcaggagtgagg
+caagtcttgatagtcaaggggaaagagatgcggaaaatgaagccttgatccctttttctt
+ctttttgtctgctatcagcgtagttagccctctggtatgatgagtccaactttgttttgc
+tgtgttatggaaatctcactatggtcattaaggcgcaaagcccggcgggtttcgcggaag
+agtacattattgaaagtatctggaataaccgcttccctcccgggactattttgcccgcag
+aacgtgaactttcagaattaattggcgtaacgcgtactacgttacgtgaagtgttacagc
+gtctggcacgagatggctggttgaccattcaacatggcaagccgacgaaggtgaataatt
+tctgggaaacttccggtttaaatatccttgaaacactggcgcgactggatcacgaaagtg
+tgccgcagcttattgataatttgctgtcggtgcgtaccaatatttccactatttttattc
+gcaccgcgtttcgtcagcatcccgataaagcgcaggaagtgctggctaccgctaatgaag
+tggccgatcacgccgatgcctttgccgagctggattacaacatattccgcggcctggcgt
+ttgcttccggcaacccgatttacggtctgattcttaacgggatgaaagggctgtatacgc
+gtattggtcgtcactatttcgccaatccggaagcgcgcagtctggcgctgggcttctacc
+acaaactgtcggcgttgtgcagtgaaggcgcgcacgatcaggtgtacgaaacagtgcgtc
+gctatgggcatgagagtggcgagatttggcaccggatgcagaaaaatctgccgggtgatt
+tagccattcaggggcgataatcccttccgtttaaagagcaaacccctcaaacgaggggtt
+ttttgttgtttttacagatttcccattcttggcgggcaacgttccagcaactcgatgctg
+ccgtcttcgttttgctgttcgagcatcacatcaaatccccacaggcgatgcacatgcttc
+aggacttctttgcgcccccgatccagcggtgcgcgattatgtggaatataacgcagcgtc
+agcgaacggtcgccgcgcaaatccacgttccagatctgaatattcggctccagattactt
+aagttatattgcgacgataaccggttacggatctcccgataaccttcttcattatgaata
+gcggaaatctccagataattatgccgatcgtcatccagcacggtgaagaagcggaaatca
+cgcatcactttcggtgacaggaactggctgataaaactctcatctttgaaatcacgcatc
+gcgaaatgcagcgtttccagccagtcggaaccggcgatatccgggaaccagtatttgtct
+tcttccgttggcgactgacaaatccgtttaatatcctggaacatggcgaacccgagggca
+tacgggttgatgccgctgtaccacgggctgttataggggggctggaagaccacattggtg
+tggctgtgcaaaaactccagcataaaacgttccgttactttcccttcatcatacagatgg
+ttaaggatggtgtagtgccagaaggtcgcccagccttcgttcatcacctgagtctgtttt
+tgcggataaaaatactggctcaccttacgcacaatacgcaggatttcacgctgccatgat
+tccagcagtggcgcatttttctccataaaatagagcaggttttcttgtggttcggacgga
+tagcggcgcgcttcagcaaccgttttctcttcctcgcgcttcggcagggtacgccagagc
+atattgacctgactttgcagatactcttcgcgacttttctgccgggctttctcttcttgc
+agcgagattttttgcgggcgtttgtaccggtccacgccgtagttcatcagcgcgtggcac
+gagtccagaagccgttctacttcatcaacgccataacgctcttcgcactcggtaatatat
+ttacgggcaaaaatcagataatcgacaatcgaactggcgtcggtccagctacggaataag
+taattgtttttgaagaaagagttatgcccatagcaggcatgagccatcaccagcgcttgc
+atggtaatggtgttctcttccatcaggtaagcgatacacgggttagagttaatgacgatt
+tcataggccagtccttgctgaccgtgcttatacagccgttcagtctcgataaacttttta
+ccgaatgaccagtgcggatagttaattggcatgccgacgctggagtaggcatccatcatc
+tgttctgaggttatcacttcaatctggtgcgggtaggtatccagccggtagagtttcgcc
+acccggtctatctctgccagataaacatccagcaggtcgaacgtccagtcgggtccatcg
+ctcaaacgtgtggtgtccttattcatagaatcgatcgtcgccatacgcgcacctcattgt
+tgtcggcgctctctgtgtggagcacctcatttcaagcatagaacacctgttaaaaaccgc
+gtcgccggagaatttttttctttgcgatttcttattatcagagtgccactaatccgcttc
+tgaacggaattttatgctggataaaaagggcgttcagcaggagatactaaagacgccata
+ttgccgcagagtcagggagatgtgagccagctcaccataaaaaagccgcatgttgaataa
+tattttcaactgagttatcaagatgtgattagattattattcttttactgtatctaccgt
+tatcggagtggctatgcgagttgtcatactgggaagtggtgtggtaggcgttgccagcgc
+ctggtacttaaatcaggcaggacatgaggtcaccgtcattgatcgggagccgggggccgc
+cctggaaaccagtgccgcgaatgccgggcaaatctcccccggatatgctgcaccgtgggc
+ggcaccaggtgtgcctttaaaagcgattaaatggatgttccagcgccatgcgccgctggc
+ggttcgtctcgacggtacgcagttccagttgaaatggatgtggcaaatgttacgtaactg
+cgacaccagccactacatggaaaacaaagggcggatggtgcgtctggcggaatacagccg
+tgattgcctgaaagcattgcgcgccgaaaccaatattcagtatgaagggcgtcagggtgg
+gacgctgcaactgttccgtaccgaacaacagtatgaaaatgcgacccgcgatatcgccgt
+gctggaagatgccggcgtaccgtatcagctgctggaatccagccgcctggcggaagtgga
+gcccgcgctggcagaagtggcgcacaaactgacgggcggcctgcagttacccaatgatga
+aaccggagactgtcagctatttacccagaatctggcgcggatggcggagcaggcgggggt
+taaattccgctttaatacgcccgttgaccaactgctttgcgacggcgagcaaatctacgg
+cgtgaagtgtggcgatgaagtgattaaggccgatgcgtatgtgatggcgtttggttctta
+ctcgacggcgatgctcaaaggcattgttgatattccggtgtatccgctgaaaggctactc
+gctgaccattccaattgcgcaggaagatggtgcgccggtatccaccattcttgatgaaac
+ctacaaaatcgccattacccgtttcgataaccgcattcgtgttggcggaatggcggagat
+tgttggttttaataccgagctgttgcaaccgcgtcgtgaaacgctggagatggtggttcg
+cgatctctatccacgcggcggtcatgtcgagcaggcgactttctggactggtctgcgccc
+gatgacgccagacggcacgccggttgtcgggcgtacacgctttaaaaatctgtggctgaa
+taccggtcacggcacgctcggctggacgatggcttgcggttccggtcagttgttaagcga
+tctgctctctggtcgcacgccagcgatcccatatgaggatctaagcgtagcgcgctacag
+ccgtggatttacgccatcacgtccgggccatttacatggcgcacacagctaaggaaacga
+gatgacccgtccgatacaggccagcctcgatctgcaggcattaaaacagaatctgtccat
+tgtccgccaggccgcgacgcacgcgcgcgtctggtcggtggtaaaagcgaacgcttacgg
+gcatggtattgagcgtatctggagcgcgatcggggccaccgatggctttgcattgcttaa
+cctggaagaggcaataacgttacgtgagcgcggctggaaaggaccgatcctgatgctgga
+aggatttttccatgctcaggatctggagatttatgaccagcaccgcctgaccacctgcgt
+acacagcaactggcagctcaaagcactgcaaaatgcgcggctaaaagcaccgttggatat
+ttatcttaaagtgaacagtgggatgaatcggttgggcttccagcccgatcgcgtgcttac
+cgtctggcagcagttgcgggcaatggcgaatgttggcgaaatgaccctgatgtcgcattt
+tgccgaagcggaacatcctgatggaatttccggcgcgatggcgcgtattgagcaggcggc
+ggaggggctggagtgtcggcgttcgttgtccaattcggcggcgactctgtggcacccgga
+agcgcattttgactgggttcggcctggcattattttgtatggcgcttcgccgtccggtca
+gtggcgtgatatcgccaataccggattacgtccggtgatgacgctaagcagtgagattat
+tggtgtccagacgctaaaagcgggcgagcgtgtgggctacggcggtcgctatactgcgcg
+cgatgaacagcgaatcggcattgtcgccgcagggtacgccgacggttatccgcgccacgc
+gcctaccggtacccctgttttagtggacggcgtgcgcaccatgacggtggggaccgtctc
+gatggatatgctagcggtcgatttaacgccttgcccgcaggcgggtattggtacgccggt
+tgagctgtggggcaaggagatcaaaattgatgatgtcgccgccgctgccggaacggtggg
+ctatgagttgatgtgcgcgctggcgctacgcgtcccggttgtgacggtgtaacttgttgt
+aagccggatcggaggcaacgtcttctgggtgcaaaaaaatcatccatccggctggtcagc
+aactgtagttgttaatgtgacagagccattgcccatgatagtgtccattaaaaggatgga
+cactatttccccggaacctgaactcaccgcacaggcgttctacataaaacgcttacgctt
+cattgttgactcgaactcgacttcagataaatcacgctttacccttgatggagcctgtac
+atagatttgtgtaattgcctgattttgatatgttcaattcaacatcaaatgaaggttaaa
+ttatggacgacaaacaattgcaggctcaggctgcgttcagcaaagcatcgcaaccggcga
+tagatgcttcattaaatttaagattcagcttcctcttcagccacccgtacgccaatcttc
+aacacttcattatcttctttctcggccaccgtccagatcatcccggcaaactctacctgg
+tcaccgacaaccggtgccgcgcctaacaactgctggacaatttcacccagcgtttgctgc
+ttatcacgatattctcgcccgtcttccaggccatatatcagcgcaacatcagcatatttg
+gcgctggcttcgagaatgaagtcaccaaagaagcgttgatccagcgcgaccggcggcgac
+tggctgaacagtttaccgagcgccggaagatcgcgttcccgaccaattacacacaacaca
+tcgccttcgcgcagtcgggtgctgccggtaggatgaagcaactggttatcacgaaacagt
+gccgcaatacgcgtctcttttggcatatgcaaatcgcgcagtgccgcgcccacgcaccat
+ttatcggcactcaattgataaacaaactgctcccacggattttccggatgaatatccagg
+ccaacgcgtgacaccggacgtcccactggcggaaccaccactttggcttttttagccgcc
+cacgagagtgatgttccctgcaagagcagtgaaaccagaaccacaaagaaggcgacatta
+aagaacagacgtgcattctccagccccgccatcatcgggaacacggccaggatgattggc
+accgcgccgcgtaatcctacccagctgataaacacgcgctcacgcagattgaaaccgcgg
+aaggggagcaatccagcaaataccgaaaggggacgggcgaagaatatcatccatgcggac
+aaaatgagcgccggaatggcaataggcagcagatcgcttgggttaaccaacagccccagc
+accaggaacatggcgatttgcgccagccaggcgaggccgtcgaaattttgcaggatgccg
+tagcggttgcgaatagggcgattacccagcagaaaaccgcacagatacaccgccagaata
+ccgctaccttccagcgcagtagttaatgagaaaatcagaataccgccacttaatgccagc
+aatggatataatccggcgggcagggcgatgcggttgatcatttgcagtagtaaataaccg
+ccgccaagacctattacaatgcccagaccaaattgttgcagaatatcgacaatgaacatc
+cagctaatattgctctcatgatgctggatcatcgcaattagggtaatcgtcagaaagacc
+gccattggatcattactgccggattcaatttccagcgtcgagccaacacgttcgttaagc
+cccttaccacccagcagagaaaagaccgctgcagcatcggtagagccgacgatagcgccg
+attaataagccttcaatcaaatcaagattaaacagccacgccgccatcatgccggttaaa
+ccagaggtgataagcacgcccagcgtcgccagcgacagtgccggtcctaacgccacacga
+aaggaactggcctgagtgcgcatcccgccgtcgagcaaaataatcgccagtgccaggtta
+cttaccatgtaggcgaaggggtaattatcaaacgggataccgccgacgccatcgactcct
+gccagcatgccgatcgccagaaaaataaccagaataggaatgccaagacgggaagaaaat
+gaactaagtaatatactgctggtgacaaggatggatcctaagatgaaaaggctaattatt
+gttgtggcatccaacggtcggttactcctgattacgctgtctcttatataaaccctacca
+tattagcggcagagacagcgttttacttagccctgaagcgtgatttttttacattttaag
+aacaggatgaccgctaatcgtcaactgagtgccttcccgggtgttattcagaatggcatg
+tgcgcccaacggcagcgtaaccgtgcgttgttcatgaccaaaatcgaggccggtaatgag
+tggaatcgacaggcgggaacgcaaaaacgcgtacactgactccaggttgtaacctgcgtc
+ataatcattgggcgtgctgccgctaaagctaccgagaataatcgccttctgacgtggcaa
+aattcccgcatgatagagctgcaacagcatacgttcgacccggaaagggtgctcgttaat
+atcttccagcaccagaataccgttctcaatttttggcatccacggtgtaccgatcagtga
+aatcagcatcgcaagattgcctccccacaacgtgccttcggcccgacatgtcgggccttc
+cccttgccattcaatggtgaaggtttcattgcgtaacgccagccagaaatggtgctcggt
+aaaggcgttcagttcatccgcgccaaagtttgctaccagcatggggccgctaaaggtgat
+gacattgccatgcgccagaagaccgcactgaatggcggtaaaatcgctatgtccgcaaat
+gagcaacgggtcatgttgttggcgagccaccagtgcctgccagtcaatatctgccagtaa
+acgactggcaccgtaaccgccgcgtacagccagcacgatggtgttgggggtagtcagtct
+ggcaagggaattgagatcttccagacgctctgtttccgtacccgcaaaacgctcacaacg
+acgggcaataacctcgacgttattgacttgatgccccgcgtcggtaaggcgctggatacc
+acgcagcgcggcgtgctgtttaatgcagtaacccgatggggcaattaagtgaaacagaga
+catggcaattccttgctgacaacagaaacgaaatgtatatcatgccgcttaggtgtgccg
+ttgtcacctcaacggcgattccaggctataaggatagaagaagtgaaattgagatggttt
+gcctttttgattgtgttattagcgggttgttcatcaaagcatgactatacgaacccgccg
+tggaacgcgaaagttccggtgcaacgtgcgatgcagtggatgccaataagccagaaagcc
+ggtgcagcctggggcgtcgatccacaattgatcacggcgattatcgctatcgaatcgggt
+ggtaatccgaacgcggtgagtaaatcgaatgccattggtttgatgcagttaaaagcttca
+acctccggacgtgatgtttatcgccgtatgggctggagtggtgagccgacgaccagcgag
+ctgaaaaatccagagcgtaatatttcaatgggggcggcttacctgaatattctggaaacc
+ggcccgctggcaggcattgaagatccgaaggtactgcaatatgcgctggtggtgtcatac
+gctaacggggcaggtgcgctgctacggactttctcgtcagatcggaaaaaggcgatcagc
+aaaatcaacgatttggatgctgacgagttcctcgaacacgtagcgcgaaatcaccctgcg
+ccgcaggctccgcgctatatctacaaacttgagcaggcactggacgcgatgtaaatcagt
+cgcgcactttgtccgctttttcccgggcttctcgctcgagagagaaaataatccgctgta
+attgccgctccaccgtcgggctgacgttaagaaaacggaagctcagacggggagtggtga
+tggtttcattcttgccatcaatcactttgcgctcgctgatggagattaactgggcgtcaa
+agtgaaaaacaccccattgccccatgttgacttcaatctgagcgaagcgcatgccttctt
+gtaattcggcaggctttgctgtttccagtaatgcgcccatgccgcctaacgacaaatcat
+acaggcggaaacgtaacgtactgttatccgccagtttggtctggcaaaaataaggcggat
+ggagtggggcggagatgcggaaatatcggcgtcgttgtacaaaccataaggtgggaggcg
+gtacggtaataaatgccggaagctgcaagtattcactctgctgtagttgttcaacagtaa
+actcgactttcgcaccctgagtttcggcggtaatggtaatgtgctgtgcctttagcacgg
+cgatgttgtcttcggcttgactgccgaaatccagcaccagtttatccggggttattgcca
+gtaatttgctgatcagctgcccgccattccaactgagacgcaaaggaattgcggctttgt
+gcaaatcgcgtaacacgcccaggacggctaacggattttgtttcaggaactgctcatggt
+aatgactcacgcggaaaaactcctgactgacaaactgtctttggtttatcggtcacagtt
+aacaaaacttaatacaaatgcgtgaatattttttacatgttgttcttaaatcagccgaca
+tacgcccagcatcgatcccgcccttgcctatacttagagcgttgatgtaagcatttcttg
+cgtccgattcatcgaaacgagggcctgaacatgggaattattgcctggattatttttgac
+ctgatagccggcattatcgccaagctaatcatgccggggcgtgatggtggtggatttttc
+ctgacctgtattctcgggatagtcggtgcggtggtcggcggctggctggcgaccatgttt
+ggcattggcggctccatcagtggttttaatctgcacagcttcctggtggcggtggtggga
+gctattctcgttctgggcatattccgcctcctgcgaagagaataagattttcataaggcg
+gatagcgatacagatgccgctatccgctttcacatcagaacgtatactcgacacctgctt
+tacgggtgaaaaaaatcaatatagcacttcgatatccgataaagtcggttcccggtaaca
+acaacagaatccttttttaattattgtttcgttgtttttggtgtgattcagaaaataaat
+attttagacagtagccagtcaggcgttaaaaatggggcggatagtgaggcggttttggct
+gcgcttattgaacatttagaattgatcaatccttctggcagattaagccaaaatacccgt
+tcggcaatgcttcagttacgcgaagaggaatggtctgaattctttttttggttgctaaat
+tctctggagtgtctggattatgtgattattaatttaactccagaaagcaaaaaaacgttg
+atgagtgaacaccgtaacaatattcaggtagcaattgatgctttatatagccaacgtcgg
+cgtaaatcgccgggtgatgaaagtgaaacacttacccgtagaaatgacgctatcttcggc
+aaccacgtatggcaaacatttgcgcaatacttcccgccaggacttgaaaaaccgtctgtg
+tagaaaaaaccatagctatggtgttatctgccgacaacgccatccggagaagccgaatga
+cgttgtcggagtaagcgctggttaaggtgtgggttgtgcctctttggttgagggttgcgt
+cgttgctgacttaacggtcggacgcgtcgccggaacattgtcacacggttgctctttcgg
+gcagatcaaatccagcattttcagcgtcacgccattggtccagccaaagccatcctgtaa
+tggatattcgccaccgccgccccccgttccggtggtgctgacatcatatttttccaccag
+ctttttctcccggtcataggtgtgctgaacattggtcaggaagtgccagctaatgtccat
+cgccacctctttttgcccgtagttttgtaatccttctgtcgcgacccactgtaacggtgc
+ccagccatttggcgcatcccattgttgcccacttttcaccgacgtggtgttcaggccgcc
+gggttgcagcagatgtgttttcgtcgccgtcgccattttgttggcgcgatctttcgctgc
+cgcattgacgtacagcgggaacagggcggccgcggttaactgattgcgcactttatgact
+tttcaggtcgtaatcggcataccagccttgttgatcgttccacaggtatttttcgatccc
+tttttgacgggcatttgccagcgtttcgtactggtttgccatcgcgttatctccggcagc
+tttgctggcgcgggcgaggattttttccattttaaacatcaggctgttcagatcgaccgg
+tacgatgctggtggtgcgtaaggtatttaactgctgcgggttgtccatccagcgcgagct
+gaaatcccagccagacgcagcggcagagcgcaggtcgcggtaaatttcagtggcaggtcg
+attcggattgcttttggcggtggcaatatcttccacccatgactctggtcgtggcgtatc
+gcgatcgtcccagtagcggttgagaagggtaccatcctgaagtttgacaacgcgtttttc
+ctgttgtccggcttgcaggttttcaacaccgtccatccagtaagcatattctttttgcat
+ttgcggcaggtattgcttcaacgcggcatcgccttcatgctgcgccagtaactctaccat
+cagggcaaagaagggcggttgcgagcggcttaaatagtaactgcggttgccgttgggaat
+atgaccgtaagtgtctatttcatgagcaaaattggccaccatatccgcgactttatccca
+gtgaccgctttcggcaagtcctaacatggtgaagtaactgtcccagtaatatacctcgcg
+aaagcgtccgcccggcacgacataaggttccggcagcggtaacagagaatcccatttttc
+ggtgttttcggtagaacgcgttaataccggccaaagtccgtcaatatgttcgcgcagtga
+ctgcccctctggcggaacatatttctcgccttctttcggcagggtgaaattgacgttaac
+gaaatggcgcagatcaaatccgctctggttttgctgcatccgataatcagcaaggatcat
+cagcggatcgctgttcggcacggcatcggcaaaggttttttggtccggaaaaagtttggc
+gttttgcacatcattaaacagcggccctaataaaatatcaggcggctgtggtgttaccgg
+tgtttcttctgcctgcaccgatagcgcagcgaaacacaaaaagatacaggctggaattaa
+cgccattttttgcgggcgagaaggtgcgggggatttcatcaatcattctcctttggcgaa
+accgaataaaacggtattcaagtatcagaaaaccttagttcaggatcgcactagctgcat
+gatcgaaatctcattctgcgaactgtcaggcattttagaaaagggaattaaagggataaa
+taacggcgaaatagagtgatcaaataacgtctgtttattagccagccagcggcgttgggt
+tcgtgattagcgaagaaaaatcatcataaattggtgaaaaatataacaggtagttaaaaa
+ccattagtgctgagtaaattgccggatgacatcagaacgatgccatccgaacagtggctt
+aaccctgacggttgaaacgttgcgttttaacgtccagcgttagcgtttcttctggttgta
+tcgcatacagtttctcaccctgctggcaaatccagccaatccccagttcacgggcgatta
+gggcgctgtgggataccggacttccggcgctaaggcagataccttttacaaccgccggat
+ccagttgcagtactgtggaaggataaatgttctccgccagtagaatagttggcgagttaa
+actgcgggagttcttctttcgtttgggtcaggtggaccagggtgcgatgcagaagatcgt
+ccacatcaatatagcgagcttgtagatattcatcatccagttgctggtattgctggctaa
+gttctttaagaacttgctgccaggcatattctgccgtgcaatgttcatgctgaaggagtt
+cgcttgccgccgccagcagttccggatcatctaacagtgtatggtgaccagaaaagattg
+cggcaatatcgtcaagcccgctggcttctgctttcgctgttaacgtcatcagatctaata
+acgtgaagtcaatagcctggcgtaatcgatcttgttcttcttccacggtcagggttgatt
+ttgcctgtaccgtacataaaactggttgataataaaaggctttacccgaaacaggcggaa
+cgggacgcagagtaggtggagcgacttcctccgtttcaccaaagttatcttcagccagct
+gacggaaagcgatcagtgcctcttcagcttctggccctttcgcaatcaggcgcagcgtat
+cgttatagcgaacttgtagtaacgcaatctggttaatactctctggtgtgacgcatttgc
+cgtttttttccagcaacatatcggcattaaatgtcgataaggtataaaccagccgggagg
+ccggacgtacatgcaggccgttacggttttttatgaccaccgccagagaacgggcttctt
+catcgtacgcaggacatgtgtcagagatttcagtgtcggaggacggtaaacccagttgtt
+cacgtttggcttccagcgcatgcatggcgtcaaagataactttgtcgatatccgcccccg
+aggccgcgctgaccgttgctgccagtgtaccttcgaccaacggcgcagcacacaaacgta
+cttttgcggcgatctcgggagccagcaattccagcgcagtttcagcactcaataatgcgc
+tacccatatccatcatgaccagcacatggtcggcatcagcaacagattcgatggcctcca
+tcactttgacggcatcggtaccaatgggattttgtggatcgtcaattcccgcggcaatgg
+cgattttacaactatcactcattaacatctgacgggctaattcaccgacaccttctccca
+gtcggctgctatgtgaaactatgaccaggtttaccatcaccaattccttactcttttgcg
+gctaacgccaacatttgcatcataaacatcaccgaggtcgcgccgggatcctggtgacca
+atactgcgttcaccgagataactggcgcggcctttgcgggcttgcatcgtaatcgtactt
+tgtgcagcggattcggcgatgctactggcagcttcgagcgccaccggaacagagagattt
+tgctcgctggactgacgtaacgattccaccaccggcacccacacatcacacatggtttta
+tcgccaggttcggctttcccgcgactgattacgccgtccgcgccatcgcggaacatctga
+taaagctcttccagtgtcaggctttgccgtgcctgggtcgcctgtgcggcgcggataaag
+aaggtaccgaacagcggaccactggcaccaccgacgctggaaagcagcgtcataccggta
+ttcttgagaatgaaaccgatatctttatctgcgatagcagggagtttttccaccactttg
+ctaaagcctcggttcatatttagcccgtggtcagcatcgccaatttcgcgatccagtccg
+gtaagatactcgctctcggtgctgaaaatatcgccacaacgagtgagccagttaacaatt
+tgagttctgctcagtgacattgctttctccttatttaccccagttaagggccggggtgtg
+gaccggggcgtcccagagtgccagcgtttcgtcatcaactttcagtaaggtgattgagaa
+accggtcatatccagtgaggtgcagtacgcgccaattaaattacgttcgatagtcaatcc
+cgcttgctggcaacgtgtggtcaggcggttatagacgccgtacagctcagaaagcggagt
+tgcgccaagattgttaaccagcgcaatcacccgatcgccagactggagcggttgtttggt
+ttgttgttcttcctgccaactgccttgttgataatcccagaaacgcaaagtgcgatggta
+tgagccatttaccagcagggtgtcgaacatttcatcgacggtttgatcaagggaagagaa
+ggggcggcggtcaatacccggctcaccatgaatgccgacgccaaactccatctcattatc
+cgccagggtaaaagaaggtttgcccgcggcaggaacggtacaggcaccgagagcgatacc
+tattgagtggccttgattattcagcttacgccccagttccgcacaggcgtccagtgagtc
+gccacgctccgccgctgcgcctacgagtttttcaattaatacggtgttggcaacgccgcg
+tcgcccggcagtataaagactgtcttttaccgcaacgtcgtcatcaatgaccacagtggt
+cacttttacgccgctatcgtgcagtaactcggtcgctgtttcaaagttaagaatatcgcc
+ggtgtaatttttgataatcaacagtacaccttcgccgccatcaacttgcatggcgcattc
+aaagattttatcgggcgtcggtgaggtgaaaatttcgcccggacaggcccccgaaagcat
+cccctgaccgatataaccacagtgcatcggctcgtgtccgctgccgccacccgacagcag
+ggcgacttttcctgcaacaggggcatcagctcgggtgacatacaccggatcctgatgcag
+tgtcagcgatggatgcgctttcgccagtcctgccagttgttcgtccagtacgtcttgcac
+atcattgatcaattttttcattattttgctccagcaattacggtagggcatggatgatgt
+tcaacgacacggcgaccactgactgccgatgaatccattgtgcatcaggcaagggaaaag
+aaaattagcccaaattatgtttcatagtgaaacatatgctttaatgaatgttccatattg
+aaacttttacgtgtattaatacttaaaattgcgagccggaacaccttttgtcataaggga
+tgcgggatatgagtggcgcttttaacaacgatggtcggggcatatctcccttaattgcaa
+cctcctgggagcgatgcaataagctgatgaaacgggagacatggaacgtaccacatcagg
+cccagggcgtgacatttgcttctatttatcggcgtaagaaagcgatgctgacgctcgggc
+aggctgcgctggaagatgcctgggaatatatggcaccgcgagagtgtgcgctgtttatcc
+tcgatgaaaccgcctgcattctcagccgtaatggcgatccgcaaaccttgcagcagctaa
+gtgcactgggattcaatgacggcacgtattgcgccgagggaattattggtacttgtgcgc
+tatcgttagcggctatctctggtcaggccgtgaaaacgatggccgatcaacatttcaaac
+aggtactctggaactgggccttttgtgcaacgccgttgtttgacagcaagggccgattga
+cgggaacaatagcgctggcgtgtccggttgagcaaactaccgcagctgatttgccgttga
+cgttggcaatcgcccgcgaggtcggaaatttactgctgacggacagtttgctcgctgaaa
+ctaaccgtcatttaaatcaacttaatgccctgttagaaagtatggatgatggcgtgatta
+gctgggacgagcagggtaatttgcaatttattaatgcccaggcggcgcgggtcttgcgcc
+ttgacgcgacggcaagtcagggacgggcaatcactgaactcttaacgttacccgccgtat
+tgcaacaagcaataaaacaggcacatccgctcaaacacgtagaagcaacctttgaaagcc
+agcaccagtttattgatgcggtgataacccttaaaccgataatagaaacgcagggaacca
+gctttattttgttgctccatcctgtggaacagatgcggcagttgatgaccagtcaattag
+gaaaagtcagccataccttcgctcatatgccacaggacgatccgcaaacccgccgcttga
+ttcattttggtcgccaggcggcgcgcagtagctttcctgtcctgctttgtggagaagagg
+gcgtgggcaaggcactgctaagtcaggcaattcataatgaaagcgagcgtgctgcaggtc
+cttatatcgccgtcaattgtgagttatatggtgatgctgcgctggcggaagaatttattg
+gtggcgatcgcacggacaatgaaaatggccgtctgagtcggctggaactggcacacggcg
+gcacgctgtttcttgaaaagattgaatatctggcggtggagttacagtctgctttgcttc
+aggttatcaagcagggggttatcacgcgactggatgcgcggcgtttaataccaattgatg
+tcaaagtgattgcaacaacgaccgcggacctcgcaatgctggtggaacaaaatcgtttta
+gtcgccagctgtattacgcgctgcatgcatttgaaattaccatcccgcctctgcgtatgc
+ggcgtggcagcattccggcgctggtgaataacaaattacgcagtcttgaaaaacgcttct
+ctacgcggctgaaaattgatgacgatgccctcgctcgcctggtttcttgtgcatggccag
+gcaacgattttgaactttacagcgtcatcgagaatcttgctctgagtagtgataacgggc
+gcattcgcgtcagtgatttgccggaacatctgtttaccgagcaggcgacagatgatgtca
+gcgccacccgcctttccaccagtctgtcatttgcggaagttgaaaaagaggcaattatta
+acgcagcccaggtcacaggcggtcgcattcaggaaatgtcggctttacttgggatcggcc
+gcactacgctgtggcggaaaatgaagcaacatggcattgatgcagggcagtttaagcgcc
+gggtatgaaagacagaaacgatttctgatacatcagagtgatctgtatttcattccggcg
+cacgctaacaattttcagcatcgtttaagggcttgtctatcccgcacttaaaagctgaag
+cgatatcctccgttgacttgcttctgatcaaagaggttaccctgcgtgtaatccgcttcg
+agatagaatgtgtgctgtttgttatactgtgcactgactcccacgccgttattccagcca
+ttacctttgaaactgtacttctcccgggagttgttcaacagatattcggtatcccctgaa
+aactcgcggatagcgccagtcttcacatagacattcagctggctgttgcctgcggtgatg
+tcataccccagtatcatgctggcacgccccagcagcgattcgtagtgattcagatgtata
+ttgaggccattactcgccttcatagtcatctcattctggtggctgtatgtaagctgggtt
+tgcggctctatatagaacccataaccagtaggggacaggttgaacctctgcccggcttcc
+agggagatgctcattccattcgcagtgccgttggcgttaacgccgttgttctgactgtcc
+agtacgtggaaactatttttctggcgcgatgcttttataacgagatcgctgtaaaaaccg
+ttttgtgccatgtaactggcgtacattcccatgtagtctgaacgtgcggtaccgtcgcct
+ccgctatagtccggcgatgcatgtgttgagccaatatacagaccgacatacaacggcatt
+acatcagagagacgtttatccccaccaaactggataccgctgtaacccatgtcaaagccg
+ctcagtttgccactggcaaaggagtccaggcttcccccataactgcgcaaccagatatta
+ccgtctttactctgatttcgcaggtcacccatccgttgcatcagcgtacggttttcaaca
+tagttcaataagtaaccgacattgagataattgccgccagcatctgcggtcgtggtgggt
+ttaggcgtgggagcgggttcaggcgtaggatcggggttgactatgggaggctgagcggga
+gctggtgtgggttcaggattaggagtcggttccggaactgtcccggaagcgtaaagctcc
+cagttagtgccatttttacgcacatcgtacagatatccccccaactcaacctgagaagac
+gcgctgaacgaggccgcgccgtcagtggtttttaccactgtcagaacttcatttcccgtt
+gtggcctcgctgccctggttgcggatagccaatacgtgattaccagcactactcccgctg
+atattcaataaatcccctttattattaacgccattaccctcgccaacaacatcagcacgc
+ataataaaggtactgttaccgctcaggttctctacgtttaatgtggcaaatgtgccggca
+gttgacccgtggctggcaaaatcgacagttgaatggctcagcgccagcgtgtcgagatta
+gaattacttgttacgttccagacgctgttattcattgcaacgtccagttttccgccattg
+acattatcgctgagggaggaacctgtccaaaccgacccagggtgcatatccagattgatt
+agcccacctttggaaagaacgctaccgttgataagcatacgacccgaggcgttgatgcgg
+ctggcggcataaccatcgtcatgttgcgttgcgatggccatctggtcgggtgtactcata
+tcaatgaccagatcgctcgtgaggtcgatctggctgttggtcatggcataaattcccctg
+gctcctgccgcgccggtgatagccaaactgtctccggttattctaccgccgctgagagcc
+cacaaacccagcgccagactgccattacgatcaactgtaatatcggtattttgcatgttg
+acaacagccgttgccgtctgggccgaggcaccataagaaccgccggaaaagatgctgttt
+cgttgcgctgccgtgccagtaaaattgattatcgcgtctgaaccactggtgacgaggcca
+ccgccctgcgcggaagaaatatggctatctgcaccgatagtggttgtaccaccacgaact
+tcgacgccattggccgcggctccagttacatcaacagtgagtgcattcgcgctaacctgg
+ccaaagctccagaggccgtgagcattatcgccattggttttaatggtactgtttgttccg
+agatcgacaacagagtttttctgtacgtttatccccatggcgctgtagccctgaacatcg
+attgtcaggtctgtagccgtaaaacgcgcagcaccattggcgttattgccgttgagacca
+ccgatataaacacctgtacttccatcggtcgtgattttacttccgcttccaagatcgaca
+ctggtgccatagtcattgatggttaggcctataccgttcgagttttcaatggtgaattga
+gtggctgttagtgttgagctatgcccaataatgatgccgtcatcgttactcttaatggtg
+ctgcctgtgcctaagtcagcatgggtatagtcaccaattaagttaatgccgatggcagag
+gtttgaccaacaacatctactgtgagtcggttagctgtcagggagctgtttttgccctga
+ataatgattccttttgcatatccagaggcgtcgttgacattgacggtgacatcattaccc
+aggttgatattgccaggcgtgtttcctgctggggtcattacaccatagaggtttcctgat
+ggatcggcggtatctcctgtaattctgtcaccatcattaatagtaatattggtgccatat
+tgacttcctgtatcagcagctatcagcaggggggaaaagataattgcattcaaaccaata
+gcgccaaattttatcagttgaattgagggcgaacggatttttaattcagcgagacgatct
+gctttggtattcccattgtgttgtttgatgcccataccactcctatatagtacccagact
+atgggtctatggattttgtcattttgtttaaatcaatgaataatatcctcttatcatcat
+gatatttgtatggtgcaatcatgatgagcttctcagagaataattctctattaccgggca
+aaatcaggaacacaggaattaatatatatttaacatcccccttacaaaggtgagtttata
+tcgagttattccctaagttgtcgttacttattccaattcgttactataaatatggcaaaa
+atattacaacaaacagcggttaaaaaatttggtgaagattttttgtaataatcctaatta
+gttatgggaatttcgcttgatgtatctgcataacaaaaacaatatgcgccatttttgcat
+tactaataagaaaaagcaaaaaacatcgatattcatttttggtcaatgggttttctggcc
+tatcgttgttattgtgctactggttatcattttcatcttgccagcatattggagcgtgat
+caattttgatcagctgtgaagggggctgatgtgtagtgatacaaaaacttacgttatatc
+actgctaatgagatatccggcatctgaacacttatgtctttaattattctcgtggttcac
+tataggcaataagcacaaaagtgtaggatgttacaagaatgattaggactcggtgaaatg
+aaaaatccacgcaattgcgtggattttatatacttttgcgctcttcatgagatttagcga
+aacctcatgagacaataaattaattagacgttgaaaaggaagttcatcacatcgccatct
+ttcacgatgtaatctttaccttctgcacgcattttgcctgcttctttcgcgccttgttca
+cctttgtaagtgatgaaatcttcaaacgagatggtttgtgcacggataaagcctttttca
+aaatcagtatggattttgcccgctgcctgcggcgcggttgctccaaccggaatggtccat
+gcacgcacttctttcaccccagcggtgaagtaagtttgcaggttcagcagtttataaccg
+gcacggatcacacggttcaggcccggctcttccagcccaagctcctgcataaactcgtca
+cgttcttcgtcgtccagttcggcaatgtctgcttcaacagcagcacaaaccggaaccaca
+acagaaccttctttcgccgcgatttcacgcacctggtcaagatatgggttgttttcaaaa
+ccgtcttcgttgacgttggcgatgtacattgttggtttcagcgtcaggaagctcaggtaa
+cgaatagccgctttctcttcagcgcttaaatccagcgcgcgcagcatacctgcattttcc
+aactggggcaggcatttttccaggaccgccagctcagctttcgcgtctttatcgccacct
+ttggctttcttctgtacgcgatgaatcgcacgttcgcaggtgtcgaggtctgccagcgcc
+agttcggtgttgataacttcaatatcgtcagccgggttaactttgccggaaacgtgaatg
+atgttgtcattttcaaagcagcgaacaacgtgaccgatcgcttcggtttcacggatgttg
+gtcaggaactggttacccagaccttcgcctttcgatgcgccttttaccagaccggcgata
+tcgacaaattccatggtcgtgggaagcgtacgctgcggttttacgatttcagccagttga
+tccaggcgaggatcaggcattggtacgacgcctgtgttcggctcaatggtgcagaatgga
+aagttggccgcttcaataccggctttggtcagcgcgttgaacagggtagatttcccgacg
+ttgggcaaaccgacgataccgcatttgaatcccatgatttaaatcaccttaatatcttaa
+taatcaacctgttattgctaacagattgcagaaatggaaataactttgcctattatacac
+ggcactcggcaaaaatgccgcagacaacgacttattgcgctttaaaggcgtgcaatcggt
+tcgttgctttggtcaagccatctgtaaaccacatttcagtacaacgcgccgcttcgtcaa
+tggcttcatcaattaacttctgttcactaacaggcggtttgcctaacacaaaaccgacaa
+ctttatttttatcgcccggatgaccgattccgatgcgtaaacggtgaaagttagggttat
+tacccaatttactgatgatgtctttcagtccattgtgaccaccatggccaccgcccaatt
+taaatttggcgacgccaggaggcagatccagttcgtcgtgggccaccagaatttcgtccg
+gattaatgcggaaaaaactggccatcgccgcaacggctttgccgctgagattcataaatg
+tagtcgggactaacaggcggacatcttcgcctccaagagtgactcgcgaagtataaccaa
+agaatttagcctcttcgcgcagcggagcgcgcaaacgctctgccagtaagtcaacgaacc
+aggcaccagcattatgtcgcgttgcggcgtattcagcaccggggttcgccaggccgacaa
+tcaatttaatcgtcacgtttttttgtcctgagtgtgtacataactggcgcgtagtttact
+ggttgcggccccgcttgacaaaaaactgcgtatcaaatgcagataacgtaataattgcct
+gagtggactattagaaagtcaaggtgttcaggcgtttatttgtaaagttttgttgaaata
+agggttgtaattgtgatcacgcccgcacataacccactgggtgttgtctatactttacac
+ataaggaagaggggtattccctgttacaacccagaaagttccggaggtgacatatgaaac
+gcaaaaacgcttcgttactcggtaacgtgctcatggggttgggtctggtggtaatggtgg
+tcggcgtggggtattcaatcctcaaccagttaccacagtttaatatgccccagtatttcg
+cacatggtgcagtgctaagtattttcgtcggtgccattctctggctggcgggtgcccgtg
+ttggcgggcatgaacaggtgtgcgaccgttactggtgggttcgccactatgacaaacgtt
+gccgccgtagcgataatcgccgtcatagctaacaaataatgcagtttgctgaccagtcag
+tttgcgctgactggtcaatctcgtacttataaatccgccatcgccgcgcgacgattcggg
+aagaacgccaggcgtcccgggatcggttgaatgccagcgcgagccatagtgcgcagtggc
+tggaattccacgttgcacacgcgcagttcacatccctcgggcagacgcttcacaaaacgc
+tggaacgcatcaagaccaccagcatcaagtaccggaacggcatcccacttcagaatcaca
+atccgtttgccttcaagacgtgactccaggtccgtgaataagccttcagcagcagcaaaa
+aacagcgggccaataacgcgcagaaccaggacatcgtctggaacatctacgactaccggt
+gccaggcgagtcatacgtgcgatacgacgcataaacagcagcgatgccagcacgatcccc
+acgctgatggcaataaccatatcaaacaacacggtcagcgacatgcacagcagcatgacg
+atgatgtcatctttcggcgcatgacgcagcaagtcgaccactttgtgcgcttcactcatg
+ttccacgccaccatcaacagcagggctgccatggcggaaagcggcagccaggagagcagc
+ggtgccagtaccagcagggcaagaataaccagaatagagtggatcaccgccgagataggg
+gacgttgccccggcacggacgttagcggcagaacgcgcgatggcagctgtagcggtaata
+ccaccaaagaacggagcgataatattccccagtccctgtccaaccagttcgctgttcgcc
+ttgtgtttcgtcccggtcataccatccagcaccacggcgcagagcagagattcgattgcg
+ccgagcattgccattgagaatgccgcaggcagcagtgtgcgaatagaatcccaggttagc
+gtgaattctgaattaggcagatcccacggcagcaccagttgcggcagcagttgcggaata
+ccgttaccctgagaaccatcggccaggacgtagtggaattgcgaaccgatggtagcaaca
+tgtccgccgagcaggttaacaatccccatcaccgcgcaaccagccagcaaggccggaagg
+tgaccgggtaaacgaatgcccagacgcggccaaaaaacaagaatacctagcgtcacaatg
+ccaatggcagcatcacccacattaatggtcggcagcgccataaataatgcgccgactttt
+tgtagataatgttccgggacatgggccatttgcagaccgagaaaatctttaatctgcatg
+gtaccgatggtgatcccgatacccgaggtgaaacctaaggtgacggaaaccggaatatac
+tcaatcaggcgaccaaagcgtgccagacccatcagaatcaaaaagatccccgacagcaag
+gtcgcaaccagcagtcctgccagtccaaactgttgcgacacgggatagagaattaccaca
+aatgccgcagtcggaccggaaacgctaaagcgtgacccacccgtcagagcaatgacaatc
+cccgcaacagctgcggtatataaaccgtactggggtgccacaccactaccaatagccaac
+gccatcgccagcgggatagcaataatcccgacggttatcccggcaatcaggtcacgggta
+aaccgtgcggcagtatatttttctttccagcaagcgtcgatcagagcgcggaaaggcatc
+acatgtgaggaaaatattttgttcacaataatgtttcatccgtgagcgcatcatctgtca
+actaaatggcaggtgaaggaggcataggtcatacaaatggatattacagacaaaaaaacc
+cgccgcagcgggtctttgagccgggttcgattagtgttcgaacatggcagagatcgattc
+ttcgttgctgatacgacgaatcgcttcggccagcatacctgacagggtcagagtacgcac
+gttcggcagtgatttgatttcatcgctcagcggaatggtatcgcagacaacgacttcatc
+aattacagagttacgcaggttgttcgccgcgttgccagagaagatcgggtgagtcgcgta
+cgcaaatacacgtttagcaccacgttctttcagagcttcagcagctttacacagcgtacc
+gccagtgtcgatcatatcatcgaccagtacgcagtcacgacctgcaacgtcaccgatgat
+atgcatcacctgtgaaacgttcgcacgcggacgacgtttgtcgatgattgccatatcggt
+atcgttcagcagcttagcgatagcgcgggcacgcacaacgccgccgatgtccggagaaac
+cacaattgggttatccagattcagctgcagcatgtcttccagcaggatcgggctaccaaa
+tacgttatcaaccggaacgtcgaagaaaccctgaatctgttcagcgtgcagatccactgt
+cagcacacggtcaacaccgacgctggagaggaagtctgcaaccactttcgcagtgattgg
+tacacgagcggaacggacgcgacggtcctggcgcgcatagccaaagtaggggataacagc
+ggtgatacgacctgcggaagcacgacgcagggcatcaaccataacgactaattccatcag
+gttgtcgttagtaggggcacaagtggactggatgatgaaaatatcaccaccgcgtacatt
+ttcattaatttgtacgctgacttcgccatcgctaaagcgacctacagcggcgtcgccgag
+tgaagtgtacaggcggttggcaatacgttgtgctagttccggggtggcgttaccagcaaa
+aagcttcatatcaggcacgagaagaacctcaggcatgcgtccattggtggaaagaatctg
+ccgaaaactgtgcgggccaggcatgatcctttccaggcggtgtattaaagagcgcgatgc
+aacgtctggaacaaggtgacgttgtcaccgaaactcagcttgcccggcttaaagcatggc
+tctgtgcaatggggaaagattagcgcctttcgccacaaagccattgagccattccggggc
+ttgctctagcacctggcgggcttcagactctgtatcaaattcagcaaagacacaggcccc
+tgtcccagtcaggcgcgacggggcgtattctaacagccaggaaagcaccgcatcaacctc
+gcgaaaacgttttcttgcgataacctcgcaatcattgctgaattcacattttagcaacgt
+ttctattgacctttttggcgtattgcgcgggagttcaggatctttaaaaatcaccggagt
+cggaatacttacaccagggtgcgccaccagataccacttctctggcggatccaccggcgt
+tagtatttcaccaacgccttcggcaaacgcggcatgcccccgaacaaagacaggaacatc
+tgcgcccagcgtcagccccatttccgccagctcatccatgcttagcccgcattgccagag
+atgatttaatgccaccaggaccgtcgcggcattggatgaaccaccgccgagaccgccgcc
+catcggcaaacgcttgtcaatgctgatattcgcaccgcttcccgtcggaagacgcccgct
+gtctgccgcagttttcatcaacaatcgcgctgcgcgaacgatcaggttatcttcatgttc
+cacgccttcaacgggcgttaacagacgaatatccccatcgtcacgaagctcaatgctgat
+ggtgtcgccgtaatcaagaaactgaaacagcgtttgcagcgtgtggtaaccatccgcacg
+ctgaccggtaatgtataaaaacagattaagttttgccggagagggccactgtgtccgcat
+tatttcactatccagttatccatttttaacttgatgcgttgaccaccgtcggtgagttcc
+atattggctggcatcgcaggttgcgttttggtgtcataaccaccataaacaaccttccag
+tttttgccattctggctgtaggtaatttcgctcaggcggtactggtcgtccagtttgtag
+tcggttgcatcacccggtaaacctaaaatccactggcgcaagctgttgagcggaattggc
+attccggtcaatttgccaatcatctcttcggcgtcatcggcggtataacgctgaccttta
+ttgtcgactaactgcacgttacccggttgagcattcagctccagttccgtgctgcccaat
+gggttagtgagcagcagacggtagcgatcctggccggtttgctgccagaaaaagcgggcg
+tacactttttgttggtcagaaatataagcgaacgcgccgcgagtctgatactgattaaga
+ttgcgcacgtcttgctgatgctgacgccattgtggcgaatccgggcttttgccaggacct
+ttgggcgtggtaacggaacaggcagtgagcacaagagcagccagcggtagcaggcggata
+agacgaaaatcgggcaggggcatagtgatgacaagtccttgagatacgttgcagttataa
+cccttaatgctagcgttaccgtccgctatcgtctatgttcaagttgtcttaattgccaga
+atctaacggctttcggcaattactccaaaagggggcgctctcttttattgatcttacgca
+tcctgtatgatgcaagcagactaaccctatcaacgttggtattatttcccgcagacatga
+cccttttagcactcggtatcaaccataaaacggcacctgtatcgctgcgagaacgtgtat
+cgttttcgccggataagctcgatcaggcgcttgacagcctgcttgcgcagccgatggtgc
+agggcggcgtggtgctgtcgacgtgcaaccgcacggaactttatcttagcgttgaagagc
+aggacaacctgcaagaggcgttaatccgctggctttgcgattatcacaatcttaatgaag
+aagatctgcgtaaaagcctctactggcatcaggataacgacgcggttagccatttaatgc
+gtgttgccagcggcctggattcactggttctgggggagccgcagatcctcggtcaggtta
+aaaaagcgtttgccgattcgcaaaaaggtcatatgaaggccagcgaactggaacgcatgt
+tccagaaatctttctctgtcgcgaaacgcgttcgcactgaaacagatatcggtgccagcg
+ctgtgtctgtcgcttttgcggcttgtacgctggcgcggcagatctttgaatcgctctcta
+cggtcacagtgttgctggtaggcgcgggcgaaactatcgagctggtggcgcgtcatctgc
+gcgaacacaaagtacagaagatgattatcgccaaccgcactcgcgaacgtgcccaaattc
+tggcagatgaagtcggcgcggaagtgattgccctgagtgatatcgacgaacgtctgcgcg
+aagccgatatcatcatcagttccaccgccagcccgttaccgattatcgggaaaggcatgg
+tggagcgcgcattaaaaagccgtcgcaaccaaccaatgctgttggtggatattgccgttc
+cgcgcgatgttgagccggaagttggcaaactggcgaatgcttatctttatagcgttgatg
+atctgcaaagcatcatttcgcacaacctggcgcagcgtaaagccgcagcggttgaggcgg
+aaactattgtcgctcaggaaaccagcgaatttatggcgtggctgcgagcacaaagcgcca
+gcgaaaccattcgcgagtatcgcagccaggcagagcaagttcgcgatgagttaaccgcca
+aagcgttagcggcccttgagcagggcggcgacgcgcaagccattatgcaggatctggcat
+ggaaactgactaaccgcttgatccatgcgccaacgaaatcacttcaacaggccgcccgtg
+acggggataacgaacgcctgaatattctgcgcgacagcctcgggctggagtagcagtaca
+tcattttctttttttacagggtgcatttacgcctatgaagccttctatcgttgccaaact
+ggaagccctgcatgaacgccatgaagaagttcaggcgttgctgggtgacgcgcaaactat
+cgccgaccaggaacgttttcgcgcattatcacgcgaatatgcgcagttaagtgatgtttc
+gcgctgttttaccgactggcaacaggttcaggaagatatcgaaaccgcacagatgatgct
+cgatgatcctgaaatgcgtgagatggcgcaggatgaactgcgcgaagctaaagaaaaaag
+cgagcaactggaacagcaattacaggttctgttactgccaaaagatcctgatgacgaacg
+taacgccttcctcgaagtccgagccggaaccggcggcgacgaagcggcgctgttcgcggg
+cgatctgttccgtatgtacagccgttatgccgaagcccgccgctggcgggtagaaatcat
+gagcgccagcgagggtgaacatggtggttataaagagatcatcgccaaaattagcggtga
+tggtgtgtatggtcgtctgaaatttgaatccggcggtcatcgcgtgcaacgtgttcctgc
+tacggaatcgcagggtcgtattcatacttctgcttgtaccgttgcggtaatgccagaact
+gcctgacgcagaactgccggacatcaacccagcagatttacgcattgatactttccgctc
+gtcaggggcgggtggtcagcacgttaacaccaccgattcggcaattcgtattactcactt
+gccgaccgggattgttgttgaatgtcaggacgaacgttcacaacataaaaacaaagctaa
+agcactttctgttctcggtgctcgcatccacgctgctgaaatggcaaaacgccaacaggc
+cgaagcgtctacccgtcgtaacctgctggggagtggcgatcgcagcgaccgtaaccgtac
+ttacaacttcccgcaggggcgcgttaccgatcaccgcatcaacctgacgctctaccgcct
+ggatgaagtgatggaaggtaagctggatatgctgattgaaccgattatccaggaacatca
+ggccgaccaactggcggcgttgtccgagcaggaataatggaatatcaacactggttacgt
+gaagcaataagccaacttcaggcgagcgaaagcccgcggcgtgatgctgaaatcctgctg
+gagcatgttaccggcagagggcgtacttttattctcgcctttggtgaaacgcagctgact
+gacgaacaatgtcagcaacttgatgcgctactgacacgtcgtcgcgatggtgaacccatt
+gctcatttaaccggggtgcgagaattctggtcgttgccgttatttgtttcgccagcgacc
+ttaattccgcgcccggatacggagtgtctggtggagcaggcactggcgcggttgcctgaa
+caaccttgccgtattctcgatctcgggacgggtaccggggcgattgcgcttgcgctggct
+agcgagcgcccggactgcgaaattatcgctgtagatcgtatgcctgatgctgtctccctg
+gcacaacgtaatgcccagcatctggcgatcaaaaatatccacattctgcaaagcgactgg
+tttagcgcgctagccgggcagcagtttgcgatgattgtcagcaatccgccgtatattgac
+gagcaggaccctcatcttcaacaaggcgatgtccgctttgagccgctcactgcgctggtt
+gcggcagacagtggaatggcagacatcgtgcatatcatcgaacagtcgcgtaacgcgctg
+gtatccggcggctttctgcttctggaacatggctggcagcagggcgaagcggtgcgacaa
+gcatttatcctcgcggggtatcatgacgtcgaaacctgccgtgactatggtgataacgag
+cgcgtaacgctcggccgctattatcaatgacaagtttttctacactgcttagtgttcatc
+ttattagtatcgcgctttctgttgggctattaaccttacgtttctggctacgttatcaga
+agcatccacaggcatttgctcgctggacgcgcattgtgccgccggttgtcgatacgctgt
+tactgttaagcggcattgcgttgatggctaaagcgcacatcctgccattttccgggcagg
+cacagtggctgactgaaaagctgtttggagttatcatttatatcgttttgggttttattg
+cactcgattatcgtcgtatgcacagtcagcaggcgcgcattattgccttcccgctggcgt
+tggtggtgctgtacatcatcattaaactcgccaccacaaaagtaccgttactggggtaag
+tcatgagatcgttagctgatttcgaatttaataaagcgccattgtgcgaaggcatgatcc
+tggcttgcgaagcaatccgccgcgattttccctcgcaagatgtttacgacgaactggagc
+gtctcgttagtctggcgaaggaagaaatcagccagcttctgcctttagaagagcagttgg
+aaaaactgatcgcgctgttttacggcgactggggatttaaagcctcacgcggtgtttatc
+gtctttccgatgcattatggctggaccaggtgttaaagaatcgacagggcagtgcggtat
+cattaggtgcggttttattatgggtcgcgaatcgtctcgatttgccgctgctgccggtga
+ttttccctacgcagctgatattgcgcattgaatgtccggatggcgaaatttggctgatta
+atccttttaacggtgaatcgttaagcgaacatatgctggacgtatggttaaagggaaata
+tcagcccgtcggcggaactgttttatgaagaccttgatgaagctgataacattgaggtaa
+tccgcaaattgctggatacactcaaagcctcgttgatggaagaaaatcagatggagctgg
+cgttacgcaccagcgaagctttattacaattcaaccctgaagatccctatgaaattcgcg
+atcgcgggttgatttatgcgcaactggattgcgaacacgttgcgttgaacgatttaagtt
+atttcgttgaacagtgtccggaagacccgatcagcgaaatgatccgtgcgcaaataaata
+acatcgcgcataaacatattgtgctgcattaattaatcgacattttactcaagattaagg
+cgatcctatgaaacaaaaagtggttagcattggcgacatcaacgtagcaaatgacctgcc
+gttcgtactgtttggcggtatgaacgtgttggaatctcgcgatctggcgatgcgcatttg
+cgagcactacgtaactgtgacccagaaactgggtatcccttacgtgttcaaagcctcttt
+tgacaaagccaaccgctcctccatccactcttatcgtggaccgggcctggaagaagggat
+gaaaatcttccaggagttgaagcagacttttggcgtgaaaattatcaccgacgttcacga
+accaagtcaggcacagcccgttgctgatgtcgtggatgtgattcagttgccggcgtttct
+tgctcgccagactgacctggttgaagccatggcgaaaaccggtgcggtaattaacgtcaa
+gaaaccacagtttgtcagcccgggacagatgggtaatatcgttgataaattcaaagaagg
+cggcaacgaaaaagtgattctttgcgatcgcggtgctaacttcggctatgacaacctggt
+tgtcgatatgctgggcttcagcattatgaagaaagtgtctggtaactcgccggtgatttt
+cgacgtgacccacgcactgcaatgccgcgatccgtttggcgcagcttccggtggtcgtcg
+tgctcaggtggctgagctggcacgagccggtatggcggtaggtctggcggggctgtttat
+tgaagcgcatccggatccggaacatgcgaaatgtgatggtccatccgcgctgccgctggc
+taaactggaaccgttcctcaagcagatgaaagcgattgatgatctggtgaaaggtttcga
+agaactggataccagcaagtaatcttttttgcttgaaaaataaagtattagcgttctgcg
+ttaagacttttttcatgggtgccggatacaaaaaaggccgcaggctgttacccctgcggc
+cggtttcgggcgcatattgccatcacggcagcctgacgcccgttttcaccttacttccgg
+ttacgccaccagctgacaatcgctgcggtaataattcccgccaggatcggtgctgccagg
+tcgtgccagaaaatcatggcaaactgcgcgagcgtcatatagccgccttgttgtaatgac
+aacattttgcggctattcttgaattgttctggttcaagattagcccccgttctgttgtca
+ggttgtacctctcaacgtgcgggggttttctctttccagcaaccaatgccaccagggata
+aagcccccgcaacattgcgcctcaccggataacgccggcttggtgtggatactacgactc
+aattcatcttcacttcatccctgaaatgtttgcaatgaagagtgcattccggtttttcaa
+cagctgttacagtcatttcatgagtgctctggatgaggcttccagctcgggttgccaata
+tttacttgtggaagtgataaagacaaaaatggccgcaggctgttacccctgcggccggtt
+tcgggcgcatattgccatcacggcagcctgacgcccgttttcaccttacttccggttacg
+ccaccagccgacaatcgctgcggtaataattcccgccaggatcggtgccgccaggtcgtg
+ccagaaagtcatggcaaactgcgcgagcgtcatatagccgccttgttgtaatgacaacat
+tttgcggctattcttgaagtgtctggtttcaagattagcccccgttctgttgtcaggttt
+tacctctcaacgtgcgggggttttctctttccagcaaccaatgccaccagggataaagcc
+cccgcaacattgcgcctcaccggataattccggcttggtgtggatactacgtctcaattc
+atcttcacttcatccctgaaatgtttgcaataaagagtacattccggcttttcaacagct
+gttgcagtcgtttcatgagtgctctggatgatgcttccagctcgggttgccaatatttac
+ttgtggaagagataaagacaaaaatggccgcaggctgttacccctgcggccggtttcggg
+cgcatattgccatcacggcagcctgacgcccgttttcaccttacttccggttacgccacc
+agctgacaatcgctgcggtaataattcccgccaggatcggtgctgccaggtcgtgccaga
+aaatcatggcaaactgcgcgagcgtcatatagccgccttgttgtaatgacaacattttgc
+ggctattcttgaagtgtctggtttcaagattagcccccgttttgttgtcaggttttacct
+ctcaacgtgcgggggttttctctttccagcaaccaatgccaccagggataaagccccgca
+acattgcgcctcaccggataacgccggcttggtgtggatactacgtcgcaattcatcttc
+acttcatccctgaaatgtttgcaatgaagagtacattccggcttttcaacagctgttgca
+gtggtttcgtgcagggtgtggtacaggctcgcaattctgattaacgacctgtccaggtag
+tatgaagaaatacaataagcaggaatttatattatctcccccgattaccgtcatcggagg
+agatataactgtcaggcaaatatcgtcatcaaataggcggcaaacagtgccagatgcgct
+gcgccattgagcacgttagtacgtccggtggagaaggagatatggcacagcactaaagag
+gccaccatcaccaccatttctggcgcaccaagtgcaaactgcaattcgttacccgtcata
+aaggcaattagcgtgacgacaggtacggtaagcgaaatggttgctaacactgaaccaaag
+aacagattcatcgcgcgctgaacctggttgttcaacactgcttttaatgcacctaaacct
+tccggcgacagaatcaacagtgccaccaggaagccagtaaaggcgacaggggcattcatg
+ctgtcgagcaatgtctccagcgagctggcgttcattttggtcaccgcaataacggcaatc
+agatggataatcaaccagatagcatgccacaggctgctatgggcagacggtttaccgtga
+tgcgggtcgtcatcatcactgtcatcttcgtgctcgtagacaaacaaactttgatgcgtt
+ttggtctggatcagcaaaaatacgccatacattgccgcagaaattaatgctaccagtaac
+gcctgaccggttgaaaaattcgccgcaggcagagccattggaaataccagtacgattatc
+gccagggggaacagcgcaattaaatactgcttgataccaaacagattcatatattgggtg
+gcaaacttacgaccgcccaacaataatgaaaagccaaccagcccaccggtaacaatcata
+atgattgaatagagcgtatcacgcattagcgttggcgcggcgtcgccggttgccattaaa
+gctgaaatcaaactgacttcaagaataaccactgaaaggctaagaataagcgaaccgtaa
+ggttctcccaggcgatgggctaatacgtccgcatgacggacaacactaaaggcgctactt
+aaaataccaataagcgcaagaagattgatggcaatgaccactggtagtgtctggctgctt
+ccccacaggaacagcactaccagcgccagaaccgggaaaataagcgaagtctccttgtgg
+cgggtttttaccgcctcttgagcatttgacattatggttatccctttgcagatgaattta
+tcgaaaatgtaaaaaataggtaggaaaaataacagaaagtgtctggatatcggtaacatt
+ttacgaatttttaccccgctgtcgattttttactcattggggcataaaaataagtattac
+gtttagacaatgtttgttttagcgtctcttaagaagagtctgacctgaaaattcttatgt
+tttggcaagagtagatattgttgaccacacttaatgttcaactttgtaaaaggagtcaac
+gatgccgtataaaacgaaaagcgatctgccggaaagcgtaaagcacgttctaccgtctca
+tgcccaggatatctataaagaagcgttcaacagcgcatgggatcaatataaagataaaga
+agatcggcgtgatgacgccagtcgcgaagaaaccgcgcataaagtggcctgggctgctgt
+gaagcatgaatatgccaaaggggatgatgataaatggcataaaaaatcgtaaaaccggtc
+gcttagttaaagctattcgtgcggtgttgccttgcaagtggtccgtggattgcatattgt
+cccgttagtggtttcaaaatgagcagtaaaaatgtccggaagacaccaaaaagttgtcgc
+agggaagtatgcagtggcggaagtgtaaggtgataacgcgtgatttcttgatgaatgccg
+attgtaaaacggcatttggtgccattgaagaatcactcttatggtcagcagaacaacggg
+cggcttcgctggcggcgacgctggcttgtcgacctgatgagggaccggtgtggatcttcg
+gctatggatcgttgatgtggaatccggcactggagtttaccgaatcgtgcaccggtacac
+tggttggatggcatcgcgcattttgcctgcgcctgaccgccgggcgcgggactgcgcacc
+agccgggacggatgcttgcactgaaagagggcggacgcaccacaggcgtcgcctatcgac
+tgccagaagagacgctggagcaggaactaaccctgttgtggaagcgagagatgattaccg
+gctgttatctgccaacctggtgtcagcttgatcttgatgatggacgcacagtaaacgcca
+ttgtgtttattatggacccgcgacatccagaatatgaatctgatactcgcgctcaggtca
+tcgcgccgttgattgcggcggcgagcggtccgctgggaaccaacgcacaatacctgtttt
+cactggaacaggagcttatcaaactgggaatgcaggacgatgggctgaatgatttgctgg
+tatcggtaaaaaaactgctggcggagaattttccggatggtgtgttacgtccgggattcg
+cctgagtaaacttcccgcatagtggggcgtcagacgccccctcaaacattaaaatgtgag
+cactttatcggctgacagcgtccattgcgccagttccacaagagtaccgatttccacccc
+atcaatcagaggaagtgtactaatcccgcgcccgtcggtacaggttttgcacaatttcac
+cggtacattctgagcggtaaggatctccagcatttgctgaatgttgtagccttcccctgg
+tttttgcccgcgcaacccggctgtgaccgcatcagacatgaggaacagacgcagatccag
+attgctctcctgctctcgtaacgcaatggccagccgcaagctgttaaacaaggattcgct
+cccgtaaggtgcgccattggcaacgatcacgattttttgcattatttactcctgtattca
+gggaattagacactcatcttctatcttactgcttctgcagcgtctgaccaatcggtcaca
+tttttaaggattttcctgaaagcgcgagaaaatacgacaaaagttgccagtaatcgttat
+tctttaaggctatggtttttcattattaccggaagttaccgacgttttgagccgtttcgt
+tcctcgcattatcccgttttatttactcttgcttgtagcaggcggtacagctaacgcaca
+atctaccttcgagcaaaaagcggcaaatccctttgataataacaatgatggtctgccgga
+tttaggcatggctcccgaaaatcatgatggggaaaaacactttgctgaaattgtgaaaga
+tttcggcgaaaccagtatgaatgataacgggctggatactggcgagcaggcaaaagcttt
+cgcattgggaaaagtccgcgacgcgcttagtcaacaggttaatcagcacgtagagtcctg
+gctatcaccgtggggaaatgccagtgttgacgtcaaagtggataacgaaggacatttcac
+cggcagtcgtggaagctggtttgtgccgttacaagataatgatcgttatctcacctggag
+ccagcttggtcttactcagcaggataatgggttggtgagcaatgtgggcgttgggcaacg
+ctgggcgcgcggcaactggctggtgggttataacactttttatgacaacttgctggacga
+aaatcttcagcgagcgggctttggtgccgaagcgtggggcgaatatttgcgattatcggc
+aaacttttatcagccgtttgctgcatggcatgaacagacagccacgcaggaacaacggat
+ggcgcgcgggtacgacctgacagctcggatgcgcatgccgttctatcaacacctcaatac
+cagtgtcagcctagaacagtattttggtgatcgtgttgatttgtttaactctggtacggg
+ttatcacaatcccgtcgcgttgagtctgggattaaattacacccctgtgccattagtcac
+tgtgacggcccagcataaacagggtgaaagtggcgaaaatcaaaataacctcgggctgaa
+tcttaattaccgctttggtgtaccgctcaaaaaacaactttctgcgggcgaggttgccga
+aagtcagtcgttacgtggtagtcgctatgacaatccgcagcgaaataatctaccgactct
+tgagtaccgacagcgaaaaacgttaacggtgtttctggcgacaccgccgtgggatctaaa
+acctggcgaaacagtgccgctgaaattacaaatccgcagtcgttacggtattcggcaact
+gatttggcagggcgatacgcagatattaagtttgacgccgggcgcacaagccaacagcgc
+ggagggctggacgctgatcatgcctgactggcagaacggggaaggggcaagcaatcactg
+gcgattgtctgtggtggtggaagataaccaggggcagcgtgtctcctccaatgagatcac
+gctaacgcttgtcgaaccgttcgatgcattgtcaaacgacgaactgcgctgggaaccgta
+atcagaaaatgcgctcctgatgcacccataccgctgcttccacgcgagacttgagcttca
+ttttcttcagcatgtgcttgacgtgcacttttactgtgctttcggtgatatccaggcggc
+gggcaatcatcttgttcggcaaaccctgggcaatcagcttgagaatatcgcgctcgcgtg
+gggttaactggttaacatcgcgctcagtagtggcacggttagcgcgcaagctggcggcca
+gaacaggcgttaatgcttcgcttaataccatttcgccagcagctgcctgatgcaatgctt
+tcagcagatcttccggttccatatcttttaacagatagccatccgcgccgcgtttcagtg
+cggtgaccacatcttcttcatggttagagacgctgaataccacaatgcgccctgagaggg
+acttttcgcgcagtttatccagcgtttccagaccgttcatgccgggcatattgagatcta
+acaggatcagatcgggatcaagagactccgccagttcaataccctgttcgccattactcg
+cttcgccaaccacggtgatatctggtgccatactgataagctgttttacgccagttcgca
+gcatcgggtgatcgtcaatcagcaggatagtagccggttcctgattactcatgggtatct
+ccttggacgtctgtgaaagttttttcgggaataaaggtgaccaccacttcggtgccacct
+gattcacgacggcggacgcggcaatcgcctcgtaaactttgcgcacgatcgcgcattatt
+atcatgccgtagtgattgctgcggatggcattttcaggcacgccgcagccgttatcctgg
+acggtcagtttgacctgattatcgttttgcgccaccgtcaccacgacttcactcgcttgc
+gaatgtttgagggcgttacttaatgcctcacgggcaatttgcaacaagtggattgcctga
+tgcgaaggcaccaggcgaggcggcaattgataatccagcttcaccgggaagccaaatttg
+gcgctgtactcttcgcaactcgcctccagcgccggacgtaatccaggctcggtgagctgc
+aagcggaatgtggtgagcaattcacgcaactgcgcccaggatgcattcagttcgttacgg
+atctgacttaacagttcgcggctgctttctggcagcgcatcgccctgcatctgtaaacaa
+ctcacctgcatcttcatgcaagagagagattgggcaatagaatcatgcagttcgcgcgca
+atggtggcacgctcttccatcacgatcaactgttgctgacgttcctgatggcgatccagc
+gccagcgtggcggtgagttgttcaaccagggtatccaccagttgttgttgatcatggcta
+agatgacgcccctgcggcagggtcgccagcaaaataccgtactgcgtatgagagtcagcc
+agccgccacttcagggtcgtgccgcgatcaccaacgggtaatacgccgcgcgggcagagc
+tggcagcctttatcatcacaagtcatatctggctggcaggtaaactcctgatgattctct
+tcatcatcagtgtcatacacccgcaattcgatatcacgtagcagggttaaattctgtaag
+ccgttgagtacaggtgacaggcgttcacacagcggggcgcgggaatgcaaacggcggtta
+gcctgccataaaaaagagaggatctgatttttatgctccagcccggcggttttctcctga
+acccgctgctcaagtacggcataactttcggccagttctgcagacatattgttcaacgca
+gttccaagcatcgccatttcgttgcgcccgctgatgtttgcgcgttgggtaaaatcgcga
+tgactgacggcactcgccattgccagcagttgccgccacggttgtagcagtcgcgcccgc
+aaccagataatagtgaacaccagtaaaagtgccataaataccgccattacccgatggacc
+agtaccactgtctcgatgcgcatttccgtggtgcggtcaaaaccagataccagttgatca
+agcccggcaacaaactggctgacatccgctgacaccgtttctcggttttgtgcacgcatc
+agcgcagggatcagttcattacgccagtaatcttgtaaaccctgtaattgcgccagttgt
+ccgtctcgttctgctgctcgagtcaactcggcgctaaatgccgtttgttccatctcttta
+attaagggcttgtctttctcgcttaatggcactgccgccaacagacggtaactttgcatg
+cgcagcgatcccgctttgttgatcgcatgggcgctgccctgaacgccttgcaccagccag
+ccagaaaccgccatccctgccagtccaatagcagtagaaagcaacacaataagcgcaacc
+tgattaaccagggtgagcggagagagacaacgtttaagcatgtaaacctcttccttcagg
+ctttaaatgagcaataaccttaatgaatgtgacgatacattctggaatggcagtattctc
+ggctattggctgaagtatacccatacccggaaagagttactccttatttgccgtgtggtt
+agtcgctttacatcggtaagggtagggattttacagcaccgtgaaaaatctcataatttt
+tatgaagtcactgtactcactatgggtaatgataaatatcaatgatagataaagttatct
+tatcgtttgatttacatcaaattgcctttagctacagacactaaggtggcagacatcgaa
+acgagtatcagaggtgtctatgagtcactcatccgcccccgaaagggctactggagctgt
+cattacagattggcgaccggaagatcctgcgttctggcaacaacgcggtcaacgtattgc
+cagccgcaacctgtggatttccgttccctgtctgctgctggcgttttgcgtatggatgtt
+gttcagcgctgttgcggtgaacctaccgaaagtcggctttaattttacgaccgatcagct
+atttatgttgactgcgctgccttcggtttctggcgcgttattacgtgttccatactcctt
+tatggttcctatcttcggtggtcgtcgctggacggcgttcagcaccggtattctgattat
+tccttgcgtctggctgggttttgccgtgcaggatacctccacgccttatagcgtcttcat
+catcatctctctgctatgcggctttgctggcgcgaacttcgcatccagtatggcaaacat
+cagcttcttctttccgaaacagaagcagggtggcgcgctgggtctgaatggtggtctggg
+aaacatgggcgtcagcgtcatgcagttggttgctccgctggtggtatcactgtcgatttt
+cgcagtatttggtagccagggcgtcaaacagccggatgggactgagctgtatctggcgaa
+tgcgtcctggatatgggtgccgttccttgccatcttcaccattgcggcgtggtttggcat
+gaacgatcttgctacctcgaaagcctccatcaaggagcagttgccggtactcaaacgggg
+tcatctgtggattatgagcctgctgtatctggcaaccttcggctccttcatcggcttctc
+cgcgggctttgcaatgctgtcaaaaacgcagttcccggatgttcagattctgcaatacgc
+tttcttcgggccgtttattggtgcgctggcgcgttctgcaggtggtgcattatctgaccg
+tctgggcggaactcgtgtcacgctggtgaactttattctgatggcgattttcagcggcct
+gctgttcctgaccttaccgactgacgggcagggcggaagcttcatggcgttcttcgcggt
+cttcctggcgctgttcctgacagctgggctgggtagtggttccactttccagatgatttc
+agtgatcttccgtaaactgacaatggatcgcgtgaaagcagaagggggttctgacgaacg
+tgcgatgcgtgaagcggcaaccgacacggcggcggcgctgggtttcatctctgcgattgg
+cgcgattggtggcttctttatcccgaaagcgtttggtagctcgctggcattaacgggttc
+gccagtcggcgcaatgaaggtatttttgattttctatatcgcctgcgtagtgattacctg
+ggcggtatatggtcggcattctaaaaaataaaccgttactcgtcatacttcgggttacat
+gtgctgcggctgcgttcattcaccccagtcacttactttagtaagctcctgggattcatt
+cacttgccgccttcctgtaaaccgaattatatagagtaaaatatttgattatcctttgcg
+cggcatgatgtcgcgctttttttatgcgtcatttagttacaacatactaatgttatatgg
+tttatttcgccggatttcattaagagccattaatatgttacccatggggaatactcctta
+atacccatctgcataaaaatcttaatagtttaaataactacaggtataaaacgtcttaat
+ttacagtctgttatgtggtggctgttaattatcctaaaggggtatcttaggaatttactt
+tatttttcatccccatcactcttgatcgttatcaattcccacgctgtttcagagcgttac
+cttgcccttaaacattagcaatgtcgatttatcagagggccgacaggctcccacaggaga
+aaaccgatgagtaaattcctggaccggtttcgctacttcaaacagaagggtgaaaccttt
+gccgatgggcatggccagcttctcaataccaaccgtgactgggaggatggatatcgccag
+cgttggcagcatgacaaaatcgtccgctctacccacggggtaaactgcaccggctcctgc
+agctggaaaatctacgtcaaaaacggtctggtcacctgggaaacccagcagactgactat
+ccgcgtacccgtccggatctgccaaaccatgaacctcgcggctgcccgcgcggtgccagc
+tactcctggtatctttacagtgccaaccgcctgaaatacccgatgatgcgcaaacgcctg
+atgaaaatgtggcgtgaagcgaaggcgctgcatagcgatccggttgaggcatgggcttct
+atcattgaagacgccgataaagcgaaaagctttaagcaggcgcgtggacgcggtggattt
+gttcgttcttcctggcaggaggtgaacgaactgatcgccgcatctaacgtttacaccatc
+aaaaactacggcccggaccgtgttgctggtttctcgccaattccggcaatgtcgatggtt
+tcttacgcatcgggtgcacgctatctctcgctgattggcggtacttgcttaagcttctac
+gactggtactgcgacttgcctcctgcgtctccgcaaacctggggcgagcaaactgacgta
+ccggaatctgctgactggtacaactccagctacatcatcgcctgggggtcaaacgtgccg
+cagacgcgtaccccggatgctcacttctttactgaagtgcgttacaaagggaccaaaact
+gttgccgtcacaccagactacgctgaaatcgccaaactgtgcgatctgtggctggcaccg
+aaacagggcaccgatgcggcaatggcgctggcgatgggccacgtaatgctgcgtgaattc
+cacctcgacaacccaagccagtatttcaccgactatgtgcgtcgctacaccgacatgccg
+atgctggtgatgctggaagaacgcgacggttactacgctgcaggtcgtatgctgcgcgct
+gctgatctggttgatgcgctgggccaggaaaacaatccggaatggaaaactgtcgccttt
+aataccaatggcgaaatggttgcgccgaacggttctattggcttccgctggggcgagaag
+ggcaaatggaatcttgagcagcgcgacggcaaaactggcgaagaaaccgagctgcaactg
+agcctgctgggtagccaggatgagatcgctgaggtaggcttcccgtactttggtggcgac
+ggcacggaacacttcaacaaagtggaactggaaaacgtgctgctgcacaaactgccggtg
+aaacgcctgcaactggctgatggcagcaccgccctggtgaccaccgtttatgatctgacg
+ctggcaaactacggtctggaacgtggcctgaacgacgttaactgtgcaaccagctatgac
+gatgtgaaagcttataccccggcctgggccgagcagattaccggcgtttctcgcagccag
+attattcgcatcgcccgtgaatttgccgataacgctgataaaacgcacggtcgttcgatg
+attatcgtcggtgcggggctgaaccactggtatcacctcgatatgaactatcgtggtctg
+atcaacatgctgattttctgcggctgtgtcggtcagagcgggggcggctgggcgcactat
+gtaggtcaggaaaaactgcgtccgcaaaccggctggcagccgctggcgtttgcccttgac
+tggcagcgtccggcgcgtcacatgaacagcacttcttatttctataaccactccagccag
+tggcgttatgaaaccgtcacggcggaagagttgctgtcaccgatggcggacaaatcccgc
+tataccggacacttgatcgactttaacgtccgtgcggaacgcatgggctggctgccgtct
+gcaccgcagttaggcactaacccgctgactatcgctggcgaagcggaaaaagccgggatg
+aatccggtggactatacggtgaaatccctgaaagagggttccatccgttttgcggcagaa
+caaccagaaaacggtaaaaaccacccgcgcaacctgttcatctggcgttctaacctgctc
+ggttcttccggtaaaggtcatgagtttatgctcaagtacctgctggggacggagcacggt
+atccagggtaaagatctggggcaacagggcggcgtgaagccggaagaagtggactggcag
+gacaatggtctggaaggcaagctggatctggtggttacgctggacttccgtctgtcgagc
+acctgtctctattccgacatcattttgccgacggcgacctggtacgaaaaagacgacatg
+aatacttcggatatgcatccgtttattcacccgctgtctgcggcggtcgatccggcctgg
+gaagcgaaaagcgactgggaaatctacaaagccatcgcgaagaaattctccgaagtgtgc
+gtcggccatctgggtaaagaaaccgacatcgtcacgctgcctatccagcatgactctgcc
+gctgaactggcgcagccgctggatgtgaaagactggaaaaaaggcgagtgcgacctgatc
+ccaggtaaaaccgcgccacacattatggtcgtagagcgcgattatccggcgacttacgaa
+cgctttacctctatcggcccgctgatggagaaaatcggtaatggcggtaaagggattgcc
+tggaacacccagagcgagatggatctgctgcgtaagctcaactacaccaaagcggaaggt
+ccggcgaaaggccagccgatgctgaacaccgcaattgatgcggcagagatgatcctgaca
+ctggcaccggaaaccaacggtcaggtagccgtgaaagcctgggctgccctgagcgaattt
+accggtcgtgaccatacgcatctggcgctgaataaagaagacgagaagatccgcttccgc
+gatattcaggcacagccgcgcaaaattatctccagcccgacctggtctggtctggaagat
+gaacacgtttcttacaacgccggttacaccaacgttcacgagctgatcccatggcgtacg
+ctctctggtcgtcagcaactgtatcaggatcaccagtggatgcgtgatttcggtgaaagc
+ctgctggtttatcgtccgccgatcgacacccgttcggtgaaagaagtgataggccagaaa
+tccaacggcaaccaggaaaaagcgctcaacttcctgacgccgcaccagaagtggggtatc
+cactccacctacagcgacaacctgctgatgctgactttaggtcgcggtggtccggtggtc
+tggttgagtgaagccgatgccaaagatctgggtatcgccgataacgactggattgaagtc
+ttcaacagcaacggtgctctgactgcccgtgcggttgtcagccagcgtgttccggcaggg
+atgaccatgatgtaccacgcgcaggaacgtatcgttaacctgcctggttcggaaattacc
+caacagcgtggtggtatccataactcggtcacccgtatcacgccgaaaccgacgcatatg
+atcggcggctatgcccatctggcatacggctttaactactatggcaccgtaggttctaac
+cgcgatgagtttgttgtagtgcgtaagatgaagaacattgactggttagatggcgaaggc
+aatgaccaggtacaggagagcgtaaaatgaaaattcgttcacaagtcggcatggtgctga
+atctcgataagtgcatcggctgccacacctgttcagttacctgtaaaaacgtctggacca
+gccgtgaaggcgtggaatatgcgtggttcaacaacgtggaaaccaagccgggccagggct
+tcccgactgactgggaaaaccaggaaaaatacaaaggcggctggatccgtaaaatcaacg
+gcaaactgcagccgcgcatgggtaaccgtgccatgctgctgggtaaaatcttcgctaacc
+cgcatctgccggggatcgacgattattacgagccgttcgattttgactatcagaacctgc
+ataccgcgccggaaggcagcaaatcgcagccgattgcccgtccgcgttcgctgattaccg
+gggaacggatggcgaaaatcgaaaaagggccgaactgggaagatgacctgggcggtgagt
+ttgacaaactggcgaaagacaagaacttcgacaacatccagaaggcgatgtatagccagt
+tcgaaaacaccttcatgatgtatttgccgcgcctgtgcgaacactgcctgaacccggcat
+gtgtggcgacctgcccgagcggtgcgatttacaagcgtgaagaagatggcatcgtcctga
+tcgaccaggataaatgccgtggctggcgtatgtgcatcactggatgcccgtacaaaaaaa
+tctacttcaactggaagagcggtaagtctgagaagtgcatcttctgctatccgcgtattg
+aagcgggtcagccgaccgtgtgctcagaaacctgtgtcggtcgtatccgttatcttggcg
+tgctgttgtacgatgccgacgctattgaacgtgcagccagcaccgagaacgagaaagatc
+tttaccagcgtcagctggacgtgttcctcgatccgaacgatccgaaagtcatcgagcagg
+cgattaaagacggtattccgctgagcgttattgaagccgcacagcagtcgccggtttata
+aaatggcaatggaatggaaactggcgctgccgctgcatccggaatatcgcacactgccga
+tggtctggtacgtgccgcctctgtctccgattcagtctgcagcagacgcgggtgagctgg
+gtagcaacggcattctgccagacgtcgaaagcctgcgtattccggtacagtatctggcga
+atctgctgaccgccggtgataccaaaccggtactgcgcgcactgaaacgtatgctggcga
+tgcgtcattacaaacgtgctgaaaccgttgacggtaaagttgatacccgtgcgctggaag
+aggtcggtctgaccgaagcccaggcacaggagatgtaccgttatctggcgattgctaact
+acgaagatcgctttgtggtgccgagtagtcatcgtgaactggcacgggaagccttcccgg
+agaaaaatggctgcggctttacctttggtgatggctgccacggttcagataccaaattca
+atctgttcaacagccgtcgtatcgatgccatcgatgtgaccagcaaaacggagccgcatc
+catgatcgaactcgtgattgtatcgcgtctccttgaatatccggatgctgccttatggca
+gcatcaacaagagatgtttgaggcgattgccgcgtcgaaaaatctgccaaaagaggatgc
+ccatgcgctgggcattttcctgcgcgatttaacgacgatggatccgctcgatgcccaggc
+gcagtacagcgaactgttcgaccgtggccgcgccacgtcactgttgctgtttgaacatgt
+gcacggcgaatcccgcgaccgcggccaggcgatggtggacctgctggcgcagtacgagca
+gcacggcttgcagttaaacagccgcgaattgccggaccatctgccgctgtatctggagta
+cctggcgcagctgccgcaaagcgaagccgtggaaggtttgaaagatatcgcgccgattct
+ggcattgctgagcgcgcgtctgcaacagcgtgaaagccgttatgccgtgctgtttgatct
+gctgctgaaactggcgaataccgctatcgacagcgacaaagtggcggaaaaaattgccga
+cgaagcgcgcgatgatacgccgcaggcgctggatgctgtctgggaagaagagcaggttaa
+attctttgctgacaaaggctgcggtgattcagcaatcactgcgcatcagcgtcgctttgc
+cggtgccgtcgcgccgcaatatctgaatatcaccaccggaggacagcactaatgcaattc
+ctgaatatgttcttctttgatatctacccgtacatagccggggcggtcttcctgattggt
+agctggctgcgttatgactacgggcagtacacctggcgcgcggcgtccagccagatgctg
+gatcgcaaagggatgaacctggcgtcgaacctgttccatatcgggattctggggattttt
+gtcggtcacttcttcggtatgctgacgccgcactggatgtatgaagcctggctgccgatt
+gaagtgaaacagaaaatggcaatgtttgctggtggtgccagcggcgtgctgtgtctgatt
+ggcggcgtgctgttgctgaaacgtcgtctgttcagcccacgcgtgcgtgcaaccactacc
+ggagcggatatcctgatcctgtcgctgctcgttatccagtgcgcgctgggcctgttgacc
+attccgttctccgctcagcatatggacggtagcgagatgatgaaactggttggctgggcg
+cagtcggtggtgaccttccacggtggcgcttctcaacacctcgatggtgtggcgtttatc
+ttccgtctgcacctggtgctggggatgacgttattcctgctgttcccgttctcgcgtctg
+atacacatctggagcgtaccggtggagtatctgacacgtaagtaccagctggtgcgcgct
+cgtcactaagcgaattttagttcacatagaccctgcttcggcggggtttttttatgggca
+cggtgcggggtgagttgtcggatgcgcttcgcttatccgacctacaggggaggatattgt
+aggcccggtaaacgtggtgccatcgggcaaaattagctcggagtaacaggttttgattat
+ttaaggaagcgatggtggtgggggaaggattactcagcgctgcgcgcttcgcccttcggg
+tcgttgcctgcggcaacgctctctcgctggcgctcaagtcgaaccttggtcgaagcttct
+catccttccccgcttgggcagaatatttgattgcggattcgtttgagaattccggggctt
+ttgaaagtgatggtggtgggggaaggattactcagcgctgcgcgcttcgcccttcgggtc
+gttgcctgcggcaacgctctctcgctgacgctcgagccgaaccttagtcgaagcttctca
+tccttccccgcatgggcagaatatttgattgcggattcgcttgagagttcagggactttt
+gaaagtgatggtggtgggggaaggattactcagcgctgcgcgcttcgcccttcgggtcgt
+tgcctgcggcaacgctctctcgctggcgctcgagtcgaaccttggtcgaagcttctcatc
+cttccccgcatgggcagaatatttaattgcggattcgttgggaagttcagggacttttga
+aagtgatggtggtgggggaaggattcgaaccttcgaagtcgatgacggcagatttacagt
+ctgctccctttggccgctcgggaaccccaccaggggtaattcaaattttgaggtaatgct
+tgagatggtggtgggggaaggattattcgtcgcttcgctcctcacccttcgggccgttgc
+ctgtggcaacgttctctcgctttcgctcgaatcgaaccttagtcgaaggttctcaccctt
+ccccgatgagtgcaaactttcacaatctcaccgaagttaccacatcgctgtggtgaatta
+tggtggtgggggaaggattcgaaccttcgaagtcgatgacggcagatttacagtctgctc
+cctttggccgctcgggaaccccaccacggggtaatgctttttactggcctgctcccttat
+cgggaagcggggcgcatcatatcaaatgacgcgccgctgtaaagtgttacgttgagaaaa
+atgaactggttgcgtaattttcatccgtaacggattaaaggtaaccagttatttttgctg
+gcgattaaagaataatcgttcgattaccgtaaacaaagacgcgctgtgccagtactttgt
+atagtgcacgacttaagacgtttttctcgacgtcacgacctgcgcgcatcatatcttcag
+ctgtgtaggtatgatcgacatgaataacgtcctgcatgatgattgggccttcgtccagat
+tgtcattcacatagtgagcggttgcgccaataatcttcacaccacgttcataggcctggt
+gataaggacgtgcgccaataaacgctggcaggaatgaatggtgaatattgatgatcttat
+tcgggaagcgtgccacaaattccggcgttaatacccgcatatacttcgccagcaccacgt
+agtcaggttgataagcatcaatggcatccgccatcttttgatcgtgctcgttgcgggtta
+acccttcatggcttaccagctcaaacggaatatcaaaacgctcaaccagagaacgtaaag
+tatcgtggttaccaataactgccgcgatttcgacatccaggccgccgtaattggctttca
+tcaacaaatcgccaaggcaatgcgcttctttagtgaccagaatcactatccggcgacgac
+cggcaggattcagctcacgcacggagccttctggcaatgcgctatcgagatccgccagca
+gggtggaatcattaaaaatcccttccagttccgtgcgcataaaaaagcgcccggtacggt
+gatcaacaaattcattgttctgtacgatatttaactcgtgcttgtagcaaatattggtaa
+tacgtgcgatcagacctttttggtccggacaaatagtacgcagaactttacgttggagtg
+aatgcattgctggaaaaaccttgttgagagtgtttgctaaaccgtaccgtcaaccattat
+tggccgcagcactttttaaattttttacctgaaccacaagggcagggatcgttgcgacca
+aactgcggacgtgtaccgtcaatatagtaccattgaccgttttctttcaaaaatcgcgaa
+cgttcaattattgcacctgttttaccaccttcggtaaatcgagcaacaaaactgacaaat
+ccgatattgtcggcgtcctgccaacaatgttcaaatacggtcaatcccaaccattcagta
+tgcgcaaatccggccatcaattcggcacgtaacgccgctgctccacaagagggatgccag
+gtctttattaaataatctgcgtcttgcatcacaaaagcgcagtaacgcgaacgcatgaga
+tgttctggatcaggtgcaaccttttcaccagacacataagggtggcaacataggctatac
+tcgacagcactaccacagggacaaagctgagacacaaataatctccctggaaacaataac
+ggcgtattaaccgcctgagtagcactatgttaaccgagcagtagcgatgtggctacgatt
+gcattccaggggaatcttgcgggaataatgagaaagataaaaatagggctggcgctggga
+tctggcgcggcgagaggttggtcgcatattggcgttattaatgcgctaaaaaaagtgggt
+attgaaattgatatcgttgcaggatgttcaattggttcgctggtgggcgctgcctatgca
+tgcgatcgattatctgcgctggaagattgggtgacctctttcagttattgggatgtttta
+cgcctgatggatctctcctggcagcgcggtgggttactgcgcggcgagcgtgtcttcaat
+caataccgcgaaataatgccggaaacagagatcgaaaattgttcccgtcgctttgcggct
+gttgccaccaatttaagtacgggacgtgaattatggtttactgaaggcgatctccatctt
+gctattcgcgcatcatgcagtattccaggactcatggcacctgttgcacataacggctac
+tggctggttgatggagcagtcgttaacccaattcctatttccctcacgcgtgcattgggg
+gctgatattgtgatagcggttgacctgcagcacgatgctcatttgatgcaacaagatttg
+ctctcctttaatgtcagtgaagaaaatagcgagaatggtgattctctgccgtggcatgcg
+cgtctgaaagaaaggttaggcagcataacgacacgtcgggcggtgacagcgccaacggca
+acagagattatgaccacttctatccaggtgctggagaaccgccttaaaaggaaccgcatg
+gcaggtgatccgcccgatattctgattcaacctgtttgcccgcaaatatctacgcttgat
+ttccatcgcgcgcacgctgccattgcggccggacagctggcagtggaaaggaaaatggac
+gaacttttgccgttggtacgcaccaacatttgaccagaatttttatctacacttaagtta
+attctgacaggcgcaggtggcaatagcatgccactattgagtaaagccagtcaggggaga
+gaacatgacgcagccattggtcggaaaacagattctcattgttgaagatgagcaggtatt
+tcgctcgcttctggattcatggttttcctcattgggagcgacaacggtactggcggctga
+tggggtggatgcccttgagttgctgggaggtttcactccagacctgatgatatgtgatat
+cgcgatgccacgaatgaacgggcttaaactgctggagcatatacgtaacagaggcgacca
+gaccccagttctggtgatatctgccactgaaaatatggcagatattgccaaagcgttacg
+tctgggcgttgaagatgttttgctgaaaccagttaaagatctgaatcgcttgcgcgagat
+ggtttttgcctgtctctatcccagcatgtttaattcgcgcgttgaggaagaggaaaggct
+ttttcgcgactgggatgcaatggttgataaccctgccgcagcggcgaaattattacagga
+actacaaccgccggttcagcaggtgatttcccattgccgggttaattatcgtcaattggt
+tgccgcggacaaacccggcctggtgcttgatattgccgcactttcggaaaacgatctggc
+attttattgccttgatgtcacccgagctggacataatggcgtacttgctgccttgttatt
+acgcgcattgtttaacggattattacaggaacagcttgcacaccaaaatcaacggttgcc
+agagttgggcgcgttattgaagcaggtaaaccatttacttcgtcaggccaatctgccggg
+gcagtttccgctattagttggctattatcatcgcgaactgaaaaatctcattctggtttc
+tgcgggtctgaatgcgacgttaaataccggcgaacaccaggtgcaaatcagtaatggtgt
+tccgttaggcactttaggtaacgcttatttgaatcaattgagccagcgatgcgatgcctg
+gcaatgccaaatatggggaaccggtggtcgactgcgcttgatgttgtctgcagaatgagc
+aaacgataacgcgggctaaatttgcattacctgctaatgtcggctggtggtactatcgtc
+gccattcgtataagtaattgtcttaattatgctaactcgcctccttttcagaacttagcc
+ccttcggggtgctgatatactgggatgcgatacagaaatatgaacacgttcaaaacacga
+acagtccaggagaatttaaatggctgccattaatacgaaagtcaaaaaagccgttatccc
+cgttgcgggattaggaaccaggatgttgccggcgacgaaagccatcccgaaagagatgct
+gccacttgtcgataagccattaattcaatacgtcgtgaatgaatgtattgcggctggcat
+tactgaaattgtgctggttacacactcatctaaaaactctattgaaaaccactttgatac
+cagttttgaactggaagcaatgctggaaaaacgtgtaaaacgtcaactgcttgatgaagt
+gcagtctatttgtccaccgcacgtgactattatgcaagttcgtcagggtctggcgaaagg
+cctgggacacgcggtattgtgtgctcacccggtagtgggtgatgaaccggtagctgttat
+tttgcctgatgttattctggatgaatatgaatccgatttgtcacaggataacctggcaga
+gatgatccgccgctttgatgaaacgggtcatagccagatcatggttgaaccggttgctga
+tgtgaccgcatatggcgttgtggattgcaaaggcgttgaattagcgccgggtgaaagcgt
+accgatggttggtgtggtagaaaaaccgaaagcggatgttgcgccgtctaatctcgctat
+tgtgggtcgttacgtacttagcgcggatatttggccgttgctggcaaaaacccctccggg
+agctggtgatgaaattcagctcaccgacgcaattgatatgctgatcgaaaaagaaacggt
+ggaagcctatcatatgaaagggaagagccatgactgcggtaataaattaggttacatgca
+ggccttcgttgaatacggtattcgtcataacacccttggcacggaatttaaagcctggct
+tgaagaagagatgggcattaagaagtaacatccgtatcggtgttatccacgaaacggcgt
+tgagcaatcgacgccgtttttttatagcttattcttattaaattgtcttaaaccggacaa
+taaaaaatcccgccgctggcgggattttaagcaagtgcaatctacaaaagattattgctt
+gatcaggaaatcgtcgagggatttaccttgctcatccattgcttttttgattacagctgg
+agtacggccttggccagtccaggttttagtttcgccgttttcgtcaacgtagctatattt
+tgccggacgctgagcacgtttagctttggtgccagatttaacggcagcaaggctattcag
+cagttcgttcgggtcaataccgtcagcgatcagcatttcgcgatattgctgcagtttacg
+agtgcgctcttcaacttcagcagcagccgcgctttcttcttcgcgacgttcgttaacaac
+aacttctaatttttccagcatttcttccagcgtttcaagtgtacattctcttgcctgcgc
+acgaagagtacggatgttgttcagaattttaagtgcttcgctcattgtagtaatctcaaa
+cttatattggggtggtttgttgaggtaataatagagccttaaattcagttgtgcaatagc
+caggaatgtaaggaattcaaaattgttctttattttgtgccgccaataaatatcttttca
+taaaattagccagaaaagacgcggcatatagccctatttacaccgatgatttcgcagcac
+gtgaggttaaaacttcctgattcatgtcacattttatggggagattatcgtaggctgacg
+acctttcagtcttctgtattagttgtgtttacgagaattccctattaagcgaatgatgaa
+aagtagaacagtcgcaataagagcatggacttagtattgcactatctcctggaggtcaac
+agagggctattacttgcgcaacaggttaaagattgtgaatagttaccagcagtcatttac
+ccgcttataacaagcgaggcagttgtaatgatagctcagaaggattatgcaaggcttcgt
+aagggagaacgcatatacccacttctgtgcatactgttgagctgaaaaactgacgaatta
+tgataaactccagccaactttatttcatatcattgagggcctgtggctgatggcacagct
+atatttctactattccgcaatgaatgcgggtaagtctacagcattgttgcaatcttcata
+caattaccaggaacgcggcatgcgcactgtcgtatatacggcagaaattgatgatcgctt
+tggtgccgggaaagtcagttcgcgtataggtttgtcatcgcctgcaaaattatttaacca
+aaattcatcattatttgatgagattcgtgcggaacatgaacagcaggcaattcattgcgt
+actggttgatgaatgccagtttttaaccagacaacaagtatatgaattatcggaggttgt
+cgatcaactcgatatacccgtactttgttatggtttacgtaccgattttcgaggtgaatt
+atttattggcagccaatacttactggcatggtccgacaaactggttgaattaaaaaccat
+ctgtttttgtggccgtaaagcaagcatggtgctgcgtcttgatcaagcaggcagacctta
+taacgaaggtgagcaggtggtaattggtggtaatgaacgatacgtttctgtatgccgtaa
+acactataaagaggcgttacaagtcgactcattaacggctattcaggaaaggcatcgcca
+cgattaataagaatttctttactgacagggtgagcagggcacttttatcctgtcagttcg
+ttttacgcacttcttccgggctatatacccttctcggcagttttttaacgccgctatacg
+cctcacagggctcttaagcaccgacgttgacttgtgacctgtaaagtacaatatccctgt
+gtttaggcgttatacatcgtcgcaaatatgatgaaggctaatgctgtcggtttatggaaa
+agttgctttgggtaaacaaaaaatacggccccagaagggcaatgccgttcacttaagagg
+agcggcactatgtttcacaggataacgggtttttgatatcttaaccgacctcggccttga
+tggtcgggggcgttttgttatgaacaccacttccagagcaccccgaagatgctccagtcg
+tttcgggatggtccctggtgacgccgtgtttcccagctctatcatttctgatgcgatatt
+cttccacgcaggcagtagccagtggcggttacaacccttctggttcagcgtcagcagcag
+gtcttcgctgtaaaaaagtttatcaaacaacgtaatagagttatccgggatggtggcgag
+catggagtgggccagcacagtttcgctctgccggtaaggtgcggtcacggcattcagcag
+aatgtgacttcccaggttcattaaggccaccagacgcataaccgggtaggcgttctgccg
+cttagtggatgtgttggcagacccataatattcacgcagctcgggtttatcaggtgtcct
+gaactgtgcgccatcaatggcaaaaagttgcaggccgtgccagtcatccttcaggtaacg
+ttccgcgcccctgtctgtgcggtctggcggaagagccattccactggggcggcccccacg
+cgctgacgcgcctgggtgacagcgctgcgggccagcaggttcatccccgcttcgccatcc
+gcgctcaggttcagacggcgaacaacatcggtaattggctcattgcaccaccatccagat
+aaccatgtcccccggtaaacgacggcggcgaacggtcgcatgagcagaaagcgtcaggca
+gtgttgtatccactcggtgggaaggtgttctgcaaatagttgtgcagagggcggaggcat
+aagcggatggtcactgaaatcgagcagatcattgagaagtggcataagaaaacggctccc
+tgttgtggaagccgttatagtgcctcagtttaaggatcggtcaactaatccttaactgat
+cggcattgcccagaaggggccgtttatgttgccagacagcgctactgattaagcggattt
+tttcgcttttttctcagctttagccggagcagcttctttcttcgctgcagtttcaccttc
+tacataatcacgaccgtagtaggtatccagcagaatctgtttcagctcggagatcagcgg
+gtaacgcgggttagcgccggtgcactggtcatcgaatgcatcttcagacagtttatccac
+gttcgccaggaagtctgcttcctgaacgccagcttcacggatagatttcggaatacccag
+ttcagctttcagcgtttccagccatgccagcagtttctcgatcttagcagcagtacggtc
+gcccggtgcgctcagacccaagtggtcggcaatttcagcataacgacggcgagcctgcgg
+acggtcatactggctgaatgcagtctgcttggtcgggttgtcgttcgcattgtagcgaat
+aacgttacaaatcagcagggcgtttgccagaccgtgcggaatatggaactgggaacccag
+tttgtgcgccattgagtgacatacacccaggaaggcgttcgcaaacgcgatacccgcgat
+agtcgctgcactgtgaacacgttcacgcgctaccggatttttagacccttcgtggtagga
+cgctggcagatattctttcagcagtttcagtgcctgcagagcctgaccatcagagaactc
+agatgccagtacagaaacataagcttccatggcgtgagttactgcgtccagaccaccgaa
+agcacacagggacttcggcatgtccataaccaggttggcgtcgacaatcgccatatccgg
+agtcagcgcatagtctgccagcggatatttctgaccagtagcgtcgtcagttacaaccgc
+aaacggagtgacttcagaacctgtaccagaagtggtggtgacagcgatcattttcgcttt
+cacgcccattttcgggaacttgtagatacgtttacggatatccataaagcgcagcgccag
+ctcttcgaagtgagtttccggatgttcgtacataacccacatgatcttcgcggcgtccat
+cggggaaccaccacccagcgcgataatcacgtctggtttgaaggagtttgccagttctgc
+acctttacgaacgatgctcagggtcgggtccgcttctacttcgaagaagacttcagtttc
+aacgcctgctgctttcagtacggaagtgatctgatcagcataaccattgttgaacaggaa
+gcggtcagtcacgatgagcgcacgtttgtggccatcagtaatcacttcatccagcgcgat
+tggcagggagccacggcggaagtagatagatttcggaagtttgtgccacaacatgttttc
+agctcgcttagcaacggttttcttgttgatcaggtgtttcggaccaacgttttcagagat
+ggagttaccaccccaagaaccacaacccagagtcagggaaggtgcgagtttgaagttata
+caggtcaccgataccaccctgagacgctggggtgttaatcaggatacgcgccgttttcat
+tttctgaccgaagtaagaaacgcgagccggttggttatcctggtcagtgtacaggcaaga
+ggtatgaccgataccgcccatagcaaccagtttctctgctttttctaccgcgtcttcgaa
+atctttagcgcggtacattgccagagtcggggacagtttttcatgtgcgaacggttcgct
+ttcatcaacaacggtcacttcaccgatcagaatcttggtgttttctggtacagagaagcc
+tgccagttcagcaattttataggctggctgaccaacgatagccgcgttcagcgcaccgtt
+tttcaggataacatcctgaacagctttcagctctttaccctgcaacagatagccgccgtg
+ggttgcaaaacgttcacgtacagcgtcataaacagagtcaacaacaacaacagactgttc
+agaagcacagattacgccgttgtcgaaggttttggacatcagtacagatgcaactgcacg
+tttgatatcagcagtttcatcgataacaactggagtgttgcccgcgcctacaccgatagc
+tggtttaccggagctgtatgcggctttaaccatgcccggaccaccagtcgcgaggatcag
+gttgatgtctgggtggtgcatcagtgcgttagacagttcaacagaaggttgatcgatcca
+gccgatcagatctttcggagcaccggcagcgatagcagcctgcagaacgatatcagccgc
+tttgttggtggcatcttttgcacgcgggtgcggggagaagataatggcgttacgggtctt
+cagactgatcagcgatttgaagatagcagttgaagtcgggttagtggtcggaacgatacc
+gcaaataataccgattggttcagcgatagtgatggtaccaaaagtgtcgtcttcagacag
+aacaccacaggttttttcatctttataggcgttgtagatatattcagaagcaaagtggtt
+tttgatcactttatcttcgacgatacccatgccggattcggcaacggccattttcgcgag
+tgggattcgagcatctgcagcagccagagcggcggcgcggaagattttgtctacttgctc
+ttgagtgaaactggcatattcacgctgggctttttttacacgctctacgagtgcgttaag
+ttcagcgacattagtaacagccataatgctctcctgataatgttaaacttttttagtaaa
+tcatctgctcgaatacgagagtatagtcagtgcggtgatgatttgcttaacctatgaaaa
+tcaaaagcttactcgcgctcacactcactgtgatttactaaaagagtttaaacattagag
+ttattatctctaatgcgtcacttccaggtggcgtaagcaagattactcacttctgggtac
+tgattacgtgatccaaatcaaatttttgcaaagctgacacctttcagcatcgcttttcgc
+cattatagctaacagttaataaattgtagtatgatttggtggctacattagcatgttttg
+cacaactagataacaataacgaatgatagcaattttaagtagttaggaggtgaaaaatgc
+tgtcaaaaggcgtattgtcagcgcgtcttttcaaccttatttatggctaacattatccgg
+cttttgcttcggagctaaccgtgattcagaccttttttgattttcccgtttacttcaaat
+ttttcatcgggttatttgcgctggtcaacccggtagggattattcccgtctttatcagca
+tgaccagttatcagacagcggcagcgcgaaacaaaactaaccttacagccaacctgtctg
+tggccattatcttgtggatctcgctttttctcggcgacacgattctacaactttttggta
+tatcaattgattcgttccgtatcgccgggggtatcctggtggtgacaatagcgatgtcga
+tgatcagcggcaagcttggcgaggataaacagaacaagcaagaaaaatcagaaaccgcgg
+tacgtgaaagcattggtgtggtgccactggcgttgccgttgatggcggggccaggggcga
+tcagttctaccatcgtctggggtacgcgttatcacagcattagctatctgtttggtttct
+ttgtggctattgcattgttcgctttatgttgttggggattgttccgcatggcaccgtggc
+tggtacgggttttacgccagaccggcatcaacgtgattacgcgtattatggggctattgc
+tgatggcattggggattgaatttatcgttactggtattaaggggattttccccggcctgc
+ttaattaattcctttcaaatgaaacggagctgccatgctccgtttacttcgtcattattt
+ttactttgttcccgcgcagttatcaaaagcaaaaggaataggtaaaaatattcttctcaa
+attacagttagttataaggatttccttaactgcttctcctcaccatcatgttattttcgc
+cacatcataatcctgggcttgctgaagaataattgaaatgatattattaattccactgcc
+tttggtagaggaaagtgctaaataataatcaattgttaaattattgtgcatttcactact
+ggaactgtaatcagaaaagatagacatgcttagccaatctctatttgattgaattgaaag
+atgtttgttaaggcatggatgcaagctatagattctgatacggtcaataaaagagaattg
+cttaacaattttgcaaaatgtattggcgagtaagaaccgcatttggtactttccgggcaa
+ccgccagacgattctttattggtaatgagaataattaacaattaaagagcgtcgcgaaag
+aataatgtgtctcgacaggggagacacagtacgaatcgacataaggtgatcgtctgaatc
+accagaataaataaagtcggtgatagtaatacgtaacgataaagtaacctgacagcagaa
+agtctccgagcctgtgcagggtcccaatccgggattacacatgctggttaataccagtaa
+ttataatgagggagtccaaaaaacaatgaccaacatcaccaagagaagtttagtagcagc
+tggcgttctggctgcgctaatggcagggaatgtcgcgctggcagctgatgtacccgcagg
+cgtcacactggcggaaaaacaaacactggtacgtaacaatggttcagaagttcagtcatt
+agatccgcacaaaattgaaggtgttccggagtctaatatcagccgagacctgtttgaagg
+cttactggtcagcgatcttgacggtcatccagcacctggcgtcgctgaatcctgggataa
+taaagacgcgaaagtctggaccttccatttgcgtaaagatgcgaaatggtctgatggcac
+gccagtcacagcacaagactttgtgtatagctggcaacgttctgttgatccgaacactgc
+ttctccgtatgccagttatctgcaatatgggcatatcgccggtattgatgaaattcttga
+agggaaaaaaccgattaccgatctcggcgtgaaagctattgatgatcacacattagaagt
+caccttaagtgaacccgttccgtacttctataaattacttgttcacccatcaacttcacc
+ggtgccaaaagccgctatcgagaaattcggcgaaaaatggacccagcctggtaatatcgt
+caccaacggtgcctataccttaaaagattgggtcgtaaacgaacgaatcgttcttgaacg
+cagcccgacctactggaacaacgcgaaaaccgttattaaccaggtaacctatttgcctat
+tgcttctgaagttaccgatgtcaaccgctaccgtagtggtgaaatcgacatgacgaataa
+cagcatgccgatcgaattgttccagaagctgaaaaaagagatcccggacgaagttcacgt
+tgatccatacctgtgcacttactattacgaaattaacaaccagaaaccgccattcaacga
+tgtgcgtgtgcgtaccgcactgaaactaggtatggaccgcgatatcattgttaataaagt
+gaaagcgcagggcaacatgcccgcctatggttacactccaccgtatactgatggcgcaaa
+attgactcagccagaatggtttggctggagccaggaaaaacgtaacgaagaagcgaaaaa
+actgctggctgaagcgggttataccgcagacaaaccgttgaccatcaacctgttgtataa
+cacctccgatctgcataaaaagctggcgattgctgcctcttcattgtggaagaaaaacat
+tggtgtaaacgtcaaactggttaaccaggagtggaaaacgttcctcgacacccgtcacca
+gggtacttttgatgtggcccgtgcaggctggtgtgctgactacaacgaaccaacttcctt
+cctgaacaccatgctttcgaacagctcgatgaataccgcgcattataagagcccggcctt
+tgacagcattatggcggaaacgctgaaagtgactgacgaggcgcagcgcacagctctgta
+cactaaagcagaacaacagctggataaggattcggccattgttcctgtttattactacgt
+gaatgcgcgtctggtgaaaccgtgggttggtggctataccggcaaagatccgctggataa
+tacctatacccggaatatgtacattgtgaagcactaatggcaatacgtggggcaggagtg
+tcctgctccacggtgtctgatttttatcgcattacagaaggcacaggccagaaggtaggg
+caatgttaaaatttattctacgtcgctgtctggaagcgattccgacgctatttattctta
+ttactatttcgttctttatgatgcgcctcgcgccgggaagcccttttaccggcgaacgta
+ctttaccgccagaagtgatggccaatatcgaagcgaaatatcatcttaatgatccgatca
+tgacacagtatttcagctacctgaaacaactggcgcacggtgatttcggtccatcgttta
+aatataaagattattcggtcaatgacttggttgcatccagttttcccgtttctgccaaac
+tgggagccgcagcatttttccttgcggtaatactgggtgttagtgctggcgttattgccg
+cattaaaacaaaacaccaaatgggactataccgtgatggggctggcaatgaccggggttg
+ttatccccagttttgtggttgcaccattattagtcatgatatttgcgatcattttgcatt
+ggctgccgggcggtggctggaatggtggggcgcttaaattcatgatattgccgatggtgg
+cgttgtcactcgcttatatcgccagtattgcgcgtattacccgtggctctatgattgaag
+tattacactccaattttattcgtactgcccgggcgaaagggttacctatgcggcggatca
+ttttacgtcacgcattaaaacctgctctgttacccgtgctctcttatatgggccccgcat
+ttgtcggcattattaccggttctatggttatcgaaaccatttatggtttgccggggattg
+gacaactgttcgttaatggcgcattgaaccgtgactattccttagtgttaagcctgacca
+tcctggttggtgctttaaccattttgtttaatgccattgtcgatgtgctatatgcggtta
+tcgacccgaaaatccgttactgatactggagctcgcgatgatgttaagtaagaaaaacag
+cgagacgctggaaaatttcagtgaaaagctggaggtcgaagggcgcagcttgtggcagga
+cgcacgtcgacgttttatgcataaccgtgcggcggttgccagtctgatagtgctggtgct
+gatcgcgttatttgtaatcctggcaccgatgctttcccagtttgcctatgacgatactga
+ctgggcgatgatgtccagcgccccggatatggagtccggtcactactttggtactgactc
+atccggtcgcgacctgcttgtgcgcgttgcgattggcgggcgtatctcactcatggtcgg
+tgttgctgcggcactggtggctgtggtcgtcgggacactttatggttcgctttccggtta
+tctgggcggtaaagtggattcggtaatgatgcgtctgctggaaatcctcaactccttccc
+attcatgttcttcgtcattttgctggtgacctttttcggtcaaaacatcctgctgatttt
+cgtggcgataggcatggtttcctggctggatatggctcgtattgtgcgtgggcaaaccct
+gagtctgaagcgcaaagagtttattgaggcggcacaagttggcggtgtatcgacatcggg
+cattgttattcgccacattgtgccgaatgtactcggtgtggtggtggtctacgcatcact
+tctggtgcccagcatgatcctctttgaatctttccttagcttcctggggttgggtacgca
+agagccgttaagcagctggggtgcattgctgagtgatggcgcgaactcgatggaagtctc
+tccatggttattgttgttcccagcgggattcctcgtggtgacgctgttttgtttcaactt
+tatcggcgatggcttgcgtgatgccctcgacccgaaagatcgttaaggagtgcagccatg
+agcgtaattgaaactgcaactgtgccgctcgcacaacaacaggctgacgcactgctgaac
+gtgaaagatttgcgtgtcacctttagtaccccggacggcgacgtcacggcggtcaatgat
+ttgaatttttccctacgtgccggagaaacgctgggtattgtaggtgagtctggttcgggt
+aaatcgcaaactgcatttgcgttgatgggcctgttggctgccaacggacgtattggcgga
+tcggcaaccttcaatgggcgtgaaatcctcaatttgccagagcatgaactcaataaactg
+cgcgctgaacaaatctcaatgatttttcaggacccaatgacttcgttgaatccctatatg
+cgcgtcggtgagcagttgatggaagtgctgatgctgcataagaacatgagcaaagctgag
+gcgtttgaagagtcggtgcggatgctcgatgcggtaaaaatgccggaagcgcgtaaacgc
+atgaaaatgtacccgcacgaattttctggcggcatgcgtcagcgagtcatgattgcgatg
+gccttgttatgtcgacctaagctgctgattgcggatgaaccaacaactgcgctggacgtc
+accgtacaggcgcagatcatgacgctattaaatgaactgaagcgggaatttaataccgcc
+atcattatgatcacccacgatcttgtcgtggtggcggggatctgcgacaaagtgctggta
+atgtacgccgggcgcacgatggaatatggcaacgcgcgcgatgtcttttatcaacccgtt
+catccttattctatcggtttgctcaacgcggtgccgcgtctcgatgcggaaggtgaaaca
+atgttgaccatcccgggtaatccgccaaacctgctgcgattaccgaaaggttgcccgttc
+cagccacgttgtccgcatgcgatggaaatttgtagtagcgcaccgccgctggaagagttt
+acgcctggccgtctgcgtgcttgctttaaaccggtggaggaactgttatgaatgctgtaa
+ctgaaggaagaaaagtcctccttgaaatcgccgatcttaaagtgcactttgaaatcaaag
+atggcaaacagtggttctggcaaccgccgaaaacgctcaaagccgtcgatggtgtcactc
+ttcgcctgtatgaaggggaaacattaggtgtggtaggggaatcgggatgcggtaagtcca
+cctttgctcgcgccatcatcggtttggtcaaggcgaccgacggtcatgttgcctggttag
+gtaaagagttgctgggcatgaaacccgatgaatggcgtgccgttcgcagtgatattcaga
+tgattttccaggatccgttggcatcgctaaacccgcgtatgaccatcggcgagatcatcg
+ctgaaccactgcgtacttatcatccgaaaatgtcacgccaggaagttcgcgagcgcgtga
+aggcgatgatgctgaaagtcgggttattgcctaacctgattaaccgctatccgcatgagt
+tctctggtgggcagtgccagcgtatcgggattgcgcgtgctcttattcttgaaccgaagc
+tgattatctgtgatgagccggtgtcggcgctggacgtgtcaattcaggcacaggtggtca
+acctgctccagcaattgcaacgtgagatgggattgtcattaatttttatcgctcatgacc
+tggccgtggtaaaacacatttccgatcgtgtgttggtgatgtatctcggccatgcggtag
+aactggggacctatgatgaggtctaccacaatccactacatccttacaccagggcattga
+tgtcggcagtccccatacctgatccggatctggagaagaacaaaaccatccagttactgg
+aaggggaattaccgtcgccgatcaacccgccttccggttgtgttttccgtacccgttgcc
+cgattgccggtccagagtgcgccaaaacacgtcctgttctggaggggagtttcagacact
+ccgtttcttgcctgaaagtcgatccgctttaaaaacaataagggctgacagttgtcagcc
+ctttttcacgctaaaagcgattatttattcccgccagatgatatggcaaagtttgtgatc
+tttttcgcggcataacagaatgcgggcaaaaacatcgttgatttcaccatcttcactgtc
+cgccagaccaatcaccacttcggcaaaaaagtccgggttcaaatcgaaatcaacatgttc
+ctgccagtcttccgccggatcgaataactccgcgccgccgcgctcttcaaactgaagatt
+gaacagcagaacatcagctggatcgagattgtcggcagccagttcgagaaaaatatcgta
+ggcctgttcaagcgtttcatcttcagtcaggcgattgtttagatccatatccatagttac
+tacctgtttaacctctgttggcgacgttttacagcaacggactgaagaagtaaaacagtc
+gctcggcgacacgttgccataatggacgttttagccataaacgggcatcgagcagacgtg
+aacgcgaaatataatcgtcctgaacggcggcgaggtcagcaccaaaacctttatcgtcga
+ttgccagggtaatctcgaaatttagccacagactacgcatatcaaggttaactgtgccaa
+ccagacttagttcgccatcgaccagcacgctcttggtatgcagtaacccgccttcaaact
+gataaattttaaccccagcagccagcagttccgtaaagaatgcgcgactggcccagccga
+ccagcatcgagtcattttttcgcggaaggataatactgacatccaccccgcgctgcgccg
+ccgtgcaaatcgcatgaagtaaatcatcgcttggcacaaagtagggcgtggtcatgatca
+aatattcacgcgccgaataagccgcagtcaataatgcctggtgaatgagatcttccggaa
+agccggggccagaagcaattgtgtgaatggtgtgaccgctggcctgttcaaacggcataa
+tattgacatctggtggtggcggcagaatacgttttccggtttcaatctcccagtcgcagg
+aataaataatccccatcgcggtggcgatagggccttccatacgcgccatcagatcaatcc
+attgccctacgcccgcatcttgtttgaagtagcgaggatcgaccatattcatgctgccgg
+tgtacgcgatgtaattatcgatcatgatcatcttgcgatgttggcgcaggtccatacggc
+gtaaaaacacacgcatcagattgacctttaaggcttcgaccacttcaataccggcattac
+gcattagctcgggccacgggctgcggaaaaaagccacactcccggcggagtcgagcatca
+atcggcaatgaatgccgcgtcgcgcagccgccattaatgattcagccacctggtccgcca
+tgccgccgggctgccagatataaaacaccatctcaatattatggcgcgcgagctggatgt
+cgcggattaacgcctgcatcacatcatctgactcggtcatcagttgtagctgattccctt
+tgaccccagcgatcccctgacgacgctcgcaaagcttgaataatggcgcagcgacactgc
+tattttcttcggcgaagatatgcttacaggctttaaggtcgttaagccattttgcggtgg
+aaggccacatcgctctggcgcgctcagcgcggcgtttgcctaaatggagctcgccaacgg
+caagataggcaataattccgactaacggcagaatgtaaataatcaacagccaggccatcg
+cggagggaactgcgcgtcgtttcattagaatgcgtaaagttacgcctgcaatgagcaacc
+agtatcccagaatggccaaccaactcaccaacgtataaacggttgtcatagattagaaat
+ccttttgaaagcgcattgttatgagtttacgcatatggattcatctggcaaataaaaacg
+cgggaaaagcactggtcagcgtcgggggtgggggtataatgaccattctgttattgcata
+gagtagttaacatgaagcggagtagaacggaagtggggcgctggcgcatgcagcgtcagg
+ctagccgacgtaaatcgcgttggcttgaggggcaatcgcgccgaaatatgcgtatccaca
+gcatcaggaagtgcattctaaacaaacagcgtaactcgttattgtttgcgatctacaata
+tctaaatgtactgggcaccattgcggtgcccaataagtttactcttccgtctttaaactc
+tatttttgcgccgattctttactgtcagctttcgtttctagttcatcgttatcgctgaaa
+ataccatgacctgagttcaacaacattgaaacgagcatatcattattaatctcttcacca
+tttaaaactcgcgccagaatttcgctgccaaacagttgcggtgagagaatgatatccgga
+tgtaccatcttaatcttattcaggtttttgctatcactgacggcgagaactgttttgaca
+tcactgctcatatcttttgccgagagtacaacaaacgcgttatctgcatcgttatcactc
+agcgccagaatggcccggcaacgatcgattcccgctttctttaatacagaactgtcatta
+ctgtcaccggggataacatcagcattatcgcctaagcgttgctcaagttgcttgatatca
+tcttcaggcaagttgctgataaccgttacgttttgtccgcgttgattcagttgcaggatc
+gtattgatggcgagaatcgaatgtccgcaaacaataaaatgatctttacgatgcattgta
+tgattgtttccttttacaagtttgttgaatcccccgcggataagcggaccaaaaattgag
+gtcatagatgtggcaaaaacggtaatgccggaaataatgaccgaaatagtgaacaatcgt
+gctgattcagaaacagggacaatatcgccatagccgacggttgacatggtttctatcgaa
+aaatagaacgcggtcatcaaactttctattcgcggattaaaaccttcgcttaaataaagc
+gcaccgtaggttgagtaaaacagtaatgtcgtgaaactaataaatgcaaaaattgtcccg
+gctgcggcgctactgtgggagaagtctttgcgcagtatcagcaaaaacaccagcgtaaaa
+atgcaaaatccaatactaaatttcagccagggataaaaatgcagggtgtaaattagcgct
+atcaacaacaaaatgatactgattgcccatgcgagctttgcccggaacagtaagccaatg
+gagttcaggacaagaaagacgccgagcataaagagtggggcgtttgccagcaaggagaga
+tccaactctgaaaatgctttgatatggaaaatatcaagcaaattgaccgacataccatag
+attgttttaaaaataagcaatccatttaaaaagacggccagcgcgagaatgtcgtgccga
+agggtcacccataaatttgttgctgtttgtttgaatgtagcccagtgactcactgatacc
+tctgtaaccacaattttgtttaattatcttagcgtgcacattttctgaacatacatgcag
+cgcgtgaatgtgttaaacaatagtagatgactttatccgcagtaatcaaaggatttgagc
+gagcaactgtacctcaggaaaggtcatttttcctgaatatgctcacatcatataaagaaa
+tacagataaagttattatctgcttgtggtggtgaatgcactgaccggctataaggaaagg
+ccaaacaagaacacggttgcaaaaaccgtgcccttaaatattgaatctctattcagaaca
+ctttcttaaatggtttcactgaaacgtgttcatagactcctgccgctacgtacgggtcag
+catcggcccaggcctgagctgcttccagcgattcaaattcagcaataacggttgagccag
+taaatcccgcagcccctggatcgttactgtctaccgctggcattggaccagctgtcaaca
+aacgaccttcatcatgcagtaactgtaaacgtgctaaatgtgccggacgaacggaaaggc
+gtttttcgaggctatcagctttgtcttgagcgtaaataacatacaacacgggcacaactc
+cttgttcgggaaagttgtaaagtacgttatttgaaagggcgaagatctgcaacggaaaga
+tgatgtctttgttaaggccatgcataaagtaagggtaattacgccaaaaatgacattttc
+actgatcctgatcgtcttgccttattgaatatgattgctatttgcatttaaaatcgagac
+ctggtttttctactgaaatgattatgacttcaatgacccttgatttacctcgccgcttcc
+cctggccgacgttactttcggtctgcattcatggtgctgttgtggcgggtctgctctata
+cctcggtacatcaggttattgaactacctgcgcctgcgcagccgatttctgtcacgatgg
+ttacgcctgctgatctcgaaccgccacaagccgttcagccgccaccggagccggtggtag
+agccagaaccggaacctgagccgatccccgaaccgccaaaagaagcaccggtggtcattg
+aaaagccgaagccgaaacctaagccaaaaccgaagccggtgaaaaaggtacaggagcagc
+caaaacgcgatgtcaaacccgtagagtcgcgtccggcatcaccgtttgaaaatacggcac
+cggcacgcctgacatcaagtacagcaacggctgcaaccagcaagccggttaccagtgtgg
+cttcaggaccacgcgcattaagccgtaatcagccgcagtatccggcacgagcacaggcat
+tgcgcattgaagggcaggttaaagttaaatttgacgttacgccggatggtcgcgtggata
+acgtacaaatcctctcagccaagcctgcgaacatgtttgagcgtgaggtgaaaaatgcga
+tgcgcagatggcgttatgagccgggtaagccaggcagtgggattgtggtgaatatcctgt
+ttaaaattaacggcaccaccgaaattcagtaagcagaaagtcaaaagcctccgaccggag
+gcttttgactattactcaacaggtaaggcgcgaggttttccttcaggatcaaccgcgaca
+tacttaaataatgcttctgtcgctttatagcgttgcccaattggttcagacgctactttt
+ttcacccacacttcaatattaatgctgaccgatgtcgtccctttctggacacagcgtgca
+tagcagcacaccacatcgccgaccgcaaccggccgtaagaaagtcattccttcaacccgc
+acagtcactacgcgaccgtgggcaatttcttttgccagaatagcgccgccaatatccatt
+tgtgacattaaccaaccaccaaagatgtcaccattggcattggtatcggcgggcatggct
+aaagtacgtaaaacaagatcgccctgagggacgttatgtgttgtagacatggtaaaaccg
+acttaaaaggaaaatcacaggcgcgatgctactatgattttcctgaggagaacagaggag
+atacagcgccagccccgaaggactggcagtctggttaggatttatcttcctgcggcatgt
+ggcggtagatatagataccgcttaacaatgtgaagattaaggtaagggcggtcaggccaa
+agactttaaagttgacccaaatattttgcggcagccagaatgcgatgtagatgtttgcca
+gaccgcaaaggataaagaaaacagcccaggccagattcagcttcgaccataccggttgcg
+gcagcgtgagttctttacccagcatccgctgaattagcggctttttcatcacccattggc
+tgactaacagggctcccgcaaatagagcataaatgacagtaaccttccatttaataaact
+catcattgtggaagaacagcgtcaagccaccgaagacgaccaccagaacaaaagtgatca
+gggccatcttctcaaccttacgaaagcgaacccagctatagataagcacaatcgccgtgg
+cgacgatcagcgccgcagtagccgcatagatgtcataaatcttgtaaaacgcgaaaaaga
+caaccagcggtaaaaaatcaagaaactgcttcattttacgattccgtaatcaaatgctta
+aggttattggcgaatcaacatatacaggcggaacagatagatgagcaatatggctgaaat
+caggttgctcaaggtgttcgccagtacggcaccaatttccggggttaatgcggcaaaaga
+agaggcaaaaagcagcaacagtgtttttgccagcaaccagctcagtactgcgggtgccac
+cagacgcatattcgcccaagtcagccgcatactgctacgcatcgaggcaaaaacgcccat
+tttgtcctgtaccaacatcaccggtgccagggccagtaaaatggccatgataattcccgg
+aacgaccaccagcatgatgccaatctgtactaaaagggtagtcagaaaaatcagaataaa
+taactttggcaatatcggcgcactggcaccaatagctcgcagcgcactgactctctgacc
+cgcagacaccagctggataattaatattacgcctccggcgagaatggcgttaccgattaa
+tcctgaaaaagtggacgccgctgaagcctgcagcaaaatttgttgctgttccggtgacat
+attctgaaccaggtcgaacaacccactactgccgctaacgggcacgccgtcattgagctg
+cgcaagctgtgcatcactgggtgagaaaacatgccctaacaccactgtgataaacgcaca
+tagcaacgataccaacagaatggtcataaattgattacggaagaaatttccggtgtcacg
+gtatacggactgcgccgtgatagacatgcactctccttgagttttatgcaggtgttaatt
+agcgggcaattgtaccctggttaagcctcgggtggcagcatcaggtcttgtatggaaaag
+catatctttgtaaagcggaggtaattgctggccttcaggcatgggcaaatcgcggcaagt
+ggcgaccgagttaatatttgcgtagcgaaaatatttaaaaattgatttaaatcacattaa
+ccaggattctcaatgcaacttctaaattaatccagatcaataaagggtgaattatcatat
+gtaatgtgatctatgtaggatcatttgttactccaatgtaggtatattcgtcacgttttt
+ataaccataacgacggagcggatatgaaaaagttaacagtggcggctttggcagtaacaa
+ctcttctctctggcagtgcctttgcgcatgaagcaggcgaattttttatgcgtgcaggtt
+ctgcaaccgtacgtccaacagaaggtgctggtggtacgttaggaagtctgggtggattca
+gcgtgaccaataacacgcaactgggccttacgtttacttatatggcgaccgacaacattg
+gtgtggaattactggcagcgacgccgttccgccataaaatcggcacccgggcgaccggcg
+atattgcaaccgttcatcatctgccaccaacactgatggcgcagtggtattttggtgatg
+ccagcagcaaattccgtccttacgttggggcaggtattaactacaccaccttctttgata
+atggatttaacgatcatggcaaagaggcagggctttccgatctcagtctgaaagattcct
+ggggagctgccgggcaggtgggggttgattatctgattaaccgtgactggttggttaaca
+tgtcagtgtggtacatggatatcgataccaccgccaattataagctgggcggtgcacagc
+aacacgatagcgtacgcctcgatccgtgggtgtttatgttctcagcaggatatcgttttt
+aattccgcacaaaaacgaccccgtaatatacggggtcaataaggacatggtataaagggt
+attatttcttcgcttctacgccatcagtttcagagcgaattaaaaatttctcagttgttt
+gcggaatattctgaatcagccagtcggccatttgcttttcctcatttaaaatcgcttcga
+tggttggaattgaagctgtatcaccggcattttttgctgctgctaatagtgaggtgtaac
+aggcgatttcaaattgctcgaagacatatccgctaatagagcctttgactatttcatcag
+aagggaatataccaccgattgactgcccaagcgcagccattttactcatggaatctttaa
+tgactgaacgtgaaatgtcattacgatcaagaatagtttccagttgaacaatctggtttt
+tggtttcactaagatgttgttcaatacgagcgcgtagttcaggataattatctatacggc
+tggccatggattcaagcatagattcggcttgcttttccattgcgtgggcgtcacgtaacc
+agtcatgataatgttcaatacgattcatgaaaatgtcctctttataaaatgactaaaagt
+taaaattcatatttcaggctttattttcggctttcttatttacgttattaatggccagat
+cagtcagtttgatgtcggtggccttttcttcttccagggtttctttcagaagcttcgctg
+ctttacggtaacctaattgttcagccagcgtcgctaatgtcccgtaactggcaatctcat
+aatgctcgactttctgtgctgcggcaatcagtgcggcatcacgcacttcgtttttctcgg
+tactttcgatgacctcattagcttcttcaataagaccttccattgccacacatttcatgc
+gcttaattttcaggttcgattcggactccacaacttgatcaatacgttcaatctgtccat
+gagtttcctcgaggtgcgcatgaaaagcctgacttaatttttcatttgatgttgctcttg
+cgagttttgccagtgcccgggttaattgtttttctgcgctgtaggtatctgaaagcaggt
+gaataaatacatcttcaatggtcttcatattcatatttttctccagtgaaatcactgcga
+gccatacggcccgcagatgcaattatctttatcagctgatattaataattaacggtgaat
+caggatttgcctgatttattaccaccgctttgttgaccgccttttttacccgcttcagat
+gcgcgttgcggatcatttttaaaattaccgccgctatgctgaccgcctttacggcctgcg
+tcggatgccttctcacggtcttcggcgaaatttcctgaaccaccacgatgttcggccatg
+ttatttctcccgttgcgttgcattgtttcattaatatgagtgttgtgtgtcgacactcat
+taaaattagtcgctaatgagaattagtcaaattaagcgcaacgagaagatagagggaaaa
+tatattttgaggaacattctggatatattaacaattacctgaggaataagtgacttagag
+aaaattattgattttactggtgttatgttgcgggattaatttgtttgattatattactgt
+tgggcggaaaaatgacgtaagttgacgttcgaccggggtaagcgaaacggtaaaaagata
+aatattaaatgaatttaggatttttccggcttcattaaagaaagttaaaatgccgccagc
+ggaactggcggctgtgggattaactgcgcgtcgccgctttcatcggttgtacaaaaactt
+tcagtgccgccagcattttctctggctcattaatatgttgctcgatgattttaacaatgg
+ccgaaccagaaatcgcgcccgcagctcctgcatcaatcgctgcttttacctgatccgggg
+cggaaataccaaatccctgcaatggaggtgcagcgttgtactctttcagcttcgcaacca
+gatgattgaggggtaacgcggcgcggttttctgcgccggtcacgcctgctcgtgacagca
+aataggtgtaaccacgaccgtaagaggctatctggcgcagcaggtcgtcatcggcatttg
+gcgggcagatgaagataggtgcgacattatgacgcaacgcggcctggcggaagggcgcgg
+actcttcaactggcacatcggcaaccagcaccgaatcgacgccgactttttcgcactggg
+cataaaactcatcaatgcctttgttaaacaccagattggcatacatcaacaggccaatgg
+gaatggtcgggtgtttctggcgaatcagtgccagcatttcaaaacattgtgccggagtca
+cacctgccgcaaaggcgcgcagagtggcgttttgaatcgtcgggccatccgccagtgggt
+cggagaaggggatacctaactccagcgcgtcagcaccggcttcaattagcgtatcgataa
+ttttcaatgactgctcaatgcccggatcaccgagcgtgacgaaaggaacgaatgcgcctt
+ctttgcgctccttcaactgggcaaacagagattcgtagcgttccatcagatttcccctcg
+tgctttcaaaatatcgtgaacggtgaagatgtctttatcgccgcgaccggaaaggttaac
+caccagtagctgctctttatccgggttttcgcgcatcattttcaacgcatgggccagggc
+gtgggaggattccagcgccgggatgatcccttcgtgcaggcacagcgttttgaaggcttc
+aagggcttcatcatcggtaatagacacgtaatcagcgcgtccagtgctgttaagatacgc
+gtgttgtgggccgacagacgggaaatccagtccggcggagatggagtaagattcttcaat
+ctgcccgtcttcggtttgcatcatcggcgctttcataccgaaatagatacccacgcgacc
+atgttttagcggtgcgccgtgctcgccagtttcgataccgtgaccacctggctccacacc
+aatcaggccgacgttggtttcattgatgaaatcagcaaacatgccgatggcattcgaacc
+gccgccaacacaggcgataacggcatccggcaggcgaccttctctttccagaatctgcgc
+tttggtttcttcgccaatcatccgctgaaactcacgcacaatggtcggataaggatgcgg
+gccagctgcggtgcccagcatatagtgcgcggtttcgtaactaccggaccagtcgcgcag
+cgcctcgttacaggcatctttcagcgtcgcggaaccgctatgcaccgggatcacttccgc
+acccattaagcgcatacgaaaaacgttaggcgactggcgttcaacgtctttggcacccat
+ataaatacggcatttcaggccgagcagggcgctggcaagggccgacgccacgccatgctg
+accggcaccggtttcggcgatgatttcggttttacccatccgcttcgccagcaacgcctg
+ccccagcacctggttagttttatgcgcgccgccgtgcagcaaatcttcacgcttgagata
+cagcgtggtgttcgtcccggctgtaatgttctggcatttggtcagcgcggttggacgccc
+ggcatagtttttcagcaggtcgttgaactgagcctgaaattcaggatctttttgcgcact
+gacaaaagcttcttccagctggcgcagagcaggcatcaggatttgtggcacgtacatgcc
+gccaaactcaccaaaataggggttaagtaatgttgtcattgttcctttccttaatatgcg
+cgcagcgtctggaaaaccgaggccaaaagacgtgcgtctttgatgcccggttgcgactct
+acagcagaattaaaatcaagtccggcgcagccggtttgtgccgcttccacgcagttatct
+gcgcctaagccccccgccagcagaacgttgccaagcgattgaccatttaatagtgaccag
+tcaaaacgttgcccgcttccaccctggccgttgtctaaaacatatttatcaacgtgctga
+aactcgcgggcgggcagggtttcaccgacgcttaatgctttccagatggcaacatgtgct
+ggcagagcttcacgcagcgtatcgatatacagctgttcttcattaccatgcagttgcact
+gccgccagcgataacaccttagctttgtccaccacatcggcaatatcgtgattgcggaac
+acgccaacatactgcaacggtgccgcagccatcacttcctgcgcctgttcaacgttgacg
+caacgcggtgatgtcgcaacaaaaatcaacccaccgtaaatcgcgcccgcgtcataagct
+gctttagcatcttgcccacgcgtcaggccacatactttattctcacccagcaacacccgg
+cgcacggcggcgtgcaaatcgtcatgggccatcaacgccgaaccaatcagaaaaccgtta
+gcgaagtggcttaactcgcgcacctgagcgtaagtattgatgccggattcgctgattacc
+gtcacgttgtgccccagtttcggcgcaagctcgcgggtacggttgagatcaatcgacaaa
+tcacgcagatcgcggttgttgatgccaacgacctttgctcccaatgcaatggcgcgctcc
+tgttcctcttcattactgacttcggtcagcacccccatctccagactgtgagcgacggcg
+gcaagctggcgatattggtcgtcatccagtactgaaagcattaataagcaggcatcggcc
+tggtaatagcgcgccagatagatctggtaagggtcgataatgaagtctttacataaaatc
+ggctgcggggcgatttggctgacgatggggaggaaattaaagctcccctgaaaatatttc
+tcatcagtcagcaccgaaattgccgaagcgtaatgtttataaatggcggcaatgcgtgct
+ggatcgaaatcatcacggatcacgccttttgacggcgacgctttcttgcactccagaata
+aacgccgtgcgcgcaccctgtagcgcatcataaaaatgtcgcgtgctcggctgaacctca
+ttctgaaaactggccagcggttgctgctgtttgcgggcttctacccaaatcgccttgtct
+gcgacgattttcgctaaaacggtttgcatcatttaccctcgtgccgccagtgcggtgact
+ctgtcgtaagcggaaccactgcgcagtacctcaagaacggtttgcgcattggcttgcaga
+tcttcatggccatgcaggcgcattaacatggcgacgttcgcagcgacggctgcttcatgg
+gcggcgtcgcctttaccttgtaacaaacgtgttaaaatgtcacggttttcttccggtgtt
+ccgcctgccagttgctcctggtggtagggtgtcaggccaaagtcttctgcggtgagctga
+tagcttttaatttcgccgtcatgcagttcggcaacgattgtcggcgcgtgtaatgaaact
+tcatccatcccgccgctgtgcaccaccgccgcgcgttgataccccagcacgcgcaaggtt
+tcggcaatcggcagcaccagttccggactataaacaccaattaacgccagcggcggatgc
+gccgggttaatcaatggccccagcacattgaacagggtgcgggttttcagttgctggcga
+accggcatcgcgtggcggaatccggtgtgatacttcggcgcaaagaggaaacatacacct
+aactcatccagcgcctggcgcgatttatcggcgttcatatcaagattaataccgaacgcc
+gccagcagatcggacgaaccagatttactggagacgctacggttgccgtgtttcgccact
+ttcagcccacaggccgcggcgacaaacgcactggcggtagaaatattgatactgttgctg
+ccgtcaccgccagtaccgacgatatcagcaaacagataatccgggcgcgggaacggcgct
+gcgttttccagtagcgcggttgctgccccggcgatctcgttcgggtgctcaccgcgaatt
+ttcatgctcaccagcgccgccgccagttgttccggcttcagctcgccacgcaccaccgct
+gaaaacagctggtggctttcttgttggctaagcgtctgcgcctgatacagtttttccaga
+atcggttgcagcgtgttggctggctctagtttctgctgcgcccaggccagcgtttgttcc
+agcaggcgagcgccctgggtggtgagaatggattccggatggaactggaatccacaaacg
+cgatccgcatcgtgacgtactgccatcaccatgccattaaaatgggcgttgatggttaaa
+ccggccggaatgttactgccaaccagcgagtgataacgcgccaccggcagcgggtttgtt
+aatccggcaaacatcgcctgaccgtcatgttcaatgctggaggctttaccgtggagaatt
+tcgcccgcctgaccgacatagcccccgtaagcttcgacaatcgcctgatgtccgaggcaa
+atgccaataatgggcagcttgccacgcaagcgggtgaggagttccggcatacaaccggct
+tcgctcggcacaccggggccaggagaaagcatcagcaccggattgctcatggtcgccagg
+cgttcaattaaggtttgcgccggaatatggttgcggtaaatcaccacgttatgcccattg
+ctgcgcaactgatctgccaggttgtacgtaaaagagtcgatattatcgagcagcagaatg
+tcagccatcagaaagtctcctgtgcatgatgcgcggtggcaatagcgcgcagtacagcgc
+gggctttgttacgggtttcgtcggcttccgactgcggaacagaatcaaggactacaccag
+cacccgcttgcacggtggcgataccgttttccaccagcgccgagcggatcacaatgcagg
+tgtcgagatcgccatgcgcggtgaaataacctaccgcgccgccgtagctgccgcggcgac
+gaccttccgcctcggcaattaactgcatagcgcgtactttcggcgcaccgcttaacgtcc
+ccatattcatacaggcgcgataagcgtgcagggcgtcaagatcgtgacgcagttcgccga
+ctacgcgagagacgaggtgcatcacataggaataacggtcaactttggtgagatcggcga
+cgtagcggctgccgggggtgcaaatgcgtgccagatcattacgggcgagatcaaccagca
+tcagatgttcagacagctctttatgatcggtacgcatttccagttcaatacggctgtcga
+gatctctgtccagtgaaccatcggcgcgacgaccgcgtgggcgtgttccggcaatcgggt
+agatctcaatctggcggctggtggcatcatacttgagcgagctttccggcgacgcgccaa
+atagggtgaaatcattatcctgcataaaaaacatgtacgggctgggattactctttttca
+gcacgtaataggccgccagcggtgacgggcagggcagagagaaacggcgagatggcacca
+cctggaaaatttctccagcgcgaatcgctttttgcaacaaacgcactacgccaccgaact
+cttcatcgctctgattacattcacaacgcatatgcggcacggaaaccactggcagcggcg
+gcgcggcttcggtcagttgctgacgtagttcgttcaggcgagcagtgagacgttgttttt
+cttcttcattcggagcaaacaggctggcctgaatacgggtgctttttttctgatggtcaa
+tcaccatcagcgtttcagcgagataaaaacagaaatcagggcagttattttccgctgaca
+gttgcggtaaatcttcaaatcccgccacaaggtcataagagaacaggccgccgaagaaca
+tggcttctcgttcttccttcggtacattcaacagattctgcaataaacggaaagcgtcaa
+aaaccgaaagggagcataagcgggcgtcttcatccagcagtggactgacaggggggaagc
+gcagcacacggcagtttggtgattgttcactttccacacccgcaggcagggcgttatcca
+gtagtgccaggagggcttcgccgttgccggaaagtgcctggattgtgacagtgtcaccta
+aagctgtaatgcgcagcgcactgtctaccagcagcaggctttttaaatcatctttgctgt
+cgatatctgcggattccagcagcagcgttgccggacgatccccacacaactggtgaaaaa
+gcgcggtgggattgtcgcgataagcgccttcgcaggttagcagttcgagagtcggttttt
+gtgtttgcattgttattctctaattttgttcaaaaaaaagcccgctcattaggcgggctg
+ggtatctgattgctttacgcatggtgaatacactgcccgtttcaggaagtgcgccaccaa
+cctttcagtacgaaaattgctttcattgtcgataccctttttacgtgaacttgcgtacta
+gttaactagttcgatgattaattgtcaacagctcatttcagaatatttgccagaaccgtt
+atgatgtcggcgcaaaaaacattatccagaacgggagtgcgccttgagcgacacgaatta
+tgcagtgatttacgacctgcacagccataccacagcttccgatggctgcctgacgccaga
+agcattggtgcaccgtgcagtcgagatgcgcgtcggcaccctggcgatcaccgaccatga
+caccacagctgcaatcgcgccagcaagagaggaaatttcacgttcgggactggcgttgaa
+tcttattcccggcgtggaaatttccacggtctgggaaaatcatgaaattcatattgtcgg
+gctgaatattgatattactcatccgctaatgtgtgagttcctcgcgcagcagacagaacg
+gcgcaatcagcgggcgcagctgattgccgaaagacttgaaaaagcgcaaatacctggggc
+gctggaaggcgcacaacgactggcgcagggcggcgcagtgacgcgcggtcattttgcgcg
+tttccttgttgagtgcggcaaagccagttcaatggcggatgtctttaaaaagtatctggc
+gcgcgggaaaaccggatacgttccgccacagtggtgtacaatagaacaagctattgatgt
+cattcatcattctggcggtaaggcggtgctagctcatcctgggcggtacaatcttagtgc
+taaatggctgaaaagattggttgcgcattttgccgaacaccacggtgacgcgatggaagt
+cgcgcagtgccagcaatcgcccaatgaacgtacccagctggcggcccttgcgcgtcagca
+tcatttatgggcatcacaaggatctgattttcatcagccatgcccgtggatcgaactggg
+tcgtaaactctggctgcccgcaggcgttgaaggcgtctggcagctatgggaacagccgca
+gaacaccacagagagggaattatgagccagtttttttatattcatcctgataacccacag
+caacgtctgatcaaccaggcggtggagatcgtgcgtaaaggcggggtgattgtttatcca
+actgattccggctatgcgctcggctgtaaaattgaagataaaaacgcgatggagcgtatt
+tgtcgtattcgccagctgccggacggtcacaactttaccctgatgtgtcgcgatctttct
+gaactctcgacctattcatttgttgataacgttgcgtttcgtttaatgaaaaacaacacg
+ccgggcaactataccttcatcctgaaggggacgaaggaagtgccacgccgtctgttgcag
+gaaaaacgcaaaaccatcggtatgcgtgtgccttctaaccctatcgctcaggcgttactt
+gaagcattgggcgaaccgatgctttccacttcgctaatgctgccaggcagcgaatttacc
+gaatcggacccggaagaaattaaagatcgtctggaaaaacaggtagatttgattattcac
+ggcggctatctcgggcagaaaccgacaacggttattgatcttaccgatgatacgccggtc
+gtggtgcgtgaaggcgtaggtgatgtgaagcctttcttataacaaattgcgttccacgga
+tggaagactatggcagggaagtttcgctgcattttgctgttgatagcagggctgtttgta
+tcatctctaagttatgcagaaaacacggagatcccttcttatgaagaagggatctcgctc
+tttgatgttgaagccactctgcaaccagatggggtgctcgacatcaaagaaaatattcat
+tttcaggcgcgaaatcagcagattaagcacggcttttatcgtgatttaccacgactatgg
+atgcagcctgatggggacgctgcactgctgaactatcatattgttggcgtcacccgtgat
+ggtattcctgaaccctggcatcttgactggcatatcgggttaatgagtattgtcgtgggc
+gataaacaacgtttcttgcctcaaggcgactatcattatcaaattcattatcaggttaaa
+aatgctttcctgcgtgagggggattctgatctgctaatctggaacgtgaccggtaaccac
+tggccgtttgaaatttataagacccgtttttctctccagttctctaatattgcgggtaat
+ccatttagcgaaatcgatctttttaccggagaagagggcgacacatatcgtaatggccgc
+atccttgaggacggaagaattgaatcccgcgatccgttttatcgtgaagatttcacggtc
+ctctaccgctggcctcacgctttacttagcaatgcctcggctccgcaaacgacgaatatt
+ttcagccatcttcttttaccctccacgtcatcgttgttaatttggtttccgtgtctgttc
+ctggtttgtggatggttatatctctggaagcgcaggccgcaatttacgccggtagatgtg
+attgaaaccgatgtcattccgccagattacacgcccggcatgttacgtctcgatgcgaag
+ctagtttacgacgataaaggtttttgtgccgatatcgtaaatctgattgtgaaaggaaaa
+attcatctggaagatcagtctgacaagaaccagcaaatcctgattcgtgttaatgaaggc
+gcgaccagaaataatgcggtattactgcccgcagagcagttattactggaagcgttattt
+cgtaaaggcgataaggtcgttcttacggggagacgcaacagagtcttacgcagggcattt
+ttacggatgcagaaattttatctgccgcgtaaaaagtcttcgttttaccggtctgatact
+tttttgcaatggggtggactggcaatattggcggtcattctttacggtaacttgagtcct
+gtaggctgggcaggaatgagtctggtgggcgatatgtttattatgatctgctggattatt
+ccttttttattttgttcccttgagcttttgtttgcccgcgatgatgacaagccttgcgtt
+aatcgtgtaatcatcactttgtttttaccactgatttgttcaggcgtggccttctattct
+ctctacatcaatgtcggagatgtattcttttactggtatatgccagcgggttattttacc
+gctgtttgcctgaccggttatctcactggcatggggtatatttttctgccaaagtttacc
+caaactggacagcaacgttatgcccacggtgaagctatcgttaactatcttgcgcgtaaa
+gaggcagcaacacacagtggacgtcggcggaaaggggaaacacggaaactggattacgcg
+ttgctaggttgggctatatcggcaaatttggggagggaatgggcgttacgcattgcccct
+tcgctttcttcggcgattcgcgctccagagattgcccgtaacggcgttttattctcatta
+cagacgcacctaagttgcggggccaataccagtttgttggggcgaagttattccggtggt
+ggtgctggcggcggcgcgggtggcggaggcggtggtggctggtaattaagctgatgttaa
+tcgaaacaagctttaaccataaagatagtgtagtatgttgcgcctcaaagccaggccgat
+aaacgtcgagtcgtttacttaaggcctgaagagttcaaacagactttactatcagtgagt
+cagatgtaagttctgactcactgttgcacaaaagcatatcagacgcctgggaaggcgaca
+ccaaaaggaagctctatgagcgaaaagctacagaaagtgctggcgcgtgccggccacggt
+tctcgccgtgaaatcgaatctattattgaagccggtcgtgtgagtgttgatggcaaaatt
+gctaaactcggcgatcgtgttgaagttacccctggattgaaaatccgtatcgatggtcac
+ctgatttcggtacgtgagtccgctgaacaaatttgtcgcgttctggcctattacaaaccg
+gaaggtgagttgtgtacccgtaacgatccggaaggacgtccaacggtgtttgaccgtctg
+ccaaaactgcgtggcgcacgctggattgccgtgggtcgcttggacgttaatacctgtggt
+ctgctgctgttcaccaccgatggtgaactggcaaaccgtttaatgcacccaagccgtgaa
+gttgaacgtgaatatgccgtgcgtgtatttggtcaggttgacgacgcgaaactgcgtgat
+ttgagtcgtggcgtgcagttggaagatggtccggcagcttttaaaaccatcaagttcagc
+ggcggcgaagggatcaaccagtggtacaacgtgactctgaccgaaggccgtaaccgtgaa
+gttcgtcgtctgtgggaagcggttggtgtgcaggtgagccgcctgatccgtgttcgttac
+ggtgatatcccactgccaaaaggtctgccacgcggtggctggacggagctggacctcgcc
+cagactaactatctgcgcgaactggtggagctaccgccagaaaccagctctaaagtcgct
+gtagaaaaagaccgtcgtcgcatgaaggcgaatcagattcgtcgtgcggtgaaacgtcac
+agtcaggtgagcggcggtcgtcgttctggcggacgtaataataacggttaatcaaagtat
+gccggacgtcatatccggcatttttacagattaataatcgatccctatctgcgcttttac
+accggcatcaaacgcatgtttgacggggcgtaattcacttaccgtatctgccagttcaag
+aatatcccgatgacaaccacgacccgtgataatcaccgtctgttgatgtggacgttcatt
+taacgcctgcaccacttcttccagtggcaaatagtcatacgccaccatatacgtcagttc
+atcaagcaaaaccatatccagtgaggaatcagcaagcatccgctttgcatgttgccagac
+ttcgcggcaggcggcggtatcagactcgcggttttgtgtatcccaggtaaagcccgttgc
+catcacctgaaactcaacgccatgtggctccagcagattgcgttcgccattaggccaggt
+gcctttaataaactgcacgacgcctactttttttccgtgaccaactgcgcgtgttgccgt
+accaaatgccgcggtggttttgccttttccattgccggtaaagacgatgataataccgcg
+ttcatcctgggcctgggccacacgagcatctactttttctttcactcgctgctgacgctg
+ttggtagcgttcatcactcattgggaaattcctggtttacggcccggttgggcgtcaaag
+gtcatgccggttttacggcggctgtcatcgcccatcagccagaggtagagcggcatgata
+tcagcgggtgttttaagtttctgtggatcttcggtcgggaaggcgctggcacgcattgcg
+gtgcgcgtaccgcctgggttaatgcagttgacacgcaggcgctgctgatattcatcggcc
+agtacctgcatcatcccttcggtggcaaatttcgacgctgcatatgcaccccagttggct
+cgtccctgacgtccaacgcttgatgaagtaaagaccagtgaaccggcgtccgatttgagt
+aataaaggaagcagtgcctgggtgagcataaaggtggcattaacgttgacctgcatgacg
+tcctgccagacctgcggattttgttcgctcattgggcaaacatcgccgagcaatccggca
+ttatgcaaaacaccatccagacgcggataattaacggcaatgcgctgtgccagttgttgg
+caattttcggacgtgcaggtcagcaaatcgagaataaaccactgtggctgacgcccagtt
+tcttcgtttatgtggctggctacctgacgtaatttttcttcattacggcccaacagaatc
+actgtcgcaccatagcgtgcatacgtcatcgcggcttcacgaccaataccatcgctggct
+cccgtcaccaggataatgcgatcattgagtaaatcttgttttggctggtaatgcatggct
+actcctcaacgacgttgtctgtcgcgctgccagtgtactttatgactttggggctttatg
+cctgaaacagaagggcatttcaatcagcctggggcgataacaccgcaaaatggatacttt
+gtcatactttcgctgcaataacatctctgcgagacggcttaacatgcctgttgtaaactg
+tgagccaaagcgttgtttaaccaaggtggggactcgtggaattgttgtctgaatatggtt
+tgtttttggcgaaaatcgttaccgttgtgctagcgattgcggcgattgccgccattattg
+tcaatgttgctcaacgtaataaacgccagcgtggcgagttacgggtcaacaatctcagcg
+aacagtataaggagatgaaagaagaactggccgcggcgctgatggactcacatcagcaaa
+aacagtggcacaaagcgcagaagaaaaagcataagcaagaagcgaaagcagcaaaagcga
+aagccaaactgggcgaggtggcaactgacagtaaaccccgcgtctgggtgctggatttta
+aaggcagcatggacgcccatgaagtgaactcgctacgtgaagagataacggctgtactcg
+cagcattcaaaccgcaggatcaggttgtgctccgtctggaaagccctggtggcatggtgc
+atggttacgggctggcggcttcgcaactgcagcgtctgcgcgataaaaacattcctttaa
+ctgttacggtagacaaagtcgctgccagcggcggttacatgatggcctgtgtggcggaca
+aaattgtttccgcaccgtttgctattgtgggttccattggcgtggtggcgcaaatgccca
+actttaaccgcttcctgaaaagcaaagatattgatatcgaactgcacactgccgggcagt
+ataagcgcacgctgacgttgctgggtgaaaataccgaagaagggcgggagaaattccgcg
+aagagttgaacgaaacgcatcagttgtttaaagattttgtgaagcgtatgcgtccttctc
+tggatattgaacaggtggcaacgggtgaacactggtacggacaacaggcggtagagaaag
+gcctggttgatgaaatcaacaccagtgatgaagttattcttagcctgatggaaggccgtg
+aagtggtcaatgtacgctatatgcagcgtaaacgactcattgaccgattcaccggcagcg
+cggcagagagcgccgatcgattgttgctacgctggtggcagcggggtcaaaagccattga
+tgtaaaagacaaacgcgaggctaagacctcgcgttttgctttaatcaaccagatgatatt
+tttctgaaagcacatgggccaggtgtttgaacatattaaacaccgcggtgcttttggctg
+ttggcaatccttgttcatctaaaaagtagtcgccggtaaataccagcacgccattacgct
+gcgtgacgccggtggcttcaatccctgcgagcgtatcctcatgctcacgaatgattttgt
+tggcctctttcaacagcgtttcgcggtcgatgggttgtgtctctttgttcattatttact
+ccttaaacaaggacattagtctacgccaggcatggcttgcagacaaatataccacgctgg
+tggcaagagcgccttactggcaactttggattttgcatgctaataaagttgcgtatcgga
+ttttatcaggtacagtgtgacgctttcgtcaatctggcaatagatttgcttgacattcga
+ccaaaattccgtcgtgctatagcgcctgtaggccaagacctgttaactcagtcacctgaa
+ttttcgtgaacagagtcacgacaaggggttgatatccgcagagagcgagtccatatcggt
+aactcgttgccagtggaaggtttatcaacgtgcgacgcattcctggaagaatcaaattag
+gtaaggtgaatatgggtaaagctcttgtcatcgttgagtccccggcaaaagccaaaacga
+tcaacaagtatctgggtagtgactacgtggtgaaatccagcgtcggtcacatccgcgatt
+tgccgaccagtggctcagctgccaaaaagagtgccgactctacctccaccaagacggcta
+aaaagcctaaaaaggatgaacgtggcgctctcgtcaaccgtatgggggttgacccgtggc
+acaattgggaggcgcactatgaagtgttgcctggtaaagagaaggtcgtctctgaactga
+aacaactggctgaaaaagccgaccacatctatctcgcaaccgaccttgaccgcgaagggg
+aagccattgcatggcacctgcgggaagtgattgggggtgatgatgcgcgctatagccgag
+tggtgtttaacgaaattactaaaaacgcgatccgccaggcatttaacaaaccgggtgagc
+tgaatattgatcgtgttaatgcccagcaggcgcgtcgctttatggaccgcgtggtggggt
+atatggtttcgccgctgctatggaaaaagatcgctcgtggcctgtctgccggtcgtgtgc
+agtcggtggcggttcgcctggtggtcgagcgtgagcgtgaaattaaagcgttcgtgccgg
+aagagttctgggaagtcgatgccagcacgaccacgccatctggtgaagcgttggcgttac
+aggtgactcatcagaacgacaaaccgttccgtccggtcaacaaagaacaaactcaggctg
+cggtaagtctgctggaaaaagcgcgctacagcgtgctggaacgtgaagacaaaccgacaa
+ccagtaaacctggcgctccttttattacctctacgctgcaacaagctgccagcacccgtc
+ttggatttggcgtgaaaaaaaccatgatgatggcgcagcgtttgtatgaagcaggctata
+tcacttacatgcgtaccgactccactaacctgagtcaggacgcggtaaatatggttcgcg
+gttatatcagcgataattttggtaagaaatatctgccggaaagtccgaatcagtacgcca
+gcaaagaaaactcacaggaagcgcacgaagcgattcgtccttctgacgtcaatgtgatgg
+cggaatcgctgaaggatatggaagcagatgcgcagaaactgtaccagttaatctggcgtc
+agttcgttgcctgccagatgaccccagcgaaatatgactccacgacgctgaccgttggtg
+cgggcgatttccgcctgaaagcacgcggtcgtattttgcgttttgatggctggacaaaag
+tgatgcctgcgttgcgtaaaggcgatgaagatcgcatcttaccagcagttaataaaggcg
+atgctctgacgctcgttgaacttacaccagcccagcactttaccaagccgccagcccgtt
+tcagtgaagcatcgctggttaaagagctggaaaaacgcggtatcggtcgtccgtctacct
+atgcgtcgatcatttcgaccattcaggatcgtggctacgtgcgagtagaaaatcgtcgtt
+tctatgcggaaaaaatgggcgaaatcgtcaccgatcgccttgaagaaaatttccgcgagt
+taatgaactacgactttaccgcgcagatggaaaacagcctcgaccaggtggcaaatcacg
+aagcagagtggaaagctgtactggatcacttcttctcggatttcacccagcagttagata
+aagctgaaaaagatccggaagagggtggtatgcgcccgaaccagatggttctgaccagca
+ttgactgcccgacttgtggtcgcaaaatggggattcgcacagcgagcaccggggtattcc
+ttggctgttctggctatgcgctgccgccgaaagagcgttgcaaaaccaccattaacctgg
+tgccggaaaacgaagtgctgaacgtgctggaaggcgaagatgctgaaaccaacgcgctgc
+gcgcaaaacgtcgttgcccgaaatgcggcacggcgatggacagctatctcatcgatccga
+aacgtaagttgcatgtctgtggtaataacccaacctgcgacggttacgagatcgaagagg
+gcgaattccgcattaaaggttatgacggcccgatcgttgagtgtgaaaaatgtggctctg
+aaatgcacctgaaaatggggcgtttcggtaaatacatggcctgcaccaacgaagagtgta
+aaaacacacgtaagattttacgtaacggcgaagtggcaccaccgaaagaagatccggtgc
+cattacctgagctgccgtgcgaaaaatcagatgcttatttcgtgctgcgtgacggtgctg
+ccggtgtgttcctggctgccaacactttcccgaaatcgcgtgaaacgcgtgcgccactgg
+tggaagagctttatcgcttccgcgaccgtctgccggaaaaactgcgttatctggccgatg
+cgccacagcaggatccggaaggtaataagaccatggttcgctttagccgtaaaaccaaac
+agcaatatgtctcttcggaaaaagacggaaaggcgactggctggtcagcattttatgttg
+atggcaaatgggttgaaggaaaaaaataacctttaattctgtcaggtttttataaacaaa
+gggtcgcgaaagcggcccttttttattgcatattattttttcttcacacctatacactaa
+ggctataaatgatatagtggttatagttagcaccttttttattattaaatcgtattagtc
+acccgccaggtgtgacgaaaaaacgatgttctgatggcgtctaagtggatggtttaacat
+gaaattacaacaacttcgctatattgttgaggtggtcaatcataacctgaatgtctcatc
+aacagcggaaggactttacacatcacaacccgggatcagtaaacaagtcagaatgctgga
+agacgagctaggcattcaaattttttcccgaagcggcaagcacctgacgcaggtaacgcc
+agcagggcaagaaataattcgtatcgctcgcgaagtcctgtcgaaagtcgatgccataaa
+atcggttgccggagagcacacctggccggataaaggttcactgtatatcgccaccacgca
+tacccaggcacgctacgcattaccaaacgtcatcaaaggctttattgagcgttatcctcg
+cgtttctttgcatatgcaccagggctcgccgacacaaattgctgatgccgtctctaaagg
+caatgctgatttcgctatcgccacagaagcgctgcatctgtatgaagatttagtgatgtt
+accgtgctaccactggaatcgggctattgtagtcactccggatcacccgctggcaggcaa
+aaaagccattaccattgaagaactggcgcaatatccgttggtgacatataccttcggctt
+taccggacgttcagaactggatactgcctttaatcgcgcagggttaacgccgcgtatcgt
+tttcacggcaacggatgctgacgtcattaaaacttacgtccggttagggctgggggtagg
+ggtcattgccagcatggcggtggatccggtcgccgatcccgaccttgtgcgtgttgatgc
+tcacgatatcttcagccacagtacaaccaaaattggttttcgccgtagtactttcttgcg
+cagttatatgtatgatttcattcagcgttttgcaccgcatttaacgcgtgatgtcgttga
+tgcggctgtcgcattgcgctctaatgaagaaattgaggtcatgtttaaagatataaaact
+gccggaaaaataatttcttgcgttattttcggcaccttttatgtagcgaaggtgccggaa
+tatattctcttttgttacttatttctataccgtgcacaatatttttatccctcatattta
+tagggtaaattacctgtaaagtagtgtctaattacccgcctcgcaaactccagttttcaa
+atatctatttcaggtcaaaagattgaattattcactggagacgattcgtaaattcgctgg
+atttttgactaaagtttctttaggatttgtctcatcgtatgattaattacaccaatcgtt
+caacgtcttgctgataagtgatggcgattatatgaggttagcaatgccttctggaaatca
+ggaaccccgccgcgatcctgaattaaaacgtaaagcctggctggcggtttttcttggttc
+tgcacttttctgggtggttgtcgcactgctgatttggaaagtgtggggataactatggtc
+ggtcaggagcaactggagtcgtcaccattatgccagcatagtgacaatgaaacagaaacg
+aaacgggaatgttccgtcgttattccagacgactggcaactaacatcgcagcagcaagcc
+tttatagaactgtttgctgaagatgatcagccgaaacaataattatcatcattcttatta
+cccatttttaatgaattaaagggcttttaatacaccgcagcaataacagcttgagttatc
+tcaacacaaaataataaccgttaagggtgtagcctatgatcaacacaaatatgaaatatt
+ggtcctggatgggcgcgttttctctgtcgatgctcttctgggccgaactcctctggatca
+ttactcactgatccttgaccccgctgcggcggggttgtcatttgctttgccacaaggttt
+ctcctcttttatcaatttgggttgttatcaaatcgttacgcgatgtttgtgttatcttta
+atattcaccctgaagagaatcagggcttcgcaaccctgtcattaaggaggagctatgtcg
+tcaaccctacgagaagccagtaaggacacgttgcaggccaaagataaaacttaccactac
+tacagcctgccgcttgctgctaaatcactgggcgatatcacccgtctacccaagtcactc
+aaagttttgctcgaaaacctgctgcgctggcaggatggtaactcggttaccgaagaggat
+atccacgcgctggcaggatggctgaaaaatgcccatgctgaccgtgaaattgcctaccgc
+ccggcaagggtgctgatgcaggactttaccggcgtacctgccgttgttgatctggcggca
+atgcgcgaagcggttaaacgcctcggcggcgatactgcaaaggttaacccgctctcaccg
+gtcgacctggtcattgaccactcggtgaccgtcgatcgttttggtgatgatgaggcattt
+gaagaaaacgtacgcctggaaatggagcgcaaccacgaacgttatgtgttcctgaaatgg
+ggaaagcaagcgttcagtcggtttagcgtcgtgccgccaggcacaggcatttgccatcag
+gttaacctcgaatatctcggcaaagcagtgtggagtgaattgcaggacggtgaatggatt
+gcttatccggatacactcgttggtactgactcgcacaccaccatgatcaacggccttggc
+gtgctggggtggggcgttggtgggatcgaagcagaagccgcaatgttaggccagccggtt
+tccatgcttatcccggatgtagtgggcttcaaacttaccggaaaattacgtgaaggtatt
+accgccacagacctggttctcactgttacccaaatgctgcgcaaacatggcgtggtgggg
+aaattcgtcgaattttatggtgatggtctggattcactaccgttggcggatcgcgccacc
+attgccaatatgtcgccagaatatggtgccacctgtggcttcttcccaatcgatgctgta
+accctcgattacatgcgtttaagcgggcgcagcgaagatcaggtcgagttggtcgaaaaa
+tatgccaaagcgcagggcatgtggcgtaacccgggcgatgaaccaatttttaccagtacg
+ttagaactggatatgaatgacgttgaagcgagcctggcagggcctaaacgcccacaggat
+cgcgttgcactgcccgatgtaccaaaagcatttgccgccagtaacgaactggaagtgaat
+gccacgcataaagatcgccagccggtcgattatgttatgaacggacatcagtatcagtta
+cctgatggcgctgtggtcattgctgcgataacctcgtgcaccaacacctctaacccaagt
+gtgctgatggccgcaggcttgctggcgaaaaaagccgtaactctgggcctcaagcggcaa
+ccatgggtcaaagcgtcgctggcaccgggttcgaaagtcgtttctgattatctggcaaaa
+gcgaaactgacaccgtatctcgacgaactggggtttaaccttgtgggatacggttgtacc
+acctgtattggtaactctgggccgctgcccgatcctatcgaaacggcaatcaaaaaaagc
+gatttaaccgtcggtgcggtgctgtccggcaaccgtaactttgaaggccgtatccatccg
+ctggttaaaactaactggctggcctcgccgccgctggtggttgcctatgcgctggcggga
+aatatgaatatcaacctggcttctgagcctatcggccatgatcgcaaaggcgatccggtt
+tatctgaaagatatctggccatcggcacaagaaattgcccgtgcggtagaacaagtctcc
+acagaaatgttccgcaaagagtacgcagaagtttttgaaggcacagcagagtggaaggga
+attaacgtcacacgatccgatacctacggttggcaggaggactcaacctatattcgctta
+tcgcctttctttgatgaaatgcaggcaacaccagcaccagtggaagatattcacggtgcg
+cggatcctcgcaatgctgggggattcagtcaccactgaccatatctctccggcgggcagt
+attaagcccgacagcccagcgggtcgatatctacaaggtcggggtgttgagcgaaaagac
+tttaactcctacggttcgcggcgtggtaaccatgaagtgatgatgcgcggcaccttcgcc
+aatattcgcatccgtaatgaaatggtgcctggcgttgaaggggggatgacgcggcattta
+cctgacagcgacgtagtctctatttatgatgctgcgatgcgctataagcaggagcaaacg
+ccgctggcggtgattgccgggaaagagtatggatcaggctccagtcgtgactgggcggca
+aaaggtccgcgtctgcttggtattcgtgtggtgattgccgaatcgtttgaacgaattcac
+cgttcgaatttaattggcatgggcatcctgccgctggaatttccgcaaggcgtaacgcgt
+aaaacgttagggctaaccggggaagagaagattgatattggcgatctgcaaaacctacaa
+cccggcgcgacggttccggtgacgcttacgcgcgcggatggtagccaggaagtcgtaccc
+tgccgttgtcgtatcgacaccgcgacggagttgacctactaccagaacgacggcattttg
+cattatgtcattcgtaatatgttgaagtaacaactatttgcttgccggttattttgcttc
+cggcaagcaaatgaattacacaatgcaagagggttatttgttcagcaaatggcccatttt
+ctcggctttggtatcgagataatgttcgttattggggttacgacctacaatcaatggtac
+gcgttcaacaatattaatccctgcttcggtcagaatttcgacttttttcgggttattggt
+taacaagcggacttcattgacgccaaggagtttgaacatatcagcgcaaagagtgaagtc
+gcgctcatcagcggcgaagcctaactggtggttagcctctacggtatcgtaaccttgatc
+ctgcagtgcgtaagcgcggattttattcagcagaccaatgttacgaccttcctgacggtg
+atacagcaaaataccacggccttcctcggcaatttgcgtcaatgccgcttcgagctggaa
+gccacaatcgcagcgcaagctgaacagggcgtcaccggtcagacattcggaatggacgcg
+cgcaagtaccggggtatgcccggaaatatcgccatagactagcgcgacatgatcgtgtcc
+ggttgccagttcttcaaatcccaccatcaggaaatcgccccatggggttggcagtttggc
+ttctgccacacgtttaagctgcatgaaattctccagataatgctggttctgtattggctt
+attttgccataacgagaaggggttcacctaatcacgacgcgtcgatcgttcacggaatgg
+cacaaatctgtcaatttttcctggaactggcgttttcagttatgattgtgggacttatca
+aaaaggagaggccatgcgttcgattgccagacgtaccgcagtgggagctgcactattgct
+tgtcatgccagtagccgtatggatttctggctggcgttggcaacctggagaacaaagttg
+gctactaaaagcggctttttgggttactgaaactgtcacccagccctggggcgtcattac
+acatttgattttattcggctggtttctctggtgtctgcgttttcgcattaaggctgcctt
+tgtattatttgccattctggcggccgcaatccttgtgggacaaggcgttaaatcctggat
+caaagacaaagtccaggaaccacgaccttttgttatctggctggaaaaaacacatcatat
+tccggttgatgagttctacactttaaagcgagcagaacgcggaaatctagtgaaagaaca
+gttggctgaagagaaaaatatcccacaatatttgcgttcacactggcagaaagagacggg
+gtttgcctttccttccggtcacacgatgtttgctgccagttgggcactgctggccgttgg
+tttgctgtggccgcgtcggcgaacgttaaccattgctatcttgctggtctgggcaacggg
+agtcatgggaagccgcctgctgctcgggatgcattggccacgcgatctggtagtagctac
+gttgatttcgtgggcgctggtggcggtggcaacgtggcttgcgcaacgaatttgtgggcc
+attaacaccacctgcggaagaaaatcgcgaaatagcgcaacgagaacaagaaagttaacg
+ctggttgattttccgaatttagcccttaaatcatcaacaatgcgtgtggatgccatttcg
+cagacggcgcgaaaatggtactttaaagggctattgcggtaagttgaccataatttattc
+gctctaaccacataacgggaagtaatgtgaaatatttactcattttcttactggtgttag
+cgatcttcgtgatttcggtcacgttgggtgcgcagaacgatcaacaggtgacgtttaatt
+atctgttagcgcaaggggagtaccgtatttccacattgctggcggtattgtttgctgcgg
+ggtttgctatcggttggttgatttgtggcctgttctggctgcgagttcgtgtttccctgg
+cgcgcgctgaacgtaaaataaagcgactggaaaaccagctttcacccgcgactgacgtgg
+ctgtagtgccgcactcgtcagcggcgaaggaataactttctatgctggagttgttgtttc
+tgcttttgcctgtagccgctgcctatggctggtatatgggccgcagaagtgcgcaacaaa
+acaagcaagatgaagccaaccgcttgtcgcgtgattacgtagcgggggttaacttcctgc
+ttagtaatcaacaggataaagcggtagacctgtttctcgatatgcttaaagaggatacag
+gcaccgttgaagcccaccttacgctcggaaacctgttccgttcgcgtggcgaagttgatc
+gcgctattcgcatccatcagaccctaatggaaagcgcctcgctgacctatgaacagcgtc
+tgttggcgattcaacaactggggcgtgattacatggccgccgggttatatgaccgcgcgg
+aagacatgttcaatcagctgaccgatgaaactgacttccgcattggcgcgctgcaacagt
+tgctacaaatctaccaggctaccagtgagtggcagaaagcaattgatgttgccgaacgcc
+tggtgaagctgggtaaagataaacagcgcgtcgaaattgcccatttctactgtgagttag
+ccctgcagcatatggccagcgacgatctcgatcgtgccatgaccttgctaaaaaaagggg
+cggcggcagataaaaacagcgcccgcgtatccataatgatgggacgcgtgtttatggcga
+aaggagaatacgccaaagccgtcgaaagtctgcaacgcgtgatatcccaggacagagaac
+tggtcagcgaaacgctggaaatgttgcaaacctgctatcagcagttgggtaaaactgccg
+aatgggcagaattcctgcagcgtgcggtggaagagaacaccggtgccgatgctgaattga
+tgcttgctgatatcatcgaagcgcgcgacggtagtgaggccgcacaggtctatattacgc
+gccagcttcagcgtcatccgaccatgcgtgtgttccataagttaatggattaccacttaa
+atgaagcggaagaagggcgtgccaaagagagcctgatggtgctgcgtgacatggttggcg
+agaaggtacgtagtaagcctcgttatcgttgccagaaatgtggttttaccgcatacaccc
+tctactggcattgtccgtcttgtcgggcctggtcaaccattaaaccgattcgcggtcttg
+atggcctgtaatttttaaaaaaaatccgactttagttacaacatactaattattaatgtt
+ccattgtgctccggcaacgacggcgcagaaaaagcctgccaggggagaaatcgcaactgt
+taattttttatttccacgggtagaatgctcgccgtttacctgtttcgcgccacttccggt
+gcccatcatcaagaaggtctggtcatgacgttaactgcttcatcttcttcccgcgctgtt
+acgaattctcctgtggttgttgcccttgattatcataatcgtgatgacgcgctggccttt
+gtcgacaagatcgacccacgcgattgtcgtctgaaggtcggcaaagagatgtttacattg
+tttgggccacagtttgtgcgcgaacttcaacagcgtggttttgatatctttcttgacctg
+aaattccacgatatccccaacactgcagcgcacgctgtcgctgctgcagctgacttaggc
+gtgtggatggtgaatgttcatgcctctggtggggcgcgtatgatgaccgcagcgcgtgag
+gcactggttccgtttggcaaagatgcaccgcttttgattgctgtgacagtgttgaccagc
+atggaagccagcgacctggtcgatcttggcatgacactgtcacctgcagattatgcagaa
+cgtctggcggcactgacgcaaaaatgtggccttgatggtgtggtgtgttctgctcaggaa
+gctgtgcgctttaaacaggtattcggtcaggagttcaaactggttacgccgggcattcgt
+ccgcaggggagtgaagctggtgaccagcgccgcattatgacgccagaacaggcgttgtcg
+gctggtgttgattatatggtgattggtcgcccggtaacgcaatcggtagatccagcgcag
+acgctgaaagcgatcaacgcctctttacagcggagtgcatgatgagtgattccaacagcc
+gtctggtctactcaacggaaaccggacgtattgatgagcccaaagcggcccctgtacgcc
+ctaaaggcgacggtgtggtgcgtattcagcgtcagaccagtggacgtaaaggtaagggcg
+tttgcctgattaccggtgtcgatctcgatgatgccgaactgacaaaacttgcagcggaac
+tgaagaaaaaatgcggctgcggcggagcagttaaagatggagttattgaaatccagggcg
+ataagcgtgatttattaaaatcactacttgaagcgaaagggatgaaggtaaaactcgcag
+gcggttaacataaaaagccacggatatatccgtggctttcgaatattttactgtgcgtat
+tattcagttatttcgtactgaacagaatcaagcgtattataattgcgagtcgataatcga
+catttatttacgattatttaccgacctggtgaccaataacacctccgacagctgcaccac
+ctaatgtacccaacgtactgccatcggtcagtactgcaccgcctaatgcccctgcacccg
+cgccgattgcggtgttgcggtcccgtttagaccagttagaacaggcactcagagacattg
+ccaaagtaattgccagaacagccgcggtcatttttttgctcgttacaaacataatactct
+ctcctgaatttatgattcacggaagtaagctctctataactataatagctaagaataagt
+ctggtgaaattattccgtgaaatctgctcgcgcgcagggttatatcacgcaggtgataat
+gacttcctgttatatcgctgataataattttatatcttgagagtgttaataacaggtaaa
+tagtcttaattatcaaccaggaatcatcttagagcggatgatttgccaaactgcaaatca
+tccgtagagaagggaaatggttaaatgtcaacgacgtgaatggtgagtttactgtgctca
+agatgcatcagatcgctggcgcgtattttcgaatcggtaatcacgcgattgaatcgctca
+acgggaccgatggagtatgaatgtacagcaccaaatttcgagctgtcagtcaggactatc
+gcttcgcactctttttccagcacggcattgaccacatcggtacgcatcatatcgcgaccg
+gtaaatccagtttcaggttgccagccatcaataccaataaatgctttgctgaaatgcacc
+tgttggatgcactggcgtgtcaaagggccaaccatactttcgctttttttctgatacacg
+ccaccgagcaaaataacttcacaaggcgcgtctttcagcaaatgcgcgatgtagctgctg
+accgtgatgatagtgacatttttcttctgctcgcccagagtccgggcgagtagggcattg
+ctgctgccattttcgataaagatggtttcgcccggttgaaccagcgacgcggcaaactcg
+gcgagttcacgcttcagcgtatagttgctcatcatacgggtttcgacgtcatcactatca
+agcgaaacagcaaagccatgtgcacggcggaggtaactcagtttttcgagtgtgttgaga
+tcctggcgaatggtaacttcagaaactccagtggcttttgccagatcggttacgctaacc
+tgaccctggtcaatgaccatctgtagaatagtttgttgtcgggaattcatcgctgtaatt
+cttataacgttataatacttaataaaaaaatactgacgcgccgggcatcctcaaatagga
+aaacctgaaggcacgattgttaaatctcccacggtgccttcgggatgtctggcgtagatt
+cagcaacctggcgcaagagttctgctttaagtatctcgagattatggatcgcagagtggt
+aatcgcctgccacaaggatatctaacacaatatcaatacgttcggcaacgcgctgggcat
+caaattcagacatcaaggacatccttatagcaaaagggggaaaatgaataatgcaaaaat
+tgccgctaaaagagaagtgtttaacagcaacggctaattatcatccaggaatacgatata
+taatgacgggatatagcgctaagtatatatattcatctacttatgcgcgcttcagatagc
+gtttataccagcgttcgaaggcgacggcgggcatcggtttggcaaacaaaaatccttgcc
+gctcattgatcccgttcttggttaaaaaagcatcttcctttgcactctctacaccttcgg
+cgatcacctgaagattcaatgcctgggccacagcgacgatcgcccggaccagtgactgcg
+agacaggttgtttgtgaatatctcgaacaaaaacctggtcaagtttgatggcatcgatcg
+gaaagcgcgccagttgcgaaagtgaagagtagccggtaccaaaatcatccagatgcactt
+gcgcacctagttggctaaattgttgaataacagacagtgccagttcatcattctcaatca
+gacaactctctgtcagttcaacatctatagggcagtattcaaaattgagttcctggagaa
+cctgtttcagggcggtgaaaatggtttgatcggcgagctgacgtgcagaaatatttaccg
+ccactcgcaggtttatgcctttatcccgccactttgccacctggcgtacgacatcgagaa
+tcacccaacggcctaaaggcacaattagccctgactcttcggcgtaggaaatgaagtcca
+acggtggaatcaacccacgttcaggtgactgccaacgtactagtgcttccagactgcgca
+cttcgccacgccaggtgattttcggttgatagtgaataaccaactgatcgttttccagtg
+ctttacgcaagttggtatccagccagagatattcaaatacccgttgattcatttctgggg
+taaaaacgcaaaattgtcctcgtccgccttccttcgctgtgtacattgctgtgtcggcgt
+gacgaataatagccgtgctgtctgaaccatgttcgggagagagtgcaatacctactgaac
+agctggtataaacttcaattaaaccaatgcgaaaggggagccgtaagcgggtcaaaattc
+gtgatgccattgcttccagcgcgctttgtgaggtgttggatgccagtaccagaaactcat
+ccccacctggacgcgccaacacctggtcatgttcgagacagcttaaaatagccaatgaca
+cgtcgcgtaataactggtcaccaaacaaatgcccataggcgtcgttgacctttttgaaat
+tatccaaatcaagatacacaaccccaactttattgttatctgcatgattaatagcgtgat
+cgattaaatcctgcattgcgttacgattcggcagtccggtgatactgtcggtatttgcca
+gaatacgcagtcgctcctgagcgcggcgctcttcggtaatgtcggtgccggaacagatta
+aaaaaatctcgtttttgccactgccgctgtggacaaatttattgcgaaacagaaacagcc
+gctggcctttacatgttggtatccacagttcgacttcatatgcattgccgcttcgaaaaa
+atacacggttattgcgcctggatgccgcagcttcacgacggctcataaacagtttaaaca
+cgctttgcccaatgacgtcgtgttctttcaaccctgtgtaatcttcacataaccgattga
+agcgttggatattcccccggctgtcgagaatcactattgcggaatgtgcttcagaaacta
+cctgctcagcaaaggaaagcccgtgtgataaatcacgagcaaccgccggtgtgtcatgcc
+atgcagacgcgttgccagcccattcccgtttattgatttttcgtcctaccagatgcacag
+aaagatcgctttcatcgacggtcagactcatcatcaggctggaggtgatgaccgtcattt
+ccctgatgcgagcagcctgttcggcagataactgcaatgtacgatcaggttctgtggttt
+cggtggtagaaaagcgcaaaacatcgctgctttccgtcaaccgccagtatggattgtgcg
+atccgagaaagttgtacaacgttgtggactccctaacggttttcatgatgcatatcctcc
+ggttaacagcggagtccgcggttaaataaaaggaacaacatgacttacatgaaattaacg
+gcggctaaacgcattgttttttttatatatttatttgtaatccagttttggaaaaacgcc
+agttttcaaacgaaagtcagttaaaaaatctgcctggatataacgaaggtagagcgggga
+aataaacggcccatccatgaggaatgggccgtgaaaggagattacgcgaccgggcgcgca
+ataatgctgcgggtttccatgcggacttcggcaatagtgacgtcaataacgtcagtcact
+ttgtaaaccgtttcacctttaatttgtacagtgccgttttcctggctgcaaaccagttca
+tcgcgcacagcgtgtaagaaaggtgccggaataaaggcgatagcgccgttatcaaccaaa
+cgaacacgcatgccgccacggctgatatcgacaatttccgctgcgaaacgggtgtcggtc
+ccggctttgtctttcaggaagcgtgcgtataaccagtcaccaacatcacgttctgccatc
+cggttgagacggcgacgctcggccatttggacagtgatttcatcctgtgggcgcgtcgca
+gtttcgcctttgataaccgctttcagcagacggtggttgatcatgtcgccatatttacgg
+atcggcgaagtccaggtggcgtatgcttccagaccgaggccaaagtgaggaccgggttca
+gtgctaatttcagcaaatgactggaagcgacgaatgcggctgtcgaggaaaccagttggt
+tgcgcgtccagttcacgacgcagtttgcagaaaccgtccagcgtgagcacttcttcggca
+tcgacatgcagaccgtgcgttttcagcaacgctgccagcgcgtcggcattcgccggatca
+aagcccatatgcacgttatagatgccaaaaccgagcttatcgcgcagtacgcgggccgca
+caaatgttagcggcaatcatcgcttcttcgacgatacggttggcaatgcgacgaggctcg
+gcgacgatatccagcacttcacctttttcaccgagaataaagcggtaatccgggcgatct
+ttaaacaccagtgcgtggttatgacgccactcgccgcggcgttggcaaatttgcgctagc
+aaacggacttgttcggcaattgcttcactttcaggctgccagtcaccggtattttccagc
+cagtcagaaacctggtcatacaccagctttgctttggattcgatggtggcggcaaagaat
+tcgatattatcttcaatggtgccatcagcggagagcgtcatgcggcatgccagtaccggg
+cggacttcattggcgcgcagtgagcagagatcgtcagaaagctcgcgaggcagcataggg
+atgttgaagccaggcagatagttggtgaatgcgcgaattttcgcggctttgtccagcttg
+ctgccttcagcaatccacgcggttggatcggcaatcgccacaatcagctgaagtttgtca
+tccggcaacgccttagcgaaaagggcgtcatccatatcttctgtgctggcactgtcgatg
+gtgacaaaatccagcgcggtcagatcttcacgaaccagaccttcatcgagcatttcggta
+gcgacgccgtctggtgcttctttttccagattatggcgtgcaagggtaacccaccacggt
+acaaagtgatcgtcaccaaaagtgatgtattgtgtcagttctgcatagaaagaacgatcg
+cctttcagcggatgacggcgcatttcggcaaccgcccagtcgccttctttaaactcgtgg
+ttcaggccacgggctgcgcggcaaggaatggcgtcttttaagagtggatgatcaggaacg
+atggccagacggtcatttttgccctgaaccttacccacgaaacgagtcaggaacggttca
+accagttcttctggctctgcggattcacgttctttttcactgtggatcaccgcgataatt
+cggtcgccatgcatgacttttttcatctgcggcggcggaatgaaataacttttttgcgcg
+tcgacttccaggaagccaaagcctttttctgtggcttttaccaccccttcagcgcgtggc
+gtctgggaatgcagttgctgtttaagctgcgctagcagcgggttgtcctgaaacataatt
+gtctattttggtggccattagagcggctgacagttttacgcgaatctgtctgacgcggca
+aggttaatatgtctcacccaacgcgatttttaagcgatttatccagccacacagcccgct
+ccataccagcagattaataatctgcgttgatgatttttcgtgttcgagtaaagggctgaa
+ctgggcggcgctaaagcgatcgggtgctcgggtcagccattgtatcgcctgaacggtagc
+gcgctcaacagaatgacggtcagcccattggttaatttcattttcgcccttgcgcataag
+ggtgctgatttttttatattcatttgatgaatccatacaggtggcaaaacaagcaggact
+gccatttatacgcgcgcataacaacgccgcaagctgattatccggctgtgtattgccccg
+tgtgctgtttaacaacttttcgagaagggaaagtgaaatagggtggagagagagtatttc
+ggccagttggcaaagttctgcagttgaactttttgtgtgctcttcaggtagtttttccac
+ctcatagctgcttcgccagcgtaatgattcatcagcaaacagtgacgcgtcggcgtagtt
+ttgtatctccagcccgggtaaccagcgtaccggatgcccgagataagcctgaaatgtcgc
+aattgtccgcgcctgaaagccaataaaaccaatgatttggctaatgatcacacagtccca
+ggcagtaagaccgacgtcattcagatgctggcgcgatcggttgtcgataatagaaggcga
+gctagccagttggcgggcatattgcgtgatttgtgccaaccgatgattactttccctggt
+ggaatcaggcccggggagcggcgtaagtcgcgccgaatagtagttacataaccgctggac
+gccgcaaacctgagcaaccgtcagggccgtcgacaagcgttcataagcggtgaaggtctg
+tgaacgggtcacggtaagctggtcagggaacaaatccactgcaagaacacgcgcagggtc
+cagccatgaaaggaagggggccagcgtttctttttcaaggatcacgtcgagtagaaaggg
+atcgctgacctttgcggcttccgggaccagaggcagaacgtcatactccgtagtactgga
+ttgcgtttcatgataccagtggcttttgccggtgatgtggcgttgttccatgggcgctcc
+ttggtcgtaaaggaaatcgttatcctgacgcaaggcgggaaggggagaaagacggatcgg
+cgataacaaatatcagaaaggtataacagagataacgggcggcagaacgccgcccatctt
+taccaacagaacgattatttcagttcgagttcgttcattgcagcaatgctgaaaccgccg
+tcaacgtggaccacttcaccggagataccggcagagagatcggagcacaggaatgccgca
+gagttacccacatcttcaatagtaacggtacggcgaatcggggtaacggcttcgcaatga
+gccagcattttgcggaagtctttgataccggaggccgccagagtacggatcggaccagca
+gagatggcgttaacacgcacaccttccggacccatcgcgttcgccatatagcgcacgttc
+gcttccagagacgcttttgccagacccataacgttgtagttcgggatagcgcgctcagcg
+ccaaggtaggaaagggtcagcagggcagaacccggattcagcatggagcggcaagctttt
+gccattgcaacgaagctgtaggagctgatgtcgtgggcaattttgaagccttcacgggta
+acggcgttaacatagtcaccatccagctgatcgccaggtgcaaaaccaatagagtgtacg
+aaaccgtcaaatttcggccaaactttccccagttcagcgaacatggtgtcgatgctggca
+tcttctgcaacatcgcactgcagaacgatgtcagaacccaattgagcggcaaattcttct
+acgcggcctttcagtttgtcgttctggtaggtgaatgccagttcagctccttcgcggtgc
+atcgcctgagcgataccgtaggcgatggatagtttgctggcaacaccggttaccagaatg
+cgcttaccggaaagaaaacccatagctttaatccttattgttgatgcttgttgtgcctga
+aaatcaggcgattcgtcgttttagtaaacagtacgaacagataaacggttattataatca
+acctggctgtgagtagctatagttgccaggtccgaccggagcaggctgcggcaggggggg
+cgcttttcccctcaccctaaccctctccccagaggggcgaggggaccgtattgtgcaaat
+attgttaccccagcaacaaacaggctcatacagcccctaaccctttcatggcgatggctg
+ggacggttcagaccttgccgaatattctccagcaccgtctccatgttttcaccacaacag
+ctattcggctcggtctgccccctcgctctttcagggagagggtgaccggcggttcagttc
+ctgcagaatattctccagcaccgtctcctcattacaatcaatctcgttattccagaaacg
+cagcacggtccagccctgcgactcaagccagctagtgcgcctggaatcataggcaactgc
+taaatcatgctgcccaccatccagctcaacgactacacgcgccgagcagcaagcaaaatc
+gagaatgtagctccccactggatgttgacggcgaaatttgaaatcactaaaacgtcggct
+gcgaagatatcgccagagctttcgttcctgcaaagtgagattgcgtcttaaatcacgcgc
+atttgatttaattttatctatcacctcattctgacaagatttaatcttttgtcagaatga
+ggtgaataatctggaaggaggattcagaaaattagcgatctttacgccacgcatccgccg
+tcaatgcctcgccaaaatgaccggcaatcagccgtttggtgagttcatgcagcggcgatg
+ccagcacatccgcggtgctgcctcgctcgacaacctcgccctgatgcatcaccagcacct
+ggtcgctaatgtgcttcatcattccgatatgctgggtaacataaatatacgaaatgccct
+gtttttcctgtaattccagcatcagattaatcaactgcgaacgcatcgacatatccagtg
+aagcgagggcttcatcggcaataatgacttttgggcgcaatatcagcgcgcgcgccagac
+ccagacgctgtttttgtccgggtgccaacatatgcggatagtaactgacgtgatccggta
+gcagcccaaccatacgcatcgtttcaataatctgtttgcgacgctgttccggttccaggt
+cggtgttcaggcgcagtggaaaatccagaatttgcgagatacgttgacggggattcaacg
+aggtcgaaggatcctgaaaaatcatgcgaatacgctgactgcggaaggaataatcgccaa
+aatgcagtggatgatcgtcaatcaataactcgccgctggtaggctctatcattcccgcca
+gcatttttgccagcgtggatttacccgaaccattctcgccaataatcgccagtgtctggc
+cttcacgtagcgtaaagctcaagggttttaccgcttctacggtctgacgacgaaaccagc
+cggtccggtagcggaacgttttacttaaattacgcacttcaagcagcgtttcgatcatct
+cactctttctccatgttcagcgggaaatgacaggcatagagatgatttttcgcccccgtc
+aaacgtggcgtcacaatgcattctcgttgtgcatacgggcaacgtggccccagacgacaa
+ccaatcggtaactgttccagcagtgggatagcgccgggcagcgtattgaggcgactttta
+tgcggcatcgcgctgccgaagtctggtatcgcgcggatcagcgcctgggtataaggatga
+tgtggcatcgtcaccaactccttactcggcgcggtttccactgtttgaccgcagtaaagc
+acgttaattttatccgcccattggctaagcatttgtaagtcatggctgataagcaaaata
+gtggtattgctgttttggttgagacgcgtcagcaggcgaaagatttgcgcctgggttgtt
+ggctccattgagttggtcggttcgtcagcaatcagcagacgcggttgattcgccagtgca
+atggctatcatcactttctgacattcaccttcggtcaactcatagggaaaactgcgcatc
+gcatctttgtgatctttaatccccacgcggtgcagcagttcaatggcacggcgtttgcgc
+cagccaaaacgctgccaccaacggcctttataggtccaggctgggatgttttgcatcaac
+tggcggcccacacgttctgaagggtcaagacacgactgcggttcctggaaaatcatcgac
+acgttatggccaaccagtttgcgccgttcgcgtgcggagagacgcagcaaatcgatatca
+tcaaaacgcatacggtcagcagtaacacgccagttatctttattcaccccacaaatcgct
+ttcgcaatcaaactcttgccggaaccggattcaccaacaagaccgcggatttcaccttcg
+gttaaggtcatacttacccggtcgacggctttaacccactcatcaccggttttaaattca
+atggtcaggttacgaatatcgagtaatggcattattccacccccgcaataatcgcacgac
+gaacgccatcgccaaggaggttaaccaacaacacgctaatcataattgccgcacctggca
+gcatgacagtccacggggcgacataaatcagttccagcgcatcaccgagcatcgctcccc
+attcaggcgaggggagttgtgcgccgagatcgagaaagcccagcgcggcgatatcgagaa
+ttgccatcgacagtgcgcgggtgatctcggtgaccagcccggcggtgatgtttggcatca
+cagcaaaccagagaatattcagcgttgatgcgccatccagacgggcggcgataacgtact
+ctttttccagttcgtcatgcaccatgctgtaaatcgaacgtaccatacgcggcagcaatg
+ccagccagacagcaaacatagcgtgggacaaactcggtccggcaaacgctacaacgataa
+ttgccaacagcagcgaagggatcgccagtaaggtatccagaatatggttaagcaccgctg
+agcggaggccgtgtgtcgccccggcgaaggtgcccagtaccaggccacagatcgtcgcgg
+caagcgtcaccacaaatgcgccacccacggttggcgcagctccgctcagtaaacggctta
+aaacatcgcgtccgaggtcgtcagtccccaggaagaaagaaacttcgccatagcgcgacc
+atgacggcggcaataattgataaccgagaaattgctggtcgatgccgtaaggcgcaaacc
+agccgccaaaaatacacagtacagccagccccgcgcagccgtacaggccgaccatcgcag
+aggcgtcactataaaatttgcgccaggcggtacgcagcgtgcccggcgggcgcttttcgc
+tgtatacgctatcgtaaggcataccattccttatgtttcagagggttagccatggcaccc
+aaaatatcagaaatcacgttaacaataatgaccagtgagccacacaccatcactccggcg
+gaaatggctgcgtaatcctgctggcggatggcgttaattaaccagcgccctaaacccggc
+cagctaaaaaccatttcggtgatcatcgccagcgtcagcatggtggaaaactgtaagccc
+aggcgaggaataaccggcggtaacgcgttatgcagaacgtggcgacgcaaaatagtaaag
+cgcgacaaaccgcgggtcgccgccgcttttacatagttctggtcatacacttcgatagtg
+ctgatacgcatcaggcggatcacttcagttgttggcgcaaccgacagggtgatcacgggc
+aatatcatatggcggattgcgctcatgatcatttcatcccgccatggtgagtccgaaagc
+caggcatcaatcaacgcaaaaccggtaatcggtttcacttcgtagagcagatcgaaacgc
+cctgaaacgggcaaccaacctagcgtgagtgaacaaaacagcgtcaacagaagcgccagc
+cagaacaccgggattgaaaagcccagtaaggcgatggcgttgatcaagttatcctgccac
+ttatggcgcgtaatcccggcaatcatccccacggggatgccaacaatcagcgcaaaaccg
+aaggcgaggatgcacagttccatcgtcgccgggaagacctcttttaactgttcggcaatc
+ggttgaccgttaatgctggaaacaccaaaatcccagtggatcaggccgttaaaccagaac
+acccaggcattccacagtgacgcgccttgtaacggcgcatgaggggtgaaatagctcaag
+ctgaagccaacgaaggtcagcaggaacaaggtgacaatcaataacaaaatgcggcgtaag
+gtgaagataatcatggttttttcacctcatcctgtttctcgcgatacaccccagcaaagg
+aggcgttaccaaacgggctaagtaccagacctttgatatcgtaccgataggcctgcaaac
+gcaatgacgacgccagcggcaaaatgggcaattcctgcgccagaatactctgcgcttcgt
+cataggcttcaatacgcgccgccagctgctgcgaagagagcgccttacgcaatacgctgt
+cgaatttcggatcgcaccagtgggcgaggttggtctgcgaatgaattgccgcgcagctca
+gtaacggacggaagaaactgtccgggtcgttactgtccgtcgcccaaccggataacgtca
+gatcatggctcatatccatcaaccgcgcctcctgaaagcgaccttctaccggcacaatca
+ccacttttacgccaacctgcgccatatccgcctgaatcagttcggcagttttcagtggac
+tggggttccacgcctgcgaacgtgtgggcacccacagtttcagcgttaaattttccagcc
+ccaacgacttcaactgttcgcgcgatttcgccggattgtattcagtaattttagcctcgt
+tgtcataggcccacgaggcgcgcggtaaaatagaggccgccgtttcagccgtaccataat
+agatggattgcatcaggcgctggttattaatcgccagtgccagcgcatggcggacagcgg
+gattatttagcggcggtttggcggtgttaaatgccagataggcgacgttcatcccaggac
+gcagcgttaaacgcaagcgcgggtcgtcacgcaaaatggatagctggctggcagcaggcc
+aggccagaacgtcgcattccccggtcaggagtttcgacagacgtccggtgccgccggagc
+ctaaatccaccactacctgcggcattaacggtttaccgcgccagaagtcatcatgacgtt
+gtaggcgaataaattgcccggcgcggtattccgacaactgatacggaccggtgccgaccg
+gttgacggtcgagttgctcctggcgatcttctttctctaacttccgggcatattctgccg
+acatgaccgaagcataatgggttgcgaggtgccacaaaaaagaagcatccggctgggcga
+gtcggaactcaacggtatgattatccagtttgcggacgcttttcacgttatcggcaaatt
+gcaggctgtcgaagtaggggaagttgctgccgttgacgttatgccacgggttgttgcggt
+caaaaattcgctggaaggtaaacaccacatcgtcggcattcattttacgagtgggagtaa
+accagtcggttttttgaaacggaacatcgcgacgcaggtggaagcgataggtcgcgccgt
+tgtcgagtacttcccagctttcggcaagttccggcatcaggcgataggtatagggatcga
+catccagcagtcgatcataaaactgggcggcaagggtatcgacaattaacccactgctcg
+ctttggatgggttaaaggtgttgacttgcccgctgacgcaatagacaaaaccgctgtcgc
+ggatatcagcatgcgggggagattcaggcgcggcgattgcctgaccactcacaagtccag
+caatcaccaaaagagacgataatacctggcgcataatattaagggattttatgtaaagag
+gctatcttactaatatttaatgacatttgccattaccgtttgtgttcaggggtcgtaatg
+agggccgtgtggttggtcgttgaacaggtgacgtcgccatctgttcaacattcgtacccg
+tgatttctctataactataactcacagaacaacttagcgaggagcagagcggtacgatcg
+tgagaaacccattaaagcacgctgcagtgcgtgtcattgttagccagatgcggcgtgaac
+gctttatccggacaacgatactgaccgatcgtctgcaattaaatcattactcattacccc
+attgattcaaaaactctgcgatctcatcaatgcgtacgggattaatccccgcttcagcag
+ccatttcatgttgggcttcttcgctgatctcttcattgttcatcaaacgggtgagcagta
+actggaagtagtgggccagcggtgtgcgttcagcctctgcgacaggctctgcgcattcgg
+tcgcgtactcatcggcaatatcaaaatattttagcgggatatcgtggttcattatttgcc
+cctggggttaatgcgctaagcataagggcggatgatagcactcgtgatccgggtcataca
+tctttttatagttaatggcgcggcgcgttaccctcaggcaggataatgcgccgcgcatcc
+gactattacgtttcactcaccggcgttctgtcaccatcatacaacggcactttgcgatag
+cggcggatcagataccataaatatgcgccgcctaacgaagcccataccagaccgagtgtc
+agtgacgttgactcgaggttaacccacagcacacccaccgtcagcgcgccaaccagcggc
+atcagcaaatagtggaagtgatccttccagcttttattcattcctttacgccgccagaaa
+tgattaaacaccgacagattcacgaaggtaaacgccaccagagcaccgaagttaattaac
+gctgtggcggtaactaaatcgaagaacagcgccgacaacgcgacaatcccgaccataatg
+acgttgagtgccggagtccgccattttgggtgcacatagccaaacacgcgctccggaaac
+acattgtcacgccccatcacatacagcagacgcgacacgctggcatgtgaagccaggcca
+gaggctaacgtgttcacaaacgtggtgcagaggaaaatcgactggaagagcttgccgccg
+acgtacagcgcaatttcaggcagtgcggcatccggatctttaaagcggctgatatcggga
+aagaacagctgcataaagaacgacgccgcgataaagataacgccaccgtagaccgccgtc
+aggaagatggctttcgggatcacgcgtgcggcgtccggcgtctcttccgaaagcgtggtc
+accgcatcgaaaccgaggaaggagaaacagacaatcgtcgccccggtaataatcgggatc
+aggtgcgcgttctcgctgataaacggctgaagtgaccagacggtgccaacgccttctcct
+ttatgcagtccctgaactaccaggaagataaacaccaccatgatggagatttgcaccagt
+acaaacagggtattgaagttagcgaccaggttgacgctcttcagattcgcggcggttaaa
+atggcgacgaaggttaccacccacacccacggcggcacttccgggaagagggcggagaga
+tagattttcgccaacaagacgttaatcatcggcaaaaagagataatccagcagcgatgac
+cagccgaccataaatccgacgtgcgggttaatcgacttttgcgcgtaggtataggccgaa
+ccggcctccggaaactggcgaaccagtttgccgtagctgatagcggtaaacagcacaccc
+gccagcgccagcaaataggacgccggaacgtgaccgtcgctaatgccggagacaatacca
+aaagtatcaaatacggtcatcggcgtgagataggccagacccatcatcaccacctgccac
+aatttcagtgattttcgcagacgggttttgccgggttgcgcagcaatattcagtggtgaa
+ttaatagccataattgctgcctcccctgcgtaataaggtttgcggtcgtgtcgacctgaa
+atcaaacctgtttagcaagggaagcaaagggggcggagtccagtcagtagcaggaggggc
+gcatacgcagcctccctcgccatgcggggatttaatcatcggcatcatctcatttcctcg
+tcacagtcttaatcgttaacggaagcccgttgccgcccgcgctccataacgcgacatccg
+ggaaatgtctggattaccagcaaatgtcaggcctggctccgctcaggccgatgaaacaac
+cccgcaaggggtattacgcgtttttcaacatccactcaatttctgtttctgtgatgaggc
+gctcaaactgcaacagctcatcatttttacaggcgtgatagacatggcagaagcgttcgc
+ctaaatagcggcgcaggtgatcattctcgataaactcacccagggcatcgctctggcgaa
+tcggaaagggtaagccttcctgttccagcccgttgccttcgacttcttcctgcaacggca
+gctcgttatcaaggccatgcaaaataccggcaaaaatcgctgccatcaccagatatgggt
+tggcatcggcacccgccacgcgatattccacgcggtgattatgacggtcgccgcacggaa
+tacgcagggcgacggtgcggttgttatggccccacgacgcctgcgtcggcacatacattc
+ccggctggaagcggcgatacgagttcacgtttggtgccagcaacgccatcgacgacggca
+tcaggtcaatcatcccggcgagcatctttttcagcagcggcgaatcttcgccttccgcgt
+cagaaagcacgttctcgccacgattattttgcatactgatatggatatgcattccgctgc
+ccgcgtgctcttcatacggcttcgccataaaagtggcgtgcatcttatgcttttctgcca
+tcagacgcaccaggcgttttagtgccagcgcatcatcgcaggcttccagcacgttatcag
+tatggtaaaggttgatttcaaactgacccggcgaggcctcagcgaccgcgccatctgccg
+gaatcagctgtaactgcgccagttcatcaatatcattgagcacgtcggcgaagtggttga
+ggttatcaacggagtaaacctggctttgtgtattgcggtcatcggtgccaggcgcgcagg
+gcggttgcagatacccttcagcgtcgcgctggcgatccagtaaatagaactccagctcta
+ccgctacgaccgggaacaatccgcgctggcgcagctgctgccacaggcggttaagaacgt
+tccgcggctcaacgtcaaagggagcgccatcttcatcgaccatggtcaggagcatctgac
+cgataaactctggatcggcggcagaaggagttaaggaaccgagaacaggaacacaggtac
+gatccggctcgcccatttcctgacccagacctgcttcttctactacgttgcccagaatat
+ccattgcaaataccgaggccgggaaataacaccctttctcgagcttcttcaggcttgaaa
+caggaatacgctttccacggaagcaaccatttaaatcggtaagtaaaacatcaacatatt
+gcgtattcgggtagcgctccaggtagcgtttcacttcctgcgtaaaggcgctaccccgcc
+tctcttctgactgctgaacaaagttctctacttcaacgatattggtttccatgattcttc
+gcctttggtttgttttccgctcgttatcaaagcgtaaaatataatgaccaccattcgaat
+ctgtatgcaaactaaatgtttgtcaaatgttaaattgagtttgcaaaaatgaaaacccac
+tgctagattgaaaaaatattgaacataaaggtcatttaaagcgcagtaatggcgataatt
+tagtccactttgtgagattgagcatggaaaatataatgaacaatccggttatcggtgtcg
+taatgtgcaggaacaggcttaagggtcatgcgacccagactctgcaagaaaagtacctga
+atgccatcatccatgcaggcggcttgcctattgcgctaccacatgcgctggcggaaccgt
+cattacttgaacaacttttgccgaaactcgatggcatttatcttcctggtagtcccagca
+atgtgcagccgcacctatatggtgaaaacggcgatgagcctgacgccgatcccgggcgtg
+atcttctgagcatggcgataattaatgccgcactcgaaaggcgcatccccattttcgcca
+tctgccggggtttacaagaactggtggtggcaaccggtggttcgttgcatcgcaagctgt
+gcgaacagcctgaattgctggaacatcgggaagatcccgaactgccggtggaacagcaat
+atgcaccgtcgcatgaagttcaggttgaagaggggggattactgtctgcgttgttacctg
+aatgtagcaacttttgggtaaactctctacatggacaaggggcgaaggtcgttagcccac
+ggttgcgtgttgaagctcgctcgccggatggcttagttgaggcggttagcgtcatcaatc
+atccttttgcgctgggcgtacagtggcacccggaatggaacagtagcgagtacgcgcttt
+cgcgtatattgttcgagggctttatcaccgcttgtcagcaccatatcgctgaaaaacagc
+gactctgaccactacagtttaaggaaatgcaaatatgagtgatgagggactggcgccagg
+aaaacgcttgtcggaaatccgccagcagcaggggctttcacaacgtcgtgccgccgaact
+ctccgggctgactcacagtgctatcagtacgatagaacaagataaagtcagccctgccat
+cagtacgctgcaaaagctgctgaaggtgtatggtctgtcactctcggaattcttttccga
+gccggaaaaacctgatgagccgcaggtcgtcattaatcaggacgacttaattgagatggg
+tagtcagggtgtgtcaatgaagctggttcataacggtaacccgaatcgcacgctggcgat
+gatctttgaaacgtaccagccgggcacaaccactggggaaagaattaagcatcagggtga
+ggaaataggcactgtactggaaggtgaaattgttctgacgattaatggtcaggattacca
+cctcgtcgcggggcaaagttatgccattaataccggcatcccgcacagtttcagtaatac
+gtcggcaggtatttgccgaattatcagcgcccatacgcccaccacgttttaatctttttg
+ttctgtaagccgggtaagcgcaatgcgcccggcaatctatacacaaaatcattcaagttg
+catcaaggcggcaagtgagcgaatcccgatgagcttactcaggtaagtgattcgggggag
+cgaacgcagccaaggcagaggcggcttgaaggatgaagtgtatataaagaatgtcgccag
+aaataaacgggcatacggcccggggatctctgcgccctgacgttcacaaactgcatatat
+ctgatagacgtgaaacaggagtcataatgaattttcatcatctggcttactggcaggata
+aagcgttaagtctcgccattgaaaaccgcttatttattaacggtgaatatactgctgcgg
+cggaaaatgaaacctttgaaaccgttgatccggtcacccaggcaccgctggcgaaaattg
+cccgcggcaagagcgtcgatatcgaccgtgcgatgagcgcagcacgcggcgtatttgaac
+gcggcgactggtcactctcttctccggctaaacgtaaagcggtactgaataaactcgccg
+atttaatggaagcccacgccgaagagctggcactgctggaaactctcgacaccggcaaac
+cgattcgtcacagtctgcgtgatgatattcccggcgcggcgcgcgccattcgctggtacg
+ccgaagcgatcgacaaagtgtatggcgaagtggcgaccaccagtagccatgagctggcga
+tgatcgtgcgtgaaccggtcggcgtgattgccgccatcgtgccgtggaacttcccgctgt
+tgctgacttgctggaaactcggcccggcgctggcggcgggaaacagcgtgattctaaaac
+cgtctgaaaaatcaccgctcagtgcgattcgtctcgcggggctggcgaaagaagcaggct
+tgccggatggtgtgttgaacgtggtgacgggttttggtcatgaagccgggcaggcgctgt
+cgcgtcataacgatatcgacgccattgcctttaccggttcaacccgtaccgggaaacagc
+tgctgaaagatgcgggcgacagcaacatgaaacgcgtctggctggaagcgggcggcaaaa
+gcgccaacatcgttttcgctgactgcccggatttgcaacaggcggcaagcgccaccgcag
+caggcattttctacaaccagggacaggtgtgcatcgccggaacgcgcctgttgctggaag
+agagcatcgccgatgaattcttagccctgttaaaacagcaggcgcaaaactggcagccgg
+gccatccacttgatcccgcaaccaccatgggcaccttaatcgactgcgcccacgccgact
+cggtccatagctttattcgggaaggcgaaagcaaagggcaactgttgttggatggccgta
+acgccgggctggctgccgccatcggcccgaccatctttgtggatgtggacccgaatgcgt
+ccttaagtcgcgaagagattttcggtccggtgctggtggtcacgcgtttcacatcagaag
+aacaggcgctacagcttgccaacgacagccagtacggccttggcgcggcggtatggacgc
+gcgacctctcccgcgcgcaccgcatgagccgacgcctgaaagccggttccgtcttcgtca
+ataactacaacgacggcgatatgaccgtgccgtttggcggctataagcagagcggcaacg
+gtcgcgacaaatccctgcatgcccttgaaaaattcactgaactgaaaaccatctggataa
+gcctggaggcctgaaatgaccgaacataccagcagttactacgccgccagtgcgaataaa
+tatgcaccattcgacacgctgaatgagtcaatcacctgcgacgtttgcgtggttggcggc
+ggctataccgggctctcctccgcgctgcatctggcggaagcgggctttgacgtagtggtt
+ctcgaagcctcacgcatcggctttggcgcaagcgggcgcaatggcggacagcttgtgaac
+tcctacagccgcgacatcgacgtgatcgaaaaaagctacggcatggacaccgcccgtatg
+ctcggcagcatgatgttcgaaggtggtgagatcatccgcgaacgtatcaaacgttatcag
+attgactgcgactaccgccccggcggcctgtttgtggcgatgaatgataaacagctcgcc
+acacttgaagagcagaaagagaactgggaacgctacggcaataaacagctggaattgctg
+gacgccaacgccattcgccgtgaagtagccagcgatcgctataccggtgcgctgctggat
+cacagcggtgggcatattcatccgctaaaccttgccattggcgaagcggacgccatccgc
+ctcaacggcgggcgcgtgtatgaactttctgccgtgacgcagatccagcacaccacgcca
+gccgttgtgcgaactgccaaaggtcaggtgacggcgaagtatgtgattgtcgccgggaat
+gcgtatctgggcgataaagtagagccggaactggcgaaacgcagcatgccgtgcggcacg
+caggtgatcaccaccgaacggctgtcggaagatttagcccgttcgctgatcccgaaaaac
+tactgtgtggaagactgtaactatctgcttgattactaccgtcttaccgccgacaaccgc
+ctgctgtacggcggcggcgtggtctacggcgcgcgcgacccggatgacgttgagcgcctt
+gtggtgccgaaactgctgaaaaccttcccgcagctgaagggcgtgaaaattgattaccgc
+tggacgggcaacttcctgctgaccctgtcgcgtatgccgcagtttggtcgcctcgatacc
+aacatctattacatgcagggctacagcggccacggcgtgacctgtactcatctagccgga
+cgtttgattgccgaactgctgcgcggcgacgccgaacgtttcgatgccttcgccaatctg
+ccgcattacccgttccccggcgggcgcacgctgcgtgtgccgtttaccgcgatgggcgcg
+gcgtattacagcctgcgcgatcgtctgggcgtttaatttccgattaaccgtgaagagtca
+aaaggtgtgaaacatgagcaacaatgaattccatcagcgtcgtctttctgccactccgcg
+cggggttggcgtgatgtgtaacttcttcgcccagtcggctgaaaacgccacgctgaagga
+tgttgagggcaacgagtacatcgatttcgccgcaggcattgcggtgctgaataccggaca
+tcgccaccctgatctggtcgcggcggtggagcagcaactgcaacagtttacccacaccgc
+gtatcagattgtgccgtatgaaagctacgtcaccctggcggagaaaatcaacgcccttgc
+cccggtgagcgggcaggccaaaaccgcgttcttcaccaccggtgcggaagcggtggaaaa
+cgcggtgaaaattgctcgcgcccataccggacgccctggcgtgattgcgtttagcggcgg
+ctttcacggtcgtacgtatatgaccatggcgctgaccggaaaagttgcgccgtacaaaat
+cggcttcggcccgttccctggttcggtgtatcacgtaccttatccgtcagatttacacgg
+catttcaacacaggactccctcgacgccatcgaacgcttgtttaaatcagacatcgaagc
+gaagcaggtggcggcgattattttcgaaccggtgcagggcgagggcggtttcaacgttgc
+gccaaaagagctggttgccgctattcgccgcctgtgcgacgagcacggtattgtgatgat
+tgctgatgaagtgcaaagcggctttgcgcgtaccggtaagctgtttgccatggatcatta
+cgccgataagccggatttaatgacgatggcgaaaagcctcgcgggcgggatgccgctttc
+gggcgtggtcggtaacgcgaatattatggacgcacccgcgccgggcgggcttggcggcac
+ctacgccggtaacccgctggcggtggctgccgcgcacgcggtgctcaacattatcgacaa
+agaatcactctgcgaacgcgcgaatcaactgggccagcgtctcaaaaacacgttgattga
+tgccaaagaaagcgttccggccattgctgcggtacgcggcctggggtcgatgattgcggt
+agagtttaacgatccgcaaacgggcgagccgtcagcggcgattgcacagaaaatccagca
+acgcgcgctggcgcaggggctgctcctgctgacctgtggcgcatacggcaacgtgattcg
+cttcctgtatccgctgaccatcccggatgcgcaattcgatgcggcaatgaaaattttgca
+ggatgcgctgagcgattaatagcccaacgcaataatgtctgatgcgctgcgcttatcagg
+cctgcaaacgacgtattgattatgtatgccgaataaagcattcacgccgcatccggcaag
+ttgtattgctcaacttcgctaaatctggtgctttttcaacaacgcgcggaactgatgata
+agttaaccccagtaattcagccgcgcgcttctggttatatttcccttgttgcaaactgag
+ttgcagcaactctttttcctgctgcatctgaaactcacgtaaatccagcggcagtgttgg
+aagcgaggtggtttctgaaacggcgatagcgtcttcaggcggacgccgtttaaagggatc
+aataatgatgtcatcaagcggataatcgctggtgccgtggcgatacactgaacgttccac
+cacgtttttcaattcacgaatatttcccggccaacgataattcagcaatgtttctctggc
+gcgctccgtaaaccccgggaacagaggcagcttgatttcccgacacatctggatggcaaa
+gtattctgccatcaacattatgtcgctttcgcgctcgcgcagtggtggcagttgtacaac
+atcaaaagccagtcggtcgagcaggtcagcgcgaaaagtgccttcattgaccatcgccgg
+gagatcggcattcgtcgcgcataccaaccgcacattcacctgcaatggttggctgccgcc
+aacgcgctccagttcaccgtactcaatcacgcgcaataatttctcctgcaccatcatcgg
+tgccgtagcgagttcatcaagaaatagcgtaccgccgtcggcacgttcaaatctccctgg
+atgacgtttttgcgcaccggtaaacgcccccgcttcgtgaccaaacagttcggaatccag
+cagattttcatttaacgccgcgcagttaagggaaataaacggcccttgccaacgggagga
+gagataatgcaggcggctggcaatcagctctttaccggtgccgcgttcgccgatgatgag
+caccggtttgtccagcggtgcgagatgcgaaacctgttccagcacttcgagaaagctgtt
+cgcctcaccaagtaaattatctttgtattctgccatgatgaaattcgccacttgttagtg
+taattcgctaactcatcctggcatgttgctgttgattcttcaatcagatctttataaatc
+aaaaagataaaaaattggcacgcaaattgtattaacagttcagcaggacaatcctgaacg
+cagaaatcaagaggacaacattatgggtattttttctcgctttgccgacatcgtgaatgc
+caacatcaacgctctgttagagaaagcggaagatccacagaaactggttcgtctgatgat
+ccaggagatggaagatacactggttgaagtacgttctacttcggcgcgcgcgttggcaga
+aaagaaacagctgactcgccgtattgaacaagcgtcggcgcgtgaggttgaatggcagga
+aaaagccgaactggcgctgctgaaagagagagaggatctggcacgtgcagcgttaattga
+aaaacagaaactgaccgatctgattaagtccctggaacatgaagtgacgctggtggacga
+tacgctggcacgcatgaagaaagagattggcgagctggaaaacaaattgagcgaaacacg
+cgctcgccagcaggcattgatgttacgtcatcaggcggcaaactcgtcgcgcgatgtgcg
+tcgtcagctggacagtggcaaactggatgaagcaatggctcgtttcgaatctttcgaacg
+tcgtattgaccagatggaagcggaagcagaaagccacagcttcggtaaacaaaaatcgct
+ggacgatcagtttgccgaactgaaagccgatgatgcaatcagcgaacaactggcacaatt
+aaaagccaaaatgaagcaagacaatcaataataacatccaggcggcgtccgaacgcgccg
+ccgctcatcgtctaaggagtacttatgagcgcgctatttctggctattccgttaaccatt
+tttgtgctgtttgttttaccgatctggttatggctgcattacagcaatcgttctggtcgc
+agtgaattgtcgcaaagtgagcagcagcgattagcgcaactggctgatgaagcaaaacgg
+atgcgcgaacgtattcaggcgctggaatctattcttgatgcagaacatccgaactggagg
+gatcgctaatggcgggcattaatctcaataaaaaattatggcgtattccacagcagggca
+tggtccgcggcgtctgcgccgggattgccaactattttgatgtaccggtaaaactggtgc
+gtatcctggtggtgctgtcgattttcttcggtctggcgctgtttaccctggttgcttaca
+tcattttgtcatttgcgcttgatccaatgccggacaacatggcctttggtgagcagctac
+cttccagcagcgaattgctggatgaagtcgaccgtgaactggcggcaagtgaaacgcgtt
+tacgcgagatggaacgttatgtcacttccgatactttcacgttacgtagccgtttccgtc
+aactgtgaggaaagttatgaatactcgctggcaacaggccgggcaaaaggtaaagcctgg
+tttcaaattagcaggcaagctggtacttcttaccgcactgcgctatggcccggcgggtgt
+ggcgggctgggcgataaaatcagttgctcgccgaccgctgaaaatgttgctggctgtggc
+gctggaaccgctgttaagtcgggctgctaataaactggcacagcgttataaaaggtgagg
+ggagtttcgcaaaaattgttaaatctcaggcgtataatggatggcaattttcatccatag
+aaggacgcttacatgtttaaaaaaggcttacttgctctggcactggtgttttcactgccc
+gttttcgccgctgaacactggatcgatgttcgtgttccagagcagtatcagcaagagcac
+gttcagggggccatcaatattcccctgaaggaagtgaaagagcgcattgccaccgccgtt
+ccggataaaaacgacaccgtgaaagtgtattgcaatgccggacgccagtcagggcaagca
+aaagagatccttagcgagatgggatatacccacgttgagaacgccggtggcctgaaagac
+atcgcaatgccgaaggtcaaaggttaaaagaattcaccatgagcggcgcttatgcgccgt
+ttttttttctgtcacaccttatttacatccccatagattatttgcgtcagctcacaaata
+cgctttttccctggtaaaaaatgatttcctgcgtgactaaaacccttgtgctcaattgac
+agtttattttctgcggagtagtctctcgtttcatgggaccgctaccacggaaaggcaaca
+tgaaacagaaaattacggattacctggacgaaatctacggtggaacatttaccgcaactc
+atttacagaaacttgtaacgcgtcttgagagtgcgaaacgattaattacacagcgacgta
+aaaaacactgggatgaaagtgatgtcgtgttaattacctatgccgatcaatttcacagca
+atgatttaaaaccattacccacatttaatcagttttaccatcaatggctgcaaagcattt
+tttcacatgttcatttgttgccgttttatccatggtcatctgatgatggcttttcggtaa
+ttgattatcatcaggtcgccagtgaagcgggggagtggcaggatattcagcaactcggtg
+aatgcagtcatttaatgtttgattttgtctgcaaccatatgtcggcaaaaagtgaatggt
+ttaaaaactatttacaacagcatccaggttttgaagatttttttattgccgttgacccgc
+aaaccgatctcagcgccgtcactcgcccgcgtgcgttaccgttattaacgccattccaga
+tgcgcgatcattcaacgcgccatttatggaccacctttagtgacgatcaaattgacctga
+attaccgtagccctgaagtgttgctggcgatggtggatgttttactctgttaccttgcga
+aaggtgctgagtatgtccgcctggatgccgttggctttatgtggaaagagccgggaacaa
+gctgcatccatctggaaaaaacacatctgattatcaaactgttacggtcgattattgata
+acgttgcgccaggtacagtgatcattaccgagaccaatgttccgcataaagacaacattg
+cttactttggcgcaggcgatgacgaagcacatatggtgtaccagttctcgctgccgccac
+tggtgctgcatgcggtgcaaaaacagaacgttgaggcgctttgtgcgtgggcgcaaaacc
+tgacactaccttccagcaacaccacctggtttaacttcctcgcctctcacgatggcatcg
+ggctaaacccgctacggggcttgttgcctgaaagcgaaatattagagctggtcgaggcgt
+tacagcaggaaggtgcattagtaaactggaaaaataatcccgacggtacacgcagtccgt
+atgaaataaatgtgacctatatggatgcgttaagccgccgtgagagtagcgatgaagaac
+gttgcgccaggtttatccttgcccatgcgattttgttaagtttccccggtgtgccagcga
+tatatattcaaagtattcttggctcgcgtaatgattacgcaggtgtcgaaaaactcggat
+ataaccgtgcgattaaccgtaaaaaatatcacagtaaagagataacccgagaactgaacg
+atgaagctacattaaggcatgcggtatatcatgagttgtcgcgtttaattacacttcgtc
+gcagccataacgagtttcatccggataataattttaccattgatacgattaattcatccg
+taatgcgtattccaagaagtaacgctgatggtaattgtctgactggattgtttaatgtca
+gtaaaaatattcagcatgtaaatattactaatctgcatggtcgggatctgattagtgaag
+ttgatatattgggtaatgaaataacgctgcgcccctggcaggttatgtggattaaataaa
+aaggaacatctcatgattaaatcaaaaatcgtgctgttatcagcactggtttcatgcgcc
+ctgatttcaggctgtaaagaagaaaataaaacgaatgtatccatcgaatttatgcattct
+tcggtggagcaggagcgccaggccgttatcagtaaattgattgcccgttttgaaaaagaa
+aaccctggcatcaccgttaagcaagtgcccgtggaagaagatgcctataacactaaagtc
+attactctttcacgtagcggttcgctgccggaagtgatcgaaaccagccatgactacgcc
+aaagtgatggacaaagagcagcttatcgatcgcaaagcggttgccacagtcatcagcaac
+gttggtgaaggcgcgttttacgatggcgtactgcgtattgtgcgtaccgaagatggtagc
+gcatggaccggtgttcctgtcagcgcctggattggcggtatctggtatcgcaaagatgtg
+ctggcaaaagcggggcttgaggagccgaaaaactggcaacagctgctggacgttgcacag
+aaactgaatgacccggcgaataaaaaatacggcattgcgctgcctacagcagaaagcgtg
+ttgacggaacaatccttctcccagtttgcgttatccaaccaggctaacgtctttaacgcc
+gaaggcaaaatcacccttgatacaccagagatgatgcaggcactgacctattaccgcgac
+cttactgccaacactatgccgggttctaacgacatcatggaagtgaaagacgcctttatg
+aacggcaccgcgccgatggcgatttactccacctatatccttccggctgtgattaaagaa
+ggcgacccgaaaaacgtcggtttcgtggtgccaaccgagaaaaactctgcggtctacggc
+atgttgacctcgctgaccattaccgccgggcaaaagaccgaagagacggaagcagcagaa
+aaatttgtcacctttatggagcaggcagacaacattgccgactgggtgatgatgtcgcca
+ggtgctgcgctgccggtgaataaagcggtggtgactaccgccacctggaaagacaacgac
+gttattaaggcgctgggtgaactaccgaatcagctaatcggtgaactgccaaatattcag
+gtttttggcgcagtaggggataaaaactttacccgcatgggtgatgtgacgggttctggc
+gtggtgagttcaatggtgcataacgtcaccgtgggtaaagccgatctctctactacgctg
+caagcgagccagaaaaaactggatgaactgatcgaacagcactaaacccaggacaggaat
+ccgcaatgaacaggcttttttcaggtcgttccgatatgccctttgcgctgctgcttctcg
+cgcccagcttattactgctgggcggtctggtggcgtggccgatggtgtcgaatatcgaaa
+tcagttttttacgtctgccgctcaatcccaacatcgagtcaacgtttgttggggtgagca
+actatgtgcgtatcctctccgatcccggcttctggcattcgctgtggatgacggtctggt
+ataccgcgctggtggtggcgggcagcaccgtgctcgggctggcggtggcgatgtttttca
+accgcgagttccgcctgcgcaaaaccgcgcgttcgctggtgatcctctcctacgtaacgc
+cgtccatttcgctggtgttcgcctggaaatacatgttcaacaacggctacggcattgtta
+actacctcggcgtcgatcttctgcatctctatgagcaggcaccgctgtggttcgataatc
+cgggcagtagctttgtgctggtggtgctgttcgccatctggcgctacttcccgtatgcct
+ttatctcgtttctggcgattttgcagaccatcgacaaatcgctgtacgaagcggcagaga
+tggatggcgctaatgcctggcaacggtttcgtatcgtcacgctgcccgcaattatgccgg
+tcctggcgacggtggtgacactgcgcaccatctggatgttctacatgttcgcggatgttt
+atttgctgacgaccaaggtcgatattctcggtgtatatctctacaaaaccgcctttgcct
+ttaatgatttaggaaaagcggcggcgatctcggtggtgctcttcatcattattttcgctg
+tcattctgctgaccaggaaacgggtgaacctcaatggcaacaaataaacgcacactcagt
+cgcatcggtttttactgcgggctggcgctgtttctcatcatcacgctgtttccatttttt
+gtgatgctgatgacctcgttcaagggcgcgaaagaggcgatctcactgcatcctacgctg
+ctgccgcagcagtggacgctggagcattacgtcgacatttttaacccgatgattttcccg
+tttgtcgactacttccgtaacagtctggtggtgtctgtggtttcatccgtggtggcggta
+ttcctcggcattcttggggcttacgcgctttcccgcctgcgctttaaaggtcggatgacc
+atcaacgccagcttttacacggtgtatatgttctctggcattttgctggtggtgccgctt
+ttcaaaatcatcaccgcgcttggcatttacgacactgagatggcgctgatcatcaccatg
+gtgacgcaaactctgcccaccgccgtgtttatgctgaaaagctacttcgacaccatcccc
+gatgagatcgaagaagcggcgatgatggatggcctcaaccgtctgcaaattatcttccgc
+atcaccgtgccgttggcgatgtccgggctgatatccgtgttcgtctactgctttatggtg
+gcgtggaacgactatctgtttgcgtcgattttcctctccagcgccagcaatttcacctta
+ccggtgggcctgaacgcgctgttcagtacgccagattacatctggggacggatgatggcg
+gcctcactggtgaccgcattgccggtggtgattatgtatgcgctttcggaacgttttatt
+aagagtggtttgaccgccggtggcgtgaagggctaaagcggccagtttctttacaaggag
+ttttaaatgaaaaagttagtagccacagcaccgcgtgttgctgcgctggttgagtatgaa
+gatcgggcgattttagctaatgaagtgaagatccgcgtgcgtttcggcgcaccgaaacac
+ggaacggaagtggtcgacttccgcgccgccagcccgtttattgatgaagactttaacggc
+gaatggcagatgttcactccgcgtccggcagatgcgccgcgcggcattgagtttggcaaa
+ttccagcttggcaacatggtggttggcgacattatcgagtgcggcagcgacgttaccgac
+tacgcggtgggcgacagcgtatgcggctacggcccgctctccgagacggtcatcattaac
+gcagtgaataactacaagctgcgcaaaatgccgcaaggcagctcctggaaaaacgccgtc
+tgctacgacccggcgcagtttgccatgagcggcgtgcgcgatgccaacgtgcgcgtaggg
+gattttgtggtggtggtagggcttggcgcaatcggtcaaattgccatccaactggctaaa
+cgcgctggcgcttctgtggtgattggcgtcgatcctatcgcccatcgctgtgatattgcc
+cgtcgccacggcgcggatttctgccttaaccccatcggcactgatgtaggtaaagagatc
+aaaacgctgaccggcaagcagggtgccgatgtgattatcgaaaccagcggctacgccgac
+gcgctgcaatcggcgctccgcggtctggcttatggcggcaccatctcctatgtcgcgttt
+gccaagccgtttgccgaaggttttaacctcggacgcgaagcgcatttcaataacgccaaa
+attgtcttctctcgcgcgtgcagcgaaccgaacccggattatccgcgctggagccgcaag
+cgtattgaagaaacctgttgggaactgctgatgaacggttatctcaattgcgaagattta
+atcgacccggtggtgacctttgccaatagcccggaaagctatatgcagtatgtcgaccag
+catccggaacagagcatcaaaatgggcgttacgttttaattcaaaggaatgaaaaaaatg
+aaaatcggcacacagaatcaggcgttctttccggaaaacattctggagaaatttcgttat
+atcaaagagatgggcttcgatggttttgagattgacggcaaactgctggttaacaacatc
+gaagaagtcaaagcggcgatcaaagaaaccggtttaccggtgaccaccgcctgcggtggc
+tatgacggatggattggcgactttatcgaagagcgtcgtcttaatggcttaaagcagatc
+gagcgcattctcgaagcgctggcagaagtgggcggtaaaggcatcgtcgttccggctgcg
+tggggcatgtttaccttccgcttaccgccgatgacctcgccgcgtagcctggacggcgac
+cgcaaaatggtgagtgattccctgcgcgtactggaacaggtcgccgcgcgtaccggaacc
+gtggtgtatctcgaaccgttaaaccgctatcaggatcatatgatcaacaccctcgccgat
+gcccgccgttacatcgtcgaaaacgatcttaaacatgtacagattatcggcgatttctat
+cacatgaatatcgaagaagataacctggcgcaggcgctgcatgacaaccgcgacctgctc
+ggtcatgtgcatattgcggataaccatcgctaccagccgggcagcggcaccctggatttc
+cacgcgctgtttgaacagctgcgcgcggataactatcagggctatgtagtgtacgaaggg
+cgtatccgggcggaagatcctgcccaggcgtaccgtgattcgttggcctggttgcgtacc
+tgctaagaggtctttgtgaaaagtgcaatgacaagctctccgctgcgggtcgcgataata
+ggcgcaggccaggtggcggataaggttcatgcttcgtactactgcacccgcaacgatctg
+gaactggtggctgtctgtgacagccgcctttcccaggcgcaggcgctggcagaaaaatac
+gggaatgcatccgtgtgggacgatccgcaggccatgctgctggcggtgaaacctgatgtg
+gttagcgtctgctcacctaaccgttttcattacgaacataccctgatggcactggaagcg
+ggctgccatgtgatgtgcgaaaaaccgcccgccatgacgccagaacaggcgcgggaaatg
+tgcgataccgcgcgcaaactgggcaaggtgctggcctacgactttcaccatcgttttgcg
+ctcgatacgcaacagctgcgtgaacaggtgaccaacggcgttttgggagagatttacgtt
+accaccgcccgcgccctgcgtcgctgcggcgttcccggctggggtgtctttaccaataaa
+gaactgcagggtggtggcccgctgatcgacatcggcattcatatgctggatgctgcgatg
+tatgtgctgggctttccggcggtgaaaagcgtgaatgcgcatagctttcaaaagatcggc
+acgcaaaagagctgtggtcaatttggtgagtgggatccggcaacttacagcgtcgaagat
+tcgctgtttggcaccattgaatttcataacggcggcattctgtggctggaaacgtcattt
+gcactcaacatccgcgaacagtcgattatgaacgtcagcttttgtggtgataaagctggt
+gcgacgctgtttccagcacatatctacaccgataacaacggtgaattaatgacgctgatg
+caacgggaaatagcagacgacaaccgccatttgcgcagcatggaagcctttatcaatcac
+gtacagggcaagcccgtgatgatagccgacgccgagcaggggtacatcatccagcaactg
+gtggcggcgttgtatcaatccgcagaaacagggacgcgtgtggaattatgaccaggccag
+taacgttatcagaaccccatttcagccagcataccctgaacaagtatgcatcgctgatgg
+cgcaggggaacggctatcttgggcttcgcgccagccatgaagaagattacacgcgccaga
+cgcgagggatgtatctggcggggctgtatcatcgggcgggaaaaggtgaaatcaacgaac
+tggtgaacctgcctgatgtcgtggggatggagattgccataaatggtgaggttttctcgt
+tatcccacgaagcctggcagcgtgagcttgactttgccagtggcgaattacgccgcaatg
+ttgtctggcgtaccagcaacggctcaggttacaccatcgccagccgtcgctttgtttcgg
+cagaccaactgccgctcattgcgctggaaatcactattacgccactggacgccgacgcgt
+cagtgctgatttcaacaggcattgacgccacgcaaaccaatcacggtcgccaacatctcg
+acgaaacccaggtgcgggtgtttggtcagcatctgatgcaggggagctacaccacccagg
+atggacgcagtgatgtggccatcagctgttgctgtaaggtgagcggtgatgtgcagcaat
+gctataccgccaaagagcgccgtttactgcaacataccagtgcgcagcttcatgcaggcg
+agacaatgacgttgcaaaaactggtgtggatcgactggcgggatgacaggcaagctgctt
+tagacgagtggggcagcgcgtcgcttcgccagcttgaaatgtgcgcgcagcagagttacg
+accaacttcttgcagcatcaacagaaaactggcgtcaatggtggcagaaacgtcgtatca
+cggtaaatggcggcgaagcgcacgatcagcaagcgttagattatgcgctttatcatctgc
+gcatcatgacgcctgcccacgacgagcgcagcagcattgcggcaaaaggcttaaccggcg
+aaggctacaaaggccacgttttctgggatacagaagtatttttgttaccgtttcatctgt
+ttagcgatccgacggttgcccgaagtttactgcgttatcgctggcacaacttgccaggcg
+cgcaggagaaagcgcgacgcaacggctggcagggcgcgctatttccgtgggaaagcgcgc
+gcagcggcgaagaagagacgccggaatttgccgccattaacattcgcaccgggctgcggc
+aaaaagtggcctcggcgcaggcggaacatcatctggtggccgatatcgcctgggcggtta
+ttcaatactggcagaccacgggggatgaaagtttcattgcgcatgaaggcatggcgctac
+ttctggagacggcaaagttctggattagccgcgcggtgagagttaacgatcgtctggaaa
+ttcatgatgttattgggccagacgaatataccgaacatgtcaataataatgcatacacca
+gctatatggcccgctacaacgttcaacaggcgctgaatattgcccgccagttcggctgta
+gcgacgatgcgtttatccatcgcgccgaaatgttcctcaaagagctatggatgccagaaa
+ttcagcccgacggcgttttgccgcaggatgattcgtttatggctaagccggcgattaatc
+tggcgaaatacaaagcggcggcggggaagcaaaccatactgctggattattcacgcgcag
+aagtgaacgagatgcagatcctcaaacaagctgatgtggtgatgctcaattacatgctgc
+cggagcagttctcagcggcatcgtgtcttgccaatctgcaattttatgaaccgcgcacta
+ttcacgactcgtcattaagtaaagcaatccacggcattgttgccgcacgctgtggcctgc
+tgacccaaagttatcagttctggcgcgaggggactgaaatcgatcttggtgctgatccgc
+atagttgtgatgatggtatccatgctgccgcaactggcgctatctggctgggggcgattc
+agggttttgccggggtgagcgtgcgtgacggtgaattgcatctcaatccggcgttacctg
+agcagtggcaacagttgtctttccctctgttctggcagggctgcgaattacaggtcactc
+ttgacgcgcagcgtattgcgattcgaacttctgcgcccgtttcactgcgtttgaacggtc
+agcttataaccgtggctgaagaatctgttttctgtttgggtgattttattttgcccttca
+atgggaccgctaccaaacatcaggaggatgaatgaaactgcaaggggtaattttcgatct
+ggatggtgtaatcaccgataccgcgcatctgcatttccaggcgtggcagcagattgccgc
+tgaaattggcatcagcattgatgcgcagtttaacgaatccctaaaagggatcagccgcga
+tgagtctctgcggcgcattctgcaacacgggggcaaagagggcgactttaactcgcagga
+gagggcgcaactggcgtatcgcaaaaatctgctctatgtccactcactacgcgagttgac
+ggtcaacgctgttctacccggcattcgctctttgctggcagatctccgtgcacagcagat
+ctcggttgggctggcttctgtctccctgaatgcgccgacgattttagcggcgctggagct
+gcgcgagtttttcaccttctgcgcggatgcttcccaacttaaaaactcgaaaccggaccc
+ggaaatctttctcgccgcctgtgcagggctgggcgtgccgccgcaggcatgtatcggcat
+tgaagatgcgcaggcgggcattgacgccattaacgccagcggtatgcgctcggtggggat
+cggcgcgggcttaaccggggcgcaattactgttgccttcaacggaatcactcacctggcc
+gcggttatcggccttctggcaaaacgtatagcaaaggaatcaacatggctcagctttcgt
+tacaacatattcaaaaaatctacgataaccaggtgcatgtggtgaaggacttcaacctgg
+aaattgccgataaagagttcatcgtgtttgtcggcccgtcgggctgcggtaagtcgacca
+ccctgcgcatgattgccgggcttgaggagatcagcggcggcgatctgttgatcgacggca
+aacgaatgaatgacgttccagccaaagcacgcaatatagcgatggtgttccagaactacg
+cgttgtatccgcatatgacggtttacgacaacatggcgtttggtctgaagatgcaaaaaa
+tcgccaaagaggtgattgatgagcgggtgaactgggcggcgcaaattctcggcctgcgtg
+agtacctgaaacgtaagccgggggcgctttccggcgggcaacgtcagcgagtggcgcttg
+ggcgggcgattgtacgcgaagcgggcgtgtttttaatggatgaaccgctctctaaccttg
+atgccaagctgcgcgtgcaaatgcgcgcagagatcagcaagctgcatcagaaactgaaca
+ccaccatgatctacgtgacccacgatcagaccgaagcgatgaccatggcgacgcggattg
+tgattatgaaagacgggattgttcagcaagtaggtgcgccgaaaaccgtttataaccaac
+ccgcgaatatgtttgtttccggatttattggatcaccagcgatgaattttattcgcggca
+cgatcgatggcgataaattcgttacggaaacgcttaaattaaccattcccgaagagaaat
+tagcggttctgaaaacacaggaaagtttgcataagcccatcgtgatgggaatacgaccgg
+aagatattcatccggacgcgcaagaggaaaataacatttccgccaaaattagcgtggcag
+aattaaccggtgcggaatttatgctctacaccacggttgggggcacgagttagtggtccg
+tgctggtgcgttaaatgattatcatgcaggagaaaatatcactattcattttgatatgac
+gaaatgtcatttctttgatgcagaaacggaaatagcaattcgctaaatacagggggaagg
+cattcccccaggataatacaaggaacaataatgaaaaagttattaccctgtaccgcactg
+gtgatgtgtgcgggaatggcctgcgcacaggccgaggaaaggaacgactggcactttaat
+atcggcgcgatgtacgaaatagaaaacgtcgagggttatggcgaagatatggatgggctg
+gcggagccttcagtctattttaatgccgccaacgggccgtggagaattgctctggcctat
+tatcaggaagggccggtagattatagcgcgggtaaacgtggaacgtggtttgatcgcccg
+gagctggaggtgcattatcagttcctcgaaaacgatgatttcagtttcggcctgaccggc
+ggtttccgtaattatggttatcactacgttgatgaaccgggtaaagacacggcgaatatg
+cagcgctggaaaatcgcgccagactgggatgtgaaactgactgacgatttacgtttcaac
+ggttggttgtcgatgtataaatttgccaacgatctgaacactaccggttacgctgatacc
+cgtgtcgaaacggaaacaggtctgcaatataccttcaacgaaacggttgccttgcgagtg
+aactattatctcgagcgcggcttcaatatggacgacagccgcaataacggtgagttttcc
+acgcaagaaattcgcgcctatttgccgctgacgctcggcaaccactcggtgacgccgtat
+acgcgcattgggctggatcgctggagtaactgggactggcaggatgatattgaacgtgaa
+ggccatgattttaaccgtgtaggtttattttacggttatgatttccagaacggactttcc
+gtttcgctggaatacgcgtttgagtggcaggatcacgacgaaggcgacagtgataaattc
+cattatgcaggtgtcggcgtaaattactcgttctgataatgggctaaattgccggatgcg
+gcgcgagtactttatccgatctataaatgtaggccggataagatgcgctagcatcgcatc
+tggcattcaggcaaggtagctggtatttatttcagcgtcatatgcgtggcaacggtaata
+ttctgtggtgacggttttccagaaattaagcggaataataactcgcagctttgttgacct
+aactcctgcgtcggaacatcgatgccgcccggtgcaggcgttaaaataaatgacagcgtt
+tcattgctataacccaccaccgctaactgctgcggaatagcaatatttttctctgctgcc
+gcacgataaatgctcattaatttcaggctgtcagtggcaaacaccgcctcaggcaacggt
+gactggcttaataattgccgtgctgcttttaatgcagtttcatgggtataaccgccatca
+acaatccattcatcacgcactgcaatattatgcgcagccaggctctgcttataaccatta
+acgcgatcaaccgaaacatggacatcaagcggagcatgcaggcaggcaatattttgatgc
+ccactttcaattaatgcatcggtcaacgcaatgctgtcgccaaaattatcggtatcgaca
+gaataaacatgggcatattgaccttcaactttgccaatcaccaccaccggaatatcatat
+ttatcgagttgggcaaaaaatgactcatccgctggcgaactgagcataataatgccttta
+atcattttctgcttaattttgctttcgcatttttgcagatcttctgccggattgtgcgac
+gtttgtaatatcacgtcgaaaccttcttcttcagctttggcggtgatggcatgcaaaact
+tcagagaaaaacggattacccgccgtagttttggtcgaacgggtagaaatcaccataatg
+gcatcaaaacccgaagaggtcagcgcgcgggccagcttgtttggctgatactgtaattct
+tcaatggcccgtaacactttttcgcgcgcttccggggagatattagtttgcttattcagc
+acgcgtgatacggtggattttgatacgcctgcaaccctggcaatatcataaatagtaggg
+gacataggtcaggaactccgtccgaacgtgaatgctgcacatcttatggagttcgccggt
+cgatgacaacacgggcagttgataatcaatggcctggcccccacattcatatccttacga
+atgattttttttctggtcttcagagcagcacaggacagcaatgaagcgacttaaaaatga
+actcaatgcgctggtgaatcggggtgtcgacagacatctgcgcctcgctgtaaccggact
+tagccgcagcggcaaaacagcgtttatcaccgcgatggttaatcagttgcttaatattca
+cgccggagcacgtttgccgctgttaagtgcggtgcgtgaagagcgcctgctgggcgtgaa
+acgcattccccagcgtgactttggcattccgcgcttcacctatgacgaagggctggcgca
+gttatatggcgatccacccgcctggccaacgccaacgcgcggcgtcagtgaaatccgcct
+ggcgctacgttttaaatcgaatgattcgctgctacgccactttaaggatacctccacgct
+gtatctggaaattgtggattatcccggcgaatggttgctcgacctgccgatgctggcgca
+ggactatttaagctggtcgcgccagatgacgggcttactcaatggtcagcgcggagaatg
+gtcggcgaaatggcgaatgatgagcgaagggctggacccgctagcgcctgccgacgaaaa
+ccggctggcggacattgccgccgcgtggaccgattatctccaccactgtaaagagcaggg
+gctgcactttattcagcctgggcgctttgtcttgccgggagatatggcaggtgcgcccgc
+gctgcaattcttcccgtggccggatgtcgatacctggggcgagtccaaactggcgcaggc
+cgataagcataccaatgccggaatgctgcgcgagcgctttaattattactgcgagaaggt
+ggtgaaggggttctataagaatcattttctgcgctttgaccgccagattgtgctggtgga
+ttgcctgcaacctctcaacagtgggccacaggcatttaatgatatgcgtctggcactgac
+gcagctgatgcaaagttttcactacgggcagcgtaccctgttccggcgtttgttttcgcc
+ggttatcgataagctattgtttgctgccactaaagcggaccatgtgaccatcgatcagca
+cgctaatatggtttcattactgcaacaactgattcaggatgcctggcaaaatgcggcgtt
+cgaagggatcagcatggactgcctggggctggcgtcagttcaggcgaccaccagcggcat
+tattgatgttaacggtgagaaaatcccggcgctgcgtggtaatcgacttagcgatggcgc
+accgctcactgtttatcctggcgaagttcccgcacgtttgcctggtcaggcgttctggga
+taagcaaggcttccagtttgaggcatttcgtccgcaggtgatggatgtcgacaaaccact
+accgcatattcgtcttgatgctgcgctggaatttttaataggagataaattgcgatgacc
+gaaccgttaaaaccacgtattgatttcgacggtcctctggaggtcgatcagaatcctaaa
+ttcagggcgcagcagacctttgacgaaaatcaggcgcaaaattttgccccggccacgctc
+gacgaagcgcaggaagaagaggggcaagtcgaagcggtaatggacgcagcgttacgtccg
+aaacgcagcctgtggcgcaaaatggtgatgggagggctggctctgtttggcgcaagcgtt
+gtcgggcagggtgtacagtggacaatgaatgcctggcaaacccaggactgggtggcgctg
+ggtggatgtgccgctggggcattgattatcggcgctggcgtaggttctgtggtaacagag
+tggcggcgcttatggcgcttgcgacagcgcgcccatgaacgcgacgaagcgcgtgattta
+ttgcatagccacggcacgggcaaaggccgcgcattttgcgaaaaactggcgcagcaggcg
+ggtattgatcagtcgcatccggcgctgcaacgctggtatgcctcaatccatgaaacgcaa
+aacgaccgtgaagtggtcagcctgtatgcgcatttggtccagccagttttagatgcccag
+gcgcggcgcgaaatcagccgttcggcggcggaatcaacgttgatgattgcggtcagcccg
+ctggcgttggtcgatatggcgtttatcgcctggcgcaatctgcgtttaattaatcgcatc
+gccacgctgtatggcattgaactggggtattacagccgtttgcgtctgtttaagctggta
+ttgctgaatatcgcttttgccggagccagcgaactggtgcgcgaagtggggatggactgg
+atgtcgcaagatctcgctgctcgtttgtctacccgcgcagctcaggggattggtgcagga
+cttctgacggcacgactcgggattaaagctatggagctttgccgcccgctgccgtggatt
+gacgatgacaaacctcgcctcggggatttccgtcgtcagcttatcggtcaggtgaaagaa
+acgctgcaaaaaggcaaaacgcccagcgaaaaataatgcaatatcgggtgctgaccggat
+atctttacgccgaagtgcccgtttttccgtctttgtgtcaatgattgttgacagaaacct
+tcctgctatccaaatagtgtcatatcatcatattaattgttcttttttcaggtgaaggtt
+cccatgcgtctggaagtcttttgtgaagaccgactcggtctgacccgcgaattactcgat
+ctactcgtgctaagaggcattgatttacgcggtattgagattgatcccattgggcgaatc
+tacctcaattttgctgaactggagtttgagagtttcagcagtctgatggccgaaatacgc
+cgtattgcgggtgttaccgatgtgcgtactgtcccgtggatgccttccgaacgtgagcat
+ctggcgttgagcgcgttactggaggcgttgcctgaacctgtgctctctgtcgatatgaaa
+agcaaagtggatatggcgaacccggcgagctgtcagctttttgggcaaaaattggatcgc
+ctgcgcaaccataccgccgcacaattgattaacggctttaattttttacgttggctggaa
+agcgaaccgcaagattcgcataacgagcatgtcgttattaatgggcagaatttcctgatg
+gagattacgcctgtttatcttcaggatgaaaatgatcaacacgtcctgaccggtgcggtg
+gtgatgttgcgatcaacgattcgtatgggccgccagttgcaaaatgtcgccgcccaggac
+gtcagcgccttcagtcaaattgtcgccgtcagcccgaaaatgaagcatgttgtcgaacag
+gcgcagaaactggcgatgctaagcgcgccgctgctgattacgggtgacacaggtacaggt
+aaagatctctttgcctacgcctgccatcaggcaagccccagagcgggcaaaccttacctg
+gcgctgaactgtgcgtctataccggaagatgcggtcgagagtgaactgtttggtcatgct
+ccggaagggaagaaaggattctttgagcaggcgaacggtggttcggtgctgttggatgaa
+ataggggaaatgtcaccacggatgcaggcgaaattactgcgtttccttaatgatggcact
+ttccgtcgggttggcgaagaccatgaggtgcatgtcgatgtgcgggtgatttgcgctacg
+cagaagaatctggtcgaactggtgcaaaaaggcatgttccgtgaagatctctattatcgt
+ctgaacgtgttgacgctcaatctgccgccgctacgtgactgtccgcaggacatcatgccg
+ttaactgagctgttcgtcgcccgctttgccgacgagcagggcgtgccgcgtccgaaactg
+gccgctgacctgaatactgtacttacgcgttatgcgtggccgggaaatgtgcggcagtta
+aagaacgctatctatcgcgcactgacacaactggacggttatgagctgcgtccacaggat
+attttgttgccggattatgacgccgcaacggtagccgtgggcgaagatgcgatggaaggt
+tcgctggacgaaatcaccagccgttttgaacgctcggtattaacccagctttatcgcaat
+tatcccagcacgcgcaaactggcaaaacgtctcggcgtttcacataccgcgattgccaat
+aagttgcgggaatatggtctgagtcagaagaagaacgaagagtaagcgcgaatatgcctg
+atggtgcaacaccatcaggcatattaaattatgctttcagtacagccagagctgcttcgt
+aatccggctcggtggtgatttcatccaccagctggctgaaaatcacattgtcattttcgt
+caataaccacaacggcacgcgctgccagacctttcagtgggccatcagcaattgccacac
+cgtaagcttgcagaaattcagcgttacggaaagtggagagggtgataacgttgttcagac
+cttctgcgccgcagaaacgagactgggcgaacggcagatcggcagagatacacagcacaa
+cggtgttgtcgatctcagttgccagttggttaaacttacgtactgatgcggcgcaaacac
+cggtatcaatactcgggaaaatgttcagcactttgcgtttacccgcaaactgaccgaggg
+tgacgtcagacagatcttttgccacgagagtaaaagtctgcgctttgctacccgcctgcg
+ggatggaattggcgactgtaaccgggttgccctggaaatgaacggtttgtgacatgatta
+tctttcctgtttacatatagttaacgtcacacctagtttatgctaactgtcaataacaca
+gcaaacgctatttgcgcttaatccgcagaccaccgcgacaacaaggagtaaagatgagaa
+ccgttaaggtattcgaggaagcctggcccttacataccccgtttgtgattgcccggggaa
+gtcgcagtgaagcgcgcgtggtggtggttgaactggaagaagagggtattaaaggcaccg
+gcgaatgcacgccgtatccgcgttatggggaaagtgatgcctcggtaatggcgcaaatta
+tgagcgtcgtgccgcaactagagaaagggctgacacgggaggagttgcaaaaaattctcc
+ctgccggcgcagcacgtaatgcgctggattgtgcattgtgggatctggccgcgcgaagac
+agcagcaatcgctggctgatttgatcggcataacgcttcccgagacagttatcactgcac
+agacggttgtcatcggtacgcctgatcagatggccaatagtgcatcaacactctggcagg
+caggcgcgaaattactgaaagtgaagctggataaccatcttatcagtgagcggatggtgg
+caattcgcacagctgtgcccgatgcgacgctgatcgttgatgcaaatgaatcctggcgtg
+cagaagggttggcggcgcgttgccagctattggcggatttaggcgttgcgatgcttgaac
+aaccgcttcctgcgcaggacgatgcggcgctggagaattttattcatccgttgccgattt
+gtgctgatgaaagttgtcatactcgtagcaatttgaaggcgctgaaagggcgctatgaga
+tggttaatattaagctcgataaaaccgggggtctgacggaagcgctggcgctggcgactg
+aagcgcgtgcacaaggtttcagtctgatgctgggctgcatgttgtgtacctctcgtgcca
+ttagcgccgctttaccgctggtgccgcaggtcagtttcgccgatcttgacggaccgacct
+ggctggcggtagatgtggaaccggcgcttcagttcacgacgggcgaattgcatctttagg
+atgccagcgcagcaagtttgccatcgcaaagagatatttttcgctggcttcgtcggagga
+gatgggcggaaactctgcggtgatgcaatgcaagttcagatctgcacaccaactgccgaa
+agagccaggcgtttcataaccgacgctggttaccagaggcaattcaaacgcctgagccag
+ccattcgcctaattcgctgtgtctgggatcttcaatacaggccagtggatcgtggaatga
+gaccacccaggcaggttgaatgcggtgtataagctggcacagcgcctgggtttcaggttc
+ggagccaggtttgtcacctgtcagtaatacgacatcgcgttcttcagcggcgctgttcca
+gcgataaacggtttcaccttccttccagttcgccgccggaaagtttctgtttaaatccac
+accattagcattggcccgtaaccccaactggcagccgtcaggattcacacacagcaccac
+atgatgacggcgcaaagaaggtgtcaacgtccgcagagcacaggagagcgtgacgaccga
+agagttttcatcaccgtgagtgccagccagaatcaaaccactttcgcggctggctgcagg
+ggcaggaaaccagattaacggcgcgcccaataatgaacgtccgtaatgttctgttccggg
+cggaaatgcgccgcgttcggcgcgtgggcgggttacggtcatgatcgtctctggttcagg
+aagtattacaggcagtgttgtgcaaattttgcggattatcaaatccttttcttcaacgct
+atgtcatcgatcttgtatcacttttttgccggaagttgtttgcattttattagttggata
+gggtttgtggatttttgctggctgacgggcaaataaagtttgtttaatggtttgcttatc
+tgccagttgattaatcacatggcgggctatctgaccgccagcaccaagaatcagtacatt
+tttcatgaaaattatcccagattattggcagcaatatgccagtccatatcactattgcgg
+atttgaatatgtttcattacagagtttcctcaaagaacggagctaatactgaaattgctt
+cagccacataggctttgccgtcataaagatccatatggtttgcgccttcaacaatgtgat
+agcgtttatcctggcttgatgctcgatcgtacaggtcgtcactcatccatttgctccctg
+cctggctgcccgccacaatctgcgtcggctgagtcaggtacacttccgccatatggtaag
+catcataggtaataatctggttaaggctgcgcaaagtagcgtaacccggtgctgttggat
+actgcgcgcgaggggtgtggtaatactcccaggcctgacgcagttcttcgttcggcgcat
+cggactccttcattggtgccagtggcataatggcgtattctccgctgctaatatcgctgg
+ttctggcgtttgaacccgcttcaacgtatggcagggcatcaatagatttcacattgtttt
+cccaaccattacggaatatcgaaccaatattgaccgcactaacggtaccgatggccttga
+tgcggcgatcctgaattgcagcattggctgtatatcctgcaccggcacaaattcccatcg
+caccaattcgggtattgtcgacataagaaagcgttgtcaggtaatcaatcacggcactga
+tgtcttcagtacgaatgtatgggttttctaactgacgcggctcgccgccactttcacctt
+gataagatgcgtcataagcaatagtgacaaatcccttttccgccagttttttggcatagg
+ttccggccgtttgttctttaacgcccccacctgggtgagataacacaattgcctgatact
+gacgggtttcatcaaattttggagggaaatagatcactgcagacaaagagatggttggat
+tattgctgttagtgaagctgactttattattcatcattccgttcctcatggagttgtcgg
+ttcgttttaacggttggtgatatcactatagatattgatcattaagttgattagacccaa
+aatcatgattagacctatcatttaaatgattaatagattgcatggagatactgaatgaag
+cgtgaagaaatcgctgatctgatggcgtttgtcgtcgttgcagaggagcgtagcttcact
+cgtgcagcagcccgcctgagcatggcgcagtcagctttaagccagatagtgcgtcgtata
+gaagaacgattgggattgcggcttctgacgcgaaccacgcgcagcgttgttccaactgaa
+gcgggcgagcatcttttgtctgttcttggccctatgttgcatgacatagattcagccatg
+gcatccctgagcgatctgcagaaccgcccatccgggacaatacgtattactactgtagaa
+catgcagcaaaaacgatattgttaccagcaatgcgcacattcctgaaatcgcatcctgaa
+attgatattcagctcaccattgattatggtttgaccgatgtcgtttctgaacgttttgat
+gcaggcgtccgtctgggtggggagatggataaagatatgatcgccattcgaatcgggcca
+gatataccaatggctattgttggctcaccggattatttttctcgccgaagtgttccaacg
+tcagtgtcacaattaatagatcatcaggcaattaatttgtatcttcccacatcgggtaca
+gcaaatcgctggagattaatacgcggtggacgtgaagttcgtgttcgcatggaaggtcag
+cttttactgaatacgatagacctgatcattgatgctgcaattgatgggcatggattggcg
+tatctaccttatgatcaggttgagcgggctattaaagaaaaaaaactgatacgtgttttg
+gataaattcacaccagatttacccggttatcacctgtactatccacaccgtcgacatgct
+ggctcggcattctcattatttatagataggctgaagtataaaggtgctgtttagcactac
+ttgctgatacattaatttaattcttctcttaacgtattctcagttcctttcaacgttttg
+gtcattttttattcttcgtacaatggcgacagatgctgattatgataccgaaaacgggtt
+tgaacgtgcgaagcccgaacgtagtgttcggagttctatgtgctttaccgcattttggag
+actattatttacactaaatctgatttgatatattgatacttaaaacatttgatgcttcct
+ttgtcacttttttgatggaagttgtttgcatttctttaaggcgaaacaaataattacgca
+tcaattttaatgtcggttagagggaaacttatgaagcactctgtttcagtcacgtgttgt
+gcgctgttggtcagcagcatttctctttcgtatgctgcagaagttccgagcggcacagta
+ctggcagagaagcaggagctggtgcgccacattaaagatgagcctgcgtcgctggatccc
+gctaaagccgtgggcctgccagagattcaggtcattcgcgatctgtttgaaggtctggtg
+aatcagaacgaaaaaggggagattgtccccggcgttgcgactcagtggaaaagtaatgac
+aaccgtatctggacttttaccctgcgcgataacgcaaaatgggcggatggcacaccggta
+acggcgcaagattttgtctacagctggcaacgtctggtggacccaaaaacattgtcgcca
+tttgcatggtttgccgcgctggcgggaatcaacaacgcacaggcgattattgatggtaaa
+gctacgcctgaccagcttggcgtcaccgcagttgatgcccatactttgaaaattcagctt
+gataaaccgttgccgtggtttgtgaatttaaccgctaactttgccttcttcccggtgcaa
+aaagccaacgtagaaagcggtaaagagtggacgaaacccggaaatctgatcggcaatggc
+gcttatgttcttaaagagcgcgtagtcaatgaaaaactggtcgtggtaccgaatacccat
+tattgggataacgccaaaacggtactgcaaaaagtgaccttcctgccaattaatcaggaa
+tccgcagccactaagcgttacctcgcgggggatattgatatcaccgaatccttcccgaaa
+aatatgtatcagaagctgttgaaggatattccggggcaggtttatacgccgccgcagctc
+gggacctattattatgcgtttaacacgcaaaaagggccgacggcagatcagcgcgttcgt
+ctggcattaagtatgacgatagatcgccgcctgatgaccgaaaaagtattagggacgggc
+gaaaagccagcgtggcattttacaccagatgttaccgcgggatttacgccggaaccttcg
+ccgtttgaacaaatgagtcaggaagaactgaatgcgcaggcaaaaactttgttgagcgca
+gctggttatggtccgcaaaaaccgctgaagctgacgcttttgtataacacttcagaaaac
+catcaaaaaattgcgattgctgtagcatcgatgtggaaaaagaaccttggcgtagatgtt
+aaattgcaaaatcaggaatggaaaacctatatcgatagccgtaacaccggcaattttgat
+gttatccgcgcctcgtgggtgggggattataatgaaccctccactttcctgacattatta
+acgtcaacgcattcaggaaatatttcacgctttaacaatccggcatatgacaaagttctg
+gcccaggcatcgacggaaaataccgttaaagcgcgtaatgccgattacaacgcggcagaa
+aaaatcctcatggagcaagcaccgattgcaccaatttatcaatataccaatggacgatta
+atcaagccgtggctgaaaggttatcccattaataatcctgaagatgtggcgtacagtcgg
+actatgtatattgtgaagcattgatgtgatgggaactggcgttacccttgtgcataacgc
+cagtgatgtctgatttagcgaccctgttccggcggtgtaatgttatccatatacagcgtc
+tggctggggaaggcaaagtccgcgccgtgtgactgtacaatatcgataatcttcaaataa
+acgtcttgctgtgcagcaagccattcagcccataccgtggttttggtaaagcaataaacc
+ataatattcaatgaagagtcagcaaactggttgaaataaaccagtaaggtttgtcgctgg
+tcgatggccgggtgatttttcagcatctcacgtacagcttcgacaataacgcccactttt
+gccgcatcctcataacgtaaaccaatggtcgtggtaatgcggcggttggtcattcgtcct
+gggttttctacgctgatcgacgaaaacagcgagttcggtacgtacaatggacgattatca
+aaggtcgtaattttggtaattcgccagccaatttccgctactgtaccttcgatatttctg
+tccggtgaacggatccagtcgccaatactgaaaggacggtcgaaatagagcataatcccg
+gaaaagaagttactcagaatatctttaccggccataccgacagccagaccaccaatacca
+ccaaaggtcagcaagccagaaaggctcatgccgaaatgttcgccataaagcagaacaagc
+accacaataatggtgattttgatgatacgcgacataatccgcgcactggtgatatcgcga
+ccttttttaatctgctgtttttcaaactgattaatcagcagaaatagcttaatcgtcaga
+ataaccgcaatcagggacgtacagataaaatcgataacgcctggggtgataaatttgagt
+ttatagttttctataacataattaataatgctaccaacagcactgataattatggtgtag
+attaaaaattgcaccgcatggaataaaaatccttttcttttacgatttccacggcgaaac
+caaaagctcatcagaatcaatgctgcgcagctaccgaaaataatgaccagattaagcgca
+ttatttgtaaacagttcagcgatcattgttttatcaggctcctccagataattgtcgtca
+tgccggaaacccctggcggggctattttaccgcgacaattcattcagatcatcaatagtc
+agggaaggaagtagcaacattagctaaggaaggtgcgaacaagtccctgatatgagatca
+tgtttgtcatctggagccatagaacagggttcatcatgagtcatcaacttaccttcgccg
+acagtgaattcagcagtaagcgccgtcagaccagaaaagagattttcttgtcccgcatgg
+agcagattctgccatggcaaaacatggtggaagtcatcgagccgttttaccccaaggctg
+gtaatggccggcgaccttatccgctggaaaccatgctacgcattcactgcatgcagcatt
+ggtacaacctgagcgatggcgcgatggaagatgctctgtacgaaatcgcctccatgcgtc
+tgtttgcccggttatccctggatagcgccttgccggaccgcaccaccatcatgaatttcc
+gccacctgctggagcagcatcaactggcccgccaattgttcaagaccatcaatcgctggc
+tggccgaagcaggcgtcatgatgactcaaggcaccttggtcgatgccaccatcattgagg
+cacccagctcgaccaagaacaaagagcagcaacgcgatccggagatgcatcagaccaaga
+aaggcaatcagtggcactttggcatgaaggcccacattggtgtcgatgccaagagtggcc
+tgacccacagcctggtcaccaccgcggccaacgagcatgacctcaatcagctgggtaatc
+tgctgcatggagaggagcaatttgtctcagccgatgccggctaccaaggggcgccacagc
+gcgaggagctggccgaggtggatgtggactggctgatcgccgagcgccccggcaaggtaa
+gaaccttgaaacagcatccacgcaagaacaaaacggccatcaacatcgaatacatgaaag
+ccagcatccgggccagggtggagcacccatttcgcatcatcaagcgacagttcggcttcg
+tgaaagccagatacaaggggttgctgaaaaacgataaccaactggcgatgttattcacgc
+tggccaacctgtttcgggcggaccaaatgatacgtcagtgggagagatctcactaaaaac
+tggggataacgccttaaatggcgaagaaacggtctaaataggctgattcaaggcatttac
+gggagaaaaaatcggctcaaacatgaagaaatgaaatgactgagtcagccgagaagaatt
+tccccgcttattcgcaccttccctaactaatcaatgcgttgattgtaaatccagctaaga
+ggtgaggttttcagagcagacaacggtgaaatgtcatggtattgttacgtttaggtaaca
+agaaatttgtctgcacaaggattacatcatgattatggcgaaactgaagtcagcgaaagg
+gaagaaatttctctttggtttgttggcggttttcattattgcggcgtcggttgtgactcg
+cgcgaccatcggcggcgttatagaacagtacaatattccgctgtctgagtggacgacatc
+aatgtatgtgattcagtcatcgatgatttttgtttatagcctggtctttactgtgttgct
+ggcaatcccgttgggaatttatttccttggcggcgaagagcagtaagtaaaaaataggcc
+cgataactcgggccttgtcagttattgaagagtcgttaatcgtcttcttcgtcatccagt
+tcaacgggtgtctgatactggtcaggtttaatgaccagcaggtcgcagcgaagatgatca
+atcacctgttccgccgtgttgccgaggaatgctgctgaaataccggtgcgtcctaccgtg
+cccagaaccacaatccccgcctgtaagtgctccgccaaatcaggaatcacctcttctggc
+agacctttttctacgtgcgtcatgttttcattaatgccgaatttctgccgcagggctttc
+attgccagcaaatgttgcccacgaatggcatcgttataaacgctcgggtcaaattccggc
+agttcaatcgcgatattaattggcgttaccggataagcgccaaccagatgaacttcggta
+tggttgacttgttctgccagttcgatcgtctctttgaccagtttttcattgagcgcatta
+tgatacggctcttcactggcgagattcaccgccaccagcgccttgcctccttccggccac
+ggctggtctttcaccatccacaccgggcttgggcatttgcgtaacagatgccagtccgtt
+ggcgtaaaaatcaccgcttccagacggtcatgttggtgcgccatttttagcaccaaatcg
+tgtccgccgctgatcacttcctgaatgatggcttcgaaaggacggttatgccagaccact
+ttaatttcaatgggaacgccagcattgagataatattttgcctgctcgtggatccaggct
+gtacgctggctgatgacgccctgacgcatagcggtacgttcgtccggggagagcagggtg
+gtcatttcgtatgagaagtcatagatcggcaaaaaggctttaattttgccaccaatccgt
+tgatgtaaataaacagctcgccgcaatgctggttggtcgtcctggttaggatcgataaca
+acgagcatgttctgatacatagccatacagggtctccttacaacaactgtcaacgcagtt
+tgtaattaaaagattaacccatatctggtgaatgaaacagtgatgaaccttctgccagat
+caataaatcagaaaaatttaatgatatgacagaaggatagtgagttatgcggaaaaatca
+ggcaacgttacgcgtatgaccagcaagctgggccagcgcatcgttattttcgatggtgat
+gtatttacctttgactgccagcatgccgcttttctggaagcgacccagcagacggctgat
+ggtttctaccgtcaggcccagatagttaccgatatcgccacgagtcatcgtcaggcggaa
+ttcacgaggggagaagccgcgttgggcaaaacgacgggacaggttgtagatgaatgcagc
+cagacgttcctcggcatttttcttcgacaacagcaggatcatgtcctgatcgcctttgat
+ttcaccgctcatcagacgcatcatctgctgacgcagattcggcattttaccggacaaatc
+gtccagcgtttcgaacgggatttcacataccatcgaggtttccagcgcctgcgcgaagct
+cgggtgatggccgctgccgatggcgtcaaatcccaccaggtcgcctgctaaatggaaacc
+agtgatttgctcgtcgccttgctcagtgatggtataacttttaatcgtaccggagcggat
+ggcataaagcgatttaagttcatcaccagccttaaacagcgtctggcctttctgaatagg
+cttcttccgctcaatgatattatcaagctgatcaagctcatgttcgttgagtgtgaacgg
+gatgcaaagctggctgatgctgcaatcctggcaatggatagcacaaccgccagactgaat
+gcgccgtataattcgcttttccgggatcataggtctgctcaagccgtaattgatatttgt
+caattttaacatctttttagggagcaagtaagtctaagcaaaccttaacagcagagaatt
+ccgatattagatgtaaatatatgtctatctatttgaaaacccttaagttgttaagggtaa
+ctttacataaaagtgtgaacaagctggcacaaattgtttaatgtttacagcaaaagataa
+ccttcatggcgcaataaccactcttttcgctgaactccgcctgcatatccggtcatggtg
+ccgtttcggccaataacccgatggcaaggtacgacgatgctgatgggattcgatccgttt
+gccgcaccaacggcacgcgccgcgccaggacggcccaattgctcagccagttggccgtaa
+tgcattacctgcccgcaggggatagtgcgtagtgttttccagacttcgcgctgaaatggc
+gtcccccccgtagcagtgggaagcgtatcaataatgctaagattaccggcaaaatattca
+cgaagcttgtcgcttaaaccgcctggattggtggcagaaatgcgctcatagccttctttg
+cgataatggatgtccagcagctgcaccatgcgttcgctgtactcttcccattcaaccgcc
+cgcaggcgaaattgctcatcgcaaatcacccacagtggacccagtggcgtggcaattttt
+tcttcaagtaatctcagcatccgttctctcttaagacaaacgtgggtaaatacccggacc
+tatcggcagaccgacaagataccacgccagcaacatcagcagccataccaccaaaaagat
+aagtggatagggcaagactaacgaatagtaagtacccagtttcgcgtctggtttgtagcg
+ttgcaggaatccaagaaacagtggaacaaaaggagataccggcgctaaaggcaatacgga
+tgagtcggcaatacgaaagaggatttgcgcaaatgccgggtgaaagccaagtagcataaa
+cattggtacgaaaatgggggcgagaatcgaccagattgcggaaccgctggcaataaacat
+gcataagaaagaggaaagcaacgccagaccgacaaacgccgggatgccgctaagccctga
+actttccagtatatcggtcagccccacggcgatgaatttccccatgttgctccagttaaa
+catggcgacaaattgggcgaggggaaaaaccatcacgataaatcccgccatctctttcat
+cggttcaatcattaaatgcggtaaatccgcctgacgtcgaattgtgcgggtagcgatgcc
+ataagccagcgagacaacaaagaaaaaaagaatgatcagtggcacgatacctttaataaa
+gggtgatggcatcacggtgtgattaatcggatcgcgcaatatcccgttttgcgggatcac
+catcagcgcaatcgcagcaataaaaagtagcgatacgacacctgctatgcgtaaaccaaa
+acgctgactttcggtcaatgtctgcagtttctcatcgctgtttccctgccattgacctaa
+ccgtggctcgatgattttgtcggttatcaggccgccaacaatcgtcagtacgactacgga
+gctggccataaaataccagttatcaattacactgacgtgcatttgcggattgaacgcagc
+tgccgcttccgtgctgatccccgacagcaacacgtcggttgtgacaatcagtaaattagc
+cgtaaagccgcaacctacgcctgcaatggcagccagtaaacctgcaactggatgcctgcc
+caccgccagaaaaatcagcgcacccatcggtggcatgatcactaacgccgcatcggaaga
+aatgtggctgaaaaaagcaataaacagcaccatataactggcgtagcgggcattaacatg
+cgatgccattttaaccattagtgctggcagtaagccgacgcgctccgccagaccggcacc
+taaaaccagcgccaggatcgcaccaagtggagcaaaaccgctaaagtttttaataacatt
+gggtaaaaaccagtgtaatccttccacactgagcaggtttttcaccacgaccggcgtacc
+atcggtcgggtttttcgcactgacgccaaaggccgacaaaattgccgtcgtcaccatgag
+tacgataatcaaatagataaagagcagaaaaggatggggaaccttgttaccaattctttc
+gacccagccatagagcttcccggattgggaggacgacggtatggatgacatactcatggg
+cattcctcggttgttgtgtttgcgttgttgttgttattttaaaggtgacggtgtcacgtt
+tttcgggatagggcagtgatacggttgcgtgtccgttacttgctgatgctcttgttggca
+ttcttgcaatagccctgaatcaaggaagagattgactgtggttgctgccatagttttcgc
+cgccagcagcattcctttatgagcaatagatgttcgcccctggctaaccagttgccacgt
+atgtagcggtgtaccgacggcaaaacaggggctgaaacactgggcaacaggcagtttcca
+actgacgtcgccgacatcagtcgatgccgcaagcacgttatcggtggcggcatatggagc
+gacttcattcgccagtaccgtttcacgatgacgtagtgcaaaaaccttgccgttttcgcc
+accggttgcggcgatattattcagactgttttgccgatcgttggaggtgagcgtagcctg
+aatttgtttcgcaaaagccagttcttcggagttccattccggggtaccaaaatgggatag
+ggcctggtacatggcattttctaaggtgcgattcgggagataactggaacaggctttgtc
+gaagcggcattcaaccgtggtttcggtcatcaatgccgcaccttcggcgattttggcgac
+ccgatcataaatatgctgcacgtcggtcatttcgggggcgcggataagataaagcacttc
+tgcctgcgcctggaccacgttgggcgagatcccgccgctatttgtgatggcatagtgtac
+gcgcgctttttcaataatatgttcgttgaggaagttggtgccagtggtcatcaacgttac
+ggcatcaagggcgctgcgtcccaaatgaggggaattcgcggcatgtgctgcgatcccttt
+aaagcgccatgatgcctgaatgtttgccagcgtgcgggtattgaacataccggcaaaggc
+ttccgggtgccaggtgagtgccgcatccacatcatcaaataccccctcgcgaaccatgaa
+cgttttacccgagccgccttcttcgccaggacaaccataaaagcgcaccgtgccgccttg
+cccatattgttccagccatttcttgacggctattgcagcggcaaaggcggcggttcccag
+caaattgtgtccgcaaccgtgaccattttcaccgggcgtcacggatgtaggttgcgcgca
+acctgcttgctgacttaaacctgccagggcgtcatattctcccagcagggcgataaccgg
+tttgccttgaccaaacgaagcaataaaggcatttgggatattgcctacgttgcgggtaac
+ggtgaagcctgcagattccagcgccgaagccagatgctccgctgaccagaactcttcaaa
+acgtgtttctggatgatcccagatttgatcggcaatatcggtataacgttggcgatcggc
+ttcaatcgcatcgtcgataaaacgatagatttcctgcatcagatacctcgcgtccaggga
+aaattgagcgcggtgcgcgccagcgtttcgacggcaatagcgagaacctgctcgtcaaaa
+tcgaatttttcgttgtgatgacctgccgccagctgtgtgccaaacaccacgtaggaggct
+tgcccttgatgttgctgcacgcgggccatcattaatgtggcatcttcggaacccgcaggc
+gcttcaacacgttcaatggcctgattgacccccgcgacctgagccgcctgactttgcaac
+catgcgacccattgcggcgaaggagaactggcggtagctgcacccatcagacgagtttca
+acgccgacaccatacatggttgctgcgccctgaatcgcttgttgtgcacggtcaaaaaca
+tattgattaatgacgtcgctggccccgcgtgtttccactttcagcaacgccgaggcagga
+acaacgttacgaccgcttcctgcctgcataacgcccacgtttactctggaagctccttcg
+ctgtgcggggcgattgcatgcagtgcaagagtggcttgtgctgccgccaacaaggcattg
+tgaccgtcttctggttttgcgcctgcgtgagcggcggtaccggtgaagtgcgcgtcaaat
+ttggtggttgccataaaattatcactgccgcacaccacggtgcccgcaggtacgccagtg
+ccaatgtgcacggcagtaaaataatcaacatcatctacgacacctgcatcgaccatcgcc
+cgcgcgccacgcgtaccttcctctgcaggctgaaaaatcagtttgatgacgccatgtagt
+ccggactcgaactgtttaagggtatgcgccagcccaagcccaatggcggtatgtccatca
+tgaccacaggcatgcatcattccggcgttacatgacgcaaaaccgtcgcggtaggggcga
+tggctgacatcctgctcttcactgagatccagcgcgtccatatcgacacggaaagccatc
+accggaccggggcgaccggtatccagggtggcgacgataccagtgaaaccaccttcaaaa
+gccgcaatccattgtgctagcgcaccctgttgacgagcgcgctcgaattcgcgttgtaga
+gtgaattcatcaggtaatcccatccggctactttcattaactacttcgcgacccagcgcc
+agtgaatagccgagctggtgcaattcttccgcaacaagggtggcagtgcggaattccacc
+cagccagactctgcatagtgatgaaaatcacgtcgccagtgcgataattttggggcaagc
+gaattaacaaattgattcaaagactccataacctttcccgtcatcagtaaaaagtgtgac
+ccggttcacgtagcgatagtttttacttatcactaactgatttttcacagttttaaccgt
+tcataaattaccctgacacaatcatctgcattaaagtagatgccagtttctttggtctga
+taaataacggttatcggtggcgtcatggcttttcaggtaaaaattcatcaaattcgggct
+tttgttgaagtggctcgtcagggcagcattcgcggagcgagccgaatgttgaatatgtcg
+caaccggcactgagtaaatctattcaggagctagaagaagggttagcggcgcaactcttt
+tttcgccgtagtaaaggcgtgacgttaactgatgccggtgaaagtttttatcagcacgcc
+agtctaattcttgaagagctgcgcgcagcccaagaggatattcgccaacgacaagggcaa
+ctggcagggcagattaatatcggcatgggggccagtatttcccgcagtctgatgccagct
+gtcatatctcgttttcatcagcagcatccgcaggtaaaagtacgcattatggaagggcaa
+ctggtgtcgatgattaatgaattgcgtcagggagaattggatttcaccatcaatacctat
+tatcagggaccgtacgaccacgaatttacttttgagaaattactggaaaagcaattcgcg
+atcttttgccgcccgggacaccccgccattggtgcccgttcgatcaaacagttactggat
+tacagctggacaatgccgacgccacacggcagctactacaaacagttgagtgaattgctt
+gacgatcaggcgcaaacgccacaggtcggtgtagtctgcgagacgttctcagcctgtatc
+agtctggtggcaaaaagcgattttctcagcaaactgcctgaagaaatgggctgcgatccc
+ttgcacggacaggggctggtgatgttgccggttagcgaaattttaccgaaagcggcctat
+tatttgattcagcggcgtgatagtcgccagacaccactgaccgcgtcattaatcacgcaa
+ttccggcgagaatgcggctatctgcaaagttaaaactgcataaaaaaatagagtctgtcg
+acatccgccagactctacagtacacacagcagtgcatccgcgtcttaaatccggcattgt
+ctcctctgcgccggtgactgtgttataacggttttaacctttagttgccaattttcttca
+gtgacagatttcacgaaaatataagttacattattaatatcgtgaatgaataatcatgca
+taagtattttgcttaaaatatcggcaatatttggaacttattactggaaatttgggtaat
+acgttgttggaccgacccggtctggttatcatatcgcgctcttaattgcgggaggatgta
+acatgaaccttgacgacaaatcgctgtttcttgacgccatggaagatgtccagccgctga
+aacgtgctaccgatgtccactggcatccaacgcgtaaccaacgtgcgccgcagcgtatcg
+acacgctgcagcttgataatttcctcaccaccggatttctcgacatcatcccactaagtc
+agccgctggagtttcggcgggaagggttgcaacatggggtgctggataagctgcgcagtg
+gtaaatatccgcaacaggcgagcctgaatcttttgcgccagccggtggaagagtgccgca
+aaatggtgttcagttttattcaacaagccctggcggatggtttgcgtaacgtgctgatta
+ttcatggtaaagggcgggatgataaatcgcatgccaatattgtccgcagctatgtggcgc
+gctggctgaccgaatttgatgatgttcaggcatattgcaccgcgctaccgcatcatggcg
+gcagcggggcgtgttacgtcgcactacgtaaaacggcgcaggcgaagcaagaaaactggg
+agcgccacgctaagcgcagtcgttgatctcgagacgcatccgcggcttatgccgccagca
+cgcggttgcgtccatcatttttcgcccgatacaaagcatcatcaacgcgtttaaacagtt
+catcgatgctttcatttccttcgtgatgcgccacaccaatgctgacggtaaagcgtggta
+agcccgaaatactcacttttgccacgcttacgcggatagtttcagccagcgaaagcgcgg
+tatccagtggggttcttggtagcaataagacaaactcttcgcctccccaacgaaacacca
+aatcgcctttgcgagcgcaactttcgagggtgcgggcgagggcgcataacacctcatcac
+ctttagaatgcccatagagatcgttaatgtgtttaaaacgatcggtgtcgatgagcaaca
+agctgtaatcctgagcgatggcgagatgctgcatttggcctggttccgtaatgtgataaa
+actgtcgccgattcagtaatccggtcatcgcgtcatggtgagcagcatgttccagctgct
+cctccagccgtttttgctcagtaatatcatgcacaatacataacatgagcttgtcgccat
+aaatttcaatcggtccggcataggtctgcacatgacgagtcgaaccatccgccagtttat
+gaacaaaattcaaaggtttatgaccaccgggtaaatgcgagatttcatgcatgataggca
+tgacgcgacgcccgagcatatttatttcccaggtatgtttctggcacatcgtttcatggt
+tataaccatagaaattgagcgcggcgaggttagcatcgacgatttgtccatctcgtgacg
+ggtcaatcaacaacattggtgcagagttagtcagaaaaaagcgcgcataaaaaccttgtt
+ttttgcgctgataatttgccgagcgactggcttttaaacccagcgttgccggcgcttcga
+taccttcgaaaataatcaccggttctgtttctgtcagctttcgcaaaacaagccgacagc
+tcaatgctgtttcctcttctttacgctgaacagtgaggatttcgataatatcgtgttggt
+tttgcagatcggagaggtatttcggcagttctttttgtgaggagacggaatagggtccgg
+ttcgtagctgactaaacgtgaggtcttgcatcaacagtttcgccgcgctattggcataaa
+ttaactgttcctcaaagggcgaaacgatccagacaggactggtgagtaagtccagggtat
+tgaagttgtgcgtaatcattgagatcccgttatttttatcaatttttgttgctatccgat
+cgcaaaaaagccacgtcatatgatcagataattctgataatgatagacgctatttaacac
+ttcacacggtttgtatacggaaaagcattttgctttttgtattcaatttagacagaattt
+tattaatcatttcagggtaatggggtgatgagatgttgcgtaacagggccagaaggctag
+actacaaaataatgcgttgatgatggaggcactgtggaagcgattaagggatcggacgtt
+aatgtcccggatgcagtatttgcctggatgctggatggtagaggcggcgttaaaccgctg
+gaaaatacagatgtgattgatgaagcgcatccctgttggctccaccttaattatgtacac
+catgatagcgcccaatggctggcgacaacaccgctgcttcccaataacgtacgtgatgcg
+ctggcgggcgagagcacgcgtccccgagtcagccgtctcggtgaaggcacgctgattaca
+ttgcgctgtataaacggcagcaccgatgaacgccccgatcaactggtcgccatgcgtgta
+tatatggacgggcggttaattgtttcgacccgacaacgcaaagtgctggcgctggacgat
+gtggtgagcgatctggaagagggcacgggtccgaccgattgcgggggatggctggtggat
+gtgtgcgatgcgttgaccgatcattccagtgaatttatcgagcagctgcacgataaaatt
+atcgaccttgaagataatctccttgatcagcaaattccaccgcgtggattcctggctctg
+ctgcgcaaacaattaattgtgatgcgtcgctatatggcaccgcaacgtgatgtttatgct
+cgtcttgccagtgaacgtttgccgtggatgagcgatgaccaacgccgtcggatgcaggat
+attgccgatcgccttgggcgcggccttgacgaaatcgacgcctgtatagcacggactggc
+gtgatggcggatgaaatcgctcaggtgatgcaggaaaatttagctcgtcgtacctataca
+atgtcgttgatggcaatggtctttttacccagtacctttctgaccgggttatttggcgtc
+aaccttggtgggatccctggcggcgggtggcaattcggattttcaattttttgtattctg
+ttagttgttcttattggtggtgttgctttatggttgcatcgtagtaaatggttgtaacaa
+aagcaatttttccggctgtctgtatacaaaaacgccgcaaagtttgagcgaagtcaataa
+actctctacccattcagggcaatatctctcttgcaggtgaatgcaacgtcaagcgatggg
+cgttgcgctccatattgtcttacttccttttttgaattactgcatagcacaattgattcg
+tacgacgccgactttgatgagtcggcttttttttgcctgttatttatcagcgtctaccct
+ttaagagtccacccaatgaccagagggaaatatgacgacacttatttatttgcaaattcc
+tgtccctgaaccgattcctggcgatcctgttccagtgcccgatccgatccctcgcccgca
+acccatgcctgacccaccacccgatgaagaaccgattaaattgtcgcatcgtgagcgtag
+atctgcgaggatacgcgcctgctaactttgcgtcgatgaccacgagaatagattgtgacc
+gctttttctaccctgaatgttttgcctcccgcccaactcacgaaccttaatgagttgggt
+tatttaaccatgacgccggtgcaggccgccgcgcttccggcgatccttgccggaaaagat
+gttcgcgtgcaggcgaaaaccggcagcggcaaaacggcggcttttggcctcggcttgtta
+cagcaaattgatgcgtcgctatttcaaacccaggctttagtgctgtgtcctacgcgtgaa
+ctggcggatcaggtggcaggtgaattgcgtcggctggcgcgttttctgccaaataccaaa
+attttgacgttgtgcggtggtcaaccgttcggtatgcagcgtgattcgttgcaacatgcg
+ccgcatattatcgtggcaacgccggggcgtttgctggatcacctgcaaaaaggcacggta
+tcactggatgcgttgaatacgctggtgatggatgaggccgaccgcatgctggatatggga
+tttagcgatgccattgatgatgtcatccgttttgcgcctgcatctcgacagacgcttctg
+ttttcggcaacctggccggaagccatcgctgcaatcagcggacgagtgcaacgcgatcct
+ttggcgattgaaattgactcaacagatgctttgccacccattgaacaacaattttatgag
+acatccagcaaaggcaaaattcctctgttgcaacggttattaagcttgcatcagccatcc
+tcttgcgtggtgttttgcaataccaaaaaagattgccaggctgtctgcgacgcgctgaat
+gaagtagggcaaagtgcattgtcattacacggcgatttggagcaacgcgatcgcgatcag
+accctggtacgttttgctaacggtagcgcccgtgtactggtcgcgactgatgttgctgcg
+cgtggtctggatattaaatcgcttgagctggtggtgaactttgagctggcgtgggaccct
+gaagttcatgtacatcgcatcggtcgtacagctcgtgcaggaaatagcggtctggcgatc
+agtttctgtgctccggaagaagcacagcgggccaatatcatttctgacatgttgcagata
+aaacttaactggcaaacgccgccagctaatagttccattgcgacgctggaagcagaaatg
+gcaacgttgtgtatcgatggcgggaaaaaagccaaaatgcgcccgggtgatgtattaggt
+gcactgacaggagatatcgggcttgatggcgcagatattggcaaaatcgccgtgcatccg
+gcgcatgtctatgtcgcggtccgtcaggctgttgctcataaagcatggaaacagttacag
+ggcgggaagattaaaggaaaaacgtgccgggtgcggttattaaaataatgaaatgttgaa
+ttgccgggtgcaagagtaaacatcttattcgggattgccggatgcgacgctggccgcgtc
+ttatccggcctccataagagtagcccgatacgcttgcgcatcgggcgctatcctggttat
+ttcacttcaaccacattcagccgtaactcatccaactgattttcatcttcttctggctgc
+cagcacgccggttgtagtgggatctcttcgcgatcaaacgccagatcacccccgttaacc
+acttcagaaccgtgggtgatgcctttgaaatcgaacaggttggtatcgcacagatgcgac
+ggcaccacattctgcatcgcgctgaacatcgtctcgatacgccctggataacgtttatcc
+cagtcacgcaacatgtcagcaatcacctgacgttgcaggttaggctgtgaaccgcacagg
+ttgcacggaataatcgggaacgcttttgcatcggcaaatcgctgaatatctttctcgcgg
+cagtaggccagcggacgaataacgatatgtttgccatcatcgctcatcagtttcggaggc
+atacctttcatcttaccgccgtagaacatatttaagaacaacgtttgcaggatatcgtca
+cgatggtgacccaacgcgatcttcgtcgcccccagttccgttgcggtacgataaaggata
+ccgcgacgaaggcgagaacacagtgagcaagtggttttgccctctggaatcttctctttc
+acgataccgtaagtattctcttcaacaatcttgtactcaacgcccagcttttcaagatac
+tcgggcagaacgtgttccgggaagcccggttgcttttgatcgaggttaacagccaccagc
+gaaaaattgattggcgcgctttgctgcaaattgcgcagaatctccagcatggtatagctg
+tctttacccccggagaggcaaaccatgatgcgatcgccttcttcaatcatattgaagtca
+gcaatggcttcgcccacgttacgacgcagacgtttttgtaatttgttcaggttgtattgt
+tctttctttgtaatttgttgattttcttgcattatttcagttctctggtactaaatgggg
+caaattgggggcaaactttgcaactacgataaccgcgcattcaacatggctatctgttcg
+tcgttcatgtcatcaatccacataccgtaaatttcatacaccatctgcgcagtttcatgc
+cccatttggctggctataaatgccgggttcgctcctgccgtcaacagccagcaggcaaaa
+gtatgccgcgtatggtacggattacggcggcgaataccagcacgttttactgctgcattc
+caccttgcccccaaactgcttaccgagtaataaggtttttgttttccgttacacaccctg
+ggcatgaaaacaaaatgcagtttttgcttttcggttctgccgtactcccgatgataaaag
+gtgatttcgcttttgcgatgatgcccggtcagtttgtattgctccttcagtgcttcaaga
+gcaggctgcagtagtgttactgttcggatcccggcatttgtttttgggggaccgaacata
+tcaagtatcgtcaggtttcttctgacattcactattcccttttcgagatccacatcctcc
+cacgccagagctgccagttccccgtgacgaagtcctgagtaaacggcaaatttccacaag
+ttctggctctgtcctttttcactttccattaatgcattgaattctgttttagataacgga
+tcaggctttattctgtttcgctgtaatttttttactccttcaaatggtttggttgatata
+aatcccgactgatacgcaaaacgcaacagcgaacagagcagggcgatatagttatcaact
+gtgcgcacggttcttccttttttgttggatcttggattatccaggtaaagcgtttctcca
+tgcagcagttcattccggtagtttaagatatcgctataacgaatatgtgatatcggggta
+ctttcacaaattattattctgagtgtttttaattgtgatttcgttttcttcattgtgttt
+gttgttaactctgtctctttaatttttgtccagatatcacaaagctctccgaacgttttt
+atgactctcgttgtcaccatttttgccccagtgctggactggggaaaacgtcttaaatac
+tcaaattcaccggagtttatttcatgaactatcagcgctcttaaatttccggccttttta
+atattactgtttgtaatctcccagccttttaatgtttcccgacatcgttttcctcgaaac
+atgaaccagatgcgaatgtatctacctctaatctcgacacctgttggtaatttagacata
+tcatgagtctttgataaactgatttatctttggatagttgtaccagataatccctcgttt
+gctgtctggcttacctaaaggagatactcgtttgaagtggaagccctccacccaacagtt
+ctggcggtatgcttcaatttgtctggcccccagaccagtgcgaagcatcaggccgtattc
+aaccatccactcttcattaaagattacttgtgccatcgcatcacctctggcaggcgccaa
+tgttagactgaaattgacgcccgatgttgattattaataatcagctatgaagttttaatt
+tgaatacaatgcaattctcgaggactgaagtttctcgcaattaaaatttatcagttttac
+tttctgctctctggaaacgcctgcttcttttttacctgagagcattttttcgcattctga
+tttcgttagtttagattttgaatatcttgtccagttagtaggagtgccaccttccttttc
+aatagtggcggtaattttatacatgaacacctccattattatttccagtggttcgtttat
+tccatctttcgagtgcttctttttcacttccaccataaccggttcgggattcgcatccgt
+tacacttcgctcggtaatatcctgaaatggctttcaccgttactgatggacaaccacaaa
+atggacatggtttaacattgtcatatctcataatttttctcataaaaaatatttcaagtt
+ggcggtgcattacaccgccaggctgaattattcctctgaattatcgattacactgtattc
+cccggttaatacagaggaatctgcaggatcgattgtcagtggttccttttcatccattga
+tactgcacgctggatctcaattgatacgggcaaatatttgaacaggcgacgaatagccgt
+tttctttgccatttcttcccagtgagttacccacggcccgttattaccagctttactcag
+gctgcgcaccagctcaatctgtttgcgcgtcataacttcaaactgagtacctccgtcttt
+cagtcttgcgacagcatagacgtgggtaaccggggcatcttcgttttctcccgggcggtg
+tattaacttttcatcaaggccaaattcgaagctaaactcgtcaccttcacggacaacacg
+ggctgacaggctggcgatttgaccagaacggcgagccagatcaatcatgccgcgatagcc
+aatgattagctgaacgttctttttaccgctcttttcgtttttattaccaaaaggcagtaa
+atatgcatgaccgagggcgctacctggctcaagtccgagctgtgaacactgtacgatcgc
+actgacaaaactcatagtgtcacagtttcctaacgccggaactttacgaatttctgtggt
+ggcgatacggatcatacgttcagccgtcatatggcgtggaagagctgctgccagttgctc
+tttcattgatggctggttaataaaactaatcacgtcgctatttttaactgctgctggtgc
+acggtttccctgagttttttgcagatcggcttttgcgattggtggttgcttagtcatttg
+catattccttagcccagcggggcagtgataatgtcttaatagctggccattcatcggtat
+tcaggcagtcagacagggttcgcagattgcggtgatattcctgttgacctgccagttttg
+cttcttcgcccatcatgaaaatttcaaccggataacgtccgcattcaatagttgtgctgg
+caaccagaaaaacgaaagttggctgcactccaaactgtgcttcataaccgtcactgtaga
+atgcatcctgaacgtgatagcggtagtcgtaataagcggttttgaatcgttgaatatccg
+ccgtagttttcacgtccatgatccagtgaaattcagggataattttgtccggacggcacc
+gacacaaaattcctgtttcaggatcttcccagtaaattgatgattcagcgtgtccggcgc
+tttcaacaagccattgccccagcggcaaagccataacgctttgatacatgagttcaattt
+tccggccttcttccgcagtgataaccgtttttcctgtgcttgcgcattccatcagaaacg
+ctttctcttcttcttttccggcgtttgtacggcggttaaattcaggtgctacgataaagc
+ggttactgaattcttccggttcaagtacccggcagtggaaagcagttcctaaatcgagcg
+tttttgtctttgtggtgtccacgggggcatttttacgccacaaatatagtgccggagtat
+cagcaatgtcatcgagctgagacttactgataccgggacccgcgtggtaattctcattcg
+aaattccgtaataaatacctggctctatgtcttctacgattacgggatctgcgacttcgc
+cagtttcatcactgcaatcgcgatgcggatcgctgccagcattctcattgtgcggatgtt
+cagcgccttccatttcctccggatcattttccttagcttcaacctgactctcttcatcga
+atgtttcctggtatgttgcgtcgcccatcaccgcaccacagtcagggcagttatccccgc
+cagtctggccgcaggcattgcaggctatttccggttcctgttgcactactggctcaggtt
+gattcatatctgggctggttttttccgtttctggctggttctggtacacacaatcgcgag
+tctggatcccctttacccatttcggatcgttcgggtcgctaattccgtcaacaaattcac
+cacgtgatgcagcaagcaatttatcgtcatcgacaggattttttgatggaatgtttttcc
+gggcttcatggagttctgcccgcagttcctgatatttcgcatcaacagaatttacctgtg
+actgagcatccagcggctgcgtgtcctgatgatgttcagttgcgtccggttccattgttt
+cagcctctccctgttcaactgccgttgttccagatggttgcggtttttcttcatcatcct
+gttttccttcttctgttactcgctgcggcatcggggcagaggagcgaccgcaggcaatat
+ccacgatttccggatcagggttggcatgatcggtttcagtcagtactttgttcagatatt
+cagtgacgtgcgcggggatgacctcgatcccaattggtgcttcttttacggacgcaacca
+cgatggcgcgggaataatccagcccgccaggcatggtgatgaatttgtcgcggaaaacag
+aaaagggcggtttattttcagcgataatttcctcaatgcgtttagcgtgtgccggatgaa
+ggttatagatgtccagatccattgaacgggccagtacgccagtggctacgtcgcgcgcca
+gtgacgtcagatcgtgtacgaaaccttcgccgcgatcggtgaggtttccgccgccagcat
+tagcaccggaagccgtgcgagtgatgtgtgaaacacgattacccttcatccactcttttg
+tcagcagtcctcgatcggtgtagtcagcgttcaggtatgcttcgaaaaaagcagttatca
+gtcccaggtttgaattaccaggattagggaaaactttgtcagtgtcacgaaccagtttgt
+ggagttcgcgaatttccagcgggtcgagcaggctggttttgtgggaaacagccagggcag
+taacagccggtagttcttcagcccgagcaatgtgtaatgcctggagtccgtcgcgtgaaa
+cgtgcgttaccggtttttcgctgccgtgttgagcaagccaacgaatgggcagttcctggc
+cagaaattgggagtagcatattctcctcaatctcagtcatgtcttcgccgttgacgttgg
+tattgccttgatagtgagcgttgtctggtgctgctcccggttttagttcccatgtcatgg
+agtctttgctgagttgatagcgttcactccaggtaaaatcgatctcaccttcagcgggca
+ggtcattaacgacaggaaaattcgtggcaacagctttaaaatagctgctcagttttttac
+ctgacttaacgatcaggtagtccagagtggcacaggtcgattcaaaatcgttgcttgccc
+acaggacgacgtcaggttcaccggatgattttttcgctttccgtaacaggaagagtggtt
+ttgtgctcattgttttttaacctcaactcagattaaaattcgttttgttcagtgaatgat
+cttgccggatacacactgttcatagcctgcgccatacgcaggctatttctttcagatttc
+accttttaatttcattgcaattagagttgccagaaattcggcttttttttctgcgggcag
+attctttccgatatgcaccaggcacatttttttgacaccttcatcaagtgtttttacgtt
+gcctgatggaccatcgatatcaaccacagtgaatggggtttctttattttctgttttaat
+tacgtagccaatgcgctttccttccagattcacctcgtgaacaatgtcatcggtagttac
+aacagtggcttcataattggtaatcatgtttttctccttaattaaggttgagcgaatacc
+tgccatttctggcataaattcagtttcgaatagtcaattaattaaagttcatgtgccatc
+tggtctttttcggcacaagcttcactgcaatattttctcggttcgtcttttgataaaatc
+ccgtgcatgaagtgaagcattctttcaatagctttgctttcttcaacgtcttttttgcaa
+aggtggtaagcacattttattttcttagtcatcaccatgactccgcctttacaggtaaac
+catcacgaccgaggaagactttaatcatgcggtcagtaatgaatgtttttgtggtcaggt
+tacgaatatatagttttcgctttttaatattgtttgccgaggcaatatatgtccggcctt
+catgaagaacataatcgccaggagtcacacactgacgtggtatttcatcagttccgaagt
+gatgtgcaatcataattatctccatttttacaaatgaactttgttgatgcggtgtctggt
+gcctccaggtgactgcaaccagttaacaattacagtcggctttcccacccaaaccaataa
+ggactaacatgacttttaactgtgccacgtgcgcttagccgcattcaccgcatcacaaaa
+ttcactttaaaaagggcggacatcagccgaacttcaagaaaaaaactgatgccgccagga
+ctacacacagcaatgtcgttatttacaaccggaggcgcactcccaccatttaaatttaac
+agacaagaccgactctttatggatatcggaaatgcgccttcgtgttgtgcccggttttat
+ttcaccacctccgggcttcggtggtctcggctatacccctacagcgagagcttgtgttaa
+catttcaatacccttacagttgagagttattgatatgttggatgtatttactccattgtt
+gaaactttttgctaacgagccactcgaaagacttatgtatacgattatcatttttggtct
+cactctctggctgataccgaaagagtttactgtcgcattcaatgcttatactgaaatacc
+ttggctctttcagattatcgtttttgccttttctttcgtggtcgccatttccttctcaag
+attgcgagcacatattcaaaagcattattcattactaccagagcaacgagtattgcttcg
+tttatctgagaaagaaatcgctgtatttaaagatttccttaaaacaggaaatcttattat
+cacttctccttgccgtaacccggttatgaaaaaattagaacggaagggcatcattcaaca
+tcagagtgatagcgcaaactgttcttattatctcgtcaccgaaaaatactcccattttat
+gaagttattctggaacagcaggagtagacgttttaatcgttagcttactgtgtgcttctc
+caaccatcggcgcgcaccagtttcggttttaaatgttttgcttttggtatacgtcatggc
+agtgaacgttccatcctggttggggaacacgccgcacaccagggattcgttgttgccgag
+gtcgattttttgcattttgcgaatctcacatcttgttgctacgtatagcgacttctgcct
+gccagagatcccagtcgttgctgcgtaaagcctgcacagcctggttgtaagtgataccgc
+aacaatccatcaaatactgaactacttcgtaatgcaccatcttatctctccccttaacgc
+cgggtggcggaactaactgctgcactgcaaaatttgaatcccgccgtcatgttcatacgc
+ctcgggctggctacttaaccccttaccactgcctggtaactcgaagtattgcccggcgtt
+ctgtggggcggggtgggtggtatgctggaactataggtaatgcctaattgattgtcaata
+ggctatgcctaatgttttgagcgtaacctaataggtgatggcgacagcagaaagtgatgg
+gggggttaaataacggaatccaggagttttccgtcagaccatataagtttaagttccagt
+ttttgtgatgttctggcttttccgttcagattcaagagctttcagatacttacccacttt
+catttccatcgctgctatgtaggcgcgaacatcgtggtcaacccaatctggttctgtagc
+atttccagataacaggaaagctacaatcgctcttatttcatcagaggctgcttgataaag
+gttgtttatatctaaaagttcactttttgtatctgaattggtgggggttggtatggggta
+ttcgttaagcccccaatgctctggaccaacaacatcagaaaagaaacgccataattctgg
+aagtttatctttacttatagagcctttcttaatccagtcataaattgatggtggttggac
+tttaaagtggcgtgcgacctccgcctttgatttgacggatcccgatgcgatttttttgtt
+aatggcctgctctatcgctcggcctaagtctttaccactaagcattgcttaatattctcc
+tatgcgcattacattaggcaatccctacccttactgcattaggcacagcctattgacaat
+tgcgttaggcgtcgcctaatatttctgtgtgtttttggagttcattcgatgaaaaaagag
+aactattcattcaagcaagcttgtgctgttgtcggtgggcaatcagcaatggctaggctt
+ttaggtgtatcacctccaagcgtaaatcaatggatcaaaggggtacgtcaattgcctgcc
+gagagatgtccagcaattgaacgtgcaacaagaggtgaggttctgtgcgaagaacttcgt
+cctgatattgactggtcatatttacgacgttcggcatgttgttcgcagaatatgtcagtg
+aagcaactaaatgacagtaacaaatcctcatttgatcatacctgaaacatcaagaggcaa
+atgattcatgaaaatcaagcatgagcacatcgaatcagtgttgtttgccctagcagccga
+aaaagggcaggcatgggtagccaatgcaattactgaagaatatctgcgccaggggggcgg
+cgaattgcccctggttccaggcaaggactggaacaatcagcagaatatctatcaccgttg
+gttgaaaggtgaaacgaaaacgcaaagagaaaaaattcagaagctgatcccagcaattct
+ggcaatccttccgcgcgagctgcgtcaccgactctgcatcttcgataccctggaacgccg
+tgcattactggcggcgcaggaagcgttaagtacggcaattgatgcgcatgatgatgcagt
+ccaagccgtttaccggaaagcgcatttcagcggcggcggttcttccgacgattctgtcat
+tgttcattaagcaaaagtttccatgctgtttgtgcttattctaagccaccgggcagcatc
+atacggggcaattatggccgcattaccatacatgcaactgtacatagctgattacctggc
+tgacaccatgcatttgtcagcagaggagcatggtgcgtatttgttgctgatgttcaatta
+ctggcaaacaggaaagccaatacctaaaaacaggctggcaaaaattgcccgtctgactaa
+cgagcgatgggctgatgttgaaccatccttgcaggagtttttttgcgataacggcgagga
+atgggtgcatcttcggattgaggaagatctggcatcagtcagggaaaaattaaccaaaaa
+atcagccgcaggaaaagcatctgttcaggccagaagaagcagaaaggaagcagatgttca
+aacaaaacaagagagaaatttaacaggtgttcaaacagatgttgaagtggtgtttgaaca
+tgatgtcaacacaaaggcaactaataaagatacagataaagatctaaaaacagatccccc
+cctaaatcccccccgggggaatcgaggtgtcaaaaagtttgaccctctggatattacttt
+gccgaactggatttctgtctcgctttggcgtgagtgggttgaatttcgccaggcattgcg
+aaaaccgattcgaacggagcagggcgctaacggggcgatacgggagctggaaaaattccg
+ccagcagggtttttcacctgagcaggtgattcgacacagcatcgccaatgaataccaggg
+cttgttcgcgccgaaaggtgttcgacctgagacgttactccgacaggttaacaccgtctc
+gttaccggatagtgcgatcccgccaggcttcagggggtaactgaccatgaaaaatattgc
+gacaggcgatgttcttgaacgtatccgcagactggccccgtcacatgtaaccgcgccatt
+caagacggtagcggagtggcgcgagtggcaactttccgaaggccagaaacgttgtgagga
+gatcaaccgtcagaatcgtcagttgcgggtggaaaaaattctgaatcgctctggcatcca
+gccattgcaccgcaaatgctcgttttcgaattaccaggtgcagaacgaagggcagcgata
+cgcgttgagtcaggcgaaatccatcgctgatgaactgatgaccgggtgtacaaattttgc
+gttcagcggaaaacctggtaccgggaagaaccacttagcggcagctatcgggaatcgcct
+gctgaaagacggtcagacagtgattgtggttaccgtggctgatgttatgagtgccctgca
+cgccagctatgacgatgggcagtcaggcgaaaaatttttgcgggaactgtgcgaagtgga
+tctgctggttcttgatgaaattggcattcagcgcgagacgaaaaacgagcaggtggtact
+gcaccagattgttgatcgccggacagcgtcgatgcgcagcgtggggatgctgacaaacct
+gaactatgaggccatgaaaacattgctcggcgagcggattatggatcgcatgaccatgaa
+cggcgggcgatgggtgaattttaactgggagagctggcgtccgaatgtcgtccagccagg
+aattgcgaagtaatttttaccgggagaaaaatttaatggagactgtttttgacgcactga
+aagcaatgggaaaagccacatccatagaacttgctgcgcgacttgatatcagtcgtgaag
+aagtgctgaacgaactatgggaactgaaaaaggctggttttgttgataaaagcgcgtaca
+cctggcgtgtggctgataacaatgttcagcaggaacagccagcgcaggcagaactgccgg
+aagaaatcaccacagcaacagtagcgaaaatctcagagtgcgatttaaccgcgacgattg
+aacaacgaggaccacaaacggctgatgagctggctacattgtttggtaccacatcacgca
+aagtggcttcaacgctggcaatggcaatcagcaaaggtcgtctgattcgcgtaaatcagg
+gcggtaaatttcgttactgcataccgggcgataatttaccagcagagccgaaagcagcat
+cggtatctccgctctggttatctgcatcgtcgtctgcctgtcatggggtgttaatcatta
+ccgtgataacgccatcgcctacaaagaacagcgcgacaaaaatgccagagaactgaagct
+ggcgaacgcggcaattactgagatgcagatgcgtcagcgtgatgttgctgcgctcgatgc
+aaaatacacgaaggagttagctgatgcgaaagctgaaaatgatgctctgcgtgatgatgt
+tgccgctggtcgtcgtcggttgcacatcaaagcagtctgtcagtcagtgcgtgaagccac
+caccgcctccggcgtggataatgcagcctccccccgactggcagacaccgctgaacggga
+ttatttcaccctccgggaacgactggtaatgatgcaggcccaacttgaaggtgctcagca
+atacataaccgagcagtgtttaaagtaaaatcttaactacaatatgattcattttgatga
+ttgtttcataaggaacagtgaagtaagatctaagaggagttaaattttatacagtataat
+cataatattgcagcaaggtggttataattgaaagaatatttagatatgaatacatctcat
+gtaagagttgttactcatatgtgtgggttcctggtttggctctatagtctttcaatgttg
+ccaccaatggttgtagcattgttttataaagaaaaaagcctgtttgttttctttataact
+ttcgttatatttttttgcattggtggcggagcgtggtatacaactaagaaatctggcatt
+caattacgtacccgtgatgggtttattataattgtaatgttttggattttgttttctgtt
+attagtgcattccctttatggattgactcagaacttaatttaacgttcattgatgctctg
+tttgaaggggtttctggaataacaacaacaggagcaactgtaattgatgatgttagttca
+ttacctcgggcatatttgtactatcggtcacagttaaattttataggtggtttaggagtt
+attgttctggcggttgctgtattgccattattgggtattggtggtgcaaagctttatcag
+tcagaaatgccggggccatttaaggatgacaaactcactccccgcctggccgatacgtca
+cggacactgtggataacttattctttattaggtattgcttgtattgtctgttatagactt
+gcaggaatgcctttgtttgatgctatttgtcacgggatttccacagtttcgcttggtggt
+ttctcaactcatagcgagagtatcggatattttaataactatttggttgagctggtggct
+ggttctttttccctgctatcggctttcaacttcactctttggtatattgttattagcagg
+aaaacgataaaacctttaatcagagatattgaacttcgtttctttctgttaatagcctta
+ggggtgatcattgttacctctttccaggtctggcatataggtatgtatgacttgcatgga
+agttttattcattcgttttttcttgccagctccatgctcactgataatggtttagctacg
+caggattatgcaagttggcccacgcacacgatagtgtttttgctgttgtcaagtttcttt
+gggggatgtataggttcaacttgtggtggaattaagtcacttcgatttcttatacttttc
+aaacaaagcaaacacgagataaatcagctttctcatcccagagcgttgttgagtgtaaat
+gtaggagggaagatagttacagatcgtgtaatgaggtctgtatggagtttcttttttctt
+tatactctcttcacggtgttttttatactggtgttaaatggtatgggatatgattttctt
+acatcatttgcaacagtggctgcatgtattaataatatgggattaggttttggggctact
+gcatcgtcattcggagtgcttaatgacattgcaaaatgcttaatgtgcatagctatgatt
+cttggtcgccttgaaatttatcctgttattatattgttttcaggttttttttggcgctcc
+taatatatggctgatttataattgtgagtttaatattatgttgactcactcattgatcca
+atacctaactttaccagcaacacctccgtccccagtagcactggctgctggggtgcgttt
+tattcataaagcaaggctgtatgagcgagaaattaaagatagtctatcgcccattacaag
+aattgtcaccgtatgcgcacaacgccaggacgcacagtactgagcaggtggcacaactgg
+tagaaagtattaagcaattcggctggactaatccggtgctgattgacgaaaagggcgaaa
+ttattgcgggtcacggtcgtgttatggcggctgaaatgctcaaaatggattctgttccgg
+tcattgttctgtctggcctgacggatgagcagaagcagcgataacgatcagtatcgctcc
+cgtaatgcattaatccgtcgccacattgagaaaatggatgccagtttgcacgtcggaacg
+aaggagtttgatatttcaaaggtttccgaggtggattctgttgatgatttactcattgat
+aatgccgctcgttatctgctgaaagactggaaaggggttggtgaactggttaatggtgtt
+gaggttgcactggaatatacggcagaacgagggatcgcgctgcttaagcagaatccagag
+ttgtactggcagatccttgcagaagcagccagcatcgcccagggtaaagagcagcagaag
+caggatacgataaaaaagccatagctgcccagcggtggttatcggagttcgggggagaaa
+ggggggaaaaggcaagatggaagcgagaaaaactcaggttgccaccgataccggaaccag
+aaatagacccggtgcttaaggagttgttgtacgcctattcggtaatatcccgtgcccgac
+gttatgctggaatggctggggtgcctttgcctttatctctgacagagataaatgaatatt
+tagccactcatccggtattgattgagcgcgatgaatttgaagcagtgatctttgcactgg
+atgaccagtattttcaggagcagtgtgtgtagttgttaattacgtacactctgttacaga
+gatgtgatggtgtctttaattaaatcgatgatgctcctggagaaaagcattgcgtggcct
+cgtaatcgctatatctactattatgtcgcctgaaacccacttcgcggtgggttttttgtt
+gtcaggagttttaataaatggcagagcaaacctcgcgtctcgcaataattattgatagca
+ctggagcgaaaaataatgctgacaatctgacctcctcattagtcaaaatgacgcaggctg
+gggaaactgctgcaaatagcgcagggaaagtgactaaggcaacagaagatgagaagaacg
+cgctcgcaaaattaaaagcagctattgatccagttggtgccgcaattgatactgtcggtc
+gacgctattctgaattaaagaaatttttcgataaagggcttattgataaagaagaatatg
+aatttcttgtccgtaaacttaatgaaaccacagaggaattgagcggggttgcgcaagcgc
+agagagaagccgagaaggccggaaaacttgctgccgctcagcaggaagcgcaggctcagg
+cctttcaaagaatgctggacaagatcgaccctctggctgcggcgctaagaaatcttgaac
+aacagcatgatgaacttaatgctgcgtttgcatccgggaaaataaatggttctcagtttg
+agaattatagccgaaaaatacaggaaacacggcgagagcttaccggagaggctcaggcag
+agcgagaagcagcaaaagcgcatgatgaacaggttgttgctttgcaacgtctgattgctc
+aacttgatcctgtcggaactgcttttaatcgtctggtagaacaacagaaacagctcaatg
+aagcaaaagctaaggggatgctttctcctgaaatgtatgaggagctttctggaaaacttc
+gtgctatgcggagtgagcttgaggttactcaatcacaattaagcaaaaccggaatgtcgg
+caaaacaaacggcttttgctatgcgcatgttgcctgcacaaatgacggatattgttgttg
+ggttgtccactggtcagtcgccatttatggtgttaatgcagcagggcggccattcagcta
+tgcaggagacaagaatcgccagcttacccgttacagcgatacccgctggcatgaagattc
+cgtgcgtaaccgctggttcagcgtgatggtggggccgtctgtgcgcgtgaatgaatggtt
+cagcgcgtatgcgatggcgggtatggcttacagccgtgtgtcgactttctccggggatta
+tctccgcgtaactgacaacaagggaaggtgcgaataagcaggtcatttcttcccaagctg
+actcgctgattaaaatttcgcggatctgggccgatttttttcccgcaaacacatcgaatc
+agcctatttaggctattttttccaccatttctggcgttatttccggtttttactgagatc
+tctcccactgacgtatcatttggtccacccgaaacaggttggccagggtgaataacatcg
+ccagttggttatcgtttttcagcagccccttgtatctggctttcacgaagccgaactgcc
+gcttgatgatgcgaaacgggtgctccaccctggcacggatgctggctttcatgtattcga
+tgttgatggccgttttgttcttgcgcggattctgcttcaaggtttttaccttgccgggac
+gctcggcgatcagccagtccacatccacctcggccagctcctcgcgctgtggcgctcctt
+ggtagccggcatcggctgagacaaattgctcctctccatgaagcagattacccagctgat
+tgaggtcatgctcgttggccgcggtggtgaccaggctgtgggtcaggccactcttggcat
+cgacaccaatgtgggccttcatgccaaagtgccactgattgcctttcttggtctgatgca
+tctccggatcgcgttgctgctctttgttcttggtagagctgggtgcctcaatgatggtgg
+catccaccaaagtgccttgggtcatcatgacgcctgcttcggccagccagcgattgatgg
+tcttgaacaattgacgggccagttgatgctgctcgagcaggtggcggaaattcatgatgg
+tggtgcgatccggcagggcgctatccagggataatcgggcaaacaggcgcatggaggcga
+tttcgtacagggcatcttccatggcaccgtcgctcaggttgtaccaatgctgcatgcagt
+gaatacgcagcatggtctccagcggatagggccgtcggccattgcccgccttgggataaa
+acggctcgatgacagcggtcatattctgccatggcagaatctgctccatgcgggagagga
+aaatctcttttcgggtctgacggcgcttagtgctgaattcactatcggcgaaggtgagtt
+gatggctcatgatgtccctctgggatgcgctccggatgaatatgatgatctcatatcagg
+aacttgttcgcaccttcccaaggggaaaacgcacgacgtgctgaccggaagtgatgacgg
+tcgccacagcaacacgtctctggcgtggggagctggcgtgcagtttaacccgaccgaatc
+cgtggccattgatattgcttatgaaggccccggcagtggcgactggcgcactgacggttt
+catcgtgggtgtcggttataagttctgattagccaggtaacacagtgttatgacagcccg
+ccggttcaggcgggcttttttgtggggtgaatatggcagtaaagatttcaggtgtactga
+aagacggcacaggaaaaccggtacagaactgcacaatccagctgaaagcaaaacgtaaca
+gcaccacggtggtggtgaacacgctggcctcagaaaatccggatgaagccgggcgttaca
+gcatggacgttgagtacggtcagtacagcgttattctgttggtggaaggattcccgccgt
+cacatgccgggaccattaccgtgtatgaagattctcaacccggtacgctgaatgattttc
+tcggtgccatgacggaggatgatgcccgtccggaggcactgcgccgttttgaactgatgg
+tggaagaggtggcgcgtaacgcgtccgcggtggcacagaacacggcagccgcgaagaagt
+cagccagtgatgccagcacatcagcccgtgaggcggcaacccatgcggctgatgctgcgg
+actcagcacgcgcagccagcacgtcagccggacaggccgcgtcgtcggctcagtcagcgt
+cttccagcgcaggaacggcatcaacaaaggccactgaagcatcaaaaagtgctgccgctg
+cagagtcctcaaaaagcgcggcggccaccagtgccggtgcggcgaaaacgtcagaaacga
+atgcttcagcgtcactacaatcagcagccacatctgcatccaccgcgaccacgaaggcat
+cagaagctgcgacctcggcccgggatgcggcggcctcaaaagaagcggcaaaatcatcag
+aaacgaacgcatcatcaagcgccagtagtgcagcttcctcggcaacggcggcaggaaatt
+ccgcgaaggcggcaaaaacgtccgagacgaacgccaggtcttctgaaacggcagcgggac
+agagcgcctcggctgcggcaggctcaaaaacagcggctgcgtcgtctgccagtgcagcgt
+caacaagtgccgggcaggcctcagccagtgccaccgccgccggaaaatcggcagaaagcg
+ccgcatcgtctgcttcaacagccacaacgaaggctggcgaagccactgaacaggccagcg
+cagcagcgaggtctgcttccgcagcgaagacatccgaaacgaacgcgaaagcgtcggaaa
+caagcgcagaatcctcaaaaacggctgccgcatcgtcagccagttcggcggcgtcatcgg
+catcatcggcgtctgcttcaaaagatgaggcgaccagacaagcgtcagcagcgaagagca
+gcgccacgacggcatccacgaaggcgacagaggctgctggcagtgcgacggcggcagctc
+agagcaaaagtacggcggaatccgcggcaacgcgcgccgagacagcagctaaacgggcag
+aggatattgcatccgccgtggcgcttgaggatgcaagtacgacgaaaaaggggatagtac
+agctcagcagtgcgaccaacagtacgtctgaaacgctggcggcaacgccaaaggcagtaa
+aatcagcctatgacaatgcagagaaacgtctgcagaaagaccagaacggcgctgatatac
+ccgataagggatgcttcctgaacaacattaacgcggtcagtaaaacagactttgctgata
+agcgtggtatgcgttatgtgcgggttaacgctcctgcaggtgcaacatctggaaaatatt
+accctgttgttgttatgcgttctgctggctcagtaagcgaactggcatcaagagtcatta
+tcaccacggcaacgcgaaccgcaggcgatccgatgaataactgcgagtttaacggatttg
+ttatgcctggtggctggactgacagggggcgttatgcttatggcatgttctggcaatatc
+aaaacaatgaacgagccattcactcaataatgatgagtaataagggcgatgatttgcgct
+ctgtgttctatgttgatggcgctgctttccctgtttttgcgtttattgaagatggcctgt
+caatatccgcacctggtgctgatctcgttgttaatgatacgacctataagtttggggcaa
+caaatccggcgactgaatgtatcgcggcggacgttatccttgattttaagagtgggcgtg
+gtttttatgagtctcattcgttaatcgttaacgataacttgtcgtgcaaaaaactttttg
+ccacagacgaaattgtagcgcgtggtggtaatcagattcgaatgataggtggggagtatg
+gtgcattatggcgtaatgatggcgctaaaacttacctgctgcttaccaatcaaggtgatg
+tttatggtggctggaatacattaagaccgtttgctattgataacgcaaccggcgaactgg
+ttattggaaccaaactgtccgcaagtctgaacggtaatgcattaacagcaacaaagctgc
+aaacgccaagacgggtttctggtgttgagtttgatggttccaaagatattactttaaccg
+ccgcgcatgtggctgcttttgccagaagggcaacggatacatatgccgatgcggatggtg
+gcgttccatggaatgccgaatctggcgcttacaatgtcacccgctctggcgacagctata
+ttctggttaacttctataccggagtcggaagttgccggaccctgcagatgaaggcgcatt
+acagaaatggtggtctgttctaccgttcttcaagagacggttatggttttgaggaagact
+gggcagaagtttatacctcgaaaaatcttccaccagaaagctacccagtcggcgcaccaa
+tcccgtggccatcagataccgttccgtctggttatgccctgatgcaggggcaggcttttg
+acaaatctgcttacccgaaacttgcagccgcttatccgtcaggcgtgatccctgatatgc
+gtggctggacgattaagggcaaacctgccagtggtcgggccgtattgtctcaggaacagg
+acggcattaaatcgcatacccacagcgccagcgcatccagtacagatttggggacgaaaa
+ccacatcgtcgtttgattacggcactaaatccacgaataacaccggggcacatacacaca
+gtgtgagcggctctacaaactcggctggagcacacacacactcactagccaacgtgaaca
+cggctagtgctaactccggtgctggtagtgcatcaacaagattgtctgttgtgcataatc
+aaaactatgcaacatcatctgctggcgcacatacccactcactgtccggcactgctgcaa
+gcgcaggtgcacacgcgcatactgtcggtattggtgctcatacgcactccgttgcgattg
+gttcacatggacacaccatcaccgttaacgctgctggtaacgcggaaaacaccgtcaaaa
+acatcgcatttaactatattgtgaggcttgcataatggcattcagaatgagtgaacaacc
+acggaccataaaaatttataatctgctggccggaactaatgaatttattggtgaaggtga
+tgcatatattccgcctcatacaggtctgccagcaaacagtaccgatattgcaccgccaga
+tattccggctggcttcgtggctgttttcaacagtgatgagtcatcgtggcatctcgttga
+agatcatcggggtaaaacggtttatgacgtggcttccggcaacgcgttatttatttctga
+actcggtccgttaccggaaaatgttacctggttatcgccggaaggggagtttcagaagtg
+gaacggcacagcctgggtgaaggatacggaagcagaaaaactgttccggatccgggaggc
+ggaagaaacaaaaaacaacctgatgcaggtagccagtgagcatattgcgccgcttcagga
+tgctgcagatctggaaattgcaacggaggaagaaatctcgttgctggaagcatggaaaaa
+gtatcgggtattgctgaaccgtgttgatacgtcaactgcacaggatattgaatggccagc
+actgccgtagggtaaaacatataaattctataattagatgtatctttccatttacggcaa
+ggaagggggcttggaagacgtaaagcatctcacaccgagattattttttatatgtcaggt
+gtctgaagttttgctttggctcttaaaatggtttgccgcgaggttttgaattcccgggca
+atggcacttatacttacacctgacttaattcgttcgaataccacctgtttctgttcttca
+tttaacacaggaggtcgaccaaaacgtttccctgcgccgcgggctcttactatcccggaa
+tgagtgcgttcaagtaaaaggtctcgttcaaattcagcgactgctgaaattacttgcatc
+atcatttttcctgttggactggtcaggtcaatgccacccaatgctaagcaatgcactctg
+atacctgtttcggtcagttgttccactgttttcctgatatccattgcattacaaccaagg
+cgatccagttttgtcacaatcaattgatcaccacatttcaggcgagcaagcaaccggtta
+aaaccaggacgctcactggttgctgctgagccgctaatgtgttcttcgattatttgctga
+ggtttgattttaaaacctgcactttcgatttcccggcgttgattttcggtggtctgatcc
+agcgttgatatccgacagtaagcaaaaattcgagacatagtgagactctatacgaaattg
+gtgttcatatcataatgcatctcagaaaataattatgattatttttgtgcatatttgtat
+gtacacgttcgaaaataaacgaatgcgtatgcaaccccgtaattttggtgagacccaaaa
+tcgattttgtgaaaaatggctttaactcggtttgtttttcgagttccgggcggactcaag
+gaagaagaatagtgttgcgtgttattttaaccagatttcaagttgtttggtcgtggaaaa
+gtggagcaaaatgttgttaaagtggaaaaatgataaaaaagtaagtttattatattacat
+tttaccatttaaattttggttgtctttaagaactgatatcgctgtttgtaataattcttt
+gttatccagccatgatgttttctttatgtttccttcaatgtaatcaagcaatgttctggt
+attgataggtcttccctgttttgctacttccactacagcatcccctaggataattcttac
+ttcaggaagctgcgcagggaaccactttagggtgtcttttgatttcatgaagatattcct
+taaaatattattgattttcattgcgatattgtatgtctgattcaggatatgttgacttat
+acatcggttttgtctgggttattggatatgccaatccctaattttattagagcatgacta
+aaaatgctgaatatgataaggagcgaagtgattatcagtatgctgttcatatagcctcga
+attagtaatgtgttatatatgatatagttgacaatttttatcctgggtgttcttaaagtt
+cgtagataaacattgtcgtttcaggtatacaggaatgctaacaggtggcggcaaaaatca
+ggcggtttatggcgcaagctgaagtggcaactgcaaactatcttatgcagagactctaca
+cggattgggtttaaaagtatacatagataacagtttttatctgaagaagaaaaatatcaa
+ggtgatatagcctatatgcctttgatgcggaggaatgaatgtgatgggagtgatgtatct
+gaatagttgaaaaaccgcagtcacgtcgtatgcaagaacgtgctgcggttggtttgactt
+tgattgagacgttttggaatttttttcggtggcaaaaatggggcaaaacgctgcaaaagg
+ggcaaaaaaggggcaaaaaaagagtggattatcgtagcttattgttgtcgctgatgatat
+ttaacacattgaaaaataagtaaaatacttatgagtcagagagttgtgatttttgccctt
+acttgttcaggttgtattgttctttcttactaatttcttgattttgcgacatttaaaagc
+gactcaattcgttatatggcatcagaagagtatgcgtcatgccggaacgcccagcataag
+aaatctgatataaaaaactgtggcgtgtatggtacggattagaggggaaaatgtcagcac
+atttgcgaaatgaatcaaaaagcccgcagcaatgtgcgggcgttagtgtcagcgcacaac
+cagcacggagcactctgcgtgacgcactacagctgcggcgttggaaccgagcagataagt
+ggtgatatccggtcgatgggaagcaatgatgatcatatgagcggggatcttcttcgccaa
+ttccagaatgcggtctttgggcgagccttcctcaacatggacatgcactctgtcggttgg
+cagtttaaattttttaatgatctcttccagttgcgatttggcttccgctttcaggtcatc
+cattgccggtaattctgcggaatacgctaaacccagagaggcatagtagggcagtgaagg
+tattaccgtcaggaaatgaacctctgcatcatcaatctttgcctcttcctcaacgtggct
+aatcacgcgttgagttaattctgaatcggaaatatcgatagggacaagaatcgttctgtt
+cataaaacctcctgttttagtatccgcataaagtgtaacgccagatgacactttttgtgt
+aatgacggagttcacatttttaatttagatcaaaggaggaagaataagcagaaaaagccc
+gccataacagcgggcaggaggatttagaactgataaaccagacctaaagcgacaatatca
+tcggtagagatgccattggcagcgtagaagctgtcatcttcatccaacaggttgatttta
+tagtcaacgtaggtggacatgtttttattgaaatagtaagtcgcgccaatatcggcgtat
+ttaaccagatctttatcatcaacacctgccgggttgtctgcaccacccgcagcgtgcagg
+tcacggcctttagacatcaggaaagagactgccggacgcagaccaaaatcaaactggtac
+tgtgcagtgacttcaaaattctgggttttgtttgccacagcataatcgctgtcgccaaac
+ggggtcatattacgcgtttctgaatacatggttgccaggtaaatattgttagcatcgtat
+tttagcccagcagtccacgcgtctgctttatcaccacccgccgcagtatggttaacctgg
+tcattggtgcggtcagaagaggtgtatgccgcaccagcgctaaagcccatgcctaaatca
+tatgttgtggaaagaccccagccgtcaccgttttcatggcgaacatcacgtccgttgttg
+gtgccttcctgaccattactggctccttcgttgttaccttgatactgcaccgcgaagttc
+agaccatttaccagaccgaagaaatcagtattacgataagtcgcgacgccattggctcga
+ccagtcataaagttgtctgcattggtataagagtcaccgccaaattcaggcagcatatcg
+gtccagccttcgatgtcgtacattacgccataattacgtccgtaatcgaaagaaccgtaa
+tctgcaaatttcagcccggcaaatgccagacgggtccatgactggttttttgaagattca
+gtgttgtttgcctgaatattgtattcccattgaccgtagccagtgagttgatcgttaatt
+tgggtttcgcctttaaaacccagacgcgcatagctctggtcgccatctttcgctgaatta
+tcagaaaaataatgcaggccatcaactttgccatacagatctaatttgttgccgtcttta
+ttataaacttcggctgcatgtgcagcacctgcggcgagcagggcaggaattaaaagtgcc
+agtactttgcttttcattgaataaatcctttagttattttatttgccttttatccccatt
+tcggggagtgaaaacatcctaaaggagaagttcagttagccgataaatatcatttgttac
+gccttaagtaaaaccttaatcaaataattcctctgaaatgataataagtctggtgaatgt
+atcgaagataatacatacaaaataaaaattatacttttaatttgctatacgttattctgc
+gcgggttatatgcctttattgtcacagattttattttctgttgggccattgcattgccac
+tgattttccaacatataaaaagacaagcccgaacagtcgtccgggctttttttttagaat
+tggataatccttatccagagcatttaatcggtgttgcttttttccgcttttccggccatt
+tgtgccaggaagtcatagcgtttttgcaaatcagctgcagcatctttccataactgttct
+gccacttctggctgctgcgaattcagccgacggaaacgttgctcgtgaagtaacgtttct
+tccggtgcttctgacggcgggcgtgaatccaaggccagcggcagtttgccttcatcggca
+cgacgcggatcaaagcgatatagcggccagaagccggtagctgtgagttggcgcatctgg
+tcgtggctgagtgccagatcgtaaccatgctcttcacacgggctataagcaatgatcagc
+gatggccccggatacgcttccgcttcctgaatcgctttcaccgtctggttcagctgcgcg
+ccgagagaaatctgcgccacataaacatgaccgtacatcatcatactgacgccaagatct
+ttacgcgctttacgtttgccgtgctcgccaaatttagttactgcacccagcggtgtcgct
+ttcgacgcctgaccaccggtgttggaatagcattgcgtatccagcaccagaatgttgacg
+ttttccgtcaaactcaatacatgatccagaccgccaaagccgatatcgtaagcccagcca
+tcaccaccaatcagccagattgatttttccaccagtgcatctgcatcacgtagcagttca
+tgtgcttcggcaacatcgttgagttgctggcgtaaagctgcaacctgttcacgacgaacc
+tctggcgtggcgtctgatttcaacgccgtcagtaattccgccgggattttatcggcaaat
+tgatccagcagacgcagcacgcggacacggtgttgatcgaccgtcaggcggaaaccaagg
+ccaaattcggcattatcttcaaatagagagttcgcccatgccggcccacgaccgttggca
+tcggtggtatacggtgtagagggcaggttaccgccataaattgaagaacagccagtggcg
+ttagcgatcaacatccggtcgccatagagctgagtcagtaatttaatatacggcgtctcg
+ccacaaccggagcaagcacctgaatattcaaacagcggtgtaatcagctgcgatgtacga
+atatcaatacgttccagtttgctacggtcgatttctggcaggttgaggaagaaatcgtaa
+ttgattttctcttcttcgacatgttccaggcgagacatcatattgatggctttaatctct
+ggattctgacggtctttcgccgggcaaacttcgacgcacaggttacaaccggtgcaatct
+tccggtgccacctgcaagacatatttctgcccgcgcatatcacgcgatttcacatccagc
+gaatgcaggctggcaggggcgttttccatcgcttcaggcggcaccacttttgcgcgaata
+gctgagtgtgggcaagcggcaacgcagtggttacattgggtacagagttcctctttccag
+atggggatctcttcggcgatattgcgtttttcccagcgcgtagtgcccatcggccaggtg
+ccgtctggcggcagcgccgaaacggggagggcgtcaccaagcccggcgagcatcgcagcg
+gttacggttttcacgaaatcaggggcggcatcggaaaccactggcggtcgattggcgctg
+tgcggatttaccggttgcaacggaacttcttctacggattcacgcgccagcgccagagcc
+tgccagttgcgttccaccagatcctggcctttgctactgtaacttttggcaatcgcaccc
+tgcaattctgcgagggcgctatcgccaggcagaatttgcgtcagatggaaaaaagccatc
+tgcatgacggtattaatacgggccgccaggccacattcgcgggcgattttcgccgcgtta
+atcacatagaagcgcgcttttttctggtttaacacggcctgaacttcttgcggcaagcgc
+gaccacacttcatctgcgctgtacggcgtgttgagcaggaaaatgccgccaggttttaaa
+cgctcagccatctgatatttatcgataaactgcaactggtggcagccaacaaaatcagcc
+tgggaaatgagataagcggaacgaatcggctgttcgctcactcgaaggtgagaaaccgtc
+aggccgcccgcctttttggagtcgtaaacaaaatagccctgtgcgtaccacggcgtggaa
+ttaccgataatcttgatattgtttttggtcgcggaaacgctgccatcactaccaaggcca
+taaaacaaggcttccagtttcgccgagtttggcagggtgttttccggcaacggcagtgac
+agattggtcacatcatcgtaaataccaaccgtaaagcgcgctttcggtttagccgcgttg
+agctcggcaaataccgccagtacacagtctgggccaaattctttggatgaaagaccatag
+cgcccaccaatgacacggggcagagtttcgcgctcgccattattaaaggcttctgccagt
+gcggtcattacatccagatagagcggttctgcctgggcaccgggttctttggttctgtcc
+agtaccgccacgctgcgtacggatcccggcagagcttgcagtaaatgtttagcggagaag
+gggcggtacaggcgaactttcagcacgccaactttttcgccacgggttagcaattcatca
+accacttcttcacaggtgccaatggcagagcccatcaggataatcacccgttccgcttgc
+ggatgcccgtaatattcaaacggctgatactgacgacctgtcgcggcagagaaatcattc
+atcgcctgttcaacatggtcatagaccgcgttgtaccatgggttggtggcttcgcgagac
+tggaaataagtgtcaggattggcggacgtaccgcggatcaccggatgttccgggttgagt
+gcccgggcgcgatgagcatcaatttcgacctgcggcatgagatcaagaatcgtgtcatcg
+gccagcgggacaattttattgatttcgtgggacgtgcggaaaccatcaaagaaatgaata
+aatggcacgcggcttttcagcgtcgcgatttgcgaaatgagagcaaagtcttgcgcttcc
+tggacgtttgctgcacacaacatcgcgcaacccgtctggcgcaccgccataacgtcggaa
+tgatcgccaaaaatagagagtgcatgtgtggcaacggtacgtgccgctacatgcaggaca
+aacggtgttagttcgcctgccagtttgtacagcgtcgggatcatcagcagcaaaccctgc
+gatgacgtaaacgatgttgaaagggcacccgtctgcaaagcgccatgcacggtagcgata
+gcacccgcttccgactgcatttcaaccacgcgtggtgtgtctccccaaacgttctttaag
+ccgtttccggcccaggcatcagcctgttctgccatcgtggaactgggggtaatagggtag
+atggcgataacttcactggtgcgaaatgcgaccgaagcaaccgcgccattaccgtcaata
+gtaatcatatgacacccttacattgcgcaaatgaggggcgcacgaaattgctgcgcgccc
+agtagtaatctttcaattttagcaaatggctttcttctgcattttcgcttttgtgtcccc
+cacatcagcgtaatgaatgttttgatcaaacagagggcaaaaaaatagccataaaaaagt
+aaaaatgcggggcaacgcgcaggacagctctcgacgccgccctctgtgctgcctattatt
+tatggcggtgtcgtttggcttgaagatcagaggaagaaaagatgcgagcagcgttttggg
+tagggtgtgccgctttattgttgtcggcgtgtagtagtgaacctgttcagcaggcgactg
+ccgcgcacgtagcgccaggtttaaaagcgtcgatgtccagtagtggagaagcaaattgtg
+caatgatcggcggttcgctttctgttgcccgtcaactggatggtacggcgattgggatgt
+gtgcattacccaacggcaaacgctgtagcgaacagtcacttgccgccgggagctgtggca
+gctattaattcattaaatccgccagcttataagttaatgtctgttttgcggtcgccagcg
+ttaactggttcgcggtcagatccacttgtgcaccttctttcagcatttcgctaatggtgt
+tatcgagttcattaagctgcgggttagcgcacatcatacgggtcattgccagccctttgg
+ctgtcagttcaccattagacagtttgccttcaccgctaaagcggttacacatgctgccgg
+aaatcatcattttttcaccaaagctgatttctggcggatttttatcgctggtcacgggct
+taccgtttacgctttccagcacaaagcgatgatgctgtagctgttctggcgtaacagcaa
+ttttgtcattacttacacatcccgccatcagcaggcttagcgcaacaaacgcggctactt
+tcttcattgtggttctcaattacagtttctgactcaggactattttaagaatagaggatg
+aaaggtcattggggattatctgaatcagctcccctggaatgcaggggagcggcaagatta
+aaccagttcgttcgggcaggtttcgcctttttccagattgcttaagttttgcagcgtagt
+ctgagaaatactggtcagagcttctgctgtcaggaatgcctggtgcccggtaaacagcac
+gttgtggcaggcagacaggcgacggaatacgtcatcctggatcacgtcgttggatttatc
+ttcaaagaatagatcgcgttcgttctcatacacgtccatacccaacgaaccaattttctg
+atttttcagcgcttcaattgctgcctgagaatcaatcaatgcaccgcgactggtattgac
+gatcatcacgccatttttcatctgttcgaaggcggcttcgttcaacagatgatagttttc
+cggtgtcagcgggcagtgcagagagataacgtctgattcagagaacagggttggcagatc
+gacatactccacaccgagttccagcgccgctgcacttggatacggatcgaacgccagcag
+acgcataccaaaacctttcagaatgcgcagcatcgccacaccgattttaccggtaccgat
+aacgcctgccgttttgccatacatagtaaagccggtcagaccttccagagagaagttagc
+atcacgggtacgctgatacgcgcggtgaatacggcggttcagcgtcatcatcataccgat
+ggcgtgttcagcaacggcctctggatcataggctggaacacggactactttcagccccag
+ttcttttgccgcgtcaaggtcgacgttattgaaaccggcacagcgcagggcgatatattt
+aacgccgtgctttttcagctcttccagcaccgggcggctgccgtcatcgtttacgaaaat
+acataccgcttcgcagccattggcagttttagcggttttttccgtcagcagaaagtcaaa
+aaattccagctcaaagccaaaggactcgttcacctgttgcaggtacttcttgtcgtactg
+ttttgtgctataaacggcgagtttcataagactttctccagtgatgttgaatcacattta
+agctactaaaaatattttacaaaatttcaaatttaattgaaagctatggcgatattgaaa
+aattcatcaacaactatgcttagtgtaggcgcaaccttcaactgaacggttaaacatgcc
+acaatacccgtattgaatgcttaatttttcgctaaatcaggatattaactacccatgctg
+ggtaaatataaagccgttctcgcgctgttattactgattattcttgtgccgttgacgctg
+ctgatgacgctcgggctgtgggttcccacgctggcgggcatctggctaccgctcgggaca
+cgtattgcattagatgaaagcccacgcattacgcgtaaaggtttaatcattcccgatctc
+cgttatctggtgggagattgtcagcttgcgcatatcaccaacgccagcctttcacatccc
+agccgctggttattgaacgtcggcacggtagaacttgattctgcttgtctggcgaaattg
+ccgcagacggagcaatcgccagccgctccaaaaacactcgcgcagtggcaggccatgctg
+cctaacacctggatcaatatcgataaactgattttttctccctggcaggaatggcaggga
+aaactctctctcgcattaacctctgatatccagcaactgcgttatcagggcgaaaaagtt
+aaatttcaaggccagctgaaagggcaacaacttacagtcagcgaactggatgtcgtcgcg
+tttgaaaatcagccgccggtaaaactggtgggggaatttgctatgccgctcgtgccggat
+ggacttcctgtaagtgggcatgctactgcgacgttaaacttgccgcaggaaccgtcactg
+gtggatgccgagctggactggcaggaaaatagcgggcaattgatcgtgctggcacgggat
+aacggcgatccgttgctcgatttgccgtggcaaattactcgtcaacaattgaccgtaagc
+gatggtcgctggagctggccgtatgcaggttttcctttgagtggccgactgggtgtcaaa
+gtcgacaactggcaggcagggcttgagaacgctctggtcagcggacgactgagtgtgctg
+acccaggggcaagcgggtaagggcaacgcggtgcttaattttggcccaggaaaattaagc
+atggataacagtcagctgcctctgcagctgaccggtgaagcgaaacaggcggacctcatt
+ttatatgcccgtttacctgcgcagctaagtggaagtctgtctgacccaacgctgaccttt
+gagccaggcgcgttacttcgttcaaagggaagagtcatcgattcgctggacatcgatgaa
+atccgctggcctttagcgggtgtaaaagtcacccaacgtggtgttgacggacgtttgcag
+gccatcttgcaggcgcatgaaaatgaactgggcgatttcgtgctgcatatggatgggctg
+gcgaatgattttctccctgacgctggccgctggcagtggcgctactggggaaaagggagt
+tttacaccgatgaatgccacctgggatgtcgcaggaaaaggtgagtggcatgacagcacg
+attacgctgaccgatctctccaccggtttcgaccagttacaatacggtacgatgacggta
+gaaaagccgcgattaattctcgacaagcccatcgtctgggtacgtgacgcacagcatccc
+tcctttagcggcgcgctgtcactggacgccgggcaaacgctgttcactggcggcagtgtg
+ttaccgccatcaaccttaaaatttagcgtcgatgggcgcgatcctacctatttcctcttt
+aaaggcgatttacatgctggtgagattggcccggttcgggtaaatggtcgctgggacggt
+attcgtctgcgcggtaacgcctggtggcctaaacaatcactgaccgtattccagccgctg
+gtgccacccgactggaagatgaacttacgcgatggtgaactgtatgctcaggttgcattt
+tctgctgcgcctgaacaaggattccgcgcgggaggacacggcgtgttgaaaggcggtagt
+gcctggatgccagataatcaggttaacggtgtcgattttgtcctgcctttccgttttgcc
+gatggagcctggcatctggggactcgcggccccgttacgttgcgaattgccgaagtgatt
+aatctggtgacagcgaaaaatattacggctgatttgcaagggcgttatccgtggactgaa
+gaagaacccttgctgttgactgatgttagcgtcgatgtgttaggcggtaacgtactgatg
+aaacaattacgtatgccgcaacatgacccggcgctgttgcggctgaataatctctcatcc
+agcgaactggttagcgccgtcaatccgaaacaattcgccatgtccggggcatttagtggt
+gcactgccgttatggctgaacaatgaaaaatggattgtgaaagatggctggctggcgaat
+agcgggccgatgacattgcgactggataaagacactgcggatgcggtggtaaaagacaat
+atgactgcgggttcagcaattaactggttgcgctatatggaaattagccgttcatcgaca
+aaaattaatttagataatctcggtttattaaccatgcaggccaacattacaggtaccagt
+cgcgttgatggtaaaagcggtacggtaaaccttaattaccatcatgaagagaatattttt
+acgctgtggcgcagtttacgctttggcgataatctccaggcatggctggagcagaacgca
+cgtctgccgggaaatgactgtccgcaaggaaaagagtgtgaggaaaaacaatgaaaattt
+tactggctgcgttgacgtcatcttttatgctggttggctgtacgcctcgcattgaagtcg
+ctgcacctaaggaaccgatcactatcaatatgaacgttaaaattgagcatgagatcatca
+tcaaggcagacaaagatgtcgaagagctgcttgaaactcgtagcgatcttttctgaggtg
+atgatgaagaaaacattacttctttgtgcgtttcttgttgggctggtaagcagcaatgta
+atggcattgactctggatgaagccagaactcaggggcgggtaggtgaaacattttacggt
+tatctggttgcgctgaaaacggatgctgaaacagagaaattagtagccgacattaatgcc
+gaacgtaaagcgagttaccaacaactggcaaagcaaaataatgtgtcggtagatgatatc
+gcgaaactcgccgggcaaaagctcgtagctcgggccaaaccgggggaatatgtacaaggg
+ataaacggtaaatgggtgcgaaaattttaatagcaaaaccgcaatatcgggataacgcta
+caggagaaggcgattgatctattttcctgaaacaaggtgaatattcaaaaactcctgtca
+aattgccttttgccctgaaaaatgcatagtcaaatatctgttttaactaattggcgttgc
+agtacatgcaacgccaattagttagcggaatttacgtcgatactcgcctggcgtcatccc
+aaagcgttgcttaaataccgttgaaaaatgactctggtcagaaaatccccaatgaaagcc
+gatgcctgccagtttttcatcatctgcggcatggcgaatcgcatctgcacaaaaatcgag
+acgacggttacgaatatattgcgcgactaccaaacctttatcggcaaacattcggtacaa
+actacgtactgacatacctgtctctccggctatccactccgggcgtaatatctcttcgcg
+aatattatcgtctatcaacgtaaccactttttgaaactgacgttcacgacgaggttgaac
+agattcccgctgatgaagtaccgggcgcagcagacacaccatcgcctgtagcgcagcttc
+actttctgtttcagaaagtgccggattattcatgctctcctgtaacaggcgatgactgag
+ttgcaccatgggtaagtcagcgtccagtctttctgcgcagataggtttttgatggggaaa
+atattgttccagcagagtgcgtggcaaaagtaatgaaatctgtttagaagactcctgcca
+gtaaagcgaacaggggcgtgaggcatcgagtaacgtaatatcgccagcgccaatctgcac
+ctgacgctcatcctgctccattattgcctgaccactaagctgaaaaacggtgtaaaacca
+ggcatcgtcgctgccttttacttcctgccaggtgcgggataaattcaccccgctggttgt
+cacggtactcagctttagtcctttggcaaaatgcgtgtccagtacacccgtgtaacgctc
+agtcagcaggcgtccggtaaaatttccgcatacctgattgatttgggaaagccattgctg
+aaactcattatccactgcggggttcatggcacgttttcgctctgtgaaatgtatttttat
+tgttgcatttgtgttgcaataaacgaagctaatgagcctgactataggaaataagtcttg
+tcaggcatagagacataagcggttattgtcacgatttgcggagcttgtcacagctgacaa
+agcgaatgtcacagcgaaaaaagtgacttttcttgtcgctgcgtacactgaaatcacact
+gggtaaataataaggaaaagtgatgacagagccgcatgtagcagtattaagccaggtcca
+acagtttctcgatcgtcaacacggtctttatattgatggtcgtcctggccccgcacaaag
+tgaaaaacggttggcgatctttgatccggccaccgggcaagaaattgcgtctactgctga
+tgccaacgaagcggatgtagataacgcagtcatgtctgcctggcgggcctttgtctcgcg
+tcgctgggccgggcgattacccgcagagcgtgaacgtattctgctacgttttgctgatct
+ggtggagcagcacagtgaggagctggcgcaactggaaaccctggagcaaggcaagtcaat
+tgccatttcccgtgcttttgaagtgggctgtacgctgaactggatgcgttataccgccgg
+gttaacgaccaaaatcgcgggtaaaacgctggacttgtcgattcccttaccccagggggc
+gcgttatcaggcctggacgcgtaaagagccggttggcgtagtggcgggaattgtgccatg
+gaactttccgttgatgattggtatgtggaaggtgatgccagcactggcagcaggctgttc
+aatcgtgattaagccttcggaaaccacgccactgacgatgttgcgcgtggcggaactggc
+cagcgaggctggtatccctgatggcgtttttaatgtcgtcaccgggtcaggtgctgtatg
+cggcgcggccctgacgtcacatcctcatgttgcgaaaatcagttttaccggttcaaccgc
+gacgggaaaaggtattgccagaactgctgctgatcacttaacgcgtgtaacgctggaact
+gggcggtaaaaacccggcaattgtattaaaagatgctgatccgcaatgggttattgaagg
+cttgatgaccggaagcttcctgaatcaagggcaagtatgcgccgccagttcgcgaattta
+tattgaagcgccgttgtttgacacgctggttagtggatttgagcaggcggtaaaatcgtt
+gcaagtgggaccggggatgtcacctgttgcacagattaaccctttggtttctcgtgcgca
+ctgcgacaaagtgtgttcattcctcgacgatgcgcaggcacagcaagcagagctgattcg
+cgggtcgaatggaccagccggagaggggtattatgttgcgccaacgctggtggtaaatcc
+cgatgctaaattgcgcttaactcgtgaagaggtgtttggtccggtggtaaacctggtgcg
+agtagcggatggagaagaggcgttacaactggcaaacgacacggaatatggcttaactgc
+cagtgtctggacgcaaaatctctcccaggctctggaatatagcgatcgcttacaggcagg
+gacggtgtgggtaaacagccataccttaattgacgctaacttaccgtttggtgggatgaa
+gcagtcaggaacgggccgtgattttggccccgactggctggacggttggtgtgaaactaa
+gtcggtgtgtgtacggtattaatctggttcgctcataagtaaaaaacggcacctggtgcc
+gtttttttgtctgaaacaatcacttatctttcttcagcgcccctagcgttggcgtttcgt
+caaagaagttccatggtttcagcagagtatgtacccattcggtcggcataatcggccact
+cttcggcgcgggccacatgtgtggtgccggtggtcatccagacaacggcgtcggtgttgt
+ccagcgactcgttatccttactgtattgtccaagaccggtgtcatgagtagaacggttcg
+gatatttgccttccgggaaacgctcgccaggatgataacgcgttacccagagctgcttgt
+ccataaagcttaaacgatgatagatccactcgtccggcgcgaactgggcaccttttgcta
+ccgggtgagtaccacctgcataaggaataatttgataggaaaccggattgcccatgcggt
+tctctttgttcgggttactcaacagacgaatcgtgcccggatcaaatttctgtgcggcat
+cctgttcattgccgatgttgtactgattaacttgcatggtactggtgcgtgggccaccgg
+cagtattcggttttaccactgggtccatcgccaccaggctgttattctcgccatctacat
+ccagatcgaggcggaaattataaatatgttggtgtgtagtacccacgatattgtgatcga
+taagcgtgccgtagcgcgtgtcatctttcgccgtctcatcgtgcatggttttcgctttaa
+cacctttcaccgcttcgatgcccgtagcaccggcatcgatgccaatagtgccgttttcat
+ggaagatccagtcaaaaatgtagtcatagttacccactgtactgatccagcgcaccacta
+actcccggcgttcggtactgacgttgggctggcccatttcctgatgcttatactccggcc
+cggcataacgttcaaataccgcgatagcgcgagggatctccatcggcacgccagtgtagt
+cggcgatggtttcattaaggagcactgcgttagacggggcatctttaccacgagcaattg
+gtgaggttagcgtgcccataccgtagtcaccagagtccagatacgctttaaagtaccagc
+caatatcaggatcaccgtaaggcacaatcatgccgccgagagaaccttcgtacatgactt
+tgcgtttggtgccattgtcgttataagtcacggtggagatcatcggcccgacgcgagagt
+tcatgctgaggtgaaaatcccagttccgccagtgaatcatatcgccagtaatggtgtaat
+ttttaccttcaggctcaatgatttgcataggcttaactgccggagcaacgcggtcacggc
+catcaaatgggcgtgcggtcattggcaccggaactaccggaccttcttcaatcttaacga
+tttttttctgttctaaatcaacgaccgccaccaggttttcgatgggatgtgcccagtagt
+tgccatcaccgacatcaagatagctgatgactttgagcaaccgggcatcttgtttcaggc
+catctttaccatcgaaataacctacggtcagcggcgtggtaatcacttttttcgcatcag
+taataccgcgtttcttcacggcagcggcaaattcttcactgttgttaataatgttctgca
+cactggcgaaatcatccagcaacaccataccgtgggcgtctttaatgggttgccaggaga
+gcagtttgttgttttgcagatccaccaccgcttcgatgatatgtttgccgtcgagcataa
+tgacgtcggctttgcgcggctggtcaaccggtttgttttccagcgcaaacgcccagacag
+cttctttatctggcggtagcagggagatctcagtaaaacgggtattgggtttgaagtccg
+cggaagctttaacaatttcaacggcctgtttaatttcgtccgcagttagcgcattaagtg
+ggtgagggcgcttttctacctgaaaggtttgatccagcccggactggaaaacatcgttaa
+taaaggtgtcagaaacccaggctttattgtctttcatcactaccggtacttgcagtgcca
+gaggctgaccattaacaattgctgtttgcgcaccaggcttcactttcacgtacgcgccat
+ctttaatcagggtaaagagctgggcgtagtcgtcccactgcacatcggcaccaaattctt
+taagcgttttatccattggcaccatatgcgcttcaccaccgtgggcaaataccggcgctt
+gccaggcgaaacttaaggcgactgccaacgccagggttgttttacgggcagaatacagag
+aggggcttcccattattaacctcgtcagatgttgtgttcttgttagcaaccgcgctctgt
+gggcggtttagtcaggttcacattatcagtactgatgcaaaggggattgcctgcacctgc
+caggttgtttggcaggtgtgccagcttttcatacagtggatgccctgaaaatagatgtac
+acatcatgcataatgtgacaacgtcacaaaacttagtgaaataaaagggcaactattcgc
+cgttgcccttcattcaccgattaatcgacaaaatcaccgtgctgcctggccaccagcgtc
+agaattgaatacagcgccaccggggtttgatgctgattgaatacctctacagcccattcc
+accacacctgttggtttttcttctgcgctacgctgttttttcagcgtcttgcgcttacag
+gtgagacgcacctggatggtatcgcctggctttacgggttcgataaaacgcaagctttcc
+agcccgtagttagcaatgaccggaccgacaccggcatcgacaaacagacccgcagccgca
+gaaagcacaaaatacccatgcaccacccgctcaccgaaaatagattcggcagcagcaatc
+ttatccatatgtgcatagaaatgatcgccgctgaggcaagcaaagttaacaatatcggcc
+tctgtcattgtgcggcggggagtcaacaggctgtcgcctggttgtagctcctcaaaatat
+ttgcggaacggatgaatacgatcttcttcgactttcgcaccgcgcacccactgtttactg
+atagcggcaagcatcgtcggactaccctgaacagcggttcgctgcatgtaatgtttcacc
+gctcgtaaaccgcctaattcttcaccgcctcctgcgcgaccaggcccaccatgtaccagt
+tgtggcagtggggagccatgcccggtggattcttttgccgactcttcattgaggatctga
+attcgcccatgcgtacgtgccgcgtcggcaataaactgacgcgcaatttgcggatcagcc
+gtcaccagcgttcccgcaaggctaccgccgcctgcacaagccagttgcagagcatgtcgc
+tggttttgtgctggcatcagcgttgcgacagggccaaaggcttctgttgcatgtaccgcc
+ggtgtttcatccggctgcggacagtacaataaggttggcgggaagaaggcacccgcagca
+gataaatccgcctgaccaccgaggcgaatctcgcatcctgcagccagcaatatgttcact
+ttttcctgcacatcggcacgctgctcagcatttaccagtgcgcccattttcacgccttcc
+tgagcaggatcaccgaccacgactttctgtaatcgcgcaaccagagcatcactgacagca
+ttaaccaatgcctgcggcacaataatccgccggattgccgtacatttttgcccggctttt
+gtggtcatctcacgcacaacttcacgaataaacagcgcaaactccggttgatccggggtg
+acatcttcgcccagtacgcagcagttcagggaatcagcttccatagtgaaggggatagat
+ttggcgacgatatttggctgaactcgcagcatctgtccggtcgccgctgaccccgtgaaa
+gtcaccacatcctggctgtccagatgatccaacaagtcgccagcactaccgcagatcaga
+ctaattgcgccttcgggaacaagaccactatcgacaattgatttcaccatcgcctgagtc
+agttgggccgtcgcggtagctggtttgatgatggctggcattccgcccagccacgttggt
+gccagcttttccagcattccccagcaggggaagttaaaggcgttaatatgcactgccacg
+cctgactttgaggtcagtaaatggcgcgcggcaaatccaccttctttcgataaggggatc
+aattcatcttccggccacagcgtatcgtcaggcagctcccggctaccgaggctggcgtaa
+gtaaataacgtcccaatgccaccttcaatatcaacccaactgtctgcccgcgttgcgcct
+gtttgcgcagaaagagcatagaaacgctctttttcactcagcagatgtttagcgaccgct
+ttaagcatcgccgcacgttcgataaaggtcatagcgcgaagggcgggggcacctttttca
+atggcaaactggcgggcagccgccatatcaagaccttcactggtcacttcccataacgcc
+tcgccgctaatagcgtggtgaatcaaacggctacggccccggccagactgccaggtaccg
+gataagaaactggctaactgctgcatcgctactctccagatgtttcacatttctgttgct
+aatagttaaatcgcgaatcataaaaagcaaaggatcttttaacgaaatgttaactatgcg
+atctgtatagcaactgcggaaaacattaatgcactgataaataatgatttataaaaatag
+ggtgcgaaatccgtcacagttcaaacatacaaaatttgtgattttacttaactattgtgt
+aactttcataaaacaatgtgattcgtgtttttaattaattcacgaaaactggaatcgtaa
+aggtgatgacgtgacccaagaagaacgctttgagcaacggatagcccaggaaacggctat
+cgagccacaggactggatgcccgatgcttaccgaaagacattgatccgccagattgggca
+gcatgcgcactccgagattgttggtatgttgcctgaaggtaactggatcactcgcgcacc
+aaccttgcggcgtaaagccattctgttggccaaagtgcaggatgaagccggtcatggtct
+gtatctctatagcgccgccgaaacactgggctgcgccagagaagacatctaccaaaaaat
+gctcgacggacggatgaaatattcctccatctttaattatccgacattgagttgggctga
+tatcggtgttatcggctggctggtggatggcgcagcgatcgtcaatcaggtggcgttatg
+ccgcacttcttatggcccgtatgccagagcaatggtgaaaatctgcaaagaagagagttt
+tcaccagcgtcaggggtttgaagcctgcatggcactggcgcagggcagcgaagctcaaaa
+gcagatgttgcaagacgccattaaccgtttctggtggccagccttaatgatgttcgggcc
+aaacgatgataactcgccaaacagcgccagaagtctcacctggaaaatcaaacgtttcac
+caacgacgaactccgccagcgtttcgtggataacaccgttccacaggttgaaatgctcgg
+tatgaccgttcctgacccggatctgcattttgacactgaaagcggtcactaccgctttgg
+tgagatcgactggcaggagtttaacgaagtaattaacggtcgcggaatttgtaatcagga
+gaggctcgacgccaaacgtaaagcctgggaagaaggtacctgggtacgggaagcagcgct
+ggcccatgcacaaaaacaacatgcccgtaaggtcgcataaggagattcaaaatgagtaat
+gtttactggccgttatacgaagttttcgtgcgtggcaaacagggcttatcacaccgccat
+gttggcagtttacatgctgccgatgagcggatggcactggaaaatgcccgtgatgcttac
+acccgtcgtagcgaaggatgttcaatttgggtggtgaaggcgagtgaaattgttgcctcg
+caaccggaagaacgcggtgaattttttgatccggctgaaagcaaggtctatcgccatcca
+acgttttacaccatccctgatggcattgagcacatgtgaggtcggaaatgaatcagttaa
+cggcttacaccttgcgcctgggcgataactgcctggtgctctcccagcggttgggtgaat
+ggtgcggtcacgcaccggaactggaaatcgatctcgcactggcaaacattggcctcgatt
+tattaggtcaggcacgcaacttcttatcgtatgccgctgaattagcgggagaaggcgatg
+aagataccctggccttcacccgagacgagcgccagttcagcaacttattgttggttgaac
+aaccaaacggcaattttgccgacaccattgcacgccagtatttcatcgatgcatggcatg
+tggcgctctttacccgtctgatggaaagccgtgatccgcaactggcggcgatttctgcca
+aagcaattaaagaagcgcgctatcacctgcgttttagtcgtggctggctggagcgactgg
+gcaatggtactgacgtatcagggcaaaagatgcagcaggccatcaacaagttgtggcgtt
+ttaccgccgaactgttcgatgccgacgagattgatattgcactgagtgaagagggtattg
+cggttgatccacgcactttacgcgcagcgtgggaagccgaagtttttgccgggatcaacg
+aagccacattgaacgtaccgcaagagcaggcgtatcgcactggcggtaaaaaaggactgc
+ataccgaacaccttggacccatgctggcagaaatgcagtatctccagcgtgtcttgcccg
+gtcagcaatggtaacagaggagatgggtatgcaacgtctggccaccattgcaccgccaca
+ggttcatgagatatgggcgctactcagccagatcccggacccggagatcccggtgctgac
+cattactgatttaggcatggtgcgtaatgtgacacagatgggagaaggatgggtgatcgg
+ctttacgccgacatattccggttgtccggcaacggaacatttgattggcgcgatacgtga
+ggcaatgacaaccaacgggtttacccccgttcaggttgtgctgcaactcgacccggcatg
+gaccaccgactggatgacccccgatgcccgtgagcgtctgcgagagtatggcattagccc
+gcccgccggacacagttgccatgcccatttgccgccagaagtacgttgcccgcgctgcgc
+cagcgtccataccacacttatcagtgaatttggttccacggcctgcaaagcattgtaccg
+ctgcgatagttgccgcgaacctttcgattatttcaaatgtatttgaggatgccatgacaa
+cgtttcattccttaacagtggcaaaagtcgagtcggaaacccgtgatgcggtgaccatta
+cctttgcggtgccccagcctttgcaggaggcgtatcgctttcgccccggtcaacatttga
+ccttaaaagccagctttgatggtgaagaattacgccgttgttactccatttgccgcagct
+atctgcctggcgaaattagtgtggcggtgaaagccattgaaggcggacgtttctcccgct
+atgcccgcgaacacatccgccagggtatgacgctggaggtcatggtgccgcaggggcatt
+tcggctatcagccgcaggccgaacgccaggggcgctatctggcaattgcagcaggatcag
+gtattacgccaatgctggcgattatcgccaccactttacaaaccgagcctgaaagtcagt
+tcaccctgatctacggtaaccgtaccagccagagcatgatgtttcgccaggcactggcag
+acctgaaagacaaatatcctcagcgtttacagttgttgtgcattttcagtcaggaaaccc
+tcgacagcgatctgcttcacgggcgtattgacggtgaaaaattacagtcacttggggcct
+cgctcattaattttcgtctttatgatgaggcatttatttgtggtccggcggcgatgatgg
+atgacgcggaaaccgccttaaaagcactgggaatgccagataaaaccattcatctggagc
+ggtttaatacgcctggcacgcgcgtcaaacgtagcgttaacgtgcaaagtgacggacaaa
+aagtgactgtacgtcaggatgggcgggatcgggaaatcgtgcttaatgccgacgatgaaa
+gcattctcgatgcggcattgcgccagggggcggatctgccctatgcctgcaaaggcggcg
+tctgtgcgacctgcaaatgcaaagtgctgcgtggcaaagtggcgatggaaaccaattaca
+gtctggaaccggatgaactggccgcaggttatgtgttgagttgccaggcactgccgctga
+ccagcgatgtggtggttgactttgacgcgaaggggatggcatgagcgaactgatcgtcag
+ccgtcagcaacgagtattgttgctgacccttaaccgtcccgccgcacgtaatgcgctaaa
+taatgccctgctgatgcaactggtaaatgaactggaagctgcggctaccgataccagcat
+ttcggtctgtgtgattaccggtaatgcacgcttttttgccgctggggccgatctcaacga
+aatggcagaaaaagatctcgcggccaccttaaacgatacacgtccgcagctatgggcgcg
+attgcaggcctttaataaaccacttatcgcagccgtcaatggttacgcgcttggggcggg
+ttgcgaactggcattgttgtgcgatgtggtggttgccggagagaacgcgcgttttgggtt
+gccggaaatcactctcggcatcatgcctggcgcaggcggaacgcaacgtttaatccgtag
+tgtcggtaaatcgttagccagcaaaatggtgctgagcggagaaagtatcaccgctcagca
+agcacagcaggccgggctggttagcgacgtcttccccagcgatttaaccctcgaatacgc
+cttacagctggcatcgaaaatggcacgtcactcgccgctggccttacaagcggcaaagca
+agcgctgcgccagtcgcaggaagtggctttgcaagccggacttgcccaggagcgacagtt
+attcaccttgctggcggcaacagaagatcgtcatgaaggcatctccgctttcttacaaaa
+acgcacgcccgactttaaaggacgctaatgatggaattcatcctcagtcatgtagaaaag
+ggcgtgatgacactaacgctcaaccgcccggaacgcctgaacagttttaatgatgagatg
+cacgcacaactggcagagtgcctgaaacaggtcgagcgcgacgacactatccgttgcctg
+ttacttacaggtgccgggcgcggattttgtgctggtcaggatcttaacgatcgtaacgtt
+gatcccacaggccccgcaccggatttagggatgtcagttgaacgtttctataacccactg
+gtacgtcgcctggcaaaactgccaaaaccggtgatctgtgcagtcaatggcgtggcggca
+ggggcaggcgcaacactggcactggggggcgacatcgttattgctgcccgttcagcaaaa
+ttcgtcatggcgtttagtaagttaggcttaatacccgattgcggtggaacctggttactg
+ccacgcgttgccggacgagcgcgcgccatggggctggcactgctggggaatcaactgagt
+gctgaacaggcgcacgaatgggggatgatctggcaggttgttgatgatgaaacgctggca
+gataccgcgcaacagctggcacggcatctggcgacacaaccgacatttggtcttggactt
+atcaagcaagcgataaatagcgctgaaaccaatacgctcgatacgcaactggatctggaa
+cgtgactatcagcgacttgccggacggagcgcagattatcgtgaaggtgtcagtgcgttc
+ctggctaaacgctcaccgcagttcacggggaaatagcatgatgataaatgtgcaaactgt
+ggcagtgattgggagcggcaccatgggggcaggcattgctgaagttgctgccagtcatgg
+acaccaggttttactgtatgacatttctgctgaagcgctgacccgcgcaatcgacgggat
+acacgcgcggctaaattcacgcgtgacgcggggaaaactgactgctgaaacctgtgaacg
+cacattgaaacgcctgatcccggtgaccgatattcacgcgctggcagctgcggacctggt
+cattgaagcggcgtctgaacgtctggaagtcaaaaaagcgctctttgcacagctggcgga
+agtttgcccgccacaaacgctattgaccactaacacttcgtcaatctctataaccgcgat
+tgctgcggagataaaaaatcctgaacgtgttgcggggctgcatttttttaacccggcacc
+ggtgatgaagttggtggaggtggtcagtgggctggcaacggcggcggaagttgttgagca
+gttgtgtgaactaacgttgagttggggtaagcagcctgtgcgctgtcattcgactcctgg
+atttatcgttaaccgtgttgcgcgtccttattattccgaggcctggcgggcactggaaga
+gcaggttgctgcaccagaagtgattgacgctgcacttcgcgatggcgctggtttcccgat
+ggggccgctggaattaaccgatctgattggtcaggacgtcaattttgctgtcacctgttc
+ggtgtttaacgctttctggcaggagcgtcgttttttaccttcgctggtgcaacaggaact
+ggtgattggtggacggttgggcaagaaaagtgggctgggcgtgtacgactggcgcgcgga
+acgtgaggcagttgttggcctggaagcggtaagcgacagttttagcccaatgaaagtaga
+aaagaaaagtgacggtgtcacggaaattgacgatgttttattgattgagacacaaggcga
+gacggcacaggcgctggcaatacgactggcacgcccggtggtagtgatcgataaaatggc
+gggcaaggtggtgaccattgctgctgcagcggtgaacccggactcagcgacccgcaaggc
+catttattacctgcaacagcagggcaaaacagtgctgcaaattgcagattacccaggaat
+gctgatttggcgaacggtagcaatgatcatcaatgaagcccttgatgcgcttcaaaaagg
+cgtggcctctgaacaggatatcgataccgccatgcgtcttggggtgaattatccatatgg
+cccacttgcctggggagcgcaacttggctggcagcgaatattaaggctccttgaaaatct
+acagcatcactatggcgaagaacgctatcgcccatgttcattgctgcgccaacgggcgct
+tctggagagcggttatgagtcataaggcctggcaaaatgcccatgcaatgtatgagaacg
+atgcctgcgccaaagcgcttggcatcgacattatctcaatggatgaaggctttgctgtag
+tgaccatgaccgtcactgcacaaatgcttaacggtcatcaaagttgccacggcgggcagc
+tattttcactggctgatactgcctttgcctacgcctgcaatagccaggggctggcagccg
+tcgcttctgcctgcacgattgattttttgcgtccaggctttgccggagacaccttaactg
+ctactgcgcaggtacgtcatcagggcaagcaaaccggtgtttacgacatcgaaattgtta
+accaacaacaaaaaacggttgcgctgtttcgcggtaaatctcaccgcatcggcggcacca
+ttacaggagaagcctgatgcgtgaagcctttatttgtgacggaattcgtacgccaattgg
+tcgctacggcggggcattatcaagtgttcgggctgatgatctggctgctatccctttgcg
+ggaactgctggtgcgaaacccgcgtctcgatgcggagtgtatcgatgatgtgatcctcgg
+ctgtgctaatcaggcgggagaagataaccgtaacgtagcccggatggcgactttactggc
+ggggctgccgcagagtgtttccggcacaaccattaaccgcttgtgtggttccgggctgga
+cgcactggggtttgccgcacgggcgattaaagcgggcgatggcgatttgctgatcgccgg
+tggcgtggagtcaatgtcacgggcaccgtttgttatgggcaaggcagccagtgcattttc
+tcgtcaggctgagatgttcgataccactattggctggcgatttgtgaacccgctcatggc
+tcagcaatttggaactgacagcatgccggaaacggcagagaatgtagctgaactgttaaa
+aatctcacgagaagatcaagatagttttgcgctacgcagtcagcaacgtacggcaaaagc
+gcaatcctcaggcattctggctgaggagattgttccggttgtgttgaaaaacaagaaagg
+tgttgtaacagaaatacaacatgatgagcatctgcgcccggaaacgacgctggaacagtt
+acgtgggttaaaagcaccatttcgtgccaatggggtgattaccgcaggcaatgcttccgg
+ggtgaatgacggagccgctgcgttgattattgccagtgaacagatggcagcagcgcaagg
+actgacaccgcgggcgcgtatcgtagccatggcaaccgccggggtggaaccgcgcctgat
+ggggcttggtccggtgcctgcaactcgccgggtgctggaacgcgcagggctgagtattca
+cgatatggacgtgattgaactgaacgaagcgttcgcggcccaggcgttgggtgtactacg
+cgaattggggctgcctgatgatgccccacatgttaaccccaacggaggcgctatcgcctt
+aggccatccgttgggaatgagtggtgcccgcctggcactggctgccagccatgagctgca
+tcggcgtaacggtcgttacgcattgtgcaccatgtgcatcggtgtcggtcagggcatcgc
+catgattctggagcgtgtttgagcatatcaacctgcgagtaccctacaatgataaccaat
+acaaagcttgacccgattgaaaccgcgtctgttgatgagttacaggcgttgcaaacacag
+cgtctgaaatggacgctcaaacacgcgtatgaaaatgtgccgatgtatcggcgcaaattc
+gacgcagcaggcgtacatcctgatgatttcagggaactttcagacctgcgtaaatttccc
+tgtaccaccaaacaggatctgcgcgacaactatccctttgacacctttgccgtgccaatg
+gaacaagtggtgcgcattcatgcttcttcgggaaccacaggtaaaccgacagttgtcggc
+tatacgcaaaacgatattgataactgggccaatattgtagcgcgttctttgcgtgcggca
+gggggctcgcccaaagacaaaattcatgttgcctatggttacggcctgtttactggtggg
+ctgggtgcgcactatggtgccgaacgtctgggcgctacggtgatcccgatgtctggcggg
+cagacggaaaaacaagcgcaactgatccgtgattttcaaccagatatgatcatggttacg
+ccatcttattgccttaacctgattgaagagctggagcggcagttgggcggtgatgccagc
+ggttgctcgctgcgggttggagtatttggtgctgagccgtggacacaggccatgcgtaaa
+gagattgagcgtcgcctggggatcaccgcactggatatttatggcctgtcagaagtgatg
+gggccgggggtggcgatggagtgtctggaaactaccgacggcccaaccatttgggaagat
+catttctatcctgaaattgttaatcctcatgacggcacaccgcttgccgatggtgaacat
+ggcgaactgttattcaccacgctgaccaaagaagcattgccggtcattcgttaccgcacg
+cgtgatttaacccgactgttaccaggaacggcgcggactatgcgccgcatggatcgcatc
+agcggacgcagcgatgacatgttgattattcgcggtgtaaatgtctttccgtcacaactg
+gaagaagagattgtcaaattcgaacatttatcgccgcattaccaactggaggtgaaccgc
+cgggggcatcttgattcactttctgtgaaagtggagttgaaagaaagtagcctgacattg
+acgcatgagcagcgttgccaggtatgccaccagctgcgccatcggattaagtcgatggtg
+gggatctctaccgatgtgatgatcgttaactgtggcagtatcccgcgttcagaaggcaag
+gcgtgtcgggtgtttgatctgcgcaatattgttggtgcctgacgtatcgtctggccctgg
+tggggtaaagcgccagggccagaagtcgatacgacctgtgctatgattcataaatcacaa
+caataacaacagactgaagcgaatgagtaaacttgatacttttatccaacatgctgtaaa
+cgctgttccggtcagtggcacatctttgatctcctctctgtatggtgattcgctttccca
+tcgtggtggtgaaatctggttgggtagtctggctgctttgctggaagggctgggatttgg
+tgagcgtttcgtgcgcaccgctttgtttcgtcttaataaagaaggctggctggatgtttc
+ccgcatcgggcgacgcagtttctatagcctcagtgataaaggcttgcgcctgacgcgacg
+ggcagaaagtaaaatttatcgcgcagagcaacctgcatgggatggtaaatggctcctgtt
+gctctcggaaggtttagataaatcaacgctggctgatgtcaaaaagcagttgatctggca
+aggttttggcgcactggcacccagcctgatggcatcgccgtcgcaaaaactggccgatgt
+acagacacttttgcatgaagcgggtgtggcggataacgtgatttgttttgaagcgcaaat
+accactggcgctttctcgcgcagcactgcgtgccagagtagaagagtgctggcatttaac
+tgaacaaaatgccatgtacgaaacctttattcagtcattccgcccgctggtgccgctttt
+aaaagaggcggcagacgagttaaccccggagcgggcatttcatattcagcttttactgat
+ccatttttatcgccgtgtcgtccttaaagacccattgttgccggaggagttgcttccggc
+acactgggcagggcatacggcgcgtcagctgtgtatcaacatttatcagcgcgtagcgcc
+tgctgctttagcgttcgttagtgaaaaaggtgaaacctcggtcggtgaactgcctgcgcc
+gggaagcctgtattttcaacgttttggcggcttgaatattgaacaggaggcgttatgcca
+atttatcagatagacggtctgactccggttgtgccagaagagagttttgtccatccgaca
+gcggtattgatcggcgatgttattctcggcaagggcgtttacgttgggccaaatgccagc
+ctgcgtggcgattttggtcgtatcgtggtgaaagatggcgcgaacattcaggataattgc
+gttatgcacggttttcccgagcaggatactgttgtaggagaagatggacatattggtcat
+agcgctatccttcacggctgcattatccgccgcaatgcattagtgggaatgaacgcggta
+gtgatggacggtgcggtgattggcgagaacagcattgttggtgcatccgcatttgtgaaa
+gccaaagcagaaatgccagctaattacctgattgtcggcagcccggcgaaagcgattcgt
+gaactcagtgagcaggagttggcatggaaaaagcagggtacgcatgagtaccaggtgctg
+gtgacacgctgtaagcagacgttacatcaagtcgagccattgcgggaaattgaacctggc
+aggaaacgcctggtatttgatgagaatctgcgaccgaaacagtaacagatgtaaaattat
+tttgtccctttaattataaagcagagttatgtttaagctctgctttatttatttgagtat
+taattcataccgttttttcatcatataattatttataatgagaatgtggttttaatttgt
+aatttatattatatacacaatttatatatttcatggtctttttttattcacctgaattat
+aattgtgaattataggaaagtatgtttgattagataataatctactggcaatattggatg
+tcttctatgttttaaataactaattggtcgggttagtgcatccggctttctttatattcg
+ccagaaggatttattatgcaaaggaaaactctattgtcggcctgtattgcattagctctg
+agtggtcagggttgggcggcagatatcacagaggtagaaaccaccacaggtgaaaagaaa
+aataccaatgtgacttgtccggcagacccaggaaaactcagtccggaagagcttaaacgc
+ttaccctctgaatgctctcctttagtcgaacaaaacctgatgccatggctttccacaggc
+gctgctgcgttaatcacggccttagccgtagtggaactaaacgacgatgatgatcatcat
+catcgcaacaattctccactcccaccgacaccccctgatgatgaatcagacgacactcca
+gttcccccaactcctggcggagatgagataataccggacgatccggatgatacgcctaca
+cctcccaaaccggtttcgtttaataatgacgttattctcgataaaacagaaaaaacgtta
+actattcgcgattcagtttttacttataccgagaatgctgacgggactatatctctgcaa
+gatagcaatggtcgtaaggcaacgattaatctttggcagattgatgaagcgaataacact
+gttgcccttgaaggggtgagcgcagatggcgcaacgaagtggcaatataatcacaacggt
+gagcttgttattacgggtgataatgccacagtaaacaacaatggcaaaaccaccgttgac
+ggtaaagattccaccggtacggaaatcaacggtaataacgggaaagtgattcaggacggc
+gatctggatgtcagcggcggcggtcacggtattgatatcaccggtgacagcgcgacggtg
+gataacaagggcaccatgaccgtcaccgatccggagtccatgggtatccagatcgacggt
+gacaaggccatcgtcaataacgaaggcgagagcaccatcaccaacggtggcaccggcacc
+cagattaatggtgatgacgccacggcaaacaacaacggcaaaaccaccgttgacggcaag
+gattccaccggtacggaaatcaacggtaataacggaaaagttattcaggacggcgatctg
+gatgtcagcggcggcggtcacggtattgatatcaccggcgacagcgcaacggtggataac
+aagggcaccatgaccgtcaccgatccggagtccatcggtatccaggttgacggcgaccag
+gcggttgttaacaacgaaggcgagagcgccatcaccaacggtggcaccggcacgcagatt
+aacggtgatgacgccacggcaaacaacaacggcaaaaccaccgttgacggcaaggattcc
+accggtacggaaattgctggcaataacgggaaggtgattcaggacggcgatctggatgtc
+agcggcggcggtcacggtattgatatcaccggcgacagcgcaacggtggataacaagggc
+accatgaccgtcaccgatccggagtccatcggtatccagattgacggcgaccaggccatc
+gtcaataacgaaggcgagagcactatcaccaatggcggcaccggcactcagatcaacggt
+aacgacgccaccgcgaataacagtggaaaaaccactgttgatggaaaagattccacgggt
+accaaaatcgcgggcaatatcggcattgtaaatctggatggtagcctgactgttacaggc
+ggtgcgcatggtgttgagaacattggtgacaacggcacggttaacaacaaaggagatatt
+gttgtttccgatactggatcgattggcgtgctcatcaacggtgagggggcaacagtatcc
+aatacgggtgatgttaacgttagcaatgaagcgacagggttcagcatcacaaccaacagt
+gggaaggtttcgctggcaggcagtatgcaggttggcgatttctcgaccggggtagatctt
+aatggcaacaataacagcgtgacgctggcggcaaaagatctaaaagtggtcgggcagaaa
+gcgacgggcataaacgtttctggcgatgcgaatacagtgaatatcactggtaacgttctg
+gttgataaggataaaaccgcagacaatgcggcggaatatttcttcgatccatccgtgggt
+atcaacgtttacggcagtgataataacgtgacgctggatggaaagttaactgttgtatca
+gacagtgaggttacttctcgtcagagtaatttatttgatggcagcgcagagaaaacgtca
+ggtctggttgtgattggcgatggcaataccgttaatatgaatggtggacttgaactgatt
+ggagagaaaaacgcgcttgcagatgggtcgcaggttacttccttgcgcacaggatatagt
+tataccagcgttattgtcgttagtggtgagtcgtcggtatatctgaatggagatacgaca
+atcagcggagaattccctctggggtttgccggggttattcgggtacaggataaagctttg
+ctggaaattggcagtggcgctacgctaacaatgcaggatattgacagttttgaacatcat
+gggacaagaaccctggatttgcccctatatttccagacatctgttatcacttaacccatt
+acaagcccgctgccgcagatattcccgtggcgagcgataacccagcgcactatgcggatg
+ccattcgttataatgctcgaacgcctctgcaaggttctttgctgccgttaacccgtctgg
+tttgggcatgatactgatgtagtcacgctttatcgttttcacgaagctctctgctattcc
+gttactctccggactccgcaccgccgtgttcttcggttcaagtcccaacatccgggcgaa
+ctggcgtgtttcattagcccggtagcatgaaccattatccgtcagccactccactggaga
+cgacggaagatcgttgccgaagcggcgttccaccgctcccagcatgacgtcctgtactgt
+ttcactgttgaagccgccggtagtgaccgcccagtgcagtgcctcacgatcacagcagtc
+cagcgcgaacgtgacacgcagtctctctccgttatcacagcagaactcgaacccgtcaga
+gcaccatcgctgattgctttctttcacggccactctgcctgtatgtgcccgtttcgatgg
+cggtacagcaggttttcgctcaagcaacagcgcattctggcgcatgatccggtaaacacg
+tttggcattgatcgcaggcataccatcaagttctgcctgtctgcgaagcagcgcccatac
+ccgacgataaccatacgttggcagctctccgataacatggtgtatacggagaagcacatc
+cgtatcatcagtgtgacgactgcggcggccatccatccagtcatcggttcgtctgagaat
+gacgtgcaactgcgcacgcgacacccggagacaacggctgactaagcttactccccatcc
+ccgggcaataagggcgcgtgcgctatccacttttttgcccgtccatattcaacggcttct
+ttgaggagttcattttccatcgttttcttgccgagcaggcgctggagttctttaatctgc
+ttcatggcggcagcaagttcagaggcaggaacaacctgttctccggcggcgacagcagta
+agacttccttcctggtattgcttacgccagagaaataactggctggctgctacaccatgt
+tgccgggcaacgagggagaccgtcatccccggttcaaagctctgctgaacaattgcgatc
+ttttcctgtgtggtacgccgtctgcgtttctccggccctaagacatcaatcatctgttct
+ccaatgactagtctaaaaactagtattaagactatcacttatttaagtgatattggttgt
+ctggagattcagggggccagtctaaaccccagaacttacttatgctgattccggtgcgaa
+aattgttaataaaggtacttgtagattcaattggtcaacgcaacagttatgtgaaaacat
+ggggttgcggaggttttttgaatgagacgaacatttacagcagaggaaaaagcctctgtt
+tttgaactatggaagaacggaacaggcttcagtgaaatagcgaatatcctgggttcaaaa
+cccggaacgatcttcactatgttaagggatactggcggcataaaaccccatgagcgtaag
+cgggctgtagctcacctgacactgtctgagcgcgaggagatacgagctggtttgtcagcc
+aaaatgagcattcgtgcgatagctactgcgctgaatcgcagtccttcgacgatctcacgt
+gaagttcagcgtaatcggggcagacgctattacaaagctgttgatgctaataaccgagcc
+aacagaatggcgaaaaggccaaaaccgtgcttactggatcaaaatttaccattgcgaaag
+cttgttctggaaaagctggagatgaaatggtctccagagcaaatatcaggatggttaagg
+cgaacaaaaccacgtcaaaaaacgctgcgaatatcacctgagacaatttataaaacgctg
+tactttcgtagccgtgaagcgctacaccacctgaatatacagcatctgcgacggtcgcat
+agccttcgccatggcaggcgtcatacccgcaaaggcgaaagaggtacgattaacatagtg
+aacggaacaccaattcacgaacgttcccgaaatatcgataacagacgctctctagggcat
+tgggagggcgatttagtctcaggtacaaaaaactctcatatagccacacttgtagaccga
+aaatcacgttatacgatcatccttagactcaggggcaaagattctgtctcagtaaatcag
+gctcttaccgacaaattcctgagtttaccgtcagaactcagaaaatcactgacatgggac
+agaggaatggaactggccagacatctagaatttactgtcagcaccggcgttaaagtttac
+ttctgcgatcctcagagtccttggcagcggggaacaaatgagaacacaaatgggctaatt
+cggcagtactttcctaaaaagacatgtcttgcccaatatactcaacatgaactagatctg
+gttgctgctcagctaaacaacagaccgagaaagacactgaagttcaaaacaccgaaagag
+ataattgaaaggggtgttgcattgacagattgaatctacactgttgaaattcagaattta
+ggttttgcttttgttactggtgaaaatacaacaggtataaatagtggcacgatctcgtta
+ttacaaaatggtaaagatccggcaccgtctcccattgttttactggctactaacggaggg
+agcgccactaatgcaggtacgatcacaggtaaagtgacggaacaacatagcgtatttaac
+aagtattcaacgggcacatcgaattcatttatttttaataacgatgtcagtagcataaca
+gggttagtcgctcaatcgaatagcacaattatcaatactgacagcggcatcattgatttg
+tatggtcgtggtagtgtcggcatgcttgctatagcagattcaacagcagaaaatcagggt
+aaaattacactggattctatgtgggtagatgcaaatgacactaccgcaatgcgagatata
+gctagcaacagcgccattgacttcggtacaggtgtgggagttggtactgatagttatagt
+ggtgcagggaaaaatgcaacagcaattaaccaattgggcggtgttataactatttataac
+gccggcgcaggtatggcggcctatggcgccagcaatacagttattaaccaggggacgatt
+aacctcgaaaaaaatggtaattatgacgatagtctggcagcaaatactctggtagggatg
+gctgtttatgagcatggtactgctatcaacgaccagacgggtgttatcaatatcaatgtt
+ggtactggtcaggcgttttataacgatggcacaggaacaattgttaactatggtacaatc
+tgcactttcggcgtgtgccaatcggggaatgagtacaataatacagatgatttcacctca
+ctgatctataccggtggcgatacgattacacgaagcggagaaactgtaacgctaaataaa
+tctgctgctgtgactgataagctggctgggaatgttgttaatagcggaacgctttccggt
+gatcaaattacggtatcaagcggtcttctggaaaataccagcggtggcatcatcaataac
+ttagtaaaacttgacaagggtgccgtcattaaaaatgccggggtgatgacgaataacgtc
+gatgttagcggtggaatcctcaataatgccggagaaatgactgcgcaaattaccatgaat
+gctggtgctgatagttcgttagtgaacaacaccggaaccatcaataaaatcgtgcagaac
+gcgggggtattcaataatagtggcagtgtaacagggcggatgatgtcggctggcggggtc
+tttaataatcaaactgacggggcgattatgagaggtgctgcgctgacaggtactgcagtg
+gcaaataacgaaggaacctggaacctcggaagtagtagtgagggtaacaacaccgggatg
+ctggaagttaataataattcagctttcaataaccgcggcgagtttattcttgataacgac
+aagaatgctgtgcacatcaaccagtccggtacgctttataataccggtcacatgaacatc
+agtaattcttcccacaacggagccgttaatatgtggggcggaaatggtcgttttatcaat
+gacggaacgattgatgtttctgcgaagtcactggtagtcagcgctaataatgccggcgat
+cagaatgccttcttctggaaccaggataacggggtcatcaacttcgatcacgacagcgcc
+agtgccgtgaaagtcacccacagcaactttattgcccagaatgacggcatcatgaacatc
+agcggcaccggtgctgtggctatggaaggtgataagaacgcgcagctggttaacaatggc
+accatcaacctcggtaccgcaggcactactgacacgggtatgatcggtatgcaactcgat
+gccaacgccacggcggatgcggtaatcgaaaacaacggcaccatcaatatcttcgccaat
+gactcgtttgcatttagcgtactgggtacagtaggtcatgtggttaacaacggcacggtg
+gtgattgccgatggggttacgggttctggactgatcaagcagggcgacagcatcaatgtt
+gaaggtatgaacggtaacaacggtaatagcagcgaagtgcattatggcgactatacgttg
+ccggatgtgccgaagcccaatacggttagtgtaacgtcgggaagtgatgaggctggtggc
+agcatgaacaacctcaacggctatgtcgtcggtaccaacgttaacggcagcgccgggaag
+ctgaaggttaacaatgccagcatgaacggcgtggagattaacacgggctttaccgctggt
+acggcagacaccactgtgagttttgataacgtagtggaaggtagcaacctgaccgacgct
+gacgccatcacctcaacgtccgtggtatggactgccaaaggcagcaccgatgccagcggt
+aacgttgacgtcaccatgagcaaaaatgcctacaccgatgtggcaacagatgcctcggtg
+aatgacatcgcgaaagcactggatgcgggttacaccaacaacgaactgtttaccagcctg
+aacgtcggcacgactgctgaactgaacagtgctctgaaacaggtcagcggtagccaggcg
+accacggtattccgcgaagcgcgcgtgttaagcaaccgctttagtatgctggcagatgcc
+gcgccgaaagtgggtaacggtctggcgttcaacgttgtcgcgaaaggcgatccgcgtgcc
+gagttaggtaataataccgaatacgacatgctggcattgcgtaaaactatcgacctgagc
+gaaagccagacgatgagtctggagtacggtatcgctcgtctcgatggtgatggtgcgcag
+aaagcgggtgataatggcgttacaggcggttatagccagttttttggcctgaaacatcag
+atgtcgttcgataacggcatgaactggaataacgccttgcgttacgacgttcacaacctt
+gacagcagccgctcgattgcatttggcaacacgaacaaaacggctgataccgacgtgaaa
+cagcagtacctggagttccgcagcgaaggggcgaagactttcgaaccgagcgaaggactg
+aaggttacgccatatgcgggtgtaaaactgcgtcacacactggaaggtggctatcaggag
+cgcaatgccggagactttaacctgaatatgaacagtggcagcgaaacggcggtggacagc
+atcgtcgggctgaaactggactacgcaggtaaagacggctggagcgctagcgctacgctg
+gaaggcgggccgaacctgagctacgcgaagagccagcgtacggcaagcctggcaggcgca
+ggcagtcagcactttaacgtcgatgacggtcagaagggcggcggcatcaatagcctgaca
+agcgtcggcgtgaagtacagcagcaaagaaagttcgctgaatctggatgcgtacaactgg
+aaagaggatggcatcagcgataaaggcgtgatgctgaacttcaagaaaacgttctaattt
+ttagcatgtgatccctaaaccgcaacgctgatacaggttgcggtttttttattgccggat
+gtggtacgtgacgcgttttgttttgtgtctttcaggacaatagagcaactcatccagtaa
+tcttgtttacaccttcgcattatttatctcttttcgtttctatactgatttttcttaatc
+cgttttattacagggcagggtgcgatgagcagcaatacatttactctcggtacaaaatcc
+gttaaccgtcttggttatggcgcgatgcaactggcaggtcctggagtttttggcccccca
+cgagatcgccacgtcgctataaccgtgctgcgtgaggcgctggcattgggcgtcaatcat
+attgataccagcgacttttatggtccgcacgtcaccaatcagattatccgcgaagcgctt
+tatccttactctgacgacctgacaattgtcactaaaattggtgcgcggcgtggagaggac
+gcatcctggttgcccgcattttctccggcagagctgcaaaaagcggtgcacgataatcta
+cgtaatctcgggctggacgtgctggatgtggttaacctgcgcgttatgatgggggatggt
+catggcccagcggaaggatcgattgaggccagcctgaccgtgctggcagagatgcaacaa
+caaggcctggtaaaacatattggcctgagcaacgtcacaccgacgcaggttgcagaggcg
+cgcaagattgccgaaattgtctgtgtgcaaaacgaatacaacatcgcgcaccgtgctgat
+gatgcaatgattgatgctttggcccacgatggcattgcctacgtgccgttcttcccgctc
+gggggctttacaccgctgcaatcgtccacactttccgatgttgctgcgagcctgggtgca
+acaccaatgcaggtggcgctggcgtggctgttacagcgttcaccgaatattttgctgatc
+ccagggacgtcttcggttgcgcatttacgggagaatatggctgctgaaaaattgcatctt
+tctgaggaagtgttgtctacgttggatggtatttcgcgagaataacgaatatacaaaagg
+gaaagatgcatttccctttttttcttttttaatggcatggagtgcatatgttgaaggcca
+ggaattgcggctggatacgtttactgcccctgtttatgctgagtctaccagtacaggcgg
+aacttcgatgtgttgcaaatgcagttgatattgaatcatttttttctgcggctaccgctg
+aagataaacaacaagttgaacaagctatcaacagtagcgtgaatcttgtccccttcggtt
+tatctgcatcgaactggaaagtgcatcgtggcgatttagtggtagaaggtaatatagaga
+gtaatcaaaaattgattgttcttgggaatttgacagtcaaaggtaatatttccactttct
+ctctttctaatccatgggttattctcggtaacgtgacggcaacgaatatagttgcggatt
+caccactgttaattaccggttcgataaatgcaagtggactggtatttatcgactcatatt
+acgataatccgtctacgattaaggggagtattaatgcgcgtgggatatttatcaatgaca
+taattgcacctgttgttgcgtcttcgacaaatagtgaattcatggtccgtgcgagtgaca
+aacatgacactgaaaatgtcaaaaaagcgctgatgataataaatcctgatgcatattatt
+gggggctaattaatgatgaagatgctctgaaagaaatttttaagcgaagcaatattcgca
+tggcagggaatgtctgtaatcagatgaaaaaagaagcgctgtttcgccctaagccttctc
+ctgagttagtgcaagaattgcaaatgctggatgaaggcaaagttgctgcatttgaaggac
+gagacattgcgacatttgatcttgccgtaatgcgaactctcccaaggcttaaaggaattt
+cagctaacctacgcaaacaacttattaatagcaatgatgaacaaacgattgaaagtatgg
+cgagatatatgcctgacaatgagattctggagttgaccgatcagcaattgggttaccagc
+ctgttgttctggggttgctcgaccgtgaaccgctctctgtcgaaataatgacgcgaatga
+gtcgtctacctgatggtgtcggtccgttgaatcttgcgctacgtgaaaatctccctctgg
+atatcgtcatgactctggcgaaaagagattgggatatgatcattcaggagctttataaag
+atgcgtggttattgcctgaatccattattgatggctatatccgcagtgatgattcctcta
+ttcgtcaggtcggtgctggaggacaactcacctacaatcaggcaatgcagttggcgaacg
+attcatcaaacaatgttgtcacaagcttagcgttcaagctggcagagatgaaacaccatg
+gtcaattgttgcggatgacgccacaagagagtgacaaagttgcaggctatttataccaaa
+aattcgagaatgacgatgatctaatacgtgtgttatttttagcattgccagataacttac
+agtttaattttgttaaaaggatggagaaaaaatccccggcctacttttgctgtcgggata
+tgcaggtaattcactctgacgctgctttacaacggttattgacacgtttcaacgatcctg
+aagggtggagtaatctggcgaaaaatcagtatctgagcacgtcgatgaaacaaaaaattt
+ggcaacgtgctttatcgcatcggaaaaataatccgaaagcagattcagatgcatatgaaa
+ccagcgctgatatgattttgtctgagctgattagccacggcgaagttgatgaccagatgc
+tattaaatgccaccgccctgatacgttcggacgactgggactttttagagagtgcattaa
+ttagttgggataatttacccgctgttgttctcaaggaattacagcaaaacacgccacgca
+atgatatttgggcgaagttttttctgaggcaggaaaacagttcccgtgcgcaggttgacg
+aagcgttacgtgtttattatgcactagaccccgatgcgttagcacaactggatgtactgg
+caaaacaaccggatcgtatatggtggagtacactggcgaaaagcaatctcacatttttca
+agttcggcgcacttaacaaccgccacacaccgcctgcagtactggcggcagaaattgatc
+ccgagtggtggattgtggcgatgaataatccccgttttccagttgatgtattaaaggcga
+ggctgaaacgtgatcctttgctggcgttagagcttgttaaccctgaactggatttagtcc
+gccagctggcgcttaacggtaagacgcgcgcaatacgggaacaagcgatgagaaaacttg
+atgagttgtattgatccacaacgtaatgttttttaactatctgattaattggggataatc
+attcctgacagtgagtccccaataccttgatatattctgaatttttaatgaaacggcgtg
+ttgcgatatctccgtcaggggaattgatgcaccatagcgcaaaccgaattatcaaggatt
+gataatgacgctctaccagataaaaccgctctttcagtcgctgttaaggccgacgatgtt
+ttggctttataagcaccacgttacagcgaatcacatcactcttgctgcactggcgctttc
+tcttcttaccggattgctgttgatgttggcggcacaacccatcctctttttgctattgcc
+catcgtgctttttatccgtatggcgctcaatgcgctggatggcatgttggcgcgtgagtg
+caaccagcaaacacgtctgggggcgattttgaatgagactggcgatgttatttccgatat
+tgcgctctatttaccatttttatttttaccggaaagtaacgcatcactcgtgatactcat
+gttattttgcaccatattgaccgagttttgcggtttactcgcgcagacgattaacggtgt
+tcgcagttatgccggtccatttggcaaaagcgatcgcgcgttaatatttggtctgtgggg
+tctggccgttgccatttatccacagtggatgcagtggaataatcttttatggagcattgc
+ttcaattctgcttctctggactgcgattaatcgttgtcggagtgtgcttcttatgagcgc
+tgaaatataatgctggaaaaatctctggcaacacttttcgcgttgttaattttagcaacg
+ctgataaaccgttttctgctatggcggttaccggagagaaaagggggtgaggttacatta
+cgtattcgtacctggtggggcatcgtcatttgtttttcaatggtgatttcaggtccacgc
+tggatgacgttgacgttttttgcgctgataagttttctggcattgaaagaatattgtacg
+cttatatctgtacattttccgcgttggttatattggggtattcctcttaactatttgctt
+atcggttttaattgctttgagctgtttctgttatttatacctttggctgggtttctgata
+ttagccaccgggcaagttttagtgggtgacccctctggttttctgcataccgtgagcgcc
+attttttggggctggataatgaccgttttcgccttgagtcatgccgcctggttattaatg
+ttgccaaccacaaatatccagggcggggcgttactggtgttatttcttttggcattaacc
+gagtcaaacgatattgcacagtatttatggggaaaatcctgcggcagaagaaaagtggtc
+cctaaagtcagcccgggaaaaacattggaaggtctgatgggcggcgtcatcaccatcatg
+attgcgtcactgattatcggaccgttactgacaccgctaaatacattacaggcattatta
+gcgggtttgttaattggtattagtggtttttgcggcgatgtcgtgatgtcagccatcaaa
+cgagatattggtgttaaagatagcggaaaactattgccaggacatggcggactccttgac
+aggattgactcattaattttcaccgctccggtatttttttattttatacgctactgctgt
+tactgaaggaaaatagagaaaatggaaaattcacgcatccctggggaacatttttttacc
+accagtgataatacagcgttgttttatcggcactggcccgctttacagcccggggcgaaa
+aaggtcatcgtcttatttcatcgcgggcatgaacattctggtcgtctacaacatctcgtt
+gatgaactggcgatgccagatactgctttttatgcctgggatgcccgagggcatggaaaa
+agttcggggccgcgtggttatagcccatctcttgcgcgttcagtgcgggatgtcgatgaa
+tttgtccgttttgctgccagcgacagccaggttggactggaagaggtggtagtgatcgcg
+caaagcgtcggcgcagtgctggttgccacatggattcatgattatgcacctgcaattcgc
+gggctggtgctggcttctccggcctttaaggttaaattgtatgtgccgctggcacgtcct
+gcgctggcgttatggcatcgtctgcgtggtctgttttttattaattcctatgtgaaagga
+cgctatttgacccacgatcggcaacggggggcgagtttcaataatgatccgctgatcaca
+cgggcgattgccgttaatatcttgctcgatctctacaaaacgtctgaacgtattattaga
+gatgcggcggcgattacgctccccacgcaacttctgatatcaggcgatgactatgtggtg
+catcgccaaccgcagattgatttttatcagagattacgtagccctctgaaagagctgcat
+ctgctgccaggcttttatcacgacacgttgggtgaagagaacagggcgctggcatttgaa
+aaaatgcaaagctttattagtcgtttatatgctaacaaatcgcaaaaatttgattatcag
+catgaagactgcacaggaccatcagcggatcgatggcggctactttctggtggacccgtg
+ccattatcgccggttgatttagcgtatcgctttatgcgaaaggcgatgaaattgttcggg
+acgcactcttcgggcctgcatctcggaatgagcaccggctttgattcaggcagttcgctg
+gattatgtctatcaaaatcaaccgcaaggtagtaacgcattcgggcgtttagtcgacaaa
+atctacctgaacagtgttggctggcgcggtattcgccagcgcaaaacccatttacaaata
+ctgattaaacaagccgttgccgatctccacgccaaaggtttagccgtccgcgtggttgac
+attgccgcagggcatgggcgctatgtactggatgcgctggcaaacgagcctgccgtaagc
+gatattttgttacgtgattacagcgagttaaatgttgcacaggggcaagagatgattgct
+caacggggaatgtctgggcgggtgcgttttgaacagggcgatgcgtttaacccggaggaa
+ctcagcgcgttaactccgcggcctacgctggcgattgtctctggcctgtatgagcttttt
+cccgaaaatgagcaggtaaaaaactcactcgcaggtcttgccaatgccatcgaaccgggc
+ggcattctcatctacaccgggcagccgtggcaccctcaactggagatgattgccggggtg
+ttaaccagtcataaagatggtaaaccgtgggtaatgcgcgtgcgttcgcaaggggagatg
+gattcactcgtgcgtgatgccggatttgataaatgcacacaacggattgatgagtggggt
+atttttacggtttcgatggcggtgcgtcgtgataactgaacgtcggaacgtattgctaca
+aggcgctggctggttattgttgctggccccgtttttcttcttcacctatggatctcttaa
+tcagttcaccgcggttcaggaccttaacagccatgatatccccagtcaggtattcggttg
+ggaaacggcgatcccttttcttccctggactattgttccttactggagtctggatctttt
+atatggattttcgctgttcgtttgtagcacgacattcgaacagcgccgacttgtccaccg
+gcttattctggcaacggtaatggcctgctgcggttttttgctctatccgctgaagtttag
+ttttatccgtcctgaagtgagtggggtgacgggatggctattttcgcaacttgaactgtt
+tgatctgccttataaccagtctccttcgctgcatattattctctgctggctactttggcg
+tcactttcgtcagcatctggctgagaggtggcgtaaagtctgcggcggatggtttttact
+catcgccatttcgacgctgacgacctggcagcatcattttattgatgtcatcacagggct
+ggcggtaggtatgttgattgactggatggtgcccgtcgaccgtcgttggaattatcagaa
+acctgatcaacgtcgaatcaaaatagcactgccctatgtcgtaggcgcgggctcgtgcat
+tgtattgatggagctaatgatgatgattcagttatggtggtcagtctggttatgttggcc
+agtattatcgctactcataattggccgtgggtacggtgggcttggcgcgataacaacagg
+gaaagatagtcaggggaaactaccgcccgccgtttactggctgacattgccctgccgcat
+cgggatgtggctgtctatgcgttggttttgtcgtcgcctggagccggtgagcaaaatgac
+tgctggtgtttatttaggggcgtttccacgacatattccggcacagaatgcggttctgga
+cgtcacctttgaattccctcgcggacgagccacaaaagatcgactctatttttgtgtacc
+gatgctggatctggtggttccggaagagggggagctccgacaggccgtggcgatgctgga
+aacattacgcgaagagcaaggcagcgttctggtccattgtgcattgggattatcgcgcag
+tgcgctggtggtggcggcatggttgttatgttacggacactgtaaaaccgttaatgaagc
+gattagctatattcgagccagacgcccgcagattgtgctgacagacgagcacaaagcgat
+gctgagattatgggaaaacaggtaagtggattgagatgtggactgaatatctacagtcca
+catcaagaccgtgtccggttatgcagaaacaatgctgtcgatggctgcttttgcgtcaga
+ctgtgctttcgctgccatttccggaccgtatgcgatcccttcggcgaagacaaatttcac
+atcggtaatgccgataaagccgaggaacgtggacagatacggcgtcaccaggtccgttgg
+tccatctttgtggatcccgccgcggctggtaataacgatggcttttttacccgttaccag
+accttccggaccgttctcggtatagcggaaagtaacgcctgcgcgggcaaccaggtcaaa
+atagtttttcaactgagtcgagatgttgaagttatacatcggtgccgcaataacgataac
+gtcgtgggctttcagctcggcaatcaactcatcggaaagtgccagagcttcctgctgacg
+cggagtcagcggcgcatcgctcggacgcagagcgccaaccagttcgccatccagtaccgg
+aatcggatttgcagccaggtcgcgaacggtgatttcatcagcggagtgcttttcgcgcca
+ttgttcaacaaaataatcggacaactgattagactgagagtaccctgccaggatgctgga
+tttaagaactaataccttgctcatggtgtttccttatagatgtttgaatgggcgatgccc
+cgttgcttgttgacactttattcacaatcctgccacagagatagcgcaataaatcgaagc
+ctatgttcgaatttattgaacaacgcatagaaagccgcgatgtggtactctatatctatc
+atttaaaagaaaattaatcaggcagactactgcccactaacgttatgacagaacaacaaa
+aattgacctttacggccttgcagcagcggctggattcgctgatgctgcgtgacagactgc
+gtttttctcgccgtctgcacggcgtgaagaaggttaaaaatcctgatgcacaacaggcca
+ttttccaggagatggcgaaagagattgaccaggcggcagggaaagtcctgctgcgtgaag
+cggcacgaccggaaattacttatcctgacaatttaccggttagtcagaaaaaacaggaca
+ttctcgaagcgattcgtgatcaccaggtggtgatcgtcgccggggaaacgggttctggta
+aaacgactcagttaccgaaaatctgtatggagctggggcgcgggattaaaggactgatcg
+gccatacccagccgcgtcgtctggcggcaagaacagtggcgaaccgtattgcggaagagc
+tgaaaacggagccgggcggttgcatcggttacaaagtgcgtttcagcgatcacgtaagtg
+ataacacgatggtcaagctgatgaccgacggtatcctgctggcggagatccagcaagacc
+gcctgctgatgcagtacgacactatcattattgacgaagcgcacgaacgcagcctgaata
+tcgattttttgctcggctatttgaaagagttgctgccgcggcgtcctgacctaaaaatca
+ttatcacttccgcgactatcgacccggaacgcttttcgcgccactttaataatgcgccga
+ttattgaagtctccggtcggacctatccggtggaagtgcgctatcgcccgattgttgaag
+aagccgatgacaccgagcgcgatcagttgcaggcgatttttgacgccgtagacgaactga
+gtcaggaaagccatggcgacattctgatctttatgagcggcgagcgggaaatccgcgata
+ccgccgatgcgctgaacaagctgaacttacgccataccgaaatcttgccgctttatgcgc
+ggctttcgaacagcgaacaaaatagggtattccagtcgcacagcggacggcgcattgtgc
+tggcgaccaacgtcgcggaaacgtcgctgaccgtaccggggattaaatacgttatcgacc
+ccggtacagcgcgtatcagccgctacagctatcgcaccaaagtgcagcgtttgccgattg
+agccgatttcccaggcgtctgccaatcagcgtaaaggccgctgtggtcgtgtgtccgaag
+ggatctgtattcgtctctattccgaagacgatttcctctcgcgcccggagtttaccgatc
+cggagattctgcgtaccaacctggcctcggttattttgcagatgaccgcgctggggctgg
+gcgatatcgctgcgttcccgtttgtcgaagcaccggataaacgcaatatccaggatggcg
+tgcgtctgctcgaagagctgggcgcgatcaccactgatgaacaggccagcgcctataaac
+tgacgccgctcggtcgccagctctcgcagttgcctgtcgacccacgtctggcgcgtatgg
+tgctggaagcgcaaaaacatggctgcgtgcgtgaggcgatgattatcacgtccgcgctct
+ccattcaggatccgcgcgaacgtccgatggacaaacagcaggcatcggacgaaaaacatc
+gtcgcttccacgacaaagagtctgactttctcgcgtttgtgaatctgtggaattatcttg
+gcgagcagcaaaaggcgctttcttccaacgccttccgtcgcctgtgtcgtaccgattatc
+tcaactatctgcgcgtgcgcgaatggcaggatatctacacccagttgcgtcaggtggtga
+aagaacttggcattccggttaacagcgaaccggcggagtatcgcgaaattcacattgcgt
+tgctgaccggtttactttcccatatcggcatgaaagatgccgataaacaagaatataccg
+gcgcacgtaacgcgcgtttctccatcttccccggttctggtttattcaaaaaaccgccta
+aatgggtaatggtggcggaactggtagaaaccagccgcctgtgggggcgcattgctgcgc
+gtatcgacccggaatgggtggagccagttgctcagcatttgattaaacgcacctacagcg
+aaccgcactgggaacgggcgcagggcgcggtgatggcaacggaaaaagtcactgtttatg
+gtttgccgattgttgccgcgcgcaaggtcaactacagccagatcgatccggcgttatgtc
+gtgaactctttattcgccacgcgctggtggaaggtgactggcagacgcgtcacgcattct
+tccgtgaaaacctgaaactacgggcggaagtagaagagctggaacacaaatcacgtcgcc
+gcgatattctggttgatgacgaaacgttgtttgagttctacgaccagcgcatcagccacg
+atgtaatctccgctcgccacttcgacagctggtggaaaaaagtcagccgcgaaacgcctg
+atttgctcaactttgaaaaaagcatgttgatcaaagagggcgcagaaaaaatcagcaagc
+tggattacccgaacttctggcatcagggcaatctcaagctgcgtttgagctatcagtttg
+agcccggcgcggatgctgacggtgtgaccgtacatattccgctgccgttacttaaccagg
+ttgaggaaagcgggtttgaatggcagatccccggtctgcgccgcgaactggtgattgctc
+tgattaaatcgttgccgaaaccggtacgccgtaattttgtacccgcgccaaactatgccg
+aagcgtttttaggccgcgtcaaaccgctggagttaccgttgctcgacagccttgagcgcg
+agttacggcggatgaccggcgttaccgttgaccgcgaagactggcactgggatcaggtgc
+ccgatcacctgaaaattaccttccgcgtggtggatgacaaaaacaagaagctaaaagaag
+ggcgctcgctacaagatctgaaagatgcgctgaaaggcaaagtgcaggaaacgctatctg
+cggtggcggatgacggtatcgagcagagcggcttacatatctggagttttggtcagctgc
+cggaaagctacgaacagaagcgtggcaactacaaagtgaaggcgtggccggcgctggtgg
+atgagcgcgacagtgtggcgatcaaactgtttgataacccgctggagcaaaagcaggcaa
+tgtggaacggtcttcgccgtctactgctgctgaatattccatcgccaatcaaatatttac
+atgaaaagttaccgaacaaagccaagctgggactgtactttaacccgtatggcaaagtgc
+tggagctgatcgacgactgtatctcctgcggtgtggataaattgatcgacgccaatggtg
+gcccggtctggacggaagaaggctttgctgcgctgcatgaaaaagtgcgtgccgaactga
+acgacacggtggtggatattgcgaagcaggtcgagcaaatccttacggcagtgttcaata
+tcaacaaacgtctgaaagggcgggtggatatgaccatggcgctggggctttctgacatta
+aagcgcagatgggcgggttggtatatcgcggttttgtcactggtaacggcttcaaacggc
+tgggcgacacgctgcgatatttgcaggcgattgaaaaacggctggaaaaactggcggttg
+atccacatcgcgaccgtgcgcagatgctgaaagtcgaaaacgtccagcaggcgtggcagc
+aatggatcaacaaactgccgcccgcacgtcgtgaggatgaagacgtgaaagagatccgtt
+ggatgatagaagagttgcgcgttagttacttcgctcaacaacttggtacgccttatccga
+tttcagataagcgtattttgcaggcgatggagcagattagcggttaaccctgctatttgc
+ctgataaagaaaaaacccggtaagcatttagcgccgggttttttattaattctaaaacgg
+taagggtaaaaattcaggaattcagaaaaatacaattctctgctgcaagatgaataatgt
+ttatctacagcatttccttaaaagatatgtcaggcttgcggagtggcggttaaggacata
+cgatttcctcctttcagagtgctccgcttctcactattatctcacgcagtattcttaagg
+gaacgataaggaggaaccatgaacattaccccgtttccgacgctttcgccggcaactata
+gatgccataaatgttatcggacagtggctggcgcaggatgatttctccggtgaggtgccg
+tatcaggccgattgcgtgatccttgcaggcaatgcggttatgccgactatcgatgcggca
+tgtaagattgcccgcgatcagcaaattcctttactgattagtggtggtatcggtcactcg
+acaacttttttgtatagcgccatcgcacagcatccgcactacaacactatccgcaccact
+ggcagagcagaagcgaccatcctggcggatatcgctcatcagttctggcacattccgcat
+gaaaaaatctggattgaagaccagtcaacaaactgcggtgaaaacgcacgctttagcatc
+gcgctattgaatcaggccgtagaacgagttcatacggctatcgttgttcaggaccccacc
+atgcagcggcgcacgatggcgacgttccgccgtatgactggggacaatcccgatgcacca
+cgctggttaagttatcccggattcgttcctcagttaggaaataacgcagacagtgtaatc
+tttattaatcagttacaaggattatggccagttgagcgttatctctcactactcactggc
+gagctgccgcgtttacgcgatgatagcgatggctacggtccccgcgggcgagattttatc
+gttcacgttgattttccggcagaagtcatccatgcatggcaaacgctgaaacatgatgcg
+gtgctcatcgaggcgatggaaagtcgctcgttacgttaaaaattgcccgtttgtgaacca
+cttgtttgcaaacgggcatgactcctgacttttatttctgccttttattccttttacact
+tgtttttatgaagcccttcacagaattgtcctttcacgattccgtctctctgatgattga
+tgttaattaacaatgtattcaccgaaaacaaacatataaatcacaggagtcgcccatgtc
+agtacccgttcaacatcctatgtatatcgatggacagtttgttacctggcgtggagacgc
+atggattgatgtggtaaaccctgctacagaggctgtcatttcccgcatacccgatggtca
+ggccgaggatgcccgtaaggcaatcgatgcagcagaacgtgcacaaccagaatgggaagc
+gttgcctgctattgaacgcgccagttggttgcgcaaaatctccgccgggatccgcgaacg
+cgccagtgaaatcagtgcgctgattgttgaagaagggggcaagatccagcagctggctga
+agtcgaagtggcttttactgccgactatatcgattacatggcggagtgggcacggcgtta
+cgagggcgagattattcaaagcgatcgtccaggagaaaatattcttttgtttaaacgtgc
+gcttggtgtgactaccggcattctgccgtggaacttcccgttcttcctcattgcccgcaa
+aatggctcccgctcttttgaccggtaataccatcgtcattaaacctagtgaatttacgcc
+aaacaatgcgattgcattcgccaaaatcgtcgatgaaataggccttccgcgcggcgtgtt
+taaccttgtactggggcgtggtgaaaccgttgggcaagaactggcgggtaacccaaaggt
+cgcaatggtcagtatgacaggcagcgtctctgcaggtgagaagatcatggcgactgcggc
+gaaaaacatcaccaaagtgtgtctggaattggggggtaaagcaccagctatcgtaatgga
+cgatgccgatcttgaactggcagtcaaagccatcgttgattcacgcgtcattaatagtgg
+gcaagtgtgtaactgtgcagaacgtgtttatgtacagaaaggcatttatgatcagttcgt
+caatcggctgggtgaagcgatgcaggcggttcaatttggtaaccccgctgaacgcaacga
+cattgcgatggggccgttgattaacgccgcggcgctggaaagggtcgagcaaaaagtggc
+gcgcgcagtagaagaaggggcgagagtggcgttcggtggcaaagcggtagaggggaaagg
+atattattatccgccgacattgctgctggatgttcgccaggaaatgtcgattatgcatga
+ggaaacctttggcccggtgctgccagttgtcgcatttgacacgctggaagatgctatctc
+aatggctaatgacagtgattacggcctgacctcatcaatctatacccaaaatctgaacgt
+cgcgatgaaagccattaaagggctgaagtttggtgaaacttacatcaaccgtgaaaactt
+cgaagctatgcaaggcttccacgccggatggcgtaaatccggtattggcggcgcagatgg
+taaacatggcttgcatgaatatctgcagacccaggtggtttatttacagtcttaatgagt
+gaaagaggcggaggttttttcctccgcctgtgcgcgtcagagtttagcgaatttttcgag
+ggtgcgaataagctgtgtgacgaagccatattcgttatcgtaccaggcgaccgttttcac
+cagttgtaaatcgcccacggcggtaatttccgtttgcgtggcatcaaacaccgaaccgaa
+atggctgccaatgatatcggaagagactatttcttcatcggtataaccaaatgactcgtt
+attggtggttgcttgtttaagtgcgttattcacctcttcggcagtcacttttttccgaga
+atcgataccagttcagtgaccgaacctgttttcaccggcacgcgttgcgcatgacctttc
+agtttgccgctcagttccgggatcaccagaccaatggcttttgccgcccccgtagtgtgg
+ggaatgatattttctgccgctgcgcgtgaagcacgtaaatctttaccacgcgggccatcc
+accagtgactgggtgccagtataggcatgaatggtcgtcatcgtgccgacttctatcccg
+aaactgtcatgcaaggctttggccatcggcgcaagacagttagtggtgcatgacgccacg
+gaaacaatggtgtcgttgccatccagagtgtcgtcattgacgttataaacgatagttttc
+atttcaccggcaggggcggaaatcaacaccttcttcgcaccagcatcaagatgcgcctgc
+gatttctcggcggaggtataaaagccagtacattcgacaatgatttctgcacctttcgct
+ttccacggaatatttttagcctctttttcggcgtaaaccgcgatacttttcccatcaacg
+ataagtgaatcttccgtaaaatcaacgctccaggggaatggtccgtagtttgaatcatgt
+ttcagcaggtaggcgagaatttatggggaagtgagatcattaatagcgacaacgtctatg
+ttgcttttgacttcaagtaatcgacccaacaccagtcgaccgatacgaccaaaaccgtta
+ataccaactttactcatggttttctcctgtcaggaacgttcggatgaaaattgatccttt
+ccaagcttagaccaggatggcgggatgggcaatctccattctcacagtgaaacgtaacgt
+actgaaaacgggtgaacaatatttaatgaaattttgagaaaagcccgttatgttaacgga
+aaattatgttaaagcaggaaatgttatggaaaataaatattcaaggttacaaatcagcat
+tcactggctggtctttttactggttatcgcagcgtattgcgcaatggagtttcgtggttt
+cttcccacgtagcgatcggccactcatcaacatgattcatgtttcctgtggcatctcaat
+tctcgtgctgatggtcgttcgtcttttgttaaggctgaaatacccaaccccgccgattat
+acctaagccaaaaccgatgatgacgggactggcgcatttgggacatttggtgatttatct
+cctgtttattgcgctgccagtgattggtttggtgatgatgtataaccggggcaacccgtg
+gtttgcgtttggtttgacgatgccttacgcttcagaggccaatttcgaacgggtagatag
+cttaaagtcgtggcatgaaacgctggcgaatctgggatattttgtcatcgggttgcacgc
+tgcggctgcactggcacaccactatttctggaaggacaacacacttctacgcatgatgcc
+gcgtaaacgttcctgaaggatatttaaagaaaacgcctgtactaaaaccgacccgtggta
+caggcgaagaatacgggtctacatcggaagcgcctattatatttatttgtatgataaata
+aaaccataatccttgcccatacgtccatctggcttatttttaatcaattcacccgatctt
+tgatctcatcaacggtatcaaaataaaccagcgtataacgttcaaatcgaacataagatt
+cgataaaccatggaggttatatgaaaaaactggcacttattttgtttatgggaacgcttg
+tttccttttatgccgatgccgggcgcaaaccctgttctggttcgaaaggggggatctcac
+actgtacggcaggcggcaaatttgtctgtaatgatggttctattagtgcatcgaaaaaaa
+catgcactaactgaagtgtaaaaggggtgccatgagaaaatgaatctgctagtcaaatgc
+gcggggaaaatccccgcgcttgcccttacctggacgtgcaggccatgagcgcagcaacct
+ccttatcaccgtcccggaaccgcagttcgtagagcgtttgtcgggtcaggagtgtgaatg
+tcagaatcgtaatgcagataatgagcagacacaccaccagagggttgtgcttcatagcct
+ttctccttgccggatggcgggtaagaggctaagatctgaattgctaggttcattcgttgg
+cctcggttgatagaaatatcggtcggggccttcgtctttctgattcccggttagcctgaa
+aacagaaagtctcaggcacccgcaggcatcctatgaggtttccttagggacgaaaataat
+cacttcacgaaattgcgtgctgttttccagaatttttcgtcattcgggttagccagttta
+gccattcgttactctcttcattccaatagcattaattttctatgcaataattgttgtaaa
+aatgtgacgcaaagaggtttttggtcataagtaattaccgtcaagtgccgatgactttct
+atcaggagtaaacctggacgagagacaacggtaatgaatacaactccctcacagcgatta
+ggttttttgcatcacatcaggttggttccgttatttgcctgcattctaggcggtatctta
+gttctattcgcattaagttcagccctggctggctatttcctctggcaggccgatcgcgat
+cagcgtgatgttactgcggagattgagattcggaccgggttagcgaacagttcagatttt
+ttgcgttcagcccggatcaatatgattcaggccggggctgcgagtcgtattgcggaaatg
+gaagcaatgaagcgaaatattgcgcaagccgaatcggagattaaacagtcgcagcaaggt
+tatcgtgcttatcagaatcgaccggtgaaaacacctgctgatgaagccctcgacactgaa
+ttaaatcaacgctttcaggcttatatcacgggtatgcaacctatgttgaaatatgccaaa
+aatggcatgtttgaagcgattatcaatcatgaaagtgagcagatccgaccgctggataat
+gcttataccgatattttgaacaaagccgttaagatacgtagcaccagagccaaccaactg
+gcggaactggcccatcagcgcacccgcctgggtgggatgttcatgattggcgcgtttgtg
+cttgccctggtcatgacgctgataacatttatggtgctacgtcggatcgtcattcgtcca
+ctgcaacatgccgcacaacggattgaaaaaatcgccagtggcgatctgacgatgaatgat
+gaaccggcgggtcgtaatgaaatcggtcgcttaagtcgtcatttacagcaaatgcagcat
+tcactggggatgacagtagggactgttcgacagggcgcggaagagatttatcgtggcacc
+agcgaaatttcagctggcaatgcggacctgtcatctcgcaccgaagaacaagcggcggct
+atcgaacaaactgccgccagcatggagcaactcactgcgacggtgaaacagaatgcggat
+aacgcgcatcatgccagcaaactggcgcaagaggcttctattaaagccagcgatggcggg
+cagacggtttccggtgtagtaaaaacgatgggcgctatctccacgagttcgaagaaaatt
+tctgagatcaccgccgtcatcaacagtattgctttccagacgaatattctggcactgaat
+gctgccgttgaagccgcgcgagcgggtgagcaagggcgtggatttgccgttgtcgccagc
+gaagtacggacactcgcaagtcgcagcgctcaggcggcgaaagagattgaaggcttgatc
+agtgaatcagtcaggttaattgacctggggtcggatgaggtggcaacggccgggaaaacc
+atgagcactattgttgatgccgtcgcgagtgtcacacatatcatgcaggaaatcgccgcc
+gcctcggatgaacaaagtagaggcataacgcaggttagccaggcgatttctgaaatggat
+aaggtgacgcaacagaatgcttctctggtagaagaggcctcagcggcggcggtgtccctt
+gaagaacaggcggcacgattaactgaggcggtggatgtattccgtctgcacaaacattct
+gtgtcggcagaacctcgcggagcgggtgaaccagttagtttcgctacggtgtgaaaatgt
+tcaaggagggatcgacagatcccttcacctttcagaacggcattgattttcgaatagcgt
+taatcatcaactggcaaccagaagagaacgtcgcatctacgcgggtcagtattccaatcg
+gttcgcctgcaccatgtcccggaacaggcagggccaccagcgtggcatgacgcaggtcgt
+cttttacagcgccagaagggacaaaccacacgtaatcgtattcaaccgtaagttgacgag
+atagcgaagcagacagcgtttcgatacaacccgaaggaattttacagccctggctctgca
+ctaatgcatctgaatgctggcgtggcgcagtgccttctggtgatacaacgaccggccatt
+ccagcacccggcttagcgttacgttctcctgaagtagcgggtgattagggcggacaacca
+gcttcaacgattcaagaaacagcagttcgtaattaagcccggtcatcagttcaggatctg
+acatccgaccaatgccgatatcgatttccccggtttttaaacccgccagaatcatagggt
+tactcattgtcgcaacttgcaaggtcgtctctttttgttgctgatgaaactgacctataa
+ccgaaggtaatatccccagtgccgcagtaggtagtgcaccaaccctgacgacatcattat
+taagaccttctttacgatgaagcgaccgtccggcagtgttgatggcgtcaagaactctga
+ctgcatgcgttaaaaattgttcgccgggtaaggtaagttgcgccccctgacgaccacgct
+caaacaagcgagcgccagtcagctgctccagttcattcaatgtcttagagagcgcaggtt
+gactcaaattaagggtttcagccgcgcgccccaaagttccttgttgtgcgacagctacga
+atgtatgaaggtggcgcaaacggatgcgctgactaaacagactatttttttccataagcg
+atgttaaaaacgaagcggtgtcgctgacaagtgaagttgtttgattatgataacttgatt
+gcaaaatattattaacaattaaagcaattatgttacagcaaaatggataatattgatgtt
+ttcgcggcgagatcacagtttgtaaattcttcccgcaagagtgaatgcggttacctacac
+tccagattactgaccactggaggcagacactatggcgaacagcatcacggcggatgagat
+tcgggaacagttttcgcaggcaatgtcagccatgtaccagcaagaagttccgcaatatgg
+cacgctgctggaactggtagctgatgtgaatctggctgtgctggaaaacaatcctcaact
+gcacgaaaaaatggtaaatgcagacgagctggcgcgactgaatgttgaacgtcatggggc
+gattcgcgttgggactgcacaagagcttgctactcttcggcggatgtttgccattatggg
+gatgtacccggtgagctattacgatctctcgcaggcaggggtgccggtacattcgacagc
+atttcggcccattgatgatgcttctctggcgcgtaatcccttccgcgtttttacctcctt
+actccgccttgagcttatcgagaacgaaattttgcgccagaaagcggcggagattctgcg
+tcagcgcgatatcttcaccccacgttgtcgacaactgttagaggaatatgagcagcaggg
+cggttttaacgaaacacaggcacaggagtttgtgcaggaagccctggaaacgtttcgctg
+gcaccagtcagcaacggtagatgaagaaacctatcgcgcattgcacaacgaacatcggtt
+gattgctgatgtggtctgttttcctggatgccatatcaaccacctgacgccacgtacgct
+ggatattgaccgggtgcagtcgatgatgcctgaatgcggaattgaacccaaaattctcat
+cgaggggccgccgcgccgcgaggtaccgattttactacgccagaccagctttaaagcact
+ggaagagacggtgttgtttgcggggcagaaacagggcacgcataccgcgcgctttggtga
+aattgagcagcgtggcgtggcattaacgccgaaagggcgacaactgtatgatgatcttct
+gcgtaacgctggaaccgggcaggataatctcactcaccaaatgcatttacaggaaacctt
+ccgcacttttcctgacagtgagtttttaatgcgtcagcaagggttggcatggttccggta
+ccgtctgacgccttcgggtgaggcgcatcgtcaggcgattcatcctggagacgatccaca
+gcccttaattgaacgtggttgggtagtggcgcaacccatcacctatgaagatttcttgcc
+cgttagcgcggcggggatcttccagtcaaatctgggtaatgaaacgcagacacgcagtca
+cggtaatgccagtcgcgaagcatttgagcaggcgttgggttgtccggttttggatgagtt
+ccagctttaccaggaagcggaagaacgcagtaaacgtcgctgtggtttgctttaaaatct
+gaccatccgcctttgcaaaaatttgcctgattttacaaacgaatcaggctcatcccatcg
+acataaaaaaaatgccgatttatgcatattctctcagttcaacaattggattattaataa
+atattgtctagagtgagcggtcataaataagcactttcttgccgctgaaaacgaccagcg
+cgggaccattcacaacaccagaaggactcactttcaggtatggatcgtagacgatttatt
+aaaggttcaatggctatggccgccgtgtgcggtaccagcggcattgcttctcttttttct
+caggcggcattcgcggcagattctgatattgccgacgggcaaacccagcgttttgacttc
+tccattctacagtcaatggcgcacgacttagcgcaaacagcgtggcgtggtgcgcctcgt
+ccgttacctgacacgctggcgacaatgacgccgcaggcttataacagtattcaatacgac
+gccgaaaaatcgctctggcataacgttgagaaccgtcaactggacgctcagttcttccat
+atgggaatgggattccgtcgccgcgttcgtatgttttctgtagatccagcaacacatctg
+gcgcgtgaaattcactttcgcccggagttgttcaaatacaacgatgcaggtgttgataca
+aaacaattagaagggcaaagcgatctcggctttgccggttttcgcgtgtttaaagccccc
+gaactggcgcgccgtgatgtagtatcatttctcggcgcgagttatttccgcgccgttgat
+gatacatatcaatacggtttgtcggcccgcggcctggcgatcgacacttacaccgacagt
+aaagaagagttccccgactttaccgccttctggtttgatacggtaaaaccgggggcaact
+acctttaccgtttatgcgttgctcgatagcgccagcattactggtgcctataagttcact
+atccattgtgagaaaagtcaggtgattatggatgtggaaaatcacctgtatgcgcgcaaa
+gacattaaacagctgggcattgcgccgatgaccagtatgttcagctgcggtactaatgaa
+cgtcggatgtgcgatacaattcatccgcaaattcatgactctgatcgtctgtccatgtgg
+cggggcaacggcgagtggatttgccgtccgctgaataatccgcaaaaattgcagttcaat
+gcttacaccgacaacaacccgaaagggtttggtttattgcaactggatcgtgacttctcc
+cattatcaggacattatgggctggtataacaaacgcccaagtctgtgggtggaaccgcgt
+aacaagtggggtaagggcaccatcggcctgatggaaatcccaacaacgggcgaaacgctg
+gataacattgtctgcttctggcagccagaaaaagctgtaaaagcaggtgatgagtttgca
+ttccagtatcgtctgtactggagtgcgcaaccgcctgttcattgcccattagcgcgcgtt
+atggcgacgcgtaccggcatgggcggtttctcggaaggttgggcgccaggtgaacactat
+cccgaaaaatgggcgcgtcgttttgccgtcgatttcgttggtggtgatctgaaagctgcc
+gcgccaaaaggcattgagccggtgattacgctttccagtggggaagcgaagcaaatcgaa
+attctctatattgaacccatcgatggttatcgtattcagtttgactggtatccgacttcg
+gactccactgatccggtcgatatgcggatgtatctacgttgtcagggggacgctatcagt
+gaaacatggctgtatcagtatttcccgccagcgccggataaacgtcagtatgttgacgac
+cgcgtgatgagttaatcgttttttcttcggcaccttcttcgggaggtgccgtctggttaa
+acacgatcccgctcgcatttttccctaagttaaatgagtaatctgatggtgtgtatttca
+gatacaccttgtcagccactaacagggagtgcgtatgtttccagaataccgagatttaat
+atcccgtctgaaaaacgaaaatcctcgctttatgtccttgttcgataaacacaataaact
+tgatcatgaaattgccagaaaggaaggttccgacggtcgagggtacaatgcggaagtggt
+ccgcatgaaaaaacaaaagctacagttaaaagatgagatgctcaaaatcctgcagcagga
+gagcgtcaaagaggtgtaaactttcctaagccgccagccaggcggcttttttaacaactg
+catggattgactggagataagatgactgaaacgataaaagtaagcgaatcacttgaatta
+catgctgttgcagaaaatcacgtcaaacctctttatcagttaatctgtaaaaataaaacc
+tggttacagcagtcgctaaactggccgcagtttgttcaaagtgaagaggacacgcgaaaa
+acggtgcagggtaatgtgatgttgcatcaacgcggctatgccaaaatgttcatgattttc
+aaagaagatgaacttatcggcgttatctcgtttaatcgtattgaaccactgaataaaacc
+gctgaaataggctactggctggacgaatctcatcaggggcaggggatcatttctcaggcg
+ctgcaggcattgattcatcattacgcccagtctggtgaacttagacgcttcgtgatcaaa
+tgtcgggtggacaatccgcaaagcaaccaggtcgctttgcgcaatggttttatccttgaa
+ggttgcctgaaacaggctgagttcctgaatgatgcctatgatgatgtgaacttatacgcg
+cgtattatcgattcacaataaccctgccagcggcgttcgcgtaatgcgctcctcgccgtt
+aatgacttttggaccacggacatgaaccgtgtcgccatcaaaggcttcaacgacggcgtg
+gtcggttaactccacatggttttcaattatcaccgcacctgtaatacggctctcaccttg
+tatgacaacgtgctcgtcgagcagaatcggtccgccacgtaccacggcatttccgccaac
+caagacatgatgttttaacacacaattaccttccacaatggcatattccgccacctgcga
+actgtaatgaatcgtcggaatggcatcttcttctatgccagctttcacctgcgcgtgacc
+gtagactttagcgcaatcgcatagccagacattgttctcttcattaccttcaatactggc
+aaaatcaaaaacttcggcgcgatgttcaataaaagcataccggacgacggcatcgccata
+aatttgtgcctggtggacaatacgcgaggcgctaacccttgcgcgatcataaatttggag
+caggagttgatggtcgggcgttaagccttgtgcggcgacgatcatagaatgttgatcaat
+taaggcgtgaccaaatattctacattgcccgtaaactaatgagtcatgaatggtgacgct
+gtcacttatatatgcaccctggctgatttcactattatcgatccagacgttatccgttgc
+gtaaacctctccccacagcacgctggtgccggtgatacgcgtattaccggaaatcaccgc
+tccgccgaacgcaatagcattctggtcgtaaatccagcaatttccttcttgtgctaacac
+cgtttcgcgatcgatccagccgccagcggttcctgctatcacatcgttaaaatcgctaat
+ggcgataatctgccgtaataacacattttttttagtgccatcttcctgataactaaaggc
+tcgctgttcttcacttagacgatatttgcgcatagcgttttcccacaggtgacttactat
+aaccgtagcaaattctgcggctctggctatgctcgagaaaattccataaaatgcatttca
+aatatactttataaattaaacaaaatgagtaagaagatgcagagcgataaagtgctcaat
+ttgccggcaggctactttggtattgtgttggggacgatagggatgggatttgcctggcgc
+tatgccagccaggtttggcaggtcagccactggttaggggatgggctggtgattctggcg
+atgatcatctggggattattgactagcgcatttattgcccgactcatacgctttccgcat
+agcgtgctggcggaagttcgccatccagtgctgagcagttttgtgagtttgtttccggca
+acgacgatgctggtggcgattggttttgttccgtggtttcgcccactggcggtgtgcctg
+ttcagttttggtgtcgtggttcagttggcttatgccgcctggcaaactgcgggattatgg
+cgcggatctcaccctgaagaagctaccacgcctggactgtatctgccgacagttgccaac
+aactttatcagcgcaatggcctgtggtgcgttgggctacaccgacgccggtctggtgttt
+ttaggcgcaggcgttttctcatggctaagccttgaaccggtgatcttgcagcgtctgcgc
+agttcgggagaattacccacggcactgcggacatcactcggcattcagctcgctcctgcg
+ctggtggcttgtagtgcctggctgagcgtcaacggcggcgagggtgacacgctggcgaaa
+atgcttttcggttatggactgctgcaactgctgtttatgctacgtctgatgccatggtat
+ctctcccagccatttaatgcttcattctggagtttctcgttcggcgtatctgcactggca
+accaccggtttgcatctggggagtggcagcgataatggatttttccatacgctggcggtg
+ccgctgtttatctttaccaattttattattgcaatactgctcatccgtacttttgcgctt
+ctgatgcagggaaaattgttagtcagaaccgagcgcgccgttttaatgaaagcagaggac
+aaagaatgatcattcgtgacgaaaactattttactgataaatatgaattaacccgcacac
+actctgaagtactggaagcggtgaaagtggttaaaccgggtaaaacgctggatctgggct
+gtggcaatggtcgtaacagtctttacctggcagccaatggttatgatgttgacgcatggg
+ataaaaatgccatgagtatcgccaacgtcgagcgcattaaatccattgaaaatctggata
+atttacacacccgagtcgttgatctgaataacctcacatttgatagacagtacgatttta
+ttctttcgactgtggtgctgatgttccttgaggctaaaaccatccccgggttgattgcca
+atatgcaacgttgcactaaacctggtggttacaacctgattgtggcggcgatggataccg
+ctgattatccatgtaccgtcggcttcccgtttgccttcaaagagggagaattacgtcgat
+attacgaaggctgggagagggtgaaatacaatgaagacgtcggcgagctgcaccgcaccg
+acgccaacggtaatcgtattaaactgcgtttcgccacgatgctggcacgtaaaaaatgac
+ccggtaagcacaaaacgcgtgaaaattccccacgctgagatgatttactgttcttctttt
+cggtaagcatattttttatcgaagggatgtgaaattaatcacagtagtcgaagtttttag
+cagcttaacttactgaaatttaagtactgatgattgacttagcccctttttcggcattga
+ctatgtcgtctgaaaaggggctgaaaaatttattttcaccaacactttttttgccacaac
+acgaagcggcgctttttgctataacttagaaagtaatataatcatctcaggaaactattc
+atgcgtaccacatcatttgcgaaagttgcagctttatgcggcttattggctctgtctggt
+tgtgcatctaaaatcacccagccagataaatattctggttttttaaacaattactctgat
+ttaaaagaaacaacctcggctacaggtaaacctgttttacgttgggtagacccgagtttt
+gatcaaagcaaatatgacagcatcgtctggaacccaatcacttattatccggtaccgaaa
+ccgtcgacccaggtagggcagaaagttctggataaaattttgaactataccaacaccgaa
+atgaaagaagcgatagcgcagcgtaaaccactggttaccaccgctgggccgcgtagtctg
+attttccgtggggccattaccggtgtagataccagcaaagaagggctgcaattctatgaa
+gtggttcctgttgcattagtggttgcggggacgcaaatggctacaggccaccgtaccatg
+gatactcgcctctattttgaaggtgagctgattgatgcagcgactaataaaccggttatc
+aaagtcgttcgtcagggcgaaggtaaagacctgaataacgaaagtacgccaatggctttc
+gaaaatattaaacaagttattgatgacatggcgaccgatgccaccatgtttgacgttaac
+aaaaagtagttccagacgcgccatcgttagatggcgctttttatccggtgcgccgtaaaa
+ccccatccttcagggcggggatataaggcgcggttttccacctgaccaggtgtttgctgt
+tgttcaatgtattggcggatgacggatattggcgcacctccgcagctactggcaaaatag
+ccaggactccacaaaacgcctttgtagtaatacctgaatgcaatatctggtcgatctcgt
+cgcagtcacctacccgatacgcctttgaggctgtttaccagactggatatcgccagtttg
+ggaggatagttaattaacaaatggacgtgatctggttcgccatccatttcaaccagttca
+gcttcaaaatcagcacatacatttgaaaagtaagtgcgtagtttttctgtcgcgtcatgg
+tcaaaaatctggcgtcggtatctggtgacaaagagcaggtgaacatgcatcaggaaaaca
+caatgccttccacgccggatatcggtttcttttttcacagaccaaagtatcatttgacct
+gtgaaacgattacaggcatttaaattccagttaagacccggtggtcaacaggagtgtgaa
+atgaggcgcttcgcaggcgcatgtcgtttcgttttcaatcgtgctctggcacgtcagaat
+gagaatcatgaggccggtaataaatacatcccttacgggaaaatggcttcctggctggtt
+gagtggaaaaatgccactgaaacgcaatggcttaaagattctccctcacagccattgcaa
+cagtcactgaaagaccttgagcgggcttacaaaaacttcttccggaagcgggctgctttt
+ccccgattcaaaaagcggggacagaatgatgcattccgctacccgcagggcgttaagctc
+gatcaggaaaacagccgtatttttctgccgaaactgggctggatgcgctaccggaacagc
+cgtcaggtcacgggtgttgtgaaaaatgtcactgtcagccagtcctgcggtaagtggtac
+atcagtattcagacagaaagtgaagtatcaactccggttcacccttcagcatcaatggtc
+gggctggatgctggcgtggctaaactcgccacgctgtcagatggcacagtctttgagcct
+gtaaacagttttcagaaaaaccagaagaagctggcgagacttcagcgacagttaagccgc
+aaggtcaaattcagcaacaactggcaaaagcagaaacgcaaaatacagcgactgcattcc
+tgtatcgcaaatatccgcagggactaccttcacaaagtcacaacggccgtcagcaaaaac
+cacgcaatgatagtcattgaggatttgaaggtcagcaacatgtcaaagtcagcagcgggt
+acggtcagccagccggggcgcaatgtccgggcaaaatcaggtttaaaccgttcgatactg
+gatcagggctggtatgaaatgcgccgccagcttgcgtataagcagctctggcgtggcggt
+caggtgcttgctgttccgccagcgtatacaagccagcgttgcgcgtactgtggtcataca
+gcgaaagagaaccgcctgtcacaaagtaaattcagatgccaggtatgtggatatacagcg
+aacgccgatgtaaatggcgctcgcaacattttagcggcggggcacgccgttcttgcctgt
+ggagagatggtgcagtcaggccgcccgttgaagcaggaacccaccgaaatgattcaggcg
+acagcctgaacgtagcagggatccacgtccttcagggcgtggaggatgtcaatatcggtt
+tctgtcagcgattaaattcaacaccacgtaacaaacgcctccggcaattaatccccaaaa
+cgcagaaccaatcccgaccagcgtcaatccacttgccgttaccagaaatgccaccaccgc
+cgcgtctcgctcacgctcattatgcagcgcctgatacaaactgccgccgatggtacttaa
+cagcgccagacctgccagcatctggatccaacttacgggcagggcagccatcatcccggt
+aatggcactaccaaacagacctgcgagcaaatagaaaatgcctgcaacggcagcggccag
+ccaacgttgatctttatccggatgcgcttccgggctttggcaaatagccgcggtgattgc
+cgcaataccgacggaataaacgccgaaaggggaaaaaaccagtgccagcaatccagtaaa
+tacaattaatggcgaaacaggagccgaatatccagctgctttcattgctgcgatacccgg
+tgcgttttgcgatgccatcgtcaccagaaaaagggggagtgcaacgctcaggctgtgagc
+aaacgaaaaatcaggggtaatataagtggggagaacgggtttaaagacaacatcagttgt
+gacaacgtcaccttgcgcgatgacgatcacgatcccaataatcatcgcggcaattaccgc
+atagcgcggcgcaacggccttggttgccagccataccagcaacatacttccacacaacgt
+aaattgaccgtccagactggcaaacgcctgtaaaccaaagcgtaataaaatcccggcaag
+cattgccgccgcaagcgagtgcggaataatgcgcatcagacgagcaaagagtcccgttat
+gccgcagaggactattagcgcgttggtgacaataaaaacgccgatggcttcgttaagtgt
+tagtccctgcaatccggtgaccaacaaagccgcgccaggcgttgaccatgcggtgagaac
+aggtacgcgataccataatgtcagagtcagcgtactgacgcccattgccagccccagcgc
+cgtcatccagccagagatttgtgcagtggtggctccggcgacaatcgctgcttgccagat
+tattgccgctgaactggcgtagccaattaataccgccagaaaccccgccagtagcgtggg
+tggaggaatagaaaacagacgcatagtcacctcgtgcgttatagcgtacaggcaccgtag
+catttgtccgttataacgcacaagtgataaacttccgttttgccggaggagtcgcatgga
+aaatctcgctcgctttttatccaccacacttaaacaactacgccagcagcgcggctggag
+tctttcgcgactggcagaagcgacgggcgtttctaaagcaatgttagggcagattgagcg
+taatgagtccagtccgacggtcgcgacattatggaaaattgccaccgggttgaacgtacc
+attttcaacatttatttctccgccgcagtccgctacgccttcagtttatgatccacaaca
+gcaggcgatggtgatcacttcgctgtttccttatgatccacaactctgctttgaacactt
+ctcgattcagatggcatctggtgcaataagcgaatcgacgccccatgagaagggggtaat
+cgaacatgtcgtcgtcattgatggacaacttgatctgtgcgttgatggggaatggcagac
+ccttaattgtggggaaggcgttcgatttgctgcagacgtcacgcatatctatcgtaatgg
+tggggagcaaaccgtacattttcattccctcatccattacccgcgcagttaagcgggaaa
+actatttcgcaacgtcgcgcttgtggctaaaatagccgccatttttcagctactggataa
+gaatgtgaccgtatcttctcatcgacttgaactgttaagcccggcacgcgatgccgccat
+tgcccgcgaagctattttgcacggtgccgatgctgtttatatcggcggccctggttttgg
+tgcccgtcataatgccagtaatagcttgaaagatattgccgagctggtgccgtttgccca
+tcgttatggtgcaaaaattttcgtcacgcttaacaccattttgcatgatgatgagctgga
+acccgcgcaacggctgattactgacctctaccagaccggtgtcgatgcgctgattgttca
+ggatatggggattctggaacttgatattccgccgattgaactgcacgccagtacgcagtg
+cgacattcgtacagttgaaaaagcgaagttcctctctgatgttggcttcacgcagattgt
+gctggcgcgagagctgaatcttgatcagatccgcgcgattcaccaggctacggacgcgac
+cattgaattctttattcatggggcactgtgcgtggcctattcgggtcagtgctacatttc
+tcatgcgcaaacagggcgtagcgccaaccgtggcgattgctcgcaggcgtgccgtttgcc
+atacacattgaaagacgatcaggggcgggtggtttcctatgaaaaacatctgctgtcgat
+gaaagataacgatcagactgccaacctcggcgcgctgattgatgctggtgtacgctcctt
+caagattgaagggcgttacaaagatatgagctacgtgaagaatatcaccgcccattatcg
+ccagatgcttgatgccattattgaagaacgtggcgatctggcgcgcgcttcatcaggtcg
+tactgaacatttctttgttccatcgacggaaaagactttccaccgtggtagcacagatta
+ttttgtgaatgcccgtaaaggcgatattggcgcgttcgattcgccgaaatttatcggcct
+gccggtaggcgaagtagtgaaagtggcgaaagatcatctcgatgttgccgttaccgagcc
+actggcaaatggcgatggcctgaacgtgttgattaaacgtgaagtcgtcggttttcgtgc
+caatacggtcgagaaaaccggagaaaatcagtaccgcgtctggcccaatgaaatgccagc
+agatttgcacaaaattcgtccacatcacccactaaaccgtaatcttgatcataactggca
+gcaggcactgacaaaaacctccagcgaacgtcgggtggcggtagacattgaactgggcgg
+ctggcaggaacaactgattctgaccctcaccagtgaagagggtgtcagcatcacgcatac
+gctggacgggcagttcgacgaagccaataacgccgaaaaagcaatgaacaatctgaagga
+tggtctggcaaaactggggcaaaccctctattacgcccgcgatgtgcaaattaatttgcc
+gggggcgctgtttgtaccaaacagtctgttaaaccagttccgccgtgaagctgctgacat
+gctggatgctgcgcgtcttgccagttaccagcgcggcagccgtaaaccggttgctgatcc
+tgcgccggtttatccgcaaacgcatctgagtttcctcgcgaacgtatacaaccagaaagc
+gcgtgaattttatcatcgctatggtgtgcagctgattgacgcggcgtatgaagcacatga
+agagaagggcgaagtcccggtgatgatcaccaagcattgtctgcgctttgcctttaatct
+gtgcccgaaacaggcgaaaggcaatatcaaaagctggaaggcgacgccaatgcaactggt
+taacggcgatgaagtattaacgctaaagtttgattgccgcccatgcgagatgcacgtcat
+tggcaaaatcaaaaatcacatactgaaaatgccgttaccgggaagcgtagtggcatccgt
+aagtccggatgagctgctgaaaacattgccgaagcgaaaagggtaaaacgccagttttct
+ggttactcacaacttattgaatctgcatgatattgcctgccgggtaaggcgttacgccgc
+atccggcatcaaatgactcaacgttgtcccgcttctggtttgcgcgatttttgccagtaa
+aaatgctcgcgcaaaccttccgccgactcttccgccacagcacgcaattcatcgctgtcc
+gcttcatgacgcagctgatgatccacattctttacccacacaaattcatgtcctttgtgc
+cctgccatgagttgtcctgaaaacagagcacacgttaataagacaaccgataacgccttc
+gtaaacatcctgccacctttttcttaccttttgccgctatgatgccgatcgtttcttgag
+gttattattcagttttgcaaattagcgcaaagaaattctggaatcttccttcctgatttt
+gcattgcattctgccgttgcggcgatttagtgctattttcgagcaaattacacacggagg
+taaacactaatgtttactttgttgatatactcagcggcagggaggcgatgtgaaacaaag
+cgagttcagacgttggctcgaatctcagggcgtcgatgtagcgaatggcagcaaccattt
+gaaactcaggtttcatgggaggcgcagtgtcatgccgcgtcacccctgcgatgagattaa
+agaaccattgcgtaaagcaatcctgaaacaactcggtttgagttaatcgccaattaaaaa
+ggttaatgacatgcgagagacagtcgaaattatgcgttatcccgtcactcttacacccgc
+gccggaaggcggttatatggtttcttttgtggatatccctgaagcgttgacccagggcga
+aactgtcgctgaagcgatggaagcggcaaaagatgctttactgaccgcatttgattttta
+ttttgaagataacgagcttatccctttaccttcgccattaaatagtcacgatcactttat
+tgaagtacctttgagcgtcgcctctaaggtattgctgttaaatgcttttttacagtcaga
+aatcactcagcaagagttagccaggcgaattggcaaacctaaacaggagattactcgcct
+atttaacttgcatcatgcgacaaaaatcgacgccgtccagctcgcggcaaaggcgcttgg
+caaagagttatcgctggtgatggtttaattacagttaacgaaaagttgtcatttttaaca
+actgatatagactgccgaatcatctgcacataattacgattcgataatgaaaaaatacca
+gcagcttgcagaacaattacgcgagcagattgcgtcgggtatctggcaacccggcgatcg
+tttgccttcgttgcgtgaccaggtggcgctttcaggcatgagctttatgactgtcagcca
+tgcctatcagttgctcgaaagtcagggatatattatcgcacgaccgcagtcgggttatta
+cgttgcgccacaggcaataaaaatgccgaaagcgccagtcattccagtcactcgagatga
+agcagtcgatatcaacacttatatttttgatatgttgcaggccagtcgcgatccgtcggt
+cgttccgtttgcctcggcctttcccgacccgcgacttttccccctccaacaactaaaccg
+ctcgctggcgcaggtaagcaaaaccgccacagcgatgagcgtgattgaaaacttaccgcc
+aggaaacgcagaactgcgtcaggctattgctcgtcgctatgccttacagggcatcaccat
+ttctcctgatgaaattgtcattactgccggggcgttagaggcattaaacctcagtttgca
+agcggtaactgaaccgggcgattgggtgatagtagagaatccttgtttctacggtgcgtt
+gcaggcgctggagcggctacggctgaaggcgttatcggtggcgacggatgttaaagaagg
+gatagatcttcaggcgctggaactggcgttgcaggagtatccggtgaaagcgtgctggct
+gatgactaatagccagaatccactcggatttaccttaacgccgcaaaaaaaagcacaact
+ggtggcgttgctcaatcagtacaacgtaacgctgattgaagatgacgtttacagcgaact
+ttattttggacgggaaaaaccgctgcctgcgaaagcgtgggatcgccacgatggcgtttt
+gcattgctcttcgttttcgaaatgtctggtgcctggttttcgtattggttgggtcgccgc
+cggaaaacatgcacgtaaaattcaacgcttgcagttgatgagtacgctttccaccagctc
+accgatgcaacttgcgctggtggattacctttccacgcgccgatacgacgcccatcttcg
+tcgcctgcgtcgccagcttgcggaacgtaaacaacgtgcctggcaggcactgctgcgtta
+tctgcctgcggaagtgaaaattcatcataatgacagtggttactttctctggttggagct
+ccccgagccgttagatgccggcgaattaagcctggcggcactgacgcatcatatcagtat
+tgcgccgggtaaaatgttttctaccggtgaaaactggtcacgttttttccgttttaatac
+cgcgtggcagtggggagagcgtgaagaacaggcggtaaaacaattaggcaaacttattca
+agaacggctgtaatagcgtttaatttaattcctcttagattgggtaatatgaatttcgaa
+tagcagtcatatttcctaactccttgactatactccagaagataaccttacagacggcat
+aatgcgcggtagctcacaacctgaataaattttctcaggggcgaaggtgtgcctgcaagc
+cgccgtctatggttaaacaaggagatatttttacggcacggcggctgaacaattaattac
+gacaggagtaagaccttatgagcaagacatttgcccgcagcagcctgtgtgcgctcagca
+tgacaataatgaccgctcacgccgccgaaccgcctaccaatttagataaaccggaagggc
+gactggatattatcgcctggccgggatacatcgaacgcggacaaactgataaacaatacg
+actgggtaacgcagttcgaaaaagagacaggctgcgcggtgaatgtgaaaaccgccgcga
+cttccgatgaaatggtcagtctgatgaccaaagggggttacgatctggttacggcatccg
+gcgatgcctcgctgcgtttgattatgggtaaacgcgtgcagccgattaataccgcattga
+ttcccaactggaaaacgctcgatccgcgcgtggttaaaggcgactggtttaatgttggcg
+gcaaagtttacggcacaccttaccaatgggggccgaacctgctgatgtacaacactaaaa
+ccttcccgacgccgccggatagctggcaagtggtttttgttgagcaaaatctgccggacg
+gcaagagcaataaaggccgcgttcaggcttatgatggccctatctatattgcggacgctg
+cgttgttcgttaaagccactcagccgcagttgggcatcagcgatccgtatcaactcaccg
+aagaacagtaccaggcggtgctgaaagtgctgcgcgctcaacacagtttgatccatcgct
+actggcatgacactaccgtgcaaatgagcgatttcaaaaacgagggtgtggttgcttcca
+gtgcctggccctatcaggccaacgccctgaaagccgaaggccagcctgttgctaccgttt
+tcccgaaggagggtgttaccggttgggctgataccaccatgctgcatagcgaagcgaaac
+atccggtttgcgcctacaaatggatgaactggtcattaacgccaaaagtgcagggcgatg
+tggcggcctggtttggctcgttaccggtagtgccggaagggtgtaaagccagtccgttat
+taggcgaaaaaggttgtgaaaccaacggttttaactatttcgacaaaatcgccttctgga
+aaacgcctatagcagaagggggcaagtttgttccctacagtcgctggacgcaggattaca
+ttgccattatgggcggtcgctaacttcgctggggtgctttatgacgtacgcagtggagtt
+tgacaacgtctcgcggttgtacggtgacgtgcgcgcagtagatggcgtcagtattgcgat
+aaaagatggtgagttcttctctatgctggggccgtccggctccggcaaaaccacctgcct
+gcgcctgattgctggcttcgaacagctttccggcggggctatctctatctttggtaaacc
+cgccagcaatctgccaccgtgggagcgggacgtgaatactgtctttcaggactacgcgct
+atttccgcatatgtcgattcttgacaatgtcgcctatgggctgatggtcaaaggcgtgaa
+taaaaagcagcggcacgcaatggcgcaagaggcgctggagaaagtggcgttggggtttgt
+acatcaacgtaaaccgtcacaactttctggtggtcagcgccagcgggttgctatcgccag
+agcattggtgaatgaaccgcgcgtattgctgttggatgaaccgctcggcgcactggatct
+caaattgcgtgagcagatgcagctggaactgaaaaaactgcaacagtctctcggtatcac
+ttttatcttcgttacccacgatcagggcgaagcgttatcgatgtccgatcgtgtggcggt
+tttcaataatggacgcattgagcaggtcgattccccgcgcgatctctatatgcgcccgcg
+cacgccgtttgttgccgggttcgttggtacatcgaatgtttttgatggactgatggcaga
+gaaactttgtggcatgacgggaagcttcgccctgcgaccggaacatatccgcctcaacac
+ccctggtgaactgcaggccaatggcacgatccaggcggtgcaatatcagggcgcggcaac
+tcgttttgaactgaaattgaacggcggtgaaaaactgcttgtgagtcaggccaatatgac
+aggcgaagaactgcctgccacgctcacgcccggacaacaggtgatggtttcctggtcgcg
+tgatgtgatggtgccgctggttgaggagaggtgaatggcgatgaatgtattgcaatcacc
+ttcacgtccaggtctgggtaaggtgtccggtttcttctggcataatccggggctggggct
+gtttttactgctgcttggcccgctaatgtggtttggcattgtctatttcggctcgctgct
+gacactgttatggcagggattttatacttttgacgatttcaccatgtcggtaacgccgga
+actgacgctggcgaatatccgtgcgctgtttaatccggcgaattacgacatcattctccg
+cacgctgactatggctgtggcagtcactatcgccagcgccattctggcttttccaatggc
+gtggtatatggcgcgctataccagcgggaaaatgaaagcgtttttttatattgcggtaat
+gttgccgatgtgggcgagctacattgttaaagcctatgcctggacgttattgctggcaaa
+agatggcgtggctcagtggtttttacaacatcttgggctggaaccactgctgactgcgtt
+ccttacattacctgcggtgggcggaaatacgctgtcaacttccgggctggggcgctttct
+ggtgtttctctatatctggttgccgttcatgatcctgcccgttcaggcggcgcttgagcg
+tttgccgccgtcattgttgcaggcgtcggctgatctcggcgcacgtccacgacaaacctt
+tcgctatgtggtgctgccgctggcaatcccgggtattgccgctggctctatctttacctt
+ctcactcacactgggcgattttatcgtcccgcagctggttggtcctccaggatattttat
+cggcaatatggtttattcccagcagggggcgattggcaatatgccgatggcggcggcatt
+caccctggtgccgattattctcatcgcactgtacctggcgttcgtgaaacgtctgggagc
+gttcgatgcactctgaacgcgcaccgtttttcctcaaactggcggcctggggcggcgttg
+ttttcctacattttcccatcctgataatcgccgcctatgcgtttaacactgaagatgcgg
+cgtttagttttccaccgcagggcctgacgctgcgctggtttagcgtggcagcacagcgta
+gtgatattcttgatgccgtgacactgtcacttaaagtggcggcgctggcgacattaattg
+cgctggtgttagggacgctggcagctgccgcgctgtggcgacgagactttttcggcaaaa
+acgccatttcgctgttactgctgctgcccattgcgctgccgggcattgtcactggtctgg
+cgttattaaccgcctttaaaaccatcaatctggagccgggatttttcaccatcgtggtcg
+gtcatgcgactttttgtgtagttgtggtgtttaacaatgtcatcgcccgttttcgccgca
+cctcctggagtctggttgaggcgtcaatggatcttggggccaatggctggcaaaccttcc
+gctacgtagtgttgccgaatctcagttcggcgttactggcaggaggaatgctggcgtttg
+ccttgtcgttcgatgaaatcatcgttacgacctttacggcaggtcatgaacgaacgttac
+cgttgtggttgctcaatcagcttgggcgaccgcgtgatgtaccggtaactaacgtggtgg
+cactgctggttatgttggtaacaaccttgccgatcctgggggcctggtggctaacccgcg
+aaggcgacaatggtcaataaccactgatacaggaatatgctatgcaacataagttactga
+ttaacggagaactggttagcggcgaaggggaaaaacagcctgtctataatccggcaacgg
+gggacgttttactggaaattgccgaggcatccgcagagcaggtcgatgctgctgtgcgcg
+cggcagatgcagcatttgccgaatgggggcaaaccacgccgaaagtgcgtgcggaatgtc
+tgctgaaactggctgatgttatcgaagaaaatggtcaggtttttgccgaactggagtccc
+gtaattgtggcaaaccgctgcatagtgcgttcaatgatgaaatcccggcgattgtcgatg
+tttttcgctttttcgcgggtgcggcgcgctgtctgaatggtctggcggcaggtgaatatc
+ttgaaggtcatacttcgatgatccgtcgcgatccgttgggggtcgtggcttctatcgcac
+cgtggaattatccgctgatgatggccgcgtggaaacttgctccggcgctggcggcaggga
+actgcgtagtgcttaaaccatcagaaattaccccgctgaccgcgttgaagttggcagagc
+tggcgaaagatatcttcccggcaggcgtgattaacatactgtttggcagaggcaaaacgg
+tgggtgatccgctgaccggtcatcccaaagtgcggatggtgtcgctgacgggctctatcg
+ccaccggcgagcacatcatcagccataccgcgtcgtccattaagcgtactcatatggaac
+ttggtggcaaagcgccagtgattgtttttgatgatgcggatattgaagcagtggtcgaag
+gtgtacgtacatttggctattacaatgctggacaggattgtactgcggcttgtcggatct
+acgcgcaaaaaggcatttacgatacgctggtggaaaaactgggtgctgcggtggcaacgt
+taaaatctggtgcgccagatgacgagtctacggagcttggacctttaagctcgctggcgc
+atctcgaacgcgtcggcaaggcagtagaagaggcgaaagcgacagggcacatcaaagtga
+tcactggcggtgaaaagcgcaagggtaatggctattactatgcgccgacgctgctggctg
+gcgcattacaggacgatgccatcgtgcaaaaagaggtatttggtccagtagtgagtgtta
+cgcccttcgacaacgaagaacaggtggtgaactgggcgaatgacagccagtacggacttg
+catcttcggtatggacgaaagatgtgggcagggcgcatcgcgtcagcgcacggctgcaat
+atggttgtacctgggtcaatacccatttcatgctggtaagtgaaatgccgcacggtgggc
+agaaactttctggttacggcaaggatatgtcactttatgggctggaggattacaccgtcg
+tccgccacgtcatggttaaacattaaggataatattgcagatcgtaagagtatgagatga
+tcttgcgtactgtcagagcactgatttctctgacagtacgtgctgcgtgcaaaatcacta
+catcaaataaaccagccaaatctcatagagataagagtaaacaaaccaacagcagcaaag
+aaatttatcagtactacagttctactggaaacattcatttttgccaccttttatcattgc
+ccctatgtgtatagtacgggttaagaaaatccgcaataatactcattctgaagatggata
+agggcaagttgctgtttgatgattttttctcaaactggtgaaaaaacttgatgcacgtca
+aaaaatgacgcatatttgcgcgcgttttattcatctggctggacgcccgtacatgtctct
+ctatcaacacatgcttgttttttatgcggttatggcagcaatcgcatttcttatcacctg
+gtttctttctcacgataagaaacgcatccgtttcttaagcgcctttctggtgggggcaac
+atggccgatgagtttcccggtggcgctgttgttttcactgttttaaatcttactcactgg
+cttgacggcaccacgcagacttatatcatttggatgaatcgataaatttcacaagtggct
+aaggagaaagtatgtcgcatctggatgaagtcatcgcgcgcgtggatgccgcgattgaag
+agagcgtcattgcccatatgaacgaattattaatcgccctgagcgatgacgcggagttaa
+gtcgggaagatcgctacacccagcagcaacgtctgcgcacagcgatcgcccatcacggtc
+gcaagcataaagaagatatggaagcgcgccacgaacagttaaccaaaggcggcaccatcc
+tctgattaaaatgagcgtctggctaccaaccaggcgccaaccacaagtaaaattgcgcca
+caaattgggccgaacaacgcccgtagtggtacgccatgactgcggaagatatccagcatc
+agaccgccaatcagctgactggcgaccagtacagcaatagttgtcgccgctcccacattc
+tgatatccgctgatactggcgaagacaaaaaacgatcccagcaagccaggtataagtgtc
+caccagcgcacgctggacaccagttcgccaaaccccgccatgccttgtttaaaccataaa
+atagaaacaaagagcacaatccccaccagtgagttcagcaacatggcgatgagaatggta
+gaggaggtctgggtgatgcgcaccatcagcgtgttctggacaaccagaccaattccggcg
+gcaatcaaaaaagcaagggtgagcgactgattcatccaatcgcgtccggttcagtgcgct
+cgtcgagttgcaactgcataaatgtcagatccagccaacgaccaaatttagtgcctacct
+gcggcatttgcgcggtgacgacaaatcccagcgactggtggagatgcagcgaggcctgat
+tttgcgattcgatcccggcgaccatgacatgcttcccgcaatcccgcgcttcatcaatca
+atcggcttaacaatttacgccccagacctttgccctgatgatcgggatggacataaaccg
+aatgttccacggtatggcgaaaaccatcgaaactacgccagtcgccaaacgaggcatatc
+ccgtcactacgccgttttcctcgctcaccagcactggataacctgctaaagtccgcgctt
+caaaccaggcaatgcggttatcagcatccaccgtttggtcattccagatagccgccgtat
+acaacacggcgtggttataaatttccgcaatggcagcacagtcggctttgcgggcaaaac
+ggatggacatgtctggcctcaataaaataatgatgatgatgttatcaatactatcgaaaa
+cagcccgaagcaacggattcctcgatgaaattattgcgtgttgcagaggggatgtgacgg
+ctgcaaacaaaaccaatcccgtgagcctgctactattgatggattcatgccaaaagcaca
+ggagagcattatggggcaacaaaagcagcgtaatcgacgttgggttctggcctcgcgtcc
+acatggcgcacctgttccggagaatttccgtcttgaagaagatgatgtcgccacaccggg
+tgaaggacaggtgttactgcgcacagtttatttgtccctggacccgtatatgcgtggacg
+tatgagcgatgagccatcttattcaccgcctgttgatattggcggcgtgatggtcggcgg
+tacggtgagccgtgtcgtggagtcgaatcatcctgattatcagtctggcgactgggtgct
+gggctacagtggatggcaagactatgacatatccagtggtgatgatctggtgaaacttgg
+cgatcatccgcaaaatccatcgtggtcgctgggtgtgctagggatgccaggctttaccgc
+ttatatgggcctactggatatcggtcagcctaaagagggcgaaacgttggtggtagctgc
+ggcgacaggaccagtgggggcgacggtggggcaaatcggcaaacttaaaggttgcagagt
+ggtgggggtagccggtggcgcggaaaaatgccgccatgctaccgaggtgttaggcttcga
+tgtttgtcttgatcaccacgcggatgattttgccgaacaactggcgaaagcgtgcccaaa
+aggtattgatatctattatgaaaacgtgggcggtaaggtattcgatgcggtgctaccgtt
+acttaatacatctgcgcgcattcccgtctgcggattagtgagcagctataacgctacaga
+gctaccacccggtccggatcgtttacctctgttgatggctacagtgctgaaaaaacgtat
+tcgcttgcaaggttttattatcgctcaggattatggtcaccgcatccatgagtttcagag
+ggagatggggcaatgggtgaaagaggataaaatccactaccgcgaagaaattactgacgg
+tttagagaatgcgccacagacgtttatcggcctgctgaagggtaaaaacttcggcaaagt
+ggtgatccgcgtggcgggtgatgattaaagtttcaacggcggcgtaagccgccataaaaa
+tccaggcaaaaagcttattttcagctttaattaactaaccacatcattgttctgctgcta
+ataacaacaaaggtgagtggtttatgattattcactttaatacaccaggtgaattccttc
+tgccatgcaggcagggttggacagaaaacacgcgaaggaattaaaatgcctggaacggga
+aaaatgaaacatgtcagtttgactctgcaggttgagaacgacctgaaacatcagcttagt
+attggcgcattaaaacctggcgcacgcctgattactaaaaatctggcggagcaattaggt
+atgagtattacacctgtgcgtgaagcattattacgtctggtttcggtgaatgcgctttct
+gtcgcacctgcacaagcatttacagttccggaagtggggaaacgtcaattagacgaaatc
+aatcggatccgctacgaactggaattaatggcagttgctctggctgttgaaaacctcacc
+ccgcaagaccttgcggaactccaggaattgctcgagaaattacagcaggcgcaagaaaag
+ggcgacatggaacaaatcattaatgtaaacaggctatttcgcttagcgatttatcatcgc
+tcaaatatgcccatcctgtgtgagatgattgagcaactgtgggtcaggatggggcctggt
+ttacattatctctatgaagcgattaatccagcggaattacgggagcatatagaaaactat
+catctgttactcgctgcgttaaaagcaaaagacaaagagggatgcagacattgtcttgct
+gaaattatgcaacaaaatattgctattttataccagcaatacaatcgttaaagtaaatgc
+ccggcaaataccgggcatcaaggtaattactcaaatctccacgcaatattcatgccgaca
+ccataatttcgtccgggcgaaggttcgtaatatcgcccgtttgactcattgacaatgaca
+gaaccaacgtattctttatcgaataaattatcgacacgaccaaataaatccacagttaaa
+ttgtggtaattgtatttatacccggtgaataagccgacgagagtataagacggcgctttt
+gccgtattttcatcatctgccataatatcgcccatataacgcgcttccgtgcctgcatac
+caaccatcttccggtacataacctatcgacgcaaagcccatattacgggcgatccctggc
+atccgattaccgttacaatcctgttcattgcaaacattgctgcgataggtcgcatcaagc
+caggtccaggacgcgtttacgcgaaaatctcctgcgaaacgttgatcccatgccagttca
+gcgccttgacgacgggtctttccggcatttttgtaagtcgtacgcccaccgctactgcta
+tcgacaacaatttcatcatcagtgtcggtctgaaacaatgcgagactaagcagcccatca
+ccaatacgcgttttactgccgatctcaattgtatcgttggtggatggttttaaacctaag
+ttcataccgctttgcccatcagcacgataagacagctcattaatcgtcggcgtttcaaaa
+cctcgcccggctgccagatagatattccaggcatcggtcattgcatattttaacgaaccg
+gcaggtagccatttatgataactggcatcaccgctgtcatcgccgttacccggagtaacg
+taatggtcgttggaatcaaaccacacggagctgtagcgcacgccagcatccagcgacagt
+ttttcgctcagctgccactgcgtctgtaaatagggatcgatgttccacatcagattgcgt
+tcgtcgcgacgcaactcacctttttgcccgtactccggcatgccgctattcaggcggaag
+ttattgtagcccttgcggttttcactcatgttttcgtagttcaggccggtagtgaacgtg
+accggaacgcccagttcaccacggtgtgtccagcggctgtctattccctggtaatggcgt
+tgcagggtaatcacgccgcccgcatgtgacgggttaagttgtggtgccatgggtattgac
+tggtactgggtcgtttctcgctctccggcatacatcatcacactcatatcatcccgcgaa
+ctcaggctacgctcatagcgcaacccagcctgagtttgcttgatggtttttcgcgtgtcg
+tactgttctgcacgaggcgcttgttgtggattagccttccattctgctttggttagccca
+cctgggtcatctgctttgatatccacactattgaaaatcagacttaatttgctggcttca
+tcaatgcgtacgcccagtttggcattggctaaatttttctgtgcgccactatggtcacga
+tagccgtgggtcgtaaaacgcgtggttgagacggtgtaatcgacatcgccaggctgtgtg
+ccgtctcccgttgcgcccgttgctttcagcccatagcgccagctgccaaaactgccgtag
+taactactggcttcaatggttggtggctgttgtccggtctgggtggtgacattcattacc
+ccaccagacgcgttgccatacagggcagagaaggggccacgcagcacttccacattttgc
+acactgcttaaatcgatgttggatgtttgcccttgcccgtcgggcatggtggcgggaata
+ccgtccacatacaggcgaataccgcgaataccgtaagtggagcgggagccaaatccgcga
+atcgacagctgtaaatcttgcgcatagttctgccggttttgtacctgcaaaccaggcacg
+ccggtcagtgattcggacaagttaatgcgcggtgttgccaggcgcatctcctcgccatcc
+accacgcttactgctgctggggtatccagttctgaaaccacctgcggtgcggcactgaca
+atcatagtctgttcatcagcggcaaaaacaacgggggaaaggacaagcagtgcgggcaaa
+acggtctgtcggacggaaaaaatcttcatgaaaaaagccaggttaagaatgggaaaacgc
+cgtcatggtaatgaaattgtaaatttatggaaaatgaaacggcacaatacgttaagtaat
+tgagaaaattgtagtcgtaacggcaagaaatgctccacatttgagaaaataatgattacc
+attcccatttataacaagagcgtaacgatgattacgcttagcgaagcattgtgaagcagc
+aaaaatatcggttcatcaaagggagtcgtcatgcatttacgtcatctgttttcatcgcgc
+ctgcgtggttcattactgttaggttcattgcttgttgtttcatcattcagtacgcaggcc
+gcagaagaaatgctgcgtaaagcggtaggtaaaggtgcctacgaaatggcttatagccag
+caagaaaacgcgctgtggctcgccacttcgcaaagccgcaaactggataaaggtggcgtg
+gtttatcgtcttgatccggtcactctggaagtgacgcaggcgatccataacgatctcaag
+ccgtttggtgccaccatcaataacacgactcagacgttgtggtttggtaacaccgtaaac
+agcgcggtcacggcgatagatgccaaaacgggcgaagtgaaaggccgtctggtgctggat
+gatcgtaagcgcacggaagaggtgcgcccgctgcaaccgcgtgagctggtagctgacgat
+gccacgaacaccgtttacatcagtggtattggtaaagagagcgtgatttgggtcgttgat
+ggcgggaatatcaaactgaaaaccgccatccagaacaccggtaaaatgagtaccggtctg
+gcgctggatagcgaaggcaaacgtctttacaccactaacgctgacggcgaattgattacc
+atcgacaccgccgacaataaaatcctcagccgtaaaaagctgctggatgacggcaaagag
+cacttctttatcaacattagccttgataccgccaggcagcgtgcatttatcaccgattct
+aaagccgcagaagtgttagtggtcgatacccgtaatggcaatattctggcgaaggttgcg
+gcaccggaatcactggctgtgctgtttaaccccgcgcgtaatgaagcctacgtaacgcat
+cgtcaggcaggtaaagtcagtgtgattgacgcgaaaagctataaagtggtgaaaacgttc
+gatacgccgactcatccaaacagcctggcgctgtctgccgatggcaaaacgctgtatgtc
+agtgtgaaacaaaaatccactaaacagcaggaagctacccagccagacgatgtgattcgt
+attgcgctgtaatagatatggcgagggtgaaaacggtgagacttgcctgccttttatcac
+ggcgtatccggcactttcgtcagtaatctgaatttgcccggcacgtagccgggcaatttt
+gcaattaactcgccgtttcaggcttaaacacaatttcctgtttttcttcatcttcctcga
+cgactggcgcagtgctgtgaatttcagcaacgcgtttgcgcacaccaaaccagcctataa
+ccagcaaaataccgataatcggcagcgccgcgatagtataagtcccgttcgggtaatcga
+acgccatcagcacaaggacactcagtaaaaacagtaatgtcagccaggaagtgaagggcg
+cgccaggcagtttaaaactgacatccgctgctttgccttctttaatcgctttacgcaggc
+gcatctggcacacgatgataaacgcccatgaagcgatgattcccagcgacgcgaagttca
+acacaatctcaaatacgcgcgacggcaccagatagttgaggaatacgccgacgacataca
+caactagtgtcgccagaatcccggcatacggcacatgctgacgactcattttcgccataa
+aactcggtgcggaaccgcccatcgccattgagcgcagaatacgtccggtgcagtacagac
+ctgaattcaggctggagagggcagcggtcagcaccacaatgttcataatgctgccgatat
+atggcacacccagtttagagaaaaacgtcacgaacggactttgccccgcctgatacgcgc
+tccacggcaataacataaccagcaacaccacggagccgacgtaaaacaggccaatacgcc
+aaatcacactgttaatggctttaggcaccatggtctgcggatctttacattctccggcag
+ctgtacccaccatttcaatggaggcaaaagcaaacactacgccctgaatcaacaccagcg
+caggcagcaaaccgtgggggaagaagccgccattatcggtgattaaatgaaagccagtgg
+tgttgccatccagcggctgaccactaccgaggaacactgtacccacgaccaaaaaggtca
+caatggcgagcactttaataagcgcaaaccagaactccatctccgcaaaccatttcacac
+cgatcatattcatggtgccaacgatggtaagtgcagcgagcgcaaagacccactgcggca
+cgccgccaaacgcaccccagtaatgcatatacagagcgacggcggtaatatcaacaatcc
+ccgtcatcgcccagttgatgaagtacatccagccagcaacataagcggctttctcaccca
+aaaactcacgggcataagaaacaaaactgccactggaagggcggtgtagcaccagctcac
+ccaatgcacgcagaataaaaaacgaaaacaagccacaaattaaataaaccagtgccagtg
+cgggccccgccatttgcagtcgggctcctgcacctaaaaacaagccggtgccaatcgcgc
+cgccaatggcgatcatctgcacctggcgattgcccatcgctttgtgatacccctcttcgt
+gggcattaagccagcggcgtttcgcggcgtgttgatctgaagtgtcggtgtcgtgtttac
+tcattgctctccctgattgctttaatgaaaaagtcatataagttgccatgaacaatgttt
+attcatcctggcgatgatagttatcaccattattctttatgggtataaaactatcggcgc
+agcatcctacccgttatcgataaacgatgcaaaacatccccttacaatcctgaaggggat
+taatacaactgacgaaaaaatgacaaatccttttgctggttaacctgtgtactgtcctac
+acttaatctttaaaagattgtgaggggcatatgattaaggtgtatggcgtacccggatgg
+ggctctacaatcagtgagctgatgctaacactggctgatattccttatcagttcgttgat
+gtcagtggttttgaccacgagggagcttcacgcgagttattgaaaaccctgaacccgttg
+tgtcaggttccgacactggcattggaaaatgacgagattatgacggagacagcggcgatt
+gcattgatggttctcgatcgtcgcccggaccttgcgccaccggttgggcgcgccgaacgt
+cagctgtttcaacggctattggtctggctggttgctaatgtctatccaacattcactttc
+gccgattaccctgagcgttgggctcctgacgcacctgaacagttaaagaagaatgttatt
+gaatatcgaaaatcgctttatatctggttgaattcgcagctcactgctgaaccttatgcg
+tttggtgagcaactaacgctggtggactgttatctttgcactatgcgcacatgggggcct
+gggcatgaatggtttcaggataatgccacgaatatcagtgcgattgctgatgctgtatgt
+cagttaccgaaattacaagaagtattaaaaaggaatgaaattatttgagtgggataccag
+aagattatgttatttattattcagtaactttatccacaatgatgggcgtaattaattaaa
+ttcatggtatgttttttaatttatatcactctccttttcattcagcgtgtctatttcatt
+tcctctgaaaagaaactaactattcacatcgtgcagatgtttcagttgttatcacaggca
+ttctataatctcaaaatgtttttaatgatggatatgctcggagttggagatgcaattaat
+attaatacaaataaaaatatccggcaggtatgctaaaaggataaatggcgttctctgtat
+ttattcgcaattatctgtaggacaaatatggagagcttgatgagtcagagctaaaacagc
+aattgattaataaacatgttgatttattcaagaaaatggatgtattttaaatgttgattc
+ttaatataacctaatcaatagattatcaagtgagagctacacattattggaggggcaggg
+gaaaacaccattttgggaacaatgcatcaggtactcttaccactgaagcaagatcatccg
+gcaccaggtggtggtgcagtgctttggaaatggtcccctcgggggagttgtcattatttt
+ctatgctatttgcttattatattcatcaggtgaatttaataaattcctaatttgaaatat
+ccactattaagctagtgtttaacgacgttaagatggcaatgtgcagatcatgttatcagg
+gtggggcggtagcgtatattccttatacaaaccatcattcatttcaatgattgttattga
+attatttattgttgtgaataaaaagacattatgaatattggtttgactttgcatatcagg
+ttttttattactcgctgtaatgtacgagcctgtcgtgaataacgtcgagaacccatccgt
+tgcgtttgtgattattttgttgactaaacagacacccgtttctctgaagtaaaatcccag
+actaaatcatcacataaccatgacatttttctgatattccccggtaacgccagatgtcga
+ctcgcttaaccaccctcagccataccagtgaaggccaccgcgtgtcggtccactacggct
+atgacgataaaggccgcctgaccggcgaacgccagacggtggagaacccggagacggggg
+aactgctgtggcaccatgagaccggacatgcgtacaacgaacaggggctggcaaaccgcg
+tcacgccggacagtctgccgccggtggagtggctgacctacggcagcggctatcttgcgg
+gcatgaagctgggcgggacgccgctgctggagttcacgcgcgaccgcctgcaccgtgaga
+cggtgcgcagcttcggcagcatggcaggcagtaatgccgcatataaactgaccagcacat
+acacccccgcaggccagttacagagccagcacctgaacagcctggtgtatgaccgtgact
+acgggtggaatgacaacggcgacctggtgcgcatcagcggcccgcgacagacgcgggaat
+acggctacagcgccacgggcaggctggagagtgtgcgcaccctcgcaccagacctggaca
+tccgcatcccgtatgccacggacccggcgggcaaccggctgccggacccggagctgcacc
+cggacagtacactcacagtgtggccggataaccgcatcgcggaggatgcgcactatgtct
+accgccacgatgaatacggcaggctgacggagaagacggaccgcatcccggcgggtgtga
+tacggacggacgacgagcggacccaccactaccactacgacagccagcaccgcctggtgt
+tctacacgcggatacagcatggcgagccactggtcgagagccgctacctctacgacccgc
+tgggacggcgaatggcaaaacgggtctggcggcgggagcgtgacctgacggggtggatgt
+cgctgtcgcgtaaaccggaggtgacgtggtatggctgggacggagacaggctgacgacgg
+tgcagactgacaccacacgtatccagacggtatacgagccgggaagcttcacgccgctca
+tccgggtcgagacagagaacggcgagcgggaaaaagcgcagcggcgcagcctggcagaga
+cgctccagcaggaagggagtgagaacggccacggcgtggtgttcccggctgaactggtgc
+ggctgctggacaggctggaggaagaaatccgggcagaccgcgtgagcagtgaaagccggg
+cgtggcttgcgcagtgcgggctgacggtggagcaactggccagacaggtggagccggaat
+acacaccggcgcgaaaagttcatttttaccactgcgaccaccggggcctgccgctggcgc
+tcatcagcgaagacggcaatacggcgtggcgcggggagtatgatgaatggggcaaccagc
+ttaatgaggagaacccgcatcacctgcaccagccgtaccgtctgccagggcagcagcatg
+atgaggagtcggggctgtactataaccgtcaccggcactacgatccgttgcaggggcggt
+atatcaccccggacccgattgggttgagaggtggatggaatatgtatcagtatccgttga
+atcccatacaagtgatagacccaatggggttagatgcgattgagaatatgacatcaggtg
+gactaatttatgccgtatctggtgtacctggattgattgctgcaaacagcattactaaca
+gtgcttaccagttcggttatgatatggatgctattgttggcggagctcataatggggccg
+ccgatgcaatgagacattgttacttgatgtgtcgaatgactaagacatttggatcaacaa
+tagctgacgtgataggtaaaaatcatgaggcggcaggggatagacaaggtcagccagcta
+aagaaagaatcatggatcttaaaaataacactgtcggtattgcttgtggcgatttttctg
+ccaaatgtagcgatgcatgtattgaaaaatataacactgggcaactcttcgggttagatg
+gtataaaagcagataatccaataaaagcaaagcaagggagttcagatgcttcaaattatt
+agaggcaaacttgtcatttttttaattaccctttgtttatttgttgtttaccttgggttt
+gataacaattcaaattctgacatcgtattttatggacataaaacaccaaagagcgttgag
+atatatctttctgaaaaaaatattatttataaaataattaatgaccaaaaaattagtaga
+gggaatggtcattttataagtataatggttaataattacaggacgcactgtggagtggtt
+gatataaatcttaattttttcaatgatattctttatagcgtgcgattaaaaaacattagt
+aaactggagaatatggagttctgcgctacaaaacaacgggtgtattttagtgataaaaac
+aagaaggctagttataaaataattaattatggagactattatgatgttgattattatgat
+aacaatttgaaaaatgaagtttttgactggattggtaaatggtcataatgaacaacacca
+gaaagagaaaaatataaaatacatacagaaagacatgagagcaagggacggggcagggca
+agatcatgaaaattgtgatgtaaatcacgattttcatctttgctttaacgcctacaggtg
+atcaaaatttaacctttggaataactaaaaagataaaaaaggacgccaggtgagtattca
+aagtttgcttgattatatttcagtgacccctgatatacgacaacaaggaaaggttaaaca
+taaattatctgctattttgtttctcaccgtatgtgcagtaattgcaggtgccgatgagtg
+gcaggaaattgaagattttggacatgaaagacttgaatggctaaagaaatatggtgattt
+tgataatggcattccggtcgatgacaccattgcacgcgttgtgagtaacattgacagttt
+ggcctttgaaaagatgtttattgaatggatgcaggagtgccatgaaatcactgatggtga
+aattatagcaatagatggaaagaccataagaggctcctttgataagggaaaaagaaaagg
+agcaatccatatggtgagtgcattctcgaacgaaaatggtgttgtactggggcaggtgaa
+aacggaagccaaaagtaatgagattacagccattccagagttgcttaacctactgtattt
+aaagaaaaatttgataaccattgatgctatgggctgtcagaaagatatcgcttcgaagat
+caaagataaaaaagcagattatcttctggcagtaaaaggcaatcaggggaaattacatca
+tgcattcgaggaaaaatttcctgtaaatgtgttttctaattataaaggcgattcgtttag
+tacgcaggagataagtcatggaagaaaagaaacacgtttgcatattgtcagtaacgtaac
+gcctgaacttttgtgattttgaattcgaatggaagggattaaaaaagctttgtgtagcat
+tgtcattcaggcagaagaaagaagataaatcagcagaaggtgtaagcatccgatattata
+tttcatcaaaggatatggatgctaaagaatttgcacatgctatcagagcgcactggctga
+tcgagcacagtcttcattgggtgttagatgtaaaaatgaatgaagatgccagccggataa
+gaagaggaaacgcagcctaaataatatctggaataaagaagatggcactgaatttattaa
+gagattgcaaagacattaagggtgaagaggaaaagaaagaaggctgcgttaaacacaggg
+aaagatcatcagaagttcactttttgtactaaacaattcgcattttatgtttaaaaattg
+agatattccttattacctaaagctgttttttattgcttacacatgatcaaatactcctta
+cataattaaggagaacaaaatggaacttaaaaaattgatgggacatatttctattatccc
+cgattacagacaagcctggaaaatggaacataagttatcggatattctactgttgactat
+ttgtgccgttatttctggtgcagaaggctgggaagatatagaggattttggggaaacaca
+tcccgattttttgaagcaatatggtgattttgaaaatggtattcctgttcacgacaccat
+tgccagagttgtatcctgtatcagtcctgcaaaatttcacgagtgctttattaactggat
+gcgtgactgccattcttcagatgataaagacgtcattgcaattgatggaaaaacgctccg
+gcattcttatgataagagtcgccgcaggggagcgattcatgtcattagtgcgttctcaac
+aatgcacagtctggtcatcggacagatcaagacggatgagaaatctaatgagattacagc
+tatcccagaacttcttaacatgctggatattaaaggaaaaatcatcacaactgatgcgat
+gggttgccagaaagatattgcagagaagatacaaaaacagggaggtgattatttattcgc
+ggtaaaaggaaaccaggggcggctaaataaagcctttgaggaaaaatttccgctgaaaga
+attaaataatccagcgcatgacagttacgcaatgagtgaaaagagtcacggcagagaaga
+aatccgtcttcatattgtttgcgatgtccctgatgaacttattgatttcacgtttgaatg
+gaaagggctgaagaaattatgcgtggcagtctcctttcggtccataatagcagaacaaaa
+gaaagagctcgaaatgacggtcagatattatatcagttctgctgatttaaccgcagagaa
+gttcgccacagcaatccgaaaccactggcatgtggagaataagctgcactggcgtctgga
+cgtggtaatgaatgaagacgactgcaaaataagaagaggaaatgcagcagaattattttc
+agggatacggcacattgctattaatattttgacgaatgataaggtattcaaggcagggtt
+aagacgtaagatgcgaaaagcagccatggacagaaactacctggcgtcagtccttacggg
+gagcgggctttcgtaatcttgccctgggcattattgtcgtataaacgctttaccggacac
+atgacattcacaatgtgtgttaattttactgacatctttcaaaaggagcgtaatcatgcc
+gcacatcgacattaaatgttttccgcgtgaactggacgaacaacaaaaagcagcacttgc
+tgcagatattaccgacgttattattcgtcatctgaacagtaaagacagttcgataagcat
+tgctctacagcagattcaaccagaatcttggcaagctatctgggatgccgaaatcgcgcc
+ccaaatggaggctttgataaagaaacctggttatagcatgaatgcttaacccgccgtaac
+acgcttgccgctggtaacaaacgtcccagcacctaaatgatgcaacgtattgagcttatc
+atcatcaaactgccagcggccttcgacaaatacccgtgcgtctgccgctgctgatactac
+ttcgccaaacagcgtgtcgtattcttcttgcgcagaagtcgcaggtagcaatcgacactc
+catccacgccagacatttttcctcgaccagaggcaaaccaaataccgggcctctcacaac
+cggaatgccatagcaattaaatttatcttcatcacgccccgacacacttcccaccgccca
+cgtccagttagttgctgcaacgcccgggataacgatgccaaatttaccgttatgttcaat
+caactccctggtccatgtcgatttatctaccacaatcgccacgcgtggaggttcaaactc
+caccggcattgaccaggctgcagccataatgttacgccgctgggattgctcatcgaaact
+ggtgatcaagaccgttgggccatgatttaacagacggctggcatggtgtaattctatggg
+gatgaatcggctcatggtatcgcctcgcgaagaaggtttttttaagcgtagtccgtaacg
+caataagtaacgaaattaacgggattggcgatttgcgaacgtgatgcatgtccgcgatcg
+cacaaaatagccggtgcggcgtctattccaggttataagttgagaaaaccactaagggaa
+acgcctgatgacgcccattctgaatcactattttgcccgtattaactggtcgggagctgc
+tgcggtcaatattgatacgcttcgtgcattgcacctgaaacacaattgcaccattccgtt
+tgaaaacctcgacgttttgctgccgagggaaatacagcttgataatcaatcgccggaaga
+gaaactggtgatagcccgtcgtggcggttactgttttgagcagaatggcgtgtttgagcg
+ggtgttacgcgagctggggtttaacgttcgcagcttgttagggcgcgtagtgttatcaaa
+tccgccagcattaccgccgcgcacccatcgtttgctgttggtggaactggaagaggaaaa
+atggattgctgatgtcggtttcggtgggcagacgctaaccgcgccgattcgtttagtttc
+cgatctcgtgcagaccacgccacacggagagtatcggttgttgcaggagggtgatgattg
+ggtgttgcagtttaatcatcatcagcattggcagtcgatgtaccgttttgatctctgcga
+gcagcaacaaagcgattatgtgatgggcaatttctggtcggcgcactggccgcagtcgca
+ttttcgccatcatttgctgatgtgccgccatttgccggacggcggcaagctgacactgac
+caattttcattttacccattatgaaaatgggcacgcggtggagcagcgaaatctaccgga
+tgtggcgtcattatatgctgtgatgcaagaacagtttggtctgggcgtggatgatgcgaa
+acatggctttaccgtggatgagttagcgctggtgatggcggcgtttgatacgcacccgga
+ggcgggaaaataatttatgtcaggttgccggatgcggcgtaaacgccttatccggcatac
+attagcccggttgtagacctgacaggcgaagcgcatcagacaacggtttcagagttcaat
+tgcccattcggcatgaaacaaaatcaccgctgtgcctgaaatggtgactttttccggttg
+gttatcacgaattgtcaccgtcacttcaatcataccgtcacgccccaatgcgcgcccctg
+atggcctttaacacgcaacacgttgccatcgtggggcaatacgttgtgatgtaccaacca
+tgcacccatcgggccattggcattgccagtcaccggatcttccacaataccaatcgcagg
+cgagaacatgcgaccatcggtttcgtttttgcctgggcggatctggaacgggaagaaacc
+attgcagccaatctttttgctgatagcggtcagcgcattaaggtcaggcgaaagggcgtc
+gatatccacttccggtttcagtgggatcatcacttttgagtgtcctgttgttgccacctg
+aattggcaagcctggcagaatatcgtcctcagtgagatgaagcgcgttgataatcgccgc
+acgtgtttcaccttccagcggtggctcaaagcccggcgtaccttgttccagcgaaatacg
+ataatcatcgttgtgcttttcgatagtcacgcgatgttttcctgccagcgatgtttgcca
+gatcgtgcaatttcctaaacctaacaccttcgcacgtacatagtgcgcagctactgtcgc
+gtgaccgcaaatcggcacttcaaccgttggcgtaaagtagcggatgcgcacatcgctgtc
+gtcgctgtgcagcagaaaagcagtttccgaatggcctaactcgcgggcgataagctgcat
+ttgcgcttcgctaagattatcggcggggaaaacaacaccggcagaattgccgcgaaacgg
+ttgtgaggtaaaagcatcgacgtggtacacctgcggtttcattaacgttctcctgtgact
+ggagaactatcatagcctgcaagtggccggagagcgaagggctatccggccagggtgaaa
+ttatcgccgcgaacgcacaatttgatatcgacgagtaaagtactcaaacggcgcgctcca
+cacatgcaccagtcgggtgaacgggaagagcaggaagatggtcattcccaacaccagatg
+caggcggaagacgaacgctacgccgttgagcatctctgacgatccaccacggaaagtgac
+aatgctttgcgcccaacccaccagcttcatcatttcgctaccatcaggatactgtgctga
+aaacggtatggtacttagccccaacagacactggatcagcaaaatgctcatgatgatgat
+atccggcgtagtggaagtggcacgcacgcgctgatttgtcagcctgcgccacagcagtcc
+tgcgccgccaatcaacgtcaacacaccgcaaataccgccgagcaccatcgccatgagttg
+tttcgctgccactggcaaaaaccacgcgtacatccagtgcggcgttaacatgccgaacaa
+gtgcccgaagaaaatccccaaaatgccgatatggaacagattcgaccatatcaccatccc
+gcgtttatcgagcatttgacttgaggaggcgcgccaggtgtactgcccgtagtcgtagcg
+cagccagctgccgaggaaaaacaccgtcgcacaaatgtacgggtagatatcgtaaaaaaa
+gacgttcagatactgaatcatttcccacctcccgcactgatgtcgacatattgcggcgcg
+acatcctggctaaagcgtcgctgatattgattaagcggcgagctgtcacacgccgtggcg
+ttatcttcaataaacttcacctgttcctcttcccacactgcatcaagcgcctggcgggtg
+tcatcgcgctcttcgctgtttacttgttttgtgacactgtcacttgaaagggagcttccc
+gccagttgcagcagagcatcaaacaacgcgtaccacggtgcctcgcgttgttttaagcga
+ccgccaagcagggcgaggatcggcgcaacattgagcaatccttctttcgcctgatcgtca
+ggcagtacgcttaaatactccagatacagcggtagataatcgggcagttcccgacaatcc
+agctgcaggccgaccttttcatactccgccagcaggtccaccattgcctggccgcgatcg
+cgggactcggcatgaacatgttcgaacagcagcagcgacgtggtgcgcccgcggtcaaac
+acttcgcaccattcggcctgtttatccagcagcggcgcgttaagcaggttgtgggtgaaa
+tccgtaagcatcggcgcgtcgcggcggatcaacgccagcgcgtcctccttgcattcccac
+aacagctcgtccggatactccatcaacaggccgatcactttgaggatctgcattattcgc
+cctccgctttgtcgcgcacttcggtgatgttgatggcatcgatacggctactgttgaaca
+ggttgaatttactgtccgaaccgtggcaaccgtcgccaaaggtaaaaccgcagccgttgc
+gttctgcgaaggcatcgcccgccatttcccgatggctggtcgggataacaaaacgatctt
+catagttggcaatggcgagatagcgatacatctcttcgacctgggcgacgctcaggccta
+cttcgtcgatggcacgagtatcagtaacgccttccacggtttgtgaacgcatatagtggc
+gcatcgccatcatccgtttcagcgcccgcagtaccggaccggtatcgccggcactcaaca
+tattggcgagatattgcaccggaatacgcaggctttcgatggcgggcagcacgccttcgc
+ttttcggcaaaccgcccgcatctgcgtaggactgaatcggtgacagcggaggaacgtacc
+agaccatcggcagggtgcggtattcagggtgcaacggtagtgccagtttccagtccatcg
+ccattttgtagactggcgaacgctgggcagcgtcaatcacattttgtggaataccttgtt
+tcagggcttcctcgatcactgagggatcgtgtggatcgaggaacacttcgcactggcgtt
+catagaggtcaacttcgcgctcggtgctcgccgcttcctcgatgcggtcggcgtcgtaaa
+gcagcacgcccagataccggatgcgacccacgcaggtttctgagcacacggtcggttgac
+cggactcaattcgtgggtaacagaagatgcatttttctgacttgccgcttttccagttga
+agtagatttttttgtacggacaaccgcttatgcacaaacgccagccacggcatttatcct
+gatcaatcagcacaatgccgtcttcttcgcgtttgtagatagcgccgcttgggcaggtcg
+ccacgcagctgggattgaggcagtgttcgcacaggcgcggcaggtacatcatgaaggtgt
+tttcaaactgcccgtacatctccttttgcatggcctcgaagttgcggtcgcgggcacgtt
+tttcgaactcaccgcccagcagttcttcccagtttggcccccagatcactttgtccatcc
+gtttgccgtcaatcagtgaacgcgggcgagcagtaggaatatgtttgccttccggtgcgc
+tatgcaaatgttcgtagtcgaaggtgaaaggttcgtagtaatcatcaatctgcggcacca
+ccgggttggcgaagattttggttattacgcccatcttgttgcccagacgcgggcgtatct
+tgccattcacatcacgcacccagccgccttgccactcttcctgatcttcccagtttttcg
+gataaccaatgcccggtttggtttcgacgttgttaaaccatgcgtactccatgccttcgc
+gcccggtccagacgtttttacaggtcaccgaacaggtatggcagccgatacatttgtcga
+ggttaagcaccatgccgacttgtgaacggattttcattttttcgcctcctgtacctgatc
+gcgaccttcatcatccagccagttaacgttcttcatcttgcggatcatgatgaactcatc
+gcggttcgatccgacggtgccgtagtagttaaagccccaggccagctgcgcgtaaccgcc
+aatcatatgcgttggtttcgggcaaacgcgggtaaccgagttatgaatgccgccgcgcat
+gccagttacttccgaaccaggaatattcataatgcgttcctgggcgtgatacatcatggt
+catgcccggcggtacacgttggctgaccaccgcgcgggcagtcagcgcgccgttggcgtt
+gaatacttccacccagtcgttatcgacaatggtcagttctcgggcatctgtttcgctgat
+ccagacaatcggtccaccgcgagagagcgtcagcattagcaggttttcactgtaggttga
+gtgaatgccccatttctggtgcggcgtcaggaagttaagtgctttttccgggaagccgtt
+tggcggtatctggcgcatctcactgacgctacgggtgtcgataggcgggcgataagccac
+caggctttcaccaaaagcacgcatccacggatgatcctgatagagctgctggcgtcccga
+cagcgtgcgccacggaattaactcatgaacgttggtgtatcccgcgttataggagacgtg
+atcgctttccagaccggaccaggtggggctggagataattttacgcggctgcgcctgaat
+atcgcgaaagcgaatcttctcgtcctctttgtgcagcgccagatgggtatgttcgcgccc
+ggtgatctcgcccagcgcctgccacgctttgactgcaacatgaccgttggtttccggtgc
+cagtgccagaatcacttctgaagcgtcaatggcggtgtcaatcagcggacgcccctgtgc
+cgggccatcacgcttggtgtaattgagtttgccgaggaaatcgatttcatcctgggtatt
+ccacgaaatccctttaccgccattgccaagtttgtccatcaatggcccgagcgaggtaaa
+gcgttcatacgtagcagggtagtcgcgctccaccgccacaatattcggcgcggttttgcc
+tggaatcagatcgcattcgcctttgcgccagtcgagcacttcacacggctgtgagagctc
+tgccggagagtcatgcagtaggggttgtaataccacgtcggtttctttgccaagatgacc
+cacgcacacttgcgaaaatgctttggcgatacctttgtagatttcccagtcgctgcgtga
+ttcccacgccggatcgaccgccgcagaaagcggatgaataaacggatgcatatccgaggt
+gttcatatcgtctttttcgtaccaggtggcggtgggcagaacgatatcggagaacaggca
+ggtactggacatgcggaagtcgagcgtcaccagcaggtcgagcttgccttcaatcgctgc
+agtttgccactcgacttcttccggtttgatcccgtcgctggcaccgagttcctcgccctg
+aatcccgctttcggtccccagcagatacttctgcatatactcgtggcctttgccggagga
+gccaagcaggttagagcgccagacaaacaaattacgcggatgattgctgctgctatctgg
+ttgttcgcaggccatacgtaaatcgcccgatttcagcgcctgggcggtaaattctgtggg
+ggataatccggccttgtcggcttcagctttaatcccgagcgggttacgccccagctgcgg
+cgcagaaggtagccagcccatacgttcggcgcgaacgttgaaatcaatcagatgaccgct
+gtacttactggcatcggcgagcggtgaaagtaactcctgagcagagactttttcatagcg
+ccattggctggaatgattgtagaaaaacgaggtgctgttcatttggcgcggtggtcggtt
+ccagtcgagcgcaaaggccagtggcaaccagccggtttgtgggcgcagtttttcctggcc
+gacatagtgtgcccagccgccaccgctttgcccgacacaaccgcagaagatcagcatatt
+gatcatcccgcggtagttcatgtccatgtgataccagtggttaacacctgcgccgaggat
+aatcatcgagcgcccatgcgttttatgggcggtatcggcaaattcacgggcgatggtttc
+aatatactggcgcggcacgccggtaatttgctcaccccaggctggggtgtacggtttgat
+ttcagcgtaatctttcgcactgttttcatcttccagcccgcgatcgaggccgtaattcgc
+cagtaccaaatcataaacgctgaccaccggacaggtgttgccatcgactaacgtcaggtt
+tttaacgggcaattggcgcaccagcaccggattgtgttttacgctgcgaaaatgcggatt
+ttcaatgccgccaaagtaggggaaggccacgcctgcaacagcgtcatgttgaccgagcag
+ggttaacgacaattcggtttccgtaccggcggcaatggattccagattccatttgccttt
+ttctccccagcggaaaccaatcgaaccgttcggcactaccaattcacctgcggtattaac
+tgctacggttttccactgcggattgttgctttcgcccagtccatccaccaggtcagatgc
+gcggatcatgcgcccgggaacgtagctaccatcgtcgcgaggctccagcattaccagcat
+cggcatgtcgctgtagcggcggcagtagttgataaagtagtcgctgggattatcgagatg
+aaactcttttaaaatcacatggcccattgccatcgccagggcgctatcagtgccttgttt
+cggtgccagccactggtcgcacaatttggccacttcagagtagtcaggggtaatggcgat
+ggttttagtgcctttgtagcgtacttcggtaaagaagtgggcgtccggcgtacgtgtctg
+cggtacgttagacccccaggcgatgatgtagctggagttataccagtcggcagattccgg
+tacgtcggtttgctcgccccaggtcatcggcgaggcgggcggcaggtcgcaataccagtc
+gtagaaacttaaacaggtgccgccaagcagcgacagataacgcgttccggcggcgtaaga
+aaccatcgacatcgccgggatcggcgagaaaccggcaacgcgatccgggccgtaggtttt
+gatggtccagacgttagcggcggcaatcagctggtttagttcctgccagttggagcggat
+aaacccgccgcgcccacgcacttgtttgtagctcaggcacttttgcggatcgttcataat
+cgatgcccacgccagtaccggatcgctgtgttgcttgagggcttcgcgccacagttcaat
+cagtcgtttacgaatgagcgggtatttcaggcggttagcgctgtaaagataccaggagta
+acttgcgccacgcgggcagccgcgaggttcatgattgggcaggtcagggcgagtgcgcgg
+gtagtcggtctgttggatttcccaggtcaccagaccatttttaacgtagattttccagct
+acaggagcctgtacagttaacaccgtgggtggaacgcacgattttgtcgaactgccaacg
+ctggcgatagctgtcctcccagtcgcggttgctatgcatcacctgtccgtgaccatcggc
+aaaggtttcgcccttttgtttgaagtagcgaaagcgatccaaaagtttactcatgacatg
+actcctgctccaggaatgaattgggatctgatgccttgtcggatgcgacacggttgtaca
+tcaggcatcgatctcttatttttggctgaacttccgccgaccataaaccagccaggtcag
+cagcacacaaacgatgtagaagattaaaaacactttcatcgcgccgaccggagagccggt
+catattgagcgacatgccaaacgcctgcggaataaaaaagccgcccactgcgccaatggc
+tgagataaagcccagagccgccgccgtttcggtgacggcttctttatgagcttgctcatc
+actaccgcctttcatctttacccgataaatggttatctggcgaaagatgacggcgatcat
+ctggaaagtagaaccacttcccagacccgcagtcagaaacagccccataaatacggcgta
+aaaggcgatgaaattaccggagcctgtgcccggtaaggtaaggaacagcagggcactgaa
+aatcgccataaaaataaagttgatcaacgtcacccgcacgccgccgaacttatcggaaat
+agcaccaccaaccgaccgcgcgatggcaccgataaatgggccaaagaacgccaggcgcag
+aatattcacatccgggaactgggtttttgccagcatggcaaaacccgcagaaaaaccgat
+aaacgaaccgaaggtggcaaggtaaagcaggctcagcagccagagatgcaggcgttgtaa
+gacagggagctggtcggcaattgaggcgcgtgaactggcgatatcattcatccctgacca
+tgcggcgatcgtggcaatcgccagtagcggtacccaaatccatgcggcattcgccagcga
+catcaccgaaccgtcggcctgcggtacgccattgacgccgagaaaggcaaatacaggtac
+aaaaatgaccagcggtgcaaccagctgcattacacttacacctaagtttcctaatccgcc
+attaatcccaagagcgctcccttgtttggcttttggaaagaagaaactgatattgcccat
+gctcgaagcaaagtttgcacctgcaaaaccgcatagcaaagcgataacgataaatatccc
+aaaaggagtattcggattttgcacggcaattccgagccagacgcaaggaataatcaggat
+tgcagtactaaaaaccgtccatcggcgtccaccgaatataggcaccataaaggagtaggg
+aacacgcaataatgcgccagaaacggagggtaatgcggttaataaaaagagttgatcggt
+agtaaaattaaaaccgattttattgagattaacggtaactgcgctaaatagcatccagac
+acagaaggcaagaagtagacaactgactgatatccagagatttcttcgagcaatatgttt
+tcctttattttcccagaaggccggattttctggtttccagtcgcgcaaaagataacgact
+atttttctcattttgcagtgccatattgttcctcacatgcacacattggtaatgaaaaaa
+agacaaaacacgaggtaaggcgcaatagccagttattagaattaaggatgaattgggtga
+agtgctgattgaaagaatagataagaaagcgtaaccgcgggggcagaatggggattaagt
+agccagatatgtgttactaaatgtaactaacaagctaaccttcaaacggggttaatcttt
+gaacgtatgtcatgtttcaacccttcagatcgtgaatctaaagggttacatattaactat
+attatcaacaagaccagacacttatagaattagtgatgatttattcactaaaaaggccat
+gaactggaggaaaacgatctgtccagaaggtctatcggttcctctcttattgcctgattg
+taataatcgttattacagtaagtattgtttatttcatctaaggtcatgtttttaactttt
+atattcatctggtttacaacttcctctgtcttgtaagtgtgtatattatatggggtatat
+gcttttttaataggatagtgaaacaattcgttatccacatctattccgtcagagtgaact
+tcaaatgcaccaggcgaaagaattgccaggccagtattaagcttaagtgctggggaaaac
+aaattaaataacatgagctgcatagtagggcaattgttcttcccagaaacatttaaaaaa
+tttaagttttgctctgttttattatggggaataaagttccaatatcggatgtattattag
+tatcaatgtgggttattttattattgtccagtcttaaacttttgatagatggaagataag
+tcaggaaatcaagatttatatatttcaactggttgttagcagcgtttaatgtctgaacat
+tgcagaagttgctatagaatattttaatttcagaaagcaaattgttgttaataagtaacg
+tattcaagttgggaaataagtcattgtgtaaacttgttagtttattatgggatagatcca
+gcagtaagagttcatttttattacctgcaacaatatcagttaattgattatggctgagat
+tcaggtattgcagccattcgcaagattctaattgcacaaactctagttgattatgtgccg
+cactaaaataagtaactgatgaaagcctatctatatcaatatttctgagagcattattat
+tcatagatatatgtgtaatacttacatttctgccttgaggaaaatttattgactcaagag
+cattactattcagacttagctttacgagtctatcgtagttggttgcatcaaaatgtgtga
+attggttattatcaagattgatagatgtgaagttttgcagccctggtggttgagtggtta
+aattaagtcctgataaatcaatggtcacttcattagtgtcatcaattatatttcttactg
+cagtccagtactgcatttgtgcaagtggatcattgttgatgccgttaactaatacatgcc
+aaagatgttttgatgatattagttgatcaatgtcattggttggcagtaaattgttattgc
+ttaagtttaaatattccagttttgtagtgtttttggcgtttaaatgtgcaatatggttgt
+cgtttaaagtgattgttttcatcctgggatgattgtgtaatataaggtcagtgatcatat
+tgtgatgggcacttaactcaatcagagattcttgccgcgcgagccgttggcttcatcgtt
+atagcctttaaaatcatattcccagtgaccaaaaccaatcatttgatcattgatttgcgt
+ttctcctttaaagccgagacgggcataagttttatcaccatcgtcacgcttatcatcagt
+aaaataacgtagagcggtaaccttgccataaaggtcgagtttattaccatccttgttata
+gacttcggcagcgtgtgctacgttcgcagctaacaaaccagttacaaccaccgcaactat
+ttttaatttcatttaacagaatccttttaattatcgttaaacgtattttctaaacgaatt
+ttaaacggcgtcatttataaatgacatactgtttttaaaatagaatggtgattaaaaaca
+atgagaaaaatagatgaaataatattatttatcgatatgtgatcgaagtcgaaatgagat
+ataaggtgaattactggtatttgaaatttatttttttaatattgtcggaatttatctgat
+taactaccgggccgtagacccggcagttattttaaccacgacgtgtcgccagccagcaga
+gcagggaaccgccgcagaccatcagcgcgccttgccagaacgagaacgacagcggggcgc
+tgagcagcacggctgcaagcgctgaggaaagtacaggcgtaaaatacgaacctaccgcca
+taatggtgacattgccatgcaatataccgacattccatgcagcataagcaaatcctaagg
+taaatgccgcagagatgagtttaatcatgacgggcgtgctaaatatcatttctggttgtg
+gcgtaagaaaatagtaaacccacagacttgctcccgttagcaggacaaaaacggtaattc
+cattaaatccgcgtgcgtatttattcgttactgtgcaataggctgcccagataaacgcac
+caatgaacgccaggaaataactcaatgggctggtggtgatattattgatgatttcatcat
+aatgtaacccattgtcaccgcctaacacccaacagacgccgacgagggctaataataatc
+caggtacaatcaaccagttggttttctgaccattaaacagaatggcaaagagaattgtca
+ggctgggccacagatagttcaccatacccacttcaatcgcctgatgatgggtcgccgcat
+accctaaggaaagcgccagacagatttcatagctgacgaataacagactcccggcgagta
+aatagcctttcgggatttgccgaatacgcggaaatccaaccgtgaagattaacagcagcc
+cgcttaatgaatagatagcagctgcgccgccgaccgggccgagcccctcactgacaccgc
+gaatcaatcctaccatcgtgctccacaggacgatcgctatcagccctatgagcgttgctt
+tttgtcgtgtcatgctcgctgttttgtctctcttgccgttaaaaattaagctgaatttta
+tagcatttttttaactggcctgtcaggcagtggtgcgtttttctaccgctattgaggtag
+gtcaatttgcgaaggcggattattttgtggcaaacagatgttctttttgatttcgcgcaa
+aaagattcagaattttactgttagtttcctcgcgcagtaatacccctgaaaaaagaggaa
+agcaatggacgtcagtcgcagacaattttttaaaatctgcgcgggcggtatggctggaac
+aacagtagcggcattgggctttgccccgaagcaagcactggctcaggcgcgaaactacaa
+attattacgcgctaaagagatccgtaacacctgcacatactgttccgtaggttgcgggct
+attgatgtatagcctgggtgatggcgcaaaaaacgccagagaagcgatttatcacattga
+aggtgacccggatcatccggtaagccgtggtgcgctgtgcccgaaaggggccggtttgct
+ggattacgtcaacagtgaaaaccgtctgcgctacccggaatatcgtgcgccaggttctga
+caaatggcagcgcattagctgggaagaagcattctcccgtattgcgaagctgatgaaagc
+tgaccgtgacgctaactttattgaaaagaacgagcagggcgtaacggtaaaccgttggct
+ttctaccggtatgctgtgtgcctccggtgccagcaacgaaaccgggatgctgacccagaa
+atttgcccgctccctcgggatgctggcggtagacaaccaggcgcgcgtctgacacggacc
+aacggtagcaagtcttgctccaacatttggtcgcggtgcgatgaccaaccactgggtgga
+tatcaaaaacgctaacgtcgtgatggtgatgggcggtaacgctgctgaagcgcatcccgt
+cggtttccgctgggcgatggaagcgaaaaacaacaacgacgcaaccttgatcgttgtcga
+tccccgttttacgcgtaccgcttctgtggcggatatttacgcgcctattcgttccggtac
+ggacattacgttcctgtctggcgttttgcgctacctgatcgaaaacaacaaaatcaacgc
+cgaatacgttaagcattacaccaacgccagcctgctggtgcgtgatgattttgctttcga
+agacggtctgttcagcggctacgacgctgaaaaacgtcaatacgataaatcgtcctggaa
+ctatcagctcgatgaaaacggctatgcgaaacgcgatgaaacactgactcatccgcgctg
+tgtgtggaacctgctgaaagagcacgtttcccgctacacgccggacgtcgttgaaaacat
+ctgcggtacgccaaaagccgacttcctgaaagtgtgtgaagtgctggcctccaccagcgc
+accggatcgcacaaccaccttcctgtacgcgctgggctggacgcagcacactgtgggtgc
+gcagaacatccgtactatggcgatgatccagttgctgctcggtaacatgggtatggccgg
+tggcggcgtgaacgcattgcgtggtcactccaacattcagggcttgactgacttaggcct
+gctctctaccagcctgccaggttatctgacgctgccgtcagaaaaacaggttgatttgca
+gtcgtatctggaagcgaacacgccgaaagcgacgctggctgatcaggtgaactactggag
+caactatccgaagttcttcgttagcctgatgaaatctttctatggcgatgccgcgcagaa
+agagaacaactggggctatgactggctgccgaagtgggaccagacctacgacgtcatcaa
+gtatttcaacatgatggatgaaggcaaagtcaccggttatttctgccagggctttaaccc
+ggttgcgtccttcccggacaaaaacaaagtggtgagctgcctgagcaagctgaagtacat
+ggtggttatcgatccgctggtgactgaaacctctaccttctggcagaaccacggtgagtc
+gaacgatgtcgatccggcgtctattcagactgaagtattccgtctgccttcgacctgctt
+tgctgaagaagatggttctatcgctaactccggtcgctggttgcagtggcactggaaagg
+tcaggacgcgccgggcgaagcgcgtaacgacggtgaaattctggcgggtatctaccatca
+tctgcgcgagctgtaccagtccgaaggtggtaaaggcgtagaaccgctgatgaagatgag
+ctggaactacaagcagccgcacgaaccgcaatctgacgaagtggctaaagagaacaacgg
+ctacgcgctggaagatctctatgacgctaatggcgtgcttattgcgaagaaaggtcagtt
+gctgagtagctttgcgcatctgcgtgatgacggtacaaccgcatcttcttgctggatcta
+caccggtagctggacagagcagggcaaccagatggctaaccgcgataactccgacccgtc
+cggtctggggaatacgctgggatgggcctgggcgtggccgctcaaccgtcgcgtgctgta
+caaccgtgcttcggcggatatcaacggtaaaccgtgggatccgaaacggatgctgatcca
+gtggaacggcagcaagtggacgggtaacgatattcctgacttcggcaatgccgcaccggg
+tacgccaaccgggccgtttatcatgcagccggaagggatgggacgcctgtttgccatcaa
+caaaatggcggaaggtccgttcccggaacactacgagccgattgaaacgccgctgggcac
+taacccgctgcatccgaacgtggtgtctaacccggttgttcgtctgtatgaacaagacgc
+gctgcggatgggtaaaaaagagcagttcccgtatgtgggtacgacctatcgtctgaccga
+gcacttccacacctggaccaagcacgcattgctcaacgcaattgctcagccggaacagtt
+tgtggaaatcagcgaaacgctggcggcggcgaaaggcattaataatggcgatcgtgtcac
+tgtctccagcaagcgtggctttatccgcgcggtggctgtggtaacgcgtcgtctgaaacc
+gctgaatgtaaatggtcagcaggttgaaacggtgggtattccaatccactggggctttga
+gggtgtcgcgcgtaaaggttatatcgctaacactctgacgccgaatgtcggtgatgcaaa
+ctcgcaaacgccggaatataaagcgttcttagtcaacatcgagaaggcgtaagggggcga
+acagatggctatggaaacgcaggacattatcaaaaggtccgcaactaactccatcacgcc
+gccttctcaggtgcgtgattacaaagcagaagtcgcaaaacttatcgacgtttccacctg
+tatcggctgtaaagcctgtcaggtggcgtgttcggagtggaacgacatccgtgatgaagt
+ggggcactgcgtcggggtttacgataaccccgccgatctgagcgccaagtcctggacggt
+gatgcgctttagcgaaaccgaacagaacggcaagctggagtggctgatccgtaaagacgg
+ctgtatgcactgtgaagatcccggctgcctgaaggcgtgcccgtctgctggtgcaatcat
+tcagtacgctaacgggattgtcgatttccagtcggaaaactgcatcggctgtggttactg
+cattgccgggtgtccgtttaatattccgcgcctcaacaaagaggataaccgggtatataa
+atgcacgctctgcgtcgatcgcgtcagcgtcggccaggaaccggcttgtgtgaaaacctg
+tccgaccggggctatccacttcggcaccaagaaggagatgctggagctggcggaacagcg
+cgtggcgaaactgaaagcgcgtggttacgaacatgctggcgtctacaacccggaaggggt
+cggtggtacgcacgttatgtacgtgctgcatcacgccgatcagccggagctgtatcacgg
+tctgccgaaagatccgaagatcgacacctcggtaagcctgtggaaaggcgcgttgaaacc
+gctggcagcggctggctttattgccacttttgccgggttgattttccactacatcggtat
+tggcccgaataaggaagtggacgatgacgaggaggatcatcatgagtaagtcgaaaatga
+ttgtgcgcaccaaatttattgatcgcgcctgtcactggaccgtggtgatttgcttcttcc
+tggtggcgctgtccgggatttcgttcttcttcccgacgctgcaatggctgacgcaaacct
+tcggtacgccgcagatgggacgcattttgcacccgttcttcggcattgcgattttcgtcg
+cactgatgtttatgtttgtgcgttttgtgcatcacaacatcccggataagaaagatattc
+cgtggctgttgaacattgtcgaagtattgaaaggcaatgagcataaagtggcggatgtcg
+gtaagtacaacgccgggcaaaagatgatgttctggtcgatcatgagcatgattttcgtgc
+tgctggtgaccggggtgattatctggcgtccgtactttgcgcagtacttcccgatgcagg
+ttgttcgctacagcctgctgatccacgcggctgcgggtatcatcctgatccacgccatcc
+tgatccatatgtatatggcattttgggtgaaaggatcgattaaagggatgatcgaaggga
+aggtaagtcgtcgctgggcgaagaaacaccatccgcgctggtatcgtgaaatcgagaagg
+cagaagcgaaaaaagagagtgaagaagggatataatctcttttgaactttaagctgaaaa
+tggcgctgtaaaaggcgccattttcatattgtagacaacgtaggctttgttcatgccgga
+tgcggcgtgaacgccttatccggcatgaaaacccttcaaatccaatagattgcagtgaac
+gtgtaggcctgataagcgtagcgcatcaggcaatgttgcgtttgtcatcagtttcaaatg
+gcgctgtaaaaggcgtcattttcatattgtagacaacgtaggctttgttcatgccggatg
+cggcgtgaacgccttatccggcatgaaaacccttcaaatccaatagattgcagtgaacgt
+gtaggcctgataagcgtagcgcatcaggcaatgttgcgtttgtcatcagttctaaatggc
+gctttataaagtgccatttttttattgcgtaaccagacggcgtaatcgcgacacatccac
+tgttttttctgcctctgccagactccaggcgttttgcagattcagccacatttgcggcga
+actgccgatcaccacggaaagtttaatcgccatttctggcgtcaaagctgcttttcctgt
+cagcaatcggcttgccgttgagggagcaatttccattgctctggcaaactcgcgcaggct
+gacattaagttcgtccagtgattcctgaataatgtcccccgggcggggatgattggccat
+tttcattagtgtctttactctcagtagcgttccttcactgggaacactatcattattgtt
+ccttcctacgcaacaataatccatttagccatttcatgttggagagtgtgcgatgctgcg
+acccgaacatggcagtcgcagcaaaggcctcttagtgacggaaatcaatcaccatgcggc
+cacggattttgccttcttccatctcagtaaagatggtgttgatgtccgctaacggacgca
+gggcgactttcggcaccactttaccttcggcggcaaactggaaggcttcagttaaatcct
+ggcgcgtgccgaccagcgaaccgaccacttcaataccatccagcacaagacgtgggatat
+ccaggctcatagactccggcggtagaccgacagccacaacacgaccgcctgcacggacag
+catcaactgccgagttaaacgcagctttagctaccgctgttaccaccgcagcgtgagcgc
+caccagttttctcctgcacaattttggcggcgtcttcggtgtgtgagttaatcgctaaat
+ctgcgcccatttcggttgccagttttaactgctcatcattgacatcaatggcgatcactt
+tggcgttaaagacattcttcgcgtattgcagggcgaggttacccagaccgccaagaccgt
+agatagcaatccactgccctggacgaatttttgacagcttaacggctttgtaggtggtga
+ctcccgcacaggtaatgctgctggccgccgccgagtccagaccatctggcacttttaccg
+cgtaatcggcgaccacgatgcactcttccgccatcccgccatcaacgctgtatccggcat
+ttttaactgaacggcagagcgtttcgttaccactgttacagtattcgcaatgaccgcatc
+cttcgtagaaccacgccacgctggcacgatcgcctggttttaatgaggtgacacctggac
+ccacttctgccaccacaccgatgccttcatggcccagaattacgccggttttgtcaccaa
+aatcgccattcttaacatgaagatcggtatgacatacaccacaacactccattttcagca
+gggcttcgccatgtttcagtgagcgcagtgttttatacgtaacgtcaacatgatgatcct
+tcgtaacaactgcagccttcatagttcctccttttcggatgatgttctgcatagcaggtg
+aggcaaatgagatttattcgccactacccagtatggatgagatctgaaaaagggagaggg
+aaatagcccggtagccttcactaccgggcgcaggcttagatggaggtacggcggtagtcg
+cggtattcggcttgccagaaattatcgtcaatggcctgttgcagggcttcggcagaggtt
+ttcaccgccacgccttgctgctgcgccattttgccaaccgcaaacgcaattgcgcgggag
+actttctgaatatctttcagttccggcagtaccataccttcgccgttcagcaccaatggt
+gaatactgcgccagcgtttcacttgccgacatcagcatctcatcggtgatacgtgacgcg
+ccggaagcaataacacccaggccgatgcccgggaaaataaaggcgttgttacactgggcg
+atagggtagattttatctttccataccactggattaaacgggctgcccgtggcgaccagc
+gcgttaccttcggtccaggcgataatgtcctgcggtgtggcttccacgcgtgacgtcggg
+ttagacagcggcatcacgatcggacgcggacagtgtttatgcatctcacggatgatctct
+tccgtaaacagcccggtctgtcctgagacgccaatcagaatatctggttttacattgcgc
+accacatccagcagtgacagcacatcgctgtcggtatcccagtcactgaggttttcgcgc
+ttctgcaccagtttggtctggaaaggcagcaggttcggcatcttgtcagtcagcaagcca
+aagcgatcgaccataaagactttctgccgcgccgcttcctcgcttaatccttcgcgctgg
+gtctgggagatgatcatttcggcaatgccgcatcccgctgaacctgcgccaaggaagacg
+atttttttctcgcttaactgaccacctgccgcgcggcttgctgcgatcagtgtgccgact
+gttaccgccgcagtgccctgaatgtcatcgttaaaagaacaaatttcattgcgatagcgg
+ttaagtaacggcatcgcatttttttgagcaaagtcttcaaactgcaacagcacgtctggc
+cagcgttgtttcacagcctggataaattcatcaacgaattcatagtattcgtcgtcagtg
+atacgcggattacgccagcccatatacagcggatcgttaagcagctgttggttgttcgtt
+ccgacatccagcaccaccggaagggtatacgccgggctgatgccgccacaggcggtatag
+agcgacagtttaccgatcggaatgcccatcccgccgatgccctggtcaccaagccccaga
+atgcgttcaccgtcagtcaccacaatcactttaatattatggttcggcacgttttgcaga
+atatcgtccatattgtgccggttctggtaagagataaacacgccgcgtgaacggcggtag
+atctcagaaaaacgctcacaggctgcgccgacggttggggtataaataacaggcatcatc
+tcatcaagatgattgtttaccagacggtagaagagggtttcgttagtgtcctggatgtta
+cgcaggtagatgtgtttgtcgatttcggttttgaatccctgatactggatccatgctcgt
+tccgcttgttcttcgatggtttcgaccacttccggcagtaaccccagcaggttgaagtta
+cggcgttcttccatgctgaaggcactgcctttattcaacaacggaaattccagcagtaca
+gggccagcgtaagggatataaagcgaacgctgtttttttgtttttggttccatgtcactc
+actcttttttgaatatccatccctggggggcttttatcgtctttgctttaccgccagggc
+gtcggcctcaagtataaagcagataaaaacaaaaacaccattgcgcaggcaatggtgttt
+aatcgtcattgaggactgatggttatgaattacttttcagcggggcgttttctgccggtt
+gggttatttactacgctggatttgtcaccttcggtaactattttgcgctggttagaaatt
+ttatggtccagtccaagaatatgacgtgcctgacggttcgatttcattttaactcctcaa
+tcctgtagctagttttaaggacaacatcgccgtagcgaagaaacacgtgctaaaccccta
+aattaggttgccgatcaagcatagcaccttaaagcgtagggtgctggccactgaccacat
+aattgatcgtttgctggtagatatcactgaggatgtcgttatcagaagcttcaacccatt
+tggtcagctccatgagaatgtcatcttcagtgacaacaccatgctgtgcccgaaggcctt
+gctcaatggcattaaccagagcgggttctgctgttgaattttctgcctgataataagtaa
+acatagtgattctccgtgtctgtgtatttatggtgtctgctacggatcgcagatttataa
+agcacattcagcatggcaaatatttgccgcttcgttgttaagattagtcctggttgatga
+tttttatattttaacaccatgatattcatagggattgtgattggtatgatccgattaata
+ttgatacaatatcttttgggttatatattcccggtaatctattgtgggaatttaatttaa
+gtgcagaagtaatattttcgccggattttattcggaatatcctgcttatcctcgtgctgt
+ttctcacgtagtctataatttcctttttaagcccacaggagagcaacaatgacaatccat
+aagaaaggtcaggcacactgggaaggcgatatcaaacgcgggaagggaacagtatccacc
+gagagtggcgtgctgaaccaacagccgtatggatttaacacgcgttttgaaggcgaaaaa
+ggaaccaaccctgaagaactgattggcgcagcgcatgccgcatgtttctcaatggcgctt
+tcattaatgctgggggaagcgggattcacgccaacatcgattgataccaccgccgatgtg
+tcgctggataaagtggatgccggttttgcgattacgaaaatcgcactgaagagtgaagtt
+gcggtgccgggtattgatgcctctacctttgacggcataatccagaaagcaaaagcagga
+tgcccggtctctcaggtactgaaagcggaaattacgctggattaccagttgaaatcgtaa
+agcattgccggatgacgcgtcaggcgcgtgaatgcctgatgcgttgttagcatctctaca
+gcgcccgccagcaccggagctcacgtccgtcctcccttattgctaatgattgccggactt
+cacatccgtgggttgccagcgggcaacgttcgtagaaaaaacagccttgcggcaacgtgc
+ggtttcccggcagatccgttttacgtaatgcccattcttcctccagcggtttatcaatgg
+cggggagggaatccagcaataatcgggtgtatggatgtgcaggtgccgtcagcacctgct
+gcgcgtcgcccagttctacaatctgcccgagatacatcaccgccacccgatcgctcatat
+gacgtatcaccgagacattgtgtgaaatcagcacataggtcagcccgtgattttcctgta
+gcgttaccagtaaattgaggatctgcgcctgaacggagatatccagcgcagaggttggct
+catcaagcacaatcacgtcaggctgcgaagagagtgctctggcaatggcgatacgttgcc
+gctgcccgccggagaacgcatgaggcaggcggtcgagatactccggacgaatacccacct
+gcacagccaactcctctgccaacgctcgccgctgttgttcactactacgcttagctatcc
+agagcggttctgtgatgatgcgccacaccggtaagcgcggattaagcgaagagagcgggt
+cctgaaacaccatctgcataatgcgttgtgagccagaacggatgtactgcccgtggctcg
+gttgcagcatacccattaaaagctgtgcgagggtgcttttgccgcagcctgactcgccga
+cgatccctaaggtttcaccacggcggatctgtaaatcaataccattaatggcatgaacat
+gttccgtagttttaccaagccagtttttacgggccgggaaattgatatggacgtcgcgta
+acgttaataacgtgtcagacacttataacctcctgctgcggataccaacaggcacagcgc
+tggttgttgtcaccacacgctgtcagcgccgggacgttttcacactgtgcacctgccgca
+tagcaacgatcgcgaaaagcgcagccgtcaggcaaatgggtgaggtttggtaccgtccct
+ggaatggcgggtaatagctggcgtggtactccatgttctggtgcgcattgcagcaaacca
+atggtatacggatgccggggatgatggataacgtctgccgtcacgccgctttcaattacg
+cttccggcatacatcacgtaaacgctatcgcacagttgcgacaccacggccatatcatgg
+ctgatgaacagaaccgcagttccactggcgcgggctttatgtttaagcaaacgcagtacc
+tgcaactgcaccgtgacgtccagcgccgtagtcggttcgtcggcaataatcaattgcggc
+tcgcaggagaatgccagcgcaatcattacccgctggcgcataccacctgaaagctcaaac
+ggatagcgcgacataacttccacggcatccgggatttgcatctcttccagcaggtcaatc
+gctttagctctggcttcccgacgacttattggttgatgatggcggatcacgtccatcatc
+tgaagacctattcgacgtgtcggattgagggcggtcatcggttcctgaaagatcatcgcc
+actcgtgcgccgcgccactgacgaagctgtttttcccgcgcgttaagaacatcttctccc
+agcagggaaatctgcccccgatgtacgcaataactgcccgtcggtagcagacgcataatc
+agcattgcggtgactgatttacctgagccggattctcccaccagaccgacaatttcaccg
+cggttaatctgcaaggacacattgttgagcgcgtgaacatcaccgttaaaaccggggaaa
+ctcaaatgcagttgttgaatgtccagaacgggttgggtcatgactgctttcctcctgctt
+tcgggtcaagcagatcgcgaataccatcaccaaagagattaaacccgacggcggtaagca
+aaatcgctgcccccggaaatgcgcaataccaccactgatcgagtacatagttgcgaccat
+ttgctaccatcgcgccccattcagcactcggttgttgagcacccaggccaataaatccca
+acgtggcggccattaaaatcgcgctaccgatatccagcgatgcctgcacgatcagcggcg
+gtagggagttacgtaaaatatgccagttgatcagatgccaacgagacgcgccaaaggttt
+tcgccgcctgaacataggtatactggcgtacaactaatgcttgcccccgcgccaggcgca
+cataaaagggaattcgcacaatagcaatagccagcatggcgttaaacaaactcggcccga
+gagcggcagccagtgccattgtcagtaccaacgaaggaatcgacagcataatgtccatga
+tgcgcatgatgatggcgtctgcgcgtccaccaagcacaccggatagacatccgagtagcg
+aaccaatcatacccgcaatggcaaccacgactaatccggcgagaattgattgctgactgc
+cgaccagtacgcggctaaacagatcgcgtcccacttcatcggtgccaaaccagtgcgccg
+cagaaggcggcaaaaggcgggcggttaaatcaatggcgttgggatcatgcgtcgccagcc
+acggtgaaaaaatcatcatcaatagcattaatacaatgatgactgcgctggtcacggtga
+gcggactgcctttcagcatccataccagttttgcaccgttaaatcgcgtttgtttttgtg
+ggcgtacggcggacgtttcctcgcttagcatcattcaccacctccacgtccgatacgcgg
+atcaatccacaaatagagcaaatccaccaccaggttgaccagcacataagcaaatgaaac
+cacgacggcaaagcccatcactgccgggaagtcgagcgcctgtattgatgttactaccca
+tgcacccattccgggccaggcaaaaacggtttcggtgagcactgcgccatacaacaaatc
+gcccagcgccaaacccaatacggtaatcgatgggatcaacgcattgggtagcgcataaca
+taaaacgatataccagccgggcaagccgctggcccgggcggtacgaatgtagtcttcact
+caattgttccagcatcgctgagcggatctggcgagcgacaattcccaggtgaacgaacgc
+cagcgttaatgccggtaagatgagatgttgcaacgcattgaagaagacttcaccgttgcc
+ttcaagcagcgcatcgagcagataaaagccggtaacgtgcgttggtggatccagccagtc
+atcaagccttccgccgccgggaagaatttgcagatgaccataaaacagcacaatgacgcc
+cagcccaagccagaacgcaggtgtggagattccggtaatggccattattcgcaccagatg
+atccagccagcgatttcgccagactgcagagagtatgcccagcgggatgccaatcaggag
+tgccagcagcagggcaccaaaagccagctccagcgtcgccgggaaaaatatacgcaactc
+ttccagcaccggacgcccggtacgaatggatgttcccaggtcaccatgaaacaggtcgct
+gacgtagcggtaaaactgtacatacagtggctggtccagtcccagttgctggcgaatatt
+ttccacgatagcatcgctggcgcggtcacccgccagtaaccgcgccggatcaccagggat
+cagatgcgagataataaacgtaatcacgcagacgcccgccaccacgagcaccagccccca
+gcagcgttggcgtaaaatactccagaaggtcacgttatttactcatggtattgatattga
+agacctgttccagcatgggattgaacacaaagcctttcacctctttgttcatcgccagtt
+ggtagtttttctggaacaggtacacataagcagcgtcatcaatgacgattttctgtgcct
+gctggtagtcccgggtacgctgcgtctggtcggtggtcgcaagcgcattgcgcagtaact
+tatcgacctcactgttttcatagaacgagcggttacccggcagaccttttttgtctgact
+caaaccagtaattcataaacatatacgggtcggcaaaatccggactccagttgccaatcg
+caatgtcgtaatcacctttacccactctgtcgcgcatggtggcgttcgccagcttttcca
+gcttcacaatgatgcccagcttgttgagactggattgtgtcgccagagcaataggctccc
+agttcggatcgttatcggagtagagaaacgtcaggctggtgggtttgctcgtcactttat
+cccattcggctttggctttcgtttcgtcatggttgtattgcattgccgtcgcatcgtagc
+cccacatgccttccggaatcgggccgcgcatctgttttccgttaccactcagaatgccgt
+taaccatgccctgataatcggtagaccaggaaatggcccgacgcagatccgcctgattaa
+gaggcgctttgctgttattcagatacagataggtaacgcgcagtgacggatactctgcca
+cattgactttattttcctgcttcagggcgttgagttgatccaccggcagcgcatcggcaa
+tgtcaatgtcgccacgggagagctgcaggcgacgggaggcactttcaccaataattttta
+ccgatacccgtttgaagttcggtttattgcctgggtaatgcggatttggcaccagaacta
+attgctgacctttttgccagcttttcagcataaatggtccggaaccggcggtattttgcg
+cgaggaagccgcgagcatcatccgctgcatgttcctttaagaccgccggattgataatgg
+atgcaccgtcattcgccagcgtgtagaggaacggtgcgaatggttggctaagggtaaact
+tcaccgtatgttcgtcgggagcatcaatctttaaatctttgggaaatgcttctgctggcc
+cctggccgatttttagtagccgctcaaaagaaagttttactgcttcggcagtgacaggtg
+tgccatcggcaaatttagcattatctttcagggtgaacgtccactctttttgatcgtcag
+acgctttccagctacttgccagatcgccttcaacgtcggttgagcctttatcaccgtccg
+ttttgtactgaaccagccgctgataagacgggtaggtcactgtccagtcgttattatcta
+ttgttaccgccgggtcgagggtttgtggatcggcggccttaccaatcaccagcatatctt
+ttggtacggcggcgtgcgcaaccgggaaatttgtggcaaggacgagcgcgagcaatgtgg
+gacgaaacgatatcgatctcttcatgacagtttcctgattaactgacgtgctgtgtgcca
+ggggatataaaacaagagaattgatcagcgagcagagggtaactcgctgcctggggtaat
+tcgaagtgccaccattcgctggagataccgacaaaaccgccaccagtcattatcgcattc
+agcaacagccgattgcgctgagcggcgggcgggacggaagggtgataggcatgggagcgc
+tcgtgcatttcatcgaaccctgcgcccatatcgaggatgttcccgtgctcatcacgaagc
+gtcaggtcgatcgccgtgccacggctgtgattagaaccgaccgtcacatcaacaacatat
+tgcgggtctgggcaggcttgccacaacatcgcctgtgcttgttgtgggcgatacgcatcg
+taaatcaccagttgtaaccctgacagctgggcgatgctgatacttttcgccagcgcggta
+atcgcatccttgtgtaacagacaacgcgcttgctgataaatagctttacctgtgatgtta
+tcagcgcaggcgtatttcaattcgatctccagatcagggaagattacggctaaatcaacc
+agttcggtggtatccgacataaacggttcctgtataagacaaaaattgctgcgctttccg
+cttatgcagatctcatgccatgccgggataagcgccagaatgctggcttaaagttatatt
+ttttaacttttgatcaacatttgtgcagcgtagtgcagttttggtgcaagaggggaagtt
+aaggaaggaatctcccggaatcgtagctgaaatcacagtatttaagtgacagtgtcacgt
+taaatgaaaacccgcgagtgcgggcgagaggaatttgtcagattttcagcggtaacacgc
+tgctcatccagcctggaatttcttcggcgggtagggggcgggaaaagaaatatccctgaa
+taacgcgacagtggatcttgcgtagcatctcaaattgctctttggtttcgacgccttccg
+ccacgacggttaaattgaggctttgcccaatgctggtaatggcttcaagtaaggcaagga
+tgcgtttttcggtcagacaacgatcgacaaaacttttgtcaattttgatttccgttaccg
+gaagactgactaagcgggataatccggaaaagcccgtaccaaaatcatctaccgataagc
+ccacgcccatatcacgcaggatctgaatgcgcttaaagatttcggtatcgtgttccatca
+tcatgctttccgtgatttctaccgtcagctggtggccgtcaataccccaggcgtgcattg
+catcagacacctgattaggcagttgattactgcgaaagtgcagcgccgacaagttcacgg
+ataacgccgggatatgaatattctggctacgccattctgctaactgacggcaagcttccg
+cgatgacccagcgcccaatattttcgatttcaccaatctcttctgcgagaggaataaacc
+gtgaagggggcacatgaccatgcaggggatcgtgccagcgagcaagggcttcgatgccgt
+acagttcacccgtttctgcgaagatttgcggctggtaaaccagtttcagttggttattgc
+taatcgcttctttcagcgctgcgcctaaaaccaaacgctcttttaccatttcgttcatcg
+ccgggctgaagaactgccagccgttaccgccattcttgcgaatataatccattgcattgt
+gagcagtggagagcaagtaatcgcggtttttacccaggtcgtagctgatgccaatactca
+aggtaagcgggaagggtttatcgtcaatcattatcggcttgctgaccacattccgtagct
+catcggcgatttgggtaatgttactgacgtcgttttcgaggctcacgaggacaaactgcg
+taccttcgatacgacagagatactgatccggtttgagtttttcacgaaagcgattgacca
+cttccagcaatgcctgatcggcccacgcatagccaaggctatcaatcacatcctgaatat
+ggtcaacaccgatgagatacaccacgggagagacggctttgtcgaccaggtcatcgaggt
+aattgtgcaggttattgcgatttggcagaccggtcatcggatcaaattggatgagttgtt
+caatatgctgacggcttttttcctgttccagcgccagcgcggccatatgctggctgatat
+ctgccacgcgttcgataaaggcgctggtttctgctcctgacgaggttttaatttgcagga
+tccccgcaggcgcgccatcacgctgacgaatggtcgctgaccagctttgcgcattttgaa
+tttctgcaccgtgggaagatgacgcccagtgtatcggcatcccgttgcgcagtgcgaaca
+gcgaaacatgcgattcgttgagtacagattcgatgttacgacaaatgatttcccccattt
+catgaaatggcgggctgctgcacatggcggcgagaatattgccttcaagctggcgaatct
+gccgttcttcggtgatatccgagaaagtcattaccaggttctgcagatgcgcgagcacgt
+cataaaccgggctgatagaggctttaatccagattttttcaccggtgcgcgtcaacagca
+gaaattcgtcctgatcgcgggcggttttccatagcaactgttgtaaacgaatgcggttat
+cggcagggaattcaggaatgttcaggagtgtatcgggctgcataccgctggcttcgctaa
+tgcagtaaccaaacatttcggtaaatgcgcgattgcactgcacaatatggcgttccggat
+cgaggacaatcaccggtcggtcgagatggtcaacggcaataatcaattgtcgggtctgtt
+ctttttgcgccatttctacgctggcatcccgtaccagcgccaggtaataaactttcccct
+cggcgctcactttcgatagcgcaaaacgggtccagattttactgccgtcttttttctcca
+gctgcagctcccgactcatcccctcaacacgcgctttaccgccttcacggttgtgacgaa
+tgtattcaggatgcgcaggacgcaaatcccgcggaatcagcatatcaatgttattgccaa
+tgacttcttcacgtttgtatccccagagcttctctgcggcggggttgaaaaacatcactt
+catcattttcgttaattaacaccgcacccatcatattttgctcaagggcggggaaaaaaa
+tgccatcggcggcattatccgcatcggttagcttcatgattacctctgcatcctggcgca
+tctaaagactggctttccagagttcaacacggtttctacctcgtcttttggcgatataca
+gagcttcatcggctatttgaatgaggcgctcatagtcaggatgaccattaaacatggcgg
+caccgatggaaagtgagagggcaatatcttcgccgtttgcggctttcagtttggttttct
+ccacccgactgcgaatacgttctgcggtacgtaacgtttcgttttcagaagcttcagtca
+aaacaatgataaattcatcgcccccgtagcggaaaacataatcactactgcggacgttgt
+cataaaaggcctgagagactttacgcagaatttcatcaccagtgttatggccccacgtat
+cgttgatctctttgaatttatcaacgtcaataatcagcactgacagcggtgtaccggtcc
+ggttggcatgggcaatttcgcgtttgaagatagtcggtaggaaacggcggttaagtaatt
+tcgtcagtacatccataccgacttcgtggcgcgatacttcttcaaacaattcacgcagca
+aggtaataatttgcgatacggtatttcttatctgtaataaaaatttcacccgcagacttc
+tgttattcaaatttctggtgttacgcatggtttgattgaaaataccgtcgaaatcctgaa
+tcagacgggagatatggcctacttcggcaataccactaaaataatgtcgacctttatggt
+taaaccacaggccaaaatcagcctggcttaaaggcaaactactgcctaaatcagaatcca
+gcaggattttatagataatatctatttcccatgaaagtattgaggctatttgccgttctt
+tttcttcttcggcgttttccagtaacgagaagatacgatagttttcatcttcctttgagg
+cactactgtcactaaaggtaaacgcgcgagtcatcacttccatcgcgatatcaatactgt
+taatcgagaaatggtagacctgaagtttttctgcggcggaataatccgaagagaagatca
+ccggatagaggatttttttcagcacccgaaaccccatctcgacaatttctaccggaattc
+ctatgcgggcatgcacttccgcgacggtatgctggatttgtattagcctttcgacatcgt
+caacctgggcagaaagcacgttaataatccagcgttccatcgcactcttcaactgccgct
+caacttgttcattactcaagaattcttcggcatgcgggtcgatgcggacaattcgataaa
+actcgatactcagataatgagcatgcgcaacggcaatttccgcggctttagcacgaatgg
+gcggatctgcctgttcgacaagtccggtccactcatctttcattcttttaaaatacatct
+ccataattcacacccttataaggctgggaaatcagacggaatcaaaatgaaacgcaacgt
+gcgagatcgactaactgcaccatattctcctgaaatatgaagatatactgaaaagaaata
+agcgatttaggacagtttcaatctacgctactgttcttcagaagagtatagcccatcgta
+attatttttcggtgacagcgaatatcgtatggtttttcatattcatacatttttattagg
+gatttatggctgtttaactaagtgtggttaatttgacttaagtaagcatgattattagtg
+ggatagtttaagagggtaacaagccggtgggtaaagcaccggcttgttacaaagtaagaa
+tgggagtttaactgccccagcgactttgcagatagctgaccgcttgttgagtctgcggtt
+tattcagatagtcctcacggaacaagatggtgccgctaatttcgggcacagcatcgttaa
+gatcgagctgctttttcagttccggtacgccgccgttaatcatccagtctggctctatct
+ttgaaggttcacccactttatagaaggcgataccgatatacaggcgggtcctggtcggtt
+taacgacatccgcccaccattttgccaacacgtcataacgcgcggcactccgtgagaacg
+gccagtaaatttggggagcaatgtaatccagcaatccttgttccacccatcgacgggtgt
+cagcgtaggattcgtcataggctgccgcgcctcgggtatcggaaccgagcggatcgtgtg
+atcggttacgccacacgcctgccgggctaacaccaaattcgactcccggcttaatgcttt
+taatggtgtgcgatacctttgcaattaactgctgagtattgttgcgccgccagtctgctt
+ttgacgcaaatgcgcctccgtatttacggtacgtttcgttatcatttagccgtgaacccg
+gtgactccgtatagaaatagtcgtcaaactgcacgccatctacgggatagcgggaaacca
+cttctgcgactattgatgtgatccagtcctgaacctcagggatgcccgggtcgaggacaa
+agcgatcgccagacgttctgatccagtcgcggtgttgcacatagacgctcgccggttgtt
+gagacagagtgctattcagttccctgatagtaccgggcttcgtattaaccgatacgcgat
+aggggttaaaccaggcgtgtactttcatcccacgcttgtgggcttcgtcgagcataaatt
+gcagcggatcgtaacccggattttcaccaatcttaccggtcataagatcggaccacggca
+aaattttcgatggccacagggcggtaccgtccggcttgacctggaaaaagaccgtgttta
+tgccgagacgttgcagatgatccagtttgtcgatcatcgcctgttgttgtacacgggccc
+ggctggtggggttactaatgttaaccgaggaaaccggtggccagtcgagccgagaaaccg
+tggccagccagatgccacgcatcggttgtgacgattgttgcgtcgtggctggtggctttg
+aacctgctggtggtgtcaccatggactctggaggcgtgcttttacaactacacagtaaaa
+gtgccagtgcaactagtatcgctggtcttctaatcgttaatttcttgtttcgggagcaga
+tatccatatgtgctggtttccggtaaacagatgtgcgctcattctcgtacttatccccgt
+taagtcaatacgacagcaagcacgaaaaagggagcgatgaattatcgctcccttgtctta
+taaccattcagacatggttagtgtttcttgtcattcatcacaatatagtgtggtgaacgt
+gcacgcgggtgcaggaagaagtgaccttttggtgcgttctgactgttgattggctccaga
+gtgacgccggtatttgctttgcctttacgatcatgaacagcatagagaataaagggcagg
+gcaagtaccaccaggaaactaacaaccagtaattcaacatacatatcggtagaatcaccc
+tggatgttatccggcggcaggaaggaaacaataaacgccataattgaagtcagcagaccg
+acaattgccacgaccagtttcacccctttaccaccagggatattaaatgtgcgttttaag
+tcaggatgtttaagaaccaacacaatgtagccaataaacagcatgaaataagcacacaga
+taaatcaccaccgtcagcgccagtgcgatcaggaaggacatgttgttaccgccaccggta
+ttggtgaggatgatcaacgcgatagacgtaatcaccagctgcgaaatgaccagcgttacc
+ggtacgccatttttgttcattttagcgaatgccgctggcagcaggtttttctgcgctgtt
+acatacatcccgcgagaaggaccaacaatccaggaggcgatttccgccagaacacccagc
+aacagcagtgcggagatcacgcgaaccgtccactcaatttctggtgccacatgggacatc
+agaacggtaaaggtttgcattacccctgcggagaggttgatttcattacccggaatgacc
+atcgcaatagacaaaccaccaacagagcttaagcagattgccgccaccatcagcagtaac
+atagccaacggatagtcgcgccctgggttgctcatttcattgacgtgggttgcggatgct
+tctacgcccatataactcaaaatgaaggcaacaaatactaccagggtgcccactttagag
+aagtcagggaagaaggtcttcgaatccatttcgatagcaacgggggcaccggagtgcaga
+taaatagccgctaatgcgatcaaaataaatgcaggtaacaggataccggcgaagaagcca
+actttagcaattcgcgccgtgtatttcgtgccaccaaactgcgttaatgccagcgcccaa
+agaatgatgagtgctgcaatagttttggtaatggggtcttcattcagcgctggccatttc
+aggatgtaggagagtgcccctaacacgaaatagagcatcggaataaaaccaatggcgatt
+tgcagatagccaaatgagatcgctgcaaatccccatctcggccccagagtatttgatacc
+caggcgaagacaccaccttcttcccagccgtcgacggtggccatttccgcagcacaaagt
+cccacgggaataaaccataaaatcccgcctaatagcaggaagaagactaatgaaaagccc
+gatgttgcgaaggtagggtattcataaacagccattaccatcgatgccgttatggcaaag
+aatccaagtaatgtgagctgcttagctttacctgtctgtactgatgtagccatattatcc
+ccctaaaacggtattcctgtcggaaccgcacctgttttgttctgaagcgtattcagaaca
+atattttccgttgctaatgccagtgaacagactttggaaattgtcccgaaacgggttcgt
+ttcgggacaccgttaccgttaaacgttatcaggtatgtttaaagctgttctgttgggcaa
+taccctgcagtttcgggtgatcgctgagatatttcagggaggctttgtagtcttccagca
+acagttcagcaaagtccatttcgaagccgcgacgacacataatgcgcatcaccacgatgt
+cggtggcttcaccgccgagagtgaaggccggaacctgccagccgcgcagacgcagacgtt
+cagagaggtcatacagggtgtatcccggatcttcaccatctttcagtttgaagcaaaccg
+ccgggatgccttcgtccgggcgacccgtacagatgaactcatacggccccagtttggcga
+tttcatccgccagataagcggcaacctggtaagaggcgttctgtactttggtatagcctt
+cacgaccgaggcgcaggaattcatagtactgtgcaattacctgacccgccgggcgggaga
+agttgatggcaaaagtaccaatttgaccacccaggtagtcaacgttgaacaccagttcct
+gcggcagcgcttcttcgtcacgccagataacccagccgcagcccagcggagccagaccga
+atttatggcctgaagcactgatcgatttcacacgcggcaggcggaagtcccagacgatat
+ccggggcgacgaacggtgccaggaagccaccgctggcagcgtcgatgtgcatgtcgatgt
+cgataccggtatcggcctggaatttatccagcgcatcgtgcagcggttgtgggaactcat
+agttaccagtgtaggtcacgccgaaagtcggcaccacgccgatggtgttttcgtcacagg
+cttcaatcatgcgtttcgggtccataaacaactgaccggggcgcatagggatctcacgca
+gctccacatcccagtagcgggcgaatttatgccagcagatttgtaccggaccgcacacca
+ggtttggtttatccgttggtttgcctgcagcttccatacgcttgcgccaacgccatttca
+tcgccatcccgccgagcatacaggcctcggaagaaccaatggtgttggtgccaacggcct
+gaccatttttcggcgcaggcgcatgccacagatcggcaaccatatttacgcaacgcaggt
+cgatggctgcggattgcggatattcttctttgtcgatccagtttttgttaatggataaat
+ccatcaatttgtggacattttcgtcgtcccaggtctggcagaaagtggccaggttctgac
+gagcgttgccatcaagatataattcgtcattgataatctggaatgcgacatcgtcgcgca
+tttcgtgcagcggaaaacgttttgattctgcgatagtggaaatagacttcgcaccaaaac
+gtgaatcgagtagttccgaccttaaatccgttacttgcttcttatccattttaaactcct
+taaaatgattggatcgcattaaaaaagtaggatttatcgataaagtaagcaagtgcaaag
+gactcgtgtttaaataacaaaatcctaatgttatttatcgtgagatattacgcgaataat
+attttttcattgaaaaacaatacaatatgaaattcttgggtggtggtaaggtgttttatg
+ctgttatttttatgcgcattctgtgtctcctgaattatcacgtaaaaatcagaccttaaa
+atatcactattagtacttgattattattttgaacgcatttataaaattattacataaaaa
+tagcgaatattgctaaaatccccgccaacgatgtgttgacggggctgttattattttggc
+aataatactccggtataagtatttaccggatgagaaagatattgtttaacggcagtgtta
+acattctctaccgtcatttgtttcaacaattgctcctgctcagtccatgctgcaggatcg
+tcatattgaataagactatttacaatagtgttcgctaattgttgaacgctacgctgttgg
+atatcgaggctgcgctgaacgttttgctggtattcattcagttcttgctcactgatccct
+ttagccagacgcttaaccatcacttcattcgctaacgttaacagttcatcatgtcgttct
+ggttgacaagtaaaagccagcaaatgactgatatctttggcctgaggatcaaccgagagg
+cgagaagaaacgctgtatgctccagatgcctgttcacgaatattaacacgtagatctttt
+gccagtgcgacgttaaaagcatcgagcgccatacgcgtcggcagattaacaggtgtccgg
+gaatcataacgcttccactgtgaaacctgtgccacaggttcattttgttcttttacagta
+accgatgcgttgtccgtcgcgcgagttaatggtttacctgcggctaatggcgaatcagag
+tgtttgattgatcctaagtaacgcgtaattaacgccacgagtttgtcttctgcgacatta
+ccgacaatgacaaacgtgatatccgctggagatgaaaacaattggcgatcggcagccagc
+gcatctgcggcagtaaactgtgcaatctgattttcttgcagtaatttcgtgcggtcatca
+gcatagcgcgtctcatacatctgctgggcgaatttctccgctggacgctggtcgagcgtt
+ttcaacgcctgaatttgagcattttgtagcgatgcccaaatattatcgttaatcgtgctg
+tgggtgattcgctggttaatcaactgaaaaccaggttcagggttattagtccgcgcgcta
+acggagagcaacgtattcatgccactgactttactgctcatggttaccgaattttccgca
+ctccagcgtttcaggctggaagaggagagttcgccaacgccgcttccgctaactgcttta
+tttgccagcgcgataagtgatttttgctgcgcagggaaacttaaatcgcctttattcgat
+acggcaataatttgtagcttttgctcttcacccgcggattttgccagaataaccctggca
+ccattggaaagtgttaatgatgtcagattctccgccagcgtttctttgctgctaatttcc
+gcctgtgggtctgcgtctactgttaacgataaatttctgcctgggaagacgtaagccgcc
+agctttttgttggcgtactccttttccagcgccaggatagccgcaggagacaatgctttt
+ttggcggcaacctcattgtttaccatttgctcccaaaatgcgtcctggttctttcttaac
+tgctgccatttttccgccagactttgcacggtaatttgctgccacagacgtttcgaaagt
+tgatatgtctcttccggcgacaagaacggcgtattatttaatgagctggatgccaggcga
+ctggtcagcatacgtaaatcacgttcagcttgctgatcaaccgcatttttcagccaggtg
+aggcgggtagatttgacatcatcgagttcttcagcagaaaaaccatgctgatcaatggtt
+gccaactctgccattaatgcattcgcagcatcctgcatattatcgtctcgtgcatttaca
+cggaaaaacagcgactgataatcgggtgcaattttaacgctgcgcgcagtgccgccagaa
+atagtcttcaactcgcccgactgtatgcgttcctgcagacgttgattgaacagctgaact
+aacatgctccattcagcttgttcgataaagctttgctcatcgttcacttgtaccattggc
+aggcgataatagagtgcgatgccgttcacccggttttctttatcattaatgatattaaag
+cgcaggtggttttcggcttttgtcggccagacgcgattttcagctgctttgttagccgga
+agcttacttaaattatcctttatcagcgccagcgcttctttactgtcgatatcgccgacc
+acgataaaggtcatattatttggttgataccagcgttgataaaattggcgcaattgtgcc
+ggtgtgaccgtggcgacagtatccatcaggccgataggttcacggtctaaattacgggta
+tttgccagcaggaaagggcggcgcgcctgagaggtgcgccatttcgcatcctgatgggca
+cgccattcctcagtaattacgccacgttcagcgtctacttcgagtttttcaaaggttgcg
+gcattactccattcactgaagattgccatcacttgttgcagattttgtttctgcgtagtc
+ggcaaactcacctgatacaccgtttcgtcatagctggtataggcattaacatcgcgacca
+aaacgcaggcccattgactcaaatgtttcgatgactttattacccggccatgtttttgtg
+ccgttaaacatcatatgttctacaaaatgagccacgccgagctcattgtcttcttcctgc
+aatgaaccggtatgaatttgcagccataaatttacctgatcctttggatgagcatgcgga
+taaatcatatatcgcaagccattgtccagttgcccggtaattaacttttcatcctgcggt
+aaggcggcggcaatcagccgcccggggagcaacagagttgccactaacgtcagtaagaaa
+cagaggtttctcataattatctccatgcgaaaaccgggcgaatttacccggttaagtaaa
+atccgaactattaaaatttcatgctgacatcaagccagaaagtacggccactggcgtagg
+tcgccacaccggtgttcgttgtatcaacagcggttttgctatccagtacattgagaatat
+cggcactgatcgtcaggttttgttgttgcagaaattgtggcgtccaggacaagcgggtgt
+cccaggtcaggctgctatccagtttttcgtcaacatactgcttgtaatctgaatattcgc
+tgatgtattgcgcatttgtcttaccaaggataatgcgagctttacgcgcttcttgccagg
+ccagcgtattcgcccacactaacccgctcggttgatgcgtgaaatccatgtttaaggaga
+tctttaatgggttattaaaatctgccactggaacgctatcgtaagagaccagattaccgt
+tataaaccacctggttatcaccggtattgctctcctcataaccattgtttaacgacaagt
+tgcccttgctcttgatatagctaaagacaatttgtgggttaatatctacctggcggatat
+gcaggggttcggccagttcaaaactgaggctgaacgaatgcgttttggttttgccatcgt
+tgttatattcagtaatggtggttttagtcgcgctgtcggtacgactgcttttgctgattt
+gatcatgcgcttcacggtaaacatagtttgcacgcgcaataacgttcttaccgattttct
+gctgcaatcccattgccagttcatcgttataaggcgttttcaaatcctgataacgcgtca
+gagttttattacctgataccgattccgtccagctattgcggatatcacgtaatcccatat
+caagaatattcccgccatagtaacggttataacctgctgtaatcattgaggtttgattag
+caaaaatatcccattccgtcataaagcgcggggagatattgtggtttgacagatagttgt
+catagtcataccgcacgccgggcattaatgacacattacgccagctaatgcgatccgcca
+tatacagcgtgtagttgtcaattcccaggcggcctttacctttatggtaaatggtatggt
+tagttttctttccggcagcattaatcacataggattcagactggttatggcgttcagtcc
+acgcatcggaatagatgtattccgcgccgaagtagggttgatgcgaaacattacccacgg
+cgaatttttgccagtccaggcgtgttttgaaggtgtaattatctacagcctgggaaatgt
+gtcctaatccgccacgggtgcaacgccctgtaatatcaccatatgtacatgaaagttcgg
+tgtaccagatgtcatgatcgtgacgggtataatcactaatatgatcccaaccaacggtgg
+tacgcagtttggcccatgcgagctgcgtatccatatcccatgccagaccataggatttat
+tacccatttcgcgatcagactgcgggaaggtgctggtattataatcacggctggagccgg
+tatattttaaggttaaatcgtgggtaaagcggtcgctggcaaaccaggtaaatttgctta
+atgcagtatcgataacgtttttatactgtgcccgaccggcgacaatgccgtcattcgaaa
+cataatccgcgcgggtgatatcagactggcggcgcgataaaccggcggtaacgccgaagt
+tatcagcgagttcctgattaaacgacaaggtataaaagttctttttaaaatctggggagt
+aataagtacttcctgaagagccttgattaaatgcgctcttgttattctcatcgatatgcg
+atgttaaccagtccgaacgcgtagtgcgataacccaatttcaccttgctatcatcagcgt
+tgaagcgtttgatctttgcatcaattaccccgccattgaagcgaccaaattcaaccggca
+caaaactgtcataaagcgtcacattgtccagtaagctgacatcaagataatacccctgtg
+acatcccgctaatattggttgcactactggcatcggactcattcgctgggttcaggttat
+tagttgcactaataccgtcaatcaaataggcattctggtagggcgacgcaccgtgaatag
+agattttctcagggcgaatatctccctggttcaacgaggtactttgcgttgaatccatgc
+gtaccgcagggttggttctcagcagatcgctgatattgccattcccggtcggtaaacgct
+cgatgctttcactggtgtaatgcgtgttgccgtttacgggtacagggacaggagcataga
+ccgtcatctcttcaaaaaaatgcatgtacatgtttttgtcatcgacggcctgcgccacat
+cagcgccacataaaatgacgccaggaataagaactcgcttcatttatttatatctccgta
+cagcagggcttttattgtttttataaaaccgcgctaatgtcacaaatatcatcggccagg
+ttccagacaccgggttgatgtgtaaccataatgacgccgcttgtgggtagtttttcacgc
+actaaacgcagtaagcggatagcctcttgttcctcaagatgagaggtagtttcgtcaaga
+aatatccatttcggacgtcgtaaaattaatcgtgccagggcgatacgttgtttttcgccg
+ctggaaagaatatctccccagcgatcgtggtcatgaatacgcgcagccaatttcccaaga
+ccaacctgatgcagtacttcgctcaacgatttatcgtctacgggcaggggaagtgcttta
+caaataatctctttcagtaagccggttttgattaacggtgtttgtgacacataccaactg
+tcagcaggagaagaaatatcacctttaaaccacggccagcagtgggataatgttttaagc
+agtgtggtttttcccgcgccagagtagcctttcagtaatagccatttgcctggcgaaaca
+tgaaagttcaggttctctaatatgatcttattatcaggcgtacgaatactcgcatcagcc
+acttgtaccgcatgttggcaatttttaggcttattcgtagggcgctgttcagtgagttga
+tggaactcatacaagcgatcgataaccgcagccagttcagcaagttcgtcatatttataa
+ataaaccagcttaaattgttcgataccagcataaatgcctggcgcgatttcatcagtccg
+cccagattgatctgcccgctaataaactgcggcaataacagaaagtagggaagaacgcta
+agcgagcgcgaataaatattctgccagtaatcaagccaccgctgacgattcattaaacga
+tgccagttctctttaatggtatgaaaattgtcgctcaactcctggcgttgtagagactca
+gcattgcttagcgcaatcagttctgcctgcttattatgctgcacaagatttgttcgaaat
+gtcgcttcgctacgttgtttttccacattaagcggacgaatacgtttacccaccttatgg
+gtaaataaagttccaccgatcacaatgagcacgacggtatagaccatatacccctggata
+ttccattctgttccaccaacagtgaatgagagcgtacccgcgctttcccaaagaataacg
+gtaaaggtgatcagcatgctaagtgactggatgaagccaaatgaaagactgagcgttttg
+ctgatcagtaagagaatgtcttcagcgatacgttggtcagggttatctgtatttttatgc
+tcgccgtagatctgcgtgaagtagtagtttttatctgcaaaccaccgattaaggtagtaa
+tctgttaaccattcgcgccagcgaatagtcagtagtttaattaaccatgttttgtttacg
+gatattaatacaaagatccccagcagggcagggaaccaaaggacaagctgccaaagctta
+tcggtttctttctggcttagcgcattgaaaaaatcattattccagtcgtttaaccagacc
+tgaattttaaccacgccaaggatcatggcgaggataataatgattaacaacactgaagtt
+ttattattcttacgcagccaaaagggcttcaacagacagagatactttgctatcaacata
+cgaagcgtaatgggaatggttatcattagcgaaaattgattgtgccatccaatgattatc
+tatggcaatgatttactgatgaaatttatttaagtatcatttaacaatatgaaatataaa
+ggaatatttcattttcagtggttatggttatgctattgataatcaaggatattgctaatg
+ccctgatgcataccacgtaagccaggattttcgcaagggaagatgatgatgacgaaacac
+ccgacaggaatttatgtcgggtgccttgttaaggtcataagaaggaggctaagaatggag
+ttaaaagagagcgttattaattattctccatttgttttgcaacatccataatgtggtaaa
+gcggtactctgttcttagctaactctaccatggcgttcatataaggtaccatggttgaaa
+aaaggattttataaccttcgcaaaaataagaaacagtctcattgtttactttagtaatac
+gatgcttaggacaaccgccattgcagataggtttatatgcacattgctgacatttcgctg
+gaatccgttttttttgcgctgtcagttgtacactgttcatcgttttgagttcagatttat
+taatgtttccaattttgtactgtggatagacaaaatggtcgcattcgtaaatgtctccat
+tactttcaacaaccagattatccttgcaggactcctggaaaatacaactggtatgcccat
+tccccaaaaaacggctgacaaagctttcaaactgacggatgaaaatttcacccacatcgt
+ttttaacccattgcataaaaatggttgacataaacttgccataagccgtgggaggcacag
+aaaaatcaatgatacggaatgtgttctcactatgaccactgaaatcaatattcggcgtcc
+cggtttctagcaattcgataaattgcatatgtttactgccgatagattttaaaaaatgat
+aaacctcaagagggtaatggacattaacgttattaatgacggttaacgtattaaactcta
+cttgatatgatttcagacgctcgatggctgctatcacttttgcaaaagtaccgttacctg
+aattactgcgtctgtaacggtcatgtaactcctgggggccatcgatcgagataccaacca
+gaaattcatgttctttgagaaaggcacaccattcattattcaataaaatgccattcgttt
+gtaatgcattaaaaatacgtttttggcctgcatagcgttgttgatagtgaataactttac
+ggaaaaaatccaggccagccagagtgggttcaccgccttgccaggtaaaatagacctgat
+tgccagacgctgcgatatattgtttgatgaactctttcagagtgctgtcatccatccatt
+tttcatgagtaaactgcgactctttttcaaggtaaaaacagtaatcacatttgagattac
+attgaaaactggagggcttggctgtaacgtgcatcgctatctcgctcaataaggcggcgg
+aaaaatccgccgcatgaaggtttagttatttcgcttcgcttagtgctttcttgatattgt
+taaacttctcctgatttacctcgctaagcggtggctggctgctgtcgataaactctctta
+ccacgccttgcatctctttaacgacctgcggattggcggcggcaaggttatctttttgct
+gtagatccgtcagtttgtagagacctaactgattgttttctactgtatagacaagcgaat
+aatcgttatttctcaccgtataagagaattggcttaagtcctcagtgttggggttatgcg
+ggtaatcgtctgactgatggcgaacaaatttgtggtaattatcccagaatggaatatttt
+cctcgtcaaaccagtgagaataagaggttatccaggtcagatttttatgtggctcgcctt
+gtttcttatcttgcaaccagggcagcaaggaaacgccatccagcttaaggtcttttggaa
+tgctgatatcggctgcatcaagagctgtcgggtagaaatccattgcggaaatcagcttgt
+cataattaccgggttgaagttttcctttccaccacataaacattggggtgtgagtaccgc
+caggataggtctgactcttatagcctttttgcgccccgttcagcggcagaggaccatcga
+taaccgcaccattatcggaggtaaagagaataattgtattgtcatactgtccgtttttct
+tcagttgttcgagaatgcgttttacaccctgatcaacagaataaacggaagcgtagtagt
+tatctgctgtttgactaccggtattaaattgcttctgatattgatccggtgcaggattat
+catttggcaggtgcggagcattataagccaggtaaagcataaaaggctggtcaagtgttt
+tggcacgatcaacaacgccaattgcctcatcggttaactgatcgctgatataaccttttg
+cggggacacgttcacgatttttgaacagtgaaggggagttgtaatatgccgttcctgcag
+cgtggaatcccataaagtaatcaaagccacggttttgaggttgccattcttccgcagaaa
+atgtggtgaagttgtcatgatagtcacgcgtttgtttatcttccggtaccggcacattac
+tgatttttgacaagtgccatttacctactgctgcagtgtaataaccatgattctggaata
+attcaggcaagaaagtttctgttagcggaataccatcctgagcatcggtattggaataga
+caccaaagcgggcgggagctcgaccggtcattattgcggcgcgggaggggccggaaacac
+cgtgtgccacatagccgttagtaaaacgtacgccttcatccattaatgaaaggagcgtcg
+gcgttgatttttgtgcagcttcaatggctttatctatccctattttgtaggtatcgacaa
+cttcacgattttccattgtttttgggtcaaaagatcccttatcaaaaggaagttgtccat
+aaccaagatcatccatggtcagtacgataatatttggctttcctttggtactgtattctg
+tcggcgtaaagtctgagaaagcaacgtttgttttggttgctttcagctttacatcatctg
+ccgcatgagcagcaaatgcagccataccagatgccagtatcaaagatatcgaggtactta
+cgacacttttctttaatgcagacttcataaatgttcctcttcttattgtacttaattcca
+aagtaattttacgaagagaaataagtggatgtaagtgaagttagtcacataaagagatag
+cagatttagctaaaaaaagggaaaaaacagtccataaagcgttgacattactttctgttc
+tattaagtaatttctcgccgataaacaactaatttattgatatttaataaattattgcat
+tttactgacaaaatgcagaattgagatcataaataatcatgcaacaggttatgcaagtgc
+ataaatatgtgatggatgtcacttatttatttcaataaatatatcgcctaaaaacaacgc
+ggggcagggaatggctgccccatttaattcttacgcagcgtgtgtggttgactactcgtt
+agcaaataatcaaatagctaaagcattcatcgtgttgcccgtattcatacccgtgtgact
+ttgacaacggtactccttagaaactctcttcggactgttgccgaaatgtttgcggaacgc
+ataaataaaataagatgtactggcataaccacattgttcggcaattttattgactgaacc
+ttctacgcgtatcaaattttttgcgtgctgcattcttgcatctaaaagaatctgtgagaa
+tgtcgtttgctcttgcttaagttttttcttcaacaggctttcactgatgtacaggcagtc
+acaaatatctttcagcttccatgggtgcgccggcttcatgttgacaatatttctcacttt
+cccagaaacggatagcacaccgttagttaatagtgtaatgaaacctttgcatgcggcaaa
+aatagacaggcaagaaaaaagcaaaagttctgaaaaattatgatgattgcgttcttccga
+gttgagataagcaatcatttcattaagcaatccagtcggtacatttgaagcacgtaaaaa
+cttcgcaggaacaggcaccgtcactgtctggatgttagtgcattgtagatattttttaat
+ggtattttcagtaaatccgatctctttaaaatgccgctcataaggttcaaaatgcgtacg
+aacagcgttatctaccatcaggatctcgccgtcagagaaggcgtaatctttatctaaaat
+gttagcgttgaaggcatgatgaataaatataacagaacaaacgagcgacattttatctcc
+ttaaaacaataaagtttttatcgatacttttttaacatttcatatttataatttgctgtt
+tgttttcagccttgcaaactattgataatgaaatgtgtaagatctcttgcaatgcgaccc
+atttctgaaatactcagctgatcaattgccgaaaaaatggctatcaacgtaagtgtcagt
+aataagacaaccacaattgcagacatgatttctttatagttgtctctttgcgtgattttg
+tttttcactgtggtcgcatgcatttcaaatatgtttatttagcggataacgttaaaaatc
+gttaatcagtatgcttaatataacaggctggagaaaagaggaaataggactggtgcttca
+gtactgagcggagtttcttacagctgtaggcagaagtttatatcttatagtatgtagttt
+aatttaatccatgtgagcaaattgcgaaataatagtcaatgaggaattcttctgctgtgc
+ggatgacagcagaagaaatgagaagaggcattaatttgatggttctaattcaaccggaat
+acttttatagccaggaatgccacttaatggatcgtggttatcaagtgttagcatgtgatt
+cgattctggaaaataggtcaccagtgagcggtcagccatagggtaaatgaccacttttaa
+tctatccatgcggcgtgagctgcgcttaccgtctggcgtaagcgcaataagattaactct
+ttcgccgttttttacacggcaaattttagcttgtttagcactcataaagaccacatctcg
+ttgaccgaatacccctcgatagcgatcatccataccataaatcgtcgtgttgtactgatc
+gtggctgcgtactgtcgccatgaccagcttactgttaaacgctgaagagggatcttctaa
+cagccctttgctggtaatgaaattagccttacctgacggcgtcatccagcgcctttcagc
+agctgcatttatcaggtgaaaaccaccgggatgacggatgcgctggttatagtcggcgaa
+ctctggcagcacagcttcaatgtcattgcgaatgcgatcataatcttccaccagatactc
+ccaggctaccacgctctggggtagtgctgcctgcgcgattcccgcgaccactgcacactc
+tgatttcagcattacaccggcgggttttaacacgccacgcgaggcatgaatcatcgacat
+tgaatcctcaacggttaccgcctgcgcaccgtttttttgcatgtcaatctcgctacgtcc
+caggaccggcagaatatagctatgccgtgcggtcaacagatgagagcggttaagcttagt
+ggctacgtgtaccgccaaatctaattgcgttaacggtacagcgctcgcttcccgatctgg
+cattgccagcgcaaaattgccccccatgcagatcaatgctcgagcctgccccgtacatat
+tgcttgcatgctggcaattgcagcatgtccaggtgcatgaggtggggtgaagccatagcg
+ctcacccagacgagccagaaactctgcagacggtttctcggtgataccgacggttcggtc
+gccctgtacattagagtgtccacgtagtgggcagatacccgcaccaggcttgccaatgtt
+acctttcatcaacagcagattgaccagttgctgtacgttctgggtaccatgttcgtgctg
+agtgatccccattccgtaacagataatggtgcgttcggcagcggcatatgcgtcagccag
+ttcggcgatttgtgtctgacttagtccagaaatacgttcgatatctttccactcggaatt
+gagaacgtcacggcgtagctcgtcaaagccgacggtatgcgtttgaataaactcgtcatc
+aagcaatgaaggccgacctgcggcgcttgcagcatcatcgcgctcaattaacaggcgcat
+catccccttgagcaacgccatatcgccaccaatgcgcacgttatagtaggcactggccaa
+ctgagtctcagagttcgtcagcatttcaaacgggttttgcggtgcggtaaatcgctccag
+gccacgttcctgtagaggattgatggcgatcattttcgctccccgtttcactaaagcgcg
+caacgaagtcagcatgcgagggtggtttgtaccagggttatgcccaatgcaaatgactaa
+atcgcacttctcaaagtcttccagcaacacggtccctttacctacaccgatactcgctgc
+caaacccacgcttgtcggttcatggcacatgttggagcagtcgggaaagttattgctccc
+gtattcacgggcaaaaagctgataaagaaaggcagcttcattggaagtgcggcccgaagt
+atagaattcaacctgattgggatcactatagctttgaaggcgtgcgccaatttcgtcgaa
+agcttgttgccagcttaatggcttgtaacagtcgctgacggcatcatatttcaaaggctg
+agtgagtcgccccgcagcctcaagctcgtggtctccccaggtaagtaatgattgaaccgt
+attctcagcaaagaaagaggcgtttacctgcttatccgtgacttcccaggcgattgcttt
+tgcgccgttttcacaaatgtcgaatgacgcactgtgcttaggatctggccatgcacaacc
+cggacagtcaaagccctctggcttattcatgtcaaacatggcaataacatcctggcgtat
+atccatctgcttacgtactgcattcgctacggatttaacagcaccccaaccacctgcagc
+accctggtaggattcaatttttttcttcatctacttatcctgtgtggaaatgaattatta
+ggatttgtaatagcgatgatgcacagtacatacaaagggattatcgccaacatggatata
+taagagtaggggactactctctttctatttttaatctattatcgttaaacaatagattaa
+atacgataagttaagcatcatctctcatagtgtttaaattaacatatttttcaatataaa
+aaataagactctggcttcaattgtgcgcggattttcttacaggtgtaggctaatagcctt
+cacaaaataattatccgcgcaattttcgtgaatggagcgcatagactaaggtcaaaatca
+caattattcatagataaaagtgacaccaatgactgactggacggttccggctgaaacctt
+gtttcctgtttgtccataggttgcgcttaaacccagaggtactttgcttttatttactgt
+ccccagggagacattttctcccgtagccagtatttttccattacgcattagagtgacacc
+cactcccgatgcttttgttgcatcaggtgctgtgttagcaaacacttgtcggctactgtc
+agtggtggcacccgaaagataaaatgagagcttttgttcgcttgagcaatatacgccaag
+gggtatttctgcgcttccaggaaagtccgggagatccacggtgacatttcgactatcaac
+ggtgcagccgcctgttggcataacaacattgttatttgaaataatattccacgtaaaatt
+acgcggatttccgcttcctaatgttgcaattttatacatatgaatacgggcaatgacttc
+ccccgcttttatgacaactccaccggccgccccaactggggtaatatagagttttaacgg
+taatggcatcggtgtcttatcaccaatatccaatacgttggtatttgtcgtcaacgggaa
+ggggtaggtcacattattccagtacagcgatcctttatatgactgtagggagcctgcgaa
+agctgagccttgtaccaggtttatatgatcagtgtcgtaccagccgccgtaatcattcca
+gcaacttatatgctgagacaagtctacaaccagattctggcccggctgtattacagggtc
+gagattaacataaacagaggttgtacctgctccaatacttgacccgccatcgacattaca
+actgaaggcaaaaactttgcctgccattaatagaagataaataccgaacaggacctttat
+actgattgttttacccatgatatatcctaaggttaaaaattgatttaaaaagaaggctaa
+gaaaatcgaatcgacgttattgccaggtgtagatcacattgattagcgcctcgatcgttc
+cctggcttgcgtttccattcaccgtgatagctcttgccttaagtggaaactgtgcattac
+gagtgatctcatcaacaataaccgttttgctatcgccattttttaacgcagcatcctggt
+catccctcagctctatctgaatattttcggcagtaccttcatttttgtaataacccgtat
+tgtcagttgaacctgtcacgattgccgtcactgcacttgtttcaaccggacaatcggtta
+atgacaaagtaatattgtgccagccagatgcagaaccaggttgttgcagattgcgcgtat
+aaagatccccgagattaacgttagcttctttggtttgaatagtgcagggtttagcgacta
+cccgaccattaacagtgatagtgacatcggcggcctggagagttgctgtgaataacgcgc
+aaaacgtagctaacaggaacctcttgtgaagtcttttcatatctgactctgattattgaa
+attcaagggtaaaggttgccgaagccctcaccagtcccggattgacggacttctgagttg
+acttcagacgagcggagtaaggcaaaatattgttctgttctggtaccagtgggatccact
+gcatcccggcatgaagatcattcagtttcaccggacgcatatttgcgtccaatatttcta
+tacccaaaccggaggccgtattgcttccttcatccagtttcaacaaagtattattttctg
+catcctcaataccgttaaatgcaacccgaacccccgttgtccctttgctgcattcactta
+acgtaatctgaaaagggacggctggacttgtgctaccggtcgttggaaattgtctggcac
+tgtttttttggagatctacggtaaaattaagcgaatccgatgagactgtgcagccataat
+cgaggacgcgcccgctaattttaataacgctatctgcggataaagcagaataggtggtta
+accccagacataaaccgaggaaaataatgttattgtatttcataatctattgttccttag
+cgacagattgctgtctgctggttcagtaaggtaccaggagaaacttcaggaagcttgtac
+tcgacaatacagtttgagtttttatctttgccccatgaaacctgtaattgccctgactgt
+ggaagtccagtcagataaacctgaccattttccgcgacaatgctgccatttttattctct
+ccgtgtgtgacaattgcaccgaatggaacgctcttattaccgtacttcaacgtcattaat
+actttcccgccgatttgtgcattaaatgttgctctggcaatagcaccgtgagttgggatg
+acagtgaccacggtttcatccagttcaacattatctgcaagggaattcgcgttaagagca
+acacggttttctctatattctgtcgcaaatggtaatatggcatagccacgccagtcggta
+tgaattccggtctggttctctattttgacattatcagcaccaggagccttaaccagaacc
+attgtgtcgcccagcggctgtccaaaggtgatgccatcagcatgagcaataatcccacca
+ctcattccgtaataaatctggctgctgtcaccactccgactgtaaccgacattagtatta
+ccataagctccacgataattaagagaactgtaaccactggtgccagacgatgtattacct
+ccgtgggtgttaccgacctgaacgctataattcaggttattatccggcagcagagtgcca
+taaacccccgatagattggtcatgccgcctttcaaatcgtttgacatactgtaactggcg
+tttgaattacgaaatgccgactgactgtctgtacgcatccaatgactgaagggaacatta
+agcgtaaaagcgagtaaatgatcccgatcgttttgccatatattattggaatagctgtaa
+ttcagcgaagtcgtaatatcaccaaacggcacatttaatccaaatgatatttgctggtcg
+ctgcgtgacgtgttccagtaactttggcgactggcactgaaaaatgtcgtaccgtaattt
+ccaagctgctgagagatgcttatttgttcctgaccacgcttactgtagaacagattaaaa
+taatcaataaattgtgtctgctcattggtgtctccggtaggaggcttgacggtgtaacca
+ctcattcgactgtaggcactgtcggataagttataaaaaccttgcgtagaatagcgatat
+cctgcgacctggatattggttccacaacaagtttattgctgcacttgttgaagagagtat
+ttgcaaaaacattttatgtcgctaaataacatgacgatttcattatgcatgttatttata
+aaccgtgactaaacagaatattattgcgaacaagggaagtgtcaggaaaggtcaagagct
+accaatggttaatatggctataaatcattagctatggttaatgtttgcttgctgaaacta
+acaccgaattgctctaaacagataagtgcagggtttattaaagctgtccgacagactttc
+ttaacctggtaatatctctcttgggtgactctccaaacatccgcgaatattcccgactga
+aatgggatagctttcgtaaccgacagcataggctgctgtggtgacatcgtaatgttcatt
+cagcatctgtcgcctgacttcattgagacgtagccatttctgataccggagtggactcat
+tcccgcttgatccgtccttaaataagtaacagcaccctctggtgttttcgtatgcagtgt
+ctatgcgacagacactgcgctcttagcatggggcagggaataaccaggctatttctccat
+gcacaggccaattatgaaagaggagaggcttaagttcttgaaccctgaacgaataacgac
+taccagaaaagcacttcgcatcactcagacatgatttaacataatatacattatgcgcac
+caatataaaccaaggaagaatccagtcgttggcggtcatgattgtcatgctcattaacaa
+tgaccaaaccccatatctcacttactaccgtattctcggcttaaccgtccatgcaacctc
+aacacattgctttcaactgccgtcaccacgttctccggaaaatctgtcggtaatgaagtc
+ttcacgttatccagtgctgctggaatcattctggcaaagtcactcaggatttcatgcatc
+tgcacttccgggaatctcagcacctttgctgtcgccaaaaaatgtcgcggataaatttta
+tcgattgccgtttttttgcctttggatgcgttaagccccattgccagtttgagatcgctg
+atgtgtattcccgtaccgccaaggaccggaaatgctgaaatgatgtcgtaaaatggcgtg
+agtcgataactgccgccagcctgaataaatacggagaagttttttgcatgaccgtccgtt
+gcgccaatcaaccactggaagacctggaatttcataaaatcatagcgatctttcagcgcc
+tcgctggaccccatcaaaaaagccatgatccgcgcgatgcctgggcctccatctgattca
+tatttcaccgatgaaggtaaaccgaatgtctgacacatatcctcctgtggcaagcgaagt
+aaaaccgttcgctcagcattccaacgcctgtcaaaacgttcgaccgctaacgcgcgcaca
+tttcccgctttaatgatttctgcgtccggaacattcaacccaagttctttcgccagcagc
+agacagtaatactcattatcaacgctttggctgagatcgagcgtcgcattgggctgcctg
+atttcgccaatcggtaatttaatgatgtgcgtcgtcggcgttattcctttcggaatgcac
+cagtcattgcctattctgagcagtgctgtcttctcctgtgcgccagcaaccgagatgcga
+aagtcattttcttctctaatcatgcctagcgggatatctgctttataagccgttaatact
+tcttcaagtctggcttcagtaagcttttcccatgccattatcggatgcgttacggtttcg
+tcttcgggtattaacgtcacggcaccaacgctgtctcgccctatttctgacaataaatca
+aacggttgtctggatttggcatgataacgtttaacgatccggtcacgtacaatcgggcta
+tcgggtaacaggttatcgaagaagttaaatacggcatcagaggtgatattccccctctgc
+aatggcagcgaaagtgacaacggtctggcataacggcttgctaaccactccggtgcatac
+ttaaaggtgtgcgcgccgttggctaacttcgttaactcgcctacccgctggttgttcatc
+caagtgacaagtttaggcattaccactccagattttgctgttctgttgattctggcgagg
+catttttcgcgtcgcatagcgtcattgagagttcaagcgactgtaaaatcttaaaaaatg
+tcgtgagcgtggtattgtcagggttgttttcgaaattggaaatcgtcgcctgcttaatac
+caatttttttcgccagctcgctctgcgtccagccattttgctggcgaaccagtttcattg
+cattcgccaattgcgttgggctatagatcttctgaaagctcatcatgtcatacgtccaca
+gcaagtttatccgcttaaggggatattataagttttatcctttagtgaggataagtcaat
+ctggaaacacatcttatccgctctacgggataaacgctgcgatatccgcgatcgcggata
+aaaaggaggatttaaataaggcgttgatgcgccgtttgaagtcggcaatattaagccgca
+tgccatctcgacatgcggcttatacggtttaccagctatatttcactcccagcatgccct
+gagtatcgctatagcctttatcacctagttgcacaccgacattcccccacaggctaaggt
+tgttatttactttcgcctcaaccccggtacgtacttcaccgagattacgcgcaccttcac
+ggcctacggtttgaccattcatcttcacggcgtagactttgctattgttgatccagttcg
+cttcaatgtaaggctggaactcacgctgtttaccatcgtcacgctggtgatggctgttca
+ggtaggttttcaccccaagtcgcgtttgcacatttccgtcgccttccgtttcaatgcgcg
+ttccgtctttccgggtatggtcggaatctttcacacccatccaggtgatttgcgcctgtg
+gctggacgtaccaggtattcagcgtcccttcgctgccgctaaatgttcccgcttcaaagg
+tatacccaccctcaacagaggccgtcacaccgcgagaatcatagtcgtcagcagaacggt
+tatcggaactgacgctgttatcaaaccagttatacagcgcccagctgtcaacataagcgc
+cggtcttattcgcatcgttctgataccaggtcgcgtacagcccagcgctgtaaccgctga
+tgcgcccatccgatttataacccacacgattactctgagtattactgtgctgattggcgt
+agcctgccatcacgccaagatgccagcgatcctgcgcgttgctactccactgcgccaaat
+cgccgcctagctgcaatacatagcggttagcctgagtatttagctgaccgtcaccggccc
+ttgaacgttcgtgccctccgacatgacgcatccacatactgcttgccgacccctgagaat
+gcagtgaatctgtatactgcggctcacccagacggtcgtgtaaacgatggctaaacagcg
+agttggctgcggcaatgttgctgatatagcttccggcctccgggcgataaactgatgggc
+cttccggatccacaacagggggattattgatgggatcgggtgtatccgctggcgttacgc
+cgtcccatttactggtcagataccagtttttctcgtcattccccttccctttagccagcg
+tgtagacgtaagccccagcttcgacagttccggtggtcagcgcgaagttacctgcagaat
+taccgccaacctcaatgagttcaataccgttgaccgtttgtgcaccgacgccgccaatgt
+tatcaacccgaacgcgagtgttcccttgggtatcgcctttcacgttcatcttatcggtgg
+gcgaattatcgccgcccagcgtcgcgttgaacgtcatcaggccattgtttccggtatagt
+tgccgttaacggtcagtacattccccggtttccccccttcgctattcatttgaaccgtgc
+cgccattctccaggttgccgccgatagtggttttagcgacacgcagtgccccccccaggc
+ataacgttcatatcacctgcagtggtgacatttcccgacatcacaccgctgttatggata
+ttaatgtgttgacttgccatattaatggcagagtcggaaccgaaagcaatttcccccccc
+acgatatccgtcgtaccctgatacgccgcggaatcgttgttaagagtcaggatcccggta
+cccagttttgtcacatcaccgctaccgctgatactgtgcgtcatcgcccagctacgctca
+gtggagatggtgagcaggccattattgataacggaagcatcacccaggtttttctgctcg
+ttgacgctgagcgcgctgcctgtatcaatgttgaattgccccacaaagcggctattatcg
+ccatccaactctacatctgtcctggcggttgcgctcacgatacccttcccgcttatgcta
+ttacgcagttcgccagtcacgttttttagcgttaacagaccgtcattggcaatatttcct
+ctgcctaacccctgagtattatcgaggctgacttccgcatttgggctaatgctggttaac
+gcattgtagcgtgcattaagcccctcgatagccagcgttccccctgtaacattcaggttt
+ccgccacctgtcagttcaccctgactgatcccacctttatttaccgtcagcgccccctct
+ttgaacaaaacagtcgaacccatctgcccggtgaatgtctctaccgtctgcgtcgatcca
+ttaagatcgacgatggccgcgttgctgatgttcagttcccgggtgttgccaagtgcacca
+tccgcatcggtacgtaatgtccccatctgaacgtaggttgccccctgatagtcgttctga
+ccgttggaaagcgaaacctgtcgcaccgtattgattgccagatccccttcaccaccgatt
+tttgccgacatatcggccgttgcgccataggctccgccatgttcggctaacgtcagcttt
+tgcccaccatggatgttcagcgctttcagcccatagttaacgtacaaaccattacctggt
+gcggtcgtgaggcggaatccataatcaccctcggcgaccaccgttccgttttgcgcaatg
+tgtaacgttttgtccgcttccacctcgtcgccctgtaaatcacgtaacgttaatgagcca
+cccgacccaataaccgtttgcgccttcaccagttgaacgccgacatggctatcgtcgtgt
+tccagcaaattgagcgtcgtcagagggttattcgccatgggatcattccacggtttaggc
+acgtcgataagcacgtcgcccgtcccgtttacctgatagttacggcctttccaggtgtag
+tcacccgcgccgacaaccagcgtatcgacgctgatatatccctccgcgagcgtcgcagca
+ggaatatccgtatcgaaaatgatggtacctccattcatggccagtccaccaatggattgc
+tctccaacttttaccgatgtggtattttcactgtcagactgcaacatcgcgtgagtaagc
+gcagcggtgttgtcgcgttccagagtgaaggtactgtctttcagttgggcaacaccggcg
+aattcagtccctgttgcatgggtaaagccaaacatcttgtcggaggatgacagctgcact
+cgcatcaagccatcgcctttgagcgcattggtcagcgtgtaatctcctgcactgttcgtt
+gatgcgagaatgtcgagcgtaccggggtttgcaatggttacttcactcgaccccatgccc
+gttaccccatctgccgtatgagacgcaatggtcaggaggccgtcattgaccagcgtttta
+ccgctataagtattccctgcattgaacaccgtatggcctgcatcatggatcacttttccg
+tctttatcgtcacctgtaatcagcatatcgacctggtagccggcatcactgttattggta
+tgattaaagacaaaaacgccttcgccaagaccaaactccactttcgtcgcattggtgata
+aatccggcatctgccgccgcctcaccgtgagcagcaccaatgtttagcgttcctacagca
+ggctcaaaaacacctaagtaaacttctccaccttcgacattcagcgtaccgttattcgtc
+agggttaacgtacccgtaccagatgtccctacgtacatattgaatgtttcaagaagagag
+ttctgcccatccaccctcacgtcgcccttacttttgtcattgagagctatctgtgtatca
+cgcgctttaactatacctccggtggtaatattcagttcacccgtgcctaatacaccgacc
+tgtagcaattgtgcgttagtagatgatgtctttaaattccagagactgtccgttgaaata
+ttaactatccccttaccggaggcatttcctccgataaatccatagcccgttgaattaagg
+gtggcaccattactgacatttacgataccgctaccaaaattaccgacattgatacccaca
+gtatcgaacgatgatgtcgcatccatcaggttcagtgtgccgataccgcttgctttatcg
+cccaaaaaagtaatattttgcgatacgaacttaccgccatcgctaatattgaggtttccg
+acgcccgcaacaccaatggtggtatagacattcttattgacctcccacattccccccgtg
+gtgatgctgacattcccgacgccggtttctccataaccgagtgaacttcctccgttgctg
+acaacaagcccctgattactgatattcatttcgccgtggccgtcataaccaagattagtt
+ccgagattagtgataacggagttcttatccttaacagtaatgttgcctgtgcctgtttct
+ttcatccccgcagtgataattcccgaatctactttgccttcactcgagacattaagttca
+ccgtcgccagcatcaccgatatagatatagcggaaagcttcgcccgttccgaggaaattc
+caatgccctttatcggtcacgttgacgacaccgtgggaaccgtcctgaacgcccaccaat
+gaatattctttgttattaatcagtccattattggaaatattgactgtgccattaccgaaa
+tatccattatagagtctgcgtaccgtgatgacagagtcttgatcctgcacattcagggtt
+ccgataccggtggcattgccaccgataatcgtattttcagccgtaaccaaccccccctcg
+cgaatagtcgcctccccagttccttgattaccaatttgaaattcaattgaggaatcatta
+ttttttattagccactcgccacccttttcaacgacaacctggccattactgcccgcctga
+tagcctaaaatggcgacgattgaactcgtgacgtaacccttatccgtaatatttaatgaa
+cctgtgccatagctacctatttcgaataattcggtcgtcagaacagagtcctctccctca
+acattgaccgtcccgacgcctcctgtcgaagaacctaatcttaaatagcctccatcgacg
+tgacccttctgtttaatattcagcgtccccgttccggattgacccacatttaaaggcctt
+gcattatttccgctatcatacaatcgccaggtgccacccaaaacattaacggtgccctct
+gagtcctcattagcgccaatgacgctggtagtaatagtggttaaggaggcattaccgcca
+gccaaaatattaagcactccagtgccataccagccaaccaggtaggcatcataagcaaca
+tcagtatcaatattggtaatctgatcattatcaacttccagacttgcaccagacgctgaa
+ccgcttagtgccagcaaaacacccagcgtcaatctactgaatttcgttgtcagtccagag
+gatttacgcaaattaaccgtcgatgttttacctgccctgcgagttaattccgagcaggcc
+tgaaatacctgtagagtgcaattccatatcacgcgatagattctattcatataaacgctc
+catatacaaacaatacagccacgaaagagatgagtcgtcagacattaaaaatgaaactta
+ttaaattgtcagaggtctgtattgagtgttagttggaggtgggaaggtgtcaatttggct
+aatttgctaatgctttcgaattgatagattaaaaattgcatagttcttattttatttaaa
+tatgaactatgagttattgttgcttaataagaaaactgtttctttcaataggaaaattat
+catcatcatatttaacaaagaatagcactaattgctaaaaatcgaagtttattaaacccc
+ttttgcatccattagtgtctttaggaatattcgctataaaataagggttgtgcttaatgc
+tttaagaaaaatagcaattttcccttgaatatcgtactggtgatggaacgatgaatctgc
+aagctggcttttaacaagccagctctaaaagaagggaaataagaataactatactcaaaa
+actaacagccacggtcatcatgatgtggctgtcaatgaaactataacccaggcgctttcc
+ataacgacgtcgtcagtccatgatcaaccagccccagctgatcctgataaactgcctgcc
+acttatcgcgtgaatcctgataaagttcatgcttttccgggtctggtgtgtgcgtccgtt
+cccagcgaaccaggcgttctccggtttctgccattgatgaaaaaattccggcaccgacgc
+cagctgcaatggcacatcctaatgcagtggcttctttgaccaccggaatattgacgggta
+atcccgagacatcagcgagaatttgactccataatttcccttttgaacctccgcctgcaa
+agactaacgatgaaggatgaatattcgagaaatcagcaatttgctgcaagttacacgctg
+atacaatcgccgcattttcttccagcgcacggaacaatgtcgctttgttacatttatccg
+ggtcaatggacaagttaataaaggaaggcgcagcgtgataccaggttttaaagcgcattc
+tgtcggagaagatcggcattacgccccacgacccaggcggcacccgactggccatctctt
+ccagcagcgtataggtgtcgatgcctaaacgttcggcaatcagtttttcttcggcacaga
+aagcatcgcggaaccagcgcatggtgagtccggtaaaaaagcttatagattcagcttgta
+ccatgccaggaataacatgaggattaacgcgcacgttcatttctgggtctgtcaccggcg
+cggctaaatttacaacttgctgccagaatgtgccgccaagaaccgcggtttgtgccggac
+gcacaacgcctaacccaaggcaaccaagctgcacgtcgcctcctccaacgaccaccggag
+tgcccgccttcagaccgcagagttccgccgcttgtgaacttaccacgcccagcaatgtgc
+cggtttctttgacaggagaaagaatatcggcacgtaggccagccatatccagcaatgcag
+gtttccagtcacgggtggttagatcaagaagtcccgtggtgccagcgttagagggatcca
+ccgccagttcgccgctgagcatataggccagccagtcgctgatcatggtgatggttgatg
+cctgacggtaaatatcggaacgatggtgcgccagccaaagtaatctggggatggcactta
+aagccagtgtttgtccggtcgcgcgataaacttcgttttcaaaggtattgttgtgcagtt
+ctttaagttcgctaacttcgcgtgccgctctggcatccacattggcgcaggcccagatcg
+gggctccttcattattatataaaacaatgccttcacgcatcgaacatgccgaaacggcag
+cgatatactccggggctatgccggcgttgtgcagcgcctggcgcatacactcacacgcca
+gttgccagtttttgttgagatcaaattccatagaaccaggaacgtccggtactgccagat
+gccgccactccgcctgtcccactgctatttgattgccttccaggtcgaatatcacagccc
+gaatacttccggtgcctgcatccagcgccatcaggtagtactttgattctgaaagggtaa
+agagtcgagccattagattatcctcggcttatgcgttctgtctgttcctctatacgttct
+ccatcattcccggtaataaggtcatgcaaatttaactacgtaaaatcgccgctgctgtgt
+cctgatcggtaaccagtgcgttgatataaccgcctttcattgcagcggcaattgcttcgg
+ctttattttctccccctgccacgccaacccggacgggtatggtcttcagcgcgcttaaag
+gtaagccaatcagttcgttatgtattttgatattcgtgacaacgtcaccttttgcatcaa
+aaaagtagcctaaaatgtcgccaaccgccccttttcggccaatcattaactgttcgccct
+ggctgatataaccggagcgaatgattgtcgcatcgtcctgttgactcacagcaccaatgc
+cgacaatcgccacatccgctgcttgcgcggctaacagaacatctttgacgcaattttcat
+tttttagcgtacgggcaatgtcagcggaggatgcccgcaacggagccggaataatattca
+cactgcacgccgcgttaagctgcccgattcccgtcatataagaaccgacgccaccggaga
+gcgtgaccaggcgaatttgctgtgacgaaataaaaccacttaagcgttgcagcgtattca
+tggttgcctcgccaaaaccaatcgccagcatctgttgtggttgaagtaaactcatcaaca
+tatgcgccgcgcctatccccagtcgcccaccgacatcagcatccgcaagcccagggatca
+cccggacatgttgcagcgaaaactgacgacgtaattgagtttcatattccagacagcctt
+caaagcgagaattaatctgtacgcgaataatgccggactgatgccctttctccagcaatc
+gcgacactttcaaacgtgtcaggccgagacgatcgctgatctcgctctgggtcagcccgt
+cgtgatagtaaaaccacgcgatccgcgcgacctgttcttcttcacacattccctgttctg
+aaattgccgaatcgttgattgtcataattcattcttcactttgaacatatttaaatcttt
+aatgcaattgttcagttcttgctcatttatatctgtgatggcaaccacagtttgactcta
+cgagcatgaacaaacgcaaccgtgaaaatcaaaatagcataaattgtgatctattcgtcg
+gaaatatgtgcaatgtccacctaaggttatgaacaaattaaaagcagaaatacatttgtt
+caaaactcacctgcaaaactgaacgggggaaatatgcaaacgagtgatacccgcgcgtta
+ccgctactttgcgcccgctcggtttataaacagtattcaggggtcaatgtcctgaaaggc
+atcgattttacgttgcatcagggggaggtccacgccctgctcggcggcaatggtgccggt
+aaatcgacgttaatgaagattattgccggtattacccctgctgatagcggtacgctggag
+attgagggcaacaactacgtcagattaacgccagttcatgctcatcagctgggtatttat
+ctcgttccccaggaaccgctgcttttcccaagcctgtcgataaaagaaaacatcctgttt
+gggctggcaaaaaaacagctctccatgcagaaaatgaagaacttgctggcggcgctgggc
+tgccagtttgatctgcatagtctggcaggatcgctggatgtcgccgatcgccaaatggtg
+gaaatcctccgcgggctgatgcgcgactcgcggattctgatcctcgatgaacctaccgcc
+tcgcttacccctgcggaaaccgaacgcttgtttagtcgcttgcaagagctgcttgctact
+ggcgtgggtattgtttttatctcgcataagctgccggaaattcgccagattgccgatcga
+attagcgtgatgcgcgacggaaccatcgccttaagcggcaaaaccagcgaactgtctacc
+gacgacattattcaggccatcaccccagcggtacgggaaaaatcgctctctgccagccaa
+aaattatggctggagttacctggtaaccgcccacaacatgccgccggaacgccggtgctg
+acactggaaaatctgaccggcgaaggtttcaggaatgtcagcctgacgctcaatgccgga
+gaaattctgggcctggctgggctggtgggggccggacgcacagaactggccgagacgctc
+tatggtctgcgtactttgcgtggcggacgcattatgctgaatggtaaagagatcaataaa
+ttatccactggagaacgtttactgcgcggtctggtttatctgccggaagatcgccagtca
+tccggactgaatctcgatgcttcgctggcctggaacgtctgcgcccttactcataacctt
+cgtggattctgggcgaaaaccgcgaaagataatgccaccctggaacgttatcgtcgggcg
+ctgaatattaaattcaaccaaccggaacaagctgcacggacattatccggtggcaaccag
+caaaaaatcctcattgccaaatgcttggaagcttcgccgcaagtattgattgtcgatgag
+ccgacgcgcggcgtggatgtctcggcccgtaatgatatctaccagctgttgcgcagcatc
+gccgcacaaaatgtggctgtgctgcttatctcctccgacctggaagagatcgaactgatg
+gcagatcgtgtgtatgtgatgcatcagggcgaaattacccactctgcactgaccgagcgc
+gatattaatgtcgagactattatgcgcgttgccttcggcgatagtcagcgtcaggaggcg
+tcatgctgaagtttattcagaacaaccgtgaaatcacggcactgctggcggtggtgctgc
+tgtttgtattacccggttttctcgaccgccagtatttaagtgtgcaaacgctgaccatgg
+tttatagcagcgcgcaaatcctgatcctgctggcaatgggcgcgacgctggtaatgctta
+cgcgcaatattgatgtttcagtgggttcgattaccggaatgtgcgcggtgctgttgggga
+tgttactgaacgcaggatattcactacctgttgcttgtgtcgcgactttactgcttggtt
+tgctcgcgggatttttcaacggtgtcctggtcgcgtggctaaagatccctgccattgttg
+ccacccttggcacgttagggttgtacagaggcatcatgttgctgtggactggcggcaaat
+ggattgaagggttacccgccgaactgaaacagctctccgccccgctgctgcttggcgttt
+cagcaattggttggttgacgataattctggtggcatttatggcctggctgctggcaaaga
+cggcgtttggacgcagtttttatgccacgggcgataatttacagggcgctcgtcaactgg
+gcgttcgtactgaagccattcgcattgtggcattttcgttgaacggctgcatggcggcac
+tggcgggaattgtgtttgcttcgcagattggttttatccccaaccagaccggtaccgggc
+tggagatgaaagcaattgcagcctgcgtgctgggcggcattagtttgctcggtggttccg
+gtgcgatcattggtgcggtactcggcgcatggttcctgacgcagatcgatagcgtactgg
+tgctgttgcgcattccggcatggtggaatgattttatcgcgggtctggttctgctggcgg
+tgctggtgtttgatggacgcctgcgttgtgcgctggaacgtaatctacggcggcaaaaat
+atgcccgctttatgacgccaccgccatccgttaaacccgcttcgtcaggtaaaaaacggg
+aggccgcataatgcgtattcgctacggttgggaactggctcttgccgcactgctcgttat
+tgagattgtcgcatttggtgcaattaacccgcgaatgttagatctcaatatgttgctgtt
+cagcaccagtgactttatctgcattggcattgtcgccctaccgctaacgatggtgattgt
+cagtggcgggatcgatatttcgtttggttcgaccatcggcctctgcgccattgcattggg
+cgtactgtttcaaagtggtgtgccgatgccgctggcgatactcctgaccttactgctcgg
+cgcattgtgcgggctgatcaacgccggattaattatctataccaaagttaacccgctggt
+gattacgcttggcacgctgtatctgtttgccggaagcgctctgctgctttccggtatggc
+cggagcgacggggtacgaaggtattggtggattcccgatggcgtttacagatttcgctaa
+cctggatgtgctgggactccccgttccgctgattatcttcctgatatgtctcctcgtttt
+ctggctctggctgcataaaacccatgccggacgtaatgtgtttttgattgggcaaagccc
+gcgcgtggcgctttatagcgcgattccagttaaccgtaccttatgtgcgctctatgccat
+gacggggctggcgtctgcggtcgccgctgtgctgctggtatcgtattttggttcagcacg
+ttccgatctcggtgcgtcgtttctgatgcccgccatcaccgccgtggtgcttggcggggc
+caatatttatggtggttccggttccattatcggcaccgccattgcggttttattagtggg
+atatttgcaacaaggtttgcaaatggcaggagtgccaaatcaggtgtccagcgccctttc
+cggtgcgctacttatcgtcgttgtcgtaggtcgttccgttagcctgcatcgccagcaaat
+taaagagtggctggcgcgtcgggccaataacccattgccataaaggatatcttcatgaca
+cttcatcgctttaagaaaatcgccttacttagcgctcttggcattgccgcaatctctatg
+aatgtgcaggccgcagagcgtattgcatttattcccaaactggttggcgtgggatttttt
+accagcggtggcaacggcgcacaacaagcgggtaaagagctgggcgttgatgtgacctac
+gacgggccgacagaacccagtgtttctggtcaggtacagttgattaataacttcgtcaat
+caaggttataacgccattatcgtttctgcggtttcgcctgatggcttgtgtccggcactg
+aaacgcgccatgcaacgtggtgtgagagtgctgacctgggactctgatactaaaccggag
+tgccgctcttactacattaatcagggaacgcccgcccagttaggaggtatgttggtggat
+atggcggcgcgtcaggtgaataaagacaaagccaaagtcgcgtttttctactcaagcccc
+accgttacggaccaaaaccagtgggtgaaagaagcgaaagcgaaaatcgccaaagagcat
+ccaggctgggaaattgtcactacgcagtttggctataacgatgccactaaatcgttacaa
+accgcagaaggaatattaaaagcgtatagcgatctcgacgccattatcgcccccgatgcc
+aacgccctgcccgctgccgcacaagccgcagaaaacttgaaaaatgacaaagtagcgatt
+gtcggattcagtacgccaaatgtgatgcgcccgtatgtagagcgcggcacggtgaaagaa
+tttggcctgtgggatgtggttcagcaaggcaaaatttcagtgtatgtcgcggatgcatta
+ttgaaaaaaggatcaatgaaaacgggcgacaagctggatatcaagggcgtaggtcaggtt
+gaagtctcgccaaacagcgttcagggctatgactacgaagcggatggtaatggcatcgta
+ctgttaccggagcgcgtgatattcaacaaagagaatatcggcaaatacgatttctgatgt
+gcattacttaaccggagtaagttatggcagatttagacgatattaaagatggtaaagatt
+ttcgtaccgatcaaccgcaaaaaaatatcccttttaccctgaaaggttgcggtgcgctgg
+attggggaatgcagtcacgcttatcgcggatatttaatccgaaaacgggtaaaaccgtga
+tgctggcttttgaccatggttattttcagggaccgactaccggacttgaacgcattgata
+taaatatcgccccgctgtttgaacatgccgatgtattaatgtgtacgcgcggcattttgc
+gcagcgtagttccccctgcgaccaataggccggtggtactgcgggcgtcaggtgcgaact
+ctattctggcggaattaagtaatgaagccgtggcgttatcgatggatgacgccgtgcgcc
+tgaacagttgcgcggtggcggcgcaggtttatatcggcagcgaatatgaacatcagtcga
+tcaaaaatattattcagctggttgatgccggaatgaaagtgggaatgccgaccatggccg
+tgactggcgtgggcaaagatatggtgcgcgatcagcgttatttctcgctcgcgactcgaa
+tcgccgctgaaatgggggcgcaaattatcaaaacctattatgtcgaaaaaggttttgaac
+ggattgttgccggatgtccggtacccattgttattgctggcggtaaaaaattaccggagc
+gcgaggcgctggaaatgtgctggcaggctatcgatcagggcgcttctggtgtggatatgg
+ggcgtaatattttccagtctgaccatccggtggcgatgatgaaagccgtacaggcggtgg
+ttcaccataacgaaacggctgatcgggcatatgaactctatctgagtgaaaaacagtaac
+tgcggatctaaggagaagaattatgcacgtcacactggttgaaattaacgttcatgaaga
+caaggttgacgagtttatcgaagtttttcgccagaaccacctgggctctgtacaggaaga
+aggcaatttgcgcttcgatgtcttacaggacccggaagtgaattcgcgcttttatatcta
+cgaagcctataaagatgaagacgcagtggcgttccataaaaccacgccccactacaaaac
+ctgtgtcgcgaaactggaatctttaatgaccgggccgcgtaaaaaacgtctgttcaatgg
+tttgatgccgtgaggcgaatttatcaattttatctacaattggggtaacgcgctgacggg
+agtaaaaaaatgtctgactggaacccctctttatatctacacttttccgctgaacgatcg
+cgtccggcggtggagctgcttgccagagtgccgctggaaaatgtcgaatatgttgccgat
+cttggctgtggcccaggtaacagcaccgcccttctacaacaacgttggcctgcggccagg
+ataacaggcatcgactcgtctccggcgatgattgctgaagcgcgcagtgctttgccagac
+tgccagttcgtggaagcagacatccgcaactggcaaccggtacaggcactcgatctgatt
+tttgctaatgcctcactgcaatggctgcccgaccactacgaattgtttcctcatctggtt
+tctttacttaatccgcagggcgtgctggcagtacagatgccagataactggctggagccg
+acccatgtgctcatgcgcgaagttgcctgggaacaaaactacccggatcgcgggcgtgag
+ccgttggctggcgttcatgcttactacgatattttgagcgaagccggatgtgaggtcgat
+atctggcgaaccacctactatcaccagatgccgtcacaccaggcgattatcgattgggtg
+actgccactggattacgtccgtggttacaggatctgaccgagagcgaacagcagcttttt
+cttaagcgctaccatcagatgctggaagagcagtatccactgcaagagaacggacagata
+ctgctggcatttccgcgtctgtttattgttgcccggcgtatggagtaaatatcacgtcag
+ctggtaatgacgatcgggaagaatttttgctggaatttcggcttcatcgttcatctgtaa
+caggtcaatttcaatagcgttgcagatggcatccagtggtaaatcattgttttcagtacc
+gaacggatcttccagttcttccgccagacaatccagcgaaataaaagtgtaggaaatcag
+cacagagataaaaggcgtcatgtaatgcaggtccacgaccagcgcgaacggcagcatgat
+acaaaacagataaacggtacgatgcaaaatcagggtgtaggcaaagggaattggcgtata
+ggcaatgcgctcgcatcctgccaggaccgctgaaatatcattaagccgatcgttgaggct
+aataaacaggatatctgaaagctgtccattgcggcgctgaaccgccaaccattctcccat
+tattaacaagatacggttagctggagagttcgaagccagtacacgctgaagatcttcagt
+cttgagataatgagccagcacttccgcctgtggctgtttgcgtaatgtcatgcgtaaaca
+gtgggcgaaagcgatttgcagccgggcaaactcccttacacttgccgaatccggcaatgt
+cgtttttacctcgcgcagtaacgaccgtgaggcaatcatcaactgcccccaaagttttcg
+cgcttcaacgtaacgggcgtacccggcattattacgaaaaccaagaaaaatggcgatggc
+gacaccgagaatgctgaacggtgcgagggtgaatttgatgcccagatgcgtgtaccaggg
+cagcatgaaaataacagcgatagaaaagagaaaattgagtagtaagcgcgaggatatctt
+ggataatactgagccgtgccagacaaaaatacggcgcagccagtgttgttgtggacgaac
+aatcatggttatcttcaggcgtggaaaagtcgccctattaaacgtgattacgatcacatt
+ctcaagacgctacttacaaattacctacaagcttacaacattagcaggcgctgcatgtgg
+cacctgttaatgataaaggcatataggatgttgtaactaatatggtgaaataagaaaccc
+ggtcgaaaccgggttcagaagtaacggtgttattagcacaacggacgtacagcttcgcgc
+atccctttttcgagaatcgcatccaggtcattagcaacctgctcgaccagaccaggcact
+tgcgtcaggtcctgctcccagtggtctttttctgccaaaacaatcgctaccagttcctgg
+gtgccgataacacggtcacgatgctggctccagagttgctgataacgttccagccagtgt
+gcatcgtcctgtaccggatatgtttcgccgttacgctcaccacgatagaacgcaatcaat
+gccgctaatgcgaaagtaaggcgcgccggaagtgtgccgtttgccttctgccctgccagc
+agctgtggcaggatgcgggtgcggaacttggtcataccgttgagcgcgatagacagcagc
+tgatgcttaatgtacgggttacggaaacgcccggtgactgcactggcgaaagattccagt
+tcatcacgaggcaaatccagtaccggaataatttcttcgtagatagctttttcaacgaat
+gcgcaaatttcagcatcgttcatcgcttcacctacggtatccagccctgcctggaacgcc
+accggcaccagcgcggtgtgcgcaccgttgaggattgccactttgcgttctttgtacggt
+ttaatatcgtcaacaatcagcacgttgagcggatatttgtccagacgcagttcagtcgct
+aaggatttcggtccctgaatcacaaacaggtaaaagtgttcagcggtgtcgagaaaacca
+tcgtgataacccagttcttcttccagtttagccacttcatcgcgcggataaccggtaacg
+atacggtccaccagcgtagaacagaagctgttagcctgatccagccattgaataaatgct
+tctggcagtgcccactcttgcgcatagcgcagcaccagttcacgcaacgcgtcgccattg
+tagtcaatcaactcacacggaatgatgatccaacctttatccagcgcaccgttgaaatgg
+ctaaagcgttcgaacagcagacgggtcagttttgccggatagcttaccgctggcgcgtca
+tcgaatttatcgcccgcatggtagctgatacccgcttcggtggtgttagagaaaacaaag
+cgcatttccgggttgtgcgccagtttcaggaattcatcgtattcactgtagacgctgatt
+tcacgattaaccgagcgaatcagacgcgcgtcgctgaccgcttcccccttctcattcagg
+ccacggataatggtggtgtacagaccatcctgcgtgctcagtgacggcgggaatgaagtt
+tcaatcggacgaacaacgaccacgccagaattcagatcggtgtgctcattcaggagatcg
+atttgccagtcaacaaaggcgcgcaggaagttaccttcaccaaactgaatgatacgttct
+ggatactgtgcaccgggaaaatcgcgacgatttagtgttttcacaatgggttcccttctg
+attagtcatacaacctgtttgaattggtacgacaggttagcaaactttaatacgccgaac
+ccctgttttgatcaactcctgatgattaatgagcagttttatgagaaaagtgtggcgcgg
+atcatggtttaatcgaggaaaaacgccttttcctggatcataaagtggtagaacacattg
+cattcaaatcgcgcgtaatgaataaagatgtcagacaacttcctcaccgtaacgcatagt
+gctggtacggttgcgcccatctttcttcgagcgatacagacacgtatcggcttcgaccat
+caatttattaaagtcatcggtcagcgttaggtacgatgcgcgaccactaccgacgccaat
+acttaccgtgagataaagcgttttttgttgccaggtgaatggttgcagttcaacgccttt
+acggattttttccgccattagcagaccatcgacaggattcaccgacggcactgcaacagc
+aaattcttcgccgcccattcgcgccaccagccccttatcaccgacaatcttctgaatatg
+ccgggcaaacacgcttaacactttatcgccacattcatgtccatagttatcgttaatgct
+tttgaaatagtcgatatcaagcagcatgacagtcagatgttgtgtctgtttcagcgatgg
+acttttcagcgcctcataaagaccggaccgtgagtaaacctgagtcagaaaatcaaagtc
+ggctcgcagcgcaacttgcttcattagcgaattgatcgctgccacgctaaaagaaaccat
+aattgggcatatcgccatcgtggcaataccgagacgtgcggagaacatttgcggaatgga
+gaacggcgaaccgaccgagatatcaatcaccgaatttgccaccagtacgatttccaccgc
+accggtgacaaaggtcaacagacatgttacctgcggcgtatagcgcactgcacaccagat
+taatgcaggcagcgggaacgccagactccccgctccgccaatgactaccgaggcaataac
+cgacacaataagcgcgatggcgggcatcatctgttctgctttaaagcgcggcagcactcc
+aggaatagccaacgtcagcatacaaggcacgatcaacacgcccgttgagaattgctcact
+gaaccagtccgcaagcaaaggccagaaatccagactatcaatactgaccgaaccaagata
+gcatgttcgctgacagcggcggcaaataaaggtaccctgggaatgctattttgtcgtttt
+ccgcaattctcatggctgattcatctgtacaaccagccagtgatagattaccgccacgat
+ataacgttgttgttcttcgcttaacgaaacaccctgcggaatgttatgccacttagccag
+acaaccgcgacagcaggtcgcggtggcgtgctgagcgataaacaccggatgcccgcgcat
+gggggtttgcttaccgtcattagccggtaatgccggagcaagacgtttagcgacaaaatc
+cgccgcatgttgttcgatgactggcgcgcctttctccaggcaatactgacgctctttcat
+gcccagacgaaagcgagagcgaaattttgaacgggataaacgcgcgaagagtggatcgag
+agactgcattaataaaccgaacgccctaactgtttcgtcaattgttcaagaacggcaata
+cccgcaagcgagttacctgcatcatccagttccggactccagacagcgatggccatttca
+tgcggaacaatcgccacaataccgccaccaacgccagatttcgccggtagccccacccgc
+caggcaaactcccccgcgttctggtacataccactggtcgccatcagcgcgttaatttgc
+cgcgcctgcattggcgtcaccactggttcatcaatatgaatagctttcccctgattagcc
+agaaagacaaacgtccgggccagctctacacagctcattttcagagcgcagtaatgaaag
+tagttttgcagaacggttgtcacgtcatgatggaaattgccaaacgacttcatcagccag
+gcgatagccgcatttcgcgcggaatgttcaaattcggaacgcgctaccaccgtatcgtag
+gaaatatcagacacaccgcttaagccgcgcacgacttccagcatacgttgccgtggtgcg
+cttaatcgcccttgcaacatatcgcagaccaccagcgcaccggcattaatgaacggatta
+cgcggtataccctgctccatttccagttgcactaaggaattgaacggtgatccagacgga
+tctttgccgacgcgttgccagatttcctcttcggagtaatgacgcatggcgacaacgaga
+ctcagcactttggaaatagactgaatggaaaaacgttcttgcgcgtctccggcctgaaaa
+agctgtccgtcaacggtacagatagcaatccccaatcgggaaccgtctactgtagccagc
+gccggaatataatccgcgactttaccctgaccaatgagcggccgcacttgccgcaagatg
+ttttctaaaattgcattatccatggcgactgccactttctactcctggaccgcaggtctg
+aaaagacctgcgagtatatcagagctgaatatgtcgcgtcagatccggtctttccacacc
+gtctggatattacagaattcgtgtaagccgaaatgggaaagctcacgaccaaagccactc
+tttttcacgccaccaaaggccactcgcgcgtcgctggcacaataaccattgataaacacc
+ccaccgcattccagacgtgccgccatctgtctggcctgtgtttcgtcagtggtaaaaatg
+gtcgctgaaaggccgaactcactatcattagccagttccagtgcatgttctgcatctttc
+gcaatggtgattgccgcaacggggccaaacatttcttcccgaaacgcggtcatttctggg
+gtaacattcgccagaaccgttggcggatagtagttacctgccccagccatcttttccccg
+cccagtaacaaacgcgcaccctgcgccagggttttctccacctgatgatgcagctcatca
+cgtaaatcaaaacgagccattggtccgagagcgttctcttcgtcacggggatcgcccatt
+ttcaaggctgccgcagctgccacaaaacgttcggtaaatgccgaagcaattccctcttcg
+ataataaagcgttttgccgctgcacatacctgtccggtattctgataacgtccggctacc
+gccgctttcaccgccagttccagatcggcatcgttaagcacaataaacggatccgaaccg
+cccagttccagtacgcattttttcagtgccgctccagcctgtgcgccaatagccgctccc
+gcacgaacacttccggtcaccgtgacagcagcaatgcgcgagtctttaatcatctgactg
+acaccgtcgttgtcggcattcagccagccatatacgccttgtgggatacccgcatcttta
+aacacctgggcaatgagctgtgcacagcccatcacattcggcgcatgtttaagtaagtag
+ccgttacctgcaagaatgatgggaacagcgccacgcatcacctgccataacggaaaattc
+cacggcataatcgccagaatcgtccccaacggtcgatactcaataaccgcctgctgattt
+tccaccagcgtaggttccgccttcagcattgccggaccatgttctgcataccagtcacac
+aaattcgccgatttcgccacttcagcgcgcgcctggttgattggtttgcccatttcgcgg
+gtgatcatttgcgccatttcttcgctacgagcgcgcagagccttaccgatatcacgcagt
+ttttcagcacgataatctatatttgtctcgcgccagtcgcgaaagcctgctgccgccagc
+tgaagtgcgttttcgatatcgtcagcgccagcccacggcagcacagaaagttgttcaccc
+gtggcaggatttatcgaaattgcatgagttgccggagtaatggtcatcggggtatctcct
+ttatgagtcatggtatgaagatacgcagatttactcttgctttaaaatgaataatattaa
+gccacttattcacgaatcgagaatgctatggatctgacccaactggagatgttcaacgcg
+gttgccgaagctggcagcataacccaggctgcagcaaaagtgcatcgcgtgccgtcgaat
+ctcactacccgtctgcgccagctggaaacagaactgggggttgatctgtttattcgcgag
+aatcagcgtttacgtctctctcctgccgggcataactttttacgctatagccaacaaatt
+ctcgcgttagtggatgaagcgcggagcgttgtcgctggcgatgagccgcaaggtttattt
+tctcttggttcgctggaaagcaccgctgcagtgcgcattccagccacgctggcggaattc
+aaccgtcgttatcccaaaattcagttttcactttccaccggcccttccggcactatgctg
+gatggtgtactggagggaaaactgaatgcggcgtttattgatggacccattaaccatact
+gccatcgacgggataccggtataccgcgaggaactgatgatcgtcacgccacaaggatat
+gcgccagtaacccgtgccagtcaggttaatggcagtaacatttatgccttccgcgccaat
+tgttcgtatcgtcgccacttcgagagctggtttcatgctgacggtgccgctccgggaact
+atccatgagatggagtcttatcacggaatgttggcctgtgtgatcgcaggagcaggcatt
+gcgcttattccgcgctctatgctggaaagtatgccggggcatcaccaggttgaagcgtgg
+ccgttagctgagcaatggcgttggttaacaacctggctggtctggcgtcgtggtgcgaaa
+acacgtccgctcgaggcatttattcaactgctggatgtgcctgactcggcaagacaggga
+tatcaatgagctatttttgatagttcttgcggttaatatgctctatatagtgatgttccg
+atgacttatgactatatggggcaaatatggttacgccagtaagcatcagcaattacatat
+ctcttcctgatgattttcccgtacgtaatattgcaccgcaggtaaaagaagttttaaagg
+attttattgatgcacttagtacaataatatgtaatgaagagtggcgcacgtctttaaaca
+tcaactcagccacaaaaaagatatttaataaccttgacaacttatcatatattcagagga
+cttcttttcggggtaacgacacgctatacaatgaaaaggttcagtttaaactcacttatc
+ccgccaggaatggaagacacaaagaaaatattgaatttcaggtagtaataaatttaagcc
+ctatttatttagataattttcgccatgatggagaaattaatattttttgcgctcccaacc
+caaagcctgtcactatggggcgcgtatttcagaccggcgtcgagcgtgtactctttctgt
+ttctgaatgattttattgaacaatttccaatgatcaaccctggtgttcccatcaaaagag
+cgcatacaccacatattgaacccctgccttcggatcaccataccgctgcagattacttac
+gccagtttgatttgcttgtcctgaattttatctctcgcggtaattttgtcatactccccc
+gattatggaataactctgaggttcacagatggttcgtcaataaagatcctaacttgatca
+ccgccattctcgacataacggacagcgaattaaaagaggatttgttgcaaagcctgatgg
+attcattaggttctaacaaacatgtactacccgaagtctgcatctgctttttatcccttt
+tagcagaacaagaatctcctcattttcagaacttgtttttatttttcgccaatatgttat
+tgcactatcaccaatttatgaatcccaatgaaagtgatttgaatgacgtgttgatgccag
+catcattaagtgatgataaaattatcaaacatatggcgcgcaggaccctcaaactgtttg
+taaaaaatgaaacaccgccaaaagttactcacgaagacctggtgaaaaacaggcctcgct
+cccctgtcagaccacctatacccgcaaccgccaaaacgccagacctccctgaacgtcatt
+aaaccgtgatgttaccgactctctgacgcgtgaaagaatcagcgtcagagaaacggaaaa
+cgcgatccagatcacaaatgcattgtattcacatcattaaccgttttaagatcatttcat
+cactttttcgcaactcacccgataatctgttatgacaacaaacactgtttcccgcaaagt
+ggcgtggctacgggtcgttacgctggcagtcgccgccttcatcttcaacaccaccgaatt
+tgtccctgttggcctgctctctgacattgcgcaaagttttcacatgcaaaccgctcaggt
+cggcatcatgttgaccatttacgcatgggtagtagcgctaatgtcattgccttttatgtt
+aatgaccagtcaggttgaacggcgcaaattactgatctgcctgtttgtggtgtttattgc
+cagccacgtactgtcgtttttgtcgtggagctttaccgttctggtgatcagtcgcattgg
+tgtggcttttgcacatgcgattttctggtcgattacggcgtctctggcgatccgtatggc
+tccggccgggaagcgagcacaggcattgagtttaattgccaccggtacagcactggcgat
+ggtcttaggtttacctctcgggcgcattgtgggccagtatttcggttggcgaatgacctt
+cttcgcgattggtattggggcgcttatcacccttttgtgcctgattaagttacttccctt
+actgcccagtgagcattccggttcactgaaaagcctcccgctattgttccgccgcccggc
+attgatgagcatttatttgttaactgtggtggttgtcaccgcccattacacggcatacag
+ctatatcgagccttttgtacaaaacattgcgggattcagcgccaactttgccacggcatt
+actgttattactcggtggtgcgggcattattggcagcgtgattttcggtaaactgggtaa
+tcagtatgcgtctgcgttggtgagtacggcgattgcgctgttgctggtgtgcctggcatt
+gctgttacctgcggcgaacagtgaaatacacctcggggtgctgagtattttctgggggat
+cgcgatgatgatcatcgggcttggtatgcaggttaaagtgctggcgctggcaccagatgc
+taccgacgtcgcgatggcgctattctccggcatatttaatattggaatcggggcgggtgc
+gttggtaggtaatcaggtgagtttgcactggtcaatgtcgatgattggttatgtgggcgc
+ggtgcctgcttttgccgcgttaatttggtcaatcattatatttcgccgctggccagtgac
+actcgaagaacagacgcaatagttgaaaggcccattcgggccttttttaatggtacgttt
+taatgatttccaggatgccgttaataataaactgcacacccatacataccagcaggaatc
+ccatcagacgggagatcgcttcaatgccacccttgcccaccagccgcataattgcgccgg
+agctgcgtaggcttccccacaaaataaccgccaccaggaaaaagatcagcggcggcgcaa
+ccatcagtacccaatcagcgaaggttgaactctgacgcactgtggacgccgagctaataa
+tcatcgctatggttcccggaccggcagtacttggcattgccagcggcacaaaggcaatat
+tggcactgggttcatcttccagctcttccgacttgcttttcgcctccggtgaatcaatcg
+ctttctgttgcggaaagagcatccgaaaaccgataaacgcgacgattaagccgcctgcaa
+ttcgcagaccgggaatcgaaatgccaaatgtatccatcaccagttgcccggcgtaatacg
+ccaccatcatgatggcaaatacgtacaccgaggccatcaacgactgacgattacgttcgg
+cactgttcatgttgcctgccaggccaagaaataacgcgacagttgttaatgggttagcta
+acggcagcaacaccaccagccccaggccaattgctttaaacaaatctaacattggtggtt
+gttatcctgtgtatctgggttatcagcgaaaagtataaggggtaaacaaggataaagtgt
+cactctttagctagccttgcatcgcattgaacaaaacttgaaccgatttagcaaaacgtg
+gcatcggtcaattcattcatttgacttatacttgcctgggcaatattatcccctgcaact
+aattacttgccagggcaactaatgtgaaaagtaccagcgatctgttcaatgaaattattc
+cattgggtcgcttaatccatatggttaatcagaagaaagatcgcctgcttaacgagtatc
+tgtctccgctggatattaccgcggcacagtttaaggtgctctgctctatccgctgcgcgg
+cgtgtattactccggttgaactgaaaaaggtattgtcggtcgacctgggagcactgaccc
+gtatgctggatcgcctggtctgtaaaggctgggtggaaaggttgccgaacccgaatgaca
+agcgcggcgtactggtaaaacttaccaccggcggcgcggcaatatgtgaacaatgccatc
+aattagttggccaggacctgcaccaagaattaacaaaaaacctgacggcggacgaagtgg
+caacacttgagtatttgcttaagaaagtcctgccgtaaacaaaaaagaggtatgacgatg
+tccagacgcaatactgacgctattaccattcatagcattttggactggatcgaggacaac
+ctggaatcgccactgtcactggagaaagtgtcagagcgttcgggttactccaaatggcac
+ctgcaacggatgtttaaaaaagaaaccggtcattcattaggccaatacatccgcagccgt
+aagatgacggaaatcgcgcaaaagctgaaggaaagtaacgagccgatactctatctggca
+gaacgatatggcttcgagtcgcaacaaactctgacccgaaccttcaaaaattactttgat
+gttccgccgcataaataccggatgaccaatatgcagggcgaatcgcgctttttacatcca
+ttaaatcattacaacagctagttgaaaacgtgacaacgtcactgaggcaatcatgaaacc
+actttcatccgcaatagcagctgcgcttattctcttttccgcgcagggcgttgcggaaca
+aaccacgcagccagttgttacttcttgtgccaatgtcgtggttgttcccccatcgcagga
+acacccaccgtttgatttaaatcacatgggtactggcagtgataagtcggatgcgctcgg
+cgtgccctattataatcaacacgctatgtagtttgttctggccccgacatctcggggctt
+attaacttcccacctttaccgctttacgccaccgcaagccaaatacattgatatacagcc
+cggtcataatgagcaccgcacctaaaaattgcagacccgttaagcgttcatccaacaata
+gtgccgcacttgccagtcctactacgggcaccagtaacgataacggtgcaacccgccagg
+tttcatagcgtcccagtaacgtcccccagatcccataaccaacaattgtcgccacaaacg
+ccagatacatcagagacaagatggtggtcatatcgatagtaaccagactgtgaatcatgg
+ttgcggaaccatcgagaatcagcgaggcaacaaagaagggaatgattgggattaaagcgc
+tccagattaccagcgacatcaccgccggacgcgttgagtgcgacatgatctttttattga
+agatgttgccacacgcccaactaaatgctgccgccagggtcaacataaagccgagcatcg
+ccacatgctgaccgttcagactatcttcgattaacaccagtacgccaaaaatcgctaagg
+cgatccccgccaattgtttgccatgcagtcgctccccgaaagtaaacgcgccaagcatga
+tagtaaaaaacgcctgtgcctgtaacaccagcgaagccagtccagcaggcataccgaagt
+taatggcacaaaaaagaaaagcaaactgcgcaaaactgatggttaatccataccccagca
+gcaaattcagtggtactttcggtcgtgcgacaaaaaagatagccggaaaagcgaccagca
+taaagcgcaaaccggccagcatcagcggtggcatgttatgaagccccactttgatgacca
+caaaatttagcccccatacgaccactaccagtagcgccaacaccccatcttttcgcgaca
+ttctaccgcctctgaatttcatcttttgtaagcaatcaacttagctgaatttacttttct
+ttaacagttgattcgttagtcgccggttacgacggcattaatgcgcaaataagtcgctat
+acttcggatttttgccatgctatttctttacatctctaaaacaaaacataacgaaacgca
+ctgccggacagacaaatgaacttatccctacgacgctctaccagcgcccttcttgcctcg
+tcgttgttattaaccatcggacgcggcgctacgctgccatttatgaccatttacttgagt
+cgccagtacagcctgagtgtcgatctaatcggttatgcgatgacaattgcgctcactatt
+ggcgtcgtttttagcctcggttttggtatcctggcggataagttcgacaagaaacgctat
+atgttactggcaattaccgccttcgccagcggttttattgccattactttagtgaataac
+gtgacgctggttgtgctcttttttgccctcattaactgcgcctattctgtttttgctacc
+gtgctgaaagcctggtttgccgacaatctttcgtccaccagcaaaacgaaaatcttctca
+atcaactacaccatgctaaacattggctggaccatcggtccgccgctcggcacgctgttg
+gtaatgcagagcatcaatctgcccttctggctggcagctatctgttccgcgtttcccatg
+cttttcattcaaatttgggtaaagcgcagcgagaaaatcatcgccacggaaacaggcagt
+gtctggtcgccgaaagttttattacaagataaagcactgttgtggtttacctgctctggt
+tttctggcttcttttgtaagcggcgcatttgcttcatgcatttcacaatatgtgatggtg
+attgctgatggggattttgccgaaaaggtggtcgcggttgttcttccggtgaatgctgcc
+atggtggttacgttgcaatattccgtgggccgccgacttaacccggctaacatccgcgcg
+ctgatgacagcaggcaccctctgtttcgtcatcggtctggtcggttttattttttccggc
+aacagcctgctattgtggggtatgtcagctgcggtatttactgtcggtgaaatcatttat
+gcgccgggcgagtatatgttgattgaccatattgcgccgccagaaatgaaagccagctat
+ttttccgcccagtctttaggctggcttggtgccgcgattaacccattagtgagtggcgta
+gtgctaaccagcctgccgccttcctcgctgtttgtcatcttagcgttggtgatcattgct
+gcgtgggtgctgatgttaaaagggattcgagcaagaccgtgggggcagcccgcgctttgt
+tgatttaagtcgaacacaataaagatttaattcagccttcgtttaggttacctctgctaa
+tatctttctcattgagatgaaaattaaggtaagcgaggaaacacaccacaccataaacgg
+aggcaaataatgctgggtaatatgaatgtttttatggccgtactgggaataattttattt
+tctggttttctggccgcgtatttcagccacaaatgggatgactaatgaacggagataatc
+cctcacctaaccggccccttgttacagttgtgtacaaggggcctgatttttatgacggcg
+aaaaaaaaccgccagtaaaccggcggtgaatgcttgcatggatagatttgtgttttgctt
+ttacgctaacaggcattttcctgcactgataacgaatcgttgacacagtagcatcagttt
+tctcaatgaatgttaaacggagcttaaactcggttaatcacattttgttcgtcaataaac
+atgcagcgatttcttccggtttgcttaccctcatacattgcccggtccgctcttccaatg
+accacatccagaggctcttcaggaaatgcgcgactcacacctgctgtcacggtaatgttg
+atatgcccttcagaatgtgtgatggcatggttatcgactaactggcaaattctgacacct
+gcacgacatgcttcttcatcattagccgctttgacaataatgataaattcttcgcccccg
+tagcgataaaccgtttcgtaatcacgcgtccaactggctaagtaagttgccagggtgcgt
+aatactacatcgccgattaaatgcccgtaggtatcattaaccaatttaaatcggtcaata
+tccaacaacattaaataaagattcagaggctcagcgttgcgtaactgatgatcaaaggat
+tcatcaagaacccgacgacccggcaatcccgtcaaaacatccatattgctacggatcgtc
+agcaaataaattttgtaatcggttaatgccgcagtaaaagaaagcaacccctcctgaaag
+gcgtcgaaatgcgcgtcctgccagtgattttcaacaatagccagcattaattcccgacca
+cagttatgcatatgttgatgggcagaatccattagccgaacgtaaggtaattcatcgtta
+tcgagtggccccagatgatcaatccaccgaccaaactggcacagtccataagaatggtta
+tccgttatttctggcttactggcatctctcgcgaccacgctgtgaaacatactcaccagc
+cactggtagtgggcatcgatagccttattgagatttaacaagatggcatcaatttccgtt
+gtcttcttgatcattgccactcctttttcacagttccttgtgcgcgctattctaacgaga
+gaaaagcaaaattacgtcaatattttcatagaaatccgaagttatgagtcatctctgaga
+taacattgtgatttaaaacaaaatcagcggataaaaaagtgtttaattctgtaaattacc
+tctgcattatcgtaaataaaaggatgacaaatagcataacccaataccctaatggcccag
+tagttcaggccatcaggctaatttatttttatttctgcaaatgagtgacccgaacgacgg
+ccggcgcgcttttcttatccagactgccactaatgttgatcatctggtccggctgaactt
+ctcgtccatcaaagacggccgcaggaataacgacattaatttcaccgctcttatcgcgaa
+aaacgtaacggtcctctcctttgtgagaaatcaaattaccgcgtagtgaaaccgaagcgc
+catcgtgcatggtttttgcgaaatcaacggtcattttttttgcatcatcggttccgcgat
+agccatcttctattgcatgaggcggcggtggcgctgcatcctgttttaaaccgccctggt
+catctgccaacgcataaggcatgacaagaaaacttgctaatacaatggcctgaaatttca
+tactaactccttaattgcgtttggtttgacttattaagtctggttgctatttttataatt
+gccaaataagaatattgccaattgttataaggcatttaaaatcagccaactagctgtcaa
+atatacagagaatttaactcactaaagttaagaagattgaaaagtcttaaacatattttc
+agaataatcggatttatatgtttgaaaattattatattggacgagcatacagaaaaagca
+aatcacctttacatataaaagcgtggacaaaaaacagtgaacattaatagagataaaatt
+gtacaacttgtagataccgatactattgaaaacctgacatccgcgttgagtcaaagactt
+atcgcggatcaattacgcttaactaccgccgaatcatgcaccggcggtaagttggctagc
+gccctgtgtgcagctgaagatacacccaaattttacggtgcaggctttgttactttcacc
+gatcaggcaaagatgaaaatcctcagcgtaagccagcaatctcttgaacgatattctgcg
+gtgagtgagaaagtggcagcagaaatggcaaccggtgccatagagcgtgcggatgctgat
+gtcagtattgccattaccggctacggcggaccggagggcggtgaagatggtacgccagcg
+ggtaccgtctggtttgcgtggcatattaaaggccagaactacactgcggttatgcatttt
+gctggcgactgcgaaacggtattagctttagcggtgaggtttgccctcgcccagctgctg
+caattactgctataaccaggctggcctggcgatatctcaggccagccattggtggtgttt
+atatgttcaagccacgatgttgcagcatcggcataatcttaggtgccttaccgcgccatt
+gtcgatacaggcgttccagatcttcgctgttacctctggaaaggatcgcctcgcgaaaac
+gcagcccattttcacgcgttaatccgccctgctcaacaaaccactgataaccatcatcgg
+ccaacatttgcgtccacagataagcgtaataacctgcagcatatccgccaccaaaaatat
+gggcgaaataactgctgcgatagcgtggcggtatagcaggaagatccatattttccgcca
+ccagcgcccgcaattcaaaatcatcgacatcctgcattgcttcgttttcttccaggcaat
+gccagcgcatatcgagaagtgcggcgctaagcagttcgctcatctcataccctttgttga
+acaggctggcattacgcattttctgttgcagttcgtcaggcattgctgccccgctctgat
+aatgccgggcgtagcgagcgaatacctgcggatgcgttgcccagtgttcgttgatttgcg
+acggaaattcgacaaaatcacgcggcgtgttggtgccggaaagcgtggcataacgctggc
+gggcaaaaaggccgtgcagcgtatgaccaaattcatggaataaggttatgacatcatccc
+agagtaacaacgcaggctcaccggcagcgggtttctgataattgcagacgttataaatta
+ccggatgtgttttattaagcgttgattgctcaacaaaattgcccatccatgcaccgccgc
+tttttgaatcacgggcgaagaaatcaccgtaaaataacgccagccccacgccattatgat
+caaaaatttcccacacacgaacgtcaggatggtagacaggaatatcaaaacgttcgacaa
+acttaataccgaagagctgattcgcggtccagaatacaccttcatttaacaccgtgttta
+attcaaaatatggcttgagctgcgcctcatcaagatcaaatttctcccgccgtacctgtt
+ccgcataaaatgcccagtcccacggctgcgcgctaaacccgccctgctgcttatcgataa
+ccgcctgtatggaggctaattcatcgctcgcacgttgacgcgccgctggaacaatttccc
+gcataaagttaagtgctgcttcaggtgtttttgccatctgatcggcgattttccatgcgg
+cataatgaggaaaaccaagtagtgttgcctgttgtgcacggatctccaccagacgttgaa
+tgatagcgcgggtatcattggcatcatttttttccgctcgcgtccagcccgcaataaaca
+gtttttcacgcgtcgcacgatcgcgcatttcggcaagcgccggttgttgggtggtattca
+gcagcggaatcagccatttgttatccagacctttctcgcgagccgcctctgccgccagcg
+caatctcttgctcactcattcctgccagctgcgcgatatcgttcacaaccagaccgccgg
+atttatttgctgccagtaatcgctggttaaactggctggtcagggtcgcagcttctgtat
+tcagtacttttaattttgctttatcagcttgcgcaagtttggctccggcaaggacaaaac
+gttgatgaatcacctccaccaggcggatggattcactatcaagccccagggattcacggc
+gctgccagacagcatctacccgcgcgaataattcaccgttcagatagatatcattagcca
+gttccgccagttcagcggaaaactgctcgtcaagacgctgtaattcatcattggtatgcg
+ccgcagtcatcgcaaaaaagacgctggtaacgcgggtaagtaattctccgctttgttcca
+gtgccagaatagtattgttgaaatcaggcatttgcgggttaagcgcgatggcagcaattt
+ctgcccgcttttgctgcattccctcatcgaatgccgggcgatagtgatgattggcaattt
+gatcaaaatggggagccagatacggcagtgtgctttgcacaaggaaaggattcattgttg
+tcattttcttctcctgaacgcgaggtgttccatagcgtaggcttactgataacggagtgc
+aatcttgcaatccagtattacccgctcttaagcatcccgtgctatgttattgacacacaa
+aagcgttgaggaacagtgagatgatcgttttagtaactggagcaacggcaggttttggtg
+aatgcattactcgtcgttttattcaacaagggcataaagttatcgccactggccgtcgcc
+aggaacggttgcaggagttaaaagacgaactgggagataatctgtatatcgcccaactgg
+acgttcgcaaccgcgccgctattgaagagatgctggcatcgcttcctgccgagtggtgca
+atattgatatcctggtaaataatgccggcctggcgttgggcatggagcctgcgcataaag
+ccagcgttgaagactgggaaacgatgattgataccaacaacaaaggcctggtatatatga
+cgcgcgccgtcttaccgggtatggttgaacgtaatcatggtcatattattaacattggct
+caacggcaggtagctggccgtatgccggtggtaacgtttacggtgcgacgaaagcgtttg
+ttcgtcagtttagcctgaatctgcgtacggatctgcatggtacggcggtgcgcgtcaccg
+acatcgaaccgggtctggtgggtggtaccgagttttccaatgtccgctttaaaggcgatg
+acggtaaagcagaaaaaacctatcaaaataccgttgcattgacgccagaagatgtcagcg
+aagccgtctggtgggtgtcaacgctgcctgctcacgtcaatatcaataccctggaaatga
+tgccggttacccaaagctatgccggactgaatgtccaccgtcagtaatttttatacccgg
+cgtaactgccgggttattgcttgtcacaaaaaagtggtagactcatgcagttaactcact
+cacaagcaagaacgaatgaccgtcgaaacgcaacttaatcccacacagcctgtcaatcag
+cagatttatcgtattcttcgtcgcgacattgtccattgcctgattgctccaggcacaccg
+ttgtcggaaaaagaagtttctgttcgtttcaatgtgtcacgccagccggttcgtgaagcc
+tttattaaactggcggaaaacggcctgattcaaattcgtccgcaacgtggcagctacgtc
+aacaaaatttccatggcccaggtgcgcaacggcagttttatccgtcaggccattgagtgc
+gcggtggcgcgtcgggcggcgagcatgattaccgaaagccagtgctatcaactggaacaa
+aatcttcaccagcaacgcattgccattgagcgcaagcaactggatgatttttttgaactt
+gatgacaacttccatcaactcctgacgcagattgccgactgtcaactggcgtgggatacc
+attgagaacctgaaagcgaccgttgatcgcgtgcgctatatgagtttcgaccacgtttct
+ccaccagaaatgctgttacgccagcatcttgatattttctctgccctgcaaaaacgtgat
+ggcgatgcggtagaacgtgcaatgacgcaacatttgcaggaaatcagcgaatccgtgcgc
+cagatccgccaggaaaacagcgactggtttagcgaagagtaattcatttcctctcatccc
+atccggggtgagagtcttttcccccgccttatggctcatgcatgcatcaaaaaagatgtg
+agcttgatcaaaaacaaaaaatatttcactcgacaggagtatttatattgcgcccgttac
+gtgggcttcgactgtaaatcagaaaggagaaaacacctatgacgacctacgatcgtaacc
+gtaacgcaatcaccactggcagccgtgttatggttagcggcaccggtcacactggcaaga
+tcctgtcgattgatactgaaggtctgaccgctgagcaaatccgccgcggaaaaaccgtag
+ttgttgaaggttgtgaagagaaactggcaccactggacctgattcgtctcggcatgaact
+aagcgtgtgaatgccgccgatggcggcattgcttttttacttcacggaatattttgccac
+ggtcgctttcgcgccatgcgctaataaagacaagtacgtttccgtcactcttgcagtaaa
+caaactattgtctggcaaatcatcaccaaagatcgccttaatcgccagcaatgactggac
+gcgcgctttcccttcggcactactttgtacagccttctgaataacaggtaacagtgggtc
+actgatttctatcggatttccctgttcatcaacaccaccgacataacgcatccaacccgc
+gacgcccagcgccagcagatcgaacttgctgtcatgcgccagatgccagcgaacagaatc
+caacatccgctgtggcaatttctggctaccatccatcgcaatctgccaggttcgatgacg
+taacgccgggttgctatagcgtgcaattaatcggttagcgtaatcttgcaaatcaacgcc
+ctgcactttcaacgtcggcgcttgttcctgcaacatcaagccatacgccgcataacgata
+atgttcatcttccatacagtcattaatgtgctgatatcctgcaagataccccagatacgc
+caggaatgaatgactgccgttgagcatgcgcaacttcatctcttcataaggcagcacatc
+gctaaccagttcggctcccgctttttcccattccggacgtccggcaacaaagttatcttc
+tattacccactggcggaaaggttcacaggcaacgcccgcaggatcgcgcacaccggtaag
+ttgttcgattttcgccagcgtatcctctgtcactgcgggcacaatacggtccaccattgt
+tgatgggaaagtcacgttatcttcgatccattgtgccagttttacatcaacggcttgtgc
+gtaggaagtgacaacgtcacgcataacatgaccgttttctggcatgttgtcacatgacat
+gacggtaaatgcgggaagtcctgccgctttacggcgagccagcgcctcaacaatcacccc
+tgttgctgttttcggctggtggggattttgcacgtcggcagctaccatcgggtgatcgag
+cattaactgtccggtcgccggagagtggaaataccctttttcggtgattgtcagagagac
+aatcgcgatttgcggttcacacatcgctgccaacacggtttctaagccatctatctgtac
+gtgcaaggcttttttaacgacgccaacgacgcgagccgtccacacatcggccgacatttc
+cgcaacggtataaagattatcttgctgttgtaaatcggcaatttgctgttcgccgccgat
+taagttgacctcataatatccccagtcactgaaatgttccgtagcaagaatatcggcata
+cacaccctgatgcgcacggtgaaatgcaccaaagcctaaatgaacaattcttggagccag
+gttattaagatcataaacagggagtgtcgcttttgctgataacaaattatttcccataac
+aattccttaaatataaatatggcaagctatatgttttgttatatgaataaaaatcccctc
+tccggtaagagaagggattaagggtttacagacttctggaaggttgcgcagctcttacaa
+cacgcggttgatcttccgcagcgtcttccagcgcacttaaatcacggtctttcacctctg
+gcattttcagcgcagagattaaaccaatcactgaatatgccatgatcataatggcgatcg
+gataccaggattccgtcatggtgcagaaaatacccgccaggataggaccaaaaccggaag
+cgataagaccaccaatttctttagaaatagccatccgggtaaagcggtttttacagccga
+acatttctgccatggtaatgttttccagagcaaataatcccagcaccgcacagttatgaa
+tcacaatcagtgcaaccataatggtgctcggggcatagcttttatctacaatgatagaaa
+gcattggccatgccagcacaatcgcggaggtattcataataatatacgggatccggcgac
+caattttatcggataaccaaccaaggaacggaatggtcataaagccgagaatcgaactga
+tcatcaatgcatctgttggaattgctttgttaaacaataacgtctgcactaaatagcctg
+caaggaaagtctgaattaacccggagttacccgcctgaccaaaacgcagccctgttgcca
+gccagaaggatttgctctggaacatgctaccagcaggtgcaggttttgctgtcggttggt
+tactgtcgttaaccttctcaaagaccgggctttctttcagattcatacgcaaccagatag
+caaagaccatcacgacaacactcgccaggaacggtatacgccatccccacgccagcagtt
+cctctttactgagaatgaagaacataaaggcccagattgccgttgcgctcaaggttccgc
+agttagttcccatagccacaaatgaggagataattccgcgcttaccttttggcgcatatt
+ccgccagcatcgtaccggcaccggaaatttccgcacctgcacccaacccctgaataatac
+gcaacgtcaccagcaagatgggtgcaaaaacaccaatctgtgcataggtcggtaacacac
+caattaaggtggtacagatccccatcatggtgatggtaataaagagcacttttttacgcc
+ctattctgtcgcccattttgccgaaaataaatgctccgacaatacgcgccacataacctg
+caccgtaggttcccattgccagaattaacgccattgccgttgatgattcaggaaaaaata
+tttcatgaaacactaacgctgcgccgagcgaatataactggaaatccataattcacaggt
+gttttttcccatcctgtggtttccttggcgttttctaggttttttcagatagttgcattt
+ttttaaaaagcatcctaagttcgatctcagtgtctatctggggcctatttctgtcccata
+tatgccccaaaaaaactccccaacagataagtagttttttcatggatttatgcgtaaaat
+caagaacggctggaaatcattcaatactcacactatcgaaaaatttaccagccaatcgca
+gcacgttcttgcataaggtgtgtctgcggtttttcaactattcagatacatcactcccat
+cacattcattcctccgcatcaaaggcatataggctatatcaccttgatatttttcttttt
+cagataaaaactgttatctatgtatacttttaaacccaatccgtgtagagtctctacata
+agatagtttgcagttgccgcttcagcttgcgccataaaccgcctgatttttgctgccacc
+tgttagcattcctgtatacctgaaacgacaatgtttatctacgaactttaagaacaccca
+agataaaaattgtcaactatatcatatataacacattactaattcgaggctatatgaaca
+gcatactgataatcacatctctccttatcatattcagcatttttagtcatgccctaataa
+aattagggattggcatatccaataacccagacaaaaccgatgtataagtcaacatatcct
+gaatcagacatacaatatcgcaatgaaaatcaataatattttaaggaatatcttcatgaa
+atcaaaagacaccctaaagtggttccctgcgcagcttcctgaagtaagaattatcctagg
+ggatgctgtagtggaagtagcaaaacagggaagacctatcaataccagaacattgcttga
+ttacattgaaggaaacataaagaaaaaatcatggctggataacaaagaattattacaaac
+agcgatatcagttcttaaagacaaccaaaatttaaatggtaaaatgtaatataataaact
+tacttttttatcatttttccactttaacaacattttgctccacttttccacgaccaaaca
+acttgaaatctggttaaaataacacgcaacactattcttcttccttgagtccgcccggaa
+ctcgaaaaacaaaccgagttaaagccatttttcacaaaatcgattttgggtctcaccaaa
+attacggggttgcatacgcattcgtttattttcgaacgtgtacatacaaatatgcacaaa
+aataatcataattattttctgagatgcattatgatatgaacaccaatttcgtatagagtc
+tcactatgtctcaaatttttgcttactgtcggatatcaacgctggatcagaccaccgaaa
+atcaacgccgggaaatcgaaagtgcaggttttaaaatcaaacctcagcaaataatcgaag
+aacacattagcggctcagcagcaaccagtgagcgtcctggttttaaccggttgcttgctc
+gcctgaaatgtggtgatcaattgattgtgacaaaactggatcgccttggttgtaatgcaa
+tggatatcaggaaaacagtggaacaactgaccgaaacaggtatcagagtgcattgcttag
+cattggggggcattgacctgaccagtccaacaggaaaaatgatgatgcaagtaatttcag
+cagtcgctgaatttgaacgagaccttttacttgaacgcactcattccgggatagtaagag
+cccgcggcgcagggaaacgttttggtcgaccacctgtgttaaatgaagaacagaaacagg
+cggtattcgaacgaattaagtcaggtgtaagtataagtgccattgcccgggaattcaaaa
+cctcgcggcaaaccattttaagagccaaagcaaaacttcagacacctgacatataaaaaa
+taatctcggtgtgagatgctttacgtcttccaagcccccttccttgccgtaaatggaaag
+atacatctaattatagaatttatatgttttaccctacggcagtgctggccattcaatatc
+ctgtgcagttgacgtatcaacacggttcagcaatacccgatactttttccatgcttccag
+caacgagatttcttcctccgttgcaatttccagatctgcagcatcctgaagcggcgcaat
+atgctcactggctacctgcatcaggttgttttttgtttcttccgcctcccggatccggaa
+cagtttttctgcttccgtatccttcacccaggctgtgccgttccacttctgaaactcccc
+ttccggcgataaccaggtaacattttccggtaacggaccgagttcagaaataaataacgc
+gtcgccggaagccacgtcataaaccgttttaccccgatgatcttcaacgagatgccacga
+tgactcatcactgttgaaaacagccacgaagccagccggaatatctggcggtgcaatatc
+ggtactgtttgctggcagacctgtatgaggcggaatatatgcatcaccttcaccaataaa
+ttcattagttccggccagcagattataaatttttatggtccgtggttgttcactcattct
+gaatgccattatgcaagcctcacaatatagttaaatgcgatgtttttgacggtgttttcc
+gcgttaccagcagcgttaacggtgatggtgtgtccatgtgaaccaatcgcaacggagtgc
+gtatgagcaccaataccgacagtatgtgcatgcgcgcctgcgcttgcagcagtgccggac
+agcgagtgggtatgagcaccatctgatgatgtcttccctgcattacgagtctggccacta
+ccgcttgttgtgctcataatccccgcgcttagatttgaaatcgcggtataaccattaggg
+aaaatgctcgtgttcgtgccaccaaatgcaccggaactcttgtgttggtgcgcaccggca
+ctatttgcggtcccgctaatactatgggtatgcgccccggtgttattcgtggatttggtt
+ccgtaatcaaacgacgatgtggtttccgtccccaaatccgtactggatgcgctggcgctg
+tgggtgtgcgatttaatgccgtcctgttcctgagataatacggcccgaccactggcgggc
+ttgcccttaatcgtccagccacgcatatcagggatcacgcctgacggataagcaactgca
+agtttcgggtatgcagatttgtcaaaagtctgcccctgcatcagggcataaccagacgga
+acggtatctgatggccacgggattggtgcaccgactggataaaactctgcaggaggatga
+gccgaggtgtaaagctgcgcccacggcgaccagtttgcgtcggtcgtatcccgtcgtgaa
+cgaataaatgccggagcatgagcaccgcttgtaccactccagccgatgagtaactcacct
+tcgccaacggctgtcatccctttcaggtgaatgatatttccatacgctgttggatatccg
+ttgttatacacctcgtataactcaagacctgctgccccctgcgtattgtctgtcagcgcg
+gttatattcactcagcaaccccggtatcagttcatccagcgcggctgctttgttcatggc
+tttgatgatatcccgtttcaggaaatcaacatgtcggttttccagttccggaaaacgccg
+ctgcaccgacagggggatcccgtcgagaatactggcaatttcacctgcgatccgcgacag
+cacgaaagtacagaatgcggtttccaccacttcagcggagtctctggcatttttcagctc
+ctgtgcgtcggcctgcgcacgcgtaagtcgatggcgttcgtactcaatagtccctggctg
+gagatctgtctcgctggcctgccgcagttcttcaacttcccggcgcagcttttcgttctc
+aatttcagcatccctttcggcataccatcttataacggcggcagagtcataaagcacctc
+attacccttgccaccgcctcgcagaacgggcattccctgttcctgccagttctgaatggt
+acggatactcgcaccgaaaatgtcagccagctgctttttgttgacttccattgttcattc
+cacggccaaaaacagagaaaggaaacgacagaggcccaaaagctcgttttcagcacctgt
+cgtttcctttcttttcagggggtattttaaataaaaacattaagttacgacgaagaagaa
+cggaaatgccttaaaccggaaaattttcataaatagcgaaaacccgcgaggtcgccgccc
+cgtaacctgtcggatcaccggaaaggacccgtaaagtgataatgattatcatctacatat
+cacaacgtgcgtggaggccatcaaaccacgtcaaataatcaattatgacgcaggtatcgt
+attaattgatctgcatcaacttaacgtaaaaacaacttcagacaatacaaatcagcgaca
+ctgaatacggggcaacctcatgtcaacgaagaacagaacccgcagaacaacaacccgcaa
+catccgctttcctaaccaaatgattgaacaaattaacatcgctcttgagcaaaaagggtc
+cgggaatttctcagcctgggtcattgaagcctgccgccggagactgtgctcagaaaaaag
+agtttcttctgaagcaaacaaagaaaagagtgacattactgaattgctcagaaaacaggt
+cagaccagattgaagcaatttagataatcgtgcagactacgccccctcatatcacatgga
+aggtttatctatggatcaggtagtcatttttaaacaaatatttgataaagttcgaaacga
+tttaaactatcaatggttttattctgagctaaaacgtcacaatgtctcacattacattta
+ctatttagccacagagaatgttcatattgtattaaaaaatgataatacagtgttattaaa
+gggcctaaaaaacattgtgtctgtcaaattttcaaaggataggcatcttatagaaacgac
+ctctaataagctgaaatccagagagatcacatttcaggaatacagaagaaaccttgctaa
+agcaggagtttttcggtgggttacaaatatccacgaacaaaaaagatattactatacctt
+tgataattcattactatttactgaaagcatccagaaaactacacagatcttaccacgcta
+aaccataacgtccggcttctctcactcctgagccggactgcattggtttaataaaaacca
+tcaacaattgtgatttagatattcggaaccattcaaatataacaaaaccccgtaaaaacg
+aggtttatggataaattttattattgaatacatcagattaaattaatcttgacatcatag
+ctttcaagacccgtcattttttcccgtgcggtaaactgaatactggtaacttctttcccg
+gtctttttcttaagttcaataattttttttgttatatattcagaaatatctgcttctgct
+tttgtttttaagttttcaatattcatcatttcctcttttagtctgttatgactttccagt
+tacacagtaagtcgattatatggtgcaaacgtgtaaaagataagatgaaacatcgcaata
+atcaacatacgatagtctaaattttacacaaacagacaaagagaattttcctgaattatc
+aatgcaatagcatcaaatcaactcaagagccttattgctgcttccagaatttcttctgaa
+gtaacatgtcgatccgcggctacataaatgactttatgatctccggtcagagatggaaac
+cctgcggccattacagtaaggtgtgttttttcgccatttggatattcacgcatgatggtg
+ttaactccagtcatcgctggcactaccactgctggttcagagttaaaaaaactatgattt
+ttttcatgatgttaccgtagtatgtgagtatccatcgaatagacaccaagcaaaaaagct
+cccgaaggagccttcattttcacttttttaaatccaacgacagacggctggcatttaagt
+attgtgaaatattatcaaatgtaatcatcattgatttacaaaagatacattttgccccga
+aaggattcatgtcagaaacatcaaaagatgatgttctatactgggaaccatgacaacacg
+ggcatctaaagtgaatatggtttgtaatattgtctacctcaaagcgccactacatgaaca
+gcggcaggacctttaggtccgttctcaataccaaattcaacttcctgattctcagttaat
+gttttgaaatcgttgctctgaattgctgagaaatggacaaacacatctttgctgccatct
+ttcggcgtgatgaaaccaaaacctttttcagggttaaaccatttcactaaaccagtcatt
+ttgttagacataattattaccttttgaagaaattagcccttgggcagaatggtccgaaaa
+aaaatatcagagagaaaaaccaacaaggaaatctcaagaggtacaaataataaaattata
+acaatgactgcttcagataaatttgtaacaaaccagaacaccattaacgcatgattaacc
+acccatagcaaggattacttttgtaaagaaaaacacagcaatgaaagaatagctttattt
+attaataaaacgtgtcattctgattaagaccttttatcttacccttaagatttcaggaat
+tttggctcatggaagagtcctttttatttaaattttacattccgcgatgtaaatgttccg
+atttaatattaccctacatttgatgctttttatctcttaaagattcatagatctgttgac
+aagtcactcctgcgatgtagcgttcgtcagcaatttcagcataaagctgagcttctgctg
+caatatctccgagcatgttggtgagcattccttcggcggttttggttgttttgcctctga
+cggcagcggcaagatctgcggtatgcttcgctgcgtcaaggcgtatggcatatttttttg
+cttcggcacgcaactggttaacactatcagacagataagcagccctggcagaaatttcag
+cagatttctgttgcgcatctttaacagcctcatcacgggctatagttcgcccctgttcaa
+ttattcgagcagcaaattgagcatttacctcttgtgataatgcggcagcatcacgttccg
+cccattttttttgccatcctcggtcgctccagacatttccgacgataaatcctgacaaca
+cgagaaaaatcaccatgaatatctgattcactgttctatcccccagcaggttaatgcgct
+ctcctggtcacgacgaataacctgaccgtaacagttatttgaacgaatgcggcaatcgcg
+tccgccatccttaatccaccagcgaatcgcttcgcatgcacctttacgatcaccagcatt
+cagccgcttataaaacgtcgacgggaaacacttaccggggccaatgttatagggacaaaa
+tgacgcgatacccgctttttgtggttcggtcagtggtactttaatattgcgctccaccca
+tgccagcgccttatcacgctcaatggcgttgacctggtcgcatttttccttcgacagttt
+catattgggaaaaacggtttttccatccaccactgtggcaccccgacagatggtccatat
+gccagaaccatcgcggtatgccattgtgtggttaccttctttttcgtccagaaactggtc
+aagtatctgaggagcagatgcgccagcaccaatcagcgccagaacggcagccgacaggcc
+gtatctgatttttgtgttcatagatatttatgatgaggacgctcgtgcttattggcagga
+ttttcaatcttaaaggagtactgatgctgcagataagactcaactttttctgacaatttt
+tctgctacttccaggaagacttgccggacgctccttctggctgctgcctcataaaactcc
+agcgcagctccttcaacacggtccatggcgacatccaggtcaaaaatttcaccgtcaaag
+cgttctttgtcctgtaaggctacagttaccgtaactttattctcaaaattacggactcct
+ttcacaaccagttcatagtcttgagtcattggattactctcctctcgcagccttacgcct
+gtcttctttaatcttgaaataaagatttgtcagatacgtcagcaggccaaaaaccaggct
+acccagcacaccgattgcagcccactgtgacggagttactttatcgagtaactgcaatgc
+ccagaaaccagcattacccgccgatgtgccataggcaacacctgttgttaacttatccat
+tgatttcatatcctcaccccgatgtacacggatggtgcaatatgtttgaaaagatcggag
+tctacggggtagttttgacagcacacgttgttctcaacggcgctaaaaaaacatacacat
+taaaaatgtgggtaattattttgaaagaaagtcatatataaaataataatacgagaaatg
+ttttcatatttagtgtactgtatacggccatttatacaggaaaagcctatgtcagaacgt
+aaaaactcaaaatcacgccgtaattatctcgttaaatgttcctgcccaaactgcacccaa
+gagtcagaacacagtttttcaagagtacaaaaaggtgcccttttgatctgccctcattgc
+aacaaagtattccagacaaatcttaaagctgtagcctgattgattttattagtaacaagt
+attttttatattttaataatatatttaaagcagataataaaaaacccgcctgagcgggtt
+tgagattgtggtgctttttgtgggagtcatccacttacgcactttgttttgccatgccag
+cagttagcttctgctgtaaaactattcatgcagcaaacctgcacttcaccacaatggtta
+gcatacttttcctgattaagattttgccaaatatgctagccattgtttcatgtattggac
+ctccttactttttattaaagagatccaatattcactactctgtccgtatctctactcagg
+catcagccttcttcgttatcgtatacagacgagcgatgaattttaatcagtaatgatgac
+atttgctgctgcaggacctttagcaccactctctatagagaaggtaaccttttgaccttc
+aaataaggttcgataattatcattctgaatcgcagaaaaatgcacaaacacatctttact
+accatcaacaggagaaataaagccgaaacctttatcagcgttaaaccattttactaaacc
+agtcattttatttgacattctacattccttaacttgagcctttcggcataaatggtttgc
+ataacagaaacgacttcgtacttaattggagagactcaaagaaggaataagtgaataaca
+cctgaaatgagaactgctttagtaaactacttcgtatatcgtctgttcttcaaaccgacg
+caatcattaacgcatagttgaacatatgaagcaatgtttattttagacatccagccatct
+tcaaccccatcaaaaaactatagctttcttcaggaacgtgtgtatagtgcgccaagttat
+cagtattaaggaatttttttgtcccgtaaaatgacaggaattgtcaaaacctttgacggc
+aaaagcggcaagggtcttatcaccccatccgatggtcgtatcgatgtccagcttcatgtt
+tcagcgctcaatctccgcgatgcagaagaaattaccaccggattacgcgtggaattttgc
+cggataaatggtctgcgtggcccttcagctgccaatgtttacctttcatgagctatatta
+aagctttaatttcaggccccatcggatcacacatggagagtttttatgaataaccccgtc
+tgtcttgatgactggttgattggctttaaaagcttatgctgtactttggccgtaatagct
+ctgctaataatataataagcagactcattgtgtttagggacattgtactggaagaaaaca
+ttttaaacatcaggcaaataaccaagtcaccagctaaataataagttaacagacatgagt
+cccgggatgagattcaacattaccattgccccatttaaagcacaaaacccgctcatcagc
+gggttttctactttttcttaacgtcgggtatacaaagcccatcgttgaaaaaattttatc
+catattttttgaaaaatgcaaacatcatgtcgccatcttcagcaaaaatcatttatctcg
+tcaccttcctcaattgcgcttccgcgtatgcttcttcctgccagcactttgttaccagtt
+taccaatgacgtccgcataccccttataccactgataatcggtcaggtctggtaccagct
+tctggacatgacgtcgtgccagcgtggtcggtaaacgactaaaccggtttccattacaac
+gcccacaaatcttatataccggtacgccatgaaaccgggttcttttttcatccagaacaa
+tccctttacccttacaccctctgcacgctgtgctggcttcgcccttaccatggcaatgct
+gacatagttccttcacccattcttccttgattacagattccccgcgtctgtagtgtttca
+ccacttcgcgcaatacattataaaatcccgtacctgaacaatgctcacagcgagccttac
+ttgccgcagacctggagtaatcagcaaaggcaaaactcacgaggtaaggaataatctgta
+accggatttcttcactcaatttgttcaatgtcgggttatccagtgccatcgcgtaattta
+gcaggccttcaatcgcaaactgagggtcctgaacaccaacttttgccagaaataaggcca
+acccaagtggtgctttcgactgcaccatcccctgcgctgccattacatccgtaattgtta
+aacaaccggtgcctgtcgctggagcgtcatcgctcaattttggagattttggggagtaat
+attttggtaaggcttcaaggttcatgctcgttctccacttacgccagtacgccaattgcc
+agcgcgcgatcgataaaacgaaatatcagctccagttgggagccatacttatcttcaaat
+gccactgtatccgtatgcagctcgttgtgatgctttctgcacaaaggcaacacaaagaga
+tcatgtgcttttgttcccattccgccctgcccgtgaccaatcagatgatgcggatcgtcg
+gctggcataccgcagcaagcacacggctgtgtcttaacccaacgtgtgtatttctcctta
+acccagcggcgacgtttaggcagcttcatgaaagattccggagactctggatcaacggtg
+atgcttaccaccgtcttttcctgtggtgatttttgttgctggtgggcgtaaggcaacggt
+gcaagattttttgtgcgttgtttcaatatgctggtggcggtcagctctcccggtacgatg
+tcgctttcgcggtacaccgagcagattttttccgctggtaatcccagcgaacgacgcgat
+acagcctcaggtagtgcatccaccacctgattgcagaccgcccaccaggataattcagcc
+aaagataattcccgctcctgcgtaccgcttattgcgtgacggatgacgtcaatcacccat
+gctgtcagattttgttgagcaagcagctccagtgattccgatgtctggtcacgcagttgg
+ttgtcgcagtgccagcacaacaccattgcgccggtaccataacggtgaatgactgtttca
+gtgtgatggtaatcgccattaggccactggcaggatgtaacatgacgtaatagccagtcg
+gacaatgcgccaacgccgccagcagcacgaatcacccgttcgttactaaaaaacggcagc
+aatgttttgtcttccgccagcggctggcgaacggcaggaacgactccggatggcagatta
+cgcatgctttttggttccggttccaccagcactcgaggattatgaaatatctgtatggat
+tcacggcccggcttaaggaccaccagcccaagctcaggcaccagaacaggtctaagtaat
+acccgcacgttacctccagatccgttgctggaaagtgcgggacgcacgtggtgggcgttc
+ggaataaggcagcctgacagagattatccagtgccgatagtcgagactgagagctttctt
+aacctcgaacccgcgcctgcggtaagaatgaatcagccattcggcctgttctgcagtgca
+tggagggtgctggaaccattcagacttgaatgcgtgagaataccgcccgtgcgtgcaggc
+aagaacgggcgaattatcagaattgtaatattttgcgttgcgtgccatcggttttctccg
+gtggcacggtgttactcagcgggagttcagccccgcgcaagattgtagatgagtttattc
+tcctgaaaaagcagaaaagccagcttttattccgatctctttcaatgcctgtaatgaagt
+gacaaactcaccttcgcgcaagataaatccgtccgtgacccgagcatccacaaaattaat
+taacgcagccccattctttcgcaaacacataatgcggtaatgactaacaagatttccatt
+ttcaacgcacacagcatagaggccatcttcacaaaaaattttacgcagttcttcgatgtt
+catcatcagaatccttccggataattagctctcccctttaagggaccatccctcttatcc
+ctgcgcgctacttaagtatttttgattctattccggcaccgtccagaacttcaaacgcgt
+tgaaaataaaaacaaaaacccgccgaagcgggttaagtgcgggtgcgttgaggatgcctg
+ccacatcagaggtggcgagggatttctcccccgccgggtctcttactcctcaggttcgta
+agctgtgaagacagcgacctccgtctggccggttcggattcgtacctcgcagaggtcttt
+cctcgttaccagtgccgtcactatgacggttaaacagatgacgatcagggcgattaacat
+cgccttttgctgcttcatagcctgcttctcctgtcaacgcaaagcagaagtgtcaccttc
+ggtgcgaaacagagatgtcatgctttggttcagagaatgcgtttgaccgcctcgctatat
+acttccgagcgttctcttttcccaacagaaatcacgaaaacgacaactttctcgtctata
+acctggtatacaaggcgatagcctgaagaccggagcttaatcttgtaacaatcaggcata
+ccacggagcttgtttgcttcaatccggggtgactcaagtacttcaaccagcttctttttc
+aactgttcacgtaccgtcgagcccagctttcgccattcctttagtgcccgctcgtcaaaa
+tccagaaaatacgccatcagagttcatccagcgtcacacgtactggcttaggattacgaa
+gccgttctttcactatctccacaagttcagcatcttcatcactcaggagtgtctgtttga
+acggcaagcgttcattgtcagcgatatactcgagcatgagacgaagcgcttcagaaggag
+ttacacccattttttcaagcgcggcgtaagaacgcgctttaagttcatcgtcaatacgca
+ggttaatgctacccatgtcttacacctcttgtaattacaaatgtcattacaagtatcgca
+ctacaacatgcttagggcaagtcacgaaggaagtcagaaagtagtcgtaagaacggtgat
+cactgtccgctttgtgccaggagcagccattgctaagtccatcctgtattgtgcaggtca
+gctcgtttttaaagagtccggccatcatcttactggtacagacaccatatactttgtgac
+ggtcaggctacatatgcacaactcaacttattcatctattttttgctttagcatgtcagt
+gttgctttctcgtcggcgggtgagcggtgacctgacctgtcgataaaggaacgtaacacg
+ttttatgcaacacccgcatgcggcagaaaattattgccgaacgtttacccctgtcaacaa
+gctttactttctgaggcgcgccagcccgcgaggaaaacaatctgaacatcaaacaattaa
+tgacacaagaaatacgattaaagatttttttgtgcatgccgatagtgcttttttaaaagg
+agaaatctatgtctgtcacaattcagggaaatacctcaaccgttatttcaaacaactccg
+ccccggaaggaacatcagaaatagccaaaatcacaagacaaattcaggtgctgactgaaa
+agcttgggaaaatctcatcggaagaggggatgacgacacagcagaaaaaagaaatggctg
+cattggtacagaagcaaattgaaagcctctgggctcaactggagcagttgttaaggcagc
+aggcagagaaaaagaatgaagacgcgacagttcagcctgataaaaaagaagagaaaaaag
+acgatacaaataccgctggcaccattgatatttacgtctaagtgacagccgtattgtggc
+cctcatcgggccacttttcgccatcagccttttctttaaagacatattatctttgtatca
+tttctgatagttaacattacaagatataagtaatggacgcactcccaattagtctattta
+aatcgccacgagtttaactgacaacccatgatcaattatgaattgcaactatttctgtag
+tcacttttgtggggacagtccacaaaactgccaacttccgcttcttgctcttagcggaca
+ttagcataggctatttaccataacgcctcattacgcgcaccgcccagactgactcagcgc
+gtttctggcatatccccggtaaaacaagtaacaaaccacccgaaaatgaacaccagaaac
+gcgacttaagaatctaccctatgaatggatatgcactcaaccgaatcgatcttggtttca
+atcttttttatcgggatcaggcttctttttaggtaacttcgggggcttaacttgctgatg
+actttgcgttcggcgcgtaagccagggatggtcagctttaggtttaacatagtattttga
+gcgtaaatcaatacgggcattatccactcgttcatggacactcttttcatcatccagtgg
+tagcctccataattgcaggcactagcgccgtgaacttttcacgcttatccctggtgtcga
+tagccttccagcgttcaaatatcttcactcgattaacgccaagcgctcgctgatcaatcg
+cgccaccttcatatgtgacacgctgaacatcgatgttcgggcgctctttcaaagcccaga
+atgcttcagtgattaatatcgtcgcctgctcctgtgtcattcctggtcgacatatccagg
+catccagagcctcacgagcctgttcaggagtgattttcattgttcaaccgccccgcccgc
+ttcgtcttacgatattcatcataaactttgggatcatactgaagctccccgccagatgcc
+tcctgtagacgcatcgcgcgaccttcgggaactaaatcccctttccagctataaagcgaa
+gccaaacgaatacctgctgcttgtgcaagttttgtttttgaaccgaaatacaaaagagcg
+tcagttttaagcatttaaaacacctttattgttagtcataactaacaagatagatgttaa
+caaaaacatagtcaatacgatttagcattagctaactatggaaacaaaaaatttaactat
+cggcgaacgcatcaggtatcgtcggaaaaacctcaaacacacccaaaggtctcttgctaa
+agccctgaaaatctcccatgtgtctgtatcacaatgggaacggggtgatagtgaacctac
+agggaagaacctttttgccctcagtaaagtattgcaatgctcaccaacatggattctatt
+tggcgatgaagacaagcaaccaacaccacctgttgagaagccagttgccttatcccccaa
+agaactagagctccttgagctgtttaatgcactgccagaatcagaacaggatacccagct
+cgccgaaatgcgagctcgagtaaaaaacttcaataaactctttgaagaattactaaaagc
+ccgtcagcggacaaataaaagataacatcatcaatgagttatcttttaccacatcaatta
+tgttagctatagcatacaaaatcacttgaccgatatgttagtcatggctaatcttgtttg
+catcaacacaccgcacggtgttctcagcaaacagttccgctaccccagcgttaaggggaa
+atgaggtcagcatggatactatcgatcttggcaacaacgaatctctggtgtacggcgtgt
+ttccaaaccaggacggcacgttcaccgcaatgacgtataccaaaagcaaaacgtttaaaa
+ccgaaaatggtgcccgtcgctggctggaaagaaactcaggtgagtgatatggatttcgac
+acaatcatggaaaaggcttacgaagaatacttcgaaggccttgccgaaggcgaagaagct
+ctcagcttcagtgagtttaaacaggcgctttccagttcggcaaaatctaacggctgataa
+gcgaaacagcaccgcgaggaatcagtatgcagaaacgagaacccgtcatcatcgcgccag
+actataccgatgatgaactttatgagtggatgcgccagaaaattaatgcagcgcaggatc
+tgaaatgggctaatgaagccagggctaagcaggctgaaaatctgtccgctctggagcagg
+atatcaccaatctggaaaaagcagcggcattaagcattgccagaatgattacatacccgc
+gttagtagctaatcaacaaagctaaggttagtaattaaggagttctccacgggtgaggtg
+gagtgcgtgcgccggacacgggtgcgcatccggaactgacagtttactgaaaggatattt
+ccctgaaaagtcagaccataacgcgaaagcgcatggcgaggtagctggttcatagatagc
+ctgtcgttaaattttcgtcgaccgtgcgcttccggttgtggcaacccgcgaaatggcgcg
+gcggtaagtatggcggggttattccttccccgttgaggacaccgggttgtcaggttgacc
+atacgcttaagtgacaaccccgctgcaacgccctctgttatcaattttctggtgacgttt
+ggcggtatcagttttactccgtgactgctctgccgccctttttaaagtgaattttgtgat
+gtggtgaatgcggctgagcgcacgcggaacagttaaaaccaaaaacagtgttatgggtgg
+attctctgtatccggcgttaattgttaactggttaacgtcacctggaggcaccaggcact
+gcatcacaaaattcattgttgaggacgcgataatgaaaacgttattaccaaacgttaata
+cgtctgaaggttgttttgaaattggtgtcactatcagtaacccagtatttactgaagatg
+ccattaacaagagaaaacaagaacgggagctattaaataaaatatgcattgtttcaatgc
+tggctcgtttacgtctgatgccaaaaggatgtgcacaatgaattcagcatttgtgcttgt
+tctgacagtttttcttgtttccggagagccagttgatattgcagtcagtgttcacaggac
+aatgcaggagtgtatgactgcagcaaccgaacagaaaattcccggtaactgttacccggt
+cgataaagttattcaccaggataatatcgaaatcccggcaggtctttaaaacagttccgt
+aataaatatccggtttcattcttatatgccagcaatggcagggatttgttcatccttaaa
+tctgtcatgaggttaaaacaaatgagtaaagtctttatttgcgccgctattcctgacgaa
+ctggcaacaagggaagaaggcgctgtggctgtagccacagccattgaagctggcgacgaa
+cgccgtgctcgagcaaaatttcactggcaattcctggaacattatccggctgctcaggac
+tgcgcttataaatttattgtctgcgaggataaacctggcataccccgccctgccctcgat
+tcatgggatgctgaatatatgcaggaaaaccgctgggatgaggagtctgcttcttttgtc
+ccggttgagactgaatccgatccgatgaacgtcacttttgacaagctggcccctgaagta
+cagaacgctgtcatggttaagttcgacacatgtgaaaacatcaccgttgatatggttatt
+agcgcacaggaattgttgcaggaagacatggcaacattcgacggacatatcgttgaagcg
+ttgatgaaaatgccagaagttaacgccatgtatccggagcttaagttgcacgccattggg
+tgggttaagcataaatgtattcctggtgctaaatggcccgaaattcaggcagagatgcgc
+atctggaaaaaacgtcgcgaaggtgaacgcaaggaaaccggaaaatacacgtctgttgtt
+gatctcgcccgcgccagagccaatcaacagtacactgaaaattcaacaggaaaaatcagc
+ccggtcattgctgccattcatcgcgaatacaagcagacatggaaaacactggatgacgaa
+ctggcctatgggcgctgcttcgcagacaggcagaacttgatggtatgcctgcgatcaatg
+ccaaacgtgtttaccggatcatgcgccagaatgcgctgttgcttgagcgaaaacctgctg
+taccgccatcgaaacgggcacatacaggcagagtggccgtgaaagaaagcaatcagcgat
+ggtgctctgacgggttcgagttctgctgtgataacggagagagactgcgtgtcacgttcg
+cgctggactgctgtgatcgtgaggcactgcactgggcggtcactaccggcggcttcaaca
+gtgaaacagtacaggacgtcatgctgggagcggtggaacgccgcttcggcaacgatcttc
+cgtcgtctccagtggagtggctgacggataatggttcatgctaccgggctaatgaaacac
+gccagttcgcccggatgttgggacttgaaccgaagaacacggcggtgcggagtccggaga
+gtaacggaatagcagagagcttcgtgaaaacgataaagcgtgactacatcagtatcatgc
+ccaaaccagacgggttaacggcagcaaagaaccttgcagaggcgttcgagcattataacg
+aatggcatccgcatagtgcgctgggttatcgctcgccacgggaatatctgcggcagcggg
+cttgtaatgggttaagtgataacagatgtctggaaatataggggcaaatccacaggtgaa
+ctacgctcctctgtttgttacgcaataaaaactggtgttttcgactatgcaaaacagttt
+ccctcctcacgcaatctggaaaaatttggtgaggcccgacaagatttaaccataaaagaa
+ctggctgaaaaatttctggcactgaaagaaactgaagtcgccaaaacatcactcaacaca
+taccgtgccgtcatcaaaaatatcctgagcataatcggtgaaaaaaatcttgcctcatcg
+attaataaagaaaaattactggaggttcgtaaagagttactgactggataccagatcccc
+aaaagtaactatattgttacacaaccagggagatcggctgtaactgtaaataattacatg
+acaaatcttaacgccgtgttccagtttggtgttgataacggttacctggcagataatccg
+tttaaggggatctcgccattaaaggaatcaagaaccattccggatcctctttcgcgggaa
+gaatttatccgtcttatcgatgcgtgcagaaatcagcaagcaaaaaatttatggtgtgtt
+tctgtttatactggagttcgccctggtgagctgtgtgcacttggatgggaggacatagat
+ctgaaaaatggaacaatgatgatcaggagaaatttagcaaaagaccgtttcacggtacca
+aaaacacaggcgggaaccaatcgggtcattcatcttattaagccagcaatcgacgctctc
+cggagtcagatgacattaacgagactgagcaaagagcatatcattgatgttcacttcaga
+gagtatggcagaacagaaaaacaaaaatgcacctttgtttttcaacctgaagtgtcagcg
+agagtaaaaaattatggtgaccattttaccgttgactcaataaggcagatgtgggacgca
+gcgataaaacgtgccggactccgccatcgaaaatcatatcagtcgagacatacttatgcc
+tgctggtcgctgacagctggtgctaacccggcatttatagcaaaccagatgggccatgca
+gatgcgcaaatggtatttcaggtatacggaaaatggatgtctgaaaacaataatgcacag
+gtagctttgttaaatacacagttaagcgagtttgccccaaccatgccccataacgaagca
+atgaaaaattaatttaatatttatcaaatagttaacacgcatgactcttgaaatccataa
+attcaagcgcagtgcccagccatcccgatactgctgctttcaccaaatccttagtgcttc
+tttcgtgtttttctattgtcataatggttatctctaaaaaagaggtaagatgcgtactac
+ttactcgccgttattggtattattcagaaaaagtgagtaagactttgcagcaatgttttt
+gatcctgttcaaataaactaatggcatcagcaacatgctggaaatcaaacgtatgggtaa
+ttaatttttctggtttaattaaccctttacttaaccagtcgataacgatcgggaatttat
+ttgcatttaagcgtgaagagaaaatagagagttcttttccggtaattccttgctgaatca
+cttcagacggttcactggagaaccccatcaatacaatacgtgccgctggagaagccagcg
+ttacggcctctttcaggatagaaggatgacaagccgcatcgataattaatgtcggcttga
+tgcctttttcagtgaaaatctcgccaagcggtgtctggctgttattaatcgcccagtcag
+ccccgctctctttcgctttttccagtcgttcatcaatgcgatcggcaacaatcacatttt
+taacgttatagacgccttttaatacctgaacgatcgtcaggccgattggaccggcaccat
+aaaccagaacggtatcattttcagtcggttgaccatgtccggttacgttagccgcaatgg
+taaaaggttcgatcattaccgcatattgatcggccactgcttcaggaattttccacgcat
+tttttgccggaaccacggcatattcactgaaaccaccgtcagcgtgcacacctaatacag
+ccagtgtcgtacaaacgttcggtttacctatagagcacggatagcaatgcccacagctga
+ccaccggatcgacagcaacacgttcaccgactctggcgctttccacgccttcacccactg
+catcaatgacgccaaagaattcatgaccaatgacgcgcggatatttcgcaaaaggattat
+gcccacgataaatatggctatctgaaccacaaattccggcaagtttcacttttactcgta
+cttcacccgctgacggggtgggtatttcacgttcgacaatcgccagttgattcggttttt
+caattaatatgcttttcattatcttactccttaccagttccacagcgtgccatcttccag
+acgtgcgactggtagataagcaggttcatagggatatttcgccgccagcttttcatcgaa
+ttcgataccaagacccggtttgtctcccggatgcatatagccgttatcgaaagtccagtt
+gtgcgggaagacttcgagcatttgttcggaataacccatgtattcctggacaccgaaatt
+ggggacccacagatcaaagtgcagcgccgcagccatgcagactggtgacaaatcggaagg
+accgtgtgagccagtacgtacctgatacagcgaagcaaaatcggcaatccggcgcatacc
+ggtaattccgcctgcatgggtcagcgtggtgcggatataatcgatgagttgctcttcaat
+cagttgtttgcagtcccagatgctgttgaagacttcacccactgcgatgggtgtgacggt
+atgttggcgaatgagacggaagcattcctggttttccgcaggcgtcgggtcttccatcca
+gaacatgcgataatcttcaatgcttttaccaaagcgcgccgcttcaataggcgttaagcg
+atggtgcatgtcatgcagcaaatgttcattaaaaccaaacttgttacgtaccgcgtcaaa
+caatttcggcatgaaatcgaggtatttctccgtcgaccacagctgctcttccggccactg
+tcctttggttgcgggttcataagccagacctttacctttcgacatgccgtaggtggtttt
+cataccagggattccgcactgcacgcggatggctttgaatccaagctcttgatgacgggc
+ataatcatccagagcttcatcaatactgtgaccggtggtatggcaataaaccatcacccc
+ttcacgagacgcgccgccgagtaactggtaaagcggcatgttggcagctttggctttaat
+atcccacagcgccatatcaaccgctgaaatggccgacatcgtaaccggaccgcgacgcca
+gtaagcacctttatagaaaaactgccagatatcttcgatacggtgcgcatcgcgaccaat
+aagctgcggacaaaggtgatcctgcaaataagaggccacggaaagctcacgtccattgag
+ggtggcatccccaaggcccgtaataccgtcctcagtggtgatttttaatgtgacgaaatt
+acgccccggacaggtaacaaaaacttcagcctttacgatcttcatgttcgattccttgca
+tcgcttgtcgtgatgcatgaaatctacgcaactgagctactaccatacaagtataaagat
+cgaaaaaagccggagtgatcacaaaaaaaggcgtatatttgcgctgtgaatggttgacaa
+aagatgaaatagaataccttttgtcagctgacacttcctcttatcttattgataaaatgg
+atttatgttcctacgtgcgcccccagcccgcaacaatgatcaacatgccgcaaagcgcaa
+tcaacgcacccgtccagtcataaagagtcagtttcacgccatccacaacgcgcagccaca
+tcaacgccgtgcagacataaacgccaccataagccgcgtaaacacgcccactcgccgctg
+gatgcaacgttaacaaccagacaaacagcgccagtgaaatccccgccggaagcaacagcc
+agatactggcgtttcgttttaaccacaaccagggcagaaagcatccaataatttcacaca
+gcgcagtagcaaaaaatagtaacgttgttttaatcatctttgtctcttattgacatcatg
+tatagttatagggcgacataatatcatcaatataaacaccctcctggtacgttttgcgtc
+cgcagtggatggtgtagaatcacctttaatcattcatacagggaatgaattatgaaaatc
+actctcagcaaacgaatcggcctgctcgctattctgctgccttgcgcactggcattgagc
+acaactgttcatgccgaaactaacaaactggtgattgagtctggcgacagtgcacaaagc
+cgccagcacgccgctatggaaaaagagcaatggaatgacacgcgcaatctgcgccagaaa
+gtgaataaacgcactgaaaaagagtgggataaagccgacgccgcttttgataaccgcgat
+aaatgtgagcaaagcgccaacatcaatgcctactgggagcccaatactttgcgctgcctg
+gaccgtcgaactggccgcgttattaccccctaacctgttattgatttaaggaatgtaagg
+acacgttatgccaagcgcccacagtgttaagctacgcccgctggagcgtgaagatttacg
+ctatgtacatcaactcgacaataacgccagtgtgatgcgttactggtttgaggaacccta
+cgaagcctttgttgaactctctgatctgtatgataagcatattcacgatcagagcgaacg
+gcgctttgtggtggaatgtgacggcgaaaaagccggtctggtggagctggtggaaattaa
+ccatgttcatcgccgcgcagaatttcagataattatctccccggagtatcaggggaaagg
+tctggcaacccgtgccgccaaattagcaatggactatggctttaccgttctcaatctcta
+taagctgtatctgatcgttgataaagagaatgaaaaagcgattcacatttaccgcaagct
+tggcttttcggttgaaggtgaattgatgcacgagttctttattaatggtcaatatcgtaa
+tgccattcgcatgtgtatattccagcatcagtatctggcagagcacaaaacaccgggtca
+gactctcctgaagccgaccgcacaatagcattaataataatcgatcgtatttttgatggt
+gtaaacccgttcgacggcgggttttactccttcatcaacaatgattagctgacagtccac
+cggattagcgtgactgtcatattcacagctctgttttacattaccaacccgttgattatt
+cagtaaagtaaccgctgtgtaatctaattttttgatcggatccgttgatggcgtggcgct
+gacagataatgttttgtcgttacttttcgtggttttacccagcggataaccctgatcatc
+atagcgatattccatctgcatttgtttgctgctggctttaatcacgaagccattatcatc
+ggtttcccaactcaccccggcagaaggtaattctgctagctggcattttccctgtaaacg
+tactctcttctccagcgtctcggcatcacggtaataattggcgtccagtaccagagcgac
+cacggtattattttccagatccagtaattcgagtgaatcaaaacagccttcttccgacaa
+agtcccagaaacacgtttcgtcacttcaccttgctcatccattaatgtctgagtgaaatc
+ttttaccggaccacgcagcggatcaaaatcgaattcattagagaaactggccatctcagg
+ggtaaatgaaagtgttacctctgtgcggtcacatcctgtgaggaatatcgcgagtaagca
+tggtagtaatttgtatttcacaacagtcaccagagagtagagatgattctcaatcatagt
+agcaaatacagtactttacacgttaaatgctatgcttaaagaagttatcttcgcgtaagg
+agcttatgatgaaactctcaacctgctgtgccgcgcttctgctcgccctcgcctcacccg
+cggtactcgccgcgccgggatcctgtgagcgcatacagagcgatatatcacagcgcatta
+tcaataatggcgtacccgaaagcagcttcacgttaagtattgtacccaatgaccaggttg
+atcagcctgattcccaggtcgtcggccattgcgctaatgatacgcataaaattctctata
+cccgcaccaccagcggtaacgtctctgctcccgcgcagtctagccaggatggcgcgcctg
+ccgaaccgcagtaacacattatcgactgaacgccggatatgacaaatccggcgatttgaa
+catacaacataatcccaccttattactcatacccttctattgatatggattaataattct
+taacccaaaatgggtagactccctctattgttagcgcgctaaatattcaatatataaact
+tttatataacgataaagaacagggagtgagttatgtccaaaaatgaacgaatggtgggca
+tcagccgcagaacactcgttaaatctaccgcgataggttctctggcgctggctgcaggcg
+gtttttctttgccgtttaccctgcgcaatgcagcagcagcggtacaacaggcccgcgaaa
+aagtggtctggggtgcctgttccgtcaactgtggtagccgctgtgcacttcgtctacatg
+ttaaagataatgaagtgacctgggtggaaactgacaataccggcagcgatgagtacggca
+accatcaggtacgcgcctgtttgcgcggtcgctccatccgccggcgtattaatcatcccg
+atcgcttgaattacccaatgaaacgcgtgggcaaacgcggcgaaggcaaattcgaacgga
+ttagctgggatgaagccctggatactatcgccagtagcctgaagaaaaccgtcgaacaat
+atggcaatgaggctgtatatattcagtactcttcggggatcgttggcggcaatatgaccc
+gctcttcgccatcagcctcggcggtcaaacgcctgatgaactgctacggcggttcactca
+accagtatggctcctacagcactgcgcaaatttcctgtgccatgccctacacctacggca
+gtaatgatggcaacagcaccacggatattgaaaacagcaagctggtcgtgatgtttggta
+acaacccggcagaaacccgcatgagcggtggtggcatcacttatcttcttgaaaaagcgc
+gcgagaaatcgaacgccaaaatgattgttatcgatccgcgatataccgatacggctgccg
+gtcgtgaagacgaatggctccctattcgcccgggcaccgatgccgcgctggttgcgggta
+ttgcctgggtattgattaacgaaaatctcgttgatcaaccttttctcgataaatactgcg
+tcggctatgacgaaaaaaccttacccgcagatgcacccaaaaatggtcactataaagcct
+atattcttggtgaaggtgacgataaaacagcgaaaacgccgcagtgggcttcgcaaatta
+ccggtatcccggaggaccgtatcatcaaactggcgcgtgaaattggcacagcaaaacccg
+cttatatctgccagggctgggggccacaacgccaggcaaacggcgaactgactgcacgcg
+ctattgctatgttacctattttgacgggcaatgtcggcatcagcggcggaaatagtggcg
+cgcgtgaatcgacctataccattaccatagaacgcctgccggtgctggataatccggtca
+aaacgtcaatctcctgcttcagctggacagatgctatcgatcatggtccgcaaatgacgg
+caatccgcgacggcgtccgcggcaaagataaactggatgtgcccattaagttcatctgga
+actacgcgggaaataccctcgttaatcagcattctgacatcaacaaaacgcatgaaattc
+tgcaggacgaatcgaaatgcgaaatgattgtggtcatcgaaaactttatgacctcatcgg
+caaaatatgccgacattctgctgccagacctgatgaccgttgagcaggaagatattattc
+ctaacgactacgccggtaacatgggatatctcattttcctccagcctgtcaccagcgaaa
+aattcgaacgcaaaccgatttactggatcctgagtgaagtcgcgaaacgtcttggacctg
+acgtctatcaaaagttcacagaaggtcgcacgcaggaacaatggttacaacatctgtacg
+ccaaaatgcttgccaaagatccggcgttaccgtcttacgacgaactgaaaaaaatgggta
+tctataagcgtaaagatcccaatggccattttgtcgcctacaaagcatttcgtgacgacc
+ccgaggcaaatccacttaaaacgccttccggtaagattgaaatttattccagcaggctgg
+cggaaattgcccgtacctgggaactggaaaaagatgaagtgataagcccattgccagttt
+atgcctcaacctttgaaggctggaactcccctgaacgtagaaccttcccactgcaactgt
+ttggtttccattacaaatcccgtactcactcgacctacggcaatattgatctcctgaagg
+ctgcctgccgtcaggaggtgtggatcaaccctatagatgcgcagaaacgtgggattgcca
+acggcgatatggtgcgggtgtttaaccatcgtggcgaagttcggctaccagccaaagtaa
+caccacgtattctccctggagttagcgctatgggccagggagcctggcacgaggccaata
+tgtctggcgataaaatcgaccatggcggctgtgtgaatacgctaaccactctgcgccctt
+caccactggcgaagggaaacccgcagcacactaatctggtcgagatcgaaaaaatataac
+ccacgacaaccataaattctggcatgacattttgtttgaaaagcaataagtgagtaatga
+tgaaaatccataccacagaggcgctcatgaaggctgaaatcagccgtagaagtctgatga
+aaacctccgcacttggcagtcttgcgctggcaagcagtgctttcactctgccattttccc
+aaatggtccgggcggcagaggctccggtagaagagaaagcggtctggagttcctgcaccg
+ttaactgcgggagccgctgtctgttacgtttgcatgtgaaagatgacaccgtgtactggg
+tggagtctgatacgacaggtgacgacgtctacggtaatcatcaggttcgagcgtgtttac
+gcgggcgctctatccgccgacggatgaatcatcctgataggttgaaatatcccatgaagc
+gcgtcggcaagcgcggtgaaggtaaatttgaacggataagttgggacgaagccctggata
+ccatcagtgataatcttcggcggatcctgaaagattacggcaatgaggctgtacatgtcc
+tgtacggaacaggcgtagatggcggaaacatcaccaactcaaacgtcccgtaccgtctga
+tgaactcttgcggtggttttctcagtcgctatggcagctacagtaccgcacagatcagtg
+ccgcaatgagttatatgttcggtgccaatgatggcaacagcccggatgatatcgccaata
+cgaaactggtcgttatgttcggaaataacccggcagaaacgcggatgagcggcggtggtg
+tcacttactacgtcgagcaagcccgcgaacgttcaaacgcacgcatgatcgtcatcgatc
+cacgttataacgacactgctgccgggcgtgaagatgaatggctgcccattcgccctggca
+ccgatggcgcactggcctgtgcgattgcctgggtactgattactgaaaacatggtcgatc
+agccatttctcgacaaatattgtgttggttacgatgaaaaaacgctgcccgccaacgcac
+cacgtaacgcgcattataaagcctatattctgggcgaagggcctgacggcatagctaaaa
+cgccggaatgggcagcaaaaatcaccagcatcccggcagaaaaaattatccagttggcac
+gagagatcggttcagcaaaacctgcttatatttgtcagggttgggggccacaacgacatt
+ccaacggcgagcaaacatcccgcgctattgccatgctttccgttctcaccggcaacgtcg
+gcataaacggcggcaactcaggcgtacgcgaaggtagctgggatctgggggtagaatggt
+tcccgatgctcgagaatcctgttaaaacgcagatttccgtctttacatggacagatgcca
+tcgaccatggtacggaaatgaccgcgacccgtgatggtgttcgtggaaaagaaaaactgg
+atgtccccatcaagtttttatggtgctacgccagtaacacattgatcaatcaacatggcg
+acatcaatcacacccatgaggtgcttcaggatgacagcaagtgcgagatgattgttggca
+ttgaccacttcatgacggcctcggctaagtattgcgatatcctgttgcccgacctgatgc
+caacagagcaagaagaccttatctctcatgaatctgcagggaatatgggctatgtgatcc
+tcgcccaacccgcaacctcagcaaaatttgaacgcaaacccatctactggatgctgagtg
+aagtcgccaaacgcttaggaccagacgtttatcaaacctttactgaaggtcgcagtcagc
+atgaatggatcaaatatctccatgcgaaaacgaaggaacgtaaccctgagatgcccgact
+acgaggagatgaaaacgaccgggatctttaagaaaaaatgcccggaagaacactacgtcg
+ctttccgcgcattccgtgaagatccacaggcaaacccgttgaaaacaccttcggggaaaa
+tcgaaatttattctgaacgactggcgaagattgcagatacctgggaattgaaaaaagatg
+aaattattcatccccttcctgcgtataccccaggttttgatggctgggacgatcccctgc
+ggaaaacctatccactgcagttaacgggcttccattacaaagcgcgtacccactccagct
+acggcaatattgatgtgttacagcaggcctgcccacaagaggtgtggatcaaccccattg
+atgctcaggcacgcggtatccgtcatggcgataccgtgcgggtatttaacaataatggag
+aaatgctgattgccgcaaaagtgactccgcgtattctgcctggcgttaccgccatcgggc
+aaggtgcgtggcttaaagcggatatgtttggtgaccgggtcgatcacggcggcagtatca
+atattctgacctctcaccgcccttcaccgctggcaaagggaaacccgtcgcacagcaatc
+ttgtccagatcgaaaaggtttaaggagtagcccatgaccacacaatatggattttttatc
+gattccagccgctgtactggctgtaaaacctgcgaactggcgtgcaaagattttaaagat
+cttggcccggaagtcagtttccgccgtatttatgaatacgctggcggcgactggcaggaa
+gataatggcgtctggcaccagaacgtgttcgcttattatctctccatctcctgtaaccat
+tgcgatgaccccgcatgtacaaaagtctgccccagcggcgcaatgcataagcgtgaagat
+ggctttgtggtggttgatgaagatgtttgtatcggctgccgctactgccacatggcttgt
+ccgtacggcgcgccacagtacaatgctgaaaaagggcacatgacgaagtgcgatggttgt
+tattcgcgcgtcgccgaggggaaacaacccatatgtgtcgaatcctgcccgctgcgtgca
+cttgagttcggtccaattgaagagctgcgccagaagcacggcactcttgctgccgtcgcg
+ccactgccgcgcgcgcatttcacaaaacccaatatcgttatcaaacctaacgccaacagc
+cgcccgaccggcgataccactggttatctggctaatccggaggaagtgtaaaatgggaaa
+tggatggcatgagtggccactggttatctttaccgtattgggtcaatgcgtagtaggcgc
+gctgattgttagcggaattggctggttcgccgccaaaaatgacgcagaccgtcagcgtat
+tgtccgtggcatgtttttcctctggctgttgatgggcgtcgggtttattgcctctgtcat
+gcacctgggatcgccactgcgggcgtttaactccctgaatcgaatcggagcttctggtct
+gagtaacgagattgctgccggttccatattttttgccgttggcggattatggtggctggt
+ggcagtcatcggtaaaatgccgcaagcgttggggaaactctggttacttttcagcatggc
+gctcggcgtcattttcgtctggatgatgacctgcgtgtatcaaatcgacaccgtgccaac
+ctggcataacggttacactacgctggctttcttcctgacggtattgttgagcggtccaat
+acttgctgccgcaattctgcgggcagctcgcgttacatttaataccacaccatttgccat
+cattagcgttctggcgctgatcgcttgtgccggggtgattgtgctgcaaggtttgtctct
+ggcgtctattcactcatccgtgcaacaagccagcgcactggtaccagattacgcctcctt
+acaggtctggcgtgtggtattgttatgcgcaggtcttggatgctggctttgcccgctcat
+tcgtcgccgtgaacctcacgttgccggacttattctggggctaatcctcatacttggcgg
+tgagatgatcgggcgtgtgctcttttatggcctgcacatgacagtaggaatggctattgc
+aggttaacaaattggtgcggggcaacccgcacatttcaggatgttaggaatgacccattt
+ttcacagcaagataatttttctgtcgcggcgcgcgtgttgggcgcgctgttttattacgc
+tccagagagtgcggaagccgcacctctggttgcggtactcaccagtgacggctgggaaac
+tcagtggcctctaccagaagcgtcattagcgccgctggtgacggcttttcagacacagtg
+tgaagagactcacgcccaggcctggcagcgtttgtttgtcggcccgtgggcactgccgtc
+tccgccgtgggggtcggtctggctggatcgcgaatctgtgctgtttggcgattcaacatt
+ggcacttcgtcagtggatgcgcgagaaaggcattcagtttgaaatgaagcaaaacgaacc
+ggaagatcattttggttcactgctgttgatggctgcgtggttggcggagaatggtcgcca
+gacagaatgcgaagaattgctggcatggcacctttttccgtggtcaacacgttttcttga
+tgtttttatcgaaaaagcagaacaccctttctaccgtgcactgggtgaactggctcgctt
+aacgctggcgcaatggcaatcacaactgttaattcctgtcgcggttaaaccgctgtttcg
+ataggatcaccgtaatattgccggatggtgacgattacgcgcaatccggcaataataggt
+tacagtgtcacgtttttttatctcttaaagcacgcactgcttttgcggctggcctctttt
+gccgcaaaatagtcgcccgtgtttcattgcccatttctgctcatgcatcatctacacatc
+tatccggatctgcgcactatgttccaccgtctgcttatcgcaacagtcgtcggtattctc
+gcggcctttgccgttgccgggtttcgtcatgcgatgctgctactggagtggttgttcctc
+aataatgactccggcagtctggtcaatgcagcgacaaacctttccccctggcgacggttg
+ctaactccggcgctcggcggactggcggcgggtttgttgctgatgggctggcagaaattt
+acccaacaacgccctcatgcgccgaccgattatatggaagcgttgcaaaccgatggacag
+ttcgattacgcagcaagcctggttaaatcgcttgcctctctgctggtagtaaccagcggc
+agtgcaattggtcgcgaaggtgcgatgattcttttagctgcccttgccgcctcctgtttt
+gcccaacgttttacgccacgccaggagtggaaattatggatcgcctgtggggccgcggcg
+ggaatggctgcggcctatcgtgccccgcttgctggcagtttatttatagccgaagtgctg
+tttggcactatgatgttggcctctctcggcccggtgattatttccgccgtcgtggcattg
+ctggttagcaatctgattaatcatagcgacgcgttactctacaacgtacaactctcagtg
+acggttcaggctcgtgactatgcgctgattatcagtacaggtgtgctggcaggtctgtgc
+ggaccactgttgttaacgttaatgaacgcctgtcatcgtggatttgtgagtctcaaactt
+gcgccgccctggcaactggcactaggcgggttgatcgtgggtctgctttccctgttcaca
+cctgcagtgtggggcaacggctatagcaccgtacaatcctttttaaccgccccaccactg
+ttaatgatcattgccgggatcttcctttgtaaactgtgtgccgtgctggcgagtagcggt
+tccggcgcacccggtggggtctttacaccgacgctatttatcggtcttgccattggcatg
+ttgtatggtcgtagcctgggattatggttccctgatggcgaagaaattacacttttactc
+ggattgaccgggatggcgacactgttggcggcgaccacgcacgcgccgattatgtcgacg
+ttgatgatatgtgaaatgaccggggagtatcagctactccccggtttattgattgcctgc
+gtaattgcgtcggtaatttcgcggacgttacaccgtgactctatctaccgccagcacact
+gcgcagcatagctaagcggatgtattgccccagttcacgctgttcggcgcgcggcagata
+aggcagttcaccaatgagcggtgccggaagttttttacccagcacatcaatgatttccgc
+ataatgcgccagtcctgggttgattcggttagccacccagccaatgagcggcagcccgtc
+gttggcgatcgcctgagctgttagcagtgcatggttaatgcaaccttcctgaataccgac
+aaccatcaacaccggcagttgttcctgcactacccattcagagagtggacgcaaatcatt
+catcagactgcgccagccgccagtcccttctaccacgacatgatcgactttttcggtcag
+gtttgccaggccgtttgaaatgagggtgtaattgattgggcaactgtgcgccacgctact
+ttcttcttcgcttaacgcgataggattaactgcttcataaggcagttcgatggttgaaac
+actctgcaacaccagggcatctttattacgcagcccttcgggtgtctctttgctcccctt
+cgctacgggtttatatcccgcaaccgtttttccctgggaggctaacgcttgtagcaatgc
+gcgggaaaccaccgttttccctacagaagtgtctgtaccggtaataaagaaacgcttcag
+catcactaactccaccgttatgcttcacaaatataaaccaggaaaataattaaccttgaa
+agtctaagttatgctttcctggcccaaattgagatagcgcaaattttggtagaacagtta
+aaaaatgttaaccctgcaacagacgaatcaacaaagaaccgttatacatcgcgtctttta
+ccagtgcagcgcctgccatcgtgccctggttagaaaactgagtactctcaacgctgatgt
+gctgactatacgcaggaagggcctgctgacggatgctgtctgagatgaccgggaagagga
+tatctgccgctttacttaacggtgagccaatcagtattttttgtgggttaaataaattca
+ccatgatggcaagaatgcgcccgacatgcgcgcccaccccggtaatgatgtcttttgcca
+gtagatcgccgcgcaatgccgcctgacacaatgagtccacggttaacggttgtccatgta
+acatcgagctcatggattgattaagacgcagctgtgccagctcaagaatactgtccacgc
+tggcgatggtttcgaggcagccgtgattcccgcaataacagcgtttcccatacgggtcga
+cctgtgtgtggcctatttccacgagactactgctgcctgcgtgtagcagatgaccatcgg
+taatgacgcccgcccccacgttgtgatcgataaccacctgaatcacatcgcgcgccccgc
+gtgaggcaccaaacaaggcctctgccatcgtccatgcgctgatatcatgctgaatataaa
+ccggaacgccggtatgctgctccagcgcctcgccgagcggcatctcttttacatcctcgt
+agaacggcatgcgatgtacaataccattttccgtatcaataattcccggcaaggttatgg
+caatcgaagttagacgctcaagttttttctggtggcggataaaaaactgatcgatatggg
+aaataatacgatccagcaatggcaagtcatcttttaacgccagttcctgcgactcttcca
+ccaccagtttgctgctcagatcgcgcagagcaaggaaaatctccccgcgactaatgcgca
+gagaaagatagtgccaggcttcagtttcaaccaccagccccaccgccggacggccacggt
+tccccgcttctttgatttccagctcttgcaccaggtgtgcttcgagcatctcacggacaa
+ttttagtgatactggcaggagccagttgcgccagacgggaaagatcgatacgcgagactg
+gaccaagctgatcaatcaggcgataaaccgcgcccgcgttggtctgctttatttgatcaa
+tgtgcccaggctggttttcagcaaccaccgcatactccctatattttcgcgctccgaaat
+aatctgtaggctatggtgaagcacttcaatacgtgtcgtcaaatttttacttaggcatgt
+gattaacagcacatttttcgggctttttcgctgaaatttccctcacctgagagcattcag
+cagatgaatacgaaagttacgcgcagccggactttgttcatgatgtttcggccagaccaa
+ccacatttcagaaaccgcatcctcttcagcaatcggcacccagcgcatttcgttgagctg
+aacacgtttaaatgacgcaggcaaaattgaaacacccagaccggcggaaaccagaccgat
+gatggtcattgcctcgcccacctcctgagtgatgacgggcgtcaaatggtaacgtcgcat
+cagcccgagaatatcgtcatacagccctgtcccgacgtgcggatcaaaaaagacaaaggg
+ttctttcgccagttcagccagcgttacattcgggttatttgccaggggatgatcgtgcgg
+gatcatcgccataagcggttcatggacgatgactgcgtgttcaagcgactccggtaacgc
+tgtgttacgcagcaatcccatatccagcgttccttcaatgagcggagcgatttgctcgcg
+agtgttcatttcgcgggtttgtaaatggacatcaggataatcacggcgaaacagcgataa
+cgtatcggacaccgcccgaataaaaggagccgacgaagtaaaaccaatgcgcaactcccc
+cgcttcaccctgatgcagcctttcagcgcgagcggcagcgtcatccaccatagacaggat
+ttgccgactatctgcaagaaactgttttcctgctgccgtcagcaatacactgcgattggt
+tcgtgccagcagtcgggcaccaatttgttgctccagcgcctgaatctgctgacttagcgg
+cggttgcgaaatattcaggcgggcagcggcgcgcccgaaatgcagctcttccgcaacagc
+aacaaagtaacgcagatgacgaagttcaatattcatatttaaaacatcttatttgagatt
+attaatatattagacagaacaattcgattttcctaccctatgtataagcctgatctacag
+gcatatttagcaaggatttcaagtgagccgtactacaactgttgatggcgctccggcaag
+cgacactgacaagcaaagcatttctcagccaaatcaatttattaaacgcggtacgccgca
+atttatgcgcgtcaccctggcgctgttctctgccggactggcaacatttgcacttctcta
+ttgtgtgcagcctatccttccggtgctttcgcaggagtttggcttaacccccgcgaacag
+tagtatttcactgtccatttccacggcgatgttggctattggtttgctgtttactggccc
+gctatccgatgccattggtcgcaaaccagtgatggtcacggcgctactgttggcctccat
+ttgtacgttactttcgacaatgatgaccagctggcacggcattttgattatgcgcgcctt
+gattgggctttcgttaagtggcgtggcagctgttggcatgacttatcttagcgaggaaat
+ccatcccagtttcgtggccttttcaatggggttgtatatcagcggcaactcaattggcgg
+catgagcggacgcttaattagcggtgtcttcacggactttttcaactggcgaattgctct
+ggcggcaatcggttgtttcgcgctggcctcggcgttgatgttctggaaaatcctccctga
+atcacgccattttcgcccgacttcgctgcgccctaagacgttgtttatcaactttcgtct
+gcactggcgtgaccggggattaccgttattgttcgcagaaggctttttgctgatggggtc
+gttcgtcacgctgtttaattacatcggctatcggttgatgctctccccctggcatgtcag
+tcaggccgtggttggcttattatcgctggcttatttgaccggtacatggagctcacccaa
+agccggaaccatgaccacccgctatgggcgtggtccagtgatgttgttttcgacgggggt
+tatgctgtttggtttactgatgaccttattcagctcgctgtggctgatctttgccggaat
+gttactcttctcagcaggattcttcgcagcccactcagtagccagcagctggatcggccc
+ccgcgcaaaacgcgctaaaggccaggcctcctcgctgtatctgttcagttactatctggg
+gtcgagtattgccgggacgctgggtggtgttttctggcataactatggctggaacggcgt
+cggcgcatttattgctctgatgctggtcattgctctgctggtcgggacgcgtttgcatcg
+tcgtctgcacgcctgaaaaataagtccggactgcggtaaatacccgtccggacttattgc
+cagctcaaaccaacgttaatagccatcctaaaatagacgaagcgccagccaattcccgca
+gcgcgtctagcgtcatcaggattataagtacccaaataaacggattcattttgctgtgtg
+tcatttattactgatgcgcagttattctactgctttgtaagtagtaaaatagttaacccg
+atcaagactactattattggtagctaaatttcccttaagtcacaatacgttattatcaac
+gctgtaatttattcagcgtttgtacatatcgttacacgctgaaaccaaccactcacggaa
+gtctgccattcccagggatatagttatttcaacggccccgcagtggggttaaatgaaaaa
+acaaattgagggtatgacaatgaaaaaagtattagctctggttgttgccgctgctatggg
+tctgtcttctgccgcctttgctgcagagactacgaccacacctgctccgactgcgacgac
+caccaaagcagcgccggcgaaaactacacatcataaaaaacagcataaagcagcacctgc
+ccagaaagcgcaggcggctaaaaagcatcataaaaatacgaaagctgaacagaaagcccc
+tgaacaaaaagcgcaggcagcgaagaaacacgccaagaaacacagccatcagcaaccggc
+aaaacctgctgcacaacccgcagcgtaagttttcaacagtaatgctggcgcgccccctcg
+cgcctgaaaattacggtgctaagcgggtaacgtttagcaccgcctttagcggagggtagt
+atggtgggccgttatcgctttgagttcattctgatcatccttattttatgcgcactgatt
+accgcccgtttttatctttcctgattgtagttatctgattttactcccactttcatcccg
+tcccgtctatagtatttatgagggtttgcttttaataatcataattacccaccagagtgt
+gatatgcgtacaaccattgctgtagtgttgggtgcaattagtttgacgtctgcttttgtg
+tttgcagataaaccagacgttgccagatcggcaaacgatgaggtcagcaccctgtttttt
+ggtcatgatgatcgtgtgccagtgaatgacacgacccaatcaccgtgggatgcggttggg
+caactggaaacggccagcggcaatttatgtacggcgacgctgattgcacccaatctggca
+ttaacggcaggacactgtttattgacacctccaaagggtaaagccgataaagcagtggcg
+ctgcgttttgtgtcaaataaaggtctttggcgctatgagatccacgacatagaaggccgc
+gttgatccgacactgggaaagcggttaaaagcagatggggatggttggattgtacctccc
+gcagccgcgccgtgggacttcggattgattgtgctacgtaatcccccttctggcattacg
+ccgttgccgttatttgagggagataaagccgcgcttaccgccgcattaaaagcggcaggt
+cgtaaagtgactcaggcaggctaccctgaagatcatctcgatacgttgtacagtcatcaa
+aactgtgaagtgactggctgggcgcaaacgtcggtgatgtcacatcagtgcgataccttg
+ccgggtgacagcggttcgcctctgatgttgcataccgatgacggctggcaattaattggg
+gtgcaaagttcggctcctgccgcgaaagatcgctggcgcgccgataaccgggccatttct
+gttaccggttttcgcgacaagctggatcaactgtcgcaaaaataatgttcaaacgctgcc
+cgacagcgcgggcagcgtcttcatcaggcaagtttcaccatgatcattccagccaacagc
+aagaccaggccaatccagcctttacgatttaaccgttgaccaaacaagatccaacctgcg
+gctaacgtggcggcaataccaaacccgccccacaatgcataagcgacagacaagtcgatc
+cctttaacggcttgagaaagcgcactaaaggcagccagcaccgccgccagggagagcaag
+ccaaatattttgcgacgaaagccgtcagaaaatttcaaaaagacgttagcaacgatttcc
+agcacgattgccaatgccagccaggcggcgtgaacccattcaaactgcgccatggttcac
+ctccagttcaggtttacgcgctttacgggtacctgattttatcaacacaatcccggcgac
+cagggtggttaacccggcaattttcatcagcgataaactttcgtcgaataacaaaacgct
+aaacaaggtaataaataaaataccgataccttcccacagcgcataagctacgcctaaggc
+gatttttttaacggcgaaagagagaaatatatacgacagagaaatcatcaccagcattaa
+aataaagccgccatttccctcactgacgctcgcccatttcattgacagcgtaccggtaat
+ttctgtagcaatagccagacctaataaaatccaataaatatacattgtccttctcctgca
+agagaattattttaattttcgcttaattcagcgaaaccaaagtaaagtggtcaagccccg
+cgcatagcgcaagctttggcagaagaaaggactaaagcgcgttgcgccagtgctgctcac
+ctacgagcaagatagtggatgaggtacgaagatgggtaaatgtagaaaataacgtcctga
+acaaattgtccataatattacaattatccgcagtgttgcttctcgtcatcgcggatgata
+attgtcctcggtagttgaacacgcctgatttgtatcatagcttaagaattaactcaaaat
+attttcacttctttacctgagcggtttgattttcgttatgatgacggagcgaaaaagaca
+ttattattagcaaaggaagaaaaaacggggacaagcatggcaaagccgatcatcacgctc
+aatggcctaaaaatcgtcattatgttgggaatgctggtcattattctctgcggtatccgt
+tttgccgccgagatcatcgtgccgtttattctcgcattatttattgctgttattcttaac
+ccgctggtgcaacacatggtccgctggcgtgtgccgcgtgtactggcggtgtcgattttg
+atgaccatcatcgtgatggcgatggtgttgctattagcttatctgggttccgcgctcaac
+gagttgacgcggacgttaccgcaatatcgcaactctattatgacgccgctgcaagcgctt
+gaaccgttgttgcaacgcgtagggattgacgtctcagttgaccagctggcgcattatatt
+gatccgaacgcggcgatgacgttgctcaccaacttattgacgcagttatctaatgccatg
+tcatcaatatttttattgctgctgacggtgctgtttatgctgctcgaagtgccacaattg
+cccggaaaatttcagcaaatgatggcgcgtccggttgaagggatggcggcgattcaacgt
+gcgattgacagtgtttctcattatctggtgctgaaaacagccatcagcatcatcaccggc
+ctggtcgcctgggcgatgctcgccgcactcgatgttcgcttcgcttttgtctggggattg
+ctggcctttgcgcttaattacatcccgaatattggttcagtcctcgcggcaatcccccct
+atcgctcaggtactggtgtttaatggcttctacgaagcgttgctggtgctggcgggatat
+ctgctgattaatctggtcttcggcaatattctggagccgcgtatcatggggcgtgggctg
+gggctttccacattggtggtatttttgtcgttgattttttggggatggttgttaggaccg
+gtgggtatgctgctttccgtgccgttgacaattattgtcaaaattgcgcttgaacaaaca
+gcgggaggtcaaagcatcgccgttctgttaagcgatctcaataaagagtgacggcctcag
+cagaggccgtcagggttacagagctttcaggattgcatccacgctggctttggcgtcacc
+aaacagcatgtgggtgttttccttgaagaacagcgggttttgcacaccagcatagccagt
+gttcatcgaacgtttaaagacaatcacgttctgcgctttccacacttccagcacaggcat
+accagcaatcggactcttcggatcatcctgcgccgccgggttaaccgtatcgttagcacc
+aatcaccagtacggtatcggtatcagcaaagtcatcattgatctcgtccatttccagcac
+gatgtcatacggtacttttgcttcagccagcaatacgttcatatgtccaggcaaacgccc
+cgcgaccgggtggataccgaaacgcacattaataccacgagcgcgcaatttctcagtaat
+ttcagcgacaggatattgcgcctgcgcgactgccatgccgtaccccggagtaatgatcac
+tgaatgggagtttttcagcagttccgctgtctcttctgcggtgatttcgcggtgctcacc
+cacttcctgatcatcgccagtagaagagccgtcggtgccgaaaccacccgcaataacgct
+gataaaggaacggttcatcgccttacacataatgtaagaaaggatagcccccgaagaacc
+gaccagcgcaccggtcacaatcagcaggtcgttgctgagcataaagcccgcagccgcagc
+cgcccagccggagtacgagttcagcatcgacaccaccactggcatatctgcaccaccgat
+ggaggcgactaaatgccagccgaataccagcgcaattgcggtcattatcagcaatgccag
+cacttgcaggccgacgctgtccgtgcgaacaaatacaatcagcagcaggaaggaaacgac
+cagagccgccaggttcattttgtgacggtttggcagcatcaatggtttagacgaaatctt
+gccacacagtttgccgaacgccaccaccgaacccgtgaacgttaccgccccgatgaagat
+accgaggaacacttccgtcaggtgaatattgaccagaatcggtgccattcccgcgtcatg
+atgcagatagctgttaaagccaaccagcactgccgccagacccacgaagctatgcaggat
+cgccaccagttctggcatttcggtcatttcaactttcttcgccagacggataccaattgc
+cccaccaatgaccatcgccagcaagatccagccaacattacccgtatccggtccaaaaat
+ggttgcgattaacgcaatcgccatcccggcgataccgaagttgttaccctggcgagacgt
+ttcatgtttcgaaagaccggccagactgaagataaacaggatcgcggcaacaatgtatgc
+agctgtaactaatcctccagacatatgttaccccttaatttttgcggaacattttcagca
+tgcgctgagtcacggtgaagccaccgaaaatattaatgctggctataagcaccgcgataa
+aactaaggaagctaacccagccgccctggccaatctgcaacagtgctccgacaacaataa
+tccctgaaatcgcgttggtgaccgacatcaacggtgtatgcagcgcgtgcgatacattcc
+acaccacgtaataaccgacaacgcaggccagcgcgaaaacggtgaagtgcccaaggaatt
+ctttcggcgcaacgcttgccatccagccaaaaagaatgattgccagcgccatcaacgcgt
+atttacgccacggtgagcaggtacatttttcctcagttttcacttccggtgccgcttttt
+gtgccgcctgcggctgagctgatacctgaatcggcggtgccggccaggtaatttcgcccg
+cacggatcacggtcacgccgcgaatcaccacatcatcaaaatcaacagtgatattgccgt
+ctttctctttgcacaacagtttcagcagattaacgaggtttgtgccgtaaagctgtgagg
+attgcgtcggcagacggcccggaagatcggtataaccaatcactttgacaccattttccg
+tagtgaagatttcacccggcacggtgtattcacagttgccgccgttttgggctgccaggt
+cgacaatcacactgcccgccttcatggagtcaaccatttcacgggtaattagcttcggcg
+ctggtttgcctggaataagcgcggtggtgacaatgatatcgacctcttttgcctgggcgg
+caaagagttccatttccgctttgatgaacgcgtccgacatcactttggcatagccatcgc
+cgctgccagcttcctctttaaaatccagctcgaggaattccgcgcccatactttgaactt
+gttctttcacttccgggcgggtgtcgaatgcacgcacaatcgcgccgagactgtttgctg
+cgccaatggcggccagacctgcaacacccgcaccaatcaccatcacttttgccggtggca
+ctttcccggccgcagtaatttgcccggtaaagaagcgcccaaattcatgtgccgcttcaa
+caatggcgcgataaccggcgatgttcgccatcgagcttagtgcgtccagcgattgtgcgc
+gtgagatacgcggcacagagtccatcgccatcacggtcacgttacgttccgcaagttttt
+gcattaattccggattctgcgcaggccagataaaactcaccagcgttgtcccaggattca
+gtaacgcaatttcatcatctaacggcgcattgaccttcagaatgatctctgactgccaga
+cgctattcccttctacaatttcagcgcccgcttgcacaaacgctttatcgtcaaaacttg
+ccagttgacccgcgccgctctctaccgcgacggtaaaacccagtttcagcagctgttcca
+ctgtttttggcgttgctgcaacacgggtttcattggttaaccgttctcttggtatgccaa
+ttcgcatgatattcccttccatcggttttattgatgatggtttgcctgtgtcaggagcca
+cacaagctgctcatgtacgagctaaatgttactccgttaaaataaattagtaacaaacgc
+cctataacgtactgaaaattatgcctgtgatctagcgccaaaaatcagtatttcggcgtg
+aactcgcaaaatattaacgattcagccgtgatagtgggataaacaccttagaacgccgga
+taaagactgataattgtcttcgacggtcgggtaaaacgagacatcgccccggcacgaatc
+actacttaacattaaattaacttatacaattcagttgcttcagtagtaatgatgctgata
+cggctgttttttaagcatagacggtcatttgagcaggattaaaattggcttaaggaatgt
+gatatgaaaaatgacgcagacagttacaccgtttaaatgcaataatcagccacgtttctc
+gttaataacaataccagtacctggtttgcgcaaggcgaaggattatttttatgaagctta
+agaacaccctcctggcgtcggcactgctttctgctatggcattctccgttaacgcagcaa
+cagaactgacaccggagcaagcggcagcggttaaaccttttgaccgtgtagtggttaccg
+gtcgttttaatgctattggcgaagcggtgaaagccgtttctcgtcgcgcagataaagaag
+gtgccgcctctttttatgttgtcgacacttctgattttggtaacagcggtaactggcgtg
+tggtcgctgacctctataaagccgatgctgaaaaagcagaagaaacaagtaatcgcgtaa
+ttaacggtgttgtcgaactgccgaaagatcaggctgttctgattgaaccgtttgacacgg
+tcaccgtccagggcttctatcgtagccagccagaagtcaatgatgccatcaccaaagcgg
+caaaagcgaaaggtgcctactctttctacatcgttcgtcaaatcgatgccaaccagggcg
+gcaaccagcgtattactgcattcatctataaaaaagatgctaagaaacgtatcgtccaga
+gcccggatgtgatcccggcagattccgaagcaggacgtgcagctctggctgccggtggcg
+aagccgcgaagaaagttgagatcccgggtgttgcgactaccgcatcaccaagttctgaag
+tcggtcgcttctttgaaacccagtcatcaaaaggcgggcgttacaccgtcacgctcccgg
+atggcactaaagtcgaagaactgaacaaagcgaccgcagcgatgatggtcccgttcgaca
+gcatcaaattctctggcaactacggcaacatgaccgaagtctcctatcaggttgcgaaac
+gtgccgcgaagaaaggtgctaagtattaccacatcacccgccagtggcaggaacgtggta
+ataacctgaccgtcagcgcagatctgtataaataactattcagttactcctataaggcgg
+cttgatgccgcctttcgcatttttagtcacaaatttccccgcgaccattgcatgcagaca
+catctcttcgtaaaatcccgcgcttcagtggcaaactccatttttatgcgttttgcccta
+atatttattcttcttatcacgttttaatcactggatatcgatggaaaagaaactgggact
+gagcgcactcaccgcgctggtattaagctcaatgctgggcgcgggtgttttcagtctgcc
+gcaaaatatggcggcagttgccagcccggcagcactgctcatcggctggggtattactgg
+cgctggcattttattgctggcctttgccatgctgatcctcacgcgcattcgtcccgaact
+tgacggcggtatctttacctatgcccgcgaagggtttggcgagctaatcggcttttgttc
+cgcatggggatactggctgtgcgcagtcatcgccaacgtctcctatctggtgatcgtttt
+ttccgcgttaagcttttttacggacacgccggaattgcgcctgtttggcgatggtaatac
+ctggcaatcgatagtcggtgcatcggctttattgtggattgttcactttttgatcctgcg
+cggggtgcaaaccgctgccagcattaacctggtggcgacactggcaaaattgttgccgct
+gggtctgtttgttgtgctggcgatgatgatgttcaaactggataccttcaagctcgactt
+caccggacttgcacttggcgtacccgtttgggaacaggtgaaaaacaccatgctgatcac
+cctgtgggttttcattggtgtggaaggtgccgtggttgtttctgcgcgtgcgcgtaataa
+acgtgatgttggcaaagcgacactgctggcggttctctccgctctgggcgtttacttgct
+ggtaacgctgctttcgctgggtgtggtggcacgtcctgaactggctgaaattcgtaaccc
+gtcaatggccggtctgatggtggaaatgatgggaccatggggcgaaatcatcatcgctgc
+cggtttgatcgtttccgtttgcggcgcgtacttaagctggaccatcatggcagcagaagt
+accgttcctggccgccactcataaagcattcccgcgcatttttgcgcgccagaacgcaca
+agctgcgccatccgcctcactgtggttgaccaacatctgcgtgcaaatttgtctggtact
+catctggctgaccggttccgattacaacacgttgctgaccatcgcctcagaaatgattct
+ggtgccctatttcctggtcggcgcgttcttgctgaaaatcgcaacccgtccactgcataa
+agcggtaggtgtcggtgcctgcatttatggcttatggttattgtacgcctctggtccaat
+gcacttgctgttatccgttgttctgtatgcaccggggctgctggttttcctgtacgcgcg
+caaaacgcatacccatgataatgtactgaaccgtcaggaaatggtgctgattggcatgct
+gttaattgcctcagttccggcgacctggatgctggtgggataacgttcatcccatcgttg
+gatagcaaaggagataacgatgggtaaaacccagcccttgccaatattaattactggcgg
+aggtcgtcgcatcggcctcgccctcgcatggcatttcattaatcaaaagcaaccggtgat
+tgtcagctatcggacacactatccagccattgatggactgattaatgcaggtgcgcagtg
+tattcaggctgatttttcgaccaacgacggtgtgatggcgtttgccgatgaagtactaaa
+aagcacccatggtctgcgtgctattttgcataacgccagtgcgtggatggcggaaaaacc
+gggtgcgccactggccgacgtactggcttgcatgatgcagatccacgttaataccccata
+cctgctcaaccatgcgctggaaagattactgcgtgggcacggacacgccgccagcgatat
+cattcactttaccgattatgtggtggagcgcggtagcgacaaacatattgcgtatgctgc
+aagcaaagcggcactggataatatgacccgctcgtttgcccgcaagctggcaccggaagt
+gaaagtgaattctattgcgccatcgctgatcctgtttaatgaacatgatgatgccgaata
+tcgacaacaggcgctgaataaatcactgatgaaaaccgcgcctggcgagaaagaagtgat
+cgacctggtcgattacttacttaccagttgctttgtcaccggacgcagtttcccacttga
+tggcggtcgtcatctgcgttaatgcagctttatccagcatataatcaacacccatgcgct
+tatcccccaacacgcaacagaaccaacaaaagcggcgggcaagcgcatcattccggtgaa
+ataccacagcgacaccaggtaaacaaaatagggaataatcgaccacatactaaaaatgat
+ggttgcgcgtaaggcttcaatgccgcgttcgctggcaacaatataatgcgcgataagcgc
+aaaggtcgggaaaagtggaatcagcccggcgatataataatttttcgtttttgctaaaac
+accaatcaacagcactaccagcgcaccgagcgcggctttgattaccagccccatcttttt
+accttaacacttccataacaagtcatcagtagaatacctgatgaaaacttgtttagaaac
+gattgatagtaagtaaaaacagcgcggtgtattgtgacgtttttatatctaccgtgaatg
+ttatgaacactatcgtatttgtggaagatgatgcggaagtcggttcactgattgccgcgt
+acctggcaaaacatgatatgcaggttaccgtagagccgcgcggcgaccaggccgaagaaa
+ccattttgcgagaaaatccggatttggtgttactcgacatcatgctaccaggcaaggacg
+gcatgaccatttgtcgtgatttacgcgcaaagtggtctggaccgattgttcttctaacct
+ctctcgatagcgatatgaaccacatcctggcactggaaatgggtgcctgcgactatattc
+tcaaaacgacgccccctgctgttttgctagcgcgtttacgtttgcatttgcgtcagaatg
+agcaagccacactgaccaaaggtcttcaggaaacgtctctgactccctacaaagccctgc
+atttcggcacgttgaccatcgatcccatcaaccgcgtagtcaccctggctaacactgaaa
+tctcgctctcgacagctgatttcgaattattgtgggaattagctacccatgccgggcaaa
+tcatggaccgcgatgcattgctgaaaaatttacgcggcgtcagttatgacggactggatc
+gtagcgtggacgtggctatttcgcggttaagaaaaaaactgctcgataacgccgcagaac
+cttatcgcattaaaactgtgcgtaacaaaggctatctttttgcgcctcatgcatgggaat
+aagcgatgaaaaaactgtttatccagttttacctgttattgtttgtctgcttccttgtga
+tgtctctgctggttgggctggtgtacaaatttaccgccgaacgcgcgggcaaacagtcgc
+tggatgatttgatgaacagttcgctgtatctgatgcgcagcgaattgcgtgagatccccc
+cacacgactggggtaaaactctgaaagagatggatttaaatctctctttcgatctgcgtg
+tcgagccactgagtaaataccatcttgatgatatttccatgcaccgactgcgtggcggcg
+aaattgtcgccctggacgatcagtacacgtttttgcagcgtatcccgcgcagccactacg
+tgctggcagttggtcctgttccttatctttattatctccatcagatgcgattgctggata
+tcgccctgatcgcttttattgctatttccctcgcctttccggtgtttatctggatgcgtc
+cgcactggcaggatatgttaaaactggaagcagcggcgcaacgatttggcgatgggcatc
+tcaatgaacgtatccactttgatgagggttcgagctttgaacgacttggcgtcgcattta
+accagatggcggacaatatcaacgccttaattgccagcaaaaaacagcttattgacggta
+tcgctcacgaactgcgaacaccgttagtgcgcctgcgttatcgactggagatgagcgata
+acctgagcgccgccgaatcccaggcgttgaatcgtgatatcagtcaacttgaagctttaa
+ttgaagagctgctgacttatgcccgactcgatcgcccacaaaacgagcttcatcttagcg
+aaccagacctgccgttgtggctgtcaacgcatctggcagatattcaggcagtaacgcccg
+ataaaacggtacggataaaaacgctcgtgcaaggccattatgcggcgttggatatgcgct
+taatggagcgcgtgctggataatttgctcaataacgccctgcggtactgccattcaacgg
+ttgaaaccagcctgctactgtcggggaatagagcgacattaattgttgaggatgatggcc
+cagggattgccccagaaaaccgcgaacatatctttgaaccttttgttcgcctcgatccca
+gccgggatcgctcaaccggcggctgcgggctggggctggcaattgtccactctatagcac
+tggcaatgggcggtacggttaattgtgacaccagcgaactgggtggtgcccgcttctcgt
+ttagctggccgttatggcataacatcccgcaatttacctctgcctgacactacgcgcacg
+atggtcaagtcaccacgactgtgctataaaataagtatgttgtaactaaagtggttaata
+ttatggcgcgttacgatctcgtagaccgactcaacactacctttcgccagatggaacaag
+agctggctatatttgccgctcatcttgagcaacacaagctattggttgcccgcgtgttct
+ctttgccggaggtaaaaaaagaggatgagcataatccgcttaatcgtattgaggtaaaac
+aacatctcggcaacgacgcgcagtcgctggcgttgcgtcatttccgccatttatttattc
+aacaacagtccgaaaatcgcagcagcaaggccgctgtccgtctgcctggcgtgttgtgtt
+accaggtcgataacctttcgcaagcagcgttggtcagtcatattcagcacatcaataaac
+tcaagaccacgttcgagcatatcgtcacggttgaatcagaactccccaccgcggcacgtt
+ttgaatgggtgcatcgtcatttgccggggctgatcacccttaatgcttaccgcacgctca
+ccgttctgcacgaccccgccactttacgctttggttgggctaataaacatatcattaaga
+atttacatcgtgatgaagtcctggcacagctggaaaaaagcctgaaatcaccacgcagtg
+tcgcaccgtggacgcgcgaggagtggcaaagaaaactggagcgagagtatcaggatatcg
+ctgccctgccacagaacgcgaagttaaaaatcaaacgtccggtgaaggtgcagccgattg
+cccgcgtctggtacaaaggagatcaaaaacaagtccaacacgcctgccctacaccactga
+ttgcactgattaatcgggataatggcgcgggcgtgccggacgttggtgagttgttaaatt
+acgatgccgacaatgtgcagcaccgttataaacctcaggcgcagccgcttcgtttgatca
+ttccacggctgcacctgtatgttgcagattaacgcccggctttcatactgccgaccatct
+gttctggccgtacccagctgtcaaactcggcttcgctaagataccccagcgcaagggccg
+cagcttttaaggtcagcccttctttatgcgcttttttggcgatctcggcggctttgtcat
+aaccaatgtgggtgttaagcgcagtcaccagcatcagcgattcattgagtaattgattga
+ttcgctcacgattcggttcaatacccactgcgcagtgtttgttaaaactttccatgccat
+ctgccagcaagcgcaccgattgcaggaaattgtggatcaccattggacggaagacgttca
+gttcaaagttaccggaagcgccccccatgttgatcgccacgtcgttccccatcacctgac
+agcagagcatggttaatgcctcacactgtgttgggttcactttccccggcatgattgagc
+tgcccggctcattttccgggattgagatttcaccaattccgcagcgcgggccagaggcca
+gccagcggacatcattggcgattttcatcagtgacgcagccaaccctttcaacgcgccgt
+gcgcctgaaccagggcatcacaggtcgccagcgcttcaaatttgttcggcgcggtaacaa
+acggtgcacaggtaatgactgccagttcatctgctacgcgacgcgcatactccggatggg
+tatttagtccagtacccaccgctgtaccgccaagagccagttccgctacgtgaggcaggc
+tgtattcgatatgtttgagattatgctcgagcatcgctacccagccggaaatctcctgcc
+ccagcgttaacggcgtggcatcctgcaagtgagtacgaccaattttgacgatatcggcaa
+aagcacgggatttctcattcagtgtctgtgtcagggttttaagctgaggaatgagttgct
+tgcgcagcgccagcagcgccgcaacgtgcatcgccgtcggaaagacatcgttggaacttt
+ggcttttgttcacgtcgtcgttagggtgaactttacgttccatcccgcgcacaccgccga
+gtaattcactggcccggttagccagcacttcgttcatgttcatgttactttgcgtgccgg
+agccggtctgccagatagccagcgggaattcgtcgtcatgctgtcctgccagtacttcat
+ccgccgcctgacgaatggcgctcgctttctcttcagacaacaagcctaaatcttcattaa
+cttttgccgctgcacgcttggttagcgccagcgcatgaatcagtgaggtgggcattttct
+ccgtcgaaatgcggaaatgctccagcgagcgttgagtttgtgcgccccacagcttatctg
+ccgggacatcaatcgcccccatcgaatctttttcgctgcgtactgtattcatgacctgct
+cctcacctgattaattttttctttctgttttgctttcgttaagcaacttttagctcactt
+attatttaccatttgataacaaatgtttggtctttcgtgccatgtaaaaaaaccgccccg
+aagggcggctctgtttatttcacacagcgggtgcattgtgtgagttgtatctgctggaag
+aagtcatttcctttatcatccacaaggataaacgccgggaaatcttccacttcaattttc
+cagatggcttccattcccagttccggatattcaacacattccaggctcttaatacttccc
+tgcgccaatacagcggccggaccaccgatactgccaaggtagaagccgccgtgtttttta
+caggcatccgtcacctgctggctgcggttgcctttcgccagcatgatcatacttccgccc
+tgcgcttgcagttgatcgacataagaatccatccgtccggcggtcgttgggccaagagaa
+ccggaggcataaccttccggcgttttggccggacccgcgtagtaaatcggatgatctttg
+atgtactgcggcagcccttcaccgttatccatccgctctttcagtttggcgtgagcaata
+tcacgaccgacgataatcgtgccgttaagcgataagcgtgtagaaacgggatactgcgac
+aactgtgcgaggatctctttcatcggacggttaaggtcaacgcgcaccgcttcgccttct
+cccgctttgcgcagctcttccgggatatatttgcctggattatgttccagtttttcgatc
+cagatcccctgacggttgatcttcgctttgatattacggtcagcagagcaggagacgccc
+ataccgaccgggcaggatgcgccgtgacgtggcaggcgaatcacgcggatgtcgtgagcg
+aagtatttaccaccaaactgcgcacccagaccaagattttgcgcttcgatcagcaattct
+ttttccagttccacatcgcggaacgcctgaccgtgctcattcccttccgttggcagttca
+tcatagtatttcgcggaagccagtttcaccgttttaaggttcgtttctgcagaagttcca
+ccaataacgaacgcaatatgatacggaggacaggccgccgtacccagcgtgcgcatcttc
+tcaaccaggtaatttttcagtttccccggcgtcagtaacgctttggtttcctgatagaga
+tacgtcttgtttgccgaaccaccacctttggcgatacagaggaatttgtattcgtcgcca
+tcaacggcataaagatcgatctgcgctggcagattggtgccggtattcacttctttatac
+atatccagcggcgcgttttgcgagtagcgcagattatcttcgatataagtgttatagaca
+ccgcgcgccagcgccgcttcatcaccaccaccggtccatacacgctgcccttttttacca
+acaataatcgcggtgccggtatcctgacaggttggcagaacgcctttcgccgcgatgtcg
+gagttacgcaggaattgcagcgccacatatttatcattttcgctggcctccgggtcacgc
+agaatgtcggccacctgttgttggtgcgccggacgcagcatgaacgacgcatcatgaaac
+gcctggcgcgccaacagagttaacgcttcgggtgcgactttcaaaatctcctgcccttca
+aattcagatacgctaacgtgttcgctggttagcaggtaatactcagtatcatcttttttg
+agtggaaaaggagcctgataatgaaagggtttgtttgacattgttctctcacttactgcc
+tggtttggttatgctctgggcgggtgttccgttgccctgttaaaagcgagtaacaatatc
+ctacacacttttttaacaaaaactgagactagtacgactttttgcggctccaggttactt
+cccgtaggattcttgctttaatagtgggattaatttccacattaaaacagggattgatca
+tgcaaaaactcattaactcagtgcaaaactatgcctggggcagcaaaacggcgttgactg
+aactttatggtatggaaaatccgtccagccagccgatggccgagctgtggatgggcgcac
+atccgaaaagcagttcacgagtgcagaatgccgccggagatatcgtttcactgcgtgatg
+tgattgagagtgataaatcgactctgctcggagaggccgttgccaaacgctttggcgaac
+tgcctttcctgttcaaagtattatgcgcagcacagccactctccattcaggttcatccaa
+acaaacacaattctgaaatcggttttgccaaagaaaatgccgcaggtatcccgatggatg
+ccgccgagcgtaactataaagatcctaaccacaagccggagctggtttttgcgctgacgc
+ctttccttgcgatgaacgcgtttcgtgaattttccgagattgtctccctactccagccgg
+tcgcaggtgcacatccggcgattgctcactttttacaacagcctgatgccgaacgtttaa
+gcgaactgttcgccagcctgttgaatatgcagggtgaagaaaaatcccgcgcgctggcga
+ttttaaaatcggccctcgatagccagcagggtgaaccgtggcaaacgattcgtttaattt
+ctgaattttacccggaagacagcggtctgttctccccgctattgctgaatgtggtgaaat
+tgaaccctggcgaagcgatgttcctgttcgctgaaacaccgcacgcttacctgcaaggcg
+tggcgctggaagtgatggcaaactccgataacgtgctgcgtgcgggtctgacgcctaaat
+acattgatattccggaactggttgccaatgtgaaattcgaagccaaaccggctaaccagt
+tgttgacccagccggtgaaacaaggtgcagaactggacttcccgattccagtggatgatt
+ttgccttctcgctgcatgaccttagtgataaagaaaccaccattagccagcagagtgccg
+ccattttgttctgcgtcgaaggcgatgcaacgttgtggaaaggttctcagcagttacagc
+ttaaaccgggtgaatcagcgtttattgccgccaacgaatcaccggtgactgtcaaaggcc
+acggccgtttagcgcgtgtttacaacaagctgtaagagcttactgaaaaaattaacatct
+cttgctaagcttattaaaggcttataacaccttcaggcggccagtccgcctgatttcatt
+ttatggataatcattatgaataaatcgctggtagcggtaggcgtcattgttgcgctaggc
+gtagtctggacaggcggcgcatggtatacaggcaagaagattgaaacccatctcgaagac
+atggtcgcgcaggcgaacgcgcaactcaaactgacagctcctgaatccaacctggaagtg
+agttatcaaaactatcatcgcggcgtattcagcagccagttgcaactgttggtgaaaccc
+attgccgggaaagaaaatccgtggattaaaagcggtcagagcgtcatcttcaacgaatcg
+gttgatcatggtcccttcccgcttgcccagcttaaaaaactgaacctgatcccgtcgatg
+gcatcaattcaaaccacgctggttaataacgaagtaagcaaaccactgtttgatatggca
+aaaggtgaaacgccttttgagattaactcgcgcattggttacagcggtgattccagttcc
+gatatttcgctcaagccactgaattacgagcaaaaggatgaaaaagtcgcctttagcggc
+ggcgagttccagttaaatgctgacagagacggcaaagccatctccctttccggggaggcg
+caaagtggtcggatagacgcagttaacgaatacaaccagaaagtgcagttgacctttaat
+aatctgaaaaccgacggttccagcacgctggcaagttttggtgagcgtgtaggaaatcaa
+aaactgtcactggaaaaaatgaccatttcagtggaaggcaaagaactggcactgctggaa
+ggcatggagatcagcggtaaatcggatctggtcaatgacggtaaaacgatcaatagccaa
+ctggattactcgctaaacagcctgaaggtacagaatcaggatctgggcagcggcaagctg
+actttaaaagtcggccagattgatggtgaagcctggcatcagtttagccagcaatataac
+gcgcaaactcaggcgctgctggcacagccagaaattgccaacaaccccgaactttatcag
+gagaaagtgacggaagccttctttagcgccctgccgctgatgctgaaaggcgatccggtg
+attactatcgcgccgctaagctggaaaaacagtcagggtgaaagtgccctgaatctgtcg
+ctgttcctgaaagatccggcaacgactaaagaagcgccgcaaacgctggcgcaggaagta
+gatcgttcggttaaatctctggatgcgaaactgaccattccggtggatatggcaactgag
+tttatgactcaggtagcgaagctggaaggttatcaggaagatcaagcgaaaaaactggcg
+aaacagcaagttgaaggtgcatcagcaatggggcagatgttccgtctgaccaccttgcag
+gacaataccatcaccaccagcctgcaatatgctaacggtcagataacgttaaatgggcag
+aaaatgtcgttagaagattttgttggcatgtttgcgatgccagctcttaacgttccggct
+gtaccggcaattccgcagcagtaattcacggccaaaacgccggagaattttcactccggc
+gttttcatctgaaaacaaaccagagattgcctgatgcgctacgcttatcaggcctacctt
+ttcctgcaacactttgaatttatgagtttttgtaggctggataaggcgtttacgccgcat
+ccggcataaaaaacgcgcactttgtcaacaatctgaaacgccggagatttttctctccgg
+cgttattttttacttcagcataaagtcatactgaatactcattttcacatcccagtaatt
+caggcgatcgcccagcgtactgccatcgcgcttttcccgccctttatcggcagcaagaaa
+gaaattcatcccttgtaacggcccttcgctgacccgatagttcataccacctaagatacc
+cgtgccttcaatccgcacatctcgtttactggattcatagccgcgagtcacaatcggtgc
+aaatgtcagcgtaaattgcggcgttaaacgatagttgacgcccaattgccaggactgcat
+tccttcacggttacgatcaagacttaatgaaaagggatagccaatgtcggtatccaccac
+ggcaccattcattgcatggcgcaaataaccaccactgccaaatacacttccccacggcgc
+attccaggtcaattgtccactaaccaacgccgtttcattgggctggctggtattacgact
+taaaccttcgagctgcgcgtaaaagccgagcaactcccctttcaacgtataattcgggtc
+gagcggtatgcttttctcgagaatactttgtatctgattggaaacatctttctgtaccga
+tgcccccagagaatagcgactggtatcatcatgccaactggcggctaaaaaagaacgtgc
+gcgatgtttatcgtattttcccgtctggctgttatacaccccttcatcacgaataccggt
+tgttgaatcagtccataaaaatactcgtgaacgccacattccccacagatcaatatttgg
+tgttaaagcccaataacctaatgctccttcagaaactgtcggtaatgtacgttgcgaact
+gccagccattaacggaatacgataaggtaagctaccataactataatccgtcccgaagcg
+acctaatttaagcaggctattttcactgggttttatttttactgcccccagggcaaagcc
+aaaacttttatcaccatcaagataccaccgggtactcatatcagcacgagcacctaattt
+ataaacataatacgccccgccttcaacgccaataatattggaataataaccactattgaa
+atcgagcaatcctccctgtacccatgcgtaaatatctcttcccgcgccagcactgggctt
+atccgccctgcgcaattcgtttttcagtctgatgcgtagtcccgcttcatcgtcagccag
+ttgcgccgcataagcagaggtaaggccagaggcagccgtcaggcaaataacggccatggc
+cactatttttctcatagttgcacctttgatgttctgattatttttattgaatattaatta
+gtgatatcgctgattaattgctgctgcacttttttacgattatcaatttcaaccacgatt
+tctttgaattttttatccgtgagcggataaaaccagataataacgaatgccagtagcata
+aatccgcaaggtactaaggcaattgatgtgcggatgcccataataacttccggcgtttgc
+acctgattggcgatatatccgcttaaccccaaaataaaggcaggaattgaacctccgatt
+gcctgaccgcatttacgggtaaatgagaatagtgaataggtgagcccttcaattcgcacg
+ccggtcaggtattcaccgtattctacggtatcagcttccagcgcccacatcacggtcatg
+gtaacgccctgaccaattgaagcgatggccaacgcaaccaacgccaccggcagtgaccag
+acggaaacccagaagaacagcagataaccgcaggttcccagcaaagcgccaatcaggaag
+gtattctttttaccgatcctcgcgaccatccccggcaccagcggtgccgatgccacagta
+ccaaccaggttttgcaccagtaccagcacagtgaacagcccggtatcatttaacacatag
+cgcacgtagaacaacgacgaggcgctgaccgcaaaggtcgaaatcagcacacacagcgca
+ccgatgcacaacataaacagcgggcgattccgtttcagggtttgcagactgatattcaat
+gacggctgcgcaacgatacgtaccacattctcacgcgtcgatttgaagcagatgaagtaa
+agcaccattccggcaatcgccagcacaattgtccagaaatggtataccgacaccatctct
+tccgggctggagttcttaatgctcggtcctatcagaaatgccaggcagacaaaggtcaat
+gaagcggcaatcccacgagccgcgcccagacgggcgcgggattgtggttgttgggtcatc
+gcggtagcaagtgaaccataaggaatattcaccaggctgtagcaaagcccgaggcccatg
+taggtcaaatatgcatacaccactttgctaccatggctccagtcggtcagcacccagaat
+accagcacgctgaagatcattaacggcgcagtaccgaagagtaaaaacgggcggaatttt
+ccccagcgggtattcacactgtccaccactcgtccggcaaagacgtcggcgaaggcatcg
+aatacccgcaccagtaacagcatggtgcccgccgcagcggcaccgacgccagcgacgtcg
+gtgtagtaactcaacaggaagagcgcccccattgcgaaggcgaagttattggcgacgtca
+ccgaggctgtagccgacgatggtgcgccaggagagttgttgattcattgtttgcctccct
+gctgcggtttttcaccgaagttcatgccagtccagcgtttttgcagcagaaaagccgccg
+acttcggtttgcggtcgcgagtgaagatccctttcttgttaccgccaacgcgcaatatgc
+cttgcgaggtcgcaaaatcggcgaaattccatacctgttcaccgacgacggcgctgacgc
+gatcaaagacgcggtgatacatatccagccatgcacactgatactcttcactccacatgt
+cggtgtacattgagtgcagcccggctaacgtatccacgccgtattcggtgatgataatcg
+gctgatgcagtttctcctgccaggccagaagttctttttccagtaccttctctgccgttt
+ccaaatcgccgctttggacataccatccgtaataacggttcaggcacagcacatcaaaga
+gatcgctgatggtatcggtgtgagcgtcgcagaacattacattgacgcaggtgatcggac
+gcgtcgggtcgagtttacgcgttgcttccgccagtggcgcgaaatattcccgtgcacctt
+gcggacgggtatccggttcgttggcaatactccacatcaccacgcttgggtggtttttgt
+cacgcgctatcagctctttaatcgcctgtaagtgcgcttgctgagtttccccgttgactg
+cctcttcgctgtacagttctttcggcttgttgcccgcttcgaaaccaatgcctaaagaga
+ggttaaagccgacagcagcagtttcatcaatcaccacgatgccatgttcatctgcccagt
+cgagcatctcttcagcgtaagggtaatgcgaggtacggtaggagttggccccaatccagt
+ccattaatgcgtggtcgtgcaccatcagcacgttatcgaatcctttgccacgcaagtccg
+catcttcatgacgaccaaagccagtaaagtagaacggtttgtggttaatcaggaactgtt
+cgcccttcactgccactgaccggatgccgacgcgaagcgggtagatatcacactctgtct
+ggcttttggctgtgacgcacagttcatagagataaccttcacccggttgccagaggtgcg
+gattcaccacttgcaaagtcccgctagtgccttgtccagttgcaaccacctgttgatccg
+catcacgcagttcaacgctgacatcaccattggccaccacctgccagtcaacagacgcgt
+ggttacagtcttgcgcgacatgcgtcaccacggtgatatcgtccacccaggtgttcggcg
+tggtgtagagcattacgctgcgatggatcccggcatagttaaagaaatcatggaagtaag
+actgctttttcttgccgttttcgtcggtaatcaccattcccggcgggatagtctgccagt
+tcagttcgttgttcacacaaacggtgatacgtacacttttcccggcaataacatacggcg
+tgacatcggcttcaaatggcgtatagccgccctgatgctccatcacttcctgattattga
+cccacactttgccgtaatgagtgaccgcatcgaaacgcagcacgatacgctggcctgccc
+aacctttcggtataaagacttcgcgctgataccagacgttgcccgcataattacgaatat
+ctgcatcggcgaactgatcgttaaaactgcctggcacagcaattgcccggctttcttgta
+acgcgctttcccaccaacgctgatcaattccacagttttcgcgatccagactgaatgccc
+acaggccgtcgagttttttgatttcacgggttggggtttctacaggacgtaacataaggg
+actcctcattaagataataatactggtcaacctttaatctgattagttaaccaattctgt
+gttgcacacagttatctgtgagaaacccatggaagagaaatggaaataaaaagaactgac
+accgcgatcaaaaaaccaaaaactgcaatacccacagcgtgatatagatcgcattaatct
+ttaaaacagcgttgacagaagccataaaataagcaaccgaacgttcgttcgagcgtattg
+ggaacgataaactctcatgacatatggctacagtgaatattttggggggaattctccgaa
+gccgggaaggataatttttgcacagagaaattacgatatgaaacgcgggcacagttatca
+ccagcccgccgaaaaagagagagaatcaggatgcggttaagataccgccaatcatcgcgc
+gtaatccctgagcaaacgacgcttcacgcgccaggtcttccgcttcgatatcggccagta
+caccgtaggtcagatccagcagtaaacgtgaagtcattgccgtgttgatgtctgggctta
+tctcgcctttttgctgggcatcacgcatccgctgggcaacaaattccgtgatcgtcatat
+gcttatttttaagcatggcggcgacctgtgggttacgcatcccttccgccataatttcaa
+ccaccagcgcccgttgtccaaaggcttcatgggtgagagagacaatggactcgaccatat
+agtcaacgaaatgaatcccttcaatcggttcccggaaacgggccagcgccctctcctggt
+cctgtaagataatcgcctgaatcaaggcttctttggagatgaaatggtgatagagcgtcc
+cgggactaatggcgcaagatttacagatggctttcatcgaggcactgtgaaatccatttt
+ctgaaaaaatctctctggcagcattgaggatccgggtccgtgtcggttgtgcttcagtct
+gcatgttatccatcattaaaccattatagttagcgtgaataactagtttaccgcgttgtc
+aggtgagcgcctatcattgctgttgaatagtgcgaaggcacactctattcgtatactttt
+cactctgaaattggttaaccaatagccgtgatttggctgccagttatttagcagagacgt
+tgatgagtttatcccggtaaacaacacgcacggttgtttaccggtccgttagtgtattaa
+ttgagctcctgtaccccaccaccggagacggtgagaatttgtccgcttacccagctcgca
+gcaggcgagcaaaggaacagcgctgcgttagcaatatcttgcggttggcccagacgtctg
+atcggcgtgtgctgtaacattttttgttcaatttctggtgtaataacggatttcagggca
+tcggttaatattgcccccggcgcaatgccatttacccgaatatttttttcacccaggtca
+aacgccatatttctgaccagatgactggccgcagctttagatgatgcataggaagtcatg
+tttatatttttattttctgccgccatagaagtgatggtcagaataacgccaccgccattt
+ttttccatttctggcgcaacaagttgtgacagatggaaaaaagaaaacacattcagttca
+taagcacggcgaaaatccgccattggcatatcaaacggtttaggtccaccgccaccggcg
+ttgttaaccagaatatcaactttacccagcttactgatagcaaagtctgccagtgcagag
+agttcctgttcggaagtaatatcacaacggcaggcaaatgcctgaccacccagttgttga
+atttcgtctacaacatggttagctgcgtcggcgttaatatcactgaccaccacagatgcg
+ccagctgtcgcgaatgtaatggcgatttctttaccaatacctgcacccgcacctgtgatg
+atggcgcattttccgtcgagtctcaggttgtcagaattaaacacataaacctcctgtgaa
+cttcagtaaaaataaaaggcaccgcctgtgtgccacattttttatcattaaccttgagga
+aaggacactaccaggtatagcagataaagagaggattatttcgctgcaatgagccgggcg
+ggaataataagattgcgtgaatgcgtctcttcatgggtgattttttgcatcatgcgatcc
+gcaagtgtgataccaagttcccgcgctggcgtgctggcccaggtaacaggtatatcatca
+agtgtggttggtgtcgcatcggtaaatgccgccagcgaaacctgttgctcaaagtaacga
+tcgactccgctttccccgctttgccgccctgctttgagcaaaccaaaccatgcccccatc
+gcaatagtttcgttatagcaaaccacggcactgatggtcgggttatgacgtaaaagcgcc
+gtgatagcttccgcggcttgcttctggctggaagtgcactccaacacccaatcgctatga
+aacggcaggccaaattttagtagagttgcacaatagcccccaacccgttctgcacgggtt
+aatgaggaactttgccctcccagccaggcgatccgctgatgcccattgcgaatgagatgc
+tccgtcaacaactgtgcagcctgcatgttgtccgggcgaaccgtatcaacatcatcaaga
+taactggcacgggaagcgaaaatcaccgggatagctttttcttctgccatccgtcgcagg
+tcatcgctacttcctgcagctccggcaattaccacaccatcgacaccctgattcagtaac
+agtgaaaaccgctgtgccagctgctcaccgtctttaccgccgtgaagcaaaaaaaccatc
+cgtccctgcgcttccagagcttccgtcaatccggccgtcaattcggcgtaaaacggcgca
+gataaatcacggacgatcaaaccaatgacgccgctttgcccgccgcgcagcgccgacgcc
+tggcgattgcgcacaaatcccagctcttcaatggcggcgttaacgcgttctcctgtggcg
+gtagagattcgccctttgccactaagcaccagcgaaacggtacttaccgacacgcccgca
+gccagcgcaacatcatgaatggttatttttttggcggtagccatgcagatgacctactcc
+ctgattatgtgacagataaaacgttttaccttttatttatcttatacccgctattatcgt
+tgcgtaatgtgatttatgcctcactaaaatttgataaaacgttttatcttctcgcgcaat
+ttactgaatccagattgttctctacgaggagtcgttttatgacggcgaaaacagcaccga
+aagtcacgctgtgggagttcttccagcagttaggcaaaaccttcatgttacccgtggcat
+tattgtcgttctgcggcattatgctcggcattggtagttctcttagcagccatgatgtca
+taaccctgatcccggtcctgggcaaccccgtgttgcaggctatctttacctggatgagta
+agattggctcgtttgcttttagtttcctgcctgtcatgttctgtatcgccatcccgctgg
+gcctggcacgcgaaaataaaggcgtagcggcattcgctggcttcatcggttatgcggtaa
+tgaacctcgcggtaaacttctggttgaccaataaaggcattctgccaaccacggatgccg
+cggttctgaaagccaataacatccagagcattcttgggatccagtcgatcgataccggga
+tcctcggtgcggtgatcgccggtattatcgtctggatgctgcatgagcgtttccataata
+tccgcctgccggatgcgctggcattcttcggcggtacgcgcttcgtaccaattatctcct
+cgctggtgatgggccttgtcggcctggtgattccattagtctggccgattttcgccatgg
+gtattagcggcttgggccatatgataaacagcgcgggtgatttcggaccgatgctgtttg
+gtaccggtgaacgtctgctgttgccgtttggtctgcatcacattctggtggcattaattc
+gctttaccgacgcaggcggcacgcaggaagtctgcggtcaaaccgtcagcggcgcactga
+ccatcttccaggcgcaattgagttgcccgaccactcacggtttttctgaaagcgccacgc
+gtttcctttcgcaaggtaaaatgcctgcgtttctcggcggtctgccaggtgcagcgttag
+ctatgtatcactgcgcgcgcccggaaaatcgccataaaattaaaggtctgctgatttctg
+gcctgatcgcctgcgtcgttggcggcactaccgaaccgctggaattcctgttcctgttcg
+tagcgccagttctgtatgtcatccacgcgctgttaaccggcctcggcttcaccgtcatgt
+ctgtgctcggcgtcaccatcggtaataccgacggcaatatcatcgacttcgtggtgttcg
+gtattttgcatggtctgtcaaccaagtggtacatggtgccagtggtggcggcaatctggt
+ttgtcgtttactacgtcatcttccgtttcgctatcacccgcttcaatctgaaaaccccgg
+ggcgcgatagcgaagttgccagctcaatcgaaaaagccgttgccggtgcgccgggtaaat
+caggttacaacgttcctgcaatcctcgaagcattaggcggtgccgacaatattgtcagcc
+tcgataactgcattacccgtctgcgtttgtctgtgaaagatatgtcgcttgttaatgtgc
+aggcactgaaggacaatcgggcaattggcgtagtacaacttaatcaacataacctgcagg
+ttgttatcgggccacaagttcagtcagtaaaagatgaaatggccggtctgatgcatactg
+tccaggcataaggataagatatgttcgatttttcaaaggtcgtggatcgtcatggcacat
+ggtgtacacagtgggattatgtcgctgaccgtttcggcactgctgacctgttaccgttca
+cgatttcagacatggattttgccactgccccctgcattatcgaggcgctgaatcagcgcc
+tgatgcacggcgtatttggctacagccgctggaaaaacgatgagtttctcgcggctattg
+cccactggttttccacccagcattacaccgccatcgattctcagacggtggtgtatggcc
+cttctgtcatctatatggtttcagaactgattcgtcagtggtctgaaacaggtgaaggcg
+tggtgatccacacacccgcctatgacgcattttacaaggccattgaaggtaaccagcgca
+cagtaatgcccgttgctttagagaagcaggctgatggttggttttgcgatatgggcaagt
+tggaagccgtgttggcgaaaccagaatgtaaaattatgctcctgtgtagcccacagaatc
+ctaccgggaaagtgtggacgtgcgatgagctggagatcatggctgacctgtgcgagcgtc
+atggtgtgcgggttatttccgatgaaatccatatggatatggtttggggcgagcagccgc
+atattccctggagtaatgtggctcgcggagactgggcgttgctaacgtcgggctcgaaaa
+gtttcaatattcccgccctgaccggtgcttacgggattatagaaaatagcagtagccgcg
+atgcctatttatcggcactgaaaggccgtgatgggctttcttccccttcggtactggcgt
+taactgcccatatcgccgcctatcagcaaggcgcgccgtggctggatgccttacgcatct
+atctgaaagataacctgacgtatatcgcagataaaatgaacgccgcgtttcctgaactca
+actggcagatcccacaatccacttatctggcatggcttgatttacgtccgttgaatattg
+acgacaacgcgttgcaaaaagcacttatcgaacaagaaaaagtcgcgatcatgccggggt
+atacctacggtgaagaaggtcgtggttttgtccgtctcaatgccggctgcccacgttcga
+aactggaaaaaggtgtggctggattaattaacgccatccgcgctgttcgttaaccccaat
+tgcgcaacgtaaaaaatcgttgcgcaatcgtggatttttaccctgctttgtttttataat
+ggtgcgcacttttatatccagaaaaagagtgcgaccatgattgataccaccctgccatta
+actgatatccatcgccaccttgatggcaacattcgtccccagaccattcttgaacttggc
+cgccagtataatatctcgcttcctgcacaatccctggaaacactgattccccacgttcag
+gtcattgccaacgaacccgatctggtgagctttctgaccaaacttgactggggcgttaaa
+gttctcgcctctcttgatgcctgtcgccgcgtggcatttgaaaacattgaagatgcagcc
+cgtcacggcctgcactatgtcgagctgcgtttttcaccaggctacatggcaatggcacat
+cagctgcctgtagcgggtgttgtcgaagcggtgatcgatggcgtacgtgaaggttgccgc
+acctttggtgtgcaggcgaagcttatcggcattatgagccggaccttcggcgaagccgcc
+tgtcagcaagagctggaggcctttttagcccaccgtgaccagattaccgcacttgattta
+gccggtgatgaacttggtttcccgggaagtctgttcctttctcacttcaaccgcgcgcgt
+gatgcgggctggcatattaccgtccatgcaggcgaagctgccgggccggaaagcatctgg
+caggcgattcgtgaactgggtgcggagcgtattggacatggcgtaaaagccattgaagat
+cgggcgctgatggattttctcgccgagcaacaaattggtattgaatcctgtctgacctcc
+aatattcagaccagcaccgtagcagagctggctgcacatccgctgaaaacgttccttgag
+catggcattcgtgccagcattaacactgacgatcccggcgtacagggagtggatatcatt
+cacgaatataccgttgccgcgccagctgctgggttatcccgcgagcaaatccgccaggca
+cagattaatggtctggaaatggctttcctcagcgctgaggaaaaacgcgcactgcgagaa
+aaagtcgccgcgaagtaacaaaatggatggtgcaaatgcaccatccatttttcatgcaag
+gcacaaagtcgcgcgatgtttggcggattcgatgcccagctcaatcaactccattacctg
+gattgcctggcttgccggaaccggattttcaccatcgccatttaacgcatcacgaatagc
+cgcatagtaagccggataattcccaggcaccgtcaacagcgtttcttcgacacgttcctc
+accttccacgcgggtaagtacgccatcacgcatatcgtagccccagtcttcctgcggtag
+acgctcgccatttttcagacgttcttcctgtggatcgaggccatatttcacataactgcc
+tcgggatccatgcacgatataccgtgctgactcagcggctgccagcatggtaccgtgtaa
+aatgactcgccgctgtggataggacaagatggcgtggaaataatcggtcgactgcgctcc
+gggccgtaactgtgccaaatctaccgtcatgctgaccggtaaaccaaaaagcgtaatggc
+ctgatcaagaagatgtggtgctaaatcgtaccagataccgctgcctgggccgccctgttc
+acgccaacgatcgcgcacctgcggacggaagcggtcaaaatgagactcaaagtaagcaac
+ttcacccagcacgccttccgcgagtaaaccttttagcgtcaagaaatcgctatcccagcg
+acggttatggaatacagacagcacacgccccaggctttttgccagcgcatccagctctcg
+cgcttgtgacagtgtcacggtaaagggtttatcaacgaccacatgtttacccgcctcaag
+cgccgctttggctaacgggaaatgggtatcgttgggtgtaggaatgacaatcaggtctat
+gttgggatcgttaaacagatgcttcggctcagagacaaccgtaaccgttggccagtcggc
+ttttacttttgtttcatcactgctggagattaccgccagttcctgcccgggcgtgcccgc
+aatcaggggcgcatggaaggttttgctcgcataaccatacccaatcaacccaacacggat
+gttgtcgctcatgtcattgcctctcattgaagtatgatggctatttgacactatccttta
+cccacgctcaacagtttaataacctgccagcaataagggatgttgtttaacttaagtcaa
+aaaaatagcgaattttccaacgacaaaagctaaatatcgcaaaaacctcagtaaaaatct
+tgctggagctattattgctaagtaacatttaccccctgaagttaatggatcaatcaagag
+agatgtgggctgtaatgaatcgtcttattgaattaacaggttggatcgttcttgtcgttt
+cagtcattcttcttggcgtggcgagtcacattgacaactatcagccacctgaacagagtg
+cttcggtacaacacaagtaagctctgcacttgtggagcgacatgctgcccgtccgggtgc
+atgttttcacttgtcggatattaaaccaggaatttattatcttgttcgatgttgttggtg
+attgtcagggatagtaaagcgcgttactcttttcagagcagtttttcatccctgaatatt
+tgccatcagcgcattcttattattgtaataacacaagcgttcacttttggtgaaatttta
+tcatcactaataatacctacccctttggtattaattattttatggaccttttatgactgt
+tcaggactacttattaaaatttcgcaaaatcagttcactcgaaagtctggaaaaactcta
+cgaccatcttaattacaccctgacggacgatcaggaactgatcaatatgtatcgtgctgc
+cgatcaccgtcgcgcagagctggtttctggcgggcgtttgtttgacctcggccaggtacc
+gaagtccgtctggcactatgtccaataaagaaagtagcgatcggttataaaagccttata
+ataacgcccctaaaattagatttgcctgtttgcgtcgctattctggagaacctatgacca
+ccacaacgccacaacgtattggaggctggttgcttggcccgttggcctggcttttagtcg
+ctctgttgagtacgacgctggcgttgttgctgtataccgctgcgttatcttctccgcaaa
+catttcaaacgctcggcggacaagcactgacgacacaaatcttatggggcgtttctttta
+ttaccgctatcgccttgtggtattacacactgtggttgaccatcgctttctttaaacgtc
+ggcgttgtgttcctaaacactatattatctggctgcttatttccgtattgctggcagtaa
+aagcattcgctttttcacccgtggaagatggcatagccgttcgccagttgctgtttactt
+tgttggcaaccgcattgatcgtcccctatttcaaacgctcgtcgcgggtaaaagcgacgt
+ttgtgaatccgtaataaccttacagttaacctgttgtcgcctgctctggattaacggata
+ataggcggcttttttatttcaggccgaaaaatgactgactacctgttactgtttgtcgga
+actgtactggtcaataactttgtactggtcaagtttctcggtctctgtccgtttatgggg
+gtttccaaaaaactggaaaccgcgatgggcatggggctggcaacaacgtttgtgatgacg
+ctggcgtctatttgcgcctggcttatcgatacgtggattttgatcccacttaatctgatt
+tacctgcgcaccctggcatttattctggtgattgctgtggtcgtgcagttcaccgagatg
+gtggtgcgcaaaaccagcccggtgctttaccgtctgctggggatttttttgccgcttatc
+accaccaactgtgcagtgctcggcgtggcgttgctgaatatcaatctcgggcacaatttc
+ttgcagtcggcgctgtacggtttttccgccgctgtcggtttctcgctggtgatggtgctc
+ttcgccgccatccgcgaacgccttgctgtggctgatgtcccggcaccttttcgcggtaat
+gccattgcgttaattaccgcaggtcttatgtctctggcctttatgggctttagtggtttg
+gtgaagttgtaatgaatgctatctggattgccgttgccgccgtgagcctgctgggcctgg
+cgtttggcgccattctgggttatgcctcccgccgttttgcggtggaagacgatccggtcg
+ttgagaaaattgacgaaatcttaccgcagagccagtgtggtcagtgcggttatcccggct
+gtcgcccctacgcggaagccatcagctgtaacggtgaaaaaatcaaccgttgcgccccag
+gtggcgaagctgtgatgctaaaaattgccgagttgcttaatgtcgagccgcagccgctgg
+atggcgaagcgcaagagataacgcctgcgcggatggtggcggttattgatgaaaataact
+gtattggctgcactaaatgtattcaggcgtgtccggtagacgccatcgttggcgctaccc
+gtgccatgcatacggtaatgagtgatctctgtacgggctgcaatttatgtgttgatccgt
+gcccgacgcactgcatctcgttgcaaccggtcgcagaaacacctgactcctggaaatggg
+atctgaacaccattcccgtgcgtatcattcccgtggaacaccatgcttaagttattctct
+gcattcagaaaaaataaaatctgggatttcaacggcggcatccatccaccggagatgaaa
+acccagtccaacggtacacccctgcgccaggtacccctggcgcagcgttttgttattcca
+ctgaaacagcatattggcgctgaaggtgagttgtgcgttagcgtcggcgataaagtattg
+cgcggccagccgcttacccgtggtcgcggcaaaatgctgcctgttcacgcgcccacctcg
+ggtaccgttacggctattgcgccccactctacggctcatccttcagctttagctgaatta
+agcgtgattattgatgccgatggtgaagactgctggatcccgcgcgacggctgggccgat
+tatcgcactcgcagtcgcgaagagttaatcgagcgcatacatcagtttggtgttgccggg
+ctgggcggtgcaggattcccgacaggcgttaaattgcagggtggcggagataagattgaa
+acgttgattatcaacgcggctgagtgcgagccgtacattaccgccgatgaccgtttgatg
+caggattgcgcggctcaggtcgtagagggtattcgcattcttgcgcatattctgcagcca
+cgcgaaattcttatcggcattgaagataacaaaccgcaggcgatttccatgctgcgcgcg
+gtgctggcggactctaacgatatttctctgcgggtgattccaaccaaatatccttctggc
+ggtgctaaacaattaacctacattctgaccgggaagcaggttccacatggcgggcgttca
+tccgatatcggcgtattaatgcaaaacgtcggcactgcttatgcagtgaaacgtgccgtt
+attgatggcgagccgattaccgagcgtgttgtaaccctgactggcgaagcaatcgctcgc
+ccgggcaacgtctgggcacggctggggacgccagtgcgtcatttattgaatgatgccgga
+ttctgcccctctgccgatcaaatggtgattatgggtggcccgctaatgggctttaccttg
+ccatggctggatgtcccggtcgtaaagattaccaactgtctgttggctccctctgccaat
+gaacttggcgaaccacaggaagaacaaagctgcatccggtgtagcgcctgtgctgacgcc
+tgccctgcggatcttttgccgcaacagttgtactggttcagcaaaggtcagcaacacgat
+aaagctaccacgcataacattgctgattgcattgaatgtggggcttgcgcgtgggtttgc
+ccgagcaatattcccctggtgcaatatttccgtcaggaaaaagctgaaattgcggctatt
+cgtcaggaagaaaagcgcgccgcagaagccaaagcgcgtttcgaagcgcgccaggctcgt
+ctggagcgcgaaaaagcggctcgccttgaacgacataagagcgcagccgttcaacctgca
+gccaaagataaagatgcgattgctgccgctctggcgcgggtgaaagagaaacaggcccag
+gctacacagcctattgtgattaaagcgggcgaacgcccggataacagtgcaattattgca
+gcacgggaagcccgtaaagcgcaagccagagcgaaacaggcagaactgcagcaaactaac
+gacgcagcaaccgttgctgatccacgtaaaactgccgttgaagcagctatcgcccgcgcc
+aaagcgcgcaagctggaacagcaacaggctaatgcggaaccagaacaacaggtcgatccg
+cgcaaagccgccgtcgaagccgctattgcccgtgccaaagcgcgcaagctggaacagcaa
+caggctaatgcggaaccagaagaacaggtcgatccgcgcaaagccgccgtcgaagccgct
+attgcccgtgccaaagcacgcaagctggaacagcaacaggctaatgccgagccagaacaa
+caggtcgatccgcgcaaagccgccgtcgaagccgctattgcccgagccaaagcgcgcaaa
+cgggaacagcaaccggctaatgcggagccagaagaacaggttgatccgcgcaaagctgcc
+gtcgaagcggctattgcacgcgccaaagcacgcaagctggaacagcaacaggctaatgcg
+gtaccagaagaacaggttgatccgcgcaaagcggcagttgccgcggctattgcccgcgct
+caggccaaaaaagccgcccagcagaaggttgtaaacgaggactaaatggtattcagaata
+gctagctccccttatacccataaccagcgccagacatcgcgcattatgctgttggtgttg
+ctcgcagccgtgccaggaatcgcagcgcaactgtggttttttggttggggtactctcgtt
+cagatcctgttggcatcggttagtgctctgttagccgaagctctcgtactcaaactacgc
+aagcagtcggtagccgcaacgttgaaagataactcagcattgctgacaggcttattgctg
+gcggtaagtattccccccctcgcgccatggtggatggtcgtgctgggtacggtgtttgcg
+gtgatcatcgctaaacagttgtatggcggtctgggacaaaacccgtttaatccggcaatg
+attggttatgtggtcttactgatctccttccccgtgcagatgaccagctggttaccgcca
+catgaaattgcggtcaacatccctggttttatcgacgccatccaggttatttttagcggt
+cataccgccagtggtggtgatatgaacacactacgcttaggtattgatggcattagtcag
+gcgacaccgctggatacatttaaaacctctgtccgtgccggtcattcggttgaacagatt
+atgcaatatccgatctacagcggtattctggcgggcgctggttggcaatgggtaaatctc
+gcctggctggctggcggcgtatggttgctatggcagaaagcgattcgctggcatattccc
+ctcagcttcttagtaacgctggcgttatgcgcaatgttgggctggttgttctcaccagaa
+acactggcagcaccgcaaattcatctgctgtctggagcgaccatgctcggcgcattcttt
+attttgactgacccggttaccgcttctacgaccaatcgtggtcgtcttattttcggcgcg
+cttgcgggcttattagtctggttgatccgcagtttcggcggctatcctgacggcgtggct
+tttgccgtcctgctggcgaacatcacggttcctctgatcgattactacacgcgtccgcgc
+gtctacggccatcgcaaagggtaaaccatgctgaaaactatccgaaaacacggcattacg
+ttggcgctatttgcagcgggttcaacagggttaactgcggccatcaaccagatgaccaaa
+acgacgattgctgaacaggccagtctgcaacaaaaggcgttatttgatcaggtgctgcca
+gccgaacgctataacaatgcgctggcacagagttgctatctggtaactgcgccagagtta
+ggtaaaggtgagcatcgggtttacatcgccaaacaggatgacaaaccggtagccgccgtt
+ctggaagcaaccgcgccagatggctattccggtgcgattcagctgctggtgggagccgat
+tttaacggcacggtacttggcacgcgcgtgacagagcaccacgaaacgccagggcttggc
+gataaaatcgaactgcgcctttctgactggatcacccattttgcgggtaaaaaaatcagt
+ggtgcagatgatgcgcactgggcggtgaagaaagatggtggtgatttcgaccagttcacc
+ggcgcgacgattactccccgcgcggtggttaatgcggtaaaacgcgccggattgtacgct
+cagacgttaccggcacaactttctcaacttcctgcctgtggagaataaagcgtgagcgaa
+attaaagacgttattgttcaggggttgtggaaaaacaactctgcgctggtccagttgctc
+ggcctttgtcctctgttggcggtcacgtccactgccactaacgctctgggtttaggactt
+gcgactacgctggtactgacgctgaccaacctgaccatttcgacgctgcgtcactggacg
+ccagccgagatccgcattcccatttacgtgatgatcatcgcctcggtggtcagcgctgta
+cagatgctgatcaacgcctacgcctttggcctgtatcaatcattagggatttttattccg
+ctgattgtcactaactgtatcgttgtgggccgcgctgaagccttcgccgccaaaaaaggt
+ccggcgctttcggcactggacggcttttcaattggtatgggcgcaacctgcgccatgttc
+gtgctgggttcactacgcgaaattatcggcaatggcacattgtttgacggtgcagatgcg
+ctgttaggtagctgggcaaaagtattacgcgtggagattttccacaccgactcccctttc
+ctgctggcgatgctgccaccaggtgcatttattggcctgggactgatgctggcaggaaaa
+tacctgattgatgaaagaatgaaaaagcgccgtgctgaagcagctgcagaacgtgcattg
+ccaaacggtgaaacagggaatgtctgatgaataaagcaaaacgcctggagatcctcactc
+gcctgcgtgagaacaatcctcatcccaccaccgagcttaatttcagttcgccttttgaat
+tgctgattgccgtactgctttccgctcaggcgaccgatgtcagtgttaataaggcgacgg
+cgaaactctacccggtggcgaatacgcctgcagcgatgcttgaactgggcgttgaagggg
+tgaaaacctatatcaaaacgattgggctttataacagcaaagcagaaaatatcatcaaaa
+cctgccgtatcttgctggagcagcataatggcgaggttccggaagatcgtgctgcgcttg
+aagccctgcccggcgtaggtcgtaaaacagccaacgtcgtattaaacactgcattcggct
+ggccgactattgctgtcgacacgcacattttccgcgtttgtaatcgtactcaatttgcgc
+cggggaaaaacgtcgaacaggtagaagaaaagctactgaaagtggttccagcagagttta
+aagtcgactgccaccattggttgatcctgcacgggcgttatacctgcattgcccgcaagc
+cccgctgtggctcttgtattattgaagatctttgtgaatacaaagagaaagttgacatct
+gaagaaaaggggtaacaccgattaccccattgataacctttctttatcctcttttaaaac
+atctttttaacgtcaatgatgccattgcttagcgttatcatcaggtaatccgtttgcgga
+taaccaaaaatgcaggttaattgtttttttaatagcgaaattttctattcattcgtgatc
+aagatcacgatgctgtcgcaatgtaaaaacattgcaagaatcaggttaaaatcatttaaa
+tttacacacgcaacaaatattgacctacaaaacattacactggctatttttcagaaactg
+gactatctcactagtaaaaacgctaaatagcagaacatatcgccgttaagccatcacccc
+cctctcagtgcagtgaaaaaatctgccgttacgttttttgaaaaatttaacgctggataa
+catttcccggaatggttgaattccccgcctcagttatatgtaacagattattacaaagga
+cttgtctgaaagtgcaagatagtgaacattacctgccgtttcccctcccactataacaat
+tgcgcgtatgttttttatacataacgcgagaaagcacccccgttaatatgggatgtaaaa
+aaagaggtaaaagtgtccactgcaaaccaaaaaccaactgaaagcgtcagtttgaacgct
+ttcaaacaaccgaaggcgttctatctcatcttctcgattgagttatgggaacgttttggt
+tattacggcctacaaggaattatggctgtttacctggttaaacaactgggtatgtctgaa
+gcggattcaatcacccttttctcttcctttagtgccctggtttatggtctggtcgctatc
+ggcggctggttaggtgacaaggtactgggtactaaacgcgtaattatgctcggcgctatt
+gtgctggcgattggttatgctctggttgcctggtctggtcacgacgccggtatcgtttat
+atgggtatggcggctattgcggtcggtaacggcctgtttaaagctaacccgtcttctctg
+ctttctacatgctatgagaaaaacgacccgcgtctggacggtgcattcaccatgtactac
+atgtccgtcaacatcggctctttcttctctatgattgctacgccgtggctggccgcgaaa
+tacggctggagtgttgcgtttgcgttgagcgttgtaggcctgctgatcactatcgttaac
+ttcgccttctgccaacgctgggttaaacagtacggttcaaaaccagacttcgagcctatc
+aactaccgtaacctgctgctgaccattattggtgttgtggcactgatcgctatcgccacc
+tggctgctgcacaatcaggaagttgcgcgtatggcgctgggcgttgttgccttcggtatc
+gtggttatcttcggtaaagaagccttcgcgatgaaaggtgctgcgcgtcgtaaaatgatc
+gttgccttcatcctgatgctcgaagccattatcttcttcgtgctgtacagccagatgcca
+acgtcactgaacttctttgcgattcgtaacgttgagcactccattctgggtctggccgta
+gaacctgagcagtatcaggcactgaacccgttctggatcatcatcggtagtccgattctg
+gccgctatctataacaagatgggcgataccctgccgatgccaaccaagtttgcaatcggc
+atggtgatgtgttctggtgcgttcctgattctgccgctgggtgcgaaattcgcgtctgac
+gctggtatcgtgtctgtaagctggctggtcgcaagctatggcctgcagagcatcggggaa
+ctgatgatctctggtctgggtctggcaatggttgctcaactcgttccgcagcgtctgatg
+ggcttcattatgggtagctggttcctgaccactgccggtgcaaacctgattggtggttat
+gttgcgggtatgatggctgtgccggataacgttaccgatccgctgatgtcactggaagtc
+tatggtcgcgtattcttgcagattggtgtcgctactgccgttattgcagtactgatgctg
+ctgaccgcgccgaaactgcaccgcatgacgcaggatgacgctgcagacaaagcggcgaaa
+gcagccgtagcgtaaaattcagggaaactcttttacaagccgctaacttttcgttagcgg
+ctttttttttgttcagcaacgcactaccatactttaaaccacagacaaaaggagttaccg
+atgaaattgttctacaaaccgggtgcctgctctctcgcttcccatatcaccctgcgtgag
+agcggaaaggattttaccctcgtcagtgtggatttaatgaaaaaacgtctcgaaaacggt
+gacgattactttgccgttaaccctaaggggcaggtgcctgcattgctgctggatgacggt
+actttgctgacggaaggcgtagcgattatgcagtatcttgccgacagcgtccccgaccgc
+cagttgctggcaccggtaaacagtatttcccgctataaaaccatcgaatggctgaattac
+atcgccaccgagctgcataaaggtttcacacctctgtttcgccctgatacaccggaagag
+tacaaaccgacagttcgcgcgcagctggagaagaagctgcaatatgtgaacgaggcactg
+aaggatgagcactggatctgcgggcaaagatttacaattgctgatgcctatctgtttacg
+gttctgcgctgggcatacgcggtgaaactgaatctggaagggttagagcacattgcagca
+tttatgcaacgtatggctgaacgtccggaagtacaagacgcgctgtcagcggaaggctta
+aagtaatagccatcggcccacaggtcgttgtgggccgaaatgagatatttcagagctttg
+ttgcgctgaagtaatgttctggtttggcaatacgatcctgagcagccaccacttgcagct
+catattcctgcattgctttggtggtcaccatgatttcgtagactgcagcggtcacatgtt
+ccagcgcctcctgcagcgttgccccctgaagcagtttcaccagcagtaaaccgctcgtca
+catcaccaacacctaccggctggcgcataccaaaatccaccagcggacggctgatatgcc
+aggcttcatcggcggtgaccagcagcatttcaaaacggtcacggctgtagccagctcgcg
+ccaggtgtttaaccaacacaatttgtggcccttgcgcaatgagttcgcgcgctgccagaa
+ccgcttcttcgacgttatttaccgcatgctcacagagtatttccagctcaaccagatttg
+gcgcaatgatatcgctggcaggcaaaccgtgccgcacatgaaactctgcgacacccggtg
+caacgatacagcctttttccggatgacccattaccggatcgcaaaaatatttcgcctgcg
+gattcgcggctttcacctgacggacgataccgaggatatgttcaccctgctccgccgatc
+ccagatagccacttaatacggcatcacaggtgtgtaatttatcaatggcggcaatgcctt
+gcacaatttcggttaaatggctgggcggcatcacgcagccagtccatttgccgtattggg
+tgtgattagaaaattgaacggtgttcagcggccagacgttcgcgcccaggcggcgcatcg
+gaaactctgccgcactgttacccgcatgaccataaacaacgtgagactggatagcgagaa
+tatttttcatcatgttccctgtataaaaaccagggggagtgatttctcactccccctttc
+cacttaatgcattatttccagcaaatcagacagtaattctttttaccgcgacgcagtaag
+gtaaaacgaccaaacagacgatcttcttctttaaagaagtattcaggatcggactgtttt
+tcaccgttaatggtgatggcattggaggcgatagttttacgtgcctgaccacgggaaggt
+tgcagttcagaatcgaccagtgcctgcatcaggtctgcgcccttttccatctcaaccatc
+ggtacgccgtcctgcgccagctgttcgaagtccgcttcactcagcgcactcaaagaaccg
+ctgaacaggcattcggtaatacgttttgccgcctgtaaaccttcttcaccgtgaaccaga
+cgagtcacctgctccgccagtacatactgggcgcgcggtgctttaccgctgtttttatct
+tcttcttccagggcgttgatctcttcaatgctcataaaggtgaagaacttcaggaagcgg
+taaacgtcggcatccgcagtgttgatccagaactggtagaatttgtacgggctggttttc
+ttcggatccaaccagactgcgccgccttcagttttaccaaatttggtgccatctgcttta
+gtgatcagcggaacggtcaggccaaacacctgattctgatgcagacgacgggtcaggtcg
+ataccagaagtgatgttaccccactggtcagaaccaccaatttgcagcaccacaccgtac
+tgtttgttcagacaggcgaagtcataaccctgcaacaggttgtaggaaaactcagtgaac
+gaaatcccctgatcttcacggttgagacgctgcttaaccgcttctttgttgatcatctgg
+ttaacggagaagtgtttgccaatatcgcgcaggaaggtcagcacattcatattgccgaac
+cagtcatagttgttcgccgcgatagcagagttttctccacagtcgaaatcgaggaacggg
+gcaacctgcttacggattttgtccacccactcctgaacagtttcttcggtgttcagctta
+cgctcggcagctttgaagctcgggtcgccaatcagacccgtcgcgccgcctaccagcgca
+accggcttgtggcccgcctgctggaagcgtttcaggcataacaatggaacaagatgcccc
+aaatgcaagctgtcagcggtaggatcgaagccgcaatagagcgcgatcgggccttgcgcc
+agtcgctctgctaacgcttcctcgtccgtcacctgggctaccagcccccgctcttgcaat
+tgtttaatcaagttactgcttgccatcaaaatctccatgtatataacgactgcacctttg
+ccggtacacgacttttcgccagatgcgaaagagacatagaataaagtgccagaatcagga
+gtaccagcgattaaagcaagatttttgcatcttttcagggtgcaagacgatcaatcttcc
+acgcatcattttcacgctggtacaaaaagcggtcatgcaggcgatgctcaccaccctgcc
+agaactcaatctgttcaaggctgacgcgaaaaccgccccaaaagctcggcaatggcactt
+cgccctgttgaaacttctgcttcagctccaggaatttactttcaaggataccgcgggcag
+aaatgcgactggactgcttcgaaacccatgcaccaatctggctatcacgcgggcggctat
+gaaaatatttcatcacttcgagagtcgaaagtcgttctgctttaccgatcaccatcacct
+ggcgctcaagggtatgccacgggaacagcaggctaacgcgcggattattttcgatttgat
+gtgctttacggctgccgaggttggtgtaaaacaccatgcctttttcgtcgtaatgtttga
+gtaaaacgatgcgctgataaggctgaccatgttcatccacggtagcgaccaccatcgcgg
+tagggtccgccagtttggcttcacaagcctgagagagccaacgttcaaaaagggttaatg
+gatcggcgggaagatcgcggcggcgtaacccgcctttggtgtattcacggcgcagatgcg
+cgatttgctgcaattcgtcgttatcagacatggttttctttacggattgtcagtgggtga
+cgctattgtgcgccgcccctggaaaaatctcaacgctgtggattttgtaactgacagtta
+ttcaagacgatgcggtcgcgtttatagacagtcgcttcatcgcctttcgaccagaaaaca
+tagattccgtcagtgtaacgcgcgccagaggctgaaatgccctgtttgagatgcagtagt
+tgattatcgtaaacaaaactgacctcctggcgcggattattcagtttgaccgtcaacggt
+ttttcatcacactggtattccagcgtatcggtttgcatgcgctcaaccagctgattaaag
+gcgctacagccggagagaaggaccggcaaaatgataattaacagttttttcatagtcata
+tcccgaagactttcctggtctggagggcaatacgccctccctaacgttccaagtgtaacg
+gcagacgcggtaagaaaaattcagttaactctgatatcacgggttagcggggaaaatagc
+ccccagtaccgtctcctggcttgcgccagtgacggaaggcagatttcctggtaatcccgc
+cagcgtccgccaggcaagccaggcgaaagccaatgcttccatgtcatcgccactaatgcc
+aacggcatcggtggtggtgacttctgtgcctggcagtaatgccgccagacgcgccatgag
+tagcggattacgactacctccaccacataccatcaatcgttcgcagccaccgctcaacaa
+aacttgttcagaaatggtcacggcggtgagttctgccagtgtcgcctgcacatctcgggg
+atcaacacccggaaaatggcgcaaatggcgctccagccaaccatagttaaagtattcgcg
+tccggtgcttttcggtgcaggttgcgagaaatacgggtcgctgagcatattttgcagcag
+tgggagaataactttacccgcccgtgcccactcggcatctttatcgtaaggtttaccggc
+ctgacgccagatccaggcatccatcagcatgttaccaggaccggtatcgtagcccccaac
+cggctgcccaggaatgagcagtgacagattggcgatgccgccaatattgagcaccattcg
+tcgctcggttgggtgagccagcagcgcatgatggaacgcaggtaccagcggtgcgccttg
+tcctcccaaggcaatatcgcgacggcgaaaatcaccgacaaccgtaattccggtgcgtgc
+cacaatttgattgttatcgccaatctgtaaagtgtgtggtgccacgcccgtcggttcatg
+ccagacggtttgaccgtgacaaccgatcgcaactatatctcttgcctgcagattttgttc
+cttaagcaaggcattgaccgcatcagcaaaaagttgcccgagttgagtatcaagctgtcc
+aaactgcgaaagtgtaagctgctggccctggcaaatatccagtacagcctgtttcagaga
+taccgggatcggccaactcaaacttgccagctgtgcgacccggtgttcatcaattgtcgc
+caacacaacatcaacaccatcaaggctggtgcctgacataacgccaataaagcggcccga
+tttcatagttcatcctttttcaatctgacgtttgcgcaccactcaaacataaacttttcg
+tgaataccatgcggaatgaccgatttttaccgttggtagtaaaacattatcttcaaatca
+ataatcatcatgaatgttttgtttataattggttgatcctactttcattatgatttgctc
+atatttggtagaacatgtaaccatggattcacatatgccatatactttgaccatgaggga
+tgcttgcgtggcgtttcatggtgaacaggagatttttcaatgattaaacgcgtattggtt
+gtttcaatggtaggtctgtctcttgtcggttgtgttaataacgacaccctgtcaggggat
+gtttataccgcttctgaagcgaaacaagtacagaatgtcagctatggcaccatcgttaac
+gtacgtccggtacagattcagggcggtgatgattccaacgttatcggtgcaattggcggt
+gctgttcttggtggtttcctggggaatactgttggtggcggaaccgggcgttctctggct
+actgcagcaggcgctgttgcaggtggcgtagctggtcagggcgtacagagtgcaatgaac
+aaaacgcagggtgtcgagctggaaattcgtaaagacgatggtaataccatcatggtggta
+cagaaacaaggcaacactcgtttctctccgggccaacgtgtcgtactggccagcaatggc
+agtcaggtgaccgtttctccgcgctaaataagtttgcgtgtggtcaggttactgaccaca
+cgcccccttcatttcaccctttggcctgtaactcaatgatattatgctcaagttttgcga
+tgagcgtaatcagttgctccagttcctctgcggagatgccatgtaatatttccgcgcggg
+ttttgttaataacagcttccatttcgctgatcagcggctctgccttttccgtcagtttaa
+tacgtttagcccgacgatcgctggcacaagtttgacgcgaaattaaccctttttcttcca
+gttggtccagagtacggaccagtgatggctgctcgatgccaatcgcttttgccagttgaa
+tttgcgactggtctggaggtaactgatggatattgtgtaacgtaacccaatgggtttgtg
+ttaactccagcggtttcaggcgatggtctatcagagcacgccatatgcgcaccaaccgtg
+ccagatcagaacctagtggcgattccaatttcatctccttataattagcttgctaagata
+ttatgcggcttttagaatagtgtgcagcaattgtattgctaaaacaaatgtattgctgca
+tttggttaccgtcagacatatttttcagaaattgcgcgtaaatttttcgcacttaaagaa
+tatttattaatctaacgcaatatattcggtcgtaaaggaatctactttgtgaagtttatg
+ctcaatgcaacaggattgcccttacaagatctggtgttcggtgcgtccgtctactttcct
+ccgtttttcaaagcattcgcgtttggattcgtcatctggcttgtcgtacaccgcctgctt
+cgtggctggatctacgccggtgacatctggcatcccttgttaatggatttatcgctgttt
+gcgatttgcgtttgccttgctctggcaatactgattgcgtggtaactatgtcaattaaaa
+caattaagtatttctcaacaatcattgtagcggtagttgcggttcttgccggatggtggc
+tgtggaattattacatgcaatctccgtggacacgcgacgggaaaatacgcgcagaacagg
+tttctatcaccccacaggtgtcgggacgtattgttgagctgaatataaaagacaaccagc
+tggttaacgcgggggatcttctgctcacgatcgataaaacgccctttcagatcgccgagc
+tgaacgcacaggctcagctggcgaaagcgcaatctgacctcgcaaaagccaataacgaag
+cgaatcgtcgtcgtcatctctcacaaaattttatttctgccgaagaactcgataccgcta
+acctcaatgttaaagcgatgcaggccagtgttgatgccgcacaggcgacgctgaaacagg
+cacaatggcaactggcgcaaacggaaattcgcgccccggtgagtggatgggtgactaacc
+ttactacccgcatcggcgattacgctgataccgggaaaccgctgtttgcccttgtcgaca
+gccactcgttttacgtcattggttattttgaagaaaccaagttgcgccatatccgcgaag
+gtgcaccagcacaaattaccctctatagtgataacaaaacgttacagggtcacgtttcca
+gtatcggtcgggcgatttatgatcagagcgttgaaagtgactcaagccttattccggatg
+ttaaacctaacgtcccctgggttcgactcgcccaacgcgttcccgtccgctttgcgctgg
+ataaagtcccaggcgatgtcacgttggtgtcgggcaccacctgtagcattgccgtaggtc
+aataatgaacgcatcgtcatggtccttgcgcaatttgccctggttcagggccacgctggc
+gcaatggcgttatgcgttacgcaataccattgccatgtgtctggcgctgacggttgccta
+ttatttaaatctggatgaaccctattgggcgatgacctcggctgcagtggttagctttcc
+caccgttggcggtgttatcagcaaaagcctcggacgcatcgctggcagtttgctcggagc
+cattgcggcactgcttcttgccgggcatacgctcaatgagccgtggttttttctattgag
+catgtcggcgtggcttggcttttgtacctgggcctgtgcgcacttcacgaataacgtcgc
+gtatgcatttcaactggcgggctacacggctgccatcatcgcctttccgatggttaatat
+tactgaggccagccagctgtgggatatcgctcaggcgcgcgtttgcgaggtaatagtcgg
+tattttgtgcggcggcatgatgatgatgatcctgccgagcagttccgatgctactgccct
+tttaaccgcattgaaaaacatgcacgcccgattactggaacatgccagtttactctggca
+gcctgaaacaaccgatgccattcgtgcagcacatgaaggggtgattgggcagatactgac
+catgaatttgctgcgtatccaggctttctggagccactatcgttttcgccagcaaaacgc
+gcgccttaatgcgctgctccaccagcaattacgtatgaccagtgtcatctccagcctgcg
+acgtatgttgctcaactggccctcaccgccaggtgccacacgagaaattctcgaacagtt
+gctgacggcgctcgccagttcgcaaacagatgtttacaccgtcgcacgtattatcgcccc
+gctacgcccgaccaacgtcgccgactatcggcacgtcgccttctggcagcgactacgtta
+tttttgccgcctttatctgcaaagtagtcaggaattacatcgtctgcaaagcggtgtaga
+tgatcataccagactcccacggacatccggcctggctcgtcataccgataacgccgaagc
+tatgtggagcgggctgcgtacattttgtacgttgatgatgattggcgcatggagtattgc
+ttcgcaatgggatgccggtgccaatgcattaacgctggcagcaattagctgcgtactcta
+ctccgccgtcgcagcaccgtttaagtcgttgtcacttctgatgcgcacgctggtgttact
+ttcgctattcagctttgtggtcaaatttggtctgatggtccagattagcgatctgtggca
+atttttactgtttctctttccactgctggcgacaatgcagcttcttaaattgcagatgcc
+aaaatttgccgcattgtgggggcaactgattgtttttatgggttcttttatcgctgtcac
+taatcccccggtgtatgattttgctgattttcttaacgataatctggcaaaaatcgttgg
+cgtcgcgttggcgtggttagcgttcgccattctgcgtccaggatcggatgctcgtaaaag
+ccgccgccatattcgcgcgctgcgccgggattttgtcgatcagctaagccgccatccaac
+actgagtgaaagcgaatttgaatcgctcacttatcatcacgtcagtcagttgagtaacag
+ccaggatgcgctggctcgccgttggttattacgctggggtgtagtgctgctgaactgttc
+tcatgttgtctggcaattgcgcgactgggaatcgcgttccgatccgttatcgcgagtacg
+ggataactgtatttcactgttgcggggagtgatgagtgagcgtggcgttcagcaaaaatc
+actggcggccacacttgaagaattacagcggatttgcgacagccttgcccgtcatcatca
+acctgccgcccgtgagctggcggcaattgtctggcggctgtactgctcgctttcgcaact
+tgagcaagcaccaccgcaaggtacgctggcctcttaattacttaattacaccacaggcat
+agcgttcaccgccaccgcccagcggtttaggttgatcggacatattatcgccgccaacgt
+ggaccatcagcgctttgtctttgatttcatccagtgatttcagacgaggcgcgatgacgg
+catcggtagctttgccgtcattattgacgaccagtgcaggcagatcgcctaaatgcccgg
+caccttctggcccttcatgtttaccggtattttgtggatcaagatgcccgcctgcggatt
+ccgcggcgctggctttgccatctttggtggctggctggcagcttcctttggcatgaatat
+ggaagccatgttcaccggggggtaatgctttcagatcgggcgaaaactccagacctttat
+cggtttcagtaatggtgacgctaccaattgactgccctaccccttgcgacgtgacgaggt
+tcatctcgactttttcactggcagcttgtgcgccggttgcaacaaccagcgccagaatag
+ccagactaaaacgtttcataggacctccgttcattgtgcattcctgaataagtgtaaacc
+agtgacacatttttgaacggcggctattcctaaaagtgcttacggtacgtcgtaccccag
+tgccgctttacggatacgaaaccattgttgacgggtcattttcagtgtttctgcttcgac
+agctgcccgtacgcgctcaattttacctgaaccgataattggcagcggctgcgatggtaa
+acgtaatacccaggcgtaaaccacctgttcaatcgagcccgcgtttaactcctctgccac
+cacagccagttcatcacgcagcggctggaaataatcatcattaaacagacgaccaccacc
+aaggcaggaccacgccatcggacgaacacgcagttgttgtagttggtcgagcgtgccatc
+cagcagtaacggctgatgcaccggggatatttccacctgattagtggcaagggtaaacgg
+cagacgtgattgcaacagggcaaattgcgcaggcgtaaagttcgatacgccaaaatgacg
+cactttgccgctctgatgcagatgtttgaacgcgtccgccacttcatcggcatccattaa
+cgggtctggtcggtggattaacagcaaatccagatgatcggtcgcgagattaattagcga
+ctgttcggcgctcttaatgatgtgatcgcggtcagtgatgtaatgaccaatgacgttttc
+ttcacgcgcggtcgtcgcgataccgcatttactgacgatttccatccgttcacgcaggtg
+aggtgccagtttcagtgcctcgccaaacgccgcttcgcactgatagccaccataaatatc
+agcatggtccacggtggtcacgccgagatccagatgctcttcaataaaactgaccagctg
+gcgggcggacatattccagtccatcaatcgccagtagcccatcacaaaacgggaaaactc
+cgggccttgcggcgcaatagtaatacgctgaaccataatcgcttcctcttatcagatatg
+agaggagtatacgcaagattaggttcaaaagagtgatggttgctccggttcgtctgatga
+cgctggcttatttgcgcgtaatttgcgcattaatcgctgccgacaaaggcgcagcacctc
+ttgtttttcgccatcgctcattttattccagttaaaacgctcatcacgactacgaaaaca
+gccgcgacaaaacccgcgttcgtcagactggcaaattccccggcacgggctctggacggg
+aaagaactctaattgctccgccacttcgccctcctcagataagattattaccattattga
+agctgttaatgtccaaagtagcaactttgcttgcactagaccgactggtctactacactc
+caacgcatgaacaaacacaccgaacatgatactcgcgaacatctcctggcgacgggcgag
+caactttgcctgcaacgtggattcaccgggatggggctaagcgaattactaaaaaccgct
+gaagtgccgaaagggtccttctatcactactttcgctctaaagaagcgtttggcgttgcc
+atgcttgagcgtcattacgccgcatatcaccagcgactgactgagttgctgcaatccggc
+gaaggtaactaccgcgaccgcatactggcttattaccagcaaacactgaaccagttttgc
+caacatggaaccatcagtggttgcctgacagtaaaactctctgccgaagtgtgcgatctg
+tcagaagatatgcgcagcgcgatggataaaggtgctcgcggcgtgatcgccctgctctct
+caggcgctggaaaatggccgtgagaaccattgtttaaccttttgtggcgaaccgctgcaa
+caggcacaagtgctttacgcactgtggcttggcgcgaatctgcaggccaaaatttcgcgc
+agtttcgagccactggaaaacgcgctggcccatgtaaaaaacattattgcgacgcctgcc
+gtttagcaggcattttttatcaccagacgaccgggagcctttatgtcatctgaaaaactg
+tattccccactgaaagtgggcgcgatcacggcggcaaaccgtatttttatggcaccgctg
+acgcgtctgcgcagtattgaaccgggtgacattcctaccccgttgatggcggaatactat
+cgccaacgtgccagtgccggtttgattattagtgaagccacgcaaatttctgcccaggca
+aaaggatatgcaggtgcgcctggcatccatagtccggagcaaattgccgcatggaaaaaa
+atcaccgctggcgttcatgctgaaaatggtcatatggccgtgcagctgtggcacaccgga
+cgcatttctcacgccagcctgcaacctggcggtcaggcaccggtagcgccttcagcactt
+agcgcgggaacacgtacttctctgcgcgatgaaaatggtcaggcgatccgtgttgaaaca
+tccatgccgcgtgcgcttgaactggaagagattccaggtatcgtcaatgatttccgtcag
+gccattgctaacgcgcgtgaagccggttttgatctggtagagctccactctgctcacggt
+tatttgctgcatcagttcctttctccttcttcaaaccatcgtaccgatcagtacggcggc
+agcgtggaaaatcgcgcacgtttggtactggaagtggtcgatgccgggattgaagaatgg
+ggtgccgatcgcattggcattcgcgtttcaccaatcggtactttccagaacacagataac
+ggcccgaatgaagaagccgatgcactgtatctgattgaacaactgggtaaacgcggcatt
+gcttatctgcatatgtcagaaccagattgggcggggggtgaaccgtatactgatgcgttc
+cgcgaaaaagtacgcgcccgtttccacggtccgattatcggcgcaggtgcatacacagta
+gaaaaagctgaaacgctgatcggcaaagggttaattgatgcggtggcatttggtcgtgac
+tggattgcgaacccggatctggtcgcccgcttgcagcgcaaagctgagcttaacccacag
+cgtgccgaaagtttctacggtggcggcgcggaaggctataccgattacccgacgttgtaa
+tccaacattgcgagcggcgtaaagccgccgctatactaaaacaacattttgaatctgtta
+gccattttgaggataaaaagatgcgtcttcttcataccatgctgcgcgttggcgatttgc
+aacgctccatcgatttttataccaaagtgctgggcatgaaactgctgcgtaccagcgaaa
+acccggaatacaaatactcactggcgtttgttggctacggcccggaaaccgaagaagcgg
+tgattgaactgacctacaactggggcgtggataaatacgaactcggcactgcttatggtc
+acatcgcgcttagcgtagataacgccgctgaagcgtgcgaaaaaatccgtcaaaacgggg
+gtaacgtgacccgtgaagcgggtccggtaaaaggcggtactacggttatcgcgtttgtgg
+aagatccggacggttacaaaattgagttaatcgaagagaaagacgccggtcgcggtctgg
+gcaactaatctcctgccgggcgtgaactcatcgcgcccgcatctttactgcatcgacaag
+taatatttgtcataatgcgcgctgcaatttatccgtattaagagaatcagatgtccgata
+acgctcaacttaccggtctgtgcgaccgttttcgtggtttttatcctgttgtgatcgatg
+ttgaaacagccggatttaacgccaaaaccgatgcgctgcttgagattgccgccatcaccc
+tgaaaatggatgaacaaggctggctgatgccggacaccacattacatttccacgtcgaac
+catttgtcggcgcaaatttgcaaccagaagccctcgccttcaacggcattgacccgaacg
+atcccgatcgcggcgcggtcagcgaatacgaggcgctgcacgaaatttttaaagttgtac
+gtaaaggtattaaagcgagcggctgtaaccgcgccattatggtggcgcacaatgccaatt
+ttgatcacagctttatgatggccgccgcagaacgcgcctcactgaaacgtaacccgttcc
+accctttcgccacttttgacactgctgcactggccgggctggcactcggacaaaccgtat
+tgtcaaaggcttgccagaccgctggcatggacttcgacagcacccaggcgcactccgcgc
+tgtacgacaccgaacgcactgctgtgctgttttgtgaaatcgtcaaccgctggaaacgtc
+tgggaggctggccgctatctgccgccgaagaggtgtaatcgagtcgatgcctgatgacat
+gcaatgattcaggcatctatagtgaggctattccacgcatcctgcatgatattcacgggg
+aatagcgttaatggcagataatccagacccttcatcgctcctgccggacgtgttttcacc
+ggcgacccgcgactggtttcttcgcgcctttaaacagccgaccgctgtccagccgcaaac
+ctggcatgtggcggcgcgaagcgaacatgcgctggtgattgcaccgaccggctccgggaa
+aacgctggcagcatttctctacgccctcgatcggctcttccgcgaaggcggcgaagatac
+ccgcgaggcgcataagcgtaaaacctcacgcatcctctatatttcaccgataaaagccct
+gggcaccgacgttcagcgcaacttgcagatcccgttgaagggtattgccgatgaacggcg
+gcggcgcggcgaaacggaagtcaatcttcgcgtagggatccgtactggcgatacgcctgc
+acaggaacgcagcaaactcacccgtaatccgccggatattctgatcaccacacccgaatc
+actctatctgatgctgacctcccgcgcgcgcgaaacgctacgcggcgtcgaaacggtaat
+tattgatgaagtccacgcggtagcgggcagtaaacgtggtgcgcatctggcgttaagtct
+ggagcggctcgatgcgctgctccacacctcagcacagcgaattggcctttctgccactgt
+gcgctcagccagcgatgtggcagcatttcttggtggcgatcgcccggttacggtagtcaa
+cccgcccgcaatgcgccatccgcagatacgaattgtcgtaccggtcgccaatatggatga
+tgtctcatcggtcgccagcggcaccggcgaagacagccatgccggccgggaaggctccat
+ctggccatatattgaaacgggtatccttgatgaagtgttgcgccatcgctcgaccattgt
+ctttactaattcgcgggggctggcggaaaaactgacggcacgattaaatgagctttacgc
+cgcacgcttacagcgttccccgtctatcgccgttgatgcggcccatttcgagtcgacctc
+cggcgcaacctctaaccgtgtacaaagtagcgacgtttttattgcccgctcacaccacgg
+ctccgtctctaaagaacaacgagcaatcaccgaacaggcgctgaaatcgggtgaattacg
+ctgcgtggtcgcaacctccagtcttgaactggggattgatatgggcgcggtggatctggt
+gattcaggtggcaacgccgctttctgttgccagtgggttacaacgcattggtcgcgccgg
+acatcaggttggcggtgtatctaaagggctgtttttcccccgtacccggcgtgatttagt
+cgattccgcagtcattgtagagtgtatgttcgcaggcaggctggaaaacctgacaccacc
+gcataatcctctcgacgtccttgcgcagcaaaccgttgccgccgcggcgatggatgcatt
+acaggtagacgaatggtactcccgcgtacgccgtgccgcaccgtggaaagatctgccaag
+acgtgtttttgacgccacgctggatatgctttccgggcgctatccctctggcgatttttc
+tgcttttcgccccaaactggtctggaacagggagaccgggatattgaccgcccgacctgg
+cgctcaattgttggcggttaccagcggcggcaccattccggatcgtggcatgtatagcgt
+gttattacccgaaggtgaagaaaaggccggttcgcggcgggtgggtgaactggatgagga
+gatggtatatgagtcgcgggtgaacgacattatcactctcggcgctacctcatggcggat
+ccagcaaatcacccgcgatcaggtgattgtgactcctgctccgggtcgttctgcccggct
+ccccttctggcgtggtgaaggtaacggacgtccggctgaattaggcgagatgatcggcga
+ttttcttcatttgctggcggatggcgcgttcttttccgggactattcccccgtggctggc
+agaagaaaatacgatcgccaatattcaggggttgattgaggagcagcgcaacgcgacggg
+catcgttccggggagtcgccatctggtcctcgaacggtgccgtgatgaaattggtgactg
+gcgtattattttgcactctccctatggaagacgggtgcatgaaccctgggcggtggcgat
+tgccgggcgaatacatgcgctatggggcgctgacgcgtcggtggtcgccagtgatgacgg
+cattgttgcacgtattcctgacaccgatggtaaattgcccgatgccgcgatttttttgtt
+tgaaccagaaaagttgctgcaaattgtccgcgaggcggtaggcagctcggcacttttcgc
+cgcccgttttcgcgaatgcgccgcgcgggcattattaatgccggggcgcactccgggcca
+tcgcaccccgctttggcaacaacggctgcgcgccagtcagttgctggaaatcgctcaggg
+atatccggattttccggtcattctcgaaaccctacgcgaatgtctgcaagatgtttatga
+tcttcccgcactggaacgtttgatgcgtcgcctgaacggtggcgaaattcaaatatccga
+tgtaacgaccactacgccctcgcctttcgccacaagtttattgttcggctatgtcgcgga
+atttatgtaccagagcgacgccccgctggcagagcgccgggcatccgtactgtcgctgga
+cagcgagttactgcgcaatctactcggacaggtcgatccgggggaattactcgacccgca
+ggtcattcgccaggtggaagaagagttgcaacgactggctcctggcagaagagcgaaagg
+tgaagaaggattgttcgacctgctgcgcgaactggggccaatgaccgttgaagacctggc
+gcaacggcatacaggcagcagtgaagaggttgcgtcgtatctggaaaatcttcttgcagt
+aaaacgaatcttcccagcgatgattagcggacaggagcgtcttgcctgtatggatgatgc
+cgccaggctgcgtgatgccctcggcgtacgactaccagagtcattgccagagatttattt
+acatagagtcagttacccgcttcgcgacctctttctgcgctatctccgggctcatgctct
+ggtcacggctgaacaactggctcatgagtttagtctcggtattgccattgtcgaagagca
+gcttcagcaactgcgtgaacagggtctggtgatgaatctgcaacaagacatctgggtgag
+cgatgaagtatttcgtcgtctgcgtttgcgctcgctgcaagccgccagagaagcgacgcg
+tcccgttgcagccacgacctatgcgcgattgctgctggaacgtcagggcgtattacccgc
+caccgatggtagcccggcgctctttgcctcaacatcgccaggcgtttatgagggcgtaga
+tggcgtgatgcgggtgatcgaacagcttgccggagtcggtttacccgcctcactctggga
+aagccagatcctgcctgcccgcgtacgcgactattcgtcagaaatgctcgatgaattact
+ggcaaccggtgcggttatctggtcggggcaaaaaaaactgggtgaagatgacggcctggt
+ggcactgcatctacaggaatatgctgcagaatcgttcactcccgccgaagcggatcaggc
+gaatcgttcggcgctgcaacaagcgatagtcgctgttctggctgacggaggagcctggtt
+tgcacaacaaatcagccaacggatacgcgacaaaatcggcgaatcggttgatctctctgc
+cctgcaagaggcgttatgggcgctggtctggcaaggcgtcatcaccagcgacatttgggc
+accgttacgcgccctcacccgcagcagttccaacgcacgcacctcaactcgccgcagtca
+ccgggctcgtcgtggacgtcctgtctatgcgcaacccgtctcgccgcgggtatcttacaa
+cacaccaaatctggctggacgctggtcgttattgcaggtggagccactaaacgataccga
+aaggatgctggcgctggcggaaaatatgctcgaccgctacggcatcatcagtcgtcaggc
+ggtgatagccgaaaatatccctggcgggtttccatcgatgcaaacgctttgtcgaagtat
+ggaagactccgggcgaattatgcgaggtcgttttgtagaaggtctgggtggcgcgcaatt
+cgctgaacgtctgactattgaccgattgcgcgatctggcgacacaagccacgcaaacgcg
+ccactatacaccagtggcgctctctgccaacgatccggctaatgtgtggggaaatcttct
+gccctggcctgcacatccggcaacgctggttccaacgcgtcgggcgggtgcgctggtggt
+cgtttctggcggcaaattgttactctatctggcgcaaggtggcaaaaaaatgctggtctg
+gcaggaaaaagaggaattactcgccccagaggttttccacgcgctgactaccgcactgcg
+tcgcgaaccacggctgcgctttacgctaacagaagtgaatgatctaccggtccggcaaac
+gccgatgtttacgctgctgcgtgaggcgggattttcaagttcgccacaagggctggattg
+gggatagagaaaggactgacggatgcccgttcgcatccgtcagtattgcaggacggatta
+ttccgcgtccggctcttcagacttgtatttagcggcagtttctttgatcagctgctgcag
+ttcgccacgctgatacatttcgatcacgatatcacaaccgccgaccagctcgccgtcaac
+ccacagttgcgggaaggtcggccagttagcatatttcggcagttccgcacgaatgtccgg
+attctgcagaatatcaacataggcaaaacgttcgccacatgcggcaagcgcctggactgc
+ctgggcagagaaaccgcagctcggcagtttcggtgaacctttcatgtacagcaggatcgg
+gttttcagcaatctggcgttggattttttcgatagtggtgctcattgtcttgcttcctca
+aacttctttacggcagtaatctgacattgtagcgggtcagtgcggcatcggaaaataaca
+ttttcatcacgcttttgctattttatccctttgctctatttgttgcatttcaaatattcg
+tttcttctctgatgccggcaaactggcgtatttataaccatttttagctttcactgctgc
+atttttttgcgctcgccaacgaaacgtattttttaacaataaaagctattaactttctct
+tcttctatgcattagaatcatcaagttttgtaaatcagacgcaggcatgatagacctgcc
+tttacagagggacgctcagtggcgcggataaaccgtatttcgatcacgctctgtgcttta
+ctttttaccaccctgcctttaacgcctatggcccatgcttcaaagcaagccagggagagt
+tctgctaccactcatatcaccaaaaaagcagataaaaagaaaagcacggcaaccaccaaa
+aagacccagaaaacagcgaaaaaagccgccagtaaaagtacgaccaaaagcaaaaccgct
+tcttccgttaaaaaatcttccattaccgcttctaaaaacgccaaaactcgcagcaaacac
+gccgtcaataaaacggcctcagccagctttaccgaaaagtgtaccaaacgtaagggctat
+aaatcgcattgtgtgaaagtcaaaaatgccgcgtcaggaactcttgccgacgcgcacaaa
+gcgaaggtgcaaaaagctacgaaagtggcaatgaataaactgatgcagcaaattggtaag
+ccatatcgttggggtggcagctcaccgcgtaccggttttgattgcagcggcctggtttat
+tacgcttataaagatttggtgaaaattcgtattccgcgtacggcgaatgaaatgtatcac
+ctgcgtgatgcagcgccaatcgaacgtagtgaactgaaaaacggcgacctggtctttttc
+cgtactcagggacgcggcacagccgatcatgtcggcgtgtatgtcggcaacggcaaattt
+attcagtcaccgcgcacaggtcaggaaattcaaatcacttctctcagtgaagactactgg
+cagcgccactatgttggcgctcgtcgggtaatgaccccaaaaacacttcgctaaaacttt
+accctgttgttacggcaacagggtaagttcatcttttgtctcaccttttaatttgctacc
+ctatccatacgcacaataaggctattgtacgtatgcaaattaataataaaggagagtagc
+aatgtcattcgaattacctgcactaccatatgctaaagatgctctggcaccgcacatttc
+tgcggaaaccatcgagtatcactacggcaagcaccatcagacttatgtcactaacctgaa
+caacctgattaaaggtaccgcgtttgaaggtaaatcactggaagagattattcgcagctc
+tgaaggtggcgtattcaacaacgcagctcaggtctggaaccatactttctactggaactg
+cctggcaccgaacgccggtggcgaaccgactggaaaagtcgctgaagctatcgccgcatc
+ttttggcagctttgccgatttcaaagcgcagtttactgatgcagcgatcaaaaactttgg
+ttctggctggacctggctggtgaaaaacagcgatggcaaactggctatcgtttcaacctc
+taacgcgggtactccgctgaccaccgatgcgactccgctgctgaccgttgatgtctggga
+acacgcttattacatcgactatcgcaatgcacgtcctggctatctggagcacttctgggc
+gctggtgaactgggaattcgtagcgaaaaatctcgctgcataataactgatggcaaatgc
+agcattgcctgaagcgctacgcttatcaggcctacgcggatcatcgatgtaggtcggata
+aggcactcgccgcatccggcaagataaatcgcacgttgtcagcaactgtaacgcagaagg
+ttatccttctgcgtttttgtttaattagctgttagcaacgcaaactgtttcaggttgttt
+tctggctgacataaacaccagcaataatgccagtcccgcgacaatcgctcccatcaccgg
+cacaaagctgtatcccagcccagcggaaattaccgcaccaccagcagctgctcccagcgc
+atttccaagattaaaggcaccaatattgactgatgaagacagacctggcgcttcactggc
+gacacgcatcacgcgcatctgtaacggcggtacgaccgcaaaggttgctgcgccccacac
+caccatgctaatagctgcgccgaactcattgcgggccaggaacgggattgccagcataat
+caccatcaacaacaacaaaaagcctttcaacgtgccgttaactgaacgatctgccagttt
+gccgccgagatagttaccgatagagaatccgacaccaatcagcaccagcattgccgtgac
+gaacaccggtgttgcgtgggtaatactttgcagtaccggagagatataggtgtagagagt
+aaacattgcaccagctcccagtaccgtcgtcagcaatgcagacagcacctgcggacgcat
+taataccgccagctcttttttcacttcaggtcgtgcccctgcaccacctttaggtaatga
+gaagaacagacttaccattgaaatcactcccagccccgccgttgccagaaatgacatccg
+ccagccgatggtttcacccaaccaggtcgccgccggcacgccaccgatatttgccagggt
+taaccccataaacatagtggcaactgcgctggcctgtttatgttttggcaccacgcttgc
+ggccacgactgaacccaaaccaaaaaatgctccgtgattcaggctggtcaaaatgcgtga
+aagcatcagggtcatataatccggcgcgatggcggaaagtacgttgccgagcgtgaaaat
+tgccatcaggaaaatcaacgcactgcggcgggcacgatgagaaagtagaagcgtcatcag
+cggcgcgccaaccattacgccaactgcataggcactgattaacattccggcagcgggaat
+cgagacatccacaccgcgcgcaatgacgggcaacaagcccattggcgagaactccgttgt
+cccgataccaaacgcgccaatcgccagcgccagcaacggatagttaattttcatgcctta
+tctccacctcttcgcgtcattacgcgatattcattaaagtggcgaaagcatgacagcaat
+cacaaaaaaatgaaaataacaaaaagagaaaacacttttgccattttgctaacaaacagg
+aaggagatgcgagggagaacgcgctccctcgagaggaaatcagtgcagcgcggcagtcaa
+acccacggctacgatcaaaccgaggacgataatcgttgttaccagtgaaaatttaaggtc
+ggtgctcatcaagttttctccttttttattaccacacaaaaagtgatattacgcattttt
+acacactgtgatgaaaaaatctcccgtcatttataatgataagtgtttttaccacttccc
+cttttcgtcaagatcggccaaaattccacgcttacactatttgcgtactggccattgacc
+ccttcctgacgctccgtgtcgtttttccggcgtaccgcaacacttttgttgtgcgtaagg
+tgtgtaaaggcaaacgtttaccttgcgattttgcaggagctgaagttagggtctggagtg
+aaatggaatggcaacaataaaagatgtagcgaaacgagcaaacgtttccactacaactgt
+gtcacacgtgatcaacaaaacacgtttcgtcgctgaagaaacgcgcaacgccgtgtgggc
+agcgattaaagaattacactactcccctagcgcggtggcgcgtagcctgaaggttaacca
+caccaagtctatcggtttgctggcgaccagcagcgaagcggcctattttgccgagatcat
+tgaagcagttgaaaaaaattgcttccagaaaggttacaccctgattctgggcaatgcgtg
+gaacaatcttgagaaacagcgggcttatctgtcgatgatggcgcaaaaacgcgtcgatgg
+tctgctggtgatgtgttctgagtacccagagccgttgctggcgatgctggaagagtatcg
+ccatatcccaatggtggtcatggactggggtgaagcaaaagctgacttcaccgatgcggt
+cattgataacgcgttcgaaggcggctacatggccgggcgttatctgattgaacgcggtca
+ccgcgaaatcggcgtcatccccggcccgctggaacgtaacaccggcgcaggccgccttgc
+cggttttatgaaggcgatggaagaagcgatgatcaaggtgccggaaagctggattgtgca
+gggtgactttgaacctgaatccggttatcgcgccatgcagcaaatcctgtcgcagccgca
+tcgccctactgccgtcttctgtggtggcgatatcatggcaatgggcgcactttgtgctgc
+tgatgaaatgggcctgcgcgtcccgcaggatgtttcgctgatcggttatgataacgtgcg
+caacgcgcgctattttacgccggcgctgaccacgatccatcagccaaaagattcgctggg
+tgaaacagcgttcaacatgctgttggatcgtatcgtcaacaaacgtgaagaaccgcagtc
+tattgaagtgcatccgcgcttgattgaacgccgctccgtggctgacggcccgttccgcga
+ctatcgtcgttaatcacccgttgcgggagtctcttccggctcccgcagccactccttatt
+cagcgtctcactatcgccgagatactcaagcaaccaggttaacgcaggcgacatatcatt
+ttgctgccatgtcagacaacatgccgaatccggaaaggggttttccagttctaatgctac
+ccacttcccctcattaagccacggtttggcgaaatgtgttggcaccatccctatgcataa
+tcctgccgagatacaggttgccgatgattcccagtcaggcacgacaactcttttttggtt
+atccagcaaccaggtaatacgtttaggtagcgttcgcgaggtgtcttcgcgcaccaacga
+cggccagttgcgcaacgtatcatcgctgaacgggccatccatcaacgccagcgggtggtg
+actggcaacaacgcaactccagcttagcatccccatatcccggaaggcataacgaccgcc
+taccggaatcgcgcgtgttgcgccaatcgccagttccacgcgcccgtcggaaagcgcatc
+ccagacaccgttgaacacttcctgaaagacaagaagttcgacatcatcaaaatggcgata
+aaaatcaacgatcatctgccgtgtacgttctggcctgacaatattatccactgcgatagc
+taactgaccgcgccagccgttcgctatctgctgacattgctggcgggtgatctgcatttt
+tttgacaacagagcgcccttctttgagaaaccacgctccagcagcggtcagctccacatc
+acggtgccgtcgttcaaagagcggcaccgccagccactcttccagctgacgcacggtata
+gctgaccgcagaaggaacgcgatgcagctcctgtgccgcagcgctaaaactaccattacg
+cgctaccgcatcaacaacttcgagtgaatattctgaccacatagtctgcctgcaaaattt
+ttgaaaccagtcatcaaatattaccgtttcacaacactaatttcactccctacactttgc
+ggcggtgtttaattgagagatttagagaatatacatgcaacctgggaaaagatttttagt
+ctggctggcgggtttgagcgtactcggttttctggcaaccgatatgtatctgcctgcttt
+cgccgccatacaggccgacctgcaaacgcctgcgtctgctgtcagtgccagccttagtct
+gttccttgccggttttgccgcagcccagcttctgtgggggccgctctccgaccgttatgg
+tcgtaaaccggtattattaatcggcctgacaatttttgcgttaggtagtctggggatgct
+gtgggtagaaaacgccgctacgctgctggtattgcgttttgtacaggctgtgggtgtctg
+cgccgcggcggttatctggcaagcattagtgacagattattatccttcacagaaagttaa
+ccgtatttttgcggccatcatgccgctggtgggtctatctccggcactggctcctctgtt
+aggaagctggctgctggtccatttttcctggcaggcgattttcgccaccctgtttgccat
+taccgtggtgctgattctgcctattttctggctcaaacccacgacgaaggcccgtaacaa
+tagtcaggatggtctgacctttaccgacctgctacgttctaaaacctatcgcggcaacgt
+gctgatatacgcagcctgttcagccagtttttttgcatggctgaccggttcaccgttcat
+ccttagtgaaatgggctacagcccggcagttattggtttaagttatgtcccgcaaactat
+cgcgtttctgattggtggttatggctgtcgcgccgcgctgcagaaatggcaaggcaagca
+gttattaccgtggttgctggtgctgtttgctgtcagcgtcattgcgacctgggctgcggg
+cttcattagccatgtgtcgctggtcgaaatcctgatcccattctgtgtgatggcgattgc
+caatggcgcgatctaccctattgttgtcgcccaggcgctgcgtcccttcccacacgcaac
+tggtcgcgccgcagcgttgcagaacactcttcaactgggtctgtgcttcctcgcaagtct
+ggtagtttcctggctgatcagtatcagcacgccattgctcaccaccaccagcgtgatgtt
+atcaacagtagtgctggtcgcgctgggttacatgatgcaacgttgtgaagaagttggctg
+ccagaatcatggcaatgccgaagtcgctcatagcgaatcacactgatctatatcgatata
+cttatacttaggctgctaacaaaattttgttgtatgattgaaattagcggcctatactaa
+tttcgagttgttaaagctacgataaatattatgtttttacggggacaggatcgttcccga
+ctcactatggatagtcatttcggcaagggttcctcctttccctctgttctacgtcggatt
+atagactcgcggttttttctgcgagatttctcacaaagcccaaaaagcgtctacgctgtt
+ttaaggttctgatcaccgaccagtgatggagaaactatgagttcatcgtgtatagaagaa
+gtcagtgtaccggatgacaactggtaccgtatcgccaacgaattacttagccgtgccggt
+atagccattaacggttctgccccggcggatattcgtgtgaaaaaccccgatttttttaaa
+cgcgttctgcaagaaggctctttggggttaggcgaaagttatatggatggctggtgggaa
+tgtgaccgactggatatgttttttagcaaagtcttacgcgcaggtctcgagaaccaactc
+ccccatcatttcaaagacacgctgcgtattgccggcgctcgtctcttcaatctgcagagt
+aaaaaacgtgcctggatagtcggcaaagagcattacgatttgggtaatgacttgttcagc
+cgcatgcttgatcccttcatgcaatattcctgcgcttactggaaagatgccgataatctg
+gaatctgcccagcaggcgaagctcaaaatgatttgtgaaaaattgcagttaaaaccaggg
+atgcgcgtactggatattggctgcggctggggcggactggcacactacatggcatctaat
+tatgacgtaagcgtggtgggcgtcaccatttctgccgaacagcaaaaaatggctcaggaa
+cgctgtgaaggcctggatgtcaccattttgctgcaagattatcgtgacctgaacgaccag
+tttgatcgtattgtttctgtggggatgttcgagcacgtcggaccgaaaaattacgatacc
+tattttgcggtggtggatcgtaatttgaaaccggaaggcatattcctgctccatactatc
+ggttcgaaaaaaaccgatctgaatgttgatccctggattaataaatatatttttccgaac
+ggttgcctgccctctgtacgccagattgctcagtccagcgaaccccactttgtgatggaa
+gactggcataacttcggtgctgattacgatactacgttgatggcgtggtatgaacgattc
+ctcgccgcatggccagaaattgcggataactatagtgaacgctttaaacgaatgtttacc
+tattatctgaatgcctgtgcaggtgctttccgcgcccgtgatattcagctctggcaggtc
+gtgttctcacgcggtgttgaaaacggccttcgagtggctcgctaaaggctattctatcgc
+cccctctccgggggcgatttcagatcaggcttctgtgcctggttgattcatggcattttc
+tcgtgccgccagcacacgttctaccgtatctaccactgcctgagtttgtggatcgatttc
+aatgttgacgcgtgcgccaagttttttcttcccaagagtcgtgcgttccagtgtttccgg
+aattaaatggacgcaaaaacgcgttggcgtgacttcgccgacggtcaggctaataccgtc
+gatgccaataaatcctttgtacagaatatatttcatcaactgactatcctggactttaaa
+ccagatctggcgattattttctgaggttaatattttcgccacttcagcagtggtcataat
+atgacctgacattaagtgtccgccaatttcatcactgaatttcgccgcacgctcaacgtt
+tacccaatcccccacttttaaatcgccaagattggtaatgcgtaacgtttctttcatcag
+gtcaaaactgacatggttgccgttaatttccgtcacggtcaggcagcaaccgttatgcgc
+cacggaagcaccggtttccaggccgtccagcatgtggtcgggtaactccaccacatgcgt
+acgaaaatttggtttctcgtcaatcgacaccagttttgcggtgccctgtacaatccccgt
+aaacatacttacaactcctgaaatcagttaagacattctgttcagcacaatagcaggtgg
+aaaacgcccttaccagtgaaggggtaagaatggctattttttcactggagaattaataaa
+tcctcgctacaatagactgaatttcccctgcttcttctttttgctgcccattcaggcggc
+tttttagtctctcatataactacaaataaaaggtgttcacgtgcagaagtatatcagtga
+agcgcgtctgttattagcattagcaatcccggtgattctcgcgcaaatcgcccaaactgc
+gatgggttttgtcgataccgtgatggcgggcggctatagtgccaccgacatggcggcggt
+cgctatcggtacttctatctggcttccggcgatcctctttggtcacggactgctgctggc
+attaacgccggttatcgcgcaattaaatggttccggtcgacgtgagcgcattgcgcatca
+ggtgcgacaaggtttctggctggcaggttttgtttccgttctcattatgctggtgctgtg
+gaatgcaggttacattatccgctccatggaaaacatcgatccggctctggcggacaaagc
+cgtgggttatctgcgtgcgttgttgtggggcgcgccgggatatctgttcttccaggttgc
+ccgtaaccagtgtgaaggtctggcaaaaaccaagccgggtatggtaatgggctttatcgg
+cctgctggtgaacatcccggtgaactatatctttatttatggtcatttcggtatgcctga
+gctcggtggcgttggttgtggcgtggctactgcggcggtgtattgggtcatgttccttgc
+catggtttcttacattaaacgcgcccgctccatgcgcgatattcgtaacgaaaaaggcac
+cgcaaaacccgatcctgcggttatgaaacgactgattcaactcggtttgccgattgcgct
+ggcactgttctttgaagtgacactgtttgccgtcgtggctctgttagtgtctccgctcgg
+tattgttgatgtcgcaggacaccagattgccctgaactttagttcactaatgttcgtgct
+tccaatgtcgctggcggcagcggtaactatccgcgtaggttatcgtctgggtcagggctc
+aacgctggatgcgcaaaccgctgcgcggaccgggcttatggtgggtgtctgtatggcaac
+cctgacggccattttcacggtttcactgcgggagcaaatcgccctgttgtacaacgacaa
+tcccgaggttgtaacgctggctgcgcatttgatgttgctggcggcggtatatcagatttc
+tgactcaatccaggtgattggcagtgggattttgcgtggttataaagatacgcgttccat
+tttctatattacctttacggcttactgggtgctgggcttgccaagcggctatattctggc
+actgaccgatctggtcgttgaacctatggggccagcaggcttctggataggctttattat
+tggcctgacgtcggcagccattatgatgatgttgcgtatgcggttcctgcaacgtctgcc
+gtcagccatcattctgcaacgagcatcccgctaataaagacaaggcgcaaccttcacggg
+ttgcgcctgtatttttacgcaggctggagcgttgcgccaatcccgtcttcgtctggctgt
+aatttcagagcgttacacagagtttgccgactggcatctgttatctcaacgtgtatatcc
+ccggtaacttcccctttcacattgatgaagtcaggtgaaatttcttttgcactggtttgc
+aggcaaatcgctccctctccgcgcaggcgtttcactttcagttgcacatgcgttgccgca
+tcagtgatcagccacagttttccaccattcagattgatgttaccaacaatgaaagtgaca
+ctgtcaccttttaccgtactgccgtctagaatcaacacaccgccctgctgtacagtaatc
+gttgattgttgcagctctgcgccataaccaataatcattgaagcgccgtccagtaatgca
+acactcccggtcagttcaaccggtgcgcgatcttcctctacgacaaaattttcgtccgcg
+ctggtgggtgacaacaggatcactgtcccaccttgtattaccgcgttttccagcgtaccg
+gcatgcacttcagcccgaccacccacattcacggacaggttttgcgtcttaccggaactg
+tagagctgaaggccatccgtccccagacgataaatggatccattctcaacaatagtgtca
+gagtcttcaccaccgagattattcatggtgccaccagcaagcaacgtatcactggctttc
+ccggccagcataaaaacgccgccctgattaatctcacaattgctggcttccccacctgga
+tacaccaacaattcaccaccttcatctaccacgaccgctgaggttgtcccattaaccaac
+aggccgccctcttgatcgagaatgattttttccgcgcgatgtccttccagtacacgcagg
+ttaccgccattttccagcaacaaaccgcaggcataacctttatcaacgctgaattcacct
+tcgggatggcggccattaaccgtagcgagcgtagagagactaattgcgcctccctcggac
+tgaacaatatctgtggcaatggcaccatcgctgaccgatagcgtgccattgttaccgtac
+tgtgtgcatttggcgatcccaccggttgccactttcaaccagccagcccccgtgaccacg
+gtattttcggctcttccgccagcttcaacaatcaactcgccttcagtaagttgcgtcgcg
+ccaatgacctcgccggtcttaacaatttgcacgttcccgtcgctcatcaagtttttcgca
+tcagatcccatgatttattcctttgctgcatctgtgtgcctttattgctacctaagtgta
+aaggctacggaggatttatccacgacagatttgagatggtggcaaacaactctgtttaaa
+ctctgatacacgaattattgggttgtatcagatgtaaatgcgatcctgaataaaaatcac
+ccttgcaaatcaacaaaatatagccaatttgcttaaaagctctgcaaacggtcgaaatag
+cgcagaaaattacgttttgcctcttgccaccttcccactctgccgctaatattcgtcccc
+gttgtcacctacaacgttgcgttcatagctcagttggttagagcaccaccttgacatggt
+gggggtcgttggttcgagtccaattgaacgcaccatcctgcgtccgtagctcagttggtt
+agagcaccaccttgacatggtgggggtcggtggttcgagtccactcggacgcaccagatt
+ttcttaatctggtcttctcctttttccctctgtttcttctctgtatccaatacgttaaaa
+gatttacactgtcttcgtatgcgttatcagaaggagaatcgctatggcaactttgttaca
+acttcattttgcttttaatggcccatttggcgacgcaatggctgagcagcttaaaccact
+tgctgagtcgattaatcaggaacctggttttctgtggaaggtatggacagaaagtgaaaa
+gaaccacgaagccggtgggatctaccttttcactgatgaaaaaagcgcccttgcctatct
+ggaaaaacatactgcccgactgaaaaatctcggcgttgaggaagttgtcgccaaagtttt
+cgatgtcaatgagccacttagtcaaatcaatcaggcaaaactcgcctgacagaatttaat
+caagggcggttagcgcccttttcatccctgtctgaaatttctcaaattctaaaaatctca
+accaaacttatctgataacactaaattcgaaagaatgcgtacaggtaagtaacaatgaaa
+aaaattgctattgtgggtgccgggcctacggggatctacaccttattctcgcttctacag
+caacaaactccactttctatttctatcttcgagcaggctgacgaggccggtgtcgggatg
+ccatacagtgatgaggaaaactcaaaaatgatgctggcaaatattgccagtattgaaata
+ccgccgatttattgtacgtatctcgaatggctacaaaagcaagaagacagccatctccag
+cgttatggcgttaaaaaagaaaccttgcacgatcgtcagtttttaccgcgaattctgctg
+ggcgaatatttccgcgatcaatttttacgactagtagaccaggcacgacagcaaaaattt
+gcagtggctgtttatgaatcatgccaggttaccgatctgcaaattacaaatgctggcgtc
+atgctcgctacaaatcaggatttacccagcgagacgtttgatttagcggtgatcgccacg
+ggtcacgtctggcctgatgaagaagaagcaacccgaacgtattttcccagcccgtggtca
+ggcctgatggaagcaaaggtcgatgcgtgtaacgtgggtattatgggaacatccttgagc
+ggactggatgcggcaatggcagtggctattcagcatggttcgttcattgaagatgataaa
+caacacgtcgtttttcaccgcgataacgcaagtgaaaagctaaatatcacgttgttgtcg
+cgcacgggtattttacccgaagccgatttctattgccctattccctacgagcccttacac
+atcgtcaccgatcaggcattaaatgctgagattcaaaaaggcgaagagggccttttggat
+cgggtatttagattgatagtagaggaaatcaagtttgctgatccagactggagtcaacgc
+atagccttagagagcctgaatgtcgattcctttgctcaagcctggtttgccgagcgcaaa
+caacgcgacccatttgactgggcagaaaaaaatctccaggaagtcgaacgcaataaacga
+gaaaaacatactgttccctggcgttatgtcattctgcgcctgcatgaagccgtacaggaa
+attgttccacatctgaatgaacacgaccataaacggttcagtaaaggccttgcccgggtt
+ttcatcgataattatgcggcaatcccttcagagtctattcgtcgcctacttgccttacgt
+gaagcgggaatcattcatattctcgccctcggtgaagactacaaaatggaaattaatgag
+tcgcgcaccgtcctgaaaacggaagacaacagctactcgtttgacgtttttattgatgcc
+cgcggacaacgtccgcttaaagtgaaagatatccctttccctgggctacgcgagcaatta
+cagaaaacaggggatgaaatccctgatgttggcgaagattatacgttacagcaacccgaa
+gatattcgtgggcgcgtagcgttcggcgcgttgccctggttgatgcacgaccagcctttc
+gttcagggacttacggcatgtgcagaaattggtgaggcgatggctcgggcggtcgtaaag
+cctgcatcccgtgctcgtcggcgtctttcgtttgattaaaggtaaagctatcagcactca
+acaaactgatgctgttcattaagacgatagcggactccggctcgaatattgttttcacct
+tcaatggcgacggcgaagcgaactctttcgccgtcatgatatgccagtgcggcgcttcct
+cctggcccgagaataattgagtcgaccacgcccgtgctcactaccgttgaattttcaccg
+ctggcaatgatgtgtacattgtcgccgctgttggcaattctggcgtttgcgccaaagctg
+gcgatttgcaccaggtcaccattactggcgacatgacaccgttcacccaatgtacaaacg
+cgtactcgcattccggtattcgcaatccgactgctatctccagcgctgcttatccgcgaa
+gaattaccggttacagcaacccgtgcgcgttcaccggagctgccaatgtgactgttaaag
+ccgacacttccaatccgcacgctataacccatactggcaatttgcgcggcatacccagcg
+gttgcgattctggcgttatcctcacaacagccgatgcgagcatgatcgtcgctgcgggca
+aactgactgcaaaatggtctctctccggggtctgtggccagtttttgcatagaggaaact
+tcctgatgcgcgaagttttcatccgccagccattttttccacgcatactcaaccagactc
+tccgcccagtccgtatatccttcctcaatcagtgcatgatgaatatcggcataactaccg
+ccgcgtgggaaatggcgcaggaaccagcgatacatcaccgctccgatacgccattctcgc
+aggtctgcttgtgtaatgatcattcgttagtgccggtgatagccatcgaccatgctttta
+aaggtttcgtgtggcgtacgccccgtggtgcaaagataaagatgaccgaagataaaaaag
+aggcttataaatgccagagcaaaatgtgtctgcaataaccagtatcttacgccaggaaac
+acatctcccacggcttgcggatagagacacagcagccccgtcaatagtaacaacggcagc
+aatccatacatgacaccaacataggcgacctgctgtaagggattaaatttagactgggtt
+gttgccgggaaaggatgttcttccccctgcataatgccaaacaaataaaatcgcgtttgt
+tttgccgctcgttccagccacccctgacgacgaatgcgatagtggtgaccattatcccca
+acggcattgatcagcacaaagccgagccagcatgccagtaacaaaaatccgcaaacttca
+tgcaccgcaaccagacttttaaccgcagttgcgcccaccatcgcaaagtgatttatcagc
+ccactggccagcaacaatacaaagagtaacgcattcgaccagtgccataatctgaccgct
+ttgctgtaaagataaatcttctcaccatgatcggtggctgatttcttcacgccacgagca
+cgaagcaaggcatgcagccccagcaccaaccacatcccaaccagcaatactccggcaatg
+atcaaccacaccggccaaaattcgggagtgaactgtggcacatagttcgctaactggctc
+tgaaactgttcagcatgttgcgacgggttcatacattttcctttttaatcaaatgttgac
+cgaaccggcgatacagatgcggtttcccggcaccaggtagctgatattgatagtatttat
+tttgctgcaaccacgcctgaatttctgggctatcttcgcgaccaaagatcaatgcgtgtt
+ccgggcaggcgctgacgcaaatgggcggaaagccttttgccagtcgggactcagcgcaga
+aatcacatttatctgccactttagtgacagggttaaggtagcgaacctggtacggacaag
+cgccaatgcaataactgcagccgatgcactgcgatttttctacccgcacgatcccctgct
+catcacgccacgacgcccccgtcgggcaaacgtcgatgcacggagcatcttcgcagtgct
+gacatgactggcgaaaaaagtgatactgcgtttcgttgtcgttatcggtgactggaatgt
+gtgctatcgataaacggcttccctgagcggggacgtggttagttttacggcatgcgcggg
+cgcaaatattacagccattgcaccgtgactcgtcatgaatcatggcataccgaacttcct
+tttcttgcctcgtgttcgctaacagagaagacgcagaaccagtaaaaaagattactgttc
+ccatccccagaacaaatttgcgtcgagtgaaggacatctgattatcccctaatgcagtgg
+ctgcaactgtccaccctatccatgacatctccctgaaatttcaggggttctgaaactgct
+ctacctcgaaccattcgcataagccataagccttgccataggtcataaatcgctcgctaa
+acaagtacaacaccgccgtcgatgactccacctgccgtatatcggcatattcaggtgcaa
+catccatcgcggcgatcgcggcttcaatctgcgcttcctggaagtaatatggcgcttgca
+tcagcatggcgactttgtaaggacgaggatacgtctggcactcaaaacgaacggcgtgtg
+caatggcgcgacaaatgtcctgctccacaacttgcaaagacatcgccgcgtagttttcac
+tcatggcctgcgttgagtaatagtaatcatccttgcttcccgtcaaacaagcgatatccg
+cgtagtctccgttctgcttaatgctttccagcaaaactgacagttcctcttctgcaacca
+aatagggtggcgagagaaacacggcgcgcgccaccagctgcccagccgcagaatgctggc
+gaatgaactcagccaggatttcagcaggttctggttcggttaccgtatcaacggggtgac
+gcatcccctgcaaccattgccgcttcgcctcgtcaacttcgctgactttcgctaacggca
+attcatcctgatggttcatcttacccattccttacgcaggcagtagattgtgtgctgcca
+gatcggcggcaatatcttccagccccagacgctgcaatgtttcgcgggttggacaaccaa
+gctgtgggtcccagcccatttctttgtagaacatcgtgagcgaagcatgcatatcgtcac
+gatccattttgtcagtaccttcagtaaagaccgggatctgcggatccttgtcgaataccc
+aggaacagataagatcgtgttcattacgcatatctttggtttgcatcagttttaccgtgt
+aggcacgatgcaacgtaaaaatacgctctgcagctaaatctaatttttcctgagtcatct
+cttcgccggtgatcgctttgaagaatttggcttcaagcgccagatcgccccggtaattac
+ggcttttcagcggcgaaacggtcattggccagacccagttgcacagggtgacggcgttat
+gcaaacagacccgcaacagcgaccactttgcatatttaatttttgcgtcattgattggcg
+tgtagtttttggtttcatcgtaagcatcttcagaaccaaaaagttctttcgccacttcac
+gttgcagtttcaatggcaagccggaaccaataaagttgatatgggtatgcgtcatgcagt
+cacggttgaacatacagttaacaatggaaccgacctgcgctgacgcttcattggcatggt
+gaaccggatagccaaacggcgaccagagtttatttttcgcgtagccccagtactcttcac
+ccaaattccagcgttctgcgatggcatatgaaccatcagccaggtgactcagctcaccca
+cacgatgcgccagacggtagtaaaaatctttaatgaagttaacgtcacccgcttccagtt
+gatcccagcgaatttctgcatactcttcagctggcagaacacgcttgaacacacctttgc
+tgtaacaataagtaaagtcgcgatgcaactgcccgtagttacaccataggccgtagtcat
+cgaacaaattcagacccaccaggttaccaatcacacgaccatcgtctttatcttcaaaat
+ctttcggcccgttcgggaagatggtggtatggacaaagtttgctacacaagtgttaccac
+ctgtgctgggcacgccaaactctttcacccgaggaatattcatttgggtcatacaacgga
+tcgggcaagagtggcagccgctcatttttactgtgtatttctctgccgccggtcctaagt
+caaaaacggatttataggtacgaaagccgaccgtattctgattgcctggcggaatttcac
+ccgtttcaatcggaccaccttcagccgcgccccaaaacagccctttacgtgctgtccagc
+gtgacttgggatctgaatactctgcccacgattgtggcgtacttggcacgacatggttgt
+tattcgcaccaataagttcagtcatcatgtaatcattgagacgcttcatctcctgacgat
+cggcaatgttgacccctttcgtcccttcaaccgcaatcgctttcaggtttttcgaaccca
+ttattgcgccagttcccgcaccgccgctgtggttacggctattcaacatgccagagagag
+gaacaaggttttccccagcctgaccaatagccgccacacaggtttccggactggtcaatc
+gacaaatttcttccgtcgttgcgcgcgtcccttttccccataagaaatcggctttttcca
+ggctaactttgtcatctttaatcttcagccataccggtgatttcgccttcccttcgataa
+taatgacgtcgtatccagcgaatttcatttgcgctgcaaaaaagccacccatatgggcat
+cgacgactaaatttcctttggtaaaagtagaaagtgaggtgatatttacgcgagaactac
+agggggcaccagatccagttaatgggccggtagcaaagactaatttattcgcttcatcga
+aaggtttcgtgcctggcggtacttcgtcatacataattttgtagccgaagcccatgccac
+cgacaaaacttttaaacttactggaatcttcgagggtaatatttcctgtcgtgagattga
+ctcttaatatattacctgtccaaccgttagccatgattttttcctttgcaagattcacac
+agtaatatctttccactcgataatttttaacgcccctgttgggcaggcgtttgcgcattc
+accgcataacacacatttcgaggattttttactttcggtatttacggtggccatcatcca
+cgggcatgccgtagtacaggcgctacagccaatacagcgtttatgatcgacggtaataca
+gccttctttctgctgccaggtaatcgcaccaatcgggcagacgttcatgcattgcggctc
+tttgcattgacggcaggtgtccgcggtatagttgagatcgccatacaggccgccgccaga
+gccaaccccgttgtcgccaaagaaataattgcgatggattttgatacgggagaagaatgt
+ccctactgagccatcgttgaagttggtacaagagatttcacagcggtggcaacccgtgca
+tcgcgctcgctgggtcaccagcacccctttgggggtatttatcaaccctactgtgccgct
+atcaatatcttcctgtttgcaacccaaaagtgacagtaacgcaggggcaattgttagacc
+agcaaggccttttcctgatatacgcaagaattctaatcgcgttaagccaatatctaatag
+tggacgatcaaccgggttcatttatttcgcatcctcttcgcaaacacagtgctgacaatt
+cagcagcctgatattaagcattcaactaatacgctgctgactctgtccccaacaccagat
+attttccctaacccgatagtgtatgagaaaagattaacgccgataaactaatcctttatg
+gttaggagaaaaaataatgtgattattctgagcccttaacattgatcgttatcaattaaa
+attacaaagcaagaaattataagtgaactgatatttattatcatttgaaataaatttaac
+ttaagcgacaattatttgtgactttcattgcagaaaataaaaataacattatcgctataa
+attaaaatacataccgaaattcgtataatttcagcagttgttatttagaatgattaactg
+gaccgcaactgaagcaagaatatcaggatgaagcttaccgcctcatcctgaatggtcatt
+ttaccagtgcgttaatgacggtttccatcgcctgcttttccagctcactgcgctgaatgc
+gtttattggctaatgctgtacgtaatacgcctgcgataacaatatgctttggttcctgcc
+ccagatcgcgcatttccagcacaactttaccgacaactctgcacatttctcggtacagtt
+catcctcttttgtccgatttcccattctttatacctatttatcatgccaactatcagcat
+atatcaatctaaccaattaaacaaaaatcaaacaaaatcagacaaataacgcgataaatt
+attttaactgtagcaattgagcgatgatatatttatacaccggatgaactttcacttatc
+ctcacactgacaacttcggcaccagacgttgcgcaaacagtgaagtttttgcgtaacctt
+ttccctggaacgttaaatctttgataacaatttattgtctaacaagttgtatattttttg
+aaacgctgtttttgttttccttttggattaatttcagcgtataatgcgcgccaattgact
+cttgaatggtttcagcactttggactgtagaactcaacgactcaaaaacaggcactcacg
+ttgggctgagacacaagcacacattcctctgcacgctttttcgatgtcacctatccttag
+agcgaggcaccaccactttcgtaataccggattcgctttccggcagtgcgcccagaaagc
+aagtttctcccatccttctcaacttaaagactaagactgtcatgaaaaagaccaaaattg
+tttgcaccatcggaccgaaaaccgaatctgaagagatgttagctaaaatgctggacgctg
+gcatgaacgttatgcgtctgaacttctctcatggtgactatgcagaacacggtcagcgca
+ttcagaatctgcgcaacgtgatgagcaaaactggtaaaaccgccgctatcctgcttgata
+ccaaaggtccggaaatccgcaccatgaaactggaaggcggtaacgacgtttctctgaaag
+ctggtcagacctttactttcaccactgataaatctgttatcggcaacagcgaaatggttg
+cggtaacgtatgaaggtttcactactgacctgtctgttggcaacaccgtactggttgacg
+atggtctgatcggtatggaagttaccgccattgaaggtaacaaagttatctgtaaagtgc
+tgaacaacggtgacctgggcgaaaacaaaggtgtgaacctgcctggcgtttccattgctc
+tgccagcactggctgaaaaagacaaacaggacctgatctttggttgcgaacaaggcgtag
+actttgttgctgcttcctttattcgtaagcgttctgacgttatcgaaatccgtgagcacc
+tgaaagcgcacggcggcgaaaacatccacatcatctccaaaatcgaaaaccaggaaggcc
+tcaacaacttcgacgaaatcctcgaagcctctgacggcatcatggttgcgcgtggcgacc
+tgggtgtagaaatcccggtagaagaagttatcttcgcccagaagatgatgatcgaaaaat
+gtatccgtgcacgtaaagtcgttatcactgcgacccagatgctggattccatgatcaaaa
+acccacgcccgactcgcgcagaagccggtgacgttgcaaacgccatcctcgacggtactg
+acgcagtgatgctgtctggtgaatccgcaaaaggtaaatacccgctggaagcggtttcta
+tcatggcgaccatctgcgaacgtaccgaccgcgtgatgaacagccgtctcgagttcaaca
+atgacaaccgtaaactgcgcattaccgaagcggtatgccgtggtgccgttgaaactgctg
+aaaaactggatgctccgctgatcgtggttgctactcagggcggtaaatctgctcgcgcag
+tacgtaaatacttcccggatgccaccatcctggcactgaccaccaacgaaaaaacggctc
+atcagttggtactgagcaaaggcgttgtgccgcagcttgttaaagagatcacttctactg
+atgatttctaccgtctgggtaaagaactggctctgcagagcggtctggcacacaaaggtg
+acgttgtagttatggtttctggtgcactggtaccgagcggcactactaacaccgcatctg
+ttcacgtcctgtaatattgcttttgtgaattaatttgtatatcgaagcgccctgatgggc
+gctttttttatttaatcgataaccagaagcaataaaaaatcaaatcggatttcactatat
+aatctcactttatctaagatgaatccgatggaagcatcctgttttctctcaattttttta
+tctaaaacccagcgttcgatgcttctttgagcgaacgatcaaaaataagtgccttcccat
+caaaaaaatattctcaacataaaaaactttgtgtaatacttgtaacgctacatggagatt
+aactcaatctagagggtattaataatgaaagctactaaactggtactgggcgcggtaatc
+ctgggttctactctgctggcaggttgctccagcaacgctaaaatcgatcagctgtcttct
+gacgttcagactctgaacgctaaagttgaccagctgagcaacgacgtgaacgcaatgcgt
+tccgacgttcaggctgctaaagatgacgcagctcgtgctaaccagcgtctggacaacatg
+gctactaaataccgcaagtaatagtacctgtgaagtgaaaaatggcgcacattgtgcgcc
+attttttttgtctgccgtttaccgctactgcgtcacgcgtaacatattcccttgctctgg
+ttcaccattctgcgctgactctactgaaggcgcattgctggctgcgggagttgctccact
+gctcaccgaaaccggataccctgcccgacgatacaacgctttatcgactaacttctgatc
+tacagccttattgtctttaaattgcgtaaagcctgctggcagtgtgtatggcattgtctg
+aacgttctgctgttcttctgccgatagtggtcgatgtacttcaacataacgcatcccgtt
+aggctccacggaatatttcaccggttcgttgatcactttcaccggcgttcccgtccgcac
+gctggagaacaaggctttaatatccggtgcattcatgcgaatacaccctgaactgacgcg
+caaaccgacgctgtccggcgcactggtaccatgaatgaggtattcgccattaccatgcgc
+gaggcgcagtgcgtaacgtcctagcgggttatttggtccggcaggaacgactggcggtaa
+tttaatgccacgctccagcgaacgctgacgaatgcctgccgtaggcgtccaggttgggtt
+agggattttctgcccaacacgcgtttccatcaccggcgtttccagcccctgcaatccaat
+acctattggataaacctgcacaatattttctcccggcggataataataaaggcgcagctc
+tgcaaggttaacgataatcccctgacgcggtgcatcaggtaataacagttgtgaaggaat
+agttatcgtcgtaccaggttttggcaccggggcgatagtgttattggcttcaaggatcaa
+cattgccgcagtatcaaaacgtcgggcaatagcctgaaggtttttatccccttcttgcac
+cgtatacgtttgattttgcccaaccagtcggcttccggttggtggtagcggataatcaac
+cgcccaggcagcctggatggcgctaaaagcgccgataagcgtgagtgtaagcaaagacgc
+gcgtttcattgtaaacctcctgtatttgccggagactcacgctgaaacgtcggatggcgc
+ttatgttcacctgaaaccaaaacactcctgtgcaggtcagtgtaaacattgaccatccgg
+caatgtgagccaaccggatgaaagctgtccttttagtttagctaagtgcagcggctttgg
+cgcgaattgcgcgaatcatcgcttccagaccttgtgaacgagatggggtgagatgttggg
+tgagcgccattttttcaaaccacggacgcacatcgaaattgacaatatcctgcggcgtca
+tctgatcgtagagaataaagacgaccgcaataagccctttcacaatcgccgcatcgctgt
+cgccctgtaattcaataattccctgggcattctggcgcatgacaatccacacctgactct
+gacagccctgaatgctattttgtggacttctgtcttcgtcgcgtaattctggcagacgct
+ggcccagctcaataatgtagagatatttctcttcccagttggcgcagcgtaaaaaattac
+gcagcaacttttctttatccggcaataaagccatagtgcctccctgttatcccagcaaac
+ggtgaatacgttgcaggccggtcaccagacgatccacttcttcatgggtgttatacatgg
+ccagcgacgcccgacacatcgcagggacgttgtaataggccatcaatggcattgcgcagt
+gatgtccggtacgcacagcaatgccgtaattatcgagaaaactgccaacatcataggcgt
+ggtgtttaccgagattaaaagcaataacgccaagcctgttttgtgggccatagagagtga
+gatccggtacagattccagctgtgatagcgcataatgcatcagattctgttcatactcgg
+ctatgttattaagccccagcgccgaaacatactccagcgccgcgccaagaccaatgatgc
+ccccggtattgggtgtaccggcttcaaaccgccatggtgctttggtccaggtagtgcctt
+cactcaggctgacggtggcgatcatagaaccgcccccttcccacggcggcatctcctgca
+acaaggcttctttcacataaagaatgccaattccggtggggccatacagtttatgcccgg
+agaacacgtaaaagtcgcaatccagcgcctgaacatccaccggatgatgcatcaccgcct
+gagcgccatccaccagcacttttgcgccatgctggtgcgcaagcgtgatcatttccgcca
+gtggattttctgtgccaagcacgttggagacatgagtaattgccagcaggcgagttttct
+catcaaacagcgtaggcagcgtctccagttgcaacgtaccatcgggattgagcgggatca
+cacgcagctctgcgccaacgcgtgcgcaaagcatctgccagggaacaatgttagcgtggt
+gctccatctgactgatgatgatgttatcgcccgcccgcacgttgctgttgccccagctat
+tggcgaccagattgatcccttccgtcgtgccgcggacgaacaccagctcttccgccgaac
+gggcattaataaacagcgatgcccgcttgcgcacgttctccattttctcggtcgcctggg
+cgcttaaggtatgaataccacgatgcaccgccgcgtagccatgacgataaaactcggcct
+cggcgtcaatcacctggctcggtttctgcgcactggcggcgctgtcgagataagccagcg
+gcaaaccgtttacctcacgcgaaagcaccggaaagtcggcccgcactttgtcgacggaaa
+aaatcatcttgcacctcctggcagccgttgaccgattcgggccagcacctgctgtttaag
+cccctcatcacgcagtgcttccgtcagttcggcagcgaaggcgtaaatgatcatctgctg
+ggcatcctgctgattgatcccgcgcgagcgcagatagaatatctgttcatcatcaatacg
+ccccaccgtcgcgccgtggctgcatttcacatcatctgcatagatttccagctgcggttt
+cgtatccacttccgccagtttgcccatcagcagattgttgttggtcatctgaccatccgt
+tttgatggcgtgctgcgcgacgttgatcaaaccgttaaataccgcgcggcctttgtcgct
+gacgatagttttgtgcaactgtcggctgttacaaaaacctttattgtgttccagccaggt
+acgggtatcacacacctcgtttttcaccggcatcgccaggctattgatccgcagcgtgct
+gttttcgccattgagttgcgtactggtgttgtgtcgtaacactgcgccacccagcaggaa
+actgtggctaaatgcggtggcatcctcagccagcaacaaatcgttatgagcaaagtggtg
+actgagcgggttttcaaacgccagcttgatatgctgcaagtgggcattcgctgcgacgtt
+gatagtgaaccgtgccccggtaaaatgacgagcatcattcaggctgacaaaatgttcgat
+caccgttgcttcggcaccttccgccagatccagatgatgtcggtaatgggcagtgttcac
+ctcttcacctgccacgccctgggtgatatgcattaacagcaatggctttgccggccgttg
+accgcgcttcacggcgatatgcgtcacgctttgtgccaggctttccgtcaaatgcagaaa
+cacttccgcctgaatagcgtcgggtaaaccctgacggtcgtcgttaatgctcacttcata
+tccgctgccttcagttgcatcgctcagtgcgggcacgtaacgcccatcgacaaacaccag
+ccgcacggagtctaacgttaacgctaaggcatcacgctgctgtggggatatctctcccgc
+aatgctgacaaactggctattgatcagcccttccagcggcgtatatttccagttttcatg
+tttacgtgtcggcagtccggtacgcagcaattgttgtaaatgctgctgtgcttgcgggga
+gcgttttgtcccttcagcttcaaacaagtgatgccactgttgcagcgcgttactgctgtt
+cggtaagccagccataaccctgctcctccagttgtttgaccaacgtgaaatcgccggatt
+tcacaattcgtccctgatatagcacatgaacgtaatcaggcttgatgtagtcgagaatgc
+gttggtagtgcgtaacaatgatgaatgagcgcttgccatcacgcagcgagttcacgccat
+cggcgaccacttttaatgcgtcaatatccagcccggagtccgactcatcaagaatgcata
+actccggttccagcaccgccatttgcaaaatatcgttgcgctttttctcgccgccggaaa
+aaccaacgtttaccgaacgggttaataaatcttccggcatcttcaggagagcgattttct
+cttccatcaaatcctgaaaatcaaagcggtcgagcgtttcctggccgcgatagctgcgca
+ccgcattaagtgccgtttgcaggaaaaactggttactgacacctggaatctccaccggat
+actggaaggccataaagatgccttcgcccgcgcgatcttccggcgacagcgcaagcaaat
+ctttgcctttgaactcaaccgtgccgcccgtcacttcataatcttctcgcccggcaagcg
+ttgccgataaggtacttttgcccgaaccgtttggccccataatggcgtgaacttcgccgg
+gatgaacgtcgaggcttaatccgcgcaggatagctttatcttccacgctgacgtgtaaat
+ctttaatacttaacatgtttattccttatccgacgctgtgttcaagactgatggcgagga
+gtttttgtgcttcaacggcaaattccaacggcagctccgagaacacgtctttgcagaaac
+cgttaacaatcatcgagatggcgtcttcttcgctgatcccgcgttgcaggcagtaaaaca
+gttgatcttcaccaatacgtgatgtcgttgcctcgtgttccagttgcgcactattgttac
+gacactcaacatacgggaaggtatgcgccccacaattagcgccaatcagcattgagtcgc
+actgagtgaaattgcgcgcattggttgccgtcggcatgattttcactaagccgcgataac
+tgttctgactatgtccggcagagatccctttcgagataatggtcgatttggtgtttttac
+cgatgtggatcatcttggtgccggtatccgcttgctgatgaccgctggtcagcgccactg
+agtaaaactcaccaatggagttatcgccgcgcaaaatgcagctgggatatttccacgtaa
+tcgctgacccggtttctgattgcgtccatgacattttgctgttttcgccttcgcacaaag
+cacgcttggtgacgaagttgagaataccgccggtgttgttatcgccaggaaaccagtttt
+gtaccgtggaatatttcacctcggcgtttttatggatgatgacttccaccactgccgcgt
+gtaactgatagctgtcacgcaccggagcggaacagccttcaatgtagctgacgtagctgt
+cttcgtcggccaccagaatggtgcgctcaaactgcccggttttttctgcgttaatgcgaa
+aataggtggaaagttccatcgggcagcgcacgcctttaggcacataaataaacgtaccat
+cagaggctaccgccgcattaagcgcggcaaagaagttgtcattccccggcaccacggtgc
+cgagatatttacgcaccagttccgggtgatcgtggatcgcctcaccaaaggaacagaaaa
+taattccctgctccgccagtttttcgcgataagtagtggcaaccgaaactgagtcgaaaa
+tggcatccaccgccacctctttgccttcccgcacgggaacgcccaactgctcaaacgccg
+cctccacctctttacttaaaaaggcgttcgcgccagtttgctgcaccgcgccaggttcag
+acgcgcaagtgtcgtcacaattaccgcacgatggtgctgagtagtagctgtaatcctgat
+aattcagcttgtcgtagtgcgctttcaaccagtgcggttcttccatctccagccatgcgc
+gataggcgtttagacgaaactccagcatccactccggctcattacgcttcgccgaaattg
+cgcgcaccacctcttcgtttatcccctttgccagctcatcggtggctaactgggtgaaga
+atccttctttataattcagcgggccgccggtccaggttttgacatcgtcagttgcttcag
+tattacgagacatagtaccgcctataccccaaagctttcgccacagccacattcattctg
+ggctttagggttgtgaaatttgaatatctgattaagtccttcacgaacgaaatcgacttc
+cgtgccatcaataaacggcatcgcttgcagcgggacaaacagcttcgcgccgtcgtgttc
+aaacagcagatcgtctttgtccggctcgctaacactgtcgagcacatagccaaagcccgc
+gcagcccgtttgcttcacgcctaagcgcacgccgaccatacccggctgctttgccaccag
+ctcacggatgtgtatcgccgctgcgggtgtcagcgttaagccttgccaggcgaaatcttg
+tgggttaaaggttcctgaatgcatgtccatcgatttacctcacttcatcgctttcagcgt
+ataacagcatgttagtgataatgattatcagttcaacccagcaaacgcaggggctttacc
+gtaaaacatgctttttgcctgcttttaataagcatagaccctgatgtgtgggttaacagg
+cacgctaagaattaggtatctcattgttagataatggttattatctaaggagcattaagg
+ctgtgatgaaaaagaaaaagttgtattgaaaatgactatttaagagataggtaaaaaagt
+gcagcgttcagaaataagaaaacccttaagtctgtgcgacacaggcttaagggtttctac
+cccatccggcgcttatctccggcactctcagtggcttagctcttgaaggggcgataagaa
+taatctcataaagctaacccgccgttttaacacaaactgcgattagtattatttttgaac
+aatatcaggcggtagataagcagtattaagaaggtcatcgaacctggacggaggttaatc
+caggtcgatttggcgaacttgcggcattaagtcaggatcaatgcacgcccagacgccagg
+caaagtagatttcttcttttaattcagcagaagagagagtaagcaggtcagcaaattcaa
+gttctagttgtttcagacgtttgagatattgggcaggtgaaagattgctctggtcacggc
+gtaaaaattcaatggccagctgggtgggatcaagttgagtagacatagcatcctcgcttt
+tagacaagacctgcacagtataccaccgtttactgtgcagataatgaccaaaagcaatat
+gcgtcacacttttctggtgacaacgtcacaaaatggcggtcgtcaatcgtgacgaacagc
+acaaacgccctttctcatcgaagatttcaatctgccagacctggtgacgcgaaccgagat
+gcaacggtttgcatacgccgcgcacccgcccttctcgtgccgagcggacgtggttagcat
+tgatttccagaccaaccactttttgctcaccttcggtacataaataaccggcaacggaac
+cgatactttcggccagtaccacggatgctcctccatgcagcaacccgaaaggctgctttg
+tccgcgagtctactggcattgtcgcttcaagggtgtcatcaccaatatgttcaaagcgaa
+tatccaggaaccccaccatgtttccttcacccatagcattcagtgcttccagggtgattt
+tccgtttccatatcatttaataatctccagtaaagcctgcacaggatggcgtacccccgt
+gccttcaacccgttttacctggctacggcaggaatatccggtcgccagacagcggttacg
+cggcagtcgctgcatagcctgatgccaggataactcatagatcccgagcgaattttcatg
+gtttttcgcttcatgtccgtaagtccctgccatgccgcagcaacccacgctgacattttc
+cagtttcgcgccaaaacgggcaaatatcgcggcccattgtgctggcgcacccggcaaggc
+ggtaacttcggtacagtgaccaaagaaataccatgattcaccgctgactgtagccactgg
+ctgtgactcaagtgcgcttgccagccattcattcgccagtaagacgttaaactcgccacg
+ctcctcgcccagcgccagtttatattcatcgcgataacaaagtaccagcgccggatcgac
+gcccaccattggcatacccagcttcgccatacggttgaggaaatccgccgtctttttcgc
+cgtcttcgcaaaacgattaagaaaacctttaatatgctgggctttgccatttggcgaaaa
+tggcagtaacacaggctggaaacctaatttttcgaccagacggacaaaatccgccaccac
+ttgcgcatcgtaatagctggtaaaggggtcctgcaccaccaacactgtgcgcgctttctg
+ctctgcattgagagattcaagctgttccagcgtcatgtttgccgagcgatgccccaccat
+ttgttgttgtagcgaggggaccgacagcagcggcaaatcaaccatgccgatatgtttttc
+cgagagtttgcgcaccagcggctggttaatgaagaagttaaaggttttcggcgcgcgtgc
+catcagcggcgcgtagctctcgaccgtagcgacgaggtggtcgcgcagcgggcgtaaata
+acgggtgtgatagagctgcagaaaacgagagcgaaactccggcacatcaattttgatggg
+gcactgggtcgaacacgctttacaggccagacagcccgacatcgcctctttgacttcgtg
+tgagaagtcatattcgcctttattcgcatgccagctattgcgcgtgcgggcaattaacgt
+ccgcaaactgacgccggattcaggcagttcttgttccagtttgagtggatcaacgccgcg
+atccgccaacaaacgcagccattcacgcaccagcgttgcgcgccctttcggtgaatgaat
+ccggttctgggtgatcttcatcgacggacacatcggactacgggcatcaaagttgaagca
+taaaccgttgccgttacactccatcgcaccgcgccactgctggcgtaccgcaatggggat
+ctgccgatcgaatgtaccgcgcttcaccgcgtccactttcatcatcggcgcatcgagacc
+ttctggcgggcaaatcttccctgggttgagtcggttatgcgggtcaaatgccgctttcac
+tttgcgcagttctgcaaaaagttcctcaccgaaaaacgccgggctgtattcagcgcgaaa
+acctttgccgtgctcgccccacaacaaaccaccgtatttcgcagtcagcgccaccacgtc
+atcagagatttgcttcatcaaaatctcttgttgaggatcgcacatatccagcgctggacg
+gacgtgcaagacacctgcgtcgacgtgaccgaacataccgtagcttaagccgtggctgtc
+gagcagcgcgcgaaattcagcaatataatccgccaggtgttccggcggtacgcaggtatc
+ctcagcaaacggaattggcttagcggcacctttggcattgccaagcagaccaacggcttt
+tttgcgcattgcatagatacgttcaacccccgccagctcacggcacacctgccagccgat
+gacacctgcttgatgactggcgatcagctcatccaaccgcgcacagagtgcatttacccg
+ctcatcaatcagcgcctcatcatcaccagcaaattccacaatgttcagcccgagcatctc
+ttggtcaggcacatcggtaatcaactcgctgacggaatgccagacaatatcttcccgcgc
+cagattcagcacttttgagtccaccgtctctaccgaaagcgcccgcgcctcaaccataaa
+cggcgcgttacgcagcgcagagtcaaaagagtcatatttgacgttcaccagacggcgcac
+tttaggcaagcgtgtaatatccagccgcgcttcggtaataaaggccagcgtcccttctga
+acccgtcagaatgcgcgtcaggtcgaactcggtcatctcatcgttaaagacatgacgcag
+atcgtaaccggtaagaaagcggttaagtttggggaagttgtcgataattaactggcgttg
+ctgacggcaacgttgataaaccgtgttataaattcgcccgattgtggtattggatttacc
+cagcgtttccgccaattcgacgggtaaaggttgcgtatcgagaatatcgccccccaacaa
+caccgcgcgtacgccaagtacgtgatctgacgttttgccatagaccagcgatccctgacc
+ggatgcatcggtattgatcatcccaccgagcgttgcccggttgctggtcgaaagttccgg
+cgcaaaaaagtagccgaacggtttcaggtactgattgagttgatcttttatcaccccggc
+ctcaacgcgcacccagccctcttcagggttaatttcgatgatgcggttcatatggcggga
+catatcaacaataatcccctggttgagcgcctgaccgttagtgccggtgccgccgccgcg
+gggggtaaagatcagcgatgaatagcgttcctgcgcggcaagacgggcgatcagcgccac
+atctgcggttgaacgcggaaataccaccgcatcggggagaagttggtaaatactgttgtc
+ggtcgacattgtcagacgatcggcataacttgtcgccgtatcgccggtaaaaccttgttg
+ctccagctcttgcaaaaaattaagcaccagttgaacgacgccgggtgcctgggaaatctg
+tggaatcattatattgaccctttcctgcggtctgtgatgtaggtcgatacactattcttt
+caggctgctgcaatagcgcactgaaaggtgatgtttgtttactctatggatttcgtgttg
+caggaaggcggcaagcgagtgaactccaggagcttacaatagtaagtgactggggtgaac
+gaacgtagccgcagcacatgcaacttgaaatacgacgagtaaatcgtttgcgtgttgcct
+gagttgttgtaccacatttttttctaacacgcccatcagaattaagggcagaatcggcct
+gttaaaaaccgctgaaattgctcatcattatgcaggtgagtttcgcgtgttcacgtcgcg
+tcgacgatttgacgcacaaaaaaggtgaaaagtagttatggtaaatgttcgtcagcccag
+ggatgtcgcacaaattctgctttcggtgctgtttttagccatcatgattgtggcatgtct
+gtggattgttcaaccctttattctcggctttgcatgggccggtacggtggttatcgccac
+ctggccggtattgttacgtttgcaaaagatcatgtttggccgccgctctctcgccgttct
+ggtgatgacgctgttattagtgatggtgtttatcatccctattgctttgctggttaacag
+tatcgtcgacggcagcggcccgctaattaaagccatttccagcggtgacatgacgttacc
+cgatctggcgtggcttaataccattccggtgattggcgcgaagctgtatgcaggctggca
+caacttgctggatatgggggggacggcgatcatggcgaaagtccgcccttatattggcac
+caccaccacctggttcgttgggcaggcggcgcatatcgggcgctttatggtgcattgtgc
+gctgatgcttctcttcagtgccctgctgtactggcgcggtgaacaggtggcacaaggcat
+tcgccattttgcaacccgtctggcaggcgttcgcggagatgccgccgtgctgctggcggc
+acaggctatccgcgcggtggcgctgggtgtggtggtgacggcgttagtacaggcagtgct
+tggcggtatcggcctcgccgtatccggcgtaccttatgcaacgttgctaacggtgttaat
+gatcctctcctgccttgtccagcttggcccgttgccggtactgattccggcgattatctg
+gctctactggactggcgataccacctggggaacggtattgttagtgtggagcggtgtggt
+tggcacgctggataacgtcatccgcccaatgttaattcgcatgggtgccgatttaccgct
+gatcctgattctctctggcgttattggtggtttgattgctttcgggatgatcggtctgtt
+tattggtccggttctgttagccgtttcctggcgtctgtttgccgcgtgggtggaagaagt
+cccgccgccgacggaccaaccggaagaaattctcgaagaacttggcgaaatcgagaaacc
+gaataagtaatttctcatcaggcggctctgccgcctgattgttaaccaccgctaattgat
+atttgcttgctcttccccatattttcctgcttaccgccattcagctggtagtacctgtcg
+caaattctttacagtttttaaactaatgagacgaatctgatcgacgcaaaaagtccgtat
+gcctactattagctcacggttataaatcaacatattgatttataagcatggaaatcccct
+gagtgaaacaacgaattgctgtgtgtagtctttgcccatctcccacgatgggcttttttt
+taacatttttccgcttcgctacctcgcccctcactctttccaataatgttgcacaagata
+ctgtgactctcttcaagccgtcagcaggctgataatgttatttatattttattgtttatt
+tcatgcagccattacacgatgaacgcttatgaactccaggcactccgccatatttttgcc
+atgactattgatgaatgcgcgacctggattgcccagaccggtgacagtgaaagctggcgt
+cagtgggaaaatggcaagtgtgccattcctgatcgtgtagtcgagcaactgttggctatg
+cgtcagcaaagaaaaaaacatcttcatgccatcatagagaaaataaataaccgcatcggc
+aacaacaccatgcgttttttccccgacttaaccgcatttcaacgagtctaccctgatggc
+aattttattgactggaagatctatcaatcggtagctgctgaattatatgcacacgatctg
+gagcggctttgttaatttttccacagaaaggaattgtcgttgttacaacaataatgaacg
+gatgctgacacaacatcgcttcactttttaaagcacctttgctaagtagaacctatgaaa
+aatccctatttccctaccgcacttgggttgtattttaattacctggtgcatggtatgggc
+gtccttttgatgagcctgaatatggcctcgctggagacactttggcagactaatgccgcg
+ggtgtctcgatagttatctcatcgctgggcattggtcgattaagtgtcttgctttttgca
+ggattattatccgatcgctttggtcgccgcccttttatcatgctcgggatgtgctgctat
+atggccttcttttttggcatcctgcagaccaataacatcattatcgcttatgtttttggc
+tttctggcgggaatggcaaacagttttctcgatgcaggcacttatcccagtttgatggaa
+gcttttccacgctcacctgggacagccaatattttaattaaagcatttgtttccagcgga
+caatttttattaccgctaatcattagcctgttagtgtgggctgaactgtggttcggttgg
+tcctttatgattgctgcaggcattatgtttattaacgctctgtttttataccgttgtacg
+ttcccaccccatccgggtcgtcgcttacctgtcataaagaaaaccaccagctctacggaa
+catcgctgttcaattatcgatttagccagttataccttatatggctatatctcaatggca
+acgttttatctggttagccagtggctggcacagtacggacaatttgttgcaggcatgtca
+tacactatgtcgatcaaactactcagtatctacaccgtgggttcgctgctttgtgtattt
+attaccgctccactcattcgtaataccgttcgcccaacaacattactgatgctgtacacc
+tttatctcatttattgctctgtttaccgtctgcctgcatcccacattttatgtggtgata
+atatttgcttttgtcattggttttacctctgctggaggtgttgtgcaaattggcctgacg
+ttaatggctgaacgtttcccttacgctaaaggtaaagctacagggatctattacagtgcg
+ggcagtattgcgacctttactattccgttgattacggctcatctgtcccaaagaagtatt
+gccgatattatgtggttcgataccgccatcgctgccatcggttttttactggcactgttt
+atcggcttacgcagccgcaaaaaaacgcggcatcactcgctaaaggaaaatgtcgctccg
+ggtgggtaatgcaatattcttttcaggtcatgcaagatcttacggataaataactctttc
+tgcgctaactaaggaaaatcgcgatcaaaaacaaactatgacatgcaatattcctggaaa
+cataaactttatgccatgtacccagggaaaatcatcttcagtatagtaattatgtaaacc
+gtcggagaacaatacgtacggtaacgaaattatctttcagcaaggagctgtgaaaatgtc
+tcaaaataaggctttcagcacgccatttatcctggctgttctttgtatttacttcagcta
+cttcctgcacggcattagtgttattacgcttgcccaaaatatgtcatctctggcggaaaa
+gttttccactgacaacgcgggcattgcctacttaatttccggtatcggtttggggcgatt
+gatcagtattttattcttcggtgtgatctccgataagtttggtcgtcgggcggtgatatt
+aatggcagtaataatgtatctgctattcttctttggtattcccgcttgcccgaatttaac
+tctcgcctacggtctggcagtgtgcgtaggtatcgctaactcagcgctggatacgggtgg
+ctaccccgcgctcatggaatgctttccgaaagcctctggttcggcggtcatactggttaa
+agcgatggtgtcatttgggcaaatgttctacccaatgctggtgagctatatgttgctcaa
+taatatctggtacggctatgggctgattattccgggtattctatttgtactgatcacgct
+gatgctgttgaaaagcaaattccccagccagttggtggacgccagcgtaactaatgaatt
+accgcaaatgaacagcaaaccgttagtctggctggaaggtgtttcatcggtactgttcgg
+tgtagccgcattctcgaccttttatgtgattgtggtgtggatgcccaaatatgcgatggc
+ttttgctggtatgtcagaagctgaggcattaaaaaccatctcttattacagtatgggctc
+gttggtctgtgtctttatttttgccgcactactgaaaaaaatggtccggcccatctgggc
+taatgtatttaactctgcactggcaacaataacagcagccattatctacctgtacccttc
+tccactggtgtgcaatgccggagcctttgttatcggtttctcagcagctggcggcatttt
+acagctcggcgtttcggtcatgtcagagttttttcccaaaagcaaagccaaagtcaccag
+tatttatatgatgatgggtggactggctaactttgttattccactgattaccggttatct
+gtcgaacatcggcctgcaatatatcattgttctcgattttactttcgcgctgctggccct
+gattaccgcaattattgtttttatccgctattaccgcgttttcattattcctgaaaatga
+tgtgcggtttggcgagcgtaaattttgcacccggttaaacacaattaagcatagaggtta
+aaggagttaattatggatgttaccgcaaaatacgaattgattgggttgatggcctatcct
+atccgccacagtttatcgcccgaaatgcagaataaagccttagaaaaagcgggattgcca
+tttacctatatggccttcgaagtggataacgatagctttcctggagcaattgaaggatta
+aaagccctcaaaatgcgcggaactggtgtatcgatgccgaacaaacaactggcgtgtgaa
+tatgttgatgaattaacaccagctgccaaactggtgggggccatcaacaccatcgttaat
+gatgatggctatctgcgtggctataacaccgacggcacgggccatattcgcgccattaaa
+gagagcggttttgatatcaaaggcaaaacgatggtgctgttaggggccggtggtgcctca
+acggcaattggcgcgcagggggcaattgaaggtttaaaagaaattaaactctttaaccgt
+cgggatgagttcttcgataaagccctcgccttcgcgcagcgggttaatgaaaacaccgat
+tgtgtcgtcacggtcaccgatctcgccgatcagcaagcctttgctgaagccctggcttcc
+gccgacattttaaccaatggcacaaaagtgggtatgaaaccccttgagaatgaatcattg
+gttaatgatatcagtctgttacatccgggacttctggtcactgaatgcgtgtataacccg
+catatgacgaagttattgcagcaggcgcaacaagctggttgcaaaacgattgatggatac
+ggcatgttgttgtggcaaggggctgaacagttcacattatggactggcaaagatttccct
+ctggaatatgttaaacaggtcatggggttcggtgcctgacaggctgaccgcgtgcagaaa
+gggtaaaaaatgaaaaccgtaactgtaaaagatctcgtcattggtacgggcgcacctaaa
+atcatcgtctcgctgatggcgaaagatatcgccagcgtgaaatccgaagctctcgcctat
+cgtgaagcggactttgatattctggaatggcgtgtggaccactatgccgacctctccaat
+gtggagtctgtcatggcggcagcaaaaattctccgtgagaccatgccagaaaaaccgctg
+ctgtttaccttccgcagtgccaaagaaggcggcgagcaggcgatttccaccgaggcttat
+attgcactcaatcgtgcagccatcgacagcggcctggttgatatgatcgatctggagtta
+tttaccggtgatgatcaggttaaagaaaccgtcgcctacgcccacgcgcatgatgtgaaa
+gtagtcatgtccaaccatgacttccataaaacgccggaagccgaagaaatcattgcccgt
+ctgcgcaaaatgcaatccttcgacgccgatattcctaagattgcgctgatgccgcaaagt
+accagcgatgtgctgacgttgcttgccgcgaccctggagatgcaggagcagtatgccgat
+cgtccaattatcacgatgtcgatggcaaaaactggcgtaatttctcgtctggctggtgaa
+gtatttggctcggcggcaacttttggtgcggtaaaaaaagcgtctgcgccagggcaaatc
+tcggtaaatgatttgcgcacggtattaactattttacaccaggcataagcaataatattt
+cggcgggaacaccctccccgccgaactaaaaaatatattcaatcgtatttaataaaaata
+tttcgtgagtctctgtgcgctaattctccatttggcgtagggaaaatcacatctgaatca
+ggaattaacaatgaaacctgtaaaaccacctcgtattaatggacgagtgccggtcctgtc
+ggcacaggaagcggtgaattatattcccgacgaagcaacactttgtgtgttaggcgctgg
+cggcggtattctggaagccaccacgttaattactgctcttgctgataaatataaacagac
+tcaaacaccacgtaatttatcgattattagtccaacagggcttggcgatcgcgccgaccg
+tggtattagtcctctggcgcaagaaggtctggtgaaatgggcattatgtggtcactgggg
+acaatcgccgcgtatttctgaactcgcagaacaaaataaaattattgcttataactaccc
+acaaggtgtacttacacaaaccttacgcgccgccgcagcccaccagcctggtattattag
+tgatattggcatcgggacatttgtcgatccacgccagcaaggcggcaaactgaatgaagt
+cactaaagaagacctgattaaactggtcgagtttgataacaaagaatatctctattacaa
+agcgattgcgccagatattgccttcattcgcgctaccacctgcgacagtgaaggctacgc
+cacttttgaagatgaggtgatgtatctcgacgcattggttattgcccaggcggtgcacaa
+taacggcggtattgtgatgatgcaggtgcagaaaatggttaagaaagccacgctgcatcc
+taaatctgtccgtattccgggttatctggtggatattgtggtggtcgatccggatcaaac
+ccaactgtatggcggtgcaccggttaaccgctttatttctggtgacttcacccttgatga
+cagtaccaaacttagcctgcccctaaaccaacgtaaattagttgcgcggcgcgcattatt
+cgaaatgcgtaaaggcgcggtggggaatgtcggcgtcggtattgctgacggcattggcct
+ggtcgcccgagaagaaggttgtgctgatgactttattctgacggtagaaacaggtccgat
+tggcggaattacttcacaggggatcgcctttggcgcgaacgtgaatacccgtgccattct
+ggatatgacgtcccagtttgatttttatcacggtggcggtctggatgtttgttatttgag
+ttttgctgaagtcgaccagcacggtaacgtcggcgtgcataaattcaatggtaaaatcat
+gggcaccggtggatttattgatatcagtgccacttcgaagaaaatcattttctgcggcac
+attaactgcgggcagtttaaaaacagaaattaccgacggcaaattaaatatcgtccagga
+aggacgggtgaagaaatttattcgggaactaccggaaattactttcagcggaaaaatcgc
+tctcgagcgagggctggatgttcgttatatcactgagcgcgcagtattcacgctgaaaga
+agacggcctgcatttaatcgaaatcgcccctggcgtcgatttacaaaaagatattctcga
+caaaatggatttcaccccagtgatttcgccagaactcaaactgatggacgaaagattatt
+tatcgatgcggcgatgggttttgtcctgcctgaagcggctcattaacaggagtataatga
+tggatttttctttaactgaagaacaagaactgctgctggccagtattcgcgaactgatta
+cgactaactttccggaagagtatttccgcacctgcgatcaaaacgggacatatccgcgtg
+agtttatgcgggcgctggcggataacggtatttccatgcttggcgtgccggaagaatttg
+gtggtatccctgcggattacgtcacccaaatgctggcgctgatggaagtgtcaaaatgcg
+gtgctccggcatttttaattaccaacggtcaatgtattcacagtatgcgccgtttcggtt
+ctgcagagcagctacgtaaaacggcagagagcaccctggaaacgggtgatcccgcctatg
+ccctggcgttgacggaaccaggtgctggctcagataacaacagtgccactaccacttaca
+cgcgtaaaaacggcaaggtctacatcaacggacaaaaaacctttattaccggtgcgaaag
+agtacccgtatatgctggtgctggcgcgcgatccgcaaccgaaagatcccaaaaaagcct
+tcaccctgtggtgggtcgactccagtaagcccggcattaagattaacccgctgcataaaa
+tcggctggcatatgctcagcacctgcgaagtctatctcgacaacgtggaggttgaagaga
+gcgacatggtgggcgaagaaggaatgggtttcctcaatgtgatgtacaactttgagatgg
+agcgcctgatcaacgccgcgcgcagcaccggctttgccgaatgcgcctttgaagatgccg
+cccgctatgccaaccaacgtatcgcttttggtaagcccattggtcataaccagatgatcc
+aggaaaaactggcgctgatggcgattaagatcgacaacatgcgcaacatggtgctgaaag
+tggcatggcaagccgatcagcatcagtcactgcgcaccagcgcggcgctggcaaaactgt
+actgtgcacgtaccgcaatggaagtcattgatgatgcgattcaaatcatgggcggtctgg
+gctataccgatgaggcgcgcgtctcccgcttctggcgtgatgtccgttgtgaacgtatcg
+gcggcggtacagacgaaattatgatttacgtagcaggtcggcagatcctgaaagactatc
+agaacaaataatctgcaggcggcgcagcttcttaacaaactgcgccgccagatttatcca
+acaagacttaccggttgaggaaattcagataggatttcttgttccgcaaaacagttttta
+aattgtctacggtaatcgctgggcgaacaaccgacatggcgcaaaaacagtttggcaaag
+tgatcgacattttcataacccacacgccaggagatctctgcctgtgataattcagtatta
+gtgagtgaccattttgcttccgtcatacgccgttgaataacatagttaataggggaaata
+cgatactctttggtaaattcatggcaaatataactgacgctggcacgaaattttttcgat
+aactgttctaaagtgattttttcgcgataattattattcagatagaaaagaatatctttt
+atcagaacatcttttttaatatacccctgctccgaacgataagcatttttaaaattttcg
+tagtaaagaatggctaacgtataggcaaatgcatcccataacgaagatgtttggctattt
+ttactttgcggcaaaatcacacttagctcattaaataaggtttttatgacttcttttccc
+tgccccgcggcaattaccggacaagaatgcggttgcagtagctgattttcctcagccccc
+tgaaactgaaagccgtacagcgcacaggtacacgtcgttgccggatcgttaacgtcagag
+gccaccgcatgcagcctgccgcgttctatcaccacaatgtcatccgcatgtgcgacatat
+aacgaagaatcgatggtaaaccttgcaacccctttcttgacgtaaatcaactcggtttca
+ttgtcatgaacgtgatgtccggactcccattttggatcatcgctaaatgcaaaacgtgaa
+agccgtggcgttttaccggcgacaaacagcgtttcactggcgttatcaaaacagcgttga
+tacatgacaacctccctattccatgagcaagcaaaaacaatatatgccggataaaatacg
+gcgtgtattgcggttatacaaccgcgtttagcgagagctaaacaagattatttacactga
+atgcaagattgtacggtcatggaataactatattgccgcaaattgcacttttgttttagc
+gatcgcattttttttgcaagattgttggcaaggaaaacagcttgctccgtcgaaaacccc
+gcaccgctatcgcacactattttcaggccatttttaccttccatcggagatggttccgta
+tgcgactcacaggagaaatcatgaaaataataacctgctttaagctggtgcctgaagaac
+aggacattgttgtcactccagaatacaccctgaatttcgacaatgccgacgccaaaatca
+gccagttcgatctcaatgccattgaagctgcaagccagctcgcaacagatgacgatgaga
+tagccgcgctgaccgttggcggctcattgttgcagaactcgaaagtgcgcaaagacgtgc
+tatcccgcgggccgcacagcctgtatttggtgcaggatgcgcaacttgaacatgcactgc
+ctctcgataccgcaaaagcgctggcggcagcaattgaaaagatcggcttcgatttactga
+tctttggtgaaggttccggcgacctttatgcccagcaggttggcttgctggtcggagaaa
+ttctgcaacttccggtgattaatgcagtgagtgctattcagcgtcagggcaatacactgg
+tgattgaacgcacgcttgaagatgatgttgaagttattgaactctctgttccagccgtgc
+tctgcgtcacctccgatattaacgtgccacgcattccttcgatgaaagccattctcggcg
+cgggtaaaaaaccggtaaatcagtggcaggcaagtgatattgactggagccagagcgcgc
+cacttgctgaactggtcggcattcgcgtaccgccgcaaacagaacgtaagcacatcatta
+tcgataacgattcgccggaggccattgccgagctggcggaacatctgaagaaagccctga
+actgaagcctacggagaagaaacgatgagtcaattaaacagcgtctgggtctttagcgat
+aatcctgaacgttatgctgaactgtttggcggcgctcagcaatggggccaacaggtgtat
+gccattgtacaaaataccgaccaggcgcaggcagttatgccttatggtccaaaatgtctt
+tatgttcttgcgcaaaacgacgcgctgcaacgcactgaaaattacgccgaaagcattgct
+gccctgctgaaagataaacaccccgctatgttgctgttggccgcgacgaaacgtggtaaa
+gcgctggcagcacggttaagtgtgcaactgaatgcggcgctggtgaacgatgccacggcg
+gtggatattgtcgatggtcacatttgcgccgaacaccggatgtatggcgggttagcgttc
+gctcaggaaaagatcaacagcccgctggcgatcattacccttgcacccggtgttcaggaa
+ccgtgcaccagtgatacctctcatcagtgcccgacagaaacggtaccttatgttgctccg
+cgtcatgaaattctctgtcgcgaacgccgtgcgaaagccgcaagcagcgtggacctgagc
+aaagcaaaacgtgtggttggcgtcggtcgtggactggcggcgcaggatgacctaaaaatg
+gtccacgaactggcggcggtgctgaatgctgaagtcggctgttcacgtccaattgccgaa
+ggcgagaactggatggagcgtgaacgttatatcggtgtctccggcgtgttgctgaaatcc
+gatctctacctgacgctggggatctccgggcagatccagcatatggttggcggcaacggc
+gcaaaagtgattgtcgccatcaataaagataaaaatgcgccaatcttcaactatgccgac
+tacggtctggtgggcgatatctacaaagtcgtccctgccctgattagccagttgagccgc
+taattcccctttcaaccacatctcccgctgtaaacgcagcgggaagggagcataacgcat
+gtcggatgacaaatttgatgccattgtggtcggtgcgggcgttgctggtagcgttgccgc
+actggtcatggcacgagccgggctggatgtcctggtgatagaacgcggcgacagtgccgg
+atgtaaaaacatgaccggcgggcgtctttatgcccacacacttgaagcaatcattccagg
+ctttgcagtatcagcgccggtagaacgcaaggtcacacgcgagaaaatctccttcttaac
+cgaagaaagcgccgttaccctcgattttcaccgcgagcagccagatgttccgcaacacgc
+atcttataccgtattgcgtaatcgtctggacccgtggttgatggaacaagccgagcaggc
+gggcgcgcagtttatcccaggcgttcgcgtcgacgcgctggttcgtgaaggaaacaaggt
+cactggcgtgcaggctggggatgatattctcgaagcgaatgtggtgattctggctgatgg
+cgttaactcgatgcttggccgctcgctgggaatggttcccgcttccgatccgcatcatta
+cgctgttggtgttaaagaggttattggcctcacaccagaacagatcaacgatcgctttaa
+tattacgggcgaggaaggtgccgcctggctgtttgccggttccccttctgacggcctgat
+gggcgggggatttctctataccaacaaggattccatatccttggggctggtttgtggatt
+gggtgatatcgcccatgcgcaaaaaagcgtgccgcaaatgctggaagattttaaacaaca
+ccccgccattcgcccgctgattagcggcggcaaactgcttgaatattccgcgcatatggt
+gccggaaggcggtctggcaatggtgccgcaactggttaacgagggcgtgatgatcgttgg
+tgacgccgcaggcttctgcctgaatttgggttttacggtccgcggcatggatttagccat
+tgcatcggctcaggctgccgccacaacggtgatcgccgccaaagaacgcgcggatttctc
+cgccagcagtctggcgcaatacaaacgtgagctggaacaaagctgcgtcatgcgtgatat
+gcagcattttcgcaagatcccggcgctgatggaaaacccgcgcctgtttagccaataccc
+acgaatggtagccgacatcatgaacgagatgttcaccatcgacggcaaaccaaaccagcc
+ggtacgaaaaatgatcatgggacatgcgaagaaaattgggctgatcaacttgctgaaaga
+tggcattaagggagcaaccgcgctatgagccagaacgctacggttaacgtcgacatcaaa
+ttaggcgtcaataaattccatgttgatgagggccacccgcatatcattctggcggaaaat
+cccgatatcaatgaattccataaattaatgaaagcctgccctgccggactttataagcag
+gatgacgcaggaaacattcattttgattccgccggttgtctggagtgcggcacctgtcgg
+gtgctgtgcggtaacactattctcgaacagtggcaatatcccgcaggcaccttcggtatt
+gattttcgctacggctaatcatgcatcccacaggcccgcatctcgggcctgatgttctgt
+ttcgagagtccaacatgaaagtgacattaacgtttaacgaacaacgtcgtgcggcgtatc
+gtcagcaagggttatggggcgatgcttcgctggccgattactggcagcagaccgctcgtg
+cgatgccagacaaaattgccgtggtcgataatcatggtgcatcgtacacctatagcgcgc
+tcgatcacgccgcgagctgtctggcaaactggatgttagcgaagggtattgaatcaggcg
+atcgcatcgcatttcaactgcctggctggtgtgaatttaccgttatctatcttgcctgcc
+tgaaaatcggtgcagtttccgtgccgctgttgccttcctggcgggaagcagaactggtgt
+gggtgctcaataagtgtcaggcaaaaatgttctttgcaccgacgttgtttaaacaaacgc
+gtccggtagatttaatcctgccgctgcaaaatcagcttccacaactacaacaaattgtcg
+gcgtggacaaactggctcccgccacctcttccctctcattaagtcagattatcgccgaca
+atacctcactgaccacggcgataacgacccacggcgatgaattagctgcggtgctgttta
+cctccggaaccgagggtctgccaaagggcgtgatgctaacgcataacaatattctcgcca
+gtgagcgggcttattgcgcgcgactgaatctgacctggcaggatgtctttatgatgcctg
+cgccacttggtcacgcaacgggctttctgcatggcgtaacggcaccattcttaattggcg
+ctcgcagcgtgttgttagatattttcactcctgatgcgtgtctcgcgctgcttgagcagc
+agcgttgcacctgtatgctcggcgcaacgccgtttgtctatgatcttttgaatgtactag
+agaaacaacccgcggacctttcagcgctgcgtttctttctttgcggcggaaccacaatcc
+ccaaaaaagtggcgcgtgaatgccagcagcgcggcattaaattattaagtgtttatggtt
+ccacagaaagttcgccgcatgcggtggtgaatctcgatgatcctttgtcgcgctttatgc
+acaccgatggttacgctgccgcaggtgtagagattaaagtggtcgatgacgcacgcaaga
+ccttaccgccaggttgcgaaggtgaagaagcctcgcgtggccccaatgtgtttatggggt
+attttgatgaacctgaattaaccgcccgtgccctggatgaagaaggctggtattacagcg
+gcgatctctgccgtatggatgaggctggctatataaaaattaccggacgcaaaaaagata
+ttattgtccgcggcggcgaaaatattagcagccgtgaagtggaagatattttattgcagc
+atcctaaaattcacgatgcctgtgtggttgcaatgtccgatgaacgtttaggtgaacgat
+catgcgcttatgtcgtgctgaaagcgccgcatcattcattatcgctggaagaggtagtgg
+ctttttttagccgtaaacgggtcgcaaaatataaatatcctgaacatatcgtggtaatcg
+aaaaactaccgcgaactacctcaggtaaaatacaaaagtttttgttaagaaaagatatta
+tgcggcgtttaacgcaggatgtctgtgaagagattgaataagtttcatcttcggggatca
+cataaccccggcgactaaacgccgccggggatttattttatttcttcagttcagccaggc
+ttaaccaggtttgcaccacggtgtccgggttcagagacaggctatcgatcccctcttcca
+tcaaccatgcggcaaagtcttcgtggtcggacggaccctgaccgcaaatcccgacatatt
+tgccctgtttcttcgcggcacggatagccatcgacagcagtgctttcaccgcatcgttgc
+gctcatcgaacaattcagacaccacgccggagtcacggtccagaccgagcgccagctgcg
+tcatatcgtttgagccaattgagaagccgtcgaaatattcgaggaactgctcggccagca
+aggcgttggacgggatttcacacatcatgatgattttcagcccgttctcgccacgtttca
+gcccctgacgcgccagttcttcaaccaccgctttcgcctgatctacggtacgcacgaacg
+ggatcatgatctcaacgttggtcagtcccatgtcgttgcgcacacgtttcactgcttcac
+actccagcgcgaaacagtcgcggaagctgtcggaaacatagcggcccgcgccacggaagc
+cgagcatcgggttctcttcatctggctcgtaacgctcaccaccgaccaggttggcatatt
+cgttcgatttaaaatcagagagacggacaatgacgcgcttcggataaaacgcggcaccca
+gcgtcgcgatcccttcagtcagacgaccaacgtaaaattcacgcggagaatcaaaacctt
+tcatcatctcgcggatttcgttttgcaactgcggttcctgatcgtcaaactcaagcagtg
+cgcgtgggtggacgccaatcatacggttgatgataaattccagacgcgcaaggcccacgc
+cttcgttcggtaggcaggcgaagtcgaaagcacggtccgggttaccgacgttcatcatca
+ctttcaacggcagatccggcatcgtttctacgctggagcttttcacgctaaattccagca
+actccgcatagacgtaaccggtatcaccttcggcacaagaaacagtgacgttctcaccgt
+ctttcatccgttctgttgcatctccacagcccactaccgccggaatgcccagttcacgag
+cgatgatcgccgcgtgacaggtacgaccgccacggttggtgacgatggcagatgctttct
+tcatgatcggttcccagtccgggtcggtcatgtcagtaaccagcacgtcgccaggttcga
+tgcggttcatttcgctgatgtcatggatgactttcaccggacccgcaccgatgcgatgac
+cgatagcacggccttcggcgataatcttaccctgtgaatgcagcgtataacgctccatga
+cctgaccgcgtgagcgcacggtttccggacgcgcctgcacaatgaacagtttaccggtgt
+ggccatctttcgcccactcaatatccatcgggcgaccgtagtgtttctcaatttgtacgg
+cctgttttgccagttcctgcacttcttcgttggtcagcgagaagatgtcacgctgttcct
+gcggtacgtcttcgattttaacctgcttgccgtgctcctgggtcggcgcgtaaaccatgc
+ggatttttttcgaccccatggtgcggcgcacgatagccgggcgattcgccgccagtgtcg
+gtttatgcacgtaaaactcatccgggttaaccgcaccctgcacgaccatctcaccaaggc
+cccatgcggaagtgataaacaccacctggtcaaagccggattcggtatcaatggagaaca
+tcacgccagatgatgcgaggtcagagcgcaccatccgttgaacaccggcggagagcgcca
+caccacggtgatcgtaaccctggtgcacacgataagagatggcgcgatcgttaaacagag
+aagcaaatacatgtttcactgccacgagaacggcgtcaaaaccctgaacgttgaggaagg
+tttcctgctgaccggcaaaagaagcgtccggcatatcttctgcggtggcggaggagcgca
+ccgcaaaagaggcgttttcgtcatcggcggaaagctgtgcataggcttcgcggatggcgt
+tttccagctcaggctggaagggagtgtcgataatccactggcggatttgcgcgcccgctt
+tcgcaagctgagtaacatcgtcaatatccgttttatccagcagttcataaatgcgctggt
+ttacgccgctttggtccagaaactggttaaacgcgtcggcggttgtggcgaaaccattcg
+gaacggaaacacccattccggaaagattagtaatcatttcacccagggaggcatttttgc
+ccccaaccctgtctacatcattcatgccgagttggttataccaaagcaccagcggtgacg
+agccattgttggacatcgaacaatccttttgtgataaatgaacggtttgagaaacacatt
+tctgcgcatttatctttgcatatttaaccggatgaaaaaaacggtgaatcgttcaagcaa
+atatatttttttactttttaagactgatcccagcgttgcgcaaatctgctctcttcgaca
+atttccacataaaccatcggtataaacgaaaccataaaaatgaaatgctgttttcataaa
+aaataaaattgaaggttcattttataaaccagacataacgttctacgcttctgtgcgttt
+ttaatttatgctttcatagaattatgtctgcatcacgggaagaacaaaatggataatgct
+gttgatcgccacgttttttatatttctgatggtacggcaataactgcggaggtattagga
+cacgcagtaatgtcacaatttcccgtcactatcagcagcatcacgctgccgtttgtcgaa
+aatgagagccgtgcacgggcagtgaaggatcagattgacgcaatttatcaccagacaggc
+gtgcgcccgctggtcttctactccatcgtgttgccggagattcgcgccatcatcttgcaa
+agtgaaggcttttgccaggatatcgttcaggcgctggttgccccgctacaacaagagatg
+aaactggatccaacgccgattgctcatcgtacccatggccttaaccctaataatctcaat
+aaatatgatgcgcgcattgcggcgattgattacaccctcgcccacgatgacggcatttcg
+ttgcgcaatctggaccaggctcaggtgatcctgctcggtgtttctcgctgtggtaaaacc
+cccaccagtctgtatctggcaatgcagtttggtatccgcgcggcaaactacccctttatt
+gccgacgatatggataatctggtgctacccgcgtcgctcaaaccgcttcagcataaattg
+ttcggcctgactatcgacccggaacgtctggcggcgattcgcgaggaacgtcgggagaac
+agtcgctatgcctcgcttcgtcagtgcaggatggaagtcgcggaagtggaagccttgtac
+cgtaaaaatcagatcccgtggattaacagtaccaattattcggtagaagagattgccacc
+aagatcctcgatatcatgggccttagtcgccgaatgtactagagaactagtgcattagct
+tatttttttgttatcatgctaaccacccggcgaggtgtgacacacctcgcacttgaaatc
+agcagcgattggtttatcgtgatgcgcatcacttcccggcagtcctgccgtagaagcaac
+aaatttctgagacttgtaatgaacagaactgacgaactccgtactgcgcgtattgagagc
+ctggtaacgcccgccgaactcgcgctacggtatcccgtaacgcctggcgtcgccacccat
+gtcaccgactcccgccgcagaattgaaaaaatactgaatggtgaagataagcgactgttg
+gtcattattggcccctgctcgatccacgatctcaccgctgcaatggagtacgccacccgt
+ctgcagtcgctgcgcaaccagtaccagtcacggctggaaatcgtaatgcgcacctatttt
+gaaaaaccacgaactgttgtcggctggaaaggactaatctccgatccagatttaaacggc
+agctatcgggtaaatcacggtctggagctggcgcgcaaattacttttacaggtaaatgag
+ctgggcgtcccaaccgcgaccgagttcctcgatatggtgaccggtcagtttattgctgat
+ttaatcagttggggcgcgattggcgcacgtactaccgaaagtcagatccaccgcgaaatg
+gcttcggcactctcctgtccggtaggttttaaaaatggtaccgatggcaatacgcggatt
+gctgtggatgctatccgcgcagcccgcgccagccatatgttcctctcgccagacaaaaat
+ggtcagatgaccatctatcagaccagcggcaacccgtatggccacattattatgcgtggc
+ggcaaaaaaccgaattatcatgccgatgatatcgccgcagcctgcgatacgctgcacgag
+tttgatttacctgaacatctggtggtggatttcagccacggtaactgccagaagcagcac
+cgtcgccagttagaagtttgtgaggatatttgtcagcaaatccgcaatggctctacggcg
+attgctggaattatggcggaaagtttcctgcgcgaaggaacgcaaaaaatcgtcggcagt
+cagccgctcacttacggtcaatccattaccgacccgtgtctgggctgggaggataccgaa
+cgcctggtcgaaaaactcgcctctgcggtagatacccgcttctgaatgcgtgcccattcc
+tgacggaatgggcatttctgcgcaacttgttgtcttctcaacaaattactgcttgctctg
+gtcagccataatattgataataagaatcattgttatatcaattattattaatttttatgc
+gttatacggatagcagaaaactcacgcctgaaacggatgccaatcacaagaccgcttccc
+cgcagcctattcggcgaatttccagccagacactgttaggtccggatggcaaactgatta
+tcgatcatgacgggcaagaatatctgctccgtaaaactcaggctggcaagctgctgttga
+ccaagtagcctttaactcgagcagctgacttccagccgtttaccccagtcaggtggacga
+ctgacatagtcatcatctctgtcgctgaaaggatttcgcaacgcctcatgcaggcggtgc
+aattccgtcatatcacccttttctgccgcttcaatcgcccgttgcgccaaccagttgcgc
+aataccagagcggggttaacgctttgcatcagttgctgacgctcactatcgctaacctcg
+tcttgttgcaaacgcccccgataacgggcaaaccagtcatcaaatgccgcacgatcaata
+aactcatcacgtagcggtgacgccgcgctgtgctgctcggtcagactcagcatgcggaat
+gtgcgggtataatcgctgcgctctcgcgccatcagactgaataattcattcagtagcgcg
+ttatcctctttttgctccgtcatgaagcccagtttctgccgcatccgttctccataatgc
+gtcaacaaaacctgctgatagctgtccagggcctcattcagggcatctacggcaacaaat
+ggcgacaatgtctgcgccagacgctgtaaattccacaacgcgacggcaggttgattatca
+aagctgtaacgcccttgatgatccgagtgattacaaataaaaccgggttcgtaatcatca
+agaaaaccaaacggcccgtaatcaagcgtcagccccagcagcgacatgttgtcggtattc
+atcaccccatgagcaaagccgaccgtctgccattgggcaattaacgacgcggtacgtgcg
+acaacatcgctaaaccagagacggtatttgtcctcatcatctgcaagatgtgaccagtaa
+tgacgaatagcaaagtcagctaactgacgaaccttttccgactcgcggcggtagtaaaaa
+tgttcgaaatgaccaaagcgcagatgacttggtgccacacgcatcagcatcgcgcctggc
+tccgccgtttcccgatacactggcgaatcgctggtgacgatacttaacgcgcgggtcgtc
+ggaatgcccagataatgcatcgcctcactggcgagactttctcgtatcgtcgaacgtaaa
+accgcccgtccatcacccattcgcgaataaggcgtcaggccagcacctttcagatgccag
+tccattgtagtgccatcagcaagcagttgttcgccgagtaaaatgccgcgcccatcaccc
+agttggcccgcccagacgccgaactgatgaccactgtaaacctgcgccagtggtgacata
+ccaggcagtagggcttcgccgccccagacacctgcgccatttttaaacagcgacgatgga
+atactcagcgtgttagccagttcggtattatgccaaatcagccgggcattatttaaaggc
+gtaggggaaagtgctgtataggtttctggcaattcatcgcgccagcgggtaacaaaagac
+agggtcatagatcctcctgtttgatagtgtagacggttactctcgtcttaaacaccagca
+aacagaagggttatcgctgaaccaacgtcgttatctgatttatgggaacggcaggccaca
+ggcatccctggagagcatggaaatcgaagggggtaatctgtgccaatatttctgccgtat
+caatgcctcccgcaatgatgcaattgcaacaaggggaaatttgcgcctggatcgcacgaa
+taaacggttcgaaggagcggtgcgtgatttgttgctgaataaaacttttatccagcatga
+cgcgggtgaaaagaccatcaaaaaccgctttcattgtgctattgcctgctcccaaattac
+ctaacacaaggggatacacttgcgataaggataaaagaccgcgattatcttttccttcat
+tgagatgcgggtaattctcattaatcaacagttcaataaacggatattttaatagttcgc
+ctgcgtaattatccctctctaataataatgtagccacttgtggcgttaaattaagccagg
+caaagagtttatgttgaataaaaaaatgttggcatgattttagtaattccaactgctctg
+aaaataattgccaatgttgctcctcggtaagttgcgctataacccgactcgtcgggatac
+gaaccgtaccatcttcactggagaaatgggtaattaactcaacgccgacaaggacttgct
+ggttgtctcttatcggcaggaaatagcaatcagaatgataaagattctccaaaaaaatct
+tcatggtaaccgtccctctcgaaggatgtttttcagtatccggctaaaagggatgaggcc
+ataagacataacaattacagaaggagtaactttcatttgttccatgttaaccactttttc
+aggggtcctttttttagattatcctgattataaacgaataatccatttacggaatttttg
+tctgcaaaatactactgtattcaggagtaaatggacggcgatgtatcatcgccgtccatt
+tttcgacatactagattcgtctcgcctgccagaaatttttctgccaatagacattatcaa
+gtgaggaacgcatcactcccttgctggtagaggcgtggataaattggttgttggtatcgt
+aaatacctacatgcaaaccattttgtccggaccccgttttgaaaaagaccaggtcacctg
+gcagcaactcgtctttatcaatttgcgtgccaatagaggcttgttgtttggtttcacggg
+gcagctgcaaatcgaaacgatcgcgcatcgtcacaaccacaaatcccgaacagtccacac
+cgcgccgcgtcatgccaccataacgatacggcgtgccatgccagctttgtagctggtcgt
+tcaaaccggcaataacggtaatcgaatcagaaagtctggcatttggcggcggtgctttat
+ggtggctacacccggccagaagcagtgctgtgatcaaaataaggcagaaacgcattccgt
+acggttcctctgttttttattcttgcattaatttagcgtcgtaattacccgattttcaag
+atactaatgaaatcagatggtcgaaatcagcattctgtgaccttcgatatccagacggcg
+aaaattcatcccataggcctgcgccagatttggcggcgtgagcacctcttccctgcgtcc
+actggccagcatttttccaccttttagcaaccacgcccgatgcgcatgacgcaatgtgtg
+gttgagatcgtgactgctcatcacaatcgccagtccttgctgacacagcgcgctcagaat
+tttgtctaacgcactttgttgcgcaacatcaagactgttcatcggctcatcaagaagcag
+caattggcctgcgggattggcttgtggtgtgatttgcaacaccaccgcagcaagacgtac
+gcgttgccattcaccgccggaaagttgattggtgctacgtccgagtttgtcatcaagagc
+cagcgcccctgcgacatcattcagtagttcggtacgcgttttatcgtgctgatgcagtgt
+caggtagtgccagaccggcgttgcaaacggcggcgtctgctgttgtgaaagataggcgcg
+atgcagcgcgagttttgttgcggaccatgcttccagtggttgccccgcgaactgaatgct
+tcccttaccgctggtcattccggccattcgcgccagtaaggtactcttacccgcgccatt
+cggccccaccaggtgcaggatctccccagcccgaacctcgccagaaagcggccccaggcg
+ggtagattccgcaacatcttgtaactgcatcacaatagacattattttgccaacgccagt
+ttaatgctttccatcacaatgggatcttccggcgtcatatccggggaaaaacgctggatg
+acttttccgtccctgccaaccaggaatttttcaaaattccataaaatatcatccgggtac
+agcggtgcacggcctttgctgaccatacgggcatagaatccgctctcttccggcgcgact
+gcggtcggcgctgcggcaatcaatttttgatacagcggatggcgtccttcgccattaact
+tcaatcttactgaacatcgggaacgtcaccccccatgtggtggtacagtaagttttaatc
+tcttcatcgctgcccggttcttgttccagaaactggttgcacgggaatcccagcaccata
+aaacctcgatcgacccaggctttctgaatattctccaactgctcatattgcggcgttaag
+ccacactttgaggcgacattgacaatcaacagcacattaccggcgaacttctccagcgtg
+gtcacttcaccgtcgatatctttcactacggtcgtcagaatggaatcttgcatcgtttct
+cctgggtgtggtcagtaaaaatcttagcttttaatcatagaccgtctttttgcggctaac
+gtcctgcttttaacaataaccagataaacaccggcgcacctaacgttgcggtgaccacgc
+caataggcagctctgcggcagctaatgccaggcgcgctacaatatcggccagcagcaatg
+cgctcgcccctgccagcgcgcagccgggaagtaatacgcgatgatcggttaaaccacaca
+accggagaatatgggggatcaccagaccaataaagccgatagcacccgccagcgccacac
+tgacgccaaccatccagccggtcgctgccaccagcacattgcgccagaaccacaggggta
+aacccagttgccgcgccgagatctcgccaagtgctaacatattcatcggcctggactgac
+aacagatccacaacaacacggggatcaatgccagcatcagccagctttgccgccagtcta
+cgccgccaaaaccgcccatcatccagtacatcagctgacgcaaatcaactgaggtggaaa
+agtagatagcccacgtcattagtgcgctacagataatccctaatgcaacgccagccagca
+ataaccgactggtcgaaagatgacgacgggcgaaacgtaagagtattaaagtgatgataa
+gcgcgccagcaatcgcacacagccctagcgcccagttggggagttgcccttgcccaagca
+ataccgcggcgataagccccacgcctgcgccgttagagacgccaagtagtccaggttctg
+ccagaggattttcaaacaacgcctgcattacagcgccggatatagccagcgccgcaccaa
+ccagcaatacagccagcgtacgtggcaggcgaatttgccagacgaacagttcgccacgag
+gagtaaaccagtcacctggcgagatccattgttcaccggcgcaaaggcttaagagaagcg
+ccagcagcatcaaaactgacaggcataataaccagcgaatattttgtcgctgttgttggc
+gggcaagtgtcagcatggtatccgttctgctgaagtgtcatggcgttgattttacggtga
+ctcttcgacagtgaaaagaaaaaaggccgcagagcggcctttttagttagatcagattac
+tcgtctttgggcgaagcgttttcgacccggctttttaacttctgcccgggtctgaaggtc
+accacgcgccgtgctgtaatgggaatatcctcgcccgttttcgggttacgtcccgggcgt
+tgattcttatcacgcagatcgaagttaccaaaaccagagagtttcacctgttcgccgttt
+tccagagcgcgacggatctcttcgaaaaacagttcaaccagttctttggcatcccgcttg
+ctaagcccaagcttatcaaacagatattctgacatttcagcttttgtaagcgccataggt
+tcaatccctcaatgatgcctggaatcgctcttttaatgcctctacacatttggcgacggt
+agcggcaatctcctcttcttcgagtgtacggctggtatcttgcaggatcaggcttatggc
+gaggctcttatacccctccgcaacacccttaccgcggtacacgtcaaataagtttacgcc
+aactacctgatttacgccaactttcttacattcggataaaatatccgctgcgggaacgtt
+ttctgcgaccaccaccgcgatgtcacgacggttcgccgggaagcgagaaatctcgcgcgc
+ctgaggcaccacgcggtctgcgagcttgttccactccagttcgaacaccagagtgcgacc
+gttaagatccagtttacgttccagttcaggatgaacaaccccaacaaaaccaatacgttc
+acctttcagataaatcgctgcggattgccccggatgcagtgccggattcgcttctgcacg
+gaactcaacctcattcagtttaccggtcaggtcgagaacggattcaagatcgcctttcaa
+atcatagaaatcaacggtctcttttgccaggttccagtgctcttcgtaacggttaccgca
+aatcacaccggctaacatcagatcctgacgaatgcccaacggtgcctgagtatctggtac
+gaaacgcagaccgctttcgaaaatgcgcacacggttctgctgacggttctggttgtacac
+cacggttgccagcaggccagtccacagagaaagacgcattgctgacatttcaacagagat
+cgggcttggcagcagtaaggcttcaacgcctggatggatcatctgctgcactttcggatc
+aacgaagctgtaggtgatcacttcctgatagcctttgtcgttgagcagcgttttcacgcg
+cttgagcgacaggtcagcttcacggtgagtacccataatcaggcttgcctgtaccggctc
+atccgggatgttgttgtagccgtaaacacgcgcgacttcttcaaccagatcttcttcaat
+ctccatatcgaaacgccagctcggcgcaactgcctgccattcgtctttgccttcggtcac
+ttcgcagccgagacgacgcagaatgtcagttacctgctcatccgcaatatgatggccgat
+caggcgatccagtttgctacgacgtagagtgatggttgcacgcttcggcagcgttgcttc
+gttggtgatatcaattaccgggccagcctcaccaccgcagatgtcgatcagcagacgggt
+cgcacgttccatcgctttgtgctgcagtgccggatcaacgccacgctcataacggtgaga
+cgcatcggtatgcaggccatgacgacgagcacgaccggtgatagacagcgggctaaagaa
+cgcgcattccagcagcacgttttgtgtttcgtcattcacgccagagtgttcgccaccgaa
+gatgccgcccatcgccagcgccttgttgtggtcggcgatgaccagagtgtcagcattcag
+cttcgcttcagtaccgtcgagcagcaccagcgtttcgccctctttcgccatccgcaccac
+aatgccgccttcaatgcgatctttatcgaaagcgtgcatcggctggcccagttcgagcag
+cacatagttggtgacgtcaacaactgcatcgatagaacggatcccgcaacgacgcagttt
+ttctttcatccacagcggagttggcgctttaacgttaatgccttttaccacacggccaag
+ataacgcgggcaggcttccggcgcttcgactgtaatcggcagcgtgtcgtcgatggtcgc
+accaaccggaacgatttccggttgaaccagcggcagctggttcagcacggcaacgtcacg
+cgcaacaccaatgatgcctaagcagtcggcacggtttggcgtcacgctgatttcgatggt
+gttgtcatcaagtttcaggtattcacggatatcggtgccaatcggcgcatccgcaggcag
+ttcgataatgccgctgtgatcgtcagaaatgcccagttcagagaaggagcacagcatccc
+ttcagacggttcgccacgcagtttcgccgctttaattttgaaatcacccggcagaacagc
+accaatggtcgctaccgctacacgcaggccctgacggcagtttggcgcaccgcagacgat
+gtccagcaggcgatcgccgccgacattcacttttgtcacacgcagtttgtcagcgttcgg
+atgctgcgcacactcaaccacttcaccaacgaccacgccgtggaagctgccggcaaccgg
+ttctacaccgtcaacttccaggcccgccatagtgatttgatttgccagcgcatcgctatc
+aatcgccgggttcacccattcgcgtaaccacagttcactgaatttcataatctattcctg
+ccttatttaaactgtttgaggaaacgcagatcgttttcgaagaatgaacgcaggtcggtg
+acgccgtaacgcaacatagtcagacgctccatccccatcccgaaggcgaaaccagagtaa
+acttccgggtcgatgccaacgttacgcaacacgttcggatgcaccatcccgcagcccagc
+acttccagccatttaccgtttttacccatgacgtccacttctgcagaaggttcggtaaac
+gggaagtaggaaggacggaagcgaatctgcaaatcttcctcaaagaagttacgcaggaag
+tcgtgcagcgtgcctttcaggttggtaaagctgatgttggtatcaacaatcagaccttcc
+atctgatggaacatcggcgtgtgagtctggtcgtagtcgttacgataaacacggccaggc
+gcgatgatacgaatcggtggctgctgggctttcatggtgcggatctgtacgccagaggtc
+tgggtacgcagcaggcgggtagtgtcaaaccagaaagtgtcgtggtcagcgcgcgccggg
+tggtgaccaggaatgttcagagcatcgaagttatgataatcgtcttcgatttccggcccg
+gttgccacggtaaagccaagctcaccgaagaaactttcgatacggtcgatggtacgggta
+accggatgcagaccgccgttttcaatgcgacgacctggcagagagacatcaatcgtttcc
+gccgccagacgcgcattcagtgcagcgctttccagttccgctttacgcgcattcagcgcc
+tgctgaacctgctctttcgcttcgttgataaccgcaccagctgccggacgctcttctggc
+ggcagctcacgcagggtcgtcatctgaagggttaagtgcccttttttacccaaatattcg
+acgcgcacattatctaacgcggcaacatctgacgcctggctaatggccgccttcgcactg
+gcaaccagttctgcgagatgtgacatggttttcctcattgtgtcagtggtgacactggtt
+cgttggacttagagcctatcccatcaggctattttacttgccattttggtcccgggctgt
+gctcgaaattctcacgtacttaaatacgctccggtttctccgcgctggccgtgtccagtc
+tggctgcgacaattacacctgatgagacaggctttttatttttcaaaacgcgcatacaaa
+aaaagcctccactgggaggctttcaggcgctgttttccgtttctcttctcacgcgctagc
+ctcctggattcaggtgctaaagtaaaaaaagaagcggaaaatagcagcattcattgcttg
+cgttaccttttggtactcttcaaaagacctttattgaaaaggctacggcgataaaagtca
+atgttttgatggcgttgaaacgaaaagagggagactagctccctctttcaactggcttat
+gccagagctgctttcgctttttcaaccagagcggtgaacgctactttgtcgaatactgcg
+atatcagccaggatcttacggtcgatttcaacagaggcttttttcaggccattgatgaat
+ttgctgtaagaaataccgttctgacgtgctgctgcgttgatacgcgcaatccacagttga
+cggaactgacgcttacgttgacgacggtcacggtaagcatactgaccagctttgataaca
+gcctggaaggcaacgcggtatacgcgagaacgcgcaccgtagtagcctttagcttgtttc
+aaaattttcttgtgacgtgcacgtgcaataacaccacgttttacgcgagccatatgtgct
+ctcctgtatctatattctaattaaaaagttaaaaacgttaacggcttatgcgtacggcag
+gcacgcgattaccaggcccagatcgcctttggaaaccatggctttcggacgcaggtgacg
+tttacgtttggtcgcttttttggtcagaatgtgacgcaggttagcgtgcttgtgcttaaa
+accacctttaccggtttttttgaagcgcttagcagcaccgcgtacggtcttaatttttgg
+cattttaataacttccacttcgcattgttaataaacgaaacaaaggcgaacaaagcctgt
+gaagcccgaaggctccacagacagtgctacttgaaggccttactgtttcttcttaggagc
+gagcaccatgatcatctggcggccttcgatcttcgttgggaaggattcgaccactgccag
+ttcttgcaaatcgtctttcacgcgattaagcacttccataccgatttgctggtgcgccat
+ctcacgaccgcggaaacgcagcgtgattttggctttatcaccctcttcgagaaagcgaat
+caggctgcggagttttacctgatagtcgccttcatctgtaccaggacggaatttaatttc
+cttaacctggataactttttgctttttcttctgttccttagaagacttgctcttttcata
+gaggaatttgccgtaatccattatacgacaaaccggcggctcggcgttagggctgatctc
+gactaagtctactccggcttcttctgctttctccagagcttctctcagactcacaatacc
+aagctgctcgccttccagacctgttaagcgaacttcctgggcgcgaatttcgccattgat
+acggttagggcgcgccgtttgaactcgttttccgcctttaataccttattcctccaattg
+tttaagactgcggctgcgaatctcttgttgcagcttctcgatcacttcatttacgtccat
+gcttcccaggtctttaccacggcgggtgcgaacggcaactttgcctgattccacctcttt
+atcaccacagaccagcatatatgggacgcgacgcaaagtgtgctcgcggattttaaagcc
+aatcttctcatttctcaagtctgctttaacacgaatgcccgcatttgatagtttttgcgt
+caattcgttaacgtattcagactgtgaatcggtaatattcatgataacaacctgaaccgg
+cgcaagccaggtcgggaagaaaccagcgaactcttcggtcaggataccgatgaaacgttc
+catcgaccccagaattgcgcggtgaatcattaccggtactttacgttcattgtcttcgcc
+tacataagaagcgctcagacgagacggcaaagagaagtccagctgtactgtaccgcactg
+ccatgcacgatcgaggcagtcatacagggtaaattcaattttcggaccgtagaaagcgcc
+ttcacccagttgatattcaaacgggatgttgttttcttccagcgcaaccgccaggtccgc
+ctcagcacgatcccacatttcgtcgctgccaatacgtttttcaggacgagtggagagttt
+gacgacgatcttctcgaagccaaaagtgctgtacatatcatagactaaacggatacatcc
+gttaacttcatcgcgaatttgttcttcagtacagaagatatgcgcgtcatcctgggtaaa
+tccacgcacgcgcatcaggccatgcagcgaacctgacggctcgttacggtggcagctacc
+aaactcggccatacgcagcggcagatcgcgataagacttcagcccctggttgaaaatttg
+tacgtgacccgggcagttcatcggcttaatgcagtattcacggttctcagaagatgtggt
+gaacattgcatctttgtagttgtcccagtgaccggttttttcccacaggacacggtccat
+catgaacggacctttaacttcctgatactggtactctttcagtttagaacgaacaaacac
+ttccagttcacggaagatggtccagccgtcgttgtgccagaataccatacccggcgcttc
+ttcctgcatatggtacaggtcgagctgtttaccgattttacggtggtcgcgtttcgcggc
+ttcttccaggcgctgcaggtaagcgttaagtgcttttttgtctgcccacgccgtaccgta
+aatacgttgcaacattttgttgttgctgtcgccacgccagtaagcccctgccgttttcat
+tagtttgaaatgatggcagaaacgcatgttcggtacgtgcggaccgcggcacatatcgac
+atattcttcatggaagtacagacctggcttgtcatcatgggcgatgttttcgtcaagaat
+ggagactttgtagctctccccacggttggcgaaagtttcacgcgcttcgtgccagctgac
+tttcttcttaatgacgtcgtagtttttctcagcaagctcatgcatccgcttctcgagtgc
+ttcgacatcttcctgggttaacgtgcggtcaagatcaacgtcgtaataaaaaccgttgtc
+aataaccgggccgattgccattttggtatgcggccaaagttgtttaatcgcgtgccctaa
+caggtgcgcacaggagtgacgaatgatctccagaccttcttcgtctttggcggtaatgat
+cgacagttgtgcgtcgttttcaatcagatcgcaagcatcaaccagttcgccattaacgcg
+ccctgcgatacaggctttcgccagacctggaccaatgtccagcgcaacatccatggggct
+tacagcgtgatcgtaatggcgttggctgccatcaggaagagttataacaggcattttata
+tccttatttgcagtggtgacccacacgaaagatcacatacaaagaaaaatttgtttatta
+acagttcattgcgaaaccatctagccaacaaatgctaaattggttcgcaatcaggtacac
+aaatgaaagacattaacctctcaccttccacccggttgagcgatgttaacactaaaaaaa
+gggagattgtacctttccgtttcacattgattcgattcgcaattcgtttgtagtgagtac
+accagcaaaacgcttaaagaacaactgataacatcacggtgcgtctgaaaggtttactgc
+gagcggatttacagcagcataaactgaatccagcaaagttcgttgcgtgatttggcggta
+gtattttaaacgctcatgagattaatgacgaagtggtcatatcacaatgataaaagtgac
+acaattcttataacaatttttcgtgcacatttcgttctggcgataataattaatcatcat
+cctcaaaacctccagatatatataaggcgaacagattatgagtcaaaacgatatcattat
+cagaactcattataagtctcctcatagattgcacatcgatagcgacataccaacaccttc
+atcagagcctattaatcaatttgcgcgccagctcatcaccctacttgatacctctgactt
+aagttcgatgctgtcatactgtgttactcaggaatttaccgcaaactgtcgaaaaatatc
+acaaaattgttattccactgccctttttaccattaactttgccacttcacccatccatac
+agaaaatatactcattacattacactataaaaaagaaatcatttccttattactggaaac
+cacgcctattaaagctaaccatttgcgaagcatactggattatattgaacaggaacagtt
+aactgctgaagatcgtaaccattgtatgaaactgtctaaaaaaatccatagagaaaaaaa
+ctatacacccaacagtaaatctcaatggtagtgcatgttttttgcaatctccttctgacg
+ctattttttgtcgccatctgtcattgcaatacgcccttgattcattgagaaatggaaaag
+gcaaagtcaacctgattaaacattactcctccgttgaatccatacagcagcatgtcccct
+tagtccgggacgcggagttcagagcattacttcgccatcctcctgcagggagtcgcgtta
+tcgcgagtaaggattttggcttcgctttagatattttcttttgtcgaatgatggcaaaca
+atgtcagtcatatgtccgcgattttatatatagacaatcatactttgtcagtaaggctac
+gaataaagcagtcagtgtatggacaattaaattatgttgtgtccgtttacgacccgaacg
+ataccaacgttgccgtcagagacacccacaggacagcacggggctttctttcgcttgata
+agttcatcagttcaggtcccgatgctcagacctgggctgatagatatgttcgcaactgtg
+caattgctattctgcccctattacctgtgggagttccaggggctattttcgcgggtattg
+catcacgaatgccatttgcccctatacatccatcggcaatgttgttaataatggctacag
+gccagtctcaacagcttattacattattcaaacagttgcccatactccctgaaaaagaaa
+tcattgaaataataactgcgcagaatagcgttggtacacctgctttatttttggctatga
+tgaacggacatactgacaacgtgaaaatatttatgcaagaaattcagtcactggtagata
+atcacatcattcatgaagataatctggttaaattactgcaaactaaaagtgctaacgaaa
+cacctggactttatatctccatgttgtatggattcgatgaaataatcgatatctttctga
+atgcattaaccactccaatagcacaagagcttttaaacaaaaaactggtgatgagtattt
+tagccatgaaaatacatgatggtgagccaggattatacgccgcaatggaaaataatcacc
+ctttgtgtgtcacacggttcctctctaaaattaatggcatcgcctttaaatacaagttga
+gcaaagctaacatcatggatttattaaaaggagctacagcacagggaacccctgcattat
+acatcgccatgagcaagggtaatgaagacgtcgtgttatcttatatatcgacgctgggtg
+cttttgcaaaaaaacattcttttagtcaacatcagttatttacactattggccgctaaaa
+atcatgacaacatgtcagctgttcatatagccattcatcataagcattataaaactgtag
+aaacatattatgctgctattaatgcaatcagccaaagcctgagttttagtgctgatgaaa
+taaagacgtatttataaccagctatttacgatatatatcgatacataattttattttttt
+cataaaacgcagaaacagtgaccatgtgcacaacgccacccgacggctgtaataacaaaa
+aatcccttgatgcctgtcccttttgttacactccgttatcacgcacaagagatatgcagg
+acactggtatgccgactaaacgctttgataaaaaacactggaagatggtggtggtgctac
+tggcaatctgtggcgctatgttgttgctacgttgggcagcaatgatttggggctgagcag
+tgacaaacgaagacagccagaccgcataacacggtccggcagataattttacatgctgta
+gcccagcgataaggttgtccgacggtcggtatgttccggtgcagactctggaggttcaga
+gttccatgtgacgttgtaagccaccttcagtccaaaatgttcattaatagcaacatttaa
+tgcgctttcggagttcagcgttgtgtcttccgcgccaaagaccgaaacaccctgcgtaaa
+tttagcgttgtcagtcaactgccatgcataagccccggaggcatagcccagcggctgggt
+ttcactggcattgtcggtatatttgtcgtaacgcacacctggaccgaattcaaagcggaa
+actgtgtaccgggccattcaaaaactgacgaccataacccgcggtcaacacatcgcgctc
+tcgatagccgttataacggtctgtcagccagcttgcctgaccaaataaatagtcataatc
+agttaaattaaaacggctacgcccgcccgccgcatatttttctgaagaacgctcatcatt
+agaagaagtattactggcgttcccccacagcgaccaggcagtggtgtgtccataccaggt
+catggtggtgtcagccgtaagtgaggagcttttcgtattgcctgattgtgcaagatatcc
+tgcgttcagattaccttcgaaaggttttttagcgctggcaggatcatccatgacagtaaa
+aacggaatcatcggcagctgcattcagtgacgcaaacatgccccccgccaacataacgat
+ggcaggaactgtcttcaaaagcttcatttatcaagagtccgtacaacaaaaaaagagacc
+atcgcggtcccggaaactttcttaaggatcaaagattagcgtccctggaaaggtaacgaa
+ttataaaaaggcgcgaataacttagcaatgtattcttatttcattttttgaataagcatg
+tggcgaaaacagatttttatttatatatatttatctgcaaaattttaaataaagctccaa
+taaatcatattgttaatttcttcactttccgctgattcggtgccagactgaaatcagcct
+ataggaggaaatgatggtacgtatctatacgttgacacttgcgccctctctcgatagcgc
+aacaattaccccgcaaatttatcccgaaggaaaactgcgctgtaccgcaccggtgttcga
+acccgggggcggcggcatcaacgtcgcccgcgccattgcccatcttggaggcagtgccac
+agcgatcttcccggcgggtggcgcgaccggcgaacacctggtttcactgttggcggatga
+aaatgtccccgtcgctactgtagaagccaaagactggacccggcagaatttacacgtaca
+tgtggaagcaagcggtgagcagtatcgttttgttatgccaggcgcggcattaaatgaaga
+tgagtttcgccagcttgaagagcaagttctggaaattgaatccggggccatcctggtcat
+aagcggaagcctgccgccaggtgtgaagctggaaaaattaacccaactgatttccgctgc
+gcaaaaacaagggatccgctgcatcgtcgacagttctggcgaagcgttaagtgcagcact
+ggcaattggtaacatcgagttggttaagcctaaccaaaaagaactcagtgcgctggtgaa
+tcgcgaactcacccagccggacgatgtccgcaaagccgcgcaggaaatcgttaatagcgg
+caaggccaaacgggttgtcgtttccctgggtccacaaggagcgctgggtgttgatagtga
+aaactgtattcaggtggtgccaccaccggtgaaaagccagagtaccgttggcgctggtga
+cagcatggtcggcgcgatgacactgaaactggcagaaaatgcctctcttgaagagatggt
+tcgttttggcgtagctgcggggagtgcagccacactcaatcagggaacacgtctgtgctc
+ccatgacgatacgcaaaaaatttacgcttacctttcccgctaacaaaaacattcccccag
+cattgggggaatcatcaccaacctgtcggcaacgcgtttctccgactatgctcaaaagtc
+atgtgataacaaaggggtgaactatggccagtggcgatcttgtccgttatgtcataaccg
+tcatgttgcatgaggatacattgactgaaattaacgagttgaataattacctgactcgcg
+acggttttttgctcactatgacggatgatgagggaaatatccatgagctgggaactaaca
+cttttggacttatcagtacccaaagtgaagaagaaattagagaactggtttcggggctta
+cccaaagtgcaaccggcaaagatcctgaaatcaccatcacgacctgggaggaatggaata
+gcaacagaaaataaatggtttttgggcaataatcagtctgtggtgtgcgttagctcgtgt
+ttttacaccgcattcttgcgctaaccttatgatctggcagacaacatgggagagacatca
+tgtggcaggcaatcagtcgtcttttgagcgagcagttaggtgaaggcgaaatcgaactgc
+gtaatgaactgcctggcggagaagtccatgccgcatggcatttgcgctatgcaggacatg
+attttttcgtcaaatgtgatgaaagggaactgcttcccggttttaccgccgaagccgacc
+aactggagttactgtcgcgtagtaaaaccgtcaccgtgcctaaggtttgggcagttggcg
+ctgaccgtgactacagttttctggtgatggattatctcccacctcgtccgctggatgcgc
+atagcgcatttattcttggtcagcaaattgcgcgtttacatcaatggagcgaccaaccac
+aatttggccttgatttcgataacgcgctctccacaactccacagcccaacacctggcaac
+gtcgctggtcaacgttttttgctgaacaacggattggctggcagttggaactggctgcag
+aaaaagggatcgctttcggcaatatcgacgccatcgtcgagcatattcagcagcgtctgg
+cctcacatcaaccgcagccttctctgttgcacggcgatttatggtccggcaactgtgcac
+tgggtccggatggcccgtacattttcgacccggcctgctactggggtgaccgagagtgcg
+acctggcgatgttaccgctgcatactgaacagccgccacaaatctatgacggctatcagt
+cagtatccccgctacctgccgatttccttgaacgtcaaccggtttaccaactctacacgc
+tgttaaatcgtgcaaggttatttggcggtcagcatttggttattgctcagcagtcattgg
+atagattattagcagcatgatatgggttgaggataatggccgctccgtgcggccttttga
+ttaaataaacccaagcagagaaaagaacacataacctgcagcaatacaaataaccggcag
+gatatacagtgagaaaaactgcaggaaaatagtatggtgcggaacaacaatacgggactc
+aatttgttcacgcgttagcccctcttcccctttggctttttccagaatgagttgatcttc
+aacaccttcccgcaagaagcgcgcctggcgactcatccgggcaccggaatcctgcaacgc
+cagtccgacaaaaatcaggatgaaaatcacccagaacataacgttcacgccaccattaaa
+attgggcgtcggggagttataccagaatagattcaaaaaaggcgtattcgcctgcatcat
+atcgatcatgacatgagtaaagtcgagcatgaccgcattaatgccttccttgttttcctg
+ccgggtattcataaatttcagcaaagaaatcaatgtagagatcaatgcaggtataaaaat
+cacccaacccaaaatccttttcaaaacagcaatgcgtccagcttgttgatacgtcatgag
+ttctccttgattaagacgcgtcgtttcacttagtttacctgtagatatctgttttcgccc
+attctttaaaggcgatatgataggcgcttaatcataagcacggcttaataccttacacat
+aatgctctaaaggagaggttgtaatgtcaaccccgcgtcagattcttgctgcaatttttg
+atatggatggattacttatcgactcagaacctttatgggatcgagccgaactggatgtga
+tggcaagcctgggggtggatatctcccgtcgtaacgagctgccggacaccttaggtttac
+gcatcgatatggtggtcgatctttggtacgcccggcaaccgtggaatgggccaagccgtc
+aggaagtagtagaacgggttattgcccgtgccatttcactggttgaagagacacgtccat
+tattaccaggcgtgcgcgaagccgttgcgttatgcaaagaacaaggtttattggtgggac
+tggcctccgcgtcaccactacatatgctggaaaaagtgttgaccatgtttgacttacgcg
+acagtttcgatgccctcgcctcggccgaaaaactgccttacagcaagccgcatccgcaag
+tatatctcgactgcgcagcaaaactgggcgttgaccctctgacctgcgtagcgctggaag
+attcggtaaatggcatgatcgcctctaaagcagcccgcatgcgttccatcgtcgttcctg
+cgccagaagcgcaaaatgatccacgttttgtattagcagacgtcaaactttcatcgctga
+cagaactcaccgcaaaagaccttctcggttaatgaccaggggcagtgatctcgctgcccc
+tggttctttatctgaaattgcattcaactgacggattaatcgtcaatttaagagaaagag
+ttacaccgtcaccacttccgtgcactgtataaaaatcctatactgtacgtatcgacagtt
+tagtgagttttatcatgacggcggaaggtcaccttctcttttctattgcttgtgcggtat
+ttgccaaaaatgccgagctgacgcccgtgctggcacagggtgactggtggcatattgtcc
+cttccgcaatcctgacgtgtttgttaccggacatcgatcacccaaagtcgtttcttgggc
+agcgattaaaatggatatcaaaaccgatcgcccgcgcttttgggcatcgtggttttaccc
+acagtctgctggcggtatttgcgctgctggcaaccttttaccttaaggttccggaaggct
+ggttcattccggctgatgcgctacaaggaatggtgctgggttatttgagccacatacttg
+ccgatatgctgacacccgccggtgttcccctgctctggccatgccgctggcgtttccgct
+tgcctatcctggttccccaaaagggcaaccaactggaacgttttatctgcatggcattat
+ttgtctggtcggtatggatgccccattcattacccgagaacagcgctgttcgttggtcat
+cgcaaatgatcaataccttgcagatccagtttcatcggcttattaagcatcaggttgaat
+actaaaaaggcaaaaatcacctttctggaataagcaattccatttgaatataagagccag
+ctcacagttctgttaatcttgcgccaacactatgactgctacgcagtgatagaaataata
+agatcaggagaacggggatgaactttccattaattgcgaacatcgtggtgttcgttgtac
+tgctgtttgcgctggctcagacccgccataaacagtggagtctggcgaaaaaagtgctgg
+tgggtctggtgatgggtgtggtttttggccttgccctgcataccatttatggttctgaca
+gccaggtacttaaagattctgtacagtggtttaacatcgttggtaacggctatgttcaac
+tgctgcaaatgatcgttatgccgttagtcttcgcctctattctgagcgcggttgcccgtc
+tgcataacgcatctcagttaggcaaaatcagttttctgaccatcggtacgcttttgttta
+ccacgctgattgcggcgctggtcggtgtgctggtcaccaacctgtttggtttgacggctg
+aaggtctggttcagggtggtgcagaaactgcacgtctgaacgccattgaaagtaactatg
+ttggtaaagtctctgatctgagcgttccgcagctggtcttgtcctttatcccgaaaaacc
+cgtttgccgatcttaccggagccaatccgacgtcaattatcagcgtggtaatttttgccg
+cattcctcggcgtagctgcattgaaactgctgaaggatgatgcgccgaaaggtgaacgcg
+tcttagccgctatcgataccctacaaagctgggtgatgaaactggttcgcctggtcatgc
+agttgaccccttacggcgttctggctctaatgaccaaagtggttgcaggttctaacttgc
+aagacatcatcaaactgggaagtttcgttgtcgcgtcctacctcggtctgctgattatgt
+ttgcagtgcatggcattctgctgggcattaatggcgtgagtccgctgaagtacttccgta
+aggtatggcctgtgctgacgtttgcctttaccagccgttccagtgctgcgtctatcccac
+tgaatgtggaagcacaaacgcgtcgtctgggcgttcctgaatccatcgccagtttcgccg
+cctctttcggtgcaaccattggtcagaacggctgcgccggtttgtatccggcaatgctgg
+cggtgatggttgcgcctacggttggcattaacccgctggacccgatgtggattgcgacgc
+tggtcggtattgttaccgttagttccgcaggcgttgccggtgtcggtggtggtgcaactt
+tcgccgcactgattgtactgcctgcgatgggcctgccagtaaccctggtggcgctgttaa
+tctccgttgaaccgcttatcgacatgggccgtacggcgttaaacgttagtggctcgatga
+cagctggcacgctgaccagccagtggctgaagcaaaccgataaagccattctggatagcg
+aagacgacgccgaactggcacaccattaattcttatgctggcaacggtccgttttgtata
+ggggccgttgccttactttttaaatgttccatcgcggcgatgcatactgactcatattta
+aacagatcgtcagcgaaaaaaatgtccaacttatcaatacattcctggctcaatgaatgt
+gcctgtagcgagaagcttaaaacctcatacccgagacgttttctaagtgaactatctgga
+atactcataatatcttcaagcacaccacttcccattcccggaagatttagtggattaaaa
+agaagattgatattaagcattgatattatcgaaggaaactttaggagactctcatttttt
+tgaatcgcagcaaaaatgctcccgacaggatgtatataattttgttcatagtatatagtc
+cttaaatagtgaataaccaacctgttttttatactgatcaaattggtcattttttctggg
+cgaaatacagaagtgacatccattccaataaaatctttatttatacctcttatccgaatt
+tcactaccataaagattattaattattactctatatttaacattgtcctgcagatatgta
+tcaaaactaagtgctggcgctcctggctttgaggcatcatagttaatgttagacatatag
+gcaatcatataattaaagtttgattctgctatttcatcgcagtcacattgacccgttgat
+ataaagaaagtgagtgctgtcatagtagactgcagcctttctttaaaagagtcgaaagcc
+aggcttttaatatttaaatcaccataattactctgtattaagtttgtagaaaacatctcc
+cgcctcatattgttaacaaaattattatctcatttaaatctaagtcatttacaatataag
+tttaagagcgacgccacaggatgaactatcaaaaatagctcatcatgattagcaaaactt
+aaccattttaaaataaataaacaattaaagaaaaaagatcacttatttatagcaatagat
+cgtcaaaggcagctttttgttacaggtggtttgaatgaatgtagcaacgaaatacagaat
+ttcaggtcatgtaactcccggcaaaaccgggaggtatgtaatccttactcagtcacttcc
+ccttcctggcggatctgatttgcccaacgttgggcagattcaggcacagtaaacgccggt
+gagcgcagaaatgactctcccatcagtacaaacgcaacatatttgccacgcagcatccag
+acatcacgaaacgaatccatctttatcgcatgttctggcggcgcgggttccgtgcgtggg
+acatagctaataatctggcggttttgctggcggagcggtttcttcattactggcttcact
+aaacgcatattaaaaatcagaaaaactgtagtttagccgatttagcccctgtacgtcccg
+ctttgcgtgtatttcataacaccgtttccagaatagtctccgaagcgggatctggctggt
+ggtctatagttagagagttttttgaccaaaacagcggccctttcagtaataaattaagga
+gacgagttcaatgtcgcaacataacgaaaagaacccacatcagcaccagtcaccactaca
+cgattccagcgaagcgaaaccggggatggactcactggcacctgaggacggctctcatcg
+tccagcggctgaaccaacaccgccaggtgcacaacctaccgccccagggagcctgaaagc
+ccctgatacgcgtaacgaaaaacttaattctctggaagacgtacgcaaaggcagtgaaaa
+ttatgcgctgaccactaatcagggcgtgcgcatcgccgacgatcaaaactcactgcgtgc
+cggtagccgtggtccaacgctgctggaagattttattctgcgcgagaaaatcacccactt
+tgaccatgagcgcattccggaacgtattgttcatgcacgcggatcagccgctcacggtta
+tttccagccatataaaagcttaagcgatattaccaaagcggatttcctctcagatccgaa
+caaaatcaccccagtatttgtacgtttctctaccgttcagggtggtgctggctctgctga
+taccgtgcgtgatatccgtggctttgccaccaagttctataccgaagagggtatttttga
+cctcgttggcaataacacgccaatcttctttatccaggatgcgcataaattccccgattt
+tgttcatgcggtaaaaccagaaccgcactgggcaattccacaagggcaaagtgcccacga
+tactttctgggattatgtttctctgcaacctgaaactctgcacaacgtgatgtgggcgat
+gtcggatcgcggcatcccccgcagttaccgcaccatggaaggcttcggtattcacacctt
+ccgcctgattaatgccgaagggaaggcaacgtttgtacgtttccactggaaaccactggc
+aggtaaagcctcactcgtttgggatgaagcacaaaaactcaccggacgtgacccggactt
+ccaccgccgcgagttgtgggaagccattgaagcaggcgattttccggaatacgaactggg
+cttccagttgattcctgaagaagatgaattcaagttcgacttcgatcttctcgatccaac
+caaacttatcccggaagaactggtgcccgttcagcgtgtcggcaaaatggtgctcaatcg
+caacccggataacttctttgctgaaaacgaacaggcggctttccatcctgggcatatcgt
+gccgggactggacttcaccaacgatccgctgttgcagggacgtttgttctcctataccga
+tacacaaatcagtcgtcttggtgggccgaatttccatgagattccgattaaccgtccgac
+ctgcccttaccataatttccagcgtgacggcatgcatcgcatggggatcgacactaaccc
+ggcgaattacgaaccgaactcgattaacgataactggccgcgcgaaacaccgccggggcc
+gaaacgcggcggttttgaatcataccaggagcgcgtggaaggcaataaagttcgcgagcg
+cagcccatcgtttggcgaatattattcccatccgcgtctgttctggctaagtcagacgcc
+atttgagcagcgccatattgtcgatggtttcagttttgagttaagcaaagtcgttcgtcc
+gtatattcgtgagcgcgttgttgaccagctggcgcatattgatctcactctggcccaggc
+ggtggcgaaaaatctcggtatcgaactgactgacgaccagctgaatatcaccccacctcc
+ggacgtcaacggtctgaaaaaggatccatccttaagtttgtacgccattcctgacggtga
+tgtgaaaggtcgcgtggtagcgattttacttaatgatgaagtgagatcggcagaccttct
+ggccattctcaaggcgctgaaggccaaaggcgttcatgccaaactgctctactcccgaat
+gggtgaagtgactgcggatgacggtacggtgttgcctatagccgctacctttgccggtgc
+accttcgctgacggtcgatgcggtcattgtcccttgcggcaatatcgcggatatcgctga
+caacggcgatgccaactactacctgatggaagcctacaaacaccttaaaccgattgcgct
+ggcgggtgacgcgcgcaagtttaaagcaacaatcaagatcgctgaccagggtgaagaagg
+gattgtggaagctgacagcgctgacggtagttttatggatgaactgctaacgctgatggc
+agcacaccgcgtgtggtcacgcattcctaagattgacaaaattcctgcctgatgggaggc
+ggcgcaattgcgccgcctcaaatgatttacatagtgcgctttgtttatgccggatgcggc
+gtgaacgccttatccggcctacaaaactgtgcaaattcaatatattgcaggaaacacgta
+ggcctgataagcgaagcgcatcaggcagttttgcgtttgtcagcagtctcaagcggcgca
+gttacgccgcctttgtaggaattaatcgccggatgcaaggttcacgccgcatctggcaaa
+catcctcacttacacatcccgataactccccaaccgataaccacgctgagcgatagcacc
+tttcaacgacgctgatgtcaacacatccagctccgttaagcgtgggaaacagtaagcact
+ctgacggatagtattatcgataaacgccggatgacacatcacctccagcgaacgatcacc
+ccgatggcctgcgtcatccagcacttgcaggaacagcgactcactgatctcttcaccgta
+gaatgcactgctgaatccctgggtagtgcgcaggttgaccggcaaatcaaacgccatctg
+acgatccgcccgcaacgcaatgccctgctctgccgcaaacctggcaacaatcgggaaaat
+ctgcgggaacatatgcacatgatgatggctatcaagatgcgtaggtttgcgtccaaatag
+ctcaatgaaacgcaaatactgactgacaagctcctgagtaatttcttccagcggtaaagc
+atcttcttctgccaactgccagatccattttcccagcacaccatcgcgggttaaccccgg
+catagctgtcagtggcttacccatagtaaggacaaagtgcatccctatggccagactcgg
+ttcatcacgactcaactgcaccgcatggtcaatagcctgcccattcaccagcgccgtcgt
+cgacgtgacaatcccattgcgacaggcctcgataatgccgtagttctgacctttgcttaa
+gccaaaatcatcggcattaacaatcagtaagcgttccataatcagcctcggttaatgtgc
+ttttttaagctctgcgatgcagtcggcaaagtttggcagccatttctcgtgcgccagaat
+catctcgcgtgccagcagctcagcatcgcgatcggaatgcaccaacggactaaggtttag
+cgccagtaacacatcgttaaattctccgctaagtgcggcgttactggcagcaatctcgaa
+gcctttaatggtgtgaatcagccccattactttatcatcgaaatgcgtaatgcgcggatg
+tggcgtcgcgccatcgcgccccagcttacaggtcatttctactgcccagtctgccggaat
+attatcaatctgcccatgatgcgggatattaacgtaatgttctgcttgcttgtcgttgta
+gatagcgttgatcacttcgcatgctgcatcagagtaataagccccaccgcgctgttccag
+ttctttcggcttaactttcagctcaggatttttatacagctcaaaaagttgtttctcgac
+tttctgtactacctgcgctcgtgcgccgcctttgtagtattcgcccatttcaatagccag
+catctctttctgcttgaagtaatacagcagataagaacatggcagcagattcaacgaacg
+aattaagccctcactaaatggcagatcgaaaatattttttacagaggacgcttttaactg
+ccctgacgccacaccatcaagcaattcggcaaagcgcgacttgccatttatcagcacatc
+cttaatgaacaccatatggttgaggccgaacaaatcgatagataaatcatcgctgtcttt
+cagcatcagaacatcgcgaataaacatcttcatgccgatcggaatattacacacgccgat
+aaagcgtttaaatccggtatgacgataaacggcttcagtgaccattcccgccgggttagt
+gaagttaatcacccatgcattcggacaaagttcttcgacatcttttacgatgtcaaaaat
+caccggaatggtacgcagacctttaaacaaaccgcccgcgccgttggtttcctgaccaag
+ataaccatgacttaatggaatacgttcatccagttcacgcgccggtaattggccaacgcg
+cagttgggtagtaacgaaatcagcatctttcaatgcttcgcggcgatccagcgttttata
+aagcttcatcgggacgccagcgttatcaatcatccgttggcagagatcgaaaataatatc
+cagtttcggtttaccaccttcgacatccaccagccataattcgctgaccggcaattcgtg
+ataacgcttaataaatccttccagtaactccggggtatagctgctcccgccaccaatagt
+gacgacttttaatttctggctcataatttctcccttcagtacagaatactgatatctggc
+atatctgcccccccggacataaataatccagcaacaggacagatatgtgaattgtcaggt
+ataacgacttactgattaaattcagtcaatttcttacgatagctcttaggcgtaaaggac
+gttaatttcttaaacgttttaataaacaaactcgggctactataaccggcctcaaacgca
+atatccgtcactgaatagttggtcatttccagttgttttttggcaaaattaatacggatt
+tcattaataatctgcattggcgttttgccataatatcgttgagtcgctcgcgtcaaatat
+tcctgtgatttggctgacaacgccaccatattctccagcgccgattcactaaactgctct
+ttatcatgcatcttttctaccgtacttttcagccactgcggtacatcatcaatcacctgt
+tcttcgcggtaatgacgtaaacggttaatgacataaaaagtaaccatctcaacaaactct
+tccagccctgtttcgcggaaattcaatgaagaaatcactgtttccacataggtgagaaaa
+gcgttattggtccggtatacctgcgaagcgacaaagcaataaggcaacaatggcaggtaa
+tgctgctcaaaaaagcgtttactgatcccaacgttcaatatgcgcgtggcaccaaactca
+taaaaactttgatggtgcgaacctaacggaataaaaacaaaatcgccccgttccagtaac
+acgcgcttaccgttaatctcctggaaataacgcccggttaataccagagtaaattcataa
+tagtcgtgctgatgcagtccgctgatactctcagttttgttatagataaacacatggaag
+tttttgccattaaacaactgctgttctcgggcagtggcaatttccggcgcgttaatcact
+ggctgcatcatcgactccttatgccttcagtttttcatgaagctcaattaattcagtaat
+cagttcacgcgcaagcatggacgtcattaaatgatcctgagcgtggaccagcaccagact
+cactttcatcttaccttcgcccgcatcgccttcaatcagtttcgtctgtaccagatgcgc
+ttcattcaatgccatccgtgactgatccatcatggcttttgctgcggcaaaatcgccctg
+cttcgcctgtttcagtgccgcatacgccaggctgcgcgcttgtccggagttgatgatcag
+ccccatcaccacttcttccagctcttcagcttccgtttgcgtatcgggaatgttatcgag
+atccatcatacatcgttcctctcttttcttaccggcacgattacccgtaccggcatcgat
+taaaatttcagggcgttagcgatatcttcttcgctctcttctttatcaatcgcattttgt
+gctttgttagccaccacaacaaagggcagataaattaacgttgcgatgccaaggttgaag
+agtgcgaccagcaatgcggcgacgctaccgttggtgttaaagaaggctcccagaccggtt
+ggcatggtccacggtgcaatattggtcaccggaggaataatgcccatgtagtacgctgcg
+agggtgattgccgccagaatcggttgtaccagtacaaacgggataaacatcaccgggttc
+atgataattggcagaccaaacagaatcggttcgttaatctggaagatgccggacggcagc
+gccagttttgccacctgacgataatcagcacggcgagaggcgataaagatagccaggatc
+aggcctaaagtcgcaccactgcccccaaggaaaataaaggagtccagcatcggcttggcc
+cagatatggaaggtcttaccggctgccagcgccgcttcgacggaaccatattgctgatag
+gtcgcgatattttccagtgcccacggcgtcataatgccgttgtccagtgcggtcagcgcc
+agcgcgccatgaataccgaagaaccagagcagtggaacaaagatcacataggcccagccc
+accacgctacccaacgatgccagtggggttgagatggtatccataatgatctgatggaag
+ttggtgccccaggtattcaacgcccaggcaataatccccatcacggaaagaataataaag
+ccgggaattaatgccgagaaggaacgcgatactgaagcaggtacgctgtcgggcagttta
+atgacccaattgcggcggacaataaaggtaaacatttctgccaccaccaggccaataata
+atcccggagatgatattcgccccacctaaccagtttgcaccaaccgcataggcctcaccg
+acactatatggggtgacggtcataaatgctgcaacggataacaacccagccgccagcgca
+tcgactttacgctcttctgccagcgccatgccaataaagaacggtgccattaaagacatt
+attcctaatgttccgttatatacgttgccgccaatacctttcagaccattaagtgtttca
+atggttgaggcgtcgaggcgaatacctaaggaataaaaaaacgacccctccccaaagctt
+agaaaaacgttgttaattaatacaaacatggcccccgcaagggttaacggcattaagcga
+ataaagccatttttgattgcattaacgtgtggctgctttcctattttaactgcaaaaggg
+aggagtaccttttcaagcgatgcaataacattactcatagaaaaatacccttaaaaaccg
+caatttaaatattgcggtattgatttatgaaataactctttgacgggaaaatttaaaata
+aattaatttgctgcggcttttttaatcgctgcaaccgcagccttaagcacgcctaaacca
+tcgactttgccataaagcagcgagtcaattacttcaaccggtttgttgggtaacaaacgc
+tggatttcgggcaacatataagcaatctgcggccctaataacacgacatcggcattctga
+cctttttcaccagccagtgtttccggaaatgcttcaataatgaccggaacttcatatttt
+tctgcctgtgcgcgcatttttgataccagtaaagaggtagacatgcccgcagaacaaaac
+agataaatgtgtttcttttccataaaactgccctcatcgacgattatctgtcagccagac
+actccgcaagccttaacctgcttccatgctctgggtaacttgcgaaaccaacatgacttt
+ttttgtggctgaaaggagtatacggtatagacctgagcaatagtatttctttgaccttat
+aaattgtttctccttgacctgtggttatgaccctcttcacatttcgggcaaataattcgc
+gaagataattaagaactcaggccaaaaaaaaccggcgcaatggccggtttccgttgttac
+tcaagctttcagacgaattgattacttcgcagcctgtggatcagtgtcgtattcagcaca
+ggtctgataaccggagttgatgacatgtccggtatcatctaacgcgacaaagtaggtttc
+tgctttaccatcacgttgacccaggatgtaggtctggcaagtaccgcgagcatggatcat
+gctcacttcagacgaaggtttacccgcaatttgtgcaacctgcgcccggctcatgccttt
+tttgacgtctttcaccacaggctgtacaaactggtctttggtacgatcataagccgtaca
+acccgccagcatggttaataccgccgctgcactcagaattcctgccatattcttgttcat
+attccgtcctcttgtttatcagcgtgttagataagcctggaatacattgggcgctttttc
+aagcccgtgaacgaaacggctccgctttcagaggattcctgtatgacgttttaaccacca
+ttcagcccgctgtcgcttgtcgtttcagtagcaacgggttagctttaaggaagttttgtc
+ttttctgtctggaggggttcaatgacattgcaacaacaaataataaaggcgctgggcgca
+aaaccgcagattaatgctgaagaggaaattcgtcgtagtgtcgattttctgaaaagctac
+ctgcaaacttatccgttcattaaatcactggtgctcgggatcagcggcggtcaggactcc
+acgcttgccggaaagctgtgccagatggcgattaatgagctgcgcctggaaaccggcaac
+gaatcactgcaatttattgccgtacgcctgccctatggtgttcaggccgacgaacaagat
+tgccaggatgccattgcctttattcaaccggatcgcgtattaaccgttaatatcaagggc
+gcggtattggccagcgaacaggcattgcgggaagcaggcattgaactgagcgattttgtc
+cgtggcaatgaaaaagcgcgtgagcggatgaaagcacaatatagcattgcgggtatgacc
+agcggtgtcgtggtgggcaccgatcatgcagcagaagccattaccggattcttcactaaa
+tatggtgacggcggtacggacattaatccgctgtatcgtctcaacaaacgtcagggtaaa
+cagttactggcggcattagcttgcccggaacacctttataagaaagcgccaacggccgat
+ctggaagatgatcgcccttctctgccagatgaagtggcactcggcgtgacctatgacaat
+atcgacgactatctggaagggaaaaacgtacctcaacaggtcgccagaacaatagagaac
+tggtatctgaaaaccgaacataaacgccgtccgccaattaccgttttcgatgatttctgg
+aaaaagtaataatttgcacatattggattgtgcgaaaaagagtaatttgttcacgccgga
+tgcggcgtgaacgccttattcgacctataaaactatgcaaattcaatacattgcaggagt
+cgaataggcctgacaggcgtagcacgtcagacggtgtaacctttgtcatcgacccgcctc
+ttttttaatcgcttcccgcctgttacactggatagataaccagcattcggagtcaacagt
+ggtacggcgtttaacttctccgcggctcgaatttgaagctgcggcaatttatgaatatcc
+cgaacatttacgttcattccttaatgacttacccacccgaccaggggtgtatctgtttca
+tggtgaaagtgacaccatgccgctctatatcggcaaaagcgttaacatccgcagccgcgt
+cctttctcatttacgtaccccggatgaagccgccatgctacggcaatcccgacggatcag
+ctggatatgtaccgccggtgaaatcggcgctctgctccttgaagcgcgattaatcaaaga
+acaacagccgctgtttaataaacggttgcgccgcaatcgccagctctgtgccctgcaatt
+aaatgaaaagcgcgtcgatgtggtgtatgccaaagaggtggatttttcacgagcccccaa
+cctgtttggcctgtttgccaataggcgcgcagctttgcaagcattgcagaccatcgctga
+tgaacaaaaactttgttatggcctgctgggactggaaccgttaagtcgcggtcgtgcatg
+ttttcgttcagcgctaaaacgttgcgccggagcatgctgcggtaaagagagccatgagga
+acatgcgctacgcttgcgccagtctctggagcgtttgcgggtggtgtgttggccttggca
+aggggcggtggcgctgaaagaacagcacccggaaatgactcaatatcatattattcaaaa
+ctggctgtggctgggggcggttaattcgctggaagaagcgacaacgttaattcggacacc
+cgccgggtttgatcacgacggttataaaattctttgtaagccgctgctttccggtaacta
+tgaaattactgaacttgatccggcgaatgaccagcgagccagttgatttcactgaacaac
+agtttaccttgcggttgtaaaagccgcagggtgtgcctgccatcgaaccagcacgcgccc
+tggtcggtagtgagcaatttatcgcccagttgccacgccccgttaatcacaaacaccacc
+ccgccgcgtgagccaaaggtagtaaacgtacgttcggcaattctgactttcgccttacag
+acatccaggcgtgtcatgatgttgaaatccatcgacatctgccctgccgtcagtttcgct
+tttaccacctggtccgctgcaaaggcaaaaggctggaacggttttaaggtatggttaaag
+cggtctgcgctttcaaggagcatctcgccgccttccagcaacgtcactatcctttccatg
+ccgggaaacaaagaaaactccccattcgccgcgatggatgcaatgctggcacgccagtaa
+aaatcacgttttgccggtgggaacgtgcaaatttcgcgcgtttcaccggcagcatttcgc
+cacagattcaccgacattttacgcatatcaaagtattccatactcgctcccggcccgttc
+ttttcattgttatcgttcaggtaaccgtggatggttatcggcaactcgggtgatttacgt
+tagtggtgatcaggctttttttacaactgtttgagaagagaaaagaaaaccgccgatcct
+gtccaccgcattactgcaaggtagtggacaagaccggcggtcttaagttttttggctgaa
+agattattcagcagttgcaggcattttaccttttgccgctggacgttctgtcagacgctt
+ctcaaaattagcattaaattgctttttctgttccggcgtcaggatgttgtaaattttgtt
+ctgggtttccatgtgcgccagcatgttagctttgcgctgttcttccatttttgcgatctg
+cgcttcagcttttactttatcgaaggtatcgctggcaatgatgtcatgcattgcgcggcg
+ttcttccagcggcggacgtttcatctggtcacgctggcctttcatgatttcgcggatctg
+ctgtttctgcgcgtcggtcaggttcaggtctttgaacatcatgtcctgatgcggaccgaa
+cttgcctttgtggtgcatcatcggcttcgcgtcagccggtgctgcggtagtggtgtctgc
+ggcatgggccaggttagccgcgccaagagccagggtagaggcaacaaacagtgcagttaa
+tttacgcatattctatatccttcctttcagttatttattacggctttcttaagtagcgtg
+ccgtgttgacgagattaactttactgactttagcgtcaattaatcagagcaacggtaaaa
+caatgaaagtgtaaaaaacacttttgcgccaattatggagaaaaaaagaaaatttgatgg
+agagtgatgagagaatattacaacacgatgattttgcagagattatgaagaactataccg
+gatgactggtgataaataaagcaaataaccaggattaatctgtattaatttataagaaag
+caacttaatacccgcagaatgatttctgcgggtaagtattagcttattttttcgagcatt
+aatcccgcgcgtaatcccaacgctaccaacggattagggaataacacatactctacatca
+tgggttacggtaaaacgttcctctccgtcctgcgccagcaatgttcctttctcaaacggc
+ataaaattcagcgtgtcacttgccatatgcatttcgaaggacggcgagtggcgagtaatt
+tgcgaaaccacccgataacggagcggcggtgttctcacgataccgacactctcaccagat
+agcagcgcagcaattgcgctggcagttactgcaaactggcgaagatcgttttgcccaaag
+ggcaacgctttgccaagttccagcgtacaggccagcgcgccaaaatgtctggcgctgaaa
+tgggtaaacgtaccaccaggttcctgatggaacaccagcgcctccagccccgccgcaccc
+agccacgtcagaaatttctcgtcccagggaatgtcgcgttgcggtaatacaccgaactgc
+ggatgcaaggagccacgaattgcggtatgtagatcaaggtgccagcgcacagattctttg
+ccctggtcataaaaatcttccaggcactgttccagttcgcgcgcccgacaggtttctccg
+ctttcagcaaatagctgccaacgaccgccaaacattcgattcatatcgctatggcaataa
+cgtttcccttgcttcagcgcaggaggattcccgaggatcaccagcaaccgccaacgtaac
+gggatctcgccgtgagatatcgcgccaagcaacgcgtccagcatctccacaggtgccgtc
+tcattaccgtgtattcccgctgaaatcaccagtgcgccttgcggtggcgttaatggcgtc
+agttccagcacaccatcgcccagccagcgccagcgaacgccgttgatttctcgctcggtg
+ataaccggttttttacccgttaaggtcagagcaagaaaattatccattgccccctccctc
+gcgctggaacggataaaccgaaccgagattcagtaattggctcaatacatccagtgcttc
+ccgcccttcgcgcagcaattgcgggtcggccagatcggcagcagtaaggcgatcgcggta
+gtaacgatccacccagtcattgagcgcattaaacagcgtatcgttcatcatcaccgccgg
+attcaccgcccggcgttcttcttctgtcaataccacccgcaaccgcaggcacgccgggcc
+gccgccattcgccatgctttcacgtaaatcaaagacttttagttcgctaatcgggttgtc
+agcggcaaggagttcattgagataaccccatactccggcgtgttcccgacactcctgagg
+cagcaccaacatcatggaaccatcatcgcggctcagcagttggctgttaaacagataggt
+agacaccgtatcagacacggaaacctgagttgccggaacttctatcgccataaaaccatt
+gacccgcgcacgcaggtttgccagtaactgtgactggcgagcgaacgcctgttggtggca
+aaacagcacctggcggttactcacggcaatcacgtcattatgaaaaacgccctggtcgat
+aacgtccgggttttgctgggcgaaaatcacctgttggggattcacctgattcagccttgc
+caccgcctcgctggcttcgcgagtctgtcgcgccggataacgggaaggccgggtatcatt
+gccttcttctcgcccgtagacaaaaagttgcatacccggttcaccgtaatgaccgccgag
+acgattgtggtttgccgccccctcatcaccgagcaacgctacctgtggcaacgccgaatg
+gacgctaaatttctcttcgtcgttaaaaatcgcttttaacagcgattcagtgacgggcgc
+ttccagcgaacggtgaaatttattgttcaggttggcaacggtgagatgcactttgccatc
+cagcgtatcggcagatggcgcgatcgttgccgcattggctacccacattggcgaagcgga
+actgacgctggaaagccagtgcggtgcctggcgtgcaactttttccagtacctgctcatc
+gctaccactgaatcccaactgacgcagcaccggaataaacggacgctcgtgcggcgggat
+cacggcctgggggaatcccgcatcggcaagggctttcattttcagtaagccctgcttcgc
+cgccagtcgcgggttagacacctgaaaacggtgacgggtagaggcttcattaccaaacga
+caggcccgcgtaatgatgcgtcagccctaccagcccgtcgaaattgacttcccaggcgtt
+catcgcaccacctcatcggaaaaatccagcccggggttaagcgtggcgggcaatgttaac
+gagtccgactccaggctcgccatcggccatgcgcagtaatctgcggcataccaggcgctg
+gggcgatggttaccggaagcaccaatgccgccgaatggcgcggtactggcagcaccggta
+agcggtttgttccagttaacaatccccgcccgcgcctccagcaacagttgatcgaacttt
+tcccgctcgggggaaaccagaccgcaagagagtccgaagcgagtgttattcgccattcga
+atcgcttcatcgaaagtatcataacgccagacgcgcaataacggtccgaacacctcttca
+tctggtacgccagcaacgcctgtcatttcaatgatccccggcgtcagcaacgatgtccct
+gcttgtaataagcgcggcgcaagcaggggtcgtccgcccatcgcttccagttgctgccat
+gcagtaaccacctgctgtgcggcctgttcagaaatcagcccgccaataaacggctgcggt
+tcgtcatcccagttgcccggcgttaatcgctggctgacggcaaccagacgagcaagaaac
+gcatcgccctgcgccccgcttttcagcaataaacggcgggcgcaggtgcagcgttgaccg
+gctgtgacaaacgccgactgaatggtcagatggacagccgcgtcgatatccgccacctca
+tcgataattagcggattattaccgcccatctcaagggcgagaattttctccggctgaccg
+gagagctggcgatgcaactggtagcctgtattggcgctaccggtaaacagcaaaccgtcg
+agatcctccagcgcactcagcgcctgacccgtttcacgcccgccctgcaccaggttcagc
+acgcctggcggcaagccagcctgctgccataaacgcattaccgcttcgccactccacggt
+gtcagttcgctgggtttaaagataatggtgttacctgccagcaatgccggaacgatatgt
+ccgttcggcaaatgaccagggaaattatacggcccaaacaccgccagcacgccgtgcggg
+cgatgtcgcaggctcgccgcgccgtccggcatttcactacgctgctcgccggtacgaacg
+tgatacgccttaattgatatcgcgattttattgatcatcgccgtcacttcggttgccgct
+tcccagcgcggcttacccgtttctctggcaataatcgcggttaattcggctttattgctt
+tccagcagtgcggcaaagcgttcgacaacggcatgacgttcagcaaatgaaagccgcgcc
+cagcgcggaaacgccgcacgggctgcccgacaagcctgctcgacctgagcggcatcggca
+tcattgccttgccataacacctcgcccgataccggattacgcttcacacgcgatgcgccc
+tggcccgttatccagtcaccgttaatccataaagtcatgctgttttctcctctgcgcaca
+ggcgcaccagacgaacgcgatccccggcgtggcatttgagggcatccagttgtgcggcgg
+ttaaaatcaaacgctcggttgccggatcggtacgcaccagcaccacgcggaaatggtgat
+aattttcattggcgaccaggcaggctgggaaatcgccctgcgcaggctgcccttctgcca
+cttccaccagccgacttttacggatggcgcgcacgcggtcgatgtcacactcaagcgtcg
+gcccaccgtcaaagatgtcgatatagttacggtagcgaaaaccttctttctccagcaccg
+cgcgggcaggcgcggtttgcggatgtacctgaccgatgacgtcctgggcttcctgggata
+aaaagtgggtatagatcggatgtttcggcatcagttctgcaataaatgccttttgcccgg
+tgccgcagagaaaatcggcgcggctaaaatccatcgaaaagaagcgtttaccgaggcttt
+gccagaacggtgaatagccgtgttcgtcaatcaccccgcgcatttcagcaaccactttgt
+cattaaacttgtcgcgaaaagccgccataaacataaagcgcgatttcgacagcaaatagc
+cgttgccctctttgcgccagtccgggtcgagaaacagcgtgcacagctcgctgctgccgg
+tgtgatcgttactgagaaacagcgtcggcaatgcgttatagacattcagctcttttgagg
+cgtgaaccaacgtgccgacgcgatagttgtaccagggatcgttcagcccaaccgccacct
+caatggcacaaatccccgccacggtgcctgtctcgctatcttccagcacgaacacatagc
+cctgctcacttttgggcagttcgccttgccaggttttgattgccctttcgatacgcgccg
+aaagcgtggcttcattggcgggaagcgacgtcaggccgccgcccgttttgctggcaagct
+gcatcagcgccgagacatctgatcgctcaacgggacggatgaccatcatgatgaacctcg
+gctaacaaagtgttcgcaagcagctgcaaagcgatccagtccggtcgtcacctcttcttc
+gctgacattgagcgcaggcgcaaaacgcaccacgttgccacccgcaatcagtaccatcac
+gcctgctttcgccgcttcctgagagatctgtttcgcttgcccggcgtaatcggcattcag
+tacacagccaatcagcaaacctaagccgcgaacttcactgaacaaaccatagcggtgatt
+aatagtattaagacgctcaacaaaccagtcgtgacgctgtttaacgccattaagcatctc
+tggtgtgttgatgagctccagcactttgcctgccaccgccgaggccagcggattaccgcc
+ataggtggtgccatgagtgccaacggtcatcacgcgggcgcactcttcggttgccaacaa
+cgcaccgaccgggaaaccgccgcccagcgctttggcggtagttaacagatcaggcgtcac
+gccgtagtgcatataggcatacagttccccggtgcgcccgacgccggtttgtacttcatc
+aaaaatcaacagcgcattgtggcggttacacaattcacgcagaccttgtaaaaacgcgtt
+gctggctggcaccacaccgccttccccctggatgggttcgacaatcaccgcacaggtaga
+gtcgtcaatcagcgcgctggcagagttaatatcgttatatgcagcatgacgaatatccgc
+cggcagtggcgcaaaatcctgtgaataggctggctgcccacccgcactgacagtaaacag
+cgtgcgaccatgaaacgcatttttgaacgccacgatgccgctcttatggctgccgtagcg
+gtcgtgagcgaatttacgcgccagttttagcgccgcttcgttggcttccgcaccggagtt
+acaaaagaagacgcgatcggcaaacgtggcgtcgatcaattttttcgccagtcgcagtac
+cggctcgttggtgtaaccgttgccggtatgccagaacttactcgcctgttcgttcagcgc
+ttcacgcagttccggatgcgcatggcccagcgcgttcaccgcaatgccacccgcgaagtc
+gatatactctttcccctgctgatcccacaagcgcgaaccttcgccacgtaccggtataaa
+gggtgccggagcgtaaacaggtatcatccattcatcaaagttttcacgcgtaattggctg
+agacatagcgacctctacagtaaataattcgttatttatatgttaataataagtaatgtt
+tgcgctgtaaatgtagattgcagggttcgtgccagccagtgataaaagtgcataaacggc
+ggaggctaactggaaatcaaggagttataaccaaaccatatgcatttaaagtgcatataa
+agtgaatacgtttgcgatgtgggtgaataaaaagaataaaaaacgcaatgttatgcagaa
+gtaaaatataattctggaattgtgatcattgacgaaatttactggaaattactgcgccat
+tctgacgcagcgcgcaccaaaagcgggcattttttgcgccatcgttgacatcattaacaa
+ccatcgatcaaatcacttaacaacaggcggtaagcaacgcgaaattctgctaccatccac
+gcactctttatctgaataaatggcagcgactatgaaatttgtctcttttaatatcaacgg
+cctgcgcgccagacctcaccagcttgaagccatcgtcgaaaagcaccaaccggatgtgat
+tggcctgcaggagacaaaagttcatgacgatatgtttccgctcgaagaggtggcgaagct
+cggctacaacgtgttttatcacgggcagaaaggccattatggcgtggcgctgctgaccaa
+agagacgccgattgccgtgcgtcgcggctttcccggtgacgacgaagaggcgcagcggcg
+gattattatggcggaaatcccctcactgctgggtaatgtcaccgtgatcaacggttactt
+cccgcagggtgaaagccgcgaccatccgataaaattcccggcaaaagcgcagttttatca
+gaatctgcaaaactacctggaaaccgaactcaaacgtgataatccggtactgattatggg
+cgatatgaatatcagccctacagatctggatatcggcattggcgaagaaaaccgtaagcg
+ctggctgcgtaccggtaaatgctctttcctgccggaagagcgcgaatggatggacaggct
+gatgagctgggggttggtcgataccttccgccatgcgaatccgcaaacagcagatcgttt
+ctcatggtttgattaccgctcaaaaggttttgacgataaccgtggtctgcgcatcgacct
+gctgctcgccagccaaccgctggcagaatgttgcgtagaaaccggcatcgactatgaaat
+ccgcagcatggaaaaaccgtccgatcacgcccccgtctgggcgaccttccgccgctaatt
+tagcagctctcctggctcaaactgggtcaggagaattaaccttgagaaaaatcaacaaac
+tgtcagtaatgatttgttgcctgccgtcctttgttataccgtctctgcgtttttagttgt
+ctgaccacttctctattatcaagtttgatataggaaactccacgatgaacgctgagcgta
+aatttctttttgcctgtcttatttttgcgctggtcatttacgctatccacgctttcggtt
+tattcgatctgctcaccgatttaccccacttacagacactcatccgccagagcggatttt
+tcggctatagcctctatattctgttattcatcattgccaccctcttgctgttaccaggaa
+gcatactggtgatcgcgggaggaatagtttttggcccgctcttagggacactactctcat
+taattgccgccacgctggcctcctcgtgctcattcctgctggcgcgctggctgggacgtg
+atttactgctgaaatacgttggccatagcaataccttccaggccattgaaaaaggcattg
+cgcgtaacggtattgattttcttattctgacccgcttaatcccgttgtttccttacaata
+ttcaaaattacgcttacggattaaccacaatcgccttctggccttatacccttatttcgg
+cactcacgaccctacccggtattgttatttataccgtgatggcaagcgatctcgccaatg
+aaggcattacgctgcgctttattttacaactctgtctggcgggcctggcgctgtttattc
+tcgtccagctcgcaaaactctacgcccgacacaaacatgtggatctgtctgcttcgcgcc
+gcagcccacttactcacccaaaaaatgaaggatagaacgatgttgcaacattattcagtg
+tcatggaaaaaaggactggctgcactctgtttactggctgttgctgggcttagcggctgc
+gatcaacaagagaatgcggcggcaaaagtggaatacgacggactttcgaacagccaaccg
+ctgcgtgtcgatgccaataaccatacggtaaccatgctggtgcaaattaatggtcgtttc
+ctcaccgacgacactcgtcacggtattgtgtttaaagatggctccaacggacataaatcg
+ctgtttatgggttatgcgaccccgaaagcattttatgaagccctgaaagaggcaggtggt
+acgccgggcgaaaacatgacgatggataataaagaaacgactcatgtcacaggcagcaaa
+ctggatatttcggtcaactggcaaggggcggcaaaagcgtattccttcgatgaagtgatt
+gttgacagtaatggcaagaaactggacatgcgctttggcggtaatttaacggcagcagaa
+gagaagaaaacgggttgcctggtgtgtctggatagctgcccggtcggcatcgtcagcaat
+gcaacatacacttatggtgcggttgaaaaacgtggtgaagttaaattcaaaggcaatgcc
+tcagttctcccggcggataacacgctggcaacggttacctttaaaatcgccgaataaagc
+caggataaaggatgatgatgatgcaatcgcgaaaaatctggtactaccgtataaccctca
+tcatcctgttgttcgctatgctgctggcatgggcgctgcttcccggcgtccatgagttta
+tcaatcgcagcgttgcggcgtttgccgccgtggaccaacagggtatagaacgctttattc
+agtcttacggcgcactggcggcagttgtctcgttcttgttgatgattttgcaggccattg
+ctgcaccgctacctgcgtttttgatcacctttgccaatgcgtcgctgtttggcgcgttct
+ggggcggcttgctgtcgtggaccagttcgatggccggcgcggcgctgtgcttttttatcg
+ccagagtgatgggccgcgaagtggtggaaaaattaaccggcaaaaccgtgcttgacagta
+tggacggctttttcactcgctacggcaaacacaccattctggtctgtcggttattgcctt
+ttgtccctttcgatccaatcagctatgctgccggtttgacttcaatacgttttcgctcgt
+tttttatcgccaccgggcttggtcagttaccggcaactattgtttattcctgggcgggca
+gcatgttaacaggcggtactttctggtttgtcaccggactgtttattctgtttgccctga
+ccgtggtgatttttatggcgaagaaaatatggcttgaacgccagaagaggaatgcctgat
+gggtttaccgccgcttagcaaaattcctttaattttacgtccacaggcgtggctgcatcg
+tcgccattacggcgaggtgctaagccccattcgctggtgggggcggatcccgtttatctt
+ttatctggtgtcgatgtttgttggctggctggagcgcaaacgctcaccgctcgatccggt
+agtacgatcgcttgtcagcgcgcgcattgcgcaaatgtgcctgtgtgagttttgtgtgga
+tatcaccagtatgaaagtcgccgagcgcaccggcagcagcgataaactgctggcagtggc
+tgactggcggcaaagcccgctctttagcgatgaagaacggctggcgctggagtacgccga
+agccgcaagcgtaacgccgccaacggtcgatgatgccctgcgtacccgactggctgcgca
+ttttgacgctcaggcgctcaccgaactgacggcattgatcggcctgcaaaatctgtcagc
+ccgttttaattctgccatggacattcccgctcaggggctgtgccgtattcctgaaaaacg
+ttcttaaggagagatgatgcgccattgtgggtggttgctgggattgttatcgctgttttc
+tctggcaacacatgccagtgactggcaagaaattaaaaatgaggccaaagggcaaaccgt
+ctggtttaacgcctggggcggcgataccgcaattaaccgctatctcgactgggtgagcgg
+cgagatgaaaacccattacgctataaacctgaagattgtccgtctggcggatgccgcaga
+cgcggtgaagcgcattcagaccgaagccgcagccggacgtaaaacgggcggctcggtgga
+tctgctctgggtgaacggcgaaaacttccgcaccttaaaagaggccaatttattacaaac
+gggctgggcggagactctgcccaactggcgctatgtcgacacacagctgccggtgcggga
+agatttttctgtgccgacacaaggtgcggaatcgccctggggcggcgcacaactgacgtt
+tatcgcccgccgcgatgttacgccacagccaccacaaacgccgcaagccttactggagtt
+tgctaaagccaatcccggcacggttacctatccgcgcccaccggactttaccggcacggc
+gtttcttgaacagttgctgattatgctgacgcccgatcccgccgcattaaaagaagcgcc
+ggacgatgcgactttcgcccgtgtcactgctcccttgtggcaatatcttgatgtgctgca
+tccgtatttgtggcgcgaaggaaaggatttcccgccttcacccgcgcggatggatgctct
+gctgaaagccggcacattgcgcctgtcgctgacctttaaccccgcgcatgcgcagcaaaa
+aatcgccagcggcgatttgcctgcaagcagttacagttttggctttcgcgaggggatgat
+tggcaacgtgcatttcgtcaccattcctgccaacgcgaatgccagtgctgcggcgaaggt
+agttgccaatttcctgctctcacccgatgcgcaactgcgtaaagcagatcccgctgtctg
+gggcgatccttctgttctcgatccgcaaaaactgcctgacgggcagcgcgaatcattgca
+atcaagaatgccgcaggatctgccgccggtactggctgaaccgcacgcaggttgggtaaa
+tgcgctggaacaagaatggctacaccgttacggtacgcattaatctttttgctgtgggcg
+atggtggcggtgatttatgcaccgctgatcccggcagctctcacgctgatatcgcctgct
+ttgtcgttgacacactggcaggcgttatttgccgatccacagttaccgcaggcattactg
+gcaacgctggtgtcgacaaccatcgcggcggtcggggcattgttgattgccctgctggtg
+attgtggcgctgtggcctgggccgaaatggcagcgtatgtgcgcccgtctgccgtggctg
+ctcgccattccccatgtggcttttgccaccagcgcccttctgctctttgctgacggaggg
+ctgctttatgactatttcccgtatttcactccgccaatggaccgatttggcatcggtctg
+ggcctcacccttgcagtgaaagaaagcgcatttctgctgtggatcttagcagcagtattg
+agcgaaaaatggctgttgcagcaggtcattgtgctggattcgctgggctacagccgctgg
+caatgcctgaactggctgctgttgccctccgtcgcgcctgcgctggcaatggcgatgctg
+gcgattgttgcctggtcgctgtcggtcgtggatgtggcaattattctcgggccaggtaat
+cccccgacgctggcggtaattagctggcagtggttaacccagggcgacattgaccaacaa
+acaaaaggcgcgcttgccagcctgctgttgatgctgttactcgccgcctacgttttgctg
+agctatctgctatggcgcagctggcggcgcactattccccgcgtagatggcgttcgcaag
+cctgccacgcctttattgccgggcaatacgctggcgatttttttacccttaaccggtgtg
+ctgtgtgtggttctgctggcgatcctcgcggatcagtcgacgatcaatagtgaagcgctc
+atcaacagcctgacaatggggctggtggcgacattcatcgctttgctcctgttactgctg
+tggctggaatgggggccacagcgtcgccagttgtggctatggttgcccattttattacct
+gctctgccactggtggcgggccagtacacgctggcgctatggctgaaactggatggaagc
+tggacggcggtggtctgggggcatctgctgtgggtgatgccgtggatgctgtttatcctg
+caacccgcctggcagcgcattgattcacggttaattttgattgcgcaaacactgggctgg
+tcgcgggccaaaatcttcttttacgtgaaatgcccactcatgttgcgccctgtgctgatt
+gccttcgcggtgggatttgcagtcggtattgcgcagtatatgccaacgctgtggctgggc
+gcggggcgttttccgacgctcaccactgaggcggtggcattaagcagcggcggcagcaac
+ggtattctcgccgcccaggctttatggcaactgctattaccgcttattatttttgccctg
+accgcgttagtcgcaaaatgggtaggttatgtcagacaaggactccgctaatgctctgcg
+tgaaaaatgtttcgctacgtttaccagaaagccgcttgctgacaaacgttaactttacgg
+tggataaaggtgacattgtcacgttaatggggccgtctggctgtggaaaatccactctgt
+tttcatggatgattggtgcactggccgaacagttttcttgtacaggtgagctatggctca
+atgagcaacggattgacatcctacccaccgcacagcgtcagattggcattctttttcagg
+atgcactgttatttgaccagttcagtgtcgggcaaaatttactgctggcgctaccggcga
+cacttaaagggaatgcccgacgtaatgccgtgaatgatgcacttgagcgttcaggccttg
+agggagctttccatcaggatcctgccactttgtctggcggtcagcgagcgcgcgttgctc
+tactacgcgcccttctcgcccaaccaaaagcgttactcctggatgagccattcagccgtc
+ttgatgtggctctgcgcgataattttcgccagtgggtgttcagcgaagttcgcgccctgg
+cgatccccgtcgttcaggtaacgcacgatctccaggatgttcctgctgatagttctgttc
+tggatatggcgcagtggtcagaaaattacaacaaactgcgataacgcaaagtttttctca
+atgcgtcagttcagaatggcgcactcaaaactacaatgtcgggattttcgatgaaacgtg
+tttctcaaatgaccgcgctggcaatggctttagggctggcttgcgcttcttcgtgggccg
+ctgaactggcgaagcctcttacacttgaccagcttcaacaacaaaatggcaaagcgatag
+atactcgccccagcgcgttttataacggctggccacaaaccttaaatggcccttctggtc
+atgaacttgccgccttaaacctctctgccagctggcttgacaaaatgagcaccgaacagc
+tcaacgcgtggatcaagcaacataacctgaaaaccgatgctccggtggcgctgtacggta
+atgacaaagatgtcgacgccgtcaaaacgcgactgcaaaaagcaggtttaacgcatatct
+ccatcctgagtgacgcgctaagcgaaccttcccgtctgcaaaaactgccgcattttgagc
+agctggtttatccgcaatggctgcacgacctgcaacaaggtaaagaggttacggcgaaac
+ctgccggtgactggaaagtcattgaagcggcctggggcgctcctaagctttaccttatca
+gccatattcccggcgctgactacatcgataccaacgaagtggaaagtgaaccgctgtgga
+acaaagtttctgatgaacaactaaaagcgatgctggcaaaacacggcattcgccatgaca
+ccacggtcattctgtatgggcgtgacgtatacgctgcagcgcgtgtggcgcagattatgc
+tttatgctggcgtgaaagatgtgcgcctgctggatggcggctggcaaacctggtccgacg
+cgggactgcctgttgagcgcggaacgccaccgaaagtgaaagcggaaccggatttcggcg
+tgaagatcccggcacaaccgcagttgatgctcgatatggaacaggcccgtggactgctgc
+atcgccaggatgcatcgctggtgagcattcgttcgtggccagaatttatcggtacgacca
+gcggttacagctatattaaaccaaaaggtgaaatagccggcgcacgttggggacacgctg
+gtagcgactcgacgcatatggaagattttcataacccggatggcaccatgcgcagcgccg
+atgatattaccgctatgtggaaagcgtggaatatcaaaccagagcagcaagtttcattct
+actgcggcaccggctggcgcgcgtccgaaacctttatgtacgcacgcgccatgggttgga
+agaatgtttccgtgtatgacggcggctggtacgaatggagcagcgatccaaaaaatccgg
+tagcaaccggtgaacgcggcccggacagtagcaaataacattgcaattactgacgctgga
+gcgacttcagcgtcagatacccactccacacccgcgtaaaggtcgtcatccagcacaacg
+caccgaagatccacgcaaaccacgcaaaccatgcagggaataaacatcccagcacaaaca
+gtaagatcgtttctgtgccttcggttaatccccccagatagtaaaacgacttatgtgcat
+aaccggggttatcaatctgatgttttgctgccagtgcagcaaaggcgagaaaactgctgc
+ccgtgccgataaacgcaaacaacaaccagccgcctgccagcgcattttgctccggtgcag
+caagaataaagccaaacggcaccagcgcgtaaaagagaaaatcgagagaaatatcaagaa
+agccgcccgcgtcggtaagctctctgcgccgcgccagcgcaccgtccagaccatcaagca
+gcctgttcaacaaaatgacgactagcgccgccagataccagcccagcgccagaaacggca
+gagccagcacgccgatggcaaatcccactaatgttaaaccatctggcgtaatgcccggtt
+tatcaagaacccgcacgcactgatgcaacaacggtttaatccggggatgaagatggcggt
+ctagcacaggcactccttaaatataaagcctttctgattgagcaacagtgcggatattat
+ggcatttttcgcttatctgcccgtgtgtaatttatgaaaatgattgaagttgttgccgcc
+atcattgaacgtgatggcaaaattttactcgcgcaacgccccgcccagagcgatcaggcg
+ggattatgggagtttgccggtggtaaagtcgagccggatgaaagtcagcggcaggcgctg
+gtgcgtgagttacgcgaagaactgggcatcgaagcaactgtgggtgaatatgttgccagc
+catcagcgagaagtttcggggcggattatccatcttcatgcctggcacgtacccgacttc
+cacgggacgttacaggcacatgaacatcaggcgctggtctggtgctcacctgaagaggcg
+ctgcaatatccgctggcccctgctgacattccattattagaggcgtttatggctttacgc
+gccgccagaccagcggattagtgctaagggttttgtcatcacgctggcattgcagcagta
+ttccttcggctttaattaccgccccttcagaataattttgatcctgataaacgcagcact
+gagtacagggctgcgctgactgcccgcctgaactgaacacttctggcggtacgtttacct
+ccacgtccggacgataatgcgggttagccagtgcaattaatggaaatgctaatactacgg
+cgaacaatgctcgactcacagggaactccttaacgttattgtctctgctactgataacgg
+tagccgggtggcaaaactttagcgtctgagttatcgcatttggttatgagattactctcg
+ttattaatttgctttcctgggtcatttttttcttgcttaccgtcacattcttgatggtat
+agtcgaaaactgcaaaagcacatgacataaacaacataagcacaatcgtattaatatata
+agggttttatatctatggatcagacatattctctggagtcattcctcaaccatgtccaaa
+agcgcgacccgaatcaaaccgagttcgcgcaagccgttcgtgaagtaatgaccacactct
+ggccttttcttgaacaaaatccaaaatatcgccagatgtcattactggagcgtctggttg
+aaccggagcgcgtgatccagtttcgcgtggtatgggttgatgatcgcaaccagatacagg
+tcaaccgtgcatggcgtgtgcagttcagctctgccatcggcccgtacaaaggcggtatgc
+gcttccatccgtcagttaacctttccattctcaaattcctcggctttgaacaaaccttca
+aaaatgccctgactactctgccgatgggcggtggtaaaggcggcagcgatttcgatccga
+aaggaaaaagcgaaggtgaagtgatgcgtttttgccaggcgctgatgactgaactgtatc
+gccacctgggcgcggataccgacgttccggcaggtgatatcggggttggtggtcgtgaag
+tcggctttatggcggggatgatgaaaaagctctccaacaataccgcctgcgtcttcaccg
+gtaagggcctttcatttggcggcagtcttattcgcccggaagctaccggctacggtctgg
+tttatttcacagaagcaatgctaaaacgccacggtatgggttttgaagggatgcgcgttt
+ccgtttctggctccggcaacgtcgcccagtacgctatcgaaaaagcgatggaatttggtg
+ctcgtgtgatcactgcgtcagactccagcggcactgtagttgatgaaagcggattcacga
+aagagaaactggcacgtcttatcgaaatcaaagccagccgcgatggtcgagtggcagatt
+acgccaaagaatttggtctggtctatctcgaaggccaacagccgtggtctctaccggttg
+atatcgccctgccttgcgccacccagaatgaactggatgttgacgccgcgcatcagctta
+tcgctaatggcgttaaagccgtcgccgaaggggcaaatatgccgaccaccatcgaagcga
+ctgaactgttccagcaggcaggcgtactatttgcaccgggtaaagcggctaatgctggtg
+gcgtcgctacatcgggcctggaaatggcacaaaacgctgcgcgcctgggctggaaagccg
+agaaagttgacgcacgtttgcatcacatcatgctggatatccaccatgcctgtgttgagc
+atggtggtgaaggtgagcaaaccaactacgtgcagggcgcgaacattgccggttttgtga
+aggttgccgatgcgatgctggcgcagggtgtgatttaagttgtaaatgcctgatggcgct
+acgcttatcaggcctacaaatgggcacaattcattgcagttacgctctaatgtaggccgg
+gcaagcgcagcgcccccggcaaaatttcaggcgtttatgagtatttaacggatgatgctc
+cccacggaacatttcttatgggccaacggcatttcttactgtagtgctcccaaaactgct
+tgtcgtaacgataacacgcttcaagttcagcatccgttaactttctgcgatagcagcaga
+tatgccagtaaagaaatcccatttgactatttttttgataatcttcttcgctttcgaaca
+actcgtgcgcctttcgagaagcaagcattatataatgccaggccagttcttcttcaattg
+tcccgttttgaaaagctgtgcttgatatcgagatcatccatgataattccgccgcccata
+ttagcttcgccgaggatttaccggagctatgattagcgcaatcagagatatagtctgagg
+gaaaaacagcaaatttattcaacaaggcgataacctgctctggggcttcctccatgtttg
+ctttaaaggtattggctccatggtcgccagaaagaaaatgctccattaaggcacaataac
+tttcgctatcttcgataccccattgatcctctaaagactcgcgtcttttacttatgatat
+cgatcgagtcaaaaggaagcacatgatattggaaggtatctttgccaggttcaggctttc
+gcggccagaactccagcgtttcagaccattgcttatgatagaatcgataaggtgcgatca
+attgtagcgcctgtaacttctcgatactgagcggctcaatacctttagcctgataataat
+gcagttgttctttttttgctttaaaaccggcccgaacaataagccccatcataattaata
+gataaagaaaagagcatcccgcggtaatcaggcctctttcattcaaaccgttggatgtta
+tcgctgcgaacacaaacattacagcgacaacacatgttaaataaaacccccacttacaaa
+gcagcatggccttattttctttaatcatccgttcaaaattactattaaatatttcccagc
+cattaaaagaatacttctcgctcccaggatggttttgtaataaaacttttttcatcacat
+tccctgttattacatactttagaggcgataattttatccatgcaaaaaaaatatccaacg
+aattttcttgatccgctggatatttcagaatatgactcgaatagcacgaaagattcactc
+gcttacgctatcgccccgcttccgacttcatctgctggcggactttttttcgcactacgt
+ttacgcggtgcagcctttttcttatcagcactgccaccactgcccggagccacaatgccg
+cgaaactgccgcaccggcgtacgtttggcttgatcaataagctgatatagcgtccccacc
+agcggctgcataaagtcctgatagcgacactgcttttcgctgatttgcgtcagcaccgat
+tcccagtgcgcggtcatgtccggtcgcgtcgccatctccggcagcgaatggaatagcgct
+tttccggcgtcggtggagtggatatagcgcccttttttggtcaggaaaccacgcttgaac
+aacagttcaataatcccggcacgcgttgcctctgtccccagaccatcggtcgcacggagg
+atctttttcagatctttatcctgcacaaagcgcgcgatcccggtcatcgccgaaagcagt
+gttgcatcggtaaaatggcgcggcggctgggtttgccgctctaccacttcacctttttca
+cacagcaactcatcgcctttcgccaccacaggcagtggcgtgccgtcgttttcttcatcg
+cgctctttgctgcctaacagcgtgcgccagcctgcttcagcaagaaaacgcgctttagcg
+acaaatttgcctttggcaatgtccagttcgataacacacttgcggaacaccgcatccggg
+cagaattgcatcagatactgacgggcaatcaggttatagaccttcgcttcgttctccgtc
+aggttgatcgcagaactccgtgcggtcggaatgatggcgtggtgcgcatcgacctttttg
+tcatcccaacagcggttgcgtatatctggatctaccactggctgcggcaacagatccggt
+gcatgaacactgatggcattcatcaccgcgtggcgtccggcaaaatgttcttctggcaaa
+tagcgacaatcagaacgcggataagtgattagcttgtgcgtttcgtacagtttctggcag
+atatcaagcacgttctgcgcactcagaccaaaacgttttgccgcttcaatctgcaacgct
+gaaagcgaaaaaggcagcggcgcggattctgattcccgtttatcgttatagctggtgaca
+atagccggttgaccactaatgcggttaaccacatgctccgccagtggacgatgtaacaag
+cgcccttcttcatcctggtacggttcacacgcttcgctcggttgccagatagcggtaaac
+cgctcatcggcaggtgtcacgatatgtgctttgacttcaaagaagtctttcgccacgaag
+ttttcaatctcttcatcgcggcgcaccaccagcccaagcacgggcgtctgcacgcgtccc
+acggaaagtacgccctgataaccggcattgcgaccgagaatggtatacgcacgggtcata
+ttgatgccgtacagccagtcggcacgcgctcgcgccagcgcagaaacgcacagcggtaca
+aactcactgttggaacgaagacggtcgatcgcccgctcaaccgcctgcgggttcaggtcg
+tttatcaagcaacgctgtacctgctggcgcttttccggtgccagttgcagatagtccagc
+acttcatccaccagcaattgcccttcacgatccgggtccccggcgtgaacgatttcgctg
+gcttcatgcaggaaccgtttgatgacgttaagttgtttggtcacggagggtcggggctgt
+aattgccacttttccgggacaatcggcaaatccgcaagattccagcgcgcatagcggctg
+tcgtaggcgtctggctgcgcctgctcaagcaggtgaccgatacaccaggtcaccacctga
+ccattaccgcactcgataaagccatcgcctttccggtgcggtttgggcaggacatcagca
+atggcgcgcgccagactcggtttttcggcaataaacaaccgcattgaattaacgaatctc
+aaccatggcacgaccgccgcgcgctggcaccagttcgccaattgccgtcagttcaatgcc
+aaactcggcggctgtagctttgacctcattttctgcttccggcatgaccgccagcagcaa
+accgccagaagtttgcggatcacacagcagatcgcgcacttcacgcggcatttcacccat
+cagatgaccgtagctggcaaagttacgttcagtgccgccaggtactgcgcccaacttaat
+gtactcttcaacaccggggagtttcgggatcgcttcatagtcgacgcgtgcctgcacacc
+agccccctgacacatttcgctcaagtggcccagcagaccaaagcccgtaacgtcggtcat
+cgcttttacgccttcgatgttggcaaaggacgcgcctgcgatgttcatccggcacatcac
+ttccgtcgccagtccctgatgttctggtttcaacagtgattttttctcagccgtggtaag
+aacgccgatccccagcggtttcgtcaggaacagtttgcatccggcttgtgcggtactgtt
+tttcttcacccgctcggtcggtacgatccccgttaccgccagaccaaaaatcggctccgg
+cgcatcgatggagtgaccgccagccagcgcaatacccgcctgacgacatgcatagcgtcc
+accttcggtcacttcgcgggcaatttctggggaaagtttgttaatcggccagccgaggat
+cgcaatcgccataatcggtttgccccccatcgcgaagatatcgctgatggcgttagtcgc
+cgcaatgcggccaaaatcgaaaggattatcaacgatcggcataaagaagtcggtggtact
+gataacgctggtgccattgcccagatcgtacaccgccgcatcgtcgcgggtttcattacc
+cacaagcaaattcggatcaacaaacttcgcctgctcactatgcaggatggtttccaacac
+ttttggggaaattttacagccgcaaccagctccgtggctgtattgggtcaaacgaatcga
+gttctcgctcatggacatctcctgtcaatgcaatccgggtatggtaaccctcattccgtg
+aagtgataagtgagagtgtctgaattcctgcgcctttgctcacaatccagacagtttcgc
+gacaattatcagaaataagttacaaacggcgtcgggtccgggacgttaatcgacgtagat
+gctttcagctgcggcgtaccgaggtagagaaaaccgacaattttatcctgctcacggcaa
+ccgaatgcttcacgcactaccggactttcagttaatgcgccactgcgccagatgccgcca
+aacccctgggcaactgctgccatttgcatcgccatgaccgcgcatccggcagacatttcc
+tgttcccagcgcgggactttatgattctcttcgcatttcgccaccaccgtgatgatgagc
+ggtgcgcggaacggcgcattacgggctttgtcgatagctttgtcatcactaccggcagca
+atcgccccctgttccagtacggcgctgaaacgctcgcgcccttccccttcaatcacaaaa
+aaatgccacggttgcatggacttatggtccggcgcacgcatacccgcacgcaggatgttt
+tgcagttgttcacccgttggcgcgggttcagccaagcgggaggcgctacggcgattgatc
+aatagttcgagtgcatccatttgattaactcctgtcgtgatatttattcacaaaattaac
+acgagagtggattttgttacagcacagtccgcaattcctgctgacaagtaccggttgggt
+cattacgataaccacatctattgcgcctgtgacaggtgtgaccttaagttgggagaatac
+atgcgaaccctttggcgatttattgccggattttttaaatggacgtggcgtctgctgaat
+ttcgtccgtgaaatggtacttaacctgttctttattttcctcgtactggttggtgtgggg
+atttggatgcaggtcagtggtggtgattcgaaagaaacggccagtcgtggcgcactgctg
+ctggacatttctggtgtgatcgtcgataaacccgacagttctcagcggtttagtaaatta
+agccgccagctgcttggtgccagttccgatcgtctgcaggaaaactcactgtttgatatc
+gtcaacactattcgccaggcgaaggacgaccgcaatatcaccggtattgtgatggatctg
+aaaaacttcgcaggcggcgaccaaccgtctatgcagtacatcggcaaagctctgaaagag
+tttcgtgacagcgggaaaccggtttatgccgttggcgagaactacagccaggggcaatat
+tatctcgccagtttcgccaataaaatttggctgtctccgcaaggcgtggttgatctgcac
+ggctttgccaccaacggtctgtactacaaatcgttgctggataagctgaaagtttccacc
+catgtgttccgcgtgggtacgtataaatctgccgttgaaccgtttattcgtgatgatatg
+tcaccggcagcccgcgaagctgacagccgctggattggtgagctgtggcaaaactatctg
+aatactgttgccgctaaccggcagatccctgctgagcaggtattccctggcgcgcaaggg
+ttgcttgagggtttaaccaaaaccggtggcgataccgcgaaatatgcactggaaaacaag
+ctggtcgatgcactggcatcgagtgcggaaatcgaaaaagcactgaccaaagaattcggc
+tggagtaagactgataaaaattatcgcgccatcagttattacgattacgcattgaaaacg
+ccggcagataccggtgacagcatcggtgtcgtctttgctaatggcgcaattatggatggc
+gaggaaactcaggggaatgttggcggtgataccactgcggcacaaatccgcgacgctcgc
+cttgacccgaaagtgaaagcgattgtcctgcgtgttaatagcccaggcggcagcgttacc
+gcgtctgaagtgattcgcgctgaactggcagcagcccgggcagcgggtaagcctgtggtt
+gtatcgatgggcggcatggcggcatctggtggttactggatttccacgccagctaattac
+attgtggctaaccccagcaccctgaccggttctatcggtatcttcggcgtgatcaccacc
+gtagaaaatagtctggattcgattggtgttcatactgatggtgtctcaacttcaccgctg
+gcggatgtttctatcaccagggcactgccgccggaagcgcagctgatgatgcagttaagc
+attgagaatggctataaacgctttatcacgctggttgctgatgcgcgtcattcgacgccg
+gagcagattgataaaattgcccagggccacgtctggaccggtcaggatgcaaaagctaac
+gggctggtcgatagtctcggggatttcgatgatgcggtcgccaaagcagcagagctggca
+aaagtgaaacagtggcatctggaatattacgttgatgaaccgaccttcttcgacaaagtg
+atggacaacatgtctggttctgtccgggcaatgttgccagatgcgttccaggccatgtta
+cctgcaccgctggcctcggtagcctctaccgttaaaagtgaaagtgacaagctggccgcg
+tttaatgacccacaaaaccgttatgcgttttgcctgacctgcgccaacatgcgttaagtc
+ttgtactgagtggccgacagatcgtcggccacattattttttacgtcgacgaatcctctt
+cccgctgtttcgccccatatttccttatccgcatagtatcaggtgcgctccccctgcctc
+acgtatatacttttgctctttcgatatcattcatatcaatatcatgcaaaagaaatcaat
+ttacgttgcctacacgggcgggaccatcgggatgcagcgttccgagcagggttatatacc
+ggtgtcaggtcatctacaacgccaactggcgctgatgccggaattccatcgcccggagat
+gccagatttcaccattcatgaatatacgccgctgatggattcttcagatatgacgccgga
+agactggcagcatattgctgaagatattaaagcgcactatgacgactatgatggttttgt
+cattctgcacggcaccgacacgatggcgtataccgcctctgcgctgtcgttcatgctcga
+gaatctcggtaaaccggtcattgtgacagggtcacaaatcccgctggctgagttacgctc
+tgacggacaaattaatctgctgaatgcgttgtacgttgcggcgaattatccgatcaacga
+agtaacgctctttttcaataaccgattgtatcgcggcaaccgcactaccaaagcccatgc
+cgatggttttgatgcgtttgcctctccaaaccttcctccgttactggaagcaggtatcca
+tattcgtcgtttgaatacgccacccgccccgcacggtgaaggggaattaatcgttcatcc
+aatcaccccacaaccaattggcgtagtgacgatttatccagggatttctgctgacgtcgt
+gcgcaattttctgcgccaaccggtgaaagcattgattctgcgctcctatggcgtgggtaa
+tgcgccacaaaacaaagccttcctgcaggaattacaagaagccagcgatcgcggtattgt
+ggtggtcaacctgacacaatgtatgtccggtaaagtgaacatgggtggttatgccaccgg
+taacgccctcgcccatgccggcgtaattggcggtgcagatatgactgtagaagccacgct
+aaccaaactgcattacctgcttagccaggaactggatactgaaaccattcgcaaggccat
+gagccaaaacctgcgcggcgaactgacgccggatgattaaggagactgtaatgccccctc
+gcgccctgttactggtcgatttacaaaatgatttctgtgctggtggcgcgctcgccgtgc
+cggaaggtgacagtacggtggatgtcgctaaccgcctgattgactggtgccagtcgcgcg
+gtgaagcggttatcgccagtcaggactggcacccggcgaatcacggcagttttgccagtc
+agcacggtgtagagccttatacgccaggccaactcgacggtttgccacaaaccttctggc
+cagatcactgtgtgcagaacagtgaaggcgcacaattacatccgttactgcaccaaaaag
+cgatcgcagcggtgttccataaaggcgaaaatcctttagttgacagttacagtgcctttt
+ttgataacggccgtcggcagaaaacctctctcgatgactggttacgcgatcatgaaatcg
+atgaattgatcgttatgggcctggctactgactattgcgtgaagtttaccgtgctggacg
+cgttacagttaggttataaggtaaacgtgattaccgatggttgtcgtggcgtgaatatcc
+agccccaggacagtgcgcacgcgtttatggagatgtcagcagctggggcaacgctatata
+cgctggcagactgggaagagacacaggggtaattttacgctggcctacaattctgtactg
+gcattgtaggccaaataaaacacgtcagtggcacatctggcaattgatgccatcaacgaa
+agatttaattcacctcagaaatctcttccaacgacaccttccgcgtttcgatgccaaaaa
+tggagagaaccagcgcacagagcaataacataacaccaagtaccataaacaccgtgatcg
+acccataatgtgttaataatgccgcaacgccatagggcgtgaagactgcgacgatccgtc
+cgacggcattaacgaaacccgaaccgcgcaggcgtaaatgcgttggccaaagctccggga
+tataaaccgccgacgcgaagcaaacatacatgtataaaaagaagatcatcaccagtccat
+agattaaaatcgcccactctgtagtctgaattgaatagatatagcctaacacggcaataa
+taataagtaaggtggagccaaataaccgacgaggaaaatgatcaataattaatgccgcaa
+taaatattcctaccggagcgccaatcataataacagcggtcattaatattgatttatcga
+catcaatgccggagttaacaaatatggtcggtatccatacggtgatggtataaagcgaaa
+tgttcattgcaattaaaacagtaatcgcgactaatgtacgtcgtaacatttcacctttaa
+acaggagccagaaagtacccttgattactttaaccttgctgttgctctgatacgaagtaa
+gcgggggtaaacgaatactcttctctctttcaatttgctgctctacttcacgaagttggc
+attctgcacctgcgatttgccctttccctgccagccatcgtggcgactcgataaagtatt
+tacctgagagaaaccaggctaacagtatgccaataccacccagcagaaacattattcgcc
+aactaaaaaaagcgataaccaccacgcctatcgccgcagacagcatgggcgaccagttac
+caacaaatgagagccgcgcggaccattttccacgcaccgtcgcggggataaactccgtaa
+atgaggcatagccaaccataatcagcgcccccattcctgttcccatcaggaagcgaaaga
+agatgagccagtacatatcagggacaaaagcggcccctgttgcagcaataccgacgatga
+gaagatttatgcgaaacgccctgcgccgcccaaagtagtcaccaataaacccaccagtaa
+gtgagccgatgaaataaccaaacattaatgccgaggtaaaggcggcattgaggaaattat
+ttgaccatccattgcttaccagctttgctaagacgacattaccggagtaactcaaaaacc
+ctgttaataacagactaaagcttataataccaaatatacgataatgaaaccgggccaaag
+gcaagcggtccagtcttgcgccaatttgatcatattgttccattaggtgcctcggatttg
+ctaaaaaggtagcaattgcggcaaattcacttgccgcatctttatcatcattttatttca
+aggcgcaggaacaaataatattgacaacgtgtgcttaaattaccacaccagctggatatt
+attgtctttgcaaaatgctatccactctgcacccggtgatttatcagttattatgtaatt
+aatatgactaaaatcagctaactggacaaaagctttgcgatcaaacttagagtgatcaac
+caataacgcaacttctgtcgcctgacggatcattgtctttttgatttcagcttccgcttc
+attagagtccagcgcgccgctgttaatatcaagacctttacaactcattaccatgatatc
+gacatgatagcgcctgatgatctctttagtaattcttccttgcagtgaaagtgtattttt
+gtttagttccccacccgttgaaacgactttaatttctgactgagccagaacatgaatcgc
+ttccgccgagttggttagcaacgtcaggccactacggtcctgtaacaatttgagcaattc
+cattacggtactactggaatcggctgccatggtggttttattgtcgataaagggtagtgc
+cttgcgtgcaataagctgcttctcttcataaaacgatgaagcgcgcttataaaaatggat
+attctccgtcaacatcgctgtatttaaaacagcaccaccataggttctggtcaaaaagcc
+ttcatcttccagcttctcaagatcgcggcgaatggtttcttcggttacctgaaaaatccc
+actcaaatttgagactgtcacctttttatcgttggcaaccatttgcttaattgcctgaat
+cctgtcttttgccgccacgattacacccctgtatctttttacatcacattagcgcgatta
+tcgcataaccgatgtttactttcaaaataacctgtttgaatcacagattttcatcacagt
+tttcacagaaacagaggtgaatcgtgttgagtatttaacgctccagggcctctgccattt
+ccctcatcaatgttgcgtctgcatccgataagttgatattcagtgccgcgacattttcgc
+gtacctgttccggtgcagtagccccactaagaatggagattaaatcactctgttttaata
+tccacgccagtgccagagtgggaattgtgcactgataacgagcacaaagtggctgccact
+gttcaagcatatcaatcactttcagcatgttttcacgctggaaccagactttatttgccc
+gagcgccgcccggaacgtaatcacgagtgatggtgccggtcaacaatccctgctctagcg
+gggaataaacctgaaccacaatgccattatcacgacatagtggcagcagttcgttttcca
+ttgcccggtcgaggatactgtatttcgcctgaataatatccagttcaccatattgcagat
+actcgcggatatggtcagcatcgacgttagcagcgcctatagcgcgaattttcccttcag
+actttaactcattaagcactgcgacagtttcagcgatcggcgtaaaaaatggcggcaccg
+actgccagtgcgtcatgtagatatcgatgtaatcaatacccagacgttgcaagctcgctg
+ctacctcttcgcggatagattccggggaaaggtttttatacaactgccgatcgccaactt
+tgttgaataaacttccttttcgttcccagacaatgccgcatttggtttctactacaacct
+gttcacggggcagtttttttaacgcctgaccgacgataacttcactattgccaaagttat
+atcctggcgcagtatcaatcagattaatgccacaacgatgggcttcaagaatcgtatcaa
+tacatatttgccgatcgagatcgccattccatgcaggaccgccgccaatggcccatgtcc
+ccaaccccattcgcgaaagcgtaatatccgttgtgcctaaaggtatctttttcatttgcc
+ttcattatccttcgtattcttccagcaattgttcgaccagctttctgttttttacgccgg
+tggtggcaccgacgcttagaaccgagatagccgccgttgcattggcaaagcgtgcgcatt
+cacgcagatttttgccttctaacagtgccgcaataaaacctgaagcaaagttatcgcccg
+cgccaatggtgtcgatggcggttattcctgcgaccgccggcaccttcatcgtcatgtcac
+cacgcttgataaagcagccgtctttacccgttttaatcaccaccgtttttacgccgcacg
+caagaaagcagtcagcaatttcatccagtgtctctttcccggtgagtaattttgcctcgg
+caaaattaggaaacagataatcgacataactcaatgcttcgcaaatatcatccagcgttt
+cattcaaccgcggtttgatcatatcggcacagataatcatctgccgggctttagcttgcg
+taaaaatttctgttagcgctttaccatccaatagtggactgttgaaaatactggccagtg
+ataataatttcgcctgagaaaaccgcgcaaaatcaacatcgtcaatattcaatttccaca
+gactgccattacggtttgtgacaaacgtccgctcgccatcctccgtcaccagtccaacgt
+taatagaggtatctatgctgacgtcctgcttcaggctttgaatatcaatattctctttgc
+ggcaatggtcgagaataaattgccctgcggcatctttaccaatacgactcattaatgctg
+tgcgatggcccagacgagaaataattgttgcttcatttattgcatcacccccggtggtca
+ttgcgattctttcaagaggataagaatccacatcaaagatatttttactgaccggttgca
+atggaatatcaacaatagcggcacctatacaaataacgtcgagattatccatatcattat
+tccgctttgccatcagaaccgaacagtttaattttttccaatgcccgttcttttacagct
+ttacgtacttcacgttctaaatgcaggaaaggctgatcctggttttctttcactgcaacc
+attgcggcctgacagagctccgtatgaatgttgattttcgcgatacccaacgaaattgca
+gttttaatgtcggcatcactgatccccgatgcaccgtgcaaaaccagcggaacagaaacg
+gcatcgcgtacgcgtttgacgacctcaaagttcaattgtggctctgacgtataaacccca
+tgctggttgccgatggcgacagccaatgaatcacagcccgtacgttcaacaaattcagcc
+gcctggtcaggatcggtatagtgatagcccgccagcgcttcctcataaacggtttcatta
+ccgacatgccctaattccgcctctaccggaatacccagcggatggaagaaatcgacagcc
+tctttggttaaacgaatattttcttcgaaatcaaacgcggaagcatcacgcattaatgaa
+ttcataccatgagtccaggcgttatgaataatctccatactccgaccatgatcccaatga
+gttattaccggcaccgttgctttttgtgccattgataccatcatgtgagagaaatcttca
+aatgaggtgttaccgacaaaacctgtaccaaaagaaataataaccggggatttcgcttct
+tcggctgcgtcgataacgcccatcaacatttctgcattccatacgttaaaatgggcaatt
+gcataatgtttatttgtggcatcgttttcccaatatctgatatctgcgagcatgttctgt
+tctcccgtattaattaatcgctaattttaataacgcctttaataatgtcgcgtttgttgt
+taactgactcttcaaatgcctgttgtacatcccgataatcgtaaatatgcgtcaccatcg
+atttcacatcgaatcgccctgaagaaatagcttcaatcgtgaccggataacgattggcat
+agcggaataccgtctggatagtgacttcgcgattgattttgaggaaattgattgccgaat
+cgccgggtacagtaccaacaatcataattttaccgccgcgcattaccagataaggtgcct
+gtttaacggtgaccgcagaacccgctgtttcgaaaacaatatctgcgcccatgtcttcgg
+taaattgctgacagcgtgcaatagtgtcttcttttgcgccgttaataaccactgtcgcac
+caagctgttccgccattgccagacgtttttccagcacatcaacgacggcaatttccgttg
+ctcccaggcatttgcacgcttgcaacgtcatcaaaccaatacaacctgctcccagaataa
+ttatcttcttacccggtttaacatctgccagcatcgcggcatgcatcccgactgcggcag
+gctccaccagcgccccttccatcgtgtccatattgtcgggcagtttgtaagtaaagctct
+ccggatgacacagatagtgcgttaatgcgccgcggtagttgggttgtgtcgccataaaat
+caacgtccgggcagatgttatatttgccttccagacagtaacgacagtgaccgcaaggaa
+cgccaggttcgatatttacccgatcccccggtttaaatttgcgcacgcggcttcccacag
+ccacaaccgtcccggcgcattcatgacccaggccaatttcttgatttgggtctttaggcg
+gaataaacgggcctgattcaaaaccatgtacatctgaaccacaaataccgacatattcta
+ctttaatcaaaacttcatcttctttaggcactggtatttctgctgaaataattttcattg
+tgcccggcacctgcaatattgcttttgaatttttcattttgaatccacccgtattattta
+ttggctactgcatcaatacttaaactttcaacggagacacctttggtttcgattccaatg
+gtggcgatagcaattgcgacaataattgaaaccgcccccagaagaataaagactcccgta
+acgccataactactgagcagcactgcaacggcataaggtgcggcaataccactgattcgc
+cctaccgcattcgccagaccggagccacggagtttggcctctgtcggccagatttcaggg
+acatacactgccgaggcatagcaaacgtacatatagacgaaagtaatcaggaagaaacca
+atcaacgttatgagcaacatactggtttgcagtgaatagatatatccgagcaccgcaatc
+aggattaatagccccacacccattgttttacgcggaattttatccatcaccagcatggca
+ataaaaataccaaatggcgcgccaaacatactcatggtatttaaaacaatcgagtctttt
+aaattaatcccctgggtcatgaatattgttggcaaccagttaattagtgtgtactgcaca
+acgttcatggcaatcagcacacaagagcctaatatcacgcgtttcagtaatactcctgtc
+agtaaggctgaatacggcaccgcttgtggcgctttaccgtcatcagcaataaccacaggc
+ggcaaaggtttacccgtctggcgtatgacgccttcttctatactccgcatgactttctcg
+gcttcctgataccgtccgcgcgattccagccagcgcggggattcaggaaagtagcgccag
+gccagcgccgtagcgataagcgacaatattgcagggataagcagttgtacccgccagttc
+cactctgcactaatcagcggcgtgagtcccatcgctatcaatgaacagagcggatatgac
+cagttgccaataaaggaaacccgacttgaccacgttccacgatttctaccgggcatatat
+tcggtgaaaccagcaaacagcgtaaccagtaaagctcccagcccaactcccatcacaaaa
+cggcaggcaataaggaaatccatattcggtgagaaagcaccgacaaccatcgaggcaata
+tgaatggcctcatagaggatgaacgcatttctgcgaccggttttgtcgccaatgatgccg
+cccaccagcgcaccgagaaacattccggcggtcgtgattgctgagaatgtggctgtggtg
+gaattatctgtccagcccaacgctttcagctgcgcgaggatcaagccaccaacggcatta
+ctccagcagacaagcaagccaaacgcgacgatggcaaacattgatgaatgccagcggcaa
+tccggtaagcgatccagccgtgcaccacaatgcggttttgttatctgttccatgcgataa
+cgttccttcaggagagtggttattcatcaaagtcgtaagtcatgatcactttgattgcgg
+ttttatcgaccatcgcatcaaacccttcgcgccattgcgacaggccgatacgatgcgtga
+tcatcggtttgactttgatagcgccgctggctaatagcctgatagcgttacgccatgagg
+tggagtcataggccatatgcccaatgatgcttttgttccaggcggtaatgtcattaatcg
+agaaatcaagaggtttgaagcccattccaacgcgtaccacttccccgttcgggcggagca
+tttcgatggcttgtttcagtgcgatattggcaccggagcattcaatcaccagtcccagat
+tgtctttgccacaaatttgctggcagcgcgccaccacatcttcggtagaaccatttacta
+ctgccgtcgcacccagttcttttgcaaccgggaagcggaccgccacatcttcttgcagac
+caacgacgacgatatttaccgcccccataattcgcgccatttgtacggagaacagcccga
+gtgggccagtgccgatgacgaccacatcctgaccaggaaggaatttcgattgctgcgcga
+tggatttgtaggcattacagatagggtcaagtacggctgcgtcctcataatcaacaccat
+cagggatttcccacaacgcatgacgatgaattttgagaatttcaccaggaaccagacaat
+atttggaaaaaccaccgccccaggtattattatccagaccaaggtttactttttctgtac
+aacacagaaaatcaccttgttcacaggccggacaaacaccgcaaacgtgaccgctgttat
+ccgatacgacgcgttgccccactttccagtctttgactttttcaccaacctgcgcaatac
+aacctgcgaactcatggccgcggatagagttaaactcatcagaaccgctatcgacattgt
+agtgcttcatgtctgcgccgcagattgccgcggctttaatttcaatcactacatcttccg
+ggccacacatgggttgtgggacatcaatcatcttgtagccgccaaaggccttgccaaacc
+gagccagtgctttcattgcgtcatcctctgtgtttagttttgcttagatggccatcatac
+ttacccacatgatttttgaggtcaacattaaatctgtaaaacacagataatgatctgcgt
+tttacaactcagatcacaattacgcagaaaatggctgggtctgttacaggttgatggaag
+gcggggcgcaaaaagagcaaattcgagagggattaccggccaaataggtctgagacttaa
+gttcaggagaagtcattcaggtgtgaacgggacggcaagagatcggactgggacttagcc
+aggtcatggcgagataattgagatgagtcgtggggtcattgttggctatccccttcatag
+ccgaggcaaaaaggggatgaaccacttacttaaacatggcaataggctttgctgagatac
+caaaatcttcttttaactgctgtttgctcttcatgaccatctgaccatttgtgtcaattg
+tcatatgctgtgcttcgatattatggcgggcttgccacagcatcaccagttgcaggcagt
+tctctttttgttcctcggtcaacgcaacgccatcaggccatttccccagttcaacggcgg
+tcgacaaacgctggtatacctcaggcatcatgctgttgataatgtcatcaagattcataa
+tttttccgctcctgtggaataagttgctgaatcgttttttcaaccgttgatttcttcgcc
+gttttcgccatcggtaaagcgtaaagaggcagagttaacacaataacgttcgcccgttgg
+ctgcggcccgtcggggaagacatgccccagatgggcatcacagttaccgcaacgaatttc
+tatgcgctgcattccatgtgacaagtctttgatataacgaatggattcttcacttaccgg
+ttcgtagaaactgggccagccacagccggaatcatacttggtttgggaatgaaacagcgg
+ggcatcgcagatcaaacagtgatatacgccgtcacgcttgttatgcagtaaacgacccgt
+aaatggcggctctgtcccatgattctgcgtcacgtaaaactgcatctcggacaaattttt
+tttcagttcttctgccgaaggtttattagccatttgctcacatctcactttaatcgtgct
+cacattacgtgactgattctaacaaaacattaacaccaactggcaaaattttgtcctaaa
+cttgatctcgacgaaatggctgcacctaaatcgtgatgaaaatcacatttttatcgtaat
+tgccctttaaaattcggggcgccgaccccatgtggtctcaagcccaaaggaagagtgagg
+cgagtcagtcgcgtaatgcttaggcacaggattgatttgtcgcaatgattgacacgattc
+cgcttgacgctgcgtaaggtttttgtaattttacaggcaaccttttattcactaacaaat
+agctggtggaatatatgactatcaaagtaggtatcaacggttttggccgtatcggtcgca
+ttgttttccgtgctgctcagaaacgttctgacatcgagatcgttgcaatcaacgacctgt
+tagacgctgattacatggcatacatgctgaaatatgactccactcacggccgtttcgacg
+gtaccgttgaagtgaaagacggtcatctgatcgttaacggtaaaaaaatccgtgttaccg
+ctgaacgtgatccggctaacctgaaatgggacgaagttggtgttgacgttgtcgctgaag
+caactggtctgttcctgactgacgaaactgctcgtaaacacatcaccgctggtgcgaaga
+aagtggttatgactggtccgtctaaagacaacactccgatgttcgttaaaggcgctaact
+tcgacaaatatgctggccaggacatcgtttccaacgcttcctgcaccaccaactgcctgg
+ctccgctggctaaagttatcaacgataacttcggcatcatcgaaggtctgatgaccaccg
+ttcacgctactaccgctactcagaaaaccgttgatggcccgtctcacaaagactggcgcg
+gcggccgcggcgcttcccagaacatcatcccgtcctctaccggtgctgctaaagctgtag
+gtaaagtactgccagaactgaatggcaaactgactggtatggcgttccgcgttccgaccc
+cgaacgtatctgtagttgacctgaccgttcgtctggaaaaagctgcaacttacgagcaga
+tcaaagctgccgttaaagctgctgctgaaggcgaaatgaaaggcgttctgggctacaccg
+aagatgacgtagtatctaccgatttcaacggcgaagtttgcacttccgtgttcgatgcta
+aagctggtatcgctctgaacgacaacttcgtgaaactggtatcctggtacgacaacgaaa
+ccggttactccaacaaagttctggacctgatcgctcacatctccaaataagttgagatga
+cactgtgatctaaaaagagcgacttcggtcgctcttttttttacctgataaaatgaagtt
+aaaggactgcgtcatgattaagaaaatttttgcccttccggtcatcgaacaaatctcccc
+tgtcctctcccgtcgtaaactggatgaactggacctcattgtggtcgatcatccccaggt
+aaaagcctcttttgcattacagggcgcacaccttctctcgtggaaacctgcgggtgaaga
+agaagttctgtggttgagcaacaacacaccgttcaaaaatggcgtcgctattcgcggtgg
+cgtaccggtttgctggccgtggtttggtccggcggcacaacaaggtctgcctgcgcacgg
+ttttgcccgcaacctgccgtggacgctgaaatcacatcatgaagatgctgatggcgtagc
+gctgacttttgaattgacgcaaagcgaagagacgaaaaaattctggccgcacgactttac
+gctgttagcgcatttccgcgtgggtaaaacttgtgaaatcgatcttgaatcacatggcga
+atttgaaaccacctctgccctgcatacctactttaacgtgggtgatatcgctaaggtaag
+cgtcagtgggctgggcgatcgcttcattgataaagtgaatgacgcgaaagaaaatgtact
+gaccgatggtattcagaccttccctgaccgtaccgatcgcgtgtatctgaatccacaaga
+ttgcagcgtgattaatgatgaagcgctgaatcgtattatcgccgtaggccaccagcatca
+tctgaacgttgtcggctggaacccgggaccggcgctttcaattagcatgggcgatatgcc
+ggatgatggctacaaaacatttgtttgtgtagaaacggcttacgcttcagaaacgcaaaa
+agtgaccaaagagaaacctgcacatctggcgcaatccattcgcgttgcgaaacgttaatt
+tacgttaatgttgtgtgccgggtgcaatgcatccggcacacaacatcacaccatatccag
+cgcagtttttccttttggtgccggatatgccttatccagcatagctaattccgctgaaga
+aagttcgacctcaagcacagccgcattttgttggacatgggcaatcgtggccgcttttgg
+aatcgccatcacaccctgatgactgatcacccacgccaacaatacttgtgccgcgctgat
+attgtgagcatgtgcaatttcgttgactaccgcgttttttaacagtccattgcgcaaccg
+cccggcctgggctaacggactgtaagccatcaccggcatctgctgttgctggcaccaggg
+gagtagatcgtactcaattcctcgtgaaccgagatggtaaagcacctgattagtggcaca
+ctgatttccccccggcagctgccagagttcctgcatatcagcataatcaaggttagaaac
+gccccagcggcggatttttccctgggcgatcaatttttccatcgctgcgacagtctcttc
+aaaagcgaaactgccagaccagtgtaataagtaaagatcgagataatcagtattgagacg
+gcgtaaactggcttcgcatgcatttatcgctttttgcccgccagcattccacggatagac
+tttagagacgagaaagaccttctctcgcagaccggttaatgcttccccaaccaccttttc
+ggcaccgccatcggcatacatttcggcggtatcaatgagggttaaaccgagttcaatgcc
+cgcgcgtagtgcagcaacttctgttttgcgctgactggcatcttcgcccatataccatgt
+tccctgccctacggctggcagtgagacatcgccactaaattgaatcattttttgttgcat
+tgtttcctcccaggtattgcaccaccgtaatgcaaaacagggcgtgacgccctgttttta
+tgcacaaaatgccctggaaagatgcattatcagaatttgtaggtgatcccggtagaaatc
+aggccagtccaggatttatccaccatcgggctgtcagtaacttcatcagacagacgggtg
+tagcgtgcggtaccgtaaacactccagtcgccgaggaagttgtagctggcgctcagctcc
+aggtaagggctccagctgtcgttcgggttatagccacgcagaccgctgcgagcggactct
+ttgcgcgatacgccataatagtattcgttctggttttcgctgttccactgcacaccaata
+cccggagtcacggtcaggccaccgttggtgtaacgatacaaccaggccatatcccagacg
+atgccgttgctgttatccagggtatcgccagccagggtggtacgcaggtaaccgtactgg
+gtaaagtgagcataagacagaccagccatcatggtgctcttacggtcatccaggtgacgc
+atttggtgatcgccactgtctttcgctttgaagtaaagcggcgaccagtaagcggtaatt
+gaaagtttatccgttgcgtcattccacaggtagtaaccaccacctaagccacggaaccag
+aagttatcgccttcatagttgattaccggtactgggtaaacatcggtatcgtaatcttta
+tatgggtgttcaacgacacctacgcctgcgcccagggaaaatttaccttcagcgtgcgct
+acgcctgcagacgttgcgataagcactccaagtgccagaagtttgagtttggtcacaatt
+aatcattccttaaacaaatgtttagcgggcgacaaagtttacccgtcaatacatcgaaac
+ccaacctttttacgttttcattttttaaagtaactgtttaattttcctgacgcggatgac
+accgcgcttacagccaaatgaatttagcgttactggcgagcctggtctttacattaatta
+tgcaaaatttatggatgagttgttgatatgccattgaaattaagaaagccgtgcaggcaa
+gttttccatttgccatctacgcttaattttgaaggtgtatcaccgggcacgttgttctca
+tcgtcgataaaatggcatgagagttgctgtgttttagcaagagacgtcgttcagtttacc
+tcttccgggagcctctactattcatatgaacggctcttaacctgtgctaaaaaacgaaag
+gacggcataccatgaatatattcgatcactatcgccagcgatatgaagctgccaaggacg
+aagagttcacactgcaggagtttcttaccacttgtcggcaagatcgcagtgcttatgcca
+acgcggctgagcggctattgatggctatcggtgagcctgtcatggtcgatacagcccagg
+aacccagactttctcgactcttttctaaccgggtcattgcacgttatccggcgtttgaag
+agttttacggcatggaagacgcgattgaacagattgtctcttatctgaaacacgcggctc
+aggggctggaagagaagaaacaaatcctgtatctgctggggcctgtgggtgggggtaaat
+catcgcttgctgagcgactgaaatcattaatgcagctcgtaccgatttatgtattgagcg
+cgaacggtgagcgtagcccggtcaacgatcatccgttctgtcttttcaatccgcaggaag
+atgcgcagattctggaaaaagagtatggcattcctcgccgttatctcggcaccatcatgt
+cgccgtgggcggcaaaacgcctgcatgaatttggtggcgatatcactaagttccgggtag
+tgaaggtctggccgtcaattctgcaacaaattgctatcgccaaaacggaacccggcgatg
+agaacaaccaggacatctccgcgctggttgggaaagtcgatattcgtaaactcgaacact
+acgcgcagaatgacccggacgcctacggctattccggtgcgctgtgccgcgccaatcagg
+ggatcatggaattcgttgagatgtttaaagcaccgattaaagtgctgcatcccttgttaa
+ccgccactcaggaaggtaactacaacgggacggaaggtatctccgccctgccgttcaacg
+ggattattctcgcacactcgaacgagtccgaatgggtcactttccgtaataacaaaaaca
+acgaagccttcctcgatcgtgtttacatcgtgaaggtgccgtattgcttgcgcatttccg
+aagagatcaaaatctacgagaaattgcttaatcacagtgaattgactcacgccccatgcg
+cccctggcacgctcgaaacactgtcacgtttttccattctttcgcgcctgaaagagccag
+aaaactccagcatttattcaaagatgcgggtttatgatggcgaaagtctgaaagacaccg
+atcccaaagccaagtcgtatcaggaatatcgtgactacgccggtgtcgatgaagggatga
+acggtctgtcgacgcgttttgcgtttaagatcctctcccgcgtgttcaacttcgatcatg
+tagaagtggcagcaaacccggtccatctgttctacgtcctggaacagcagattgagcgcg
+agcagttcccacaagagcaggcagaacgctatctggagttcctgaaaggttatctgatcc
+cgaaatatgccgagtttatcggcaaagagatccagacggcctaccttgaatcctattccg
+aatatgggcaaaacattttcgaccgttatgttacctacgcggatttctggattcaggatc
+aggagtatcgcgatccggataccgggcagctgtttgaccgcgagtctcttaacgccgagc
+tggagaaaatcgagaaaccggcggggatcagtaatccaaaagatttccgcaacgagattg
+ttaacttcgtactgcgcgccagagcgaataacagcggacgcaatccgaactggaccagct
+atgaaaaactgcgcacggtcatcgagaagaaaatgttctccaataccgaggagctgttgc
+cggttatctcgtttaacgccaaaacgtcaaccgacgagcagaagaaacacgacgactttg
+tcgaccgtatgatggaaaaaggctacacccgtaaacaggtgcgtttactgtgcgaatggt
+atttgcgcgtacgtaaatcgtcttaacaaccctggcccggtacacatgttaccgggccta
+caacgacagcgaaccgtgggcctgagaagcggcaacacaggcgtagcatacagttggcaa
+atgtagtacggggggcatatgacctggtttattgaccggcgtctgaacggcaaaaacaaa
+agcatggtgaatcgccagcgttttttacgccgttataaagcgcaaattaaacagtcgatc
+tccgaggccattaataagcgttcggtgactgacgtcgacagcggcgaatccgtatccatt
+cccacggaagatattagcgaaccgatgtttcatcaggggcgtggcggtctgcgccaccgc
+gtgcatccgggcaatgaccatttcgtccagaacgaccgaattgaacgtccccagggtggc
+ggcggaggttccggcagtggtcagggccaggccagccaggatggtgaaggtcaggatgaa
+tttgtctttcagatttcgaaagatgagtatcttgatctgctctttgaagatttggcctta
+ccgaatctgaaacaaaaccaacaacgccagctgaccgaatataaaacgcatcgggcgggt
+tataccgctaacggcgttccggccaatatcagcgttgtgcgttcattgcagaactcactg
+gcgcgacgcacagccatgacggcaggcaagcggcgggaacttcatgcactggaagagaat
+ttggccatcatcagcaacagtgaacctgcgcaactgctggaagaggaacgtctgcgcaaa
+gaaattgcagaattacgtgccaaaattgaacgcgtcccttttattgacaccttcgattta
+cgttacaagaactacgagaagcggcccgatccctccagccaggcagtgatgttttgcctg
+atggacgtttccggttcaatggatcaatccactaaagatatggctaagcgtttttatatt
+ctgctgtatctgttcctcagcagaacgtataagaacgtggaagtcgtatacatccgccat
+catacccaggcgaaagaagtcgatgaacatgagtttttctactcgcaggaaacaggcggc
+accattgtttccagcgccctgaaactgatggatgaggtagtgaaagagcgttataacccg
+gcacagtggaatatttacgctgcacaagcatcggacggcgataactgggccgatgactct
+ccgctttgccatgaaatcctggcgaaaaaattattacctgttgttcgttattacagctat
+atcgaaattacccgtcgtgcacatcagacattgtggcgagaatatgagcatctgcaatct
+actttcgacaactttgcgatgcagcacatccgcgaccaggatgatatttatccggtgttc
+cgtgaactgtttcataaacaaaatgcaacagctaaaggctaaaactatcagccaggtcat
+tatcgcctggctgatttttagcttactgtaaattatctcatttattacatacattagctt
+acaatcgctttaaatatgacagcataacctttacataatttagttccagaaaacaatcat
+tcggaaaaatgattcagtcaacacgtatttccatggggttattctttaaatattttttat
+cgttaacgaaaattgatcctggtcaaaactatatatctctgccatcaataaaatccagca
+ctcacattgctctcctttttatggtttctatgggtacacaaaaattaaaagctcaaagct
+tttttattttcagtttattgctgacgttaattttattttgcattactaccttatataacg
+aaaacacaaatgtaaaactcatcccacagatgaattacctgatggttgttgtggctttgt
+ttttccttaacgccgtcatttttcttttcatgttaatgaaatatttcactaacaaacaaa
+ttttaccaacactcattttaagccttgcatttttaagtggccttatctatttagttgaaa
+ccattgtaattatccataaaccaattaacggcagtacactgatccagacaaagtcgaatg
+atgtttctattttctatattttccgccaactcagttttatttgtttaacctcgctggcgc
+tcttttgttatggaaaagacaacatccttgacaacaataagaaaaaaacgggaatcctgt
+tgctggcgctgatcccttttttagtttttccccttctggcacacaatctgagcagttata
+acgctgactattctttgtatgtcgtcgattactgtccggacaaccatactgcgacctggg
+gaatcaactatacaaaaatattggtttgtctgtgggcatttttactgttctttattatca
+tgcgcacacgattagccagcgaactatggccgttaatagcattattatgtctggcatcgc
+tatgctgcaacttacttctactgactctggatgagtataattatactatctggtatatca
+gtcgcgggattgaagtttccagtaaactgtttgttgtgtcttttctgatttataacattt
+ttcaggagctgcaactctccagcaaactggcagttcatgatgtgctgaccaatatttata
+atcggcgctactttttcaacagcgtagagtcattattgtcgcgacctgttgttaaggact
+tctgtgtcatgctggttgatattaatcagttcaaacgcatcaatgcccaatggggacatc
+gtgtgggtgataaagtgctggtttcaattgtcgatattatccagcaaagcatccgccccg
+atgatattttagcgcgactggagggtgaggtgtttggcttgctatttaccgaactcaata
+gtgcccaggcaaaaatcattgcggaacgtatgcgtaaaaatgtcgaactcctgaccggct
+ttagtaacagatatgatgttcctgaacaaatgaccatcagtattggcacggttttttcaa
+cgggtgacacgcgtaatatctcgcttgtcatgacggaagcagataaagccttacgcgaag
+cgaaaagcgaggggggcaacaaagtgattattcatcatatttaagtgcaaaaatattcag
+agccatgctttttgcgtggcttttgcatacaatttattactattacccctaaatttcccc
+tccccagcggcgcagagatgagtataattagcgcccctgtgccaggccgcaatcgaactt
+tatctggttttctcgtttcactaaccgaaggagtgccatttatcatgaaattgcaccata
+gaatgctccggcattttatcgccgcaagtgtcattgtgctgacatcttccttccttattt
+ttgaacttgtcgccagcgacagagcaatgagtgcctatctgcgctatatcgtgcagaaag
+cagactcctcctttctttatgataagtatcagaatcagagtattgccgcgcatgtgatgc
+gcgctctcgctgctgagcagtcggaagtgtcgccagaacagcggcgcgccatctgcgagg
+cttttgagtctgccaataacacccatggcttaaacctgactgcccataaatacccgggct
+tacgcggcacactacaaaccgcatccactgactgcgacacaattgtggaagctgcagcac
+tattacccgcttttgatcaggcagtggaaggcaaccgccaccaggatgattacggttcag
+gtcttgggatggccgaagagaaatttcactattatctcgatctcaatgaccgctatgtct
+atttttatgagccggttaatgttgaatactttgcgatgaataactggtccttcctgcagt
+caggaagtattggcatcgatcgcaaagatattgaaaaggtatttaccgggcgtaccgtat
+tgtcgagcatttaccaggatcagcgtactaaacagaacgtgatgagtttgctgacgccgg
+tatatgtcgcagggcagctaaaagggattgtgctgctggatattaacaaaaacaatctgc
+ggaatatcttttatactcatgaccgccctctcctctggcgttttctcaatgtcacgctaa
+ccgataccgattcggggcgcgacattatcatcaaccagagcgaagataatctgttccagt
+atgtcagttacgtccatgacttaccgggcggcattcgtgtctcgttatccattgatattc
+tttactttatcacgtcttcgtggaaaagcgttctgttctggattttgacggcgttaattt
+tgctgaatatggtgcggatgcacttccgtttataccaaaatgtgtcgcgagaaaatatta
+gtgatgcgatgactggactgtataatcgcaaaattttaacccctgaactggagcagcggt
+tgcagaaactggtgcaatccggttcttcggtgatgtttattgctattgacatggacaagt
+taaagcaaataaatgacaccctcggtcatcaggagggggatttagcgattacgttattag
+ctcaggcgattaaacagtcgattcgtaaaagtgattatgccatccgactcggtggcgatg
+aattctgcatcattcttgtcgattcgacgccgcaaattgcagcacaactgcctgaacgta
+tcgaaaaacgtctgcaacatatcgcgccgcagaaagagatcggcttctcttccggtattt
+acgcgatgaaagaaaacgatacgttacatgatgcgtataaagcttccgatgagcgtttat
+atgtcaataagcagaacaaaaacagccgttcatgataaccttctgtggttgtttgcttgt
+aatctcaggagcgtgaaatgactgaaatggctaaaggaagcgtgacgcatcagcggttaa
+tcgctttattatcacaagaaggtgctgacttccgcgtcgttacccatgaagcggtaggta
+aatgtgaagcggtgtcagaaattcgtggcaccgctctaggccagggtgctaaggcactgg
+tatgtaaagtcaaaggcaatggcgtaaatcaacatgttctggcgatcctcgcagccgatc
+aacaggccgatctgagccaactcgccagccatataggcggattacgcgcttcgttggcca
+gcccggcggaagtcgatgaactcacaggctgtgtcttcggcgcgatcccccctttcagct
+tccatccaaaactcaaactggttgccgaccctctactcttcgaacgatttgatgaaatcg
+ccttcaatgcaggcatgctggataaatccgttattttgaaaaccgcggattatttgcgca
+ttgcgcaaccagaactggtcaatttccgccgcactgcgtaactagccggtccgttcgata
+agaagaacggacaaaaccagtacaacagcaatggcaaaaaacgatgacgtgataatcagt
+gtctcgacaaacatttgatcgttcatagcatgcccccgggagatagctgttttcacgtta
+ttgttagcgtgcacaaatggcagtttgatgacagttcgcctgattttttatgcaaaaaac
+gtaaagattttctacttccttcctgcagcaagcgtaaagtaagcaggcttattatttttt
+ggcaaggaaaccacgatgtttgatgtcactttgctgatcctgctcgggttagctgcgctg
+ggctttatcagtcataacaccactgtcgccgtttcaattctggtgttaatcattgtccgc
+gtcacaccgttaagcaccttttttccgtggattgaaaaacaggggctaagtatcgggata
+atcattctgacgattggcgttatggcccccatcgccagcgggacgctaccgccctcaacc
+ttgattcactcgtttctgaactggaaatcactggtggcgattgcagtaggcgtgattgtc
+tcctggctgggtgggcgcggcgtgacgttaatgggcagccagccgcaactggtcgccggg
+ctgctggtaggcactgttttaggcgtagcgctgtttcgcggcgtaccggttgggccgctt
+attgccgcgggtctggtttcgctgattgtggggaaacagtagttaatctcgcaatatatc
+ggcctggcgtttgccccaggcctttcttaaacatagtaataaaggccgttgttgaatcat
+accccagcgtatgagcaactttctgtacagtatcgcctttcactaatccctgaagcgcca
+taatcagctgtaactgctgacgccactggcgaaaactcaaccccgtctcttttactatca
+gtcgggcaagattgcgttcactcatcgcaaaaaagccagcccattgccccaatgcccccc
+actcgacaggccctttcgccatcatctccaccatcgtgcggattttaggatgagaagaaa
+cgggcaggtgcagctgttgttgtggctgctgagggagttcatcaaacaggacctgaatta
+atctgcgggtcattggctcagcacgctgagtcgtcgtcctgtttgccagggttaaaatta
+attcccggcataagggcgatattttcaatgtgcaacatgttgtcggcattgtcactgcgc
+tgggttcgataaacagaaaacagagttcagcattagctgttacttgattgctatgttcca
+ccccgcccggtatccaaaccgcatattgtggcggcaccatccacaaagcattttccaccg
+tacaggtaattgcaccatgtagcgccagtatcagctgtcctttgcggtgctgatgtacag
+gactggttaactcatccgttccggcgtgaatacaaaatgcgaccgcggcttcatggtgtc
+ggtcgggttcatagccattgagattcaacctgtgcatcattttgtccgaacttagcgata
+atttgtcattttagcttgattcaacataacaataaaaacggtaaggtacagcctcgtttg
+taacaatgagaagcatatgacctgttcaacttcattaagcggcaaaaacaggattgtcct
+tatcgctggcattctgatgattgccacaacattacgcgtcacctttaccggcgcagcacc
+gttactggatacgattcgttccgcttactcgctgacgacagcgcaaaccggcttattgac
+caccctgccattattggcctttgcgctaatctcacctttggctgccccggtagcgcgacg
+ttttggtatggaacgtagcctgtttgccgcgttacttttgatctgtgctggtatcgcaat
+tcgctctctcccttcgccttacttattatttggcggtacagcggtcattggcggtgggat
+tgcattaggcaatgtcttactgccaggattaattaaacgcgatttccctcattccgtcgc
+cagacttaccggcgcatattccctgacaatgggagctgcagcggcactgggatcggctat
+ggtcgtgccgctggctttgaacggttttggctggcaaggcgcgttgctcatgctgatgtg
+ttttcctctgctggctctttttttatggctgccacagtggcgaagtcaacaacatgcaaa
+tttgagtacctcgcgcgccttacatactcggggtatctggcgttcaccgcttgcctggca
+ggtcacattgtttcttgggatcaactcactggtctattacgtgattattggctggcttcc
+ggcgatcctcatcagtcacggctatagcgaagcacaggcgggttcactgcatggtttgct
+gcaactagccacagcagcacccggtttgctgatcccacttttcttacatcatgtgaaaga
+tcagcgtggtattgcagcgttcgttgccttgatgtgcgcagtgggcgcggttgggctctg
+ctttatgccagcgcacgcgatcacctggactctgcttttcggttttggttccggcgcaac
+aatgatactggggttgacgttcattggtctgcgggctagttctgcgcatcaggcggcggc
+actctcggggatggcacaatccgtcgggtatttgttggcagcctgtgggccgccgctgat
+gggtaaaatacacgatgctaacggtaactggtctgtaccacttatgggtgttgccatact
+ttcactactgatggcgattttcggactttgcgccgggagagacaaagaaattcgctaata
+tccggtgctatagtgacgtaacaaatcatgcgtgaaagggagaacaaacacgatgaatat
+tcagtgcaaacgcgtttatgatccggctgaacagagcgatggttatcgcatactggtcga
+ccgcctctggccgcgcggtatcaaaaaaaccgatttagcccttgatgagtgggataaaga
+aatcacgccgtcaacggaactgcgcaaagcctttcacggcgaagtcgtcgattatgcaac
+ctttcgcgagcaatatcttgcagaactggcgcaacacgagcaagaaggaaagcggctggc
+ggacatcgccaaaaaacagccgctgaccctgctctactcagcaaaaaacaccacgcagaa
+ccatgcgctggtgctggccgactggctacgtagcttgtgattttagtacagcatccggcg
+gttatttttcaccagccggatggtcacgccgccacaatgcccattcatcaatcgtttcac
+cgcccggtaatttgcaattgttgctgaccccttgcgctgtctgcactggaatgagcgtcc
+cgcccttctgctggcaatagaccgacgccggatttgccataccaatctgcggcggtttag
+gtgcttctggctgagaaggggttgaacaaccagccaggaccagcaagcaaggcagaacaa
+aactgataattttcatttattgatctcacatatttatccaagattagagtatcgcggtat
+cgttttgttttgcagcactatttttattacattcactcaaaacatattacgtcttgtttc
+atctttgttgatgatgttttatcatgcctgcaaagattaaataatcagcatttacccgcc
+gtatcctggagttgttccgtgtcagatcagattatcgcccgcgtctcgcaatcccttgcc
+aaagaacagtcactggaaagtctggtccgacagcttctggagatgctggaaatggtcact
+gatatggaatcaacctacctgaccaaagtggatgtcgaagcgcgcctgcagcatattatg
+tttgcccgtaacagccagaaaatgtacatcccggagaattttaccgtctcgtgggattac
+tcgttatgcaaacgcgccattgatgaaaactgctttttcagcgatgaagtccccgaccgt
+tggggtgactgtattgcggcacgcaatcttggcatcaccacatttctgagcacgccaatt
+cacttaccggatggatcattctatggcacgctttgcgccgccagcagtgagaagcgccag
+tggagtgaacgcgcggaacaggttttacagttattcgccggactgattgcacaatatatt
+caaaaagaggcactggttgaacagctgcgcgaagccaatgctgcgctgattgcgcaatcg
+tataccgactcgttaaccgggctaccgaatcggcgggcgatttttgaaaatctgacgaca
+ctgttttccctcgcccggcatcttaaccataagataatgatcgcgtttatcgatctggat
+aacttcaaattaatcaatgatcgttttggtcataatagtggcgatctgtttctcattcag
+gttggcgagcgccttaatacgctccagcaaaatggcgaagttattggtcgtctcggcggt
+gatgagtttttagttgtttcactaaacaacgagaatgcggatatttcgtcgctgcgagaa
+cgcattcagcagcaaatacgtggagaatatcacttaggtgatgttgatttgtattatccc
+ggtgccagtcttggcatagtagaagtcgatcctgaaacaaccgatgcagacagtgccctg
+catgctgccgatattgcgatgtatcaggagaaaaaacacaaacagaaaacaccttttgtc
+gcgcatccagcgctacattcctgaggcgtattcacatccttttgattggtgataacatgc
+gaatcggtattatttttccggttgtaatcttcattacagcggtcgtatttttagcatggt
+tttttattggcggctatgctgccccgggagcataaagatgaaaaaaacaacgattattat
+gatgggtgtggcgattattgtcgtactcggcactgagctgggatggtggtaacgtcacct
+ctaaaaaatagcaaaggctgcctgtgtgcagcctttgtgcaatttaagcgttaactttta
+atcttcctgtagataaatagcacgacaatcgcaccaataacggcaaccacgaagctgcca
+aaattgaagccatcgactttaccaaagccaaacagcgtgctgatccatccgccgactacg
+gcaccgactatccccagcaggatagtcataaagaatccacctccatctttacctggcatg
+atccacttcgccagaataccggcaataagcccaaaaataatccatgacagaatgcccatt
+gtttcctcacttatctgttttgcattagcgggttagtcgctgataaaaagcatagcacaa
+catcgggagggcaagatttgtgacgagcatcacggaggttttttttgcgatggcgcagaa
+attgcgccatcaacgatcagtgataattaccaaccacaaacatcatgttcgttttccgtg
+tcataagaacgtacggtattcaccagatcttttatcacttcagccgccacttctggcacc
+agcaaagtcatcggcgtctctgtttcataatcgacagaaacgccattgctgttattggtg
+acggtcacggtatacgttgctttgcccatgattcatttcccgttatgaatgactttccgt
+tgttgcgcaccttccatcaggacttcaggagccacgaagaagtcaatgttgaaataagta
+tcgtcagtcatggcttcaatgttgtgccacttttctggagggaacaccgcaaactgcccc
+gcttcgataaggatcacctgatcaggctctgcactgtgttcatcagcgtagccgagatat
+ttgaccgccccatgcataacggaaaggcgtgggtaaacccccgggcgcgttcctttatca
+agatgacgttcgaatattccggcaggtgcagtttgtttattccagaaaggcgttgagcgc
+gtatgaatataattctgtgggatttgaagcatccttttccctccttcggtgaatgcgctg
+aaaacggtttattccagccgtttcagggtacgcctgataatttgcattttaaataccatt
+tattggttactttttagcaccatatcagcgaagaatcagggaggattatagatgggaagc
+ccgcgacaacgcgggctgaaagcatcaggattgcagcgtcgccagtcgggcagcgaaacc
+cacgaacatcaaaccaatcagtgagttgccaactttagccagtttctttttggtacgtat
+gtactgcgtgacaaaagcaccagatataatcaggaagctcaaatagcagaaactcaccag
+ttccagcgtcgccgccagaataaagaatgaaattcccgtatgtggggcattaacatcgat
+aaactgtacgaaaaacgacacatagaacaaaatggctttcggattagtcaggctcaaaat
+taacgcgcgtttaaaaatagcaccgtattggggctcatcggatttggcctcgctattttt
+acccttcagggtcgcgtaaagaattttactccccagatagagcaaataaaacgcaccaag
+ataacgtacaatgttgaataatatcggggtggtcttaattaatgtcgccactccagccca
+tgccagaaacatcaataccgcatcgccaataaatacaccgcaggccgcaagataaccgcc
+tttcataccgctactgacgctatttttgagtacaaacagggtatttggccctggcaccaa
+cacaataaaaatggccccaaccagataggtccagtaattcagaaccccgtattcagcgaa
+cacattaacctctttaattatctttcgatcatgcgcgattaaaggtgaatatgctaacca
+atctgtagcggcttagaaaggagaaaatcaggttttaacctgatatcaacccgataattg
+aatcattaatcaggcatgctccagtgaaaaattcgggtagtgctcggcaaaatactggcg
+taaaaattctaccgttatccgcactttcgctgacgtcgccagccttgaaacataaacggc
+ccagacgttcgctggctggtaatattccggtagcacttgcactaaatgaccactggcaat
+gttttcgctaacatcccaccaggaacgcagagcaatcccctgcccatcgagacaccactg
+atggacaatttctccatgattagacgacagtgggccggtgactttaatcgcatgggggcc
+ttctttattgcgtaattgccagacaccaaaaggatgatcgcgctctttaatgaccaggca
+cggcaatgcagaaagatcggttaaatgtttcggcgcgccatgttgcgcaataaattccgg
+cgacgcgcagagaatacggtaattggtcgccagtttgcgggcgattaaattaggggcgat
+gtcatcgccaatgcgaatatcgagatcgacaccttcattgaccaaatcgaccagtcggtc
+ttccacatcaaaacgtaattccagttgcggatacgccttcgccagcgctaataacgccgg
+agccaccacctgtcgtccaaaaccaaagctgctgataatacgcagcatcccctgcggcac
+ctgacgcacgtcagaaagttcgtccatcatctgaccgacatcctgcaaaatccgctgcgc
+ccattcataaatccgctctccttcttcggtaatggtgacgcggcgggtggtgcggtgtaa
+caacaccacgtttagcgtttgctccagcaaggcgatgcgcttgctgacgaacgccggtga
+aacgcccagttcttccgccacggcggcaaaaccagcccggcgagccaccagcataaagac
+gcgcaaatcattcagcagcggtaaattattcatgattcgtgttttatgtttcaccagtta
+cggggattaattccttttcagtcaattataggatggtgatgttgtcaattttgatggtca
+ggaagtgagaacccaatgatgaaaacgatgcgtattgctgcgatcccgggagacgggatt
+ggcaaagaagtccttcctgaagggattcgcgtgttacaggctgccgctgagcgctggggc
+ttcgccttgagttttgagcaaatggagtgggcgagctgcgagtattacagccatcacggt
+aaaatgatgccggacgactggcatgagcaacttagccgtttcgacgccatctattttggt
+gccgtcggctggccggataccgttccggaccatatttcgttgtggggttcgctgctgaaa
+tttcgtcgtgaattcgaccagtacgtcaacctgcgcccggttcgtctctttcctggcgtt
+ccctgcccgctggcgggaaaacagcctggcgacatcgatttttacgtggtcagggaaaac
+accgaaggcgaatattcctcgctcggcggtagagtgaatgaaggtacagagcatgaagtc
+gtcattcaggaatcggtatttacccgccgtggtgtcgatcgcattttgcgttatgccttc
+gaacttgcgcaaagccgtccacgtaagacactaacttctgccactaaatcgaacggttta
+gccatcagcatgccgtactgggatgagcgagtggaagcaatggccgagaattacccggag
+atccgctgggacaagcagcatattgatattctctgcgcgcgttttgtgatgcagccggaa
+cgattcgatgtggtggtggcgtccaatttgtttggcgatatcctttccgatcttggcccg
+gcctgcaccggcaccattggcattgccccatccgccaacctgaatccggaacgcactttc
+ccgtcgctcttcgagcctgtccacggttccgcgccggatatctacgggaaaaatattgct
+aaccctatcgccacgatttgggccggggcaatgatgctcgattttctcggcaatggcgat
+gagcgtttccagcaagcgcataacggtattctggcagcaattgaagaagtgattgctcac
+gggccgaaaacacctgatatgaaaggcaatgccaccacgccacaggttgccgacgcgatt
+tgcaaaattattttgcgttaaggtcaaaccagtttatttgaaccgcgtcactgacgcggt
+ttttttattcgttctttgcagtaaataacctgcgtcatttcaccttttattgtttccgtt
+tcgtgttttatggctttccgtattcttaattgtttaatttatgtaacatgcaaattttgt
+tacgcgtacgttaggttccgccgtacaggtattggttttgctggcaatgggactggtgat
+ttatttagccaccagtaaatacggcaatattcgtcttggcgaaggaaaaccggaatacag
+cacgctctcctggctgtttatgtttatttgtgccggtttaggttcttctacgctttattg
+gggggttgctgaatgggcctattattatcaaacacctggattaaatatcgcaccgcgttc
+acaacaggcactcgaatttagcgttccctactctttcttccactggggcatcagcgcctg
+ggcaacttatacgctggcctcattaatcatggcttatcactttcatgtgcggaaaaacaa
+aggtctgagcctttccggcattattgctgctattaccggcgttcgcccgcaaggcccatg
+gggaaaactggtcgatttgatgttcctgatcgccactgtcggcgcactgaccatttccct
+tgttgttaccgcagcaacctttacccgtgggctttccgcgctgaccggtttacccgataa
+cttcaccgtgcaggcatttgtgatcctgctttccggcggcattttttgcctaagctcgtg
+gattggtatcaacaacggtttgcaacgtctgagcaaaatggttggctggggcgcgttcct
+gctgccattactggtgctgattgtcggcccaaccgaatttattaccaacagcatcatcaa
+tgccatcggcctgaccacgcaaaacttcctgcaaatgagcttattcaccgatccgcttgg
+cgatggttcatttacccgcaactggaccgttttctactggctgtggtggatctcatacac
+ccctggcgtagcaatgtttgtcacccgcgtttcccgcggtcgtaagattaaagaagttat
+ctggggactgatcctcggcagcaccgtcggttgctggttcttctttggcgtaatggaaag
+ctatgccattcatcagtttatcaatggcgtaatcaacgtcccacaggtgctggaaacact
+gggcggcgaaacagctgtacagcaagttctgatgtcgttgccagccggtaaattgttcct
+cgccgcatacctgggcgtgatgattattttccttgcctcgcatatggatgcagtggccta
+caccatggcggcgaccagtacgcgtaatctccaggaaggtgacgatcctgaccgtgggct
+gcgtcttttctggtgcgtggtgatcactctgatcccgctttccatcttgtttaccggtgc
+ttcgctggaaacgatgaaaaccaccgtcgtgctcacagcccttcccttcctcgtcatttt
+actggtgaaagtcggcgggtttattcgctggctgaaacaggattacgccgacattccggc
+tcatcaagttgaacattatctcccgcagacaccggttgaagccctggaaaaaacgccagt
+gctccctgcgggaaccgtattcaaaggcgacaactgagcgccatcatcctaacgataaag
+gtatccctatgagcaatctgagccctgactttgtactacccgaaaatttttgcgctaacc
+cgcaagaggcgtggaccattcctgcccgtttttataccgatcagaacgcgtttgaacacg
+aaaaagagaacgtcttcgccaaaagctggatttgcgtcgctcacagcagcgaactggcga
+atgccaatgattatgtgacgcgtgagatcattggcgaaagcatcgtgctggtacgcggtc
+gtgataaggttttgcgcgcgttctataacgtgtgtccgcaccgtggtcatcagttgttga
+gcggtgaaggaaaagcaaaaaatgtgattacctgcccgtatcacgcatgggcattcaaac
+tcgatggcaacctggcccatgcacgtaactgcgaaaacgtcgccaatttcgatagcgaca
+aagcgcaactggttccggtgcgtctggaagaatatgccggattcgtcttcatcaacatgg
+accccaacgccaccagcgtagaagatcaattacccggcctgggcgcgaaagtgctggaag
+cctgcccggaagtccacgatctgaaactggcggcccgctttaccacccgcacgcctgcca
+actggaagaacattgtcgataactatctcgagtgctatcactgtggtccggcgcatccag
+gtttctccgactccgtacaggttgatcgttactggcacaccatgcacggtaactggacgc
+tgcaatacggtttcgccaaaccgtccgaacagtcgtttaaatttgaagagggtacggatg
+cggcattccacggtttctggctgtggccgtgcacgatgctgaacgtcaccccgatcaaag
+ggatgatgacggtcatttatgaattcccggtggattctgaaactaccctgcaaaactacg
+atatttacttcaccaatgaagagttaaccgacgagcaaaaatcgctgattgagtggtatc
+gcgatgtgttccgtccggaagatttacgtctggttgaaagcgtacagaaagggctgaaat
+cgcgtggctatcgtggtcaggggcgcatcatggccgacagtagcggtagtggcatttccg
+aacatggtatcgcccatttccataatctgctggcgcaggtgtttaaggactaatgacatc
+ggcggcggtattttccgccgctgggctgatttttgatggagtacagcaatgtcagactat
+caaatgtttgaagtacaggtgagccaggttgaaccccttaccgaacaggtgaaacgcttc
+acgctggtggcaaccgatggcaaaccattacctgcgtttaccggaggaagtcacgtcatt
+gtgcagatgagcgatggtgataaccagtacagcaatgcgtattcactactgagttcgccg
+catgacacctcttgttatcagattgccgttcggctggaggaaaactcgcgcggcggttcc
+cgctttttgcatcagcaggtaaaagtgggcgatcggttaacgatttcaacgcctaataac
+ctgtttgcgctaattccctcagccagaaagcatctgtttatcgcgggcggtattggtatc
+acccctttcctgtcgcacatggcagagctgcaacacagcgacgtcgactggcagctacat
+tactgctcgcgaaatccagaaagttgcgcatttcgtgatgagctagtccagcatccgcag
+gctgagaaagtccatttgcatcattcatcaaccggaacacgactggaattagcgcgatta
+ttggcggatatcgaacctggcacacacgtttatacctgtggccccgaggcgctaattgaa
+gcggtaagaagtgaagctgcgcgtctggacatcgccgccgatacgctgcactttgagcaa
+tttgctatcgaagacaaaaccggcgatgcatttaccctggtgcttgcccgttccggaaaa
+gagtttgtggtgccggaagagatgactattttgcaggttattgaaaataataaagccgcg
+aaagtggaatgtttatgtcgtgaaggggtatgcggaacctgcgaaacagcaatactggaa
+ggtgaagctgaccatcgggatcaatattttagcgatgaagagcgtgccagccagcaaagt
+atgttgatctgttgttcgcgtgcgaagggtaaacgcctggtgttggatttgtagtttgcc
+gaagccggatgtggcgctgagcgcgcccagtccggcttcggaagattttactgcggatat
+tcctgcaataaattgtgtaatgcttccgccatcagctcaccacgccagccggaaatcagc
+tccggcaaattgttctgcggtttcagtttccagtgccagttcagcagttggttgatttgc
+cgacgcgatgccagcaattcggcgctgatcttatgcgtttcgctcacgtcagtaatcagc
+gacttaatcgctttaaacgctttacgataacccggcatgtccatcaggttaagcatcggc
+tgcggtaaggcatcttccggcaatgtctgcgctttttccaccagcgctagcagcgtttta
+ccgtgaaagcggatttcgctaccggataaacccaggctgtccagttcgcctaaacttccc
+ggcatataacgcgctaccgaccacaaatgctcttcacgcacgacaaagttcaccgccaga
+tcgcgctctcgcgccttgcgcagtcgccagtcggctaacagttgcagacaggccagttgg
+cgtgtgcgtaattgccaggcattggtgatatcacgccaggcatcttccggcgcaacgact
+tcctgacgacgcatttgcatcaggcggcattcatccagcgccgcaggtagccagccggag
+gcctccgtttctaccataagcttggcggtgatcggtaacagataccagacatccgccgct
+gcgtattcacactgacgttcggtcagcggtctggccagccagtcggtgcgcgattcactc
+ttgtccagcgtaacgccggaatactcttccaccatggaagcgaaaccccatgacatcggg
+cgtccgcagaaggcagcaaggatttgcgtgtcaatcaagggttgtggtaattcgccaaag
+acattgaggaacacttccagatcttcactgcctgcatggagaaattttgtgatggacgga
+tcgcgcaggatcgctttcagcggtgaccagtcggtgatcccgagtggatcgattagcgcc
+agatgctcgccatcgaaaagttgaatcaaccccagctgcgggtaataagtgcgcgtacga
+acaaattcagtatccagggctatcgccggaaaggcacggacggcttcacacaaagaagcc
+agcgcatcgtccgtggtaatcatttggtaattcaaattgttttctctttagtgggcgtca
+aaaaaaacgccggattaaccggcgtctgacgactgacttaacgctcaggctttattgtcc
+actttgccgcgcgcttcgtcacgtaattctcgtcgcaaaatttttccgacgttagatttc
+ggtaactcatcacgaaactccaccagcttcggtactttgtatcccgtgagctgacggcgg
+caaaaagtcaccagtgactcttcggtaagcgatggatcttttttcactacgaagattttc
+accgcttcaccactggagccggaaggtacgccaacagccgcgacttcctgtacgccagga
+tgctgcatgacgacatcttcaatctcgttgggatagacgttaaaaccggaaaccagaatc
+atgtcttttttacgatcgacaatgcgcaggaatccttcttcatccattaccgcgatgtcg
+ccggtgtgtaaccagccatttttgatgatttcatcggtagcatcgggacgctgccagtaa
+cccagcatcacctgcggtcctttgacacaaagctcacccggttgacctggtggtacttca
+ttatcatcatcatccaccagtttggcttccgtcgacggcaccggcaaaccgatgctacca
+ctatgataatcaatatcatatgggttaacgctgaccagcggcgcacactcggtaaggcca
+tagccttccagcagatactgtccggtcagtttcacccaacgctctgccaccacttgctgc
+actggcatcccaccgcctgcggaaagatgcagactggagaaatccagctgctggaactct
+ttattgttcagcaacgcattgaacaaggtgttaacgcccgtgatagcggtaaacggatat
+ttcgctaactcttttaccaaccctggaatatcgcgcgggttagtgataagcaggttctgc
+ccacccagttcgataaacagcaggcagttaatggtcagggcaaaaatgtgatacagcggc
+agcgccgtcaccaccagctctttgcccggatgcaacagcggaccataggtcgcgttaacc
+tgttccaggttcgccagcatattgcggtgagtcagcatcgcgcctttcgccacaccagtg
+gtgccgccggtgtattgcagaaaagctaaatcttccggcaccagttcgggtttgacgtac
+tgcatccggtagccgttatgcagtgcgctacgaaatgaaatggcatctggcagatggtat
+ttcggcaccaaacgcttgatgtatttaacaacgaaattgactaccgtgccttttgccgta
+gatagctgatcgcccatacgggtcagaattacgtgctgaacggcggttttatcaaccact
+ttttccagtgtgtgagcaaagttagacacgataacaatcgccgatgcgccgctatcgtta
+agctgatgctcaagctcacgcggggtatacaacgggttaacgtttacgacgatcatcccg
+gcacgcaaaatgccaaacagcgccaccggatattgcaataaattaggcatcatcaacgca
+acgcgatcgcctttcttcagccccaacccttgttgcaaataagcggcaaacgcgcgactg
+cgttcttccagcttgcggaaggtcattacctcccccatattcacaaacgcaggttgatcg
+gcgtagcgcgcgaccgactgctcaaacatatctaccagagattgataacggtcagggttg
+atctccgtcggaacgtccgcgggataacggttaagccaaaccttcttcaattcttcacct
+ctaaaatgcgtgttcgtcgtcatcgcaaccccaaatgatatacatgccgttaacataata
+ttaactcatcataccagcttgataattacccaacgaaaaggttgcgaagcgcgtcactat
+ttatttttatctttaccgtaagaatgcagaaacagcggaccagccgctgtttctttttct
+ttaaaaacaagcaattattcagttacaactgtttgtactctcgcggggccgggattatac
+cagccccatccgccgtagccatagggccagccacgaccgccataaaaccatggatcaatc
+ggctgaggcggcataatcacctgctgggttaaatgccaacgtttgtaacccgttacttgc
+atcaccataaatttatagggcgtattgccgattttgccgtcaaccgcaccagtgattggc
+ccgactaccgtaaccagttgtccacggaaatccaccgggtccagaaaaccgttcacatcg
+gcataaatgcgaccgcgagaaggttctcccagcgtcggtctggctccgctgtccagcggt
+acggtagcaatttccaggcgagttttcccttgctggttttgtaccgcaaccactttgcca
+ccaaagcgtgcctcctgaccaacgtacagctgcggcgcactcatcacccgaactaaatct
+tgttgcggcgtgggactgctgcctttaatggcgtccggcacagtgacacaaccgctcagc
+attagcgcaaacgtacctgccagtatgcctttgataacattcttttgaaccgccatggtg
+cgactcctttttttctcagggcatactcttaagattcattctttgcccggaagtttcttc
+catgcgacgttgttacgtaaataaaccggttcggcatgttccaccgccaccgttttaccc
+tcagcaaacatctgacacgcaatcggcagcatatcttcagcagcaggcagtaacacttcg
+ccatcgcgcaaaaccagcccgctctctttaccgagatccggccaagcttgccagcccgtc
+cctaccgtcacccattcgccggaaagctgttgcattcgttcatggacgatttcgggtttg
+agtacggcttcggtttcttcaccgtgccagataccgttttcatcacgctgatattcggcc
+cagtaaacttcgcccattcgcgcgtcaatggctgccagcacgcgggttgcgccgtttttg
+cgccacgccccttgcgccatcgtcattagcgtggagacgccaatcatcggtaattccgcg
+ccaagcgccagcccttgcgcgatgccaataccaatgcgcacgccagtaaagctaccgggg
+ccgcgcccgtaagccagagcgttaatatcagtcagggaagttccgctggtggtcaggata
+tcctgcaccatcggtaagattcgttgagtatgttcacgagggcaaagctcaaaatgagcg
+ttgacagtaccgtcgttccacagggcgacagagcaggcctctgtcgcggtatcgatagcc
+agaattcgcatgggtcttcgtgcttagatcaataaaaaggcgcgcatcataccatactcc
+gtaacaaattacctggaggatggtatcgcaaggaaacgaaccgcacgggcaatgtcacgg
+gtgcgtggcgcgggcggcagactggcgagaaacgtcgcgccgtaaggacgcatcaccagc
+cgattgtcacaaatcaccagcacgccacgatcgtcggcgtcgcgaatcagtcgccctacc
+ccctgtttgagagtaatgacggcatctggtagttgcacttcatcgaacgggtcgccaccg
+cgcaaacgacaatcttccatgcgcgcttttaacagtggatcatccggcgaggtaaacggc
+aatttgtcgataattaccaatgacaatgtatcgccacgcacgtccaccccttcccagaaa
+ctgctggttgccacaagaagcgcattaccggcgctgacaaattgctgcaacagttgccct
+ttgctggtttccccctgcaacaatacaggaagcgtcatggtagcgcggaactgctcggcc
+agatcgcgcatcatggcgtgcgaggtacaaagcataaaacaacgaccgttgttagcttcg
+atgatcggtcgcagcattgccgctaactggcgagcagaacctggctggttggtttgcggc
+agattgcgcagcacacagagtaacgcctggcggctgtaatcaaatgggctgggcaacagc
+aacgactcggcctgttcgatgccaagccgcgaggtgaaatgatgcagatcgtcgttcacc
+gacagcgttgctgaggtgaagatccagctaccgggtttttgcgccattaactctttgaat
+ttatccgccacgctgagcggcgtgagagccagagtaaaatggcgcgaagtgcattcgtac
+cagtagctgtagcccggctgattgatctcttttagccgcttcagccgtgtgcgatacaac
+gtggcgcgctcaaatgccgcatccagcaaggcggaacgccccagtgacagtttcgccacg
+tcataacaaagttccagggtgtcatcgagcagtaaaaatgcccgctgaatttgcggatta
+gctaacagctcacgcaggttaccgcgataacctggctcaccgagttgcagacgaaaatcc
+tgcgcactctgggcaagacgatcagcgcacttttgtaactgctgggtgtcttttaattcg
+gtgcggtaggcgatggtgatgtcttttgccaggtcgagcagttgtcgactggagagtgac
+tgaccaaaatactggctggcaatgtccggtagctggtgggcttcgtcgaagatcatgacg
+tccgcttccgggatcagttcgccaaatccactctctttaaccaccatatccgccagaaag
+agatgatggtttaccaccaccacatcggcgtccatcgcttttttacgtgctttgaccaca
+aagcaatctttatacatcgggcagtcgctgccaagacagttgtcgttggtgctggtgacc
+agcggccacgcctgtgaatcttccgccacgctgacgcaggtgctgatatcaccatcgact
+gtttgattagaccaggagcgcagcaggatcacatcgcttaagatttgtaccggcagatcg
+ccccccgccagcgcctgctgttcgagacgttcgaggcagaggtagtttgagcgccctttc
+agcagcgccacgttgcccgtatatttcaatgcctttgagactgttggcaaatcgcggctg
+tagagctgatcctgcaacgcttttgagccggtcgagataatgactttctttttcgcccgc
+agcgcaggagccaggtaagcgtaggttttgcccgtaccggttcctgcttccaccaccagc
+ggctggcctttttctatcgcctgggtgacggctaccgccatctgtcgctgtggttctcgc
+ggcttaaagcctggtatcgctttcgccagctgaccgtctggtgcaaaatcgtccgtcaca
+ctaccccctgttgatttgaacagggattatgtcaggatgagggcgctttcgccagttgaa
+gtggtgacggcgacctcacattgtggcagtctttgcagcacgaaaatggaagtataatga
+ggacaaaatgatgactatcgttcgtatcgatgctgaagcccgctggtctgatgtagtaat
+ccacaacaacacgctctactacactggtgtaccggaaaacctcgacgccgatgcctttga
+gcaaaccgccaacacgctggcacagattgacgccgtgctggaaaaacagggcagcaataa
+atcgagcattctggatgccaccattttcctggccgataaaaacgacttcgcggcgatgaa
+taaagcgtgggatgcttgggttgtcgcgggtcatgcgccggtgcgctgcacggtacaagc
+gggtttgatgaacccgaagtataaagttgaaattaagattgtggctgcggtgtaagcttt
+atcgaagcaaaataagtcagacgataatttatcgataatactggtcggttttacataaat
+cgaccagagaataagatattactgttgatgcttctgctaattcattatttatatttataa
+tttcaattttatctataaaactaactatataaataaacataaacatgccgttgtgttcgc
+cctttgattagcaactctggttttctttcttagctgaacaatctggttatagcgtgcgga
+ctgaccgttaaatttctccatcttactggataacacaccatgagctgctacctttaaaac
+acctgaatgtcaacaggttaactcgtgccatatcgttataatccctttgatattagatgc
+aaattaaggtcatatatagccttatcgataacatggttaattttaaggataagaatatgc
+ctgctgtaatagataaagccctggatttcattggtgccatggatgtatcagcgccaacac
+caagttcgatgaatgaaagcacggcgaagggaatctttaaatatttaaaagaactgggag
+tacccgcgagtgccgctgatattacggcgcgagctgaccaggaaggctggaaccctgggt
+tcacggaaaaaatggttggatgggcaaaaaaaatggagacaggtgaacgttctgtgatta
+aaaatcctgaatacttttcaacatatatgcaggaagaactaaaagcactggtctgagtta
+aatttatatcagcataaatgggtcaggacgcttttaatcacatataaaaagcgtcctttt
+tctcacaatcaaatgatcatcggcttctataacgaaatcgatacggattagtgtgttact
+cgtcttcatcctcaaaacgcgccacgattcgctcgccggagtggttggcacgcagctctt
+ctgccaccagcgcgattgcctggccgctgctcatcccttgtgccatcagttcctggatcc
+gctcgacagctttttgctgctgttcatgggtgagtgaaggtaaacctgcaaacattgtta
+actcctgctaaattgttggcgctaattatttcatgctacccggcacatagccagtagagt
+caggactgatgaagacgttatctcccgctgtgattactttactctggcgtcaggacgccg
+ctgaattttatttctcccgcttaagccacctgccgtgggcgatgcttttacactccggct
+atgccgatcatccgtatagccgctttgatattgtggtcgccgagccgatttgcactttaa
+ccactttcggtaaagaaaccgttgttagtgaaagcgaaaaacgcacaacgaccactgatg
+acccgctacaggtgctccagcaggtgctggatcgcgcagacattcgcccaacgcataacg
+aagatttgccatttcagggcggcgcactggggttgtttggctacgatctgggccgccgtt
+ttgagtcactgccagaaattgcggaacaagatatcgttctgccggatatggcagtgggta
+tctacgattgggcgctcattgtcgaccaccagcgtcatacagtttctttgctgagtcata
+atgatgtcaatgcccgtcgggcctggctggaaagccagcaattctcgccgcaggaagatt
+tcacgctcacttccgactggcaatccaatatgacccgcgagcagtacggcgaaaaatttc
+gccaggtacaggaatatctgcacagcggtgattgctatcaggtgaatctcgcccaacgtt
+ttcatgcgacctattctggcgatgaatggcaggcattccttcagcttaatcaggccaacc
+gcgcgccatttagcgcttttttacgtcttgaacagggtgcaattttaagcctttcgccag
+agcggtttattctttgtgataatagtgaaatccagacccgcccgattaaaggcacgctac
+cacgcctgcccgatcctcaggaagatagcaaacaagcagtaaaactggcgaactcagcga
+aagatcgtgccgaaaatctgatgattgtcgatttaatgcgtaatgatatcggtcgtgttg
+ccgtagcaggttcggtaaaagtaccagagctgttcgtggtggaacccttccctgccgtgc
+atcatctggtcagcaccataacggcgcaactaccagaacagttacacgccagcgatctgc
+tgcgcgcagcttttcctggtggctcaataaccggggctccgaaagtacgggctatggaaa
+ttatcgacgaactggaaccgcagcgacgcaatgcctggtgcggcagcattggctatttga
+gcttttgcggcaacatggataccagtattactatccgcacgctgactgccattaacggac
+aaattttctgctctgcgggcggtggaattgtcgccgatagccaggaagaagcggaatatc
+aggaaacttttgataaagttaatcgtatcctgaagcaactggagaagtaagacgtggaat
+accgtagcctgacgcttgatgattttttatcgcgctttcaacttttgcgcccgcaaatta
+accgggaaaccctaaatcatcgtcaggctgctgtgttaatccccatcgtccgtcgaccgc
+aaccggggttgttgctgactcagcgttcgattcatctgcgtaaacacgctggacaagtgg
+cattccctggaggtgcagtcgatgacacggacgcatcagctatcgccgccgcgctgcgcg
+aagctgaagaagaggtcgctataccgccttccgccgttgaagttatcggcgtgctgccgc
+ccgtcgatagcgtcactggctaccaggtaaccccagtggtcggcattatcccgcccgatc
+tgccgtatcgcgccagtgaagatgaagtctcggcggtgtttgaaatgccgctcgcccagg
+cattacatctgggtcgttatcaccctttagatatctaccgccgtggtgattcacatcggg
+tatggctgtcctggtacgaacagtattttgtatggggaatgaccgcaggcataattcgtg
+agctggcgctgcaaattggtgtgaaaccctgactatacttatctttacatctacaaaaca
+ctacttgagacaatcatcgcaatattagttaaatcgcggtttttgattagtttaattcat
+gtgaatagttaagccagtcgccgcgttccctcttacactatgcgctgttattagttcgtt
+actggaagtccagtcaccttgtcaggagtattatcgtgattagtctattcgacatgttta
+aggtggggattggtccctcatcttcccataccgtagggcctatgaaggcaggtaaacagt
+tcgtcgatgatctggtcgaaaaaggcttactggatagcgttactcgcgttgccgtggacg
+tttatggttcactgtcgctgacgggtaaaggccaccacaccgatatcgccattattatgg
+gtcttgcaggtaacgaacctgccaccgtggatatcgacagtattcccggttttattcgcg
+acgtagaagagcgcgaacgtctgctgctggcacagggacggcatgaagtggatttcccgc
+gcgacaacgggatgcgttttcataacggcaacctgccgctgcatgaaaacggtatgcaaa
+tccacgcctataacggcgatgaagtcgtctacagcaaaacttattattccatcggcggcg
+gttttatcgtcgatgaagaacactttggtcaggatgctgccaacgaagtaagcgtgccgt
+atccgttcaaatctgccaccgaactgctcgcgtactgtaatgaaaccggctattcgctgt
+ctggtctcgctatgcagaacgaactggcgctgcacagcaagaaagagatcgacgagtatt
+tcgcgcatgtctggcaaaccatgcaggcatgtatcgatcgcgggatgaacaccgaaggtg
+tactgccaggcccgctgcgcgtgccacgtcgtgcgtctgccctgcgccggatgctggttt
+ccagcgataaactgtctaacgatccgatgaatgtcattgactgggtaaacatgtttgcgc
+tggcagttaacgaagaaaacgccgccggtggtcgtgtggtaactgcgccaaccaacggtg
+cctgcggtatcgttccggcagtgctggcttactatgaccactttattgaatcggtcagcc
+cggacatctatacccgttactttatggcagcgggcgcgattggtgcattgtataaaatga
+acgcctctatttccggtgcggaagttggttgccagggcgaagtgggtgttgcctgttcaa
+tggctgctgcgggtcttgcagaactgctgggcggtagcccggaacaggtttgcgtggcgg
+cggaaattggcatggaacacaaccttggtttaacctgcgacccggttgcagggcaggttc
+aggtgccgtgcattgagcgtaatgccattgcctctgtgaaggcgattaacgccgcgcgga
+tggctctgcgccgcaccagtgcaccgcgcgtctcgctggataaggtcatcgaaacgatgt
+acgaaaccggtaaggacatgaacgccaaataccgcgaaacctcacgcggtggtctggcaa
+tcaaagtccagtgtgactaatacttcttactcgcccatctgcaacggatgggcgaattta
+tacccgctttctcgtctgctgtaatattccccactacacttccactgttgcgtcaggcgt
+ttgtcgccatacgcttacagggtggcccgcatgcaaaaagcacaacggatcattaaaacc
+tatcgtcgtaatcgaatgattgtttgtacgatttgcgcactcgttacgctcgcttcgacc
+ctgagcgtgcgatttatttcacagcgtaacttaaatcaacaacgggtagtacaattcgcc
+aatcacgctgtagaggaattagataaagtactgcttcccctacaggcaggtagcgaagtc
+ttgcttccgctgattggtctgccctgctctgtcgcccatttgccattacgtaaacaggcg
+gcaaaactccaaactgtgcgatccattggcctggtgcaagacggcacactttattgctcc
+agcatttttggttatcgcaatgtgcccgtcgtggacattctggctgaacttcctgcaccg
+caaccacttttacgcctgacgatcgaccgtgccctgattaaaggcagtccggttttgatt
+caatggacgcctgcagcgggcagtagcaatgctggggtcatggagatgattaacatcgac
+ttactgacggcaatgctgcttgagccacaactgccgcaaatcagtagcgccagcctgacg
+gtggacaaacggcatttgctctatggtaatgggctggtagattcccttccgcaacctgaa
+gacaatgaaaactatcaggtttcttcgcaacgctttccttttaccattaacgttaatggt
+ccgggggctacggcgctggcatggcactatcttccaacacaattaccgctggcggtgctg
+ctaagtttactggtgggctacatcgcctggctggcgaccgcttaccgaatgagcttttcc
+cgcgaaatcaatctgggcctggcgcaacatgagttcgaattgttctgtcagcctttgctt
+aatgcgcgcagccagcaatgtattggtgtagagattttgctgcgctggaacaatccgcgt
+cagggctggatttcaccggatgtgtttattcctatcgcggaagaacatcatttaattgtg
+ccactgacccgctatgtgatggcagaaaccattcgtcagcgccatgttttcccgatgagt
+agtcagtttcatgttggcattaacgtcgcacccagccattttcgccgtggtgtgctgata
+aaagatctcaatcagtactggtttagcgctcacccgattcagcaactgatcctcgaaatc
+accgaacgcgatgccttactggatgttgattatcggattgcccgcgagctgcatcgtaaa
+aacgtcaaactggcgattgatgacttcggcaccggcaacagctcgttttcctggcttgaa
+acattacgtcctgacgtgctgaaaattgataagtcatttaccgcagctataggttctgac
+gcggttaactcgacggtgaccgatatcatcatcgcgctggggcaaagactgaatattgaa
+ctggtggcggagggcgtggaaacgcaagaacaggcgaagtatttgcgccgtcatggcgtg
+catattttgcaagggtatttgtacgcacagccgatgccgctacgtgattttcccaaatgg
+ctggcgggcagccaaccgccgcccgcccggcataatggacatatcacgcccattatgccg
+ttacgttaacgcttactcatcttcatcgtgcgccggttgctctttaacaatgcgaaccag
+atcaacacgataatcattggcttcaatgatggtgatatgcagtggccctacatcaatcac
+atcgcccacacggggaatgtgaccatttgccgagatcacgaggcccgcgaccgtcgcgat
+atcatcgtcatcggcaaggtgctcaacatcaagcgcctgctgcaaggcatgcaaatctgt
+accgccttttaccagccagccgtcaccatcagtaatgatttccggcgtttcgtcagcgtc
+cgggaattcacccgcaatggcttccagcacatccagcggcgtgaccagaccttgtaccac
+accaaactcgttggtcacgataacaaagctcccgcgagcacgacgcagcacgcccaacag
+gttgatcggatcgagggtttccgggacgataatcgccggagacgccgaagcaatcgccgc
+cacatcaacgccctcttccagcgccaccagcagttctttagcacgtacaataccgatgat
+ttcatccagttcaccgcgacataccgggaacagactgtgcggtgaagagagcagttgctc
+gcggatttcatcgaccccgagattagcgtcaacccagcttatttcaccgcgcggcgtcat
+gatcccgcgcagagaacgcgacgccagcgtcagtacgccgttaatcatgtaacgttcttc
+ttcggcaaatgcaccttccgggatcggcatcggcatcgggttatcggcatcgtgctgaac
+attggcctgacgtttcccgcccatcaaacgcaggatggcatcggcagtacgcgctcgcag
+cggcaaagtcgactggtggcgaataaagttgcgacgcgcaatctggttaaacacttcgat
+gatgatcgagaagccaatcgcggcatacaggtaacctttcggaatgtggaaaccgaaacc
+ttctgccaccagactcagaccaatcattaacaggaagctcagacagagcaccaccaccgt
+ggggtgctggttaacgaatcgcgtcagcggtttggatgccagcaacataaccgccatcgc
+aatcactaccgccgccatcatcaccggcagatggttaaccatccctactgcagtaattac
+cgcatccaacgagaagacggcgtcaaggatgacaatctgtgtgacgaccacccagaaact
+ggcgtagcctttaccgtggccggaatcatgatcgcggttttccagccgttcatgcagttc
+ggttgttgctttgaacagcaagaatatccccccgaacaacataatcaggtcgcgtccgga
+gaaggagaaatccatgacggtaaatagcggtttggtcagcgtgaccatccatgaaatcag
+cgacagcagccccagacgcataatcagcgccagtgataaccccagcaaacgcgctttatc
+gcgttgttttggcggcagtttgtcagcaagaatggcgatgaagaccaggttatcgatacc
+cagcacaatttcgagaacaacaagcgtgagtagccccgcccaaattgaggggtccattaa
+gaattccatgacaagctcctgcttaaggaatagctattcgacgccagaaataatgcaggc
+gtaacgacaaaatgcaaacgaaaggtgcggcatagagtgccagaaaggcaggcgttaaaa
+ggcctgatgctgaaatgacgtcggtgacgatccatactgcgggctactgccctatactcc
+atggttgttaaacgggagttaaacatatcagagacgcctctgatttggcaaagatttacc
+ttcctttgcaaacgaatgtgacaaggatattttacctttcgaaatttctgctaatcgaaa
+gttaaattacggatcttcatcacataaaataattttttcgatatctaaaataaatcgcga
+aacgcaggggtttttggttgtagcccttatctgaatcgattcgattgtggacgacgattc
+aaaaatacatctggcacgttgaggtgttaacgataataaaggaggtagcaagtgaccatt
+gctattgttataggcacacatggttgggctgcagagcagttgcttaaaacggcagaaatg
+ctgttaggcgagcaggaaaacgtcggctggatcgatttcgttccaggtgaaaatgccgaa
+acgctgattgaaaagtacaacgctcagttggcaaaactcgacaccactaaaggcgtgctg
+tttctcgttgatacatggggaggcagcccgttcaatgctgccagccgcattgtcgtcgac
+aaagagcattatgaagtcattgcaggcgttaacattccaatgctcgtggaaacgttaatg
+gcccgtgatgatgacccaagctttgatgaactggtggcactggcagtagaaacaggccgt
+gaaggcgtgaaagcactgaaagccaaaccggttgaaaaagccgcgccagcacccgctgcc
+gcagcaccaaaagcggctccaactccggcaaaaccaatggggccaaacgactacatggtt
+attggccttgcgcgtatcgacgaccgtctgattcacggtcaggtcgccacccgctggacc
+aaagaaaccaatgtctcccgtattattgttgttagtgatgaagtggctgcggataccgtt
+cgtaagacactgctcacccaggttgcacctccgggcgtaacagcacacgtagttgatgtt
+gccaaaatgattcgcgtctacaacaacccgaaatatgctggcgaacgcgtaatgctgtta
+tttaccaacccaacagatgtagagcgtctcgttgaaggcggcgtgaaaatcacctctgtt
+aacgtcggtggtatggcattccgtcagggtaaaacccaggtgaataacgcggtttcggtt
+gatgaaaaagatatcgaggcgttcaagaaactgaatgcgcgcggtattgagctggaagtc
+cgtaaggtttccaccgatccgaaactgaaaatgatggatctgatcagcaaaatcgataag
+taacgtattgtgttgattatcactcagttttcacacttaagtcttacgtaaacaggagaa
+gtacaatggagattaccactcttcaaattgtgctggtatttatcgtagcctgtatcgcag
+gtatgggatcaatcctcgatgaatttcagtttcaccgtccgctaatcgcgtgtaccctgg
+tgggtatcgttcttggggatatgaaaaccggtattattatcggtggtacgctggaaatga
+tcgcgctgggctggatgaacatcggtgctgcagttgcgcctgacgccgctctggcttcta
+tcatttctaccattctggttatcgcaggtcatcagagcattggtgcaggtatcgcactgg
+caatccctctggccgctgcgggccaggtactgaccatcatcgttcgtactattaccgttg
+ctttccagcacgctgcggataaggctgctgataacggcaacctgacagcgatttcctgga
+tccacgtttcttctctgttcctgcaagcaatgcgtgtggctattccggccgtcatcgttg
+cgctgtctgttggtaccagcgaagtacagaacatgctgaatgcgattccggaagtggtga
+ccaatggtctgaatatcgccggtggcatgatcgtggtggttggttatgcgatggttatca
+acatgatgcgtgctggctacctgatgccgttcttctacctcggcttcgtaaccgcagcat
+tcaccaactttaacctggttgctctgggtgtgattggtactgttatggcagtgctctaca
+tccaacttagcccgaaatacaaccgcgtagccggtgcgcctgctcaggcagctggtaaca
+acgatctcgataacgaactggactaacaggtgagcgaaatggttgatacaactcaaacta
+ccaccgagaaaaaactcactcaaagtgatattcgtggcgtcttcctgcgttctaacctct
+tccagggttcatggaacttcgaacgtatgcaggcactgggtttctgcttctctatggtac
+cggcaattcgtcgcctctaccctgagaacaacgaagctcgtaaacaagctattcgccgtc
+acctggagttctttaacacccagccgttcgtggctgcgccgattctcggcgtaaccctgg
+cgctggaagaacagcgtgctaatggcgcagagatcgacgacggtgctatcaacggtatca
+aagtcggtttgatggggccactggctggtgtaggcgacccgatcttctggggaaccgtac
+gtccggtatttgcagcactgggtgccggtatcgcgatgagcggcagcctgttaggtccgc
+tgctgttcttcatcctgtttaacctggtgcgtctggcaacccgttactacggcgtagcgt
+atggttactccaaaggtatcgatatcgttaaagatatgggtggtggcttcctgcaaaaac
+tgacggaaggggcgtctatcctcggcctgtttgtcatgggggcattggttaacaagtgga
+cacatgtcaacatcccgctggttgtctctcgcattactgaccagacgggcaaagaacacg
+ttactactgtccagactattctggaccagttaatgccaggcctggtaccactgctgctga
+cctttgcttgtatgtggctactgcgcaaaaaagttaacccgctgtggatcatcgttggct
+tcttcgtcatcggtatcgctggttacgcttgcggcctgctgggactgtaagactgttgta
+cactaccggggccttttggccccgtttttttatctggaggattaatgacaatcacggacc
+tggtactgattcttttcatcgccgcactcctggccttcgcgatctacgatcagttcatca
+tgccccgccgtaacggccccaccctgctggcaattcctttgctccggcgtggtcgcatcg
+atagcgttatcttcgtcggattgattgtcattcttatctataacaacgtcacgaatcatg
+gtgcgttaataacgacatggttattaagcgcactggctctgatgggtttttatatattct
+ggatccgcgttccgaagatcatctttaaacaaaaaggttttttcttcgccaatgtctgga
+ttgaatatagccgaatcaaagcgatgaacttgtcggaagatggcgtgttggtgatgcaat
+tagaacagcgtcggctgttaatccgcgttcgaaatatcgacgatctggaaaaaatttata
+agcttctcgtttcaactcaataagttatgaatttagccaaagctatgtttagtgtatttt
+taataatcagacatagcttaggctatattacctcttcccttatttgttatttattttaac
+gtttcattgatatataaatccaaatgaaaatcgttatcaataaagcaatgaaataatata
+ttccaacagttgttttatattctcaaaatatgttaaggttgcgccctcatttggggagta
+gccgatttccagattccggaaatgtacgtgtcaacatactcgttgcaaaacgtggcacgt
+acggactgaatactttcagtcaggcgagaccatatgcacatcaatcgctatgcctgcatg
+aacgcgaaaaccatcacggcttgttgttcatgtatgcatgtttgctgggggcgatgatgt
+gttttatggataccccggtcaggacattgtcatgaatatcactgctactgttcttcttgc
+gtttggtatgtcgatggatgcatttgctgcatcaatcggtaaaggtgccaccctccataa
+accgaaattttctgaagcattgcgaaccggccttatttttggtgccgtcgaaaccctgac
+gccgctgatcggctggggaatgggcatgttagccagccggtttgtccttgaatggaacca
+ctggattgcgtttgtgctgctgatattcctcggcgggcgaatgattattgagggttttcg
+tggcgcagatgatgaagatgaagagccgcgccgtcgacacggtttctggctactggtaac
+caccgcgattgccaccagcctggatgccatggctgtgggtgttggtcttgctttcctgca
+ggtcaacattatcgcgaccgcattggccattggttgtgcaaccttgattatgtcaacatt
+agggatgatggttggtcgctttatcggctcaattattgggaaaaaagcggaaattctcgg
+cgggctggtgctgatcggcatcggcgtccagatcctctggacgcacttccacggttaata
+agaacgctgccagaggtgaatattaaagtccgtctggcagtcgaacacttcttttgctgc
+cagtgtttgccagacttctggcttcgcacgccaggcaaacggcgtcatctgcaataatgc
+gacggcttcatcaccgcgaagacgcatcggataacacaactccgcactctgctgtaatgt
+aaaaccttccagttgttctgcatgaggtgcatgaagatgtacttcattgtaaatcagccc
+cttcagctccatcaaatgtcgcggtcccggcgtggcagtaatgacccagccgccgggctt
+cactactcgtgctaattcttctgctttacacggcgcgtaaatacgtattatggcgtccat
+actggtatcggaaaacggcaaacggtggctggaagcgacacaaaaagtgacctgcggata
+gcgtttcgccgccgcttttatcgctaccttcgaaacatccagaccaaacgtggtgatttc
+gggcaacgcatcggcaaatgcgtgtgtgtaatacccttcaccacagccaatatccagcac
+cgccgtggccttatcatcaagccgttccctcagttgggcgacaattgcatcacgcagcgg
+ctgataatgtccggcatctaagaatgcgcggcgtgcttgcatcatttccgcgctgtcgcc
+cggatcacgagaccgtttatgctgaacgggcagcagattgacatacccttctttcgccat
+atcaaactgatgtcgctggggacagatatagctgtttttttcacgcgaaagaggctgatg
+gcaaagtggacaggaaaaagacatgacaactccggcaggatactaaaggccgcaagtgta
+acgcgaatcacgcggcgggcaaatatccgaacgccaggagcgaagataaagcatagtaaa
+aagcctcgcattcgacgaggctttatagcgagattgaagcgtattcacacttcagatcag
+tggattcgatcagatagctgttacgttaacagctgccggacctttctggccgtcctgaat
+ttcgaactcaacgttctgaccttcagccagagttttgaagccattaccctggatagcgga
+gaagtgtacgaacacatctttgctgccatcagccggagtaatgaagccaaaacctttaga
+ctcgttgaaccacttaacctgacctttaatctttgccatttgaaaaattccttagattgt
+tttcttcgcccgcaggcataacatagataaaactgacacattactgcatgaggcaccaat
+ataaggctcggcagagaagcggtattcaacgtcaacgtgtttactcaggacttctttact
+gaaaatgccacacataaacagaactgtacctcgtttaacccgaaatctgttatcacatac
+aacgttaattatggcaagccatttttaaacatgtctcgatcagacgcacaaatctcgata
+cgtcttccactttttttgcacacttatgcaacggaatacgcgccgatatatcattgtgct
+taaccttgccagttcaggcagatacttaaactggcgtattttctaacatagttcaataag
+ttcagttgttccaggccagtgggagaagttattacatagtgcgtgcaatatcacattttt
+tgctatgcaatgaataaaaagttatatcactttttctcataaaacagtcagttaacggct
+attaattaccctaaagagaagtcaatccccaaagggattgtaaatttaaaataagaaaaa
+ttgatgaatgagcaaaaaaatcaagagagaaacgtttcgctaataaataataccacgctt
+aatcacaaatccgatgtaaacatcctaataaattaatggggtaaatatctttttctgata
+tcccgttacgcaaataaataatatgataattatttgaagtcagaccagagttttaatttg
+aagcagttgcaccatgacagtgcgtataatcaggatgaattgagtaacccttcaacgacg
+gggttactcaagattgaggaaggattatcgttcggcgaccagacgaataatatcttcgtc
+ttcaaccgatttttgactctcaacggtctttttatctgctttctctggttcgtttgcttc
+gcacaaacgacgtaacagtgcattttgacgtttttgctgatccagcaacgcctcaagcag
+ttcaatctgttcgttagtccgtgaactggcacgattgataaaaaaccacaagatgagccc
+gataagaagaaccaccaccgatacaaccaaagacgcaatgttcatcacgcctgaatttac
+aacttcgttcatttcaccacctctgagtagaggcgctattctaccactgctggagaggaa
+gaaaatctagtgctgaaaaaatgatatcaccacgggataaactggttaatggcacaaatt
+ccgctgaaaaattgtacatcctgatcgcacatcatgttgaatacctgcgcccaaagcagc
+aagcaagccaacaccacgacaaccagaacgacccatcgaaactttttcactccaatctcc
+gtttcacctaccttatgtcattaaactagcatgcgttagttaaacagcgcctaactatgt
+cgatattcgtgctttttcggaatgagtcgcttgcttcagcgcatattgccgctacgatta
+agcgaacataaaaagagaagaggttgtaatgcgattcatcattcgcacagttatgctgat
+agcactggtatggataggattattactcagcggatatggcgttttgattggaagcaaaga
+gaatgccgcaggattaggtttgcaatgtacctatctgactgccagaggcaccagcacggt
+acaatacttgcacactaaaagtggttttttggggataacagattgcccgctgttacgcaa
+aagcaatatcgtggtcgataatggttaagggcaataaataaccagattctcactcctgag
+taaaatactcttatagcaagcgcgtttaatataacgccaccttcaactttatttttctca
+tgctaaataaagaacctgtctgtttgatattccgacaggttcttactctcatcagaacgg
+atagtcgtgataacccatttgggcagaaattttgcgcgctgcggtatgcaacattgcgac
+atattcctgtaaacgctcttcagagaaacgcaacgtcgggaaggagatgctcaaaccggc
+aatgaccacgccaaagcgatcaaataccggtaccgcaatgcatcgcagcccttcttcctg
+ctcttcattatcttcgccatacccctgctcgcgcacctggtccagaacgggtaataacgc
+ttctgtactggtgatggtccgctcggtactgcgtttatactccacgccctcaagaatttg
+cttcacttcatcgcgatcgcgccatgccagcagtaccttaccaatcgcggtgctgtacag
+cggattacgacgcccaatccgtgaatacatgcgcaaattgtacatagagtcaattttgtg
+aatgtaaacaatactgtcttcgtccagtgcgccgaggtggatagtttctttggtcaggcg
+ggagagctcacgcatctggatatctgcgctacgaattaaatcgacgttttgtaacgcgcg
+agcgcccagttcaaacaatttcagggtcagggaatatttctccgactccccttcctgcgc
+cacataacctaaggttttcatggtctgtaaaaagcgataaacggtgctttttgacatcat
+gacgcgctgcgacagctcggttatccctatttcgcgctcttcacccagcgcctgcaaaat
+gccaaaaacttttagcacggaagatacagaatcaggctgtttatccagatctgcgttagc
+catttatcacctcattgcgagtgttttataaaaatcagaactgttttttattataatttc
+gcaccagggtggtcgcaatccatcttttgccggttagttacaattctgcgacatccaccg
+tgaatatcagtgctagaatcatacccctgttgattattcaccaaagatataaaattccta
+tgccaaaagttcaggccgacggcctgccattgccccagcgatacggtgcgatattaacca
+ttgtgattggtatttcgatggccgtccttgacggcgcaatcgccaacgtcgccctgccaa
+caatcgccacggaccttcatgccacgccagccagttccatctgggtagtgaacgcctatc
+aaatcgccattgtcatctccctgctctcgttttcgtttctgggcgatatgtttggctatc
+gacgtatttataaatgcggtctggtcgtttttctgttgtcttcactgttctgcgcccttt
+ctgattcgctgcaaatgctcacccttgcgcgtgtcatacaaggtttcggcggtgcagcgt
+tgatgagcgttaataccgcacttatccgcctgatctatccacaacgttttctgggtagag
+ggatgggcataaactcgtttattgttgccgtctcttctgctgccgggccgacaattgctg
+cagcaatcctctccatcgcatcctggaaatggttatttttaatcaacgtaccgttaggta
+ttatcgccctgcttctggcgatgcgttttctgccacccaatggttctcgcgccagtaaac
+cccgtttcgacctgcccagcgccgtgatgaacgcgttaaccttcggcctgcttatcactg
+cgttgagtggtttcgctcaggggcaatcgctgacgttaattgctgcggaactggtggtaa
+tggttgttgttggtattttctttattcgccgccagctttctcttcccgtaccgctgctac
+cggtggatttactgcgtatcccgctgttttcactttctatttgcacatctgtttgctctt
+tctgcgcacaaatgctggcaatggtttccctgcccttttacctgcaaaccgtgctcgggc
+gtagtgaagtcgaaacaggtttacttctgacaccgtggccgttagcaacgatggtgatgg
+ctccgctggcaggctatttgattgaacgcgtacatgcaggattgctgggggctttagggt
+tgttcatcatggctgcggggcttttttccctggttctgctgcccgcgtcacctgcggata
+tcaatattatctggccgatgatcttatgtggtgctggatttggcttattccagtcaccca
+ataaccacaccattattacctccgcgcctcgcgaacgtagcggtggagccagtggcatgt
+taggaacggctcgtctactgggtcagagtagcggcgcggcgctggtggcgctgatgctaa
+atcagtttggagataatggtacacacgtctcgctgatggctgcggctattctggcagtga
+ttgctgcctgtgtcagtggtttacgtatcactcagccacgatccagggcataaaaaaagc
+gcgtcgatcaggacgcgctttttagtatttacttcatattacttcaggtattcacccgta
+cgcagagcttcaattcgtttatccagcggcgggtgggtcatgaacaactcactgagcgat
+ttcgacttaccgttaatgcagagagccatcatgctggttgcttcttgcggttcatagctg
+gttttcaggcgctgcagcgcggcaatcattttctcgcgaccaaccagttttgccgaaccg
+gcatcagcatggaattcacgatgacgcgagaaccacatggtgataatgctcgccagaata
+ccaaacaccagttccagaaccgttgcaaccgcaaagtagatcagcgggttgccgttgctc
+tcttcaccttcatcacgatttccgcccataaaacccgcggcaagctgcgccagaatacgg
+gaaataaagataacgaaggtgttcaccacgccctgaatcagcgtcatggtgaccatatca
+ccattggcgatgtggctgatttcgtgagcaattaccgcctcggcttcatccgggctcatg
+ttctgcagcaaaccggtgctgacagcaaccagagaggcatcacggcgcgcaccggttgca
+aaagcgttgatgtccggcgcatggtagatagccacttgcggcatagcgatccccgcctga
+cgagcctgggttgctacagtattgaccagccaacgttccctttcgttacgcggttgctcg
+atcacttccccgccaacagatcgtaatgccatccatttggacatcagaagcgaaacgaag
+gaaccaccaaaaccgaacagcaaggccatgatcatcagcccctgaacgctgctcgactgt
+atccctgtcaggctcagtaccagcccgaaaacgaccattacggccaggttcgttagcagg
+aagagcgcgattcgcatcataattttctttttacctcagtttaacaaaacgcaatatgcg
+atacccacatcgtatgggttacgcgactattttcaagtctggatagtgcgtaagtcacca
+gaaagacacaactttacattttgtagcatctgatttacggcatcttgtcgctgttaaaaa
+atcaggcacaatttcttgtgcctgattgatattacttgacgggagcgggttgttccgcgg
+gtctggctttttcaagcttcgccagatcgagtgcgatattcaccgtctcatccagataag
+gatccggctcctggtaatctttcggtagatcatccagtttcttcaactccggtttacctt
+cgcgtttaaagcgttcgttcaaacgcgccagacgcgtcgcatcatcttcattattctctt
+tctcacgcacagcgtaattcagagaaacgatattgcgcttgtccttcatagcgttgaagc
+gcgcgatatccttcatgatgttctggaactcaggatctttcgcgatacgcgcattatgtt
+ccttcagcagctccggttcaaaggccgttaaatctcctgatttcacataagtcgcggcat
+caatgctatcccacggcagcgcgttatcttcgaatttctcacccgtttccgtttcttcat
+tacccgtcggcatgatgatgtctggcgttacgcctttacgttgcgtactgccgccgttaa
+cgcgatagaatttctggatcgtgtactgcacagaacccagcgctggccattcaggacgta
+acatctgatcgtaaatacggttcaatgaacggtattgctgaacggtgcctttaccaaacg
+tcggttcacccacaaccagcgcacgaccgtaatcctgcattgccgcggcaaagatttctg
+aagccgaagcactgaagcggtcaaccagcaccaccagcgggcctttatagaaaacctgtc
+cgtcggtatcgctatcttcacgaaccttgccgttgttatcgcggacctgaacaatgggac
+ccgcaggaataaacagaccggagagcgatacggcttcagttaacgccccaccgccattgc
+tacgcaggtcgatgatgacgctgctgacattctgtttttccagtttctgcagttgcactt
+tgacatcgtctgtcaaacccacatagaagcccggaatatccagcacgccgactttctctt
+taccgacggtcttcaccgacattttaaccgcgcggtcttcgagacgaatacgttcacggg
+tcaacgttacagtacgggtcttggtccctttaccagcaggtaaaatttccagacgaactt
+tactgcccttcggccctttaattaaggcaaccacatcatcaagacgccagccaatcacgt
+caaccatcggcttgcctgtttgaccaacaccgacaattttgtcaccaacgctgatagctt
+tactcttcgctgccggaccacctgccaccatcgaattgataacggtgtagtcatcatcca
+tttgcagcactgcgccaataccttccagcgacaaactcatttcagtgttgaactgttcgg
+tattacgcggggaaagatagttggtatgcgggtcgatttcacgcgcaaacgccgtcattg
+ccagcgagaaaacatcttcgctgttggtttgcgccagacgacgaatggcaaatttgtagc
+ggcgagtcagggtttcacgaatttctttatccgtttttcctgtcagcttcaggcttaact
+cgtcgaatttgactttactgtcccacagcgcgttcaactcagcctcgtttttcggccagg
+gcgctttgctgcggtcaaggttataagtgtcgttgccggtgaaatccatcggcttttcca
+gtaccgacaaagcgtactggtaacgctcaaaacggcgcttttgcgccagattgtagagat
+cgtagaaaacgtcgagtttgcctgaacgcagttcatcgcctaactcggttttctttttcg
+cgaactgttcaacatcgcttgccagcagcacgttgtggctgtaatcgagcagattcaggt
+agcggtcaaagattttggccgaaaatgcctgatcgaggtcgaactggcgataatgagaac
+gggtgaagcgcgacgttacgcgctcacttaccgtcgcatgctgcgtctcttcctttaata
+ccggaatttgatcagcacgcgtgatatcttctacagcgaaggtctggcctgctattgcaa
+gcaggccagctaacgcggtaagcctaaaaaacatgttcatgcctggcccggcctccgttt
+cagaacaccaggtgttctgcgcgcacaatcaaagacatacccgaattcagctggacgcgg
+acgccgtctttggtgatttctaatacggtggcatccatcgcgttttgacccgctttcacc
+ttcagggcttgtccgacagtcagagctgaaatgtcagaaaccggggtgtgctgttcttcg
+cgaggtgcttttactgtttttggcgctttctctaccggcttttgcgcacgaggtttacgt
+tcagcgccttctttgcggcgtggcgtagtcggacgtggcttgcgttcgcggcgcggtgcg
+tcttctttctcaccagcagttgcggcagcttcgcgttttttcgcttgctgttcagcacgc
+tgtgcctgaacacgcgctttcgcttcttcaagctgcttgcgagcatgctctacatgttgc
+tcgtccagctcaccgcatgggttgccgtcaagatcgacacgcgttgcgccgggtttaaca
+ccgtaaagataacgccagctcgaagtgtagagacgtaaagcggatcgcaattgcgttttg
+ctcaggttcatttccccagcaacacgatcgaccaaatcctgaaaaataccgattttcagc
+ggacgcgcttcaccttccgcactgaaacagtggggaaaacgttcggccagaaacgcgatt
+acttctttactgctattcaacttaggttgattttccatgaaatttcctgattacaacgga
+cgtagccaacaagcgcaggcatgaacaggcgtcattataatgacgctatcagtaaatgct
+acgttatccgttgattatcctgcgacgctcgcaaagaattttttgtaatccgtcgttgca
+agcactttttcaagctgtgccacaagctgacgtaagccttgctcgtcctcgtctgtaaag
+cgaccgaagacggtactatcgatgtcgagaacaccaataatctgatttttcaccaccagc
+ggcagaacaatttcagaattactcgccgcatcacaggcaatatgcccgtcaaacacatga
+acatcctcgatacgctgcacttgattgcgggcaaccgcagtgccgcacacgccgcgcccg
+acgggtatccggacacaggcaattttgccctgaaatggtccgagtaccagtgtatcgtcc
+tcaagcaaataaaaacctgcccagtttatgtcagtgagacgctcatataacaacgcactg
+gtgttcgcaagcgttgccagaaaactggtttctcccgccatcagcgcgttaaagtcgcga
+tttaaatccgcgtaaaattctgttttgttcattatataatcacttggttgtcttacctgg
+atctgccagcctattaaaataagcattaaatgcgttaatgctcaagatcattcccatcat
+gggttaagattaatgttaattcttattacatttggcacgtcatggctcttaacacaccac
+aaattacgccgacaaaaaagataacagtgagggcaatcggcgaggaactgccgcgtggtg
+attaccaacgttgcccgcaatgtgacatgctgtttagcctgcccgagataaattctcatc
+aaagtgcctattgtccgcgctgtcaggcaaaaattcgtgacgggcgcgactggtcgctaa
+cgcgcctggcggcaatggccttcaccatgctgttgcttatgccgtttgcctggggcgaac
+cgctgttgcatatctggctgttaggcattcgtattgacgccaacgttatgcaaggcatct
+ggcaaatgaccaaacagggcgatgcgataacggggtcgatggtctttttctgcgttattg
+gtgccccgctcattctggtgacctccatagcttatttatggtttggtaaccgactgggaa
+tgaatttacgtccggtactgctgatgcttgagcgacttaaagagtgggtaatgctcgata
+tctacctggtcggcattggcgttgcttctataaaggtacaggattatgcccatatccagg
+ctggtgtcggcttgttctcttttgtggcgttggtgattttaacgacggtgacgttgtcac
+atcttaatgtcgaagaactgtgggagcgattttatccgcagcgccccgctacgcgtaggg
+acgagaaacttcgtgtctgtcttgggtgccattttaccggctatccagatcagcgtggtc
+gctgcccgcgttgccatatcccgctacgcctgcgtcgccgtcatagtctgcaaaaatgct
+gggcggcgctgttagcgtcaatcgttttattgttacctgccaacctgttgcctatttcta
+tcatttatctgaacggaggacggcaggaagatacaattctttccggaattatgtcgctgg
+caagtagcaacattgcggttgcaggaatcgtgtttatcgccagtattctggtaccgttta
+ctaaagtgatcgtcatgttcactttactgttgagcattcattttaaatgccagcaaggtt
+tacgcacacgcattctgttactgcggatggtgacctggattggtcgctggtcgatgctcg
+acctgtttgtcatatctttaaccatgtcgctgattaatcgcgatcagatcctcgctttta
+ctatgggaccggctgcgttttatttcggcgcagcggtaattttgactattcttgctgtgg
+aatggctggacagccgcttactttgggatgcacatgagtcaggaaacgcccgcttcgacg
+actgaagcgcagattaaaaataaacgccgtatctcacctttctggctgctgccgttcatc
+gcgctaatgattgccagttggctgatttgggacagttatcaggaccggggtaataccgtc
+accatcgactttatgtcggcggatggtattgttccaggccgtacgcctgttcgttatcag
+ggcgttgaagtcggaacagtgcaggatatcagcctcagcgacgatcttcgtaagattgaa
+gtcaaggtcagcatcaagtccgatatgaaagatgcgctgcgcgaagagactcagttctgg
+ctggtgacgccaaaagcatcgttggcaggtgtctccgggctggacgccctcgtcggtggg
+aactatatcggcatgatgccgggtaaaggtaaagagcaggatcactttgtcgcactcgat
+acccaaccgaaatatcggctggacaatggcgatctgatgatccacctgcaagcccccgat
+ctcggttcgctgaacagcggttcattggtctatttccgcaagatcccggtgggaaaagtc
+tacgactatgccatcaatcccaacaagcaaggcgtggtgattgatgtcctgatcgagcgg
+cgttttaccgatctggtgaaaaaaggtagccgtttctggaacgtttccggcgttgatgcc
+aacgtcagtatcagtggcgcgaaggtgaaactggaaagcctggcggcactggttaacggt
+gcgattgccttcgattcaccagaagagtcgaaacctgccgaggcggaagatacctttggt
+ctgtatgaagatctggcccacagccagcgtggcgtaataataaaactggaactgccgagt
+ggggccggattaaccgccgactcgacgccgttaatgtatcaggggctggaagtcggacag
+ctgactaaactggatttaaatcctggtggtaaagtcacaggggaaatgaccgttgatccc
+agcgtcgttaccctgcttcgtgaaaatacccgcatcgaattacgcaacccgaaattatcc
+cttagcgatgctaatctcagcgccctgctgaccggcaaaaccttcgagctggtgcccggc
+gatggcgagccacgcaaagagttcgttgttgtgccaggcgaaaaagcactgctgcatgaa
+cctgatgttctgacgctgaccctgaccgcgccggaaagttacggtattgatgcgggtcag
+ccgctcattcttcacggcgtgcaggtaggccaggttatcgatcgtaaactcaccagcaaa
+ggcgtcacctttaccgtcgccatcgagcctcagcatcgcgaactggtaaaaggcgatagc
+aaatttgtcgtcaacagccgtgtcgatgtgaaggtggggctggatggcgttgagtttctc
+ggtgccagcgcctcagaatggatcaatggcgggatacgtattctgccgggcgataaaggt
+gagatgaaagccagctatccactgtatgccaatttggaaaaagcgctggagaacagcctt
+agcgatttacccaccacaaccgtgagtttgagtgcagagacgctgccggatgtgcaggca
+ggatcggtagtgctgtaccgtaaatttgaagttggtgaagtgattaccgtgcgtccgcga
+gctaacgcgtttgatatcgatctgcatattaagccggagtatcgcaaccttctgaccagc
+aatagcgtgttctgggcagaaggcggggcgaaagttcagctgaatggtagtggtctgacc
+gtacaggcatccccgctctccagagcattaaagggagccattagcttcgacaacctcagc
+ggtgccagcgccagtcagcgtaaaggcgataagcgtattctgtatgcttccgaaacagcg
+gcccgtgcggttggcgggcagattacgcttcacgctttcgatgccggaaaactggcggtc
+gggatgccaattcgctatctcggtattgatatcgggcaaatccagacgctggatctgatt
+accgcacgcaatgaagtacaggcaaaggcggtactttacccggaatatgtccagaccttt
+gctcgcggtggtacgcgcttctcagtggtcacaccgcaaatttcggcagctggcgttgag
+catcttgatactatcctccagccgtatatcaacgtcgaaccaggccggggcaatcctcgc
+cgcgactttgaattacaagaggccaccattactgattcgcgttacctggatggcttaagc
+attattgttgaagcgccggaagccggttcgttaggcatcggtacgcctgtgctgttccgt
+ggtctggaagtcggtacggttacaggaatgacgctggggacattgtcagatcgcgtgatg
+attgcgatgcgcatcagtaaacgctatcaacacctggtgcgtaacaattccgtcttctgg
+ttggcatcgggttacagtctggactttggtctgacgggcggcgtagtgaaaaccggcacc
+tttaaccagtttatccgtggcggcatcgccttcgccacgcctccgggtacgccactggca
+ccgaaagcccaggaaggcaaacacttcctgttgcaggaaagtgaaccgaaagagtggcgt
+gaatggggaactgcgcttcccaaataatgcccactgctccggcgtgcctgcgccggagcg
+tttatgctaaactgcgcgcctgtttttttgccagtggtacatgctcgtggcccaacacac
+cgtttatttcccggacgcctttctgacacaaatgcgcgaagcgatgccttcgacgctctc
+atttgatgattttcttgccgcctgtcagcgcccgttgcgccgcagcattcgcgttaatac
+gctgaaaatctccgttgctgatttcctgcaattaaccgctccttatggctggacgcttac
+gccaattccgtggtgtgaagaaggtttctggattgaacgcgacaatgaagatgcattgcc
+attgggtagtaccgccgagcatttaagtggcctgttttatattcaggaagccagttcaat
+gttgcctgttgccgccttgtttgctgacggtaatgcaccacagcgggtgatggatgtcgc
+tgccgcgcctggctccaaaacgacgcaaatttccgcgcggatgaataacgaaggggcaat
+ccttgccaatgagttttccgccagtcgggtaaaagtgttacatgccaatatcagccgctg
+tggtatcagtaatgttgcgctcacacattttgatggccgcgtgtttggtgcggcagtgcc
+agaaatgttcgatgccattttgctggacgctccctgctctggcgaaggcgtggtgcgtaa
+agatcccgatgcgctaaaaaactggtcaccagaaagcaatcaggaaatcgcagctacaca
+acgggagcttatcgacagcgcctttcatgcattacgtcctggtggtacgctggtttactc
+gacctgtaccttaaaccaggaagaaaacgaagccgtttgcctgtggctgaaagagactta
+ccccgacgcagtagagtttttaccacttggcgatctcttccctggtgcaaacaaagcgct
+gaccgaagaaggctttttgcatgttttcccacaaatttacgactgcgaaggcttcttcgt
+tgctcgtctgcgtaaaactcaggcgattcccgccttacccgcccccaaatacaaagtcgg
+taattttccgttcagcccggtgaaagatcgcgaagctggacaaattcgtcaggcggctac
+aggtgttggcttaaactgggatgaaaacctgcgcctctggcagcgtgacaaagaactgtg
+gttgttcccggtgggcattgaagccctgatcggtaaagtccgattttctcggttggggat
+taaacttgccgagacgcacaacaaaggttatcgctggcagcatgaagcggttattgctct
+tgcctcacccgataatatgaatgcattcgagctgacaccgcaggaagcggaggagtggta
+tcgcgggcgcgatgtttacccgcaagccgcgccagtggcggatgatgtattggttacttt
+ccagcatcaaccgattggtttagccaaacggattggttcgcgattgaaaaacagctatcc
+gcgtgaactggtgcgcgatgggaaactttttaccggtaacgcctgacagcgcacaaaaaa
+agcgcactttttgactggcacattcggctgcctcaactaggctgaaaaatggtgcgatcg
+gactggtcgtaccacaatcggcagctaaatggagagcacgaagatgaaaaccagtgtgcg
+cataggcgcttttgaaatcgacgacggcgaattacacggtgaatcgccaggtgatcgaac
+gttaaccattccttgtaaatctgaccccgatttatgtatgcaactggatgcctgggatgc
+tgaaaccagtatccctgccctgctaaatggcgaacactctgtcctttaccgtacccgtta
+cgatcaacaatctgatgcctggattatgcgtcttgcctgatccaaaaagaacccgtcggc
+atggcgggttatttgtcctggttattcccccgttgtaaaatctctcctaaacttaacggt
+acggcaccacacttcggggatgaaatgttcgcgctggtactttttgtttgctacctggat
+ggcggttgtgaagatattgttgtggatgtctacaacacggaacagcagtgtctttattct
+atgagcgatcaacggatccgccagggcggttgttttccgattgaggattttatagatggt
+ttctggcgacctgcacaggagtacggtgatttttaattattgcaattgcacaagagtcag
+ttcgcccccaaagacagcaccggtatcaatataatgcaggttgccaatatccacgcgatg
+tcgcaacggtgtatgaccaaaccagaaatgatcagcacctgtaattccctgccctttttg
+gcgttcacctaatcgcgagcggctccacaagacctgatgcaaatcaacgtccttttgcca
+ttcataaacatcatctggataatcggcatgagcaataacatgcttgccggtgcgactgtg
+tacttcaagaataaagggcaaatgctgacatttttccagcgccgttttcgcttgtttctg
+ttgattatctgccagcgcaataaaccagtcgccgccattcatcaaccacaaagacatctg
+ctgggatgccagcgcatccatcgccatctgttcatgattgcctcttaccgcacaaaccca
+atgttgttccagtaactgcagacaacgtaaactttgcggcccacgatcgataacgtctcc
+cactgagataagtaaatctcgccacggatcaaaacgacaatgccataatttgcggcgcaa
+ctgctcaagacaaccgtgtatatcgccagaaagccagatatgtcgccattgatgacccgc
+aattctctgataaacgggcgcaggctgtttcatcaatattttcctcccgcgctaaagatc
+acataatcttaacaagaatgttaaaaaacgctggactcagacagtagagtgtgtgttatg
+gttgactataaagtcagcgaaggaaatgcttctggcttttaacagataaaaagagaccga
+acacgattcctgtattcggtccagggaaatggctcttgggagagagccgtgcgctaaaag
+ttggcattaatgcaggcttagttgccttgccctttaagaatagatgacgacgccaggttt
+tccagtttgcgtgcaaaatggtcaataaaaagcgtggtggtcatcagctgaaatgttaaa
+aaccgcccgttctggtgaaagaactgaggcggtttttttattggaaatcaaaaggctatt
+ttaggtaattaacagagtttttcagctcgttctataaacggtgccagactcattttttcg
+ccgggattgttaggatcatcaatctgaatcaccgaaatgggttgggcattggtcttccca
+ctggcaacttccttttgtgcgatatcgtttaaaggatactgcacgagggtactcggatta
+ataacatacaaagcattacccggtcggcaagtcagcatcacctcttcgcgattaaacgcc
+catttgtctttacccacttcaaaacgactgacggtaatcacctgcggtgcagccagcgcc
+gctgcagaactggtgagtaacagaaacgccagaatactttttttcatcattttcgtaatc
+catcaaaaaggttcgagagtcgcaagcaggctgatgatcaccagcactaccgcacctatc
+gcccattcgagtttagtcatccacacaaaccagggtgccgcacgatcttcatcctgcctc
+atgcgcggtacaagaacataacgattagccagcgcaatgaccaccataatcatcaccagg
+atggctttgagcaataagagttggccccagtaagtcgtaagcgtggggggaaatccggta
+atcaacaatgcattaagcacgccgcttgccagtacgccgatcaccgcaaaatgcccgcac
+caggaaaaacgcatcagcgcctgaatagcctggtgtcgccaacggcctttgatgagttgc
+atacaccagagcaccggcagtaatcccccaaaccacgccgccgcacaaatcaggtgaatc
+gcgtgattagtctgatggattttcgctgttaccccttcattcagcgtcgcatgccccact
+cccgccagcagaataaattgcgcggtagtgagcataaacagcaaacgtggcatattccgc
+ggttgcataagggcgacgatcaacgttacgagggcgagaacaatttgccataaccagatg
+ccaccaaactgcgtttgcaaaacagcctgccaaatgtttggcgaaaatacatctgtccat
+cccgttcccatcaacccgccctgaacggcgagcattgcagtggcactgatcaaactccag
+acggcagcgtgctgttgtaaacgcagaaaacgcttcgccagcaagcgacgaatcgtcaag
+ggggccagccaggcaccgtacattgcgaagccaaaaaccagcatcagcgaggtgaaatgg
+ataaatcgcagcgcgatccaggtaaacgccagcatgatttatttcacgctaaaggtgtag
+tgtcctttcgttttatgcccgtccaccgaaacaacatgccagtcaacggtgtaggttccg
+ggtttcagcgaatcggccagtggaacaatcagttgcttttggtcctgctcatttcgcttc
+gccggtaatgttttaatattttcgttttttggccccgtgatttttgcaccactgaatcct
+gtttcaacaccttccgagaagtttaaagtgattgcctgcggtgcagctgtcacttgcgcg
+tttgccgcaggatactgatgcgttaaatgcgcatgtgcccagacggaaggtgtcaccaac
+gaagtggtcaggattgccagcgcgtagcgaagggagcgtgcagttgaagccatattatct
+attcctttttgtaataacttttttacagagcataaccttgtctaatgtctgagtcgagga
+tcatcaattccggcttgccatcctggctcactcttagtaacttttgcccgcgaatgatga
+ggagattaagaatgctgaagaatctggctaaactggatcaaacagaaatggataaagtga
+atgtcgatttggcggcggccggggtggcatttaaagaacgctacaatatgccggtgatcg
+ctgaagcggttgaacgtgaacagcctgaacatttgcgcagctggtttcgcgagcggctta
+ttgcccaccgtttggcttcggtcaatctgtcacgtttaccttacgagcccaaacttaaat
+aaaacttatacagagttacactttcttacataacgcctgctaaattatgagtattttcta
+aaccgcactcataatttgcagtcattttgaaaaggaagtcattatgtcgttctggaaagt
+tgcagcagcgcaatatgagcctcgtaaaacctcactcaccgaacaggtagctcatcatct
+ggagtttgtgagggccgccgccaggcaacaatgtcagctgttagtttttccatcgctttc
+tttactggggtgtgattattcgcgacgtgcccttcctgccccacccgatctctcactgtt
+agacccgctttgttatgccgcaacgacctggcgaatgaccatcattgccggccttcccgt
+tgaatataacgatcgctttattcgtggaattgcggtgttcgcaccgtggcgaaaaacgcc
+tgggatctaccatcagagtcatggtgcatgtctgggccgtcgttccagaaccatcacggt
+ggtcgatgaacaaccgcaaggtatggatatggacccgacctgttcactgtttactacagg
+gcaatgtctgggagaacccgacctgctggcgtcggcccgtcgcttacaatttttttcaca
+tcagtactcgattgccgtgctgatggcaaatgcccgtggtaacagtgcactatgggatga
+atatggtcgtctcatcgttcgcgccgatcgtggttcattattgttagtcggtcagcgttc
+atcacagggttggcaaggcgatatcattccattacgctaggctttttcggcctggagcat
+gccatgttgcgcattatcgatacagaaacctgcggtttgcagggagggatcgttgagatt
+gcctctgttgatgtcattgacggaaaaatcgtcaaccccatgagccacctggtgcgcccc
+gatcgtcctattagtccacaagcgatggcgattcatcgcatcaccgaagccatggtcgcc
+gataaaccgtggattgaagatgtgatcccacactattacggtagtgaatggtatgtcgcg
+cataacgccagctttgaccgccgcgtactgcctgagatgcccggtgagtggatttgcact
+atgaaactggcccgtcgtttgtggcctgggatcaagtacagcaatatggcgttatataaa
+acacgcaagctcaatgtacagacgccgccgggcctgcatcatcaccgcgcgttgtatgac
+tgttatatcaccgccgcgttgcttatcgatattatgaacacctccggctggacggcagaa
+cagatggccgatatcaccggacgtccgtcgttgatgacgaccttcacctttggcaaatac
+cgtggcaaagcggtttccgacgttgccgaacgcgatccgggctatctgcgctggttattt
+aataacctggacagcatgagcccggagctgcgtttaacactgaaacattatctggaaaat
+acttagtccgcaggcgtagcgggtaatgttccctgcgccagcgcgaccagaaaagcatat
+tccatcgctacgccttcgtacgatttaaagcgaccagatttaccgccatggcctgagtcc
+atgtcggtacagagcaataaaagatggtcatcggttttcagctcgcgcaatttagcgacc
+cattttgccggttcccaatattgcacctgagaatcgtgcaaaccggtcgttaccagtaaa
+tgcggataagcctgtgcggtgacgttgtcatacgggctgtagcttttcatgtactcgtaa
+tattgcggatcctgcgggttaccccactcttcaaactcaccagtggtaagaggaattgat
+tcatcaagcatcgttgttacaacatcaacaaacggtacctgggcgataacgccgtggaat
+aattccgggcgttgattaattgcaacgcccatcaacatgccccccgcactcccgcccatc
+gcataacaaagcgaaggagagccatagcccagttttaacaatgcatcgcaggcatcaaga
+taatcattaaacgtatttttcttcttcagaaattttccgtcttcgtaccattgttgcccc
+agctcaccaccgccgcgaacatggacaatggcgtagacaaagccacgatctaacaaactc
+aagcggctaaaactgaaatcggcatcaatacttgcgccgtaagaaccatagccatacacc
+agcaacgggttgtgtcctttgcgaaaatgtttgcgatggtagaccaacgaaaccggaact
+tcgacgccatcacgggcgactatccacaggtgttcactgcggtaattcgccgcataaaaa
+ccaggaacttccgtttgttttaatacacgacgctcaccggtatccatatccagttcaaac
+aaagtgtctggtgtagtcatggaagaataaccataacgcaatcgcgcggtttcaggttct
+ggattgtaggcaatccaggtcacataggccggatcatcaaaggcaataccaatgacttcc
+cgggtcttgcggttaatttggcgcaaactggttaacccgcgctgacgctcttcaaccacc
+agccagtcggtaaacagcgtaaacccttccagcatgatgttttcgcgtggcggaattaac
+tcttcccactgttgctcatcacgcatacgggtacggtataagccaaagtttttgccgtgg
+cggttggaacgcagataaaaacgatgctggtagtgatcaaggctgtattcgtgatctttg
+cggcgcggcagaaaaacaaacggctcggcatcggccatttccgcgtccagcaggcgaact
+tcactggtggtggcgctggccaaatgaatgactacatagtgcttcgaggtcgttttatgc
+aggctgacgtaataggtatcgtctttttcttcgtagatcagtttatcttgcgatgctggc
+gtaccgatggcgtgacgccagacctgataaggcagcagcgtcaccggatgcttgcgaaca
+tagtagaaaatccaggagtcatttgcccagacaaagctgggttcaacgttatccagcagt
+tccgggtaccagttaccagtttccagattacgaaaacgaatgccgtactggcgtcgggaa
+agaaaatcttctgccagcgccataatggtgttatcgggcgtaatcgccattccgcccatc
+gaataaaactcactatgagctgcgcgcttattggcatcgagcaatgtttcccactcatcc
+cactcttcactgaatgccgattgacgctggtagatagcatattcacagcctggttcataa
+atatgccgatagcggtagccatttttgatgtagggcgcagaaacttctcgttgcggaatg
+cggtcgatgatttcctttaagatgcgatcctgcaaggcttgttgtgaggccatcacccga
+tgaccgtaactattttcttgttgcaggtagtccaggacttctggctgagaacgcgtatcg
+tcccgcagccagtagtaattatcgatgcgcgtatcgccatgaagcgtcatggcgtgggga
+atgcgggcggcttttggtagcatgttattgttctttctggttgaaacatcttataagggt
+ggcaaaactcaccggggatgcaagcgaaacaggggagtcattgcttagatgatgacaggt
+aatggcgcggatatcgaatgttatgcagacagagaaaatcagcctgttcaaatggctgtg
+cgattctggatagcccgaaatagtcaacttcaggctatccagagagcggaattattccgc
+caaagtgcgtttttgctgttcgagatcgcgttcaatgccgtcacgaacatcctgggggat
+tttcagcgcgtcacccagtgcattcaggtaactgcgttccataaaatggtcaatatcaat
+agccgcgcaactcaggaaatagatttccagcgcctcttcttcattgcggaccccggtagc
+caggcgttgtggatccagcggttgttcgattgcctgctcaatgagtacacgcccctgctc
+ttccacgccggctccacgcaattgctggtcgattgccgcacgttctttggcatcaatatg
+accatcacttttagcggcaaagaccagcgcaaggatcaaacgtgctgtacgctcatccag
+cggcgtactttgcgcgccaaactgcggttcgtcctgatgcgccgcgcgaattttatcttt
+gtatttattccacagcaccgtacccgctaccgctccgccgccaaccagtaacgcgttggt
+gccatatttcgtaagaagtttacgtgctgatttatttgcgaccagcagcccagccagtcc
+gcctaatgcgcctggcactaacagtttgaccaatccctgatccgcagacgaggaggtaga
+agaactgctttgcccaagcagggattgcagttgatttaaccagttagccatatttgctcc
+tcaataaccatttttagtgcctgtagcatagcggatgaggatgtcagaaaatgtatatcg
+agacaaaagatgcgcaaataagcggggcggtaggccgttattcaaagaaattcgcgccag
+gtaaggtatttactgtatatcaggtgataagggtattttaggtgaaagtagtttgtcgtt
+ttgagtggcattgtttgatgctgattgcccgatgcgacgctgttgcgtcttctcaggcct
+acgattgtggtgcgttctggggcggacaaggcactcgcgccgcatccgccaacagtcaat
+cgaattatcagaagccattaacgccgctgatattccgccattcccgctttgcagtccacg
+ctgacctggtaatgaatatcggcacttttaccacgcacggttagcggtactgaccattta
+tcatctttaccctgaatgtcctgcaaactgacccaagccacgggatcggcctgaccgaca
+attttttgatcatctgcccaacgcgccacgcgattttgttgataatcacgttttacgctc
+gcggcaattccggcagcatccagatcttcacactttgggaaagtgaccgacttgctggtt
+tcattattggcagcgaaaactgatgcgcaggcagaaaccaacaacagccctaaaaacgcc
+cctctttttttcatgtttttctccatagcacaatgattcaggagaaagcatggtacaaat
+tgtcaggagcgcaagttgcttcaggccgcgtgtgaggcatcttcctcttcggattcagca
+ccgacgacctgtggggacggtaatttgccggttttcagaatggtgctcagcacatctttt
+tgttctgccagccatagcgaaagggcttcacgttgctcgtcttccatttgcactggagaa
+tttgtcagccaggtgtcaagcagatccgccgtatcaagcattttgtcataagcatcggct
+tcctttttgctggtaaacgacattttctcttcgccctcacgaatgactacgtatttaact
+tcaaccgccatttgcagcctctcataataactgtgattttatacagtatatttcttttcg
+gttgagaaatcaacatcagcaataaagacacacgcaaacgttttcgtttatactgcgcgc
+ggaattaatcaggggatattcgttatgacgttattaggcactgcgctgcgtccggcagca
+actcgcgtgatgttattaggctccggtgaactgggtaaagaagtggcaatcgagtgtcag
+cgtctcggcgtagaggtgattgccgtcgatcgctatgccgacgcaccagccatgcatgtc
+gcgcatcgctcccatgtcattaatatgcttgatggtgatgcattacgccgtgtggttgaa
+ctggaaaaaccacattatatcgtgccggagatcgaagctattgccaccgatatgctgatc
+caacttgaagaggaaggactgaatgttgtcccctgcgctcgcgcaacgaaattaacgatg
+aatcgcgagggtatccgtcgcctggcggcagaagagctgcagctgcccacttccacttat
+cgttttgccgatagcgaaagccttttccgcgaggcggttgctgacattggctatccctgc
+attgtaaaaccggtgatgagctcttccggcaaggggcagacgtttattcgttctgcagag
+caacttgctcaggcatggaagtacgctcagcaaggcggtcgcgccggagcgggccgcgta
+attgttgaaggcgtcgttaagtttgacttcgaaattaccctgctaaccgtcagcgcggtg
+gatggcgtccatttctgtgcaccagtaggtcatcgccaggaagatggcgactaccgtgaa
+tcctggcaaccacagcaaatgagcccgcttgcccttgaacgtgcgcaggagattgcccgt
+aaagtggtgctggcactgggcggttatgggttgtttggtgtcgagctatttgtctgtggt
+gatgaggtgattttcagtgaggtctcccctcgtccacatgataccgggatggtgacgtta
+atttctcaagatctctcagagtttgccctgcatgtacgtgccttcctcggacttccggtt
+ggcgggatccgtcagtatggtcctgcagcttctgccgttattctgccacaactgaccagt
+cagaatgtcacgtttgataatgtgcagaatgccgtaggcgcagatttgcagattcgttta
+tttggtaagccggaaattgatggcagccgtcgtctgggggtggcactggctactgcagag
+agtgttgttgacgccattgaacgcgcgaagcacgccgccggacaggtaaaagtacagggt
+taaacccggcaaaaaaacgctacaaaaatgcccgatcctcgatcgggcattttgactttt
+acagcttagcgccttctacagcttcacgcgccagcttagtaatgcggtcgtaatcgcccg
+cttccagcgcatctgccggaaccagccaggaaccaccgatgcacagcacgcttttcagcg
+ccaggtagtcacggtagttagccggagaaataccacccgtcgggcagaaacggacctggg
+agaacggacccgcgatcgcctgcagggctttcacgccgccgttagcttcagccgggaaga
+atttgaactctttcaaaccgtagtccatacccagcatcagttcggaaacagtgctgatcc
+ccggaatcagaggaatagtcccttcggtagcagctttcagcagcggctcggtcagacccg
+ggctaattgcgaactgtgcacccgcttcagtgacttctgccagctgctgtggattcagca
+ccgtaccggcacccacaatcgcttcaggcacttctttggcgatagcacggatagcgtcaa
+ctgcacactcggtacgcagagtcacttccagaacgcgcaccccaccagcaaccaacgctt
+ttgccatcggcaccgcgtgttccagtttttttaccacgataaccggtacaaccgggccgg
+tggtcaggattgattctgcacttgttttccagtttttcatcagagttttctctcgcctga
+ttacaaatttgtcgtcttaaaaagtgatacaggttgcgccctgttcggcaccggacagtt
+tttcacgcaaggcgctgaataattcacgtcctgttcccacgcgtgacgcgctcaggtcag
+gaatgtgcggttcgcgagcagccagttccgcttcgtctaccagcagcgtcagttcgcctg
+tctgtccattcacacgaatgatgtccccgtcgcgcacttttgccagcagcccgccatcgt
+aggcttctggtgttacgtggatagctgacggcactttacctgaagcgccggagagtcgtc
+catcggtaactaacgcaattttgaaacaccggtccaataatacaccaagtggcggcatga
+gtttatgtaattctggcattccgttcgcttttggcccctgatgacggacaacaacgacac
+aatcgcggtccagcaaacccgcttcaaaggccggcataacgtcatgctggctttcaaaaa
+caaccgctggcgcttcaatcacctggttctcaaccggcacggcagaggttttcataaccg
+cacggcccaggttaccgcttaacacttttgtcccaccatgatgagagaaaggttgttcga
+aggaagcgatcacattgctgtcgagtgatttttccgccccttcccgccagtccagttcac
+cattattcagccatggttcaagggtataacgagacagaccaaaacctgccaccgtattga
+catcttcatgcagcaggcctgctttgagcagttcacgcaccagaaccggtacgccacctg
+ccgcctggaagtggttaatatcggccggaccgttcgggtagagacgtgccatcagcggta
+caacatcagaaaggtcagagaagtcatcccagttaatctgaataccggccgcgcgcgcca
+tcgccaccaggtgcatggtgtggttagtggaaccaccggtcgccagcagtgcaacgatac
+cgttcaccaccactttctcatcgatcatcttaccgatcggcatccattcattaccattac
+cggtcatgcgtgtaacctgacgcgcagctgcggcggtcaaagcatcgcgcagcggagaat
+ccggatgaacaaaagaagagcctggcaactgcatccccataaactccaccaccatctggt
+tggtgttggcagtaccgtagaaagtacatgttcccggcgcatggtaagacgcggcttctg
+actccagtaaggccatgcggtccactttaccttcggcataaagctggcgaatacgcactt
+tttctttatttggcaaaccgcttgccatcggtccagacggcacaaacaccgcaggcaaat
+gaccaaacgacagggctgccatcgtcagacccgggacaatcttgtcgcacacaccgagga
+acagagcaccatcaaacatgttatgggacagccccaccgccgcagacatcgctatcactt
+cgcggcttagcagcgacaattccattccatcctgcccctgggtgacaccatcacacatcg
+ccggaacaccgcccgcaacctgaccaaccgcattcgcttcatgcagggctttacgaatga
+tttctggatagtgttcataaggctggtgcgcggagagcatgtcgttataggaggtgatga
+tggcgatattgttacgcaacatgcttttcaaagaggctttgtcttctggctggcaggcag
+cgaaaccgtgtgccaggttaccgcatgccaactgcgaacgatgaacggtcgaagttttcg
+cttgttctatccgggcgagataagcagagcgagtctcgcgcgaacgttcaatgattcgat
+ttgttacgcgtaacaattgtggattcataaaggctcctgaaattgagttgtcagagcagg
+atgattcacaacgcgtttcattcagaggatttatgactgaaacgcctgtaaccggagctc
+atagggcaaaaacgtttcagtcagtgtaataaaaaaagcctcgtgggtgaatccgcacga
+ggcctgaaagtgtaaaaattgttctacaatctgcgcaagatcatgttaccggtaaaataa
+ccataaaggataagcgcagatattactcaaactcattccaggaacgaccatcacgggtaa
+tcatcgccaccgaggcaacgggtccccaggttccggcctgatacggtttcggcgcatcat
+tgtccatcgcccacgcctcagtaatggagtctacccatttccaggcttcttccacttcgt
+cgcgacgtacaaacagtgcctgaataccacgcatggtttccagcagcaaacgttcatagg
+catccgccagatgcgtctgattaaaggtttctgaatagctcagatccagcttggtgattt
+gcaggttatgtttgtggtcaaggccaggaactttattcagtacctggatatccacgcctt
+catcaggttgcagacggatagtcagtttattctgcggcagatcctgccacgattctttaa
+acagattcagttcaggtgttttgaaatagaccacgacttcagaacatttggtcggcagac
+gtttaccagtacgcaggtagaatggcacaccggcccagcgccagttatcaatgtcgacgc
+ggatcgccacgaaagtttctgtattgctgctcttgttcgcgccctcttcttccagatatc
+ccggcacttttttgccctgggcgaagcccgcagtatattgcccgcgtacggttttttcgc
+gtacgttggagcggtcgatgcggcgcagagacttcagtactttcactttttcatcgcgga
+tgctgtctgcgctcaggtcagacggcggagacatcgcaatcatgcaaagaatttgcagca
+ggtggttctggatcatgtcgcgcatctgaccggctttatcaaaatagccccagcgccctt
+cgatccccacttcttctgccacggtaatctcaacatgatcaatggtgcgattgtcccagt
+tattcacaaacagggagttagcaaaacgcagcgccaacaggttcagcaccgtttctttac
+caagatagtggtcgatacggtaaacctggcactcctcgaagtattcgccaacctgatcat
+tgatttcctgcgaggtcgccagcgacgtccccagcggtttctccatgactacgcgtgccg
+gtttagcattcagttttgcctcgccaagccctttgcaaattgcgccaaaagtgctgggcg
+gcatggcaaagtagttaatggtgatacgatttttttgatccagcatcgcgccgagacggc
+tgaatgcagcagtgtcattgacatcgagattacaaaaatccagacgtgcactcagggtgt
+cccataaaccttcatcaatggtttctttcatgaaagtttcgagcgcctcgcggacaactt
+tggtatatgccgctttatcccagtcagcacgccctacgccgataatccgggtgtccgggt
+tgagctgaccggctttttccagttgatacagggaaggcagcaatttacgacgcgcaaggt
+cgcctttcgcgccgaaaatgaccaggtcacaggcctgggctgtttgcgttaccgccatgt
+cattctccttaagttaactaacccggtacttaagccagggtatacttgtaattttcttac
+ggtgcactgtactgcttttacgagcttgcgaaaactgtaaacgcttatccacccgtgcga
+ttacgggaaaagcgcgcaaagtgcggcaaaactgataaaaaaatcatcgttttccattgg
+gtaaaaatctgacactgatcatgttatgaaaaaaaataacaacttttttatctgcttttg
+tcattaacacggcacacaggcgtaatatctgacaaaactgcatttcgatttctttcagtg
+cggaaatcgtcattacccgtgagtctctttacatcatgaatatgctggaaaaaatccagt
+ctcagctggaacatttgagcaaatcagagcgcaaagttgccgaggtcattctggcttcgc
+ccgataacgcgatccattcgagtattgctgctatggcactggaagccaatgttagcgaac
+cgacggtgaatcgtttctgtcgcagcatggacacgcgcggttttcctgattttaaacttc
+atctggcacagagtctggcgaatggcactccctatgttaatcgcaatgtcaatgaagatg
+acagcgttgaatcatacacagggaaaatatttgagtccgcaatggcaacgcttgatcatg
+tccgtcattcactggataaatctgccatcaaccgcgccgtcgacttgctcactcaggcaa
+aaaaaatcgcctttttcggattaggctcttcagccgccgttgcccacgatgcgatgaata
+agttctttcgttttaatgttccggtggtgtactccgatgatatcgtgctgcaacgcatga
+gttgtatgaattgtagcgacggagacgtggtggtgctgatttctcacactggaagaacaa
+aaaatctggtcgagctggcgcagctggcacgcgaaaacgacgccatggtgattgccctca
+cctctgcgggtaccccgctcgcccgggaagcaacgctggcaattaccctcgacgtaccgg
+aagatactgacatttatatgcccatggtttctcgacttgcacagctgaccgtgatagatg
+tgctggcgacaggatttactttgcgacgcggtgcaaaattcagagataacttgaagcggg
+tcaaagaagcgctgaaggaatcgcgttttgataagcagttacttaatttaagtgacgatc
+gctaaaaacgactgtcactgtcctaatcttatacgacatccgaatgagattaatttatcg
+ccatcgcggcgttatttcattcggatttcatgttcaagcaacacctggttgtttcagtca
+acggagtattacatgtccagaaggcttcgcagaacaaaaatcgttaccacgttaggccca
+gcaacagatcgcgataataatcttgaaaaagttatcgcggcgggtgccaacgttgtacgt
+atgaacttttctcacggctcgcctgaagatcacaaaatgcgcgcggataaagttcgtgag
+attgccgcaaaactggggcgtcatgtggctattctgggtgacctccaggggcccaaaatc
+cgtgtatccacctttaaagaaggcaaagttttcctcaatattggggataaattcctgctc
+gacgccaacctgggtaaaggtgaaggcgacaaagaaaaagtcggtatcgactacaaaggc
+ctgcctgctgacgtcgtgcctggtgacatcctgctgctggacgatggtcgcgtccagtta
+aaagtactggaagttcagggcatgaaagtgttcaccgaagtcaccgtcggtggtcccctc
+tccaacaataaaggtatcaacaaacttggcggcggtttgtcggctgaagcgctgaccgaa
+aaagacaaagcagacattaagactgcggcgttgattggcgtagattacctggctgtctcc
+ttcccacgctgtggcgaagatctgaactatgcccgtcgcctggcacgcgatgcaggatgt
+gatgcgaaaattgttgccaaggttgaacgtgcggaagccgtttgcagccaggatgcaatg
+gatgacatcatcctcgcctctgacgtggtaatggttgcacgtggcgacctcggtgtggaa
+attggcgacccggaactggtcggcattcagaaagcgttgatccgtcgtgcgcgtcagcta
+aaccgagcggtaatcacggcgacccagatgatggagtcaatgattactaacccgatgccg
+acgcgtgcagaagtcatggacgtagcaaacgccgttctggatggtactgacgctgtgatg
+ctgtctgcagaaactgccgctgggcagtatccgtcagaaaccgttgcagccatggcgcgc
+gtttgcctgggtgcggaaaaaatcccgagcatcaacgtttctaaacaccgtctggacgtt
+cagttcgacaatgtggaagaagctattgccatgtcagcaatgtacgcagctaaccacctg
+aaaggcgttacggcgatcatcaccatgaccgaatcgggtcgtaccgcgctgatgacctcc
+cgtatcagctctggtctgccaattttcgccatgtcgcgccatgaacgtacgctgaacctg
+actgctctctatcgtggcgttacgccggtgcactttgatagcgctaatgacggcgtagca
+gctgccagcgaagcggttaatctgctgcgcgataaaggttacttgatgtctggtgacctg
+gtgattgtcacccagggcgacgtgatgagtaccgtgggttctactaataccacgcgtatt
+ttaacggtagagtaagtacgttgccggatgcggcgaaaacgccacatccggcctacagtt
+caatgatagttcaacagatttcgaatattctgaagcaaacttgaacttatcatcaggcga
+aggcctctcctcgcgagaggcttttttatttgatgggataaagatctttgcgcttatacg
+gctggatttcgcccggtttgcgagttttcagcaattttagtatccaggtgtattgttctg
+gtcgcggaccaacaaaaatctcgacttcttcattcatccgccgcgcaatcgtatgatcat
+ccgcctctaacagatcatccatcggtgggcgcacctgaatcgtcagacgatgcgtcttgc
+catcataaatcggaaacagcggtacaacgcgcgcacggcacactttcatcaaacgaccaa
+tcgcgggcaacgtcgctttataggtggcaaagaaatccacaaattcgctgtgctctgggc
+catgatcctgatcgggtaaataatatccccagtacccctgacgtaccgactggatgaatg
+gtttaataccgtcatttctcgcatgcagacgaccgccaaagcgacgacgcaccgtgttcc
+agacataatcaaaaaccgggttgccctgattatggaacatcgctgccattttctgccctt
+gcgaggccatcagcatggcaggaatatcgacggcccaaccgtgcggcaccagaaagataa
+ctttctcgttattacgccgcatctcttcgatgatctccagcccttgccagtcaacgcgcg
+gctgaattttctccggcccgcgtattgccaactcagccatcattgccatcgcttgcggcg
+cggtggcaaacatctcatcaacaatcgcttcgcgttcagcttcactacgttctggaaagc
+agagcgacagattgattaacgcacgacggcgtgagctttttcccagtcgtccggcaaaac
+gtcccagccgtgccagaatgggatcacggaactttggcggcgttaaagcgatacccgcca
+tcgctgctacgcccagccatgctccccagtagcgcgggtggcgaaaggatttatcaaact
+caggaatgtattcgctattattttttttcgtttccatgcttttccagtttcggataaggc
+aaaaatcaatctggtgatagtgtagcggcgcaacttgccccgcaccaaataaaaaaagcc
+ggtactgactgcgtaccggctgcgaatggatgttaattaatcaaaccgtagctgcggcac
+aatctctttggcctgcgccaggaattcgcgacgatcggagccggtcagcccttcggtacg
+cggcagttttgccgtcagcgggtttacggcctgctggtttatccatacttcatagtgcag
+atgcggcccggttgaacgtccggtattaccggaaagcgcgatacggtcgccacgtttcac
+cttctgtcccggtttcaccagaatcttgcgcaagtgcatataacgcgtggtgtagctgcg
+accatgacgaatagccacataataacctgctgcgccactgcgtttggcaaccaccacttc
+accgtcacccactgaaagcactggcgtaccctgcggcatggcgaaatcaacacctctgtg
+tggtgcaacgcgaccggtcaccggattagtacgacgcgggttaaaattagacgagatacg
+gaactgtttcgccgtcgggaatcgcaagaatcctttcgccagaccagtaccgttacgatc
+gtagaatttgccatcttcagcgcggatagcgtaataatctttaccttctgaacgcaaacg
+tacgcccagcagctggctttgctcacgtttaccatcaagcatttctcgagacattaacac
+cgcaaattcatcgccttttttcagtttgcggaaatccatttgccactgcatggctttaat
+cactgcgctcacttcggcgctggttaaaccggcgtttctggcgctggcaacaaagcttcc
+cccgacggtacctttcagcagattgttaacccactctccttgctgcatttcgctggtcat
+tttaaaaccgttagcggcagtacggtcataggttcgggtttcacgacgagacacttccca
+ggtgaggcgctgcagttcgccgtccgcggttaatgtccaggagagttgttgaccgatttt
+caggttacgcaattctttgtcggccgcagccagttgggtgatatcacccatatcaatacc
+atactgattgagaatgctgcttagcgtatcgccagtggaaacaacatattcatgcacgcc
+cgcttcaccggcgattttgtcatccagttcgtcctggggaatggcttcatcttcttgtgc
+agcttgatcaatcggctcactggcttcaggtaagagcgaacgaatttcgttctgttccag
+ctcaatggttttgacaattggcgtggcatcacggtgataaacataaggccgccagacagc
+gacggccagagtaagaacggtgagcgaccccaacataacgcggtgtggtcgcggtaaatt
+attaaacgccagggcgacagagcgggctatctgttgcacgtaatcacttcctcattaatc
+tcctttcaggcagctcgcatactggttggctaattgactcaggaattctgaatagcttgt
+tttacccagtttgatattcgtccccaggggatccaacgttcccatacgaacggatgtccc
+tcgtgcgacgctctcaacgaccgctggcctgaactgtggctcagcaaaaacgcaggttgc
+tttttgctcaaccaactgtgttcttatttcatgtaaacgctgcgcgccaggttgaatctc
+agggttaacggtaaaatgaccaagcggtgtcagtccaaactgtttttcgaaatagccgta
+agcatcgtgaaaaacgaaataacctttccccttgagcggcgcgagctcgttaccaacctg
+cgtttcggttgaggctaattgtgcctcaaaatccttcaggttggcgtcaagtttggctcg
+actttgcggcataagttccactaattttccatggattgcaaccgctgtagcccgcgctat
+ctctggggaaagccaaagatgcatgttgaaatcgccgtgatggtgatcttcgtcactttt
+ttccgcgtggtcgtgatcatcatcatcgccgtgaatacttttcatcagtagcggtttcac
+atcttcaagctgcgcaatcgttacctgcttcgctcctggtaatttgcttaccggtttttg
+cataaacgcttccatctccgggccaacccaaacgactaagtccgcgttctgtaagcgttt
+tacatccgatgggcgcagtgaataatcatgttctgaagcgccgtcaggaagtaaaacctc
+tgtttctgttaccccatcagcaatggcagaagcgatgaacccaacgggtttaagcgaagc
+gacaacggcggcatctgcggcctgtgttgcacctccccagagagcggcggataatgctgc
+gaaaagaagcgtttttttatgtaacataatgcgaccaataatcgtaatgaatatgagaag
+tgtgatattataacatttcatgactactgcaagactaaaattaacatgacaagtctggtt
+tccctggaaaatgtctcggtttcttttggccaacgccgcgtcctctctgatgtgtcgctg
+gaacttaaacctggaaaaattttgactttacttgggccaaatggcgcaggtaagtcgaca
+ctggtacgggtagtgctcgggctggtaacacccgatgaaggggttatcaagcgcaacgga
+aaactgcgcatcggctatgtaccgcagaagctgtatctcgacaccacgttgccactgacc
+gtaaaccgttttttacgcttacgccctggtacacataaagaagatattttgcctgcactg
+aaacgtgtccaggccgggcacctgattaacgcaccgatgcaaaagctctctggtggcgaa
+acgcagcgtgtactattagcgcgagcattgttaaatcgcccgcaattattagtgctggat
+gaacccactcaaggcgtggatgtaaatggccaggtggcgttatatgaccttattgaccaa
+ctgcgtcgtgaactggattgtggcgttttaatggtttctcacgatctgcatctggtgatg
+gcaaaaaccgatgaagtgctgtgcctgaatcaccacatttgttgttccggcacaccggaa
+gttgtttccctgcatccggagtttatttcaatgtttggtcctcgtggtgctgaacaactg
+ggtatctatcgccatcatcataaccatcgtcacgatttacagggacgaattgttttgcgt
+cggggaaatgatcgctcatgattgaattattatttcccggttggttagccgggatcatgc
+tcgcctgtgccgcgggtccgctgggttcgtttgtagtctggcgtcgtatgtcttatttcg
+gtgatacgctggctcatgcctcattacttggcgtcgcgtttggtttgttgctggacgtga
+atccattctatgcggtgattgccgttacgctgctgctggcgggcggtctggtatggctgg
+agaagcgtccacagctggcgatcgacacgttattagggattatggcgcacagtgccctgt
+cgctgggcctggtggtcgtgagtctgatgtctaatattcgtgttgatttgatggcttacc
+tgttcggtgatttgctggcagtgacgccagaagatctcatctctattgcgattggcgtgg
+tcatcgtggtggctattttgttctggcaatggcgcaatttgctgtcaatgacgataagcc
+cggatctggcgtttgttgatggtgtgaaattacagcgagtgaaattgttgttgatgctgg
+tgacggcattgacgattggtgtagcgatgaaatttgtcggtgcgttgattattacttcgt
+tgctgattattcctgctgctactgcgcgtcgctttgcccgcacgccggaacagatggctg
+gtgtcgctgttttggtggggatggtggcagtgactggcggtttaaccttttccgcggttt
+acgatacgccggcgggtccgtcggtggtgctatgtgcggcactgttatttattctcagta
+tgatgaaaaagcaggccagctaatctatcgctgaacacatttgtcggatgcggcgcgagc
+gccttatccgacctacggttcggtatctctggtagtcctggtaagacgcgaacagcgtcg
+catcaggcatattgccagtgccggatgcggcgcgagcgaccaatccgacttacggcattt
+ctggcggcgttatgccaaagtgattccacgcccgcgtcgtcgccatacgcccacgcggtg
+tacgctgcaaaaagccttgctgaatcaaataaggttccagcacatcctcaatggtttcac
+gttcttcgccaatggctgccgccaggttatccagacctacaggtccaccaaagaacttat
+cgattaccgccagcaacaatttgcggtccatataatcgaaaccttcagcatcgacattca
+acatatccagcgcctgagcagcgatatctgccgagatggtgccatcgtgcttcacttcgg
+cgaaatcacgcactcgacgcagcagacggttggcaatgcgcggcgtaccgcgagcgcgac
+gagcaacttccagcgcgccgtcatcactcatctcaagccccataaagcgtgcgctgcgac
+tgacgatatattgcagatccggcacctgataaaactccagacgttgcacaataccaaaac
+ggtcgcgcaacggtgatgtcagcgaacctgcgcgcgtggttgcaccaatcagggtaaacg
+gcggcaaatcaattttaatggagcgtgccgccggaccttcaccaatcatgatatccagtt
+ggtagtcttccattgccgggtacagcacttcttcaacaactggcgatagacggtggatct
+catcaataaacagcacgtcatgcggttcaaggttagtgagcatcgcagccaaatcgcccg
+ccttttccagcaccggaccagaagtcgtgcgtaaattaacgcccatttcattggcgacaa
+tgttggcaagcgtagttttacccaaccccggaggaccaaaaatcaacaaatgatcgaggg
+catcgccgcgcagtttcgctgctttgatgaaaatctccatctgtgaacgaacctgcggct
+gaccaacatactcttccagtaatttggggcgaatggcgcgatctgctacatcttccggca
+aagtggtaccggcagaaatcagacggtctgcttcaatcatcctttacctcataacgcggc
+gcgtagggcttcgcgaattaaagtttcactgctggcgtcagggcgagcgattttgctcac
+catgcggcttgcttcttgtggtttatagcccagcgccaccagcgcggcaaccgcttcttg
+ttcagcatcgtcggtcgccgggctggcaggagacgtgagtaccaggtcggcggctggcgt
+aaagagatcgccatgcaaacctttaaatcggtctttcatttcaacaatcaagcgttcggc
+ggtttttttgccaatacccggcagtttcaccagtgcccccacttcttcacgctcaacggc
+attaacgaactgctgcgctgacattccggagaggatcgccagcgccaacttcgggccgac
+gccgttggttttgatcaactctttgaacaatgtgcgctcttgtttattgttaaaaccgta
+cagcagttgcgcgtcttcacgcaccacaaagtgggtgaaaacgatcgcttcctgacccgc
+ttcagggagttcataaaaacaggtcatcggcatatgcacttcatagcctacgccgcccac
+ttcaattaacaccagcgggggttgtttttcaatgatgatgcctctgagtctgcctatcac
+atgacgctcctgcgtaatgaatcaaagataatgctgtatgataaaaaaatgctggataga
+tatccagcgaaggatgaagaaaacttgcgaggtgtctcgatgaactgaaaaatggcacag
+tataatttattctacaggttatattggaagcaaatattttaatattacatattcagtgaa
+gaaatgcgtaataaaaatatacattgcgcctcctgaaaaaataaattttttatgctatta
+cgtatatttgtatctatttcaatggaatgacaacgtgaatattaattaccctgctgaata
+tgaaattggagatatcgtctttacatgtataggtgctgccttatttggtcaaatatcagc
+tgcatcaaattgctggagtaatcacgtcgggatcattatcggtcataacggtgaagactt
+cctggttgcagaaagccgggttcccctttcaaccatcaccacgctatctcgttttattaa
+acgttcgtctaatcaacgctatgctataaagcgattagacgctgggctgacagaacgaca
+aaaacaacgaattgttgaacaggttccctcccggctacgcaaactttaccacaccggttt
+taaatacgaatcttcgcgccagttctgttcaaaatttgtttttgatatttataaagaagc
+gctatgtattccggtgggtgaaatagagacgtttggagaattgttaaatagcaatccgaa
+tgcaaaactcactttctggaaattctggttcctgggttctattccgtgggagcgtaaaac
+cgtcacgccagccagtttgtggcatcatccgggtttggtgttgattcatgcggagggagt
+ggaaacgcctcagccggaactgaccgaggcggtataacttaacgcagtcgccctctcgcc
+aggttcagccgcgattcgctcatctgcatcgcattctgactaacgtggcagtgggtgata
+gcaatcgccagcgcatcggcggcatccgcctgtggattagcgggcagtttcagcaaggtg
+cggaccatatgctgcacctggcttttttcggcactgccaatacctaccaccgtttgcttt
+acctgacgtgccgcgtattcaaatactggcaactcctgattcaccgccgccacaatcgcc
+acgccgcgcgcctggcccagtttcagggctgagtcagcgttctttgccataaagacttgt
+tcaatggcgaaataatcaggctggaactgggtgatgatttccgtcacgcccgcatagatg
+agtttcagacgagacggtaaatcatccactttggtgcggatgcatccgctacccaggtag
+gacagttgcctacctacctggcggatgacgccgtagccggtcacgcgcgaacccggatca
+atgccgagaataatagccatcacgcgtctccgttttgctgtttagcaggcctcatcagag
+agtcgctgcgacctcatcagagatttcaccgttatggtaaacttcctgcacgtcgtcgca
+atcttccagcatatcgatcagacgcatcagtttcggtgcggtttctgcatccatatcagc
+tttggtagacgggatcatggaaacttccgcgctgtctgctttcagacctgccgcttccag
+agcgtcgcgcactttacccatttcttcccatgcagtgtagacatcaatcgcgccgtcatc
+ataggtcacaacgtcttcagcacctgcttccagtgctgcttccatgatggtgtcttcatc
+gcctttctcgaaggagatcacgccttttttgctgaacagataggcaacggaaccatcagt
+accgaggttaccgccacatttgctaaatgcatgacgcacttcagcaacggtacggttgcg
+gttgtcagacagacattcaatcatgattgccgtgccgccaggaccgtaaccttcgtagat
+gatggtttccatgtttgcatcatcatcaccgcccacaccacgtgcaattgcgcggttcag
+tgtgtcacgggtcatgttgttagacagtgctttatccaccgccgcacgcagacgcgggtt
+agcgtccggatcgccaccgcccagcttagccgcggttaccagctcacgaatgattttagt
+gaagattttaccgcgcttagcatcctgcgcagctttacgatgtctggtgttggcccattt
+actatgacctgccataaaaatatctccagatagccctgcctgttcaggcagcgttaatta
+caaactgttcaatcgcctgccggttgctccaggacttagtgagcgccgccgcagcaggcg
+catcaagccacttgtaagccagatgttcagtgaaaacgatctgccgctcgtgcggaagcg
+caagacagaaccatgattccgtattacgcgtcacgcccggcgcatagcgatgacgtaaat
+gtgaaaaaatttcaaactctaccgtgcgctgacagtcaattaaggtcagttgttcagcga
+caacatcaatggtgacctcttcctttacttcgcgcatggcagcttgcggcgcggtttcac
+cctcttccacgctgccggttaccgactgccagaaatcgggatcgtcacgccgctgcaaca
+tcagcacccgtttcgtatcttgtgcgtagatgaccactaagatcgaaacgggacgcttat
+acactttatccttcacgctgcctcttcgttgactgccttcgctcatcccattcacatagt
+tatctatgctcatgggagttcactcagttgccgcctcgatgcaacgcgaatgatttcgtg
+tatttgagtcatatcagttattctcagccttcttcacaacctgaatgctcagctcagcca
+gtgcagtcgggttagcaaagctcggtgcttcagtcatcagacacgctgccgccgtggttt
+tcgggaaggcgataacgtcacggatattgtcggtgccggtcagcagcatggtcagacggt
+caagaccgaatgccagacctgcgtgcggcggagtaccgtatttcagagcgtcgagcagga
+agccgaatttctcgcgctgttcctcttcgttgatacccagaataccaaacaccgtctgct
+gcatatcaccattatggatacgtactgaaccaccgcccacttcgtaaccattgatgacca
+tatcgtaagcgttcgccaccgcattttccggtgcagctttcagttctgcagccgtcatat
+ctttcggtgaggtgaacggatggtgcattgccgtcaggccgccttcaccgtcgtcttcaa
+acatcgggaagtcgataacccacagcggtgcccatttgctttcgtcggtcagaccaaggt
+ctttacccactttcaggcgcagtgcacccatcgcgtcggcaacaattttcttgttgtcgg
+caccgaagaaaatcatatcgccatcttgcgcggcagtacgatccaggatgtcttcgatga
+tttctgcattaaggaacttcgctaccgggctgttgataccttccagacctttcgcgcgtt
+cgttaactttgatgtaagccagacctttcgcgccgtagattttaacgaagttaccgtatt
+cgtcgatctgcttacgggtcagcgatgcgccgcccggaacgcgcagagccgctacgcgac
+ctttcggatcgttcgccggacctgcaaatacagcaaactcaacagatttcagcagatcag
+caacgtcagtcagttccatcgggttacgcagatccggtttatcagaaccataacggcgtt
+ctgcttccgcaaaggtcattaccgggaaatcgcccagatccacacccttcacttccagcc
+acagatgacgcaccagcgcttccatcacttcacgcacttgcggcgcggtcatgaaagaag
+tttccacatcgatctgagtaaattcaggctgacggtcagcacgcaggtcttcgtcacgga
+agcatttaacgatctgatagtaacggtcaaaaccggacatcatcagcagctgtttgaaca
+actgcggggattgcggcagtgcgtagaatttacctttgtgcacacgagaaggcaccaggt
+agtcacgcgcgccttccggcgtggctttggtcagcatcggagtttcgatgtcgaggaagc
+cgtggtcatccataaaacggcgcaccaggctggtgattttagcgcgggttttcaggcgct
+gagccatttccggacgacgcaggtcgaggtagcggtatttcagacgcgcttcttcggtgt
+tgacgtggttagagtcaagcggcagaacatctgcgcggttgatgatagtcagcgaggacg
+ccagcacttcgatttcgccggtcgccatatcgcggttaatatttttttcgtcacgcgcac
+gtacggtgcccgtgacctgaatgcagaactcattacgcagttcagaggccagctttaacg
+cgtccgcacgatccggatcgaaaaatacctgcacgataccttcgcggtcgcgcatatcga
+tgaagatcaggctaccaagatcacgacgacggttgacccaaccacacagagtcacctgct
+gccccacgtgggacaaacggagctgtccacaatattctgtacgcatgagatatcccttaa
+cttagctgccggcggatgccccctgctgcgcaggtgaccaagtcgcagcgttagctgtat
+gtcacaactgaatgaaaaaaggcggctattatactggaaattctgccgcaccgtaagagc
+ctggcccgcgctggaacgcctcgttaccactttatatcgggcctgaaatcagactctacg
+ccagtttgctataaaggtgttgcccgaactcataaaaattaacaaaatttgtcgttccgc
+catcggctaatcgcattaaggtgtgaggcacgattttgttttttcaggagtcattatgct
+tgaacttaatgctaaaaccactgcgctggtggtgatcgatttacaagaaggcatcttacc
+ttttgccggtggtccacatactgccgatgaggtagttaatcgcgccgggaagctggcggc
+gaaatttcgcgccagcggtcagcccgtgtttctggtgcgcgttggctggtctgccgatta
+cgctgaagcattaaaacagccggtcgatgcgccctcaccggctaaagtgttgcccgaaaa
+ttggtggcaacatcctgctgcattaggtgcaaccgacagcgatatcgaaatcatcaaacg
+tcaatggggtgcgttttacggtacggatctggagttgcaattacgccgccgaggtatcga
+tacaatagtgttatgtgggatctcgaccaatatcggtgttgaatccaccgcccgcaatgc
+ctgggaacttggctttaatctggtgattgccgaagacgcctgtagtgccgccagcgccga
+gcagcacaataacagtatcaaccatatctacccgcgcatcgcccgtgtgcgtagcgtgga
+agagatcctcaacgcgttatgatttacatcggtctaccgcaatggtcgcatcctaaatgg
+gtgcggttggggatcaccagccttgaagagtatgcccgccactttaactgcgtggagggc
+aacaccacgctttacgccctgccgaaacccgaggttgtcctgcgctggcgtgagcagacc
+acagatgacttccgcttctgttttaagtttccggcgaccatttcgcatcaggcagcatta
+cggcattgcgatgatttagtgactgaatttttgacccgcatgtcaccgttggctccgcgc
+attgggcaatactggctgcaactgcctgccacattcggcccacgggagctgcctgcgctt
+tggcattttctcgattctcttcctggcgaatttaattatggcgtggaagtccgccatcca
+cagtttttcgccaaaggagaagaggaacaaacgcttaatcgcggtttacatcagcgcggc
+gttaatcgggtgattttagacagccgcccggttcatgcagcacgtccacacagtgaagct
+attcgcgacgctcaacgaaaaaaacctaaagttccggtacatgctgtactgacggcgaca
+aatccgctgatccgttttatcggtagtgatgatatgacgcaaaaccgggaattatttcag
+gtctggttacaaaaattagcgcagtggcatcagaccactacgccttatctttttttacat
+acgccagacattgcccaggcaccggaactggtacataccctgtgggaagacttacgtaaa
+acgcttccagagatcggagcagttccggctattccacagcaatcttctcttttctgaatt
+tgccacctatcatagacaggtgccatcggccattttaaagggagtttgtatggtaagcgc
+gctgtacgccgttttaagtgcgttgttattaatgaagttctcttttgatgtcgttcgcct
+gcgaatgcagtaccgcgttgcctatggcgacggcggttttagcgaactgcaaagcgctat
+tcgcattcatggtaacgcggtggaatatattcccatcgcgattgtgctgatgctgtttat
+ggaaatgaatggcgcagaaacctggatggtgcatatttgcggcatcgttttgcttgctgg
+tcgtctgatgcattattacggttttcatcaccgtctgttccgctggcgacgttccggcat
+gagcgccacctggtgtgcgctgttgctgatggtgctggcgaatctttggtatatgccctg
+ggagttggttttctccctgcgttagcgcacaatacgccactttctttttcccggattttt
+acgttatgtctcaccgcgacacgctattttctgcccctatcgccagactgggcgactgga
+cctttgatgaacgggtagctgaagtcttcccggatatgatccagcgttccgtacccggct
+attccaatattatttccatgattggtatgttagccgagcgcttcgttcaacctggtacgc
+aggtttacgatctgggttgttctctgggcgcggcgacgctctcggtgcgtcgcaacattc
+atcatgataattgcaaaattattgccatcgacaactccccggcgatgattgaacgctgcc
+gtcgtcatattgacgcctataaagcccctacgccagtagacgtcattgaaggtgatattc
+gcgatatcgccattgaaaacgcatcgatggtggtgctgaattttaccctgcaattcctgg
+aaccttccgagcgccaggcgttactggataaaatttatcaagggctgaaccccggcggcg
+cgctggtgctttcggaaaaattcagtttcgaagatgccaaagttggtgaactgttgttca
+acatgcaccacgactttaaacgtgccaacggttacagcgaactggagatcagccagaagc
+gcagcatgctggaaaacgtgatgctgaccgattccgtggaaacccataaagcacgcctgc
+ataacgccggttttgagcatagtgagctgtggttccagtgctttaactttggttcactgg
+tggcattaaaagcagaggacgctgcatgatcgactttggtaacttttattctctgattgc
+caaaaatcatctttcacactggctcgaaacgctgcccgcgcagattgctaactggcagcg
+cgagcagcagcacgggttgtttaagcagtggtcaaatgcggtggagtttctacctgaaat
+taaaccgtatcgtcttgatttattgcatagcgttacggcagaaagcgaagagccactgag
+cgcagggcaaattaaacgcattgaaacgctgatgcgcaacctgatgccgtggcgcaaagg
+gccgttctcactgtatggcgtcaacatcgataccgaatggcgttccgactggaaatggga
+tcgtgttctgccccatctttctgatttaaccggacgcaccattctggatgtcggctgcgg
+cagcggttatcacatgtggcgcatgattggcgcaggcgcgcacctcgcggtggggatcga
+ccctacgcaactgtttctgtgccagtttgaagcggtgcgtaaactactgggtaatgatca
+gcgcgcgcatttgttaccgttaggtattgaacaacttccggcactgaaagcctttgatac
+cgtcttttcgatgggcgtgctttaccatcgccgttcaccgctggagcatctatggcagtt
+gaaagatcaactggtcaatgaaggtgaactggtgctggaaacgctggttattgatggtga
+tgagaacacggtgctggtaccaggcgatcgttacgcgcaaatgcgtaatgtctatttcat
+cccttccgcgctggcgctgaaaaactggctgaagaagtgtggttttgtagatatccgcat
+tgcggatgtgagcgttaccaccacagaagagcagcgacgcaccgaatggatggttaccga
+atcgctggccgatttcctcgacccacatgatccgggtaaaacggtggaaggttatccggc
+acctaaacgcgcggtgctgattgcgcgcaagccgtaaaggtctggtattactgccggatg
+cggcgtgaacgccttatccggcctacaaaaccttgctaattcaatatattgcagggacta
+tgtaggcctgataagcatagcgcatcaggcagctttacgtttgcataacctcagcgcccg
+tttccgggcgctattcacgtcttacgcctgaacagctggctgatcaaacgccgttaactt
+cggtgcattgcccgtatatttttcgatatacaccaacgctgagttaccggcacaggcatt
+tgccagctgcgagctggggatatccgccgttaacacgttcgcactgccgtttttacacaa
+gccattttccagatctggccatgcaccttcatgcacgcataccacgccttttttgatccc
+gtcagtcaccaccgcgcctgtcaaaatctgaccacgtttgttccagacacgcaccagatc
+gccattcgcaataccaaagcgtgcagcatcttcggtgtgaatagtgattggttcacgatc
+ggcgatcgcatattttttacgcagttccgcatagttaagctgactgtgtaaacggtgtgc
+cggatgtgcggtcagaagctgtaactgcttctcgtcggcggtacctttccattcatcagg
+agccagccaggttgggtgtgccgggcaatccttatagccaaatttttccaacgtttttga
+atagatttcaattttgccgcttggcgtacccagcgcatttttcaccggatcggcgcggaa
+atcaccataacgaacgtactgttcgttcttctcgctgtggcgcatttcgatcagtttatt
+ttgctgccagaaggcattaaacattggcatagtgacgcgttgcgcacgggcacctttctg
+agcggcatcatagaaaaatttcagccacgccatttcatctttaccttcggtatagatctc
+ttttccgccaggtttgagtaattccgcaagatcggcaaacacgtcaaaatcgttacgcgc
+ttcaaattgcggagcaacagcctgcttcatcggcacaatatgctggttgctgtaatcacc
+ggtcatcgtcaagtcattgcgctcaaacgatgtggtgatcggtaatacgatatctgcgtg
+tttggctgctgcggtccagtagcattcagaaacgacgatcatctccggtttctgccatgc
+tttaatcagacgattagtatcctggtgatgggtaaagttaccgccacccgcccaccagat
+cattttgatattcggatacgtttgttctttaccgttatgctgatatttgccgccaggatt
+ttccagcgcatcgacgatacgggcaacaggaatcgccgtcattccgccatcatcagcggc
+ctcgctggcatgtccggcaatcgccgcagacatttccggcagcacgccgccaacacgcgt
+cgggttgccaccgttggagtaatgataagagaaaccaaaaccgccgcccggtgtaccaat
+ctgccctaacatcgccgccagcgtcaccagcatccagtgtttctgttcaccatattgctg
+gcgctgaattccccagcctgccatcagcattgtgcgattcgccgccatcagttcagcgag
+tttgactatctgcgcttccggtacgccagtaatttccgccgcccagaccgcgctcttcgg
+cgtattatcgctcttacctgtcagatactcttcaaactgcggatacccggtagtgtattt
+ttcaaggaacactttatcgtgtttgccttgtgtcatcagggtatgcgcaatccctaacat
+cagtgccacgtcggtgcccatattcggcgcgatccaggtggcattatcgtcaaagaattc
+gatggtttcggagcggataggatcaatggcaatcactggtttgccagattttttcagctg
+atggaagtattccagcccttgctcatcggtactgctccaggcaatttttaaggtattcag
+cgggttcattccccacagcaccacaacctggctgttttccagaatcagcggccaggaggt
+ctgctgttcatacacctctacagaaccgaccacatgcggcatgatcacctgtgctgcccc
+ggttgaataatcgccgctatgcccggaataaccgcccgccaggttcatataacgttgcag
+taaggtttgcgctttatgcaacacgccagaagagcgccagccgtaagatccggcaaaaat
+ggccgatggtccgttagctttacgaatacgatcatgttgctcatgaatcagttttaatgc
+ctgttcccagctcacctgtacataggtatcttcgccacgacctttcgccggttgcagtgg
+attatcgagatagctttttctcaccatcggatgctgaatacgcgccgtggtgtgtacctg
+atccgccgccgtagactgtaaggaattcggtatggttttcgccagcgcgcctgttgaaga
+aacaatcttgccgtccttcacttctacgttcatcgctccccaacgtcccgcggtgaggat
+tttaccgcccttctcttctgcccatgcggggagcggtgctgccgatgtcaccaccagcgc
+tccagcggcaataccgctgtgtttaataaattcacgtcttgttaatgtcataacttcctc
+cctgatcaacgaggatcactgtttctcggtaatatctttggcgttgtactggaaataccg
+cgttaaaatgtccagttcgttttcgctcatgctggttcgtgcccccattcctttggcaat
+ggacggccacgcattgacggtgtaatggtcggcggcaataggggcatgacaaccagcgca
+ataggtatcgtcaagtttttcagcgtattgccatagcggtttacggtccgctaatgcggg
+atcggtaagcgcaccctgtaaagacgcctgacgccattgattgccgtattcgtcagcctg
+ccattccccgtttacagtgagcgccttgataccttcttcacttaatgtggctagcgccag
+ccgttgacctgccgccaggtagagcgtgttttcactgccctgcatttgataaccctgcaa
+cagaacgatcggctgtttgccactggcatcaacgacggtgagatcggttccaggattcac
+ggtagccagctcgcctatgtgagaagttttgaaaggataaatatgtgcgccattagtaac
+tgaagtagcggcctgactttccagctcatgcgccgcgttgtcatccatttttatttctgg
+cggaaaatgggcaatgcctttatgacaatcgatacaggtttcgctgtccttttgtgcttt
+gttatgcattttctgcgcagattcactttgcgaggcaatatccatggcatcaaaagaatg
+gcaactacggcacgttgcagagtcagtggcttttaattctttccatactgtttcggccat
+ttcctggcgatgagcttcgaacttatcgtcactgtctattttgccgctaacaaattcatg
+ataaatatctttagatgcctttaatttagcaaataaataatccatccctgactttggaat
+atggcaatcggcacattccgcacgtatccctttctggttcgaaaagtggacagttccctg
+atattcctcaaaaggtttactcatcgagtggcaggaaaggcaaaatgctgtatccgacgt
+tttatgtaagactttttgcgccagcaataacccgccgccaccaaccacaaccgctatcag
+caaaaacaataacccaatgcgttttttccctcgcatagattcctctaattaaattactgg
+acaccgaaatcattgtataattaaatatacaacgaattaaccgcttgcataattaggcac
+aacactgcctgaaacaatcgataaagaatatgatttattacaatgtaatcattaattgct
+aaggaataacccagttgctatttagaatatatatttatcagttttagtaatttaaatccc
+ataattaatgtgaatatatacaatatttttagcacaacgctatgcgcactgtcacccgct
+caacagatcacggttatcgttcgttttttatactgttcagggataaaaaaaggcccctgt
+tgaaattgcaggggcctggtacgagcaagcatcatattgggcgacatgatgcaacggtaa
+aaatcatttggcctgatggcgttcaatgattcctttcatttcagcaaccgccgccccgtc
+tacgatataacgcgaatactcgtccgcgtgttcatctgatgacatggacaatccttgatt
+acgataacgcatcggtgaggcttgccacgctcccgcggagctatggacttccagcactcc
+ggcatcgaggaagtggtgcaggttttctgcacggactcctgctccggccataatgattgg
+agcatcacgatgggcaataagttccataatttttgataaaccttgcagtgcgtctgattt
+ttgccctgatgtcagtacccgggcaatgcccaattccgcaagattattgagtgtatataa
+agggttagcgcacatatcgaaggcgcgatgaaaagtcactgccagcggaccggcagcagc
+cattattttttccattcgtggcatatcgacattcccgtcaacatcgagaacgcccgtcac
+cagtccaggaaaacctaattcgcggaccgtgcgcacatcctcaagaatggcggcaaactc
+accgtcgctgtagcaaaaatcaccaccgcgtgggcgaattatcggatgcacagggatcgt
+cacccgctggcgcacggatttcagtacacccaacgacggcgttaagcccccctcttttgg
+ggctgcgcataattcaactctgtctgcgccgttttgctgcgccgttagtgcacattccat
+gctgtaacagcaaatttccagtaatgccatttttactccttaattacgccgactgctcgc
+tggcaacgatctcttcaatggaccacggatgaaacttaatagttgttttgccatcggtga
+ccgccagcgtcggattcggtaatcgctcatgctcaccttttggcgaactggttttcactg
+agatccccggtaggctgagtccttcatcagaaagcaatgccagcgcacgggcattcagcg
+tttctggatcacccggcagaacgatttcaatatgttcccaaccttcgtgtgggtaacgtt
+tttccccgggccacggtagctccacaatagaaaactgccagtgcgcaacctgtaccggtt
+catgcaatttaaacagacaaatcggtctgccattgatcatattttctgacaaaagctcgc
+cacactgttcaaacccgcgacgccagcgttcagcagtggcgttttgatggcaacgcaaag
+aaatgtgatcggcagtcagcggagtgatattcaaccccagacggcgggaaagttcatcta
+atgcgtggataaatcgcggtaaatccgatgcaatatcctgcagctcgtcgatagattgcc
+agttcgccataatcactcttcgtctttcagtaaaagcgttaatttaccctgttgccctgt
+gccaaccaaccgctgatttcacgccgcttctgatgcaatagtgaaaacggcaatacgcca
+cgcgcacgttgctgacgaaaacagccatttgcagtatactcccgccctaatttctttaac
+tggtgcgggcaatttttgctcgcttcatcaatgtaaggtattccggtgaatattcaggct
+cttctctcagaaaaagtccgtcaggccatgattgcggcaggcgcgcctgcggattgcgaa
+ccgcaggttcgtcagtcagcaaaagttcagttcggcgactatcaggctaacggcatgatg
+gcagttgctaaaaaactgggtatggcaccgcgacaattagcagagcaggtgctgactcat
+ctggatcttaacggtatcgccagcaaagttgagatcgccggtccaggctttatcaacatt
+ttccttgatccggcattcctggctgaacatgttcagcaggcgctggcgtccgatcgtctc
+ggtgttgctacgccagaaaaacagaccattgtggttgactactctgcgccaaacgtggcg
+aaagagatgcatgtcggtcacctgcgctctaccattattggtgacgcagcagtgcgtact
+ctggagttcctcggtcacaaagtgattcgcgcaaaccacgtcggcgactggggcactcag
+ttcggtatgctgattgcatggctggaaaagcagcagcaggaaaacgccggtgaaatggag
+ctggctgaccttgaaggtttctaccgcgatgcgaaaaagcattacgatgaagatgaagag
+ttcgccgagcgcgcacgtaactacgtggtaaaactgcaaagcggtgacgaatatttccgc
+gagatgtggcgcaaactggtcgacatcaccatgacgcagaaccagatcacctacgatcgt
+ctcaacgtgacgctgacccgtgatgacgtgatgggcgaaagcctctacaacccgatgctg
+ccaggaattgtggcggatctcaaagccaaaggtctggcagtagaaagcgaaggggcgacc
+gtcgtattccttgatgagtttaaaaacaaggaaggcgaaccgatgggcgtgatcattcag
+aagaaagatggcggctatctctacaccaccactgatatcgcctgtgcgaaatatcgttat
+gaaacactgcatgccgatcgcgtgctgtattacatcgactcccgtcagcatcaacacctg
+atgcaggcatgggcgatcgtccgtaaagcaggctatgtaccggaatccgtaccgctggaa
+caccacatgttcggcatgatgctgggtaaagacggcaaaccgttcaaaacccgcgcgggt
+ggtacagtgaaactggccgatctgctggatgaagccctggaacgtgcacgccgtctggtg
+gcagaaaagaacccggatatgccagccgacgagctggaaaaactggctaacgcggttggt
+attggtgcggtgaaatatgcggatctctccaaaaaccgcaccacggactacatcttcgac
+tgggacaacatgctggcgtttgagggtaataccgcgccatacatgcagtatgcatacacg
+cgtgtattgtccgtgttccgtaaagcagaaattgacgaagagcaactggctgcagctccg
+gttatcatccgtgaagatcgtgaagcgcaactggcagctcgcctgctgcagtttgaagaa
+accctcaccgtggttgcccgtgaaggcacgccgcatgtaatgtgtgcttacctgtacgat
+ctggccggtctgttctctggcttctacgagcactgcccgatcctcagcgcagaaaacgaa
+gaagtgcgtaacagccgtctaaaactggcacaactgacggcgaagacgctgaagctgggt
+ctggatacgctgggtattgagactgtagagcgtatgtaatcgatttttcgtgagagtgaa
+gcctgatcagggttagccgatcaggcttttttattgccatctaaatgtattctgaaaatg
+gacatgccattgttttctcactgttggataagaggccagaagcgtaatatccggccccag
+ggaaacgataacggttgaatttaaggaataccgcagtgtttaaatttcttgtattaacat
+taggcattatctcttgccaggcttacgcagaagatacggttatagtaaacgaccatgaca
+tttcagccatcaaagattgttggcaaaaaaattcagatgatgatactgacgttaacgtga
+tcaaatcatgcctgcgacaagaatacaatctcgtcgatgcgcaattaaataaagcctatg
+gtgaagcttatcgttatatagaacaagtgccacgcacaggtgtaaaaaaacctgataccg
+aacaacttaacttgcttaaaaaatcacagcgagcctggctggattttagggacaaagaat
+gtgaattaatcctttcaaatgaggacgttcaggatttaagtgacccttattctgaatcag
+aatggctctcatgtatgatcatacagaccaatacgcgaactcgccagttgcagctatacc
+gtaactctgaagatttttatccaagccctttgacaagaggataattcacatctttttggc
+atgttttgttgcaagctattcctgataaataattgcaacaagacatcgagcctttttcac
+tgagttattaaacatactcgcgagcgcgtaatttttttgtccttcagcgataattcacaa
+tcacttcattacgttgtacctttagcggtggaattaaccgcccaccgcctggcacttccc
+agataaatcgcaacggttctgctgccgctataccggaaaaggccacggtggttccgctct
+gcccctctaattcgacacaacgagattgcgaacacaagcgaacccgcagtcctgaaggtg
+tcgggccgataagctgataacgccacgctaccagcgtcatcaatcctgaagcaggttgtc
+gcgtagaaagaggcgcagacgacatcgactcaccgcgatgatttagcgtaattcctacac
+tacttgcctgccacatcccctccccggcggcttgcaccagcagcggaaacaataatattg
+ctaataaggttctcattatttgccgccaattgtcgccgtcatgcggatatgtcggttatc
+agacagttccagattcgacaggaccactaactgcggcaagctgcggcgcaggaagcgaga
+caataatggtcgcagcgcgtggttcaccaacaatactggcggcgcacccagcatctcctg
+acgggatagcgcttcctgagtttgcgccagtaaacgatccgccagccctggctccagtcc
+tcccccgccctgcagcgcctgtagtaacaaacgttccagcggtgtatcgaggccaataac
+atggacttcatctttgccaggaaaccactgctgggtaatcgcccgtcccaacgccacgcg
+cacgacggcggttaattcatgtggatcgctttggatgggcgcatgttccgccagcgtttc
+gagaatggtgcgcatatcgcgaatcggtactttttcatcgaggagattttgcagcacttt
+atgcagtgtggtgagcgtgacgacgccaggaacgagatcttccgtcagctttggcatctc
+ctgggcgacgcgatccaacagctgttgcgcctcctgacgaccaaacagctctgcggcatg
+ctggctaatgaggtggttaagatgcgttgctaccaccgtgctggcctcaaccactgtgta
+cccctgaatctgcgcctgttcttttagcgcactttcaatccagatagcattcaggccaaa
+tgccggatcgacggtcgcctcaccaggtaacgtcccggcagcggttccagggttaatcgc
+cagccagcgccccggataagcatcaccactgccaatctccacgcctttcatcaaaatgcg
+atagcgggcaggttgcagatccatattgtcgcgaatgtgcaccactggcggcagaaatcc
+catctcctgggcaaatttcttgcggatactgcgtatacggcccaacaactcaccatcctg
+ctggaaatcgaccatcgggatcagtcgataacccacttccattcccagagaatcttccag
+ttgtacatcgttccacgtcgcttcgacaacggtattattctctgccatttttaccggttt
+gggttcggcaggcgctttttgttcgcgtccgcgtatccaccaggccagcccgagcaatcc
+ggcagtgaacagcaaaaataccaggttcggcattccaggcaccaggccgagtaaaccgag
+cacggcggcgcttaacaacataacgcttgggttactgaaaagctgattcaccatctgctc
+gccaacatcctgatcggtgctgacacgcgtaacgatgacccccgcggcggtagaaatcac
+cagcgccggaatttgtgccaccagaccgtcgccaatggtcaatagcgtataactttccgc
+cgcgtgtcccatgctcatgccatgttgcagcacgccgaccagcaacccgccgacaatgtt
+aatgaccatgatgaggatcccggcgatggcatcgccgcgaacaaacttacttgccccgtc
+cattgagccgtaaaaatcggcttcctgagtcacttcggagcggcgttttttcgcctcatc
+ttcaccaatcaatccggcgttaaggtcggcgtcaatcgccatctgcttacccggcatacc
+atcgagaacaaagcgcgcacccacttctgcgatacgcccggcacctttggtaatgaccat
+aaagttgatgatcacgagaatgacaaacaccacgataccgatagcgaaattgccaccaac
+gaggaagtgaccgaacgcttcgaccaccttccctgccgccgccgcgccggtatgcccttc
+cattaaaatgatacgggttgaagccacgttaagtgccagacgcaacagcgtggtaaacaa
+cagaatggtcggaaacgcagcaaactcaagcgtgcgctgggtaaacatcgccaccagcaa
+caccatgatcgacaaggcaatattgaaggtaaacaacaggtcgagtatgaatgcgggcag
+tggcagcaccatcatcgacaagatcaacaggatcaaaatcggtccggcaaggatctgcca
+ttgtgtcgatttcaggtttgcgggcaggcgcagcatcgcggccagattactcatgggtcg
+gtttctcgttaataaaatccagggcttccggcaccggaagatgagtaggttgtacagggc
+gctgtccaccagccagacgccagcgtttcagttgccagacccaggccagcacttccgcca
+ccgcggcgtacagttgacccgggatttgttgaccaatctccgcatgtcgatacagcgctc
+gcgccagcggcggcgcttcaagcgtcgggacgttattttcagcgccaatttcacgaatgc
+gcagcgcgaccagccctgcacctttagcgaccactttcggtgcgctcattttgttttcgt
+catactgcaacgctaccgaatagtgggtcgggttattgacaatgacatccgctttcggca
+catcggccatcatccgacgccgtgcagcagctcgctgcatctgacggatccgccctttaa
+catgagggtcaccttcgctttgtttgaactcatcacgaatatcctgccgtgacatacgca
+gctttttcaggtggctgaatatttggaaaaagacgtcaaatcccaccattggaatgacac
+caagcaccaccagcagtgcgcatagccctaccaaatccatcgcattacccatggcggtaa
+tcggagactcggccatcaagcgcatcatctgcggccagtgatgccagagaaaaaaccccg
+tcacgctgccaaccaggatggttttcaaaattgctttaagcaactccgcgccagtctgag
+ccgagaacatccgtttaatgcccggtagcgggttgagtttggaaaacttcggctgcaagg
+atttgccgctaaataccagccctcccagcatgaccggagaaatgagcgccaccagcacca
+cgccgctaatcagcggcagcagcgccagcatggcttctctgatcagcagaataatctgcc
+cgaggatcagattcgggtcattgataatactgtgatcaaaatgcagcccagcggagagca
+tgcccgacaatcgacgggccagcgacacaccgccaaaccagataacactaacgcccacca
+gcaaaatcagcagtgaggtcagttcacgggaacgcgggatttgcccctcttcccgcgctt
+tttctagtcggtgaggtgtgggggcttctgttttgtcgtcgctctcgtcagacacgtcgc
+caatcctggaaagagtattaagcgtgaatgatgccagagcgcaaagcgttcaatggtttg
+agtaaggggcaaaacaggcgggatttagggcttttgctgccacacatcaagcatagtgtg
+cgtttgtcggatgcggcgtcatcgccttatcagaccgcctgatatgacgtggtcacgcca
+catcaggcaatacaaatcaaaatccaagactatccaacaaatcgtccacctgatcctgac
+tggctaccacaccggctttgctggtatcgacctgaggtccattaagcaaactctggtttt
+cacgttttggacgcgactcctgttccgggatgttttccaacagcaccatcagcaactggc
+gttcgatctcctgaatgacatccatcatccgcttaatgacctgcccggtgagatcctgaa
+aatcctgcgccatcatgatttccagcagttgcgcgttagtaaagctggtatgcgcgggta
+catctgccagaaattgtcgtgtatctgttaccagttcacgggcgtcggcaaggtcaatcg
+gatcggcaaaccagtcatcccaacgttgggttaacgcttttgctgatttctccatttgat
+cctgatgcggttgtgacgcctcaacactgttcagcgcccgctccgcagcctgggcggtca
+tctgcacaacatagtacaaacgatcgcgcgcatcggggatggcttccgccgcttcggcaa
+tggcctgatccagccccagttcccgcaaactgtcgcgcagcatacgcgtcaggctgccga
+tgcgcgcaatgatatcgccagctgaatgctcgtcagcaggtttgattgatggttgcatca
+tagtcgcatcctcacatgcccagtttctcaaagattttgttgagtttttcctccagcgtc
+gcggcggtaaatggcttcaccacatagccactggcccccgcttgcgccgcagcaatgatg
+ttctctttcttcgcttctgcagtcaccattaacactggcaatgccgacatcgcgccatcc
+gcacgaattgttttcagcaattccaggccatccatattgggcatgttccagtcggagata
+acaaatccataaccgcctgcctgcaacttattgagagcgtcgacgccatcttccgcttcc
+tcaacattattgaatcccagctctttcagcaggttacgcactatgcgtcgcatggtggaa
+aagtcatccacaaccaaaaatttaagttctttatccgccatttcacactcctgatttaaa
+tacgtatcgcctgtccggcactaatttttgccaacatttgctggcttacctggctaagat
+cgaccacttcgcagacaccacccatattgatggcctcgcgcggcatgccgaacaccacgc
+aacttgcttcgttttgcgcaagggtccatgcccccgcctgacgcatcgccaacattcccg
+ccgcgccgtcgttgcccataccggtcaggatcaccccaaccgcattacgccccgcctgtt
+tggcgacagaatggaacaacacatctaccgaaggccgatgacggttaaccgccgggccat
+cgtgaattttgatttggtaatttgcgccactacgcgacagctccatatgccgatcgcccg
+gcgcaatataggcatgccccggcaagacacgttctccgtcttcggcttctttaaccccga
+tctggcaaagcttattaagtctgtcggcaaaagagcgggtgaaaccgggcggcatatgct
+gggtaattaacagtgccgggctggaaagcggcaacggttgcagtacgtgacgaattgcct
+cagttccacccgttgaagcaccaatcgcaatcagtttttcagaactcaacaacggccccg
+ccttcagcgttgtcggtgccgacaatggcttatgtgctgcaaggctcgcctttgctgccg
+tacgcaccttttcagcaatcatttcgttatacgccagcataccttcgcgaatacccagtt
+gcggtttggtgacaaaatctatcgcccccagctccagcgcgcgcagcgtgacttctgacc
+ctttgccggtcagggaagaaaccatcacaacgggcattggacgcaaacgcattaattttt
+cgaggaaatccagtccgtccatccgcggcatttcaacatccagcgtcagcacatcgggat
+tgaatttcttaatcaagtcacgcgcgaccagcggatcaggcgcggtcgccaccatttcca
+tgtcgctatggctgttgatgatttctgtcatgatctggcgcatcagtgccgaatcatcga
+cagataacaccctgattttgctcatcgttaatccttacttagcgcatacaccgtctgacc
+acgcagcgtgaagcggcgctcaaggtggctaaagttttcagagtgacccgcaaacagcaa
+tccgtcgggtttaaggagcggaacaaagcggcgcaaaatctcctgctgggtagtttgatc
+gaagtagatcatgacgttacgacagaagatcgcatcaaacggccccggcacggtgtactg
+tttcgccagtagattcagcggggcaaaatcaacatagttcgccagctcctgacgcacgcg
+taccagcccttcatgcggccccgtccctcgcatgaaataccgttgcagttgctgcggcgt
+caggtttttcaactcttcatggcgatagataccgcttctggctttttccagcacttcggt
+gtcgatatcactggcaaacactttccagcgtccgggcgcggtgcccaatgtgtcagccag
+cgtcatcgcaatgctgtacggctcttcgccggtcgaagccgccgcgctccatacgcgata
+ctcgccagaacggcgacgtgcgtgatccgcgagcagagggaaatgatgtgcctcacggaa
+aaatgccgtcagattcgtggtcagcgaattgataaacgcctgccactcaccgctgtgctg
+attagattccagcaagttcagataatgaccgaaatccgtcagtcccagcgaacgcaaacg
+acgaaccagtcggttgtaaaccatgtcgcgtttatggtcagccagaacgatcccggctcg
+ttgatagatcaattgacttatccgccgaaaatgcgcgtcggaaagcgccaggcgctcggt
+catctgtaacaataaagacgtttgcccacagggcagagatgaagtcatagcgccttctca
+atcacttcaggataccactggcgcaatttgtaactgcaccgactcatgtcgtgctacttc
+atgttcttcaagggtaaataccgccacacgcgacgaaagatggtcggcctgattcgccag
+ttgttccgttgccaccgccgcttcttctaccagcgaggcgttctgctgagtcacctgatc
+catctggctgacagcctgtgcaacctgctcaatcccccgctgttgttcttccgacgcaga
+ggcaatttctcccataatgtcgttcacgcgggtcaccgaactgacaatatcgatcatggt
+cgcggcggcgttattcaccagtttcgaaccctgctggacacgattgactgactcttcgat
+cagccctttgatctcttttgctgcctgcgcgctacggctggcaagattgcgcacttcacc
+tgccactaccgcaaaaccacgcccctgctctccggcgcgagccgcttccactgccgcatt
+cagggccagaatattggtctggaaagcaattccgtcgataacgctgataatgtcgccaat
+tttttgcgagctggtggcgatctcctgcatggtgtgagtcatggtactgacctgaacacc
+gcccgcctgcgccgttgtcgcggcattttttgccagttccgacgcctgtcgtgcgttatc
+ggcgttttgccctaccgtggcggttaattgctccatactggcggccgtttgtgccagcga
+tgccgcctgctgttcggtacgacttgagagatcgttattgcctgcgacaatctccgcgat
+accaatgtgcatctcctggcttcccttacgcacatcacttaccgtcccacgcaaagcctg
+ctgcatggtcttcagactggcaaaaatggcggtgatctcattacgaccatataccgcaat
+cggacgcgccagattacccgcagcaatgctgtcaaaatggctaccgataatggccagtgg
+ttgaacaatcatcttgcgcgtccaccacagcgcactgctgatgtagatcgccgcaacaat
+aatcatgctgataaacaccagtgccgaaatctgatagttacgctggctttgcgcactggc
+ggcttccagcacatggttgatctccagctgccaggcctcaaagttaacgtcaaacgcatt
+ctgtgatccctgcaccggcgcagtgaggaaatccgaaagttgattactttcaagccaggt
+cgcctgatgttcgagatcgttgtgccagcgggcaaaacttttctccgtctctttttgcaa
+tcccctgacgtgctcgttgcccgcagtcatcgccataaaacttttaaacagcgtggtgga
+ttgcgtcagactggcgcgcgccgtcgtcatcaacgttttaatgtcatccgccggatagct
+aagtgccgtcagagtgcccgctttgttcagcgcggtactggcctgtaacattaccgcccg
+agtttgcgctaatgccgcacgttgctgattgctctgctcgacctgattcagtcgttgcaa
+atcgtcgcgaaatgcccaaaaagacatgccgttactgccaatctgcaagatcccgcagag
+aatcaaaattaaaaacagcgtggtcgaaattcgaatacgattaaacatcaacgctcccca
+tcaggcggcaatgaccgcgttagtaaatactcgtcaaaatgtttcccagtttggatcttg
+ttcagcaattcgcagtcgtggctgagccggtggttgctcactggcaggacgggatggtgt
+ttgcggtttattggtgagtgggctggctgccagacggaacgcggaaactgcttgcgttaa
+acgactcgcctgttcttccagcgcagcggcggcggcagctgattcctgcaccagcgatgc
+gttctgttgcgtgacgcgatccatttccgaaaccgccaatgcgacttgatcgatgccacg
+gctctgttcatccgatgccgatgcaatctcgcccataatgtcagtcacgcgagtgacagc
+attgacgatattgttcattgtttccccggcgctttcgaccagcaccgaaccggtatcaac
+gcgtgagacggagtcttcaatgagggctttgatctcttttgccgcctgggcgctgcgact
+ggcaagattacgcacttcacccgccaccacggcaaaaccacggccctgttcacccgcacg
+cgcggcttcaaccgcggcattcagcgcgaggatattagtctggaaggcaataccgtcgat
+aacgctgataatgtcggcaattttcttcgaactatcggcgatctcatgcatcgttttcac
+tacgccatccaccactttgccgccgtgctgggcggtgtcggaggcactttgcgccagttg
+cgaggcctggcgggcgttatcggcgttttgcttcactgtcgcggtgagctgctccatgct
+ggcggcagtttcttccagcgcggatgcctgctgttcagtacgggaggaaagatcggtgtt
+gcccgccgcaatttcacgggtaccggcatagatggcatctgaaccttcgcggacatgagt
+gacggtgtcagtcaaagagcgttgcatatgtgaaacgctctgcgccaggtcgcccatttc
+actgcgcccgtcaatggtcagggtattcgccaggttaccaccggcgatttcgcgaatgtg
+agcaataatttttgccagcggagtaagcaacatacggcgaatgccgtaccacgccaccag
+cagaatcaataccaccaccagcgcgataaccgccagttgccactgggcaaatcggtaatc
+atctgcgttgtcagtgacgatatcgcgatacagtttttcactgctgagggcgtactgagc
+aaacgcttcgcccattgcattttgcattccctgggttggctgagcgaaataagctccagt
+attgccataatctagataatcaatcagttcagttaacgctgtgtaatagtttttatattt
+ttcatcaatattacgactggtagcgaccatttcaggtaacggtgccatgcttttgaattt
+tttataatgcgtcgctgcctgcgccaatgttttcctggcgctatcgagcaattcaacttt
+ggcgttactttgttgattggaggaatccatcatcatccgtaccgctgaacgactcaggtt
+aatgcgcgtttgcagcattaaatcccaggttgacgtcagctcgccctgctgttcccgtaa
+ttgattggaaaccacaaagctcttctggctatggtgaagggaagaaaaaaacagactgcc
+ggaaataagctgtaacagtgcgaatacccccagcaccattaccaacagcgtgactacgcg
+gatacggttaatcataaggcaccttcctgaaaacaagttgatctcgttatcggcaaggag
+gggggaaactttattgctgatgccacccgccgcgaaattgaaataaaaaacccgatgcgc
+agatcatcgggttcatttcaattgaggaaatcgggagaattacgccacttctgacgccgc
+gctatctaacagcgccatctcttcgctgttcagcagtttttcgatgttcaccagaatcaa
+catccggtcgcccagtgcgcccagtccagtgagatattctgttgaaagcgtcacggcaaa
+ttccggtgccggacgaatttgctccgccgtcaatgaaagcacgtctgagacgccgtcaac
+cacgatgccgaccacccgctgtccgagattcaggacgataactaccgtgttgtcgttata
+gtccacatccacctggctgaacttaattcgtaagtcaacaatcggcacaataacgccgcg
+cagattcgtgacgcctttgataaacgctggcgtgttcgcaatccgtgttacctgatcgta
+gccacggatctcctgcactttcaggatatcaataccgtactcttcatcaccaagggtaaa
+taccagaaattcctggcctgacggctcgctggccagctttgttacattcgtcataccggt
+catattgttacctttttactcattcaggcggcggtgttcgccatacgttgttcgcggttt
+atcgcctgcaaggcggagacatcaacaatcagtgccacgctgccgtcgccaagaatggtc
+gcagcagaaatgccggggactttgcgatagttactttcaaggtttttaaccacaacctgg
+tgttgaccaattaattgatccaccagcaaggcgtagcggcgaccgccactttgtaagatc
+accacaattccctgggtggcttcggttttcgcgcccgcgacgttgaacactttccacagt
+tcgacgatgggcagatattcaccccgcacttccagcacccgctcgccgccggccagtgga
+tggagatcggcttcacggggttgcagtgattccataacagcattcagcggcagaatgaaa
+acttcatccgcaacgcgtacggacatgccgtcgaggatggccagcgtcagcggcagtaaa
+atgcggatcgtagtgccagtaccctgcttcgactggatttcgacatgaccgcccatcttc
+tggatattacgtttaacgacgtccatgccgacgccgcgcccggagacgtcggtgacctgc
+tctgccgtggagaagccaggtgcaaatatcagcatcgcgacttcgtcgtcgctcatgttt
+tcgctgacagtcaaaccttgcgaggccgcttttgccagaattcgctcacggtttagcccc
+gccccatcgtcggtcacttcaatgcaaatgttgccgccctgatgttcggcagacagaatt
+aaatttccgacgctgtttttacctgcggcgagccgtttttctggcagttcaataccgtga
+tcgaggctattgcgtaccaggtgggtcagcgggtcgataatgcgttctatcaggcttttg
+tcgagttcagtagaactgcccaccagcgtcagttctacctgcttgccgagttttcccgcc
+agatcacgcaccagccggggatagcgactaaaaacatattccatcggcatcatgcgaatc
+gacatcactgattcctgcaaatcacgggcgttacgttgtaactgccccatgctggttatc
+aaatcaccatgattaaccgggtccagttcgctggaacgctgggcaagcatggactgggtg
+ataaccagctcgccgacgaggttaattaattgatcaaccttttctaccgctacacggatg
+ctggtggattcattgctgcgcgtcgttttttcccgctccacgcggccggttggcgcttgt
+tcggctgccagtttaagcactggtggggtggatatttttggcgagacttctactgtttca
+aaggtaatctgatcggcttcaatcacaaaacagagtaccgctgtgatgtcatcttcggcg
+atgtcgcccggtaatattgccgagagcgaatccgcccctttcaccacgtcagttaacgtt
+gtcagatgtcccagttcttcttccagcaggtcgacttccccggccttcaggcgcgaaagg
+ataattcgtcgcggcgactgactgcgactctgctcatcttgcggttcacttttggcaacc
+acacttaatcgggtcactgcggatggcgtttcgcctttcgcttctaatgccagttgacgc
+aaggcctggcagatataatcgaagctggcggcatccggctcttgcgactgtttataagcg
+tcgagctgttcttgcatgatgtccttcgtttccaaaaacagattgataatgtcggtgttg
+agttgcatctcacctcgtctggcttcatcgagcaggttttccatcagatgcgtggtttcc
+tgcaaaacgctgaagccaaaagttcctgcccctcctttgatcgagtgggcagcccgaaag
+atggcattcaattgttcggcatctggcgcttccggctgcaaaaccagcaaatgctgctcc
+atgtcagccaacagttcgtccgcttcatcaaaaaatgtctgataaaaatcgcttatatcc
+atgctcacgctgtcacctcggttcggctgatggcattgtgggaacactgacctgtggtgc
+aacctcaggtttttccagggcgcttactggctcattctggctttcggcgttttcatgcaa
+aatggcctgttcggcttgtttgttcagtaccagcaggctgatgcgacggttgacggcatc
+atcaggtccgcgatcgcttaagcgcatcgttgccgccatgccgacgacacgtaacacttt
+gccgctatccaaccctccgaccatcagttcgcggcgggatgcattggcccgatcggcaga
+aagctcccagttgctatatcctttctcaccgctggcgtaggggaaatcatcggtatgacc
+tgaaaggctaatacggttgggaataccgttcagtacaggcgcaatggcgcgcagaatgtc
+gcgcatatagggttcgacatcggcactgccggttctaaacatcgggcgattctggctatc
+gatgatctgaatacgtagaccttcctggaccagatcgattttgagatggggacgtaacgc
+ccgcagtttcggatcggactctatcaactggtcgagatcaccccgcaatttccgcaatcg
+actttgctccatgcgttttttcagctcttcgatgttcggctgcttattcacttccccctg
+gctttgggtgtaatcatcaccaccgccgggaattgggctttcactattagaaatgcgatc
+gccgcccgtaaccgcagtcgccagtggagtccggaagtactccgcaatctgaatcagctc
+ttttgggctggagatggagatcagccacatcaccagaaaaaaggccatcatcgcagtcat
+aaagtcggcataagcaatcttccacgatccatgtgctgccccgtggcttttggctttgcg
+tcgtttgacgacaataatcggatgcgcttgattcttcatgcttcctcggttgtcgtctgt
+tgttgcggatttttcaccgcacgcacatgctcttccagttcaataaacgacggacgttcg
+ctggaatagagcgttttgcgaccaaactcaacggcgataggcggtgcgtaaccgttcaga
+ttagaaagcagagtgactttgacgcactgcatcattttgctggtttcggcgcttttctga
+cgtaaaacagtcgctaatggggaaataaatccgtaagccaataaaatgccgaggaaagtc
+cccaccatcgcatgtgcgataagcgcacccagctcggcggcaggacgatcggctgaacct
+aacgcgtgaacgacccccattacagccgcaacaataccaaacgccggaagtgagtccccg
+accagcgccagactgttcgccgggacttctgcctcgctttcgtgcgtctcaatctcttca
+tccatcagagcttcgatttcgaaggtgttcatgtgaccgctgataatcaggcgcagataa
+tcgacgataaaatcaagcatgacgctatccgcgaggatgcgtgggtagctggcgaagatc
+tcgctctcacggggattttcaatatcacgttccagcgaaaacatccccatctgccgcgat
+ttcgccatcaaccgataaagcagagccagcagatccatatacattgctttggtgtatttg
+gagcgacgaaacagcaacggcagcgccttcagcgtgcctttaatcgctttgccattattg
+ccgacgataaacgacccaatccctgcaccggcaataatcaccagttcagcgggttgatag
+agtgctccaaggcttccaccggtcatcaaataaccgccgaaaactgtaccgagaacaacc
+aggtaacctaataagataagcacgacatcatccttccactgttgaccatgacaggatgtt
+cagtcgtcaggcgttaacgcgcgattggggcaaaaaaaagcagcggtacgtcgttaccgc
+tgctggaatgttgcgcctcaccgtatcagttaaacagcctgtactctctgttcatccagc
+agttgtgggataatatcggcaggattctgggaaagtttacgtctttttactgcccgggat
+ggcggttgacataagctgcaggcaaagctgccaacaggctggtgagcgtgggtaataaaa
+ttgccgccgcagcagttgcagctggaaagttgcagtaatccactttcaacaaaccgcacc
+aatgtccaggcacgggttaatgccagcagtggtccttcttctgcttgtgggcactgttca
+aggtataaacggtaggctttgatcaccgcatcgacgccattacacaaaccggttttcagt
+aaaaactgccatgcattacagaacatcgaagcatgaacgttttgttcccaggtcataaac
+cagtcggttgagaatggcagcatgcctttcggcggtgggcttccgcgcagttctttataa
+agttttatcaggcgtccgcgacttaactgtgtttcgctttccagcatctgcaaacgagcg
+cccagggtgatcaattccattgccagctgaatatcccgcgcttcctgaacaatgcttttt
+tcactcatgatcaggcccttttcttgcgcagcgcttcttcaggctgattaacatcattca
+gcaagcgtgttgagagcatgatgccggtatgaatttgctggagatcgtcaacgcgggaat
+cttgcgtcaactgagtaatcgtctggtggctgtcaaaacggaagtgacaaaccagttgat
+tggtttctgccagcttaaccatttgcggaagagtcagtgccgctaacgttgtcgccattt
+cttcatttatgccgagacgaaacatagcggacgctttgtcctgaacaatcaaacgctgtg
+caagtagtaaatatgacaagttgatgtcataaatgtgtttcagcaactcggaggtatgca
+ttattcccacccagaataaccaactttatttttatgcggtttcaccgcaccccgtgatgt
+cgccgggaagccccggtaaaaaataattagcattagaatagttgcgataagctgcaataa
+gcagaaccacctttttggtttaatatgtccttacaaatagaaatgggtctttacacttat
+ctaagatttttcctaaatcgacgcaactgtactcgtcactacacgcacatacaacggagg
+ggggctgcgattttcaataatgcgtgatgcagatcacacaaaacactcaattacttaaca
+taaatgggtaatgactccaacttattgatagtgttttatgttcagataatgcccgatgac
+tttgtcatgcagctccaccgattttgagaacgacagcgacttccgtcccagccgtgccag
+gtgctgcctcagattcaggttatgccgctcaattcgctgcgtatatcgcttgctgattac
+gtgcagctttcccttcaggcgggattcatacagcggccagccatccgtcatccatatcac
+cacgtcaaagggtgacagcaggctcataagacgccccagcgtcgccatagtgcgttcacc
+gaatacgtgcgcaacaaccgtcttccggagactgtcatacgcgtaaaacagccagcgctg
+gcgcgatttagccccgacatagccccactgttcgtccatttccgcgcagacgatgacgtc
+actgcccggctgtatgcgcgaggttaccgactgcggcctgagttttttaagtgacgtaaa
+atcgtgttgaggccaacgcccataatgcgggctgttgcccggcatccaacgccattcatg
+gccatatcaatgattttctggtgcgtaccgggttgagaagcggtgtaagtgaactgcagt
+tgccatgttttacggcagtgagagcagagatagcgctgatgtccggcggtgcttttgccg
+ttacgcaccaccccgtcagtagctgaacaggagggacagctgatagaaacagaagccact
+ggagcacctcaaaaacaccatcatacactaaatcagtaagttggcagcatcacccataaa
+tgtataagtcatacttttgttttgggtgtatttcaatctgttaaaaagtttttcgctacg
+ctagcaagcaaaaatgaaacaggaataatcgaaatgggatgttgcgcacagtcaaaataa
+ctcaccgtaaataatcatctgctataaataatcactttcatgcaataccagataagctat
+ttttaaacagacacttaccgcacaacaaactaattaaatacaaagaaaggcaacaatcaa
+cttaatgttaatgaaatgttttacatatattaaccacttgtttaatgcggagaatcagta
+cactattttcttataattacatttgaaattatatgatcaccgggagtgattgattaatta
+tctttactaataatcagactaatatttacctgtttgaccgagttgggattgcgtcgtttc
+tccattaggagtaaagctttaatgtcacctgaagttcacagaataaggaacaggttatga
+gctatagcaatattcttgtcgctgttgcggttacaccggaaagtcagcaactgctggcaa
+aagcggtatctatcgccaggccagtaaagggacacatcagtttaattactctcgcttccg
+acccggaaatgtacaatcaattagctgcgccgatgcttgaagatttacgcagcgtgatgc
+atgaagaaacgcaaagctttcttgataagttaattcaggatgcggggtatcccgttgaca
+agacgtttattgcctacggtgagttaagcgaacatattctggaagtatgtcacaagcatc
+atttcgatttggtgatttgcggtaatcacaatcacagtttcttttcgcgagcatcctgct
+cggcgaaaagagttattgcctcaagtgaggtcgatgtgctgttagttccacttacgggag
+attaaccgctcctacgcaagctttggaaaggtagcaactttatcgcgctgctggctttcc
+gcgcttcgcggaactatctgctttaggtcgctaatgaagcactcctgccagtggttaata
+tcgtttttcacgataacgtccagcatttctgcatgacgggaaatacgttccgccagcgac
+atagtcaatgcacgatccagcgcagctgcaacttcgtcacgatcgtaggggttaacaatt
+aacgccgacgttaactcgtttgccgctcccgcaaattgcgaaagaacaagaacgcccgga
+ttggctgggtcctgagcagcaacatactcttttgctaccaggttcatcccgtcacgcagt
+ggcgtcactaagcccacgtcagagtagcggaatattttcatcagtaatttacggtcaaaa
+tgctgattcaaataataaagcggcgtccagcctaattgcccgtatttaccattaattcgt
+ccagcttcattttcgagctgatgacgaatatcctgataggcttgcacatcaccacgcgac
+gttggtgcaatctgggtataacgaattttaccatgatgctgcggatatttttccagcaac
+gcttcataggcgagaaaacgctctggcaaacctttggaataatccagccgttcgacagaa
+aagatattttgtacgtttttcagttccgctttaagttgcgccagttttggcggcagtggc
+ccggcagcctgtttggctatttctttcggttcaatgccgatcgggtagacttctgttcga
+aatgctttgccccaggctgtatggctttttgcgctacgtgtcgtgacgcgggtcaggtta
+gaaagacaatccaggaacgccagacgatcgttttctgtctggaaacccagcaaatcataa
+tcacaaagctgttcaagcaaggtgtcatatgtcggcagcgcgttgaagatttccggtgtc
+gggaaaggaatatgcagaaagaaaccaatgcgattattcactccccgtttgcgtaattca
+tgcgcaaatggcaacaggtgataatcgtggatccagataatgtcatcgtcttgcaacagc
+ggcagtaatttatctgccagcaacgcatttacgcgtagatagccgtcccaggcaggacgc
+tgaaattgcaccagatcgagccgataatgaaaagcgggccagagaacggcattggagaat
+tggttgtagtattcgtcaaggtcctgttcgctgaggttaaaagaggcccacgtaatgtta
+ccttttttcaccttttttagcggctgatcctcattccctgtttcaccactccagccaaac
+cacagtccgcctgcggctttcagtgcccccagtatgccaacggcaaggccaccggcactg
+gcggcgtgctcgtctggtggtgcaatccggttagatactacgactaaacgactcatagtc
+atcactcctgttattttctcttttttgttgtaatgcggtggttatcatttcaagccagct
+ccagacatccggcacacccgccagtcgccatgatgcctgagttgcacctgtgccaatttt
+tactgacattccgcccagtcggttaacgactgcgaagccagattcatcggttaaatcatc
+gcccagaaatacgggcgttcgcccgataaagggagcttcctgcataaaagctgcaattgc
+ctcacctttactggtacctctcggtttgatctcgacaacacactttccctgctgtaacgc
+catttgtggccagatctgagtaatacgttgcgctaatgtcattaatgcgtcttcatgctg
+cggagcctgacgataatgcagcgcaaaagccatccctttcgcctccagctccgcgccggg
+atactgagcgatgactgtatgcagttgcacgctaatatcacgcgcaatcgcatccggcag
+atgaacgatatgtgttttaccattgatgtcacggcgctccgccccatgcacgcccgctaa
+cgggaagcgataaggttttgccagtgcgtcaagctccaccattgagcgccctgatatcaa
+tgccaatgcaccatcacttgcggttgccagtagctgtagtccttgcagaatattgtcagg
+cacgacgacctgatcgggatgcggtttgatttccgccagcgttccatcaagatcaaaaaa
+ccaggcatatttcgcggatagttcaggggtttcggttaacggttctgtcacccggttctc
+ctccttctcttttcttattgtgttgcgcagaacgcgctttacagacatgtaagtatagac
+agtgtgacgggggtcgccatttgcaacgaagaacagccaaccgttatggcggttggctat
+ggtgggaaaaaacgctaaattgttgcagaaaaaagcatcagacagtgcgtttcgcttttt
+gcttgtaacggtcgaagatcaccgctgccagcaggattaagccgcgaaccacgtactgcg
+cgaaaggagaaatattaagcaggttcatggcgttttccacggtgcctaaaattaagatac
+ccgccaccacatatgagatttttccgatgccacctttcagagaaacgccacctaaaacgc
+aggcggagataacaatcagctcataaccaatcgacgtcattggctgcccactggtcatac
+gtgaagccagaataattccggctatcgctgataccaggcctgagagaacaaagataataa
+ttttggtgcgaacaaccggtacacccgccagacgcgcggcctcttcgttcccgccaatcg
+ccagggtgttacgaccaaaggtggttttattcagcagcaaaccaaagataatcagacacg
+cgacggtgagccagattggcgcaggcagaccgaaccagttggcgtaaccaagggcaaaga
+agctttcatcttcgataccgaccgctttaccgtctgaaatgatgtacgccagacctcgaa
+caatctgcatcgttgccaatgtcgtgatcagagcatttattttcagtttggcgataacaa
+agccattgaccaggccacagagaacgcccagcaacaaccccgctgccacgccaatccaca
+ggctttcagtcaggttaataaccaccgccgtggtgacacccgcacaggcaattacggagg
+cgacagaaaggtcaaagtcaccggaagcgaggcagaacaacatgccacaagccaccatcc
+ccgacatggaaattgccaggcccaaccctttcatattaatgaaggtggcaaaatttggga
+caaaaatggcacaggcgataaagagcaccgcaaacaccaccagcatgccgtactgatccc
+agatacgcccgaagctgaatgacgacttaggtgcgccagaccccgatgtagaaacagaag
+acatcatactctccttactcaggcaacagcctggctgactttaggcatcgcaaggctcag
+tgcctgacgctcatctgcctgctcgtgtaacaattcaccggcgatttcaccttcccgcat
+caccacaatccggtcggcaacgccgaggacttcaggtaagtcgctggaggcaaacagcac
+cgccacgccctgcgccgccagcgcataaattacgttatatatttcgtgcttagcgccaac
+atcaatgccgcgcgtaggttcatccagcaaaatgaccttcatctcttccgataaccagcg
+gcccagaatggctttttgctgatttccgcctgagagattcatgatcagttgctccgcgcc
+cggcgttttgatgttgagcgaacgaatgtggtgatcggcattgttttcttcccaaccgtt
+gttgattacacaaccgccgagcacatgtttacgtctggcactgatgttgatattgtcgcg
+aacggagtgcacgggaataatgccttccgctttgcgatcttccgggcagagcatcatgcc
+tgcggcaatggcgtggctcggtttacgaatatcgatcggctgttggtcgatataaacctg
+accggcggtgatttgcgtcccgccaaacatgcctttcattaattcgctacgccccgcccc
+taccagaccaaacagcccaacaatttcaccactgcgaaccgccagacttattggcgtacg
+cacgcctggtgctttcacagcatcaagacgtaggcgctcctcgccataactacgcggttg
+ccagccgtagatatcgccaatgtcgcgcccgaccatcgcctgcaccagcgcgtcgtggtc
+aacctgctgcatatcggtaaaggttttgacataacgtccatctttaaagacagtaatggc
+atcgctgagggcaaatatttcttccatacggtgagaaacgtataagattacccgcccctc
+ttttcgcagttcacgaataacgcggaaaagattgtcgatttcacgggcagagagggagct
+ggttggctcatcaaaggcgataattttggcgttacgcgccagcgctttggcgatttcaac
+catctgccactgaccaatggagagatatttcagcggcgtgtccgggtcaatatccatacc
+aagatgtttaagttgtaaacccgcctcataattcagcaatgagcgattcacaatgccgcc
+tttatgcggcagctggccgagatagatgttttccgcgacggtcatttccggcacgagatg
+cagttcctggtaaataatcgccacgcccgcgttaagtgctgcggtcgtgtcggaaaagga
+catttcctgcccattaatcactacagaacccgtggttggcgcatagttgccgctgaggat
+ttttaagagagttgattttcctgcgccattttcacccatcaacgcatgaacctgaccggc
+atagcagtcaaaactaatatccgtcagcgccttaacgccgggaaacgttttaccgatgcc
+gcgaaatgagagatacggggtagactgttgcataacgtctccgtgaatcactggtcgttc
+acaccccctctgcatcatgcagaggggaatttttccggcaaattacttaccgcctaaacc
+ttttttctccagttcttctttaaagttgtcacgcgtgatcagtaccacgtcggtaacttc
+ggtaaattttggcggttcaacgtcttttgctacccagttgtaaagcatttcgctggattt
+atagccatgtacgtccgggcttggcagcagggaaccgtagaagccggttgcctgtgcttt
+agacagttcgctcaccgcatccacaccgttaatgccaatgccgatgatatcggccgcttt
+aaagccctgaccttccgtcgcgcgtacgccgcccagcacggtgctgtcgttcataccgac
+gatcagccaatgtttaacttccggatgttgaaccagcattgagttggcagcgtcaaatgc
+ccccgggatgtcgttagatttggtaggtacctgataaatttgtttttccgggaatccggc
+cgctttcagcgcatccatagatcccgtagtacggcggcgggcggtatccagttcgttggc
+ggtaatcgccatcaccgcgctttctttgacatcccagccacgtttctgcatctctttata
+cagttcctggccctgacgttcgccaattttagtcgccgccatcatcaccagcggaacggt
+atccattggcttacctttggcgttaacaaactggtcatccacggcaatgactttcatatc
+gtagccacgcgctttcgcgacgatggcagagccgagtttggggtccggagtacaaataac
+gaaaccttttgcgccactggcagccaggctgtcgatcgcgttcaatgttttttcgccatc
+cggcacggcaatcttaataacctcaaaccctaaatccttcccggctttatcggcaaactt
+ccattcggtctggaaccacggctcttccggttgcttcaccagaaaaccgagcttcaggtt
+ctccgccatagcggattgtgacataacggctgccagaccaatggctgccagggctttagt
+aaatttgtgcatggttctctccagctttagtgtcgttttgtgtagggcaaaaacgaatga
+cattcgttaaattaatcggaaaacaaagcattaccttttaactaaaagataagtgactgt
+gttgacatagttttagcgagaaattaattctccataggagagcaatatcacatcgcagaa
+ttacagtgagaacgtgcataaatttagcgggaaaagacataagggaaagccaatttgtca
+gacaaattgtcgaatgcacagcagattaatccataagattagcctggaaatccttgttgt
+ctttggtacccatgcgggatgtcttctttttaaccagtcaataggccgcattacctggcg
+ttgagtttttgaaatggtgtaataaccgcaactcaaagatgtggaaaatgcacgtcattc
+atttcgtcattaattatcactgtgctcattaattaacagaacacgtataatgagagccat
+ctcgcaaaaatgaaaaaacgttttataaaatcatcacttcatcatgaattcaaattcatt
+gattaatatcaacaagatacaaaaagcactatcattaaaattcattgcagttacattgat
+ttcatcaatgaaatgtaaaaatatataaacttgatgatttaagcattttcttatacccgt
+tcagacgttattcttatttcagatcatcgtcagaattgactccacgatcacatttcggac
+cggcagaaaggaattattctgcaaacagtaattatggtgttttgatttatcttgcacctc
+tccacttctggatataaggatattaggtatggcaaccgctggaatgcttctcaaactcaa
+ctctcaaatgaaccgcgagttttacgcatccaatctctaccttcacctgagtaactggtg
+ttctgaacagagtctgaacggcaccgccactttccttcgcgcccaggcacagagtaatgt
+gacccaaatgatgcgcatgtttaactttatgaagagtgtcggcgctacccccatcgttaa
+agccattgatgttcccggtgaaaaactgaactctctggaagaactgttccaaaaaacgat
+ggaagaatacgagcaacgttctagtacgttggcacagttagccgatgaagcgaaagaact
+gaatgatgattcaaccgtcaatttcctgcgcgatctggaaaaagaacagcagcatgatgg
+tctgttgctgcaaaccattcttgatgaagtgcgcagtgcgaaacttgcgggtatgtgccc
+tgtgcagaccgaccaacatgttctgaatgtcgtgtcacaccagctgcattgatcatcatc
+ggcgctaatgcattgcgccgatgaaggttttgagaaaccgctgcctcatctgtttgaagc
+agcggtttttttaatgggattcaccctgtggggtaaacttgagttcaataagcgcgatgg
+ctttttggattgcccgcatggtgaccgggtctgcggcggcgggatggttagtaaagtcga
+tattcttcagctgactggacattttttcacgaacttcaacgggcgcgattacatcgagaa
+catccagaatttgtttgataaccaactggcaagcaaccacatcagaaaccaattcctgat
+cggcattcagcggctgggacatcgtaaactcctgatagcattttgaaagccgttatagta
+gcgacttcacatcttcagcgatagtcacatccaccgtcatcaggacacaaaaaaacctgc
+cggagcaggttttttgttatcggaacatattgcctggcggtacgtctttgaacgtcttgc
+aatagttattgaacatacttttcaggattttgcgcagtttcatcgcggcactccgaccat
+ttgttatacaggtgttattgtctttgcgcttataatatgacaaccatcacaaaaatcaat
+ctttatgtgatacaaatcacataaatacccctttaatgttataaaaatgataatcaaaaa
+acagcccccctatttctgacacctacagatggcaagaaatagcgcctgccaggcgtcttt
+tccggccattgtcgcagcactgtaacgcgtaaaatagtgctttctcttactcttctggct
+ggaccatgagacttctgattctgactctttcattaataacgctggcggggtgtacggtta
+ctcgccaagcccatgtgagcgaagttgacgcggcaacaggtattgtacggttagtttatg
+accaggcttttttgcagcatgcccataccgatcgttatgtcagtcgcgggatcgccgatc
+gcgcatgccagcaggaaggctatacccacgcggtcccctttggtcagccagtaggcaact
+gtagcctttttgcgggttccttatgtttgaatacggaattcactttgtcatatcagtgcc
+atcattccgccttccctgtctttctctaaatattttaatcagcgaggggatcttcgctga
+ttaaagaaatagcggtaatgcgttttattcccattcgtatttttaataattgaagtttat
+attttaccttttgcaaataataaaataacaaattatagtgacgccacagcaacaaatata
+acctttgtggagcactatcatgctgaaaccagaaatgattgaaaaacttaatgagcagat
+gaacctggaactgtactcttcactgctttatcagcaaatgagcgcctggtgcagctatca
+taccttcgaaggtgctgccgcgttcctgcgccgtcacgcccaggaagagatgacgcatat
+gcagcgtctgtttgattacctgactgataccggcaatttaccgcgtattaataccgttga
+atctccgtttgctgaatattcctcacttgatgaattattccaggaaacctataaacacga
+acaattaatcacccagaaaattaacgaactggctcatgctgcaatgaccaatcaggacta
+cccaacatttaatttcctgcaatggtatgtttctgagcagcatgaagaagagaaactgtt
+caaatcgattattgataaattaagcctggcaggcaaaagcggcgaaggtctgtattttat
+cgacaaagaactctctaccctcgacacacaaaactaatgctctccggcggcaggtttact
+gccgccgtttcaaatcagtgacggcaaatcttactctgatcggtcgaaaaaccgtctttc
+gaaggtataaatttgccttttgctgccagaaacgctaccagctctcccgctgtcatccct
+tctgccgagcaggtgtgaaaacgtgcctgttcaccaaaacgcgctttaatcgcagcttcc
+agactggcatgcgtatattgctcgcctgattcaatcatcatatttaacacttcatgaccg
+tgaatagagtccatcgtccctcctcaaaaaaagcctagcgtagcgattgccgcttatgaa
+gactttgcgccagcgcaggactgaatgctttttattgtacatttatatttacaccatatg
+taacgtcggtttgacgaagcagccgttatgccttaacctgcgccgcagatatcactcata
+aagatcgtcaggacagaagaaagcgtgaaaaacagaaccctgggaagtgtttttatcgtg
+gcgggaaccacaattggcgcaggcatgctggcaatgccgctggctgcggccggtgttggt
+tttagcgttacgttaatcttgttgattgggctttgggcgttgatgtgctacacggcgcta
+ttactgctggaggtgtaccagcatgttccggcagataccggtctgggcacgctggcaaaa
+cgctatctgggacgctacggtcaatggctgacgggcttcagtatgatgttcttaatgtat
+gctctgactgcggcatacatcagcggtgccggtgaattgttggcctccagcatcagcgac
+tggacaggtatttctatgtcggcaaccgctggcgtgctgttgttcacttttgttgccggt
+ggcgtggtttgtgtcggaacttcactggtcgatttatttaaccgttttctgttcagcgcc
+aagattatttttctggtggtaatgctggtactactgctgccgcatattcacaaagtgaat
+cttttaaccctgccgttgcaacaggggctggctctgtctgcaatcccggtgatttttacg
+tcgtttggttttcacggtagcgtgccgagtattgtcagctatatggatggcaacattcgt
+aagctacgctgggtgtttataatcggtagtgcgatccccctggtggcatatattttctgg
+caggtggcgacgcttggcagcattgattcaacaacctttatgggattgctggctaatcat
+gctggattaaacgggctgttacaggcgttacgcgaaatggtggcctctccgcatgttgag
+ctggcagtgcatttatttgctgatttagccctcgccacgtcatttctcggcgttgcgtta
+ggcttatttgattatctggctgatttatttcagcgttcaaataccgttggtggacggttg
+caaactggtgcaattacgtttctgccgccgttggcgtttgcactgttttatccacgagga
+tttgtgatggcgctgggttacgccggtgtggcgctggcggtactggcattgattatccct
+tcgctgttgacctggcaaagcagaaagcacaatcctcaggcgggttaccgggtcaaaggt
+ggtcgtccggcgctggtggtggtgtttctctgtggtattgctgtgattggcgtgcaattt
+ttgattgcggcagggttgttaccagaagtggggtgatcagatagcctcaaattccttatt
+gggtgccagaattaacgctgacacccaatttggcctcttaatgcaggcagcactgcttaa
+atttcttaccactaccgcacgggcaaggatcgttacgccccggtttctcttctgctttga
+tcggttgctgaacagctttttcctgcggatgcgccatccagtacgcatgtagatcaagcg
+ccgccagtcgaatggcatctacgctctcttcaaacgcttctggcgacatcttttctaccc
+gctcgaagttttcctcagtaccgtgcagcgcaatcgcctccagcgctggttttaacgaat
+cgggcaacgttgaccagtcagaaagtgccacgccccgcatatagccaaagcaccactcct
+caacaatcgtcagctcgctgccatcaacttctcgcaagccgaataacggctcaaactgct
+ccgggaattcgttcagacgctctgcggtatcggccatatgttgaaaagccagattcataa
+agcgcgtcatctctttctctgacgcccagcgcggcacatagtcagccccaccccacacgg
+caaccagccactgttccggttcaatctcttgcggagaactcaacaccgccgtcaataaac
+cgtccagctccgccacatcaaggatggcgtggtcagtgttgtatttggtcagaatatcgt
+ccagccattccaactcactttcgtttaacggtcccgttttcatacgcttttccttgtgga
+tctcaactcgccagcacctatcttacatgccggtccgtatcagagatactttttgagtgg
+ctttgctggtgattaaaaattaaggagggtgtaacgacaagttgcaggcacaaaaaaacc
+acccgaaggtggtttcacgacactgcttattgctttgattttattcttatctttcccatg
+gtacccggagcgggacttgaacccgcacagcgcgaacgccgagggattttaaatcccttg
+tgtctaccgattccaccatccgggctcgggaagaaagtggaggcgcgttccggagtcgaa
+ccggactagacggatttgcaatccgctacataaccgctttgttaacgcgccaaattcttc
+aggcctttcagccagacatccgcttgacgccgatgtcttttaaactggagcgggaaacga
+gactcgaactcgcgaccccgaccttggcaaggtcgtgctctaccaactgagctattcccg
+cattcatcaagcaatcagttaatcacttgattttattatcgtctggcaatcagtgccgcc
+gttcgatgcgttgcattctacttacctggcgcgatgagtcaacgatatttttcaccactt
+ttgatcgtttgctgaaaattacgccgaaacgatcactgatcaagcaaatctgcacgcgca
+gcgctcaaatattgcaacattgaccacagagtcagtaccgcagccacaaagaaaagtgca
+ataccggcgtactcaacccaaatgttcggacgccacagcagccatgccaacgccaccatc
+tgggcagtggttttcactttcccaatccaggagacggccacgctactgcgtttacccaac
+tccgccatccattcgcgtagcgcagaaataataatttcacgggcgatcatcgttgccgcc
+ggtaatgtcacccaccagctgtgataatgctcggttaccagcaccatggcgatagccacg
+agaactttatctgccacagggtcaaggaaagcaccaaaccgggtactctggttccagcgg
+cgtgccagaaaaccatcgaaccagtcagtcaccgccgcgacgcagaaaatgagcgcggcg
+gcaaacggcgaccaggtgacaggcagataaaagaccaatacaaagaatgggataaggatg
+acacggaacagtgtaagcaacgtagggatattaaattgcataatgacgggtaactatctg
+ttgtcagtaagattacccctatgttgctacagagacatcaatgtttcaacgaccagaaga
+tcttttctgccagaccttgcgaaatacccggcacttttgcaatttcctcgacgctggcgt
+tacgtaaaccttgcaaaccgcccatatatttcaacaacatttgccgacgttttggcccga
+cgccttcaatggtttccagggaactggtatttttgaccttcgcccgttttttacggtgcc
+cgccaatcgcgtgatcatgtgattcatcgcgaatatgctggataacatgcagcgcgggtg
+aatctggcggcaaactaaatccctcaccttccggctcaaagaacagcgtttccagtccag
+ccttacgatctgctcctttggcaacgccaagtagcagcggatgatttttatcccatgaga
+catccagttcggcgaagacatttttcgcctgcgcaagctggcctttgccgccgtcgataa
+ggatcacatccgggatcttactgtcgtcaatggctttaccataacgccgacgcagcacct
+gattcatcgccgcataatcatcgcccggcgtgatgcctgtaatgttatagcgccgatact
+ccgcacgcagcgggccgttagcatcaaacaccacacaggaagcgacggtttgttcgccca
+tggtatggctgatgtcaaagcactccatccgcttcacttccggcaatttcaacacgctgg
+caagcgcggtcagtcgctggtgaacggtagattgctgcgaaagtttgctggttaaggccg
+tcgccgcattggtgcgcgcgagtttcagataacgcgccctatcgccgcgaggtttggttt
+gaacattaatcttgcgtcccgccagttctgaaagggaatcggcgagcagcgttttatcgc
+taagattaaaatcgagcaggatctcacccggtaaggtgcgcatctggctgccttgtaaat
+agaactggcctacgaaggtttctaccacctcgctcagttccgtaccgccaggcactttcg
+ggaaatagctgcggctgccgagcactttgccctgacgaatgaacaatacgtggacacaag
+ccatgcccgcatcgaacgccacaccaataacgtcgaggtcgtcgccggtattggaaacga
+attgtttttcggtgacgcgtcgcaccgcctgaatttggtcgcgaatacgtgcagcttctt
+caaactccagattctggctggcagtttccatacgactaatgagttgcgtaagcacctgat
+catctttgccagacaaaaacaggcgcacatactcgacctgctgagcgtattcttcttcac
+tcaccagtccttcaacgcacggtcccagacagcgccctatctggtattgcagacacggac
+gcgagcgattgcgataaacactattttcgcactggcgaatggggaaaatcttttgcagta
+gcgccagtgtttcacgtacggcatagccattcgggaacgggccgaaatattcacctttgg
+catgcttcgcaccacgatgcatcgccagacgcgggtgggtatcaccactcaggaagataa
+aaggatatgatttatcatcgcgtagcaaaacgttgtaacgcggctgatagagtttgatgt
+agttgtgttccagcaacagcgcttcggtttctgtgtgagtaaccgttacatcaatttgct
+ggatctgggcgaccagcgcttcggttttgcgcgaagcgaggttgctacggaaatagctgg
+aaagccgttttttcaggtctttcgctttgccgacatagataaccgtaccaccagcatcgt
+acatgcgataaacgcctggctggctggttacggtttttaaaaacgcttttgcgtcaaact
+gatcactcactgacttgataatgtctccgcattacacagaccatggcgaattgccaggtg
+agtcagctcaacatcgccatgaatgtttagtttactgaacatacgatagcggtagctgtt
+caccgttttcggactgagattgagctgttctgagatctcattgaccttctggcccttggt
+gatcatcagcataatctgcaattcacgttcagacaaactggcaaatgggctttctgtttt
+ttctggttcgatctggcttaacgccatttgttgagcgatgtcagaagcaatgtaacgctg
+ccctgaatagacagaacgaatcgcactcacgacttcctgcggagccgcgcctttgctgag
+gtagcccgcagcaccggcctgcatgactttcgctggtaaagggttttctgtatggacggt
+aagcatgatgattttgacatcagctgtggaacgcgcgattttacgcgtcgcctcaagacc
+gccaatgcccggcatactcatgtccattagcaccacgtcaacggcatttgtccggcacca
+cttaacggcgtcttcaccgcacgatgcctcaccgacgacttttataccctttatatcttc
+cagaatgcgtcgtatccctgcgcgcaccagttcgtggtcatcaacaagtagaacgttgat
+caaaggaatatctccagaaatagggataacgctactgatagttagtcattcgtatattag
+cggtttttattgcaactttgaaacgttaaaaatggtgggtattcgatttttctctcgttt
+ttgtcaattcgattgtccacagttatggtcacgcccgtcaccaacggcttaccggatcgt
+ttcacagtaagccctacgatgaaatgtgacaaaaattgactttattcagcaaaaatgaaa
+atcagcccgctgaatatgtaacattaattaacccgaacaatacgggcaaaaaacattcat
+gataaaaatatttattggtcattatattaacgtattttatagcactgccgatatcacgct
+caaaaaacaaccactgctatttttagcaaagcttatggtatactccgccgccttaacatt
+tttcaccgcaaattttcattgcaacatgacgaggaaaataaatgagtacgcctgattttt
+ctactgccgagaataatcaagaactggcaaatgaagtctcctgcctgaaagcgatgctga
+cgctgatgctgcaggcgatgggacaagctgacgcgggccgcgtgatgttaaagatggaaa
+aacagcttgcgctgatcgaagacgaaacccaggctgcagtattttccaaaacggttaagc
+aaattaaacaagcctaccgtcagtaatataaaaccggctgatagcgtgcctttcagccgg
+tttttgcatctggcacgcaggacagaaaagagatcaaattaagccagtagcggccgcgta
+acaggcaacctgggtcttatttggtgcattaatttttttctgcatgtttttctggtggaa
+attgaccgtattctcagagattgacaaaatcatcgctatctctgctgatgttttcccttc
+cgccgtccacctcagaatttctttttcgcgcttgctgaaattcatctctggcgtcatcac
+tatttcatcatttaaacgcatcagagccatcagactttcgcgcaccagtaactgcatttt
+taattgcagttcatcactaagaatgggtatttcgcgcgcgctgcaacgggaaaaggacaa
+aaagcccagcgcccggtttggcagcattaaatactgagtgacaccgcggcgtaaaccatg
+tgcgcgcgcggcttcccataacggctgtgcttcgctgaataagtcatcattccacattaa
+atggccctgactaaagttttcagggttcagcaccggatcaattgcgagaaagttttttgc
+ctgataataactaacccacgcctcagggtaattggtgtaaaaagccactttaggtcgagt
+gaatggtaccgggtggcggacacataacgaatagtaatcgtactccagctgctgagcctg
+aagctcaatttcatggtagacctcttctgcggtctccatcctctgaaaacgcaacagcat
+cgtgcgacgccagctgaaaaaatccttatcctgcatagtaaaccgcaacgcccctgagag
+tgagtatcatttataatgataattcaaactatcacataaataagatttatatataattta
+tattattcaggcaatgaattacttttgcaagccatcgcattctcttatgttattaatgag
+ttatgctgatttgttaagcagttttatcaggcttgaaatggcgtccagccccgacaggtg
+aatcgtcggggctgattttttcttattattgcagcagaaacttctcgaggaactggcggg
+tgcgaggctgctcggggtcggcaaataacgcttttgcggccccctgctcgactatccgcc
+cctggtccataaagatcgcccggtccgcaacatcccgggcaaagctcatttcgtgcgtca
+caatcaccatcgtgcgcttttcctgcgccagctgacggatggtgttcaggacttcaccca
+ccagctctggatccagcgctgacgttggctcgtcaaacaaaatcacctcaggacgcattg
+ccagcgcacgcgcaatcgcaacacgctgctgttgaccgccagacaaacgacgtggatagc
+tggtttctttacctgccagcccaacttttgccagcagctcgcgagcgcgcgccgtggcct
+cttctttcggttcacctttgacgatcaccggcccttcaataatgttctccagcaccgtac
+gatgcggaaacaaattaaagttctggaagacaaacccgacgtgctgacgcaactggcgaa
+tcagagatttttgctgacttaatgaacgtgcagtatcaatagtgatatcgccaacggtga
+tcgttcccgcttcgggttgttccagcagatttatgctgcgtagcaacgtggttttgccgg
+aaccactcggaccgataattgccaccacttcgccaggctttacctcaaggtcgataccgt
+gcagcaccgtctgaccgtggaattttttcaccaggttcttaacttcaatggcactcattt
+tggttctctctcctggcgattaagttgattctcaaaatggttctgcaacgtcgataacac
+agtcgccatgatccagtagatgagcgaagccgccagatacatggtgaacacctccagcgt
+acgcgaggtaatcaactgcgcctgacggaacagctccggcacctggattgtcgcggccag
+cgacgtatcttttaccaggctaataaagctgttcgacagcggcggcaacgccacacgcgc
+cgcctgtggcaaaatcgcgcgacgcatggtctgccacggcgtcataccaatactggctgc
+cgcttcccactgacctttatcaatagaagaaatggcggcgcgcagcgtttcggcagcata
+ggcggcagtgttcaacgacagaccaatcattgctgacggaatgggatctaattcgatacc
+aaactgcggcaggccgtaatagatcataaacagttgtgcgatgagcggcgtaccacgaaa
+aatagagatataaaaacgcgccagccagcgcacgggccagattggcgacagacgcatcag
+cgcgagaataaacccgagcagtaagccaaaaaacatgccgccgatactgagttgcagcgt
+atacccagcccctttcagcaggaacggcaaggaatcaataaccagttgtatactttcttg
+catgagcgtttccggagctaaacgtggggatgataggcgaacagcgcaggcgcaccgccg
+gtatgaataaacagaatcggcccttcatctttgaagcgtttctgactgataccgtcaatc
+agccccgccatcgcttttccggtatacacaggatcaagcagaatgccttccagccgcgcc
+agcaatttcactgcttccatgccttcgtcgttcggcacgccgtagccaggtgcaaaatag
+tcatcccagagtaaaatttccgctgatgcggtcagctccagttctttcgcaatcgcctgt
+tgtaggttaaccactttcggcaattgatcggcaacggaacgcgacacggtcacgccaatc
+agttcgctttcaggcatcaggtgttccagcccaacagccagtccggcgtgagttccggca
+ctgcccgatgcgactaccaccgatgaaatattaaccgccccttcacactgttgcgcgatt
+tccagcgcactctccacataacctagcgcgccaagagcattagaaccgccaaccggaatg
+acatacgggcgaaagccttgtgcttcgactcgcgtcgccagctcttccagttgggcattg
+ggatcggtcagtgcgtcgcacatttcaatctgggtattgaacagatccagcaacaagcga
+ttgccgttggttaaatagttttctgcggttgtgccaataggattttccagcagcgccacg
+cagtgcagaccgagtttggcagcgactgcggcagtctgccgcacatggttagactggatc
+gccccggcagtaatcagcgtatcggcaccttcacgcagagcatctgccgcgagaaattcc
+agcttacgtaatttattgccgcccattgccatgggggtgacgtcatcccgtttgatgaaa
+atttcccgtcctagataatcagaaaagcgcggcagatattcgagcggcgttggcgcgccg
+ataaactccagccgtggaaaacgggttaaattatgcagtggcataacagcctccgatgtg
+tgttgttgtgattttcttattatgcacgctgaaaacgcgtaaataaaaaaggcgctagtg
+aaagcgcccttttttgtcattatgctgattatttggtcacatcagcaccaaaccattttt
+cggaaagggcttgcagagtgccatctttttgcatttccgcaattgcatcattcactgctt
+tcagcaggtcctcatttcctttacgcagcgccacgccagactcctgacgggagaatgctt
+caccggttactgccagcgtatcgttggttttcttcaccagatccagcgccgccagacgat
+caacgaggatcgcatcgatacgccctacgcgcagatcctgatatttggtcgggtcatcat
+cataggtacgcacatcgacgccctgaacattctgccgcagccactcttcatagttggtgc
+ccagaccgacccccacttttttgcctttcagatcatcggctgttttaatggtgccttcgt
+taccttttttcaccagcgcctgaataccagaaatggtgtacggggttgagaaatcgtatt
+ttttcttgcgctcatcagaaatggtgacctgattaatcaccacatcaatacgtttagagt
+ccagcgacgccagcataccgtcccatttggtcggttttagtgacgcctcaacgccaagat
+gttttgccagctgttgggcaaattccacttcaaaaccggttaatttgccgtcatctccct
+gaaaactgaacggcggataagttccttccagccctaccagcagcgtgccgcgctctttaa
+ctttattaagcagaccttcatctgcaaaacttttaacgctcatgcccgcaaccagcgcca
+cggccatcacacccatcaatgcctgacgtcccagatgtgctaatttcatattcaccccga
+atgttgttatgtctgtttgcagtgtagagccattgtttgtaaacacaaaaacaactccgc
+tacatcttattcttatttaatatatatcagaagaaggcaggctggaggatttctgcacaa
+gtctggtacaggtttggcgctgatagtgttgatacttccgtaacgcgatgcggtaattgt
+tggtgctggtggtgggcagccacggggcgaggatttcatcaaggaaaccgtcctgcagct
+gatcgagggaaatattttgctcgtgtagatgattccccaaacggcgcaaacgaacgacat
+attcacgcaccgtacctgggctcatttcagtttgctcaaaaagaaattgcttaaagccga
+taatatcgaaaaaatcactctgcgttttgcaatgtaaatcaccgcaaaatcggcacaatg
+ccgcccatgatttttgttccgtttgccagccattttcatcaagcagcgtgtccaggcggg
+aaatctcgattttattcactattttgccgtcgcgaactaaggtaatgcgatcgagtaatt
+tacggcaatgcgcgcaatgggtctggctgtgtttaaagtctttaagatagcggcttaatg
+gccgtcttttcaggtgctgcaccatcattaagaactcctggtagtcaaagttaaagtgcg
+gcatttactgacgttataacttacccagtttagtgcgtaaccgtttaatagcctggctgt
+gtaactgactgacccgcgattccccgacctccagcaccgcgccaatctctttgagattca
+gctcttcctggtaatagagggttaataccagtttttcgcgctccggcaacgtttcgatgg
+cttccatcacccgctggcgcagattactgtccagtagttgttgtagcgggttttctcgct
+gatgatcatcagtaaccagttcgatgctatcgccgtgctcttcgcgccactcatcgtagg
+agaagagctggctgttattggtgtcgagcaacatttggcgataatcggcaatatcgatcc
+ctaaacgttccgctacctcagtttccgtggcgttgcggccaagttcctgctccagttgcc
+ctattgcctgtgccacttcacgcgcgttgcgtcgcacgctgcgcggcacccagtcacggc
+tgcgaagttcatccagcatagcgccacggatacgctgcactgcgtaagttgtaaatgccg
+ttccttgtagggcgtcatagcgttcgacggcattaagtaacccaatgccgcccgcctgta
+gcagatcgtcaagttccacgctcgcgggcagtcgaacctgcaggcgcaatgcttcgtgac
+gcaccagcgggacataacgctgccacagcgagtgtttatccattacaccttcagcggtat
+agagtgaattcacgataaacagccctgcgttatatgagttatcggcatgattatccgttt
+ctgcagggtttttaatcggacgattagtgggtgaaatgaggggttatttgggggttacag
+gtaaattccaggcagaaaaaaaccccgccggtggcggggaagcacgttgctgacaaattg
+cgctttatgttgccggatgcggcgtaaacgccttatccggcctacaaaaatgtgcaaatt
+caataaattgcaattcaacttgtaggcctgataagcgcagcgcatcaggcaatttggcgt
+tgccgtcagtctcagttaatcaggttacaacgattaaccctgcagcagagacagaacctg
+ctgcggtacctggttagcttttgccaacacggagttaccggcctgctggatgatctgcgc
+tttcgacatattggacacttcggtcgcatagtcggcgtcctgaatacgggactgcgcttc
+agacaggttggtagtggtgttgttcaggttggtaaccgcggaatccagacggttttgcac
+cgcaccgagggaagaacggaatttgtctacagatgcgatagcatcgtccagcgctttcag
+cggatccgtggttttaccatttgcaacagcagtcagagcctcaccaccagcagtcaaacc
+tgtttgcagattaccgccatttaaatcggcagaatcgtatgttttaccatcaatatcgac
+cacttctgttttgccatcatctccgcccagtttgaccgcggttggagaactggcggcacc
+ggaagagtcagtataggtaatagttttaacagaaacagcaccagtagtttcattcacatc
+cgcagcgtaaagattgccatttgtatctttaagcgcatatgtatcggtatcattaccctt
+ggaatcctgcagttttactaagctaacagcaccaaggttggcagttgcggaacctgcagt
+attatcaatctgaacaggtgtaccgcctgaagtgatagttgtagctttagtagtatttgc
+atcagttacagttgcatttgccgttgctccagtcgccattgtcactgtaccatcattagc
+aactgttactgcgtaatacttcccatcgttatcaccaccggtgattttcgcatagtaatc
+attaccattatcagtataaacaccctcaattgaagctgggttagttccgccagtatcagt
+ggctgcttccgtagaaagggtaattccagtaagtttaatattgtttgtggtggtagcacc
+aaaagcagttactggagcactagtggtaactgtatcgttatttttaacgctaaaaccatc
+aaggccaagagttttagcatcaatctgcttcagatcgatagtgatagtctggttatcatt
+tgcgccaacctggattttcatggagccattttttgccagcacgttcacgccgttgaactg
+ggtctgaccagatacgcggtcaatttcatccagacgggatttaatttcgtcctggataga
+agacagatcagactcagagttagtaccggtagtggcctgtaccgtcagttcacgcacacg
+ctgtaagttgttgttgatttcggacagcgcgccttcggtggtctgcgcaacggagatacc
+gtcgttggcgttacgggccgcctgagtcaggcctttaatgttagaggtgaaacggttagc
+aatcgcctgacccgctgcgtcatccttcgcgctgttaatacgcaagccagaagacagacg
+ctcgatagaactcgacagcgcagactggttcttgttgatattattttgagtgatcagcga
+gaggctgttggtattaatgacttgtgccatgattcgttatcctatattgcaagtcgttga
+ttacgtattgggtttccacccgtcggctcaatcgccgtcaaccctgttatcgtctgtcgt
+aaaacaacctttagaatttttttcaaaaacagccattttttgttagtcgccgaaatactc
+ttttctctgccccttattcccgctattaaaaaaaacaattaaacgtaaactttgcgcaat
+tcagaccgataaccccggtattcgttttacgtgtcgaaagataaaaggaaatcgcatggc
+aagtatttcatcgctgggagtcgggtcaggtctggatttaagttccatccttgatagcct
+caccgccgcgcaaaaagcgacgctaacccccatttcaaatcagcaatcgtcgtttaccgc
+taaacttagcgcctacggtacgctgaaaagcgcgctgacgactttccagaccgccaatac
+tgcattgtctaaagccgatcttttttccgccaccagcaccaccagcagcaccaccgcgtt
+cagtgccaccactgcgggtaacgccatcgccgggaaatacaccatcagcgtcacccatct
+ggcgcaggcgcaaaccctgaccacgcgcaccaccagagacgatacgaaaacggcgatcgc
+caccagcgacagtaaactcaccattcaacaaggcggcgacaaagatccgattaccattga
+tatcagcgcggctaactcatcgttaagcgggatccgtgatgccatcaacaacgcaaaagc
+aggcgtaagcgcaagcatcattaacgtgggtaacggtgaatatcgtctgtcagtcacatc
+aaatgacaccggccttgataatgcgatgacactctcggtcagcggtgatgatgcgctaca
+aagttttatgggctatgacgccagtgccagcagcaacggtatggaggtctcggttgccgc
+ccagaatgcgcagctgacagtcaacaacgtcgccatcgagaacagcagcaacaccatcag
+cgacgcgctggaaaacatcaccctgaacctgaacgatgtcaccacgggcaaccagacgct
+aaccatcactcaggacacctccaaagcgcaaacggcgattaaagactgggtgaatgccta
+caactcgctaatagataccttcagcagcctgaccaaatacaccgccgtagatgcgggagc
+tgatagccagagttctagcaatggtgcactgctcggcgactccacgctgcggacgattca
+gacgcagttgaaatcgatgctgagtaataccgtcagttcttccagctataaaacgttggc
+gcagattggtatcacgaccgatcccagcgatggcaaactggaactggatgccgacaaact
+caccgctgcactgaaaaaagatgccagcggcgtaggtgcattgattgttggcgatggtaa
+aaaaaccggcatcacgaccaccatcggcagcaacctgaccagttggctttcgacaacggg
+cattattaaagccgctaccgatggcgttagtaagaccctgaataaattaactaaagacta
+caacgccgccagcgatcgcattgatgcgcaggtcgctcgctacaaagaacaatttaccca
+actggacgttttaatgacctcgttaaacagcaccagcagctacttaacgcagcagttcga
+aaacaacagtaattccaagtaagcaatattcatcgggagacaggtcatgtacgcggcaaa
+aggcacccaggcctatgcacaaattggcgtcgaaagcgccgtaatgagcgccagccagca
+gcagctggtcaccatgctatttgatggagtgctgagcgcactggttagagcgagcctgtt
+tatgcaggacaacaatcagcaaggcaaaggcgtctctttgtcaaaagcgatcaacatcat
+tgagaacggactgcgggtgagtcttgatgaagagagcaaagacgaactaacccaaaactt
+gattgctctttatagctatatggtcaggcgcttgctgcaagccaatttacgcaacgatgt
+ctccgcagtcgaagaagtggaagcattaatgcgcaatattgccgatgcctggaaagagtc
+gttactctccccttctttgattcaggacccagtctgatgaaccatgcaccgcatttatat
+ttcgcctggcaacaactcgtcgaaaaaagccagctcatgttacgcctggcaacggaagaa
+caatgggacgaactcatcgccagcgaaatggcgtatgtgaatgcggtgcaggagattgca
+catttgactgaagaggttgacccgtccaccacgatgcaggagcagctccgcccgatgctg
+cgcctgattctcgacaacgaaagcaaggtaaagcagttattacagattcggatggatgaa
+ctggcgaaactggtcggtcagtcatcggtgcaaaaatcggtgttaagtgcctatggcgat
+cagggcggctttgtgctggctccgcaggataacctcttttgaatctgaatgagtcgatgg
+ctcgcgaataatccgattacggctacgcttctaatgttccccttgaatggagtcgaagaa
+tgcgtaatcccacgctgttacaatgttttcactggtattacccggaaggcggtaagctct
+ggcctgaactggccgagcgcgccgacggttttaatgatattggtatcaatatggtctggt
+tgccgcccgcctataaaggcgcatcgggcgggtattcggtcggctacgactcctatgatt
+tatttgatttaggcgagtttgatcagaaaggcagcatccctactaaatatggcgataaag
+cacaactgctggccgccattgatgctctgaaacgtaatgacattgcggtgctgttggatg
+tggtagtcaaccacaaaatgggcgcggatgaaaaagaagctattcgcgtgcagcgtgtaa
+atgctgatgaccgtacgcaaattgacgaagaaatcattgagtgtgaaggctggacgcgtt
+acaccttccccgcccgtgccgggcaatactcgcagtttatctgggatttcaaatgtttta
+gcggtatcgaccatatcgaaaaccctgacgaagatggcatttttaaaattgttaacgact
+acaccggcgaaggctggaacgatcaggttgatgatgaattaggtaatttcgattatctga
+tgggcgagaatatcgattttcgcaatcatgccgtgacggaagagattaaatactgggcgc
+gctgggtgatggaacaaacgcaatgcgacggttttcgtcttgatgcggtcaaacatattc
+cagcctggttttataaagagtggatcgaacacgtacaggaagttgcgccaaagccgctgt
+ttattgtggcggagtactggtcgcatgaagttgataagctgcaaacgtatattgatcagg
+tggaaggcaaaaccatgctgtttgatgcgccgctgcagatgaaattccatgaagcatcgc
+gcatggggcgcgactacgacatgacgcagattttcacgggtacattagtggaagccgatc
+ctttccacgccgtgacgctcgttgccaatcacgacacccaaccgttgcaagccctcgaag
+cgccggtcgaaccgtggtttaaaccgctggcgtatgccttaattttgttgcgggaaaatg
+gcgttccttcggtattctatccggacctctacggtgcgcattacgaagatgtcggtggtg
+acgggcaaacctatccgatagatatgccaataatcgaacagcttgatgagttaattctcg
+cccgtcagcgtttcgcccacggtgtacagacgttatttttcgaccatccgaactgcattg
+cctttagccgcagtggcaccgacgaatttcccggctgcgtggtggtcatgtcgaacgggg
+atgatggcgaaaaaaccattcatctgggagagaattacggcaataaaacctggcgtgatt
+ttctggggaaccggcaagagagagtagtgaccgacgaaaacggcgaagcaaccttctttt
+gcaacggcggcagcgtcagcgtgtgggttatcgaagaggtgatttaaattcatccccggc
+ggcaagccggggagatttcattacggcagtggcgtcggtaacggcgctttatccagcgcg
+gcggcacactctgctgtcgggcgatccacacgctccatcgtcataccatcgtactcaatg
+gtgttaccgtcacgctcaacctcgtacagctcacgttttacggtaacgttagtgagatca
+tcagacatcaatgtcaacttacccggcacggcaatcacccgctgccactgacggcaatcc
+agggtatcgccctctttagtgacaatcaggctgcctatcgcttccgggctgaccagcgca
+cgttgcggccctttggtctgccagtagcccgccagccagtccggcgcgggggttttcacg
+acattgttatagttttcgacttcggcacagcccgccagcaacaagagcgcgcctgcaatt
+gcgagttttttcatcattcgtcctgcatgagaagaaaagaggattgtggcattaaagccc
+tgatgtcgccagcctttcaaggttcagagagaaatttgatctaactattatttttgtgaa
+ttattaccccgaaaataaatttgcatggtgtatgattcgcgactcttgtttcaaaccttc
+tgagttcagaggctacattcatgtcatggcagcaattcaaacacgcctggttgattaaat
+tctgggcccccatccctgcggtcatcgcggcgggtattctctctacttactattttggca
+ttactggcaccttttgggctgtcacgggtgaatttacccgttggggcggccagctcctgc
+aactgttcggcgtccatgctgaagagtggggttactttaaaattatccatctggaaggat
+cgccattaacccgcatcgacgggatgatgatcctcggtatgtttggcggctgctttgccg
+cagcgctgtgggccaacaatgtcaaactgcgaatgccgcgcagccgtatccgcattatgc
+aggccatcattggcggcattatcgccggttttggcgcgcgtctggcaatgggctgtaacc
+tggcggcgttctttaccggtattcctcagttctcgctgcatgcctggttctttgccatcg
+ccactgccattggttcatggtttggcgcgcgctttaccctgctgcccatcttccgtattc
+ccgtgaaaatgcagaaagtttctgccgcctcaccgctgacgcaaaaaccggatcaggcgc
+ggcgtcgttttcgtctcgggatgctggtctttttcggcatgctgggctgggcgctgctca
+cagcgatgaaccaacccaaactggggctggcaatgctgtttggcgtcggctttggtttac
+tgattgaacgtgcgcaaatctgctttacttcagcgttccgcgatatgtggatcaccggac
+gtacccatatggcgaaagcaatcattatcggtatggcggtgagtgccatcgggatcttca
+gttacgtacagttaggcgttgaacccaaaatcatgtgggcgggaccaaacgcggtaattg
+gtggtttactgtttggttttggcatcgtgctggctggcggctgcgaaaccggctggatgt
+accgcgcggtagaaggccaggtgcactactggtgggtcggtctgggcaatgtgatcggct
+caacgattctggcgtattactgggatgatttcgctccggcgctggccaccgactgggaca
+aaatcaacctgctgaaaacctttggtccgatgggtggcctgctggtgacatatttgctgt
+tgtttgctgcgctgatgttgattatcggctgggaaaaacgcttcttccgccgtgcggcac
+cgcagactgctaaggagatcgcatgaaaaatatcgttcctgattaccgccttgatatggt
+gggtgaaccctgcccttatccggcagtcgcaacccttgaggcgatgccgcagttaaaaaa
+aggggaaatcctggaagtggtgagcgactgtccgcagtcgatcaataatattccactgga
+tgcgcgtaatcacggctatacggtgctggatattcagcaagacgggccgaccattcgtta
+tttaattcagaagtaatccctcattcccgctgtgacccacagcgggaacatcgttacctt
+tgtatcacatagattttacccgcccccactcctattcttttcagtatgatctcaggaggt
+ttctatgtgtggacgctttgcccaatcccaaacgcgtgaagattaccttgcgcttctcgc
+ggaagatattgaacgcgatattccctatgatcccgaacccattggcagatacaacgtcgc
+gccgggaaccaaagtcctactgctcagtgaacgtgatgaacaccttcatctggatccggt
+tttctggggatatgctcccggatggtgggataaaccgccgctgattaacgcccgcgtaga
+aactgcggcaaccagtcgtatgtttaaaccgctctggcaacatggtcgggcaatctgttt
+tgccgatggctggtttgagtggaaaaaagaaggcgacaaaaaacagcctttttttatcta
+tcgtgctgatggacaacctatttttatggccgcgataggtagcacaccatttgagcgtgg
+tgacgaagccgaaggatttttgatcgtcactgctgcggcagatcaaggtctggtagatat
+tcatgaccgccgcccactggtactgtcgccagaagctgcgcgggaatggatgcggcaaga
+gattagcggtaaagaagcctcagaaatcgcggccagtggctgtgttccagcaaaccagtt
+ctcctggcacccggtatcgcgcgcggtgggtaatgttaaaaaccagggcgcggagttaat
+tcaacctgtttgataagcctggagattattgatcaacaatactgcgtcataagaaatctc
+tattagacaaagatttcattacctgttggcatattgcaaaaataacaccaatacggaatc
+gtcatgttcacgattaaaacagatgatctcacccatccagcagtgcaagcattagtggct
+taccatatttccggcatgctgcagcagtctccccccgaaagcagtcatgctttagatgtg
+caaaaattacgtaacccgacagtgacattctggtcagtatgggaaggcgaacaactcgca
+ggaattggtgcgctgaagttgctggatgataaacacggcgagctgaaatcaatgcgtacc
+gcgccaaattatttacgtcgtggtgtcgccagtctgattttacgccacattttgcaggtc
+gcccaggacagatgccttcatcgcctgagcttagaaacgggtacacaggctggatttacg
+gcctgccatcaactttatttgaagcatggtttcgctgattgcgaaccgtttgctgattat
+cgacttgatccacacagtcgatttttatcattgacgctatgcgaaaataatgaattgcca
+tgagccagacgcagcacattcttgcattcgacgtgctgcgcctttatttatcaccagcag
+gaaacgccttgtccatagacgccccttccacatgcgccacaagaaacctctattccagtg
+acacaattgcgcctaattaattacatttaatatttaattatgagttcctcaccatctatt
+acatactttttaaccatatcggaatatttatcataatcagcgggattcgtaacaatatat
+tttcgctgcgatctttcatagcaaatccctgtcaaagtccatgatataaaaatgtctctt
+caaaagaattacattctttaaaaagtaattctttattgctatatatcgcagagacaacct
+caatatcacactccatacgtgctttctccagatgatttgggaagtattgaatttctttta
+tcttattatcgccacaattaaacagcttagtagtctcaggcattgctggtatttaccata
+ttttattgcgataaatagaaattgtcatagcctttgacggagatgagtcaacacgcgata
+tcagattattatctacggagacctgggtaattccatcggatacttttggaaataccatat
+aattattgaaatcgagctctaattctttgcagaatttgggaatttgtattgtggcaaggc
+cattatgacgaagataaagcacctcaatccaggatggaagaggtggcaaagaccccaagt
+gaagatctgttaagtcaagtttactattgtggagttcaacacatttaaacaatctcacca
+atgctatatccacattttttttgaagtcattcgatgcgccttcttttactgaattagccc
+agtcgctgaaacctttgcaaagtctggaatctgtaattttcgtaaagttgtctagaaact
+ctgcaatattagtcgatataaactctaatttatgccgaatgggtgggttaccagttccct
+gattttttctatcatgataaaacctatcttattataaatcgagaaatcttgaaaccagag
+actataatcaccccattcgaaatattctgagtgcaataacttaaattctgacagcatatt
+aaataatttgctgtcttcactaattggtgtaaacttaccatttccaagacaactgactaa
+ctcacttgataattcatttatgattgcatcatcagatactaactcatgttgttttatcgt
+agattcagtattagatgtgactttatttaattgaaccggctgagtttttaacgaaagatc
+atttaatggaaacatttacactcctgtttaataaattatattgcccagggcgcattctaa
+aacacaataaaattaccactatcaaaaatcgctcatatccatcgcccggaatatgaataa
+aaacatcaacaaagattaaattatccagaggttactgttgcgtctgtggtcgtaacaaca
+tccgacgtggtgatgtgtcaaatgagacgctctgatgttcaggggggttatcgcgtatac
+ggatcgtggatggcagaaaacgttcaggatcaggtatccattttaaaccagaaattgagt
+gagtttgccccatccatgccccacgcggtgagatcggatgtaattaacaacaggttacaa
+aacctacacctgcatgctcatcacttcctgatacgccgccaccagcttattacgcacctg
+aatccccatttgcatagaaactgaggctttttgcatatcggtcatcacatcgtttaacgc
+cacgccgggttcaccgagagtgaatttttctgcctgcgtgcgggcagctgtttgtgtatc
+actaatgcgatcgagcgcggcgtgcagctgcccggcaaaactaatggtcggttgcggcag
+tgattcctgcgcacgcgcactcatcgccgtagcctgtaactggctgataaccccttcaat
+cccctgtatcgctgacattctcgtctcccggataatttctggtagcaaagcctaccagta
+agtcaataagacaaaggcgctaaatagcaacaaaaaaacgggtttattggcggatagaaa
+aaaacgaaagcacaaataatgggagcgtcaatttttcgagtttgctgacccgggagtgag
+tcttgttccactttgccaataacgccgtccataatcagccacgaggtgcgcgatgaatgc
+gactgcagcccagacaaaatctcttgagtggcttaatcgcctgcgtgcgaatccgaaaat
+tccattgattgttgccggttccgcggcagtggcggtcatggtcgcactgatcctgtgggc
+gaaagcccccgactaccgcacattattcagcaatctttccgatcaggatggtggcgcaat
+tgtcagccaactgacgcaaatgaatattccttaccgcttcagcgaagccagcggcgctat
+tgaagttccggcagataaagttcacgaactgcgtctgcgcctggcacaacaaggtttgcc
+aaaaggcggcgcggtcggtttcgaactgcttgatcaggaaaagtttggtatcagccagtt
+cagcgaacaggtgaattatcagcgggcgctggaaggcgagctttctcgtaccatcgaaac
+tatcggcccggtaaaaggggcgcgcgtacatctggcaatgccgaaaccgtctttattcgt
+ccgtgaacaaaaatccccttctgcatcggtgacggtaaatctgttacccggccgcgcact
+cgatgaagggcaaattagcgccattgtgcatctggtttccagcgccgttgctggtctgcc
+gccgggaaacgtcacgctggtggatcagggcggacatctgttaacccagtccaataccag
+cgggcgcgatcttaatgacgctcagttgaaatatgccagcgatgtcgaaggccgtattca
+gcggcgtattgaagcgatcctgtcgcctattgttggtaacggtaatattcacgcccaggt
+tacggcgcagctggacttcgccagtaaagaacaaacggaagaacagtatcgccctaacgg
+tgatgaatctcatgcggcgcttcgttcacgccagcttaatgagagcgagcaaagcggttc
+cggttatccgggcggcgtaccgggggcgttgtcgaatcaaccggcacctgcgaataacgc
+gccaatcagcacgcctccggcaaatcaaaataaccgccagcagcaggcgagcaccaccag
+caatagtgggccgcgtagcacacagcggaatgaaaccagtaactacgaagtcgatcgcac
+cattcgtcataccaaaatgaacgtgggcgatgtgcaacgtctgtcagtcgcggtcgtggt
+gaattacaaaaccttgccagatggcaaaccgttgcctctcagcaacgaacagatgaagca
+aattgaagatctgacccgcgaggcgatgggcttttctgaaaaacgcggtgactcgctcaa
+tgtcgttaactcgccgttcaatagcagtgacgaaagcggcggagaactgccattctggca
+acagcaagcgtttatcgatcagttacttgctgccggtcgctggttgctggtactgctggt
+ggcgtggctgctgtggcggaaagcggtacgtccgcagctaacacgtcgcgctgaggcgat
+gaaagctgtacagcaacaggcgcaggcccgcgaggaagtggaagatgcggtggaagtccg
+cctgagcaaagacgaacaactacaacaacggcgcgctaaccaacgtctgggggcagaagt
+catgagccagcgtatccgtgaaatgtctgataacgatccgcgcgtggtggcgctggtcat
+tcgccagtggataaataacgatcatgagtaacctgacaggcaccgataaaagcgtcatcc
+tgctgatgaccattggcgaagaccgggcggcagaggtgttcaagcacctctcccagcgtg
+aagtacaaaccctgagcgctgcaatggcgaacgtcacgcagatctccaacaagcagctaa
+ccgatgtgctggcggagtttgagcaagaagctgaacagtttgccgcactgaatatcaacg
+ccaacgattatctgcgctcggtattggtcaaagctctgggtgaagaacgtgccgccagcc
+tgctggaagatattctcgaaactcgcgataccgccagcggtattgaaacgctcaacttta
+tggagccacagagcgccgccgatctgattcgcgatgagcatccgcaaattatcgccacca
+ttctggtgcatctgaagcgcgcccaagccgccgatattctggcgttgttcgatgaacgtc
+tgcgccacgacgtgatgttgcgtatcgccacctttggcggcgtgcagccagccgcgctgg
+cggagctgaccgaagtactgaatggcttgctcgacggtcagaatctcaagcgcagcaaaa
+tgggcggcgtgagaacggcagccgaaattatcaacctgatgaaaactcagcaggaagaag
+ccgttattaccgccgtgcgtgaattcgacggcgagctggcgcagaaaatcatcgacgaga
+tgttcctgttcgagaatctggtggatgtcgacgatcgcagcattcagcgtctgttgcagg
+aagtggattccgaatcgctgttgatcgcgctgaaaggagccgagcagccactgcgcgaga
+aattcttgcgcaatatgtcgcagcgtgccgccgatattctgcgcgacgatctcgccaacc
+gtggtccggtgcgtctgtcgcaggtggaaaacgaacagaaagcgattctgctgattgtgc
+gccgccttgccgaaactggcgagatggtaattggcagcggcgaggatacctatgtctgat
+aatctgccgtggaaaacctggacgccggacgatctcgcgccaccacaggcagagtttgtg
+cccatagtcgagccggaagaaaccatcattgaagaggctgaacccagccttgagcagcaa
+ctggcgcaactgcaaatgcaggcccatgagcaaggttatcaggcgggtattgccgaaggt
+cgccagcaaggtcataagcagggctatcaggaaggactggcccaggggctggagcaaggt
+ctggcagaggcgaagtctcaacaagcgccaattcatgcccggatgcagcaactggtcagc
+gaatttcaaactacccttgatgcacttgatagtgtgatagcgtcgcgcctgatgcagatg
+gcgctggaggcggcacgtcaggtcatcggtcagacgccaacggtggataactcggcactg
+atcaaacagatccaacagttgttgcagcaagaaccgttattcagcggtaaaccacagctg
+cgcgtgcacccggatgatctgcaacgtgtggatgatatgctcggcgctaccttaagtttg
+catggctggcgcttgcggggcgatcccaccctccatcctggcggctgtaaagtctccgcc
+gatgaaggcgatctcgacgccagtgtcgccactcgctggcaagaactctgccgtctggca
+gcaccaggagtggtgtaatgaccacgcgcctgactcgctggctaaccacgctggataact
+ttgaagccaaaatggcgcagttgcctgcggtacgtcgctacgggcgattaacccgcgcta
+ccgggctggtgctggaagccaccggattacaattgccgctcggcgcaacctgtgtcattg
+agcgccagaacggcagcgaaacgcacgaagtagaaagcgaagtcgttggctttaacggtc
+aacggctgtttttaatgccgctggaggaagtcgaaggtgtcctgcccggcgcgcgtgttt
+atgccaaaaacatttcggcagaagggctgcaaagcggcaagcagttgccgctcggtccgg
+cgttattaggtcgcgttctggacggcagcggtaaaccgctcgatggcctgccctcccccg
+atacgacggaaaccggtgcgctgattaccccgccatttaacccgttgcaacgtacaccga
+ttgaacatgtgctggacaccggcgtgcgcccaatcaatgccctgcttaccgttgggcgtg
+ggcagcgtatggggctgtttgccgggtccggcgttggtaaaagtgtgctgctggggatga
+tggcacgttacacccgcgccgatgtcattgtcgtgggtttgattggtgaacgtgggcgcg
+aagtaaaagattttattgagaacatcctcggtgccgaagggcgtgcacgctcagtggtga
+ttgccgctccggcggatgtttctccgctcctgcgaatgcagggtgccgcctatgccacgc
+gcattgccgaagattttcgcgatcgtggtcagcatgtgttgctgattatggactccctca
+cccgctacgcgatggcccagcgtgaaattgcgctggcgattggcgaaccccccgccacca
+aaggttatccaccgtcggtgtttgccaaattaccggcactggtcgagcgtgccggaaatg
+gcattagcggcggcggctcgattaccgcgttttataccgtgctcactgaaggcgatgacc
+agcaggatccgattgccgactccgcgcgggcgatcctcgacggtcacattgtgctgtctc
+gccgactggcggaagccgggcactatccggctatcgatattgaagcgtcgatcagccgcg
+caatgacggcgttgatcagtgagcaacattacgcgcgagtgcgcaccttcaaacagctgt
+tgtcgagttttcagcgtaaccgcgatctggttagcgtcggcgcgtatgccaaaggcagcg
+atccgatgctcgataaagccatcgccctgtggccgcagctggagggctatttgcaacaag
+gcatttttgaacgcgcggactgggaagcgtctctccaggggctggagcgtattttcccga
+cagtgtcataacccaggagataacggcagatggcagaacatggtgcgctggcgaccctga
+aagatctggcagaaaaagaggtagaggatgccgcgcgcctgctgggtgaaatgcgtcgcg
+gatgtcagcaggcggaagaacagctcaaaatgctgattgattatcagaatgaatatcgca
+ataacctcaacagcgatatgagtgccgggataaccagcaaccgctggatcaactatcagc
+agtttatccagacgctggaaaaagccattactcagcatcgccagcaacttaatcagtgga
+cgcagaaagttgacattgccctgaacagttggcgagaaaaaaaacaacgtttgcaggcct
+ggcagacactgcaggaacggcaatccacggcggcactgcttgcagaaaaccgcctcgatc
+agaaaaagatggatgagttcgcccagcgcgccgccatgaggaaacctgaatgattcgctt
+agcgcccttgattaccgccgacgttgacaccaccacattgcctggcggcaaagccagcga
+tgctgcacaagattttctcgcgttgttgagcgaagcattagcaggcgagacaactaccga
+caaagcggccccccagttgctggtggcaacagataagcccacgacaaaaggcgagccgct
+gatcagcgatattgtttccgacgcgcaacaagctaatttactgatccctgtggatgaaac
+accgcctgtcatcaacgacgaacaatccacatcaacaccgttaaccaccgctcagacgat
+ggcgttggctgcggtggctgacaaaaatacgacaaaagacgaaaaagcggatgatctgaa
+tgaagacgtcaccgcaagcctgagcgccctttttgcgatgttgccgggttttgacaatac
+gcccaaagtgactgatgcgccgtcaaccgtgttaccgacagagaaaccaacgctcttcac
+aaaactgacttctgagcaactcacaacagcacagcctgatgacgcccccggcacaccagc
+tcagccattaacaccgctggtagcagaagcccagagtaaagcggaagtcatcagcacacc
+ttcaccggtgaccgctgccgccagcccgctaatcactccacaccagacacagccactgcc
+caccgtcgccgcacctgttttgagtgcaccgctgggttctcacgaatggcaacaatcatt
+aagccagcatatttcgctgttcacccgccaggggcaacaaagtgcagagttgcgtctgca
+cccgcaggatttaggtgaagtgcaaatctccctcaaagtggatgataaccaggcgcaaat
+ccagatggtttcaccgcatcagcatgtacgcgccgccctggaagcagcgctgccggtact
+gcgcacgcagctggccgaaagtggcattcagttagggcaaagcaacatcagtggcgaaag
+ctttagtggtcagcagcaggccgcttcccagcaacagcaaagccaacgcacagcaaacca
+tgaacctctggcgggggaagacgacgatacgcttccggttcccgtctctttacaagggcg
+tgtaacaggcaacagcggcgttgatattttcgcctaacgtcagaggtagcaccgtaatcc
+gcgtcttttccccgctttgttgcgctcaagacgcaggataattagccgataagcagtagc
+gacacaggaagaccgcaacacatgactgattacgcgataagcaagaaaagcaagcgatcg
+ctttggatcccgattctggtattcattaccctcgcggcctgtgccagcgcaggttacagc
+tactggcattcgcatcaggttgccgctgacgacaaagcgcagcaacgcgtcgtgccctca
+ccggtcttctacgcgctggataccttcacggtcaatttgggcgatgcggatcgcgtactt
+tatatcggcataaccctgcgcctgaaagatgaagctacccgctcgcggctgagtgagtat
+ttgccggaagtccgtagtcgcttgctgttactgttttcgcgtcaggatgctgccgtactg
+gcgacagaagaaggcaagaaaaacctgattgccgagattaaaaccacactttccaccccg
+cttgttgccgggcaaccgaaacaggatgtcaccgacgtgctgtataccgcttttattctg
+cgataacgacatgggcgatagtattctttctcaagctgaaattgatgcgctgttgaatgg
+tgacagcgaagtcaaagacgaaccgacagccagtgttagcggcgaaagtgacattcgtcc
+gtacgatccgaatacccaacgacgggttgtgcgcgaacgtttgcaggcgctggaaatcat
+taatgagcgctttgcccgccattttcgtatggggctgttcaacctgctgcgtcgtagccc
+ggatataaccgtcggggccatccgcattcagccgtaccatgaatttgcccgcaacctgcc
+ggtgccgaccaacctgaaccttatccatctgaaaccgctgcgcggcactgggctggtggt
+gttctcaccgagtctggtgtttatcgccgtggataacctgtttggcggcgatggacgctt
+cccgaccaaagtggaaggtcgcgagtttacccataccgaacagcgcgtcatcaaccgcat
+gttgaaactggcgcttgaaggctatagcgacgcctggaaggcgattaatccgctggaagt
+tgagtacgtgcgttcggaaatgcaggtgaaatttaccaatatcaccacctcgccgaacga
+cattgtggttaacacgccgttccatgtggagattggcaacctgaccggcgaatttaatat
+ctgcctgccattcagcatgatcgagccgctacgggaattgttggttaacccgccgctgga
+aaactcgcgtaatgaagatcagaactggcgcgataacctggtgcgccaggtgcagcattc
+acagctggagctggtcgccaactttgccgatatctcgctacgcctgtcgcagattttaaa
+actgaaccccggcgacgtcctgccgatagaaaaacccgatcgcatcatcgcccatgttga
+cggcgtcccggtgctgaccagtcagtatggcaccctcaacggtcagtatgcgttacggat
+agaacatttgattaacccgattttaaattctctgaacgaggaacagcccaaatgagtgac
+atgaataatccggccgatgacaacaacggcgcaatggacgatctgtgggctgaagcgttg
+agcgaacaaaaatcaaccagcagcaaaagcgctgccgagacggtgttccagcaatttggc
+ggtggtgatgtcagcggaacgttgcaggatatcgacctgattatggatattccggtcaag
+ctgaccgtcgagctgggccgtacgcggatgaccatcaaagagctgttgcgtctgacgcaa
+gggtccgtcgtggcgctggacggtctggcgggcgaaccactggatattctgatcaacggt
+tatttaatcgcccagggcgaagtggtggtcgttgccgataaatatggcgtgcggatcacc
+gatatcattactccgtctgagcgaatgcgccgcctgagccgttagtgatgaataaccacg
+ctactgtgcaatcttccgcgccggtttctgctgcgccactgctgcaggtgagcggcgcac
+tcatcgccattattgccctgatcctcgctgctgcctggctggtaaaacggttgggatttg
+cccctaaacgcactggcgttaacggtctgaaaattagcgccagtgcttcactgggcgcgc
+gtgaaagggttgtggtggtcgatgtggaagatgcacggctggtgctcggcgttaccgcag
+gtcaaatcaatctgctgcataaacttcccccttctgcaccaacggaagagataccgcaga
+ccgattttcagtcggtcatgaaaaatttgcttaagcgtagcgggagatcctgatgcgtcg
+tttattgtctgtcgcacctgtccttctctggctgattacgcccctcgccttcgcgcaact
+gccgggtatcaccagccagccgctgcctggcggtggacaaagctggtcgctcccggtgca
+gacgctggtgttcatcacctcgttgacgtttattccggcaattttactgatgatgaccag
+tttcacccgcatcatcattgtttttggtttattgcgtaacgcgctgggaacaccctccgc
+gccacctaaccaggtattgctggggctggcactgtttttgaccttttttattatgtcacc
+ggtgatcgacaaaatttatgtagatgcgtaccagccattcagcgaagagaaaatatcaat
+gcaggaggcgctggaaaaaggggcgcagccgctgcgtgagtttatgctgcgtcagacccg
+tgaggcagatttagggttgtttgccagactggcgaataccggcccgttgcagggacctga
+agccgtgccgatgcgcattttgctcccggcctacgtgaccagcgagttgaaaaccgcatt
+tcagataggcttcacgattttcatcccttttttgattatcgacctggtgatagccagcgt
+gttgatggcattggggatgatgatggttcccccagccaccattgctctgccctttaaact
+gatgctgtttgtactggtggatggctggcaattgctggtcggttcgctggcgcagagctt
+ttacagctagagaggcaaaatgacacctgaatcggtcatgatgatggggactgaagcgat
+gaaagtcgcgctggcactggctgccccgctattgttggtagcgttggtcacgggccttat
+catcagtattttgcaggccgccacgcagattaacgaaatgacgctgtcgtttattccgaa
+aatcatcgccgtatttatcgccattattattgccggaccgtggatgctcaatctgttgct
+ggattacgtccgcaccttgttcactaacctgccgtatatcatcgggtagccgtactatgt
+tgcaggtgacaagcgaacaatggctatcctggttaaacctgtacttctggccgttactgc
+gcgtgctggcgctgatctccaccgcgccgattctgagcgaacgcagcgtaccgaaacggg
+taaaactgggtctggcaatgatgatcacgttcgccattgccccatcattacctgccaacg
+atgttcctgttttttcgttctttgctctgtggctggccgtgcagcagatcctgatcggca
+ttgcgcttggttttaccatgcaatttgcctttgccgctgtgcgaaccgctggcgaaatta
+tcggtctgcaaatggggctgtcatttgcgacgtttgtcgatccggccagccatcttaata
+tgcccgttttagcgcgtatcatggatatgctggcgttactgctgttcctgacatttaacg
+gtcatttatggttgatttcactgctggtcgatacctttcacaccctgccgattggtggcg
+aaccgttgaacagcaatgcgtttctggcactcaccaaagcagggagtttgattttcctta
+acgggctgatgctggcgttaccgctcattactctgctgctgacactgaatctggcattag
+gtttacttaatcgtatggccccgcaattatccatttttgttattggatttccattaactc
+tgactgtcggcatctctttaatggcggcattaatgccgttaattgcacctttttgcgaac
+atttattcagtgaaatttttaatttgctggctgatattattagtgaattgccattaatat
+aattccgtaacgtttatcatgttatcctaaggattatccgaaaaataatacctacgaaca
+tcttccaggatactcctgcagcgaaatatttgttttaagctcactcacatatcgcaacat
+ttactttactttaagacaattccaggcaaattatacaacactttacgggatagtaagtcc
+gcctgaaaaatcgcgagagtggcgcattaggtgacccatgttgttccgtttagtcatgat
+gaaatattcaggtaaggggaattatcgttacgcattgagtgagggtatgccatgtcaacg
+attattatggatttatgtagttacacccgactaggtttaaccgggtatctgttgagtaga
+ggggttaaaaaaagagaaatcaacgacattgaaaccgttgatgaccttgccatagcttgt
+gattcacagcgcccttcagtggtgtttattaatgaggactgtttcatccacgatgcttct
+aacagtcagcgtatcaagctcatcattaatcaacatcccaatacgttatttatcgttttt
+atggcaattgccaatgttcattttgatgaatatctattggtcagaaaaaatttattgatc
+agttctaaatcgattaaaccggaatctctcgacgatatccttggcgatattctgaaaaaa
+gagacaacgataacctcgtttttaaatatgccgacgttatcattgagccgaaccgaatcg
+agtatgttgcgaatgtggatggcaggtcagggaaccattcaaatctctgaccaaatgaat
+atcaaagccaagaccgtttcatcgcataaaggtaatattaaacgtaagatcaaaacgcat
+aataaacaggttatctaccatgtcgtccgactgacggataatgtgactaatggtattttt
+gtcaacatgcgctaacacattctgactggtggtttcccaccagtcaggctgaataagatt
+actctgctttctccacaaagataccgtcctgatgccctgcttcattaaagaaccagatgc
+cgagcgggtagtcttccagcgaaaccaggtacattgtgccttcactaaactcctcaactg
+ccagtaccacgccaggacgacgcggaccgccatccgttttgactgttacccgatcattca
+ccttcatcgttttcctcctgtggctttgtgccagtgtagaacaatttcgtttttctggca
+gcgccaggcgcgcgcgagtgctgattttctcgacggtctatacttaagagatgccaggcg
+gacttaacgactggcggcaacaacagagtaacggttgcgaggaaagatgatgaaaaccgc
+aaaagagtacagcgataccgcaaaacgtgaggtcagcgtcgatgtcgatgccctgctggc
+ggcgatcaatgaaattagcgaaagcgaagttcatcgcagccagaacgattctgaacacgt
+tagcgtcgatggacgtgaatatcatacatggcgtgaattggcggatgccttcgaactgga
+tattcatgacttcagcgtctctgaagtgaatcgttgaatgcacaataaaaaaatcccgac
+cctgagggggtcgggatgaaacttgcttaagcaagaagcacttaaaaaattcgttacacc
+aggaaatctgatgtgttcatcaccttatccgcaatttttttcgctgacaagaaaatattc
+gccatatgaatgattaacgctacttatgaatagaaatgtgacgcacgtcaccccttggtg
+gctctggcgtcagcgggatcgctcccgaaaaaatcatctttgataatttgtgcggttttg
+agaatcatcctggtaagaggagtactgcgcgactatgttttcaattcaacaaccactact
+ggtttttagcgatcttgatggcaccctgctggacagtcatagttatgactggcaaccggc
+agccccctggctcacccgtttacgcgaagcaaatgttcccgtcattctctgtagcagtaa
+aacatcagcggaaatgctgtacttgcaaaaaacgttggggctacaaggtttaccgctgat
+tgccgaaaatggcgcagtgatccagcttgctgagcaatggcaggagatagacggttttcc
+acgcatcatctcaggtattagccatggcgaaatcagcctggttttaaatacgctacgcga
+gaaagaacattttaaattcacgacttttgatgatgtcgacgatgcaaccatcgccgaatg
+gacgggattaagccgtagccaggcggcgctgacgcagcttcatgaggcgtcggtaacgct
+aatctggcgcgacagtgacgagcgtatggcacaatttaccgctcgtctgaacgaactggg
+cttacagtttatgcagggtgcgcgcttctggcacgtactggatgcttctgccggaaaaga
+tcaggctgccaactggattatcgcgacctatcaacaattgtcaggcaaacgcccaaccac
+acttggcctgggcgatgggccaaacgatgcgcccttactggaggtaatggattacgcggt
+gattgtgaaagggctaaatcgtgaaggggtgcatctgcatgatgaggatccggcccgcgt
+ctggcgaacgcagcgtgaaggaccggaaggatggcgtgaagggctggaccattttttctc
+cgcccgttaagcgttatcgctcgcgaatacccgattacgcccagcctgtttagcgagata
+aagccgacggtcggccagtgactggagttgttcaaaatcataatcaccggtttcctcgct
+gctgcttacccccagcgaggcactgatgcgtatcgtcgtactcttggcgatcaacatctc
+tttttcatttaatttcagtcgaatacgttctgcgacctccgcagcctccgtcagactcgc
+gcctggcagaatcacacaaaactcctcaccaccgacccgcccggcaacgtcctgcgcacg
+caaggaactgctaattaatccggcagcatgagaaagaacacggtcgcccgcctgatgacc
+aaagcggtcattaatcgctttaaaatggtcaagatcgacctgaatgacagaaaaaggatg
+ttggtgcgtctgacacaatttagcgagcggacgggctttttcgaacagtgcgccacggtt
+atataaacgcgttaaggtgtcgtgccacgcctgccactgcaacgagctttgcagaacata
+catgttgctaaccatccggcgaatcacataccaggagatgagtaacatggtggtaaagag
+cgcccacagcagggttaatgcaatgctgatactgccgaaatcgccgcgcacgccttcgct
+taacgtatggacacgcaccagcacaccgtcgaaatggtccagacgttcccagctaacata
+gcgactgtccatacgaatgccgccccgcgtgtcatgttccattgcctgcgccagcaaggc
+cagttcacgaggatcaaaaatattccctgttggatggtcaggattggaagaggtcaaaaa
+tctcagcttactgtcatagagctgatactcaccatcgaggtttttatcgatggcgtttct
+taaaaattgctgcatagtacgcacgggaatactcatccccagcacgccataccagtagtt
+attactgtctaccggaacactgacggtaacctgcggttcagtattgctggcgtgttccgg
+ttgcgaagtgaaccagcgtaccgcgcggtgacgattttctcgttgtgaatggccaataaa
+ccagggttgggtgacatagccgtaataacgcgttggaacattgcgcgtaaacaaggtcgg
+ctgcgtcgaaacgtaaaatccggcacgcgagacatacatcgcctgttcaaccatcgacga
+ggagttgtgcgctagtcgcagcaagtaaccaacttccagtgcagcggtaatttcattgtc
+gaggctttcattttcgcgagacaggagattcccctcgctgactaatgcatccgacacacc
+attaactggcagagtgcgtcgtcggttgagttcgattttccaggcgtgctcgtcgcgatg
+ctgttcgaactcggttacagcatcacgcagagaggtgaaatccagtggcgctacgagagc
+ttcgcgcatgccattacgtaaaaagatcagtttgtcgacgttatactgcaaatgcttatc
+gagcgcgttggcaacgttttccagatgattacgctggctggagatataggcatcttccag
+caccaccacttcacgccaggtgagcaaggtggaaaaaagcaataccacgataaagcagag
+attaacgacatgaccaggccccaggcggcgtgcgagttttttcaaccagctctggttttc
+catttttgtctcgtgctgcaccctgacgactcccaacctgcttttttatgattctggcat
+aacctggcgatagcgtaccgcaaaacagcgataattttataatggtggcatgataagacg
+cgactatcattcattgcaggcattagcacaccaggccggatgtgatccggcctgatgtta
+atgataccctttcacacttcttccgcagaacgactcccctcccccggaacaagctcggtt
+tcatgaaaagcttcccgcttgaccccgtaaccgtcataccaacgacactcaaccataccg
+ctggagtatccagtgacaatcatccgcgggccgccctctttaaccgtaacttcctcacta
+accataaagctcatactcgcctccttttttcgagtgaaacttgttcaccttagttgaaga
+tggcgaattttgcataatagccagtgcgagtattaatgtgcctgaccgcgcattttctct
+acggctttcactcccagcaccacgatgccgccgatgataaatccaagaatcagatttaaa
+acagtcggtaatatcatcgccactactgcactttgctgcccggcgaaatgttcaatggcg
+tgatgcagcggcgcaattccatgtaccacaatcccaccgccgacgaggaacatcgccagc
+gtgccgacaatcgataacgctttcatcagccagggcgcgataatcaataaccctttacct
+aatgcctgcatcagcgcgctggatttttccgccagccaataccccaggtcatcaatctta
+acgataacccctaccagaccgtagacgcccacggtcactaccagcgcgatgcctgaaagc
+accagcacctgattaagcaacggcgcttcggccacaatccccagcgtgatggcgacgatt
+tccgcagacaatataaaatcggtacgaatcgccccttttattttgtccttttcaaacttc
+agcggatcctgcgccgccagcttctccagacgctgctggctctgcgccggatcttcttta
+tgtttacgcgcctccagcatatgcagcactttctctactccttcaaagcagagaaacgcg
+ccaccaatcatcaacagaggcgtaatcgcccacgggataaacgcactgatgatcagcgcc
+agcggcaccagaatcactttattaatcagcgatcctttcgccacgccccagaccacggga
+agttcccggttggcccgcacgcctgaaacttgttgcgcattgagcgataagtcatcccct
+aatacaccggcggttttcttcgccgccagtttgcccatcacggagatatcgtccagtagt
+gtggcgatatcatcgagcaacgtcagtaaactactcccggccaaaagcattccctctcat
+ttttattgttgaagggtgtaagtatgaagcaaaaacggcagctctgatacttgcttcaca
+ggtcaacatttttttaacaatcaagtgcaattatatctctcgccagcagaatgattttca
+cgtttactatgaaccacctttttatttccaccgtgagggattatgcgtttccgccagttg
+ttaccgctttttggcgcgctgtttgcgttgtatatcatttggggctcaacctattttgtc
+attcggattggcgtggaaagctggcctccgttaatgatggcgggcgttcgattcctggca
+gccggtattttattgctggcatttttgctactgcgcggacacaaactccccccgctacgt
+ccgctgctcaatgccgcgctgattggcctgttattgctggctgtcggtaatggcatggtg
+acggttgccgaacatcaaaatgttccttccggcatcgccgccgtagtggttgcaaccgtg
+cccctctttaccctgtgcttcagccgcctgtttggcattaaaacgcgcaaactggaatgg
+gtgggtattgccattgggcttgccggaatcatcatgctcaatagcggtggaaatttaagc
+ggcaatccgtggggcgcgattctgattttaatcggctcgattagctgggcgtttggctca
+gtttatggctcgcgcattaccttacctgtagggatgatggcgggtgcgattgagatgctg
+gcggcaggcgtggtgttaatgatcgcgtcgatgattgcgggtgaaaaactgacggcgctc
+ccttccctttcaggcttccttgcggtcggctatctggcgctgtttggttcgattatcgcc
+atcaacgcttatatgtatttaatccgtaatgtcagtccggctctcgccaccagctacgct
+tacgttaacccggtggtcgcggtcttgctgggtacgggactgggtggagaaacactgtcg
+aagattgaatggctggcgctcggcgtaattgtcttcgcggtggtactggtcacgttggga
+aaatatctcttcccggcaaaacccgtagttgcgccagttattcaggacgcatcaagcgag
+taaatgaatcccctgcgtgtcgatctgcgcgctggcaccttcgccgcagatccactcttc
+cagacgctcggtaagcgcttcatccgtcagcttctcgcgcccacgtaacgcgcactccca
+gacaatcaatacgcgccagccgagttcctgcaagcgactgatatcgcggcgatcgcgctc
+aacatttttacctatcttctccagccagaactcggttcgagtcgcaggcactttaaacag
+atagcagtgatgatgatgccagaagcagccatgggtaaatatcacgcagcgatattcatc
+aacgacaaaatccggacgtccgggcagactggcgtcctgaacgcgaaatgccaggccctg
+cccggttaacagactggcgaggcgcttctctatcgccgtatcacgcgtggcaatcgcgcg
+catatttttgctgcgagtggccttatcgtgaacgtcggccatgttgtgcctcttgctgac
+gcaacgccaccgcctgtttgatttttggctcaagcagttttgccaccgcggcaaagaccg
+gcacgaccaccgagttaccgaactggcgataggcctgagtgtccgaaaccggaatacgga
+atttcgcttctcccggcgcttcaaaacccattaagcgcgcgcattcccgaggcgttaacc
+gacgtggacgatgttgctgattcagcggatcgtcaaagtctttctcacccgtggccatat
+cccagccgcgatcgattaaaatttccgcgccatctttgtaataacgcgcagacagcgtac
+gcgtgacgctttgcggattgttcggataaaccattccataaccgaagccgttaccgcgcg
+cctgatgttttttcgcatatcgatagaggtacttccacagcaccggcgtcaggatatatt
+tcgcctcgaccatcgggtccaacagctgcgccagcgtcactcgctgcgcagggaaacatt
+cgctgatatcacgcagggtaaaatcggctttcagattcagatcgcgacgaaaacccacca
+gcacgatgcgttcacggtgctgcggcagaaaatgtttgccgtcgatgattttcggatcgt
+ctggcccattatcttctgcatcagccacgtcatagcccagttcgtccagcgtctgcatga
+tgatgcggaacgttttaccctggtcgtgacttttcaggtttttgacgttttcgagcacaa
+acatcgccggacgacgcgcgtcgataatgcgtaccacatcaaaaaacagcgtgccctggg
+tatcgcaggcaaaaccgtgcgcccgcccgagcgagttctttttcgatacgccagccagcg
+aaaatggctgacaagggaaaccggccagtaaaacatcgtgttcaggaatgtgttgacgaa
+tatgttccgccgccgcctcatcactcacgccttctttatggctgagggtgatgtcgcgga
+tatcttcattaaaatgatgcgtcgccggatcgcaataatggttggctttataagtgcgta
+ccgcatgtttgttccattcgctggtaaacacgcactgtccgccaatcgattcaaaaccgc
+gacggatgccgccaattccggcgaatagatcgataaagcgaaacgcataatgcggatgat
+gtgccggtggtttgggtaataacgtttgcagatgggcgaactctttctcacttaaacggt
+gccatgccgagtcattcgccagcgcacgttttaaaattgccgcgctccagtgattctcac
+ctacaccattaagctgcgccaccaacgttttaacatcataaatttgcagcagtttctcca
+gcattgcctgtgcggcattcccggtgctgtatgaatcggttactgatatattttcctgca
+tagatttcaccggccatctgagatggccgacaggttaacataattacagccatttagggc
+cacgcgctcagccagcggatgaaaacgcatctatcaccttgtgatcgacaccttcattct
+cccccgccagttcggcactgagcttcgccataaactcgactaaaaaatgcgcgttgtgct
+gcgccagctgcttgcctcttgcggtttgcatggtttgcggtagcttcagcaacttagtct
+ggaaatgatccagcgcgtagcgtttatcatcaagcgggcgatgctgtgcgaacggatctt
+caccatcaaacagcgccacgcccaatgcccctgaaacggcaaacacgcgcgccaggccaa
+tcgcccccagggcttccagccgatccgcatcctggacaattttagcttccgttgttaagg
+gggcgatttgcgcgctgaaactgtgagcggcaatggcatgacaaacggcctcgattttct
+ccgccggaaattgctcgaactcttcacggagcaggcgacgcgtctcttctgccgccagga
+ttgaagaacgctgcctttgcggatgatttttcgccaggctcacaatatcgtgaaaataac
+aggcggttaaaatcaccagcatatcgacatcgtcatctgccgccagcttctgtgccgtag
+cccagacgcggcgaaaatgacacacgtcatgggccgcgtcctggtgctgatgatggtttt
+tcaaccagttttcgaactgtgcctgccagtgttgtaagtccatacgcgctccgttgccaa
+agagtcgccaccttagcagtttttattcatagcgtctgctacgtgcgggacgaggtcggg
+tgtaccaggcaatgctgcctaacaatgccccgaccagagccataaataaaaatccgacca
+gtgcccctaaccactttcccgcggtagagcctaaatcgctttcaaatcccgacacggggg
+catcgggaatccggctcatcacccagatgtaacgcgccattgcccagacgaaatagccac
+accatgtatagaaagcccacaaagccagtttgccgccagggctgcgagagagtctctctt
+ccatctttgtcgaaccgtattccattttgagataacccggaaaattcagacttagtacta
+ttatgtgataaaagtcacatttttccacattggatgagccagtcaagactcaatcatttt
+ttgaacaaatagataaattttgcgcaacggcagtgaatacaggaaaaatcgttttgagcg
+attttatttatctttgatatcggctttattaattcatttaatcaatatattagcactgat
+tacaattatacctttttattattctgtgtcatgatgcttccgttattagccttttatcgt
+cttgtttatattttttgggccggcatgatgccggcttttttttatgccttcattaatgtg
+cgcctgatcacaccagccgtttggcgcaacaatcattgataccccctatgtttccgctca
+actcataacatattgatatacatttataattttcatgaatatttatatttagaattcata
+attatgaattatattaaatagattagaaacattttgatatcttttaaatacatttgttac
+atgtaatccttaaaataaaatgaacttcatagaatagtatccaaatgtgcttttttttgg
+ataacggcacttattgatatattcatgaagattataatcacaagggaatacataatgaaa
+agaaaagttctggcaatgctggtcccggcgttattagttgctggcgcagcaaatgcggct
+gaagtctataataaagatggtaataaactggatttgtacggaaaagtagtgggtctgcac
+tacttctctgatgattctggcagcgatggcgacatgtcatatgcccgtatcggtttcaaa
+ggtgaaactcagatcgctgatcaattcactggttatggtcagtgggaatttaacattggc
+gcaaacggtcctgaaagcgacaagggtaataccgcaacgcgtctggcatttgcaggttta
+ggctttggtcagaatggtactttcgactatggtcgtaactacggtgtcgtatatgacgta
+gaagcatggaccgatatgctgccagaatttggtggcgatacctatgctggcgctgacaac
+ttcatgaacggtcgtgctaatggtgttgcaacctaccgtaacaatggcttctttggttag
+gtcgatggcttgaactttgctttgcaatatcagggtaataatgaaagtggtggaccattc
+gggcaggaaggttccggtagtggtgatggccgtagcctttccaaagaaaatggtgatggt
+ttcggtatgtcaacatcctacgacttcgacttcggtttaagtctgggtgctgcatatcaa
+actctgatcgttcagatcgtcaggttggagttggtttaaatgatcgtaaccatagcaaca
+gaaatgctggtggtgaaaccgctgaagcatggactgttggtgcaaaatatgatgctaata
+atgtgtatttagcagctatgtacgctgaaactcgcaatatgaccccatatggtggtggcg
+agtttgataatggtgaatcaagatcagccatcgctaacaaaacccaaaactttgaagttg
+ttgctcagtatcagttcgactttggcctgcgcccgtccatcgcttacctgcaatctaaag
+gtaaggatttaggcggttgggctcatgacggcaacggcgacccacgttacaccaataaag
+atctggttaaatacgttgatattggtgcgacctactacttcaacaaaaacatgtccacct
+atgttgattacaaaatcaacctgctggacaacgacgatgacttctacgaagcaaacggca
+tcgctaccgatgatatcgttgctgtgggcttagtctaccagttctaatcagtcaactcgc
+tgcggcgtgttactgtaaaactgaacactagcctgagttcgtccctcatcgaactcaggc
+ttttttattggcatttcatctccatctgcggcacacgcaattgccgaagcatatcgatac
+agcaccttaccctgcccctcctggcacaataacatcaaccagctactcttcaagctaaca
+cccaaatgcatttctttatgaattaatccgtaacaaacacgcttcccatatagaaatatt
+tgcaaaaatagtgcatgaaataagctttttctctaccaatccgggatataaatattcatc
+agcaccacaatattccacagcactaaatctctccccgccaccccgtacctctgataatgg
+tctaaaatcattgaagccacttgcgacgacgttgctcaataaggaaaatttggcgtgaat
+aatattcaacaccagtgcagcatcatcattacatacttacagccgccgactaccgctttc
+gatatattgactcaattttccagcctggttaaaaatagcgaccagctcagtcgcaaatat
+agtgactaccctaactaagcaacaataaggaatacactatgactgttcaaacaagtaaaa
+atccgcaggtcgatattgctgaagataatgcattcttcccttcagaatattcgcttagcc
+aatataccagtcctgtctctgatcttgatggcgtggactatccaaaaccttatcgcggta
+aacataaaattctggtgatcgccgcggacgaacgttatttgccgaccgataacggaaaac
+tgttctcgaccggtaaccatccgattgaaacgttgctgccgttgtatcatctccatgctg
+caggtttcgaattcgaagtggcgaccatttccggtctgatgaccaagtttgaatactggg
+ctatgccgcacaaagatgaaaaagtaatgccattctttgagcagcataaatcgttgttcc
+gcaatccgaagaaactcgcggatgttgttgccagcctcaacgctgatagcgaatatgcag
+caatctttgttcctggtggtcatggcgcacttattggtttacctgaaagccaggacgtgg
+ctgccgctttacagtgggcaatcaaaaatgaccgttttgttatctccctttgccacggcc
+cggcggcttttctggcgcttcgccacggcgataacccactgaatggttattccatttgcg
+cattcccagacgccgcagacaaacaaacgccagagattggctatatgccgggtcatctca
+cctggtacttcggcgaagaactgaagaaaatgggcatgaatatcattaatgacgacatca
+ccgggcgagtacataaggaccgtaaacttctcaccggcgacagtccttttgcagcgaatg
+cgttgggtaaactggcggcgcaggaaatgctggcagcttacgcgggttaatccctgttac
+gtttgaatgtaagcgcataatcaatcgcggccgcgttagtactcacgacgtggctgcgtt
+ttttcacggttaatttatggcgtactgaagccctatgttaatttctttgcggtaacgtaa
+tccggaacacattatgcttattgagatagtgatacgtagcacttcccccatgcaattcgg
+caatcgctttgactaaagaaaggcctagtccctgacctacggaatgacgcgaattatctc
+cccgccaaaatctacggaagagtttttcaggctcattaattttcgttccagggctggcga
+tatcaatattaagatagctgttggtatcaagaaaactggttatatgaatacgcgattttt
+ctggcgaatatctaatggcattaacaataagattcgataacattcgttgtagtaaaattt
+tatccgcaaagatttgctgattgcactcgaccttaaagcaaatctctttctcgtctgaaa
+ggtattcaagatagtccaacaaattttcgacttccttattgagagaaagcgagtccagtt
+tcaccaaaacattgtttttatctgccctggcaagaaacagtatgttctctgttaaccgcg
+aaatattttccagctcttcaatgtttccggcaattgttttttgatattcagcgatacttc
+tggtttgactgagcgtaacctgattctgacccagtaatgcattaattggcgttctaagtt
+catgagcgagatcgtcagcaaactgacttagacgctcaaaatctttgactaaagcatgat
+gcattttattcaacgcctgcccaagaggttttagttctctcggtaatgcgctaacctcaa
+caggctctcggctatcgttataattcagcgcttccgttacaccactcaactttttgatct
+ctcgtaatcccgttctgattaacagcggacttaatactgagcaaagtacaatggcgacaa
+tgcaaattataatgctattaattttatactgttcaagcatgttatgtctggctgaagcca
+atttagccacagtaaccgttaatgatggcgaaacttcatcaatattaattcgtaaagcat
+ctatctctgtatcattaataatgcttctgtaaatgccagctgcgctgattgtctcactag
+caggtatgttatttaacatgccatcactgacatttgtccggttaacaattttattgatgc
+tatcaccatgaataatcaagatatcctgactaacatccatcatccggttaaagtacacag
+gtaacgtatctggatttaccccatcaattaacaactgcttgatctgcgctgtccggttaa
+tgagtgttgtatcatcgcgccatttcaactcacttgccaggccattatagagagtccaga
+caattccggcgccagcaacagacagtagcaatataaaaagcaaggttaaacggacggtta
+tagatagtcttttcattatttttttaccgctacgaatgaatagcccatcccccggattgt
+ggcaattagcttttcaggaaaaggatcatcaacttttgcgcggagcctgcgaatggcgac
+gtccaccgtattggtatcactatcaaagttgattccccaaatttcactcgcaataaccgt
+tctgggtataatttcgccagctctggaggccagtagccaaagtaactgaaactccttgcg
+cgtcagtgtaatactgatattgtccctgctcacactatgactaacagagtccattcttaa
+gccgctgatttctaatgttgaattcaaagcgtgatgttgccttaattgtgcccgaaccct
+tgccagcaactcagaaaatgaaaaaggttttaccagataatcatttgccccactgtccag
+ccctctgactctgtcatcgacagaatcccttgcagtaaggcaaataacaggggtttgctt
+tgctgttcttaacgtttgtaagatctgccagccatccatacccggaagcataatatccag
+aatgatcaatgcataatcatccttcagcgcaagataaagcccatctctgccatcagaaac
+ggcatcgatgacataacccgcttcggaaagcccctgcgttacccattcctgggtcctttg
+attatcttcaataagtagaatcttcatgaaaataatatgccataaatcatatgttataga
+aacagcctggttcattacaaaattgtaatgctgctgtaaggttaccctggacgctttttc
+gctatcctcaaaactcattcacatgacaaggatataaacatgttaaagcgttatttagta
+ctctcggtagcaacggcagcattttcattaccttctttggttaatgccgcacaacaaaac
+attcttagcgtgcacattttgaaccagcaaacaggaaaacccgctgctgacgtgacagtc
+actcttgaaaagaaggcggataacggctggttacaacttaataccgccaaaacagataag
+gatggacgaattaaggcactgtggcccgagcaaactgcaactacgggcgattaccgtgtc
+gtatttaaaaccggggactatttcaagaaacaaaatcttgaaagtttcttccctgagatc
+cccgttgaatttcatattaataaagtgaacgagcattatcatgtgcctttattacttagc
+caatatgggtattcaacctatcgtggcagttaatgcataaatatgtaaaagcagatctct
+gctactgttagggaggacactccctgacagattaacagtaaacggctcttgctggctaac
+gacaaaaaagtgtgatggcttatgaaaaagaatcaatttttaaaagaatcagatgttacg
+gccgagtcggtattctttatgaagcgtcggcaggtgttaaaagcactgggcatcagtgca
+actgcactttctttgcctcacgctgcgcatgccgatctgcttagctggtttaaagggaac
+gatcgcccgcccgcccccgccggaaaagcgctggagttcagcaagcctgccgcctggcaa
+aataacctgccactgacgccagcagataaagtttccggttataataacttctatgaattc
+gggctggataaagccgatcccgccgctaatgctggtagcctgaaaaccgatccatggaca
+ctgaaaatcagcggcgaagtggcaaaaccattgaccctcgatcatgatgacttaacccgt
+cgcttcccgctggaagagcgtatttatcgtatgcgctgcgtggaagcgtggtcgatggtg
+gtgccgtggattggttttccgctgcacaaattgctggcgcttgccgaacctaccagcaat
+gcgaagtatgtcgctttcgaaacaatttatgcaccggaacagatgccaggccagcaggac
+cgctttatcggcggtgggctgaaatatccttatgtcgaaggattgcgtctcgacgaagca
+atgcatccgctcacactgatgaccgtaggtgtttatggcaaggcgttaccgccacaaaat
+ggcgcgccggtgcgactgattgtgccgtggaaatatggctttaaagggattaaatcgata
+gtcagtattaagctgacccgcgagcgtccgccaaccacctggaatctggcagcgcctgac
+gaatacggtttttacgccaacgttaatccgtatgttgatcacccgcgctggtcacaggct
+accgaacgatttattggttcaggcggcatcctcgatgtacagcgccagccaacgctactg
+tttaatggttacgccgcccaggtggcatcgctgtatcgtggcctggatttgcgggagaat
+ttctaaatgcgtctgacagcaaaacaggtgacatggctgaaagtttgcctgcatcttgcc
+ggattgttgccgtttctctggctggtctgggcgatcaatcacggtggactgggtgccgat
+ccggtgaaagatattcagcattttactggtcgcactgcactgaaatttttgctggcgacc
+ttgttaatcacccctctggcacgctacgcaaaacagccgttattgatacgcactcgccgc
+ctgttaggattatggtgctttgcctgggcgacactgcatttaacaagttacgcattgctg
+gagctgggcgtgaataatctggcgttattaggtaaggagttaattacccggccttattta
+acgttaggtattatcagctgggtaattttgcttgctttagcgttcacttcaacccaggcg
+atgcagcgaaaactcggcaagcactggcaacagttgcataatttcgtctatcttgtcgcg
+attctggccccaatacattatctgtggtccgtgaagattatttcaccgcagccgctcatc
+tacgctgggctggctgtactgcttttagccttacggtataagaagttgcgttcccttttt
+aaccggttacgcaagcaggttcacaacaaattatctgtataacttcatattgccgacaaa
+gtacgcgttatccctgccggatgtggcgcgagcgccctatccggcatacacagatcgcat
+caggttatgtttcgtttgtcatcaacctcaaatcaccaaaataatttattttatttcaat
+aagatagataagtagaactgagaaagccatgctctcgtttcctaagagttgttgcatttt
+gctatatgttacaatataacattacacatcatatacattaactctggaggaaactgtttt
+ggcgattcgtctttacaaactggctgttgctttaggtgtctttattgttagcgctcctgc
+cttttcgcatggtcatcactcacacggcaaacccttaacagaggtcgaacaaaaagctgc
+taatggtgtttttgatgatgccaatgtacaaaaccgaacgctcagtgactgggatggagt
+ctggcaatccgtttatcctttactgcaaagtggcaaacttgaccccgtctttcagaagaa
+agcggatgcagataaaactaaaacatttgctgaaattaaagattattatcacaaaggtta
+tgcaacagatatcgagatgattggcattgaggacggcattgttgaattccatagaaataa
+tgaaacaacatcgtgtaaatatgattacgatggatacaaaatactcacctataaatcagg
+caagaaaggcgttcgttacttattcgaatgtaaagatcctgaaagcaaagcccctaaata
+tatacaatttagcgatcatataattgcaccacgaaaatcatctcattttcacatttttat
+gggtaatgattcacagcaatctttattaaatgaaatggaaaactggccaacgtattatcc
+atatcagttgagtagcgaagaagtggtcgaggaaatgatgtctcattgagtattctcatg
+ataacgcctcgatgccgctttagtaagttatcataactgccactggtccatccacaaacg
+ccactgaacgcaagctagctacagacacgctcatcactatgacgtgtctgtatattaata
+agctaacccgcattgagttaaccaataacggattccatacacaatacggccaacagagaa
+agatacctgtgctcacgccattgcttatattggctggttacaatatgcactatcaatttt
+ttaaataacaaattattaaaaccacatctgtataaggaatttttaaggttcgtgggatag
+cttgactgtgaaaatcacaggagctacaaaaatgaaccgattctcaaaaactcaaattta
+tttacattggataacgctgcttttcgttgcaataacctatgccgcgatggaactccgtgg
+ctggtttcctaaaggtagtagtacttatctgctgatgcgagaaacacattacaatgcggg
+tatattcgtttgggtgttaatgttttcacgcctgattataaaacaccgttatagtgatcc
+ttctattgtgccaccgccacctgcctggcaaatgaaagcggcttcgctaatgcacatcat
+gctttatataaccttccttgcacttcctctgctggggattgctttgatggcttacagtgg
+aaaatcgtggagtttccttggtttcaatgtgtctccctttgttaccccaaacagcgaaat
+taaagcactgataaaaaatattcacgaaacctgggcaaatataggctactttttaatcgc
+agctcacgctggcgcagcactctttcatcactacattcagaaagataatactctgttacg
+aatgatgcctcgccgcaaataagtcgatccccttacaaggaaatgtgaaccatggacatc
+aacgcgtcataaatgtttacgcaagtgcacaatgcaccctttccactatcaacaaggagg
+agcagaaactgtgtaaatcgtacaatggtaagacttatcaaaaatacaggttaattttgg
+tatttaaaccttttttacttgttagtatgatacaaaggctttcaaaaaagctgcgaaatt
+caacaactcttggaaattatggactttgtcccgcggctttaatctgacggccgcgttcct
+tttttgactcaattattgaacccttctctacgcaacttcagttcccaccaccaactttgc
+ggcagtttcataggatgaatgtctaaaagaataatggtgagcgataagaaaacgactgaa
+taactgcacattttcgctcgaaagcttcctgtcagatccatagcgaatcaagtgctgaat
+gtcacagtatcgaacagaaaacagtgacgatctaacccttcaagaatattctacgattgt
+tctgtttaggaaaagcaaggcgggaagtcgggagataagtcattgataaagtggcggaga
+gagggggatttgaacccccggtagagttgcccctactccggttttcgagaccggtccgtt
+cagccgctccggcatctctccgttcagatggttgccatgatgccaggaaatttggcattt
+taacagtccctgtccgtgcaattttgttcaagtgacgagtttgcgagcaaaacgatgatt
+aagtggccctggaaagtacaagaatcagcacatcaaactgcccttccctggcaggaagca
+ctatcgatcccccttttaacgtgtctgacggaacaggaacaaagcaaattagtcactctt
+gccgaacgttttttacagcaaaagcggcttgttcctttacagggctttgaactggattca
+ttaagaagctgccggatagcacttctattttgcctacccgttctggagttaggactggaa
+tggctggatggttttcatgaagtcttaatttatcctgcgccatttgtggtcgatgatgaa
+tgggaagacgatatcggtctggtgcataaccaacgtattgttcagtcaggtcagagctgg
+cagcaagggcctatcgttttgaactggttggatatacaagattcttttgatgcttctggt
+tttaacctgattattcatgaagtcgctcataagctggacacccgtaacggcgatcgcgcc
+agcggagttccctttattccgttgcgtgaggttgctggctgggaacacgatcttcatgct
+gcaatgaacaacattcaggaagaaatcgaattggttggcgagaatgcggcgagcattgat
+gcttatgcagccagcgatcctgctgaatgttttgccgtactttctgaatatttctttagc
+gccccagaactttttgctcctcgtttcccttcattgtggcaacgtttctgccaattttat
+caacaagatcctttgcagagactgcatcacgctaatgatacagactcgttttcggcgacg
+aatgttcattaattaacaactttgcagattaattaaccaattgaaatgacttatgaaatt
+tagtgttgacagacaaggtaccgctaagtaatattcgccccgttcacacgattcctctgt
+agttcagtcggtagaacggcggactgttaatccgtatgtcactggttcgagtccagtcag
+aggagccaaattctaaaaattcgcttttttagcgcaatgtcactgaccttagttgaacat
+tgttttttaacggatagcgggtttttaacatcttaagcgccctcgacctttatggttgag
+ggcgttttgctatgaacgccatcaccattttcccctcgattataaaacttgagttattca
+gtagtctcccctcttgcaactcacacccaaaactgcctaacgaaaagttattaattttca
+atcatattgctatcagtatttacattttttcgctgtgctagaaagggcgcatttatgtta
+gctcgttcagggaaggtaagcatggctacgaagaagagaagtggagaagaaataaatgac
+cgacaaatattatgcgggatgggaattaaactacgccgcttaactgcgggtatctgtctg
+ataactcaacttgcgttccctatggctgcggcagcacaaggtgtggtaaacgccgcaacc
+caacaaccagttcctgcacaaattgccattgcaaatgccaatacggtgccctacaccctt
+ggagcgttggaatcggcccaaagcgttgccgaacgtttcggtatttcggtggctgagtta
+cgcaaactcaaccagtttcgtacgtttgctcgaggttttgataatgtccgccagggtgat
+gaactggatgtcccggcacaagttagtgaaaaaaaattaaccccgccgccgggtaatagc
+agtgacaacctcgagcaacagatagccagtacttcacagcaaatcgggtctctgctcgcc
+gaagatatgaacagcgagcaagcggcaaatatggcgcgtggatgggcctcttctcaggct
+tcaggcgcaatgacagactggttaagccgcttcggtaccgcaagaatcacgctgggcgtg
+gatgaagattttagcctgaagaactcccagttcgattttctccatccgtggtatgaaacg
+cctgataatctctttttcagtcagcatactctccatcgtactgacgagcgtacgcagatt
+aacaacggcttaggttggcgtcatttcactcccacatggatgtcgggcatcaacttcttt
+ttcgaccacgatcttagccgttaccactcccgcgccggcattggcgcggagtactggcgc
+gactatctaaaattaagcagtaacggctatttgcgactgaccaactggcgcagcgcacct
+gaactggacaacgattatgaagcacgcccggccaatggctgggatgtacgcgcagaaagc
+tggctacccgcctggccgcaccttggcggtaaactggtctatgaacagtattatggcgat
+gaagtggccctgttcgataaagacgatcggcaaagtaatcctcatgccataaccgctgga
+cttaactatacccccttcccgctgatgaccttcagcgcggagcaacgccagggtaaacag
+ggcgaaaatgacacccgttttgccgtcgattttacctggcaacctggcagcgcaatgcag
+aaacagcttgacccgaatgaagtcgctgcacggcgtagccttgcaggcagccgttatgat
+ctggtggatcgcaacaacaatatcgttctggaatatcgcaaaaaagaactggttcgcctg
+accctgacagaccccgtgacagggaagtcaggagaagtgaaatcactggtttcgtcgcta
+caaaccaaatatgccctgaaaggctataacgtcgaagccaccgcactggaagctgccggt
+ggcaaagtggtcacaacgggtaaagatattctggttaccctgccggcttaccggttcacc
+agtacgccagaaaccgataacacctggccgattgaagtcaccgccgaagatgtcaaaggc
+aatttgtcgaatcgtgaacagagcatggtggtcgttcaggcacctacgctaagccagaaa
+gattcctcggtatcgttaagtacccaaacattgaacgcggattcccattcaaccgccaca
+ctgacttttattgcgcatgatgcagcaggtaatcctgttgtcgggctggtgctctcgacg
+cgtcacgaaggtgttcaggacatcaccctttctgactggaaagataatggtgacggaagc
+tatacccagatcctgaccacaggagcgatgtctggcacgctgacgctgatgccacagctg
+aatggtgtggatgcggctaaagcccccgccgtggtgaatatcatttctgtttcgtcatcc
+cgaactcactcgtcaattaagattgataaggaccgttatctctccggcaatcctatcgag
+gtgacggtagaactgagagatgaaaatgacaaacctgttaaggaacaaaaacagcaactg
+aataacgcagtcagcatcgacaacgtgaaaccaggagtcactacagactggaaagaaacc
+gcagatggcgtctataaggcgacctataccgcctataccaaaggcagtggacttactgcg
+aagctattaatgcaaaactggaatgaagatttgcataccgctggatttatcatcgacgcc
+aacccgcagtcagcgaaaattgcgacattatctgccagcaataatggtgtgctcgccaat
+gagaatgcagcaaacaccgtctcggtcaatgtcgctgatgaaggaagcaacccaatcaat
+gatcataccgtcacgtttgcggtattaagcggatcggcaacttccttcaacaatcaaaac
+accgcaaaaacggatgttaatggtctggcgacttttgatctgaaaagtagtaagcaggaa
+gacaacacggttgaagtcacccttgaaaatggcgtgaaacaaacgttaatcgtcagtttt
+gtcggcgactcgagtactgcgcaggttgatctgcagaagtcgaaaaatgaagtggttgct
+gacggcaatgacagcgtcacaatgaccgcgaccgtccgggatgcaaaaggcaacctgctc
+aatgacgtcatggtcactttcaatgttaattcagcagaggcgaaactgagccaaaccgaa
+gtgaatagccacgacgggatcgccacagctacgctgaccagtttgaaaaatggtgattat
+agggttacggcctctgtgagctctggttcccaggctaatcaacaggtgaattttatcggt
+gatcaaagtactgctgccctgaccctcagtgtgccttcaggtgatatcaccgtcaccaac
+acagctccgcaatatatgactgcaaccttgcaggataaaaatggcaacccactaaaagat
+aaagaaatcaccttctctgtgccaaacgacgtcgcaagtaagttctcgattagcaacgga
+ggaaaaggcatgacggatagtaacggggttgcaatcgcctccctgaccggcacgttagcg
+ggcacgcatatgatcatggctcgtctggctaacagcaatgtcagcgatgcacagccaatg
+acgtttgtggcggataaagacagagcggttgtcgttttgcaaacatcgaaagcggaaatc
+attgggaatggcgtggatgagacaactctgacagcaacagtgaaagatccgtcgaatcat
+ccggtggcggggataacggtaaacttcaccatgccacaggacgttgcggcaaactttacc
+cttgaaaataacggtattgccatcactcaggccaatggggaagcgcatgtcacgctgaaa
+ggtaaaaaagcgggcacgcatacggttaccgcaacgctgggtaataacaataccagtgat
+tcgcagccggtaacatttgtggcggacaaagcctcggctcaggttgtcctgcagatatca
+aaagatgagatcacaggtaatggcgtcgatagcgcaacgctaactgcaacggttaaagat
+cagttcgacaatgaggtgaataatcttccggtaacattcagctcagcctcttcaggactc
+accctgaccccgggagtaagtaataccaacgagtctggcatcgcgcaggccactctcgca
+ggcgttgcctttggtgagaagacggttactgcatcactggctaataatggtgccagcgac
+aacaaaactgtgcattttattggcgacacagcggcggcaaaaattatcgagttggcgcct
+gtcccagacagcataatcgccggtaccccgcagaacagctccggcagcgtcatcaccgcc
+acagtcgttgataataatggctttccggtgaaaggtgtgactgtgaacttcaccagcaac
+gcagcgacagccgaaatgacgaacggcggtcaagccgtgacgaacgaacagggtaaggct
+accgtcacttataccaatacccgctcctcgatagaatcaggagcgagaccggataccgtt
+gaggccagtctggaaaatggtagctccacgcttagcacatcaattaatgtcaacgctgat
+gcgtctacggcacatctcaccttgctacaggcactttttgatacagtctccgcaggcgag
+acaaccagtctgtatattgaggtgaaggataattacggcaacggtgtcccccagcaggag
+gtaaccctcagcgtttcaccaagtgaaggcgtgacccccagtaataacgctatatatact
+accaaccacgacggcaatttttacgcaagctttaccgctacaaaagccggggtttatcaa
+ttgacggcaaccctcgaaaatggcgattcgatgcaacaaacagtgacctatgtgccgaac
+gtcgcgaatgctgaaatcacgctggcagcctcgaaggatccggtgattgccgacaataac
+gatctcacgacactaacagcaacagtcgctgatacagagggcaatgcgatagccaacact
+gaggtaacatttactctgccggaagatgtgaaggcgaacttcacgctgagcgatggcggt
+aaagtgattactgatgctgaaggcaaagcgaaagtcacgctgaaaggtacaaaagcaggc
+gctcatactgttacagcatcgatgactggcggtaagagtgagcagttggtggtgaacttt
+attgcggatacgctcactgcgcaggttaatcttaacgttaccgaggacaattttatcgct
+aataacgtcgggatgaccaggctgcaggcaacagtgactgatggaaacggcaacccgtta
+gccaatgaggcggtgacattcacgctaccggcagatgtgagcgcaagctttactctcgga
+caaggcggttccgccattactgatatcaacggcaaggctgaagttacactgagcggtaca
+aaatccggcacctaccccgtgacagttagcgtgaacaattatggtgtcagtgatacgaaa
+caggtgactttgattgccgatgctggtaccgcaaaactagcctccttaacctctgtatac
+tcattcgtcgtcagcacgaccgagggcgcaaccatgacggcaagcgtcactgacgctaac
+ggcaacccggtagaaggcataaaagttaatttccgcggaacctccgtcacgctaagcagc
+accagcgttgaaacggatgatcggggtttcgctgaaattcttgtgacaagcaccgaggtc
+ggactgaaaacagtttcagcctctctggcagataaacctactgaagtcatctcgcgatta
+ctgaatgccagtgcagatgttaattctgcgacgattaccagtctggagataccggaaggt
+caggtaatggtcgcacaagacgtagcagttaaagctcacgttaacgaccagtttggcaac
+ccggttgcgcatcaacccgtgacattcagtgcagagccatcctcgcaaatgatcatcagc
+cagaatacggtctctactaatacgcagggtgtagccgaggtcaccatgacgcccgaaaga
+aacggttcgtatatggtgaaagcatccctgccgaatggagcctcacttgagaaacaactg
+gaggctattgatgaaaaactgacactcacggcgtccagtccgcttatcggtgtctatgcc
+cctacaggcgctactctgacggcaacgctaacctctgcaaatggcactccagtggagggt
+caggtcatcaactttagcgtaacgccagaaggggcgacgttaagtggcggaaaagtgaga
+actaactcttcaggtcaggctccagtcgttttgaccagcaataaagtcggtacatatacg
+gtgactgcatctttccataacggcgtaacaatacagacacagacaaccgtgaaagtcact
+ggcaactcaagcaccgcccatgttgctagctttatcgctgatccatcgactatcgccgcc
+accaacactgatttaagtaccttaaaggcaacggttgaggatggcagtggtaacctgatc
+gaaggtctcactgtgtacttcgccttaaaaagcggctctgccacattaacgtcattaaca
+gcggtgaccgatcaaaacggaatcgcgacaacaagcgtgaaaggagcgatgacaggtagc
+gtcacggtaagcgcagtcacgaccgctggtggaatgcaaacagtagatataacgctggtg
+gctggcccggcagacacctcgcagtccgtccttaagagcaatcggtcatcactgaaaggg
+gactataccgatagtgctgaattacgtcttgttctgcacgatatatcaggcaatccgatc
+aaagtttctgaagggatggaatttgtgcaatcaggtactaacgtgccctatataaaaatt
+agcgcaattgattacagtctaaatatcaacggtgattacaaagccactgttacaggaggc
+ggagagggtatcgcaacgctgatccctgtattgaatggtgttcatcaagctggtctgagt
+accacaatacaattcactcgcgcagaagacaaaataatgagcggtacagtatcagtcaat
+ggtactgacctaccgacaactacattcccttcgcaggggttcaccggggcgtattatcag
+ttgaataatgacaactttgccccaggaaaaacggcggctgattatgagttttcaagctct
+gcctcctgggtcgatgttgatgctaccggtaaagtgacatttaaaaatgtcggcagcaat
+tcggaaaggattacggcgacgccaaaatcaggaggccctagctatgtatacgaaatccgt
+gtgaagagttggtgggtgaacgccggcgaggctttcatgatatacagccttgctgaaaat
+ttttgcagcagcaatggctacacgctccccagagcaaactatttaaaccactgtagttcc
+cgaggcatcgggtcactgtacagtgaatggggagatatggggcattacacgactgacgct
+ggttttcaatcaaatatgtattggtcatctagtcccgcaaactcaagcgaacaatacgta
+gtttccctggcaacaggtgatcaaagcgtatttgaaaagcttgggtttgcttatgcgaca
+tgttataaaaacctgtgattttccgttataatttcttaaagagtgttccattcggggcac
+tcttttttacattccctctacagaactagcccttctctcacagaaaatgaataaataaaa
+atgcggcaccgccagaatcgcgttcgatgtgactatgatcattttcggtgagtactgctt
+tgatctaaaggctggttttctgtgatgattgaccagcctcagagtattgatgacaccacc
+gttcataacagatcggcattactatgcataagtactgtctcatattctcgccaaaacact
+ttttaatgcctttgcgaattcatccagacttatattgtcaattttttgcccaacgacgac
+tgactccgagacatcggccattgcgggccatcgcgttttgtaatcagcataaattgcaac
+aacaggggtattataggcacttgccatatgtaatattgaggtgtcaggagttattgcgat
+ataagcatcttttatgattgctgctgaacgtttaatcgagggtggtaaggataaacggta
+gacattattataacaatccactaatgccctggctttatcttcacctttgggtccatgaac
+gatcactattggtatatctgtttcactttaaatttttgctattagattttctgcaatcga
+taatgaaaatgtacgttcctgcgagctaccttctaaattgaacgcaatgtaagatcctaa
+cgatcgcatttcctcgcgcacctcatcgagtacatcctcacttagtggcaattcatatat
+tggcctgactgctggaaaacccgcctcacgcatcataaatgcccatgtcataggtacggg
+agcccggagtttctgatccatactggacgcgttcttgcacaaaggggagaagcaattcat
+ggttataccaacaacctgaaaattcgtttttgctttcaactgactgataaataacatcgt
+tttcaggttctttttacgcatcccctcaatgcaaagatccggcgtaccgtattgctgtgt
+tatgttctttgctaaatcttttatttcttttaatgttgcgtgatcctgcatagtcattgt
+gactaatgttaatttagtctgttcaagtttaagcgcattaaagacttctaaattaattgt
+cgacgttacaattaaaagatgcttaattttatgcaattcaagcgcccgaataacaggaaa
+gatggccatagcatcgccaatctgatcgggaatatggatgacaacaaagtctgttttttc
+aatattgaaattataagctttataatcgtagtaactaaatgcaatacgtctcaacaatga
+tgctaaaaacatacctaacctcgcctccctactggttataatgcaatgcagtctatcaga
+ctcatcagggtgccattttgtgcatatgcggacttttatgtttcatatctctaacctgtg
+ggtcctctgcttaatccttaaacaacaccagcaactcctgcgctttcatcttccatcgaa
+tttttcatgttgccgctaatcagccataaaatcatttgcagatgcgctctgtcgaggtag
+tctcataaggttcgtttatagatcgacggcaatgtgagttaccttttccatactaattat
+aaaaagacagtacaaacaggatcattatggactccacgctcatctccactcgtcccgatg
+aagggacgctttcgttaagtcgcgcccgacgagctgcgttaggcagcttcgctggtgccg
+tcgtcgactggtatgattttttactctatggcatcaccgccgcactggtgtttaatcgcg
+agtttttcccgcaagtaagcccggcgatgggaacgctcgccgcatttgctacctttggcg
+tcggatttcttttccgtccgctcggcggtgtcattttcggtcactttggcgaccgactgg
+gacgtaagcgcatgttaatgctgaccgtctggatgatgggcatcgcgacagccttgattg
+gtattcttccttcattctcgaccattgggtggtgggcacctattttgctggtgacactgc
+gtgccattcagggatttgcagtcggcggcgaatggggaggcgcggcgttgctttccgttg
+aaagtgcaccgaaaaataaaaaagccttttacagtagcggtgtacaagttggctacggtg
+taggtttactgctttcaaccggactggtttcattgatcagtatgatgacgactgacgaac
+agtttttaagctggggctggcgcattcctttcctgtttagcatcgtactggtactgggag
+cattgtgggtgcgcaatggcatggaggagtccgcggaatttgaacaacagcaacattatc
+aagctgccgcgaaaaaacgcatcccggttatcgaagcgctgttacgacatcccggtgctt
+tcctgaagattattgcgctacgactgtgcgaattgctgacgatgtacatcgttactgcct
+ttgcacttaattattcaacccagaatatggggctaccgcgcgaacttttccttaatattg
+gtttgctggtaggtggattaagctgcctgacaattccctgttttgcctggcttgccgatc
+gttttggtcgccgtagggtttatatcacaggtacgttaatcggaacgttgagcgcatttc
+ctttctttatggcgcttgaagcacaatctattttctggatagttttcttctccataatgc
+tggcaaacattgcgcatgacatggtggtgtgtgtgcaacaaccgatgtttaccgaaatgt
+ttggtgccagttatcgctatagtggcgctggagtcggttatcaggttgccagtgtggttg
+gcggtggatttacaccttttattgccgctgcactcatcacttactttgccgggaactggc
+atagcgtcgccatttatttgctggctggatgcctgatttccgcaatgaccgctttgttga
+tgaaagacagtcaacgcgcttgatagcctggcgaagatcatccgatcttcgccttacact
+tttgtttcacatttctgtgacatactatcggatgtgcggtaattgtatggaacaggagac
+acacatgaataataagggctccggtctgaccccagctcaggcactggataaactcgacgc
+gctgtatgagcaatctgtagtcgcattacgcaacgccattggcaactatattacaagtgg
+cgaattacctgatgaaaacgcccgcaaacaaggtctttttgtctatccatcactgaccgt
+aacctgggacggtagcacaaccaatccccccaaaacgcgcgcatttggtcgctttaccca
+cgcaggcagctacaccaccacgattactcgccctactctctttcgttcgtatcttaatga
+acaacttacgttgctgtatcaggattatggtgcgcatatctcagtgcaaccctcgcagca
+tgaaatcccttatccttatgtcatcgatggctctgaattgacacttgatcgctcaatgag
+cgctgggttaactcgctacttcccgacaacagaactggcgcaaattggcgatgaaactgc
+agacggcatttatcatccaactgaattctccccgctatcgcattttgatgcgcgccgcgt
+cgatttttccctcgcacggttgcgccattataccggtacgccagttgaacattttcagcc
+gttcgtcttgtttaccaactacacacgttatgtggatgaattcgttcgttggggatgcag
+ccagatcctcgatcctgatagtccctacattgccctttcttgtgctggcgggaactggat
+caccgccgaaaccgaagcgccagaagaagccatttccgaccttgcatggaaaaaacatca
+gatgccagcatggcatttaattaccgccgatggtcagggtattactctggtgaatattgg
+cgtgggaccgtcaaatgctaaaaccatctgcgatcatctggcagtgctacgcccggatgt
+ctggttgatgattggtcactgtggcggattacgtgaaagtcaggccattggcgattatgt
+acttgcacacgcttatttacgcgatgaccacgttcttgatgcggttctgccgcccgatat
+tcctattccgagcattgctgaagtgcaacgtgcgctttatgacgccaccaagctggtgag
+cggcaggcccggtgaggaagtcaaacagcggctacgtactggtactgtggtaaccacaga
+tgacaggaactgggaattacgttactcagcttctgcacttcgttttaacttaagccgggc
+cgtagcaattgatatggaaagtgcaaccattgccgcgcaaggatatcgtttccgcgtgcc
+atacgggacactactgtgtgtttcagataaaccgttgcatggcgagattaaacttcccgg
+ccaggctaaccgtttttatgaaggcgctatttccgaacatctgcaaattggcattcgggc
+gatcgatttgctgcgcgcagaaggcgaccgactgcattcgcgtaaattacgaacctttaa
+tgagccgccgttccgataataagttctgaaccttcttatcagaaatagatgtgaaggagt
+aagtaagacacctggcaaatagcctgcaataatcgtgggctgtttgcttccttgggcgga
+tacgagttttattatcgtcttaatgatttccacatattaaaagcaagtatgctttcaaaa
+cacaattataaaaaatcccgccaacaatataagtttttataaaattaaatataagattat
+ggctttagaatatttttatttctaatagacgagatttttcctgttatgatataatatgct
+gaattaacacatgttaacgatttaccagtaatgtaaataaattttcgaggagatcattcc
+agtgggacgtaaatgggccaatattgttgctaaaaaaacggctaaagacggtgcaacgtc
+taaaatttatgcaaaattcggtgtagaaatctatgctgctgctaaacaaggtgaacccga
+tccagaattaaacacatctttaaaattcgttattgaacgtgcaaagcaggcacaagttcc
+aaagcacgttattgataaagcaattgataaagccaaaggcggcggagatgaaacgttcgt
+gcagggacgttatgaaggctttggtcctaatggctcaatgattatcgccgagacattgac
+ttcaaatgttaaccgtacgattgctaacgttcgcacaattttcaataaaaaaggcggcaa
+tatcggagcggcaggttctgtcagctatatgtttgacaatacgggtgtgattgtatttaa
+agggacagaccctgaccatatttttgaaattttacttgaagctgaagttgatgttcgtga
+tgtgactgaagaagaaggtaacattgttatttatactgaacctactgaccttcataaagg
+aatcgcggctctaaaagcagctggaatcactgagttctcaacaacagaattagaaatgat
+tgctcaatctgaagttgagctttccccagaagatttagaaatctttgaagggcttgttga
+tgcccttgaagatgacgacgatgtacaaaaagtttatcataacgtcgcaaatctctaatt
+atcttttaaagaaatctgtctttacggcagatttctttaatctcatataattcttataaa
+aaatataatattcaactcgtcatattgattatacccccccgttcccagagaaataatatt
+tattaaaattccagttcttctttttctgattacagaaggcaaagtggcaattacgcatag
+tttcccgataaagacgcgatagcgacatcccgcataaggcatttttctctttatctttgt
+acggtacttcatggaacagagtttttgaccttgcgaatcgtgatgtctgttggggaggga
+caatttgctcactgaagcgtgagactcgattaagcgcacgaaacacagaaatcaaaaaac
+ccggtcacttttttacaaggtaaccgggtaaaaataatttttattttttaactgttttga
+gactcatagagatgtctcaaaactaaaatttggctcctctgactggactcgaaccagtga
+catacggattaacagtccgccgttctaccgactgaactacagaggaatcgtgagaacgag
+gcgaatattagcgatgcccacccacaatgtcaaagcctgttttttaaatttgaaatcgtt
+tgctgaaataatctgcattttgtcgtttattccgacacaactggctttttttcacacttt
+tgcggctcgggtcgagggtatttccatagccaacgtccagtaaccattcgccagtaaaac
+agcacggcccgcacagcccagtcggcaaacattcccatccagacaccaaccacaccccag
+ccaagcatgattcccagcacataaccgactacaacccgacaaccccacatgctcaacatc
+gaaacccacatggcgtaacgggcatcacgagcacctttaaatccagcgggtagcacccat
+gaggcggaccaaataggcataaataaagcatttagccaaatcagaatcacaacgacatgt
+ttaacctgtggatcctgggtgtaaaacgatgccataaccccggcaaagggagccgttagc
+caggcgatggccgttaatccaagagtggaaagccagaacacatgccgcaactgaatctct
+gcttgcgctatctgccctacccccaaccttcggcctgtaatgatcgtagaagcagagccg
+agcgcacttccgggtaagttgataagagccgcaattgaaaacgcgataaaatttccggca
+ataacactggtccccatcccggcaacgaacatttgggttaataaccgaccactggtaaat
+aacactgattcgacactcgcgggaataccaatccccatgacttcccagataatgctaaaa
+ttcagcggtttaaaatagctctttaacgaaatccttagcgcaggattaaaaccaatcgcc
+agcacccacaaaattgcaactgcgccaatataacgagaaatggttaaacccagccctgcc
+ccgacaaatcccagtcccggccaggagaaaaggccgtaaatcaatatgccgctaataata
+atattaagaatattcaggctaccgttaatcaatagcggtattttcgtattccctgcacca
+cgaagtgccccgctaccaataagagtgatggcagctgctggataactgagtaccgtcagc
+tccagataagtcaacgccagtgctttaacttctgtcgtggcatcacccgcgacgaaatca
+ataatttgttcgccaaaatgatgaataagcgttgccaacagtacggcaaacaacgtcatg
+atcaccaatgactgccgcgtcgccaccctcgctcgtcgtcgatcccgcttaccgagacta
+aatgccacaacgacagtagtaccaagatcgatagcagcaaaaaaagccataatgaccata
+ttgaagctgtccgccaatcccacgccggccatcgcatcttttcccagccagctgaccaga
+aaagtgctcagaacccccatcaacaggacacaggcattctccatgaagataggaacagca
+agcggggttatctcgcgccagaacaacactttgtagctcttgcgtttagcgtgccagcga
+gtgccgtgaacaacctggcgtaaagcagaggagatattcaaagccgaccttaattgcaga
+aagtgaaaccacatttcaaataatgagggagaatcagcaaagctgcaaagattttcgcca
+acaaattgtctgcaaatgcaacaaactgttgatagaaacggcaaacagttggggaattta
+aaaatcgggtttgacaaaagatttttcgccgttaagatgtgcctcaacaacgattcctct
+gtagttcagtcggtagaacggcggactgttaatccgtatgtcactggttcgagtccagtc
+agaggagccaaattcctgaaaagcccgcttttatagcgggatttttgctatatctgataa
+tcaatttcctcttcactgctttccatcacctgccgcttgatatcctcaactgacagtcct
+gcattacaaagttccagaaagcgccagacatagttacgctgaagttgtcctcgcttcagt
+cccaaccagacagtattagcatcaaaaagatgccgcgtatccaggcggattaaattctct
+tcctcttgttcgccactggattgctcggcaactaatccgatcccaagcccaagagcaaca
+taggttttaatgacatcagaatcctgcgcacttaatacaatatctgccagcaaacctttg
+cgggcaaatgcgtcatcaatacgtgagcgccccgtaatcccctgtcggtaagtgattaac
+ggccacttcgctattgattccagcgtcaatggtgaaatttgcgtcaagggatgatcgtgt
+ggaacaagcaaactatggtgccaacgaaaccacgggaaggcgacgagctgcgggtcatta
+ctcaaacgctcgctggcgataccaatatcagcttcgccattttgcaacaatgtcgcaatt
+tcctgtggcgtcccctggattagctcgagccgaacctccgggaaaagttcgcgaaaagct
+ttaatgacctctggcaagctataacgtgcctgagtatgcgtcgttgcaatagtgagaacg
+ccagacgtatcgttggtaaacaggtctgcaagccgacgaacattactggcttcattcaga
+atacgttctgcaatgaccagtaatgctttgcccggttcagtcatgcccagcagtcgctta
+cctcgtcgaacaaatatttcgatgccaagttcatcctccagttcccgaatatgacggctg
+acgcctgactgtgaggtaaaaagcatattcgcaacctctgtcaggttgtaatcctgacgt
+gcagcctcgcggattatctttagttgttggaaattcacggtaaactccgggcagttcaga
+tttcccgttattgttaaagtctaatgcccggcataacaaataataaaaacccgcatctta
+ttccatcccgatataacacttagctcaccaattgccactgccttttttccatcactggag
+aactaatcactgacattaacaactctttcactgcctgtgcctgtggcgataagttcgctc
+tggcgggtaaatttaatgacaaagagagactcatggaaggagtggtaatgcgtgacatcc
+acccatttactgcgccacataacgaacgcgcggccgattcgggtaatactgcaacgccca
+tgccgctggcaatcgctgcggtaagcgtggcaatagactcaatttcaccaataacttttg
+ccgtgagtcgccgtagggaaaaagcctcatcaacacgaagtctaatagcactgtaatcac
+tggggagaaagaggttcatttgcgcaatagcattcacatcaacgctttgccccgggcaat
+cttgagttcctaccagaaaaagatcttctttcagcaaagcctgactggatacaccagcca
+caggggaatgctcataaatcaccgccatatcgagttggtgatttatcaatttttcgttaa
+gcactgcaccactattttcatgaagatagataacgatctccggaaattcagcgcgaaccg
+cctgtaataagggcatggtgatggatgacgcagcggttcctggtgcaaagccaatcgaga
+cttgccccgataatgcctgaccaacgttatgcaccgccagttgggcctgttcacactgac
+gtaaaatggcccgcgcatgggtatagagaatttttccggcgtctgttggtgtaacgcccc
+gctttgtacggatcaaaagttgttgatttaactcaccttccagtgtggcaacctgctggc
+tgagcgctggttgtgcgatatgcaatacttcagcagcctgggtcaggctaccaatatcta
+caatttttacgaagtatttcaggcgtctgaagttcatgttgcctccggtttttaagaatc
+ggcccaagtgccgccattacttacaaccagattgcaagatgcttgccagttttattttgg
+tgttgatgtacaagctaaccaactgtcaaataagagattatgatagattcgtcatttgct
+cctttaatcagctgtcgcgttcccctgccctataaaaggagggtatgcaccacgatggtt
+cattacccaataagattgaaagctcaccactttgttgaaattgacagcaaacaaacaaaa
+aaatgcatttcaccctttgacatcaccatgcactgccattaatatgcgccccgttcacac
+gattcctctgtagttcagtcggtagaacggcggactgttaatccgtatgtcactggttcg
+agtccagtcagaggagccaaattcaaaaaagcctgctttctagcaggctttttgctttct
+aattaccaacgctcttaaaacatctgtcttgaaccagaactaatttgcacaggcattccc
+gatcgacgttgcaacgcagcatttgcgcgatttacatcaacttcttgcccgttgataaac
+gcccgcaaagatggggttaccggcaatggcacttttcggtcagactcatattctgcacga
+ttgcgcgacaatggctcatgaacttccagccagttcgagccatctggttcagtggtgtat
+tttactggctggtcgataatttgcacacgcgtcccaacaggaacattatcaaacagatat
+ttgatatcgtcattgcgcagacgaatacagccctgacttacccggagcccaataccaaaa
+ttggcattggtaccatggatggcatacaacctgccaatataaatcgcgtacagccccatg
+ggattatcggggcccgcaggaacaaatgcgggcaaactctcccctcgtttcgcatattcg
+cgccgagtgttcggcgttggcgtccaggttggagcttcttgtttacgttcaacggtagtc
+acccagttacgcggggtttctcgcccagcctggccgataccaataggaaagacttccaca
+gtattactgtctggtgggtagtaataaagacgcatctcagcgacgttaacaacaatccct
+ttacgaacagtgtcgggcaaaatcagttgctgcggaatggtgagttgcgagccagacttc
+ggcaaaaaaacatcagcgcccgggttcgcttccagcatgttacttaacccttgcccgtat
+tgtgcggcaaaagtctccagcggctgggtattgtgatcaggaacagttacagtaaacgac
+tgccccactaaacggctaccctctggaggtaatggataagttaccgccaggctagtatgg
+ctggcaaaaagcagagcaaatgagcaaagaatatttacacgacgcatcatgtccctttcc
+tatgtcgcgaaagctatccgttaagtatagcttttatcagacttttcgtttttaactgtt
+caaatcagaagtcgtattccccggtagaacaatattactggcagcaagttcgcccatgtt
+gttgtatatcgcacaggcagcttcgatgatgggcatcgccagagctgcgccactcccctc
+acctaaacgcatctccatattgagataaggctccagccccaaatgcgagagcgctatacg
+cgcgcctttttctgccgacaggtgagaaggaatgagatacggtttgatcgcaggagacat
+ctggcaggctgcgagcgcagcagcataagaaagaaatccatccagcaacacgggtaaacc
+gcaggaagcagcacctaacatcactccagctattccgaccaaatcaaatccacccacttt
+tgccaggacatcaacaccatcctgaggatttggttgattcaacgtaatcgcccgacgcac
+aacatcaattttattagccagtttatctgtcggcaggtttgcgccaatcccaaccacttc
+ttcaggatcccggccagtgattgtgctgactattgctgctgccggtgtcgtgtttgccat
+ccccagttcacctacaccaaacagcgtgacaccgttttttgccagctcctgcgtataaca
+tatgacgtccaaaagcaacttttcagcctgacggcgactcattgccggagctgaagcaat
+attgccgctacctcgtgcgacacgcatgttgataagcccggggataggctcagcagtatc
+aataccaacatcaattacgtggacgttagcgcccgcttgttctgccagcacacacacgcc
+ggttgttccacgggtcatattttcagcctgtatggctgtcacttcttttggagaaatagc
+gaccccttcctcccagacgccgtgatcggcacacataaccagtaccgcttttttgcccac
+atgcggtatgccattcaaccccggcattcctgccagttgtatggcaagcacctccagctt
+tcccaggctaccaacaggtttgagtaacccgtcaatatgccgttgtgcacgcgacatagc
+ggtagaatcgatggctgggatcgtattcagtaaatcggcaagtatttgcatctcacgtct
+ctttatagcagtgccagcaggaagaccagttcaccaagctctatggctgctcccagcgta
+tcgcccgtttgcccgcccagcgtacgtttgagaagctgaccgaggatgaaaatcgccacc
+atcgtcaccaccatagcagccacaccatgcatacccggcaataatacggcagcaaaaata
+gcggctaagccgagtgtgacgcaggtttgtcgcccatcaattttgccaatgaacacattg
+ccaagcccttcttcccgcgcataacgatgacgatacatcaataatgcggcagtcccgcgg
+ctgaccgcacatgctgccgccagcgatgcaaggatcgattcgccacgcagagccaactcg
+cttaacaccagaatctttgccagtaccacaaaaatcaatgccagaccgccgtgggtgcct
+aaacggctatcacgcatgatttccaacatgcgatcgcggctacgtgcagaaaatacgcca
+tcacaggtatcagcgaggccgtccagatggaatcccccggtcatcagcaccagcacaagt
+acgctaaacagtgccgccagtggtgcgccacaccatgcctgcagcaccatgaagaccagc
+ccgctaatcgcgccaagcaataatccaatcaaaggaaaagtaataataccgcgagaataa
+tgctcgaaatccagtccctgggaccagcgacgcggtacaggcagacgcgtaataaatgag
+agcatcgcccaaaataatttactcatttgatttttactccaatacccgaaaccaccagcc
+atacttcatttgccgcagcggccaactgctgatttacccgcccggcaatatcacgaaaat
+gtcgtgccagacgactctccggcacaatccccattcccacttcgttagtcactaatacaa
+cctttgcggggcaacgttggcaggcagcaatcaacgactgaatctcagcattaatcgcct
+gttccatcgcctgataatcccattcatcagggtctttatcgccgccataatcaaacaaca
+gattagtcaccattgtggtaacgcattcaagcaacacaacctcattcgggttaatgtctg
+catgaattaattcatcaagatgttgccagcgctccactgtgcgccagtgctccgggcggc
+cttgccgatgatgttctatccgtgcagccatctcatcatcaaggatttgcgaggtagcga
+tatacagaacctgtgaagagtccccaataagcgcctctgcgtggcgactcttcccgctcc
+gtgcgccccccgtcaccaaaatcatcataccgactcctgattcaaatgtatgatggtatt
+cattgaacagaacaatggatcccccaccgttgctgaccgcaaaacatttacgcgattaat
+actgcgcgtaatataattaaaaatccagcattctcaatccattacgaaataagatggcat
+tacggaatagccagactttctcgtgttaacgtccgacaaaatgcgtcattgacagcggtt
+tctgtggattgacacatttcattcagataatgaattaatgctactgccggaacaaccagc
+aaacgggcattgtgttctgaaatccaggctattgattcaacgtcagcgacagatctgcgc
+tgtaaaagaacttgtaaaacaacgtaatagaattatccggaatggtggcgactatgcact
+agggaaggtgcgaataagtggggaaattcttctcggctgactcagtcatttcatttcttc
+atgtttgagccgattttttctcccgtaaatgccttgaatcagcctatttagaccgtttct
+tcgccatttaaggcgttatccccagtttttagtgagatctctcccactgacgtatcattt
+ggtccgcccgaaacaggttggccagcgtgaataacatcgccagttggttatcgtttttca
+gcaaccccttgtatctggctttcacgaagccgaactgtcgcttgatgatgcgaaatgggt
+gctccaccttggcccggatgctggctttcatgtattcgatgttgatggccgttttgttct
+tgcgtggatgctgtttcaaggttcttaccttgccggggcgctcggcgatcagccagtcca
+catccacctcggccagctcctcgcgctgtggcgccccttggtagccggcatcggctgaga
+caaattgctcctctccatgcagcagattacccagctgattgaggtcatgctcgttggccg
+cggtggtgactaggctgtgggtcaggccgctcttggcatcgacaccaatgtgggccttca
+tgccaaagtgccactgattgcctttcttggtctgatgcatctccggatcgcgttgctgct
+ctttgttcttggtcgagctgggtgcctcaatgatggtggcatcgaccaaggtgccttgag
+tcatcatgacgcctgcttcggccagccagcgattgatggtcttgaacaattggcgggcca
+gttgatgctgctccagcaggtggcggaaattcatgatggtggtgcggtccggcaaggcgc
+tatccagggataaccgggcaaacagacgcatggaggcgatttcgtacagagcatcttcca
+tcgcgccatcgctcaggttgtaccaatgctgcatgcagtgaatgcgtagcatggtttcca
+gcggataaggtcgccggccattaccagccttggggtaaaacggctcgatgacttccacca
+tgttttgccatggcagaatctgctccatgcgggacaagaaaatctcttttctggtctgac
+ggcgcttactgctgaattcactgtcggcgaaggtaagttgatgactcatgatgaaccctg
+ttccatggctccagatgacaaacatgatctcatatcagggacttgttcgcaccttcccta
+gaacaccacaatttcgctctctcggtaaggcactgtcacagcattcaacagaatgtgact
+tgccagatttattagcgccaccagatgtttaaccgggtaaccacgacccagtcggggata
+tattccatcttctcgctgacatcatcaagaataaaaaggtttatcacactcagagcaacg
+ttcttcagcaggcgggataattcttcaacatttagaagatgtgttattaaaggcatacaa
+actggacgtattgtattttcttttggtggttgacctaaggtagcagtttatcctgatgcg
+ctgagatttctgtaatatctacgtcaacattctcctcgaatagaaaatgcagccccggca
+agtgattcacattttttaacaaaacgttgttagcgtgccattttcagaagctctccaaga
+aagcgaattcttttctcaaattctgcattctcagacacagctttctactccatggtaatg
+gcccaaatacgaagttgctcaggatcattagtggtgctgagaagttaaataaccatgcgg
+agtaccactcgtcatcacgtatttatatatcatgaagctattgttgtgttttgtacatca
+gtagatatattctgatatactccttttgctagacataacctttcacctgcttgcaaagct
+tctgtgttctgacattgccaaattgttgcaattctgtatccagccttctttcagtcatag
+cttcgggccgcgataagactcactgatctgaccctgattcctcttgcagactttatagac
+caattaaaatgcagtttctgcaggtcaacgtctgaccatcattgtcatcactctggccat
+tagagtaaccttctgcattcatccttttgtaaaaagtttatattagtatcagcaattaac
+cggacctgatactgatatgagtcttaccgcatatacggtcaatttcagcaattaattaca
+ttatccacgccaaagtatttgtcatcacaatgatggtaccttctttcagacaccattttt
+tcaactccgttttccacggaccgcactcttatgtcaagagtgcggtccgtggatacaacc
+agagaccgactgacacgagtcagaggaaacgacggatatgttcagtcgtaaaatatctat
+caaaaaacatgattaaggtcaaaaatgtttgatatttacaatttatgaagatgacaataa
+ttatagatatatgagaacataaatgaaaataattatcattacagtaatcatttgtacttt
+gtattaatgagggatgaaatgttatataatataccttgtcgaatttatatcctttccact
+ctgtcattatgcatttctgggatagtttctactgcaaccgcaacttcttcagaaacaaaa
+atcagcaacgaagagacgctcgtcgtgaccacgaatcgttcggcaagcaacctttgggaa
+agcccggcgactatacaggttattgaccaacaaacattgcagaactccaccaatgcctcc
+atagccgataatttgcaggacatccccggagtagagataacagacaactccttggcaggc
+cgtaaacaaatccgcattcgtggctggatttgcccctatatttccagacatctgttatca
+cttaacccattacaagcccgctgccgcagatattcccgtggcgagcgataacccagcgca
+ctatgcggatgccattcgttataatgctcgaacgcctctgcaaggttctttgctgccgtt
+aacccgtctggtttgggcatgatactgatgtagtcacgctttatcgttttcacgaagctc
+tctgctattccgttactctccggactccgcaccgccgtgttcttcggttcaagtcccaac
+atccgggcgaactggcgtgtttcattagcccggtagcatgaaccattatccgtcagccac
+tccactggagacgacggaagatcgttgccgaagcggcgttccaccgctcccagcatgacg
+tcctgtactgtttcactgttgaagccgccggtagtgaccgcccagtgcagtgcctcacga
+tcacagcagtccagcgcgaacgtgacacgcagtctctctccgttatcacagcagaactcg
+aacccgtcagagcaccatcgctgattgctttctttcacggccactctgcctgtatgtgcc
+cgtttcgatggcggtacagcaggttttcgctcaagcaacagcgcattctggcgcatgatc
+cggtaaacacgtttggcattgatcgcaggcataccatcaagttctgcctgtctgcgaagc
+agcgcccatacccgacgataaccatacgttggcagctctccgataacatggtgtatacgg
+agaagcacatccgtatcatcagtgtgacgactgcggcggccatccatccagtcatcggtt
+cgtctgagaatgacgtgcaactgcgcacgcgacacccggagacaacggctgactaagctt
+actccccatccccgggcaataagggcgcgtgcgctatccacttttttgcccgtccatatt
+caacggcttctttgaggagttcattttccatcgttttcttgccgagcaggcgctggagtt
+ctttaatctgcttcatggcggcagcaagttcagaggcaggaacaacctgttctccggcgg
+cgacagcagtaagacttccttcctggtattgcttacgccagagaaataactggctggctg
+ctacaccatgttgccgggcaacgagggagaccgtcatccccggttcaaagctctgctgaa
+caattgcgatcttttcctgtgtggtacgccgtctgcgtttctccggccctaagacatcaa
+tcatctgttctccaatgactagtctaaaaactagtattaagactatcacttatttaagtg
+atattggttgtctggagattcagggggccagtctagtggcgaagcatcctcccgtgtttt
+aattctcattgatggtcaggaggtaacttatcagcgcgccggagataattatggtgtggg
+actgttgatagatgagtctgcgctggagcgtgttgaggtagtgaaaggtccatattccgt
+actgtacggttcacaggcaattggcggtattgttaacttcatcaccaaaaagggtgaatc
+tccggactccctatatcacttaaattgatacaactttttagagtagtcattagtgaacag
+ataattgataactcagaaccagtaaaatgcaaaagacgcaccacgctgggaaaatcgctg
+ctattcagcagagttttgtatcgagaatggtggccagccacttattgctctcgcgtaagc
+gggtaccgtgacattctgcctgaacttgacctggtactgtggctgattaaagccgatgac
+cgtgccctgtctgtggatgagtatttctggcgacacatcctgcagtgcggacatcagcag
+gtgctgtttgtggtgacgcaggccgacaaaacggagccctgccatgaatgggatatggcc
+ggtattcagccttctcctgcacaggcacagaatattcgcgaaaaaacggaggcggtattc
+cgtctgttccggcccgtacatccggttgtggccgtatcggcccgcaccggctgggaactg
+gatacgctggtcagtgcgctcatgacagcgcttcccgaccatgccgccagtcccctgatg
+acccgactgcaggacgagctgcgcacggaatctgtccggtctcaggcccgtgaacagttt
+accggtgcggtggaccggatatttgacacggcggagagcgtctgtattgcctctgttgca
+cgcacggttctgcgtgccgtccgtgacacggtggtctctgttgcccgtgcggtatggaac
+tggattttcttctgaacctgtcgtgactgatgccctccctgactctgagtctgctcacaa
+aagcactgttttcgttactgtctctcttgtccgtgcaatagctcaataatagaataaaac
+gatcaatatctattttatcgatcgtttatatcgatcgataagctaataataacctttgtc
+agtaacatgcacagatacgtacagaaagacattcagggaacaacagaaccacaattcaga
+aactcccacagccggacctccggcactgtaaccctttacctgccggtatccacgtttgtg
+ggtaccggcttttttattcaccctcaatctaaggaaaagctgatgaaacgacatctgaat
+acctgctacaggctggtatggaatcacatgacgggcgctttcgtggttgcctccgaactg
+gcccgcgcacggggtaaacgtggcggtgtggcggttgcactgtctcttgccgcagtcacg
+tcactcccggtgctggctgctgacatcgttgtgcacccgggagaaaccgtgaacggcgga
+acactggcaaatcatgacaaccagattgtcttcggtacgaccaacggaatgaccatcagt
+accgggctggagtatgggccggataacgaggccaataccggcgggcaatgggtacaggat
+ggcggaacagccaacaaaacgactgtcaccagtggtggtcttcagagagtgaaccccggt
+ggaagtgtctcagacacggttatcagtgccggaggcggacagagccttcagggacgggct
+gtgaacaccacgctgaatggtggcgaacagtggatgcatgagggggcgatagccacagga
+accgtcattaatgataagggctggcaggtcgtcaagcccggtacagtggcaacggatacc
+gttgttaataccggggcggaagggggaccggatgcagaaaacggtgataccgggcagttt
+gttcgcggggatgccgtacgcacaaccatcaataaaaacggtcgccagattgtgagagct
+gaaggaacggcaaataccactgtggtttatgccggcggcgaccagactgtacatggtcac
+gcactggataccacgctgaatgggggataccagtatgtgcacaacggcggtacagcgtct
+gacactgttgtgaacagtgacggctggcagattgtcaaaaacgggggtgtggccgggaat
+accaccgttaatcagaagggcagactgcaggtggacgccggtggtacagccacgaatgtc
+accctgaagcagggcggcgcactggttaccagtacggctgcaaccgttaccggcataaac
+cgcctgggagcattctctgttgtggagggtaaagctgataatgtcgtactggaaaatggc
+ggacgcctggatgtgctgaccggacacacagccactaatacccgcgtggatgatggcgga
+acgctggatgtccgcaacggtggcaccgccaccaccgtatccatgggaaatggcggtgta
+ctgctggccgattccggtgccgctgtcagtggtacccggagcgacggaaaggcattcagt
+atcggaggcggtcaggcggatgccctgatgctggaaaaaggcagttcattcacgctgaac
+gccggtgatacggccacggataccacggtaaatggcggactgttcaccgccaggggcggc
+acactggcgggcaccaccacgctgaataacggcgccatacttaccctttccgggaagacg
+gtgaacaacgataccctgaccatccgtgaaggcgatgcactcctgcagggaggctctctc
+accggtaacggcagcgtggaaaaatcaggaagtggcacactcactgtcagcaacaccaca
+ctcacccagaaagccgtcaacctgaatgaaggcacgctgacgctgaacgacagtaccgtc
+accacggatgtcattgctcagcgcggtacagccctgaagctgaccggcagcactgtgctg
+aacggtgccattgaccccacgaatgtcactctcgcctccggtgccacctggaatatcccc
+gataacgccacggtgcagtcggtggtggatgacctcagccatgccggacagattcatttc
+acctccacccgcacagggaagttcgtaccggcaaccctgaaagtgaaaaacctgaacgga
+cagaatggcaccatcagcctgcgtgtacgcccggatatggcacagaacaatgctgacaga
+ctggtcattgacggcggcagggcaaccggaaaaaccatcctgaacctggtgaacgccggc
+aacagtgcgtcggggctggcgaccagcggtaagggtattcaggtggtggaagccattaac
+ggtgccaccacggaggaaggggcctttgtccaggggaacaggctgcaggccggtgccttt
+aactactccctcaaccgggacagtgatgagagctggtatctgcgcagtgaaaatgcttat
+cgtgcagaagtccccctgtatgcctccatgctgacacaggcaatggactatgaccggatt
+gtggcaggctcccgcagccatcagaccggtgtaaatggtgaaaacaacagcgtccgtctc
+agcattcagggcggtcatctcggtcacgataacaatggcggtattgcccgtggggccacg
+ccggaaagcagcggcagctatggattcgtccgtctggagggtgacctgatgagaacagag
+gttgccggtatgtctgtgaccgcgggggtatatggtgctgctggccattcttccgttgat
+gttaaggatgatgacggctcccgtgccggcacggtccgggatgatgccggcagcctgggc
+ggatacctgaatctggtacacacgtcctccggcctgtgggctgacattgtggcacaggga
+acccgccacagcatgaaagcgtcatcggacaataacgacttccgcgcccggggctggggc
+tggctgggctcactggaaaccggtctgcccttcagtatcactgacaacctgatgctggag
+ccacaactgcagtatacctggcagggactttccctggatgacggtaaggacaacgccggt
+tatgtgaagttcgggcatggcagtgcacaacatgtgcgtgccggtttccgtctgggcagc
+cacaacgatatgacctttggcgaaggcacctcatcccgtgcccccctgcgtgacagtgca
+aaacacagtgtgagtgaattaccggtgaactggtgggtacagccttctgttatccgcacc
+ttcagctcccggggagatatgcgtgtggggacttccactgcaggcagcgggatgacgttc
+tctccctcacagaatggcacatcactggacctgcaggccggactggaagcccgtgtccgg
+gaaaatatcaccctgggcgttcaggccggttatgcccacagcgtcagcggcagcagcgct
+gaagggtataacggtcaggccacactgaatgtgaccttctgacagaaccatcgcctctct
+gtggtcccggtcatcatgaccgggacccggaccggcgcaacggatcttcaacgccacatt
+cgctggcattaacaataacatgatattcatcacggagtgactatgttacagatagtcggc
+gcgctgatcctgctgatcgcaggatttgccattcttcgccttttgttcagagcattaatc
+agcacggcttctgcgctggcagggctcatattgctgtgtctgttcggcccggccttactg
+gctggctatatcaccgaacgcataacccggttgttccatattcgctggctggcaggcgta
+tttctgacgattgccggaatgatcatcagcttcatgtggggacttgatggtaaacatatc
+gcgctggaggctcacacctttgactctgtgaaatttattctgaccaccgctctcgccggt
+ggtctgctggctgttcccctgcagatcaaaaacattcagcagaacgggatcacaccagaa
+gatatcagcaaggaaattaacgggtattactgctgtttttatactgcctttttccttatg
+gcgtgttctgcatgcgcaccattgatcgcgttacagtacgatatttcaccgtcactgatg
+tggtggggcgggttgttgtactggctggctgcattagtgacgctgctatgggcggccagc
+cagatccaggcgctgaaaaaactgacctgtgccatcagccagacactggaagaacaaccg
+gtgctcaacagtaaatcgtggctgaccagtttgcaaaacgattacagccttcctgactca
+ctgacggagcgcatctggctgacgctcatttctcaacggatttcccggggagagctgagg
+gaatttgaactggcagacggaaactggttactgaacaatgcctggtatgaaagaaacatg
+gcagggtttaacgaacagttgaaagagaacctgtcattcacacctgatgaactgaaaacg
+ctcttccggaaccgcctgaatttatcaccggaagcgaatgacgattttctcgatcgttgc
+ctggacggcggtgactggtatcccttttcagaaggtcgccgttttgtatcattccatcac
+gtggatgagcttcgtatctgtgcctcctgcgggctgacagaagtacatcatgccccggaa
+aatcataagccggatccggaatggtactgctcctctctttgtcgcgaaacagaaacactg
+tgtcaggaaatttatgaacgcccttacaacagctttatttccgatgcaacggcgaatggt
+ctgattctcatgaaactgccggaaacctggagtacaaatgagaaaatgtttgcttccgga
+gggcagggacatgggtttgccgctgaacggggaaaccatattgtcgacagagtccgtctg
+aaaaacgcacggatcctcggtgataataatgccagaaatggagcagacagactggtcagc
+ggaacagaaatccagacgaaatattgttcaactgcagcccgtagcgtcggtgcggcattc
+gacggacaaaacggacagtatcgttacatgggaaataatggccccatgcaactggaagtc
+ccccgtgatcagtatgccggcgctgttgaaaccatgaggaataagatccgcgaaggtaaa
+gtagaggagagatgacgcccggcgagcgcagcctcattcaacgggccctgaaaaccctgg
+accgccatcttcatgaacccggcgtggccttcacctccacccgtgcagcacgggaatggc
+tgattctgaacatggcgggactggagcgtgaagaattccgggtgctgtatctgaacaacc
+agaatcagctgattgccggtgaaaccctcttcaccggcaccatcaaccgcacggaagtcc
+atccccgggaagtgattaaacgcgccctgtaccacaatgccgctgccgtggtactggcac
+acaatcacccgtccggtgaagtcacacccagtaaggcagaccggcttatcaccgaacgtc
+tggtacaggcactgggcctggtggatatccgggtgccggaccatctgatagtcggtggca
+accaggttttctcctttgccgaacatggtctgctttaacccttcacaaccacatcacacc
+tgttttcacttttatcttctgtcttcagaggtatcccattatgaaaattatcacccgtgg
+tgaagccatgcgtattcaccaacaacatccgacatcccgtctttttccgttctgtaccgg
+taaataccgctggcacggcagtgctgaagcgtataccggtcgtgaagtgcaggatattcc
+cggtgtgctggccgtgtttgctgaacgccgtaaggacagttttggtccgtatgtccggct
+gatgagcgtcaccctgaactgagtgggaattctgatgagcagaattatcgccactaccgg
+accattcttagccgattttctgtaaggattttatcgtgtcagacacactccccgggacaa
+cacttcccgacgacaatcacgaccgcccctggtgggggctgccctgcaccgtgacgccct
+gtttcggggcacgtctggtgcaggagggtaaccggttgcattaccttgccgaccgcgccg
+gtatcagaggcctgttcagcgatgcagatgcgtaccacctggaccaggcctttccgctgc
+tgatgaaacaactggaactcatgctcaccagcggtgaactgaatccccgccatcagcata
+ccgtcacgctgtatgcaaaagggctgacctgcaaagccgataccctcagcagttgtgatt
+acgtttatctggctgtttatccgacgcccgaaatgaaaaattaactctccagaatagcct
+tctgctacggcctggtgttttcaccacgccacttttccatttttatatctgcatatcagg
+aaaatcttcagtatgaaaacattacctgtattacccgggcaggcggccagttctcgcccg
+tctcctgttgaaatctggcagatactgctgtcccgactgctggaccagcactatggcctc
+acactgaatgacacaccttttgccgatgaacgtgtgattgagcagcatattgaggcaggc
+atttcactgtgtgatgcggtgaactttctcgtggaaaaatacgcgctggtgcgtaccgac
+cagccgggattcagcgcctgtacccgctctcagttaataaacagcatcgatatcctccgg
+gctcgcagggcgaccggcctgatgacccgcgacaattacagaacggtaaataacattacc
+ctgggtaagtatccggaggcgaaatgatgacactggaagccgacagcgttaacgtacagg
+cgctggatatggggcacattgtcgttgacattgatggtgttaatatcactgaactgatta
+ataaggccgctgaaaacggttattcactccgcgtggtggatgaccgtgactctaccgaaa
+caccggcaacttatgccagccctcaccagttgctgtaagacaatgcagtgatacagggta
+tagtgccattaaccacagaaacagcactgttgtcctgtattaagcaggcaagagaagatg
+tccttaccctgcgccatctgcagcttctgcaccagaaccggtgaatctcactcaacaggc
+ttcatttctcctgacgccagcctgaatacagctggcgttttcatttataaacagaaagga
+aaaccgataataatggaatggacgccccgaccatgaagcaacggtaggatattactgata
+aaccttccagtggaggtgcgttatggccgttttaacgattagcattgacctgacaaaaaa
+tgaattccaaatccacggtctgggtaggaacagaaaaatctaagctcagaaaacggatta
+aagtaagcgtcaacggagcaccgtattgacgcttatttattggtgagaactacgttccat
+ggcaggagttcgtcaacacggttggagggccattccggcagtatgctcagaatatggcgc
+agatacgcttccggatcgataccgttcagacggcaggtgcctgcttttctggcaacaagc
+aggaatctcagcgctgaagcaggaattagaggtaaaaacgccctaccgggccatgaatca
+cccggtcattggagtagtaaccaaagcagatttagccagcatggaacaaatatctttggt
+gaaaagttggttacgggaagctggagcgcacaacgtgttagtaaccagtgcagttaataa
+caatggagttacagaactttttgccttgctgcatacagaagaaggctgttgttaatttcg
+attggttctcggatgagaatgatgacggtgatacacagataagaatcaatgagcaatgag
+ggttgccgggcaaccctcattgaataaaacgggaattacttcgcttcgccgtttttcatt
+tcgcccatagctttcagctttttggagatatcgcggcgttctttggagagctcggcattt
+ttgatgatgtaatcgtcaacgcgatcttcatagtcacctttcatgctggcgatgatgccc
+tggattgcttcaacgctcatccccggcttgatgtaatcgctcaggttgtccagcagcagg
+acgcgcttctggttgtcacggatctttttctcaacgtcctgaatttcacgttgcagtttg
+ttcttacgacggaacagacgaacaaattccagtacgtcctggaatgaaggcttggtagtt
+tccatttttatacccctgataatgtgagagtcggattcgtttaagcaaccgctattcgtt
+agggccaacattactcatagctgccgcagatgacaatgcttttatcccttttcactatca
+taccctttatccttgctgaatcgaagcagcagcaagatgattctgaagttcaggaattat
+ttgcgcaaggcccggcaaatcagattcgatagcaactcaagctgatgcgccgtttccatg
+ttcagccacacataaccatagattggtgtttccacaaccttcaggtcatggtggttattg
+agcaactgacgcagctcttccacagcatcgttcaatttttccgtattggcaaaaaccggc
+tgcggattaccttcgtacagcgcatgaacaaggctcagcagtatttgctgcatcatgtgc
+tgggtatcacgaagtttttgcgcgttcaataacacgaaatggctggggcgcgtggcccag
+tatgcattgatttgcaactccagcatacaaaccagattgcggttaatggtctggatacct
+tcatatatcgattttggaatacgggtttctttgctggcgggcgcaatcagtccacgcatt
+ttcacggcatcggtcaggagtttttgtagatggctttccagacgtgggcgttcgagtaag
+ttcggtgagaatgcagattgatagacccgattatactcggtcagacttttcgccagttga
+atgcgccagtggatgaacgcccgttgtggccagataccggtaaacaacattgccagtaaa
+gagccgaggatcacatcgccgcttcgccataacgccgtatcaatttcacctgtcggggaa
+cccacaacaattgccagcgtcaccccaatcaataaaccttgatacggtttcttgcccagc
+gccagccaaccgcaaaggaacatggccgccgcgcaccagactaacatcagcggtaacgag
+attaactccagttgcagagcgataagacctaaaatcgaacccaacaccgtaccgccaata
+cgctcaaaggcgcgagggacaacgttaccccagaacgagattggccccataatcaccacc
+atggtgaccagcggccaggtgctttccgggatagtaaacaggcggataatgagaaaagtg
+agcaggaatgccagcgcgacccgagtaccatgcacaatgcggtaatggcggtatacccgg
+atttcaaacgggcttaatgacttatcggcacgcacgcagaaactccgtaatgagattaaa
+agcgctcataactcatctgtcggccagaaggcgcgcctctgaattatccgacggacaaac
+cgggaacagtgtaatttcccggcaggagcgaaaaaattgaaaggcgcatcttactctttt
+cgctttcaaaaaaaagagtggtcatcgcgttaacacaccgccctgagatgaattagtgat
+gttttggctgcaccgcaacatacatttcgatatcccagtacccatcttccgcgccattgt
+tcaaataaacctcgaagcagggctttggtaacatttcataagcactgtcctgcaagagac
+tattaaagaactgataccagggtttagcaaaatcatcaccgactacacgagctaccgcca
+ccgcatactgaccacctgtaatttctgtcagaatgacgccctcactgttttcgggaagcg
+taaagtaacccggcaccgtcacgacggtgtcgcagcgtaatttttcggcgggtgtttcat
+ctggattgtcgtaatagacagcaacccactccttcggcacaatatttttgctatctaccc
+acatcatcaactgctcaaagcctttctttaccgtctgttcccacgggccaacgagatgga
+aacctgcaacggtacgtttctcttcctgcttaatctcgtagttcatgacgcctccattga
+tactgtttttatatacagtatagttgcaaaattaaaaccacaaggaatgagtgttgatta
+tgcgagcagactcgcactcctgccagtctgctgcaaaagaaaggtcaggccttatggtgg
+aaataatcactcaggcgagaaaacatgctgccttccccgacagattccagggtaaccagc
+ggccagtgcgccacctgtttatcacggtcgtaaagttcaatttcccctacccgctgatgg
+gcgctaattggcgcggtgagttctttaccatcaagggtatatttggctttgatatgtgga
+atttcggctttcggtagcaccatccagaactcttgttccgttcccaggtcgatattttct
+ttatcgccataccagatgcgttccgttccgacctttttcccacggtgcaaaatttgcacc
+gtagtaaagttttgttgcccccaacgcagtaattttcttgcctcttcctcacgacctttt
+gcactgtcagcccccattaccactgcaatgagacgacgctgcccatctacagccgaagca
+atgagattaaacccggcaccagaagtatgacccgttttcaggccgtcaacattcatggtt
+ttatcccacaacaacccgttacggttttgctgggtgataccgttccaggtgagacttttc
+tcactgtacatatgataaaactcgggctcgccgtggatgatagcacgagaaagcacagct
+aaatcataagccgagctatgctggccaggtgcatccagaccatgcactgtttcaaaatgc
+gtatccttgagatgcagcttctcggcatagttgttcatcatttcaacaaactgccgttgc
+ccaccggcaatatagtcagccagagcaacacaagcgtcatttccggaatccacaattaaa
+ccacggcttaaatcacgtaccgatacgcgatcgccctctttcaaaaacatcagtgaagaa
+ccgacaaacaccggattatctttcgcccacgcatcgcgccccacggtgacaatatcgtct
+ggcgtaatgcgatgactatcgatagcgcgatccacgacataacccgtcatcagctttgtc
+aggctggcgggattgcgctgttgatgctcattacccgcggtgaggatctgaccggtggtg
+taatccatcaatacccaggacccggcatgaatctctggaggctgaggtgaaaaaggaatg
+ttttccgccgcaaaaccagacgataagttaaaaacgaacaaagaagcagcaataataaga
+cggcgtttcaacagcaaaccctcaggagtttcaaatagctgttctttttacggaaatact
+tatgaactggctggaataaagtgcaagaaaatgtgactaccctctcatttttatctgaca
+tgatctgttgccactcgctgccaaattgtggcgctaaagctgattagcacggtgatattt
+gatactctggcagacagcagaaataacggatttaacctaatgatgaatgacggtaagcaa
+caatctacctttttgtttcacgattacgaaacctttggcacgcaccccgcgttagatcgc
+cctgcacagttcgcagccattcgcaccgatagcgaattcaatgtcatcggcgaacccgaa
+gtcttttactgcaagcccgctgatgactatttaccccagccaggagccgtattaattacc
+ggtattaccccgcaggaagcacgggcgaaaggagaaaacgaagccgcgtttgccgcccgt
+attcactcgctttttaccgtaccgaagacctgtattctgggctacaacaatgtgcgtttc
+gacgacgaagtcacacgcaacattttttatcgtaatttctacgatccttacgcctggagc
+tggcagcatgataactcgcgctgggatttactggatgttatgcgtgcctgttatgccctg
+cgcccggaaggaataaactggcctgaaaatgatgacggtctaccgagctttcgccttgag
+catttaaccaaagcgaatggtattgaacatagcaacgcccacgatgcgatggctgatgtg
+tacgccactattgcgatggcaaagctggtaaaaacgcgtcagccacgcctgtttgattat
+ctctttacccatcgtaataaacacaaactgatggcgttgattgatgttccgcagatgaaa
+cccctggtgcacgtttccggaatgtttggagcatggcgcggcaataccagctgggtggca
+ccgctggcgtggcatcctgaaaatcgcaatgccgtaattatggtggatttggcaggagac
+atttcgccattactggaactggatagcgacacattgcgcgagcgtttatataccgcaaaa
+accgatcttggcgataacgccgccgttccggttaagctggtgcatatcaataaatgtccg
+gtgctggcccaggcgaatacgctacgcccggaagatgccgaccgactgggaattaatcgt
+cagcattgcctcgataacctgaaaattctgcgtgaaaatccgcaagtgcgcgaaaaagtg
+gtggcgatattcgcggaagccgaaccgtttacgccttcagataacgtggatgcacagctt
+tataacggctttttcagtgacgcagatcgtgcagcaatgaaaattgtgctggaaaccgag
+ccgcgtaatttaccggcactggatatcacttttgttgataaacggattgaaaagctgttg
+ttcaattatcgggcacgcaacttcccggggacgctggattatgccgagcagcaacgctgg
+ctggagcaccgtcgccaggtcttcacgccagagtttttgcagggttatgctgatgaattg
+cagatgctggtacaacaatatgccgatgacaaagagaaagtggcgctgttaaaagcactt
+tggcagtacgcggaagagattgtctaatttgaagcctccgccgctggtacggcggaggac
+aatgttgagtcaggctttttgaacggtgatgctccacgctgcatcgccaatctgctgata
+atcggtgatggcatgtccttcttctgccgcccactgtgggattgcttcagttgcctgggt
+gcaatcaaactcaatcactaactcatcgccgctgaccatttctgccagagctgcttttgc
+ttctatgagtggaaacggacagacctgcgtcaccacatccagctttttaatcaccatctt
+tacaccttacttaatttgccgcagcagttgccagtcgcgccttacgctgcggtcgaacat
+acacaagccaggacgcagtccagactccgagaatcataaatacaaggccaatccagccct
+gccaggtcatcattgcagtcataaccagtccattaccgatagagcaaccacctgcaatac
+tggcaccgaagcccatcagtacaccacctaacccgctacgtaatgttgtttgtgcatcag
+ctgcgcgaacgcggaactcacggctcgctttggctgcaataaatgaccccacgaagatcc
+ctaacaccaggaaaacgccccagttaatgtatttcatgtcacccgcgaccagaaattgca
+gaatattggccgttggggaagtgattcctaacccaaacatgcgtccggttgcttcactca
+ggggccaggctaaaagcgcaatcaaaccgatgagtacagctgtgacaaagggatgccagc
+gtttttcaaacagaatatgagcgatcccggttcggcgcggcggtaaggtcgcgactttga
+gttttggcttcttcaactctttcatcaccacccagagcgttatcaccagcaaaacggcaa
+ccaacggccacacagacaaattaaaagtctcagcaatagagttatgttcagtactgtagt
+gctgcaaggtttgatttaaaccactggcatgtggagaacgcatcaccgcactcatcacca
+tataagtgaaaagcgcgatccaactgccgatcaatccctcacccgcgcgataccaggtcc
+cggtggcacatccacccgccagaacaattcccagcccgaagatatacccacctataacag
+taccaagccacgggaacgccccggcttcgtaagtcagtaggcccgcctgaattaacgcaa
+aaacccccacgctttgtaccgaaattgcaatcagcaaggcgtaaaacatgcgattatttt
+tcacgatatacatatcgcgaaaaccacctgtcaggcaaaaacgcccacgctgcatgacaa
+atcccagcagagcaccacaaattagcccgcttaatatcattgaaaacataaattaattaa
+ccagatgaatgttaatgaggaaattattcatgactggtggaatgcagaccaataaccaaa
+ttctctaaattagaacaaatggttattaatgaggagttcgatacaaaagaataaaaaaac
+cggagccaaatgttcattcgactccggtttattattagaaaagatgattatgctacgtct
+tcgtactgcggaaccggattacggaagctcttggtgacgcaagccaggtaaatcagaccg
+atagcagcccagatcagacccagaaccattgagctttcttccaggttaacccacagcgca
+ccaacggtcagcgcaccacacatcggcaggaacagatactggaagtgatctttcagcgtc
+ttgttacgcttctcacggatccagaactgcgagatgaccgacaggttaacgaaagtgaac
+gccaccagcgcaccaaagttaatcagcgccgttgccattaccaggtcgaagttgattgcc
+agcagggcaatcgcgccaaccaggatgatgttcatcgccggagtacgccatttcgggtgt
+acataaccgaagaagcttttcgggaatacgccgtcacgacccattacgtacatcagacgc
+gctacgcctgcatgcgccgccataccggacgccagtacggtaatggtggagaagatcagc
+gcgccaacctggaacgctttacccgcaacgtacagcatgatttcaggctgtgacgcatcc
+ggatctttaaagcgagagatatccgggaagtacagctgcaggaagtaagttgcaaagatg
+aagatcatgccgccgatcagcgcggtcaggaaaatcgcacgcgggatcacgcgctctgca
+tctttggtttcttccgacaggttgctgatgccgtcaaagccggtaaaggagaagcacagg
+attgtcgccccggtaatcatcgggataacatgcgcatcgccagaccagaatggacgagtg
+ctcgccagcgtaccagcgccttcaccttcaaatacgccataaacaaccatgcccagaatc
+accgcgatcagcactacctgcaacacgacgattacagtgttgaagttcgctacggatttc
+agactacgcaggttaaaggcggtcataaaggccaccagcgccaccacaaacatccacgat
+gggatggaaggcaccagagcttcaaaatagattttcgccagtagaatgttgatcatcggc
+gcgaacagatagtcgagcagagaagaccaacccaccataaagccgacagtcgggctaatg
+gatttctgggcgtaagtgtatgcagagccagcagaaggatagcggcgaaccagcttcccg
+tagctcagagccgtaaacaggatcgcaatcaatgcgaacgcataggctgtcggcacatga
+ccatccgtgaggcctgaaacgataccaaaagtatcaaacagcgtcatcggctgcatatag
+gcaagacccatcattacaaccggaactaacgtaagcgttttacgcaattccacgcgagag
+gtgtttggagtaacgttatgcgacatggtcattctcctttacggtgataaccgtcgcgta
+agcaaaaaattgccccatttttttggattcctcagcgacaacaactgtcgatttttagta
+aatatctatccggtacgaagcccggcctcttggtatgaatgattggtttgaagcaaaaaa
+taaccgacgctgatgaaacgtcggtttttagtcattttttgacagcggcgcattgtgcct
+aaatgggggggaaatgacaagagaatgagaggcttgtcagaataatttttctttaaatgg
+ctgattttccgtcatcagattttgcataaacaccggcgatcgcactatttgctaaaattt
+catcccgccaccagccactggcaagtcctgcggtctgttcgttccagccaatccagacgg
+gttcaaagagagtttgggcgaccactttcttctcgattaacgcgccactatcgagaaaac
+gttgcgccagataacggggtaaatagccgcagccgaggccgctaatttgcagctccagtt
+tggttttaaaatcgaaaacggtaatggcttcttgttcgtcgagaagttgtgatgccgtag
+aagcgcctgcctgcgcagtatcccccaccacaatcgcccgatatcgcttaataatacgac
+gatttaacggctcttcttccagggctaacggatgatgaggcgcgaccgcaaagacttgtt
+ccagatcgcccaaccgtgaaaaaccaaactcactggaagatggtggctcatgcatcgcgc
+caacaataatatccgctcgcccctgagtcagggcatcccatgaaccaccgagtacgccat
+tgataaacttcaggcgcgtcacgctatgatgttgataaaaagcttcaatgagtggcgcaa
+gcagagaaaaaggaaacgtgtcgtccacgccaatcaccagctcgttttcccagccttcat
+gcagtttgatcgcctgcttttccagttcccgcacggtatgcagaacttcccgccctttct
+ctaataacatttttccggtgcgggtgaatttagcgcggtgtccgctacgatcaagcaatt
+gaatattaaggtcgctttccagcttgtgaacggtgtaactcagagcggacggcgtcttgt
+agagtttggccgacgccgccgcaaaactgccttctttttctaaggcatcgaggatcatca
+acacatccagcagtggtttcatacacgcccccttgcagtgcatgcggcgtcctgctggcg
+tgatcgtttactccagcggcattaccagcggatcgggatactggtattcaaatcccagtt
+cattacaaatccgactgccatcaataatcttacctttgccgctgtccagactatttctga
+actgcggaggttccagccccagtaaacgggccatctgcggatagaaaacattacgcgcag
+ggtgagctggcgcacatatattatagatgtgtccgcctttaggtgcctgtaacaacagag
+tgatagcgccaataacatcttctaaatggactaaattaacaccatgttcaccatcaggcg
+cggtttttccggcaaagaagcgtccgggatgacgtcccggtccgaccaggcccgcaagac
+gcagaatatcgaccgaagtaccgggtaaattgtgcagccagtcttcgagttcttctaata
+ctcgtccactgttggttactggattacgcggggtggtttctttcaccgtgccttgcgcgt
+cgccatagacagatgttgagctggtaaaaataatgcggggaatacgatgggccagcgcgc
+tatccactaactcttgtaccgcttgtaaatagaactcatcgccggggccgctacgacgtg
+ccggaagcgtaatgaccagcgcatcggcatccatcagggcatccagatcgtcagaatcgc
+aaactagctcaggctccatgcgaagcagatagctatcaatgccactcattcgggccgctt
+cgacaccatcttgtgtggttttactcccggtgacttgccagcctcgcgctgaaagtgaca
+tcgccagcggcatgcctaaccaccctaacccgacaattgcgacctttttcatccgttatc
+tcctgatacaccttagatctataaggctacgctagcgtatcaaaactgacaattcattct
+atgaatgaatctgttcaataatgataacgacatgctgcaatgagcagtgaatcgtcggta
+accgcgtataccagacggtgctcctctgtaatgcgtcgggaccagaaacctgacaaatta
+tgtttcaggggttctggcttccccttaccttcaaatggcgttctgcgggtatctttgata
+agttcattgatctttttaacaattcgcttatctgtttcctgccagtacagataatcgtcc
+catgattcctcagaccagattagtttcactcaatgatgtccttttccgttcctttgcctg
+atttcaggctatcgattgagtccatcaatctccgggcgttagcgggggagcgcagtagat
+aagccgtctcttccagcgagttgtattcttcgagtgacatcagaacacaagcctctccat
+tctgacgagtaataaggatcggggcatgatcttcaacggctttcatcattgttgccgaca
+aattctgacgcgcttcgctgtagctaattgtacgcatgtcaatctcctcttttgtacagt
+tcattgtacaatgatgagcgttaattaactatttattaattagtttgtagatcaaggtat
+tgtcagtgagacgaaaatccaggcttcgctatttttggtgccatcagctaagaggacagt
+cctcttagccccctcctttccccgctcattcattaaacaaatccattgccataaaatata
+taaaaaagcccttgctttctaacgtgaaagtggtttaggttaaaagacatcagttgaata
+aacattcacagagacttttatgacacgcgttcaatttaaacaccaccatcatcaccatca
+tcctgactagtctttcaggcgatgtgtgctggaagacattcagatcttccagtggtgcat
+gaacgcatgagaaagcccccggaagatcaccttccgggggcttttttattgcgcggttga
+taacggttcagacaggtttaaagaggaataacaaaatgacagacaacactcgtttacgca
+tagctatgcagaaatccggccgtttaagtgatgactcacgcgaattgctggcgcgctgtg
+gcattaaaattaatcttcacacccagcgcctgatcgcgatggcagaaaacatgccgattg
+atattctgcgcgtgcgtgacgacgacattcccggtctggtaatggatggcgtggtagacc
+ttgggattatcggcgaaaacgtgctggaagaagagctgcttaaccgccgcgcccagggtg
+aagatccacgctactttaccctgcgtcgtctggatttcggcggctgtcgtctttcgctgg
+caacgccggttgatgaagcctgggacggtccgctctccttaaacggtaaacgtatcgcca
+cctcttatcctcacctgctcaagcgttatctcgaccagaaaggcatctcttttaaatcct
+gcttactgaacggttctgttgaagtcgccccgcgtgccggactggcggatgcgatttgcg
+atctggtttccaccggtgccacgctggaagctaacggcctgcgcgaagtcgaagttatct
+atcgctcgaaagcctgcctgattcaacgcgatggcgaaatggaagaatccaaacagcaac
+tgatcgacaaactgctgacccgtattcagggtgtgatccaggcgcgcgaatcaaaataca
+tcatgatgcacgcaccgaccgaacgtctggatgaagtcatcgccctgctgccaggtgccg
+aacgcccaactattctgccgctggcgggtgaccaacagcgcgtagcgatgcacatggtca
+gcagcgaaaccctgttctgggaaaccatggaaaaactgaaagcgctgggtgccagttcaa
+ttctggtcctgccgattgagaagatgatggagtgatcgccatgagctttaacacaatcat
+tgactggaatagctgtactgcggagcaacaacgccagctgttaatgcgcccggcgatttc
+cgcctctgaaagcattacccgcactgttaacgatattctcgataacgtgaaagcacgcgg
+cgatgaggccctgcgggaatacagcgcgaagtttgataaaaccacggttaccgcgctgaa
+ggtgtctgcagaggagatcgccgccgccagcgaacgcctgagcgacgagctaaaacaggc
+gatggcggtggcagtaaagaatattgaaaccttccacactgcgcaaaaactgccgccggt
+agatgtagaaacgcagccaggcgtgcgttgccagcaggtcacgcgtccggtagcttcagt
+tgggttgtatattcctggcggctccgccccgctcttctcaacggtattaatgctggcgac
+tccggcgagtattgcgggctgtaaaaaagtggtgctgtgctcaccgccgccgattgccga
+tgagatcctttatgcggcgcagctgtgcggtgtgcaggacgtgtttaacgtcggcggcgc
+acaggccattgccgcactggcgtttggtacggaatctgtgccaaaagtggacaaaatctt
+cgggccgggtaacgcctttgtcaccgaagcgaaacgtcaggtgagccagcgtctggacgg
+tgcggcgatcgatatgcccgcaggcccgtcggaagtgctggtgattgctgacagcggcgc
+tacgccggatttcgtggcttctgatttgctctctcaggctgaacacggcccggactcaca
+ggtgattttactgacgcccgctgctgatatggcgcgtcgcgttgccgaggccgtcgaacg
+ccaactggcagaactgccgcgtgccgaaaccgcccgccaggcactgaacgccagccgcct
+gatcgtgactaaagatttagcgcagtgcgtggagatctccaaccagtacggcccggagca
+cctgatcattcagacccgcaacgcccgtgaactggtcgatagcatcaccagcgccggttc
+ggtatttcttggtgactggtcaccggaatcggcaggtgattacgcctccggcaccaacca
+cgttctaccgacttacggttacaccgccacctgttccagcctcgggctggcagatttcca
+gaagcgcatgaccgtacaggaactgtcgaaagaggggttctccgcgctggcttcaaccat
+agaaacactggccgccgccgagcgcctgaccgcccacaaaaatgccgttactttgcgtgt
+taacgcccttaaggagcaagcatgagcaccgtgactattaccgatttagcgcgtgaaaac
+gtccgcaacctgacgccgtatcagtcggcgcgtcgtctgggcggtaacggcgatgtctgg
+ctgaacgccaacgaataccccactgccgtggagtttcagcttactcagcaaacgctcaac
+cgctacccggaatgccagccgaaagcggtgattgaaaattacgcgcaatatgcaggcgta
+aaaccggagcaggtgctggtcagccgtggcgcggacgaaggtattgaactgctgattcgc
+gctttttgcgaaccgggtaaagacgccatcctctactgcccgccaacgtacggcatgtac
+agcgtcagcgccgaaacgattggcgtcgagtgccgcacagtgccgacgctggacaactgg
+caactggacttacagggcatttccgacaagctggacggcgtaaaagtggtttatgtttgc
+agccccaataacccgaccgggcaactgatcaatccgcaggattttcgcaccctgctggag
+ttaacccgcggtaaggcgattgtggttgccgatgaagcctatatcgagttttgcccgcag
+gcatcgctggctggctggctggcggaatatccgcacctggctattttacgcacactgtcg
+aaagcttttgctctggcggggcttcgttgcggatttacgctggcaaacgaagaagtcatc
+aacctgctgatgaaagtgatcgccccctacccgctctcgacgccggttgccgacattgcg
+gcccaggcgttaagcccacagggaatcgtcgccatgcgcgaacgggtagcgcaaattatt
+gcagaacgcgaatacctgattgccgcactgaaagagatcccctgcgtagagcaggttttc
+gactctgaaaccaactacattctggcgcgctttaaagcctccagtgcggtgtttaaatct
+ttgtgggatcagggcattatcttacgtgatcagaataaacaaccctctttaagcggctgc
+ctgcgaattaccgtcggaacccgtgaagaaagccagcgcgtcattgacgccttacgtgcg
+gagcaagtttgatgagtcagaagtatctttttatcgatcgcgatggaaccctgattagcg
+aaccgccgagtgattttcaggtggaccgttttgataaactcgcctttgaaccgggcgtga
+tcccggaactgctgaagctgcaaaaagcgggctacaagctggtgatgatcactaatcagg
+atggtcttggaacacaaagtttcccacaggcggatttcgatggcccgcacaacctgatga
+tgcagatcttcacctcgcaaggcgtacagtttgatgaagtgctgatttgtccgcacctgc
+ccgccgatgagtgcgactgccgtaagccgaaagtaaaactggtggaacgttatctggctg
+agcaagcgatggatcgcgctaacagttatgtgattggcgatcgcgcgaccgacattcaac
+tggcggaaaacatgggcattactggtttacgctacgaccgcgaaaccctgaactggccaa
+tgattggcgagcaactcaccagacgtgaccgttacgctcacgtagtgcgtaataccaaag
+agacgcagattgacgttcaggtgtggctggatcgtgaaggtggcagcaagattaacaccg
+gcgttggcttctttgatcatatgctggatcagatcgctacccacggcggtttccgcatgg
+aaatcaacgtcaaaggcgacctctatatcgacgatcaccacaccgtcgaagataccggcc
+tggcgctgggcgaagcgctaaaaatcgccctcggagacaaacgcggtatttgccgctttg
+gttttgtgctaccgatggacgaatgccttgcccgctgcgcgctggatatctctggtcgcc
+cgcacctggaatataaagccgagtttacctaccagcgcgtgggcgatctcagcaccgaaa
+tgatcgagcacttcttccgttcgctctcatacaccatgggcgtgacgctacacctgaaaa
+ccaaaggtaaaaacgatcatcaccgtgtagagagtctgttcaaagcctttggtcgcaccc
+tgcgccaggccatccgcgtggaaggcgataccctgccctcgtcgaaaggagtgctgtaat
+gaacgtggtgatccttgataccggctgcgccaacctgaactcggtgaagtctgccattgc
+gcgtcacggttatgaacccaaagtcagccgtgacccggacgtcgtgttgctggccgataa
+actgtttttacccggcgttggcactgcgcaagcggcgatggatcaggtacgtgagcgcga
+gctgtttgatctcatcaaagcctgtacccaaccggtgctgggcatctgcttagggatgca
+actgctggggcggcgcagcgaagagagcaacggcgtcgacttgctgggcatcatcgacga
+agacgtgccgaaaatgaccgactttggtctgccactgccacatatgggctggaaccgcgt
+ttacccgcaggcaggcaaccgcctgtttcaggggattgaagacggcgcgtacttttactt
+tgttcacagctacgcaatgccggtcaatccgtggaccatcgcccagtgtaattacggcga
+accgttcaccgcggcggtacaaaaagataacttctacggcgtgcagttccacccggagcg
+ttctggtgccgctggtgctaagttgctgaaaaacttcctggagatgtgatgattattccg
+gcattagatttaatcgacggcactgtggtgcgtctccatcagggcgattacggcaaacag
+cgcgattacggtaacgacccgctgccgcgattgcaggattacgccgcgcagggtgccgaa
+gtgctgcacctggtggatctgaccggggcaaaagatccggctaaacgtcaaatcccgctg
+attaaaaccctggtcgcgggcgttaacgttccggtgcaggttggcggcggcgtgcgtagc
+gaagaagatgtggcggcgttactggaagcgggcgttgcgcgcgtagtggtcggctccacc
+gcggtgaaatcacaagatatggtgaaaggctggtttgaacgcttcggtgccgatgcctta
+gtgctggcgctggatgtccgtattgacgagcaaggcaacaagcaggtggcagtcagcggc
+tggcaagagaactcgggcgtttcactggaacaactggtggaaacctatctgcccgtcggc
+ctgaaacatgtgctgtgtaccgatatctcgcgcgacggcacgctggcaggctctaacgtc
+tctttatatgaagaagtgtgcgccagatatccgcaggtggcatttcagtcctccggcggt
+attggcgacattgatgatgtggcggccctgcgtggcactggtgtgcgcggcgtaatagtt
+ggtcgggcattactggaaggtaaattcaccgtgaaggaggccatcgcatgctggcaaaac
+gcataatcccatgtctcgacgttcgtgatggtcaggtggtgaaaggcgtacagtttcgca
+accatgaaatcattggcgatatcgtgccgctggcaaaacgctacgctgaagaaggcgctg
+acgaactggtgttctacgatatcaccgcttccagcgatggccgtgtggtagataaaagct
+gggtatctcgcgtggcggaagtgatcgacattccgttttgtgtggcgggtgggattaagt
+ctctggaagatgccgcgaaaattctttcctttggcgcggataaaatttccatcaactctc
+ctgcgctggcagacccaacattaattactcgcctggccgatcgctttggcgtgcagtgta
+ttgtggtcggtattgatacctggtacgacgccgaaaccggtaaatatcatgtgaatcaat
+ataccggcgatgaaagccgcacccgcgtcactcaatgggaaacgctcgactgggtacagg
+aagtgcaaaaacgcggtgccggagaaatcgtcctcaatatgatgaatcaggacggcgtgc
+gtaacggttacgacctcgaacaactgaaaaaagtgcgtgaagtttgccacgtcccgctga
+ttgcctccggtggcgcgggcaccatggaacacttcctcgaagccttccgcgatgccgacg
+ttgacggcgcgctggcagcttccgtattccacaaacaaataatcaatattggtgaattaa
+aagcgtacctggcaacacagggcgtggagatcaggatatgttaacagaacaacaacgtcg
+cgaactggactgggaaaaaaccgacggacttatgccggtgattgtgcaacacgcggtatc
+cggcgaagtgctaatgctgggctatatgaacccggaagccttagacaaaaccctcgaaag
+cggcaaagtcaccttcttctcgcgcactaaacagcgactgtggaccaaaggcgaaacgtc
+gggcaatttcctcaacgtagtgagtattgccccggactgcgacaacgacacgttactggt
+gctggcgaatcccatcggcccgacctgccacaaaggcaccagcagttgcttcggcgacac
+cgctcaccagtggctgttcctgtatcaactggaacaactgctcgccgagcgcaaatctgc
+cgatccggaaacctcctacaccgccaaactgtatgccagcggcaccaaacgcattgcgca
+gaaagtgggtgaagaaggcgtggaaaccgcgctggcagcaacggtacatgaccgctttga
+gctgaccaacgaggcgtctgatttgatgtatcacctgctggtgttgttgcaggatcaggg
+gctggatttaacgacggtaattgagaacctgcgtaaacggcatcagtgagttgcggggta
+agcggatgcgatattgttgccgcatccggcaaaaaaacgggcaaggtgtcaccaccctgc
+cctttttctttaaaaccgaaaagattacttcgcgttgtaattgcgtagagcattacgccc
+cagcacaatccccgcgccaaccatgccacccagcagcaccgccagaatcaaggtaattgc
+ctttttcgggctatcacgacgaataggtaacatcggtttcatcacataacggtaagcatg
+aatatcaagatcatcaacttttaagctttcgatatccagcaggttttgacgagtctgata
+gtagtttggcgagaacaccaacggacgggtcgcctcatgcttaatcatcgactccagcgc
+ttcgctccccaaaaggaacaacgtatcttgtgtgatatcttcgccagtctgttgaatctg
+cggttttgtcacctgcgcctgattcgcatactgcaacgcttcctgaatctgacggatacg
+cagatctttctgctcctgcgcgactacttcctgcgttcttaaagagtcctgcaagttttt
+ccgtcccagagcaatgttgtctttgagatccttttctagctcttgattcactttatcgtc
+aacttgctgaatgtattgggccaacttcatttgtgcgccctctgcagtttgcccaacata
+agaaacagtcaatggtaattgctggttcttaacagaaggttcgatggtaagtttttctcg
+ttcttcctgattatccagcgtttctgctaatgcagagaaggcagaactgaagcgaccaat
+taacgtctcctgcaaatccgatactttcggtgcagcctgaccatagataacattcatggc
+attgttatagccagcaatttgccccacgtcgggctgagtgataattgctgttgacgtcca
+tttctccttcgctactgccaaatatccaatagccagggcaatagccacaatgacggaaat
+gatgattgtcatcttgccacgccacaactgcactagtaaatcaatcaaatcaatctgttc
+cgggtcatggttttgcccagaaacattattattttctactctcatcattaccctaactga
+cggaaatttccaagtccgcatagtttagcgataatcctcgtgaatgctataggataagtg
+ataaaaataatgaattgttgtgtaagtaacaaaagacaatcagggcgtaaatagccctga
+taacaagatgttagtcgctgccaaagagatcgcgggtgtataccttatctgccacatcct
+taagctcttctgccattcggttagagataatgacgtcggcttgttgtttgaaggtggcga
+gatcacgttccaggcgagagttgaagaatgagtcttctttcatcactggctcgtagatga
+tcacttcaacacctttcgccttgatacgtttcataatcccctgaatagaagacgcacgga
+agttatctgaaccgctcttcataatcagacgataaatacccaccacttgcggcttgcgtg
+acaaaatggcatcggcaataaaatctttacgcgtgcggttagcatcgacaattgccgaga
+tcaggttattcggcacagactggtagttcgccagtaactgcttggtatctttcggcagac
+aataaccaccataaccaaacgacggattgttgtaatggttgccaatacgtgggtcgagac
+aaacgccttcgattatttgacgggaattcagacctaaactttctgcatagctatccagtt
+cgttaaagtacgccacgcgcatcgccaggtaggtgtttgcaaaaagtttaatcgcttctg
+cttcagtggagtcggtaaacagcatcgggatattttgcttaatcgcgccttcctgtaaca
+gagcagcgaaacgttctgcgcgttctgaacgctcaccgatgacaatacgtgaaggatgga
+gattatcgtaaagggctttaccctcacggagaaattccggggagaatataatattttcag
+tgcgatatttcttatgcatcgctgcggtaaaaccaacgggaaccgttgatttgatgacca
+taaccgcataaggatttatctcaactacgtctttaattactgattctacactggatgtat
+tgaaataattagttttaggatcatagtcggttggagtggcgatgatgacataatcagcat
+cccggtaggcttcatttttatctaatgtggcattaaagtgtattttatctgattgcaaaa
+actgctgaatttccttatcaacaataggagatatccgatcattcagcatagcaacgcgtg
+acggtaaaatatctaatgccacaacctcatgattttgtgcgattagaagcccgtttgaca
+agcctacatagccagtaccggaaatggtgattttcatttcatgctctcagaattaactta
+actgtgaatcatgatgtttttagcatcctgataagagctaaaagttttaacgctacgttg
+ttcgatggtcaacgcaacgaaaaacaattcagattttctttataagaatagctgatattt
+attaagttaatattaagcagtgaaatttagtctataagatatttggcaaaaaaaagcccg
+gtgcaatatacgccgggcctcaattttattgttggttaaatcagattaatccagccattc
+ggtatggaacacaccttctttatcaatacgcttataagtatgcgcaccaaaatagtcacg
+ctgtgcctggatcaggttcgcaggcagaacagcagcacggtagctgtcgtaataggcaac
+cgctgcggagaaggtcggaaccggaataccgttctgtactgcataagcaacgacatcacg
+cagcgcctgctggtagtcatcggcaatttgcttgaagtacggagccagcaacaggttagc
+gatctgtggattttcggcataagcatcggtgattttctgcaggaactgcgcacggatgat
+gcagccagcacggaaaatcttcgcgatttcgccgtagttcagatcccagttgtactcttc
+agacgcagcacgcagctgagagaagccctgggcgtaagaaacgattttgcccagatacag
+cgcacgacgaactttttcgatgaactcagccttgtcgcctgctggctgtgcttgcggacc
+agagagaactttagatgcggcaacacgctgatctttcagagaagagatataacgtgcaaa
+cacagactcggtaatcagcgacagcggttcgccgagatccagcgcgctctggctggtcca
+tttaccggtacctttgttagccgcttcatccaggatcacatcaaccaggtagttaccgtc
+ttcatcttttttggtgaagatatctttggtgatgtcgatcaggtaactgctcagttcacc
+gttattccactcggtaaaggtctgcgccagttcttcgttggtgaggttcaggccaccttt
+aagcagagaataggcttcagcaatcagctgcatatcgccgtattcaataccgttgtgaac
+catcttcacatagtgacctgcgccatcggcaccaatataggtaacgcatggttcaccgtc
+ttcagctacggcggcgattttggtcaggatcggtgctaccaattcataggcttctttctg
+gccaccaggcataatagaaggacctttcagcgccccctcttcaccgccagaaacaccggt
+accgatgaagttaaagccctctgctgaaagctcacgattacgacgaatagtgtcctggaa
+gaaggtgttaccaccatcaatgatgatgtctcctttatcgagatatggtttgagggaatc
+aatagcagcatccgtgcctgcacctgctttcaccattaacaggatgcgacgaggcgtttc
+cagagattcgacaaactctttcaccgtatagtaaggaaccagtttcttgcctggattttc
+ggcaatcacttcttccgtcttctcacgggaacggttgaaaatagagacggtataaccacg
+gctttcgatgttgagcgcaaggttgcgtcccatcactgccataccgactacgccgatctg
+ttgcttggacattacatactcctgtcaggtgtgatcaccgcgctgaatgctcgcggcctg
+gaatgttcgcaaataagtatacaaagtacttattaaagtataaatagcttatccatgctt
+atatgcttacggctttatattacgggtgaaaaactgatgaaattcgatcaaagttgcgat
+ttgataaaatacgttttctggctaaatatctaaaagtactttttaagtgccatctgaagg
+cttttgaaaaaaaacttcgattgtcatgatgagcataatgtatcgcatgaaaagcgggaa
+cataatgaagtctgacaccagccaggctaagcctcaagcacaggtcaatatcttcacagt
+acataaagtaaccttgatcgaagccatttacacgcacaaaatctgaaaaacgtaccagca
+taaatgatcctgcgcaccaatcaacaaccgtatcagaatagatactttctttaggaattt
+ttgttttattaaggaaggtgcgaataagcggggaaattcttctcggctgactcagtcatt
+tcatttcttcatgtttgagccgattttttctcccgtaaatgccttgaatcagcctattta
+gaccgtttcttcgccatttaaggcgttatccccagtttttagtgagatctctcccactga
+cgtatcatttggtccgcccgaaacaggttggccagcgtgaataacatcgccagttggtta
+tcgtttttcagcaaccccttgtatctggctttcacgaagccgaactgtcgcttgatgatg
+cgaaatgggtgctccaccctggcccggatgctggctttcatgtattcgatgttgatggcc
+gttttgttcttgcgtggatgctgtttcaaggttcttaccttgccggggcgctcggcgatc
+agccagtccacatccacctcggccagctcctcgcgctgtggcgccccttggtagccggca
+tcggctgagacaaattgctcctctccatgcagcagattacccagctgattgaggtcatgc
+tcgttggccgcggtggtgaccaggctgtgggtcaggccactcttggcatcgacaccaatg
+tgggccttcatgccaaagtgccactgattgcctttcttggtctgatgcatctccggatcg
+cgttgctgctctttgttcttggtcgagctgggtgcctcaatgatggtggcatcgaccaag
+gtgccttgagtcatcatgacgcctgcttcggccagccagcgattgatggtcttgaacaat
+tggcgggccagttgatgctgctccagcaggtggcggaaattcatgatggtggtgcggtcc
+ggcaaggcgctatccagggataaccgggcaaacagacgcatggaggcgatttcgtacaga
+gcatcttccatcgcgccatcgctcaggttgtaccaatgctgcatgcagtgaatgcgtagc
+atggtttccagcggataaggtcgccggccattaccagccttggggtaaaacggctcgatg
+acttccaccatgttttgccatggcagaatctgctccatgcgggacaagaaaatctctttt
+ctggtctgacggcgcttactgctgaattcactgtcggcgaaggtaagttgatgactcatg
+atgaaccctgttctatggctccagatgacaaacatgatctcatatcagggacttgttcgc
+accttccttaatccctaacataaatgacacaataaaatcagaaagcacaggaaattttct
+tacggaataatcatgtaaagatttcgcttcatctcggaacaggcataatgtactaaaagc
+ataacgcttactttcgacatatttaatatatgtcagcaaatcatcatgcttcatgatgat
+atcgggattcaaaaacaaaatgtaatcatcatctgcgggtctatatttttcctttacata
+cgccaccgcaatattattattatgaccaaagccgtatacacctccactaatatagtccag
+gcctgcataatgctggcatatttgtttcaataatagagagtctttgttgtcgcgtacgat
+aatcttgtagtgctcatcgtcagcattaagattttcgagtaattttttgatgtagtcttc
+atgtccgtgggaaacgattattatatataccatttcaatgttcttcagtaataaaattaa
+ctagttcatcaaacccaactaatacattttcattacgataaatgaaatttgcatcagaga
+tatcttttttgaggttaccttttttgaagtcaataataagtttaactaacatgtcatcgt
+tattagaatcaaaaaaagctttcttttcataactaccaagagtttctctagtaaatggga
+aatctgatgctaatacccacttacctcgctctttagcttcagacaacggcaatccccatg
+tttctaacctagagggaaaacaaactatatctgaaatattataacaatgatcgatttttt
+ctttatccaagtacccgaggaaatgaacattatccagtccttctgcaagactgataatat
+attttgcatacgcattttctgtaccactgatagtaagcagaaatttaatattggattgtt
+ctttcaatttccttgctgcactaataataagctcgtaatttttaaatactcgtggaacag
+cagggtaaaatattgtcaactcagaagggttattcttaaattgagaatcatcatcagtaa
+gttggcttttatcagataatttaatttctggccgactgacaatgatgttatttatagaat
+atttcttgataaatttttctttcatccagaattgttgaacaaacactgcagtattttttt
+taatgtttattttatatatcagcccgtatagcattttaaataagaaaaagctaggctcca
+taagaatttcacggaataaaattcctttataaaaaggtgcagggttatgacaatacacat
+atctttttttagtgacgacattggccgtaatatcatgcagacaaatccaatgcgtagcat
+tcagctcttttgaaagttttttacaaactacatattcaaagtgcaaacgttttagccacg
+accctttaacctcaggaaactcaatgaatttaacccatggataactttcttttaactctt
+tagcagaatggactaatgcgataaaactgacattttctttattattagttgctgccaaaa
+attttttcaaaatggtaaatggaccgccagtggtaaaattgaccgcagaaacaacgacta
+tgctttttcccataatttggtctcatgattgtatttctttatgatttttgctggtactcc
+cgcaatgacagtattttcgggaatagaacctctaacaacagaattggcgccgactacgac
+tccattaccaataattgttccaggcaaaaccgtcacattctcacccaaccaaaccctctg
+gccaattacaacagctgaagattccaacgtgcgcatgtctggaggtatatttggcgaact
+cattggatcagagtgcttaaaggaaccgtgattatgatcggtaataaatactttacttgc
+aataagcgtatcccgacctatcgtaacgctctcaattgaggcgatatgaacatagtcgtt
+aacttgcacattatcggaaaaaaaaatcacgccacgtccaaatgcatccagcctgagacc
+gactccacttgtgaaattttcaccaaaattaatgctaccatcattgcgaatatagcaggg
+aaatcgaataattctacagttccggtaaaatacacgagtcaataagacatctctaacaag
+ccgaataaaaccacagagaccatatcgtttagcgagttttaagatcatcgatcacctctt
+caagaacatccctgaagtaacttcctgttcgaattttctgagaaataatttttgtattct
+cactaatttgcttataagtttctattgtcatggagtcaacaatctcttgcatttctttga
+ttgatcccactgcatatcctattctattatctacaatgaaatccgcaagggcggctttat
+cccatataaatactggaagttccattgaaagataaagagatgtcttatgagggttattaa
+actttaaatagtcgccaaaggcaccactacaggtttcgacagaatctccatcccaaatga
+gtccaaattgcatgcctgggaggttaatcttttccggagattgagcatcaaaacttccaa
+gatatttaggattatctttattttcatagttgacaccaaagagagtaaaatcgcatcctt
+cagtatatatgaaagaacatttatgcctagaaaggttgccagcatatatgacccctcgtt
+gcttatccgtaacatctcgatgctccacatcagatgagacgaggtaatcaaatattttta
+tgtctttgattttatcctgagacatatatttactaaggtactttgtcatttgtggattgt
+gacttatgaccatatcacaggtagcaagccgcacagaatcactaccccctcctcctctta
+attcatcaatatcatgaatcagaggtactattctaaattttagaaggcggtgaaagaatg
+acaatatatgccaaaatggtttggccatcgggaaattgaaaattaaaacatctttatttt
+caagaccgcagagaaatgtactaagcttaacagaactaataattctctggactactccac
+cccatagaggaatgttaacaacagaaatgttttcataatctgaagcaatgtccagtgcat
+cttttcttgctttaaatccagcatcgcgtctagagaaatttaaatcattcaaaaaataca
+ttttcactttattttctgggccttaagaaattgagagaatactatgatacaaagagttat
+ttgtatccaactgctaatattagtcatgaagctttcatgataaaaaatgaaagaaaaggt
+ataaataaaatatgaataaaatattttcacagatatgtaatttcgagacaatctccataa
+aacacctgaaatacagccatgaataaccatcatcaaatagcttagctccgcggaaatata
+aacataatccgaaaaagcagtataaacatttgttggcaaacccacccacacaaattcttt
+atgcaacgacatagagactccacctgttaatagccccatcagcctttcaaaaaaccaaaa
+gacatgagaactggcagagttagatacttgctgaaaataaaactcctgaaacgcgattat
+agggctgaccaaatacatggatagataatatgccatccccccaggcagtccacgtaaaaa
+gagcatatacaaggagaatagaacacctacagctgtaataagataaacataatgttttac
+tctattaacacctacgatgaatgcataagagatgataaccataaagacaatttgcttacc
+agtattcagtataattgcaaagatgaatacaataaaaacaagtaaagtaaatgttttact
+tacctttgtattagtaaattttttagaccaaataaataaagcaaaagtagttagaatgat
+tggctgcatgtatgctgagaaatttcttgatgtgtcttcaacatcagcatctcttatcaa
+attcatatagctaagtaagctagtcccgaactggtagttacttaacctcatgcatatata
+tatcatcgaaaaagaaataactaacaagcctacattatgcactttcttcgatggtatgct
+ataaatagcattattgacttttctgatatttagatctaatacactttccgtcaataaaca
+tgacagggtaaatgtcaaaacattgcaaagtagaaaaatcaacgtagcgtcatttaactg
+aaaagcatatatatctgacgttatttcatatcccaataagaccagtgcgaagatgatatt
+aacgcatacggctggataaaatatatccttcttaagatataaacagataaatgctgtaat
+gagaaagacactaattacaagatagatcattaatccgtactcattatatttttcacttga
+taaagagcggcagatatcacttgatgcatatcataatatttatactcggccaaacgcccg
+ccaaatataaccttgtcttctctgctagctaactctctatatttcttaaaaagctccatg
+tttttattatcattaactggatagtagggttcgtcgccaactttccactctaatggatat
+tcttttgtaacaaccgtatgctttgtctcaacatagtcaaaatgtttatgctcaattatt
+ctggtatatggtacattagcatcagtgaaatttattactgcattcccttggaagtttgga
+aattcatggcgttccgtctcaaattttaaagagcgatattctaacgctccaaacctatag
+tcgaagtactgatcaatgggtccagtgtagatgattctatgggctttactcgctagagaa
+tctttgtctttcaaaaaatcaatgcctaattttacgtccacaccttcaagcattttttca
+ataagcttagtgtagcctcccaccggaataccttgatagcgatcggaaaaataattgtta
+tcaaacgtaaatctcactgggattcgcttaataataaatgcaggcaattcttttgcactt
+cttccccactgcttctccgtataaccctttatcaatgcttggtataagtcctccccaact
+aatgaaatcgcctgctcctccaaattttcaggtaccttgtcaccatacttttttttctga
+gcattaatgatattttgagcttcttgaggatctttaactccccacatttggtggaaagta
+ttcatattaaaaggaaggttgaataatttgtctttataaatcgccagtggagaattagta
+aaacgattaaattctactaaatcattaacgtaatcccatatatatttatcattggtatga
+aaaatatgtgcaccatatttatgaatctggataccctcacagtcctctgtgtacgcattt
+ccaccgatatgatttcttttctcaatcactaaaacttttttgtttagcttttttaactca
+ttcgcacaaacggcaccaaacaaaccagaaccaacaatgatataatcgtacataaaatcc
+tcagcaaaccagtaatttattatttcttacgaacatcagcatgagtgacgtaactaagca
+ctctgttgcaagcaatgttattgctgcaccaatctctttaaaaagagttgttagcggaaa
+aatcaacaacaaactcaacaaacccgcagcgattaaaatcttactgaattctttcttata
+attatgggtcagcataacttgaatgccatagacattacttaatgaaataagaaaaggcag
+aggcgatataatcattagcacaatcactgcattatcatatcccggccctatacttatttt
+tactagtatagatgcacccaagagcagaattaatgaaaaagcaccaccaatcaaactcaa
+gcaggtcaatgattttttaattaaaatcacacccttcacacgattaagaacaagcgtact
+tgatattcttgggtatattgcttgggtgataggatttaatagcccttgaagcgcgtttct
+tatagtattggccgcattaaaattccctacggacgttggtccagatataaatcccaggat
+aataactattcccgtagaatataaactaatagcagatgtggaaataaaaacatgaaaacc
+gtctgctaaagatcgacgcacattatgtaatgatagcgtaactttaccaatccaaccttc
+atgaacaacgatagctagtgcaataattccagcaaccagatttgcacttgactgaataaa
+accggcaattgctatatctgactttgtgttcacaaaaataaatgttagagggataatagc
+caagcgggataaaatactacttaaagtcagccatttcattttttcttttccctgaaacag
+ccagatagggtagattaaattcccgactaatgcaggaacaaacgaccatataattacggc
+atgcttgttatattcaggaacaagcaaggtcatcgacgttaagaaaatcaatgtaatgac
+gataagaactatttttgaaaatatcaccgcccaaaaaatagacgttactttatctttact
+atctgctgctttggcaatactctgagttgctgtgagattgaaaccatattcaacaaacat
+tatcatatatagcatagtcgcttggcaaaaaccgaatataccgaaattttcaggaccaag
+tgttcttacaagatatggaaatgtaagcaatggtaaaagataattgctaccttgaacgac
+agccagatatataacgtttcttcttaaagataatttattcgtattcatgcaattaatttt
+aatctgataagctcatctaacgtaaagagcctttcatcttttggcgaaaggattaaccct
+gatgtttggggccaatcaattgcaatgcgttcatcattccaacatattccacaatcgctt
+tcaggatgataatagtttgtagttttatattgaaattcagcgatatcagacagaaccaaa
+aagccatgagcaaacccttttggtatccacaactgctgcttattatcagctgaaagcaga
+acaccaacccatttaccaaaggataccgaattgggtcgaatatcaacagcaacatcaaaa
+actgctccatgagtgcagcgtacaagtttatcttgtgcgtactcgccgcgttgaaagtga
+aggcctctgagtacattttttgatgaacgtgagtgattgtcttgaacaaagctgaccgga
+tagcctagaatatgttcaaatgctgattgattaaagctctcataaaagaaacctctatca
+tcaccaaatactcttggctccagaattagcacatcttcaatttcagttctaatcacattc
+attaatttgaatccttcgtcattttataaagatactgcccataattattctttattagtg
+gtacagctaattttcttacttgctcaacatcaataaaacctttacgaaatgcaatctctt
+caggacaggaaaccttcaatccctggcgctcttcaattgtcgcaataaaattacttgctt
+ctatcagactctgatgagtccccgtgtccagccacgcgtagccacgccccatcatcgcga
+cagacagacgtccctgctcaagataaatacggttaatatctgtaatttctaactcaccac
+gtgcagacggcttcaagtttttcgccatctgaaccacgtcgttatcataaaagtacagac
+ctgtaacggcgtaattactctttggttctaacggtttttcttccagactgattgccgtac
+cgtttttatcaaactcaacgacaccatagcgttctggatcattaacgtgataggcaaata
+ccgttgcaccactttctttgttaacagcggcctccattagcttcggcagatcgtgaccgt
+aaaagatattatcaccaagaaccaaagcacaatcatcaccaccaataaactcttcaccga
+tgataaatgcctgcgcgaggccatctgggctaggttgcactttgtactgaagattcaggc
+cccactggctaccgtcacccagcaattgttgaaaacgaggagtatcctgaggtgtactga
+taatcaaaatatcgcgaatacccgccaacatcagtgtagagagcgggtaatagatcatcg
+gtttatcataaataggtaatagctgtttactgacagccatagtcacaggataaagacgtg
+taccagaaccacccgctaaaataatacctttacgcattttcatttcatcattccttttaa
+ttcatcttgctccaccatcacgaacaagatgcaaaaactattaaattgctgtagtcgtaa
+ataattcattgagcattcgtttcacgccaacctgccagtcaggcaagacaagcgcaaagt
+tctgctgaaatttttctgtattaaggcgagagttatgtggacgacgagctggtgtaggat
+aggctgttgttggtactgcgttgagcttgttgagtgcaaggggaatgcctgctttgcgcg
+cctcttcaaaaaccagcgcagcataatcgtaccaggttgtggtaccactggctaccaaat
+ggtacaagcctgcgacatccggtttattcagtgcgacacgaatggcatgtgctgtacaat
+cagccagcagttcagcacctgttggcgcaccaaactgatcgttaataaccgctaattctt
+cacgctcttttgccagacgtaacatcgttttggcgaagttatttccttttcctgcataga
+cccagctggtccggaaaataagatgcttcgcgcaatattcctgtaacgctttttctccgg
+ctaacttggtttcaccgtaaacatttagtggtgcggttgcatccgtctccagccatggca
+tatcgccatttccagggaagacgtaatcagtcgagtaatggataacccaggctccaactt
+catttgctgctttcgcaatcgcttcgacacttgttgcgttaattaattgtgcaaactccg
+gttctgattctgctttgtctactgcggtgtgagcggctgcattgacaataatatccggcc
+gaatgcttcttacggtttcagctacaccttcaggattactaaaatcaccgcaataatcag
+tagagtgaacatcaaaagcaatcaaattacccaaaggtgccagagcacgctgtagttccc
+aacctacctgccctgttttgccaaaaaggaggatattcattactggcggccctcatagtt
+ctgttcaatccacgattgataggcaccacttttcacattatcaacccattttgtattgga
+caggtaccattccaccgttttacgaatcccgctctcaaacgtttcctgtggtttccatcc
+caatgcgcgaccaatcttctcagcatcaatagcatagcggcgatcgtgtcccggacgatc
+agcaacataagtgatttgctcacgataagatttctctttcggtacaatctcatccagcaa
+atcacaaatagtgagcactacatcgatgtttttcttttcgttgtgcccaccaatgttata
+agtttcacccgctttaccttcggttacgacggtatataacgcacgcgcatgatcttcaac
+atacaaccagtcgcggatctgatctcctttgccataaataggtaatgccttaccttccag
+tgcattaagaataaccagtggaataagcttttccgggaaatgataaggaccatagttgtt
+cgagcaattagtcacaattgtcggtaaaccatatgtacgtttccacgcgcggactaaatg
+atcgctggatgctttggatgcggaataagggctgcttggcgcgtaagctgtcgtctcagt
+aaataagggtaattcttctgtattatttacttcatctggatgaggcaaatcaccatagac
+ttcgtcagtagaaatatgatgaaaacggaagctatttttcttgtcgctatcaagagcaga
+ccagtaattgcgagcggcttccaaaaggacataagtaccaacaatattggtttcaataaa
+tgccgcagggcctgtaattgaacggtcaacatggctttcagcagccaggtgcatcactgc
+atccggctgatgctgagcaaaaatccgtgccattgcaggtgcatcgcaaatatccgcatg
+ttcaaaaacatagcgttcagaatcagaaacatcagcaagtgattcccggtttccggcgta
+cgttaatttatcgacattaacaacactatcctgcgtattatttataatgtgacgaactac
+agctgaaccaataaatcctgcgccaccagtaacaagtattttcacttaatttattccata
+ttacttcagagcatgctgtgaaataagcggctctcagtttgattaatagaggtattaatg
+cacgctaccgcccctggctttacagctaccagagcactgcatgcatgcctatgatgtgac
+gagcgttacccactcgcgctaaacccgaaaaattcaaacgctaattgtcttaccaatccg
+ctctggaaacaaggaaaatcctggaaaactttgaataaaaccctactgctaactcgttgt
+tattctgatggtttatataaaacaacggcaggaagattcgcaacaaattacttttgctgc
+gaattttcactgccgttataattttcttatcaaccgttacatccggtcagattttcatta
+ttcgcttaacagcttctcaatacctttacggaacttcgccccttctttcaggttgcgtag
+gccatacttcacaaacgcctgcatatagcccatttttttgccgcagtcgtaactgtcgcc
+ggtcatcagcattgcatcaacggattgttttttcgccagctcggcaatagcatcagtcag
+ctgaatacgtccccatgcaccaggctgagtacgttccagttccggccaaatatcggcaga
+aagcacatagcgacctacggccatgatgtctgagtccagcgtctgcggctgatccggttt
+ttcgataaattcaacaatgcggctgactttaccctcacggtccagcggctctttagtctg
+gatgacggagtattcagagaggtcacccggcatacgttttgccagcacctggctgcggcc
+cgtttcgttgaaacgtgcaatcatggcagcaaggttgtaacgtagcgggtcggcgctggc
+atcgtcgatcacaacgtctggcagtaccacgacaaatgggttgtcaccaatggcaggtcg
+cgcacacaaaatggagtggcctaaacctaaaggttcgccctgacgcacgttcataatggt
+cacgcccggcggacagatggactgtacttccgccagcagttgacgcttcacgcgctgctc
+aaggagtgattctaactcataagaggtgtcgaagtggttttcgaccgcgttcttggacgc
+gtgagttaccaggaggatttctttgatccctgcagccacaatctcgtcaacaatgtactg
+aatcattggcttgtcgacgattggtagcatctctttgggtatcgccttagtggcaggcaa
+catatgcatcccgagacccgctacaggaataactgcttttaaattcgtcattatttcatc
+cacctgtaaaatggttgctgaattatagcttgttcgatttttttcgccagcatcaattac
+cctgaattgattactgaattacttgtgatgttacgccgcttcgttgtggattgcagtagc
+attgttcctaagtatgactccatttttccaggaatggtcgcaaatctactccctcagttc
+cggcaatctaaagttaatcttctccacattaacaatatggtgattaatcctgtcgatatc
+gacggagctttgtcctttttcattcaccgcatgaacatttgcaagagacagcagtgtttc
+ttttttcgccataaaaacaccacgaacgtctttgcgcatgtcaaagttcatgctcaatgc
+gggtccaactgaggattcctgcatcacattgatatttcgcataaaaaaatgttgcggttt
+gttgtgtaactccagcgacgcacgcttcatctcaatgttagttagcgccacaaaggaaac
+agcattcccggcggagatttgaatgccgcgcaatttataagcaagatgagtattatccag
+ttgaatatcattcacccggaaattttgcggtatcgagagatatttgcctttaattacccc
+atagccgattaacatcccggcgctattaatcatttcaatattatcaatcacgaaattgtc
+acaaccgtaaatagcgactgtcgcgttatcaatgcccgctttcttactgaaatccggcgt
+gatattgcgggctttgatattacgaataacaaaatgtttaccattttcaacatgtatcaa
+ctgccgacaatccgatcccgtgatattcgccacgacaaagtttttcactgcctggtcttc
+cgggtagttgttatcataagtgcttcccgcaaggcctatgccgatgccccagttgatttt
+gccgttggtacagttgatgcgctcgatgacatggtcagatatcaaaatatcacggtcgtt
+aattgccacgttccattcaatggcgtcgccttgtaagtcgctgaacttacaattggtgat
+gttggcaccgataatctggttatgaaatccctggcgtaagatggcgtaattagcgtggct
+aacggtcaggttatcgatgatcaggttgcgcatgacccgtttgtttttgccgccgatata
+aatctgcgtcaccgggccaaagccgctcatagtcagccctttgatggtgcagtcagaacc
+acgcacatccagggtgatgttatgcatactgccgccatcctcccctgtcacctggctgcc
+gtcctgtaagacaaatcgccctctgccgttgccgcgcaagcttccaagaatgtgtaacgt
+tttaccgggagggataaagatgccggtgttgatattgtcacaaaccaatccggcaggcac
+gacgactgtttgcccttcgctgaaggcttgtttaaatgaggcgatccagtcgtgtgggtt
+gtagtcgttaatgttaacgctttgtcgggcgggaagcgcgcgggcgaaaggggtatggag
+gaaggcaagcgccgagcttgccgtcaggaacgtgcgtcgggagagttttttaaatggcat
+gcgttctcctctataaagcctgcagcaagctggcgagttctcgattgatcacctgctggt
+taaaatcgtgttcaactttttcgcgcgcgcgtttgacgaccggagccaattcgtcggtgt
+ccagttggctaaacgccgccagtcgttgcgccagtgcgcgagcatcgttctcaggcacca
+gccagccggatttgtcagcctccaccagttccggtattccactatgcagagtagaaacca
+ccggaataccgaccgccatcgcttccattagcgccaccggaataccttccatatcaccat
+ccgcacctgtaaccgatggcaacaggaagacatccgcgtcgtcgagcatcgctttcactt
+catggctcggtttaaagcccggcatctccaccacatcttccagttgatattgttcgatga
+gggtgcgcaggcgtctttcccacgggccaatgccgaggatgcgatagcgaaatgccacgc
+cctgctctttcaactgacggcaggcttcgatcgccacatgcaggccttttttctcggtta
+agcgtgcgacggaaataatctccagcggcgttgcgggcgctttcacgggacgcgggctaa
+agcgcgtcatatctacgcccatgcgcgatacggcgattttttccctcgggcagcccattt
+tttgcagccttccggcccacagatcgcttatcggtaacatcaggtcgccacggcgaaaca
+gttgctgatattcgggagtgtagtggttgagcacttcccgactggagatatcaataccgt
+ggaagatagtggcaattttgccgcgaatgacacccagttcgcggagttttgctgcggtta
+cccccgcgggaccaaaatgagcgatgaacacatcggcgcgaaacggtgttgcgacctggc
+cgcaaatggcagacaaaatcaggttccgcgactcggcaccatagcgtttgaggttgagcg
+cctgccaggtatttttacgatgaatgccgcgcaaggtctggctggctcggtggcgcagtt
+tcgccactttgcccgtaggttcgtcctgtaaccagcgggttctggcagcaaggttgtatt
+tcgtccatgccgcgtgggtgttttgtgtgtcgcctttttgcagcgcgagaatctctacct
+caaatcccatatcaataaacgcggtaatttggttaaggacgaaggtttctgacgacagcg
+ggaatttcagtaaaaagaagccgaccttcatttcacctccccgatgcgctcaagcacaga
+ctgcaccatctgcattcctgtctgacgctcacgactgacggcttcactaagtcgcgcatt
+cagcgccggaagctggcctaaggtatccgcaaccatcgcttgcaggctgccgtctaataa
+atgacggatatcaattgccatctccggtagtcccagctgctgcataatcccggcggattt
+atgttcgtagttgatggcaattgccggagtggcaaaattcatcgagataatggcagagtg
+caggcgcgtaccgacggtgagttcacaggcccccagaattttgcccatttccagatcgtt
+gagttcatccatcactacgtggtaacgggcaggatcgctgatgtgctggcgcaggttgag
+cgccaccatgcggtcgtctttgttatagctgtcaatgcccgtacaggtggagagcgcaat
+cacctgatacccttcatcgagaatgcgattgaccaccccggcaaaggctttttcatacgc
+ttgttgagtggtgccgagacgtttgtcaaacggtgccagttcgcgcagggtaatggccac
+cgttttctgttgtgcggcaacgtccagccagtgttgaacggcatagctggcggtgaagtc
+ttctgtgtggtgatcgaccagccacgcggtatcgacgccatgttccacttttgcggtggt
+gatattgctgcgtttcatcagatcaaagctgaccgattcgcgcaggatcagcgcgtcgca
+gtgaccaaaaacgtagttcgccagttggttaaattgctcatcctggaacgggccaacact
+gtgaccaatcataaacagcggctttttcgccataaacgtgcaaagtgcatgttcaaactg
+cggcacgccatagagatcgacaaaaaacgatccgccgacctggataatggcgtcgtaacc
+tgacagcaggcgcacgaagtcggtgaatccctgggcgatggcgatattgcgcagcttgcc
+agtgtcggtgacgcgtgagagcaatacctgatgctggtagcggcgacggaggactttttt
+aacgcgcccgacaacgcccgccgcgctgttgtgttgtttcatttgcaggaacagcggatc
+gcccattaccgggcggttgagcagccaggaagaactgaccggatagcggctcatcacatc
+cacttcggcgtgtggattgagaatgttgatggcatcaagtaagccgcgcaggatggcgct
+gtcgccacgattgccgcaagtgtggttgcccagaataagtaatttcattttttcctcata
+aatttgatgccaggtgaggctgcgtttgttttgttcgttgccgctttttgcctgatgcga
+cgctgacgcgtcttatcaggcctacaagacccgagcacagaaccgtaggacggataaggc
+gttcacgccgcatccggcattcagtgcctgatgcgacgctgacgcgtcttatcaggccta
+caggtcccgagcacagaaccgtaggacggataaggcgttttacgccgcatccggcaaccg
+ttgtcggaaccgaaaacagcaactcaccccgcccgtaaaagcattttcattttttcgctg
+cgacaaaactgacgcttcacttccaccaccagcggatggcgcgacagcacaatcatcacc
+acaaacgccagcacccccgtggctatttgcaccgccagcagcatccccagcgccagttgc
+cctttcagcacaatgcccagcgcataactgaccaccagcgtcggcagcgagagataaaac
+ggcagccataaactcaggatgtactggcgataactggaaccaagaaccggtttaatcatc
+acgaagtaactcagaatggtgttgataatttgcaccagcaggaagccaagcgtgacgccg
+atcgcgcccgccatctgcccacctataacaatcgccggaataaacagaaatgttttgaat
+acgttgaatttaaagctgatatcgacccgcgctttcgccatcagcagcgaaccaatcggg
+ttacctacggagcgcagcagacccaccacacacagcaattgcagcaccggaataatgctg
+ttccacttctcaccaaagaccagcggtacaaagttattcgacaccaccattagcccgagc
+agcgccggaaagttgataatccccactaccgacagcagcttgtagaagttaacacgcagc
+ttttcggtatcgtcctgaattttggcgaatgccggaaacaacacgcgggtgatgattggg
+ttcagcttcatcggtggcacaacggccacgttgtacgccaggttgtatccccctgccacg
+cccgcgccgagaatacgcgccagcacgagcgttgaaaggttggtattgagatagttgatg
+atgctgtccgccgtcagccaggcaccaaagcgtaagttcggtgccaccgacgccagcgag
+aaatgcagaccggggcgataaattttgcggccaaagtagccaaacagcagcgttctcacc
+gcactattgaccagataaccgaggatcgcggtcatcgccagcggccagaaatgggcgcta
+accaccgtacaagtgaagcccgccagcaccgcgctggtttcgatcatgccgattttgttg
+aactccagctctttttgcatcaacgcgcggaactgttgcccgtgggggattaccacaaac
+gccagcgataatgttttaatcaacggtgccaggtccgggttattcagcacgtcgccgatg
+agatcactcaacaaaaacaccgccacgcacaccacgatccccagcccgacgttcagccag
+tacaacgtggtgagttcaaggtgactgatttcttttcgctgaataatcgagttagcgata
+ccgaagtcagaaagcgtatctgccagcgcgataatcaccagcgacacggtaagcaggccg
+aactggtggttgtcgataatccgcgccagcacggtcatctgcaccagcccgaggccgatg
+atgatcaccgtggcaatcgccgaccacttcgcgccgctgatggttttttcacgtaagctc
+atatcaatatgccgctttgttaacgaaacctttgaacaccgtcaggaaaacgattttgat
+atcgaaccagacgctccattcgcggatgtactcaaggtcgaactcgacgcgtttttccat
+tttctccagcgtgtcggtttcgccgcgccagccgttaatctgcgcccagccggtaatgcc
+cggtttcaccttatggcgcagcatgtagccttcaatgagctgtcgatactgttcgttatg
+cgctactgcgtgcggacgtggaccgacaatcgacatccccccggtcagcacattgataaa
+ctgcggcaattcatccagcgaggtacggcgcagaaagttccccactttggtgacgcgcgg
+atcgttctgcgtcgcctgggtcaccactttgtcgttctccatcactttcatggaacggaa
+cttccacactttgatcggcttgccatccatgccgtagcgagtctggcggaaaataaccgg
+ccctggtgaactgagtttcaccgccagcgcaatacagcacagcaccggggagatcagcag
+cagaataagcgtcgccagcacaatgtcttccgcacgtttgagcaggcggttaaccccgga
+aagcggcgtgtcgtaaagcggcaccaccggtacgccgttcatctcttcgaggcgtgaatg
+gagaatgttgaaggtaaagacgtcggggatcagcagcaccgaacaggtggtgtccgccag
+ttgatggaccagttttttcactcgcgcgccgtcgcacatttgcatcgcgatatagacgtt
+atgaatcttgcccgctttcgcgtcctcgaccagctgttgcaggttacccgcccagtcgtt
+agaaacgccgcccggtttcgggtcgtggtaaacgcccaccacttcaaaccctaaccacgg
+ctggttacggaagctctccatcagcatttgcccggcggctaaatcccccgccaccgcgac
+catgcgcttgttatagccatgattacgcagccagcccgccccaatgcgaatacacgaacg
+gcaaaccaccagtccgatgctggtcagcgcataccacgccagccagattttcagttgcgt
+gtcgaaatcattgttgaacgccaccagtccggcgctgaaaatcacgcttaaggtccagtt
+ttgtagcaacagggcaaattctgtcgctgcccgaacaccgcgccatgagcgataaaaatc
+ggtgatgccgcccagcatctggaacaccaccagcgtaatcagcgccaccaacaggtgcat
+gtagaggaatgacagtccgctgacttcgcaaaccagccatagtccggcaaacatgatggt
+gatatctgaaaagcgttgcaccatagagattaacgatgcattggttttcgctcgctcgcg
+cttttttagatttgtcatcgttgttcctgttattagccccttacccgcagtggggtaagg
+gaagatccgacattactcgttcagcaacgtcagcagagttcgcgttcgcgcttccatcag
+cggcacatcaccgcgcgattccacattcaggcgcaccaccggttcggtattggaggtgcg
+caggttaaagcgccagtcggcaaaggtcatgctgatgccatcggtgcgatccaccgccag
+cgcctcacggctaaaatgctgttccacgcggttaatcgcctcaacgggttgcgccagttt
+gctgttgatctcaccgcttgccggaaacgccgccatccggtcgcgtaccagttcgcccag
+cgttttatctttcaggcacaccagttcggcgaccagcagccacgggatcatgccgctgtc
+gcagtaagcgaaatcacggaagtaatggtgggcgctcatttcgccaccatagatggcgtc
+ttccttgcgcatacgttctttaataaaggcgtgtccggttttcgacattaccggcgtgcc
+acctgcggcagtcaccacatcaacggtgttccaggagagacgtggatcgtggatgatctt
+cgcgccgggatttttttcgaggaatgcttctgccaacaggccgacaatgtagtagccctc
+aataaactgccctttttcgtcaaacaggaaacagcggtcaaaatcgccatcaaaagcaat
+gcccatatccgcgccgtgtttgatgaccgcattgcgggtgtcgtcgcggcattccggcag
+tagtgggttaggaataccgttggggaaattgccgtccggcgtgttgtgcactttgattaa
+ttccacgggcgcgccgagggctttaaagcgggcttcaatggcgtccaccaccggacccgc
+tgcgccgttcccggagttgatcaccagcttgagcggcgtgaggtttttgacattgatata
+accgaacaggtgatcaacgtaagcgtcacgcaggttgatttgctgatagcgaccgcgttt
+ggtttcatcgacgggaggaaagtcgttggcttcagccagacgctggacgtcgcgcagtcc
+ggtatctccgctgatcgggcgagccccctcgcgaaccagcttcatgccgttataatccat
+cggattatggctggcggtaacttcaatgccgccatccacgccgagatggaacgtggcgaa
+atagatctcttcggtgccggacataccaatatccagcacgtcaacgcccgcatcctgtaa
+acctttcgccagcgccagttttaaggtttcgctggtgaggcggacatcaccgcctaacac
+aatggttttcggtttgagaaattcgccataggcgcgaccaatgcgccaggcgatatcttc
+attcagttcttcgcctaatttcccgcgaatatcataggctttaaagcaggttaatttttt
+catatcgttaccctttttcaggcaatagttggccctgaccgaagcggccaattttatttt
+tgtcgttatttacaccgcggtttcgcattcattgcctgatgcgacgtttacacccgtccg
+tagcgatccgcgaaacgcaccacatcatcctcttcgagataagagccggagcgcacttca
+attaaatcgagcggaattttccccgggttttccaggcaatgcgtcgcccccagcggaata
+taaatggactcgttttcaccaagcagtttgatatcaccatcaatggtgacttttgccgtt
+cccgcgacaaccacccagtgttccgcgcggtgatggtgcatctgtaccgacaagccctcg
+cccggtttcacggtgatgcgtttcacctggtagcggtcgcccgcgtcgatagagtcatat
+ttgccccacggacgatacacttcgcgatgcacccgatgctcatggcgaccatcggctttg
+atctgctcgaccacttttttcacatcctgtaccgcgttacggtcggcaatcagcaccgca
+tctttggtctgcaccactaccagatctttcaccccgacggtggtgaccaggccagattca
+gcatacacatagctgttttcagttttgtgattaatcacatcgccgtggcaaacgttgccc
+tcggcggtgtgggcgctgatctcccataatgaagaccaggagccaacatcgctccagccc
+gcatccatcggcaccacaacagcatctgccgtacgttccatgaccgcgtaatccaccgac
+tcttccgggcaggcgagaaacgcttcttcatccacgcgaataaaattgagatccggatcg
+acggcgctcatcgctttttcacaggcatcgaggatatccgggcgatattttttcagttct
+tcgagatagcgtccggcgcggaacaggaacataccgctgttccagtaatattcgccgctt
+gccacataggcctgagcggtttccagattcggtttttcgacaaactgcgccacttcaaag
+gccaccatatcctgctcacccgcagacacttcaccgcgacgaatatagccataaccggtt
+tctggtagatccggcacaatgccgaaggtcaccagcttgcccgcttcggcatatggcatg
+gcattacgcacggcggcacggaacgcgtcttcatcggcaatcacatgatccgccgccaat
+accagcattaacgggtcgctctccgggctatgacgttttgccgccagcgccgccagcgca
+atggcaggtgccgtgtttcgccctgccggttcgagaataatgttctcggtaagtttgttc
+agttgacgcagctgttccgcgacaataaagcggtgctgctcattgcaaatcaccaccggg
+ctttcgcactccacgccgttcaggcggcagatggtggtttgcagcatggtgagatcgcct
+ttcaggcataaaaactgcttgggataaagtacgcgggaaagcggccataagcggctaccg
+gagccacctgccatcacaactggatagagtttcgactgcgccataattatccccgaatat
+catttataaattgacgtaacacgttctctttatcgagcgtgcgttcggcatattcacgtg
+ccaccgtgttgtgtttgggcagcaggagcgcctgacggatccccgccaccagcgcctcga
+ccgattccggttcaacgcaaaccgcaatgcccggaaaggtttcgcaaagctgccccagtt
+ctgtgtaggcttcagcagtaatcaccgcgttaccgcctactgccagaatattggtcagtt
+tcgacggcaatacggcatctgccgcgccgcgtttttgcaccaccagatggcaatcgccca
+tcttcagcagtgcgggtaaagcgtcatacgattgcagcgggaaaaattgcatgttgcgca
+gtccacgctgctgcgccattttttccagccgcgctttgccgccgccctgcccgacaatgg
+caaaaatcagcggttcatcgcgcagacgatcggcagcttcaataacgttttccagcccct
+gcttttcaccaatattgccggagtaaagaatgatttttttgttatccggcaggtcaagct
+ggttacgaagggcatcaacatcggcatctgcaacatgctgaaaacgggcaatttccgacc
+agttggggaagaagatgacgttttccgccgccacgcctttttcgatggctttattcatca
+tcgaacgcgaaatcgtggagacgttatcgacgttatgcagtccgctacgttcgaacgccg
+ttgccagctgtgccactttgccgcctttgccttttccggcaaggcccagccccagcatgg
+cgtccacttcgtaatcctgaatatgcagcacggtacgcgcaccagagagtttcgccagca
+ggcgcattcccggcgcgcaaaacagcgttggcaccacgccaataatgcgatccggcttcc
+agcgacgttgcgccatcagcggaaagaaactgctgacggcaaaactgcccagatgcaaca
+ggcgtttcagggtgctcggctgttttggcacatacagcgggcagcgccacaccgtggcgg
+ccccctcttctcgtttgtagcgccaggcggaatagttctcgcccacctgccattgcgggt
+agtaaggcggtgcggtaatgacccgcacctcatgaccttgtgccgccagccattccacca
+tctcgccggtgtatttgccgatgccggttaactccggcgagtagttaatgccgtagacca
+gtattttcataatccgggtactccggtacgcttctcagcgagaaaataggcgcggctgtt
+agcatgaacattatcactggcgagcagcgcgtccgacgtcagccagcggtaatcgtcatg
+ctgctcatccggcagtaacagctcttcttccgatactctgaagcgaaaaccgagcaccac
+atagtgagtggtgaaatccgtgccagagaagttatcgtcataaaagtgctgccagacacc
+gtaaaactggcctgctgttatcggcaaacgcagccccagttccgccatcgtcagccgctc
+aaatgcggcttccagcgtttcgtctttctgcacgcgccctcccggcacaaaccagtaacc
+ctgcgccgggcggttggttcttttgccaagcagaaactcgccgcgactgttctcgacaat
+aaagtcgagagagacaagcggagtggagcgcactaccgtggcaaagtcttcctgacgtaa
+aaacatcattacccccgaaagcggtcttgattctcaaggaaccactggtaagtgctggca
+agccccgcttccagtgagatttcgtgataccagccaagctgatgcaggcgcgtcacatcc
+agcagtttgcgcggcgtgccatccggtttgctggcatcaaaaaccacccggcctttgtaa
+cccaccactttggcgatggtttgcgccagctcgcggatagtgcagtcaacgcccgtgccg
+acgttaatgtgcgacaacatcggctgggtgttctccagccagacttcatgcgccagctcc
+atgacatgaatgctcgccgccgccatatcatcgacgtgcagaaattcgcgcatcggtgta
+ccgctgccccataccaccacgtccggcgcattctgtgccgtcgcctcgtggaagcgacgc
+agcaatgctgggatcacatgcgaattactcgggtggaagttgtcgtgtggcccgtacagg
+ttggtcggcatgactgagcggtaatcgcgtccgtactggcggttgtatgattcgcacagt
+ttgatcccggcgattttggcaatagcataaggctcgttagtcggctccagcgtgccctgc
+aacaactcgctttctgccatcggctgttttgccagtttcgggtagatgcaggacgatccg
+agaaacagcagtttgttcacgtcgttctgatgcgcggcgtgaatgatgttgctctcaatc
+atcatgttctggtagatgaaatccgccggataggtgttgttggcaacaatgccgcccact
+ttcgccgccgccagatagacctggtcaatacgttcgctggcaaagaaatcatgcacggcg
+cggctgtccagcaggttcagctcgtcgcgggtgcgtaataccagttccacatcaccgcgc
+tgttcgagctgccgcctgatggcggaaccgaccatcccgcgatgaccagcaataaaaact
+cgttgtttactcatgcttatgactccagcgcgatcgccacgtcgtagccgtgagatttca
+gcagagagtgttttttcgccgcttcgaggtcattagccaccatttcagacaccatctctc
+tgagggtgatttccggtttccagcccagtttttcgtgcgctttggtcgggtcgccgagca
+gcgtttcaacttcagccggacggaagtaacgcgggtcaacagcgataatcacatcacccg
+gtttaacgcccggcgcgtcatgcccggtgacggaaaccacaatgcccttctcttcaacgc
+ccgtgccttcaaagcgcagtttgatgcccagctgtgctgccgccatttccacgaactgac
+gcacggagtactgaacgccggtcgcgataacgaaatcttccggctgttcctgctgcagca
+tcatccactgcatttttacgtagtctttggcgtggccccagtcacgcagggaatccatat
+tgccgaggtacaggcacgactccagcccctgggcgatgttggcgattgcgcgggtgattt
+tgcgggtaacgaaggtttcgccgcggcgcggggattcatggttgaagagaattccgttac
+aggcgtacatgccgtaggattcacggtagttaacggtgatccagtaggcgtacagtttgg
+cgaccgcatacggagatcgcgggtagaacggcgtggtctctttctgcggaatttcctgca
+ccagaccatacagttcagaggtggaagcctgatagaaacgagttttcttttccagaccga
+ggaagcggatcgcctccagcaggcgcagcgtacccatcgcgtcgacgtcagcggtatatt
+ctggtgactcaaaagagaccgcaacgtggctcattgcgcccaggttgtacacttcatccg
+gctgtacttcacgcaaaatgcgcgtcaggttagaggtatcactcaggtcgccataatgca
+gatggaatttcgggttgcaggtgtgcggatcctgataaatgtgatccacgcgctcggtgt
+tgaatgacgatgcgcgacgcttaataccatgcacctcgtaacctttttccagcagaaact
+ctgccaggtaagaaccgtcttgtccggttacaccggtgatgagagcgacttttgacatgt
+attattcctctgtatttttgaatttattcagtttcaacgcgttcgcgtatcaccactgcg
+ggattcccccggcaaaccacatttgccggaagcgatttaaaaacactgcttcgtgcaccc
+acgacggtgccgtcgccgattgtgacgcctggggcaacaaagacatcggttgccagccag
+catttctcgccaatcacaataggcgtggcgttaatggtgaaatgttgacttgcatggtcg
+tggctaccggtgcataaataacttttttgcgatatcaccgaatgtgcgccaatggttatt
+tcaccgagggtatataaattgacgtcatcgccgacccacgcgtaatcacctaaggttaat
+ttccacggataggtaatttttactgacggacgaataactacgttttttcctatttttgct
+ccgaataaacgtaataaaaaagcccgccagcgatacaatacttgtggcgaccaggcaaat
+attgttgcctgtactgcccaccataattgcactttaatagcgttgccgccccggaaccct
+ttcggcaccgagaaaccgcttaaatcttgcattggttttccttatattcagactttgtta
+tataaggctttcgtctttgaggtagtacgttggcgtaaatgccaggataattcagcccaa
+aagccaggcacatgtaatatttgtcgttggacttttttcgcgtcagcacacaattccata
+ttattggtggtagataccccacccatggaaaattcagacaccaggccattgagtttttta
+aatgcataaccggctttatacattttggctgccagcgcgtagtcggaagaaactttatat
+tccaggtcataacgccattttttcaagccggatacagggaaaaatatcgcctgatgactg
+gcgggcaggctgtgataaatataccagcccggtttggcgctacgtttaattttatgcccg
+tcgccaaaatccagcagcgcatcgccggtgatcatcacgttatctttttgcatttttaac
+ttacggacaaaatttgcggcattctgatgaaaaatatcgcccgaattgagaaacaacgcg
+aacttgccttgtgccatcgcaatgcctttgttcatggcgtcgtagataccgttatctggc
+tcgctgacaaagcgtaggttaaagataccattgagattttccagatactcacgggtgccg
+tcgttggaaccgccatcgacaacaatccattcgaagctgatatcttccacctgcgccaga
+tgcgccagcgaggcatgtgttttgactatcccttcgaggttacgaaacgcgacagtgatt
+atgctaagcaacatgttcttattcttacctcgtaatatttaacgcttttcgcaaaataaa
+cggacagacgattaaaaatgcatattccgggctaaatatcgaaccggtaaaaaacagcga
+taccggagtaaaaagatataattgcacgcgaaaattgcggttatcaccaaaagcgttgat
+catcatttttatcactttccccatgtaccacagtgataaaaacaccgcgaaccaggaaaa
+ataaataatcagcagatacaaaccattgtctatggtttttccgacatccgcaccgttaaa
+tattccgaatgatgcgacatattcataaagtgagccaaatctgactacaccgtcaatatg
+ggtcaaagaataaccgaccatcaccagcggaccgacaatacgataatatgatgacgatcc
+ttccgtacctaaatcgcccagacgggtggaaatataaggaaacgcgattaccacaccaac
+caggaatacagccagagaaatcaatgctaacggtaactttttcttaatcgcctctttatt
+cagatattgaaatgcccactccagcaaataaaacaggataaaggtcataacccctgaaaa
+cgatccggataatattatccctgcgagaatcatagcatctgttttaggcgttttgatacc
+aaactgtttgatgctgagccaaattgagattaatgccagagcgaaaaatgccggttcgaa
+ataaagtgctgtcgtgcgcttgccgccgaatttaatgaaattcagcacatagctgttgct
+gtaaatcagatatttcgaaatcgactccataatactgctgccaccggtgaggataatttg
+tgccatctccaccgccgccagcgccaccaccagcccgaccaccagataaaagaaacgtaa
+tatcttgcgatggttgtgtggcgaaattgttttaaaacgaatactccacaccatgccaat
+aatgatcacaatatagacaaacagcatagttgaagtgacgtatttactggcatccagcga
+ctgaccaaacagatagttaaacgccgtgagtcccgcgccaatccctaaggcaatcatcaa
+ttttttaacgctgatgcgttctaaaaacagcagtaacaagacaggtaaaaaagtgacgat
+ggtgatggggaaactttcgccaagctgggcgattttgacgttaaccagcagataaatcag
+cggcagcaacaggtagctacagattctgatagaagttgacatactcctccagcatctgtt
+gtccactgtaggcggcgcggctgcgttggctgaactcagccagcgtggtaccaaatatcg
+cctgcgcgatttccggtttgcttaactgcaccagttgcagcacctcttcttcgctgacgg
+ttttaccgccggatttttgcaacacttcccgcgccgcatcgctatgggtggcaatcaccg
+gcacgccaatcgatagcgcctcacacaaaatcagcgggtagttatcgacgcgagaactga
+ataccagcgcatccatctgattgagcgcgctcatcagcttacgtttgtcggtttcaaagc
+cgtgattaaccacgttgccagcggtgaacggcgagaacttaccaaaggtatgcagttcaa
+ttttgtcgcccagcgccatcatctcgcgtaccagttgctggttagttttgccgtcgtaac
+gcagatcatgcgccaccaccgcgattttcggcttgccctgggtttcgcgcaccggaggca
+agtccgccagaatcgcttcagttgccatatcaatgccattattgataatccggcaacgcc
+ctggaccgtacaggctattgaaagcgtcagccacatgctggctgggggaaataaactgac
+agcccagcgccagcatctcacggaataactggcgtttgcccgccaccagttggtgtgcgc
+gatcaatcttcaccggcggatagttatttaaggtcgggcatttctggcagcctgttttcc
+agccttcgcaaccgtcggtaaaggcgcagcgtccggtaacactccagtggtcgtgcagcg
+tccagaccagagtgacgtccggtttatggtttttcactttttcgcaaaagcgcaccacgc
+tcttaagatttagccagtagctgtgcagcacatgaaaatgcaggaccaccggacccgctg
+tgcgagtaatggtgcgatataactcattgaaattgccaaacagatcgcgattaaacagac
+gaaacagagcaatattcgccatcgcggtcatccgcggcgtatgtttgatgacctgcggat
+agttctgatggctgacgctctctttgccgcctttgccgtaaccgtagacaaaatgtgacg
+ccagcccctgttgcagcgcacgctggtggagatctaacgccacacctgctgccccgcctt
+ccgccagtcgcacattaaattgcaaaatattcatttaattaccttcactcgcgctttttc
+tcccaccaccagcgcgttgtccgggacagagtcgagcaccacgctgcccgcgcccacggt
+gacgttgttaccaagcgtgatatcaccaagaataatgacgttggcaccgagttcgacgcc
+gttgccaatgtgtggacatgccatgttatcggcaccacgattgccgatagtgacgccgtg
+gcgaatggtaaaatcatcccccgctaccacgtttttattgatcacgacggcgtaaccgtg
+atggatagtaaagcggcggccaatggtcgcggcagcctggatttcataaccgaaaaagca
+ttcggtgataatgcgatacagcaccagcagcggggccgcccacagattgttgaggacgtt
+ctttttgcgccacaccgaacaaaaatgagcaacacgataggcaagaaccatgcagcacgg
+gcgtaaactccagctgttggcgcgcagatcttccagcatctttagcgcccccgaatacca
+tcagccagacgtttgccgttacgcaccgacagcagcgtcagcaaagtgcgccaggtcata
+cgtttattgcggatctggtagagggtaaacagctgatattttttgctggcgcggtcgaat
+ttgtctttgtgcttgcggtaaaagtggaagtacccggagaattttttcggtgacgaggtg
+atctgcatttcaccgtgattgatatgcaggatctgcgtcgcctcttctactttccacggt
+tcgccgtactccaccaccatccgcaggaagatgtcgtaatcctgtgccgctttcagttcg
+gtatcgaacaaacactctttgaaacgccatgcccaggtaaagacctggttgccaatgata
+ttgcgtttgtagaacaggcggcgtgaatacggcgatttgggatacagcggcaagcttgcc
+ggttgggaatagacttcgccctggcaaacgtagtcgttagcgtacaaaaaggcgtgtgtg
+accagttgctgtttatgggcgaggaagacgctcagacggttgggtgtccattcgtcatcg
+tcatcaatcccggtgatatattccccttgcgccagcataatcgcctggttacgtaccgcg
+cacgccccgctgttaatgtcgttgtgaatgtaagtgatacgcggatcgttgagggcggtg
+acgtactgttgcagttgttcccaggaggtggagcaatcatccacgatgatcatctcccag
+ttgctgtagtcctggcgcaaaaccgattttattgcccgaatcgccagttgttggcggttc
+caggtcggcatatagattgagatcagcggattgtttttcataggttgttctcccggctta
+tgagctggtttgcttgccggatgcggcgtgaacgccttatccggcctacggggcggtgcg
+aatgcaggcgtcgttatttcgcatccgacttatattcgtattcgtaatagccataatcct
+gatacgcgctggcgcggcggaagatggagttcagaatcacccctttcaccggaataccgt
+tttgctcaaagcggctcagactggtttccacttctttcaatgtgttgaccgcataacgcg
+ccaccattaacgtggttccgacatgacgaccaacaattgccgcatcggtcactgccagaa
+tcggcggcgtatcaatcaacaccaggtcatagtttttactcgcccagttcaccagttcgg
+caaagcgttcgctcatcaacagttcagaaggatttggcggcacctgaccgcgcgggatca
+ggtcaaatttggcaatagaggtcggtttagcagcggtagtaatatcgccctgaccaatca
+gaatttccgacaggccattaacgttattagtgcccaacagctcgtgggtgtagcctttgc
+gcatatcgcagtcgatcaacaacacgcgtttattggtctggctgatcaccgccgccaggt
+tggcgcagacaaaggttttaccaattgacgggctaaccccggtcatcatcaacacattgt
+tctgtgcctgcatcatcgcgaagtgcaaactggtacgcagactacggatggcttcaatcg
+ccagatcggttggattccccaccgccagtagctggctctgtttatagcgtttaatccctt
+tgatggttttgacgctatcacgcgctttctgccattccgacagcgggatgctggcataga
+cgctaataccgtgttcttccagtacttgcgggctttcaatgccgcgattaaacaacgagc
+gcagcagcacacccacgatagaaagcatcaggccaaggataatcgcgccgaggataatca
+gccctttcttcggtttcagcacgccaggctgagtgattgccgggtcaacaatgcgcacat
+cgccgacggtgctggcctcggtgattttcagctcctgctctttattcagcagttgcatat
+agacctgctgaccagactcgacatcgcgggtcagacggacaatctcctgctgggttttcg
+gcatcgccgttacgcgaccgttaagtttggctttttcgtcttccagcgcctgacgtttct
+ccagcagcgtgcggtacgccgggtgaactttggtgtacagcttggagatttccgcctctt
+taaaggtcagttcgttcaactgcgcatcgatgttcaccatcgaatcgagcaccgcttttg
+cttccagcggcagatcaacagaatctttatcctgacggaaggcattcagtttgttttcgg
+caacatccaagcggctacgtacttccggtaactgttgcgcgaggaaggcgaggcttttcg
+acgcttccgccgatttgcgctcaatattttgttcctgatagttacgggcgatgctgttaa
+gaatgtcgcggatctgttcacgatcttcaccggtataagtcaggctcaaaacgccagcgt
+ctttgccgttctccgttaccgtcaggctgttttgcagttggttgatcatccccagcgtgg
+agtatttggtgacggtaaactcactgcccgggctggcgtgaatggcttcaaccatcagcg
+tgacgccttcttttttcagcatctggcccgcttgcccccgggcgctaaagccgccgtcgc
+tgctcagggtgtagtttttgttgtccagcacattaagcgtaaacacctgatccgccatct
+ctttcgggcggttaaaggtggtcactttcaccgtctcgttctgacgtcccatcaggcgat
+cccagcccgcaccgaaaatcgggaacgtgtttttgctcactgcaatatcgaggtcgagat
+cgtccaccgttttaccaagcaccagacgcgaacgaatcaactggatctcggcgtccgatg
+caggcggtttgttggctaatgccgaaccaatgtcctgcactaacgaattgccgctgtttt
+gctcgatttgtaccagtgcgtcggcactataaatcggcgtggcgaagaaggtgtaaacca
+cggcacagagggcgaatacggtggtgatgccaatcacccaccagcgcgcttcaatgacgg
+tgccgaccaggcgaccaatatcgatttcatcactgcccgttaccggagcggcatgttgtt
+ttactttttctgtcattcttatacctgctctgcgttcaatgcctgcgcccactggcgggc
+agaccgttcaagtaatgtgtacaccgctgcaaacgtttcccggcttttgcgatacggatc
+ggggatttcacattcgttatcccagtgaccaaacagcatcactttgccgcgcatctccgg
+tgccatctcgcataagcgttcgatatggcgcttttccatggtcaaaatcaggtcgtagtt
+gcgacacagacggcggctgatttgacgggcacagtgaccttccagagacagttgatgttc
+tgcggcgacgctgatagcggtaggatcagcgcccttaccgaccagcgcgccgagtccagc
+ggactccactttcagctccgggtgataacgttgcagtaagcgttccgccgtcggggaacg
+gcaaatattgccgacacagacaactaagatgttgttaaacatgacgattaccagttatga
+atgtcgctggctgtatccgtcatgtaacggacaccgctaatagttggcagcaactgattg
+atcagacggttccagcgggaaaccggggcggtggtgacatacaccacgtcataaggttgc
+aggcggaattctgtcgccatcaccagcgacgtggcatcggacatatccagctggtagata
+ttggcaatcttgccgttacgcccgccctcgcctttcagcggacgaatgacaaagatgccg
+ctggcgttggaggtggtcatgtcgatgccttcagcattgcccagggcttcagtcagggtc
+atgccgctaaagtccattttcagggtgctctgtttcttcacttcacccatcacaaatact
+ttcagatcatcattacgtggcacgtagagaatatcgccggggtaaagcaggcgattctgg
+ttgaggtcgccgttttgcatcagcgcctgcaaagaaatgcgctcttcacgaccattgtgt
+gttagcaccacgttgcgccagtcagcggtgtcggtcaggccacctgcggcgttgatggcg
+tcgagaatagtcagtggcacgttggtgatcgcctgttgaccggatttattcacctgaccg
+gagatataggccttttgtgagcggaaggcggcgatattaacgtccacctgcgggtcagcg
+atgtacgtcgctaagcgcccggtaatatcactgcggatttcagcgagcgttttcccgact
+acgtggaccttgccgatatacgggtaaaacatagtgccgtcaggctgtacccagttgccg
+gtgtcgctggagctgcggtactgaccggctggcgtggtgagttccgggtgatcccagacg
+gtgacattaagaacgtcccccggcccgacgcgatactggtaattcgcgatctcactttcc
+agcgtcatattggggcgcgctacattcgggcgtgggcgtaattggtcaatcaggcgcggg
+gtcagcggataaacattcaccattttgtcgagatcgaaatcagcgtcctgctgtttgatg
+acgtctttgcccatcgtcgacatattgctgcccggaagtactgtgcaaccgcttatcaag
+gttactgacaccaataatggcatcaatttcattttggatttcatcattgtttatttatca
+ctttggcagagtaattatcctgtgcactattaatagcaatgtcgccatgcacatttacct
+tgcagttaattgaataaaaatttaactggcatcagtcctaaaaaaattgatttcatccgc
+aggctattgacagaataattcagactggtctttcaggcatccagacacgctaccgcccct
+ggctttttagctaccaatacactgatttagtttaatttttcacaccctctcagcatgcag
+tcgttgatgagaaagggttattacggaaattaacttccgaatataaggtgacattatggt
+aattgaatattggctttccaataatgcaggaggaagtgttacagctaacggaatagcagg
+caagataacaattcggtaattggctatttttaagaattatattaagtgtcattcaatatg
+gtttttaggagtttctttaggttgacaatatttaatatagtgtctccacatgcgatattt
+cttaaataatgttttattattaccacttttaattcagggataatgtgaggttattaccct
+caaataatatgagataaatagtgctgcaacattgcatttttgccccgatttatccatgat
+cgaattgtgacatttgtcatacaacgaataggttttgtacttactatggaatggattgcc
+gatccgtctatctgggccgggttaatcacgctgattgtgatcgaactggtcctcggcatt
+gataacctggtctttattgccatcctcgccgaaaaactaccgccgaagcagcgtgaccgc
+gcacgggttaccgggctgctgctggcaatgttaatgcgcctgttactgctggcgtcaatc
+tcctggctggtcaccctgactcaaccgctgttcagcttccgctcgtttacctttagcgcc
+cgcgacttaatcatgctgtttggtggtttcttcctgttgttcaaagccacgatggagctg
+aacgaacggctggaagggaaagacagcaataatcccacacaacgcaaaggtgcgaagttc
+tggggcgtggtgacgcaaattgtggtactggacgccattttctcactcgactcagtgatt
+accgccgtcgggatggtcgaccatttactggtcatgatggccgccgtggttatcgctatc
+agcctgatgttgatggccagcaagccgttaacgcaatttgttaacagtcacccgacgatc
+gttattctctgcttaagcttcctgttgatgattggctttagcctggtggcagaaggtttc
+ggcttcgtcattccgaaaggctacctgtacgctgccattggtttctcggtgatgatcgag
+gcgctcaatcagttggctatctttaaccggcgacgttttctttccgctaaccagacgctg
+cgccagcggactaccgaagcggtaatgcgcctgcttagcgggcaaaaagaagatgcggaa
+ctggacgccgaaaccgcgtccatgctggtggatcatggtaaccagcagatctttaatccg
+caggaacggcggatgattgagcgggtacttaatcttaaccagcgtaccgtcagcagcatt
+atgacgtcgcgccacgatattgagcatatcgatctcaacgcgccggaagaagaaatccgc
+cagttgctggagcgaaatcagcatacgcggctggtggttaccgacggtgatgacgcagaa
+gatttgctcggtgttgttcacgttatcgacctgctacaacagtctctgcgcggcgaaccg
+ctcaacctgcgggtgttgattcgccagccgctggtgttcccggaaaccttgccgttgtta
+cctgccctggagcagttccgtaatgcccgcacgcactttgcttttgtggtggatgagttt
+ggctcggtggaagggattgtgacattaagtgacgtcactgaaaccattgccggtaactta
+ccgaacgaagtggaagagatcgacgcccgccatgatattcagaagaatgcggacggttcc
+tggacggcgaatggtcatatgccgctggaggatctggtgcaatatgtgccgctgccgctg
+gatgaaaaacgtgaatatcacaccattgccgggctgttgatggagtatttgcagcgtatt
+ccaaaacctggcgaagaagttcaggtgggggattatttgcttaaaacgttgcaggtagaa
+agccatcgcgtgcagaaggtgcagattataccgctgcgtaaggatggcgagatggagtac
+gaggtgtgatggtatcggtcattttacccaatagccgaaaggaataagatgagggaaccg
+cgccatcggcgatttaccgccgggagcccgggttgccagggtggtggagattgagccacc
+ctggcacgttcaccggcttgagcgttccatagtagcgaggaacatcaagtgaacggaaca
+gccttcgatcttacatattcagaatataatgatgccgccacgaacgcctgatgcgacgct
+ttacgcgtcttatcaggcctacaggactggtcacctggtaacctacatcttctccagcaa
+cttcttcacatctttgccattacgggaatctttattccgctcggcccagtcattcaggcg
+acgtttcgcttcgtcctgtagatgtttgcgcagtaactgatccacttgcaggctgtaatt
+gagttgctgccagttgccataaacccgcagcggtactggcgtttctttcaggaaatcaat
+cagtttgctttccccgttccagccacccacgacccgaatatcaaactgggtgtcgcaggt
+ttgatctgccagattcaacatgccttcccctgtcagcgccagcacaggcgattgaccttg
+catgtcgtttaacgtcacgacgccatccttcaacgtcaaatcggtggtaaagcggtcaag
+ccgcgtcacgttatcaaagttttcagcggccttcacatcaccgccattacgctctaccgc
+ttgctgaatcatctgctggaagttcatcccttccatgcgcgtgtcggtcatttcgacatg
+tgcctgtccttgccagttgtggcggaatgcgtcggcatctatgtcagcaccggagaaatc
+accagccagtgacatttttccggtcaacgaaatcggatagttaaacgccttcagaatggt
+accaatctcaacgttttccagccgtggctggaagtttatccgcggatttattgatgtcgc
+gtccagcgtgcccggcagtgaaacctgtccaccgttaagtttgccctgcagttgagtaat
+ttccagcaaacccgacttgttggtcatttgcgtggcaacatctgtaaaattcattccgcg
+ccagcgcacgttactggcctgcaacaaaatatcagccgtaaagccttgcagtccctgata
+ggccggttcatcaatacgcgaagaaatgaccgggcgcggcaacgttgattggctctgccc
+ctgctgcgcggcaccgttttcaccattcgcggtttcattaagcgggatgaggttgtcaag
+attcagttgcgggaattgcagcctcagctgccattccggtttctctgtcagcgtaacctg
+tgcttgcccgcttagcgtactatcattggcggtcaaactaatttggttaaatgaaaggcg
+tttatgtgactcctgccactgggcctggaaactcccctgcccctgaataccttgttttgg
+taaatcggcaccctgcaactgccagttaatttgttcaatagccgccgttaaatcatgcgg
+ataatcagaagcatctaccgtaccgttaagggatatcgtgagatcgcgctgatcgcgatt
+aacccgcccggagaactcaaatgaaccacgatgttggggatcttgttccatttgcaggcg
+aatattgcggattgtcacctgctcgtcatcttcatgctggaacaccagcacgctgtccgc
+caccttaagactggatatatcaaacgaccatccgcgatcgtctgacagatccggcaaggt
+attgtcgcgcggtgcaaccggagcgtcttcactgcgcaccgcttccgtctgcggcgtcag
+ttggatcactgccccttttagcatcacctgcttaacgctcagttgatgactcagtagtgg
+taaaagcgccacgtccagacgcatgttgtcggcgcgaaccagtggctggcttgcgccctg
+ggcggtgagagacattcgcccggagaggatactaagctgcggccagacgtgccaacgcag
+tggcccgtcgagctgcaattgataaccgctacgtgcagcaacttgcttgaccatatagtc
+gcggaaatcattcggattcaccagcaacactaacgcagataacccggccaccagcacgac
+caggagtatcatcagcgtcgtcagaaatcgtctcatggtatcctcaatgggcctgaatta
+gtctttatcgattcggctggctaccgcgccctgctggttgcgatatttcgcatcttcacg
+gcggttgtaaggtcgcaccgccgggccggaaagcggctcaaagctcagcgcaccaattaa
+catgcccggacgcagcgccagcggcagcttaccggagttgtagaactccagcacaatgca
+accagaccagcccggatcgatgcggtgcgcggtgacgtgcaccatcagccccagacgcgc
+cagtgaggaacgcccgtccagccagcccaccagatcggctggcagcgtcaccgactccag
+cgtcaccgccagcgccagctctcctgggtgaagatagaacgcctcgccctcgtcgagaac
+gatctcatcgctcatcacgcggtcaagcgcggcgctcacttcatctttgggaccgctcag
+atcgataaacgctgccgtgtgaccacggaaggtacgaaatttattgcccaggcgtacatc
+caccgtcgcgccgttaatacgctccactggcggacgtgggttgatcgacaaacggccttc
+atcaagccaggcttcaatatctcggtcacacagacgcatggcattttctcctttcgcgca
+tcactcccttaacgccaattacgtcaagggcatactaggttatcactgaacggtacacaa
+tttatcaagcttattcaaagaactgacttattttcgctttcaatatatcgatcgcgatgc
+ggtttttcccgccgcgcggcacgataatgtccgcatattgtttagaaggctcaatgaatt
+gcaggaacatcgggcgcacggttttttgatattgcgccatcactgaatccattgaacgcc
+cacgctcgttaacgtcacgcttgatgcggcgcatcaggcagatatccagcggggtatcaa
+cgaaaatggagaagttaagttcgtcacgcaaacgcgcatccgtcagcaacaaaatgcctt
+cgagaatgatgaccttcttcggctcaaccgtcaccgtttctttcatacgcgtatgttcaa
+catagctgtaaaccggcaggtcaattgccgagccgcgtttcaacgcttgtaaatgctcaa
+gcagcagactgtgatccatcgcgctgggatggtcgtagttggtcttaacgcgttcttcca
+tcgacagatggctttgatctttgtaatagcagtcttcgggaattacgccgatgtgttcat
+caccgacttgctcacgcaattcacgataaagggtactggcaataagactcttgccggaag
+ccgatgcgccagcgataccgataatgacgcactgatgagactgatcagtcatatatttag
+cgacctgattaacctggatgttaggaagggggcgacgaagcgccaaacgcggcaattata
+gggatttcatccgtctgataccagtcgaatagcgttgccgcgcgctcagagttaattgtt
+gacaaagaattcccgggggcaaattacgttgatcagttttatgtaaggtaaaaaatgtta
+aacgcagttgcgcaaattatccgcctttacgtcactttatgagcaattcgcatataaaat
+gtaaaacttttgtactagcataaacacagaaacgaatactggcgaccaggtcttgcggat
+aaagcggtaatgagcaaacaatcacagcatgtattaattgccctgccccacccgctgctt
+cacctggtcagtttaggtttagtctcgtttatctttacccttttctcgcttgagctttcg
+cagtttggcacccaactcgccccactgtggttcccgacgtccatcatgatggtggcgttt
+tatcgccatgccgggcgcatgtggccgggaattgcgctgagctgttcgctgggaaatatc
+gccgcatccatcctgcttttttccaccagctcgctgaacatgacctggacgaccatcaat
+attgttgaagccgtggtcggggcagtgctgctacgtaaattgctgccgtggtataacccc
+ttgcaaaatctggctgactggctgcgtctggcactcggcagcgccattgttccgcctctg
+ttggggggtgttctggttgtcctgctgacgcccggagacgatcctctcagggcatttttg
+atatgggtactgtcagaatccatcggcgctctggcactggtgccgctgggattgttattt
+aaaccacactatctgctgcgccatcgcaacccacggttgctttttgagtcgctgctcacg
+ttagccatcacactgacgttaagctggctttcgatgctgtatctgccgtggccttttact
+ttcattattgtgctgttgatgtggagcgccgtgcgtctgccacgaatggaagcctttttg
+atcttccttaccacggtgatgatggtgtcgctgatgatggccgcggatccctccctgctt
+gctacgccgcgtacgtacctgatgagccatatgccgtggctaccgtttttgctgatcctg
+ctgcccgccaacatcatgaccatggtgatgtatgcctttcgtgcggaacgcaaacacatt
+tccgaaagcgaaacccactttcggaacgcgatggaatattccgctatcggtatggcgtta
+gtgggcaccgagggacaatggctgcaaaccaacaaagcgctctgccagtttctcgggtac
+agtcaggaagagctgcgcggactcacctttcagcaactgacctggccggaggatctcaat
+aaagatctccaacaggttgaaaagctgataagcggtgaaataaacacctattcaatggaa
+aaacgctactacaaccgcaatggcgatgttgtctgggcgttgcttgccgtctcactggtg
+cgccacacggatggcacgccgctctattttatcgctcagattgaagacattaacgagcta
+aaacgcaccgaacaggtcaatcagcaactgatggagcgcatcactctggctaacgaagcg
+ggcgggattggcatctgggagtgggagttgaagccgaatatttttagctgggataagcgg
+atgttcgagctgtatgaaattcctccacatatcaaaccgaactggcaggtgtggtacgag
+tgcgtgctgccggaagatcgccagcatgccgaaaaagtgattcgtgattcgttgcaatca
+cgctcgccctttaaactggaatttcgcattaccgtaaaagacggtattcgccatatccgc
+gccctcgccaaccgggtactgaataaagaaggcgaagtcgaacgtctcctcggcatcaat
+atggatatgaccgaagtgaaacagcttaacgaggcattgtttcaggaaaaagagcgcctg
+cacattacgcttgattccatcggtgaagccgtggtctgtattgatatggcgatgaaaatt
+acctttatgaatccagtggcggagaagatgagcggctggacgcaggaagaagcgttaggt
+gttccgctcctgacggtgttgcatattacttttggcgacaacggaccattaatggagaac
+atttacagtgccgacacctcacgttccgcgatcgagcaagatgtggtgttgcactgtcgg
+agcggcggcagttacgacgtgcattacagtattacgccgttaagtactctggacggcagc
+aatattggttcggttctggtgattcaggacgttaccgaatcacgcaaaatgctgcgccag
+ctgagctacagcgcctcccatgatgcactgacgcatctcgccaaccgcgccagttttgag
+aaacaactgcgtatcctgctgcaaacggtaaacagtacacatcagcgacatgccctggtg
+tttatcgatcttgatcgctttaaagcggtgaatgacagcgccgggcatgcggcgggtgac
+gctttgctgcgcgaactggcgtcgttaatgctgagtatgctgcgttccagcgacgtgctg
+gcgcgactcggtggggatgaatttggtctgctgctaccagactgtaatgttgaaagcgcg
+cgttttatcgctacacgcattatcagtgccgtgaatgactatcactttatatgggaaggc
+cgtgtgcatcgggtaggtgccagtgccgggattaccttgattgatgacaacaatcatcag
+gcggcagaagtgatgtcgcaggctgatatcgcctgttatgcctccaaaaatggtggccgg
+ggccgggtgacggtttacgaaccgcagcaagctgccgcacatagcgaacgggcggcgatg
+tcgcttgatgaacagtggcggatgattaaagagaatcagttgatgatgctcgcccacggt
+gtcgcttcgccacggatcccggaagcgcgtaatttgtggctgatttcacttaagctctgg
+agttgcgaaggcgagattattgatgaacaaacatttcgtcgtagcttcagcgatccggcg
+cttagccatgctcttgaccgccgggtattccacgaatttttccagcaggccgcaaaagcg
+gttgccagtaaaggcataagcatctccctccccctttccgttgccggtttgagtagcgcc
+acgctggtgaatgatctgcttgagcagctggaaaatagccctctaccaccacggttatta
+catctgattattccggctgaagcgattttagatcacgcagaaagcgtgcaaaaactgcgg
+ctggcgggatgtcggatagtgctcagccaggtgggccgcgatctgcaaatcttcaactcg
+ctgaaagcgaatatggcagattacctgctacttgatggtgagttatgcgccaacgtgcag
+ggtaatttgatggatgagatgctgattacgattattcaggggcacgctcagcgactcggg
+atgaaaaccatcgccgggccagtcgttttacccttagtgatggatacgctttctggcatc
+ggcgtcgatctgatttatggtgaggtgattgccgatgcccaaccgctggatttgctggtg
+aatagtagttatttcgcgattaactgaggcgtgcttccccatcgcctgatgcgacgctaa
+cgcgtcttatcatgcctacaaatcgctcattccccaggccggataaggcgctcgcaccgc
+atccggcgaccaacgtcatgcttcgtctggttgccagccttccgtataccagatatgcaa
+cagcgcataagaacgccagggcttccagcgctcggcataacggcggatttgcgccggtgt
+cattcccggaaatcgctgtttaatcagataatcatccggcaggaaaacatctttcgcctg
+ccagccacgcaaagcaaaataattcgccgtccagcgcccgatacccggaaaagtttgcag
+cgttttcatcgcctgctccacatcgcccggtattgtcattggtaaggtgccctccagcgc
+cgcatttgccagatgaatcagcgcctctgcccgtttcaacggcatacctaacgcttttaa
+tgcctgcgggtctgctgctgccagccgctgaggcgtcgggaagcagatatactccggaaa
+atcatccagccgttcgccataaagctgtgccactctggcggtcaattttgccgccatcgc
+cacgctcaccagttggcctaaaatcgcccgcacgccctgctcaaaagcatcaacacagcc
+gggtaaacgcaatccgggccgcgccgcgcctaacctgcccaacgcaccgttaacaatttg
+tgggttacattgcagatcaaacaggcggctcattttcgccagacactctgcggcaacagg
+ttctaaacctgcacttaaatttatgtgcagagtatggcgggctatatccggaatagcagt
+caccacgccgcgatattcgcccaccgccagactacgggcataataactgtccgcgaccgt
+ttccacactgctcaccgcacgggcggcgagaaatcccaacatccacgaccagtcatacgg
+cggctgccagttcagggtatacatcgcatctccttattcatccgctttcagcataaacgt
+tattcagacgctgcgctttgctttcatattccggttgtcgcgacggcaacatttcgctaa
+agtcacgccccttcttcaccggcatggggattatttcgtgtttattggttttgattacgg
+tacagcaaactgttcagtggcggtcatgcgtgacggtaaaccgcatttgctaaaaatgga
+aaacgacagcacgctgctgccttcaatgctttgcgcgccaacgcgtgaagcggtaagcga
+atggctgtaccgccatcatgatgttccggcagacgacgatgaaacgcaggcgctgttacg
+tcgggcgattcgttataaccgcgaagaagatatcgatgttacggcgaaaagcgtgcagtt
+cggtctttcctcactggcacagtacattgatgatccagaagaagtgtggtttgtgaaatc
+accaaaatcgttcctcggtgccagcggcttaaaaccgcagcaggtagcgctgtttgagga
+tctggtctgcgcaatgatgttgcacattcgccagcaggcgcaggcacagctgccagaagc
+gattactcaggcggtgattggtcgtccgatcaacttccaggggctgggcggtgatgaagc
+aaacacccaggcgcaagggattctggaacgcgcggcgaagcgtgccggattcagggacgt
+ggtattccagtacgagccggtcgcggctgggctggattacgaagccaccttgcaggaaga
+aaaacgggtgctggtggtggatatcggcggtggtacgactgactgttcattgctgctgat
+ggggccgcagtggcgttcgcgtctcgatcgtgaagccagcctgctgggtcacagtggttg
+ccgtattggcggtaacgatctggatatcgcgctggcgtttaaaaacctgatgccactgct
+gggtatgggtggcgaaaccgaaaaaggcatcgccctgccgatcctgccgtggtggaatgc
+ggttgccatcaacgacgtacctgcgcagagtgatttctacagtagtgccaacggtcgtct
+gcttaacgatctggtacgcgatgcccgcgaaccggaaaaagtggccctgttacagaaagt
+ctggcgtcagcgtttaagctatcgcctggtgcgtagcgcagaagagtgcaaaattgctct
+ttcaagcgtagcggaaacccgcgcctcactgccgtttatcagcaatgaactggctacgct
+gattagccagcgagggctggaaagcgccctcagccagccactgacgcggattctggaaca
+ggtgcaactggccctggataacgcccaggaaaaaccggacgttatctacctgaccggcgg
+tagcgcccgttctccgctgattaaaaaagcgctggcagaacagttgccgggcattccgat
+tgcaggcggcgatgactttggctccgtcaccgccgggctggcacgctgggcggaagtggt
+gtttcgttaattgaaaaatggctcagcagcggcttaaatctgcctgcgcctgagccagtt
+tttctgctgcctgacgtaacggttccatcaacggcatggtccgtgctggagcatgaaggc
+ggaatcgctgcaactctgtcgcgccgactgtcaacgccgattccagccgatgtcgtttgg
+cggtcattttcgccattaccgcttgtctgtctgctggcgttatcgcttcattcggcctga
+acacaaaacggcgttcacagctcgctttccagtcgataaccgcctgggtcagatggtcgc
+caaaccctttcacttgcttaacgccacgacgggtaacatctgcggctgtttcaataccaa
+aagaccgtaacgccgctttacgcgcagggccaacgccgggaatagaggcaacatcaataa
+aaaatccctccagaaacttctgcttctgccgttcccttgcagtgtcatgaagtgctgcca
+gagcgcgtttctcttcttccggtaacccgagaatttcgtccttcattttttcgagcatcg
+tccgtttggcgataaaaccttccaggccgcctacctgctggatctggcggactaaatggt
+catagtccattttcgcacgattaaatgcctcacggcgttgctgaacttctgctttgtacg
+ctttgcttgtcagactgccaataatccagatagccgccagcacaggaaccaaaataatat
+aacgcggttctgcctgaaggccgcaaagcagcagcgataatgctgacagtgcgatctcaa
+gcagaatgatgtattcgcgccgtaacaggcctaaaggaagcggcctgccagtcggttgga
+aatgatcgggtaatggcagttgcaatgctggcggtgctactgacgccatcaccatcgccc
+agactttcgccagcacaaaattcccgccggtggtaatgacctcttcgccgagatcaataa
+aatagataacaccttgattatccagcgcacaccacgggcagtcagtcaaatgagcggggt
+aaacatgcattgctgaaacgatacatttctttaactgttggcgtagagagtccagtgccg
+ctacccacgctttagccgtcggacgcccggttgccacgccactttccgtgaatgcctgct
+gaaacatggcttcaacatcactcggtaacatcgatagcggaatagatcgtggcggcggtt
+ttaaaccacgtcgctgattatctgacgcgtaggcataacggaaatgggtaatatccgtct
+ccagcgcattacccgcatcagagataagcggcacaccagaataaggatgccgcccaccaa
+acaagacgtgaaaaattagcaacgcaaggccaaaattatcgtgattttctgtgcgttcaa
+aaccgacaaatgatggcaaggtttgtagctctggcggcgtaaaatgcgacacgccgactt
+cgcataaatgcagtgtgccattggcgttaatttgaaaggagtcgctatcaatcagtacca
+ctttgctgtcgcgacctaccataaaactgttctggtttacgtcacccacgacgtgcccgt
+gctcgtgaaccgtagcaaaagatgaagcaatattgcgcgcaacatagagtagaaaatccc
+acgcacaatgagggtaactctggcgacgatgtgccgggctatagatcatatgaatcggtt
+ctttaccagaaacttttggcatcataaaaccgataacttttccgcctcgtccaccgtgaa
+gcgttgcctgcggccaggcgacataattcaacaactgcgcgtcagctgtcgcagccataa
+aggcaagtttgtcctgttttaaggcgggtggcggcgtgtgataaatcttggcgacgctat
+cgacaaactcctcgatatcataaaccgcgccttcaccacctttgcccagttcacggccaa
+gagtggtcaattcacctgtcgatgtaaatacttttatatttgttttcataatatttcgcg
+ggtagttatattatatttcaatgaataataacaactaaccattaaaattatttctatatg
+gggaaaacccactcaagaataaaaatgataatgcaattttatcaggatacaattcaattt
+cggcctgataatgattaacttccacaggtttttgctaactttgactacaaagggattctg
+gagaaaaaatgaaaaagatattacttatgttgagtctgctattttttactaccgcgggct
+ttagtgaagtttcggatacgttagtgacgggaggttatgataaacaagcgatgtctgacg
+cgattaaacatgcgcggaaagaaaccgataaattcatcgaggttatgaataaaaaagatg
+ccgatactttcgcagtcaaagccccgataaccgatcacggaagaaccgagcatttctggc
+ttacggatgtcacttattctaacggcatgtttattggcgtaatcagcaatgaccctggta
+ttgttacaaacgtagaatatggccaggagtggaaaatcaagaaagaagatatttcagact
+ggatgtatacgcgcggggataaaatttacggcggttataccattgatcctttattggtca
+cctatccaaaagaagaagccgacgagctaagagcaaaattagttcgctaatcagccgtta
+tatttattgtttaaactggcggttgaattgttgtcttcaaccgccatgagaaactcactc
+tgcccacagcgccagtgccaacgttttatcatcatccgtacgctcgtttaccgccgggct
+ggacaaaaactgctttaacaattcaggtaataaatcgagttgttcctgcgttgctgccgc
+cagtccattgaaaaacggggtaaagaaaggcacatgaggagaattatccagcatatttaa
+cgccagtcgctggataccatccgtaaatgctgcaactttgtgcgcacgcccagtgctggt
+gaaagtttccagtctggaaacggcatcttcgtcggtaatgaagtgcgtcatgttggcata
+ttcacccgccatcggcgtgagaggcaattgcagaccgtgacccaaatctaccaccacgcc
+gccatcgccaatctgcataatcaaggtgccgtcaggcgatgaaatcagtcccagaaatgt
+gcaggcaaaatcgcgaaccgctaattctttggcttccgcctcggcaaaaagtcgttgacg
+aatggtcagtaccatatttgtggcgaggacatcattaagccccaattccccgccctgcac
+tttttgcgacatataagccatcgcttcattgacggcgagcatcgcgccttcgccaccctg
+cgagacactgcctgcgccatcagcgacaaataccgacaataatggctgctggtcatttaa
+ccaggcaatctgcatctggcaggcatcctgacaaggcaagtccgcgctgatgtgcgacgt
+tccaacggttgatgcatagaccagacgccagctcacactgacgtccagccttttggcgct
+tccagcacaacttccgttcccggcgtggagcgggaaaccgaacgcagcgaactggataac
+cagctaaacagttcacggaattgtaatccttgcagaggcaaaggctgacgaacgctaatt
+tgtgccagcgtcttcatatccgccccctgaacaccgatggaaaagaaagcaaacctttta
+tcttcttccccccgaaacactttgttggctgcagcctgccactcatcggttggtgcacca
+tcggtaatcaggaaaatccacgggcgataatacgaaataccatttgcacgatactcacgt
+ttccgctcctctaccatatccagggctttggtaatggccgcacccattggtgtatcgccc
+tgggcaaacaggatgggcggaaaaaaattagcggcgctggtaaagggttgttccacatgc
+accgggccgaacgtcacaatgccgagttccactctttttaaagccagcggatcagcaagc
+agttcatcacgaaaggtaaccaatccggcgttaagttcattaataggtctaccgttcata
+gaaccagaaacatccagcagcaaaatgcaggggcaacgtggttccgggttactggcaaaa
+tcgctggtggcaaacgtgatttgttcgctcataagaaatcctttcttagagaattatcga
+ggtccggtatcataccgactgcaataatgaaataagagcaaacgaagaaactttcagaat
+taggcccggcggcgcagaaaattttgctattcgcctcgcaagaacggagagccgtcgatt
+gacactaagggcggagtgacataatttcaggagtgagggttagggagaggtttccccctc
+cccctggtgttcttagtaagcctggaagctaatcactaagagtatcaccagtatgatgac
+gtgcttcatcataaccctttccttattaaaagccctcttctccgggagaggctttcccgt
+ttcagcgtcccgctgaaatcatcggcttacctcctttcgccctgaatgcagtctatcgct
+aacgcgtgaataaaatagtttcctctgtgattattgcgtaacgactcgcaaagaatattt
+gctggcaggatcgcagactacaaagcctgcggattgacaatcttatcgtgaaggcatact
+ttcaggagtgagggtagagcggggtttcccccgccctggtagtcttagtaagcggggaag
+cttatgactaagagcaccacgatgatgagtagcttcatcatgaccctttccttatttatg
+gccccttcctcgggaggggctttcccgtttcagcgtcccgctgaaatcgtcggcttacct
+cctttcgccatgcaagcagtctatcgctaacgcgtagataaaatagtttcctgtgttatt
+actggatgcgtgctcgcaaatgtgcccgtcattcagacgattccagacagtgtttcataa
+ttcctccatttttctcccttattggctggctacactagtatcattccgcgaaacgtttca
+ggaagagaaactcttaacgatgaaaggtagttataaatcccgttgggtaatcgtaatcgt
+ggtggttatcgccgccatcgccgcattctggttctggcaaggccgcaatgactcccggag
+tgcagccccaggggcgacgaaacaagcgcagcaatcgccagcgggtggtcgacgtggtat
+gcgttccggcccattagccccggttcaggcggcgaccgccgtagaacaggcagttccgcg
+ttacctcaccgggcttggcaccattaccgccgctaataccgttacggtgcgcagccgcgt
+ggacggccaactgatagcgttacatttccaggaaggccagcaggtcaaagcaggcgattt
+actggcagaaattgaccccagccagttcaaagttgcattagcacaagcccagggccaact
+ggcaaaagataaagccacgcttgccaacgcccgccgtgacctggcgcgttatcaacaact
+ggcaaaaaccaatctcgtttcccgccaggagctggatgcccaacaggcgctggtcagtga
+aaccgaaggcaccattaaggctgatgaagcaagcgttgccagcgcgcagctgcaactcga
+ctggagccggattaccgcaccagtcgatggtcgcgttggtctcaagcaggttgatgttgg
+taaccaaatctccagtggtgataccaccgggatcgtggtgatcacccagacgcatcctat
+cgatttagtctttaccctgccggaaagcgatatcgctaccgtagtgcaggcgcagaaagc
+cggaaaaccgctggtggtagaagcctgggatcgcaccaactcgaagaaattaagtgaagg
+cacgctgttaagtctagataaccaaatcgatgccactaccggtacgattaaagtgaaagc
+acgctttaataatcaggatgatgcgctgtttcccaatcagtttgttaacgcgcgcatgtt
+agtcgacaccgaacaaaacgccgtagtgatcccaacagccgccctgcaaatgggcaatga
+aggccattttgtctgggtgctgaatagcgaaaacaaggtcagcaaacatctggtgacgcc
+gggcattcaggacagtcagaaagtggtgatccgtgcaggtatttctgcgggcgatcgcgt
+ggtgacagacggcattgatcgcctgaccgaaggggcgaaagtggaagtggtggaagccca
+gagcgccactactccggaagagaaagccaccagccgcgaatacgcgaaaaaaggagcacg
+ctcctgatgcaggtgttacccccgagcagcacaggcggcccgtcgcgcctgtttattatg
+cgtcctgtggccaccacgctgctgatggtggcgatcttactcgccgggattatcggttat
+cgcgccctgcccgtttcggcgctgccggaagtggactatccgaccattcaggtggtcacg
+ctctacccaggtgccagcccggatgtcatgacctctgccgttaccgcgccgctagaacgc
+cagttcgggcagatgtctggcctgaaacagatgtcgtcgcaaagttccggcggtgcgtca
+gttatcactttgcagttccagctaacattaccgctcgatgtcgccgagcaggaagtgcag
+gccgcgattaacgctgcgaccaacttgttgccgagcgatctgcctaacccgccggtttac
+agcaaagtgaacccggcagatccgccgatcatgacgctcgccgtcacctcaaccgccatg
+ccgatgacgcaagtggaagatatggtggaaacccgcgtcgcgcagaaaatctcgcagatt
+tccggcgtcggcctggtgacgctttccggcggtcagcgtccggctgttcgcgtcaaactt
+aacgctcaggcgattgccgccctcggcctgaccagcgaaaccgtgcgcaccgccattacc
+ggcgctaacgttaactcggcaaaaggtagcctcgacggcccttcccgtgcggtcacgctt
+tccgcgaacgaccagatgcaatccgccgaagagtatcgccagctaatcatcgcctaccag
+aacggcgcgccaattcgtctgggcgatgtcgcaactgtagagcaaggtgcagaaaacagc
+tggctcggcgcgtgggcgaacaaagaacaggccattgtgatgaatgttcagcgccagccc
+ggtgctaacattatctccaccgccgacagcattcggcagatgctgccacagctcactgag
+agtctgccgaaatcggtgaaggtgacagtgctttccgatcgcaccaccaatatccgcgca
+tccgtcgatgatactcagtttgaattgatgatggctatcgcgctggtagtcatgattatc
+tacctgtttttgcgcaatattccggcgaccatcattcccggtgttgctgtaccgctgtcg
+ttaatcggcactttcgcggttatggtgtttctcgatttttcaatcaataacctgacactg
+atggcgttaactatcgccaccggattcgtggtcgatgacgccatcgtggtgatcgaaaac
+atttcccgctatatcgaaaaaggcgaaaaaccgttggcggcggcgctcaagggcgcaggt
+gaaatcggctttaccattatctcgctgaccttctcactgattgcggtgttgatcccactg
+ctgtttatgggcgatatcgtcgggcgactgttccgcgaatttgctattaccctggcggta
+gcgattttgatctcagcggtggtgtcgctgaccctgacaccgatgatgtgcgcgcggatg
+ctcagccaggagtcgttgcgtaaacagaaccgcttctcccgtgcctcggaaaaaatgttc
+gacaggataatcgccgcctatggtcgtggactggcgaaagtgctgaatcatccgtggctg
+accttaagcgtggcactcagcacgctgctgcttagcgtgctgctgtgggtgttcattccg
+aaaggtttcttcccggtacaggacaatggcattattcagggcactttgcaggcaccgcaa
+tccagctcctttgccaatatggcccagcgacaacgccaggtcgcggacgtgattttgcag
+gatccggcagtgcaaagcctgacctcatttgttggcgttgatggcactaacccgtcgctg
+aacagtgcacgtttacaaatcaacctcaaaccgttggatgaacgtgatgatcgggtgcaa
+aaagtcatcgcccgtctgcaaacggcggtagataaagtgccgggcgtcgatctcttcctg
+caaccaacgcaggatctgactattgatactcaggtcagccgcacccagtaccagtttacc
+ttgcaggccacgtcactggatgcgctcagtacctgggtgccacagttgatggaaaaactc
+cagcaactgccacagctttctgatgtctccagcgactggcaggacaaagggctggtggcg
+tatgtcaatgttgatcgcgacagcgccagccgtctggggatcagcatggcggatgtcgat
+aacgccctgtacaacgcgtttggtcagcggctgatttccactatttatactcaggccaac
+cagtatcgcgtggtgctggagcacaacaccgaaaataccccaggcctcgcggcgctggat
+accattcgcctgaccagcagcgacggcggcgtggtgccgctaagctcaattgccaaaatt
+gagcagcgttttgcgccgctctccatcaaccatctggatcagttcccggtaacgaccatc
+tcctttaacgtgccggataactattcgctgggcgatgcggtgcaggcgattatggacacc
+gaaaagacgctgaatctgccggtggatatcaccacgcagttccagggcagcaccctcgcc
+ttccagtcggcgctgggcagcactgtctggctgattgtcgcggcggtggtggcgatgtat
+atcgtgctcggcattctgtacgagagctttattcacccgatcaccattctctcgacgcta
+cccaccgcaggggttggcgcactgctggcgttgctgattgctggtagcgaactggatgtg
+attgcgattatcggcattattttgctgatcggtatcgtgaagaagaacgccatcatgatg
+atcgacttcgcgctggctgctgagcgcgagcaaggcatgtcgccgcgcgaggcaatctac
+caggcttgtctgttgcgttttcgtccgatcctgatgaccactctggcggctctgcttggc
+gcgctgccgctgatgttgagtaccggggtcggcgcggaactgcgtcgtccgttaggtatc
+ggcatggtcggcggtctgattgtcagccaggtgctgacgctgtttaccacgccggtgatt
+tatttgctgttcgaccgcctggcattgtggaccaaaagccgctttgcccgtcatgaagag
+gaggcgtaagtgaagttttttgccctcttcatttaccgcccggtggcgacgattttactg
+tcggttgccattaccctgtgcggcatactgggcttccgtatgctgccggtcgccccgctg
+ccgcaggtcgattttccggtgattatcgtcagcgcctcgctgcccggtgcgtcaccagaa
+acaatggcgtcttccgttgccacgccgctggagcgctcacttgggcgcattgccggagtc
+agtgaaatgacctccagcagttcgctcggcagcacgcgtattattttgcagtttgatttt
+gaccgggatatcaacggcgcagcgcgtgatgtgcaggcggcgatcaacgctgcacaaagt
+ttgctgcccagtgggatgcccagccgcccgacctatcgcaaagcgaacccgtcggatgcg
+ccaattatgatcctcacgctgacgtccgatacttattcgcagggtgaactgtacgatttc
+gcctcgacgcagctggctccgacgatttcgcaaatcgacggtgttggtgatgtcgatgtc
+ggaggcagctcactgcccgccgtacgcgtcgggctgaatccgcaggcgctgtttaatcag
+ggcgtgtcgctggacgacgtacgcaccgccgtcagcaatgccaacgtgcgtaaaccgcag
+ggcgcgctggaagatggcactcaccgctggcagatccagaccaatgatgagctaaaaacc
+gccgctgaatatcagccgttgattattcactacaacaacggcggcgcggttcgtctgggc
+gatgtggcgacggtgaccgactcagtgcaggatgtgcgcaacgccgggatgaccaacgcc
+aaaccggctattttactgatgatccgcaaactgccggaagccaatattatccagacggtt
+gacagcatccgggcaaaattaccggagttgcaggaaaccattccggcggcgattgatctg
+caaattgcccaggatcgctcccccaccattcgcgcctcgctggaagaagtcgagcaaacg
+ctgattatctcggtggcgctggtgattctggtggtgtttttattcctgcgctcgggtcgc
+gccactattattcccgccgtttcggtgccggtttcgctgattggtacgtttgcggcgatg
+tacctgtgcggattcagtctcaataacctttcgttaatggcgctcaccatcgctactggt
+ttcgtggtggatgacgccatcgtggtgctggaaaacattgcacgtcatctggaagcggga
+atgaaaccgttgcaagccgcactgcaaggtactcgcgaagtcggttttacggtgctgtcg
+atgagtctgtcactggtggcggtgttcctgccgctgctgttgatgggcggattgccgggc
+cgactgttacgcgaatttgccgtgacgctttctgtcgccattggtatatcgttgctggtt
+tctctgacattaacgccaatgatgtgtggctggatgctgaaagccagcaagccgcgcgag
+caaaagcgactgcgtggttttggtcgcatgttggtagccctgcaacaaggctacggcaag
+tcactaaaatgggtgctcaatcatacccgtctggtgggcgtggtgctgcttggcaccatt
+gcgctgaatatctggctgtatatctcgatcccgaaaaccttcttcccggagcaggacact
+ggcgtgttgatgggcgggattcaggcggatcagagtatttcgtttcaggcgatgcgcggt
+aagttgcaggatttcatgaaaattatccgtgacgatccggcagtggataatgtcaccggc
+tttacaggcggttcgcgagtgaacagcgggatgatgtttatcaccctcaagccacgcgac
+gaacgcagcgaaacggcgcagcaaattatcgaccgtctgcgcgtaaaactggcgaaagaa
+ccgggggcgaatctgttcctgatggcggtacaggatattcgcgttggtgggcgtcagtcg
+aacgccagctaccagtacacgttgttatccgacgacctggcggcactgcgagaatgggag
+ccgaaaatccgcaaaaaactggcgacgttgccggaactggcggacgtgaactccgatcag
+caggataacggcgcggagatgaatctggtttacgaccgcgacaccatggcacggctggga
+atcgacgtacaagccgccaacagtctgttaaataacgccttcggtcagcggcaaatctcg
+accatttaccagccgatgaaccagtataaagtggtgatggaagtggatccgcgctatacc
+caggacatcagtgcgctggaaaaaatgttcgttatcaataacgaaggcaaagcgatcccg
+ctgtcgtatttcgctaaatggcaaccggcgaatgccccactatcggtgaatcatcaggga
+ttatcggcggcctcgaccatttcgtttaacctgccgaccggaaaatcgctctcggacgcc
+agtgcggcgatcgatcgcgcaatgacccagcttggtgtgccttcgacggtgcgcggcagt
+tttgccggcacggcgcaggtgttccaggagacgatgaactcgcaggtgatcctgattatc
+gccgccatcgccacggtgtatatcgtgctgggtatcctttacgagagttacgtacatccg
+ctgacgattctctccaccctgccctcggcgggcgttggagcgctgttggcgctggagctg
+ttcaatgccccgttcagcctaatcgccctgatagggatcatgctattaatcggcatcgtg
+aagaaaaacgccattatgatggtcgattttgcgcttgaagcccaacggcacggtaacctg
+acgccgcaggaagctattttccaggcctgtctgctgcgttttcgcccgattatgatgact
+accctggcggcgctgtttggtgcgctgccgctggtattgtcgggcggcgacggctcggag
+ctgcggcaacccctggggatcaccattgtcggcggactggtaatgagccagctccttacg
+ctgtataccacgccggtggtgtatctctttttcgaccgtctgcggctgcgtttttcgcgt
+aaacctaaacaaacggtaaccgagtaaatgacagatcttcccgacagcacccgttggcaa
+ttgtggattgtggctttcggcttctttatgcagtcgctggacaccaccatcgtaaacacc
+gcccttccctcaatggcgcaaagcctcggggaaagtccgttgcatatgcacatggtcatt
+gtctcttatgtgctgaccgtggcggtgatgctgcccgccagcggctggctggcggacaaa
+gtcggcgtgcgcaatattttctttaccgccatcgtgctgtttactctcggttcactgttt
+tgcgcgctttccggcacgctgaacgaactgttgctggcacgcgcgttacagggcgttggc
+ggcgcgatgatggtgccggtcggcagattgacggtgatgaaaatcgtaccgcgcgagcaa
+tatatggcggcgatgacctttgtcacgttacccggtcaggtcggtccgctgctcggtccg
+gcgctcggcggtctgctggtggagtacgcatcgtggcactggatctttttgatcaacatt
+ccggtggggattatcggtgcgatcgccacattgctgttaatgccgaactacaccatgcag
+acgcggcgctttgatctctccggatttttattgctggcggttggcatggcggtattaacc
+ctggcgctggacggcagtaaaggtacaggtttatcgccgctgacgattgcaggcctggtc
+gcagttggcgtggtggcactggtgctttatctgctgcacgccagaaataacaaccgtgcc
+ctgttcagtctgaaactgttccgtactcgtaccttttcgctgggcctggcggggagcttt
+gccggacgtattggcagtggcatgttgccctttatgacaccggttttcctgcaaattggc
+ctcggtttctcgccgtttcatgccggactgatgatgatcccgatggtgcttggcagcatg
+ggaatgaagcgaattgtggtacaggtggtgaatcgctttggttatcgtcgggtactggta
+gcgaccacgctgggtctgtcgctggtcaccctgttgtttatgactaccgccctgctgggc
+tggtactacgttttgccgttcgtcctgtttttacaagggatggtcaactcgacgcgtttc
+tcctccatgaacaccctgacgctgaaagatctcccggacaatctggcgagcagcggcaac
+agcctgctgtcgatgattatgcaattgtcgatgagtatcggcgtcactatcgccgggctg
+ttgctgggactttttggttcacagcatgtcagcgtcgacagcggcaccacacaaaccgtc
+tttatgtacacctggcttagcatggcgttgatcatcgcccttccggcgttcatctttgcc
+agagtgccgaacgatacgcatcaaaatgtagctatttcgcggcgaaaaaggagcgcgcaa
+tgaagttctggcgacccggtattaccggcaaactgtttctggcgattttcgccacctgca
+ttgtcttgctgatcagtatgcactgggcggtgcgtatcagttttgagcgtggctttattg
+attacatcaagcatggtaatgaacagcgattacaactgttaagtgatgcgcttggcgagc
+agtatgcgcagcatggcaactggcgcttcctgcgcaacaatgatcgctttgtctttcaga
+tcctgcgttcatttgaacacgataattcggaagataaacccggcccgggtatgccaccgc
+acggctggcgtacccagttctgggtggttgatcaaaacaacaaagtgctggttggtccgc
+gagcgccgattccacctgacggtacacggcgacccattctggtcaacggtgcggaagttg
+gcgcggtgatcgcctcccccgttgagcggttaacgcgcaatactgatatcaatttcgata
+aacaacagcggcaaaccagctggttgattgtcgccctggcaacgttactcgcggcacttg
+ccacttttctgctggcgcgcggtttactggcaccggtaaaacgacttgtcgatggcacgc
+acaaactggcggcgggcgatttcactacccgcgtaacgcccaccagtgaagatgaactgg
+gcaaactggcgcaagacttcaaccagcttgccagcacactggagaaaaaccagcaaatgc
+ggcgcgattttatggccgatatttctcacgaactgcgtacgccattagcggtgctgcgcg
+gtgaactggaagccattcaggatggcgtgcgtaaattcacgccggagacggtggcgtctt
+tacaggcggaggtcggtacactgaccaaactggttgacgatctccatcagttgtcgatgt
+ctgatgaaggcgctctcgcctatcaaaaagcaccggtagatttgatcccactgctggaag
+tggcgggcggcgcatttcgcgaacgattcgccagtcgtggcctgaaactgcaattttccc
+tgccagacagtattaccgtatttggcgatcgcgaccgtttaatgcagttattcaataact
+tactggaaaacagcctgcgctacactgacagcggcggcagcctgcaaatctctgccgggc
+agcgcgacaaaacggtgcgcctgacctttgccgacagtgcgccaggtgtcagtgacgatc
+agctacaaaaattgtttgaacgtttttatcgcaccgaaggttcccgcaaccgtgccagcg
+gcggttccgggctggggctggcgatttgcctgaacattgttgaagcacataatggtcgca
+ttattgctgcccattcgccttttggcggggtaagcattacagtagagttaccgctggaac
+gggatttacagagagaagtatgaccgagttaccaatcgacgaaaacacaccgcgtatttt
+gatcgtggaagatgaaccgaagctggggcagttgctcattgattatctgcgtgctgcgag
+ctatgcgccgacgcttatcagccacggcgatcaggtactgccgtatgtgcgccagacacc
+accggatctgatcctgttagatctgatgctccctggcaccgatggcctgacgctgtgccg
+ggaaattcgtcgtttttctgacattccgatcgtgatggtgacggcaaaaatcgaagagat
+cgatcgcctgctggggctggagattggcgcagatgattatatctgtaagccgtacagccc
+acgggaagtggtagcgcgcgtcaaaaccattttgcgccgttgcaaaccgcagcgcgagtt
+gcagcaacaggatgctgaaagcccgttgattatcgacgaaggtcgttttcaggcttcatg
+gcgcggtaaaatgcttgacctgacgcctgcggaatttcgtctgctgaaaacgctctctca
+cgaaccaggaaaagtgttctcccgcgagcaattgctcaatcatctttatgacgactaccg
+cgtagtaaccgaccgcaccatcgacagccacattaaaaacctgcgccgcaagctggaatc
+tctcgacgccgaacagtcatttatccgcgccgtttatggcgtcggttaccgctgggaagc
+cgacgcctgccgcatcgtttagttttagcgacattattttgttagccggagatggcgttc
+agaccagatccggcaacattatcccacgcatggtcagcaaactgacattatctctccgcc
+ctggcaggcatcagaaaatcgctcatactttaatcggtaaacagcacctttagatgctgt
+tttcgatacacaatttcaatcaaggagtcattatggctggttggtttgaactcagtaaga
+gcagtgataatcagttccggtttgtgctaaaagcgggcaatggtgagactatcctcacca
+gcgagctttatacctcaaaaacctctgcggaaaagggcatcgcgtcggtgcgtagcaaca
+gcccgcaagaagaacgctatgagaaaaaaacggcaagtaacggcaaattctatttcaatc
+tgaaagccgctaatcatcaaattatcggctccagccagatgtacgccaccgcgcaatctc
+gtgaaaccggaattgcctccgttaaagccaatggcacaagccagacggtgaaagacaata
+cgtaattacgatgccgggcgtgggttgttggcgtccggcgctttaccagagccccccaca
+gcgctacaatgcccgcccttaaagtgggggcactcccctaaccgcttcatcaggtgaagc
+ggatctgacctgtcatcagaacgagagaattatgtttaaaccggaactcctttccccggc
+gggaacgctgaaaaatatgcgttacgctttcgcttatggcgcagatgctgtttatgcggg
+ccagccgcgttattccctgcgtgtgcgcaacaacgaattcaaccacgaaaatcttcagct
+cggcatcaatgaagcccacgcgctggggaaaaagttttatgtcgtggtcaacattgcacc
+gcacaacgccaagctgaaaacctttatccgtgacctgaaaccggtggtggaaatggggcc
+ggatgcgctgattatgtccgatccagggctgattatgctggtgcgtgagcacttccctga
+aatgccgatccacctttcggtgcaggctaacgccgtgaactgggcgacggtgaaattctg
+gcagcaaatgggcctgacccgcgtgatcctctctcgcgagctgtcgctggaagagattga
+agagatccgcaatcaggtgccggatatggagatcgagatcttcgttcacggcgcgctgtg
+catggcctactccggtcgctgcctgctctctggctatatcaacaagcgcgacccgaacca
+gggcacctgcaccaacgcctgccgctgggagtacaacgtccaggaagggaaagaagatga
+tgttggcaacatcgtacacaagtacgagccgattccggtgcaaaatgttgagccgacgct
+gggtatcggcgcaccaaccgacaaagtgtttatgatcgaagaggcccagcgtccgggcga
+gtatatgaccgcgtttgaagatgagcacggcacttacatcatgaactcgaaagatctgcg
+cgccatcgcccatgtagaacgcctgaccaaaatgggcgtgcattcgctgaaaatcgaagg
+tcgtaccaaatctttctactattgtgcacgcaccgcacaggtttaccgcaaagctatcga
+tgacgccgctgcgggaaaaccgttcgataccagcctgctggaaactctggaaggtctggc
+gcatcgtggctataccgaaggtttcctgcgtcgtcatactcacgacgattatcagaacta
+cgaatacggttattcagtttctgaccgccagcagtttgttggtgagtttaccggtgagcg
+caagggggacctcgcggcggtagcggtgaaaaataaattctccgttggcgacagccttga
+gctgatgacgccgcaaggcaacattaattttacccttgagcacatggaaaacgccaaagg
+cgaagctatgccgatagcaccaggcgatggttatactgtgtggctcccggtcccgcagga
+tcttgagctcaattacgcgctgctgatgcgtaatttctccggggaaaccacgcgtaatcc
+ccacggtaagtgattaatttcgattatttttcccggatggaaaattcttagaaaccgatc
+acatacagctgcatttattaaggttatcatccgtttcgctgaaaaacataacccataaaa
+tgctagctgtaccaggaaccacctccttagcctgtgtaatctcccttacacgggcttatt
+ttttacgcgtaatacaatgaaataaaaggatttatttctggtcacgtccacacattgacc
+acatcgacaaaaaagcccctcgactgaggggcttcctgtttctaattacatccacataat
+ttgctgccctgacggcaacgggtgcggccttacgacgtggacttctcccggcttcacaat
+gtatcgctgtaccgactcataagtgatgaacgtggcgctgcaattcacgttctgacactg
+gtgataacgctcttttgtcgtgtcagtgatatagcggcttgtacgcgcatgtgcggcatg
+ctggcataaaggacaatgaaacatcgcgagcacctcttccggttttgttgatggtgccat
+tttagttaatttacccttacaaaacaaacagataaaataaaaacatcactcattatcttc
+tgtttcgtaccccacatcagaaagcctgacctcaagctctaatgacgtcgtgaagccgct
+attattcagaaaatgtgtcaccttagtgattgtccagtcctgctcgtctatgacgcgctt
+aaagccagacactttgaccggtgtttccgtgtaaatatctgcccgaccggtagccaggct
+gatggagaactctgctacacgggcttatttttttatgcataagccctatctctggtaacc
+gtcttccattgaccacatcgatagaatcctccttcatagcacgatgcctttcacttatcg
+gcatcgtgctcccacaggttccggctacgcacagccagaacgcgcatatttgacgcttac
+caaaaaatattctcactctccacatttgaatgtcagacgagcgacaccatgtaatcctac
+accttctgtcttcagctcaactatttgcatttttttgccctgagtaacacagaaatgagt
+tgcatcattttttactatattttctgcaccagatattctacccctggctaaagaagcttc
+ggcttcggtgtagtattggttatcgagtttacgctgaatattacttttatatgcaagacc
+aaatttaccgatacttgtctcatcattatgcacagcacaaccagacataataaaaatact
+aattaatgatatagcagctatctttttcatctcaccttcccccattaaataccaacgaca
+ctctctagtgtttaaatataataatggcatgattattataattgaataggattataataa
+atgttctgtacaacatttcctacataagtaggaattacggacattgaggcccttcagggt
+aactccatgggggctttaatatattatattgaagatgccactgtttagttgaatattagg
+tatatgctcttttttgaaatttatcggtggcagccgttagtattcgctgtccccattgca
+agctcctggtggtaaccactgaatcctccatacttgaactgactttttatcctccgactt
+tcatcctgttctgactccaccttttgttttctgctctacactatctacagaccaatcata
+aaggcacatacgatcatggcagaatttcccgccagcttactgattcttaatggcaaaagt
+actgacaatctacccttgcgcgaagcaattatgctgttgcgtgaggaaggaatgacgatc
+catgtgcgggtcacctgggagaaaggcgatgccgcacgatatgtagaggaggcccggaag
+tttggcgtcgcaacggtgattgccggtggtggcgatggcaccattaatgaagtttctacg
+gcgttgattcagtgtgagggggatgacatacccgcgctgggaattttgccattaggaacc
+gccaatgattttgccaccagtgtagggattcctgaggcactggataaggcgctgaaactg
+gcaattgccggtgacgccattgcgatagatatggcgcaggtcaacaaacaaacctgtttt
+attaatatggcgacaggcggatttgggacgcgtattaccacagaaacgccggaaaaatta
+aaagccgcgctgggtagcgtctcttacatcattcatggcttaatgcgtatggatactctg
+caaccggaccgttgtgaaatccgcggtgaaaactttcactggcaaggtgacgccctggtc
+attggtattggtaacgggcgtcaggccggtggcggtcagcaattgtgtccgaacgcgtta
+attaacgatggcttgctgcaactgcgcatttttaccggcgatgaaatacttccggctctc
+gtatcaaccttaaaatctgacgaagataacccgaatattatcgaaggcgcttcgtcgtgg
+tttgatattcaggcaccacacgacatcacctttaatcttgatggcgaaccgttgagtggg
+caaaattttcatattgaaatacttccggcagcgttgcgttgtcgattaccaccagattgt
+ccactgttgcgttaatcaaactattctctcttgaaccagggagaatccgtaatgccggat
+gcggtgtaaacaccttatccggcatacagaacaatactacaccgtaattaattttacccg
+cgtcttctgcaatgccagtttatccacctctgacacagcatcatcggtaataataatgtc
+aattttttcgattggtagtacctgattaaaaccgcgacggttaaatttcgatgaatcgag
+aacggcaatcactttattagcggctgtgaccatcgcaccgctaatagaataaccttcatt
+aaaggtcgtaataccattaaccgcatcaataccatcagcaccgacaaacattaaatcggc
+attaatatcctgtaatgaacgctcggcaatggaaccatgcatcgagcgcgttttatggcg
+gaccgtgccaccacagacgaccagagtaatgtctttattttcggaaagggcaaacgctgc
+cgggagactgttggtaatcaccgtgatatttttggcggtcattaatccttcggcgataag
+cattgtcgtacttccgctgtcgagaataacggtctgatcttacccagcaatagtggacac
+gcggctaagtgagtaaactctcagtcagaggtgactcacatgacaaaaacagtatcaacc
+agtaaaaaaccccgtaaacagcattcgcctgaatttcgcagtgaagccctgaagcttgct
+gaacgcatcggtgttactgccgcagcccgtgaactcagcctgtatgaatcacaactctac
+aactggcgcagtaaacagcaaaatcagcagacgtcttctgaacgtgaactggagatgtct
+accgagattgcacgtctcaaacgccagctggcagaacgggatgaagagctggctatcctc
+caaaaggccgcgacatacttcgcgaagcgcctgaaatgaagtatgtctttattgaaaaac
+atcaggctgagttcagcatcaaagcaatgtgccgcgtgctccgggtggcccgcagcggct
+ggtatacgtggtgtcagcggcggacaaggataagcacgcgtcagcagttccgccaacact
+gcgacagcgttgtcctcgcggcttttacccggtcaaaacagcgttacggtgccccacgcc
+tgacggatgaactgcgtgctcagggttacccctttaacgtaaaaaccgtggcggcaagcc
+tgcgccgtcagggactgagggcaaaggcctcccggaagttcagcccggtcagctaccgcg
+cacacggcctgcctgtgtcagaaaatctgttggagcaggatttttacgccagtggcccga
+accagaagtgggcaggagacatcacgtacttacgtacagatgaaggctggctgtatctgg
+cagtggtcattgacctgtggtcacgtgccgttattggctggtcaatgtcgccacgcatga
+cggcgcaactggcctgcgatgccctgcagatggcgctgtggcggcgtaagaggccccgga
+acgttatcgttcacacggaccgtggaggccagtactgttcagcagattatcaggcgcaac
+tgaagcggcataatctgcgtggaagtatgagcgcaaaaggttgctgctacgataatgcct
+gcgtggaaagcttctttcattcgctgaaagtggaatgtatccatggagaacactttatca
+gccgggaaataatgcgggcaacggtgtttaattatatcgaatgtgattacaatcggtggc
+ggcggcacagttggtgtggcggcctcagtccggaacaatttgaaaacaagaacctcgctt
+aggcctgtgtccatattacgtgggtaggatcagtcatcccttcgtggatcattttgactg
+ccgcctgcgctattctgttttttggcgcgctggcgagctgaaatcgctctttaaacccga
+cttcctgggtctcggtttcactattaccagacattattttcgccgcaccgccatgaaagc
+gcgtaaccacgcctttttgttcgagaaagcgcaaatcggcacggattgtcgcttccgagg
+cagcaaatactcccgccagatcctgaacaagcacggttccctgttcattcactaattgga
+tgatcttattccttcgctcgaatgaattcatcgtcatttacccatattcaattgtggcta
+gtgtaaacgaagggggaccattggtgaatgatctgttttgcacaataccgggccagcatc
+acgctggcccgcggtttcagggaatgagcaacactttgcccggcatagcattacgagcga
+tgtcacgcaccgcctgggcgaagctttcaaagcttccacggtgagcgattaatggctcca
+ggcttaacttacgttctgtcagcaaccggctcgccgtttcccactcctgccccggccaag
+ggctggagtagttcatccaactgccgataaccgtcagctctttacgcaatattttgccaa
+acgttgccgatgttaaatgcagatcctgatgcaacgtgcccaccagcgccagttgggcat
+gaggaccggcaatctctaccgccagttcgacagtttgcggtacgccagccgtctcgagga
+taagctgattaaagcgcagttcgcgtaaaacgctctgcatttgcggcgcgctcatttcgc
+tactgttaaatgtttgcatcgcaccgaaagattttgccagtgccagtttttctgaactaa
+tgtcgatcgccgtcacactctttgctcccagcgcgacagcgcactgaatggccagcaggc
+caatggttccggcaccaataataataacgtttttattctcacaaccttgcgctaaatgaa
+aagcatgcagaccaacggtaatcggctcaataaaagccccatcctcaataggcatatccg
+tgggtagagcaaagacattttttcgcttaacgacaatatattcagcaaatccaccatcac
+gccgcgagccaataaaatcatattttgcgcactgggaataaaaccctttcagacactctg
+gacaagtaaaacagggtaataacggcacacaggcaaccgcatcgccagggtgtaaatcat
+caacaccggatcccaccgcatcaatatagccgctaaattcatggcctaacgttattggat
+aataatgtgcaccatttttaaatatcctgggtaaatcggaaccacataagcccgagctgg
+caatttttacccgcacctcatcctgatgtttaatttcaggaatgacgctttctgcaacgc
+gcacgataccatcagtatcattcaccactgatttcataaaaactcctgattgttaagggg
+gataacctccccctcaggtaaaaattattctgcgagaacgactttctcttgtttaataaa
+gccacgcgctctacgccaggtcatgaaaataccggtcagataaattgcaccgataataat
+gaaaccgggaatattttgcggggagaaaacctgaatcagtaaccaggtaatgggagaacc
+gccctgatccattgaagccaccatacccccggcttttaacgccccagcattagccgccag
+ttgggtgtgcaaaccaatagtttgcgtcgcgatccacagggtgatgctcataatgatgac
+acccgagattaaggtgcggaacagatttccacgatgcacggcgaccgccatcgccacgaa
+gaagccgatggtggcaagatcgccaaacggcagcacctgattacccggcacacaaacagc
+aattaaaatggtgagtgggataaaaatcaggcttgccgataccaccgccgtatgtcccag
+cagcaacgccggatcaaggccaatcaggaactcctgaccgccgaacttcgcctgtaaacg
+actacgagcctgcttagcgatgggcgttaaaccatccatgatgggtttaatcacccgtgg
+cattagcagcatcactgccgccgtttttaccgccagctgcaatacacctttgacatcgta
+acccgcgaggatgccgataatcagccccatcacaaaacccacggtgacaggctcgccaaa
+tggaccaaatttgcgctgaatatcgtcggcgctaaatttaattcggttaacgcctgggat
+tttctcgatgatagcatcgaccagcaccgcaatcggccccatatacgccgacgtaccgtg
+cggaatagcaataccttccagctcaaagaaatttcgggtatcgcgggcaaaccagtcgcc
+gagcttataaacaaacgccgcgtgaattaccacacctgccatccctatcatccatgaacc
+ggttgccagatgcagcaacgcgccggtgaaggtcatatgccagatattccagatatcaac
+atttaccacccgcgtcatacgggtcagtaacatcgccacgttaaccagaatcgcaatcgg
+aatcgccaccagcgcaatttgcgacgcccaggtcattggtgaagagcccggccagccaac
+atcgaccacatgcagattcaggtcgaaattttccgccatcgctttcgccgccgggccaat
+ggaatccagcattaagccaatcacaaggccaatgccaacaaagccaatcccgatatgcag
+acccgctttaaagcaatcgcctgccttcatgcctaatattttagaaaaaataatgatgac
+aatcggcagcatcaccgtagggccgaggtcgagaatataacgcatgacttctgaaaacat
+aggtcacccctgtaagatagtcagaattttattttgtaatgcttcgataccgataccaga
+aataaaaggcatgccgtgaactaacggaatatcgccaaaactacgatccactttggcagt
+ggtgcatatcaaatgcacaccatccatataggtttctatttcattaacccgacactggat
+taattcaacaggaatattatgattctgacacaactctttaatttcttccgccgccatcgt
+agaggtcgcaaccgcgcctccgcaagcgacaataatcttgcgtttcataaatagtccttt
+ttattgttacagagggatttattcgtctgaatctaaaacatactttgtgaagtattcctt
+taactgggtttcaggaagagtgattagtgtctcgacgatatcgggctgttgtaacttgcc
+aaataaacagcgtaaaagtttcaattgctgctgcggattttccacaatcaacgcaataac
+caacgataccgccacgtcgttatcatcatccgcttgctgaaaatgaactttatttgttgg
+ccttaacagataaatggctgacgacttagcatgaatcgcctcacaatgcggtattgcaat
+agcgtgctgctcaagcattatcccggtagggaattctgcttctctggcaattaatgcctg
+tggccaggtatcatgaaccacacctttggcgagcatctcattaccgatatgggttaaaac
+ttcgctacgatcgacaaaagaaattccgctacgaacaaacaggttagtcatataccgtcc
+ttattccgcacagccgtagcgataggcgcgcaaaacatcataaattttatccataatcag
+ctgatgcggtattgctgataattccccggactgaatgcgttcaaattgtttgggaagata
+ctgactaatcatgcccagtgggatgtccacgccttcaagattcaccatcatcgtttcgac
+gctatttttaatccgactatgcggccagtaataacgaatacgatccgacaggctgtaacg
+aatatccagtaatgaatcgttaaaacccgtacgataatattttttccagtattgcggttc
+gtcgagcatcacttcttcaattaccgccaggcaaccgctgcgattttcaggggcgataag
+ttcctgctcaatttgtgccagtgcaaatatcgcctcgcgtaaagcaaaggttaatgcggg
+accgactttcaatattgcaaagtgatcgcggactaattcccaataagccgtccgggtctg
+gtaatcggtagaatgtgcttcataaaccattcgggtgttttctatccattgcgccagcgg
+ctgcgcttcctgcggctgataatggataatattgctgtgatcaaattccacacccggctg
+caccacgatggcaatcacacgtgttaacgcctctgtcagcccacgggcaataaaggcctt
+ttgatgcgtacgtaaagtattggcggcatcttcaacatgggtgatgtgtactgactgaat
+ggcgctggcctcaccgcccggaaccggaacttcggtgccaatgacatagctcagttgctc
+acgctggcaatctgtcgccacactttccgcagcaaagcaaagcacagcagctcgttccgc
+aaccgtttctggtgctaacggtatgggatcccccgcgcaggacattgacgcatcaagatg
+aattttactgaagccggcacgaacatattcctttaccagctcgacggatttttccatcgc
+cgcatccgcattttcttgctgccagcagtttggccccagatgatcgccgccgagaataat
+gcgttcgcgtgcaaacccaactttatcggcaatcgtaaaaacaaattcgcgaaagtctgc
+cggtgtcattccggtataaccgccaaattgattgacctggtttgacgttgcttcaatcag
+cactttgcgcgtgctgttgcgatcaaatgccagcgccgcttcgataaccaacggatgggc
+agaacagactgaacatatgccgatatgttcaccagctttatgccgggcaattaacgtttt
+catgttttttccttgttaaatggcaggtgcgttatgccctgccctcgcagccacaatcgg
+caatcactttgctcaccacatcgcgcattgcggatttagccgactgcaaataatcccggg
+gatcggtcgcttcagggtgctcggtcaggtaattttttaacgcctgcgagaaggcatttt
+tcagctccgttgcaacgttgattttgcatatccccagtttgatggtttgctgaatatcct
+tagtcgataaccctgacgcgccatgcagcaccagcggtaagttcacccactggcgaatgt
+tctccagtctagaaaaatcaagcgccggtgcgctggcatacatcccatgagccgtgccga
+tggcgaccgccagggaatcaattccggttgcctcggcaaattcacgcgcctgagcggggt
+tggtgtacaacgcatcggcttcattgacttgcacatcatcttcctggccgccaagttgcc
+ccagctccgcctcgacgctgacatcaaagcgatggcaaaaatccaccacctctttgaccc
+gtgaaatattttgcgcaaaaggcaaatgcgaggcgtcaatcatgactgagcgcacgccag
+aacgaaccttctgagcgatatcgtcaaatttcgtgtgatggtcgagatgaattgccagtg
+gatggtgatattgcttcgccatcgcgctgaccagcgccaacagattttctgtaccagcat
+gagtaaatgtgccaggcgttccggcgatgatgaccggcgcatgcaggttggcagcggttt
+ctaccaccacttgcatcgtttcgagattgtgaatattgaatgccggaaccgcataaccgc
+cgcgctgtgcgttgttcagcatctgctttgtcgataccacgtacattttcatatcctgtc
+gtttgttttcgatttcaaaatataatgaaattatttgtttttaaatatcgagataacgat
+cacaaaaacgacaatatgaaaattattcgaggagtgaaaggcaaaaaaacggcctcccga
+tagggaagccgtagcaaagtgcgcgtgtttttatgccggatgcggtgtaaacatacgtgg
+cagtgctatgtaggcatgataagacgcttcagcgtcgcatcaggcataggttgccggatg
+cagcgtaaacgccttatccgtcctacggggtggtgttgttcgtataaggcgtatcaggcg
+atagtaattttgctatcgagataaacgtcctgcacggcgttaatcagtttcacgccgtca
+gccatcgatttcttgaacgctttacgtccaagaatcagccccattccgcctgcgcgtttg
+ttgataaccgcagtacgcactgcatcgctgaggtcagtttcaccgcccgcagcaccgccg
+gagtttatcaacccagcccgacccatatagcagttagctaactgataacgcaccagatca
+atcgggttttcgctggtcaatttgctgtaaacacgatcgtcggtgtaaccgtaattaatt
+gctttatagccgccgttattttccgccattttttgtttgacgatatctgcaccgatggtt
+gccgccagatggtttgcctgaccggtcaggtcggcggaaacatggtaatcaacgccatct
+ttcttaaaggcggagttacgcaaataggcccacagcactgtcaccatacccagctcgtgc
+gcacgttcaaaagccgcagaaatttcttcaatctggcgacgtgactcttccgagccaaaa
+tagatagtcgcaccaaccgcaaccgcgcccatgttgaacgcctgctccacgctggcatac
+agcgtttgatcgtaggtattcgggtaacttagcgtctcgttgtgattaagtttgacgagg
+aatggaatgcgatgcgcataacgccgcgataccgacgccagcacgccgtaagttgacgcc
+acacagttacagcccgcttcgatcgccagttcaacaatgtttttcgggtcaaagtagagc
+gggttagcagcaaatgaagctccggcagagtgctcaacgccctggtcaaccggcagaata
+gaaagatatcctgtgccagccagacgcccggtgttgtacaacgtctgcatattacgtaac
+accgctggcgggcgattattgtcaatcattacgcggtctacgtagtcatgtccggggaga
+taaagctggtcagaaggaattgtcatacaacggtgctgtaaaaggttgtcggcgtctttg
+ccaagcaactgcgcaatatctgtcattactatgctcccgtaaattccgattggatatcgg
+ctatggattgtcctggcccgccttttgcgggcaatcataatcctggtcgttacgggcgag
+tttttccatcttttggatgttttttcagcgttttctgttggctcgattcatcagaaaaaa
+tgttagcgcggtcaagttttcaccgcaaaggtatttaaaaggtattattaagtggtattg
+tcatcgcgtaccttacattacctgtcatgaaggaattaaaagatgaaaacaacagcaaag
+ctgtcgttcatgatgtttgttgaatggtttatctggggcgcgtggtttgtgccattgtgg
+ttgtggttaagtaaaagcggttttagtgccggagaaattggctggtcgtatgcctgtacc
+gccattgcggcgatcctgtcgccaattctggttggctccatcactgaccgctttttctcg
+gcgcaaaaagtgctggcggtattgatgttcgcaggcgcgctgctgatgtatttcgctgcg
+caacagaccacttttgccgggttcttcccgttactgctggcctactcgctaacctatatg
+ccgaccattgcgctgactaacagcatcgcttttgccaacgtgccggatgttgagcgtgat
+ttcccgcgcattcgtgtgatgggcactatcggctggattgcctccggtctggcatgtggt
+ttcttgccgcaaatactggggtatgccgatatctcaccgactaacatcccgctgctgatt
+accgccggaagttctgctctgctcggtgtgtttgcgtttttcctgcccgacacgccacca
+aaaagcaccggcaaaatggatattaaagtcatgctcggcctggatgcgctgatcctgctg
+cgcgataaaaacttcctcgtctttttcttctgttcattcctgtttgcgatgccactagcg
+ttctattacatctttgccaacggttatctgaccgaagttggcatgaaaaacgccaccggc
+tggatgacgctcggccagttctctgaaatcttctttatgctggcattgccgtttttcact
+aaacgctttggtatcaaaaaggtattattgcttggtctggtcaccgctgcgatccgctat
+ggcttctttatttacggtagtgcggatgaatatttcacctacgcgttactgttcctcggt
+attttgcttcacggcgtaagttacgatttttactacgttaccgcttacatctatgtcgat
+aaaaaagcccccgtgcatatgcgtaccgctgcgcaggggctgatcacgctctgctgccag
+ggcttcggcagtttgctcggctatcgtcttggcggtgtgatgatggaaaagatgttcgct
+tatcaggaaccggtaaacggactgactttcaactggtccgggatgtggactttcggcgcg
+gtgatgattgccattatcgccgtgctgttcatgatttttttccgcgaatccgacaacgaa
+attacggctatcaaggtcgatgatcgcgatattgcgttgacacaaggggaagttaaatga
+aaacagaacgtattctcggtgctctttatgggcaggcgttaggggatgcgatggggatgc
+cctccgagctttggccacgcagccgcgttaaagcacactttggctggattgaccgttttc
+ttcctggaccaaaggagaataacgcggcctgttattttaaccgcgccgaattcaccgacg
+atacctcgatggcgctgtgtctggcggatgcgttactggaacgtgaaggcaagatcgatc
+cggatctgattgggcgtaatattctcgactgggcgctgcgtttcgacgcctttaacaaaa
+acgtactaggtccgacctcgaagattgcgcttaacgccattcgcgacggtaaacccgttg
+ctgaactggaaaacaacggcgtgaccaacggcgcagcgatgcgcgtctcgccattaggtt
+gtttgcttccggcgcgtgatgttgattcctttattgatgatgtagcgctggcgtccagcc
+cgacccataaatccgatctggcggttgcaggcgcggtagtcatcgcatgggcgatttctc
+gtgccattgacggagaaagctggtcagcgattgttgattccctgccttcaattgcgcgac
+atgcacagcaaaaacgcatcactacgttcagcgcctcactggcggcgcggctggagattg
+cgctgaaaattgtgcgcaatgccgacggcaccgaatccgccagcgaacagctttaccagg
+tcgttggcgcaggtaccagcactattgagtccgttccgtgcgccattgcgctggttgaac
+tggcacaaaccgacccgaatcgctgcgccgtcctgtgcgctaaccttggcggcgacacag
+acaccatcggtgctatggcgacggcaatttgcggcgcgttgcatggcgttaacgctatcg
+atcctgcgttaaaggcggaactggatgcggtaaatcagcttgatttcaaccgctatgcca
+cagcgctggcgaaatatcgtcaacaacgggaggcggtatgagcggcgctcgattacacac
+gctgctgcctgaattaaccacgcgtcagtcggtgatggtcgtcggcgcggcggtcattga
+cgtgatcgccgacgcttatgccctcccctggcgtgggtgcgatatcgaactgaaacagca
+gagcgttaacgttggcggctgcgcactgaatattgccgtggcgttaaagcgcctcggcat
+cgaagcgggtaatgccttgccgctcggtcagggcgtgtgggcggagatgattcgcaaccg
+gatggcaaaagagggcttaatcagcctgatcgataacgccgaaggtgataacggctggtg
+tctggcgctggttgagccggatggcgaacgcacttttatgtcattcagcggtgttgaaaa
+tcagtggaatcgccagtggctggcgcgattaaccgttgcgcctggcagcctgctctattt
+ttccggttatcaactggcctcgccctgcggcgaattgttagtggaatggctggaagagct
+gcaagacgtgacgccgtttatcgattttggcccacgtattggcgatatcccggatgcatt
+actggcgcggatcatggcctgtcgacctttagtgtcgctcaatcgtcaagaggctgagat
+tgccgccgaacgttttgctttatccgcagagataacaacacttggcaagcaatggcagga
+gaaatttgccgcgccgttgatcgttcgtctcgataaagaaggcgcatggtatttcagcaa
+cgacgcttctggctgcattccggcatttccaacgcaagttgtcgacaccattggggcggg
+cgacagtcatgccggtggcgtacttgccgggctggcctctggtctgccactggcggatgc
+cgtattactgggcaatgcagtggcgtcgtgggttgtcgggcatcggggcggtgattgtgc
+gccaacgcgcgaggaactactcctcgcacacaaaaacgtatagatcgctgcgacagtggc
+taatgctgtactcaataggccgttgctgttggtcaagcgccacttgcttgatcaccagca
+ccggtattttgctatctaactgaatatgtgactgaaactcggcatccggcatccgggcgc
+taacgcgggaacgcgtacgttgtgggtaaatgtgctggctgcggaaatagtcataaagtg
+aaatcccgatggcatcaacatcatgaattaaatgcgccggaacccacgattcctcaatcg
+ataccgcttcttcatcgacatagcgaatacgcttaagcaaaaagacatcacttcctgctt
+cgaccgccagctgctgcgcgacttcttcgggacatttcacgacacgcttgttaacccata
+gcgtatcgggctttttcccgcgcaataccacctgctgagaaaaacctcgcgcttctttca
+acgagtattcgaagatgttgttgatctgcgtgccgtaaccgcgcgaacgcgtcaccacac
+cctcttcttccagcgcctgcatcgccttgcgcaccgtaatgcgcgaaacgccggttaact
+gacttaaatcacgctcaccgggcaaaatattgccatgctccagcaccccgctgcgcacgg
+cattttttaccgtttcggcaaacttaatataaagcggcgtgttatccgccgctaaaatac
+gctcgttcagttgggcaatcagctgggtatgcgcttgttccatttgtctttttcctgccg
+gggagtctggtgggagtatatcactgcttcttatttaaggcgtttctttaatcccatcaa
+cgaatgcctgcaactcctccaccgtgccattaaatacattaaaatccaccggaccattga
+tgccatctacctgtccacggtcggaatgctgccagaagcgccaggccattccgtcattgt
+ccggacgacgttgatagtagtgagccacccaccacggatattcattgaaatagcccgcca
+gattggtgtgataaaaaacggctcctgagtaaataatcggctttttccccgtactttttt
+cgaccatttttagccactgacttacccgcttgcgtaattcttttgccgataattttcccc
+gttcttctacgtccagcacggcagggaaatcgccttgtgagaaatccaccgtttgcagaa
+ataatctcgcctgaactgaagcggataccgacggggagaaataatgatacgccccacgca
+gcaggccattttcgcggcttagttgccagttacgcgaaaaataggggtccaccagctttt
+cgccttccgtcgccttaataaaagcaaactgtaagcggataccattgtcgcgcatttttg
+ccacccgctgccagtcgatccgctcctgccagcgcgaaacatctattccgtgaatggtgt
+aactggcaggaatgcgaatagcgaaagatttaaccgggcgataaccgtagaagtggatgt
+agtctgtaatctgaactgctgtcgaatagaaaaaattcaccgtctgacgcggataaattg
+caacgatggaaattagcccaagagcgcataatagagaggtgagtttttttcgactggtaa
+ttcttagctgcattggtttcatccctgaatgtcagtgccaaaggctgacaataaccaaag
+cagctatagtacggtgctcaccaccaggcgtggaagtggtgaaccggaccaataccgtga
+ccaacttccagcgtgtcggcctgggctaacgccgatgaaagccagctttttgcctcctgt
+acggtgtcagcccagtttgtatggcgcgggcgtagtgcagccaacgccgcagagagtgta
+caaccagtgccgtgggtgtttttggtcataatgcgcggtgcggtaaaccgttgttcaccc
+tcgcgggtaaacagccagtccgggctttgctcatcatccagatgaccacctttcattagc
+actgcgccacagcccatcgccaacagcgatcgcccttgttccagcatttcctgttcggtg
+cgcgcgtgtggcgcgtcgagcaaggcggcagcttcgggcaagtttggcgttattaatgaa
+acctgtggcaataatcgactgcgcagcgtagcaaccgccgaaggtgaaagcagcgggtcg
+ccgctttttgccagcataacggtgtcgagtaccacgttttggatctgataacgttgcaac
+cgttctgccaccgcttcaacaatatcggtttccgccagcataccgattttagtggtatcg
+attcgcacatcgctgaacaccgaatcgagctgggcggcgacaaaatcaggctcaatgcga
+tacaccgactgtacgccacgggtattttgcgccaccagtgcagtaataactgagcaacca
+taagcgccaagtgccgagaaggttttaagatcggcctgaatccccgcaccaccactcgga
+tcagtaccggcaatcgtcagagcgttaattcgtttcatgcctgcacctcctgcgtcaatt
+gccagagcgcatcaaggaaatgtggaacaaaactgcctggcccctcgcttctggcgactg
+cgcgttctccggcttgtttcatccagtgacaggcagatgcgacattttccagcgtatcgc
+ctggtaacgcacagcaggcagcgacaaccgccgataatgcacagccagttcctaccactt
+tggtcattaacggatcaccaccgtgaataccaatgatacgatgtccatcggtaacataat
+ccatctcgccagtgaccacgacgattgcgccagtttcccgtgccagtgtttgtgcagcgg
+gtatcgcgttagctgcggcgtcagtggtatccactccccgtccgccattagcaatgccag
+ctaatgccatgatttccgaagcattaccacgtatcgctgccggtttaaaagataaaagtt
+catgacaaaaatggcggcgataatcgagcgcacccaccgctactggatcaagcgtccagg
+gtgtttgagagctttttgcttgctcaacggcagcacgcatcgcctgagcgcgtggctgcg
+tcagtgtgccaacgttaatcaacaaggcactggcgatagccgcaaactgactggcctctt
+cggtttcgataaccatcgctggcgatgcaccgagcgccagcaaggtattggcggtaaagg
+tttgcaccacatcattggtcatgcagtgcacaagaggggaatgttggtgaaaaaggtgta
+acgcgtgcgcagattgcgctgaacccagcaggtcgacttgcatagtttgctcctgccata
+acgtgaagaagcaatgacctggtggtccgtgacttccctacgctggcattatccagatca
+ggtgatacgggtatttctcagccttcacgcagaagggcaccccgagtcgtttggttgcga
+tgataaatcgcagaggaggatggtaatgtccagcgcacgcgttgtaaacgaggaaaaacg
+gcagttttacaatcgcgttaataaattatttgatatatgaatccagcaccttcagaacga
+catccagatcttcttcacgttttagctcatccccctggtgaacgatgtgttccgtcagat
+gacctttaatcacttcccgcatcagaccgtttaccgcgccacggatagcagcaatctgtt
+gtaaaactgcagcgcattcgtgcggctcgtcgagcattttcttgagcgccacgacctggc
+cctgaatcttactggcacgcgctttcagtttctgtttatcacggattgtatgagacatgg
+caacacctggttaacaagaatatgaaaaatcatagcactattaatctactggggggtagt
+atcaggtactgggggggagtagaatcagattgccgaattaatactaagaattattatcat
+gaccgaatttacaactcttcttcagcaaggaaacgcctggttcttcatccccagcgccat
+cttacttggtgcgcttcatggcctggaaccagggcactcaaaaacgatgatggcggcgtt
+tatcatcgccatcaaaggcaccattaaacaagcggtgatgctcggactggcagcaactat
+ttcgcataccgcagtggtctggttaattgcctttggcgggatggtgatcagcaagcgctt
+tactgctcaatcagcagaaccgtggctccagctgatttccgcagtgatcattattagcac
+cgcgttctggatgttctggcgtacctggcgcggcgaacgcaactggctggagaatatgca
+cgggcatgattatgagcatcatcatcacgatcacgaacatcaccacgaccatggacatca
+tcaccatcacgaacatggcgagtatcaggatgcccatgcacgagcccatgccaatgacat
+taaacgacgctttgatggtagagaggtcaccaactggcaaattttgttatttggcttaac
+cggtggccttatcccctgcccggcagcaattaccgtgctgttgatatgcattcagttgaa
+agccctgacactgggcgcaacactggtcgtcagtttcagcattggcctggcgttaacgct
+tgtcaccgtaggcgttggcgcagcaatcagcgttcagcaggtcgcaaaacgctggagcgg
+atttaacactctcgctaaacgcgccccctatttttccagtctgttgattggcttagtcgg
+tgtgtatatgggcgtacatggcttcatgggcataatgcgataactcaatcctttaggctt
+gcatgttatcttcagcccaggatgattcttaaatcagctatttccgctgactctctgctc
+gctaaggatgcttttagggcatcctttcatttacactttttacgaaatcatgggatcact
+aacaaaatatcgcttgtcagttatattgtatggcaggaaagatatgcgactgatattaca
+gatccccaaagtggagagtttatgaccattaaaaataagatgttgctgggtgcgcttttg
+ctggttaccagtgccgcctgggccgcaccagccaccgcgggttcgaccaatacctcggga
+atttctaagtatgagttaagtagtttcattgctgactttaagcatttcaaaccaggggac
+accgtaccagaaatgtaccgtaccgatgagtacaacattaagcagtggcagttgcgtaac
+ctgcccgcgcctgatgccgggacgcactggacctatatgggtggcgcgtacgtgttgatc
+agcgacaccgacggtaaaatcattaaagcctacgacggtgagattttttatcatcgctaa
+aaaaagccccctcatcatgagggggaaatgcagacaccttgttattttttattattagcc
+acttgctcgtcttgcttgttattagtcgtatttcacgttgattaatgcggttgcctccag
+tgcgccagatttaactttgtttgtatcgtagacgtagtaactggctgttatcggaattga
+aaccgttgtatctgtaagttttgacttcgccgcaacttcctttaaatttgtatatccttt
+actgctgttagtgatatttaaaagtgtgactggcgaaccattactttcaagaataaatcc
+tacgccattatcttccgcacctttcagtattgtgttgctgttggttaacaagtcagaact
+tgataaatacacctgcattttccgtgatgtttgattttgttgacctaataaatttttaca
+acgcagaataatatccccttgtttactatttattgttgctttgttacctgtggctggtaa
+ttgtgaaacgggaatactgtctaaagtaattaataaatcgtccggtttgcaggttgtggt
+tatcgggttgtatgacaatgtcagattaaaggaatagacacctgcattttgtgccaatgc
+atttctgtagctatttacacatgcatcccatgacttgccacctaataaacacagtagaaa
+ttgtactgcggcactcccgcgtgtcgatgatgaagcactggataatgtcgcaacaccatt
+aatcatcactgaaccgccgccccccgcagaaacattcacttttgcattactggccgcagg
+tgtcaccgtaactgaataaccactggtgaaactggtctgattatttgacaacgtgatgtt
+gtttttattggtccattcaaaatgtaaatttaattttatggtatcgttataaagtccaac
+aataatatccgacgggctcataggggtgatagtatttgtacttacgcatgacgaatcatt
+aaaattatgctcatatgtcgccatttgtgtttgagtaagtgcaaaatccccctgaacaac
+caagttgtgctgaacagataactcactataacatgccgcatagctcacaggcataaccat
+catcattaatataaatagcattatgcgaatttccatagaaccacctgactattactggca
+aatataatttctactttcatcaatctctttaccgaaggtgattgtgcatgaaagtccttg
+ttgcttatcaattgccacattaaccgatggcggtacttcattggtgcgaataaataactg
+acttccctggccgacaacgccaatattatgaccatggatatcattgacttcataaccaaa
+cgttaatgattgcccatctgctcttaacgcttttataaaccatggcttgcgctgatcggt
+atcaaaattaaccagtacaaccgcgccgcgataaggggcggcaattttccggttgccacg
+taattctgcttcgctatcgctttgcgacacatccagcatcaggtgattttcccgataagg
+tgtcattccgtcgtatatcaccactccattacggtttgttgtgcgatatttttgcccatt
+gacataagcatctttaattcctggcgcattcatcacagcaaacgtttcggaaagacggtt
+cgccagattaacgccacccgaccaggcgacaatgccccctgaaacactggctccagcctg
+tcgataagtactcgactgactataactgccattcactgtcgcaaccggcgcgttccaggt
+caaattcgccccagctgtcgtttcatttccctgatgttgatgactcaggttgacaccata
+attgaactgatcccgactccctactgttcctgataatcccgtattatttgaggcaaaccc
+ctgatcatcaaacgtcgttgagttagacatatatatttgccgacgaggcgtcgaaacgtc
+atcaccccaatcaaagggaatcgatataaaaatattaaaacgtttctcttcatgatgatt
+ctcgtcataagcctggcttgccgcgagggtatagcttatccgtcgcaggttgttggaata
+actcaactgataatccttactactgccgctacgcccccagtaatctcgccataacgtact
+taatgacacagacccccaaccttctggcaatgactggctcatattggcggaaaagctatt
+tttgcggccaaaatcgttctggtaataatcggcaatgtcatagacatcgttttcatcacg
+gcgataattatctttattgtttgcccaaacgtgatcgttaaatgtccggtaatcacgcga
+cgaataacgccaggccgccagaccaaaacgcgtcgacgtttggctcacaaatttgttgta
+ggcaatttgataactttgcccgtcaaacacatcgccgttgtcttgtttactatgcgactt
+agtggcatcgacggaaatggcaccaatgcgtgtattccagccagcccccaaagtaaacgc
+gtaataattattcgcgaccatcgagccaccatacagcgtcaataaattattaaaaccata
+ctgataacccgcctggacaaaatcactttgtttgctcgccccttcaatatggctacgacc
+cgccgctaaatcatatttcgacacgccgggttgcagcatatttggcaccgctgcataagg
+caccagataggtggttaccgagccgtccgcctctttcacgctgacatcaagatctgctcc
+accaccggccaactgcaaatctgtaatcgcgaacgggccaggaggaacctctttctgata
+aaccacaaaaccattctgttcaatagttaccagcgcgttactctgagcaatcccctgcac
+ccgtggcgtaaaattttgtttcgagttaggcaacatctgcatatcacgaaacaaccgcac
+acctctgaagcgaacagaatcaaaaatatcgcttgatgtgtacatatcacccacgcgaag
+cgtgccgagaagttgggcaaatccacgttccagatacagggtattgcttttccacacccc
+tggattgttatttgttttactgaaactggcatcagaatgcagttgccaccccagtaaatt
+taacccgctgttaaaacgtacatatgtactcttgttattacccgacgctttatagtcgct
+gtaatactgactcagataataagaggtataaaacgcattaataccccgctcccagttttc
+cggtggaacatagccactttccagttcttccacccaggcctgcgggacactgaaatcgag
+acgaaaaaccccgatatcccaggtatagctcccaccctgaacaagttgctcaaatgttaa
+acattgcttaccgctggcgaagttatcgctattaatgcctaaccgcttgataacttctct
+tgataaacatgtttcttgcgggttgtctttaacaataatctcatatttcccgcgccattg
+cttattgacataaatatcgatgtcatactgccccggtaagggttgattatcatcaagacg
+aatatttgcaacctgctggtctttcattccacctatcataaaatgggtatcaaaggtttc
+ttcagctgcataagcttcaatgccgagcaataacgctacgattgctgatgcaagtggggt
+cattctcaacataggcagctcctgcaattaaattttgtcactaatatagttgccatggtc
+atcgataatggtcagatgccagttatttgcattattacttttgacattaacactctgact
+ttctaagggggcaatcataatagtttcataattgactttgacattattagctttgacatc
+cgaaatcgtcacccaattagctgagtcattttttatcaccaaaccattgccactgcgatt
+taccagcaattttttaaatgtcgctttatttaccggagcaatacccgctggccggtaaaa
+caacttaattctgttttgcatcgcaaacttcagtgcattcttaccttcttgctctggact
+atttggtggaatatccagaacattcagataaaaaatgctttctttattagtgggcagttt
+attcggcataattttgatttttacttgctgcccggaatttgcccctatttttgccactgg
+tggcgttaacatgaaaggaacctgaattttttctggtggtaatgacgtatcgccatcatc
+aatccacgcctgcagcagcgaagaacggtttccctggttcatcaactgcaccatcacttc
+tttattttctgccgggtaaataatgcgcgtcccgtagataacaattccggcatgtgcagg
+aaggaccatagaaaaaatgagtaaagataataatcctttcattttaatgcctcttaaatt
+aaaaggccgccatgggatagcggccatgtttattacctggagaaacttacaattttattt
+attaatcctgcgccacacgcataaccagagaagataacacatcacctgattgcactgagt
+tatctgtcagtttcaggtattttgctttaaacggaatagcatattgaccttccgctgttt
+tataactctcaatgttaaaaggtgcagaaacatccaggacatcgctgttatcacctaaat
+agagatagtaacccacggtatcgttgctactggctatcgccttatcgttaccggttattt
+tatcgttggtaatcaacgagagttttacaccagcaacttctttcgggcagctaattttta
+acatgctgctggttacaccgactgcatcatcataggtagaatatttagctttaccttcaa
+agacactggttggtacagtcggcatattaatacttactgaatcaccacccgcttcgaatt
+tacacggagattctgcaatattccccttaatagttaatgttccggtatcaacgtctgcag
+caaatactccagcgctcataaaaaaagaagaaaagacagcggcagcaataattgaacgtt
+tcataatatgttccttaataaaatttatttttggttgttaagagtctgtatctcttggaa
+acaaatttctcacatcaaaaaagttgccgcaatgtaaacacattgttttattgatttaaa
+acaaattaaccattgcaatataaatacaaaaaatatttaagagtattaactatttatcgc
+atctatcaattaatgtagatttatgtaaatggtattgttgatatcaataaaaaagccgaa
+atcatttatataaatgatttcggctttctaaatgcaattaaaatcaggttgccaaattaa
+tcgtagcgatttaacacgattcgacgtttgctatcgctacctgcaacaaccacttctgtc
+gttacacctttgacgggcgaagaaaacagatgacgggtgtcaacattatacgttaactga
+ccacaatgctgttgaggttgaccattaaccatagccatactgcatgttgggggactgatc
+ctgccattaatcgctaatgtggcagtctctgaagagaatgcgggagaagccaatccatag
+gcaagaaaaataattcctgacagccaatacttattcattgaacgttatccctgtagtaaa
+ggttatgcctggatagaatgagtgcataacaaactatagctgtacatccactacacagcc
+acgaaggatgataatgaagcattgcctgtatgatcaatcgactttgtagagtttcggacg
+aaggtccgcagaatattcgcagtattaaataagtgttcattaatgcggcaaaaactaata
+caccgcatcaatgtaacatctctgcggtgtatgaagaataaccagaatggttaataggcg
+ttagaccgcgcggaaggaaatctcgcctggaatgacttcaccctgccagtagagctgagc
+tgcaacgcggtcagccagctggcggtagatagcggtaaattcgctctccggacggctgat
+aaccgttggcgtacctttatcgagatcctcacgtaaggagatgtgtaacggcatctgccc
+cagcagctgtgtatggtatttttcagccagtttctctgcaccaccggtaccgaaaatcgg
+ttcatggtgaccacagttactgcaaatatgcacactcatgttctcgacaataccgagcac
+cggaacctcgactttctcgaacatcacaatgccttttttcgcatcgatcagcgcgatgtc
+ctgcggggtggtgaccacgactgcaccggttactggaatgttttgcgccagcgtcaattg
+aatgtcaccggtgcctggcggcatatcaagcaccagatagtcgagatccggccacaaggt
+ttcctgcaacatctgcattaacgccttgctcgccatcggtccacgccacaccatcgcatt
+gtcgtcagtgaccagataaccaattgaattggttgccaggccatgagacataatcggtgc
+catatgggtaccgtccggcgaagttggacgctgattttctgcgcccaacattgttgggat
+tgatgggccgtagatatcggcgtccagaatgccgactttcgccccttctgccgccagcgc
+cagtgccaggtttaccgccgtggacgatttacccacgccgcctttaccggaactcaccgc
+gataatgttcttcacaccgttaattcccggctgattcttcacgcgtttcagagtggctat
+gttatgcgacagtttccagtcgatagctttcgccccggtgatgcgcagcagttcggcgct
+acattgctcttttaactcttcgaacgcgctatgccagacaaacggcataaccagttccac
+atgcaacgtgtcgtccatccaggcgacatggtgcaacgctttcagcgtggtgaggttatg
+cttcagggttgggtgctgaaaattggccagtgtcccggcgaccattgcgcgcaaggcttc
+tggtgatttggcctgggattgttcgttcatcccgactccttttttgtatagataaaccat
+cagctgatagtttacctgaagaatatagagaagtacttacttaacattttcccatttggt
+actatctaaccccttttcactattaagaagtaatgcctactatgactcaagtcgcgaaga
+aaattctggtgacgtgcgcactgccgtacgctaacggctcaatccacctcggccatatgc
+tggagcacatccaggctgatgtctgggtccgttaccagcgaatgcgcggccacgaggtca
+acttcatctgcgccgacgatgcccacggtacaccgatcatgctgaaagctcagcagcttg
+gtatcaccccggagcagatgattggcgaaatgagtcaggagcatcagactgatttcgcag
+gctttaacatcagctatgacaactatcactcgacgcacagcgaagagaaccgccagttgt
+cagaacttatctactctcgcctgaaagaaaacggttttattaaaaaccgcaccatctctc
+agctgtacgatccggaaaaaggcatgttcctgccggaccgttttgtgaaaggcacctgcc
+cgaaatgtaaatccccggatcaatacggcgataactgcgaagtctgcggcgcgacctaca
+gcccgactgaactgatcgagccgaaatcggtggtttctggcgctacgccggtaatgcgtg
+attctgaacacttcttctttgatctgccctctttcagcgaaatgttgcaggcatggaccc
+gcagcggtgcgttgcaggagcaggtggcaaataaaatgcaggagtggtttgaatctggcc
+tgcaacagtgggatatctcccgcgacgccccttacttcggttttgaaattccgaacgcgc
+cgggcaaatatttctacgtctggctggacgcaccgattggctacatgggttctttcaaga
+atctgtgcgacaagcgcggcgacagcgtaagcttcgatgaatactggaagaaagactcca
+ccgccgagctgtaccacttcatcggtaaagatattgtttacttccacagcctgttctggc
+ctgccatgctggaaggcagcaacttccgcaagccgtccaacctgtttgttcatggctatg
+tgacggtgaacggcgcaaagatgtccaagtctcgcggcacctttattaaagccagcacct
+ggctgaatcattttgacgcagacagcctgcgttactactacactgcgaaactctcttcgc
+gcattgatgatatcgatctcaacctggaagatttcgttcagcgtgtgaatgccgatatcg
+ttaacaaagtggttaacctggcctcccgtaatgcgggctttatcaacaagcgttttgacg
+gcgtgctggcaagcgaactggctgacccgcagttgtacaaaaccttcactgatgccgctg
+aagtgattggtgaagcgtgggaaagccgtgaatttggtaaagccgtgcgcgaaatcatgg
+cgctggctgatctggctaaccgctatgtcgatgaacaggctccgtgggtggtggcgaaac
+aggaaggccgcgatgccgacctgcaggcaatttgctcaatgggcatcaacctgttccgcg
+tgctgatgacttacctgaagccggtactgccgaaactgaccgagcgtgcagaagcattcc
+tcaatacggaactgacctgggatggtatccagcaaccgctgctgggccacaaagtgaatc
+cgttcaaggcgctgtataaccgcatcgatatgaggcaggttgaagcactggtggaagcct
+ctaaagaagaagtaaaagccgctgccgcgccggtaactggcccgctggcagatgatccga
+ttcaggaaaccatcacctttgacgacttcgctaaagttgacctgcgcgtggcgctgattg
+aaaacgcagagtttgttgaaggttctgacaaactgctgcgcctgacgctggatctcggcg
+gtgaaaaacgcaatgtcttctccggtattcgttctgcttacccggatccgcaggcactga
+ttggtcgtcacaccattatggtggctaacctggcaccacgtaaaatgcgcttcggtatct
+ctgaaggcatggtgatggctgccggtcctggcgggaaagatattttcctgctaagcccgg
+atgccggtgctaaaccgggtcatcaggtgaaataatcccccttcaaggcgctgcatcgac
+agcgccttttctttataaattcctaaagttgttttcttgcgattttgtctctctctaacc
+cgcataaatactggtagcatctgcattcaactggataaaattacagggatgcagaatgag
+acactttatctatcaggacgaaaaatcacataaattcagggcagttgagcaacagggaaa
+cgagttgcatatcagttggggaaaagttggcaccaaagggcaaagccagataaaaagttt
+ttcagatgctgcggcagcggcaaaagcggagcttaagctgattgcggagaaggtgaagaa
+ggggtatgtggagcaagcgaaggataattctttgcaaccttcccaaacggtaacgggctc
+tctcaaggtagcggacttatccaccattattcaggaacaaccctctttcgtagcagaaac
+ccgtgcgcctgacaaaaatacagatgctgttttaccgtggctggcgaaagatattgctgt
+cgtttttccgcccgaagttgtacacaccacgttaagtcatcgccgctttcccggagttcc
+tgttcagcaagcagacaaattgccccaattacgtcgcttagcctgtagtgtgtcgcaacg
+ggataataaaacagccacatttgacttcagcgcctgttctttagaatggcaaaacaccgt
+cgcccaggcgatcagtcagatcgacggcctgaaaacaacacagttaccatcaccagtaat
+ggctgtactcacggcacttgaaatgaaatgcacaagatataaagtgcgtgaggatgttat
+ggatcagatcgtccaggaaggcggtctggaatatgctactgatgtaataatacaccttca
+acagattgatattgaatgggattatgcgaataatgtcattattattctgccgtctggcat
+tgcacctagctacttggagcaatattccagatttgaatgacgcctacgtaaacatttatc
+actgacggaagagtctctctggcaaaaatgtgcacaaaaacttattgccgcaattccaca
+tattccagaatggcggcaaccattaattgctttgttattacccgaaaaaccagaaattgc
+acatgaaattgcccagcgtctactggggcaaaaaaaattaccctcgcttgagtggttaaa
+aatagtggcgactgatgagcacattcttgcctcattagaaaaatatcacgaaccatatgc
+catttttgatgattactattgtggtgcgatatggtcagccaccgtattacaggagcaagg
+tgttgcagccctgccccgatttgctccctatgccgcaagtgactactgcgccgatgtgtt
+gcgtcatatcaatcatccgttcgcattgacactgcttatacgtgtagccgggcaaactaa
+acgctgtcacgatcggatgacgaaagccattgctgcgttcccacatgcagcaatggcggc
+actgacggaacttcttgggcaaaaagaagagaacagttggcgcattatgctaatgacaat
+gcttatctcacaaccagcactggcagaacaggtcattccctggctctcgacacccgcagt
+tgccgtactgaaatcatgccagcaacaactgacacagccctcaaaccatgccagcgccga
+tctactgccagccgtagtagtctcccctccctggctttcgaaaaagaaaaaatcgccgat
+tccggtgctggatttagcgccattaggcattgagccaatctgttatctgacagaagaaat
+cagtaatcaacttttggcgaaatatatctggtattcaaaacacatcacggttagccatga
+agaaagtactaccaacctgttggcaaggatgggttttcaacgacggatcgctggtacata
+tattaaagctcccgaagcggtagttgaggcatggctaaatgaagattattcaaccttact
+aagtgaatttaaggtgtttcattcacctaccgggcattattggcagttggggattttgac
+aacattgccgctggagaaagcagtaaaagcatggaatgcccttaccctatctccacatac
+cgataccgaatactccatgttacattttggactcaaagggttacctgggttagtaaactc
+acttgcacgctatccacaagaagccttgcccatcacgaattacttcgcagcgagtgagct
+ggctcctgccgtcgcccgtgccttcaacaaactgaaaacgctacgcgaaaacgcccgtag
+ctggctgttgaaatacccggaacatgcccttaccggcctgctgcctgcggcgctcggcaa
+agccggtgaagcacaggataacgcccgcgctgccttgcgtatgcttaccgaaaacggtca
+tcagccattactgcaagaaatcgcccgacgttataaccagccggaagtaaccgatgcggt
+gaacgctctgcttgcgctcgatcccttagataatcacccgacaaaaatccccactcttcc
+ggccttttatcagccatcgctctggacgcgcccggtattaaaagcaaatgcccaatcact
+gccagatagcgccctcctccacctcggtgaaatgctccgcttccctcaggaagaggctct
+gtatccgggattattgcaggtgaaagacgtctgttccgccgactcactggcgggatttgc
+ctgggatctgtttaccgcctggcagaccgctggcgcgccgtcgaaagagagttgggcgtt
+cactgcgttaggcgttctcggtaacgatgacaccgcccgcaaactgacgccattaatacg
+cgcctggcctggtgaatcccagcataaacgcgccaccgttgggttggatattctcgctgc
+tatcggtagtgatatcgcccttatgcagcttaacggcatcgcccagaaactgaaattcaa
+agcattacaggagcgggcaaaagaaaaaattgccgacattgccgagagccgcgaactcac
+ggtggcggagcttgaagatcgggttagcaccggatctcggtctggatgataacggttcgc
+tgctgctggattttggcccacggcagttcaccgtcagctttgatgaaaccttaaaaccgt
+ttgtgcgtgatgtttccggcagccgcctgaaagacctgcccaaaccgaacaaaagcgatg
+atgaaacgcgggcgaacgatgcggttaaccgctacaaattgctgaaaaaagatgcgcgta
+ccatcgccgcccagcaggtagcaaggctggaatccgccatgtgcctgcgccgccgctggt
+cgctggaaaacttccagctcttcctggttgagcatccgctggttcgtcacttaacccgcc
+gtctgatttggggcgtttatagcgccgaaaaccagctactggcttgctttcgcgtagcag
+aagataacagctccagcaccgctgacgatgatcttttcaccctgccggaaggcgatatct
+ctatcggcactcctcacgttctggaaatatcaccaacggatgctgccgcctttggtcagc
+tttttgccgactacgaactgctaccaccgttccgccagctcgaccgtaacagctacgccc
+tgacagaagccgagcgcaatgccagtgaactgacccgctgggcaggcagaaaatgcccga
+gtggtcgggtcatggggctggcgaataaaggctggataaagggcgaaccacaggatggag
+gctggatcggatggatgatcaaacctttgggtcgctggtcgttaatcatggaaatcgatg
+aaggctttgcggtaggcatgtcgccagccgaactcagcgctgagcagctcttaagcaagc
+tgtggctatgggaaggcaaagcagaaagatatggctgggggagtaattcaacacaggaag
+cgcagttctccgtaatcgatgccatcaccgccagcgagctaattaacgatattgaagccc
+tgtttgaataaggaaagagcatggacaaggaattaccgtggctggcggataacgcccaac
+tggaactgaaatataaaaaaggcaaaacgccgctcagtcatcgtcgctggccgggcgaac
+cagtgtccgttatcactggaagtctcatccagacattgggtgatgaattgctacaaaaag
+ctgagaagaaaaaaaacattgtctggcgttatgagaatttttcactggagtggcagtccg
+ccatcacgcaggccatcaacttgatcggcgaacacaaaccctcaatcccggcccggacaa
+tggcggcgctagcctgtatcgcgcaaaatgacagccaacagttgctcgacgaaatcgtcc
+aacaagaggggctggaatatgcgactgaggtggtgattgcacgccagtttattgcgcggt
+gttatgagagtgatcctctggtagtgacattgcagtatcaggacgaggattatggctatg
+gttatcgctcagaaacctataacgaattcgatctccgactgcgtaagcatctctctctgg
+cagaggaaagctgctggcagcgttgcgccgacaaactcattgccgcactaccaggaataa
+acaaagttcgccgcccttttattgcgctgatcctcccggaaaaaccagaaatagccaatg
+agttggtaggccttgaatgcccgcgaactcattttcattctaaggagtggttaaaagttg
+ttgctaatgaccccacagcggtgagaaaactcgaacactactggagccaggatatattta
+gcgatcgagaagccagctacatgtcgcatgaaaaccacttcggctacgcggcctgcgccg
+cccttttgcgcgaacaaggactggcagccattccgcgcctcgcgatgtatgcccataaag
+aagattgcggcagtctgctggtacaaattaaccatccgcaagtcatccgcaccttgctac
+tggtggctgataaaaacaaacccagcctgcaacgtgtagctaaataccataaaaacttcc
+cccatgcgacgctcgccgcactggcagaactgctggcgttaacagaaccaccagcccgcc
+ctggttatccaatcatcgaagacaaaaagctgcctgcacagcaaaaagcacgcgatgaat
+actggcgtacgctgttacaaacgctgatggcatcgcagccacaactggcagcagaagtga
+tgccgtggttaagtactcaaccccagtcagtgctgaagagttatttatcggcaccgccca
+aaccggttattgatggcaccgataacagcaatctgccagaaatcctcgtttcaccaccgt
+ggcgtagtaagaaaaaaatgacagctccacgtcttgatttggcaccgctcgaattaactc
+cgcaagtttactggcaaccaggcgaacaagagaggcttgccgccactgagcctgcccgtt
+atttcagcacggaatctcttgcgcaacgcatggaacaaaaaagtggacgagttgtattac
+aggaactgggttttggggatgatgtatggctgtttctgaattatatactccccggaaaac
+tggatgctgcacgcaattcactctttgttcagtggcattactaccaggggcgggttgaag
+agatcctgaatggctggaactccccggaagcacaattagcagaacaggcgctccgcagcg
+gtcacatagaagcgttaattaacatatgggaaaatgacaactactcacattatcgtccgg
+aaaagagtgtctggaacctgtatttattggcacagttgccgcgtgagatggctttgacct
+tctggctgcgtatcaatgagaaaaagcatctgttcgcgggtgaggactattttctcagta
+tcctcggattggatgcgctaccaggtctgctgttggctttttcacatcgtccaaaagaaa
+catttccgttaattttaaattttggcgcaacagaactggcgctgcctgttgcccacgtct
+ggcgacgtttcgcggcgcagcgtgatctggctcgccagtggattttacaatggccggaac
+atacggctagtgcacttatccctcttgtctttaccaaacccagcgataatagcgaagccg
+cattacttgccctgcgtttactgtacgaacagggacatggcgaattgctacaaaccgtgg
+caaaccgctggcagcgtacagatgtatggtctgccctggagcagttgcttaaacagggtc
+caatggacatttacccggcacgcattccaaaagcccctgatttctggcatccgcaaatgt
+ggtccaggccgcgccttatcactaataatcaaactgttaccaatgacgctctggaaatta
+tcggcgaaatgctgcgctttacccaggggggacgtttttatagcgggctggaacaactga
+aaacgttctgccagccacaaacgctggcagcttttgcctgggatctcttcactgcgtggc
+aacaagctggtgcccccgcaaaagacaactgggcatttctggcgttaagtctctttggtg
+acgaaagcacggcacgggatctgacgacacagatcctcgcctggccacaagaaggcaaat
+ctgcccgtgctgtcagcggcctgaacatccttaccctgatgaataatgatatggcgctga
+tacagctgcatcatatatcgcaacgggctaaatcccgccccttacgtgataacgcggcgg
+aatttcttcaggtggtcgcagaaaatcgcgggctaagccaggaagagctagcggacagat
+tagtcccaaccctgggccttgatgatccgcaggcgttgagttttgattttggtccccggc
+agtttaccgttcgcttcgatgaaaatctcaacccggttatctttgatcagcaaaacgttc
+gccagaaaagcgttccccgtttgcgcgccgatgacgatcaactgaaagcgcccgaggcac
+tggcccgactaaaagggctaaaaaaagatgctactcaggtgagcaaaaacctgctcccgc
+gtcttgaaacggccctacgtaccacccgacgctggtcgctggcagattttcattctctgt
+ttgttaatcatccctttacccgtctggttacccagcgattaatatggggggtttatccgg
+caaatgaaccgcgttgtttactcaaagcctttcgtgtggccgcagagggggagttctgca
+atgcgcaagatgagccaattgacctgcctgcggacgctctgattggcattgcccacccgt
+tagaaatgacagcagaaatgcgcagtgaatttgcacagctttttgccgattacgaaatta
+tgccgccttttcgccagttgtcgcgccgcacggtgctgctcacacctgacgagtcaacca
+gtaacagcctgactcgctgggaaggtaaatccgctaccgttgggcaacttatgggaatgc
+gatacaaaggctgggagtcaggctatgaggacgcatttgtctataacctgggtgagtacc
+ggctggtccttaagttttcacccggttttaaccactacaatgttgatagcaaagcgctaa
+tgagcttccgttctcttcgagtgtaccgtgacaataaatccgtcacttttgccgaacttg
+atgtgtttgatttgagtgaggcgttaagcgcacctgacgtcattttccattaaaacacag
+cgggcagtgatgcaactgcccgttatcaacacgacttaccagcggggaaagcgatgatcg
+tgcaaaaagagctggttgctatttacgattatgaggtccctgtacctgaagatccgtttt
+ccttcagacttgagatccataaatgctctgaattatttacaggttccgtctatcgactgg
+agcgattccggctacgtccaacatttcatcaacgtgatcgagaagatgctgacccgctaa
+taaatgatgcgttgatttatataagagatgagtgtattgatgagcggaaattacgaggtg
+aatcacctgaaactgtaatagcaatttttaatcgtgaactacagaatatattcaaccaag
+aaatagaataatatactctaaataattcaaattggtccgatccggcgcaacgtcccaatg
+gcctggattataaatctcattatcttaattgcaacggggtccagccgtggttataattcg
+ttcgttggaacacgatgttgcacaggctgtggtgttaggcctgaaaatagtaaataaaag
+aacctgcctcaccagcaggtttttttatttactgtgatctgctttccagatatttttcgc
+tcaaacaactaatgcgccaaacatttattgcgcgtaaaatatcgtttatttcattaatac
+atttcagggatgaatatatgtcaccgcagaataatcatctgcagcgtccgcctgctgctg
+tgttatacgccgatgaactggcaaaattaaaacaaaatgataacgcaccttgcccgcccg
+gttggcagttaagtttgcctgcggcccgtgcttttatccttggcgacgaagcgcaaaata
+tcagccgtaaagtggtgattagcccctccgctgtcgaacgtatgttagtcactcttgcta
+ccggccgcggtttgatgttggtgggggaaccgggtaccgcaaaatctcttctttctgaat
+tactggcaaccgctattagcggcgatgccgggttaaccatccagggcggggcatctacca
+ccgaagatcaaatcaagtatggctggaactacgccctgcttatcaatcatggtccgtcaa
+cggaagcgctggtccctgccccgctttatcagggaatgcgcgacggcaaaatcgtccgtt
+tcgaagagataacgcgtacaccgctggaagtgcaggactgtctgttaggtatgctttctg
+acagggtgatgacggggccggaactcactggtgaagccagtcagctctatgcgcgagaag
+gctttaatattattgccactgccaatacccgcgatcgcggcgtcaatgaaatgagtgctg
+cgctaaagcgtcgcttcgattttgaaacggtttttccgattatggatttcgcccaggagt
+tggaactggtcgccagtgcttcggcgcgtttgctggcccatagcggtattccgcataaag
+tgcctgacgcggtactggaattactggtccgcaccttccgcgatctgcgtgccaacggcg
+aaaagaaaacgtcaatggatacactgacagcgattatgtccaccgctgaagccgtgaacg
+tggcccatgctgtgggcgtccgcgcctggtttttagcgaatcgcgcgggggagcctgccg
+acctggtggaatgtattgccggaaccatcgtcaaagataacgaagaagatcgcgcgcgtc
+tgcgccgttacttcgaacagcgtgtcgccacacataaagaagctcactggcaggcttatt
+atcaagcccgccaccgcctgccgtgaggaaagatgcatgagcgagccgttaattgtcggc
+atccggcatcatagtccggcctgcgcccggctggtgaaatcgttaatcgaaagccagcgg
+ccacgatacgtgttgattgaaggcccggctgattttaatgaccgggtagacgaactgttt
+ttagcccaccagcttccggtagctatttacagttattgccagtatcaggacggtgcagcc
+cccgggcgtggtgcctggacgccatttgctgaattttcgccggagtggcaggcgctacaa
+gccgcacgtcgcattcaggcacaaacttacttcatcgatttgccttgctgggcgcagagt
+gaagaagaggacgattcgcctgatacgcaagatgaaagccaggccttactgctgcgtgcc
+acccgcatggataacagcgataccctgtgggatcacttgttcgaagatgaaagccagcaa
+actgcattaccctctgcgctggcgcactattttgcccaactgcggggcgacgcctccggc
+gatgcgctcaatcgtcagcgcgaagcctttatggcccgctggattggatgggcgatgcag
+caaaataatggcgacgtgttagttgtctgcggtggctggcacgctccggcactggcaaag
+atgtggcgcgaatgccctcagaaaattaacaagccagaattgccctcgctggcagatgcc
+gttacaggttgttatctcacaccctacagtgaaaagcgccttgatgtgctggcaggatac
+ctttcaggaatgcctgccccggtatggcaaaactggtgctggcagtggggcttgcagaag
+gccggtgaacaactgctaaaaactatccttacccgtttgcgccagcacaaattgcccgct
+tctaccgcggatatggctgccgctcatctgcatgcgatggcgctggcacagttgcgcggt
+catacactaccgttacgcactgactggctggatgccatagcaggctcgctgattaaagaa
+gccctgaacgcgccgttgccgtggagctatcgcggcgttattcatcccgataccgatccg
+attctgctaacgttgatagacacattagcgggtgacggattcggtaaacttgccccttct
+acgccacaaccgcctctgccaaaagatgtcacctgcgaactggaacgtaccgcaatctcc
+cttccggcggagcttaccttaaatcgctttacccccgatgggctggcgcaaagtcaggtg
+ttacatcggctggcaatactggagatccctgggattgtacgccagcagggaagtacactg
+acacttgcaggcaacggtgaagaacgctggaaattaacccgcccgcttagccagcatgcg
+gcattgattgaggccgcctgttttggtgccacactccaggaagccgcacgcaataaatta
+gaagccgatatgctggacgcgggcggaatcggcagtatcaccacatgtcttagccaggcg
+gcgttagcgggtctggcgtccttcagtcaacaattactggagcaactcacactattaatc
+gcccaggaaaatcaatttgccgaaatgggccaggcgctggaagtgctttatgccttatgg
+cggctggatgaaattagcggtatgcaaggcgcgcagatattacaaacgacgttatgcgcg
+actatcgatcgcacgctgtggctgtgtgaatctaacggcagaccggatgaaaaggagttt
+cacgctcacctgcatagctggcaagcgctttgccatattctgcgcgatctacatagcggc
+gttaatttacccggcgtttctctttctgcggcggtagccttactggagcgacgcagtcag
+gcaattcatgccccggcgctggatcgcggcgcggctcttggcgcactaatgcgtctggaa
+catcccaacgccagtgccgaagcggcgctgacgatgctggcgcagttatccccggcacaa
+tctggtgaggcgctgcacggtttgctggcgctggcccgccatcaactggcctgtcagccg
+gcatttatcgccggtttcagcagtcatttaaatcaactgagtgaagccgattttattaac
+gccctgcccgatttacgcgcggcgatggcctggctaccaccacgagaacgcgggacgctg
+gcgcatcaggtgcttgagcattatcaactggcgcaacttcccgtttcggcgctgcaaatg
+ccgttgcattgtccaccacaggccattgcacatcatcaacaactcgaacagcaggcactg
+gcatcgctgcaaaactggggagttttccatgtctgaactgaacgatcttctgaccacccg
+tgagctacaacgctggcgattaattcttggcgaagcggcagaaacgacgctttgtgggct
+ggatgacaacgcccggcagatagaccacgcgctggagtggctgtatgggcgcgatcctga
+acggctccagcgtggtgaacgttccggtggattaggtggctcaaatctcaccacccctga
+gtggatcaacagtattcacacgctgtttccgcagcaggtgattgagcggctggaaagcga
+tgccgtgctgcgctacggcattgaagatgtggtgacgaatctcgacgtgctggaacgtat
+gcagccttctgaaagcctgctacgcgctgttttgcacaccaaacatctgatgaaccccga
+agtactggctgccgcccgccggatagtgtgccaggttgttgaagaaattatggctcgact
+ggcaaaggaagttcgtcaggctttttctggtgtccgcgatcgccgtcgccgttcatttat
+tccactggcgcgaaactttgatttcaaaagtactctgcgcgccaacctgcaacactggca
+cccgcaacacggcaagttgtatatcgaatccccccgctttaacagccgcattaaacgcca
+aagcgaacaatggcaactggtcttactggttgatcaaagcggatcgatggtcgattcggt
+gatccactctgcggtgatggcggcctgtttgtggcagttacccggcattcgtacccatct
+ggtggcgtttgacacaagcgtcgttgatctcacggcagacgttgccgatccggtagagtt
+attaatgaaagtacagttgggcggcgggaccaatatcgccagtgccgtggagtatggtcg
+gcaacttattgaacaaccagcgaaaagcgtcattatcctcgtgagcgatttttacgaagg
+gggttcatcatcattactgacgcatcaggtgaaaaagtgtgtccagagcggcatcaaagt
+gctgggactggcagcgctcgatagcaccgcaacaccttgctatgaccgcgatacggccca
+ggcgctggttaatgtcggcgcacaaatagccgccatgacgccgggcgagctggcatcatg
+gcttgcggagaatcttcagtcatgaattcactacgtccggaattattagaactgacaccg
+caggccctgacggcgttaagcaatgccggttttgttaagcgcagtcttaaggaactggaa
+aatggcaacgtcccggagatcagccatgagaacgacgctttaatcgccaccttcagtgac
+ggtgtccgtacccagctggcgaacggccaggcactgaaagaggctcagtgcagttgcggg
+gccaacggtatgtgccgtcatcgcgtgatgctggtgttaagttatcaacgactttgtgcc
+accactcagtctacggaaaaagaagaagagtgggatccggcaatctggctggaagaactg
+gctacccttcccgatgctacccgcaaacgcgcacaggcgctggtcgctaaaggcatcacc
+attgagttgttctgtgcgccgggtgaaattccctctgcccgcttaccgatgagcgatgtg
+cgtttttattcccgcagcagtattcgtttcgcccgttgtgattgtattgaaggcacactt
+tgcgaacatgtcgtactggcggtacaggccttcgtcgaggccaaagcgcagcaagcagaa
+tttaaccatttaatctggcagatgcgcagcgaacacgtcacatcatctgacgatccgttt
+gccagcgaagaaggcaacgcgtgtcgtcaatatgttcagcaattaagccagacattatgg
+cttggcggcatcagccagccgctcatccattacgaggcagcattcaaccgcgcattgcag
+gcggcagagacctgcaactggcgctgggtgagtgaatcgctacggcaactgcgcgccagc
+gttgatgccttccacgcccgcgccagccactataatgccggagaatgcttacatcagctt
+gcggcattaaacagtcgattaaattgcgcacaagagatggcccggcgcgacagtattggt
+gaagttcctcctgtgccgtggcgcacggtcgttggctctggcattgccggagaagcaaag
+cttgatcatctgcggctggtgtctttaggtatgcgttgctggcaggatattgagcattat
+ggtttacgcatctggtttaccgatcccgacaccggcagtattttgcacctttcgcgcagt
+tggccgcgaagtgaacaggaaaactcaccggcagctacgcgtcggctgtttagttttcag
+gctggcgcactggcgggcgggcaaattgtttcacaagcagcaaaacgcagtgccgatggc
+gagctgctgttagctacccgcaaccgcttaagcagcgttgtgccgctgtcgcctgatgcc
+tggcaaatgttgagcgcgccgttacgccagccgggcattgtggctttgcgggaatattta
+cgccagcgtccccccgcctgcatacggcctcttaatcaggtcgataacttatttattctg
+ccggtcgctgagtgtatttcgctcggttgggacagcagccgccagacgctggatgcgcag
+gtcattagcggcgaaggggaagataatgtgctgacgttatcattaccagcctcagccagc
+gcaccttatgccgttgaacgcatggcggcgcttttgcaacaaacagacgaccccgtgtgt
+ctggtttctggctttgtcagttttgttgaagggcaattgacactggaaccacgggtgatg
+atgacaaaaacccgtgcctgggcgctggacgcagaaactacgcctgtggcaccgctacct
+tctgccagcgttttgcctgtgccgtctactgctcatcagttgctgatacgctgccaggcg
+ttacttattcaactgctccataacggctggcgctatcaggaacagagtgctattggtcag
+gcatagttgctggcgaatgacctcaccgcggtgggtttttatcggctggcacatgtgttg
+ggacaatttcgtaatacagaaagcgaggcacgggtagaagcaatgaataacggtgttttg
+ctttgcgaacaattattccccatgcttcagcaacaaggatgaaatagtgctttttactaa
+gagttctactccagttccggactgctcacgccacggtattaggcatatcctatatagccc
+ctggtgagagtcaccagttccttgattaaataaaatggagttttacatgaaggctttcaa
+taagctgttttccctcgttgttgcatctgttctggttttctctcttgctggctgcggtga
+caaagaagaatcgaagaaattcagcgccaatctgaacggcactgaaattgccattaccta
+tgtctacaaaggtgacaaggtgcttaagcaatcttctgaaaccaaaattcaatttgcctc
+cattggtgcaaccaccaaagaagatgctgccaagacacttgagccgttaagcgccaaata
+caaaaacatcgcgggtgttgaagaaaaattaacctataccgatacctacgcgcaggaaaa
+cgtgactatcgatatggaaaaagtggattttaaagccctgcagggtatttcaggaatcaa
+cgtttctgctgaagatgccaaaaaaggtatcactatggcgcaaatggaactggtgatgaa
+agccgctggttttaaagaagtgaaataatcggttggcggtcatgctctaaacatgaccgc
+caattttttagccttttttcacatgctggcgcgctgccagtccacgcagaaaataacgta
+aaaattgatcgccgcattcgcggaagtttttatgatccggtgcgcgcatcatcgctgtaa
+tttccggcatcgaaacgcggaactgctgttcggtgaggatagccagaatgtcatcggttt
+tcagcgaaaacgcgatgcgtaattttttcagcacgatgttgttattaatgcgacgttccg
+gctccagtgccggagcagactcatccttgccgcgtttttcataaatcaggccattgagga
+atgacgacaaaacaatgtccggacaacgctgaaaaccctcttcgtcttctttacgtagcc
+agacggcgatctgttccgcggtggcttcgacattacccagcgccagaatacgcaccaggt
+cattattattggctttcaaaatgtagcgcacgctgcgcagaatatcgttacttagcatga
+ggccttcaggtgttgatgaggcaaaaagccattttagcagtcttttacaggccaatcgcc
+tcttttaagcttttcagataacggcggctgaccggcacggttaagccattacgcaaaatc
+aactcggcctggccgttatcttccagacgaatctcctgtaaatgcgcgaggttaaccaga
+tactgacgatggcagcgcagtagtggtgtacgactttccagggtacgtaatgtcaattcg
+gtaaagccctctttcccttcgtggctggtaacgtagacaccgctcatccgactgctgaca
+aatgccacatctttcatttgcagcaaataaatccgactatgccccgtacaagggataaat
+ttcagcgcctgttgattttccggtaacagcgaaacatcctgcttgctgcgctcctgacgc
+aatcgcgccagcgttttctccagtcgcgcttcatcaattggcttcagcagataatcaaag
+gcatgttcttcaaaggctttaattgcgtattcgtcaaacgcagtgagaaaaacaatatac
+gggcgatgttccgggtcaagcatccccaccatttccagaccactgatgcgcggcatctgg
+atatcgagaaacagcacatccgggcgcagtttatgcaccgcgccgatcccttccacggcg
+tttgaacactctccaacgatttcaatatcgctctgctcctgcaaaaatacacgcaggttc
+tcccgtgctaacggttcatcatcgacaattaagactttaatcatgcctcgtccctccatg
+gtagtcgtaacgttattcgggtgtaactatcaggctcacaggcgacgcttattccatagt
+catcgccaaaccgttcacgtaaacgcttatccaccagattcatccccagcccactggcat
+tggttaccggttgatacaaaccggcattgtcttcgatctccagcatcaaatgttgcccct
+cacgtcgggcgctgattgccactcgccctgtatccagcagttgtgatgtcccatgtttaa
+tggcgttttccactatcggttgcagggtaaacgcgggcaattgctgctgggataattctt
+gcggaatagcaatgttgacctgcaaccgcgactggaagcgcgccttttcaatttgcagat
+aagcattcacatgttcaatttcgtcggcgagagtaacaaactccgaaggccgctttaagt
+ttttgcggaaaaaagtggaaagatactgcaccagctggctggcctgttcgctgtcgcggc
+ggatcaccgctttaatggtgttaagcgcattaaacaaaaaatggggattcacctgggcgt
+gaagcagtttgatctctgactgggtgagcatcgctttttgccgctcatattgcccggcaa
+ggatctgcgccgaaagcaattgcgcaatcccctcacccaacgtgcggttgattgaactga
+ataaacggtttttggcttcatacaatttgatggtgcccatcacccgctgattttcaccac
+gcaacggaattaccagcgtcgaccccagtttgcattgcggatgcaaagagcaacggtaag
+gtacttcgttgccatcagcgtagaccacttcaccggtttcaatcgcttttaaagtataag
+ttgaagaaatcggtttgccgggtaaatggtggtcgtcaccaattccggtaaaggccagca
+atttctctcgatcggtaatcgcgactgcaccaatatccagttcctgatacagcacctgag
+ccactttcatgctgttcacttcgttaaacccctggcgcaaaatgccttccgtcgaggctg
+ccactttcagcgcagtggcagaaaaagccgaagtgtatttttcaaacatcgcgcgtttat
+cgagcaatatacgcataaacagcgccgcgccgacggtattggtgaccatcattggcgcag
+caatattactcaccagacgcaccgcatcttcataaggtcgggcgatcgcaaggatgatca
+gcatttgcaccatttcagcgacgaacgtgacggcaccggcggtaatggggttaaagactt
+tatcagtgcgcccgcggcggatcaggatgctgtgtaccaggccaccgagtaatccttcaa
+cgatggtcgagatcatgcaacttaacgcggtcatgccccccatcgaatatcgatgtaagc
+cgccggtcagcccaaccagcccaccgacgaccggaccgccgagtaagccgcccattaccg
+cgcctatcgcacgggtattggcaatagaatcgtcaatgtgcaacccaaaccaggtgccca
+tgatgcagaagatggaaaagacgatgtagcagagaaatttatgcggcagacgaaccgtga
+cctgcattaacggtatgaataatggcgttttactcattaaccatgcaatgactaaaaaaa
+cgcacatctgctgaagcagcagcaacaccagattaaaatcgtacatacccgcaaaccaca
+cttccctttaaaacgcgtaacatacattgcctgcgtttaactttctttgaactcttgcag
+aaaaatgagaattcgtgagtacgatcactcaaaatcgcctggcaaaaataaaatcaccct
+atagatgcacaaaaaacgggcaaaactacctggttcgcaaaactgcgtctaaagttaaac
+cgggacctcgcgagcaagggtgagacgatggcgctttacacaattggtgaagtggcgttg
+ctttgtgatattaatcctgtcacgttacgcgcgtggcagaggcgttacggattgctgaaa
+ccgcaacggacagacggcggtcatcggctgttcaacgatgccgatattgaccggatccgc
+gagatcaaacgctggatcgacaacggcgtgcaggtcagcaaagttaaaatgctgctcagt
+aatgaaaatgttgatgtgcagaacggctggcgcgatcagcaagaaacattactgacttac
+ctgcaaagcggcaatctacatagcctgcgaacgtggatcaaagagcgcggtcaggattac
+cccgcccagacactcaccacacatctgtttattcctctgcgccgacggcttcagtgccaa
+caaccgactctccaggcgctgctggcgatcctcgacggcgtactgatcaactacatcgcc
+atttgtctggcttcggcacgtaaaaaacagggtaaagatgcgctggtggttggctggaat
+attcaggataccacccgtctgtggctggagggctggattgccagtcaacaaggatggcgc
+attgatgtcctcgcccactcgctcaatcaactacgccctgaactattcgaaggccgtaca
+ttgctggtgtggtgcggtgaaaatcgaacctccgcccaacagcagcaactcaccagttgg
+caagaacaaggccatgatattttcccactcggcatttaatgattcgttaacaaatgcgct
+ttactgtacaatcctttcgttaacataaggagtgcattatgcgcatagctaaaattgggg
+tcatcgccctgttcctgtttatggcgttaggcggaattggtggcgtcatgctcgcaggtt
+atacctttattttgcgtgctggctaagcgcctgcaccagcctttcaaacaggcggtctgc
+gatgatcgccgccagtgccaccagtaacgccccctggatcacatacgcggtattaaatcc
+gctaagcccgatgatgatgggcgtacccagcgtgctggcccctaccgttgaggcgatcgt
+cgccgtaccaatgttgataatcaccgaagttcgcacgcccgccagaatcaccggagccgc
+cagcggtagctcgaccttacgcactcgctgaccacgactcattcccatacctttcgcaac
+ttctgtcacgctggcatcaatcgctcccagcccggcaagtgtcgcctgcaggacgggcag
+cacaccgtaaaggatcaaggcgataatcgctggttgcagaccaaagccgatcaccggaac
+ggcgatcgccagcactgcgacgggcggaaaagtctgtccaacggcggcaatagtttccac
+cagtgggcgaaattccgcgccccacgggcgagtgacagcaattccggcaccagtgccaat
+gatcaccgcaaacaaactcgaaattcccaccagccagaaatgagccagtgccagagctgc
+aaaactttcttgctgataaacgggtcgtggcagttgtgggaacaaggcagcaaacagcgg
+ctggctgtaaggcagccagaaaatcagcgccacaaacagagcaatgagccagaacagcgg
+atcgcgcaacatcttcatacgcttacgcctccaccagcagatcctgaaaatgcagcgtgc
+cgcaaggctggccctgcatgttcaccaccggcagcacctcgcatccccgcgcaacaaaca
+gagagagcgcatcgcgtagcgtcatctcttctgccagtgcctcaccatctgctcgttctt
+cgcgacgcacgtaatccgccacactacgtaacgaaagcaggcgcacacccagttcactac
+gtccaaaaaactggcggacaaaatcattcgccggacgagtcagcatcgtcagcggattgc
+cctgctgcactacttcaccgtgatccatcaataccagatgttctgccagccgtagcgcct
+catcaatatcatgagtgaccagcacaatggtacgccccagcaaacggtgaatgcgcgtca
+tctcttgttgcaacgcgccgcgcgttaccgggtccagtgcgccaaaaggttcatccatta
+gtaagacttgcggatcggcagccagtgcacgcgccactcccacacgttgctgctgaccac
+cggaaagctgatgcggataacgctcacgcaaatttgactccagccccagtagcgccatta
+attcgtcgatacgatcgtcaatccgcgcccgcgaccatttttgtaattgcggcacggtag
+cgatgttttgcgccacgctccagtgggggaacaggccaatagattgaatggcatagccca
+tccggcggcgcaactccagtactggcagcgagcgaatttcttctccggcaaagcggatct
+ctccgctgtcatgctccaccaggcggttaatcattttcagggtggtggatttgccggagc
+cagatgtgccaatcagcaccgaaaaactcccttcctgaaaattgagattgagatcgttaa
+cggctttttgtgcgccgaacagtttgctgacatggctaaattcaatcattacgtttcacc
+ttcagcagtgcgataagcaaatcgaacagcgcgtcggtaagcaccgccagaacaattacc
+gggatcacccccagcaacactaaatcaatggcgctgcttagcagcccctggaaaaccagc
+gcaccaaaaccgcctgcgccgattaacgccgcaatcaccgccatacctacagtttgcacc
+atcaccacccgcaggctgcgcagaaataccggtaacgccagcggtaactgaacatgcagg
+aaacgctgcgccccgctcatccccatcgctctggcgctttccagcacatcgcgcgggatc
+tggttcaaaccgactaccacgccgcgcaccagcggcagcaaggcatagagcaccagcgca
+atcagtgcgggtgtcattccggttcctgctatgccgagcgtccccagccacggaaaggcc
+gtaaccagcgcggcaagcggcgcaatcaacaggccaaagagcgccaccgaaggcacggtc
+tgaatcacattgagcagagaaaaaattgccccctgccgagcagtggaaaagtagcaccag
+atgcccaacggcacaccaatcactaacgcaggcagcaccgcaccaaacagcaacgtcaga
+tgttgtgccagcgcgtcgtcaaacacatcctgacggttggcgtattctttcattagtgag
+agatcgttaagcgtgccggagtacagcaaccacagcggaataatggcaatctgcatatgc
+aacaaccagcgccacagcggatgcgtggagattcggcggatggcatcgctacaggccagc
+aatgccagcgccgcagccagccagaaaccactgccgaggctggtacgcgccagcgcactg
+ccattttgcgccagttgggtcgccgcctttccagctccccacaccagcaatacgaagacg
+aattgcgccagaatgagtgcacaaatgctgccttttttaccgggaataaaacaggccgtc
+agccaggcgcaaccaacgcccaccagcatccagatcgtttgcggccacagctgccagaga
+tgacgcccctcacccgaaactaaacgattaggcgcgtaactgataaacggcagcgccgct
+gcgattgccgtcagcaacagcagcagcgccagaacaggattaatacggaaataagtcacg
+ggaaattacttcgtccaccctttttgtttcaggtagtcggcagccacttttttggcatcc
+agtccttccacagcaatgctggcattcagttgctgcaatgtttttgcatcgaggctggcg
+aagactggctgtagccactgtgccatttgcggatactccctcaacaccgactcacgcacc
+actggtgcaggcgcgtagataggttgcacaccttgcggatcgcttaaggtttgcagcccc
+agcgccgctaccgggccgtcagtgccgtaagccattgcagcattaacgccagaggtttgc
+tgggcagcggctttgatcgtcaccgccgtgtcgccaccagccagtgacagcaactgatcc
+tgaccgagcttaaagccataggctttttcaaacgcgggtaacgcatcggcgcgttcgata
+aactctgccgaggctgccagtttgaaggtgccgccctcttgcagataacgactcaggtcg
+gcaagcgaagtgagtttatttttctctgccacatcctgacgcacggcgatagtccaggtg
+ttatttgcaggcgcgggcgtcagccagattaacttgttgtgctccgaatcgagctttttg
+actttctcgtaaccttgctgcgcgtttttccacgctgcatcgttttcatctttaaagaag
+aaagcgccattgccggtatattccggatagatatccagttcaccggaagtaatcgccccg
+cgcaccacaggagtcgttccgagttgcactttattcaccgtcggtacgccgtggctttcc
+agcacctgcaaaatgatattgccgagtagcgcaccttcggtatcgatttttgaaccgact
+ttaacgggggaagccgcctgtagcggcaggctcacggctgccaacataaccagtgaacct
+gcccagagctttaagagtggcatgatgctttcctcattcttttactgttgttttcagcga
+attaagagaaaagcatagttgataatggcggggttagcttgagcggaaggattcagttgc
+agaatcagataaatacttaagaggcatattcggtccggcgtttcctgccggatgcggcgc
+gagcgccttatccggcctacaaagggcgcaaacgtcgcgcccttactaaagcattacagc
+aactcaaactcgcctttcttaacgcgtgcggaatcagtgccgataaagacattgaacttg
+ccaggctcggcgtcatatttcatctgttgattccagaacttcagcgcctcaatatcgatc
+gggaagctgacagtctgagtttcgcccggtttcagggtgattttctcaaagcctttcagc
+tgtttcacagggcgactcatggaagccgtcacatcctgcaagtacatctgcactaccgtg
+gcaccctcgcgcttaccggtgttcgtcacctgcacgctggcagtcactttgccgtcacgc
+ttcatggtcggcgcagaaagtttcacatcagagacggtgaaagtggtgtagctcagccca
+tagccgaacggatacaacgccccgttagcttcatcaaaataacgcgaagtgtatttgttc
+ggcttgtcggcattatacgggcgaccggtattcagatggctgtagtacaccgggatctgc
+ccgacagaacgcgggaaggacattggcagcttgccggacgggttgtaatcgccaaacaat
+acatcggcaattgcattaccgccttcagtccccgcaaaccaggtttccagaatcgcatca
+gcctgctgatcttctttcaccagcgccagcggacgcccgttcatcagcaccagcaccagc
+ggtttaccggtggctttcagcgccgcaatcaagtcacgttggctttgcggaatagtgata
+tcggtccggctggaggcttcgtgcgccatcccctgtgcttcaccgactacagccaccacc
+acatcagattgtttcgccgtctgcaccgcttcatcaatcatctcttgcggcgaacgcgga
+tcgactttgaccgcttcttcatactgattcaggaaatcgataatgcctttgtcactggta
+acgttcgcccctttggcatacagcactttaccgttttcaccgacggcatttttaatcccg
+gtcagtacggtcacggattgatcggcaacaccggctgcggaccagctgcccatcacgtca
+cgtttactgtccgccagtggcccaaccaccgcaatggtggccgattttttcagcggtaac
+gtttcgagacggtttttcagcaacaccaagctttcgcgcgccacttcacgcgcttcttta
+cggtgcaggcggctttcggcattggtatccaccgggtcagactctttcggccccaaatgg
+ctgtatgggtcgttaaacaaccccatatcatatttaacgttcagtacatggcgggcagca
+tcgtccagctctgccatcgtcactttgccggatttaatcaacccaggcagatacttcgag
+tagtactcgtcgctcatgctcatgttgattccggatttcagcgccacgcgcaccgcatct
+tccgggtctgccgccgtgccatgtttaatcagctctttgattgcaccgtgatcggaaacg
+gtgatgcctttaaagccccactggtcgcgcagaacatctttcagcagccaggaatcggag
+gtggctggcgtgccgttcagcgagttcagcgccaccatcaccgcgccgctgcctgcgtcc
+agccccgctttgtacggcggcatataatcattaaacaggcgctgcggactcatatcgacg
+gtgttgtactctttaccgccttctaccgcgccgtatgcggcaaagtgtttgacgctggtc
+atcaccgagtagcgatctgccgggcttttaccctgcatcgcttccaccatggttttaccc
+attgttgaggtgagatacgtatcttcgccaaaaccttcggaagcacgtccccagcgcgga
+tcgcgcgagacatcgaccatcggtgcccaggtcatattcaggccatcatctgccgcttca
+taagcagagacacgtccgaccgttttcactgcatcgaggttaaaagacgaggccagaccg
+aggctaatcgggaacaccgtgcgctgaccgtgcagcacgtcgtaagcaaagaaaagagga
+attttcaggcggcttaattccatcacctgatcctgcatggcgcggatatcctgacgggtt
+acggtgttgaaaatcgccccaacctgaccgtctttgatcatctcgcggatcgcctctttc
+gggttatccgggccgacgctgattaagcgcagctgaccaattttctcatcaactgtcatt
+ttcttaagcagttcggtgacgaacgcatcccgcgcttcgggcgttaatggatggttgccg
+aataaatcatccgccagtgctggctgcagggccagactcaccgcgattcctactgaacat
+agccatttcatatggatttttcttcctttgttgcccgacgtggcagcgaaaatggtgcaa
+aaaccgtagtttgccataagcatgatggagagagaaaaagaatgctcagtttattgtctg
+aattttcaaaatattcactcgctgaattgttatacaaggcgctattctagtttgtgatat
+tttttcgccaccacaaggagtggaaaatgtcttccatgacaacaactgataataaagcct
+ttttgaatgaacttgctcgtctggtgggttcttcacacctgctcaccgatcccgcaaaaa
+cggcccgctatcgcaagggcttccgttctggtcagggcgacgcgctggctgtcgttttcc
+ctggctcactactagaattgtggcgggtgctgaaagcctgcgtcaccgccgacaaaatta
+ttctgatgcaggccgccaatacaggcctgaccgaaggatcgacgccaaacggtaacgatt
+atgatcgcgatgtcgttatcatcagcaccctgcgtctcgacaagctgcacgttcttggca
+agggcgaacaggtgctggcctatccgggcaccacgctctattcgctggaaaaagccctca
+aaccgctgggacgcgaaccgcactcagtgattggatcatcgtgtataggcgcatcggtca
+tcggcggtatttgtaacaactccggcggctcgctggtgcaacgtggcccggcgtataccg
+aaatgtcgttattcgcgcgtataaatgaagacggcaaactgacgctggtgaaccatctgg
+ggattgatctgggcgaaacgccggagcagatccttagcaagctggatgatgatcgcatca
+aagatgacgatgtgcgtcacgatggtcgtcacgcccacgattatgactatgtccaccgcg
+ttcgtgatattgaagccgacacgcccgcacgttataacgccgatcctgatcggttatttg
+aatcttctggttgcgccgggaagctggcggtctttgcagtacgtcttgataccttcgaag
+cggaaaaaaatcagcaggtgttttatatcggcaccaaccagccggaagtgctgaccgaaa
+tccgccgtcatattctggctaacttcgaaaatctgccggttgccggggaatatatgcacc
+gggatatctacgatattgcggaaaaatacggcaaagacaccttcctgatgattgataagt
+taggcaccgacaagatgccgttcttctttaatctcaagggacgcaccgatgcgatgctgg
+agaaagtgaaattcttccgtccgcattttactgaccgtgcgatgcaaaaattcggtcacc
+tgttccccagccatttaccgccgcgcatgaaaaactggcgcgataaatacgagcatcatc
+tgctgttaaaaatggcgggcgatggcgtgggcgaagccaaatcgtggctggtggattatt
+tcaaacaggccgaaggcgatttctttgtctgtacgccggaggaaggcagcaaagcgtttt
+tacaccgtttcgccgctgcgggcgcagcaattcgttatcaggcggtgcattccgatgaag
+tcgaagacattctggcgttggatatcgctctgcggcgtaacgacaccgagtggtatgagc
+atttaccgccggagatcgacagccagctggtgcacaagctctattacggccattttatgt
+gctatgtcttccatcaggattacatagtgaaaaaaggcgtggatgtgcatgcgttaaaag
+aacagatgctggaactgctacagcagcgcggcgcgcagtaccctgccgagcataacgtcg
+gtcatttgtataaagcaccggagacgttgcagaagttctatcgcgagaacgatccgacca
+acagcatgaatccggggatcggtaaaaccagtaaacggaaaaactggcaggaagtggagt
+aaaaattacggatggcagagtatcgccatccgaattcacttaatcgttctgtgccgtctg
+ccccgccgccgccatttgggcggctttttgttttttatagctcaacgctgctgccggcac
+aggcatcactttaccggtttcaatccaggtacgcaggcggctggcatcggcaaaatgggt
+atatttgccaaacgcgtccatcactaccagcgccaccggtttattattgataaccgtacg
+catcaccagacaatggcccgccgcattggtaaagccggttttggttaactgaatattcca
+gttatcgcgatacaccagatgattagtattgcggaacggcagcgtatacgtcggattaga
+gaaggttgccatatcttcccgggtagtacttaactgcccgatcaacggatattgtttgct
+ggcaatgagcagtttggttaagtcacgggcagttgaaacgttatgcaccgacaatccggt
+aggttcaacaaagcgcgtgttgttcattccgagcgatttcgctttcgcattcattgcctt
+aataaaggctttgtaaccaccgggataatggtgcgcaaggcttgccgccgcgcggttttc
+tgaagacatcagcgccagcaacagcatatctttacggctgatttcgctattcagtcgtac
+gcgcgaatagacccctttcatctccggcgtctggctgatatccacttttagtttttcatc
+cagcggcagtcgtgcatccagcacaaccatcgcggtcattaatttgctgatagacgcaat
+cggacgcaccagatccgggtggttcgaatagatcactttgttggtattcagatcaacaat
+catcgcgctaccggaggcaatttccggttgtgaagcggtggtagcggctgccgttttcgc
+aacggcctgcggtgcaaaaggcacagccagcatcagggccaggctaaataaagaaactcg
+aaatttcggcatgatgagcattcagatagtggttcacgcgcacgggttgcgcaccgccgg
+agtaaggatttactgaggctagcgacgccatcataacgagcaaaaagtgcgatcgtcaaa
+ggagaatcgtgaggaaatgctgcattgctgacatttacgccagcaatgcaacgtcaaaga
+actttctagaacaaacgataaccgtagccccatagtataacggttagggcgagcagcact
+tccagtaccagcacgccaatcgccagcgtcgaactagagaagctaaggccttcctctttg
+ttgatattcaggaagctcggaataccaaggtaaagcaggtagccggtgtaaaacagcgcc
+accgtgccgaccagcgcacacaaccagaccagtggataaagcgccaccagaccgcttaaa
+aacagcggagttgcaacgtagcccgcgaagaccatgcagtgcgcaagtgacggacgctgc
+ggataattacgcgccatccaccagatgacccgccccatcaccgcgaccccagccagcata
+acgccgtaaaacaagacagccagcgccagtccggtaaaccaggataacttcaggatagtg
+ccatcgccaaaattccagccaatctgtgtagtgccaatgaaggcgcaaatcaccggaatc
+gccgccatcagcaaaacgtggtgggtgtaatggtgagaaatcgtttcgttttcgcgatta
+atcacctgcatttcacgatcgggatgggaaaacagtccccagacatggctcataccgccc
+ccttgttgtgagttcatgaacctgacagttcaagtataagtcagcttgtgattatttttt
+gttcgcccatgtaattttcactgtctgatgaacgtcctttttcagcgtgaatgattcaca
+gggtgtatgcttactggcaaccaaagggagacagactggcctatggatctcaatacactt
+atctcacaatatggttatgccgcgctggtgatcggtagcctggcggaaggtgaaaccgtg
+actttgctgggaggcgttgcggcgcatcaggggctattaaagttcccgctggtggtactt
+tctgtggcgcttggcggcatgattggcgaccaggtgctctatctgtgcgggcggcggttt
+ggcggcaagctgttacgccgtttctcgaaacatcaggataaaattgagcgggcgcagaaa
+cttatccaacgccatccgtatctgtttgtcattggtacgcgctttatgtatggctttcgg
+gtgattggcccgacgctgattggtgccagccagctgccgccgaaaatctttctgccgctg
+aatattctcggcgcatttgcctgggcgttgatttttaccactattggttacgctggtggt
+caggtgattgcgccgtggttgcacaatctcgaccagcatttgaagcactgggtctggttg
+attctggtcgtggttctggtggtgggcgtgcgctggtggctgaaacgacgcgggaagaaa
+aagccggatcatcaggcgtaaaaccattgccctggataaggcgttcgcgccgcatccgac
+atccggagtaccatgcctgatacgacgcttgtgcgtcttttcatgccgaccaaaatatta
+cccaatgaaatatccacgcacctcactgcgctattctgggttgaactgtggattcgccaa
+cataaagccgccatccactatcaacgactgcccggtggtgtaatttgcgccctccgaaca
+aagccacaccaccaggctggcaatctcatgcgttgcgccaaaacgccgcaagggaatcga
+aggctccgcgtcgggcttcacgtcgctgtcatccatgccattcattggcgtggcgatcgc
+cccaggcgcgactgcgttcaccaaaatcttatgcctgaccagctccagcgccatcgcttt
+ggttaacccaccgagcgcatgtttagcggctgtgtaggcgctggcatccggcagcggcgt
+atgttcatgtaccgacgtaatgttgatgatgcgaccgccctgcccttgtttcaccatctg
+acgagccgcaatttgcgagcataagaatgcaccatcgacatcaacggtaaaaatcttgcg
+ccactcatcaaaagccatatcaagaaacggcgctttggtcattgcacccgcattattcac
+cagcacatcaatgcgccccagccgttgaatgagtttctccagcgccagtgccccttctgg
+tagattgccgagatccagctgcacgatctccgcacgtacgccgtggctaactacctcacg
+cgcggtatcttttgccccttcttcatctgagtgccaggtaataccaatatcaaacccctg
+ctgcgccagtaataacgcgcactctttgccgatccccgaatcggaggcggtaataatcgc
+aacctgtgccatcgagttctccacttaacgctgaataaacgttaagtatagaaggcgcat
+atcatcagcgtttgtaccccccgcccaacgcaccagtgagttgaatggaggcatccagcc
+actgcccttgcaataacaggccattggcccgctcacgcagcgcggggattctggcttcgc
+tgacgcgggaaccagcaatgatgcccgcgttaaagcgcgcctgcgcaagacctaccacac
+gcaaggcatcgcgctcaatttgcgcctgatgctggtttttctccgccagtgtctgaacct
+gactggctgcccgcgccacgtcattcaccgcttcaaccaccgctttgttgtagctggcga
+tagacaagttgctttcggcttttgcgatatcgagattggcgttaagacgaccactatcga
+aaatgggtagcgtcaggcctgccgtaacgcccatttgctgcgcggaatgacggaacagat
+cgcttaagtgcaacgcatcctgttgcaggaaggccatcaggttgatgtcaggataaaatg
+ccgcttttgccgcatcaatggtgcttagcgatgactcaacgtaccagtgcgccgcctgca
+aatctgcccgccgggccagtaaggagtaccccagttcatcaggaagctggcttgccactt
+tcggcaacgcgaccggtttaagcttcaatgactttgtctggttatttgtaagtgcgctta
+accgtgcctcaataattttcattttccccgcgacatcgttgagctgctgccgggttttgc
+tggcattaatatcggtttccacaccttcaactgaagaagtaatcccgttctgatatagct
+ggcgatcggtcgcgataatggtgttctgctctttttctatttgctgcaagaccgtgttta
+acgccgcctgggtttgccactcccagtacaggcgggctacgctgccagccagcaattggc
+gggtttgctcgcgttccgccgcccgtgctttaaccgtacccaggcgggcagtaacctccg
+cccgattctttccccagatatcgagatgccagcccgccgttaagccaaaagtaccgttgg
+tgtaccacgggccggtcgtacctgcggccggatcgttcagagcaaacggccccattaagc
+cttctgccgacattttttgccgctccatatccgccgaaaagtcgatctgcggaccatcct
+gagtggcaactgccttcgcctgggcttcagctagctgaatgcgctgttcagccacctgca
+tatccggtgcgttctgtagtgcattgttaattaaggaagtgagttgattatcgtgatact
+ccagccaccattggctgtctggccaaccattttcagcgccgtgggtaatgcggtgtcaac
+ttgtgcagcgggcgtttgctggcttaacgcctggcgggtttcatgcataggcgcacaccc
+ggccagcatcagtaacagcggaaaacaggcgatggctggataaaaggaatcacgattcat
+gggggaataatcaggtaagaaaaggtgcgcggagattaccgtgtgttgcgatatattttt
+tagtttcgcgtggcaatacatcagtggcaataaaacgacatatccagaaaaatatacact
+aagtgaatgatatcttccgatttatcttaatcgtttatggataacggcaaagggcttcgt
+tttttcctatacttattcagcactcacaaataaaggaacgccaatgaaaattatactctg
+ggctgtattgattattttcctgattgggctactggtggtgactggcgtatttaagatgat
+attttaaaattaattaatgtcatcaggtccgaaaataacgagaatatttcagtctctcat
+cctgttgcgctcctgtcatgtgcattgcttcatataatcactggcgcaaggagcgcgcag
+ggggcggccaatcgccgccgccccctgcacccccgggctctggcgaacaaaatcgccgct
+gcgcggtgccctcggcttatcccttacggctaccgggtcgggcgcgaggtaacatccctg
+taaaacgcgccctcagcccacatccatgtgggctgccccggccttcagggaacgcctcgg
+caattttgacgccaccaaacaaccgtgcggcctattgataaagagctaacacattgtcaa
+aaaacatcactatggttttttagagtttctcgatatcaattgcctgaatagcccttgcaa
+tatcaggggaattattcaacacccgaacatgctgaaataattccgttgcttcatcgtatt
+ctttacgcaaataactcaaccactgtttaatccgcgcaacgtgatataacccggtatcgc
+cctgcttttccagacgggtatatttttgcagcaaagcaaccacctccggccacggcattc
+gcggttcgttatattttaccacccggctcaggttgggaatattgagcgccccgcgaccaa
+tcatcactgcgtcgcagccgctgatcgccatgcattgttgcgcgctctgccagtcccaga
+tttcaccgttggcaatcaccggaatattcagccgctggcgaatatcgccaatcgcctgcc
+agtcaatatgctccgcgcggtaaccctgctctttcgtccgcccatgcaccaccagctccg
+tagcgccagcctgttgaaccgcatcggcgatttcaaatttcttctcaccgctgtcccagc
+ccagacgcactttcacgctgacgggcaaatgcgccggtacagcttcacgcatcgcttttg
+caccctggtagatgagttcaggatctttgagtaacgtcgccccgccgccgctaccgttaa
+ccgttttcgacgggcagccgcaattgagatccacgccccaggaacctaactccaccgcac
+gggcggcgttctctgccagccattgtgggaactgacctaacaactgcacgcgcaccagcg
+taccagatggtgtccggctggcgttttgtagctcagggcaaatgcgatgaaagactttta
+ccggcagcagttgatccaccacgcggacaaactcggtgatgcacagatcgtagtcgttaa
+cttcggtcagcaattcacgcaccagagagtcaagcactccctccatcggtgccagtaaca
+cacgcatatcatcacccgcaaaaaaatgaggcgctatgttagcgcctatggtcagcggat
+taaaggtctgcaaagagggattgctgcaaactgcaatccctctctatgcttgatgtatgc
+ctgagttcgctgcgcattgcgtaatgccggggagcgaaaaaataagcgctgatttcttaa
+tgtgatcggtagcacgttttacgaattaattgtatgatgaatccatctcatctggggtgt
+tgattatgagtaagacactgaacattatctggcaatatttacgcgctttcgtcctgattt
+atgcctgcctgtatgcaggcattttcattgcttccctgctaccggtaaccattccgggca
+gcatcatcgggatgctgatcctgtttgtcctgctggccttgcaaattcttccggcaaaat
+gggtcaatccggggtgctacgtactgattcgctatatggcgctattgtttgtgccgattg
+gcgtaggcgtcatgcaatattttgatttgctccgcgcacagtttggcccggtagtggttt
+cctgtgcagtcagtacgctggtggtttttctggtggtgagctggagttcgcaactggtac
+acggtgaacgtaaagtcgtaggtcagaaaggatcagaagaatgatggcgaatatctggtg
+gtcattaccgctgacattgattgtcttttttgccgcccgcaaactggcggcacggtataa
+gtttcccttgcttaacccgttgctggtagcaatggtggtgatcattccttttttaatgct
+gactggcatctcttacgacagctactttaaaggtagcgaagtgctaaacgatctgctgca
+accggcggtcgtcgcgctggcctatcctttatatgagcagctacaccagatccgcgcgcg
+ctggaaatcgatcatcaccatctgttttatcggcagcgtggttgcgatggtgacggggac
+ttccgtggcattgttgatgggcgcttcaccggaaatcgccgcgtcaatcctgccgaaatc
+agtcaccacgcctattgcaatggcggttggcggcagtattggcggtattccggcaatcag
+cgcagtttgcgtgattttcgtcggcatcctcggcgcggtatttggccatacattgcttaa
+tgcgatgcgtattcgtaccaaagctgcgcgcggtctggcaatggggactgcctcgcacgc
+cctcggtacggcgcgctgcgccgagctggattatcaggaaggtgcatttagttcgctagc
+gctggtgttatgcgggataattacttcgctgatcgcaccgttccttttcccgattattct
+ggcagtaatgggctaaaatttgcgatgcgtcgcgcatttttgatgtatgtttcacgcgtt
+gcataattaatgagattcagatcacatataaagccacaacgggttcgtaaactgttatcc
+cattacatgattatgaggcaacgccatgcatccacgttttcaaaccgcttttgcccaact
+tgcggataacttgcaatctgcactggaacctattctggcagacaagtacttccccgcttt
+gttgaccggggagcaagtctcatcgctgaagagcgcaacggggctggacgaagacgcgct
+ggcattcgcactacttccgctggcggcggcctgtgcgcgtacgccattgtcgaattttaa
+tgttggcgcaattgcgcgcggtgtgagcggaacctggtatttcggtgccaatatggaatt
+tattggtgcgacaatgcagcaaaccgttcatgccgaacaaagcgcgatcagccacgcctg
+gttgagtggtgaaaaagcgcttgcagccatcaccgttaactacacgccttgtggtcactg
+ccgtcagtttatgaatgaactgaacagcggtctggatctgcgtattcatctgccgggccg
+cgaggcacacgcgctgcgtgactatctgccagatgcctttgggccgaaagatctggagat
+taaaacgctgctgatggacgaacaggatcacggctatgcgctgacgggtgatgcgctttc
+tcaggcagcgattgcggcggcaaaccgttcgcacatgccttacagtaagtcgccaagcgg
+tgtcgcgctggaatgtaaagacggtcgtattttcagtggcagctacgctgaaaacgccgc
+attcaacccgactctgccaccgttgcagggagcgttaattctgttgaatctcaagggtta
+tgattacccggatatccagcgcgcggttctggcagaaaaagccgatgcgccgttgattca
+gtgggatgccacctccgcaacgctgaaagctctcggctgtcacagtatcgaccgagtgct
+tctcgcttaagcctggtgccggatgcggcgtgaacgccttgtccggcttgccagccctct
+cctggtgtcgaaattcccggcaaacagtttgccgtttcttgcgcaaaaccagcgggtaaa
+gtagcctgatggaaattttccttagatcgagtctcctgcatgttaaagcgcgtgttcctc
+agcctgttagtcctgatcggcttgctgctgttgactgtgctcggcctcgatcgctggatg
+agctggaaaaccgcgccttatatctacgacgaattgcaggatctcccctaccgccaggtc
+ggtgtggtgctcggaacagcaaaatattatcgtactggcgtaattaatcagtattatcgc
+taccgcattcaaggagcgattaatgcctataacagcggtaaggtaaattatctattactg
+agcggcgataacgcattgcaaagttataatgagccgatgaccatgcgcaaagatttaatc
+gctgctggtgtcgacccatcagatattgttctcgattacgcaggctttcgtacgctggat
+tccatcgtgcgtacacgcaaagttttcgatactaatgatttcattattatcacccaacgt
+ttccactgtgagcgagcattatttattgcgctgcatatggggattcaggctcagtgttat
+gccgtaccgtcaccgaaagatatgctgtcagtacgtattcgtgaatttgccgcccgtttc
+ggtgcgctggctgacctttatatttttaaacgtgaaccgcgttttttagggccgctggtc
+cctattccggctatgcaccaggtaccggaagatgcgcaggggtatcccgccgtcacaccc
+gaacagttacttgaattacaaaagaaacaaggaaagtagttatggatgtacagcagtttt
+ttgtcgttgccgtttttttccttatcccgatattttgtttccgcgaagcatggaaaggct
+ggcgcgcaggcgcgattgataaacgggttaaaaatgcaccggaaccggtgtatgtctggc
+gagcaaaaaatcccggactctttttcgcttatatggtggcatatatcggcttcggaattt
+tatctatcggcatgattgtttatcttattttctatcgttaatattcccctctccagttaa
+ttattgagaataattattacttcacctgataagctgcggatatcacattcctaaccgcag
+ctatttgtgaatcttttcacagtttaaattcccccgcacgcttagccttaatatcagtac
+attattatttactaaacgctcgccttaattacctatagcattaaggaagatcacatgccg
+caacaaaattatctggatgaactcactccggcttttacgtctttactggcgattaaagaa
+gcctctcgctgtttattatgtcacgacgctccctgtagtcaggcttgcccggcacagacc
+gatccggggaaatttattcgctcaatctactttcgtaattttaaaggcgctgccgagaca
+attcgcgaaaataatgccctcggtgccgtttgtgccagagtgtgcccgacggagaaatta
+tgccaaagcggttgtacccgtgccggtgttgatgctcccattgatatcggccgcttacag
+cgttttgttactgattttgaacaacaaaccggaatggaaatttatcagcccggtactaaa
+acgctcggcaaagtcgcgattattggcgcaggtcctgccggattgcaggccagtgtgaca
+ctgacaaaccagggttatgacgtcacgatttatgagaaagaagcgcaccccggtggctgg
+ttgcgtaacggtattccgcaattccggttaccgcaatcagtgctggatgcagagatcgcc
+cgtattgaaaaaatgggcgtgaccattaagtgcaacaacgaagtcggtaacacactcacc
+cttgagcagctgaaagcagaaaaccgcgcggtactggtcaccgtggggttatcaagcggt
+tccgggctaccgctgtttgagcatagtgacgttgagattgccgtcgacttcttgcaacgt
+gcacgacaggcgcaaggcgatatcagcattccacaaagcgcattaattatcggcggcggt
+gatgtcgcgatggacgtagccagcacgctgaaagttctcggctgtcaggcggtaacttgc
+gtagcgcgtgaagagttagatgagtttccggcaagcgaaaaagagtttaccagcgcccgg
+gagctgggcgtttcgatcatcgatggattcacgccagtagccgtggaaggcaataaagtc
+acgtttaagcatgtacggttatcgggcgaactgacgatggcggcagataaaattattctc
+gccgtcggtcagcatgccagactagatgcctttgcggagttagagccgcagcgtaacacc
+atcaaaacacaaaattaccagacccgcgacccgcaagtctttgctgctggcgatattgtt
+gagggtgacaaaaccgtggtctatgccgtgaaaaccgggaaagaagccgccgaggcgatt
+catcactatttagagggagcttgctcatgttaacgaaagatctttcgattactttttgcg
+gcgtgaagtttcccaacccgttctgcctctcttcttcgccggtaggcaactgctatgaga
+tgtgtgccaaagcctacgacacaggttggggcggtgtggtgtttaaaacgatcggctttt
+ttatcgccaacgaagtctcgccgcgttttgatcatctggtgaaagaagataccggtttta
+tcggcttcaaaaatatggagcagattgctgaacatccgttggaagagaatctggccgccc
+tgcgtcggctgaaggaagattacccggacaaagtattgatcgcttcgatcatgggggaaa
+atgagcagcaatgggaggagctggcgcgcctggtgcaagaagctggcgcggatatgatcg
+agtgtaacttctcctgtccgcaaatgacttctcatgcgatgggtagcgatgtcgggcaaa
+gcccggagctggtagaaaaatattgtcgggcagtgaaacggggttccacgctgccaatgc
+tggcgaagatgacgccgaatatcggtgatatgtgcgaagtggcgctggcggcgaagcgcg
+gcggcgcagatggcattgcggcgattaacaccgttaaatccatcaccaatatcgatctta
+atcagaaaatcggtatgccgatcgttaacggaaaatcgagtatttccggatattccggta
+aagcggtaaaaccgatcgccctgcgcttcattcagcaaatgcgcacccatccagaactgc
+gcgatttcccaatcagcggtatcggcggcattgaaacctgggaggatgcggctgagtttt
+tattgctcggcgcagcaacgttacaggtgaccaccggcatcatgcagtacgggtatcgga
+tagtggaagatatggcaagcgggttgtcgcattatctcgccgatcagggatttgattcgc
+tgcaggagatggtaggtctggcgaataacaatattgtcccggcggaagatttagaccgca
+gttatattgtctatccccgtatcaatcttgataaatgtgttggctgtggacgctgttata
+tttcctgttacgacggcggtcaccaggcgatggaatggagcgagaaaacccgcacaccgc
+attgtaataccgagaaatgtgtgggttgtctgctttgtggtcacgtctgcccggtgggtt
+gtattgagctcggggaagtgaagtttaagaaaggcgagaaagaacacccggtaacgttgt
+aaaaccagagacgcatccggcatttggttcctgtcgccggatgcggcttgaacgccttat
+ccggcctacaaaaccatacaaatcagtatgttgagcttattgtaggccggataaaacgcg
+ccagcgttgcatccggcatttggctcctgttgccggatgcggcgtgaacgccttatccgg
+cctacaaaaccacacagatcatgatgttatgtgcgtttatgaccgaatgcggaccacatt
+cacatcatttcttacgcgcgtatttcagtgaatccagcgctacggcgaagataataatcg
+cccctttgatgatgtactgccagtatgggtttacgccgatatacgtcaggccatagttga
+tgacggtaaaaataattaccccggtcaccacgccaatcaccgtccccacaccgccgctga
+acgatacaccgcctaccacgcacgccgcgatagcatccagctcatacataaagccgaggt
+tgttggtggcagagccgatacgtccggcttctaacatcccgccaaaggcatagaacacgc
+cagacaacgcgtagatcatcagcaggttcaggccgacgttgacaccagatacttttgccg
+cttccgggttaccgccaatggcaaaaatgttcttaccgaagcgggttttgttccacaaca
+cccagacgaacgccaccgcaatcaacgcgtagaaggtgatgtaagagagacggaaactcc
+ccagcgcgacaaagccctgagcaaaggtagagaagccactgtcaaaaccagaaattggcg
+acgccccgacaaagtcgtaatagagcgagttgatgccatagacgatgatcatcgtgccga
+gcgtggtaatgaacggcgtcacgttgagataagcgataatcagaccgttgatcaaaccga
+tcaccgcaccaatggcacagacaatcagaataaccagcgcaatcggcatcgtcgccattt
+ccgggaacactttgttggcgttatccatggactgcaataatgtcgcagccaccactgccg
+ccagccctacctgacgaccagcagaaagatcggtcccctgggtgacaattaaccctgcca
+caccgagcgcgataataatacgcaccgatgactgggtgagaatattacttaagttcaaca
+gacttaaaaatgttgggtcctggaaaataataatcgccagcaaaactaaaagaacgacgt
+aaataccgccctctttcaggtaagtaagaaaacttttcttatttaacgcactcatgggaa
+gcccctaatcttaaaggtgcaaagacgcaagacgcagaatttcgttttgcgttgttgttt
+ttgtatcgacaattccggaaacgagaccattgctcatgaccagaatacggtctgttatcc
+ctaacaactcaggcatttcagaggagataataataatccccttgcctttcttcgccagtt
+cggcaattaactgataaatttcaaacttcgccccgacatcaataccgcgcgtcggttcat
+cgagcattaatatttctggttgcgttagtagccagcgaccaataatcaccttttgctgat
+taccaccggagagcgaaccaatttgcgtccgatgacccggcgtttttacccgcatcgaat
+caatcacccactgggtatcgcttttcatccgcgagttatccagtaaaccaactttatttt
+tgtagttgcgaatattggaaattaacgagttaaaaccaatatccagataggcataaattc
+ccgttgagcggcgctcctcagttaccagtgcaaatccatggtttatggcttcgttggcat
+tatggttattgatctgtttgccgtgcaacgttatggtgccagccgatttctcgcgaatac
+caaataacgtctcaacaatatcggtacgtttcgcccccaccagaccggcaataccgagga
+tctcccctttatgcagatcaaacgagacatcgcgaatcgacggctggcgcagtgacgtca
+ggttacgtacctcgaggatgacttcgcccggtttgttttctttgtcagggaaacgctggt
+taagagaacgcccaaccatcatggcgatgatcttgtccatcgtcagtcctgccagcggtt
+cggtggcgatccactgaccgtcgcgcaatacggtaacttcatcacataactggaagattt
+cttccattttatgcgagatataaacaataccgcagccgcgctcttttaatttacgaataa
+tagtgaacagatgattgacctctttttcggttaacgaagaagtcggttcatccataatca
+caattttcgcgttataggaaaacgctttggcgatttcgatcatctgcatttgcgaaacgg
+ataatgtgccgacgcgcgcacgcggatcgatatcaatatccagttcgtcaaaaatcgctt
+tggtttcgcggtacattttgtcctgatcgacaaacatgcctttggtgggatatcgcccca
+gccacatgttatccatcaccgaacgttgtaataccaggtttaactcctggtgtaccatcg
+aaataccattttccagggcttcttttgcagaatggaaatcgatctctttaccctggaata
+aaatggtgccggagtctttttgataaataccaaacaggcattttaataatgtcgattttc
+ctgcaccgttttcccccattaatgcatggatagaatgtggccggacttttaaattaacgt
+tatcaagtgccttaacaccaggaaaggacttgttgataccgctcatttccaacaagtatt
+ccccggaggacggagtcgttgagctgaccatataattttaccttgttggccatacaataa
+gggcgcagtaatagactgcgcccaatcagtcttatttcttgctgaattcagccaggttgt
+ctttatctacgccaacataaggtacgcggaccactttgttgtcgattttccagttggtgc
+catcagccgcacctttaccatcggccaggtttttcgccagatcaaaggtcgctttcgcct
+ggttgttagcatcgttcagtacggtgcccgccagtgcaccggatttcaccagcgccagcg
+cttctggcagcgcatcgacgccaaacaccggaatgctggacttgttgtgtgctttcagcg
+cttcaaccgcgcccattgccatcgcatcgttgttggcgataaccacttcgattttgttgg
+cgttcgggccagacagccaggcgtccatcttatctttcgcctgagcggtgtcccacattg
+cggtatctaactgtaactgttcagttttgatgcctttatcgttcaattctttaatcacgt
+aagtggtacgtgcttctgcatccggatggcccggttcacctttcagcagtacgaactgaa
+tctgaccgtctttgttcagatcccaaccctgattcgccgcccagtgtttagcaatcaaat
+cgccttgaataatgccggactctttggagtcagtgccaacgtagtaggctttgtcgtagc
+tatccagcgccttacgagacggttctttgttgaagaaaaccaccggcacgttttgcccac
+gcgctttctcaatcaccgtacccgcagctgccgggtcaaccaggttgattgccagtgcct
+tcacccctttcgccagcaatacgtcgatctgatcgttctgcttggactggtcattctgag
+aatcattcatcagcagctgaacatctggcgcggctttcgcatcttgctcaatagccttgc
+gcactacagacataaagttatcgtcgtacttatagattgttacaccaatgcgagtatcag
+cagcgtgtgcagcggcaccgaataacatgctggccatcacagcagacagggttaacacct
+tcttattcatggtatctccggtttttcttatgcagggtagtgcttgagataaatgctcgg
+cggggcagtagagttaatgaagtgttactgaacgccgaagctcactttttaaaattcgtt
+cttccatgcccggtaacgctccagaaaacggctttaattgttgttatgacgctgttacct
+cggcaaaagtgattattcactgttacatacgggttacaacgttaaaacggtgcaatcata
+gctatcacattgttaagatactgtgaaatcactcacagattgaaagcggttacatcgcct
+gatttgttgagttagtgatcgccgccgcattctggcgtgttgcgacagaatggcgacgca
+ctaacgtcggcataaaacagtggctggcacgaggatcaatattgcctgctgccccctgca
+aggccagttcggtggctaatttcgccattgaagcaatgggataacgcacggtcgttaatt
+gcgggtcggtgtaacgggcgatgggaatatcatcgaaaccgatgattgagagatgtaacg
+gaatcgcaatgccattatcttttaatgctgtcagtgcgccagcggccatattgtcgttat
+aagcaaatacagcggtaagttgtagattgcgccccagcagttcaaccatcgccgcctcac
+cgcccggcatgtccggcgtaccagcgccaatccagctttccggcggaataatatcctgct
+ctttcaacgcactcatccagcctgctttacgcatggcgtcatcttcaatgccgtggctgg
+aagaaagataaccaatacgttgatgaccgttattcagcaacatgcgcgtcgccattcggg
+caccgctgagattatccaggcaaacgcaacgatgggcgtaccccggcacaacgcggttga
+ttaacaccataccgggaatgttatccataaattgcgccagttcatcgtcactcaatgctt
+ttgagtgaacaatcaacgcattacaacgctggcgaattaacacctcaatggcgtgacgct
+ctttttccgcttcatgatagctattgccgattagcacgtatttctgatgctgctgagcga
+ccagatccaccgcttttaccagcgcgccgaaaaacgcatcagaaacgtccatcaccacca
+cgccaatggtgtcgctaacctgagttgccagcgcctgggcattggcgtttggccgataat
+ccagctcactcacggctttcattactgcttcacgcgtgtcggcactgaccagcgtgctgt
+tattgagcacccgggaaaccgttgccacagagacgccagcctgacgcgctacatcacgaa
+tggtgatcatattcactacctgttatgagattgcagtaaatgactgcttgctggcggcta
+ttttgtcagcactgaatacaggacttcgtgaatcgagtcacagcaatggaaacggttaca
+gccgttttgttaacgaatgtgatccagatcgttatcttgatgttttagatattgccggtc
+cggcagcacgcaaagttaactgacgccagagccattccaccggcccctggcggaagtaac
+gcagccagataacagagaagaggatattcgccagccataccggaataacaaacgccagca
+gctccaggcggtcaaaatgcataaacaaaccgaggtggtaaaaaagcgtggtacaaatca
+gcgtttgcaatagatagttggtcagcgccatccgtccgacgcaggcgatcgcaagcacca
+gcttaaagcggctcaattgcggccagaagccataaaacagcgacgcatagccaatcgcct
+gaaacggcgcactcagttcccgcggcatttgaagtaagaaggcacaccagcgatacgccc
+agtccagctgccattgcagggcgatggcaggaaggttaatggtcaccccaatcgccacca
+gcacaaaaccagtacgacgatagtgacgtaagctgaactgccctttcagccagccgctgc
+gcatcagcgccgcaccaatgagcatcatccctgccagttgccagccatactgtgcgccca
+gtgccagtaaactgttgccaacaccatcggcacgattactgatcgcttcaacgccgccgt
+gaagcttccagtatttttcatacaaaatagccgatgcatccggcgtccaggcgcggctgg
+tctggctgtcggaaatcagccccaataacagcaaaacgccaagccccaccagataaagca
+tgacgcctgtattaaacaggctttttaccgatggcgcatcgcgcaccagccgccagcaga
+ttaagcccaccagcccgtaagccagcaaaatatcgccgtcccagaacaataaaccgtgaa
+taaagcccaacaagactaacagcgttaaccgcgactggatccagcgtctgccacggggca
+gcaacatttgcaggcccgcaccaaacagtagcgcaaaaagcgtgaggaatttcacctggc
+cgatgagatcaagaaatgcccaagtccatgcatcccgcggcgtaatagcaccgtaccagg
+cgggattgagataagccgcctttggtagcccaaaggcgctgatgtttaatagcaggatcc
+ccagaatggcgacgccgcgaacaaaatcgagcgtgacgttgcgctccatggttcctgcct
+tttaatcagttgtgatgacgcacagcgcgcagaaactcgtggcgcgtattctgactggat
+ttgaacaatccaccaagagaggtcgttgtcgtggcactggttgcatcgcggatgccacgc
+gccttcacgcagtaatgcaccgcgtcgatcgagacagccacgttattggtgcccagcagc
+gtttgtagcgcaataagaatttgctgcgtcagacgttcctgcacctgcggacgctgggca
+aagaactgcacaatgcggttaatttttgacagaccgatcaccgaatctttcgggatatag
+gccaccgtcgctttgccatcgatggtaacaaaatggtgttcacaggtgctggtcagagtg
+atatcgcgcacggtgaccatttcatcgaccttcattttgttttcaatgagggtgattttc
+gggaaattggcgtaatccagaccggagaaaatttcatcgacatacattttagcgatgcga
+tgcggcgtttccatcaaactgtcatcagccaggtcgagattcagcagctgcatgatttcg
+gtcatatgaccagcaataaggcttttgcgcgtttcgttatccatttcatgcacgggcggg
+cgcagcggtgtttccagtcctcgcgcaactaacgcttcatgaaccagggccgcttcttta
+ctgagtgatggcatttatgatttctcctgcaggtgtgacgcctccgccctgcgtgggggc
+aaagttattaagctgatttacagcctgattattgtgcgtgaggcggcgcacataatccag
+tattcacagcgataattattgtaattgccgctgcctttcatcagcagatgttaaaacatc
+gttatgcaaatacggaagtgaaagttactcacagcacattgaataaacggtatgatgaag
+aaattgcaaacaacacaacaaggagccacgcatggaaatgctcgaagagcaccgctgttt
+tgaaggctggcagcaacgctggcgacacgactccagtaccttaaactgcccgatgacgtt
+cagtatctttctccctccacctcgtgatcacactccgccaccagtgctgtactggctttc
+cggattaacctgcaatgacgagaacttcaccaccaaggcgggtgcccagcgggtagcggc
+ggaactggggattgtactggtgatgccagacaccagcccgcgcggcgaaaaggttgccaa
+cgacgatggctacgatttaggccagggcgcaggcttttatcttaatgccacgcaaccgcc
+gtgggcgacgcattaccggatgtatgattatctgcgcgatgaattaccggcgctggttca
+gtcgcaatttaatgtcagcgaccgctgcgccattagcggtcactcaatgggtggtcacgg
+tgcgctgattatggcgctgaaaaatccgggtaaatacaccagcgtttcggcctttgcgcc
+aattgtgaatccgtgcagcgtcccgtggggaatcaaagcgtttagcagctatttaggtga
+ggacaaaaatgcatggctggaatgggacagttgcgcactgatgtatgccagtaacgcgca
+ggatgcgatcccgacgcttatcgatcagggcgataatgatcagtttcttgccgaccagtt
+gcaacctgcggtactggcagaagccgcgcgccagaaagcgtggccgatgacgctgcgtat
+tcagccgggatatgatcacagttactacttcatcgcctcttttatagaggatcacctgcg
+cttccatgcgcagtatttactgaagtgaaagtccgcccggttcgccgggcatcttctcat
+cagaagcgataatccactgccataaagtaacgacgtccgtcttcgttatagctgtagtcg
+tcacgactgagatccttgtcgccaaggttcagcacgcctgcgcgcagtttgacgtcttta
+gtcacctgccaggccgcgccggtattccagatggtataaccgcccggtgttttagccgtc
+gcgctgtcggcgcgtttctgcccggtatagtgcccagaaacatagaatgaccagtcttcc
+agcgccagcggtttccagtccagcgtaccgttagcagtatggaacggcagatcggatagc
+ggtttgttttcgccgttgctgacatcacgaccatcgttgtaggtgtagttgatcgacagt
+ttccattcatcgttgaacggaattttcagttcggtttccacgccctgaatacgagctttg
+ttaacgttgtagtagctaaataccggtatgcgccgtccgttagcgcccgtctcaaaacca
+acaaagttttggtagcccggtgcagcgttgacgtcagacgtacggctgatgctgatacga
+tctttcacatcgttacggaaaacggtaacgctggattcaaccccttccagccagccttct
+tcacccatgtagtaaagccccagctcccaactttcgctggtttctggtttcagatccggg
+ctacccacaatcttacatgcgccacggcaggaattgctcgtccagtcagggctaagttgc
+aacagagaaggtgctttaaatgccgtcgcccagccccctttcaccgttacggtgtcggtg
+gcgttataaaccaggtaggcacgcggactccagtgttcaccgtaggtttcgtgatcgtcc
+atacgcacgccggtcgtcagcgccagcggctcgaagatccgccattcatcttccacaaac
+agcgcgtactggctggcagacgttttggagctggttcccccggtcaggttcaccgcatcg
+ctaagtttgtcgtgacgccattcaccgccaaccgtgagaaactgattaatcgccgtcagc
+ggcaacgtgtatttgccgtcgaccgtattgctttcggaagttatcgggctgctgttgcca
+gggtttttgttctcgactttctcaccgtagtatttcagttcgctggtgccgtaatcccaa
+cgcccattatggctgacggagtagttctggcgttccaggcggtttttgtccagcgagtcg
+gaatcacgatcctgacggtcgaaaccgtatccggcagtaaaatcgtgattttgattcggt
+gtccaggcaaattcgacattgccgtcgcggctggagaatccttcaatacgcggcgtttct
+ccggtatcggtggtcgttgagttttgcgggtcatccttttcacgttttgccaggctgccg
+taagctttcattcccagcacaccatcaattaatggtccactggtaaagaactgaccgtta
+taggtgtcaccgcgatcgcgatgttcctgaatggtggtatcgacggtaacggtacccgac
+catttctgaccgatttttttggtgatgatattcactacaccgccgagcgcatcggaaccg
+tacagcgacgacatcgggccacggaccacttcaatacgttcgatggaatcgaccgggatc
+cagttcagatcgaaatcattgtggcggaagacggcattgcgggagttcacgcgtttaccg
+tcgacgagaatcagggtatagctgctgtccagaccacgaatactaacgcccttacggtta
+tccccttcgttcgtcagttgtacgccaggcacttctttgaggacatccttcagattctgt
+accggttttcgctgcaggtcttcctgggtaatgacgctgatactggcaggtgcatcttta
+agattttgttccacggaagatgcagtgacaaccatcgtttcgccatcatcatcgaccgct
+aacacaggccatgcacaagaaatagcggacaaacacagcccgacccgtacgaaagggttc
+aacctaaacattccatatctccatgaggtaactacgaaaataaaatgggttatcgctcac
+atcttcttcacgtccccttgcgtacggcagcatcgcggtggacttattttttatgcaggt
+gatcatcccagaaagccggaacagcctctgatttgtcagccttttttgattgcggcgtaa
+cgataatgcaaacgataacaattatcaatccaaatgttaaattttatatccgcatgattt
+gtcagggaaatggaattgaaaaagccctctcggttgagagggcttagcaaggaagggagg
+aaacttatttcttatcgttctgcgggaacttcatttcgctgtagcgtacgaagtgagttc
+ctttaatcagcttgtagccgaaccaaataatcaggaacagcgggataccaatatacgttg
+ccgctacgccgccccagtcaatagtatctttcaggaacgcttcgtagttctggcccaaag
+tgataatcagacacagaatgaatgcgaagatcggccccagtgggaagaaacctgaacggt
+acggcagatcgttaatgtcgtgtccctgcaatacgtaaccgcgacggaagcgatagtggc
+taatggcaatccccagccaggcgataaaacccgtcatcccggaggtgttcagcagccaca
+ggtataccgtctggttgccaaacatggaggtcaggaagcacagaccggcaatcaccgtcg
+tcgcatacagcgcattacgcggcacgccaccacgcgacagtttagcgaaaatgcgcggcg
+ctttaccgtcacacgccagggtgtacagcatacgagtagacgcatacataccggagttac
+ccgctgacagcaccgccgtcagaataactgcgttcatcaccgccgccgcagagagcagac
+ccgcgtgctggaacaccagggtgaacggactaacgctgatgtctttaacatcgttacgca
+gcaggctcggatcggtgtacggaataatcaggctgataatcaggatcgcgaacacataga
+acaacaggattcgccagaacacctgacgtaccgcgcgtggaatgtttttcgccggatctt
+cggactcgcctgcagcaataccgatcagctcggttccctggaaagagaagccgacaatca
+tagctacgccgatcatcgccgcaaaaccaccagcaaacggcgcttcgccgattgtccagt
+tgctccagcccgcaggctgcgcgcctttgaagataccgataatcatcagcacgccaacga
+tgataaagacaataactgtcgtgactttgatcagtgagaaccagtattccgcttcaccaa
+agccacgaactgagatgtagttcagcaggaagataacgccgaggaacaacgcactccaga
+tccagcccggtgtatccgggaaccaccagctcatgaccagctgagctgcaaccaggtcaa
+cggcgatagtcaccgcccagttgtaccagtagttccagcccagcgcgaagccaaagcctt
+cttcaacatagttctgaccgtaagtggcaaacgaaccggaaaccggcatatatgcagcca
+gttcaccgagactggtcatcaggaagtaaaccatcaggccaatcagcatatacgagagca
+atgccccgcccggacctgcctgagaaatcgttgcgccagaggcaacaaaaagacctgtac
+cgatggaaccgccaatggcaatcatcgtcaggtgacgcgcctttaattcacggcgtaagc
+ccggcgcttctgtggttttagtttcggaaaccatacaaaaatgctatccatcttaaaaat
+gaggcgcgattgtagcagacgattggcaatccttccggcagaaatacacggttataagac
+accttcatgatcgcccagggattataagtaaagcagccaatctcttttctggcgaatgca
+tgctgaaggcgctgcgtcacgaaatcgacacagcaccagcatgttcttgtacagcaactt
+aacgcggcacatttgcgggatcgcaatagtccagaaagcgccgtagcgcgttggaaaggt
+gtttttgccgatgatgtatacgccacaacgtacgcatcaggcgcggcagagggaccgcaa
+cttcacttaatgtgcctgcctgcaattgatcttcaatcacacgtcgcgacaggcaactaa
+ttcccaacccatgacgcaccgcatgtttgattgcctcggagttacctaattccatcgcca
+tctcaaacttcggtaaatgtgacagcaacagataatcgacaatctcccgcgtgccggaac
+cgcgttcacgcaggatccacggcgcagcggccagctgttctaaggtgaccggaccacggg
+ccaacggcgaagtcggcgcggcgaaaaccaccagctcgtcttccagccacggttcagaaa
+tgatttcagtgctgtggcacggtccttcaataaagccaatatcaacgcggaaatccagca
+ccgcttgcatcacgtcctggctattcccaacgctaagttcaatcggcaactgcggataat
+catggcgataacgggcgataactgcaggcagaatgtagttaccgatggtactactggcat
+agatacgaatcgcgccgttgtcttcgcgaaacagttgttcgatttcaaccgcctgttcaa
+gcaatgccaacgcacgcggatagagcagccgcccgtgttcattaacaaccagtcttttcc
+ccacgcgatcaaacagttgcacgccaagctgcccttccaggtcggtcaaggctgcgctca
+ctgctgattgcgacaacgccagcatcaccgacgcctgggtggttgatccacttttcaata
+cttctgcaaaaacttccaactgccggagggtgatgtgcatagtcgcttaccacttataaa
+gattaattataaatatataatcaattttatttttaaaccagttagtcgtaaccttatgcc
+cggttaaaggagagggttatgacgaatatcaccttacagaaacaacatcgtacactgtgg
+cattttattccggggttagccctgagtgcagttatcaccggggtcgccctgtggggtggt
+tccattcccgcggttgcgggtgccgggtttagtgccctcaccctcgcaatcttgttgggg
+atggttttaggcaacaccatctatccgcacatctggaaaagctgtgacggtggtgtgctg
+tttgccaagcaatatttattacgtctgggtatcattctttatggcttccgtctgacgttc
+tcgcaaattgccgatgtcggtatcagtgggatcatcattgacgtgttgacgctgtccagt
+accttcctgctggcttgcttcctggggcagaaagtgtttggtctggataagcacaccagc
+tggttgatcggtgccggtagcagtatctgtggtgctgccgcggtactggcgactgagccg
+gtagtgaaagcggaagccagtaaagtaaccgtggctgttgcaaccgttgttatcttcggg
+accgtcgcgattttcctctacccggcgatatatccgctgatgtctcaatggtttagtccg
+gaaactttcggtatctacattggttctactgtgcacgaagtggcgcaggtggtggcggca
+ggtcatgccatcagcccggatgcggaaaacgcagcagttatttccaaaatgctgcgcgtg
+atgatgctggctccgttcctcatcctgctggcggcgcgtgttaaacagctgtctggggcg
+aacagcggcgagaaaagcaaaatcactattccgtggtttgccatcttgttcatcgtagtt
+gccatctttaactcgttccacctgttaccgcagagcgtggtgaacatgctggtaacgctg
+gataccttcctgctggcaatggcgatggcggcgctgggtctgaccactcacgtcagcgcg
+ctgaaaaaagctggggcgaaacctctgctgatggcactggtactgtttgcctggctgatt
+gttggtggtggtgcgattaactatgtgattcaaagcgtcatcgcataaaccactacatct
+tgctcctgttaacccgctatcattaccgttttcctccagcgggtttaacaggagtcctcg
+catgaaatacattggagcgcacgttagtgctgctggcggtctggcaaatgccgcaattcg
+cgccgccgaaatcgacgcaaccgcgtttgccttgttcaccaaaaaccaacgtcagtggcg
+tgccgcaccgctcacgacgcaaaccatcgatgaattcaaagccgcctgtgaaaaatatca
+ctacacatcggcgcaaattcttccccacgacagttatctgattaacctcggacatccggt
+cactgaagctctggaaaaatcgcgcgatgcctttatagatgaaatgcagcgttgcgaaca
+gctggggctttctttgctcaacttccaccctggcagccatctgatgcagatttcagaaga
+ggattgccttgcgcgtattgccgaatccatcaacattgcgctggataaaactcaaggtgt
+gacagcggtgatagaaaacaccgccggtcagggcagtaacttagggtttaaattcgaaca
+tctcgcggcgattatcgacggcgtggaagataaatcccgcgtcggcgtctgcattgatac
+ctgccatgctttcgctgccgggtatgatttgcgtactccagccgaatgcgagaaaacatt
+cgcggattttgcccgtactgtcggctttaagtatctgcgcgggatgcaccttaacgatgc
+gaaaagcacctttggcagccgcgttgaccgccatcatagcctcggtgaaggcaatatcgg
+tcatgatgcgttccgctggatcatgcaggacgaccgtttcgacggcattccgctgatcct
+cgaaaccatcaacccggatatctgggcagaagagatcgcctggctgaaagcgcaacaaac
+tgaaaaagcggtagcctgaagatgaataaccgggaaaaggagatccttgcaattttacgg
+cgtaacccgctgattcagcagaacgaaattgcggacatgctgcaaatcagccgttcgcgc
+gttgcggcgcatattatggatttaatgcgcaaaggccggattaaaggcaaaggttacatt
+ctcaccgagcaggaatactgcgtagtggtggggacaatcaatatggatattcgcgggatg
+gcggatatccgttacccgcaatcggcttctcatcccggtacaattcattgctcagcgggc
+ggcgtgggacgcaacatcgcccacaatctggcgctgttaggccgtgacgtccatttgctt
+tcagtgattggcgatgacttttatggcgaaatgctcctggaagaaacgcgccgtgccggc
+gtgaatgtctccggctgcgttcgtttgcatggtcaaagcacatcgacgtatctggcaatt
+gccaatcgagacgatcaaaccgtgctggcgattaacgatacccatctgctggaacagttg
+acaccgcaactactgaacgggtcgcgcgatttacttcgtcatgcgggcgtggtactggct
+gattgcaacctgacagccgaggcgctggaatgggtctttaccctcgctgatgaaatcccg
+gtgtttgtcgataccgtttcagaattcaaagcgggcaaaatcaaacactggctggcgcat
+attcacaccctgaaacccactttaccggagctggaaattttatggggacaggcgatcacc
+agcgatgctgaccgtaataccgcagtgaatgcattgcatcagcaaggtgttcagcaactg
+tttgtttatttgcccgatgagtcagtttattgcagcgaaaaggatggagaacaatttttg
+ctgaccgcgccagcgcatacgacagtagacagttttggtgctgacgatggttttatggcg
+ggcctggtatatagctttcttgaaggatacagtttccgcgacagcgcccgttttgcggta
+gcctgcgcggcaatttcgcgcgccagcggcagcttaaacaaccctaccctgtctgccgat
+aacgcgctttcattagtgccaatggtgtaacaatgttgccggatgcgacgcttaacgcgt
+cttatccggcctacaaatcaggcaatttcagcaagtaaatgtaggcctgataagcttgcg
+catcaggcaatgacactcaagctaaaccaataaagaacccggcaatggtcgcactcatca
+agttggaaagcgtcgccgccgccagcgcccgtaaaccaagctgggcgatttccggcgcac
+ggtgtggcgcaaccgcagaaaacgcccccaccaccaccccgatagaaccaaagttagcga
+aaccgcacaacgcgaaggaaataatcgccacagttttagcatcgagagtgccagccgttt
+gcagatagggtgagaaattgagataagcgacaaattcatttattgccagtttctgtccaa
+tcaaactcccggcaagattcgcatcactccagtccacacccatcacccacgccagtggag
+ccagcaggtaacctaaaatggactccagcgaggcatgttcaaaaccaaaccagccaccaa
+cgccgccgataataccgttaatcaacgcaattattgcaacaaatgccatcaccactgttg
+ccacacctgcggcgattttcagcccggtcattgcccctgtcgcagcggcttcaataatgc
+tttttggcggtgtttcggtgaaagagaggttattaaaggaaacctgcgaagattccgttg
+ccgggcttaacaggcgggcaaacaagatcccgccagggatcgccattaatgatgccgcca
+gcagatattccacaggcacgcccagtgcggcgtaaccaatcattgtcgaaccagcaatcg
+aggccatgccactacaaatcgctgtaaataattcattgcgattcagacgatcgataaagg
+gtttgacgattgccggaatttcgttttgcccgaggaaaatggtggtgaccgcgacgaatg
+actcgatcttgctgatatttaatgctttctggaagataccgccgagaattcgaattaaaa
+tccccatcacaccgatgtagtagagaatactcaccagcgcggtgacgaagataattgccg
+gtaacaccctgaaaccaaagataaatcctgcaccatcaaataaggtatccattttcggtc
+cgaccagagaaccgaagataaatgcgctacccgcgtcgctgtacgccatcactttatgca
+cgccaaaagcgactttttcagcgacccaacgccctggcggtaaccaaagcataatgccgc
+caatcacgacctgtaacactaacgccgcgccaacggtacgcaggctgatcttcttcttgt
+ttactgacagtaaaaacgcaatcgtcagcaataccaccattcccagaacacttctcatga
+catccatagtgattatctcttcatgtcatattgggcgacggctttctgcccatcagaaat
+agccaggcctgcatcttgcgataccggcccggcttgttatcaacacttaatgggttttga
+tgtagccgcgcacgcactcttcgactaatccccagaaccagtctgtatcaatagtgatgc
+cgactttggtattggcgggcttgccaagaacgcccagctcgtcgcagacggtacgcccat
+agcaagggccactgttgacgtccacttcgacgtacatctcctgggttttaatgccatcag
+ggttaatcagataaccgatgcaggtggcgtcgtgcaccgggccgccagcaaggccgtagt
+tttcgaactgcgttttgagagtgaagttcatgatgtcgctgaacagctctccggcggggc
+cgcctgccctttccatccgagcaatcacgtccggggtgcaaacggtctggttggtgagat
+cgaggcccatcatcactaatggaacgccggaggtgaacactacgcgtgcggcttccgggt
+cggcaaagatgttgaactcggcagatggcgtgaagttgcctgtaccgtaagcgccgccca
+ttagcacaatttcacggattttgggcaggatcgcgggttgcatacgcattgccaccgcga
+tatttgaaagcggaccaaccggcaccagagtgatatcgccatcgcttgccatcagggtat
+caatgatatatttcaccgcatgagtgctttctgcctggcgggtcagcggctcgaataccg
+ggccatccagtccggtttcaccgtgaatattatcggcaacgatttgttgacgcataatgg
+gctgcggcatccccgcataaaccggaacattaatctccagtttctggcaaacattcaggc
+cattaattaatgttttatcaagcgtctgattacccgctacaatagtgatgcctaataaat
+ctattgccggatgtttcgccgccatcattatagcaatagcatcatcatgacccggatcac
+aatccagaataatttttctcttttccattgtttatttcctctgtttccagttgcgttatt
+ttttctacagcaaagaaaattcgaccgggccgatgattgaatcttaacaacagcgtacgt
+atgctaaatatgagaaatctcatagcggataaacatcgtgaaagaaatccacaataatga
+tcttaagcagcaattgatgagtgaatccgcgtttaaggattgctttttaacggatgtttc
+agccgatacgcggctgtttcattttttagcgcgtgactacattgtgcaggaagggcaaca
+gccgtcctggctgttttacctgacgcgaggccgcgccaggctttacgccacgctagctaa
+tggtcgcgtgtcgctgatcgatttctttgccgccccctgttttattggcgagattgagtt
+aatcgataaagaccatgaaccgcgtgcggtgcaggctattgaagagtgttggtgccttgc
+gctccctatgaaacattaccgtccgctgttattaaacgacacgctatttttacgaaaact
+ctgcgtcaccttaagtcataaaaattatcgtaatattgtttctttaactcagaatcaatc
+atttccgttagtgaatcgcctggcagcatttatattactctcgcaggaaggtgatcttta
+tcacgaaaagcatacgcaagcggcagagtatttaggcgtttcttatcgacatcttttata
+tgttctcgcgcagttcattcacgacggtttattaattaaaagcaagaaagggtatctcat
+taaaaacagaaagcagttgtcaggactggcgctggagatggacccggagaataaattctc
+cgggatgatgcagtaaaaattattttcaatagcgcgattgccggatgcaacgcttaatac
+gttttatccggtctacaaatcgagcattacgccagaccaataaagaacccggcaatagtc
+gcactcatcaggttggaaagcgttgctgctgccagcgcccgtaaaccaagctgggcgatt
+tccggcgcgcgttttggcgaaatagccgaaaatgcgccaacgacaacaccgatagaacca
+aagttagcaaaaccacaaagcgcaaaggagataatcgcaatggttttcacttccagcgtg
+ccgcccgtttgcaggtatggggagaaactcaggtaagcgacgaattcgttaatcgccagt
+ttctgcccaatcaggctacccgcaagattggcatcactccagtccacacccatgatccac
+gccagcggtgccagcacatagccaaaaatactttccagagaggcattggcgaaaccaaac
+cagccgccaattccgccgataatgccgttgatcagcgcaataattgcgacaaacgccatt
+accaccgtcgccacaccagcggcgatttttagcccggtcatcgcaccgctcgccgccgct
+tcgataaagctttttggcggcgtttcgctgaacgacagattttcaaatgtgacctgcgaa
+ggctcggttgccgggctaagaatacgtgcaaacaaaatcccgccagggatcgccatcagc
+gatgccgctaacaggtagtcaattggtacgcccattccggcataaccaatcatcatcgaa
+ccagcaatggacgccatcccgctacaaattgcggtaaacaactcgttgcgattcatgcga
+tcgataaacggtttaacgatcgccgggatctcattttgcccgaggaaaatagtagtaacc
+gcaacaaaagattcgattttgctgatgttgagggctttctggaaaatgctgccaaggatg
+cgaatcagcagccccatcacgccaatgtagtacagcagactgatgagcgcagtaacgaaa
+ataatcgccggaagtacgcgaaaggcgaagataaaacccgcaccgtcaaacaggacatcc
+attttcggcccaaccagcgaaccaaaaatgaaggcgctaccggcatcactgtaagacatc
+actttatgaacgcctaatgccgcctgttctactgcccattttcccggtgggaagtagagc
+atgatgccaccaatagcgatttgcagcagcagtgcggctccaaccgtgcgcaaactgatg
+ctctttttattcactgacaacagaaatgctattgccagtaacaccaccatccccacaaca
+cttctcattatatccataatgattttcccttcatgccggtaaacccggcgtcagcgccag
+gttttggtatgcttgatgagtacgggcgacggctttctgcccgtcagaaattaacccgcg
+agacgctgatattctttggcaatttcgctcgccagaatggcgttgttgaacaccagctgg
+atgttggatttcaggctgtcaccgccggtcagttcagcaacgcgcgccagcaggaatggc
+gtactttctttaccaatgactccctgagcttcagcttcagctaccgcctgatcgatcgcc
+gcattgatagtgtgttccggcatagcaaactgttccgggatcgggttcgctaccacgagg
+ccaccgttcagaccgctttgccatttcaccaccattgcacgggcaatttcgctggcgctg
+tcgagacgaatgctgacgtcaaacgggctggtgcggcagaaaaacgcaggcagcgcttta
+gtctgatagccaattaacggcacaccgaaggtttctaaatactcagtggttaatcctaaa
+tcgagaatagatttcgccccggcacaaacaacggtgacattagtatttgccagttcttgc
+aaatcggcagaaatatcgaaggtatgttccgccccgcgatgcacaccaccaattcccccg
+gtggcaaatactttaattccggcaagcgccgcaataatcatcgttgaagccacagtggtt
+gcgccattttttccggcggcaacaacaaaaggtaaatcgcgacgactaactttggtcacg
+ttatgcccttcacgacccagtaattcaatttcttctttgcttaaccccactttcatcacg
+ccgccaataatggcgatcgtggcaggtacagcgccctgtttacgaatagtttcttcaact
+tcaattgcggtctgggcattttgtgggaacggcatcccgtgagaaataatggtcgattcc
+agcgccacaaccggttttttgttttttaaagcgtcctgcacttccggggaaatttgtaat
+aattcaggggaaatttttaattcagacattctgcgttctccactaacgatataacgttgg
+caatcgataaatcggggttattggtgtattcacaggagagcgccattgacgaacatccct
+gtgcgaaacgaacagattcggcaaacggcattccgtctacccaacacgaagcaagtcccg
+ccatcatggcatcgcccgctccggtaacattaataacattggttttgatcggcgcagacc
+agccactttcaccgctgatatcgctgtaataaacgccgtcgccgcccatgctcaatacca
+gtcggttcaggccatgttgatggaaccaggcagcaacttttgccacatcttcacgccctg
+acagcgcaatcccactcagggtttccgcttcaaggcggtttggcttgagagtgtggatct
+gatttagacggtcgcgcactttgacacatttccatgccgaaaccggatcgacaaatacgg
+gtacgttggcggcattatccagaatccatgccagtgcctcttcactgatattacagtccg
+cgacaatgacctttgccctctgaataaattcaccgtgctgtgcgagatattcagctgtaa
+tagcgttgctaatattcatgtcatttatagcaaccagcatttcaccggtattatcgagta
+atgataaataactcgacgtattttctcccggcacaatcaggcatttatcgacataaacgc
+cagattgattggtttgcgttagcagcgattgaccataaaaatcactgcctacggcgctca
+gtagccaggctttgttacccagcaacgccaggttttgtgcaatattgcgccctactccac
+caggcgtaaattttattttacctggatttgaatccgcataatttaatgattcatgtgaat
+atccggcgacatcaatattcgccgaacctataattacgacataatccttttcgcgcatag
+cacgtcctctggtaaaaaattaccaaccctgtcaatccacaagaatatagatactgcaaa
+gacggtttaaacatgtgttcatatttaaacatgtgctcatagtatgcatgttttacgtaa
+agtaaattaccgccagagaggcaaaatgggcagatttgagcaggctcacaaaatgcgatt
+aaatgcctgaattacaaaagcgaggaatttgtgacgggatgcacagaacagaacaataaa
+aaagggcagaaaataatctgcccttgaggaaataacctgagtgtttgatgaacgtttgaa
+gtttctactgaaagataaaaccatttaaattcataaaattacattcacaaaccggtcatt
+ctctttgcgctcatcaaatgttacaggacaggaaatttctgccctgtaacacacctttta
+ttacgctgctttcgctactgcgtccacttccggacgtttcaggaaggcataggccaaacc
+cgccaccagcgtaccggcaataattgctaccaggtaacccaataccggcgtaatagcgcc
+agggatcagcagaacaaacagaccaccgtgcggtgccatcagtttcgcaccaatcgccat
+tgagattgcgccagtcagcgccccacccacgatacagcacggcagcacacgcatcggatc
+acgagcagcaaacggaattgcaccttccgaaatgaagcacagtcccaataccagagcggc
+tttgccaccttcctgctgcgctttgtcgaatttgcgacgcgccaccattgttgccagacc
+cattgccagcggtggcaccatacctgccgccataatcgccgccatcgggccataggtttg
+agtactcagcagacccacaccgaatgcgtacgctgctttgtttaccggaccgcccatgtc
+agtacacatcatgccaccgaggatcgcccccagcagaaccgcattcgcagtccccatggt
+ctgcagccagtgagtcagcccttcgagaatgccagcaactggtttaccgatcaggtagat
+catcgccagaccgaccaccagactggaaattagcggaatgatcaggatcggtttcagcgc
+ctccatactctgtggcagtttcaattgcgtactgattaacttcgcaatgtaaccagccag
+gaagcccgcaataataccaccaatgaagccagaaccggtgctgaccgccagcataccgcc
+aatcagacccggagtgaggcccggacgatcggcaatggaaaaggcaatataacctgccag
+taccggcaccatcagcgcaaaggctgaaccaccaccaatctgcatcagcgccgcagccaa
+cgtacccggctctttaaacgcttcgataccaaaagcaaaagaaagcgcgatacacagacc
+acctgcaacgaccatcggcagcatgtaagaaacgcccgtcagcaagtgacggtatgcgcc
+tgcactctctttcttactttcagtggtcgccgtttgagctttgcccgccggttcatacgg
+cgttgcttcagcaaccgctttatccagttcctgcgcggttttcttcagcgccagaccggt
+agaggtacgatacatcggtttaccagcaaatttcgccagatccacttcgatatctgccgc
+cacaatcaccagatccgctgctgcgacttcttcgggagtgattgcattacccgcgccaac
+agaaccacgggtttcaactttcacccaccagccacgttttttcgcttcggtttcaatggc
+ttcagccgccataaaggtgtgtgctacgccagtcgggcaagcagtcaccgcaactacgcg
+tttcggaccgctggcggcaactggtgctgtcgcagcgaccggcgcagtgtaaggtttcgc
+atggcctttggcttcactcaggaacagctcagggtgcgcaactgcccgggaaatatcgcc
+cagccagacatttttaccgttcagcgcgctgtcgttcgggatggaatcaccgagaacaat
+cgccatttcagcgtcgttcggattgtcgatgatttccagttttgcttttcgcgccgccgc
+gcccagcagggtcttcgccatataggcgcgtgcctgaccgagattagcgtcaataatcag
+cagcgttttcattatgcctctcctgctgtcagttaaaaggttgtaagtcgacgcgcgcca
+tcattgcggccaactgcggacgatcggtaatacccacattgctttgacttaccgccaggg
+ctgcaacagctgtcgccagacgcagtgtgtgttcactggattcacgcatcagcaagccat
+aaatcaggccaccaaccatagaatcccctgcgccaacggtgcttacgacatcgactgacg
+gtggtttggcgatccattcgccggaggcattaacccaaagcgcgccttcggcacccagtg
+aaataacaacatgcgcgatgccttgttcacgtagcgcatgtgcagcttcaatcacatctt
+tcatttcaggcagtttacggcctgcccagatttccagctcgcggcggttaggtttcacca
+gccacggtgccgctttcaaacctgctactaacgcttcacggctactatcaaagataatgc
+aaggacactgactacgcaggcgagtcatccagtcggtgaacgcttccgggctgacgcctg
+acggtaagcttccgctgacacagaccatatcgaactgaccgagccagctcagagaatcag
+tcacaaagcgttcccagtcggcgggggtgacttcaaaacccgagaagttgaagtcggtca
+cttcgccgtctttttccgtcagcttaacgttaattcgggtgcgcccctgtacaacctgga
+aacggttggcaatgcccagctcgctgaacagttgctgaaaaccatcctgattgtctttac
+ccaggaagccgccaacggtgacatcaattcccaggtcttttaatactttggccacgttga
+tgcctttacccgccgcatgcagaccggtggttttcaccaggttcacttcgccgcgttcaa
+tttccgggcagaaaccaacaaggtcataagccggattaagggtgatagtagcaacacgtc
+tgctcattatgcgccctccccaagaccagcagcgatagcgtcgccgattgctttcagcgc
+ctgttcagcatctgcaccctgggcggtaaagcgtaggcgatgacctttcttaacgccaag
+tgccacaactttcatcagactacgtccgtttgccggtttgccggtaccatcaaggtttgt
+cacggtaatatcactgttaaattgtttaatggtattgaccagcatggtacctggacgagc
+atgcaggccgtgttcattgcgcaccacaaactccgcgcttaacacgtcgtcggtcggcgc
+atcatcgctggtcagcagcgccagcaacgttgccgcatccgctttcagcaagcggtcagc
+tttattgtcgagcaataaatcagcgagacgcttaagaaccgcgatgggctgatcgtcatt
+catcgccacactcaccagcatggctgccgtttcgccgtccacatcaaaagcatttgccgc
+acggcttaccgcaatcgcgctacgcagattgccttcggcgctatcgctcagccagatacc
+ctgtccgagattcagcggttgttcattgatggctttggtgacgaaagtggcgtcaactgc
+ccccgcctctttcagacgcgcagcgttcagcgcctgaagagtcagcagatcgctggcgac
+gatatccagtgtcagcatttcgttgtcgagcttcagctgctcactctgcttttcgcccat
+cagtaatgcgcgaagttcttctgctgttgttgctgacttcagttgttcagcaacggaatc
+atcgctcagtacgtgggtcagctggcgtagcaggcccagatgttcatccgagctggcagc
+aataccgattgccacgtacgctacctgaccgtcaccccaggtgacgccttccgggaactg
+aaatacctgaacgccggttttcagcacctgatcgcgggtgtcggtagtgccgtgtggaat
+agcaataccattgccgaggaacgttgaggtttgctgttcgcgcgccagcatgccattgac
+gtagccttctgctacattaccggcctgcaccagcgccgcagcgacctggcgaatcgcctc
+ttctttgtctccggccttttcgcccggatggatgtcctgtacggataactggaacatagt
+tctcctctcttgctgaattgaaacgattcagcctctatgagaaaaaaagcgccaacctgg
+cttagggttaaagacaagatcgcgctgaaacgtttcaagaaagcataatacttctgtttc
+agcacgcaaggaaagccgtaaagttatgagcaaaagtttgatgtgctgcacaattttttg
+ccatttttcctaattgctgatgggaaaatccgttatcagcaatttcatttcagcagcgtc
+agcagccaatcagcaacagtgaaatggcattttgactattcgtggcgcttttgatttcgc
+tgtctgtttattttctgacaagcagcgtaaactccgcgtcttcctcttccagtgatcgac
+cagcatgcataactcccccgcagtctccagcgcgaaatcgtttgacctgacctcgacggc
+gtttttaatcgttgcctttctcaccggtattgcgggcgctctgcaaaccccgacactcag
+tatttttcttaccgatgaagtacatgcccgtccggcgatggtgggattcttctttaccgg
+cagcgctgtcattgggattctggtaagtcagtttctcgccgggcgctctgataagcgcgg
+cgatcgcaaatcgctgattgtcttttgctgcctgttaggcgtgctggcctgcaccctttt
+tgcctggaatcgcaactactttgttttgctattcgttggcgtctttcttagcagctttgg
+ctcgaccgctaacccgcaaatgtttgcccttgcccgtgaacatgccgacaaaaccggacg
+tgaggcggtgatgttcagctcttttttacgcgctcaggtttcactggcatgggtcattgg
+cccaccgctggcttatgccttagcgatgggtttcagctttacggtaatgtatctgagcgc
+agcggtagcgtttattgtttgcggtgtgatggtgtggctgtttttaccgtcgatgcgaaa
+agagcttccgctggcgaccggcacgatcgaagcgccgcgccgtaaccgtcgcgatacgct
+gctgctgtttgtcatttgtacattgatgtggggctcgaacagcctgtacatcatcaacat
+gccgctatttattatcaacgaactgcatcttcccgagaaactggccggtgtgatgatggg
+gaccgccgccgggctggaaatcccgacgatgttgattgccggatatttcgccaaacgtct
+gggtaagcgtttcttaatgcgcgttgctgccgtgggtggcgtctgtttttacgcaggaat
+gctgatggcgcattcacctgtcattctgttgggcttgcagctgctaaatgctatttttat
+tggcattctgggcggcatcgggatgctctattttcaggatctgatgcccggtcaggcggg
+ttcagccaccacgctctataccaacacttcgcgcgtgggctggatcatcgcaggatcagt
+ggcgggcatcgtcgccgagatctggaattatcacgctgtgttctggtttgcgatggtgat
+gattatcgccactctgttttgcttactgcggattaaagatgtttaaggcgcggtcagcat
+ttccagatcgataagccaggtcatggcctgctgacgcgagttaccgcacatttcagcgct
+ggcttgtaagcctgcacagactttcggtcgcagtggcgaggtgaaaattttacagcgttg
+ctgttcatcaagctgaatgcagggcgtattggcgggcttgccatctggcataccgggaat
+agggctggaaattgaaggggcagtgcaacacgccccgcaacccggacggcattccatacg
+ttgttctcttaaggttaaccaccggattgatgagcgcgcacagtaccaccttttttgcac
+cagcaaaagtgcgaataccacttgcccgaaaggcccgtcgcgagtactttgtcgcgatat
+ttttgacattttcgactacaggaatttttcgatgccaagagcgaacgaaattaaaaaagg
+tatggtactgaattacaacggcaaactgctgctggttaaggatattgatattcagtcgcc
+cactgcccgcggtgccgctacgctgtacaaaatgcgtttttctgatgtccgtaccgggct
+gaaagtagaagagcgtttcaaaggtgatgatatcgttgacaccgtgacgctgacccgccg
+ttacgttgacttctcctatgtcgatggcaacgaatatgtctttatggataaagaagacta
+taccccgtataccttcaccaaagatcagattgaagaagagttgctgtttatgccagaggg
+cggcatgccggacatgcaggtgctgacctgggacggtcaactgctggcgcttgagctgcc
+gcagaccgttgatctggaaatcgttgaaaccgcaccaggcatcaaaggggcatctgccag
+cgcccgtaacaaaccggcgacattgagcactggtctggtgattcaggtaccagaatactt
+aagcccgggcgaaaaaattcgtatccatatcgaagaacgccgttatatggggcgtgctga
+ctaacttcagccgcatgcagaaaagggatagctcaggctgtcccttttttaatttattat
+accaatcttctattttgcgcttcctgaacaccttacgccctcaattttcactcgttgatt
+gatcgccctcacacttcatcgcattaacaatccagaccaatttcaattgctgtcatataa
+ctttacactgtcgttgttaattaatcgttactaagacgtgactcctatgaatacaatcgc
+ctccgttacgctcccgcatcatgtacacgctccacgctatgatcgccagcagttgcaatc
+acgtatcgttcattttggctttggagcctttcaccgcgctcatcaggcgttactgaccga
+tcgtgtgctgaatgcccagggcggcgactgggggatctgtgaaatcagcttgttcagcgg
+tgatcaactgatgagccagctccgcgcacagaaccatttatataccgtgctggagaaagg
+tgcggacggcaatcaggtgataattgtcggtgccgttcacgaatgccttaatgcaaaact
+ggattccttagcggcaattattgagaaattttgcgagccacaggtggcaattgtttccct
+gacgattaccgaaaaaggctattgtattgacccggccaccggtgcactcgacaccagtaa
+tccgcggattattcacgatctacaaacccctgaagaacctcactccgcaccgggtattct
+cgtcgaagcactgaaacgccgccgtgagcgcggccttacaccgtttaccgtgctctcctg
+cgacaatattcccgacaatggtcatgtggtgaaaaacgcggtgctgggaatggcagaaaa
+acgttcgccagaactcgccgggtggataaaagagcacgtcagttttccgggaaccatggt
+cgaccgcattgttccggctgcaaccgacgaatcactggtggaaatcagccagcatctggg
+ggtgaatgatccctgcgcgattagctgcgaaccgtttatccagtgggtggtggaagataa
+cttcgtcgctgggcgtcctgcctgggaagtcgcaggtgtacaaatggtgaatgatgtcct
+gccatgggaagagatgaaactgcggatgcttaatggcagccactcttttctcgcttatct
+gggttacctctcaggattcgcccatatcagtgattgcatgcaggatcgcgcatttcgcca
+tgccgccagaacattaatgctggatgagcaagcgccgacactgcaaattaaagatgtcga
+tttaacacaatatgcggataagttaattgcacgttttgctaatccggcgctgaaacataa
+gacctggcaaatcgcgatggatggcagccagaaattaccgcaacgcatgctggcaggtat
+tcgcatacatcaggggcgcgaaacggactggtcgttgctggcattaggcgttgcaggctg
+gatgcgttacgtcagcggcgttgatgatgccggaaatgccattgatgttcgcgatccgct
+tagcgataaaattcgcgaacttgttgcgggcagcagcagtgaacaacgcgtaaccgccct
+gctttccctgcgtgaagttttcggtgatgatctgccagataacccgcattttgtgcaggc
+catcgaacaagcctggcaacaaatcgtacaattcggcgcacatcaggcgctattaaacac
+cctcaaaatttaacgatttctgcggttaaagcggatgaagctcaccttcgtccgctctcc
+ccttctcttttctgccttttttagccaggattaacgctcagttaacttaccagagtattg
+cggagccgttgtgaccaggaccaacctcatcaccggttttctcggcagcgggaaaaccac
+gtcgattcttcatctgttagcccataaagatcccaacgaaaaatgggcggtactggttaa
+tgaatttggggaagtcggaattgatggtgctttgctcgccgatagcggcgcattgctgaa
+agagatccccggcggctgcatgtgctgcgttaatggtttacccatgcaggtagggttgaa
+taccttactgcgtcagggaaaaccagaccgcttgttgatagagccgaccgggctgggcca
+tccgaaacagatcctcgatctgttaaccgcaccagtctatgaaccgtggatagatctgcg
+cgccaccttgtgcattctcgatccgcgcttgctgctggacgaaaaaagcgccagcaatga
+aaacttccgtgaccagctggctgccgcagacatcattgtcgccaataaatccgaccgtac
+gacgcccgaaagtgagcaagcgctacagcgttggtggcagcaaaatggtggcgatcgaca
+attaattcacagtgagcatgggaaagttgacggtcatcttctggatttgccgcgtcgcaa
+tttagccgagttgcccgccagcgccgcgcattctcatcagcatgtcgtgaaaaaagggtt
+agcagcgttaagcctgccagagcatcaacgctggcgtcgcagtctgaacagcgggcaagg
+atatcaggcctgcggctggatattcgacgctgatacggtattcgacaccattggcattct
+ggaatgggcgcgacttgcaccggtggaacgcgtcaaaggcgtgctgcgtattcccgaagg
+gctggtgcgaatcaaccgtcagggcgatgacctgcacattgaaacgcaaaacgttgcgcc
+accggacagccgtattgagctgatttccagcagcgaagctgactggaatgccttgcagag
+cgcgctgttgaagcttcgtttagcgactaccgcgtaaggttgcctgcgtttttcagtaag
+ataattagagaaaatatgattaaaaatttgccgcaaatagtgttgttgaatattgtcggc
+ctcgcgctgtttctttcctggtatatccccgttaatcatggattctggttgccgattgat
+gcggatattttttatttctttaatcagaaactggtcgaaagtaaggcctttttgtggctg
+gttgcattgaccaacaatcgcgccttcgacggttgttcactgctggcgatgggtatgttg
+atgctgagtttctggctgaaagaaaacgcccctggcagacgacgtatcgtgattattggt
+ctggtcatgctattaactgcagtggtattaaaccagctgggtcaggcattaattcctgta
+aaacgggccagcccaacattgacttttaccgatattaaccgcgtcagcgaactgctctct
+gttcccacgaaagatgcctcacgagatagctttcccggcgatcacggcatgatgctgctt
+attttttcggcattcatgtggcgttatttcggcaaagttgcaggccttatcgcccttatt
+atttttgtggtttttgcatttcccagagtaatgattggcgcacactggtttactgacatc
+attgtcggttcgatgaccgtgatattgatcggtttgccctgggtgttgctgacgccatta
+agtgatcgattaatcaccttttttgacaaatcactaccaggaaaaaacaaacatttccaa
+aacaaataactcacagtaattaacatcatcagggttatttttatagtgaggataatcctg
+atgatgcgcaccgtgctttcatctatcgaacgcaaaaatcattctctaagtaaatgaatg
+gattgcatgcgtttcactcaattgtactttaattgaccaaccccgcttattaactttctg
+tatcactttttcttataaaaaatcatgtaaaaccgctcgccaagaccgcaccaatcgggt
+aatctcgaactcgttttgcctcggcggtagattatcctcacagcatataattttgtgcgt
+tagtccacagatttggccttaaggaattgtttcaacatgcccaggtaattagtctcgtgt
+cgcttggcatttttttataacgatatttgtcgttaaggacttcaagggaaaacaaacaac
+atggtcaaatctcaaccgattttgagatatatcttgcgcgggattcccgcgattgcagta
+gcggttctgctttctgcatgtagtgcaaataacaccgcaaagaatatgcatcctgagaca
+cgtgcagtgggtagtgaaacatcatcactgcaagcttctcaggatgaatttgaaaacctg
+gttcgtaatgtcgacgtaaaatcgcgaattatggatcagtatgctgactggaaaggcgta
+cgttatcgtctgggcggcagcactaaaaaaggtatcgattgttctggtttcgtacagcgt
+acattccgtgagcaatttggcttagaacttccgcgttcgacttacgaacagcaggaaatg
+ggtaaatctgtttcccgcagtaatttgcgtacgggtgatttagttctgttccgtgccggt
+tcaacgggacgccatgtcggtatttatatcggcaacaatcagtttgtccatgcttccacc
+agcagtggtgttattatttccagcatgaatgaaccgtactggaagaagcgttacaacgaa
+gcacgccgggttctcagccgcagctaataaaccgtttggatgcaatcccttggctatcct
+gacgagttaactgaaagcactgcttaggcagtgcttttttgttttcattcatcagagaaa
+atgatgtttccgcgtcttgatccaggctatagtccggtcattgttatcttttaaatgttg
+tcgtaatttcaggaaattaacggaatcatgttcatacgcgctcccaattttggacgtaag
+ctcctgcttacctgcattgttgcaggcgtaatgattgcgatactggtgagttgccttcag
+tttttagtggcctggcataagcacgaagtcaaatacgacacactgattaccgacgtacaa
+aagtatctcgatacctattttgccgacctgaaatccactactgaccggctccagccgctg
+accttagatacctgccagcaagctaaccccgaactgaccgcccgcgcagcgtttagcatg
+aatgtccgaacgtttgtgctggtgaaagataaaaaaacattctgttcatctgcgaccggt
+gagatggacattccactcaatgaattgattccggcgctcgacattaataaaaacgtcgat
+atggcgatcttacccggcacgccgatggtgccgaacaaacccgcaatcgtcatctggtat
+cgcaaccctttgctgaaaaatagcggcgtctttgccgctctgaatctcaacctgacgcct
+tcactcttttatagttcacggcaggaagattacgatggcgtcgccctcattattggcaat
+actgcgctatctaccttttcttcacgtttgatgaacgttaacgaattaaccgacatgcca
+gtccgtgaaactaaaattgcgggcattcctctgaccgttcggctttatgcagatgactgg
+acatggaacgatgtgtggtacgcatttttactgggcggcatgagtggaactgtcgttggc
+ctgctctgctattacctgatgagcgtacgtatgcgccccggcagagaaatcatgaccgcc
+atcaagcgcgaacaattttacgtggcgtatcaaccggtggtggatacacaagctttgcga
+gtaacgggcctggaagtactgctacgctggcggcatcctgtcgcgggagaaattcccccg
+gatgccttcattaactttgccgaatcgcaaaagatgattgtgccgctgactcagcacctg
+tttgagttaattgcccgcgatgccgcagaattagaaaaagtgctgccggtaggcgtcaaa
+tttggtattaacattgcgccggaccatctgcacagcgaaagctttaaagcagatatccag
+aaactgctcacttccctgcccgcacaccatttccagattgtgctggaaattaccgagcgc
+gatatgttgaaagagcaagaagccacacaactcttcgcctggctgcactcggtcggcgta
+gaaattgctattgatgacttcggcaccgggcacagcgcgcttatctatcttgagcgtttt
+acgctcgattatctgaaaattgaccgtggatttatcaacgccatcggtacggaaacgatc
+acttcccccgtacttgacgcggtgctgacgctggcgaaacgcctcaatatgctgacggtt
+gctgaaggggtcgaaacgccggaacaggcgcgatggctaagcgaacgcggcgttaatttc
+atgcaaggctactggattagccgcccgttaccgctggacgattttgttcgctggctaaag
+aaaccgtatacgccgcagtggtaaggtgtgcttacgtcccttattattcatagtgaaagc
+atgccggattgcggctaatgatgagtaaaaggaaatccgttgcagatgattgtgcgcata
+ctgctgctgtttatcgctctgttcacctttggtgtgcaggcgcaggctatcaaggaaagc
+tatgcctttgccgtgctgggcgaaccccggtacgcgtttaatttcaaccattttgattat
+gtgaaccccgccgcgccaaaaggtgggcagataacgttgtcagccctcggcaccttcgat
+aatttcaaccgctatgcactgcgcggcaacccgggcgcacgcaccgagcagctgtacgac
+acgctatttacgacttccgatgacgaaccaggcagttattacccgctgattgctgaaagc
+gcacgctatgctgacgattattcctgggtggaggtcgctattaatccgcgcgcccgtttt
+catgatggttcgcccattactgcccgcgatgtagagtttacttttcaaaaatttatgacc
+gaaggcgtgccgcaatttcgtctggtctacaaaggcaccaccgtcaaagccattgcaccg
+ttaaccgtgcgcattgagttagctaaacccggcaaagaagatatgctgagtctgttttcg
+ctgccggtatttccagaaaagtactggaaggatcacaaacttagcgacccgctcgccacg
+cctccgcttgccagtggtccgtaccgcgttacgtcctggaaaatggggcaaaatattgtc
+tattcccgtgtgaaagattactgggcagcaaacttaccggtaaaccgtggacgctggaat
+ttcgacaccattcgctacgattattacctcgatgataatgtcgcctttgaagcgtttaaa
+gcaggtgcctttgatttgcgtatggaaaacgacgccaaaaactgggccacgcgttatacc
+ggtaaaaatttcgataaaaaatacatcatcaaagatgagcaaaagaacgaatcagcccag
+gatacgcgttggctggcgtttaatatccaacgtccggtattcagcgatcgccgggtccgg
+gaagctatcactctcgcctttgactttgaatggatgaacaaggcgttgttttacaatgcc
+tggagtcgcacgaacagttattttcagaataccgaatacgcggccagaaattaccccgac
+gccgcggagctggtgcttctggcaccaatgaaaaaagatctaccgtcagaagtcttcaca
+caaatctaccagccgccggtatccaaaggcgatggctacgatcgtgacaacctgttaaaa
+gccgacaaacttctcaacgaagcgggctgggtgctgaagggtcagcaacgcgttaatgcc
+acaacgggtcagccactcagctttgaattattgcttcccgcaagcagcaatagtcagtgg
+gtattgccgttccagcacagcctgcaacggctgggtatcaacatggacattcgcaaggtg
+gataactcgcaaatcactaaccgcatgcgcagtcgcgactatgacatgatgccgcgcgta
+tggcgggcgatgccgtggcccagttccgatttacagatttcctggtcatcggaatatatc
+aattccacttataatgcccccggcgtgcaaagcccggttatcgactcgctgatcaaccaa
+attattgccgcgcagggaaataaagaaaaattactgccgttggggcgagcactggatcgc
+gtattaacgtggaattattacatgctgccaatgtggtacatggcggaagaccgtctcgcc
+tggtgggataaattctcccagccggccgtgcgccccatctatagcctcggtatcgatacc
+tggtggtatgacgtcaataaagcggccaaactgccgtccgccagcaaacagggagagtag
+atgggcgcttacctgattcgccgtctgttgctggtgatcccaacattatgggcgattatc
+accatcaactttttcatcgtgcaaattgcgcctggcggtccggtcgaccaggccatcgcc
+gccattgagtttggtaatgccggagtattacccggcgcaggcggtgaaggtgttcgtgcc
+agccatgcgcaaacgggtgtcggcaatatcagcgacagtaattaccgtggcggacgcgga
+ttagatccagaagtgatcgctgagatcactcatcgctacggttttgataagccgatccac
+gaacgttacttcaaaatgctctgggactacatccgctttgattttggcgatagcctgttt
+cgcagcgcctcggtgctgacgctgattaaagacagtctgccggtttccatcaccctcgga
+ttgtggagcacgctgattatctatctggtgtcgattccgttaggcattcgcaaagctgtt
+tataatgggagccgctttgacgtctggagtagcgcatttatcatcatcggctacgccatt
+ccggcctttttgtttgccatcctgctgattgtcttcttcgcgggcggcagctatttcgac
+ctgttccctctacgcggcctggtttccgctaactttgattcgctgccgtggtatcagaaa
+atcaccgattatctgtggcatatcacgctgccggtgctggcgacagtgattggtggcttt
+gcggcgctgaccatgctgacaaaaaactcattccttgatgaagtgcgcaagcaatacgtg
+gtgaccgcgcgtgcgaaaggggtaagtgaaaaaaatattctctggaaacatgtgttccgc
+aacgccatgctgctggtgattgccggttttccggcgacgtttatcagcatgttttttacc
+ggctcgctgctgattgaggtgatgttttcactcaatggtctgggcttactgggctacgaa
+gcgaccgtctcgcgcgattatcctgtaatgtttggtaccttgtatattttcaccctgatt
+ggcctgctgctgaatattgtcagtgatatcagctatacgctggttgatccgcgtattgat
+tttgagggacgttaatgtcgcgactcagccccgtcaatcaggcccgttgggcgcgttttc
+gtcataaccgtcgcggctactggtcgttatggattttcctcgtcttgtttggtttgagtt
+tgtgttctgaacttatcgccaacgataaaccgttgctggtgcgttatgacggcagttggt
+atttcccgttattgaaaaactacagcgaaagcgattttggcggcccgctggcaagtcagg
+ctgattatcaggacccgtggctgaaacaacggctggaaaataacggctgggtactgtggg
+caccgattcgctttggtgctaccagtatcaactttgctaccaataagcccttcccttctc
+caccctcccggcaaaactggctgggaacggatgccaacggcggcgatgtgctggcacgca
+ttctctatggcacgcggatctcggttctgtttggcctgatgctgactctctgttccagcg
+tgatgggcgtgctggcgggggcgctacaaggctattacggcggtaaagtcgatctctggg
+gacaacgctttattgaagtatggtcggggatgccgacgctgtttttgattattttacttt
+ccagcgtcgtacagcctaacttctggtggctgctggcaattactgtcttgtttggctgga
+tgagtctggtcggcgtggtgcgggcggagtttttacgtactcgtaatttcgactacattc
+gtgcggcacaggcgcttggcgtcagcgatcgcagtatcatcctgcgtcatatgttgccta
+atgccatggtcgcgaccctcacctttttaccgtttattttatgtagttcgataaccaccc
+tgacctcgctcgatttcctcggcttcggtctaccgctcggttcaccgtcactcggtgaac
+tgctgttacaagggaaaaataaccttcaggccccgtggcttgggatcaccgccttcttgt
+cggtggcgatattattgtctttgctgatctttattggtgaagccgtccgcgacgcatttg
+atcctaataaggcggtgtagcatgacgcaaactctgttagcgattgaaaatttgtcggtg
+ggttttcgccatcagcaaaccgtacgtacagtagtcaatgatgtttcactacagattgag
+gctggcgaaacgctggcgctggtgggtgagtcaggttcaggcaaaagcgttaccgcgctg
+tcaattttacgcctgctcccttccccgccggttgaatatctctccggcgatattcgtttt
+catggcgaatcgctgcttcacgccagcgatcaaacgttgcgcggtgtacgcggtaataag
+atcgccatgatttttcaggaaccgatggtgtcgttaaatccattgcataccctggaaaaa
+cagctttatgaagtgctttcactccaccgcgggatgcgtcgggaagcggctcgtggcgaa
+attcttaactgccttgatcgcgttggtatccgccaggcggcaaaacggctgacagattat
+ccgcatcagctctccggcggcgaacggcagcgggtgatgattgcgatggcgctgttaacg
+cgaccggaattattaattgccgatgaaccgaccaccgcactggacgtctctgtccaggcg
+cagattttacagctgttgcgcgaactgcaaggcgagctgaatatgggcatgctgtttatt
+actcataacctcagcattgtcagaaaactggcccaccgcgtggcggtaatgcaaaacggt
+cgctgtgtcgagcaaaattacgccgctacgctatttgcatcacccactcatccttacaca
+caaaagctactcaacagtgaaccgtcaggcgatccagtgccgttgccagaacctgcctca
+acgttgctggatgttgaacagcttcaggttgccttccccattcgcaaagggattttgaag
+cgcattgtggatcataatgtggtggtgaaaaacatcagttttacgctacgagcgggtgaa
+acactgggtttagtgggcgagtccggttccgggaaaagtacgacgggactggcgctgctg
+cgactgattaattctcagggcagcatcatctttgacggtcagccactgcaaaatttaaat
+cgccgccagctgttacctattcgtcatcgcattcaggtggtatttcaggatccaaactcc
+tcgctcaacccacgactcaacgttttgcagattattgaggaaggcttacgggttcaccag
+ccgacgctttctgccgcacaacgcgaacaacaagtgatagccgtgatgcatgaagtggga
+ttagatcctgaaacacgccaccgttatccggcggagttctctggtggtcagcgacaacgt
+attgcgattgccagggcattaattcttaagccctcgctgatcatacttgatgaaccgaca
+tcatcactcgacaaaacggtacaggcgcaaatattgacgctattgaaatcattgcaacaa
+aagcatcaactggcctatttgtttatcagccacgatttgcacgttgtccgcgcgttatgt
+catcaggttatcatactgcgacaaggggaagtagtggaacaaggaccgtgcgcgcgcgtg
+tttgccacaccgcagcaggagtatacgcgtcagctactggcgttgagctgacgcttaaaa
+aggattgtagtttgaaaagggttcggcaattgccacaccaaaatttttcaatcggcatgt
+tgcagcaaactcgtcctggcgatttacaaacaggcacggctcaccttcacactccagcac
+cgaacatggaacttcgatgtcgcttaacgcctggcttagtttatacatcaccgaccatgc
+attatcaccatccgggctaagcaatttaagcgccaccaggctgttgtcaccgcacggtcc
+attttgcggaatcggttcaaccttcgaacctgcgaaaccagcagaccagcgatagttctg
+cggcagtcgatggacgattgagagttgtaatgaagtcacttattttccccggaagcacat
+tcacttcacaatttgtttacatcaattttaacacatcatcaacaatccgtctttatacag
+atcgtaaagattgatgcctcgcctgcgtggcctctatggctctgatttaagtaatatctg
+cgggcgtggtcacgtttgcggggctatatgtacccgtttctgcgatctaactcaaccttt
+ttaactacaatgatgtgactttttacataaattgattttacataaaataaacatatatcg
+ggggaatgatagatttgtggttgacatgcatcaacaaaggaagccttttagcttcctcgt
+tgtgcaatagatcaccgttttttcggccgactggcgtacagacagaagagaatggagctg
+gttgcgcagaatgcaattgaccaaatcatcggccatgcagagttaaaggtcgcaagagaa
+agcaatgcgccaacaattgcccctatgccaaaacggaaggttcctgccagcgaagatgcc
+gttcccgccatatggggaaactcatcaagaatgaccgccatcgcattggatgacaccatc
+gacacgcagcccacaaacgccgcaacgccaaccaccagcgaccaaaatcccagccccagc
+agcgcactgatgaccatccacgctgccataataaattgtatccacaaccccgagcggaac
+atatttaacgcgccaatgcggcggacgaagcggctgttaaagatggtcatcacgaacaga
+aaaacaatgtttagcgcaaagtaataaccaaagttttccggcgcgacgtggttaatttca
+atataaacaaacggtccggcgcttaagaatgagaacatcccggcaaagctgaaaccactg
+gcaagcatgtagctcaggacacgtttatggcggaacagcgccgcaaagttaccaatagtg
+gtacgaatgtgaaatggctgacgacgctccggtggtaaggtttctttaatcaggaagaaa
+atcattgccgaagccagaatcgccgctaatgccaggatccagaagatgtaatgccagctc
+agccacaccagcacccagccgccaactatcggtgccatcagcggtgcaatggttgtcacc
+agcatgacaaacgacatcatccgcgagaactcttctttcgggtaaatatcgcgcatcagg
+gcgttaatgaccacgctggccgcagccgcagccagcccgtggaagaaacgcatcacaatc
+agctgatcgatggtgtttgccaacgcacacgccaccgcggcggcggcaaacaccagcgta
+ccgccgagcaccaccggcttacgcccgaagctgtctgccatcggcccgtagattaactgc
+cccaacgcaaagcccagaatataagtactgagggtcatctgcgtactgcccgccggtacg
+ccaaactgcgctgaaattaccggtagcgcgggcagatacatatcaatcgacagcggcatc
+aacatggccagcaggccaaggataaaaacaatagcaaacgacgaatgctgtcgggtggtc
+acaacgggctcctgaaagtcattgaaaagttagacgacgctggcaatttcttcttcagtt
+aacggacgatattcaccgggggctaaatcagcatccagcgtaataccgccaatacgttca
+cgatgcagctcaaccacgtggttacccacggcggcgaacatgcgtttcacctgatgataa
+cgcccttcgctgatggtcagacgaacctgcgttggggtaatcacttccagcaccgcaggc
+ttagtgagatctttttcgttatgcagctgcacgcctttagcaaattgctctgccgtatcg
+tcagctacaggtgattccagtgtcaccagataggtcttctcgcaatgatggcgcggagaa
+gtaatgcggtgcgaccactgaccatcatcagtcatcagcaccagaccggtggtatcaata
+tccaaccgccccgccgcatgcagtttccacgctaccggttcatcaagaaaatagagcacc
+gttgggtgatcagggtcgtccgtggagcaaacatagccctgaggcttattgagcatgaag
+taacgtggaccgtgttgctgcgccagcgggttgccatcgtaagcgacatcatgttcagga
+agcagtttgaacgctgcattacggacgatttcgccatcgacggtgacacgattgccgcgg
+atttcacgcccggcaatagcacggctaacgccgagttgctgtgcgataaatttatcaagt
+cgcatgtgtgtgattttgcctgtaaaaacggaggtcgggcattgacccgaaaatctgaac
+tgttgtctgcccagtatagcggtctaataacatccctcaagggaaaaagatccatggcat
+actattagcagaataatctacctacgcgagaccatgatttttacacttcgcccatatcag
+caagaagccgtggatgccacgctcaaccattttcgtcgtcataaaacccctgccgttatc
+gtgctgcccaccggcgcaggtaaaagcctggtgatagcggaactggcacggctggctcgt
+ggtcgcgtgctggtgctggcacacgttaaagaactggtggcgcaaaaccatgcaaagtat
+caggcgctggggctggaagccgatatttttgccgccgggctaaagcgcaaagagagccac
+ggtaaagtggtatttggcagcgtgcagtctgtcgcccgtaatcttgatgcctttcagggt
+gaattttcgctgttgattgtcgatgaatgtcaccgtattggtgacgatgaagagagccag
+tatcagcaaatcctcactcacctgacaaaagtgaatccccacttacgcctgctggggctg
+actgccacgccttttcgattgggcaaaggctggatctaccagtttcattatcacggcatg
+gtacgcggcgatgagaaagcccttttccgtgactgcatttatgagctgccgctgcgttat
+atgattaaacacggctatctgacgccgccagaacgactggatatgccagtagtgcaatac
+gatttcagccgcttgcaggcacagagtaacgggctgttcagcgaagccgatctcaaccgt
+gagctgaaaaaacaacaacgtattaccccgcacatcatcagccagattatggagtttgct
+gcaacgcgcaaaggggtgatgatttttgccgcgacggttgaacacgcaaaagagattgtg
+ggattactgcctgccgaagatgcagcactgattactggcgacacccccggcgctgagcgc
+gatgtgttaattgaaaattttaaagcccagcgttttcgctatctggtcaacgtcgcggta
+ctgaccaccggatttgacgccccgcacgtcgatcttatcgccattctgcgccctaccgaa
+tcagtgagtctttaccaacaaattgtcgggcgcggtctgcgtctcgctccgggcaagact
+gattgcttaattcttgattatgcgggtaatcctcacgatctctacgcgccggaagttggt
+acaccaaaaggcaaaagtgacaacgttccggtacaggttttctgccctgcctgcggtttt
+gccaacaccttttgggggaaaacgaccgccgacgggacattgattgaacactttggtcgt
+cgctgtcagggatggtttgaagatgacgacggtcatcgcgaacaatgtgacttccgtttc
+cgttttaaaaattgcccgcaatgtaacgcggaaaacgatattgccgcccgccgctgccgc
+gaatgtgacaccgtactggttgatccggacgatatgttaaaagcggcgctacgactgaaa
+gacgcgctggtattacgctgtagcggcatgtctttgcaacatgggcacgacgagaaaggc
+gaatggttgaaaatcacctattacgatgaagacggcgcggatgtgagtgagcgtttccgt
+ctgcaaacacctgcccagcgtaccgccttcgagcagctttttatccgcccgcatacgcgc
+acaccgggcatcccgctgcgctggatcaccgccgccgatatcctcgcccagcaagcctta
+ttgcgacacccggattttgtcgtcgcccgcatgaaaggccagtactggcaggtgcgtgaa
+aaagtgttcgattacgaaggtcgttttcgtctggcgcacgaattacgcggttaatggtag
+ttttgattgatgtataaggcgattgagtatagaatctcgcccgcttttgcatacgcaaag
+cagatcacttacctgttgctgggtcgcctgtagcaggattaatttaagagagaaagaaat
+gtttactatcaacgcagaagtacgtaaagagcagggtaagggtgcgagccgccgcctgcg
+tgccgctaacaagttcccggcaatcatctacggtggcaaagaagcgccgctggctatcga
+gctggatcacgacaaagtcatgaacatgcaagctaaagctgaattctacagcgaagttct
+gaccatcgttgttgacggtaaagaaatcaaagttaaagctcaggacgtacagcgtcaccc
+gtacaaaccgaagctgcagcacatcgacttcgttcgcgcttaattgctgaataagttgta
+aaaaaccccgctccggcggggttttttgtatctgcagattatgcctgattacggtattgc
+tattttttgcaggccagataaggcgttcacgccgcatctggcattcagaacacaaaaccg
+attaattgccgccagacgtccggcgctgcaattggtcgcgcaaattcggcggcgtgcctt
+taatggtcaaggtatcggttgctggatcccagaagatgcgttcacctaacagcatcgcat
+caaagttaatagtcaagccaccgccgctaccggcaaacttcgtcaactgacgcagtgtgc
+tacggtctgccgggaagctctcttccagttcgtagcctttttcagccgcaaactccgtga
+agctcacttcgcttacgcctgccagctctttcgacagcgatttcagttcgatctcttcgc
+ctgcctgcagctgctcattacagtagctataaacctgctggcgcacgttctgtcgctctg
+ctttatccagttgtgcttcggcagtgaaatcatcaaccgcttgcaacagcccacggtttt
+gcgctttcgcgtttaacccttcgctggccccgaggaaatccataaagaaatccgccactt
+tgcgccctactcgccctttcaggaaagtgagatagcgggtggactctggattggtttccc
+attcggttaaatcgatacgcgcaacaatatccgcatgattgatatcaagataatgggttg
+ggttgatgtcgagattttcgttaacgcgcatactgctcaggttgctcagaactgccacca
+gcaaatactccaccgccagatagcgatagtggcaaaacagcacgaatccaccgtcagcaa
+aaggatatttcgctaattcgtcacgcaggcggccggttgccgcgcggctaaatgccagga
+agtcctcttcgccctgacgctgtaagcgcagcgtctgcgccagttcactctcttcgctaa
+acaagccgtaagctttatttttggcgctatagacccgatgcagttctgccaccatctcaa
+cgacggtttctgtcggttccagcaatgaatcgcgcaacaccagctcaaggttctgctcat
+cacgcttgataagctggtgcagagcaatctggttgatatccagactcatgataaactctc
+ctttaagaccgggcggtattcaaccaccgccggttaagcgacgcaataaaagatggcggt
+cattttacagaaggcagcgtaacgagaatgatttaacgcataaaaaagcagaaaaaaaac
+cgttgctacggtaatatgttgccctttcatcaactaactgatttcgatttatgccacaaa
+tttcccgctacagtgatgaacaggttgaacaattgctcgcagagctgctcaacgtactgg
+aaaaacataaggctccgaccgacctttccctgatggtgttaggcaacatggtcactaacc
+ttatcaacaccagcattgccccggcccaacgccaggcaattgccaactcttttgcccgcg
+ccttacagtcctctatcaacgaagacaaagcgcactaagggaaacagataacaggttatg
+gtaactcatcgtcagcgctaccgtgaaaaagtctcccagatggtcagttgggggcactgg
+tttgcactgttcaatattctgctttcgctcgtcattggcagccgttacctgtttatcgcc
+gactggccgacaacgcttgctggtcgcatttattcctacgtaagcattatcggccatttc
+agcttcctggtgttcgccacctacttgctgatcctcttcccgctgacctttatcgtcggc
+tcccagaggctgatgaggtttttgtccgtcattctggcaacggcgggaatgacgctatta
+ctgatcgatagcgaagtctttactcgtttccatctccatcttaatcccatcgtctggcaa
+ctggttatcaacccagacgaaaatgagatggcgcgcgactggcagctgatgttcatcagc
+gtgccggttattttattgcttgaactggtgtttgcgacgtggagctggcaaaagctgcgc
+agcctgacgcgtcgtcgacgcttcgcgcgcccgctggccgcattcttatttatcgccttt
+atcgcctcgcatgtggtgtatatctgggccgatgccaacttctatcgcccgatcaccatg
+cagcgcgctaacctgccgctttcgtacccgatgacggcgcgacgttttcttgagaagcat
+ggtctgcttgatgcgcaggagtatcaacgccgtcttattgagcaaggtaatccagacgcc
+gtttccgttcagtatccgttaagcgaactgcgctatcgcgatatgggcaccgggcagaat
+gtgctgttgattactgtcgatggcctgaactactcacgcttcgagaagcagatgcctgcg
+ctggcaggttttgctgagcaaaatatttcgttcacgcgccatatgagctccggcaacact
+acagacaacggcatctttggcctgttctatggcatctcgccgagctatatggacggcatt
+ctgtcgacccgtacgcctgcggcattaattactgcgcttaatcagcaaggctatcagctg
+gggttattctcatcagatggctttaccagcccgctgtatcgccaggcattgttgtcagat
+ttctcgatgccgagcgtacgcacccaatccgacgagcagaccgccacgcagtggatcaac
+tggctgggacgctacgcacaagaagataaccgctggttctcgtgggtttctttcaatggt
+actaacattgacgacagcaatcagcaggcatttgcacggaaatatagccgggcggcaggc
+aatgtcgatgaccagatcaaccgcgtgctcaatgcactgcgtgattctggcaaactggac
+aatacggtggtgattatcactgccggtcggggtattccactgagcgaagaggaagaaacc
+tttgactggtcccacggtcatctgcaggtgccattagtgattcactggccaggcacgccg
+gcgcagcgtattaatgctctgactgatcataccgatctgatgacgacgctgatgcaacgc
+ctgctacatgtcagcacacctgccagcgaatattcgcaaggtcaggatttgttcaaccct
+caacgccgtcattactgggttaccgcagcggataacgatacgctggcaattaccaccccg
+aaaaagacgctggtactgaacaataacggtaaataccgcacttacaacttacgtggtgaa
+agagtgaaagatgaaaaaccacagttaagtttgttattgcaagtgctgacagacgagaag
+cgttttatcgctaactgattaattataaatcagttagcgaaatatcttacttgcaatcgg
+tgtggaaaacggtagtattagcagccacgagtcggcacgtagcgcagcctggtagcgcac
+cgtcatggggtgtcgggggtcggaggttcaaatcctctcgtgccgaccaaaaatcccaag
+aaaaaaccaacccttacggttggtttttttatatctgcaattaattcgataaacagaccg
+tgacacatcacagcctgtttattttctgttatcagaacgtccagaccacacccgcctgag
+tattccacggcgattctacccctgcgccattgccatagctgactgacaaatgaccgctta
+acgtcggggtaaacgatgaccttataccagcctgataaacgccactggttccagccacat
+cattattaaatttgccatcgtcattaactttcacctggttagaatcggcgtattcctgac
+gcacggccgctttcagccagggttccagcgtcgtaccgttttgcaggtccatgtgatagc
+ttaccgccgttcccgcttcagcgcgtaatatccgggtatttcccacatccgcgcgcatgc
+cgtttgataacgtgtagtcctgaccatctgtggtaaagccggtaaaggccagatagggtc
+taacactccacaatccgtcaacccaacggaacccgctctcaacatgagcacccgcgccgt
+tactattgtaatcgccaaacgctgttgccccattactcatcttgccatggatggtgttgg
+caaaacggtcaactttcaccaccccatcaacataggcaccgttctgatgctcccaaccgg
+cataagcccccagggtatagctatcgatattacctttgccgccgcgatcaaaaccaatat
+cagaatgagagtaaccaaagatcaagccgcgaattgtactgctttcttcacgggagaaac
+ggctatcgataccgagcgtcaggcccgtcaatgtttgctcaaaaccagctcccgcatcag
+tggtcacgttgttgcgggtgttaattgccgaactccacatcgccgtatcgtaactaacgc
+cttttacgctaccaagacgctcacgcacggtgtccagttctgcatcaaataccagcggtt
+gtgcggccgccatattcagcacatcagtggttgaaggggtaatttgcgcgcgattctctg
+ccagactccagctatggttgccattatccagcaaggtatattcatacgtaccgatatcaa
+caacgcctccggcattgcccaacgtaaatgcagcatcaccgccgcccgttgttaccagtg
+taaggctatctcctgctgccgggctggcaccggtgtccgtcacgaatattttgaaatcac
+ctgttgcctgaccggtgacgttgagctgatcgctctgatgattagccatatcggtacgca
+tataaaaattgccgtttcccgacagggtattggtggtcaacgtaatgaaattttccgcac
+ttgccgtcactgatgaacgagtcactggctcatccatcataatcacatttgcgtcagaca
+tcgcaaggttggctaagttgaggagggtgttttggttcgtcgtagtgatatcggcaatga
+tggtccatacgctattttcgagcgaaacgtccgctttgctggtatccacggcaccatgcg
+ttctaaaagaagcgccctcagaaaccactaccttacccaccaacattgcgggtgcataat
+ttatttgcggcttcatgacctcaagaatgccatcattccctctgactgaaacgttaacca
+ttgtgccagcccagacgttagcgcggccattgttgataaccatattttcagagatggctt
+ttgaggaatacgtgatacttccattctgatatgatcgaccgagatcatataccgcatttg
+cctgcactttcgtaccagtatcctttcccagcgattgcatagtggcatgcttatcaagga
+tagtatcaatggcctgcgtgtcctccataacaatgagcccggaaccatcatccagttcat
+aattttttgacacaccatcttttatactaaattggcctttactgtttggaccactcactt
+ccagcgcattcgttgagacaattaattttccgcctgcttttttatcaacgccagttacag
+tcccgccatccataacctccagtaagccgccactatctacagtggtattataagcgaagt
+cattttcttcaactcgcaaacttccgccgttttccaacaacatattattagcaataccat
+tcttgatatcgaactgaccgagacggtttgttccgaatacctccatggcccgcgtggttg
+ttttaatagcaccgcctgctttctgatctaccgcaaatgcaaatcccccctctttaacct
+ccagtagtcctcccttttcgatagcgacaaagacggcccccccatctttttcaacgatta
+agcgcccgcctttaatcgtggtatcattcgctgcgccataaacctgtagcacaccattat
+tgagcgtagtctggtttgccgcgccacccatttgaacaatttgataaccgtcatttaata
+ctgagtattctgcggcgccattcatttcaatgtactgataccctccgttaatttcagtat
+tattacttacaccaaattcttttatatgctgttctccgccaggattgattttcgtattat
+tggcggtcccataaaccagctggatatctttttccaggacaacaccatcaactgtctcac
+catactcaacagttgatgccaatgctatgggtgaatataaggaaggtgcgaataagcggg
+gaaattcttctcggctgactcagtcatttcatttcttcatgtttgagccgattttttctc
+ccgtaaatgccttgaatcagcctatttagaccgtttcttcgccatttaaggcgttatccc
+cagtttttagtgagatctctcccactgacgtatcatttggtccgcccgaaacaggttggc
+cagcgtgaataacatcgccagttggttatcgtttttcagcaaccccttgtatctggcttt
+cacgaagccgaactgtcgcttgatgatgcgaaatgggtgctccaccctggcccggatgct
+ggctttcatgtattcgatgttgatggccgttttgttcttgcgtggatgctgtttcaaggt
+tcttaccttgccggggcgctcggcgatcagccagtccacatccacctcggccagctcctc
+gcgctgtggcgccccttggtagccggcatcggctgagacaaattgctcctctccatgcag
+cagattacccagctgattgaggtcatgctcgttggccgcggtggtgaccaggctgtgggt
+caggccactcttggcatcgacaccaatgtgggccttcatgccaaagtgccactgattgcc
+tttcttggtctgatgcatctccggatcgcgttgctgctctttgttcttggtcgagctggg
+tgcctcaatgatggtggcatcgaccaaggtgccttgagtcatcatgacgcctgcttcggc
+cagccagcgattgatggtcttgaacaattggcgggccagttgatgctgctccagcaggtg
+gcggaaattcatgatggtggtgcggtccggcaaggcgctatccagggataaccgggcaaa
+cagacgcatggaggcgatttcgtacagagcatcttccatcgcgccatcgctcaggttgta
+ccaatgctgcatgcagtgaatgcgtagcatggtttccagcggataaggtcgccggccatt
+accagccttggggtaaaacggctcgatgacttccaccatgttttgccatggcagaatctg
+ctccatgcgggacaagaaaatctcttttctggtctgacggcgcttactgctgaattcact
+gtcggcgaaggtaagttgatgactcatgatgaaccctgttctatggctccagatgacaaa
+catgatctcatatcagggacttgttcgcaccttccataacgctgtagccaccagaacaga
+tattgcggaacgacaaagagaaacagaaccagattgatgcattgagctttcatcctatga
+aattaattgctgttaaaagcattgggtacagaaaatacccatagctccatacccggagtc
+agtttttaaaaactgtttaaagaaatgcacaagtattgtgattgattttttagttgtttt
+tcttgatgagaagctgatgcaaaattccgtctttataatgaaaatgatgccaaagcgaac
+gacaaggttgtagttttcactacatgtccatacataaaatggggtaacattcacgcgcct
+ggtagcgttaccaacgctacgctcaaacataatgattctaataaaacctcaggagactac
+tatgcctgaagcaacaccttttcaggtgatgattgtggatgatcatccacttatgcgacg
+cggtgttcgtcagttactggagcttgatcctggctctgaagtggtcgccgaagcgggcga
+cggcgcgagcgctatcgatctggcgaatagactggatatcgacgtgatcttgctggatct
+caatatgaaaggtatgagtggcctggatactctcaatgccttgcgcagggatggcgttac
+cgcgcaaattattatcctgaccgtatccgatgcctccagcgatgtctttgcgctgataga
+cgcaggcgcagacggttatctgttgaaagacagcgacccggaagtattgctggaagcgat
+tcgtgccggagcgaaaggcagcaaagtctttagcgaacgcgtcaatcagtacttacgtga
+acgtgaaatgtttggcgcggaagaagatcccttcagcgtgctgacggagcgcgagctgga
+tgttctgcacgagctggcacaggggctgtcaaataaacagattgcctcggtgttgaatat
+ttccgagcagacagtaaaagtacatattcgcaatctgctgcgtaaactcaatgtccgctc
+acgcgtggcggccaccattctgttcctgcaacaacgcggggcacaataaaaatagcccga
+tggatttatcatcgggctgagatttatgacaaacgcaaaactgcctgatgcgctacgctt
+atcaggcctacgtggatcgatcaatttattgaatttacacaattttgtaggccggataag
+gcgttcacgccgcatccggcataaactaagcgcactttgtcaacagtctagcccgatggc
+atcaccatcgggcctctttttatttactctcctgcggcgacaaatgttgcatcgcctgcg
+cgatactacgttcaatcaccgcacggcgagtatcgttggcaggtaagagtttcaacatca
+tctcccacgcggcaacggcttcgccaaatcgctgctgctcaaaggcattaaacgcataca
+tgcttagcacacggatattgctatggtccgttctcaccagctgacgtagcagttcaccgc
+cgaggcggttgtcgttgggatcagatgaacgagtcaacgcttcagcgtatcccagtgcag
+catcactgtttttcggatcgaggcgatacgcagtggcgtatgcatcggtggcgatactgg
+cgttacccagcgccatgccaacgcggcccaacataatccagccttctatatctcccggat
+ttttttgcagttgagtacgcatccccagcgcaagacgcgacatctcttcttcgttgagcg
+gatcggctttcggatccagcgccctgtccagcaacgccggagcctgtgccgtggcctgct
+gccagattttcacctgctgataattgccagtctggtagtagctgacgccagccacaatta
+acgccaccacaatacccggcagataaacaacatatccggcacgcttaccttccggcacgc
+tttgttcaggaaacgcttccggcaccacgcgtacccgacgccgcgagcgggcgtatatga
+cccaaccgccaatgccaatagccactactggcagcacccacagcagcacggtcagcggcg
+ttaacggcggatcgtaagtgacgaagttgccgtaacgcgccaccatataatcgacaatct
+cttttttacttttaccttcctgcatcagttcatacactttctgacgcaggtcggtggcaa
+tcatcgagttggaatcggcaatgctgttgttctggcatttcgggcagcgcagttcttcag
+tgagctgacggaactgttgttcctgtgcttcatctttaaactgcaacacatcgatggtcg
+ccagcgctgagccggagatcatcagcatcagcacgcccaataaaaacctcattgtgcggc
+ctccttactgtatttctcccacagcggcttgatctcttcttcccagacgcgaggattcag
+atcgcccgcatggcgatagcgaatgatgccgttgccgtcaataagaaacgtttctggcgc
+gccatagacaccgagatccagccctaacatgccatcgccatcaaacaggcttagcgcgta
+aggattgcccagctctttcagccagctgattgccttctggcgatcgtctttatagttcat
+gccgaccacgcggatgccctgcgcagaaagctgattcagatattgatgttccgcacggca
+ggtcggacaccaggtcgcccagacgttaagcagtactggtttgccctgagtcagcacatc
+cgcctgataaaactgccccggattgtccagtgattcgagacgaaacttcggcacaggctt
+gccaatgagcgccgattccagattggtcggatcatccccttcggcattacgcgccagctg
+ccacagcagcgccgcggcaatcgccaggaagataatcaacggaattaacaatactttgcg
+cttcatacggcctccggcgcagttttttgcggactcacgcgcttacgatagcgaggatca
+aacagacacagcagtccgcccaacgccatcatcagcccgcccgcccaaatccagcgaaca
+aatggtttgtagtaaagacgcacggcccacgcgccgttttccagctcttcaccgagggcc
+gcgtacaggtcacgcgtgatgccgccgtcaattgccgcttcggtcatcatcgacccggca
+gtgttgtaataacgtttttccgcatacagcaccgtttccggcttgccatcgcgcgttacg
+ccgatagtcgccacaccgccacgccagttcgggccagtcacctctttgacatcacggaag
+gtgaagcgatattcatgaatatcgacgctatcgccggacttcatgcgcacatcacgctca
+acgctatagttctggctaaaggcaatgccaacaattgtcactgccagcccaaggtgagcc
+gccaccatcccccaataactgaaggtggttttcgtgccgcgtgaaatacgtagcgcagct
+tccgcaattgccagcaccgcaatccagcaggccattgccaggccgagcaccgtcatcgcc
+acaactttgctttcgaacagccacggcaacagcagcgacagcaccagcgtagagatgaag
+gcgataatcaataaattgcggatcttacgcgggcgatcccgcccccagcgcaccagagga
+ccgacaccaagcagtagcgcaaacggcaccatcagccaggtaaacatggtgttgaagaac
+ggttcgccaatcgaaatactgcccagtcccagttgcttatgcaccaacggcagcagcgtc
+cccagcaacaccaccagcatcgcagcgaccagcaaaacattgttcgctaacagcaaagat
+tcccgcgaccacagcgcattgtttacgcgtgagcgaactttgtgtccacgcgcggcaaac
+agcagcagcgaaccgccaatcaccagcaccataaaggcgaggataaacataccgcgcgcc
+ggatcagacgcaaacgcgtgtaccgataccagcacgccggaacgcacgaggaaagtcccc
+aacagacacaacgagaaggcactgattgccagcagtaatgtccacgctttgaagctggcg
+cgttgttcagtgaccgccagtgagtgcatcagcgcagtccccaccagccacggcataaac
+gaggcgttttctaccggatcccagaaccaccagccaccccagccgagttcgtaataggcc
+catgcggaaccgagcacgatgccgagcgtcaggaagatccacgctgccagcgtccacgga
+cgagtaaaacgcgcataagtgctgtccagacgcccgctcagcaaagaagcaatggcaaaa
+gcaaacgccaccgagaaacccacgtaccccatataaagcagaggcggatggaagatcagc
+cccggatcctgcaatagcgggttaagatcgcgaccttcaatcgggaagttcggcaacgtg
+cgagagaacgggttagaggtaaagagaatgaacagcaaaaagccgacactgaccatcccc
+attatcgccagtacacgggccacaatatccagcggaatacgctgactaaaaatcgccacc
+gcaaaggtccagccgctcatcagcagcacccacagcagtagcgagccttcatgcgcgccc
+caggtagccgccacgcgataccacaccggaagctgggtattggagttgctggcaacatag
+gtgacggtgaagtcgttgaccacgaaagcattgaccagcaccagaaatgcgccagccaca
+gacataaacagcagccaggcaaacaagcgggaagacgccatcatgcgcgcatctccgcgc
+gccacgccccatagcggatacacggacagcagcagcgcaattcccagcgccaggcacagc
+agtccgttaccaatttctggcatcatgatgctgggtccttataaacactcgccgggcgac
+ggtggttagcttccatcgctttctcaacttctggcggcgtatagttttcatcgtgtttcg
+ccagcacttctttcgcgaggatatgattgcctttttccagttcgccctgcaccacaacgc
+cctgcccttcacggaacagatccggcaaaatgccttcgtaagagacatccactgagcctt
+cagcatcgtaaatggtgaaggtcactttcagcgaattgggatcgcgctgcacactacccg
+gcatcaccatcccgccaacgcgcagacgctgaccgacttccggcatttgctgagtttcac
+gcttgccgtagagaatttcccccggcgtataaaagagatcgatattcgagcgcagcgcat
+atagcaccagaccgatagtcagcgccagccctgccaacacggcacaggcaatccacaagc
+ggtttttacggcgaatattcatgcagcctcctgctgttgcgcagcacgtaaacgcgcctc
+acgcgcccgctgttgcgccacgccacgcagaattgcgcgatgttgcatcaccgagtgcac
+gaccaaaaccaccagcggaataacggtcatcaccaccgccagccagacaaaaaaggcgta
+accgcccattgcgaaaaattcattccaggaagcaaatgcaggggtcatttacggcctctt
+ttcagtatcagttcactcacccacggacggcgtttttccatcagcaaaatcaaattacgc
+atccgcatcagcgtcagcgtggcagacaggagcaggaagccaaaaatcgaccagcgcagc
+ggcgaacgcatcgccggatcgatactttgctgcatccgcgttgatccctgatgcagggtg
+ttccaccactccacggagtaatgaataatcggcagattcaccacgccaatcagcaccagg
+atacctgccgcacggcccgccagacggcggtcgtcgaaggcgtgccacagggcaatcaca
+cccacatacaaaaacagcagcaccagttcagaagtcagacgtgcatcccatacccaccag
+gtgccccacatcggttttccccatgcagagccggtaaccagggcaataaaggtaaacacg
+gcaccaatgggggccatcgccgccaccgccaggttggccattttcatctgccagacaagg
+ccaataaacgctgccactgccattgatgcataaatgcccatcgaccagatcgccgcaggc
+acatgcaggtagataatgcggtagctatttccctgctgataatcagccggagcaaagccg
+aatccccagatccagccgacggtaagcacgaccacactggcaattgccagccacggtata
+aaccagccacagatttgatacagccgtggtgggatcgccagttgatgcagtgttttccac
+atagtttcgataccagactcgaacaaaaatcagtaatccagcgttattgaatgctgattc
+gtaacgctgccgccgtcgcaaaaggacttaatgtcgcggtgcctgccagcaacgcgccta
+aaattgccagatacccgtcaacgggcaaatgcatagaagccgcgtccatcgcggcggtgg
+caaagatgagtaatgggatagtcagcggtaacaccagtatgctgagcagcacaccaccgc
+gcttaagtcccactgtcagcgccacgcccggtgcaccgagaaagccaagcgtaggcgttc
+ccagcagcagcgtcagcgccatcacttgccagccataaacatccattcccagtagcattg
+ctaccagtggcgaaaggatgagtaacggcagaccggttaccatccagtgcgccatcacct
+tcgccagcacaacggcgggcaagggtaacggcaacaacatcaattgttcaagactgccgt
+cctgcaaatcgtcacggaacagtcgttccagcgccagcaaggatgaaagcagcgcagcaa
+cccagataatgcccggtgcaatacgcgccagcagttgcggctccggaccgatactgagcg
+gaaaaagggtaattacaatcaggaagaaccacagcgggttggcgatttcggcgctatggc
+gaaacgctacacgcagctcaagacggaaaatgcgccagaacatcatgcggccctcgtttg
+cgtcagtgaaatgcggcgaattttactttcagcaacgttgagcggctggtgggtagtcag
+aatcacaatccccccctgctccgtatgctgcgccatacgctgggtcagacgatcgacacc
+gttaacgtcaatcgcggtaaaaggctcgtcgaggatccataacgtggcacgggtcagcca
+cagacgcgctaaagcgacgcggcgttgttgcccggccgagagctgatttacaggaatatc
+ttcgaatccggcaagcccggcctgcgccagggcttccagacattgtgcggtatcgccatc
+gcgatgataaaagtgcagattttctaacgccgtcagccgggttttgatccccggctgatg
+gcctatccataacaggttttgatggtagctgtcgcgtacctgatgcaagggctgcccttg
+ccagagaacctcgcctgcgtcagggcgagacaaccccgtcagcaaacggagaagcgttgt
+cttccccgcgccgttgctaccggtgatttgtacccactctcctgcgttcagcgtaaatga
+caagccactaaataaggttcgttcatcccgctcacaaagtaactctctggcttcaagcat
+acccacgcaataaccctgttaaaaacctggctcgacttcacgcatatcgggcagcttgtg
+cgctatccctttatggcaatcaatacaggtttgcccatctttcaccgcctggtcatgcat
+cttcgcggcaaccgatttctgggcggttgtatccatatactcgaagttgtgacagttacg
+gcactcctgcgagttattgtccttcatgcgccgccactcattctgtgccatcgtcagacg
+atgagcttcaaatttctgcggcgtgtcaataacgccaaaaattttaccatacagctcttt
+acttgctttgagcttgcgtatcatcttcggcacaaactcgtgcggaacgtgacaatccgg
+acaggtcgcacggacgccgctacggttgttgtagtgcacggaatccatgtattcctgata
+caccgtgttgcgcatttcgtggcagctaatgcagaactcttcggtattggctttttccat
+cccggtgttaaagccaccccagaagacgatgccgccaacaaaaccgatcaacagcagcgt
+ccccagcgccagacggctgggggtacgccaccatttccacaggcgcttaatcagaccagg
+cttacggtcagaatttcccataataacctcttatttcccgtaaccttttgatggggtaaa
+ggtattccccacgattggcgcggtatcggcctgcggtacgtgacattgcagacagaaata
+acgacgcggagccacttccgcgcccactttgccgtcgctgtccataaagtgagtaggact
+gatacgcggcgcgccagtggtgcgatagctttcgacaccgtggcactgcaagcagcgatt
+ggtattggtcgttacctgataaccttcaacgctatgcgggatcattggcggctgattcac
+atagttcagcggcatccgatcctgctcttttggcatccgaatggccccttcctgtgtccc
+ggatacttccggcgactggctaaaatcgacgccattagccgcccaaaccgcgccgcttac
+caccagggccagcatcgccgtccattgacacagcgctttcttcaggtcatggcttttcat
+gatttcgctcccgaactccatcgtgtagttattgtaaatacatcctcagaacagacatcc
+acgcagcgaccgcacgtcatgcaatcgcggctggtgacctgcaccgggctttgttcatcc
+agcaccggggcacgtagcacatgcggttccgggcaaacatgaaaacaatccatacagcgg
+ttacatttctgccgatcggtggccgcaacggtaatcacacctttgctacccagcacgcca
+tacagcgcgccaaccggacaaatgtgcccgcaccagccgtgttcaacgaccagtagatca
+aataaaaacagcgcgagaataagcagcgcgccgctgccgaagcccattaccaggctacgc
+cccatcagagaaacggggttgatccattcccaaatgagcgtgccagttaaggctgatccc
+accagaatgaccaccaacagcacgtagcgaatgtggcgagggatcgtcgcagactgattg
+aggtcaaagcgcctgcgtaaccagttcgctaagtcggtaatcgggttcagcgggcagacc
+cagctgcaaaataatcgctttcccgccagggcgtagagcacggtgataatcaccgcaccg
+gtcaacgccaccgtggcaggcagatgaccactggcaagactttgcagcgtcatcagcgga
+tcggtcagcggaacggtgtcgaataacaggctactgctgtagttgccgtgcaagatccac
+acaccaaaccatggaccgctcaaaaacatccccagcacgaagaactgacaaaggcgacgt
+aacaccagccaacggtgactgcgccaccagccttttttctccagcgcctcgcgcccggcg
+tcacgtttacgatttgccattgttcccctccagccagccgaagcggtaatggtgacctaa
+ctcccctttcgccagtgacagcggtaacaccttgattgccggttgttccagcacgcatac
+tttttcgcacttaccgcaaccggtacaggcgtcgctgtgaaccgtcggcagaaagcgggc
+gtgcttaccggtacgcgtgttgcgctccagctccagggtgatggcctcatcaattttcgg
+gcattcgcgataacaaacatcgcagcgcagcccctgaaagttgagacagttttcctggtc
+caccagtaccgccagccccatccgcgcgtcgtcgatcgattcaatctcacgatccagcgc
+accgcttgggcacactttggcgcacggaatgtcctcacacatttcgcaaggaatatcccg
+tgcgacaaaatatggcgtgcccgccgacagaccagaggccagcgtcgccagttttaaggt
+gtcgtaagggcaagcctgaacacactgaccgcaacgcacacaggcactggcaaaggcgtt
+ctcgtttatggctccgggcgggcgcaaccgcacgccagatgcgcgtgcggtttgctgttg
+taaccccagcgccacacccacggcagccagcccgcctgctgtgcgaacgacatcgcgcag
+aaagcggcggcgaccattttgaggtttcgctgaccgggacataatggcttacaccttctc
+cagtttgaccgcgcacttcttgaagtccgtctctttcgagagcggatcggtcgcatccag
+cgtcagtttgttaaccaactgtgcggcgtcgaagaacggcatgtacaccaggccctgtgg
+cggacggttacgaccgcgcgtttcaacaatcgagatcacttcgccacggcgagaaaccac
+tttcactttgtcgccacggcgcagatcgcgcgctttcgcatccagcgggtgaataaacag
+gaccgcttccgggaaggcgcggtgcagttctggtacacggcgagtcatactgccggtgtg
+ccagtgctccagaacgcgtccggtagagagccacaggtcgtactcttcatccggtgcttc
+cgccgccggttcgaatggcagtgcgaagatcaccgctttgccatccggtttaccgtagaa
+cttatagccttcgcccgctttcacgtacgggtcgttaccttcgctgtaacgccactgcgt
+ttctttaccgttcaccaccggccagcgcagaccgcgcgctttgtggtagtcatcgaacgg
+tgccagatcgtgaccgtgaccgcgaccaaaccatgcgtactcttcgaacagccctttttg
+cagatagaagcccagctcgcgggattcatcgttcagctgatcttccgccagttcggatac
+cgggaatttgctcacttccggtgtggcatacagcacttcgtacagcgttttgccacgcag
+ttccggtttcttcgccagcagatcttccggccatacttcttcagttttgaagcggcggga
+gaactggactaactgccagagatccgatttcgcttcgcccggtgcctgtacctgttgacg
+ccagaactgagtacggcgttcggcgttaccgtaagcgccctctttctctacccacattgc
+ggtcggcaggatcaagtcggcggccagcgcactgactgtcggatacggatcggagacgat
+gatgaagttgcgcggatcgcgccagcccggcatacgctcttcattgatgttcggcccggc
+ctgcatgttgttggtacacatggtccagtaaacattcagtttgccgtctttcagcgcacg
+gtcttgtgccaccgcgtgcagaccgattttcgccggaatggtgccgctcgggatattcca
+cttcttctcgcagatatcacggtgtttctcgttggtcaccaccatgtccgcaggcagacg
+gtgagcaaaggtgcccacttcacgcgcagtaccacacgcagaaggttgcccggtcaggga
+gaacggaccgcaacccggctgggaaattttgccggtcagcaggtgcaggttgtagaccag
+gttgttagcccacacgccacgagtatgctggttgaagcccatcgtccagtaggagatgac
+tttcttgttcggatcggcatacagctgcgccagttgttctaactggtctttcggcacgcc
+ggtcatttcggcagttttttccagcgtatactcggcaacgaaggctttgtaatcttcaaa
+gctcatcggttcggaggcgtcagaacccggattcttcgctgctttttccagcggatgggt
+cggacgtaaaccgtagccgatgtccgtcgcccctttgcgcaggttaacgtgcttgctgaa
+gaagtcctgatttatcgcattgttttgaatgatatagttggcgatgtagttcaggatcac
+caggtcagattgcggcgtaaagatgatgccgttatccgccagctcgaagctacgatgctg
+gtaggtagaaagcaccgccacggtgacgttctggttagagagacgacggttagtgatgcg
+cgaccagaggatcgggtgcatttccgccatgtttgcgccccacagcacaaacgcgtcagc
+ctgctcgatgtcgtcatagcagcccatcggctcatccataccaaaggtacgcataaagcc
+aactactgccgacgccatacagtgacgcgcgttcgggtcgatgttgttcgaacggaagcc
+cgctttaaacagcttggacgcggcataaccttcccagatagtccactgaccagaaccgaa
+cataccgatcgattccggccctttttctttcagggcggttttgaatttctcttccatcac
+atcgaaggcctgatcccaggtgattggggtaaattcgccttctttgtcatatttaccgtt
+tttcatacgcagcagcggctgcgtcaaacggtctttaccgtacatgattttgggcaggaa
+atagcccttaatgcagttcaggccacggttaaccggtgcgtccgggtcgccctgacaggc
+caccacacgtccctgctgcgttccgaccagaacgccgcaaccagtaccgcagaaacggca
+cggcgctttatcccatttgatggcttcctgctgaccaacaacggcgcgggcaacgcccgg
+cacgctgagaccggcagccgccgcagcggccgcaacggcgttagctttcataaagctacg
+acgactgagtttcatggtgtttcctcaccttgctcttcctgctggtgataaaccagcgac
+accgccagcacgccctctacgttgcgtactgactcaatggtttggatcagcgtttcgctg
+tcttctgcttccaccaccacaatcaactgaccgctcggcgcgtcgctgacagcaacttca
+cagccgggaaaggcgttcagttgggtgctgatgtctgaaattcgttcgcttttggcctgc
+acgaccaggctgcaaacttgccagttagtgtgcatggagatactccgcagttatggctga
+taccggacagctggctgcacatgctccacatccgttgcaaagttggctattaagttgcgg
+ctggtagatcccggagagcgtcgggcgaaagataattgccattggctcacagctatcctg
+acagcggcggcattcaactgactgatacgccaggcacgcgtccccgatggtgaactgcaa
+atcccaggccctggtgtggcgcggagaaaatagcgattcggggcaagcctgcgcgcaggc
+gtaacagaagctgcactcgttatttttgaaattaacgctcggatagccgcccgcgccgcg
+ttgcagaatgttgttttcacaagcattaatacaggcgtcgcagcgggtgcaatgggtcag
+aaaatgagattcatcaccggaccagggcggacggataccgttactggctttgcgccagcg
+accagtgagtatgccccgacgggatgcatcaatcttcacattgaccttccatcattaacg
+cgctctgaaaattgagagcgaccaaataaaccgcataattaataagccatttttatagcc
+gctaagatattaaaggatgtgtcaaagatgcataccccgatcggggtaaaacctgtagca
+ggatcaaaagagtggcgggaagcgtggcaaaaacgggcttttgctcacatttcaaatggt
+tataaatatatttatatagcgattgattcaccagagatatttctgctggtttgctctctc
+attagaatttaacactaaaagagcaggtaaaattgtctgaatgttctttaagttattcat
+aaagcaaattaataaatctgatgaatatgttaaccttcagcgacatcatcggtgaaaacc
+tataaatgaagaaggaaagcaaaaaaatgaagaccattctacctgcagtattgtttgccg
+ctttcgctaccacttccgcctgggcggcagaaagcgtccagccactggaaaaaatcgcgc
+cttatccacaagctgaaaaagggatgaagcgtcaggtgattcagttaaccccgcaagaag
+atgaatctaccctgaaagtagaactgttaatcggtcagacgctggaagtcgattgcaatt
+tgcatcgtctcggcgggaagctggaaaacaaaacgctggaaggctggggctatgattatt
+atgtctttgataaagtcagttccccggtttcaacgatgatggcctgcccggatggcaaga
+aagagaagaaatttgtcaccgcgtatctgggcgatgctggaatgctgcgttacaacagca
+agctgccgatcgtggtgtatacgccagacaatgtagatgtgaagtaccgcgtctggaagg
+cggaagagaaaattgacaacgcggtagttcgctaaactgccgtgaagtgcggcaccccgt
+aggtcagacaaggcggtcacgccgcatccgacatccaacgcccgagccggttgcctgatg
+cgacgctggcgcgtcttatcaggcctacaccgctgtgaagtgcggcaccccgtaggtcag
+acaaggcggtcacgccgcatccgacatccaacgcccgagccggttgcctgatgcgacgct
+ggcgcgtcttatcaggcctacaccgctgtgaagtgctccaccccgtaggtcggataaggc
+ggttacgccgcatccgacatctaacgcccaagccggttgcctgatgcgacgctggcgcgt
+cttatcaggcctacaccgctgtgaagtgctccaccccgtaggttggataaggcggttacg
+ccgcatccgacatccaacgtccgagccggttgcctgatgcgacgctggcgcgtcttatca
+ggcctacaccgctgtgaagtgctccaccccgtaggtcggataaggcggttacgccgcatc
+cgacatctaacgcccaagccggttgcctgatgcgacgctggcgcgtcttatcaggcctac
+accgctgtgaagtgctccaccccgtaggttggataaggcggttacgccgcatccaacatc
+taacgcccgagccggttgcctgatgcgacgctggcgcgtcttatcagcatacgccacatc
+cggcataccatgccggatgtggcgtatcattacaacgcaatatccgccacttctttttga
+acgggttgcggtttcaactgcggtttcggcgtactatctgctgcctgcggcttgtcgtag
+ttcaaccccagcacttcgctggtgtactgcaactcgcgttctgttgccgctacatcaccg
+ttcagcttgcgtccataagacggaacgatcgctttcaacgtagcctgccattgcgggctg
+gaaacacgatcgccaaatactttttccagcagattcaacataatcggcgcggcggttgac
+gcccctggcgatgcccccaggagcgcggcaatggttccttgctggtcactgacgacttca
+gtacccagacgcagtacgccacctttctcggcatcacgcttgataatctgcacgcgctgc
+cccgcttgccacaaacgccagtcctcttttttcgcctgcggatagtactctttcaacgct
+tcaaaacgatcctcttcactcaacatcacctgactcaccagatatttcaccagatcgaaa
+ttatccagcccgacgtgcatcatcggcatcacgttagaggtggtggtggaactcattaga
+tcccacaatgaaccgtttttgaggaatttggttgagaaggtggcaaatggcccaaacagc
+actacgcgtttaccgtccagaacgcgggtatcgatatgcggaaccgacatcggtggtgcg
+ccaacggatgctttaccgtaaaccttcgccagatggtgattaaccacgtccgggttttcc
+gaaacaaggaactgtccgcccaccgggaaaccggcgtagtctttcgcttccggaatcccc
+gattcctgtaacagcttcagcgccgcaccgcccgcgccgataaagacaaatttggcacga
+atgttctgtgcagtgccatttttcagatcggcaacggtaacggtccaggtgttatcgtca
+ttacgctttagggcgcggacttcgctgctgagttgcagcgagaagttagatttcttctgc
+aaggaagcaattaactggcgggtgatctcgccgtagttcacatcggtaccaatttccgta
+cgcgtggctgccactttctgttgcggatcgcgcccttccatcactaacggtgcccactct
+ttgatctgcgcgtgatcttcagagtaacgcataccgcgaaacagcgagctttgttgcaac
+gcggcgtaacgggcgcgcaggaaattgacgttatcctcgccccagacaaagctcatatgc
+ggaacggtattgataaatgaacgcggagtacgcagcacgccgcgctcaacctggtgcgcc
+cagaactggcgggaaatctgaaatgcttcgttaatggcgactgctttttcaatactgatg
+ctgccatcggcgttttgcggggtgtagttcagttccatcagtgcagaatgcccggttccg
+gcgttattccagccgttcgaactctcctgcgcgacaccctccaggcgctccaccatggtc
+atcgaccattcaggctccagctcgcgtaaataggtccccaacgtggcgctcataatgccg
+ccgccaatcaacagtacatcagtttcctgctcctcggacgctttcgcttttgccgccatc
+gaaacggcattaagccccacggccatcgagaagagcatggcagtcacttttttcatcttg
+ttaatgccttacttttagtcgctttattgcaggtgagatttgcgcggcatcaacggtaac
+acttaagtaacaacatttaaataatgtttataaattatattctaattttagaaacattat
+aatttcgttgattaattatagggttattagaaatgaagggatttttagcatattgacctg
+acggcagcagtccgccaggtcagcgtcgtaatattatgccgtccgggcaacggcatcacg
+cgaagcggcatcgcgctcttcgcccgtcagctcgctaagttgcccattgcgcatttccag
+caggcggtcggcgtggataaagtaatgatcatcatgactgatagcgaaaatagttttacc
+catctcctgcatcagcggcagcaacacctgataaaactcacgacggaagtgtggatcctg
+atccgccgcccattcatccagcaggataatatcgcgttcttctgccagcgccagcaacag
+cgccacgcgttttttctgcccttttgataacttcaggttaacaatacgcccgttgcttaa
+ctcaagcttatgagccattttcagctgcgccagccacttctcaaccagttgcgggttagc
+gggtttaccctccggccccagcagttgatcaaacagccagacatcggtaaacactgccga
+aaacagtttgcgataatcttccggttgttcgccgctgacaggtttgccatccagcaagat
+ttcgccgctttgtggctgatacaagcccgtcaacaacatcgccagcgtcgattttccgct
+accgttgccgccaatcagaaacagcagctcgccacgtttgatggtgagattaatcggacc
+aacggaaaacgcgttatcctgataagcaaacgtcacgttacgcagctccagcgtttgcca
+gttgggaaacgcctgcgggcgcggaaactctgctttgaaaggcgcgagcgcgaatttgtt
+cagcttgttaaacgccacctgcgccgtcagcagcgtcggcaatgcgccaaccgccgaaag
+cagcggcgtacgcaggaataaaagcgtcaacgaataggtcgcggcaacgttggtatcagc
+ccaaccgaggctgttcgccatccagaacaccaggccgattgcgcccagcatcatgatgtt
+tgaccagttcacggcactaagatggaaggtgtctgcgcgaataatatggtggcgatactc
+ttgcgcatcaggaatgtagaggttgttaaacacatactcggcgcgttcccggttcagagt
+cagctctttgcgcccttcaagtacagtttgaaaatccgtgtacagcttgtcttcggtttc
+acgcagggtcgccatatgtttgtacacccgcgccaccagcacaaaaccgccccagatggt
+gatcgccatccagatagccgttaccagcaacattttgcccgacagcatccacagatacgc
+cgctgaaccgatagtgagaatgatcccctgcaccagttccggcagacgcacaaaagcaat
+ggtgatattgcgcacatcgctggttaaccccgccagcaacgaggcgctaccgagttgttc
+aatgcgctcgacgtgagtatccagaatccgcttgataaattcactacgcagtcggtaaac
+gaagtgatgccccaaagtggtgagcgccagttgcgatccgagagtgactgccatcaacag
+cagcaataatcccagaaactccggcaacaccagcagactggtatccgccgtttcgataag
+gcgctgattgataaaagcaattaagccaatgcctaatgccgcactggcgaggcttagcgc
+catcacactgataaatggccagcgatactgccgccagacaagtacaagaagttccatgca
+gaaaacccggacaatgaattacagcccgcagtttaaacatcttcgcgcgcacagcaataa
+taattcttatttttattcttttttacctgcctgacggaatgtcaggttgtagcggcagtc
+gatggtgagtggatgaaaccccgctttcaacggttgaataccgtgataaaacagccgcga
+ttcaccgccccataccaccacatcgccatgttccaacaacaaacgtttgagcggatcatt
+tcgtttcaggccgccaaattgaaaaatcgcgggtaagcccagagaaacagaaacaattgg
+cgcgcgcagatccggttcgtctttatcctgatgcagcgacagtttcgcgccaggagcgta
+gcggttgataagacaagcatctggctggaaatctggatagcccgccgccgtagccgcacg
+ttgacataaattatgaaaactctgtggcatggcgggccacggtttatttgtttgcggatc
+aatgggcgaatagagataaccttgccgatgggtcgtccagcccagatgcccacagttggt
+catcgccaccgacatggtatatcccccgggggtgaccatctggcgaaacggcgactggct
+ggcaacgtcattaatatcgcggatcagttgctccgcagcgttaaaagcaaaacgccgtaa
+aattaccgcaccagccgccagtggctcttgccacggttcagcatcggcaaacagatccaa
+cattacctctcctcattttcagcttcgcggcgcagcagttgcgctttacgcgacacgccc
+cagcggtaaccggaaagtgtgccatcaccacggaccacccgatgacagggtattatgata
+gccagcttgttggcggcacaggcgctggcaacggcccgtaccgctttcggtttgccgatg
+gcgttagccagttgctgataactgacggtttcaccgcaaggtatcgtgcgcagtgcctgc
+cagacttgttgctgaaaagcagtgccgcgaatgtccagcggtaacgtcagcggcgtatcg
+cgttgattgaggctggcgatcacttcacgcacatgttgctgaaacatcagatcggcaggc
+gcgttgtcggcagcgggaaacatctgctgcaactcgctgattagtgtcgcgtcatcatcg
+cccagcaatatcgcgcaaatcccccgctcgctttctgccaccaggcaacgacccagctca
+caatcagccagcgcgtaacgcaccgccagattttcgccaccgtgacggaattgtttagcc
+gtcatgcccagcgtttcgtcagctttgcgatagtaactgctgctgtcggggaatccggcg
+ttaagaatagacgtcgtcacgctctcccctttcgccagcgattcgcgcaaacggcgagcg
+cgccaggcctgttgccaggctttaggcgtcattccggtagtcgctttaaacaaccgatgt
+agatgaaatggactcatcgccacctggtcggctaaggcttccagcgttacaggcgtttcc
+tgttccagcagtcgacacgcgtgggtgattttatccaaccgatgttgctgggcattggct
+ttttctggctgacaacgtttgcaggggcgaaagccagcggcgagtgcctcgctggcattt
+gcgtagaaggagacgttttcccgcaaagcatgtctggcgcggcaagacggacggcaaaag
+atgcctgtggtacgcacggcgaaaacgaattcgccgtcggcattcgggtcgcgggctaag
+acagattgccagcgttgatcgtcagttaagcatgtggcttttttcataatcagctccctg
+gttaaggatagcctttaggctgcccggtcaccatcacgcaaaaaccaacaatcttgcgct
+ttaatttttttcgctgacaaggaagcttttaaactgtggtgacatccaggttttaaagct
+atcgccttctttggtgatcatataaaccgccagcccttcccggcgaacaacctctttagc
+tttctccggcccgagtaccatcaagccagtatcccaggcatcggcttccagcgccgtcgg
+agcaatcaccgtcacggataccagattgtgttcgatgggacgcccggtttgcggatcgat
+aacatgggaaagacgtttgccgtccagttcgtaatagttacggtagctgccagaggtgct
+aatcccatgaccgttgatatccaccacagcctgaaccgcgttttctttatcggttggttt
+ttgaatcgctacccgccacggcaggccttcaccgttcataccacggctgttcagcgcgcc
+gcccaccgacaccagatagcgggaaatcccttcctgctccatcaagcgtgccaaatgatc
+ggccgcatagccttcgccgacggtggagagatcgacatataaatccggcaggtctttttg
+cagatattgctgatgcgactgattgatgaccgtcaggtgctgtaagccggttttggcttt
+catcgcatcgatctgttcctggctcggaatttgaaccggctgttgttccgggccaaagcc
+ccacagattcaccagcggcccgacggttatatccatcgcgccatcggtcttcgcgccaat
+gcgcagcgaggtggtgacgatatcggccatcgcttcacttaccggccacggcgataaact
+ttgcgagtcgttaaagcgcatcagcgcggaatcttttttataggtcgaaagcagctgatc
+gtcggcgtccagttgggtctgaatcttttctttaagttcggcgctgcgtttggcgtcaat
+gcccgggatgctggcacgccagaaggtacccatagttttgccttcaagaacggtaacttc
+agtagcgtgggttttggcgggttgtggtttttgatcgcaaccaacaaagaagagcgcggc
+agccagcagtgccacgcgggtaaagcttatttccatacgtgattatcctcatgcgaacgg
+tcgcaagagtacaccaaaaaactgagtttgtacgctgaaaacaatgaaaaaagggcccgc
+aggccctttgttcgatatcaatcgagattagaactggtaaaccagacccagagctacgat
+gttatcagtgttgatgccagcgtcacgagtgaactggttgtcgtccagcaggttgatttt
+gtagtcaacgtaggtggacatgtttttgttgaagtagtaggtagcaccaacatcaacata
+tttcaggatatcttcgtcgtcgtagccacgacccaggtttttacctttagactgcaggta
+agccagggacggacgcagaccgaagtcgaactggtactgagcaacagcttcgaagttctg
+tgctttgttcgcccaacccagggaacctacgcgagttgcgttgtaggtctgggtgtactg
+agcagccaggtagatgttgttagcgtcgtatttcagaccaccagtgtaggtttcagcacg
+gtcgccgttaccgatgtaagcagcggtgttctgagcatcagtacgtttggagctggagat
+cgcaccaccgataccgaaaccttcgtaatcataagtgatagaaccgccgacgccgtcgcc
+gttttgacgcagtgcgtcacgaccgttgttagttacgccactagtaaagccttcaccaga
+tgggttgccgtttttaccctggtactgaacagcaaagttcaggccgtcaaccagaccgaa
+gaagtcagtgttacggtaggtcgcgaagccgttaccacgctgctgcatgaagttgtcaga
+accgtaggtgtcaccaccgaattctggcagtacgtcggtccaggaagttacgtcataaac
+aacgccgtagttacgaccgtagtcgaaagaacccacatcctggaatttcagacctgcgaa
+tgccacacgggtccaggagttgttttcgttttcagcgctgttgccctggatctgatattc
+ccactggccgtaaccggtcagctggtcagtaacctgagtttcacctttgaagccaagacg
+catgtaggtctggtcgccatctacatctttgttgtcagagaaatagtgcaggccgtctac
+tttaccgtacagatctaatttgttgccgtctttgttgtaaacttcagcagcgtttgctgc
+gcctgctaccagcagagctgggaccaggagggacagtactttaactttcatgttattaac
+cctctgttatatgcctttatttgcttttttatgccactgcatactgattaaccctcatta
+atcagtcggcaagtccattctccccaaaaatgcagaataatccaacacgaatatgatact
+aaaacttttaagatgtttcatttatcgctatagatgtttcaaaatgtaaatgcaagggaa
+ctttttaagattattgcggaatggcgaaataagcacctaacatcaagcaataataattca
+aggttaaaatcaataacttattcttaagtatttgacagcactgaatgtcaaaacaaaacc
+ttcactcgcaactagaataactcccgctatcatcattaactttatttattaccgtcattc
+atttctgaatgtctgtttacccctatttcaaccggatgcctcgcattcggttttttttac
+ccttctttacacacttttcattattctgtgctaccacagaaaaactataacgcttgttaa
+ctatttcacaaataattaacatccgcataatttccagcaatctttgtttatttgcaatta
+tttttgttgggctttttgtaggttatttgtacagcaaaatggcgcttgtacatctatttc
+ccccaatgcaggatgataaatatcacgggagaatagagaatcatcaatcaggtaagagtc
+tggaatttcacactgtaccctttatactgccctatcacttcgcgaagttttaacaggtca
+taaacacgaatgcgtcagaaagagacaacggccacgacccgcttttcactcctaccgggg
+agcattacccgcttctttttactgttgatcattgtgttactggtgacgatgggtgtaatg
+gtacaaagcgccgttaacgcctggctgaaagataaaagttaccagattgtcgacattacc
+catgctatccaaaagcgcgtcgataactggcgttacgtgacctggcagatctacgacaac
+attgccgcgacgacctccccctcctccggcgaaggtttacaagagacgcgcctgaaacag
+gatgtctactatctggagaaaccacgccgcaaaacggaagcgttaatctttggctctcac
+gacaactcaacgcttgagatgactcagcggatgtccacttatctggatacattgtggggc
+gcagaaaatgtaccgtggtcgatgtattacctgaatggtcaggataacagtctggtgctg
+atctcaaccctaccccttaaagatctcacctccggatttaaagaatcgaccgtcagcgac
+attgttgattcacgtcgtgcagagatgttgcaacaggccaacgccctcgatgaacgcgaa
+agcttttctaacatgcgccgcctggcctggcagaacggtcattactttacattgcgtact
+acctttaaccagccaggacatctggcaacggtcgtggcttttgatctgccgattaatgat
+ttgatcccaccgggtatgccgctggacagtttccgccttgagccagacgcgacggcaacg
+ggaaacaatgataatgagaaagaagggacggatagcgtcagtatccactttaacagtacg
+aagattgaaatctcctcggcactcaactctaccgatatgcgcctggtctggcaggttcct
+tatggcaccttattgctggatacgttgcaaaacattctgctgccactgctgctgaacatc
+ggtttgctggcgctggcgttatttggctataccacattccgccatttctccagccgcagt
+acagaaaacgtccccagcacggcggtcaataacgaattgcgcattttacgggcaatcaat
+gaagagatagtctcactgctgccgctcggcctgctggttcacgatcaggaatcgaaccgc
+actgtcataagtaacaaaattgccgatcatttgctgccgcatttgaatctgcaaaacatc
+accaccatggcggaacagcatcaggggattattcaggcgacgatcaataacgagctgtat
+gagatccgcatgttccgcagccaggtcgcgccgcgcacacaaattttcattattcgcgat
+caggatcgcgaagtgctggtaaacaagaaactcaagcaggcgcagcgtctgtatgagaaa
+aaccagcaggggcggatgatctttatgaaaaacattggcgatgcgctgaaagaacccgca
+cagtccctggcggagagcgcggctaaactcaacgccccggaaagcaaacaactggcgaat
+caggcagatgtgctggtgcggctggttgatgaaatacagttagcgaacatgcttgcggat
+gatagctggaaaagtgagacggtgctgttctccgtgcaggatttaattgatgaagttgtg
+ccttcagtgttgcctgccatcaagcgtaaaggtctgcaactgctgattaacaatcatctg
+aaagcacacgatatgcgccgcggcgatcgcgatgccttacgacgtattttgctgctactg
+atgcaatatgccgtgacctcaacgcaattgggaaaaatcacccttgaggttgatcaggat
+gagtcctccgaagaccgcctgacgttccgcattctggacacgggagaaggcgtaagtatt
+catgaaatggataatttgcacttcccgtttatcaaccagacccaaaacgatcgctatggc
+aaggcggacccgctggcattctggctgagcgatcaactggcacgtaaactgggcggtcat
+ttaaacatcaaaacgcgggatgggcttggtacacgctactctgtgcatatcaaaatgctc
+gcagctgacccggaagttgaagaggaagaagagcgtttactggatgatgtctgcgtaatg
+gtggatgttacttcggcagaaattcggaatattgtcactcgccagttagaaaattggggt
+gcaacctgtatcacacccgatgaaagattaattagtcaagattatgatatctttttaacg
+gataatccgtctaatcttactgcctctggcttgcttttaagcgatgatgagtctggcgta
+cgggaaattgggcctggtcaattgtgcgtcaacttcaatatgagcaacgctatgcaggaa
+gcggtcttacaattaattgaagtgcaactggcgcaggaagaggtgacagaatcgcctctg
+ggcggagatgaaaatgcgcaactccatgccagcggctattatgcgctctttgtagacaca
+gtaccggatgatgttaagaggctgtatactgaagcagcaaccagtgactttgctgcgtta
+gcccaaacggctcatcgtcttaaaggcgtatttgccatgctaaatctggtacccggcaag
+cagttatgtgaaacgctggaacatctgattcgtgagaaggatgttccaggaatagaaaaa
+tacatcagcgacattgacagttatgtcaagagcttgctgtagcaaggtagcctattacat
+gaacaatatgaacgtaattattgccgatgaccatccgatagtcttgttcggtattcgcaa
+atcacttgagcaaattgagtgggtgaatgttgtcggcgaatttgaagactctacagcact
+gatcaacaacctgccgaaactggatgcgcatgtgttgattaccgatctctccatgcctgg
+cgataagtacggcgatggcattaccttaatcaagtacatcaagcgccatttcccaagcct
+gtcgatcattgttctgactatgaacaacaacccggcgattcttagtgcggtattggatct
+ggatatcgaagggatcgtgctgaaacaaggtgcaccgaccgatctgccgaaagctctcgc
+cgcgctgcagaaagggaagaaatttaccccggaaagcgtttctcgcctgttggaaaaaat
+cagtgctggtggttacggtgacaagcgtctctcgccaaaagagagtgaagttctgcgcct
+gtttgcggaaggcttcctggtgaccgagatcgctaaaaagctgaaccgcagtattaaaac
+catcagtagccagaagaaatctgcgatgatgaagctgggtgtcgagaacgatatcgccct
+gctgaattatctctcttcagtgaccttaagtccggcagataaagactaatcacctgtagg
+ccagataagacgcgttagtgtcttatctggcatttgcaccgattgccggatgcggcgtaa
+acgccttatccggcctacgattcccattatttcaacaaattacattaaagtaggccagat
+aagacgcgtcagcgtcgcatctggcatttgcactgaatgccggatgcggcgtaaacgcct
+tatccgtcctacgaatcccgcgatttcctgaccctctcggcatataacgtcagcgtctgt
+tttatcacatccagcgttaccggcttcgacaggcagctgtccataccggactccagacac
+cgctgcttctcttcagccaacgcattagcagttactccgattaccggcaacgtcagtccc
+aactgacgaatgcgttgcgtcaagcggtaaccatccatatttggcatgttgacgtcgcta
+agcacgatatcaatatgattcttgctaagtacattaagcgcatcgacgccatcattcgcg
+gttttacattgatagcccaacgatcccaactgatctgccagcaaacgccggttaatcgga
+tgatcatccacgaccagaatcatcatatcgtcattatcgctgaccgctttgtccgttgac
+ggcagagcgttagcaggatcgtcgctctccatctcgatcaaataaatacgcgccaacaat
+gccggtagctcatgcggagcagccacactgtgtacccactcccctggcgctttctccagc
+ggaataccaatatggcgacgacagaaggtcactaccgctctgccctgccattttttactc
+actacctcgtcagtgatcaacacatcttcgggagtcggttcctgcccttcgtatgttgta
+acgacgatgccgctgcgctgcaaactggtttccaggaactgacagagcgacgcattgcgg
+accgccagccagcagcgtttaccactcaacccttccacgccttttttctgcgggtactga
+gcgccgtacaacggaatacgcacggtaaactggctgcccattcccggttctgaatctacc
+gagatatcgccgtccatcatgctgatcagtttttcacaaatcgccagacccagaccggtc
+ccctggaaattacgctgtacgcccgttccgacctggaagaagggatcaaacaagcgcacc
+acttctttcgccggtatccccacgccggtatcgcgaacacggatagagagataatcgcca
+tccgcgcgaacatgcaaaactatacagccggtatcggtgaattttatggcgttactcaac
+aggttggagatgacctgctgtaaacgcatcgggtcgccatttaaggccactggcacatcc
+ggttcaataaagcagtacaagcctaactgcttgcgtaccaccagcggtaaatagttggcg
+gtgatgtggttcatcacttcacgcggtgaaaactcacgcggttcgatcttcaactgttcc
+gattcaatcttcgagaaatcgagaatatcgctgataattttcaacaacaggctggaagag
+ttgttcattgccgtcaccagccgatcgacgcctttcggtaactctttggtttgcaacaga
+tccaggttaccgataatgccatacagcggcgttcgcagctcatgactgacggtggcaagg
+aacatcgattttgactggctcgcctgttccgctgcttgtgccatctcctgcaacgactct
+tccatcttcacgcgcgaagaaacatccaccagcacacaaatggccacgttttcattacga
+tagcgcgaatggacgaagctgatttgcagattggtattgttgctggtcaggacatcaaca
+aaattgacctgctgcccacagataatttgcgtcagtcgttggcggtcctcatgcgtaagc
+atattgagataggtatgcgccagttcgttacttaaaatattgacgccatcagcggtacgc
+aaaatgcagatacccactggcgcggaggcgacaatcttgcgattgaactgctcatgttct
+tccagtcgcagggcgtcgctttccgccggaatgaaaatacgtcgctcgtacatccgtgcg
+agagtaaacaatgcagctccggcaagcacattcagcaaaattgcgttaaggatcaacatg
+cgaatgcgttccagcaccttatcaaccggcaccgaatacacgatgcttagcgatgagggt
+ggcagatttttcttcagcaccagctcccggaacccttccgtatagccaaaccaggagcgt
+tcctgcatccagcgaggatcgcccttaattttactttctggtccggtaagcgaaatcagg
+gtatgaccattttcatcaagaatggtaacccccatcggcaacgtacccggtaagaaaaag
+ttctccatccggatggtctgctcgacacccaaaagcgcctgcaaccggttcgccagataa
+actggcgtcaacgcgtaaaaatacccgacgccagggcgcggaccttcgctgatccagtag
+aggttactgccgctatcatcttgtggtgcatttcgatatttattgatgcgttcatgcaaa
+gctttcaacgcggtatcgcgttccactggcatatcacgcagaccgaaattggccatgcag
+aggttatcgctgccgattaaaaatacccggtttagatcgtaagccgcagaaaaattatcg
+cgccagtagcgcataaaccacgccaatgactccagagaacctcgccaggtgttactcatt
+gcggaacaatcggagtcggcaaacagcggttcaaacgcaggcacatccgcctgcgtttct
+cgtccacgcggggaaagcacaccgttttctgccgataagcgattttcggcgatgtacttc
+agctctttcatcacatcagaggtgcgttgaataaagcgctgagcctgatcggaactcaga
+ttaaattcctgacgaatttccgattctcgctgatgtaacgcattaacgatgtaaaaaacg
+gatgaaaaagcaatcaacagccagagcactaacgccaatgctctgaacatgtagcgcgag
+gctttcagggttgtacgaaaagaagcaaggtatttcaaaggggcgaagctccgcctcagg
+tgaccgatggagtgtggttaaggtagcggtaaaagcgtgttaccgcaatgttctctcttc
+tctggaatatgatacaccgccgagaaatcatcaccttaacctctgataatcgtcatatac
+cggacaagactagtggatttcagcatgcattatatgaagtggatttatccacgccgctta
+cgcaatcaaatgatcctgatggcaatcctgatggtcattgtcccaacgcttactattggt
+tatatcgtagaaacggaaggacgttcagcagtcttatctgaaaaagagaaaaaactttct
+gccgtggtcaacctgcttaatcaggcactaggcgatcgctatgatctctacatcgactta
+ccacgtgaggagcgtatccgcgcattaaatgcagaacttgcccccattaccgaaaatatc
+actcacgccttccctggcatcggtgctggttattacaacaaaatgctggatgcgataatc
+acctacgcgccttcagcgctatatcagaataatgtcggcgttaccattgccgcagatcac
+cctggtcgcgaagtgatgcgtacaaatacccctttagtttattcaggcaggcaggtgcgc
+ggcgatattttgaattcaatgctccccattgagcgtaatggtgaaatcctcggctatatc
+tgggccaatgaattaaccgaagatattcgccgccaggcctggaaaatggatgtgaggatt
+atcattgtgctcaccgctggtttgctgataagcctgctgttgattgtccttttctcccgt
+cgcctgagcgccaatattgatatcatcaccgatggcctctcgactctggcacaaaatatt
+cccactcgattaccacaattgcccggtgaaatggggcaaatcagtcagagtgttaataac
+ctcgcccaggcactgcgtgaaacgcggacacttaacgatctgattattgaaaacgctgcc
+gatggcgtcattgccattgaccgccagggtgatgtaaccaccatgaacccagcagcagaa
+gttatcactggctatcaacgccatgaactggtagggcagccttactccatgttgttcgac
+aatactcagttctacagtccagtactggatacgctggaacatggcaccgaacatgtggcg
+ctggagatcagttttccaggtcgtgaccgcaccattgaactcagtgtcactaccagtcgt
+attcataacacgcacggtgaaatgataggtgctttggtgattttctctgatttaactgcc
+cgcaaagaaacccagcgccgcatggcgcaagcagaacgcctcgccacactgggtgagctg
+atggctggcgtcgcgcatgaagtacgtaatccgttaacggctattcgtggttatgtacag
+atcttgcgccaacaaaccagtgacccaatacatcaggaatatctgtccgtagtactcaaa
+gaaatcgattcaattaacaaagttattcagcaattgctcgaattttcacgtccacgccac
+agtcaatggcaacaagtcagcctcaatgcattggttgaagaaactctggtactggtacaa
+accgccggcgtacaagcgcgggtcgacttcataagcgaactggataatgaattaagcccg
+attaacgccgatcgtgaactgctcaaacaggtactactgaatatcctgatcaatgccgtc
+caggctatcagcgcacgagggaaaattcgcattcaaacctggcaatacagcgactcacaa
+caggccatttcgatagaggacaacggctgtggcattgatctctcgctgcaaaaaaagatc
+ttcgatccctttttcaccaccaaagcctcaggaaccgggcttggtctggcgttaagtcaa
+cgcatcattaatgcccatcagggtgatattcgcgtcgccagtttgccgggctacggcgca
+accttcacgcttattttaccgatcaacccgcagggaaatcagactgtatgactgctatta
+atcgcatccttattgtggatgatgaagataatgttcgccgtatgctgagcaccgcttttg
+cactacaaggattcgaaacacattgtgcgaacaacggacgcacagcattacacctgtttg
+ccgatattcaccctgatgtggtgttgatggatatccgcatgccagagatggacggcatca
+aggcactaaaggagatgcgcagccatgagacccggacacccgttattctgatgacggcct
+atgcggaagtggaaaccgccgtcgaagcgctacgctgcggagccttcgactatgttatta
+aaccgtttgatctcgatgagttgaatttaatcgttcagcgcgctttacaactccagtcaa
+tgaaaaaagagatccgtcatctgcaccaggcactgagcaccagctggcaatgggggcaca
+ttctcaccaacagcccggcgatgatggacatctgcaaagacaccgccaaaattgcccttt
+ctcaggccagcgtcttgattagcggtgaaagcggcaccgggaaagagttgattgccagag
+cgattcactacaattcgcggcgggcaaaggggccgttcattaaagtcaactgcgcggcgc
+tgccggaatcgttgctcgaaagtgaactgtttggtcatgaaaaaggtgcatttactggtg
+cacaaaccttgcgtcagggattatttgaacgagccaacgaaggtactctgctcctcgacg
+aaattggcgaaatgccgctggtactacaagccaaattactacgcattctacaggaacggg
+aatttgaacggattggcggccatcagaccataaaagttgatatccgcatcattgctgcca
+ccaaccgcgacttgcaggcaatggtaaaagaaggcaccttccgtgaagatctcttttatc
+gccttaacgttattcatttaatactgccgcctctgcgcgatcgccgggaagatatttccc
+tgttagctaatcactttttgcaaaaattcagtagtgagaatcagcgcgatattatcgaca
+tcgatccgatggcaatgtcactgcttaccgcctggtcatggccgggaaatattcgagagc
+tttccaacgttattgaacgcgccgtcgtgatgaattcaggcccgatcattttttctgagg
+atcttccgccacagattcgtcagccagtctgtaatgctggcgaggtaaaaacagcccctg
+tcggtgagcgtaatttaaaagaggaaattaaacgcgtcgaaaaacgcatcattatggaag
+tgctggaacaacaagaaggaaaccgaacccgcactgctttaatgctgggcatcagtcgcc
+gtgcattgatgtataaactccaggaatacggtatcgatccggcggatgtataacaccaaa
+acttgctatgcagaaatttgcacagtgcgcaattttctgcatagccgctcattctcctta
+taaatccccatccaatttatcccttcatattcaattagttaaataactaaatccaataat
+ctcattctggcactccccttgctattgcctgactgtacccacaacggtgtatgcaagagg
+gataaaaaatgaaaacaaaattgatgacattacaagacgccaccggcttctttcgtgacg
+gcatgaccatcatggtgggcggatttatggggattggcactccatcccgcctggttgaag
+cattactggaatctggtgttcgcgacctgacattgatagccaatgataccgcgtttgttg
+ataccggcatcggtccgctcatcgtcaatggtcgagtccgcaaagtgattgcttcacata
+tcggcaccaacccggaaacaggtcggcgcatgatatctggtgagatggacgtcgttctgg
+tgccgcaaggtacgctaatcgagcaaattcgctgtggtggagctggacttggtggttttc
+tcaccccaacgggtgtcggcaccgtcgtagaggaaggcaaacagacactgacactcgacg
+gtaaaacctggctgctcgaacgcccactgcgcgccgacctggcgctaattcgcgctcatc
+gttgcgacacacttggcaacctgacctatcaacttagcgcccgcaactttaaccccctga
+tagcccttgcggctgatatcacgctggtagagccagatgaactggtcgaaaccggcgagc
+tgcaacctgaccatattgtcacccctggtgccgttatcgaccacatcatcgtttcacagg
+agagcaaataatggatgcgaaacaacgtattgcgcgccgtgtggcgcaagagcttcgtga
+tggtgacatcgttaacttagggatcggtttacccacaatggtcgccaattatttaccgga
+gggtattcatatcactctgcaatcggaaaacggcttcctcggtttaggcccggtcacgac
+agcgcatccagatctggtgaacgctggcgggcaaccgtgcggtgttttacccggtgcagc
+catgtttgatagcgccatgtcatttgcgctaatccgtggcggtcatattgatgcctgcgt
+gctcggcggtttgcaagtagacgaagaagcaaacctcgcgaactgggtagtgcctgggaa
+aatggtgcccggtatgggtggcgcgatggatctggtgaccgggtcgcgcaaagtgatcat
+cgccatggaacattgcgccaaagatggttcagcaaaaattttgcgccgctgcaccatgcc
+actcactgcgcaacatgcggtgcatatgctggttactgaactggctgtctttcgttttat
+tgacggcaaaatgtggctcaccgaaattgccgacgggtgtgatttagccaccgtgcgtgc
+caaaacagaagctcggtttgaagtcgccgccgatctgaatacgcaacggggtgatttatg
+attggtcgcatatcgcgttttatgacgcgttttgtcagccggtggcttcccgatccactg
+atctttgccatgttgctgacattgctaacattcgtgatcgcgctttggttaacaccacaa
+acgccgatcagcatggtgaaaatgtggggtgacggtttctggaacttgctggcgtttggt
+atgcagatggcgcttatcatcgttaccggtcatgcccttgccagctctgctccggtgaaa
+agtttgctgcgtactgccgcctccgccgcaaagacgcccgtacagggcgtcatgctggtc
+actttcttcggttcagtcgcttgtgtcatcaactggggatttggtttggttgtcggcgca
+atgtttgcccgtgaagtcgcccggcgagtccccggttctgattatccgttgctcattgcc
+tgcgcctacattggttttctcacctggggtggcggcttctctggatcaatgcctctgttg
+gctgcaacaccgggcaacccggttgagcatatcgccgggctgatcccggtgggcgatact
+ctgttcagtggttttaacattttcatcactgtggcgttgattgtggtgatgccatttatc
+acccgcatgatgatgccaaaaccgtctgacgtggtgagtatcgatccaaaactactcatg
+gaagaggctgattttcaaaagcagctaccgaaagatgccccaccatccgagcgactggaa
+gaaagccgcattctgacgttgatcatcggcgcactcggtatcgcttaccttgcgatgtac
+ttcagcgaacatggcttcaacatcaccatcaataccgtcaacctgatgtttatgattgcg
+ggtctgctgctacataaaacgccaatggcttatatgcgtgctatcagcgcggcagcacgc
+agtactgccggtattctggtgcaattccccttctacgctgggatccaactgatgatggag
+cattccggtctgggcggactcattaccgaattcttcatcaatgttgcgaacaaagacacc
+ttcccggtaatgaccttttttagttctgcactgattaacttcgccgttccgtctggcggc
+ggtcactgggttattcagggacctttcgtgatacccgcagcccaggcgctgggcgctgat
+ctcggtaaatcggtaatggcgatcgcctacggcgagcaatggatgaacatggcacaacca
+ttctgggcgctgccagcactggcaatcgccggactcggtgtccgcgacatcatgggctac
+tgcatcactgccctgctcttctccggtgtcattttcgtcattggtttaacgctgttctga
+cggcacccctacaaacagaaggaatataaaatgaaaaattgtgtcatcgtcagtgcggta
+cgtactgctatcggtagttttaacggttcactcgcttccaccagcgccatcgacctgggg
+gcgacagtaattaaagccgccattgaacgtgcaaaaatcgattcacaacacgttgatgaa
+gtgattatgggtaacgtgttacaagccgggctggggcaaaatccggcgcgtcaggcactg
+ttaaaaagcgggctggcagaaacggtgtgcggattcacggtcaataaagtatgtggttcg
+ggtcttaaaagtgtggcgcttgccgcccaggccattcaggcaggtcaggcgcagagcatt
+gtggcggggggtatggaaaatatgagtttagccccctacttactcgatgcaaaagcacgc
+tctggttatcgtcttggagacggacaggtttatgacgtaatcctgcgcgatggcctgatg
+tgcgccacccatggttatcatatggggattaccgccgaaaacgtggctaaagagtacgga
+attacccgtgaaatgcaggatgaactggcgctacattcacagcgtaaagcggcagccgca
+attgagtccggtgcttttacagccgaaatcgtcccggtaaatgttgtcactcgaaagaaa
+accttcgtcttcagtcaagacgaattcccgaaagcgaattcaacggctgaagcgttaggt
+gcattgcgcccggccttcgataaagcaggaacagtcaccgctgggaacgcgtctggtatt
+aacgacggtgctgccgctctggtgattatggaagaatctgcggcgctggcagcaggcctt
+acccccctggctcgcattaaaagttatgccagcggtggcgtgccccccgcattgatgggt
+atggggccagtacctgccacgcaaaaagcgttacaactggcggggctgcaactggcggat
+attgatctcattgaggctaatgaagcatttgctgcacagttccttgccgttgggaaaaac
+ctgggctttgattctgagaaagtgaatgtcaacggcggggccatcgcgctcgggcatcct
+atcggtgccagtggtgctcgtattctggtcacactattacatgccatgcaggcacgcgat
+aaaacgctggggctggcaacactgtgcattggcggcggtcagggaattgcgatggtgatt
+gaacggttgaattaatcaataaaaacacccgatagcgaaagttatcgggtgttttcttga
+acatcgacggcgaaggtaaccccattaatcaccagtcaaaacttttcaccagcgtcagct
+cgccagcattacgcatcggtacaataaatgtttcctgtttctcattgaccgatccttcat
+cggtgatcagcgtcagttgggcggtggttaattccgtttcgctgcgcccaccatagtagt
+tgatatacacctgatagcgcccgtgaattggcgcgggcatggcgaaaatctcgggtccgt
+accccgtcgtgacatccatatccagtgcaccactgtttttcagcacggtgttaccgtacc
+aggcgtgttcgccatcgggcgtaacaacgtgaaggtcgaggtcggtattgtccgtatccc
+acgagagaaccagccgtaaacgtgcacgaatcgttcctgtacccggcgttgagtaaaact
+gcattttttgtcggctttgcccatccgggctgatgacctgcacgctgttgctgccttcag
+tgaaaatataagggcgtgcaaatgaaccatcggattcaattctctgcggcatactggcac
+cgttgaccaccagccggccctgctgaactttacccgccgcagcataattctttattttgc
+cgcggatctgcgctgagatattttgatcatctgccatgttgacggacgacgccgggtaat
+tgatcgattgtgaaaaactggcatcttcgccctctgccggatgccagcctgagagcggtg
+catcaatctcgacttcctgcacaccttcactgtgagcgacaggcgaaagcgccaccagta
+acaacggaagaaaaatctttcgcatagcattagtccattaataattgtcgggtcagcgtt
+tcgatatagttctcatcaagcccggtgggataaccatcaaaggccaggtgcagatactca
+tgggttaaatccagccgatcctgaagcgtaaagaagttacgaataaacagccgtttctgc
+tgccgatcggtataggggaaacctgagactaaacggcaaaccgcaaacacgtctggttcg
+ttgtaccccgtctcagcttgtaatatacgccgccactgcggcatttttttcgccagccag
+gctttcgctttgggtaataactggcaggttgagcgtggcgctccccagcggctaagactg
+ttgtcgggataagcaaacgcgagtatctgatcgtaacgctctccctgccccgcctgggcc
+gtggcttgccgccaggaaagtgtcccttcggtagcgcgactgccatgataatgaaccgga
+tcgcctgcatagatgagatcctgcgtccaggcggtcatcgttcgcgcccccgtggtcgct
+ggcgaagcagaaacacgctgcgtggcgctgctgtcggggatggtcaggcaatcgccttcc
+cgattggcgttttgctgtaaaaaagtgcgaatcgccacggtcatggctttcgctgcctca
+gggggcgtacttttcgcctcgcgatccagaactctggcaacgtactcttcacgatcgaga
+tgcgactgcaatttcagtttgcccttttcgctcagtaaggtcgtctcaccgtggctgaca
+aacgtaatgtggttaccattagtaaacgtcacacgatagcgcccattaagtacgccggga
+tttactgccgtcgtactcttttccgctgtgattttcttcagcggatagcgggcaaacagc
+tccacctctacacattgcccactggcaacctgcgtcggcactggcaaaacccgattaagc
+accgtcgcataacgggttagtaccgttttgctggtgccactgccagtaacccacagcggt
+gtaccatcggttaaccagccagcaaaaccaccctgacggatttcctgtttatcatcggca
+aaccagctccaggttttcacccgtacccgactaccgagcatggatgcgacaccgattttc
+gcctcgtccagcaccacatccagtaagacttcctgagctttgttttgcgcgggtaacgtc
+gctaatgaatcaagcagcgatttaaccgttaccgaggtttctggcttcagcgtagtcaga
+gacgctaaccacgcaggtgcctgacgctgttgccagtattgcccccacacatctgcgcca
+atatgcaaccgctgcggcgcaaaatagagcccacaggaacgtaccagcgcggtatcgcgc
+gttatgctctccccagcctgacaacaataaacctcttccggggagtttccgcgacactgg
+tagggctgctccggttgatgggtatcctccagccaggcgtaaacatacagtttccacaaa
+ctccctaacggcgtggtgagcgagtcaggtaatgctgagactttggtcacgcctgatgac
+gacagctgatacagttgatcgtgctgcgcaccgcgcagcaccagttgtaacggcgtctcc
+tccgcaagtgttggcagagtaaccaacgccaatagccagacgattctgcgccagttcact
+tatttcacctgcatcccggtccattcactccctgccgcaacactttgctgcgcaggtgca
+taggaacgcacataacgagcaggaggcagaacgaattgccctttttgcgagaagcgcagc
+aaatggcggaaagtgaccgttcccgtcagttctttcaccggcaccatataggccagttcg
+cccatttcatttcgcgctttttccagcaattgcccctgctgtttcgcggcgttgggttta
+ttgaccgaaatgccccatgttgtgcgctcaacgtcggctcccggtggcagcggtacttcc
+acctgaccgtagcgcagaactgcatcctgctcgctggtaagcgtgatttcatcgagatac
+agcgcatcgctgtcaatctcattgctggtcaccggttgcagaataaagctcatctcttct
+tcaccagggataagccgatacaactggcgttcaacggtcaccggaatgttactttgttga
+gccatttttgccggctcacgtcagcggacctgcacattttgcggcgataattcgtcacca
+aaagagagaatgtccggcacgccctgaccaacccaacgccagtcttcgccccctccagtt
+aacttatgtttagcccatgcgcccgcaggcgcaggcaaaacaactggaggcattgtcgcc
+atatatttcgccagccagttcatggccagcgcgcgctcaatagtggattgctcagcggtc
+aaaccacttaaaatagcggccgtctgggtagcgtcgccaccgctattaagcagcacaacc
+gtgtgcgccagcggctgattgctgtttgccgctttatcccacgcatattgctgaacctgt
+ggcatcaccgtggacttcaactgcgcttttttcagcaacgtcatggttaagacgtttgcc
+accgcatctgccagtggagactccggtgtatcgaggatcaggctatcattgatatcgcgg
+gtgtcttcctcagagaaatcttcagttttagttccgcgccgggcgatagcttcatccaac
+cctttcaacaacgttttgcacggcaaattcatctcctgcgcccatgccagcaccagcgcc
+cgatgcaataacggcatgttatctgcctgctccgcgtagctgtcgagcatatgctgccag
+tattccggttgttgcgttacgccgatcgcctggctggcctgccagtcggcgtaccatgcc
+catgccgtaaggaaggcgtcaccattgccatcttcaccccaccaggtaaagcgcgctccg
+ggccccgccagttgcatcagccgcagacggttatcctgaatcatctgacgaatgtcgtta
+gcggcggcactttgatgatcggcaagcgaacgccaggcgagactgagcgggatcagacgg
+ctaccggtgttgattacgccaccccacggttcatcgactaacgcatcaagattgttgcgg
+aaaatctcctgcggcgtttcactactttgtagccggatattgctcgcctgctcgggcaac
+atcagcgcgttatcgccaccaccgagcatgacatttttctgctgttcaacgggccagctg
+ttatccacaaaagacagttttgtgctaatgctgtcctgcacttgcccattttgttgcagt
+tctgcacttaacaagccagattgctgaatattctgcgtcagcgaaatataattcgcccct
+ttgtgcagcgtcagcgtctggcgcatctcagcgcctgcaaatttagtcaccagcgccacc
+ggttcgttatcctgctgactgaagataaacagtcctgccgccggtttgtcgcccacgcga
+tacaccgttggcatactccacttcatgtagagatttttttccgaacgcagataagcacgc
+ccctgcccgaccagcccgtcgccgttcatcccacgcgcggtgatacgccagcgggttaac
+gaatcaggcatcaggaacgtgaaatacgctttgccttgtttatcggttgtgagtgacggc
+atccatgccgcggtatccacctcttcacgccgtggacgttcaagcatttttactcgccgc
+tcgctgcggttagttgcgccaggcgcaaccggctcgctggagagcgcctggtcgtagctg
+ataaacgacagactggagctggtacgcacattgttacgccccagcggatagaaaaatttg
+ccgatattcggcgcgatttctggttgcagcgcgtagatcatttcatcgaccacgcctacc
+gttagctgcgcagaaacaggtttacctttcagcgacgaggttaattcgacattgaccagt
+tcaccaggctggtaatgggttttgtccgttttcacccggatatccagctggggaacggca
+actttgatcccggcgttctgaaaactgtactgaccgttacgggtatacagcaccgaaaaa
+gtgatgttaggcgcaaaggaattgctcactggaacccgggcttcatactgggtatcgttt
+aaacgttgtagcgttagccagtttgccggatgcgaaagcagcgactgctgttccacgcga
+tcgcgttccagcgtcaataatgcttcatcaattggctccggaaaggtaatcagcatcttc
+gcggtttcgcctggctggtacagcgttttatccgccacgatatctaccgtaccagtatgc
+gccgtgctgcccttaccgctgacggcatgacttaacccagcgagaattaagccgtcttta
+tcgcgtaatgtcagattgtagttgccaggtttagcgaaattgacggtaaaggatttgccg
+cctgacggtagctctccgctatggctcgtgcggtcttcgagacgcaaccattcatacgta
+acaggaacctgttttgaagattccagcgcggcataacggaacacaaccgactcgccgcta
+ttactgtattgtgcggcagtacttaatgagtaatgcgccagaccgcgttcaatgaggatc
+tctttggtggtggtgacgcgatacgccgcgccgtcactggcggagacggttaacaaatag
+cggctcggtttatcggcggcggggagatttaacgccacatgaccgctggcgtcggacacc
+gtttcgctgccttccagcgacacggggaaacgtccggcataacgcaaatcgttaccgacc
+attgataattgctgagcgcgcaaacttaactgcacgcgggcattttttaccggctcgcca
+tccgggtagagcagttgcagtttgccgctgaccgcttcgccagttttgaactcttttttg
+gcgagagctaaaccaatctcgaaatgtggcttgatgtagtttgccacgcgaaaactgctg
+ctatagacctgattgcggtaagcaagacgtaactcataacctccggctacggcattttct
+ggcaggcggaaacttccctgcccgccattgcgcgcatccagcgtgacattgacggtttgc
+aacagactgccgttggcgtccagcaccgaaagcttcgccggggcgctgacgatgggggat
+gaatgcaacggatcgtggaactcgcggccgatcactttaacatcgacacgatcgcctgcg
+cgatatagcgggcgatcggtaaaaatatacaagcgggtgttgtagatttcgctttcgtag
+aagaagttctcggagacaaaaacgccgccttcagcatccttacccagaatgtatgaacgt
+tctggcgatatatgttgtaactgcaaggtaccgctgtcatcggtcacaccgcgggtcatc
+acgccaagaccgtcagtccacaagatctctgagccgggcttcgcttcaccctgtttttta
+cccgcggtccacaccagaagctctttgcctgacactttgctaagcgccacggtatcggaa
+acaaacaccaccgtcgtcgcccgatacccaccaaccatcgcctcgacgaggtacagtccc
+ggctcttgttggccgagaggaatataaatgttacccggctgcggcgagatgaaattgctg
+gatgcgccttccagttttaccccttgctgcggctcgaacggtttagcctgccatagtgga
+taacggaactgtttcaccaggggatattttttcagcggggaaaactggttgttctgtaca
+taacgggaaggtttaataatggcattgccgagctgtaattcgggtaacgcctgagtcaca
+ttctgccgtgactgagaagagaaagtacgctgcatcacgcggcgagatttgccgtaccag
+ttatcccacagccaggttagcgtattgttcagcccgtcgcccagatattgcggttgcacc
+acaatgcgatgcaggtttttctgctggcgcaaaaatgccatcgggtcaggaatacgatac
+aggcgaacgtccacgccgccgtactcttccatctgatagcgccgataatcacgccccggc
+gcttccagtcgcactttcgcctcttcactgctgctaaaactgctgtcagcaagcaaaaag
+aatgttcccccggcaggcggcgcatagttgctggaaggaagcgaatcatcagcattagca
+agccctgttcccacaagagacagggacaagcacgctgctatcgcgccagaaaatttaaac
+gataaatgccaatgaaattgggattggaatcgttgggtatccatcgggtgtccttccatg
+tcataagttgttgcagactgactgcgcgcattccgttgtcagttttcgtggcgcttccgg
+tgtggtagatgacgtaacgccccatccagaccattaagtgctgggcatcgccctgatcga
+aaaaaatcatatcgccaggcagcgcctggtttatgtcctggccaataaactggctgttgt
+actgaatcaaattaatcgcggtcacataggggccggttttcccgttcccctgattccagt
+tttgcgccagttgacgctgttcaggtgttagcgtcatctctggcggcaaatactggctag
+ataaaccgttactttttagccatttactgtcgtgaactttcagcgtctcgttcgccgcaa
+atcgcaccaggcccgcacaatcctgctgataccagcgtggacttggcccctggcggagct
+gttcttgtgcaatgcgtacaaaccaggcgcgaaacagcccggattgttcgacattcagca
+tttcgctatgggcaacaacacaacacagccagcaaatcagcgccagcagcccgtgcctca
+tagcggctgccaggttatgggtagccactgccaggcggcaccgggttccatctgggccag
+cttcatgacataacgcggttgttgagataaagcgtccagcttcggcattaataaagtttg
+tgcggcgttataaaaaaccggttcgagattcttcggcagactggtcaacgtttcgttacg
+cagcagtttcgctattccttgtggattgatatagagcggaacgatgccatcagtgggtat
+tacatccaccattgccgggcgggttttattcagtgtttgcagcgcgttattaaccagcgt
+gtcatcgagggagaaaagcagcgttttgttttgcatcgccagcgacacacggaaaaaata
+atccgacattaattgatcgggttgcgccgcctgcgctttcggatactggccgtatcggga
+actcacttcgcgacgccagatttgcgcttcgccctgctgagtctggcttaccggcaaaac
+accttctggcgctttgctttcgtgcgcaccaatattttgcgtaaacagtttccctggcaa
+ttgcgcctgttcggcagtgccatcaaactgaccgacaaacagcggggtttgcaattttga
+gtcttcataccagcacagccccgcggcaccgtctaacgccccattcagcttgtcgttttc
+ctggctgatgtgcgaaagcatctcttcggcaataccgtgtgaatacggcaccgccacaca
+gaagctggctccggcaggcatactgttccataccggcgtaaaatcgaaactggcatctac
+gctggcggattcatcatttaacgccacaaaactgtgccagccgtcgttacccatttcgaa
+gcgtacgccagcaaaagaaggcattaaccgctggtagccaaaccccagccacctggcgct
+gactacgatgcgctggcgtactggcgttttttcggcagtacgctcttccaggccaaagct
+tgcttgccagcgttttttgccgctcaacaaatcacctgcgatcgccgtggcttcggtatc
+ctgctgatcatctttaaacaacatatccgtgctggaaaacaccagcatcttgtcctgata
+agtcgcgaacatcagggcgttattgccgttatagcgcaactgataaacaggaacagtttc
+actatttatcttgatgctactgatttccgttttgcttaactggctgtcgctggtagcggc
+aaacaacaatggctccagcagtttgcttaaaccactgcgctggatcagcaccatataatg
+tgaaagatggccttgtttatcgtgccacagcgctgcctgcgcgggctgatctaagagtga
+cgaaaagagcttatctttcagcgtgagatcgtgttcatagacaatacgacgaatgctgcc
+ttcaatgcccagacgatcggcatgattctgataatagaaaacgaaatcttcgctcagaac
+atcgtggagaaacggaatggtgaggagatctttgggaagctggctcagagagtcgctgtc
+gagaaagaggtccggctcattgagatcgatttgcagattgttgtgcaccaccagcggcga
+caacgttttttctggcccactgccagcatattgcaacgcccagacgccagcggaaagcag
+tgctattgcgccaaaacctacaagaccatagaaccgccagcctttcgcctttttttcacc
+actcattgccacattccttgtgtatagccagccattttttacgggcacagccaaacttta
+ccgtgccctaatacgacaaaagcccagactttgcagcctggacttttcaattcaaacaag
+ggagatagctcccttttggcatgaagaagtaaaattattcttcttctggctcgtcgtcaa
+cgtccacttccggagcgatttcatcgtccccttccgcggcactgccgtcgatggtatcca
+gatcttcctcgtcaaccggttcagcaacacgttgcagacccactacgttttcatcttccg
+cagtacggatgaggatcacgccctgggtgttacggcccacgatgctgatttccgaaacgc
+gagtacgtaccagcgtaccggcatcggtgatcatcatgatctggtcgcagtcatctacct
+gtaccgcgccaacaactaaaccgttacgttcggtaaccttgatggagataacccctttcg
+tcgcacgcgacttggttgggtattccgccactgcggtacgtttaccgtaaccgttttgcg
+ttgcggtgaggattgcgccatcgccacgaggcacgatcagagagacgactttatcgcctt
+cacctaagcgaataccgcgaacaccggtggtgttgcagcccatcgcacggacagaagact
+ctttaaagcgcaccactttaccttcagcggagaacagcattacttcgtcttcgccgctgg
+tcaggtcaacgccgatcagctcatcgccgtcaaccagtttgatcgccactttaccggcgg
+tacgcagacggttgaactcggtgaggacagttttcttcacggtaccgttagcggtcgcca
+tgaagactttcacgccttcttcaaactcggtcactggcaggatcgcagtgatacgttcgt
+cctgctccagcggcagcaggttgacgatcggacgaccgcgcgcgccacgagtggcttccg
+gcaactgataaactttcatcgaatagacgcgaccacggctggagaagcacagaatatggt
+cgtgagtgttcgccaccagcagtcggtcgataaagtcttcttctttaatacgtgcggcag
+atttacctttcccgccacgacgctgcgcttcgtattcagaaagcggctgatacttaacgt
+agccctggtgagagagcgtcacgaccacatcttcctgggtgatcagatcttccaggttga
+tgtctgcgctgttggcggtgatttcagtacgacgtttgtcaccgaactgttcacgaacca
+gctccagctcttcacggatcacttccatcagacgatcggcgctaccaagaatacgcaaca
+gttccgcgatctgatccagcagctctttgtattcgtcgagcagtttttcgtgctcaagac
+cggtcagtttctgcaaacgcagatccagaatcgcctgagcttgctgttcggtcaggtagt
+acagaccatcacgcacgccgaactctggctccagccattccggacgcgcagcatcgtcgc
+cagcacgttcgagcatcgcggcaacgttgcccagctgccacggattagcaaccagcgcag
+ttttcgcttctgcaggcgtcggcgcatgacggatcagttcgatgatcgggtcgatgttcg
+ccagcgccacggctaatgcttcaaggatatgagcacgatcgcgagctttacgcagttcga
+aaatagtacgacgggtcaccacttcacggcggtgacgaacaaacgccgcgatgatgtctt
+tcaggttcatgatcttcggctgaccatggtgcaatgccaccatgttgataccgaaagaaa
+cctgcaactgggtctgggagtagaggttgttgagcacaacttcaccgaccgcatcgcgtt
+tcacttcaatcacgatgcgcataccgtctttgtcagactcgtcacgcagcgcgctgatgc
+cttccacgcgtttttcttttaccagttccgcaatcttctcgatcaggcgcgctttgttta
+cctgatacggaatttcgtggacgataatggtttcacgaccggttttggcgtcaacttcca
+cttctgcgcgagcgcggatatacaccttgccgcgaccggtacggtaagcttcttcaatac
+cgcgacgaccgttaatgattgccgccgtcgggaagtccggccccgggatgtgttccatca
+gcccttcaatgctgatgtcttcatcatcaatatacgccagacaaccgttgatgacttccg
+tcaggttgtgcggcgggatgttggttgccatacctacggcgataccggaagaaccgttca
+ccagcaggttaggaattttggttggcatgacgtccggaattttttccgtgccgtcatagt
+tatcaacgaaatcgaccgtctctttttcgagatcggccatcagttcatgggcaattttcg
+ccagacggatttccgtataacgcattgccgccgcagagtcgccgtcgatagaaccgaagt
+taccctgaccgtctaccagcatataacgcagcgagaatggctgcgccatgcggacgatcg
+tgtcatagaccgccgagtcaccatggggatggtatttaccgattacgtcaccaacgacac
+gggcagattttttataggctttgttccagtcattgcctagtacgttcatggcgtaaagta
+cgcgacggtgtaccggcttcaggccatctcggacatctggcagcgcacggccaacaatga
+ccgacatcgcataatccagataggagctcttcagctcttcctcaatgttgaccggtgtaa
+tttctctcgcaaggtcgctcatctaaccgctatccctctactgtatcccggattcaaagg
+tcgcaaattataacacagccgcgcagtttgaggtaaacctatacgctttattcacatcca
+atgcctgatatactcgtttgtcttgccaattacggagtagaagtgccaatgaatgccgaa
+aaatcgccggtaaaccataacgtagaccacgaagagatcgctaaatttgaagccgtcgcc
+tcccgctggtgggatctggaaggtgagttcaaaccgctgcaccgcattaacccgctgcgt
+ctgggctatattgccgagcgtgctggcggtttatttggcaaaaaggtgctcgatgtcggt
+tgtggcggcggcattctggccgagagtatggcgcgcgaaggcgcgacggtgaccggtctg
+gatatgggctttgagccattgcaggtggcaaaactgcacgcactggaaagcggcattcag
+gtggattacgtgcaggaaaccgtggaagagcacgcggcaaaacatgccgggcagtatgat
+gtggtgacctgcatggagatgctggagcacgtccccgatccgcagtcagtggtcagagcc
+tgtgcgcaactggtgaaaccaggcggcgatgtctttttctcgacacttaaccgcaacggc
+aagtcatggctgatggcggtggttggtgcggaatatattttgcgcatggtgcccaaaggc
+acgcatgatgtgaagaagtttattaaaccggcagaattgctgggctgggtggatcagacc
+agtttaaaagagcggcatatcactgggctgcattacaacccgatcactaatacttttaaa
+ctcggccccggcgtggatgtgaactatatgctgcacacgcagaataagtgaggttgatgt
+ttggccgcgccaatgcctgatgcgacgcttgccgcgtcttatcaggcctacaaatgctcc
+ccgtaggccggataaggcgtttacgccgcatccggcaaccgtgccgactagacagtgatt
+accatttcaccgtcatcgacaaaaaccctgccgtctgggcaaaatcatcactccctttct
+gccacgccacgctgccgcgcagggacactcgctgactgatattgcccgtgactcccactt
+ttatttcaccccgttgcttcaccgcatcgtcactgatagtgctgccatcctcttcaattt
+ccgtcgaatggggatcgtgataataattcagatctaatgttggtatgacatgaacagcgg
+tacgccattcgctgtgtaaacccagccgcgtctgaatatcatcaccctgcgattgtgaca
+cgcgcgcacggttagcggcggtaaaatcatcctgctgcacgccctgataaatcacctgcg
+cctgcggttcaatcaccacaccacgccccggtaaccactgataccccgcctccagcgagg
+cgataatccccgacgagtggtaatgatctgtgccatcttcttgttcggaaacatcattgc
+taaaccacgcgtattgcagccagctatccagccaggccccttgcttctgattaccgtgct
+gaaaccagcttgatgtcagcccaacggcataaccgtggttctggttatcggcgcgagttc
+cggtcatattcgagcggctgtcgccctggttatcgctgtagccaccaacaatcccaagca
+tccactcgccatccgtgccccagcgcccgctaaacagatcgccgctaagttgcaccgtag
+aagtgtcttcatgttgagccagttgccccgctgctgtgtaatgataatctccgccgataa
+cacgtaaattcagcgtctgaccatcgccacctgcgtgatcgcgtcgctccatcataaacg
+cctgatttgccgcccgcaggttattaagataaccgccaactttggcattcaacaccggct
+ggtaagcaggcgtaggttccgggtcgggtgttggatcaggatccggcgtgggatcaggat
+cgggagtcgggtctggatcaggtggcgatggcggcgttacttcttgcgatcgcagatacc
+agtcgttgttatcttccaccagcgtgtagtcatacgctcccatattgacgtagccgctgc
+ctgccagactgaactgcgcattgttttgaaactgcgtgggatcagctgcgaaatcaacca
+ctttaatgcctgtcgatgtcggctcaccaatccctgtaatggagttaaccaccacagttg
+tgttgccagcagtattaccgttcatcaccaattgatcgcttaccgagtcatcgccgttta
+attcgctatcgagcagtagcgtaccgccgccggtataatcaccgtttaccgtcagcgtat
+cgccagcgacgccattttgcaggctaaccgcaccggacgtattggtcagattgccattaa
+ccgtcacgttggaaagataagtcaggctgtcagtttcaaggttggtattaagctcacctg
+tcaacgtcacaccatcggtggcattcaccagcgtcccatcgccgttaaatagtgaggcat
+taagggcgacggaagtatcctgcccggtcaggcgcaaaaccgtaccatcgctgatgtcga
+tagtgccgctggaaatagcatcaattgactgaatatcctgatccgcgccagtaacgaacg
+ttgccccatcaccaacccacagtgacgaagcataaggaaggatatcagcaacatcacctt
+tcagggtgccttcttcgacacgtaccgccgactgcgttgtaccgctggcggtcagctcca
+gtgtaccagcccccgttttagtcaatgtgctaccctcatcctgatgctgcccgctgctgt
+cagccatcagtgcgccccactgcgtgtctacccccgcatcaactgccacttcaccgtcgg
+cgcgcatttcaatatcacgtccgtggcctgccgcatctgaacgcgtgtcaacgtcggagg
+taatctccatcacgctttcttgttgcttatcggtaaagataacctggcggttatagtggg
+tatctccaagctgcgagttgtcgctcaccatcagcgtaccggaggcgatttgtgttgtgc
+ccaaataactattattgtttgccagacttacctgcccgtcgctcgcatcgaccaccacgt
+agacgccatctttcccgtcgccgccgatatgcaaattgtcgccacctgcaagatctacca
+catcctgactgccgataaccgttccgctgctgccactgacttcaaggccatcgttgtatg
+atgtgccgctctgccaggtggagaaatcagagagatcgagcacaccgccgtttaacacga
+tcgactgcggatcgtcctggagagcggtaagatctgccgcgtcgccttccagcgaaagca
+ccgcaccatcatcaacgactatatcgccggttagcgccatcgactgcgcccctgccagca
+cgtagctgccgttttgcgcaatggtgagctgaccagcaccttcgatgatgccagcaaaac
+tgccctgattaacagtaacgttgccaccagcatcgatatttaaagtgccattctgaaagc
+ccgtcaatgcgtgcacaaaagtttgttgggtcgagccaacgtttagctcagcctgattct
+gatactgatcaatactccctatcgtcagaccgtagcagtcttgcggatcgtcctggcaat
+gcgtatcgccgacattcatcagggagttgctgcggcccagggtaacttcaccgttttcaa
+tctgcatctcaccagtaaagtcattgttatctgcattaagtaccagatcgccggaacctg
+ttttggtgattaacccggtaccagcaatagagtcaacagctccgtcattctctgtattgc
+caataaccagcgtttttccgtcggcaatatcaaaggtaacttcacttaagccgagataca
+taaagccacccgccgcagaggaaggaccatctccatagcctgctgcgctattgttctcat
+cgactaacacgcctccgttctggctgtagctgtcatcaacagaaatatcaataagatagg
+gagccgtcacgctattggtatatatcgccccgccataaccttcggcagtgttatttgtaa
+aggcagtgttatttactatcgtataacctgaaggatgcttgctgtcgctattattatcgg
+taacatcgattgccccgccatcgccatcactgtaacttgttgatgtatatgcctggttgt
+tatcaaaaataacatcacttaaataaacgtcattattaatggtataaattgcgccacctt
+tgccatcattagcgatgttattgcgaaacatggcgttagtgacacgtaaatcgacggcac
+cagtatcgttagtaccagaagaatagattgcgccaccatagccgcctgcgacgttaccgg
+aaaaaataacatcagtaagattcagcgttgagttttctttagcaaatatggccccgccgt
+tattatattctcctgtaacggtgttattggcaaacagagtcattccagtttcattttctg
+gtaatagtgaaaattccgctccttgttgcaaaaatacggccccaccgctggcgttattgg
+tcatatccgaaaaaaccagccattgcccatcagcgatactccagtcctgcgtaatgcctg
+aaaggctttgcctgctggcctgacaactcgctttgacatcatatccctggcatgaatcag
+tgaccgccgcgacaccgttagcagagaaaagagatgcaatcattgacgggagtaaagata
+aatactccttgcgtagaaagataatccgcatattaatctaaccatcattttctataagac
+ggcgtatttaatcgcattatacgatatggaatatctttcttttgtaaattgttcaacccg
+gtgcaatggctattttgttattatttgatgaataatatcagtgcgtcataattcaagtta
+ataaccttcagggatatcagttatatttaaactaaattaaagtcatgaataattttctta
+taatataaggtaaattaacaaaatggcttagcatttaacaataaccgaatagaaaacaac
+catttcgccatcaacaatctcttacattcgcttatatattgaccacaactgatacatcag
+attatgtgatgactcgtgcttagatcaatttttgcaatcattagcaaaaagattaataag
+ccatctatatcaatttatctaacctattatgccgttcaagaaatcgccgaacagttattt
+ttaacaaatttttctcttcccattgactttcccggacaccttgtctgacctaaggtgcgc
+gaaagccactttttccttcctgagttatccacaaagttatgcacttgcaagagggtcatt
+ttcacactatcttgcagtgaatcccaaacataccccctatatatagtgttctaagcagct
+tcccgtactacaggtagtctgcatgaaactattgcggaaagaattccaaaaacaggtacg
+acatacatgaatcagaatctgctggtgacaaagcgcgacggtagcacagagcgcatcaat
+ctcgacaaaatccatcgcgttctggattgggcggcagaaggactgcataacgtttcgatt
+tcccaggtcgagctgcgctcccacattcagttttatgacggtatcaagacctctgacatc
+cacgaaaccattatcaaggctgccgcagacctgatctcccgtgatgcgccggattatcag
+tatctcgccgcgcgcctggcgatcttccacctgcgtaaaaaagcctacggccagtttgag
+ccgcctgcgctgtacgaccacgtggtgaaaatggtcgagatgggcaaatacgataatcat
+ctgctggaagactacacggaagaagagttcaagcagatggacacctttatcgatcacgac
+cgtgatatgaccttctcttatgctgccgttaagcagctggaaggcaaatatctggtacag
+aaccgcgtgaccggcgaaatctatgagagcgcccagttcctttatattctagttgccgcg
+tgcttgttctcgaactacccgcgtgaaacgcgcctgcaatatgtgaagcgtttttacgac
+gcggtttccacatttaaaatttcgctgccgacgccaatcatgtccggcgtgcgtaccccg
+actcgtcagttcagctcctgcgtactgatcgagtgcggtgacagcctggattccatcaac
+gccacctccagcgcgattgttaaatacgtttcccagcgtgccgggatcggcatcaacgcc
+gggcgtattcgtgcgctgggtagcccgattcgcggtggtgaagcgttccataccggctgc
+attccgttctacaaacatttccagacagcggtgaaatcctgctctcagggcggtgtgcgc
+ggcggtgcggcaacgctgttctacccgatgtggcatctggaagtggaaagcctgctggtg
+ttgaaaaacaaccgtggtgtggaaggcaaccgcgtgcgtcatatggactacggggtacaa
+atcaacaaactgatgtatacccgtctgctgaaaggtgaagatatcaccctgttcagcccg
+tccgacgtaccggggctgtacgacgcgttcttcgccgatcaggaagagtttgaacgtctg
+tataccaaatatgagaaagacgacagcatccgcaagcagcgtgtgaaagccgttgagctg
+ttctcgctgatgatgcaggaacgtgcgtctaccggtcgtatctatattcagaacgttgac
+cactgcaatacccatagcccgtttgatccggccatcgcgccagtgcgtcagtctaacctg
+tgcctggagatagccctgccgaccaaaccgctgaacgacgtcaacgacgagaacggtgaa
+atcgcgctgtgtacgctgtctgctttcaacctgggcgcaattaataacctggatgaactg
+gaagagctggcaattctggcggttcgtgcacttgacgcgctgctggattatcaggattac
+ccgatcccggccgccaaacgtggagcgatgggtcgtcgtacgctgggtattggtgtgatc
+aacttcgcttactacctggcgaagcacggtaaacgctactccgacggcagcgccaacaac
+ctgacgcataaaaccttcgaagccattcagtattacctgctgaaagcctctaatgagctg
+gcgaaagagcaaggcgcgtgcccgtggtttaacgaaaccacttacgcgaaagggatcctg
+ccgatcgatacctataagaaagatctggataccatcgctaatgagccgctgcattacgac
+tgggaagctctgcgtgagtcaatcaaaacgcacggtctgcgtaactccacgctttctgct
+ctgatgccgtccgagacttcttcgcagatctctaacgccactaacggtattgaaccgccg
+cgcggttacgtcagcatcaaagcgtcgaaagacggtattttgcgccaggtggtgccggac
+tacgagcacctgcacgacgcctatgagctgctgtgggaaatgccgggtaacgatggttat
+ctgcaactggtgggtatcatgcagaaatttatcgatcagtcgatctctgccaacaccaac
+tacgatccgtcacgcttcccgtcaggaaaagtgccgatgcagcagttgctgaaagacctg
+ctcaccgcctacaaattcggggtcaaaacactgtattatcagaacacccgtgacggcgct
+gaagacgcacaagacgatctggtgccgtcaatccaggacgatggctgcgaaagcggcgca
+tgtaagatctgatattgagatgccggatgcggcgtaaacgccttatccggcctacggctc
+ggtttgtaggcctgataagacgcgccagcgtcgcatcaggctccgggtgccggatgcagc
+gtgaacgccttatccggcctacggctcggatttgtaggcctgataagacgcgccagcgtc
+gcatcaggcacaggatgcggcgtaaaatgccttatccggcattaaactcccaacaggaca
+cactcatggcatataccaccttttcacagacgaaaaatgatcagctcaaagaaccgatgt
+tctttggtcagccggtcaacgtggctcgctacgatcagcaaaaatatgacatcttcgaaa
+agctgatcgaaaagcagctctctttcttctggcgtccggaagaagttgacgtctcccgcg
+accgtatagattaccaggcgctgccggagcacgaaaaacacatctttatcagcaacctga
+aatatcagacgctgctggattccattcagggtcgtagcccgaacgtggcgctattgccgc
+ttatttctattccggaactggaaacctgggtcgaaacctgggcgttctcagaaacgattc
+attcccgttcctatactcatatcattcgtaatatcgttaacgatccgtctgttgtgtttg
+acgatatcgtcaccaacgagcagatccagaaacgtgcggaagggatctccagctattacg
+atgagctgatcgaaatgaccagctactggcatctgctgggcgaaggtacccacaccgtta
+acggtaaaactgtgaccgttagcctgcgcgagctgaagaaaaaactgtatctctgcctga
+tgagcgttaacgcgctggaagcgattcgtttctacgtcagctttgcttgttccttcgcat
+ttgcagaacgcgaattgatggaaggcaacgccaaaattattcgcctgattgcccgcgacg
+aagccctgcacctgaccggcacccagcatatgctgaatctgctgcgcagcggcgcggacg
+atcctgagatggcggaaattgccgaagagtgtaagcaggagtgctatgacctgtttgttc
+aggcagctcaacaggagaaagactgggcggattatctgttccgcgacggttcgatgattg
+gtctgaataaagacattctctgccagtacgttgaatacatcaccaatatccgtatgcagg
+cagtcggtttggatctgccgttccagacgcgctccaacccgatcccgtggatcaacactt
+ggctggtgtctgataacgtgcaggttgctccgcaggaagtggaagtcagttcttatctgg
+tcgggcagattgactcggaagtggacaccgacgatttgagtaacttccagctctgatggc
+ccgcgttaccctgcgcatcactggcacacaactgctgtgccaggatgaacacccttccct
+tctggcggcgctggaatcccacaatgtggcggttgagtaccagtgtcgcgaaggttactg
+cggctcctgtcgcacacgcctggttgcaggtcaagttgactggattgccgaaccgttagc
+ctttattcagccgggggaaattttgccctgttgttgccgggcaaaaggcgatattgaaat
+cgagatgtgaattggttgtagtgccagatacaacgcttatgcgtcttatctggcctacaa
+cgattacatggcgtagtaatacgctttcacctgctcccagtccgctttggggattggctc
+cagatatttttccagctggcggaagtcatgattaatcgctttatcgcgacgcaagcggcg
+acgacttttctccaggtcaagaaaaccagcttctgcattaccttctgttttcacatagat
+atggcgaacataacaacagccatgctgacgattaatgctatgcattttcttaaacgccag
+cgccactgctttcaacatggcttgccgtacttcgtcagaataaggcgatactgcatgctg
+ggcataccagtcagcaatgctgatgaaccccgccatatcttcagtcaccagcaacgctcg
+ccattcaccctcaattttcaccgcttcaccaaaaacgatcttcggcacgatgacaccggc
+ccgttccagttctttaattaccgcaacctcacggacaatcgttggtcggccgaacggata
+acgtacggaatgaaacagatgatgcgtcatgcgctttacatacagctttttgccgttgcg
+ctcgacgcattgcaccccgctcataccattacggcgatagttaggctcttcaacccagtc
+gccctctgttgcccaccagtgattaaattcgtcgtactttgctgaaactgccatacccta
+tcgcctgtcatttttattaacgacaatgactataggtggttacctgaggaaaatcttaat
+gaaacgtgtcgtattaatgaatttcttttgccactactagcttgacaccgcttttaccct
+tcatttgcagcgcatagattccaccagccactaccactaatagtgcgcccagcagataaa
+atgtgaatttaatcaggcggatacagcgatgaattttattcgacagggattaggcatcgc
+cttacaaccagagttaacgctgaaaagcattgcaggtgaattgtgttccgttcctctcga
+accaactttctatcgacagatttcgttgctggctaaagaaaagccggtagaaggcagtcc
+actgtttttactacaaatgtgcatggaacaattagtggcgattggaaaaatttgatatga
+gacaggatggcgcatgaacgccatcctgcagtaacattactctttattaagaaattttac
+tgccttatcagggaaatcagtaaacagcccatttacacccgctttgttatacagagcatc
+atataactgattcacatcaggagtgtattcaggcagtttatctgaccgcacggtataagg
+atgcactaccagtttattctgctgagcatcttgcaccatgccagtgagtttgatattacc
+cggctgcgatgtctcctcaatcaacatatggtaatccggaccaataccatctgcatattc
+cgccacctgtttcatggcacccggcttaaacatccagtcgtagttgtaattaacccagct
+tccatccggctgtttctgctgcgtttcattccagtcggtataggcaatcagctgtaccag
+attgagctccatgcccattttgggttccagctcattcttaatacgcttcagctcatcagc
+atcaaaacattgcaaataaactttatcgtctttaccggtgtaaccatatttcttcagcac
+ttccagcgtttttgccgcaatatccttcccttcctgatgatggaaccacggcgctttgat
+ttctggataaataccgatatttttcccggtagagtgatttaacccctgaacaaattcaat
+ctcttcttcaaaggtgtgcacccggaagtcggacttacccattgggaaacgccccggata
+agtctgcacttttttaccgttttcaatatcgaaaccttcggtaaatttcaacgacttaat
+ttcatccagcgtgaaatctatcgcgtagtaacgaccgtctttgcgcgcccgatccgggaa
+acgatcggcaacatcagtaacacgatcgaggtaatggtcatgcagaacaaccagattgtc
+gtctttggtcatcaccaaatcctgttccagataatccgctccctgcgcatacgccatcgc
+ttttgctggcagcgtatgctccggcaaatatccactggcaccgcgatgggcgatgactat
+tttttcgttgctgtccgccgccattgcactgcttcccatgactatagtgctcatcatgat
+cgccatgctaaggtttttcagcgtcaatttcatgccattagcctccgttgcgttcttgca
+gtaattgttcatggcgacgtttttcgccaatcatcacaacaatcaacaagataaccgcca
+gaatgctgccgccaatcattaccataaagccgccatcccagccgaagaagtccacggtgt
+agccaacaatcgcgctcgccgccaccgaaccgcccaggtaaccaaacagcccggtaaagc
+ccgctgccgtacctgccgcttttttcggtgccagttccagcgcatgcagaccgatcagca
+tcacaggaccgtagatcaggaagccgataacaatcatacaaatcatatcgacggttgggt
+tacctgccgggttcatccagtaaacgatagtcgcgatggtcaccagtgtcataaagaaaa
+cgccggttgccccacggttgccacggaagactttatccgacatccagccgcacagcagag
+tgcccggaatacctgcatattcataaaggaagtaggcccaggaggatttatctagcgcga
+aatgcttaacctctttcagataagtcggtgaccagtcgaggatgccgtaacgcagcagat
+aaacgaacacgttggcgatggcgatataccacagcagtttgttcggcagtacgtactgca
+tgaagatttgcttcgccgtcagctcctgttccgctttttcgttatagtcgtccggataat
+catttttgtactcttcgatcggcggcaagccacaggattgcggggtatcgcgcatcatcg
+caaaggcgaataatgccaccagaatggcgcagaaagcaggcatatagagcgccgcatgcc
+agtcattgaaccaggccatccccagcaggaacagcagcggcggaataccaccaccgacgt
+tgtgcgcacagttccacactgacacaatgccgccacgttctttctgcgaccaccagtgca
+ccatagtacgaccacacggcggccaccccatcccctggaaccaaccgcagaggaacaaca
+gtacaaacatcaccgcaatgctcgacgtcgcccatggcacaaagcccataaacaacatca
+ctgccgccgccagaatcaaacctgcgggcaggaaaacgcgcggattcgagcgatccgata
+ccgaacccatgatgaatttcgaaaatccataagcaatcgagatccccgaaagggcaaaac
+ctaaatcaccgcgtgagaatccctgctcaaccagataaggcatagcaagcgcaaagttct
+tacgaaccaaatagtaagccgcatagccaaagaatatccccaggaaaatttgccagcgca
+atcgacgataagtcggatcgatctccgcggcaggtaagcgcgctttgtgtggcgctggtt
+taaaaatactcaacattgatagcctccgtggcccgtggtcttatttatgattaacagcct
+gattcagtgagagaacctgccgtttcttgagttgccgcgatgttaagaaaacattcataa
+attaaatgtgaattgccgcacacattattaaataagatttacaaaatgttcaaaatgacg
+catgaaatcacgtttcactttcgaattatgagcgaatatgcgcgaaatcaaacaattcat
+gtttttactatggctaaatggtaaaaaacgaacttcagagggataacaatgaaaactcgc
+gactcgcaatcaagtgacgtgattatcattggcggcggcgcaacgggagccgggattgcc
+cgcgactgtgccctgcgcgggctgcgcgtgattttggttgagcgccacgacatcgcaacc
+ggtgccaccgggcgtaaccacggcctgctgcacagcggtgcgcgctatgcggtaaccgat
+gcggaatcggcccgcgaatgcattagtgaaaaccagatcctgaaacgcattgcacgtcac
+tgcgttgaaccaaccaacggcctgtttatcaccctgccggaagatgacctctccttccag
+gccacttttattcgcgcctgcgaagaagcagggatcagcgcagaagctatagacccgcag
+caagcgcgcattatcgaacctgccgttaacccggcactgattggcgcggtgaaagttccg
+gatggcaccgttgatccatttcgtctgaccgcagcaaacatgctggatgccaaagaacac
+ggtgccgttatccttaccgctcatgaagtcacggggctgattcgtgaaggcgcgacggtg
+tgcggtgttcgtgtacgtaaccatctcaccggcgaaactcaggcccttcatgcacctgtc
+gtggttaatgccgctgggatctgggggcaacacattgccgaatatgccgatctgcgcatt
+cgcatgttcccggcgaaaggatcgctgctgatcatggatcaccgcattaaccagcatgtg
+atcaaccgctgccgtaaaccttccgacgccgatattctggtgcctggcgataccatttcg
+ctgattggtaccacctctttacgtattgattacaacgagattgacgataatcgagtgacg
+gcagaagaggttgatattctgctgcgtgaaggggaaaaactggcccccgtgatggcgaaa
+acgcgcattttgcgggcctattctggcgtgcgcccgctggttgccagcgatgacgacccg
+agcggacgtaacgtcagccgtggcatcgtgctgctcgaccatgctgaacgcgatggtctg
+gacggatttatcaccatcaccggtggcaaactgatgacctatcggctgatggctgaatgg
+gctaccgacgcggtatgccgcaaactgggcaacacgcgcccctgtacgactgccgatctg
+gcactgcctggttcacaagaacccgctgaagttaccttgcgtaaagtcatctccctgcct
+gccccgctgcgcggttctgcggtttatcgtcatggcgatcgcacgcctgcctggctgagc
+gaaggccgtctgcaccgtagcctggtatgtgagtgcgaagcggtaactgcgggtgaagtg
+cagtacgcggtagaaaatttaaacgttaatagcctgctggatttacgccgtcgtacccgt
+gtggggatgggcacctgccagggcgaactctgcgcctgccgcgctgccggactgctgcaa
+cgttttaacgtcacgacgtccgcgcaatctatcgagcaactttccaccttccttaacgaa
+cgctggaaaggcgtgcaacccatcgcctggggagatgcactgcgcgaaagcgaatttacc
+cgctgggtttatcagggattgtgtggtctggagaaggagcagaaagatgcgctttgatac
+tgtcattatgggcggcggcctcgccggattactctgtggcctgcaactgcaaaaacacgg
+cctgcgctgtgccattgtcactcgtggtcaaagcgcactgcatttctcatccggatcgct
+ggatttgctgagccatctgccagatggtcaaccggtgacagacattcacagtggactgga
+atctttgcgtcagcaggcaccagcccatccttactcccttctcgagccacaacgcgtgct
+cgatctcgcttgccaggcgcaggcattaatcgctgaaagcggtgcgcaattgcagggcag
+cgtagaacttgctcaccagcgggttacgccgctcggcactctgcgctctacctggctaag
+ttcgccagaagtccccgtctggccgctgcccgcgaagaaaatatgtgtagtgggaattag
+cggcctgatggattttcaggcgcaccttgcggcagcttcgttgcgtgaactcggccttgc
+cgttgaaaccgcagaaatagagctgccggaactggatgtgctgcgcaataacgccaccga
+atttcgcgcggtgaatatcgcccgtttccttgataatgaagaaaactggccgctgttact
+tgatgcgcttattcctgtcgccaatacctgcgaaatgatcctgatgcccgcctgcttcgg
+tctggccgatgacaaactgtggcgttggttgaatgaaaaactaccttgttcactgatgct
+tttgccaacgctgccgccttccgtgctgggcattcgtctgcaaaaccagttacagcgcca
+gtttgtgcgccagggtggcgtgtggatgccgggcgatgaagtgaaaaaagtgacctgtaa
+aaatggcgtagtgaacgaaatctggacccgcaatcacgccgatattccgctacgtccacg
+tttcgcggttctcgccagcggcagtttctttagtggcggactggtagcggaacgtaacgg
+cattcgagagccgattctcggccttgatgtgctacaaaccgccacgcggggtgaatggta
+taagggagatttttttgcgccgcaaccgtggcagcagttcggtgtaaccactgatgagac
+gctacgcccgtcacaggcagggcaaaccattgaaaacctgtttgccatcggttcggtgct
+gggcggatttgatcccatcgcccagggatgcggcggcggtgtttgtgccgtcagtgcttt
+acatgccgctcaacagattgcccaacgcgcaggaggccaacaatgaatgacaccagcttc
+gaaaactgcattaagtgcaccgtctgcaccaccgcctgcccggtgagccgggtgaatccc
+ggttatccagggccaaaacaagccgggccggatggcgagcgtctgcgtttgaaagatggc
+gcactgtatgacgaggcgctgaaatattgcatcaactgcaaacgttgtgaagtcgcctgc
+ccgtccgatgtgaagattggcgatattatccagcgcgcgcgggcgaaatatgacaccacg
+cgcccgtcgctgcgtaattttgtgttgagtcataccgacctgatgggtagcgtttccacg
+ccgttcgcaccaatcgtcaacaccgctacctcgctgaaaccggtgcggcagctgcttgat
+gcggcgttaaaaatcgatcatcgccgcacgctaccgaaatactccttcggcacgttccgt
+cgctggtatcgcagcgtggcggctcagcaagcacaatataaagaccaggtcgctttcttt
+cacggctgcttcgttaactacaaccatccgcagttaggtaaagatttaattaaagtgctc
+aacgcaatgggtaccggtgtacaactgctcagcaaagaaaaatgctgcggcgtaccgcta
+atcgccaacggctttaccgataaagcacgcaaacaggcaattacgaatgtagagtcgatc
+cgcgaagctgtgggagtaaaaggcattccggtgattgccacctcctcaacctgtacattt
+gccctgcgcgacgaatacccggaagtgctgaatgtcgacaacaaaggcttgcgcgatcat
+atcgaactggcaacccgctggctgtggcgcaagctggacgaaggcaaaacgttaccgctg
+aaaccgctgccgctgaaagtggtttatcacactccgtgccatatggaaaaaatgggctgg
+acgctctacaccctggagctgttgcgtaacatcccggggcttgagttaacggtgctggat
+tcccagtgctgcggtattgcgggtacttacggtttcaaaaaagagaactaccccacctca
+caagccatcggcgcaccactgttccgccagatagaagaaagcggcgcagatctggtggtc
+accgactgcgaaacctgtaaatggcagattgagatgtccacaagtcttcgctgcgaacat
+ccgattacgctactggcccaggcgctggcttaaactcctttctgatgcccggtaagcatg
+tggttaccgggcatttttgcgtacacgattccgtgcccaatgtatgcgttgcaacgcagt
+gaaaattcctctgaaaacgtctcgcaaaggctgaaactggcagatgtcaaaggcctggga
+taaccgtaatgtcgcgtcatcataaatatcaggtgacggacaaccatgaccgaatcaaca
+acctcctccccgcatgatgcggtatttaaaacctttatgttcacacccgaaaccgcacgg
+gattttctcgaaatacatttaccagaaccactgcgcaagctttgcaacctgcaaacctta
+cgcctggaacccactagttttattgaaaaaagtttacgcgcttactactcggatgttttg
+tggtccgtggaaaccagcgacggtgacggctatatctactgcgtgattgaacatcaaagc
+tctgcagaaaagaatatggcttttcggctaatgcgctatgccactgccgccatgcagcgt
+caccaggacaaaggctatgacagagtcccgctggtggtgccgttgctgttttatcatggc
+gaaacctcgccttacccgtactcactcaactggctggatgagtttgacgatccgcaactt
+gcccggcagttgtacaccgaagcttttctgttggtggatatcaccatcgtacctgacgat
+gagatcatgcaacatcggcgtatagctctgctggaactgattcaaaagcatattcgcgac
+cgcgatttaatcggcatggtcgacaggatcaccacgcttttggttagaggcttcactaat
+gacagccagctacaaacactgtttaattatctgctgcaatgcggcgatacctcccgtttc
+acccgttttattgaggagattgccgaacgttcaccactacaaaaggagagattaatgact
+attgctgaacggctacggcaggaagggcatcaaattggctggcaggaaggtatgcatgaa
+caagccattaaaattgctttgcgcatgctggagcagggctttgaacgtgagattgtgctg
+gcgacaacccaactcactgatgctgatattccgaactgtcattaaaaggagagattaatg
+actattgctgaacggctgcggcaggaaggacatcaaattggctggcaggaaggtaaatta
+gaaggtttgcatgaacaagccattaaaattgctttgcgcatgctggaacagggctttgat
+cgtgaccaggtgctcgcggccacccagctaagcgaagccgatctggcagcgaataaccac
+taattaacacaggcccacagccgatccccatgggcctttgatatcaataactacctttta
+tgcgtggcccatttttgcctgatttaaacatcgccagtcgttgatccagggcatcgctgt
+agagcatcgtgtcaacgccaacagcgacaaagttcgctccccacgccaggcattgctgcg
+ccatatcaggagccacagccagaaaaccagccgctttacccgcagcacggatccgccgaa
+tactggtttcaataattcgctgcacttccgggtgcccggcgttatccgggtagcccaacg
+acgcagaaagatccgcaggtccaataaacacgccatcaatcccttcgacgtcgaggattt
+cgtccaggttatccagtgccgttttactttccacctgcaccaacagacaaagcgaatcgt
+taacttgcgccatgtaattctcaatgcgtccccagcgcgcagcccgtgccacactggccc
+cgacaccacgctcaccgtagggaggatagcgcgtggcagacaccacctgacgtgcctgtt
+cggcagtatcgaccatcgggatcagtagagtttgcgcgccaatatccaggacttgtttaa
+tcagcggtttactgccttccaccggacggatcacgggttggctggcatagggcgctaccg
+cctgtagctgatgataaagatcctgaatggtgtttggcgcgtgctccccgtcaatcagca
+accagtcataaccagaagtggcggcaatttctgccatataggcagtcgttgagcttaacc
+acagaccaatttgcacttcgcccttgcgtaaacgttctttaaagggattgcttaataatg
+cgttcatcgtgttccttaacctatttaatgatgtgccacgtcggtctgcgcaacagtgcg
+atttacacgcagagtgaaaataatcagcgaaccgatgaccgccaccgctgccagcgtcag
+taatcccgccgcatcgctggcaaataacgtttctgctttcacgcgcaggatcggggcaat
+aaacccgcccactgcaccaaacaggtttacaaaaccaattcccgcagccagcgccgtacc
+ggaaagcagttgtgtcggcatcgtccagaacactggctgcacggcaataaacccgatagc
+tgcaacacacagcgctacgatcgccattactggagaaagcagcccggacagaccaatacc
+aatgcccgccgccagtaatgtcagcgctgcgacattacgccgttcgccggttttatcgga
+atagcgcggaataagccaggtcccaaacaaggccgcaacccacggaatggcggtgaccac
+cgacgctgtaaagcccacttttgttcccagcaatgccgcaacctgggtcggcaggaagaa
+aattaatccgtaaaccgccacctgaatggtcaggtagataatcgctagttgccagactcg
+gccattacgcagcgcatcgctcagccgagaagtcactttctgttgttcttcacttgccag
+ttgattgataagcaacgttttttcttgtttactcagaaaacgtgcctgctccggtgtgtc
+atcaagccaaaagaatgtgaataccccagcaccgactgccaacaatccttcaatcacaaa
+catccagaaccagccgggatgccccataaatccatgcatctccaacagcgcgccggaaag
+cggtgatcccagtgttaacgccagcggtgcgcccatatagaacagccccataatgctggc
+gcgattacgctgcggaaaccattgcgaggtgagataaatcataccagggaaaaatccggc
+ctccgcagcacgaagcagagtgcgaactatcagaaatttcgcttcagtatcggcccatgc
+catggctgccgaaagaaatccccacagcagtgttgtcgtaccaatccaggttctggcccc
+cagtttgcgcatcaaaagattcgccggaacacccagaaacgcatataccacaaagaaaat
+gcctgctcccagcgcataagcttcattactcaacccggtatcaatctggtaggtctgttt
+ggcaaaaccgatattcgaacggtcgagaaacgccagcacatacagcgccaacataaacgg
+aattaaacgcacacggtttttcttcaccacggcgtcaagcaaagcggtgctcataaaaag
+ctccttagaatatgtgggcgttaccgttgtcacagcaacgcccggagtgattagtggctg
+taggggcgtttcaaattgcagtcacgattgagttcgacgccaaaaccgggtttatcaagc
+actgatttatgaatacgaccattcaccggaaccggctcattgagcagaatcgggtcaaac
+tgcggacgcatcgttgaacaatccgggctggtcatcaggaattcgctgaatggcgtattg
+gtgaaggtgatcaccgcatggtgagagtaaacagacgaaccgtgcggcaccaccagttgc
+cccctggatttggcgattgcggcaatttccaccagcgtggttaaaccaccgcaccagcca
+acatccggctgcataatgtcgataccggtttctgaaagcgtacgaaaagattgcagtgtg
+ccgtggtgctcaccgctggtgaccatcattccgactggcgcgttgcgtttcagttcgcga
+taactttcatactgctgtggcggcaggcactcttcgatccatttcaggttatagggcgcg
+caagcgtgggccagtttggtcgcatagttcacgtcctgactcatccagcagtcgagcatt
+aaccagaaatcctcaccgcatttttcacgcatatccgcgaccatagcggcatctttgcgg
+atccccgcatcgccatcatgtggcccccagtgcgtcggcattttgccaccgataaagccc
+atctcttttgccagatccggacgcgcacctgtggcgtagaactgaatctcatcacgaaca
+gcgccgcctaaaagtttataaaccggaagcccgaccactttgccgaacagatcccacaga
+gccagatcgacacaagaaatcgtattcatcaccaggccaccagagccggagtaatacagg
+gtggcactgagcatttgatcgtggatcagtttgatatcactgacacatttaccctcaatg
+aaacggttaagatgtttttcgacaataaaacagcccatttcaccggctgtcgaaacggcg
+aatccggtctggccgttttctgcttcgacttcaacaaccaacgtgccaagaacgttaatg
+ccaaatgactggcgtgactgctcgtaatcgcggtatttactcatcggggtggcaatatga
+tcgtctatccagtgattcgccccctggtcgtgataatcaccgccgccagcgcctttttct
+gctgtcgcaccgccagtaaaccaggcgcgaacctgtttaatttttggtagggtcatgatg
+ttctccattgttatgaggcttgtaagtcaaagggacttttccatcccaacagacgtgaaa
+tatccctggcgcaggcaatggccttgcccgccagataatcacggtattcttcattgattt
+gtaagcgggtaccgaccaccgagatcgcagcggtaagctcgttattggcgttaaacaccg
+gcgcagcgacacaacggacatcggcgtaatcttcgccgttgtcatagctccagccctgac
+ggcgaatacgcgccagttcttcgtgaagttgctgtggatgagtaatcgttgtgggtgtcg
+cctgctcccagaccagcccttcgataatactttgctgtaccgctgcaggttgccaggcaa
+gcaggcatttacctattccggagcgataaagcgaaaggctttttccttcatgggaacgca
+cgctgatagtggctgatgactccactttcaaaatgtaataagcgctgccgttatcaataa
+tccccaggtgacataacagcccggtggtatccatcagttgcgtcaaacgcggtcgagcca
+gttcccggagatccatcttgcttaacgcatgaccggaaagctccaccagcctggtccaca
+aacaaaaattttcctggtgatcaaggctaagaaaacgctgacgcctgagttcattaagca
+gcaaataggccgtgcttttagggattcccaatgtgtcaatgatcgtcgcagcactacagg
+ggccaatgcgggcaatcaaattgagaatatcaatagcccgtgtcagggcgggaactttgc
+ttgattccaacatactggactccagtcttagatactggaatcagtctcgttgctcagggg
+gagtaaaattgtgaagcgcatcaaatcccgctcctcgtccagcagactggagaaattacg
+cacaaatttgtgaatcagcgcacggattttttcttattgagtacaacaggttggacaaat
+tttgccggagggggaatgtgccggtgcagtaaaccggcacagagtggcggaatcagacag
+ataaggtcatggactcaacaacctcaatccagccatgctcactggcgatatcctggccgt
+ttaaccaacggcgcagcatattcagtgccatcattgcgcacacttcctgacggatagcca
+ggctgtagcgcgtagtgctgaaacgcacacgcagagcgaaagtgccgtctggcgtggcta
+gcgcaaagttgagatgctcgttctcgaaacccgaaacagccagtgccagcccggcaaaat
+ggttggcccgccgttctgtaatccagtgcgcagtttgcgccagggtttcctcctgtgaag
+gaaccacttcacacgccagcaatggagcacctgcgcgagaaagttgcaaagccaataaac
+caccggtgaattgctcgctcaacgtcaggctgaactggcggttttgcaattcgcgactga
+tctgcgcgggcagtccttcagtgccttcgaaaatcacgctctgtccggcaacacgtttaa
+catccagccacagtttttccatcgcctgttgctcgcttgccggtccggtgagtttcagtt
+cgatgataggcattgaggagcgatagcccattgttacgcccggcggcagttgtagagtgt
+ccaggctttgtgccagatcgctttccgaacgaccaaaagtagtcaaacgcagacaaaccg
+gcggctgcggtaaagaaaaacgctcgcgcaggcgcggcaggatttcgtgctcgaccatca
+ccttaaattctgacggtacgccgggagtaaagaacatcaggcaacgattaagctgcacgg
+caaaaccacaggcggtgcctaccgggttattgataaattcagcactggcaggcagctccg
+cttgtttacggttgctcggtgccattactcgtccacgttcgtggaaatagcgttccatct
+ctttgagccaggcttcatgcagcaccaggccttcaccttttgctgtcgcagcggcgagtg
+cgcttaaatcatcgctggtcggtcccagcccgccgttaacgatcagcacatcggcgtgct
+gactacgttcgcgaagaatggtgactaagtcatcaaggttatcccccaccgtattgcggc
+gagataatggcaacccctgatgaaagaaaaaatcggccagccaggcagcgttagtgtcaa
+cgatttgcccgtgtaacacttcatccccggtggataacatttccacttttaacatggtta
+tctcctgcttttgttatcgaatcactataacgcaaagggagataaggcgtagtaagaaac
+tgaatggcgcgacagaatgccgcgccggaagggatcagaaactggcgttaaccccaacat
+acgggccgtcagccacggcgttgtcgcggttaccgtctttacccgacagattcaggtagc
+gataacccgcctcaatactgactggacgcataatggtgtaacgcgcgccagcattcgctt
+cttcataactttgaataccgctggagagcgaatccggagagtagtaatactcgccaaaca
+aacggaagctgttgccaattttccactgcaaaccacctcctaccgctgcggcataacctt
+catcgccgtaattcgggttggtgtaaacgccttttccgccaacggtcgccattaacggcc
+cgagaggcagattcaaccccagccccacgccagcgacatcaccgtcgtcgtcgttatgtg
+tccagttaccgcttaacgccaggcccgtcgtttcagtcccaaaaccgacaccaatattgg
+tgtattctttacccgcctgaccgctgatgctcattgcattgaccgatgcagaaaccaaca
+gcattccggccagacctgctagcgcaatttttttcattatcccctttcccacaagcaatt
+aatcaaaattcccaaagctgcgggattgtactgcctggcacagaggattcaatgagcgaa
+aaaaaggatctagtcacttattgtaactaaatacttcttaaataattaaatgccgaaaaa
+ataaacacactttatcgatacacacaaaaataataataagtacagttatcatcgcaaaag
+agattactgtcactttcacatatttgtgagttaccgtattctcatggtttctttttattt
+ataaggaatatccctgtgcgacaacggactattgtatgccctttgattcaaaatgatggt
+gcttatttgctgtgtaaaatggccgacgatcgcggcgttttccccggtcaatgggcgatt
+tcgggtggcggcgtggagcctggcgaacgaattgaagaggcactacgccgcgaaattcgc
+gaagaactgggagaacagctgcttttgacagaaatcacgccgtggaccttcagcgatgat
+attcgcaccaagacgtatgcagatggtcgcaaggaagagatttatatgatttacctgatt
+tttgactgcgtttctgccaaccgagaagtgaaaataaacgaagagtttcaggactacgcg
+tgggtaaaacctgaagatctggtgcattatgatttgaatgtcgccacccgaaaaacgtta
+cgtttgaaaggtcttctgtaacaatgatgacagccattactggctgtcagattgaaaatt
+tagtggttaacgaattccccatccagataaactttgcctttttccacatgcatgactaaa
+ccatccagataatcaggtttaaatgtcgcgtcacgcttatctttagcaatatatgtcagg
+caatgattatgggtgaaaataacgatatttttatcaggcgctttgctttgtaagtcctta
+attgcactataaatctcattaccgcactgaagaagtcgtttatctaccgtcaatttttta
+cccgctgaaaaccaggtagccgactgaatggtccggacggtattactggaataaagatcg
+aaatcagggatatcagcactaaaagcgttgcccagttcacgggcatcctgggtaccttta
+accgtaatacctgttttatctgacaagcattgattggttgaacggtcgcaacgttcagca
+tgacgaaacaaaacgacaaccgggtgctgctgtgccagtctggccagtgttttattgtcg
+atacgtggcaaaccattgctactccaggcggcatgagtacccagtccggcaattgcagcg
+agcgccagtaaaatgatgatatatttttttgacttcaacgaagagcggcaaaaagctaac
+acgtaaactccacctatagacaagcgcaaccagacaattaccgtgaaattgagctacatt
+tctggcgataattcgcagttggtgtaatattaaaaatcctacgatgtcggcaaaatgcct
+caaaattttgccaaatgcaaagcctaaataagaaaaaatataaaaatttcaatatttacg
+tctaatattagtttcttaaggttaagttaatattctatccttaaaatttcgctccaaatg
+gcaaaatatacacaacactctttatagcaaatataagtggacaggtattcaatggcggaa
+ggaaaagcaatgtcagaatttttgcctttttcgcgaccagcaatgggcgtggaggaactc
+gctgcagttaaagaggttctcgaatccggttggatcacaaccggtccgaagaatcaggcg
+cttgagcaagctttttgccagttgacgggaaatcagcatgccatcgcggtcagttcagcc
+accgccggaatgcatatcacgctaatggcgttgaaaattggcaagggcgatgaagtgatt
+acgccttccctgacctgggtttcaaccctcaatatgatttccttgttgggtgcaacgccg
+gtaatggtggatgtcgaccgcgatacgctgatggtcacgcctgaagctatcgagtcagcc
+attacgccacgcactaaagccatcattccggtgcattatgccggtgcgccagcagatatt
+gacgccattcgcgccattggcgaacgttacggcatcgcagttatcgaagatgctgcccat
+gccgtcggtacgtattacaaagggcgacatattggcgcaaaaggtaccgctattttttca
+tttcatgccattaaaaatattacctgtgctgaaggtggcctgattgtaactgataatgaa
+aaccttgcccgccagctacggatgctgaaatttcacggtctgggtgtcgatgcctatgac
+agacaaacctggggccgtgcaccgcaggctgaagtcttaacaccgggctataagtacaat
+ctgaccgatattaacgccgcgattgccctgacacagttagtcaaattagagcacctcaac
+acccgtcggcgcgaaattgcccagcaatatcagcaagcactggcagctctcccctttcag
+ccattaagccttcccgcctggccgcacgttcacgcctggcatctgtttattattcgtgtc
+gatgaacaacgttgtggtatcagtcgcgatgcgttgatggaagcgttaaaagaaagaggc
+attggtaccgggttacatttccgcgccgctcacacacaaaaatattatcgcgagcgtttt
+cccacgctgtcgttaccgaataccgaatggaatagcgaacgcatctgttctttgccgctg
+ttcccggatatgactaccgccgatgccgaccatgtcatcacagcccttcagcaactcgca
+ggacaataagccatgtttgaaatccaccctgttaagaaagtctcggtggttattcccgtt
+tataacgagcaggaaagcttaccggaattaatcaggcgcaccaccacagcctgtgaatcg
+ttggggaaagagtatgagatcctgctgattgatgacggcagtagcgataattccgcgcat
+atgctggtcgaagcctcacaagcggagaacagccatattgtgtctattttgcttaaccgc
+aattacgggcaacattcagcgattatggcgggattcagtcacgttactggcgacttaatt
+attacccttgatgccgatctccagaatccgccagaagaaatcccccgcctggtggcaaaa
+gccgatgaaggttacgacgtggtagggactgtacgccagaaccgccaggacagctggttt
+cgtaaaaccgcttcgaagatgattaaccggcttattcagcgcaccactggcaaagcgatg
+ggtgattacggttgtatgctgcgcgcctatcgccgtcatattgtcgatgcgatgttgcac
+tgccatgaacgcagcacctttatcccgattctggcgaatatcttcgcccgccgtgccatt
+gaaattccagtacatcatgccgagcgtgagtttggtgaatccaaatacagttttatgcgc
+ctgattaatttgatgtacgacctggtgacctgccttaccacaacgccgctacgtatgctg
+agtctgctcggcagcattattgcgattggaggttttagcattgcggtgctgctggtgatt
+ttacgcctgaccttcggaccacaatgggcggcagaaggcgtctttatgctatttgccgtg
+ctgtttacttttattggcgctcagtttatcggcatgggattactcggtgaatatatcggc
+aggatctacaccgatgtccgcgcccgcccccgctattttgttcagcaagttatccgtcca
+tccagcaaggaaaatgaataatgaaaaccgtcgtttttgcctaccacgatatgggatgcc
+tcggtattgaagccctgctggctgccggttacgaaattagcgccatttttacccatactg
+ataatcccggtgaaaaagccttttatggttcggtggctcgtctggcggcggaaagaggca
+ttccggtttatgcgccggataacgttaatcatccgctgtgggtggaacgcattgcccaac
+tgtcgccagatgtgattttctctttttattatcgccatcttatttacgacgaaattttgc
+agctcgctcccgcaggtgcatttaatctgcatggttcgctgttaccaaaatatcgtggtc
+gcgcgccgctgaactgggtgctggtcaacggtgaaacggaaactggcgttacattgcacc
+gaatggtgaaacgtgccgatgccggggccattgtggcgcaactgcgcattgccattgcgc
+cagacgatatcgctattacgctgcatcataaattgtgccatgccgcgcgccagctactgg
+aacagacattacccgccattaaacacggtaatattctggaaatcgcccagcgcgaaaacg
+aagccacctgttttggtcgcagaacgccggatgacagtttccttgaatggcataaaccgg
+catccgtactgcacaacatggtacgtgccgttgccgatccgtggccgggtgccttcagct
+atgttggcaatcagaaattcaccgtctggtcgtcgcgtgttcatcctcatgccagcaaag
+cacagccggggagcgtgatttctgttgcgccactgctgattgcctgtggcgatggcgcgc
+tggaaatcgtcaccggacaggcgggcgacggcattactatgcagggctcgcaattagcgc
+agacgctgggcctggtgcaaggttcacgcttgaatagccagcctgcctgcaccgcccgac
+gccgtacccgggtactcatcctcggggtgaatggctttattggcaaccatctgacagaac
+gcctgctgcgcgaagatcattatgaagtttacggtctggatattggcagcgatgcgataa
+gccgttttctgaatcatccgcattttcactttgttgaaggcgatatcagtattcattccg
+aatggattgagtatcatgtcaaaaaatgtgatgtcgtcttgccgctggtggcgatagcca
+cgccgattgaatatacccgcaacccgctgcgcgtatttgaactcgattttgaagagaatc
+tgcgcattatccgctactgcgtgaagtaccgtaagcgaatcatcttcccgtcaacttcag
+aagtttatgggatgtgtagcgataaatacttcgatgaggaccattctaatttaatcgtcg
+gcccggtgaataaaccacgctggatttattcggtatcaaaacaattacttgatcgggtga
+tctgggcctatggcgaaaaagagggtttacagttcaccctcttccgcccgtttaactgga
+tgggaccacgactggataaccttaatgcagcgcgaattggcagctcccgcgctattacgc
+aactcattctcaatctggtagaaggttcaccgattaagctgattgatggcggaaaacaaa
+aacgctgctttactgatattcgcgatggtatcgaggcgttataccgcattatcgaaaatg
+cgggaaatcgctgcgacggtgaaattatcaacattggcaatcctgagaacgaagcgagca
+ttgaggaactgggcgagatgctgctggcgagcttcgaaaaacatccgctgcgccatcatt
+tcccaccgtttgcgggctttcgcgttgtcgaaagtagcagctactacggcaaaggatatc
+aggacgtagagcatcgtaaaccgagcatccgcaatgcccaccgctgcctggactgggagc
+cgaaaattgatatgcaggaaaccatcgacgaaacgctggatttcttcctgcgcaccgttg
+atcttacggataaaccatcatgaccaaagtaggcttacgcattgatgtcgatacctttcg
+tggcacccgtgaaggcgtgccgcgtctgctggaaatcttgagtaagcataatattcaggc
+cagcatttttttcagcgtcggcccggacaatatgggccgccatctctggcgactggtgaa
+gccacagtttttgtggaagatgctgcgctcaaacgcggcatcgctttatggctgggatat
+tttactggcaggtacggcctggccaggtaaagagattggtcatgccaatgccgatatcat
+tcgtgaagcggctaaacatcacgaagtcggcctgcacgcctgggatcaccatgcctggca
+agcccgtagcggtaactgggatcggcaaacaatgatcgacgatattgcacgcggtcttcg
+cactctggaagagattatcggtcaaccggtaacctgttctgccgctgcgggctggcgtgc
+cgaccagaaggtgatcgaagcaaaagaagcgttccatttgcgctacaacagcgattgtcg
+tggggccatgccgttccgtccattgctcgaatcaggaaaccctggcactgcgcaaattcc
+ggtgaccttacccacctgggatgaagtgattggtcgggatgtgaaagcagaagattttaa
+cggttggttactcaaccgcatcctgcgagataaaggcacgccggtttataccattcatgc
+agaagttgaaggctgcgcttatcagcataattttgtggatctcctcaaacgcgcagctca
+ggaaggcgtgacattttgccctttaagcgaactgttatcagagacgttgccgctcggaca
+agttgttcgcggaaatattgccggacgtgaaggctggctgggttgccaacaaattgcggg
+tagtcgctgatgaaatcggtacgttaccttatcggcctcttcgcgtttattgcctgctat
+tacctgttaccgatcagcacgcgtctgctctggcaacccgatgaaacgcgttatgcggaa
+atcagtcgagaaatgctggcatccggcgactggattgtgccccatctgttagggctacgt
+tatttcgaaaaacccattgccggatactggattaacagcattgggcaatggctatttggc
+gcgaataactttggtgtgcgggcaggcgttatctttgcgaccctgttaactgccgcgctg
+gtgacctggtttactctgcgcttatggcgcgataaacgtctggctctactcgccacagta
+atttatctctcattgtttattgtctatgccatcggcacttatgccgtgctcgatccgttt
+attgcattctggctggtggcgggaatgtgcagcttctggctggcaatgcaggcacagacg
+tggaaaggcaaaagcgcaggatttttactgctgggaatcacctgcggcatgggggtgatg
+accaaaggttttctcgcccttgccgtgccggtattaagcgtgctgccatgggtagcgacg
+caaaaacgctggaaagatctctttatttacggctggctggcggttatcagttgcgtactg
+acggttctcccttggggactggcgatagcgcagcgggagcctaacttctggcactatttt
+ttctgggttgagcatattcaacgctttgcactggatgatgcccaacatagagctccgttc
+tggtactacgtgccggtcatcattgccggtagcctgccgtggctgggattactccccggt
+gcactgtacacaggctggaaaaaccgcaagcattccgcaaccgtctatttgttgagctgg
+acgataatgccgctgctgtttttctccgtcgctaaaggtaaattgcccacctatattctt
+tcctgctttgcatctctggcaatgctgatggcgcattacgctttgctggcagcaaaaaat
+aatcctctggcgctgcggattaatggctggattaacatcgcttttggcgtcactggcatt
+attgccacatttgtggtctccccgtggggaccaatgaacacgccggtgtggcaaaccttc
+gagagctataaagtcttttgtgcctggtcgattttttcgctatgggcatttttcggctgg
+tacaccttaacaaacgtcgaaaagacctggccttttgccgcgctttgcccgctggggctg
+gcgttgctggtaggattttcaattcctgacagagttatggaaggaaaacatccgcaattt
+tttgtcgagatgacacaagaatcacttcagccaagccgctatattcttactgatagcgtc
+ggtgttgccgcaggtctggcatggagcctgcaacgcgatgacatcatcatgtatcgccag
+acaggtgagttgaaatacggccttaattatccggatgcgaaagggagatttgtcagcggt
+gatgagttcgcaaactggcttaatcaacatcgtcaggaggggattattactctcgtgctt
+tcggttgaccgcgatgaagatatcaacagtctcgccattccgcccgcagatgccatcgat
+cgtcaggagcgtctggtgctgattcagtatcgtcccaaatgatctggctaacattagtct
+ttgccagcttgcttagcgttgccgggcagttgtgtcagaaacaggcaacctgctttgtgg
+cgataaacaaacggcgcaaacatatcgtgctgtggctgggactggcgctggcttgtcttg
+gtcttgccatggtgctctggctgctggtcttgcagaacgtaccggtaggcattgcttacc
+cgatgttaagtctgaattttgtctgggtgacgctggctgcagtaaaactgtggcacgaac
+cggtatcgccgcgtcactggtgtggggtggcgttcattattggcggcattgtgatcctcg
+ggagtacggtgtaatgggcctgatgtggggattattcagcgtcattattgcctcagttgc
+gcaattaagcctgggttttgcggcgagtcatctgccgccgatgacgcacttatgggattt
+tatcgcggctctgttagcttttggcctggatgcccggatactgttactcgggctgctggg
+ttatctgctttccgttttttgttggtataaaacgcttcataaacttgcgctaagcaaagc
+ctatgccttgctcagtatgagttatgtgctggtatggattgcttcaatggtacttcccgg
+ctgggaagggactttttcgctgaaagcactactgggagtagcctgtattatgagcgggtt
+gatgctgattttcctgcccacgacaaaacaacgttactgagttttccctgccactttaca
+ctgccgttcccactcatcggggctataactgcttgccgagaggactttcaccgtatgcag
+cttttcacgattaatacaataaagcgcattctgcaaaggcgagagtaaatcccccacttt
+cacggcgaagtcactcttcacttcggcgatcatttttatcgcgccgccagcatcgcagag
+cataagtacatgtctgttatcttgtttattgcagcacgattttttgaccagccattccat
+tgcattatcctgtttgctaagagttttcacatcaatttacagattaacagataaactctt
+tatcaacggcaatggaatggcagaaatgagaagtgaaacggagggttaattattgctgac
+gttgcacccactcttttagcgcctgacgtgaaattttaataccgccgtttttcagctccg
+gcggcagagttagccagcgcaccggttgttgaaaacgggccagcttatctttcacccatt
+cactaagatcaacgctctcgtggtcatactccatcaccgccaccggtcgatgaccaaact
+ccttgtcggcaacggggacgataaacacctgcaaaaccgcaggatgtgcagcaattacgc
+gctcgacttcttccggctgaataccctctccgccactgaagaatagattgtctaaacgtc
+cgacaatggtcagcttgccattatgcatctcaccgcgatcgcgcgtagcgtaccagcctt
+cgtcattaaccagtgaaaccagttgcccgttacgccagtaaccttctgccatactggcag
+cccgcagccacacttcattattaacgattttcacttcccgacccggcagcggcgaaccaa
+cgtctgccaggccgtcggcttctttcgcacacaccgtggaggcaaactcggtcagaccat
+agccgcaaaagcaacgaatcccctgctcgcgcgcctgttccgtcaactcgaccgggatag
+ccgcgccgccaagtaacaccgctttcagggaaacggaactacggttaaccagcaaacgcc
+agagttgtgttggcaccagtgaagcgtgagtacagcctgccagcatttgctccaatggct
+gtttatcacgtaccgtcatccgcgcaccagcgtataaccagcgccacataattccctgac
+cggagacgtgaaacagcggtaaagagagcaaccaatcatcgtgatcgccaaacggaatca
+gcgataacacaccttgcgcactggcaagatgggcctgataagtatggacagcggctttcg
+gcaaaccggtagaacccgaggtcaacgtcattgagcacagacgcgtcggctgccacgtag
+cggcatgtgcgccttcaaccagctgaatgtgcagcgacgttaatgccggaaacgtgtttt
+ccccatccggcaccagagcaaattgcagcgtcagattgggcagcaattcttcaagcaacg
+gttgcggcagctgagggttcacgggcaacacccgcgccccgcattgcagtaacgccagcc
+aggcgagcagcgtttgcggcgtattccacgcccgcaacatcacgccgctgccctcaacca
+ccccctgcaccgcaaatccggaggctaattcatcgacgcgagcacaaagctcgcgccagt
+tgagttgctcgtcattaagacgtaaggcgatggtttctccccgcacttgccgccagtgac
+gccacggccagtcagagaagatcataacaaccgctccagtgcatcaacttccacgacagg
+cagcgtgctacccggccagcgacgtacctgctgcgcctgcatcagatccagcgtgtccag
+ccctggaatggtgtccggcgttaaccaggcggcaatccgcgccagttgcgttaagcctaa
+gctcgattcaatggaagaactgatcaccgccgtcagccccagcgcgtgcgccgcctgtac
+ctgctcgcgtactttttccagactgcccgtgagcgtgggtttgataactaccgcgcgcac
+gccctcttcagccacaaaggcaaaatccggctcgcgcaggctttcatcccaggcaatggc
+aatgccggtttcacgggcaaacgctcgcgaatcatcgcgggttttgcacggctcttcgag
+aaacgcgatgcggtcgcgataatccgggttaacgtatttggcaaactgctgacctttcag
+cggtgtccaggcgcgatttgcgtcaagacgcaaatgcagatccggaattgcctccagcaa
+cagattcaccaccatgccgtcgcgcaccgcttcgtacaatcccactttgaccttcgccac
+tttctcgcctggcatatctgcaagtttgaggatcagatcgtccggatcgccattacacag
+cggtgccgcacggtagttggctgcttgcggcaacgtatctgtcagttctgccaatgcaca
+gcttacgccaaaggccacggaaggcatctgcggtagctcgcaatcgcctgccagccagtt
+atttacccaggcaagcagcacactttgcgcctcttcccaggtttcctgactgaagcccgg
+cagtggggagatctccccccacccttcgcgctcgccttcacgcaggcaaacatacagccc
+gtcgcgggtttttaaccgcctgtcgcgcagaaccacccccgcgtccatggggatctgcca
+gcggtatacctgcgcgctacgcattacggattccgtttgaatttgctgaagtcaggctga
+cgtttctggttgaaggcgttgcgaccttcctgaccttcttccgtcatgtagaacagcatg
+gtggcgttgcccgccagctcctgcagccccgcctgcccgtcacagtcggcgttcagtgca
+gctttcaggcagcgcagcgccatcgggctgttttgcagcatttcgcggcaccaacggacg
+gtttctttttccagatccgccagcggtaccacggtgttcacaaggcccatatccagcgcc
+tgttttgcgtcgtactgacggcacaggaaccagatttcacgcgcttttttctgcccgacg
+atgcgagccatgtaggaagcgccccagccgccgtcgaaggaaccgactttcgggccagtc
+tgaccgaagatggcattatctgccgcgatagtcaggtcgcacatcatgtgcagaacgtga
+ccgccgccgatggagtagccagccaccatcgcgacaaccggtttcggacaggtacggatc
+tgacgctggaagtccagcacattcaggtgatgtacgccggaatcatctttatagccgccg
+taatcaccacgcactttctggtcaccaccggagcagaacgctttatcgcctgcaccagtc
+agaatgatcacgccgatgttgtcgtcataacgcgcatctgccagcgcctggatcatctct
+tttaccgtcagaggacggaaggcattgcgcacctgcggacgattaatggtgatttttgcg
+ataccgtcggtggatttttcataacgaatgtcctcgaaaccttcggagcagtcgtgccat
+tcaaccggtgcgtaaagcattgcttcatcaggataaatcatattgtgtcctttagtcaga
+aacgcaagatctgcgccagacttgcgattacgccagcgggattttcccgatgcgcgttat
+gtccggcgcgaggaatgacatggcagtcggcagccagttccgccgccagggcgcggaatt
+tgctgtcacgttcaccacataaataataaaacgcaaatgtgcgggcgctaaggttagcac
+gtaaatcaggctggacggcgagagaagtcgcctccagcatggcggcaagcgttgcgccat
+tattgttgctgcgcagcgccaccagctcccggcgttgatcgtcattgagtgaggcaaaaa
+caggctgttgataccagtcggcaaataccgccgttaacggttctgtgagaaaacgctgca
+cccattggcgatcggaacgctgacgttccgcacgttgttcagcattttgcagccccggat
+gcccgccttcgacaataaccccacaaagccccgccagcccctggcaagccgccatcatcg
+ccacccgtccaccaagcgagtaccccaccagccagaagtcaaggatgttgtaactaacca
+aggttttacgcagtaagtcggtgacatcatcaaatccatcgacgctaatcgccgccgaac
+caccgtgacctgggagatcaacatacaaccgtgagtagtcggcaaacgcctcgcccactt
+cttgccattcgtggcaatcgccggaaaaaccgtgcaaaaacaccagccagggtaaacctg
+gttttccgtgttttgcctgcgcgtgcaggatcataaatggcttacctgcgccagaagttg
+ctggagcgtttgcgcaccatcggtgtcgttaaccaccatttcaatcaccgtggtggttgg
+cgtgcgccaggcgtcggcaaatgccgtttcaagttcctgccagttttgcggacgatgata
+tttcagctcgaacatcgcggcggcgtgctcaaaatggacgttttgcggcatcagatagaa
+acgctcacgctcgctttgcggcgttggcaacagcgagaaaatttgcccgccgttgttgtt
+caccacaattaataccagcggcgcagaaacctgacgcaataacgccagcgcgttgagatc
+gtaaagtgcggagagatcgcccacaatcgccagcgtcggtttgccgcttgcccgctgaac
+gccggcggcggtcgaaagcagcccgtcgataccgctggccccacggttgctgtacaccgg
+gtaacctgccggaagttgcgaaagcgcatcaatcagacgtaccaccaggctgttaccaac
+aaacaattgcccctgttcaggcagatagtcgcagatgcgatgcgccagttgcgcttcgcc
+aaacgcatcacggcgggcaataaccgcctgcattgcctgttccgccaggcgcgggatttc
+aacgcaccagggctggcgtttttctgccggatgcagctccagccagtcggcaatattggc
+aattaagcgacgtccgcgatggtgtgccggatcaagtcgcccttcaatgtcatcaacaat
+ccagtactcttctggttcacagcttgcctgccattgcaggagccgtttccccgtcaggct
+gcttcccagttgcaccacaatttgcgcctgctgcagctcgctggtcgctttggcattgcc
+taaccaaagatcggcacacggcagcggctgcccggtttgtgacagcacatcgccaatcag
+cggccagccaagagtttgcgcccacagggcaacttttttgccctcttccgcactcatgcg
+cccggcaaccaccacgccgcgcttttgtcgccagaagaaccagtcgcgctgtttttcact
+ttccagacgaggcgcttcacgcagccacggtttgtcgtcctgccaccagtcacccagacg
+ctgttgccagctaagcccggtatcgtccatttcgccatacagcggttcagcaaacgggca
+gttgatatggactccccccgcatgaagcgtaccgagagcgtggtcgatggtagaaaccag
+ccaacgtgcggggatatcctgggtcgggcgcggcaatgaaatactgtgcgtggggtgaga
+ggcgaacattcccggctggcgaattgcctgattcgcgccgcagtcaattagctccggcgg
+gcgatcggcggttaagagaatcagtttttctccggttaacccggcttcaatcagtgccgg
+atagagatttgccaccgccgtgccggaggtcacaatcaccgccaccggctgcttgctgac
+tttcgccagccccagcgccagatgccccaacccacgctcatcgaaatgggtgtggtgaat
+gaatgcggaattctccgccgccgctaacgttaacggtgtagaacgcgagcctggggcgat
+acagatgtgtctgacgccgtgacgcgttaatgcttccagaatgaccgccgcccagcgtcg
+gttaaatgcgcttactgacatgagtttgtccggtatcaatattgcggctaagtataagga
+gctacaaaaatagattattgatatgaatcggtaatgatgcgactcattactattccattt
+gtaataaagtacgcagccctgccgctttgttgtcgatttcctgccactcttgctcggggt
+cggaaccacggacaatgcccgcgccagcatataatcgcacgacattgccgctaatttttg
+ctgagcgcagggaaacgcagaattcgctttgttgtaatgagagatagcccgcagaaccgg
+cgtaccattctcgggtgaacggttcgtgacgggcgataaactgtcgcgccagatcgcgcg
+gtaagccagcaactgctgccgttggctgcaactgatgtaaacagatcacatcatccgctt
+tgttgagtgaagtccagatacagcggcgaagatgctgcactttacgcagacgcagtacct
+gcggcggtaaaacatccagcgtctgggtatcggcctgtaatcgttgacagatatcttcca
+ccaccagcatgttctcgcgctggtttttatcatccgccatcagccactctcctaactgct
+gcgcctgcttatcatcaggattatttgctactgttcccgccagcgcttcagtacgcagcg
+ctttgtcacgccgccgccataaccgttccggtgaagagccaagaaaagcattttcgccat
+caaaggccatgtaaaaatggtagcaattcagattcagtcgacgactggcagccatcatcg
+ccgccgcgttgaccggacttgcgaaatgcaggtcagttgcccgagcgagcaccactttgt
+cgagctcaccttcggcgatggttttcgttgccagttcgattaattgcgtccagcccgttt
+tgtccggccagtgttgttctcgcgtggtggttaaatgtaacccaggcaagggcttgatac
+tcaccagtgtggcgataaattcttttgcctgaatcgcatcgtgctgaagggagctttcgc
+tgaatagcgtcagccgcagcgtggctttaccgccacagcgtcgccattccaggcggggta
+aaagtaaattgccctgcgacgggtcaaaagcattcagcccccaaatgcgtaagtcggcgt
+gttccgggtgctggcgaagaaaacgttgtgcctggtccaacgacgtaaaacgggtaatcg
+cgcccaggacgacagcttcttcatcaccattacgttgttgccagtagaattgcgggtatg
+tttgctgactggccagccagctcaaggcatcaaaagcgtctttgagagggaaaggaatat
+cgataacccgaatgccgggtgtcgccggaatctcttgcgacaaatggcgcagtagatttt
+ccagcgccgtagtaagtgattgcacgcggacctctccctgttaaaagcctcacattatac
+ggggtactacaaaaaaaatgcagtaccccggtgtagggaggttttaacggcgtgccagca
+acagtcctagtaccagcccaacggccgcgcccacaccaattccttgccagggtttttcgt
+ggacgtagtcatcagcacgataaactgcctgcttcgcccgatagtaataactgtctgaag
+cctggctaacccgttttttcacatcatccagcgctttttctgcacgcgctttcagctcaa
+catatttctgatcggcgggatcgccagaggagcggagcacctcttccagtgtttcactaa
+gcagcgtcaggtcgtcatcgatacgtgtatcaccaaactgattagacattctcgttctcc
+atttgcgtaaaacctgtcactaactatagacaagggttgttgattacgcctgaattacct
+cgcgtgccatcccaatgtgtgggataccatcttcttcatagacctccgtcacagggataa
+aaccgaaactctggtagaagttttgcagatgcgcctgcgccccgaggtaaacaggcttat
+caggccagtgatgcgtacatgtttcgagtgttttactcatcagctgctgccccacttttt
+cgccacgcaacgcttcactgacaatcacccgacctataacgaccggctcaagatcatcat
+cacttttcagaatcctcgcatacgccaccagttcatcatttttccaaccgagaatatggc
+gattatcccccgtcaaatcatcaccatcgatatcctgataagggcaattctgctcgacaa
+caaacaccgcgcaacgcagttgtaataaggcataaagctgggaaaccgataattcagagt
+gatgcagatcttgccattcaatcataatgctctccttttagatgtatgccttatactagc
+cggaatattttttgaaacgtgatgaactcatggaattaatttttttaggtacttcagccg
+gtgtgccaacccgcacgcgcaatgtcacggcaatattgcttaacctgcaacatccgaccc
+agagcggactttggttgtttgactgcggtgaaggcacccagcatcagctactgcataccg
+cctttaaccctggaaaactggacaagatttttatcagtcaccttcatggcgatcatcttt
+ttggtttacccggcttgctgtgcagtcgttctatgtcaggcattatccaacccttaacga
+tttatggtccgcaaggtatccgtgaatttgtggaaaccgcgctgcggattagcggctcat
+ggaccgattatccgctggaaattgtcgaaattggcgctggcgaaattctcgatgatggcc
+tgcgcaaagtaaccgcttatccgctggaacacccactggaatgttatggctatcgtattg
+aagaacatgataaaccgggtgcattaaatgcccaggcattaaaagctgctggcgtgccgc
+ctggcccactgtttcaggaattaaaagcgggcaaaacaatcacgctggaagatggaaggc
+agattaacggcgcagattacttagctgctccagtgccaggtaaagcgctcgctattttcg
+gcgataccggcccctgcgatgccgcacttgacctggctaaaggtgtcgatgtcatggtgc
+acgaagcgacgctggatataaccatggaagccaaagccaatagtcgcggccatagctcta
+cacgccaggctgcgacactagcccgtgaggctggagtcggcaagctaatcattacccacg
+tcagctcgcgctatgatgacaaaggttgtcagcacctgttacgtgaatgcaggtcaattt
+tcccggcgactgaactggcgaatgatttcaccgtgtttaacgtttaactctgcttattat
+taaaaacagggcgaaacttgccctgttatcgcaacccgcgctacatatatccacccacac
+aggcatattgagcgatttttgatatttattcatctccttacgcactatattcagagcaat
+aagttgcctcttttcatcttgattcagcacaacctttgcaactaaaaggagcccatgatg
+gttacagttgtcagcaattattgtcaattatctcaaacgcaactcagtcagacatttgca
+gaaaaatttactgtgaccgaggaattactgcagtctttaaaaaaaacagcgttatccgga
+gatgaagaaagcattgagttactgcataatattgcgttaggttatgataaatttgggaaa
+gaagctgaagatattctttaccatattgttagaaccccaacaaatgagaccctatcgatt
+atccgacttatcaaaaatgcttgtttaaaattatataatctggcacatatcgcaaccaac
+tcccccctcaaatcacatgattcagatgatctcctgttcaaaaaactattctccccttcg
+aaattaatgacaattatcggtgatgaaattcctcttatatctgaaaaacagtcgctttca
+aaggtgcttttaaatgatgagaataatgaactgagtgatggtacaaacttctgggataaa
+aatcgtcaattaaccacagatgaaatagcttgctatcttcagaagatcgccgctaatgca
+aaaaatactcaagtcaattatcctactggtctctacgtcccctactccaccagaactcac
+ctggaagacgctctcaatgaaaatattaagagcgatccatcatggccgaatgaagtccag
+ttattccccataaatactggcggacactggatattagtttcgctacagaaaatagtaaat
+aaaaaaaataataaactacaaataaaatgcgtcatattcaactcattgcgtgcactaggc
+tatgataaagaaaattcacttaagcgtgtcattaatagttttaattctgaactcatggga
+gaaatgtcgaataataatataaaagttcatttaaatgaaccagagataatatttttacat
+gccgatcttcagcaatacttaagccaaagttgcggtgcatttgtgtgcatggcagcccag
+gaagtgattgaacaaagggaaagcaattctgacagcgccccctatacgttattaaaaaac
+catgctgacagatttaaaaaatattcagcagaagagcagtacgaaattgattttcaacat
+cgactggcaaacagaaattgttatttagataaatatggcgatgcaaatatcaatcattat
+tatagaaacttagaaataaaacactcacaacccaaaaatagagcatccggcaaaagagtg
+agttaacatcattgttaattaattcgaccagtcagcaaatatgctgactggtcgaacata
+gtttgctaaacagtcatcactgactgatgtcagtcacaccatccgccagttcaatcaggc
+gaataaattccgccctgtaaccctgtggatcttccccttttgcctgctgagcccactgtt
+tgatctgctgccaggaggtattgttcaggtattcagaaccgcgtaacttttgcccatatg
+cagctactgctgcgcgaaaacgcatatcttcagagggcgcgtttattgttggccccagcg
+ggaattcaactaactgactttcttttccctgcgggtatttccagcgaatttttaaccagg
+ccagttctttcgttttgtccgatttcgctaatttgttatccggggcatagcgtaacttat
+caattgatgctttttgcccgttcagcgttaattcgaataacaacgttatatgtttgcctg
+cgcctatatcccctgcatcaacgttgtcgttattaaaatgttccacccgaagttggcgct
+tttcataaccaatctgacggtattccgttacccacgcggggttaaactcaatttgcgctt
+tgacatcttttgctacggtaatcaacatctgccgcatttcactattcaatactttctgcg
+cttcagagagggtatcaatgtagctgtagttgccgttaccaacatcggcaattcgcacca
+tcattgcctcgttgtaattgctattccccacgccaaacgtcgacagagtaacaccagact
+cccgctgttttttgaccattgattcaatcgattttggatcgtcaatgccaacgttaaagt
+caccgtcagtggctaataaaatgcgattgatgccgcccttaataaaccccttcgtcgcct
+gctgataagccagttccagcccggcaccgccattggtactgccttcggcatccagcgaat
+caattgcggcattaatttccgccttatgactcccggagatagaaggcaatgcaatacggg
+agtcgccagcgtaggtcacgatggcaatgttatcctgctcacgaagttctttgaccaata
+atttcaacgaagactggataagtggcaaacgttcatcagaaatcattgaaccagaagtgt
+cgataagaaagaccagattagaagctggtaactcttcacttttgcgatctttcgccagga
+tatcaactttcagcaatgttcgctgttcattccatggtgcaggtgccaattcgtagcgca
+tagcgaaaggtattggcttagaggccggaatagattgtttgtctttgatatcccaatcag
+acgggaaataattgactatctcctccacccgcacagcgtctggcggaggtaacagccctt
+gattgaggaaacgccttacattcgcataactgccagtgtcaacgtcaagactaaacgtcg
+ccaacggattttgcgctacctgcttaaccggattatcatcgaactgctggtagcgagcgg
+ttcctggatttgcgatatgtgtagcttttgctttagccgctcttgcaaatgttggcgctt
+cctgcaatcgcccctgtaaagcctgtttgtctgaatattgttgcacttcttgctgggcca
+aggctttcgcggcggcggcgctttgctcagcctcttttattgcagcttgctgcgcggcaa
+gcacttgctgctctgtgggagtactgggttgttgttgctgactttccttattctcaggtt
+gcggcccacatcctgacaaaatcaaactactcataagcaacatgattatatttttatttc
+gcatataaaatccttttaaataaactcaggcaccagacataaaatatactctttgtataa
+tcctgctaatcttaataaaatacaatatcgaaacccatagcaaataatgattcaacaacg
+caacccattaataatttgcatatgaaaaaaataatctttgcttttattatattatttgtg
+tttttactccctatgattattttttaccaaccctgggtcaatgcattaccgtcaacgccc
+cgacacgcaagtcctgagcaattagaaaaaacagttcgttatcttacacaaactgtgcat
+ccacgtagtgccgacaatattgataatctgaataggtccgcagaatatataaaagaggtc
+tttgtcagtagcggtgccagagttacctcgcaggacgtccccattacgggtggcccctac
+aaaaacattgttgctgattatggtcctgccgatggaccgctgattattattggtgcgcat
+tatgactctgccagcagttatgaaaacgatcaattgacctatacgccgggcgcggatgat
+aacgccagcggtgtggcaggattactcgaactggcacgtttgttacatcagcaagtaccg
+aaaacaggcgtgcagctggtcgcctatgcgtcggaagaaccgcccttctttcgtagcgat
+gaaatggggagcgcggtgcatgcagcttcgcttgagcgtccagtgaaattaatgatagca
+ctggagatgattggctattacgactctgcgcctggaagccagaattacccttacccggca
+atgtcctggctttatcccgatcggggagactttattgccgtggtcggcagaatacaggat
+atcaacgccgttcgtcaggtaaaagcggcattgttgtcatctcaggatttatctgtttat
+tctatgaataccccagggtttattcccggtattgatttctctgaccacctgaattattgg
+caacacgatattcccgccataatgattactgacaccgctttttatcgtaataaacaatac
+cacttgcccggtgataccgcagacagattgaattatcagaaaatggctcaggtagtggat
+ggtgttataactttgttatacaacagtaaataataaaaatttctcgaggcgggtccagaa
+aaagcgacatgcacattttattttccctcatctgttttaagatgcgaaacatgaaattca
+acggaggaaaaataaatgggaatgattggctattttgcagaaattgactcagaaaagatt
+aaccaactgcttgagtctactgaaaaacctttgatggataatatacatgacacgctttca
+ggattacgccgactggatattgataaacgctgggattttttacactttgggctgacaggc
+acctctgcttttgatcccgcgaagaatgatccgctgagtcgtgccgtgcttggtgaacac
+agcctcgaagatggcatagatggcttccttggattgacctggaatcaggagttagccgcg
+acaatcgaccgactggaatcactggatcgaaatgaactgcgtaaacagttttccattaag
+cgactcaatgaaatggagatttatccgggagtgaccttttcagaagagttagaggggcaa
+ctctttgcctcgatcatgcttgatatggaaaagctgattagcgcgtatcgacgtatgctg
+cgacaagggaatcatgcgctgacggttattgttgggtgatatagcttgatgcctggggga
+gaaagacccattagttaagatttacgccaggatcatcttgaaaaaatctttaaccatggt
+ccggtttttatccccttgtataaatattactaaatgcttgcttagtcgcattgttaaatg
+caataccgtatattcggtatgtaacagcgatatcctctgtgctggcaacgatctgtcatg
+cttgatgaaaacggaattgaacctgtcattaccaggtagataaaaagcctgttcaatttt
+gggattattttttataactcgtgtctgttatggcgacacgggaaaacatcaatattgtcc
+ttcacaaattgcagtaatatagaatcaacctctcttgcaagttggtcacaatgtattata
+agcattttgaatatgtcatcctctgtaatctcgtgaaaattttcggccttgtcttttagc
+tcatcatatcggattcttgcagtaaccattttttgggcgagttctaataaccccaaagct
+tgcaattgctggtgagtatgatcactttcaaaaaatatcccacactccattccttcccaa
+ccaacatattcatgccattcataaaccagcataaatgtttgtaaaactggcggtaataat
+tggatatctgcaaaaccaaaccaaaacttacgcttgagatcccactcatattcaatcgcc
+aatgctatattgtttaaggcatctccggcatccttatttttacgcaaaatcaattccgtc
+agtgtatagcgttgttcatcaatacgccgaagagcttctgcaatatcatagtttgtagcc
+aacaaaacattctctgcttcctgatgagtgacgtctgcttttgccgtcaatatattgatt
+tggtcaatatgaaacaacttgatggcttcatcaacatcaccgccagtcctctctaacaaa
+cgtctggcaacctggataccgacaggtacgttcttccgaagtttacgaatttcacttaac
+cattccatgtcaaacccctttaaatatttatgatattaaatataacaacgtctggataac
+gacccggcctgactgaatatctcacgttttcctgcttaacattcatgttatgatgctctt
+gaaactaataatacgtatggaattgtcactatttatctgctaatgaattcaaacaatgtc
+attcgtttgatgaatatattatttcagggaataattatgacacctttagaacgcattacc
+caacttgttaatatcaatggtgatgttaataatcctgatactcctcgtccattgttatct
+cttgaggatttttttattgacaataatatccatggttcaatatgttgcaatgtgattcca
+gaacaatctccgcaagctatctatcaccattttctgaaaatacgtgagcgtaacaatgtt
+agtgatgttttggtagaaattacgatgttcgatgacccagactggccctttagtgaaagt
+attttagttatcaccactgcttcaccagaagaagttcagagctggtttgtagaagaaatt
+gcccctgatgagtgctgggaaggatggtcagaagatacggagcatggatgggttgaagtc
+cctgtgggtatgcatccggttacttgttggtgggattaaaacatttatataaacagataa
+gcggatgtttacataaatttttatgtgaaggaacatgatgaaacttattcctcgcagtag
+tgatatttcacctggcattgatggaatttgcccggggccttttcctccgaacggatttac
+cgtacttacagatgcagcatatggtaacggagactgtttcggtttgtactggcctattgg
+tcaggagcataaactacctatagtgtgcgaaacgtaccatgacgaatggcgaatcgtacc
+tgccttttccagcattaagaagttcgaagaatggctggaagtgaatgatgatgatcccca
+tgaaaatggcatcagcatcgaagatcaagactttgcagcaaatctcttccgtgttgctcg
+gaaatgtctttcaacgggaaggcttgatgacgcactgccactgttacagcgagcaacaga
+acaattgcctgaagtcagcgaatattggttagcactggcaatccagtatcgccgatgtaa
+aaaaacagaagctgcagcacaggctgcgcttaatgcttatcttggcaattgggcatttgg
+tgttcctgacaataaagtcattcatttgctgtcacaggccgcagatgtcccgaatttcca
+ggatgatcctgtgattcagtgcattaaagaacaaggattagatcttagctttggaggaac
+aaaggaaaataataattaccccttgatgcagatgtgtgttgatacttattttgcgcagag
+aaaaccgcttcaggcattaaccctgttacataattatgcctggataatgtccagtgaaac
+gactgcatttcaggaacgctatgattttaatatcgatgaatggcgggcaaaattcaggca
+gttatgtttagagtattttggcgatagtcgtacacagttcacttaacgctctgcgtctat
+ctactatcccttctttttcagaaaaaccgccgagcatgtcggcggctttctgacttacaa
+agtaacagattacatcagcggcattgccaaacgcacaatgctaatcagcggttgtggcca
+tacacccagcaccagtaccaacagtgcagagatcagcacaacgataccgcccgcgctgta
+ctgccagtttgatggtgcatcgcgacccggttgttccggggcgtgaagatacaggctcac
+cgccacgcgcaggtagtagtagaggccgattgccgaaccgacaaccacggcacccaccag
+ccaccacaagtgtgcctggacaccgaccgccagcacgtagaacttaccgataaagcccag
+cgtcatcgggataccggccagagacagcatcatcaccgtcatcactgccgcgaggatcgg
+acgatgccagaacagaccgcggtaagagaacagggaatcagcatccgggccacgatacgg
+gctggacatcaggctgaccacgccgaacgcgccgaggctgctgaacagataaccggccag
+gtaaacccctaccgcttccatcgacatctcgccggtttgcagcgcaatcagcgctaccag
+cagatagccgaggtgagagatagatgagtaaccgagcagacgtttgatattggtctggct
+cagcgccatcaggttaccgaagatgatggaggcaaaggcgataatcgccagcaccacgcg
+aatcgcttcgctgtcacccaccggtgcgtagaggaacagacgcatcaccacaccgaagat
+agcgattttgctcgccgtcgccaggaaagtggaaaccggcgcaggcgcgccctggtatac
+gtctggcgtccacaggtggaacggcaccagagagagtttgaagccgaggccaacaatcat
+caggccgaaacctgccagcaacagcggctcgttgagcataccgtcgccaaggtttttacc
+caacgcgacaaacgacaggtcgccagactgcgcatacaccagcgccataccaaacagcag
+gaaagaagacgctgcggcagaaaggatggtgtatttgatactggcttccagtgaacgttt
+ctggcggaaagcgtaaccgaccaggccaaacagcggcaaagagatcagttcgataccgag
+gaacagagacgccagatggttggcattcgccagcaggatcccgcccagcgcggcaattaa
+caccaacaggtagaactcatccttgttgtcgttatagccttcaagccacgggtaggcgaa
+agtacaggtggcgaggctcgccaacaataccagcccggtgtaaagcatggcgaaaccatc
+aacgcgcatcagcggcgtaacgtccatagcgcccgcctggccaacaaaccagagcgaaac
+cagcgccgcgttaagcccaataaccgagagcgtagcgttgaggaaatgattgcgtcgcca
+cgcaatggagagcatcacaaccaccaccgtcaagccgacgatcagcaacggtagcagtgc
+gatcaggttttgtggagttattgtcatggcgatttacggccttgtagtagtaacggaatt
+aacaaaccactgctggatattgccaatcgcggagtgcgaggtatccagaatcggctgcgg
+atagaagcccagcagtaccagcagcaccaccagcaacaggatcataaacagctcacgcag
+cgacatccctggcagttcctggctggcaatctggcttttcgctttaccgaagtaagcgcg
+atgtaacatcgccagcgaataaacagatgcaaagaccagcccaaaggtagagataacggt
+aatcaccggtacaacctggaagctgccgaacagaatcataaattcgccgacgaagttacc
+ggtgccaggcatcccaagcgttgccaccgcaaagaacagcgacagtgctggcagccattt
+catcttgctccacagaccgcccatcatgcgcatgtcgcgggtatggatacgttcataaag
+ctgaccacaaagaataaacagacccgccgccgacaaaccgtgcgcaatcatctggattac
+cgcgccctggtaggccaactggctgccggtgtagatagcaatcagcacgaagcccatgtg
+ggaaaccgaggtgtaggcgatcagacgtttgatatcggtctgggcgaaggccatccacgc
+accgtagaagatgccgataacacccagccacatagcaattggcgcgaactctgccgacgc
+gttcgggaacagcggcagggagaaacgcagcaaaccgtaagcggcagttttcagcaagat
+ccccgcgaggtcaacggaaccggcggtcggagcctgggagtgcgcatccggcagccagcc
+atgcagcggaaccaccggcattttgactgcgaaggcgatgaagaagcccagcattaacag
+gtattccacaccactggacattggcgtattcagcagctcttcatagttgaaggtccagac
+gccggtcgcattgtagtgaacaaaaaccagcgccaggatggcaatcaacatcaccaggcc
+actcgcctgggtgtaaatgaagaacttggttgccgccgtgatacgcgttttaccgtcaga
+ggctttatgcccccacagtgcgatcaggaagtacatcggcaccagcatcatttcccagaa
+gaagaagaacaggaacatgtcgatggcaaggaacacgccgataacgccgcccaggatcca
+catcaggttgaggtggaagaagccctgatatttttcgatctctttccacgaacatagtac
+cgccagcacaccgagcagaccggtcagcacgaccatcagcagcgacagcccgtcaatggc
+gagatgaatagagataccaaaacgcgggatccacggcatgtcgaattcagactgccactg
+cggaattccggcggattgcgtcagtgaataaccgccctgcaaccacagttgcagcgacag
+cgccagcgtcaatcccatggtgatcagcgcgatccagcgtggcaccttgacgccaaagcg
+ttcggtctgccagcacaggaagccgccaataaagggaattaatattagccagggtagtaa
+catggcgatctttattccttgtaaaagtcccgtcaggaccggattttcaacgaattctca
+cgacagaaaattctcttcggactgggggtagtgtcggatgcaccgcgaaggcggcttatc
+cgacctacgttcttatatgcccaggggcaatcccacaatccttaactcaacgcagtacca
+tcaacagtgccagcaccacgaccgcaccgatgctcatggatgccacataccagcgcagat
+agccgttctcacttaacagcagacctttacctgcaaagcgggaaaggacagccgggatgt
+tcatcattgagttcagcggatcgcgtttcagcaaccaggcaatacccaggaacggcttga
+cgaacactttgtcatacagccagtcaaatccccaggcgttgtaccaccaggtgcccagca
+gacggcccggcgcactgttggcgatggaggtcaccagagtacgtttacccagccacagcc
+aggctgccagcagaatgccgaccaccgcgaccacgccagaggtaatttccagggtcaaca
+tgctgccgtgcgccagttccgtcgtttgcggaagcacgccctgcagcggcggtacaatca
+gtgcgccaacgaaggtggaaaggatcagcagcacaatcagcggcaggctgtgagttaccc
+ctttcacggcgtgagcgtgaatttgttcttttccgtggaagacgatgaaaatcatacgga
+aggtgtagagcgaggtcataaacgcaccgaccagacctgccaccatcagattgatatgac
+cattcgccatcgcacccgcgaggatctcatccttactgaagaagcccgcagtgaccagcg
+gtagtgccgacagtgctgcgccgcccaccaggaagcagagataaaccagcggaatagatt
+tacgcagaccgcccatcttgaagatgttctgttcgtgatggcaggccagaatgacggaac
+cggatgccaggaacagcagcgctttaaagaacgcgtgggtcatcaagtggaaaatcgccg
+catcccatgcctgcacgccaagcgcgaggaacatgtagccaatctggctcatggtagagt
+aagcgagaacacgtttgatgtcggtctgtaccagcgcggcaaaaccggccagcagcagcg
+taaccgccccgacaatacccaccagatgcagaacttccggcgtcatcaggaacaggccgt
+gggtacgggcgatcaggtagacacccgcggttaccatggttgcggcgtggatcagcgcgg
+agacaggcgtcgggcccgccatcgcgtcggcaagccatgtctgcaacggcaactgcgcag
+atttaccgaccgcaccgcccagcagcatcagcgtcgcccacatcagcatgttattgccgt
+cagcaaagtgcgctggtgccagttccaccatttcgcggaagttcagggtgcccagttcgt
+tgtaaagaatgaacagtgcgaaagcgaggaacacgtcacccacacgggtcacgacgaacg
+ctttcattgccgctgcgccattcttcggatcggtgtaatagaacccgatcagcagatagg
+agcacaggcccacgccttcccagccgaggtacatcagcagcaggttgtcggcaagcacca
+gaaccaccatgctggcgatgaacaggttggtgtaagcgaagaagcgagagtagccctctt
+caccgcgcatataccaggaggcgtacatgtgaataaggaaacccacaccagtgaccaccg
+agagcatggtcagcgacaggccgtccagcaccaggttaaaaccgatgttaaagtcgccta
+ccgacatccacgtccacagcggctggctgtatgtctgctcgccgttagcgaagaaatcaa
+cgccgataaaggcggttaccagcgccgccaggcccacagagcctacgccgacgatcgccg
+agacgttttcagaccagcgcccacgggagaatgccagcaggacgaagccaatcaatggca
+aaataatggttaaggcaagcatgttcatccgcgcatctcacttactgaatcgatgttcag
+gttctggcgacgacggtgaagttgcagcagcagcgcaaggccgatactcgcttctgccgc
+cgcgaggctgatggcgagaatgtacatcacctgaccgtcggtctggccccagtagcttcc
+ggcgaccacgaaggccagcgcggaggcgttaatcatgatttccagaccaatcaacataaa
+cagcagattgcgacggataaccagaccggttaagccaagaacgaataagattgccgcgag
+gatcagtccatgttgtaaggggatcatgcgtgctcctccgtttttcttttcgcgctgtcg
+tctttacgattgctcagcacttcacccgcacgctcttcacgaccgacgtggaaggccaca
+accagacctgcgagcagcagcatagaagccagttccaccgccagtacgtaaggcccgaac
+agcgtaatacccactgctttagcactgattggcgtaccgtcgataccctgatcgttaaca
+ccgaggatggcgtaaacaatcaccaccagcatgatggccgacaaaattgccggaccaatc
+cacacctgcggtttcagccactggcgttcctgttcgatttctgaaccgcccaggttgagc
+atcatcaccacgaacacgaacagcaccataatggcacccgcgtagacgataatttccagc
+gcaccggcgaagtaagcgcccagtgagaagaacaccccggaaatcgccagcagcgaaata
+atcaggtacagcagtgcgtgtaccggattggtatgggtgatcactcgcaaggtcgcaagt
+atggctatcaggccacagatataaaaagcgaactccattgcccctctccttacggtaaca
+ggctcttgacgtcgataggcttggcttcgttctctgcttcgcccttatctttgccgtcga
+ttgccatacctgccatccggtagaagttatattccgggtatttgcccggaccggagatca
+gcagatcctctttctcgtaaaccagatcctggcgcttgtattcccccatttcgaaatccg
+gggttaactgaatcgccgtggtcggacaggcttcttcgcacagaccacagaaaatgcagc
+gtgagaagttgatgcggaaaaattccgggtaccagcgaccgtctttggtttctgcttttt
+gcagcgagatacagccgaccgggcaggctaccgcgcagaggttacaggctacgcaacgct
+cttcgccgtccgggtcgcgggtcagaacgatacgaccacgataacggggcggcagataga
+ccggctcttccgggtacattcgcgtttcgcgtttggcgaacgcgtgcaggccgatcatcc
+agatactacgaacctgggtgccgaaacctactaacaattcttttaaggtcatggtcttat
+tgccccttattgcgcctgccagagaatgacagccgccgttaccagcaagttgatcagcgt
+cagcggcaggcagattttccagccgaaggacattacctggtcataacgcggacgcggtaa
+cgacgcacgaatcaaaatgaacatcatcataaagaacgcggttttcagcgcgaaccagat
+gaatggcggtaacaacgggccttgccagccaccgaagaacagcgtcaccatcaatgcaga
+gatggtcacaatcccgatgtactcacccacgaagaacagaccgaacttcataccggaata
+ttcaatgtggtaaccatccgccagttcctgctcggcttccggctggtcaaacgggtgacg
+gtgacataccgccacgcccgcgatggcaaaggtaataaaaccaaagaattgcgggataac
+gttccacacatgcgcctggctgttgacgatgtcggtcatgttgaatgaaccggcctgcgc
+caccacgcccatcaaggaaagcccgaggaacacttcgtagctcagggtctgcgcagaagc
+acgcatcgcacccagcaacgagtatttgttgttacttgaccagcccgcaaacagcaccgc
+gtaaaccgccagacctgccatcatcaggaagaacaaaatcccgatgttcaggtcggcaac
+cacccaacccggactgactggcacaatcgcaaaggccagcagcagcgaggtaaaggcaat
+catcggtgccagggtaaagatgacgcgatccgagaatttcgggatccagtcttctttaaa
+gaacattttgatcatgtccgcaaccagctggagcgaaccgccccagccaacacggttagg
+tccgtaacggttctggaacagacccagcaggcgacgttcgccaaagctcatgaatgcccc
+gcaggtgacaaccaccagcaggatcaccaccgctttgaggatggtcagcaggatctcaat
+cagttccggtgatatccaactcattgttgtgcctccttgagatcctcaagatgcgcgcca
+gccagcaccggagcaatgccggacatacccatcggcaagcccacctgccctgccgtcagt
+ccttcggcgatttcaaccggcagcgtgaccgtgttgccatcgtaactaaaggagacgcgt
+gtacctgcgttcacacccaacttcgcggcatccgctgggttgagtttgatgtacggctgc
+ggcatacggctctggaagaccggagcacgctgtgacaattcatcgctgccaaacaggtgg
+taatacggcgcgatacgccatttcccgtcctgcggctggaagcgtgccggtacgctggtg
+aagtaatccagaccattttcgctggtttcaaacagacgcacgcccggatcgccaaagcgc
+agtttgccgcccacttcgtcctggaatttgttccacgcctgcggggagttccagcccggc
+gcccaggcaaacggcacttgcgaacggtgcgcagtcggctggttgttaccttccatcgag
+aaggtgaacatggtgtcaatatcctgcggctgacgcggctcatgaacgctgatattggcg
+cgcatggcggtacgaccgctgtaacggtgcggttcacgggccagtttctgcccacgaata
+cggaatgtcgcatccggcgcagcatctttgatacctgccagttccgggattttcgccaca
+acagcgtcaatcacatggtcgagctgcgtccagtccacttcacggctcagcagggtgctg
+tgcagcgagtgtaaccagcgccagctttccagcatgacagttttgctgtcgtaataagca
+ggatcgtaaacctggaagaaacgttgggcgcggccttcgttgttgatcaccgtaccgtcg
+ctttcagcaaagctggcagcagaaagtaccagatgggcgttttccataatcgctgtgcgt
+tgatgatcaaccaccatcaccagcggtgctttagccagcgcagcattcacgcggatagca
+gaagcgtgacgatgcagatcgttttccaacaccaccaccgcgtcggcgcgtccggtttcc
+agttcggttaacgcttcttcaagcgaaccgccacccataatgcccagccccatgctgttg
+acggaacgggcaatcatggtgataccgacgtcagcgccgcgacctttcagggctttcgcg
+acgttagccgccgcctgaatcacctctaagctaccggcgttcgtcccggagataatcaac
+ggtttcttcgcacctgccagtgcctgcacgatgacgtcgattttgctttgcagctcaggt
+tcgataccgtcaaccgctggtgcagagttatccagcgcatgggcgatggcaaaacctaaa
+cgcgcctgatcttcaaccggtgcgcggtaagtccacgccgcgatatcatccagacgggtg
+tcatcaacgttggtaacaaacagcggatgcttcgcacgttgaccgatgttgaggattgcc
+gcaatctgccagtcagccactttctgtgctgccgccatttcgcgcgctttacctttcaca
+gcctgacgcactgccagcgcgacgcgcgcgccggtctgggtaacgtcttcgcccagcacc
+agtaccgcatcgtaagattcgatttcgcgcagagccggagtataaatgccgccttcacgc
+agcactttcagcgccagttgcagacgttcctgctcaccgtgagcgataccggtgtagaag
+ttttcttcgcccaccagttcacgcagcgcaaagttgctttccacgctggcacgcggagaa
+ccaataccgatcactttcttcgactgacgcagaatatctgccgcgccctgcattgcctgt
+tcggcgttgagggtaatgaaatcatcgccacgacgctgtactggctgacgcggacgatcc
+ttcaggttgacgtaaccgtaaccgaaacgaccacggtcgcagaggaagtagtggtttacc
+gtaccgttgtaacggttttcgatacgacgcagttcgccgtaacgttcaccggggctgatg
+ttacagccgatggaacattgctggcagatgctcggcgcaaactgcatatcccatttacgg
+ttgtaacgctcggagtgcgttttgtcggtaaatacgccggtcgggcaaatttcgaccagg
+ttaccggaaaattcgctttccagcgtgccgtcttccgggcgaccgaagtagacgttgtcg
+tgcgcaccgtaaacgcccagatctgtaccgtcagcgtaatctttgtagtaacgcacacag
+cggtagcaggcgatgcagcggttcatttcgtgagagatgaatggccccaaatcctgatta
+cggtgggtacgtttggtgaaacggtagcgacggaagctgtgtccggtcatcacagtcata
+tcctgaagatggcagttaccgccctcttcacataccggacagtcgtgcgggtggttggtc
+atcaaccactcgaccacgctttcacggaactgtttcgcttcttcgtcgtcaatggaaata
+aaggtgccatcggaagccggtgtcatacaggacatcaccaggcgaccacgcgtgtcttcc
+gcgttttggtattgcttcaccgcacactggcggcaagcaccgacacttcccagcgccgga
+tgccagcaaaagtaaggaatatcaaggcccagagacagacaagcttccagcaggttgtcc
+gctccgttgacctcgtattctttgccgtctacatgaattgtagccattagcatgcttcca
+gttttctcagtcagagactgagcgttaatcgaaattcggttaccagcgctctttcagcag
+gttcggctgaatcccattaatcaaatgggtattgctgaacggctgtttgattcccgcctc
+aaattcttcgcggaaatatttgatggcgctctgtaacggctccactgcaccaggtgcgtg
+ggcacagaaagttttacccgggcctaagaatcgacacagttgctcaagtgtttcgatatc
+gcccggctgaccttcaccacgctccagcgcacgcagaattttcacgctccacggcagacc
+gtcgcggcacggcgtacaccagccgcaggactcacgggcgaaaaactcttccaggttacg
+caccagcgacaccatgttgatctcatggtcaaccgccatcgccagcgccgtacccagacg
+gctgcccgctttaccgatactttcgaattccatcggcagatcaaggtgcgcttcggtcag
+gaagtcagtccccgcgccgcctggctgccaggctttaaatttcagaccatcacgcatacc
+accggcgtaatcttcgaggatctcgcgtgcggtggtgccgaacggcagttcccacagtcc
+cggatttttcacccgaccggagaagcccatcagcttggtgccagcatctttacttttcga
+gatgttctgataccactccacgccgttagcgaggatcgccggaacgttacacagggtttc
+gacgttgttgacacaggtcggtttaccccatgcgccggaggttgccgggaagggtggctt
+cgagcgtgggttagcacgacgtccttccagggagttgattaacgctgtttcttccccgca
+gatgtagcgccctgccccggtatggacgaacagttcgaaatcgaaacctgttcccataat
+gtttttgccaagcagacccgcttcggtggcttcggcaatggcacggcgcagattaactgc
+cgcttcgatatattcgccacgcaggaagatgtagccacggtaagctttcagcgcaaacgc
+ggagatgagcataccttccaccagcaggtgcggcagttgctccatcaacaggcggtcttt
+ataggtgcccggctccatttcatcggcattacacagcaggtaacggatgttcatggattc
+gtctttcggcatcaggctccatttcaggccagtcgagaagcccgcgccgccgcgcccttt
+cagaccagcgtcttttacctgattaacgatttcgtccggagacagcccggtcagcgcctt
+acgcgcgccttcgtaaccgtttttgctgcggtattcgtccagccacactggctgtttgtc
+atcgcgcagacgccaggtcagcggatgcgtttcgggagtacggataatgtttttcattta
+taccgctccagcagttcagggatcgcttccggggtcagatgcgcgtgagtgtcctcatcg
+atcatcatgtttggccctttatcacagttccccaggcagcaagttggcagcagcgtaaag
+cggccatcaaatgtcgtttgccctggtttgatgttcagctttttctcgagcgccgcctga
+ataccctgataaccgttgatatgacagaccacgctgtcacaataacggatcacatggcga
+ccaaccggctggcggaagatctgactgtagaacgttgccacaccttcgacgtcgcttgcc
+ggaatacccagcacatcggcgatcgcgtggatcgcaccatccggcacccagccacgctgc
+ttctgaacgattttcagcgcttcaatggacgccgcacgcgggtcttcgtagtggtgcatc
+tcgtgctcgatcgcttcacgctctgccgcactcagctcaaaagcctcggtttgtggttgt
+tgattctcgtgcataattagcggtccacatctgacataacaaaatcgatactgcccagat
+aaacaatcaggtcagacaccaggctgccgcggatcgccgccggaatttgctgcaaatgcg
+caaagctcggggtacgaacacgggtgcggtaactcatggtgctgccgtcgctggtcaggt
+agtaactgttgatccctttggtcgcctcaatcatctggaaagattcattggcaggcatca
+ccggaccccacgacacttgcaggaagtgggtgatcagggtttcgatatgttgcagcgtgc
+gctctttcggcggcggcgtggtcagcgggtgatccgctttgaacgggccttccggcatgt
+tgttgaggcactgctcaagaatgcgcagactctggcgcagctcttccactttaagcatta
+cgcgggtgtagcagtcagaaacgccaccacccaccgggatttcaaagtcgaagttttcat
+agccagaataaggacgcgccttacgcacgtcgaagtcgatcccggtagcacgcaggcccg
+cgccagtggtgccccactccagcgcctctttcgcgccataggcggcaacgccctgggaac
+gacctttcagaatggtgttttgcagcgccgctttctcgtaagacgccagacgtttcggca
+tccagtcgaggaactcacgcagcaggcgatcccagccgcgcggcaggtcgtgcgctacgc
+cgccaatacggaaccacgccgggtgcatacggaaaccagtgattgcttccaccagatcgt
+aaattttctgacgatcggtaaaggcgaagaacactggcgtcattgcgccgacgtcctgaa
+taaaggtcgagatatacagcaggtgactgttgatgcggaacagttcggagagcataacgc
+gaatgacgttaacgcgatccggcacggtgatcccggccagtttctctaccgccagcacgt
+aaggcatttcgttaacgcagccgccgaggtattcgatacggtcagtatacggaatgtagc
+tgtgccaggactggcgttcgcccattttctccgcaccacggtggtggtaaccgatgtctg
+gtacgcagtcgacaatctcttcgccatcgagttgcaaaacgatacggaaagccccgtgcg
+ccgacgggtggttcggaccgaggttgaggaacatgaagtcctcgttttcggtgccgcgct
+tcatcccccactcttccggtttgaaggtcagggcttccatctccagatcctgtttggctt
+tggtcagctcaaacggcgagaattcggtagcgcgcgccggataatctttacgcagcgggt
+gacctttccaggtttgcggcatcatgatgcgtcgcaggttcgggtgaccgtcgaaagtaa
+tgccaaacagatcccaggtttcacgctcataccagttagcgttcgggaacagtttggtga
+aggtcggtacgtgcaggtcgttttctgccagcgccaccttcagcatgatgtcgcggttac
+gatcgatagaaatcagatggtagaaaacggaaaaatccgcggcaggtaacccttcgcggt
+gtgtgcgcagacgttcgtccatgccgtgtaagtcaaacagcatgacgtaaggtttcggca
+gtttctttaagaaatcgccaacttccagtaattgttcacgcttgatccacacaacgggaa
+ccccggtgcgagtcgcctgaacagtaaaggcatccggcccaaaacggttgcgcagttcgc
+caatcaccggatcatcaagatgatcgcgggtctgccaggcgggttcttgcgcggttaagt
+cggtcatattgttcaccattgcaaatggtccgtggtgactgtcggcgcagtaagcttcgc
+gaaatagatttaggaataagcgaagaaaaatccctttgccgacaggcgcaaattaaatct
+cgtcaggtgtacgcaggttagttacggcaatgcgttcaccgcgcttgcgttcgcgctctg
+attgcatattggcgcgataaacgccctgatcgccaaccacccaggagagcggacgacgtt
+ctttgccgatagattcctgcaacagcatcagtgcctgcatgtacgcttcaggacgcggcg
+ggcagcccgggatatacacatcaaccgggatgaatttatcgacgccctgcacaacggaat
+aaatatcgtacataccaccagagttggcacaggcacccattgagataacccattttggtt
+ccagcatctggtcatacagacgctgaataaccggtgccattttggtaaagcaggttcctg
+caaccaccatcaggtcagcctgacgcggcgaagcacgcaatacttctgcgccaaaacgcg
+ccacgtcatgcaccgcggtaaacgaagtcaccatctcaacgtaacagcaggaaagaccga
+agttatacggccaaattgagtttttacgaccccagttaaccatgtcattgagcttgccca
+taaacacgtttttgttaacttcttgctccagagggtcggttacgatctcctgcttttgca
+gggggtaacggtcgttctcaccgttgggatctatgcgggtgagcgtataatccatcttaa
+tgcctcgcggttagcgttgacgattagcgatactgttcgtttccgggttcatacgctcgc
+ggcgtgaacgcgcgggcgtccagtccagcgcgccaatacgcaccagataaaccagacctg
+ccagtaacacaaaaataaaaattgcagcttccacaaagcctacccagccgctttcgcgga
+tagaggttgaccatgcgaacagatacagcgcttcaacgtcgaagataacgaagaacatgg
+ccaccagataaaacttggcggacaggcgtaagcgggcggagccgaccgagtcgataccgg
+attcaaacggcacgtttttcgacctcgcgcgtgcgcgaccgcctaaaaaccaaccgccta
+ccagcatcaggcaacacaggccaatggcaacgataagaaagatagcgaatgcccagtgat
+gagcgatgacttcagtggatgttgacatactcattgcttactcatcaaaagtagcgccag
+attcactgctcttcacggcagatggacgccacatcgattcatggggaggaataaaaaaaa
+ccttacaatcactgtagaaattcttttatacagctaattgatgtggttttttactccttt
+ctataaccttttgtcaactttaacaaaagtttcttcacattagtttacataatatcaaca
+ccattagcatttaatgccctttcaccccagatccttgacgactccaggataattagatgt
+tgttgaatcgtgtccgttgtgaagcaatggaaaaaatacgggtctattttgacaggaatt
+tgtgtcgattcctccccccaaaagagagtattttcttgatctgtgacacgcttttgtcat
+tccataacaaaaacgcagcaacaaatttacgtattttttaacatcattgtagcaggtgat
+ttttttcaggcgattatttgtgcgttcgggacgtgaatctctggtggttgaaaaatgaac
+agttttgtacgttctgcactatgcgatgaaggatttttactaaaaaaaagccgctggggt
+ttaaaacacccccagcggctcgttttttacactattgtctcaggaattatctatcgtccg
+tcgattactcgatatccctttcaatcaacaatgaatcatccccttccggagcagacattg
+ggctgtattgccacggattatggtagctctccatcgcctgatagatcacctgggccagct
+cattattactggacggatcatagcacagcaaatattcggtatcaggtagcggcggtaagc
+catctactccactcagcacacgcaggtccgggctcatcatctcaaccggccttgccgtca
+cgccaagaccggctttcactgccgcacgaacggccggaagcgtcgaggcgacataagcca
+gtcgccatggaatatctgctttattaagcgtcgccagcaccatatcgcgaaacgggctag
+gatcatccagcaatacaagagggatcggctcgcctttttgcaatatgtattccgctgcgc
+agtaccagtgtgttggcgaggtacgcaggttcaatgccttaaacgctgaaggacgatggg
+tggttaccatcaaatccacttcctgggattccagcatttctgccatataggcattacgtt
+taacgcggacatccagcgctaatttcggataaaccgaactcacgcgatttaacaggaaag
+gtaagatcgtatcggcagattcatctgaagcaccgatagttaatacgccctgaagattac
+tgaacattaatgatgagcaggcctcatcattaaaacgcaggattttcctggcgtaaccaa
+gaagttgaatgccatgttcagttaacagtttgttgcgaccgtgacgagcgaacagttctt
+tcccaacgagttgttccagacgctgcatttgctgacttacggcggactgagtacgacaca
+cagcggcagctgcggcagcaaaagtgttcagatcggcaacagcaacaaatgttctcagca
+gatcgaggtcgaggttaattatcggacgatttgcacttatcatatattatcacttactgg
+cggctcatactgagctggttaatgctgtgcacacacaaacaagcaattccatttgtaatg
+tgcctccctggcagtttcatccggaacccggacgaaagtaaaaatgcatatgagttgcac
+taaaaaagcgactcacattgttccgttataatgcctgaagtagatcacagaatatatctt
+cagggatcgcatatctattaagttactcactcttttctatttatgacatgcgcgtgtttg
+tataaatgtaaatgtgagtccttgttccactctcgtgcagcatcgctggtcatacgcgaa
+cacgtaccaacagcaatggtgaggcggcatcaagagcagggatccgtcatttatccgagc
+attttaccccaaaaaccttttatttataagggtcattgcgaattatctgatgcaaagtta
+tgttatgttaggcaaagtaatcttctattattaataagcacatcaaaacctttttgaata
+ttaaataataattaattagcatcatcctcattcattaattccgcttaacaatagtttcac
+accttgcccccattgcgacacctcggaaatcatcacgcagttaaactctccgtaatgagg
+aaatatcatcatcgcgtttcattagtgaattcttaaatgaggcattttcacacaattatc
+ttacagataaaaaaaccagacttacaattaagaatcagaacaattcactatataacattg
+catgtaaagcatatacacctcattattttgtcattattaagttattaacagcacaatcga
+gccttcccctctggcaaaatcttattctgcagaccttcaaaacaccgtcctgggggagta
+cattgttctaagctgacttccacggcagggagtggcgataacagcaaaaaaggtcaagat
+tcatgtcccccattgaaaaatccagcaaattagagaatgtctgttatgacatccgtggtc
+cggtgctgaaagaagcaaaacgcctggaagaagaaggtaacaaggtactgaaactgaaca
+tcggcaacccagccccgttcggttttgacgcgccagatgaaatcctcgttgacgtgatac
+gcaacctgcctaccgctcaagggtattgcgattccaaaggtctttactccgcgcgtaaag
+ccatcatgcagcactaccaggctcgtggcatgcgtgatgttaccgtggaagatatttaca
+tcggcaatggtgtatcggagcttatcgttcaggcaatgcaggcattgctgaacagcgggg
+acgaaatgttggttcctgcaccagattacccactctggaccgcggcggtttcgctttcca
+gcggtaaagcggtgcattatctttgcgatgaatcctctgactggttcccggacctcgatg
+atattcgcgctaaaattacgcctcgtacgcgtgggatcgttattatcaacccaaataacc
+caaccggcgcggtatattccaaagagcttttaatggagattgtggagattgcacgtcagc
+ataatctcattatcttcgccgatgaaatttatgacaaaattctctacgacgacgctgagc
+atcactcaattgcgccgctggcacctgacctgctgaccattacctttaacggactgtcga
+aaacgtaccgcgttgcaggcttccgtcaggggtggatggtgttgaacgggccgaaaaaac
+acgccaaaggctacatcgaaggtctggaaatgctggcttcaatgcgcctgtgtgctaacg
+ttcctgcgcaacacgccattcagaccgcgctaggtggttatcagagcatcagtgaattta
+ttacccctggcggtcgtctttatgagcagcgtaaccgcgcgtgggaactgatcaacgata
+ttccgggcgtttcctgcgtgaaacctcgtggtgcgctgtatatgttcccgaaaatcgacg
+ccaaacgctttaacattcacgacgatcagaaaatggtgttggatttcctgttgcaggaaa
+aagttctgttggtgcaagggacggcattcaactggccgtggccggatcacttccgcattg
+tcacgctaccgcgtgtcgatgatatcgagctgtctttgagcaagttcgcgcgtttccttt
+ctggttatcatcagctgtaatcttaatttcactgccggagattgcatccggcagcgttat
+cccgccacaatgacctgatgatgtcatcatacgtaaggtcactatgaaacagagccattt
+ttttgcccatctctcccgcctgaaactcattaaccgctggccgctcatgcgcaacgtgcg
+gacggaaaatgtgtccgaacacagtttgcaggtagcgatggtcgcccatgcgctggcagc
+tatcaaaaatcgaaaatttggcggtaatgtcaacgccgaacgtatcgctttactggcgat
+gtaccacgatgcctcagaagtgctcaccggcgatctccctactccggtgaaatacttcaa
+ttcgcaaatcgctcaggagtacaaggctattgaaaaaatcgctcagcaaaaactggtcga
+tatggttccggaagagctgcgggatatctttgcgccgttaattgacgagcatgcatatag
+cgatgaagaaaaatcgctggtgaaacaggcagatgcactgtgtgcatatctgaaatgtct
+ggaagaactcgcggccggaaataatgaattcttgctggcaaaaacgcgactggaagcgac
+gcttgaagcgcgtcgcagccaggagatggactacttcatggaaatatttgttcccagctt
+ccatctttcgctcgatgagattagccaggattcaccgctgtaagcagccggagtctgcgt
+cgcatcaggcaataagcgccggatgcgacatcaggctcttgtcaaaacggaaacagcatc
+gggatcatcaccacacaaaccgccatcacgataatggtgaacggtacccccaacttcaca
+aagtcactgaagctgtaatttcccggacctaaaaccagtgtgttaacaggtgaagaaacc
+ggtgtcataaaggcggcggatgctgccatcgccacgaccatcgcgaatggataaggcgac
+acccccatcgttttggcagcagccagcgcaatcggagccatcaacaccgccgtcgcggta
+ttagagataaatagcccaataaccgccgacaagacaaacaaacaccccagcatcatatgt
+ggcccgtaaccaccgccaatgtccatcagccctttcaccgccagcgcgacacctcccgtt
+ttctgtaatgccacagcaaacggcatcatcccaacgatcaaaataatgctcggccagtga
+atggatttataggcgctttcagcatctatacagcggaatttccccatcagcaggcaggcg
+atgatagcggcaacaggattaggaatttcatctgtcagcattaacgccaccattagcacc
+agacagaaaatggcatggggtgcctggctgtgcgcgggtgatgcttcactcacctcttcc
+ggtaagttcagcgctacgaagtcgcggccctgtttggccagcataccgatcagtttccag
+ttacccacaaccaggatgatatcgcccagcagcagaggctcatccgccagcgaaccttcc
+agcgccacgccattgcgctttagccccaccacattcagtccgtagcgggtacgaaaacca
+atttcgcgcaccgatttaccaatcagttctgactcaggaattaatgaaatctctgccatg
+cccacatcaagggcctggtcagaaaaatactcgccgcgcagtaccatcggctccagcaat
+tgctcactacaaaattgccggagatcgacatcagccgcagacatatcaataagcaaaacg
+tcacgcgcgcgaaattcagaaaccccattaacgttcacgataacgcgacgaaaacgccgc
+cagcgttcaacaccgatgacgttagcgccataacgctcacgtaatttgagatcatccagc
+cgttgaccaatcattggcgatccggggcgaatagccagacgtcgcgcacgcccggtcagt
+cgatattcacggataagatcgcgaaaggttcgacgcgtccagccttcgcgctgcggggtc
+tgggtatcccctttcagcatgaaacgcatcactaacatatacaaaatacccagcaccagc
+acgaccaggccaataggtgttacgctaaagaaactgaagccgtgatagccttcacgcagc
+aattcactgttgactaccaggttcggcggcgtcgccaccagcgtcatcatgccgctaatc
+agcccggcaaaacttaacggcatcatcagacgtgacggcgacgtttgcatacgcatggca
+acgcttaacaccacgggaataaagatagcgacaacgccggttgaactcataaacgcgcca
+agccccgcgacggtcagcatcaacaaaaccaacattttgatttcactattgcccgcaact
+ttgaccagccatgttcccattacggtggcaacaccggtacggaccaaaccatcgccaata
+ataaacaaggcggcaatcaggacaacgttaggatcagaaaagccggaaaatacttctggg
+actgtcagcgttccgcttaatgcaaacgcgacaataacaaacaaagcgaccgcatccata
+cgcactctgcccgtcgcaaacaagacgatggcaacggccagtaatgaaagaacccaaatc
+aattcaccgttcacaacttatccttgttaattgagggggatgacttgattctgccataaa
+aaagccccgacgagacggggctaaatcatgatcaggtgtttcactgaataataacatcgc
+catttggctgtttggtcacagtaatttgctccagactgtggaggaccaaatcgacctcat
+tcaggcgcggggtatctgccggagcgttaaccgcaatgacatgacaacccgccgccaggc
+cagaaagcacgccagcgggagcatcttccaccaccacacactcctgcggcgcaagcccca
+gcagctgcgcgcctaacagatacgcatcaggttctggttttccgcgcttcactcgctcag
+cggttacaaacacctctggtgcgggaagcccagctattttatggcgcgctcgcgctaccg
+gcatggagccagaagtcacaatggcccacggaatacctgctttattcaaatgactgagta
+aggcgattgcccccggaagcgcggtaataccttcggtttccgtggcctcgatgtgctcca
+gacgcgtaaactcggcggcaatatcagcctcggatttgcccgccataaaatggcgcagag
+aggtgatcgcctgtttaccgtgaatgaaagccagcacctcttccggcgctaacccatgac
+gtctggcccagttgctccacgcccgttctaccgcaggcagggaatccaccagcgttccat
+caagatcaaacagaaaacctttgcaccgcacgcgggcctcctcaggcattgataatttga
+ttaatttcgttggcgctcaaatggtactgacgcgggcaggcatgccacacattaagcatg
+cgctgatatttttcccacattggcgtctgggcgttaaaaccgtgagttccggcgtcaaaa
+tgggtatagcgcccttccacattaaccataaagcggacataaccgaggtaacgtgcttca
+gtggcggcgtcaaagccgaggaaggtgacacgacgttcatcgatggattgctggtcctgc
+aaattagaccaggaaacatgcaacgcatgatacatctccataatgtcgatgatagtgcgg
+caggtttcttctttcagctcgccaaactcgcgatccaattcacgcatctgtaatccgtaa
+ccacgctcaataattgtttgcaggcgacggtaacgttcagcatttgccggatcgagcata
+gtcatcatcttgtactgattagacaaaataagacgttgcgcgttggtcatttccattgtt
+gactcctgtatcactctactacggtgaaaaaaaagaaggctgagtatgccttcttttata
+tgcgtaatcaggggtcaattacaaatcatcaaggaaagttttatccagttgtttgaaggc
+gcgcttaagcgtgtcagctaatgcctggtaatcaggcttgccttcaacgggtgccaacac
+ctgtccagactcctgcaatttaccgcgaacttcataaaaccagttaaggattgcaggggg
+taatggcgtgacagaacgcttgcccagccaccacaatccctgcatgggtaaacttaaggc
+gaacagggcagtggcaactgccggcccaagctgaccgcccagggcaatctgccagcagag
+agtaaatacggcgatcggcggcataaaacggatcgcataacgcgtcatcttgataacgcg
+attttcgacaaagaccggggcaaggcgtttttccagcggccacgtctttgagtaatgctg
+tccccggcgaaacaagctaaaaaaattaacagaacgattatccggcgttgacatgcttca
+cctcaacttcacatataaagattcaaaaatttgtgcaaattcacaactcagcgggacaac
+gttcaaaacattttgtcttccatacccactatcaggtatcctttagcagcctgaaggcct
+aagtagtacatattcattgagtcgtcaaattcatatacattatgccattggctgaaaatt
+acgcaaaatggcatagactcaagatatttcttccatcatgcaaaaaaaatttgcagtgca
+tgatgttaatcataaatgtcggtgtcatcatgcgctacgctctatggctccctgacgttt
+ttttagccacgtatcaattataggtacttccatgtcgagtaagttagtactggttctgaa
+ctgcggtagttcttcactgaaatttgccatcatcgatgcagtaaatggtgaagagtacct
+ttctggtttagccgaatgtttccacctgcccgaagcacgtatcaaatggaaaatggacgg
+caataaacaggaagcggctttaggtgcaggcgccgctcacagcgaagcgctcaactttat
+cgttaatactattctggcacaaaaaccagaactgtctgcgcagctgactgctatcggtca
+ccgtatcgtacacggcggcgaaaagtataccagctccgtagtgatcgatgagtctgttat
+tcagggtatcaaagatgcagcttcttttgcaccgctgcacaacccggctcacctgatcgg
+tatcgaagaagctctgaaatctttcccacagctgaaagacaaaaacgttgctgtatttga
+caccgcgttccaccagactatgccggaagagtcttacctctacgccctgccttacaacct
+gtacaaagagcacggcatccgtcgttacggcgcgcacggcaccagccacttctatgtaac
+ccaggaagcggcaaaaatgctgaacaaaccggtagaagaactgaacatcatcacctgcca
+cctgggcaacggtggttccgtttctgctatccgcaacggtaaatgcgttgacacctctat
+gggcctgaccccgctggaaggtctggtcatgggtacccgttctggtgatatcgatccggc
+gatcatcttccacctgcacgacaccctgggcatgagcgttgacgcaatcaacaaactgct
+gaccaaagagtctggcctgctgggtctgaccgaagtgaccagcgactgccgctatgttga
+agacaactacgcgacgaaagaagacgcgaagcgcgcaatggacgtttactgccaccgcct
+ggcgaaatacatcggtgcctacactgcgctgatggatggtcgtctggacgctgttgtatt
+cactggtggtatcggtgaaaatgccgcaatggttcgtgaactgtctctgggcaaactggg
+cgtgctgggctttgaagttgatcatgaacgcaacctggctgcacgtttcggcaaatctgg
+tttcatcaacaaagaaggtacccgtcctgcggtggttatcccaaccaacgaagaactggt
+tatcgcgcaagacgcgagccgcctgactgcctgatttcacaccgccagctcagctggcgg
+tgctgttttgtaacccgccaaatcggcggtaacgaaagaggataaaccgtgtcccgtatt
+attatgctgatccctaccggaaccagcgtcggtctgaccagcgtcagccttggcgtgatc
+cgtgcaatggaacgcaaaggcgttcgtctgagcgttttcaaacctatcgctcagccgcgt
+accggtggcgatgcgcccgatcagactacgactatcgtgcgtgcgaactcttccaccacg
+acggccgctgaaccgctgaaaatgagctacgttgaaggtctgctttccagcaatcagaaa
+gatgtgctgatggaagagatcgtcgcaaactaccacgctaacaccaaagacgctgaagtc
+gttctggttgaaggtctggtcccgacacgtaagcaccagtttgcccagtctctgaactac
+gaaatcgctaaaacgctgaatgcggaaatcgtcttcgttatgtctcagggcactgacacc
+ccggaacagctgaaagagcgtatcgaactgacccgcaacagcttcggcggtgccaaaaac
+accaacatcaccggcgttatcgttaacaaactgaacgcaccggttgatgaacagggtcgt
+actcgcccggatctgtccgagattttcgacgactcttccaaagctaaagtaaacaatgtt
+gatccggcgaagctgcaagaatccagcccgctgccggttctcggcgctgtgccgtggagc
+tttgacctgatcgcgactcgtgcgatcgatatggctcgccacctgaatgcgaccatcatc
+aacgaaggcgacatcaatactcgccgcgttaaatccgtcactttctgcgcacgcagcatt
+ccgcacatgctggagcacttccgtgccggttctctgctggtgacttccgcagaccgtcct
+gacgtgctggtggccgcttgcctggcagccatgaacggcgtagaaatcggtgccctgctg
+ctgactggcggttacgaaatggacgcgcgcatttctaaactgtgcgaacgtgctttcgct
+accggcctgccggtatttatggtgaacaccaacacctggcagacctctctgagcctgcag
+agcttcaacctggaagttccggttgacgatcacgaacgtatcgagaaagttcaggaatac
+gttgctaactacatcaacgctgactggatcgaatctctgactgccacttctgagcgcagc
+cgtcgtctgtctccgcctgcgttccgttatcagctgactgaacttgcgcgcaaagcgggc
+aaacgtatcgtactgccggaaggtgacgaaccgcgtaccgttaaagcagccgctatctgt
+gctgaacgtggtatcgcaacttgcgtactgctgggtaatccggcagagatcaaccgtgtt
+gcagcgtctcagggtgtagaactgggtgcagggattgaaatcgttgatccagaagtggtt
+cgcgaaagctatgttggtcgtctggtcgaactgcgtaagaacaaaggcatgaccgaaacc
+gttgcccgcgaacagctggaagacaacgtggtgctcggtacgctgatgctggaacaggat
+gaagttgatggtctggtttccggtgctgttcacactaccgcaaacaccatccgtccgccg
+ctgcagctgatcaaaactgcaccgggcagctccctggtatcttccgtgttcttcatgctg
+ctgccggaacaggtttacgtttacggtgactgtgcgatcaacccggatccgaccgctgaa
+cagctggcagaaatcgcgattcagtccgctgattccgctgcggccttcggtatcgaaccg
+cgcgttgctatgctctcctactccaccggtacttctggtgcaggtagcgacgtagaaaaa
+gttcgcgaagcaactcgtctggcgcaggaaaaacgtcctgacctgatgatcgacggtccg
+ctgcagtacgacgctgcggtaatggctgacgttgcgaaatccaaagcgccgaactctccg
+gttgcaggtcgcgctaccgtgttcatcttcccggatctgaacaccggtaacaccacctac
+aaagcggtacagcgttctgccgacctgatctccatcgggccgatgctgcagggtatgcgc
+aagccggttaacgacctgtcccgtggcgcactggttgacgatatcgtctacaccatcgcg
+ctgactgcgattcagtctgcacagcagcagtaatctcgtcatcatccgcagctttgcgct
+gcggatatctgaaccggaaataatcactatttccggttttttattctcttaatttgcatt
+aatcctttctgattatcttgcttaactgcgctgcatcaatgaattgcgccatcccacttt
+gcatacttaccactttgttttgtgcaagggaatatttgcgctatgtccgcaatcactgaa
+tccaaaccaacaagaagatgggcaatgcccgatacgttggtgattatcttttttgttgct
+attttaaccagccttgccacctgggtagttccggtggggatgtttgacagtcaggaagtg
+cagtatcaggttgatggtcaaacaaaaacacgcaaagtcgtagatccacactcatttcgc
+attctgactaacgaagcaggcgaacctgagtatcaccgcgtacagctgttcacgacgggc
+gatgaacgcccgggcctgatgaacttcccgtttgaaggattaacctcaggatcgaaatac
+gggacagccgttggcatcatcatgtttatgctggtgattggcggcgcgtttggcattgtg
+atgcgtacaggaaccattgataacggtatcctggcgcttattcgccatacccgcgggaat
+gaaattctctttattcctgcgctgtttattctgttttcacttggcggcgcggtatttggt
+atgggagaagaggccgtcgcctttgccattatcatcgcaccgctaatggtccggctgggc
+tatgacagtattaccaccgtcctggtgacctatattgccacgcaaatcggttttgccagt
+tcgtggatgaacccgttttgtgtggtcgttgctcaggggattgccggcgttccggtgctt
+tctggctccgggttgcgcatcgtggtgtgggttatcgccactctgattggcctgatcttt
+accatggtgtacgcctcacgagtgaaaaagaatcctcttctgtcacgcgtgcatgagtcc
+gaccgcttctttcgtgaaaagcaggctgatgttgaacaacgtccgtttacctttggtgac
+tggctggtattgattgtcctgaccgccgtaatggtctgggtgatttggggcgtgatcgtt
+aatgcctggtttattccagaaattgccagccagttcttcaccatgggtctggtgattggc
+atcatcggcgttgttttccgccttaacggcatgacggttaataccatggcttcatccttt
+accgaaggggcgcgaatgatgatcgcccctgccctgctggtgggtttcgccaaagggatt
+ttgctgctggtcggtaatggtgaagcgggtgatgccagcgtgttaaataccatcctcaac
+agcattgccaatgccattagcggtctggacaacgcggtcgcggcctggtttatgttgctc
+ttccaggcggtatttaatttcttcgtgacgtccggttctggtcaggcggcgttaaccatg
+ccgttactggcaccgcttggcgatctggtcggtgttaaccgtcaggttaccgtgctggcg
+ttccagtttggtgatggcttcagtcacatcatttacccaacctcagcgtcgttaatggca
+acgctcggtgtgtgcagggtggacttccgtaactggctgaaggtgggcgcgaccctactt
+ggactgctgtttattatgtccagcgtcgtagtgatcggcgctcagttgatgggctaccac
+taaaaatgttaagagccgcaattgcggctcttttttcattctgccgtttcagtctctacg
+gcttcatttttggcattgcgcttcatccacaacgctagcgctttcagcgagtctggagtg
+aactcatcgcagcgtgcggtgatttcttccggcgtcagccagcaaacttcactgacttca
+tcttcctgtagtgcgaagggaccgtgagagacgcagctgaacaatgcgccccagacacgg
+caatttttatcttcgaaatagaactgcccgtgctcggcaaaggggacaccggcaatgccc
+aactcttcttccgcttcgcgacgcgcggattccagcagttgctcatcggcctggactaca
+ccgcctgcggtcgcatctaacatgccgggtaaaaagtcttttgtctcggtacgacgctgg
+accagaattttgcccatgccatcatgcacgacgatgtaagttgcacgatgacgcagacac
+tgtgcccgcatttgttcccggctggcttgtgcaatgacttcgttctcttcattgacaata
+tccacccattcagtacttgccaaacgacgctgttccattatcaggaaaccttctttttct
+ggcgctcttacggcgcattttgagttgtgggtaaattacggattaatcgcgacctgcgca
+atgatactttgatcattgagtgcgattacactaagtacgtcattatccagcatgccataa
+ctcgccggattaccgcctttcggaatactcaccgagccggggttgaagtggaaaatctcc
+ccccgctgttctgccactggcagatgggtatgaccgtacaccagcacatcgttctggttt
+aaagcaggcagattttccgggccaaaaagatgaccatgcgtcaaaaacagacgttgtttt
+tccagtaatacctgttgccacggcgcggttatcgggaaatgcagcagcatttgatccact
+tcgctgtcgcagttgccgcgcacagcgataaccttatgtgccacttcattaagccgttca
+gcgactttggctggcgcgtaaccctccggtaaagcattacgcgggccgtgattcaacacg
+tcgccaaggatcaccagccactgggcaccgctttgggcaaacaactccagaacacgttcc
+gtcgccggtaacgacccatgaatgtccgatgcaaacatcagtttcatcactcactcctcg
+tcgaaaaaacgtaagctatgatactggattctgtcgttgctatcagccagattgcttcgc
+cgaaagtgcaataaaacgctggacagacgctcgctgccactggaatgttgcataatccac
+caggcgttctggcacctcatcgccatgtagtaccaggcggttaatcattagcgccagatc
+agtatcagcaatgcaccattcaccaaataaattcggctgacccagtactaacaaatgttc
+tgccatcgcgaacagtttctctgcactggcttttccctcggccgttagtggcgctttttt
+cgcccccgcaaagacaacatccgtcggacgctcttcgcggatgggcatcagatcgctgcg
+cagccaggcctgaatctgtcgtgcacgcgcacgattttctaaatcaagcggataaatacg
+ttcccaggtcggtggcgcaaatcgatcttccagatactccgcaatggcagaagattcact
+caactcaaaatcatcgatttgtaataacggcacacggcgtgtctgaccgtaaccttgcca
+cgtcggctgcaaatgttcaccgctgtcgaggtcgatggtcttgatatgaaacgacaggcc
+tttttcctgcaacgccacccaggcggataacacataaggggagaaaaagtgggcatctga
+ccaaagcgtgatagcgggtttactcattatgtcctcggcaataaagggggctggctatca
+aactatagagcctttttgtcactgtcacgtgacgaatactcacgtaagtcgccgcgcttt
+ctatacttgtggtgttcagatgattaaacaaccggagctgcaatgatcgatctctatttc
+gccccgacacccaatggtcacaaaattacgctgtttctcgaagaagcagagctggattat
+cgcttgattaaggtagacctggggaaaggcggtcagtttcgtccggaatttttgcgcatt
+tcgcccaacaacaaaattccggcaattgttgatcattctcctgccgatggcggcgaaccg
+ctaagcctctttgagtctggtgccattttgttgtatctggctgagaaaacaggactcttt
+ttgagtcatgaaacgcgtgagcgcgccgccacattacagtggttattctggcaggtaggc
+ggactggggccgatgcttgggcaaaatcatcattttaatcacgcagccccccaaaccatt
+ccttacgctattgaacgttatcaggttgaaactcagcgtctttaccatgtactgaacaag
+cggctggaaaactcgccctggctgggaggcgagaactacagcattgcggatattgcctgc
+tggccgtgggttaatgcctggactcgccagcgaattgacctagcaatgtatccggcagtc
+aagaactggcatgagcggatccgttcgcgccctgccaccgggcaggcactgctaaaagca
+caactcggtgatgagcgttcggatagttaacagaaacaggttctcgtgtattatttcatc
+ctaagtaaaacaacggagaacctgcaatggcacaacctgccgctattattcgtataaaga
+accttcgtttgcgtacgtttatcggaattaaggaagaagaaattaacaaccgtcaggata
+ttgttatcaatgtgacgatccactaccccgccgataaagcgcgcactagcgaagatatca
+acgatgcgctgaattatcgcaccgtaacgaaaaacattattcagcatgtagagaataacc
+gtttctctttgctggaaaaattaactcaggatgtgctcgatatcgcacgtgaacatcact
+gggtgacgtatgctgaagtggagatcgataaactgcacgcgctgcgctacgccgattcgg
+tatccatgaccttaagctggcagcgttaatcgccatatcgggaggctgcatgaacatagt
+gatcaccggagggacaggattaattggtcgccatttgattccgcgtttgctggagctggg
+ccatcaaattacggtagtgacgcgtaacccgcagaaagccagttccgttctcggccctcg
+ggtgacactatggcaagggcttgccgatcaaagcaacctcaacggcgttgatgcggtaat
+caacctggccggagaaccgattgctgataaacgctggactcacgagcaaaaagagcgtct
+ctgccaaagccgctggaatatcacgcaaaaactggtcgatttgattaatgccagcgacac
+gccaccgtcggtactcatttccggctcggcaacgggctattatggtgacttaggtgaagt
+ggtggttaccgaagaggaaccgccgcataacgaatttacccataaactctgcgctcgctg
+ggaagaaattgcctgccgggcgcaaagtgacaaaacgcgagtgtgcctgctgcgtaccgg
+tgtagtgctggcaccggatggcggtattctcggtaaaatgctgccgccgtttcgtcttgg
+cctgggcgggccgattggctctggtcggcagtatctggcctggattcatattgatgatat
+ggtcaacggtattctctggctgctggataacgagctgcgcgggccatttaatatggtttc
+gccctacccggtacgcaatgaacaatttgcccatgcgctcggtcatgcgctgcatcgccc
+ggccattttgcgcgtccccgcgaccgccattcgactgttaatgggcgaatcttcagtact
+ggtattaggtggacaacgcgcgctgcctaaacggctggaagaagcgggttttgcgtttcg
+ctggtacgatttagaagaggcgctggcggatgtcgttcgctgatgtggtttacagcaaac
+atccgccagttaactcccggtgttacaggattagtggctttgcgcgataagatcgtctgg
+tgaaagtcgggtcaccatcataactaactctctgtctaaacctctatccagcatctcctg
+agcaatacgcagggcttcttcgtgtttgccctgcattgcgccttcttcacgtaatctgtc
+agcaatggtcatcagtttctccttttcttgtggtgcgcgttccgctatctcaccaataaa
+tgcacgaaaacgctgggcatcccctgtttgtaatacgtaattaaacagggcttttagctg
+tctgtcattagtgttccctgtaactagcagcgaaacaatttggtcgactaatcccaacag
+atcgcgctgacgaatatgtttctgaattaactccaacagcgccattttgcggtgttgcat
+aatctcgtcatccggcaccacggtaatatccaccaacggaaaagccgatgaatatatttt
+gcgggctatagcaggctcggcaaattcatcaagccagcagagtgaataaggataaggact
+tctgcaaccatgataaaacagcatcgggagcaccaatggaagctctttatagcccgcatc
+aagatggttttgcattgccgcaatggaataacgcatcatgcgaaaagccattaattcttc
+cggcttactttggtgctctatcactacataaatataacccactccctcctgcgttttcac
+agaccacaagaggtcggaataatattgccgcaggtcttcatcaataaaactgtttggttc
+cagtttaagcgtcgttaaatcacacagtttgcgcagcggcgcgggaagatgaatatcaat
+aaaatcccgcgcggtgtctggatggcgtaaaaaagatttaaataccgcatcatgcggcgt
+ggaagttgtcgatattgtcatggcgttccgtcacccctcaaatttaagatgacgcgacaa
+taaccacgattaacacccaatgcagcaggcagtttttatctttggacagcgaattcagaa
+gtatttttagcggactgtaacttttacatttcagcggaagctgactcgcaaattccccat
+gaaaatactccggcagcgttagccaccggagaggaaattatttcagcgatcccttaagga
+accgttgcagacgagggctttgcgggttgccaaataactgctccggcgcgccctcttctt
+ctattttcccctgatggaggaaaatgacatgagtagaaacatggcgagcaaagcccattt
+cgtgagtcactaccaccatggttttcccctcttctgccagttgctgcataatacgcaaca
+cttcgcctaccagttcaggatcgagcgccgaggtaggttcatcaaacagtaaaacttccg
+gttccatcgccagcgcccgcgcgatagaaacacgctgttgctgaccgccggaaagatgca
+ccggatatttcccctgcgcacgttcgtctatcccgacttttgccagatacttcaccgccc
+gctcgcgcgcttcctgcttgctcaggcccaacacctgaatcggcgcttccatgacgtttt
+ccagcaccgtcatatggctccagagattgaagtgctggaataccatcgtcaggcgtgtgc
+gcagtaagcgcagttgatttttatcggcgactttgagttgaccgtctttgtcgcgcacca
+gattgatcgtctggccattgaccacgatcgacccttcactcggtttttcgaggaagttaa
+tgcagcgcagaaaggtacttttccccgatcccgacgatccgatgatgcttattacatctc
+cggcattcgcttgcagtgatacccctttcagcacttcatgttcgccgtagcgtttgtgca
+aatcgataacgtttaatttattctcggacatcgtattctcagtgcgttgaagaaggtttc
+acatgctgcaaccagcgtttttccgctctgcgaaagaggctgatcaggacataagagatg
+attaaatagagcaccgcggcaatgccgaaggcggtaaaaggttgatacgtggcggcgtta
+atatcgcgggctattttcagcagatccggcaccgtggcagtaaatgccaacgcagtagag
+tgcagcatcaggatcacttcgttgctgtatgccggtaacgcaatacgcagcgcagaaggc
+aaaataatgcagcgatacattttaaaagtcgagaagccataggctctggcggcttcaatt
+tccccatgcggaaccgaacggattgccccagcaaaaatctcggtagtgtaagcgcaggtg
+ttaagcgtcagcgccagcacggtacagttcaggccactgcggaagaaagcgttaaggaat
+tcggttcccttaacaatctcaagcgtgtacatgccggaatagaacaccagcaactgaaca
+tacagcggcgtaccgcgaaaaatataggtaaataaccagattggaaactggatgtattta
+ttactggagacacgaccaatcgccagaaacagcgccaggactccgcctatcactaccgac
+aaaataagcagccacagagtgatcgccacaccagtaaagcgataaccgtcggtccacagc
+agcggtttccagtattcatgtaagatttcgatcacaggtcagccctcttcacacccacgg
+agtagcggcgctcaaggaacagcagcacaccattggaaacagtggtgaaaaccaggtaaa
+tcacgccacagacgatggcgaaatagaacggttcccaggtacttttgcctgccagttggg
+tggctttgaccacatcttccaggccgagtaacgaaaccagtgcggtagatttgaggatca
+cctgccagttgttgccaatgcctggcagggcgtaacgcatcatcgacggaaacatgatcc
+gccgaaacacttgcccacgagtaaaaccgaacgccgtcgccgcctctatatgtcctttcg
+gcactgccataaaagcaccacggaacgtttcggtaaaataagcaccgtagataaaaccga
+gagtgataataccagcgaccatcggatcgatatcaatctgcccgacgcccatcgcctccg
+tcaccgtgtttagcgcaatctgcaaaccgtagaaaatcagcagcatcaacactaagtccg
+gcacgccacgaatcagcgtggtgtacccttcgaaaatcagccccgaaagccgattttgcg
+agagcttaccgccagcgccaattaaaccgatgattacagcgagcactacagagctgatag
+ccagctccagcgtgacgagcgcaccctgtaaaataacacctgaaaacccatacaacatgc
+tgcctgtcctgtcgtgtgtggtgaattaccgcctcttgtctccctccggttacccgaagg
+gagcgggctttctttcaccgatggcgattagccaccataaacatcaaaatcgaagtactt
+tttcgctaatttctcgtaagtaccgtcagcgcgcatttcggcaaaggctttgttcagtgc
+ttcgcgcagttcgttatcttctttacgcaggcccatgccggtccctacgccaaacagttt
+ttcatctttaacagacgggccaccgaatttgtaatctttaccgacaggttgtttgaggaa
+accttcgctggcagcgacctcatcctggaacgcggcatcaatacgtccggcagtcaggtc
+agaataaatgttgtcctgcccctgatacgagacgatttcaatgccttttggtgcccaatg
+ttcattaccgaacgtctcctgggtggtgccctgcaatacgcctacccgtttgcctttcag
+cgactcgactgtcggctgaatgtcagaatttttcgccaccaccaaacgagaatcggcagc
+gtacagtttgtcggtgaaggctatttcttgctgacgtttttccgtaatggaaagcgatga
+catgatggcgtcaatcttcttcgcttttaaggacgggattaacgcatccagcggattttc
+gacaaacgtacattgcgtattgatgcgtttgcataattcctttgccagatcgatatcgaa
+gccaaccagttcgccttgtgaattttttgattcaaatggcgcataggtcgggtcggtacc
+gatgcggatgttttgcggaatcgcagcaaacgccgcagttgcgctggagaaggccagaac
+cagagagagcgatagcaccagttttttcataatgtcctcaactgacagtctttttatagg
+gaatatttacaggtttgttacacttatcgtgccataaaattgaccatcaaggcaaaatat
+cccgccccgttagacgtattatttttcattaaaaatgcttaagtatgcatttcaatgcac
+cacgatagtgcaacaaacctggcgtgcaccatgatgatcattccatcaggtacagcttcc
+cagcgacgtatcagtcaccgtagacattaaagtcgaaatactttttcgccatcttgtcgt
+aggtgccgtcctgacgcagctcgccaagcgccttattgaaggcagccgtcagttcagcat
+catctttacgtagccctacaccggtgccatcaccgaagtattttttgtcttttactgatg
+agccagcaaaggcgaaatctttaccagcaggttgcttgaggaatccttcgctggcagcaa
+cttcatcttgtaacgcagcatccagacgtcctgcagccagatcggaatagaccaaatcct
+ggttggcataggccaccacatccacgcctttactacgccaggtctcgttagcgtaagctt
+cctgggttgatccctgcagcacaccaacatgtttacctttcagtgaatccagcgttggct
+gaatcggtgaacctttggccgcaatcaaacgagaatctgcggcgtacagcttgtcggaga
+aggcaatctcctgctgacgtttatcggtaatggaaagcgacgaaataatagcgtcgattt
+ttttcgctttcagtgaggggatcagcgcgtcaaagtcactggcaacccaggtacatttca
+cctgcatccgtttgcacatctcgttaccgagatcgatatcaaagccaacaaaatcacctt
+tagcatctttcgatgagaacggtgcgtaggtggtatcggttccgatacgtaccgtctccg
+gtagcgccgcatagctggaagccgctgtggagagaccgactaacaaagacagagcgagaa
+tcgacttcttcatacataaccctcaagtgaaaatggcttttttatgttgtgtattgtgtt
+gtgtgtttgcaggctctttcatgcaggtcttatgccatcttgacgacaacagtaacattc
+aacgttaaatatgttaataagacgttgcattattgtcctgaagttgaagatagcaggtat
+agcggttgaatcgcagcgtttcgattgaatggcagaaacaaaatgtcgaggatttgatcg
+cggttgcaaaattgccctgaaacagggcaacagcggagttatgcgccctgccagcgggca
+aagagatcttcaggaagggttatcgcaaactggtcaagaacacgattaaccgtctgattt
+atcacatcatcaagggattgcgggcgatgataaaacgccggaacgggaggcataatcacc
+gcaccgatttctgccgcctgagtcattaaacgcagatggcctaagtgcaatggtgtttca
+cgcacgcagagcaccaacgggcgacgctctttcagcaccacatctgccgcacgggtcagt
+aagccatcagtatagctatggacaatgccggaaagggttttgattgaacagggtaaaatc
+accatccccagcgtctggaaagaaccggaagagatgctggcggcaatatcgcgcgcatcg
+tgcgtgacatcggctaatgcctgcacttcgcgcagagaaaaatccgtttcgagggataag
+gtctggcgcgctgcctggctcatcaccagatgcgtttcgatatctgtgacatcgcgcaga
+acctgtaataagcgcacgccataaatcgcgccgctggcaccgctgatgcctacaatgagt
+cgtttcataaatagttgccctgtcagacttgcaggcagactttgcaggatttcggcggga
+gttgcaagtcagggtgccagaccggcaccctcagcgaaggcatcatccttcgttatgcat
+ttcgagattttccacttcgttctgacgttgcactgctttggcgtcatcattacgtaacgt
+atcgaggaaatcgaggtagccctgatcaacatctttggtgacgtagacgccgttgaacac
+cgagcattcaaactgctggatatccggattttcagcgcgaacggcgtcgatcagatcgtt
+cagatcctggaaaatcaacccgtcagcaccgatgatctggcgaatttcatcaacttcgcg
+accgtgagcgatcagttccgtggcgctcggcatatcaataccataaacgttcgggaagcg
+aatttccggtgccgcagaagcgaggtacactttcttcgctccggcttcgcgtgccatctc
+gataatctgctcagaagtggtgccacggacgatggagtcgtcgaccagcaggacgttttt
+atcgcggaactcggcgcggttggcattcagtttacggcgcacggacttacgacgcagctg
+ctggcccggcatgataaaggtgcggccaacatagcggtttttaacgaagccctggcggta
+cggtttgcccagaatacgagcaatttccagcgcgatatcacacgaggtttctgggatcgg
+gatcaccacgtcgatatccagatcttcccattcgcgggcaattttctcgcccagtttcgt
+gcccatattcacacgcgcgctgtaaacggaaattttgtcgataaacgagtccgggcgggc
+aaagtatacatactcaaacaggcacggattgctgaccggattgtcagcacattgacgggt
+aaacaactgcccttcttcagtgatgtaaatcgcttcgcccggcgcgacgtcacgcaggaa
+atcaaagcccagcgtatcgagcgctacgctttcggaagcgaccatatattctgtacggtt
+ctcgtcaatatcacgttttcccagtaccagcggacgaatcccgtttggatcgcggaaagc
+aaccataccgtggccgataatcatcgccacacaggcatacgcgccgcggattaagcggtt
+tgtggcagcaatggcagcgaaaatattgtcggcttccagcgggtagtggcggaagttgtc
+cagctcgctggcgaagatattaagcagaatttccgagtcggaagtggtgttgatgtggcg
+gcgtttttcttcaaacagttttttacgcaactcgtgagcgttggtcagattgccgttgtg
+ggcaagcgtaatgccatacggggagttaacgtaaaacggctgcgcttcagaggcgctgga
+gctgccagccgtggggtaacgcacatgaccaatgcccatattgccctgcaaacgctgcat
+atggcgagcttcaaatacatcgctcaccagcccgttcgctttacgcaaacggaagcagtt
+attggcatctatggtgatgatgccggcggcatcctgaccgcgatgctgaagcaccgttaa
+ggcatcataaatcgactggttaaccggcataacaccggcgataccgacaataccgcacat
+acgtctttttcctcgttaagccacatctcagagcacttacgctctgggcaagaaacttga
+cgagctttgcagataatcaaaaaaacatctgatgataaaactgaattgcgggatcagctg
+tgatttgctccagtcttcgcttttcgacaccccggtaaaggagtcgagaaagaagagaat
+ggcagcaacaatcaacacaccgcgcaacgcaccgaaacagacgcccagcacccgatcggt
+gcctgacaaccccgttttctccaccaactggcctatcacgaagttcacgatagcaccaac
+gatcagggtagcgataaacagtaccgcgatggcaatcccatttcgaaccagttcgtcttc
+aaagcccgtaaaccagactgacaggtaagtgtagtaatgactggcaacaaagaaagcaca
+accccatgtcaccagcgataacgcttcacgaacaaagccgcggatcaggctaaccagaga
+ggaaaaagcaatcaccgcgattatggcgtaatcaatccagaccatatgtgtcccacgatt
+ttacgccctgtcatcctgttcggggcgcattctaacagaaaaagaaaacgtttgcgtagg
+gatttccttcccgcgcatcaataaaaatggcgctgaaaaaatattcaacgccatcgactt
+tttatgcctttgcggcatcgggcaatgcgtgtcggatgcggcgtaaacgccttatccgac
+ctacggttctacccctgcgtaggcctgataagacgcgccagcgtcgcatcaggcaagacc
+gtattaattcggcgtatagcccattaccacgccacttaagccagaaagttgcttcaactc
+acccagcgaacctttcagcttatctttcgaggcatccggcccaaccagaatacgggtaat
+tttaccctgcactggcgtggatggcgacgtataaacccgataaccggcaccgcgcagctt
+accgacaatctcattcactttatcggcatttttcagcgcacccagttgcacaacataggc
+tttacccgtcggtgcagctttttcttccacgaccggcttcggttctggcttcggcgcagg
+tggtgcttcaacctttggtttaggcggctccaccggtttcggcttcggtggggcgaccgg
+tgcaggttccggttcaaactcggtgttattggctgcaatagtggccggatcgagcgacgg
+tgctgcggcatcacctgcccgcacctcttccgctgcgccttccggcggctgcgtcggtaa
+cgcctgggtggcggctggcatcatatcaggctcatcacgatcgcccgctttcggcaccag
+cgggatagccgcgaactcatcctgataatgttttttctgcccgtccagcagccctggaag
+tacaatcacccccagcgccaccagcacgatcgtgcccactaaccgattctgaaacttact
+tgccaccgcttctcctcgcgtcaatcacttccatgacatgtgcgaccgtgtggaaagaac
+cacacaccagcacggtgtcttccgctttagcgtccgccattgcggcatcccatgcctgcg
+caacgctatcaaatgatttgccgttacccaaatgctcaagcagttgttctgccgtggcac
+cgcgcggcccttccagtggcgcacaataccagtcatcaaccacgcttttcaaccaggcca
+gagttccggcaatatctttatcatgtagcataccgataaccgccagcacgcgcccgtttt
+tcggtagcgctttcatacgcccggtgagatattccgccgcatgtggattatgcgcgacat
+caaaaataacgcgtggcgactcgctcacaatctggaaacgtcccggcaaaattgcgctgg
+caatcccgtcgcgaatggcattttcactgacttccagcccgctggcacgcagtgccgcca
+gcgctgttgcggcattcggttgcgggacaagcggcaacggcagattttccagcgtgccgt
+gagcatcgctaaacgcccagtcatgatcggtgacggaatagttccactcaacgccccgac
+gttgtaacagtgcacctttttcctgcgccacatcagcaatggtagaaggcatttccggct
+caccgacaattgccggtttttcgctgcggaagatgcctgctttctcgcgaccaatacttt
+cgcgatctggacccagccagtcggtatgatccagcgcaatactggttactaccgcgacat
+cggcgtcgacaatattggttgcgtccagacgaccgcccagccctacttccagaatcacca
+cgtcaagttgtgcctgcttgaacagccacaacgccgacagcgtaccgtactcgaaatagg
+tcagggaaatatcaccgcgtgccgattcaatctccgcaaaagaggcggtgtgggccgatt
+ccggcaattcctggccctgcacacgtacgcgctcggtataacgcaccagatgaggcgaac
+tgtagacgcccactttgtaccctgccgccatcagaatcgactccagcgtacggcaggtgg
+tgcctttgccattcgtacccgcaacggtaaacacaaatggcgctggtttcaggacgccaa
+gacgcgccgcgaccaggctcacgcgctcaaggccgagatcgatagttttactgtgcaggt
+tttccagataagaaagccacgaagccagaggcgacgcggcttgaggagtgcgtttgataa
+tcatggtatccgctgattcgttacggtgagaatagcaaaagggcagagccagtggccctg
+cccttatcagttatcaggcctcaggttcctgatccggtaccgggggtaccactacgcctt
+cacgcggcgcttcaggattcggcgctggcagattcatcaacttcgccagaatgctcgcca
+gtttcaggcgcatttccggacgacggacgatcatgtcgatcgcgcctttctcgatcagga
+attcactgcgctggaatccaggcggcagtttttcgcgaacggtctgttcgataacacgcg
+gaccggcaaagccgattaacgctttcggttcagcgatgttgagatcgcccagcatggcga
+aacttgcagaaacaccgcccatcgtcgggtcggtcagcacggagatgtacggcaagccgc
+gctcctgcatttttgccagtgccgcagaggttttcgccatctgcatcagcgacatcagtg
+cttcctgcatacgtgcgccaccagaggcggagaagcagatcagcgggcagttatcttcca
+gcgcctgctcaacggcacgcacgaaacgtgcacccacaacagaccccattgaaccgccca
+taaaggcgaactcgaatgccgcagcgacaaccggcattccatacagagtgcctttcatca
+ccaccagcgcatctttttcgccggtttctttctgcgcagatgccagacggtctttatact
+tcttggagtcacgaaacttcagcacatctttcggctcaagctcgctacccagctccacaa
+ggcttccttcatctaacaggctatgcaggcgattacgcgctgtcatacgcatgtgatggt
+cacacttcggacagacctcaagattacgttccagctcagcgcggtataaaacctgaccgc
+agctatcacacttagtccacaccccttcaggaatgctcgccttgcgggtgggagtaatgt
+tgcttttaattcgttcaatccagctcattagggacctttctgtctgaacctggttcgatg
+ccagttttatctttggggacgcataatgccatttttgcccccaacagaccatgaatgttg
+cacattaaaacataacagcccgaaactttggataaaaaagtggtcgaaccgcggagttac
+tttttattttgcggcgcgtgccgcagcgcgtttgtgacggattatttcgatgacgcccgg
+caaaatagaaaccacaataatcccgacgatcagcagcttaaggttatcctgaaccatcgg
+gattgtaccgaagaaatagcctgcgtaggtaaaaagcagtacccacaacagtgcgccgat
+cacgttataagcggcgaaatgacggtacgacatgtggcccattcccgcaacaaacggggc
+gaacgttctgacgatcggcacaaaacgggcgagaataatcgttttgccgccatgtttctc
+ataaaactgatgggttttgtcgagataactgcgacggaaaattttcgaattgggattact
+gaacaacttttcaccgaacaaccgcccgatagtgtaattgaccgcgtcacccacaatcgc
+ggcgatcagcatcagcaccaccatcatatggacgttgagatcgttggtttccagtgatgc
+caacgctccggcaacaaacagcaatgaatcacccggtaaaaacggcgttaccaccagacc
+ggtttcacagaacaaaattaagaacaaaatggcataaacccagacgccgtactccgcgac
+cagctctgccagatgcacgtcaatgtgcaggataaaatcgatgaggaaataaatcaggtc
+catatttgcctatgccttgtactcgtcatctttcaggctgtaactacgttggctacagcc
+tgaaatgttccgagcattattctcgttagtccgccagaaatagcgggcccattggcggtt
+ttggaagatcataccggtcagggtaatccaccgcgaccagatacagcccttccgcttttg
+ccgttgctgccgccagcgttctgtcctttgccgccagcaactctgctatccagctctccg
+gctggttgtgggcaccgacttccatcaggctgccgacaatattcctgaccatatgatgta
+caaaagcattcgctttaatatctaccaccacataaggaccgtgacgcgtgacattaatat
+gcataacgttgcgccacggggttcgggactggcactgcaccgcacggaacgaggtgaaat
+cattctcgcccagcaagcattgcgcagcccgatgcatccgttcagcgtccagcggttcgt
+aaaaatgggttacccctttactcagtaccgccgggcgcagccgatgattgtagatgatgt
+agcgataacggcgagccgtggcgctaaatcgggcatgaaaatcatcaggtacagttttaa
+cccaacgcacagcgatgtcaccaggtaaattcgcatttacgcccaaggtccacgccgcgt
+ctttgcgcagcgcggttgtttcgaaatgcacaacctgcccggtaccgtgtacccctgcgt
+cagtacgcccggcgcagaagacggtgatgggttcgttcgccacctgggagagcgcctttt
+ccagcttctcctgcacactgcggacttcgttctgccgttgccagccgtaatacttactgc
+cgtcgtactcaatgcccagcgcaattttataaactggcggttgttgctggtcggacatta
+gtacagatactcctgcaccagtttctcggcgatttttactgccatcagcgcgccgccaaa
+gcgaacgttatcggccaccgaccagaactggacttgctccggcataccgtagtcattacg
+cacgcagccaacagaaagatgcggcgtacccgaagcatcacctacctgagttgggaattc
+gttctcttcagagagcacaatatcttcgccttgaacaaacgcatcacgcgcttcttctgc
+tgccagtggacgcagagcttcaaagttgaccatctgggcatgaccgtagaataccggtgc
+ctggacgacgctagccgaaatcatcagcccttcgtcctgcaggattttgcgtacttcgtc
+aacgatacgacgttcttcacgcacgctaccttcgctatccggcagtaacggcagcatgtt
+gaacgccagctgacgcccgaagaaatcttcttcgtcaatcggaatgccgttgagcaattt
+cgcactctgccccgctaacgcatcgaccgcttttttgccctgggcggaggctgaaatcag
+gctggtaacgctgatacgtgataaaccgccctgatcgattaacggtttcagtgccgccag
+cagctggctggtcagactgtctggtacggcgatgacattccggttccggtaatctgtcag
+tacaaacgggtttacttccggcaccaccagcggtacgtcgggttcgagagcaaacaatcc
+actgctgtcgatcaccaggcaacctgagttggtcgcttcttcaacccaggcagcggtagc
+ttctttgcctgcgacaaaaaatgccagctgcgcctgcgtccagtcgaattcagcggcatc
+ctgcacggtgattgtcttaccaccaaagcgcagttgttcgcctgcgctttcgttacgtgc
+cagtgcataaatttccccaaccgggaactgacgttcagccagcgtttcaagcagggcttc
+gcccacagcgccagttgcgcccaggacggcaatgttccagccttcagacatggtggttta
+ctccagaaatagcaaagctccctgccaatgttacagcagagagcatgaagaagagattaa
+cgtgccggatgatgaacggcgttaaaacccagtttacacagcaatgatgccgcactggcg
+tcatcacaaattacatacagagatgaccattcacggcgctcaagatagtttttgcgcagt
+ttatcgaactcacccggtatcccggcgactttacgcagcggtgcgtcatcgcggcgcaca
+tcatacaccaaatgcaccagccttttcagcgtcggttgatcgagcgggccatgcagcgta
+atgcgaccaaactctggcgcaggcagtaatgtatccagcgcaacgtgctgttcatgccca
+ataaacttgctataagcttcaaacacttgcgtagtaccgcgtgctttaccttccagggta
+tagcctgcgatatgcgacgtgccgatatccacttttttcagcagctcgacgttgagttcc
+ggttcgccttcccagacatccagcactacgcttaacttctggccttcattcaggcaggtc
+agcaacgcagtattatcgacgactgcgccacggcaggcgttaatcagaatcgctccgggc
+ttcaggctacggatcagtttttcatccgccagatgtagcgttttgtacggaccatcttta
+aagagtggcgtatggaaagtcagaatatccgcgcgctggactaactcatccagcgagcgg
+aaatcaccctcatccccacggtcggcgcgaggcggatcgcaaagtaaggttttaatccct
+aacgcttccagtcgcgcctgcaatcgacgtccaacgttaccaacgcccacgatccccacc
+gtacggtcgtacagtgaaaatccatcgcgttcggcaagcatcagcagggaggagaaaaca
+tattccaccaccgcaatcgcattacagccaggtgcagcggaaaaaccaattcccgcctgc
+ttcaaccatgcttcatcgacatggtcggtccccgcagtggcagtgccaacaaatttaatg
+ggttttcctgccagcaaagattcattcactttcgtgaccgaacgcaccatcagcgcatcc
+gcgtctgccagttgagcgacggggattggacgcccgggaaccgcggtcacctcacccaaa
+cggctaaataagtcgcgggcataaggcatattttcatcaacaaggattttcacgtttgtg
+ttacctgtatgagacgagagttaaccggacaagtgtgccataatctcgcggccaggcata
+cttgcgaagatttcaggtataaggatacgtaatgatacaacctatttccggccctcctcc
+tgggcaaccaccaggtcagggagataatctgccgtctggcacgggcaatcagcctttatc
+cagtcagcaacgtacttcgctggaaagcttaatgacgaaagtgacctcactgacgcaaca
+gcaaagagcagaactgtgggcgggtatcaggcacgatattggtctgtcgggagattcacc
+gctgctttcgcgtcacttccctgccgctgagcataatctggcgcaacgtctgctggccgc
+gcaaaaaagccattctgcccgccagcttttagcgcaattaggggagtatttacgtctggg
+gaataatcgtcaggcggtcacggattatatccgtcataactttggtcagacgccgctgaa
+tcagctctcaccggagcaattaaaaaccattctcaccctgttgcaggaagggaagatggt
+tattccgcaaccacagcagcgcgaggcgaccgaccgtcctttattaccggcggagcacaa
+tgcgctaaaacagctggtgaccaaacttgcggcggcaacgggggaacccagcaaacagat
+ctggcaatcgatgctggaactttccggggtgaaagatggcgagttaattccagcgaaact
+gtttaaccatctggtgacctggctacaggcgcgtcagacgctaagccagcaaaatacgcc
+gacgctggaatcactacagatgacgctaaaacaacctttagatgccagtgaactggcggc
+gttatcggcatatatccagcaaaaatatggtctttctgcgcaatcatcgctttcttctgc
+ccaggccgaggatattcttaatcagctttatcaacggcgggttaaagggattgatccgcg
+tgttatgcaaccgctgcttaatccttttccaccgatgatggacacgttgcaaaatatggc
+aacgcgtcccgcgctgtggatactgttagtcgcgattatcctgatgctggtctggctggt
+tcgttaaccccgacgaaatgacagtatcgtgacaataatacccagcaccgcagagatcgc
+cccggcaagaaataccgaagagtaaccaaacgtggtcgccagcattcccgccagcggccc
+ggagacgccgagggcgatatcctgaaacgcggcgtaaccgcccagtgcggtgccgcgaac
+ttgtgaggggacgcgtttaaccacctccacgcccagcgcaggaaagataagcgaacatcc
+ggctccggttaacgccgcgcccgctaatgcgacccatgcacctggggcttgccagagcag
+caacaagcccaccgtttctacaagcagagagacaatcgccactttcacgccgccaaaacg
+gtccggcatccagccaaacatgacgcgcatcacgacaaatgcgccgccaaacgcggtaag
+agtaaagcccgccatcgcccatcctttgctggcaaagtagagcgaaacgaaagtcccgat
+aacagcaaaaccaacgccttgtagtgccagacctaaccctggtttccagataagcccgac
+aacgctccacagcgatggacgttctcccgccagggccggtactttgcgcactgtgccgtt
+acaggcccacgccagtacgggtaataccattgtggtgatcgccagtgcggcaaaaccgta
+atggctatgaatcaacaggccaagcggagcaccaacagcgagggcaccgtaaatcgccat
+tccgttccatgacatcactttgccagagtgttttggccctacgatgcctagtccccaggt
+cagagcgcctgtcagtaactggctttcaccaaagccaagaatcaaacgcccgacgaccaa
+cagagcaaatttgaacggtgcggagacaggcaaaatcgccgccagcagcaacgcgccgcc
+agccagaccacaagctaacattccctgaagcgccgaacgttttgcaccatattgatcggc
+cagtcgcccggcgtaaccacgcgtcagcaccgtagccagaaactgaatcccgacggcaat
+gccgaccatggtattgccatagcccagttcatgatgaacaaacagcgggataaccggcaa
+cggcaaccctacggtcatgtaggtgagaaaaaccgcaaaagcgatgcggaagagcgaaaa
+attggcagaagatcgtgtttcggtttggcttacagcagtcatgcattactccagaatgca
+gcgcaaggcgaggagtatccccgtctcatctctctggtttcagggttacggtgcgttggc
+aggatttaacgcgtacgtcttttcagaaggaaatcgacaaagcgggaagtttgcctggaa
+ctggcggcgattgtcaatgatgtgaaaaagggaaccatcaggttcccttttgcgttagtg
+ccggaggccgcattggcgcgtaacgtcggatgcgacgctggcgcgtctactccgacctac
+tgcgaattaatctttcagcttgcgcattaccagcgtggcgttggtgccgccgaagccgaa
+gctgttagacataacggtggtcagttcgcgatcggtcgtttcggtcacgatgttcagacc
+cgcagcctgctcgtccagctcttcaatgttgatgctcggggcgataaagccgtgttccag
+catcagcagagagtagatagcttcctgtacgccagcagcgcccagagagtgaccggtcat
+ggctttggttgcagaaatcgccgggctcttatcgccgaacacttcacggatagctgccag
+ctctttcacgtcgccaaccggagtcgaagtaccgtgggagttcaggtaatcgattggggt
+atcaacgccatgcatcgccatcttcatgcagcgtactgcgccttcgccagacggagcaac
+catgtctgcaccatcagaggttgcgccgtagccaacgatttcagcatagatgtgagcacc
+acgcgccagcgcgtgttccagctcttcaaccactaccataccgccgccgccagcgataac
+gaaaccgtcacggtgagcgtcgtaagtacgggaggctttttccggggtgtcgttgtattt
+agtagacagcgcacccattgcgtcgaattcgcaagccatttcccagcacagctcttcgcc
+gccgccagcaaacacgatgtcctgtttgcccagttggatctgctctactgcgttaccgat
+acagtgtgcggaagtcgcacacgcggagctgatggagtagttaacgccatgaattttaaa
+cggggtggcgaggcaggcagaaacgccggatgccatcgctttggtgaccacatacgggcc
+aaccgctttcaggccgcgcgggccgcgcattgcgtcagcgccgaacacctggaaacgcgg
+ggagccgccgccggaacctgcaatcaggccaacgcgcgggttattctggtaagcttccgg
+agagaggcccgcatcagcgattgcctgctccatagaaaggaatgcataaatggatgcgtc
+gctcataaagcgcacaactttgcggtcaatgaggccagtggtatccagttttacgttgcc
+ccagacgtggctacgcatgccggaatccttcagctcctgagagaaagtgatccctgaacg
+tccttcacgcagagatgccaggacttcctgctggttattaccgatgctggaaacaatgcc
+caggccagtaatcactgcacgtttcattcaatacctctgtaagtcgcacatagagtaagt
+ttcgaatgcacaatagcgtacacttgtacgccgaacaagtccgatcagccatttaataga
+gaaatttgcgcagccttacacacatcgctaagatcgagccaccgcctgtaagacgagtaa
+cttacgtgaaacactactccatacaacctgccaacctcgaatttaatgctgagggtacac
+ctgtttcccgagattttgacgatgtctatttttccaacgataacgggctggaagagacgc
+gttatgtttttctgggaggcaaccaattagaggtacgctttcctgagcatccacatcctc
+tgtttgtggtagcagagagcggcttcggcaccggattaaacttcctgacgctatggcagg
+catttgatcagtttcgcgaagcgcatccgcaagcgcaattacaacgcttacatttcatta
+gttttgagaaatttcccctcacccgtgcggatttagccttagcgcatcaacactggccgg
+aactggctccgtgggcagaacaacttcaggcgcagtggccaatgcccttgcccggttgcc
+atcgtttattgctcgatgaaggccgcgtgacgctggatttatggtttggcgatattaacg
+aactgaccagccaactggacgattcgctaaatcaaaaagtagatgcctggtttctggacg
+gctttgcgccagcgaaaaacccggatatgtggacgcaaaatctgtttaacgccatggcaa
+ggttggcgcgtccgggcggcacgctggcgacatttacgtctgccggttttgtccgccgcg
+gtttgcaggacgccggattcacgatgcaaaaacgtaagggctttgggcgcaaacgggaaa
+tgctttgcggggtgatggaacagacattaccgctcccctgctccgcgccgtggtttaacc
+gcacgggcagcagcaaacgggaagcggcgattatcggcggtggtattgccagcgcgttgt
+tgtcgctggcgctattacggcgcggctggcaggtaacgctttattgcgcggatgaggccc
+ccgcactgggtgcttccggcaatcgccagggggcgctgtatccgttattaagcaaacacg
+atgaggcgctaaaccgctttttctctaatgcgtttacttttgctcgtcggttttacgacc
+aattacccgttaaatttgatcatgactggtgcggcgtcacgcagttaggctgggatgaga
+aaagccagcataaaatcgcacagatgttgtcaatggatttacccgcagaactggctgtag
+ccgttgaggcaaatgcggttgaacaaattacgggcgttgcgacaaattgcagcggcatta
+cttatccgcaaggtggttggctgtgcccagcagaactgacccgtaatgtgctggaactgg
+cgcaacagcagggtttgcagatttattatcaatatcagttacagaatttatcccgtaagg
+atgactgttggttgttgaattttgcaggagatcagcaagcaacacacagcgtagtggtac
+tggcgaacgggcatcaaatcagccgattcagccaaacgtcgactctcccggtgtattcgg
+ttgccgggcaggtcagccatattccgacaacgccggaattggcagagctgaagcaggtgc
+tgtgctatgacggttatctcacgccacaaaatccggcgaatcaacatcattgtattggtg
+ccagttatcatcgcggcagcgaagatacggcgtacagtgaggacgatcagcagcagaatc
+gccagcggttgattgattgtttcccgcaggcacagtgggcaaaagaggttgatgtcagtg
+ataaagaggcgcgctgcggtgtgcgttgtgccacccgcgatcatctgccaatggtaggca
+atgttcccgattatgaggcaacactcgtggaatatgcgtcgttggcggagcagaaagatg
+aggcggtaagcgcgccggtttttgacgatctctttatgtttgcggctttaggttctcgcg
+gtttgtgttctgccccgctgtgtgccgagattctggcggcgcagatgagcgacgaaccga
+ttccgatggatgccagtacgctggcggcgttaaacccgaatcggttatgggtgcggaaat
+tgttgaagggtaaagcggttaaggcggggtaatctgctctcgcagtgtttgccggatgcg
+gcgtgaacgccttatccgacctacgtgtgacgtgtaggcctgataagacgcgataagcgt
+cgcatcaggcatgctgctccagacgccgcaacttactgctgtgacgcctgctgaaacagg
+ttttcccacatatcggtcaccagcgcctggtcacgcggcgacaattcaccagcaccaatg
+gctttttccagactctggctaacggtcgtatgcaccgcctgagcggagtggtcatcacca
+ctttccagttctgcgatggctaatgtcaggtggccacgcaaatacccactggcaaacaac
+tcatcatcactggcatggtcaaccataccgtcgattaatgccagaatgcgtgattcaaac
+tccgcgatcatcttctttcctcattgtaaaacgtggcgctggcttcagttgagcgcttcc
+ggccacgggaactgttccgccgtaagttccggcgtgtgataataattttgtagtgcttta
+atgaagcgtgccggacgttccggaatgccatttgtcagataatccatcacctgcgcatgt
+actcgccgttgaaacaccacacgatccggttcgaaatccccttccagattgtcgcaactg
+acgttaaacggatatcccgccgccacacagaacaaccagtcgagcgcctgcggcttcact
+tcaacatcttcaaactggctttgcgtttgggcatcgcgtccgtccgggcaataccagtag
+ccgaaatcaaccagctcacggcgcgctttcccggcaatacaccagtgcgaaatctcatga
+attgcgctggcataaaagccatgagcaaagacgattcggttatacggtacttccgcatca
+gcaggaagatagatcggttcgtcgtcgcctttaatcagacgggtattaaaatcatcggca
+aagcagctattaaaaatttcaatcaactgctcgtagtggtgtgtactgttcattagttca
+tccccaaccagtggaggatctcctgtccgtggctgtcgtaaagtaatttggcactcatca
+ccgccgagacgataacaatcatcgggcggatcagcttttgtcctttgctcaacaccagtc
+gtgaacccatgcgcgcgccgaggaactgccccaccagcatgacaaagcccgtcgcccaaa
+tcactttgccgccgagaataaacagcagtaaaccgccgatgtttgacgttgcgttgagta
+atttggcgtgagccgtggctttggcgaggttaaatccgcacagcgtaacgaaggccagcg
+cgtaaaacgacccggcagccgggccaaagaatccatcataaaaaccgacgcagccaccgg
+ctattaacgcgaagggtaaaccgtacatccggcgctggcggtcttcttcacctagctttg
+gcatcagcaagaaatagaggccgatacaaattaccagaatgggcaaaatctgccgtaaga
+catcagcctgaacgtattgcaccagcagtgcgccgctcattgagccgacaaaggtcatgg
+cgatattgagtttctgatcgcttaaactaaccactttgcggcgaataaagtagatagtag
+cggaaatagagccgccgcaggcttgcagtttattggttgccagcgcattagcgggagaca
+tccccgctgccatcaatgccggaatggtgagtaacccaccgccaccggcaatcgagtcga
+taaatcccgccagcatggcgacaaaaaagagaactcccagcaacagcggggaaaccataa
+acaggctattaaacgtttccattagatcacgtgctcatccagtagcgcctggcaggaagg
+cggcaacggaggcggtgtcttcttctcaggctttgttgttcccggttttggaggttcaaa
+ccagctttgcagttctgccccgcaaccatcgcctgatggcggtaaaggttgatcttcaca
+ctccagactatcggcagggcaacgtaatcgtacatgcatatgcgcgcgatgctggaacca
+gggtcgcactttgcgcaaccagtcgcgatcggtgcccgcatcaaggcaaagttgttgttt
+aatcgccggattaacaaaaatgcgcgtgacgtctttgtcctgggcggcgagtttgatcaa
+gctgaaaatttctggcttccacagcgtggagacaacgtgtttaccgtcgcgggaaactaa
+gtccagtgcttgcgggcgcaagagctgcgcggaggtccagcgagttttcggcagttgcag
+aaagatatcgacatccagtccggtctggtggctggcatgaccgccgttgaaacgcccacc
+agcgggcatccccatatcgccaatcagcaccgtacccatgcccagattgctcacctggct
+actcagacgctggataaacatcaccagatccgggtgaccgaaatagcgacgctgatcggt
+acgcatgacctgataatgttcggactgtatcggcagcgtgtcagcgccgacaatacagcc
+attagaaaaactgcctatcgattgtgcgctacccggcacaggttgggttattttttgcca
+cggcgtcgctgccaggctggcgctactggcaagcagagccagcagcgcaatcgcggtttt
+attcattttttaccagcgtggaatatcagtcttcacatcggcattttgcgcccgttgccg
+taacaggtgatccattaaaacgatcgccagcatcgcttctgcgatcggcactgcgcggat
+cccgacacagggatcgtgacggcctttggtgatcatctcaacttcttcgccaaagcggtt
+aatggtacgacccggcacggtaatgctggaggtcggtttcagcgccatatgggcaatgat
+ttgctgcccgctgctgataccgccgagaatgccgcccgcatggttgctctggaaaccgtc
+tttggtgatttcatcgcggttctggctgccgcgcagcgccaccacgtcaaagccgtcgcc
+aatttccacgcctttcaccgcgttgatgctcatcagcgcatgggcgatgtcagcatccag
+gcggtcaaagaccggctcgccaagtccggcaggaacgccactggcaacaacggtgacttt
+agcgccgatggagtcgccctcttttttcagcgcacgcatcaactcgtctaacgcgtcgat
+tttgtcggggtccgggcaaaaaaacggattttgctcgacctgcgaccagtctttgatatc
+cagcggaatgtcgcccatctgggtcaggcagccacggatttcaataccaaatttctcggc
+gagatattttttggcaatagctcctgccgccacgcgcatggcggtttcgcgggcggaaga
+acgtccaccgccgcgataatcgcgcagaccgtatttttgttcgtaggtgtaatcggcatg
+gcctggacggaaaacgtccttaatcgcactgtaatcctgagagcgctggtcagtgttttc
+gatcaacaagccaatgctggtgccggtagtaacgccttcaaaaacaccggagagaatttt
+gacctgatccggctcgcggcgctgggtggtatagcgcgatgtcccagggcgacgacggtc
+gaggtcatgttgcaggtccgcttccgtcagcggaatgcctggcggaacaccatcgacgat
+gcagccgagcgccagcccgtgcgattcgccgaaggtggttacgcgaaagagttgtccaat
+tgtgtttccagccatcacggctccgttattgttgtgtttgcgtgtttacttaatctttat
+aaatcgcgaaatgttctcgtgcggcaataagctgctctttggtgagcataaacacaccat
+cgccgccgttatcaaactccagccaggtgaacggaacatccggatattgttccataagat
+gtaccatgctgttgccgacttcacaaatcaacacgccatcatcagcaaggtaatctgccg
+cgttaccgagaatgcgacgcgtcagtttcaggccgtcagtgccagatgccaggcccagtt
+ccggctcgtggcggtattcgtttggcaggtcggacatatcttccgcatcgacatacggcg
+ggttagtgacaatcaggtcgtactgcactttcggcaagtcgcggaacagatcggaacgaa
+tcggaatgacgttgtggatcagaccgtgttcttcgatgttctgttcagcaaccgccagcg
+cgtctggagagatatccaccgcgtcgacttctgcatccgggaaggcataagcacaggcaa
+tggcgatgcagccgctaccagtacacatatctaaaatatgctgcggttgcttgctgataa
+gtccggcaaatttattgttgatcagttcaccaatcggcgagcgcggcaccagcacgcgtt
+catcgacgtaaaattcatggccgcagaaccacgctttgttggtcaggtaagccaccggaa
+tgcgttcattgacgcggcggatcacgcgttcaacaatacggtgtttttcgctggaggtca
+gacgcgcggtgcgcatatcttccggaatatccagcggcaggtagagcgaaggcaacacca
+gctgtacggcttcatcccacgggttatcggtaccgtgaccgtaccagatatttgccgcgc
+tgaagcggctcaccgaccagcgcaacatgtcctgaatggtttgcagctcatttactgctt
+catcaacgaaaattttatccacgtattcctccagggcatgatcgcaataatttcggcggc
+tagtttgccatgaagatgacgataaatcagcattcacgcgcggtgagtgaggaaaaatac
+gtttaaaacgatcgattgcgctacgagtcgggtaaactgtaggaaaattagaaatagaga
+cagataaatgaaaaagaaaacaacacttagcgaggaggaccaggctctgtttcgccagtt
+gatggcggggactcgcaagattaagcaggacacgattgtccaccgaccgcagcgtaaaaa
+aatcagcgaagtgccggtgaaacgcttgatccaggagcaggctgatgccagccattattt
+ctccgatgagtttcagccgttattaaataccgaaggtccggtgaaatatgttcgcccgga
+tgtcagccattttgaggcgaagaaactgcgccgtggcgattattcgccggagttgttttt
+ggatttacacggtctgacgcagctgcaggccaagcaggaactgggggcgttgattgccgc
+ctgccgccgtgaacatgtgttttgcgcctgcgtgatgcatgggcacgggaagcatatttt
+gaagcaacaaacaccgctgtggctggcacaacatccgcatgtgatggcctttcatcaggc
+accaaaagagtatggcggtgatgcggcgttgttggtgttgattgaagtcgaagagtggct
+gccgccggagttgccctgaggagttgagcgcgttgcgccaggtacgggtaatggcagggg
+cgaatgcccctgcctggtgtatctaagggctacaactcattcagtatgtactggaaccgg
+caagtagaatcgattggctgcatactgctggtatcaacacgcacgaccatatcgtgtaac
+tgtttgtccgttatagggtgtcgatttggcgtgaccgagacttccgccttgtcacatccc
+gacgcggtaaaagttatcatctgtgcaacccagcggcagtaaccacctgtttcattcatc
+tgcgtactgtcgcacaacttcccatctttcatcaaatacgttgaaagcgttttctcaacc
+acaccgcccgtcgactgcagggtgagcagttttgacttactgacataattctcattccat
+gaaacgtcataaggttgaacagaaacggatggacaaatcgtgtcgtgactatcaggcccc
+tgatacgtcacgccccctggagaggcttcagagtcattcataataaccaaccatggacaa
+gaaaagtaagattcaatctctgcagagacaataacctcaaatgtataatacccgcagttc
+cacccagacggtaatccaggacaacttgctttgttgatattttgatggtagccaatcagc
+ttaaccgaaggggcaggaggaggaccactccagctcacattttgcaatatttccccagtc
+atgagccattgactacttttatattcaccaacgtacactgcggatggcatcattattttt
+aaattaaaagtcgcaatattacgcgaatcaccgttgtaaccgtagtaaacgtcaacgcta
+tgcccggcagccatagcttctgtagtagcaataagcatgaccagagcgaacaaccatcgt
+agtattttcattttaaatatactcaaatgtcgcagttaaagaggcggtaaattcaccgat
+cgtcacatcacggccgcttttcgcctgtagccaggctctgaaattgatatcgttattgcc
+attggttagcgcaaaggtcgccccatttgtattgttgatggcaacctgcattccgtcggt
+tttttccatgccaattcccactccctgagcggttgatgacgtatccagtgccagaaaacc
+gggttgttcgctgtcttctacccccgtgagcgtgacttttacgttgtatcccgccggccc
+tttgcaatctttcagcttaaagactacgggtacacgagcggactggcctgcaacgttcaa
+atcctgacgactgaccgtgggaaagcgcacctctgccagatattggccatccaccaccag
+cgcacaggatttacttaataaattaccggagaaatgcagattattatctgccgcgaataa
+cgtgctactcattgccaatatcagccccgctaacaggacgtaaccaccggactgaatcat
+tgatttattcattgataatccacccgtaatgttgcgtaagccgaaaaattcgtatcgctt
+aacacagcatcactcgcttttaccggtacggcctccagcttcggcttttgcgtaaaatca
+gtggcgttgatagcaagcggagtattgagtttaaaacgctgaccatcgtgctgaagctcg
+ataccaaaaccgggtacatcagtttcaattgctgcatcattaaaactggtttgtgtacca
+gtccaggtgagggtcatctcccaatctggatgacgggtcgtcgagtcacaagtgagttca
+tatggcacctctttacgaccatagttgccgttgatgtcgtcgataatgagatcgcgaaat
+tcgacttcaatggttttaccaccgctgatgctacaggttggcggtgacaataatgtcccg
+tgaaaggtgatgtcttcatcagcagcatgagctatggcgctactgacacaaagcagggtt
+aagaaagtctttctcattgatagtccaccaccatggtcaaactggcgttaaactcgcccg
+cagcaagttgcgccccgcttgccttcacaggtacagccttcaactgtggctggttattga
+tattaaatggcgtccagctattttcaccgacggcaaacaatgagttatcggcgctatttt
+ctatccgaatgcccagcccggtgatattggtactgagtaccgtttcgccgttaatcgttg
+aggtattgcccttaagttgcatccgcaagtcgttagcaagactgtttgtgcagttcaacg
+tgtatttcgcatcttgccgataattggtgccatcaacgttatcagcaatcatattgccga
+actctacctggctgcccttgattgaacagggtggcggagcatcgaccaacacgcgcagaa
+ttaaatccacgggtttactaccagccatagcagataaactacagacactgcataccagca
+gccctgcgcccactacaaacttttgactcataactccccccgtcatcagcctttgcggct
+ctgctcttcatccacctggcagctgttgccattgcactggaagaacagcggcatccgtgc
+gccaaagtcgttgacgtaagtcagcaccggtacgctatccattttcacattcagcggtac
+cgtggttttcggctcaatgaccagaggcgagaaccctgcagctggattaccgtttttctg
+cgcactggcgttgctgataatcacgtagtacggcgttgggttattgacggtaaatgcctg
+accgctgcgggtgagcgtcaccttgtgctgccacggacttttcatactgaccttttccag
+cgcctttggtcgccagaacaacttgatacgcgtttgcagcgcgatttgcagggtattggg
+tttgtttgattttggcgggatctcgcgcacgttaaagtagaacatgctttcacgatcggc
+tggcaatttgttgatatccggcattccctgcacttttacctgcccgttcatcattgaatc
+gatgcgttgcactggcggcagcacagttaacggcgaggtgatcttgttacccttttcatc
+ttcaatccagctttgagccagataagggagtttcggatcgttattacgcagcgtcacgct
+gattgatttgtcgctttcattaaatatcaaacgggtacgatctggcgttacagacgccag
+ggcagacaaactggtagcgctaagcagtaacgccagcgtcatagcacccaatttggcaga
+gcaaagtaaatcagacatggatcattccttaatcacgttattggttagctgaaacagaaa
+cagggggatcggtgggtgtcacctgttgcgtctgctcctgaatgacaggctttatgtcat
+caggaacaaccggcgcgacgttgcctttatgctggcatggcagtaacaagccgttaaaca
+gatcggcaggcagcgggtccggcaggttgatatcgcaatgcgcaacaccactccagaaca
+cactcatatgttcgccaggtttcaccccagccagatagacactaccgtcatcatcgacaa
+ggcccactgtctgctcgttatcattttttacttctgcgccaaacggtggatggctgccat
+cttgtaaacgcagcaccgccatcgctttttgaccactgatgacggcaaatttgcggtagc
+caatggctccttcagttagcgtggcttgcaccaccgactgggttgcttcggcgttttccg
+gcaatttgttgaggtcgatatacgcctgattgcgataataattgttaacgtcagaaacga
+cggctttaccaaacatattggtataaacagcagccccgttaccttccaccggaacatcgg
+caacgccatcggcatcaatcagcaggcgtgtcccgcccatattctgggtacggtgaagtg
+cgccgccgtgggtagtaagcgttgcgccgccctgtaacgacaagcccgcagaggtgtatt
+gcccttcatggtagttcgcactgaggtcaacctgcgccagcgaaccatcatggctgtagt
+agccatcaacgctggtgtgtttgtcactggtgccgatgttcaactgatagtgagtcgcgt
+catcgacacggctaaaataaccgacctggctgctgtccgtcccactgccatagttgccgt
+tatagctaacggtactgttgtcgccccacggcatactgagcgaaatctacatgcccttat
+ccgcccggttgtcatactcgtagcggtagccagtcagggaaacgctcatattacgaatgc
+tgcccatattgaaatagtgggagagcatgatgttgtagtttgtctgctcctcacgatccc
+agtaggtatggcgggtatagttgagataaaccgaaacacccgcatcgcggaagttctggt
+tataagtggcggtgtacatctctttgtcgttgcccgtacggaccatttcgctgtcactgg
+catccagatactcgctcatggtcataaagttctcttccgagaagcgatatccagcgaaag
+tgacgcggctgttgagctggtcaaagtctttggaataactcacacggaaggagttaccgt
+ccagcgaacctttgccataagcggtgtctttatccagtttggtatgcgaatgagtaacat
+caaacgcgaccgcgccgaaggtagacaaatcgcgaccgacgcccagcgccgcagactgat
+agttttcatcacccagcgcaccgccatataacgaccagccgttagcgatgccccaggagg
+cttcagcaccagagaaaaatcccccctcgacatggtggccccactcttgcggacgtccca
+tcatgatcttatagcgaacctggcctgggcgagtgaggtatggcatcgaggcggtgctga
+tgtcatattcctgcacctggccgttctgttcttcaatgcgaatatgcaacgtaccggaga
+cggaatcaccaagatcctgaatacgaaacggtccagccggaacctgcgtttcgtaaatca
+cacgccccatctggctgacggtcacttttgctgtggtgtgtgccacgccggaaatgtctg
+gcgcgtagccgcgcagattgggaggcaacatttgatcgtcagtgctgacactgccaccaa
+cataattaaaaccgtcgaaaatatcggaattgaggtaatcttcgcccagcgccagtttgg
+cttttaatgacggtaacgcccgccaggcataatagcgactccactcccattttttttgtg
+tgtcatcgccgccaaattcatcgtcatcatcattactgcgcgtatgttgatagttggtct
+gccagtcagcgcgcatacgccatggccccaggttaaccccgaccgtcccgttgccgctga
+tctcgttactgtcatcgccgccattttcttcgtgtcgtgtttgcgcagtgatgctgtagt
+ccgcaatgatcccggagatgccatcatcccaacgagaaggtggatcccagtcgggccagg
+tatattcgaggtaagcctgcggtagtgaaatgactaatgcggactggcttaaatcagcct
+taatttccacgccttccagttgaccgggcttcaggcatttaccatcgtggctccattgca
+gatttttcgccacgtcttcttttaaaccaaactgcgccaccagttccggtgtcagacaag
+catagcttttgctaacgtcatcttcaccagcataccagtaaatatcgtactcttccgcca
+atggctgtttatttagttgaacctgtaaattgtattttccgggctcaacatacccctggc
+tggaaaaacgcttcagatcaatttttgtgtcgccttttaattccagaaaacgggaatcaa
+actgaatgtcgtcttcagcccagacactgctataactccctgacattgccagcgcaatgc
+accacggaagaatccgtaatcgaaaaagagaatggtcaggcatacacgtttttatccgtt
+tttattcttgttcggtcaaaatccatttaaataccccatagcagtgtcgctatgggggta
+tgccttacaggtaagtaatctggaaggtggtatttgcttcgaaattacccagatctggcg
+catcagctgcgccgaccagccaggctttaaagttcagagtctgcttcgctttgcctttat
+tagtggcagtatctttcacgattttctggtcaatacccatgccgcttttgtaagaggtac
+ccagagagtcaccgatcgccaggctaacattgttaaatgccgcaccggtatcggtattga
+aaatggtgtaataattgccgctatttgcagaagaaacggtaccagtaaaggtagtggtca
+ttgtttcctgagtatcaaatacgcaatcttgcaggcgaatctggaaatttttcggcgtgg
+tggtgccgttatttttcagtttttcggcaccgatatcacccatatcaacttccagtttgt
+gatcgtccggaacgatagaacacactgagtcttcaatggtgccgtaaaaacgtgcagtac
+cgttgttacccgcagcgattgttgccgtagaggtgaacgcgcccatcaccattgccgcag
+caatagctgttttaacaaacttactcattatttgtccttaaactataaataattaaaata
+taaacattgcaatacattgattcagtcaatagccaatgtttatacccagccattgaatac
+ggcatgcgatccaaaaaaacaggtcgtaaaaaatgtattcgttggtgtggggtcgaatag
+tgatgttttcactcccctgattcaatttaattttactaatgagtaaatgtagatttaatt
+aatatattgataggggaaagattatcttaaggatcttctaaaaaaacacgaaatatatat
+ttagaaaaaacaggaagcatatcaacaatgaatgccaatagcttaaaaaacaaacaatga
+acatataatgcgattggcattaacccgcttttgtcgatataatatataaacactatagcc
+agaatttaatcaagtttcaattacgtcctgcctgattattcaactctattttctccatta
+tctgtattaataaatgataatgagtgtcaaacagacattattcatttcaacatgtaactt
+tgggcaaaatcaagatacgcgcagaagaatactttccgaatgaaagttaaaggtgtttta
+tttatagatggggagagtcttcgatagtagtgaggttgacagatatccgctgcctgatga
+gcaattatgcccaatgaatctacctcattgggcataatttggaactcatcagatagcttt
+tgccatcttcagattacacgggctcatctgccagttgaatgtgccgtttccgctttcatc
+aagcgttacgctggcaatggccgaggtggtaaacataggcggcgtttcgcccggacataa
+ctcggcaaccagatacccgactaacggtaagtgagagatcaccagtaccgaagcaacacc
+ttcattggtcaacgcctgcaaataggcactgaccagaccaacatcgccgcagggcgttaa
+ctccggcagaacttctgcactggaaggcaggttcagacaatcccctacttcttccagtgt
+ttgctcggctcgcaggaacgggctcaccagaacgcgttcgatttccactttttgaccttt
+cagccagttcgccatcaggcgagattcgtcacaaccattagtggtcagaggacgaacgga
+atcactggcggcatcgagggctgcgtcgccgtgacgcatgataaaaacttgcatattgca
+ccgcttttgttaaccagattcgcccgttttctttcatctgaaaccagagaaagaaaacgg
+tggccggcattgtgccttatccattcaccgaatgaaacgctgttttttacctcaatggcg
+taagtatagtcaatatgcgtttacattttgaccaacactccgccattcagcgcggattca
+tatagctttgaccttcttattgcaggtcagttgcagttgttttccaaaaactttccccac
+gcgcgcccatctcgaccaaacgctcgcaaggggtaaaacgggaaccatactgcgtggcaa
+gtcgttgcattattgcaaccacttcgcccgcgccgagagaatcgatatagcggaacggtc
+caccgagaaatggcggaaaaccaatgccaaataccgcgccaatatccccgtcacgcacgc
+tacggataacctgctcatcaacacaacgtactgcttcattcagcatcaacatcacacacc
+gttcagcaacctgcggtgcggagattcgcccctgcccttgtgtgccaatcagcgggtaaa
+tggcgggatcgacctgttttttgcttttacgccctttctgaccataaagatagaaacccc
+ggccattttttctgcctttgcgatcgtcgttcaaaattgaagaaacaacatttgcaggcg
+cgctaaaacgttctccataagcggcttccagtacaggaataattttagtcccggtgtcga
+ttcctacctcatccaaaagttggattgggcctaccggaaaaccaaatttcactagcgcgg
+catcaatgtgctctacccgttcaccttgggtcaacatgcggatagcttcattaatgtaag
+gcgctaagatgcgattgacgtaaaaaccggctttgtcacgcacgacaattggcgttttac
+cctgttttttcgccagttttactgtggtagcgatggtttgcgccgatgtccccgcatgag
+gaataatctccaccagcggcattttttccaccggactgaagaaatgcaggccgataactt
+gctcaggtcgcgtggcgtgagcggcgatatcaccaatcggtaaagatgacgtattcgaag
+caaagatggtatgagcggcgcaattttgctcaacttccgccaccatctgttgtttcaatt
+cgagattttcaaacaccgcttcaataatcagatcgcgatgggcaaagccgcgatagtccg
+tcgttccggagattaatgccagctgtttgtcacgttcgctggctttgagatgacgacggc
+gaactttgccctccagctgatcccaactgtacttcagcgcatgatttatgccctgcgggt
+tgatatctttaattctgaccggaatccccgctttacaagcagtgacataagcaataccgc
+cgcccatcaagccaccacctaaaatccccacgctgtttaatggcgcaggcggcgcatcac
+tgccgggatctttcttcacgtccgtactggcaaaaaagatactacgcagcgcctgcgatt
+gtggcgtcatcgccagttcgccaaacgcccgagcttcggcgtcataaccgctgctggtgc
+cctgcgctaatcccgtttcaacaacctccaggatgcgttctgtcgccggataattgcctt
+gagttttgtgttctgttttcttgccgaccattttgaacagcagcgcacgacctaacggcc
+ccgccagaatacgctcgcgtacaggtagagggcgggaagatgggcgctccttctttgcca
+gctcaacagcggcttccagcagaatggagtgcggaacaacgtcatccaccagccccagct
+ttaatgcctgtttcgcccgaagttgttttccggtgaggatcatctctaatgctgtgctga
+cgcctatcagacgcggtaaacgctgggtgccgcctgaaccgggtaacaatccaagttgta
+cttcaggcaaaccgagcaccgttttaggatcgtcagtacaaacgcgaccgtggcacgcca
+gcgccaactccagcccaccacccaggcaagcgccatgaatagccgcgataacctgaatgg
+gcaaagcatgaatctccgccatcaactgttggccctgccgcgccagagcttccgcttctt
+gcgccgttttgcagttgccgatcatgttgatgtctgcgccagcaatgaagttgtccggtt
+tagcggagacaaacaccacgcctcgcaactctttgttttcacggagttgcttaataatgg
+cgcgcacctgcgaggcaaactccgccttcagggtattcattttctcacccggtacgtcga
+tggtgataacggcaatgttgtccagacgaacattaagggtaaacgctgatgtcatttcca
+ttattccgcctccagaaccattgccgcgccaagcccaccggcagcacaggcggtaactaa
+accaaatccaccgccgcgacggcgaagttcatgcaatgtctgggtaatcatccgcgcgcc
+ggtcgccgcgaagggatgcccgtaagcaatcgaaccgccaagcacgttaaatttgctatc
+gtccacttcgccagtggcatgtgcacgccccagtgcttcacgagcaaaacgttcactacc
+cagcaactgaatattcgccagcgtctgagctgcaaaggcttcgtgcatatcgatcaatgt
+cagatcgctcatcgtcaaaccggcacgctccagcgccagcggtgttgaccaggctggacc
+gagcaacatgtcctgccagacatcaatcgcagtaaatgcgtagctgcgcagataccccag
+cggcaccagccctaattctttcgcccgggattcagtcatcaggatcaccgctgccgcgcc
+atcggtcagcggcgtactgtttgccgccgttaccgttccgtgtttgcgatcaaacgccgg
+gcgcagctttgcgtaatcggcaagcgaggaattaccgcgaatattgttgtcttcgacaag
+cggttgtttataaggagggataaaggcagtcatcacctcttctttgagttttccgtctga
+ccatgcctgagcggcacgctgatgcgaacggtgcgctaatgcatcttgctgttctcgggt
+gatgccgtaggttttcgccatttgctctgcggtgtcgcccatccgcaagccggtagaata
+ttctgctaccgcaggtggtacgggcattaagtcgcgcaaacgcaggcgagagaagagttt
+cagtcgctggctcatggtacgagctttgttgacatcaaccagcacgcgcgccagtttttt
+actgacgccaattggcaataccgaagaggaatctgccccaccggcaatccccgctcgaat
+agttcccgccatcaggctttctgcgacgtttgcaactgcctggaaactggtagcgcaagc
+gcggctgacgctgtaagcatcggtatgtacattcattcccgtaccgagaacaatttcacg
+cgcaatgttgggggcttcaggcatttgtacgacctgaccaaagaccagttgttcaatcac
+ttcggcggggatctcgctgcgtgccagcagttcgcctaccaccatcttccctaaatcaac
+cgcgggaatgccatgaaaagccgtcgcctgacgggcaaaaggcgtacgtaaaccgctaac
+aatggcgatacgatcgccctggcgggtaaccagcggtaaaacctgacccataacactccc
+ctgtaaaaaaataaataaagtggtctgacctgatcatagtcttaaccatttttttacatt
+tagccaagtggagaaaagggaaagtgggagctatgacacagagagaaaagaagaagagaa
+aagaaaacgcccctgccagcaactgacaggggcgtacgtacccgagaggaattaacgcag
+acccagctggaaaatcagcatttcagcttcgcaggcaaaagtgaaatcgatatccaggcg
+cacaccgtcagactcttcagtgaaagtcggggtgattttgcaaggttcagattccacgct
+acgggctttttcagtcagcgccgccagcgtttgctctgcttctgcgcggtttgcaaacac
+gcggctgtaagacgcggtgcagtcggagttgtccataatggtgccaacatccatacagca
+gcaaaccggggtttcatcagcactacatttactcatcgttgatttcctctgtatgtgcac
+ccaaggtgccagataaacgttgtggatattttacgcttccggaaagtgctgctccagttg
+ttaattctgcaaaatcggataagtgaccgaaatcacacttaaaaatgatctaaaacaaaa
+ttcacccgaatccatgagtgcgccacctccaaattttgccagctggatcgcgtttcttag
+atcatatttgaaaaaagatagaaacatacttgcaacattccagctggtccgacctatact
+ctcgccactggtctgatttctaagatgtacctcagaccctacacttcgcgctcctgttac
+agcacgtaacatagtttgtataaaaataaatcattgaggttatggtcatgagccagaaaa
+ccctgtttacaaagtctgctctcgcagtcgcagtggcacttatctccacccaggcctggt
+cggcaggctttcagttaaacgaattttcttcctctggcctgggccgggcttattcagggg
+aaggcgcaattgccgatgatgcaggtaacgtcagccgtaaccccgcattgattactatgt
+ttgaccgcccgacattttctgcgggtgcggtttatattgacccggatgtaaatatcagcg
+gaacgtctccatctggtcgtagcctgaaagccgataacatcgcgcctacggcatgggttc
+cgaacatgcactttgttgcaccgattaacgaccaatttggttggggcgcttctattacct
+ctaactatggtctggctacagagtttaacgatacttatgcaggcggctctgtcgggggta
+caaccgaccttgaaaccatgaacctgaacttaagcggtgcgtatcgcttaaataatgcat
+ggagctttggtcttggtttcaacgccgtctacgctcgcgcgaaaattgaacgtttcgcag
+gcgatctggggcagttggttgctggccaaattatgcaatctcctgctggccaaactcagc
+aagggcaagcattggcagctaccgccaacggtattgacagtaataccaaaatcgctcatc
+tgaacggtaaccagtggggctttggctggaacgccggaatcctgtatgaactggataaaa
+ataaccgctatgcactgacctaccgttctgaagtgaaaattgacttcaaaggtaactaca
+gcagcgatcttaatcgtgcgtttaataactacggtttgccaattcctaccgcgacaggtg
+gcgcaacgcaatcgggttatctgacgctgaacctgcctgaaatgtgggaagtgtcaggtt
+ataaccgtgttgatccacagtgggcgattcactatagcctggcttacaccagctggagtc
+agttccagcagctgaaagcgacctcaaccagtggcgacacgctgttccagaaacatgaag
+gctttaaagatgcttaccgcatcgcgttgggtaccacttattactacgatgataactgga
+ccttccgtaccggtatcgcctttgatgacagcccagttcctgcacagaatcgttctatct
+ccattccggaccaggaccgtttctggctgagtgcaggtacgacttacgcatttaataaag
+atgcttcagtcgacgttggtgtttcttatatgcacggtcagagcgtgaaaattaacgaag
+gcccataccagttcgagtctgaaggtaaagcctggctgttcggtactaactttaactacg
+cgttctgataacgcgttcgcctggataaagtcacctgcatagcaggtgactttaactccc
+ccacttcaccgaaagtagtgtcctcattgcttacctcctgagttttgcaaacagcctgtt
+ggcagcttgccctttcaaatcaataagcggtatccacagacaaacctgaagggaaaggca
+tattttcaggcgttctgctcgtccttctcaaagagtttacttttctgcatttccaggata
+ctccccccccctggctattgtgcgctcatacactcaaattaaagataggttctaaataaa
+tgagcgttttttgatagtctatttcattaggtaatatatatttgtaacaaatcaatcaaa
+atggaataaaatcatgctaccatctatttcaatcaacaataccagcgcagcttacccaga
+atccatcaatgaaaataacaatgatgaagttaatggattagtacaagagttcaaaaacct
+ttttaatggtaaggaaggaataagcacctgtattaaacatctacttgagcttataaaaaa
+cgccatacgagtaaacgacgatccttatagatttaatattaataattcctcagttactta
+tattgatattgactccaatgatacagaccatattactattggtatcgacaaccaagaacc
+aatagaattacctgcgaactataaagacaaagaactcgtccgtactatcattaatgacaa
+catagttgagaagactcatgatatcaataacaaggaaatgatcttcagcgcattaaaaga
+aatatatgatggagatcctggttttatcttcgataagatatcacacaaactcagacatac
+ggtaacggaatttgatgagagcgggaaaagcgaaccaacggacttatttacctggtacgg
+taaagataaaaaaggcgactctctcgctattgtaattaaaaataaaaacggaaatgatta
+cttatctctcggttactacgatcaggacgactaccacattcaaagaggaattcgtattaa
+tggtgatagtctcacccaatattgtagtgaaaacgccaggagtgcttcagcgtggtttga
+aagcagtaaagctatcatggcagaatcatttgcaactggttccgatcatcaggttgtaaa
+cgagctcaacggggaaagactgagagaaccaaacgacgtttttaaacgttatggtcgagc
+aataagatatgattttcaagtggacgatgcaaaatataaatgcgaccatctaaaagaaat
+agtttctactttagtcggtaacaaaattaacgttggccattctcaaaaaatatataagca
+ttttaaggatctcgaaggtaaaattgaagaaaggcttcaaaatcgccaggctgaatatca
+aaatgaaattaatcaaccatctgcgccaggtgttaattttgatgatatttaaaattattt
+ttccagttttttgatttttcaacagctgaatatcggaaatagtcagtgacgaacatcagt
+atttttacataattacgtctaggtcattgtcggtttatctccttttacttgtggtaattg
+agggataacaacaaaaaaggtgagttttgcgactcaccttttttatttgtttcttattca
+gaatcaatatcttttaaatcatcctgaatcgcttgtgcgttcggattttcctgcggtttg
+agttcgccgccattagcgatgaaatcatgacgctggaagtacgcttcgcgcaccataata
+taaggatcggacgactgacgcagcagaccatcggaatccagcagctgagcgcgggtttcg
+atcccttcaagcgtccatttacccacagacatcggccaggtcagccaggaaagaaccggg
+taaaaaccatccgccatatcaccaccgtcatcacgcagcgtgaagctaccgtagaacggt
+aactgaacgtaaggcccataacccacgccataatgaccaagcgtactaccgaagcggtga
+ggttcagtccgttgcagtttcgggttcgccatccctgcaacatcaataaaaccgcccatc
+cccaaaatggtgttcaggaaaaagcgggtaaagtggaccatcccctgataagggtcgccc
+tgcaagaagtagttaaccatcaccgcaggttcttcaaggttgccagtaaagttgctcaaa
+ccgttacgcgccggttgcggaacataatcacgccaggcgacagcgaccggtcgaacaata
+tacgggtctaatacattgaagttgaagttgtacatggtgcggttgaacccttctaacggg
+tcagaacgcccttgctgatctgtaccggaactcgcacaccccaccagaagcgtagttccc
+agagcaagcgccgacaggcgaagcttcataaatgtctccctgtttttttatggcttatgc
+agtttgccatccatgacggaacgataccgtatccgcctgtttaggtgtgggcgattgtaa
+cagcacgtcaactgatgtccagacgccctgatttgctgatttgatcatagcctggtaatc
+gccgccctgtaggctacttgattctatagaaacagaaaaaggcaaacgcagccttttcta
+cattttcagagtaactcccgtcagttgcgagcaaaaaagccgctacgctttagctatacg
+tgctaattcaagagaagagaccatggacaacgacaaaattgatcaacacagcgacgaaat
+tgaagttgagagcgaagaaaaagagcgcggcaaaaaaatagaaatagatgaagaccgact
+cccctcccgggcgatggcaattcatgagcatatccgccaggatggtgaaaaagagctgga
+acgcgacgcaatggcgctactgtggtcagccattgcggcgggtctgtcgatgggcgcttc
+gttactggcaaaagggatatttcaagtcgaactggaaggtgtgccgggcagcttcttgct
+ggagaatctcggttatacctttggttttattatcgtcattatggcccgccagcaattatt
+taccgaaaataccgtgactgcggtactacccgtcatgcaaaaaccgacaatgagcaacgt
+cggcttacttatacggttatggggcgtcgtgctgctgggtaatattctcgggacaggtat
+tgcggcgtgggcatttgaatatatgcctatcttcaatgaagaaactcgcgatgcatttgt
+caaaatcggcatggatgtgatgaagaacacccccagcgagatgtttgccaacgcgatcat
+ttccggctggctgatcgccactatggtttggatgtttcctgcagcgggtgcggcaaagat
+tgtggtgattatattgatgacctggcttattgccctgggtgacaccacccatatcgtggt
+cggttctgttgaaatcctctatctggtgtttaacggtacgctgcactggagcgatttcat
+ctggcccttcgcactacctactttagcggggaacatctgcggcggcacctttatcttcgc
+gttaatgagtcatgcacagattcgtaacgacatgagcaataagcgtaaagcagaagcacg
+ccaaaaagcagaacgtgcggaaaacattaagaaaaattataaaaacccggcataaatggc
+gagggtttaagcaatcgagcggcagcgtacttaccccgcactccattagcgggtatactc
+atgccgcattgtcctcttagttaaatggatataacgagcccctcctaagggctaattgca
+ggttcgattcctgcaggggacaccatttatcagttcgctcccatccgtaccagtccgcaa
+aatcccctgaatatcaagcattccgtagatttacagttcgtcatggttcgcttcagatcg
+ttgacagccgcactccatgacgggtaaaaagtggataaaataattttacccaccggattt
+ttacccatgctcaccgttaagcagattgaagcagcaaagccgaaagaaaaaccataccgc
+cttctcgatggtaatggcctgtacctttatgtccctgtgtcagggaaaaaggtatggcag
+cttcgctacaagattgacggtaaggagaaaatcctgaccgtcggaaaatatccgcttatg
+actttgcaggaggcaagggataaagcatggactgcgaggaaagacatctcggttggcatc
+gatcctgtaaaggcgaaaaaggcttcgtctaacaacaattcctttagtgcgatttacaag
+gaatggtacgagcacaagaagcaagtatggtcagtagggtatgcaactgaacttgccaaa
+atgtttgacgacgacattttacctatcattggcggccttgaaattcaggatattgagccg
+atgcaactgctggaagtaatccgcaggtttgaagatcgcggtgcaatggaacgagccaac
+aaagcacgcagaagatgcggcgaggttttccgttacgctattgtcaccggaagggctaaa
+tataacccggcacctgaccttgctgacgccatgaagggataccgcaagaagaacttcccg
+tttcttcctgcagaccagatcccggcattcaacaaagcactggcaacattttcaggaagt
+atcgtatcgctcattgcgaccaaagttttacgctacacagccctaagaacgaaagagctt
+cgttccatgctatggaagaacgtcgattttgaaaataggattatcaccatcgacgccagt
+gtgatgaaaggacgcaaaattcatgtggttcctatgtcagaccaggtagttgaacttctc
+actacgctaagctccatcaccaaaccagtctcagagtttgtttttgccgggcgcaacgat
+aagaagaagccaatctgcgagaacgcggtactgcttgtgatcaaacaaatcggctatgag
+ggtctggaaagcggtcacggattcaggcatgaattcagcacgattatgaacgagcacgaa
+tggcctgctgacgctattgaagtgcaactggcacatgcaaacggcggatctgtgcgtggg
+atttacaaccatgctcagtatctcgataaacgcagagaaatgatgcaatggtgggcggac
+tggcttgatgagaaggtggagtgagcgaccttaacaactatcgaatagcacaaagtcttg
+caatccagtgcaaagctttgtgtgtataagttttgtctcatcaaccacagcaagtatcga
+tcgattaagacttggatgatagacttcattcctttgattattagctgatagaagaaatgt
+taaagctatttgcaaagtacacctctattggtgtgctgaacacccttatacactgggtgg
+tttttggtgtttgtatctatgtcgcgcatacaaaccaagctcttgcaaacttcgcaggtt
+tcgttgtggctgtgagctttagcttcttcgcgaatgcaaaattcacattcaaggcatcga
+ctacaacgatgcgctacatgctatatgttgggttcatggggacactgagtgctactgttg
+gatgggctgctgatagatgcgcacttcccccgatgataactcttgtcaccttctccgcca
+tcagcctggtgtgcggtttcgtctattcaaagttcattgtctttagggatgcgaaatgaa
+gatatctcttgtagttcctgtcttcaatgaagaagaagcgataccaattttttataaaac
+ggtacgtgaattcgaagaattgaagtcatatgaagtggaaatcgttttcataaatgacgg
+cagcaaagacgctacggagtcaatcattaatgctctggctgtttcagatcctctagttgt
+tccgctgtcatttacacgcaactttggtaaagaaccagcattgtttgcagggttagacca
+tgcaaccggggatgcgataatcccaattgatgttgacctgcaagacccgattgaggttat
+tcctcatcttattgaaaaatggcaagcaggtgctgatatggttcttgctaaaagatctga
+ccgctcaactgatggacgcctgaagcgaaaaacggctgagtggttctataagctccacaa
+taaaataagcaatcctaaaattgaagagaatgttggtgatttcaggctgatgagccgtga
+tgttgtcgaaaatattaaacttatgccagaacgaaaccttttcatgaaaggtattctgag
+ctgggtaggaggaaagacagatattgttgaatacgtgcgagcggaaagaattgctggaga
+tacaaaatttaatggatggaaactttggaatttagcacttgagggtattacaagcttttc
+cacattccctcttcgcatctggacatacatagggttagtggtagccagtgtagcatttat
+ttatggggcgtggatgattttagatactatcatatttggaaatgctgttaggggatatcc
+ttcactacttgtttcaatactgtttttaggtggaattcagatgattggaataggagtatt
+aggtgaatatattggacgcacatacattgaaaccaaaaaacgcccgaaatacatcatcaa
+gagagtcaaaaaatgaataaagcaataaaagtatcattgtatatatcttttgttttgatt
+atttgcgccttatctaaaaacataatgatgttaaatacatctgatttcggaagagccatt
+aagccattaattgaagacataccagcatttacatatgacttacctttattgtataaattg
+aaaggtcatattgattcaattgatagctatgagtatataagttcatatagttatattttg
+tatacatacgtcctgtttattagcatttttactgaatatcttgatgctagggtgttatcg
+ttatttctaaaagtaatatatatttattcattatatgcgatatttacttcatatataaaa
+acagaaaggtatgtaactttatttacattctttattttagcttttcttatgtgttcttca
+tcaacactgtcaatgtttgcatcattctatcaagagcaaatagttataattttccttcca
+tttttggtgtattcattaacatgcaaaaacaataaatctatgcttttgctatttttttcg
+ttgctaataatatctactgctaaaaatcaatttatattaaccccactaatagtgtattca
+tattatattttttttgatagacacaaactaattattaaatctgtaatatgcgtggtgtgc
+ttgcttgcgtcaatatttgcaatatcttattcaaaaggtgttgttgaattaaataagtac
+catgcaacatacttcggtagttatctttatatgaaaaacaacgggtataaaatgccatcg
+tatgttgatgataagtgtgttgggttagatgcctggggtaataaattcgacatatcattt
+ggcgcaaccccaacagaagttggaacggaatgtttcgaatctcataaagatgaaacgttt
+tcgaatgcactctttttattggttagcaaaccaagcaccatcttcaaacttccatttgat
+gatggtgtgatgtctcagtataaagaaaattatttccatgtatataaaaaactacacgta
+atatatggagaatcaaacatactaacgactattactaacataaaagacaatatatttaaa
+aacattagatttatatcattgttattattttttattgcttctatttttattagaaataat
+aaaataaaggcatctttatttgtagtatctctttttggaatatctcaattttatgtgtca
+tttttcggggaaggatatagagatttaagcaagcatttatttggaatgtatttttcgttc
+gacctttgcttatacataacagtcgtttttttaatttataaaataattcaaagaaatcaa
+gacaatagcgatgtaaagcactaagtttaaattgcgcgccaatcatggcgcgcacaagct
+ataataccaacctaatttctcctcctcttagagtgactatatctcctgatagaattgcgg
+tattgactatcaaatgccctgattcgttgtttattgtaatatctcctctatctgcagacg
+ataacttaaatgcatcattgcccacaacaaaccccctccagaaccaagtgctgatattat
+catcaacagtgatagatacatatactaactgattatcgttataagtgattcctgtcttat
+acttaacataaggacttccactttgattctcgatagacacataacatccaggggttatgt
+ttgtatgcgtcccgcgactatcgccccattaacgccatacgataaatgggatggtgagaa
+atgggtgacggataccgaggcacagcatagcgtcgcagtagatgcagcagaagcacagcg
+ccagtcgctgattgatactgcaatggcttccattagtctgattcaactgaaattacaggc
+tgggcggaagctgatgcaggcagagacctcccgacttaacactgtgctggattacattga
+cgcggtgacggcaacagataccagcaccgcgccggatgtcatctggcctgaactgccgga
+ggagtaggccattcaatatctggcgcactggaagtatcgaccagctccagtgcgtccaga
+taatccagccacaaattatattgcgccagttcctcacctttcagacgaccaatagccgct
+ttaccagcccattgtttactgttcatataatcgttggcctgattaatcaattgctgcttt
+ttcagttcggctgcagcaatctgttcctcatgtgttggtggtggaatttcagaccatgca
+ggaaaaccattttctccagcgatacggatttttcctttcggcggtaatccggaaaactca
+atatacacttgctcatcaacttcaacagcatcatctggccatgagccagcttgcgtgtaa
+tcctctttcatctccaagggatagaaagagtttgtagtcgcggaatatatgtaattcatt
+tttcactccataaagttaaaagaaattaacaccctaatgcgaaaaatgaagcaccgatac
+cgggtacgcctgctctggaaataaatttcaccgggtcctggttataaccggcacaagcta
+tatagccaacatttgcactgccgggagtgtaatcctgagtcgcaaatacccgcagacatc
+tattcggaaatgcaatcggaaaataggttactgtgtcctgagacgtcagcggaacatcaa
+ttggcccccattgaataattaaaccggatggcaatttttgatatccaggaactgaagcag
+aaagcataaaactacccatatcaggtatctgattcgcccctgtccctacatttcttttag
+ccgcttctcccaaaccaaggttttcgagagccttttgcaccgtgccgtccaatttgatat
+cgccaaacggattcttgcggcttaacagcagcgcacgaagcgcggtaagcagctggtcat
+gccgccccttctccaggctggcaccggaggcctccacaacgctgcaaagctcctcctgca
+acatgtcaaagtagtcatcatccagatcggtggcaggcgtgccggtctgggggttaccac
+gggtacgggggattaccaaaggcagcacctttaagctccgcaagacgttctgaccagtca
+tgcgccagcgcgttgtcttccgcagtgtaatacgcggcacatttggcgttatcaccatca
+gtaaacagatccagaacaaacgggccaaacagggtgttaattccccagaaaatgttgtcc
+ggcgtgcgccactgatcgcccacttccttcagttcatgggctggtttgttccgcagctcc
+accagcgcctggcaatatttattactcattaagcccccacgtaattccctgagagatacc
+actcttcacctgatgcagcccgcttactgcttttccgtaaacaccgttcacgacgcgcca
+gaaaattgtttcgttctggctgggagtggctttcacggaatgccgccatccacaccgttg
+cagcacgacggtataagcccctggactccagttcttccgcctggcgggtcaggcacaaaa
+tcacccgcgggtcgttagtgccgacatagaaattgcgcacaggtctggtttcacgaactg
+gttgtggttccggatcctgcgctctctcagtcaggcgcgggaaatgtctgtgtgtatctc
+cttcacaacggtgagccacacgcccactctgacgtaacttgcttgctgactgcagaacgc
+gctgccgtgagtaacctgcaaaagcatccgcaatgtctccggaagtacagcccggatggg
+cttcaatgaatttctgaacgtcattcaaaagactcatgctcaccccctgaatcctgccgg
+gatctggctgtagtccacattgtcgtaactggctttgaagtacgggtcttcgcgtttttc
+tgtgtacgtgctgacggacggcgataagcgcagggaaagctcatcccatttttcccgcag
+cttcgacgggctgagcacgttacggcaccagaacggatcgcggctgacgcggctgtacat
+ctcgcagatttgtttgtgagtacgaccatcctgcacacacatcaggcgaatttcgtttgc
+ccaggctgtccagttcggttctttgggacgaaccacctcgccgtcacattcggcggcctg
+ctcgtacagggcgatgatttttttccagagccactgtgcgcaggtcaaatcatcctgcgt
+tccccactggcgctttttagggctgaatacaaccgcatcaggatggcgagttaaaaaatc
+ctgttcatccgtctgcgtgtccggttgcgaagcgtccggacgagaaggttttttatctga
+cggatcatgttttgattttactgacggatccccgccagattctgacgggtgaaaacccga
+ttttttgccagatttcgacgcatcaaattttgacgggtcagattttgatgcgtcagattt
+tgacgggtcagagtctgacagttgagaaaatgccgctgcctgaagcttcgcaacgttaag
+ctgataaacattcgacgcattgcggttatgatgaggagcagcaaaatggctagcgaacgc
+agtactgatgtgcaggcatttatcggggagctggacggcggcgtatttgaaaccaaaatc
+ggcgcagttctcagtgaagtcgcttccggtgtgatgaacacgaaaaccaaaggtaaggtc
+tcactcaacctggaaatcgaaccatttgatgagaaccgtctgaaaatcaaacacaaactc
+tcatatgttcgcccgactaaccgtgggaaaatttccgaagaagacaccaccgaaacgccg
+atgtatgtcaatcgcggtggtcgcctgactattctgcaggaagaccagggacaattactg
+actcttgccggtgagcctgacggaaaactccgcgcagcaggtcattaatatcattcttaa
+ttaactaattatttatctcatcactgaatatcttaatatagtgaggacttattatgtctc
+agaacttagacgcaaccgcaattaatcaaatccatgcccttatttctgctcagggtgtta
+atgaaattatcagtaagattggtgccgatgctgtggcattgcctgagaatttccgcattc
+atgatctggaaaaatttaatttaaatcgcttccgtttccgtggtgcgctttccactgcca
+gcatcgatgactttacccgttattctaaagatcttgcagatgaaggcacccgctgcttta
+tcgatgctgataatatgcgtgccgtcagtgtgcttaacctgggtactattgatgaaccag
+gtcacgcagataacaccgccactctcaaactgaaaaagacagcaccgttctctgccctgt
+tgtctgttaacggcgagcgtaactcccagaaatcactggcagaatggattgaagactggg
+ccgactaccttgtgggctttgatgctaatggtgacgccattcaggcaacaaaagcggctg
+cggcaatccgtaaaatcacgattgaagcaaaccagaccgctgattttgaagataatgact
+tcagcggcaaacgctccctgatggaatctgtcgaagcgaagaccaaagacattatgccag
+tggcatttgaatttaaatgcgttccgtttgaaggtctgaaagaacgtccgtttaaattac
+gcctcagcattatcactggcgatcgtcctgtactggttctgcgcattattcagctggaag
+cggtgcaggaagatatggctaacgaatttcgtgatctgcttgttgagaaattcaaagaca
+gcaaagtagaaacctttattggtactttcaccgcctgatttcattactgcaaatgcccct
+gcgggggcatttatggaaacgtaattaactcaataatcaccggatggtgagggcttcctt
+ttacccaaactcagcgcggtgcagcgcatatacgtggagaacaaaatgtcatttattaaa
+actttttccgggaagcatttttattatgacaagataaataaagacgacatcgtgattaac
+gatatcgcggtttccctttcaaatatctgccgctttgccggtcatctttctcacttctac
+agtgtcgcccaacatgcggtgctttgcagccagctggtgccgcaggaatttgcttttgaa
+gcattaatgcatgatgcaacagaagcgtattgccaggacatccccgcaccactgaaacgc
+cttcttcctgactataaacggatggaagaaaaaatagatgcagtaatccgtgagaaatac
+gggttacctcctgttatgagcacgccagtgaaatatgccgatctcattatgctggcaacc
+gaacgccgtgatctcgggcttgatgatggctctttctggcctgtactggaaggcatcccg
+gcaacagagatgttcaacgtgattccactggcaccgggtcatgcctacgggatgtttatg
+gaacgttttaacgatttatcggagttacgcaaatgcgcatgaatgttttcgaaatggaag
+ggtttcttcgcgggaaatgtgtaccgcgagatctgaaagtgaacgaaacaaatgctgagt
+acctggtacgtaaattcgacgcgcttgaagctaaatgtgcggcactggaaaacaaaataa
+taccagtgtcagctgaactgccaccagcaaatgaaagtgttctgttatttgatgctaacg
+gagaaggctggctgattggctggcgttctctctggtacacctggggacaaaaagaaaccg
+gagaatggcagtggacatttcaggttggggaccttgaaaacgtcaatatcactcactggg
+cagtaatgccaaaagcaccggaggctggagcataatgaccacatttaccaataaagaact
+gattaaagaaatcaaagaacgaatcagcagcctagaggttcgagacgatattgagcgccg
+tgcttatgaaatcgcactcgtatctctggaagtagagccagatgaacgcgaagcctatga
+attattcatggaaaagcgtttcggtgacttagtagatcgtcggagagcaaaaaacggcga
+taacgaatacatggcatgggatatgactctcggttggatcatctggcagcaacgagctgg
+tatccatttttcaacaatgtcacaacaagaggtgaaataatagagccatacagcctcaca
+ctcgatgaggcctgtcagtttcttaaaatatcctgatctaccatcgccgtcatagagcgt
+atttttattacctgatttgcaggttcgattccctattcggagatagcactcatgcaacac
+gaactacagcctgattcactggttgatttgaaattcatcatggctgatactggctttggt
+aaaaccttcatctatgaccggattaagtcaggcgacctgccaaaagccaaagttatccac
+gggcgagcaagatggttatatcgtgaccattgtgaattcaaaaataagctcttaagccgc
+gccaatgggtaaaatagcgggtaaaatatttctcacatctaaaaaacaccattccaatca
+atcccctgctgcttcaagtagatgtctgcaggggacaccatccttgtgtttatccctaaa
+accacataaaaaccgtaaattaaattcgaactagcaggccgaataaggcacaccaggaac
+tcgtggttttattcattatgaagtggtttttacctgttctcttagccagataataaacgc
+ttcaatttttggccactgcctgcccggtaatgtggtgatgtaataatgctgatggcattt
+caccgtcatatcgccaaacggcgcgacgagctcaccactggcaagccttttttgtaccag
+gcgttttcttcccatcgccaccccaatatgattcatcgcggcaataacagctaaatcaga
+acgatcaaagccaattccagaagatgtcggcaaattaaccgcataatgttgcgcccaact
+atgccattcatccgtaccggagtcgttgctccatgcctgtctgtcatggagcaacgtaca
+gtgacacaggttaattaccgtgttggttaaagcatgtctttgagcgtattccgggctaca
+tactggcaggatttcttcatccatcagaaagtgatgagtgagttgcgctgacggcgcatc
+atcaaagtagatcgccaaatcgattccggcacgttgcagattgacgttgtcattaccagt
+gagcacggtgagcgaaatagacggataccggcgtgtaaagtcacctaatgcgggcaccaa
+ccagcattgggcgatagagggccgggaatacagagttaacgttcccgataactcctgatt
+tttgatatcaagaatttcctggttcagggtatccagcgacgattttagcgcccaataaac
+acgtttcccctcgtgcgttaattccactttgcgatgggaacgaacaaacaactgaatgcc
+caattcttcttccagctgattgatacggtgacttaccgcactggggctcagcgacaattc
+ctctgccgccagggcgaaggactgatgcctggcagccacttcaaaagtatgcatttttga
+taattgccagccgttaagcagccgatttcttatttcacgaaggggttccataatcacctc
+atttttcgcttaagtgtaaaaaaatagcggcaaaatttcagctatgagatgagctaaagt
+gaaccatatctcaattcaccttcatttttagatgtaaatcactccattgatgcaatttac
+ctcatgtgaaaggcaaattttatcgtttgtcagcctgcgttgtttttttgtccaatatca
+tcaggttaatcacaggggaaggtgagatatgcactctcaaatctgggttgtgagcacgct
+gcttatcagcatcgtgttaattgtactgaccatcgtgaagttcaaattccacccgtttct
+ggcgctgttgctggccagcttcttcgtgggaacgatgatgggcatggggccactggatat
+ggtaaatgctattgaaagtggaattggcggaacgctggggttcctcgcagcggttatcgg
+ccttggcacgatactgggaaaaatgatggaagtatccggggccgcagaaagaattggtct
+gacacttcaacgctgccgctggctttcagttgatgtcattatggtgctggttggcctgat
+ttgtggcatcacgctgtttgttgaagtgggcgtcgtgctattgattcctctggctttttc
+aattgccaaaaaaaccaatacctcattattaaagcttgccattccgctatgtaccgcatt
+gatggcagtgcactgcgtggttcctccacatccggctgctttatatgttgccaataagct
+gggcgcagatatcggttcggtgatcgtctacggtttgctggttgggctgatggcatcact
+gatcggtggcccacttttccttaaatttctgggtcaacgactgccctttaaacctgtacc
+cacagagtttgcagatctcaaagttcgcgatgaaaaaacactaccgtcattaggcgcaac
+gttattcaccatactgctacccattgcgctgatgttggttaaaacgattgccgaattgaa
+tatggcgcgtgagagtggtttgtatatcttggttgagtttattggcaaccctatcactgc
+catgtttatcgccgtgtttgtcgcctattatgtgttgggtatacgccagcatatgagcat
+ggggacgatgctcacacatacggaaaatggcttcggttctattgctaatattttgctgat
+tatcggggccggaggcgcattcaacgccattttaaaaagcagcagtctcgctgatacgct
+ggcagttattctctccaatatgcatatgcacccgattcttctggcctggttagtggctct
+tattctgcatgcggcagtgggctccgctaccgtggcaatgatgggggcaacggcaattgt
+tgcacccatgctgccgctgtatcccgacatcagcccggaaattattgcgattgctatcgg
+ttcaggtgcaattggctgcactatcgttacggactcgcttttctggctagtgaagcaata
+ttgcggcgctacgctcaatgaaacatttaaatactatacgacagcgacatttatcgcttc
+agtcgtcgctctggcgggcacattcctgctgtcatttatcatctaagcgcaaagagacgt
+actatggaaaacgctaaaatgaactcgctcatcgcccagtatccgttggtaaaggatctg
+gttgctcttaaagaaaccacctggtttaatcctggcacgacctcattggctgaaggttta
+ccttatgttggcctgaccgaacaggatgttcaggacgcccatgcgcgcttatcccgtttt
+gcaccctatctggcaaaagcatttcctgaaactgctgccactggggggattattgaatca
+gaactggttgccattccagctatgcaaaaacggctggaaaaagaatatcagcaaccgatc
+agcgggcaactgttactgaaaaaagatagccatttgcccatttccggctccataaaagca
+cgcggcgggatttatgaagtcctggcacacgcagaaaaactggctctggaagcggggttg
+ctgacgcttgatgatgactacagcaaactgctttctccggagtttaaacagttctttagc
+caatacagcattgctgtgggctcaaccggaaatctggggttatcaatcggcattatgagc
+gcccgcattggctttaaggtgacagttcatatgtctgctgatgcccgggcatggaaaaaa
+gcgaaactgcgcagccatggcgttacggtcgtggaatatgagcaagattatggtgttgcc
+gtcgaggaaggacgtaaagcagcgcagtctgacccgaactgtttctttattgatgacgaa
+aattcccgcacgttgttccttgggtattccgtcgctggccagcgtcttaaagcgcaattt
+gcccagcaaggccgtatcgtcgatgctgataaccctctgtttgtctatctgccgtgtggt
+gttggcggtggtcctggtggcgtcgcattcgggcttaaactggcgtttggcgatcatgtt
+cactgcttttttgccgaaccaacgcactccccttgtatgttgttaggcgtccatacagga
+ttacacgatcagatttctgttcaggatattggtatcgacaaccttaccgcagcggatggc
+cttgcagttggtcgcgcatcaggctttgtcgggcgggcaatggagcgtctgctggatggc
+ttctatacccttagcgatcaaaccatgtatgacatgcttggctggctggcgcaggaagaa
+ggtattcgtcttgaaccttcggcactggcgggtatggccggacctcagcgcgtgtgtgca
+tcagtaagttaccaacagatgcacggtttcagcgcagaacaactgcgtaataccactcat
+ctggtgtgggcgacgggaggtggaatggtgccggaagaagagatgaatcaatatctggca
+aaaggccgttaataacgtttcaacgcagcatcgcaatcctttccctgggtgagcgatgct
+gccgatggcgcagacttaagatccccggtcttacccgctataaccccctccttttatcat
+cacccaacgcctttcgctgtaaacggcggtttcgcaaaccaaaccaaaaccgtaagtaag
+ataaaagcaatagccgccatacggaaaatctcatttgcagaaatagaaagtgactgctgg
+gttatttcattattaatttcattaagaactcctgaaagcgaaccataatatttatccata
+atttgtgacgatgaattaaacacggggttaaattgatcgatggttgctgtcaactgacta
+tggtgtaacgattcgcgtcgtccccacagcgtcattgtcaacgacgtaccaactgatcct
+gacaaggtacgaaaaaaattactcatactcgaggcattggcaaatttattatctggcaag
+cctgaaaacgaaatcgttgttaagggtaaaaagaaacaggcaacggcgaatccctgaaaa
+aactgcggcaaaatgatgcctgtaaaatcaatcgttggcataaatgtcacagaacgccag
+taatagcaaaccgcatacatcaaaaaactaaatgtcactaacaaccgcatgtctattttg
+ttgccataacgtcctatcaaaggtgaaattaatagtggcatgatgccgatgggcgcataa
+gcaagtccggcccatatcgcattataccccatcgtttcctggagtaactgcggcataagg
+acgatcgctccagagtaaaataaatacgcgcatgtgatactcacaataccaatggtgaag
+ttacgggacttaaacaaactgagatcaagaatcgggttctctgaggtcgactcccaaatg
+actaaagagatcagagaaataactgatactactgttaatattattattgtactcgagttg
+aaccaatccagatcgcgccctttatcaagcataatttgcaagccaccaacaccgagcact
+aacagggtcagtcctggtagattcattttgaccggtgaagtctcagtttctcttccttta
+agtaaggttaagcataatgtcaggacgataatccccatagggacattgattaaaaatatc
+caaccccagctaaagttatcacaaatataaccgcccaatatcggcccacatatcggagcg
+ataatcacggtcattgaccataatgccagagcaaatgttcttttttctggcggataattc
+cttaataataaactctgtgacagtggaattaacggccccgccattaacccctgaacgact
+ctaaaaaatatcagcacatcaagattggtcgataggctacacattaatgaagacagcgaa
+aaaaaagtgactgaaagtaaaaataatcttaattcgcctattctttgtgccaacctgcca
+gtaacagggatcgcaatggcatttgctacaccaaacgaggtgataacccaggtgccttcg
+tctgttgatgctcccagaaagccagatattgtcggtattgcgacgttagaaatagtggaa
+tccaacatttgcataaatgtcgctaatgacaatgcaatagtgacgcaccataacgtccca
+ccggttaatggtgccggagttgatttagtgattgccattaaagttgtccattatgcgaaa
+taatgttgctaatttctttttctatcggactggtatcgataactaaagccttactggtat
+aagccggcatggaggtcacggttgaagccagctcaggcatctcggcaatgtcttcgttct
+tcgtatcaatagttgctgtcatcgataaaccaatacgcaaggggtgttccatgagttctt
+ttggatcaagagaaacttcaaccggtacacgctgaacgattttgatccagttccctgtcg
+cattttgtgcaggtaataaggagaacgcattgccggttcccatattgatccctgtcaccc
+gaccatgaaacacaacattttcaccataaagatcgctgataatattgaccgattgaccaa
+tccgtacatccgtgagttgtgtttctttaaagttggcattaacccacatttgacgtgccg
+gtacgacagccattaacgattgtccggggctcactgtttcgccgacctgaacacttctct
+gggcaatatagccggtaaccggactcttaatatccgtacgtttaagcgccaaccaggctt
+ctttagttgcatccgccgcttcaacgacttgtggctgacggtttaatggtgtgttcatta
+ctaaagctttattcgctttataagcctggatagcggcattcaatgccgctttgctactta
+ttaacgtatctttggtatgctccagcgtttcttttgaaataaccccctgcttcgctaacg
+gcactcgacggttataatcttctaaagattgttgatactgaatacgtgctgaagcgactt
+cggcactgtattgtttatcctgtaagtatagtttattcgtttgccgaacaatatttgcca
+gattatttttagctttattgagtgcgatagtggcatcagttttatccagtgaaactaaaa
+tgtcaccttgtcgaacgtagttcgtatctttatgattaacgacagtgacactacctgaga
+cttgtgcagaaattggatctgcattccccgtgacataggcgtcatctgtactaatcatgt
+cttctaattccattgaccaataggcataggcacctgaaaacgcaataaataaaactaccg
+ccaataaagaaaagtattttcttctgttagaatgttttttatttgaattaatctgttcca
+ctattatctctcatttctcatagatgaaatttatgaattgaatgaaaagagcattcattc
+ttcatatcaaacacagtgcatgtgttgcacattatcccaggaacgttggaggcctaattt
+aaatgaggtgcaaaaaaaacaacagaggactaaaccgtggcttttgcaatacaattctta
+cgcctgtaggattagtaagaagacttatagtgccaacttgaaactataaatcatcggtac
+aatccctgattttattgttgacatttcatttatgccgactatttatatggtatacttgtc
+gaattatcttaaaggaagctcagattttcttatttttattgagaaaatgagatgacgcct
+tatgtctgtattactacagggagaagggagatgcttcattgcaaagggaataatctatga
+acgcaataattattgatgaccatcctcttgctatcgcagcaattcgtaatttattgatca
+aaaacgatattgaaatcttagcagagttgactgaaggcggaagtgccgttcagcgggtgg
+aaacacttaagcctgatatcgtcatcattgatgtcgatatccccggagttaacggtatcc
+aggtgttagaaacgctgaggaagcgccaatatagcggaattattattatcgtctccgcta
+aaaatgaccatttttacgggaaacattgtgctgatgctggcgctaatggtttcgtgagta
+aaaaagaaggcatgaacaatatcattgcggctattgaagctgcaaaaaatggctactgct
+atttccccttctctctcaaccggtttgttggaagtttaacgtccgaccagcaaaaactcg
+actccttatcgaaacaagaaattagtgtcatgcggtatattcttgatggcaaggataata
+atgacattgctgaaaaaatgttcatcagcaacaaaactgtcagcacttataaaagtcgcc
+tgatggaaaaattagaatgtaaatcactgatggatctttacacattcgcacaacgtaaca
+aaatcggctaaccacatgaagtttttaccctatatttttcttctctgttgtggtctttgg
+tcgaccataagtttcgcagacgaagattacatcgaatatcgtggcatcagtagtaacaac
+cgtgtcacacttgatccactacgtctgagcaacaaggaattacgttggttagcgagcaaa
+aaaaatcttgtgattgcagtacataagtcccaaacggctacgttgttgcataccgattcg
+cagcaacgggttcgtggtattaatgctgattatttaaatcttttaaaaagagcgttaaat
+atcaaattaacactccgggaatacgcagatcatcaaaaagcaatggacgcgcttgcagaa
+ggtgaagtcgatatagtgttatcacatttagttacttcgccgcctcttaataatgacatt
+gctgcaaccaaaccattgataattacctttccggcgctggtaaccacccttcacgactca
+atgcgaccgcttacctcaccaaaaccagtaaatattgctcgggtagcaaattacccccca
+gacgaggtaattcatcaatcatttccaaaagcaacaattatctcttttacaaatttatat
+caggcattagcatccgtctcagctgggcacaatgattactttattggtagtaacatcatt
+accagcagtatgatttcccgctatttcactcactccttaaatgtagtgaaatattataac
+tcgccgcgtcaatataattttttcttgaccagaaaagaatctgtcattcttaatgaagta
+ctcaatagatttgttgatgctttaacaaatgaagttcgctatgaagtatcacaaaattgg
+cttgatacaggaaacctggcctttctgaacaaaccattagaactcactgaacatgaaaaa
+cagtggattaagcagcatcccaatttaaaggtgctggaaaatccttactcgcccccctat
+tctatgacggatgaaaatggctcggttcggggcgttatgggggacattcttaatattatt
+accttgcaaacaggtttaaatttttctccgatcaccgtttcacacaatatccatgctgga
+acacagcttagccccggaggatgggatataatacctggcgctatttatagtgaagatcga
+gaaaataatgttttatttgctgaagccttcataacaacgccttacgtttttgtcatgcaa
+aaagcgcctgacagtgaacaaacattaaaaaaaggaatgaaagttgccattccatattat
+tatgagctgcattcgcaattaaaagagatgtatccggaggttgaatggatacaggtcgat
+aatgccagcgctgcatttcacaaggttaaggaaggtgaacttgatgctctggtcgcgaca
+cagctaaattcgcgttacatgatcgatcattactatcctaatgaactttatcattttctt
+attcctggcgttccgaatgcatcgctttcgttcgcttttcctcgcggagaaccggaactt
+aaggatattattaataaagcactgaatgcaattcccccaagcgaagttctgcgcctgacg
+gaaaaatggattaaaatgcccaatgtgaccattgacacatgggacctatatagcgagcaa
+ttttatattgttacgacattatccgttttattagttggcagtagccttttatggggattc
+tacctgttacgctcagttcgtcgtcgtaaagtcattcagggtgatttagaaaaccaaata
+tcattccgaaaagcactctcggattccttaccgaatccaacttatgttgtaaactggcaa
+ggtaatgtcattagtcataatagtgcttttgaacattatttcactgcggattactacaaa
+aatgcaatgttaccattagaaaacagtgactcaccctttaaagatgttttttctaatgcg
+catgaagtcacagcagaaacgaaagaaaatcgaacaatatacacacaggtatttgaaatt
+gataatggcatcgagaaaagatgcattaatcactggcatacattatgcaatcttcctgca
+agtgacaatgcagtatatatttgtggttggcaagatattactgaaacgcgtgatctaatt
+aatgcactcgaggtagaaaaaaataaagcgataaaggctaccgtagcaaaaagtcagttt
+ctggcaacgatgagtcacgaaataagaacaccaataagctctattatgggcttcctggaa
+cttctgtcgggttctggtcttagcaaggagcaacgggtggaggcgatttcacttgcctac
+gccaccggacaatcactcctcggcttaattggtgaaatccttgatgtcgacaaaattgaa
+tcgggtaactatcaacttcaaccacaatgggtcgatatccctactttagtccagaacact
+tgtcactctttcggtgcgattgctgcaagcaaatcgatcgcattaagttgcagcagtacg
+tttcctgaacattacctggttaagatcgaccctcaggcgtttaagcaggtcttatcaaat
+ttactgagtaatgctctcaaatttaccaccgagggggcagtaaaaattacgacctccctg
+ggtcacattgatgacaaccacgctgttatcaaaatgacgattatggattctggaagtgga
+ttatcgcaggaagaacaacaacaactgtttaaacgctacagccaaacaagtgcaggtcgt
+cagcaaacaggttctggtttaggcttaatgatctgcaaagaattaattaaaaatatgcag
+ggcgatttgtcattagaaagtcatccaggcataggaacaacatttacgatcacaatcccg
+gtagaaattagccagcaagtggcgactgtcgaggcaaaagcagaacaacccatcacacta
+cctgaaaagttgagcatattaatcgcggatgatcatccgaccaacaggctattactcaaa
+cgccagctaaatctattaggatatgatgttgatgaagccactgatggtgtgcaagcgcta
+cacaaagtcagtatgcaacattatgatctgcttattactgacgttaatatgccgaatatg
+gatggttttgagttgactcgcaaactccgtgagcaaaattcttccttacccatctggggg
+cttacagccaacgcacaggctaacgaacgtgaaaaagggttaagttgcggcatgaactta
+tgtttgttcaaaccgttgaccctggatgtactgaaaacacatttaagtcagttacaccaa
+gttgcgcatattgcacctcagtatcgccaccttgatatcgaagccctgaaaaataatacg
+gcgaacgatctacaactgatgcaggagattctcatgactttccagcatgaaacgcataaa
+gatctacccgctgcgtttcaagcactagaagctggcgataacagaactttccatcagtgt
+attcatcgcatccacggtgcggctaacatcctgaatttgcaaaagttgattaatattagc
+catcagttagaaataacacctgtttcagatgacagtaagcctgaaattcttcagttgctg
+aactctgtaaaagaacacattgcagagctggaccaggagattgctgttttctgtcagaaa
+aatgactaaatagcggctcccacaatgttcaaatgtgggagctatttaccagcacatctt
+acatttatgatgagaactcctggcgaatttgttccccatgctggtcgagcgttgccgctc
+ccggcataacatgcgggtccgcgcagccgctgatttttatcggattacccggcatcatta
+ttcccccggcttcaatcaacatatttctcgcctgagtttgtggcaatttaatggcctcag
+ccacacttaataacggcgcgacgggtacaccaacttcatgtattctggctaaccaaactt
+cagctgcctgcgtttttaacgtccgctcaatatattgtttaagaatagcctggttttgta
+cgcgtaaaatattgctgctaaatcggggatcattaaccagttccgtaagctccagtgcct
+ggcataacgcagaaaaaagcttgtcattaccacaacaaatcgtaatcggcttatcctgag
+tattgaaaacatcaaaaggtgccatgtagggatggcgatttcccagacgttgtggtgact
+tcccagttgcgatatatgccatcagaccatgctccagaaaactcagcgtggcatcaaaca
+tcgctatatcgacatgcgcccctctctggctcttttcgcggccataaagtgcactcacta
+ttccgctgaataaatagacaccgccgcatagatccgcaagagatgtaccaacgcgcactg
+gcggagcatcaggatatcctgtttccatcattatcccgctcattgcctgaatgatggtat
+cgtaggcaggagcatcttttagcggaccggtatgtccgaaacctgacgatgaagcatata
+tgaggcgcgggttgatttcttgaagcgtttcccatgaaaaccccagtttttccattgtac
+ctgggcgaaaattctcagctaatacatcagcttgtttgagcatatttataaatatacttt
+tatcgtgatcattctttaaatcaagaaccacactctctttgccatgattaataaaactgt
+aatagagtgactgtccatccacatagggaccaaatgtgcgggtatcatcaccatgacccg
+gcggctcaactttaattacccttgcgcccatattacaaagaagttgagttccgaaaggtc
+cattaaggacatgtgtcatatcgataactaataagccttcaaacggccctttgctttcat
+tatttgtcatttgcttatgccttgaaaaaagccgaaggtgaaaagacacttcggcattta
+tgtaaaatcaataacatgattaattatgaaaccagtcgactgacataaatccacaaggga
+gccgtgacgacaaagcccagtacgctcacagccaatgacgctgtaccagtacgggtgtag
+acattaaaccggctggcaataatgattccggagaatgccggcggtaatgcgcctgccagt
+accatcatctgcagatgttcgctgttcaaatgacatgccataccaacgagaagcagtgcc
+agtggcatcagaatcagcttcaggaaggtgttataagcaatttcggcactgaactcgaat
+ttatgtgcagccagagtcaaccccgcagcgaataccgctacccctgagttagccttcgca
+atcagattaaaggttgggtcccatgctgccggaatttttaccccaaccaacaccaggatc
+gttgccagaacaggtgcccatactactggctcctttgccgcagaaattaatgcgctcaga
+ttactattcttcttaccatccgctcctgaagaaggattcagcaaatacagaccaatagga
+atagtaattgcgttaacaataatagaaataattgctaccactaaacctgttgatacggaa
+tcaccataaataggatcgagaactgcaaaccccaggaatccaatggtaggtgaacctgca
+attaatgcacatacagctgcttctgcatgggtacgtttaaaaaatttgtagcaaccgaac
+caggagaaaaagaaacatccgacaataaccacaagtgatacaagggtcagacgagtgtcc
+gcaaaaatcatttccctgtttgcccgagtaatagatacaaatagagccgcaggaagcgcg
+tagtttaataccagtttattaaatgcccgagcttgatcttctgaaaatgtttctcgtctg
+ccgctaaaataacccaacagcatgattacgataataggcaataaatcgccaataaaaaat
+gttagcataatagtatttccgataagggtcccctcaccatcgcataatgagttggcaaga
+ggagacgatgtcagtatttaattaccagcgacttgttttgggttaagtttggtaatatgg
+ccactttcagttcctgctgcagggtcgatgaccacattaataatggtcggtttgcgcgac
+tgaataccggtggttaaagcatgacgaagttcatctgtcgtggtgacgttatagccaacg
+ccacgaaacgcatccattaatttgtcataccttgcatggtgcaacagatccgttggtgat
+ggtgcaccagcgccactgagatcaacaccgtctcctctgtagatgccgccattattaaaa
+ataacgatcgtcaccggcaggttatatcgacaaatcgtttcaatttccatcccactgaaa
+ccaaaagcactatcaccttcaatggcgacaaccggagaaccagaagtcacgctagcaccg
+atggcatagcccataccgatgcccatgacaccccaggtaccacaatccagacgacgacgt
+ggtttatacatatcaataatatttcgtgcattatccagggtatttgcaccttcattaact
+aaataaatatcctggttctcgcgcaatacgtcgcgcacagcacttaatgcattaaagtaa
+tttaatggttgagtatctgtacttaatttttcatgcattttttgtgcattttgctgcttg
+tggatatttaaaatatcgcgccataccagtggagtcgtaaatgtgttttgtttcagttct
+gccagcataccttgcatactggatgcaatatcaccaacgactggcacagcaatggggcgg
+ttgctgtcaatttcctgcggttcaatatccagttgaataaactgtgtatctgccgcccat
+ccttttttaccgtgtgccaataaccaattcagtcgtgcaccaacaagcatgacaacgtca
+gcatttgccagggcaaacgaacgcgcagctgccgcagaaagtggatgcgtatcttcaagg
+atccctttcgccatagacattggcaggaatggaatctgagcactttcaataaattcacga
+agctgttcatcagcttgtgaatacgccgcgcctttgccaaggataattaatggccgttca
+gcttttgctaaaagcgaaattgcgctagtgactgacttcgggcatggcaataatgctggc
+gacggattttcaactttaacaatcgtggttaacgcttcgtctttttccatcgtcgcggcc
+aggacatttgctggcaaatcaagataaactccgccagggcgacccgatacagagacccgg
+atagcgcgtgccaatgcaatgccaagatcctgcggctgattaacgcgaaatgctgctttg
+gcatacggttttgccgcattcatttggtccagctcttcataatcaccttgctgtaggtcg
+acgatcgcgcggtcgctggagccgctaatcatgatcatcggaaaaccatttaccgttgcg
+ttggccaatgcggtcaaaccattgaggaatcctggcgcagaaactgtcaggcagatcccc
+ggtttttgggtaagaaaaccgcttgccgcagcggcatagcctgccgactgctcatgacga
+aaaccaatataacgaatgccttccgcctgggcatggcgtgccatatccgtcacaggaata
+cctacaacaccataaatagtgtcaatattattctgttttaatgcttcaacgatgatatgc
+ataccatctgtcatttgaagttgatctgacatgattaataacctcgaaatttttataaat
+tgggagccagaagcccccgttaatatcagatggcgtggttttgcttcattgcagcaattt
+catcgtcgctataacccagctcctgcaatacagcagcggtatgttcacctaatagcggcg
+cagctttaatatccggcgtaaaggcagagaatttcattggacaaccaacggtcagatatt
+ttccacgcaacggttgttccacttcaacaacactgccactttggcgcaaagagggatcaa
+gtgaaatttctttcatacttaaaaccggtgcacaaggaatatcaaactgagtcaaatagg
+ccaccgcttcatgtttatcaatagtgacagtgtatttttcgatttcagcaaaaatatcga
+aaatatgtggctgtcgtgcatgggctgtactgtatgccggatcggtaatccattctggtt
+tgccgatggctttacaggtgttttcccagttttgctcctgaatagtgaaataaatatagg
+cgttaggatcggtttcccagcctttacatttcaggatccagccaggctgaccgccaccac
+ctgcattaccaccgcggggaactgcatcaccaaatgtaccattcggatactgcgggtatt
+cttccagataacccaatttatcgagacgctgctggtcacgtaatttcacgcggcaaaggt
+tcaatacggcatcctgcattgacatggtgactcgttgcccacgccccgttttttcgcgat
+gcagcaaagcagcaagtaaaccgatcagcaaatgcattccggtgttgctgtcacccaacg
+ctgcagcgcttaccagcggcggaccatcccaaaaacccgtagtggatgccgcgccacccg
+ctgcctgagcaacgttttcataggcttttacattcacataaggcgaacactcatcaaacc
+ctttgatcgaaccaaaaatcagacgtggattgatttcttgaatatgctcccaggtgaagc
+ccatgtgatcaatggcccctggatgaaagttctcgactaagatatcagcttcgcggatca
+gcttttccattacctctttgccttccgctgttttggtatttaactcaatagaacgtttgt
+tactgttaagcatggtgaagtaaagcgcatcgatatcaggaatatctcgcagctggtgac
+gcgttacgtcaccaacgccgggacgttcaattttaataacgtcagcgccaaaccaggcca
+gcatttgagtacaagatgggccagattgcacaccggtgaaatcgagaactttaattcctt
+gaagtggagttgacatagcaatacctattagttaattaaatatgtgttaatttagcgttt
+atttaaggcgtaatatcttctataaataacccgcaaaatatcgtcgtagctgcactcgat
+atttttaaaatcctgtatcaagtgctgaaaatcatttcatcgccacttccaattcctttc
+tgcatggtaagtagtgaggacgaaaagaagaatatgataaatattgattcgtggtaatca
+gagagagtcgcgacatttgtgatgttattcttacaactgtaagaagcgccggtgatttac
+aagcaagggtatgattacgctttttaaagcgtaccataaaacataacataataaatgatt
+tgtgatgacacgggattattgcggtttactttgaggaatataaaatgcgagtttatagca
+ccgcgagcgccaaataattttatgaccacaacctgtcgtattgtggtcataaaaaattgt
+cggctggagggagttaaatcctttacctcaatatactgcctgtcagcattagttcacaaa
+cagtgcttcgctatcgacgatgattccatcttccgcacctttaagcgccaggtttgcctc
+gtagtattgctttttatcaagcagtttctgcgcatcagcaagtgcattacgagtctgttt
+aagtggcatcagatattggttttccattacgccaacaccggccaggcgaagctcttccat
+tgcgccctttttatcccctttcgccattttttcattggcaatttttatcgcggcttcttt
+ttcgggagttgctacataactctcagaaattccgacagatgcattaatgacaatatattg
+gtcatcattgagattggtctttttacctggcttagcgaactttgcccattcggtactgtc
+atctgacagcaaagcggaagcttcattggtcagttcttttgccttttctggatcgccatg
+aaacagagccaggcgcgctacctgcacgtcacgcatcgcatataaaccttgttcagagat
+acgctctgctgccgctgccgttttctgggtttgctgaacttgctgagtttgctgttgtgc
+cgctaccggagcattatcagcagcccatacagttgaagatgccagaattgctgtgaccat
+cgtggccataattaaacgtttcatacttacctcattctttaacagttttagaaaacgccg
+ccatcatattgggtgagcatgaaatgagaaatcagagagcaacggtcattttgaaagggt
+tatcttacagttgtagttattatcgcaagaagtattttagtcttacaattgtaggaatat
+gcttcctgtcgcagagaactattcttatataccacaaagagatgtcatttattatatcga
+tgtaaatactgattaattaaatgtaaatacagccataacatcgtaggttctcagtgaacc
+attttcaggataactttctatgaaagtaaacttaatacttttcagcttatttttattggt
+ctctattatggcatgcaatgtttttgcattttccatttcgggtggtggaagtgagaggag
+ctataaagagactgaaaaaacatcagcgatgacgaccacacactctacaaaacttcagcc
+atcacaggcgattttgtttaagatgagagaagatgcgccaccattaaacctcacagaaga
+aatgccgcccccttttccgacaaaggcgaattatcttattcatcctgtgcgatagcgtct
+ttcacatggcaggtgaacaatcatgtctgatgctgatgtgaacacctgcccaaatgagcc
+atcctgacccactaccgcctgccataccccaccataaagcgaatcatcaagccacaagcc
+ggggcaagaaacataaatatccccgtcactagttcattaccgccagttaaccacatggtg
+aagtaataaatgagtgcagcgaggatcaccatgccgaagaaagaagagaccgccgatacc
+acgttcagtacctgaccgatgtagccgcttacgcagacaatacacagggcgagaaacatc
+cataaattaatcatagctcaacctcctgccgcgctaaaaaacctgtaacttcagtcactt
+taatagtaagacaatccttaacctctggcaatttttgctaagcatcaatgaaaacagcat
+gttaaatgcaagactgttgtgtacggaaaaatatttactttgcacgattaataatcagta
+gctgaaagcagtcagcgagtgataaagtacagataccgcattcatgctcctcgtggttat
+gtcctgactagtctttacactctttacaggaaccattgtcgtacatgatggcccaaccaa
+ttgagtgtaccgctgtcgacatggaatcttctgcgatacaacaattcgtatctacagaag
+gtaactatgtttccacaatgcaaattttcccgcgagtttctacatcctcgctactggctc
+acatggtttgggcttggtgtactctggctttgggtacagcttccttatcctgttctctgc
+tttctcggcacgcgtattggcgcaatggcgcgaccattcctgaaacgtcgtgaatctatc
+gcccgtaaaaacctggaactttgtttcccgcagcattctgcggaagaacgcgagaagatg
+attgccgaaaactttcgttcactcggcatggcgctggtagaaaccggcatggcatggttc
+tggcccgacagtcgcgtacgtaaatggtttgatgttgaagggttggataaccttaaacgc
+gcacaaatgcaaaatcgcggcgtaatggttgtcggcgtccattttatgtcgctggaactg
+ggcggccgcgtgatgggactgtgccaaccaatgatggctacctatcgtccacataataat
+cagctgatggaatgggtgcagacccgtgggcgcatgcgctctaacaaagcgatgatcggc
+agaaataatctgcgcggcattgtcggtgcactgaagaaaggtgaagcggtatggtttgct
+cccgatcaggattatggtcgtaaaggcagctccttcgcgccgttctttgcggtggaaaat
+gtcgccacaaccaatggcacctatgttctctcccgtctctctggcgcagccatgttgacc
+gtaacgatggtaagaaaagcggattacagcggatatcgtttgttcatcaccccagagatg
+gaaggctacccgacagatgaaaatcaagccgctgcctatatgaacaagattatcgagaaa
+gagatcatgcgcgcaccggagcagtacctctggatccaccgtcgctttaaaacgcgcccg
+gtgggagaatcgtcgttgtacatttaacaaactgctcttactctttccctcctcaaatcg
+gccataataacctcatggtttttatggcttttttcttaaggttttttccttcgctgaata
+tctaattattaccgtcagaaattaaactgtcgccgatatgagacacttgtaagttactaa
+aagtaaataagaaaatgcctcttgtctcgtttcagttttaggcgtacattagcgccgtct
+cgagcagtttagctcagaattctggggtgatgcccacggtaaaatacagggcttttaagg
+tcgctttgcccggtgtcaactcactgtatcaggtgtaatgaagtcattcaggcgtaacag
+taattacgcggagagatgtaaagtgaaatatttctttatgggcatttcttttatggtcat
+cgtttgggccggtacttttgccctgatgatctaaaagcaaactgtgcaatgaaaaacagg
+agccatcaggctcctgtttgcatttctgacgacggtgtttattccgcgttttcgtgaata
+tgtttgctgctggcgggtagtaaaccgtcggcacggaacatcgctttaatccctctgatg
+gcctgacgaatacggtcgcggttttcaatcagtgcaaagcgaacatgcgtatcaccatag
+tcgccaaagccaatccccggcgagacacaaaccttcgcttcgttaaggagcttcttggca
+aattccagcgatcccatggccgcatatggttccgggattttcgcccagacatacatcgaa
+gccttcggcatttcaaccatccagcccgcttcatgcagccctttaaccaatacatcacgg
+cggcgtttgtactgttcggcaatgtcgcgcacgcactgttgatcgccctccagcgccgca
+atcgccgccacctgcaacggcgtaaaggtgccgtaatcgtgatagcttttaatacgagcc
+agggcgctgaccagcgttttgttgccaaccataaagccgatacgccagcccgccatgttg
+tagcttttcgacagcgtaaagaactcgactgccacatcgcgtgcacccggtacctgcata
+attgacggcgctttccagccatcgtagacgatatcggcataggccaggtcatggaccacc
+agcacatcgtagcgtttcgccagcgccactactttttcgaagaactccagttccacgcat
+tgcgcggttgggtttgacgggaagccgaggatcatcatcttcggtttcggataactttca
+cgaatggctcgctccagttcgttgaagaaatcgacaccttccaccagcggcactgagcgt
+acctgcgccccggcaatcaccgcgccataaatatggatcgggtaacttggattcggcacc
+agcaccgtgtcaccatgatccagcgtcgccagcatcagatgcgccaggccctctttcgaa
+ccaatagtgacgatggcttctgattccgggtcgatttcaacgtcgtagcgatcctgatac
+cagcgggaaatggcgcgacgtaaccgcggaatgccgcgtgaagtggagtaaccatgcgtg
+tccgggcgctgggccacagtacataatttttcgacgatatgcggcggagtcgcaccgtcc
+gggttacccatgctgaaatcgataatatcttcgccgcgccgacgcgcagccattttcagt
+tcagcggtgatgttaaaaacgtagggcgggagacgatcaatgcgcgtaaagcgacgttca
+gggcgagtgtcagccataatttcctcagattaacgttagcgcccggaccgtccgagcgac
+gctgccacgatggtggctgttttgaaaatagcctgattaatttctgtctgtccagcgttt
+tagaacattttattaatgacgttaaatgaggaactctgctttaaaaacaggaaatttatc
+tgcgctaacaagaaaattaccactcattttattaacataataatttcaataaatttacta
+accagaagtgcattatcaagagatgcattgctaatacaccatttatctatcaatcccctt
+ttaaaattgtggtttttcctcaaaaacggcctgctggtcatcagccttcaggttacctat
+catagaggtttaatccttattcagagtcacccgtgcacgaaatattcaacatgctgctgg
+cggtcttcgatcgggcagcgttaatgcttatctgcctgttctttctcatccgtatccgcc
+tgtttcgcgaactgttgcacaagtcggcgcactccccaaaagaattgctcgccgttaccg
+ccattttctcgctgttcgccctgttcagcacctggtccggcgttcccgtagaaggctcgc
+tggtgaacgtacgtattatcgcggtgatgtccggcgggattctgtttggcccgtgggtag
+gcatcattaccggcgtgattgcgggtattcaccggtatttaattgatatcggcggcgtga
+cggcgatcccctgctttatcaccagcattctggcgggttgtatatcgggctggatcaacc
+tgaaaatccccaaagcacagcgctggcgcgtcggtattctcggcggcatgttgtgtgaga
+cgttgaccatgattctggtaattgtctgggcaccaactaccgcgttggggatcgatatcg
+tctctaaaatcggcattccaatgatcctcggtagcgtctgtatcggctttattgtgcttc
+tggtgcaaagcgttgagggcgaaaaagaggccagcgccgcgcggcaggccaagctggcgc
+tggatatcgccaacaaaacgctaccgctgtttcgccatgtcaatagcgagtcattacgca
+aggtctgcgaaattatccgcgatgacattcacgccgatgcggtggcgattactaataccg
+atcatgtgctggcctatgttggcgtgggtgaacataactatcagaatggcgatgacttca
+ttagcccgactacccgtcaggcgatgaattacggaaaaatcatcattaaaaacaatgatg
+aagcccaccgcacaccagagattcattccatgctggtgatcccattgtgggagaaagggg
+tcgtgaccggaacgctgaaaatttactactgccacgcgcatcagatcacctcgtcattac
+aggaaatggcggtcggtctgtcgcaaatcatctccacgcaactggaggtttcacgcgccg
+agcagctacgtgaaatggcaaataaggcagagcttcgcgccctgcaaagcaaaattaatc
+cccattttctgtttaacgctctgaacgctatttcatcgtcaatccgtctgaatccggata
+ccgctcgccagttgatctttaatctgtcgcgttatctgcgctataacattgaattaaaag
+acgatgagcaaatcgatatcaaaaaagagctgtatcaaattaaagactatattgccattg
+agcaggcccgctttggtgacaagctgacggttatctatgatattgatgaagaggtgaatt
+gctgcattcccagcctgctgatccagccgttggtggagaacgccattgtccacggtattc
+agccttgcaaaggtaaaggcgttgtcaccatcagcgttgcagagtgcggaaatcgggtac
+gcattgcggtgcgagataccgggcacggcatcgatccaaaggtgattgagcgggtcgaag
+cgaatgaaatgccgggcaataaaattggcctgctgaatgtccatcatcgcgtgaagttat
+tgtatggcgaggggctgcatatccgccgcctggagccggggacggaaattgcgttttaca
+ttcctaaccaacgcaccccagtcgcctcacaggctacgttattgctttgagccggagtga
+tattgtgaaagtcatcattgttgaagacgaattcctggcacaacaggaactgagctggct
+aattaaagagcacagccagatggagattgtcggcacctttgacgacggtctggacgtgtt
+gaagtttttgcagcataaccgcgtcgacgccatttttctggatatcaatattccgtcgct
+ggatggcgtgttgctggcgcaaaacatcagccagttcgcccataaaccgtttattgtgtt
+catcaccgcgtggaaagaacatgcggtagaagcgtttgaactggaggcgtttgactacat
+tctcaaaccgtatcaggagtcacgtattaccgggatgctgcaaaaactggaagcggcctg
+gcaacaacagcagaccagcagtacgcctgccgcgacggtaacgcgtgagaatgacaccat
+taatctggtgaaagatgagcgaataatcgtcacgccaattaacgatatctattacgccga
+agcgcacgagaaaatgacctttgtctatacgcggcgtgaatcctacgtaatgccgatgaa
+cattaccgaattttgcagcaaactgccgccgtcgcattttttccgctgccatcgctcatt
+ttgtgtcaatctgaacaaaatacgcgaaatcgaaccgtggtttaataacacctacattct
+gcgactgaaagatctggattttgaagtgccggtcagccgcagcaaagtgaaagaatttcg
+ccagttaatgcatctttaatcgggaactttcatgaaagcaccaggcttgcccgccgatca
+acaatttttcgccgatctgttcagcggcctggtgcttaacccgcaactactggggcgcgt
+ctggtttgccagccagcctgcctcgttgccggtgggcagtttatgtattgattttccccg
+tctggatatcgtgctgcgcggcgaatacggcaatctgctggaagcaaagcagcaacgttt
+ggtggaaggagaaatgctgtttattccggcgcgcgcggctaatttaccggtcaacaacaa
+accggtgatgctgttaagcctggtgttcgctccgacctggcttgggttatcgttttacga
+tagccgcaccacgtcgttgttgcatcctgctcgccagatccagcttcccagcctgcaacg
+cggtgaaggtgaagcgatgcttaccgccctcacccatcttagccgttcgccgctggagca
+aaatatcattcagccgctggtgttaagtttgctgcatctttgccgtagcgtggtgaatat
+gccgccgggcaattcgcagccgcgcggcgattttctctatcacagcatttgtaactgggt
+tcaggataattatgcccagccgctcacccgcgagagcgtggcgcagttttttaatatcac
+gcccaatcatctgtcaaaactgtttgctcagcatggaacgatgcgttttatcgagtatgt
+gcgttgggtgcgaatggcgaaggcgaggatgattttgcagaaatatcatctgtcaattca
+tgaagtggcacagcgttgcggttttccggatagcgactatttttgtcgcgttttccggcg
+tcagtttggtctgacgccgggagagtacagcgcccgttttcagggctaacgtcagaaggt
+taattctgtttccagcagcgtcaggatactttgtgcatcttgcgcggcaaacaacgactg
+gcggaagtttttattcaccagtttacgcgccagctgcgagaagactttcacatgattcat
+cccttcgttagcacccagcgtcagcatgatcaccagttcgacttcgcccatttctgactg
+ccagccaatcggtttcgccagccgggcaatgctgatactggaatgacggatccactgaga
+tttggtgtgcgggatcgctacgccaaaaccaacgccggtggtaacaatctcttcccgctg
+ccagacatcttcttccagctcaaacggatgttcagtgcgcccgttaacgccgaggttgcc
+gcacaggaactggatcgcctgctctttattgctaaaatcctgatcaacaaagatattctc
+cagcgccagcagtgggcgaacgtcttcttccggcgtaaaggcggtgagtaacgcttcaat
+ttcctgcgcactgcggcattcacatgcctgacgcgccagttcccgacacgcctcgctatc
+cagttgacgaagctggcttttcaccgccggaatacgcgggctactcatactcagctcatc
+caggcccagcccaagcagtagcggcagataacggctttcaccgcccagttcaccgcaaat
+gcctacccatttgccccgctgatgcgcagtggtaactatttgctgcaacatgcgcaggaa
+cgatggcgtaatcgggttatatagcggcgatacgcgcgggttattacgatcgaccgcata
+cagatactgggtcatatcgttggagccgatactgaagaaatcgacctcatcgcagaagtg
+gtcgatgatgtagcacaccgacggaacttccaccatgatcccaagcgtaatcgtctctgc
+atgacgcaggccatcgcgcttaagctcaacgatcgctttttggatctcgcctttcaccca
+taagatctgatcgaggctgtgaaccatcgggatcatcaactgggcgttgccgaaactggc
+ggcgcgcaaaatggcccgcagttgagtgcggaacaggccagcaaattccgggtaaatacg
+taccgcgcgatagccgaggaacgggttctcttcctggggaatattcagataaggaatgct
+tttatcgccgccgatgtccatcgtgcggaagataatcggcttgtcgcccgccgccagtag
+cacctgctggtaggcttcaaattgctcctgctcgtccggcgcgctgtcgcgatccatata
+gagcatttcggtacggaacagcccgacaccttccgcgccgttggcaaacgcgcctggcgc
+ttccagagcggtgccgatattcgccgcaatatcaatacgcttgttatcacgggaataggc
+cagctgcgcggcagcctgcgcctgttgtttttggcgtttatccgccagcgtctgcgcgac
+ctgataataaccgctcaccgcgtcattcgggttaatcgccagcacgccgcactgggcgtc
+aagcactgcaggttgcccggcataacgggcaatcgcatccagcggcaagccactcagtac
+cgggatcgccgaggcacgggccagaatcagtgtatgcgaggtgcgcccggttttctccag
+aatcatgcccgcaagatttttcaaatcaaggctcaaaaactggcttggggttaaatcttc
+agccaccagaatggtcggtttttcaagcaccagcttgttgcgcggcttcagttccggcca
+ggtgatatgcagcaactgttcgctgatatcgcgaatgtcgctaacacgttcgcgcagata
+atcgctggcagaggcagaaagtttggcgcaaacctgctccatattgctgatgatcgccgc
+ccccagcccctgatgctgttctgtcatcaggcgacggatattgcctgcaaattcatcatc
+ctgaatcagcgacaaatgggcgctgaggatagttttgctttcgccgtcacgctcacgcaa
+ttgctggttcagttgctcggcaagcgttgccaggctgtgctccagccgggtggaatcttg
+cgcactggcggggattgcccgataactgtcgaggctgtcgctttgtaacagggtcagcgt
+acccacgccgacgccgcttgccagcacattgccgtacagtaaatccgggttaaggcggct
+taatgaacgcggcagcggatgcgccgtcagttctgcctgcgtaggctgaacgctgtcgct
+gtcgataaagcgcacctggatgtactcttccagcacgcgccgcgcctgctcttcatcgct
+gccgctaatgttcaggctgcaactgtcattaaatagggtgccggtgccaatcagcgccag
+cgagcttttcgcatctgcctttgcgttctggcgatggttaataaaagtgatttcgctttg
+ccactggctgcactgttctttaagttcccacgccggacgagcatgtagaccgttaggcaa
+aggacagagaaattgaatcgttaacataaccgctccgggttaatcaggagatcatctgaa
+atccgtcagttgaacaaccgtctcacgcgtaagacgttgaataagggcagataaaagttg
+ctgcatctgcaaaatgtcgcggcaatcggcaatcgatgcggcgcaatgtccatggcgggt
+tgctggccccatcaccactgtgggcacgccggtgccggttaagtgcaccgccccgccgtc
+cgtgccgccgttgctgaacatatctgcctgcaacggcacgccaatttctgccgccacggt
+ttcgacccaggcggtaagttttggcggcgcaatcagcgacttgtcgcttaacaccagcat
+cggcccgttaccaatctggcgatggttagccgcgccataatcaaagtttttcgcccagca
+ggcggtatcaagcacaatggcgacgtccggcgacaccgcgcgggtggcagtttgcccgcc
+gcgtaatcccacctcttcgctggaacttgccaccagccacacttccgcaggtagttcggc
+gtcgtgcagttcgcgcagtaacgtcaccagcagatagcaaccgaggcggtcatcaaaggc
+tttccccatcactcgctggtgagggagaacctgaaaagtggtatcaaacgtgacgcgatc
+gccgggacgaattcccgcctgcatcacttcgtcataggagcgcgcaccaatgtccacgcg
+catggcgctgacgtcattcccctgccggtcgccgtcaagcaggcctggaattttgcactc
+ttcacgggtggtgatgcgcaccggctgcagctggcgggcagccatgcgtacgttgccaac
+cggcagcacatcaatcgccccttcgcgggagatgctgcgcaccataaatcccacttcgtc
+catatgcgcacagatcatcaccttcggacctgtcgattcattcaggcggatcagcaccga
+tcccagaccatcaaatcgcacttctttttgcaggcgatccgcttcttccagcaggatctg
+ccgcacttcctgttccgaggaggcgatcgcatctgcctcgctcaacgcttttaatagcga
+taaatccattatgcctctcccgtgagcaacactgttttcggcatggcgtagagcacttct
+gcgccttgcggggtaaccagcacaacatcttcgatgcgcacgcccccttgccctggcaaa
+taaatccccggctccacggtcagtaacatgcctggctgtagcgtcgtggtgtcccgcggt
+gaaaaacgcggatcttcatgaacttcaatgccgatagcgtgaccggtgttatgaccgaaa
+tagtcgccataacctgcttctgtaatgacccggcgcgcggcatcgtcaacctgctggcag
+cgcacgccggggcgaatcgcggagattgctgcgagctgtgcctgcaggacaatttgatag
+acgttaaacagcaggtgagattcggcgctcaccccttcgccattcaccagcaaggtgcgc
+gtcatatcagagcagtagccctgatacagcgcaccgaaatcgagagtgacaaactcgccc
+gctgcaacaatcttgtcgctggctttgccgtgcggcagcgccccacgccagccactggcg
+acaatggtgtcaaaagaggctttttctgcgccctgctggcgcataaaccactccagttca
+gcggctatctcgcgctcgctcatccccgcctgaataaagcggcgaatatgctctgcaccg
+cgatcagcaatcccacaggcgaggcggattttctccacctcctctggcgttttgatttgc
+cgcagcacatccggcgtggcgctaaccagtttcgcattgagttcagactgccagcggtgc
+gcggtttcccaactcacctgctggccctcaaaaccgagcgtttgcaactgttcatcggca
+atgatttgattgacgatagtggtaagcgtgttcgtcgcgtcaagcaaatgcagctggtag
+ccttgcgcacgggcttccacctcaacgtaatagcgcgaatccaccagaatgtgcgcactt
+tcacggctaatcaccacataacctgatccggtggagatccccagatgcggctgtttgttc
+tgccgtgaggagagaagcactgcatccagttgttgcgccttaagccagtcgcgcagcgaa
+gcgagtaatgtcatctggattttccttcttacaggctatcgattaacaatttgcctttac
+ggaacatcatcagacgcaggaacaccaccatcagcgcagttatgactgcccccagcgcga
+tccccgccatatagacgcccaggttagtgaccagcggccatgcccagatagcggactccg
+ggaaccattgcactgcgcccagccagacagcggcggttgagccgacaatagcgccgacca
+tatacgacggaatggcggtgatggggctttccagcgcaaacggaatcgcaccctcactga
+tccccataaacgccaggaacatggcggtcttaccctgcggataaagttgagcgttgaaca
+ggcgtttgccggttaaacgacggtcgataatggtcgccagccccagaccaatcggcggaa
+taacgatagcgatagaacgagcggtgaccggtaatacgtggtcagtggtaaagctgaagg
+caacaaaacctgcggctttgttgatcgggccaccaaggtcgattgctgtcgccgcggcga
+tccccattgcgtacatcagcgcgcccttctcacctgcggcagtcagcacagtacggatac
+cgccgttgatccagccaccaaagggggtgatgacgtagtacatcgccagcatgacaaaaa
+tggcggaaagaatcgggagcaaaaatgtggttttgaacgctaacaggaaatccggtaact
+ggattttctggttcatccacttcacaaggtaaccggcaacgatagaaataatcagcgcac
+caatgaaggtggacggcaccggcgaagaggtcgcccattgcatagtgctgggatcgaagt
+tcagcagttgcgtcggctgggtagacatcaacccgccgataaaaccagccgggaacgcca
+gtttgccaccgatagagttcgccacaaaagcagcaaacatcggaatggcaaaaccaaaca
+acacgccgccgaaggactgcgacagccaggcaaatttaagtaaggagaggtcgaaaccgg
+agaatttcccgctattaagagcatccatgatgccgatctcagcaggaattttaagccagc
+tataagcaatcagctggctgaaagcgaggatcacaccgcccataattaaggtcggcacca
+tgcgtgaaatccctgacatcacatgctgcgggagttcaccccagaagctggttttagagg
+cctgcggattcttaactgccgctgccgcaccggatgcgccaggcacaacggttgcactgc
+gttttttaatggccataacaattatccctgtcgaatattactgttgttcagaggcaatca
+tctcttcgatttctttgatgatgcccgcagcgtttttaattgcgtcctgcaaagtgattt
+cataaacgtcgcgtgattcgaaacgttcgttatcttccggggtaactgccacggagtgga
+tgatgatggtcgcttcggcgatatcctgcgccgtcaggcgattctggataccgtccgcgc
+cctgggtttcaattttcacttcataaccggcttctaccgccgcttcttccagcgcctgag
+cggccataaaggtgtgagccaggcccatcgggcaggcacataaggcaatcagtttcttac
+tcatcgttaattcctcgttcagtgatagttgacgagtgaaattatgaacgtgcaaaacaa
+atcgccgttaccagacaaataatgcatttactggagaattaatcccgctgtacggaagtg
+tgacgcaggtcgaccttgtgaggggacacaaagaaaaattgaataaactgtatgatttaa
+aagattatcgggagagttacctcccgatataaaaggaaggatttacagaatgtgacctaa
+ggtctggcgtaaatgtgcaccggaaccgagaaggcccggattgtcatggacgatgagata
+caccggaatatcatggacatattctttaaagcgccctttatcttcaaatgcggcacggaa
+accggaggctttgaagaactcaaggaagcgcggcacgataccgcccgcaataaacacgcc
+gccaaatgtcccgagattgagcgccagattgccgccaaaacggcccataatgacgcaaaa
+cagcgacaatgcgcggcggcaatcggtgcagctgtcagccagcgcgcgttcggtaatatc
+ttttggcttgagattttctggcaggcggttgtcagctttcacaattgcgcgatacaaatt
+caccagcccagggccagaaagcacgcgctccgccgaaacatgaccaatttccgcacgcaa
+tatttcgaggataatggcctcttcttcactattcggcgcaaaatcaacgtgaccgccttc
+gcctggcaagcttacccaacgcttatcgacatggaccagatgcgcaaccccaagccccgt
+tccggcaccgtaaaccgcaataggcttaccttcgaccggttctgcgccaccaaactgaat
+cagatgctcttttttcagcatcgggatcgccatcgatacagcggtaaaatcgttaataat
+ttccagatggctaaaaccgagattctttttcatttcggcaattgagaacgcccaggtatg
+gttggtcatcgccacccagtcaccggtaattgggcaagcgatggcaatacagccgtcttt
+cacctcgaccttatgttcttcaagataaacgcgaatgaccgcttcgaggctggggtaatc
+aagccctgaataggtcttagcctgcgagatttcaccactggcaatatcacacagagcaag
+acgtgcgttggtgccgcccacatcaccgactaatgcatactttgtcattcttcaactgct
+ccgctaaagtcaaaataattctttctcacactgtaaatacctgggggcataacaacaacg
+ccggaaaggcaggctccctgtaaatatcgatctgggtcacacaattactttatcgtttca
+gcaccaattgcagcgatgcctttttgcaagctgggcaaactaagtatctgaccccgcata
+aggaatagaacatgctccatccgcgagccagaaccatgttgttattatcgctccccgccg
+tggcaattgggattgcgtccagtcttattctgattgtggtgatgaaaatcgcctcggtat
+tacagaatttgctctggcaacgactgccgggaactctggggatagcccaggattcacccc
+tctggatcatcggtgtattaacgctaacgggtattgcggtggggttggttatccgtttca
+gccagggtcatgccggaccagaccccgcctgtgaaccgctgatcggcgcaccggttccgc
+cctctgcgctacctggacttatcgtagcattaattctcggtcttgctggcggcgtcagcc
+tggggccggaacatccgatcatgaccgtcaatatcgcccttgcggttgccattggcgctc
+gtctgttaccgcgcgtcaaccgaatggagtggactattttagcctctgccggaaccatcg
+gcgcactgtttggcactcctgttgcggcggcgttgatattttcgcaaaccttaaatggca
+gtagtgaagttccgctatgggatcgtctctttgcgccgttaatggcggcagcagctggtg
+cacttactaccggattatttttccatcctcatttttcactgcccattgctcattacggac
+agatggaaatgaccgatattctcagcggtgcaattgtcgcggcgattgccatcgcagcag
+ggatggtcgccgtatggtgcttaccacggttgcacgcgatgatgcatcaaatgaaaaatc
+cggtgctcgtgctgggtattggcggatttattctcggtattctgggggttattggtggac
+cagtttcgctgtttaaagggctggatgagatgcagcagatggtggcaaatcaggctttca
+gcaccagcgattactttttgctggcggtaattaaacttgccgccctggtcgttgctgccg
+ccagtggctttcgcggtgggcgaatcttcccggcagtgtttgtcggcgtggcattagggt
+tgatgctgcatgagcacgttcccgccgtaccagcggcaataaccgtttcttgcgctattc
+tcggcatcgtgctggtggtaacacgcgatggctggttaagtctttttatggcggcagtcg
+ttgtacccaataccacattgctaccgctgctctgtatcgtcatgcttccggcatggctgt
+tattagcaggtaagccgatgatgatggtcaatcgtccgaagcaacagccaccccacgata
+acgtttagcaaaaaatgctctcctttatgatttaagagttatggcgatgatacggggctt
+tacctccccgtaatattgcgttaacaggccgctgacggcttcgagcgtgaaggagaataa
+caatgttcaggtcactgtttctggcggccgccctgatggcatttaccccgcttgcagcaa
+acgcaggtgaaatcaccctactgccatcaatcaaattacaaattggcgatcgcgatcatt
+acggtaattactgggacggtggtcactggcgcgaccgtgactactggcatcgcaattatg
+agtggcgcaaaaaccgttggtggcgtcatgataatggctaccaccgtggctgggataagc
+gtaaagcgtatgagcgtggctatcgtgaaggctggcgcgatcgtgacgatcatcgcggaa
+aaggccggggtcatgggcaccgccattaaacgcgtccgccaatggagcacaatgcctgat
+gcgacgctagtgcgtcttatcaggcctacaaaccggctctttaacgcgtagggcggataa
+ggcgtttacgccgcatccgccaatagtgccagatgcgacgctcattcaactacaatccca
+gcgccgtccccaccaacaaccagatattcagcgccacgaccagcaccacaatcacccagc
+ctgtctgttttacgcgtttgctgttcaccagatcgcccatcaacttgctgtcactggtga
+aaatcagcagtggaaccagcgccagagcgataccaaaacttaacagtacctgactcataa
+ccagaatccgtgtcggatctaatcccatcagaatgacaataaatgacggcaacatggtga
+ctgtacgacgcacccacagcgggatatgaaagcgaatgaagccctgcatcaccacctgcc
+ccgccagtgtccccaccaccgttgaagacagccccgcagcaaccaggcttaatccaaaga
+ccgttgccgcagcgtggcttaacagcggttgcagcgtcagataagcctcatcaagatcgg
+caacaccagtatgaccggaaaagtggaacgccgccgcagctgtagccatcatcgccagat
+tgacaaaaccggcaatagtcatggcgatagccacatcccatttggtggcggaataacgtt
+gttgacgcgaaccgccatgtaaatgctgagtgagcgaggagtgcaaataaatcacatgcg
+gcataatcgtcgcccctaacacgcctgctgccaggaagaccgcttccgaagtaggtaaac
+tcgggatcaccattcctttacccagctgcgccaggttaggctgggagaaaatcaactcga
+caatgtaagccgcggcaacaaacaacagtaacccgccaatcactttctccagcggttttt
+gcccgcgacgttgcagcattaaaatcaggaaagtcgcgatccccgtcagcaccgcgccct
+gcaacaacgaaacaccaagaatgagtttaaaaccgatcgccgcaccaataaattccgcca
+ggtcggttgccatcgcaataatttctgcctgaacccaatagaaccacactacgggacgcg
+gatagtgatcgcgaatctgctccgccagatttttaccggtggcaatccctagtttggcag
+agaggatctgaatcagcatcgccatcaggttggcccaaacgacaacccacagtagctgat
+agccgaagctagcacccgcctgaatattggtcgcaaagttaccgggatcgatataaccaa
+tcgccgcaatgaacgcaggtcccattaatgcgagcctcatcttgcgcgccgcccgtccgc
+tgctactctcaacgcgatagttcgtcatcttgtgcctctaaaacatagcctttgctatgt
+ttcatgctatgccaaacgagaatgattatcaaattcatttaaatggattgtggtgatttc
+tctgatagaccaggattatgactacgaaaagattgatgacttgaatgttatggttatgtt
+taatgttagcacatttacataactttcagcttccatacacaacatagcagaaatgtatga
+cagatcactatttttgaagcctgtcacaggacgtcattatagtgtgtgtcagatctcgtt
+ttccttaaccatgttacatagaatgtgcacggaaatttaacctgcctcatatttggagca
+aatatggaccgcgtccttcattttgtactggcacttgccgttgttgcgattctcgcactg
+ctggtaagcagcgaccgcaaaaaaattcgtatccgttatgttattcaactgcttgttatc
+gaagtgttactggcgtggttcttcctgaactccgacgttggtttaggcttcgtgaaaggc
+ttctccgaaatgttcgaaaaactgctcggatttgccaacgaagggactaacttcgtcttt
+ggtagcatgaatgatcaaggcctggcattcttcttcctgaaagtgctgtgcccaatcgtc
+tttatctctgcactgatcggtattctccagcacattcgcgtgttgccggtgatcatccgc
+gcaattggtttcctgctctccaaagtcaacggcatgggcaaactggaatcctttaacgcc
+gtcagctccctgattctgggtcagtctgaaaactttattgcctataaagatatcctcggc
+aaaatctcccgtaatcgtatgtacaccatggctgccacggcaatgtccaccgtgtcgatg
+tccatcgttggtgcatacatgaccatgctggaaccgaaatacgtcgttgctgcgctggta
+ctgaacatgttcagcacctttatcgtgctgtcgctgatcaatccttaccgtgttgatgcc
+agtgaagaaaacatccagatgtccaacctgcacgaaggtcagagcttcttcgaaatgctg
+ggtgaatacattctggcaggtttcaaagttgccattatcgttgccgcgatgctgattggc
+tttatcgccctgatcgccgcgctgaacgcactgtttgccaccgttactggctggtttggc
+tacagcatctccttccagggcatcctgggctacatcttctatccgattgcatgggtgatg
+ggtgttccttccagtgaagcactgcaagtgggcagtatcatggcgaccaaactggtttcc
+aacgagttcgttgcgatgatggatctgcagaaaattgcttccacgctctctccgcgtgct
+gaaggcatcatctctgtgttcctggtttccttcgctaacttctcttcaatcgggattatc
+gcaggtgcagttaaaggcctgaatgaagagcaaggtaacgtggtttctcgcttcggtctg
+aagctggtttacggctctaccctggtgagtgtgctgtctgcgtcaatcgcagcactggtg
+ctgtaagaccatacataaaaaagccggggataattcccataagcgctaacttaagggttg
+tggtattacgcctgatatgatttaacgtgccgatgaattactctcacgataactggtcag
+caattctggcccatattggtaagcccgaagaactggatacttcggcacgtaatgccgggg
+ctctaacccgccgccgcgaaattcgtgatgctgcaactctgctacgtctggggctggctt
+acggccccggggggatgtcattacgtgaagtcactgcatgggctcagctccatgacgttg
+caacattatctgacgtggctctcctgaagcggctgcggaatgccgccgactggtttggca
+tacttgccgcacaaacacttgctgtacgcgccgcagttacgggttgtacaagcggaaaga
+gattgcgtcttgtcgatggaacagcaatcagtgcgcccgggggcggcagcgctgaatggc
+gactacatatgggatatgatcctcatacctgtcagttcactgattttgagctaaccgaca
+gcagagacgctgaacggctggaccgatttgcgcaaacggcagacgagatacgcattgctg
+accggggattcggttcgcgtcccgaatgtatccgctcacttgcttttggagaagctgatt
+atatcgtccgggttcactggcgaggattgcgctggttaactgcagaaggaatgcgctttg
+acatgatgggttttctgcgcgggctggattgcggtaagaacggtgaaaccactgtaatga
+taggcaattcaggtaataaaaaagccggagctccctttccggcacgtctcattgccgtat
+cacttcctcccgaaaaagcattaatcagtaaaacccgactgctcagcgagaatcgtcgaa
+aaggacgagtagttcaggcggaaacgctggaagcagcgggccatgtgctattgctaacat
+cattaccggaagatgaatattcagcagagcaagtggctgattgttaccgtctgcgatggc
+aaattgaactggcttttaagcggctcaaaagtttgctgcacctggatgctttgcgtgcaa
+aggaacctgaactcgcgaaagcgtggatatttgctaatctactcgccgcatttttaattg
+acgacataatccagccatcgctggatttcccccccagaagtgccggatccgaaaagaaga
+actaactcgttgtggagaataacaaaaatggtcatctggagcttacaggtggccattcgt
+gggacagtatccctgacagcctacaaaacgcaattgaagaacgcgaggcatcgtcttaac
+gaggcaccgaggcgtcgcattcttcagatggttcaacccttaagttagcgcttatgggat
+aattccccggtttttttacgcctgttaatcagctaatggctgcgggcgaccaatcaaata
+cccttgcagatattgcaccccgagcttatgcaatagcgcctgctgctgttgcgtctcgac
+aaactccgcgaccacactcaatgacttcgctttcgccagatcggtaattgatctcacaat
+catcgcatccagcgtgttcgtgacaatatctttcacaaagacgccatcaattttgatgat
+atcagcctgcaaacgctttaaccgttcgtagttggcatatccggtgccaaagtcatcaat
+cgcaatccggaaaccaaacttatgcagctgctcgatgttgtacatgctgctttctgcgtt
+agaaaacgcctgctcctcggtgatctcaagaatgaccgcctgcggggagatgtgataacg
+cttaaacagacgaataatccgcccggcaatattcttttgcagcagcgtgagcggcattaa
+attgactgaaaagcgcggtccttttttgtcgcaagggtgtgttgccagccacttcaacaa
+ggattccagcacttgcaaatcaaaacgcgcgctaaggttaaactgagcaataaggggcag
+aaacttatccggggtcataatgccgccgtcatatttcagtcgcgcgaggatctcatcata
+accttcaccctctttgttgcgaattggctgggcgtagagcagcaaatcaccctgatctaa
+cgccgtgcgaatggtattcagcaatagcacctgtttagtggtctgcccggaaaccatctc
+ctctctgctatccagcgccagcacatgatgatgtgcgcaggattgctccgccagccagct
+taactgccccaacaagggttgcagggtttcctgatttccatcaaaacgcccccaggcagc
+accatagcccatatccagcccggtattgttccagtgaatttgccgactattcaggatgtt
+aaccatatgctggagtcgcccttccgtttccggcccgctcagcactaacagcagttcact
+acccggcaattgatacaacttttcgttttcctgcatcaacggcagcagcgtacggcaaat
+tgagcggatacagtgaacgcgcatcattaagccgtaatgacgactcataaactcaagatt
+atcaatgcgcaggcagcaaaaactcttgcccgcctcttgctccggcgcttgttccaacgc
+acgaaagttgggtaggagcgttaacggatctgtcagcgcctgcaaatgccagcggcgatt
+aagccattcactgcgatgataaatgcgcaccatatagagcaggcaaacgctaaaggaaat
+cagcaccgcaagaataaatgccagcgaatattcggtttccaccccttgcaaaaagttctg
+gttgtaattcagaaggcaaagcgttgaaacagcccaggtgagatttaaaaacggatagcg
+aagcttaccgaccccgagggtaaagatgatgaagaaaacgggtaccaggtaaccggcaat
+aaagtcgttttcataaggtgtgcacaacagaagtagcagcacgcttaacgctgccagcca
+gcttaaggtaaatgcgcgtttctctttgcccaacgacggagcgatatccctgcgccacaa
+tatctgcgcaaagtggggacttacaatcatgcgagtgagatagtagaaaagcatgttgta
+aatcagcacagcggtgaaaaggcttagcaaatcaacgaccgtgaaaatggcatccgcatc
+gccgaaaaaggtggatatctttagcgggaaatcaaagaagctccccacaagatacatgct
+gcatttgatgccgatcggcgtcaccaaaccaagccagaacagacgttgccagacatatcg
+gctggtcaatccataacgccaacgcgtccccagctgccagcgtaatattgcgcaggcaca
+caacacgacaaacgtctggctaccgagcatgaccgcagtctgtaaaaaagagagatgaaa
+gttccacagattggtgcaaaacatcccgcataaaacgggaacgacaccgcgccagccaaa
+gataaacaagattgacagcattacgcacagtggcatccacgccagaaagatataactgga
+atggataatggcaagtggcgaaataaaacgggatagctgaataagtaccacggtgagcgt
+aaacgctagtgtgaatatcttgatattttttatcaggttatgctccacaaacatgagtac
+actactctcactgatcggggttttcaggcacacaaataataagtttattcgcatcgcgaa
+gcaaacagggggccagcctgttgccgatttttcatccaatgatgctttcaccaggcggca
+ctaacccggacgtagactgtattacaaaagcggcaaaaagcagagacaaaaaacccccgc
+tttgcagcgagggttggaaatttggtggagctaagcgggatcgaaccgctgacctcttgc
+atgccatgcaagcgctctcccagctgagctatagccccacgatgcgtttacgtaccaagt
+ttgctgggtgcaaaatttggtggagctaagcgggatcgaaccgctgacctcttgcatgcc
+atgcaagcgctctcccagctgagctatagccccgtcacgtaaagcttgtcgagttgacgg
+gcggcatcatatgaattccgcccgaatgtgtcaacggcaaattgcaacgtgtagtttcaa
+tcgctgaaaaatcaggcaaatgaacaattttggaaaaccgctcgcattcagtagttattc
+atgtcacggtttcctgtaaagtggtgttataaaatgaactactaatagacccacatacat
+tcagggaattgttatgttcaaggagaggatgacaccagatgaacttgccagactgaccgg
+ctatagccgccagaccattaataaatgggtacgcaaggaaggctggacaacgtcaccaaa
+acctggcgtccagggtggcaaagcccgactggttcacgtcaatgaacaggttcgtgaata
+tattcgcaatgctgaacgtccagaaggtcagggagaagcgcctgccctttctggtgatgc
+gccgcttgaagtattgctggtgacactggcgaaagagatgacgccagttgaacaaaaaca
+gtttacatccttgcttctgcgggaagggattatcggattgttacaacgcttagggattcg
+cgatagcaaataatatgaaaagattacgcaataaaatgaccaccgaagaactggctgaat
+gcctcggtgtggctaaacaaactgttaaccgttggatcagagaaaaaggctggaaaacgg
+aaaaatttcccggcgtgaaaggcggtcgtgccagacttattctggtcgatacgcaagttt
+gcgagtttattcagaacacgccagccttccataacacaccaatgttgatggaagctgaag
+agagaattgctgaatacgctcctggagcacgcgccccggcgtatcgacaaatcatcaacg
+cgatagataatatgacagacattgagcaggaaaaagtcgcgcaatttttgtcacgtgaag
+gaattcgcaatttcctcgcccgtctcgatattgacgaatcagcataaataaaaaacggca
+ggatattatctcctgccgtttatctttttacacgctaattactgctgattttcgcgttca
+gcaataaaatccagcgctttgttgatacgctcgatactgcgggtcttaccaattgcgtga
+acggtaacatccagtgctggagactgccccgcaccggttacggcgacacgcagcggcata
+ccaactttacccatacccacttccagctcatccgccgtcgcctgaatagcgtgatgaacg
+ttttcagcggtccagtcagtaatcgcggccagtttgtcacgaaccacttccagcggctga
+cgcgctaccggacgcagatgttttttcgcggcgtcggcatcgaactcagcaaaatcttcg
+tagaaataacggcagctctgtgccatctctttcagcgtcttgcagcgttcgcccagcagt
+ttcaccagatcagccagctgcgggccgttacgggtatcgatattttcctgctcaatgtgc
+cactgtaagtgagtagcaacatactccggcggcagcgcgttaatgtagtgatggttcagc
+cacagcagcttgtcggtgttgaacgcactggcagatttgctgacggcattcaaagtgaag
+tatttgatcatctcttcacgagtgaagatttcctgatcgccgtgggaccagcccagacgc
+accagatagttcagcagtgcttctggcaaataaccgtcatcacgatactgcattacgctg
+actgccccgtgacgtttggacagttttttaccgtcatcgccattgatcatagaaacgtgc
+gcgtaaaccggcaccggcgctttcagggccttaagaatgttgatctggcgtggcgtgttg
+ttgatatggtcttcgccacggataacgtgggtgatttccatatcccagtcatcgacaacc
+acacagaagttataggttggggaaccatcggtacggcggataataagatcgtccagttcc
+tggttgctgaactcgatcggaccacggatctgatcgtcaaaaacaacagaaccttcctgc
+gggttagcaaaacgtacaacacacggttcatcatcagcatgatgctcatggctgtggcgg
+cagcgaccgtcataacgcggcttctcacctttcgccatttgctcttcgcgcagcgcttcc
+aggcgctctttagagcaatagcatttataagcagtgccctcttccagcatctgatcgatc
+accgcgttgtagcgatcaaaacgtttggtctggtagtacggaccttcatcccactccagg
+ctcagccagttcatgccatccataatggcttcgatagcttccggcgtggaacgctcaaga
+tcggtgtcttcaatacgcagcacgaactcaccgccgtggttacgtgcaaaaagccaggag
+taaagagcagtacgcgcgccgccaacgtgcagatagcctgttgggcttggcgcgaagcga
+gttttgattttcatgaaatggccttacgtttagaaagatgccgacaaccggcaaatcctg
+gaaaaattaagtgggcgatattctatcactcccgcctgattcctcaatgtagttcgggtt
+tctaccttacgcattattgttttcgttgacaaattgcgcaacacggtctgttttgcgatc
+atcttgcttaaatttacgacgaacgaacaatttctttagaaaatgcgttgactcattttg
+aactctccctataatgcgactccacacagcgggggtgattagctcagctgggagagcacc
+tcccttacaaggagggggtcggcggttcgatcccgtcatcacccaccaactactttatgt
+agtctccgccgtgtagcaagaaattgagaagtgggtgattagctcagctgggagagcacc
+tcccttacaaggagggggtcggcggttcgatcccgtcatcacccaccactttctcgccag
+ctaaatttcttgtaaaaatgtgaagtaccgaagtgggtgattagctcagctgggagagca
+cctcccttacaaggagggggtcggcggttcgatcccgtcatcacccaccacttcgggtcg
+ttagctcagttggtagagcagttgacttttaatcaattggtcgcaggttcgaatcctgca
+cgacccaccaatgtaaaaaagcgccctaaaggcgcttttttactatctgcgatactcaaa
+gattcgaacctgcagcaggtttgagttgagcgcagcgaaacaacggagccgctcgcggcg
+acggcccgaagggcgagcgaagcgagtcatcctgcacgacccaccaatgtaaaaaagcgc
+cctaaaggcgcttttttgctatctgcgatttgcgaaattgcctgatgcgcttcacttagc
+agactactatttccggcaattcctgtctcctcacctactgtgtcaatgcagccaacagct
+taaccatcgcgggcgtcacctgctgtgtttcataaacaatatataaatctgcagggatgc
+gctgtttgagcggacggaaaatgacacctggccagttcatttgtgcgtagctgtccgcta
+tcaatgtgataccaatgcccatactgaccatagcgagtaccgtttgcggttcattaactt
+cgcgaataacaaccggtgaaaatcccacctgctggcaaactcgctgcaaaaaatcccagt
+cagtgtaaacgggcggcattgtaacaaaatactcgtcacgtagcgcttccagcgggacgg
+tggaaaatgatgagagatgatgctcttcaggcatcgccaccagaaacgccgattcatgca
+accgtaagctggtaaaaccagtcggtggttctgtcgccattcgccagatcccggcatcaa
+gttcgcggcgttccagcaaggccatttgcatcgcgggcatcttttcgcgaaaaagaacgt
+caacgttaggattttccctgaggaatcgccgcataaccgggcgcatccgtccccacattg
+ccgttcccactacgccgagttcaatccgccctgcttctccccgacctatttgttcaatcc
+gagccaatacattattagcattcaccagcaatcgacgcgattcttccatcaagattttgc
+ccgcgtgtgtcagtacgacgctgcgcgaatggcgaataaaaagctgcgtgccgagttgat
+tttccagctctttaatatgaatgctgagcggaggctgagacatatttaaacgcgctgctg
+cgcggccaaaatgcaactcttccgctacggcaagaaaataacggagcaacttaagatctg
+ttctgtatacgcgttccataattaagtgctccatataataaatacatcgtattaaattat
+catggcataaagtatttcaccaccagatatccgacatacataaacacaatggataatata
+cccggtaatacatttggtacaggaataggcaagcgcacgattgtaaacaaagcaccaata
+ccaaaaccaacgccggaagaaaataaaatatctttcactaattaacctttatcataaaag
+cagctctgaagagcagagccgcgaatccttttaatgagtcaccgctcgatgctttatctt
+ttcagggtcatgattatatttaaacccaaagaaaaatatcactgcgagaaaaagagcata
+tcctgcaaacaccagccagatagtttgccagtcttttacgccatccaccgaaaagtaatc
+tactgccatgccactcagaatcgagccaacccatgcgccgacaccatttaccatggtcat
+aaagagcccctgcgcgctggcacgaatgctggaatcaacttcctgttcgacaaataccga
+accagaaatattgaagaaatcgaatgcacagccataaacaatcatcgacagcagcagcaa
+aataaatccggttgttgacggatcgccataggcgaagaagccaaagcgcagcgtccaggc
+caccatactcatcagcatgacggttttaatgccaaatcgctttaaaaagaatgggatagt
+cagtataaagcccacttctgccatctgtgaaactgacagtaaaatggagggatatttcac
+cacaaaactgtcagcaaactccgggttacgggcgaaatcatgtaggaacggattaccaaa
+aacgttggtaatttgcagtaccgcacccagcatcatggcaaagaggaaaaagatggccat
+gcgtggatttttaaacagcacgaaggcatccagacccagcttgctggcaagcgatgtggt
+cgcttttttctccgcaaccggaatcttcggcaaagtcagcgcataagccgacagcagcaa
+tgacgcaccggacgcgatatacagctgcagactactcaattccagatgcagcaggcttac
+tgcccacatcgcgacaatgaaccccaccgtaccaaaaacgcgaatgggcgggaaagcggt
+caccgggtcaagccctgcctgggcaagacaggaataagagacgctgttcgataacgcaat
+agtcggcataaacgccatcgcattgactaacatcacccaaaacatcatatccggatcagt
+tacggatgccgcataaaaaagtacgcccgcacacaccaggtgacacagcatgtatgcacg
+ttctgcgcgcagccatttgtctgcgatgatccccattataccaggcataataatcgcggc
+gatccctttggaactgtaaaccatgccaacattagcgccggtgaaatgaagagtattaat
+catgtaagagccgagggtaaccagccagctcccccagataaaatattgcaaaaaggacat
+tacctttaagcgcatcgcgatgctcataatcgtttccttgtcgcatcatttggcctcacc
+cgcgaggccgtttcttattgtttttctcaggcaattttgcgcagaaagccacaaataagg
+ttgatgaagttctgcttagagagctccgcagccgccagcgtttgcgcatgtgacaatttc
+acatcgcttaaaccttccgccatattggtaatcgcagagaccgcaacgactttaaggtcg
+caatggcgagctgaaataacctcaggcaccacagacataccaacaacatccccaccaata
+atttgcatcatgcgaatttccgccgcagtctcgaaattcggccccggatacgagacgaac
+acgccctccgtcagagggaaaccctcttctttcgccactttttgtaacagtgcgcggtat
+tccgcatcgtaggcatttgccagtgagaagaagcgctctccaaaacgatcatcgttaaga
+cccaccatcggcgtaccgggcatggtgttgatatgatctttcaatgcgaccaggctgcct
+gcccccacttccggacgcagcgagcctgccgcattggtgcagaacagtagctcgcagccc
+agcagcttaaaggtacgaattgcgtcagtcataatggtcattccacgaccttcgtagaaa
+tgtccgcgacctttcatacataccaccggtacgccctggagatggcccagcactaactcc
+cccgcatgaccatgtaccgtacttaccgggaagcccggcagcttttcgtaggaaattgcg
+acagcgttctcaatctgatcggccagcgcgccgagcccggaacctaaaataaaggccact
+cgtggcgtgaaatcaggtttataagtcttgataatatctatgcaaaacagcgggttatga
+gaaaattgaacctgagacatacatatcctttttctgtagggtggaatctaacgccttttt
+atagcgaggttgtcccggctcttaccaatacacttttctcacgcattcaatagcgattcg
+atatcgatggatttatatcttttctctattaatccacggtaaaaactgtattggcgatat
+taattcctttgcattaacaatatgtcgtttttagcaaaccactttattaagcaatctact
+aataacgatcggcatagggaattatgctatgaaaaaacatcttttaactctgacactttc
+ctctatattagcgatacctgttgtatctcatgcagaatttaaaggcggttttgcagatat
+cggcgtgcattatctggactggaccagccggactaccgaaaaatcgtcgaccaaatcaca
+caaagatgattttggttatcttgaatttgaaggtggcgctaactttagttggggagaaat
+gtacgggttcttcgactgggaaaacttctataacggtcgccataataaaccaggtagcga
+gcagcgttatacctttaaaaataccaaccgtatttacctgggtgacaccggatttaatct
+ctacttgcatgcgtatggcacctacggttctgcgaatcgcgtgaatttccacgacgatat
+gttcctgtacggtatcggctacaatttcaccggcagcggttggtggttcaaaccgttctt
+tgctaagcgttatacagatcaaacctattacactggcgacaacggctatgtcgccggctg
+ggttgcaggttacaactttatgctgggcagcgagaaattcactcttaccaactggaacga
+gtacgagtttgaccgtgacgctacctatgcagcgggtaatggcggtaaagaagggctgaa
+tggcgcagttgcactgtggtggaatgcaacatcacacattactacggggattcagtatcg
+atatgcggatgacaaactgggcgaagatttttaccaggatgcgataatctactccatcaa
+atttaacttctgattgattactgccggggctcccggcagtatgaattcactctatatctg
+atacaacggatccccttcccgcccagccattagcgcattgccctggtctcgtaccacgtc
+ccataaagcttcagcggcggtggaaagtgaacggttcttcctgcgcaccagcatcaactg
+gcgttcaacaaccggcgtaatgcgctttaccaccagtgggctaccttcaggcaatggtag
+cgccagtgcgggaagaatactgatgccgatgcctgcggctaccatcgggaacagcgtcgc
+cggatgtccaatctcctgcacaatattcgcctgaataccattgcgcgccagcgctgcgtc
+aatcagcggtcggctgcctgacgcgtaatcctgcaacaccaatttcgctccctgtaatgc
+ctgccagggtacataatcttccacggccaaagcgctatcgcgatggcaaagcagaaagaa
+aggctcggaaagaatcgcttcacattgcagatcgcccactgggcctggatcgatgacgat
+gccaaaatcgacatctccctggcgaatactttccattacccactgctgcggacgatcgtg
+caggacaaactgaatatctggatagcggcgatggctttcagcaatgcattgcggaataag
+atgcgcggaaatggtctggctggcagcgacccgaacttttccgctcagttgttgccccat
+acgcccggtatcgcgcaacgtgctgttcagttcatccagcagtcgctcaagacgcaaagc
+cagctgctgccctgcatctgtaagcaccacttcacgcgtggttctgtccagcaggcgaac
+accagtatgattttccagttccttcacactgtgactcactgccgactggctcaggccgat
+acgctctcctgcacgactaaaacttttctcctgcgctactgtgacgaaaacctttaattg
+ttttaaagaataattcatctgttttcttcatgaatggatgcaataaatcaattttatttc
+tcaaactggaagaagcacaatagaaccatcgatcatctggagtctttatgaaactttttc
+gtatcctcgatcctttcaccttaaccctgatcacggtggtgttgctggcctctttctttc
+cggccagaggcgatttcgtccccttctttgaaaatctgaccaccgcagctattgccctgc
+tgttctttatgcacggcgcgaagttgtcgcgtgaggcgattattgctggcggtggtcact
+ggcgactgcatttgtgggtaatgtgcagcaccttcgtgctgtttccgattctgggtgtac
+tgtttgcctggtggaaaccggtaaatgtcgacccgatgctctactccggttttctctact
+tgtgcattctcccggctaccgtgcagtctgcaatcgccttcacgtcaatggcgggcggta
+acgtcgcggcagcggtttgttctgcgtcggcatccagcctgctggggattttcctttcac
+cattgctggttggtctggtgatgaatgttcacggtgcagggggcagccttgagcaggtcg
+gtaaaattatgctgcaactgctgctgccgtttgtgttggggcatctttcccggccgtgga
+ttggtgactgggtgtcgcgcaataaaaaatggattgcgaaaactgaccagacgtccattc
+tgttggtggtttatacagcgttcagcgaagccgtcgttaatggtatctggcataaagttg
+gctggggatcattgctgtttatcgtggtggtcagctgcgttcttctggctatcgtgattg
+tagttaacgtctttatggcacgccgactgagcttcaataaggcagatgaaattactatcg
+tcttttgtggttcgaaaaagagtctggcaaatggcatcccgatggcaaacattctgttcc
+ccacatcggtgatcggtatgatggtgctgcccctgatgattttccatcagatccaattga
+tggtctgtgcggtgctggcgcgtcgatacaaacgccagaccgaacagttacaggcgcagc
+aggaaagcagcgccgataaagcttaaagcggacgcttcaggggctggaccagttgcgtca
+gcccctcggttttaatcagcagcgtgatttgcattagctcaccgagcttccctgccggga
+actcatctttgcgggcaaaccacagcagatactcctccggcaggtcgattaagcgacgcc
+ctttgtatttgccaaacggcattatcgtattggctatttcaatcagctgctctttttcca
+tctcagctacccagcaaacgcagcatttccgcttcgtcgatgacttcaatgcccagttcc
+tgcgccttcgccagtttagatcctgcagcttcacccgctatcaccagatcggttttcttc
+gacacgctgcccgcgactttcgcgcccagttcgaccagtcgagctttagcgtcatcacgc
+gacatctggcttaagctgcccgtaagcaccacggttttaccagcaaacgggctgtcaatc
+tcttccgcgttgataacgatcggcgcaggccagtgaacaccttccgccaacagctcgctg
+atgacattgcggttgctttcttcggcaaagaagttgtgaacgtgggatgcaacgacaatg
+ccaacatcaggcaccttttgcagctcttcaatcgaagcggcttccagcgcttccagcgtg
+ccgaaatatgccgccagacctgctgcggtggcctcgccgacttcacggatgccaagtgca
+tagaggaagcgagcaaaggtggtttctttcgctttttccagcgcgttaaccacgttttgt
+gccgattttggccccatacgctccagtccggtcagtttgcctgcggtgagtttgaacaga
+tctgccggagtatggacatattctttttcaaccagctgatcgatgattttgtcgcccatt
+ccgtcaacatccatcgcacggcgggaaacaaagtgtttcagcgactctttacgctgcgca
+ccgcaaatcaggccaccggtacagcgggcaaccgcttcaccttccacacgctcaacgtca
+gaaccacataccggacaatgcgtcgggaatacaacctcacgggtatcttccgggcgttca
+gaaagcacgacgttaaccacctgcgggatcacgtcgccagcgcggcgaatcaccacttta
+tcgccaatgcgtaaaccaagacgttcgatttcatccgcattgtgtaaggttgcgttactc
+accagcacgcctgcaacatggacaggttccagacgcgcaacaggcgtaatcgcgccagta
+cgcccaacctgaaactcgacgtcacgcacaaaggtcatctgctcctgcgccgggaattta
+aacgctaccgcccagcgcggggcacgcgcgacaaagccaagctgctcctgctgtgccagt
+gagttgaccttaatcaccacgccgtcgatatcaaagcccagcgtcgggcggtcttcttcc
+actttgtgatagaacgccagcacttcttccgccgattcacaaagcgttacccgatcgctg
+accggcaacccccactttttaaattgcagtaaacggccaagatgagtatccggcagctcg
+ccaccttccagaacaccaacgccatagcagaaaaaagtgagcggtcgcttcgctgtaata
+cgcggatcaagctgacgcagtgaaccagctgccgcattacgtgggttagcaaacactttc
+ccgcccgtgcgtcgcgcatcttcgttaatcttttcgaaccccgcctgcggcaggaacact
+tcaccacgcacttccagacgcgccgggatattctctccgtgcagcttcagcggaatggcg
+cgaatagtacgcacattagacgtgatatcttccccggtggtgccatcgccacgggtcgcg
+gcactgactaaaacgccattttcatacagaatactgacggcaagaccatccagcttcagc
+tcacagcaccaggtgactttctcgttgtttttcagacggtcctgcacacgtttgttgaaa
+gcaagaaagctttcttcatcaaaaacgttatccagtgacagcattggtacttcatggcgt
+atctggctgaaagccgccagcggcgcagcgcctacacgttgagtaggcgaatcaggcgta
+atcagttctggatgtttggtttccagctcgcgcagttcgcgcatcagcctgtcgtattca
+gcgtcgggaatttccggcgcatccatcacatgataaagatattcatgatggcgaagcgtc
+gttcgcagttctgtcagttgttgttcgattgattccatatcgcaccatcaatgctaaaaa
+cccccgacaagcgggggttcgaagaggagttaatttgccttaagtgtatcaggcgttggc
+gtctttgacttcgcggatgatgtcctggtactcgcgcaatttctgcggagtcatcatacg
+gcgctgatcgtcaagcacgacaccgcccacttcatcggcaatatgctgcgcagattgcag
+catcagcttgaagttctgcagctcgtcaccgtaagacggtacctgcataaagatagtgac
+acccggagtagtgaaatccttcatttcaggatcaaaggttcccggtttcaccatattcgc
+caggctgaataacgccgggccgctgccatccgggctaagatgacgatggtaaatattcat
+atcgccaaaaatgaagcccgcttgttgaatgctgttaagaagcagttcaccgtttagctc
+gctaccgtgatgcgccgcgacgttcatgataatcaccgcttctttgcgcttcggtttatc
+cataactggagcaggttccgctacaggctcaggctgtggtgccgctacgggttctgcagg
+ctggaaagcctgttgtgccggttgcggtgctgaatgcacaggctgcggcgctggcgcgac
+ctgtggcgaaactggctgctgcaacggctgttcaggctgcggctgataggcaggctgctg
+caccggctgcgctggatgcggagcatgttgcggcggtacctgcgcttcaggcggctgctg
+gaccggttgacgcggctgcgcagacgcataaggcggttggtactggtgttgcggcgacgg
+acgagcagcctcatgctcctgagcgttagccggggcatgattcacgcggtgaacacgaac
+ctcaccaacgccctcatcatcttcgacatcctcgtcataagaatcgtcgtcacgttttga
+cttcattcgttttaatggccgatcgcggaacatagaagatcgttctttacggctggtcca
+gaaaccatgtaccagtaaagcgattatggcgatcgcgccaacaatgattaatatcagacg
+caaatcctgcatcattatattctctgttgttctaacaccttgccaccacggcaaacattt
+actcactaagagtatttgccgattacctcaagtgcaagtgcactattaactttcacagca
+caaagatagatgaaatcgtgctttttgctgttttttcgaacatatcctaactgtccattg
+cgcaattacccggtaaaatacgcagaattttcctgggattggtcaaaaggagctcatcct
+gattatggtttcatcattcacatctgccccacgcagcggtttttactattttgcgcaagg
+ctggaagctcgtctcgcaacctgggattcggcgtttcgttattttaccgctgctggtcaa
+tattttgttgatggggggcgcattctggtggctctttacacagctcgatgtctggatccc
+gactctcatgagttacgttccggactggctacaatggctgagttatctgttgtggcctct
+ggctgtcatctctgtgctgttagtgtttggctatttcttctccacgattgctaactggat
+tgccgctccgtttaacggtttattggctgaacaactggaagcacgattgactggcgctac
+accgccagataccgggattttcggtatcatgaaagatgtgccgcgaatcatgaaacgcga
+atggcaaaaatttgcctggtatctgccgcgcgcaattgtattactaattctttacttcat
+ccctggtattgggcaaaccgtcgcgccggtactgtggttcctgtttagcgcctggatgtt
+agccatccagtattgcgattaccccttcgataaccacaaagtgccgtttaaagagatgcg
+caccgccctgcgcacacgcaaaatcaccaatatgcagtttggtgctttaaccagcctgtt
+tacgatgatcccgctgcttaatctgttcatcatgcccgttgccgtttgtggcgcgacggc
+gatgtgggtcgattgctatcgcgataaacacgcgatgtggcggtaacaatctaccggtta
+ttttgtaaaccgtttgtgtgaaacaggggtggcttatgccgccccttattccatcttgca
+tgtcattatttcccttctgtatatagatatgctaaatccttacttccgcatattctctga
+gcgggtatgctacctgttgtatcccaatttcatacagttaaggacaggccatgagtaaga
+tttttgaagataactcgctgactatcggtcacacgccgctggttcgcctgaatcgcatcg
+gtaacggacgcattctggcgaaggtggaatctcgtaaccccagcttcagcgttaagtgcc
+gtatcggtgccaacatgatttgggatgccgaaaagcgcggcgtgctgaaaccaggcgttg
+aactggttgaaccgaccagcggtaataccgggattgcactggcctatgtagctgccgctc
+gcggttacaaactcaccctgaccatgccagaaaccatgagtattgaacgccgcaagctgc
+tgaaagcgttaggtgcaaacctggtgctgacggaaggtgctaaaggcatgaaaggcgcaa
+tccaaaaagcagaagaaattgtcgccagcaatccagagaaatacctgctgctgcaacaat
+tcagcaatccggcaaaccctgaaattcacgaaaagaccaccggtccggagatatgggaag
+ataccgacggtcaggttgatgtatttattgctggcgttgggactggcggtacgctgactg
+gcgtcagccgctacattaaaggcaccaaaggcaagaccgatcttatctctgtcgccgttg
+agccaaccgattctccagttatcgcccaggcgctggcaggtgaagagattaaacctggcc
+cgcataaaattcagggtattggcgctggttttatcccggctaacctcgatctcaagctgg
+tcgataaagtcattggcatcaccaatgaagaagcgatttctaccgcgcgtcgtctgatgg
+aagaagaaggtattcttgcaggtatctcttctggagcagctgttgccgcggcgttgaaac
+tacaagaagatgaaagctttaccaacaagaatattgtggttattctaccatcatcgggtg
+agcgttatttaagcaccgcattgtttgccgatctcttcactgagaaagaattgcaacagt
+aatgccagcttgttaaaaatgcgtaaaaaagcacctttttaggtgcttttttgtggcctg
+cttcaaactttcgcccctcctggcattgattcagcctgtcggaactggtatttaaccaga
+ctaattattttgatgcgcgaaattaatcgttacaggaaaagccaaagctgaatcgatttt
+atgatttggttcaattcttcctttagcggcataatgtttaatgacgtacgaaacgtcagc
+ggtcaacacccgccagcaatggactgtattgcgctcttcgtgcgtcgcgtctgttaaaaa
+ctggcgctaacaatacaggctaaagtcgaaccgccaggctagactttagttccacaacac
+taaacctataagttggggaaatacaatgttccagcaagaagttaccattaccgctccgaa
+cggtctgcacacccgccctgctgcccagtttgtaaaagaagctaagggcttcacttctga
+aattactgtgacttccaacggcaaaagcgccagcgcgaaaagcctgtttaaactgcagac
+tctgggcctgactcaaggtaccgttgtgactatctccgcagaaggcgaagacgagcagaa
+agcggttgaacatctggttaaactgatggcggaactcgagtaatttcccgggttctttta
+aaaatcagtcacaagtaaggtagggttatgatttcaggcattttagcatccccgggtatc
+gctttcggtaaagctctgcttctgaaagaagacgaaattgtcattgaccggaaaaaaatt
+tctgccgaccaggttgatcaggaagttgaacgttttctgagcggtcgtgccaaggcatca
+gcccagctggaaacgatcaaaacgaaagctggtgaaacgttcggtgaagaaaaagaagcc
+atctttgaagggcatattatgctgctcgaagatgaggagctggagcaggaaatcatagcc
+ctgattaaagataagcacatgacagctgacgcagctgctcatgaagttatcgaaggtcag
+gcttctgccctggaagagctggatgatgaatacctgaaagaacgtgcggctgacgtacgt
+gatatcggtaagcgcctgctgcgcaacatcctgggcctgaagattatcgacctgagcgcc
+attcaggatgaagtcattctggttgccgctgacctgacgccgtccgaaaccgcacagctg
+aacctgaagaaggtgctgggtttcatcaccgacgcgggtggccgtacttcccacacctct
+atcatggcgcgttctctggaactacctgctatcgtgggtaccggtagcgtcacctctcag
+gtgaaaaatgacgactatctgattctggatgccgtaaataatcaggtttacgtcaatcca
+accaacgaagttattgataaaatgcgcgctgttcaggagcaagtggcttctgaaaaagca
+gagcttgctaaactgaaagatctgccagctattacgctggacggtcaccaggtagaagta
+tgcgctaacattggtacggttcgtgacgttgaaggtgcagagcgtaacggcgctgaaggc
+gttggtctgtatcgtactgagttcctgttcatggaccgcgacgcactgcccactgaagaa
+gaacagtttgctgcttacaaagcagtggctgaagcgtgtggctcgcaagcggttatcgtt
+cgtaccatggacatcggcggcgacaaagagctgccatacatgaacttcccgaaagaagag
+aacccgttcctcggctggcgcgctatccgtatcgcgatggatcgtagagagatcctgcgc
+gatcagctccgcgctatcctgcgtgcctcggctttcggtaaattgcgcattatgttcccg
+atgatcatctctgttgaagaagtgcgtgcactgcgcaaagagatcgaaatctacaaacag
+gaactgcgcgacgaaggtaaagcgtttgacgagtcaattgaaatcggcgtaatggtggaa
+acaccggctgccgcaacaattgcacgtcatttagccaaagaagttgatttctttagtatc
+ggcaccaatgatttaacgcagtacactctggcagttgaccgtggtaatgatatgatttca
+cacctttaccagccaatgtcaccgtccgtgctgaacttgatcaagcaagttattgatgct
+tctcatgctgaaggcaaatggactggcatgtgtggtgagcttgctggcgatgaacgtgct
+acacttctgttgctggggatgggtctggacgaattctctatgagcgccatttctatcccg
+cgcattaagaagattatccgtaacacgaacttcgaagatgcgaaggtgttagcagagcag
+gctcttgctcaaccgacaacggacgagttaatgacgctggttaacaagttcattgaagaa
+aaaacaatctgctaatccacgagatgcggcccaatttactgcttaggagaagatcatggg
+tttgttcgataaactgaaatctctggtttccgacgacaagaaggataccggaactattga
+gatcattgctccgctctctggcgagatcgtcaatatcgaagacgtgccggatgtcgtttt
+tgcggaaaaaatcgttggtgatggtattgctatcaaaccaacgggtaacaaaatggtcgc
+gccagtagacggcaccattggtaaaatctttgaaaccaaccacgcattctctatcgaatc
+tgatagcggcgttgaactgttcgtccacttcggtatcgacaccgttgaactgaaaggcga
+aggcttcaagcgtattgctgaagaaggtcagcgcgtgaaagttggcgatactgtcattga
+atttgatctgccgctgctggaagagaaagccaagtctaccctgactccggttgttatctc
+caacatggacgaaatcaaagaactgatcaaactgtccggtagcgtaaccgtgggtgaaac
+cccggttatccgcatcaagaagtaattcttgccgcagtgaaaaatggcgcccatcggcgc
+catttttttatgcttccgccagcggcggcaaaatcaattcatcgctctcatgctgctggg
+tgtagcgcatcacttccagtacgcgcaaccccgctcggtgcactgcatcggttaacgcct
+tccctttcagcaagccactgatgagctgagcacaaaacaggtcgccagtccctttcaggt
+cggtttttacccgtgaatgggaaatgacattcacgctgtcggcagtgaccaccacaacct
+gcatctcctgattttcttcattaccggaggcgctggtaaccaccacccattttaatgtgt
+ctgaaagcagactttttgcggcagcaatggcactgtcgagatcgcggcaatttttaccgg
+tcaggatttccaactcaaagatattgggggtaattccctgcgccagcggcagtaaatatt
+gtcgatacgcttcgggaaggtcaggtttgacataaattccgctatcaatatcgccaatca
+ccggatcgaccatgatcaataggtcaggatggtctttgcgtagcgcagtcagccactcgg
+caaggattttgatttgcgatgccgttcccatatagcccgtggttacagcacgaagttggc
+gcagcgcatcacgctcctgaagcgcacgcaaatagccgctaaaccattcgtccggaatcg
+caccaccgtagaaagtgtcataatgcggcgtattgctcagcaataccgtcggcacggcaa
+agacattcaggccgttctgtttgatagcaggcacggcaatgctgttgcccacgctgccgt
+aaaccacctgcgactgcacggcgacgatatccgcctgcagtgccctactcttatcgttaa
+acaacaacaaactactcatttaattttttctccttgccgatgatcctcatcgtaatccaa
+ccgaaactttacctgattctggcagtcaaatcggctatcacaaaacaaggataaggtaat
+tcaatgaagaaaatcatttgtctggtcattacactactaatgacactccccgtttacgcg
+aagttaactgcccatgaagaagcccgcatcaacgccatgctggagggattagcacagaaa
+aaggatttgatatttgtgcgcaacggtgatgaacatacctgctatgaagcggtttctcat
+ctgcgtctgaagctcggcaatacccgtaaccgcattgacactgccgagcagtttattgat
+aaggttgcttcgtcgtcatcgattactgggaagccgtatattgtgaagatccccggtaag
+agcgatgagaacgcacagccttttttacatgcgttaattgcgcagacggataaaacggtg
+cctgcggaaggaaattaatccgctttgggaaggcatttacaggaggtaacatgaaaaaac
+gctttatttatcacgatgaaaaatcgaataaattttggtggatagattacgaaggggata
+gtttagctgtcaactatggcaaggtaggtagtattggtaaattccagacaaaagagttcg
+ataatgaagaacagtgtctgaaagaagccagtaaattgattgccgcaaaaatgaagaaag
+gctatcaagaagatccaaagtttaacttcatggatcgctactattttgatgatgaagaaa
+ttgggttacatgttaaaacgtcacacccaaacttccagtgccattttactgatccacttt
+atatgtgttgctgggatgaagaatctccttttggcagcgatgaaggtgctgatgctctaa
+acgttcttgaaaatagcctccgtaaagagccggatctggactgtgctgatttccctcaaa
+tgttaattgaaactatgtggggtatgaaatacatcgctatggacagtattcttgaagagg
+atgttcgtgcgcaattactagtcgatgaaatgagcactatccagagcaatatgattacct
+acgcaactgcattcggtcagattaaagtcatgggtaaaatctcccataaacttaaaaaga
+tgggactcaatgcactagcgcgtcatcagcttaccgcaaaaattcttcaatggggtgacg
+gtcaggactcaccaatacttcaaaaaatgattgatgaccttacggcgtttcctcacgaaa
+attaaatactgcatttgtcggcagcaacaactgttaaaaaagtgcgctttgtttatgccg
+gatgcggcgtaaacgccttatccggcctacaaaatcgtgctaattcaatatattgcagaa
+accttgtaggcctgataagcgtagcgcatcaggcagttttgcgtttgtcatcagtctccg
+atgctattaatccttaaatccccgccccctggctaaaatgctcttccccaaacaccccgg
+tagaaaggtagcgatcgccacgatcgcagatgatcgccaccaccaccgcgtcagggttag
+cttttgccacccgcagtgctccggcaaccgcgccgccggagctgacgccacagaatattc
+cttcccgcaccgccagttcgcgcatggtgttttccgcatcgcgctgatgaatatccagca
+cctcatccaccagagaagcgttgaaaatccccggcagatattccgtaggccagcggcgaa
+tgccgggaatgctgctgccctcttccggttgcaggccgacaatggtcaccggtttggatt
+gttcgcgcataaagcgtgagacgccggtgatagtgccggtcgtccccatgctggagacaa
+aatgagtgatgcgcccgccggtttgctgccagatttccggcccagtggtggtgtaatgcg
+cataagggttatcgggattattgaactgatcgagcagctttccttcgccacgattcgcca
+tctccagcgccagatcgcgcgcaccttccatgccctgctctttggtgacaagaatcagtt
+ccgcaccataagcacgcatcgccgcacggcgttcctggctcatgttgtcgggcatcagca
+atttcatgcgatagcctttcagcgcggcaatcattgccagcgcaatgccggtgttaccac
+tggtggcttcgattaagacatcacccggtttaatttccccgcgcttttccgcctcgacga
+tcatcgaaagtgccgcacgatctttcaccgaacctgccgggttattgccttccagtttta
+accacacttcactgccgttatccggccccattcgctgcaacttcaccagaggcgtattgc
+ctattgtttgttctaatgtactcacgatctctatccatacgtggtgttgcctgatgcgac
+gcttgcgcgtcttatcaggtctacaggttacaaaccttgccattaaaaagcccggatcgc
+gggaagcgcctccgggcgtttaacattcactcaacctatcaggcgctttgtgcgagagca
+agttcctcatcgcgggtttcgatacgctcgtcgccgttatacagccgcgcatgttgcaga
+ccaacgaataaacgctcgccacgctgcggggcatcgtcgccatgcatcacgaccgtcagc
+ggttcgttgtaccaccccagcggctgcaccactaattgggtgtagtgacctttcgggctg
+gcttccagtacctgtaccggcagcggcgaatcgaggctggtacggcggctgatatccact
+tcccaagggcgcaggaagagatccaccggcccctgatacgcaggtgtgtagcccagcggc
+cagcgatgcgcgccaacatggaactgcccgccgcgaatggttccctgcaggcggttcact
+tcgcccataaattcgagcacaaaacgggtcgccggttcgcgccatacctgatccggcgcg
+tcagcctgttcaatattgccctggctcatcacaactacacgatcagctacttcggtcgct
+tcttcctgatcgtgggtcacaaaaacgctggtgaattttagttcttcatggagttgacgc
+agccagcgacgcagctctttacgcacctgcgcatccagcgcgccaaacggttcatcaagc
+agcagaatttgcggttccacagccagcgcgcgcgccagcgccacgcgctgtttctggccg
+ccggaaagctgcgccggataacgatccgccagatgggcaagctggaccatttccagcaat
+tttgtcactttcgctttgatggctgcggcattcgggcgctcgcgacgcggcagcaccgtc
+aggccaaaagcgatattgtcgaacaccgtcatatggcggaacagcgcgtaatgctggaac
+acgaaaccgactttacgatcacgtgcgtgcaggcggctcacgtcggtgccgtggaagcga
+atatgcccgctggtttgatgctccagcccggcgataatgcgcagcagcgtggttttcccg
+gaaccggacggccccagcaacgcgaccatctgacctgaaggaatatccagtgagatatcg
+ttcagcacctgggtgcgaccaaacgacttcttaatattggcaatctcaatgctcatgatg
+ttcctcctgctgtgcgcgtttttcctgattctccaggcgccactgcaacatactttttaa
+aaacagggtgataatcgccatcagcgttaacagcgccgcagcggtaaaggagccgacggt
+gttgtagtcctgctccagcaattcaatctgtaacggcagcgacagggtttcgccgcgaat
+cgagccggaaaccaccgacaccgcgccaaactcgccaattgcgcgggcgttggtcaacac
+cacgccataaagcagcgcccagcggatgttcggtaatgtgacgcgacggaacatctgcca
+gccggacgcgccaagcaaaatcgccgcttcgtcttcctggctgccctggcttaacatcac
+cggcaccagttcgcgcaccacaaacggacacgtcacgaagatggtgaccagcaccattcc
+cggccaggagaacataatttgcaggttatgctcgtcgagccaaccgccgagcgggccgtt
+agagccgtagaacagcaaatacaccagaccggcaaccaccggcgatacggcaaacggaat
+gtccagtagcgtcagcagtaactggcgtccagggaagttaaagcgcgtcaccagccaggc
+cagcagaatgccgaacaccaggtttaccggtacggcaatcagcgcgatcatcaccgtcag
+ccagatggcgtgcagcatgtccggatcggccagattctgtaaaaccggcatcagcccctt
+gctgaatgcctgcacgaagatgtaaatcatcggcaccagcaggatgaacgccgaaaccag
+catcccgatgccaatcagaaaccatttgccccagttaatcgggcgcgcgtcataacgctt
+caattgggtaacttccgccattaatgacctaccacacgccgaccaaagcgactttgcaga
+gtgttaattgagaacagcagcagcagagatgccgcgaggatcaccgaagcaatcgcgctc
+gctgccgggtaatcaaactcctgtaagcgcacaaaaatcatcagcgacgtcacttccgtc
+ttccacgcgatatttccggcgataaaaatcaccgcgccaaattcaccaagactacgggta
+aacgacagcgccacgcccgccaccagcgccggagaaagctccggcagcaccactttgcag
+aaactctgccagcgcgttgcaccaagcgtttccgccgcttcttcatattccgggcctaac
+tcttccagcaccggctgcacggtacgcaccacaaacggaatgctggtaaaggccatagcc
+accgcaatccccagccatgtataggtgactttgatatcaaacttcgccagccattcaccg
+taaaaaccgtttacggaaaagagcgaggccagcgttaaaccggcgacagccgttggcagc
+gcaaagggtaaatccatcagcgcatcaagcagcgtgcggcctgggaagcgatagcgggtt
+aggatccacgccatcagcagaccgaaaacgccgttaaaaatcgatgccacaaacgccgac
+agcagcgttactttgtaggccgcgaccacctgcgggttggtgatcacctcccagtactgc
+gcccagctcatctgggccagttgcatcaccagcgcggagagcggcagcagcaaaatcagg
+cacacaaacagcagactggtgccgaggcttaaggtaaagcccggcagcacgcgtctggag
+gagacagcaaacatcagttacgccccgccgctaacagcttgtctaactcgccgccgctgg
+tgaagtgggttttcatcacttccggccaggagccaaatttgtcttccacgcggaacagct
+cggtctgcgggaatttgtctttcagtttgtccatcacctccgggttattcacgcggtagt
+aatagtcggtgatgatggtttgcgcctgcgggctatagagccagttcagataggctttgg
+cggctttttccgtaccgttggcctgcacgtttttatcaacccacgccaccgggaattccg
+ccagaatgttggttttcggaatcaccacttcaaagccctgcgcttcatactgtttacgga
+tgttgttcacttccgattcgaagctaatcagcacatcgcccaggccgcgctcggcaaaag
+tggtggtcgcgccacgaccgccagtatcgaacacttcaacgtttttcaggaactgggtca
+taaactgttcggttttgcctttgtcaccaccgtcagctttatccgctgcgccccatgccg
+ccagataggtataacgcgcgttacccgacgttttcgggttcgggaaaatcagcttcacgt
+cggagcgcaccaggtcgttccaatcgtggatattcttcgggttacccttacgcaccagga
+agcccatggtggagtagaacggcgagctattattcggcaggcgcgactgccagtcggccg
+ggatcagcttgcctttatcgtgcaggatttgtacgtcggtcacctggttataagtgacaa
+cgtcggcttttaagccctgtaaaatcgccagcgcctgttttgatgacccggcatgagatt
+gttttatcgtcagtttgtcgccgccgttatcttttgcccattgttgctcaaacggcggat
+tcagggcggcaaacagctcgcgggagacgtcataagaactgttcagcagttccgttgcct
+gtacatggcccgccagcagcagagaagcgaccagcgcgagtgagttctttttcagtaagt
+taacggccattgcgcacccttataaatttaatgactttctaatagccatcatatttataa
+cggacgtgaaaggagtaacggttttatataccgtttggtgatttggaagttgaaaaggga
+ataagaacttggttcaacaggcgtaattgttgcagtcagtttggacacgaacagcgcgga
+gaaaccggagcgtacacatagtacgtgaggatttcgagcactgcccggggccaaaatgac
+aaataaaatagcctggtgaacttagttcaagacgaaatcctccccacaaatgcagggagg
+aaacagaggtgaatcagataccgacgctaaccgtctccggcagtgtgctgccgccatcaa
+tcacattctgtgtaccggttaaatagctggattcatccgatgcgaggaaggccgccagtt
+cgccgacttccagcggatcggcgaggcgacgcatcgggattgctttcgccatttcagtca
+gcaccgactctggatcttccgggttcgactggcgggcaatgctttccgccattggtgtgc
+gcacgtatcccgggcaaatggcgttaacgcgaataccagactgcgcgtactccaccgcca
+gcgattttgtcaggccaacaatcgccgctttcgttaaggcgtacgccgtttcgccaggat
+cggccaccatatcaccagtgactgaagacatcatcacaatgcgaccatctttgcgggcaa
+tcatctccggcagcaccgccttcgtgacgttccatacgcctttaatattgatgtcaatat
+ggaaatcgcgatcgtcatcgctcatatcgaggaaactgcccagacgacaaacgcctgcgt
+tattcaccaggatatcaatgcgcccttctttttccttcgcgcgtttgatagctgcggcta
+ccgacgccgggtcacgcacatcggcgacaaccgccgtacagcgatgaccacgaccacaca
+gttcgtccgccagcttttcgatctcaggggagatatccagcaagattaggttcgcgccat
+gacgtgcaaaagttctggcaattccttcgccaattccctgcaatgcgcccgtaatcagtg
+ctgtcttgcccgtgagtttacccattttaatgctctccttgttaatacagagcgttacac
+tccattccctctgaaaatacaggataaacaaaatattgctgcggatcagctcactaattc
+aggaaaatctcaatccagtcgctgctttatgcatcatttcaggcgttgtgttagctcact
+gctgcgctgaatcattttcaatgactccacatcattgagttgcacaaggccaacaaacag
+taaatcggtaacagaattttgcgccgtgcgggtagacatcgacgagctacgccattcggt
+ttctccggaaacggtatcgagggtgaaatgcgccagccgccgcagcggagagtcagtcag
+agaagtaatggcaatcaccgttgccccctgctttcgtgccgcttctgcgcacaagacaat
+ctcttttttactgccgctgtaagagatagcgatttgtacatcgccttttttcaacgcctg
+agaaacggtggcttgtacgtgcgtgtcggcttcgcaggccacgcgatagccaattttcat
+cagtttgaacgacagatcgcgccccaccagcgccgatccgcccaggcccgttatctggat
+aaacggtgctttactgatgacctcaatgattttttgcagccgcgcgtaatcgagcaacgc
+gcaggtttgctccagcgccagctctttttcgcgattcagtttgcgcgcgatcacttccag
+cgaatcatcactggtaatcgaactgtgcaggtgcagtgccgtggcattcgttttctcccg
+gctggcactgtattcgcctattaacgccatacgcaattcagtaaatccttgcgcgccgag
+tttttgggcaaatttcactatgctcgactggctaatgccgagctgtttcgccatctgccg
+tgaagaaacggattgcagctcactcacgttggcctgcagaaagtcagcgattttttgctc
+gttttcggtgaattcactccccgcattgcttattttcgtcaggtacaacatcttccactc
+tcctgggctggcagcataaattccgcttaagttcttatgacgctcttcacactctgcgag
+tgtagactcaatgattcctttaagcctgtcaattcgggatatatgattccatacatctgc
+aattatttgatcgtaaatagtaaggtcaccaccgatgcaatttgaaaagatgattactga
+aggctcgaacaccgcctcggctgaaattgaccgcgtatcgacgctggaaatgtgccggat
+tatcaacgatgaagataaaaccgtaccgcttgccgttgagcgcgtactgccggatatcgc
+cgcggcgatcgatgttatccacgcccaggtaagcggcggcgggcgtctgatttacctcgg
+tgcgggaacatccggtcgtctggggattctggatgccagcgaatgtccgcccacctacgg
+cgtgaaaccgggtctggtggttggtttgattgctggcggcgaatatgccattcagcacgc
+ggtggaaggcgcggaagatagccgggaaggcggtgttaatgatctgaaaaatattaattt
+aacggcacaggatgtggtggttggcattgctgccagcggtcgcacgccgtatgtgattgc
+cggactggaatacgcacgccagctcggctgccgcacagtgggaatttcctgtaatccggg
+gagcgccgtttcaaccaccgctgagtttgccattacaccgattgtaggtgccgaagttgt
+taccggttcttcgcggatgaaagcaggtacagcgcagaaactggtgctcaatatgctttc
+caccgggctgatgattaaatccggcaaagtgttcggcaacctgatggtcgatgtggtcgc
+caccaacgaaaaactgcatgtgcgacaggtcaatattgttaaaaacgccaccggatgtag
+cgcagagcaagcggaagcggcgttaattgcttgcgagcgcaactgtaaaacggccattgt
+gatggtgctgaaaaatctcgatgccgcagaagctaaaaaacgcctggatcaacacggcgg
+ctttattcgtcaggttttagacaaggaataacccatggccaaagagatcagcagtgaact
+tctgaacaccattcttacccgtgtcggcggaccgggaaatatcgccagttgtggtaactg
+tatgacgcgcctgcgtctgggtgtacatgacagttcactggttgatcccaatatcaaaac
+gctggaaggcgtgaagggcgtcattttgaccagcgaccaggtgcaggtcgtttttgggcc
+tggtaaagcgcatcgtgccgcaaaagcgatgagcgagctgctgggagaagcaccggtaca
+ggatgccgcagaaatcgccgcccagaacaaacgtcagttaaaagccaaacaaacctccgg
+cgtgcaacaatttctcgccaaattcgccaccatcttcacgccgctgatccccggttttat
+tgccgccggtctgctgctggggatagcgacgttaattgccacggtgatgcacgttccggc
+agatgctcagggaacactacccgatgcgctgaattttatgaaggtgttcagcaaaggttt
+gttcactttcctggtgattctggtgggctataacgccgcccaggcatttggcggcacggg
+cgtaaatggcgcaattatcgccgcgctctttttgctcggttataaccccgcagcgaccac
+cggttactacgccggttttcacgatttctttggtctgcccatcgatccgcgcggcaatat
+tatcggcgtgctgattgccgcgtgggcctgcgcccgcattgaaggcatggtgcgccgctt
+tatgccggacgatctcgacatgctgctgacctcgttaatcaccctgctgatcaccgctac
+gcttgcgtacctgatcattatgccgctgggtggctggttattcgaaggtatgtcatggct
+gtttatgcacctgaacagtaatccgttcggttgtgcggttttagccgggctgttcctgat
+cgccgtggtatttggcgtgcatcagggctttattcctgtttacctcgcgttaatggacag
+ccagggattcaacagcttatttcccatcctttcaatggcaggcgcgggccaggtgggcgc
+ggcgctggcactctactggcgggcgcaaccgcacagtgcgctacgcagtcaggtacgcgg
+ggcgattattcccggcctgctgggcgttggtgaaccgctgatttacggtgtcaccctgcc
+ccgcatgaagccgtttgttaccgcctgtttaggcggcgcggcgggcggtttgtttatcgg
+cctgatagcctggtggggtctgccgatgggcttaaacagcgcctttgggccgtctggtct
+ggtagcgctgccgctgatgacttccgcacaaggcatccttccggccatggcggtttatgc
+tggcgggattctggtggcatgggtttgcgggtttattttcaccacgctctttggctgccg
+taacgtcaatctggactgatatcatgaaacggacaatgctctatctttctctgctggctg
+ttagttgtagcgtcagcgccgcaaaataccctgttctgacagaaagctcgccagagaaag
+cagggtttaacgtcgaacggcttaaccagatggatcgctggattagccagcaagttgatg
+tcggttatcccagcgtaaacctgctgatcattaaagataatcagattgtgtatcgcaaag
+cctggggagcggcgaaaaagtacgatggcagcgtgttgatggaacagcctgtcaaagcca
+ccaccgggacgctgtatgacctggcctcaaacaccaaaatgtacgccacgaacttcgccc
+tgcaaaagctgatgagcgaaggcaaactgcatcctgacgatcggattgcgaaatatattc
+cggggtttgccgatagtccaaatgacaccattaaaggcaaaaacaccctgcggatttctg
+acctgctgcatcacagcggcggtttcccggcagatccgcaatacccgaataaagcggtcg
+cgggcgcgttatattcccaggataaaggccagacgctggagatgatcaagcgcacgccgc
+tggaatatcagcccggcagcaaacatatctacagcgatgtcgattatatgctgcttggat
+ttatcgtcgagtcggttaccggtcagccgcttgaccgctatgttgaagagtcgatttatc
+gcccgctcggcctgacacatacggtatttaacccgctgctgaaaggctttaaaccgcaac
+aaattgccgccacggaattgaacggcaatacccgcgatggcgtgatccatttcccgaata
+tccgcacctccactctctggggtcaggtgcacgatgaaaaagccttttattcgatgggcg
+gcgtttccgggcacgcaggtttgttttccaataccggcgatattgcggtgttaatgcaaa
+cgatgctgaacggcgggggctatggtgatgtgcagctgttcaatgcggaaacggtgaaga
+tgttcaccaccagctctaaggaagatgccacttttggcctcggctggcgcgtgaatggta
+atgccaccatgacgccgacgtttggcacgctggcaagcccgcaaacctacggtcacactg
+gctggaccggaacggtgaccgttatcgatccggtgaatcatatgacgattgtgatgttaa
+gcaacaagccacattcgccggttgccgatccgcaaaagaatcccaatatgttcgaaagcg
+gtcagttgccgattgcaacttatggttgggtagttgatcaggtgtatgcggcgttaaagc
+agaagtaataaaaaggccagtcagtaatgttactggctggtctgagagtgctgacaaacg
+caaaactgcctgatgcgctacgcttatcaggcctacgtggagcccacaatatattgaatt
+agcacgatttcgtaggccggataaggcgttcacgccgcatccggcgtgtacaacgcgcac
+ttggtcaacaatctgaggccagtcagtaatgttactgcctggcctttaatcaatgaatca
+gaaacgcttacagcgccatcaacttgtccagcgacggtgcgaaataatagccgccggtta
+ccggtttggtgaaacgcaacatcgcatcacgcttaccatcggtatcgccaaacatgctca
+gcagttgctgctcaatgttatgcagacgcgcgcagtaggcgcagaagtacagaccgtgag
+tgccactggcagtgccgtacggcaggctctggcgaacaatcttcagccctttgccatctt
+ctttcagatcaacgcgggtgaggtgagaggtttccggacgttcgtcgccgtcgatctctt
+cgttggcctctttggtgcgcccgatcaccatctcctgatcgtgaacgctcatccggttga
+gctgcttcaggttgtgttcccaacgctggacaaacacatagctgccgcccgcatccacgc
+cgtctttgataaccgccacttcgcgacgcgtctcttcacccgccgggttttccgtaccgt
+caacaaagccgctcaggtcacgctcttcaacccaacggaagccgtggatctcttctttca
+cttcaatgcagtcaccaaaggcttccatcgccgcctgggcgacagagaagtttacgtcgt
+gacgcagagaaagaatgtggatcaacacatcgaactgggtcgtcggcgcaaggcctttac
+cgtagcccggaaaatctttcagctcttctgccccaacgccgccgctcagagcgcgccagg
+tgttgttaccaaaggcaaccaccgcaccaagatgcgcgtccgggaatttcgcttcaaaag
+ttgccagtttgtcggcaaatgttttactggccgcacgcagggcgtcaacttcccctttca
+cgttggcttcgatccaaatcgccgcgcggcaatgttctggcaaaatgccactctgaacct
+gagacattgttcctcctgaaaataataatgccacgcaatccgtggcattgttgagcgcta
+ttttacgtgttttttcgcggcggcggtttgttcagacgcaaattaacgccgccagataat
+tttactgactttccagtttttcagggtatcgtccgaaggcattaacccttcaggaccacg
+ccattccccgctgaactggtagctaatatgttgactgccttcggctttacattcgacggc
+acgattatcatcaccatcagctttttggcaattgccaaatgctttgctgtaaaggtcgct
+aaacggtgtaccgattttaacaccggtgtcagcaggaatatcgctatccagcacgtcaat
+gcgactgatcgtgccttgatcgccgttaatcaccatcgccacgttgtcgcccttcatcac
+ttcaaaaaagcgcaccacgttgccgttcgcggttttcattccgctgcgcaggcgataatc
+gccatcaagcgcatcggcaatggcttgttcttgcagtggtgtggacgccgttaattcacc
+cacgccctgctcgctcactttggtggacgacccaaaccagttccacgggttagcggcaga
+ccagttaactgacgacatcgtggaacagccggtcagcatcaatggcatagcgcataacat
+taaacgcagcgatttcatgtcacttcctttggttattcaataacgttgcttggagtgcaa
+attcaccaaaaagtgccgttattcttttacttcataaaaacaagcgcgtaaacgtcgatt
+ggtcagcagccagattaacgccacaatatccgccactaccagcgccagaccgataccgct
+aacggattcaccgttcagccacagccacggttgccagcaaagtaaaaccacctgcgccaa
+cagcaacagaaaatagagtacacgccaggtgcgaggaaacgtagcccgccgaccgctcaa
+caaaaacgccagcaccgccggaatgccaggaatcagccccagccagaaattatcgtgatc
+gggataaaacagatttagcagcgcagtaccctgctcgcgcgacgcaccggcaatgacaaa
+cagcacccaggttcgcgcctgaagcaatagcacaagccagaagagcaagggtaaacgcag
+gcgaccgtgcgcatcataatggacaggatgaaactcagtactcttcatcttcaatcaaac
+gcttacccagactcagcacgtcggcgtgttcatatcccaggcgttcatacattccgagca
+ccatgtcgttatcttccggcacattgatctgaattttcgggcagccacgagcaatcagct
+ttttctccagccgattaagcaacgcattggcaatcccacgcccacgaaactctggatgca
+cgccaagataataagcagacccgcgatgcccgtcataaccgcccatcaccgttccgacca
+cgtcaccgtttacctcagcgaccaaaaacaaactgacgtcatggttcatcttacgctcga
+tgtccatttccggatcgttccacggacgcagcaagtcgcaacgctcccaaagggtgatga
+cctcttcgaaatcttcctggcgaaatacgcgtatctccatggtattcgttacctttttgc
+gggttaaaaggctgattatggcgtgaacggtcgaattagccaatatctgacgaaaatcgg
+ttgaaaaagtggcataatggggagttgtcaactattgaaatgaaaagtaaaacaattctc
+aacagcaaaccgtcgtaacggattacgcgatacgatataacatctggaactttattatta
+caactcaggccgtatgagcacttttaaaccactaaaaacactcacttcgcgccgccaggt
+gctgaaagccggtttggctgccctgacgttgtcaggaatgtcgcaagccatcgccaaaga
+cgaacttttaaaaaccagcaacggacacagcaagccgaaagccaaaaaatctggcggcaa
+acgtgtcgttgttctcgatccaggtcacggcggaattgataccggagcgatcggacgcaa
+cggttcgaaagaaaaacatgtggtgctggcgattgctaaaaacgtccgttccattttgcg
+taatcatgggattgatgcgcgtttaacgcgttctggcgatacgtttatcccactttacga
+tcgcgttgaaatcgcccataaacatggcgcagatctgtttatgtcaattcatgccgatgg
+ctttaccaacccgaaagctgccggtgcttcggtatttgccctctctaaccgtggggcaag
+tagcgcaatggcgaaatacctgtctgaacgcgaaaaccgcgccgatgaagttgccggtaa
+aaaggcgactgacaaggatcacctattgcaacaagtgctgtttgatctggtgcaaacaga
+taccattaaaaatagtctgacgctcggctcgcatattctgaagaagattaagccggtgca
+taaactgcacagccgcaacaccgaacaagcggcatttgtggtgttgaaatcaccgtcggt
+tccttcggtgctggtggaaacctcgtttatcaccaacccggaagaagaacggctgttagg
+cacggcggcgtttcgtcagaaaatcgccacagcgattgctgaaggcgtgatcagttattt
+ccactggttcgacaaccagaaagcacattcgaaaaagcgataagttatgaaacccgacgc
+acaccaggttaaacagtttctgctcaaccttcaggatacgatttgtcagcagctgaccgc
+cgtcgatggcgcagaatttgtcgaagatagttggcagcgcgaagctggcggcggcgggcg
+tagtcgggtgttgcgtaatggtggtgttttcgaacaggcaggcgtcaacttttcgcatgt
+ccacggtgaggcgatgcctgcttccgccaccgctcatcgcccggaacttgccgggcgcag
+tttcgaggcgatgggcgtttcactggtagtgcatccgcataacccgtatgttcccaccag
+ccacgcgaatgtgcggttttttattgccgaaaaaccgggtgccgatcccgtctggtggtt
+tggcggtggcttcgacttaaccccattctatggttttgaagaagatgctattcactggca
+tcgcaccgcccgtgacctgtgcctgccatttggcgaagacgtttatccccgttacaaaaa
+gtggtgcgacgaatacttctacctcaaacatcgcaacgaacagcgcggtattggcgggct
+gttctttgatgacctgaacacgccagatttcgaccgctgttttgcctttatgcaggcggt
+aggcaaaggctacaccgacgcttatttaccaattgtcgagcgacggaaagcgatggccta
+cggcgagcgcgagcgcaatttccagttatatcgtcgcggtcgttatgtcgagttcaatct
+ggtctgggatcgcggcacgctgtttggcctgcaaactggcgggcgcaccgagtctatcct
+gatgtcaatgccgccactggtacgctgggaatatgattatcagccaaaagatggcagccc
+agaagcggcgttaagtgagtttattaaggtcagggattgggtgtaactccctcaccccca
+ctcccgcatccgctgatgcagcgtcagtgacggcttctcggaaaacagctgctggtaatc
+cgtggcaaattgccccagatgccagaatccccactgcatggcggcgtcttttaccgtcat
+actttgcgaccacggacttatcagttcgcggcgtacggcgttcaggcgaatgcgtttcag
+ccacgcgttcgggccaatgcctaaaatagcgtgaaacgcgttttgtagcgtgcggcggct
+gacatgcagttgattacacaaatccagcaccgtcaccggttcggacatgttttccagcac
+atattcacgggcgcgggaaagcaatcgacggtaactctgatgactgatgctttccgccgt
+caccattggttgcgcttcttccagcatggcccccatcgccattagcaaattatcccccag
+cacttttcgcactgcaggctgatggagattttccggattctcgcaaaacgtcgccagcgc
+ctgttggacaaagccccacagcgcggctttatgctgctctttcacttccagcgccgactg
+gttacgcaacatatgtaatacccgatccgggttatgcaaaaagttagcctgccgggtgat
+gacatcttcagaaagcaccacgcccaggatcgtgtaatcatccggcgtgctcagttcaaa
+ttcagtgccaccagggcgggtggcgatttccgcgcttcccagacattgcgaaccgataaa
+tccctgctcaccgcgcgtcgccggaatgccaaaccagaacgagttcggccagaccaggca
+cgactgacgcagcgccagaccggtgtattcacgaaaaacctgaatatcatcgagtagaat
+ttccgtaaattcaccatgaaacttgcccggatgcagctgatcgtaaatctgctgccaggc
+ggtaatcgttaaagcatgttcatagacatccgttgtctgtcgttgatgaacattatccac
+ttcgaccttcggcgtgagcttcaggttttcgggtaagggttcatgataaagatggtgcaa
+attggctgtacgggtctttttcatgatgttaatgccgggtgttgtaggacacccggcacc
+tccgacaggttaatggggcttgagacgataacgactactgcgtttacgtaacgtcccggc
+agaaaagagctgttcgagcgcatttctggctttttccagcggccagccaaagtgggcagc
+cacttctcctgccgtcattccctgacgtactgatgttaacagcgccaacaactcgtcagc
+agattccgcgacgataactggcgcgtcgggttcccttacgggttgcttcggctggcggtt
+aaagccagtaaccagccactgggtgtcatcgtctggccgaccgatctccttgcggctgat
+gacacgcccggtacgcatcgcggcagcacaacctgcgtccagcgccgcacgacacgccgc
+cagatcgccttccaccaccagcgttaagcgaccagggtcaagcacttcgtgactgagcag
+acgaacgttagctgctttgagcatggcatccgctgcatctatcgcggcgaccatgccgtc
+cacttccagcaatcccagtgcattgatcatcggcaacctccgttacgcacgctggattgg
+attacgcgcgatttccagcactgcatcggtaaaggcgttacaggctgctttacacgctgc
+ctggctaccggttaaaaatgctgccgagtagttggtttcagacggtggcgggacataggt
+cgccagctgtacgtcggcagacttcagggctgcatcaatgccataggtcgcttccagcgg
+cggtgccaccagatacgccatcggatcgccaagcgtgatcccggcggttgatgagagata
+agaaccggtacgcgaaactacatgtgccaggaatgccgtatcttgcgcgtcattagccca
+ctggaaagctgcgccattttcaatatgcgcaatcatcgcatccagacctgcacgcacttc
+cgccgggtttggcccaccaagcataatcagcacttcaccggcagtcggtgacgggccgtg
+tgcagcgcccgcatatagcgagcggccatacaccacttccaccatcgcctgcttggtcgc
+ttcatcagcggcaatgtaggtgacgtcatcggagtcggcagaaatcagaccgaggctacg
+aatatgcggcggcaatttcagttcacgcgcaaaatcggcgttaacggaggcaatcacccg
+catagcggtgacagacggtcgaatcaaatctaaagctggcatgatgcctccttatcgggt
+catgttgatgccggatgctttctgctccagcatacgtttcgccaaatccacaatgacggc
+tgcggcttcaaccggcggcgtgccgccctggtgaatgttagagatacaggtgcgatcggc
+ctcaacggtggtcgccatacgcggcgagtaaacggcgtagcaggagaggctttctgactg
+acccaaccccggacgttcgcccaccagcaggatcactactttcgcgccgaggatctcacc
+gatctgatcttcaatcttcacgcgaccataacgaacaaagaatggtgtaccgactttcag
+cccggcctgtttcaggcccgccatcagcggtggcaggatctcttcgtagttcacggtgat
+cgcatcagttgacaggccatcagaaataacgacctgtacgtccggattggcaacacactg
+cgctttcagcgcttcaacagcttctgcacacaggcggcggcccatatccgggcgagtcag
+gtagagatttttgtcgctaatttcagagcgtacttccagcaagccctgcgctttcaccca
+ctcttccggcacttctttcagtacggtatctttcgaacgagagtgatcggccaggaaacg
+cagcagcgcctgcgtacgtggacgcggaccggcacgaccggtacaaacgcgggccacggt
+gctgcggcgcagttctgttaatacgtctgcgcgatgcggattttcaacaccaatccacgc
+ttttgcttcagcggaacctaaatccagcgcacagctttccgaggtcaccggtgccgcaca
+gttggtggtggcgcactttgcttctgacggcgcgggggccgcttgtcccattgacgccat
+cacgctgcgtacaatttcttcaatctgtttttgatccatgatatgttatctccgcgtcat
+cagaagaacagtgacggatcgcccgcccgtttggtcaggcgaccgtttgccataatgccc
+atgctttccagccagcgttcaaactccggtgacgggcgcaggttgagtaactgacgcaca
+gtggcggtatcgtggaatgcggtggtctggtagttgagcatgatgtcatcacccagcggc
+atccccatgatgtagttgcagcctgcggtggcgagcaggatcatcaggttttcgttgagg
+ttctggtcagcgtcagcgtggttggtataacagcagtcacagcccatagagatgccgctc
+agcttgcccataaagtgatcttctaagccagcacggataatctggcggtcgttgtagaga
+tactccggcccaataaagccgaccacggtgttgacgataaacggatcgtaatgacgcgcc
+agcccgtagttacgtgcttccatcgttacctggtctgcgccgaagttagcgccagcggat
+agcgcagagccttgtccggtttcgaagtagaggcagttttccccggcgatacggttgaac
+tccgcgcccactgcgcgcgcttcgtcgagcatcgccagctccacgccaaactctttcagc
+cctttttcgctgccacagatactctggaaaatcagcccgcccggtgcgccacgacggatc
+gcttcgatctgggtggtgacgtgcgccagtacacagccctgagttgggatgttgaatttg
+tcgatcacgccatagatggtatccaacacgcggcttaagttttccacgtcgtcagtcacc
+gggttaacgccgatcaccgcatcgcccaccccgaaggaaagcccttcgtagatttgcgcg
+gcgatactttgcacgtcgtcacgggtgtcatttggctgcaaacgggcgctaaaggtgccc
+ggaataccgatggtggtattggcctttttgattaccggcattttcttcgcgccgtagatc
+aggtccgcgttggagcaaatcttcgctaccgccgcgaccacttccgaggtcagccctttg
+cgggtaaaggcaatgtcgtccacgctggtttcatcgctcagcacatactcacgcagttcg
+ctgatgctccagtttttaatctggttgtaggccgtttcgttaacatcgtcctgaatcagc
+cgcgtcacgcagtcatcttcataggcaatcaccggattattgcggatgtccgctacggtc
+atttccgacaacacctgctttgccgccacgcgctcctgtgagcttgccgctgcgacgccc
+gccagcacatcccccgaacgcagttcgttggctttagccagcacctcttttacatcctta
+aactgatatacattgccgaacaatgtggtctttagtttcataagtcgttccctcaggaag
+aatcgatgattggcatttttcacagcattctaacaatcacgtttcatcgtcagcccttgt
+cgtgtaaggtggttgcctaaacacgcccgttattcatcacgccgaacgcgccggatacat
+gatcggggttatccagtcgttaaatcaaggtatccggttttgagcaagacaccactcaca
+gcaaaggccatagacgccgcacagccgcaggacaagccctataaactcaccgattcactg
+acgccggggctgtttttgctggtgcatcccaacggttcgaaatactggcgattcaggtat
+tggctgaataaacgagagtttttgcaggccattggagtttacccgctaatcacactcaaa
+gaagcacgcaggcgcgccacggagagcagatcccttattgccaatggaattaacccagtg
+gaacaagcccgcaaggaaaaagccattgatgcgctcaacatggcggcaggatttaagaag
+gtggcggaagactggtttgctaccagggttggagggtggtcggaatcctatgcaaaacag
+gtcagatcggcactagaaaaagacgtctatccggtacttggcaagcggtcgattgtcgat
+ataaccgcccgtgacgtgctggcattactccagaagaaagaacgtaccgcaccggagcag
+gcccgcaagctacgccggcgcatcggtgagatcttcaagtttgccgttatcaccgaactg
+gtaacgaggaatccggttgcagatcttgatacggcactgaaggcccgccgacctggtcac
+aacgcgtggataccgattagtgaaattccggccttctacaaagcccttgagagggccggg
+agcgtccagattcagacggcaatacgtttgcttatattaacggcattaaggaccgcagaa
+ctgcgtttgtgccgttgggaatggataaacctggaggacgcaacaatcacattgcccgct
+gaagtcatgaaggcccgccgcccgcatgtggtcccgctatcacggcaggcggtcgagcta
+ttgcaggaccagttcacacgcagcggatacagtgctttcgtctttccaggccgattcatg
+gataaacccttgtcagccagcgcgatacttaaagcgcttgagcgtatcgggtacaagtcg
+atagccacaggccacggctggcgcacaacgttcagcaccgcacttaacgaatcaggcaga
+tactcgccggattggattgagatccaactagcccacgtcccgaagggaataaggggcgtt
+tataaccaggctgcctacctgaagcaacggcgagcaatgatgcaggattacgccgacgct
+attgattcaatattggcaggtaacggcaatcctctagaaccggaatgaataattaagcgg
+cttttttgcaaagcgcaattttgcattttgtataagtatttgttttgtgtggtttaacta
+tcacctgataagaaacctgtattcaatttgccggattcgtccggcttttctttttcgcta
+attattccattattccaattaagtggaataaattattcaatatcaagaacttaaatccat
+gtttgcaacgaaagatccagagttcgaaaataggatcaacacaaataaaagcccccggaa
+tgctgcaacatgccgggggcggtatgagaaacaagctaaaggagaatttctcatgtctga
+tatgctagcagtagaacaagaaacaaacaatgatgttcgtcaatttttaaacaaaattaa
+cgagttacggaataaagcacccaaaaacgaagagactaaacacgaagaacacacgccaga
+taatcacgaggaaacagatcatcacgaggcaaaacagcaggagcaagcctggcgtggcaa
+cctgcgctacctggacacattaaaccgacttgatgaagtattgccccgcaaactgtacga
+aagatgggagaaagaacatacagtcaacgacgaggctgtgctacgtgctctttgttactt
+cgctggtactggcaaaaactcacagttgggatggtgcagggttggtaggggaacaatcga
+caaacgagccaggctatcaaaaaacacggttaaaaaatgcctcgatcgtctggtcaacca
+cttcaaacttgttgagcgtactgaaggctatataccaggatcggcagaaagggagtgcaa
+cgaataccagttattattcaagccgtacaacatgaaataacggaatcaggcgggcaatgt
+tcccgccttttctttgccttaattccatgaattcaggtgggtcaaaagttgccgttagtg
+gtgggtcaaaagttgccgttaaggtgggtcaaaagttgccgttaaggtgggtcaaaagtt
+gccgagtaagaattctactattaagaattctaggcgacgggagttttttagcctcccggt
+cggtcatagagagtcgcctagagttaaacagaagaattatttcgccgcctgataggtcgg
+ctggttgcgagcattaaccatgctgattagcgcaatcatttccagcaagctggaaacgcc
+cattcactcacgcacaacctgaacagcagaccaacaaaccatcatggcattcgttcatgg
+ggagcgcggtatatctcaaagggtgatttcttattggtgggccttcggaaggcttcgagc
+aattgccagcttaaaagacgggcttagcagtgatggttatccgccacgaatgtccgtcat
+attgcattgcgcagaaacgcgtggcactgagggagttttccgaattagttttggggaccc
+tttccctgcttctggagcaaaagacgaacggcaaatgcagtgcttccttgtacgactgca
+gcgaagaagaaaagctgtttgttaagcgcctgaagttaatcaaagcggatatccacgccc
+agctgaaggcctgtgattgcgatatttctgaatgacaggtggaatcatgaaacacgtttt
+taaatatcttgattttgcagaagaccgcgaacacgcagaatcagtggcgaccaaagagtt
+aaaactggaccacgtagaaaaattcgctatccgcgatctagccaatgatatcaaagagcg
+tgggtgtgttgagcttgtccagcctggtggattcgatgagctggttcagatctatgaggc
+cggaggcgatggaatagagccactcaattgtggaatcgaatcaaggaaggtggcaattgc
+tgccctgcttcgcgtcatgcgtgaaccagactttcaatgcctggaaatggttcacgaaat
+cataagaattgctagagatttggaagcgccagttgacgctccgttagattgctaacgcca
+aaattagcgctgaattaatgggtaattattgcggtttttgtcaattttcaacctcaattc
+ttgcgaaaaatggcaaaaataacggtatttttcatcatttattgggggttttatggaagg
+cgaactgatagaaaacaatgggttagacatttatgacaccagcgaaacaccgaaaaagcg
+cggtcggccagctaaatataatgaaaaaatagcaacgcaaatcgtcctattggtaagcga
+aggttatagtttgcgcaagatcagcatgatgccagggatgccgagccaccgtcagatgat
+gcgctggcaactggagcatatggacttcagggaagggatagcctggatgtcgtggctatg
+gtgcgctgaagctggccgacgtgccgtcgagataatcgacgaggttgatataaacgcaga
+ggatgggccgaagcagttgcgcaaagcagaagcaaaggcaaaggcactactggcagcagc
+caagctgaatagtttgaaacattcaccatttggagatgacaaacaatgagcctgatccgc
+actgaaaccagagacacaaaacgcgcagctgacccactgcacgacctgcgtagcaagccg
+ttttctgagtggggcgaagatgaaatcaggcgttttaatctgatagacgcgcttcttgag
+tttgtctacacagacacatccagcccgttcggtatcggcatgaccttcgattacacggag
+tgctgggaaattggtgttcgtgacgactgcctggtaatgacacgcgttaagccggtgcat
+ccagaatatgcgaagcactggaacatgaaaggcgtcatgaatgacaaaacccgcttccac
+gccgacaagtgggtagggtacagcaaggtgcttgcctgggtgagcttatcgcacaaagac
+accttcacgggtgcgaaacggtttcaatacttccaaacgatgtacgacatggaacggcaa
+atcaacgcaaacctgccggttggcggccttcccaacgttgacacagagcgaactggcaaa
+ctgttccaacgcgatgacttttctgaggatagccatgccaacgatccgaagttggttggt
+gatgattacgtcccccaggcaccggagcaaatcaactgaattttcggacaaacgcgcgcg
+tagccgacgtcagcggcaagactggcggtcatttccccgctcctacgcgaaaaatccctc
+acaactaccctgcaaattttccagatttcacgtacacgcgccaaaaataaaggcccaggc
+agttagcaacctacccgggcctttctcacaatccccgctgacattatatcacccatcttt
+ccgttttcaggtgggagactgatggccgccgacgttgcacaattgattaatttctgaaca
+ttcaaatcaactcccaccaaagccaacaagatgggaggtgaattttgtgatgcagatcgc
+tttttcccttcaggcatttttgtttaattcaatcaacgaaaggcagttcccaacaacaaa
+ataaagatgggaggtaaaaatgaaacggtgggaagtggctttactggtgatggtaatgtt
+ggtttgctgtattgaactgtgaaggaggacgccatgaaacttttaatcgcaatcatcctg
+atggtgctgactggtgtttgctttgcagatgttggtgattacaggctgaacggggaggat
+aacgcaagaattgaatcagtcgttactgataactgtgaaaaaacagccgtattggtaggc
+ggtgacaggcttgcgagggttgagatcgaatatatagcgacattgtgcaagccggtggct
+ttggtgattatttacgacagatttgacgatatagcggcaatccctcttaaggtgacgttg
+aaaaaggtattgaaagagaatagcgatgaaaagattaacctattgaacaagatgggggat
+ctggctggtcgtatcgttgcagagcagtatttaggcatgagttttgagtaaggaggcaat
+catgaaagtgttaggtaatattttatggtgggcttttgttggtttcatggcttacgccac
+tttgattaagccggacaacactgatccagctgttgtgaactatgaagagcctttgcctat
+ggagcttgccaactatggcgaaccaggtgaaggggcgaaaatcatgaatgccgcaaaaat
+aatgggtcgcgactacgcatggaaacatgtaaaagaagacaggttgccatgtctgtttgc
+cgccggggttgttgctgataacatcctggtaaaataccatttcagcaatgaaactgagtt
+caaacttaaagcggcagcggtcagagaatgcgccaacgtagcagaaaacaacggctttgt
+tttggtaggtagagtatttgaaaaacgtaattgattgcgaatagcaacaactaaacaacc
+aatacacccggcccctcgccgggttttttgtgatctgcgtcaatattcccttccgttacg
+cttaccctccaccaatacgcgtgttaacctcccaatggattctatgagatgggagataaa
+aatcatgagttacgaaatcaaaatttgcgacatcctcaaaggcgctgcgatggaaggaca
+atataagggcgctcaacgtggggccaaatgcgaggagatcgcaaacgagttaactcgccg
+gggagttaaaaacaacaagggagaggttattactaagggcggcgttagccattggctgga
+aggtagacgggagccaaatttcgacactctggctgaactgtgcgacatgttcggcgttta
+tgccctgatgccgatgcgtggcggtaaatggattcgagttcacccggaagaccgtggaga
+aatggaattacgcgaggctgtagctgaacgagatgctattatcgacgacctgaaggcccg
+tatcgctgagcttgaggcggcactagcaaataaacaagtcccagcagaagcggaagagat
+gggaggtgaaaaagtggaagaagtggcagcagagcaagcgcccaacgatgaaaaagagat
+gggagctaaggagtgggttaacccgaacccgaaaaaatacagcgtcggcatgttgtgtca
+ggtactggctgcaatgggcggcgaatacctgggcaacaacgcagggttacagcagaagat
+cactgtgttggataacgacggcaaccggaagccaatcagtaacggcgcgttttatcgact
+gattgagcaggccaaagggagaggattgattagcgttgaacaggaaatcaaacacaagaa
+agacgaaaacggcaaccagatcggcaaaggcaagaaaggtgacaagctgataactttgct
+tcccaactggattgataagctgggagacgaataaaccagccttcaaccccatctcatcaa
+tcaacgcccggccccgctgccgggtttttgctatgcaccacaattaccccaaccggatac
+acagccggatacaattccaccagcacccagccacccagcgccaccgctggcgaataccgc
+attcaggaaggaaatgcgagtgatttcaccgtcaccggcacaaccgatccgccaaaaaga
+ggcgtaccaatgtcgatatagtcccccgcgcggacaatcacttcgtcaatgactgccaac
+gggagttgttgtagctgtgggcgcaacaacatgcccagagctttaccaaagtcctgcccg
+gccaccaccagcaggggatgcggattcggaaaacgcgcgacgaaatcgaccaacgcgttg
+atgaccgtcagtaccgcggcgtaacgcacaggcagcgaggcgggaagcgccagcacgtac
+gcgtcagttttgggatcaagatccagctgaatcagcgcctgttgccaggcccccaccaga
+tccgtttcatcaatcgggatcgccaccggcaaattgcgcagcggcagttgtacgccctca
+agccagattgtgctgccagagagcgaaagggtatgcgcgcccgcgccaatcaccgtggcg
+cgcacggtttgcgccggaaactgtacgttcatctcacgcaggcgcggatggtcatgcagc
+gcagttgccagcagcgggccaatatcggcaaaacagaacgggtcggcgggctggtggcga
+taacattcgcccacgccgccagaaagcgtaatgatttcgggcgtaacacctgcgggcagc
+aaaccggtttgcatcaatgcctgcgcgagcggtgagagcgttccgtcaatcacttcgaca
+atcagttctgccatccgccgggtcacctgcaccagctgcgcgccggtcagcgaacgggcg
+tcggtgcctgcaccgaagcactcatccacaatcatctgccccggtttatgagcgtaaacc
+acgcgcccgtggctgtcggtttccagcaggcgaccaccgacgttgaggcaggcagtgccg
+ctgatttttccggcatcgaacagggcgtagttcgcggtgccaccgccgatgtcgatattc
+agtacccgacacagccgttgttcagaaagggtttgtgccccggctccgtgaccggcgatc
+acggattcgaggtgcggcccggcgctggcaacgacaaaatcgcccagcgactgagagagc
+gccatcaccgccgggcgagcattgcgggttttcgcgctttcaccggtgatgatgatggca
+ccagaatcaacgctttccggctcaatacccgcagcatgatattgctcgagtattaaggtt
+ttcagttccgcttcttttaaaccgccctgtttatcgacaggggtaaagaacaccggactt
+tgccagctaatttcgcgtttaatgaattcgtagcgcggcacctgcgacaccgccgcacgg
+ttaaccagctccagccgggagaaaatcacctgggtggtggtggtgccgatatcgataccg
+acgctcaatagctggcgagtgttcacgattgtgcctccgcttcggttttagtcgcggtcg
+cgtcttcttttggcaccagcatcatcgccacgccaatcgccgttacgccgccgatcaact
+tgccgacaatcatcgggaagatcatggcgttcatgttggcagcggcgaagcctaagtggt
+cgcccagggcgaaagcagcggaaacggcgaaggcgcagttgatgactttgccgcgggtat
+ccatctgcttcatcatgccgaacatcgggatgttgttggcaagcgttgccaccatgccgg
+ctgccgcgatgttgttcatattcagtactttaccgacgctcatcagcggtttttcaaacc
+agcgagtcagcagcagcaccatcggatacgcccctaacagaacgcaggagatagaaccga
+taacttcaatggcgcgcatcacctcaccgggtttatcgccaggggccataaagataggat
+ccagaccggggatcagttcccagccaagcaggaatttcactaccgcagcggcaagaccga
+gggtgatcaatgcaacgaggaatttggcgaagatctggaagccgttgatcattttttccg
+ggatgaatttcagccccagcgccaccagaatcgcaacaatgatcaccgggatcatgttca
+tcaggatcagggcgaaagtgaattccaccggctggccgttgatctgcacaccggagtaca
+tagcaaccagaccaccagcgatacaaccaatcggaatggtcacaatgcccgccagcacgc
+cgagcgccagataacgacggtcagaaggttcgataatgccgagcgccaccggaatggaaa
+acacaatcgttggccccatcatcgacccgagaattaacccagagtatagccacgcggcta
+cgtcgccgcccgccagctctttggcgaggaagaagccgcccatatcgcacgccagcagtg
+ttccggcgaacatcgatgggttagcgccgagcatttcgtaaaccggaataattaccggcc
+cgagaacgtgagccagtaccggtgccagcgcggtcataccgaccatcgccaggcccagtg
+cgcccattgccataaagccttcttcgaactgaccgcctgatccttcgatacttttaccga
+acttaccgaggaaacgagcagaaccgccgaactgcgacaggatcctgtctacggcagcta
+tcagcataaagaacatcatgatgtacatgatgatttcgttaattcccatcgcctttactc
+cctgttagttgttatttattggcggatgcggcgtaaacgccttatccgccctacatgtgc
+aatcccgtaggctggataagacgcggcaagcgtcgcatccggcaattgcaccgcgccact
+ggcggatgcggcgtgaacgccttatccgccctacatgtgcaatcccgtaggctggataag
+atgcggcaagcgtcgcatccggcatttattgcgccgctgcgtacaggccgacaatctgct
+ccaggctggcggtacgcgggttactgcgcagacaaatatcttccagcgcggcctgcgccc
+atgcgccgtaatgcgcagatgtcgcaccaacatcgcccagtcgtttaccaatcccaactt
+ccgcaatcagctcacttaccgcgttaatagcgtcacgatcgtcggattttttagttcgca
+gtgcccgaccaatctgactaaagcgttcacgacaaaccatccggttaaattccatcaccg
+ttggcagcaacatggcgttcgcgagaccgtgcggaatatgcagcgccgcgcccggctgat
+gcgccatcgcgtggcacaacccaagacccgcactggaaaacgccattcccgccatacatg
+aagccagcaacatgctctcgcgcgcggcaaggtcgtgaccgtagcccaccgctttcggca
+gcgatttgccaatcatcgcaatggcaccaatcgccagactgtcggtaaacggtgtagcgt
+tcagggcgctgtatgcttcaatggcatgggttaacgcatcaatgccggtcatcgccgtga
+catgcgacggcacaccttcggtcaatgcggcgtcgaggatcgccacatccggcatcagcg
+aggcatgggctaacacctgcttgcgcccgctcaccgcgtcgataatcaccgttacattgg
+tggtttcagagccggttccggcggtagttggaatggcaatcagcggcaagcgcggttgca
+gaacgctggtttctgacatctctgccagcgtgctatccgggttcgtcaccagcaacgtca
+cggctttcgccgcatccagcaccgagccgccgccaaacgcgatcaccccatcacagcctg
+actcacgcaactgcgccacggctgcacacacgtcggtaatgcacggttcgcccaccggac
+atggccagagcgtcatggcgatacctttaacggtcaggctacgcgtcagcccggcggtca
+tccctgcctgatgcaaaaagctgtctgccatcacgaacagatgtttcagcccacgcgttt
+gcgcttgctgtccgcaactgctcaccgagcccggaccgcaaagcgtcaccggtggaacgc
+taaatgtttttacccgttgcagattcagggtatcgaacgcctgaaagagcgcggtctgca
+attcattttgcatatagcccctccgctttctctcgcccactactggcgatcgccagcggg
+gtcataaacaaactgtgctgcggtaaatgcacctgtaacgccgggaattgtttgcgaaac
+agttccgccacgcccggttgcatacaagagccgcccgccagccataaatcagtaatgccc
+tgcccttcaatatgccgggcgacaatgtccgccattttttcgtacaccggtttcaccgca
+ggccaaatctcttcaccgtgaccgcgcttgtactgctccgcctcttccagcgaaatacgg
+cgatttccggcgagagtcagagagatgtgatgtccgccggtggcttcatccgccgagtac
+gtcaccttgccctttttcacgatggcaatgccggtagtgccgccgccgatatccactaca
+ccggcgttgtccagttgcagcagatccgcaactgcggttggctcatccagcacatggctc
+acttccagtccggcagattccagcacgttgatggaaatacgcgggtccgtacctggagga
+aatgaagtcgccgcatggctaaaacgacgaccgaattgctgctcgagcgtgtcgagatgg
+cgacgaacaatggtgacagcgccgaagaaatcccagacgatgccgtcgcgaaccacatcg
+gcccagtcgaggcataccgccactggctgaccgtcgcggtcgacaaccatcgacaccaca
+tcgcaggtgcccagatccacccccagccacagcggagattccgtcgcggcgggcgtctgg
+ttacacagcgttgccgccgtttgcagacgtggggtgagccattgttcgtcgtgcgccatc
+tgttactccttaaacaatgcgaaacgcatcgactaatacacagcgacgcagacggacaaa
+cgtacgcgcgctggttaccccttcaccggttggcgtggtgatggtcatggtggtccagcc
+ttccccgcccagccccagcccggcaatgcacggtccgttcttaacgaaaatgctggtatc
+aatagcattcgccatctggttcatgttttcgatgttgcgcgagtgcattgccgccgtgtg
+gtggcaaccgccttccagtttcaccgctagcgcaatggcatccgccacgttggcgacgcg
+cacgacgggcaacaccggcatcatcagttcagtcacggcaaacggatgttctgcggtggt
+ttccacaaacagcaggcgcgtttcttgcggaactttaaggccgattgccgccgcgatttt
+gcctgcgtcgcgaccaacccagtcacggctgacggtgccttttccgcgctcgtcgatatt
+tttcagcaacaccggttgcagctgctgcgcctgttctgcggtcagtttcaccgcgtgctg
+gccttccatcagacgcatcagttcatcggctacgctatcaacaacaatcagtaccttttc
+gtcggcacaaatgatgttgttatcgaaagaagcgcctttgacgatggactgagcggcacg
+ggcgaggtcggcggtttcatccaccactaccggcgggttgccagcgcctgcggcaatcag
+acgtttattggtgtgtttacgcgccgcttctactaccgcttcgccgccggttaccaccag
+caggccgatacccggaaacttgaacaagcgttgcgcggtttcgatatccggatttgccac
+agtaaccagtaagttttccggcccacctgcggcaacaatcgcctggttgagcagcgtaat
+cgcccgctgggagacttttttcgccgccggatgcggggcaaaaatgacgctgttgcccgc
+ggcaatcaggctgatggcgttgttaattacggttgccgccgggttagtggaaggcgtcac
+cgaagccaccacgccccagggtgcgttttcaattagggtcaggccgttgtcgccagtcag
+cacttgcggagagaggcactcaacgcctggtgtgccgcgcgcctgagcgacgttttttgc
+aaatttatcttcaacgcgccccatgccggtttcactgacggcaagttccgctaaatctct
+ggcgtgtttttcgcctgcttcacgaatggcagcaatggctaactggcgcattgccacgct
+ttttaacccttgctgggcgactttggctgccgcaacggcgtcatccagggacgcgaaaac
+gcccatctcatgaacggcggcggacggcgtgtcactgctttgcattttcagcagtaccgc
+tttcaccacctgttcaatatcctgttgattcatgatgttctgccttatttgtggaaaatt
+acctgaccgccagacaccacctcatcgacaatgccaatcacgcacagatcgaccggtgac
+gtttcgcttttatgcgcctggcgggcggaactgccactcaccagtaacacccactccccg
+gttcccgcgccaatattgtcgatggcgacggcgcattgcccgtcaggattaccttgtgga
+tcaatcatttccaccatcagcaatttgtcatgcgccagtccgtgatggcgtacggtacaa
+acaatttgtccagtgacgactgccagtttcatacccgcctccgtggcgtatttcaggtaa
+aagctccccctaccctccgcagaaggtaaaatgaaaaaggagagagcgtgacgcccgaat
+cgacgtcacacagggtgattacaggttgctgctatcgcctttcaggccgatcgggaagac
+ttcttccaggtcgccgtgcggacgcgggataacgtgtacagataccagctcgccgatacg
+ctgtgccgctgcggcacctgcatcggtcgcggctttacaggctgcaacatcaccacgaac
+catggcagtacacaggccgccgccaatctgcttaacaccaaccagcttgacgcgcgcagc
+tttcaccatcgcgtcagaagcctcaatcagtgcaaccaggccccgggtttcgatcattcc
+taatgcttccattgtgctttcctctttatcagggtccagaacgggaccgttcattcaacc
+agtgtttgtaaactgctttcgcggttcacttctgtctgacgcggcacagctgccaccagc
+gccagctcgataatttcctgcacgctacaaccacgagagagatcgtgcatcggcgcggca
+agtccttgtatcagtggcccgacggcacgatatccgccgagtcgttgtgcgattttgtaa
+ccaatatttccggcttccagcgacggaaaaaccatcacattggccttgccctgtagcggg
+ctggcaggcgctttttgcgccgccacttccggcacgaaggcggcgtcaaactgtaactcg
+ccatccaccaccagctttggtgcgcgctcacggacgatttctgtcgcctgctggacgtta
+gcaacacaggggtgacgggcgctaccattgctggaaaacgacagcatcgccacgcgcggc
+tcttctccggtgatggcgcgccaggtttcggcactggcaagcgcgatatccgccagctgc
+gccgccgtcggctgtggcaccacgctgcaatcggcaaagcccaacgccgggccgctgtac
+tgtggcaacatcaggaaaatggaagagagcgttttacagcctggctgcaagccgataatg
+cgtaatccggcacgcagcacatttgccgtggaagagaggttgcccgcgatacagacatcc
+gctttaccggcgctgaccattgctgcggcgaacatcagagggtcggtaagtttttccagc
+gcatccggcggcgttttttcgcccgcgcgggccagccagcgatgagcaaattcttcccgc
+attgcgaggttgccatgcggatcaatcacctgtagcccgtccatcgccacgccgtgactg
+agcgcaaactgacgaagttcaaacggattggcgaccagaatgggcgttgccagaccttgt
+tgatgtaaatattgcgcggctttcagcacacgttggtctaacgcatccggaaaaaccact
+ctggcgggcgctcgcaacgccagttcacgacaacgttcaataatcattgcgtttccccca
+gtcgttgttggatctgcttcaccgttagcggctgcttcgttacgctcaggatcatcatca
+cgtagaccgtgctcgaaaggcggttcagcgcctgcaaaatgtccgggcgtaatacttcaa
+agctgcgggtgataaagacctgcgccgctacggtttcggtttcccgcactttggtgcgta
+gcagattgagcaacgcagcatcgcgcccgtggctggcttccggcaccagatgatcgtggt
+cgagatagcgcagcggctgatgagaaagccgatgcagatcttcgtcagaaagcccgacaa
+tcgcctggcagcccagcggttcccccagcgcatcggcgcgcataatgttgccaagacgcg
+aacggatatccgccagccacggctgccacggttccgccagttcaatttgcagccacactg
+ccagcgcaatggtgctgtcgagaaccgcgcgaaaacccagacgcggatcgcttttggcga
+ccattttttccgccgacaggtgagtcagcgtatccggcttttttgccaccggctggcgac
+acagttcgcagcacgcctgcggatgttcatcgctactggtcagcccatgaacgggctgcg
+gctgctgctgttcatcgtcaacaaacaggcggccctgctcgtcaataaacttgatgcgca
+gatggcggctttccagcaactcccgggcagagggcgtcaggcgactgtccgcagggagat
+ggatctctgcgccttcgctgagcgtatggttcgctcttagccatgcttcggtgatgaaat
+ctttcatagggattgccagttagccggccaggcgacatacaggaatttcacgctggatgt
+cgtaccaaattcgatgctggagcctttcgggataaacatcacgtcgcctgctttggcgat
+catggtttggccttcgtggcgaacatgcagctccccttccagcaccatgtcgatttcgtc
+gtagttcagggtccacgggaagaatgcgttctcccactgcataaaaccggcggccatgct
+gctgccgtcgtctccggtcacaagatcagtcaagcccacgcaatgcggctctgcgccgtc
+gaaacgaccaaacttgacgctactgccatcaatcactttgatgccgcctttgccggtcac
+cgatttgaagctcggctgcattgcgccctgctccagcgactgtttttccttcatcacttt
+ttccatcagctgtgcgaccaggctttcggtaaactggccttccggcagctgggcaatgat
+ggtttcgcggatgcgctggctttcggttttgtcggctggcacgctggcgggcacggacgc
+cgttaccgggatcgattcatcacattcggtgatggtaaaacccagtagatccgccacttc
+acgggcttccggggtaataatgctggcgcgcagaaccacggacattgcctgttcgccgcg
+cgcgtgtgcttcacgaatatcattcgctgtgatgagttttttcacctgcttcctcctgtt
+tggtgagagatgccagataatccaccagttgctgcacgctttgcgggtcgtggctgttta
+gctcgaacatcggctcttcgaaacccgtctcaagcaataactttcgcgttgcggcgacgt
+cagcatctggcatgtccgttttactgatgacggcgatttgccgtttgctgacgccaatat
+ccagcaacccggcaggcaaccgactttccgggtcatttgcgccatggacatagatcagca
+tgtctacatcctgtagcgtggtaattaaggcgtgataccagcggggatggttaaaatatt
+cacccggcgtatcaatatcgcccttatcattaaattccacggcctgtgtttttctggcga
+gggtataattcccctgcaacgcattaaataacgttgtttttcctgccccgacgctaccca
+caaacgcaattcgtttcatgaatgcctcgtattaacttttggtcatttcacaaagcgtat
+aatttaataagcgacctaaaccgctgacggtttgtgataacgcttcttctactgcgccca
+ccgagccataaatcaccaatgcaccgctgaatcggtcgagaaaaccgatatgcacatcag
+cggctttcagcgctaaatcaccggcgatcatcgccgtttcgccgggagttagcgtcataa
+tgccaattgcgcccgcatccggaacgccgattttcttcgccagttcctcaccgggatgcg
+cgatgagatgcgccagtgtgacctgtttgccgggcacaaattcctgaatgatgcgttctt
+tatccatgagtcgccgcctgtgaaaaactttcgtgtatcgtgacaatttttcgtcagagt
+aaataacaaaattcggcaagcgcgtttaaaaggtgaggtagatcactaagaatggagaga
+tattcgctgtggtgcataaactttcatatgcaacgcatgaatataaataaaataatatcg
+agatattatatagactgcttttttttattattcgcaaactcagtaataagctttactaat
+atattgcagctaaactgcttaccctgaatattcagggtaagcgtgagagttaaaaaaaat
+tacagcggttgggtttgcgcttctaccacggccagcgccaccatgttgacgatacgacgc
+accgatgcgatcggcgttaacacgtgaaccggtttcgccacacccatcagcaccgggccg
+acagtcacaccttccgagctggaaacacgcagtaagttgtaactaatgcgggcagcttcc
+atgttcggcatcaccagaatattggcggaacctttcaaagagctgtccggcatacggtcg
+ttgcgaatcgcttccaccagcgctgcatcgccgtgcatttcaccatcaatcatcagttct
+ggtgcacgttccctgaccagttccagcgcctgacgcattttgctcgacgacgggcagtca
+gaagaaccaaagttggagtgcgacaacaaagcaacgcgcggctcaataccaaaacgacgg
+acagtttctgccgccatcaaggtgatctccgccagctcttctgcatccggttcatcatta
+acatatgtatcggcaataaaggtgttaccactcggcagcagcagcgcgttcatggcacct
+gcggtgtgaacgccatcgcgataaccaaagacatttttcaccacgctaaaatgttcatga
+taatcacccaccgtaccgcaaatcattgcatcggcttccccacgctgaaccatgatcgcg
+ccgatcactgtcgggttactgatcagcgcccgctgcgcctgttcctgagtgacgccgcga
+cgcttcatgatctggaagtattcggtccagtactctttaaagcgcggatcggattcgtta
+ttgacgatctcaaaatcaacgcccgctttgatctgcaagcccagtttctgaatgcgcatt
+tcgatcacgttcggacgaccgataaggatcggtttcgccagtcccagcgttaccagttcc
+tgagtggcatgcagaacgcgcgcctcttccccttccggcagaacaacgcgcttcggcgct
+ttgcgagcctgggagaaaatcggcttcataaacaggttggttttgtaaacgaactcagtc
+agcttgtcgatgtagacgtcgaaatcagcaatcggacgagtcgccacgcccgactccatc
+gcggctttagcgaccgcaggagcgatcttaacgatcaagcgcggatcaaacggttttgga
+atgatgtattccggaccaaagctcagatcctgatcgccatacgctgaagccaccacttcg
+ctctgttccgcatgggcgagttctgcaatcgcacgtaccgccgccagtttcatctcttcg
+ttgatggcggttgcgccaacgtccagcgcgccacggaagatgaacgggaagcacaggacg
+ttgttcacctggttcggatagtcagaacgaccggtgcaaatgatggcatccggacgcact
+tctttcgccagcggcggcagaatttccggttccgggttcgccagcgccaggatcattggc
+gcacgagccattttcttcaccatttcctgggtcagcactttcgggccggaacagcccagg
+aaaatatccgcgccttcaatcacatcatcgagggtacgtttgccgtcatccaccaccgca
+tatgcggctttggtttccgccatgtttggctcacggccctgatagataacgccttttgaa
+tcgcaaaccacgatgttatgtttttgcagacccagcgctaccagcaggttcatacaggcg
+attgctgcggcacccgcgccggaaaccaccatccgcacgtcggagatgtttttctccacc
+acgcgcaagccgttgaggatggcggcagtgctgataattgccgtgccgtgctgatcgtcg
+tggaataccggaatattcatccgctcgcgcagtttctgttcaatatagaaacattctggc
+gctttaatgtcttcgaggttgatgccgccgaaggttggttcgagcgcggcgacaacttca
+ataaatttgtccgggtcgagttcgtcaacttcaatgtcaaatacatcaatcccggcgaat
+ttcttaaacagaacgcccttgccttccatcaccggtttgcctgccagcgcgccaatgttg
+cctaaccccagcaccgccgtaccgttagagatcaccgccaccaggttacctcgggcggta
+tatttgtaggcttttaacgggtctttttcgatttcaagacaaggtgcggcaacgcctggt
+gagtaggccagcgccagatcgcgctgtgttgccagaggcttggttggagaaacctggatt
+ttccctggaactggaaattcatggaaatcaagtgcactttgttttaactggtcatccatt
+tggttgttcctttcacgtaacgttcacaaataaagtgtgtgggcaacagcccctgcccac
+aacgtggcgcacattattaccctgccggagtctacagactttgagcaagtccaaactctc
+accattaatataatgttttggtaataatcctataacactgatgttacctgcttaatccag
+caataccatgcctgtctgctatgcttttttgatgcgtttagcgaaatttctcagaagtgt
+gaattaacgcactcatctaacactttacttttcaaggagtatttcctatgaacgagttag
+acggcatcaaacagttcaccactgtcgtggcagacagcggcgatattgagtccattcgcc
+attatcatccccaggatgccaccaccaatccttcgctgttactcaaagctgccggattat
+cacaatatgagcatttaatagacgatgctatcgcctggggtaaaaaaaatggcaagaccc
+aggaacaacaggtggtcgcagcgtgtgacaaactggcggtcaatttcggtgctgaaatcc
+tcaaaatcgtacccggtcgcgtgtcaacagaagttgatgcacgcctctcttttgataaag
+aaaagagtattgagaaggcgcgccatctggtggacttgtatcagcaacaaggcgttgaga
+aatcacgcattctgatcaagctggcttcgacctgggaaggaattcgcgcggcagaagagc
+tggaaaaagaaggtattaactgcaacctgacgctgctgttttcttttgcacaggcacggg
+cctgtgcggaagcaggcgtttttctgatttcgccgtttgtcgggcgtatttatgactggt
+atcaggcacgcaagccgatggacccgtatgtggtggaagaagatccgggcgttaaatcgg
+tgcgcaatatctacgactactataagcaacaccactatgaaaccattgtgatgggcgcga
+gcttccgtcgcaccgaacaaatcctcgccttaaccggctgcgatcgactgactatcgcac
+cgaatttactgaaggagctgcaggaaaaagtttcgccagtggtacgtaaattaatcccac
+cttctcagacgttcccacgcccagctcccatgagcgaagcggagttccgttgggagcaca
+atcaggatgcgatggcggtagaaaaactgtctgaaggcattcgtctgttcgccgttgatc
+aacgcaaactggaagatcttcttgccgccaaactataaaccagccacggagtgttatatg
+tcccgaaaagaccttgccaatgcgattcgcgcactcagtatggatgcggtacaaaaagcc
+aactctggtcatcccggcgcgccgatgggcatggctgatattgccgaagtgctgtggaac
+gattttcttaaacataaccctaccgacccaacctggtatgatcgcgaccgctttattctt
+tccaacggtcacgcgtcgatgctgctctacagtttgctacatctgaccggttacgacctg
+ccgctggaagaactgaagaacttccgtcagttgcattcgaaaaccccaggccacccggag
+attggctatacgccaggcgttgaaaccaccaccggcccgcttggacaaggtttggcgaac
+gccgtcgggctggcgatagcagagcgtacactggcggcgcagtttaaccagccagaccat
+gagatcgtcgatcacttcacctatgtgtttatgggcgacggctgcctgatggaaggtatt
+tcccacgaagtctgttcgctggcaggcacgctgggactgggcaagctgattggtttttac
+gatcacaacggtatttccatcgacggtgaaacagaaggctggtttaccgacgatacggca
+aaacgttttgaagcctatcactggcatgtgatccatgaaatcgacggtcacgatccgcag
+gcggtgaaggaagcgatccttgaagcgcaaagcgtgaaagataagccgtcgctgattatc
+tgccgtacggtgattggctttggttcgccgaataaagcaggtaaggaagaggcgcacggc
+gcaccactgggggaagaagaagtggcgctggcacggcaaaaactgggctggcaccatccg
+ccatttgagatccctaaagagatttatcacgcctgggatgcccgtgaaaaaggcgaaaaa
+gcgcagcagagctggaatgagaagtttgccgcctataaaaaggctcatccgcaactggca
+gaagagtttacccgacggatgagcggtggtttaccgaaggactgggagaaaacgactcag
+aaatatatcaatgagttacaggcaaatccggcgaaaatcgctacccgtaaggcttcgcaa
+aatacgcttaacgcttacgggccgatgctgcctgagttgctcggcggttcggcggatctg
+gctcccagcaacctgaccatctggaaaggttctgtttcgctgaaggaagatccagcgggc
+aactacattcactacggggtgcgtgaatttggcatgaccgctatcgccaacggcatcgcg
+caccacggcggctttgtgccgtataccgcgacgttcctgatgtttgttgaatacgcccgt
+aacgccgcgcggatggcggcactgatgaaagcgcggcagattatggtttatacccacgac
+tcaattggcctgggcgaagatggtccgacgcaccaggctgttgagcaactggccagcctg
+cgcttaacgccaaatttcagcacctggcgaccgtgcgatcaggtggaagcggcggtgggc
+tggaagctggcggttgagcgccacaacggaccgacggcactgatcctctcaaggcagaat
+ctggcccaggtggaacgtacgccggatcaggttaaagagattgctcgtggcggttatgtg
+ctgaaagacagcggcggtaagccagatattattctgattgccaccggttcagagatggaa
+attaccctgcaagcggcagagaaattagcaggagaaggtcgcaatgtacgcgtagtttcc
+ctgccctcgaccgatattttcgacgcccaggatgaggaatatcgggagtcggtgttgcct
+tctaacgttgcggctcgcgtggcggtggaagcaggtattgccgattactggtacaagtat
+gttggtctgaaaggggcaattgtcgggatgacgggttacggggaatctgctccggcggat
+aagctgttcccgttctttggctttaccgccgagaatattgtggcaaaagcgcataaggtg
+ctgggagtgaaaggtgcctgatggtgattgccggatgctgattgccggatgcgacgctga
+cgcgtcttatccggcctacagcgtcttatccggcctacatgtcccgccattttgtttaac
+gggtgatccacaacgtgggccaggcgtctggcccatgccagttatcgcaggtgggttctg
+cggcgtaacgcaccaggcgaaaacgctgaccgtcaaagcgccagcgcgcctgaatgccac
+aatcgcttaatccgcgccctttcgctaaggtcaccagttcacgcgatttctcatcaaatg
+ttgcgttcatcagttccagttcattcgtctcctgaccgttgttgaacggcaaacgcaacc
+gaaccgggcgcgaagctagtggctttttacgcgacacaatccatgccaaatcaatggtgt
+tataggcccctgcctcacagctaatcatcatcagcgctttatcatcagtcagcgcagtga
+cattcacctcacgacgcaatggatcaagcgagcagcgcagaccattcatccgccagtttc
+cataatccagcaaatcgttgcgttcttcgagtgagagtggcgtcggcgttgggttaacca
+ccgcgacctctttcagcgcaggcgcgggcggtacgctgagcggcggttcgtcccctttct
+tgatccacgcggtttcactgccaacgcgcttttgctgagcatcaataaacaacaacgctg
+cttttaagccactcagagaaatggtctgatcgccatcgcgtaaggtgattgccttccctt
+cctgaatcatctgcaaaaacgcggtgatggttgccgtatcatcggttactaataaccatg
+gtgaaatccgccacttgtcaccacttaacgccaacggctcgccatctaacagcagccgtg
+gcgctatctccccttctgacgcctccggcgacttcaatccgccgcgctcaatacgtaaaa
+cggcatcggtatgcgccccggcgctgcggctcagggtcatcaccagtccattatgatcgc
+ccgtattacgcgccacgcagaaattttggttattacaggtgacctgccagtcggaaaacg
+cccgttgcgctggtgccgcccacaccaaagacgtcggcaacaaagcgaaaaaaaagagaa
+ggaaaatgcgatagcgcatggacggtacgaccccagaagttcaaacaaacagcacaagtc
+gtatcttcgttgcgcaggtagcgcggctcaatcggatttgtcggattgagccaataataa
+acaacgaaatattattgttatttttcagtccattaaatgtgacgtttgcaaatagttaag
+caataacaccgtcttaccgtcacgtatctcgccggttttgatcatctccagcgcctggct
+gaacggcagctcgagcacttcaatatcttcatcttcgacaccgccaccggcgttagcgcg
+ctgattgtcactgtattcggcgataaaaaagtggattagctcagtcacaccgcctggcga
+catatacagttcaaataatttgcgcacttcacccacttcatagcccgtctcttcaatcgc
+ttctttgcgaatacacacttccggttcgtcgttatccagcagcccggcgcagctttcaat
+cagctgcccgctttcattgccattaacccaggtagcgacacggaactgacgaatcagaac
+cacggtctttttcttcgtgttgtacaggaggatcgtcgcaccattgccgcgatcgtacac
+ttcacgtttatggcggataacttcgccgtctttgcgcgtgagatcgtaagtaatgttgtg
+cagggtgaaatagttatcggagagaattttgtctttaatgagggtgatttgttgcgtcat
+accgactccacagcgcgaaatgaacaattatcttacgctgtgaagtcgggtttgtctgcg
+caggctatcagtgagatttgactgattttacccccagccagtcaataatcccctgtgccg
+catgacgtccttctgccattgcggtaaccaccagatccgcaccacgcacggcgtcaccac
+cagcgaagattttcggattggtggtctggtaacggtactggctttccacatccgcgatga
+tgcggccccatttgtctaccgttacaccgtgcgactccagccacggcatcccgtgcggat
+tgaagccaaacgccataatcaccgcgtcggctggcatgacaaattcactgccttccaccg
+gcactggacgccgacgcccctgggcatccggctctccaagacgcgtgcgcaggaaacgaa
+tcccgcagacgtgaccttgttcattcagctcaagcgccaccggctggacgttaaattcga
+agttggccccctcttcgcgggcgttcttcacttctttcttcgagcctggcatgttagctt
+catcacgacgataagcgcaggtgacgttactcgcgccgtggcgcagtgcggtacgcacac
+agtccatcgcggtgtcgccgccgcccagtaccacgacgttaagtccggcggtattgataa
+acggctcttccggtagctcttcgagccccatcacctgtttagtgttggcaatgaggaacg
+gcagcgcgtcataaacgcccggcgcatcttcattgggtaaacccgctttcatggaacggt
+aagtgcctacgccaacgaagaccgcgtcgtattgttccaaaagcgaatccaaagagacat
+ctttacccacttcacaattgagttcgaagtgaatccccatcgcgctgaagatttcccgac
+ggcgtgccagcagggatttatccagtttgaaagaaggaatgccgaaagtgagcaagccac
+cgatttctggatggcgatcgtacaccgtcacccccacgccattgcgggtcagaacatccg
+cacaggccagccctgccggacctgcaccgataatcgccacccgcttgtccactttggtga
+catggcttaagtcaggacgccaacctttcgccaacgcctgatctgaaatgtagcgttcaa
+tgttgccgatagttaccgcgccgtgctcatcgcgaatagtacaggcaccttcacacaaac
+ggtcttgcggacaaacgcgtccggtaatttccggcagggtgttggtctggtgagaaagct
+cgacggcggcgtcgatgtttccggctttcaccagttcaatccactgcggtatatggttat
+gcagcgggcaggtccattcacaaacgctgtgctcgccgcacttaaggcagcgcgaggctt
+cccgttgtgcctggtcggcgcgaaatggcagataaatttcatcaaaaccggttttgcgcg
+cttcaatcgccagtttatccggctcgccacgcgcgggcgttgcctgcatttgttcgactt
+tactcattaccggcatttcttgcgccgcggtactggcatgccacggttgatgttcctgac
+gcgcggtgcgcaagcggcgggatttcgccatgccggagagtgcgacgtcagtgaccagtt
+gcagcgcgtccgccgggcaattctcaacacaggcaggaccgttttcgcgccccgcacaaa
+ggtcgcatttatgcgccgtggcttttacttttcctgccgcgacgggtgtcaggacgattt
+gcatcgtaccaaaaggacaggccaccacgcaggatttacagccaatacacttttgctgat
+tgacctgaatgctgtcatcaacgtggctgattgcgccattagggcagctacgggcgcagg
+gcgcatcttcacaatggtgacaggtcactgcactacgttgctgttgatgtttgataaccg
+taattcggggatgaaaatggtgttggctcaggacatgttgctcatcattgtgagccatga
+cacaggcgatttcacaagcatgacaacccagacattgctgactgttggccataataaaac
+gattcataacgaccttcttttttggttgtaaaaaccttattctttatatgagtgttgtta
+ttacccgacttacaggggaatcggcaatgttcatgtgcccagaataagtaactatttcgc
+tataaactgtggcagatcaaataatcccatcactgactaaattgcgtttcagcgaactgg
+aacattaatgattttttgtggagaagacgcgtgtgattgttaaacgacccgtctcggcca
+gtctggcccgggcctttttttacattgtgctgctgtcgattctttccacgggtatcgctc
+tgctaactctggcgagcagtttgcgcgacgctgaggctatcaatattgccggatcgctgc
+gtatgcagagttaccgcctgggctacgacttgcaaagtggcagtccacaactcaatgcac
+atcgccagttatttcagcaggcactgcattcaccggtattaaccaacctcaacgtctggt
+atgtgccagaagcagtaaaaactcgctatgcgcatctgaatgccaactggctggagatga
+ataatcggctcagcaagggcgatttgccgtggtatcaggccaatattaataattatgtta
+atcagatagacctgttcgtactggctttacagcactacgctgaacgcaaaatgctgctgg
+tggtggcgatttccctggctggcggcatcggtattttcacgctggtcttttttactttgc
+gccgcatacgccatcaggtggttgccccgctgaatcagctggttaccgccagtcagcgta
+ttgaacacgggcagttcgactcgccgccgctggataccaacctgccgaatgagcttggtc
+tgcttgcaaaaacctttaaccagatgtcgagcgagctgcataaattgtaccgttcgctgg
+aagcgtcagtagaagaaaagacccgcgatctccacgaggccaagcgtcgtctggaggtgt
+tgtatcagtgttcgcaggcgctgaacactagccagattgatgtgcattgtttccgccata
+ttttgcagattgttcgcgacaatgaagcggctgaatatctggagttaaatgtcggtgaaa
+actggcggattagcgaagggcaaccaaacccggaattgccgatgcagattttaccggtga
+caatgcaagagacggtttacggcgaactgcactggcaaaatagtcacgtttcatcatcag
+aaccgctgcttaacagcgtttcgtcgatgctgggacgcggtttgtactttaatcaggcgc
+agaagcattttcagcaattattgttgatggaagaacgtgcgaccatcgcccgcgaattgc
+acgactcgctggctcaggtactttcttacttacgtatccagttgacgttactgaagcgtt
+cgataccggaagataacgccaccgcacaaagtatcatggccgatttttcccaggcgttga
+atgatgcttatcggcagttacgcgagctgttgactactttccgcctgacgctgcagcagg
+cggatctcccctccgcattgagggaaatgctggatacgttacaaaatcaaaccagcgcca
+aactgaccctcgactgccgtctgccaaccctggcactggatgcgcaaatgcaggtgcatt
+tgttgcaaattattcgcgaagcggtgctgaatgcgatgaagcacgccaacgccagcgaaa
+tcgccgtcagttgcgtcaccgcgccggacggcaatcacacggtttatatccgtgataacg
+ggattggtatcggtgaaccgaaagaacccgaaggtcattatggtctgaatatcatgcgcg
+aacgcgcggaacggctaggtgggacgctgactttttcacaaccttccggcggcggcacgt
+tagtgagtattagctttcgctctgcggagggtgaggaaagtcagttaatgtaatgcctcc
+tactgaccaaagaatacttgcacttaaggttcagtataaaagggcatgataatttacatt
+aactcctttttttctccacgattggctcgtaccttgccgctacagtgaagcaagtcaagc
+ctacaacgatacgcagaaacacgaggtcctcttttaatggcgaatttctttattgatcgc
+cccatttttgcctgggtgctggcaatcctgttgtgtctgacaggtaccctggcgattttt
+tcattgcccgttgaacaataccccgatctcgcgccaccgaatgtgcgagtgaccgctaac
+tatcccggcgcatcggcccagacgctggaaaacaccgtgacccaggttatcgagcaaaat
+atgaccggcctcgataatctcatgtatatgtcatctcagagcagtggcaccggtcaggca
+tctgtcactttaagttttaaagcaggcaccgatccggacgaagccgtgcagcaagtacaa
+aaccagctgcaatcagccatgcgaaagttaccgcaggcggtgcaaaatcagggcgtgacg
+gtgcgtaaaaccggcgataccaacattctgaccattgccttcgtctctaccgatggttcg
+atggataaacaggatattgctgattatgttgccagtaatattcaggacccgttaagccgc
+gtgaatggcgtcggggatatcgatgcctatggttcgcaatattccatgcgtatctggctg
+gacccggcgaaactcaacagtttccagatgacggctaaagatgtcactgatgccattgag
+tcacagaacgcgcagattgcggttgggcaacttggtggtacaccttccgtcgataagcag
+gcgctcaacgccaccattaacgcccagtcactgctgcaaacaccagaacagttccgcgat
+atcaccttgcgggtcaatcaggacggctcagaggtaaggctgggcgatgtcgccaccgtc
+gaaatgggggcggagaaatacgattatcttagccgcttcaatggtaagccagcctccggg
+ctgggggtaaaactggcctccggcgctaacgaaatggcgacagcggagctggtgctcaat
+cgtctcgacgagctggcgcagtatttcccgcatggactggaatacaaggtggcgtatgaa
+accacctcgtttgttaaagcctccattgaagacgtggtgaaaacgctgctggaagctatc
+gctctggttttcctcgttatgtatctgttcctgcaaaacttccgcgccacgctgataccc
+actatcgccgtgccggtggtgttgatgggaaccttctccgtactttacgccttcggttac
+agcgtcaacaccttaaccatgttcgcgatggtgctggcgatcggtctgctggtggatgac
+gccatcgtggtggtggaaaacgtcgaacgtattatgagtgaggaaggactcactcctcgc
+gaagccacacgtaaatcgatggggcagatccagggggcactggtcgggattgcgatggtt
+ctttcggcggtatttgtaccaatggccttcttcggcggcaccaccggtgccatctatcgc
+cagttctctattaccattgttgcggcgatggtgctgtcagtactggtagcgatgatcctc
+actccggctctgtgtgccacactacttaagccactgaaaaaaggtgagcatcatgggcaa
+aaaggcttttttgcctggtttaaccagatgtttaaccgcaacgccgaacgctacgaaaaa
+ggggtggcgaaaattctccaccgtagcctgcgctggattgtgatttatgtcctgctgctt
+ggcggcatggtgttcctgttcctgcgtttgccgacgtcgttcttaccgctggaagaccgt
+ggcatgtttactacctcggtacagttgcccagcggttcaacgcaacaacagaccctgaaa
+gtcgttgagcaaatcgagaaatactacttcacccatgaaaaagacaacatcatgtcggtg
+tttgccaccgttggttctggccctgggggtaacgggcaaaacgtggcgcgaatgtttatc
+cgcctgaaagactggagcgaacgcgacagtaagaccggcacctcgtttgccattatcgag
+cgtgcaacgaaggcgtttaaccaaattaaagaagctcgcgttatcgccagcagcccgcca
+gcaattagcggtcttggtagttctgcaggttttgatatggagttgcaggaccacgctgga
+gcgggtcacgatgcgctgatggcagcacgtaatcagttgctggcgctggcggcggaaaac
+ccggagctaacccgtgtgcgccataacggcctcgacgacagtccgcagttgcagattgat
+atcgaccagcgtaaagctcaggcgctgggcgttgctatcgacgatattaacgacacactg
+caaaccgcctggggttcgagctatgtgaatgactttatggatcgcggtcgcgtgaagaaa
+gtctatgtgcaggcagctgcgccgtatcgcatgctgccagatgacatcaatctctggtat
+gtccgaaataaagatggcggcatggtgcccttctctgctttcgcgacctcacgctgggaa
+acaggctcgccgcgtctggaacgctataacggttattctgcggttgagattgttggggaa
+gccgcaccgggggtcagtaccggtacggcgatggatattatggaatcgttagtgaagcag
+ctgccaaacggctttggtctggagtggacggcgatgtcgtatcaggagcggctttccggc
+gcgcaggctccggcgctgtacgccatttccttgctggtggtattcctgtgtctggctgcg
+ttgtatgaaagctggtcggtgccgttctcggtaatgctggtcgtgccgctgggggtaatc
+ggcgcgctgctggcaacctggatgcgcgggctggaaaacgacgtttacttccaggtgggc
+ctgttaacggtcattggtttatcggcgaaaaacgccatcctgatcgtcgagtttgctaac
+gagatgaaccaaaaaggccacgacctgtttgaagcgacgctccacgcctgccgtcagcgt
+ttacgcccgattctgatgacctcgctggcatttatcttcggcgtattgccaatggcaacc
+agcacgggtgccggttccggtggtcagcatgcggtgggtactggcgtaatgggcgggatg
+atttcggccactattctggctatttacttcgtgccgctgttctttgtgctggtgcgccgc
+cgcttcccgctgaagccgcgcccggaataagcaataaaaaaggcgacatgccaatgtgtc
+gcctttttcaactttccgattaagaacctgctcagcgggttcttgctgtttgtactttgt
+ctcaggaattacttacgaagcataacttcgataaagtctttccagttccccagttcacgt
+tcaatcataacaacctctcttataattatgggtattctacggaaacaatataccgtggtg
+aagctaatttactcgattgctgcgatgactacctccgggggacaaatcttatgtaaatac
+tatggtcctgcggtgatgatttgtatgtgatacacagcaacatttcgagatattcatacg
+gcatctaatactgatttaattctggttaaaatacagacagataacaagatgaatattctt
+aatgtttacgttaaaaatgtttaatattatttaatagttgttaatttgaatacttcgata
+atgttatatttcctgataatcatttgcaggcaaaatgttttcacccttaaatgagtattt
+attctcataaatcgaaaaaggattcattatggttacactttacggtatcaaaaattgtga
+caccattaaaaaggctcgccgttggctggaagccaataacatcgactatcgttttcatga
+ttaccgcgtcgatgggctggacagcgaattattgaacgattttatcaacgaattaggctg
+ggaagcgttactcaacacccgtggtacaacctggcgtaaactggacgaaaccacccgcaa
+taaaatcaccgatgcggcctctgcggcggcattaatgactgaaatgcctgcaattatcaa
+acgtccattgctctgcgtgcccggtaagcctatgctgctgggtttcagtgattccagtta
+tcagcaatttttccatgaggtgtagtctatgtcgtgcccggttattgagctgacacaaca
+gcttattcgccgcccttccctgagtcctgatgatgcaggatgccaggctttgttgattga
+acgtttgcaggcgatcggttttaccgttgaacgcatggactttgccgatacgcagaattt
+ttgggcatggcgtgggcagggtgaaacgttagcctttgccgggcataccgacgtggtgcc
+gcctggcgacgccgatcgttggatcaatcccccgtttgaacccaccattcgtgacggcat
+gttattcgggcgcggtgcggcagatatgaaaggctcgctggcggcgatggtggtggcggc
+agaacgttttgtcgcacaacatcccaaccatacggggcgactggcatttctgatcacctc
+tgatgaagaagccagtgcccacaacggtacggtaaaagtcgtcgaagcgttaatggcacg
+taatgagcgtctcgattactgcctggttggcgaaccgtcgagtatcgaagtggtaggtga
+tgtggtgaaaaatggtcgtcgcggatcattaacctgcaaccttaccattcatggcgttca
+ggggcatgttgcctacccacatctggctgacaatccggtacatcgcgcagcacctttcct
+taatgaattagtggctattgagtgggatcagggcaatgaattcttcccggcgaccagtat
+gcagattgccaatattcaggcgggaacgggcagtaacaacgttattccgggtgaactgtt
+tgtgcagtttaacttccgcttcagcaccgaactgactgatgagatgatcaaagcgcaggt
+gcttgccctgcttgaaaaacatcaactgcgctatacggtggattggtggctttccgggca
+gccatttttgaccgcgcgcggtaaactggtggatgcggtcgttaacgcggttgagcacta
+taatgaaattaaaccgcagctactgaccacaggcggaacgtccgacgggcgctttattgc
+ccgcatgggggcgcaggtggtggaactcgggccggtcaatgccactattcataaaattaa
+tgaatgtgtgaacgctgccgacctgcagctacttgcccgtatgtatcaacgtatcatgga
+acagctcgtcgcctgatgagtggttctgcaagaggaaataagcatggactggctggctaa
+atattggtggattctggtgattgtctttttggtaggcgtcctgctgaacgtgattaaaga
+tctcaagcgcgtcgaccataagaaatttctcgccaacaagccggagcttcccccgcatcg
+tgatttcaacgataagtgggacgatgacgacgactggccgaaaaaggatcaaccgaagaa
+gtaagctgagtgctcaaccgtaggccggataaggcgttaacgccgcatccggcaatggtg
+aacgatgcctgatgcgacgctcacgcgtcttatcaggccaggtaatctgtcttttacatc
+atttcaatcacatcatcatcgccaggcttaccgccacttagcgcttcgtcgaaataatgt
+ttcggaatggtataacgcaagtgatccagggcaaattgcatactgcgattgtcgatcgca
+tggcctaaatcctccacgatatccagcgtcacgtcaccaccggcactgattaacgcttcc
+tgcgccgcaaccgcatgcgccagatcgataaccggatcttcaccgccatgaatcaggtga
+attgtcgtggctgtagacgcagtttccggcaggctcgcatagcgtccgttaaaagcaatg
+acgcgtgaagcaaggcccggttcggctttaatgctctccagcaccataatcgcgccttga
+gagaaaccgatgagcgccgtggcgttagcccctactccgctctgtttctgccagtagcgc
+accgtttcaataaacgtcggcatgatcgcatccacacgcgcctggcgattatcttccgta
+ataccctgcaccgaaaaccactgacgccccgccggattaccgctcggctccgcgccaccg
+acactcaccaccagcgcatcaggaaacagcggtgcaaaccagttgcctatttcccccatt
+gccaccgggttatccccgacaccgtggaaaagcagtaacaactgttgcgcaggtttatcc
+gggctttgaacaacaaaatggtcatgtttcatggcgaactccttaactgatgtcattaat
+tttacgccgctgactcacaatgaccatgagataaaattgaaggagtcagtgaaataattg
+ccattgcgttatgcgatcgcgcagacgctcagtgcgaacatcattaagtgcgaacagcgc
+ctgcgcggcctcttcccgctgacggaccagtaacatcttgcggcctgaaagtttaagtgt
+ggtacataactgcgcatcactggcgtttttctgtaaacgcccacgcagcgccggtaatgc
+cagttcactggtttgtaacagacgcaataagcaacctaacgacgttaatagcggacgatg
+agcgaaagcaaaaccggccagttcaagccagtcgtcgtcagaaaggacggcatcgtttag
+tggatcaacaggaagcgtttcgccattccactgcgcgagagcttgcgcatcgcgacgtaa
+acggtaatgctcacgttcagccagctgtttacccgcatcactcatcggtaacagcgccat
+cgccgtatagcaaccgctgctggcttcccgatgattacccatccgcaccagcacaaaacc
+gcagcgttgccagaaacgccataactccccggtgtaaccaaaactcaccgaaagatagtc
+gaggtcttgcgtatattgcaaagcaccagcaataagttgccgccctgtgccttcccgctg
+acgagccggatgaactgctatccggctgacccgccgtccacgcaatgtcgccgccagtgg
+attgttgccgtgcgccgccagcgactgggccaccagattaccccgcgggcgacgaaaacc
+tgcccataccgcctgactgagttgttgagataatccaccctcatccaccagccacagcgc
+cccggcaatctcgttttcgccagccgcctgtaaaaaatgttgccctggtgcatccatcat
+ccggcgtaaatccagcggcgaagtccgatagtgcgcaccagacaagagctgataaacctt
+taacggcgtttctggatcgctttgccataacgtctgttcaaatgcggaaatgacaatatt
+gccttgtggtgtatgggtgaagttttcatcgtcaaaaaccagtgcctcgctgaccatttt
+ttccagcgggcatccctgcgcccagcggatcggctgttgcagttcaaaacggtgtaaatg
+cggaaagcgagcgcaaaatttcagcaaaaaaccacgtccggtgccttcgtagccctgcac
+cgtagtggttaacaacgttcgaggaaaacgcgataccagttgatgcaacaatggcgcagg
+tatggctgcggcttcatcgaccaccagccagtcggcttgctcatcgctggctaacaaggc
+atccggcgcaataaagcgaaacttctcgcccgcaaattgtgccagtacatccgttgacgc
+ttttgcgggcgcggtgacaatcgctctgcccgcaatacgagaaatgagttgccctgccaa
+cgccgacttaccgcgcccacgcgcagccgttaccgctgccacgcccggcggcatggtcat
+tagctgctttaagagttgctgttgttctggttgtggtgcgccagtcgcggggtaccagtc
+agtacggggagtaaaatgcgccaacgagaatggctggttttgccgccagaggatagcctc
+gttatccgccgtaagtacgcgtttgagatgctggacaaaatgcggcgtcgcaatagggtc
+agggcaatcactccagcgcagcgagtcggcatcaggttggttttcccactcttcccatac
+agggagtaacaaaaccagccagcttcccgctttcaacgttccgctaagtgcggcaaaggc
+agcggcatcaaagccgtggcgggcgtcgaataccgcatgccggaactcgcgcccaagtaa
+agtttgtagtgccgagggagaacagtggttttcagcatctggccgcggcgaaatccacag
+ccagtcgccaggtaaggcatcacgcaacttaagagtatgctcaaaacaccaaccctcttc
+cccgctcaacaccagcaagcggcggatcccttcacgtttcatttgcgctgttaatgtgtg
+aagcgcagtcagttcagccatccctgccccggaagttaaatgcttttaccaaaagtattg
+cattgtgccggatcgccgctgtcgaaaccacgtttaaaccagctgtagcgttgctgagaa
+gtgccatgagtgaaactgtctggtactactcgcccctgactttgctgttgtaaacggtca
+tcgccgatggcctgcgccgcgttcagcgcctcttccagatcgccggtttccagaacgcct
+tgctgctgcatactatgcccccagacaccggcaaaacagtcggcctggagttccatacgc
+acagataagcggtttacttccgcctgcgtcgcgttttgttgcagttgacgaactttcggc
+tcgatgcctaacagtttctgcacatgatgaccgacttcatgggcgataacgtacccctgg
+gcaaaatcgccatccgcgccaagtttgtctttcatgtcatcatagaaggagagatcgata
+taaaccgtgccatccgccgggcaatagaacggccccattatggactggcccgccccgcag
+ccggtacgcgtcattccacggtacatgaccagcttcggttgctgataggtcttacccatc
+ttctcgaactgttgtccccaggtgtcttccgtggttgccagaatcaccgaggtgaatttt
+gcggcttcgtcttcatttgggctaattgaccgcgttgattgttgttgggaaaccggctgc
+ccggtcatcaacccggttaaatcaacaccatagtagcctgcaaccagcacgactatcagt
+aaaatcagcccgcctttaccgcttggcaggcgaaaaccgggaccgcccatagatggacca
+ccagagctgttgcgcctgtcttcaacattgtcactttcacgtcgcccttgccaacgcata
+gatacctcaacaatatattcattatagaaatgatcgtaggtggttcagaggaagattacc
+acaggaaagcgggatgaaatggcggaggaatgagcgttcaatgcatatattccgagagcg
+gttgtcttgccgtgccagctgcacggcaagatgatgaacagaaaaatcagtccagctgta
+cacccaggcggcgggcgacggcttcataggcttcgatcaggccaccgaggctctggcgga
+aacggtctttgtccattttctccagcgtttctttgtcccacaggcggctaccgtccgggg
+agaactcatcacccagtaccacttcgcctttgtacagaccaaattccagcttgaagtcga
+ccagaatcagaccagcatcatcgaacagttttttcagcacgtcgttcgctttgtaggtca
+gctctttcatacgcgccaggttctctttgctcacccagccaaaggtttcgcagtaagatt
+cgttgaccatcggatcgtgcatggcgtcgtttttcaggaacagatcgaacagcggcgggt
+tcagctcaataccttcttcgattccaagacgtttcaccagagagccagcagcacggttac
+gcacgacacactcaaccggcaccatatccagctttttcaccagacattcggtatcggaga
+gcagacgctccatttgagtcgggatacccgcttcagccagtttgctcataatgaagtagt
+tgaacttgttgttcaccatacctttgcgatcaaactgctcaatgcgcgcgccatcccctg
+ctgacgtatcattgcggaattcgagcaccaacaggtccgggttttccgtgctgtatacgg
+ttttcgctttaccacgatacaactcagcttgcttttgcatctttatcactcctgggtgtg
+aattaacgttttaaaatcttttgctgtctggtgtgccggatgttttgtcggatgcggcgt
+gaacgccttatccgaactacgtccgacaaacaaatttcgtgcgaattaccgctaaaatcg
+cgttttcctgcagacgcacacgtttgcgtatcatatcagaaaaaagggccggatgattcc
+agccctgtatttttacttgctaaacgcagcctggaagacagctaccagcgcgtcgttctg
+actctgagtcagagtatgacctttcggatcgatgaactgtaggctgctgcggttatctaa
+atcgccaacctgcagtttatagtcaccggatgccaggcctggatcgctcgcgcccagttc
+ctgccagtcgctgtcagacagcggcttataagttacggccatgttgccctgcgaacgggt
+gctgtcggtcactttcatgcccactttttccagcgccgctggcagacgttgccaaaccac
+attgaacggcccgcgtacgaccagcattggtaaaccggtgtcatcagctgcactttgtac
+gtccatagtggtggaggcacgattttgcgcagcgttcgcggcgtcagtggcagatttatc
+cagaccggcggaaataacgttcatcatctccgtgctgtaacgctgcatggaagccgcgtc
+tgcaaccggtttgcccgcctgttccaggttcagcagtttaaccgtaaccgcctgctgata
+accctgcggcttaacagagatttgataacgaccacgatactgctcgtcttcgtccagacg
+gttccattgtacccaatcggtggtcagtgtctgaccagcatcatcacgttgggtgatggt
+gtagtttttcgcctgcagcacgctaaccacctgcggccacagagtattgccacgaccatt
+ttccaccagcaatgaagcggtatcgcccgtgaactgggtacgcgcgccagaaaccagtgc
+cagcggctgggctggtggacgaatgtccagcgccttaccgacagcaccactaccgttggt
+caccgggattgcataatcaccggaggtcaccggcaaaatcattccagccggggcatgaag
+ctccgcaagcggtgccgcttccaggtaggcttcatcaccactgacctgacgcttatagcg
+tgagtcagaactacaggcagcgagtaataaaacaagcgaaacacccgcaacctttgccag
+gcgcgacttttgaacagagtaagccatcaaatctccctaaactttacagcaaaccggcat
+gcttaagcgccgctctgaccgtctcacgaccactgtcggtgattggtgtcattggcaggc
+gcagcgtatcggtcgccacaagacccagttccttacatgcccatttcaccgggattggat
+tgggttcgacaaatagtttgttgtgtaatggcatcagacgctgattaataacgcgtgcct
+cggcaaaatgcccttctgctgccagtttgcacatctgggccatatcacgcgctgcgacgt
+tagccgtaacggaaataaccccatgaccgcccaattgcatgaagtccagcgcgctcgcat
+catcgccgctcagcagaacaaaatcatctgaaaccagctctttgatctggtttacacgcg
+ttaagttccctgttgcctctttgattccgataatattttttactttcgccagacggccca
+ccgtttccgggagcagatcgcagccagtacgggacggcacattatacagaatttgcggca
+ggtcagtatgctcagcgatggctttgaaatgctgatacaaaccttcttgcgacggacgat
+tgtagtaaggggttaccgtcaggcagccgacgataccactgtcattgaagcgctgcgtca
+ggctaatggcttccgcagtagcgttagcgccggtcccggcaattaccggaatgcgcccat
+cagccagatccagcgtcatcatcaccacatcagcatgttcgtcatgatttaaggtagcgg
+actcgccagtggtgccaacagaaacgatcgccgaagtaccgctggcgacatgataatcaa
+tcagttttttcaagctagcccgacagacattacctttttcatccatcggagtaacaatcg
+cgacaatacttcccgtgaacatgggccatcctctgtgcaaacaagtgtctcaatggtacg
+tttggtatggcattaaaagcaagcagacagaaccgttctgattgttgtatgcatgttttt
+tttatgctttccttaagaacaactcaccccttaaaggaataaccagtttgacactgtcat
+cgcaacattatctggtgatcactgcgttgggtgccgatcgccctggaattgtgaacacca
+tcacccgtcatgtcagtagttgcggctgtaatattgaagacagtcgcctggcgatgctgg
+gagaagagttcacgtttattatgctgctttccggttcatggaatgccattactctgattg
+aatcaacgttaccgttgaaaggtgccgaactggatcttttaatcgtgatgaagcgcacga
+cggcgcgtccgcgtccgccaatgccagcatctgtctgggttcaggtcgatgtggcagact
+ccccgcatttaattgaacgcttcacagcacttttcgacgcgcatcatatgaacattgcgg
+agctggtgtcgcgcacgcaacctgctgaaaatgaacgggctgcgcagttgcatattcaga
+taaccgcccacagccccgcatctgcggacgcagcaaatattgagcaagcgttcaaagccc
+tatgtacagaactcaatgcacaaggcagtattaacgtcgtcaattattcccaacatgatg
+aacaggatggagttaagtaatgaatccactgaaagccggtgatatcgcaccgaaatttag
+cttgccggatcaagacggagaacaagttaatttgaccgacttccagggacagcgtgttct
+ggtttatttctacccgaaagccatgacccccggctgtaccgtacaggcctgcggcttacg
+cgataacatggatgagttgaaaaaagcgggcgttgatgtgctgggtatcagcaccgataa
+acccgaaaaactctcccgttttgcggaaaaagagctgcttaactttacgctcctgtctga
+tgaggaccaccaggtgtgcgaacaattcggcgtctggggtgaaaagtccttcatgggcaa
+aacctacgatggcattcatcgcatcagcttcctgattgacgctgatggcaaaatcgaaca
+tgtctttgacgatttcaaaaccagcaatcaccacgacgttgtgctgaactggctgaaaga
+acacgcctgattactttgctccattccgtgctggctgcgcttgcggccagcatacctcac
+ttctcgtgatcaagatcacattctcgctttcccctgcgacacgggtgtcgaatccatttt
+ttgctgaacgttaatgaccatcatttttgtaccgttcagaatccagttaatacataactt
+attgaatatattgagttaatcagaatggcatcctttatgcaatatgaaatgcaatgtttc
+atatcattttcaaggagccgacatgaaccgctttgtggtggccgaaccactgtggtgtac
+aggatgtaatacctgtctcgctgcctgttcggacgtgcataaaacgcaaggtttacagca
+acacccgcgcctggccctggcgaagacgtcaacaatcactgcccctgtcgtgtgtcatca
+ctgtgaggaagccccttgcctgcaggtctgcccggtcaatgccatctctcagagggatga
+tgcgatccaactcaacgaaagcctctgtattggctgcaagctttgcgccgtggtctgccc
+atttggcgcaatcagcgcttcaggaagccgtccggtgaatgcccatgcgcaatatgtttt
+tcaggctgaaggctcactcaaagacggcgaagaaaacgcgccaacacaacatgctttgct
+gcgctgggaacctggtgtccagaccgtcgcggtgaaatgcgacctgtgtgatttcttgcc
+agaaggtccggcctgcgttcgcgcttgcccgaatcaggcgttacggctgatcaccggtga
+tagcctgcaacgtcagatgaaagaaaaacagcgccttgccgcaagctggtttgccaatgg
+cggggaggatcccctttccctcactcaggagcaacgctaatggatgccctgcaattatta
+acctggtcgctgattctctatctgtttgctagtctggcttcgctgtttttactcggtctg
+gacagactggctattaagctttccggcatcacatcgctggtgggcggcgtgattggcatc
+atcagcggaattacgcaattacatgctggtgtaactttagtcgcccgttttgccccccct
+tttgaatttgccgatttaaccctgcgaatggatagcctctcggcatttatggtgctggtt
+atctccttgctggtggtggtttgttctctctattcattgacttatatgcgcgaatacgag
+ggcaaaggcgcggcggcgatgggcttctttatgaatattttcatcgcatcgatggttgcc
+ctgctggtgatggacaacgctttttggttcatcgtgctgtttgaaatgatgtcgctgtct
+tcctggtttctggtcattgccaggcaggataaaacgtcgatcaacgctggcatgctctac
+ttttttatcgcccacgccggatcggtgctgataatgatcgccttcttgctgatggggcgc
+gaaagcggcagcctcgattttgccagtttccgcacgctttcactttctccggggctggcg
+tcggcggtgttcctgctggcctttttcggttttggcgcgaaagccgggatgatgccgttg
+cacagctggttgccgcgcgctcaccctgccgcaccatcgcacgcttcggcgttgatgtct
+ggcgtaatggtcaaaataggtattttcggcatcctgaaagtagcgatggatctgctggcg
+caaacgggtttgcctctgtggtggggcattctggtgatggcgatcggcgcaatctccgcg
+ctcctgggcgtgctatatgcgctggcggaacaggatatcaaacggctgctggcctggagt
+accgtcgaaaacgtcggcattattttgctggcagtcggtgtggcgatggtcggtctgtca
+ctgcacgacccgctgctcaccgtggttggactgctcggcgcactgtttcatctgctcaac
+catgcgctgttcaaagggctgctatttctcggcgcgggagcgattatttcgcgtttgcat
+acccacgacatggaaaaaatgggggcactagcgaaacggatgccgtggacagccgcagca
+tgcctgattggttgcctcgcgatatcagccattcctccgctgaatggttttatcagcgaa
+tggtacacctggcagtcgctgttctcactaagtcgtgtggaagccgtagcgctacaactt
+gcgggtcctattgctatggtaatgctggcagtcactggtgggctggcagtaatgtgcttc
+gtaaaaatgtacggtattactttctgtggtgcgccgcgcagtacacacgctgaagaggca
+caggaagtgccaaatacgatgatcgtcgccatgctactgctcgcggcactctgcgtatta
+attgcgcttagtgccagttggctggcaccgaagataatgcatattgcccatgcgtttacc
+aatacccctcccgccactgtcgccagcggaatagcacttgtacccggcacgtttcataca
+caggtcaccccctcattactgttgctgttactactggcgatgcctttgctgcctggcctt
+tactggctgtggtgtcgttcgcgccgcgcagcgtttcgtcgcacaggagatgcctgggca
+tgcggctacggctgggaaaatgcgatggccccgtcaggcaatggcgtgatgcagccgctg
+cgtgtggtcttttctgcgctatttcgtctacgacaacagctcgaccctacgctgaggcta
+aataaaggtcttgcgcacgtcaccgccagggctcagagcacagaacccttctgggatgag
+cgggtgatccgccccatcgtgagcgccacccaacggctggccaaagaaatacagcatctg
+caaagcggcgactttcgtctctattgcctgtatgtggtcgccgcactggttgtgctgcta
+atcgctattgccgtctaaggaaatcaccatgagacaaactctttgcgacggatatctggt
+catttttgcgttagcacaggccgtgattctgctgatgctaaccccactttttacgggtat
+ttcccggcagatacgcgcgcgtatgcactcccgccgcgggccggggatctggcaggatta
+tcgcgatatccacaaactgtttaaacgccaggaagttgcgccgacatcttcaggtctgat
+gttccgcctgatgccgtgggtattaatcagcagcatgctggtgctggcgatggccttacc
+actgtttattaccgtttccccttttgcgggcggcggcgatctgatcacccttatctatct
+tcttgccctgtttcgttttttctttgctctttccgggctggataccggaagtccgtttgc
+gggagtcggtgccagtcgcgagttgacgctcggcattctggtcgaaccaatgcttattct
+ctcactgctggtattggcgctgatagcaggttccacgcatatcgagatgatcagcaatac
+gctggcgatgggctggaactcgccgctaaccaccgtactggcgttactggcctgtggttt
+tgcctgcttcattgagatgggaaaaattccctttgatgttgctgaagcagaacaggaatt
+acaggaaggcccgctgaccgaatattccggtgccgggctggcgctagcgaaatgggggct
+ggggctgaaacaggtcgtgatggcatcactgtttgtggccctgtttctgccctttgggcg
+cgcgcaagaactttctctcgcctgcctgctgacttcacttgtcgttacgctgctcaaggt
+tttgctgatttttgtactggcctcaatcgcagaaaacacgctggcacgcgggcgtttttt
+actcattcaccatgtgacctggcttggcttcagccttgctgcgcttgcatgggtcttctg
+gttaaccggtctgtaaggagcactgacggaatatggaaaatcttgctctgacgacgttat
+tgctgccttttatcggcgcactggtcgtttcgttttcgccacaacgtcgggccgccgaat
+ggggggttttgttcgccgcgctgaccacgctgtgcatgttgtcactgatctccgcgtttt
+atcaggccgataaagttgccgtcacgttgacgttggtcaacgtgggggatgtggcgttgt
+ttggcctggtcattgatcgcgtgagtacgctgattctgtttgtggtggtgtttctcggtt
+tgctggtcacgatctactccacgggttatctgacggataaaaatcgcgaacacccgcata
+acggcacgaatcgttattacgcatttttactggtgtttatcggcgcgatggcgggactgg
+tactctcctcgacgctgctcggtcagttgttgttttttgaaattacaggcggctgctcct
+gggcgttgatcagttattaccagagcgataaagcgcagcgttcagcactaaaagcgttac
+ttatcactcatatcggctcgttggggttgtatcttgccgccgccacgctgtttttgcaga
+ccggaacgtttgcgcttagcgcgatgagcgagttacacggcgacgcacgttatctggttt
+atggcggcatcctgtttgccgcgtgggggaaatcggcccagctaccgatgcaagcgtggc
+taccggacgcaatggaagcgccaacaccgatcagcgcctatctccacgccgcatcgatgg
+tgaaagtgggcgtttacatttttgcccgcgctattatcgacggcggcaatatcccgcatg
+tgattggcggcgttggcatggtcatggcactggtcaccattctttatggctttctgatgt
+atttgccacagcaggatatgaagcggttgctagcctggtcgaccatcactcaacttggct
+ggatgttcttcggcttgtcgctctccatcttcggctcgcggctggcgctggagggcagca
+tcgcctacatcgtcaaccacgcgttcgctaaaagcctgtttttccttgtagcaggtgcgc
+tgagttacagctgcggcacgcgcttgttgccgcgtctgcgtggcgtattgcacaccctgc
+cgttgccaggcgtgggtttctgcgtggcagcgctggcgattaccggcgtgccgccgttca
+acggcttcttcagtaaattcccgctgtttgctgccggttttgcgttgtcagtggagtact
+ggatcctgctgcccgccatgattcttctgatgattgaatcggtcgccagtttcgcctggt
+ttattcgctggtttggtcgcgttgtgcctggcaaaccgagcgaggccgtcgccgatgccg
+caccgctgccaggatcaatgcgcctggtgttgattgtactgattgtgatgtcgctgattt
+ccagcgtaatcgccgcgacctggttgcagtaaggagatgatgaatgaccggttctatgat
+cgtaaataatctggcgggactgatgatgctgacatcgctgtttgtgattagcgtcaaaag
+ctatcgcctgtcatgcggattttacgcctgccagtcactggtgctggtgtctattttcgc
+cactctctcgtgcctgttcgccgcagagcaactgctgatctggtccgccagcgcctttat
+caccaaagtgctgctggtaccgttaatcatgacttacgctgcacgaaatattccccagaa
+catcccggaaaaagcgttattcggtccggcaatgatggcactgctcgcggcgttaattgt
+cctgctttgcgcatttgtcgttcagcccgtgaagctaccgatggctaccgggctgaaacc
+ggcgctggcggtagcgttaggtcattttctgcttggcctgctgtgcattgtcagccagcg
+caatatcctgcggcaaatttttggttactgcctgatggaaaacggctcccatctggtgct
+ggcgcttcttgcctggcgagcaccggaactggtggaaataggtatcgctaccgacgccat
+cttcgccgtcattgtgatggtgttactggcaagaaaaatatggcgtacccacggcacgct
+ggacgtgaacaacttgaccgcgctgaagggataatgagatgagttattctgtgatgttcg
+ctttactcctgctcacgccgctgcttttttcgctgctctgttttgcctgccggaaacgga
+gactttctgcgactcgcacggtgaccgtattacatagcttagggatcacactgctgctga
+ttctggcactctgggtggtccaaactgccgctgatgcaggagaaatattcgctgcgggac
+tgtggcttcatattgatggtctgggcggtttgttcctcgccattcttggtgtgattggct
+ttctcaccggtatttactcgattggctacatgcgtcatgaagtggcacacggcgagcttt
+cacccgttacgctgtgcgattactacggtttcttccatctgtttttgttcaccatgctgc
+tggttgttaccagcaataacctgattgtgatgtgggcggcgatcgaagccaccaccttaa
+gctcggcgtttctggtaggcatttacggtcagcgttcatcgctggaagctgcatggaagt
+acatcattatttgtactgttggtgtcgcttttggtctgttcggtaccgtgctggtatacg
+ccaacgccgccagcgttatgccgcaggcagaaatggcgatattctggagcgaggttctta
+agcaatcgtccttgcttgacccaacattaatgctgttggcctttgtgtttttgctaattg
+gctttggtaccaaaaccgggctatttcccatgcacgcctggctgccggatgctcacagtg
+aagcgccgagtccggtcagcgccctgctctccgccgtattgctgaactgcgcgctgttgg
+tgctgattcgctattacatcattatttgccaagccatcggcagcgatttccccaaccggt
+tgttgctcatcttcggcatgttgtcggttgccgtggcggcatttttcattctggtacagc
+gggacattaagcgtctgctggcgtactccagcgtggagaacatggggctggtcgcggtgg
+agctaggcattggcgggccgctgggaatttttgccgcgctgctgcacatcttaaaccaca
+gtctggcaaaaacgctgctgttctgcggttccggcaatgtactgctcaagtacggcacgc
+gcgatctcaacgtcgtctgtgggatgctcaaaatcatgccatttaccgccgtgctgtttg
+gcggcggtgcgctggcgctggcagggatgccgcccttcaacatttttcttagcgaattta
+tgaccattaccgccggactggcacgtaatcacctgctgattatcgtcctgctgttattgc
+tgttaacgctggtgctggcgggcctggtacggatggctgcgcgggtgttaatggcgaaac
+cgccgcaggccgttaaccggggtgatctcggctggttgaccacctcgccaatggtgattc
+tgctggtcatgatgctggcgatgggaacgcatattccacaacctgtcatcaggatcctgg
+cgggcgcttccactatagtcctctcagggacgcacgatctgcctgcacaacgtagcacct
+ggcatgattttttgccttcaggcaccgcatctgtttcggagaaacacagtgaacgttaat
+tcatcgtcaaatcgtggcgaagcgattctcgccgccctgaaaacgcagttccccggcgcg
+gtgctggatgaagagcgacaaacgcctgaacaggtcaccattacggtgaaaatcaatctg
+ctgcctgacgttgtacagtatctttattatcaacatgatggctggcttccggtcctgttt
+ggcaacgacgagcggacacttaacggtcattacgcggtttattatgccctttcaatggaa
+ggggccgaaaaatgctggattgtggtgaaggcgctggtcgatgccgacagtcgggagttt
+ccgtcagtcacaccgcgcgtccctgccgcggtctggggcgagcgagaaattcgcgatatg
+tacgggctgattccggttggcctgccggatcagcgtcgcctggtgttgcccgatgactgg
+ccggaagatatgcatccgctgcgcaaagatgcgatggattatcgactgcgccctgaaccg
+acgactgattccgaaacgtatccgtttatcaatgagggcaacagcgatgcgcgggtgatc
+cctgtcggcccgctgcatatcacctccgatgaaccgggtcacttccgcttgtttgtggat
+ggcgagcaaattgtcgatgctgattaccgcctgttttatgtccatcgcggcatggagaaa
+ctggcagaaacgcggatgggctacaacgaagtgaccttcttatcggaccgcgtgtgtggg
+atttgcggttttgcccacagtgtggcctataccaattcggttgaaaatgcactggggatt
+gaggtgccgcaacgagcacatactattcgctcgattctgctggaagtcgaacggctacac
+agtcatttgcttaaccttggcctctcctgccatttcgttggttttgataccggctttatg
+caatttttccgcgtgcgggaaaagtcgatgacgatggcggaattgctgatcgggtcgcgt
+aaaacctacggtctgaatctgattggtggtgttcgccgcgatattctcaaagagcaacgt
+ctgcaaacgctgaaactggtgcgcgagatgcgcgccgacgtgtcggagctggtagagatg
+ctgcttgctacgccgaatatggaacaacgcactcagggcattggcattctcgaccgacaa
+atcgcccgtgatttgcgctttgatcacccctacgccgactacggcaatattccaaaaaca
+ctgtttacctttaccggcggcgatgttttctcccgcgtgatggtccgtgtcaaagagacg
+tttgattcgctggcaatgctggaatttgccctcgacaacatgccggataccccactgctg
+accgaaggctttagctataaacctcacgcattcgcgctgggctttgttgaagcgccacgc
+ggtgaagacgtgcactggagcatgctcggtgataaccaaaaattgttccgctggcgctgc
+cgtgccgccacctacgccaactggccggtgttgcgttacatgctgcgcggcaataccgtt
+tctgacgcaccgctgattatcggtagccttgatccctgctactcctgtaccgaccgtgtg
+acgctggtagatgtgcgcaagcgccagtcaaaaaccgtgccgtataaagagatcgaacgc
+tacggcattgatcgtaaccgttcgccgctgaagtaaggacagaagatgctgaagttactg
+aaaactattatgcgcgccggaaccgcgacggtgaaatatcccttcgcgccactggaggtc
+agccctggctttcgcggaaaaccggacctgatgcccagccaatgtattgcctgcggtgcc
+tgcgcctgtgcttgtccggcaaatgcgctgactatccagaccgacgaccagcaaaattcg
+cgcacctggcagctctatctggggcgttgtatttactgcggacgttgtgaagaagtgtgc
+ccgaccagagccatccagcttaccaataactttgaactgaccgtcaccaataaagccgat
+ctctatacccgcgcgacgttccatctacaacgttgcagccgttgcgaacgcccgtttgcc
+ccgcaaaaaaccatcgcactggctgctgaattgttagcacagcaacaaaatgcgccacaa
+aaccgcgaaatgttgtgggcgcaagcgagcgtctgcccggaatgcaaacaacgcgcgacg
+ctgatcaacgacgatacagatgtactgctggtggctaaggagcagctatgagtccagtgc
+ttacacaacatgtcagccagcccatcacgctggacgagcaaacgcaaaagatgaagcggc
+atttgctacaggatatccgtcgctcggcttacgtttatcgcgtcgattgcggcggctgca
+acgcctgtgaaatcgaaatttttgctgccattacaccagtattcgacgcagaacgttttg
+gcattaaggttgtttcatcaccgcgtcacgccgatattttgttatttactggcgcagtca
+cccgggcgatgcgtatgcctgcacttcgggcgtatgagtctgcccccgatcataaaattt
+gtgtttcctacggcgcgtgcggtgtcggcggcggtattttccacgatctctacagcgtct
+ggggcggtagcgacaccattgtccccattgatgtttggatccccggctgcccgccaacac
+cggccgccaccattcacggtttcgccgtggcgctcggtttgctgcaacagaagattcacg
+ctgtggattatcgcgatcccaccggggtgactatgcaaccgttgtggccgcagatcccgc
+catcacagcgtatcgccattgagcgagaagcgcggcggctggcgggctatcgtcaggggc
+gagaaatttgcgatcggctcctgcgccatttaagcgacgatcctacaggaaatcgggtta
+acacctggttgcgcgatgccgacgatccacgtctcaatagtatcgttcagcaactctttc
+gcgtactccgggggttacatgactgaagagtgcggggaaattgttttctggacgctgcga
+aaaaagtttgtcgccagtagcgacgagatgccggaacacagctctcaggtaatgtattac
+tcgctagctatcggccatcacgttggcgtgattgattgtctgaatgtcgccttccgctgc
+ccactgacggaatacgaagattggcttgcactggtcgaagaggagcaagcccgacgtaag
+atgctgggggtgatgacttttggtgagattgttattgacgccagccacaccgccctgttg
+acccgggcattcgcgccactggcggatgacgcgacgtctgtgtggcaggcgcgtagcatt
+caattcattcatctgttggatgaaattgtgcaggaaccggccatctatctgatggccaga
+aaaattgcgtgagaaggatttctcattaataaggactgttgatggctatgtcagacgagg
+cgatgtttgccccgccacaaggaataacaattgaagcggtaaacggaatgctcgcggagc
+ggttagcacagaaacacggcaaggcgtctttattacgcgccttcatcccgctgccgccgc
+cgttcagcccggtacaacttattgaactgcatgttctcaaaagcaacttctattaccgct
+accatgatgatggcagcgatgtgacggcaacaacagagtatcagggcgagatggtcgatt
+attcgcgtcacgccgtccttctcggcagtagtggaatggcggagctacgctttattcgca
+cccacggcagtcgttttacttcccaggattgcacactgtttaactggctggcgcggataa
+tcaccccggttctgcaatcatggctcaatgatgaagaacagcaggtggcgctgcgtttgc
+tggagaaagatcgcgatcatcatcgggtactggttgatattactaatgcagtgctgtcac
+atcttgatctcgacgatctgatcgctgacgtcgctcgtgagatccatcattttttcggtc
+tggcttcagtcagtatggtactgggcgatcatcgaaagaacgagaagttcagcctgtggt
+gcagcgatctttctgcctcacattgtgcgtgtctgccacgctgtatgcctggcgaaagtg
+tattgctgacacaaacgctacaaacccgacaaccgaccttgacgcaccgtgcagatgatc
+tgtttctctggcaacgcgacccgttattactcttacttgcatctaacggctgcgaatctg
+cgctccttataccgcttacctttggcaaccatacaccgggtgcattgttgctggcgcata
+cctcttccactctctttagtgaggaaaactgccagctactacaacacatagccgatcgca
+tcgctattgccgttggcaatgccgatgcctggcgtagcatgaccgatttgcaggaaagtt
+tgcagcaagaaaaccaccagcttagcgagcagctcctttcgaatctgggcatcggtgaca
+ttatctatcaaagccaggcaatggaagacctgctccagcaggtagatattgtggcgaaga
+gcgacagtacggtgttgatttgtggtgaaaccggaactggcaaagaggtgatcgccagag
+cgatccatcaacttagcccgcgacgcgacaagccgctggtcaaaatcaactgcgctgcca
+tccccgccagtcttctggaaagtgagttattcggtcatgacaaaggggcgtttactggtg
+cgattaatacccatcgtggtcgttttgaaattgccgatggcggcacgttgtttctcgatg
+aaattggcgatctgccgttagaacttcagcctaaactgctgcgcgtattgcaggagcggg
+agattgagcgtctcggcgggagtagaacgatcccggtgaatgtcagagtcattgccgcca
+ccaaccgtgatttgtggcaaatggttgaagatcgccagtttcgcagcgatctcttttatc
+gcctgaatgtcttcccactggaattgccgccgctacgcgaccgtccggaagatatccctc
+ttttagcaaaacatttcacgcaaaaaatggcgcgccatatgaatcgcgcaattgacgcca
+tcccgaccgaggcactacgccagttgatgtcgtgggattggccgggcaacgtgcgcgagc
+tggaaaacgtgattgagcgggcggtactgttgactcgtggtaacagtctgaatttacatc
+taaatgtccgacaaagccgtttactgccgacgctaaatgaagattcagcgcttcgcagtt
+caatggcgcagttactgcacccgacgacgccagagaatgacgaagaagaacgtcagcgca
+ttgttcaggtattgcgagaaaccaatggcattgttgccgggccccgtggcgcagcgacgc
+gattagggatgaagcgcaccacgctgctgtcacgaatgcagcggctggggatctcggttc
+gcgaggtgttgtaatctgcttttgcaggagtatgcatgagaaacaaactctctttcgact
+tgcagttgagcgccagaaaagcggcaatcgctgaacggattgccgcccataaaattgccc
+gcagtaaagtgtcggtctttttaatggcgatgtccgctggcgtgtttatggcgatcggat
+ttactttttacctttccgttatcgccgatgccccgtcttcacaggcattaacccatctgg
+tgggcggcctttgctttacactcggctttattttgctggcggtttgcggcaccagcctgt
+tcacctcgtcggtaatgacggtgatggcaaaaagtcggggcgttattagttggcgaactt
+ggctgattaacgcacttctggtggcctgcggtaatctggcaggtattgcctgtttcagtt
+tgttaatctggttttccgggctggtgatgagtgaaaacgcgatgtggggagtcgcggttt
+tacactgcgccgagggcaaaatgcatcatacatttactgaatctgtcagcctcggcatta
+tgtgcaatctgatggtttgcctggcgctgtggatgagttattgcgggcgttcgttatgcg
+acaaaatcgtcgccatgattttgcccatcaccctgtttgtcgccagtggctttgagcact
+gtatcgccaatttgtttgtgattccgttcgccattgccattcgccatttcgcccctcccc
+ccttctggcagctggcgcacagtagcgcagacaattttccggcactgacggtcagccatt
+ttattaccgccaatctgctcccggtgatgctgggtaatattatcggcggtgcggtgctgg
+tgagtatgtgttatcgggctatttatttacgtcaggaaccctgaaaaatcagcccggcga
+aacagttcgtcgggctgaagattattcttgcgcgatttgcccatcgggccaggcatgaat
+cacggctttgatcagcgtcgccaacggaatggcgaagaatacgccccagaatccccacaa
+accaccgaagatcaccaccgataaaataatcaccagcggatgcaggttaaccgcttcgga
+gaacaacaccggcactaacaggttgccgtccagcgcctgaataatcagatacaccgcgaa
+gcagctccagaattcagtacctgcgccaaactggaatagcgccacgccaaccaccggaat
+ggtcaccacaaatgcgccaatgtacggaataagaaccgagaagccgaccagcactgccag
+cagcagcgaatagttcagcccgaagagcaagaaccccagccaggtggcgatccccaccac
+gatcatctccagcactttgccgcggatatagttggtgatttgttgattcatctccttcca
+cacctgtcctgccagcccacggttacgcggcagcacccggcgaacggcgttcagcatctg
+ctctttgtctttcagcaggaagaagaccatcaatggcaccagcaccagatagacggctat
+ggtcagcaaaccgaccagcgaggcgagggaaattttcaccaccgaatcgcccatggtcag
+catccgactgcgcatattttcggccattgcatcaataatgcccgcgtccattaacgccgg
+atagcggcgcggcaacgtggcggcaaagtcagaaagcttattgagcatccccggcatatc
+gcggattaagtagatgccctgttgccaggcgataggcagtaccacgaacgccatcagtag
+caatataccgacgaaaaccaccaatacaatcgacgtcgcccagcggcgggagcagccaat
+agattgcagacgcacggttggccattccagcaaataggccagcacaatagccaccagcaa
+cggagcaagcaggccactaaagaaaaagataatgccaaatccggcaactaaaataaccag
+caaggcaatcgcttccgggtcgctaaaacggcggcgataccattgcatcaacatttcgag
+cataaagaccttccctgaacctcaagagcgggattgcgatccgcaattgtatcgaaatgt
+cacaaaaaagacttcgctttttatgacggattcaggaaactgaaaagtcatttgagtggg
+ctaatcttcgccgttacactcaaaggcggcgcggtgggaacgatatttcacagtatcggt
+caaatgactatctccagaaatacaggatagaggttatgttcaggcagttgaaaaaaaacc
+tggttgcaaccctcattgctgctatgaccattggtcaggtagccccggcgtttgccgaca
+gcgcagacaccttgccggatatgggaacctccgcaggaagcacgctttccattggtcagg
+aaatgcagatgggcgactattatgtccgccagctacgcggcagcgcgccgttaattaatg
+acccgctgttaacgcaatatattaattcgctggggatgcgtctggtttcgcatgccaatt
+cggttaagacaccgtttcatttttttctgatcaacaacgacgaaattaacgcctttgctt
+tctttggcggcaacgtggtgctgcactctgccctgttccgttattccgataacgaaagtc
+aactggcttcagttatggcgcacgaaatctcccacgtcacccaacgtcacctggcgcgag
+cgatggaagatcagcagcgcagcgcgccgctgacctgggtcggcgcgttaggttctattt
+tactggcgatggccagtccgcaggcggggatggcggcgctgaccggtacactggcgggaa
+cgcgtcaggggatgatcagtttcacccagcaaaatgaacaggaagcggaccgcattggta
+ttcaggtgctgcaacgctcgggattcgatccgcaggcgatgccaaccttcctcgaaaaat
+tactcgatcaggcgcgttactcctcgcgcccgccggaaattttattgactcacccgttgc
+cggaaagtcgtctggcagatgcccgcaaccgtgctaatcagatgcgcccgatggtggtgc
+agtcgtcggaagatttctatctggcgaaagcgcgcacactggggatgtataattccggac
+gtaaccagctcaccagtgatttgctggatgaatgggcgaaaggaaacgttcgtcagcaac
+gagcagcacaatatggtcgtgctttacaggcgatggaagccaataaatacgacgaggcgc
+gtaaaacgctgcaaccgttactggcggcagaacctggcaacgcatggtatctcgatctgg
+ctactgatatcgatcttgggcaaaacaaagccaatgaggcgatcaatcgtctgaaaaatg
+cccgcgatttacgcaccaatccggtgttgcagctcaacctggcgaacgcttatttgcaag
+gcggtcaaccacaagaagcggccaatattctgaatcgctacacctttaataataaagatg
+acagcaacggctgggatttgctggcacaggcggaagccgcgctaaataaccgcgatcagg
+agctggctgcgcgagcagaaggttatgcgctcgccggacgactcgatcaggccatttcgc
+tgttgagtagcgccagttcgcaggtgaaattaggcagcctgcaacaagcgcgttacgatg
+cgcgcatcgaccagttgcgccagctgcaggaacgctttaagccttataccaagatgtaat
+tcgcattaaaggaagaacaatgaccaaacaggtaaaaatctaccataacccacgctgttc
+aaagagccgggaaacgctgaacctgctgaaagaaaacggcgtggagccagaagtggtgct
+ctaccttgagacacccgccgatgcggcaacgctgcgcgatttgctgaaaatactggggat
+gaatagcgcccgtgaattgatgcgccagaaagaggatctttataaagaactgaacctggc
+tgacagttcgcttagcgaagaggcgctgattcaggcaatggtggataatccgaagctgat
+ggagcgcccgattgtggtcgcgaatggcaaagcgcggattggtcgtccaccggagcaggt
+actggaaatcgtgggttaagatgtgctccatcgctagttgaagcacattgccggatgcga
+cgcttgccacgtcttatccggcctacgaatactatggattaacttcgcgtagttcggata
+aggcgttcgcgccgcatccgacaataaacaccttatctacaacttcagaatttctttcac
+aaacggaatggtcagcttacgttgcgcggtaatcgacgcacgatccaactgatccaacgt
+cataaatagcgtgcgcatttctctgtcgagccgcttcagcaagaaacgccccacatcttc
+cggcagttcaaaaccacgcaaacgcgcgcgtaactgtagcgcctgcaacttatcttcatc
+agaaagtggctgcaatttgtagatctgcccccagtcgagtcgcgacgcgagatccggtaa
+tcccagattcaactgccgcggtggacgatcgccggtgatcaacaaccgtgttttgcccga
+ttccagaattcgattgtagagatcgaaaatcgccatctcccacaactcatcgcctgcaat
+acactcaatgttgtcgatacagaccagcgacaaatgctccataccgtcgagcacttccgg
+aacaaaccaggtgcgtttatccagcgggacatagcccaccgcatcgccacgctgcgacaa
+ttccgcgcaagccgcgtgcagcagatggctgcgccccgcgccttcgcgtgcccagagata
+gatgtaaccgctatgttcctgacgcagcacgttttgcagcgcggccagtaaagaggagtt
+atcccccggccagaaacttgcaaaggtttcgtcgtcaggaagataaagtggcaaagagag
+ctgtgccggtgtgttcagagatacctcaaccaggatttcacaaaatcgcgagaagtttac
+cacagaatcccatgatgtttgaaccgggcagcaacactgcccggtcggtacattatttgt
+ctgttatatccgcgtcttctgcgtccagcaccacttcttcagggcgcagcacactgatca
+gtttgaagatcaaacttaagccgataccgacgatggtcgccagcgccataccttttaact
+ccgccgcgccgatgtttaccttcgcgccactgacgccgatgatcaaaatcacggaagtca
+ggatcaggttctgtgctttgttgtaatccactttcgattcgatcaaaacacgaataccgg
+aagcaccgatgacaccataaagcagcagcgaaacgccgcccatcaccggcaatgggatca
+tctggatagcggcagccagtttaccgacgcaggaaagcaggatagcgaaaatcgccgccc
+cgccgataacccaggtactgtaaacacgggtgatcgccatcacgccaatgttttctccgt
+aagtagtatttggcgtagagccaaagaagccggaaatcacggtcgacaagccattagcaa
+acatcgaacggtgcagacctggatcgcgcagcagatcttttttgacgatattagccgtta
+ctaccaggtgccctacgtgttcggcaataaccactaacgccgctggcagaatagtcagaa
+tggcaaaccactcgaagcgcggcgtatagagggttggcagcgcaaaccagtgagcattaa
+taatcggcgtggtatcgacaattcccattgcgaaagagagcgcgtaccccaccagcacgc
+caattaaaatcgggataattgccaggaaaccacgaaacagcacggaacctaaaaccgtga
+ccgccagggtggtaatagagatgatgatggttttggagtctggcgtttgcccttcagccg
+ggagtaaacccgccataccggcagctacgcccgccagctccagaccgatgacggcaacga
+ttgcgcccattgccgcaggtggaaacagcacgtccagccagccggtccccgctttcttca
+cgataaaagaaaccaggcagaacagcacgccgcacataataaagccgcccagcgcgactt
+cataccctaacggcaacagtaacaataccggtgaaataaaggcaaagctggaaccaagat
+aagccggaattttccctttacagatgaagagatacagcagcgttccaataccgttaaata
+acagtacagtcgccgggttaatatgaaataagacgggcaccaggacggttgcaccaaaca
+tggcgaacaaatgttgcaaactaagcgggattgtctgtaaaagtggcggtctttcactca
+ccccgatagcacggcgcgtcatagtattatcctctgtattatgtgttataggcgctttac
+tcaaaaaaaagccgactcttaaagtcggctttaattatttttattctttatttcgtacca
+aagattttgtcaccggcatcgccgaggcccggaataatgtatccgtgctcgttcagtccc
+tgatcaatcgatgcggtatacagttcgacgtccgggtgcgctttttccagcgcagcgata
+ccttctggcgcagctaccagcaccagaactttgatgctgctgcagcccgcttttttcagc
+aggtcgatggtcgcgataacggaaccaccggttgccagcattgggtcaacgatcagcgcc
+atacgctcatcgatgttagaaaccagtttctggaagtacggtaccggctccagcgtttct
+tcattacggtacataccgacaacgctgatgcgcgcgctcggaacgttttccagcacaccg
+tccatcataccaagacccgcacgcagaattggcacaacggtaattttcttacctttgatc
+tggtcgatttctaccgggccgttccagccttcgatagttactttttccgtttcgaggtcg
+gcggtcgcttcgtaagtcagcaggctacccacttcggaagcgagttcgcgaaagcgcttg
+gtgctgatatcttgctcacgcatcagtcccagcttgtgtttgacgagtgggtgtttgact
+tccacgatcttcatactctttctcctttgaggggcagccacaaaaaaaatcgacggatta
+tacctcctttcttcaaggcggcaatattcttttcgttgactttagtcaaaatgataacgg
+tttgagataaagttattttatattcagatggttatgaaagaagattattccatccgaaaa
+ctaacctttaccctggcacaagtcttctttcgccgcgcgcctggggaaaagacgtgcaaa
+aaggttgtgtaaagcagtctcgcaaacgtttgctttccctgttagaattgcgccgaattt
+tatttttctaccgcaagtaacgcgtggggacccaagcagtgaccgataaaacctctctta
+gctacaaagatgccggtgttgatattgacgcgggtaatgctctggttggaagaatcaaag
+gcgtagtgaagaaaacgcgtcgtccggaagtgatgggcggtctgggcggcttcggtgcgc
+tgtgtgcattgccgcaaaaatatcgtgaacccgtgctggtttctggcactgacggcgtag
+gtaccaagctgcgtctggcaatggacttaaaacgtcacgacaccattggtattgatctgg
+tcgccatgtgcgttaatgacctggtggtgcaaggtgcagagccgctgtttttcctcgact
+attacgcaaccggaaaactggatgttgataccgcttcagcggtgatcagcggcattgcgg
+aaggttgtctgcaatcaggctgttcactggtgggtggcgaaacggcagaaatgccgggga
+tgtatcacggtgaggattacgatgtcgcgggtttctgcgttggcgtggtagaaaaatcag
+aaatcatcgacggctctaaagtcagcgacggcgatgtgctgattgcactcggttccagcg
+gtccacactcgaacggctattcgctggtgcgcaaaattcttgaagtcagcggttgtgatc
+cgcaaaccaccgaacttgatggtaagccattagccgatcatctgctggcaccgacccgca
+tttacgtgaagtcagtgctggagttgattgaaaaggtcgatgtgcatgccattgcgcacc
+tgaccggcggcggcttctgggaaaacattccgcgcgtattgccagataatactcaggcag
+tgattgatgaatcttcctggcagtggccggaagtgttcaactggctgcaaacggcaggta
+acgttgagcaccatgaaatgtatcgcaccttcaactgcggcgtcgggatgattattgccc
+tgcctgctccggaagtggacaaagccctcgccctgctcaatgccaacggtgaaaacgcgt
+ggaaaatcggtatcatcaaagcctctgattccgaacaacgcgtggttatcgaataatgaa
+tattgtggtgcttatttccggcaacggaagtaatttacaggcaattattgacgcctgtaa
+aaccaacaaaattaaaggcaccgtacgggcagttttcagcaataaggccgacgcgttcgg
+ccttgaacgcgcccgccaggcgggtattgcaacgcatacgctcatcgccagcgcgtttga
+cagtcgtgaagcctatgaccgggagttgattcatgaaatcgacatgtacgcacccgatgt
+ggtcgtgctggctggttttatgcgcattctcagcccggcgtttgtctcccactatgccgg
+gcgtttgctgaacattcacccttctctgctgccgaaatatcccggattacacacccatcg
+tcaggcgctggaaaatggcgatgaagagcacggtacatcggtgcatttcgtcaccgatga
+actggacggtggcccggttattttacaggcgaaagtcccggtatttgctggtgattcgga
+agatgacatcaccgcccgcgtgcaaacccaggaacacgccatttatccactggtgattag
+ctggtttgccgatggtcgtctgaaaatgcacgaaaacgccgcgtggctggatggtcaacg
+tctgccgccgcagggctacgctgccgacgagtaatacccccgtaattaaagcgccagctc
+tgccgctggcgtttttcaattcacctgtaaatcgcaagctccagcagtttttttccccct
+tttctggcatagttggacatctgccaatattgctcgccataatatccaggcagtgtcccg
+tgaataaaacggagtaaaagtggtaatgggtcaggaaaagctatacatcgaaaaagagct
+cagttggttatcgttcaatgaacgcgtgcttcaggaagcggcggacaaatctaacccgct
+gattgaaaggatgcgtttcctggggatctattccaataaccttgatgagttctataaagt
+ccgcttcgctgaactgaagcgacgcatcattattagcgaagaacaaggctccaactctca
+ttcccgccatttactgggcaaaattcagtcccgggtgctgaaagccgatcaggaattcga
+cggcctctacaacgagctattgctggagatggcgcgcaaccagatcttcctgattaatga
+acgccagctctccgtcaatcaacaaaactggctgcgtcattattttaagcagtatctgcg
+tcagcacattacgccgattttaatcaatcctgacactgacttagtgcagttcctgaaaga
+tgattacacctatctggcggtggaaattatccgtggcgataccatccgttacgcgctgct
+ggagatcccatcagataaagtgccgcgctttgtgaatttaccgccagaagcgccgcgtcg
+acgcaagccgatgattcttctggataacattctgcgttactgccttgatgatattttcaa
+aggcttctttgattatgacgcgctgaatgcctattcaatgaagatgacccgcgatgccga
+atacgatttagtgcatgagatggaagccagcctgatggagttgatgtcttccagtctcaa
+gcagcgtttaactgctgagccggtgcgttttgtttatcagcgcgatatgcccaatgcgct
+ggttgaagtgttacgcgaaaaactgactatttcccgctacgactccatcgtccccggcgg
+tcgttatcataattttaaagactttattaatttccccaatgtcggcaaagccaatctggt
+gaacaaaccactgccgcgtttacgccatatttggtttgataaagcccagttccgcaatgg
+ttttgatgccattcgcgaacgcgatgtgttgctctattatccttatcacacctttgagca
+tgtgctggaactgctgcgtcaggcttcgttcgacccgagcgtactggcgattaaaattaa
+catttaccgcgtggcgaaagattcacgcatcatcgactcgatgatccacgccgcacataa
+cggtaagaaagtcaccgtggtggttgagttacaggcgcgtttcgacgaagaagccaacat
+tcactgggcgaagcgcctgaccgaagcaggcgtgcacgttatcttctctgcgccggggct
+gaaaattcacgccaaactgttcctgatttcacgtaaagaaaacggtgaagtggtgcgtta
+tgcacacatcgggaccgggaactttaacgaaaaaaccgcgcgtctttatactgactattc
+gttgctgaccgccgatgcgcgcatcaccaacgaagtacggcgggtatttaactttattga
+aaacccataccgtccggtgacatttgattatttaatggtatcgccgcaaaactcccgccg
+cctattgtatgaaatggtggaccgcgagatcgccaacgcgcagcaagggctgcccagtgg
+tatcaccctgaagctaaataaccttgtcgataaaggcctggttgatcgtctgtatgcggc
+ctccagctccggcgtaccggttaatctgctggttcgcggaatgtgttcgctgatccccaa
+tctggaaggcattagcgacaacattcgtgccatcagtattgttgaccgttaccttgaaca
+tgaccgggtttatatttttgaaaatggcggcgataaaaaggtctacctttcttccgccga
+ctggatgacgcgcaatattgattatcgtattgaagtggcgacgccgctgctcgatccgcg
+cctgaagcagcgggtactggacatcatcgacatattgttcagcgatacggtcaaagcacg
+ttatatcgataaagaactcagtaatcgctacgttccccgcggcaatcgccgcaaagtacg
+ggcgcagttggcgatttatgactacatcaaatcactcgaacaacctgaataaccctatgc
+caatacacgataaatcccctcgtccgcaggagtttgctgcggtcgatcttggttcaaaca
+gttttcacatggtcatagcccgtgtggtagatggtgccatgcagattattggccgcctga
+aacagcgggtgcatctggcggacggcctggggccagataatatgttgagtgaagaggcaa
+tgacgcgcggtttaaactgtctgtcgctgtttgccgaacggctacaagggttttctcctg
+ccagcgtctgtatagttggtacccatacgctgcgtcaggcgctgaacgccactgactttc
+tgaaacgcgcggaaaaggtcattccctacccgattgaaattatttccggtaatgaagaag
+cccgtctgatttttatgggcgtggaacatacccaaccggaaaaaggtcgcaaactggtta
+ttgatattggcggcggatctacggaactggtgattggtgaaaatttcgaacctattctcg
+ttgaaagccgccggatgggttgtgtcagctttgcccagctttattttcctggcggggtca
+tcaataaagagaattttcagcgcgctcgcatggcggcagcacaaaaactggaaactttaa
+cctggcaattccgtattcagggctggaacgttgcaatgggcgcttccggtaccataaaag
+ccgcccatgaagtgttaatggaaatgggcgagaaagacgggataattaccccggaacgtc
+tggaaaaactggtaaaagaagttttacgtcaccgtaatttcgcatcgctgagtttaccgg
+gtctttccgaagagcggaaaacagtcttcgttccgggactggcgattttatgcggtgtgt
+ttgatgctttagccatccgtgaactgcgcctttctgacggggcgttacgcgaaggcgtac
+tgtatgaaatggaaggacgtttccgtcatcaggatgtgcgtagtcgcaccgccagcagcc
+tcgccaaccagtatcacatcgacagcgaacaggcccgacgggtgctggataccactatgc
+aaatgtacgaacagtggcgggaacagcaaccgaagctggcgcatccgcaactggaggcgc
+tactgcgatgggccgccatgctgcatgaggtcgggttgaatatcaaccacagcggtttgc
+atcgccactccgcttatattctgcaaaacagtgacttgccgggttttaatcaggaacagc
+agctgatgatggcgacactggtgcgctatcaccgtaaagcgattaagctcgacgatctac
+cgcgctttaccttgtttaagaagaaacagttcctgccactgatacagctattgcgccttg
+gcgtattactcaacaatcaacgtcaggcaaccaccacaccgccaacattgacgctgatta
+ctgatgacagtcactggacactgcgtttcccgcatgactggtttagtcagaatgcgctgg
+tactgcttgatctggaaaaggagcaagaatactgggaaggcgtggctggctggcggttga
+aaattgaagaagaaagtacaccagaaatcgccgcttaatactttgcgggccgacgagaaa
+tgtcggcccgcattattcaggcactttcgcgaatgggttcgatttcattcagcgtatcaa
+ttaacggctgcggcttaccaataagataaccctgcatataatcgatccccaaagagagca
+ccgcctcgcggatctcttcgttttcaacgtactctgccactaccagcattttcttcattc
+gcgccaggtggcaaatcgatgccactatctgataatccagactatttgacacaatattgc
+ggataaaactgccgtcaattttaagcagatcggcattcacatttttaagccgcgcatagc
+tggcgtagccggtgccgaaatcatcaatcgcaatctggcagcctaattcctgaagatgct
+gcaaggtgatttgcgcctgcttaacattggtcagagcattactttcggtgacttcaaaaa
+taagttgccacgcttcaatctgatatttagccagcaactgactgacttcaacaggaaaac
+gagcctgacataccgaggttggagacagattaatagcaaaacggtgagcgggcatcttcg
+ctctgttttcagccataaattgcagcgtatgctcaatgacccacatgtcgatactcgacg
+ataaaccaaattcgtgcgcgaccggcaagaagctatcggggctgatcagttcatcattct
+cacctttcatgcgcagaagaatttcatggtaaacatcaccacgcataccggtaatcggct
+gggccatcaggaaaaaatggttgtgttccagcgcctgctgtagtcgattcatcatcgcga
+ctttatctttcaattcgcgttgcaaatacattgccccgcgacgctgcatattttccgggg
+cgttggtcacgatggaaagttcggcgaccgtatttagctctcccagcagcaggtagatat
+gattcactggcgagcgcacatagcagtaactgacgccaatctgcggttgcatcggcatgc
+catcccaaaagaaacgaaattgcttgagatggctatccagtgcggtaatgcgctcctggt
+gcgattctgtattcagtcgcagcgcgagatcgttacccgaaagctgataaacatcttcac
+ccggttccagcaagggtgacagccagtgagaaagtttttgcttgtattgaatccgcagca
+tgatgccatagttcttaaccagcatttccatgccagggatgcgtaaataacaaagcgcag
+accagggggcatcacgcaacgcgcgattcagggcgcgaacatttggcagatgaaccaccg
+ggtccacatacgcaagccgctgaatgcgtctgactaccgctctctgacgggttgccagta
+cagccatataattgacaataaaagagaataccagataactggaggaggttatggtcagct
+gcgtggtatagccaggataaatgggaatgtaattttgatagctgtggatgctgatcatca
+acacgaccgcccagagcagcgaaatcagcttataaccatagcgcatcgctccccacatca
+tcaggggcagcaataatgacaaggtataattggtgctaaaaattgtgcttttttcattta
+acggcatgcataacagcaacaataaagcacctaatgccagtagccagagcgcgaactctt
+ttttggtgactttggcatcaacctgctgttttaattgcgaataatagctacgtaaataaa
+atggatttcgcactacccgaatgatgaagtagcacagcgggacaccgatcagattaccca
+ccagtaaggcctgataattgattaaagtcccgaggttaaaaggcatgacaccgaccagat
+tttctctgctcgccagtaatcctacaaatgcagcaaactggaaaagtatcagaaacagcg
+ttgcaggaaacacaatctgccagaatatacgctgggaaattaaacgggtatcaccatgtg
+aaacgttgttacgccggggagtaaagaccctgtaaccgccccaacagagaatgataatga
+taataaaattagccgttaatgatagcgtttcgtaaaaacccagctctgcatatttgcgga
+caaaaatccctaaggcgatccctggcaatgccgcccagctgaaaaacatcatcatgctga
+tcatcagtgccagaggcagataaaagagaaaaacctcaccggaagaaatatgcgcgaaag
+tattaatgtgggcgaaaatgggcaagattaaagaaggcaggaacagcggaagcccccacc
+atttatcacgtatttttatataagttgcattcagtttcatagatgctcagcagaatcccc
+cacatcctgaaggaggtgtattcagacaggcatcccacctgacttcgaatgatgattatt
+catcactatagagagcattgattctaagtgtcatatgaaagtaccaattgatatatatca
+aacaaaataaccctgattaatgaattattacgtttatcatgttaattcatcattattaca
+tcatcattgtaaataattaaattaacttccataacattaaaatatgtatccactgacgct
+tttttacataacgaagaattgaccattttgtcctgttgtgccttaatgtaagtaccgtcc
+acagcgtgggacatacttcaaggaaccttttgtgagtcaggcaaccagtatgcgaaaacg
+acaccgatttaacagtcgcatgacccgtatcgtactgctcatcagctttatcttcttctt
+tggccgttttatctactcgtccgtcggtgcctggcagcaccatcagagcaaaaaagaagc
+tcagcaatccacactctccgtcgaatcaccggtacaacgttagcggttaccttctccact
+ttcacagaacataacggcacttcgctgtcggatgcttttgctgtttgggattatcaaagc
+ggcagatattctttcatcttaaattttacgtctttatcctgactgatgtttatcctgttt
+ggctgcgaaataaatataaaattaatatatatgttgtaatgatatatttttataaattat
+tccctgcgtgaattttaataaatttaatctatccctttatacgcaatacatttactttcc
+tcttttgatgatcttaaatgtcttatttttcgtaatgtgtataacaaggaatagtgatga
+aatttaaaaaatgtcttctgcctgtggcaatgttagcgtcattcactctggcaggatgcc
+agtcaaatgctgacgatcatgctgccgatgtttatcaaaccgatcaactgaataccaaac
+aagaaactaaaaccgttaatattatttccattcttcccgcaaaagttgccgtagacaact
+cccaaaataaacggaacgcacaagccttcggcgcgcttattggcgcagtcgctggcggtg
+ttatcggccacaacgtcgggtctggcagcaattccggaacgacggcaggtgcagttggcg
+gcggagctgtaggcgcggcagcgggttctatggtgaatgataaaaccttagtggaaggtg
+tttctttaacctataaggaaggcaccaaagtgtatacctctacccaggtgggtaaagagt
+gccagtttacgacaggtttagccgttgttattaccacgacgtataacgaaacgcgtattc
+agccaaataccaaatgtcctgaaaagagctaataatcaggaggagtcatgaagaaagttt
+ttctttgcgccatcttagcctccttaagctatccggctatcgcctcatcattgcaggatc
+aactctctgctgtcgcagaagcggaacagcaaggtaaaaatgaagagcaaaggcagcatg
+acgaatgggtcgcggagcgcaacagggaaatccagcaagagaagcaacgtcgcgcaaatg
+cccaggccgccgctaacaaaagagcggcaacggcagcggcaaataagaaagctcgtcagg
+ataaactggacgccgaagcctctgcggacaaaaaacgcgatcaaagttatgaagatgagc
+tacgcagcttagagattcagaaacaaaaactggcgctggcgaaagaagaagcccgcgtta
+agcgagaaaacgaatttatcgatcaggaactgaagcacaaagctgcgcaaaccgatgtgg
+tgcaatctgaagctgacgccaacagaaatatgactgaaggcggtcgcgatctgatgaaaa
+gcgtgggcaaagcagaagagaacaaatcggacagctggtttaattaatcgatgttagtaa
+cttcaatcctataattcttgaagataaaaaaccctctgtagtaacagagggttttgttca
+ttcatagtgcagggtcaaatcattcccactcaatggtagctggcggcttgccgctgatgt
+catacaccacgcgggaaataccgttcacttcattgataatgcggttggaaacgcgaccga
+ggaaatcgtacggcagatgcgcccagtgtgcggtcataaagtcgatggtttcgacagcac
+gcagagagacaacccagtcatacttacgaccatcgcccattacgccaacggaacgtaccg
+gcaggaacacagtgaacgcctggctgactttgtcgtacaggtccgctttacgcagttctt
+caatgaagatggcgtcagcacggcgcagcaggtcacagtactctttcttcacttcaccca
+gaacacgaacgccaaggcctggtcccgggaacgggtgacggtacagcatgtcgtacggca
+ggcccagctccagaccaatcttacgcacttcgtctttgaacagctctttcagcggttcaa
+ccaggcccatcttcatctctttcggcaggccgcccacgttgtggtgagatttgatgacgt
+gtgctttaccggttgcagacgccgcagattcgataacgtcagggtagatggtgccctgcg
+ccagccacttcacgtcttccagtttcagcgcttcttcatcgaatacttcaacgaaaacgc
+gaccgatgattttacgttttgcttccggatcgttttcgccagccagcgctgacaggaagc
+gatcttctgccggtacgtgaacaatgttaagaccaaagtgatcgccaaacatatccagaa
+cctgctctgcttcgttgaggcgcagcaggccgttgtcgacgaatacgcaagtcaggtttt
+taccgatagcgcggtgcagcagcattgcggttacggaggaatccacaccaccagagaggc
+cgaggatgactttatcgtcgcctacctgctcgcggatgcgagctacagcatcgtcgataa
+ttttcgctggcgtccacagggcttcacactggcagatatcacgcacaaaacgctccagca
+tgcgcataccctggcgggtatgagtcacttccgggtggaactgtacgccatagaagcgtt
+tttcttcgttagccataatggcaaacgggcagctttcggtgctggctacggtgatgaagt
+cggacggaatagcggtaactttatcgccgtggctcatccagacatcgagcagcggtttac
+cgtctgcggtcagcgcatcttcgataccgcgaaccagtgcgctgtcgtttacgacttcaa
+cctgcgcgtagccaaattcacgttcgttagaggcttcaacgtgaccgcccaactgcattg
+ccatggtctgcatgccatagcaaacgccgaataccggtacgcctgcttcaaagacatact
+gcggcgcacgcggactgttttcttcagtagtactttccgggccgccggaaagaataatgc
+cgcttggattgaagtcacgaatttgtgcttctgtcacatcccacgcccacagttcgcagt
+aaacacccagctcacgcacgcggcgcgcaaccagttgagtgtactgagaaccgaagtcca
+gaatgaggatgcgatgcttatgaatgttttccgtcattgacgcttattccgaggcaagtg
+aaacagataatataaatcgcccgacatgaagtcgggcgaagagaatcaggagcccagacg
+gtagttcggggactctttagtaatggtcacgtcgtgaacgtggctttcctgaatgcccgc
+accgctgatacgtacaaactccgctttagtacgcagttcgtcgatagtaccacagccggt
+cagacccatacaggagcgcaggccgcccatctgctggtgaatgatctctttcaggcgacc
+tttataggctacgcgaccttcgataccttccggcaccagtttgtcggcagcgttatcgct
+ctggaaataacggtcagaggaacctttggacatcgcgcccagggaacccataccacggta
+agatttgtaagaacggccctggtagagttcgatttcacccggagattcttcagtacccgc
+cagcatggaacctaccatcaccgcgcttgcgccagcggcgatagctttggcgatgtcgcc
+ggagaagcgaataccgccatcagcgataaccggaataccggtgccttccagggcttctac
+tgcgtcagcaacagcggtaatctgcggaacaccgacgccagtcacgatacgagttgtaca
+gatagagccagggccaatgccgactttaaccgcactgcaaccagcttctgccagagcgcg
+tgcacctgcagctgttgccacgttgccgccgataatttgcagatccggatatttagcacg
+ggtttcacggatacgttgcagtacaccttctgagtgaccgtgggaggagtcgatcagcag
+aacgtcaacgcctgcggcaaccagcgcgtcaacacgctcttcgttacccgcacctgcgcc
+aaccgctgcaccaacacgcagacggccttgctcgtctttacaggcgttcggtttacgttc
+cgctttctggaagtctttcacggtgatcatgccgatcaggtggaattcgtcatcaaccac
+cagcgctttttcaacgcgtttttcgtgcatttttgccagcaccacttcacgggcttcacc
+ttcacgcacggtgaccagacgctctttcggcgtcatgtaaacgctaaccggctggttcag
+gtcggtaacaaaacgcacgtcacgaccggtgataatacccaccagttcgttttcttcggt
+aacgaccggatagcccgcaaaaccgttacgctcggtcagttctttcacttcgcgcagcgt
+cgtggttggcagaacagtctgcggatcagtcaccacaccagattcgtgttttttcacacg
+gcgaacttcttctgcctggcgttcaatggacatgtttttgtggataaagccgataccgcc
+ttcctgagccagagcaatagccaggcgcgcttccgttacggtatccattgctgcggaaag
+catagggatattcagacgaatagttttcgtcagctgggtgctgaggtcagcagtattcgg
+cagaacggtagagtgagcaggaacgaggagaacgtcgtcaaacgtcagagcttctttagc
+gatacgtagcatgggcaatatctcgaccagagtggttaataaatattgccgcggcattat
+acagagcgtaaccgattgcatctacccctttttgcaaaaaatgcttgctatccccgaagg
+gcgggttactatcgactgaataacctgctgatttagaatttgatctcgctcacatgttac
+cttctcaatcccctgcaatttttaccgttagtcgcctgaatcaaacggttcgtctgctgc
+ttgagcatgagatgggacaggtttggatcagcggcgaaatttctaatttcacgcaaccag
+cttccggtcactggtactttacactcaaagacgacaccgcccaggtacgctgcgcgatgt
+tccgcaacagcaaccgccgggtgaccttccgcccacagcatgggcaacaagttttagttc
+gcgccaatattacgctctacgagccgcgcggcgactaccagataatcgttgagagtatgc
+agccggccggtgaagggctgctgcaacagaagtacgaacagctcaaagcgaagttgcagg
+ctgaaggtttgttcgatcagcaatacaaaaaaccacttccctcccctgcgcattgcgttg
+gtgtgatcacctcaaaaaccggtgctgcgctacatgatattttgcatgtgttaaaacgtc
+gcgatccttctctgccggtgatcatctaccctgccgccgttcagggcgatgacgcgccgg
+ggcaaattgttcgcgccattgaactggcgaatcagcgcaatgagtgcgacgtattgatcg
+tcgggcgcggcggcggttcgctggaagatttatggagttttaacgacgaacgcgtagcgc
+gggcgatttttaccagccgcattccggttgtcagcgccgtcgggcatgagacggatgtga
+ccattgccgattttgttgccgatctgcgtgcgccaacgccgtctgccgccgctgaagtag
+tgagccgtaatcagcaagagttactgcgccaggtgcaatcgacccgtcaacggctggaga
+tggcgatggattattatctcgccaaccgcacacgtcgctttacgcaaattcatcaccgat
+tacagcaacagcatccgcagctccggctggcacgccagcaaaccatgcttgagcgcctgc
+aaaagcgaatgagctttgcgctggaaaatcaacttaagcgtaccgggcaacagcagcagc
+ggttaacacagcggctgaatcagcaaaatccacagccgaagattcatcgcgcgcaaacgc
+gcattcagcaactggaatatcgtttagcagaaaccctgcgcgcacagcttagcgccacgc
+gtgaacgtttcggtaatgcagtaacgcacctcgaagccgtaagcccactgtcaacgctgg
+cgcgtggatacagcgttactactgctactgacggcaatgtactgaaaaaagtgaagcaag
+ttaaagcgggtgaaatgctaaccacacgtctggaagacggctggatagaaagtgaagtaa
+aaaacatccagccagtaaaaaaatcgcgtaaaaaggtgcattaagccagcacgaattcaa
+cgcgttttttcgatatcaagccatgcccgtgctgacagaagtaatctactgcaccacagg
+cttttaacacctgcaacggttgatggcagtctggacaaagagctttcatttcaataaatt
+ccccgcaggatcggcaacgcgcatggccgttatcctgatcaagcacatgctgacattgtg
+gacaatgcagttccatatgaattcctccggtagccattccctctacattcatagagggaa
+tggcagataaaatacttacggataattatttatttttcttgatgtgcttcatcagacgct
+tacgtttacgcatctgggttggcgtcagggtgttacgcttattcgcatacgggttttccc
+cttctttgaactgaatacgaatcggcgatcccattacgtccagcgatttgcggaagtagt
+tcatcaagtagcgcttgtaggaatcaggcaggtctttcacctgattaccgtgaatcacca
+caatcggcgggttataaccaccggcgtgggcatatttcagcttcacacgacgaccgcgta
+ccagcggcggttggtgatcttcaacagccatcgtcatgatgcgcgtcagcatagaggtcc
+ccacacgacgggtggagctgtcatacgcttcacgtactgattcaaacaagttaccaacac
+cactgccgtgcaaggcagagataaagtgcacacgagcaaaatcgataaagcccagacgga
+agtccagcgtttctttcacctgctctttcacttcctgactcaggccatcccacttattca
+ccacaatgacaagtgagcgcccactattgagaataaagcccagcagcgagagatcctgat
+cggaaataccttcgcgcgcatcaatcactaacatcaccacgttggcgtcttcaatggcct
+gcaacgttttgattacggagaatttctctacagcatcggtgattttgccgcgtttacgta
+cgccagcggtgtcaatgagcacatactcacgtccatcgcgttccattgggatgtagatgc
+tgtcacgcgtcgtgccaggcatgtcgtaaacaacaacgcgctcttcaccaagaatacggt
+tagtgagtgtagacttacctacgttcggacgacccacaatcgccagtttgatcggcagac
+tttgcgggtcgaagtcgtcttcctcttcttcttcgccgttctcttccgcttcaaattgcg
+cccagtattcagcgtcttcgtcgacttcctcttgcggtgcgagatcttccatccacggca
+gcagcacatgctccagcagacttaatacgccacgaccgtgagacgcggcgatcgggtaga
+tttcacctaaaccaagcgagtagaaatcaaccactgcctgatcgggatccagaccgtcag
+ttttgtttgccaccaggaaggtcggtttttcacgggagcgcagatgtttggcaatcgctt
+catctgccggcatcaggcccgcgcgcgcatccaccataaacagtacgacgtccgcttctt
+caatcgccagcagcgactgttccgccatgcgggtttctacaccgtcttctgtgccatcaa
+tcccgccggtatcaatacagataaactcacggccttcaatttccgcacgaccgtacttac
+ggtcacgagtcagacccgggaaatccgcaaccagcgcatctcgggtgcgagttagacggt
+taaataacgtggattttcctacgttagggcgcccgacaagcgcgaccacaggtaccatgt
+ttaaagcctcatttttataaatcatcagacaacgcacgctatattcgcgtcgttgttaaa
+aacaggaaaacggcccctgtccaggagccgttttcaaagtgaacgacagagacgattaac
+gtgtaatagagtacacggttccgtcttttgcctggatcagcagtttgccgtcagcggcaa
+ccggttcagtctggaaaccggaactatcaactttttgctgggcaacgaaacgaccatctt
+cgacgttaatccagtgcagataaccttcactgtcaccgaccaccaggttgccattataca
+gcaccggagaagtcagcaggcgatgcagcagatcgctttgtgtccacagcgtaacgccgc
+catcaatggtcaacgccatcacccggtcattttgatcgaccagatagatgcgattgccgt
+cgacgatgaaatcattcaccgaacccagttcgcgtttccacataatctgaccactgcgca
+gatcaagcgccgtcaggttaccattataggccagcgcgaaaacaacgccgttaacaacga
+cgggagtcgtgtcaacatcgctcagacggtcaatttcggtagaaccggtcgcctgggaaa
+tacgctgctgccaaatcatctggccctgttccatcagcactgcgctgacgcgaccattat
+cgccccccacgacggccgcaccaaaagccgttgtcggcgcagactcgccacgcaaagaga
+gcgaaggcatatcgaggttaactgtccatttgacagcgccgtcagcttcgttcagcgctt
+gtaactgaccgttactggtgtggattaacaccagaccgtcgctgaccaccgggcgcgaaa
+gtgcttcacccgcgactttagtttgccatgccacagtaccatcgctggtattcagcgcgt
+aaacctgcgccttttcgctgccaatgtagacatgcccaccagacacggtcacaccgccag
+aaagtaatgcaggctctttagagaaccagccatctttctcggccaggctgacagaccaga
+tttctttgccatcatccgcattcagcgcttttactaaaccagcgcggtccgctgcataga
+caacgttgtccgccagtgccggatgaagattggaatagaagttgccaatgccgctaccaa
+cggaagtgctccacgccgtggtcggcgtaaactggttttcaacggttggcaatggggaca
+tctttaccacatcttcttcgctgttaaacagcgaacagccgcttaaaagggtaacggaaa
+gcagtcctggcagcagtaatttacgcaattgcatcgggtccctctcagatggacaaatta
+ttaattttcatctgcatcatttcgctcagtgccggagtaacatcgcttttcacgcctgct
+tcccatgcactacgcgcaccttgcttatcacctttgctcagcaatgcttcaccacgcagg
+tcggcaacaatggcagcccacccttcacctttgatggtatcaagggttttcagcgcggca
+tcagcctgcttgagctgtacctgaacgcgagcaagacgcagatttatcacggctttgaga
+ttttcatcgctcgtgtctgccagcccctgttgtaactgggcggcagctttctctagttca
+tttttgtcaacaaattgctgcgcaagttccaaagaagccagcgcaccataagtattttta
+ttttcagcagcaaatttttccgccgccgggatgctatccggtttgccttcgctcactgcg
+gtaaccgcattttgataggcaagagaagcggagcgtgcagaatcaacctgatggctgttc
+cagtagcgccagccaatcagtgcgccaacgcccaaaatcaccccaacagccagtgctttg
+ccattttcagcaaaaaagcgtttaaccgcttctacctggtcgttttcgttctcgtaaatt
+tccacgctgtccttctccttccttaacccagtaacgtgcgcaaatgcgcggctacgctat
+cctgcgcaactgccgtttgctcaccagagcgcaaatccttcactactgctgtgccgttag
+ccacttcagactcacccagcaccacagcaacgcgggcaccccatttatcagcacgggcaa
+actgtttcttaaagttgccgccgccgtggttggtcatcaatttcacgcccggtaattcat
+cacgcagacgctcagctaatgccatagccgcagattgtgtatcagcacctgaagccacca
+ggtatatatcgacaacaggatcggctttaaattccggattaacggcctgtactaacaata
+caagacgttcgaggcccatagcaaaaccgacagccggtgttgcacgaccgcccagttgtt
+ccacaagaccgtcataacgaccgcctgcacacacggtgccctgggagccgagactgttag
+tcacccactcgaaaacggtacggttgtagtaatccagaccacgcaccagacgctggttta
+cggtgtaagcgatccccgcgctctccagcagtttgcacagaccggcaaaatgctcacgag
+attcctcgtccagatagtcacctaatgccggagcgtcgttgagaagcgcctgcacttccg
+gattttttgaatccagcacgcgcagcgggttagtgtacatgcggcgtttgcagtcttcgt
+ccagcttttctttatgctgctcaaggaatgccaccagcgcatcgcggtaattggcgcgtg
+cttccagcgaaccgatagagttcagctcaagagttacgtgctcggaaatacccagcgcgc
+gccaccagcgggcagtgagcataatcagttcagcgtcgatatccggaccttgcagaccga
+aaacttcgcagcccaactgatggaactgacgataacgccctttctgcggacgctcgtgac
+ggaacatcggcccgatataccacagacgctgttcctgattgtacagaagaccatgctcga
+tgccggcgcgtacacagcccgccgtcccttcagggcgcagagtcaggctgtcgccattgc
+gatcctcaaaggtgtacatctctttttcaaccacgtcggtgacttcaccaatcgcacgtt
+tgaatagcggggtctgctctacaatcggcaagcggatttcactgtaaccgtagctgccga
+gcacgtttttcagtgtgccttcaatgcgctgccagatggccgtttcgccaggcaggtaat
+cgttcatgccgcgaatggcttgaatgttttttgccacgtttattctctttctgaatataa
+aaatgaaccctcaacgcttccctcaatgtttcgggagccatgcgggttcaatcatacacg
+ggaagcgaggcgcttcccatcacgttattatttttcaacctgctgaacgtcaattcgacg
+cgcttcgtccagctgactggctttcgcacgaatgcgtgcttccagctggtcgatcatatc
+gttgttgtccagacggtctttgcgcacgccatcttcatagaggccgcttttcttgttgcc
+gccggtgacgccgagtgtagaaaccagcgcctcacctgggccattcaccacgcagccgat
+aatcgaaacgtccatcggagtgatgatatcttccaggcgttgctccagcgcgttaaccgt
+accgataacatcaaattcctgacgcgaacaggtcgggcaggcgatgaagttgatccctcg
+cgaacggatacgcagcgatttcaaaatatcgaaaccgactttgatctcttcgaccggatc
+ggccgccagcgatacgcgcagcgtgtcgccgatgccttcagacagcagcagacctaaacc
+aatggcggattttactgccccgctgcgcgcaccaccggcttcggtgatccccagatgcaa
+cggctgatcgatctgttttgccagcaaacgataagactcaacagcgaggaagacgtcaga
+cgctttcacgctgactttgaactgatcgaagttcaggcgatcgagatgatcaacatgacg
+catggcagattccagcaacgcctgcggcgtcggttcgccatacttttcttgcagatcttt
+ttccagcgatccggcgttaacgccaatacggatcggaatgtttttatcgcgcgcacagtc
+aaccaccatgcgaatacgctcttcattaccgatattgccagggttaatacgcagacaatc
+gacgccgtattccgctactttcagcgcaatgcgatagtcgaagtggatgtcagccaccag
+cggcacgttaacctgctgtttgatgagtttgaacgcttctgccgcgtccatcgtcggtac
+ggatacacggacgatatcagcgccaacgcgttccagcgccttgatttgattgaccgttgc
+ttcgacgtctgtcgtacgcgtattggtcatggactgtacggcgatgggagcaccatcgcc
+aatcggcacattcccaacgtaaatacgtgttgattttctacgttgaattggagcctggtt
+atgcatgaaaaatctcccgcgttacccgtctgttactgcgccggtgattgttcggcattg
+agggtcagacgcgcaacctggttagttctgataaaacgactcagatcgacaggtttccct
+tgatactggatctgtactgcggctggcgcaccaattttcagtttgtacggtgcctggccg
+gttaagttcaaattaccgtctttacgctgcataccgctaaacaattttttaccggtagca
+tcagtgacctccagccagcaatcggcagtaaagttcatcaccagcgcattcggatcagcc
+accggcgtggtcacgccagcctgatcggttggcaacggcgcagcaccatctggcgttgtt
+gctgccgttggtgccggggtcgcggcggtatcaacatttgcctgcgaaggcgaaacaacc
+gcattctgttgcggatcaacagctggtgctggcgcagttacggcaggtgtttgcgtgttg
+gttgcggtagtatccacagacgctggcggcgtggacgttgtagccgggtctgtagttgtc
+gacgtatttaatggaacactctgcccctgctcgctattactgctcagttccgccgaagat
+tgatcggccatagtggtgatctcttcctgctgagctttgcggtcttgccaccaccaggca
+ccgctcaggccgataaccacaaacaacaccagccaagtgaaggtcatcagccagccgtcg
+cgttttttgcggcgtttaccgagggaaaaactctgcatcggcgcaacttttgcagcccga
+agtggagcctgcttttccagccctggcagcagttcttcttctggaatatgtaccagacgc
+gcataagagcggatatatccgcgcaggaatgttgaagcaagatcggcgggtgccttatct
+tcttcaatgtcgcgtaccgtggaaaccttcaggcaaagtcgctcggcaacggcctgctga
+ctaagtcctagttgttcgcgagcattacgcaggcgagcgccggtagtaagtgcttcattt
+tggtcgtgcgtggcttcagtattcattcgctgcaggtacgtttaaatgagaattgagatg
+ccggtgaaccatcatgctcacccacaccgcgaaacatccgttaagttaaccgttatcata
+cagtataagaccgtctgtgtgctcgtgacaaagcccacattcactaaggctaacttactg
+ttgcatcgttacatactgccttaaagtcagcaaaaacgcaccgttaatattgaccagaca
+attgcaacttaatacttcattcataaaacattacgccacggtacataaagtaaccgtggc
+gtaatggctatcagaccgctttaatgtcgatggcttcaccctgcatccgtttacgcaggg
+tacgtttcgtacggtcgataacatcgcccgccaactgaccacaggcagcatcgatatcat
+caccacgagttttacgcacaatagtggtgaaaccgtagctcatcagcacttttgagaaac
+ggtcgatacggctgttcgagctgcgtccatacggcgcacccgggaacgggttccacggga
+tcaggttgatcttacacggcgtatctttcagcagttccgccagttggtgcgcgtgttcag
+tgccgtcgttaacgtggtcaagcatcacgtattcaatagtgactcggccctgattggcgt
+tggatttctccagataacggcgcaccgcagcaaggaacgtttcgatattgtactttttgt
+tgatcggcacaatttcgtcacgaatttcgtcgttcggcgcgtgcagggaaattgccagtg
+caacgtcgatcatatcgcccagtttatccagcgccggaactacaccggaagtggaaagcg
+tgacgcgacgtttagacaggccaaaaccgaaatcatcaagcatgatttccatcgccggaa
+cgacgttgttcaggttgagcagcggctcgcccatgcccatcatcactacgttagtgatcg
+gacgctgaccggtgacttttgctgcgccgacgattttcgccgcacgccacacctggccga
+taatttccgacacccgcaggttgcggttaaagccctgctgggcggtggaacagaatttac
+actccagcgcacaccccacctgcgaagagacgcagagcgtggcacggtcgtcttccggga
+tatacaccgtttcgacgcgctgatcgccaacggcgatcgcccatttaatggtgccgtcag
+atgaacgctgttcttcaaccacttccggtgcgcggatttccgccacctctttcagtttgc
+cgcgcaacactttgttgatgtcggtcatctcatcaaagttgtcgcagcaatagtgataca
+tccacttcatcacctgatcggcgcggaagggtttttcacctaaatctttaaaaaactccc
+gcatctgctgacggttgagatccagcaggttgatttttccatctttcgtggtgacgtttt
+caggtgtgactaattgttcagacatatgctattccggcctcgttattacacgttatggcc
+cctggagggttgaaaaaagaaacgccccggtgagcggctgctcgtccgggggcgctgcat
+tgtacaaattctggcgcacggatgccacgtttgcacgcggcatttacgaaattattaacg
+ggtgcgcgggcacacttcgccttcgccaaagaaataagcgatttcgcgagcggcagattc
+gacggaatcagaaccgtgggtaccgttttcggtcaggctgtcagcgtaatcagcgcgcag
+agtaccagccagtgcgtttgccggattggtcgcgcccagcagatcgcggtgacgctgaac
+ggcgttttcaccttccagcacggaaaccacgatcgggccagaggtcatgaattcaaccag
+accatcaaagaacggttttccatcgtgttcagcataaaagccacgtgcctgttcaacggt
+caggtgcagcattttggtgccaacaattttgaaccctgcagcttcaaagcgcgcaaagat
+attaccaatgacgttttttgctaccgcgttcggtttgatgatggaaaaagtacgttcaat
+agccatttttacctctgtaaattgttctgttgttgtctgtaccagcgtacgagatggcgc
+ggattataatgagcaacagggccgttgactattgatgaaggtaacatttttttaaaataa
+aatgagttttagcaacaatcagggacaaaacagactattgcatgacaaatttcactgtcg
+cgatttgccccacgtcatccatcaccagcaattgataatcacctttatccgtcaaatgca
+gggtcacgttgcgcccgcgttcagttaacggttcgccattcagaaaccaccagcgttcac
+ctgcccctccacttgattgcaacggcaaagtcgcttccgctgcgcccggtaaacgtttaa
+taatcgcgccatcgcgaacgcctgtcagctgcagcgggagctgggcatcgtgaccgtatg
+gcgggcaacttgtcgaggccggtggtaagcgcacagcgcgacgttctgatgcgggcagcc
+agggttccagcggtagcggccagacatttatcatttcttgtcgcgcttgcgggcaatcag
+cggcaacacgtttgccattttcatccagccagatggggaaacgaatgccattaatgcctt
+cctgctccggcagtaatagagttggcggctgactcccgtccagcagccaggttgccaggc
+ggcggcgacagttaccgtcaccttccggcaaagactgtccgcccggccagcagataacgc
+cacgagtgactgagttcgggcgcgggtcttccggcagattcgcactgcgcgacagtaaga
+tattattgacctgattcaacaatggtacggcactggcaaagccaaactgaccaacaacgg
+gcgtgccgtccggtctgccagtccagatcccaatgacatagcgagcgttaaccccaatcg
+cccaggcgtcacgatagccatagctggtgcccgttttccatgccagtggggcgacgcgcg
+gcaaggcactatccggcaagggttgcgcttcatcagccataatccggcgaatgatccacg
+ccgcccccgacgacattaaaggccgttcaagcagcggatcgtcaggctgtaagcgcaatt
+tgcctgccttgccgtggcgagcaaacgcggtatacgctgccgccatatcttccagttttg
+caccagcgccgccgagaatgagtgaaagattcggcgcagcaccgttgggcaaatataacg
+gcaatccaacattgcgtaactttgccgcaaaccgtttcggtccataggcttccagcacct
+gcacagcaggtaagttcagcgagcgcaccagcgcctcgctcatgctgatcgggccatgaa
+aaccgctatcaaagttacctggtcgataatcaccggtgcgccgggggacgtcttgcagca
+gtgatgccgggtggatcaagccttcatccagcgccagaccataaacaaacggtttgagca
+ctgatcctggcgatcggatcgaattgaccatatcaacatgaccaaagcgtgaatcatcgt
+tgagatcaaccgatcccacccagccgcgaacacgcatatcggtatgatcaaccacgatca
+tcgccagtgagctgcgcggtggcaaccgccctttccagttttgcgccagttcttccagac
+gtcgttgaagaccggcatccaacgtagtagtgattttgtcgcttttgcttttaccgagca
+tcatgcgcgaaaacagcggtgccagttgcggcatttgtcggggggccagccagatgggtt
+cttcccttgactcttttacctgctcacgggaccacacaccttgcacggccatccgttcga
+gcactttattacgcgcggcttcggcacgctccggccaacgatccgggcgaagacggctgg
+gcgcttgcggcaaaaccgccagcattgccgcctcggaatagcttaaattcgcaggcgatt
+ttccgagataagcccaacttgccgcaccgatcccctgcaacgtaccgccaaacggagcgc
+ggttaagatacaaggtcagaatttcacgcttagacagatgccattccagttgcaacgcgc
+gccagagctggcgaattttgccgccaaatgttttggggtgaggatcaagcagacgagcaa
+cctgcatagtgagcgtgctgccaccggaaataacccgtcccgaagtgagatcttgccatg
+ctgcgcgcgccaccgagaatggattcacccccggatgcttccagaaccagcgatcttcat
+aattgatcagcgcttcaaggtaacgtggagaaacatcttcgattgttaccggataacgcc
+agatgccgtcagcatcggcgaagcgccagagcggcgtaccatcctgcgccacgaccactc
+gtgcgggattgacttcatgcagcggtagaggccagagtttatctgctccccacgctgcaa
+gaaaaaggagaaagggcgcggctgccaacgttatccagcagccgcgtttggttaacaagc
+gaggcatttacggtctgacaatcagcagatcttcagccgcgccggtcgcccgccattggg
+gaacatacattgattccaccatcggttgcggtacctgatacgttcccggcgtcaccgccc
+gcgccagatacaccagcgttaccggttggtattcatcaacggcaaccgccgccacaaagc
+gatcgtcacggaactcaatgtgcttaatgctcgcctgctgcatctggttcagtaagttct
+gcacttcgccaccactttgctccaggctggcgctaccgttcgccagattctggttttcca
+gttccagacccgcaggcagcagatccacgactaacgcatccggcacgctgttactggctt
+ttacctgcaaccacaccagcaccagatcgccgctacgtaacgagtccagcgatttgctct
+taccatcagtaccaagaatatgacgctcgatttgcagcacattgttcgccggtaaaggtg
+cggattgcggataaccgctggcatccatacgcaaccataacggctgatcgccactgttgc
+tcacctgcaaggtgacaagttgatcgctattcagattgctgttttgcgctttctcgcctg
+tcagctgctcagctgagaaagaggtttgcgcctgccatttaccgggtaaatcctgaatcg
+tacgggcagccaggaacaacgcgttactttcctgcgtcgatagccagcgttcaccaaacg
+cctgctgcgaaagtgtgttcagcaaagtgtactgctcatcgggtagcagtttattttctt
+ccagcaaggagagcattaacgcgttgtcgcgcagtgaactaccgtaatcacccagccata
+tccgctcatcactattacgcggcgttttcagcgccagcgcaatcgcttcttcaccacgcg
+tcgcatcacccatggttttcagcgcaacgccaagttgcagcagcggtaaaccagaagcgg
+catctgcacgatgctcccagatttcacgcagcgcacccagcggagccttttgctgacggg
+ccaacaccagcgcagcgtaagactgtacggcgaatttactggctttgagattatccgcgt
+acgggatcgacatcatgcccggatcttgtaaatagcgcagcagacgctcattaccccggt
+taatggcgtctgtcggcacgctgtaaccctgttcgcctgcgcggaccaggaaatccatca
+cgtaagccgtcagccagtactcttcgtcaccgtttttatcccacagcgcaaagccgccgt
+tatcacgttgcatttgcagcaaacgggaaatgccgatatcgaccgatgcacggcgtttct
+catcactgtcgcctttgatgcccaacgcctgcagttgggctgcgttggtataaagtgacg
+gaaacaggccgctggcggtttgctcaagacagccgtacggatacgcttttaactctttga
+tataacgtgcgatgttcagcggtggtttgccgctcaacaacaattgcccttccagcgtaa
+caggcgagaagttttgcaatccatccgccggaatcgcccatgtctcaccaggctgtaacg
+ccgtaccgtaattaaccgtttgtgccgggaacgccggacggacgccgattttccactgct
+tatgctgatcggcaacggtttcacccggtaacgctaacccgctaatggtggcctgaattt
+ctccatcgccataacccggcaatgctcgcaccgggataaacagcgtagtacgcacacctg
+gcgctaattcaacggctgcgggtgaatcgctgaccagttcaagcaaaccactggcggtca
+gggcaacgttcagtttttgcggtttatcggtaagattagtgatatccagcgtcagacgcg
+aggtatcgccactcgccataaagcgcggcatgttcagttcagcaatcaccggtgcggcaa
+ctatcactttactttcgttgctaccgaagtcatctgccgtccaggcttgcgccatgacgc
+gcaattcaccgttaaaatcgccaatcggcagtgtaaccgagccttcgccctgttcgttga
+gcgttaccggcagcgcctgctgcacgacaatattgacgtgattgaccggcggtttaccac
+cacgtttcagctcatcaccatcgccaccgaaacgcagagctgccagacgcccctgacctt
+caataacctgaccgtaaatatcgtaaatgtctgcgccatagcgtttctgaccaaagaacg
+cctgccacggatctggcgtgacgtagtcagtaatattcagcacaccactatcaacggcag
+acaccagcacattcacctgtttaggcttctcgccatttttagtgctggctttaattttca
+cggttaatggttgattgggacgcatttttgctggtgtttccagcgccagatcgaggcgac
+ggttttcatcgccaagcggcagatgcaacacaccaaccgcgcgttttggcgtcgcggagc
+gagatttatcgccaggacgtaccaccagcgtacttaaatacagatcatgacgattccagg
+ttttatcgaccggaatcgtcagatccagcccttgagcccgaacatcaatctcttgccacc
+acagcggcccttcactggactcgaccatcgcataacctttacccgccgttggcgcggcga
+tatgcaacttaatggtgtcgccagggcgataactggctttatccagtttcagcgtgacac
+ggtcgggtcgcactgcgccgctaccgtcgctgttgtcctgccagctatagccagcccaga
+aacgaacactactgaccgcttcattcggcgctttgacttccagacgataagcgccccact
+ctaccggaaaactgaccttgccggtttcgtccgctttcagatccagagtttgttcatttt
+cgatcagatctttttgatcaaactgtgactgccagccttcatcttctgaccagttccagt
+agtaatcgcggcgttcgcgaatcaggcgcacctgcaagcccgacacggcttttttcacgc
+cttgcgcatcgctataaacgatgtcaaaagcggcgttactgccttcatcaacaatgggct
+gtttcaccgtgctgtcagtacgataatcgtaaaccgatttcgaggcgaactgcggacgga
+tccccggcaatgcatcggcaggccagatagcctgctcagcgcggcgcgtcaccgggcgac
+cgcccgattccagcaaactaccctggaaaataacctgtaatggggaatgcgtttccttcc
+actggctttctgtagaaacttcgccgcgccctttatcatccagcgtcaactgaacttcat
+ccagcgtgcgggaaagattttcggcagctatatcgccgaattcaaaaccaggtaaggctg
+acacagcttcacgcagtgggcgcaggaaaagttgcccttgcaaagtattaccattagcag
+gtgcaccatacaggtagtaccccaccacggagaatttcacttcatctttcggcgttagcg
+gggttttctcaccggtcagattcagcgccatgcgctctggcataaaatcttcgacgtgga
+aatcccacatccgatactgattatcgcccgtgttagcgcgaatatgccacataccggttg
+ccgcattgctatcgagtggccaggtaaagtggtagaggccattctccggctgactaacga
+cgctcctgagtacctgcccatcgggtttaatcacgtctaacttgatgggttgattgggca
+acgctttaccgtctgcatcacgcagcaaaccattgaggattaccgtttcacctgggcgat
+aaagatcgcgtgggccaaacatgaaaaactgtttgctatagcctggcgcgccagcaatgt
+taaattctgctaagtccagcgccggaagttttaaatcgagtagcgttgtctgaccgtctt
+tacgcgccaacagtaatgccgcgtttttatcattttccagctgcacatgcccctgagcgt
+cactggttgcctgagtcagagtctgccctttctcatttaataaagagacttcaattcctt
+gctgggccgcgccgttttccagactttgggtaaagatatccagacgattgtgataacggt
+gagctgaaacgccgatatcacttaacgtaaacagcgtcgcgggattactgtaatcgtaac
+gtccagcctgattcatcacagccagatacacgcccgcctgctgaagcggtttgatatcgc
+ccagcggcagcaataatttttcacgggtgttacgcgcaggattgagatcaaaccgtccgg
+tgtagaccagatccgccatctgcagcagtttgtctgactgccagttcgccagcgaattgc
+ggtattcccattggctaatgaatgctggcagagattctggcttaacgcggaagaagttaa
+catcgacattattaacgttgagcgccattaccggcagcccttcaacgactttgccaggca
+gcagcgaaccacggctggcaaaaccgacgctgggttggatgtcgcgggtagttatagttt
+tttcgtaatctttactgaaggttgcgttgttgagtgctttgacctccttgccaatagtaa
+cgatcaaatcacgtttcggttcgaggtggcgtaaacgtaactctttaagattatctgaca
+gctcccaggcaccatccactttgccgctttttttatcgacgacatgaataacgcgtgaga
+aatcctgatccgggtcgagagggatggagaacgtcagcaccagcgtggctgcaccatcaa
+gttggacttcagagagatccagcaatgtcagcaccttaccggcactctgttgggccagtt
+tttgtctctccggcacggagagttttgctgaactcgcgttttctgaagaggccgctttag
+taacttcagaaggcgcatcttttttcaccgctgttggcgcgttatcgttgttgtcgcacc
+ctgccagcgccagcattagcatgcaggcggctacgcgtaactttttcatttttcatccct
+gccacaatggcccgttagcaacgtcgaataattattatgcgtgagaatttacgttatgta
+attcagtatcacgcccatacaatccgaattttagtgagaattgtggctcagacagccaaa
+tcagcctcttttgcttgtcgcttttcactaaacatccgacaatttagcctaaccccggca
+aaaatggagatgcctatgtccacgacatggtttgtaggagccgactggctcgccgaacat
+attgatgacccggaaattcagattatcgatgcccgcatggcgtcgcctggacaggaggat
+cgtaacgttgctcaggagtatctgaatggacatattcccggcgcagtgttttttgatatc
+gaagcgctttctgatcacacttccccgcttccgcacatgctgccgcgcccggaaacgttc
+gccgtggcgatgcgtgaattaggcgttaaccaggataagcacctgattgtctatgacgaa
+ggtaatcttttctcagccccacgagcatggtggatgctgcgcacctttggtgtagagaaa
+gtgtcgattctggggggtggacttgcaggctggcagcgcgatgatctgctgttagaagaa
+ggtgcagtagagctgccggaaggagagtttaacgccgcgtttaatcctgaagccgtggtg
+aaagtaaccgatgtattattggcaagccatgaaaatacggcgcaaattattgatgcccgc
+ccggctgcacgttttaacgcagaagttgatgaacctcgcccaggtttacgtcgcggacat
+attcccggagcactgaatgttccgtggacggaactggtgcgcgaaggcgaactaaaaacg
+accgatgaactggatgcgatattttttggtcgcggcgtcagctacgacaaaccaattatc
+gtcagctgcggctctggtgtaacggcagccgtggttttgttagcactcgcgacgctggat
+gtgccaaacgtgaaactgtacgacggcgcatggagtgaatggggcgcgcgggcagattta
+ccggttgagccagtgaaataagtattttacaggcaataaaaaaccgccgaatttggcggt
+tttttattgctagtctggttcgcggcctttccagcaggttgacttgtgttacatgagcaa
+cgcaggtgcttcacagcaaaacaatactcaccagtaactctctttttgtcaagcaaaaga
+gagtaattattgtttatttagcgtattatcgacaccggccctttccgccgtgttcggtaa
+taaaataacctggcttattagtccgaattcagacaaatataaataaatcctgctcaaaat
+taaaaattctaaccggtaaaagatattacttaaacatgtaaattcactttcctttaaaaa
+acaaaaaaccgccaaaatcaggcggttttttgttgctggtccggttcgcggcctttccag
+caggttgtattaccgtagtaatgcaagcgcgtctcagcggagacaatactcgccagtaac
+tctctttttgtcaagcaaaagagagttattattgttctgttagtgtattatccactgcgg
+ccctttccgccgtctcgcaaacgggcgctggctttaggaaaggatgttccgtggccgtaa
+atgcaggtgtttcacagcgcttgctatcgcggcaatatcgccagtggtgctgtcgtgatg
+cggtcttcgcatggaccgcacaatgaagatacggtgcttttgtatcgtacttattgtttc
+tggtgcgctgttaaccgaggtaaataataaccggagtctctccggcgacaatttactggt
+ggttaacaaccttcagagcagcaagtaagcccgaatgccgccctttgggcggcatatttt
+agattatccgattctgtttaaagtcacgcaaaaaaccaccccagcgacgttcatagaatg
+gcgcaatatgttcggtaataaagtggctaattcctttttccccttttttcacctgacaaa
+tatcgattggttcatcgccaggtaatgtatcggtcgctacacttcccgtcgcctgaataa
+tttcttcgatatcaccatcggcttcaatgccaataagtaaattaggctgtgcctcttcgt
+tctctttaattgaacaaataaaagcacgcttcaccggcttaatggttttaaataaggtgg
+tgagtgaatcaatcatttgtgctggcggctctgcgacttccgataatatcagcgattcac
+cgccttccaggatttcctggctgctcagcggatttccctcttcaccaatcaacaaactga
+tttcacgcggcataaattctttaccggttggcagtttggcattaaggaagagcgtttcgc
+caagtgtcatctcaaacagcgtgcgaacgggcattacgacaaatgcctgttcgtcttcaa
+ccgcctgttgaagtgcttctaacgaggtgaaaaaaggaatgacgctggtgccgtcttctt
+tttcccagtgctgtaaatcaagcgcgctatcttcaaccacagcctcgccctgcgccgccg
+taccaggcacccagacggtggattccagtagagtacggaaaaaggccgggcggtgcgccg
+gttcagttgctgctttttccagcaggtcttcaagttcgttttttgtttcggacataagaa
+ccacaattcattcaacgttcggggcgcaaatgcctgatgcgctacgcttatcaggcctac
+aagggattcgcaatttgttgaatttgcagaatttgtaggccggataaggcgtttacgccg
+catccggcatattagtttacgccgttaacagattagctatcgtgcgcacaccaagtcccg
+tagcgcccgcagaccactgttcaaccggcgctttacggtaagtcgccgagcagtcgatat
+gcagccagccttgctgatagttctcaacaaagtgcgacaggaagcccgccgccgtgctcg
+cgcctgccggatacgccgcgcttccggtattgttcagttcggcaaagttagacggcagct
+ggctgcggtggaactccgccagcggcagacgccagaacggttcgttctcctgcgcggcac
+tcgccagcaagcgaccggccagcgcatcgtcaaaactgaacagcgcgtgataatcattac
+ccagcgcagttttcgccgccccggtgagggtcgccgcatcaatgatcatttccggtttct
+gcgcactggcatcaatcagaccatcggcaagcaccagacgcccttcggcatcagtgttca
+tcacttcaacttttttaccgttgcgataggtgatgatatcgcccagcttgaacgcattgc
+cgctaatcaggttatccgcacagcagaggaacagcttcacgcgcttgttcagtccgcgcg
+taatggcaaatgccagcgccccggtaaccgttgccgcgccgcccatgtccgacttcatcg
+agtccataaacgcagtctgtttgatgctgtagccgccggagtcaaaagtgatacctttac
+ctaccaggcacgcgtacactggcgcttctttatcgccagttgggttgtaatccagcgcca
+gcaataccggagaacgttctgaaccgcgtccgactgtgtgcagccccatataaccttgct
+cacgcagatcttcgcctttggtgatccgataagtcacacgatcgcccgcgacgttgctga
+tcagatcaacagcacgctgtgccagttgcgatggtcccaattcttctgccggtgcgttga
+tggtgtcacgcacccagtcgatgatcatcaggcggttatccagttcctggcgctgggcat
+cgtccagatccggccacaccactttacgcgtgcctttcggggctttgtaaccttgccaga
+atgcccagcagcgatccgcatcccagccttcaccgcttaactgaacatgcttgatgccca
+gaccgtcaatcttgcgcgccgcacgctggatcagccccagatcgtctgccccgttcaaat
+gcagggtaatgccgtcattattaatgctgtaagttgctttttctccccagcgcgcgtcgg
+caggttgggtagagagggtaatcttcatcgcttctgtcattttagttatccttctttgta
+aaagggccgccagttggcagccccaggatttttccgctaaatgattcgcgttgcaggaag
+gcggcaagtgagtgaagccccaggagcatagataactatgtgactggggtgaacgagcgc
+agccaacgcatctgcggcgtgaagcatgacgcggaaattattcggcctcgtccagccaga
+ctaacaaaatcgcttcgaggattttctcgttggatgcctgcgggtcgtcgtcgaaatctt
+ccagatcgcaaatccactgatgcatatcggtgaatcgaaccgttttcggatcaagatcgg
+gatacgcatcgtacagtgcttcgccaatttcgcggctatcggtccacttaagtcccatac
+taacctctgttaatgctcacgcgcatggttgatagtgtaacgcgggatttcgactactaa
+atcttcgtcggtaacgcgcgcctggcagcttaaacggctttccggctccagtccccaggc
+tttgtccagcatgtcgtcttcctgctctgagctttccggcagtgagtcaaaaccttcacg
+aacgatgcagtggcaggtggtgcaagcacaggatttttcacaggcgtgttcaatctcgat
+accgttacgcagagctgcgtcgagaatggtttcaccgctattagcttccagaacagcgcc
+atcagggcagagatcctgatgaggcaaaataacaatctttggcatattaaacctcgtcca
+cggaatggcctttcagcgcacgacgaaccgactggtccatgcggcgagcggcgaaatcct
+gggtttgtttgtctacgtttttaatcgcttgttcgatggcgtcaacatcatcgccctgcg
+ccacttcactcaggtgagcggcagcatcgtcaatgacctgacgttctgcggcgcttaaca
+gcgcggcatcagcagccagcgcgccgtgcagactttccagcacacgcgccgcttctactt
+tttgttctgccagcattcgggcttttacgtcctgctcggcatagctcattgagtctttga
+tcatcgaagcgatttcgctatcggtcagaccgtaagacggtttgacctgaatagacgcct
+caacgccggtggatttctccatcgccgtcacgctcaaaagaccgtcggcatcgacctgga
+acgtcacgcgaatatgcgcaccgccagccggtagcgccggaataccacgcagcgcaaaac
+gcgccagtgagcggcagtcctgcaccagttcgcgctcaccctgcattacatggatagaca
+tcgccgtctgaccatctttaaaggtggtgaaatcctgagcgcgggccaccggaatagtgg
+tattacgcggaatcactttctccaccaggccgcccatcgtttcgaggcccagcgacagtg
+ggatcacatcaagcaacagcatttcgctgtctggcttgttacccaccagaatatccgcct
+gaatcgccgcgccaatagcgacgactttatccgggtcgatggaagtcagcggtggacgac
+cgaaaaattcgcctacccgttcacgcaccagcggcacgcgagtagaaccgcccaccatca
+ccacttccagcacttcatcagcttctacacccgcgtctttcagcgcgcgacgacaagcca
+gtaaggttcgttttaccagtggcgcgatcagttcattgaattgttcacggctgatttcgc
+cctgccagcccgcaacgttaacggtcacggagtccgcatcgctcagcgcgattttggctg
+caatggcggcatccagcagttcacgctgaacgcggttatcgctacgatcaggaatgcccg
+cctgctcgcgaatgtaatccgccagcagatggtcgaaatcatcgccgccgagcgcggaat
+caccgccggttgccagcacttcaaacacgccgcgacttaagcgcagaatggaaatatcaa
+acgtcccgccaccgaggtcataaacggcgatcacgccttcctgaccggaatccagcccgt
+aggcgatagccgcagcggtcggttcgttaagtaagcgcaggacgtgaaggcccgccagac
+gcgccgcgtctttggtgccctgacgctgggcatcgtcaaagtacgccggaacggtgataa
+ctacaccatccagctcgcctgccagggcttcagttgcccgcgccgccagtgctttgagga
+tgtccgcagaaacgcgcaccgggttcagcagccccgccgccgtttcaatcatcggcaggc
+cgttttcgctggcctggaattgataaggcagatgcggatagcgttgctggatatcagcca
+gcgagcgtcccatcaggcgtttaacagaactaattgtgttggcggtatcgagcgctgcat
+tagtacgcgcgtcataacccaccgaatgcccttgctgttgatagtgaacaacagatggca
+gcaggtgacggccttcatgatcggctaacgtttcggcctgaccgctgcgcactgtcgcca
+ccagcgagttggttgtgcccaggtcaataccggccgccagacgacgctgatgcggcgcag
+cactcaaaccaggttcactaatttgtaataaggccatgtttagcttccagaaattaaaaa
+tcgagcagtttttcttcgagttgttcggcactgcttcgcagtttatcgagaaaacgcagc
+ttacgcacggtatccgccgccgcgtcccacgtctcgttgtctaactgttcaaccatcaac
+tgatggcgggtatcaaacatctttttcacacgtttgataaagctttccagccgcgcttca
+tctttcgcctgttcgatctcgtccagctcttcgcgcagctccaactgttccatcaggaac
+gcggtgtcgcgcacagtatgctgctcgctggcgagatcaaagccgtgcaaagaaagcaaa
+tattccgcgcgcattaacggatgacgcagcgtttgccaggcctggttaatggttgcagat
+tgctgtacggcggcgagttgttccgcctggcttccgctggcgaatttatcaggatgatac
+tgacgttgtagatcctgaaaacgcaggctcagcgcctgggtatcgagttgatagcgggca
+ggcaagccaaagagggtgaagtaatccataacattctcagggctgcgatccgccgcgata
+acggcgaatcaggtaaaacaaaccccacgcgcaggcgaccacggtggggttatcggtatg
+cgcatcaaacgtggaagctttcgccgcaaccacactcatctttgacgttcgggttggtga
+atttaaacccttcgttcaggccttcttttacgaagtccagctgcgtaccgtccagaaatt
+gcaggctcttgccatcgaccacgactttcacgcctttgtcttcaaacacgatgtcttccg
+gcgtcggttcgtcaacaaattccagtacataagccatacctgaacacccggaggttctca
+cgcccagacgcaggccaaaccctttaccgcggttagccagaaaggtatttactcgcgctg
+ctgcactgtcgctcagtgtaatcgacataaccaaacctcaactcttattttgcttcacgt
+ttgcttttatagtccgcaatggcggctttgatcgcgtcttctgccagaatagaacagtga
+attttcaccggcggcagttcaagttcttcagcaatatcggtgtttttgatcgcctgcgct
+tcgtcgagagacttccctttcacccattcggtgaccagggagctggaagcgatagcggaa
+ccgcagccgtaagttttaaaacgcgcgtcttcaatgataccttcatcgttgactttaatc
+tgcaacttcatcacgtcgccacaggccggtgcccccaccatgccgctgccgacgttctcg
+tcgttgttgtcaaaggaacccacgttacgcggattctcgtaatggtcgataactttttcg
+ctgtaagccattataaattctcctgattccgataccgattaatgatgagcccattcgatg
+ctgttcagatccacgccctgcttgtacatttcccacagcggagaaaggtcacgcagacga
+ccgatggatttacgaactaactcgatggtgtagtcgatctcttcttcagtagtaaaacga
+cctaaagagaaacggatagagctatgtgccagctcgtcgttcagccccagcgcgcgcagc
+acgtaggacggttcgaggcttgctgacgtacaggcggaacctgaagaaactgcgaggtct
+ttcagcgccataatcagcgactcaccttcaacgtagttgaagctgacgttgagaatgttc
+ggcgcaccgtgttccaggtcaccgttcaggtaaacttcttcgatatctttgatgccgttc
+cacagacggttacgcaggccgcgcagacgttccatctcggtcgccatctcttcttttgcg
+atgcgataggcctcgcccattccgacgatctggtgaacaggcagagtgccggaacgcata
+ccgcgctcgtgaccgccgccgtgcatttgcgcttcgatgcgtacgcgcggtttacgacgt
+acatacagcgcaccgatacctttcgggccatagattttgtgaccggagaaagacatcagg
+tcaactttcaactggctcaggtcgataggcagtttacccacgctctgggttgcatcaacg
+tgatagataatgccacgagcacggcacatttcgccgatagccgcgatatcctgcaccacg
+ccgatttcgttatttacgtgcatgatggacacgaggatggtgtcgtcacgcatcgctgct
+tcaagttctttcaggtcgataatgccgttacgctgcggtgccaggtaggtgacttcaaaa
+ccttcgcgctccagctgacggcaggtatccagtaccgctttgtgttcggttttgctggtg
+atgatgtgcttgccttttttctgataaaagttggctgcacctttgatcgccaggttgtca
+gattcggttgcaccagaggtaaagacgatttcacgcggatcagcgccgaccagatcggca
+atctgattacgggcgatatctaccgcttcttcagcctgccagccgaaacggtgagaacgg
+gaggccgggttaccaaaggttccgtccatcgtcataaactgcatcattttctcggcaaca
+cgcgggtccaccggcgtggttgcggagtagtcgagataaatcggtaatttcattgctcta
+taaactccgtacatcactcaatgcaaggaatcaggctaccggctggatgtacgaccgtgt
+ttacggagtatttagcactccggcctgattctgaattctttttattaagcgcgtaactta
+acgtcgatcgcgtcttgtgtgcgggtgcgtggcgcgtcgtgagtatgctgacgaccagac
+acatccagcacttcctggttattaaccagttcgcctaaagtaatgttgttgagaaaaccg
+gtgagacggtcgctcaaatcacgccacagcgcgtgggtcaggcatttatcgccgccctgg
+cagccgcctttaccctgacaacgggtggcatctacagattcgtcaacggcgctaattact
+tcgccaacggcgatgctgctggcatctttgcctaacagataaccaccgcctggtccacgt
+acgctggaaaccagaccatttttacgcagacgggaaaacagttgttccagataagaaagg
+gaaattccctgacgttcggaaatatcagccaacggtaccgggcccgcttcagagttgagc
+gcaacgtcaagcattgcggtcacggcatagcgccctttagatgtcagtctcatgtcttac
+ttcacctcaaactcgcccctgcccggggttttttattgtaaaagtgggggtattgcatag
+cagggtcaagtctgacattcccgagtaaattggtcaactatttacttgactgatttagtc
+gggtatttaaccttcagtgccatttttttatcgtggcgtttgtacctgttgtcggatgcg
+gcgtgaacgccatatccgccctggggttctgtacactgtaggcctgataagacgcattac
+gcgtcgcatcaggcaacggctgtcggatgcggcgtgaacgccttatccgacctacggttc
+tgttcactgtaggcctgataagacgcattacgcgtcgcatcaggcaacggctgtcggatg
+cggcgtgaacgccttatccgacctacggttctgttcactgtaggcctgataagacgcatt
+acgcgtcgcatcaggcaacggctgttattcggccttgttacctttattctgctgctcaat
+agaagccagaatcccgcgcaggatattcaactcctggctttccgggcgcgcacgggtaaa
+cagacggcgcaatttattcatcacctgccccggatggttttcacggataaaaccggttgc
+cagcagcgtttgttccagatgaccataaaaacgctccagatcatcgaccagcggatacgg
+cgtctcttcatgctcgacctgctcgccgttttcctgagttgccagccaggccatgcgcac
+ttcataggcaataacctgaaccgccatcgccaggttcagcgagctgtattccgggttagc
+cgcaatcgcgacatgataatggcatttctgcaactcttcattggtcaagccgacgcgctc
+gcgaccaaacaccagcgccaccggggtatttgccgcttcagcgacgcttttcaggccgca
+ttcgcgcgggtcgagcatcggccatggcagcgtgcgggaacgtgcgctggtgcccaccac
+caggctacaaccggctaacgcttcgtcgagcgtatcgacgatgtgagcattaccaatcac
+atcgctggcccctgctgccagggcaatcgcctgggagtcgggtttcaccagtggattaac
+cagccacagattggttaatcccattgttttcatggcacgggcaacagaacccatattgcc
+ggtgtgtgacgtctccaccagcacaattcgaatattttgcagcattgtctttcttcatct
+aaagattattcacgcatcttatcataaaacgaagacagatgccgatctcgctgctatact
+ctgcgccgttttcccgttctttaacatccagtgagagagaccgatgcatccgatgctgaa
+catcgccgtgcgcgcagcgcgcaaggcgggtaatttaattgccaaaaactatgaaacccc
+ggacgctgtagaagcgagccagaaaggcagtaacgatttcgtgaccaacgtagataaagc
+tgccgaagcggtgattatcgacacgattcgtaaatcttacccacagcacaccatcatcac
+cgaagaaagcggtgaacttgaaggtactgatcaggatgttcaatgggttatcgatccact
+ggatggcactaccaactttatcaaacgtctgccgcacttcgcggtatctatcgctgttcg
+tatcaaaggccgcaccgaagttgctgtggtatacgatcctatgcgtaacgaactgttcac
+cgccactcgcggtcagggcgcacagctgaacggctaccgactgcgcggcagcaccgctcg
+cgatctcgacggtactattctggcgaccggcttcccgttcaaagcaaaacagtacgccac
+tacctacatcaacatcgtcggcaaactgttcaacgaatgtgcagacttccgtcgtaccgg
+ttctgcggcgctggatctggcttacgtcgctgcgggtcgtgttgacggtttctttgaaat
+cggtctgcgcccgtgggacttcgccgcaggcgagctgctggttcgtgaagcgggcggcat
+cgtcagcgacttcaccggtggtcataactacatgctgaccggtaacatcgttgctggtaa
+cccgcgcgttgttaaagccatgctggcgaacatgcgtgacgagttaagcgacgctctgaa
+gcgttaatgactcaggcgggtgatatcactcacccgccctcgcctttcaggcgctattcc
+gaaatacttcctcactgctttactttctttcgtcactctcccaccatctttccccgatta
+atggatgataaagaagtcgcaaggaaaggttatggcactgccagtgaacaaacgcgttcc
+caaaattctgtttattctctttgttgttgccttctgcgtttatttagtgccgcgcgttgc
+catcaacttcttctattatcccgacgataaaatttacggtcccgatccctggtcggcgga
+atccgtcgaatttacggctaaggacggtactcgtctgcaaggctggtttatcccttcttc
+gacgggccctgctgacaacgccatcgcaaccatcattcatgctcacggcaatgccggaaa
+tatgtccgcccactggccgctggtcagttggttacccgagcgtaatttcaacgtttttat
+gtttgattatcgcgggtttggtaaatcaaaaggcacgccgtcccaggccggattgctgga
+cgatacgcaaagtgccatcaatgtggtgcgccatcgcagtgatgtaaacccacaacgtct
+ggtgctgttcgggcagagtattggcggggcgaatattctggatgttattggtcggggtga
+tcgtgaaggcatacgtgcggtgatcctcgactccacatttgcctcttatgcaaccatcgc
+caaccaaatgatccccggcagtggctacttacttgatgagagttacagcggcgaaaatta
+tatcgccagcgtcagcccgatcccgcttttactcattcacggtaaagctgatcacgttat
+cccatggcagcacagcgaaaagttgtatagcctggcaaaagagccaaaacggttgatcct
+aatcccggatggcgaacacattgatgctttttccgatcgtcacggcgatgtttatcgcga
+acagatggtggactttatccttagcgcgttgaatccgcagaactaacccatgatcgctag
+cacgataatcattcacaaaaccaccttaagacatgctaatccactggtcagaacagttta
+agatgagaaaaattctgtgacgcttgccaacatttctgatgattagcattcccttcgcca
+tttccttgagcaaactttagctattcttatcaattatgcttatgggagatctacagatga
+tgcctacgcttgctccaccatctgtcctttcggctccccagcgccgctgccagatcttgc
+tgacgctctttcagccggggttgaccgccaccatggcaaccttcagcgagcttaatggtg
+tggatgatgatattgccagtcttgatatcagcgaaacaggacgggagatcctgcgctatc
+atcaactcacactgacgactggttatgacggtagctaccgggttgaaggtacagtgctta
+accaacgtttgtgtttatttcactggctacgacgtggtttccgtctgtgtccgtcattta
+ttaccagccaattcacccccgccctgaagagtgaactgaagcggcgcggaattgcgcgta
+acttttacgacgataccaatctacaagcgttagtgaatctctgctcccgacggctgcaaa
+aacgctttgaatcgcgcgatattcatttcctgtgtctgtatctgcaatattgtttgctgc
+agcaccacgctggaattacgcctcagtttaatccgctccaacgtcgctgggcggaatcct
+gccttgaatttcaggtagcgcaggaaattggacgccactggcagcgtcgggcgctccagc
+ctgtaccacctgatgagccactgtttatggcactacttttttccatgttgcgggttcccg
+atccattgcgggatgcgcatcagcgggacagacaattgcgtcagtctatcaaacgtctgg
+taaaccattttcgtgagctgggaaatgttcgtttttatgatgaacaggggttatgtgatc
+agctttatacccacctcgcccaggcgttaaatcgcagtttgtttgccatcggtattgata
+ataccctgccggaagagttcgccagactgtacccacgcctggtgcgcaccacccgcgcgg
+cgctggccggatttgaaagtgaatacggcgtccatctttctgatgaggaaagtggtctgg
+tcgcggtgattttcggtgcctggctaatgcaggaaaacgatctgcatgaaaaacagatta
+ttcttcttaccgggaatgatagcgagcgagaagcgcagattgagcagcagttacgcgaac
+taacgttactgccgctcaacattaagcatatgtcggtaaaggcatttttgcagacaggcg
+ctccgcgtggcgcggcactgattattgcgccttataccatgccattaccgctcttttcac
+caccgctgatctatacggacctgacgctgacaacacatcaacaggagcagatccgcaaaa
+tgctcgaatcagcatgagggaacaactttcgggcgcaaaaacattgccggaagcgccacc
+agcgccattacccagaacacgccgtggcccagatattgatacaggaaaccggcgaaaacg
+gtcatgatagcgatactgccgcccatcgcgacggcagagtaaaccgcctgtaaacggatg
+acttcgctaccctggcgagcagcaatataacgcatggcggccaggtggcagaccgtgaag
+gtgccgcaatgcagaatttgcaccactatcaaccacggcaacgccgtagttgctcccata
+atgccccagcgcactacgccgcaaatcgccgagatcaacagcatatcgcgtgcactacaa
+cggcggaaaagtttattactcagcgcaaagataatgacttccgccaccacgcccagcgac
+cacaaataccccaccgccgaggccgagtagccagctgcctgccagtaaatggcgctaaaa
+ccgtaataggccgcatgtgccccctgcaataaacaaacgcaggccagaaagcgccagttc
+tggcgaaccagcgccaaccacgcagaccaaccggtgctctcctgctggcgacttgcccct
+tgtggctgaatcgtcggacggatgagaaagccgagcagcatggatgccacgcccaacgtc
+aacagcgcgaggatcacccgataatcaaacatagtgaccagtttgcccgtcagcgccgag
+ccaatgacaaacgccaccgagccccacagtcgcactttgccgtaatcaagcgggaactgc
+ttttgccacgtattcgccagtgcatcggtcaacggtaccagtggtgagaaaaagaggtta
+aagccaatcatcaccagcatcagccacgctacgtgcgcccccgcccagaaggcgacagca
+aagagaagtgtcagcagtgccagcacgcgcaaggcggaaatcaggcgggaaggatcgctg
+acgcggggcgcgatgagcaaactcccgaggaaacgggcaaccagacctgcccccaataac
+aggccgatggtttctggcgttaaaccaatccctttaagccagacgctccagaaaggtaga
+aaaatgccgtaactaaaaaagtatgtgaaatagccgagcgccaaccagcgcgtggattgc
+aaaaccatgagtccctcccgtcaggaggcgttagtctggggttaatcgaatgttggtgca
+agttgaaaaataagaatattcgagcctgcttcccgatgtctgtaacgccagttcacaagc
+actaaaaaactgagatccgcgacgcatgttgcaaaaataatgcgtaattatgccgttacg
+cttgccaaacgttcctgcacaatggcgatgaaatcgcgtaatgccggcttcatctcccct
+ttcttccacgccatcagtaaagcaatggaaggcacatttccggcaatgggacgaaaaaca
+acctgtccggtattaaaattattcatataaccgggtatcaaagtgacgcccagccccatg
+cccaccagattcatggtcaccagaatattcgttgccacctggacgatatttggctggctg
+ttttcttgcgcaaaccacgctttaacgatcggcgcaagcgaaccggaatacaccggatcg
+gtactgacgaaattcacgccatccagttgcgcggcggtgatctctttttcatgtgctaaa
+gggtgatcaaccggtaacacaaccactaatggttcgtcaaaaagctccagataatcaatc
+tccgggctataaacaggatggcgcattaagccgacgtcgagttcaccacggcgaattttt
+tcctcctgttgcgtggtgattaaactcaccagctcaatcaaggtgtctggctgtctgaga
+cgaaacatcggtaatacttttggcagtaaattcacttccgccgatggcacaaagccaatg
+gttaattgtctgtcttcctgaacaattttccgcgcccgtaatttggcattttccgcttgt
+tcgaggattgccagcgcgtcctggagaaaacattctcccgccgccgtcaacgcgactttg
+cgcttatccctcaccagtaacggaacaccgacacagttttcaagatcgcggatctggctg
+cttaacgaaggctgtgaggtatgcagtttttccgccgcacgggtaaagttcagtgcctgc
+gccactgcgacgaaatagcgtaaatgccgtagttccatcaccttccccttgttatcgaaa
+aaacgtctcagctggtagaaattaactatttcacatattagcaaccaaccagcaacatcc
+ttatggcacaaaaatagaaggtcaatacatcttatctttcaggattaaaaaatatgacca
+caccctcagatttgaacatttaccaactgattgacacccaaaatggtcgggtcactccgc
+gtatttataccgacccggatatttaccaactggagcttgagcgtattttcggtcgttgct
+ggctatttctcgcccacgaaagccagatcccaaaacccggtgatttctttaacacctaca
+tgggagaagatgcggttgtcgtagtgcgtcagaaagacggcagcatcaaggcgtttctca
+accaatgccgccaccgggccatgcgtgtgagttatgcagattgcggcaacactcgcgcct
+ttacctgcccgtatcacggctggtcttatggcattaacggcgagttgatcgatgtaccgc
+tggaacctcgcgcctacccacaagggttgtgtaaatcccactggggactaaacgaagttc
+cttgtgtggagagttataaagggctaatttttggcaactgggataccagcgcaccgggcc
+tgcgtgattacctgggtgacattgcctggtatctggatggcatgctggatcgtcgcgaag
+gcggcaccgaaattgtcggcggcgtacaaaagtgggtgatcaactgtaactggaaattcc
+cggcagagcagttcgccagtgaccagtatcatgctctgttcagccatgcttctgccgttc
+aggtattaggggcgaaagatgatggcagcgataagcgcctcggtgatggacaaaccgccc
+gcccggtgtgggaaaccgccaaagatgcgctgcaatttggtcaggacggtcacggtagcg
+gtttcttctttactgaaaaaccggatgctaatgtctgggtcgatggcgcagtttcaagct
+attaccgcgaaacctatgccgaagcagaacaacgtttaggtgaagttcgcgccctgcgcc
+tggcgggtcataacaatattttccccacgctttcatggctaaacggcactgccacactcc
+gcgtctggcatccgcgcggccctgatcaagttgaagtgtgggcgttctgtattactgaca
+aagccgcctccgatgaagttaaagccgcttttgaaaacagcgccactcgtgcttttggtc
+ctgctggttttctcgagcaggatgactcggagaactggtgtgaaatccagaaattgctta
+aaggccaccgcgcccgcaacagcaaactgtgtctggaaatggggcttggtcaggaaaagc
+gccgcgacgacggcattcctggcattactaactatatcttttcagaaactgccgctcgtg
+gaatgtaccaacgctgggccgatcttctgagtagcgaaagctggcaggaagtgctcgata
+aaaccgccgcttaccagcaggaggtgatgaaatgagtgcgcaagtttcactagagttaca
+tcaccgcattagccagtttctctttcacgaagccagcttactggacgactggaaatttcg
+tgactggctggcgcagctcgacgaagagattcgttacaccatgcgcaccacagttaacgc
+gcaaacacgcgaccgccgcaaaggcgtccagccaccgacaacctggatttttaatgacac
+caaagaccagctggagcggcgaatcgcccgtctggaaacgggcatggcctgggcagaaga
+gccgccgtcacgcacccgtcacttaatcagcaactgccagataagcgaaaccgacatccc
+aaacgtatttgctgtgcgggtaaattatctgctttatcgggcacaaaaagagcgcgatga
+aacattctatgttggaacgcgtttcgacaaagttcgccgtctggaagatgacaactggcg
+cttgctggaacgggatatcgtcctggatcaagcggtaatcacttcccataacctgagtgt
+actgttctgatgaatcgaatttatgcgtgtcccgttgcggatgtgccggagggtgaggct
+ctccggatcgatacctcgcccgtcatcgccctgttcaacgttggcggcgagttttatgcc
+attaacgatcgttgcagccatggtaatgcgtcaatgtcagaagggtatctggaagatgac
+gccacggtggagtgcccgctacacgccgccagtttttgcctgaaaacggggaaagcgtta
+tgcctgcccgccaccgatccgctcaccacttatccagtacacgttgaaggtggtgacatt
+ttcatcgacttaccggaggcgcagccatgagcgatctgcataacgagtccatttttatta
+ccggcggcggatcgggattagggctggcgctggtcgagcgatttatcgaagaaggcgcgc
+aggttgccacgctggaactgtcggcggcaaaagtcgccagtctgcgtcagcgatttggcg
+aacatattctggcggtggaaggtaacgtgacctgttatgccgattatcaacgcgcggtcg
+atcagatcctgactcgttccggcaagctggattgttttatcggcaatgcaggcatctggg
+atcacaatgcctcactggttaatactcccgcagagacgctcgaaaccggcttccacgagc
+tgtttaacgtcaatgttctcggttacctgctgggcgcaaaagcctgcgctccggcgttaa
+tcgccagtgaaggcagcatgattttcacactgtcaaatgccgcctggtatcctggcggcg
+gtggcccgctgtacaccgccagtaaacatgccgcaaccggacttattcgccaactggctt
+atgaactggcaccgaaagtgcgggtgaatggcgtcggcccgtgtggtatggccagcgacc
+tgcgcggcccacaggcgctcgggcaaagtgaaacctcgataatgcagtctctgacgccgg
+agaaaattgccgccattttaccgctgcaatttttcccgcaaccggcggattttacggggc
+cgtatgtgatgttgacatcgcggcgcaataatcgcgcattaagcggtgtgatgatcaacg
+ctgatgcgggtttagcgattcgcggcattcgccacgtagcggctgggctggatctttaag
+gaagcacgatgaaagaaaaaacgatcattattgtcggtggcgggcaagcggcggcaatgg
+ctgcggcctcgctacgccagcaagggttcaccggtgagctgcatctgttttccgatgagc
+gacatcttccttatgaacgacctccactctcgaaatccatgttgctggaagattccccgc
+agttacagcaggtgttacccgctaactggtggcaggaaaacaatgttcatctgcattccg
+gtgtaaccatcaaaacgctgggtcgcgacacacgagagttagtgttaaccaacggcgaaa
+gctggcactgggatcagctttttatagcaaccggcgcggcagctcgaccgctgccgttgc
+ttgatgcactgggagaacgctgctttaccctacgccatgccggtgatgccgccagactgc
+gagaagttctgcagcccgaacggtcagtcgtgattatcggtgccggaactattggtctgg
+aactggctgccagcgccacgcagcgcagatgtaaggtgacagtgattgaactggcggcaa
+ccgtcatgggccgtaatgcaccaccgcccgtgcaacgctatcttttacagcgccaccagc
+aggctggtgtgcgcattctgctcaataatgccattgaacatgtggtcgatggtgaaaaag
+tagaactgacgctgcaaagtggggaaacgcttcaggctgatgtggtgatttacggtattg
+gtatcagcgccaacgagcaactggctcgcgaggccaaccttgatactgccaatggcattg
+tcattgatgaggcttgccgcacctgcgatcccgcgatctttgccggtggcgatgtggcaa
+tcactcgtcttgataatggtgcactacaccgctgcgaaagctgggaaaacgccaataacc
+aggcgcaaattgccgctgccgcaatgttagggctaccgctaccgctactgccgccgccgt
+ggttctggagcgatcagtacagtgataacttacagtttattggcgatatgcgtggcgatg
+actggctttgtcgtggcaacccggaaactcagaaggcgatttggtttaatctgcaaaacg
+gcgtgcttatcggtgcggtcacgctgaatcaggggcgtgagattcgcccaattcgcaaat
+ggatccagagcggcaaaacgtttgatgcgaaactgctgatagatgagaacatcgcgctta
+aatcactgtaaccaggataattagcgaatatctcaatgcctggggcgtggcgaggtgcaa
+gagtgtgtattacgtttaaatcacattatcttgcaaagggattggttatgaacacactac
+gttattttgattttggagctgcccgccccgttttgttattaattgcccgtatcgccgtgg
+tcttaattttcattatttttggttttcccaaaatgatgggctttgacggtacggtccaat
+atatggcctcgttgggcgcgccaatgccgatgctggcagcgattattgcggtagttatgg
+aagtgcccgccgcgatattaatcgtgcttggctttttcacccgtccgctggcggtgctgt
+ttattttctacacgctgggtacggcggtgattggtcaccattactgggatatgaccggcg
+atgcggttgggccaaatatgattaatttctggaagaatgtcagtatcgctggcgcgttct
+tgctattggcaattaccgggccgggggcaatttctctcgatcggcgttaggaaagatgcc
+ggatgcggcgtgaacgccttatccggcatttaataaattacagccactctacccgcaacg
+acatctctgaagttgttgattcccctggtgctagcgcaatgagatcacccccttccgggc
+gatgatgatcatccggcgcatggctcatcggttccagacagaagaaatcaaacgcatatc
+ctttatcaaacgcagggtcggaaacaaagatgaaataacacggtgcaggtggcgtcgttt
+ccatgatgatggcataaccttcctgcggctgctcgatgcgggcctgaccattccatccgg
+caaaaccattgttcacccactggcgcggcaacggcgcgggctggttaaaatccagttcct
+gcggtagctgctcgcaaaactcacccgccagccactgctcccgctccagccagtaaccgc
+tcgcctgtgcctgaatccgcgtttgcggcgacaacggaaaataaggatgccagccggtac
+caaatggcagcgtctctgccccttgattggtgacagagagcgtcaccgtcagcgtatccg
+ccgttaaatgaaacgcctgacttacccgatagtgatagacaccgctgcgatgttcataca
+ccagacacaaactatcatcgctgtgcgagacacattgccactcgcccagccagccatcgc
+cgtgtagatagtgcgcatcccactcaacattcggttgcagttgatactcacgcccctgcc
+agacaaaacgattgccgctcacccggtttgcaaatggcaccagcggaaaacatgaggcat
+cggttgccacaccgctttttttaccaggacgtaagagcggcgtcgtatcgcgccagaagc
+cttcgattacgccgccctggtcagaaacgtccagctttagcgacccgtgggataaggtat
+agatggtcatccgctaactccttaatccgggaagttaatcacaactttcccgcatttgcc
+gctcgccatcagcgcataggcatcacctgcctgttccagcgagaagcgatgggtaatggc
+gttacgcggccacagcttccagtccgtcagatcatgggcgcatttttccatatggaacag
+actggtcacccaggagccgataatccgccgttgatggtgcatcagatcggcgctgacctc
+gaattccacttttccggtttcaccaatgtaaaccacccgtccccagtcagcggtggattg
+cagtgccagcaagcgacctgcggcattaccggaacaatcgagcgcaacatccgcgccacc
+gtgggtgagttcggcgataatctgcggcagaccttcggtggttgctaaatagccgtgatc
+catcacccctaactgttttgccatcgccagacgttccggcagcatatcaacgccgatgat
+ccgttttgcaccgcgacctttcgccagcatcatcgccatcatgccgactggccccagacc
+gaccaccagcacgttatcactgccggaaacttcgccgcgcaaaattccttcatacgctgt
+accaacgccgcaactgataaacgcaccatcttcgtagctcagcgcatccggcaggaggat
+cagatctttttcttccgccagcaagtattcggcatgaccgccgtcacgctgccagccgta
+agccgcttttccttcgccagtacaagaaataggaaaaccgcgacggcagttcgggcaaaa
+accacagccagaaatgtgatacaccagcacgcggtcgccctctttaaaatggcggcagcc
+ttgccccatcgccacaatctgcccgcacggttcatgaccgttgataaagccctggtataa
+cggtttatcgggtgccgccgctgtggcacggtgttgatgatagatatagtggacatcgct
+tccgcaaatcccggaggatttcattttgatcagtacctggttaatccccggcgtcggcac
+cgcaacttcccgcagatcgacggtcgaatttcctggtaaataagctgccagcatcgtttt
+cataaatccctcattaacaatacgattaattttcatccctgccgcacccgcgccaggggc
+gttaaggtttagcgtttcgctttactgcttcgctgggtcagcaagatattcgccagcacc
+gccaccacgatgatgacgccgcgtaccacctgctggaaaaaggagttaataccgagcagc
+accagaccgttaccgattagcgtaatcaccagcacaccaagcaatgtaccgaacagggaa
+ccgcgaccgccggaaagtgccgtaccgccgaccacgaccgcggcgatgacgtcaaactcc
+agaccgtttgcggcacctgcgttaccagaaccgaggcgcgccgccaacaaaatgccggtc
+accgccgctaataatcccgaaagggtaaagataagaatgcgcacccgacgaacgttgatg
+ccgcacaactgcgccgccgtagcattaccgccaacggcaaaaaccgagcgcccgaaggcg
+gttttgcggctgatgaacacaaacagcgcaaacaacacaatcatgatcagcgcggatacc
+ggcacaccgagaaattgtccgcccagccagtccagcacctcgttttcatcaatcggcact
+ggcagtgcgttcgtcataaacagccccattccgcgcagggcgctccacagccccagtgtg
+gcaacgaaacttggtacattaaacacgccgcgcagcaccccggccagcgttcccatcagc
+gcgcctaacagcaacaccagcaggcacgccaccgccagcggaacttcaaattgcagcaaa
+aatgccaggcacaccgagacaaaagccaccatcggcccaacgctgacatcaatttcaccg
+gagataataatcagcgtcatcgcccaggcggcaatcccaatggtggcggcatcgcgcagc
+acgttcatctggttattcaatgagataaagccaggcgcgttcagggagaagaccagataa
+agaatggcaatcaccaccagcaaaccgatctcattaatatggcgactgacaaattgtttg
+agcgagacgctcttgccctgcggcaatggtaatgacgaagcagacatcttcaggttcctc
+ggtaaaattcatcagtgcacagacagaatggcggacatcagctcatccacattgaccgga
+gcgtgaaactcctgcgagaacgtgccgtgctgtaataacaggatgcggtcacacaccagc
+ggcaactcctccacttcactggagataaacaccacgctttttccttcggcagccagctca
+cggacaatacggtaaatctgctgtttggcttcgatatcgacgccgcgcgttggctcgtcg
+agcaacaaaatctggctggcagcatagacccaacgaccgatcaccactttttgctgattg
+ccaccagaaagcgtgccgatgggtgtttcgctactggcggccttgaccgtcatccgctgc
+atcacctcttcggtcaggcggcggatggtggaccattgcagcacaccgttggcgctgatt
+ttttgccgattggtcagcactgtattttcgtcaacgcccaaccagggaatgatccccgct
+tctttgcggttttctggcgtatagccaatgccgcgtttcagcatgtcgccgtaatcgggg
+cgcgtgattttctcgccgttgataacaatttcgccctgttcatactcctccagcccaaca
+atcgccttcagcaattcactgcgccctgcccccagcagaccagcaatgccgagcacttcg
+ccacgacgtagcgtaaaactgatatcctccagcttgggcttatggcgtaacgcacggact
+tccagcacggcctgatccacaatttcctgaggggctaccggcgcaatatcaacgtgatcg
+cgcccgagcatcagcgacacaatatgatgcgtggaggtgttttcgagcatcacatcgccc
+gccacctgaccatcgcgcataacggtggcacaggaggcaatgcggcgaatttcttccatc
+cggtggctgacataaatcaccgccacgcccagtgccgacatctttttcaccgcgctgatc
+accagttcaacttccgcactcgcaagcgaactggtaggttcatcaagaatgaccacgcgc
+ggctcgcccttcatcacccgcgcaatttccaccagctgcttttgcgccgggcttagcgtt
+gaaacaagttgttcaggactaacgtcaacgcccagcgcctgtaagcaacgttgggcatcc
+tgcgccatttgcaggtaatcaatcatgccgttgcggcggggccactgaccgaggcagagg
+ttttccgccactgtcagcccttccaccagacttaactcctgataaaccgcgcgcaccccc
+agttcagcggcacggcgagtcagcgtagcttcgtcaccttccagtcgcgtctcgccaatc
+cagatatcaccgctatccgggcgttcgctgccggtaagcattcgaatgagagtcgatttg
+cccgcgccgtttttacctaacagcgcacgaacttcgcctttattgagcgtgaagttaacg
+ttatccagcgcaacgacgccgggataacgcttatttcctgccaccacttttgctaccggg
+actgcctctgttgccgtgaacatagggacctctgcgaatcagcgattagggcagaccatc
+aacgtgcgttgccagccactgtttaccgtcttccgttttggtatagagatcgataggcac
+ctgaatcactttttcaccgtcggcttgtttattgataaccttcaatgtttgcgcgaaaac
+agcattgcccattttcttaccggaaatatccactaccgctttcagcacctgattgttttc
+cagctcctgagcaatttcggttgtcatatccgaaccgaaaacagcaatttttccggcctg
+attttgattacgtaccgcttttaccgcgccgagtgtcgcaccgcccgattcccccataat
+ggcgttgagatccggcgtggagataattagtttttcaccaacggaaatcgctttatctaa
+aacagtcccttcctgattagcgacaatttgcgcgccgggaacgcgggattttaaaacttc
+ttcaaatcctttacgtcgctgcacacaaacttcaaaggcttcgcaattgatgacggcaat
+tttcggctggtcaattttattggcaataaaataatcagcggcagcgttacccagtttttt
+accaaattccagcggatcgccgaccagatacgccgagacatatttatcgacccccttttg
+attaatacaggtgttgtagcaaatcaccggaatgcccgcttcactggcgcgacgaacggt
+acggctactgccattttcagacactgccgataaaataatggcatcgacattacgcgccac
+gagggtatcaacaaaggtactttctttcgaaatatcaccctgggcgttagtttctattaa
+ctgaacttgtactgaggaatcttttgccgcatcctgaacgccctgacgcactccagcgta
+gtatccctgagtatcaaggtatattgcgccaatggtcatttctttttccgcagccctggc
+aaatagtgcgctacctaatagcgtagccattaataatagattacgggttgttctcatttt
+tgtaggcatagagcctcctgtagggtttttattaacaacggcttattctaattattttgt
+gatgagcggcagcgcgtgccgctcaaatattacagttaatagggtttagtgaacgcggtt
+aaaaataaaaggcatcacggtggtgaataatgccgctttcggccaagccggattaatcgc
+cgtcaattcagcgcgagcagactcatattgcgcaacctccccgagtcccgcggacgccag
+catcgccaccatcaggcatttttctttatgctgctgttgtaaatcgccatacagcgacaa
+caagtcaggttgcgagacggcaaagaaatccgcttcgatactggttttcgccatctcttg
+cgcccactgtttcatttcactaaacagttgctgtgcggtttgttgttcgcccagcagtcg
+cagcgccatcccttgccagaagagataatcaaccggctgatcgttgtaataactgtgaat
+gttaatagtgcgatcgccggtcgccgccagacgtaaacaacgcgtcgcttcagtttcatc
+gccctgcgcgttggcgcatatcgcctgccagaaccagatgtcgttatcagtttgccccgg
+taaacggccttcgcttaaattctccggataatgcagcgcggcatgaagcagttcgcaggc
+ctgctgcggctgtctggcatcaagatgctgccaggcgcgtaataactggttgaggataaa
+ctgactggtgaccttcccttccccgccttcccacgggtggaatttgcgcgtggcgagaat
+gtccgccgctttgtctgcctgacccgtgagatgccacaaattgagcagttctgcggtcat
+gtcgtcgcgtttcagcgcaatttccagattattttccagacgcgccagtcgtttctccgg
+tgtggctccacttaacttatccagcaaatcccgttcgaaaagcagacgtgcatcctgcgg
+cgcaagctgataagcattatcaagataacgcgcggccagctcataatcgtgttgcttatt
+ccacgcatggatcgctaacccgcgccagccgtcggcaaactccggcgacatctctacgca
+acgttgccaaaaggcaatggctttgttgtagctacgtttgttgtagtagaagcaagctag
+taaatggcgagcaaaccagcactcttcaatactctccagcgccgccacttcttccagcgt
+attcgggaaacggacaaactgcgggaagacatcaatggcttttgcgaccagttcgccacg
+ttcggctttcggcagcaagctggcttgcaggtaaagcggcagcgtgcgctggcagtccag
+tgcgttcagcatctctgccgccagggtgggcattccccagttaatcagttgcccggcggt
+catcagggcgttaacgtcgcgtccctgacacagaccgcgccactgcgcgagagctgattc
+gctacgaccatcgaaccagttcagccaccacagagtggcgttcagcggataatcgcgcag
+cagtttctcgcgctgcacacgcgcgttgtcctgacgaccacttaacaccagcagcagatt
+atgcaggcaaagcacttcctgattggttgggcaggcgcgaagactttgttggcaaaaatc
+cagaccagcgtcgaagttaccattacgcgccgccagtcgtgccaggccataatagccacc
+ggctttgctgttgccgctccagaccgcacgccagaaatcctcttcggcttgttgatattg
+tccctgacgttcgtaagcactggcgcgaatcaaactcgcctgtccgcactgcggattttt
+gttcagcgcatgtgcgcgtttcagagcctgagtggcatacgccaccgcttgcgggaaatc
+tgcgcggttatattccagcatcgccagcgccaggttacagcgataatccagcgggtccag
+cgccacgccgcgcaggtagtaatcgaacggtgaacggctggcgtgatgatattgctccag
+atgctgaccgataaaccaggcttcatctgtactggtaatgtcttgtgctgccagtggcgc
+tttggcgacgtccggtaacggcaacgcttgcggctgatgttcctgataactcagtacaat
+attgccgtcggcatcggagagctcaatggtcagcctttcaggattgataccgtgcaacac
+gccctggatggcggtcgcaggcatcagtgccacggcatcatcaagtaacgcgttgcattt
+accgatttcgcggatcgccaggcggtatccgttcaacggagagatggcatacagccccca
+ctcaatcccccgcttactacgctggagttttatcaccgcatcgcgggaggcattttgcac
+catgcccaaagaatgataaggcaggaaatactgctcaaaacgcttctcttcgtaagcatc
+aagccaggtaaaatcgggctggttatcggcaaaaataccggtcatcagttcgatatacgg
+gccgttattgtcggtcagactcttatcccacgcctggccaaattcactgtgtccccaact
+ccactgttttttacctggcgcaatatggtggttggcaacgtgcagcaaaccgccatcttc
+atcgtgacaccacgcgccgacaaaatcgtactgcgatttttcggccatatatgaggttgg
+aacaggcacatttttatagcgagaaatgtccactccagcggagtagtccactttgtagta
+agtgccggtagcgatggggaaagcggagacggcccgtttgccgtgatcaaacaccgccgt
+tacatccggcgggaagacgctctgatgcccttccccccctttcactgccgggttggccca
+ccacaagaaatgacgcggcgtggcgttcccgttatagacgcggctggcgatttccagcgc
+cgcccggtcagggcgcagggtgaaacctgtcatcacctgtaaaccatgcatcggctccgt
+ttcgcctacccacaccgtctgtgcaccgtcttcatgggcttcgagggtgaaatcaacggg
+cataaaggtggtcgggcgatgatgttgcggccagttaaactcaatcccaccggaaatcca
+cggccccagcagccccaccagcgcaggtttaatgacttcattgtgataaacaaaatcgcg
+ctgtttcactttatcccacgcgcgatgcacccgaccgcccagttccggcaggatcatcac
+tttgatgtagtcgttttccagccacaccgcctgccaggatttcagggttttctgctcgct
+cagcgtatcggtcacgccgtagggataaaccgcgccggacgatccctgataaacgcgatt
+ttccaggaacatgggatgtatatcctgcggcccggtttcataggtcgggatctcaacgcg
+ctcttgccacacttttactggagtcatggtgccctcaatattaacaagacatactgaatt
+aaaagatttgtggcagtgtattgaacaatctggcaatgttttcgcggaataatcacgcaa
+ttaactaaacaaggtttagtgaagatgagagcctgcattaataatcaacagattcgccac
+cataacaaatgcgtgattctggaactgctgtaccggcaaaagcgcgccaataaatcaacg
+ctggcccggctggcgcaaatttcgattccggcagtcagtaatattttgcaggaactggaa
+agcgaaaaacgggtggtgaatattgacgatgaaagccagacgcgcgggcatagtagcggt
+acatggctgattgcgccggaaggtgactggacgctgtgcctgaacgtgacgcccaccagt
+attgagtgtcaggttgctaatgcttgtttaagtccgaaaggtgaatttgagtatttacag
+attgatgcaccgacgccgcaggcgctgctgtccgaaatcgaaaaatgctggcatcgccac
+cgtaaattgtggccggaccataccatcaacctggcgttggcaatccacggtcaggttgat
+cctgtgaccggcgtgtcgcaaaccatgccgcaagcgccgtggacaacgccggtggaggtg
+aaatatctgctggaagagaagctcggcattcgggtgatggtcgataatgactgcgtgatg
+ctggcgctggcggagaaatggcaaaataattcgcaggaacgggatttctgcgtgatcaac
+gttgattacggcattggctcgtcgttcgtgattaacgagcaaatttatcgcggcagtttg
+tatggtagcggacagattggtcacaccatcgttaatccggatggcgtcgtctgcgactgt
+ggacgttatggctgcctggaaactgtcgcctcgttaagcgcattaaaaaaacaggcgcgg
+gtatggctaaaatcacaaccggttagtactcaacttgatcctgaaaaactgactacagcg
+cagttaatcgctgcctggcaaagtggagaaccgtggatcaccagctgggttgatcgctct
+gccaatgccattggtttgagtctgtataacttcctcaacatcctcaatattaatcagatt
+tggttgtacggtcgcagttgtgcctttggtgagaactggcttaatactattattcgccag
+acaggatttaacccgttcgaccgcgacgaaggaccgagcgtgaaagcgacgcaaattggc
+tttgggcaattaagccgcgcacaacaggtgctgggaattggctatttgtatgttgaggcg
+cagttacgacagatttgatggcgcgataacgtagaaaggcttcccgaaggaagccttgat
+gatcataaacgaaaaattgcctgatgcgctacgcttatcaggcctacacggagattgcaa
+tatattgaatttgcaaagttttgtaggccggataaggcgttcacgccgcatccggcatga
+acaacgagcacattgacagcaaatcaccgtttcgcttatgcgtaaaccgggtaacgtgcg
+cagatgtcgagaactttacctttgatgcgctcgataacggcttcatcattgatgctgtcc
+agcacgtcacacatccagccagccagttctttcgcttcggcttctttaaagccgcgacgg
+gtaatcgccggagtacctacacgaataccggaggtcacaaacgggctcttcggatcgttc
+ggtacgctgtttttgttgacggtgatgttagcacggcccagagcggcgtctgcttcttta
+ccggtcaggtttttatcaaccagatcaaccaggaacaggtggttatcagtgccgccggaa
+accactttgtagccgcgctcgaggaacacttctaccatcgctttagcgtttttagcgacc
+tgctgctggtaagttttgaactcaggctccatcgcttctttcagagcaaccgctttaccg
+gcgattacgtgcatcaacggaccgccctgaccaccagggaaaacggcagagttcagtttt
+ttgtacagctcttcgctaccacctttcgccaggatcaggccgccgcgcggacccgccagg
+gttttgtgagtggtggtagtaacaacgtgagcatgaggaaccgggttcgggtagacgcca
+gcagcaaccaggcccgcaacgtgcgccatatcaacgaacaggtaagcaccgatgctgtca
+gcgatttcacgcattttcgcccagtccaccacgccggaatatgcagagaaaccaccgata
+atcattttcggcttgtgttctttggcttgtttttccagatcggcgtagtcgatatgaccg
+gtagcatcgataccgtaaggaacgatgttgtacagtttaccggagaagttaaccggagaa
+ccgtgagtcaggtgaccgccatgcgccaggttcatacccagaacggtatcacctggttcc
+agcagcgcggtgtagaccgcaaagttagcctgggagccggagtgcggctggacgttagcg
+tagtcagcgccgaacagttctttcgcacgatcgatcgccagttgttcaacgatatcaaca
+tactcgcaaccgccgtagtagcgtttgcccggataaccttcagcatatttgttggtcagc
+tgagaaccctgcgcctgcattacgcgcgggctggtgtagttttcggaggcgatcagttcg
+atgtgctcttcctgacgtactttttcctgctccatagcctgccacagttcggcatcataa
+tcggcaatgttcatttcacgctttaacatccgcatctcctgactcagctaacaataaaat
+ttttggcctttataggcggtcctgttggacaacggcgaacagtataaccgaatcattgtg
+cgataacaggtcttgacaaaggaatttacgcaaacgattaccttcaggctacgcaaggct
+ttggagaataaagagcttgcaaccggaaacggatttcttttcaggtttgtgatgcaaatt
+tttcacttcatcacattctttctgaaaaacaccaaagaaccatttacattgcagggctat
+tttttataagatgcatttgagatacatcaattaagatgcaaaaaaaggaagaccatatgc
+ttgacgctcaaaccatcgctacagtaaaagccaccatccctttactggtggaaacggggc
+caaagttaaccgcccatttctacgaccgtatgtttactcataacccagaactcaaagaaa
+tttttaacatgagtaaccagcgtaatggcgatcaacgtgaagccctgtttaacgctattg
+ccgcctacgccagtaatattgaaaacctgcctgcgctgctgccagcggtagaaaaaatcg
+cgcagaagcacaccagcttccagatcaaaccggaacagtacaacatcgtcggtgaacacc
+tgttggcaacgctggacgaaatgttcagcccggggcaggaagtgctggacgcgtggggta
+aagcctatggtgtactggctaatgtatttatcaatcgcgaggcggaaatctataacgaaa
+acgccagcaaagccggtggttgggaaggtactcgcgatttccgcattgtggctaaaacac
+cgcgcagcgcgcttatcaccagcttcgaactggagccggtcgacggtggcgcagtggcag
+aataccgtccggggcaatatctcggcgtctggctgaagccggaaggtttcccacatcagg
+aaattcgtcagtactctttgactcgcaaaccggatggcaaaggctatcgtattgcggtga
+aacgcgaagagggtgggcaggtatccaactggttgcacaatcacgccaatgttggcgatg
+tcgtgaaactggtcgctccggcaggtgatttctttatggctgtcgcagatgacacaccag
+tgacgttaatctctgccggtgttggtcaaacgccaatgctggcaatgctcgacacgctgg
+caaaagcaggccacacagcacaagtgaactggttccatgcggcagaaaatggcgatgttc
+acgcctttgccgatgaagttaaggaactggggcagtcactgccgcgctttaccgcgcaca
+cctggtatcgtcagccgagcgaagccgatcgcgctaaaggtcagtttgatagcgaaggtc
+tgatggatttgagcaaactggaaggtgcgttcagcgatccgacaatgcagttctatctct
+gcggcccggttggcttcatgcagtttaccgcgaaacagttagtggatctgggcgtgaagc
+aggaaaacattcattacgaatgctttggcccgcataaggtgctgtaatttgatgttgccg
+gatggaaacatccggcaacccttgacgcggtttaaattgccgcgtcgtcctcttcaccgg
+tacggatgcgaatgacccgtgccacgtcaaagacgaagattttaccgtcaccgattttgc
+cggtttgcgccgtgcgaataatggtatcgacacaggtatcgacaatgtcgtccggtacga
+caatctcaattttcactttcggcagaaaatccaccatatactccgcgccgcggtacagct
+cggtatggcctttctggcgaccaaagcctttcacttcggtcaccgtcatgccggtaatac
+cgacttcggccagtgcttcgcggacatcgtccagcttgaagggttttataatcgcatcaa
+tctttttcatgctattccttgaaaaggtcgcctgtcttttgatctgctaaacgtaacaca
+taacgccaattcattccttgaaatcgtttgcatccagctcgtgtcgggaaagcagtttat
+aaaattctgtccggttgcgccccgccattctcgccgcgtgggtgacgttgcctttggtga
+tttgcagcagcttacgcaaatagttgagttcaaactgattacgtgcctcaacaaaggttg
+gcagcgccgtattttcaccctccagcgcctgctccaccagcgcatcactaatcaccggag
+atgaggtcagcgccacgcactgttcaatcacgttgaccaactggcgcacattacccggcc
+agctcgcggtcatcaggcgtttcatcgcatcggtagagaacgcgcggacaaacggtttat
+gtcgctctgccgcctggcgcaacaggtgatttgccagtagcggaatgtcttctgtgcgct
+ccgccagtgccggaattttcaggctgacaacgttgaggcggtaatagagatcttcgcgga
+attccccgcgcgccatcgcttttggcagatcacggtgagtggcagaaataatccgcacat
+tgatatcaatatcgcggttactgcccagcgggcgcactttacgctcctgcaacacgcgca
+gcagtttgacctgtaacggcgcaggcatatcgccaatttcatcgagaaatagcgttccgc
+cttccgccgcctggaataaaccttcgcgattgctgacagcgccagtaaacgcgccacgcg
+catgaccaaacagctccgactccagcaattgctcgggcaatgcgccacagttaatagcaa
+taaatggtttgctgttgcgcgggctggcgttgtggatagcctgggcgaaaatctctttcc
+cggtgccgctctgaccgttaatcaaaacgctgacgtctgattgcgccaccagccgcgcct
+gttccagcaaacgcagcatcagcgggctgcgggtgacaattgcctcgcgccagcgttcat
+cggtggctggcgcggattgctccagcgcatcgtcaattgcctgatatagcgcgtctttgt
+cgacaggcttggtgaggaaactaaaaacgccctgctgtgttgcagcaacggcatcgggaa
+tagaaccatgcgcggtaagaataattaccggcattcccggctgcactttctggatttcag
+caaacagctgcataccgtccatttcatccatccgcaggtcgctgatgactaaatctactt
+tttcgcgattcagtacccgtaatccttcagcgccactttccgccgtgaccacactgtagc
+cttcgctggtcaggcgcaggccaagcagtttcagcaatcccggatcgtcatcgaccaata
+ataaatgcgcaggtttatggctcatcaggagtgacctcatgggtggatggcgcgggcttt
+tcactctcgtgcggcgtatccggcgagaaatttccagccggtttgcgggtcgagagctgg
+cgttcaatatcggtcaggttttccagcttgcgggtggtgagttccagttgctgctgtaga
+acgtgatgttgctggcgcaatgtatccagctcgctgtcgctggactgctggagtttactg
+taacgttggcgctcttccgccagttgcagttgcagcgcctgaccatcgcgccagagttga
+tacagtgggcgaacctgtgccgggatctcggtacttaacgcttcaatacgcgcgaccagc
+tggcggcgctcatacggcgtaattttggcgtcggcgagcaaaatcccttgtttaaaggta
+ttttgccagctgccgtcgtcatattggcgagcttgctgacgcgactgcgcaggcattaaa
+cgatcagcacaatccatcgcccgcagccagtaaagcggattggtttcggttgatttacct
+tgcagcgcccagatgtcgctacattcagtagaaagatagtcagccagttgataaaccgga
+attttttcttctgctggcgtatcaatggctggcttattgtgattctgcacgcaacccagc
+aatgccagacatggcagccctgccagccacagccgtcggggcaataatcgttgaaaaatg
+tgtcgcatattcaccagacttaaagcctatcccagtgggcgtaattgttgcagacagtct
+ggacatggacagcgcggagaaaccggagcgtacatatcgtacgtgaagatttcgagcact
+gcccggggccgaactgacaaataaaatagcctgataggataggctgttagcattatttcg
+tgtttttcgacgacggtaattcaatgcggaaacaaacgtcttgcccgctctcgtcgacca
+gatacagttccccttgcatacggcgaatacaatccctggcaatgcttaatcccagaccgc
+tgcccttcaccgccccttttcgctggtggcttccctgaaaaaagggttcgaagatcatgg
+cgcgttcctcttgcggaatgggcgtgcctgtattgatgacatcaatataaacccgcgcac
+catgtaaactgctgcgaaggcaaatgttaccggattcagccccgtagtgcaccgcattgg
+agtaaagattatccagtacgctcatcagcagcattggctccgccaggcaagctgttgctt
+tgagatcgacgtcggtatgcatcattttagcccgtgcgggcaggctatgagcagaaacca
+ctgtctccaccagcggtgctaactcaacattctccagttccaccgcactgtccgcctgtt
+tacggttgtaatcaagcagttgttcgatcagtttttgcaaattgcggctgctgctatcaa
+gaatgctcaccacctctttttgctctggcgtaagcggcccgacaacctggtcagccagta
+attcagtgccctcgcgcatactcgccagtggcgtttttaattcatgagataaatgtctta
+aaaattgatggcgttgggattccagccatgacaggcgctcacttaaccaaagaatacgtt
+gcccaaccgagcgtaactcgctcggtccactgaacgagacgctattgcccagagaacgcc
+cttcccccagacggttgatcatgcgctcgatatttttcaccggcccgataatcatccgcg
+tgaaaagcagtaccattaccagactcaccagaaatagcaccagcgattgccaaccaaaat
+attgcccacgttcggcgatttcacgctgaagctgctgcccacgagagaacaccactgtgc
+gcgtggcctgtaccatttcggtattggcactggcaaaggcttcaagacgtgcggcggcgg
+cagcatcgggaccgctgttgttacactgaagttgagccagattgtgcaaatcctgacgta
+atgcctggtagagtttatcgtccggcagcacgcctgcgtgggcatcgagcatttcgctgt
+aacgcttgcgctggctttgataaaccttcgccagggttgggtcgtccagcacgcaatact
+gacggtaactacgctccatctccagcgccgcgttggtcatcgcttcactgcgccgggcat
+caataagcgtagtgcggttaaccagcgccgcctgatcgctaagcgcattcaggctttgcc
+aggcttgccatgccagcaccaacaggggcagcagaatcagcaaaaatgccagcattacca
+gttgtcgtaatgagcggggaaaaacgggccagcgtttcaaggtgttactctcgtcagacg
+cgaatagcctgatgctaaccgaggggaagttcagatacaacaaagccgggaattacccgg
+ctttgttatggaataaggcggtgcctaactcgacgtttcgcccgatggttgatatagcta
+cgctgatatcagaagttggacggcaggcaccttgttgtgcgtcattcgtattttatgtag
+cacgtcccgaaggggctgacataagtcggtgaatgagccactggttactattatgcagta
+actgtgccaataaagaaaatagtttggtaacgtactgattatacgttgctttgaggggtt
+tatgtctcctccgctgtttgaatgtaaatcagccactgtgtcgctaaaaagagacaactt
+aagataaacttattagataatattaaaatcaatgagttaagtgtcgccagaaagcgacac
+ggcaaaccacccattgtcgtgatttacagacacaaaaaagctcccggagttgggagctta
+tgatagtggttggtgcttaatgccgcatccgggctgcaaaaccaatgggctgacgactta
+ccccaactgcttacgcgcattgcggaaaatgcgcatccatgggccatcctcgccccagtt
+ttccggatgccaggagttgctgacagtacggaaaacacgttccgggtgcggcatcataat
+ggtgactcgaccactttcagtcgtgactgccgtaataccgttcggtgaaccgttcgggtt
+agccgggtaggtttcagtgactttgccgaagttatcgacatagcgcagtgccaccagccc
+tttgctttccagtgccgccagatgcgccgcatcacgcacttccacgcgcccttcaccatg
+agagacagcaatcggcatttgcgagcccaccatcccctgcaacagcagagacgggctttg
+ggttacttcaaccaggctgaaacgcgcttcaaagcgatcggaggtattgcgcacaaaacg
+tggccacaactcactacctgggatcagttcacgcagattagacatcatctggcaaccgtt
+acatacccccagcgccagcgtttgcggacggtggaagaaggttgcaaactcatcgcgtac
+acggtcattgaacaggattgacttcgcccaaccttcaccggcacccagcacatcaccgta
+ggagaaaccaccgcacgcgaccagggcgtggaaatcttccaggcccgtgcgtccggtcag
+caggtcactcatatgcacgtcgatagcatcaaagcctgcacggtggaaagctgccgccat
+ttcaacatgcgagttcacgccctgctcacgcagtacggcaactttcggacgtgcgccagt
+ggcaatatacggtgctgccacatcttcgttgatatcgaacgacagttttacattcaggcc
+cggatcggcgtcgttagatttcgcctgatgctcctgatcggcacactccgggttgtcacg
+caggcgctgcatctgccaggtagtttctgcccaccagacacgcaacgtggtgcggctttc
+gctgaatacagtctgcccgttggcggtaatcacaaaacggtcaccggaaaccgcctgccc
+tacataatggacacaatcagcaagcccatgctgtgccagtacggactcgaccgcttcacg
+gtcagcggcacgaacctgaatcaccgcacccagttcttcgttaaacaacgccgccaggcg
+atcgtcacccagagtggcgatatccgcgtcaatgccacaatgaccagcaaaggccatttc
+cgccagcgttaccagcaggccgccatcagagcggtcgtgatacgccagcagcttacgctg
+tgcaaccagcgcctgaatcgcgtcatagaagcctttcagttgcgcgacatcgcgtacatc
+tgccggtttgtcgccaagctgacgataaacctgcgccagcgccgttgcgcccagcgcgtt
+attgcctttgcccaaatcaatcagcagcagtgcgttatcttcggtagaaagctgcggcgt
+gatggtgtgacgtacatcttccacgcgggcaaatgcagaaatcaccagcgacagcggcga
+cgtcatttcgcgctcttcgttaccttcctgccagcgggttttcatcgacatggagtcttt
+acccaccgggatcgtcaggcccagcgccggacaaagctcttcgcccacggctttaacggc
+ttcatacaggcccgcatcttcaccagggtggcctgccgccgccatccagttggcggaaag
+tttgatgcgtttgatatcgccaatttgtgttgcggcgatgttggttaacgcttcaccgac
+cgccagacgggcagaggcggcgaaatccagcagcgcaaccggcgcacgctcgccaatcgc
+catcgcttcaccgtagtagctgtcgaggctggcggtagtgaccgcgcagttagcgaccgg
+cacctgccacggccccaccatctgatcgcgcgctaccatgccggttacgctgcggtcgcc
+aatggtcaccaggaaggttttttccgccacagtcggcagatgcagcacacgtttcaccgc
+gtctgcaatggtgatcccttcacgggccagcgcgtcgcctttcgctttcagcgtttgtac
+atcgcgggtcatcttcggcgttttaccaagcaggacgtccagcggcagatcgatcggctg
+attatcaaaatgacgatcgtgcagagaaagatgcagttcttcggtcgcttcaccaatcac
+cgcgtagggtgcgcgctcacgcttacacagttcgtcaaacagcggtaattgatcggcagc
+aaccgccagcacgtagcgttcctgggattcgttacaccagatttccagcgggctcatgcc
+cggttcgtcgcttagaatctcgcgcagttcaaatttaccgccgcgcccgccgtcgctcac
+cagttccggcatggcgttagaaagaccgccagcgccaacgtcgtggataaacaggattgg
+gttggcatcaccaagctgccagcaacggtcgatcacttcctggcagcgacgctccatctc
+cgggttgtcgcgctgtacggaagcaaagtcgaggtcggcatcagactgaccagacgccat
+agaagacgctgcaccaccgccaagaccgatgttcattgccgggccgccgagaacgaccag
+cttcgcaccgacgttgatctcgcctttttgtacgtgatcggcgcgaatgttgccgatccc
+gcccgccagcatgatcggtttgtgataaccgcgcagctcttcgccgttgtggctgttcac
+tttttcttcataagtacggaagtagccgttcagtgccggacgaccaaattcgttgttaaa
+cgccgcgccgcccagcgggccttcggtcatgatgtccagcgcggtgacaatgcgctcagg
+cttaccgaaatcttcttcccacggctgttcgaagccaggaattcgcaggttggaaacgga
+gaaaccaaccagacccgctttcggctttgcgccgcgcccggtggcaccttcatcgcggat
+ttcaccgccggaaccggtcgccgcgcccggccacggagaaatcgccgtcgggtggttgtg
+agtttcgactttcatcagaatatgcgccggttcctgatggaaatcgtagcggcccgtttc
+gtggtcagcaaagtagcggcccacttcagaaccttccattacggcggcgttatctttata
+agcagagagaacgtgatctggcgtggtttcgaaagtatttttgatcatcttgaacagcga
+tttcggctgctgttcaccatcgataacccagtcggcgttaaaaattttgtggcggcagtg
+ctcggagttcgcctgggcaaacatatacagttcgatgtcgttcgggttacgaccaagctt
+tgtgaaagcatcctgcagatagtcaatttcatcttccgccagagccaagccaagacgcag
+gttagcgtcgatcagcgcctgacggccctgccccagcaaatcaacgctggtaaccggagt
+cggttgatggtgggcaaacaactgctctgcatcatctaaagcaaaaaagaccgtttccat
+catgcggtcgtgcagttcagcggtaacctgctgccattgttcattggtcagcgtaccggc
+ttctatatagtaagcaacgccgcgctcaaggcggtttacctgttgtagcccgcagttatg
+ggcaatatcggtcgctttcgaagaccagggagagatggtgccaggacgcggggtcaccag
+caggagtttgccttgcggggcgtggctggcgagtgccgggccatatttcagcaggcgttc
+aagttgtgcgtgctcatcatcgtttaacggcgcattgaggtcagcaaaatggacatactc
+ggcgtaaatattgtgaaccgggagcctggcagcctgaaaacgtgccagcagtttgttgat
+tcggaatgccgacagtgcaggcgaaccacgcagaatttccatcataagtctctcgtcttc
+taagctttcggtgtacccaagggggggaaacgggcgtcattataaagaatctgatgcgct
+gacgaaaccgtttgcgtggaaataaaatcaccatcgtgaattagcaacgcgtgccgccaa
+tggctgtaataagttgccatctggcgcaggtttacgcaaaatgccgctcatttatgagta
+aacctttcactattattacgttttttcaagctgggacgcgcacgacacagagaattaact
+aattgaaaaaattaaagattaattatctgttcatcggcattctggcactgctgctcgcgg
+tcgctctctggccatccattccctggtttggtaaagccgacaaccgtatcgccgccattc
+aagcgcggggagagttgcgtgtgagcaccattcatactcccctgacttataacgaaatca
+acgggaaaccttttggcctggattacgaactggcgaaacagtttgccgattacctcggcg
+taaaactgaaagtgaccgtgcggcagaatatcagccagctgtttgacgaccttgataatg
+gtaacgccgacctgctggcggcaggacttgtctataacagtgagcgggtaaaaaattatc
+agcctggccctacctattattccgtgtcacaacaactggtttataaagtgggtcagtatc
+gcccacgtacgctgggcaacctgacggcggagcaactcaccgttgcaccgggtcatgtgg
+tggttaacgatctccagaccctgaaagaaacaaaattcccggaattaagctggaaggtag
+acgacaaaaaaggctctgcggaattaatggaagatgtcatcgaaggaaaactcgattaca
+ccattgctgattctgtcgccatcagcctgtttcagcgcgttcacccggagctcgccgtag
+cgctcgatatcaccgatgaacaaccggtgacttggtttagcccgttagatggcgataata
+ccctttccgccgccctgctcgacttcttcaacgaaatgaatgaagacggtacgctggcac
+gcattgaagagaaatacctggggcatggcgatgattttgattacgtcgatacgcgcacat
+ttttacgcgccgtcgatgcggtactgccgcagttaaagcccctgtttgagaaatacgccg
+aagaaattgactggcgtttgctggccgctattgcttatcaggaatcgcactgggatgcac
+aggccacttcaccgacgggtgtgcgcggcatgatgatgttaaccaaaaataccgcgcaaa
+gcctcggcattacggatcgtaccgatgccgaacagagcatcagcggtggcgtgcgttatt
+tgcaggatatgatgagtaaagtgccggaaagtgtgccggagaacgagcggatctggtttg
+ccctcgctgcgtacaatatgggctatgcgcatatgctggatgcccgcgccctgacggcaa
+aaaccaaagggaatcctgacagttgggctgacgtaaaacagcgtctgcctttacttagcc
+agaaaccctattacagcaagctgacttacggctacgctcgtggacatgaagcctacgctt
+atgtcgaaaatattcgtaagtatcagattagcctggtgggttatctgcaagagaaagaga
+agcaggctacagaagcggcgatgcaactggcgcaggattatccggcggtatcgcctacgg
+agttgggcaaagagaaatttccttttctctcgtttctttcccagtcgtcatcaaactatt
+tgacccattctccctctctgctgttttccaggaaagggagtgaagagaaacaaaattaat
+ccgtcgaggattgcgcttttttctgcgctttaatttcctggcggcgcatgcgaaagaagt
+cactgagcaacgccgcgcactcatccgccagtattccttccgtaatttccactcggtgat
+tcatacccggatgatgcagcacatccattaaagatcccgcagcgccagttttcgcgtcac
+gcgcaccaaagaccacgcgaccaatgcgactgtggatcatcgctccggcacacattacac
+atggttcaagcgtgacatacaacgtggcgtcgatcagacgataattttgcatcaccagac
+caccctgccgcagggccatgatttctgcatgtgcggtgggatcatggcgaccaatcgggc
+ggttccagccttcgccgattacccgattgttatgcactaataccgcgccgaccggcactt
+cccgctcatcccaggcacgtttcgccagcgtcagcgcgtgacgcatccagtattcgtggc
+taaattcgacttcagacaaaaagaaaactccggttataaaagcgcggcgcattatacacg
+gacgctatgctttactctattccagttgctggagttcaccgcgcggggttactcgccaac
+gatgctgacagaaataaagcagcggattgtcctgattactgtcgctatagccactgtaca
+gccgcagcggagtgccgattttgcgctccagttgtgcgaccttttcatgtcccagacaac
+gcatcgtcaatacccaaccaccatagccacgctgaatttggctggcgataagattaaccc
+gcggcagccagggcgtatcgaaataaaccgcttcaaccagcggctgcggagagccggtaa
+tcaaccagatatcagcatcggaacttaacaggtaggtggttaatcgctcctgaaccagcg
+gaaaggcggtaacattgtcgcgaaaccagcgcacgaaatcggcctgcaacgtctgtaaac
+gtgcttcgctgtgaccaaaagtgcacccccacagaagcagactcatcggccagcgtgccg
+cacgaccttttatcaataacgcaatggctataatcggtaacaacggcaggacaagtaacg
+cattcagcggttggcgacgtagtaaatagcgcagaaaactgccgaacatatcctgctgat
+gcaatgttccatctaagtcaaaaaacaccacacgacgctcgtgagttgccaaaccatact
+cctctggactgaaacatcctgattaattttcgctactacatagcctaacagatagatcat
+cacttttccggcaacaatcgaccgcatcatggctaactggaatttttaattcatggcaat
+tagcggcaatggaatataaaattcactcgcgtgtgtctcatattgcctgttgtcgccact
+atttcatcgcgaggaaagatatgaacggcttacttcgtatccgtcagcgttaccaggggc
+ttgcccagagtgataaaaaactggcggattatctgctgctacaacctgatacggcgcgcc
+atttaagctctcagcaactggccaacgaagccggagtcagtcagtccagcgtcgtgaagt
+tcgcgcaaaaactcggctataaaggttttccggcgcttaagttggcgttgagtgaagcgc
+tggcaagccagccggaatcaccctccgtgcccattcataaccaaatccgcggtgatgatc
+cgttacggctggtcggcgaaaaactgattaaagaaaatactgccgctatgtacgcaacgc
+taaacgttaatagtgaagagaaactgcatgaatgcgtaacaatgttgcgctctgcgcggc
+ggataattctgaccggtattggcgcttcgggtctggtggcgcaaaactttgcctggaagc
+tgatgaagattggcttcaatgctgccgcagtgcgcgatatgcatgcgctactcgcaacag
+tacaggcgtcgtcccctgacgatctgttattagccatttcctacaccggtgtacgacgcg
+agttaaacctggcggcagatgagatgctgcgagtgggcggaaaagtgctggcgattaccg
+gctttactccgaatgccctgcaacagcgtgcttctcattgcctgtataccattgccgaag
+aacaagcgacaaacagtgcttcaatctctgcttgtcacgctcagggaatgttaacggatt
+tgctgttcattgcgctgattcagcaggatctggaactggcaccagaacgtattcgtcata
+gtgaagcgctggtgaaaaaactggtctgagtaaagaatgcgcgtataatgcccgcccggt
+ttgtgttgttttgagagtttccttatggcgttgttaatcactaaaaaatgcatcaattgt
+gatatgtgtgaacccgaatgcccgaatgaggcgatttcaatgggagatcatatctacgag
+attaacagcgataagtgtaccgaatgcgtagggcactacgagacaccaacctgccagaag
+gtgtgcccgatccccaatactattgtgaaagatccggcgcatgtcgagacagaagaacag
+ttgtgggataaatttgtgctgatgcaccacgcggataaaatttaatattctactctggaa
+gtagagtattaattatattactgggaagccttaacgccattatatttatttaattgatga
+cattagcataatcattcactaagttaatttatatagtatctgcccagacacttatttata
+gttattaaaggtgcgtccgactggttcaccggacgcaccttaagtacgtttccttgtgtt
+ataagaacagaaggatcagctgtaaaacagcaatgatgattttgatgacccgtttaatca
+ggtatcggcaatcagtcattcgtttttccttaaacaaggaatgcagccattcagattagc
+ccttacatctccccaaaactgaacgtgcgagttattgagggtgcatgctgcactccacac
+cagagctttgacgacaccactcgtttcaatgggggaattctgtggcatggtgtaaagcac
+agcaaaatcttcaataacgaagccaattttaatgtacttacgaattggcggtcacgttaa
+tctttccatcaatattgctttcttcgtaaaggctcgagtttttatgctaaagattgcaag
+ttgcttgtaaaagataagtacactgatccataatcgctgttgttgagggtgcatgctgca
+caaaattaaagttaaaaagtaaaacccccgttccttaccagttcgggggttttacttttt
+aaagagaacggtattatttttaactttcaataattaccgtggcacaagcatagtgccgct
+catctgccagcgttacatgcatatttgcaacgcccagcttttccgccagttttaatgcct
+cgccccatagccgtagccgtggtttgccgagctcatcattgaatacttcaaattgattaa
+acgccagaccattgcggatcccggtgccaaacgcttttgctgcggcttctttcacagcaa
+aacgcttcgccagaaaacgcaccggctggtggtgcgttttccagatagcccattcgttat
+cgcttaatacgcggcgtgccaggcgatcaccggatcgggcgatcaccgcttcgatgcgag
+cgatctccacaatatccgtgcctaaacctaatattgccattagccacgcgcttccagcat
+cagacgcttcatttctgccaccgcatctttcagtccggtcatcactgcacgaccaataat
+ggcatgaccgatattcagttcatgcatctcagggatggcggcaatggctttcacgttgtg
+ataggtcagaccgtgtccggcgttaactttcagaccgaggcttgcggcaaaggtcgcggc
+tttggcgatacgcgccagctcttgcgcctgttcggcgtcagttttggcatcagcatagca
+accggtgtggatctcgataaacggtgcgccaacctctgccgcagctttgatctgctcttc
+atcggcgtcaataaacagagaaacctgaatcccggcatctgccagacgtttgcaggcatc
+gcgcattttgtcacgctgccctgcgacatccaggccgccttcggttgttacttcctgacg
+cttttccggtaccaggcagcaaaaatgtggcttcgtctcaacggcgatcgccagcatctc
+ttcggtcaccgccatctccagattcatgcgggtatccagcgtctgacgcaggatgcgcac
+gtcgcggtcagtaatgtgacggcgatcttcacgtaaatgcacggtaatgccgtccgctcc
+cgcctgctcggcaataaacgcggcctgcaccggatccgggtaagcggtaccgcgcgcgtt
+gcgcagcgtagcgatatggtcaatgttgacgcctaacagtaattcagccatgacaatcct
+catcattcataatgtgttttcaccgttcgcttaggcataaactgccggaacagttccctg
+ctctttaaaggtttaccgccaagatacggcttaagcgccatgcgggtaaagcgtttcgcg
+gcgcgcagtgtgtctgcgtcaggaaattcccgtgcgtttaacgcttttaactgccttccg
+gtgaacgttttattgtcgataacgacgcttgcgataaaccctttttcttcgcgataacga
+tacgtcatggtgtcatctaccggctcgccgctacccgcacaatgggtaaaattgacgcca
+taacccagatgcccgagcagtgccagttcaaagcggcgcagcgcgggttctggcgtacca
+gtgacccctgcaagagactgaatgcagtgcaagtaatcgaaaaaaagttcagagaagcgc
+gtctcgtattccagtacgcgggagagaagttcgttgatgtacagaccgctgtaaagcgtg
+ataccgcttaatggcagcgccagcgagacggcttcagcactgcgcagcgttttgacttcg
+ccacgcccgccaaaacgtagcaagagaggggtgaaaggctgtaatgcacctttcagggta
+gagcgtttagagcgtgcgcctttggcaaccagacgcacgcgccccgattcctccgtgaag
+acgtccagcatcaggctggtttcgctccacgggcgactatgcaggacaaatgcgcgctgc
+cagccttccatcggagttactcttaaagatcgtcaacgtaaccgagactgcgcagtgcgc
+gttcgtcgtcggcccaaccggatttcacttttacccacagttcaaggtgaacaggcgctt
+cgaacatttcctgcatgtctttacgcgcttcaatcccgatggttttgatcttggcccctt
+tgttgccaatgaccatcttcttctgcccttcacgctcaacgagaatcaaaccgttgatgt
+cataaccaccgcgttcgttagagacgaaacgttcgatctccacggtcacggagtacggca
+gttcagcgccgaggaaacgcatcagtttttcgcggatgatttcagacgccataaaacgct
+gtgagcgatcggtgatgtaatcttccgggaagtgatgagtcgcttcaggtagatgcttac
+gcacgattgccgcaatagtgtcaacattcagcccggtttcggcagagattggcacgatat
+cgaggaagttcatctggcttgccaggaactgcaggtgcggcagcagatcggctttctcct
+gcacgttgtccactttgttcaccgcgaggattaccggcgctttgccttcgcgcagtttgt
+tgagcaccatttcgtcgtccggcgtccagcgggtgccttcaacgacaaaaatcaccagct
+caacatcgccaatagagctgctcgccgctttgttcatcaggcggttaatggcgcgttttt
+cttccatatgcaggcccggtgtatcgacgtagatcgcctgatacgcgccttcagtatgga
+tccccacaatgcggtgacgagttgtctgcgccttgcgggaagtgatggagattttctgcc
+ccagcagtttgttcaacaatgtggatttgccaacgttcggacgtccgacgatggcaataa
+atccgcagtaacttttatcgatgctcattccagctccagttttttcaacgcctgttcggc
+ggcagcctgctcagccttacgacggcttgaacctgtgccaaccaccggttcactcaggcc
+gctgacctggcagtggatagtaaattcctgatcgtgcgcttcgccacgtacctggactac
+cagataagtcggcagcggcagatggcgaccctgcaaatattcttgcaagcgcgttttcgg
+atctttttgtttatcgcctgggctaatttcgtccaaacgagtttgataccagttgaggat
+taatttctcgacggtttgaatatcactgtcgaggaatacgccaccaattaatgcttcgac
+ggtgtcggcgagaattgactcacgacgaaatccaccgcttttaagttcacctggccctaa
+acgtaagcactcgcctaactcaaattcgcgcgccagttccgccagcgtattgccacggac
+cagcgtggcgcgcatccggctcatatcgccttcatccacacgagggaaacggtgataaag
+cgcattggcgataacgtagctcagaatagagtcgcctaaaaattctaaacgctcgttatg
+tttactgctggcactacgatgagttaatgcctgctgcaacagttcctgatgattaaaagt
+gtagcccagcttccgttgaagccgattaattacgatggggttcatgcgataccaataaat
+aaatgcgtcaacaattcagcacacgaaacagacctgatatacatggttctgctaactgct
+tcgctgcagtttcagtttaccggtatatggggaccaacgctgtttcgtgtgccgtggcaa
+cctggaggtgccaaccttaaacttcgggggaatattctatacacaacgacgggggatgtc
+gttagccacgggagatttatctcataaataattcacgttgtcgccataacggcgacaacg
+tgaacgaagatggctattaatggatgccgccaatgcgacttaagcgcagaccagtcggcc
+attcgccttcttgcttatcgaagctcatccagatagccgttgcccgaccgaccagattcg
+cttccggcacaaagccccagtaacggctgtccgcgctgttgtcgcggttgtcgcccatca
+tgaagtattgtcccggaggaacaatccaggttgccagttgttgccctggctgctggtaat
+acatccccacctgatcctgcgcaatcggcactgtcagaatgcggtgcgtcacatcaccca
+gtgtctctttacgctcggaaagacgaattccattttctttggtttcgtttttcggcactt
+caaagaatccgctggtcgcttccccaccattacggcgtgagaaggtctgaacgaaatcgc
+tcggttccacgtttgagtaggtgaccggcagcgcgttttcacacgcctggccggaactgc
+atcccggttgaatcgtcagctcttttgagaccggatcgtaagtgactttatcgcccggta
+aacccaccgcgcgcttgatgtaatcaagctttggatcttccggatatttaaagaccacga
+tatcgccgcgtttcggatgaccggtttcgatcagcgttttctggtagataggatctttaa
+tgccataagcaaacttctctaccagaataaaatcaccaattaacagagtcggcatcatcg
+aacctgacgggatctggaacggttcataaataaacgaacgcacaatcaatacgatagcca
+gtaccggaaaaacagaagcaccggtttccagccagccaggcttcggcgcaacctttttca
+acgttgctttatccagtgagtccccggcagccgcctgcgccgctgcctgacgttcccgcc
+gtttaggtgcgaaaaagaatttatccacgcaccataaaatgcccgtcaccagtgtggcaa
+tcaccagaatcagggcaaacatattcgccatgccaactcctaagggttatttgttgtctt
+tgccgacgtgcagaatggcgaggaacgcttcctgcggcagctcgacgttaccgatctgct
+tcatgcgtttcttaccttctttctgcttctgcagcagctttttcttacggctgatatcgc
+cgccataacatttagccagtacgtttttacgcagctgtttcacggtggatcgcgcaatga
+tgtgcgtaccaatcgctgcctgaatggcgatatcaaactgctggcgtgggatcagatctt
+tcatcttctccaccaactcgcgaccgcggttttgcgaattatcacggtgggtgatcaacg
+ccagcgcatcaacacgttcaccgttgattaatacgtctacacgtaccatgtcggacgcct
+ggaagcgcttgaagttgtaatccagagacgcataaccacgcgaggtagatttcaggcgat
+cgaagaagtcgagcaccacttccgccatcgggatctcgtacgtcagcgccacctgattac
+cgtggtaaaccatattggtctgcacgccgcgtttttctacgcacaacgtaataacgttgc
+cgagatatgcctgcggcagcagcatgtgacactctgcaatcggctcgcgcagttcgtaga
+tgttatttaccgcaggcagcttggatgggctgtcgacgtagataacttctcttgacgtgg
+tttcaacttcatacactacggtcggcgcagtggtgatcagatccagatcgtattcacgtt
+ccagacgttcctggatgatctccatgtgcagcaggccgaggaagccgcagcggaaaccaa
+agcccagcgcgctggagctttccggctcatagaacagtgaggcatcgttcaggctgagtt
+tacccagcgcgtcacggaaggcttcatagtcgtcggaacttaccgggaacagaccggcgt
+atacctgcggtttgactttcttaaagccaggcagcgccttttctgccggattacgcgcca
+gcgttaaggtatcgccgactggagcgccgtggatatctttaatcgcacatacgagccagc
+ctacttcgccacatttcagttcagtgcggtcaacctgtttcggcgtgaagatgcccagac
+ggtcggcgttataggtctgcccggtactcatgactttcactttgtcgcccttacgcaggg
+tgccgtttttaatacggataagtgaaacaacgcccaggtagttgtcgaaccatgagtcga
+taattagtgcctgcaacgggccttccggatcgccttccggcggcggaatgtcgcgcacca
+gacgttcgagaacgtcctgcacaccaacgccggttttcgctgaacagcgcaccgcgtcgg
+tggcgtcgatgccgacgatatcttcaatttcttccgccacgcgttcaggatcggctgccg
+gcaggtcaatcttgttcagtaccggcacaacttcgagatccatttccatggcggtgtagc
+agtttgccagggtttgcgcttctacgccctgcccggcgtcgaccaccagcaatgcacctt
+cacaggcagccagcgaacgggaaacttcataggagaagtctacgtggcccggggtgtcga
+taaagttaagctgataggtttcgccgtcagacgctttgtagtccagcgtcacgctttgcg
+ctttgatggtaatgccacgctcacgctcaagatccatggaatcgagaacctgcgcctcca
+tttcacggtcagacaggccaccgcagatctggataatacggtcagacagcgtcgatttac
+cgtggtcaatgtgagctatgatcgaaaagttacgtatattcttcataaagtatgattatt
+gtgccttaatgcccggttaaccaggcttttagaagtcgctgttctgagcttaacgtctgt
+attaatagaaacgccgcattctacactacaacattgaggcgaggaaatgttcataccgta
+tggattgtggtatctggaaacgtcctcgcatttgttatgcaaaatgcaacaaagccagtg
+aaatcactggctcgcgtcttccgaagatgtttcaaatcgcacaaggccaggcggcaatgc
+cacgcttaagatgatcggttgccattctgcccgggcagcaaacttacgcgagtagccgcg
+cgcaatcaggaacccgccaataccaccgaggatcgcaccacataatgctgcgacgtcaga
+agcaaagagtagctgaaatagcgaagcgataaggaataatcccaccagcggcgacatata
+aaccagtaatgcggagctaagcaggctgccttcggcgatccccaattccactttttgccc
+cggcactaacggctcatcacagggtacgacaatggtatgcgtggtttgcgggccaagttt
+atttaacacgcggctaccgcaaccggcgcgtgaagcgcagctgctgcatgaagctttaac
+atcacaactgaccagcgcctgcccgttttgccaggagacgacggtagcccactctttgat
+cattgcgctgccccgaacttaatattctcggcaatgcgtttcgccgtttgcggcggcagt
+tcaccgacaatggtgatttcggcgttatcacgtacgcttgtactgacggttctgcgtccg
+gtgcgcaacatctgatcggtgctcgatggcgtagcgcggttaacgtttaccgagaagctg
+aataatccgtcggaatagagacgtgattcgataggcatgttgtccatcgtcggtagcgga
+cgtcgactactggaaacttcgctaaaaccctgtggcaaccaggttggcgtccagctgaat
+ttagctttttcacctacaggaacagaaagcaacggcggcaaatttgccttcgccagcgtc
+tgcatactgctgctgatatcctgattgacgttaaaagcaatcacgcgaaattgttccagc
+gtttcaccatcgcgatcaaggagatcaacccgcatcggtaatttcgattcggtgtccatc
+cacacgatgtagctgtagcgtgtaccatctcgggcaaccacgcgaatgacttcgcaaaga
+cgatcagcaatacgcgtgcgcccgacggagataaagtcgtagtaaggagaaaggcgtttg
+aaatcggtatagataagcgatggcagagaatcaacaatgtaatcgccattaagcgtgaac
+ggttcaagtcccggttcaaaatagctgatttcattgccgcgctgtaccacttcccggcgc
+gggccatccatttgcaacaattgtgcaagaggacggttatcgaggcgtgcatgtcgataa
+cgcagagactcaacaccctgtttattgatgctgatgaatgacagctcgtaattcagtgac
+tgactggccaggttcatctgctgtaataacgccccggacgcgggagtggccgaggcgtta
+gcagagaataacaggctacctgtcactaatgacatggcaaaccaaagttgcttcattact
+gcgattgcgttcctaaagtttgaattcctggcacctgtacagcggcttgctgggtttgcg
+cctgctcaaactgaagctgttcagagtggagtcggcgttgcagttcgtaatcctgcaaca
+ttgcattaatgcgacgacgctgctcctgtacctgctgctgttgaccattgtttgcggtcg
+cttcagaaggtactcccaggcttaccgggctggctttacccatcatcggcagtgtattaa
+ataccggcgtttcgggctgctgggacgtttcagattgtccattatagtgctggacgccaa
+cgataactgcaagcgatacgcatgcggctacgcccatttgggtaagctgtgccgcccacg
+gacgtactttctgccagaatggcattttctgccattgatgcggcgcaggctgggcttccg
+ggatcaatgtcgccggttgacgtactggctcttcttcaatggcggccatcacgcgtgaag
+agatatcgaaatggagcacctcgggagtatcaccccgcattgagtcacggattaagtgat
+agctttcccaggttttctgcatttctgggttatgagccagttcgttaagcagctcactat
+ccagcgtttcgccatccattaaagcggaaagttgttctttctgcatgcctaataccctta
+tccagtatcccgctatcgtcaacgcctgataagcggttgaactttgttatcaatagcttc
+cctcgctcggaagatacgtgaacgcaccgtacctaccggacaatccatgatagcggctat
+ctcttcatagctcaggccatccagctcccgcaaggttattgccatgcgtaaatcttccgg
+gagggactcaatagttcggaaaactatctgtctcagttcttctgacaacattaagttctc
+agggttcgaaatttctttcaacgcgccgccactttcgaagttttcagcttcaatggcatc
+cacatcactggaaggtggacgacgcccctgagcaaccaggtaatttttcgctgtatttac
+agcaatccgatacagccatgtataaaaagcgctatctccccggaacgaatccagcgcacg
+ataggctttaataaaagcttcttgtaccacatcgggaacatcacccgacggcacatagcg
+ggaaaccagactcgccactttatgctgatagcgcactaccagtaagttaaaggctttctg
+atctcccttctggacccgttcaaccaggacctggtccgttaactgctcgctcatccgagg
+taaagtctccccaaaccaaatttccacgcgctatcgaaacgccactccattagctgcaat
+ttgagcaagcaaagggttagagtgtctcgtttttgtaaagttccgtaacgcatctgtttt
+tgtttgtcatgctgtagacggatcattatctatcattataagtctacagaatctgaacat
+cgcattatctgtgtagaaatgcccatttaactgcctgaagagtaacccaacggccttttt
+atttcaccacctaatcctccaccagccagtaacttctctttttctcgccgccctgcgtca
+gcgtgtttagcaactgtaacaaatattaaaatagcaggtgtttatccgcacaacatgatg
+ctatgctgaccaaaccatgtttagtaaattaaacaaagaaaatgaatactctccctgaac
+attcatgtgacgtgttgattatcggtagcggcgcagccggactttcactggcgctacgcc
+tggctgaccagcatcaggtcatcgttctaagtaaaggcccggtaacggaaggttcaacat
+tttatgcccagggcggtattgccgccgtgtttgatgaaactgacagcattgactcgcatg
+tggaagacacattgattgccggggctggtatttgcgatcgccatgcagttgaatttgtcg
+ccagcaatgcacgatcctgtgtgcaatggctaatcgaccagggggtgttgtttgataccc
+acattcaaccgaatggcgaagaaagttaccatctgacccgtgaaggtggacatagtcacc
+gtcgtattcttcatgccgccgacgccaccggtagagaagtagaaaccacgctggtgagca
+aggcgctgaaccatccgaatattcgcgtgctggagcgcagcaacgcggttgatctgattg
+tttctgacaaaattggcctgccgggcacgcgacgggttgttggcgcgtgggtatggaacc
+gtaataaagaaacggtggaaacctgccacgcaaaagcggtggtgctggcaaccggcggtg
+cgtcgaaggtttatcagtacaccaccaatccggatatttcttctggcgatggcattgcta
+tggcgtggcgcgcaggctgccgggttgccaatctcgaatttaatcagttccaccctaccg
+cgctatatcacccacaggcacgcaatttcctgttaacagaagcactgcgcggcgaaggcg
+cttatctcaagcgcccggatggtacgcgttttatgcccgattttgatgagcgcggcgaac
+tggccccgcgcgatattgtcgcccgcgccattgaccatgaaatgaaacgcctcggcgcag
+attgtatgttccttgatatcagccataagcccgccgattttattcgccagcatttcccga
+tgatttatgaaaagctgctcgggctggggattgatctcacacaagaaccggtaccgattg
+tgcctgctgcacattatacctgcggtggtgtaatggttgatgatcatgggcgtacggacg
+tcgagggcttgtatgccattggcgaggtgagttataccggcttacacggcgctaaccgca
+tggcctcgaattcattgctggagtgtctggtctatggctggtcggcggcggaagatatca
+ccagacgtatgccttatgcccacgacatcagtacgttaccgccgtgggatgaaagccgcg
+ttgagaaccctgacgaacgggtagtaattcagcataactggcacgagctacgtctgttta
+tgtgggattacgttggcattgtgcgcacaacgaagcgcctggaacgcgccctgcggcgga
+taaccatgctccaacaagaaatagacgaatattacgcccatttccgcgtctcaaataatt
+tgctggagctgcgtaatctggtacaggttgccgagttgattgttcgctgtgcaatgatgc
+gtaaagagagtcgggggttgcatttcacgctggattatccggaactgctcacccattccg
+gtccgtcgatcctttcccccggcaatcattacataaacagataaaaagcctgggtcagcg
+ccgtatacgcttcggaatagttctggtctggcccacgaatgactaagcgatcgctaaagc
+attctcccgcctgcggggagaatgccagcagcacccgatgcggcagtcgcgcttcgtttt
+ccgccacatccgtccgcaaacgtaaatgccagcccatgcttaatgccagctccgtaaaac
+cattaccaatctgctctggcagcactacgcagaaaaatccctcttcggtaatgcactccg
+ccgcacaggtcagcaacgatgggtgatcaagcgtagtggtatagcgagcctgttcccgtt
+gaggtgtcgagcactctactccctgctgatagtaaggtgggttactgatgattaaatcga
+agcgtactgtctgctgtgtgatccactgctgaatatccgccgtatggacgttaatccgct
+ctgcccacggggactggttgatattttcctgcgcctgcgcggcagcttcactttccagtt
+caactgcatcaatcatcacgctgtcatcggttcgctgcgccagcattaatgccagcaacc
+cgctacccgcgccgatatcaaggcaacgttttaccccagccaccggtgcccatgcgccca
+ataaaataccatccgttcccactttcatcgcacagcgatcgtgagcaacaaaaaactgtt
+taaaagtaaatccattacgacgaagcacggatgtagactgtgacatgaaaataaaacctt
+gcaggaaaaacggcgatagcaccgggtgagaacaatacccgagaagcgatatccatacaa
+acagatgaagattgcagccgtaacgtctataatcagcgccccacacagaggtagaacatg
+actgtaacgactttttccgaacttgaactcgacgaaagcctgctggaagccctccaggat
+aaaggtttcactcgcccgaccgccattcaggctgccgccattccgcctgcgctcgatggc
+cgtgatgtactcggttctgcgccgacaggcaccggtaaaacggcggcgtatctgctgcca
+gcgttgcagcacctgctcgatttcccgcgtaagaaatccggtccgccgcgtattttgatc
+ctcaccccaactcgcgagctggcgatgcaggtgtccgatcatgcccgcgaactggcgaaa
+catacgcatctggatatcgccaccatcaccggcggcgtagcctatatgaaccacgcggaa
+gtgttcagcgaaaatcaggacatcgtggtcgccacgaccggacgtctgctgcaatacata
+aaagaagagaacttcgattgccgcgcggttgaaacgctgatcctcgacgaagcagaccgt
+atgctggatatgggcttcgctcaggatatcgaacatattgctggcgaaacgcgctggcgt
+aaacagaccctgctcttttcggcaacgctggaaggcgatgcgattcaggactttgccgag
+cgtctgctggaagatccggtggaagtttctgccaatccctccacccgtgagcgcaaaaaa
+attcatcagtggtattaccgcgccgatgatcttgagcataaaaccgcgttgctggtgcat
+ctgttaaaacagccggaagcgacccgctcaattgtgtttgtgcgtaagcgtgagcgtgtg
+catgagctggcaaactggctgcgcgaagcgggcatcaacaactgctatctcgaaggtgag
+atggtacagggcaagcgtaacgaagcgatcaagcgtttgaccgaaggtcgcgtaaacgta
+ctggtcgcaaccgatgttgccgcgcgcggtatcgacattcctgacgtcagccacgtcttt
+aacttcgatatgccgcgcagtggcgatacttatttgcaccgtatcggacgtaccgcgcgc
+gccggtcgtaaaggcaccgcaatttcgctggtggaagcccatgaccatctgctgctgggt
+aaagtaggccgctatattgaagagccaattaaagctcgcgttattgatgagttacgcccg
+aaaacgcgtgcgccaagcgaaaagcagaccggcaagccatcgaagaaagtactggctaaa
+cgtgctgagaagaaaaaagctaaagagaaagagaagccgcgggtgaaaaaacgccatcgc
+gacaccaaaaatattggtaagcgccgtaaaccaagcggaacgggcgtgccaccgcaaacg
+acagaagagtaatctcaatgccaggtttaagcctggtattaaaagtgctggcaaacgcaa
+aactgcctgatgcgctacgcttatcaggcctacgtggctcatgcaatatattgaatttgc
+acgatcttgtaggccggataaggcgttcacgccgcatccggcatgaataaagcgcacttt
+gtcgacaagttaaatgccgggtttaatcccgacattatttttatccagccacaaaactct
+cttcaacacactgaataaaagtgtgcatcgccgggctaaccgcttttccagcatgatgtg
+cgcacatggccgtaatggtctgcgactgttcgccaaaaggcaattcaattaattctccgc
+actccaactcttttgccaccgcaaagcgcggtaggtagctgaccccgatattcgccgcga
+cacaacgcttgatgctttcgatacttataagctcaatggtgttttccaccgtgatccgcc
+gctgacgcagcgtgctctcaaatatctgccggaagacacattgcggttcgttgataataa
+agctacaggcgttatgtcttcccggctcagtaaaatcgacatctgcaatttgcggtgaag
+ccaccagcaccagtgattgttcacccaactctcgtcgattcagagcatcatcattcccta
+cacgataaaagacgccaacatcggcctcatcattcagtagcgcatcacggatcacgtaac
+agttcagcgactgcaacgataaacgcacttttggggcgcgttgccgaaaacgctgcaaca
+cctgcggcattcggtaagagagcaacgtttcgcccgaaacaacgcgtagttccccgtccg
+gatctgactcctttttggcagcctcacgaagcgtatccatcactcgggtaagttcataaa
+tgtgcggcagcaacttttttccttcgcgggtaaggcacatccgtcggccaattttctcaa
+ataactggactgaaaactcctgctcaagctgctgaatatgaaaagtcaccgtcgattgtg
+tacagcacaatttttgcgaagctcgcaaaaaggaaccctcttccaccacggttttaagcg
+taataaaacggcgcagatccataaccccaaacctatcgaaaatatcgaatctagaatata
+aaaacattcatttttttaaatgttccgtgtcgggtactgtctaccaaaacagaggagata
+acaagtgacaccgacccttttaagtgctttttggacttacaccctgattaccgctatgac
+gccaggaccgaacaatattctcgcccttagctctgctacgtcgcatggatttcgtcaaag
+tacccgcgtgctggcagggatgagtctgggatttttgattgtgatgttactgtgtgcggg
+catttcattttcactggcagtgattgacccggcagcggtacaccttttgagttgggcggg
+ggcggcatatattgtctggctggcgtggaaaatcgccaccagcccaacaaaggaagacgg
+acttcaggcaaaaccaatcagcttttgggccagctttgctttgcagtttgtgaacgtcaa
+aatcattttgtacggtgttacggcactgtcgacgtttgttctgccgcaaacacaggcgtt
+aagctgggtagttggcgtcagcgttttgctggcgatgattgggacgtttggcaatgtgtg
+ctgggcgctggcggggcatctgtttcagcgattgtttcgccagtatggtcgccagttaaa
+tatcgtgcttgccctgttgctggtctattgcgcggtacgcattttctattaacgaaaaaa
+agcggaagaggtcgccctcttccgcttagtaacttgctacttaagccttacaggctttca
+gtaaaggtacgagcgataacgtcgcgctgctgttccggagtcagagagttaaagcgaact
+gcataaccggatacacggatggtcagctgcggatatttttccggatgcttaactgcatct
+tccagagtttcgcgacgcagaacgttaacgttcaggtgttgaccaccttcaacgcgaact
+tctggtttcacttctactggaacttcacggtattcaatgtcacccagtttgcttactgca
+accacttcatcttctgcataacctgcttttgcaacgatgcaacgcgcttcgcctttttcg
+ctgtccagcagccagaaagagttcagcagatcgtcgttagcggctttagtaatctggata
+cctgtaatcatgtgatgcctccccggcaaaattatttgatttgttcagcctgtcgcggcc
+aattggtaaaaccattgttgcttgagtgtatatatactcctcaaacacccttgaatcttt
+gatttaaatcaataaaaaccacacatcaagtatggtcgcaaatggattttattgttttac
+atcaacttatgcgggtgtgaaattttaccaatttacatttttttgcactcgtttaagtct
+aaaaaatgagcatgattttgttctgtagaaagaagcagttaagctaggcggattgaagat
+tcgcaggagagcgagatggctaacgaattaacctggcatgacgtgctggctgaagagaag
+cagcaaccctattttcttaatacccttcagaccgtcgccagcgagcggcagtccggcgtc
+actatctacccaccacaaaaagatgtctttaacgcgttccgctttacagagttgggtgac
+gttaaagtggtgattctcggccaggatccttatcacggaccgggacaggcgcatggtctg
+gcattttccgttcgtcccggcattgccattcctccgtcattattgaatatgtataaagag
+ctggaaaatactattccgggcttcacccgccctaatcatggttatcttgaaagctgggcg
+cgtcagggcgttctgctactcaatactgtgttgacggtacgcgcaggtcaggcgcattcc
+cacgccagcctcggctgggaaaccttcaccgataaagtgatcagcctgattaaccagcat
+cgcgaaggcgtggtgtttttgttgtggggatcgcatgcgcaaaagaaaggggcgattata
+gataagcaacgccatcatgtactgaaagcaccgcatccgtcgccgctttcggcgcatcgt
+ggattctttggctgcaaccattttgtgctggcaaatcagtggctggaacaacgtggcgag
+acgccgattgactggatgccagtattaccggcagagagtgagtaaatttgcggggaaatg
+ccggatggcagagttgccacccggctgatttatcaggctttattctgacgccaccattca
+ccaagcaaaacgccggttgcgacagagatattcagcccggcaacgttgcccgtaccgtca
+atcttcacgcgcagatcgttcggatcgcgtgcggcatccggtaacccttcatattcctga
+cccagcaccagtaccattttcgctggcagactagttttgaacagcggtttaccctgctcg
+ctggaagtggtcactacggtgtaacctgcctgacggaaatcatccagcacgttaacaatg
+ttgtcgccagtaatcggctgaacgtgctctgcgccgccttctgcggtacggatagccgcc
+cccgactccagcagtgccgcatcctgcaccacgacacctttcacgccgaagtgcgcgcag
+ctgcgcatcatgccacccaggttatgcgggttagattcgttttccagtgccagaacgcaa
+tcctgcgcgcctgcctggcttacccactgctgcacggttgtaccgttacgctttttgatc
+aagaagcaaacgccgccgtgatgttccgtgcctgacgcttttgtcaattccgcttcatcc
+accacatggtacgctttgcggtttgctgccatccagcgcaaagcttctttaaaacgcggc
+gttacactctggataaaccaggcgcgaacaatcgcttccggacggctctggaaaagtgcc
+tgacatgcattttcgccgtagacgcgggtttcttccgcacgctgacgacgcaacacttcc
+ggatcaataaaacttttaccactgatgccaccgtgatcggccttttccggcgtctcatca
+cccggcgcgcgggaaaccgtgcgccacggcgaatcttcccacttgcggtcacggggctga
+ctctgtttgtcatcgcgggcggggcgacggccaccgtcagcacgagattttcctggacgc
+ccgccccctttcccggtacgcgggttgtgggtacgtttatcagaatcatcatcactgcgg
+acatacatcactttgaccttgccgcttttacctttcatttcatcgttcatgcttttctcc
+accagcgctgcgcgaagcgcgcagattacccgaagtccgcgcggttcgccatgatttcgt
+accaaagcctgcgactatcatacctattgaataaaacagattgttgtctggaacaatgtc
+cccgataatatgtaacatattagaaacataccggcgtcgttgccgataagtctccttact
+catcccgaggttagttatgaataccgtttgtacccattgtcaggccatcaatcgcattcc
+cgacgatcggatcgaagatgcggcaaaatgcggacgctgcggtcacgacttgtttgacgg
+agaggtgattaatgcgaccggtgaaacactcgacaaattgctgaaggatgatctacctgt
+ggtgatcgacttctgggcaccgtggtgcggcccctgccgtaatttcgcaccaatttttga
+agatgtcgcgcaagagcgtagcggtaaagtgcgctttgtgaaagtgaataccgaagctga
+acgtgaattgagcagtcgctttggaattcgtagtataccgacgatcatgattttcaaaaa
+cggtcaggttgtcgacatgcttaatggcgcagtaccgaaagcgccgttcgatagctggct
+gaacgaatctctttaatcttaccggggcgcatcttgtgccccgttttctcctctgcgaca
+atggcgttttttcgacgctctcttatgaccgaaaacgctgttctccagttacgcgccgag
+cgtattgcgcgcgcaacacgtccttttcttgcccgcggtaatcgcgttcgtcgctgccaa
+cgctgtcttttgccagagaaattatgtctctgttcgacaattaccccagcacaagcaaaa
+agtcgcttctgtttgctgatgttcgacaccgagccaatgaagcccagtaataccgggcgt
+ctcattgctgatattttgcctgataccgttgcgtttcaatggtcgcgtaccgaaccctcg
+caggatttgctggagttggtgcaaaacccggactatcagccaatggtggtctttcccgct
+tcgtatgctgatgagcaacgggaagtgatcttcacaccacctgccggtaagccaccgctg
+tttatcatgctcgatggtacctggccggaagctcgcaagatgtttcgtaaaagtccgtat
+ctggataatcttcccgtcatttccgtcgatctttcccggctttctgcctatcgcctgcgt
+gaagcccaggctgaaggccaatattgtactgccgaggtagccatcgcactgttagatatg
+gccggcgataccggggcggcggcagggttaggcgagcattttacccgctttaaaacacgc
+tatctggcaggaaaaacgcaacatctgggtagcatcacagcagaacagttagaaagcgtt
+taaaatcattcggtcacttctgcgggagaccggtatgagtcagcgaggactggaagcact
+actgcgaccaaaatcgatagcggtaattggcgcgtcgatgaaacccaatcgcgcaggtta
+cctgatgatgcgtaacctgctggcgggaggctttaacggaccggtactcccggtgacgcc
+agcctggaaagcggtgttgggtgtgttggcctggccggatattgccagcttgccctttac
+acccgaccttgcggttttatgtaccaatgccagccgtaatcttgctcttctggaagagct
+cggcgagaaaggctgtaaaacctgcattattctttccgccccggcatcgcaacacgaaga
+tctccgcgcctgcgccctgcgccataacatgcgcctgcttggaccaaacagtctgggttt
+actggctccctggcaaggtctgaatgccagcttttcgcctgtgccgattaaacgcggcaa
+gctggcgtttatttcgcaatcggctgccgtctccaacaccatcctcgactgggcgcaaca
+gcgtaagatgggcttttcctactttattgcgctcggcgacagcctggatatcgacgttga
+tgaattgcttgactatctggcacgcgacagtaaaaccagcgccatcctgctctatctcga
+acagttaagcgacgcgcgacgctttgtttcggcggcccgtagtgcctcgcgtaataaacc
+gattctggtgattaaaagcggacgtagcccggcggcacagcgactgctcaacacgacggc
+aggaatggacccggcatgggatgcggctattcagcgtgccggtttgttgcgggtacagga
+cacccacgagctgttttcggcggtggaaacccttagccatatgcgcccgctacgtggcga
+ccggctgatgattatcagcaacggtgctgcgcctgccgcgctggcgctggatgccttatg
+gtcacgcaatggcaagctggcaacgctaagcgaagaaacctgccagaaactgcgcgatgc
+actgccagaacatgtggcaatatctaacccgctcgatctacgcgatgacgccagcagtga
+gcactatattaaaacgctggatattctgctccacagccaggattttgacgcgctgatggt
+tattcattcgcccagcgccgctgctcccgcaacagaaagcgcgcaagtattaattgaagc
+ggtaaagcatcatccccgcagcaaatatgtctctttgctgacgaactggtgcggcgagca
+ctcctcgcaagaggcacgacgtttattcagcgaagccgggctgccgacctaccgtacccc
+ggaaggaaccatcactgcttttatgcatatggtggagtaccggcgtaatcagaagcaact
+acgcgaaacgccggcgttgcccagcaatctgacttccaataccgcagaagcgcatcttct
+gttgcaacaggcgattgccgaaggggctacgtcgctcgatacccatgaagttcagcccat
+cctgcaagcgtatggcatgaacacgctccctacctggattgccagcgatagcaccgaagc
+ggtgcatattgccgaacagattggttatccggtggcgctgaaattgcgttcgccggatat
+tccacataaatcggaagttcagggcgtcatgctttacctgcgtacagccaatgaagtcca
+gcaagcggcgaacgctattttcgatcgcgtaaaaatggcctggccacaggcgcgggtcca
+cggcctgttggtgcaaagtatggctaaccgtgctggcgctcaggagttgcgggttgtggt
+tgagcacgatccggttttcgggccgttgatcatgctgggtgaaggcggtgtggagtggcg
+tcctgaagatcaagccgtcgtcgcactgccgccgctgaacatgaacctggcccgctatct
+ggttattcaggggatcaaaagtaaaaagattcgtgcgcgcagtgcgctacgcccattgga
+tgttgcaggcttgagccagcttctggtgcaggtttccaacttgattgtcgattgcccgga
+aattcagcgtctggatattcatcctttgctggcttctggcagtgaatttaccgcgctgga
+tgtcacgctggatatctcgccgtttgaaggcgataacgagagtcggctggcagtgcgccc
+ttatccgcatcagctggaagaatgggtagaattgaaaaacggtgaacgctgcttgttccg
+cccgattttgccagaagatgagccacaacttcagcaattcatttcgcgagtcaccaaaga
+agatctttattaccgctactttagcgagatcaacgaatttacccatgaagatttagccaa
+catgacacagatcgactacgatcgggaaatggcgtttgtagcggtacgacgtattgatca
+aacggaagagatcctcggcgtcacgcgtgcgatttccgatcctgataacatcgatgccga
+atttgctgtactggttcgctcggatctcaaagggttaggcttaggtcgacgcttaatgga
+aaagttgattacctatacgcgagatcacggactacaacgtctgaatggtattacgatgcc
+aaacaatcgtggcatggtggcgctagcccgcaagctcgggtttaacgttgatatccagct
+cgaagaggggatcgttgggcttacgctaaatcttgcccagcgcgaggaatcatgagtaag
+gtactggaaatgttgaccacttaatcgggactggtgttattattgcccgcttatgtcgtc
+tgcattgcacagaggacccttcaatgaacagagaagaaatgcactgtgatgttgtcaaaa
+tttaagcgtaataaacatcaacaacaccttgcccaactacccaagatttctcaatcagtt
+gatgatgtcgatttcttttacgctcccgccgacttccgggagacgctgctggaaaaaata
+gccagcgcgaagcagcgcatttgcattgtcgccctgtatctcgaacaggatgacggtggc
+aaaggcattctgaacgcgttgtatgaggctaaaaggcagcgtccggaactggatgtgcgg
+gtgctggtcgactggcatcgtgcacaacgtggacgcattggcgctgcggcatctaacact
+aacgctgactggtactgccgcatggcgcaggaaaatccgggcgtagatgttccggtttat
+ggcgttccaatcaatactcgtgaagcccttggtgttctgcactttaaaggctttatcatc
+gacgatagcgtactttatagcggtgccagcctgaacgatgtttacctgcatcagcacgat
+aaatatcgctacgaccgttatcatctgatccgtaaccgtaagatgtcagacattatgttt
+gaatgggttacacagaatattatgaatggccgcggcgttaatcgtctggatgatgttaat
+cggccaaaaagcccggaaatcaagaacgatattcgtctgttccgccaggagctgcgtgat
+gccgcttatcatttccagggcgatgccgacaacgatcagctttctgtaacgccgctagtg
+gggctggggaaatcgagtctgttgaacaagaccattttccatcttatgccttgtgccgag
+cagaaactaaccatctgtacgccatacttcaacctgccagcaatccttgtgcgcaatatt
+atccagttgctgcgcgaagggaaaaaggtcgaaattattgttggtgataaaaccgcgaat
+gacttctacattccggaagatgaacctttcaagataattggcgcattgccttatctctat
+gagatcaatctgcgtcgtttcctgagccgtttgcagtattacgtcaatactgaccagcta
+gtggttcggttatggaaagatgacgacaacacctatcacctgaaagggatgtgggttgat
+gataagtggatgttgatcaccggtaataacctgaacccgcgcgcctggcgtctggatctg
+gaaaacgccattttgatccacgatccgcaacttgagctggcgccacagcgagagaaagaa
+ctggagctgatccgcgagcataccaccatcgttaagcactatcgcgatctgcaaagtatt
+gccgattatccggtgaaggttcgtaaactcatccgccgtttgcgccgtatccgcatcgac
+cgattaattagccgcatcctgtaatcacaaccccgtcctgtacggggtttgttttttgga
+ggccacgttttgcgtattctttttgtctgttcgctattgttactttctggatgcagccat
+atggctaacgatagctggagcgggcaggataaagctcaacactttatcgcctcggcgatg
+ctttccgccgccggaaatgaatattcacagcatcaggggatgagccgggatcgcagtgcc
+atgtttggattgatgttctctgtcagtttgggggcgtcaaaagagctttgggatagccgc
+cccgaagggagcggctggagctggaaggatttggcctgggatgtcgccggtgcaagcacc
+ggctataccgtctggcaactgacccgtcactaaagacgcatccccttccctttgcgatgt
+agcatcaaagaaaccagaaacgccaccacggccatcaaggtcacataccagaagaaggct
+gtttccattcctattgatttcagcgacaacgctacgtactccgccgaaccaccaaatata
+gcattagcgaccgcatatgacagaccaacgcctaatgcgcgaacctgtgccgggaacatc
+tcagccttcagtattccactgattgatgtataaaaactcactatcagcagggcacacatc
+accagaccaaaagcggcataaggcgaggaaacgttttgcaatgctgagagaataggaacg
+gtaaaaatggctgccagcgaaccgaaacataacattgaggtacggcgaccaatcttatcc
+gacagcgcgccaatgagtggttgaataagcatgaatacaaacaatgcggcagtcataatg
+ccactcgccacgttggcatgcattcccgcagtatttaccagatacttctgcatataagta
+gtgaaggtatagaaacaaagggagcccgcagcggtaaaaccgagaaccatgatgaatgca
+cggcgattgcgccataatcctttcagagatccagcttcttttaaagcgcgcgtttcttgt
+tgcgaagtttcatctaactgacgacgtaaccacaacgccacaacagctaacacagctcct
+aacgcgaaaggaatacgccatccccactctctgagtgcagcgtcttccatggtgtgttgt
+aaaaccacgacaaccagtagggctagcagttgtccgccgatcaacgtcacatactgaaat
+gatgcgtaaaaacctttgcgcccttcaacggcaacttcactcatataggtggcgctggtg
+ccatattctccgccaacagataatccctgaaataaacgagcgagaagcaataatgccgga
+gcccacgtacctatagtttcataacctgggaggcaggcgataaccagcgatccgaaacac
+atcatacacaccgataacagcatcgattttttgcgaccatgtttatcggctatgcggcca
+aatagccaaccgcctattgggcgcatcaggaatcccgcagcaaaaacacctgctgtttgt
+agtagttgagtcgtcgtgttcccggaagggaagaagatgtgggcaaagtagagtgaacag
+aacgagtagacatagaaatcgaaccactcgaccagattacctgaagaggcccccacaatc
+gcccaaatgcggcgacgagtatcactacttgtcagtttgctgtctgccgttacagtactt
+tcagccatgccattatgtctcctgccgtaatccgatgcttttgtcggtcgcttttgttta
+ttttttttgtaaaggaaatattatacatttgttgcatatcattatgcaaccttaaccatg
+aatttagttagcaggaaaatggttattgaggagcttaaggataaatttctggtaaggagg
+acacgtatggaagtgggcaagttggggaagccgtatccgttgctgaatctggcatatgtg
+ggagtataagacgcgcagcgtcgcatcaggcatttttttctgcgccaatgcaaaaaggcc
+atccgtcaggatggcctttcgcataatttgatgcctggcagttccctactctcgcatggg
+gagaccccacactaccatcggcgctacggcgtttcacttctgagttcggcatggggtcag
+gtgggaccaccgcgctacggccgccaggcaaattctgttttatcagaccgcttctgcgtt
+ctgatttaatctgtatcaggctgaaaatcttctctcatccgccaaaacagcttcggcgtt
+gtaaggttaagcctcacggttcattagtaccggttagctcaacgcatcgctgcgcttaca
+cacccggcctatcaacgtcgtcgtcttcaacgttccttcaggacccttaaagggtcaggg
+agaactcatctcggggcaagtttcgtgcttagatgctttcagcacttatctcttccgcat
+ttagctaccgggcagtgccattggcatgacaacccgaacaccagtgatgcgtccactccg
+gtcctctcgtactaggagcagcccccctcagttctccagcgcccacggcagatagggacc
+gaactgtctcacgacgttctaaacccagctcgcgtaccactttaaatggcgaacagccat
+acccttgggacctacttcagccccaggatgtgatgagccgacatcgaggtgccaaacacc
+gccgtcgatatgaactcttgggcggtatcagcctgttatccccggagtaccttttatccg
+ttgagcgatggcccttccattcagaaccaccggatcactatgacctgctttcgcacctgc
+tcgcgccgtcacgctcgcagtcaagctggcttatgccattgcactaacctcctgatgtcc
+gaccaggattagccaaccttcgtgctcctccgttactctttaggaggagaccgccccagt
+caaactacccaccagacactgtccgcaacccggattacgggtcaacgttagaacatcaaa
+cattaaagggtggtatttcaaggtcggctccatgcagactggcgtccacacttcaaagcc
+tcccacctatcctacacatcaaggctcaatgttcagtgtcaagctatagtaaaggttcac
+ggggtctttccgtcttgccgcgggtacactgcatcttcacagcgagttcaatttcactga
+gtctcgggtggagacagcctggccatcattacgccattcgtgcaggtcggaacttacccg
+acaaggaatttcgctaccttaggaccgttatagttacggccgccgtttaccggggcttcg
+atcaagagcttcgcttgcgctaaccccatcaattaaccttccggcaccgggcaggcgtca
+caccgtatacgtccactttcgtgtttgcacagtgctgtgtttttaataaacagttgcagc
+cagctggtatcttcgactgatttcagctccatccgcgagggacctcacctacatatcagc
+gtgccttctcccgaagttacggcaccattttgcctagttccttcacccgagttctctcaa
+gcgccttggtattctctacctgaccacctgtgtcggtttggggtacgatttgatgttacc
+tgatgcttagaggcttttcctggaagcagggcatttgttgcttcagcaccgtagtgcctc
+gtcatcacgcctcagccttgattttccggatttgcctggaaaaccagcctacacgcttaa
+accgggacaaccgtcgcccggccaacatagccttctccgtccccccttcgcagtaacacc
+aagtacaggaatattaacctgtttcccatcgactacgcctttcggcctcgccttaggggt
+cgactcaccctgccccgattaacgttggacaggaacccttggtcttccggcgagcgggct
+tttcacccgctttatcgttacttatgtcagcattcgcacttctgatacctccagcatgcc
+tcacagcacaccttcgcaggcttacagaacgctcccctacccaacaacgcataagcgtcg
+ctgccgcagcttcggtgcatggtttagccccgttacatcttccgcgcaggccgactcgac
+cagtgagctattacgctttctttaaatgatggctgcttctaagccaacatcctggctgtc
+tgggccttcccacatcgtttcccacttaaccatgactttgggaccttagctggcggtctg
+ggttgtttccctcttcacgacggacgttagcacccgccgtgtgtctcccgtgataacatt
+ctccggtattcgcagtttgcatcgggttggtaagtcgggatgacccccttgccgaaacag
+tgctctacccccggagatgaattcacgaggcgctacctaaatagctttcggggagaacca
+gctatctcccggtttgattggcctttcacccccagccacaagtcatccgctaatttttca
+acattagtcggttcggtcctccagttagtgttacccaaccttcaacctgcccatggctag
+atcaccgggtttcgggtctataccctgcaacttaacgcccagttaagactcggtttccct
+tcggctcccctattcggttaaccttgctacagaatataagtcgctgacccattatacaaa
+aggtacgcagtcacacgcctaagcgtgctcccactgcttgtacgtacacggtttcaggtt
+ctttttcactcccctcgccggggttcttttcgcctttccctcacggtactggttcactat
+cggtcagtcaggagtatttagccttggaggatggtccccccatattcagacaggatacca
+cgtgtcccgccctactcatcgagctcacagcatgtgcatttttgtgtacggggctgtcac
+cctgtatcgcgcgcctttccagacgcttccactaacacacacactgattcaggctctggg
+ctgctccccgttcgctcgccgctactgggggaatctcggttgatttcttttcctcggggt
+acttagatgtttcagttcccccggttcgcctcattaacctatggattcagttaatgatag
+tgtgtcgaaacacactgggtttccccattcggaaatcgccggttataacggttcatatca
+ccttaccgacgcttatcgcagattagcacgtccttcatcgcctctgactgccagggcatc
+caccgtgtacgcttagtcgcttaacctcacaacccgaagatgtttcacttcagagttgcg
+aaaatttgagagactcacgaacaactttcattgttcagtgtttcaattttcagcttgatc
+cagatttttaaagagcaaatatatcaaacaagacttaacagtctgttttgagatattgag
+gtcggcgactttcactcacaaaccagcaagtggcgtcccctaggggattcgaacccctgt
+taccgccgtgaaagggcggtgtcctgggcctctagacgaaggggacacgaaaattgctta
+tcacgcgttgcgtgatattttcgtgtagggtgagctttcattaatagaaagcgaacggcc
+ttattctcttcagcctcactcccaacgcgtaaacgccttgctattcacttttcatcagac
+aatctgtgtgagcactgcaaagtacgcttctttaaggtaaggaggtgatccaaccgcagg
+ttcccctacggttaccttgttacgacttcaccccagtcatgaatcacaaagtggtaagcg
+ccctcccgaaggttaagctacctacttcttttgcaacccactcccatggtgtgacgggcg
+gtgtgtacaaggcccgggaacgtattcaccgtggcattctgatccacgattactagcgat
+tccgacttcatggagtcgagttgcagactccaatccggactacgacgcactttatgaggt
+ccgcttgctctcgcgaggtcgcttctctttgtatgcgccattgtagcacgtgtgtagccc
+tggtcgtaagggccatgatgacttgacgtcatccccaccttcctccagtttatcactggc
+agtctcctttgagttcccggccggaccgctggcaacaaaggataagggttgcgctcgttg
+cgggacttaacccaacatttcacaacacgagctgacgacagccatgcagcacctgtctca
+cggttcccgaaggcacattctcatctctgaaaacttccgtggatgtcaagaccaggtaag
+gttcttcgcgttgcatcgaattaaaccacatgctccaccgcttgtgcgggcccccgtcaa
+ttcatttgagttttaaccttgcggccgtactccccaggcggtcgacttaacgcgttagct
+ccggaagccacgcctcaagggcacaacctccaagtcgacatcgtttacggcgtggactac
+cagggtatctaatcctgtttgctccccacgctttcgcacctgagcgtcagtcttcgtcca
+gggggccgccttcgccaccggtattcctccagatctctacgcatttcaccgctacacctg
+gaattctacccccctctacgagactcaagcttgccagtatcagatgcagttcccaggttg
+agcccggggatttcacatctgacttaacaaaccgcctgcgtgcgctttacgcccagtaat
+tccgattaacgcttgcaccctccgtattaccgcggctgctggcacggagttagccggtgc
+ttcttctgcgggtaacgtcaatgagcaaaggtattaactttactcccttcctccccgctg
+aaagtactttacaacccgaaggccttcttcatacacgcggcatggctgcatcaggcttgc
+gcccattgtgcaatattccccactgctgcctcccgtaggagtctggaccgtgtctcagtt
+ccagtgtggctggtcatcctctcagaccagctagggatcgtcgccttggtgagccgttac
+cccaccaacaagctaatcccatctgggcacatccgatggcaagaggcccgaaggtccccc
+tctttggtcttgcgacattatgcggtattagctaccgtttccagtagttatccccctcca
+tcaggcagcttcccagacattactcacccgtccgccactcgtcagcgaagcagcaagctg
+cttcctgttaccgttcgacttgcatgtgttaggcctgccgccagcgttcaatctgagcca
+tgatcaaactcttcaatttaaaagtttgatgctcaaagaattaaacttcgtaatgaatta
+cgtgttcactcttgagacttggtattcatttttcgtcttgcgacgttaagaatccgtatc
+ttcgagtgcccacacagattgtctgataaattgttaaagagcagtgccgcttcgcttttt
+ctcagcggcgcggggtgtgcataatacgccttcccgctacagagtcaagcatttctttgc
+ttttctctgttgagattctcaggagaaccccgccgacccggcggcgtgtttgccgttgtt
+ccgtgtcagtggtggcgcattatagggagttattccggcctgacaagcgaaaaatataaa
+aactttatcgttcgctcacttttcaggcaaaacatcttaaatatagtcttttccgtctaa
+cttatagacaaaaacgagccccgaagggctcgttttatcatttactggacggcgacaatc
+cggtcttcattaacttccaggcgaatcactttacccggaaccaattcaccagacagtatt
+tgctgtgccagcgggttttcgatctgctgctgaattgcacgtttcagaggacgtgcacca
+tagaccggatcgtaaccgttctcgctcagcagtttcagcgcctcgtcagaaatgtggatt
+tcataaccacgttcttccagacgtttgtacagacgtttcaactgaatctgcgcaatcgag
+gcaatgtgctgttcacccagcggatggaagaccaccacttcatcgatacggttaatgaat
+tccggacggaagttatggcttaccacaccgagcaccagctctttcatgtgcgcataatcc
+agttcaccgaagcgttcctgaatcagatcggaaccgaggttagaggtcataatgacgacc
+gtattacggaagtcgaccgttctcccttgcccgtcagtcagacgcccatcatccagtacc
+tgcaacagaatgttgaagacatccggatgcgctttttccacttcatccagcaggatgacg
+gaatacggacgacgacgcaccgcttcggtcaggtagccaccttcttcataaccgacatat
+cccggaggcgcaccaaccaaacgagacaccgagtgtttctccataaactcggacatatcg
+atacggaccatcgcctcgtcgctatcaaacataaagttcgccagcgccttacaaagctct
+gttttccccacaccagttgggccgaggaacaggaatgaaccaatcgggcgatttggatcc
+gccagccccgcacggctacgacgaatagcgttagataccgcatcaaccgcttcgttctga
+ccaattacgcgatggtgcagttcttgctccatacgcagcagtttttcgcgctcgctttcc
+atcatgcgagaaaccggaatccccgtccaacgcgccagcacttcagcaatttcggcgtcg
+gtcactttattacgcaacagacgcatagttttgccttcgagctgcgttgcggcttccagt
+tgcttttccagttccgggattttgccgtattgcagttcagacatccgcgccaggtccccc
+acacggcgagcctgttcaatagcgattttcgcctgttccagttccgctttaatggtctgc
+gtaccagaaagcgatgccttctctgctttccactcttcttctaactcggagtactgacgt
+tctttgtcgctcagttcttcgttgagcatatccagacgttttttactggcttcatcagac
+tctttcattaacgcctgttgttccagtttgagctggatgatacgacgatcgagtcggtcg
+agttcttctggttttgagtcaatctgcatacgaatgctggatgctgcttcatcgatcagg
+tcgatggctttatccggcagctgacggtcagcaatgtagcgatgagacaacgtcgccgct
+gcaacaattgccgggtcagtaatttgcacatggtggtgcaattcgtaacgttctttcagg
+ccacgcagaatcgcaatggtatcttcaacagaaggctcggcaacaaacactttctggaaa
+cgacgttccagcgcagcatctttttcaatgtactggcgatattcgtcaagcgtcgtggca
+cctacgcagtgcaattcaccacgcgccagcgccggtttcagcatgtttccggcgtccatt
+gcgccatcggctttacccgcgccgaccatggtatgtaattcgtcgataaataggatgacg
+ttgccttcctgtttggcaagatcgttaagcacgccttttaaacgttcttcaaactcaccg
+cgatatttcgccccagccaccagcgcgcccatatccagcgccagtacccggcggcctttc
+aacccttccggcacttcgccgttgataatacgctgcgccagaccttcaacgatggcagtt
+ttaccgacgccgggttcaccaatcagtaccgggttatttttagtacgacgttgcagcacc
+tgaatggtacggcgaatttcttcatcacgaccaatcaccggatcgagtttgccctgttcg
+gctcgttcggtaaggtcgatggtatattttttcaaagcctgacgttggtcttcagcacct
+tgatcgttcacgctttcacctccacgcatttgttcaatcgcttgagtaatgttggcggtg
+gtcgcccctgctgctttcaggatgtcggccagcgtgccgcgagactcaagtgccgccaga
+acgaacagttctgacgagataaagttatcaccacgtttttgcgccagcttgtcgcaaaga
+ttaagaacgcgcaccagatcctgtgatggctggacatcaccaccagtaccttcaacctgc
+ggtaaacgatttaatgcctgattgatatctgtgcgcaactggccagcatttatgccagcg
+gatgttaataaaggactaaccgaacccccttcctgattcagcagggcgctcattaaatga
+agtggttcgataaattggttgtcgtgcccgagtgcaagtgattgggcatcggcaagagca
+agctggaatttattagtaagacgatccagacgcataactcctcccataacggatcaaagt
+tgctactggagattaaatgaggtcatccctcaattattcaaggttattgaccagattaat
+gtgaaaagaaaatcacgcgtaccggatcgtcttgattctttaggttatatcagccaaatg
+aaacttgccatacgaccggtggtcttgtcgcgacgataagagaagaaagtctcattttcc
+gtatatgtacaacggtcgccgccgaaaatttgctcaacacccacgttcgccagacgctgc
+cgggcaagctgataaatatccgccagatacttatcaccatgctgaatgaaagctgcactt
+gctttagcgtctactgccataaacgcctcgcgaacctccccccccacttcgaacgcgcgt
+ggaccaattgccggccctaaccaggcgagaatattttccggattatcagcaaaacaggaa
+accgtctcttccagcacgcctgcgcacagtccacgccagccagcatgagcggcggcgact
+tccgttcccgctcgattgcaaaacagcacagggaggcagtcggcagtcatcactgcgcaa
+accgtgccgggcgtattgctataagaggcatccgcccgttttgaggcataaggttcgcca
+gtgagcttaagcacatctttgccgtgtacctgctcaagccagaccggtttagaaggcaaa
+ttgcccgcagcaaaaagtcgcttgcgattctcctcaacgtgatccgggttatcgccacaa
+tgggcaccgaggttgagtgagtcatacgggggcaagctcacgccgccgatacgagtggag
+ctacaggccgcaacaccttttggctgcggccactgcgggacaatcagcttactcataacc
+agtccacttcatccttatgttcttcgaaatcggcgcgcatcacctcaatcagctccacca
+tatcttgtggaataggcgcatgccattccatttcgatgccggagatcgggtgataaagac
+gcagcatggttgcatgtagcgcctggcggtcaaacttacgcagcgtggagataaatgctt
+ccgaagcaccttttggcggacgcggacggccaccataaaccggatcgcccaccagcggat
+gagtgatatgggccatatgcacgcggatctggtgcgtacgtccagtttccagacgcaacc
+gcagacgcgtgtgcacacggaagtgttccatgatgcgatagtgagtcaccgctggtttgc
+ccatcggatgcaccgccatatgggtacgtttggtcgggtggcgactgattggctcgtcca
+ccgtgccacctgcggtcatatgaccaatcgccaccgcttcatactcacgagtaatttcac
+gccgttgcaaagattcgactaaacgcgtctgagccggaacggtttttgccacaaccatca
+ggccagtggtgtctttatccagacgatggacgatgcccgcacgcggtacatcggcaatgg
+gtggatagtaatgaagcaacgcattcagtaccgtgccatccgggttacccgcgccaggat
+gtaccaccaggtcgcgcggtttattaatgataataatgtcttcatcttcatagacgatat
+ccagcgggatatcctgcggttcaaaacgcgcttcttcttcaatctcagcgttgatggcaa
+cctgctcgccacccaatactttttctttcggcttatcacaaactttgccgttaaccagca
+ctcgctggtcgaggatccattcttttattcgcgaacgtgaataatccgggaacatttcgg
+ccaaagcctgatctaagcgttgaccgagttggttttcggacaccgttgcagtgagctgta
+ctcgttgtgccatatatactgcttcttcgtttatcgttggggttttacggctttgccgtt
+taatatagtgtgctattgtagctggtcttaaccgggagcaggaacagagaatctcccgta
+ttacattttgaggaaagtcaaaacgtcatgacgcgcatgaaatatctggtggcagccgcc
+acactaagcctgtttttggcgggttgctcggggtcaaaggaagaagtacctgataatccg
+ccaaatgaaatttacgcgactgcacaacaaaagctgcaggacggtaactggagacaggca
+ataacgcaactggaagcgttagataatcgctatccgtttggtccgtattcgcagcaggtg
+cagctggatctcatctacgcctactataaaaacgccgatttgccgttagcacaggctgcc
+atcgatcgttttattcgccttaacccgacccatccgaatatcgattatgtcatgtacatg
+cgtggcctgaccaatatggcgctggatgacagtgcgctgcaagggttctttggcgtcgat
+cgtagcgatcgcgatcctcaacatgcacgagctgcgtttagtgacttttccaaactggtg
+cgcggctatccgaacagtcagtacaccaccgatgccaccaaacgtctggtattcctgaaa
+gatcgtctggcgaaatatgaatactccgtggccgagtactatacagaacgtggcgcatgg
+gttgccgtcgttaaccgcgtagaaggcatgttgcgcgactacccggatacccaggctacg
+cgtgatgcgctgccgctgatggaaaatgcataccgtcagatgcagatgaatgcgcaagct
+gaaaaagtagcgaaaatcatcgccgcaaacagcagcaatacataacagaaacctgaaaca
+caaaacggcagcccttgagctgccgtttttttattctgtcagttgtgaaactgaagcgat
+ttagtcgctatcgatctcatcaaatatggctcgctttgagatattcctcaagtaaaaaaa
+catctcttcctgcgatttctcacaaaaaagattcgttgacaaaaagtgacaaaattatga
+gattttcatcacacattttgacatcaggaacggtatgctgaattcaccaagacgggaaga
+caagaggtaaaatttatgacaatgaacattaccagcaaacaaatggaaattactccggcc
+atccgccaacatgtcgcagaccgtctcgccaaactggaaaaatggcaaacacatctgatt
+aatccacatatcattctgtccaaagagccacaagggtttgttgctgacgccacaatcaat
+acacctaacggcgttctggttgccagtggtaaacatgaagatatgtacaccgcaattaac
+gaattgatcaacaagctggaacggcagctcaataaactgcagcacaaaggcgaagcacgt
+cgtgccgcaacatcggtgaaagacgccaacttcgtcgaagaagttgaagaagagtagtcc
+tttatattgagtgtatcgccaacgcgccttcgggcgcgttttttgttgacagcgtgaaaa
+cagtacgggtactgtactaaagtcacttaaggaaacaaacatgaaacacataccgttttt
+cttcgcattcttttttaccttcccctgaatgggaggcgtttcgtcgtgtgaaacagaatg
+cgaagacgaacaataaggcctcccaaatcggggggccttttttattgataacaaaaaggc
+aacactatgacatcggaaaacccgttactggcgctgcgagagaaaatcagcgcgctggat
+gaaaaattattagcgttactggcagaacggcgcgaactggccgtcgaggtgggaaaagcc
+aaactgctctcgcatcgcccggtacgtgatattgatcgtgaacgcgatttgctggaaaga
+ttaattacgctcggtaaagcgcaccatctggacgcccattacattactcgcctgttccag
+ctcatcattgaagattccgtattaactcagcaggctttgctccaacaacatctcaataaa
+attaatccgcactcagcacgcatcgcttttctcggccccaaaggttcttattcccatctt
+gcggcgcgccagtatgctgcccgtcactttgagcaattcattgaaagtggctgcgccaaa
+tttgccgatatttttaatcaggtggaaaccggccaggccgactatgccgtcgtaccgatt
+gaaaataccagctccggtgccataaacgacgtttacgatctgctgcaacataccagcttg
+tcgattgttggcgagatgacgttaactatcgaccattgtttgttggtctccggcactact
+gatttatccaccatcaatacggtctacagccatccgcagccattccagcaatgcagcaaa
+ttccttaatcgttatccgcactggaagattgaatataccgaaagtacgtctgcggcaatg
+gaaaaggttgcacaggcaaaatcaccgcatgttgctgcgttgggaagcgaagctggcggc
+actttgtacggtttgcaggtactggagcgtattgaagcaaatcagcgacaaaacttcacc
+cgatttgtggtgttggcgcgtaaagccattaacgtgtctgatcaggttccggcgaaaacc
+acgttgttaatggcgaccgggcaacaagccggtgcgctggttgaagcgttgctggtactg
+cgcaaccacaatctgattatgacccgtctggaatcacgcccgattcacggtaatccatgg
+gaagagatgttctatctggatattcaggccaatcttgaatcagcggaaatgcaaaaagca
+ttgaaagagttaggggaaatcacccgttcaatgaaggtattgggctgttacccaagtgag
+aacgtagtgcctgttgatccaacctgatgaaaaggtgccggatgatgtgaatcatccggc
+actggattattactggcgattgtcattcgcctgacgcaataacacgcggctttcactctg
+aaaacgctgtgcgtaatcgccgaaccagtgctccaccttgcggaaactgtcaataaacgc
+ctgcttatcgccctgctccagcaactcaatcgcctcgccgaaacgcttatagtaacgttt
+gattaacgccagattacgctctgacgacataatgatgtcggcataaagctgcggatcctg
+agcaaacagtcgcccgaccatcgccagctcaaggcggtaaatcggcgaagagagcgccag
+aagttgctcaagctgaacattttcttctgccaggtgcagcccgtaagcaaaagtagcaaa
+gtggcgcagtgcctgaataaacgccatattctgatcgtgctcgacggcgctaatacgatg
+cagccgagcgccccagacctgaatttgctccagaaaccattggtatgcttccggtttacg
+tccatcacaccagaccacaacttgctttgccaggctaccgctgtccggaccgaacatcgg
+gtgtagccccagcaccggaccatcatgcgccaccagcatggcctgtaatggcccattttt
+cactgatgccagatcgaccagaatacaatctttcggtaaaggcggtaatttgccaataac
+ttgctcagtaacgtggattggcacactaacaatcaccattccggcatcggcaacaatatc
+agccgctcgatcccagtcatgttgctccagaatccgcacctgataacccgagagggtcag
+catcttctcgaacaggcgtcccatctgaccgccaccgccgacgataaccaccggacgcag
+tgacggacaaagtgttttaaatcctttgtcgttttcactggagtaagattcacgcatcac
+ccgacgcaaaacatcctcaatcagatctggcggtacacccagagcttccgcctctgcacg
+acgcgaggccaacatagatgcctcgcgctccggaacataaataggcagtccaaagcggct
+tttcacctcgcccacttcagcaaccagttccagacgcttcgctaataaattcagcagcgc
+tttatcgacttcatcaatttgatcgcgtaatgcggtcaattcagcaaccataataaacct
+cttaagccacgcgagccgtcagctgcccgttcagatcctgatgaatttcacgcagcaagg
+catcggtcatttcccagctaatgcaggcatcggttacggatacaccgtatttcatttcac
+tgcgcggttgctcggaagactgattgccctcgtggatattactttcgatcatcagaccaa
+taattgagcgattgccatctttgatttgagcaaccacggattctgccaccgcaggctgac
+ggcgataatctttattggaattaccgtggctgcaatctaccatcagagacgggcgcagtc
+ccgcctgttccatctctttttcacattgcgcaacatccgcagggctatagttcggcgctt
+taccaccgcgcaggatcacatggccgtccggattcccctgagtttgtagcaacgcaacct
+gccctgcctggttaatgccaacaaaacggtgcggctgggcggcggcgcgcatagcgttaa
+ttgctgttgccagactgccgtcggtgccgtttttaaaaccaaccggcatggaaagcccgg
+aggccatttcacggtgagtttgcgattccgttgtacgagcaccaattgctgaccagctaa
+acagatcgcccaggtattgcgggctattcggatctaacgcttccgtcgccagtggcagtc
+ccatattcaccagctcaagcagcaatttacgcgcgatctgcagcccggcttctacatcaa
+aagagccatccatatggggatcgttaattaaccctttccagccgacagtggtacggggtt
+tttcaaaatagacgcgcattaccagatagaggctatcgctgacctctgcggcaagggctt
+taaatcgacgagcatattccagagcagtttccggatcatgaatggaacaaggaccacata
+ctaccagcagacgaggatcgcgcccggcgataatatctgaaatgcttttacgcgagtcag
+caatctgggcttcttgttgcaggctcaatggaaaagcggccttcagttgttccggagtca
+ttaaaacctgttcgtcggtaatatgtacgttattcagcgcgtctttttgcatgatggcga
+tcctgtttatgctcgtttgcgatagttgatcctcagcgaggatgacgtaacgataacaca
+taaagtaaagttttcaatccatatttcgtacatttttatttacacaggcaatttagtcgc
+gctttcaacccttacctctgtatagataaatttacactccctttgaaaacaatccgctat
+gctttgaaaaaggagaaagaaatgatgaaaaagtttatcgcccccttgttggctttactg
+gttagcggatgtcagattgatccttatactcacgcgccaaccttgaccagcaccgactgg
+tatgatgtcggtatggaagatgcgatatcgggcagcgccataaaagatgacgatgcattt
+agcgattcacaggcggatcgcggtctataccttaaaggatatgccgaaggacaaaagaaa
+acttgccagaccgattttacttatgcccgaggactttccggtaaaagctttcctgccagc
+tgcaacaatgttgaaaatgccagccaactgcatgaagtatggcaaaaaggggctgatgaa
+aatgccagcacaatacgattaaattaattaaaaccccacaaataaattaaacataagatt
+ttactcattgtgttttatttctcacattgatgacggtcgcatgaaaaaatgatattttaa
+tgagcattctgaaaaaatatcgatgcatttcgagcgaagatggtggggatccctgaatgc
+gtttttctcaccgactgttcttacttctgattctcctgctgacgggagcaccaatactcg
+ctcaggagccttctgacgttgcgaaaaacgtgcgtatgatggtttccggtattgtcagtt
+acacccgctggcctgcgctatcagggccaccaaagttatgtatcttttcatcttcacgtt
+ttagtaccgccctacaagagaatgccgcgacatctttgccttatctgcctgtcatcattc
+acactcaacaagaggcgatgatttcaggctgcaatggtttttattttggcaacgagtcac
+cgacattccagatggaattaaccgaacaatatccgtcaaaggcgttattattaattgccg
+aacaaaataccgagtgcattattggtagcgccttttgtctgatcatccacaataatgacg
+tcagatttgccgtaaacctggatgccttatcgcgtagcggtgtaaaggtcaacccggatg
+tcttaatgctcgcacggaagaaaaatgatggataacgataattctcttaataagcgcccc
+acgtttaaaagagcattacgcaacatcagtatgaccagcatatttatcactatgatgctg
+atctggttgctgctttccgtgacctcggtgctgaccctgaaacagtacgcgcaaaaaaac
+ctggcactgacagcagcaacaatgacttacagtctggaagcagctgtcgtttttgccgat
+ggccctgcagcaactgaaacactggcagcgctgggccagcaagggcaattttcaactgca
+gaagtacgtgataagcagcaaaatattctggcatcctggcattacacccgtaaggatcca
+ggcgatactttcagtaatttcataagccactggctcttccctgcccccatcattcagccg
+attcgtcacaatggtgaaaccattggcgaagtacgcttaaccgctcgcgacagttcaatc
+agccattttatctggttttcgctcgccgtactgaccggttgtattctgctggcatcaggc
+atcgcaattaccctcacccgccatttgcacaatggcctggtagaagcgctgaaaaatatc
+accgatgtcgtacatgatgtgcgttccaaccgcaatttttcccgacgagtttcggaagaa
+cgtatcgctgagtttcaccgcttcgctctcgacttcaacagtctgctggatgaaatggaa
+gagtggcagcttcgtttacaggctaaaaatgcgcagcttctacgtaccgcgctacatgac
+ccattaaccgggctggctaaccgcgcagcgtttcgtagcggcatcaacacgttgatgaac
+aattccgatgcccgaaaaacgtcggcgttactatttcttgatggcgataatttcaaatac
+atcaatgatacctggggtcatgcgacgggcgatagagtcttgattgaaatcgcaaaacgg
+ttagctgaatttggcgggctgcgacataaagcataccgcctgggcggcgatgaattcgct
+atggtgctctatgatgtacagtcggaatctgaagtgcagcagatatgttcagcactgaca
+caaatctttaatctcccgtttgatcttcataatggccatcagaccaccatgacattaagc
+attggttacgcgatgaccattgagcacgcctctgcggaaaaattacaagagcttgccgat
+cacaatatgtatcaggccaaacaccagcgtgccgaaaagctggtgagataacaaggatat
+atcgatatgataaagcacctggtagcacccctggttttcacctcactaatactgactggc
+tgccagtcccctcagggaaagtttactcctgagcaagtcgccgctatgcaatcttatgga
+tttactgaatccgccggcgactggtcgctgggcttatcagatgccattctgttcgcaaaa
+aatgactacaaattgctcccggaaagccagcaacagatccaaaccatggcagctaaattg
+gcctcgacagggctaacacatgcccgtatggatggacacaccgataactatggtgaagac
+agttacaacgaaggcttatcattgaaacgggcgaatgtcgtggccgatgcatgggctatg
+ggtggacaaattccacgcagcaatctcaccacacagggtttaggaaaaaaatatcccata
+gccagtaacaagaccgcccagggccgcgccgagaaccgccgcgtcgcagtggtgattact
+accccttaaaacaccagcaaacagataaaaaagggccagccaattggccagcccttctta
+acaggatgtcgcttaagcgaaatcttagttaagacgctctttgatacgagcagccttacc
+agtacgctcacgcaggtagtacagtttagctttacgaacagcaccacgacgtttgacaga
+aatgctgtcaactaccggagagtgagtctggaagacacgctcaacgccttcgccgttgga
+aattttacgaacagtgaatgcagagtgcagaccgcggttacgaatagcgataaccacgcc
+ctcgaatgcctgcagacgttttttggaaccttcaacaacccatactttcacttccacggt
+atcacccggacggaaggaaggtacgtcctgcttcatctgctcttgttcaagttgcttaat
+aatgttgctcataatttaatctcttatcctgggtaaactgatatctcgggggcttacgcc
+atcccatcatgtttatgttgctgttgtgcgtgttccgttttgaactccgccagcaacctt
+gcttgctcttcagtcagagccaggttttccagaagttcaggtcttctaagccaggtacgg
+cccagcgactgtttcaaacgccagcgacgtatctcggcatggttgcccgacagtaacact
+ggcggaacttccatcccttctaacacctcaggccgcgtatagtgcgggcaatccagcaat
+ccttcagcaaaggaatcttccgttgccgaggcttcatgtcccagtactcccggaataaac
+cgggaaacggagtcaatcagcgtcattgctggtaactcaccaccactgagaacgtaatcg
+ccgattgaccattcttcgtcaatttcggtttggatcacgcgctcatctataccttcgtag
+cgaccgcacaccagaatcaatttttgattcgttgccagttcgctgacgcccgcttgatca
+agcttgcgtccctgtggtgacagataaatcacctttgcgccttcacccgccgcggctttt
+gctgcatgaatggcgtcccgcaagggttgcaccatcattaacatccccggtccgccgccg
+taaggacgatcgtccacggtacggtgccggtcatgcgtgaagtcgcgaggactccagctc
+tggatgctcagcaggccatttttaactgcccggccagttaccccgtaatcggtaattgcg
+cggaacatttcaggaaacaggctaattatgccaatccacatagcgccgtcttttaccgtt
+tatccggtggtttaaaaaccaggatcccaatctacttcgattgaacgagtagtgagatcg
+actttcttgataacctgcccatcgaggaacggtacgagacgttccttgataccaaacgca
+tctttcaggtttgccttaatgacgagaacgtcattagatccggtttccatcatatcgacg
+actttaccgagatcgtagccttcagtggttactacctggcagcccatcaggtctttccag
+tagtagtccccctcttcaagctgaggcagctgcgatgaatccacgacaatttcacaattc
+gtcagcaggttcgccgcatcacgatcgtcaacgcctttcagcttgatgatcatgtcctga
+ttgtggtgcttccagctttccagctggacttgctgccactgacccgccttctggataaac
+cagggctgatagtcaaaaatgctttcggcgtcttcggtggaagaaaacactctgagccac
+ccacgaataccgtaagacgaacccatttttcccaaaacgatgggatcaacaggtgcttgc
+gcggtgagttgtttgctcatcatgaccaccgtgacagattaagctgctttgtttacttct
+ttgatcagcgcagcaacgcgatcagaaatagttgcgccctggccaacccagtgagcgatg
+cgatccagatccaggcgagtgccttcttctttttcgctagcgattgggttgaagaaacca
+acgcgctcgatgaagcgaccgttgcgtgcattacggctgtcagcgacaacaacctggtag
+aacggacgctttttagcgccgtgacgtgctaaacgaatagttaccataacatcctcttgt
+gtgaataaaacaaccggaccccatcgaggaacggagtccggtgtcatattaaaagcccga
+aaattttactcatttttgcgggaattgcaatcaacagttgctaactctgctgtaaaaggc
+cgtcggcggtgcagccagtttggtgccggagtgcgcgcagtcaccggagcgtacacgcag
+tacgtgaggatgacgagcacatcccggtgccaaaatggcaaacaagccaggccgattagc
+gaccagggaagcctgggggcatcatacccttcatgcttctcatcatcttcgccattccgc
+ccttcttcattttcttcatcatgcgctgcatgtcgtcgaactgtttcagaagacggttaa
+cgtcctgcacctgcataccgcaaccggcagcaatacggcgtttacgcgaacctttgatga
+tttctggcttagcgcgctctttcatcgtcatcgagttgatgatggcttccatacgcacca
+gcactttatcgtccatctgtgacttgacgttatccgggatctgccccatgcccggcagct
+tgcccatcagactagccatgccgcccatatttttcatctggcgcagctgctcaagaaagt
+cgttgagatcgaagccgtcaccttttttcagcttgctggctaatttctctgcctgcgcgc
+ggtcaactttgctttcgatatcttcgatcagcgacagtacgtcgcccatgccgagaatac
+gcgacgcgatgcggtccggatggaacggctccagcgcctcagttttctcgccaacaccga
+ggaacttgatcggtttgccagtgatgtgacgaatagagagcgccgcaccgccgcgggcat
+cgccgtccactttggtcaacactacgccggtaagcggtaacgcttcattgaatgcttttg
+ccgtattggccgcatcctgaccggtcatggcgtcaaccacaaacagggtttcaaccgggt
+taatcgacgcatggacttgtttgatctcgtccatcatcgcttcgtcaacgtgcagacgac
+cagcggtatccaccagcagcacgtcgtagaatttcagtttggcttctttcagcgccgcgt
+taacgatatctaccggcttctgaccaacatcagaagggaagaaatcaacgcccacctgct
+ctgccagcgtctcaagctgtttgattgccgccgggcgataaacgtcggcagaaaccacca
+gcactttcttcttgtgcttctcgcgcaggaacttaccgagtttaccaacgctggttgttt
+taccggcaccttgcaggcccgccatcagtacgaccgcaggcggttgcgcagccaggttca
+gggtctggttctcttcgcccatcgccgcaaccagttcgttacggactattttgacgaact
+cctgccccggcgtcaggctcttattaacttcatgaccaaccgctttctcttttacgcgat
+tgataaactcacgcactaccggcagagctacgtccgcctccagcagcgccatgcgcactt
+cgcgcagcgtatcttttacgttgtcttcagtgaggcgtccacggccactgatattgcgca
+gcgtgcgcgacaaacgatcggttaaattatcaaacattgtctctcgcctggggtggaaac
+ggttggccgcaatcgcgacacatcatcagtattttgccgcagtataacatgaaggcgtct
+ttgttgttatgcaacggttggagcagcgttcacctgacgctatactgcttctctttctta
+ttgctcaaactgtcgacatcactatgcccgtttttgctctgctcgcgcttgtcgcctact
+ccgtcagtcttgcgctgattgttcccggtctgctgcaaaaaaacggcggctggcggcgca
+tggctattatttctgcggtcattgcgctggtctgccacgcaatcgctctggaagcccgca
+tcctgcccgacggtgatagcggacaaaacctcagcctgctgaacgttggttcattggtca
+gtttgatgatctgtacggtaatgaccattgtggcttctcgcaatcgtggctggctgctgc
+tacccattgtctatgcctttgcgcttatcaacctggcgctggcaaccttcatgcccaatg
+aatacatcacccatctggaagctacgcctgggatgctggtgcacattggcttatcgctct
+tttcctatgccacgctaattatcgccgccctgtacgcgctgcaactggcgtggattgatt
+accaactgaagaacaagaagctggcgtttaaccaggaaatgccgccattgatgagtatcg
+agcgtaaaatgttccacatcacgcagattggcgtggtgctgctaacgctcacgctttgca
+ctggcctgttctacatgcacaacttatttagcatggaaaatatcgacaaggctgtgctct
+ctatcgtggcgtggtttgtctatattgtgctgctgtggggacattatcatgaaggatggc
+gtggacgccgcgtcgtctggtttaacgttgcgggcgcggtaattctgacactggcctact
+tcggcagccgaattgtccagcagttaatcagctaaacccagaaaaggagtttcccctgga
+acacatttctactactacgttgatcattattctgatcatcatggtggtcatttcagccta
+tttttccgggtccgaaaccggaatgatgaccctcaaccgctatcgtctgcgacatatggc
+gaaacagggtaatcgctcggccaaacgcgtcgaaaaattgctgcgtaagccagaccgcct
+gataagcctggtgttaatcggcaataacctggtcaatattcttgcctccgcgctcggcac
+tattgttgggatgcgtttgtacggcgatgcgggcgtggcaattgcgactggtgtgctgac
+ttttgtcgtactggtatttgctgaggtattgccgaaaaccattgccgcgctgtacccgga
+aaaagtcgcttatccgagtagttttctgctggctccgctgcaaattttgatgatgccgct
+ggtctggttgctgaatgctatcacccgtatgctgatgcgcatgatgggtatcaaaaccga
+tatcgtggttagcggctctttgagcaaagaagagttgcgcactatcgtgcacgaatcacg
+ctcacaaatttcccgtcgcaatcaggatatgctgctgtcggtgctcgatctggaaaaaat
+gaccgttgatgacatcatggtgccgcgcagtgaaattatcggtattgatatcaacgatga
+ctggaaatcgattctgcgccaactctcccactcacctcacgggcgcatcgtgctctaccg
+tgattcgctggacgacgccatcagtatgctgcgagtacgtgaagcctggcggttgatgtc
+ggagaaaaaagagttcaccaaagaaaccatgctgcgcgccgcggacgagatctattttgt
+gccggaaggtacgccgctcagcacgcagttggtaaagtttcagcgcaacaaaaagaaagt
+cggcctggtcgtcaacgagtatggagacattcaggggctggtgacggttgaagatattct
+ggaagagattgtcggcgatttcactacgtcgatgtcgccaacacttgccgaagaggtcac
+gccgcaaaacgacggttcggtgattatcgatggcaccgccaacgtgcgggaaatcaacaa
+agcctttaactggcatctaccggaagatgatgcccgcacggttaatggcgtcattcttga
+ggcactggaagagatccctgtcgcaggcacccgcgtgcgtattggcgagtacgatatcga
+tattctcgacgtacaggacaatatgattaagcaggtaaaagtttttcctgtgaaaccgct
+gcgcgagagtgtggcggagtaacgaaaacggcccggcattcgcatgcagggccgtgaatt
+attacgaaagcagaaattaagcttttgctttcgctacagtaaccatcgccgcacgaatcg
+tacgaccattcagcgtataacccttctgcataatgcccagtacgttacctggcgcaacgt
+catcagattccaccattgcgatggcctgatgcacattcgggtccagtgggacgttagttt
+cggcgatcacttcaacgccaaacttacgcacaacatccagcatcgacttcagcgtcagct
+caatgccttcaaccatcgcagacatatccgggttagctttatcagccacttccagcgcac
+gatccaggctatcaatcaccggcagcaattcgttgatgaatttctccagcgcgaatttgt
+gggctttttcaatatccagttcagtacgacgacgcaggttttccatttcggcttttacac
+gcaaaatgccgtcacgttcacgggtctgggcttcagccagctgagcttcgagattcgcaa
+ctttttcatcgcgcggatccacctgctcagcagaagcttctggctcaactgcctcaatct
+cttcgtgctgatccatgataatttcttccggggcttgcccctcaggcgttttctgttctt
+tactactcatgaatttctccgcgtttttttcgcattcatctcgctaacttcgcttattat
+ggggatcagtttcagggtttcaagggaagcactcacattgtcatcaatcttcgcaacaag
+gacctcggaaaaatgaataatcatttcaagtgtattggcattgtgggacacccacggcac
+cccactgcactgacaacacatgaaatgctctaccgctggctgtgcacaaaaggttacgag
+gtcatcgttgagcaacaaatcgctcacgaactgcaactgaagaatgtgaaaactggcacg
+ctcgcggagattgggcaactagctgatctcgcggtagtcgttggtggcgacggtaatatg
+ctgggcgcggcacgcacactcgcccgttacgatattaaagttattggaatcaaccgtggc
+aacctgggtttcctgactgaccttgaccccgataacgcccagcaacagttagccgatgtg
+ctggaaggccactacatcagcgagaaacgttttttgctggaagcgcaagtctgtcagcaa
+gattgccagaaacgcatcagcaccgcgataaatgaagtggtgcttcatccaggcaaagtg
+gcgcatatgattgagttcgaagtgtatatcgacgagatctttgcgttttctcagcgatct
+gatggactaattatttcgacgccaacaggctccaccgcctattccctctctgcaggcggt
+cctattctgaccccctctctggatgcgattaccctggtgcccatgttcccgcatacgttg
+tcagcacgaccactggtcataaacagcagcagcacgatccgtctgcgtttttcgcatcgc
+cgtaacgacctggaaatcagttgcgacagccagatagcactgccgattcaggaaggtgaa
+gatgtcctgattcgtcgctgtgattaccatctgaatctgattcatccgaaagattacagt
+tatttcaacacattaagcaccaagctcggctggtcaaaaaaattattctaattttacgcc
+agcctctttactgtatataaaaccagtttatactgtacacaataacagtaatggtttttc
+atacaggaaaacgactatgttggcacaactgaccatcagcaactttgctatcgttcgtga
+gcttgagattgattttcatagcggcatgaccgtaataactggcgagaccggcgcgggtaa
+atctattgcaatagatgccctcggtctttgtctcggtggtcgcgctgaagccgacatggt
+gcgtaccggcgctgctcgcgctgacctgtgcgcccgtttttctctgaaagatacgccagc
+ggctctgcgctggctggaagaaaaccagcttgaagacgggcatgaatgtttgcttcgtcg
+cgtgatcagcagcgatggtcgctcccgtggtttcatcaacggtacagctgttcctctgtc
+acaactgcgcgaactgggtcagttgctgattcagatccatggtcagcacgctcatcaatt
+actcaccaaacctgagcaccaaaaattcctgcttgatggctatgccaatgaaacctctct
+actgcaggaaatgaccgcacgttatcagttgtggcatcaaagctgccgtgacctcgcgca
+tcatcaacagttaagtcaggaacgcgccgcccgtgcggaactgctgcaataccaattaaa
+agaacttaacgaatttaatccgcagcccggagagtttgaacaaatcgacgaagagtacaa
+acgtctggcgaacagcggtcaattgctgaccaccagccagaatgcattggcattaatggc
+cgacggtgaagacgcaaacctgcaaagtcagctttacacggctaaacaactggtgagcga
+attgattggcatggacagcaaactgtccggcgtacttgatatgctggaagaagctaccat
+ccagattgctgaagccagcgatgaactgcgccactactgcgatcgtctggatctcgatcc
+caaccgactatttgaacttgaacagcgcatctcaaaacagatttcgctggcacgtaaaca
+tcacgtcagccctgaggcattgccacagtattaccagtcgctactggaagaacagcagca
+actggacgatcaggccgactcacaagaaacgcttgcgctggcggtaacgaaacatcatca
+gcaggcactggaaatcgcgcgcgcattacaccaacaacgccagcaatatgcagaagaact
+tgcacagctgatcaccgacagtatgcatgcgctctcaatgccgcatgggcagtttacgat
+cgatgttaaatttgacgagcatcacctgggcgctgacggtgccgatcgtattgagtttcg
+ggtaaccaccaacccaggtcagccaatgcagcctattgccaaagtcgcatccggtggtga
+attgtcccgcatcgcactggcaatccaggtcatcacggcgcgtaaaatggaaaccccggc
+actgatttttgatgaagtggatgtagggattagcggtccaacagcggcagttgtcggcaa
+actgctgcgtcaactcggcgaatcaactcaggtgatgtgtgttacccacctgccacaagt
+cgcgggatgtggtcatcaacactattttgtcagcaaagaaaccgatggtgcgatgacaga
+aacgcatatgcaatccctgaataaaaaagcgcggttacaagagctggcgcgcctgcttgg
+tggcagtgaagtcacacgtaatacactggcgaatgcgaaagaactgcttgcagcgtaaac
+ttttttcctgcttcacggtcagagtaaacagcaaaacgccgtaagaccggaaagcaaaag
+gttttaaagtgatgaaaggtctattatcatcggcatattacagatgagccacgtactgct
+cgggcccgaaaaggaatcaaatcactatgcgctgtaaaacgctgactgctgcagcagcag
+tactattgatgttgaccgcaggctgttccactctggagcgagtggtttaccgtcctgaca
+tcaaccaggggaactatctgaccgctaacgacgtatccaaaatacgtgttggcatgacgc
+aacaacaagttgcgtacgcattgggtacaccgctgatgtccgatccatttggtacgaata
+cctggttctatgtcttccgccagcaaccaggtcatgaaggtgtaactcagcaaacgctga
+cgctgacctttaacagtagcggtgtgttgaccaatattgataacaaacctgcgctgagtg
+gtaactaataataaagttgctctcaaagacgttaaaaaaggtgctcaatgagcacctttt
+ttctgtctgttatttattcgctgatttttctgctcgttgcctgcgaagctctttcggatc
+ggcaatgagagggcgataaatctccacccgatcgccatcatgcacactatcgcttagttt
+tgccggacggctgtaaatgccgactttgtttttagttaaatcgatatcggtacgcaattc
+cagcaagccactggcgcgaatagcttcttcaaccgtcgcgccctcctgcagcgtcactcg
+ctgcaggtactgcttctcaggtagcgcataagccacctcaacggcaattttacctggcac
+tgtaaacctctttcgcacgaaccgtaaaagcctggaccatattagccgccagctctttaa
+acacgcgaccaaaggcgagttcaatcaacttattggtaaactcaaagtcgagatgaaact
+cgatacgacacgcctcctggctcagcggcgtaaacttccatccaccaatcaatttcttga
+acggcccatccaccagattcataagaatactttggttactggtcaactggttgcgggtag
+taaacgttttgctgatcccagccttagagacatctaccgccgcagtcatctgcccaggag
+tggactccagaatccgacttccggtacaacccggcaaaaactgaggataagactgaacgt
+cattcactaactgatacatttgctccgcgctgtagggtaccagtgcggtccggctaatct
+gaggcataacaatttccatcaacaaaaatccaacaaataatatcatttatcctgctgtaa
+aaaaaacgctatcccggcgctgggtaacatcgggttcatgctaagatagagccttgtccc
+ccgcaggattgatatggggtgttttcgatttcagattaccgatgattcacgacgcttatg
+acgaagaaaaaagcacataaacctggttcagcgaccatcgcgcttaacaagcgcgcccgt
+cacgaatactttatcgaagaagagttcgaagcgggacttgccctgcaaggctgggaagtt
+aaatccctgcgcgcaggaaaagccaatatcagcgacagctacgtccttctgcgtgacgga
+gaggcatttctgtttggcgctaacatcacgccaatggccgtggcctccacgcatgtggtg
+tgcgatcctacccgtacccgcaagttacttctcaaccagcgcgaactggactcattgtac
+ggtcgcgtcaatcgagaaggctataccgtagtggcgctctccctgtactggaaaaatgcc
+tggtgcaaagtgaaaatcggcgtcgccaaaggtaagaaacagcacgataaacgttcagat
+atcaaagagcgcgaatggcaggtggataaagcacgtatcatgaaaaacgcccaccgttaa
+acctgcactccaattattgaccagttcctcaccgcgcctccctctccggcggcgcgaatg
+aacatcttattggctatcacatccgacacaaatgttgccatcccattgcttaatcgaata
+aaaatcaggctacatgggtgctaaatctttaacgataacgccattgaggctggtcatggc
+gctcataaatctggtatacttacctttacacattggggctgattctggattcgacgggat
+ttgcgaaacccaaggtgcatgccgaggggcggttggcctcgtaaaaagccgcaaaaaata
+gtcgcaaacgacgaaaactacgctttagcagcttaataacctgcttagagccctctctcc
+ctagcctccgctcttaggacggggatcaagagaggtcaaacccaaaagagatcgcgtgga
+agccctgcctggggttgaagcgttaaaacttaatcaggctagtttgttagtggcgtgtcc
+gtccgcagctggcaagcgaatgtaaagactgactaagcatgtagtaccgaggatgtagga
+atttcggacgcgggttcaactcccgccagctccaccaaaattctccatcggtgattacca
+gagtcatccgatgaagtcctaagagcccgcacggcgcaagccctgcgggcttttttgtgc
+cctcaatttgtcccgcgaagtccgaagagaactaattaaatccgaaccttttaggcccat
+tgataggcccaacgaaaagctctattgtttacgttgggcctaaacgcagggagactcccc
+atggcaagaaaaaccaagccgttaactgatacggaaatcaaagccgccaaacctaaagat
+gccgattaccagctttatgacggtgacgggcttactctgttaatcaagtccagtggcagt
+aagctttggcaattccgttactatcggcctttgaccaagcagcgaaccaaacagagcttc
+ggtgcctatcctgccgtctcgctttctgatgcacgtaaactcagagccgaatctaaagtt
+ttattggcgaaagacattgatcctcaggaacatcagaaagaacaggtgaggaattctcaa
+gaggccaaaaccaataccttcttgttagttgccgagcgttggtggaatgtgaagaaaacc
+agcgtaacagaggactatgccgacgatatctggcgctcgcttgagagagatattttcccg
+gcaatcggtgatatcagtatcactgagattaaggctcatactctggttaaagcagttcag
+ccggttcaggccagaggtgcattagagactgttcgccgcctttgtcagcgtattaacgaa
+gtcatgatttatgcgcagaacacaggcctgattgatgctgttcctagtgtaaatatcgga
+aaagctttcgagaaaccgcaaaagaaaaacatgccaagcatccggccggatcaacttccg
+cagctaatgcacaccatgcgtacggcaagtatcagcatgtccacaagatgcctgttcatg
+tggcaacttctaaccatcacccgccctgccgaagctgctgaggctcgatgggatgagatc
+gatttcaatgctagcgaatggaaaattcctgcagctcgaatgaagatgaaccgggaccat
+acggttccactatctgatggggctcttgctattctggaaatgatgaagcctctcagtggt
+ggccgagaatttatctttcctagccgtatcaagcccaaccaaccaatgaatagccaaaca
+gtgaatgcagcactcaagcgtgctggcttaggaggtgtacttgtttcacacggcttgcgt
+tctatcgccagtacggcactcaatgaggaaggatttccacctgatgtcattgaagcagcg
+cttgctcatgtagacaaaaatgaggtgcgtcgcgcttataaccgcagtgattatcttgag
+caacgtcgtccgatgatgcaatggtgggctgatctcgtaaaagcagcagatagtggtagc
+atcgttttaactcatttgagcaaaattcgtcttgtcggataaaatatttatcagcccagc
+tctctgggctgatatttctaaaagatcgcactaaatagctacgcggaatagtgctctact
+ttcgtttagccctttcagaggtaagacattagggcaatttcactgtatgactgcgcagtc
+atcgagtctgtggggtgttgctccttttgcaacgtatcacttgtcaataaatagaaagtg
+tagatgtattaggcgcagctatttagtctatatggcaagtagtaattatttacttctttt
+ttttctacgaacagcgctatcgaaagcttgttttacatcttcattttttaaagaccattg
+atttaaaatagtatcaaccaaagcatcttgactcattgttgctacacgatattttttatt
+ttgattatttatctcaaactctgacatttgaataaaatcccatagcggttcgataagttc
+attaactgctacaaccttatttttccacccatcattcggaacagagtcattaattagctc
+aaccaacttcagttgaatgatatggtacacttccgctttgcttttgccacccttctttcc
+tgcactccgcctgacttctgataattttttttgattacaaacagagatgttaaaccaagt
+catacctatgcacttatcaaataactccgcagcccgatgaaatgctttaaaggcaacgtt
+ttcattttcagacatgatagattttccccagaaaaaagagattgaggcgaacataaggtg
+tgccttgaaaatgtcattaatggaaaatggctcgataacaagaggtaaaaacgtttcctt
+ggtaaggtttgaacttagatttttccagcattcttgagctggatcatataattcagtgta
+ttcttcctttatctccagttgcccattcactgtatggtgccttgtttcccatggtacatc
+gcaggaatataacctcacacgagtacctattttctcagagctccagaattgctctcgcat
+tctgcctagctcaatccgtatttccggatgatcttcctctagaacatcagtatccaccgc
+ccattcgcattcggacatgtgataggcgagatcacgtcgttttctacaaatttgttcata
+aaaatcattcagagaaatcataaaaccaccataaatcaatgtattagaggttgtaaaaat
+tgtatttttggtacatgggttttttgccttaaagatacccattaatctctctgcaaccaa
+agtgaaccaatgagaggcaacaagaatgaacaatcgatcggccgttagaatactacggtt
+accagcggttatccaaaaaacaggtatggcacgggccaccatctatgactggttgaaccc
+caaatcaccacgatacgatgccacctttcccaaaaagcgaatgctcggcgtgaaatctgt
+cggatggattgaggccgagattgatgagtggttatcacaacgctgtaaacttatttgagg
+gtgttacatgaattcatactcaattgctgtcatcggagtgtaaacatcctgctatttccg
+ccattaatagcggaatagccatatttgctaaacaatttcttaatttaattaaataagagg
+cattgcatgttcaatggtcgtcctttccctgtagatgcatttcctaaaattatcaggaat
+gcaatttatgaagtggaacagcatacgcaggcccctcaaggtttgattgctgcttctgct
+cttggggtaatttctcttgcctgtcagaaccggattgatgtttgccgattgaataatcta
+cgtggcccggtatcacttttcttaatgactctggctgaatcaggtgaacgtaagagtacg
+gttgataaactgctgatgaagccattatatcaactggaagaggatttatttgaaaaatac
+acccacgatcttaccgcatggagaaatgatgaagcaatttttaatattgaaaaaaaagca
+ctgatgtcaaaacttaaatcagatattcgacgtaacaaagatcacttggcaacaaatgaa
+agacttaaagaactacttacgacaaacccgaaagctccagtgagattcaaatttttattt
+aacgatgccacacctgcagctattaaagctcatctctgtgggcactggcgatcagtcggc
+atcatgtctgatgaagctgggatcatttttaatggttacacacttaacgagctgccgttt
+atcaataagatgtgggatggttcaatatttacggtggaaaggaaaaacgagcccgagaaa
+ttaattagagatgcaagaataacactgtcgctgatggtccagcctaatgtttttaagggt
+tatatcgacaggaaaggagatatggcaaaggggattggattttttgcacggtgcctcatg
+tgccagcctgcttcaacacaaggtaacagaaaaatttccaacccaattttttcaaatgaa
+catttgccggtatttcaccaacgtcttatggaaattgttaatgagagcatcattaaaatt
+aatgaaaataatcgcatctgcctccgattctctgcagaagcagaaagacattggatcgaa
+ttctacaaccaggtcgagtcagaaatgagaatgattggccttctttatgattttaaggat
+tatgcttctaaaatggcggagaacatggcgaggcttgctgccttacttcattacttcagc
+ggtgatggaggcgatatatctgttaccgcagtaaaagcagcagtggagatagtggcttgg
+tatattgaagaatacatccgcttgttctctaaaaaagaagagttttctttagatgtttca
+gaagcagatgagctttattgttggataaaagattactgcacgcaaaaattttcttcctgc
+atcaagaaaaatattatcttacaatttgggccaaataaatttagaaatcgtgacaaggca
+aatgaattaattagaatcttaatttcacaaaacaaaatatttatatcttcatggggtaaa
+acaaaaataataaacataactcattgtgttttttgattttaatgacaatctaaaaggact
+taatttaagagtaaaaacaaactctaaacccagttcggataaaagcttgtcatcttgata
+ggtaatatataggtacatagacacatcagaacgatcacttactccaatatcattggccag
+gatactatatgacatacgatagtgaattcggatcacatgtatccctatatcgggatagaa
+tcaaacaggttattgatgactccctaaacgaacatcttaactcaatgattctacgtgttg
+atctgcatgacccaattgatacagaaaatatggataacccattctttcaacccagggttg
+actctggtgctatatctcgctttaccagtgcgttaaaagcaaagcttaaacatgataagc
+atattaaaactcaacggaaagactggcctgatagtcgacattccactttacgttacgcat
+gggtcagagaatataccaaaaatagaaagcggcattaccatttgatactgtgtttcaatc
+aggatgcttattatcatttaggtgattacgacttaaaccgtaacacgttacgtacaatga
+taacgacagcttggtacagtgcacttggcatccctatagatagctcggggaagttagtta
+attacccgccaaatggcaaataccttctcaatcgtaaaagggacaactttgagcagactt
+atagcgatttgatgaatagggtggattacatgaccaaagtaaggactaaaatagtcggtg
+acggagaccgtaatttcggctgcagtcgcgggtaatttattttttacaacaatggccttt
+cttatggctggaaaggcctgatttgtttgtattaagatatcggtaatcttttgatggttg
+gaagcccgtcctggtagacgacctagcctaccgaagatgtgagttattcaaaaatgtcgc
+tttcccgcgttccgtagacaaacgtacctaaatcaatgtcgtctaataccgagcgcgcgc
+ctgataaacatctgatcaacgtacccaatcgatctactccaaatgtcctgagtatcccga
+agatactggctcaactcatccacatcagcctcgtcggaaaattccagcaagtctaccagt
+cggtgtaacgtctgaatgggaatgccaatctcttctaaggcattgacacctggtggtaga
+tggaaactttcgaacgccaatttgacatgtgtgtaatcgactttgctgcgtataccacgc
+tttacagcgtggtgtttaactacatcctccatcaagctgagcaccttaggtagggtatag
+ccgaaggtattggttatgagcttcaaatcattgttgagggcaatggaaagagtacgtttc
+tccccttcagaaatccactgtcgtgcataatcgatctgatttttcagatattccgaataa
+ctttcagcacttaaatagccggcaagttttgcgatcatgacatccgtaggcttaacaggg
+accccattgcgactgaacgtatggggaaccagtctggcaatgatctttgcaaaggtcttg
+aggaagtttgtcgcgggagtccagtgaaacactaacgaggaaaattcgttatcgtccatc
+atctcgaacatgctttgcagcatttcgaactgctcgacacggaagtacgaatgcttcttc
+acaaggtcgatggaaacacggtcgtttatgaaaacctcatcaaagcgatcctgtgaaaac
+tcggacaagtggtctggttgaacgctggctaacaggttgattggggtatcaatgccctga
+ataccgagcggaatatccacctcttgattgagattgtcttccgggatttcctccaggcaa
+aagattttgccgacgaagtgaacgcccatgcgcccggcgcgacctttgatgttcccatgg
+gtgaatttgtcaatgctgcgagttccatcgcggttgtcgtagatcacaacgttcttagcg
+atagtgttgactccttcaatgatcgtggaggtgcagagcaaaaagcgcagttttccagca
+ttgaattggtcggcagtgtattgctgcagtgccctcggtagcgcgccaaaatgcaagcca
+ataccgtttctaagggcgactgtgtaatcccagtcggcatcgaactcttcgctgacccag
+tcgacatggggattctcagtcggagtgccatgcccaagcctgatcagctcgcgcgccacc
+aggcccgcaacagttggtgacttgcaataaatgatcgttgcgtcgacacatgcgtgcgcg
+atttcccccagcgctttgagcttggctttgtcgtcattcgctttgatgccgaacgtctta
+acatctagcgcgactgtattgaagtcggtagaaacgaaagtatgcggatatccaagtttt
+tcgagaccgcgaatgctgttaacgaacggtcccgtcaggtaaaactgcctggagacctta
+agcagtttgcttaacgcaatgttgagctcgatgactcgttcgtcttgatgatcaatgtcc
+ccgcttttcagttgtcggaacgccaacttgtaaaactcgtcaatgacgaagaggtcaatg
+tcgacgatgtcgtcacgctcgttcactcgctcctgagttaacacataaacagcctgatcg
+gaatggcacacttgggaactgtggtggatgatctgatatcggtcaccgaatcgctcttgc
+agtcggcgacgggtttcgtcggcaagagccacggttggaacaaccagaacaagccgtttc
+aaagttcccatgccgagcaatgaatcgacgattgcacttttgcccatgcttgtaggtgca
+ctcagcaccacgttttgaccagacttgagcagatcgaatatgtggaactgcattgagtgg
+aaaacataaccatccgagaatggcgtccggtatagctcaagcaccctcaggtcatccggt
+gtcaggctggtgaactcctttttgagatacgggaacaaacctgattttctcaccatattt
+ttcaaaattgtggtgtgctcggaaaaccgctcgcgcgaatcgagagctcgcacgatcaag
+tcccgtcccaagtcatacgaaacagggttagacaacagcttgttaaccgcaaacagataa
+ttgaacgatgagaagtcctcaccctgcaggctatgtttcgcctgttcatagatctctgtc
+atacgacctctctcaccttctcatcaactaattgggttaaccgctcaagactcggggctg
+gataaatgaatacgtggatgcaaagattcgcaaacggcgaatcctcgatgaggtcagccg
+cgaatttttcgaacagcaccgctgtttctttctccaggtcatcctcgaaccccggcgttt
+caggctcggttagtagattagagtcgtagcccacgaacagaacaaacgtgaaacgatcga
+ggtgagcatcgaaaggttggctgccatcaagaatttcgtcaatgtcgtggcgaagcaggt
+agttatcgtctttaatgtcgaggatttttttgcgcgcggtatcgatgcaatccgaaatgt
+cctcgtacaactgatcccgtatctccggcaatctgacggcaatgttaatatcagtcacca
+actcgctgaagccaatccaaagctgatcaccttctggatcgcggcgaacgatatgcacgt
+tttcaagaattttttcggcccctgctttttccacgtatagcatgcaaggaataggctggc
+tttcgtggtgctgccggatcgttgcgtgcaacagcactcgacccaaaaattcgctgacgt
+catggagcgatttgaagacggaattctttagtcgttctcgcttttcaatgaatgtcagtt
+tatgaatatcagacatttcttttggtcggagaaaaacctcatccaaccattgacagacgt
+tatccgcgatgtgcttgtagcggtatttcttaagtgagtactgctgatgtagaacctggc
+ctttacgcttagcgcagaccgaagccataggcgctctaaatggcgtaaggatgtggggta
+agtcccgtttgacgtagattttgcggcctgaccgagattggtcatcttcgacacgctgct
+tgaaccactcaagtaggtctggtcgtaagtaggacttgtcatcagcactgtgaatgcgtc
+gagaatgctcgcccttgcgcgtcacagtatcaaggatgcggcaccaaatgtcttcggcga
+cggtttcggaactgagaatgaccccatgtagatcttgggaggccagccgtatgttcttga
+tccctagaagttccagttcgcgcagggatgaaaacacttcccatgtagccgcatcgatcc
+aatctgaaacgcttatacctgagtctgttaaaaaattgtctgtgcgtttgttgaggtcat
+cgatgagttcctgtcgacctggcttatctagtcgggcgtttgggctgatcgtcaagtact
+caagggttttgttgaccttttcctctgtgacgatggagtacctacgtccaagggacaggt
+cagactcacactgcattgatttgtgcaaaattgaactgcaggggatcgtctttttatcag
+caccttttgaattctgaacgatgtccgaaatgttccaacgtgttttgccggtgcttttta
+cctgaacgaagtcgatgtatccatcagatacaatgtcgatatcgtctgtgacctcgcagc
+gcacactgcggatagtcttgtcacgaagcattcgggtgacatggtaagcggctacgcagt
+cctgaaataagaaaccgtgcttggcggctactccgcctgaatcgttcgactccatttaga
+catccgtgacaattttgcgaaaattaaggagatgttatgacacagtccaatcggatcact
+gcatcatcaccagtgatctaaatacttcacagccattctcggtcgcaggtatcaagcttt
+tcaggattccacaaatattgtaaccctgacgtctaatttggttatataacatactgcccc
+aactaacgtaaggtaggcacagccttaatcaaggttttggttttcaaatagttcagagct
+gagaccgccaaccgcactatggcactatggcactatggcactatggcactatggcactat
+ggcaccgccagcgattgtaatcacacttgatattataaaacacagttgcacgcattattt
+cctggttggtagggtcatatctcgatgctctttgagcaatgtcaacatcgcgtgttcatg
+gctttctatattgttgatgccttgcccatccggaccccactccttatagctcatcatgat
+ggcttgttttgggctctctgctcgttctgtttcgacgtagaattttttcttgtctgctgg
+cgaataattactaagtatcgagttgctgcttggtgagatcaggaagaggttaccgaaacg
+atggacatcatcccccattttgtggactgcccccccggtagacgatcctgccctatagtt
+ggagtgccccctattcaggtggctaaatttagcaaatcaatacacttcaggggggtatta
+ttgtagagtttccccatatgtttctatgggatccaggaaatgacaatcaggagttacaaa
+aacttaaatctggtcagggcaaatatcgagactgaatccagacaattcattgaaaataaa
+aactattcaatccaatcaattggtcctatgccagggtcaagggctgggcttcgggtcgta
+tttaccagaccaggggttaacttggcaactgtggacattttttataacggggacggttcg
+actacaattcaatatctcactggagccaatcgttctctgggccaagagttagcggatcat
+ctttttgaaaccatcaatcctgctgaatttgagcaggtaaatatggtactgcaaggattt
+gtagagacaagcgttctacctgtacttgagctatcagcagatgaatcgcatatagagttc
+agagaacactctcgtaacgctcataccgtagtgtggaaaattatttccaccagctatcag
+gacgaattgactgtgagcctgcatatcacaacaggtaagctccagattcagggccgaccg
+ctgtcatgttacagagttttcacgtttaacttggcagccctgcttgatttacagggtttg
+gagaaagtgctaatccgccaggaggatggtaaagctaatattgttcaacaggaggttgcc
+cgcacttacttgcagactgtaatggccgatgcttacccgcatctccacgtgactgccgaa
+aaattgctcgtttcagggctatgtgttaaactcgccgcccctgatttgcctgactactgt
+atgttactttatcctgaactacgcaccattgaaggtgtcttaaaaagtaagatgagtggg
+ttaggcatgccagtacagcagccggcaggttttggaacttactttgataaacctgctgct
+cattacattctgaaaccgcaatttgcagctactcttagaccggaacagattaacatcatc
+agcacagcctatactttttttaatgtggaacgtcattctctgttccacatggaaactgtg
+gtcgatgccagccgtatgatttctgatatggcccggttgatgggtaaagccactagagcg
+tggggaataatcaaggacttatatattgtttgaaatcaccggaattaacgtctcaggggc
+tctaaaagctgtcgttatggcgaccggcttcgagaaccctttgtcctcagttaatgaaat
+tgagacgaaactttctgccctactgggtagtgagaccactggtgaaatcctttttgacct
+cttgtgcgctaacggtccagagtggaaccgcttcgttacgctggaaatgaaatatggccg
+gatcatgctggatacggccaaaattattgatgagcaggacgttccgacacatatcctgag
+caaactgacttttactttacgtaatcatcctgagtacctagaagcctctgttttgtctcc
+cgatgatgtacgccaagtcctgtcaatggatttttgaaactcttctttctaaacgaacca
+gtatagaattcgcccttttggcatgatattaacttgtccaatatgatcaaatagcattaa
+ccccccctcacaacgtcctgcatagggaacacgttttcccctgtgcacccacgactaaat
+ttccccccctttaaacttctcaataatgtcaccaattttctggaaatcctatgatgcctt
+tcccggtaaatggtgctgtgagttcagaaagattctgcaatctatgtgcattgaaaaaat
+cttcagatagatatcattctcctgaacaatccgatgaacggcagaacctcgcggttctgc
+cgtttttgttttacttttcagaggagtggtgatgaaaaattttgaagttctgcagccact
+acagaactccctttccggtctaccgctatgggtatctgaacgtatattgcagcagataaa
+tcagttaacccactacgagccagtgatcggcatcatgggtaaaactggggcgggaaagag
+tagcctttgcaatgccctgtttgccggtgaagtatcgccggtcagcgatgtagcggcctg
+tacacgtgatcctttacgctttcgcctgcagattggagaacactttatgaccatcgtgga
+tctgcccggcgtgggcgaaagtggcgttcgcgataccgagtatgctgcgctgtaccgcga
+acaacttccccggctcgacctgattctgtggctgattaaggctgatgatcgggcactggc
+gactgatgagcatttttaccgtcaggtgattggcgaagcataccggcataagatgctgtt
+tgttatcagccagtcagacaaagctgaacccaccagcggtggaaatatcctttccacaga
+gcagaaacaaaatatcagccgcaaaatctgcctgctgcatgagctattccagcccgtgca
+tccggtgtgtgccgtgtcggttcgcctgcagtggggactaagggtgatggcagagcggat
+gattaagtgtctgccgcgtgaggccagcagcccggtagtagcgctactgcaacatccctt
+tcgaacaacggtagcccgggagcaggcacgtgacgatttcggtgaaaccgtaggtgccat
+actcgatacggtaagcacctttccccttattcccgccccggtgcggaccattattcaggc
+cgtgcgttcctcggtggtgtcagtggcccgcgctgtctgggatttcttcttctgagtgtt
+taattctgccctattattctccgagccctgtcgcaagtgcggcagggctttctttatttg
+ttttacccatactgaggagtctgcttatgacccgtctggcttcgcgctttggcgctgcaa
+atcttattcgccgtgaccgtccgttaacccgtgaagagttatttcgcgtggtgcccagcg
+tattcagtgaggataaacacgaatcccgcagtgaacgctacacgtatatacccacaattt
+ccctgctggacagcctgcagcgggaaggcttccagccattctttgcctgtcagacacggg
+tacgtgacccccgtcgtcgtgagcatactaagcatatgctgcgcctacgtcgggaggggc
+aaattaccggtaaacaggttccggaaattatcctgcttaactctcacgatggcaccagtt
+cgtaccagatgctgccgggcatgttcagggcggtgtgccagaacggtctggtctgcggcg
+agtcgtttggcgaggtgcgggtgccacacaagggggatgtggtgagtcaggttattgagg
+gggcgtatgaagtgctggggatttttgagcgtgtggaagaaaagagggatgccatgcagt
+cgttgcttttaccgccacctgtgcagcaggcactggcaaaagcagcgcttacgtatcgct
+ttggtgaggaccaccagccggttactgaatcgcagatactctccccacgccgctggcagg
+atgagagcaatgacctttggaccacctatcagcggattcaagaaaacctgattaagggcg
+gactcagtgggcgtaatgctaaaggcggacgaactcatactcgtgccgtgcgtggcattg
+acggggatgtgaagcttaaccgtgcgctgtgggtgatggcagaaacactgctcacgcaac
+tgcagtagacgtttcatgttgccacgttgttaatatcggacaccacctgtccgcatcgct
+atgtgctcgtgtgcctcaatcccccggttatagcttttaacccccgttacatctggcttt
+tgcagaaataaaaaatagtttctgcgttgtccataccctgtccgcccccctctttaaagt
+aatcacatcattttcagtcagttaactttcctggagaatctctcatgacacaggcagaac
+gccgccatgaccggctggctgtcaggctgtcactgataatcagccgtctggttgcgggtg
+aaacgttgagcgtgcgcaaactggcggctgagtttggcgtgtcagtgcgcacgctgcggc
+gtgattttcgtgaacgactgatgtatctggacctggagtatcagtccggatactgccgct
+tacgcactgctggcagtgagatgcagatggtgcccgacgtgcttatctttgcccaccgca
+gcgggctggccgggctttttcccggccttgaccgccgtctggtgaatgcactgctgatgt
+gcgatgagtctccctgcgtgatagcaccagccaatccggttccttcgccttcaggagcat
+tgtctttctggagactgattcaggccattaccgggcgcaggcgggtgacgctgattgcag
+aggggcgacgctgtgagcgcctagctccctgccggttactcatccaccagcagacctggt
+atctggtggctgaacacgaagggcatatcgccgtattcacacttgatgaaatccatctga
+ttcagcctttgcaggagacttttcgccgcaatgacagtctgtgtcgcctggttgaagacc
+cggtcttcattcaggccttaccccattttcgctttatccagcattcactgcttacgtttg
+ttccggccgacagcccaccggaatagcgcaggcgttgttatcaacccggcaacatggagg
+agcccagtgcccgttattgccattatcgccattgttatcatcgtcatcattctgaacaaa
+accggagtgtccgacagcctcacggccctgacacttgcaaccgttgccgcactactgacg
+ggaggtggtgcagccggtgctgccagtgtcgcgctgacgccgttcgtcggcgtgccggtg
+ggtatttttgtgggaatttatgtctttgccaaagtggttcgtctgatttcagggaaaaaa
+taatgaaacgtaaaacactacctctgctggcgctggttgccacctctctgtttctgagcg
+cctgcgatgacaggagtgatgacctcaaagctatcagtaaatttaaggacctcacgcccc
+cgcgcttcagcgatgtggtcagccgtcaggatgatgtcagcgaagaatggtcacaggttg
+gcttctcatccggtctcaccctgcaggtcttacgtacccgtgagtcgcccgatggttgcg
+agggtggcagttactactatctggtagatatggaggagaaaaccgtccagccgctgatga
+atgcgctttgtattgccgacaatatcaaactggaataccacgaagttacggacccgtata
+cgaaagaaaaatacttcgaatattcccatgacggcaaactgatgggacggctgctgatac
+cgtcaaaccctgataaccgggaataaaaacaacgagaaaggagacataaatgaaaatacg
+ttcactaagccggtttgtactggcaagtacaatgttcgccagctttacagcctctgcggt
+ccccggactctggcaacaggggtacggtcagggcaatgcggaatacagtgtgacggatgc
+cagcggaaagatgtttaccatcaactgcacgggaaatccggaccagaacggtatttacca
+gcactcggtttttctgatcctcgccggggataaaacggtcagctcgcatgatgacagtac
+cggcatcacagtggtgatggaccataagcaatatgccattccctcaacccttggctggcg
+taacggagataatgcctggttcagcttcatcatggatatccgtaaggcccggcagttcga
+cgtctacgtcaatgaccagaaagttggatcgtttaaccctgatgttcggaatgcacaaaa
+ggtcctgccaacattagcggactgcactaacgactgacggctgcgccttccctaccataa
+caaccctgattgcctccggcggtcgggggtttcttttttctccttaatctccagaggtag
+gccacgtactttcgaacgatgagcgcagtggtcagtttttttcagatatatttatctttt
+tttggctgtaagctccgctgtgagcgcaggctgtgttaaaactcctgatcactttttggt
+ctaagcgatggtttcatatgatcaaccattcttgataaacccatgagacggactaacttt
+ttcattaaaattaaaaagatatgaatgaatactgcggatatcaacatggccaatcacatt
+caaggacaaggcaggcatcaggtgacattgctccctgatgcactcgatgattttgtcact
+gaagatatctgaaataagtttaatcagttcatcacgggtcggtggcatatcgagataatt
+aattattgtcggttcgttgccgttgttatgaagcatctccagcgtgttgcgtgaggtgcc
+acaggccgggttgtgatagatggtaatgttgctcatatcagtatctaattacaaagtgac
+agagagccgccacgccagcgcggccagagtgacaaacagcaccggcacagtcatgacaat
+gccggtacggaagtaatatccccaagtgattgtcatatttttctgggcaagcacatgcag
+ccacagcagagttgccagactgccaatcggggtgattttcgggcctaaatcacagccaat
+cacattggcataaatcattgcctctttgacgacgccagtcgccgtactcccgtcaatcga
+cagcgcaccaatcagcaccgtcggcatattgttcatcactgatgagagaaatgccgtcaa
+gaagccggtgccgaacgtcgctgcccataaccccttgtctgccagcagattcagcacgcc
+agacaggtactccgtgaaccctgcattgcgcaggccatagaccacgatgtacatgcccag
+tgagaaaataacgatctgccatggcgcaccgcgcaggacttttccggtgttgatcgaatg
+acctcttttcgccaccacaaacagcactgctgcgccagcggccgctatcgcactgaccag
+gattccctgcggctccagaaagaagaaaccgacaagcagcaataacaggacaatccagcc
+cgccctgaaggttgccagatccttgatcgcactggcaggcgtcttcagcagcgaaactta
+atacgttgccggaataactctgcgaaagaagagatacagcataatcagcgtggccgcaat
+cgctgccgcatccacggagatcataacggaggcgtactgcgcaaagctcagaccgaagaa
+gtccgccgagacgatattcaccaggttagaaacaatgagcggcaggctggccgtatctgc
+aataaatcctgcagccatgacaaaggccagtgtcgtgccctggctgaacccagtgcgatc
+agcatcgcaatcacaatcggcgtcaggatcagcgcggcgccgtcattggcaaacaacgca
+tcaacagcggcaccgagcaagactttccaggtgaacagcgctctaggtaggaactttgtc
+gttgatagagtcttcagccatcaacactgtatcgagtaatgaaattggttgctagaaagt
+cgatgatttgttgcgtatgattaaaaatcaaccttaaaggctttatacatggatttgcta
+tggcttttgtatcagaaagagaaattgtaagaaagatatttagcaaaaaaattgacttta
+cgatcttggcatttttctatatttcctctattttttttcttctttgtagtggcgttctct
+ttcaatattttaccgctgccttcacaaaaggtaattgttatgaatgctcaatgaaacttg
+attacataaaacaattttatttttcactggaaaccgcatggtacctcatatctgctgttg
+cagtatttattgcatctgtttttatacagcatagaattaaagcttatttaacattattag
+ctattacatggattgtactaacaataacagatgtggcgttaatacacgccttagacaata
+tagccatgaataatattttgttaaatatactatataatctttttggggcgattttattgt
+cactgtttatgtgtttatcaaattccctccttttccaccttaataagataaaacatattc
+caatgattttatcggcaatgattccattagtttccgcaataataatagccatactcataa
+ccgctgttatatatttattgtttgcccggcaggcggtagagattgagatggatatatctg
+aaggttcagacatcgcatatgtaggtgtaaaagataatgaggaatcatttgggtttttaa
+atgataaaaaaacagacacaccaacgtatctggatgtaatcaaaaatggtagtttgatat
+ataatgatacacagggtttaagtggtgctgatatttatattgtctccggttgttatgccc
+ttccagatttacttcgcaatgtaccgcttgatgctaaaaaatcttttctgaatgtaaaaa
+agctagaaatcacacagaaacttccaatgatggggttcatacaaggtgaatccgctgatg
+tgatgcctaaagcagcatccaggttaagtttgagcaagcaagatgataaatttatgctag
+cctcaagtgttactgactctcaaataaaatttaaatcaaacaatgcacaattgatggttg
+ctttcgcatttatgccaataacaacgaatggtattttacatgattatacatacgatataa
+taataaatgataaaaaatataaaattgaaaatcatgttgcacctctatctaggcttgata
+aaaataagaagatgaagtgtgaataccagcaaatatcggatttaacaaatacgtataaca
+ttaatgcaaattacttaacgggttttttacttgtcctaaaaccagatgatattattaatt
+acaacaatagcccttccgtactactcaagactgattttgcgttctataaaaaaacatacc
+agaagcttgataaaatatatgatgacataagcaatggaaaattatcttcactgagagcaa
+caggtatctcccagtttagtatcaacgggaaacatttgtcgttaaggccagaatcggaga
+ttattatttctgaagggagtttgtatggactagttaataaaagcaaaaaaatcaaaatat
+atggcacagcagatcttgtttttgttgataacaagataatgaaccttcgtaaaataactt
+atttgcaatctaagctagaaatttttggttcttctattatggatatattaaagtatatat
+ttggtttaggtctgctagcaatttctataaaattcattcattcttactttaagaatgatg
+tgaatgaaaatttattcttgtaacgcatttggctccaattggagcctttttatgactatt
+tattaaaatatcctaagttaagcctgtttttaaagcaggcttgagcgtgaagcggacact
+catacctgctttaaagtggcgtttttgtcgttacccatacctatattttctgttgtttaa
+ctgccagaactgagcggttgaaaagccagaaatatgccgagccagcggcatggaagcgcc
+agcagctgttgaatggagtactgtaggcaaatggtgccgtaaccggctttcgtactgaaa
+ggttctgtctatcccatcccttctcttgtatctaacatttagttgtgaatagctactgta
+aatgcccctacaaaatgaaccattatttttagagggcgtctggcactccaacttccgctt
+ttggcacagaacggcctatcagcaatataaaagcattcagatatatatcatttctacaaa
+catacccgattaacggcagaatctcaggattctgccgcttttttattatttttcagggga
+gtagtaatgagcaactctgaaggttggtagtcattttagcaaacgctttctggtctgccg
+cagtgggcatcggctgattgcgtagcagggccactggtatctgccggtatcaccgacatt
+aacattgaagacgaccagggcattcacgtccgcctgatagttcgtgatgccgaaggtcgg
+atggttggcgggcatggaactttgaaccggacgccggtgaaggttttaaccgctatatcc
+acaggtcaggcatccgcaccgacaccttcccccgctgactccgaatcatttaccagcaac
+atttcaccttcccaaacgcgctttattacctcatacgccagccatcgccgctggcgtttt
+ttattcacggagacatacccatgacaacacagacacagtacgacctcgtacccgctaacg
+gatccgaatttgagttgagcgtaacgcaggtacccgatgaacagcatatccgcttctggc
+cgcagcactttggcaccatcccgcagtggataacgctggaaccgcgcattttcgcctgga
+tggaccgcttctgtgatgagtactgcgggggtatctggtccttttacacgctcagcaatg
+gcggagcgtttatggctcctgatgctgacggtgacgataaatggcatttgctcaacggca
+tgaatggcaatggtgcggaaatgagcgcggaagccgcaggtatcgctgtctgcctgattg
+aatatagccatcacgcctgcctcaccgaatgcgatgccatgacggagcactattaccgcc
+tgcgggattacgctctgcagcaccctgaatccagcgccattatgcgcattattgattaag
+gatactcatgatggaacagtcactcatcccacagacaccggtacttccactgaccgcaca
+acgcacggtaaaacgcgccttaacgctgcttgaccgacacctgcgcgaaacaggcgtggc
+attcacctccactcaggctgctcgtgactggctgaagctgaaaatggcggggctggagcg
+tgaagaatttatgatgctgtatctgaaccagcagaaccagttgattgcccacgaaaccct
+gtttgccggttctattagcagtaccgaggtacatccccgtgaggtggtcaaacgcgccct
+gtatttcaatgcagcagcagtgatactggcgcataaccacccctccggcgacactactcc
+cagccaggcagataagactataacgcagcgtctggtgcaggcgcttcagctcgttgatat
+ccgtgtccctgaccatctgattgttggtggcaggcaaatctattcgttcgcagaacacgg
+tctgctttgaggtattacatgagaattatcagtaaacgccgggcaatgacgatataccgc
+cagcatcctgagtcccgaatctttcgctactgcaccggaaaatatcagtggcacggtagc
+gtctgtcattacaccggcagggatgttccggatatcacaggagtcctggctgtgtacgcc
+gaacgccgcaggaccgcagcggaccgtatgcttgactgatgagtatcaccctgaactgac
+aataaagaggttatgaatgagcaacaccacatggggcctgcagcgagatatcacgccgcg
+cctgggagcacgtctggtgcaggagggcaaccagctgcactatctggctgaccgggccag
+tatcaccggtaagtttagtgacgccgaatgtcctaagctggatgtggtatttccacattt
+tatcagccagatagagtcgatgctgaccactggtgaactgaatccccgccatgcccaatg
+cgtcaccctgtaccacaacggttttacctgcgaagccgatactcttggtagttgcggcta
+cgtatacatcgctgtttaccccactcaacgctaactaatttcacgagagcaagcatgaac
+actctacctgctacaatttcgcaggcggcgaagccctgcctgtcgccagtggctgtctgg
+caaatgctactgacacgcctgctggaacaacactatggcctgacactgaacgacacgccg
+ttcagtgatgaaactgttattaaggaacatatcgatgctggtatcactctggccgatgca
+gtcaattttctggtggaaaagtacgaactggtacgtatcgatcacagaggattttcgtgg
+caacaacagtctccatatatttccgtagtagatattctgcgagcaaggcgctctaccggc
+ttgctaaaaactaatgtgaaataaacgcttaaatacagagcagactgaaggaaagcaaaa
+tgctaatctcatagacgaagagactcccgctgtaacctcccctcccccgaaaaaacctga
+cattttcttttaggaccaacaatgggaccaaaatgaaaattgaactgaagattacaatca
+atttaacaacaagttacacaaccaattcagactccgccagcccaccaatcatgattggac
+ggtgtaaggacaacaccaacaaaaacaggaagttagaagtctcagcaaaacaccgaccag
+acggtgaggagacataaaaggatacgcaaaggagccgcggctcctggtaacatgaaagcc
+cacagatgtgggctttttcgttgatggtcagaacgaccagttcacaccagctaccgcgtt
+ccacggggattccacaccggcactatggctataccccaccccaagatgcccgcttaacgt
+actgctgaatgaggctttaatacctgcctggtatattccacgtctgcccgacaaataatt
+gacgaaattaccgtcactattcactttcacccggttatcatcgacaaattctttgcgcac
+agccgccttcagccacggctcaacttccataccgttccccagacgcatgttgtaactcag
+cgttgcgcccagttcacgatatatactgcgggtatcgactgatttcgatttcatgccatt
+ggataaatgatattcggggttatcagcggtgaaccccgttaacgatgcatacggcgtcag
+gttccagttaccatcggtaaatcgcatcccggtttcaatgtgaccgcccagcccgttgct
+gtggtaactgccattggcggctccaccgctgctcattttacctgctacgttacttttaaa
+acggttcagcttcacgacaccgtccagatagaaaccactttcatgttcccaactggcata
+gccgcccagagaataactgcccacactgccatgtcctccgcgatcaaaaccgatatgtga
+atgggaatagcccataaaagcgcctagcgtggtaattccttcaggaatatcattacggct
+gtcgatccccactgtcattccggtcagcgtctgctcaaacccggcacccgcatcggtggt
+gacattattacgggtgttatacgtcgccccccagacattattgttgtgtggactcgcttt
+cattatgttcaaccgctcgcgaatactgtttagctcagcatcaaataccaacggtaatgt
+tgctgccatattgagtacggctgccgtagaaggcgtaatgcgtttctccggaacgggtgt
+cggcgttggatcgggagtagggtctggttttggatttgggtctggctttggatcgggttt
+tgggtctggctttggatttgggatggggtccgggttgggtttgacatcattggtcaggtt
+ccagttgctgttgccgtcacttttcaggacatactcataggtcccaagatcaacgaaacc
+gccggtattgcccagcgtaaacgaagcatcccctccccctgttttcaccagcgtcatcgc
+gtcgtcagactgtgggctgacgccggtatcctgaacaaagattttaaaattaccagtggc
+gttgttgttgacgaccagttgatcgccccgggagcctgcaacgttggtatgcaggtagaa
+attaccgctaccggaaagttcattggttgtcagcgtattgtagataccgttagttgtggc
+aggcgctgctgtttgtgctgacaaataaacatcaccgtcgttgagtagcaaactgtttac
+tctatattcgcagttgctggtacctgcacaggaattattgctgttaagccagacactgcc
+ccggctggcagccgtcaggtcggcaagcgtggtatcgacgccatttcccagagtcaatgt
+cgcgctatcggtaatccggaccgccccttcgagtttaactggcgtaacattatcccgtgg
+cgtcattaacgacaggcttcctgtcgcgccactgaccgatgcatccgccagcgtacctgc
+gtagacgattgccgtaccgccagcgacctggagatcttctgcccgggccagagcctgaaa
+ctcatcttttgaccgcccaagggtatattgcccgccagagttaacctttgtggcggagtc
+ctgacccaggttttgcattgccccacccttgccaaccgtggagtcgcgagcttcggtacc
+tgctaataccaataaattaccgccattttccagcaacatattggtcgctaaattgccgga
+aatggaaaaagtaccgtactggtgagtaccgctgatttcaataccgttagccgtgctcgt
+ctggagagcggcaccgctgttctggacgatatctgtcgctttgccattatcgttgactgt
+cagcgtaccgccttcattgatctttgtttttattgcctctccgttagctgaaactgtttg
+tattccgccgtcgttaattgttgtctcattcgccacaccctcgacaatttgttcaccgcc
+ggtgagcgtcgtgcctgtcgcagtggcttttgttttgacgatctcccgtccgcccatatt
+gacctgtgttttgtcagaagaggtgtctgactccacggttaacacgccgccatttgccag
+caggatattgttcgccgcaccctgctcgatgctgaacgcgacgccatccgcgcgtgttcc
+tgtgacccgcgtcgccctggtggttgcaaccaaagcgccctggctactctgctgtatccc
+cgttgcgctgcctttctcccgcacatcgagtgtgccgccgtcattaagcaccgagttttc
+agccaggccgccctcattaactacctgtgaacccccattaataatggaaccttccgctgt
+cccgtttgccataatttgttgtaggccagagacgatatcggtattgattgccttaccata
+attctgaacggtttgcgtgccaccattgatgtgtgttttctctgttgacccaccatcaac
+aatttgttcaccactttcgatatttgcttcagtggctaaaccatataccgtttgcttgcc
+acctttgatatttgctttatcagaagtggcactggcatatattgtttgggtgccagcact
+attgagtacagtgccaacatcttttccataaacatccattttgccgttggcattaataat
+cgtgtcaactgcgcgggaaccagtgacgactgttaatgagccagcgttttccagcactac
+atttttagcttctgaattcctgatgtagaaagcatcaccataactgttggttccttcgat
+aagtgttccggaggtcgtggaagcaattaatgcgccgccggattgttgctcaacatgctt
+agcctcaccaccgtcctgaacctccagaacgccgccattattaagtctggtgctatctgt
+tttagcctccttctggacaatcagcttaccgccagtatcaatggtagtatttttcgccga
+ggttttagccactaccgtcagttcgccggtattttccagcacaacataattagcctcccc
+tccggtaatagtgaagtgagagagcttgttgtatccttcgatatcagtccctgcacccgt
+gttggcaactaaagcactgcccgtctcctggttaaccccatgtgcaataccgccggtata
+gacaatcagcgagcctccggcgctaatattgctgccaattgccgtaccatctttctcaac
+aacctgccggctcccggaggatataattgttgtgtcagctttcccgccgcttttgatatt
+ttgcgttccgctgttgatattggtgcctgtggctatgccataattattaatattctgtgt
+gccaccattaattatggtatttgtcgcgtttcctgcaacatccataaccccgccattatc
+tattcgggtcgcatcagctttagcattggttaaaactgacattgttcctttatctttaat
+aatcgtcttgtttgccgaaccatatgcgtttatgtctaaatgaccaccgttttccagcaa
+cacattgtctgccacgtgattgtggatggagaatgcaccttcactattcgtaccgctcac
+cgtcgtaccgttagtgttagtttttaaaattgcaccatcgtgctgggtaacatttgttgc
+cgtaccacccctaacatcaagcacgccaccagaataaacttcaataacatccgaggtgct
+ggtgttatcaacaatttgcgtgccaccagaatagatatgcgtattttttgccgttgactt
+actattcagagactgagttccgccttcaatcgtcgtgtccagcgcacggctctcatatac
+tctttgctcaccgccatttttaatggttgttgtttctactgtgctctgttcaacatactg
+tcgaccaccatttatggttgtgttcgttgccagacttccttgtactacgtcctgagagcc
+agacttatttatcgttgtaccatcagcatgcccttgaacttttactatctggctaccacc
+atcaatgagtattccattcgcactccctccctctacgcgtgaagcaccgcccttaattgt
+cgttccattgctgataccccctttataaacgtcctgattgccactctcgattgtcgtacc
+tgtggaaatacccccgtcatgaattgactgtctgccaccgttaatggttgtattattagc
+ctgccccacaaaattgttatgacttcctatatcttgatatccaccagattcaataagact
+tccattagataccccgccatgaacattctgctggccatggttgataatatgagtgttatt
+tgttgtacctcgttcatccactttttggttgccatctacagtctcatcgtttaccacacc
+aataacattagtagtgaaggcagccatcccgggcggggcatatatcaaggcagatatcaa
+taaggaaagtactgagcggcgacaataatagggactggtcctgttcataaatttcatcct
+ctgaaaagtgaatactgagtagcgtttaagcgaccttagctttgctgcaacatcagccca
+caggcaccagaccaggggattcatcctgaagagacagcgcaagtgtattgtgttcaccgc
+tcatcaaagacatcatgatgaaatgatgatattccgcataagaatgaggcattttttaaa
+cgcagtgcgctgaagtgtggttggataaaaaagtcaatccattcaggaaatacgggcgta
+ttcttttctttcgacaatgaggccgttggcaaaataaaatgatttacataatcgtttctg
+atgaatatcttctgctcacataaaaatcacacaataactttgagatcgcagattgtttta
+cttttacagcattcgtccccccattgttgggcaaatatagattgggccagagcacgaaag
+ttaataccacgttcgcacagctcctccaacagcacgacaagatgccacatactgcgcccc
+agtcggttcagtttacagactagcagtgcgttccctgccgatgatgtcctgaccagtttt
+ttcagtccggacctcctgccacggttttacgttgaagtggtaaccctgagcacgcagttc
+ttcagtcaggcgtggtgcaccgtaacgctgttattgctgggtaagatcaaaaaactttca
+ggcagctaaggaaagttgaaccagacattagatgaaatatttcaaccaattacagcacca
+attcagtcactgccagcccaccaaataaatcaaggggttacatgaaaacgtagccccttt
+ttctttggtagtgacactaaaatggatgtagtgtgaagaataatcccgtttactcaatca
+ataatacatattgtttcaatctacgttattatctctttgtaaaaattgccatttattaat
+cattgaaaactgcttttagaacttgatacaacgggactagtcacaacaggactattctca
+acgggatcatcctcagaggaactatcatcaaagtcatcatccataaataaaatatcatcg
+aatggtgccacgcccgtgatgagttttattttattattacgatcagtcaatactccactt
+aaaccgttttcgctcacaggttttaatgatttttcattactcttgttgtaagcaggcgca
+ttaaaaatacacggagtatcaacatcaaacaatgacgttccccagttcacatattgaata
+tcatagttactgaagttctgtccagaaaagaagcaccccttaaaatccaatccacgtaaa
+ttatataaaccaccctcttctttttggagagtaatgttaattttggctatctcccggaca
+tcatcgccatttttgtatttgaataccgtttcaagatgttctccagacagcttgacttca
+ggaaataatttgaaatcaaagcctatattattatgtgtcaacgtagatgaacaaaaaatg
+gaaaaagcttgcagtgctgaattatagctatcgattttatcttgaggctgagctcttggt
+aaaaacttatagcaacactcataaaaattaaacagaagctctgaagaccttgtattttta
+tcaaataatacccccttgaactcattcacaaacgcatcttttttttcttgaatatctatg
+gggtgttcctttgactctgacaaagatgaaatctcatctattttgttttcatatgaatta
+cgtgattccatacagacatttggcggcgtttctaaaataacactacgcgtactacttggc
+ttaagtaaaccaacatgaaaatcactttttcttatattatcgaaaaggttctattcattt
+cttttagcgcattcaaaaaactgatcggcattatttttattcgataattttttagtttca
+gaaaacacattttcattgttttccagctttagtttaatgagaagattttcccagacctgc
+ttgcttaaacatattacgtcaggctcaccagaactaactaactcgtgattattattaaag
+tgtacgttgaatacctttaagttattttcaccaacttcatatttaatacgttttaattgt
+tctccagctcccataatgacaaaggcgttgccttcttgatatatacattcagacatcatt
+ttttgtaaagtttcaagagcaccgcgatacgtctctgatgcagcttccttacaaattaat
+tttaaaatactatgagctagtagctccatgtgtttagaagatttattttcattataactt
+ccactacccaaaactgcgctagcgttaaatccgttgcttttactaactaacattgtctat
+tcctcaattaatgtctacatggctatttttaatgttattactgtttgtcactataaaaaa
+acgctcatttgagacaattactgacattaactgcttcacttgctacgcatggaactttta
+attaaattagcacaggaatgttaaatttaataaacaaaaggttatttcgctgtatgataa
+aaaaaaccgttataatttattagtgaaaatcgtttttcaagtgttagaaatttatatctc
+aatagcgttggttaatgagcatagccacgctcctgtaacgctcacaaaactcatctgcct
+gcggcgggtgttctggtcagtagtagatgtttaaggcgtggcagagacatttcatcctta
+ctctacggcattgttctacatacattggttgtggtactcacttatcatcagtgagcgaac
+agagaatagttcagtgatttgagtaattaacctgattaaatgaaggggtataataaatga
+taatactctggctttatcgttaattacttaattccacatgtaagcaatttgcccgcttgg
+catagcaggcattttttccaggtacttttgaatgagtactgatggataaatacattgcag
+tggcgtgccacgtaccaaaacaccagccctcattcgaaaccacccaccgcacttcttcct
+tgaaatggcgttagtcatgaaatatagaccgccatcgagtaccccttgtacccttaactc
+ttcctgatacgtaaataatgatttggtggcccttgctggacttgaaccagcgaccaagcg
+attatgagtcgcctgctctaaccactgagctaaagggccttgagtgtgcaataacaatac
+ttataaaccacgcaataaacatgatgatcatatgatgtaaataacagatttttatgcgtt
+cccattcaccttgggtcgtgattacacgcgacataaaacccgacaccgcctccattcgca
+aagtcgatactcgcagtcaacaagcaaatgttaataattagcactatctatagttatcat
+cgattcaatgatactttgtaatgattttgtatctaataatataactttattacattagct
+gaagagttttcgcatcattatgatatctgttacttttcactccataaaaataaacttcgt
+atagcaatatattctttcatagatcttattctgctaatcattagtttcgtatgagcgatt
+tttgacagttgcctctccagaccacatcgataattaataaaacagatttaagcattatcc
+ttttccatataaatattggataaaagtaggacatctgtttgcaattactttcacaacaat
+taaacatttttatgtttccgtatacatcatattactctaccattagaggaactttattat
+gttttctataaaaccaggacccagaaatttacctatcgacaaccccacattgttatcatg
+gaacattactgacggggatctaaattccaaattaaatacattagaatatctaaactgtat
+aacaaatattattaattcttgtggagtttaccctcaaggattaaaagacagagaaattat
+atcaacttttcacgcagaaaaagttattaatgatctgttaaaaaacgattataaaatttc
+cctttctccagatacaacttaccgagagttgaataaagcagcacagcgtagcattacagc
+gccagacaggataggagaaagaaaaacataggtttatcaacgagatacaatgattgaaag
+aggtgataacagcggtgtttatcagtatggtcgtgctgaacatttcacccacattatatc
+tgacaaaccttccccaaaagataaatatgttgcatatgctattaacattcctgactatga
+gctggcagccgatgtatataatattaacgtgacgtcaccttccggacagcaagaaacatt
+taaaatattaatcaatctagaacatctacggcaaacacttgaacgtaaatctcttactgc
+tgttcagaaatcacaatgtgaaatcatcacccccaaaaaacctggcgaagcgattcttca
+tgcttttaatgccacctaccagcagatcagagaaaatatgtctgaatttgcacgttgcca
+ttatgggtatatacaaatccctccagtgacaactttccgcgccgacggaccagaaactcc
+cgaagaagaaaagggttactggtttcatgcttatcaacccgaagatctttgtaccatcca
+taatccaatgggagatttgcaggattttattgcattggttaaagatgctaaaaaatttgg
+tatcgatatcattcctgattatacctttaactttatgggaattgggggtagtggtaaaaa
+tgacctggattatccctctgctgatatacgagcgaagatcagtaaagatatagaaggtgg
+tatccctggctattagcaaggtcaggttttgattccattcattaaagatccagtaacaaa
+agaacgtaaacaaatccatccagaagatatacatctcactgcaaaagacttcgaagcaag
+taaagataacatctctaaggatgaatgggaaaacctccatgcattaaaagaaaagcgttt
+aaatggaatgcctaaaacaacacccaaaagtgaccaggttattatgttgcaaaatcaata
+cgttcgtgaaatgcgaaaatatggcgtacgaggtttacgttatgatgcggcaaaacactc
+aaaacatgaacaaatagaaagatcaataaccccaccgcttaaaaattataatgagcggtt
+acacaatactaacttatttaacccaaaatatcataaaaaagccgttatgaattacatgga
+atatctggtaacttgtcagttggatgaacaacaaatgtcatcactgctttatgaaagaga
+tgatttaagcgccattgatttttcattgctcatgaaaacgataaaagccttttcatttgg
+tggagatcttcaaacccttgcatcaaaaccgggttccacaatctcaagtatcccatcaga
+aagacggatattgattaacattaaccacgattttcctaacaatggtaatcttttcaatga
+ctttctatttaaccatcaacaagatgaacaattagcaatggcatatatagccgctctgcc
+gttcagcaggcctttagtttactgggatggccaagtattaaaatcaacgactgaaattaa
+aaattatgatgggtccacgcgtgtcggcggtgaggcgtagcttaataaaggttgctctac
+ctatcagcagctctacaatgaattccacgcattatatatagataaagcaggaatatggag
+cgcatttgagggtgtatctgcaactaaaaacgttctggcctttagtcgtggggattctgt
+gaacattaatcactctcctcatgatggactagttataataaataaaggaaacgaagaagt
+tgaaggtacctggcctaacaaattgcaacctggaatatacaaaaacatggggagtaatag
+cgttaacattattattaataatacccgaaaaattatcccccctggtaaagtatttacgct
+tagaggcggaactctaaatatcaatattcctgggcgtagcgctcttcttttagggaaaac
+aggagaaccgccgaactatctctatttataatttaatgttatatctgccccgataaaacg
+gggcagataatatgtttagtttactaacggtcattttgcagtgaagccatttactgtttt
+ttatcgaccagataatctgttctctaatgttaactccccctaacctgttgctttagttat
+tcatttcctgtctcactttgccttaataccctacgttaaatgttactaatttgttgcttt
+tgatcacaataagaaaacaatatgtcgcttttgtgcgcatttttcagaaatgtagatatt
+tttagattatggctacgaaatgagcatcgccatgtcaccctacatctcataagaggatcg
+cttctgatgaatgcactgaccgccgtacaaaataacgctgtcgattcaggccaggactat
+agcggattcaccctcaccccgtcggcgcaatccccgcgtctgctggaactcaccttcacc
+gaacagacgaccaaacagtttcttgagcaggttgccgagtggcccgtgcaggcgctggag
+tacaaatcgtttctgcgttttcgggtagccaaaattcttgacgatctatgtgcgaaccag
+ctgcaaccattgctgttgaagacgttgctaaaccgcgctgaaggtgcgttgttgatcaat
+gcggtgggtgtcgatgatgtgaagcaagcggatgagatggtgaagctggcgacggcggtg
+gcgcatctgattggccgttccaatttcgatgcgatgagcggtcagtattacgcgcgtttt
+gtagtgaaaaatgtcgataactcagacagctatctgcgccagccgcaccgcgtgatggag
+ctacacaacgacggcacgtatgtcgaagagataaccgattacgtgctgatgatgaaaatc
+gacgagcaaaacatgcagggcggaaattcgctgctgctgcatctcgatgactgggaacat
+ctcgacaactatttccgccacccgctggcgcgtcgcccgatgcgctttgccgcgccgccg
+agtaaaaacgtcagcaaagatgtttttcatccggtgttcgacgtcgatcaacagggtcgc
+ccggtgatgcgctatatcgaccagttcgtccagccgaaagacttcgaagaaggcgtgtgg
+ttgagcgagctttccgacgccattgaaaccagcaaaggcattctttctgtgcccgttccc
+gttggcaaattcctgttgattaacaacctgttctggctgcacggtcgcgaccgctttact
+ccgcacccggatctgcgccgtgaactgatgcgccagcgtggctatttcgcttacgcctct
+aaccactaccagacgcatcagtaagcgcaaaggaattgagcggatgtatgattttgtgat
+tattggcggcggcatcatcggcatgtcgaccgccatgcaactgattgatgtctatccgga
+cgcccgcattgcgttgctggaaaaagagtccgccccggcctgtcaccagacgggccacaa
+cagcggcgtgatccatgccggggtctattacacgcccggcagcctgaaggcgcagttttg
+cctggcgggaaaccgcgccaccaaagccttttgcgatcaaaacggcattcgctacgacaa
+ctgcggcaagatgctggttgccacgtccgatctcgaaatggaacggatgcgcgccttatg
+ggaacgcacagcggcgaacggtatcgagcgcgaatggcttaacgccgacgaactgcgcga
+gcgcgaaccgaatatcaccgggctcggcggcatttttgtgccgtccagcggcattgtcag
+ctaccgcgacgtgacggcggcgatggcaaaaatcttccagtccagaggcggtgaaattat
+ctataacgccgaagtcagcgggcttaatgagcataaaaacggcgtggtgatacgtacccg
+tcagggcggcgaatatgaagcatcaacgctgattagctgttccgggctgatggctgaccg
+gctggtgaaaatgctcggactcgaaccgggctttatcatctgcccgttccgtggcgagta
+tttccgccttgcgccggagcataaccagattgttaaccacctgatttaccccattcccga
+cccggcaatgccgtttttgggcgttcatctcacccgcatgatcgacggcagcgtgaccgt
+cgggccaaacgcggtgctggctttcaaacgcgaaggctatcgcaagcgcgacttctcatt
+tagcgacacgctggagattttgggctcgtcggggattcgccgggtgctgcaaaaccatct
+acgctcaggactgggcgagatgaaaaactcgctgtgcaaaagcggctatctgcggctggt
+gcaaaagtattgtccccggctttcgttaagcgatctccagccctggcccgccggtgtgcg
+ggcgcaggcggtatcgccggacggcaagctgattgacgattttctgtttgtcaccacccc
+gcgcacgatccacacctgcaatgcgccctccccggcagcgacatcagcaattcctattgg
+tgcgcatattgtcagcaaggtacaaacgctgttggcaagccagagtaaccccggacgcac
+gctgcgagcggcacgtagtgtggatgccttacacgccgcatttaatcaataacctttgaa
+aacaggatgtagcgatgaaacttaacgacagtaacttattccgccagcaggcgttgatta
+acggggaatggctggacgccaacaatggtgaagccatcgacgtcaccaatccggcgaacg
+gcgacaagctgggtagcgtgccgaaaatgggcgcggatgaaacccgcgccgctatcgacg
+ccgccaaccgcgccctgcccgcctggcgcgcgctcaccgccaaagaacgcgccaccattc
+tgcgcaactggttcaatttgatgatggagcatcaggacgatttagcgcgcctgatgaccc
+tcgaacagggtaaaccactggccgaagcgaaaggcgaaatcagctacgccgcctccttta
+ttgagtggtttgccgaagaaggcaaacgcatttatggcgacaccattcctggtcatcagg
+ccgataaacgcctgattgttatcaagcagccgattggcgtcaccgcggctatcacgccgt
+ggaacttcccggcggcgatgattacccgcaaagccggtccggcgctggcagcaggctgca
+ccatggtgctgaagcccgccagtcagacgccgttctctgcgctggcgctggcggagctgg
+cgatccgcgcgggcgttccggctggggtatttaacgtggtcaccggttcggcgggcgcgg
+tcggtaacgaactgaccagtaacccgctggtgcgcaaactgtcgtttaccggttcgaccg
+aaattggccgccagttaatggaacagtgcgcgaaagacatcaagaaagtgtcgctggagc
+tgggcggtaacgcgccgtttatcgtctttgacgatgccgacctcgacaaagccgtggaag
+gcgcgctggcctcgaaattccgcaacgccgggcaaacctgcgtctgcgccaaccgcctgt
+atgtgcaggacggcgtgtatgaccgttttgccgaaaaattgcagcaggcagtgagcaaac
+tgcacatcggcgacgggctggataacggcgtcaccatcgggccgctgatcgatgaaaaag
+cggtagcaaaagtggaagagcatattgccgatgcgctggagaaaggcgcgcgcgtggttt
+gcggcggtaaagcgcacgaacgcggcggcaacttcttccagccgaccattctggtggacg
+ttccggccaacgccaaagtgtcgaaagaagagacgttcggccccctcgccccgctgttcc
+gctttaaagatgaagctgatgtgattgcgcaagccaatgacaccgagtttggccttgccg
+cctatttctacgcccgtgatttaagccgcgtcttccgcgtgggcgaagcgctggagtacg
+gcatcgtcggcatcaataccggcattatttccaatgaagtggccccgttcggcggcatca
+aagcctcgggtctgggtcgtgaaggttcgaagtatggcatcgaagattacttagaaatca
+aatatatgtgcatcggtctttaactggagaatgcgaatgaacagcaataaagagttaatg
+cagcgccgcagtcaggcgattccccgtggcgttgggcaaattcacccgattttcgctgac
+cgcgcggaaaactgccgggtgtgggacgttgaaggccgtgagtatcttgatttcgcgggc
+gggattgcggtgctcaataccgggcacctgcatccgaaggtggtggccgcggtggaagcg
+cagttgaaaaaactgtcgcacacctgcttccaggtgctggcttacgagccgtatctggag
+ctgtgcgagattatgaatcagaaggtgccgggcgatttcgccaagaaaacgctgctggtt
+acgaccggttccgaagcggtggaaaacgcggtaaaaatcgcccgcgccgccaccaaacgt
+agcggcaccatcgcttttagcggcgcgtatcacgggcgcacgcattacacgctggcgctg
+accggcaaggtgaatccgtactctgcgggcatggggctgatgccgggtcatgtttatcgc
+gcgctttatccttgcccgctgcacggcataagcgaggatgacgctatcgccagcatccac
+cggatcttcaaaaatgatgccgcgccggaagatatcgccgccatcgtgattgagccggtt
+cagggcgaaggcggtttctacgcctcgtcgccagcctttatgcagcgtttacgcgctctg
+tgtgacgagcacgggatcatgctgattgccgatgaagtgcagagcggcgcggggcgtacc
+ggcacgctgtttgcgatggagcagatgggcgttgcgccggatcttaccacctttgcgaaa
+tcgatcgcgggcggcttcccgctggcgggcgtcaccgggcgcgcggaagtaatggatgcc
+gtcgctccaggcggtctgggcggcacctatgcgggtaacccgattgcctgcgtggctgcg
+ctggaagtgttgaaggtgtttgagcaggaaaatctgctgcaaaaagccaacgatctgggg
+cagaagttgaaagacggattgctggcgatagccgaaaaacacccggagatcggcgacgta
+cgcgggctgggggcgatgatcgccattgagctgtttgaagacggcgatcacaacaagccg
+gacgccaaactcaccgccgagatcgtggctcgcgcccgcgataaaggcctgattcttctc
+tcctgcggcccgtattacaacgtgctgcgcatccttgtaccgctcaccattgaagacgct
+cagatccgtcagggtctggagatcatcagccagtgttttgatgaggcgaagcagtagcgc
+cgctcctatgccggaggcgacgctgcgcgtcttgtccggcctacggggatccaggtcgga
+taaggcgtttacgccgcatccgacaatctgtacgtgaacaggaagaaatctatgttggcc
+gggtaaggcggagccgctctccggcaaaaagaatcaataacaattatacgcgtgacccgg
+cgcgggaaatgtcggggcgctctcccaagtgacacactttcgagaggattcaggatgggg
+caatcatcgcaaccacatgagttaggcggcgggctgaagtcacgccacgtcaccatgttg
+tctattgccggtgttatcggcgcaagtctgtttgtcggttccagcgtcgccatcgccgaa
+gcgggcccggcggtattactggcctatctgttcgccgggctactggtggttatgattatg
+cggatgttggcggaaatggcggttgccacgcccgataccggttcgttttccacctatgcc
+gataaagccattggtcgctgggcgggctataccatcggctggttgtactggtggttttgg
+gtactggttatcccgctggaagccaacatcgccgccatgatcctgcactcatgggttcca
+ggcattcccatctggttattttccctcgtcattaccctcgccttaactggcagtaactta
+ttaagcgttaaaaactacggcgaatttgagttctggctggcgctgtgcaaagtcatcgct
+atcctggcctttattttccttggtgcagtcgcaattagcggtttttacccgtatgccgaa
+gtgagcgggatctcaagattgtgggatagcggcggctttatgcccaacggtttcggtgcg
+gtattaagcgcgatgttgatcaccatgttctcgtttatgggcgcagaaattgtcaccatt
+gccgccgcggaatccgacacgccggaaaaacatattgtccgcgccaccaactcggttatc
+tggcgtatttctatcttctatttatgttctatttttgtcgtcgtggcattaattccgtgg
+aatatgcccggactaaaagccgtcggttcttatcgctcggtactggaattgctcaatatt
+ccccatgcgaaattaatcatggactgcgtgatattactttccgtaaccagttgcctgaac
+tcggcgctgtataccgcgtcaaggatgctctactccttaagtcgtcgcggtgatgctccc
+gcggtaatgggtaaaatcaaccgcagtaaaaccccgtacgtggcggtgttactctccacc
+ggcgcggcattcttaacggtggtggtgaactattacgcgcctgcgaaggtatttaaattt
+ctgatcgacagctccggcgctatcgccctgctggtttatttagtcatcgccgtttcacag
+ttgcggatgcgcaaaattctgcgagcagaaggaagcgaaattcgcttgcgaatgtggctt
+tatccgtggctcacctggctagtcatcggctttattacctttgtgttggtagtgatgcta
+ttccgtccggcgcaacagttagaagtgatctccaccggcttattagcgatagggattatc
+tgtaccgtgccaattatggctcgctggaaaaagctggtattgtggcaaaaaacacccgtt
+cataatacgcgctgatcatgatcaggagtcacaccatgaccattacgtctctggatggct
+atcgctggctgaagaacgatattattcgcggtaattttcaaccggatgaaaaattacgaa
+tgagtttgctgacatcgcgttatgcacttggcgttgggccgttacgggaagctctttcgc
+aactggtggcggaacggctggtcacggtggtgaatcaaaaagggtatcgggtggcgtcta
+tgtcagagcaggagctgctcgatattttcgacgcccgcgccaatatggaagcgatgttag
+tgagtctggcgattgcccgcggtggcgatgagtgggaggcagacgttctcgcaaaagcgc
+atctgctgagtaagcttgaggcctgtgacgccagcgagaaaatgcttgatgagtgggatc
+tgcgtcatcaggcgtttcatacggcaattgtggcgggctgtggttctcactatttgctgc
+aaatgcgtgaacggttgtttgatctggcggcgcgttatcgatttatctggctgcggcgaa
+cggtgctttcggtggaaatgctggaggataaacacgatcagcaccagaccctgactgcgg
+cggtactggcgcgagataccgcgcgcgccagtgagttaatgcgccagcatttactgacgc
+caattcccattatccagcaggcgatggctggcaattaactactcttccggaatacgcaac
+acttgccccggataaattttatccgggctttttagcatcggtttattcgcttcgaagatt
+ttattgtacagattagcgttaccgtagacctgtttggaaatggcactcagagtgtcgcca
+gacttaacggtataaaactggctggcagtggctggtgtcgccgttttcacctgatcatcg
+acactggcaataccggaaatattccccaccgcaacaaggattttctccttcgcctcctga
+ctcaggccgtcaccagtgaccgtcgctttgccgtcggcaatttgaatattcactttatcg
+gcatccggtataccggttttgttcagatgctcctgcaccttcttcgcctgatcgtcttta
+tcgtgctgacctgtaaccgcgtcccagagtttttctccggcatctttcacaaaattgaac
+agacccatagctacctcattcgttaacggaaacactcagaaagtgtagcagaggaacgcg
+gcgcgttaacgccgcggggatgagcacaggtttaatcgcgggtttgcacccagaacgcgt
+gaatcaaaccggggatatacccaagcagtgtcaacagaatattaataatgaacgcccaac
+cgaaccctttaccgagcagcacgccgagcggcggcagaatgatggtgatgacgattctcc
+agaaacccatatgtactccctataagaaaattactcattgtttaaaaagagattttatct
+cttaagcgtagtaattttagcggagcctgccagtttcagcttacgcttttactctcattt
+acgctgctgaggctggtatatgttgcatttttagtttagagtttacttaatttagaaaat
+acttaaataaatatgactgaactcgcgcaattacaggccagtgccgaacaggcagcggcc
+ttattgaaagcaatgagccaccctaaacgattgctgattctgtgcatgcttagcggttcc
+cccggcaccagcgcgggagagctgacgcgcattaccggactgagtgcctctgcgacatca
+cagcatctcgctcgtatgcgggacgaagggcttatcgacagccaacgggatgcccaacgc
+attctatattccattaaaaatgaggcggtaaatgccattatcgccaccctgaaaaatgtc
+tattgtccgtaaggagtcactatggctttgacaaccatttcgccgcatgatgcacaagaa
+ttaatcgcacgcggcgcaaagttaatcgatattcgtgatgctgatgaatatcttcgtgaa
+catattcctgaagcagatctggctccattatccgtgctggaacagtcaggtcttccggct
+aaattacgtcacgagcaaattatattccactgccaggcaggtaaacgcaccagtaataat
+gccgataaattagcagcgattgccgcccccgcagaaatctttttactcgaagatgggatt
+gatggctggaaaaaagcaggattgccagtagcggtaaataaatctcaacccttgccgtta
+atgcgccaggtgcagatcgctgcgggtggtttaatattaatcggcgttgtactgggttat
+accgtaaatagcggtttcttcttattaagtggctttgttggtgccgggttactgtttgca
+ggaatcagcggtttttgtggaatggcaaggttgttagataagatgccgtggaaccaacga
+gcttgagaagcgacgccggacgcgccctagcagcgacatccggcctcagtaattagatca
+ggaaatcgtcgagagatttaccttctgccagcgcctgagcaattggcttcggtgtacggc
+cctgaccggtccaggttttagtttcaccgttaacatcggtgaatttatatttcgccggac
+gcggctggcgttttttaccagcgcgtggtgcagcagcagagctattacccaataactctt
+ccgggttaattccgtcagctttcatcagctccagccaggtgctaattttttcctggcgct
+ctgccagttcacgctgctgctgttcttcttcttcacgtctttctttagtgacaaccctga
+atttttcgagcatttcttcaagaacgtcaatggagaattcgcgagccatcgcacggaggg
+tgcgaatgttatttaaactttgtaacattacggacataataaagaaaaccttttaacgcc
+aaaacaaaaaaagtatttcgtcgcgtagtgtaagcgatcacttattatatttccacaaaa
+tttaatctatttacagtcctgcgcgagattatttcagctgttattttctgaaactctcag
+aataatttcaagattatatattagccattttgatgagtaatttagattattggtgaacag
+agcggcgctctctgctcgctaattccgcaagcctgacaaaatcaaagtgaataaaaatgc
+aatataacagaataaaagaaaacatccatcactggtgctttctgctgttaatgtacattg
+tctggcataaaaaatgctgaaaatgacccagctactacatacaccgaattctctacgctt
+atagcgttacctcacccccaaactttcattagtgatattaaaggtaaggccatatctaat
+tgatttaattaaaaataaatcatatcggcatgtaaaaatccacaatgtacaaaaaacgag
+ccgttacggaatattttatctacaaaaactgactaaataaaaatttttcactaattgatt
+agtcatagccagcgatatacgctatgcgaaaatgcagatggcaatgagatccactgcttt
+catctccattaacatcccattacgcttttattaaggagcattagcatgttctcaccgcag
+tcacgcttgcgtcatgcagttgcagatacgttcgcgatggttgtttactgttctgtcgtg
+aacatgtgtattgaagttttcctctccggaatgagcttcgaacagtctttttattccaga
+ttggtagcgattccggtgaacatcttaattgcatggccatacggtatgtaccgtgatctg
+tttatgcgcgcggcacgcaaagttagcccgtcgggctggataaaaaatctggcggatatc
+ctggcttatgtgacgttccagtcaccggtgtatgtggcgatcttgttagtggtgggcgca
+gactggcatcagattatggcggcggtcagttcaaacatcgttgtttcgatgttgatgggg
+gcggtttatggctacttcctcgattattgccgccgactgtttaaagtcagccgttaccag
+caggtaaaagcctgactcttcttttcgcgactggcatcgccagtcgcgtctttaactggc
+ttcgccaaataaaccattcaaataacgttcaagcgcaacacgcgaactaaagccatgcgg
+gataccgtaatgctcgtgtcgctcgcctgctaaatagagcggaaattgctggtaatgatc
+gcaagttttaatatcggaagcgggttcagccagtgtcgaactgcgttcttttaatgttgg
+atgaattaccagagcggtacgtcccattcgcgcttcgcgattaacatagacataattttc
+cccacggcggtaaccatacgctttctgggttaccacatcgacagtaaaaccgactttttc
+aagtacgcgcgccacctcgtctggtcgtaaatacatatttgatcctcgttattatcaacc
+gcgggcctaccttacctgattgcgcattcacaacgctttcagaaaagtccataaagccgc
+gatgaacctcagttaagaaaattatggtctacactgaaaattacatcgaattctaatggg
+ggatcatatgtttaaccgaccgaaccgcaacgacgttgatgatggcgtgcaggatatcca
+gaatgatgtcaatcaattagctgacagcctcgaatctgtattgaagtcctggggcagcga
+cgccaaaggggaagctgaagccgcacgcagtaaagctcaggcattgctgaaagaaaccag
+ggcgcgaatgcatggtcgtactcgcgtccagcaagccgcgcgcgatgccgttggctgcgc
+ggattcttttgttcgtgaaagaccctggtgtagcgtgggtacagcagctgcggtaggtat
+ttttatcggcgcactgttaagcatgcgcaaatcgtagtgcaaaaatgataataaatacgc
+gtctttgaccccgaagcctgtcttcggggtttctttttgcctggtgaatcacaaaaatcc
+ccctaccccgtcacgctcatatccagggtaatttcgaccactatttgctatatattgtgt
+ggttgaatcttttttcaactacatctagtatctctgtatcaacagagagacaacccgacg
+cgtatcatcgcgccgtatcttcattttaaacggaaatacgaatcatgcgcattactattt
+acactcgtaacgattgcgttcagtgccacgccaccaaacgggcgatggaaaaccggggct
+ttgattttgaaatgattaatgtcgatcgcgttcctgaagcggcagaagcgttgcgtgctc
+agggctttcgtcagttgccggtagtgattgctggcgatcttagctggtctggtttccgtc
+cggacatgattaaccgtctgcatccagcgccacacgcggccagtgcatgagccagctcgt
+ctacttctccagcagctccgaaaacacgcagcgttttatcgaacgtttaggtctgcccgc
+ggtgcgcatcccgctcaatgagcgggaacggattcaggtagacgagccttacatcctgat
+cgtgccctcttacggcggcggcggtacggctggcgcggtgccacgacaggtaattcgctt
+tttaaacgacgagcacaaccgggcgttgcttcgcggcgttattgcttctggtaatcgcaa
+ctttggtgaggcgtatggccgcgccggagatgtgattgcccggaaatgcggcgtgccgtg
+gctgtaccgttttgaactcatgggtacgcaaagcgatatcgaaaacgttcgtaaaggagt
+aaccgaattttggcaacgacaaccgcagaatgcctgacgcaggaaacgatggattaccac
+gcgctgaatgcgatgcttaacctctacgatagcgcaggtcgcattcagttcgataaagac
+cgccaggccgttgacgcctttattgcgacgcatgtgcgtccgaacagtgtgaccttcagt
+agccagcagcagcgcctgaactggctggtcaacgaaggttactatgatgaaagcgttctt
+aatcgctactctcgcgactttgtcattacgctgtttacccacgcacacaccagcggtttt
+cgtttccagacattcctcggggcatggaagttttacaccagctatacgttgaagacattc
+gacggtaaacgttatctggaagattttgccgatcgagtaacgatggtggcgctgacgctg
+gcacaaggcgatgagacgctggcgttgcaactgaccgatgaaatgctgtcaggacgcttt
+cagccagccacgccaacattcctcaactgcggtaagcagcagcgcggcgaactggtttcc
+tgttttttgctgcgtattgaagacaatatggagtcgattggtcgggcggtaaattccgca
+ctgcagctgtcgaaacgcggcggcggcgtagcatttttgctgtcgaatctgcgagaagcg
+ggcgcgccaattaaacgtattgaaaatcaatcttctggcgtaattccggtgatgaaaatg
+ctggaagacgcattttcctatgccaaccaactcggcgctcgtcagggggctggtgcagtc
+tatttacatgctcatcatcccgatattctgcgttttctcgacacgaaacgggaaaatgcc
+gacgaaaaaatccgcattaaaacactgtcgcttggcgtggtgatcccggatatcactttc
+catctggcaaaagagaatgcgcagatggcgctgttttcgccttatgacgtagagcgagtt
+tatggcaagccgtttgccgatgtggccatcagccaacactatgacgaactggttgccgat
+gaacgcattcgcaaaaaatacctcaacgcccgtgatttcttccagcgactggcagaaatc
+cagtttgagtccggctatccctacatcatgtatgaagacacggtaaaccgtgctaaccct
+atcgccgggcgcataaatatgagtaatctctgctcagaaattttgcaggttaacagcgcc
+tcagagtatgacgagaatctcgactatacccgcacaggccatgatatttcctgcaattta
+ggttcgttgaatattgcgcacaccatggattcccccgattttgcccgcacggtagagact
+gccgtgcgcggtttaacggcagtatcagatatgagtcatatccgcagcgtgccgtccatc
+gaagccggaaatgccgcctcgcacgccatcggactggggcagatgaatttacacggctat
+ctggcgcgagaaggcatcgcttatggttcgccggaagcactggatttcaccaatctctat
+ttctatgccatcacctggcatgcactgcgtacctcgatgttgctggcacgcgaacgcggt
+gaaaccttcgccgggttcaaacagtcacgctatgccagtggtgaatattttagccaatat
+ctgcaagggaactggcagccgaaaacggcgaaagttggcgaactgtttacccgtagcggt
+attacgttacctacccgtgagatgtgggcgcagctgcgcgacgacgtgatgcgctacggc
+atatacaaccagaatcttcaggcggtgccgccaaccggttctatctcttatatcaaccat
+gctacgtcgagtattcatccgattgtggcgaaagtagagatacgcaaagagggcaaaaca
+ggacgcgtttactaccctgccccgtttatgactaacgagaatctggcgctgtatcaggac
+gcttacgaaattggcgcagaaaagatcatcgacacctacgcggaagcgactcgccatgtc
+gatcaggggctgtcgctgacgctttttttccccgataccgccaccactcgcgatatcaac
+aaagcgcagatttacgcctggcgcaagggtatcaaaacgctctattacatccgcctgcgt
+cagatggcgctggaaggcactgaaattgaaggctgcgtctcctgtgcactttaaggaata
+tctatgaaactctcacgtatcagcgccatcaactggaacaagatatctgacgataaagat
+ctggaggtgtggaatcgcctgaccagcaatttctggctaccagaaaaggtgccgctgtcg
+aacgatattcctgcctggcagacattaactgtcgtagaacaacaactgacgatgcgcgtt
+tttactggcctgacgctgctcgacacgctgcaaaatgttatcggcgcgccttctctgatg
+cccgatgcactcacgcctcatgaagaagcggtattatcgaatatcagctttatggaagcg
+gttcatgcccgctcttacagttcgattttctcgacgctatgccagaccaaagatgtcgat
+gccgcctacgcctggagtgaagaaaacgcaccgttgcagcgaaaagctcagattattcag
+caacattatcgcggtgatgatccgctgaaaaagaaaatcgccagtgtgtttcttgaatct
+tttttgttctattccggtttctggctgccgatgtatttttccagccgcggaaagctgacc
+aataccgcggacctgatccgtctgattatccgcgatgaagcagtccacggttactacata
+ggctataaatatcagaaaaacatggaaaagatatctctgggacaacgtgaagagttgaag
+agtttcgccttcgatttgttgctggaactctacgacaacgagttgcaatacaccgatgag
+ctgtacgccgaaaccccgtgggctgacgatgtgaaagcgtttctctgttacaacgccaat
+aaggctttgatgaatctgggctacgaaccgttatttcccgcagaaatggcggaagtgaat
+ccggcaatcctcgccgcgctttcgccgaatgccgatgaaaatcacgatttcttttccggt
+tcaggctcctcttatgtgatggggaaagcggttgaaacagaagatgaagactggaatttc
+tgagggtgttattttcaaaaatatcactacccgcagcagggaaataattcccgccaaata
+gctttttatcacgcaaataatttgtggtgatctacactgatactctgttgcattattcgc
+ctgaaaccacaatattcaggcgttttttcgctatctttgacaaaaaatatcaactttctc
+gatttgctctcagcccttatatcacgggaaattccggcgatttgctcgcatcaatattca
+tgccacatttgccatcaggggttgcctcagattctcagtatgttagggtagaaaaaagtg
+actatttccattgggtaatatatcgacatagacaaataaaggaatctttctattgcatgg
+caattaaattagaaattaaaaatctttataaaatatttggcgagcatccacagcgagcgt
+tcaaatatatcgaacaaggactttcaaaagaacaaattctggaaaaaactgggctatcgc
+ttggcgtaaaagacgccagtctggccattgaagaaggcgagatatttgtcatcatgggat
+tatccggctcgggtaaatccacaatggtacgccttctcaatcgcctgattgaacccaccc
+gcgggcaagtgctgattgatggtgtggatattgccaaaatatccgacgccgaactccgtg
+aggtgcgcagaaaaaagattgcgatggtcttccagtcctttgccttaatgccgcatatga
+ccgtgctggacaatactgcgttcggtatggaattggccggaattaatgccgaagaacgcc
+gggaaaaagcccttgatgcactgcgtcaggtcgggctggaaaattatgcccacagctacc
+cggatgaactctctggcgggatgcgtcaacgtgtgggattagcccgcgcgttagcgatta
+atccggatatattattaatggacgaagccttctcggcgctcgatccattaattcgcaccg
+agatgcaggatgagctggtaaaattacaggcgaaacatcagcgcaccattgtctttattt
+cccacgatcttgatgaagccatgcgtattggcgaccgaattgccattatgcaaaatggtg
+aagtggtacaggtcggcacaccggatgaaattctcaataatccggcgaatgattatgtcc
+gtaccttcttccgtggcgttgatattagtcaggtattcagtgcgaaagatattgcccgcc
+ggacaccgaatggcttaattcgtaaaacccctggcttcggcccacgttcggcactgaaat
+tattgcaggatgaagatcgcgaatatggctacgttatcgaacgcggtaataagtttgtcg
+gcgcagtctccatcgattcgcttaaaaccgcgttaacgcagcagcaaggtcttgatgcgg
+cgctgattgatgcgccgttagcagtcgatgcacaaacgcctcttagcgagttgctctctc
+atgtcggacaggcaccctgtgcggtgcccgtggtcgacgaggaccaacagtatgtcggca
+tcatttcgaaaggaatgctgctgcgcgctttagatcgtgagggggtaaataatggctgat
+caaaataatccgtgggataccacgccagcggcggacagtgccgcgcaatccgcagacgcc
+tggggtacaccgacgactgcaccgactgacggcggtggtgctgactggctgaccagtacg
+cctgcgccaaacgtcgagcattttaatattctcgatccgttccataaaacgctgatcccg
+ctcgacagttgggtcactgaagggatcgactgggtcgttacccatttccgtcccgtcttc
+cagggcgtgcgcgttccggttgattatatcctcaacggtttccagcaattgctgctgggt
+atgcccgcaccggtggcgattatcgttttcgctctcatcgcctggcagatttccggggtc
+ggaatgggtgtggcgacgctggtttcgctgattgccatcggcgcaatcggtgcctggtcg
+caggcaatggtgactctggcgctggtgttaaccgccctgctgttctgtatcgtcatcggt
+ttgccgttggggatatggctggcgagaagtccgcgagcggcgaaaattattcgtccactg
+cttgatgccatgcagaccacgccagcgtttgtttatctggtgccaatcgtcatgctattt
+ggtatcggtaacgtgccgggcgtggtggtgacgatcatctttgctctgccgccgattatc
+cgtctgaccattctggggattaaccaggttccggcggatctgattgaagcctcgcgctca
+ttcggtgccagcccgcgccagatgctgttcaaagttcagttaccgctggcgatgccgacc
+attatggcgggcgttaaccagacgctgatgctggccctttctatggtggtcatcgcctcg
+atgattgccgtcggcgggttgggtcagatggtacttcgcggtatcggtcgtctggatatg
+gggcttgccaccgttggcggcgtcgggattgtgatcctcgccattatcctcgatcgtctg
+acgcaggccgttgggcgcgactcacgcagtcgcggcaaccgtcgctggtacaccactggc
+cctgttggtctgctgacccgcccattcattaagtaactctgcacttgcccggtgacgccg
+ggcattatcaccctgccaaaaaaaggaataacaatgcgacatagcgtactttttgcgaca
+gcgtttgccacgcttatctctacacaaacttttgctgccgatctgccgggcaaaggcatt
+actgttaatccagttcagagcaccatcactgaagaaaccttccagacgctgctggtcagt
+cgtgcgctggagaaattaggttataccgtcaacaaacccagcgaagtagattacaacgtt
+ggctacacctcgcttgcttccggcgatgcaaccttcaccgccgtgaactggacgccactg
+catgacaacatgtacgaagctgccggtggcgataagaaattttatcgtgaaggggtattt
+gttaacggcgcggcacagggttacctgatcgataagaaaaccgccgaccagtacaaaatc
+accaacatcgcacaactgaaagatccgaagatcgccaaactgttcgataccaacggcgac
+ggaaaagcggatttaaccggttgtaaccctggctggggctgcgaaggtgcgatcaaccac
+cagcttgccgcgtatgaactgaccaacaccgtgacgcataatcaggggaactacgcagcg
+atgatggccgacaccatcagtcgctacaaagagggcaaaccggtgttttattacacctgg
+acgccgtactgggtgagtaacgaactgaagccgggcaaagatgtcgtctggttgcaggtg
+ccgttctccgcactgccgggcgataaaaacgccgataccaaactgccgaatggtgcgaat
+tatggcttcccggtcagcaccatgcatatcgttgccaacaaagcctgggccgagaaaaac
+ccggcagcagcgaaactgtttgccattatgcagttgccagtggcagatattaacgcccag
+aacgccattatgcatgacggcaaagcctcagaaggcgatattcagggacacgttgatggt
+tggatcaaagcccaccagcagcagttcgatggctgggtgaatgaggcgctggcagcgcag
+aagtaatttttattcgggcggataaggcgtttttgccgcatccgccgttctgtgcacaat
+gcctgatgcgacgctggcgcgtcttatcatgcctacaaaccacatcgcacatttcaacaa
+tctatctttcatcccatattcatcaacatccgctattattgatttccagcttaatcatca
+cctgatgaacaaaaataatgactaaacctaatcatgagcttagcccggcgctgatcgtgc
+tgatgtctatcgccaccggtctggcggtagccagtaactattacgcccagccattgctcg
+acaccatcgcgcgtaacttttccctttccgccagttcggcaggctttattgttaccgccg
+cgcagttgggctatgccgcaggtctactgtttcttgttcccctcggtgatatgtttgaac
+gccgccgcctgattgtctcgatgaccttactggcggcatgttgattaccgccagcagtca
+gtcgctggcgatgatgatcctcggtacggcattaaccggtttattctcagtcgtggcaca
+aattctggttccgctggcagcgacgctggcttcaccggataaacgcggcaaagtggttgg
+cactattatgagcggtctgctgttggggatcttgctggcacggacagttgccggattgct
+ggcgaatctcggcggctggcgcaccgtcttttgggttgcttcggtgttaatggcactgat
+ggcgctggcattatggcgtggtctgccacaaatgaaatcagaaacccacctcaactaccc
+acagttgttgggttccgttttcagtatgtttatcagcgataaaattctgcgtacccgcgc
+gttgctgggctgcctgacctttgccaatttcagcattctctggacctcaatggccttttt
+gcttgccgctccaccttttaactacagcgatggtgtcattggtctgtttggacttgcggg
+agctgccggagcgttgggcgctcgtccggcgggcggttttgccgataagggcaaatcgca
+ccacaccacaactttcggtctgctgctgctattactttcatggctggcgatctggtttgg
+tcacacttccgtactggcgttgattatcggaatcctggtgctggatctcaccgtgcaggg
+cgtgcatatcactaaccagacggtaatttatcggatacatcctgatgcgcgcaatcgcct
+gaccgcaggttacatgactagctactttattggcggtgccgccggttcgctaatttcagc
+ctcagcctggcaacatggcggttgggctggcgtttgtctggctggcgcgacgattgccct
+ggttaacttactggtctggtggcgaggttttcatcgtcaggaagccgcaaattaagcaat
+cagcaaccgttttcgtggctttacacttataagggtgttaagaagcccatcagtctgata
+aggttaagatattcattcagtctatttataatattaacaatcgttaagcgtacactctat
+ggaaagccctactccacagcctgctcctggttcggcgaccttcatggaaggatgcaaaga
+cagtttaccgattgttattagttatattccggtggcctttgcgttcggtctgaatgcgac
+ccgtctgggattctctcctctcgaaagcgtttttttctcctgcatcatttatgcaggcgc
+gagccagttcgtcattaccgcgatgctggcagccgggagtagtttgtggattgctgcact
+gaccgtcatggcaatggatgttcgccatgtgttgtatggcccgtcactgcgtagccgtat
+tattcagcgtctgcaaaaatcgaaaaccgccctgtgggcgtttggcctgacggatgaggt
+ttttgccgccgcaaccgcaaaactggtacgcaataatcgccgctggagcgagaactggat
+gatcggcattgccttcagttcatggtcatcgtgggtatttggtacggtaataggggcatt
+ctccggcagcggcttgctgcaaggttatcccgccgttgaagctgcattaggttttatgct
+tccggcactctttatgagtttcctgctcgcctctttccagcgcaaacaatctctttgcgt
+taccgcagcgttagttggtgcccttgcaggcgtaacgctattttctattcccgtcgccat
+tctggcaggcattgtctgtggctgcctcactgcgttaatccaggcattctggcaaggagc
+gcccgatgagctatgaggttctgctgcttgggttactagttggcgtggcgaattattgct
+tccgctatttgccgctgcgcctgcgtgtgggtaatgcccgcccaaccaaacgtggcgcgg
+taggtattttgctcgacaccattggcatcgcctcgatatgcgctctgctggttgtctcta
+ccgcaccagaagtgatgcacgatacacgccgtttcgtgcccacgctggtcggcttcgcgg
+tactgggtgccagtttctataaaacacgcagcattatcatcccaacactgcttagtgcgc
+tggcctatgggctcgcctggaaagtgatggcgattatataacccacaagaatcatttttc
+taaaacaatacatttactttatttgtcactgtcgttactatatcggctgaaattaatgag
+gtcatacccaaatggatagttcgtttacgcccattgaacaaatgctaaaatttcgcgcca
+gccgccacgaagattttccttatcaggagatccttctgactcgtctttgcatgcacatgc
+aaagcaagctgctggagaaccgcaataaaatgctgaaggctcaggggattaacgagacgt
+tgtttatggcgttgattacgctggagtctcaggaaaaccacagtattcagccttctgaat
+taagttgtgctcttggatcatcccgtaccaacgcgacgcgtattgccgatgaactggaaa
+aacgcggttggatcgaacgtcgtgaaagcgataacgatcgccgctgcctgcatctgcaat
+taacggaaaaaggtcacgagtttttgcgcgaggttttaccaccgcagcataactgcctgc
+atcaactctggtccgcgctcagcacaacagaaaaagatcagctcgagcaaatcacccgca
+aattgctctcccgtctcgaccagatggaacaagacggtgtggttctcgaagcgatgagct
+aacgcgtcatctcgctcaaaaatccagatttataaaagaaaaaatgactggccagcatcg
+caacatgctggcctttttggcaagcaggtcggctcagccgatgagttaagaagatcgtgg
+agaacaatatgagcgcaaatgcggagactcaaaccccgcagcaaccggtaaagaagagcg
+gcaaacgtaagcgtctgctcctccttctcaccttgctctttataattattgccgtagcga
+tagggatttattggtttttggtactgcgtcacttcgaagaaaccgatgacgcatacgtgg
+cagggaatcaaattcaaattatgtctcaggtgtctggcagcgtgacgaaagtctgggccg
+ataacaccgattttgtaaaagaaggcgacgtgctggtcactctcgacccgacagatgctc
+gccaggcgtttgaaaaagccaaaactgcactggcttccagcgttcgccaaacccaccagc
+tgatgattaacagcaagcagttgcaggcgaatattgaggtgcagaaaatcgccctcgcga
+aagcacaaagcgactacaaccgccgtgtgccgctgggcaatgccaacctgattggtcgcg
+aagagctgcaacacgcccgcgacgccgtcaccagtgcccaggcgcaactggacgtcgcga
+ttcaacaatacaatgccaatcaggcgatgattctggggactaaactggaagatcagccag
+ccgtgcaacaggctgccaccgaagtacgtaacgcctggctggcgctggagcgtactcgta
+ttatcagtccgatgaccggttatgtctcccgccgcgcggtacagcctggggcgcaaatta
+gcccaacgacgccgctgatggcggtcgttccagccaccaatatgtgggtggatgccaact
+ttaaagagacgcagattgccaatatgcgtatcggtcagccggtcactatcaccacggata
+tttacggcgatgatgtgaaatacaccggtaaagtggttggtctggatatgggcacaggta
+gcgcgttctcactgcttccagcgcaaaatgcgaccggtaactggatcaaagtcgttcagc
+gtctgcctgtgcgtatcgaactggaccagaaacagctggagcaatatccgctgcgtatcg
+gtttgtccacgctggtgagcgtcaataccactaaccgtgacggtcaggtactggcaaata
+aagtacgttccactccggtagcggtaagcaccgcgcgtgaaatcagcctggcacctgtca
+ataaactgatcgacgatatcgtaaaagctaacgctggctaatccagaggtgcgtgtgatg
+caacagcaaaaaccgctggaaggcgcgcaactggtcattatgacgattgcgctgtcactg
+gcgacattcatgcaggtgctggactccaccattgctaacgtggcgatccccactatcgcc
+gggaatctgggctcatcgctcagccagggaacgtgggtaatcacttctttcggggtggcg
+aatgccatctcgatcccgcttaccggctggctggcaaagcgcgtcggggaagtgaaactg
+ttcctttggtccaccatcgcctttgctattgcgtcgtgggcgtgtggtgtctccagcagc
+ctgaatatgctgatcttcttccgcgtgattcaggggattgtcgccgggccgttgatcccg
+ctttcgcaaagtctattgctgaataactacccgccagccaaacgctcgatcgcgctggcg
+ttgtggtcgatgacggtgattgtcgcgccaatttgcggcccgatcctcggcggttatatc
+agcgataattaccactggggctggatattcttcatcaacgtgccgattggcgtggcggtg
+gtgttgatgacactgcaaactctgcgcggacgtgaaacccgcaccgaacggcggcggatt
+gatgccgtggggctggcactgctggttattggtatcggcagcctgcagattatgctcgac
+cgcggtaaagagctggactggttttcatcacaggaaattatcatccttaccgtggtggcg
+gtggtggctatctgcttcctgattgtctgggagctgaccgacgataacccgatagtcgat
+ctgtcgttgtttaagtcgcgcaacttcaccatcggctgcttgtgtatcagcctcgcgtat
+atgctctacttcggcgctattgttctgctgccgcagttgttgcaggaggtctacggttac
+acggcgacctgggcaggtttggcctctgcgccggtagggattattccggtgatcctgtcg
+ccgattatcggccgcttcgcgcataaactggatatgcggcggctggtaaccttcagcttt
+attatgtatgccgtctgcttctactggcgtgcctatacctttgaaccaggtatggatttt
+ggcgcgtcggcctggccgcagtttatccaggggtttgcggtggcctgcttctttatgccg
+ctgaccaccattacgctgtctggtttgccaccggaacgactggcggcggcatcgagcctc
+tctaactttacgcgaacgctggcggggtctatcggcacgtcgataaccacgaccatgtgg
+accaaccgcgagtcgatgcaccatgcgcagttgactgagtcggtaaacccgttcaacccg
+aatgcccaggcgatgtacagtcaactggaagggcttgggatgacgcaacagcaggcatca
+ggctggattgcccagcagatcaccaatcaggggctgattatttccgccaatgagatcttc
+tggatgtcagccgggatattcctcgtcctgctggggctggtgtggtttgctaaaccgcca
+tttggcgcaggtggcggcggaggcggtgcgcactaagtacaactaagccagttcatttga
+actggcttttttcaattaattgtgaagatagtttactgactagatgtgcagttcctgcaa
+cttctctttcggcagtgccagttcttcgttgctgttgatgcgtacgtcacgttccagaat
+gctacgcgcaatatcctgcgcttcctgcaacgagtgcatctggtaagtgccacactggta
+gacgttcagttccgggatctgattctgatcctgcactttcagcacgtcttccattgccgc
+tttccaggcatcagcaacacgctgctcatctggcgtaccaatcagactcatataaaaacc
+ggtgcggcagcccattggcgagatatcgataatctctacaccattaccgttaagatggtt
+acgcataaaaccagcaaacaggtgctccagggtatggatccctctttctggcatcacttc
+tttgttcggcacgcagaagcgcagatcgaacacggtgattgcgtcgccatgcggggtgtt
+cattgttttcgccacccgaactgcaggcgcttccatccgggtatgatcgactgtgaagct
+atctaacaacggcatttagccacctccggtaatttttttaaaaattttctgaactctttc
+ttcccaggcgagtctgagtatatgaaagacgcgcatttgttatcatcatccctgaattca
+gagatgaaattttggccactcacgagtggcctttttcttttctgtcaggcgtgtttttcc
+agccacaccgcaaacggttcggtatcagcggcttccatttcctgctgacggcgttcagac
+gcctcgcgctcggctacaaaatcctcttcgcgcagaatttccagcggctcttcacgcagc
+agattacggtaggcttctgcaaatgctttgcctgttccgccaataccagtatcaatcata
+gaccttaagatacgggcagagaaagtcagatcgggattatcgaagcaggcaaccagttca
+tcacacactttctgatacgcttcgccgccgttaatactatccagcgtttgcgcgacgcgt
+ttcagatcgcggaacagatctttacccacctgcggtaacgggaactgtgcggtttcgcag
+ccgatacccagcgtcagacccggtttgcgaccttcgaggatcacccggttccagttaacg
+cgtgtacaggcaagttcgctactgctcatttccggtgcatcagccagcgcacaccagacc
+ataaacaggtcgaggaatcgcacctgctgttcatctacaccaatcggcgagaacgggttg
+atgtccagcgaacgcacttcaatatattcaatgccgccacgtaacagcgcatcagaaggc
+gactcgccgctgcgggtaacgcgttttggacgaatcggcgcgtacagttcgttttcaatc
+tgcaacacgttgctgttgatttgcagcctcttaccgtctttctcaataccaatcttcgcg
+tactcttccgatggcgttttgattgcctgtttaaggcccgctacgtactcgtaaagatcg
+ttgaaggtaataccaagattgctttgcgatttattggtatagccgagatcgctcaaacga
+agagaggtcgcatacggcaggtaatacataccgcactcggttttctcaaacggcagcgac
+gttggttttccttgcaggaaagaagaacaaatcgccggagatgcaccaaacagataagga
+atgacccaaccgaaacgatagtaattgcggataacgcggaaatagcccgcagaaattttc
+tctttggcatcagcgcccgagatatcaccgcacttcgcttgccagaatgccattggcaaa
+gagaaattgtagtgcacgccggaaatggtttgcatcagcgcgccgtagcgatttttcagc
+ccttcacgatacagcgttttaaagcgtccggtgttagaagtgccgtactgtgccagttcg
+atgtcctgaccttctgcgatgtagcatggcatacttaacggccacatccgctcatcgccc
+atattgcgcgccgtataacgatgcagatcgcgcataaaggtcagcatatgttcaatatca
+ccatccactggtgtaatgaattccagcaatgcttccgcaaaatcggtagtaatccatttg
+tgcgtcagtgcggaacctaatgcttcaggatgacctgttgttgccagtgtgccatcagca
+ttaacacgcaaagtttcgcgctccagcccacgctgtatcccctttaacgcctgaggatgt
+ttttccagccaggccagcgcctgtgatacgtccgggatcaaattgacctcccgcctgtca
+aaatcgttttaattagcataactgtaatggtgaccatatgtgcaggcctacaattagtgc
+caccacatcatgccctgaacggtcgctgctgcaactgcaacatagcgtaacgctttacca
+aggcacaaaaaaaagattaccggtccccacgagatgcgcatccatcccgctaacagacac
+agtaaatcgccaaccacgggcatccagcttaataatagcgtgactgcaccatagcgtttc
+agccagccggtagctttctcttgccagcgcgatgttttacgcaatggaaagaaacgccca
+aggataacgttagttaaccctccaaggctattacccattgttgctgttaaaactaaaacc
+cagggatgactgatcccggaaagcaacattgccaccagcacgacttcggagttgccgggt
+aatagtgtagcgctgagaaaactactggcaaacaacgagaaaagcgataacgcttcactc
+acagcaagcgaacatccacggcgtccatgcctgctgcacgggccgcctgaataccgaaat
+cggcatcttcaaagaccacacactgcgtcggttgcacgcccatacgctgcgcgcacaaca
+aaaatgtgtctggcgcgggtttatggtgtttgacgtgatcggcagcgacgacggcgtcaa
+aataatggcgtaatcccaggtgcgccagcaatgcctcagcgatggcgctttcactccccg
+ttcctacagccattgggcgacgaccatgccaacttttcaccacatcaacaagaggaagcg
+gttcgacgctatccagcagcatacttcttactgcttctgttttttcacgcgctaacgcat
+gcgggtcgagatcggcctgattcagctcaataattgcctgagcaatacgccaggtgggcg
+atccattaagcgcaatcatcgcctgaatatcgtactgaagaccgtagtgccctaatactt
+cgcgccacgctttacggtgcgtaggctccgtatccaggattgtgccatccatatcaaaaa
+ttaaacctgcataacgctcgtacatggtcttctcgcaagtcgaaaaatatgacgctactt
+tagcgtaattgcttgattttgtcgctgatggcgaaggagaagaaaattcaggaaatggat
+aaaggagttatttagaaatgagatatttttgaaggaaattttttggagaagatggtgcat
+ccgggaggatgactcactgacgttcgcccttcgggccgttgctggcgcaacgttatcctt
+cctggtgcctgcggttaataccgctatctcttcgataccttcattgctgaaggttacgga
+gaatatggtgcatccgggaggattcgaacctccgaccgctcggttcgtagccgagtactc
+tatccagctgagctacggatgcatcgggaaaacttattctactgctgatattgataccgc
+tactaaagccatatcaattaagagatggtgcatccgggaggattactcgccttgcggctc
+gcccttcgggccgttgctaaagcaacgttatcatccctagtgcctgcggttaattccgct
+acctcttcgataccttcattgctgaagatttcggagaatatggtgcatccgggaggattc
+gaacctccgaccgctcggttcgtagccgagtactctatccagctgagctacggatgcatc
+gggaaatttattttactgctgatattgataccgctactaaagccatatcaagtaagagat
+ggtgcatccgggaggattcgaacctccgaccgctcggttcgtagccgagtactctatcca
+gctgagctacggatgcatcgggaaacttactttactgcagattttttgataccgctacta
+aagccgtatcaagtaagagatggtgcatccgggaggattactcgccttgcggctcgccct
+tcgggccgttgctaaagcaacgttatcctccctggtgcctgcggttattaccgccacctc
+ttccataccttcatcgctgaaagtacgtagaatatggtgcatccgggaggattcgaacct
+ccgaccgctcggttcgtagccgagtactctatccagctgagctacggatgcaaatggcgg
+tgaggcggggattcgaaccccggatgcagcttttgaccgcatactcccttagcaggggag
+cgccttcagcctctcggccacctcaccacacgcctcttacgagtgcttcgaagaacttgt
+ttatcgctcatcgtcgctgcgtggcgcacatattactttctgagacttataagtcaaaca
+atttttcctacacttttatcgtttgcacacttcacgttcaattagtctgtaaaaacgtca
+aaaagagtgttttatcaacagaagaatggaggtctgacagatagtagtaatgcaaaaaaa
+tggagacttaagttgaatgaacgggagtaaagcgaaaagactatagagtgaaggagaaat
+tttgagggtgcgtctcaccgataaagatgagacgcggaaagattagtaactggactgctg
+ggatttttcagcctggatacgctggtagatctcttcacggtgaacagaaacttccttcgg
+ggcatttacgccaatacgtacctggttgccctttacccctaaaactgtcacggtgacctc
+atccccaatcatgagggtctcaccaactcgacgagtcagaatcagcattctttgctcctt
+gaaagattaaaagagtcgggtctctctgtatcccggcattatccatcatataacgccaaa
+aagtaagcaatgacaaacacattacatctaagcagtcatggcattacattctgttaaacc
+taagtttagccgatatacacaacttcaacctgactttatcgttgtcgatagcgttaatgc
+gaatgccgtgaagcgagtccacggcattgcctgacgcttatattattgcaatttcgcgct
+gacccagcctttcacactggctaacgctgcaggtaaggccgcagcatccgtaccaccggc
+ttgcgccatgtcaggacgtccaccacccttgccgcccacctgctgagcgaccataccaat
+cagttcccctgctttcacacgatctgtgacgtccttagatacgcctgcaatcagagaaac
+cttaccttcgactaccgttgccagcacgataattgtcgaccccagctgattttttaaatc
+gtcaaccatggtacgcaacattttcggctcaacaccgctaagctcgctaaccaacagctt
+aacaccattaacatcaattgccttactggaaagatttgcgctctcctgtgcggcagcttg
+ttctttaagctgttgtaactctttttccagctgacgcgtacgttccagtactgagcgcac
+tttatcagccagattattgctatcgcctttcagcagatgcgcgacttcgcttaagcgatc
+gctgtctgcatgaacggtggcgatagcaccttctccggttaccgcttcgatacgacgaac
+gcctgcagcagtacccgattcagagatgatgcggaacagaccaatatcaccagtgcggct
+ggcgtgagtaccgccacacaactcggtagagaaatcgcccatgctcagcacgcgtacgcg
+ctcatcatacttctcgccgaacagcgccatcgcacctttcgctttcgccgcttcgagatc
+catgatgttggtttcgatcggcaaattgcgacgaatctgtgtgttcaccaggtcttcgac
+cgcacgaatctcttctggtttcatcgcttcgttgtgtgagaagtcgaagcgcagcacctt
+gtcgttaaccagtgaacctttctgcgatacatgagtacccagaacctggcgcagcgcagc
+gtgcatcaggtgcgttgcggagtgattcagacgaatacgggcgcgacgagcctcatcaac
+atcagcctgcaccgcgtcgcccactttcagagaacccgcagcaagtttaccgatgtgacc
+aatcgcctggccgtatttctgcgtatcttccaccgcaaaggagaagttagcgcctttcag
+ttcgcctttatcgccaacctgaccgccggattccgcatagaatggcgtttgatccagcac
+gaccacagcttcctggcctgcattgatggcatcaaccgctttaccatcaacaaacagcgc
+agtcactttgccgttcagttccagatggtcatagcctttaaattcagatgcactgtcaac
+acggatcattgcgttgtaatcggcaccaaagccgctggcttcgcgcgcgcgacgacgctg
+ctcttccattgcagcttcaaaaccagcttcgtcaactttgatgttgcgctcacgacaaac
+atcagccgtcaggtcaaccgggaagccataggtgtcgtacagacggaaagcagtttcacc
+atccagcgtatcaccagaaagttttgccagctcttcatccagcaacgccagaccgcgctc
+cagagtacgagcaaactgctcttcttcagtcttcagcacctgctcaacctgcgcctgctg
+gcgtttcaggtcttcacccgcagagcccataacgtcgatcagcggaccaaccagtttgta
+gaagaaggtttctttcgcgccgagcatattaccgtgacgcactgcgcgacgaatgatacg
+acgcagtacataaccacggttttcattggacggcattacgccatccgcgatcaggaacgc
+acaagaacgaatgtggtcagcgattacgcgcagcgatttattgctcagatcggttgcgcc
+agtgactttcgctaccgcctggatcagcgtgcggaacaggtcgatgtcatagttagagtt
+aacgtgttgcagcaccgcagcaatacgctccagacccataccggtatctacagacggctt
+cggcagcggttccatcgtgccatcggcctggcggttgaactgcatgaagacgatgttcca
+gatctcaatgtagcggtcgccgtcttcttccgggcttcccggagggcccccccaaatgtg
+gtcgccgtgatcgtagaagatttcggtgcacgggccgcacggaccagtgtcacccatctg
+ccagaagttgtcagatgcgtatggcgcacctttgttatcgccgatgcgaataatacgttc
+gcgcgggatccctacttctttttcccagatttcgtaggcttcgtcgtcgctttcatagac
+ggtaacccacagacgctctttcggcagggcaaaccatttttcgctggtcagcagttccca
+tgcaaactgaatggcatcgtgtttgaaatagtcgccgaagctgaagttgcccagcatttc
+gaagaaggtatggtgacgcgcggtgtaaccgacgttttccaggtcgttgtgtttaccacc
+cgcacgcacgcagcgttgggaagtggtagcgcgggaataattacgcttgtcgagcccaag
+gaacacatccttgaactggttcatcccggcgttggtaaacaacaaagttgggtcgttatg
+gggtaccagggagctgctggcaactacctgatgtcccttactatggaaaaagtcgagaaa
+cgcctgacggatctcagcggtgctcttgctcataattatcctgaaatcaagctaacgaaa
+tatcgccaccagctccagcgtgtcttaaccgccgggctggtaactgaaaagtgggaataa
+gataagttttcttgactgggaagtaaaataccgtatgcgttcagtcggcaaaatttcgcc
+aaatctcctggatatcttccatcagatagccacgatagagcagaaaacgctggatcttaa
+ctttttctgaaaagacagttggcaaaggttcgccatattttcgcgtcgcctgatcgcgcg
+ccagtgcgcaccagtcgatgtcacattcacgcatcgctttttctgtcgcttcgcgggaaa
+tacctttctgattcagttcctggcgaatacgcgcaggtccataacctttgcggctacggc
+tggcgataaagcgcgcaacaaatcggctgtcatcgagatagccatgttcatggcaccagg
+caataacgcgctcgtaatcttctgccgtagcatcaatctcttctgggccatttttgccca
+taatcggtgccgcgagtttacgtcgcagttcttgctcactgtgatcgcgcaccgccagaa
+tgcgtaccgcacgatccaacaggcgagcatatgccgggcgacgggatgttgattctgtca
+tggcatatccttacaacttaaaaaagcaaaagggccgcagatgcgacccttgtgtatcaa
+acaagacgattaaaaatcttcgttagtttctgctacgccttcgctatcatctacagagaa
+atccggcgttgagttcgggttgctcagcagcaactcacgtactttcttctcgatctcttt
+cgcggtttccgggttatctttcagccaggcagtcgcattcgctttaccctgaccgatctt
+ctcacctttgtagctgtaccacgcgcctgctttctcgatcagcttctcttttacgcccag
+gtcaaccagttcgccgtagaagttgataccttcgccgtagaggatctggaattcagcctg
+tttaaacggcgcagcgattttgttcttcaccactttcacgcgggtttcgctacccaccac
+gttttcgccctctttcaccgcgccgatacgacggatgtcgagacgaacagaggcgtagaa
+tttcagcgcgttaccaccggtagtggtttccgggttaccgaacatcacaccaattttcat
+acggatctggttgatgaagatcagcagcgtgttggactgcttcaggttacccgccagctt
+acgcatcgcctggctcatcatacgtgccgcaaggcccatgtgagagtcgccgatttcgcc
+ttcgatttccgctttcggcgtcagtgccgccacggagtcaacgacgataacgtctactgc
+gccagaacgcgccagggcgtcacagatttccagtgcctgctcgccggtgtccggctggga
+gcacagcaggttgtcgatatcgacgcccagtttacgtgcgtagattgggtccagcgcgtg
+ttcagcatcgataaacgcacaggttttaccttcacgctgcgctgcggcgatcacctgcag
+cgtcagcgtggttttaccggaagattccggtccgtagatttcgacgatacggcccatcgg
+cagaccacctgccccaagcgcgatatccagtgaaagcgaaccggtagagatggtttccac
+atccatggaacggtcttcacccaggcgcatgatggagcctttaccaaattgtttctcaat
+ctggcccagtgctgccgccaacgctttctgtttgttttcgtcgatagccatttttactcc
+tgtcatgccgggtaataccggatagtcaatatgttctgttgaagcaattatactgtatgc
+tcatacagtatcaagtgttttgtagaaattgttgccacaaggtctgcaatgcatacgcag
+tagcctgacgacgcaccgcatcacggtcgccgctgaagcattcccgccgggtaatgcctt
+caccgcgggcagtggcaaaagcaaaccagacggtgccgacaggcttctcttcactgccgc
+catccggcccggcgataccactaatagacacggcataatcagcacgagccgctttcagtg
+cgcctatcgccatttccaccacgacgggttcactcaccgcgccatgctgcgccagcgtct
+cttcgcgtacgccgatcatctgcgctttggcttcgttactgtaggtgacaaatccgcgtt
+caaaccaggcggagctaccggcaatatcggtaatcactttcgctacccaaccaccggtac
+aagactcggcagttgttacggttgcgccacgggctttcagcgcctgcccaacctgttcac
+ttaactgcatcagttcactgtcagtcatcacaacctctgtcagtcaaaaatttatgccgg
+acaagatagcactttcgtcaggaagatggtgttggcgttgcaattttacgaggaggattc
+agaaaaaagctgattagccagagggaagctcacgcccccctcttgtaaatagctactgta
+ctcgcgccagcgccacggcttgtcctaactgccagaccgccattgcgtaatgggtgctgt
+ggttgtaacgggtgatggtgtagaagttcggcagaccgtaccagtactggtagccggtgc
+caacatccagacgcagcaggctggcttgttgatggttgcccagcggctgctgtggcgtta
+aacctgcggcggcaagctgcgaaatgctgtacttagttttgaagccatttggcaagcctg
+gagcctgaccgtttgccattaccgcgacctgatcgcctttcacccagccgtgcgctttga
+aatagttcgccacgctaccgatcgcatcaaccggatcccacaggttgatatgcccgtcgc
+cgctgaaatctaccgcatattgtttgtaagacgacggcataaactgtccgtagcccatcg
+ccccggcaaaggaacctttcagattgagcggatcgtcctgctcgtcgcgcgccatcaaca
+ggaaggtttccagctcgccagagaaatactccgcgcggcgtgggtagttaaatgacagcg
+ttgccagcgcatcgaggatgcgagttttccccatcacgcgcccccagcgggtttcaacgc
+cgataatcccgacgataatttccggcggtactccatacacctgccacgcgcgattcaacg
+catcttcatactgattccagaaaaccacaccgttctgcacgttgtccggcgtaataaatt
+ttttgcgataacggagccatgcgccgttcggacctgatggcggtttcaccgatgtggttg
+gtgcctggttatccatcagccgcagtaccgaatccagacgcttcgcctgggagagaattt
+cctgcaactgctgacgatcgaaaccgtgtttgttcaccattttgtcgatgaactgctggg
+cattcgggttattagcgaaatcgccgcccatctgcatcacattgtgctgcggctcaagca
+ggaagccgccagacggcgttccggtggtcgtatcagtctcagtaggttttggcttgctgc
+tacaggcggcaagcaacacaaaaaggggaagcaatgttacataacgacgcttgaacatga
+ggggtccatttaacagattcaaccaggggcaagtatggtaaagcatcacgccccgcacaa
+ggaagcggtagtcactgcccgatacggactttacataactcaactcattcccctcgctat
+ccttttattcaaactttcaaattaaaatatttatctttcattttgcgatcaaaataacac
+ttttaaatctttcaatctgattagattaggttgccgtttggtaataaaacaataaatcct
+gaaggagagaacaatgatagaaaccattactcatggtgcagagtggtttatcgggctgtt
+ccaaaagggcggagaggtgtttaccgggatggtgaccggcattcttccgctgttgattag
+cctgctggttatcatgaacgcactgattaattttatcggtcagcatcgtattgaacgttt
+tgctcaacgttgcgccggtaaccctgtttcccgttacctactgttaccgtgcattggcac
+gtttgtcttttgcaatccgatgaccctaagcctgggtcgctttatgccggaaaagtacaa
+acccagctactacgcggcggcctcttatagctgccactcaatgaatggcctcttccccca
+tatcaaccctggcgaactgtttgtttatcttggcattgccagcggtctgacaacgctgaa
+cctgccacttggcccactggcggtgagttatctgctggttggtctggtcaccaatttctt
+ccgcggctgggtgaccgatctgaccaccgccatttttgagaaaaagatgggcattcaact
+tgaacaaaaagttcacctggcaggagcaacatcatgacgcatattcggatcgaaaaagga
+acgggtggctggggcggcccgcttgagctgaaagccacgccgggaaaaaaaatcgtctat
+atcaccgccggtacccggcctgcgattgttgacaaactggcacagcttactggctggcag
+gctattgacggatttaaagaaggtgaacccgcggaggcggaaattggtgtcgcggtaatc
+gactgtggcggcacattacgctgcggcatctatccgaaacgacgtattcccaccattaat
+atccactcgacgggcaagtccggtccgctggcgcagtacattgtggaagatatttatgtc
+tctggcgtaaaagaagaaaacatcactgtagtaggtgatgcgacaccacaaccctcttcc
+gtgggccgtgactatgacaccagtaagaaaatcaccgaacaaagcgatggtttactggcg
+aaggtgggaatgggcatggggtccaccgttgcggtgctgtttcaatctggtcgtgacacc
+atcgacactgtattaaaaaccattctgccgtttatggcattcgtctcggcgctcattggc
+atcattatggcttctggccttggtgactggattgcccacggtcttgctccgctggcgagc
+catccactgggtctggtcatgctggcgctcatctgttccttcccactgctttcacctttc
+ctcggcccaggcgcagttatcgcacaggttatcggcgtattgattggcgtgcagattggt
+ctcggcaatattccgccgcatctggctttaccggcactgtttgccatcaacgcgcaggcg
+gcctgcgacttcatcccggtcggtttgtcgctggcggaagcccgtcaggacacggttcgc
+gtcggtgtcccttctgtactggtgagccgctttttaaccggcgcgccgactgtactgatc
+gcctggtttgtctccggttttatctatcaatagaggctgaaacatgaccgttatttatca
+gaccaccatcacccgtatcggcgcgagtgccattgacgccctcagtgaccagatgctcat
+cacctttcgtgaaggcgcgcctgcggacctcgaagagtattgcttcattcattgccacgg
+cgagttgaaaggtgcactccatcccggtttgcaattttcactcgggcagcatcgctatcc
+ggtgaccgctgttggcagcgtggcggaagacaaccttcgcgaactgggtcatgtcaccct
+gcgcttcgatggtttaaacgaagcggaatttccgggcactgtccatgtggcaggccctgt
+ccccgacgatatcgcgccgggatcggttttgaagtttgaatctgttaaggagtaaaaaat
+gaatcaggttgccgttgtcatcggtggtgggcaaaccttaggcgcgttcctgtgccacgg
+tctggctgccgaggggtatcgcgtcgcggttgtcgatattcagagcgacaaagccgcaaa
+tgtggcacaagaaattaacgccgaatatggtgaaagtatggcgtacggttttggtgctga
+cgccactagcgagcaaagcgttctggcgctctctcgtggggtagatgaaatctttggtcg
+cgtggatttgctggtctacagcgccggaatagcaaaagcagcctttatcagcgacttcca
+gctcggcgattttgaccgttcgctacaggtgaatctggtgggttatttcctgtgtgcgcg
+tgaattttcgcgtttgatgatccgcgacgggattcaggggcgcattattcagatcaactc
+gaaatccggcaaagtgggcagcaaacacaactctggctacagcgcagcgaaatttggtgg
+cgtcgggctgactcaatcactggcgctggatctggcggagtacggcattacggtgcattc
+actgatgctcggtaacctgctgaaatcgccgatgttccagtcactgttgccacaatacgc
+gaccaagctgggtatcaaaccggatcaagtcgagcagtattacatcgacaaagtaccgct
+caaacgcggctgcgattatcaagatgtgctgaatatgctgctgttctacgccagtcctaa
+ggcgtcgtactgcaccggacagtcgatcaatgtcaccggcggtcaggtgatgttctgatc
+aacagcggagatccattaaggatctccgtgagactatagaatgcctgatgcgctacgctc
+atcaggcatacaggacttccgccactacattaaggaaaagttatggtatccgcactcatc
+accgtcgccgttatcgcctggtgtgcgcaactggccttaggcggctggcaaatttctcgt
+tttaaccgtgccttcgacacactatgccagcaagggcgggttggcgtgggccgttccagc
+gggcgctttaaaccgcgggtcgtggtcgccatcgcgctggacgatcagcagcgcatcgtc
+gacaccttgtttatgaaaggactgaccgtcttcgcccgaccgcaaaaaattcccgcaatt
+accggtatgcatgcgggtgatttacagcccgatgtgatctttccccatgatccactatca
+cagaatgctctatcattggcgcttaaactgaaacgtggataatttcgttgtgaatgttac
+ttgcttgcgaagttatcattttgaaacctaaatcaggtaatcacgcccatgaaacctcgt
+cagcgtcaggccgccattctggagtatctgcaaaagcagggtaaatgctcggttgaagaa
+ttggcgcaatactttgacaccacaggcacaaccattcgcaaagatctggtcattctggaa
+catgccggaaccgtcattcgtacttatggcggagtggtgttgaataaagaggaatccgat
+ccgcctatcgatcataaaacactcatcaacacccacaagaaagagctgattgcagaagct
+gccgttagttttatccatgatggcgattcgatcattcttgatgctggcagtaccgttttg
+cagatggttcccctgctctcgcgctttaataacatcacggtgatgaccaacagcctgcat
+atcgtcaatgcgctatccgaactggataacgaacaaactatcctgatgccaggcggaacg
+tttcgcaaaaaatcggcctcatttcacgggcaactggcagagaatgccttcgagcatttc
+accttcgataaattgtttatgggcaccgacggcatcgatctcaatgcgggcgtaaccacc
+tttaacgaggtttataccgtcagtaaggcaatgtgcaatgccgcgcgcgaagtgattttg
+atggcggactcatcaaagtttggccgtaaaagccccaacgtagtttgcagtcttgaaagc
+gtcgataagctgattaccgacgcaggtatcgatccggcgtttcgtcaggcgctggaagag
+aaagggatcgatgtgatcataaccggagagagcaatgagtgaagcactactgaacgcggg
+acgtcagacgttaatgctggagttgcaggaagcaagccgtttaccggaacgtctgggcga
+tgattttgttcgcgccgccaatatcatcctgcactgtgaaggcaaagtggtggtttcggg
+aattggcaaatcgggccacattggtaagaaaatcgccgcaacgcttgccagtaccggcac
+tccggctttttttgtccatccggcagaagcgctgcacggcgatctggggatgatcgaaag
+ccgcgatgtgatgctgtttatctcttactccggtggcgcgaaggaactggatctgattat
+tccgcgtctggaagataaatctatcgcgctgctggcgatgaccggcaaaccgacgtcacc
+gctgggcctggcggcaaaagcggtgctggatatctccgtagaacgcgaagcctgcccgat
+gcaccttgcgccgacctccagcaccgtcaataccctgatgatgggtgacgcgctggcgat
+ggcggtcatgcaggcgcgcggatttaatgaagaagattttgcccgctcccacccagccgg
+ggcactgggcgctcgcttgctgaataaagtgcatcatctgatgcgccgtgacgatgccat
+cccacaggtggcgttaaccgccagcgtgatggatgcgatgctggaactcagccgcaccgg
+tctggggctggtggcggtatgtgacgctcaacaacaggtacaaggcgtctttaccgacgg
+cgatttacgtcgctggctggttggcggcggcgcactcaccacgccagtcaatgaagcgat
+gacggtcggcggcaccacgttgcaatcgcaaagtcgcgccatcgacgccaaagagatcct
+gatgaagcgcaaaatcactgccgcaccggtggtggatgaaaacggcaaactcaccggcgc
+aataaacctgcaggatttctatcaggccgggattatttaatccttcaatcccagacgttt
+cgccagccgatgcaggttggcgacgtcggtttccagcatccgcgcgcaggcagcccagtt
+gtgatgattttgtgccagtgcctgacgaatagtttcacgctggaacgcttctgtcgcttc
+acgcaggttttgcttaacaacgggcaccgccgccacttctggcgtcggcaacgtcacctc
+aggaaaagcaaaatgttgcgcctcaagaatcacttcatcgccgctgcgggtggctctcgc
+cagaactaccgcccgatgaatagcatgttccagttcgcgcacgtttcccggaaaactgta
+gtgttgcagtaaatttcgcgctccggcacttaataccacgcgggagagcccctgccgcaa
+acgacactgctcgcagaaataccccgccagcagaatgacatcatcgccccgctcacgcag
+cggcggcaccgaaagtggaaacacgctcaggcgatgaaacaaatcggcgcggaatcgccc
+tgccagcacctcttcgcgtaaatcgcggttagtcgccgccagcacgcgcacatcgacccg
+caaacaacggtcatcgccaacgcgctgaatatcgccatactgcaacaccctcagcagctt
+ggcctgcaatgccaacgacaactcgccgatctcatccagaaacagcgtgccgttatccgc
+catttcaaacttcccgctgcgattactgatagcgccagtaaacgctcctttcacatgccc
+gaacaactcactttccgccacactttccggcagtgcagcacagttgagatagaccagcgg
+attcaccgcccgtggcgaggcttcatgaatcgctttcgccaccagctccttaccggttcc
+agtctcaccgctgatcaggacgttgagatcggacgccgccacaatctcaatctctttttt
+cagttgcgtcatgccaggggacaagccaatcatctgcgtctgtttcaccgcttcaaacgg
+cgtggcatcgcctggcagcatattctggctttccagttgttcaatcagcaacgcattgct
+taacgctcccgccgccagcgcagcaatcagccgtagctcttcgtcgctgaaaacatcgaa
+ctgatcgggctgcatcccgtcgagcgtcagtgcgccgatcaggttttgcccggcaaacaa
+tggcagaccaacgcaggcgtgaaccttcagactctcctgcccaggaatcaaaccgtcata
+gggatcgggcaattcgctgtctgcgggaaagcgcaccacatccccggcgcgggcaatcgc
+ttccagccgtggatgcccttccagcgcaaagcgtctaccgagtacatcctttgccagacc
+gtcgatggcaagcggaataaactgccgcgaatcgtaacgtagcaacgcagacgcatcgca
+ctccagcacctgacgtagcgtggtgatcaggcgctgaaaacgatcctggtgaccaatccc
+acgctgcaattcgatggcgatattcgccagcacatcaacggaaaaactcatctttgcctc
+actgtcaatttgactatagatattgtcatatcgaccatttgattgatagtcattttgact
+actcattaatgggcataattttatttatagagtaaaaacaatcagataaaaaactggcac
+gcaatctgcaattagcaagacatctttttagaacacgctgaataaattgaggttgctatg
+tctattgtggtgaaaaataacattcattgggttggtcaacgtgactgggaagtgcgtgat
+tttcacggcacggaatataaaacgctgcgcggcagcagctacaatagctacctcatccgc
+gaagaaaaaaacgtgctgatcgacaccgtcgaccataaattcagccgcgaatttgtgcag
+aacctgcgtaatgaaatcgatctggcggatatcgattacatcgtgattaaccatgcagaa
+gaggaccacgctggggcgctgaccgaactgatggcacaaattcccgatacgccgatctac
+tgtacagccaacgctatcgactcgataaatggtcatcaccatcatccggagtggaatttt
+aatgtggtgaaaactggcgacacgctggatatcggcaacggcaaacagctcatttttgtc
+gaaacaccaatgctgcactggccggacagcatgatgacttacctgacaggcgacgcggtg
+ctgttcagtaacgatgctttcggtcaacactactgcgacgagcatctgttcaacgatgaa
+gtggatcagacggagcttttcgagcagtgccagcgttactacgccaatatcctgacgccg
+ttcagccgcctggtaacaccgaaaattaccgagatcctgggctttaacttaccagtcgat
+atgatagccacttcccacggcgtggtatggcgcgataacccgacgcaaattgtcgagctg
+tacctgaaatgggcggctgattatcaggaagacagaatcaccattttctacgacaccatg
+tcgaataacacccgcatgatggctgacgctatcgcccaggggattgcggaaaccgaccca
+cgcgtggcggtgaaaattttcaacgtcgcccgaagcgataaaaacgaaatcctgactaat
+gtcttccgctcaaaaggcgtgctggtcggcacttcgacgatgaataacgtgatgatgccg
+aaaatcgccgggctggtggaggagatgactggtttacgcttccgtaacaaacgcgccagt
+gctttcggctctcacggctggagcggcggtgcggtggatcgtctttccacgcgcctgcag
+gatgcgggtttcgaaatgtcgcttagcctgaaagcgaaatggcgaccagaccaggacgct
+ctgaagttatgccgtgaacacggtcgcgaaatcgcccgtcagtgggcgctcgcgccgctg
+ccgcagagcacggtgaatacggtagttaaagaagaaacctctgccaccacgacggctgac
+ctcggcccacggatgcagtgcagcgtctgccagtggatttacgatccggcaaaaggcgag
+ccaatgcaggacgttgcgccaggaacgccgtggagtgaagtcccggataacttcctctgc
+ccggaatgctccctcggcaaagacgtctttgaagaactggcatcggaggcaaaatgagta
+acggcattgtgatcatcggttcgggcttcgccgcccgccaactggtgaaaaatattcgca
+aacaggacgccactattccattaaccctgattgccgccgacagcatggatgagtacaaca
+aacctgacctcagccatgttatcagtcaggggcaacgtgccgatgaccttacccgccaga
+cggcgggtgaatttgccgagcagtttaatctgcacctgtttccacaaacctgggtgacgg
+atatcgatgccgaagcccgtgtggtgaaaagccagaataatcagtggcaatacgacaagc
+tagtactggcaaccggtgccagtgcctttgtcccgcctgtgcctgggcgtgagttaatgc
+tgacgttaaatagtcagcaagagtatcgcgcctgtgaaacgcaactgcgggatgcccgac
+gcgtgttgattgttggcggtggtttgattggtagcgaactggcgatggatttttgtcgtg
+caggcaaagcggtcacgctaatcgacaacgctgccagtattctggcgtcgttaatgccac
+cggaagtaagcagccgcttgcagcatcggttgacggagatgggcgttcatctgctgttga
+aatctcagttacaggggctggaaaaaacggattctggcattcaggcaacgctggaccgcc
+agcgcaatatcgaagtggatgcggtaattgccgccaccggactgcgcccggaaaccgccc
+tggcacgacgcgccgggctgacgattaatcgcggcgtttgcgtcgatagttatctgcaaa
+ccagtaataccgatatttacgcgctgggcgattgcgcggaaattaacggtcaggtattgc
+cgttcctccagccgattcaacttagcgcgatggtgctggcaaaaaatcttctcggcaata
+acacgccgctgaaactcccggcgatgctggtgaaaatcaaaacgccggaattaccgctgc
+atctggcaggcgaaacccagcgtcaggatttacgctggcaaattaataccgaacgccagg
+gaatggtggcgcgcggcgttgacgatgctgaccagcttcgcgcctttgtggtcagtgagg
+atcggatgaaagaggcatttggattgttgaaaacattgccgatgtaggtgggctactgtg
+cctaaaatgtcggatgcgacgctggcgcgtcttatccgacctacggggacgcatgtgtag
+gccggataaggcgtttacgccgcatccggcaatggtgtccaaatgcaacacgttttatcc
+gttctggacttcacccgctaaccaacgcgccgcagcaataaccccctgccccagagacaa
+accgccatcacccgccggtaaactctgtggaaagagcaatgtgaaatcagcgagataatg
+cgccagacgtgcacgcagcaaacggttatgaataaccccgccgctaaataccagcgtagt
+gataccacgcatcgtggcctgctcacgcatcaacgcggcaaaaccctgcgccagcgcatc
+atgaaacgcccacgcgcgttgattaaccggtgcctgccagttcagccactgctgccagaa
+agtggcgagatccagttgattgtccacccgcggcattgtcaccggatgcgtcactccgtg
+gcatgaggctgcgagcgcctccagagcacaagccgcttcaccttcataacttaacgtggc
+tggcgcacagcccagtgccgccgccactgcatcgaaaaaacgcccacacgatgacgccag
+cggcgcgttaattccacgctcaatggcccgcgccagcacgctccagttttgctgttgcac
+acttgctgtttcagagtaattctgccactccggcacaaagcgcaggcactgcgccagcag
+gtttcgccacggctgcttcgctgccaaatcgccacccggaagcgccactgcaggcaagcc
+gcccaggtgctcacattcgcgatagttcacccgcaggcactcgccgccccacaaagcgcc
+gttctcccccataccgataccgtcgagcgtcaaagcaatgacatcaccgccatccagcgg
+ccactgatgctctgccagacacgccgctgcatgggcatgatgatgcagtaccgtttgcgt
+cggcagattcatttcacgcgcccactggctggagacatagcccggatgcgcgtcatgcac
+aacgtattgcggggtaaaatcgtagatgttttgcatcaggcgtaacgcttcgcgccactg
+catctggatgccatcgtcacttaaatcgcccagatgctgactcaacaccgcttgttcacc
+gcgcaccaggcagaaggtatttttcagatccgcgccgagacacagcacaggcggaacatt
+tttaaagcccggaggcaaagccagcgcatccggcacatacccccgcgaacggcgcagcat
+ttcgccgctttcgcgcaccaccgaatcatccatccgctgcacgatgtcgcggttatgtat
+caagaatccgtcggcaatgccctgcaaatccgccagcgcctgttcgttgctgatagctgg
+tggtttaccgctcaggttgccggaggtcatcaccagcgggcattgcagttcctgtaacag
+caaatgctggagcgggttcgcaggcaacattaccccgacttcgttaaggtcaggggcgat
+atcatcacaaagctcaggaacgtattttttatccaccagcacaatcggcgcggcgggcgt
+ggtaagcaactggcgcgcagcgtctggtaaaccgtcagccactggcaacatgaccgccag
+cggtttcgccgggcgatgtttgcgcgcccgaagtgtcgccaccgcgttactgttacgtgc
+atcgcaggcaagatgaaatccgccaatccctttgatggcgacaattttgcccatttttaa
+ctgtgcgatagctgcctgtaatgccgcctcttgttccgcatgttcaccatgacttaccca
+ttcaagatgcgggccacactccgggcaggccaccggctgggcgtggaagcgacgatcgag
+cgggtcacggtactctttgtcacaggccggacatagcggaaacgccgccatcacggtaaa
+cgggcggtcgtaaggcatggcgcgaataatggtgaaacgcgggccgcagtgggtacagtt
+gataaacggataacgataacgccgttcgcctggggtattcatttcggcaaggcaagcagg
+gcaagtagcggcatcgggaacaatttgcgtattcatggtgccgcctgtgctctggcgtat
+agtgaactcggtgggcagttgtgaccagataaacggctcacgctcgacgctatcaatacg
+cgccagcggcgggcagtgctgatacaattgaacaagaaacgtttccgggtcttcccgcag
+ccggacttctacgccatcgccgtcattacagacatcgccgtgaagatttaattgctgtgc
+cagctgccagacaaacggacgaaaaccgacgccctgcactttgccacgaatacgcagttg
+gacaccgcaagatgtgttttttgccattgagttattcccgccatcatgaattgcgtaacc
+cgccctgccggacacgacagcgtcgcatccggcagtcacaggtcggcgataccgcccgct
+ccgtattctacgaatatttccgggaattcctttgatgccagaacagttctgtaagatttt
+tagaacatcagcgccgtacggcggcgtttttctgcgctcagttgttcaagtttattacga
+tcgacacaaatcagcgcatgagtcgggcaagccgccatacacgccgggccgtcttcacga
+tggttgcacaggtcgcatttattggcttcggctttgtcagcccgtacattcagacccgcg
+ccgctgttgcggatcaccggacgtaccaccacttccatcgcaccatacgggcaagccaca
+acgcaggttttgcaaccaatgcaacgttcctgcatcacatgaacaaaccctttatcacgg
+ctgatagcaccattcgggcagacgttagcgcacggtgcatcttcacactgacggcaaact
+gtcgccgtggaaatgttcacacctttaatgacatggatacgcggtaaaaaagtttccggg
+gtcagcgatgcacagtcctgattttcctgatgagaaaccacgcacgctacttcacaggta
+cggcaaccaatacatttactcgcgtcagcaatgatgaaacggttcatcaaattctccagc
+aatgacagttaatgcgccgatacattcacaaatcatgccagtttttaatttactgttatt
+taaggaaattaatttctgtaatgcaggaaaaacgatgtcatcgacactagtgacgatgac
+atgtgatgacaatgtttatcgcgaaggagcaatgagtgagtcgcggcggatcagttttcc
+gctgaaggttttcggcggtgagaaatccccgccatcgagcataaaaatcagccgtccaat
+aatttcctgaatcatctcagtcaccggaatttttacgctggagagcgccggaacggtgta
+gggggcaatagcgatatcatcgaatccgataactgacacctgctctggcaccgctacgcc
+gcgctcgtgtaacgctttcatcgcacctatcgccatatcgtcgttactggcaactaacgc
+gctaaatttagccccacgttcgagcaacatttctaccccttcggccccgctggcaggcgt
+ccatttaccgttagcgataagtttttcattgagcgcaataccatgctgcgccagcgcgtc
+tttatacccggcaagacgttcaatgctggtgggggaatccatcgagccggtaaggaaagc
+aatctcctgatgcccggcgtttatcaactctgccacggcgttaaaactggtctgtttatg
+atcgcaccagacgctatggctgctgtttttgcgcaggcggcgattaagcaccattatcgg
+ctgactgtgcgcgtcaatgatgtcatcgatctcatccacgcttaaaaaacgcgggtaaat
+catgatcgcgtcgcagcgcagatccagcagatactgaatcgcctggcgctcttcttctgc
+gctgtgtttaccatctgccaatagcaactgccgccctttctcttccgccattcgcgcggc
+atgaaagagtaattcactaaaataaatgccgtggtaaagcgtgttggtcactaccagccc
+cagcgtctgagtactcttcgccgacagattgcgcgccagcaagtttggacggtaaccgct
+ctcttctaccgcctgaaacacgcgatctttagtctcctggctgacgtagccattacctga
+aagcacgcgggaaacggtcgcttttgaaaccccggcgcgcttcgccacttccagcatcgt
+cgtcatcattttcatccctttacacgcaatcaacgcagtgtactgcaccgtttgccgatt
+gtccttgcacaatcggcgggaaaaatattcaggtgaccggtttcacaaatataaaaaatg
+aacaattcactctcttgcttatttagtgacaactattcatgattttgtgaaaccggtttc
+ttaattccgtttcagcatcggcatttttccgtcacgtcgactgataacaactacatctac
+cctactgataacaggataaaatccgatggccaaaaattatgcggcgctggcacgctcggt
+gatagcggcactgggcggcgttgataacatctcggcggtcacgcactgtatgacgcggtt
+gcgctttgttatcaaagatgatgcacttatcgacagcccgacgttaaaaaccatccccgg
+cgtgctcggcgtggtacgtagtgacaaccagtgtcaggtgattatcggcaataccgtttc
+acaagcctttcaggaagtcgtcagcctgctgccgggagatatgcagcccgcacagcccgt
+gggtaaacccaaactcacgctacgtcgcattggtgcggggatcctcgatgcgctgatcgg
+caccatgtcaccgctgatcccggcgattatcggcggatcgatggtcaaactgctggcaat
+gatcctcgagatgagcggcgtgctgacaaaaggatcgccgaccttaaccattctgaatgt
+gattggtgacggtgctttcttcttcctgccgctgatggtcgcggcatctgccgccatcaa
+atttaaaaccaatatgtcgctggcgattgccatcgcgggtgtgctggtacatccgagttt
+tattgaactgatggcgaaagcggcccagggtgaacatgtcgaatttgccctgattccggt
+caccgcggtgaaatacacctacacggtgatcccggcgctggtgatgacctggtgcctgtc
+atatatcgaacgctgggtggacagcattacaccggcggtgaccaaaaacttcctcaaacc
+aatgctgattgtgttgattgccgcaccgctggcaatcctgctgattggcccgattggtat
+ctggatcggtagcgccatttcggcgctggtttacaccattcatggttatctgggctggct
+ttcagtcgccattatgggcgcgctgtggcctctgctggtaatgaccgggatgcaccgcgt
+ctttacgccaaccatcattcagaccattgccgaaaccggcaaagaagggatggtcatgcc
+gtcagagatcggcgctaacctgtcgctgggcggttcatcactggcagtggcgtggaaaac
+gaaaaacccggaactgcgtcagacggcgctggctgcggcggcatcagccattatggcggg
+gatttccgaaccggcgttatatggcgtggcgatccgcctgaaacgtccgcttatcgccag
+tcttatcagcggttttatttgcggcgcggttgccggtatggcggggcttgccagccactc
+aatggcagcgccggggctatttaccagcgtgcagttcttcgatccggcgaatccaatgag
+catcgtctgggtgttcgcggtcatggcgctggcggtggtgctgtcgtttatcctcacact
+gttgctcggctttgaggatattcctgttgaggaagcggctgcccaggcgcgaaagtatca
+gagcgtacaaccgaccgtcgccaaagaagtaagtcttaattgaggatgaaaatgtcagta
+tttccagaaagttttttatggggcggcgcgcttgccgccaaccagtctgaaggtgcgttc
+cgtgaaggtgacaaaggtctgaccactgtcgatatgatcccacacggcgagcatcgaatg
+gcggtgaaactggggctggaaaaacgttttcagttgcgagatgacgagttttatcccagc
+catgaggcgacggatttttatcatcgttataaagaagatatcgccctgatggcagagatg
+ggattcaaggttttccgtacctcaattgcctggagccgtctctttccgcagggcgatgaa
+atcacgcccaatcagcagggcattgctttttatcgttctgtctttgaagagtgtaaaaag
+tacggtatcgaaccgctggtcacgttgtgccacttcgatgtgccgatgcatctggtcacc
+gaatatggctcctggcgtaaccgcaagctggtggagtttttcagccgctacgccagaacc
+tgctttgaagcatttgatggtctggtgaaatactggctaaccttcaatgaaatcaacatt
+atgttgcatagcccgttctccggcgcgggtctggtgtttgaagaaggtgaaaatcaggat
+caggtgaaatatcaggccgcgcatcaccagctggttgccagtgcgctagccaccaaaatc
+gcccatgaggttaacccgcaaaatcaggtgggctgtatgctggcgggcggtaacttctac
+ccttacagttgcaagccggaagatgtctgggcggcgctggagaaagaccgggaaaacctg
+ttttttatcgatgtgcaggcgcggggcacgtatccggcttactctgcccgcgtattccgc
+gaaaaaggggtaaccatcaacaaagcaccgggcgatgatgaaatcctgaaaaacaccgtc
+gattttgtctctttcagctattacgcctcgcgctgcgcctcggcggagatgaacgccaac
+aacagcagtgcggcgaacgtggtgaaatcgctgcgtaatccgtatctacaggtgagcgac
+tggggctggggaattgatccactcggtctgcgtatcaccatgaatatgatgtacgatcgt
+tatcagaagccgctgtttctggtggaaaacggcctgggcgcaaaagatgaatttgctgcc
+aatggcgagattaacgacgactatcgcatcagctacttacgcgaacatatccgcgcaatg
+ggcgaagcgattgcagacggcattccgctgatgggctacaccacatggggctgtattgat
+ttagtttccgcctctacgggtgaaatgagcaaacgctacggctttgtctttgttgaccgt
+gacgacgcaggcaacggtacgctgacgcgcacgcgtaagaaatcattctggtggtataaa
+aaagtgattgccagtaatggggaagatttagagtaggtaacagtgccggatgcggcgtga
+acgccttatccggcctacatgtcgcacgaaccatgaaggcccgataagcgcagcgcatcg
+ggcaatttagcatttggcatcagagctggttcaccccatcaagaacatccctgtcctgat
+tccttaatgaaaaactactcttcttccaccgctaactgcgcgaagccgccatttccttcc
+cagccttccagtcgttgataaacggtttctaccgcatctttaatcggctgggtcatcggg
+tagtaaaagccgacgatatccggctgaatgccgaggaaaatcacttcgccaatatcttct
+ttcaactggtcgataaggtaattcaacggcatgttatgggtagtcatcataaacatctcg
+gcgatatcatccgggtcgatgatgcggatctcgccggggtttagccccatatccgtggcg
+tcgacaatcagcagtcgtgtcgggcgcagttcacggatagcgacgatgtcgttttccggt
+gcgctaccgccgtcaatcaccacccagttacctttcggcgcggcggcgcacttttccgcc
+agcagcggacctgcgccatcatcgcccatcatgctattgccaacacagagtaaaacgtca
+gtcacgcagtctcctcaccatcaaatagatggcgttttcctgatgaatatcatgcagcat
+acttaacagcattgtactccattcctgctgctgcgaagtttgcgctgcccgggctttatc
+gaatgcgttggccagcatcggcacatggttaatgtcgatgacgatctcaccatatttcgg
+cacgccttccattttgcggcgggcttcactgcctgcctccagagtggcaatccatgccag
+atattcatcccacgggcaggtgagcgccgcttccaggcaatcgataaccccaaggtggtg
+accaatcgccaggctgtaatagaccacctgctgcgcctcggcgggcgtggcatcgttctc
+atcaataaatttacggctcagttgactgaacaccaccttttcactcatcggatacgcgcc
+tcttcaacaacatgattcagatggctgacaatctcgttcagacgcggatcgttttccgct
+tccagccagcgtgcaacctgttcttcgccctgccctaactgtgtaaggtaatcatcggca
+atctgacgaccgtaacgataacccgccaggcgacgtgcttcgcgatccactttcacgcgc
+agcggctgcaccatatcaccatgcaggatctccgccggttgttcatccagttcacccggc
+ccacgggcgtgaattttctgctccagcaggccgagcgccattgcaaagccgtacagcgtg
+gcggcaggcgttggcgggcagccagggatataaacatccacagggacaattttatccgta
+ccgccccacacgcagtagagatcgtggaagatcccgccactgttaccgcaggcaccgtag
+gagatacaaattttcgggtccggcgcggactgccacgcacgcagcgcaggggatcgcatt
+gcacgggtgaccgcgccggtaaacagtaaaatatccgcatgacgcggtgaaggaacgact
+ttaatgccgaagcgttctgcatcaaacagcggcgaaagcgtggcgaaaatttcgatttcg
+caaccgttgcagccgccgcagtccacgcggtaaacataggcagaacgtttgatttttttc
+agtaacgacgccttcatgctggcgatggattcatccaccgtcatggggaccggaatgccg
+ttggcgtcacgggggcctaataaattgctcatcagatggcctctttcatatggcgagtca
+gttcaatacggtcggacggcaccaggcatttctggcgcttacattccgggcaagtctcaa
+agctttcgcggtggttttccgcgcggctgtcgccgttgtgcttaagcagcgcaatggcgt
+agtcgatctctttctggacggcgaaaggacgattgcagacgcggcagttgcacagcgcga
+agcgggactgttgcaggaagtcttctttcttccacaccgccagttcgtactcttgcgaca
+gtttgatcgccgccgtcgggcagacttcttcgcagcgtccacagaagatgcagtgcccaa
+gattaaactcccaggcaagctctcctgtggcgaggtcagtttcaaccgttaaggcgtttg
+acgggcaggcattgacgcaggccgcgcagccgatgcactgctgcgggttctgctctggct
+taccacggaagtttttatcaaccgcaatcggctccagcggataagacgaggtcgccgtgc
+cggttttgatgacttttttgataaaggtaaacatggcgattccttatttcagcggcgagt
+ttttacgctcaatgctgtaacgctcgagttctttgtacggcaccactttgctcttcttct
+tacgcacatcgaccacggtcatgcggtcggtacaggagtagcaagggtcgaggctaccga
+taatcagcggcgcatcggaaacggtgttgccgcgcagcatgtagcgcagggtcggccagt
+tcgcgtaggtcgcggcacggcagcgccagcggtacagcttctggttgtcgccggtcatgc
+tccagtggatatcatcgccgcgcggcgcttcggcaaagcccagcgcaaagcggtgcggaa
+tgtaggtaaagccttccaccatcagtgggccacccggcaggttatccagaccgtagtcga
+tcatgttcagcgcggtatagacttcgttgatacgcactttcagacgggaaataacgtcgc
+agccctgctcgctgtggacttccattggcagcaggccatagccgacaaacgggtgatcgg
+cgcgggtatcacgggcgtgaccgctggcacggaccatcgggccgacgttactgaagtcgc
+gagcgatttccgggtccagacgaccaatgccgacagtgcgctgttccatgttcggagtgc
+tcagcagcacatccaccagctcctgcacttcacgacgcatctgttgtgccagctggcggg
+tctggatcatgtcgtctttcagcagatcgcgacgaatcccgccgatcaagttcaggccgt
+aggttttacgcgcaccggtaaggatctctgccattttcatggaggtttcacgcacgcgga
+agaactgcataaagccggagtcgaagccggtaaagtgacaggccaggccaaggttgagca
+gatgcgagtgcaagcgttctacctccagcagaatggcgcggatcatctgcgcacgttctg
+gcacctgaatacccatcgcgttttccaccgacgtggtgtaggcggtgctgtgggcaaagc
+cgcagatcccgcacacacggtcagagaggaaggtcacttcgttataacccatacgggttt
+ccgccagtttttccatgccgcgatggacgtagaacagacggtagtcggcgtcgataatgt
+tttcgccatcgacgaacagacggaagtggcccggttcatcagaagtgacgtgcagcggac
+caatcggcacgacgttgtttttcttgtcgcccagttcgttgatgaactcgtaggtttcag
+catcggtggtcggtgccggacgctgacgataatccatgctgtctttacgcagcggataaa
+gttcatccggccagtcatccggcagcaccagacgacgttcatccggcagaccaaccggaa
+tcaaaccgtacatatcgcgcacttcacgctcgccccacaccgccgccggaacgcgcggcg
+tcacggacggatattccggtttgttggcgtcaacttcgacgcgaaccgtaatccaacact
+tagtgcccttctccatcgacagcacgtagtaaacggcgtaatgaccattcagtttgcgtt
+cgtcgttaccaaacagcaccgacagccagccaccctgtttgtagtaaagaaactccacca
+cttccggcaggtagttcacctttacggtgacagtcagctgatctttggtctgccaggcgt
+ggtccagcacgacgcccggaaatgcctcattcagcgcggcgagataatgttgacctaatt
+tttcttcagacatgctcaaactctctttaatcacgccgccagcaaggagacgaacgctaa
+aaatgcaaagccaaacccagcccaggtaatgcgcggagtaatatcaagacgcagacgggc
+catgctgttttcgaacagcgcgataaccaggacgccgaccaccagttttacgatggcaat
+caccagcgccagcagcagtccaccggcggtgaaggtttccatttgtccccacggaataaa
+caccccgacgaacatctgcaacaccaccagctgtttcaggctgataccccatttcatgac
+gccaaagccgctgccgctgtattcagagagcgggccttcctgcagctcctgctcggcttc
+cgccaggtcgaacggcagtttgcccatttcgataaaggtggcgaacgcacaggcacaaag
+cgccagtaccagcgggatgctctggctcagcggccagtgataaacggtgtcggtgatgtt
+gctgatgttggtggaaccggcaacctgtgcggcaacccacagaccaagcagcagcatcgg
+ttcgaccagcacgccaagcatcgcttcacggctcgcgccgatagcggtaaacgggctacc
+ggtatccagaccagaaatggcaaagaagaaacgcgcgatggcaaagagatacagtaaggt
+gatcaaatcacccagttgcggcagcggagaaccgacggtcaccaccggcagcgcagtagc
+gatagtcagcatgacgcccaccatcacatacggcgtcaggcggaacacccagccggaggc
+atccgggccgacgctctgacgccccagcagtttgataatgtcgcgatactcctgcaacac
+gcccggcccgcgacggttatgcaagcgggcgcgcgccacgcgggttataccggagagcag
+cggcgcaacggcaaataacaccagcgcctgaattaacggatataaaacactcattctcag
+gctcctcgtgaaacaataatcaccaccagtaccgccagttcaaccagcgccatccggcgg
+aacagcaacgcactcccctcgcactgccagcccggcaccagagacaccggattcagccat
+ttgcgtagtttcagcaccggcgcaaacgcctgtttcaccggcatggcaaaaccgtgagcg
+gtaatcaccattgatttttcgtggtcgtaaccgcacacccaggccgcaccgcgggaacgc
+gatggcaaacgatcgcctttgcaaatcgccataatgatgaatggcagcagcgggcaggca
+atcagcagcaacgtgatcatcggttgagaaacggtggtgttagcaggctccagcggcaga
+ggtacagcagcagagagcatcggcagtagccacggcgcagcaacaccgccaattacgcag
+caaatcgccagtgccactacgcttacgctcatcaggagcggcgcacaggtggcgttttcg
+gcttctttggtgcgcggcgcgccgaggaacgtgacgccatagactttcgccatacacatc
+accgccagcgcaccggtaattgccagccccacagcgagcagcggccccagcagacgggca
+acaaacgcgccactattgctcagtttgaaaaatgattgatagataacccattccccggca
+aaaccattcagcggcggcagcgcagccattgccatcagcccgactaacatggcgatggag
+ataaccggcattttcttgccaataccaccgagtttttcgatatcgcgatgaccggtacgg
+aaccagacgctccccgccccgaggaacagtacgcttttgaacaggctatggttaagcaga
+tggtacagaccaccgaccaggccaagagcaatcagcgccggttgttcgagcgcgataccc
+gttacgccagcgcccagccccagcaggatgatgccgatattttccagggtgtggtaagcc
+agcaggcgctggatgttgtgctccaccagcgcatacagaccaccgacaaacgcggtgatc
+atgccgagcaccagcagcgcgatcccccaccacagcggtgcattaccgcccagcagtgac
+agggttaaaatgcccagcaggccaattttcatgactaccgtagaaaacaacgcggcagct
+ggcgcagaggcgttcgcatgtgcctgcggcacccagccgtgcagcggaataatcccggcc
+agcaggccaaagccaatcactccgagcagccagatatcggaaccgagcggcagctgttgc
+atacgcatatccagcaggcgcagatccagcgtgccgtaacgctgccacagcagccagcaa
+gcaatcgccagcagcagagtgccaagacgccccagcgcaaaccacagtttgccctctttg
+ctgttgctggtgaggaacaccgcgcacagggccatgatttcggccattaccacgaacatg
+ccgaggttgctggcaatgacggcgcagacggcggcagccatcaacatattgatctgcaag
+ccgttgcacttcacctgcgcgtggcgatgccagtcaatgttgtagaggctgacaaacaga
+ccgcacagaccgagcgtaatcagccaaatcgcgttaagcggagagatttgcacatcgtag
+cttaccagcgacagcgcaccgctcacgccaaccgcgccagtcagtacagtgaagcccgcg
+gctgccgtatacagactaccaaccgcgccgccaattccagctatccagccacttaacgct
+ttttgaaaagaaaagagaaatgccagaacagcggcggcgacaaaccacgccacgccgcta
+ttgatcagggaaattgcgctcatttagcctctccactttgagcctgctgaaacaaggtga
+gatcgccaaagtccgtgttaaaggtcagctcacgcttacgtttgctgacgcgggcgatat
+cggtgttatccaccagatgcagggctttagtcgggcacatccgcacgcaggccggacctt
+gttcatcaaagctacaaaggtcacatttgacggcgatcgcgcgaatacctggcacccagt
+caagcaatgtgctgacacgcgccggagcaggcggtgccggtggcgctttcggggtattgg
+cgtttgccggaatatccagcggacggctgccggaaaattcaattgcgccaaacgggcagg
+cgatgccgcacagcttgcagcttacgcacaggctttcattcaactgcacggccccatcga
+cgcgggtgatggcgttaaccgggcagaccaccgcgcagggtgcatcttcacagtggtgac
+agagctgcggcgcagattctttttcattcagcatcactctcaggcgcggcattgattgca
+ggccgtgctggcgatgcgtctctgaacaggcggcctcacaagtgtggcagccgatacaga
+gcgtggagtcagcaattacaaaacgattcaccaggcattcctcaggtgattgtcattttt
+gacgaaaacatgccgatgaaatgtcattttcgacactcatcgacacgcccatccccaaac
+aggcgtaacgcctgcaaaacgggcaaagcctcagctcatgctgccgggctttgtcccttt
+accagttggcttaaattcaccggcacattgttttcaatagcggtgtataagctgtcgtaa
+acgccagcgattttttcgagatagtgttccagaacctgttcgcgatcgcggatgttgacc
+ttgccatcaatcatgccgtcaatgctcagttgcgcctgcgcaatccgctgtttgtcttcg
+ccatcttttgtttcgacgtaatactcgatggtgtggctgttaaagccatccgccagggtg
+acgtaaatgcgaaaatgttcaaaaaggacgaaacagagttctttgtccggcgcgcagctc
+atggcgtgatgcaggcgcgctttcgataacgtgatcccctgaaccagcgaattgcagtag
+atgtgccactggtcctgtaggcgacgatgccgctgtgcgatgtaatcggctttctcgctt
+atttcccaaatagtcattgtcaggttacccgtttaacagagatgccagctttaagcattt
+tttgtgccaacttttaatttattgttattaaagagatttttaagctaaagatgaatttcg
+tcgccgtgtcgacgtgtcatttcgacatcatcgacattattcaccgcagggataatcaac
+actggcacaattattgcttgtagctggcaatagttaatgggaggcgatatgcacgaaata
+accctctgccaacgggcactggaattgatcgaacagcaggccgcaaaacacggcgcaaaa
+cgcgtaactggggtctggctcaaaattggcgcattttcttgtgtcgaaaccagctctctt
+gccttttgttttgatctggtttgccgcggcagcgtggcggaaggttgtaaactgcacctc
+gaagaacaagaggccgaatgctggtgtgaaacatgccaacagtatgtgacgctactgacc
+cagcgcgtccgccgctgtccacagtgtcatggtgacatgctgcagattgtggcagacgac
+ggtttacagattcggcggatagaaatagaccaggagtgagcgatgtgtacaacatgcggt
+tgcggtgaaggcaacctgtatatcgagggtgatgaacataaccctcattccgcgtttcgt
+agcgcgccatttgccccggcggcacgcccgaagatgaaaatcaccggcattaaagcgcct
+gaatttacccccagccagactgaagaaggcgacctgcattacggtcatggcgaagcgggc
+actcacgcaccgggcatgagccagcgtcggatgctggaagtcgaaattgacgtgctggac
+aaaaataaccgtctggctgaacgcaaccgcgcgcgctttgctgcccgcaagcaactggtg
+ctcaacctggtttccagccctggttccggtaaaaccaccctgctgacggaaaccctaatg
+cgcctgaaagacagcgttccgtgcgcagttattgaaggcgaccagcaaaccgtgaacgat
+gccgcacgcattcgcgctaccggcacaccagcgattcaggtgaacaccggtaaaggctgc
+catcttgacgcacagatgattgccgacgccgcaccgcgtctgccactggacgataacggt
+attctgtttatcgaaaacgttggcaacctcgtatgcccggccagcttcgatctcggtgaa
+aaacacaaagtggcggtgctttccgttaccgaaggtgaagacaaaccactgaaatatccg
+catatgtttgccgccgcctcgctgatgctgctcaacaaagttgacctgttgccgtatctc
+aactttgacgttgaaaagtgcatcgcctgcgcccgcgaagtcaatccagaaattgaaatc
+atccttatttccgccaccagcggcgaagggatggaccagtggctgaactggctggagaca
+cagcgatgtgcataggcgttcccggccagatccgcaccattgacggcaaccaggcgaaag
+tcgacgtctgcggcattcagcgcgatgtcgatttaacgttagtcggcagctgcgatgaaa
+acggtcagccgcgcgtgggccagtgggtactggtacacgttggctttgccatgagcgtaa
+ttaatgaagccgaagcacgcgacactctcgacgccttacaaaacatgtttgacgttgagc
+cggatgtcggcgcgctgttgtatggcgaggaaaaataatgcgttttgttgatgaatatcg
+cgcgccggaacaggtgatgcagttaattgagcatctgcgcgaacgtgcttcacatctctc
+ttacaccgccgaacgccctctgcggattatggaagtgtgtggcggtcatacccacgctat
+ctttaaattcggcctcgaccagttactgccggaaaacgttgagtttatccacggtccggg
+gtgcccggtgtgcgtactgccgatgggtagaatcgacacctgcgtggagattgccagcca
+tccggaagtcatcttctgtacctttggcgacgccatgcgcgtgccggggaaacagggatc
+gctgttgcaggcaaaagcacgcggtgccgatgtgcgcatcgtttactcgccgatggatgc
+gttgaaactggcgcaggagaatccaacccgcaaagtggtgttcttcggcttaggttttga
+aaccactatgccgaccaccgctatcactctgcaacaggcgaaagcgcgtgatgtgcagaa
+tttttacttcttctgccagcacattacgcttatcccgacgttgcgcagtttgctggaaca
+gccggataacggtatcgatgcgttcctcgcgccgggtcacgtcagtatggttatcggcac
+cgacgcctataattttatcgccagcgattttcatcgtccgctggtggttgctggattcga
+accccttgatctactacaaggcgtggtcatgctggtgcagcagaaaatagcggcccacag
+caaggtagagaatcagtatcgtcgagtggtaccggatgccggtaacctgctggcgcaaca
+ggcgattgccgatgtgttctgtgtcaacggcgacagcgaatggcgcggcttaggcgtgat
+tgaatcttctggcgtgcacctgacgccggattatcaacgattcgatgccgaagcacattt
+ccgcccggcaccgcagcaggtctgcgatgacccgcgcgcgcgttgtggtgaggtattaac
+gggcaaatgtaagccgcatcaatgcccgctgtttggtaacacctgtaatcctcaaaccgc
+gtttggtgcgctgatggtttcctccgaaggagcgtgcgccgcgtggtatcagtatcgtca
+gcaggagagtgaagcgtgaataatatccaactcgcccacggtagcggcggccaggcgatg
+cagcaattaatcaacagcctgtttatggaagcctttgccaacccgtggctggcagagcag
+gaagatcaggcacgtcttgatctggcgcagctggtagcggaaggcgaccgtctggcgttc
+tccaccgacagttacgttattgacccgctgttcttccctggcggtaatatcggcaagctg
+gcgatttgcggcacagccaatgacgttgcggtcagtggcgctattccgcgctatctctcc
+tgtggctttatcctcgaagaaggattgccgatggagacactgaaagccgtagtgaccagc
+atggcagaaaccgcccgcgcggcaggcattgccatcgttactggcgatactaaagtggtg
+cagcgcggcgcggtagataaactgtttatcaacaccgctggcatgggcgcaattccggcg
+aatattcactggggcgcacagacgctaaccgcaggcgatgtattgctggtgagcggtaca
+ctcggcgaccacggggcgactatccttaacctgcgtgagcagctggggctggatggcgaa
+ctggtcagcgactgcgcggtgctgacgccgcttattcagacgctgcgtgacattcccggc
+gtgaaagcgctgcgtgatgccacccgtggtggtgtaaacgcggtggttcatgagttcgcg
+gcagcctgcggttgtggtattgaactttcagaagcggcactgcctgttaaacctgccgtg
+cgtggcgtttgcgaattgctgggactggacgccctgaactttgccaacgaaggcaaacta
+gtaatagctgttgaacgcaacgcggcagagcaagtgctggcagcgttacattcccatcca
+ctggggaaagacgcggcgctgattggtgaagtggtggaacgtaaaggtgttcgtcttgcc
+ggtctgtatggcgtgaaacgaaccctcgatttaccacacgccgaaccgcttccgcgtata
+tgctaataaaattctaaatctcctatagttagtcaatgaccttttgcaccgctttgcggt
+gctttcctggaagaacaaaatgtcatatacaccgatgagtgatctcggacaacaagggtt
+gttcgacatcactcggacactattgcagcagcccgatctggcctcgctgtgtgaggctct
+ttcgcaactggtaaagcgttctgcgctcgccgacaacgcggctattgtgttgtggcaagc
+gcagactcaacgtgcgtcttattacgcgtcgcgtgaaaaagacacccccattaaatatga
+agacgaaactgttctggcacacggtccggtacgcagcattttgtcgcgccctgatacgct
+gcattgcagttacgaagaattttgtgaaacctggccgcagctggacgcaggtgggctata
+cccaaaatttggtcactattgcctgatgccactggcggcggaagggcatatttttggtgg
+ctgtgaatttattcgttatgacgatcgcccctggagcgaaaaagagttcaatcgtctgca
+aacatttacgcagatcgtttctgtcgtcaccgaacaaatccagagccgcgtcgttaacaa
+tgtcgactatgagttgttatgccgggaacgcgataacttccgcatcctggtcgccatcac
+caacgcggtgctttcccgcctggatatggacgaactggtcagcgaagtcgccaaagaaat
+ccattactatttcgacattgacgatatcagtatcgtcttacgcagccaccgtaaaaacaa
+actcaacatctactccactcactatcttgataaacagcatcccgcccacgaacagagcga
+agtcgatgaagccggaaccctcaccgaacgcgtgttcaaaagtaaagagatgctgctgat
+caatctccacgagcgggacgatttagccccctatgaacgcatgttgttcgacacctgggg
+caaccagattcaaaccttgtgcctgttaccgctgatgtctggcgacaccatgctgggcgt
+gctgaaactggcgcaatgcgaagagaaagtgtttaccactaccaatctgaatttactgcg
+ccagattgccgaacgtgtggcaatcgctgtcgataacgccctcgcctatcaggaaatcca
+tcgtctgaaagaacggctggttgatgaaaacctcgccctgaccgagcagctcaacaatgt
+tgatagtgaatttggcgagattattggccgcagcgaagccatgtacagcgtgcttaaaca
+agttgaaatggtggcgcaaagtgacagtaccgtgctgatcctcggtgaaactggcacggg
+taaagagctgattgcccgtgcgatccataatctcagtgggcgtaataatcgccgcatggt
+caaaatgaactgcgcggcgatgcctgccggattgctggaaagcgatctgtttggtcatga
+gcgtggggcttttaccggtgccagcgcccagcgtatcggtcgttttgaactggcggataa
+aagctccctgttcctcgacgaagtgggcgatatgccactggagttacagccgaagttgct
+gcgtgtattgcaggaacaggagtttgaacgtctcggcagcaacaaaatcattcagacgga
+cgtgcgtctaatcgccgcgactaaccgcgatctgaaaaaaatggtcgccgaccgtgagtt
+ccgtagcgatctctattaccgcctgaacgtattcccgattcacctgccgccactacgcga
+gcgtccggaagatattccgctgctggcgaaagcctttaccttcaaaattgcccgtcgtct
+ggggcgcaatatcgacagcattcctgccgagacgctgcgcaccttgagcaacatggagtg
+gccgggtaacgtacgcgaactggaaaacgtcattgagcgcgcggtattgctaacacgcgg
+taacgtgctgcagctgtcattgccagatattgttttaccggaacctgaaacgccgcctgc
+cgcaacggttgtcgccctggagggcgaagatgaatatcagttgattgtgcgcgtgctgaa
+agaaaccaacggcgtggttgccgggcctaaaggcgctgcgcaacgtctggggctgaaacg
+cacgaccctgctgtcacggatgaagcggctgggaattgataaatcggcattgatttaact
+gcaaattgccggacagatctgcctgtccggcatactattcatgaggttttttcggacgat
+atttttccggcagttctggcaccggacgcttgtcatcgatgagatgacgcacggttaaga
+tcggatgacgccacagcattctcggcccggcccaacgcataatctgtttcatctcttcac
+gctttgcaggctggtaacagtgcaccggacactgcttacaggctggtttctcttcgccga
+acacacatttatccagccgcttttgcgcgtaaacaaacaacgcctcgtaatgctccggct
+ccgctgacgcctgcgggcatttcgcttgataaagatcgatcatttttttaatcgtcagtt
+tttcacgagagatacgcttgccggacatgctgcctccacctcattaagatgtatttatat
+tacatcttaatcttaaagggcactatgactccaaagaagaagggttagccaaccgataca
+attttgcgtacttgcttcataagcatcacgcaaaagctgcaaaacagcatctttcccgga
+accagcatcaagaactcgccgttcgcttcttcccctgaaatgattaactccggtatcatg
+tgcgccttatgtgattacaacgaaaataaaaaccatcacaccccatttaatatcagggaa
+ccggacataaccccatgagtgcaatagaaaatttcgacgcccatacgcccatgatgcagc
+agtatctcaggctgaaagcccagcatcccgagatcctgctgttttaccggatgggtgatt
+tttatgaactgttttatgacgacgcaaaacgcgcgtcgcaactgctggatatttcactga
+ccaaacgcggtgcttcggcgggagagccgatcccgatggcggggattccctaccatgcgg
+tggaaaactatctcgccaaactggtgaatcagggagagtccgttgccatctgcgaacaaa
+ttggcgatccggcgaccagcaaaggtccggttgagcgcaaagttgtgcgtatcgttacgc
+caggcaccatcagcgatgaagccctgttgcaggagcgtcaggacaacctgctggcggcta
+tctggcaggacagcaaaggtttcggctacgcgacgctggatatcagttccgggcgttttc
+gcctgagcgaaccggctgaccgcgaaacgatggcggcagaactgcaacgcactaatcctg
+cggaactgctgtatgcagaagattttgctgaaatgtcgttaattgaaggccgtcgcggcc
+tgcgccgtcgcccgctgtgggagtttgaaatcgacaccgcgcgccagcagttgaatctgc
+aatttgggacccgcgatctggtcggttttggcgtcgagaacgcgccgcgcggactttgtg
+ctgccggttgtctgttgcagtatgcgaaagatacccaacgtacgactctgccgcatattc
+gttccatcaccatggaacgtgagcaggacagcatcattatggatgccgcgacgcgtcgta
+atctggaaatcacccagaacctggcgggtggtgcggaaaatacgctggcttctgtgctcg
+actgcaccgtcacgccgatgggcagccgtatgctgaaacgctggctgcatatgccagtgc
+gcgatacccgcgtgttgcttgagcgccagcaaactattggcgcattgcaggatttcaccg
+ccgggctacagccggtactgcgtcaggtcggcgacctggaacgtattctggcacgtctgg
+ctttacgaactgctcgcccacgcgatctggcccgtatgcgccacgctttccagcaactgc
+cggagctgcgtgcgcagttagaaactgtcgatagtgcaccggtacaggcgctacgtgaga
+agatgggcgagtttgccgagctgcgcgatctgctggagcgagcaatcatcgacacaccgc
+cggtgctggtacgcgacggtggtgttatcgcatcgggctataacgaagagctggatgagt
+ggcgcgcgctggctgacggcgcgaccgattatctggagcgtctggaagtccgcgagcgtg
+aacgtaccggcctggacacgctgaaagttggctttaatgcggtgcacggctactacattc
+aaatcagccgtgggcaaagccatctggcacccatcaactacatgcgtcgccagacgctga
+aaaacgccgagcgctacatcattccagagctaaaagagtacgaagataaagttctcacct
+caaaaggcaaagcactggcactggaaaaacagctttatgaagagctgttcgacctgctgt
+tgccgcatctggaagcgttgcaacagagcgcgagcgcgctggcggaactcgacgtgctgg
+ttaacctggcggaacgggcctataccctgaactacacctgcccgaccttcattgataaac
+cgggcattcgcattaccgaaggtcgccatccggtagttgaacaagtactgaatgagccat
+ttatcgccaacccgctgaatctgtcgccgcagcgccgcatgttgatcatcaccggtccga
+acatgggcggtaaaagtacctatatgcgccagaccgcactgattgcgctgatggcctaca
+tcggcagctatgtaccggcacaaaaagtcgagattggacctatcgatcgcatctttaccc
+gcgtaggcgcggcagatgacctggcgtccgggcgctcaacctttatggtggagatgactg
+aaaccgccaatattttacataacgccaccgaatacagtctggtgttaatggatgagatcg
+ggcgtggaacgtccacctacgatggtctgtcgctggcgtgggcgtgcgcggaaaatctgg
+cgaataagattaaggcattgacgttatttgctacccactatttcgagctgacccagttac
+cggagaaaatggaaggcgtcgctaacgtgcatctcgatgcactggagcacggcgacacca
+ttgcctttatgcacagcgtgcaggatggcgcggcgagcaaaagctacggcctggcggttg
+cagctctggcaggcgtgccaaaagaggttattaagcgcgcacggcaaaagctgcgtgagc
+tggaaagcatttcgccgaacgccgccgctacgcaagtggatggtacgcaaatgtctttgc
+tgtcagtaccagaagaaacttcgcctgcggtcgaagctctggaaaatcttgatccggatt
+cactcaccccgcgtcaggcgctggagtggatttatcgcttgaagagcctggtgtaataac
+aattcccgatagtcttttgctatcgggaatattaacgacaactgacgaataaaataaaaa
+caccctgtataataggaaagcttattttacagggtaaaaccatgccatctacacgctatc
+aaaaaatcaatgcccatcactatcgccatatatgggtcgttggtgatattcatggtgaat
+atcagttattacaatcccgcttacatcaactctcttttttccccaaaatcgacttactta
+tttctgtcggcgataatattgatcgtggaccggagagtcttgacgtcctgcgcctgctaa
+accaaccctggtttacgtcggttaaaggcaaccacgaagcgatggcgcttgaggcattcg
+aaactggcgatggcaatatgtggcttgccagcggtggtgactggtttttcgatttaaatg
+attcagagcaacaagaggcaatagatctgttgctgaaattccatcaccttccacatatta
+ttgaaatcactaacgacaacataaaatatgccatcgcacatgcagattatccggggagtg
+aatatctctttggtaaagaaatagcggagagcgaattactctggcctgttgatcgtgtgc
+agaaatcgcttaatggcgagttacaacaaataaacggcgctgattattttatatttggac
+atatgatgtttgataacattcagacgttcgctaaccagatttatattgataccggatcgc
+cgaacagcgggcggctgtcattttataaaataaagtagtctcatgcttcttctgtgaagc
+atgagtaacccggtgttattgcaggccattattcatttttcgctaccagcaaagagagat
+cctgcttcaccagcgcgcgactggcactctccggcaaaccgtcgtctgtaataatctgat
+caaactcgcttaatggtaacgccagccatgtcgccacctgaccatatttcgtcgcatcac
+agaccaaaactcgctggcggctggcactggcaatcgcccgtttcaccgtgactttatctt
+ccgctggcgtagaaatcccccgcacactccatgacgatgcagaaataaaagcctgatcaa
+tcatcaggctgcgcagcatggtcgcagcggcttccccgacacaggaacggttttcccgac
+acactgcaccgccagtgtgaataattgtgcaattactgttgtcgagcaagtagtccgcaa
+taacgaaatcgtttgtgaccacagtcagtgactccatgtgaatcagatgctgtgctatcg
+ctaacgtggtcgttcccgcatccagatagatacaacttcccggctgaacaagacttgccg
+ccagcttgccaatagccgctttttgcgtcattgccagcgcagtttttacctgatgagaag
+gttcatgcgccacgcgtcccggagactggacgcctccggacaccagcacaacggctccct
+gctgctccagtttttgtaaatcccgacgaatggtcatatgtgacacattcattctgtccg
+ttagttcagcaatactgacaatgcctttttcagctaccatctcaaggatgatttggcgac
+gctctacgggtatcaacttttgctccttcctttgtcctgctgacattctacgctatttgc
+ctgcgaaacgtgcgcggcgcaactaacgcttagttcacataaaataacacacaatgttaa
+tttatgtgaatcagatcaccataccgttatcttccagcgcttatattcacaatatcaaac
+aaaatatcacttaaattaacaaggagagcagatgaaaacgggatctgagtttcatgtcgg
+tatcgttggcttagggtcaatgggaatgggagcagcactgtcatatgtccgcgcaggtct
+ttctacctggggcgcagacctgaacagcaatgcctgcgctacgttgaaagaggcaggtgc
+ttgcggggtttctgataacgccgcgacgtttgccgaaaaactggacgcactgctggtgct
+ggtggtcaatgcggcccaggttaaacaggtgctgtttggtgaaacaggcgttgcacaaca
+tctgaaacccggtacggcagtaatggtttcttccactatcgctagtgctgatgcgcaaga
+aattgctaccgctctggctggattcgatctggaaatgctggatgcgccagtttctggtgg
+tgcagtaaaagccgctaacggtgaaatgactgtcatggcctccggtagcgatattgcctt
+tgaacgactggcacccgtgctggaagccgttgccggaaaagtttatcgcataggtgcaga
+accgggactaggttcgaccgtaaaaattattcaccagttgttagcgggcgtacatattgc
+tgccggagccgaagcgatggcacttgcagcccgtgcggggatcccgctggatgtgatgta
+tgacgtcgtgaccaatgccgccggaaattcctggatgttcgaaaaccggatgcgtcatgt
+ggtggatggcgattacaccccgcattcagccgtcgatatttttgttaaggatcttggtct
+ggttgccgatacagccaaagccctgcacttcccgctgccattggcctcaacagcattgaa
+tatgttcaccagcgccagtaacgcgggttacgggaaagaagacgatagcgcagttatcaa
+gattttctctggcatcactctaccgggagcgaaatcatgatcaagattggcgttatcgcc
+gatgattttaccggcgcgacggatatcgccagttttctggtggaaaacggtctaccaacg
+gtacaaattaacggtgttccaacaggtaaaatgccggaagcaatcgacgcactggtgatc
+agcctgaaaacgcgctcctgtccagtggttgaagccacacagcaatcgctggcggctctg
+agctggttgcaacagcaaggttgcaaacagatctatttcaaatactgctctactttcgac
+agtacggcgaaaggtaatattggcccggttaccgatgccttaatggatgctctcgacacg
+ccgtttacggtcttctctccggccctgccggtcaacggacgtacggtttatcaggggtat
+ttgttcgtaatgaatcaactgctggccgaatccgggatgcgccatcacccggtaaatccc
+atgaccgacagctatcttccccgtctggttgaagcgcaatccacagggcgctgcggcgtc
+gtttcggcacatgttttcgaacaaggtgtggatgccgttcgtcaagagctggctcgctta
+cagcaagagggctaccgctacgcggtgcttgatgcgctgaccgaacaccatctggaaatt
+cagggagaagccttgcgcgatgccccactggtaacgggcggttctggtctggcgattggc
+ctggcccggcagtgggcgcaagaaaacggtaaccaggctcgcaaagcagggcgtccgctc
+gctgggcgcggcgtagtgctctccggttcatgctctcaaatgaccaaccgccaggtagca
+cattaccgtcaaattgcaccagcccgtgaagttgatgtggcacgctgcctctcaattgaa
+actctggccgcttatgcacacgaactggcagagtgggttctgggccaggaaagtgtactt
+gctccactggtttttgccaccgccagcactgacgcattggcagcaattcaacagcaatac
+ggtgcacaaaaagccagtcaggcagtagaaacactgttttctcaactagcggcgcggtta
+gcagcggaaggcgtgacacgctttattgtcgcaggcggtgagacctccggcgtagtcaca
+cagagcctgggaataaaagggtttcatattggcccaaccatttccccggcgtgccgtggg
+taaacgcactggataagcctgtctcactcgcccttaaatctggcaacttcggtgatgacg
+cctttttttcacgagcccaaagagagtttttatcatgagcgatttcgcaaaagtagagca
+gtctttgcgagaggagatgacgcggattgccagttcattctttcagcgcggctatgcaac
+cggttcggctggcaatctgtcgctgcttttacctgacgggaatttactggcgacaccgac
+aggttcatgcctgggcaatctcgatccgcagcggctttccaaagtcgccgcggatggcga
+atggttaagtggtgacaaaccctcgaaagaggtgctctttcatctggcgctgtatcgcaa
+caatccgcgctgtaaagcggtggtgcatttgcacagcacatggtcgacggcgctttcctg
+cctgcaagggctggacagcagcaacgttattcgtccgttcacaccatacgtggtgatgcg
+gatgggaaatgtcccgctggtgccttattaccgaccgggcgataaacgcatcgcacagga
+tctggcggaactggcagcagacaatcaggcttttttactggcaaatcatggcccagtggt
+ttgcggtgaaagcctgcaagaagccgccaacaatatggaagagctggaggaaacggcaaa
+gctgatttttattctcggtgaccgcccgatccgttatctgaccgcaggtgaaattgcgga
+attaaggagttaatgcaatgcctcgttttgcagctaatttatccatgatgttcaccgaag
+tgccttttattgaacgcttcgccgcagcgcgaaaagccgggttcgatgctgtggaatttc
+tgtttccctataactactccaccctgcaaatccaaaagcaactggagcaaaaccatctga
+cactggcgctgttcaataccgctcccggagatattaatgcgggggaatggggattatccg
+cccttcccggacgtgagcacgaagcacacgcagacatcgacctggcactggaatatgcat
+tggcgctcaattgtgaacaagtccatgtgatggcaggcgtcgtgcccgctggcgaagatg
+ctgaacggtaccgggcagtatttatcgataatatccgctacgctgccgaccgctttgcgc
+cacacggcaagcgaatattagttgaagcactcagccccggcgttaagcctcattatctct
+tctccagccagtatcaggcactggctattgttgaagaggttgcgcgagataacgtgttta
+ttcaactagatacttttcatgcgcaaaaagtagatggcaacctgacgcatttaatccgcg
+actacgccgggaaatatgcgcacgtacaaattgccggactacctgatcgacatgaaccgg
+acgatggagaaatcaactatccgtggctgttccgcctgttcgatgaggtgggatatcagg
+gctggatcggttgtgaatataaacctcgtggcctcaccgaagaagggcttggctggtttg
+acgcctggcgctaattcgttaaatccctaattacaacgtacccatacatccccccatcta
+cggatggggtaggttaactataactttcagacagggtttcccatgtccacaattacattg
+ttatgcattgcgttagctggcgtaatcatgctgttgctgctggtcatcaaggcaaaggta
+caaccattcgttgctttgctcctcgtcagcctgttagtcgcacttgcggcaggtataccg
+gcgggcgaagtgggtaaagtgatgatcgccgggatgggcggtgtgcttggttccgtcact
+attattattggtctgggcgctatgctggggcgtatgatcgaacactctggtggtgcagag
+tcactggctaattatttcagtcgcaagttaggtgacaaacgaactatcgctgcgctgact
+ctggcagcgttcttcctcggtattcccgtcttctttgatgtcggctttattattcttgcg
+ccaatcatttacggttttgccaaggttgccaaaatatcgccactcaaatttggcctgcct
+gtcgctgggatcatgctcactgttcacgtggcggtaccgccgcatccaggccctgtcgcc
+gcagcggggttactccacgcagacatcggctggctaaccatcatcggtattgcgatttct
+attcccgtaggggttgttggctactttgcagcgaaaataatcaataagcgccaatatgcg
+atgtcagtagaagtactggaacagatgcaactggctccggccagtgaggaaggcgcgaca
+aaattaagcgataaaataaatccaccgggcgtcgcgctggtcacctcgctaattgttatt
+cctatcgcgattatcatggcgggtacggtttccgcaacactgatgccgccttcgcatccc
+ctgcttggtacgctacagctgatcggctcaccaatggtagctctaatgattgcgctggtg
+ctggcattctggttattggctttacgtcgcggctggagcttacaacacaccagcgacatt
+atgggctcagcgcttcctactgcggcggtagtgattttggttactggtgctggaggggta
+tttggcaaagtgctggtggaatcgggcgtcggcaaagcccttgccaacatgctacaaatg
+attgacctgcctctgttaccagccgcatttattatttcactggcgctgcgtgcatcgcag
+gggtcagcaaccgtagcaatactgacaaccggcgggttactctcagaagcggtgatggga
+ttgaatccgattcagtgcgtattggtgacgctggcagcctgctttggtgggcttggtgcg
+tcacatattaatgactcagggttctggattgtgaccaaatatctggggttgtcggtagca
+gacggtctgaaaacctggacagtgttaacgaccattctcggttttaccggattcttaatt
+acctggtgcgtatgggcggtaatttgaccttaataaaaaggtccgatgggcatcggacct
+tttattgtgcacagaaaaggccagcctcgcttgagactggcctttctgacagatgcttac
+ttactcgcggaacagcgcttcgatattcagcccctgcgtttgcaggatttcgcgcaaacg
+gcgcaggccttcaacctgaatctggcgaacacgttcacgggtgaggccaatttcacgacc
+tacatcttccagtgttgccgcttcgtaccccagcaaaccgaatcgacgtgccagcacttc
+acgctgtttggcgttcagctcgaacagccatttgacgatgctctgcttcatatcgtcatc
+ttgcgtggtatcttccggaccgttctctttttcatcggccaggatgtccagcaacgcttt
+ttcggaatcaccacccagcggggtgtctaccgaggtaatgcgctcgttaagacgaagcat
+acggctgacgtcatcaactggcttatccagttgctctgcgatctcttccgcacttggttc
+atggtccagcttatgggacaactcacgtgcggttcgcaggtaaacgttcagctcctttac
+gatgtgaatcggcaaacgaatagtacgggtttggttcataatcgcccgttcaatcgtctg
+gcgaatccaccaggttgcgtatgttgagaagcggaaaccacgttccgggtcaaacttctc
+taccgcgcggatcagccccaggttgccctcttcgataaggtccagcaacgccagaccacg
+attgccataacggcgggcaatttttaccaccagacgcaagttactctcgatcatccggcg
+gcgagaggcgacatctccacgcagtgcgcgacgcgcaaaataaacttcttcttcggccgt
+taacagtggtgaataaccaatctcaccaaggtaaagctgagtcgcgtccaacacacgctg
+tgtggctccctgcgataacagttcctcttcggccaaatcgttatcactgggttcctgttc
+tactaaggccttttcgtcaaaaacctcaactccgttctcatcaaattccgcatcttcatt
+taaatcatgaactttcagcgtattctgactcataaggtggctcctacccgtgatcccttg
+acggaacattcaagcaaaagcctggttccgccgatttatcgctgcggcaaataacgcagc
+gggtttacggatttccccttgtaacgaatttcaaaatgcaagcgtgttgaactggttccg
+gtgctacccatggtcgctattttttgccccgccttaacttcttgttgttcccggaccagc
+attgtgtcgttatgggcgtaggcactcaggtaatcatcattatgtttgatgataatcaga
+ttaccgtagccgcgcagcgcgttaccagcataaacaacgcggccatctgcggtcgcgata
+attgcctgtcctttgctgcctgcgatatcaatccccttgttgcccccctcagaagcgcca
+aaggtttcgatcactttgccctcagtcggccagcgccaggtggagataggcgtactggtt
+gatgtactgctgacagtcggctcggttgtgcttgctgttggtaccgttacaggcgctgtg
+accgtggtcgcagttggcttgttgttcggcaacattttgttagcactctgttcacccgaa
+gactcagaatacgtaattgtcggttgcgacgcaacagcaacggtggaattttgtgcaggc
+ttgatcacaactccttgctctgctgcgtcggcctgggtaatggcatttccgccagtgatt
+ggcgtaccggaagcattacccacctgcaaggtctgaccaacgttcagcgcgtatggtgcc
+tgaatattgttgcgctgagcaaggtcacggaaatcgttgccagtaatccaggcgatatag
+aaaagtgtgtcgccttttttcacggtataggtactgccgctataactgcctttcggaatg
+ttcccatactgacggttatagacgatgcgtccgttttccatctgtaccggctgctgagct
+actggctgcactggctggatttgcggttgttgagtagcctgaatttgtggctgctgcacc
+ggctgaatttgcggttgctgcgctgtagacgtcgtccccattttcggcggcggcgtaatc
+aacataccagaattagtatttgcaggcgcattgccattaacggagctgaccggtgccggt
+ggatttgaagtgtcagaacagcctgccagccatagcgaaaccagtgacaaagccgcaatg
+cggcgaacggtgaattttgggcttcccgcgctcatttatcccccaggaaaaattggttaa
+taaccagtgacataattaccgtgcaaggcaccctactgaacactggaaaagatgttcacg
+atacgctgacctgcggcaaaataaccaggaaaaatccaggtatttcctcacgttttaagc
+cagctcacccttcactaaagggacaaagcgcacggcctccacggtatcgataataaattc
+gcctccccgacgacgcacccgtttcaaatactggtgctcctcccctacgggtaagacgag
+aatcccgccttcgtccagctgcgtcattagcgcagttggaatttccggcggtgccgccgt
+aacaatgatagcgtcaaacggcgcacgtgcctgccaaccttgccatccatcgccatgacg
+ggttgaaacattatgtaaatcaagatttttcaggcggcgacgtgcctgccactgcaagcc
+tttaatccgttcaaccgagcaaacatgctggacaagatgcgccaggattgccgtttgata
+tcccgaaccggtgccaatttccagcacccgcgactgcggcgtcagctcgagtaattcggt
+cattcgcgccaccatatatggctgcgaaattgtctgcccctgacctatcggcaaagcgat
+attgtcccaggctttttgttcaaacgcttcatcaacgaatttttcacgcggcacggcggc
+aagtgcattcagcacctgctcatcctgaataccttgcgcacgtaattgatccagaagtgc
+ttgtacgcgtctgcttaccattgcgtgccaactcccacgctgtttaaccagtctgaaacc
+acatcttgcgcgctatgcgcagttaaatccacatgcagcggcgtgatggagacatagccc
+tcatctaccgcagcaaaatcggtccccggaccagcatcacatttaccgcccggcgggcca
+atccagtacagcgtattgccgcgcggatcttgctgcgggatcacctgatctgccggatgt
+cgtgtaccgcagcgcgtcacgcgaatacctttgatttgatccaagggtaaatccggaacg
+ttaatattaagaatacgcccggtgcgcagcggctctttacacagtgcgcgcaaaattgaa
+caggttaccgccgcggcagtgtcgtaatgtttatgcccgtcaagcgagacggcaagcgcc
+ggaaaacctaaatgacggccttccatcgcggcggctaccgtaccggaataaataacatca
+tcccccagattcggcccggcgttaattccggacacaacaatgtccgggcgcggacgcatc
+agagcattcacgccaagatagacgcaatcggtcggggttcccatttgcacagcaatatca
+ccattttcaaaggtaaacgtgcgcagggaggattccagtgtcagagaatttgaagcgccg
+ctgcggttacgatcgggggcgaccacctgaacgtcagcaaactcacgcaaggctttcgcc
+agcgtttgtataccgggtgcatgtaccccgtcatcattactcagcaatatgcgcataatc
+acctgttgtgttgataagttccctgacaacgctggttgcaaaactacccgccggaagcca
+gaaacggatctctacggtgacgtcatcccaccaattccagcttaattgttgcggatacag
+cagcatcgctctgcgcgcggcttcaactttttcgcgcaccagtaaagcttgtaattcagt
+ttctgcggcgacagctgcttgttcgaatgccagcgcttcacgctgagttccccattcgcc
+actgcctggcaatgcggcggttatcatcaactctttatcgttgacgcgacgctgtaattc
+cgccagttcttcggtggttgcgacaaaccagctaccacgtccggctaattgtagcgcatc
+gccgtcaacaacttgattaacgtctgcttttttgaggcgctcagcaacaatctgattaaa
+caacgcactgcgggctgccgacaaccaaaaactccgtttattgcgatcgcgcaccggagt
+attggtttgcgcccagcgctgcgccccctgcaagttgctaccgccaatcccaaaacgttg
+ggcaccgaagtagttcggtacaccttttacgcaaatatcgatcagacgttgttcaacgtc
+atcgcgattgctcacttcgcgcagaaccagggtaaaggcgttacctttcagcgcgcctaa
+acgcagcttgcgcttgtgccgcgcatactccagcacctggcagccttccagttgaaaggc
+gctcagatcgggcatttccttgcccggcacgcgagcgcataaccactgttccgtaacagc
+atgtttgtctttttgcccagcgaagctgacttcacgggcatgaattttcaggaatttcgc
+cagtgcatccgccacaaaacgggtattgcagccgtttttgaggattctaaccagaatatg
+ctcaccttcaccatcaggctcaaagcccaaatcttccaccaccacaaagtcttccggatt
+ggctttcagcagcccggtgccttgcggtttaccgtggaggtaagtgagattatcaaactc
+aatcattttgttgccttaatgagtagcgccaccgcttcacaggcaatcccttccccacgt
+ccggtaaatcccagtttttccgtagtagtggctttcacgttaacatcatccatatggcag
+ccgagatcttcggcaataaacacgcgcatttgtggaatgtgcggcaacatcttcggtgcc
+tgagcgatgatagtgacatcgacgttgccaagggtataacccttcgcctgaatacgacgc
+caggcttcgcgtagcagctcgcggctatcggcacctttaaatgccggatcggtatccggg
+aacagcttgccgatatcccccagcgccgccgcgccaagcaatgcatcggtcaacgcatgg
+agcgccacgtcgccatcagaatgcgccagcaatcctttttcgtaaggaatgcgtacgcca
+ccaatgataattgggccttcaccgccaaaggcatgtacgtcaaaaccgtgtccaattcgc
+attatgtattctcctgatggatggttcgggtgaggtaaaactcggccagtgccaaatctt
+ccgggcgcgtgactttaatgttatccgcacggccttcgaccaactgaggatggaatccgc
+aatattccagcgccgaggcttcgtcggtaatagtcgcgccttcatttagagcgcgcgtca
+gacagtcatgtaacagctcacgagggaaaaattgcggcgtcagcgcgtgccataagccgt
+tgcgatcaacggtatgagcaatggcatttttgcccggttcggcacgtttcatagtatcgc
+gcactggtgcggcgaggatcccccccgtgcggctggtttcgctcaacgccaacaatcgcg
+cgaggtcatcctgatgcaaacaaggacgagcggcgtcatgcaccaatacccactgcgcgt
+cgccagcggctttcagacctgccagcacggaatcggcacgctcatcaccgccatctacaa
+cggtgatttgcggatgattcgccagaggaagttgtgcaaaacggctatcgccaggactta
+tggcaatgacgacacgtttcacccggggatgcgccagcagcgcatgcaccgagtgttcaa
+gaatggtttgattaccgattgagagatattgcttaggacattccgtttgcattcgacggc
+caaatccggccgccggaaccacggcgcaaacatccaaatgagtggttgccatgttaattc
+ccgggctgatttatcgattgttttgccccgcagactgtgcgcgcttcgacgcgtcaggca
+ccagacgataaaaagtttcgcccggcctggtcatgctgagttcattacgcgcacgctctt
+cgagcgcctcctggccgccattgagatcgtcaatttcggcaaaaagttgatcgtttcgcg
+ctttaagtttcgcgtttgtagcttgctgtgccgccacatcatcattgacgcgggtatagt
+catgtataccgttcttaccgaaccacagcgaatactgtagccagaccagaatagccagca
+acagcagcgttagtttacccatcctgccccctgaaaaacggcatcatcatcccatgcatc
+cgaagacgactctacatcctctgttggggataccgcgacaacgcgggcaaatgtaccaca
+tttgtccattgttacgtatacccagggcgtgcagaacataatctcattattagttacggt
+ttgaattatgaacagaggagacgggaaagtacaaattagcccagtagccacataaacagt
+gcgccaaacataatgcctactgtcaccagggtgaaaacaatactgtagcgtagctttccg
+tccatcaatgaatgcagcgcaatccccaccactaccgcgacgggcatcagcgccagaaag
+aaaggccaggtgtagataaagaagaacagcgtgttagagccataaatcaacatcggcatc
+gccagcgcaaataaccaggagataaaaccgaccacggcaccaggcagtgaccatgtggtt
+tcttcatcctcagtaaggctgtcgttatttgttagtgtaatgttatggctattacgcata
+tttgatcctgttactttgacgaaccgggcatggaaacccggtggtgtctcaggatctgat
+aatatcgttctgtctcaacagatctaataattgctgtaccaaatttgttactaattgttc
+accattgagatgaatttctgccgattcaggcgcttcgtaaacggaatctattcccgtaaa
+gttgcgcagttcaccggcacgcgctttcttatataagcctttgggatcgcgggcttcgca
+aatcgccagcggcgtatcgacaaacacttcgataaagcgcccttctcctacgcgttcgcg
+aaccatctggcgttcggcgcggtgtggcgagataaatgcggtcagcaccaccagtccggc
+ttcaaccatcaaattcgccacttcaccgacgcgacggatattctctttacgatcggcatc
+gctaaaaccgagatcgctgcataatccgtggcgaacattgtcgccatccagcagatacgt
+actgacgccgagtttatgtaacgcctcctccagcgccccggcgaccgttgatttaccgga
+cccggagaggccggtaaaccacagcactacaccacgatgaccgtggtgtagctcgcgttg
+ttgcacagtgaccggatggctatgccagacgacgttttcgtcatgcagcgccattattta
+tcccccagcaaatcgcgcgcgccccagtgcggaaagtggcgacgaaccagagcattcaat
+tccagttcgaatgcactgaattcagatggcgcagcagttgcctggctaactggctcgtgc
+accataccggcacccacggtcacattgctcaggcgatcgataaaaatcagcccacccgtc
+accggattttgttgataacgatctaacaccagcggctcgtcaaaagtgagatccacgagg
+ccgatcccattcagtggcaggttttcaacttcacgctgggtaaggttattaatatcaacc
+tgatagcgaatgccatcaacacgcgcgcgcgtcttcttaccggcaattttgatgtcgtaa
+ctctgccctggagaaagcggctgttccgccatccataccacatccaccgacgcgctctgc
+accgccggtaacgcttcgtctgccgccagcagcagatcgccacggctgatgtcgatctca
+tccgtcagcaccagggtgatcgcttctccggcaaaggcttcttcgcgatcaccatcaaaa
+gtcacgatccgcgcgacgtttgattccacaccagagggcagcactttgacacgttgcccg
+acttccacgcgaccggatgccagcgttccggcgtaaccacgaaaatcgagattcgggcga
+ttaacgtactgcaccgggaagcgcattggctgagcatccaccactcgctggatctccacg
+gtttccagcacttcgagcagtgtcggaccgctgtaccacggcatactttcactttgcgat
+gccacgttgtcgccttccagtgcagagagcggcacaaagcggatatccagattacccggc
+agctgcccggcaaaggtcaaataatcttcacgaatacgggtgaacgtctcttcactgtaa
+tccaccagatccattttgttgatcgccacgaccagatgtttgatccccaacagtgtggag
+ataaaactgtgacgacgggtttgatcgagcacgcctttacgggcatcgatcagtaagatc
+gccagttcacatgtcgatgcgccagtcgccatattgcgggtgtactgctcgtgccctggg
+gtgtcggcgataataaatttacgcttctcggtagagaaatagcggtaggccacgtcaatg
+gtgatgccctgttcgcgctcagcttgcaggccgtccaccagcagagccagatccagcttt
+tcgccctgggtgccgtgacgcttactgtcgttatgcagcgatgagagctgatcttcgtag
+atttggcgggtatcgtgcagcagacgaccaatcagagtacttttgccgtcatcgacgcta
+ccacaggtcagaaaacgcagcaggcttttatgttgttgcgcaatcatccaggcttcgacg
+ccgccttcattggcgatttgttgtgcaagtgcggtgttcatcttaaaaatacccctgacg
+ttttttcagctccatagaccccgcctggtcgcggtcaatcacgcggccctgacgttcact
+ggtggtggaaaccagcatctcttcgatgatttccggcagtgtttgtgcatttgactccac
+cgcaccggtcagcggccagcagcccagcgtacggaaacgcaccatccgttttttaatcac
+ttcgcccggttgcaggtcgatacggttgtcatcaatcatcatcaacataccgtcgcgttc
+cagaaccggacgttccgcagcgagatatagcggaacaatgtcgatattttccagccagat
+gtattgccagatatcctgctcggtccagttagagagcgggaagacgcggatgctttcgcc
+tttgttaatttgcccgttgtagttgtgccacagctccgggcgctgatttttcggatccca
+gcgatggaagcggtcacggaaagagtaaattcgctctttagcgcgggatttctcttcgtc
+acggcgcgcaccaccgaaggcggcatcaaaaccgtatttgttcagcgcctgtttcaggcc
+ttcagttttcataatatcggtatgtttcgcgctgccgtgcacgaatggattaatccccat
+cgccacgccttccgggtttttatgcaccagcagttcgcagccgtaggctttagcagtacg
+atcgcggaactcatacatctcgcggaatttccagccggtatcgacatgcagcaacgggaa
+aggcagcgtacctggataaaacgccttgcgcgccagatgcagcatgacgctggaatcttt
+accgatagagtagagcatcaccggatttgagaattctgccgccacctcgcgaataatgtg
+gatgctttccgcctccagttgccgcaggtgagtaagtcgtatttgatccataaccgttcc
+tttgcaataccgctattttcttgccatcagatgtttcgactatagggagcgtaagagaac
+gaatgaaattaccaattagaatgagtagttccttaacggaataacgatttggcaaagcta
+atatcaaaaagtgcttaaggcaccggatttcgggcgtttaggaagatttgaaattgtttt
+agcgcagcggcagtttcatactatggcggtaaaaaaatttgcatggtatttaaggactca
+ctatgttttccgcattgcgccaccgtaccgctgccctggcgctcggcgtatgctttattc
+tccccgtacacgcctcgtcacctaaacctggcgattttgctaatactcaggcacgacata
+ttgctactttctttccgggacgcatgaccggaactcctgcagaaatgttatctgccgatt
+atattcgccaacagtttcagcaaatgggttatcgcagtgatattcggacatttaatagtc
+ggtatatttataccgcccgcgataatcgtaagagctggcataacgtgacgggaagtacgg
+tgattgccgctcatgaaggcaaagcgccgcagcagatcatcattatggcgcatctggata
+cttacgccccgctgagcgatgctgacgccgatgccaatctcggcgggctgacgttacaag
+gaatggatgataacgccgcaggtttaggtgtcatgctggaattggcagaacgcctgaaaa
+atacgcctaccgagtatggtattcgatttgtggcgaccagcggcgaagaggaagggaaat
+taggcgctgagaatttactcaagcggatgagtgacaccgaaaagaaaaatacgctgctgg
+tgattaatctcgataacttaattgttggcgataaattgtatttcaacagcggtgtaaaaa
+cccctgaggcagtaaggaaattaacgcgcgacagggcgctggcaattgcgcgcagtcacg
+gaatagccgcaacgaccaatccgggtttgaataaaaattatccgaaaggcactgggtgtt
+gtaatgacgcagaaatattcgacaaagcgggcattgctgtactttcggtggaagcgacta
+actggaatcttgggaataaggatggttatcagcaacgcgcaaaaacacctgccttcccgg
+cgggaaatagctggcatgacgtaagactggataatcaccaacatattgataaggctcttc
+ctggaagaatagaacgtcgctgccgtgacgttatgcggataatgctacctctggtgaagg
+agttggcgaaggcgtcttgatgggtttgaaaatgggagctgggagttctaccgcagaggc
+gggggaactccaagtgatatccatcatcgcatccagtgcgcccggtttatccccgctgat
+gcggggaacaccagcgtcaggcgtgaaatctcaccgtcgttgccggtttatccctgctgg
+cgcggggaactctcggttcaggcgttgcaaacctggctaccgggcggtttatccccgcta
+acgcggggaactcgtagtccatcattccacctatgtctgaactcccggtttatccccgct
+ggcgcggggaactcccgggggataatgtttacggtcatgcgccccccggtttatccccgc
+tggcgcggggaactctgggcggcttgccttgcagccagctccagcagcggtttatccccg
+ctggcgcggggaactcaagctggctggcaatctctttcggggtgagtccggtttatcccc
+gctggcgcggggaactctagtttccgtatctccggatttataaagctgacggtttatccc
+cgctggcgcggggaactcgcaggcggcgacgcgcagggtatgcgcgattcgcggtttatc
+cccgctggcgcggggaactcgcgaccgctcagaaattccagacccgatccaaacggttta
+tccccgctggcgcggggaactctcaacattatcaattacaaccgacagggagcccggttt
+atccccgctggcgcggggaactcagcgtgttcggcatcacctttggcttcggctgcggtt
+tatccccgctggcgcggggaactctgcgtgagcgtatcgccgcgcgtctgcgaaagcggt
+ttatccccgctggcgcggggaactctctaaaagtatacatttgttcttaaagcatttttt
+cccataaaaacaacccaccaaccttaatgtaacatttccttattattaaagatcagctaa
+ttctttgttttcaaacaggtaaaaaagacaccaaccttaaaccatccaaatctaccgggg
+tacgcctgtttaacccaaatgtctggaactcaaatcccgtttccgtattcgttgcccatg
+ccatcactacattgccttcttccgccagtccagctatttgttcccagatcatttcacgaa
+tttttgcggatacatcacctacatatacccctgcacgtacctccaacaaccagatggcta
+atctgcctcgtaagcgcggaggtacattttcagtgaccacgaccaacatactcatttcag
+ctactccgatggcctgcatctcccagtgaaacaggaagcggaatggcaacaggctgtgca
+tcttcaggtggggccggcggttgtatttctccagcggcaagcacgtcctctataagcgga
+atcaatttggctaatgttttactactgcgaaaaatatccctgcacgccaaacggacttcc
+cggtccggctcaccagggttacgacgcgctatctcaaaagctttcggtacaacagtgtca
+aatttaatgatgtctgcaatatcgtaaacaaaggaaagaggctttcctgtatgcacaaac
+ccaatagctggtgcataaccagctgcaagtatcgccgcttcagttacgccgtataaacag
+gaagttgcagcgctaatgcattggttgatcgtatcgcccttttcccagtctttcggatcg
+tagcgacgtccattccatgtcacgccgtattgcttcgccagaagtgcgtaggttgcccgc
+acgcgactgccttctatacctctgagttgctctacggagcgccgggcaggcgcaggttct
+ccaaaccgaagttcaaacattttacgtacgaccttcagacgcaaatcttcatccagagca
+agttttgcctgatagagcagcttatctgaacgcgcacctccaggctgaccagaagcataa
+acacgaacgcccgcttcccccacccataccaacaatgttccaacttgcgcagccaggcgt
+acagctgcatgcgaaacccgtgtaccaggttccagcatgatgcaggcaaccgagccaaca
+ggaatatgagtgcggatccctgtcttgtcgataagtacaaacgcgccatctattacatcg
+atctgcccatattgcagaaagatcatggagacgcgatctttgagtggaatgggattaagg
+ggaagccaggtcattttattacacctcaatcacagtggagccaaagatagcaagccacat
+cccatcgatttagctggcccaataccttgctgtacaagatctattaacgctggcgcgtcg
+ttgatggtgagcacaccttcaaagcaaaccgtttggatctttccacttttaccatcacca
+gaaaaatactgtggccgttccgatatgggatgcacatcttcaacgcgcgccgcattgccc
+aatttacgttgcaaccacgcgatttgttctgcttcttttattaacggaacccgacagcgt
+ttaatattccctttactgtccaggcgcttttgattgtcgagaatagttttgatcggattt
+gcccgaagccgaaaatagagtggaacaccaacctgaagttgaaattcaacctgtttagtt
+ttaatgactgtcgcaacggcagttgaaacaggcatttgcgctgactgcaataaaacatga
+cagccttctggtgtgtttcgcttctcaacatgaaaaagaaaatcacgagcagcatccggt
+ctgtttggaaataaatgccataatccctggtgaagttggtaaagatccctgctccaggcc
+ctggcaatgatgactttactgagatacatccatacctcctttaatcacataccattctcg
+ggaagcaaattgtcgaggcaaggtgatcatcggttcgtcgcgcgccgtaaattttaaatg
+atgccctgtaactgattcctcactatatatatcgccgccaacgggctcataatttaatag
+cgccttctgaggatccgatgcctgacatgtccccaaaaaaagcgggtgtgttagtgggca
+acttctccgccccaggtaaggtgtataccgaggctttaatactgctttttcaagttctga
+gataaccatcgttgcatggggtgttaaccagagagcgacggtaaaggaggcatcacataa
+atattcgcgccatgtttgaatcgtttcatgacttttcaaaccacggtaatcttctcgcgc
+tccaaggactgtatggtaatcacgcaaccccgttacagacacacgacgatcgtcaagaat
+gagttcatcgcagcgcactgcaaattgcacactctctgataacgcctgtaatgaagaagt
+atcatcacgttggatcccaagacaagccccgagtagccctaataacccgcttcgggtcgg
+aaatcttccggtaggtcgcgttccttcaaaggtcggctgcccccaggcttgcattggccc
+agcaagccgcaagatcaaataagatctcatgttcacgcctcgccattattacgaacccag
+gattttaactgttctaaagtaggcatttgtttaacttgagcagtaattgggtctacatca
+gataagctgaattgcgcagcagctccgttcagaccatatccattggcaacgcgatcccaa
+tattgattaaacgcctgtatagacggttgcaaaaagccatctttcgctttaaccgctttt
+tcaaaagcatttgccatagaaagtggcatatcggagaaattaaccattaccatatccgca
+gggttaaaagcggcataagtacgctgttttgctccagggacctctgttgccagcatatga
+acaacatgggttgcaatttccagagcctgctccctggaggcaccacctaaattttcctga
+agttgagcgaggttaatgttggcataacgataaaaaacacccgatgaaaattcctgagtt
+cccagatgtgcagaaccttgttcctgtaaatcatctacagcggtgaaccagtcaatatca
+gaatcaacctgatgagtagtgatcgcatgcgcaatggacattgcaccatcaacttttccc
+aactcagtcatcatgccgctggttgccattcttccactaagcgcaatatcaacaccctgc
+tgtaaattcacacgtatggcggcaatatcttccttaagaactttgagcagctttttatca
+tccagattatcagcctctgcttttgcaacctgctcacagaaccaggctatttctcccaca
+acccagggagtaaccgcatcggcagaaatcttttcggcttcatcaactgatttaccggag
+agcagcgctaatgtcttatcgatgattttttggtcaaaacgttcaccaagtttttgccga
+agaacatcacgtaattgtgcaagatgaatggttctgagactggattcaccaatattttgt
+gcgtaataaccacttttacgcatcgcacgtttaaggctttgacttgaaattcttactcgt
+cttttgccgccgaaaatagcgtctttctgcatgttcatatcgtcgcggttcagacatgaa
+gggctgtgagagatcagaacatgaatattgataaagttagacatagaaaggtttccttac
+gcatttttgtttgtggtcaatacaaaatcttccagaagttgctggcgttcgcgctttccc
+caccaggtcaacatcctggccattaatggccagtcaagtacgggttcggcgtgagtaagt
+aatcgacgtaactggaccatatcggctgttctgtcagcccgaattaattgaaagatacgg
+cgctcgttaattcttccactattggctaaagctcttcccaacgagatacctgttgtttgc
+tccgattttttgtcctgatgtcggatgacattctttcctgcgctcaggcaaaacaccatg
+cgcaaaagagcctgctggtgacgtgggttttcccaaccaaaaggttgcaccagcctataa
+aacgcagggatatcgcgtaattcatcaggttctgaaacacgtctaatttgcgcacatgat
+ccattatccagttgttgccaggctcgatataaagccattgcatcaatttcatcagccatt
+tgatggccctccttgcggttttaactcccgtaaatgtttgtatagcgtggcgcgggcaag
+cgctaatgtgcttattaatttaggatgatgtgcatagggagctacagattgattaaatag
+catttcacacaattgatgaagtttgtctcgtaaatcagctattacctcatcagcctggga
+aaaattaacattcgccagtacatcgggaattaataattcactctgtcgatagaaatgcct
+ttctgcagtctcatgaacagagactccggcccctttgaagtctttatttttaaacccttc
+tgcaaaggtatataacgccttgcgtaaggctgttttatatcccaaaccaacagtcactat
+ttcgtttatcacattgccgtattgttgccacccctgattaaacatcaacacatcatgacg
+ccgttcaagaatagatgcttgattattacgatatccccccataatcaattcaagaggact
+ttgcggcgcaatatttctgaattgattcacaaccgccgccacgcgatttccattttcatt
+ttgaataatcttatctaccacaactcggctgatttgtgtccatgatggtgcggaggtggt
+gaaagcaagaaatttttcctcaacctcccctttcttgactgttaccagacaaggggaatg
+cggatggggccatagcccattaactgtaaaggtaaatttttccttaagaaaaccggtata
+acgcaaattgctttcctgtccacagcaagaacatttaccaatcccaatgggatcgcataa
+ttcaatatgcgctggttgccagaatagaccacggacaaacccaattgacgaagcaggtat
+agactcattggacttgataggtttaatccaggtaggttggttttccgtatgtgattcatt
+aggaaattgtttttgaagacgaggtaatgtgaggacattgagtaacaccgttgaacgaag
+atcgatcccacgtacgaacgttgttacaggtgttcctccacgtaaaccgcttttaaaacc
+accaccaaaacctggtgcctgattcgcctggttgaataacgcaatcgcagtgcatccacc
+acataatgcttcaccctgccccggttgattgacaaatgcacaattcgtcgcgccgcttac
+cccagccaacagtttttccattggagtcacatcatttgctttgacacctttggtctgcat
+aaagggatgttctgcgtgattaaggtagaacatatctatccacggcgcgatgagttgttg
+aaactcatcttcagtgagcggattcattatgcgatgtcgaaattcaacgtcatcttttgc
+cggggcgataatttgcccaatgcaaaccagcagtgctaaagcggccagttccatatcgtc
+acggggcaaacttaatcgccactgatctctactgcagtatagcgattgcagatttatgat
+ttggactttccccccgtttcgcgggcgtacagggatccagttatcaataagcaaattcat
+ttgttctccttcatatgctccgacatttctcctgcatttctatacgtcggcacacttccg
+ttatcggtaaaaacaaagaaaaaatacggcgtaattaattcaataatcacattcactgca
+aaaatatattcattggtttaatacaattaacctatacatatattaagatgtgttgaattg
+tttaaagacaataatgcatgcatttcaaatctgcaagttattcgttttattattaaagaa
+acttttagttataataattaccatgaattttattacataaaatattcatactgtgaatat
+aaaatctcataccgggaaattaaaagaagatgtacattgtgcaccttccctacttaagta
+gggataaaccgttattggtcttattatcgtcattgataacaatcattcccgaagttattt
+gggatttgcagggatgactctggtcatcccttcatcccctgtataggtaataacaatact
+gttaccctgccagacccatccatccagattctgtttcccttccagccaaagtaacccatc
+ttcatctactacttcagaaaaactacgtttccaggtgaagggtacattgacgcgattaag
+tgcaagcgcctcatactgctgttcatgacttaggtcctcgtagacctggccatcgagcag
+ttgtttacctgaagacgtttgtacataaggcaataatggcaggctcatttccccatccct
+cgttaccgcaagaatggtttcatcgttatcctgcaagctatattcttcagcccactgcag
+gaccttgcgagccttgaaccttttttcacactcggcgctttcaaatttatccatgccatt
+gccgacccattctggctcatccatttccgcatcatcgtaaatgctatccagccattgccg
+gtaagcatcagggaaaaataaggatgctccattaagctcctcaatatgttgctgcgtccg
+ccacatgactctaacgttgctataaatatgctcatgtcgtccgtaaccctcgccatcagg
+cagcaaaatggtggcaacaggaatctcaaaaccagcgggacgatatttgcgatgatggcg
+atgtaaacggcccaatcgttggaaaagcaaatctgcaggacaatgctgagtaattaacca
+atcaaaatcaacgtcgagtgattgttccacgacctgggttgcgacaagtatccgtccaac
+atttcgcttcccatttttgccgaaattgctaataactcgattctctttttcacgacgatc
+gttcagcgtaaagcgcgcatgaaacaaatctatatctacttgcgtgttatttagctcctt
+tagccgttggtagcatacttgtgcaacgtcaaccaaattgcaaataagacagacctgtgc
+acccgcgtttgccgctgcgatcattcgctctaacatcgtaaggtcaggtaacatgtcagc
+taaacaaataggttctggctgaatcgaaaagcggggcgggagttgttctggatgagctag
+cagatcaaaacgttgcgcaccattcacacctcgccagttaatgagtggatatgcggagtt
+attttccactggatctgtatgcagaccataagtatccagaagtttctgtttttgtttcat
+tggtagggttgcggaaagaagaataacactccctcccacatcagcctgagccttgagcac
+tgcctccagcaagccgttcatataggtgtcgtaagcatgaacttcatcaacaattaaaac
+acttcgaccaattcccaaaccacggataaagcggtgtttaactggcaataccgatatcaa
+cacctgatcaatcgtgcaaacgccgatttgcccaagaaacactttcttattgctttgtga
+caaccactgacaacactgaacccacgcttcttcttgcccctgttcagtaatcgcgcgtga
+ttttattgattgaaagaggtggttaaaccgtgaattgccatgagcaagaataagatttgg
+ggatgaaaataagtggctcgcgctcgcttccattctcgtaagcatagcattcgcggtagc
+ttgtgttgggagggcaaaaataacactatccgcaatttgttgatcaataagtttccaagc
+ataggccagcgctgtttccgttttaccggagcctgtaggtgcctctattaccgtcagccc
+gggagctactggaagagcatcaactaacacctgtaattgtctgggttgatagccattgtc
+cagtagtgcatgaacaccttcataacatcgcttatttgatacaagtccactcaactccaa
+tacccggctcgcatcctgctgtcggtcctggaaatacgttctcagagcatttatgtcgga
+aggcgcatcctcattaaacagaaaggtattcgttgtagtccaggagcctaaccagtcagc
+aagcgagcaaaaacctgctaacagtgatgaacaatcaggtggtatatcgtttatagataa
+ccccgctggcgttaaaaataatgcttccagtacagatatccactcctcacgagcctgttt
+atcttgcgcagcataagatgccagagaagctggcatttcccaacgcgacttatcttgatc
+ctgggaatgtaatataaaaccatgatgtcctgtaacggcctctacccatggaaaccagga
+ctcataaggatgaggagcggcatcaaaaaaactgaaaaaatccccgagagattgctctga
+aagtgaatcctggttaaaccaatacagaccggctgcaccatgattaaatttacggcacat
+ttgtgttgatggaccattaagtgatggcgttgcaggatttaatttcagccaactttctgc
+tgatttatattggaatcgtatatcaaactttccaatatcatgaagagcaatgaaaaataa
+cagccaggccttcaccctctgttttgatagcatttcatttcggcaaaaagtattttgcag
+tacgactgattgatcccaccagcaatctgcaacagcagcaacatcaaggcaatgataaat
+taacagatgaatatcatttcctttcgtcaagctttttgaggattttccccagtaatggca
+tatatatttaaaaggttccattaatagcctccctgtttttttagtattatcgatgatatc
+agcgggctatttttcgatgctgctcataaatatcgaattacagtgatatacacatgtctt
+gcctccctgcaaagaagagactaacattcgaattgtttgggttcgaacgctggcctcagg
+ttgatagaaatatcgcctggggcttttgtccatctggaacctcgcgaatgcttaacgcca
+gacagcctcaagcacccgacgccattctatacctgataattcttcccgcggcgttcacgt
+ttaaaatcaggaatgctgctcgcaaaataaaaacgcccccatcatttctgacagaggcgt
+ttaatttgtccggcaatatttacccttcgtgtaacccacattccctttttaagccaaaga
+aacgcgtttcttcttccgccatgccgggttcccatttacgggttgtatgggtatcgccca
+ccgataaatatccttcatcccataatgggtgatatttcaggccatgtttttgcaggtact
+gataaatagttcggttatcccagtcgataatcggcagcactttaaatacgccacgctgaa
+ttgccagcaccggtaaattggcacgactgccggattgttcacggcgcaggccagcaaacc
+aggtttgcgcattcagttctttcagagcccggttcatcggttcgactttgttgatgtcat
+tgtacttttcaatgccttcaacgccctgctcccacagttttccgtagcgtgcttcctgcc
+aggctgcgctttcggtagcacggtacactttcaggttgagcttgagtttgtccgttaact
+cgtcaataaagcggtaggtttccgggaacaagtaacccgtatcggtgaggatcaccggaa
+tatccgggcgaatttgattcaccagatgcaggctcaccgccgcctgaatgccaaagctgg
+aagaaagtacatattcaccgggcagattatccagcgcccaggctacgcggccttcagcgt
+ccagtttttccagttcggcgttagtttccgccagcgccagaatgcgatctaccttcggca
+gttcgttcagggcgtttagatcgagtttggacatagattcctcactgtttgccttgcctg
+atgcgacgctcacgcgttcttatcaggcctacaagaccgggctgatggttaatcccacaa
+atcacgcgccggatcgagcaccgggcgaatgatgcccgcacgcaccgtaaagtcgccgaa
+gccttcacccgcttcgcgctctttcgcccagcgccctatcagttcatcaagcgacgccag
+gatttccggctcggtgatgttttctttatacatccgtgggatacgtgtcccaatgcggtt
+gccgccaagatgcaggttgtagcgacccggcgctttacccaccaggcccacttccgccag
+catcgcgcgaccacaaccgttcgggcagcctgttacacgcatcacgatatgctcatcgct
+gacaccatgtttcgccattaaattatcgatgttgtcgataaaagacggcaggaaacgctc
+tgcttccgccatcgccagcgggcaagtcgggaatgacacgcaagccatcgagttttcacg
+ctgcggcgtgacggcattcattaacccgctctctttggcgatcttctcgatcttcgcttt
+ctcgctttccggtacaccggcgatgatcagattctggttcgccgtaatgcggaaatcgcc
+tttgtggatcttcgcgatctccagcaggccggttttcagcggacgcgccggataatcaag
+gatgcgaccattttcgataaacagcgtcaggtgccagttatcatcaatgcccttaaccca
+gccaatacgatcgcctcgtccggtgaactcatatggacggatcggttcaaatttgatccc
+cgcgcgacgctccacttccgctttaaacgtctcaacccccacgcgctccagcgtgtattt
+ggttttggcatttttacgatcggttcggttaccccagtcacgctgagttgtcacgacggc
+ttcggccaccgccagcgtatgctccagcggcagatagccaaactcactcgcggtgcgggc
+gtaggttttcttgttgccgtgttcgatggaaagcccaccgcccaccaacaggttaaagcc
+caccagcttgccgttttcggcgatcgccacgaagttcatgtcgttggcgtgcagatcgat
+atcgttctgtggcgggatcactaccgtggttttgaatttacgcggcaggtaggtctggcc
+gaggatcggttcttcatcagtagtggcgactttttcctggtcgagccagatctccgcata
+cgcgcgggtacgaggcaacagatgctcagaaatcttcttcgcccactcgtacgcttccgc
+gtgcagctgcgactcgtaagggttcgaggtgcagagtacgttacggttcatgtcgttagc
+tgtcgccagcgcatcaagaccgaccgagtgcagcatctggtgcaccggtttgacgttctt
+tttcagaatgccgtggaactgaaacgtctggcggttggtcaggcgaatgctgccatagat
+ggtgttttcaccggcaaatttgtcgatcgcctgccactgtttagtggtaatcaccccacc
+cggcagacgacagcgaagcagcatcgcgtggcgcggctccagcttctgttcagcacgttc
+ggcgcggatgtcgcggtcatcctgctgatacatgccgtggaagcgaatcagcaggaagtt
+gtcgcccttaaagccgccggtcagaccgtcgtttaaatcttccgcaatggtgccgcgcag
+gtagttgctttcatgcttcatgcgctcggcgtctgtcagttttccttcgaccactaaagg
+ccctggatgtttttcgctcattagtagacatctcgctgataacggcgctctacgcgcagc
+tcacttaaaaattcatccgccgcttcggtgtccatgccaccaaattcggcaatcacttcc
+agaagtgcctgctcaacgtctttcgccatgcgattagcgtcgccgcagacataaatgtgg
+gcaccatcattgatccagcgccacagctccgcgccctgttcgcgcagtttgtcttgtacg
+taaactttttctttttgatcgcgcgaccaggcaagatcgatacgtgtcagcacgccatct
+ttgacgtagcgctgccactccacctggtacaggaagtcttccgtaaagtgcggattacca
+aagaacagccagtttttacctggcgcttcgtcggcggcgcgttgctgcataaaggcgcgg
+aacggcgcaataccggtgcctgggccaatcataatcaccggggtttctggattggctggc
+aggcggaagttatcgttatgttcgataaatacgcggacttcgccctcttcttccacgcgg
+tcagcgaggaagctggaggcaccaccggcacgggcgcggccttccacgtcgtaacgcacc
+acaccaacggtgacgtgtacttcgttctcgacttccgcctgcgaggaggcgatggaatac
+agacgcggcgtcagcgggcgcagcagattaattagcgcttcggcatcaagctgtgccggg
+gagaaacgcaccatgtcaacaatcggcgtcgtcgcggcgtaatgctgtaacttcgcttta
+tcgcccaccagcggcagcagtgtttcactgcgggtaagcgtggcgtaattctcaacaatg
+ttggcggtgttgacggtcagttcgaagtgccactgtagcgcttcgttcagaggcaacgtt
+ttgccctcgacggtgacaggttcatcgcctttcagccacagcagttcgacaagttctttc
+accagtgccggatcgttctgataccagacgcccagcgcgtcacccggctggtaacgcatg
+cccgagtcacctaagtcaatttcgatatggcgaacgtctttttcagagttacgcccggta
+attttctggttaacagagaggctagccaccagcggcgcgtctttgctgtacgggctggtg
+tggatttcatttaccgcgccagtagcgacggattgcgaaggtgccgcgacaggcgcacgc
+gatttaagcgcatcaaccacgcgggcgcgccactcgctggcagcagcctggtattcaaca
+tcggcatcgacacggtcgagcaggcgttcaccacccagttccgccagcttgctgtcgaaa
+tctttcccggactggcagaaaaattcataagagctatcgccgaggctaaacacggcaaac
+gcggtgttttccagctttggcgcttttttggagaacaggaacttatgcagcgcgacggct
+tcttccggcggttccccttccccttgcgttgacgtcactacgatgagcagtttttcgctg
+gcgatttgtttgaatttatagtcgcccgcgttcaccagcttaacgttcagttttgctgct
+aataaatcatcacgtaatgcttcagcaacccggcgcgcattgccggtttgcgaggcggag
+ataatagttatacccggcatttctgcggctggcgctggcgtcgctgcaagcgcagcaggc
+tgctgattgagtacgccccagaaatagccagaaacccaggcaagctgggtgggagttaaa
+tcggtcgtggccgcctgaaggcgtgccagttgctccgggttcaacggaagcaacgcggaa
+ggtgggacctgtgtcgtcatgcgtcgttatgttccagtaagcaaagctgtttctgcgccc
+tgtcagcgcccataaaacagaagagaaggtaaggttaacggggcaaacggtgtggattaa
+agacgggatagcgataactaataaccaaatcgactaacctgttttagcaatagtctttaa
+caacaaaatagattaaccaacctaatgaaaaacaaatgaatttagccaatcattaagata
+aatcagcgattttgcgcaacaaagtcgttttagataatgcgaaaaaacagcctttccggt
+actctacggcggttttatcgtcctgtagagaaattatgatgtccaccacgttatttaaag
+atttcaccttcgaagccgctcaccgcttaccacacgtcccggaagggcataaatgtggtc
+gcctgcacgggcattcctttatggtgcgactggaaattaccggggaagtcgatccgcata
+cgggctggattatcgatttcgctgaactaaaagcggcgtttaaaccaacctacgagcgcc
+tcgatcaccattatctcaatgatattccaggtctggaaaacccaaccagcgaggttttag
+caaaatggatttgggatcaggttaaacccgttgtgccgctgttaagtgcggtgatggtaa
+aagaaacctgcaccgcaggttgtatctatcgcggcgaatgataagagtgtgtcggcggtc
+aatttcccttaagtaacgctatgttagggtgttgtgttctggatatctggggcatgacat
+ggaagacgactgcgacattattattattggtgccggtattgcaggcaccgcttgcgcgtt
+acgctgcgcgcgagcgggtttatccgttttgttactggaacgcgctgaaatccccggcag
+caaaaatctttccggcgggcggttatatacccatgcactcgcggaactcctcccgcaatt
+tcatctgaccgcgcctcttgaacgacgcatcactcacgaaagcctttccctgttaacgcc
+cgatggcgtaacgacgttttccagcttacagcccggcggtgaatcctggagtgtattacg
+tgcacgattcgatccgtggctggttgccgaagccgaaaaagaaggtgtcgaatgcatccc
+cggagcgacggtggatgcactgtatgaagaaaacggcagagtctgtggcgttatttgtgg
+tgacgatattctccgcgcccgttatgtggtgctggcagaaggtgccaacagcgtcctggc
+tgaacgtcacgggttagtgactcgtcctgctggcgaagcgatggcgttggggatcaaaga
+agtgctgtcgctggaaacatccgctattgaagaacgttttcatctggagaataacgaagg
+cgcagcgttgctgttcagcggcaggatctgtgatgacttacccggcggcgcatttcttta
+tactaatcaacaaacgctctcgttagggattgtttgcccgctctcttcccttacgcaaag
+tcgtgttccggcaagcgagctgctgactcgctttaaagcgcatccggcagtgcgcccgct
+tatcaaaaacacggaatcactggagtatggtgcgcatctggtgccagaaggtggcttgca
+cagtatgccggtgcaatacgccggtaacggctggctgctggtgggcgatgcgttgcgcag
+ttgcgtcaataccggaatttccgtgcgcggcatggatatggcgctgactggcgcgcaggc
+ggcggcacaaacgctgataagcgcctgccagcaccgcgagccgcaaaatctgtttccgct
+ttatcatcacaacgtagagcgcagcctgctgtgggatgttctacagcgttatcagcatgt
+tccggcgcttttgcaacgcccgggatggtaccgtacgtggcctgcgttaatgcaggatat
+ttcccgcgatttatgggatcagggtgataaacctgttccaccgctgcgccagttattctg
+gcatcatttacgtcgtcacggcctgtggcatctggcgggcgatgttatcaggagtctgcg
+atgtctgtagcccgtaatctctggcgcgttgctgatgcgccgcacattgttccggctgac
+tccgttgagcgccagacggcagaacggttgattaacgcctgtccggcaggtcttttttcg
+ctcacaccggaaggtaacttacgtattgactatcgcagttgcctggagtgtggcacctgc
+cgtttgctgtgcgacgaatcaacactacaacagtggcgctatccgccttccggattcggc
+atcacctaccgctttggataaataataaggataatttatgcccctcttacacctgctccg
+ccagaatccggtgattgctgccgttaaagataatgccagcctgcaactggcaatcgattc
+tgaatgccaatttatttccgtgttgtacggcaatatctgcaccatcagtaatatcgttaa
+aaagattaagaacgccgggaaatatgcttttattcatgttgatttgctggaaggcgcgtc
+aaataaagaagtcgttattcagtttttgaaactggtgaccgaggcggacggcattatcag
+taccaaagcctcaatgttgaaagcggcaagagcggaaggttttttctgtattcatcgcct
+gtttattgttgattcaatttcgtttcacaacattgataagcaagttgcgcaatcgaatcc
+ggattgtattgagatcctgccaggctgtatgcccaaagtgctgggctgggtgacagagaa
+aatccgccaaccgctgattgccggtgggctggtgtgcgatgaagaagatgcgcgtaatgc
+gattaacgcgggtgtcgtggcgctttccaccacgaataccggggtctggacgttagcgaa
+aaaattactttgacgggataatcgtaaccaattgaatttggtttgatttgtaggccgcac
+gccacatccgacattcagcgcctgatgcgacgcttgacgcgtcttatcaggcctacaagt
+ccccaggccagaaccgtaggcaggatcatccggcaacacgttattggcaatctgcgtgaa
+tgtttgtcaccagtgcctccagcaccactttccagtcatcaaccacgccaacatctgcct
+gtgaaaataccgcagcgctggcgtcatgattaatcgccaccacaaacttgctattgcgta
+cgcccgccattaacgctgctgcgccagaagcgccaacaacaatacacacctcaggtgcca
+gcagatgtccggaaataccaatcactttttcagcatcaacgccaccgttcatcactcgcg
+cccgactgtagcccacttcggctcccagcttttctgccagcatagcgatttcctggttat
+ctgcctctccgccctgccccaccaccagcacccgtctggcctcagctaatgggtcgcggg
+taacatttttcagatcctctgtgctaaccagccagtccggaagcgcacccgggacaatgt
+tcagttgttgcattccagagggcaacgtggcgtttttcgctgctcccgcctgacgcgcca
+gggaaaggcatagcgggcgtttttctgtttgcagcgtcgccgttagcgcatttccccagt
+gggatttgcgcacgcttacggttggaatatctaacgaagtcacctggcagatgcttgcac
+catgtaaacgccaggccagccgggtcgacagttcatcgccaaacgttcccggcggaaaga
+gaacaacgtccgcaggcgttcgctgccactgttccaccaacgcatccagcacctgttccg
+ccactacaggctgaggttcaatctgccagtgcgccagggtacaaccgctgaaatcctgcg
+ccgccagccagcttgctattgcggcattctcctgatttattgtcacaattgcgatattca
+tggctgcatcctttggcgtaaatagtcctgccatagcttttgagctttttctgctaccgt
+ttgcccatcaatcagcgtcgctccgcgtcgttgctctgctcttgccagttgcagacactg
+catcgctggcatttcggcagcaacagttttacggataatttctgctttccccgcagccat
+tcgctggcgcattcccggtactggcaaggccacttcaccgcactgacgcacggcaatcac
+cgcaggcaagcgaacccggcaacaacgcaacccatgttcagtacgctgttcgagggtgat
+aaacagcgcgtcgagagtgaaacgctccacctgggtgaagcagggccagcccagcatttc
+cgccagcaaaaatggcgtttgcccattctgcccttcgctgctttggcagccggtaattat
+cagatccagcggattctgatgctgccattcggcaatatggcgagcgacaaattccggcgc
+aaagcgcagatctgccgccgtctccagcaatacagcttcctcaaacccaagagccatgag
+atagcgcagccagtgcaatgcccgttcatcccccatgctcaacgcggttaaagacatcgg
+cgtaccgttttttctctgcgccaacagcagcgcggcagcggcctgttcatcagcaccgag
+taaacttcgcagtagcgaaatatccggtccgcttttaccctgagccgccgcctgccactc
+tttttccgccagcattccggcatccggttcggctttaaacgctaacagaatgttcattcg
+cacctcctacatttcccgccgccaccagcgggagggctttagtttctggtgcccatagcc
+aggtcacaacaaaaccaaccaacaacactgtcgccaggagcaataaggtgacttgcattc
+cccactgcgccagcacccacggcagcaggccagtacttaccgccgcgccaagtcgactca
+tggcagtggcaaaaccgacgcccagcgagcgaatgtcagtaggaaaactttccgcaggca
+aaatgcccaccagattactgactgccgaaatggtggtgctgaagagaacaaaaagcagca
+gcgttaatgaactgccggaaggcaaacaggccatgactaccagcgttgccgccagcagca
+aaaaacttcccagcaaaaatttgcgatgtgccagcaggtgcgtcagaactaatcccagca
+gcgcgcccacaattaacaacgcattaagcatcaggctggcagtcagcgcatcttccagac
+caatagtctgggcgatagttggcagccaggtataaatcacaaaccatgggattacgaggc
+agacaaagaagacgctgttaaacgccgtgcgccgccagtaacgcgaagagaacaaggttt
+tgatgtgtttatgggtcgccgttaccacttcatcgcccagtaaaacatggggaccaaaat
+agcgatgcacgatagcgtgagcttctgcaaaacgcccctggcgcagtagccagcgtggtg
+attctggcgttccccagcgtaataacgtaatcaacaacgcgggcagagctgccgatgcca
+gtagccagcgccaggcctccgggttttcggaaataaagtgatgtccggcaatacttgcca
+gcacatagcctacggtccacaccacgctgaatgcgcccagcaaaataccgcgatggcggc
+gcggggaaaattcagccagcaaggtgtgacctactgaataatcgcctcccagaccaatgc
+caatcaaaatgcgcagtccaataagatgctctggcgtggtggcaaaaaattgtaaaaacg
+aagcaagcgtaatcagcaaaaagctgaaggtgaagattttttgccgaccaatatggtcgg
+agatccacccaagaaccaggctgccaaggaacaaaccaaggagcgccgagccgccgatca
+ttcccgccataaacggcgtcagttgcatggcgggcgtaagctgaataatggcgtaaccaa
+tgacgccgagaacataaccgtcggtcaggtgtgcgccgaaagtgagcgcagcaatgcggc
+agtgaaaacggttaagcggtaaatcatccattcgcaccggtgaagtgttcatctttaccc
+cttcattgtccggtaataagaacggcttctcgcctgagaagccgaaaaggcaacgccccg
+tcatcgcggaacgctgcctgacacattatttttcaatcggatagatagtacccgtattca
+taatgccattaggatcgaactgctttttcagcccttccagcaacgcccacgcgctgccgt
+gttccagtttgctccagtgaacgcgatgtttaccgataccgtggtggtgcaccatcgaac
+cgccgaggcgaatggtttcttcacagatgatcttgttgagcggattgtggtacttgtcga
+tttcctcttccggcttacagtcaacgacgttgtaatcgtagacgaagtacatgttggtgc
+cgttctgatagctatgagaggaatgaccgcccagcatggtgatgtcgtcggcgtgcggga
+actcagtacgaatacggttaataacgctttcgtagatttcgtggatgcagctccagcagc
+cggatacttcggtggtaaagcccatgttgccggttttgaggatctgcacacgttcggcag
+ccactttatccggtccccagttcaggttgttaaaccaggtttcgatcagcttgctgtcca
+cgcgctggcattgcgggtagcgggcaacgatttccgcaatcccttcgcccgtcaccttcg
+caatgcgagggttaccttcagccataaagatcagcacgcattttccgtcggcaaaatggg
+tgaagtgttgggtgccatcttcagcgtcatacaaacgagcgattgacggacgataccctt
+ccaccatgatttcacgcaggatgttgaagccggttttcatgtcttccaggatatagccgt
+agaagaggttgttttccggggtgaatttaaagattttcactgttacttcagtgatatagc
+acaatgcaccttcgttgccgatgatgatgtgacgaatgtccgggccagccgcgcggcgtg
+gcacgtttttaatgcgtgtgacggtgccatcagccaatactgcttccagaccaacgacca
+tatcttcgattgcgccgtagagtgtggagaactgcccgatacttcgggttgctaccaggc
+cgcccatctgcgccagcggctttgactgcggagaatgccccgtggtgtaacctttttcac
+gcaacgcgttttccagcacttccagcggaacaccacattgcgccgtcgcctgcatattct
+caatatcaatattaatgatttgattcatggcggagccgtcgagcaccaccgagttttcta
+caacagtttccagcccaccttcggtggcggaagcaccggtacgcggcacaccgttaattt
+tgtgcgcattcataaaattcagcacacgggatacttgctctgtggaaccgagttttacga
+ccgctgccggaatcggcaaagtataaatgccatgaatatccggaaatttacgaaaacggt
+caatactgtttttctttaatactgtttcatcggtaattacgcgatctgcaccaacaattt
+cctttagctggtcgacaatcgctgcgcgagataaagacatagtaattccttcctgataat
+aaaaatggaataatcattaataagagaaaacagaaaccaccgttatgggttagcgcacta
+aataaccgccatcaaccactaataaatgcccgttgacataattcgatgccggacttgcga
+ggaatacggctgcgcccattaaatcctgagtatcgccccaacggtttgccggaatatgat
+caagaacgcgctgattggtttctggattactgcgtgtcgccagcgtaatatctgttgcat
+aatagccaggggcgataccatttacctgaatattatattgacctagttcatcacaataag
+ctttggtgaacccggcaagagcatgtttagtggcagaatatgcaggtgaccattgtccac
+ctaagtaagagaacaatgaacagatattaataattttgccgcttttctgcgggatcataa
+tttttgcagcttcatagcttaactcgaatgcggcggtcaggttcacatcaatcatcggat
+cccagtcggcacgaccgaagtccagcaccttattcagcttacaaataccggcattgttaa
+ccagaatatcaactgtaccgaaacgctcacagcaagcagcgataatcttctgcggcgcgc
+cttctgcggtgatacccacctgcatgaagtccacctcaacaccctgtttttcaatcattt
+cctttgtttcgccgttatctttgacgaaactaggaataaagatatttgcgccagctttgg
+ccaacgccatggcaaatgcctggcctaaaccgctattcccaccggtaacaattgcggttt
+tacctttcagggagaaaaaatccattgagaacgcattgagagattcgattgacatagtta
+gctccaatttccgtaaggcaaaaaaaaagaaaggtaacttcccccgcgagagggaagtta
+cctttctcattatctctggtaactggagataatttttagcataagggcataactgctaat
+gtgatcgtaatcacagtgtgatattcgtattgtcaaataattttaaaaagcagaagcgtg
+attactctcacacaacacctctgctttccatgttatttattatttcaattactagagacc
+tgagaaaagtaatccacctgaaagggcggcttacttttctcttttttttgtctattacaa
+atgggaatacgatatgcaacacaactcatatcgccgttggataaccctcgcgataattag
+ttttagcggcggcgttagtttcgacctggcttatttacgttatatttatcaaattcccat
+ggcgaaatttatgggattcagcaataccgagataggtttaataatgagtacctttggtat
+tgcggccattattctttatgcccccagcggcgttattgccgataaattttcacaccgcaa
+aatgattacttccgcgatgatcattaccggattactgggtctgttaatggcaacgtatcc
+accgctgtgggtaatgctctgtattcagatcgcctttgcgataacgacgattttaatgct
+gtggtcggtgtcgattaaagctgcatcgttgcttggcgatcatagcgagcaagggaaaat
+tatgggctggatggaagggctgcgcggcgtcggtgtaatgtcgctggcggtgtttaccat
+gtgggtcttttctcgctttgcaccggatgacagcaccagcctgaaaacggtcattatcat
+ctatagtgtggtttacatcttgttggggattctgtgctggttttttgttagcgataacaa
+caacctgcgcagtgccaataacgaagaaaaacagtcattccagcttagcgacatcctggc
+cgttttgcgtatcagcaccacctggtattgcagcatggtgatttttggcgtcttcaccat
+ctacgccattctgagttactccaccaactatctgaccgaaatgtatggcatgtcgctggt
+ggcggcgagctacatggggattgtgatcaacaaaatattccgcgcgctgtgcggcccact
+tggcggcataatcaccacctacagcaaagtgaaatcccctacccgcgtgatccaaatcct
+ttccgtactcggcctgctgacgttaactgccctgctcgtcacgaactctaacccgcaatc
+ggtcgcgatggggattggcctgattttactgctgggattcacctgttacgcctcacgcgg
+gctgtactgggcctgccctggcgaagcgagaacaccgtcttacattatgggcaccacggt
+aggtatttgttcggtgattggattcctgccggatgtcttcgtttacccaattatcggcca
+ctggcaagacaccctgcccgctgcagaagcctaccgcaatatgtggctgatgggcatggc
+ggcgcttggcatggtgattgtctttacctttttgctgttccaaaaaattcgtactgctga
+tagcgcccccgcaatggctagcagcaagtaagccaggaaaattacaggagaaaaatcatg
+tcgaaaaaatacatcatagggattgatggcggaagtcagagcacaaaagtggtgatgtac
+gatctggaaggtaacgtggtttgcgaaggcaaaggcttattacagccgatgcacacgcca
+gatgccgatactgcagaacatcctgacgacgatttatgggcatcattatgttttgccggt
+cacgatttgatgagtcagtttgccgggaataaagaagatattgtcggtattggtctggga
+tccatccgttgctgccgtgcgttattgaaagccgatggcacgcctgctgcgccgttgatt
+agctggcaggatgcacgcgttacacgcccttacgaacacactaaccctgacgtggcatat
+gtcacctctttttcgggttatctgacgcatcgcttaaccggcgagtttaaagacaatatc
+gccaactattttggtcagtggccggtggattataagagctgggcatggagcgaagatgct
+gcggtaatggataagtttaatatcccccgtcatatgctgtttgatgtgcaaatgcctggc
+accgtcctcggacatatcacaccacaagccgcactggcgacacatttcccggcaggactg
+ccggttgtttgtaccaccagtgataaaccggtagaagctctgggggccggattactggat
+gatgaaacggcggtaatttctcttggcacttacatcgcattgatgatgaacggcaaagca
+ctgccgaaagatccagtagcgtactggccgattatgtcttctattccgcaaacattgctg
+tatgaaggttacggtattcgcaaaggcatgtggacggtgagctggctgcgcgacatgcta
+ggcgagtcgttaattcaggatgccagggcgcaggatctttcaccggaagatttactcaac
+aaaaaagcttcttgtgtgccgccaggctgtaatggtctgatgacggtgctggactggctg
+accaatccgtgggaaccgtacaaacgcgggattatgatcggctttgattccagcatggat
+tacgcatggatatatcgttcgatactggaaagcgtggcgctgacgctgaagaacaattac
+gacaatatgtgtaatgaaatgaatcactttgcgaagcatgtgatcattactggcggcggt
+tcgaacagcgatctgtttatgcagatttttgccgacgtgttcaaccttccggcacgacgt
+aacgccattaacggttgtgcaagcctgggggcagcgattaatacagcggtaggtctgggg
+ctatacccggattacgcaacggctgtcgataacatggttcgcgtgaaagatatctttata
+ccgattgagagcaatgccaaacgctacgacgcgatgaataaaggcattttcaaagaccta
+accaaacatactgatgtgatcctgaaaaaatcgtatgaagtgatgcatggggaattgggg
+aatgtggattcgatccagagctggtcgaatgcgtaagtgaggaaggccgggcgggaaact
+gcccggcctgaacatacctgaatggttatccccgctgacgcggggaacataagttcgaca
+acttaaaaaatgataacaagtccggtttatccccgctgatgcagggaacataataaaaac
+tttaactagttcggtttatccctgtttttacaaggaatattaactacactcgatgtcttt
+agaataaaagacaatacgaatcgcactttatcaattttcacttaaagtatgaactggata
+tctttattcataagaactattcatcaacagcgtatagaggcggttatgtaaaaccactca
+ttagcctcaaaacaaagacaaacttccagatttattacttaaccaatgaataacaagctt
+aaaaaatatactgttattctaaagaaaaaattaacaggcattaattcaatattaaaaaaa
+taatagattaaaatttcttaacgatttaagaatcatacaaataacactttgattaaattt
+aattttttgtatcgataattgtgaacctctctggcatggagaactattttgaacatgagg
+tgttacgtggatatgttgcttattacaagtactgctaatataaaaacttgagaaagagat
+aacgggttatatggtggtttatccccgctggcgcggggaactcgacagaacggcctcagt
+agtctcgtcaggctccggtttatccccgctggcgcggggaacacctgttttcgcaaatct
+atggactattgctattcggtttatccccgctggcgcggggaacacgggcgcacggaatac
+aaagccgtgtatctgctcggtttatccccgctggcgcggggaacactggctctgcaacag
+cagcacccatgaccacgtcggtttatccccgctggcgcggggaacacgaaatgctggtga
+gcgttaatgccgcaaacacaggtttatccccgctggcgcggggaacacattacgcctttt
+tgcgattgcccggtttttgccggtttatccccgctggcgcggggaacactctaaacataa
+cctattattaattaatgattttttaagccagtcacaatctaccaactttatagtatcaca
+caaacaacacatccattatgttaaagagcacttaatccattgattaaaaaggtaaatatt
+taaaataactctatacaaactaaaatctaccaaactttaccgcaataattttcactccag
+cgaaaaattaatgccacagaatttgtagagaatgctaatgattagccctggatgggtaaa
+atggaggagttttcagaggcgacaaacaatataaatgagtagaagtctttacaggttcca
+cccatttataacgcttataaatgtttaatcaggcaatatttagatatttatgtgtttgca
+tcgacaaacgccaattacgcgcaatgcaggtttcaatgcacaaacgtgtggcatcatcct
+tttggctaatcggctgcagtgcaatgactcgcggtttatcatcggtcagcgttgccagta
+gttcatccagtgcttcaatatcgcgtacgcgccccactggatgcttgatttcgttggctc
+gctccagtgcctgtgacaacacttcatagccgccgcgcatgttcagctttggcgatacgg
+taacccaggtattcggtgtgcagcgtacctcatgagtaccactggtttcgatctggcagc
+taaaaccgttcttttcgagcagatcagtcagtggcagcaaatcatgaatgcaaggctcac
+cacccgtaatcaccacatgccgcgcggtgtatccctggcgaccaatgacagccagcaaat
+cttcactgctcgcagccccccacttatcactctctttggtcttcgccagaatgctgaaaa
+gggagacttcccgatcctcaagcttttcccaggtgtgtttggtgtcgcaccaggcacagc
+caaccgggcatccctgtaaacgaataaaaatggcgggaacgccggtaaagtaaccctcac
+cttgcagggtctggaacatctcgttaatcgggtactgcatagcattctctgtgaagtgga
+taattgttaattattgcagatcctgccacaacaatcatgtcttattaacattctgttaca
+ggcaggtttaaagaaaaatgcgaaacatatcgttaataattaaagggagtaacgtattat
+gtcagaagaaaataaagaaaatggatttaatcatgtcaaaacattcaccaaaattatatt
+tattttttctgtattagtttttaatgataacgaatataaaattaccgatgccgccgtcaa
+tttatttatccagatttaatgagaaatttataatgcgctatttcatactaatgttcactt
+tcgtatgttcctttgttgcagcccaaccaactattgtcccacaattacagcaacaagtta
+cggatcttacgagtagcttaaactcacaagaaaagaaagaactgacgcacaagttagaat
+ctattttcaataatacccaagtgcaaattgccgtattaattgttcccacaaccaaagacg
+agacaattgaacaatatgctacaagagtttttgacaattggcgtttaggagatgccaaac
+gtaatgatgggatactgatcgttgttgcctggtcggatcgcactgtccgcatccaggtag
+gttatgggctggaagaaaaggtaaccgatgctctggctggagatatcatccgtagcaaca
+tgatacccgcatttaaacaacaaaaattagctaagggattagagctagctataaacgctt
+tgaataaccaactcacttcacaacaccaatatccgactaatccttcagaaagtgaatcag
+cgtcttccagtgatcattattactttgctattttttgggtatttgcagtgatgttcttcc
+ctttctggttttttcatcaaggcagtaatttttgtcgcgcatgtaaaagtggagtctgta
+tttcagcaatctatcttttagatttattcctgttctccgataaaattttttccattgctg
+tattttccttcttttttactttcaccatatttatggtctttacctgtttatgtgtacttc
+agaaaagagcatctggtagaagttatcattcagacaacagcggttccgctggaggctcag
+atagcggcggatttagcggcgggggcggttcttctggaggtggcggcgcatccggccgct
+ggtaactcaaccataaaaaatgccagcccggaggctggcatttttaaatcagataaagtc
+agtcttatgcctggcctttgatctctttacgaccgttgtacggtgctttttcgcccagag
+cttcttcgatacgaatcagctggttgtatttagcaacacggtcagaacggctcatagaac
+cagttttgatctggcctgcagcagtaccaacagccaggtcagcgatggtagcgtcttcag
+tttcgccagaacggtgagagataactgcagtgtagccagcatctttcgccatcttgattg
+cagccagagtttcggtcagagaaccgatctggttgaatttgatcaggatggagttagcga
+tacctttttcgataccttctttcaggatcttggtgttggttacgaacaggtcgtcaccaa
+ccagctggattttgtcgcccagaactttggtctggtatgcgaaaccgtcccagtcagatt
+cgtccagaccgtcttcgatagaaacgatcgggtactgtttggtcagttcttccaggaagt
+gagtgaattcttcagaggtgaacgctttgttgccttcgccagccagaacgtatttaccat
+ctttgtagaattcagaagctgcgcagtccatcgccaaagtgatgtctttgcccagttcat
+aaccagcagctttaacagcttcagcgataacagccagagcttcagcgttggaacccaggt
+tcggcgcatagccaccttcgtcaccaacagcagtgttcatgcctttcgctttcagaactt
+ttgccaggtgatggaaaacttcagaacccatgcggatggcttctttcacagttttcgcgc
+caaccggctgaatcatgaattcctggatatcaacgttgttgtcagcgtgctcaccaccgt
+tgatgatgttcatcatcggaaccggcatagagtatttgcccggagtaccgttcagttcag
+cgatgtgctcgtacagcggcatacctttagcagctgcagcagctttggcgttagccagag
+atacagccaggattgcgttcgcgccgaatttggatttgttttcggtgccgtccaggtcga
+tcatgatcttgtcaatgccagcctgatctttagcatctttgccaatcagcgcctgagcga
+tcgggccgtttaccgcagcaacagctttggttacgcctttacccaggaaacgggatttgt
+cgccatcgcgcagttccagagcttcacgggaaccagtagaagcacctgacggagcagctg
+ccataccgacgaaaccaccctccagatgtacttcggcttcaacagtcgggttaccacggg
+agtcgatgatttcacgaccgatgatttttacgattttggacattaggttttcctcaagtc
+actagttaaactgaaactccagacaaacaacgcgtacccagggtacgcgttgccgctcta
+acttttttacttacttcgcctgacgtttctggaactcgctggcggctttcacaaagcctg
+caaacagcgggtgaccatcacgtggagtagaagtaaactccggatggaactggcaagcca
+cgaaccacgggtgattcggaacttcgatgatctcgaccaactgatcatccccggaacggc
+ccgcaacgcgcagacctgcatcttcaatctgtttcaacagcatgttgttgacttcgtaac
+ggtgacgatgacgctcaacaattgtcggcgcattgtacagctggcgaaccaggctatcgt
+caaccaactggcactgctgtgcgccgagacgcatggtaccgccgagatcgctcttctcgc
+tacgaacttcaacgttgccgttttcatcgcgccactcggtaatcagcgccacaaccgggt
+acttacagtctggcacaaattccgtagagttggcgttctccatgttggcaacatggcgag
+cgtaatcaattaacgccacctgcatacccaggcaaatgcccagataaggaatattgttct
+cacgcgcaaaacgcgcggtcgtaatcatgccttctacgccacgatagccgaaaccgccag
+gtacgaggattgcgtccagacctttaaggatttcaacgccgcgcgtttcaacatcttgtg
+aatcgatcagtttgatgttgacgctgacacgattcttcagcccaccgtgtttcagtgctt
+cgatcactgatttataagcatccggcagttcaatgtacttgccgaccataccgatggtga
+cttcacttaccgggttcgcttcttcgaagataacctgttcccattcggacagattcgctt
+ccgggcagtttaagctgaatcgtttacaaatataatcgtccagcccctgagatttcaaca
+ggcccggaattttatagatggaatcgacgtctttcagagaaataaccgctttttccggaa
+cattacagaacaatgcaatcttcgcacgttcgttcgccggaacagcgcgatctgaacgac
+aaatcaggatgtcaggctggataccgatggagagcagctcttttacagagtgctgagtcg
+gtttggttttgacttcaccagacgctgccatgtacggcaccagcgtcaggtgcataaaca
+gagtgtgctcacggccaatttcaacagccatctggcgaatcgcttcgaggaacggcaagg
+attcgatatcacctactgtaccgccgatttctaccagtactacgtcatgaccttcgccac
+cttccagcacgcgctctttgattgcgttagtgatgtgcggaataacctgcacggttgcgc
+cgaggtagtcaccgcggcgttctttacgcagaacgtcagagtagatacgacccgtggtga
+agttgttgcggcggctcattttggtacgaatgaaacgctcgtagtgccccaggtccaggt
+cggtttcagcgccgtcttcagtaacgaacacttccccgtgttggattgggctcatagtac
+ctggatcgacgttgatgtacggatccagtttcatgatggtcacattgaggccacgggctt
+caagaatggctgcgagggaggctgcggcaatgcctttacccagagaggatacgaccccgc
+cggtcacaaaaatatagttcgttgtcatgctgaacctgagaagttaggttgaaaagacga
+tggaataaccaagacgggaaagcagtatacccgaacatgacctgtgccacaaactttcat
+tatccctcctcttcgccagcgcactattgaaatcaggagtgagaaaatagcccctttggg
+gtaaatgtttttgacgcaaatcaagcgcttgtcatttaaaaaatgacacaaatggcgctt
+gaccgcgtaattcccttagagatcaatttcctgccgttttacctgttgccagacttcttc
+cattgtttcgaggtcaacacctgtcatttccagtccacgcgcggcaacaatacgctccac
+ttcgcgaaaacgacgctcgaatttttcgttcgctttttgcaatgcgatttctgctttcgt
+ccctaaatggcgagccagattaaccgtggcaaacagcaggtcccccatttcctcctccag
+tttagcctggtcgacaacagcctgccgcgcttcgtacatcacctcgtcgatctcttcgta
+gactttatcgactaccggaccaagcgtcgtccaatcgaagccaacgttggcgcaacgttt
+ctggattttttgcgcacgcattaaagccggtaaactacgaggaatatcgtccagcgccga
+atgctgcgctttctgcgcgcgctcttcggttttgatttgctcccaacgggcaagcacttc
+actactgttttcggcagaactatcagcaaaaacatgcggatggcgacgctctaatttatc
+gctaatagcagcgcaaatatcattaaagtcaaagcgcccttcttcctgagccatttgcgc
+gtaaaacaccacctggaatagcagatcgcccagttcaccgcgaagatcgtcaaaatcttc
+acgggcgatggcgtccagcacttcgtaggtttcttcaagggtgtaaggcgcaatggtggc
+aaatgtctgctctttatcccacgggcagccgttttccggatcgcgcaggcgctgcataat
+agtgagcaaacggtcgatttgattcattgaattgtcctgaaaattgcgggtctgtcaggt
+ggaaacctgtgaccagaatagaagtgagttagtaacactacccaatcagtacgttaattt
+tggctttaatgagttgtaattcctctggggcaactgttcctttcttcgttgctcctcttg
+cccgccaggcgatactttttacctgatcagctaacgctacgccatcacgttcctgaccgg
+ataaaacaacttcgaacggatatccttttgattgcgttgtacaaggaacacacagacaca
+tacctgttttgttgttgtacatgaaaggactcaggacaacagctggacgatgtccagctt
+gctcgctaccttttgtcgggtcaaaatcaacccaaatcagatcgcccatatcgggtacgt
+atcggcttaccattaccagacttccttatctttcggctctccccagtcgatattctcgtg
+gaggttttccggcgtgatgtcgttgaccagttcagcaagcgtaaatacgggctctttacg
+cactggctcaataattaatttgccatccaccaggtcaatcttcacttcatcatcaatatt
+cagattgagcgcctgcattaacgtagccgggatccgcaccgccggtgaatttccccaacg
+ctttacgctactgtggatcataaccctttcctcaaaccgctatcatatgtagatacagta
+tatatcaatctacattgtagatacgagcaaatttcggcctaactcccgtgcaaccgacgc
+gcgtcgataacatccggcacctggttgagtttacccagcacgcgccccagcacttgcagg
+ttgtaaatctcaatggtcatgtcgatggtcgccagttgctgtttggtgtcgctacggctg
+gcaacgccaagcacgttcaccttctcgttggcgagaatggtcgtgatatcacgtaacaac
+ccactacgatcattagctaccacgcggaccaccagcgaatatccggcggagtagctctca
+ccccataccgcgtcaacaatgcgttctggcgcatgggagcgcagttccgccagttgttcg
+caatcggcgcggtgtactgaaataccgcgcccctgggtaatgaagccgacaatctcatct
+ccaggaatcggctggcagcagcgcgcgatgtggtgcatcaggttgccaacaccttcgact
+accacgcgaccgttatctttactgcggttttgcggcgtgtagcttttttgctgaagttgc
+ttcagcgcggcggcgtcctgctcttcggcactcggcttattaaattgcgattgcaggaag
+ttcaccatctgattgagacggatatccccgccaccaatcgccgccagcaactcgtcgaca
+tcattgaagttgtaacgcggcagcagatgtttttctgcttctttcaggctgatccccaga
+tgttccagctcgtcgtcaaggatttgccgcccagccagaatgtttttgtcacggtcctgt
+ttacggaaccaggcgtgaattttcgaacgcccacggctggttgtgacgtaaccgaggttt
+gggtttaaccagtcacggctggggttcggctgtttctgggtgataatttcaatctggtcg
+cccatctgcagctggtaggtgaacggcacaatgcgcccgccaatttttgccccgatgcag
+cggtgtccgacatcactgtggatgtggtaagcgaagtccagcggcgttgatcccgcaggc
+aaatcaacgacatcacctttcggcgtaaagacgtacacccggtcgtcaaagacctgacta
+cgtacttcgtcgagcatttcgccggaatcagccatctcttcctgccacgcaatcagttta
+cgcagccaggcaatccggtcttcatgtcccgaacgtgcgccgccagcagccgcgccctct
+ttatatttccagtgcgcagcaacacccaactctgcatcttcatgcatctgtttggtgcgg
+atttggatctcaacggtttttccacccggccccagaaccacggtatgaatagactgataa
+ccgtttggtttcgggttagcgacgtaatcgtcaaactcatccggcaggtggcgatagtga
+gtgtgcactatccccagtgcggcatagcaatcctgtaaacgctcggcgacaatacgtacc
+gcacgcacatcaaacagctcatcaaaggcgaggttctttttctgcattttacgccagatg
+ctgtagatgtgtttcggacgaccatacacttccgctttaacgccttcagctttcatctca
+gcgcgcagatgaccaacgaactcttcgatgtagtgttcgcggtcgagacgccgttcatgc
+agcagtttggcaattcgtttgtattcggttggatggaggtaacggaagcagtaatcttcc
+agttcccatttcagttgtccgattccgagacggttagccagcggtgcgtagatgttggta
+cactcttttgccgccagtacacgttcatcttccggcgcatcttttacttcgcgcagatga
+gcaatacgctccgccagtttgatgactacgcagcgaaaatcatcgaccatcgccaataac
+atccggcgaacgttatcgacctgttcggaggaaacagaatcagtgtgcgtcgctttcagc
+tggcggatcgccgccatatcacgcacgccgtgaataaggttaacgaccgacttaccgacg
+ctctcacgcagcacatcttcgctgactacgttggcatccgccagagggaaaagcagcgcc
+gcccgcagcgtgtcaatgtccatacttaatgtcgagaggatctccaccatctcaacacca
+cgccacaataacagactggcatccggatgcccctgcgtctgttgcagacaatacgcccag
+gtttcggctaagcactcacacgacttctggctggtaatacccagacttgcgatccatttt
+tccggatcaaattcaccagccttattgatatgtgcacttcttaccgcaaccatcgtcctc
+tcctttagggaccagacctgccgaaatcggcaaatcgcaactatttaacgcgcgagaaaa
+gtaccatcgattccagatgtcccgtgtgtgggaacatatccagcatcgccagtcgcgcaa
+tggtatatcctgcttttaataacgcttcgctatcccgagccagcgttgcagggttacagg
+atacataaactatacgaataggttccagttttataatttgctgcataacacctgcggcac
+ctgctcgcgccgggtccagcaacactttatcgaagccgtttttcgcccacggctgctttg
+tgacatcttcttcaagattttcgtgataaaacgtcacattctgtaagccattaagacgcg
+cattctgctggcctttttccaccagcgccggaacaccttctacaccgaccacactggcag
+cttgtgtcgccaatggcagtgtaaagttgcccataccgcagaacagatccagtacgcgat
+cttcaggttgcacatccagccattccaacgcacgcgctaccattttttggttcacacccg
+cattgacctgaataaaatcgcgcgggctaaaagttaagcgcaacccgtttgagtcatacc
+agggcatctcaccagagacggtttcgagtatctcactatcgggggcgagatacagatcca
+ggccttcagaatgcgaaaagcgttccagtttttcgcgatctgccgaacttagcggtgcgg
+tatggcgcaaaatcatcagcgtgccgctggttgcctgtaccagttcaacatgaccaagat
+ggcgcatagcttgtaagctgcccagacatgccctgactttgggcagcaatgcttcaagtt
+ggggcgctaaaatggggcattgtttgacgtcgacaatgtcactggagcccgctttgcgaa
+accccatctgaagttgctgtgttttcggtaagtagttcagacttaaacgcgcgcgacggc
+gatagccccagggaacatcggcgatcacttcagagacatcgtgtttcattaatcgggcga
+gtgccgcacttttgcttcgctgctgtaaatccacgctggcgtgttgttgctgacagccac
+cgcatacgccaaaatgaggacagcgtggcgtttcgcgttccgggctatcgcttaaccggc
+gtacgactttagcgcgggcatactgttttttatcttcagtaacagtaacttccgcgtttt
+cctgcggcaataatccggggataaatagcgttttgccgttatgtcgcgccacgccctgac
+caaaagagtcgaggtcgttgactgaaacggttatgatctgacgcgtcgtcgtgcgtcgtt
+ttgcagagtagaattgcgccattggcgagactttctcaatttaacagtgtgaccttaatt
+gtcccataacggaactccatgaccaactacagcctgcgcgcacgcatgatgattctgatc
+ctggcaccgaccgtccttattggtttattgctgagtatctttttcgtcgtgcatcgctat
+aacgacttgcagcgtcaactggaagatgccggtgccagcattattgagccgcttgcagtt
+tctactgaatatggcatgagcctgcaaaatcgcgaatctatcggtcagttaataagcgta
+ctgcatcgtcgccattccgatattgttcgcgcgatttcggtttatgatgaaaataaccga
+ctctttgtcacctccaattttcatcttgatccctcatcaatgcagctcggcagcaacgtg
+ccgtttcctcgccagctcactgtcactcgtgacggcgatattatgatcctccgcacgccg
+attatttctgagagttactcccccgacgaatcgcccagtagcgatgccaaaaatagtcaa
+aatatgttgggatatattgcgctggagctggatcttaaatcggttcgcttgcagcaatat
+aaagagatctttatttccagcgtgatgatgctgttttgtatcggtattgcgcttattttt
+ggctggcgcttaatgcgcgatgtaaccggtccgattcgcaacatggtgaataccgtcgac
+cgcatccgtcgcgggcaactcgacagccgggtggaaggatttatgctcggcgagctggat
+atgctgaaaaacggtatcaactcgatggcaatgtcgctggctgcttatcacgaagagatg
+cagcacaatatcgaccaggcgacgtccgatctgcgtgaaacgctggagcagatggaaatt
+cagaacgttgagttagatctggcgaaaaagcgcgcccaggaagcggcgcgtattaaatcc
+gagtttctggcaaatatgtcacacgagctgcgtacaccactgaatggtgttattggcttt
+acccgcctgacgctgaaaacagaattaacaccaacgcagcgcgatcacctgaatacgatt
+gaacgttcggcaaataatttgctggcaattattaatgatgttctcgacttctcgaaactg
+gaagcaggtaagctgattctggaaagtattccattcccactacgcagcacgctggatgaa
+gtcgttactctgctggcacattcttctcacgataaagggttagaactgacgctcaatatt
+aaaagcgacgtgcctgataacgtgatcggcgacccgctgcgattacagcaaatcatcact
+aacctggtggggaatgcaattaaattcaccgagaatggcaacattgatattctggtagaa
+aaacgtgcgctgagtaataccaaagtgcagattgaagtgcagattcgggataccggcatt
+ggtattcctgaacgcgatcaatcgcgcttattccaggccttccgacaggctgatgccagt
+atttcccgccgtcatggtggcaccgggctggggctggtgattacacaaaaactggttaat
+gaaatgggcggcgatatttcgttccatagccagccgaatcgcggttcaactttctggttc
+cacattaatctcgatctgaacccgaacattattatcgaagggccatccacccagtgcctc
+gcaggtaagcgcctggcctatgtcgaaccaaactccgcagcagcgcaatgcacgctggat
+attttaagtgaaacgccgctggaagtggtttatagcccaacgttctccgcgctgcctccc
+gcgcattacgacatgatgttgttaggcatcgcggtgaccttccgcgagccgctaacaatg
+caacatgagcgattagcgaaagcggtatcgatgaccgatttcctgatgctggcacttcct
+tgccatgcacaagtcaatgctgaaaaactcaagcaagatggtatcggcgcgtgtctgctg
+aaaccattaacacctacacgcctgttgcctgccctgacggaattttgtcatcacaaacaa
+aacacgcttttgcctgtaaccgatgaaagtaagctggcaatgacagtcatggcggttgat
+gacaaccccgctaacctgaaacttatcggcgcattgctggaagatatggtgcaacatgtg
+gaactttgcgatagcgggcatcaggcggttgaacgggcgaaacagatgccgttcgatttg
+atcttaatggatattcaaatgccggacatggatggcattcgggcctgcgaactcatccac
+caactcccgcatcagcaacaaacgccggttatcgcggtaacggcgcatgcaatggccggg
+caaaaagagaagctgcttggcgcagggatgagcgattatctggcgaaaccgattgaagaa
+gagcgattgcataatttgttgttgcgctacaagcctggcagcggtatttcctctcgcgtc
+gtgacgcccgaagtcaacgaaattgtggtgaacccgaatgcgaccctcgactggcaactg
+gcactacgccaggcagcaggaaaaaccgatttagcgcgcgatatgctgcaaatgttactc
+gatttcctgcctgaagttcgcaacaaagttgaggaacagctggttggagaaaacccggaa
+ggcctggttgatttgattcataaactgcatggcagttgcggctatagcggtgtgccacgt
+atgaagaatctctgccaactgatcgaacaacagctacgtagcggtactaaagaagaagat
+ttggaaccggagctgctggaactgttggacgagatggataatgtcgcgcgcgaagccagc
+aaaattctcgggtaatggatgtcttgtcgagtagcaatcggctttttatgacgctggttt
+cagattggtgacaaagtgcctgtgtttatgccggatgcggcgttaacgccttatccggcc
+tacaaaaccaattaaattcaatgaattaaaaaatgatgtagacctgatacatagcacaac
+aggctattttgcgtttagcatcagtctcaaaccggctccagatagagccggttttggttt
+tctgtcttaacgcaccatgcacgggcgcttgttatcgaacgtccagccaggaatcagata
+ctgcattcccatcgcatcgtcacgcgcgccaagcccgtgtttctgatacagctcatgggc
+tttcatcacttgatccatatcgatttctacacccagccccggtttttctggcacctgtac
+cagcccgcctttgatctcaaacggttctttggtcaggcgctgattgccttcctgccaaat
+ccagtgcgtatcaatagcagtaattttacccggtgcagcggcggcaacatgggtaaacat
+cgccagggaaatatcgaagtggttgttagagtgtgaaccccaggtcaggccaaattcatg
+gcacatttgcgccacacgtaccgaaccttgcattgtccagaaatgcggatccgccagcgg
+gatatcaacggattgcagggagagcgtatggcccatttgccgccagtcggtggcgatcat
+attggttgcagtcggtagacctgtcgcgcgacggaactctgccatcacttcacgcccgga
+gaaaccttgctccgcaccacacggatcttctgcataagccagcgaacctttcaggtattt
+accgattttaatcgcttcgttcagcgaccaggcaccgttaggatcgagcgtaatacgcgc
+ctgcgggaagcgttgcgccagtgccacaatagactcggcctcttcttccccggccagtac
+accgcccttcagtttgaaatcgttgaagccatatttttcatatgccgcttccgccaggcg
+caccaccgcatccggcgtcatcgcttcttcatgacgcaggcgataccagtcgcatgagtc
+atccggctggctttgatacggcagcggcgtggctttgcgattaccgacgaagaacagata
+accgagcatttcgacttcgctacgctgttgaccatcgcccagcagcgatgccacgtttac
+ccccagatgctgccccagcagatccagcattgccgcttctatcccggtaactacatgaat
+agtggtacgtaggtcaaatgtctgcaaaccgcgcccaccagcatcacgatcggcaaaagt
+attacgcaccagcgtcagaacgtttttgtattcacccagcgttttacctaccaccagcgg
+aatcgcatcttccagcgttttacggattttctcgccgccgggaatttcccctacgccagt
+gtgaccagaattatctttgataatcacaatattacgcgtaaagaacggtgcgtgtgcacc
+actcagattcatcagcatactgtcatgacccgccaccgggataacctgcatttcagtaac
+aacaggcgtcgtaaattgagaactcatatttatgtcctttttcagaatcaatgacggccg
+aaaacgggacgtttacggtcaaaggtccagccggggatcaggtactgcatcggacctgcg
+tcgttacgcgcaccgccaggcagacgtttataggcctcatgtgccttttgtacctgttcc
+cagtccagttccacgcccagaccgggcgcatcaggaacggcaatttttccgtttttaatc
+tccagcggattttgggtcaggcgacaatcgccctcctgccaaatccagtgggtatcgata
+gcggtaggattacccggtgccgccgcgcccacatgggtaaacatcgccagagagatatcg
+aaatggttattagaatggcagccccaggtcagcccccagtcgtcgcaaagctgcgccaca
+cggactgcaccggaaagcgtccagaagtgcggatcggcaagtggaatatctaccgcattg
+agcatcaccgcatgacccatttcgcgccagttggtggcgatcatgttagtcgcgacgggc
+aagccggtcgcccgtcgaaattccgccatcacttcacgtccggagaagccctgttctgcg
+ccgcatggatcttcggcataggtaagaacatcattcagccctttgcataaagaaatggct
+tcatcaagcagccatgcaccgttgggatcaacggtaatccgcgcatccgggaagcgtttc
+ttcaatgcacgaacagtgtcgatttcttgctcgccaggtaacacgccgcccttaagtttg
+aaatctttaaagccgtagcgatcctgtgaggcttccgccagacgcacaacggcttcgctg
+ttcattgctttctgatgccgcaactgataccactcatggttgcccggcgtattttccaca
+taaggaagatcggttttggtccgatcaccgatataaaacagataaccgaggacggtaata
+gcctcgcgttgcttgcctggccctaacagttcgcagaccggaacattcagcgccttacct
+agcaggtcaagcaaagcggcttccagcgccgccacggcgttaacgcgtaattcaaaggtc
+caggcacctttaccgaaggtatcaaaatcggcggcctgattacctttatgcacctgctgg
+accactttattcagtcgcgcaacttcctggcccagaaccatcggaatagcatcgacaagc
+gtctgataaatcacatctccgcccggcgcttcaccaatgccggtatgcccggcgttatcg
+gtgagtaccacaatattgcgggtgaaatatgcgttatgtgccccaccaatattaagcaac
+atgctgtcatgcccggccaccggaatgactttcatatcagtaataacaggactggattgt
+gtcgccatcttattgccccgcaacaggtttcaactcgatacgcttgatatcgcccaccag
+caccaggtagctcagtaccgcgattaaggcatgaacaccaacataaatcagcgccccatt
+aaacgagccagtcgtgccaacgatataaccaattgcgattggcgtgacgatgccagaaat
+gttaccgaacatgttgaacaggccaccggaaagaccgctgatctcttttggcgcggtatc
+tgccattactgcccaacccagcgccccgatgcccttaccgaagaaggccagcgccataaa
+gccgatgatcatccactcaacgttgacgtagttgcagaacaccatcaccatcgacagcaa
+catgcccattacgatcggtgttttacgcgcaatgttcagcgatcccgtgcggcgcatcag
+ccagtcggaaataatcccacccagcacaccgccgataaaaccgcaaaccgccggaacgga
+agccacaaagcccgctttcagaatcgacatcccgcgtgcctgcaccagataaaccgggaa
+ccaggtaataaagaagtaagtcagggcgttgatacagtactgaccgatataaacgccgat
+catcatccgtgaccctagcagctgtttgatctgcccccacttcacgctgaacggcacttt
+aactttggtgttttgctgatccatattgatcagcgcaccacccgcggcgatgtactccag
+ctctttcttatttacccccggatgttgatttggctcgtggatgactttcaaccagataaa
+gctgatgacaatccccagaccgcccataaagaagaagacgtgtgaccagcccacttcatg
+cgtcagccagcccataatcggcgcgaagatcaccgttgcgaagtattgagcggagttaaa
+aatcgacaccgccgttcccctttcctgcgccggaaaccaggccgcaacaatgcgactgtt
+gccggggaaagatggcgcttcagcaagcccgaccaggaagcgcagcgtaaacagggcaac
+gataatgccgaatccactaaagatatcgacgaagccttgcagcaaggtaaacatcgacca
+gataaagatcgaccagaagtagacgcgttttgaaccaaaacggtccagcaaccagccacc
+agggatctgcccgataacataagcccatgagaaagcagagaacacatagcccattcccac
+gggatcaaggccgatatctttggccatttccgaaccggcgatagagagcgtagcgcggtc
+gccgtagttgaaggatgtgacgataaacaacatcaccactatccagtaacgagcatttgt
+gcgtttttccacactgctcgcagcctgacttaaagaactcattgttgcactcctgaaaat
+tcgcgttagccacgctcactctggactgcgacatcgccaggaaatcagaggtgacgtagg
+gtgttttttgccgtttttataggtcgttcgccgaatacggcgcgtgtttatatctggcaa
+tagcagtataaaaagcgcgccatagcggctcaccgtgcaacaacacaacattaatgcgtt
+caatgaggcccgattttggcattagccctggacggtggaatccacttcacggaaatgaaa
+acaagaacaagaaaggaagggttaaaacgaagaaataaagaagagtatgaaatggatcgc
+ttgactccaggcaaacgccagtaaaaatccgcgctatgaagcagtttttactggcatttg
+cctgaaaagattcgattcagcaccgctaaaacgacatttaccgctcgctgaacatatcag
+gacaacagcgtgccccactgttcgacccacggatttgattccgtttccggttccgggttc
+tcactggcgtcaatcaacagcatttcgccaacccgctgagcgctctgttcctgcaacaag
+gcatcgaactgtttgccgccattgcagaaattcacataactactgtcgccgagcgcaatc
+acgccataacgcagattcggctggaagcccagactatctttgattccctgaaagagtggc
+acaatgctatcaggaaggtcgccctgcccggtcgtggacgtaaccaccagaacatactta
+tcctgatagggcagccagtcgcttaattcaggatcttcaaataccgttgctttgtggccc
+tgcgcggtcagaatcgcttccgcttcttcggccactaacagtgaattcccgtacatggtg
+ccgacaaaaataccaatttccgccataccgttttctccctggattaggaacttatctctc
+catcctgacccgatggcgcactgaactcaaccctttcattttcaggaagcagaccgcgcc
+agccaaattgtgataacgcctgcatccaggtgtcgtccaggcccgcgtgaatagtcagcg
+gctcgccagtaaaaggatgcgtcaatgacaactgactggcatgtagcattaaccgctgga
+ggccaaaatgctcagcaccgctgcgattctggcgtaaatcgccatgtttgctatcgccaa
+taatcggatgacgcaaatgggcaagatgtcggcgaagctgatgtttgcgtccggttttcg
+gctccagttccaccaggccgtagcgcgtggtcgggtaacgtccggtcgctaccggcattt
+ctacggtcgccagaccgcgataatgcgtcactgctggctgcgggcctttatcttcgcggg
+caaatttatcagcgattttgtccagttcttccaccagtggataatccagcaccgcttctt
+ccatcaaccagccgcgcacaatcgcatggtaacgtttctggatttggtgctgttcaaact
+gttgtgccagcagccgtccggcctcgctggataatcccatcaacaacacaccagaagtgg
+gtcggtccagacgatgagcagtaaaaacatgctggcctatctggtcacgcacggtttgca
+tgaccactactttctcgtcgcgatccagccagctgcggtgaaccagccagccggagggtt
+tatttaccgcaaccagccattcatcctgatagagtatttccagcattagctcgcatcatc
+cgcaaaaagagcatccagtttttccagctcagccagaataagcgcgcgttgcggatggtc
+cgtcgccagcgccatttcataatagggtgcaacggcaaaagcgcccggtaacggctgttt
+gttatctaacaaatcgtgcattcgcgggatcagcacccactgcaaccactccagtggttc
+catggtgtccataaagaacggttgggtactattaaattgatgcggctggggttcatcgtt
+tcgccagtgctgatgttcacgcagtaacgcttcaagcgcctgcaactggagacgaacgcg
+gtcatgagtggtcataaagcaacctcaataagaaaaactgccgcgaaggatagcaggaat
+aaaaaaagggagcactgtattcacagcgctcccggttcgtttcgcagcattccagctact
+tttgttgctccctgctcatccttgacaacttttcctctggccttgcggccaatcgttcat
+cctgaactattgcttcctgctcacaccaccccgatgtgatacttcatcctgaagtgtccc
+tggccttcctgacccaccgaatcatcctgaccggttctcattctccatcctggaggtgtc
+ctttaacgcgtcctgcgtcatcctcttcgcttcatccagaagcctttccctgaaacacca
+tcctggtgtgtcctgcagaagtgtcatcatcctgatgttcacttcgttgtctgactccct
+gtcgacgaagatagaatcgtctttttcgcgaagtcttacaaggcgcttacagacaatgcc
+ttaaggaaaatttcatatgaaagttaagaattaacaatcaacattttgattttaaatgaa
+aataacgattcttatctttttaagtattcgcttatttcctggcgatctcctacagagtct
+gtaagagatctctcacaaccagatggggtatttggattacagaagaggcttaagttgatt
+aaggaattccgcaagatttgaggctaaatgcgtccgtttacgtgttcccagcgtctcttt
+gcacacttcaccggagagattacacaccgagatgacctctaactcttcttccagcgtcgc
+gataaatagtgtgggcggcagttttagccttttctgagtcaccagatgaccaatcagatt
+ttcctgcacccgacggaagtcgtcttcactccaggtttgcagcaatgtcagtttgatatc
+gccaaactgcgcgtgcatatccccggcaaactgagtcgtataaaaggtatgaattgtggg
+ttgtatcacaatatcaaaagcgcgttcaaccgcgtttacattttgttccccggtaaacgg
+ctggggttgccagtatacggcatcttcggtagttgaaataatgcacggtgaaggaacacc
+gtacagttcctcacttaacggccagcttttatgctcttcatgccacgcatcgcagtagcg
+tgcagtaaaatctttcagggcttgtgcggtcaaatcgtccactaatttctctcttcactt
+aaaccagatacacttgtcgtttagtttatctggtttatgacggtgaaacatgtcttctta
+tgcaaaccatcaggcacttgcgggcctgactcttggaaaatcaaccgattaccgggatac
+ctatgacgccagcctactgcaaggcgttccacgcagcctgaatcgcgacccgctgggtct
+gaaagcggataacctgccttttcacggtacggatatctggacgctgtatgaactttcctg
+gctgaatgcgaaaggtttgccgcaggtcgctgtcggtcatgttgaacttgattacaccag
+cgtaaatctgattgagtcgaagagttttaagctctatctcaacagttttaaccagacgcg
+ttttaataactgggatgaggtgcgccagacgctggagcgcgacttaagcacttgcgctca
+gggtaagattagcgtggcgttatatcgtcttgatgaactggaaggccagccgataggtca
+ttttaatggcacttgcattgatgaccaggatatcactatcgataactatgaattcactac
+tgactatctggagaatgccacctgtggtgaaaaagtagtggaagagacgcttgtcagcca
+cctgctgaaatcaaactgcctgatcacccatcaaccagattggggttcgctccaaattca
+gtatcgtggacgccaaattgacagagaaaaactgctgcgttacctggtctcattccgtca
+tcacaacgagttccacgaacagtgcgtggaacgcatctttaatgacctgttacgcttctg
+ccagccagaaaaattgagcgtttacgcacgttatacccgtcgtggcggtctggacattaa
+cccgtggcgcagtaatagcgattttgtcccatcgaccacaagactggttcggcaataaat
+tttttctcaattttgcgtgctggattcacgcagaaggttgtgaaaggtcatcaggcaggg
+ctattgtaatcaaagggaatgacgatattcgtcccataaggagtttttcttgattacaca
+tattagcccgcttggctccatggatatgttgtcgcagctggaagtggatatgcttaaacg
+caccgccagcagcgacctctatcaactgtttcgcaactgttcacttgccgtactgaactc
+cggtagtttgaccgataacagcaaagaattgctgtctcgttttgaaaatttcgatattaa
+cgtcttgcgccgtgaacgcggcgtaaagctggaactgattaatcccccggaagaggcttt
+tgtcgatgggcgaattattcgcgctttgcaggccaacttgttcgcggtcctgcgtgacat
+tctcttcgtttacgggcaaatccataacaccgttcgttttcccaacctgaatctcgacaa
+ctccgtccacatcactaacctggtcttttccatcttgcgtaacgctcgcgcgctgcatgt
+gggtgaagcgccaaatatggtggtctgctggggcggtcactcaattaacgaaaacgagta
+tttgtatgcccgtcgcgtcggaaaccagctgggcctgcgtgagctgaatatctgcaccgg
+ctgtggtccgggagcgatggaagcgccgatgaaaggtgctgcggtcggacacgcgcagca
+gcgttacaaagacagtcgttttattggtatgacagagccgtcgattatcgccgctgaacc
+gcctaacccgctggtcaacgaattgatcatcatgccagatatcgaaaaacgtctggaagc
+gtttgtccgtatcgctcacggtatcattatcttccctggcggtgtgggtacggcagaaga
+gttgctctatttgctgggaattttaatgaacccggccaacaaagatcaggttttaccatt
+gatcctcaccggcccgaaagagagcgccgactacttccgcgtactggacgagtttgtcgt
+gcatacgctgggtgaaaacgcgcgccgccattaccgcatcatcattgatgacgccgctga
+agtcgctcgtcagatgaaaaaatcgatgccgctggtgaaagaaaatcgccgtgatacagg
+cgatgcctacagctttaactggtcaatgcgcattgcgccagatttgcaaatgccgtttga
+gccgtctcacgagaatatggctaatctgaagctttacccggatcaacctgttgaagtgct
+ggctgccgacctgcgccgtgcgttctccggtattgtggcgggtaacgtaaaagaagtcgg
+tattcgcgccattgaagagtttggtccttacaaaatcaacggcgataaagagattatgcg
+tcgtatggacgacctgctacagggttttgttgcccagcatcgtatgaagttgccaggctc
+agcctacatcccttgctacgaaatctgcacgtaatctccgctcccccggtgacgtttgtt
+gccgggttttctcgtttttggtcacttactcatcaactcatttcatttgttatatgaatg
+tttcttaccaccctcacgcgacaaatatcatcacagttaatatgtcatacaatttatgtt
+gcaacgcaaacgtttccctattttcataaaccgtattttatcgctatgaaaaagaaatta
+tcgccatgattaactaaaagtattgattttttcagttcaacctacatatattgcgcgccc
+cggaagaagtcagatgtcgtttaatgggcaaatattgcccttaaattctcttttactttt
+gatttacagagtaaagcgttgggataatctatcttccaagtagattattgtatttgagat
+caagatcactgatagatacataacttgtgtgtatctttccgccctcaaattattacggcg
+gtaaatgattaagccatcgccgatagacagatttcatttttacggtcaggcaccttcccg
+ggctgaactggctaaaagctgaattatttgcattcctccaggagaaatagatggaaacga
+ctcaaaccagcacgattgcgtcgaaagactctcgtagtgcctggcgcaagacagacacca
+tgtggatgctgggcctttacggcacggcaatcggcgcgggcgtgctgttcctgccaatca
+acgccggtgttggcggtatgatcccgctgatcatcatggctatccttgcgttcccgatga
+cgttttttgctcaccgcggcctgactcgcttcgtactgtctggtaaaaacccgggcgaag
+acatcaccgaggttgtagaagaacactttggtattggcgcaggtaaactgattaccctgc
+tctacttcttcgctatctacccgatcctgctggtttatagcgtggcaatcaccaataccg
+ttgaaagcttcatgtctcaccagctgggtatgacgccaccgccgcgtgcgattctgtcgc
+tgatcctgatcgtgggtatgatgaccatcgttcgcttcggtgagcagatgatcgttaaag
+cgatgagtattctggtattcccgtttgttggcgtactgatgctgctggctctgtacctga
+tcccgcagtggaacggcgctgcactggaaacgctgtctctggacactgcatctgcaaccg
+gaaacggtctgtggatgaccctgtggctggcaattccggtaatggtgttctcgttcaacc
+actctccgatcatctcttctttcgccgttgcgaagcgtgaagagtacggcgatatggcag
+aacagaaatgctcgaagatcctggcattcgcacacatcatgatggtgctgaccgtaatgt
+tcttcgtcttcagctgtgtactgagcctgactccggcagacctggctgcggctaaagagc
+agaacatctcgattctgtcttacctggctaaccactttaacgcaccggttatcgcgtgga
+tggctccgattatcgcgattatcgctatcaccaaatccttcctcggtcactacctgggcg
+cacgtgaaggcttcaacggtatggtgattaaatctctgcgtggtaaaggtaagtctatcg
+aaatcaacaagctgaaccgtatcactgcgctgttcatgctggtaacgacctggattgttg
+ccaccctgaacccgagcatcctgggtatgattgaaaccctgggcggtccaatcatcgcga
+tgatcctgttcctgatgccgatgtacgcaattcagaaagtaccggcaatgcgtaagtaca
+gcggtcacatcagcaacgtattcgttgtcgtgatgggtctgattgcaatctccgcaatct
+tctactctctgttcagctaagtcctttcgcgccgctttcgggcggcgcttcctccgtttt
+aacgcgatgtatttcctatgattagcgtattcgatattttcaaaatcggcattggccctt
+ccagttctcataccgttggaccaatgaaagcgggtaaacaatttaccgacgatctgattg
+cccgtaacctgcttaaagacgtgacccgcgtggtggttgacgtgtacggctcgctctctc
+tgaccggtaaaggccaccacactgatatcgccattattatgggcctggcgggtaacctgc
+cggataccgtggatatcgattccatccccagttttattcaggatgtgaatactcatggtc
+gcctgatgctggcaaacggtcagcatgaagtggagttcccggttgatcagtgcatgaact
+tccacgccgacaacctttctctgcatgaaaacggtatgcgcattaccgcgctggcgggcg
+ataaagtcgtttacagccagacttactactctattggcggtggctttatcgttgatgaag
+agcattttggccagcaggatagcgcaccggttgaagttccttatccgtacagttcagcag
+ccgatctgcaaaaacattgtcaggaaaccgggctgtcactctctggcctgatgatgaaaa
+acgagctggcgctgcacagcaaagaagagctggaacagcacctggcgaacgtctgggaag
+tcatgcgcggcggtattgagcgcggtatttccaccgaaggcgtgttgcctggcaaactgc
+gcgttccacgccgtgctgcggcactacgccggatgctggtcagccaggataaaaccacca
+ctgacccgatggcggttgttgactggatcaacatgtttgcactggcagtgaacgaagaga
+acgctgctggcggtcgcgtggtgactgcgccgactaacggtgcgtgcgggattatcccgg
+cagttctggcgtactacgacaagtttatccgcgaagtgaacgctaactcactggctcgtt
+acctgctggtagccagcgccattggttctctttataagatgaacgcgtcgatttctggtg
+ctgaagtgggttgccagggtgaagttggcgtggcgtgctcaatggcggcggctggtctgg
+cagaactattaggcgcaagcccggcgcaggtgtgcatcgcggcggaaatcgccatggagc
+acaacctcggtctgacgtgtgacccggtcgccggacaggtacaggtgccatgcatcgagc
+gtaacgccattgcggcagtaaaagcggtgaacgccgcacgtatggcgctgcgccgtacca
+gcgagccgcgcgtctgcctcgataaagttatcgaaaccatgtacgaaacaggtaaagata
+tgaacgccaagtaccgcgaaacctctcgcggcggcctggcaatgaagatcgttgcctgcg
+attaatcgctctccaaaggcctcgttttgcgaggcctcttcccgatttctcatccagccg
+tagcctgttccggcatcgaatgttacccttatcgcctgatctttaagggggttatcgtgg
+ctgttcatttgcttattgtcgatgcactgaatcttattcgtcgcattcatgccgttcagg
+ggtcgccctgtgtcgaaacctgccagcatgcgctcgatcagctcattatgcacagccagc
+caacccacgcggtcgccgtttttgatgatgaaaaccgcagtagcggctggcgtcatcagc
+gtttaccagattacaaagcgggtcgaccgccaatgccggaagagttgcacgacgagatgc
+ctgcattacgcgccgcctttgagcaacgcggcgtcccgtgctggtcaaccagcggcaacg
+aagccgatgacttagccgccacgctggcggtcaaagtgacacaggccgggcatcaggcaa
+cgattgtttcgacagataaaggctactgtcagttactttcaccgacattacgtattcgtg
+attacttccagaaacgttggctggatgcgccatttatcgataaagaatttggcgttcaac
+cgcagcagttgcccgattactggggacttgcggggatcagcagttcaaaggtaccgggtg
+ttgcgggaatcggaccaaaaagcgccacgcagctgctggtcgagtttcagagtctggaag
+ggatatatgagaatctggatgcggttgccgaaaagtggcgcaaaaaattagaaacccata
+aagagatggcgtttctgtgccgcgatattgcccgcttacaaaccgatttgcatatcgacg
+gcaatttacagcaattgcggttggtacggtaacggcgagccggatacgccgcaaacgtcg
+tatccggcattatcacatcagcgcatttaccaggcggtatggtaaagctctacaatatcc
+tcaagcgttgcttcacgcgggttgccaccggtacaaacatcatccagtgccgcctgcgcc
+agtgccggaatgtcttccttgcgtacaccaacatcacgcaaatgtggcggaataccgaca
+tcacggttgagagcaaacaccgcttcaacagcggcattacgcgcctcttccaggctcata
+ccttccactttcacgcccataacgcgcgcgatatcgcggtacttctcaccggtaaagtca
+gcgttataacgcatgacatgcggtaacaggatggcgttcgcaacaccgtgtggagtgtta
+taaaacgcgcccagtggatgcgccataccatgcaccaaccctaacccaacattcgagaag
+cccatacccgcaacatactgcccgagcgccatttcttctccggcatccttatcaccagca
+accgatcctcgcagcgccccagcaatgatttcaatcgctttaatgtgcagtgcatcggtt
+agcgcccacgcgccacgggtaatatacccctcaatagcatgagtgagcgcatcgacaccc
+gtcgcagctttcagcgctggaggcataccatccatcatgtcagcgtcaataaacgccacc
+tgcgggatatcatgcggatcaacgcaaacaaacttgcgccgtttctcttcgtcagtgatc
+acgtagttaatggtcacttctgccgcagtacctgctgtggtaggaattgccagaatcggt
+acactgggtttattggtcggggaaagcccttccaggctacgcacatcggcaaactccggg
+ttgttgctgataatgccaatcgctttacaagtatcctgtggagaaccaccaccaatagcg
+atcaggtaatccgcgccgctattctggaatacaccgagcccttctttgacgacagtaatt
+gttgggttgggcactacgccgtcgtaaatcgcccatgccagccctgcagcatccatctta
+tcggtcactttcgccaccacgccgcattgcaccagcgttttatcggtgacgatcagcgcc
+ttctgataaccacggcgtttcacctcatcggttaaagccccaacagcaccccgaccaaac
+catgccgtttcgttcagaatcattctgttagccatcatccttctccttgttgctttacga
+aattactcttcaattcgtaacccataggttttgaatttctccagcactacggcaatctct
+tcatcgctcagcactggcaccgggtccgtaatcgccagggtcgtcaggtaaagttgcgcc
+agcacttcaacttcatgcgccagccataacgctttttccagattcacctcacaagcgata
+agcccatgatgttgtaacaaagttgccttacgatttttgagagccagcgcaacatgttca
+gaaagttcgcgtgttccaaaggtcgcataaggcgcgcaaggaatagaattaccgccagcc
+gccgcaatcatgtagtgaatagcggggatcgatcggttaagaatggaaactgccgtgcaa
+tgaacggcatgattgtgaacaaccgcgttggcatccggtctgctttgataggctgccata
+tggaaacgccattcgcttgaggggagctttccttcctcatgtttaccgttgccatcaata
+aagacaatatgcgactccgtcagtttttcatatggaatgcctgtaggcgtaatcagcatc
+ccatcctgataacgtacactgacgttccccgctgtcccctggttcagtcccaggcgggtc
+atttccaggcaagtgtcaataatctgacgagcaagtttatttcgttccattagctacctc
+tctctgattcaaaacagggcaataatgttgttcctttcacactattgaattagccgttta
+attacccaccatcttcttcctgattaacaagaaagaaattcacaagcttatattttgtga
+cctggttcaactaatcacagtaaataactgcaagttctctttttataaccccattaaaaa
+tgaccgctcttaaaaatatttatcaaaacggtcatttttctattcctccaagcccggaat
+gaccgttttcggcacaaacaattaatacggtcatctgatttgtgttttttatgatttatt
+ttctgaaacgggcatgaaatttcgattattaaagtgatggtagtcacataaagtcacctt
+ctagctaataagtgtgaccgccgtcatattacagagcgttttttatttgaaaatgaatcc
+atgagttcatttcagacaggcaaatattcactgatatgaagcccgaactcgctggttttg
+cacttttgaaaacataaccgattacgtgcttaagcttctgaacctaagaggatgctatgg
+gaaacacatcaatacaaacgcagagttaccgtgcggtagataaagatgcagggcaaagca
+gaagttacattattccattcgcgctgctgtgctcactgttttttctttgggcggtagcca
+ataaccttaacgacattttattacctcaattccagcaggcttttacgctgacaaatttcc
+aggctggcctgatccaatcggccttttactttggttatttcattatcccaatccctgctg
+ggatattgatgaaaaaactcagttataaagcagggattattaccgggttatttttatatg
+ccttgggtgctgcattattctggcccgccgcagaaataatgaactacaccttgtttttag
+ttggcctatttattattgcagccggattaggttgtctggaaactgccgcaaacccttttg
+ttacggtattagggccggaaagtagtggtcacttccgcttaaatcttgcgcaaacattta
+actcgtttggcgcaattatcgcggttgtctttgggcaaagtcttattttgtctaacgtgc
+cacatcaatcgcaagacgttctcgataaaatgtctccagagcaattgagtgcgtataaac
+acagcctggtattatcggtacagacaccttatatgatcatcgtggctatcgtgttactgg
+tcgccctgctgatcatgctgacgaaattcccggcattgcagagtgataatcacagtgacg
+ccaaacaaggatcgttctccgcatcgctttctcgcctggcgcgtattcgccactggcgct
+gggcggtattagcgcaattctgctatgtcggcgcacaaacggcctgctggagctatttga
+ttcgctacgctgtagaagaaattccaggtatgactgcaggctttgccgctaactatttaa
+ccggaaccatggtgtgcttctttattggtcgtttcaccggtacctggctcatcagtcgct
+tcgcaccacacaaagtcctggccgcctacgcattaatcgctatggcactgtgcctgatct
+cagccttcgctggcggtcatgtgggcttaatagccctgactttatgcagcgcctttatgt
+cgattcagtacccaacaatcttctcgctgggcattaagaatctcggccaggacaccaaat
+atggttcgtccttcatcgttatgaccattattggcggcggtattgtcactccggtcatgg
+gttttgtcagtgacgcggcgggcaacatccccactgctgaactgatccccgcactctgct
+tcgcggtcatctttatctttgcccgtttccgttctcaaacggcaactaactgaacatatt
+ttccgaataaagtgaggaatctgtaatgaaaaaaatcagcttaccgaaaattggtatccg
+cccggttattgacggtcgtcgcatgggtgttcgtgagtcgcttgaagaacaaacaatgaa
+tatggcgaaagctacggccgcactgctgaccgagaaactgcgccatgcctgcggagctgc
+cgtcgagtgtgtcatttccgatacctgtatcgcgggtatggctgaagccgctgcttgcga
+agaaaaattcagcagtcagaatgtaggcctcaccattacggtaacgccttgctggtgcta
+tggcagtgaaaccatcgacatggatccaacccgcccgaaggccatttggggctttaacgg
+cactgaacgccccggcgctgtttacctggcagcggctctggcagctcacagccagaaagg
+catcccagcattctccatttacggtcatgacgttcaggatgccgatgacacatcgattcc
+tgccgatgttgaagaaaaactgctgcgctttgcccgcgccggtttggccgtcgccagcat
+gaaaggtaaaagctatctgtcgctgggcggcgtttcgatgggtatcgccggttccattgt
+tgatcacaacttctttgaatcctggctgggaatgaaagtccaggcggtggatatgaccga
+actgcgtcgccgtatcgatcagaagatttacgacgaagccgaattggaaatggcactggc
+ctgggctgataaaaacttccgctatggcgaagatgaaaataacaaacagtatcaacgtaa
+tgccgagcaaagccgcgcagttctgcgcgaaagtttactgatggcgatgtgtatccgcga
+catgatgcaaggcaacagcaaactggccgatattggtcgcgtggaagaatcacttggcta
+caacgccatcgctgcgggcttccaggggcaacgtcactggaccgatcaatatcccaatgg
+tgacaccgccgaagcgatcctcaacagttcatttgactggaatggcgtgcgcgaaccctt
+tgtcgtggcgaccgaaaacgacagtcttaacggcgtggcaatgctaatgggtcaccagct
+caccggcaccgctcaggtatttgccgatgtgcgtacctactggtcaccagaagcaattga
+gcgtgtaacggggcataaactggatggactggcagaacacggcatcatccatttgatcaa
+ctccggttctgctgcgctggacggttcctgtaaacaacgcgacagcgaaggtaacccgac
+gatgaagccacactgggaaatctctcagcaagaggctgacgcttgcctcgccgctaccga
+atggtgcccggcgatccacgaatacttccgtggcggcggttactcttcccgcttccttac
+cgaaggcggcgtcccgttcaccatgactcgtgtcaacatcatcaaaggcctgggaccggt
+actgcaaatcgcggaaggctggagcgtggaattgccgaaggatgtgcatgacatcctcaa
+caaacgcaccaactcaacctggccaaccacctggtttgcaccgcgcctcaccggtaaagg
+gccgtttacggatgtgtactcggtaatggcgaactggggcgctaaccatggggttctgac
+catcggccacgttggcgcagactttatcactctcgcctccatgctgcgtatcccggtatg
+tatgcacaacgttgaagagaccaaagtgtatcgtccttctgcctgggctgcgcacggcat
+ggatattgaaggccaggattaccgcgcttgccagaactacggtccgttgtacaagcgtta
+atacattactccctgatgtgatgcccggtcgctccggctaccgggcctgaacaagcaaga
+gtggttagccggataagcaatgttatccggctatattgcaggagcgattatgaaacaaga
+agttatcctggtactcgactgtggcgcgaccaatgtcagggccatcgcggttaatcggca
+gggcaaaattgttgcccgcgcctcaacgcctaatgccagcgatatcgcgatggaaaacaa
+cacctggcaccagtggtctttagacgccattttgcaacgctttgctgattgctgtcggca
+aatcaatagtgaactgactgaatgccacatccgcggtatcgccgtcaccacctttggtgt
+ggatggcgctctggtagataagcaaggcaatctgctctatccgattattagctggaaatg
+tccgcgaacagcagcggttatggacaatattgaacggttaatctccgcacagcggttgca
+ggctatttctggcgtcggagcctttagtttcaatacgttatataagttggtgtggttgaa
+agaaaatcatccacaactgctggaacgcgcgcacgcctggctctttatttcgtcgctgat
+taaccaccgtttaaccggcgaattcactactgatatcacgatggccggaaccagccagat
+gctggatatccagcaacgcgatttcagtccgcaaattttacaagccaccggtattccacg
+ccgactcttccctcgtctggtggaagcgggtgaacagattggtacgctacagaacagcgc
+cgcagcaatgctcggcttacccgttggcataccggtgatttccgcaggtcacgataccca
+gttcgccctttttggcgctggtgctgaacaaaatgaacccgtgctctcttccggtacatg
+ggaaattttaatggttcgcagcgcccaggttgatacttcgctgttaagtcagtacgccgg
+ttccacctgcgaactggatagccaggcagggttgtataacccaggtatgcaatggctggc
+atccggcgtgctggaatgggtgagaaaactgttctggacggctgaaacaccctggcaaat
+gttgattgaagaagctcgtctgatcgcgcctggcgcggatggcgtaaaaatgcagtgtga
+tttattgtcgtgtcagaacgctggctggcaaggagtgacgcttaataccacgcgggggca
+tttctatcgcgcggcgctggaagggttaactgcgcaattacagcgcaatctacagatgct
+ggaaaaaatcgggcactttaaggcctctgaattattgttagtcggtggaggaagtcgcaa
+cacattgtggaatcagattaaagccaatatgcttgatattccggtaaaagttctcgacga
+cgccgaaacgaccgtcgcaggagctgcgctgttcggttggtatggcgtaggggaatttaa
+cagcccggaagaagcccgcgcacagattcattatcagtaccgttatttctacccgcaaac
+tgaacctgaatttatagaggaagtgtgaaatgctgaaaacaatttcgccgttaatttctc
+ccgaactattgaaagtgctggcagagatgggacatggagatgaaattattttttccgatg
+ctcactttcccgcccattcgatgggaccgcaggtgatccgcgctgatggcctgttggtga
+gcgacttgctccaggcgattatcccgttatttgaactggacagttatgcaccgccgctgg
+tgatgatggcggcggtagaaggtgacactctcgatcctgaagtagaacgacgttaccgta
+atgcgctttcactacaagccccgtgtcctgacatcatccgcatcaatcgttttgcgtttt
+atgaacgggcgcaaaaagcctttgcgatcgttatcacaggcgaacgagcgaagtacggga
+atattcttttaaaaaaaggggtaacaccgtaatctcataccggtacgcccgcatgacgcg
+ggcggttatcgaatgatggggtgaaaaatatgaaagcggcacgccagcaagcgatagtcg
+acctgctgctgaaccataccagcctgaccacggaagctctctctgaacagctaaaggtca
+gtaaagaaaccattcgtcgcgatctcaatgaattacagacgcagggtaaaattctgcgca
+atcatggacgcgctaaatatatccaccgtcaaaatcaagacagtggcgatccctttcaca
+tcaggctgaaaagccattatgcgcataaagcagatatcgcgcgcgaggcgctcgcgtgga
+ttgaagaagggatggtgatagccttagacgccagttcaacttgctggtatctggcacgcc
+agttgcctgacatcaacattcaggtcttcaccaatagccatccgatttgccatgaactcg
+gtaaacgcgaacgcattcaactgatcagttccggcggcacacttgagcgcaaatatggct
+gttacgtcaatccctcgctgatttcccaacttaaatcgctggaaatcgatctgtttattt
+tttcttgtgaagggatcgatagcagcggcgcactgtgggactccaatgcgatcaacgctg
+attacaaatcgatgctattaaaacgtgccgcgcaatcgttgttattgattgataaaagta
+aatttaatcgttcaggggaagcccgcatcgggcatctggatgaggtaacgcacattattt
+ctgatgagcgccaggttgcaacttctttggtaacagcctgacggaaagggtagcaggccg
+gagacgacgccccggccttgcctgttatcgctcgtcgcgacgaccacccaccgcagccca
+gatgcggcggacgtgcaccgtcacttcttcgcgatcgtgatacaactgccgcgcctgaat
+ctgagcatttatgccatgttcatcaagctgtgcctgaatatacgccagattgtgtgacac
+ttcttcgtagcgttttttcatcggcagtttgaggttgaaaatggtttcacggcaccagcc
+attaaccagccactgcgccatcaatgccgcaactttcgccggtttttcaaccatatcgca
+taccatccaggagatattgctgcgcgtcggacggaatttgaaaccgtcttcccgcagcca
+cgtcacctgtccggtatccatcagactttgcgccatcgggccgttgtcgacggaataaac
+ccacatgttgcgcttcaccagttggtaggtccagccgccagggcaagcgcctaaatccac
+cgcccacatcccgttcgccaggcgttcatcccactcatccgcaggaataaacacatgaaa
+tgcctcttccagtttgagcgtggaacgactcggcgcatctgccggaaatttcaggcgcgg
+aatgcccatatagaacggcgaattattgttgctgtatgagtaaccggtatagcagcagcc
+tggtgcaataaagaatacatgcacaaccggacgcttcggcgtttcatagttcgccagcac
+cccggcatcgcgcaaggcagcgcgtagcggaacagtaaatttacggcagaatttcagtaa
+ctctttgctttcgttggtatcggcaacttcaacacgcagttcaccgcccttctctactac
+gccctgtaacatgccgacaatgggggtaatacgatcttctggcggcaaatgctgcaggag
+ttcccccaccacaaaccactggcgggcaaaaattaatgaactgaacggcagctcacggat
+taacttatcgccatcatcaggttgataacattcataaatgacataacccgcattctcttt
+cacgcgggcaaaaccgaaaatttcccgctggccggctttatcggtaatttctgcggcgca
+ctctttttcaaagcccggacggcacagcaatacaaccttattcatgacttacgcccttgc
+gctttaaacggatagcaccaactaacattaacgcccagcccgcgaggaagctcacgccgc
+caaccggagtgacaaacgcccacaaacgcagatgggacagcgccaggcaataaaggctgc
+cgctgaacaacaccgtgcctaacgcgaggaaaacgctactccagtaaaaccagatactga
+tgcgacgctgcattgccaccgccagacctaagatcgccagcgtatgaaacgcctggtatt
+cgaggccggtctggatccagcccatctcaacggcccccatggttttacttaacacatgcg
+cgccaaaagcgcccagagccacaaaaatgaagccgctaatggcggcgaaaatcagcataa
+aacggctggtcatggtcgtaccctacgtaaattattgttcataacgaaagcggaattttt
+cttgttcagcagcggctttcgccaggatccattggcgaaaggcggctattttacccagtt
+ctgcctgactgtcatgacaaaccagataaaaagcatttttactgaccagaacatcattaa
+acgggcaaacaagacgtccggcctcgatttcagattgcgccatcacgttatttgccagcg
+ccactccctgcccgtggatagccgcttgcagcaccatggcgctatggctaaaaattggcc
+cttgctgaacgttgatatgatttaaccccaactgtcgggtatatgtctgccagtcacggc
+gcgaagcatcatgtaataacgtatgtttagccagatcttccggtgtcttcaagggttttt
+cgccagtcagcagtagcggcgaacacaccggcaataaatattcggcgtacagtttttcca
+cccgtagccccggccagttgccccgaccataaaatatcgccacatcaacatcatccgcca
+gcttatcttcctgacgatcaaccgcctggattcgaacgtcaattcccggataagctgaat
+taaagctggaaagtcgcggaaccaaccaatgaatggcgaaactggggagtaaactgaccg
+tcaacgcccccttggcgctacgggcctggagtttacgcgtcgcttcggttaattgcgaaa
+atatctctttgatatcgaggaaatagctttgcccttcctcggtcagcaggagtgaacgat
+tacggcggcggaacagttttagccccaaaaaatcctcaagagacttgatttgatgactta
+ctgcggcttgggtcacaaaaagctcttctgctgcgcgagtgaaacttaaatggcgtgctg
+cggcatcaaaaactcgtaaggcatttagcggtggtaatcgtttagacatggctattaaac
+tttgatgttaaatgaatttaacaattagatcacactatgtaacctattagtttttttaat
+ctgagccattataaattgtccgttgagcttctaccagcaaatacctatagtggcggcact
+tcctgagccggaacgaaaagttttatcggaatgcgtgttctggtgaacttttggcttacg
+gttgtgatgttgtgttgttgtgtttgcaattggtctgcgattcagaccatggtagcaaag
+ctaccttttttcacttcctgtacatttaccctgtctgtccatagtgattaatgtagcacc
+gcctaattgcggtgcttttttttaccttgcgatcgcgaattactgatccagttcgaccat
+ctctttcacgtcagtacggttgatctgctgtttgttgccattagcgtctttatacgaaat
+cataccggtatcgttatcagtctgtggtttgccgtcagagacgatggtacgtccgtcatt
+ggtgtgcatcacatagttcgaaccggaacaggcgctcagggcaaaagtcagcatacaggc
+agaaataattgcggcagtctttttcatcatcttctccttaaagcgattaataaatcttaa
+tagtattgattaacaggctaaaattaacgcctaacactattcagcatatgttacttacgc
+ggcttcgccaggatatccagataattctgatggttagcactctccttgtatcaaagtgaa
+ttttgcgtcacgatcggtgcatcaagccgaggagtaccatgaacgtttttaatcccgcgc
+agtttcgcgcccagtttcccgcactacaggatgcgggcgtctatctcgacagcgccgcga
+ccgcgcttaaacctgaagccgtggttgaagccacccaacagttttacagtctgagcgccg
+gaaacgtccatcgcagccagtttgccgaagcccaacgcctgaccgcgcgttatgaagctg
+cacgagagaaagtggcgcaattactgaatgcaccggatgataaaactatcgtctggacgc
+gcggcaccactgaatccatcaacatggtggcacaatgctatgcgcgtccgcgtctgcaac
+cgggcgatgagattattgtcagcgtggcagaacaccacgccaacctcgtcccctggctga
+tggtcgcccaacaaactggagccaaagtggtgaaattgccgcttaatgcgcagcgactgc
+cggatgtcgatttgttgccagaactgattactccccgtagtcggattctggcgttgggtc
+agatgtcgaacgttactggcggttgcccggatctggcgcgagcgattacctttgctcatt
+cagccgggatggtggtgatggttgatggtgctcagggggcagtgcatttccccgcggatg
+ttcagcaactggatattgatttctatgctttttcaggtcacaaactgtatggcccgacag
+gtatcggcgtgctgtatggtaaatcagaactgctggaggcgatgtcgccctggctgggcg
+gcggcaaaatggttcacgaagtgagttttgacggcttcacgactcaatctgcgccgtgga
+aactggaagctggaacgccaaatgtcgctggtgtcataggattaagcgcggcgctggaat
+ggctggcagattacgatatcaaccaggccgaaagctggagccgtagcttagcaacgctgg
+cggaagatgcgctggcgaaacgtcccggctttcgttcattccgctgccaggattccagcc
+tgctggcctttgattttgctggcgttcatcatagcgatatggtgacgctgctggcggagt
+acggtattgccctgcgggccgggcagcattgcgctcagccgctactggcagaattaggcg
+taaccggcacactgcgcgcctcttttgcgccatataatacaaagagtgatgtggatgcgc
+tggtgaatgccgttgaccgcgcgctggaattattggtggattaatgacaaacccgcaatt
+cgccggacatccgttcggcacaaccgtaaccgcagaaacgttacgcaataccttcgcacc
+gttgacgcaatgggaagataaatatcgccagttgatcatgctggggaaacagcttccggc
+attgccagacgagttaaaagcgcaggctaaagagattgccggatgcgaaaaccgcgtctg
+gctgggatatacagtggctgaaaacggcaaaatgcatttctttggcgacagcgaagggcg
+cattgtgcgcggcctgctggcggtgttgttgactgccgttgaggggaaaaccgccgccga
+gttgcaggcacagtcaccactggcattgtttgatgagctgggattacgtgcgcagcttag
+cgcctcacgcagccaggggttaaatgcgttaagcgaggcgattatcgctgcgacgaagca
+ggtttaagcacagaaccgggtcggataagacgttcgcgtctcatccgacctgattgttta
+accctgacgcgccgctttcgccatcatcttcttcagcgcatgagaaaccgcaacaaaccc
+aaaggtggcggtcaccatcgttgccgcgccaaatccagatgcacaatccatccgcttcgg
+cccttctgccgtggctttcatcgcacacaccgtaccgtctgactgcgggtacaccagcgc
+ttcagtagaaaacacgcaatccacgccgagcttacctttactgtttttcactacgccaaa
+atcgcttttcaggcgctcgcgcaacttcgccgccagcgggtcctgaatcgttttcgccag
+atcggtaacctgaatctgcgtcggatcaatctgcccacccgcgccaccggttgtgaccag
+tgggattttattgcgccgacaataagcaatcagcgccgctttgggccgtacactatcaat
+ggcatcaatcacgtacgaataacccacgctcatatactgcgctacgttatccggcgtcac
+gaaatcatccaccaccgttacacggcactccgggttaatctggcgaatacgctccgccat
+aacttccgcttttgccagcccaacgttatcgcgcagggcatgaatttgccgattggtatt
+ggtgacgcacacatcatccatatcgataagcgtgattgcgccaatccccgtgcgcgccag
+cgcttccgccgcccaggaaccgacaccaccgataccaaccacacaaatatgcgcgtcagc
+aaacagttgcaacgctttttcaccatacagacgcgctgtgccaccaaaacgctgacgcca
+tgcatcactaattaccacagacatagcacctcagaattaaaaagggcgaggttatccctc
+accctaaacgcataaatgcctgatgcgctacgcttatcaggcctacataactcctgcaat
+attttggatttgcatgatttgtaggccggataaggcgttcacgccgcatccggcatgaac
+aacgcgcacttagtcaataatcaggatgtgaggttacccctcaccctgtcatatccgtaa
+aaacggcatacagaatatcacatcagccgctaaagacgttacctgcgcccggggcggttt
+tcagcacccagacacgtccatagtggttgtaccaacctgcgcggtgtccggcttccggcc
+cgatcccttgatagatatcgaagtgttggcctttgattgcaccaccgacatccagcgcca
+ccatcagacgcagttcgtactgaccattaaatttgccgttattatccagcaacggcactt
+ctgccagcaaggtagtacctggcggaataatggaacgatcagaggcaactgacgcgcgac
+caaccagcggcaccgcacttgcccctttcaccggagcaaaagattgcggtttaaagaaga
+cgaaagacgggttctgttccagcagctcgcgaacctcggcttcactgtgtgtttcgcccc
+agtgacgaatcgcctgcatcgacatatcttcttttttcacttcgccacggtcgatcagca
+ccttaccaatgctgcgataggcatgaccgtttttccctgcatagctgaaaaagttaagcg
+gactgccatcaccaaagtcgatatacccactaccctgcacatccataatgaagttatcca
+tcagggagttactgtaagcgagaatatatttatcactcaatgcccccgcgtagatctccg
+cacgagacggcagacgaccacgttttggcggcatacggtaaataggatactggaactcgc
+cctggcgggtatggcgcgcctgaattaccggcgtgtaataaccggtaaactgcacgttac
+catagttgtcggcaccttccatctgccaggcatcaatgccgaactggcgcatattgcggg
+tatcaccgcctgcgcgcagccactcttgcaccgcgttataaacattactctggttgccat
+acagacgcggtgacgaattacggatatggttaatttgctcggcaaaatcaccggcgttaa
+tcggcgcgccaacggcatctggctggttcaccagagagaaaggctgggtaaatttcccgt
+ctttatattgctgtccgcgatcggttggtttggaagagcaggcggcaagcattgccacaa
+ccgtgcccataagaaggtactttacccaacgtcctttcattgttctcttcttcaggttaa
+aaaataaggcgcaacgaagataacaaaccgccgcgtttaatgaaatgagcagcctctccc
+tgacgcaaattttgcacaaaaaataggctttagtgatttgtttttgttcaaaatcatgcc
+aaatccgtgatcggggtaaaaaaaaggttgcatgaaaacgcgagcggagtatagtgcgca
+tccacggacgcggggtggagcagcctggtagctcgtcgggctcataacccgaaggtcgtc
+ggttcaaatccggcccccgcaaccaattaaaatttgatgaagtaaagcagtacggtgacg
+cggggtggagcagcctggtagctcgtcgggctcataacccgaaggtcgtcggttcaaatc
+cggcccccgcaaccaatcaaatttgatgaagtaaaagcagtacggtgacgcggggtggag
+cagcctggtagctcgtcgggctcataacccgaaggtcgtcggttcaaatccggcccccgc
+aaccaattattgaacaccctaacgggtgtttttttgtttctggtctcccataaaaaagcg
+ccattcagcgcctttttatcatccccttctcgccagcgtcgccccatcggcaaaatacgc
+tttaatccccgcaagaatagactccgcaacttcctgctggaaagtcgccgttttcagttt
+acgctcttcctcaacgttactgataaacgccgtttcgaccagaatggagggaatatctgg
+tgcctttagtacggcaaacccggcctgttcaacttgatttttatgcagcttgttgatttt
+accgagcttattcagtaccgctttaccaaacttcaggctgtcggcaatggtcagcgactg
+taccatatcgaacatggtgtggtcgacatagcggtcaccgcttttgctcacgccaccaat
+caagtccgaggcgttctgggtttgtgccagatattttgccgcagtactggttgcaccttt
+ggttgagagcgcaaacacagaggaaccgctcggctgacgactggtaaaggcgtcggcatg
+gatagagacaaacaggtcagcacgctgtttctgggcttttgctacgcgcacttgcaatgg
+aatgaagatgtcttcattgcgcgtcatgtacaccttcatattgccctctttctcgatcag
+agagcgcaaacggcgagctatttgcaataccacatctttttcgcgcgttttgtatttccc
+caccgcaccggagtcttcgccaccgtggccagggtcaagcataatgacaatcggacgatc
+gcgccctgctttacccggttgtggaccactttgcgctggcggcacctgcttttcgaggtc
+gcctttgttgtaatcctccagcagcgccagcagcgggtcctgcatatcctgtgcattggc
+cggatagaggtccatcaccagacgctctttaaacccggcgaccggcgcaagggcaaacag
+ctgcggttttacgttttgctttaattcaaaaaccatccgtacggtttgcgggtcaaattg
+cccgacgcgcgccgacttgatgaacgggtcgtctgcacgaatttgtgccgccatcccctt
+gagtaccgagttcaggtttacatcttcgatatccaccaccacgcgttcagggttactcaa
+cgcgaactgcttatatttcagctgacgatttgattccaccgtcacgcgggtgtagctgga
+cgcaggccagacgcgcaccgccacgacctggctgaccgcagccagactgacctgacttac
+gctcaatagccacatggcacccgcgccttgcagtaaacgacgacggctgattgcagtgtt
+ggatcctgacatgcctctcccgagcaaaagaaatctaagctgtgtaacaagtaaacgact
+aatttgaccggaaactttagcgaaagacgcataatctgtcatctaataaacggtaaacat
+tctttttatattcacggcattactgataaaaaagtcgctctcgcataaaatttacacttg
+caccctgcgaaaaaacagaataaaaatacactaatttcgaataatcatgcaaagaggtgt
+gccgtggtaaaggaacgtaaaaccgagttggtcgagggattccgccattcggttccctat
+atcaatacccaccggggaaaaacgtttgtcatcatgctcggcggtgaagccattgagcat
+gagaatttctccagtatcgttaatgatatcgggttgttgcacagcctcggcatccgtctg
+gtggtggtctatggcgcacgtccgcagatcgacgcaaatctggctgcgcatcaccacgaa
+ccgctgtatcacaagaatatacgtgtgaccgacgccaaaacactggaactggtgaagcag
+gctgcgggaacattgcaactggatattactgctcgcctgtcgatgagtctcaataacacg
+ccgctgcagggcgcgcatatcaacgtcgtcagtggcaattttattattgcccagccgctg
+ggcgtcgatgacggcgtggattactgccatagcgggcgtatccggcggattgatgaagac
+gcgatccatcgtcaactggacagcggtgcaatagtgctaatggggccggtcgctgtttca
+gtcactggcgagagctttaacctgacctcggaagagattgccactcaactggccatcaaa
+ctgaaagctgaaaagatgattggtttttgctcttcccagggcgtcactaatgacgacggt
+gatattgtctccgaacttttccctaacgaagcgcaagcgcgggtagaagcccaggaagag
+aaaggcgattacaactccggtacggtgcgctttttgcgtggcgcagtgaaagcctgccgc
+agcggcgtgcgtcgctgtcatttaatcagttatcaggaagatggcgcgctgttgcaagag
+ttgttctcacgcgacggtatcggtacgcagattgtgatggaaagcgccgagcagattcgt
+cgcgcaacaatcaacgatattggcggtattctggagttgattcgcccactggagcagcaa
+ggtattctggtacgccgttctcgcgagcagctggagatggaaatcgacaaattcaccatt
+attcagcgcgataacacgactattgcctgcgccgcgctctatccgttcccggaagagaag
+attggggaaatggcctgtgtggcagttcacccggattaccgcagttcatcaaggggtgaa
+gttctgctggaacgcattgccgctcaggcgaagcagagcggcttaagcaaattgtttgtg
+ctgaccacgcgcagtattcactggttccaggaacgtggatttaccccagtggatattgat
+ttactgcccgagagcaaaaagcagttgtacaactaccagcgtaaatccaaagtgttgatg
+gcggatttagggtaagcgatgaaaatcgtcggatgcgacatgcgtaacactcgtacgtcg
+catccggcaattacgtttattcccgtgaactaaacaacgccgccagaccactgcgccgct
+cagtacgagtggcgattgccgcacttaatatgcgctcatcggcatacagcgacagacggc
+gacgcgcgcgggtcaccgcggtataaaccagctctcgcgttactaccggcgtgcgttggc
+tcggcaaaatcaacgccgcatggtcgaactccgatccctgcgatttatgtaccgtcatcg
+cccacgtagtttcgtgctctggcaagcgactcggttgcacagacttaatattgccgtccg
+gcatcgcaaaccagacgcgcgtcccctgcccgcgatccagcgcaataccgatatcgccat
+taaacaacccaagcgcgctgtcattacgggcaatcatcaccggtcgaccttcgtaccaac
+gagagtgcggatgacgatgaattttgcgcttctgttgcataaactgctcaattcgctcat
+tcagtccagccacgccaaacggcccttcccgcagggcgcacaaaagctggtactcattga
+acgcctgaatgattaaatccggctcggcacgcgcttgcagcagatccagataacgtccgt
+aacccgcaagagcttcctcaagcatcgcaatataatcttcgccgctctgtaaaagccgtt
+tttcgatatcagtaaaatcctgctgaaaaacggttttcactgccgttttatcaccacggt
+tgatcgccgcagctaactgaccaatgccagaatcgctgccgaaacgatagcttttttgca
+gcaggcagagactgtcgcgcaaagatgccgcttctgtgccggttcctgccggaacgtgag
+tccccgtcaggcggcttagctgcctggcacgctcggcggtaaagcccgcgttggcataag
+cgcagatatcgcccagcacagccccagcctcaaccgaggccagttgatcacgatcgccga
+gaaagatcactcgcgcatgatcgggcaaggcgtcgatcagtctcgacatcataggcagat
+cgatcattgacgcttcatctaccaccagcacatcaagatgcagcgggttaccggcatgat
+gacgtaaacgctggctacccggctgcgcgcccagcaatcggtgcaaagtgctggcatctt
+ccggaatgcgtttcttttgttcatcggtcagcggtaactgtcgcaaagccttgccgagag
+attcggttaagcgcgcggcagctttacccgttggtgcagccagacggatacggcagcgtt
+cgccgtcggccatttgaattaacgctgccagcaacttcgctacggtggtcgttttaccgg
+tgccagggccgccggaaatcaccgagatccgccgcgtcagcgccactgccgccgcaactt
+tttgccagttaatttcatcgcttactggaaaaagtttgtccagggtttgcgccagtagag
+cttcatcaacctcaatggcatgattcacttcgttgaaaaagcgtgccactgtgcgctcgt
+tacaccacatgcgattcaaataaagacgatcgccacagaggatcatcggcgtgggttcat
+ctcccctgctgaccgcttgagaagccagcaagcattcttcccaattttgtagctcaccga
+tttcactgacacaggtcgccaacagcggatgcgacgcctcgttattttccagtcgtgaaa
+gcggcaaacaaacgtgtccctctccggcatcatgacttaacagtgccgccgcgagggtga
+cggcaggatgttcatctcccgccacggtcagggcaaattgcacatccagcgggcgtagct
+gtttgtgctccacagcttccagtaattgcttttgcaatttcattacgcctcctccagggt
+cataccggcaaacatctcatccatcagggcaatcaacccggcgttgggtcgggttgtgta
+aatcccctgttgcggatgttctttatcaacgccacgcaggaacagataaataacgccgcc
+aaagtggtgctcatagtcgtaatcagcaatgcgatggcgcagataacgatgcagcgccag
+ggtataaagctgatattgcagatcatagcggtgtgcctgcattgccgctgccatagcctg
+ttgggtgtaagccgaactgtcttcacccaaccagttggatttatagtcgagcaggtaata
+acgcccttcgtggcggaacaccaggtcgataaagccttttaacatgccacgtacctgcat
+gaactccagcggcgggcagcctgcggatagcgggtcaaactggcggattaacgtatcaag
+ctgactggcgataagcggttcactaatcggcagataaaactccatctccacctgtttatt
+gcgggcggaaagttgactcaggcttacgccggtttcattgagaggtgcctggaggacagc
+cgtgatccactcggtcaataccggttcccactgcgattcaaagccgccgagttccagttt
+ttcccgcacccagttcgggtcaaccggctgggtaaaatccaggtcttcaaacaaactgtg
+caagaacgtccccggtgacgcaccgcgcggaaactgatgtggtgttaacgtcggttcttc
+aacgacgctggcaacgcctgcagcatcgacatccagccgaggcatcaaatcctgggcgat
+accgtgaccacgctgttgcaaaccagagtagctggtgacgcgccagttatcgccgggcaa
+tcgttgtaacgtcttcgcattcagctctgctgtagaaacatcattaacctgccagggttg
+gttatcaccagtttgtgccgtttgccaggcaatatcatcatcgcataacgcttcaataca
+ggtgcgaagccctgccgcatcttgcggttcccctttttgcagcaaacgcccgagcgcact
+ttggtggacgtcggtgtcaccttttttatcgccacgacggcgcaccagcggtgcaacgcc
+gagactgcaatgccaaaccgaacgtgtcagcgccacgtaaagcaaacgcagatcttccgc
+cagacgttcggcctccgcgaggtcgacgctttctggcgcagcattaagatccagaactgc
+ctcaaacgagtggcgatcgtgataaaacgcctgctcctggacgcggaaattggtgataaa
+cggcagccagaccaatggatattccagccctttcgatttgtggatcgtgacaatctgcac
+cagatgtttatcactttcgagacgcatttgttggctggaggcattactgtctggctcgag
+gatatgttgcgataaccagcgtaccagcgcatgttcactttccagctgcgttccggcttc
+ttgtagcagttcgctgatatgcaagatatcggtaagacgccgctcaccgcctgccgttgc
+cagcaagttttcagcaatgttacgcgccgacatcagcgcccgcagcatcggcataacgcc
+acgtttgcgccagatttgccgataaccatcgaactcttcgactaccacatcccacgcatg
+ttcgtcattgttcagcgtttcgatatccagcgcgttcagccccatcattgacgttgccag
+cgcactacgcagggtgttctcacgttcgggcgtcatcaccgcctgcaacaaccaaagcat
+ttcctgcgcttccagagtttcaaaaacactgtcgcggttcgaaaggtaaacggaagggat
+ttccagcaacgttaaggcatcgcgcacctgggcggcctcctggcggctgcgcaccagcac
+actgatgtccgaagcacgcaccggacgcgcgtcgtcgccgttcatcagcaacgcttcgcc
+ccgctgtccggcttgtagccagtcgcggatttgcgcagcacatacctgcgccatggtact
+ttgataatcgccaacgccgcagctttcgccttccatcagccacattttcatcgcaggctg
+tgtttcacctttaaatacaaaacgtaacgcctgatttttcccggctgatttcactggaat
+aaacggtatttcgcgaaacatgaacgcgtcatcagtctggctgaaaagcttattcacgct
+gttcaccattcctggtgcggaacgccagttggtgtctaaagtgtagtgggcgtgaacttc
+gctacgcgccttcatataagtgaagatatccgcaccccggaatgcatatatggcctgctt
+cgggtcgccaattagcaacaatgcggtttccggctgatggtgccagatacggcgaaaaat
+tcggtactgctgggggtcggtatcctgaaattcatcgatcattgccaccgggaatcgcgt
+acggatcgccgctgccaacacctcaccgctttcgctacgcagcgcggaatcgagccgact
+taacatgtcatcaaaacccaattcgccacggcggcgtttttcacgcgctactgtttcgcg
+gatctcagccaatgcgcgggtgatcaccagatcgcggatcgacaatggttctgcaagcag
+ttgatcgatcgcctcaaacagtggatgtcgcggggtttcccccccggccttcgtgcgatc
+ttctaagaaacgctgggagaatttttccagcgactccggcaactgataactgtttgtctc
+ttcttctgcccaggcgctgatcttgtcgatccatttagcctgattgctacggttaaactt
+gcgtcgatcaataccagaagattcgatcagcgcatccagttcacccactgcgtcgcgcca
+ctgctgttttaccgtatcaatacgcgccacaatttgcgcgtgacgggaagccagcgtttc
+atcatcgggcggcggtgctttgataaccggcgcttcgccttgcagataacgattaatatc
+gcgcagcaacgcctgcggccctttccaggtttcaaagacgacctgggctatttcacgcgg
+cagcgggtagcagtggcgacgccagaaatcggcgcaggcctggtagcgtagcagagactc
+atcttcaatcagctgctgctcaaacagcatgccggattcaaaggcattcaggttgagcat
+gcgctggcaaaagccgtgaatagtaaagactgccgcttcatccatctgccgttcggctaa
+caacaaccactgcgcggcttgcgctttatcgtcgatctcttccagcaggcgttcgtacag
+tggattgtcggtggtttcacgcagacaggcgatgcgcaactcgtggatattgctacggat
+acgaccgcgcaattctgccgtggcagcctcggtaaaggtgaccaccagcagttcttcaac
+ggtcagcgggcggggaaaggcggcggaaccgcctagtccaagtaacaggcgcaaatagag
+cgccgcaatcgtaaaggttttgcctgtgccggcagaggcttcaatcaggcgctcaccctg
+taagggcaagcgcaaaggatctagtgtctcggcgacatcactcattcttttcactcatca
+ggggcattgtttgctgcaacgcgctgacgttctcccacactttccagccttcagggtgta
+catattcggctttcccgttctggctgccggaaatctgcgacagaatagccatgccttgcg
+gctcgaccaccgcctgatggaagaaatcagcaagtttttgcggcgtcagcagttttatct
+gggccacgattttatcacgcgaatcgaagcgcatattgccgcgatcgaaatctttactta
+acttcgatgcttcttcgccgagcgtttgcggtgcctgcagcatctgggtaattaccgcct
+gctggatttgcgcaaactcatctggcttcatcgctcgcaattttgcctctgcggttggga
+aaaacgccttgtaacgctcccacaagaatgaaggctgtttatcattgctttgcaaaagga
+agcccatgccccactgacgccccacgctcattggaaacgcaaacacggcatagcccaatt
+gttcttcggtacgcaactgattgtagaaccacggctgtacgatctgccccaacagagagc
+tataggctgagctggtgtattcatcgtagccagtcggtacaaataccgctgccagtgcgg
+agtcggtgctgttaccggctttttcaaagatgacggattgttttttatcgaccactacat
+ctttgtttcgacaccactctgaaccatcagcgcccaactgtttttgcacatcgcgtgcca
+gcgttgttgcctgggcctcggtcatgttgccgataaccataaactctggtcgagcccctg
+attttaaggcgtcgcgataggccagcacctctttcaacgtaatggagggcaaaattttac
+gccgttcatctcgcgagaagtacggcacttgcgagagcatctgcgcgggcataatcgcct
+gctcaaacgctttacccttttctgcggaatccatcatctggttataccaggacttcgcct
+gctcaagctgatcttccgtagcggtatagctaaagtacccctcgagcaatgcctggaaca
+gctgcggcagacgctgggtgtaaccattagcattaaccataaggccgttgttagcgttgg
+tggaaaaacttatgccaccaaccgacgcctggttgcttaactgatcaagcgccagccctg
+cgagataatcattgagcgcaaacatcacctgattgcgggcgctgtccatggctttcggat
+tacgcaaaatcaggctgacatcagctttgggctcgctggcaaaataacggcttggcgcat
+acaccacgcgcagattcgactcatcaacaatcagctctggatggtcgtatttcttctctg
+acttaatcagcgagaaatcatcaggaatataagggttaagctctggcaaagagagcgcaa
+tgtcggcggcttttttctgccagtcggcgaaagtttgtgcgctgattttatcgacctgat
+acggcgcatcgacaaagtaagccgttttgttgtgcggctctttcgggctgatataccaga
+tacgcgcattctgcggcgtcatcatcgccagacgttcctttactgctttagcatcgtacc
+gatcggcaatattgactgcatccagcgtatgctcaacaggaacgcgaatcatggtatctg
+ccagccattcgacgtaatccatatcacgggtgatcgacggataacggaagtcgatatcca
+gcacattcgccagttcatcgaagtattgtttatcaatgcctttttcacgtaacagattga
+gatagctaaaaattgccgccacaacctgatcgcgattagccaggcctttatcggttaaag
+acgcagagatcgctaatacgccgctgttgccgttgacgataggatcggagttggcgctaa
+tgccctcaactaatccctgcttttgcagccagtcagaaagtgtacctgggctgcgattgc
+caatcagataggtaatcaattcatcggttttactacggaacttcgctgagttgttatcga
+tgcgaaactcaacgcgcaacactttacgcggcagcgcagggacgtaatgaatgataatgc
+ccttttgcgcgtcggtgactaccggcacggtgatttccggttttttgctctctttgttcg
+gcacgcgaccaaaggtgtccgccgccatttttgccaactccggcagcggtttattactgt
+aaataaccgccttcatcaaattggcggaatagtacttctcgtggaaatctttcagcgcct
+gctgcaccggattaccaggtttgtcgcttaaagtttcgaggttaccaccagaaaactttg
+aaccggggtgtgccgggttaatggtttctgcgctgacctgtgccatgcgcatcccgtcac
+gcgtacgcgccatggttaattcagcgttcaccgcattacgctcacgttcggcatatttct
+tgtcgagcaaaggttcagcaatagcatcggccaggcggtctaccgcaccaggcaaggcgt
+cgttctcaacttccagatagaaagccgtgcgatacggcgcagtgctggcattgtgactac
+cgccgtgcattttgagatattcggccagactgtcagcctgcgggtactttttcgacccca
+tcagactcatatgttcaaggtaatgtgccagcccctggtacgcctcgggatcttccagcg
+acccaacgggcaccaccagcgccgagagcgatttaactgcctgcggatcagaaaccagca
+agaccaccataccgttatccagacgtatagcctgatactggcggttatctttatcacttt
+tacggatggtttcctgaatcggctgccatcccgtttctgcctgacttaagggtgcccaaa
+gggcaactaacaacaataatgctttgaaccaggtgctgcggggcattcacggacctcata
+atcaacttaattttctgtccagattcaacacgttaacgcaaatcatctgccagaatttaa
+tcttgtgctgcacgagtcagcctatgtttatataaccatcagtccgtgactggtgcgcat
+cataaagtaagcggatagattgcgcaatttttatacagcactcatgactgattaaagcga
+aacagcggtaacaggaaacgttgcgactgttcaacgatggcctccattgtctctggtgtt
+aattgccgccagagcctttgataccagatatcatcaccttcgccacgcaccatcatgttg
+ccttcgtaagcctgaaggaatttcgtacgggctttttgcaacgtggaatcgtcatccagc
+atggcatcgttttgcgcgtcataacaggtttttagccacgcgccgccactttcaggtaac
+accagcaatggcgcggacattccttcacgatacccctcaatcagttgtgagaggtaatgc
+aaagcctgttcggctgcaagcggcggaaaacgccactcgccgtctttgcgtagaaaaagg
+cgactttcaccattaccaccgctggcacagtagacaaggtgttccagccaaagttgcatt
+ccctgggccacacttaataaagagggacgccagcgcaacaggccatccggctgcacctgc
+ggcaaccagccagttatctgcacaccgttgcaggcgagatcaatttccatactctgcccc
+ggctggcgacaggcaatgactctgtcggcaagctgctgcatctcctggcactgtgtttcc
+cagaaaatttcaccaaaagcgccatacggtaaatcccctgccgctcggaagcggcggaac
+aagcgttcggcatcatcctgctcaaccagtgcattcaataactgctgattgatttgataa
+cggctaagtccttccagaataaatggctcggtgtcggggatttcgctgtcttcagtacgg
+aagttcacctgcaaacgcatctggaaaaatgcccgcaccggatgtgcccagaatcgttgt
+agcgtttccagcggcacggtttccggtaaggtaaacggcagcggctgaacaaattcagaa
+tgtgctttaccagcctggctggccgcaggtagccattcacgagcatagctttgtcgttcg
+cctggctggtagttttgtggatcaaacggcatccgggtatggaggcaagtaagatgcgct
+tttacccttgcctcgctttcatcacagttgagcgcttcatcgcccggtagataatgactt
+tgcccgatgtagtcgatcagttcctgcaccagtaccgacgggaaacgctcactgttatcc
+tgaatggaacgaccgatatagctgatatagagtttttgctgcgcggaaattaacgcttcc
+aggaacagatagcggtcgtcatcgcgacggctacggtcgccacgcttcggtttctggctc
+atcaggtcaaagcccaatggcgcaagctgacgtggataaacgccgtcgttcattcccagc
+aggcaaaccactttgaacggaattgaacgcattggcatcagagtacaaatgttaaccggt
+ccggcgagaaaacgctggctgatacgttcttgatccagacgctgtgccagttcatcacgc
+aatagtgacagcggcaccgcgtcgccatactgcgcacctaaaccttcggcgataatcgcc
+tgccattgttgttcgatcagcgtcatcgccgcttcggtttccgcatccggcaggaagaag
+gcgttgagcatatcgcgacaaaccggcaaccactcttccagcggacgctcctgtgccagc
+ccgcgacgccagatgtttagctgcattagcagtgaagccagatgccccaccagttctgca
+attaagccgctcgattcatcataaggtagaaccgattgccactcgccctgcgcgctctcc
+atcgcgtagcccaacaacatacgcgtcaggccaaatcgccaggtgtgttgtccggtggcg
+gggagttccagctcgcgaacgttgtcgtcatctatgccccaacgaatgccggattcgttg
+acccactggcgtaaataacgcagcccttcttcggtgatgtcaaaccgcgccgccagcacc
+ggcacatccagcaacgccagcacatcctctgacacaaaacgactgtcaggcagtgataac
+aggctgataaacgcttccagtaccggatgtgactgccgcgcacgacggtcggaaatggcg
+taaggtaggtaacgatccgcaggtgcgctaccaaacacagcctgaataaacggactgtag
+ctgtcgatatcagccaccatcacgatgatgtcgcgcggagtaagtgtcgggtcttcctcc
+agcatcgccagcaggcgatcgtgtaaaacttcaacttcacgctgcgggctatggcaaacg
+tggaaggtgatactgctatccagtggatcaagcgggcgtttgttatcgctacgggaaaac
+tcttcgatgttcacaccagcaacggcgcggttttccagttccagaatgtcagactgaatg
+ttatgcagcaggttatctggcgtgacatcgacaaaggcgtccagctcctggctgctctcc
+aggtcagaaaggagataaatgtagtcgcgcccaagcttaccccatgaagccagcagcggg
+ttgccgacatcctgttcaccatcgctgttaaagagctgcccggcattttcgctatcacga
+aatagcggcaattcgcgatcttcaaaactgtgtcgacgctgacgggtcagcagtttcgcc
+agataagcaggatctttaatatcgccccagtaataacggcaggggttggtaaacaggaga
+tggatttcaatatgtttacccagcgcctgtagcgcctggagataaacaggcggtaacgcg
+gaaataccgcatataaagacgcgcgaaggtaaccccggcgggcaggtcgtcgcggactcc
+agcgtttcgataaagcgctgatagagattggcgcggtgccagcgcggttgcccgagttga
+tgggtatattccaccagcgccttccacaacggggcttgccaggcctgtgcttctcccagc
+ccttcaaccaaatgtcctgtttcccactgtgccagccagtccggacgatagaccagatac
+tggtcaaacaggtccgccgcttttgaggaaagctggaacagttttcgcttgtcgctatcg
+tcagtcagataatgccgcaacagggtaaagtcttcgcgctccagcaattgcggcagcaga
+gtcatcagtttccagctcatgctctgtttgttaaaggcgctctctttggggatttccggt
+aacacccggacgaacatatcccagataaagctcgctggcagcggaaaatcaatgtttgcc
+gcaataccaaacttttgcgacagggtcatttgcagccactgtgccataccggtactttgc
+accagaatcatctctggttcgaaaggatcgtccagccgttcgcgttcgacaataaactcc
+atcaacgcttccagcacgtccagacgattggaatggtagacccttaacatagcggctcct
+gactactgacgattcgggcaatgcaggcgggtcatctcgccttctctgcccccgggtgaa
+actagcgtaacgctgatgctgacacatcccgcctgcgatgtctgcattcggttgacctgc
+cagttggcaggtggcgaaatcgcgcgcagttgcgtttgctgccagccatgccgccagagc
+tgttggtactggtttctgctggcaagactgttcattaatgttcgctggaaacccgataac
+gcagtgacaatcatcaccatcaacaccatcgccaacattacctccggcaggctaaagcct
+tgttgattcttcagggaagctgacataacgccctctctttcagcggacaaaaatcgctcc
+agccgcgtggcgaaaaaacaatgtttccatcaatgacttcgcctgttcgccacaacgaaa
+cgccttcataaccggcaatcaataaggcttcattatctgccagtaaacgcaaacaaacct
+gggcatcggtttcagcgtactgcgagcactgaactgctggctgcgtctgccagcagtgca
+tttttccccacgccagcgccgactgaacgatggcctggcggcgcaatgactgactttcca
+tgctcacgcgagaggcaaaactgcgatcctgttggctcattccttgtaatagcaaactac
+ccaaaaccagcagcatcaggaccagagccagtgacgaaacacccttttcgcggttcacag
+gttgaatcctgtcacgctatagctggcattcaccacggtttgcggttcagacttactggc
+agcacgcatattaaccgtcaacaccggcgagaagccgctgacatcctgacgtacgacctg
+aaaagtgtcgataatgatggcatccggattagtgactttatcccagcccttaccttcaca
+ggatgtcgcaccgcgtagcgtttccagcacatgctccttcagacgaaatccaatctggtc
+ggactcttttaccggttcgcgatcccagataccgttactgttcgcatcccactgcacaat
+gacacagtcaccctgtccgacaatttccagcccttcgccggtacagatgccatgacaata
+acccgccctctggagatgcttcgcgacggtaaatacccgcagccagatttcatcttccag
+cgccagcttacgggtgctcgttaaactttcacgctgtaacgcaggcagaaagcgtgccgc
+ccccagcaacaatacgctactgatcgccatagcaatcaacacttccagcagagaaaaacc
+ttgctcttttacaggcatccttctgtttctccttgctgacaaagccggagtcttccccac
+ggcgaaaccaccagccaccactcgcccgttgagtttttgaagcgaatatgcccggcccat
+gcggtattgcgcaggccaaagaaagcaagcgaaggtgtcaggtcgctcatttcgacttcg
+ggccagcgtggcacaaagaccaatggtgaactgccatgacaggtattggccccagcagcg
+gaactcacaaggcaccataacgtcccctccctgataacgctgatactgtggtcgcggtta
+tgccagttggcatcttcacgtaaatagagcaaatagtcccgcgcctggctggcggtttgc
+catagccgttgcgactgctgccagtattgccagccatagagtccacttgcgcttagcatg
+accaaaatcagcatcgcgaccagcgtttcaatcagcgtataaccacgttgtgttttcatg
+ccggcagtatggagcgaggagaaaaaaagacgagggccagtttctatttcttcggcgcat
+cttccggactatttacgccgttgcaggacgttgcaaaatttcgggaaggcgtctcgaaga
+atttaacggagggtaaaaaaaccgacgcacactggcgtcggctctggcaggatgtttcgt
+aattagatagccaccggcgctttaatgcccggatgcggatcgtagccttcaatctcaaag
+tcttcgaaacggtagtcgaagatggattcgggtttacgtttgataatcaacttcggcagc
+ggacgcggttcgcggcttaattgcagatgagtttgatccatatggttgctgtacagatgc
+gtgtcgccaccggtccagacaaaatcacccacttccagatcgcactgctgcgccatcata
+tgcaccaataacgcgtagctggcaatgttgaacggcaggccgaggaagacgtcacaggag
+cgctgataaagctggcaagagagtttgccgtctgccacatagaactggaagaatgcatgg
+cacggtgccagcgccattttatccagttcgcctacgttccacgctgaaacaataatgcgg
+cgcgaatccgggtcgtttttcagctggttcagtaccgtagtgatctggtcaatatgacga
+ccatctggcgttggccaggcgcgccactgtttaccatacactggcccgaggtcgccgttt
+tcatcggcccattcgtcccagatggtgacattgttttcgtgtagataagcaatgttagtg
+tcgccctgcagaaaccacagcagttcatggatgatggaacgcaggtggcaacgtttagtt
+gtcaccagcgggaatccatcttgcaggttaaaacgcatctgatgaccaaaaatggaaagc
+gttccggttccggtacggtcgtttttctgtgtgccttcgtcgagcactttttgcatcagt
+tctaaatactgtttcatggttcctcaggaaacgtgttgctgtgggctgcgacgatatgcc
+cagaccatcatgatcacacccgcgacaatcatcgggatggaaagaatttgccccatgctg
+atgtactgcacccaggcaccggtaaactgcgcgtcgggctggcggaaaaactcaacaatg
+atgcgaaacgcgccgtaaccaatcaggaacaaacctgagacagctcccattgggcgtggt
+ttacgaatatacaggttgaggataataaacagcaccacaccttccagcagcagctcgtaa
+agctgtgatgggtggcgcggcagcacaccgtaagtgtcgaaaatggattgccactgcggg
+ttggtttgcagcagcaaaatatcttctgtacgggagccagggaacagcatggcaaacggg
+aagttcgggtcaacgcggccccacaattcaccgttaataaagttgcccagacgcccggca
+ccaagaccaaacggaatgagtggtgcgataaaatcagagacctggaagaaggaacgttta
+gtacggcgggcgaagataatcatcaccacgataacgccaatcaggccgccgtggaaagac
+atgccgccgtcccagacacggaacagatacagcggatcggccataaactgcgggaaattg
+tagaacagaacataaccaatacgtcccccgaggaagacgccgaggaagcccgcatagagt
+aagttttcaacttcatttttggtccagccgctgcccggacgattcgcccgtcgtgttgcc
+agccacattgcaaaaatgaaacccaccagatacatcaggccgtaccagtgaagcgccacg
+ggtcctattgagaaaatgaccggatcaaactccggaaaatgcagatagctactggtcatc
+tgtcaccacaagttcttgttatttcgctgaaagagaacagcgattgaaatgcgcgccgca
+ggtttcaggcgctccaaaggtgcgaataatagcacaaggggacctggctggttgccggat
+accgttaaaagatatgtatatgatccgcgctataaccctccgcgaatcagcccgcccatg
+ccgcgacgctccataaaggctgcaacctgatggcgaacttcggtcgccagttgcgcttcc
+agactacgctgcgcaagattttctgcttcggcataatcaatgcgccgcagcaggtatttt
+gcccgcgctacagaacgtccgttcatagacagatggcgatacccaagcccaatgaggatt
+gccacgcacatgggatcgcccgccatttcaccgcacaaacggagatcgattccatgtatt
+tccgcttcccgggcgatcatcgccagagctcgtaacattgcaggatgaagactgtcataa
+atgttcgccacccgggtattgttgcgatcaacggccagaatgtattgagtcagatcgttg
+gtgccaacagagatgaaatcgacccgctttgccagatgcggcagcataaataccattgac
+ggcacttccagcatgatgccgatacgtggtttgggaatttcgtaaccgatcatctcctcg
+acttcacgtccggcacgttcaatcaggcggcgtgcttcatcaacttcatcgaggcttgtg
+accatcggcaacagaatattcaggttgcccgtagcggcattagcacgcagcatcgcccgc
+acctggatcaagaagatctccggctgatcgagcgtaatgcgaatcccacgccaacccagg
+catggattctcttcgctgatcggcatgtaaggcagctgcttatctgctccgacatccagc
+gtacgcaaggtgacgggtttatcattgaacatttgcagcatcccctgatactgcgccacc
+tgttcttcttccgacgggaaaccactttgcagcatgaatgggatttcagtgcgataaaga
+ccgatgccatcaatacggctgcccagtttttcttcatgttccgggcttaaaccagcattg
+agcatgacttttatacgctcaccgctttttaactgcgcgggtaaattgacgtcatcttcc
+gccagacggctaagctcaatctcttcactaattagccgctgatattcttgcagcagtacc
+ggctccggatcgaccagcaattcaccgcgatagccatcaacgatcagcgtcctacgatgc
+agcaccgaaggctgaatatccgcgcccatcacggtagggatccccagcgcacgtaccatg
+atcgcagcatgggagttggctgcgccatctcgcacgacaacaccgactaagcgatcctgg
+ggcagctcagcaagcgttgtcgctgacagttcatctgccaccagaatgaaacgttccggc
+caggcgttcggcccttgattagcgtcatcaagatgaaacagcaatcgctgacccagcgca
+cgtaaatcgccagcccgctctttgagatagttatcacttagcgcggcaaactgttcggca
+aatttttcaatgaccgtttttaccgcccactctgccaccgagcctttatcaacctcggca
+aacaattcgcgacgcagccgggtgtccgaaagcaggtgcgagtaaagatcgaaaatagcc
+gccgtttctttttgtgcaccggcggcaaagcgtttgctgtagcggcgaaactcgtttgcc
+gcttcttccagcgccccggtcagtcgttcgcgttccagagccggatccagcgttgatgcc
+tgatacacctgttccattaaaggtaacgtggcatcctgccagccttcggcaatcgccaca
+ccaggtgctgccggtaatgcgcggattcgcgtctggcgatattgcccaaacaaggcagtc
+aactgcgactgagaaagaatagctgccatctgggtggcaagcgtcaccaggaaggattct
+tcactttcgtcatactggcgcaactctcgttgctgtaccaccagtacaccaagcaactgg
+cgacgttgaataattggtacgcctaaaaacgcgcggaaacgttcttcttttacggagggg
+atgtatttgaagctggggtgcttttgcgcatctgcaaggtttatcggttccgccagcctg
+ccaaccaggccgacgatcccttcatcaaacgcgagcgttacagtgcgaccgcgtggtttt
+ttcagcccccgggtcgccatcaggtagtaacaacgtcgatcatgatcggccaggtagacc
+gaacagacctcggtatccatcgcaagacagatgtcggtaaccagaatatttaacgcctca
+ttcaggcgtggtgcgctggctaccttttcgactatttcgcgcaggcgagtgagcataatt
+ggcgtgacttaacctcttttacgtcgataagcagatgcgttttgtggttttggcgtattt
+tcctgcagtgacatcaccacactcgcgaactctttcattaccctacggtagacatcacgt
+ttaaatgacaccacctgtctgaccggataccagtaacttacccatcgccagccgtcaaac
+tctggtgtactgctggtttgcatattgatttctgcatcgccgctcaccagctgcaagaga
+aaccatttttgtttttggccgatacaaaccggcttcgtgtcccaacgcaccaaacgtttc
+ggtaatttgtagcgcaaccagttacgcgttgaagcaaggattcgaacgtctttgcggctt
+aatcctacttcttcaaacaattcacggtacatcgcctgctctgcggattctccggggttg
+attccgccttgcggaaattgccaggagtgctgaccaaatcgccgggcccacattacctgc
+ccctggcgattacaaatcacgatacctacgtttgggcggtagccatcgtcatcaatcacc
+ggactacctcaaaataaagctttatatacgaatgattgtttcatactccaggaagacggt
+aaaccactctctgcagggcattacacactaataacaattgaataactcacagttatgtgc
+agagttataaacagaggaaggggtggatagccgtttttattcaccttttctgtggataga
+gttgtgaagaactacggaattactacgggaaaacccggagcattctgaataagcccgata
+tagacattttaaaatattcattatcagtcaatgcattacatgtaattttagtaatgaaaa
+agagtaattcgtgacccaggtcacacctctcatttacgggttggcgaaagatcaaccaat
+gccgtatttatccacagaatgtgccactaagttaagcactgaaccactaaaaactggagt
+ttcgtcgcacgtcaaggctgtaaatggaaacagtagtggaggtttttcacagttatccca
+gctttctgtggataacatggtgtaagatcctgtttattttcagtgaccagatttggaaaa
+cccgttgcagtgttgcgcaactcgattaccggcaacctaaaaagcaatataaatcagaga
+attgaacaacgcatgtggaaaaagttacactgcgaatattcggcacataattgctgtttg
+ttttttaatcaaggtatcatgacatgtcccaacctcgcccactgctctctcctcccgaaa
+ctgaagaacagttgttagcgcaagcacagcaactttctggttatacattgggagaactgg
+cggcacttgtcgggctggttacgccagagaatttaaaacgcgataaaggctggattggcg
+tgttactggagatctggctaggtgccagcgcagggagtaaacctgagcaagattttgctg
+ctctgggcgtggaacttaaaactatccctgtggatagtcttggtcgtccgctggaaacaa
+cattcgtttgtgttgccccgttaacgggcaatagcggggtgacctgggaaaccagccacg
+tgcgccacaaactcaaacgcgtactgtggataccggttgaaggcgagcgcagcatcccgc
+tggcgcagcgtcgcgttggatcaccgttgctgtggagcccgaatgaagaggaagaccggc
+agctacgcgaagactgggaagaattaatggatatgattgttctcggtcaggttgagcgga
+ttaccgctcgtcacggggagtatttacagatacgaccgaaagcagcgaatgcgaaagcgc
+ttaccgaagccattggtgcccggggcgaacggattctgacgctgccacgcggcttttatt
+tgaagaagaatttcaccagtgcactactggcccgtcattttctgatccagtagccatcgc
+tttgacctgccgctttccgggcatataattaccgcttcatttttttggcagggcttttta
+gatgttatttgcatggataaccgatcctaacgcctggcttgcgctcggtacgctgacgct
+gctggagatcgttcttgggatcgacaatattattttcctttctctggtggtggcaaagct
+tcccacagcacaacgtgctcatgcgcgccgtctggggttggcgggagccatggttatgcg
+tctggcgctgctggcatcaatcgcctgggttacgcgcctgacaaatccgctttttacaat
+attcagtcaggaaatttctgcccgtgatttgattctgcttctgggtggcttgttccttat
+ctggaaagccagcaaggaaatccacgaatccattgaaggtgaagaagaagggctgaaaac
+acgcgtttcatcattcctcggcgctatcgtgcagattatgctgctggatattatctttag
+cctcgactcggtgattacggctgtgggtctgtcagatcacctgtttattatgatggcagc
+cgtggtgattgccgtaggcgtgatgatgttcgccgcgcgctcgattggtgattttgtcga
+acgccatccttcggtaaaaatgctggcgctctctttcctgattctggtgggctttaccct
+gattctggaaagtttcgacatccacgtaccgaaaggttacatctacttcgcgatgttctt
+ctctattgcggttgaaagcctcaacttgattcgcaacaaaaagaatccgctctgatactc
+cgtacgctctcctgcgggagggcgtactcactccttttaccctcacagtttaagattttc
+ctgctttcaagatatataacgtcggtttataaacagactattatcataggtaggccaaat
+gaggataaccggatgaaaaaatgggcagtaataatttctgcagtcggactggcgtttgct
+gtttccgggtgttccagtgattacgtcatggcgaccaaagatggccgtatgattttgacc
+gatggaaaacctgaaattgatgatgataccgggctggtgagttatcacgatcagcaaggt
+aacgcgatgcaaattaaccgtgatgatgtttcgcaaattattgaacgttaacaaataagg
+tcagcatccggctggccttaagatttttctctttcccttttcccttccctctgccatttt
+tatattccttatgtcgtgattataaaaaggaaacggctatgcaatatcaccgtatacccc
+acagttcgctggaagtcagcacgctggggcttggcacgatgacgtttggtgaacagaaca
+gcgaagccgacgcccacgcacaactcgactatgccgtcgctcagggcattaaccttatcg
+acgttgccgaaatgtacccagtacctccgcgccccgaaacgcaagggttaaccgaaacct
+acgtcggcaactggctggcgaaacatggcagccgcgaaaagttaattatcgcctccaaag
+tgagcggaccgtcgcgcaataatgacaagggcatccgcccggatcaggcgctggatcgga
+agaatatccgcgaagcgctgcatgacagcctcaagcgcctacagactgattacctcgatc
+tttatcaggtgcactggccgcagcgcccgaccaactgcttcggcaaactcggttatagct
+ggacggattctgcgcctgcggtttcgctgctggatacgctggacgcactggcagagtacc
+aacgcgcgggaaaaattcgttatatcggcgtgtcgaacgaaactgcatttggcgtaatgc
+gctacctgcatctggcggacaaacacgatctgccgcgtattgtcaccattcagaaccctt
+acagtctgttaaaccgcagttttgaagtaggtctggcagaagtcagccagtatgaagggg
+tcgaactgctggcctattcgtgcctgggtttcggcacgctgaccgggaaatatctcaatg
+gtgcaaaacccgctggcgcacgtaatacgctctttagtcggttcacccgctatagcggtg
+agcaaacgcaaaaagccgtcgcggcgtatgttgatatcgccagacgtcatggcctggacc
+ctgctcagatggcgctcgcgtttgtacgccgtcaaccgtttgttgccagcactctgctgg
+gcgcaaccacgatggatcagctgaaaactaacatcgaaagtttgcatctggagttaagcg
+aagacgtattagctgaaattgaagcggtgcatcaggtttatacttatccggcaccataag
+attaacgccggttaaaaccggcgttaaatattaatgacggcgctgccagatccacagcgc
+cgttattgccagcgcaaacagcgcaccgaagccaatgccaatgggcacgaccgggatgcc
+tatcattaccgccagcgagtaaatgcccagcatcaacaacatggcgctgttttcgccaag
+gttttgtactgcaatcgcattccccgccccgacgctttttttaccccgctcctgtagcaa
+cgcattgagcggaacgacaaaaaagccccccatcacgccaatcagcatcaacaaggcata
+ggctggcagcagctcgtgttgcagggaaaaaatcagtaccaccacgccaatcaaaatccc
+ggctggcatacagcgtgacacggtttccagcgtaactaacttcgctgccgcacctgcgcc
+aaccacgataccaatcgctaccatcgcgttgagataggtgggcgtagcgttatcggtaat
+gcccagcgccaccggtacccacagcaccaacaggaaacgcagcgtgacacccgctcccca
+gaataaactggtgcccaccagcgaaaaacgcgtttcaccattgcgccatagcgaggtgca
+ggcattcaggaaactgcgggtcatgttgatgagattccaggactgccccggacgcgccgc
+cgccagtttgggaatgtagatattggcaacgaccgcaccaccgtaggccagtgcgcatgc
+ggccagggcgacgaggacatgccagtcagccagcacaccaccggctacggaaccgagcaa
+aatcgccgctatggtagaagcttccattaaaccgttagctttcactaacttactacccgt
+ggttaattcgccgagaataccgtatttcgccggtgaataggctgcagcaccaacacccac
+cagcgtatagccgagaaacggattgataccaaagcagatactggctgcgcccagcagctt
+caggccgttggcaaacatcatcacccggcctttggcgaagctatccgccacctgcccgac
+aaacggcgcaaaaagaatgtaagcacctacaaacaccatttgcaggatgggctggctcca
+ctccggatagaactgcgctttcagtaacgccagagtggcaaacagtagggcattatcgcc
+aaacgcagagagaaactgcgccacgataaccgctttcatccccttcgaccacaacgaagt
+gttagtgtgcactgactcactcatcgtgttgttccgcttcgtctacccagcttttcaacg
+tgacaaagtcaggtttgccgctgccaagtaatggcatctgtttcagatagcgaatatcgc
+gcggtacagcaagctccggcacgccgtgctcgcgggcatactgttgcaacttatcgcgcg
+tcagttcgttatctgtggtgaaaagcaccagtgcctcgcctttgctggcatcgctcttaa
+tcgcagtggcatggactttatctggcgaaacaccaagtgccagttgttccaccatttcca
+gcgacaccatttcgcctgcaattttggcaaagcgttttgcgcggccctgaatctgcacaa
+agccctgctcgtcaaaacgcacaatatcgccagtgtcataccagccgcgctccatttcgc
+cgcgaacattctcggcggtgggcacttccagtacacctggcttctccacccgcagatagc
+cgttcattatgttcggccctttcagttgcaggcgtccgccctcttcgataccagggaccg
+acaacaggcgcgcatccattcctggtagaatacgccctaccgtaccgggtttcgccgcca
+tcggtacgttgatagaaacgacaggcgcgcattcggtcacgccgtagccttcaaggatgc
+gcaggccaaatttatcctgccaaagctgtttggtactttcttgtaatttttctgcgcctg
+ccaccacatagcgtagacgatagaagtcatacgggttggcgaaacgcgcgtagtgaccga
+ggaaagtcgaggtgccgaacaacacggtgcaactgcggtcatacaccaactccggcacaa
+tgcggtaatgcagcgggcttggataaaggaacacttctgcacctgtaagcagtggcgtaa
+acaggcctaccgtcagcccaaaggagtgaaacagcggtaacgccgacataaagcgatcgt
+tggtggtgaagtcggcaatcgttttaatctgctcgacattcgccagaatgcttttatggc
+tatggacgacgcctttcggatggccttcagaaccggaggtaaaaaggatcagcgcctctt
+cttccggctgctgtttaacctgtgccagacgcggcatcagcaaatgagcgaagatccata
+ctttgtcggcagtggtgacatctgcttttaaatcttccagatagacccagcgcacctgag
+taagttgctccggcagatgccagagtttgcctttatcgagaaactggcgggaagtgaaga
+tggttttgatttcagccgccgtaatagcactggtcagcccttttaccccggcagtgtagt
+tcatcattgcgggcatgcggcgacgggcgatggccccaaaaatcactgccgcactgatgc
+ctgcattgggcagcattaagccgatgcgttcgccttcaacactgtatttttcaaggatgc
+gtccaacaaacagcgttttcgtaagcaatttgcgataggagtctggggtaaagttgacgt
+cttcgacacatttcttcccggctccgaagcggtacattgcactcagtaaagattcgtaca
+gcgtttcacgcgggcgcaccgccattcgcgcttccatcattatttgatgcagcatttcgc
+cagcgattttgcgacggtcacgggcacgcggcgcatccggcatcgccacctgcgttggtg
+gcaaaatatgcagagtaatttgcgggaacaagcgacgtttaaccagacctttcaggcggc
+tgaagtgcgtaagttccgccccttcaatacgcacaggaataaccgttgcaccagacttcg
+ccgcgacaaaacccgcgccatcgtagattttcatcagcgagcctgtcgtggtgatgcgtc
+cttcagggaaaatcaccactggtcggccctgttccaccagacgtaccagatgtttaatag
+ccataggttgcgtcgggtcgagaggaacaaagtcgataaatgatttcagccaacgcatat
+accactgttggcttattgaggtgtaaacggcaaacactggacgcacaggtaaaaacagtc
+caagcaaaatgccatcaataaaagagacgtgattaggcgtaattagaacgcgctcgccct
+tcagtgcctgggtgtcacccgtaacgcgaacgcgatacaaaacacggcacaaatttcgaa
+aaaagctaaaaagcattccaactccctttgctctgattcagtaaaagcgaatggagggag
+attacacgagataaagaacgcgagcgacagtaaattaggtgcgaaaaaaaacctgcgcat
+ccgcgcaggttggtgcaagagacagggtacgaagagcgtaccgaataatctcaccaatca
+atacctctgggatcttgattgtggtctgcacgacgactcttcgccagcgagaaaacgcaa
+aggaatgaagggaaatgcaacgaggtgtgtaaattgtcggttactgttacagattgatga
+ccggcaaaaaaaacctgcgcatctgcgcaggctggtgtaattcatgtgctcaacccgaag
+ttgacttcacctatcaatacctctgggatcaccactttagcaacctgaagccaaacgcca
+ccagcggtcaatcgcaacagcgtttcgcaaagtgtaaccaaaggtttgcaatctcttttt
+ttgtcttacttatttgcgtttggctcacattcccacgatgaaaacacgccaccccttgaa
+ccaacgggcgttttccgtaacactgaaagaatgtaagcgtttacccactaaggtattttc
+atggcgaccataaaggatgtagcccgactggcaggcgtttcagtcgccaccgtttcccgc
+gtcattaataattcacccaaagccagcgaagcttcccggctggctgtgcatagtgcaatg
+gagtctcttagctatcacccgaacgccaacgcccgtgcgctggcgcagcagaccactgaa
+acggtcggtctggtcgttggtgatgtttccgatccgtttttcggtgcaatggtgaaagcg
+gtcgaacaggtggcttatcacaccggtaattttttattgattggcaacggttaccacaac
+gaacaaaaagagcgtcaggccattgagcaactgatccgccatcgctgtgctgcgttggtc
+gtccatgccaaaatgatcccggatgctgatttagcctcattaatgaaacaaatgcccggt
+atggtgctgatcaaccgtatcctgcctggctttgaaaaccgttgtattgctctggacgat
+cgttacggtgcctggctggcaacgcgtcatttaattcagcaaggtcatacccgcattggt
+tatctgtgctctaaccactctatttctgacgccgaagatcgtctgcaagggtattacgat
+gcccttgctgaaagtggtattgcggccaatgaccggctggtgacatttggcgaaccagac
+gaaagcggcggcgaacaggcaatgaccgagcttttgggacgaggaagaaatttcactgcg
+gtagcctgttataacgattcaatggcggcgggtgcgatgggcgttctcaatgataatggt
+attgatgtaccgggtgagatttcgttaattggctttgatgatgtgctggtgtcacgctat
+gtgcgtccgcgcctgaccaccgtgcgttacccaatcgtgacgatggcgacccaggctgcc
+gaactggctttggcgctggcggataatcgccctctcccggaaatcactaatgtctttagt
+ccgacgctggtacgtcgtcattcagtgtcaactccgtcgctggaggcaagtcatcatgca
+accagcgactaaccgcagttaaagcaattccagcgccagtaattcttcgatggtctggcg
+acggcgaatcaaccgcgcctgaccattatcaaacagaacttctggtaacagcggacggct
+attgtagttggatgacattgatgcgccatatgcccctgtatcatgcagtaccagataatc
+acctgccttcacttccggcaaggcgcgggtttcaacatttcccccttcctgctgggtaaa
+gacatcgcccgattcacataacggtccggcgacgacggtttccaccgttggcgcgtgttc
+cagagaacgaccatcagctgccagggcactgatatggtggtaactaccgtacattgccgg
+gcgcatcagatcgttgaacccggcatcaaccagcacaaagtggcggctccccatttgttt
+gacgctccgcacctgagtaattaatacgccagactgcgctaccaggaagcgacccggttc
+aatttccagtttcacagggtggcccaaatggcgggcgatttgctcacgcgcggcattcca
+cagaccataataatgttcggtatcaaccgcctcttcaccctgttgataaggaacagaaag
+cccaccgcccgcagaaatagcctgtaaatcctgaccgaattcgatgacctgacgcaccat
+agcaccacacacctgttccagatgggcataatcaacgccagaaccaatgtgcatgtgaat
+gccgaccagctgcagatgatgacgttgtatcacgtccagtgcggcgggcagatcggtgta
+ccagataccgtgcttgctgttttcgccaccggtattggttttttggctatgtccgtgacc
+aaaccccggattaacgcgcagccatacccgatgccctggcgaaacctggcccagttggtc
+gagcatatcaacagaacccgcattcaccggaatttgcaattcactgacgcgttcaagcgt
+cgcctgatcgataacatctgccgtaaaaacaatatcatcggggtgcgtttgcggattgta
+acccgccgccaacgcacgctctatttcgcctaacgagacggaatccactttcacgccctg
+ctcacgcattaagcgcaaaatatgaatattggaacaggctttctgtgcaaagcgcaccac
+atcaaactgtttcagcgctgcaatctgccgacgaataatttgcgcatcgtagacccacac
+cgggcagccaaattcagcgggcaaacgcagcagattttcggcggtgagatcggtatcggt
+gctgaacagtgaatgtggcataacaaactccagataagtgcttttttatgattacgccac
+atcataaaaagaataaaaaatatcgatttatgtcgagtctatgcaaaaatgatatggatt
+accggattgcgagagagcgctaatggccgccgttaacttacgtcatattgaaatttttca
+tgcggtaatgaccgccggaagcctgactgaggcggcacacctgctacacacctcacagcc
+aaccgtcagccgcgaacttgcgcgctttgagaaggtgatcgggctgaaattgtttgagcg
+cgtacgtgggcgattacatcctaccgtgcaaggactgcgtctgtttgaagaagtgcaacg
+atcctggtacggactggatcgcattgtcagcgccgcagaaagtctgcgcgagtttcgcca
+gggagaactgtctattgcctgcctgccggtcttttcgcaatcttttttaccgcagctcct
+gcaaccctttctggcacgttatcccgatgtcagcttaaatatcgtgccccaggaatcacc
+gctacttgaagagtggctctcggcccagcgtcatgatttaggactcactgaaacgctcca
+tacgcctgcgggaacagaacgtaccgaattactctctttagatgaagtgtgtgtgttacc
+tccgggtcatccgctggcggtaaaaaaggtattaacgccggatgattttcagggtgagaa
+ctacatcagcctttcccgtactgacagctatcgccagttgctggatcagctatttactga
+acatcaggttaaacgacgcatgatcgtagaaacccacagcgccgcgtcagtctgcgcaat
+ggtacgggcgggggtaggtatttcggtggttaacccgctcaccgcactagattatgcggc
+aagcggtttagtggtgcggcggttcagtattgcggttccgttcaccgtcagcctgatccg
+ccccctgcaccgcccgtcatcagcgctggttcaggcgtttagtgggcatttacaagcggg
+gttaccgaaactggtcacttctcttgacgctattttgtcgtcagctacgacagcataaaa
+gcgacagcatcctcggcatggatcgccgcggtatcaaacacaggcaaaacactgcgctct
+tctggcaccagtaaaccaatttctgtgcagccaaaaatgacgccctgtgcgccctgttct
+gcaaggcgagcaatcacttgcgcacaataagcgcgtgacgcttcggtaaattgccccaga
+cacagttcttcaaaaataatctgattaattttcgcccgttcatccgcttcaggaataaga
+caattgatggaaaattgttccgtcagccgcccgcgataaaaatcctgttccatggtgtaa
+cgcgtacccagcagcgccacacgagtcattccggccccggtaattgcacgtccggtggca
+tccgcaatgtgtaagaaaggcagagtgcaacgtgactcaatggcatccgccactttatgc
+atcgtattggtacatagcacaataccttctgcgcccgcccgctgtaagccaagcgccgcc
+tcagccagaatgtccccggttttatcccattccccgcgacgctggcactcttctatttca
+tgaaaatcgacgctatgtagcagcacttgcgcagagtgaagcccaccaagccgctgttta
+atgccttcatttatcaaacgatagtaaggaatggtggattcccagctcattcctcccagc
+aaaccaattgttttcattcctctctcctgatgtgtgttaccgcaacaaggctgaataagg
+aacgagacaaacgcctcaacggccaagtgcccaatctctattaacgaaaaaagggccgga
+tgtacagcacatccggcccgtgaaatcagacgccgatatttctcaacttctcgcctgcca
+tcagtttgcgttcgatatgttccagcgtgacatttttggtttccggaatgagccagaaag
+taatgcccacaaacgcaatgttcagcgcagtgtagagccagaacgtaccggcagcgccaa
+tgctatcaagcagtgtcaggaaggtcgcgccgataatcatattcgacacccagttcgtgg
+tggtcgaacaggtaataccgaaatcgcggcatttcagcggctgaatttcagagcacagga
+tccacaccactggcgcggcgctcatcgcataaccggcaatacacatcatcgtcatgccaa
+cagagagccaggacaagccactggaagccgtaccgttatcaaactgcatcaggcaatagc
+ccagcaccagagtgcctaacgccatcacgctgaaaccaattttcagagccggtttacgcc
+ctgctttatctaccgtaaacaccgcaataaaggtggcgaacataaaggtcagccctacga
+ccagagtcgcaatcatctgttgttctgtggtcgtaaagcccgccattttgaagatacgcg
+gcgcgtagtacatgatgatgttcataccggtaaactgctgcatcgcctgcaacaacatac
+cgagaaacacagcacgacggacgttacggttgatcttaaacagtgcccaaccgccctgtt
+ttaacttcaggctttcacgaatttcgttgagttcttctcgcgctttttccgacgtatcgc
+gcagcatacgcaatacttcttccgcctcaatatgacgccccttttccgccagccagcgcg
+ggctatttggcaggaagactaccagaataatcagcagaactgctggtaaagcaagaaccc
+ccaacattgcgcgccagttaccgctataactgaacgctgtatcggataaaaacgccagca
+cgatgccgagtgtgaccatcaactggtacatactgatcatcttaccgcgaacgttttcac
+ttgccatttcagaaagatacagaggagcggtgtaagacgcgatcccgacagcaatgccca
+gcaccacacgagcggcgattaacatctctacgctggtcgcaaaagcggaccctatagaac
+cgagtacaaacaggatggcccccgccatcaggctgtatttacgccccaggcggaacgaca
+gccaaccattaaacagcgcaccaattgctgcaccgagcatcatgctactaaccacccatt
+cctgcaaacgactggtcagcacaaagtgatcggtaatgaacggcaacgctccggcgatta
+cgccgatatcaagaccaaataacaatcctgcgaccgcagcagctaccgaaacaaacatat
+tcatacgccgcgtatcccgcaaagaacgtggcgttaaagcagattccgtattgatagtaa
+ccattttttcctgccagcagagagtaagacatagtgaaaaaatacgtgaacaactcacgc
+aggtgtcaggtcggaaacagcataaatatggattaaattgctgcgacatgtcgttatgtg
+atggatattccaattttcaaattaagttgaattattgagattattattaaccacctaatt
+ttacagcagataaaattcataaagttcattaattgataattaatatggattatttcataa
+ccatgatatggattatgatgatctacaggtataaaaaaccctgccatgcggcagggtcat
+aaaagtaagaagaatgaattaacgcgccagccaaccgccatccacggcaatggtataacc
+attcacataatctgaagcgctggaggcaaggaacactatcggccccatcaggtcactcgg
+cagtccccaacgaccagctggaatgcggtcgagaatttccgcgctacgttgttcatctgc
+ccgtagttgttgagtattgttggtcgccatgtaacccggggctatcgcattaacattaat
+gttgtgtttagcccattcgttcgccatcaatcgcgtcacacccatcacgccgctttttga
+tgcggtataagaaggcacacggatcccgccctggaaggagagcattgacgcgatattgat
+aatcttgccgccattgccttgcgcgataaagtgtttcgccgctgcctgagacatgaagaa
+tacgctcttgatattcaggttcatgacatcgtcccagtccttttcgctgaactcgagagc
+atcttcgcggcgaatcaatccggcgttattcaccaggatatcaatatgaccaaactccgc
+taccgcgcgatccagcagtgctggaataccatcaatctttcgcagatcggcggtcaggct
+taaaaaacgacgccccagcgctgtgacctgctcgatggtttcagtcggttcaacgatgtt
+aatgccaacaatgtcacagcccgcttgcgccagccccaacgccatcccctgacccagtcc
+agtatcacaaccagtgacgaccgcaactttaccttcgagagaaaatgcacttaaaatcat
+aacaataccttattcgtttatgcccacaactagcgcaaatctttaacggccacatggtcc
+atatcatcaaagacctggttttcaccgaccatgccccagataaaggtataagctttggtt
+ccgacaccggaatggatcgaccagctcggggagatcaccgcctgctcgttatgcatcaca
+atatgacgcgtttcttgcggctgccccatcatgtggaaaacgcaggcgtcatcatccata
+ttgaaatagaaataaacttccatccggcgctcgtgggtgtgacacggcatggtgttccac
+aagttacccggagccagctccgtcagccccatactcaattggcaggtttccagtacatcc
+gggacaaaatatttgttaatcgtgcgacggttactggtgaggttatcgcctaacgtgact
+ggagatacttcgtccggtgtgacttttttggtgggatacgtcgtatgcgcgggtgcgcaa
+ttgtaataaaacttcgccggagtgccggtatcaatactggcaaagacaacttcttttgca
+cctttaccaacatacagggcgtcgcggtgaccgatttcatagcattggccatcgacagta
+atcgtaccggcaccgccaatattgataacacctaactcgcgacgttcaaggaaatagctt
+acgccgagttgtttaccaacttccccgccaacggaaaccgttttagttatcggcataatg
+ccgccaacaataattcggtcaatgtggctgtaaaccatggtgtactcatcggcgacaaat
+accttttcaaccaaaaattcattgcgcagcccttgggtatccagcgtttttgcgtgcgca
+ctgtggatgctctgtcttacgtccacatcaacctccgataatcagtgaagcgtgaaaata
+gaaaacgatagtgaaacactgtttcgttttctctataaagggatgatatgcccatgggct
+agggttttcaattaaaaataaaacaatgtttcatttttaagttaaggattaaaaaaagtg
+cagtgtcgatcacgaatatgtcatgagaatggaaaaatgagggagcccagaaaatgtatg
+tcgacttgccagccatcattattcaacagattaatgacggcagatatttatcggtaagga
+ggaaatgcagagctattcgtcacgttcaatggtcaatgccacaccctggcccccgccgat
+acaaagcgttgccagtcctttgcgggcattacgtttcaccatttcatgaaccagagaaac
+caggattcggcaaccggaagcgcctatcgggtgaccgagtgcgatcgcgccaccattgac
+attgacccgacgctcatcccactcaagcatcttgccaaccgaaagcgcctgtgcagcaaa
+cgcttcattagcctcgataagatcgacttcagccaactgccagcctacacgctccaggca
+acggcgggtcgcatacaccggcgcaattcccatcaatgccggatctacaccaacgctggc
+aaatgcgcgaatgcgggccagcacgggtaaattcaacgctcgtgctttggcttcgctcat
+catcattaccgcagctgcgccatcgtttatggatgatgcattacccgctgtcacagaacc
+gagactatcaaatgaaggatttaaacgggctaagccttctgcgctggcgtcagtgcgtgg
+ctgttcatcggtatcaacaaccaacgtctgcccgttactttgggtcattaccgggacgat
+ctcatctttaaatcgtccggcgtcaatcgccgctcgcgctttttgttgcgagctaagtgc
+gtaagcatcctgcaactgacggctgatgccatattcgcgagccagattttcggcggtgac
+accaatatgataatcattgaaggcatcccacaacccatcatgcacaagactgtcaaccaa
+ctggctattgccaagctgtgcaccggtgcggctatcagtcagaacatgtggtgcgcggct
+catgttttcctggccaccggcgatgacaatatcagcctcgccacactgtatcgcctgagt
+agccagatgcagtgctttaagcccggaaccgcaaacgtcattaatagtgattgcagaaac
+gctattaggcagaccacctttaatagccgattgccttgccggattctgccctgcccctgc
+agtcaacacctgaccaagaattacttcatccaccgcatatgcaggaacgccggtacgttc
+tattaacgctttcacgaccagactaccaagttccacggcggaatgacccgctaacgcacc
+acgaaagcagccgataggtgtccgtaacgccccgacaatcacaacgtctttcatcacaac
+ctcgcaccaattaacagtgcaatagtaaatgattgttaattacagttatcttaattgttt
+aaaaaaagtgatttttatcacaaaggaaatatgcctgagcagcagtcagagacataactg
+gcacgtaaggtttgcaaccactaacccaccaatagaggggtagatagggcgttaatctcc
+catacttaacctggtttatggtaaattgccctccattttgtttaatttgtagatgatacg
+ttcagataatgtctaatatttggtctaaagaagaaactctgtggagtttcgcgctctacg
+gcacagccgttggtgcaggcacgctcttccttcctattcagttaggttcggcaggggctg
+tggtcctgtttattactgctctggtcgcctggcctttaacatattggccacataaagcct
+tgtgccagttcatcctctcatcaaaaacatcagcaggtgaagggataacgggcgcggtaa
+cacactactatggcaagaagattggtaatctgattaccacgctgtacttcatcgcctttt
+ttgtcgtcgtgttgatatatgcagtggcaattaccaactcacttacggaacagctggcaa
+agcatatggttattgatcttcgcatccgtatgttggtgagtctgggtgttgtattaattc
+tgaatctcatttttctgatgggacgtcatgccactattcgggtaatgggatttttggtat
+tcccattgattgcctatttcttatttctttccatttaccttgtcggtagttggcaacctg
+atctattaacaacccaggtagagttcaatcagaatacccttcaccagatatggatatcga
+ttcccgtgatggttttcgcctttagccatacgcccattatttctacgtttgccatagaca
+gacgtgaaaaatatggcgaacacgctatggataaatgcaaaaaaattatgaaagtcgctt
+atctcatcatctgcataagtgtactgttctttgtctttagctgcctgctttctattccac
+cttcgtatattgaagctgctaaagaagaaggggtcaccattttatcggcgctttctatgc
+tgccgaacgccccagcatggttgtcaatttccgggattattgtcgcagtagttgcgatgt
+cgaaatcattcctgggtacgtactttggcgttattgaaggtgccacagaggtcgtcaaaa
+caacactacagcaggttggtgtaaagaaaagtcgtgcatttaaccgcgcactatcaatta
+tgttggtatcgctgattaccttcattgtttgttgcattaacccgaacgcgatttcgatga
+tttacgcgatcagcggcccgctcattgccatgatacttttcatcatgcctacgctgtcaa
+cgtatctcatcccggcgcttaaaccctggcgttccatcggaaatctgattacgctgatcg
+tgggtatcctgtgcgtatcggtaatgttctttagctaatatcagttgtggatggttcaaa
+attgctacaattttgaaccattccatttttcataatattcatttgttattattccaccct
+atcacttctctcgtcatatcctagtattatcagttagttaaacacacaaagagatctgaa
+catcttaaataagactatttaagatgcataacttagattcgcaagatatcttctggtcat
+tcaaaaacaatttgcgatatagatattcttataccatgagatagttatctggaccgctct
+caaccatgcaagattaaatcagtgaaacataatcatatttgataacgagaaatgcatttt
+taaatgccttactcagaattatagcaaatacagattaatcgcaatttttcccggcaaaat
+tacaaaatcatggtgtattgacatcatcaataaccaatgaaattatgcaattatatacgg
+atagggaggttcttaacatggggctttgtagtcgttataaaagtcttacatgcaatagtt
+gctcaatgcattgccaaataatgccagaagagtcaccgcgtttgcagtattgcgcaaact
+cgtgtttttgtatgtggcccgaagaaagttcatattttaatcgtggtgtggtagaaggta
+tcttaacaaaaaaccacaatgcgagattaagcggatatatttttgtcgatttttcagtaa
+gttttttacgtctattccttgaaaaagactggattgactatcttgcaagtactgacatgg
+ggattgttttagtcagcgaccgcaatatgcaatcgttagctaattactggcgaaaacaca
+actcagcaatatctgctgtcatatataatgatgatggtcttgatgttgccaatgaaaaga
+tcagacaactatttattggtcgttatttatcatttaccggaggtaacacattaactcaga
+tggaattcaccataatggggtatatggtttctggttataatccatatcagattgctgaag
+ttctggatatggatatccgtagcatctacgcgtacaagcaacgaatcgaaaagagaatgg
+gtggtaaaataaacgaattatttattcgttcacattcggtccaacattgatactcaacga
+ccagccagaatcatactctgtttatacgggcatttattgaaatgtccgtattttataaat
+aggccgtcccctcaagagtaaacaccatagtatttaaaaccatcacacgaaaaattcaga
+agcattacgaaatatgaatttacaaacaatagtggcataaatgttaaccatgttaattta
+cgtaaagttttacgttgcaacattaaagcctcatttcaatcatcatgataaatataaaat
+taatatatatttatgccgtaaataccaatatacttagcaaactatgtgatctccatttcg
+attgatttagtgtttattgacgtatgtactggattattaacgataatatcgagttctggc
+ctgagcaccgaaaattaatatcggtacataacgccgatcttaacgtcgttctgacaacgc
+cagccagtcgatgtttatcacttctacttgaagcttttcctgatgtggttgcacaacaag
+attttttcaccagagtctgggaagaagaaggtatgcgtgtgcctactaacacgttatatc
+agaacatatccattatcagacgcggatttcgcgctgttggtgatactacccactcgctaa
+ttgcaaccgtgccgagaagaggattcaagatccataatgacattaacatacaaaatcatg
+taataaactcgtcaacagacgcacatacacacaatgccccacctgccataaaagttaatg
+cgggatacaaagagagcattggtggcgcaaagaatttcaataacaaaatcctcaaacata
+taaaaagtcatctaattatgttgagcgcatttgtcataggcgcatattctgcatattggc
+tatggaataataatcaaccgaagccatttttcaaggattacaagactgttgcggaaatta
+atggctgccattttaatgtaacagaagatacaattgatgggttgaaagagttcgataaat
+ataaaacacggatactggattcggggattaactgtaaaaaacatccgtggttatacttcc
+ctcttgcaaaatcctcaccggggatgattgttatggcatgcaataaaaactataaccaac
+atgaagtggcaaactgtttaaccctgtcttaccgtgaggttaatcgtgattgattataaa
+aaaaacttattatttattttagtttttatcagtgggtttattctcttcactgtctattct
+tacactgcagaaaaaatgatatataacgaaacatgcactgcaaattgggtaatttttaat
+gaccagggacgagcaaatcttaccatcgactttatgtataacaaaaaaaataaaacagga
+actgttgcgttgagtggaacctggcaacaaggtaacagagaaagtaaatcaatacggcga
+aatattgaatacacatggattgaaaactatgacacagcccatttaacatcaaagaaagtt
+aataagtttgagattatggatcaagttgatgatgatagacttgcacaacttattcctgat
+ttttatgtctttccagaaaaaagtgtaagctataatatactaaagcaaggtaagcatgct
+tttattttgagcattggtaacagagcaataatgcattgtgcaaggtaaactaaaatagat
+aacaaaaagatggaacctcgttaatcataaaacaataaaattaaatattctcgcagtata
+tggcagtctaaagcatcaaagatttgatcaacatctttcattttagacatctccttgcaa
+tgtaaaatatcatgtatcaacaacatctggtgcaaatccatgagtcgaactcgacattca
+tcttagctcgattattattccttcgtacagtcgatgtaaacaatacagaaagaggattat
+taagaaccagtttactcagtgaatcaatagaggaaaggactaacgtttctttaaaagaat
+tgatttcatcatctgttaaactaaactcatcattgacagatcgtgagatataactgtttt
+taactttactctttacgttgactttattgacagaattaacattcacatatcttgaattta
+atgtccatgatgttgtttgcgtgagaacattctcagcattaaggaatttttttaacggaa
+tccttggtttctttttcgagtccgaatttacaatatcatgcatatagaccatttcatgaa
+tctgcgaaaattcaatgtccattgtatacctcacatttttaccgtgactcgatgttactg
+ttcaataatcaccttccatcaatactaaaattaatacccctaatgtgccgataacaaata
+tagtcattctacgtaacgtctccataaggtgatatttgacattatcagaagctgcgaatt
+cggattttgctctaatcaaatgagagaaatgtaaaatgaagccacgaaatattaataata
+gcctaccactgcaaccattagttcctgatcaggagaacaaaaataagaaaaatgaagaga
+aatccgttaatccagttaaaatcacaatggggtctggtttaaattatattgaacaagaat
+ctcttggaggaaaatatctaacacatgatttgtcaataaagatagcggatatttctgaag
+agataattcagcaagcaatattatctgctatgagcatatataaattttcgataacagatg
+atttaatgagtatggctgtaaatgaactcataaaactgaccaaaatagagaataatgtag
+acctgaataaattcactactatatgcacagacgttctatccccccgcgtcaccagacata
+ataaagaaaaaaacaaacgacattctacccttctcaaaaatcccctttttaattttcatt
+gaaaaaatggcaattgatactatgaatccaggtcatacacattaaggcatttatgtaatg
+tcgtaattaagataactaataaggtgaatattagtaaaacaactaatgatgttattagtt
+tgtagtgaacagtacttttaccaataatgaaaaatataccataagcaatgcaagcttaaa
+actcataatttaaaaaagataaatataaaaatatcaatgagtcaatcaataataatttgg
+catcacgagacacatcacagaggaatattatgagcacagaaacaattgaaatattcaata
+atagtgatgaatgggcaaatcaactaaaacacgcattatcgaaaggagaaaatctggcat
+tactacatggtttaactcctgatatccttgatagaatatatgcatatgcattcgactacc
+atgaaaagggtaatataacggacgcagaaatttattataaattcttgtgcatttatgcgt
+tcgaaaatcatgagtatctaaaagattttgcatcagtatgtcagcccaaaaagaaatatc
+aacaagcatatgacctttacaaactaagttacaattacttcccgtatgatgactattcag
+ttatttatcgtatgggtcaatgtcagattggggctaaaaatatcgataacgcaatgcaat
+gtttctatcacattattaacaattgtgaggatgatagtgttaagagtaaagcgcaggcat
+atattgaactcttaaacgataattcagaagataatggctaagcattacaatcatttggtt
+aaatttgctggttatagtgcagttaaccactataaccagcacctcttatgttttcttaaa
+tcagcatcttaaaacagttaagagcatactataaatcattatttttcaatgcgttagaga
+acaatctactttatcaaaattgaataaggctatttcagattacatcactgaattcctaag
+ataaattagtgaacacaaccatagatatgtcaaatgtaatttcctgtagcgttaatgaca
+cataaatatgaatagccataatttctattgcttaagcaggatgcaagaaaccaatttttt
+catagaggttaactaatggacttagaaaataaattctcatatcattttcttgagggatta
+acgctcacggaagatggaattcttactcaaggaaatgagcaagtttatattccacagaaa
+gagttaggtgtattaatagtattacttgaatccgctggtcatgttgtactgaaagatatg
+atcatcgaatcagtatggaaaaatattattgttagtgacgagtccctgacaagatgtatc
+tattctttgcgctgcatttttgaaaaaattggctatgatcgttgcatagaaacaatctac
+cggaaaggttatcgtttcagcgggcaggttttcaaaactaaaattaatgaagataatact
+tcagactattccatagctatattccctttcactacttcattgaatacactggatccatta
+atacttaatcaggaattagtgcaaatcatttcaaataaaaaaatcgatggtctctatacc
+tatccgatggctgcgacaaatttttgtaatgatcacatatctcaaaattcattcttgagc
+agattcaagccagattatttcgttacaggaagaataaaccagaataatgcagtgaacact
+ttatacattgagttgatcgacgctaaaaaccttttcctcatcgccagtaatcatctccct
+gttgatgaactacataatacatcacaatttattatagataatatccttcaaacggtacat
+aaaccagaacgatctgtaagattagctaagcaggaccaaggatataagaatcattattta
+tcagatgaaatgttagccggaaagaaagaactttacgacttcacccctgaaagcatttac
+agggccatgactatatttgatagattacaaaataaaagtgatatacagacgctaaaaaca
+gaatgttattgccttctagcggaatgccatatgtctttggcacttcatggaaaaagtgaa
+cttgaacttgctgctcaaaaagcattagagcttttagattatgtatcagacataaccact
+gtcgatggaaaaattttagctattatgggactgataactggtctgtctggacaagcaaaa
+gtatctcatatcttatttgaacaggctaagatacactcaactgatatagcctctctctac
+tactatagggcactagtccactttcataatgaaaaaattgaagaggcaaggatttgtata
+gacaaatcactacaactcgaacccagaagacgaaaagcagttgtgataaaagaatgtgta
+gatatgtatgtgcctaacccgctcaaaaacaacattaaactctactataaagaaactgag
+agtgaaagccatcgagttataattgacaacattttgaaattaaagcagctgacgagaatt
+tgtatgcgataaatttttattgacgcaattttattatttagatgtatgcaacttgttatt
+taaacaacagagataaaaatatctaagatattcaccttattgcaagatatttaaaatgct
+ctagagttaaaagtatgatgtaaagaccattggcctggacaattaaaaaagggagcttta
+tgactaatccaatcggtatcaataatttatctcaaagttcaaatatagcgaatgcaacgg
+gtgatgaagtcgtatcattagataaacacatcaacaccagtgctactgatacagatcaaa
+tacaagcatttatagtttcaacatggatggcgccttttcaaaatgatatgtattcagaag
+ataatcctatctcaccttactataaaattgagtggtagacgattgaccaaataaatcata
+acgagatacttttataatagtatctcgttcctttcattcaatcctcacacatgaaaaaat
+atgcgctcaccaaaagttaaattcttaaccatcttcacgttttgtatatttattacaaaa
+atgtctttcgccagcaactcttgctctaatgaagcaggaacaatgttcagaatcgaacca
+aatttaattaaagctatcgctcttgttgaaagcaatctaaaaaaggatagcataggcaag
+aacagagataagaataacaatataaagagtttagattattggttaatgcagataaaccag
+atgcatattcccctgttaaaaaaacgtggaataataaaagatgaacgagatttgttagat
+aacccttgtctgaacattaaaataggaaccgagattttatataaccatttttcacgttgt
+ggagtaacgtggcaatgcctggggacttataatgcgggttttgcaatggataaccaaaaa
+aagagacagcaatatgccccaaaatatatattgtatataccaggcttaatgaactagaca
+atcgtaaggcttcagcaaaatgagcctaaagcctcttttttttatatagtgcaaacaccc
+atacgtaaagctgttttgatcaactcgataccactgtgaacatctaatttcttcatgata
+ttgagtctatgagtttcgactgttttcctgcttaactgcaagaaattagcgatttctttg
+tttgttttaccatcagctatgagttgtaatatttctgactcacgatttgtaagttgatta
+tcagaggaatacctggaagatattttttcacaatccatatgtacactatcaaaataagtg
+taaccattactaatcgaatcaatagcacgatttagtttcgccgggtgactggttttccat
+acgcatcctttcgcacctgcttcaagcaattttattgaatcaatatacggcatctttgct
+acaaatgtaataatatgagcatctatcttatgcgatttaacccattttacgagttcggcc
+cccatcattccacctgcaaattctcctaaaataaatatttaggctgtagatttgttacac
+tccgctatagctttcttcagatctttatagcccccaacaacctcatataaatcaggataa
+tgtccgagaaatccaattatcccatcaatcataaacggctgctgatctgaaactacaatt
+ttaatttttcccatatattcatcctgagtgtaaatgctttaacgcattcatttataatca
+tcccttccattattattataagcaaaatccaaagaatacattgatgaaataataatgaaa
+tataattaaaaataaaatttttgcgtaaaaaaataccacaggcattaaaaaatcatgaga
+tgattaaaatattacaattagattatattcaaatcattaaacttgagccagggagctata
+agtcctcagggcttgccaaaacagaattattcatatccaaagaatgtgtttcaaacattt
+tttcaactaaataatgtctggcttgttcgcagatttcgttaaccttgtcaggggagaaac
+aatgattattaattaaatattgctcacaattatccacaaattcctgcggactaaattcag
+caataaattgatcggtaaaaaacacaaaacgcttatcatcatgaaatgtaatatggacat
+tccatattgatttgtcgacaaaatatgactctacttcaagagacttatctttgaaactgg
+taggtatatggagatttacaggacctgatattgatggtaattttgttacccaactttcaa
+aaattttgataaaaacatcaacttcttctgaaggttttaacaatatactcttcagatcgt
+ttatcatgtttattcttttttttcaagttctgagcatagcaagcttatcaagggtataaa
+attatccatctcatcaataatgccttttgtatagccatcataataaccttgaataaattt
+ttcttctctcttttcctcaatactctgaatttttgcggtggtttcaagaaggattttttc
+tttaagagaaactatttctttcaatccatcagaaatttttcttttaatcacaacaccatt
+tgcaggagattttatcaagctcatctctattttttttcgcataaaatgtaattctctcta
+aaagtgttgatgcaagtggtaacggcgattgtatgtggtcaacaaaatcaggaaataata
+aattaaatcgttgctgcattgccaatggttgttgccttatatagggtaacaacgttgaaa
+aaccacatgtgatgatattgtgatagttagcgatgccgggtttgtatcgtgccttttcat
+ttatttccagcggtatagctgataaataatcccttagtacatcaggaaccttataaaaaa
+acccgcgttctgcaaacctttctcgataaaagtgacaaccactgagtaaacagatcaatg
+gaagtaaattccaattgtttattggatttgcccctatatttccagacatctgttatcact
+taacccattacaagcccgctgccgcagatattcccgtggcgagcgataacccagcgcact
+atgcggatgccattcgttataatgctcgaacgcctctgcaaggttctttgctgccgttaa
+cccgtctggtttgggcatgatactgatgtagtcacgctttatcgttttcacgaagctctc
+tgctattccgttactctccggactccgcaccgccgtgttcttcggttcaagtcccaacat
+ccgggcgaactggcgtgtttcattagcccggtagcatgaaccattatccgtcagccactc
+cactggagacgacggaagatcgttgccgaagcggcgttccaccgctcccagcatgacgtc
+ctgtactgtttcactgttgaagccgccggtagtgaccgcccagtgcagtgcctcacgatc
+acagcagtccagcgcgaacgtgacacgcagtctctctccgttatcacagcagaactcgaa
+cccgtcagagcaccatcgctgattgctttctttcacggccactctgcctgtatgtgcccg
+tttcgatggcggtacagcaggttttcgctcaagcaacagcgcattctggcgcatgatccg
+gtaaacacgtttggcattgatcgcaggcataccatcaagttctgcctgtctgcgaagcag
+cgcccatacccgacgataaccatacgttggcagctctccgataacatggtgtatacggag
+aagcacatccgtatcatcagtgtgacgactgcggcggccatccatccagtcatcggttcg
+tctgagaatgacgtgcaactgcgcacgcgacacccggagacaacggctgactaagcttac
+tccccatccccgggcaataagggcgcgtgcgctatccacttttttgcccgtccatattca
+acggcttctttgaggagttcattttccatcgttttcttgccgagcaggcgctggagttct
+ttaatctgcttcatggcggcagcaagttcagaggcaggaacaacctgttctccggcggcg
+acagcagtaagacttccttcctggtattgcttacgccagagaaataactggctggctgct
+acaccatgttgccgggcaacgagggagaccgtcatccccggttcaaagctctgctgaaca
+attgcgatcttttcctgtgtggtacgccgtctgcgtttctccggccctaagacatcaatc
+atctgttctccaatgactagtctaaaaactagtattaagactatcacttatttaagtgat
+attggttgtctggagattcagggggccagtctaaacttgctcttttcttctggtgtttat
+ctttgaaagatttgtaggataaataacattaagtaaagccgcatcggcttctctgtaatg
+tttatctttttccagataacctggggattctccccctaaatcaagctgtaacgttattct
+ttcataacctttatctatgaggtggttcaacctcgttgttgaaagagtttcatccagttc
+attgactttagcttcgcgtagtaaatcagagacaaaaacagagtctttcttcgagagtag
+gtttgacaaacgttccagtccagaggtcaccagtgcaacggaagatgtgtttaatcgggc
+atcttcttcccatgctcaggaatcttccataacatagaaattggctttatccagataagc
+aatcagcagcgcaaccgactttaatcggtcacctttttgccaatcttcagcgttaatagt
+accagtgttgattgcttgtataaggagatcaaggtaaagacctaaagcatcattttgttt
+atggttccacagctgcggcttgccttcttcctgcacatctgccatcacgggggagttgct
+gtcaaatcggatatgcacagcattcatttgcacgggaattccatccagtcgttttgggtt
+gctaatgacgtcctgcatccgcttaatctggtcgggcgtagacatataatcccacagggt
+gagcagaaccttttttgcggctacactatttccctgatctgatactaatgccatatagcc
+ccataaactatccctcaaccagacagcatcatagtgggtttctgccgctgttttgtcatc
+ttcgaaagtagaagcaagaataaacgttccccagggtttctccgtcaacgttaactttcg
+tgtgttttctgttaatgttagcaatccttgaatttcgtctttggtatagtggctctttat
+ttcattttgtaatttggctgagtgaatcagaagacgataattaggatacttatctggatt
+taacgataaataacttttatctgttgctgcccccgtggaattaagaatgttaaatacaga
+ttcactcgtcacttctgcccctgtcgcctggcatgtgccgcacgaaaatataccagcgag
+cagaagagttaatgcagatttccctttcataaaatattccatcaatcgtttgttaaaagc
+gtagataaccacttatttaacaacttgaaaataaggtgttttacctgggttgttacaaaa
+ggattgcattgcgtaaacgctttttatttacaacaaaatggggaagtattacggcgaaga
+taaattggagcgggcgaagggaatcgaaccctcgtatagagcttgggaagctctcgttct
+accattgaactacgcccgcttcgagatgcgtaaggcattataaaccttacgctctcctta
+gcaagtgccacgctgctgactgctgattaattcgccatcagcattttggcttgctgccct
+gaggcggcaagtaacgtagcggatcaattgccgttgcacggtaacgaatctggaaatgca
+ggcgaacagatgccgcatccgtgctccccatagtggcgattttttgcccagccttcacgc
+tttgcccattatttaccagcatcgtgtcattatgggcgtaagccgtaatgtaatcttcac
+tgtgtttaatcatgatgagattaccgtagccacgcagctggttgcccacatacaccacct
+ttcctgcacccgcggcgtaaataggtgtaccccgtggagctgagatatcaatccctttat
+tgccgccatctgctgtcgaatacggcatgataactttccctgtcgttggccataaccaac
+aacgttgccctactggcggccaggatgatttcggtaccgctgatgacggtgtaaccgatg
+cggttttggtcgttgatttggcggttgatttacgtgtaatactgctacttttcgccccac
+ccagttttagtttctgaccaacttcaatggtgtaagggggggaaatgccgttcagtcgcg
+ccagttcttttacgctggttcccgtggtgcgcgaaatacgatatagcgtatccccccgtt
+tcacggtgtaaacggagccggaatacgttcctgtatcggatgatttgctacccgaacagc
+ccgccaaaagcagtccaaccgataacaacatcacgatacccagagattttttattcaggc
+gtcccgcactcaaaatctttcctcgcttaaaaaacaagacgccttatcatagcagccagc
+ctcttgatacccaatctcttgcttctggaaaaacgtggtaatagagaaagaggttaattt
+catttggcaaagggaagtatcatcagcaaaatattcgctgtagaggtatcgaacttcctg
+actttttaccctatttcccatcctgatgcgtaataatcccaatttatcacattgatttta
+tcgccactcatattgatacgtatcactgcccctattcagagtcctgtttcgtatcatatc
+tgtgtttttttaacgtcatcacacttcctacctcccctaacgcttatcgtcgtttctggc
+gtaaatcttgcctgcttagactaaatctttgccataagaaccaaatgttcaaatcgaggg
+gatttctatggaagcgcgggaagcaaccgctacgggtgaatcatgcatgcgcgtcgatgc
+cattgctaaggtcaccgggcgggcacgatatactgacgattatgttatggcgggcatgtg
+ttatgcgaaatatgtacgtagccctatcgcacatggttatgccgtaagtattaatgatga
+acaagccagaagtttgccgggcgtactggcgatttttacctgggaagatgtgcctgatat
+tccattcgctacagctgggcatgcctggacacttgacgaaaacaagcgcgataccgccga
+tcgcgcactgctaactcgccatgttcgtcatcatggtgacgccgttgccatcgtcgtggc
+ccgcgatgaactcacggcagaaaaagcggcgcaattggtcagcattgagtggcaagaatt
+acccgttatcaccacgccagaagcggcgctggcagaagacgctgcaccaatccataacgg
+tggcaatttactgaaacaaagcacgatgtcgacgggtaatgtccaacaaacaatcgatgc
+cgccgactaccaggtacaggggcactatcagacccccgttattcaacattgtcacatgga
+aagcgtaacatcgctggcgtggatggaggatgactcgcgaattaccatcgtttccagcac
+ccagatcccgcacattgttcgccgcgtggttggtcaggcgctggatattccctggtcatg
+cgtacgagtcatcaaaccatttgtcggtggcggttttggtaataaacaggatgtactgga
+agagccaatggcggcattcctgaccagcaagcttggcggcattccggtgaaagtttccct
+tagccgtgaagagtgtttcctcgcaacccgtacccgccacgcttttaccattgacgggca
+aatgggcgtgaaccgcgacggaacattgaaaggttatagtctggatgttctgtctaacac
+cggcgcttatgcatctcacgggcactccatcgcttctgcgggggggaataaagtcgctta
+cctttatcctcgttgtgcctacgcttacagttcaaagacctgctataccaacctcccctc
+ggctggtgcgatgcgtggttatggcgcgccacaagtcgtatttgccgttgagtctatgct
+tgatgacgccgcgacagcgttaggtattgatcctgttgaaattcgtttacgcaacgccgc
+ccgcgaaggagatgctaatccgctcacgggcaaacgtatttacagcgcagggttgccgga
+gtgtcttgaaaaaggccggaaaatctttgaatgggaaaaacgccgtgcagaatgccagaa
+ccagcaaggcaatttgcgccgcggcgttggcgtcgcctgttttagctacacctctaacac
+ctggcctgtcggcgtagaaatagcaggcgcgcgccttctgatgaatcaggatggaaccat
+caacgtgcaaagcggcgcgacggaaatcggtcagggtgccgacaccgtcttctcgcaaat
+ggtggcagaaaccgtgggggttccggtcagcgacgttcgcgttatttcaactcaagatac
+cgacgttacgccgttcgatcccggcgcatttgcctcacgccagagctatgttgccgcgcc
+tgcgctgcgcagtgcggcactattattaaaagagaaaatcatcgctcacgccgcagtcat
+gctacatcagtcagcgatgaatctgaccctgataaaaggccatatcgtgctggttgaacg
+accggaagagccgttaatgtcgttaaaagatttggcgatggacgctttctaccaccctga
+acgcggcgggcagctctctgctgaaagctccatcaaaaccaccactaacccaccggcgtt
+tggctgtacctttgttgatctgacggtcgatattgcgctgtgcaaagtcaccatcaaccg
+catcctcaacgttcatgattcagggcatattcttaatccactgctggcagaaggtcaggt
+acacggcggaatgggaatgggcattggctgggcgctatttgaagagatgatcatcgatgc
+taaaagcggcgtggtccgtaaccccaatctgctggattacaaaatgccgaccatgccgga
+tctgccacaactggaaagcgcgttcgtcgaaatcaatgagccgcaatccgcatacggaca
+taagtcactgggtgagccaccaataattcctgttgccgctgctattcgtaacgcggtgaa
+gatggctaccggtgttgcaatcaatacactgccgctgacgccaaaacggttatatgaaga
+gttccatctggcaggattgatttgaggataacatcatgtttgattttgcttcttaccatc
+gcgcagcaacccttgccgatgccatcaacctgctggctgacaacccgcaggccaaactgc
+tcgccggtggcactgacgtactgattcagctccaccatcacaatgaccgttatcgccata
+ttgttgatattcataatctggcggagctgcggggaattacgctggcggaagatggctcgc
+tacgtatcggctctgcaacgacatttacccagctaatagaagatcctataactcaacgtc
+atctcccggcgttatgtgctgcggccacgtccattgctggaccgcagatccgtaacgtcg
+ctacctacggtggaaatatttgcaacggtgccaccagcgcagattctgccacgccaacgc
+taatttatgacgcgaaactggagatccactccccgcgcggtgttcgtttcgtcccgatta
+atggctttcacaccgggccgggcaaagtgtctcttgagcatgacgaaatcctcgtcgcct
+ttcattttccgccacagccgaaagaacacgcgggcagcgcgcattttaaatatgccatgc
+gcgacgcaatggatatttcaacgattggctgcgccgcacattgccgactggataacggca
+atttcagcgaattacgcctggcatttggtgttgccgcgccaacgccgattcgctgccaac
+atgccgaacagactgcacaaaatgcgccattaaacctgcaaacgctggaagctatcagcg
+aatctgtcctgcaagatgtcgccccgcgttcttcatggcgggccagtaaagagtttcgtc
+tgcatctcatccagacgatgaccaaaaaagtgattagcgaagccgtcgccgcggcggggg
+gaaaattgcaatgaatcacagcgaaacaattaccatcgaatgcaccattaacgggatgcc
+ttttcagcttcacgccgcaccaggcacgccgctctcggaattactccgcgaacaaggact
+gctaagtgtcaaacaagggtgctgcgtgggtgaatgtggtgcctgtacggtgttggtcga
+cggcacagcaatagacagttgcttataccttgccgcctgggctgaaggaaaagagatccg
+cacgctggaaggtgaagcgaaaggcggaaaactttctcatgttcagcaggcttatgcgaa
+atccggcgcagtgcagtgcgggttttgtacgcctggcctgattatggctaccacggcaat
+gctggcgaaaccacgcgagaagccattaaccattacggaaattcgtcgcggactggcggg
+aaatctttgtcgctgcacggggtatcagatgattgtaaatacagttctggattgcgagaa
+aacgaagtaaaaggatatccggcctgaattcaggccggattcactgaggttatgtgttta
+acaactcatatttcttaatcttgcgatagagcgtagcaatgccgatgcccagttcatcag
+caacttgcttcttgctgttatgacgtgaaagcgcctcgcggatcatttgcttttccatct
+cctccagcgccgtgccgcccgcatcatcgagtgacaggtgcgcctcactgacctctgtta
+catcactttgctccgttgtgccattattcagcagatttggcggcaatagcgtgctgtcga
+taacttcacctgaaggaaccacgttaaccagatattccatcaaattgcttaactcgcgca
+ggtttccgggccaacgatgcttacgcaatatttcgacgacatcgggagcaatgccaggat
+aaaccgatcccagacgacgggtatgcagatgtaaaaagtaatgcaccaatagttcaatat
+cttcctgacgttcacgcagcggtggcagagttatcgggataacattaagtcggtagaaga
+gatcttcgcggaatttaccttcggcaatgaactgggccaaattctgattagttgcagaaa
+tgatgcgaatgtcgacttgtattgggctactggcaccaatcggcagaatttcacgtgcct
+caatagcgcgcagtaatttagcctgcaacattaatggcatatcacctatttcatcgagaa
+acagcgtgcccgtattcgccgcctgaatcaaccctgttttaccgttggcagaagcgccag
+taaatgcacctttaacataaccgaacagttcgctctccagaagctgctccggaatcgcgg
+cacagttgatagcaataaagggtttattccgtcttccgctcaacttatggattgcacggg
+cgacgacttctttacccgtgccgctttcaccaaccaccataacgctggatgggctgggtg
+caatacggctaatgagtcgttttaattgccgcataacacggcactcgccaaccaattgtt
+caatatgcggttcatcaggtgcatttgctacagaaaaactggtatgcgattggtgaaacg
+ccattaaaaataattgtcggccctgaatgttatgcaattgaccaatgattaattcacttt
+tatcgtcccatgaaacaatatgctgcatatgtccatgggtaaaattactctcaaatgtta
+atggtctgaaacggataggtttcccaataatattattttgcacaacaccaagtgttttta
+aggcagtctgattaacaaactgaacccgattttcatcatctacaactaatacgccctgat
+ccatattatcgatcatggtcgcaaatattttactgatgttatctcctggcccctgatcct
+ccagaagtttcgaaacaaaaatggtggatatatggcgaacataatcagaaaattcgcgta
+aattatcactgatatgctcttgttgctcgtgggtaacggcaatcaaacttatcaccccaa
+cacaacgatcctgtaaaatgacaggcgtacccagaaatgctttttcgcggcaattttctt
+tactatcgcaaccttcgcaaaggggatcgaagcgagactgtgtcacaactttttcagttt
+tcgtttccaggacgtggcggagcaggcgtgagttgccgctcaactggcgaccaagaaact
+tcccatacgcgcccgttccggcaacgcgacacaagttttcatcaacgatctcaacctcaa
+gctgcaaaacgctggcaagcattctggcaaaacgctgaattgtcggttgaatttgcatca
+atactgactgcgtagtagcaagctccatagctttaccttccagacttacttaaaagtcga
+tcattgaagacgttgatggttcacagatcatgatgatattaactcaggcgaaattggctt
+tgataaaaacataagatttttatcattttctaatgaaattatggaagagatatcacattt
+ctatatcaatatgagaattacggcggtgagtttatcaaactgaagagagatagcctgccc
+ctttatcttatttctgatacttagcagcaaataaataacgcgataaaaaaagccaaacgt
+tttcgtattttacaaacaaccagaagctggcatcaatttgtgatcaaccccacacattat
+ccgtcaaattagtcttttgcagccgcgcggataattctggcacacttattgttagtccca
+ggtatagctgtgaaaacaccaatcactttggcaagtcacagtgaaataaaccactttgcc
+tgtcattccactaccgggactttatgatgaaaactgttaatgagctgattaaggatatca
+attcgctgacctctcaccttcacgagaaagattttttgttaacgtgggaacagacgccag
+atgaactgaaacaagtactggacgttgccgcagcattaaaagcactgcgtgctgaaaaca
+tctcaaccaaagtctttaatagtggattaggtatttccgtattccgcgacaactccaccc
+gtacccgcttctcttatgcttccgcgcttaacctgctcggccttgcacaacaagatctcg
+acgaaggcaaatcacaaatcgctcacggcgaaaccgtgcgtgaaaccgccaatatgatct
+ccttctgcgccgacgctattggtattcgcgacgatatgtatctgggcgcaggcaacgcct
+atatgcgtgaagttggcgctgcacttgatgacggttacaagcagggtgtactgccacagc
+gtccggctttagtgaacctgcaatgcgatattgaccacccgactcagtcaatggctgacc
+tcgcgtggttacgtgaacactttggttcactggaaaacctgaaaggtaaaaaaatcgcca
+tgacctgggcctactctccaagctatggcaaaccgctctctgtaccacaaggcatcatcg
+gtctgatgactcgcttcggtatggatgtcaccctggcccatccggaaggctacgacctga
+tcccggatgtggttgaagtggcgaaaaacaatgctaaagcctccggtggtagcttccgtc
+aggtcaccagcatggaagaagccttcaaagacgcagacatcgtttatccgaagtcatggg
+caccttacaaagtgatggaagagcgtactgaattgctgcgtgcgaacgatcacgaaggct
+taaaagcactggaaaaacagtgtctggcacagaacgcgcaacacaaagactggcattgta
+ctgaagagatgatggaactgacccgtgatggcgaagccctgtacatgcactgcctgccag
+ctgatatcagcggcgtatcctgtaaagaaggtgaagtgactgaaggcgtattcgaaaaat
+accgtatcgctacctacaaagaagccagctggaagccttatatcatcgccgcgatgatcc
+tgtcccgtaaatacgccaaaccaggtgcactgctcgagcaactgctgaaagaagcgcaag
+aacgcgtgaaataacccctcgggccgatcagctggtcggccctctatttccagaggccaa
+aaggataggatatgtccgttttctcattgaagattgatatcgccgataacaaatttttca
+acggcgaaacatcaccgctcttttcgcaaagccaggccaaactggcgcgccagttccacc
+agaaaatagctggttatcgcccaacaccgctttgtgcgctggacgatctcgcaaaccttt
+ttggtgtgaagaaaattctcgtcaaagacgaatcaaaacgattcggtctgaacgccttca
+aaatgcttggcggtgcgtacgccatcgctcaattattgtgtgaaaaatatcatcttgata
+tcgaaacgctgtcatttgagcacctgaaaaatgccatcggcgaaaaaatgactttcgcga
+ccaccaccgacggcaaccacgggcgcggtgtggcgtgggcagcacagcaactcggacaga
+atgcggtgatttacatgccgaaaggttctgctcaggaacgcgttgacgccattctgaacc
+tcggtgccgagtgcatcgtcacggatatgaactatgacgataccgttcgcctgaccatgc
+aacacgcgcagcagcacggctgggaagtggtacaggacacggcatgggaaggttacacca
+aaatcccaacctggatcatgcaaggctacgcaaccctggcagatgaagccgtcgagcaaa
+tgcgtgaaatgggcgtaaccccgacgcacgttctgctgcaagccggtgtcggagcaatgg
+ccggtggtgtgctgggttatctggtcgacgtctatagcccgcaaaatctgcacagcatta
+ttgttgaacctgacaaagctgactgtatttatcgctccggcgtcaaaggcgacatcgtca
+acgttggcggtgatatggccaccatcatggcaggcctggcctgtggcgaacctaacccgc
+tgggctgggaaatcctacgtaactgcgccacccaattcatctcctgccaggacagcgttg
+ccgcattaggtatgcgcgtgctgggtaatccgtacggcaacgacccgcgcatcatctccg
+gtgaatccggcgctgtcggtttgggcgttctcgcagcggttcattatcacccgcaacgtc
+aaagcctgatggaaaaactggcgctgaacaaagatgccgtggtgctggttatcagcactg
+aaggcgacaccgacgtgaagcactaccgcgaagttgtctgggaaggcaaacacgctgtag
+caccttaatcaccctattggaactgctccctgcaaaacggggagtaaaaaatctggagaa
+aaataatggctaagaatattccattcaaactgattcttgaaaaagcaaaagattaccagg
+cggatatgactcgcttcctgcgcgacatggttgctattcccagtgaaagctgcgacgaga
+aacgcgtagtacatcgtattaaagaagagatggaaaaagtcggcttcgataaagttgaaa
+tcgacccgatgggcaacgttctcggttatatcggccacggcccgcgtctggtggcaatgg
+acgctcatatcgataccgtcggcattggcaacatcaaaaactgggacttcgatccgtacg
+aaggcatggaaactgatgaactgattggtggtcgcggtacttccgaccaggaaggtggca
+tggcctctatggtttatgccggtaaaatcattaaagacctcggtctggaagatgaatata
+ccctgctggttaccggtacggtgcaggaagaagactgcgacggtctgtgctggcagtaca
+ttattgaacaatccggcattcgcccggaatttgtggtcagtaccgaaccaaccgactgcc
+aggtataccgtggtcagcgcggtcgtatggaaattcgtattgatgttcagggtgttagct
+gccacggttctgcaccagaacgcggtgataacgccattttcaaaatgggtccgattcttg
+gcgaattacaagaactctcccaacgtctgggttatgacgaattcctcggcaaaggcaccc
+tcaccgtttctgaaatcttcttcacatccccaagccgttgcgctgtagcagacagctgcg
+cagtttcaatcgaccgtcgtctgacctggggcgaaacctgggaaggcgcgctggacgaaa
+tccgcgccctgcctgcagtacagaaagctaacgcggttgtttctatgtacaactacgacc
+gtccgtcctggactggcctggtttacccaaccgaatgctacttcccgacctggaaagtgg
+aagaagatcacttcaccgttaaagcactggtgaatgcctacgaagggctgtttggcaaag
+cgccggttgttgataagtggaccttctcaactaacggcgtatctatcatgggccgtcacg
+gcattccggtgatcggctttggcccgggtaaagaacctgaagcgcatgcacctaacgaaa
+aaacctggaaatctcacctggtgacctgtgccgcgatgtacgctgcaatcccgttaagct
+ggctggcaacagagtaattactcttcacttattcccctccggttcgccggagggtttttg
+gagtttgctatgcgcgtattgatcaaaaacggcactgtcgttaacgcagatggacaagcc
+aaacaggatttgctgattgaaagcgggattgttcgccagttgggcaacaatatttcgccg
+cagctcccgtatgaagaaattgatgccactggctgttacgttttccctggcggcgtggat
+gtccatacgcatttcaatattgatgtcggcatcgcgcgcagttgtgatgatttttttacc
+ggtacccgcgcagctgcgtgtggcggtacaacaaccattattgaccatatgggatttggc
+ccaaacggctgtcggttacgccatcaactggaggtttatcgtggttatgccgcccataaa
+gcggtcatcgattacagctttcacggtgtgatccagcacattaatcacgcaatcctcgac
+gaaatcccgatgatagtcgaggaaggactgagcagttttaaactctatttaacctatcaa
+tacaaactcaacgatgacgaggttttgcaggcattacgccgcttgcatgaatccggcgcg
+ctgaccaccgtgcacccggaaaatgatgcggctatcgccagcaagcgggcggaatttatc
+gccgcagggttaaccgcgccgcgctatcatgccttgagtcgccctctggaatgcgaagcg
+gaagccatcgcccgcatgattaacctggcacaaattgccggtaacgccccgctctatatc
+gtgcacctgtctaacggcttaggtctggattatctgcgtcttgcccgtgcgaatcaccag
+ccagtctgggttgaaacctgcccacaatatctcctgttggacgaacgcagttacgataca
+gaagatggcatgaagttcattcttagcccaccgctgcgtaacgtacgcgagcaggacaaa
+ctgtggtgtggcatcagcgatggtgcgattgacgtggtggcaaccgatcactgcaccttc
+tcgatggctcaacgcctgcaaatttctaaaggcgatttcagtcgctgcccaaatggctta
+cccggtgtggaaaaccgcatgcagttactgttttccagtggcgtgatgacgggacgtata
+acaccggaacgctttgttgaattaaccagcgcaatgcccgccaggttgtttggcctgtgg
+ccgcaaaaaggattattagcgcccggttccgacggcgacgtggtgattatcgacccacgt
+cagagccaacaaattcagcatcgccatctccacgacaacgccgactactcgccatgggag
+ggttttacctgtcagggcgcgattgtcagaaccttatcccgtggtgaaacgattttctgt
+gacggcacctttacaggcaaagccgggcgaggtcgtttcctgcgacgcaaaccgtttgtc
+cctcccgtgctctaaccactgccagggatctatacacaatcaagaatgatgagtgaggaa
+aaatgagtaagaaaattgttctcgccctgggcgggaatgcgctgggcgatgacctggccg
+ggcaaatgaaagcggtaaaaattacttctcaggcaattgttgatttaattgcccagggac
+atgaagttatcgtcactcatggtaacgggccgcaggtgggcatgattaaccaggcctttg
+aagctgccgcaaaaactgaagcgcactcgccaatgctgccgatgtctgtctgtgttgcat
+taagccagggttatattggttacgatctacaaaacgctttaagagaagaactgctttctc
+ggggcattaataaacctgtagcaacgctggttactcaggtcgaagtcgacgctaacgatc
+cggcattcctcaacccgaccaagccgatcggttcgttctttaccgagcaagaagcagagc
+aactgacaaaacagggttacactctgaaagaagatgctggtcgcggctatcgccgtgttg
+ttgcctcgccaaaaccggttgatatcattgaaaaagaaacggttaaagctctggtagatg
+caggtcaggtggtgatcaccgttggcggtggtggtatccctgttattcgtgaaggtaacc
+atctgcgtggtgccagcgcggttatcgataaagactgggccagcgcccgtttagcagaaa
+tgattgatgccgatatgctgatcattctgactgcggtagaaaaagtggccattaacttcg
+gtaaagagaatgaacagtggctcgatcgcctgtcattaagtgatgctgaacgctttatcg
+aagaaggtcattttgcgaaaggttctatgctgcctaaagtggaagctgccgcctcgtttg
+ctcgctctcgcgcaggtcgtgaagcactgattaccgtattgagcaaagcgaaagaaggga
+ttgaaggcaaaacaggaacggtgatttgtcagtaatttaaaggccgggtgggtaatacca
+tccggccaaagattgtcaagtaagtgcgctttgttgatgccggatgcggcgcgagcgcct
+tatccgtcctacaaaacatcgcaaattcaatagattgcaatgcacttgtaggcctgataa
+gcgtagcgcatcaggcaatttggcgtttgtcatcagtctcaggccgggtgggtaatacca
+tccggccattttcatttaagccacttccagcacttcttttgtcgctttcacgccctgatg
+catcaacatcattaacgcctcaagtacgccgccgccaatcgcccgggctttatcagaaac
+gctggtgaaatcagcggtttcaccacgaggatcgatatcaccaattttaaaaccaccaac
+cactgccaggccgtcgttcaacaagccacgcaccatccccgtcaacggtgctttaatttc
+atgctcaccaatccaggcaatcacatcgccctctttcaccagatcgcctaatttcacgtt
+ggatcgcataatgcctgcagcaggagcacggatcacccgtcgggtggtatgccccataat
+attgccaggaacaccggtattctcctgcgcacaaccagagtaaatcacctgaccgagcca
+gtgcccgcgatttgtttcaattaccgcatgacaatccttcccagcagtaaagcccggccc
+aagcgcgattgttactggtgccatatctgcccgcgttcccaaattctgtttcgccagaat
+agcgtccaccacgcaaagcggtttcagttcatcaagcaatgaacaggcgggatctaccat
+cacaggaatgaatccgcgttcggtaagtttcatcgcttccgcagagctggttgccaggcg
+agcagtgacgccttcgaccgtcatttcgccatcgaacacggcctgggcaaacgccacggt
+acaacgaatcactgtcggtttttccacttccagcatgatcactttaaaacccgcatgata
+cagacgtagcgccacaccactggcgatatctcccgcaccgcgaatcaccaccagctggtg
+tccggaaggatgagaaggtttcatcatcagcccacccggcgcgttatttttcacctgtaa
+tatttctgccagcacgctgatggcgatctcctgcggcgtttccgcacctatgttgtaacc
+aacgggcgcatgtaaacgggcaatatgttcttcagccacgcctttctcacgcaattgacg
+caggaaaagctgaaccttgcgacgacttgccagcaaccccaaccatgcaatgggctgttc
+aatgagtttgtcgagggcttcacgatcctgattattcgtggcaatcaggacaaaattatc
+agggcgaatatccagtgcttccactgccgcaccaaacgactcagcatggagaagcgtggt
+tgatggtgggaatagttcaggattgaggctttcgcgataaatatcagcaacggcaatatc
+aaatcctaatagcgccgcactctgggctatcgcccggttgacatgccccgcgccaatcaa
+caccagacgtggacgcataccatggacgctgataaatactgacattgcacctccacaatc
+tgacccgacagcatccgcaccgttacgagccatacgtccatggaataatcgcggcttacg
+ttcctgcaatgcctgaagcgactcttcaatcaccttccgctcaaccattccgccaccaat
+tgtaccgacgatagaaccatcggcgcgcactaacatttgtgcagaatggcggggagtcga
+gcctcggctatcaacaatttgcgccatagcaaacggacaattttgctcttcgagttttgc
+agcctctgtgaaaatattcataccaacctcaatggatatcctttcagtaacccggaatac
+ccgggccgctaattcacaaatctgcgcgcgattgcaggatgttcttgtatatcgcccagc
+cagattgcctctacgtcgtgttgttgcagcggttgaaggagctcgctttgtgcaatcgca
+ttctcacattgagaaaaacggttaatgaaccagactcgccgacaaccttgcggtacgttt
+ttaaacgccccctgagggtggcgaaccagcgcaacgagatcgctcagttgcaaggttgca
+tcaggtgttaacccggtaatatcagcaaactgcgaccagcgatggacattttctgtgctc
+actttcgcgcccaaagtatgtcctcccatcacagcaatcacgcagcaactgcttttgggt
+atgcaaggttcgtgctcatcaggcgcttttaacggcattccacgcgagccatctgcttca
+atgagaattacgtcacactctggtcgttgcaccagtgcatcaatcgcttctggcgtaaat
+ccctgcacttttccctggttcgctttccagctgtgaaaacaaaatgaaatgggggatgta
+agagacgcatgaggaagcatggcgggatcacgacagaaaaccacgggccagtgagacgtt
+ggcataaacatatgtgtcgtcgtcgtgattaacacacgcctgccgctagcctggagcagt
+tctgccagccaaaaaagcaagctggttttccccccagcaccaacaacagaaatcacagtg
+ggacgtttctgcgcacctaaatcaatgactaatgccgatgggtcaactatacttttcacg
+agtctttatgacctctctgggataaattatccccaacttaatccatcaggaagtaacgca
+attatcaggcgttattagcccctataaataatggaaccactatgtcagccatcgactgta
+taattaccgctgccggattatcatcaagaatggggcaatggaaaatgatgttaccctggg
+aacagggaacaattcttgatacaagtatcaaaaatgcgttgcagttttgtagccgaatta
+ttttagtcaccggctatcgtggtaatgaactgcacgaacgttatgcgaaccagagcaata
+tcactattattcacaacccagattatgcgcagggtttactaacatccgtcaaggccgcag
+tacccgcagtgcaaacagaacattgttttctcacccacggtgacatgccaaccctcacca
+tcgatatttttagaaaaatctggtcgttacgaaatgatggcgcaatactgccactccata
+atggcatccccggccatccgattttagtgtcaaaaccatgcctgatgcaggcaatccaac
+gacccaatgtcaccaatatgcgtcaggcactccttatgggagatcattattccgtcgaaa
+tagaaaatgcagaaataattttagatattgatactccggacgactttattacagcgaagg
+aaaggtatactgaaatttagaaaacgtagttaaacgattgcgttcaaatatttaatcctt
+ccggcactcattatcataatgataaggaatcactgattttgagaaaagagaaaaattgat
+aaatgggctggcaataataattttcaggagtgattttaattctcatttagcacctgtgag
+ttcattcacaaaaagcccttaagtttcgagccgcctcacatttttttatatttcccgcca
+aacctggcaagagtggtgcgattgttgctctatccccctaaaccaccggatttctcaaca
+ccggtcactcaatgatatctgtataagctaaggagagggttatgggggatattatgcgtc
+ccattccgtttgaggaacttttgacgcgcatatttgatgaataccaacaacaacgctcaa
+tctttggtattcccgagcaacagttttactcacctgtaaaaggtaaaactgttagcgtct
+tcggtgaaacctgtgccactcccgtcggccctgccgctggcccgcacacgcagctcgcgc
+aaaatattgtcacttcctggctgactggcggacgcttcatcgaactaaaaaccgtccaaa
+ttcttgaccgcctggagctggaaaagccctgtatcgatgccgaagacgagtgctttaaca
+ccgaatggtctaccgagtttaccctgcttaaagcctgggatgaatacctcaaagcctggt
+ttgccctgcaccttctcgaagcgatgttccagccttctgattccggtaaatcgttcatct
+ttaatatgagcgtcggttacaacctcgaaggtattaagcaaccgccgatgcaacagttca
+tcgacaatatgatggacgcatctgaccatccgaaattcgctcaatatcgcgatacgctga
+ataaattactccaggatgacgcatttttagctcgccacggattgcaggaaaaacgcgaaa
+gcttgcaagccttacccgctcgcatccccaccagtatggtgcatggcgtcaccctctcca
+ccatgcacggctgtcctccgcatgaaatcgaagccatttgccgctacatgctggaagaaa
+aagggctcaacacctttgtgaaacttaacccgaccttactggggtacgcgcgtgttcgtg
+agatcctcgatgtctgcggtttcggttacataggcttaaaagaagagtcatttgatcacg
+acctcaagctgacgcaagcactggaaatgctggaacgcctgatggcactggcaaaagaaa
+aatcactcggctttggcgtaaaactgactaacactctcggcaccatcaacaataaaggcg
+cactgcctggtgaagagatgtatatgtcaggccgtgcgctgttcccgctctccatcaatg
+ttgcagcagttctctctcgcgcctttgacggcaaactgcccatttcttattccggtggtg
+ccagtcagctgactatccgcgatatttttgatacaggtattcgccctattactatggcaa
+ccgacctgctgaaacctggcggctatctgcgcttaagtgcctgcatgcgcgagctggaag
+gctccgacgcctggggacttgaccatgttgacgtcgaacgactgaacagactggcagcag
+atgcgttaaccatggaatacacccagaaacactggaagccagaagagcgtattgaagtgg
+cagaagacctgccgctgaccgactgctacgttgccccctgtgttactgcctgcgctatca
+agcaagatattccggaatacatccgtctgcttggcgaacaccgctatgccgacgcgctgg
+aactcatctaccaacgcaacgctctgcccgccattaccggtcatatttgcgatcaccagt
+gccaatacaactgtacccgcctggattacgacagtgcgctgaatatccgcgaactgaaaa
+aagtcgcgctggaaaaaggttgggatgaatataagcaacgctggcacaaaccagccggtt
+ctggttcacgccatccggttgccgtgattggtgcaggtccggcgggtctggcagcaggtt
+acttccttgccagagcgggccatccggttacgctgtttgaacgcgaagccaatgcgggcg
+gcgtggtgaaaaatatcattcctcagttccgtattcctgcagagttaattcagcacgata
+tcgattttgttgccgctcacggcgtgaaatttgagtatggctgctcacccgatttaacca
+ttgagcagttaaaaaatcagggcttccactatgttctgattgccaccggcactgataaaa
+atagcggtgtgaaactggcgggcgacaaccaaaatgtctggaaatcactccccttcctgc
+gtgaatacaacaagggtacagcgctcaagctgggcaaacatgtggtcgttgtcggggcgg
+gtaacaccgcaatggactgcgctcgtgcggcgttacgcgttccaggcgtagaaaaagcaa
+cgatcgtttaccgtcgttcactacaagagatgcccgcatggcgcgaagagtatgaagaag
+cgttgcacgacggcgtagagttccgtttcctgaataatccggaacgtttcgatgctgatg
+gcaccttaaccttgcgcgttatgtcgcttggcgaaccggatgagaaaggtcgtcgtcgtc
+cggttgaaaccaatgaaacagtaacactgcttgtagacagcctgatcaccgccattggtg
+aacagcaggatactgaagccctgaatgcgatgggcgtgccgctggacaaaaacggctggc
+cagacgtcgaccataatggcgaaactcgtctgactgacgtctttatgatcggcgacgtac
+agcgcggaccatcctccattgtcgctgctgtcggaaccgcgcgtcgggcgaccgatgcca
+tccttagtcgggaaaatatccgttcccaccagaacgataaatactggaacaacgtcaatc
+cagcggaaatctatcaacgtaaaggcgatatctctatcacgctggtgaacagtgacgatc
+gtgacgcgtttgtcgcccaggaagccgctcgctgcctcgaatgtaactacgtttgcagca
+agtgtgtggatgtctgcccgaaccgcgccaacgtctccattgcggtcccaggcttccaga
+accgtttccagacgctgcacctcgacgcttactgtaacgaatgcggcaactgcgctcagt
+tctgtccgtggaacggtaaaccgtacaaagacaaaatcaccgtcttcagcctggcgcaag
+actttgataacagcagcaacccaggcttccttgtggaagattgccgggtacgagtacgtc
+tgaataaccaaagctgggtgttaaacatcgacagcaaaggtcagtttaacaacgtaccac
+cggagctgaacgatatgtgccgcatcatcagccatgtccaccagcatcatcattatctgc
+tgggccgcgtggaggtgtaatcatgttgattctgaagaatgtcactgcggtacagctaca
+cccggcaaaagtgcaggaaggcgttgatatcgccatcgaaaacgatgtgattgtcgctat
+cggcgatgccctgacgcaacgctaccccgacgccagcttcaaagagatgcatggccggat
+tgtgatgccagggattgtctgctcgcacaaccatttttactcggggctttcccgcggaat
+tatggcaaacatcgccccttgcccggatttcatctcaacgctgaaaaatctctggtggcg
+gctcgatcgcgcccttgatgaagagtcgctctattacagcggactgatttgttccctgga
+agcgattaagagcggatgtacatcggttatcgatcaccatgcctctccggcgtatatcgg
+cgggtcgctctccacattgcgcgacgcatttttaaaagttggcctgcgcgcgatgacctg
+ttttgaaactactgaccgtaacaacggcatcaaagagttgcaggaaggtgtagaagaaaa
+catccgtttcgcccgtttgattgatgaggcgaagaaagcgacaagcgagccgtatctggt
+ggaagcacatatcggtgctcacgcgccgtttaccgtgccggatgccggtctggagatgct
+gcgtgaagccgtgaaagccacaggccgtggtttgcatattcacgctgcggaagaccttta
+cgacgtttcctacagtcaccactggtacggcaaagacctgctggcacgactggcgcaatt
+cgatctcatcgacagcaaaacgctggtcgctcatgggctgtacttgtcgaaagatgacat
+caccctactcaatcagcgcgatgcgttcctggtgcataacgcccgttcaaacatgaacaa
+ccatgtcggctacaaccatcaccttagcgacatccgcaatctggcgttgggaacggacgg
+cattggttcggacatgtttgaagagatgaaatttgccttctttaaacatcgcgatgcggg
+tggtccgctgtggcctgacagttttgccaaagccctgactaacggtaacgaactgatgag
+ccgcaactttggcgcgaaatttgggcttctggaagccggttacaaagctgatttaaccat
+ttgcgattacaactcgccgacgccgctgctggcagacaatatcgccgggcatatcgcttt
+cggtatgggctcaggcagcgttcacagcgtgatggtcaatggtgtgatggtctatgaaga
+ccgtcagtttaacttcgattgcgattccatttatgcacaagccagaaaagccgctgccag
+tatgtggcgtcggatggatgcgctggcataaatgacagatgccctcttcccgcagggaag
+agggttaaataaggaaagaagatgattgaacaatttttcaggcccgactctgtcgaacag
+gcgctggaactgaagcgccgctaccaggatgaagccgtctggttcgccgggggcagcaaa
+ctcaatgctacaccaacccgtaccgataaaaagattgccatttccttacaggatctggaa
+ctggactgggttgactgggataacggtgcactgcggattggcgcaatgtctcgcttgcag
+ccactgcgtgatgcgcgatttattcctgcagcgctgcgtgaagccctcggttttgtttac
+tcacgccatgttcgtaatcagtcgaccattggtggtgaaatcgccgcccgccaggaagag
+tcggtgctgcttcccgtcctgttggcactggatgctgaactggtttttggcaacggcgaa
+acgctgtcaatcgaggactacctggcctgcccatgcgatcgcctgctaaccgaaattatc
+attaaagatccgtatcgcacctgtgcgacccgcaaaattagccgttctcaggcaggttta
+accgtcgtgacggcagccgttgcaatgacagaccacgacggtatgcgaattgcgctggat
+ggcgtcgccagtaaagcactgcgtctgcatgatgtcgaaaaacaaaatctggaaggcaat
+gcacttgaacaggctgtcgccaacgccattttcccgcaggaagatttgcggggcagcgtg
+gcctataaacgctatatcacgggagttctggtagccgacctgtatgccgactgccaacag
+gctggggaggaagccgtatgatcatccactttactttaaatggcgcgcctcaggagctaa
+ccgttaatccaggcgaaaacgtgcaaaagctgttgtttaacatgggaatgcactctgtac
+gcaacagtgatgatggtttcgggtttgccggttctgacgcaataatctttaacggtaata
+tcgttaacgcgtccttgcttattgccgcacagttagagaaggcagatattcgtaccgcag
+aatctctgggcaaatggaacgagttaagtctggttcaacaggcaatggttgatgttggcg
+tggtgcagtctggttataacgatccagctgcagctctgattatcaccgatcttctcgatc
+gcatcgccgcacctacccgcgaagagatcgacgacgcgctttctggtttgttcagccgcg
+atgctggctggcagcaatactatcaggtcattgaactggcggttgcacgtaaaaataatc
+cgcaggccaccattgatatcgctccgactttccgtgacgacctagaagtcattggtaagc
+attatcctaaaactgatgccgcgaaaatggtgcaggcgaaaccctgctatgttgaagacc
+gcgtaacggctgacgcctgcgtcattaaaatgttacgtagcccacacgctcacgcactga
+ttactcatctggatgtcagcaaagctgaagccttaccgggcgtcgttcacgttattactc
+acctgaattgcccggatatctactataccccgggtggtcagagcgcaccggaaccgtcac
+cgcttgaccgccgtatgttcggcaagaaaatgcgtcacgtcggcgatcgtgttgctgcgg
+tcgtcgcagaaagtgaagaaattgcgctcgaagcactgaagctcatcgacgttgaatatg
+aagtgcttaagccggtaatgtcgatcgacgaagcaatggcggaagatgcgcctgtcgtgc
+acgatgaaccggtggtgtatgttgctggtgcgccagatactctggaagacgataacagcc
+atgcagcccagcgcggcgagcatatgatcatcaacttcccgatcggttctcgccctcgca
+aaaatatcgccgccagtattcatggtcatattggcgatatggacaaaggctttgccgatg
+ccgatgtgatcattgagcgaacctataactcaacgcaagcgcagcagtgcccgactgaaa
+cacatatctgctttactcgtatggacggcgatcgtctggttatccacgcctccacccagg
+taccatggcacttacgccgccaggtcgcgcgcctcgtgggcatgaaacagcataaagttc
+atgtcattaaagagcgagttggcggcggttttggttccaaacaggacatcctgctggaag
+aagtgtgcgcctgggcaacctgcgtgaccgggcgtccggtactgttccgctacacccgtg
+aagaagagtttattgctaacacctctcgtcacgtcgcgaaagtcaccgtcaaactgggag
+cgaaaaaagatggtcgcctgacggcagtgaagatggatttccgcgccaacactggccctt
+acggcaaccactcactcaccgtaccgtgtaacggaccggcgctgtcgctgccgttatatc
+cgtgcgataacgtcgatttccaggtcaccacctactacagcaacatttgcccaaatggtg
+cttatcagggttatggcgcaccgaaaggtaacttcgctatcaccatggcattagcggaac
+tggctgaacagttacagatcgaccaactggaaattatcgaacgtaaccgggtacacgaag
+ggcaagagctgaaaattctcggtgcaatcggtgaaggtaaagcgccgacctccgttcctt
+ccgccgccagctgtgcactggaagagatcctgcgtcagggtcgcgagatgatccaatggt
+cgtcaccgaaaccgcaaaatggtgactggcacatcggtcgcggcgtcgccattatcatgc
+agaaatcgggtatcccggatatcgatcaggctaactgcatgatcaaactggaatcggacg
+gcacctttatcgttcattctggcggtgcggatattggtactggtctggatactgtagtga
+cgaaactggcagcagaagtgctgcactgcccaccgcaggacgtgcatgttatctccggtg
+ataccgatcatgcgttgtttgataaaggcgcatatgcctcgtccggtacttgcttctcgg
+gtaacgcggcgcgtttggcagcggaaaatctacgggagaaaattctgttccacggcgcgc
+aaatgttgggtgagccagtggcagatgttcaactggcaacgccgggcgtcgtgcgcggca
+agaaaggcgaagttagtttcggggatattgcccataaaggcgaaaccggcaccggctttg
+gttcactggtgggaactggcagttatatcacgcctgatttcgccttcccgtatggcgcaa
+acttcgctgaagttgccgtcaacacgcgtacgggtgaaatccgcctggataaattctacg
+ccttgctggactgcggtacaccggtcaatccagagttagcgttgggacaaatctacggtg
+ccaccctgcgtgctatcggccacagtatgagcgaagagatcatttatgacgccgaaggtc
+acccgttaacgcgtgatttacgcagttacggcgcaccgaaaattggtgacattccgcgtg
+atttccgcgctgtgctggtgccgagcgacgataaagtcggcccgttcggggcgaaatcga
+tctcggaaatcggtgtaaatggcgcagctccggcgattgctaccgcaattcacgatgcat
+gcggcatctggttacgcgaatggcatttcacaccggagaaaatactcactgcgctggaaa
+aaatataaataataaatggccgcttcggcggcctgtttctctgtttgaacgatgactaaa
+tagtgactgcgaaaatgagataagccgttctcaaggcgtcctgcgccccaaattcgtggg
+aatttattttactaattcagatgatcaaatttactttaaaaggagtgaagggatgtctga
+tataaaccatgcaggttctgaccttatatttgaactggaggatcgccctccctttcatca
+ggctctcgttggtgccattacccatctgttggcaattttcgttccgatggtaacccccgc
+gttaatcgtgggtgcggccttacagctttccgctgaaacaactgcctatcttgtttctat
+ggcgatgatcgcctctggtattggtacctggttacaagtaaaccgctacggcatcgtcgg
+ttctggcctactctcaattcagtcagtcaatttttcatttgttacggtcatgattgcgct
+gggcagcagcatgaaaagcgacggttttcacgaagagttaatcatgtcgtcgcttctcgg
+cgtctccttcgttggcgcatttctggttgtcggatcttcatttatcttgccctatttacg
+tcgggttattacgcctaccgtcagcggtattgtggtactgatgatcggcttaagcctgat
+taaagtcggcattatcgattttggtggaggatttgcagccaaaagcagcggtacgttcgg
+caattacgaacatctcggcgttggtttattggttttaattgtggtgatcggctttaactg
+ctgtcgcagtccgttgctacgcatgggagggatcgccattgggctatgtgtcggctatat
+cgcatcgttatgcctgggcatggtggatttcagcagtatgcgcaatttgccgttaatcac
+catcccgcatccgttcaaatacggctttagttttagcttccatcagttcctggtggttgg
+cacgatttatctgcttagcgtgctggaagcagtcggcgatatcaccgccacggcaatggt
+ttcccgccgccccattcagggggaagagtatcagtcccggctgaaaggcggcgtgctggc
+agatggtctggtttctgttatcgcctccgctgtcggttcattaccattaaccacgtttgc
+gcaaaataatggggttattcagatgactggcgtcgcttcacgttatgtcgggcgaaccat
+cgcggtaatgctggttatcctcggcttatttccgatgattggcggcttcttcacgaccat
+tccctcggcagttctgggaggcgcaatgacgttgatgttttccatgattgccatcgcagg
+gattcgcatcatcatcaccaacggtttaaagcgccgtgaaacacttattgtcgccacttc
+tttaggtttagggcttggcgtctcctacgatcccgaaatttttaaaatattgccagcctc
+tatttatgtattagttgaaaaccctatttgtgctggcgggttaactgcgattttattaaa
+tattatcctccctggtggctaccgacaggaaaacgttctgcctggtattacctcagcgga
+agagatggattaacagtaaaggagtcaatgatgtcaggagaacacacgttaaaagcggta
+cgaggcagttttattgatgtcacccgtacgatcgataacccggaagagattgcctctgcg
+ctgcggtttattgaggatggtttattactcattaaacagggaaaagtggaatggtttggc
+gaatgggaaaacggaaagcatcaaattcctgacaccattcgcgtgcgcgactatcgcggc
+aaactgatagtaccgggctttgtcgatacacatatccattatccgcaaagtgaaatggtg
+ggggcctatggtgagcaattgctggagtggttgaataaacacaccttccctactgaacgt
+cgttatgaggatttagagtacgcccgcgaaatgtcggcgttcttcatcaagcagctttta
+cgtaacggaaccaccacggcgctggtgtttggcactgttcatccgcaatctgttgatgcg
+ctgtttgaagccgccagtcatatcaatatgcgtatgattgccggtaaggtgatgatggac
+cgcaacgcaccggattatctgctcgacactgccgaaagcagctatcaccaaagcaaagaa
+ctgatcgaacgctggcacaaaaatggtcgtctgctatatgcgattacgccacgcttcgcc
+ccgacctcatctcctgaacagatggcgatggcgcaacgcctgaaagaagaatatccggat
+acgtgggtacatacccatctctgtgaaaacaaagatgaaattgcctgggtgaaatcgctt
+tatcctgaccatgatggttatctggatgtttaccatcagtacggcctgaccggtaaaaac
+tgtgtctttgctcactgcgtccatctcgaagaaaaagagtgggatcgtctcagcgaaacc
+aaatccagcattgctttctgtccgacctccaacctttacctcggcagcggcttattcaac
+ttgaaaaaagcatggcagaagaaagttaaagtgggcatgggaacggatatcggtgccgga
+accactttcaacatgctgcaaacgctgaacgaagcctacaaagtattgcaattacaaggc
+tatcgcctctcggcatatgaagcgttttacctggccacgctcggcggagcgaaatctctg
+ggccttgacgatttgattggcaactttttacctggcaaagaggctgatttcgtggtgatg
+gaacccaccgccactccgctacagcagctgcgctatgacaactctgtttctttagtcgac
+aaattgttcgtgatgatgacgttgggcgatgaccgttcgatctaccgcacctacgttgat
+ggtcgtctggtgtacgaacgcaactaataataaaactttaacatcctcgtgaggacatca
+ttatgtctggagacatcctacaaacaccggacgcaccaaagccacagggcgcgctggata
+attattttaaaattaccgctcgtggcagtaccgttcgtcaggaagtactggctggcttaa
+cgacctttctggccatggtttattccgttatcgtcgttccgggaatgctgggcaaagcag
+gttttcctcccgcagctgtgtttgttgccacctgtctggtcgcgggcttcggctcgttgc
+tgatgggattatgggctaatttgccaatggcgattggttgcgcgatttccttgacggcgt
+ttaccgcattcagtctggtactcgggcaacaaattagcgttcctgtcgcactgggcgcgg
+tatttctgatgggcgtcatcttcaccgccatttccgtaaccggtgtgcgtacctggatct
+tacgtaatttgccgatgggtatcgctcacggtacaggtatcggtatcgggctgtttctgc
+tgctgattgctgctaacggtgtgggtatggttatcaaaaacccgattgaaggcttgccag
+tggcgctcggtgcgtttacctccttcccggtgatgatgagcttgctggggctggcggtca
+tcttcggcctggagaagtgtcgcgtacccggcgggatcttgttggtgattattgcaattt
+cgatcatcggcttaatctttgacccagcggtgaaataccacggtctggtggcgatgccaa
+gcctgactggcgaagatggtaagtctctgattttcagcctcgatattatgggtgcactcc
+agccaactgtacttccgagtgtactggcattggtgatgaccgcagtgttcgacgctactg
+gcaccatccgtgccgtcgccggtcaggcgaatttgttggataaagacaaccagatcatca
+acggcggcaaagccctgaccagtgactcagtaagttcaatattctccggcctggtgggcg
+cagcgcccgcagcggtttatatcgaatcagcggcaggaaccgccgccgggggtaaaacag
+gtttaaccgcaaccgtagtgggggcgttattcctgttaattctgtttttatcaccgctgt
+catttttgatccctggttacgccactgcacccgctctgatgtacgtaggtttgctgatgt
+taagtaacgtctcgaagctggatttcaatgattttattgacgctatggctggcctggtgt
+gtgccgtgttcatcgttctgacttgtaatatcgttaccggtattatgctgggctttgtga
+cactggtcgtaggccgcgtctttgcacgcgaatggcaaaagctgaatattggtacggtga
+tcattactgccgcactggtcgcattttacgcgggtggttgggcaatctaatagattctcc
+gcgcctttcagcgcggagatttctttcagagaggattctcaccgctggcaacaatacgct
+gctggcggactcgcctgagttctctttcagtaagcaactgcagcgcctgtgttgggcaag
+attcaacgcaggctggcccctcttcccgctgttcacagagatcgcatttcacaatttgtt
+gtcgggtatcccccggcaacgactgaatggtgatcattccaaacgggcacgcactgacgc
+aactctgacagccaatacaacgggcagaattggtctgcaccacctgctcgcccatcgtca
+gcgcccccacggggcaagcgccaacacaaggggcgttttcacactgatggcacatcaccg
+gcgcactgatgctgtccagtcgctgtaccttcagccggggtaaaaagacatcggcattca
+actcctgttctgaagggtgagcgaccacacaggctacttcacaagtacggcagccaatac
+agtcagccggattaacgataattaacgatttcatcacgatgccttcgtatcaaacagagt
+taacatatcgcgcgccgcctgccttcctgcggccattgcagtgacaaccagatccgcgcc
+atgaactgcatcaccaccagcaaagacttttttcagatgcgtctgggtaggtaaataccc
+gacgtcaccggtttgaatcaggccccatttatcgagtttaattccgctgccctgcaacca
+cggcatggcatgcgcctggaaaccaaaggccataatcagaacatcggcgggcaattcaaa
+ctctgaacccgctaccggacgaggacgacggcgaccatccggccccggctcacccatggc
+ggtacgaatcaggcccaccgcagttaaacgcccatcttcgtcacaagcgatatattgcgg
+ttgaacattgaactgaaactcgacaccttcctcgcgcgcattaaccacctctttgcgcga
+gcccggcatactgacttcatcacgacgatacgcgcaggtcacgctggcggcattgaggcg
+gatggaagtccgcaaacaatccattgtcgtatcgccaccgcccaataccacgactcgctt
+accttccacgtccgtcagcggatactcttcagactccggcaatcccatgagctggcgggt
+atgggcagtcaggaacggtagagcctgaatgacaccgggcgcatcttcatgcggcagatc
+tgctcgcatcatcccgtaagtccccacgccgatgaaaactgcatcatattcagaagttaa
+atcgctaaaggtaatatcgcggccaatttcacagttaagatgaaagtcgattcccattgc
+ggtgaatatctctcgccgctggcttaataccgttttatcgagtttgaaaggaggaatgcc
+aaaagtcagcataccgccaatttctggatggcgatcaaagacatcgacctgaactcctgc
+gcgcgccagaatatcagcacaccctaaccctgcaggcccagcgccaatcaccgccacttt
+ttcgctacggggaacaactttgctgacatcgggacgccagcccatcgccagcgcggtatc
+ggtgatgtagcgttccagattaccgatagagactgcgcccgagtgatctttcaaagtaca
+tgcgccttcacaaagacggtcctgtggacataccctgccgcaaatttctggtaaggaact
+ggtctggtggcaaagttctgccgcttcaataatctttccttcctgtaccagacggatgta
+atccggaatagcgttatgcagcgggcaatgccagttgcagttagctttttcggcacaata
+aacacagcggtcactctcataagtcgcttgttgtggatccagcccgcaatatatttcgcc
+aaagtgggttttccgttcactcgctgaaattttatctgcgcctttacgcgagttaacggg
+gagcaacgctgcactgcgagatggctgagcgtctgatgacgcttttcctgctgccgtttt
+gcgctggcgggccacctttatctgctgcaaccctttatcgtccatcagtcgtaacgcctg
+tgttgggcaaacttcaatacaggcttgcgtgccggaactgcgctggttacaaaggtcgca
+tttctgcgcaatcgtatcgaccatctcaacgacgccaaaggggcaagcgattgcgcatct
+tttacaaccaatacatttttgctcgtccagttgtacgctatcggactggaaagtcagagc
+attaaccggacaagccgtaacgcaaggggcattgttgcagtgatggcaggccaccggatt
+cgcagcctggcctttccctacaacgtggatacgcggtcgaaagtcactgtgactcagcgg
+ccagttttcttgattgtgtgccaccgcacaggcaatttcacaagcatgacagcctataca
+ttccgcagcttcagcagcaataaacttattcatttgcatccctttcatttaatgagttat
+gtcttctcaaatttcgcgatgcaataaacgggcatatattaggtagcatgaccgttttaa
+ttataattttgcgactgagttcaaattattgcccctcaatctatgccgctttcattattt
+caacattgccgatcaaaagagcgctatccagataaaaacgattaaatgcgagagtgcgac
+atgccagaatgattaatgaaatatcaatatgagaaaattacagataattccattgtcagg
+ttctcttctcattttcgtggtttaaccacgattatgtgattgcctccgcaattcctgtct
+ctaactccccttcctcgcaaaaactggcactccacgagcatgtgtttagacagtttcatt
+aacgtaaacggttgctttttactctggcgggcgaaaggagaaacactgatgagcgccata
+gattcccaacttccctcatcttctgggcaagaccgcccaactgatgaggttgaccgcata
+ttatcaccaggaaagctgatcatactcggtctgcaacacgtccttgtcatgtacgcaggt
+gcagtcgctgttcctcttatgattggtgaccgactgggcctctcaaaagaagctattgcg
+atgctcattagctcggatctcttttgctgcgggatcgtcacattattgcaatgtatcggt
+atcggccgctttatggggatccgcctgccggtgattatgtcggtgacctttgctgctgta
+acaccaatgatagccattgggatgaacccggatatcggcctgctggggatatttggtgcc
+actatcgccgcgggttttatcaccacattattagcgccacttatcggtcgcttgatgcct
+ttattcccgccactggttaccggtgtggttattacttctatcgggcttagcatcattcag
+gtgggtattgactgggccgccggaggtaaagggaatccgcaatatggtaatcccgtttat
+ttaggtatctcctttgccgtcttaatttttatcttgctcattactcgctatgcgaaagga
+tttatgtccaacgtcgccgtattactggggattgtatttggctttttactttcgtggatg
+atgaatgaagtcaatttatccgggctacatgatgcttcatggtttgcgattgttacgccg
+atgtcgtttggtatgccgattttcgatcccgtttccattctgaccatgactgccgtgtta
+atcatcgtgtttatcgagtcaatggggatgttcctggcactgggtgaaatagtcggtcgt
+aaactctcttcgcacgatattattcgcgggctgcgtgtcgatggcgtagggacaatgata
+ggcggcacgtttaacagcttcccccacacgtcattttctcaaaacgttggcctggttagc
+gtgacgcgcgttcatagccgctgggtgtgtatttcttcgggaattatattaatcctgttt
+ggcatggtgccaaaaatggcggtgctggtagcctccattccgcaatttgtgctgggcggc
+gctggtctagtgatgttcggcatggtactggcgacagggattcgaattctgtcgcgctgt
+aactacaccaccaaccgttacaacctctatattgtggcgatcagtctcggcgttggcatg
+actccgacgctctctcacgatttcttttctaagttaccggccgtactgcaaccgctgcta
+catagcggcattatgctcgcaacccttagcgccgttgtgctgaacgtcttctttaatggc
+tatcagcatcatgctgacctggtgaaggaatccgtctctgataaagatttaaaagtcagg
+acagtacgtatgtggcttctgatgcgcaagctgaagaaaaatgagcatggagaataatat
+gaattttttaatgcgcgctatattcagtctgttgttgctttttactctctctattcctgt
+catttctgactgtgttgcaatggccattgaaagtcgcttcaaatatatgatgctactttt
+ttaaatggtttttacctgtcggcatccgctcaaaacgggcggttgtcgataaacgctcac
+ttggttaatcatttcactcttcaattatctataatgatgagtgatcagaattacatgtga
+gaaattatgcaaacggaacacgtcattttattgaatgcacagggagttcccacgggtacg
+ctggaaaagtatgccgcacacacggcagacacccgcttacatctcgcgttctccagttgg
+ctgtttaatgccaaaggacaattattagttacccgccgcgcactgagcaaaaaagcatgg
+cctggcgtgtggactaactcggtttgtgggcacccacaactgggagaaagcaacgaagac
+gcagtgatccgccgttgccgttatgagcttggcgtggaaattacgcctcctgaatctatc
+tatcctgactttcgctaccgcgccaccgatccgagtggcattgtggaaaatgaagtgtgt
+ccggtatttgccgcacgcaccactagtgcgttacagatcaatgatgatgaagtgatggat
+tatcaatggtgtgatttagcagatgtattacacggtattgatgccacgccgtgggcgttc
+agtccgtggatggtgatgcaggcgacaaatcgcgaagccagaaaacgattatctgcattt
+acccagcttaaataaaaaaaccccgacatttgccggggttgtgagcataacgtaatgctt
+attttaccggacgcatcgccgggaacagaataacgtcgcggatggtatggctgttggtga
+acagcattaccatacggtcgataccaattcccagacctgctgtcggcggtaagccatgtt
+ccagtgcggtgacgtaatcttcatcgtagaacatcgcttcgtcgtcacctgcgtctttcg
+cggcaacctgatccaggaagcgttgcgcctgatcttccgcgtcattcagctcgctaaagc
+cgttaccgatttcacgaccaccaatgaagaactcaaagcggtctgtgatttccgggttaa
+cgtcgttacgacgcgccagcggagaaacttctgccggatattcagtaatgaaggtcggct
+gaatcagatgtgcttctgccacttcttcgaagatctcggtaacgatacggcccagacccc
+agctcttctcaacgtggatgccgatagattcagcaattgctttcgcagagtcgaagttgt
+ccagatccgccatgtcggtttccgggcgatatttcttgatcgcttcacgcatggtcagtt
+tttcgaacggtttaccgaagtccagcgtcacgtcgccgtaggtcacttccgtcttaccga
+gaatatcctgtgccagagtacggaacagcgattcggtcagctcgatcagatctttgtaat
+ctgcgtaagccatgtagagttccatcatggtgaactctgggttatgacgtacggaaatac
+cttcgttacggaagttacggttgatttcgaatacacgctcgaagccaccaaccaccagac
+gcttgaggtacagttccggcgcgatacgcaggtacatgtcgagatccagcgcgttatggt
+gggtgataaacggacgcgcagcggcaccgccagggatcacctgcatcatcggcgtttcaa
+cttccataaagccgcggttcaccatgaactggcgaataccagagaggatctgcgagcgca
+ctttaaaggtgttgcgggattcatcgttggagatgagatcgagataacgctgacgatagc
+gcgcttcctgatcctgcaagccgtggaatttatccggcagcggacgcagtgctttggtca
+gcagacgcaactcggtgcagtggatagacagttcgccggttttggttttgaacagcttac
+ctttcgcgccgaggatgtcgccgaggtcccattttttgaactgctcgttataaacgcctt
+ccgggagatcgtcacgggcaacgtacagctgaatgcgaccgccaacgtcctgcagggtaa
+cgaaagacgctttacccataatacgacgggtcatcatgcggccagcaacggcgacttcga
+tgttcagcgcttccagttcttcgttctctttgccgtcgaattctgcgtgcaattggtcag
+aggtatgatcgcgacggaaatcgttcgggaaggcaatcccctgctcgcgcaggttcgcca
+gcttctcacgacgcgttttcagttcattgttaagatcgactaccgcgtcagcgccctgtg
+cgtgttgttcagacatgttggttcctcataaccctgctttcaaacttgcttcgataaatt
+gatccaggctgccgtccagcacggcctgcgtgttgcgggtttctaccccggtgcgcagat
+ctttaatgcgggagtcatcaaggacataagaacgaatctggctgccccagccgatgtcgg
+atttgttatcttccatcgcctgtttctcggcatttttcttctgcatctccagttcataaa
+gcttcgctttcatctgcttcatggcctgatctttgttcttgtgctgggaacggtcgttct
+ggcactgggtcacgatcccggtcgggatgtgggtaatacgcaccgcagattcggtacggt
+taacgtgctgaccgcccgcgccggacgtgcgataaacgtcaatgcgcagatccgccgggt
+tgatttcgatatcaatatcatcatcaacttccggataaacaaacgcggagctgaacgacg
+tgtggcgacgaccgccggagtcaaacgggcttttacgcaccaggcggtgaacgccggttt
+ctgtacgcagccagccgtaagcgtaatcgccggagattttgatcgtcacggatttaatac
+ccgccacttcaccttccgactcttcgatgatttcagttttgaaaccacgcgattctgccc
+agcgcagatacatacgctcaagcatgctcgcccagtcctgtgcttccgtaccgccagacc
+ccgcctgaatatcgaggtagcagtcggcgctgtcatattcgccagagaacatacggcgga
+actcaagctgcgccagtttttcttccagggcgtcgagttcagcaacggcttcgttaaagg
+tttcttcgtcgtcagcttctacagccagttccagcagaccagaaacatcttccagcccct
+gtttcatttggtcgagggtgtcgacaacggcttcgagggaggaacgctctttacccagcg
+cctgtgcgcgttcgggttcgttccagacatccggctgttccagctcggcgtttacttctt
+ccagacgctctttcttggcgtcgtagtcaaagataccccctaagaacgtcggagcgttcc
+gtgaggtcctgaatgcgattatttaccggattaatttcaaacatggtctgatttctttta
+ttgagctagtcaaaatgcggtgataagagcgggattgtacccaatccacgctctttttta
+tagagaagatgacgctaaattggccagatattgtcgatgataatttgcaggctgcggttg
+ccgcgaaactcgttgatatcgagcttataagccagttgcacttcgcgcacgccgttatcc
+ggccagagggcggtatcgacattaaaagcaataccatccagcagtggaccgccgccgacc
+ggttcgaccatcaccttcaaatgacgttcgcccaccagccgctgttgcagcagacggaaa
+tgaccgtcaaacagcggctccgggaacatctgcccccacgggccagcatcgcgcagcagc
+tgcgccacttccatggtcatttcggccgggcttaacggaccgtctgataccacttcgcct
+tgcaatagcgaagggtccagccactcagtaaccagttcgccaaaccgttgttgaaagagt
+ttgaatttatcctcttccagcgacaaacccgccgccatcgcatgaccgccaaacttcagc
+atcatgccagggtagagtgtgtctaatcgctccagcgcatcacgcatatgcagcccctga
+atggagcgaccggaacctttcagcgtaccgtcacctgctggcgcaaacgcgataaccgga
+cggtgaaaacgctctttgatgcgcgaagccagaataccgacaacgccctgatgccattcg
+gggtgatacattgccagcccgccgggtagcgtgtcacggctgcgctccagtttctcgcac
+agggtcagggcttcaatttgcattccttgttcgatctcttttcgcgtctggtttagcgca
+tcgagttcatttgccagcacgcgcgcttcgccgatgttgtcgcacaacaacagcgccaca
+ccgacggacatatcgtccagtcgtccggcagcattgagacgtggccccagcgcaaaacct
+aaatcgctggcggcgagtttttgtgcatcacggtttgccacttcaagcagcgctttaatc
+cccggacggcactttccggctcggatgcgactcatcccctgccaggtcagaatgcgatta
+ttagcgtccagcggcacgacgtccgccactgtccccagcgcgaccagatccagcagttct
+gccaggttaggaattgcgatgttacgctcatcaaaccagccctgatcgcgcaaaaaggtg
+cgcagcgccagcatcagataaaacgccacacccacgcctgccagtgatttcgacgggaaa
+ttacagtcgcgcaagttagggttaatgatcgcttccgctgcgggtaatgtgtcgcctggc
+aaatggtgatcggtaacaataaccgggatgcccaacgagcgagcgtgctcaacccccgca
+tgggaggaaataccgttatccaccgtgacaattaactgcgcgccacgggcatgggcctga
+tcgaccacttccgggcttaagccgtaaccgtcttcgaaacggtttggtaccaggtagtcg
+atattgctgcaaccaagcgagcgcatcgccagcacgcttagagccgtgctggtcgcgccg
+tcggcgtcgaaatcaccgaccacaataatccgcgttccttcgcgaaaagcgttgtaaagg
+atctcaacggccttttcgacgccgctcagttgctgccagggcagcatacctttaacactg
+cgttccagttcttgcgcactgcgtactccccggctggcgtataaacggcgcagcaaggga
+ggcaattcagcgggcaagtctgccgtttcatcgacttcacggcgacgaagttgtatctgt
+tgtttcacgcgaattatttaccgctggtcattttttggtgttcgtcgaggaattctttca
+tctctttcggcggctggtaacccggaacaagtgtgccattgctcagcacaactgccggag
+taccgctaacgccaagctggacgccaagtgcgtaatggtcggcaatatccacgtcgcaac
+tggctggtgcgacgcttttacctgccatcacatcatcaaacgctttgtttttatctttcg
+cacaccagatagctttcatttctttctctgcatcgctgtccagcccctggcgcgggaaag
+caagataacgcacggtgatccccagcgcgttgtagtctgccatttgctcatgcagtttgt
+ggcagtaaccacaggtaatatcagtaaacacggtgatgacgtgtttttcctgcggcgctt
+tataaacgatcatctctttttcaagcgcattcaactgctttaacagcatcttattggtga
+cattgaccggagccgtgccactaacgtcatacattggcccctgaatgatatgtttaccat
+catcggtgatgtacaacacgccgctgttagtcagaactgtcttcatgccagctacaggcg
+cgggctgaatatcgctgcttttgatgcccattttggctaacgtttgttgaattgccgcgt
+catcagcctgagcaaagcctgaaaacgccgctaacaaagtaaacaacataaaacctttct
+tcataaatcttcccgttcttttcagacatcacgcccgcgggtgatgctgttgatgaagtt
+gccgcagacgctcggtagcgacatgcgtataaatttgcgtggtggagagatcgctgtggc
+ccagtagcatctgcaccacgcgtaaatccgcaccatgatttaataaatgagtggcaaaag
+cgtgacgcaacacatgcggtgacagcttttcgctgtcgatacccgccagcacagcataat
+gtttaatacggtgccagaaggtctgtcgcgtcatctgctgcgcacgctggctgggaaaca
+acacgtcaattgacacaccattcagcagccacggacgcccatgttccagataggtttcca
+gccagtaaaccgcctcttcacctaacggcaccagacgctctttgttgcctttaccaatga
+cccgtaccacgccctgacgcaggctgatatcactcattgtcagtccgaccagttcagaga
+cacgcagcccggtagcatacaacacttcaagcatggctttatcgcgtagctccagtggct
+gatcgattaatggtgcctgtaataaacgttcgacctgcgcttcgcttaaatcttttggca
+aacgctggggcaatttcggtgaagcgagatgcgcactgggatcgtcttcacgaaactttt
+cgcgataaagatactggaacaatcggcgcactgcactcagcaaacgcgctgagctggtgg
+ctttatacccgccctccagccgttctgccagtaatgcctgcaaatcgtcactttgcgccg
+tcgccagcgtcaacccgcggtgatgcaaccactccaccatcattgacagatcgcgacggt
+aagcgttcaacgtattttcagccagatttttttccagccacagagcatcaagaaactgct
+cgatgcgtgccagatcctgtttcacttgcgccccttatggtcactcatttgatccattat
+gccttattgtgccgtgactaaagcgattctgatacactagccgcaaaagccacagcagaa
+tcgagaagcttacgttatgaatatgggtcttttttacggttccagcacctgttacaccga
+aatggcggcagaaaaaatccgcgatattatcggcccagaactggtgaccttacataacct
+caaggacgactccccgaaattaatggagcagtacgatgtgctcattctgggtatcccgac
+ctgggattttggtgaaatccaggaagactgggaagccgtctgggatcagctcgacgacct
+gaaccttgaaggtaaaattgttgcgctgtatgggcttggcgatcaactgggatacggcga
+gtggttcctcgatgcgctcggtatgctgcatgacaaactctcgaccaaaggcgtgaagtt
+cgtcggctactggccaacggaaggatatgaatttaccagcccgaaaccggtgattgctga
+cgggcaactgttcgtgggtctggcgctggatgaaactaaccagtatgaccttagcgacga
+gcgtattcagagctggtgcgagcaaatcctcaacgaaatggcagagcattacgcctgatc
+tcactgacggcttagcgcatatgctttgccgtcatctttatctttgcgtctcttgttgca
+acaaaatccgccgtaaatcccgccattcagcttcgtccatgctgtcggctgccagccata
+aatgttgccgtttaccgccatcagaacgtaaacgcagcatcatgccgctcttaatcatcc
+acggtgctttgacgatgctccactcctgcccttgccaacgcaaacgcccgtccatcaaca
+agcgaatttccccctggcgagcattaatacgccgctggctgcgaacgcaatcaaacacca
+ccagcgaaagtaacaccatccataacggggtgtaactgagtggccagggcatgagtaaaa
+taacagcggcaaccagcccatgaatcagcaaggaaagccactgtgcgcgccaggagacgc
+gcaaatcagattgccacaggaccacgttcccggttccgtgtctggatgagtcggaccatc
+atttccagttctgcatcggccggtttaccgtgattcatcagccagttaaacaggtccgga
+tcgtcacattccagcagacgaataaagatgcgtttttcgtcatcgcttaagctgtcgtac
+tcatgttcgaaaaacggcatgattgaaatatcgagttcgcgcataccacggcggcatgcc
+caatgaatgcgggctttgttgttaatgtccatcttcttcctgtctcacgaaaatccagta
+cccggctattgtaacgtgtttttcgccttcttttacgggaatatcagtaaacaccatcgc
+gatcgcgaaattaattcacaacaattcaatggcttcatttttttggaagtcgcctcgcag
+aaggcacagatcgcgtagtgaaagcacttgcattgcctcatagctcttttaccattagtc
+attaatacgccgttaagcaactcaggactctattatggcttttacaccttttcctccccg
+tcagcctacggcttctgcccgtttaccgctgacgctgatgacgcttgatgactgggcgct
+tgccaccattactggcgcggacagcgaaaaatatatgcagggtcaggtgacagcagatgt
+cagccagatggcagaagatcagcacctgctcgccgcccattgcgacgccaaaggtaaaat
+gtggagcaatttacgtctgttccgcgacggcgatggctttgcatggattgaacggcgcag
+cgtgcgtgaaccgcagctgactgaactgaaaaaatatgcggtattctctaaagtgaccat
+cgcgccagacgacgagcgtgtgctgcttggtgttgccggttttcaggcgcgcgccgcgct
+ggcaaatctctttagcgaactgccttcgaaagaaaaacaggtagtcaaagaaggcgcgac
+cactttgctatggtttgaacacccggcagaacgtttcctgatcgtaaccgatgaagctac
+tgctaatatgctgaccgataaactgcgcggtgaagcggaactgaacaatagccaacagtg
+gctggcattaaacattgaagcgggtttcccggtgattgatgccgccaacagcgggcagtt
+tatcccacaggcgaccaatctccaggcgctgggcggtatcagctttaagaaaggctgtta
+taccggacaagagatggtggcgcgagcaaaattccgtggtgccaataaacgtgcgctctg
+gttgctggcaggtagcgccagccgactgccggaagctggtgaagacttagagctgaaaat
+gggcgagaactggcgtcgtaccggtacggtactggctgcggtaaaactggaagatggtca
+ggtcgtggtacaggtcgtcatgaataacgatatggaaccggatagcatcttccgcgtacg
+cgacgatgcgaatacattgcatatcgagccgctgccgtattcgctcgaagagtaaatctc
+tttatcgcatcaggcatttatcgcctgatgcgacgctggcgcgtcttatcatgtctggga
+tttgatgcctttatcacaacagggacgaggcccgtagatcggataaggcgttcacgccga
+atccggcagttgtgctccgatgcctgatgcgacgctggcgcgtcttatcaggcctacaaa
+ggcatacccattacgcctgcccaatatacaaatagatcgccagaaagtggcacacactac
+cgccgagcacgaagccgtgccagatggcatggttgtatggaatgcgtttgcagacgtaga
+aaatcaccccgagcgaataaaccacgccgcctaccgccagtaaggtaacgctgcccgccg
+cgagcttaactgccatttcataaattaccaccagcgacagccagcccatcgccagatagg
+tcaccagagataaaattttgaatcggtgcgcgatggtcagtttaaacagaatacccagca
+atgccaggctccagataacaatcatcaacccgcgcgctaacggagaatccagccccacca
+gcaaaaacggcgtgtaggttccggcaatcaacaggtaaatagcgcaatggtcaaatttct
+tcagccacatttttgcccgttgatgaggaatggcgtgatagagcgtcgaagcgaggaaca
+gcaggatcatactgccgccatagaggctgtagctggttatcgctgtggcgctggcattaa
+gatccaccgcctgaaccagtagcaacaccagcccaacgataccaaacaccaacccaatgc
+cgtgactgacgctgttggctatttcctctgccagtgaatatccctgcttaatgaggggct
+tctgaaccataacttactccggagaaacgtacacgcacatgtatacctctccagcgtaac
+tgagaatagttccagtgaacacctgttagctaaaataaattctgatttgagactaatctc
+ctaaaaatcatgaaattaaatgcgaaatttcaactaacaggcgtgagttcaatttaaaga
+catttaaattcaatcacataaaattgtgtctgaccgggatagatgtcagcaatgactttt
+ttcagttcagtcagggtcatattttcctgctctgcatgtttttcagtcagcgtatccagc
+gttacggttgaggttgcggtgacttcaatcgtgcaaaaataaccgtcatcttcaaaacgt
+ccgacacgaagcacatcacccgttttgaagtgcgattcagactcgtcgcggatggtgatg
+gttttacgcccagccagaatgtcatcctggaaacgttgaaaaaaagtgatgtcgtttggc
+tgcatggtactatttcctgtaagaattgactcatctggagcctatgatagtgaaaaaact
+caccttaccgaaagatttcttatggggcggcgcagttgccgctcatcaggtcgaaggcgg
+ctggaacaaaggcggaaaagggccgagcatttgtgacgttctgaccggtggcgcacacgg
+cgtgccgcgcgaaatcaccaaagaagtcttgccaggaaaatactatccaaaccatgaagc
+cgttgatttttatggtcactataaggaagacatcaagctatttgccgaaatgggcttcaa
+atgttttcgtacatccattgcctggacgcgcatttttccaaaaggcgatgaagctcagcc
+aaacgaagaagggctgaagttctacgatgatatgttcgatgaactgctgaaatacaacat
+cgaaccggtgatcaccctctcccactttgaaatgccgctgcatctggtgcagcaatacgg
+tagctggaccaaccgtaaagtggttgatttctttgtacgtttcgcggaagtggtatttga
+acgctataagcacaaagtcaaatactggatgaccttcaacgaaattaacaaccagcgtaa
+ctggcgtgcaccgctgttcggttactgctgctccggcgtggtgtataccgagcatgaaaa
+cccggaagagacgatgtatcaggtgctgcatcaccagtttgtcgccagcgccctggcggt
+gaaagctgcgcgtcgcattaacccggagatgaaagtcggctgtatgctggcgatggtgcc
+gctctatccttactcctgtaacccggacgatgtgatgttcgctcaggagtcgatgcgcga
+acgctacgtctttaccgatgtgcagctacgcggctattacccgtcctatgtgttgaacga
+gtgggagcgtcgcggatttaacatcaaaatggaagacggcgatctggatgtgctgcgtga
+aggcacctgcgattatcttggtttcagctattacatgaccaatgcagtgaaggccgaagg
+cggcaccggcgatgcgatctctggttttgaaggcagcgtaccaaacccgtatgttaaagc
+atctgactggggctggcagattgatccagtaggtctgcgctatgcactttgcgaactgta
+tgagcgttatcagaggccgctgtttattgtcgaaaacggttttggcgcttacgacaaagt
+ggaagaagatggcagcatcaacgacgactaccgcattgactacctgcgcgcccatatcga
+agagatgaaaaaagcggtgacttacgatggcgtggatctgatgggctacacaccgtgggg
+ctgcatcgactgcgtgtcgttcaccaccgggcagtacagcaaacgctacggctttatcta
+tgtgaataaacatgacgacggtactggcgatatgtcgcgttcacgtaagaagagctttaa
+ctggtacaaagaggtgattgccagcaacggcgagaagctttaagtcgatgaagtaccgga
+tgcaatacttgttgcatccggtcagacaacttccctgttttatttcccgcccgccaaatc
+gataaaacttcccgtgacgtaagaggctttatcacttagtagccagacaatggcctgcgc
+gacctcttctgcctgtccaccacgctgcatggggatgttcgacttaacgcgatcgacgcg
+tccaggctcgccgccgctggcgtgcatttcggtataaataaaccctggccgcacgcagtt
+aacgcggatcccctgcgcggcgacttccagcgatagtccggtggttaacgtatcaatcgc
+ccctttcgatgccgcgtaatcaacatattcccctggcgaacccaaccgtgaggccaccga
+agagacattgacgatagcgccgccactgccaccatttttaagcgccatgcgttttaccgc
+ctcgcggcagcagagaaaatatcccgtcacgttggtggaaagtactcggttgattcgctc
+tgcggtaaggttttcaacggtgcactgggtaaacaagatcccggcgttattgaccagcgc
+tgctagcggttcatcgtgctgatcgattgctgtaaacatcgcaacgacctggttttcgtc
+gctgatatccgcctggagcacgaatgctttgccaccggcttgcgttattaagttcatcac
+ttcctgcgccgcgtggaggttttgctgataattaaccgccaccgtatacccttcttgcgc
+caacagtaatgcagttgcccgcccgatgccgcgactgccaccagtcacaagtgctatagc
+catttgtttttccgagaaaaattaattcgttgacgtatctttgagattgctaacaaactg
+gctcaatcttcaatgttggcacgcttttccccctcgccctttcagggagagggccggggt
+gagggtaaatattcgcgccagtgccggcctgttcccctcaccctaaccctctccccaaag
+gggcgaggggactgtctgagcacttttgtactttgtcatctgactaaaaaggcgccgaag
+cgcctttagaaaatagtcgaatcagtgaattactggtattcgctaatcggtacgcaggag
+cagaacaggttacggtcgccgtaaacatcatccagacgtttcactgtcggccagtatttg
+tctgccacacctgccgggaataccgcaacttcacggctgtacggatgcgcccactcggcg
+accagttcgctctgaatgtgcggcgcgttcaccagcgggttatcttccagcggccagaca
+ccggctttcacctggtcaatttctgcgcggatagccagcatcgcgtcgataaagcgatcc
+agttccactttgctttcagattcagtcggttcaaccatcagcgtacccgccaccgggaac
+gacatcgtcggcgcgtggaaaccgtagtcgatcaggcgcttggcaatatccagctcgctg
+atgccggtttcttctttcagcgggcgaatatcgagaatacattcgtgcgccacgcgaccg
+tcgcgaccggtatacagcaccgggaaggcatcctgcaggcggctggcaatatagttggcg
+ttgaggattgccacctggcttgcttttttcagcccttctgcgcccatcatgcggatgtac
+atccagctgattggcaggatagaggcgctaccgaacggtgccgcagaaaccgcgccctga
+cgggttaacatgccttcgatttgcaccacgctatgacccggtacaaacggtgccaaatgc
+gctttcacgccgatcggtcccatacccggaccaccaccgccgtgcggaatgcagaaagtt
+ttatgtaggttaaggtgtgaaacgtccgcaccaataaagcccggcgaggtgatgccaacc
+tgggcgttcatgttcgcgccatcaaggtaaacctgaccgccgaactgatgcacgacttca
+cacacttcacggatcgtttcttcatacacgccgtgggtagaaggataagtcaccatgata
+caggagaggttatcgcccgcctgttccgctttcgcgcgcagatcagtcagatcgatgttg
+ccgtttttatcacacgccacaaccaccacctgcattcctgccatatgtgcagaagcgggg
+ttagttccgtgcgcagaagccgggatcaggcagatatcgcgatgcccttcgttgcggctt
+tcatgataatgacgaatcgccagcaggcccgcgtattcgccctgtgcgccagagttcggc
+tgcatacaaacggcgtcgtaaccggtcagtttcaccagccagtcagccagctgcgcaatc
+atctgctgataaccttcggcctgctccggcgggcagaacgggtgcagttcggcaaattcc
+ggccaggtgattgggatcatctcggcggcggcgttcagtttcatggtgcaggaacccagc
+gggatcatcgcctgattcagcgccagatctttacgctccagcgagtgcatatagcgcatc
+atttcggtttcgctgtggtagcgattaaacaccggatgggtgaggatttcgtcgtcgcgc
+agcatcgcaggctggatagagcggctgtcgtgagccacgtctttgtccagcgtgtcgatg
+tccaggccgtggttatcgcccagcagcacgttgaaaagctgcattacgttttcacgcgtg
+gttgtttcatcaagggtgatcccaaccgcgttcagaatatcgctacgcaggttgatttca
+gccgcttcggcacgcgtcagtacgcccgctttgtcggccacttccacacacaaggtgtcg
+aaatagtgcgcatggcgcagtttcagacctttttgttgcaggcccgccgccaggatatcg
+gtcagacggtgaatgcggttagcgatacgtttcaggccaaccgggccgtgataaacggca
+tacaggctggcgatgtttgccagcagtacctgggaagtacaaatgttggagttcgctttc
+tcacggcggatatgttgctcgcgagtctgcatcgccatgcgcagcgcggtattgccagct
+gcatctttcgatacaccgataatacggcccggcattgagcgtttgtattcatctttcgcc
+gcaaagaatgccgcgtgtgggccaccgtagcccatcggcacgccgaagcgttgcgccgaa
+ccaaaaacaatatccgcgccctgtttacccggcgcagttaacagcaccagcgccataata
+tcggcggcaacgctgaccacaattttgcgtgatttcagttcgctaataagcgcagtgtag
+tcgtgaatttcaccggtagtgcctacctgctgtaacagcacgccgaagacgtcctgatgg
+tcgagcactttttgcgcgtcatcgacaatcacttcaaaaccaaaggtttcggcacgagta
+cggaccacatccagcgtttgcggatgcacatcggaagccacgaagaagcggttggcattt
+ttcagtttgctgacgcgtttcgccatcgccattgcttcggcggcagcggtggcctcgtcc
+agaagagaagcagaggccatatccagtccagtcaaatccagcgttacctgctggaagttg
+agcagtgcttcaaggcggccctgggagacttcaggttgatacggagtgtacgcggtatac
+cagcccggattttccagcatgttacgcaggataaccggcggtagctgcacggcggtgtaa
+cccatgccgatgtaagacgtgaagcgtttattgcgactggcaatagccttgagttctgcc
+agtgcggcgtattcggtcgccggtgcgccaacctgcggtggtgtcgcaagttgaatatct
+ttcggcacaatctggccggtcagcgcgtttaacgattgtgcaccaacggcattcagcatt
+tcttgctgttgcgcggcgtccggtccgatatggcgttcaataaaagcgccgctgttttca
+agctggcttaacgtctgtgtcatgagcgatggttcctgaaacgtgcagtgaattgtgaac
+ctctctccttacgaagagagtgagggtgaggcataaattttcctcaccctgatcctctcc
+cgcagaagaggaataaagccgttactcgtcttctaacaatgcttcgtatgcggtcgcatc
+cagcagtgattccagttcgctttcatcgctggctttgattttaaagatccagccgcctgc
+atacggttcgctgttcaccagttccggggaatcgctcagtgcgtcgtttaccgccacgat
+ttcaccgcttactggcgcataaatgtctgacgccgcttttaccgattcggcaaccgcgca
+gtcatcgcccgcgctaaccgttgcgcccacttccggcaggtcaacaaacaccatatcgcc
+taacagctcctgagcatgttcggtaataccaacggtgtaagtgccgtcggcttctttacg
+cagccattcgtgttctttgctgtatttcagttctgctggtacgttgctcatcaatcaatc
+tccaaaaaagtaaatcacgcgacggctttgccgttacgcacaaaaacaggttttgtcact
+ttaaccggcatttcacggttgcgaatttgcacaatcgccgtttcgccaataccttccggc
+acgcgcgccagcgcaatgctgtaacccagcgtcggggagaaagtaccgctggtgataatg
+ccttcatgctggttgccctgcgcatcggtaaagcgtaccggcagttcattacgcagcacg
+cctttttcggtcatcaccagaccaaccagtttttctgtaccatgctcacgctgcacttcc
+agggcttcacgaccgataaagtcacgatctgccggttcccaggcgatggtccagcccatg
+ttggcggctaaaggagagatggtttcgtccatctcctgaccataaagattcatgcccgct
+tccagacgcagcgtgtcacgcgcgcccaagccacatggcttaacacccgcttccaccagc
+gcacgccagaaatcggccgctttttcattgggcagcgcaatttcatagcccgcttcaccg
+gtataaccagtggtggcaataaacagatcgcccgcctgcacgccaaagaacggtttcatc
+ccttccaccgcctgacgctgggcgtcattaaacagtgtggcagcttttgcctgcgcattc
+ggcccttgcacggcaatcatggaaaggtcatcacgaacggtaatttcgatgccgaaaggt
+tcagcgtgttgggtaatccaggagaggtctttttcgcgggtggcggagttaacaacgagg
+cggaagaaatcttcagtaaagtagtagacgatgaggtcatctatcacaccgccagaggca
+ttcaacatccccgagtaaagggctttgccgcttttggtgagcttcgccacatcgttcgcc
+agcagataacgcagaaactcccgggtgcggctgccgcgaagatcgacgatggtcatatgt
+gacacatcaaacattccggcatcggtacgtaccgcatgatgttcgtcgatttgcgaaccg
+taatgcagcggcatcatccagccgtggaaatccaccatgcgagcgccgcaaagcgtgtgt
+tgttcgtacaaaggagtctgttgtgccatcttgtcctcattgaataagcggggctgacaa
+ctttttcatggtgaaattatcaccacgaaacccagcatcggagccactcccggtccccaa
+cgcaatcgttctcttttgcctgaacttaccaccgaaacagactgttaaccataaggtaaa
+attgatcatcacattagcttatggttaaaaaatgcaaaaatcgcgacagaataaaaaacc
+aaaaaatacaccagtttctatacaaagatgatgtgatgagaaagtcaatttgaataagac
+aatattaagagctaaaaaaatgtcaaaaaacactaaatcaaaaaataatggcattagaaa
+atataatgcgaaaacggaggtgaaattagtttatttcaaatgaggaaaatctcccggcga
+aaaaaccgggagatgaaagtgtgatgggtatcaaataaacaacagaggagaaatttttaa
+cgcagccattcaggcaaatcgtttaatcccattgcctggcggataagttgcggcttaacg
+ccaggaagcgtgtcggccagtttcaaaccaatatcacgcagcagttttttcgccggattg
+gtaccggaaaacagatcgcggaatccctgcataccagccagcatcaacgccgcactgtgc
+ttgcggctacgctcatagcgacgcagataaatgtactgcccgatgtctttcccctgacga
+tgcaaccgtttcagttcggcaatcagctctgcagcatccataaagccgagatttaccccc
+tgccccgccagcgggtgaatggtatgtgcggcgtcgcccaccagcgccagacggtgcgag
+gcaaactggcgcgcataacgccccgtcagtgggaacacctgacgcgcgctctcaaccttg
+cataagcccaggcgattatcaaaagcgatatttaacgcgcgattaaattcgtcttcactt
+gcctgctgcatccgctgcgcttcctctggcgacagtgaccagacaatcgagcaaagatgc
+ggatcgctaagcggtaaaaaggccagaatgccttcgccatggaaaacctgccgcgccacc
+gcatcatgcggttcttccgtgcgaatggtcgctaccagcgcgtgatgctgataatcccag
+aaagtcagcggaatatcggctttgttgcgcaaccaggaattagcgccgtccgcgccaatc
+accagacgcgccgttaacatgctgccatctttcagcgtcaggaaggtttcattttctccc
+caggcgacctgctgtaattctgcgggggctaacagagtgatatctgacgactgatgcgct
+ttgttccacagcgcgtagtgaatcactgaattttcaacgatatgcccaagatggctatag
+cccatgctttgatcgtcaaacgaaatgtgaccaaagctgtctttgtcccacacttccata
+ccgtgataacagctggccctacgagagagaatgtcctgccagacgccaagacgggtgagt
+aatttttcgctggcggcattgatagccgaaacgcgcagttgtggtggtgcattcgccgcc
+agaggttcctgtacgcgctgctccagtacggcaacgcgtaagccgctcccctgtaagcca
+caggcaaccgccagccccaccatgccgccgccaacaatggctacatcaacactttgcatt
+gtttattccttaaaaccgccttcaacgcgccacccaaccgagggtgcgctgcgccagcac
+atcgcgtgccggggtgaataattccatcgtcatcagcccgatgttgcgcccgacaaccag
+cggtgcccaacggttggcaaaaagatgtacaaggctgtccgtgacgccaatggttgcttc
+gcgatcgctctgtcgacgctgctgataacggcacaatacgccgtaatcccccatgtcttc
+tccgcgctcctgcgcctgagtcagggtttccgcaagactcatcacatctcgcataccgag
+gttaaacccttgcccggcaatcgggtgcagagtttgcgccgcattgcccaccagcacggt
+acgatgggtaatagatctggcggcgtgggttaacgccagcggataagcactgcgtttacc
+agcgtgggtaattttcccaagtcgccagccaaaggccgactggagttcacggcaaaactt
+ctcgtcactccacgacaacacctcttcgcgccgttccagtggatgacaccagaccagcga
+acagcgtccgtcagacatcggcaacatcgccagcgggccatgttgcgtaaagcgttcaaa
+agcgcgcccttcatgcgcaacggaagtagcaacgttggcaatcacggccagttgttcgta
+aggctcctgctgccagtcaacgccgcacgcggtggctaacgctgaatgggtgccatcagc
+tgctaccagcacgcggcccgtcagcgtctcgccactctccagcgtcacttcaacgtgact
+ctgagtacgggcaacgttagccacgcgatcagggcaatgcagcgttacgccaggtgcttt
+acgcagcaatgcaaacagccgttgcccgacattgtgcaattcgacaacctgtcccagcgc
+cgccagttggtaatcttctgcggcgagggtgacaaatccagcgtgaccacgatcgctgac
+atgcacggtggtgatggcagttgcgcaatccgccagagattgccagacgccgatgcgcgc
+cagttgctgacaggtacccgccgccagcgctatcgctcgtccatcaaagcccggatgagc
+atgtgactctggcgcagtcgcttcaatcaaatgtaccggcagcgccccgtgacttaaccg
+ggaaatagccagcgccagcgtcgcgcccgccatgccgccaccgacgatgattacgctcat
+tgctttctcgcagcaaccatcaacgcttcgatttcttccggctttttcaccacgctggcg
+gtgaggttttcgttaccggtttcggtaatcacaatgtcgtcttcaatacgaatgccgata
+ccgcgatattgttctggcacttctgcatccggcgcaatatacagccctggctctacggtc
+agtaccatgcccggttccagaatgcgcgagcgatcctgaccataaacacccacgtcatgg
+acatccagtcctaaccagtggctaaggccatgcataaagaaaggacgatgggcgttctga
+gcgatcagttcatcaacatcacctttcaggatgccgagttttaccaggccgctaaccatg
+atgcgcaccacttcaccagtgacttccagaatggaagttcccggacgatacaggcgcagg
+ctggtttcgagagactccagcacaatgtcgtagatttcacgctgggcctgggtgaatttg
+ccgttgaccgggaaggtgcgggtaatatcgccagcgtaacctttgtattcacaacccgcg
+tcaatcaacaccaggtcgccgtcgcgcatttcacactcgttttcggtgtagtgcagaatg
+cagccgttttcaccgctgccgacaatggtgttataggacggatagcgcgcaccgtggcgg
+ttaaattcgtggtgaatttcgccttccagatggtactcgaacattcccggacggcatttt
+tccatcgcccgtgtatgtgccatggcggtgatttctcccgcgcggcggagtacggcaatc
+tcttctggcgatttgaacaggcgcatttcatgaacaacaggacgccagtcgatcatcgtt
+gccggtgcggtgagattttgccgcgaacctttacgcagtttttccagcgcactgttcacg
+attacatcagcatatgcatattcgccctgggcatggtaaaccacatccaggccgttaagt
+agttgataaagttgctgattgatttcgctgaatgccagtgcgcggtcaacgcccagtttc
+tctggcgcggcatcctggcctaagcgacggccaaaccagatctccgccgtcaggtcgcga
+acgcggttaaacagaacgctgtggttatgagtgtcatcgcttttaatcagcaccagcacc
+gcttccggttcgttaaagccggtgaagtaccagaagtcactgttctgacgataggggtat
+tcgctgtcggcgctacgtgttacttctggtgcagcaaaaatcagcgcggcgctgccgggt
+tgcatttgctccaccagggcctgacggcgacgctgaaactcttgccgggatatctcactc
+ataacactctccttacgttttttgtttttagtgtagagtcggtttttgtacttctggcgc
+ggtcggttgcggatgagtaaaggtgtcgtggcataacagcgcggcaacacgaacgtattc
+gatgatctcttcaagcgacatttcaagctcttcctgatcttcgtcttcgtcgtaacccag
+ttgcgcaatgttacgcagatcgtcgatagcttcaccggtttcgccggtcactttatccag
+cttcggttgcgtaacgccaagaccaagcaggaagtgattgacccaacctgccaatgcatc
+agcccgatcgaaaacgctgacatcatcgccatcaggcagataaagctgaaaaaggaagcc
+gtcatcctgcagggcatcgctggtggcagagtgcattttacgcagtgcctgtgccagctc
+atgaccgaaagccatgccttcgttcgtcaggtcgtgaagtagcggtagccatgagctgtc
+atcgttaccgccacatatcatcccgctgattaaaccatgcatctcagctggggtcagacc
+cgtcccttgttggttcagatactggttcatttcgttgtaaccaggcatttcgttctgtat
+agacataagcattcgtcgtcaaagggaggaatattcatgatatgctaccactttgggccc
+tggtggaccagaaaagggcttgtctcttctcatcagggtagctatagtgtcgccccttcg
+cagaccatgggtctaaagacgaaggcagcgcagtcaatcagcaggaaggtggcatgtctg
+cacaacccgtcgatatccaaatttttggccgttcactgcgtgtgaactgcccgcctgacc
+aaagggatgcgttgaatcaggcagcggacgatctgaaccaacggttgcaagatctgaaag
+aacgcactagagtcacaaatactgaacagttggtcttcattgccgcattgaatatcagct
+atgagttagcgcaagaaaaagcaaagactcgtgactacgcggcaagtatggaacagcgta
+ttcggatgctgcagcagaccatagaacaagcgttacttgaacaaggtcgcatcaccgaaa
+aaactaaccaaaactttgaatgacacttttcggtttactgtggtagagtaaccgtgaaga
+caaaatttctctgagatgttcgcaagcgggccagtcccctgagccgatatttcataccac
+aagaatgtggcgctccgcggttggtgagcatgctcggtccgtccgagaagccttaaaact
+gcgacgacacattcaccttgaaccaagggttcaagggttacagcctgcggcggcatctcg
+gagattcccttcttatctggcaccagccatgacgcaactaccagaactcccactgacatt
+atcccgacaagaaatccgcaaaatgattcggcaacgtcgtcgtgcgttaacgccggaaca
+acagcaggaaatgggtcaacaagccgctacccggatgatgacttatcccccggtggtgat
+ggcacatacggtcgctgtattcctctcttttgatggcgaactcgacacccagccactcat
+agaacaactctggcgcgccggtaagcgcgtatatcttccagttttgcatccctttagtgc
+cggtaatttgctgttcctgaattaccatccgcaaagcgaactggtgatgaacaggttgaa
+gatccatgagccaaaattggatgtgcgtgacgtgctacccctttcccgattagacgtgct
+gatcacaccgctggtcgcctttgatgagtacggtcagcgcctgggaatgggcggtggttt
+ttatgatcggaccttacaaaactggcagcactataaaacgcaaccggtgggttatgcgca
+tgattgtcagttggtggaaaaactccccgttgaagagtgggatatccctcttcctgcggt
+ggttacaccgtcgaaagtctgggagtggtaagggcgatacacccgcatcgccctgattga
+catcgttgattctttgacctaatttagtgagtaagggtaagggaggattgctcctcccct
+gagactgactgttaataagcgctgaaacttatgagtaacagtacaatcagtatgatgaca
+agtcgcatcataacccttctccttcaagccctcgcttcggtgagggctttaccgttacag
+ccccatgctgccctgccatcgtaaatccccattaaataaacacaacgcattgatctgact
+ttgatttattttctggagcagactcgcaaagtagaatgcgcaacgcggcaacggtgtgga
+gaagggataaaaaaacgggcaagtcagtgacctgcccgttgattttcagagaaggggaat
+tagtacagcagacgggcgcgaatggtacccggaatagctttcattgcctgcagcgctttt
+tcggcaacgtcttcgtcggcttcaatatcaataaccacataacccatctgggcggaagtt
+tgcagatattgcgcggcgatgttgacgccctgctcggcgaagattttgttcagcgcagtt
+agcacgcccggacggttttcgtggatgtgcatcagacgacgcccaccgtgcagtggcagc
+gagacttccgggaagttcaccgcagagagcgttgagccattgtcagaatacttgatcaat
+ttacccgcaacttccaggccgatattctcctgcgcttcctgagtcgaaccgccaatgtgt
+ggcgtcagaaggacgttgtcgaattcacacagcggagaggtaaatggatcgctattggtc
+gccggttccgtcgggaatacgtcgattgccgcccccgccagatgtttgctcgccagcgca
+tcacacagcgccggaatatccaccacagtaccgcgcgaagcattaatcagcagcgagccg
+ggcttcattagtgaaatttctttcgcgcccatcatatttttggtggacggattctctggt
+acatgcagactcaccacatcgctcatattcagcaggtcagaaagatgctgtacctgagtg
+gcgttgcccagcggcagtttattttcaatatcataaaagtaaacatacattcccagcgat
+tcagccagaatgcccaattgcgtaccaatatgaccgtagccgatgatacccagctttttg
+ccgcgcgcttcaaaagaacccgccgccagtttgttccacacgccacggtgcgctttagca
+ttggcttccggcacgccgcgcaatagcagcagcagttcgccaatcaccagctccgcaaca
+gagcgcgtatttgagaacggtgcgttaaataccgggatcccgcgctttgccgccgcatcc
+agatcaacctggtttgttccgatacagaaacagccaatagcgaccagtttttctgcggcg
+ttgatcacgtcttcagtcagatgggtacgggatcgcaggccgatgaagtgggcatcgcgg
+atggattcttttaattgttcatcatccagcgcgcctttgtgaaattcgatgttggtgtaa
+ccagctgcacgaaggctttccagcgccttttggtgcacgccttctaccagcagaaactta
+atcttgtctttctccagcgatacctttgccatttacccaatcctgtcttttgaaatgttg
+tgtgcggatttgcatccgcctttcaacatatcaaaaaataatattgcggcaatatgaacg
+tttgcgtcgcgatgttgaggaaatatcacgcaaaggtaattcttggatgaatatgctggt
+ttagaggatttatttagagcaatcgacaattgcctggtaaaagcgtgacacatgtcacca
+aatttaatgaagagaatttttttaacgggggaggttcccccgtcagatcatttcacaatg
+gttttgacaccgtcaggtgtgccaatcagcgcaacgtccgcgccacggttagcaaacaag
+ccaacagtcaccacgccaggaatcgcatttatggcgttttccatcgctatcgggtcaagg
+atttccatgccgtggacgtcgaggatcacgttgccattatcggtcaccacgccctgacgg
+tattccggacgaccgcccagtttcaccagctgacgcgccactgcactacgtgccatcggg
+ataacttctactggcagcgggaatttacccagaatatcaacctgcttggaagcgtctgca
+atacagataaatttttctgcaaccgaagcaatgattttttcacgggtcagcgccgcgccg
+ccgcctttgatcatttgcatgtggccgttgatttcatctgcgccatcaacgtagatgcca
+aggctgtcgacttcgttgagatcaaaaacgtgaatgccgaggcttttcagtttttcagtg
+gaagcatctgaactggaaacggccccttcaatctggcctttcattgtaccgagcgcgtca
+ataaagtgtgcggcggtggaacctgtacctacaccaacaatggtgccgggctgaacatac
+tgaagtgccgcccatcctactgcttttttcaattcatcctgcgtcatgatcgtttcgcct
+gtggtatgaaatttcacacgcattatatacaaaaaaagcgattcagaccccgttggcaag
+ccgcgtggttaactcatccataaaatatcgcgcaatggcaggcatcccctttcgccccgc
+aaataaagcatacaacggtctgggtatgccgctccacggtgcaaacaggcgcaccagttc
+accgttcgcaagcccctgtttacaggcaaattgaggcaataacgccacgccattcaacac
+aaccagggcgcgaactcgctgagcgaaatgcattagcgcaaatccctgatcttttaagct
+gcgcttttaaccacggatacaaatgttacccgccgacggcttcggtatatgcaacctgac
+acaaaattgtgtcatagtgcaggaaaaagcatttaccaggagcagacaacagcaatgaaa
+cgcccggactacagaacattacaggcactggatgcggtgatacgtgaacgaggatttgag
+cgcgcggcacaaaagctgtgcattacacaatcagccgtctcacagcgcattaagcaactg
+gaaaatatgttcgggcagccgctgttggtgcgtaccgtaccgccgcgcccgacggaacaa
+gggcaaaaactgctggcactgctgcgccaggtggagttgctggaagaagagtggctgggc
+gatgaacaaaccggttcgactccgctgctgctttcactggcggtcaacgccgacagtctg
+gcgacgtggttgcttcctgcactggctcctgtgttggctgattcgcctatccgcctcaac
+ttgcaggtagaagatgaaacccgcactcaggaacgtctgcgccgcggcgaagtggtcggc
+gcggtgagtattcaacatcaggcgctgccgagttgtcttgtcgataaacttggtgcgctc
+gactatctgttcgtcagctcaaaaccctttgccgaaaaatatttccctaacggcgtaacg
+cgttcggcattactgaaagcgccagtggtcgcgtttgaccatcttgacgatatgcaccag
+gcctttttgcagcaaaacttcgatctgcctccaggcagcgtgccctgccatatcgttaat
+tcttcagaagcgttcgtacaacttgctcgccagggcaccacctgctgtatgatcccgcac
+ctgcaaatcgagaaagagctggccagcggtgaactgattgacttaacgcctgggctattt
+caacgacggatgctctactggcaccgctttgctcctgaaagccgcatgatgcgtaaagtc
+actgatgcgttactcgattatggtcacaaagtccttcgtcaggattaatccatcaaataa
+tgcctgatagcacatatcaggcgttgtcctcacttctttttgtattccttgaatcacatc
+acaaaatagacaaatctcaggcggcaaaaaacgacgtctgaatgcattttttttgctggc
+gacaaacccacgtaaaaagctcaccgtaggcgcaaataccctcattttgattgcgtttta
+cggagcaaataatgtctaacgtgcaggagtggcaacagcttgccaacaaggaattgagcc
+gtcgggagaaaactgtcgactcgctggttcatcaaaccgcggaagggatcgccatcaagc
+cgctgtataccgaagccgatctcgataatctggaggtgacaggtacccttcctggtttgc
+cgccctacgttcgtggcccgcgtgccactatgtataccgcccaaccgtggaccatccgtc
+agtatgctggtttttcaacagcaaaagagtccaacgctttttatcgccgtaacctggccg
+ccgggcaaaaaggtctttccgttgcgtttgaccttgccacccaccgtggctacgactccg
+ataacccgcgcgtggcgggcgacgtcggcaaagcgggcgtcgctatcgacaccgtggaag
+atatgaaagtcctgttcgaccagatcccgctggataaaatgtcggtttcgatgaccatga
+atggcgcagtgctaccagtactggcgttttatatcgtcgccgcagaagagcaaggtgtta
+cacctgataaactgaccggcaccattcaaaacgatattctcaaagagtacctctgccgca
+acacctatatttacccaccaaaaccgtcaatgcgcattatcgccgacatcatcgcctggt
+gttccggcaacatgccgcgatttaataccatcagtatcagcggttaccacatgggtgaag
+cgggtgccaactgcgtgcagcaggtagcatttacgctcgctgatgggattgagtacatca
+aagcagcaatctctgccggactgaaaattgatgacttcgctcctcgcctgtcgttcttct
+tcggcatcggcatggatctgtttatgaacgtcgccatgttgcgtgcggcacgttatttat
+ggagcgaagcggtcagtggatttggcgcacaggacccgaaatcactggcgctgcgtaccc
+actgccagacctcaggctggagcctgactgaacaggatccgtataacaacgttatccgca
+ccaccattgaagcgctggctgcgacgctgggcggtactcagtcactgcataccaacgcct
+ttgacgaagcgcttggtttgcctaccgatttctcagcacgcattgcccgcaacacccaga
+tcatcatccaggaagaatcagaactctgccgcaccgtcgatccactggccggatcctatt
+acattgagtcgctgaccgatcaaatcgtcaaacaagccagagctattatccaacagatcg
+acgaagccggtggcatggcgaaagcgatcgaagcaggtctgccaaaacgaatgatcgaag
+aggcctcagcgcgcgaacagtcgctgatcgaccagggcaagcgtgtcatcgttggtgtca
+acaagtacaaactggatcacgaagacgaaaccgatgtacttgagatcgacaacgtgatgg
+tgcgtaacgagcaaattgcttcgctggaacgcattcgcgccacccgtgatgatgccgccg
+taaccgccgcgttgaacgccctgactcacgccgcacagcataacgaaaacctgctggctg
+ccgctgttaatgccgctcgcgttcgcgccaccctgggtgaaatttccgatgcgctggaag
+tcgctttcgaccgttatctggtgccaagccagtgtgttaccggcgtgattgcgcaaagct
+atcatcagtctgagaaatcggcctccgagttcgatgccattgttgcgcaaacggagcagt
+tccttgccgacaatggtcgtcgcccgcgcattctgatcgctaagatgggccaggatggac
+acgatcgcggcgcgaaagtgatcgccagcgcctattccgatctcggtttcgacgtagatt
+taagcccgatgttctctacacctgaagagatcgcccgcctggccgtagaaaacgacgttc
+acgtagtgggcgcatcctcactggctgccggtcataaaacgctgatcccggaactggtcg
+aagcgctgaaaaaatggggacgcgaagatatctgcgtggtcgcgggtggcgtcattccgc
+cgcaggattacgccttcctgcaagagcgcggcgtggcggcgatttatggtccaggtacac
+ctatgctcgacagtgtgcgcgacgtactgaatctgataagccagcatcatgattaatgaa
+gccacgctggcagaaagtattcgccgcttacgtcagggtgagcgtgccacactcgcccag
+gccatgacgctggtggaaagccgtcacccgcgtcatcaggcactaagtacgcagctgctt
+gatgccattatgccgtactgcggtaacaccctgcgactgggcgttaccggcacccccggc
+gcggggaaaagtacctttcttgaggcctttggcatgttgttgattcgagagggattaaag
+gtcgcggttattgcggtcgatcccagcagcccggtcactggcggtagcattctcggggat
+aaaacccgcatgaatgacctggcgcgtgccgaagcggcgtttattcgcccggtaccatcc
+tccggtcatctgggcggtgccagtcagcgagcgcgggaattaatgctgttatgcgaagca
+gcgggttatgacgtagtgattgtcgaaacggttggcgtcgggcagtcggaaacagaagtc
+gcccgcatggtggactgttttatctcgttgcaaattgccggtggcggcgatgatctgcag
+ggcattaaaaaagggctgatggaagtggctgatctgatcgttatcaacaaagacgatggc
+gataaccataccaatgtcgccattgcccggcatatgtacgagagtgccctgcatattctg
+cgacgtaaatacgacgaatggcagccacgggttctgacttgtagcgcactggaaaaacgt
+ggaatcgatgagatctggcacgccatcatcgacttcaaaaccgcgctaactgccagtggt
+cgtttacaacaagtgcggcaacaacaatcggtggaatggctgcgtaagcagaccgaagaa
+gaagtactgaatcacctgttcgcgaatgaagatttcgatcgctattaccgccagacgctt
+ttagcggtcaaaaacaatacgctctcaccgcgcaccggcctgcggcagctcagtgaattt
+atccagacgcaatattttgattaaaggaatttttatgtcttatcagtatgttaacgttgt
+cactatcaacaaagtggcggtcattgagtttaactatggccgaaaacttaatgccttaag
+taaagtctttattgatgatcttatgcaggcgttaagcgatctcaaccggccggaaattcg
+ctgtatcattttgcgcgcaccgagtggatccaaagtcttctccgcaggtcacgatattca
+cgaactgccgtctggcggtcgcgatccgctctcctatgatgatccattgcgtcaaatcac
+ccgcatgatccaaaaattcccgaaaccgatcatttcgatggtggaaggtagtgtttgggg
+tggcgcatttgaaatgatcatgagttccgatctgatcatcgccgccagtacctcaacctt
+ctcaatgacgcctgtaaacctcggcgtcccgtataacctggtcggcattcacaacctgac
+ccgcgacgcgggcttccacattgtcaaagagctgatttttaccgcttcgccaatcaccgc
+ccagcgcgcgctggctgtcggcatcctcaaccatgttgtggaagtggaagaactggaaga
+tttcaccttacaaatggcgcaccacatctctgagaaagcgccgttagccattgccgttat
+caaagaagagctgcgtgtactgggcgaagcacacaccatgaactccgatgaatttgaacg
+tattcaggggatgcgccgcgcggtgtatgacagcgaagattaccaggaagggatgaacgc
+tttcctcgaaaaacgtaaacctaatttcgttggtcattaatccctgcgaacgaaggagta
+aaaatggaaactcagtggacaaggatgaccgccaatgaagcggcagaaattatccagcat
+aacgacatggtggcatttagcggctttaccccggcgggttcgccgaaagccctacccacc
+gcgattgcccgcagagctaacgaacagcatgaggccaaaaagccgtatcaaattcgcctt
+ctgacgggtgcgtcaatcagcgccgccgctgacgatgtactttctgacgccgatgctgtt
+tcctggcgtgcgccatatcaaacatcgtccggtttacgtaaaaagatcaatcagggcgcg
+gtgagtttcgttgacctgcatttgagcgaagtggcgcaaatggtcaattacggtttcttc
+ggcgacattgatgttgccgtcattgaagcatcggcactggcaccggatggtcgagtctgg
+ttaaccagcgggatcggtaatgcgccgacctggctgctgcgggcgaagaaagtgatcatt
+gaactcaatcactatcacgatccgcgcgttgcagaactggcggatattgtgattcctggc
+gcgccaccgcggcgcaatagcgtgtcgatcttccatgcaatggatcgcgtcggtacccgc
+tatgtgcaaatcgatccgaaaaagattgtcgccgtcgtggaaaccaacttgcccgacgcc
+ggtaatatgctggataagcaaaatcccatgtgccagcagattgccgataacgtggtcacg
+ttcttattgcaggaaatggcgcatgggcgtattccgccggaatttctgccgctgcaaagt
+ggcgtgggcaatatcaataatgcggtaatggcgcgtctgggggaaaacccggtaattcct
+ccgtttatgatgtattcggaagtgctacaggaatcggtggtgcatttactggaaaccggc
+aaaatcagcggggccagcgcctccagcctgacaatctcggccgattccctgcgcaagatt
+tacgacaatatggattactttgccagccgcattgtgttgcgtccgcaggagatttccaat
+aacccggaaatcatccgtcgtctgggcgtcatcgctctgaacgtcggcctggagtttgat
+atttacgggcatgccaactcaacacacgtagccggggtcgatctgatgaacggcatcggc
+ggcagcggtgattttgaacgcaacgcgtatctgtcgatctttatggccccgtcgattgct
+aaagaaggcaagatctcaaccgtcgtgccaatgtgcagccatgttgatcacagcgaacac
+agcgtcaaagtgatcatcaccgaacaagggatcgccgatctgcgcggtctttccccgctt
+caacgcgcccgcactatcattgataattgtgcacatcctatgtatcgggattatctgcat
+cgctatctggaaaatgcgcctggcggacatattcaccacgatcttagccacgtcttcgac
+ttacaccgtaatttaattgcaaccggctcgatgctgggttaatgactcgtcccgtcacga
+tcttcagcaatatgctgaagcatcgtggcggtataacgatgatttctgattgaataaaga
+tattcctgcatatacatcggcctgtgcggtgcatcaaaatatttcagcgttgccggattc
+accagtcgccaggcaaaatgcgggatcaccgtcagaaaatgtccgcgctccacggcgctg
+attttggccataaaactgtagggacgataaataatggttggattgatcccacaaggtcgc
+atattcgcatcaatcattgcttcgaagttggcccggttctgaaagcgcatttgtagccag
+ggcagctcctgaagcagctcttgctcttgtcgctcttcataacggcgagaaacgagaaag
+cctaatcgcagcggtggtagttcactgatagtcaggttttccagttcctgaactcgtgca
+gatacatgctgtggggagataataaaatctaactggcggtcaaaaagattatcgataacg
+ccattttcgctgaactcaactggctgggcggtcacgccttcatacttatctccgagacta
+atcaactgatcgaaaataattgtcggataagtattatctatgccaatcacaatttctcgt
+gaacgacgccctgagttatggatttcattatcaatcgcagaaagccgttgataaaccggg
+aacagtttttgatacagttcctgtccggctttattgaggctgatattattatctttgcgg
+gtaaatagcgtatagccaatttgttcttccagcgcggcaatgcttttaccaaatggcgaa
+gccgtcatatggattttttctgccgcccgggcaatattattggtttgcgctaataaaatg
+aaattgcgcatctttttcgaaataaaaatgtccatccccctcccccgcatccttgtccgc
+ttaaccgtttcagtcagcctatccttgatgaaaccgcgagcaaagataggtgattacgtc
+atggttttacagaaaattacagaaaaaggaggcaatatcgggtaaaggcattagcccgac
+gaatacgtcgggctacaaatattattgtgctgcaggtgttttagcgggttgttgatccac
+aggttctaactggaagaccacatcgacctgatcatcaaactgaatagcggcctgctcgta
+agtttcctgggcggacaccggcgcggcatcggctttcatcatccgcaccattgggctggg
+ctgatagttggaaacatggtagcgcacgctatataccggccccagtttacgatgaaagcc
+gttcgccagttcctgcgcctgatgaatcgcgttatcaatcgctgccttacgcgctttgtc
+tttataggcatccggctgcgccacgcccagcgacacagaacgaatttcgttaagacccgc
+cttcagcgcgccatccagcaaggaattcagtttgtctaactgacggagcgtgacttccac
+cgttctcacagcgcggtagcctttaaggatacttttaccatcctgataatcataatctgg
+ctgggtgcgtaagttcgctgagctgatatcttttttcgcgatctgattgagttcaaggaa
+ggaaatgtattgtgcgacgcgctcatctgcctgtttcttggcagtagcggcatccttcgc
+ggccacgttaacttcaatcgcaagagtggcaatgtctggcaccgcatccacgcttgccgt
+accggaggtgacaatatgcggtccatccggcaattcgttagcctgcgctgccatcccgct
+aatacccattaatgccgccagggcgataactttgaacttcacgttagtctctccgtgtta
+attgacttgcccaaaattcaggacctctggaggcaagcttagcgcctctgttttattttt
+ccatcagatagcgcctaactgaacaaggcttgtgcatgagcaataccgtctctcgccagc
+tgcaaggcaataaaccacataacacatcccacaaccagattgataatgcgctgtgctttt
+gccgtgcgcagacgcggtgccagccaggctgcgagaagagccagaccaaagaaccacagg
+aaagaggcgctaattgtcccgagtgcaaaccagcgttttggttccacatcaagttgcccg
+ccaaggctgcccagtacaacaaaagtatccaggtaaacatgcggattcagccaggtcact
+gccaacatggtggcgataattttccatctgccttgcttcatgacttcggcgctggctaac
+tcaatattactgctcattgctgttttaaaagcgccaaaaccataccacagcaagaaggct
+acgccgccccaggtgaccagcgccagcaaccacggcgactgcatcaataacgcgctgcca
+ccaaaaatcccggcgcaaatcaggaccaaatcgctgatagcacaaagtaaggcaatcata
+atgtggtactgacgacgtatgccctgattcatcacaaaagcattttgtggaccgagcggt
+aggatcatagccgccccaagtgcaagaccttgaaagtaataagaaaacacgttggatatt
+ccgaattaagtatctgatgcagagactatatcgcgggattgttattagcggaaattgata
+atattaattggcaatcagaaaaactaataagagagaggccagagagtattatctggcctc
+agcgttgattacgcagctttgtcttctttcacccgcttaaagttcacatccatttgcggg
+tacgggaagctgataccggcggcatcaaattcacgtttaatacgctccagcacatcccag
+tacacgttttgcagatcgccgctgttgctccagacgcggaccacgaaattaatcgacgat
+gcaccaagttcgttcaggcgcacagtcatttcgcgatctttcaaaatgcgatcttcagac
+tggataatattggtcaggatctgcttaacctgatcgatatcggaatcatacgccacgcca
+ataataaattcgttacggcgaactggctcgcgggagaagttaataatatttccggcaata
+attttaccgttcggaataacgataattttaccgtctgcagtacgcatggtggtggagaaa
+atctgcacactcagcacagtaccggctacgccgcccaggtcaacatattctccggcacgg
+aacgggcggaacatgacaagtaacacgccagcggccaggttagacagtgacccctgcaaa
+gccagaccaacagctaagcctgcggcaccgagtacagcaatgactgacgcggtttgtaca
+cccacgcgtcccagtgcagcgattagcgtaaaggcgataataccgtaacggactaatgca
+gaaagaaaatcagcaacagtggcatcgattttacgggagatcatcaggcgattcaccgcg
+ttggaaatcatccgcgcgataatcaaaccaacgatgatgatcgcgagtgccgccacgatg
+tttactgcataacttagcagcagcgcctggttagctaccagccagcttcccgcgccgttt
+atgctatcgacaacattcaaatcttccattcaatattccttttcaactgactcaaaatgg
+agaaatacactccgccgccttatgacgggcagtctgacaagggtaaacaataaagcataa
+ttttgccaaatagatcacagatttctcatctgaatcaccttgcttttggcgaaaaaatcc
+ccgcagagcggggctcagacagatatcaatgtgcgctttgtcatgccggatgcggcgtga
+acgccttatccggcctacaaaaacctgcaaattcaatatattgcaggatacgtgtaggcc
+tgataagcgtagcgcatcaggcaattttgcttttggcgaaaaaaagacccgcagagcggg
+ccttgagataagcagaaaggaatatcttacagaacgtcgatcgcgttcagttcctggaat
+gctttctccagacgagcgatcatcgaagtctgaccggcacgcagccatacgcgcggatcg
+tagtatttcttgttcggctgatcttcgcctttcgggttacccagctgaccctgcagataa
+gcttcgttcgctttgtagtagttcagaacgccttcccaggttgcccattgggtatcggta
+tcgatgttcatttttactacgccgtagcttacggagtctttgatttcctgagcagtagaa
+ccggaaccaccgtggaatacgaagttcaggctgttgtgcggcaggttgtgtttcttggaa
+acatattcctgagaatcacgcaggatggtcggagtcagaaccacgttacccggcttgtaa
+acaccgtgtacgttaccgaaggacgctgcgatggtgaaacgcgggctgattttgctcagt
+tcggtgtatgcgtaatcaacgtcttccggctgggtgtacagtgcagaagcgtccatgtgg
+ctgttgtccacgccgtcttcttcaccaccggtgcaacccagttcgatttccagagtcatg
+ccgattttggacatgcgctccaggtatttagagcagatttcgatgttctcttgcagagat
+tcttcagacaggtcgatcatgtgagaagagaacagcggcttaccggtagctgcgaagtgt
+ttttcacccgcgtccaacagaccgtcgatccacggcagcagtttcttcgcgcagtggtca
+gtgtgcaggataaccggaacaccataatgttcagccatctggtgaacgtgatgcgcacca
+gagatcgcgcccaggatagcagcaccctgcggaacgtcagatttcacgcctttaccagcg
+ataaaggaagcaccaccgttggagaactgaacgataaccggcgctttaactttagcagcg
+gtttccagtacggcgttgatggagtcagtaccgacgcagtttactgctggcagtgcgaag
+ttgttttcttttgctacctggaaaactttctgtacgtcatcaccagtgattacgccaggt
+tttacgaaatcaaaaatcttagacatgtctcttgtcctgtatcgtcgggccttatactcg
+tcatacttcaagttgcatgtgctgcgtctgcgttcgctcaccccagtcacttacttatgt
+aagctcctggggattcactctcttgtcgccttcctgcaactcgaattatttagagtatga
+aaaattgcgtgctctaaaagcgcgctgaaacaagggcaggtttccctgccctgtgatttt
+ttacttcttagcgcgctcttcgagcatcgctactgcaggcagtactttaccttccacgaa
+ttcgaggaatgcgccgccgccagtggagatgtaggagattttgtcagcaatgccgaacag
+gtcgattgctgccagagtgtcgccgccgccagcgatggagaacgcttcgctgtctgcgat
+agcgttagccacgatttcagtacctttgcggaagttcgggaattcgaacacgccaaccgg
+accgttccacagaatggttttcgcattcttcaggatttcagccagttcctgagcggaagc
+atcaccgatatccaggatctgctcgtcagctttcacatcgttaacagatttcagggtagc
+cggtgcagtttcagagaactcggttgctacgcgaacatcagacggaaccgggatgttgca
+ggtggtcagcagacgtttagcttcgtcaaccaggtcagcttcgtacagggatttacccac
+atcgtggccttgtgccgcgataaaggtgttagcgataccaccaccaacaatcagctggtc
+agcgattttagacagggagtccagaacggtcagtttggtagatactttagaaccaccaac
+gatagccaccatcgggcgagcaggttctttcagtgctttacccagcgcgtccagttcagc
+tgccagcagcgggcctgcgcacgcaacgtcagcgaatttaccgataccgtgagtagaagc
+ctgcgcgcggtgagcagtaccgaatgcgtccattacgaacacgtcacacagtgcagcgta
+ttttttggacagggtttcgtcgtctttcttctcgcctttgttgaagcgaacgttttccag
+aacaaccagttcaccttcagcaacgtcaacgccgtcgaggtaatctttaaccagacgaac
+cgggttagacagtttgtctttcaggtagttaacaaccggcagcagagagaattcttcgtt
+gtactcgccttcggtaggacgacccaggtgggaagttaccatcacttttgcgccttgttt
+cagggccagttcgatggtcggcagagaagcacggatacgcgcgtcgctggttactttccc
+gtcttttactggtacgttcagatccgcacggataaatacacgtttcccagcaagatccag
+atcggtcatcttaattacagacatggtgaatcctctcgttgattctaaaagttttgcaga
+cgctgcttgcgtcttacctgaaagcaacagtagccatagctaacgtcgtgtcgagcattc
+ggttagcaaagccccattcgttatcgcaccagaccaacgttttgatcaggtgtgcgccac
+tgacccgggtttgggtgccatcgacaatggcactgtgcggatcgtggttaaaatctacag
+agaccaacggcaattccgtatagtcaactataccatgaaatgcaccttgtgctgcttttt
+gcagcaacaggttgacttcattggcttttacaggtttcttcaccgtcacgcttaaatcga
+ttgccgtcacatttatggttggcacacgtaccgcaatcgcttcaaagcgatcgttaaatt
+gcggaaaaaatcgtgtgataccggcggccagtttagtatcgaccggaatgatcgactggc
+tggctgcccgggtgcgacgcaggtcaggatggtatgcatcaataacctgttgatcgtgca
+tggcggagtgaattgtggtcacagtgccggactcaataccgtacgcatcatctaacaatt
+tgatgacgggaattatgcaattcgtggtacaggaagcgttagaaacgatgcggtgttccg
+cacgaagttgatcctgattgacgccgtaaacaacggtcgcgtcgagatcgttactgccag
+gatgtgaaaagagcacttttttggccccggcggcaatatgcgcttcgccatgctcgcggg
+agccatatacgccggtgcagtcgaggactacatcaacgccaagttcacgccaggggagcg
+attgcagtgaacgttcatgcaatacgcggatggcgtcatcaccaacaaaaagttgatcgc
+gttcctgtcgtacttcccatgcaaaacggccatggctggtgtcatatttcaacaaatgcg
+ccatgcccgcagcatccgccagttcgttgattgccaccacggtaatttccgcccggcgtc
+cggattcatacaaagcacgaaccacattacgcccgatgcgaccgaagccatttatcgcta
+cgcgtacggtcatagatctcctgcaaggttttccctgagcaaatttgccagacagagtaa
+tccagcaaatcgtccggggaaaccttacctgtcgcaaactgcgactgattggttaattgt
+cgaacatttaatcgactgaaacgcttcagctaggataagcgaaacgtggaataaaaggaa
+tgtttgtccagccgaagaagacatttatctgactcacatcacacttttatccccttttgt
+gggaagctttattccaggctggcgtaataataaccctacaataactggaataaattgtca
+gcttgtgaagtgataccggccttcttcagtcatctctactatcagattggcctgacggct
+attcatcagcacacgctcgacattggggccatcggtgcgggcataaaatgcttcggctac
+ttgccgcgttaatcctcccgcaattttacgactaatcaagcgctcccgcagaatttgagc
+aggtgcatgaataaaaatagaaaaatcgcagaaagatgccaactccagccacttttcatc
+atccagtaacaaccagtttccttcgacgatgacgagtggtgcggtaacgtgcaacgcatc
+ttcaacaggatcatgcttttgtcgatcgtactgcggccacgtacaatccccttccacgac
+ctggcgcagattttccgtcagtttcgcaacgtcaaatgtctctggtgcgcctttgaaggg
+gcgcaattgatgcgcatccagccagctattgtaatggtgaaaaccatccatcgggagcgt
+ctgaatagcgggcagttccgggtcttgttgcgcgagatattcccagaaggtggttagggt
+tgatttacccgtccccggcggagcgcaaagaaaaaccaccgtacgccgctgcggatttac
+cgtctgtaaggccgccaacatgtgcagcaacggtttatgtacattttcaatctcttcgtt
+ctggtactgtgcctgtatcttcagcccattcaccgttaattcaattttcacggcgttaat
+tcctttaaggtggtcgttactgccagcgtcagcgccgttttgaccattccgctaaaacgc
+gcctctgaccagacggagaaatcagcgaacttcatcgcttttaacgcgtcatagagcatc
+gcattgcgggttatgctattgacgttgctgataaaatcccaggtcatgtcatcggcaaat
+ccgggcgtttcatcctgttcgttcaggtaatgccagaactgggaaaaatgcgtgatatcg
+gcgtacaaccatttatccattttccccaacgcataaatcaaacgcagtgcaacatcaata
+tcgtcaagcgggccgctttgggcgagtaacggcttcactgcatattccacgatctcttca
+tcgttatcgacaaacagcgacggcagaaactggcgtatcccctggagcaaaatggtatgc
+gcagttttcataaatgaaaataaattgtcctgtgcatccagttgctcaagcacatcatct
+tctgtcagcgtcgccattggtcttccgatagatcaccatcaatgcagggagtctattata
+ttacacgtttggtccgcgccgccgatcagtaatgtctgcgtccgcaccccattcgccgtc
+tgttggataccgttcaccagctcaccgcccgtcacgcccgtagcgctaaagaggatatcg
+ttccccctcaccagttcatcgagcgagtacacacggttaacgtcaacgcccattgccttg
+caacgcttgcgctcctgctctgcaatctgccgattttccgtgtaatcccctttagcctgg
+caaaagtcaatcagctcggcctgcatatccccgcctaatgctttaacggcacaggcagaa
+atcacgccttctggcgcaccgccgatggtgtacatcacatcgtaaggattatcctgccag
+caggtcagcacgctggcggcgacatcgccatccggcagggcaaaaaccttcacgcccagc
+tgtgttgcttcctcaatcgcggcactcaggcgcggtttatccagcgtaaccatgcgcagc
+ttatccagcggtttgcctaacgctttcgccacgttgcgcaggttgtccgtcagaggcaaa
+gacagatcaatcgcgcccgccgccagccgattaacaaccagctttttcatatacatatcg
+ggcgcatgtaacaggctatctcgaggggcgaaagccatgaccgccagcgcattgctctgc
+cccatcgccaccatccgcgtgccttcaatgggatcaaccgcgatatcgacttctggccca
+tcgcctttgcccacctcttcgccaatccacagcatcggcgcatggtcaatttctccttcg
+ccgataaccactcgtccacgaaaagcgacgtcgtttaatgcctggcgcatcgcggtgacc
+gccaggccatcaattttatttttgtcgccacatccggtttgcggccaggcagccaacgct
+gcctgttccgtaacgcgaaataatggccacgccagggacatcattgcgcggcctccccga
+tatcaacgccaaattgtgccagcagatatttctcggcctgttcattccagatgccgtgcg
+tttcctcaaccagccgcgccaactctttaaacagcggatcggttttgcctttttcggcaa
+aatcggcaatggcagtgagcggcatggtcacgccgttataaatgagttttttaccgccag
+ggatatccggcagattgagcacggtttctggcaccgcatccaggccaccgatatgggtca
+ccataaacgacggctgtaactgcccagtggcgctaagggcaatcgcctctttcatgtcgt
+ccgttgaaccgccagatgtaccgacgacgtgcgtgctgttgtaatggacgttgtagaaat
+taaacggcactttgaagtttttatccgtcggcccggcaaagaagttcagacagccatctt
+ccgccagtaattcatcagccatctcaacgacagcaggcaccgccgcataaacaaaaatgt
+catcgaacccggcatctcctgtcagcgcccgcagcatctggacaggatcgctcatccctt
+tggtattcacatacaccagctcaatgcctttactggccgccagttccaccggcagcagct
+tctgtacctgcgccagacgtttgtcgtcgatatcgaccaccaccacccgcgacggttgta
+tgccgccgttaatggcgtaatcgatagcgccaatgcccatcggacctgcacacgccagca
+gtgcaatattgccgccaggtttgacgcccatgcgatgctcataaacatattgcgtggtgt
+gataattggcatgataagcaccaataatgcagcacataggctctgccagcgacgccgcag
+caaaataagagccgtgatacggtaatacgcagcccaaattaatggcgatttcgggaataa
+tcatataagtggcattgccgccaaaatattcgtagctgtagcccgctgaatatccgcttg
+gtaaccccatcgccggttgcaatacaaaacgctggccttttttatatttgccagtgagat
+ttttacccacttcgacaataaccccggcacattcatgcccggtaatgaccggatgatttt
+ctaaatcgtcgggtacgcgtttatgttcactaccgagtaacgccgctttccaggtcgata
+aacagacgctgtcagaaattacactcaccagtaattcattatcggtaatttctggcagtt
+caaatacgcgcagacggacatcccgcttgccataaatagcagcaactttggttttcattt
+ttacctctgtaatcagtgtttatgttcggcggttaattgattaaataaagtgtcgagttt
+tggatcgccaatatagttattaatcaatatcagtggtttatccgtcacacgtttcacgcg
+cccttccagactggcatgagtaacgacgatatccgcatccgcaggcacgttttctatggc
+gtaatgttttacttcaattgccagccccgctttttccaggcgtttacggaaggtggtcgc
+gcccatcgcactggagcccatccccgcatcgcaaacaaaggcgatacgcttaaccctgct
+taacgagaatgcaccctcttgtttcatcgccttaaccgcattggctgactgagcaaactc
+atcttcgctctccgtttccaccgttttttccatcttcagtatcagcgaagtaatagcaaa
+ggacaccagggtacctaccgtaacaccggcaattgtcgccaggaacgagcctttcggcgt
+cagtgccaggtaagcaaagatagaccccggacttgggccagccaccagaccaccgtccag
+taagttaaacatccaggtgccagacataccgcccgcaatcatggcaataatggtcagcgg
+cttcatcagcacatacgggaaatacagttcgtggatcccaccgaggaagtgaataatcat
+cgccccgggcgcagaacgtttactcatccctttaccaaacaaggtaaacgccagcagcag
+ccccaggcccggacctgggttagaggccaccataaagaagatggatttaccgttaaccga
+agcctgttgcattcccagcggataatagacgccctgatcgatcgcattattgaggaaaag
+cactttcgccggttcattgatgactgacaacaatggcagataacccgcatgtaccagcgc
+ctcaatacactctttgacgaaagtattggcaattaacaccgccgggccgataacttcaaa
+acccagcagacaaaggagcatccccgcgatacctaatgagaagttattgataaccatctc
+aaaaccggcaggtatgcgtttttccagtgccttatcgacatattttatgaccaacccacc
+gagcggccccatgatcattgagccaaggaacatcgggatctctgcgccaacgatcacacc
+aatagtacctattccgcccatgaccgccccgcgtttaccgccgaccagatgaccacctgt
+agaaccaatcatcacgggcaataaataggtaatcatcgggccgacaattttggcgaaatg
+ttcgttaggcagccaaccggtgggaataaataacgcagtaataaaaccccaggcaataaa
+agcaccaatattggggatgaccattgcagtcaaaaagcccccaaaagcctggacctttgc
+acgagcagacttgttttccataatattatcctgtagaggagagagtaattatccgcggct
+gataatgtccgctaattgtttttctgatgatgctgttaagagttgttcgagtatttcttc
+ttcgcacagtaattcacttaacgcctgaatagcgccaatgtgcgaatcggcatcggcagc
+agagagtccgatgagtaatttaattggttcgtcattccccggaaaataaacaccttgttc
+aagtaatgtcaaagacatcccggttttaagcgccccacattccggtcgcgcatgaggcat
+tgccacgcctggtgcgagaatataataagggccattgttaatggtggaatctttaattgc
+ctgaatgtaattctcgctgatatagtttttatccagcaatgataccatcgagaaatcgat
+agcttcctgccaatcttttgctgaatgtataactgagattgatgattctggaaaataatc
+actaagccgcataaattatccttattttatttttagggtaccgtccggcggtaaaaataa
+aatactcgtgcggtttaatgaaagcaattgagcagggaaaccggtgttttgaaaacagtg
+aattattaatttcttatataacattgagttatagatataacaacaaatgtcaatacgcat
+atcgtgatgcatattacataattgatatttattgcatataaatatttgtgatctacaaca
+cgccttatctattgcttgtccgcaaacggacatatcaaggtaataaaaaaggtcgccgaa
+gcgacctttttacccgaaatgctaattacagcagttcttttgctttcgcaacaacgttat
+caacagtgaagccgaactcttcaaacagcagctctgccggagcagattcaccgaaggtgg
+tcataccgacgatagcaccgttcaggccaacatacttgtaccagtagtcagcaatacccg
+cttctacagcaacgcgtgcagtaaccgctttcggcagtacggattcacggtaagcagcat
+cctgcttgtcaaatgcgtcggtagacggcatggacaccacgcgcgctttcacgccttcgg
+cagtcagtttttcgtaggcagcaacagccagttcaacttctgaaccggtagcgatgaaaa
+tcagttccggctgaccggcgcagtctttcagcacataaccaccgcgcgcgatgtttgcca
+gttgctcttcagttcgttcctgctgcgccaggttctgacgggagaggatcagtgcggtcg
+ggccgtcctgacgctcaacaccgtatttccacgcgaccgcggattcaacctggtcacacg
+gacgccatgtagacatgttcggggttacgcgcagagaagcgacctgctcaaccggctggt
+gagtcgggccgtcttcgcccagaccgatggagtcgtgggtgtaaaccatcacctgacgct
+gtttcatcagcgcagccatacgtacggcgttacgtgcgtattccacgaacatcaggaagg
+tggaggtgtacggcaggaagccaccgtgcagggagataccgttagcaatcgcggtcatac
+cgaactcgcgaacaccgtagtggatgtagttacccgcagcatcttcgttgattgctttag
+aaccagaccacagggtcaggttagacggcgccaggtcagcagaaccgccgaggaattccg
+gcaacagcggaccgaacgcttcgatagcattctgagacgctttacggctggcgattttcg
+ccggattagcctgcagtttagcgatgaactctttcgctttagcgtcgaagtcagacggca
+tttcgcctttcatacggcgggtaaattcagcggcttcctgcggataagctttcgcgtaag
+cagcgaatttctcgttccatgcggattctttcgcctggcctgcttctttcgcatcccact
+gagcatagatttcagacgggatttcgaacggcgcatatttccagcccagttgttcgcggg
+tcagggcaatttcagcgtcgcccagcggcgcaccgtgggagtcgtgggtaccggctttgt
+tcggggaaccgaaaccgatgatggttttgcacatcagcagggaaggtttgtcagtcactg
+cgcgcgcttcttctactgcgcgtttgatagatgccgcgtcatgaccgtcgatgtcgcgaa
+taacgtgccagccgtaagcttcgaaacgcattgcggtgtcgtcggtgaaccagccttcaa
+cgtgaccatcgatagaaataccgttgtcatcgtagaatgcaatcagtttacccagcttca
+gcgtacccgccagagagcaaacttcgtgggagatgccttccatcatgcagccgtcgccca
+tgaaggcgtaggtgtagtggtcgacaatgtcgtggcccggacggttaaactgcgccgcca
+gcgttttttctgcaatcgccataccgactgcgttggcaataccctgacccagcggaccgg
+tggtggtttccacaccagcggtgtaacccacttccgggtgacccggagttttagagtgca
+gctgacggaagtttttcagttcttccatcggcagatcgtaaccggtgaggtgcagcaggc
+tgtagatcagcatggagccgtggccgttggacagcacgaagcggtcacggtcagcccagg
+acggattctgcgggttgtgtttcaggaaatcacgccacaggacttcggcaatgtcagcca
+tacccataggggcacccgggtgaccggatttggctttctgtactgcgtccatgctcagcg
+cacgaatagcattggcaagctctttacgtgaggacattttgactccagatcggatgatga
+agggcacgcccttaacgacttgacgacagcgcgttttgggctacgccggaaaatttgcca
+acaatttaccgcaagccgcgcgtcatgtacatggaacatccttttgccgcttcagaaatc
+tctggatcatgctcgcatgttgcgcaatctactcgcccgtccgctgcgcttttccttata
+ctgagactgagcgtcgattcacctgcaaacggcgcatttttagaataatcctgaccttgt
+gcggaagagaaaacatgaaaattcgcgccttattggtagcaatgagcgtggcaacggtac
+tgactggttgccagaatatggactccaacggactgctctcatcaggagcggaagcttttc
+aggcttacagtttgagtgatgcgcaggtgaaaaccctgagcgatcaggcatgtcaggaga
+tggacagcaaggcgacgattgcgccagccaatagcgaatacgctaaacgtctgacaacta
+ttgccaatgcgctaggcaacaatatcaacggtcagccggtaaattacaaagtgtatatgg
+cgaaggatgtgaacgcctttgcaatggctaacggctgtatccgcgtctatagcgggctga
+tggatatgatgacggataacgaagtcgaagcggtgatcggtcacgaaatggggcacgtgg
+cgttaggccatgtgaaaaaaggaatgcaggtggcacttggtacaaatgccgtgcgagtag
+ctgcggcctctgcgggcgggattgtcggaagtttatctcaatcacaacttggtaatctgg
+gcgagaaattagtcaattcgcaattctcccagcgccaggaagcagaagccgatgattatt
+cttacgatcttctgcgccaacgcggcatcagcccggcaggtcttgccaccagctttgaaa
+aactggcaaaactggaagaaggtcgccaaagctcaatgtttgacgaccatcctgcatccg
+ccgaacgcgcccagcatattcgcgatcgcatgagcgcggatgggattaagtaaagcctgg
+tggtgtcgaacgtaggtcagataaggcgttcacgccgcatctgacatgaatggcacattt
+gttaccttgtgcgcattgccggatgcgatgctggcgcatcttatccggcctacgggtgcc
+gaacgtaggtcggataaggcgttcacgccgcatccgacattaatggcacgttttacccgt
+gcgcatcgcatctggtgcttactcgccctttttcgccgcctgaatatacagcatttccag
+cgccagcgttgccgctgccagagcagtgatttccgactgatcgtatgccggagccacttc
+cactacgtccatcccaacaatgttgagatctttcaggccgcgtaccagtttaatagcgcg
+atcggaggtcaggccgccaatcactggcgtaccggtgcctggtgcaaaagcaggatccag
+gcagtcgatatcaaaagtcaggtaaaccggcatatcacccacaatctgtttcacttgggc
+gataacgtcatccacgctgcgatcgttcacctggcaggcgtccagcacggtaaagccgtt
+gtctttatcaaactcggtacgaataccaatctgcacggaatgattcgggtcgatcagacc
+ttctttcggcgcggtatagaacatagtgccgtggtcaaattcacaaccgttcgcataggt
+atcggtgtgggcgtcaaagtgtaccagcgccattttgccgaaatgcttcgcatgagcacg
+cagcagcggcagcgtaacaaagtggtcaccaccgaaagagagcatacgcttaccggcagc
+cagcagcttctcggcgtgcgcctgcagcttttcgctcatctcacgggcatcgccaaaggc
+atataccagatcgccgcagtccacgacgttcagacgctcacgcatgtcgaaattccacgg
+gaagcggttgtgttcccaggccagattcgtcgaaacctgacggatcgctgccggaccgtg
+gcgaccacccgcacgaccagaagtggccatatcgaacggcacgccagtaatcacccagtc
+tgcatcgctgtcatacggctggaagttcatcggcaggcgtaaaaaaccaaaggcattgga
+aaccagtgagttatcgtattgatgacctaaggtgctcatggatggactcctattacaaag
+tcgatataaaaaaacccttccgcgtcgttaggcccgacgaggaagggttggatttgtcac
+aataaattgtggcggattatcaccgctaaattaagcggattcaagtaacacaggacttac
+tcatcttcaagataagtataaccgtacaaacctgcctcgaactcttcaaggaactgttgt
+tgcagttcagcatcaagatcggttttcttcacttgatcgcggaactgggttaacagcgtt
+ttcggatcgagctgtacatattgcagcatgtccgccacggtatcgccttcgtcagacagt
+tctacttctacgctaccgtcagggaagacgaacacgtcaaccgcttcggtatcaccgaac
+aggttgtgcatgttgccgaggatctcctgatatgcgccgaccataaagaaaccgagcatc
+ggcggattctctggatcgtactccggcattggcattgtcgtggcaataccgtcaccatca
+atatagtggtcgatagcaccgtcagagtcacaggtaatatccagcagcacagcgcgacgt
+tccggcacttgatccagcccttccagcggcagaaccgggaacaactggtcgatcccccat
+gcgtccggcatcgactggaacagcgagaagttgacgtacattttgtccgccatacgttcc
+tgcagctcgtcgataatcggacgatgagcacggttttgcggatccagctgcttttgcact
+tcatggcacatgctcaaataaagctgctcagcccatgcacgttcttgcaggctaaagatg
+ccggaagagtagccgatatgaatgtcgtgcagatccatctgactgtcgtgtaaccattca
+cgcagagaacggcgagttcccggttcgtgcatctcctgccaggtttcccacatgctttgc
+agcgcgcgcggcgcatcttctgcaggcgcggtcggcaccgtgtattcgttacgttccacg
+ccgatgatattagacaccagcacggtgtgatgcgcagtcaccgcacgacccgattcggtg
+attaccgtcggatgcggcagaccgttttcttcacacgcatcgccaatcgcccagataatg
+ttgttggcgtattcattgaggccgtagttcaccgaacagtcggactgcgaacgagtacct
+tcataatccacgcccagaccgccgccgacgtcgaagcactgaatattgacgcccagcttg
+tgcagttccacatagaaacgcgcggattcacgaacgcctgtcgcgatatcgcgaatattc
+gccatctgcgaaccgaggtggaagtgcagtagttgcaggctgtcgagacgcccggcttca
+cgcagggtttcaaccagttgcagtacctgagtcgcagccaggccgaacttcgatttttcc
+ccgccggaggactgccatttacccgaaccctgcgaagccagacgtgcacgcacgcccaga
+cgaggaacgacattcagacgttctgcttcatccagcacaatggcgatttctgacatcttc
+tcaatgaccagatagaccttgtgccccatcttctcgccaattaatgccaggcggatatat
+tcgcggtctttataaccgttgcagacgatgacgctacgggtcatgccagcatgtgccagt
+actgccatcaactcggctttggaaccggcttccagacccagcggttcgcccgaatgaatc
+agggactcaatcacgcggcggtgctggttaactttgatcggataaacaaggaagtaatcg
+ccgttatagccgtaggattccctcgcacgtttgaacgcggcgttaatggaacgcaaacgg
+tgctgcaggatctgtgggaaacagaacagtgcaggcagacgctggccctgtgcttcacga
+gttttcactaactgcgcgagatcgacgcgagcttccgggacgtccgggtccgggcacacg
+ctaatgtggcccagctcgttaacgtcatagtagttattgccccaccaggcaatattgtaa
+gtacgcagcatcttgctggcttcctgggagctcattgcaacctcctgcatggagcgtagt
+acaccgtgttcgcccgctgacgaaggcaaacccatagacatgtcgtcagacatagcgaac
+ctcaaattattttattaagtgtaaaacagttaacgactatcgcagcctggaactgcgata
+acaacccataagcacatggattttccagcagtgaatgctgacgctccaactgcgcaaccg
+gtttctttttcataacattattaagcacataaccgaacgtaagtgtgaaagttcggcgaa
+accacgagaaaactcttgtttttacaagagcgcccttgttcagtcctcagtaactgtaac
+cagctcttgaatcctgagaagcgccgagatgggtataacatcggcaggtatgcaaagcag
+agatgcagagtgcggggaacgaatcttcaccagaacggtgagacaggttaagcagcagac
+aacggttcattatttcgtatcacctccacggccgcctgttaagacgaacccacaagccaa
+aactctgatttcaacccggctggaagtggcaacacgaaagaaacgtcgtgtgctttttat
+ttaagccgcgcgccgcgttttataccccacaatggcagaaaattgcaaaagataaatacg
+cagaatgccggcattgtcaggaaaaatttccagccacgtttttaacagaatgagacacga
+ttcaaaaaaaagtggaaatagggtgaagaattgacctaaaatagccatccagatgttaat
+ccatccataccgattaacactcagactgccagtgtttttaacctgcagagtcgtggtagg
+atccgctaccacagaaaatccacacaacagtttgagctaaccaaattctctttaggtgat
+attaaatatggcaaaacacctttttacgtccgagtccgtctctgaagggcatcctgacaa
+aattgctgaccaaatttctgatgccgttttagacgcgatcctcgaacaggatccgaaagc
+acgcgttgcttgcgaaacctacgtaaaaaccggcatggttttagttggcggcgaaatcac
+caccagcgcctgggtagacatcgaagagatcacccgtaacaccgttcgcgaaattggcta
+tgtgcattccgacatgggctttgacgctaactcctgtgcggttctgagcgctatcggcaa
+acagtctcctgacatcaaccagggcgttgaccgtgccgatccgctggaacagggcgcggg
+tgaccagggtctgatgtttggctacgcaactaatgaaaccgacgtgctgatgccagcacc
+tatcacctatgcacaccgtctggtacagcgtcaggctgaagtgcgtaaaaacggcactct
+gccgtggctgcgcccggacgcgaaaagccaggtgacttttcagtatgacgacggcaaaat
+cgttggtatcgatgctgtcgtgctttccactcagcactctgaagagatcgaccagaaatc
+gctgcaagaagcggtaatggaagagatcatcaagccaattctgcccgctgaatggctgac
+ttctgccaccaaattcttcatcaacccgaccggtcgtttcgttatcggtggcccaatggg
+tgactgcggtctgactggtcgtaaaattatcgttgatacctacggcggcatggcgcgtca
+cggtggcggtgcattctctggtaaagatccatcaaaagtggaccgttccgcagcctacgc
+agcacgttatgtcgcgaaaaacatcgttgctgctggcctggccgatcgttgtgaaattca
+ggtttcctacgcaatcggcgtggctgaaccgacctccatcatggtagaaactttcggtac
+tgagaaagtgccttctgaacaactgaccctgctggtacgtgagttcttcgacctgcgccc
+atacggtctgattcagatgctggatctgctgcacccgatctacaaagaaaccgcagcata
+cggtcactttggtcgtgaacatttcccgtgggaaaaaaccgacaaagcgcagctgctgcg
+cgatgctgccggtctgaagtaatctttcttcacctgcgttcaaaggccagcctcgcgctg
+gcctttttcttttggataggcgttcacgccgcatccggcaaaaaaaccgcccgcacaata
+acatcattcttcctgatcacgtttcaccgcagattatcatcacaactgaaaccgattaca
+ccaaccacaacagacaaagatttgtaatattttcatattattattcggttttcacagttg
+ttacatttcttttcagtaaagtcttaattgcagataacagcgtttaatctatgatgatat
+aactcaattattttcatgcacttaaatcataactaagataaatgttagtgtaagcgatta
+cactgatgtgatttgcttcacatctttttacgtcgtactcacctatcttaattcacaata
+aaaaataaccatattggagggcatcatgcctgacgctaaaaaacaggggcggtcaaacaa
+ggcaatgacgtttttcgtctgcttccttgccgctctggcgggattactctttggcctgga
+tatcggtgtaattgctggcgcactgccgtttattgcagatgaattccagattacttcgca
+cacgcaagaatgggtcgtaagctccatgatgttcggtgcggcagtcggtgcggtgggcag
+cggctggctctcctttaaactcgggcgcaaaaagagcctgatgatcggcgcaattttgtt
+tgttgccggttcgctgttctctgcggctgcgccaaacgttgaagtactgattctttcccg
+cgttctactggggctggcggtgggtgtggcctcttataccgcaccgctgtacctctctga
+aattgcgccggaaaaaattcgtggcagtatgatctcgatgtatcagttgatgatcactat
+cgggatcctcggtgcttatctttctgataccgccttcagctacaccggtgcatggcgctg
+gatgctgggtgtgattatcatcccggcaattttgctgctgattggtgtcttcttcctgcc
+agacagcccacgttggtttgccgccaaacgccgttttgttgatgccgaacgcgtgctgct
+acgcctgcgtgacaccagcgcggaagcgaaacgcgaactggatgaaatccgtgaaagttt
+gcaggttaaacagagtggctgggcgctgtttaaagagaacagcaacttccgccgcgcggt
+gttccttggcgtactgttgcaggtaatgcagcaattcaccgggatgaacgtcatcatgta
+ttacgcgccgaaaatcttcgaactggcgggttataccaacactaccgagcaaatgtgggg
+gaccgtgattgtcggcctgaccaacgtacttgccacctttatcgcaatcggccttgttga
+ccgctggggacgtaaaccaacgctaacgctgggcttcctggtgatggctgctggcatggg
+cgtactcggtacaatgatgcatatcggtattcactctccgtcggcgcagtatttcgccat
+cgccatgctgctgatgtttattgtcggttttgccatgagtgccggtccgctgatttgggt
+actgtgctccgaaattcagccgctgaaaggccgcgattttggcatcacctgctccactgc
+caccaactggattgccaacatgatcgttggcgcaacgttcctgaccatgctcaacacgct
+gggtaacgccaacaccttctgggtgtatgcggctctgaacgtactgtttatcctgctgac
+attgtggctggtaccggaaaccaaacacgtttcgctggaacatattgaacgtaatctgat
+gaaaggtcgtaaactgcgcgaaataggcgctcacgattaatctccccaagcttcctccca
+tcgcggaggaagccacctcttgcagtcatcttttcttcgctctatcctctgccgctatga
+aaacatcccgtctccctatcgccatccaacaggccgttatgcgtcgcctgcgggaaaaac
+tcgcccaggccaacctgaagctagggcgtaactacccggagccaaaactctcttacaccc
+agcgcggaacctccgccggaacggcctggctggaaagctatgaaattcgcctcaatcccg
+ttttgctgttggaaaacagtgaagcttttattgaagaagtggtaccgcacgaactggcac
+atttgctggtatggaaacatttcggccgcgtagcgccacatggcaaagagtggaagtgga
+tgatggaaaacgtgctgggtgttcccgcccgtcgtacgcatcagttcgaactgcaatccg
+tgcgtcgcaacaccttcccctaccgctgcaagtgccaggagcatcagcttaccgtacgcc
+gccataatcgcgtagttcgtggcgaggccgtctatcgctgtgttcactgcggtgaacagc
+tggttgcgaaataaccatctgaactatcaggaactttcctgatctggctgattgcatacc
+aaaacagctttcgctacgttgctggctcgttttaacacggagtaagtgatgtaccgttat
+ttgtctattgctgcggtggtactgagcgcagcattttccggcccggcgttggccgaaggt
+atcaatagtttttctcaggcgaaagccgcggcggtaaaagtccacgctgacgcgcccggt
+acgttttattgcggatgtaaaattaactggcagggcaaaaaaggcgttgttgatctgcaa
+tcgtgcggctatcaggtgcgcaaaaatgaaaaccgcgccagccgcgtagagtgggaacat
+gtcgttcccgcctggcagttcggtcaccagcgccagtgctggcaggacggtggacgtaaa
+aactgcgctaaagatccggtctatcgcaagatggaaagcgatatgcataacctgcagccg
+tcagtcggtgaggtgaatggcgatcgcggcaactttatgtacagccagtggaatggcggt
+gaaggccagtacggtcaatgcgccatgaaggtcgatttcaaagaaaaagctgccgaacca
+ccagcgcgtgcacgcggtgccattgcgcgcacctacttctatatgcgcgaccaatacaac
+ctgacactctctcgccagcaaacgcagctgttcaacgcatggaacaagatgtatccggtt
+accgactgggagtgcgagcgcgatgaacgcatcgcgaaggtgcagggcaatcataacccg
+tatgtgcaacgcgcttgccaggcgcgaaagagctaacctacactagcgggattctttttg
+ttaacccctaccccacgcgtacaaccgcgtggggagacgacgcggatttttaactatgcg
+tatcccccgcatttatcatcctgaaccactgaccagccattctcacatcgcgctttgcga
+agatgccgccaaccatatcgggcgcgtactgcgcatggggccggggcaggcgttgcaatt
+gtttgacggtagcaaccaggtctttgacgccgaaattaccagcgccagcaaaaaaagcgt
+ggaagtgaaggtgctggaaggccagatcgacgatcgcgaatctccgctgcatattcacct
+cggtcaggtgatgtcgcgtggtgaaaaaatggaatttactatccagaaatcgatcgaact
+cggtgtaagcctcattacgccacttttttctgagcgctgcggcgttaaactggatagtga
+acgtctgaacaagaagcttcagcagtggcagaagattgcaattgctgcctgtgagcagtg
+tggtcgtaaccgggtgccggaaatccgtccagcgatggatctggaagcctggtgtgcaga
+gcaggatgaaggactgaaactgaatcttcacccgcgcgccagtaacagcatcaatacgtt
+gccgttaccggttgaacgcgtccgcctgctgattggcccggaaggcggtttatcggcaga
+tgaaattgccatgactgcccgctatcaatttactgatatcctgttgggacctcgcgtttt
+gcgtacagagacaactgcgctcaccgccattaccgcgctacaagtacgatttggcgattt
+gggctaacggagaagaataatgatcaagctcggcatcgtgatggaccccatcgcaaacat
+caacatcaagaaagattccagttttgctatgttgctggaagcacagcgtcgtggttacga
+acttcactatatggagatgggcgatctgtatctgatcaatggtgaagcccgcgcccatac
+ccgcacgctgaacgtgaagcagaactacgaagagtggttttcgttcgtcggtgaacagga
+tctgccgctggccgatctcgatgtgatcctgatgcgtaaagacccgccgtttgataccga
+gtttatctacgcgacctatattctggaacgtgccgaagagaaagggacgctgatcgttaa
+caagccgcagagcctgcgcgactgtaacgagaaactgtttaccgcctggttctctgactt
+aacgccagaaacgctggttacgcgcaataaagcgcagctaaaagcgttctgggagaaaca
+cagcgacatcattcttaagccgctggacggtatgggcggcgcgtcgattttccgcgtgaa
+agaaggcgatccaaacctcggcgtgattgccgaaaccctgactgagcatggcactcgcta
+ctgcatggcgcaaaattacctgccagccattaaagatggcgacaaacgcgtgctggtggt
+ggatggcgagccggtaccgtactgcctggcgcgtattccgcaggggggcgaaacccgtgg
+caatctggctgccggtggtcgcggtgaacctcgtccgctgacggaaagtgactggaaaat
+cgcccgtcagatcgggccgacgctgaaagaaaaagggctgatttttgttggtctggatat
+catcggcgaccgtctgactgaaattaacgtcaccagcccaacctgtattcgtgagattga
+agcagagtttccggtgtcgatcaccggaatgttaatggatgccatcgaagcacgtttaca
+gcagcagtaacccaccttagcgagaaggatctcgttgagactctgagtgacagcgccctt
+ctttccacgcatactgggcgctgttgcttttttgaaccaggaaacagaacctctgacaat
+gaatttacagcatcactttcttattgccatgcctgctctccaggatccgattttccgtcg
+ttccgtggtctacatttgcgaacataataccaatggtgcaatggggatcatcgtcaacaa
+gccgctggaaaatctcaaaattgaagggattctggaaaagctgaagatcacgccggagcc
+gcgtgatgaatcaatccgtctggataaaccggttatgctcggcggtccgctggctgaaga
+tcgcgggtttattttgcatactccgccctccaattttgcttccagcattcgcatttcaga
+caacacggtaatgaccacttcccgcgatgtgctggaaacgctcggcaccgataaacaacc
+gtctgacgtattggtggctctgggttatgcctcctgggagaaaggtcaactggaacaaga
+aattctcgataacgcgtggctaacggccccggcagatctgaatattctgttcaaaacgcc
+gattgccgaccgctggcgcgaggcggcaaaactgattggtgtggatattctcaccatgcc
+tggtgtggcaggacacgcctgatgagtggaaccttactcgccttcgacttcggcaccaaa
+agcattggcgtagcggtcggccaacgcattaccggcaccgctcgccctttgcctgcaatt
+aaagcacaggacggtacgccggactggaacattatcgagcgtttactgaaagagtggcag
+ccggacgaaatcatcgtcggtttgccgctgaatatggacggcaccgagcaaccattgact
+gccagagcgcgtaaatttgccaaccgtattcatggccgtttcggtgttgaagtaaagctc
+catgacgagcgtcttagcactgtggaagcccgttccggtctgtttgaacagggcggctat
+cgggcgctcaacaaaggcaaagttgactctgcctctgcggttattattctcgaaagctat
+ttcgagcagggatattaaggcgatttaaacgcctggcggagtgtaaataatatcatcgcg
+tcttattgccggatgcggcgtgaacaccttatccagcacacatctggcagcggctatagg
+tctgataagacgcgttagcgtcgcatcagacatttattgcctttgtaggcccgataagct
+tgcgcatcgggcatggcaacgtcacaaacgcccttcccccacccggtgctgataactctg
+ctgaaacgttatcatccccacctgctgcccggtttgaataacatgcggtaactggtgggt
+tttcccttcgcgaatcaaattccccaccgcgggtgtgttaatcagcaattcaaatagcgc
+cacgcgtccttcctgtttatccacttccagcttttgtgacagcactgcccgtaaactacc
+tgccagttgattacgcacggggtctttttcctgcgccggaaatgaatccaccagtcgctc
+aactgcctgcgcggcaccacgcgtatgtaatgttgccagcaccaaatgcccggtttctgc
+cgccgtcagtgccagacggattgtctcgctgtcacgcagctctccgagcaaaatcacatc
+aggatcttcccgcaatgcggcccgcaatcccgatgcgaacgtcatacagtgcaaaccaat
+ttcccgctgctggatcaaacatcgctggctggcatagagatattcaacaggatcttccag
+cgtcagaatatgcgcatcggcatgttgattgagatagccaaccatcgccgccagcgtggt
+agatttgccactccccgtcgcccccgtcaccagaatcaggccattctcgctcttgagtaa
+ttccggcaataccgttggtgcgccaagctgttcgagctgcgggcagtgcgaaggtaacag
+ccgtaacgccagcgaaatgccatgccgttgcgcgaatgcgctgccacgcaatcgctggtt
+ttccgccagcgacacggcaaaatccagctgaccattctccagcaatattgcccgctgatc
+gtcatccagccactcccgcagtagctcttcgacgtccggcgtatcaaacggcgcagcttc
+cattctgccgcgaatgcgccatcgtgcgggccaggcgctgcacaggtgtagatccgagac
+gttatgctttacactaagggccacaatttcttccatattcatactaagatcctcggaaaa
+tgaacgatattgcgcataacctggcacaggtccgggacaaaatctcagcggctgcaacgc
+gttgcggccgttctccagaagaaattacgctgcttgcagtcagtaaaacaaaacctgcga
+gcgccatcgcagaagccattgatgccgggcagcgtcaatttggtgaaaactacgttcagg
+aaggggtagataaaattcgccactttcaggaactgggcgtaacaggattagaatggcatt
+ttattggcccgttgcagtctaataaaagccgcctggtggcagagcatttcgactggtgtc
+ataccatcgaccgtttgcgcatcgctacccgtctcaacgaccagcgcccggcagaacttc
+cccctcttaacgttctgattcaaattaacattagtgatgaaaacagtaagtccgggattc
+aactggctgaactggacgagctggcagctgcggtcgctgaactaccgcgtttacgtctgc
+gcgggttgatggcaatccctgcgcctgagtcagaatatgtaaggcagtttgaagttgcac
+gccaaatggctgtagcatttgccggactgaaaacgcgctacccgcatatcgacacgctct
+ctctgggaatgtcggacgatatggaagccgccattgcggcaggtagcacgatggttcgta
+tcggcactgcaatttttggtgcgcgtgattactctaaaaaataaggaattaaaggaacgc
+catgaatacgttgactttcctgctttcaacggtcattgagctgtataccatggtgctgtt
+attacgcatctggatgcagtgggctcattgtgatttttacaaccccttctcacagtttgt
+agtgaaggtaacgcagccaattatcgggccactgcgccgcgttattccggcaatggggcc
+aattgacagcgcctcgctgctggttgcctatattctcagttttatcaaagccatcgtgct
+gtttaaagtggtgaccttcctgccaatcatctggattgccggtttactgattctgctgaa
+aaccatcggcctgctgattttctgggtcctgctggtgatggcgattatgagctgggtaag
+ccaggggcgtagcccgattgaatacgtgctgattcagctggccgatccgctgctgcgccc
+gattcgccgcctgctaccggcaatgggtgggattgatttctcgccgatgatcctcgttct
+gctgctgtatgtcatcaatatgggtgtcgcagaagtattacaggcaaccggaaatatgct
+gctgccagggctgtggatggcgttatgaatgccgtaacagttaatgatgacggtctggtt
+ttacggctctatattcagccgaaagccagccgtgattctattgtcggtttacatggcgac
+gaagttaaagtcgccattaccgcgccgccggttgacggccaggccaacagtcatctggtg
+aagtttctcggtaagcaattccgggttgccaaaagccaggtggtgattgaaaaaggcgaa
+cttggccgccacaaacaaattaaaatcattaatccgcaacaaatcccgccagaaatcgcg
+gcgttaattaattaggtatcctatgcaaaaagttgtcctcgcaaccggcaatgtcggtaa
+agtgcgtgagctggcgtcgctgcttagcgacttcggtcttgatatcgtggcccaaacaga
+cctcggcgttgattccgctgaagaaaccggcctgacctttatcgaaaacgcgattctgaa
+agcgcgccatgcggcaaaagtgaccgctttaccggcaattgccgacgactctggtctggc
+ggtagatgtgcttggcggcgcgccgggcatttactccgcgcgttattccggtgaagacgc
+gaccgatcaaaagaatctgcaaaaactgctggaaacaatgaaagacgtaccggacgacca
+acgtcaggcgcgtttccactgcgtgctggtatatctgcgtcacgcggaagatcccactcc
+gctggtatgccacggtagctggccgggcgtgattactcgtgaaccagcgggcactggtgg
+ctttggttatgatccaatcttcttcgtaccttccgaagggaaaaccgccgccgaactgac
+ccgcgaagaaaagagcgccatttcccaccgtggtcaggcgttgaaactgctgctggacgc
+tttacgtaatggttaaattacctccgctgagtctctacattcacatcccgtggtgcgtgc
+agaaatgcccgtactgcgatttcaactctcacgcgttgaaaggagaagtgccgcacgacg
+attatgttcagcatctgcttaacgatctggacaacgatgtggcttacgctcagggccgtg
+aagtaaagacaatctttattggcggtggtacgccgagcctgctttccggcccggcgatgc
+aaacgctgctggacggcgtgcgtgcgcgtttgccgctggcagcggatgcagaaattacta
+tggaagcgaaccctggcacggtagaagccgatcgctttgtcgattatcagcgtgctggtg
+tgaaccgcatctctattggtgtgcagagttttagcgaagaaaagctgaaacgacttgggc
+gtattcatggcccgcaagaagcgaaacgcgcggcgaagctggcgagcggtttagggttac
+gtagctttaaccttgatttgatgcatgggctgccggatcaatcactggaagaggcgcttg
+gcgatctacgccaggccattgaactgaatccgccgcatctttcctggtatcaactgacca
+tcgaacccaatacgctgtttggttcgcgaccaccggtgctgccggacgatgacgcgttgt
+gggatatattcgaacaggggcatcagttattaaccgcagcgggttatcagcaatatgaaa
+cttccgcttacgccaaacccggttatcagtgccagcacaatctcaactactggcgctttg
+gtgactacatcggtattggctgcggcgcacacggcaaagtgaccttcccggatgggcgca
+ttctgcgtaccaccaaaacgcgtcatccgcgtggttttatgcaaggaaggtatctggaaa
+gccagcgtgatgtcgaagccacagataagccgtttgagttctttatgaatcgcttccgtc
+tgctggaggccgcgccgcgcgtggagtttattgcgtataccgggctttgcgaagatgtga
+ttcgcccacagttagacgaggcgattgcccagggttatctcaccgaatgtgcggattact
+ggcagataacggaacatgggaagctgtttttaaattcgctgctggagctttttctggctg
+agtaaacttgtattgccggatgcggcgtgaacgccttatccagccgacatgtggcagcgg
+ttgtaggtctgataagacgcgcaagcgtcgcatcagacgttgattgccggatgcggggtc
+aacgccgcatcctgctacaaatcgtgcactatatcaaacttacttaatcaccccattgcg
+ccgcagttgttcggtatcttttttccagcgttcattagcttggttgatatcgtcaatttt
+catcaaaatcgcgacttttttactgtttatttctgaaactttcatcgttaacggatattg
+ccctttttcgagcgttacccagtcatcctgcaatttacggctaagtttttgtgattgcag
+aaaagtctgtcgccgttgttcgttgatatcgaaatctcgtttctgctgaatcggcacttc
+ataacactcttcactctgtttatgacatgccgcaatcgccggttgataaacctctttgtc
+atatttaaccgcgaacgcctcgctatcgttctgtttattaaactcatcacgctgttggtg
+aatttttttaaaggcgtcttcgcgggtcatttgcttaccgtttgcatcttttccccaata
+tgcatccgctgctttctgcgccgccaccatttgcttatcaagcgctttcacttccttttc
+cagcgcaggaatcgagttcttctgggtattcaacgcagattcaagctgactaaagcgata
+attgaaatcttcgctattcacgatcagatatttattattcgttttgatatcgtcgaccac
+ccgcccacgatcgctggctgccgcctgaaaagagtaaaagttcaccgaccagccagacgc
+gggcgttcctttactggttaacatcgccgagaattttaccggtttatctttcgtccaggt
+ctgttcgagcagttcgtaatctgccaactgaccgacccaggtatagagatcgtcactgga
+agagacatcgccttccgctgaccaggtggcctgattacccttagcatcaagattttttaa
+ggtgatagcatcaagcttgagaatgccgtgatactgctttttgaattgatcttttaagat
+attttcagttggcggttcgccatctgcccaggcattaccagtcatcaacataagcagtgc
+cgtgccaacaatccattgctttttcacccgaaaaacctcacgcggaataatttattccgg
+tgattatcattagggtaattaaaattggcaatggacgtgagtctgaagtgaaaaagcccc
+ggcacgataccggggcgaggcgattagtactgattgaagatctgctggatctgctgcgga
+tctttggtttgcgtcagagccagttgcagcagaacgcgcgctttttgcgggttcagcgtg
+ccagaggcgacgaagccgtatttcgcatcatccacttcggcatcctgagtggtagcgccc
+gtcggtacgcgggaagaacgcacgactgcagtaccggttttcgcggcggtcgccagcgtg
+tcgaacacagatttatacaggttgccgttacccacaccagcgctaacgatgccatcatag
+cccgcatctaccagtgctttagccggaagatcggatgcgttagcgtagttataaacaatg
+ccgactttcggcagttcattcagcttagagacatcgaatggcgtgtcgctggtatgctta
+cgtgccggggtacgctggtagtcaatcttaccgttgtgaatgtaacccagaggaccgtag
+ttaacagacttgaaggtcgctacgtcggtggtgttggttttggtgacgtcacggccatca
+agcacggtgtcattcatcactaccagcacgccacggttggcggaggctttatcagctgcg
+gtcactaccgcgttatacaggttgaatggaccgtctgcgctcatagacgtggacggacgc
+attgcgccgaccatcaccaccggtttgtcgcatttcaccgtcaggtcgaggaagtaagca
+gtttcttccatcgtgtcggtaccgtgggtaatgacgaagccgtcggtcttatcgcagtcg
+gtgttaatttttttcgccagtgtcagccagacattatcgttcatgtcctgggagccgata
+ttcactacctgctcgcctttaacgttcgcaatgtcttttagttgcggcaccgcattaacc
+agattttctacgccaactttacccactgtgtagttagatttggttgcggagtcaccacca
+ccggcaatggtcccgccggttgctaaaatggtgatattgggtaatgccaatgctgcacca
+ctaaaacccataaccagtgcggcaagtgccgtctttttgaaaaactccatttcattcctc
+cagttacgtgaacgctacgcattatcccttagctctgtatgggaaatttgacgttaaaca
+atttacaacgtgaatatattttggagatctacaaagttagaggcaggtaacaaaacgaag
+aattaaacggcataaaaaagtattatgccgtcttaaaatagaggattattttaaattccc
+gaccagggctttgcggctatcttccagagtcacaacgcggctacaaacatctttgccaaa
+ctgctggaaatctttttcctgctttttccactcggtttggattgaggattgcagcccccc
+caggcttcccagcacattctgtaatgggttaccgccgcttttcagcaccgctttcgcgcc
+catttcattaatgctgtcctgtaaaattccacccattgcctgattcactaattgctggcc
+ttcggcgcgaacctgatcaatggctttatagtgaaacgtcaggccatcgctgcgcgtttc
+aataatgcggttcatctgctctttcagctgcgcatcaagtttggtcagacggctgcgcat
+tttgctgctttcgcccatctcctgaacgataattttatccagagcaatacgggctttctc
+gacgcggcttttcgcgccttcatcaatccacggcagcgtgctgcgtagttcagcctgata
+atccttcgcctgctcgcgctgggcggcattcagggaatattgcttaccgttatacatcac
+gttgccgtctggcgtgatcaccagattgccgttttcgcccttcacctgcacggtttgcgg
+gctgacaatcacatcgtcacgcggcgtgacgctgcactggtagtcggcgtgagcggtcat
+tgccgtcactgaaagtgctgccgccagcagcattttgcgcatcatagtcttccctcaaga
+aaaaatcaggccagcatttgctggccccagattgataacaaagtacgcgttttccatgcc
+ggatgcggcgtaaacaccttatcccgcctactcgatcgtgcatctttccaggcctgataa
+gcgtagcgcatcaggcagttttgcatttgtcatcgcccgtatgctttcttagtcccacca
+aacgtcgaaaagttcgctggtgcgtacctcatccagtttgcgctcttccagccacttacg
+cacaatcgcctgatgttcttcggtgcatttgccgatttcctgcatgcagatcagaccttc
+ccaggccagataaccgctgccgtcaaaggccagtttgttcggttcgataacctcgttaat
+aaaatcatcaacggttttatcaatctgttcttccgatgtaccttccgggaatcgccatgc
+caccgaaaatcctaattcctggaattcgtcgatgtgcatttttttacgcagacgacggct
+acggttctttgccattatttcaccctctcgaacattaagtcccatactccgtgaccaaga
+cgatgaccacgttgttcaaatttcgtcaccggacgtgatgccggacgcggtacgtaatca
+ttgctctctgacaggtttttataaccgtcaatagaagacatcacttcaagcatatgttcc
+gcataaggttcccagtcggtcgccatatggaatacgccccccagctgcagtttgcttttt
+accagttcggcaaacggcacctgaacgatacggcgtttattatggcgcgctttgtgccac
+gggtcagggaaaaagagctgcaccatgcgcaatgaattgtcaggaatcattttatgcagc
+acttcaaccgcatcgtgacacatcacgcgcaggttgcttaaaccttcttcatgcgcagaa
+gccaggcacgcaccaacgcccggtgaatgcacttcaatgccgaggaagtcctgctcaggg
+cgatctttagccattgccaccagcgacgcccccatgccaaaaccaatctcaagcgtcacc
+ggcgcttcacggccaaaaagcgcggggaaatccagcatatcttcgctgaactcaacgccc
+atcaccggccagtagttttccagcgcatgttcctggcctttggtcagtcgcccctggcgg
+cgcacaaaactacggatacggcgcagtgggcggccgttttcatcaaattccggtgaaatg
+acgtcgtttttcataaaggtttagtcgcttgtgaaagtgttctgaaaacgggcattatcc
+aaagttagttgccggatgcaagcatgataaggccgtggctgcggaaagttccggtttaca
+ccctgccgtcgctgtgctgcaatcttgcccccaacaacagtgaattcggtgaccatgcaa
+gcgtcgcaattttcagcccaggttctggactggtacgataaatacgggcgaaaaactctg
+ccctggcaaattgacaagacgccctacaaagtatggctctcagaagtgatgttgcaacaa
+actcaggttgcgaccgttatcccctattttgaacgctttatggcgcgcttcccgacggtg
+accgatctcgccaatgcgccgctcgacgaagttctccacttgtggaccgggcttggctat
+tacgcccgcgcgcgcaatctgcataaagcggcacaacaagtggcgaccttacacggcggt
+aaattcccggaaacctttgaggaagttgcagcactgccgggcgtcgggcgttccaccgca
+ggcgcgattctctcgctttctctgggtaagcactttccgattctcgacggtaacgtcaaa
+cgcgtgctggcgcgctgctatgctgtaagcggctggcctgggaaaaaagaggtcgagaat
+aaattatggagtttgagcgagcaggtgacgcccgcggttggcgtggaacggtttaatcag
+gcgatgatggatttgggtgcgatgatttgtacgcgctcgaaaccgaaatgttcgctctgt
+ccgctacaaaacggatgtattgccgccgccaacaatagctgggcgctttatccgggcaaa
+aaaccgaaacagacgctgccggagcgcaccggctactttttgctattacagcacgaagat
+gaagtattgctggcgcagcgtccgccgagcggattgtggggcggtttatactgtttcccg
+cagtttgccgacgaagaaagtttgcggcagtggctggcgcaacggcagattgctgccgat
+aacctgacgcaactgaccgcgtttcggcataccttcagccatttccacttagatattgtg
+cctatgtggcttcccgtgtcgtcattcaccggctgcatggatgaaggcaatgcgctctgg
+tataacttagcgcaaccgccgtcagttggcctagcggctcccgtggagcgtttgttacag
+cagttacgcactggcgcgccggtttagcgcgtgagtcgataaagaggatgatttatgagc
+agaacgattttttgtactttcctgcaacgtgaagcagaaggtcaggattttcagctgtac
+cccggcgagctgggaaaacgcatctataacgagatctccaaagaagcctgggcgcagtgg
+cagcacaagcaaaccatgctgattaatgaaaagaaactcaacatgatgaatgccgagcac
+cgcaagctgcttgagcaggagatggtcaacttcctgttcgagggtaaagaggtgcatatc
+gagggctatacgccggaagataaaaaataaaaacagtgccggagcacgcctccggcaact
+tgcataaaaacaaacacaacacgcacccggaatgatgaaaaaatatctcgcgctggcttt
+gattgcgccgttgctcatctcctgttcgacgaccaaaaaaggcgatacctataacgaagc
+ctgggtcaaagataccaacggttttgatattctgatggggcaatttgcccacaatattga
+gaacatctggggcttcaaagaggtggtgatcgctggtcctaaggactacgtgaaatacac
+cgatcaatatcagacccgcagccacatcaacttcgatgacggtacgattactatcgaaac
+catcgccgggacagaacctgccgcgcatttgcgccgggcaattatcaaaacgttattgat
+gggtgacgatccgagttcggtcgatctctattccgacgttgatgatattacgatttcgaa
+agaacctttcctttacggtcaggtggtggacaacaccgggcagccgattcgctgggaagg
+tcgcgcaagcaacttcgcggattatctgctgaaaaaccgtctgaagagccgcagcaacgg
+gctgcgtatcatctacagcgtcaccattaacatggtgccgaaccaccttgataaacgtgc
+gcacaaatatctcggcatggtccgccaggcgtcacggaaatatggcgttgatgagtcgct
+gattctggcaattatgcagaccgaatcttcctttaacccgtatgcggtcagccgttccga
+tgcgctgggattaatgcaggtggtacaacatactgccgggaaagatgtgttccgctcgca
+ggggaaatccggcacgccgagccgcagtttcttgtttgatcctgccagcaatattgatac
+cggcaccgcgtatctggcgatgctgaacaatgtttatctcggcggaattgataacccaac
+atcgcggcgttatgccgtcatcaccgcctataacggcggcgcaggcagcgtgctgcgagt
+cttttcgaatgataagattcaggctgccaatattattaacaccatgacgccgggcgatgt
+ttatcagacgctgacgacccgccatccctctgcggaatctcgccgttatctttataaagt
+gaataccgcgcaaaaatcctaccgccgccgataattccattaaccgcccctgacgatgct
+caggggcaaaaatgttatccacatcacaatttcgttttgcaaattgggaatgtttgcaat
+tatttgccacaggtaacaaaaaaccagtccgcgaagttgatagaatcccatcatctcgca
+cggtcaaatgtgctttttcaaacactcatccgcatcacgatgtgaggaaattaacatgaa
+tcttaagctgcagctgaaaatcctctcttttctgcagttctgtctgtggggaagttggct
+gacgaccctcggctcctatatgtttgttaccctgaagtttgacggtgcttctattggcgc
+agtttatagctcactgggtatcgcagcggtctttatgcctgcgctgctggggattgtggc
+cgacaaatggttaagtgcgaaatgggtatatgccatttgccacaccattggcgctatcac
+gctgttcatggcggcacaggtcacgacaccggaagcgatgttccttgtgatattgattaa
+ctcgtttgcttatatgccaacgcttgggttaatcaacaccatctcttactatcgcctgca
+aaatgccgggatggatatcgttactgacttcccgccaatccgtatctggggcaccatcgg
+ctttatcatggcaatgtgggtggtgagcctgtctggcttcgaattaagccacatgcagct
+gtatattggcgcagcactttccgccattctggttctgtttaccctgactctgccgcatat
+tccggttgctaaacagcaagcgaatcagagctggacaaccctgctgggcctcgatgcatt
+cgcgctgtttaaaaacaagcgtatggcaatcttctttatcttctcaatgctgctgggcgc
+ggaactgcagattaccaacatgttcggtaataccttcctgcacagcttcgacaaagatcc
+gatgtttgccagcagctttattgtgcagcatgcgtcaatcatcatgtcgatttcgcagat
+ctctgaaaccctgttcattctgaccatcccgttcttcttaagccgctacggtattaagaa
+cgtaatgatgatcagtattgtggcgtggatcctgcgttttgcgctgtttgcttacggcga
+cccgactccgttcggtactgtactgctggtactgtcgatgatcgtttacggttgcgcatt
+cgacttcttcaacatctctggttcggtgtttgtcgaaaaagaagttagcccggcaattcg
+cgccagtgcacaagggatgttcctgatgatgactaacggcttcggctgtatcctcggcgg
+catcgtgagcggtaaagttgttgagatgtacacccaaaacggcattaccgactggcagac
+cgtatggttgattttcgctggttactccgtggttctggccttcgcgttcatggcgatgtt
+caaatataaacacgttcgtgtcccgacaggcacacagacggttagccactaattacgcaa
+agaaaaacgggtcgccagaaggtgacccgttttttttattcttacttcaacacataaccg
+tacaaccgtttcacgccatccgcatcggtttcgctataaacaccttgcagctccggcgaa
+aatcccggcaacaaattcaccccttcttccagtgcaaggaaataacgttgaaccgcccca
+ccccagacttccccgggtaccacgcaaagcacgccaggtggataaggcaacgccccttct
+gccgcaattcgcccttcggcatcacgaatccgcaccaactccacgtcaccgcgaatataa
+gcgctatgcgcatcctgggggttcatcaccactgacgggaaactctgctggcggaacatc
+gctttttgtaggtctttgacgtcgaaactgacatacagatcgtgcatctcctgacacaac
+tggcgcagggtgtagtcgcgatagcgcaccggatacttgttataaacgctcggcaacacc
+tcaaccagcggcgagtcatcctcaatatgctgttcaaattgcgccagcatcgccaccagt
+tgtgccagcttctcgtggctttccgccggagttaataaaaacagaatggagttgagatcg
+cacttctccggcacaatgccgttctcacgcagatagtgcgccagaatcgtcgccggaacg
+ccaaagtcgctatattcgccggtttcggcatcgatacctggtgtagtgagtaacagcttg
+cacggatcaacaaaatactgatccgcggcatatccttcaaagccgtgccacttcgccccc
+ggctcaaaactgaaaaaacggcggtcgctggctaacactgatgtcggataatcctgccac
+aatttgccatcaacaacgggcgggataaacgggcggaacagcttacagcgcgcaagaata
+gccttgcgcgcttcaatccctatctcaacacactcagcccacagccgacgcccactctcc
+ccttcatgaattttggcgttaacatccagtgcagcaaacagcggatagaaagggctggta
+gaagcatggagcataaaggcgttattcaaccgcttatgcgggcaaaaacgcgcctgtccg
+cggatatggttatcttttttatggatctgcgacgtctgtgagaatcccgcctgctgtttg
+tgcaccgactgagtcacaaagatccccggatcgttttcgttaagttctaacagcagcggc
+gagctatccgccatcatcgggataaattgttcataaccgacccacgcggaatcaaacaga
+atgtaatcacacagatgcccaacggtatcgatcacctgacgggcgttatagacagtgccg
+tcataggttcccagctgaataatcgccaggcgatacgggcgcggcaggtcggctttttct
+ggcgcaacgtcgcgaatttgctggcgcagatactcttcattaaaacagtgcgcatcaata
+ccgccaatgaaaccaaacgggttgcgtgaagcttccagatagaccggcgtcgcccccgcc
+tgaatcagcgcgccgtgatgattcgacttatggttgttacggtcgaagagcaccagatcg
+ccacgcgttaacagcgcattcgtcaccactttattcgctgccgatgtgccgttcagcaca
+aaataggttttatcggcatgaaagactttggctgcgaatttctgcgcatctttcgccgat
+ccttcatgaataagcagatcgcccaattttacgtcagcgttacacatatcggcgcgaaag
+acgttctcaccaaagaaatcgtaaaaatggcgtccggcaggatgctttttaaaaaacgca
+ccatgttgatgtccagggcaagcaaaggtgctgttgcccatctcaacgtactgcgtcagc
+gtgtcataaaacggtggcagcaaattctcttcatactgacaggctgcggattccagctcc
+agccactgctgctcgttgccgttgattaccgccgtaacgcccgcaggtaattcaacagca
+tgttcggaatacaaaaacaccggtagatgaaaaccggtgcgcttaagcaacgcaagaatg
+ccactgcgactatccgcagcggtaatgacgactgccgcgacgtccgtaaaatcagtatct
+cccaacgccaccacgcgacgatgagaagaaagtcgggataccagttcactactggcggca
+atattcattgatttcataagcgcaaacccgtttcggggaagtaagaataccggacaaggt
+ggaaaaccctgccccatgagatatgggtcaaactggtcaccagctccgaccgccagacat
+cagtaaaagcagaaacgctctgattttactgttgtcctgcagtgagcgtgcgttaacttc
+accgcatgagcagtaacatagaaagggaaacgtttcgcgcgaaacggcgataagcgagag
+aatgtaaggagatggcgtgcatcgggcaaactccgtacagagaggagaaaattcgcgcaa
+tcatggcacctttcgctaaagcgtgcaagccaggactttgcgaacaaacaagccatcgac
+ggcaccaaacggtcataataagaaaatcaaacaatacagctaacaggaactcttgtggtc
+atcggcccttttatcaacgctagtgcagtcttactgggtggcgttctcggcgcactgctc
+agccaacgcttaccggaacgtatccgcgtctccatgacatcaatttttggtctggcatcg
+ctggggattggtattttactggtggtgaaatgtgccaaccttccagcgatggttttagct
+acgctacttggcgctctaattggcgaaatttgtttgctggagaaaggtgtcaatacagca
+gtcgccaaagcacaaaatctgtttcgtcactcacgtaagaagccagcgcatgaatctttt
+attcagaattatgtcgcgattattgtcctgttttgcgccagcggcaccgggatcttcggg
+gcgatgaacgaagggatgaccggcgatccgagtattttaatcgccaagtcatttcttgat
+ttctttacggcgatgatcttcgcctgctcgctgggtattgcggtatcggtgattagtatc
+ccattactgatcatccagttaacgctggcgtgggctgccgcgctgattttaccgctgacc
+acaccgtcgatgatggcagacttcagcgccgtaggcggtttattgctgctggcaaccgga
+ttacgcatctgtggcattaaaatgttcccggtggtcaacatgcttccagcactccttctg
+gcaatgccgctttccgccgcctggaccgcctggtttgcctgacaatgcgtgcaatatcgg
+caaagtgatgatagattgtgcagtctgcagtaaattgaagaaatttgattgacgagacga
+ggcgaatcaggtttaatgcgccccgttgcccggatagctcagtcggtagagcaggggatt
+gaaaatccccgtgtccttggttcgattccgagtccgggcaccactaattcttaagaaccc
+gcccacaaggcgggtttttgcttttggatctgacaataaccttcacgaaaaaaattagct
+tataaagtctgggggaattactctcgccacgttaacgagagtaattttattgatattaat
+ctcctgatactttacccccgtccaaactccagccgctgcacattcaccatcccaggcttc
+tcagcagcactgacatcaatttgtgtcacccgcagcgcatatttttcatccagtgcgttt
+aaccatttcagcaggtcattaaacaccacaggttctatccagacctgaatattctcccca
+cgatcggctatccgcctgatgaccaccgagtgcgcggaagcactgtcactgatgacccgc
+gatacctgcgcaggcgttgttgtggcagattttcgcgctgcaataatatccggcgcggcg
+ttcttcagtcgggtgttcatcgccaccagctgctgcaatattgtctcctgttgctcaatc
+cgttcgctcaacggctgccagatgaggacgtaatatccgacgctaaacaggaacaccacc
+gctgccagtaacatgcccttttcacgcggagaacgccccgccaggtgttgtgccagccag
+tgttcgccacggcttaactggcgttcacgccattgctgaaaatagtgaataaatttatcg
+cgtaacatgttatttcctccgcaacgttacgccgccggaaaccgcatcaccctctttctg
+taacgcgtcctgttgcacaacataatcggttgccagtacactacgcagtttgtcgaaact
+ggcaaagttcgcggcccgtagctggaggtgaagtatctggcgtttttgatcaaaggtaaa
+accacgcatttcgatgtcggaaagtgacgctgatttcagggtgctggctatcgctgacaa
+ctcggcgagcagccgggtatcgtcggcctgtgggcgatattttttcagcgccatcgtcac
+ctgagagcgtaaattcacaatccgcttctgctccgggaacaacgttaagaactgttcctc
+cgcctgggtgcggctttgcgccacctgttcgctgacgctccataacgtcacgccccgctc
+cactgccagcgcaaccagaatcagcaatatcggcagaatcatcacccgccagcgcgccca
+ctgttttcggtagctgacgcgaggctgccacggccctgtcagcaggttcccttccggttc
+gccataagtggtaatggcgggcagagctgtaacggtcaggcgttcagcgtctgcgccagc
+ccatgctgatagcttttccggtgcaatgccgactacggttagcgaaagcggtaaatcctg
+ctcattgagctgggcgcggaacatgaccggagccagcgccagcccggcgctccatccccg
+gcattcatcgatgcggcagataacccgttgcgcatcgcaagccataaacccacaaggaat
+ggacatccagtccggcgcgacggtagcgcgggtgatgccgttttcctgcaaccactgcgc
+aatgttgcgcatatgctgttggtgaatcactgctacggttgccagttgctggtcgatatt
+caacggggcgaaatgcagttcatcgatatcctggttcagctcttcttccagtaaggcggg
+cagaatagtcggtagcgcagcgcgatggaaatgtcgtggcgcgcacccttgcgtaaaacc
+gtaagttgaatggaatccattgaaggtaactgccgcatcagagcaatcattgctcgtgga
+tcagtgaaatcctgctgatttagcgcaatggcgatatcgccttccttgaaaccgctggca
+tcgaacagagaacgatctgcccccggcttcgctgcataaccgacaatcccctccttacgc
+acaggcgtaagctggatatagttaaaaattttctgcggatctttcgccagtgcctgacgc
+acggcagccgggatctcaactggcacactgacagcaggctcagcaacagcttgctttgct
+tcgtcactgacggcttttttgttggtcacagcaacagtggaacgttcctcttctgccaga
+ctcagacgctctatttttccctgataacgcagcatcacatggtcgcggttgatttcctca
+atcaccgcgttgtgagagccaagcgtttcaccctgcaaatagacctgctgtttaccgcct
+tcttcaataaccgcgccgggtctggcaccaaaggcgatcccacgcagcaccacattaaga
+cgcgtttctgccacaggcacaggttcgggttgttttacctgcgcggcgacaggctgatat
+ttgccaaaccagttttgctggctgattaattgcacgtcatttttatcgaacgtttttgca
+tccacacggctcggtttattcaccggttgagaaaccgccgtatattccgcagaaaaggag
+atatagcgccagagtgaatgcgccatttttgcagaaataataagcagcatcagccagaac
+atcccgcgtgcaatttttcgcagatgctctttgtctgtattaagagattgtctctggtta
+agagtgtgacgaatttttgtcagccattgaatgagataaattcgtgcgtcacgaaaaaca
+acccgcgccaatttatatctacccgacgttatgctttgactattccacaggtggtacgat
+ccagtttccgctgatactggttacctgtacgtgtatcattaatcgttatgctgtaattaa
+ttccctcagtgatcattaatttcaccgtcgggtcagcgcacatttgtcgttgatagctgg
+ttaaaaaggcgtcaggcgtctgcgtggtttgtgtacccgcttcgctgataatggtcattt
+ttaccgttgtgccgctactttgcgccagcactaaggtatatcccgcagatttaatcggca
+ggttttggctgatattttgcgcctgttttttcgccagtaaactggcattttcattatggc
+tggcacagccacttaataatcctgtaacgctcaacaatagcgatattaataccctccctg
+gcatttgttttatcgacatggtaaataatctctaaggttattaataagagttaaaatgtc
+actttgataatgacgtggttatcattaaaacaatgcctgtagataaagtgttgctatacc
+gcccagacttaaacacggtccaaaaggcagtgtggttgatcctctttttgtaataacggc
+atatatcaggccgcagcatgaggcgattaaagcaacattgggcagcgacaatgcccccac
+ccagccacctaacgcggcgaaaagtaatacatcgcccatgcctaatgcttctttacgcag
+aactattccggctatccaacgcagagagtaaaaagtgataaatcccaccaggacgccggt
+gactgcatcttgtagcgtgagcggactctgctgcgcccatgccgcaatcagtcctgtcca
+caatacgccctgagtaaaaacatcgggcagccattggtgatcgaggtcgatgacactcgc
+ggcaatcagccaggcggataatatcatcaccgccagcccccatccactttctggccagac
+cagactcgccagcaaaaaagcaagtgctgtcaataactccaccagcggataacgcttgct
+gattttcgcctgacagtcgcggcagcgccctttgagcatcagccaggagaacagcggaat
+attgtcacgtatccggatggtctgctgacaatgtgggcagtgcgaacgcggtagcgcaag
+gcttatttttgactgcgcactcgacatttcaccgtgaaactccgccatttgttggcgcag
+catgattgggtaacgccaaatcaccacattcaaaaaactgccgatgatcaatcctccgac
+ggttgccaggacgggcatcgccgtggggtattgctgaaaaacatcaaaaagcatggttaa
+aggttgtttgttgtaacttgctggatgcggcgtaaaacgccttatccgtcctacgggtgt
+ctgccagcgcaaataatcgcggctttccccgtctgtaggcccgataagcaggcgcatcgg
+gcaaatgtgttaacccggtgcgccttatttcatgccggatgcggcgcgagcgccttatcc
+ggcctacgggcttactcggcagacatcttatgctcggtaacctgattaatggtttccggt
+ccctgttccggtttcggcagatcgagtgacgcgagcgtgttgtaagccgactggctcaca
+ccgccctcgaagctcatctcgctcgcccccggcagctggtaagcattcgcgcccggattc
+catttcttaaagaactccgaaagatccgtctgggcgacccaggaggcacacagcatcagc
+gtgtccgctgcgttaccgttggattcagcacagtaattcttgccgccaaacttgtcattg
+ctgacctcatcgccgcgtgctttacgatgcatcaactggaacaggttccagcctttcatc
+ccttcacgctcgctgtaaaactctggcagaggagtgccatctggataccatttcttgata
+tcaaagtttttctctgcccattccttcagctgtgcgtacatcagcagacggtcacccgca
+ccgccgcgtgcccatgcctggttgttgctctcctccagatattccggtgcgacggtaata
+tcgtcagcgacacggttcatcttgccgagataacgatcctgcatgtacagcgccagcacg
+ttgttagcgacttcagttgcacccggtacagtcaacggcgtttctgcggcgttatgaccg
+acttcatgccagatcagccagtcgttcagcggcgtcgtcggcagcgtggtgctgttcggc
+gagaagctgctgttcattaccggataacccgaatgcgcatcaccgatggagatctgcaca
+tcgttggtgaaacgatgtttgtggcccggcaagtttttataggtaaacatccggtgctta
+ccgtcttcgctatcacggccgtagaagtcattcatcgagctggcaaaggtatccagatcg
+ttagcgaattgctccagtccgccagtgtaattgctggcattcaggttcttcttcggtgtg
+gtatagacgaaagcgtctgattccagctcacccagcggagccggtgagttcagatcgttt
+ttccatgcgccgtctttatagaacggtgcttttaccacgccagtaaaggtgaagctggca
+gattcattggtagagctattgcccttgatataaatcaggccaccgtaaggcaccttgaac
+ttcaccgtaccgctagcgtccagagagtacgttttagtcactcttggcggacggttcagc
+gcaacttcatgcttctcacgtccggtcaggtcgtcagccagcgccacggtgacggtcaca
+ggaacgttcgcattggacttaatggtgacctctttctgagccggtgcccacaggccagtt
+gactgcatgttacctgcaaaccatttggtcggattcgagtacaggctgatggtttcagta
+acgttctgtccctcttccgatactgctcccggatacttctcgacatcaactttgatgttc
+agatcccaccaggaacggcccagcatcaggcgtgtcagcggtttttccatatagttgagc
+gggtagctcgggttcatcatgcccgctttgctgctaccgtcaccgtagatcatgttgtta
+tcgaccagcgattttttcagatctgcagaacacttggtgccgcctgcataggcatcattg
+gcgtagcagttcaggaactcggtgaacgttttaaagcccagctcgtcatttttgccttct
+tcataacgatagctcgtatcgttccacagccagaccgacatgttctggtacagacgttcc
+agatcgacgctgctcagacgctcacctttgcgaccattggtccggaagtagagctcatgc
+tgatacagacgctgaatgttggtgcctaaatccgcagcctgcaccatcgcttttgcagtg
+tcggcgttaaggcttagttgcgtatactgtggaacatacatgccaccagtaaccggaacc
+cccgtgccaggacgatattccaggcagttgacctcatagtgatatgccggattagtacac
+tctttcagccccgggaacgcggcgaaaattttctccttcgcagccttcagagaatcctct
+gttttatgatcggcctcatcaataaaggcataacgcgtttcctgtttgccatctacatct
+tccagccagctggcaacttccagcttcggtttgtcatcaggtttgttttctacctgatat
+ttccacttaacttcccctgtcttactatcgatggtgtacggcagcgcaccatctacggca
+ggataacgttcatagacccaaatgcccgttgcgcgctgctgacgaacgcggttcggatac
+ccttgcggatcgttatttactaccgacttgttcagtgccatcgacagacctgcggcatcc
+aacagacgcacaaaaccagacgcgctctcttccttaagattgctcatcacgttttccatg
+atcagcaccgatccacctttgttcagataggcgatcagatcggtcacatcctgctgagtc
+agcttcggtttgctggtatctgcacgcagcgggattgcataaggatcgttacccacctga
+gtcacatattcaaagccgttaaggatcagcagcggcatttcctgcggatcgagatcgcca
+tagctacttaaatgctcaacagagatgcccgcaaaatccggatggaagtcgaacgcagcg
+ctgtttcctgtaacctgaccatgacgtttaaaatagacagtatccaggttggtgcctacg
+gtcatgctggctttcgcgtccggcttccatttatcgtcggacagatagcgcagcacgttc
+tccatgaagttcttcatgtcatccgggtcgctgttgagcgtacactgcccatctttatta
+acgcccccgttccagctgtaaccgttcgggcaacgcaaaatgctgttgtagtgtgggtta
+ccgataaccatcagtttgccctcaccgacttgccccagcgaaataaacggcaggttaaag
+gtggcggtatcgcgcgtaacgttttccggctcaacaagagaaggcgcttccgtaatgtac
+gccagctcgtttttatcccaggcgcgtttttcgccgaaggccagccagtagtttttatca
+ttacgcgccatcagaatcgggaaggccgcgttggagatattcaccaccgcctgaccgcgc
+gcattacccgtgctgccatagaagttggtggagtcatggaatacatggaacttgctgaca
+gatttgtagttcgtatccacgccccacagcttgttgataacgccctgaatctggccgtca
+ttaacattgcgcgtcgtcagcgagaaccagcgagcctcgttacaaccatcggttttcgca
+caaatcgcggtatcgatctctttggcctgacccgtattaaactgctcaataaattcgtta
+ggcagattaacgacttgctcaccttcccccagcgtcgcaccgttggataacgagagattg
+ataatctcgttgatcacgttgggatattcggcaaagaccttgcgtacatcgtccggaaca
+acacgggtattattttgcccggtcgtcgaatagcgatgaataagctgatcaatattcgcc
+ccgcgaacttcatcacccagttcagtcagcgcaatggtcgacttattgccgcgcactgaa
+cccagttcaaaggtatcgataccaaaggagatggtttcgccccagctaaaggaaaattca
+ccattttcccctgtcacgccacggcctgaattggtgtagtagttgacgccagcaacacca
+tatccctggctatcgaccagtcgaccttcagagagaatgatttcagtgggttgatactga
+taaaactgttccgcgttagccgacacgaaggaagcgttcagatccggttttgttcccggc
+gtggtgacgggcacgaccggtgaagtatgagtggatggcgctttatcggtcgcagcattg
+ttttccacctcttcattgaccagctttttgaactcttccggtgccagatcgatttgctta
+tacagcgagtcgaagcgtttactctcgatcaccgaggagaacgtcagacaaacctgttct
+gtattcgccggacagctgttactggacgttaccagcgaaaccgcattgcttttcttgtca
+tcggagcccgccagttcttgcgcgtcctcaaggctaaacgacactttttcaaccgcacgc
+aagctacgcgcagcttctgactgagtgttgaaggtggcaattgtcgtgttacccgccacg
+caagtaacgtcctcgccaggtttaaatgtaaagccatcgctggattcaccattacaggta
+gcaccagttacccgctggcttccgcccagggtcagataacccgttttcgtaggaacaggt
+tctggctccggttctggtgttggttcaggatcaggtatcggttctggcgtaggctctggg
+tccggcgttggctcaggcgtcggctccgggtttggtgttggatcaggtttcacttccggc
+aaagaccctgttccagaatctacaggcggcgtatcggaggaagatccggaaccaccgcca
+tcacaaccggctaacagggttgcgctcaaaatagccgctaaaagcgatttcttatattta
+aatttcttattcattaataacgcaagtgacaaaacaatgttaaaaaattcgtaactggga
+gaaatagttttatgctttatcttctctaataacttcctccattcttaagaaaacgacatc
+attgatagaaaacaggtgaaatttataagaataacccctatacgatgtctatctggctat
+ttttacgaaatttcaacaaacaaaaaattaacaacatttcacaacgtaactatataaatt
+tgttggtagttttaacgattaagattgcaaaagcaacagatagaacggtgtttgctcatc
+aagcgaacataattaatacagacttgttttgcgtgataaaaaaatagatgttctcacgct
+cttaattatttagcaggttatctgaacgcaaaacattattgctgcatggataataaagcg
+agaaatgattttcaattaataagacagaataatgtaaatgaagccggatgatattaacga
+tcatccggctttattgatttacgagactaacatcccggtaaacacatacgcctgcagcag
+ggtgataatgccgataacgctggcaaaaatcagactgtgcttcacggtgtagcggaacag
+ttcagattctcggcccaccatgcccgtcgcggcgcaggccacggcgatagattgcgggga
+gatcatcttgccagttacgccgccgctggtgtttgctgccaccagcagggtgtcagagac
+gttgatttgctgcgccgtggtcgattgcagtgaaccaaacagggcgttagaggaggtgtc
+cgagccggtaaggaatacgcccagccagccgagaaacggtgagaagaacgggaacatcac
+gcctgtacctgccagtaccagcgccagcgtggtggacatgccagaatagttggtgacgaa
+ggcgaacgccagcaccatgccaatcgacagtatcggccacttcaagctaattagcgtttc
+ggcaaagacgccaatacctttcttgatccccacaccgaggatgaagatagagataatcgc
+cgcaataaaaatagcggtgccgccagccgagagggggtcgaatttaaacaccgcatccat
+tggcgttggttgggcgacaatgggtgccgctttcaacacttgttgatgcaaatgagggat
+ctggaaattaatcaccagtgaataaaacgcgccgcccggagcaaataacgctttaaacgg
+cttcatggtccagatggtgaccagcaccgttaagattaaaaacggtgaccacgctcgaat
+gatttgccccagactatattctgaaggcacgggaccgccagaagatggcttatttaccac
+catcgcacctgcggattgtcccatgctgattgccgtttcggtatttttcggccgccagac
+tttaaggaataaagcgagtgagacgatactcaccagcgccgaagtaatatccggcagttc
+cggaccaatatagttagaggtaaagaactgagtgacagcgaagcttcccccagcaaccag
+cgccgctggccacgtctctttcacccctttccagccgtccatcattgctaccagccagaa
+cggcacaagaaccgacaggaacggtaactgacgtcccgccattgcgccaatgtggaacgg
+atcgattcccgttacctgaccggcgaccagaatcggcacgcccaacgcaccaaacgccac
+cggcgcagtattggcaatcagacacagccccgccgcgtataacggtttgaagcccaggcc
+caccagcagcgcaccggtaatcgccaccggcgcaccaaagccagccgctccttccagcaa
+cgcaccaaaggagaaaccaatcagtaacacctgcaaacgctgatcgtcggtgatggagat
+aaccgagctgcggataatatcgaactgcccgctggcaacggttaatttatacaggaacac
+cgccgcgacaataatccacgctattggccataatccataaataaagccatagcccgcagc
+agcaaatgccatatcaatcggcattttaaaggcgaatattgcaatcaggatagataatat
+aagggttattgctccagcgacatgtcctttcagacgtaataccgcgagtgcaacgaagaa
+gaatattatcgggatcagggcgaccagagcggatagccccagtcctcccatcggcatata
+catttgggtccaggtaaccatattgttcagtctcttattatctttatatgcttgatatac
+ttaaggttgtaataagcaaaagaggactgaactgtaaaatataggcgttatactttacag
+caacagtacgccgctaacgcaattgctacctctggcataacaagtatatcgggtaagggt
+ttctgttccgcacacgcagacgcagagtatcgttaagatgtccatattgttgttttaggc
+ccgctagtaatgcgctacgggtatttaatattgttaaaccctgataatcgctccggttat
+ttccgggataaatgtactaccgcagttactatcatagccccgacaataaaacttgccggg
+gcttttttgacgctattaatgactttctttttcgcgtaaacgccaggcgtgtaataacgg
+ttcggtatagccgtttggctgtttcacgccgaggaagattaaatcgctggcagctttaaa
+agcacacgagttagcgaaattccccgccatcggacgataagccggatcgccagcgttttg
+ctgatcaaccactttcgccatattctccagcgacgcctgcacctgttctttggtcagaat
+accgtgacgtaaccagttggcgatatgctggctggagatacgcagcgttgcgcggtcttc
+catcaacgccacattgtgaatatccggcacttttgaacaaccaatcccctgctccaccca
+gcgcaccacgtaccccagaatcccctgcacgttgttatccagctcttgttggatctcttg
+cgccgaccagttagcgttttcagcaaccggaatagtcagcagatcgtccagcagcggttc
+aaattcagcattgaactcggtctgggcaatgttggcttgtacgctctgtacgttggtttg
+gtggtagtgcagcgcatggagcgtagcagcggttggtgacggaacccaggctgtgtttgc
+cccggcacgcagttggtcgcccttctggctgtacatgtctgccatcaggtccggcattgc
+ccacatgcctttaccaatttgcgctttaccgcgcagcccacagaacagaccggaaagcac
+gttattacgctcgtaggctttgatccaaggcgtcgatttcatctgatttttacgcagcat
+cgggccagcttccatcaccgaatgcatttcatcgccggtacggtcgaggaaaccggtatt
+gatgaacgccacgcggttgcgcgcctgagcgatacagctacgcaagttcagcgaggtccg
+acgttcttcatccataatgcccattttcagggtattcggtgccataccgagcattgtctc
+aatgcgggtaaacagtttgttggcgaacgccacttcctgcggaccgtgcattttcggttt
+cacaatatagacgctgccagtgcgcgagtttttctgcacttttaaatcatagagggcaat
+cgcgccagtcatgacgccatcaagaatgccttccgggatttcattgccttcgctgtccca
+aatcacaggaatggtcatcaaatgacccacgttgcggataaacagcagcgagcgtccgtg
+cagagaaatttcagagccatcggcggcggtgtaatgacgatcgtcattcagtttacgcac
+gatttgccgaccgtttttctccattttctcttgcagagtcccctgcatcaggcccagcag
+gttgcggtacagcaggattttatcttccgcatcaaccgccgcgaccgaatcttcgcagtc
+gagaatggtactgatagcagcttcgacgataacatcgttgatgtgcgccggatcgtcttt
+gccaatccgcccattggcatcgatttgcagctcaatatgcaggccgttatttttcagcaa
+aatgcaggtcggcgcagcggcatcgccacggtaaccgacaaactgtgctggagtacgtaa
+cgtggtttctttaccatttttcaactggatgcgtaattgtttatcaaccaccttaaacgc
+caccacatcctgatagctgccgttttccagcggtagagattcatcgaggaaacgccgaac
+ccaggcgataacctgctcaccgcgttgcggatcgtagccgctgaccatcgccccttcctg
+cgggatgatgtcgctgccgtataacgcatcgtacagtgagccccagcgagcgttcgccgc
+gttcagcgcgtagcgggcgttcattgccggaaccaccagctgcggccccgcctggctggt
+gatttcgctgtcaatgcccgtggtttccaccgtcacgcgctccggttgcggcaccaggta
+gcccagttcacgcaggaaagatttataggccgctttatcttttaccggccccggattgct
+gcgatgccactcatcaagcgctgcctgaatgcgatcgcgttctgccagcaactgacgatt
+ttctggtgccagatcatgaacgatctcatcaaaattgcgccagaacgccgcagcgtccag
+ccctgttcccggtaaaacttcttcatccacaaaacgtttaaaattggcgtcaatgcgtaa
+acggctctgggttatggtttgactcattgtttatctcctcgttttcgcttatttcgccaa
+caccgctgctgccgctttcgcgacctgcgcatcctgtgctccggttaaaccagaaacgcc
+cacggcaccaataatttgcccatccacaacaaccggtacgccgccttccagcgacgttaa
+taacggcgcagtcacgaacgcggtacgtccgttgttcaccatctcttcatagcccttagt
+ttcacgacgccccagcgcggcggtacgcgctttctcctgggagatataagccgcaatcgg
+cgcgcaatcgtccatgcgacttaacgccagcagatgaccgccgtcatcggcaacagcaat
+ggaaacagaccagttatttttctgcgcctcttcctgacctgcggcaataattgcactcgc
+catttgctggctaagaatgactttagttttcattttgttattccttttcaagggcttgtt
+ctacaatttcaatccagtgacgcacagaggtacgaccggcgctcgccagatgcgtctggc
+aaccaatgttggcggtgacgatcatttccggtttgccgctttccagcgcattcattttgt
+tatcccgcagctggcgtgccagatcgggatgcgttaacgcatatgttcccgctgaaccgc
+agcacagatggctgtcgggaacgtccgttaaggtaaatccaagacgaagcaacacttttt
+ccacttcgccgttcagcttttgcgcatgttgtagggtacacggacagtggaaggccagct
+ttttatcgccgcgaattgccagtttttccagcggttcctcgcgcagaagttcgactaaat
+cgaccgccagttcactgacctgacgtgctttatcggcatataacgcatcgtttttcagca
+tctgcccatactctttgacaaacgcgccgcagccgctggcggtttgcaaaattgcctcgg
+cacctgcttcaatcgcgggccaccaggcatcaatattattgcgcgcccgtgccagccctt
+tctcctgcgcattaagatgatagtccaccgcgccacaacagcctgcttcgttagctggca
+tgacgctgatccccagacgatccagcactcgcgcagttgccgcgttggtgttgggcgaaa
+gcgtaggctgggcgcagccttccaacattaaaacccgacgcttatggcgcagcggcggac
+gcggtttagctttcaccgtttcagcaggcagttttgctctgacctgttccggtaaaaacg
+gtcgcagcaccagccctacctgcgtcagcgcacggaagaccgccggacgcggcactacct
+ggcgcaatccttcgcgcagtattcgctccggcagtgggcgtttcactttctgctcgacaa
+tatcacgcccgatatccagcaaattgtgatagcgcacaccagaaggacaggtggtttcac
+aattacggcaagtgaggcagcgatcgagatgctcctgtgttttaagcgtgacttcgttgc
+cttccagcacctgtttaatcagatagatgcgcccgcgcggcccgtccagttcatcgccca
+gaagctgataggttgggcaggttgcggtacaaaatccgcagtgaacacaggcgcgcagga
+tgctgtcggcttccagcgcgcgcgcgttctgccgcatctcttcagttaattgggtttgca
+tagcctgctcctcaaagttccgcgtacatgcgaccggggttaaacacgccgcaagggtcg
+agctgctgtttaagctgctggtgatagcggaataaaggagccgatagcggggcaaagcca
+ccatctccggcactaaagcgggtcgcatgaccgccagcgttgcgggcgatgcgatggatt
+tgattgtcctcggctgtcgatttcagccagcgtaacgccccgccccagtcgatcagttgc
+tcgccgggtaaatccatcatcggcgcatcactgggtaatgaaatgcgccataaggtacct
+ggtaacgagaagaacggcagttgttgttcacgcaattgctgccagaactgaccggcaacc
+tcttcgccacccagcagttcacgcgctgcttttaccgatccttcgccgccctcaaggcgg
+atccacaacgcattgtcgaagtaacataagccactaatgggtaatggctggagttgccac
+tcggcgatttcactcatggcttcttgcaggctgatttcccgacgcaggctcagggaggcg
+cgcggtcgcggtaacactttcattgagatttcagtgagcacgccaagacaaccgtagctt
+ccgaccattaaccgtgagagatcgtatccggcaacgtttttcatcacttcgccaccaaaa
+cgcagatgttttccagcgccggtaatgatgcgcgtgccgaggacaaaatcgcggaccgaa
+ccgctccacgggcgacgcggccccgccagcccgcaggcgaccatcccgccccaggtggct
+tcttcaccataatgcggcggctcacaggggagcatttgccccgcgctttccagcgccgct
+tcaattgtcaccagcggcgttccgacacgcgcggttatcaccagctcggtcgggtcgtaa
+ttaacaatgccgcgatgacaacgaacatccagcgtttgcccggtgacagggcgacctaaa
+aaggctttgctattgctgccctgaatcaccagcggcgttttatcgctaatcgcctgattc
+acctgctccagcagcgcctggctgtaatcacactcgcgtagcatcagaaacgctccagtt
+cagggaaaggtaaatgaccgtgatgcacatgcatggcaccaaattcagcacagcggtgta
+gcgtgggaatgtttttcccagggttcagcaaaccatcggggtcaaacgccgccttgaccg
+catggaaggtcgtgatttcatcgctgttgaactgggcgcacatttgattgattttttctc
+gcccgatgccatgttcgccactgatgctgccgccaacttcaacgcagagttcgaggatct
+tcccgcccagctcttccgcgcgggcaaattcaccgggttcgttggcatcgaaaaggatta
+acgggtgcatgttgccatctccggcatgaaagacgttggcaacacgtaaatcatattgct
+gcgataaacgggcaatgccttccagtacgccaggcagggcgcgacgcgggatggtgccat
+ccatgcagtagtaatccggggagatacgtcctaccgccgggaacgcatttttgcgaccgg
+cccagaaacgtacgcgctctgcttcgtcctgtgccagacggacgtcagtcgcgcccgctt
+tcaacaagatgtcgttaacccgctcgcagtcttcctgtacgtcagactccacgccgtcca
+gctcgcataacaaaatcgcttcggcgtcgacgggataaccggcatgaataaaatcttccg
+ccgcgcggatcgacaggttatccatcatctccagcccgccggggataatgccattggcga
+tgatgtcaccaaccgcaagtccggctttttctaccgagtcaaagctggctaacagaaccc
+gcgccacgggcggcttcggcagcagttttaccgtcacttcggtggtcacgccgagcatac
+cttccgatccggtgaacagcgccagcaggtcaaaaccaggtgaatccagcgcgtccgatc
+caagcgtcagtgcctcgccgtccagcgtttgcacttcaattttcagcaggttatgtacgg
+tcagaccatatttcaggcagtggacgccgccggcattttcagccacattgccgccaatgg
+aacaggcgatttgtgaggaagggtccggtgcgtagtagagattatgcggtgcaacggcct
+gggagatcgccaggttacgcacgcctggctgcacgcgcgcgcggcgaccaacggggttaa
+tgtcgaggatctctttaaagcgcgccatcaccaacaacacacctttttccagcggcagcg
+cgccaccagaaagcccggtgcctgcaccacgggtcaccaccggtacacgcaggcgatggc
+agacagccagaatcgctgtcacctgttccatttgcttaggcagaacaaccagtaatggac
+gcgtgcgatacgcgctcaacccgtcacactcgtaaggaatgatctcctcatcggtatgca
+ggatctcaagtccagggacatgctcacgcagtgccatcagtaccgatgtgcggtcgacat
+cgggtaaagcgccatcaagacgctcttcgtacaagatgctcatgagtaggcttcgctttg
+ttgtgttgtgtggcagctgatttttgcgcgctgcttctgtgaacagttattaagcgggct
+tttcgttttcgtctatctctttagctaccggtcagaccattttttttccagctctgtgac
+cttgtcttggttaactcaatgttaaattgatgtaacataatcacttacgtgatgtgcgtg
+ttttgcgagttaagaacagaaaaattggtcctacctgtgcacgaggtccgggaatgaaag
+atgaacgtcgccctatttgcgaagtggttgcagagagtatcgaacggttaattatcgacg
+gcgtactgaaggtcggtcagccgcttccctcggaacgtcgactgtgtgaaaagctcggct
+tctcacgctccgcactgcgtgaagggctgaccgtgctgcgcgggcgcgggattattgaaa
+cggcgcagggtcgcgattctcgtgtcgcacggcttaatcgggtgcaggacaccagcccgc
+tgatccatctgttcagtacgcagccgcgaacgctgtacgatctgctcgacgttcgcgcat
+tactggagggcgaatcggcaaggctggcggcaacgctgggaacgcaggctgattttgttg
+tgataacccgctgttatgaaaaaatgctcgccgccagtgagaacaacaaagagatttcgc
+tgatcgaacatgcgcagttggatcacgctttccatctcgccatttgtcaggcttctcaca
+atcaggtgctggtgtttacgctgcaatcattgaccgatctgatgtttaattcagtgtttg
+ccagcgtaaataatctctaccatcgaccacagcaaaaaaagcagatcgatcgccagcatg
+cgcggatctacaacgcggtgttgcagcggctgccgcacgtcgcccagcgcgcagcacgcg
+atcatgtgcggaccgtgaaaaagaatctccacgatatcgagctggaaggccaccatttga
+ttcgctcggcggtgccgctggagatgaacctgagttagctggtattaaatctgcttttca
+tacaatcggtaacgcttgtacggctccgccccaatgcgttccagcatgttattcatgcct
+gtattggtttcgaggatccatgacatctccagcgcatcgatcttccggcgggcaaacgga
+tcgcgtaaggcttcaatcaataacagcgcaatcaccgggccgatgcggctgaactgatac
+tcgtcgcgcacgcccatcagcggtactcgcgcagttcgcacaccgctgactttcaaacgc
+cacagcaattttgcccagccgaagggaaagagcgatccgttcagatcggcaatcgcctcg
+ttgatgttcggcaagccgacaataaacgcgcagggtgcagaatcaatctcagcgatatag
+atcatatcgtccggcaccagatatttaagttgatcgcccatggtcgcgaattcatgttcg
+gtaaacggcacaaatccccagttgtgctgccagccagagttgaaaatctcacgcaggatc
+tgcatctcttcggcaaaccgctgacgattgatgcagcgaatggtcacctttttgcgcacc
+tgatccatcagtttttttagcgccggagagaaagtgagatcggttcgctgcatccaccac
+gccagtaaatcaatgcctttgtgataacccagttgttcaatatgcgcggcataccacggt
+ttgccgtgtggcatcatcgcacagggtggtgtgtcaaaaccttcaatcagtaatccgctt
+tcctgattgatattcaggctgaaaggaccgctgatcttacttgcaccttgtgacttcaac
+cacgcttccgctgcgccaaacaacgcggcaaaaacctgcggatcatcaatggcgtcaatc
+atgccgaaatgaccggtatctttgccgtaacgctcgcggtgcaaggtatctatttgcgcg
+gtaatacgcccaactatctgccccgctttttttgccacccacgcctgccagatgatatgg
+tccgtccccggatttttcgcagacaaatgctcgttgcgttcaatgaataaagggggtatc
+cagtttggatcgtcgggataaagtgatgacggaaaagcgataaatgccttaaggtcattt
+ttattaaggaaggtgcgaacaagtccctgatatgagatcatgtttgtcatctggagccat
+agaacagggttcatcatgagtcatcaacttaccttcgccgacagtgaattcagcagtaag
+cgccgtcagaccagaaaagagattttcttgtcccgcatggagcagattctgccatggcaa
+aacatggtggaagtcatcgagccgttttaccccaaggctggtaatggccggcgaccttat
+ccgctggaaaccatgctacgcattcactgcatgcagcattggtacaacctgagcgatggc
+gcgatggaagatgctctgtacgaaatcgcctccatgcgtctgtttgcccggttatccctg
+gatagcgccttgccggaccgcaccaccatcatgaatttccgccacctgctggagcagcat
+caactggcccgccaattgttcaagaccatcaatcgctggctggccgaagcaggcgtcatg
+atgactcaaggcaccttggtcgatgccaccatcattgaggcacccagctcgaccaagaac
+aaagagcagcaacgcgatccggagatgcatcagaccaagaaaggcaatcagtggcacttt
+ggcatgaaggcccacattggtgtcgatgccaagagtggcctgacccacagcctggtcacc
+accgcggccaacgagcatgacctcaatcagctgggtaatctgctgcatggagaggagcaa
+tttgtctcagccgatgccggctaccaaggggcgccacagcgcgaggagctggccgaggtg
+gatgtggactggctgatcgccgagcgccccggcaaggtaagaaccttgaaacagcatcca
+cgcaagaacaaaacggccatcaacatcgaatacatgaaagccagcatccgggccagggtg
+gagcacccatttcgcatcatcaagcgacagttcggcttcgtgaaagccagatacaagggg
+ttgctgaaaaacgataaccaactggcgatgttattcacgctggccaacctgtttcgggcg
+gaccaaatgatacgtcagtgggagagatctcactaaaaactggggataacgccttaaatg
+gcgaagaaacggtctaaataggctgattcaaggcatttacgggagaaaaaatcggctcaa
+acatgaagaaatgaaatgactgagtcagccgagaagaatttccccgcttattcgcacctt
+ccctaaatcaggtcatacgcttcgagatacttaacgccaaacaccagcgaaatgagcggc
+ttgccgacgatcaacaccgcgagcgccaccagaataccgattccgcccgccagtaaaccg
+gacttcacacctaacaaccacggtctggtggtgcgcggatctaaacgcatcacctctggg
+taaaaacttttacccagcaaacccgctggcgttccggcggcgtcgaagaatgtcatggcg
+attttaaataacccggcggcagcgggtcctaacacgatccccaccaacactgtgctgcac
+gagttacgcgccgaccagatggagtgggcaatgttggttgaccagacaaaactccacgcg
+cctttaatgtatcgggcagactcaaacagattcaatttgaaggcgttatggatatttcgg
+cggcgtaattcgcgcgcggcaaaccaccagtacatggtgccgccaaccagattcgacacg
+taccaggcaataacaaaacccgcaaaaccaaagtcaaaataccaggctacgacgctcccc
+gctgcgcgcagaaaaggtttcgtcgcctgctgtacagcaattaaatcgaagcgatctacc
+gcacgcagaatgccggtcggcgtggaggaagccattgaaggaatgagcgtgcaatagagc
+gctgccagccaaaaactttggtcatccagacctaatgaatgggaaaggaatggcagtaag
+gcaatgccaccgacaatcgccaccgcgccgctgacgatatccagcgagaaggaaaatgag
+acgacattgcggaattgctgcggattattgttggttaatgctggtgttccgtactgaacc
+accagttgccatgtctgaaacttaataaaatcgctgatcgacttggcgtacgattgcaca
+atcaccagtacgccaaacatggcgggcgtcatccctttaccggcacacgagagcgccaac
+agacccagcaaggcgctcacgacattactggagcctaaccaggcgctattgcgaataatg
+gtgcgaaacgcgccatctgcaaaccaatgtttgatgttaaaacccgccaattcagcctga
+ccttatcgttgatagtaaaaagtatcccgccagccttaagttaaacttcggcggtcagaa
+acgatggcaaccagagaaaccgccttctgtgcctgttccagcacttcgctgtagggcgct
+ctggaatcaatctcaagaatttttgtgccgttatagccaatcttcgacatgacaccgatt
+ttgtcctgcagctcggcatagtcatggtcaggcttgcgggagatggcagtctcaatatca
+atgcccaggcgaataattaattccgggcgatattgcgccatttgttggtataaacgccgt
+tcgcgctgcgccagaaacatgctgattttcccggtcgcacgttcgacgccaatccccggt
+ccatcataataaaagcccgaaatttcagcctgcgggaagcgatcgctgaccaccagaacg
+ccactttgcgccagtcgctgaaccttgcgtagattcgccattcttcgcagcgagaagcag
+tacataatcaccgccgcccatagcgccggagatttggttttcatgctttgggttttcgag
+gatttggccgccagtcgccgttccagccagacgccaaccaacggcaatcgtttgattttg
+tcgccgtcttcgccggagagcagccccagatagcgccgctcggtttgccagtgttgttgc
+agcgatttcaccaggtcggtggtcagtgtggatttaccggtgccatcacacccgaccacc
+gcaatcagccccggaatgtagttgggctgcggcgcggttgtactattaacagtttgagtt
+tgtagtgcatccattcgttaaatcatcccctatccattttggtgatcaggaaagcgcggc
+gtgaattgcgcgtagtgacgcttgcagaatttcatcggcggggtgtcgcccatccagttc
+aaggatctttgcgccattgaatgtcagttgcggcgtaacggcgattttttcctgtaacgc
+tgccagttggtggtcaggtttacgcgcaaacgcggtttgttcatcaatgccaagacgaat
+caacaatacgggcaaataagatgccatccattggtacagcttcagctcgcgctgccttaa
+catttttatccaaccgttaccgcccgtggtttttgccaattgcgggccatcaaagcgaaa
+ccccggcacttcaacctgcgggtagcggtcggtgatgagcagaaagccttgctggctttt
+acacaacattttgcgaaacttgtacgcccgccagcaggaaagcagatagataaccagtgc
+agtaatattgccaggcggtgttgagggcttttcgtgcacatgtgccgctttacttcgcag
+ataacgcccaaaaggtgcgccaataacagggagctgtgaaatccattcgccaattcgccc
+ggacgattgcccgagataaatgtgttctgttggcattcttgctgccagttcatttaccag
+gcttgccgtgagggtcgatttacctgaaccatcacatcctacaatggcaataacacgcac
+tggcgtggaattaattattgacatattacgttgattcacgaaaaacccggcagtaaataa
+tgtattgaatattacgtggtccgtgctcagaatatccgttcaaccttattgtgacaatgg
+ttaattgtgacattgacctgaattacgctttcataaaaacatattaaccaaataaatatt
+tttaatggatatttaaattaaaggatatattcatgcagtcaataacacctccattaattg
+ccgttattggtagcgatggttcaggcaagtcaacggtgtgtgaacatcttattaccgttg
+tcgaaaaatatggtgctgccgaaagagttcatttaggaaaacaggccggaaatgtcggtc
+gtgcagtgacaaaattaccgttgatgggaaaatccttacataaaacaattgaacgaaatc
+aggtgaaaacagcaaaaaaattgcctggaccagttccggcgctggtaattacagcgtttg
+tcgcccgtcgcttactgcgctttcgtcatatgcttgcctgtcgtcgtcgcgggttaattg
+ttctaaccgaccgttatcctcaggaccaaattcctggcgcttacgatggtacggtgttcc
+cacctaacgttgaaggtggtcgttttgtctcatggctggcaagccaggaacgtaaagcgt
+ttcactggatggcgagccataagcctgatctggtcatcaaactcaatgttgaccttgaag
+ttgcctgtgcacgtaaacccgaccataaacgggaatcgctggcgaggaagattgccataa
+cgccacagttaacctttggtggtgcacaactggttgatatcgatgccaatcagccactgg
+aacaggtgttggttgatgcagaaaaagcgattacggattttatgaccgcgcgtggttatc
+actagtcaaaaatggaaatgcccgatcgccaggaccgggcattttcaggaaggttaaatc
+aactgcaatgctatccagtacagcccaccagaaagaaaaattgccgccggtaaagtaaat
+acccacgccatcaggatgctggttaccgttttacgctgtaacccaccgccgtccaccacc
+atcgtccctgcaactgcagacgagaggacgtgtgttgtggagacgggcatcccaatataa
+ctggcaagaccgatagacactgccgccgtcatttgtgccgccatgccttgcgcatacgtc
+atgccgcgcttaccaatcttctcaccgatggtcatcgctacacgacgccagccaatcatg
+gtgccaatgccgagcgccagtgctaccgccatgatgatccacaccggagcgtactcaatg
+gtgcttaacatatcgctgcgaagttttttcagcaggttctggtcttctttactgacgcct
+ggcagtttcgctagcttcgcggaggtatcagagatgcacagcataatgcggcgcagctgg
+ctgcgctgactcacgcttaacggctcgtaactttccatattgcctggcagcatcgtttta
+acgcgcgcaatagcatcaaaggtatttgccggatgacagtgaaactctgttacttgcgtg
+ccatcagtcgatgctgcaggcaatggaggttccatcgcaatcaacttctgcggcagttca
+ggatgctgttgcaggtagtgttcgaagttggtaacggcatcgcgggtacgggtaatttca
+tagccggacgcattcatattgacgacgaagccagcaggggcaatccccaccagtaccagc
+attaccaggccgatccctttttgtccgtcgttcgcgccgtgcgaaaacgccacgcccgca
+gcggaaacaatcagcgcaatacgcgtccagaatggcggtttacgtttgccttttttcttt
+ttgcgatcttccggaatgcggtgaatacggtcacgctttttcgtcccgctccagtagcgt
+cgcagcaggaatatcaggcctcccgcaatgaccaggccgacgataggggaaacaatcagc
+gaggagaaaattttggtcacttcacgcaggtttaacgcatccatcaccgatgagccggtt
+aacagcgcgttggttaaaccgatgccgataatcgcaccaatcaaggtgtgcgaactggag
+gccggtaaaccgaagaaccacgttcccaggttccagataatcgccgccagcagcatggaa
+aagaccatcgccaggccgtgggttgaccccatattcagcaacaaatcggttggcaacata
+tggacaatggcataggcaacgctaagtccgcccaataacacgccaaaaaagttaaaaaat
+gccgccatcaccacagcaagttgtggttgcatggcacgagtataaataacggctgccacc
+gcattcgccgtgtcatgaaaaccattgattgcttcgtagaacaacacaaatgccagagca
+agcaataacaaaagccctgtgtatatatcaaggccaacaaataaatttagcatatattag
+attacgccattttgaatttacgaacggacgcattatcagtgactttaacggcatgggcaa
+agtgaaatatcattttttaacgataaaaagagtgttatttcttgtgtatcagacaataag
+cattcattcaaaacctttagaaataatcaaaacacaggtattccactggttaatatattc
+acatatgaaatgaataaatattggaatatataaatattgaatattttgattaatccccgt
+actgattattcttcataatcagtacggggttgctacaacatgtattactttttcaccaca
+attaacggttcaatatcactctcttttttgatgaccagtgattcatcaccgcgcaaacac
+gtcccaccgtagttgccgccaacggtgaaggtacatacctgaatgtatttaccgtccact
+ttcggcaaacaccacagttgctgatagatgtttttctgctcggcaaatttaccgctggtt
+ttgtccagcacctcttcatgatggctgacgaggtcgatattgctgccacagcgaccggcg
+atcggtttcactgcgtaacctgttttcaccagttcatcattaacagtgaaatcggtatcc
+agcaggtaacgatggtgcgggaacagcgaccagaggatcggcagaatcgctttgttgccg
+gggatcaccgtccacagcggctcaaagaccagcacttccgggcgcagcaatacgtcgata
+agacgcacttcgttttgcggatgaccggtacggattggcaccgcagcaaactcacggtcg
+ctaacttcacgaatctgatcaaacgcggtttcccacgcccaggttttccacacgcagtta
+accagtcgcccttccccatcaatcagttgcccggcagcatcccagcccagttcatccaat
+ccacgcaagatacgcgtttcaaagcccgcctggtgcagcgcctgctccataaactgcgcg
+tgatagttttcctcgatatctttgtcctgcatgatatggacaaacggacgtgcacgactg
+tgtttccaggcaccagccaattcgttaatcagcccttccgccggattgaagccgttgcct
+ttatagccctgctccgcccaacgttcgaggatcaagcccgcttcggtatgacaggaggcg
+gagtcggcgttgtactcgtaaaccttcaggccacgctcatccatgcagaaatccatacga
+ccagtgatcatatggtgacggcgacgctgccaggagagacgcaaacgtggccagaggatt
+ttcgggatgtcgaacagcgccagcaggttgtcatctttcagcaccttgtcggttgcgtga
+agatacatcaggtgcagctcgttggtggctttaattagctcctgctcggcactctcggta
+atggtgtagtaatgataaggatcctgattgatcacctgaccgttggcctgcacataggcg
+ttttgcagcggatctttttcatccagccatttaccgtcaaactggcctttgttttccagg
+cgcgctccgctgattttcagcagctcgcctgcaatttccggctgcggtaagctgtattca
+gtatcttccgtctggatcatccagcccagaatggtggtgtcatcaaaagtgtctttcagg
+gtatagcagccgttttcgaccaccatctccagctcgcgcgtccactgttgcccttgcggc
+aacggggaatgaatcacgttctgttccgcaatacggactttgttgccatgcaattgggta
+atgatggcgacatggccagtgtctttaaattcaccgcctttatcccagataagaagcgca
+cccgcgaccggcgcacgcggcgagccgttaggaaatgcctgcaatggcaggatgttgtca
+ttaaccacttctcgcaggaagcgcagcgagaaaatctcccacgccatacccacgtcagta
+aagaccacaccgtaattcagaaagagaaaacggcgagcaaattcaacgcattgccacttg
+tggcccatatattcgtcgtcgatatagctacggaatacggcgtcatcttcgtattcctgc
+ggatcgagagaactgtaatctgaagagtagattgctaccccacctggggcgtagcccaat
+aatgtcccgaacggggcatcctggctggtcgttcctttgctcatcactttacctttaaca
+atacaacctaagcagttggcgtaattgttgtgctctgattacctgctcagcgacattaac
+cggacagaggtcagactaatcatacacctcatcgcagcggctggcgcaaagggttaaaaa
+attcacattctgtacagcaagtgacctgctacactgcttcaacactaccactcagaaggc
+aactcactatgacagacaatacttatcagcccgcgaaagtctggacgtgggataaatccg
+ctggcggcgcgttcgccaatatcaatcgcccggtttctggtccgacgcatgaaaaaacgc
+tgcccgttggcaaacacccattgcaactttattcgctgggaacgccgaacggtcagaaag
+taacgattatgcttgaggagctgctggcgctgggcgttactggtgcagagtacgacgcct
+ggctgattcgtattggcgatggcgatcaattctccagcggctttgtcgaagtgaacccaa
+actcgaagatcccggcgctgcgcgatcatacgcataatccgccgatccgcgtgtttgaat
+ctggttcgatcctgctttatctggcggagaaatttggctacttcctgccgcaggatttgg
+caaagcgtactgaaacgatgaactggctgttctggttacagggcgcggcaccgttcctcg
+gcggtggttttggtcacttttaccattacgcaccggtaaagattgagtacgccatcaacc
+gctttaccatggaagccaaacgtctgctcgacgtgctggataagcaactggcgcagcata
+agtttgttgcgggcgatgagtacaccattgcggatatggcgatttggccgtggtttggca
+acgtggtgttaggtggtgtgtatgatgccgctgagtttcttgatgcgggcagttataagc
+atgtacaacgctgggcgaaagaagtaggcgaacgtccggcggtgaaacgtgggcgtattg
+ttaaccgcaccaacggaccgctgaatgagcagttgcatgagcgccatgacgccagtgatt
+tcgagacgaatacggaagataagcgtcaggggtaagggttggtgttcgtcgcagcaagcc
+atccaggccggataaggcgttcacgccgcatccggcaatcgtgcacaatgcctgatgcga
+cgctgccgcgtcttatcaggcctacgaaagctaatcatcacgcgctggtaatgtcgtaat
+ccatttggcgcagtgcgtctaatgtggctttggcttcatcttcgtcgatgatgctcatgg
+caaatccgacgtgtaccagcacccactggcccagtagatcggcagggttaccttcacaaa
+tcagggcgatattcacatcgcgcttgataccacatacttcaacctgcgcaagctggtgaa
+tatcttcaccgacagccagcacctggcctggaacgccaatacacattattaactccggtt
+attcaacttcaatacttttgacgatcagcgaatcgccggtatcgacacgcaaccgctcgc
+cgtgacagagcggacactgcgcatcgtgctgatgaatctccaccacctggctgcaatccc
+agcaccaagcctgggcgggtttatagacgatatgtaaatcgcacccttgcgccaccgttc
+cgtggcagacaatttcaaaactaaaacggacggcgctctcctcaacgcaggagagcgcgc
+caatttccagccacacggcggtgacgcgcttaacatcgtgctgctccgcctgccgttgga
+taatttcaacggcgctctggcaaagagacaactcatgcattttcgccactcctgcgacca
+aacagcagggcgcgacgccctgcgtgtggtacatccggattcgtgactggcagcgaaagg
+atcattcgtgcgcagtcatccgtcaggcgttggccctcttcaatcgacatgctgtgcgaa
+agcggcgacatcagcgaacaggagagatattgcgaaacaccgtccagttcgccaacggta
+aaggtcatagtgccatacggcagttgcagaccaattttttcactcactttgcgcagcggc
+cagagttgatccgggccggggaagataactgcactcagcatccacggggtgatcacacac
+cccgtccactgaccttcgaacagcgtaaaatcagaaacatacaccggcattgaaggatgc
+agaaaagagagatcgtgcatcgaacgccgggcaatttcttcaaacgctgcctgtacttgc
+gccttcggggaggtctggaaacctgctatctcttcagtcatgaatcgcctcccgtgggat
+ggcttccacgccagattcacgcagcgcagccagaacctgctcaagcgcaggttcaatcat
+tgcttcaaccgtcggcgttaagccgatgtgtggctccagcgattccgggatcacgccgac
+cagggtcagctttttcggaaactcgccggtgaagcgcagggccgacaagacgtcggccag
+gccaagctgatgcggagagattttgttggtaaacaacgccggaacttcttcatcccgcag
+gatcatcatcgttcccggcgcgttctttttcgagacaatggcatccgcaataatcaaatg
+atcgcgatttgccatgtcgccaagcagctccattcccgccgtgccgccatcgaggatctc
+aacataatccggcagaatgtatcgttgctctaacgcttcgacaatccgcacaccgatggc
+ttcatcggtcagcaaaatattgccgacccctaagactaaaatacgcattacagaaccttc
+actgaaaccacttcgttgccgtcagcatccactacgtgtaccgcacaggccatgcacggg
+tcaaaggagtgaatggtacgcaccacttccagcggtttattcggatcggcaaccggtgta
+cccaccagcgactgctcgtaaggaccgacgtcatcattgaagttacgcggaccagagttc
+caggttgatggaacaaccgcctggtagttgctgatgataccgtctttaataaccatccag
+tgagagagcataccgcgcggcgcttcgaggaagccaacacctttgaattcacccgttgcc
+ggaatgttcggcttcacaaaggtggtgtgatcgcctttgccgatattggtgatcagtgca
+ctgtattggttttgcaggatatcctgcaattcacagcagtgaacggtacgaccaataata
+cggcccagcgtggagtgcagctgtgccacttccagcgtgttgccagtcagtttctgataa
+atcgcaacgatttcattcagtttgttctgggtagattcgcgacctgccgccagtttcacc
+agcatattagccagtggccccacttctaccgttttgccgtagaaagtcggtgatttcacc
+caggaatatttcccgtcgtcagaccaaccatcataagccggaatggtggtgccttcccac
+ggtgcctgcggcgcttcgtctttataccaggagtgcttcgcgctttcctgaatgcctttg
+atcaggtattcatcggaatgagaagtgatcggacgatacgaggacagatccgcattctca
+atgtagccgcccgggaacaggaagctgccgtttttactgtcggtcgggaattccggcacg
+ctcaggtagttcaccgcacctttaccgcgtgtcagccattccgggtagaacgcggcaata
+actgcggtatcaaccttataaacctgctcaacaaagtcgctcagtttgtcgatgaaagac
+ttgatgtacatcaggcgctcaaggttcagcacgcccaaaccgtcgaggttgatcgggttc
+gcgacaccacctaccgccaggttctgaatgtgcggcgttttaccgcccagcagcgccacg
+acgcggttagcgtcacgctggcactccaacgcttgcaggtagtgcgctaccgcaatcagg
+ttcacttccggcggcagtttcatcgccggatgaccccagtagccattagcgaaaataccc
+aactgaccgctggcaaccagatctttgatcttgttctgaactttggtgaactcttccgga
+ctgttcaggtgccaggtcgaaacgcctttcagcatttcggaggctttggttgggtcagct
+tgcagtgcagaagtgatgtccacccagtccagcgccgaaagctgatagaaatgaacaata
+tggtcatgcgtggtgtgcgcagccagaatgatgttacggatgtattgcgcgttaaccgga
+acgtcgatattcagcgcactttctgccgcacgaacggaagacagcgcgtgagtggtagta
+catacgccacagatacgttgcacaatcatccatgcatcgcgcggatcgcggtttttcacg
+atctcttccatgccgcgccacatggtaccggaagcccatgctttcgaaacgacgccattt
+tcgatttcgcaatcgatgcgtaaatgcccctcaatacgggttaccggatcaatagtaatt
+ctctggctcatgctttgctcgcctcatgacgattatgatcgttttgttttaaaggaggaa
+gtatcggcagtagacgaatgagtacgatgtaagcgcaaatctcaatagccacaaaaccaa
+tagaaatcaacagttcttcccaggtcgggaagtaggcgtaaccgccgcccgggttgaatg
+ccaccagcgaataggtcagacgccaggttgcacaacctaacagtgcgctcagtgctgaca
+ggaacagcatgcgggaatcattacgcagcttcgccacacgcagaacgaccagcgggaaga
+gcatcagcaggacttcaatccagaacatcacggagtagaagtcaccggcaaacgctaacg
+acagcttgtcgcgatagataagctcgccaaagcgcagcacgatgaaaatcgccagcaaca
+cactgatggtgttggtcagcttaacaaacagactcttttcatccggaccgttgccacgca
+gacccgcctgcaccagcgaaccttcaaagatgacaatcgagaagcccatgatgaacgccg
+tcagcagcgagaacagcggcaacatttcatagctctgccacaacggatgcaccttgtagc
+ccgccgagatcatcagcgaccccattgaagactggtgcatggtcggcagcagcgcaccga
+gcgcgatgatgaagaacatcaccttgtttagtcgctgtagcgacaccttccaccccagac
+gttcaaacagtgccggagcaaactccagtgccatcacgccgatatagatggtcatacaga
+ccgccgtctcgaacagtaccgagttcacgttgaagtgacccggaatgtagaagtacggca
+ggttccagtagcgacccacgtcgatagtgatcgacaagccacccagtgagtaaccaaaca
+gactcgccaacagcgccggacgcaccagcggatggtattgcccacggttaaagacgtata
+ccgcccacgccagcgcccagccgccacaggcaaagccggtgccaatcagcaggtcaaacg
+cgatccacacgccccacgggaagccgccgttcaggtcagagacagagcccagaccgaaca
+ccagacgcttcacaatcaggagcatacagatgacgattaacggtccaaaaatcatgaccg
+gtttactgatgattttgccgcccagcggttgtggatcatgactcatgatcgtctcctccg
+tcgtgatggtcgtttttggtgttgcgacgaaccagcacggttaagcccgccagcacagcc
+agtggtagcatcatgcctttatacagggtgtgttgaatattttcggaacgcgcaccggta
+gaaagatcgtccagtttcggcaggtcgagattttcataaggcacacccgtcagtaccaga
+acctgagtaccgccgccctctttctcgccgtacagatgcggataatatttcggcaccgta
+tgcaggtaagtgtcgccagatttcagcgtctgacgcggatagtggtattcgctgccaggc
+ttcagcgccagacgttttttcgcctccgccatcagctcttcacgcgtaccgaaaatcacc
+gcgcccgccgggcacacttctacgcagccaggtagaccgcctttatcgagacgttccaca
+cctttctggttgcacagctcgcacttatgcagcgcaccaaacgggttgttgtagtcgtac
+ttcggcacgttgtacggacaggcgaccatgcagtaacggcagccggtgcacacatctttg
+tcgtaatggacaatgccggttttcggatcttttttcagtgcagagaccgggcacacagag
+acacagttcggatcgacgcagtgcatacactgtttcttaatgtacgcgtagccgttctcc
+tcctggtctttgttgacccctgtgccgctggtccacacctgaatgatgttattggtatac
+ggcgacagtttgtcgttgttcgaccaggtctgttccccttgcgggttacgttcagggaaa
+ttgatatcctgacacttggtgacgcaagcctggcagcctacgcacaaggtcgagtcgtac
+aacatccccagcgatcccggaattggcgggcggttttcagcagccgcatgactgacagac
+ggcagcgcgcccgtcagcaatgccccgcaggaggctgctttaataaaattacgtctgttc
+acggttattctccccgtgagtcagcgttatctttcttttgctgacgacccagttcacgca
+ccgccatcacgctgacaccggcaaccaacccaaccacaccgccgagcaaaccaatagcgc
+ctgcagagacgttgccgccctctttagcgttaacatccggtttctgtgaacgcggagttt
+gattttcgacgttggcaagctgatggatgcctttatggaagccgataccttcttcgttac
+agccatagcaagggtgaccaatcgccaccggccacacaccgccaacatcgcagaattgca
+gcgttgagcagttgccgtaagtttctggccctttacagccgaggtggtacaggcaccagc
+cttcgcggtggccttcatcaccgaactctttggcaaaacgaccagcatcgaagtgcgggc
+gacgttcgcagtgttcgtgaatcagacggccataggcgaaggtcggacggtttttgtcat
+ccagtttcggcggtttgccgtaagtgatgatgtgcgcaacggtcgcgaggaagttgtgcg
+ggttcggcgggcagcccggaatattgataacggttttgcctggcagaacttcttgcaggc
+tgactgcgccagttgggttaactccagctgcggcaacaccgccccacgcagagcaggaac
+cgatagcgataatggctgctgcgccttccgccgctttgcggatgtgatccacaatcggct
+caccggcaaccatgcaataaataccgttatcttttaatgggatggaaccatccaccacta
+acacatactgccctttgtacttctcgagagcgttatgtttgttctcttcgacctgatgac
+cgaaggcggcggaaagcacttcgtgatactccagagagatagtctccagtacgaggtttt
+ctaccgttggatgcgttgcacgaagcagagattccgtacaaccggtgcactcctgcgcgc
+caatccagataactggcggacgctgcgggttagtaaccgattcggccatctctgcagcgg
+ctttgctacttaaccccatggtggcggctaatgctgcacaaagcttcatgaaatcacgac
+ggttaatgccgtgagaatggatgagggtgttatctccagtcatttatagttattccgttg
+cgaagacctggcatatattttgcctcaatcgcaaaatcaataatgcgatcgatgcgccat
+ttaccacacatttattatggttatcgatatcatgatactgcggcggggcgctaaaacgaa
+gggaagaagcattagtgtaattaattaaagcaagataatacgtatgtttgatcaattttc
+gaggcgataaccggccataaaaaagcgcaacgtagaacaggaattattctcacgaaagaa
+atccattaccatctctttatccagtccatagcggcgcgtcagaatacccgcttcccaggc
+gctaagctggcgatctccggtcttttcgtacatccggtgtgagtagcctaatacaaaacc
+gcgtttataatcggcacagaattttgtcacattaaccgcactgtcggcatgcgttgcttt
+taatcccgccattaagcctttaccaaaatggttattcatcgttcacctcattcgctatat
+attgtcatatatagcgatattttaggcaaagaacgacttttgcgcacgctattttttcat
+gcttgtttaagacgtaatcccgtaagagataaacctatcaggagagatatttatcgaacc
+atttcagtgtcctttgccaggcaagatcggcggcagatttgtcataacggggcgtggaat
+cattatggaatccgtgattaacccccggatagatatacgcctcataaaccttattattgg
+ctttcaacgccgcctcgtaagcaggccagccctcgttgattcgggtgtccagttccgcga
+agtggagtagtaaaggcgcttcaatcttcgccacatcggcagtgggtgcctgacgaccat
+aaaacggcaccgcgcaggccagttccggatacgcgacagccgccgcgttcgatacgccac
+cgccatagcaaaatccggtaatacccactttgcctgtcgcttgcggatagcgttgcataa
+actcaattgcggcaaagaaatcattcatcagtttgttggatcaacctgctgttgcagctc
+acgacctttatcatcatttcccggataacctccaacggaacttaagccgtcaggtgccag
+ggcgatataccccgccttcgccactcgccgtgccacatcttcgatatacggattcagtcc
+acgattctcatgcaccaccactacggctggcgttttgccgctcatctttgcgggcttcac
+cagataaccccgcacctcgccgtgaccatttggcgaaggatacgtgatgtactcagcaac
+aatttccgggtcggtaaactctacctgagtcgccagcgcataatttggcttgagcaaatc
+aaacaacgctaatgccgtcatcccgcctaccgcacttcgccgcaaggttgaggaactcac
+gtttcgagattttcccgtgagcgtaatagtcatagtaatccagcaactcttgtgggaaat
+ctttggcggttaaacgcggcatcgttgcactcctcagttggtgtttttttaagcaaagca
+taagcacgtatttttgcccagtttttcgtcactctgtgagccagactacgggatacgcgc
+tggcgaatcgctaaactagaaacattgtttcgaaattgaacggtggaaaggagaggtcat
+ggtctggttagcgaatcccgaacgttacgggcagatgcaataccgctattgcggaaaaag
+tggtttacgcctgcccgcgttatcgctcggtttatggcacaatttcggtcacgttaacgc
+gctggaatcacagcgtgcgatcctgcgtaaagcgtttgatttgggcattacgcactttga
+tttagccaacaattacgggccgcctccaggaagcgcagaagagaactttggtcgcctgct
+gcgggaggattttgccgcttatcgcgatgaactgattatctctaccaaggctggctacga
+tatgtggcccggcccttacggctctggcggttcacgtaaatacctgctcgccagcctcga
+ccaaagcctgaagcgtatggggcttgagtatgtcgatatcttttactctcatcgcgtcga
+tgaaaatacgccgatggaagaaaccgcctctgcgctggctcatgcggtacaaagcggtaa
+ggcgctgtatgtcgggatctcctcttactcgccagagcggacgcaaaaaatggtcgagtt
+gctgcgcgagtggaaaattccgctgttaattcatcaaccttcgtacaatttactgaaccg
+ctgggtggataaaagcggcctgctggataccctgcaaaataacggcgtgggctgtattgc
+ctttactcctctggctcagggattgctgaccggaaaatatctcaacggcattccgcaaga
+ttcacggatgcatcgtgaagggaataaagttcgtggtctgacaccgaaaatgcttaccga
+agccaacctcaacagcctgcgcttattgaatgaaatggcacagcagcgtggacaatcaat
+ggcgcaaatggcgttaagctggttgctgaaagatgatcgcgtgacgtcggtattgattgg
+tgccagccgcgcggagcaactagaggagaacgtgcaggcgctgaataatctgacatttag
+caccaaggagctggcgcagattgatcagcatatcgccgatggcgagctgaatctgtggca
+ggcgtcttccgataaatgacctgttaataacgggcgcgcgaaccgcgcccgaatcagatc
+agtgattatgacgagtcagtcggtcaagatagcccatcacaaatgcagaaagcacaaacg
+tcagatggataatgacgtaccacatcagtttgttatccgggacatttttcgcatccataa
+agacgcgcagtaagtgaatggaagaaattgccacaatcgacgctgctactttgtttttca
+gcgacgttgcgtccattttccccagccagttcagcttctctttgttctcggagatatcca
+gctgtgagacgaaattctcataaccggaaaacatcaccatcaccagcaaaccgccaacca
+gcgtcatatccaccagcgacagcaacacgaggatcaaatctgattccgccatcgagaaga
+tattcggcagtacgtgaataatctcctggaagaacttcagcgccagggcaactaacgcca
+gcgaaaggccaaagtacacgggggcaagcagccagcgagaagcatacattgcattttcaa
+gaaaacgttccatacattcctgtcgtgtagttaaaacgggcaacagtatatcgcaattga
+gtaaacagcacgcaacagcaaatcaacatatacgttaaacctttgtcgcataattctgag
+gtttagggatcttcctggttcccttatcaacgcatcgagaacgtctacccttaaaggacg
+ttgaacctgaagggagaaaaacgatgtctcatttaaaagacccgaccacgcagtattaca
+ctggtgaatatcccaaacagaaacaaccgacgccaggcatccaggcgaagatgacaccgg
+taccggattgcggcgagaaaacctatgttggtagcggtcgcctgaaagatcgtaaagcac
+tggtgacagggggcgattccggaataggtcgcgctgccgccatcgcttacgcgcgtgaag
+gggctgacgtggcgatcagttatcttcccgtggaagaagaagacgctcaggatgtgaaaa
+agatcattgaagaatgcggacgcaaagccgttctgctgccaggcgatttaagcgatgaga
+aatttgcccgttcgctggttcacgaagcgcacaaggcgttaggcgggctggatattatgg
+cgctggtcgccgggaaacaggttgccattccggatattgcagacctcaccagcgaacagt
+ttcaaaagacctttgccattaacgttttcgcgctgttctggctaacccaggaagcgatcc
+ccctgctaccgaaaggtgcaagtatcatcaccacttcgtcaatccaggcataccagccaa
+gtccgcatttactggactatgcggctacgaaggcggcgattctgaactacagccgtggct
+tggcaaaacaggtcgcggagaaaggtattcgggtgaatattgtcgcgccaggcccgatct
+ggacagcactgcaaatttccggcggacaaacgcaggataagatcccgcagtttggtcagc
+aaacgccgatgaaacgtgcggggcaaccggcggaactggcccctgtatatgtttatctgg
+caagtcaggagtcgagctacgtcaccgcagaagtgcacggcgtgtgcggcggcgagcatt
+taggttaaaaaaatgcccggttgtgaaaagcaaccgggcatcattgtgaattcactctta
+cctgatgtggcgaaaacgccttatccgcctacaaacgcatgaagattcaacatgttgcaa
+tagattttgtaggcctgataagcgtagcgcatcaggcattgagcacctaatgccggatgc
+gtcgtgaacgccttatccggcctacaaacgcacgaagattcaacatgttgcaatagattt
+tgtaggcctgatgagcgtagcgcatcaggcaattctactttacttcgctttggcggtttc
+ttcgccgaccagacctatcttcaggtaacccgcctgatgcagcgtatccattaccttcat
+caacgtctcgtaatcgacggttttgtccgctcggaagaagatggtggtgtctttcttgcc
+ttcggttaacgcattcaacgccgtaatcattgtttcatcggtgaccggatcgttaccgat
+aaacatcgagttgtctgccttcaccgacagataaaccggtttttccgggcgcggctgcgg
+cgtgctggtagaagcaggcaagttcaccttcacatctaccgtcgctaacggtgccgccac
+cataaagataatcagcagaaccaacatcacgtcgataaacggcgtcacgttgatatcatg
+catttcgccgttatcgtcgaggttttcgttaagatgcattgccatcggatattatcctgc
+gcgtaatttttgtgcgacacgaaccggatgcgcagcggcgctggcttccagatccaggtc
+acggctttgcagcaacaatacctgcgctgcaacatcacccagcatcgctttaaagccgcc
+aatctggcgtgcaaatacgttatagataacgaccgcaggaatcgctgccacgaggccgat
+tgccgttgctaacagagcttctgcgatacccggcgcaacgactgccaggttagtggtctg
+cgtttgcgcgataccaataaagctgttcatgatgccccagaccgtaccaaacagaccaac
+gaacggagaaatcgcgccgatggttgccagatagccgttaccgcggcccatttgacgacc
+cactgcggcgacccgacgctccagacggaagctggtacgttctttaataccttcgttatc
+gtcgctgccttctgacagttccagctcattctgcgcttcattgagcaaatgcaggcttaa
+gcttttgctaccaaaatcagcggcgatatcgttggcctggtttaaggaacgcgcttcagc
+cagcagttgctgctcgcgcttaaggcgacgcttctgattgaagaactctacgctcttact
+gaagaagattgcccaggtgactacggaggccaaaataagcccaatcatcacgcacttaac
+gacaatatcggcgtgctgatacataccccagacggaaaggtccgtctgcattaaattatt
+acccactgtgtatctccaggacgcaagtcacaaaatctgcgcataataatatcaaaacga
+cgtcgaattgatagtcgttctcattactatttgcatactgccgtacctttgctttctttt
+ccttgcgtttacgcagtaaaaaagtcaccagcacgccatttgcgaaaattttctgcttta
+tgccaattcttcaggatgcgcccgcgaatattcatgctagtttagacatccagacgtata
+aaaacaggaatcccgacatggcggacaaaaagcttgatactcaactggtgaatgcaggac
+gcagcaaaaaatacactctcggcgcggtaaatagcgtgattcagcgcgcttcttcgctgg
+tctttgacagtgtagaagccaaaaaacacgcgacacgtaatcgcgccaatggagagttgt
+tctatggacggcgcggaacgttaacccatttctccttacaacaagcgatgtgtgaactgg
+aaggtggcgcaggctgcgtgctatttccctgcggggcggcagcggttgctaattccattc
+ttgcttttatcgaacagggcgatcatgtgttgatgaccaacaccgcctatgaaccgagtc
+aggatttctgtagcaaaatcctcagcaaactgggcgtaacgacatcatggtttgatccgc
+tgattggtgccgatatcgttaagcatctgcagccaaacactaaaatcgtgtttctggaat
+cgccaggctccatcaccatggaagtccacgacgttccggcgattgttgccgccgtacgca
+gtgtggtgccggatgccatcattatgatcgacaacacctgggcagccggtgtgctgttta
+aggcgctggattttggcatcgatgtttctattcaagccgccaccaaatatctggttgggc
+attcagatgcgatgattggcactgccgtgtgcaatgcccgttgctgggagcagctacggg
+aaaatgcctatctgatgggccagatggtcgatgccgataccgcctatataaccagccgtg
+gcctgcgcacattaggtgtgcgtttgcgtcaacatcatgaaagcagtctgaaagtggctg
+aatggctggcagaacatccgcaagttgcgcgagttaaccaccctgctctgcctggcagta
+aaggtcacgaattctggaaacgagactttacaggcagcagcgggctattttcctttgtgc
+ttaagaaaaaactcaataatgaagagctggcgaactatctggataacttcagtttattca
+gcatggcctactcgtggggcgggtatgaatcgttgatcctggcaaatcaaccagaacata
+tcgccgccattcgcccacaaggcgagatcgattttagcgggaccttgattcgcctgcata
+ttggtctggaagatgtcgacgatctgattgccgatctggacgccggttttgcgcgaattg
+tataacattgccacttttggacaattttgcagacattttattgtgaaaagtcttaaattg
+ttgcgtccgggatcaaggcgtcccggacgattcaggagtacaataggcagataaaggctt
+aaacgctgttccacaggaaagtccatggctgttattcaagatatcatcgctgcgctctgg
+caacacgactttgccgcgctggcggatcctcatattgttagcgttgtttactttgtcatg
+tttgccacgctgtttttagaaaacggcctgctgcccgcctcatttttgccaggcgacagc
+ttgttgatactggcaggcgcattgattgcccagggggttatggattttctgcctacgatt
+gcgattctgaccgccgcagcaagtctgggctgctggctaagttatattcaggggcgctgg
+ttagggaataccaaaacggtgaaaggctggctggcacagcttcctgctaaatatcaccag
+cgcgccacctgcatgtttgaccgccacggtctgctggcgctgctggctggacgttttctt
+gcatttgtccgtacgctgctgccaaccatggcgggaatttccggtctgccaaaccgccgc
+ttccagtttttcaactggttaagtggattgctgtgggtcagcgtggtaaccagttttggc
+tatgccttaagtatgattccgttcgttaaacgccatgaagatcaggtaatgacgttcctg
+atgatcctgccaattgccttgttaaccgctggcttgttaggcacgctgtttgtggtgatt
+aaaaaaaaatactgtaacgcctgacgattttccccgttcccggttgctgtaccgggaacg
+tatttaattcccctgcatcgcccgcattcttgccgcatcttcccccggcgtcacaccgaa
+gtaacgtttaaactcacggctaaattgcgatgcgctttcatagccgacgcgcatcgctgc
+tgcgctggccttcatgccgtcatggatgatcatcatccgcgccttatgcagacggtaatt
+cttcaaatactgcaacggcgaggtactggtgacagacttaaaattatggtggaacgccga
+tacgctcatgttggcttctgccgccagttgctcgacgctcaggttttcggtgtatttatt
+ctcaatccgtttcagcacgcggctaatcagactgaagtgagtctggcgactgaccagcgc
+cagtaacgcgccgccgcaaggtccggtcagcacgtagtacagaatttcgcggatgatctg
+tttgccgagaatacgcgcatccagtggtcgctccatcacgtcgagtaaccgctccgccgc
+gcataaaatctcttctgataacgtggcggagttaatcccgctggctgccatcgacggctg
+gaaatgctcatcttcgccaatgtccatcaacagttcctgtaactgcaaaatatcgacatt
+gagacgcaaccctgccagcggcacctctgacgtggcataggtttcgcactcaaacggcaa
+cggcaccgtcagcagcaggtattcattggcatcataacgaaacacgcgttcattgatata
+accgattttatgcccggaaaagagaattatgatgccaggctcgtacatcaccggtgtacg
+tgcgaaaggcgtctcgccatacaacaaacgcacatcgggcaacagtcctgacaaactatt
+ttctttatttttcagtttattaactttatccgccagcaagcggcaaatctcttcacgttt
+catatcgcgtaatttcttaggaataatgcggcaatttgattgtgcgcaattttgtagcat
+ttctccagcactctggagaaataggcaagacattggcagaaatgagcattgagagccagg
+gcgctggcgatcacaatgaaaaacatcaggcagatcgttctctgccctcatattggccca
+gcaaagggagcaagtaatgaacaactttaatctgcacaccccaacccgcattctgtttgg
+taaaggcgcaatcgctggtttacgcgaacaaattcctcacgatgctcgcgtattgattac
+ctacggcggcggcagcgtgaaaaaaaccggcgttctcgatcaagttctggatgccctgaa
+aggcatggacgtgctggaatttggcggtattgagccaaacccggcttatgaaacgctgat
+gaacgccgtgaaactggttcgcgaacagaaagtgactttcctgctggcggttggcggcgg
+ttctgtactggacggcaccaaatttatcgccgcagcggctaactatccggaaaatatcga
+tccgtggcacattctgcaaacgggcggtaaagagattaaaagcgccatcccgatgggctg
+tgtgctgacgctgccagcaaccggttcagaatccaacgcaggcgcggtgatctcccgtaa
+aaccacaggcgacaagcaggcgttccattctgcccatgttcagccggtatttgccgtgct
+cgatccggtttatacctacaccctgccgccgcgtcaggtggctaacggcgtagtggacgc
+ctttgtacacaccgtggaacagtatgttaccaaaccggttgatgccaaaattcaggaccg
+tttcgcagaaggcattttgctgacgctaatcgaagatggtccgaaagccctgaaagagcc
+agaaaactacgatgtgcgcgccaacgtcatgtgggcggcgactcaggcgctgaacggttt
+gattggcgctggcgtaccgcaggactgggcaacgcatatgctgggccacgaactgactgc
+gatgcacggtctggatcacgcgcaaacactggctatcgtcctgcctgcactgtggaatga
+aaaacgcgataccaagcgcgctaagctgctgcaatatgctgaacgcgtctggaacatcac
+tgaaggttccgatgatgagcgtattgacgccgcgattgccgcaacccgcaatttctttga
+gcaattaggcgtgccgacccacctctccgactacggtctggacggcagctccatcccggc
+tttgctgaaaaaactggaagagcacggcatgacccaactgggcgaaaatcatgacattac
+gttggatgtcagccgccgtatatacgaagccgcccgctaagctttttacgcctcaaactt
+tcgttttcgggcatttcgtccagacttaagttcacaacacctcaccggagcctgctccgg
+tgagttcatataaaggaggaacgtatggctaatccaaccgttattaagctacaggatggc
+aatgtcatgccccagctgggactgggcgtctggcaagcaagtaatgaggaagtaatcacc
+gccattcaaaaagcgttagaagtgggttatcgctcgattgataccgccgcggcctacaag
+aacgaagaaggtgtcggcaaagccctgaaaaatgcctcagtcaacagagaagaactgttc
+atcaccactaagctgtggaacgacgaccacaagcgcccccgcgaagccctgctcgacagc
+ctgaaaaaactccagcttgattatatcgacctctacttaatgcactggcccgttcccgct
+atcgaccattatgtcgaagcatggaaaggcatgatcgaattgcaaaaagagggattaatc
+aaaagcatcggcgtgtgcaacttccagatccatcacctgcaacgcctgattgatgaaact
+ggcgtgacgcctgtgataaaccagatcgaacttcatccgctgatgcaacaacgccagcta
+cacgcctggaacgcgacacacaaaatccagaccgaatcctggagcccattagcgcaagga
+gggaaaggcgttttcgatcagaaagtcattcgcgatctggcagataaatacggcaaaacc
+ccggcgcagattgttatccgctggcatctggatagcggcctggtggtgatcccgaaatcg
+gtcacaccttcacgtattgccgaaaactttgatgtctgggatttccgtctcgacaaagac
+gaactcggcgaaattgcaaaactcgatcagggcaagcgtctcggtcccgatcctgaccag
+ttcggcggctaacatgcaaattctcccggtggcggtaatgttccgctaccggacttttca
+gaaatcatttattcccctcgcgtcccgcccgttgttactcttccttgttcaggaatgcca
+aatataaggacatcatcatgcagagccggaagctcttaaaagaacaactcatctatatcc
+gggataaacgcaacggagaggtgaaaaacagatgaaaataatacttctgtttttagcagc
+cctggcaagttttaccgtacacgcacagcccccctcacagaccgtagaacaaacagtccg
+gcatatttatcagaactataaatcagatgccactgccccttattttggtgaaaccggaga
+gcgggcgataacttctgcgcgtattcaacaggcgcttaccctgaacgacaatcttacgct
+gccgggcaatattggctggctggattatgatccggtttgtgattgtcaggattttggcga
+tctggtgctagaaagcgttgcgataacccaaactgacgccgatcatgccgatgccgttgt
+gcgctttcgtatctttaaagatgataaagaaaagaccacgcagacactgaaaatggtggc
+ggaaaatggtcgttgggtcattgacgatattgtcagcaatcatggcagcgtcttacaagc
+agttaatagcgagaatgaaaaaacgctggccgctttagcttcgttgcaaaaagaacagcc
+ggaagcctttgttgccgaactctttgaacatattgctgattatagctggccgtggacgtg
+ggtggtttccgactcttaccgccaggcggttaatgccttctataaaaccaccttcaagac
+ggccaataatcccgatgaagatatgcaaatagaacggcaatttatttacgacaatccgat
+ctgttttggcgaagagtcgctattttcacgcgttgatgaaattcgagtcctggagaaaac
+cgccgattccgcccgcattcatgttcgttttacgctgaccaatggcaacaacgaagagca
+agaactggttttacagcggcgcgaaggcaagtgggaaatcgctgattttatccgcccgaa
+cagcggcagcctacttaagcagattgaggcaaaaactgccgccagattaaagcaatgagc
+tgaattaaataacaattagccggaacaataaataaaagggaacactatatgaaaacgatt
+ttcaccgtgggagctgttgttctggcaacctgcttgctcagtggctgcgtcaatgagcaa
+aaggtcaatcagctggcgagcaatgtgcaaacattaaatgccaaaatcgcccggcttgag
+caggatatgaaagcactacgcccacaaatctatgctgccaaatccgaagctaacagagcc
+aatacgcgtcttgatgctcaggactattttgattgcctgcgctgcttgcgtatgtacgca
+gaatgataaaaaaatccccggtagcgtgtcagttgccggggatattttttaacgtccaac
+cgccgctttaggccgtttcttcgcaccagcattcaccggacgagattgcgtagacgacgc
+tttttttgccgtagcaggcgtctgacgctgggtcgccatcggcgtatgtttcgtcaacgc
+cggacgggtattgcggttctggcgacgagcttcacgcatctcttcaatggttggcgcagg
+cactaagcaatcgcgacggctgccaatcagatgctttttgcccatcgcttccagcgcctg
+gcggattaacggccagtttgccggatcgtggtaacgcaacaacgctttatgcaaacgacg
+ctgtttgtcgcccttcggtacgaagacgtcttcgctcttataaccaatcttcgccagcgg
+gtttttcccggtgtaatacatggtggttgagttcgccagcggcgacggatagaagttctg
+cacctggtcgaggcggaagcggtgctttttcagccacagcgccagattcaccatatcttc
+atcacgcgtaccggggtgcgcggagatgaaataggggatcagatactgctctttacctgc
+ctgttttgagtaagtatcgaacagctctttaaagcggtcatagctgcccatgcccggctt
+catcatcttcgataacggcccttcttcggtatgttccggggcaatcttcagataaccgcc
+gacgtgatgggtcgccagttctttgatatagcgcggatcttctacggctatgtcataacg
+cacaccagaggcaatcaggatctttttaatgcctttcagatcacgcgcacggcgatagag
+gttgatcgttggttcgtggttcgtgtccatgtgcggacaaatatccggataaacgcacga
+caaacggcgacaagtttgttcagcgcgtggcgatttgcagcgcaacatatacatgttggc
+agttggcccaccaagatcggaaatcacgcccgtaaaacctggaacggtgtcgcggatcgc
+ttcgatctcattaatgatcgaatcttcggaacggctctgaataatgcgcccttcgtgctc
+ggtgatagaacagaaagagcagccgccaaagcagccacgcataatgttgaccgaaaaacg
+gatcatttcgtaagccggaatacgggcattgccataggccggatgtggcacgcgcttgta
+tggcagcgcaaaaacgctgtccatctcttcggtagaaagcggaatagcaggcgggttgat
+ccacacatagcggtcgccgtgtttttgcatcaatgcgcgggcacagcctgggttggtttc
+gtggtgcagaatacgcgaagcatgggcgtacagcactttatcgcccttcactttctcgaa
+agaaggcagcaacacgtaggttttttcccacggtttcgggcgcggtggctgcacggttac
+ggctttggcttcctgctttttcggtgccaccggtttgttatccgcgcacggcaaatcttc
+accatacggatgcgggattgggtcgatttttccaggggtatcaagacgggtggaatccac
+gccgctccagccaggcagcgcctctttcacgataatcgcggtattacgcacatcgcggat
+ttcactaattggctcgcccatcgccagacgatgcgccacttccaccagcggacgctcacc
+gttaccaaacatcagcatgtcggctttcgaatccaccagcacggaacggcgcacggtatc
+ggaccagtaatcataatgcgcggtacggcgcagactagcctcaataccgccgaggatcac
+cggtacatctttccacgcctctttacaacgctgggtataaaccagtgtggcgcgatccgg
+gcgcttacccgcgacgttatccggcgtgtaggcatcgtcatgacgtaaacggcgatcggc
+ggtataacggttgatcatcgaatccatgttgccagcagtaacaccgaaaaacagattcgg
+tttacccagacgcataaagtcgtctttgctgctccagtccggctgggcgatgatcccgac
+gcgaaagccctgcgcttccagcatacgaccgcaaatcgccatcccgaagcttgggtgatc
+gacatacgcgtcgccagtaaccaaaatgatgtcgcagctatcccagccaagttgatccat
+ctcttcacgagacatcggcaaaaacggtgccggtccaaaacaggcggcccagtactgcgg
+ccaggagaacaggtcgcgatccggttggatcagggagatagagctcattttgcttccaga
+aatgataaaaaaataatcaaaggccggggattataagccggaacgaaagagaaatcgaaa
+ggtattccatactcgccctcctcgggcgagtatgaagattacggtaccggattgaccaac
+agttgcccaatcgagccacggtccgccatttccagcgtctgactgttgaagtagaacggg
+aagtgcgcccaggaaggctgaccgaaataaacaagcagctccacttgtccgtcaacccaa
+acggtatctttccagcctctgtcttccgggaacggcatcgcgccattcacgttacggatc
+tggaacattacgccttcaatatggaacgcttgcggctcgtccgcgcgtaccgtccagcgt
+tcccacgttccttgctgcgcggtgacatcaatacggttgacgtcccacagctgtccatta
+atacccgggtcatcacccagactgatatcgcgactgcgaattggcgaaccagccatgatt
+tcagttggcagcaagcgcatcggaagactgtctgtgaccagcggcagaaggccggttggg
+cgcagcgttagcaccagggtagaaaccagaatactggatggctcaaagaagccacgaata
+cgatcaacaatgctcgccgcttcgccacaggtgatcgacacttcatcgccgttgctcata
+tccaccagaatctcgcggcgctcgcccggtgccagcgaaagttgcttcaccgatacagga
+gcaggcaggaatccctgatcgccagaaatcacatgtaacgggcgaccatcgttcatctgt
+agttgatagcgacgagagttcgacgcgttcagcagtcgcaagcgcacccagccacgcgag
+acttcaacgtacgggctttgtacaccgttaaccagcagcgtatcaccaacaaagccgccg
+cttcccggttcgttgtattctggcgtaccaaagttatccagccgtttatcctggataatg
+accggaaaatcatccacaccataatggttggggataggcagcgacttgctgacttcatct
+tccaccagccacattccggcaaggccgttatagacctgctgagccgtgcggttgggagta
+ttggcgtgataccacagagtagctgcgttctggcgaatgggcagtacgggtgcccagtca
+gcgtttggcgacatcatccgtgccggaccgcccatcagcgggcctggtacctgtagcccg
+gccaccgtcattgagacattttctgtcaggcggttgctgtaaataagcttaacatcgtcg
+cccttccagacgcggatagtcggccccaggtaacgaccattgattccccagaccgacgcg
+cgtgtccctggcgtaaatgaccagtgcgcacgttgtacagtcataaacagcggttgccca
+cggcgagattcaagtagcggcggaacgggtagcggttgctgttgcccggctgcgctggcc
+ttcaggggaacagcgcctgcacaaagtgcaatccccgatgcctgaatgaactgacgccga
+ctgagtgacatatttgctccatgtaaaactggctaaagtaataccgtgcaggaaagtgtt
+ccccgcaaaaatacagattgccgacttaaacttttccggcggcttcgcgttctgcgactt
+ctttatcgagctcggcgattttttgttccattatcgaacgacaatgggcagccagctcac
+gaacctgatctttgccatactgactgacgtcaattggcggcagcatttcgacaatcacca
+gaccgttgtgcagtcgattaagattaatcttattcgaagttgtagagacgcacacgggaa
+taatcgggacgcccgccgcaattgccgcgtgaaatgctccagtcttgaacggtagcaggc
+cgcgaccacggctgcgggttccttccgggaacatccagatggaaatacggcgttttttga
+agtgattcactacttccgcaatggtgccgtgagctttagtgcgattgtttctgtcgatca
+ataagttgccggttaaccagtacaactgcccgaagaaggggatccacagcaagctctttt
+tacctaccgtcaccgtcggcggttgcacgatgttcgatgctgtcaccatgtcatagttgt
+tctggtggttagcgatatagatagcattgccgtagctttcagcgtctgtaggtttacggc
+actcaactttcaggccaaacagcggcgcaagacggccaaacatatgcccaaaggtggcca
+catgtttcgggttacgcgggctgaaaaggcagtaaatggagccgaatacacagactaaga
+tgctgtaaatcacggtaataataagacgaaagatatatagcataacaccctctgaaggtc
+tgagagactggcattgtacgtcacctgaaatcaggttagggcattgttaaaagccgctct
+ctggaaaagcgtattgttaatcgcaacgcatgaataaacaacggtttcaagggaattttt
+atcgtttccgggggttgaatacgctgccggatgacgacttaacgtttcatccggcgttcc
+ttgcaagcgggaggaaacagcgccctccccggcatattactcttcgctatcaccgctgct
+ggcacggcgaggagagtcgatctcaacacgatcgatacgctgcaaaccgcgcatcaacgt
+accgcggcgtccacgttcgccagtgactttctgtaactcttccgggcgcagtttaatttt
+gcgtttcccaacatgaatggtcagcgtgctttgcggcggcagaacgtacaattgcgccag
+accatcttctccacgcgcggcttctgccgatggaatgttgataatcttgttgcctttgcc
+cttcgacagctgcggcagatcacttaccgggaacatcaacatacggcctgcctgagtgat
+tgccagcagcatatcggaagcatcttcaatcaccaccggcggcataacatgggcattttc
+cggtaaggtgatcaaagccttacctgcacggttacgcgccaccagatcgttaaaggtgca
+gacgaaaccgtaacccgcatcggaagccatcagcagtttctgatcgtcgctttccatcag
+catatggtcaacggtcgccccaggcggcaacgttaatttgccggtgagcggctcgccctg
+accacgcgccgacggcagcgtaatcgggtcaatggcatagctacgaccggtggaatcaac
+aaacactaccggttggttgctcttacctttcaccgccgctttgaagctatcacccgcttt
+ataattcaggcccggcgcgtcgatatcatggcctttagcgctgcgtacccagcccatctg
+cgacagcacaatggtgacaggttcagacggcagcatgtcgtgctcgctcatcgctttcgc
+ttcttcgcgttcctgcaacggcgaacgacgatcgtcaccgtaggcttgcgcgtctgcctg
+cagttctttcttcagcaggttattcattttacgctcggaagccaaaatgccctgcaactg
+gtcgcgctctttttccagttcactctgctcaccgcgaatcttcatctcttccagtttggc
+aagatgacgcagtttcagttcgaggatcgcttccgcctgggtttccgtaaggccaaaccg
+cgacatcagcgccggtttcggttcatcttcattacgaatgatctcaatcacttcgtcgat
+attgagaaacgccaccagcaaaccttcgaggatatgcaggcgcttgaggactttctccag
+acgatagttcagtcggcggcgcacggtatcgcggcggaacaccagccattcggagaggat
+ttccagcaggtttttcaccgccggacgaccatccagaccgatcatattaaggttaatacg
+atagctcttttccagatcggtggtagcgaagaggtggttcatcacctgatccatatccac
+gcggttggaacgcggcacaatcaccaggcgggtcgggttctcgtggtcagattcatcgcg
+cagatcgtcaaccatcggcagctttttgttgcgcatttgcgcagcaatttgctccagtac
+gcgcgcacctgaaacctgatgcggcaatgcgctgataaccaccgcgccatcttctttctt
+ccacaccgcgcgcatacgcactgaaccacgtccgttctcgtagattttacggatctcggc
+gcgcgaagtgataatttccgcttcagtcggataatccggcccctgcacgatatccagcag
+ctgatcgagcgtggttttcggctggtcgattaatgcgattgccgcctgagccacttcacg
+caggttatgcggtggaatatcggtcgccatgccgacggcaataccggtggtgccgttaag
+caaaatgtttggcagacgggcaggtagcattttcggctcctgcaaagtgccgtcgaagtt
+tggcacccagtcagccgtcccctgccccagctcgctcaatagcagctcggaatatttcga
+caaccgggattcggtgtaacgcattgccgcgaacgatttcggatcgtccggcgcgcccca
+gttcccctgaccatcaaccagcggataacggtaagagaacggttgcgccatcaggaccat
+cgcttcataacaggcgctatcgccgtgcggatggtatttacccagtacgtcaccgacggt
+acgggccgattttttaaatttggcgctggcattcaggcccagttcagacatcgcatacac
+aatgcggcgctgaacaggtttcagaccatcaccaataaacggcaacgcacggtccatgat
+cacgtacatggagtagtttaagtaggcgttttccgtaaattcatgtagcgcaaggcgctc
+tgccatatcgctcattaattctgattcctcaacttattcgccagccttcaaaggggcaat
+attgccggagatactacattatctgccgcgtcgagtcacaggagatcaacgtgaatagcg
+ccgccggacgtgctccgacggcgataaaggcatcaatgtgccttgatatacaactctttg
+ctgtagacataatcctggggattatgcagcggaaaaccgccaacgtagggtttaagcagt
+ttgattaacggctgatagtagataggaatcagcggtgcctgttggttgatgatcacttct
+gcctgctgatacaacgcattacgctttgtcgcatcagtgatctgcgtggcctggtttagt
+aaggcgtcatactgcgcatttttccagtgaccgacgttttcttcactatcgcttttgagc
+gtgttcaggaagctggaagcatcattgtacgtcgcatcccacgactgccgagacagcatg
+aaatcaccggctcgtcgggcatcaagataggttttccactccattgtgcgcagcgtcacc
+tgtgcacccagccattttttccattcggaagacaacgctatcgcggtcttttcatgcaga
+tcgtacttgttgtagaacagctcaaagcgtagcggatgagaggcgtcgtatcccgcctgt
+ttcagcaaggcttttgccatcgcgacgcgctcactcattggcttttgcagttcatcgaac
+gtcgtcgcgctaaagccttttacctctggcggcgtcagcgtggttgcgggcgttctcaac
+cccagtaccttttgcgcaataagctgtcgatcaaccgtaagatatagcgcccgacgcact
+cgcacatcgttaaatggcggtttctcaaggttgaagttgtaatattcgctgttcagacgc
+ggaataattcgtagctcgccaggcagtgatttttcaatggcgggaatttgctgcgccgga
+acccaggtgagatcgacctctcccgcgcgatagcggttatagccggtgaccgaattatct
+agcgccagatactcaacctgttgcaatactgtatgttgcgcatcgcggtactttggattt
+ttgcgtgcagtaatcttttcgttaactacccactgatcaagcacaaaggcaccgttgtaa
+accatgttctctggcttactccagctatcgccatgtttagcgatgacatgatgaggaacc
+gggaacagcgtcggccaggcgagcatcgtcgtgaaccaaggaaccggctgctcaagcgta
+acttcaagagtacgatcatccgtcgctttgacacccagcgatgtaacatctgctttaccc
+gcaacaatagctgcggcattgttaatgtgcgcctgtgccagatagccagcaaaagggctt
+gccgttttcgggtcaaccgcgcgctgccagccgaggacaaaatcctctgccgtcagaggc
+tgaccgtcggaccactgcaaaccgctacgcagatggaaaatatagcgcttgccgccgtcc
+agtatctcccagcgttcagcctgagcgggctgcacctggccttcaccgtccatccatacc
+agaccttcaaacagatccagcacaatctgcgcggcagtattctcctccaccttttgcggg
+tcgagcgtacctgggtcgctatgattgttgtaacgaaagacttgttgcggggcgagcggt
+gtgttggcgggaacgtcagcagcgtagagaggagccgcacttaccaggctgaccagccat
+aataaatttcgcgtatacatggtattccttaccggagaaattataagcccaacaacaata
+cgcctgtggcattgttcgctcaaacttatcgcgagtgatttggctcacactccggtaaag
+aaaaaagcgagttgcccccgcttttccattaattaacggatttcattcaatagttctgga
+tgcttatccagaacacgtaaaagtttgattgtggaaggatgaggttgggcattgcctttt
+tcgtaacgcgaaaacgcatttacacctcccccaaaaatttcgcttgcctctttttgggta
+agagagagcttttttcgaaccttcactataaattcaggtgccactgtttcggcattcacc
+gaagcccgaaatgcctttacttgcgccatgaaagcatctgactcttctttattcatgatg
+ctctcttcgcaatggacacaatataaaccgtggatacctttcaatactgtttttcgtcca
+cggaaggtgtatggaatatctttaatgccagaaaccatttctccctggtggcaaaccgga
+catttcatattacttctccttaaacgagacgatcagtacgtcatgaattaccgtaatttt
+aagataaacctggcctgtaacaagcctgggtctgtaaacatcctgccagatagtatgatc
+agagtaggtggtcatgcttttataaaagtcgctctctgataatccaatgataacattaca
+cataccatcaaaatccaaacctaactcatctgcatttaacagggcactacgtgttgtacg
+aacttgcccggcattgacaagttttttaacctgactcaaacgtgtatgtggtgtgcgttt
+ttccataacccccgcctccctgttactttagttataacctaaaaggttaattacagcaat
+gaaaaagcacctaaaaggttagttagatgtacggagatagtgaccacacaaaacgtattc
+tttaaggaaagtgattgaccatataagaaagtggcgcattagtagcgccagtttgaagca
+ggaatttataagggaagctggagtcaggcatcacgccaacggcacataaacatccgtttc
+cagtcgctgctctgtcaccccttcggcaagattggtgtagtgaaacagaatcggtgcttt
+acgcattttctcgccgcttgcaggcagccagtggcgaatgatgccccataccgtgtgtga
+aatatcgtccagctcgccaacgtggcgggccacggcataacgtccaccggtaagttcacc
+attgctcacaccataacgattatcgggaatcggttcgctaacgctgccgcagatatcaaa
+gcgaaacgcttccggtgcggtggtggcagggtcgtcccaggcgacgccaaaagtctggct
+ttggttaacaggagaaagccccgtctctttacgccacatgataaatttcgccacgctgta
+gttgagcaattcagggctacagcggtgcggcaacatcgccacaggtattgatgggaaatc
+gataatgtttacatccagtgtcaggtttgtcattttgcctccctgcgaaattattcccgg
+gaacgcgtcccgggagcggtaacaattacggatttactttgcggatctgtttgacgtcaa
+tttcaacagaattccagtctttatcgacttcaccctgaatctcaaccgtatctttcggcg
+tcaccgtcacgccgttccagcgtttgtggtcgatatcaacattgatagtaccgctggcat
+ctttgaacacgtagagatcgtcagagatgcgttcaacgatattgccgcgcagggttaccc
+aggtgtcgtcacgcagggattttgcgctttctacagtcgttacgctgccgttcggcccct
+ggaatcctccggcctgactttgcgttgccgatgggccagaaaaaccgccctgctctgctg
+ccatcaccggtgcgctgcacagggccattactgcgattactgctgcgaattttttcatgt
+ttattactccctttaatgtctgtttccgagcatttaacaagatagtccttaacaacttct
+taagggaaaaaaataaaatttagtgctgtacagagcgcgttacaacacggtttactggca
+gcaaatacggttatcgcagggatgaaaaaatgcgaattttactgatagaagatgacatgc
+tgattggcgacggcatcaaaacgggccttagtaaaatgggttttagcgtcgactggttta
+cacaaggtcgtcagggaaaagaggcgctttatagcgcaccttatgatgcggtgatcctgg
+atttaaccttaccaggcatggatggtcgcgatattttgcgcgaatggcgagaaaaaggtc
+agcgtgagccggtactgatcctgaccgcgcgcgatgcgctggcggaacgtgtagaagggc
+tgcgtctgggagctgacgattatctgtgtaaaccttttgcgttgatagaagtcgccgcca
+ggctggaagctctgatgcgccgaaccaacggccaggccagcaacgagctgcgccacggta
+acgtcatgctcgaccccggcaaacgtatcgccacgctggctggcgaacccttaacactga
+aaccaaaagaatttgccctgctggaattactgatgcgtaacgctggtcgggtactgtcgc
+gcaaactgattgaagagaaactgtatacctgggacgaagaggtcaccagtaatgccgttg
+aagtgcatgtgcatcatctgcgacgcaaactcggtagtgattttattcgtaccgtgcatg
+gtattggttacacattaggtgagaaatgaaatttacccaacgtcttagtctgcgcgtcag
+gctgacgctaatctttttaattctggcctcggtgacctggctgctttccagctttgtcgc
+ctggaaacaaacaacggataacgtcgatgaattgttcgacacccaactgatgctgtttgc
+caagcggttaagtacgctcgatctcaacgaaatcaacgcggcggatcgcatggcacagac
+gccaaatagattaaaacacggtcatgttgatgacgatgcgctgacctttgccatctttac
+ccacgacggcagaatggtccttaatgatggcgataacggagaagatattccctatagcta
+tcaacgggaaggttttgctgacgggcaactggtcggtgaagacgatccttggcgttttgt
+ctggatgacctcacctgatggcaaatatcgcatcgttgttggccaggaatgggaataccg
+tgaagacatggcgctggcgattgttgccgggcaattgatcccgtggctggtcgcactgcc
+gattatgttaatcatcatgatggtactactgggtcgtgaactcgcgccgctgaacaaact
+ggcgctggcactacgtatgcgtgaccctgactcggaaaaaccactaaacgcgactggcgt
+acccagcgaagtgcggccactggttgagtcgctaaatcaactgttcgcccgcacacatgc
+gatgatggttcgtgaacgacgctttacctccgacgcagctcacgaacttcgtagcccgtt
+aacggcgctgaaagtgcaaaccgaagttgcgcagctctctgacgatgatccgcaggcgcg
+gaaaaaagcactgctccaattacattccgggatcgatcgcgctactcgtctggttgatca
+actgctcacgctatcgcggctggactcactggataaccttcaggacgtcgcggagatccc
+gcttgaagatctcctgcaatcgtcggtgatggatatttaccacacggcgcagcaggcgaa
+aattgacgtgcgactgacactcaatgcccacagcatcaaacgcaccgggcaaccgctatt
+gctaagtttgttggtgcgaaatttgctggataacgccgtgcgctacagtccacagggcag
+cgtggtagacgtcacgctgaatgctgataatttcatcgtgagggataacggccccggtgt
+gacaccagaggcactggcgcgaattggcgaacgcttctatcgcccacccggacaaaccgc
+taccggcagcgggcttgggctatcgattgtccagcgaatcgccaaattgcatggcatgaa
+tgttgaatttgggaatgcggaacaaggtggatttgaggcgaaggtaagctggtaacttct
+ctgtctatgagagccgttaaaacgactctcatagattttactaatagcaaaatataaacc
+gtccccaaaaaagccaccaaccacaaaccagacaaataccgagcgagaatacatataccc
+aaaactcgaacatttcccgcataaagagttttcttaagataagaataataagtggcgtaa
+gaagaaaaaatgctgcaatcattgcttgcaatatacgatcttcgcctgaaacggaaggta
+tactgcaaatatttcctcccgactcaagcatccagtcatacttattgaaagcaaaaaaag
+aatctattaaccaataagtaagcattatatatagcaatgcttcaaatattgttttaattt
+tctgctttaacatatatcagtacgctcataaaaatccatttataattatcaacatgacac
+gttgatactttcatcttttacttattcaaagccatattttcaatccccaaaaaaaccgaa
+ccaaacgtgtaaattattccggtgcgagtaagaattatgaggaatggctatcagtattgt
+cattttcagaaaatatttatcctgcatcggtgagtcagagtaagatcagacttttgctaa
+attcgcaaaagactttgcacattttgctaatttcaccgtaccgctctgtgacgtactata
+gtcggcaaacgtctcaccttgaggttaaaaaatgagcaacatcctgattatcaacggcgc
+gaaaaaattcgcccactccaatggtcaactgaacgacaccctgaccgaagtcgcggatgg
+cacactgcgcgaccttgggcatgatgtccgcatcgttcgcgccgacagcgactacgatgt
+caaagcggaagtacaaaactttctctgggctgatgtggtgatctggcagatgccaggctg
+gtggatgggcgcgccgtggacagtgaaaaaatacattgatgatgtattcaccgaaggtca
+cgggacgctgtatgccagcgatggtcgtacccgcaaagatccgtcgaaaaaatacggttc
+cggcggcctggtacagggcaaaaaatatatgctttctctgacctggaacgcaccaatgga
+agccttcaccgaaaaagatcagttcttccacggcgttggcgttgacggtgtgtatctgcc
+gttccataaagcaaaccaattcctcggtatggaaccgctgccgacatttatcgctaatga
+cgtgataaaaatgcctgatgttccccgctatactgaagaatatcgcaagcatcttgtgga
+aatttttggttaactagagctcaggctttagaaggagttaaccatgcttaccgtaatcgc
+agaaatccgtactcgtcctggtcaacatcaccgtcaggcggtattggatcagtttgctaa
+aatcgttccaaccgtactgaaagaagaaggttgccacggctatgcgccaatggtggattg
+cgcagctggcgtgagtttccagtctatggcaccggattctatcgtgatgattgagcagtg
+ggaaagcatcgcgcatcttgaagcgcatctgcaaaccccgcacatgaaggcgtatagcga
+agccgtaaaaggtgacgtgctggagatgaatatccgtattctgcagccagggatttaatc
+ctgccttgtttgcccggccatcctgaccgggcaatgttctttcctttaaacctcaatctc
+cgccatgtcgcctttctcttgcaaccagttgcggcgatcttccgagcgtttcttcgccag
+cagcatatccatcatcgcgtcagtacgctgatcgtcttcatcatcgatagtcaactgcac
+cagacggcgagtgttcggatcaagcgtggtttcgcgcaattgcatcgggttcatttcccc
+cagacctttaaaacgctggacgttcggcttgcctttcttgcgttttaattgctcaagtac
+gccctctttctcttcttccgtcagcgcgtaataaacctctttcccgagatcaatacggta
+gagcggtggcagtgcgacgtaaacgtgaccgtgtttcaccaacgcgcggaaatgttttac
+gaacaaagcgcagagcagcgtggcaatgtgcagaccatcagagtccgcatccgcgaggat
+acagattttgccataacgaagctggctcagatcgtcgctgtcaggatcgataccgatcgc
+taccgaaatatcgtgcacttcctgcgaagccagcacttcgtcggaagagacttcccaggt
+gttaaggatcttacctttcagtggcatgatcgcctgatattcgcgatcgcgcgcctgctt
+ggcagatccgcctgcggagtcaccttccacaaggaacagctcggtacggttaaggtcctg
+cgcggtacaatcagccagtttgccaggcaacgccgggccgctggtcagctttttacgcac
+cacttttttggccgcacgcatacggcgctgggcgctggaaatcgccatctccgccagcag
+ttcagccgcctgaacgttctggttcagccacaggataaaggcatctttcaccacgccaga
+aacgaatgccgcgcattgacgcgaagagagacgctctttcgtctgcccggcaaactgcgg
+atcctgcatttttactgacagcacataggcgcagcgatcccagatatcttccgccgacag
+ctttacaccgcgcggcagaatattgcggtattcacagaactcacgcatcgcgtccaacag
+gccctgacgcagaccattaacatgggtaccgccctgcatcgttgggataaggttgacgta
+gctttcggtcagcagttcaccgccttccggcagccacagtagcgcccagtccacagcttc
+agtatcaccagcgaaattaccgataaacggtttttccggcagcgtcggcagaccatttac
+cgcttccgccaggtaatcattcagaccgtcctgatagcaccagcgttgttcggtattgtt
+gatctcatctttaaaagtgatctcaacgccagggcacaataccgctttggctttcagcac
+atgcgtcaggcgtgaaacagaaaatcgcgggctgtcaaagaaggtttcatccggccagaa
+gtgcacactggtaccagtattgcgtttaccgcaagtgccgacaacctgtaaatcctgcac
+cttttcgccattttcaaaggcgatgttataaacctgaccatcgcggcgcacgttaacttc
+tacgcgcttcgacagggcgttaaccaccgaaatccccacgccatgcaggccgccagagaa
+ctggtaatttttgttagagaatttaccgcctgcatgcagacggcaaagaatcagttcaac
+cgccggtacaccctcttccgggtgaatatccaccggcatcccgcgcccatcgtcaataac
+ttctaacgactggtcagcatgtaaaataacgtccacgcgttttgcgtgacccgccagtgc
+ttcatccacactgttatcaatgacttcttgccccaaatggttagggcgagtggtatcggt
+atacatccccggacggcggcgaaccggctcaagcccggtgagtacctcaatggcatcagc
+gttataagtttgcgtcatggtttaagttagtaattcgagttgatcgtcagagatggtgca
+gaccaagaaaatcgacgatcgggttgaaataatcttcgaagcccgtgaatgcgtggttgc
+cgccttctatgacagtctggcggcaggaagcgtagtacgccaccgcctggcggtaatcca
+gcacttcatctcccgtctgttgcagcagccagatcaaatccggcgcttccagcgggtcaa
+tctgcatgactttaagatcgtaaatatggcgtgactctagcacatattgctgcccggtgt
+aggggttctcgttctgaccgagatagtccgtcagcagttcaaacgggcgcaccgccgggt
+ttaccaccactgcgggcagcataaaacattgtgacaaccaggtggcgtaatatcccccca
+gtgacgaaccgacaatacccagcgaatcaccgccatgttccaggacaatggattccagca
+gctctgccgcgtcggaaggatacggcggcaactgcggaatgatcatctcaacgtcagggt
+gatgttccgccagccagttttttaacaagctcgcttttgcagagcgcggcgagctgttga
+aaccgtgtaaataaagaagcgtagacatcagtagccttctgaagcggtatcaggttggaa
+acgtgtgtccgccaggcgatgcacctcggtggtcagcgtgccatcagcatgtaactcgag
+agtacgccagccgggcgcgatggtatccagcgtaaagttggaacagtgcggcttaaactg
+cacacaggtcgacggcgttgccagcaggcggcgaccattccagtcgagatccagctcctg
+atgaatatgaccgcacagcaagtatttgacgtgcggaaacttcgccagcacggtatccag
+ttcgcccgcgttacgcagactgtgttgatcgagccaactacaacccgcaggtagcggatg
+atgatgcagcagcagcaacgtatggcgttctggcgcatcggccagtttacgttccagcca
+ctcaagctgaaactcgctcagctcaccgtgcggcacgccaaacacctggctatccagcaa
+caggatttgccattgctcaccaataaacacgcgcttcgccggggagatacccgcatcctg
+taacgcgctgtacatcgcgggctggaaatcgtggttgcccggcagccagacgcagggcgc
+acgaaaacttgcgatgccttcagcgaaatgctgataggccgcagaggattgatcctgcgc
+taaatcacctgtcgcgacaatcaggtcgaattcgtgctggtgtggccgaatcgcctccag
+caccgcctggtaactctcccaggtgtttacccctaacagggcttcgtgcttttgtgcaaa
+caggtgagtgtcggtaatttgtaaaatcctgactctggcctcaccagccagaggaagggt
+taacaggctttccaaatggtgtccttaggtttcacgacgctaataaaccggaatcgccat
+cgctccatgtgctaaacagtatcgcaaccagtccgctaaaaactgattaatttgatgctt
+ttcgtcgcgttgatgcaactttttattaggataatcataccgcgctttgaagcgaaaaat
+ctgctggcttgaacacacttcagccaccatcgcgtcatgatacagacgcaccgtcattga
+cggaaggctccagtaactgatcgcgggcgcagtctgttctattgtcaccagggtagtgta
+tcgggtcgattccacaatcgtcagccgatattgtgcgtttgccacctgatagcttacagt
+ttcgccgggtgcgtcattgcgcggtaacaaacggcgcaattgtgaaaagttcatctcgca
+caggcgcatcatttcaggaaagtcaggtgtgtaacgcttcatttatgcccactcattttt
+taacgcttgatgatgcagctgcagccattgcaaagcgatgaccgacgctgcgttgtcgat
+tttcccctcttctacccactggtatgcctgttcccggcttaccacatgaacgcgaatatc
+ttcgttttcatcagccagaccgtgaataccgcttgcggtcgtggcgtccacttcgcccac
+cataattgacgaacgctcactggtgccccccgggcttgccaggaaacttaacaccggttt
+ggtccgtttgactatcagtcccgcctcttcaatcgcttcgcgacgggcaacatcttccac
+actttcaccctcttcaatcatcccggcaaccatctccagtagccaaggggtttcgctggt
+gtcgtacgcggcaatccgaatctgctcaatcagcacaacttcatcacgcactgggtcaaa
+gggtagcaagactgcggcgtgaccgcgctcaaaaatttcccgccgcacctcatgactcat
+ttgcccgttgaatagacgatgacgaaatctataaagatctaatgaaaaaaagccgcgata
+aagtgtttctcgtgcaataatttctacatcgtttttgccaaatgtaacgggcaggttgtc
+tggcttaagcattgttaatgtcctggcactaatagtgaattaaatgtgaatttcagcgac
+gtttgactgccgtttgagcagtcatgtgttaaattgaggcacattaacgccctatggcac
+gtaacgccaaccttttgcggtagcggcttctgctagaatccgcaataattttacagtttg
+atcgcgctaaatactgcttcaccacaaggaatgcaaatgaagaaattgctccccattctt
+atcggcctgagcctttctgggttcagttcgttgagccaggccgagaacctgatgcaagtt
+tatcagcaagcacgccttagtaacccggaattgcgtaagtctgccgccgatcgtgatgct
+gcctttgaaaaaattaatgaagcgcgcagtccattactgccacagctaggtttaggtgca
+gattacacctatagcaacggctaccgcgacgcgaacggcatcaactctaacgcgaccagt
+gcgtccttgcagttaactcaatccatttttgatatgtcgaaatggcgtgcgttaacgctg
+caggaaaaagcagcagggattcaggacgtcacgtatcagaccgatcagcaaaccttgatc
+ctcaacaccgcgaccgcttatttcaacgtgttgaatgctattgacgttctttcctataca
+caggcacaaaaagaagcgatctaccgtcaattagatcaaaccacccaacgttttaacgtg
+ggcctggtagcgatcaccgacgtgcagaacgcccgcgcacagtacgataccgtgctggcg
+aacgaagtgaccgcacgtaataaccttgataacgcggtagagcagctgcgccagatcacc
+ggtaactactatccggaactggctgcgctgaatgtcgaaaactttaaaaccgacaaacca
+cagccggttaacgcgctgctgaaagaagccgaaaaacgcaacctgtcgctgttacaggca
+cgcttgagccaggacctggcgcgcgagcaaattcgccaggcgcaggatggtcacttaccg
+actctggatttaacggcttctaccgggatttctgacacctcttatagcggttcgaaaacc
+cgtggtgccgctggtacccagtatgacgatagcaatatgggccagaacaaagttggcctg
+agcttctcgctgccgatttatcagggcggaatggttaactcgcaggtgaaacaggcacag
+tacaactttgtcggtgccagcgagcaactggaaagtgcccatcgtagcgtcgtgcagacc
+gtgcgttcctccttcaacaacattaatgcatctatcagtagcattaacgcctacaaacaa
+gccgtagtttccgctcaaagctcattagacgcgatggaagcgggctactcggtcggtacg
+cgtaccattgttgatgtgttggatgcgaccaccacgttgtacaacgccaagcaagagctg
+gcgaatgcgcgttataactacctgattaatcagctgaatattaagtcagctctgggtacg
+ttgaacgagcaggatctgctggcactgaacaatgcgctgagcaaaccggtttccactaat
+ccggaaaacgttgcaccgcaaacgccggaacagaatgctattgctgatggttatgcgcct
+gatagcccggcaccagtcgttcagcaaacatccgcacgcactaccaccagtaacggtcat
+aaccctttccgtaactgatgacgacgacggggcttcggccccgtctgaacgtaaggcaac
+gtaaagatacgggttatctgccgcattcttcccccttctcgcttcaatttcgaccagcca
+tcctctattctgatgggtatttaccactggtcccggaagacaaaaatgaaacggacaaaa
+tccatacgccacgcatcgttccgcaaaaactggagcgcacgccatctgacaccagtcgct
+ctcgcggttgccactgtttttatgctggctggctgtgaaaagagtgatgaaacagtgtct
+ctctatcaaaatgctgacgactgttcagctgcaaacccaggcaaaagcgccgaatgtacc
+accgcgtacaacaatgcgctgaaagaagccgaacgtactgcgccgaaatacgccacccgt
+gaagactgtgttgctgaatttggtgaaggtcagtgccagcaggcaccagcccaggctggc
+atggcaccagaaaaccaggcgcaggcccagcaatccagcgggagtttctggatgccgctg
+atggccggttacatgatggggcgtctgatgggcggcggcgcgggatttgcacagcagccg
+ctgttctcctcgaaaaacccagccagtccggcttacggtaaatataccgacgcgacgggt
+aaaaactatggcgcagcccagccaggccgcaccatgaccgtaccgaagacggcaatggca
+ccaaaaccggcgaccaccactaccgttacccgtggcggttttggtgaatctgttgccaaa
+caaagcactatgcagcgtagtgcaaccggtacctcttctcgttcaatgggtggctgatac
+cgatggaaagagtcagtattaccgagcgcccggactggcgtgagaaagcccacgaatacg
+gtttcaattttcacaccatgtacggcgagccgtactggtgtgaagatgcttactacaagt
+tgaccctcgcccaggttgaaaagctggaagaagtcaccgccgaactgcaccagatgtgcc
+tgaaagtggtggaaaaagtgatcgccagcgatgagctgatgaccaaattccgcattccaa
+aacacacctggagttttgtgcgccagtcatggctgacgcaccagccatcgctttattcgc
+gtcttgatctggcgtgggatggcactggtgaacctaaacttctggaaaataacgccgata
+cgccaacgtcactatacgaggcggcgttctttcagtggatctggctggaagatcagctta
+acgccggtaacttgccggagggcagcgaccagtttaacagtctgcaagaaaaactgatcg
+atcgcttcgttgagctgcgtgaacagtatggcttccagttgctgcatctcacctgctgtc
+gcgacacggtggaagatcgcggaaccattcagtatttgcaggactgcgcaacggaagctg
+aaattgctactgagttcctctacatcgatgatatcgggttaggtgaaaaaggtcagttca
+cggatttacaggatcaggtaatttccaacctgttcaaactgtatccgtgggaatttatgt
+tgcgtgagatgttctcaaccaagctggaggatgcaggcgtacgctggctggaaccggcgt
+ggaagagcattatctccaacaaggcacttctaccgctactgtgggagatgttcccgaatc
+acccgaacctgctgcccgcttattttgcggaagatgatcatccgcaaatggaaaaatatg
+tggttaaaccgatcttctcccgtgaaggcgcaaacgtgtcgatcattgagaacggcaaaa
+ccattgaagcagcggaaggtccgtatggcgaagaagggatgattgttcagcaattccacc
+cgttaccgaaattcggcgacagctatatgctgattggtagctggctggtgaacgatcaac
+ccgccggaattggcattcgtgaagaccgtgcattgatcacccaggatatgtctcggtttt
+atccacatatttttgttgaataagccacgataccggatggcactcgccatccggtaattg
+ttagcctatctgcaccgacagcatactcaggctgcccatttctataccctcaaccggaat
+ggtaattggctcctgcccatcccacgcacctaacacatacaacaacggcaaataatgctc
+tggcgttgggttcgataacgtgccaccttcatggtcgaggtaattcaccagaggatgttg
+ttccactggcccttgccacgtcagattcgctttcacatactcattaaacgacgtcgccca
+cggatacggtgaactatcaccgtgccacttcactgtgcgcaggttatgcaccacgttacc
+gctggcgaccaacattattccttcatctcgcagcgctgccagtttgcgccccatttcgaa
+atgccaggcggcaggtttgctactgtcgatactcaactgcaccatcgggatatcagcgtc
+aggatacatcttaatcagcacgccccacgagccgtggtcaaagccccaggcttctttatc
+cagcgtcaccgggatcggcgctaacagctcaaccagacgctgtgccagcgcaggcgaacc
+cggagcaggataatgcgtatcgtacagcgcctgcgggaagccaccaaagtcatgaatcgt
+gggcggcgtctccatcgcggtcactcctgttccacgggtaaaccagtgagccgaaaccac
+cacaatcgcttgcgggcgtggcaatgtcatccccaacttctgccagctgcgggtatacaa
+attatcttccagcacgttcatcggactaccgtgacctaaaaacaatgctggcatacgtgt
+tgaagacatgatgatatccttaactaaaggtgtcattttgatatcctcacaatacgcttg
+ttcggcggagtaagaacccggataacaatgatgatgatcatcagttattttgacgatctg
+cctgaaggtgaagatttataaggagttgtcgatgtcagtacctctcattctgaccatact
+ggcgggggcagccacgtttattggcgcgtttctcggcgttctcgggcaaaaaccctcgaa
+ccgcttactggcgttttcgctaggttttgcggcggggatcatgttgctcatctcattaat
+ggaaatgcttcctgccgcactagcagctgaaggaatgtcgcctgtgttgggttatggaat
+gtttatcttcggtctgcttggctattttggcctggaccgcatgttgccacatgctcatcc
+gcaggatttaatgcaaaaatcggtgcagccgttgccaaaatcgatcaagcgcacagccat
+tctgctcactctcggcatcagtctgcataacttcccggaagggattgccacctttgtcac
+ggcgagcagcaacctggagctgggatttggcatcgcactggccgtcgcgttgcacaatat
+ccctgaaggtctggcagtggcaggcccggtttatgcggcaacggggtctaaacgcaccgc
+gattctgtgggcggggatttctggactagcagaaattcttggtggtgtgctggcgtggtt
+aatcctcggtagcatgatttccccggtggtcatggcggcaatcatggcggcggttgcagg
+aattatggtggcgctctcggttgatgaattaatgccgctcgccaaagagattgaccctaa
+taataaccccagctatggcgtactatgtggaatgtcagtgatgggattcagtttagtgct
+gctacaaacggcgggaattggttaaaaacaacatcagaagttgtccagcgcatggacaac
+ttctgccagcttcacgaaagccttattctaccttttcggctgtctcttctctcgtactgt
+ttaagtatttgttccgcgcttcaagcagtgcgtctctgtcctggcgaaacgcccgacaat
+aacgtttcaaatgcaggaaataacccaccacaaccagagcaatcaatacaatccagtacc
+aggcgataaacatccttttacccttaatatttaacaatactaaacatttagcgtataaat
+ttcacatatcctttttcggatatattcatatggtcgcataataacggaacaattatatga
+ttttgatcataatgaaaaagaatgcctgatattaatgaaattttctcatagaaagagaag
+cggaattaacatcttgcatagcagggaaaaataaaaaccgaagcctgctacaacttcggt
+ttcttgattaaggcagtaaattaagcagcggttttcagctggctttacgctcatgtgcct
+gacggtatgccaccaggtcttcaatagtcacgagcgccatattgtgtttattggcaaact
+caatacactctggtgcacgcgccatcgtgccatcgtcattagtcagctcacacagtacac
+cagccggtttaaagcctgccagcgtcatcagatcaatagttgcttcagtatgaccgccac
+gcgtcagtacaccacctgcctgagcgcgaagtgggaaaacgtggccaggacgattcagat
+ctgacggttttgcgccatcggcaatcgctgcgcgaacggtcgtaatacggtcagcggcag
+aaacaccggtagtcacaccttcagctgcttcaatggtcacggtaaaaccggtgccatagg
+cgctggtgttattttctaccatcattggcagatcgagttgtttacggcgatcttcagtaa
+tgcacaggcaaacaataccgctaccgtggcgaatggtcagcgccatctgctcaacagtca
+tggtttctgccgggaagatcatatcaccttcgttttcacggtcttcatcatcaagcacca
+ttacaccgcgtccttcacgcagcgcagccagtgcattttcaacacgttcgaaaggcgtac
+caaaagaggaaagtagcgtctgattcatggtaaaaaaacctcactaaaattatggttacc
+agaatcagggcagtcttaggagtggcggcatatagccaaaataacgtgagcgggtccatg
+cccgacagaatcgttactctctcccatccggactctaaccgtcggccccggaattacacc
+ggatctgctgtcctttgagttcgcacccaaagcgctcgcgggctttcaactgagttgatt
+taccgccggtggggaatttcgccccgccctgagaataagcggattcactataacgctaat
+gattagcggcagcaacgcatagcttcacataattctggtttatgacttacccttatcgca
+ctacaatggcactcaacacctatcagtacagggaaactacaatgattgacccgaaaaaaa
+ttgagcaaatcgctcgccaggttcacgaatcaatgcctaaaggaatcagggagttcgggg
+aagatgtggagaaaaaaatccgccaaaccctacaagcgcagctgacgcgcctcgaccttg
+taagccgtgaagagttcgacgtccaaacgcaagtcctgttacggactcgtgaaaaactgg
+cgctgcttgaacaaagaatcagcgaactggaaaatcgcagtactgagatcaaaaagcagc
+cagatccagagactctccccccaacgctgtaaacattcgtctttaatgcactgtaaatta
+tgaattaatcctctaatttatagtgctttctattaccttatcgcgtaatcccattcagaa
+aaccatcacaaaaatgaatgagtacaattgaaagtataattgcaatgtattttttaagtt
+ttacttaatcgatatttagataaactaattttataaaaaacacaaaataaaatatcatat
+ttcaatgattagtagtccttaaataacagttactaatcattctcttttctacttatcttt
+atataaaggaatattatgtccgcttttaaaaagtcacttcttgttgctggcgtagcaatg
+attctttccaataacgtgtttgctgatgaaggtcacggtattgttaaatttaaaggtgaa
+gttatctctgctccatgttctattaaaccaggtgacgaagatttaactgtaaatctgggt
+gaagtagcagataccgtactgaaaagcgatcagaaatctttggctgaacctttcactatt
+cacctgcaggactgcatgctgagtcagggtggaactacttattcaaaagcgaaggttact
+ttcactacagcaaataccatgacgggtcagtctgatcttctgaaaaataccaaagaaact
+gaaatcggcggcgccactggcgttggcgtacgtattctggacagccagagcggcgaagta
+actttaggtactccggtagtaattacgttcaacaataccaacagctatcaggaactgaat
+ttcaaagctcgtatggaatccccaagcaaagatgccaccccgggcaacgtttacgctcag
+gctgactacaagattgcttacgagtaatcgcatttggccgggttcgcccggccacatcat
+taacggattaatgataagtggatcagatgtataaaaaattaaaattaaccacaataagcg
+aattgattaaaaatatttattgttcattatccgttattagactggccccctgaatctcca
+gacaaccaatatcacttaaataagtgatagtcttaatactagtttttagactagtcattg
+gagaacagatgattgatgtcttagggccggagaaacgcagacggcgtaccacacaggaaa
+agatcgcaattgttcagcagagctttgaaccggggatgacggtctccctcgttgcccggc
+aacatggtgtagcagccagccagttatttctctggcgtaagcaataccaggaaggaagtc
+ttactgctgtcgccgccggagaacaggttgttcctgcctctgaacttgctgccgccatga
+agcagattaaagaactccagcgcctgctcggcaagaaaacgatggaaaatgaactcctca
+aagaagccgttgaatatggacgggcaaaaaagtggatagcgcacgcgcccttattgcccg
+gggatggggagtaagcttagtcagccgttgtctccgggtgtcgcgtgcgcagttgcacgt
+cattctcagacgaaccgatgactggatggatggccgccgcagtcgtcacactgatgatac
+ggatgtgcttctccgtatacaccatgttatcggagagctgccaacgtatggttatcgtcg
+ggtatgggcgctgcttcgcagacaggcagaacttgatggtatgcctgcgatcaatgccaa
+acgtgtttaccggatcatgcgccagaatgcgctgttgcttgagcgaaaacctgctgtacc
+gccatcgaaacgggcacatacaggcagagtggccgtgaaagaaagcaatcagcgatggtg
+ctctgacgggttcgagttctgctgtgataacggagagagactgcgtgtcacgttcgcgct
+ggactgctgtgatcgtgaggcactgcactgggcggtcactaccggcggcttcaacagtga
+aacagtacaggacgtcatgctgggagcggtggaacgccgcttcggcaacgatcttccgtc
+gtctccagtggagtggctgacggataatggttcatgctaccgggctaatgaaacacgcca
+gttcgcccggatgttgggacttgaaccgaagaacacggcggtgcggagtccggagagtaa
+cggaatagcagagagcttcgtgaaaacgataaagcgtgactacatcagtatcatgcccaa
+accagacgggttaacggcagcaaagaaccttgcagaggcgttcgagcattataacgaatg
+gcatccgcatagtgcgctgggttatcgctcgccacgggaatatctgcggcagcgggcttg
+taatgggttaagtgataacagatgtctggaaatataggggcaaatccagttatcatcatt
+ggttgtgcgtcagcttatgccgttgaattcaacaaagatttaatcgaagccgaagatcgt
+gaaaacgttaacctttcccaatttgaaactgatggccaattacccgtcggcaaatattca
+ctaagcactctgattaataataagaggacgccaatccaccttgacctccaatgggtatta
+attgataaccaaactgcagtttgcgtgacaccagagcaattaacattattaggatttact
+gatgaatttattgaaaaaactcagcaaaacctgatcgatggttgttaccctatcgaaaaa
+gaaaaacaaattacaacttatctcgataaagggaaaatgcaattatccatatctgcacct
+caggcatggttaaaatacaaagatgcaaactggacgcctcctgaactttggaatcatggt
+attgctggggcatttcttgactacaatttatatgcctctcattatgcaccacatcagggc
+gataattcgcaaaatataagttcctatgggcaggctggggttaatcttggggcctggcgc
+ctgcgtactgattaccagtacgatcagtcatttaacaatggcaaaagccaggcgaccaac
+ctggattttccgcgtatttatttgtttcgcccaatcccagcaatgaatgcaaaactaact
+ataggtcaatacgatactgaatcctctattttcgactctttccatttttctggcatttcg
+ttgaaaagcgatgagaatatgttaccgccagacctacgtggttacgcaccgcaaatcacg
+ggtgtcgcacaaacgaatgcaaaggtcactgtctcacagaacaaccgtattatttatcaa
+gaaaatgttcctccaggcccatttgctattaccaatttattcaatacattacaggggcaa
+cttgacgtcaaggttgaagaagaggacggacgcgttacgcaatggcaagttgcatctaat
+agtattccttatctgacgcgtaaagggcagattcgctacaccactgctatgggtaaaccg
+accagcgttggtggtgattccttacaacaacccttcttctggactggtgaattctcatgg
+ggttggctgaacaatgtatccctgtatggtggttcagttttaacaaaccgtgattatcaa
+tctctggctgccggcgttggttttaatcttaactcattaggttcattatcttttgatgtc
+acacgatctgatgctcagttgcataatcaggataaagaaacgggttatagctaccgcgct
+aactattcaaaacgttttgaatctaccggtagccagctcactttcgctggttaccgtttc
+tctgataaaaactttgtgacaatgaatgaatatatcaatgacactaaccattacacgaat
+tatcagaatgaaaaagagagttatattgtcacgtttaaccagtatcttgaatcattaagg
+ttaaatacatacgtaagtttggctcgtaatacttactgggacgccagcagtaatgtgaat
+tattcattatcacttagccgcgattttgatatcgggccattaaaaaacgtctccacttct
+ctaacatttagccgaataaactgggaagaagacaaccaggatcaactgtacctaaatatt
+tcgattccctggggaactagtagaacattgagctatggtatgcaacgaaatcaggataat
+gagatttcgcatactgcttcgtggtatgactcttccgatcgaaataattcctggagcgtt
+tctgcttcaggcgacaatgatgaattcaaagatatgaaagcgtcactacgcgccagttat
+cagcataataccgagaacggtcgactctacctctccggtacatcacagcgagacagttat
+tattctctgaatgccagttggaatggttcattcactgcgactcgccacggtgccgctttc
+cacgactatagcggtagtgctgactcgcgttttatgatcgacgcagacggcactgaagat
+attccgttgaacaataaacgcgcggtaactaatcggtatggcatcggagttattccatca
+gtcagcagttacataacaacatcattaagtgttgatacccgaaatctgccagaaaatgtg
+gatatcgaaaactcggttatcaccaccaccttaaccgagggtgctattggctacgccaaa
+cttgatacccgcaagggctaccaaatcataggggttattcgcctggcagatggtagtcat
+ccaccactggggattagcgtaaaagatgaaaccagccacaaagaattaggactggttgct
+gatggcggctttgtatacctcaacggcattcaggatgataacaaacttgctttacgctgg
+ggtgacaaatcttgttttattcaaccacccaatagcagcaacttaaccaccggaacggct
+attttaccgtgtattagccaaaattaattcaggatgaaactaatgcgctacttaaataca
+aagaatatcattgcagcaggagtattactctcctgtatgagcagcattgcctggggtgcc
+atcatcccggatcgtacccgtatcataatgaatgagtcagataaaggcgaagcattaaaa
+cttactaatcaaagtaaaaacctgccctatctggcccaaacatggatagaagatacgaaa
+ggcaataaatcgcgtgactttattgtcactgttcctccaatggtgcgtttaaatcccagt
+gagcaaattcaaataagaatgataactcaggaaaaaattgctcaacttcctaaagacaga
+gaaacgctcttctattttaacgtgcgagaaataccgcccaaaacagataaaaaaaatgtg
+atgcaagtcactatgcagcacgcattgaaactattctggcggccaaaagccattgaatta
+gaagacgatggggtaatgacttacgaaaaagttgaaatcattcgtagaaatgacggttcg
+atccgctttaacaataagatgccttatcacgttacgctgggttatatcggaacaaatggg
+gtaacgatgttaccacaaacgcaaagcttaatggtaaccccttttagctatgcaaatacg
+cagtttaaaaatgttccgtcaacttttcaggtgggttatatcaatgactttggtggatta
+agtttttatgaaataaactgccctgtagtaaataacatttgtaatatttctgtagccaac
+cgagatcaataatatgcgctacttgttaattgttattactttttttatgggttttagttc
+attacctgcatgggcaatggactgctatgctgaacatgaaggtggaaataccgttgtcat
+tggttacgtaccaagaatctctatccccagcgatggtaaaaaaggtgataaaatctggca
+aagcagtgaatattttatgaatgttttctgtaataatgcactaccaggcccatctccagg
+agaagaatacccatctgcatgggcaaatataatgatgttgttagcatcaggtcaagactt
+ttataatcaaaactcttatactttcggtgtaacttataatggggttgattatgattctac
+atctccactacctattgcagcacctgtatgtattgatataaagggagccggaaccttcgg
+gaatggctacaaaaagcccgcagtctgtagtggcggtcctgaaccgcaattatcagtaac
+ttttccagtacgagtgcagctatatattaagctagctaaaaatgccaataaagtaaataa
+aaaacttgtattacctgacgaatatatagcacttgaatttaaaggtatgagcggagcagg
+tgctatagaagtagataaaaatctgaccttcaggattcgcggattaaataacattcatgt
+ccttgactgctttgttaatgttgatctggaaccagctgatggcgttgtcgactttggtaa
+aataaattcccgaacaattaaaaataccagcgtgagtgagacgtttagcgtagtcatgac
+caaagatccgggtgcggcctgtactgagcagtttaatattttagggagttttttcactac
+ggatattttgagtgattatagccatctggatataggtaatggtctgctattgaagatatt
+tcataacgatggaacagcaacggaatttaaccgcttctcacaatttgcttctttttcatc
+gtctagtgcgccttcggtcaccgcaccattcagggcagaactgagtgcgaacccggcaga
+aacggttgttgagggaccgtttagtaaagacgtaatcctgaaaatcacctataactagta
+tctaatacaaacactaaaacgggccatcaggcccgttatatcagtgctctaactccagct
+ctcttgcctgcatcatctgttgacaataccaggcataacgtgcgcaaaaccaggttctat
+gttcttcatccatgttaccagtaacggccagaatatcgaccgggcgaccttctgcgtgca
+ttctggcaaaactacgcgccaggaaatcgaaattatttaaagaattaagactatgatcca
+taagcacatcctccggttatcgcataccttttaaggccatatgctttttctgatttcagt
+attccccaatcagtgtagtgcctttaaacataacgtgcgtaaatatattgtccccgatca
+cactttttagtgaaaaataaaaaaccatattaaaagactttctcttccagaacttctcta
+acctgtgttattattaacacagataaatgtaagcaaggaaactattacaaagtaaatatt
+gcgtcactaaatggacattggagtgatatatgattttattcgccgactataacacccctt
+atcttttcgctatttcctttgtactgttgatcggcctgttagaaatttttgcgcttatct
+gcggtcacatgctctccggtgctcttgatgcacatcttgaccattatgattctataacca
+caggtcatattagccaggcacttcattatctcaatattggaagattgccagctctcgtcg
+ttctctgcttactggctggtttttttggtcttattggcatcctgttgcagcatgcctgca
+tcatggtctggcaatcaccactgtcgaacctgttcgtggttcctgtcagtttactgttta
+cgattattgcggtgcattataccggtaaaatagttgcgccctggattccacgcgaccata
+gttcagctattacagaagaagaatatattggtagcatggcgttaattaccggtcatcaag
+ccacttcaggtaatccctgcgaaggaaaactcaccgatcaatttggccaaatacattatt
+tactactggagcctgaagaaggaaaaattttcactaaaggagacaaagtgttaattattt
+gccgactttctgcaacgcgatatttggcggaaaataatccctggccccaaatattgtaat
+ttattaatcaaaaggaaatttaataatggatgatattgttaattctgtgccctcctggat
+gtttaccgcaattattgccgtatgcattctgtttattattggaattattttcgccaggct
+ctatcgtcgcgcttcggcagagcaagcttttgttcgtactggtttaggtgggcaaaaagt
+ggtaatgagcggtggcgcaatcgtgatgccgatctttcatgaaataatccccatcaatat
+gaatactctgaagctggaagtcagccgctcaaccattgatagcctgattacgaaagatcg
+tatgcgcgtcgatgtagtagtcgctttctttgtgcgggtaaaaccttcagtagaagggat
+tgccaccgctgcccagacgctggggcaacgcaccctgtcgcctgaagacttacgtatgtt
+ggttgaagataaatttgtcgatgccctccgtgcaacagctgcgcaaatgaccatgcatga
+gttacaggatacccgcgagaactttgtgcagggggtgcaaaatacagtggcagaagacct
+gtcgaaaaacggtctggaactggagagcgtttcacttaccaactttaaccagacctcgaa
+agaacatttcaatccgaacaatgcctttgacgccgaaggtttaaccaaactgactcagga
+aacagagcgccgtcgccgcgaacgtaacgaagttgaacaggatgtagaagttgcggtgcg
+tgaaaaaaatcgcgatgcgctatcgcgcaagctggagattgaacagcaagaagcgtttat
+gacgcttgagcaggagcagcaggttaaaacccgtactgccgaacagaatgcacgtattgc
+ggcttttgaagctgaacgtcgtcgtgaagcagagcagacacgaattctggctgaacgaca
+gattcaggaaacagaaatcgaccgcgaacaggccgtccgctcaagaaaggttgaagctga
+acgtgaagttcgcattaaagagatcgaacagcagcaggtcaccgaaatcgctaaccagac
+gaaatcgatcgctattgccgccaaatcggaacaacagtcccaggcagaagcgcgtgctaa
+tctcgcacttgcagaagcggtaagcgcccaacaaaacgtagaaaccactcgccagactgc
+cgaagccgatcgtgctaaacaagttgccctaatcgctgccgcgcaggatgcagaaaccaa
+agcggttgaactgaccgtgcgggcgaaagcagaaaaagaagccgcagagatgcaggcggc
+ggctatcgttgagttagccgaagctacacgtaaaaagggtctggcggaagcagaagcaca
+acgtgcgctgaacgatgctatcaacgtactttctgatgaacaaaccagccttaaattcaa
+actggccttgttgcaggcgctgcctgcggtaatagagaaatccgttgagccgatgaagtc
+aatcgacggtatcaagattattcaggtcgatggtctgaatcgtggcggcgctgcgggtga
+tgcaaacacgggtaatgtggggggcggaaacctggcggaacaagcattatcagccgctct
+ctcttaccgcacacaggcaccgctgattgactccttgctcaatgaaattggcgtttcagg
+cggctcactggcggcattgacttcacccttaacctcaacaactcccgtcgaagaaaaagc
+agagtaaaccctcttccaggaataatccctggcccaaaaagccggggattttttatatct
+gcgttccgctaaaaagtgcaaatgatcaggttgttgcagcattttgcgtgacggctcggg
+gaaggcaaaactgcatcagagaaagcattgcgtggggtctggcgctcatcaacaatcggg
+gagtcagcagggggctgaaacgggaaagcccctcccgaagaagggggccttacagaagga
+aagggttatgatgaagctcgtcatcatactgattgtgttgttactcgtaagtttcgcagc
+ttattaacagccaatcagaggggggagaaatcctccctcacccttgttcctttactttag
+gttgaaaaaaaatcagcgtcaagaaggtttcattaacacatatccctggcccaaaaagcc
+ggggattttttatatctgcgttccgctaaaaggtgcaaatgctcaggacgttgcagcgtt
+ttgcgtgaccgctcggggaaggcaaaattgcctctgggaaagcattgcgcggggtccggc
+gctcatcaacaatcggggggcagcaaggggctgaaacgggaaagcccctcccgaagaagg
+ggccttgtataaggaaagggttatgatgaagctcgtcatcatactggttgtgttgttact
+gttaagtttcccgacttactaacaactcatcagaggggggagaaatcctcccttaccctt
+gttcctttactctaggttgaaaaaacaacagcgtcaataggcctgccatgtacgaagcga
+gatctgtgaaccgctttccggttagccttttttatcctgttggatcttcttgatgatgtt
+ggtcgtcgagcaaccgtcttcaaagttgagcaccaacacttcgccaccgttggcccagac
+ttctttactcccggcaatctcttctggtttatagtcgccgcctttcaccagcagatctgg
+caagatcccggcgatcaagcgctgcggcgtgtcctcttcaaacgacactacccagtcgac
+cgcttccagtgcgcccagcacaatcatacgctgttcgagtgggtttaccgggcgggaatc
+ccctttcagccgtttggtggaggcatcgctgttgacggcaacaatcaagcggtcacccag
+cttgcgggcatttgccagataagagacgtgcccggcgtgcaggatgtcaaagacaccgtt
+ggtcatcaccactttttcaccacgtttacgcgctgccgctacggccagcttcagttcctc
+ttcggtcatcacgccaaagcctgtatctgcacgtccacgtacagcattttccagctcgat
+cggcgaaaccgtggaggttcccagtttgccgaccaccacgccagccgccgcattggcaaa
+gaagcaggcttcttccagcgaattacccgctgccagcgttgccgccaggacgccaatcac
+cgtgtcgcccgcaccggtaacgtcatacacttcctgcgcttgggttggcatatgcagcgg
+cgctttacccggttgcagcagcgacataccctgttcggaacgggtcactaacagagccga
+gagttcgtaatcggcaatcagtttcatgccgcgctcaacaatctcttcttcggtcttaca
+tttaccgacaacagcttcaaattccgagagattcggcgttaacagcgtagcgccgcggta
+gcgctcaaaatcggtaccttttggatcaatcagcaccggaacacccgctttacgcgccag
+ttggatcatctgctgtacgcttgccagcgcacctttggcgtagtcagaaagcaccagcgc
+gccaatcgaactcagcgcctgattaatccgctcgtgcagcggctgcggatcaacaccttc
+gaaaccttcttcaaaatccagacggatcagctgttggttgcgggaaagtacccgtaattt
+ggtaatggtcggatgcgtcggtacagaaacgaagtcgcatttgacgttgacgtcggccag
+agatttactcagcgcgcgcgctgcatcgtcaatgcccgtcaacccgaccaggcgtgcatt
+agcaccgagagaagcgatattcatcgccacgttagccgcgccgcccggacgttcttcgat
+ggtattcactttaaccacgggcaccggcgcttccggcgagatacgactggtggggccgta
+ccagtaacgatccagcatcacatcaccaaccaccatcactcctgcacgttcaaactctgg
+cagcgttactttcattcctgtctcctgagagattcaaaatttgcgcgcgataataccata
+cttcattcttccaccagccacttctgccagcttgcccgcaccagttcacgctctgcggtg
+aagcaatcctccgacacatggcccggcaattcctgtaatgccagatgatgaagttcatcg
+cgaagcgtagtgtaagcacgggtcagcgccatcgcttcctgctcttccataatgtcgttt
+tgcgccagtagttccagaatacgcacgttgtctgaccagcgcgttaacttcggtttttca
+tgagcgtagcgcaacaccagatattgggtaataaattcgatatcggtaattcccccttca
+tcagctttgatatcaaagcgatcgcgatgtttattgccgagatgagcgcgcattttctcg
+cgcatttcccgcacttccgtttgcagagttttaccttcacgcggcagcgtcataatctcg
+cgacgcactgcgtcaaagtgcgcggtgagctgcggatcgccgtacactacacgcgcacgc
+accagcgcctgatgttcccacgtccaggcctcgtttttctgataatcggcaaatgcttct
+gcggatgtcaccagcattcccgccgccccggacggacgcagtcgagcatccacttcatac
+aaaatgccggaagaggtacgcgtactgaacagatgcataatgcgttgcgccagacgcaga
+taaaactgccgcccgtcgatttcccgctcaccgtcagtcatcgcatccattgggcaatca
+tggaggaagataaggtcaagatcggaactgtagcctaactcccagccgcccagcttgccg
+tagccgaccaccgcaaaaccacgcccttcgcgttcgttcaggtgattcggcttaccgtag
+cgggcaaccatttgaacccacgcctgctgaacgacggcatctatcatggcttccgccagc
+caggttaagtgatcgctcactttcatcaccggtagcgtaccggcgatatccgctgcggcg
+atgcgtaacagctgcgcctgtttgaactgacgcagcgcctcaagctgttgctcttcgtca
+tcttccggcacgcgcagcaaatactggcgcaactcatcgcggtaggcatcggtcgccgtc
+ggctggtaaagggtgtttggatcgagcaattcatccagcaataatggataacgcgccagc
+tggctggcaatcatcggcgacgcggcacacagagaaatcaaatgtttaagcgccgcgggg
+aattcactgagcaattctaaataggtggtgcgggtaacaatccccaccagcaaggcggta
+atgcgcgacagcgtaacggcagcgtcttcacgcgcacagacatcacttagcagatgcggc
+atcagatggtcgagcacctgacgtcctcgcggcccgatggtgcgcttatccagctctttg
+cggaaatcggcaatcagcgttagcacctgtttgcgatcatcctcgctaagatgcgccagc
+actggcgtagtgtcatcttcctgcaacgcatcctgccacagctcacgccactgttccgac
+agcgactcttcctgagtttcactttcatcgtcgccaatcaattcattaaacacccggcgc
+acattggtcatatgtgcggtcagcgccccggtcagttgcggccagtcagcaaagtccatc
+gcccacgccagccgcgcacgattaagctcatcagaaggaagcgtctgggtttgttcgtcg
+ttaatgctttgcagcaggttttccagacgccgcaggaacagatacgccactcgcaattgt
+tcagcatcgttttcagaaagcagatgcagctcggcaatggcgctgagcgttggcagtaaa
+gagcgcgattgcagcgacggttcgcgtccgccgcgaatgagctggaacacctgaacgata
+aattcaatttcgcgaatgccgcctgcgccgagtttgatattgtcggtcaaaccacgtcga
+cgcacttcacgggcaatcatccctttcatgttgcgcagcgactgaatcacgctgaaatcg
+atgtaacgacggaaaacaaacgggcgcagcatcgcacgcaactcgttagcatagacgcct
+tcgctatcgcccataatccgcgccttgaccatcgcgtaacgctcccagtcgcgcccctgc
+tcctggtaataatcttccaacgcggcaaagctcagcaccagcgggccactttcgccaaac
+ggacgcagccgcatatccacgcgatagacgaagccatcctgcgttggttgatccagcact
+ttaatcagccgctgccccatgcgggtaaaaaactgcgcgttatccagttcccggcgtcca
+ccctgcgtacaaccatgttccggccaggcaaaaatcagatcgatatcagaggagaaattc
+agctccccaccgcccagcttacccatgcctaaaatcagcagcggttgcgcttcgccctgc
+gcattgcacggcgttccccactcgcggcagcaggcgtcatacagccagtcacgcgccgca
+acaatcagcgtctccgccagatagctgagctgctgcaatatgctctcttcagtaaccagt
+gccagcgtttgcgcccaggcgatgcgcaccataatgcgccgccggaatagccgcagctcg
+cgcattaacccggcttcgtcactcacattacagagcgcctcctgcaaccatgccgcgtaa
+tgctgccattcgtcggcctgcggcggttggctttccagttccgtcagccactctggatgc
+gcaatcacgctgtcctgcacaaaatcactaaaagtaagtactgacttcgcctgtgcgcta
+agtgattcctcggctaaaggctctggcagccgctcaacaacggtctgccagtactgctgt
+aacggtgaagagagcggcttcataagcgattttatccttgcctgattaacgttttccgct
+gtgcaaccagaacggttcctgattgtttgcctcattacggaaatgttcaatttcgatgcg
+ttgcccggtcgcaatagcgtgatgcagcccctgccagttctccagccaggcttgcgcgac
+gacaggatcatagtaacccgccagcaacagtattgagtcaatatcacgcgtcaggcgtgg
+caactggtcacggtagcgatcgcctaacggctggcagaaaacgcttttcagttcagcggc
+atggcgggaaagatggatatcggcaaagcgtttgaaggagtcgctgattttgccctgcgc
+tttggcatctaaaaatggctgccatgctttgcttaccaaccattcggtcaacgccagctt
+cgccattgccgtttcggtagagtagaccgccgtcacggcagacaccgcagaagcaatggt
+cgcctcgcattgagtcagcagatcacgtaagtgagtgctcgctttacgcggcacaatacc
+accgaacagcatcagcgtatgacggaccaggctaatggctgccagcacctgttctttcgc
+cgcatcgttgccgcgtacccacagttcttcatgatactgccattgcgctaacgccagctc
+gagcgccgcttccagcccctgttccacatcggcttttgccgcaacatgcaaaatggtggt
+cggtttgatttcacgcgccggattgccctgcgccagatgatagccacgcgccgctttgct
+caggctgccctggcgtaatccggtttgcgataccagttggttcgccagtttcagcaccgc
+gcgcgtgtcgccgctaagcagttccagttccagctcacagataggttcagcaaattcacc
+cgctttcacttccccctggtcgagggcgatttcaatttggctaccatcgaccgccaccag
+ccatttttcgcgataaaaatcggtgctgaacagcggctgcacgcgggaggcgagatcggc
+gggcaattcgccgttcggccagacttccgtcggtaactgcgccaggtcgagcgtcggttc
+gctcaacgccacgttatattccgggcgctgatgtaagccgcctgtcactcttcctgcaac
+tttcatggtcatctcatagcgaccgttttcgccacgaatacgtaagcccatatcgtgccc
+acgcagccagttatccggcgtttcgtagtaaatattcagcaactgcacggggtcatggtg
+ctcgccgcccagcgtattgagatggtcacgcaacgcctcaacggcactgtgattaacaat
+aaactttaattcgatttcctgagccatggcctttacttatcggttatgtcacataagtga
+cgatgaacggcgaacttaatgcgatcttttttgtcagtagatagtattttgcgccaaatt
+gccatgcaacgggcaatttgacgggcgtaaaagtttgaagcagtggcaagacctgacaca
+gaggattccgattgatgtcgaatgctttgcgtagcgacactgatgccactactatcgttc
+cactttccatgacaataacgacagcctgatgccaaaattacgcctgatcggattaacttt
+actcgcacttagcgcgactgccgtctcacacgctgaagaaacgcgctatgtttccgacga
+actgaatacctgggtccgcagcggtccgggagatcattatcgcctcgtgggcacggttaa
+cgccggcgaggaagtgaccttattacaaactgacgccaacaccaattatgcccaggtgaa
+agacagctctggccgtaccgcctggatcccgttgaaacaacttagcactgagccaagcct
+gcgctcccgtgtgccagatctggaaaatcaggtcaaaaccctgaccgataaactcaccaa
+tatcgataacacctggaatcagcgcaccgcagaaatgcagcaaaaagtggcgcagagcga
+cagcgtgatcaacgggttaaaagaagaaaatcagaaactgaaaaacgagctgattgtcgc
+gcagaaaaaggtcgatgccgccagcgtacagctggatgacaaacagcgcaccatcatcat
+gcaatggtttatgtatggcggtggcgtgctggggcttggcttgctgctcggtctggtact
+gccgcacctgatcccaagccgcaaacgcaaagatcgctggatgaactaaatcgccttctt
+cgttgcactgtcttattattaggaattgtgtatttgacgaagggatgatggcgtgaagat
+ttatctggtcggtggtgctgttcgggatgcattgttagggctaccggtcaaagacagaga
+ttgggtggtggtcggcagtacgccacaggagatgctcgacgcgggctaccagcaggtagg
+ccgcgattttcctgtgtttctgcatccgcaaacgcatgaagagtatgcgctggcacgtac
+cgaacggaaatccggttccggttacaccggttttacttgctatgccgcaccggatgtcac
+gctggaagatgatcttaagcgtcgcgatctgaccattaatgcgctggcccaggacgataa
+cggcgagattatcgacccgtacaacggtctgggcgatctgcaaaatcgtctgttgcgcca
+tgtttcccccgcttttggcgaagatccgttacgcgtattgcgcgtggcgcgttttgctgc
+gcgttatgcccacctcggttttcgtattgccgatgaaactctggcgttgatgcgcgagat
+gacccatgcgggtgaactggaacacctgacgcctgaacgggtatggaaagagacggaaag
+cgccctcaccacccgcaatccacaggtgttcttccaggtactgcgcgattgcggcgcact
+gcgcgttttattcccggaaattgacgcactgtttggcgttccggcccctgccaagtggca
+tccggaaatcgatacgggtattcataccttaatgacgctctcaatggcggcgatgctgag
+tccgcaggtcgatgtccgtttcgcaactttatgccacgatctcggtaaagggctgacgcc
+gccagaactctggccgcgtcatcatggtcatggcccggcgggtgttaagttagtggaaca
+actatgccagcgtctgcgcgtgccaaatgaaattcgcgatttagccagactggtggctga
+gtttcacgatctcatccacaccttcccaatgctgaacccaaaaaccatcgtcaaattatt
+tgattccatcgatgcctggcgtaaaccgcagcgtgtcgagcaactggcgctgaccagcga
+ggctgacgtgcgcggcagaaccggttttgaatcagcggactacccgcaaggccgctggtt
+gcgcgaagcctgggaagtggcgcagtcagtgccgacaaaagccgtcgttgaagcgggatt
+taaaggtgtggagattcgcgaggagctgacccgacggcggattgcggcggtagccagctg
+gaaggaacaacgttgcccaaagcctgaatgagtattgggcattttgccggatgcggcgta
+aacgccttatccggctacatgtcaacgacagttgtaggcctgataagacgcgcaagcgtc
+gcatcaggcgttgattgccggatgcggcgtgaacgccttattcggcctacgcaatcgttg
+acaacgccaagcatccgacactattcctcaattaaaagaacacgacatacaccgcagccg
+ccacaataaagcgataaatggcgaacgggataaacgaaatgcgcttaatcaattgcagga
+aggttttaatcgctatcagcgccaccacaaaagcggtgataaacccaacggcaaacatcg
+ggatatcgccgcttgtcaggaagccccagcttttgtagagatcgagcgccgttgcgccca
+tcatcatcggcaccgccagcaggaacgaaaactcggaagcagcgtaacggctcaccccca
+tcagcatcccacctgaaatggtcgccccggaacgggagaaacccggccacagcgccagac
+actggaaacagccaatcataaatgcctgacgataggtcatatcatcaagacccggcgcac
+gcggctctttcggcttcaggcattcggcggcaatcagcaacaaaccgccaacgaccagcg
+catacatcacatttatcgggttaaacaatgacttaatcgtgtcgtggaacaacagcccca
+ataccaccgccggaatcatccccagcaaaatgtggatcagcgttaaacgacctttgcttt
+caccttcgtgctgcaacgggcggccaaagtggatgccaatcaggccaaacagacgccgcc
+agaacatcactactaccgccagaattgatcctaactggatcacaacttcaaaggttttcg
+ccgtgtcgccctcaaaccccaacaagtgaccgacaataatcatatggcccgtgctggata
+ccggcagaaattctgtcaatccttcgaccacacccaatattgccgctatcagcagcgagt
+gcatatcgctcatcaataaacccctaaattattaaaatgtaccgcttgtccgaactactg
+cgtatgaccaggttataaccgtttggtttaacagctgtaaaattaattattttctttcag
+attattgccacgctcaatgattacgccaacattcgccgcccgcgccactgcgcctggctt
+gctgagtttgatacgcacccacggcgagttgaagcgtgctaacagcagctccgccacctc
+ttcagccacgcgttccaccagcgcaaaacgcgccccctcgacgtggctgaccaccgtttc
+tgcaatgtcagcgtaactgaggcaatccgccacatcatcacttttcgccgctttacggtt
+atcccacgccatttcgatatcgaacactaacttctgttcgatggtctgttcccagtcgta
+aacaccaatagtggtgattaccgaaagttgctctataaatacaatatccatcacgtcctg
+cctgctttttggctaaccggataccacttccggcgaaatgtgcgtattatccacagattc
+atcgttgaacacgaattttcaaaacggaacagcttatgagtgcaatcgcgcctggaatga
+tcctcatcgcgtacctctgcggctccatttccagtgccattctggtttgccgcttgtgtg
+ggctgcccgatccgcgaaccagcggctccggcaatccaggcgcaaccaatgtgttacgta
+tcggtggcaagggagcagccgtagcagtactgattttcgacgttctgaaaggaatgttgc
+ccgtctggggcgcgtatgaattaggtgtcagccccttctggctaggcttaattgccatcg
+ccgcctgtcttggacacatctggcccgttttcttcggatttaaaggaggaaaaggcgttg
+ctaccgcttttggtgccatcgcacccattggctgggatctcaccggagtaatggcgggaa
+cctggttactgaccgtgctattgagcggatactcgtcgctgggagcgattgtcagtgcac
+tgattgctccgttttatgtctggtggtttaagccacaattcaccttcccggtttcgatgc
+tctcttgcctgatcctgctgcgtcatcatgacaacatccaacgtctgtggcgtcgtcagg
+agacaaaaatctggacgaaattcaaaagaaagcgcgaaaaggatcccgagtgatttctgg
+tggatctacatgacctgatagccttcatcgggcttgcccagccgttgctggcaccatgcc
+gccagaaattccacgcagacacgtaatttcatgctgcgatagagcggctcccggtaaaca
+gcccagatattggcgctttgtgcatactctggcaatacttgcaccagtttgccactctcc
+agaaacggcaacacatcccactcggaacgcagcataatccctttgccctccagcgcccat
+tgcagcacaatctcgccgctattggaggaaagatgcccgcttaccttcaccgattttttc
+tcctgaccgttccccaactcccatattccatgggtcatatcgcgctctttggtcaccaga
+cagtcatgacgacttaattcctgtagggattgtggctgcggatatttttgcagatactca
+ggtgctgcgcataatattcttttattttttgtcaaaagatgcgcaatataataatcagga
+atttcgtcattaatacgaatatccagatcaatattatcctgcactaaatcaatttgccga
+tcgaacaattcaaaatgcacctgtaactcaggataattgcgcatcagttcggtaatagct
+ggcgcaatatggctgcgcccaaaaccaaaactgcaaccaatacgaatcatcccctccggg
+cgcgttttgatttgcgtgacgtcatcgaccagtcgctgatattgggtgaggatttccaac
+gcatgttcgtaacaacgttggccactttcagtcagcgccacgccgcgagcggagcggttc
+agcagcgttgttgccagcgtattttcaaggatttggatccgcttggtgacaaatgcaggc
+gtctgcccaagcgtcgccgctgcggcgctaaaactcccgctgtgaacgatttctaccagt
+acctgcaagtctttggctaaaggccagctattcagcatcgttaattatccgcagttgtga
+taagcgcagtgtatttcgcaaaacattgccattccctgctctggcgcaatattcattctt
+attttcgcgttgattcacgaactgttaattacatattcacggtggcaaaaaatataaaac
+cacatttttagtggtagtttgtggcggtgaatttttccagacaaatacaaaaactggagt
+tgccatgatgagcgaaagtaataagcaacaggcagtgaataagttgacagagattgtcgc
+taactttaccgccatgatttctacccgaatgcctgatgacgtggtggataaactaaaaca
+gctaaaggatgccgaaacgtcgtcgatggggaaaattatctaccatacgatgttcgacaa
+catgcaaaaagcgattgacctgaatcgtcctgcctgtcaggacaccggggagattatgtt
+cttcgttaaagtcggttcccgcttcccactgcttggcgagctgcaaagcatactcaaaca
+agccgtggaagaggcaaccgtcaaagcgccactacgtcacaatgcggtagaaatttttga
+cgaagtaaacaccggcaaaaataccggtagcggcgtaccgtgggtcacctgggacatcat
+ccccgacaatgacgatgcggaaatcgaagtttacatggcaggcggcggctgcacgctacc
+tggccgctcgaaagtgttaatgccgtcagaaggctacgaaggcgtggtgaaattcgtctt
+cgaaaatatctccaccctcgccgtaaacgcctgtccaccggtactggtgggcgtgggcat
+cgccacctcggtggaaaccgccgccgtactctcgcgtaaagccattttgcgcccgattgg
+cagccgccatcccaatccaaaagcggcagaactggagctacgcctggaagaaggactcaa
+ccgtctggggattggtccacaagggctgaccggcaacagttcagtgatgggcgtacatat
+cgaatctgccgcccgccatccgtcaaccatcggcgttgctgtctctaccggctgctgggc
+gcatcgtcgcggcacgctgctggttcatgccgatctcacctttgaaaatctgtctcacac
+ccggagcgcgttatgaaaaagatcctgacaaccccgatcaaagctgaagatctgcaagat
+attcgcgtcggcgatgtgatctacctgaccggtacgctggtgacctgccgcgacgtttgt
+caccgccgtttgatcgaactgaaacgtccgatcccttacgatctcaacggcaaagcgatt
+ttccacgctggccccatcgtgcgcaaaaacggcgacaaatgggagatggtctccgtcggc
+ccgacaaccagtatgcgtatggaaagttttgaacgtgaatttattgagcagaccggcgtg
+aaactggtggttggcaaaggtggtatggggccgctgaccgaagaaggctgccagaaattc
+aaggcgctacatgtgattttcccggcaggctgcgcggtgctggcggcaacccaggtggaa
+gagattgaagaagtgcactggacagagctcggaatgccggagtcactgtgggtctgccgg
+gtcaaagagttcggcccgctgattgtctctattgatacccacggcaacaacctgatagcc
+gaaaacaaaaagctgttcgccgaacgccgcgatcccatcgtggaagagatctgcgagcac
+gtccattacatcaaataaccctcccggagaggctcacccctctcctttttcgcaggcata
+acacgatgaaaccttccactgaatggtggcgatatcttgcgccgctggcggtcatcgcca
+ttattgctctacttccggttcccgcagggctggagaaccatacctggctctactttgccg
+tttttactggcgtgatcgttggactgatcctcgaacccgtgccgggtgccgtggtggcga
+tggtgggtatatccatcatcgccatactctctccctggctgctgttcagcccggagcagc
+tcgctcagccaggctttaaattcactgcaaaatccctctcgtgggccgtttccggttttt
+ctaattcggttatctggctgattttcgccgcctttatgtttggcacaggctatgaaaaaa
+ccgggcttggacgccgcattgcgctgattctggtgaaaaagatgggacatcgcacgctgt
+ttctcggctatgcggtgatgttctccgagctgatcctcgcacctgtaacaccgtccaact
+cggcgcgtggtgcggggattatctatcccatcatccgtaacctgccaccgctctatcaat
+cacaaccaaacgacagcagttcgcgcagcattggctcgtacatcatgtggatggggattg
+ttgccgactgcgtgaccagcgccattttcttgacggcgatggcaccaaacttgctgttaa
+ttggactgatgaaaagcgcatctcacgccacgctgagttggggcgactggttcctcggga
+tgttgccgctcagcattttactggttctgctggttccctggctggcttacgtgctgtacc
+cgccggtactgaagtctggcgatcaggtgccgcgctgggcagagacggaactgcaggcaa
+tgggcccgctctgttcgcgtgaaaaacggatgctggggctgatggtaggcgcgctggtgc
+tgtggattttcggcggtgattatatcgatgccgcgatggtcggttacagcgtggtggcac
+tgatgctgcttctgcgcattatcagttgggacgacattgtcagtaataaagcggcgtgga
+acgttttcttctggctggcctcgcttatcaccctcgccaccggactcaacaacaccggtt
+ttattagctggtttggcaaactgttagcaggcagcttaagcggttattcgccaacgatgg
+tgatggtggcgttgattgtggtgttttatctactgcgctactttttcgccagcgccacgg
+cgtatacctccgctctcgcaccgatgatgattgctgctgcgctggcgatgccggaaatcc
+cgctgccggtgttctgcctgatggttggtgcggcaattggtctggggagcattcttacac
+catacgccaccggccccagtccgatttactacggcagtggttatctgccaacggcggatt
+actggcgactgggggcgatttttgggctgatattcctcgtattgctggtgattaccggct
+tactgtggatgcccgtggtgttgctttaagtgaggacggtgccggaaattgctctccggc
+acccaatagttttacgcagccggtaactccgccagcggccagcgcggacgcacgctaacg
+ccgagatccgccgtcgcgcctgctttaaaccgcaccattccggcataggcgatcatcgcg
+ccgttatcagtacaaaattccggacgcgcgtagaacacttcgccgcggcgttttttcatc
+atttcagccagcttcgcccgtaacgtacggttagcactcacgccgcccgccatgaccagt
+cgcttaaagcccgtctgatccagcgcccgcttgcacttaatcatcagcgtatcgaccacc
+gcatcttcaaaggcgcgggcgatatcagcacgcgtctggtcgtcggtgccgttgtcacga
+atggtatttgccgcgaaggttttcaggccggagaagctgaaatccagccccggacggtcg
+gtcatcggacgcgggaagacaaagcgcccggcagtaccctgagccgccattttcgacagt
+aacggcccgccaggataatccagccccagcagcttcgcggttttatcaaacgcttccccg
+gcggcatcatcgatagactcgccgagcagctcgtactgaccaatgccagtcacgctgatt
+aactgcgtatgaccgccggaaacaagcagcgcaacaaacggaaattccggcgggttatct
+tccagcatcggcgctaacagatgcccttccatatggtgtacagggatcgccggaacgtcc
+caggcaaacgccagagaacgccccacggtcgcgccaaccagtagcgcgccgactaatcca
+gggcctgcggtataggccacagcatcaatgtcttttgccgttaaaccagactcctttagc
+gccgcctggatcaacggtacggttttacgcacatgatcgcgggaggccagttcaggcacg
+acgccgccgtagtcagcgtgcaatttcacctgactatacaattggttggctaacaaacct
+ttttcatcgtcgtaaatggcgatgccggtttcatcgcaggaagtttcaatacccagtaca
+cgcatgacttgttttacctcgctttattaccgcgcagtgtaggaccaatgcgggttgatg
+taaaactttgttcgcccctggagaaagcctcgtgtatactcctcacccttataaaagtcc
+ctttcaaaaaaggccgcggtgctttacaaagcagcagcaattgcagtaaaattccgcacc
+attttgaaataagctggcgttgatgccagcggcaaaccgaattaatcaaaggtgagaggc
+acatgccggtaattaaagtacgtgaaaacgagccgttcgacgtagctctgcgtcgcttca
+agcgttcctgcgaaaaagcaggtgttctggcggaagttcgtcgtcgtgagttctatgaaa
+aaccgactaccgaacgtaagcgcgctaaagcttctgcagtgaaacgtcacgcgaagaaac
+tggctcgcgaaaacgcacgccgcactcgtctgtactaattccccgagagcgttgctctcc
+gatcagaccgagttgtagttgtaaggccgtgcttccgaaaggaatgcgcggcttattttc
+gtttatgaattgctaaaaatcggggcctatggctggacgaatcccacgcgtattcattaa
+tgatctgctggcacgcactgacatcgtcgatctgatcgatgcccgtgtgaagctgaaaaa
+gcagggcaagaatttccacgcgtgttgtccattccacaacgagaaaaccccgtccttcac
+cgttaacggtgagaaacagttttaccactgctttggatgtggcgcgcacggcaacgcgat
+cgacttcctgatgaactacgacaagctcgagttcgtcgaaacggtcgaagagctggcagc
+aatgcacaatcttgaagtgccatttgaagcaggcagcggccccagccagatcgagcgcca
+tcagaggcaaacgctttatcagttgatggacggtctgaatacgttttaccaacaatcttt
+acaacaacctgttgccacgtctgcgcgccagtatctggaaaaacgcggattaagccacga
+ggttatcgctcgctttgcgattggttttgcgccccccggctgggacaacgtcctgaagcg
+gtttggcggcaatccagaaaatcgccagtcattgattgatgcggggatgttggtcactaa
+cgatcagggacgcagttacgatcgtttccgcgagcgggtgatgttccccattcgcgataa
+acgcggtcgggtgattggttttggcgggcgcgtgctgggcaacgatacccccaaatacct
+gaactcgccggaaacagacattttccataaaggccgccagctttacggtctttatgaagc
+gcagcaggataacgctgaacccaatcgtctgcttgtggtcgaaggctatatggacgtggt
+ggcgctggcgcaatacggcattaattacgccgttgcgtcgttaggtacgtcaaccaccgc
+cgatcacatacaactgttgttccgcgcgaccaacaatgtcatttgctgttatgacggcga
+ccgtgcaggccgcgatgccgcctggcgagcgctggaaacggcgctgccttacatgacaga
+cggccgtcagctacgctttatgtttttgcctgatggcgaagaccctgacacgctagtacg
+aaaagaaggtaaagaagcgtttgaagcgcggatggagcaggcgatgccactctccgcatt
+tctgtttaacagtctgatgccgcaagttgatctgagtacccctgacgggcgcgcacgttt
+gagtacgctggcactaccattgatatcgcaagtgccgggcgaaacgctgcgaatatatct
+tcgtcaggaattaggcaacaaattaggcatacttgatgacagccagcttgaacgattaat
+gccaaaagcggcagagagcggcgtttctcgccctgttccgcagctaaaacgcacgaccat
+gcgtatacttatagggttgctggtgcaaaatccagaattagcgacgttggtcccgccgct
+tgagaatctggatgaaaataagctccctggacttggcttattcagagaactggtcaacac
+ttgtctctcccagccaggtctgaccaccgggcaacttttagagcactatcgtggtacaaa
+taatgctgccacccttgaaaaactgtcgatgtgggacgatatagcagataagaatattgc
+tgagcaaaccttcaccgactcactcaaccatatgtttgattcgctgcttgaactgcgcca
+ggaagagttaatcgctcgtgagcgcacgcatggtttaagcaacgaagaacgcctggagct
+ctggacattaaaccaggagctggcgaaaaagtgatttaacggcttaagtgccgaagagcg
+atcgggaagcccccgacagccgcactgagaggcagcggcaaatatataagtacgccctcg
+taattatcgttggcggtaaacaaccgttggatttcagcgttaacggctgaaggacatcgg
+gtcaatcgcccaacaccaacctcatgaaataagtgtggataccgtcttatggagcaaaac
+ccgcagtcacagctgaaacttcttgtcacccgtggtaaggagcaaggctatctgacctat
+gccgaggtcaatgaccatctgccggaagatatcgtcgattcagatcagatcgaagacatc
+atccaaatgatcaacgacatgggcattcaggtgatggaagaagcaccggatgccgatgat
+ctgatgctggctgaaaacaccgcggacgaagatgctgccgaagccgccgcgcaggtgctt
+tccagcgtggaatctgaaatcgggcgcacgactgacccggtacgcatgtacatgcgtgaa
+atgggcaccgttgaactgttgacccgcgaaggcgaaattgacatcgctaagcgtattgaa
+gacgggatcaaccaggttcaatgctccgttgctgaatatccggaagcgatcacctatctg
+ctggaacagtacgatcgtgttgaagcagaagaagcgcgtctgtccgatctgatcaccggc
+tttgttgacccgaacgcagaagaagatctggcacctaccgccactcacgtcggttctgag
+ctttcccaggaagatctggacgatgacgaagatgaagacgaagaagatggcgatgacgac
+agcgccgatgatgacaacagcatcgacccggaactggctcgcgaaaaatttgcggaacta
+cgcgctcagtacgttgtaacgcgtgacaccatcaaagcgaaaggtcgcagtcacgctacc
+gctcaggaagagatcctgaaactgtctgaagtattcaaacagttccgcctggtgccgaag
+cagtttgactacctggtcaacagcatgcgcgtcatgatggaccgcgttcgtacgcaagaa
+cgtctgatcatgaagctctgcgttgagcagtgcaaaatgccgaagaaaaacttcattacc
+ctgtttaccggcaacgaaaccagcgatacctggttcaacgcggcaattgcgatgaacaag
+ccgtggtcggaaaaactgcacgatgtctctgaagaagtgcatcgcgccctgcaaaaactg
+cagcagattgaagaagaaaccggcctgaccatcgagcaggttaaagatatcaaccgtcgt
+atgtccatcggtgaagcgaaagcccgccgtgcgaagaaagagatggttgaagcgaactta
+cgtctggttatttctatcgctaagaaatacaccaaccgtggcttgcagttccttgacctg
+attcaggaaggcaacatcggtctgatgaaagcggttgataaattcgaataccgccgtggt
+tacaagttctccacctacgcaacctggtggatccgtcaggcgatcacccgctctatcgcg
+gatcaggcgcgcaccatccgtattccggtgcatatgattgagaccatcaacaagctcaac
+cgtatttctcgccagatgctgcaagagatgggccgtgaaccgacgccggaagaactggct
+gaacgtatgctgatgccggaagacaagatccgcaaagtgctgaagatcgccaaagagcca
+atctccatggaaacgccgatcggtgatgatgaagattcgcatctgggggatttcatcgag
+gataccaccctcgagctgccgctggattctgcgaccaccgaaagcctgcgtgcggcaacg
+cacgacgtgctggctggcctgaccgcgcgtgaagcaaaagttctgcgtatgcgtttcggt
+atcgatatgaacaccgactacacgctggaagaagtgggtaaacagttcgacgttacccgc
+gaacgtatccgtcagatcgaagcgaaggcgctgcgcaaactgcgtcacccgagccgttct
+gaagtgctgcgtagcttcctggacgattaatcggtaggccggatcaggcgttacgccgca
+cccggcactaggccctctgcacaaacgccaccttttcggtggcgttttttatcgcccacg
+cactaccagcgcctggtccagctcgcgatacgcttcaaccagtttctccagtgaaacgcg
+acttaaaccgctgggatttggcagcacccaaatctgcgtcgaaccaatggtgagcgtttg
+tttcccccactgtgcaccgcgctggctgaatccctgttcatatgcttgtttgcccagaat
+cgccaacgcctgcggctgataatcttcaattttttcaatcagcttacgcccgcctgcgtg
+tagctcctgctttgaaacttcattggcttgcaccgttggacggtctaccagtttggtgac
+gccacaacgataatccagcagatgctgtgcctcctgcggcttcaactgacggtcggtaaa
+cccggcctgatatatcaccttccagaagcgatttgccggatgagcaaagggaaaaccagt
+cccggcggatgaaagcccagggttgataccgcaaaacacgacccgtaaccctggagccaa
+aatatcctcaaccatatttactcctttctaacatcaccaggaaaagtataacggattgaa
+aatacattgtttataaaaacagcaggcgcgcggtaatggctggattgcgacacggagtta
+ctttataatccgctaccatggccccttagctcagtggttagagcaggcgactcataatcg
+cttggtcgctggttcaagtccagcaggggccaccagatatagcaaaggctgacgagaaat
+cgtcagcctttttctttttatatatcagttactttgcgtgccagtaagccgctgcacgta
+cccgctgtgggtcatactgttccgcttcaaagcggcggcttaaattcttaacgactttac
+cttcgccggttatccagatgaagtaatcatcggcagggatttgcatctgcgccagacgcg
+catctaccgcctgctcatcatgtgccagccattcgatattaaaaccatcaaggtgcgcga
+gataatcctgacaggcgttatcccgcacgctaaccagcgcactaacttgcggtttaacgg
+caagtttgctcaacgtttccaggcggcggcgcaatgcaggcattccggattcatcgcaga
+catacagctgatacgcgtaatcttccggcaccaccagcgaaccgcgcggacctgccaccg
+taagtttatcgcccggttgcgcctgcatcgcccagccgctggcgaccccaccgtcgtgaa
+taaagaaatcaatcgccagttcatggcgtagttcgtcatacagcggcgtatagtcacgcg
+acggtgggcgtggtccttccggccagacgatgccctcttccgttaccgttggcggcacaa
+agtgagcgtcaggttgaggaaagaagagtttgctgtgatcgtcaaagccacgcgatgtaa
+aaccgtccagcgcctcgccgccgaggacaatgcgctgaaaaccggcgctgatgcgctcaa
+cgcgtaacacagtcagttcacggaagcgcagatcattgcgaacgcgctgcgggtagcggg
+gggtgttattcattgttatcgccttcgtgatggtaatcagatatatctaaataaaactcg
+caaatgataatgattgttaatcatgataaatgcaagcgatttgtagaactgatatgtcta
+tagtctgataagacgaaccgcctcttctcaggcatcattactcaacgccggatgcggcgt
+gaacgccttatccggcctacgtgtgagatgagtccacgtttaaaaatcatttttacactt
+gcaagaacgctcatatcagatataaattagatatatctaattaagcaaaaggaggctgat
+atgagccatcatcacgaagggtgttgtaaacatgaaggccagccacgccatgagggctgc
+tgcaaaggtgagaagtcagaacacgagcactgcggacacggtcaccagcatgaacacggt
+caatgctgcggtggtcgccacggtcgcggcggcggtcgtcggcaacgtttctttggtcac
+ggtgaattacgtctggtgattctggatattctctcgcgcgatgacagccacggttacgaa
+ttgattaaagcgattgagaatctaacccaggggaattacaccccaagcccgggcgtcatc
+tacccaacgctggattttctgcaggagcagtcgctgattaccatccgcgaagaggaagga
+ggtaagaagcagattgcgctgaccgaacaaggcgcgcagtggctggaagaaaaccgcgaa
+caggtggagatgattgaagaacgcatcaaagcgcgttgcgttggcgcggcgctgcgccag
+aacccgcaaatgaagcgggcgctggataattttaaagcggtgctggatttacgcgtcaac
+cagagcgatatcagtgatgcacaaataaaaaagatcattgcggtgatcgaccgcgccgct
+tttgatattacgcaactggattaatcgccgcatccgccagtggcgcggtgcaattgccgg
+atgcgacgcttgacgcgccttatccggcctacacccgctacacaccccgcaggcctgata
+agatgcgccagcatcgcatcaggcattgtgctccaaccgccggatccggcataccgatta
+atgcagtaccgtcaccgcgtcttccagtcggctggcgcggtgtttcaccatcgccgacac
+ctgcgcactctcttccaccagctcggcatttttctgggtgatcaggttaagctcatccac
+tgcacgggtcaggctggaaagcccatcggcctgttccagcgttgaatggctaatctgggc
+gatcaactgggtgacgtttttcacctgtgccacaatatcttccatcgtccgtccggcggc
+gtgtacctgctgcgaaccggattgcaccttatcagcactggcatcaatcagcttgcgaat
+atcgttggcagcattagcgctgcggctggctaaatgacgcacttcccctgccaccactgc
+aaaacctttgccctgttcgccggcacgcgccgcttccaccgccgcattcagggccagaat
+attggtctgaaacgcaatatcgttaatcagcgaagtaatggtgccaatgcgctgggtact
+gtcggcgatatcgtccattgtcttgatcaccgtggtcatcgcctccccaccctgcactgc
+cgcattactggcagtgattgacagtttatcggcagccgacgccgtggcagagttctgttt
+caccgacgccgccatttggttcatggtcgccaccgtttgctgaacgttatcaactgtctg
+ctgggtatgttcgttcagttcatcggtgcctttcgccagcgtctcactgccatttctgac
+actggacacctggcttgagacatcgttaattagccaacggcacatcaggccaagttgccc
+taccgcacgtaatgtcagccccagctcatcgctgcgattcagatgctcaacactattacg
+ttctccggtcgccaccttcagtgcctgatgggcaacattttctatcgggcgcacaatctg
+ccattcaaaacaggcgcttgccaacaataccactaacgcacagaggatatacgtcaccac
+cggggcagcaacaaaccaaagcatggccgccagcaagataaacatcagggtcatcactcc
+acgcgcccgccagcgaagcggtaatgaaggcagtttacccagccagcctttacgcaccac
+caggcctttatgaatacgcttactggtacgtccggcgttcaacgctttgtacagcggctc
+caccgccgcgatctcttcatccgtcgcccgggtacgaatcgacatatagccactgatttt
+tccctcgcgcaccatcggtaccgcattggcccgcacccaataatggtcaccatttttgcg
+gcgatttttcacgatgccgctccagggctccccttttttcagggtgaaccacatatccgc
+aaacgccgcttttggcatatccgggtgacgcaccatgttgtgcggctgcccttgtaactc
+ttgcaaggtatagccgctcacctgcacaaaagtgtcattagcatgagtgatatagctttg
+cagatcggtagtggacatcagagtggtatcgtccgccagcggggtattttgctgggtgac
+atacggatgagaagacatgttcgcgtcctgtgcaggttatatggttgttaacttcttgtc
+agagtttatgtcggccccgctgcggttatctttaaccgattaatttgatttagatcgcaa
+tttgcgatttaaacacaaatctaattccttgatttaaaatactttcactctgttactata
+cgaaaacgttaattatcttgcccaaaaatcaggcaattattgccctgaaaacgtgcattt
+gcgcagcaatcatcaaatccatacccgacaaaaaccgtgcaaaataacaacaaatgttaa
+cagatagcattaaatattgcacaaatgataaccgaatttgtgtttatcccgattttcgcg
+atcgcagccggagtggcgcaatccctgcaatacttaaatcggtatcatgtgatacgcgag
+cctccggagcatattttgaacaggttaccttcgagcgcatcggctttagcgtgcagcgcc
+cacgccctgaatctcattgagaagcgaacgctggatcatgaggagatgaaagcacttaac
+cgagaggtgattgaatacttcaaagagcatgtcaatccggggtttttagagtatcgcaaa
+tctgttaccgccggcggggattacggagccgtagagtggcaagcgggaagtttaaatacg
+cttgtcgacacccagggccaggagtttatcgactgcctgggaggttttggaattttcaac
+gtggggcaccgtaatccagttgtggtttccgccgtacagaatcaacttgcgaaacaaccg
+ctgcacagccaggagctgctcgatccgttacgggcgatgttggcgaaaacccttgctgcg
+ctaacgcccggtaaactgaaatacagcttcttctgtaatagcggcaccgagtccgttgaa
+gcagcgctgaagctggcgaaagcttaccagtcaccgcgcggcaagtttacttttattgcc
+accagcggcgcgttccacggtaaatcacttggcgcgctgtcggccacggcgaaatcgacc
+ttccgcaaaccgtttatgccgttactgccgggcttccgtcatgtgccgtttggcaatatc
+gaagccatgcgcacggctcttaacgagtgcaaaaaaaccggtgatgatgtggctgcggtg
+atcctcgaaccgattcagggtgaaggtggcgtaattctgccgccgccgggctatctcacc
+gccgtacgtaagctatgcgatgagttcggcgcactgatgatcctcgatgaagtacaaacg
+ggcatggggcgcacgggcaagatgttcgcctgcgagcatgagaacgtacagccggatatc
+ctctgccttgccaaagcgctcggcggcggcgtgatgccgattggcgcgaccatcgccact
+gaagaggtgttttcagttctgttcgacaacccattcctgcataccaccacctttggcggc
+aacccgctggcctgtgcggcggcgctggcgaccatcaatgtgttgctggagcagaactta
+ccggctcaggctgagcaaaaaggcgatatgttgctggacggtttccgtcaactggcgcgg
+gaatatcccgatctggtacaggaagcgcgtggtaaagggatgttgatggcgattgagttt
+gttgataacgaaatcggctataactttgccagcgagatgttccgccagcgcgtactggtg
+gccggaacgctcaataacgccaaaacgatccgcattgaaccgccactgacactgaccatt
+gaacagtgtgaactggtgatcaaagcggcgcgtaaggcgctggcggccatgcgagtaagt
+gtcgaagaagcgtaatatcaaatcggatggcgatacgacgtcgccatccgatctttttat
+acgacgcgtacgcccgcaggcatcatccgctccggcgttaacagcacgctttcactgccg
+tcatcggtttccgcacacaacagcatgcattccgacgtttcaccacgcattttcgctttt
+tgcagattgcataagaccaccaccgttttccccatcagctcttcttcgctgtagtacggc
+accaggctggtcacggtttgcagcgttttttgccccacatcaacctgtacgatgtacagc
+ttgtcggcgttttcatggcgtttcacttccacaatctttccgacgcgcatttccagacgt
+gcaaaatcagcgtaagccacggtttccattgcttcctcccttagggtaaaattttactaa
+actatagcaaaagtttttctcaatcctgtaggctaaaaatggagaatgcaggcgtgatca
+cattcgtgagccgctgtgttaccgttacagcgtcaaagaaacgcgctttatttactgaaa
+acaggtgacccgataagcacttcctctacaatgggggcgcacatcagggaaagtaaaaaa
+ggtaaacatggcaacactaaaagacatcgcaatcgaagctggcgtatccctggcgacagt
+atccagggtcttaaatgacgatccgacattgaatgtgaaagaagagacgaaacatcgcat
+tctcgagatcgccgaaaagctggagtacaagaccagtagtgcccgtaaactccagacagg
+tgcagtcaaccaacaccatattctggctatctacagctaccagcaggagctggagatcaa
+cgatccttactatctggcgatccgccacggcattgaaacccagtgcgaaaagctgggcat
+cgagctcaccaactgttatgaacacagcggcttaccagacattaaaaacgtcaccggtat
+tttaattgtcggcaaacccacgcccgccctgcgcgccgctgccagcgcgttgaccgacaa
+tatctgttttatcgactttcacgaacccggcagcggttacgatgcggtggatatcgatct
+ggcacgcatcagtaaagaaatcatcgacttctatatcaaccagggcgttaatcgtattgg
+ttttattggcggtgaagatgagcctggcaaggcggatattcgtgaggtcgcctttgcgga
+atatggccgactgaaacaagtggtacgcgaagaggatatctggcgcggcggtttttccag
+ttcgtcgggttatgaactggcaaaacaaatgctggcgcgggaagactatccgaaggcact
+gtttgttgcttccgattccattgctatcggcgtactgcgggcaattcatgaacgaggcct
+gaacatcccacaggatatttcgcttatcagcgttaacgatatccccaccgcgcgatttac
+ctttccgccgctctccaccgtgcgcatccattccgagatgatgggaagtcagggcgttaa
+cctggtgtatgaaaaagcccgcgatggtcgcgcgctgccgctgttagtcttcgttcccag
+caaattaaaactgcgcggcacgacccgttaaatccccttacacactgtccggcaatcgtt
+tttgccggacagtgctgccgtttattttcgtgatccagttaaagtaaatgcatttacctg
+ctactttttagtaaaaattttactaaactccccagcaattacacaaactaccatcaccat
+gaatggttccgatttctctctaccgggaggccctatgaatcgctgggaaaacattcagct
+cacccacgaaaaccgacttgcgccgcgtgcgtactttttttcatatgattctgttgcgca
+agcgcgtacctttgcccgcgaaaccagcagcctgtttctgcccttaagcggtcagtggaa
+tttccacttttttgaccatccgctgcaagtaccagaagccttcacctctgagttaatggc
+tgactgggggcatattaccgtccccgccatgtggcaaatggaaggtcacggcaaactgca
+atataccgacgaaggttttccgttccccatcgatgtgccgtttgtccccagcgataaccc
+aaccggtgcctatcaacgtattttcaccctcagcgacggctggcagggtaaacagacgct
+gattaaatttgacggcgtcgaaacctattttgaagtctatgttaacggtcagtatgtggg
+tttcagcaagggcagtcgcctgaccgcagagtttgacatcagcgcgatggttaaaaccgg
+cgacaacctgttgtgtgtgcgcgtgatgcagtgggcggactctacctacgtggaagacca
+ggatatgtggtggtcagcggggatcttccgcgatgtttatctggtcggaaaacacctaac
+gcatattaacgatttcactgtgcgtaccgactttgacgaagcctattgcgatgccacgct
+ttcctgcgaagtggtgctggaaaatctcgccgcctcccctgtcgtcacgacgctggaata
+taccctgtttgatggcgaacgcgtggtgcacagcagcgccattgatcatttggcaattga
+aaaactgaccagcgccagctttgcttttactgtcgaacagccgcagcaatggtcagcaga
+atccccttatctttaccatctggtcatgacgctgaaagacgccaacggcaacgttctgga
+agtggtgccacaacgcgttggcttccgtgatatcaaagtgcgcgacggtctgttctggat
+caataaccgttatgtgatgctgcacggcgtcaaccgtcacgacaacgatcatcgcaaagg
+ccgcgccgttggaatggatcgcgtcgagaaagatctccagttgatgaagcagcacaatat
+caactccgtgcgtaccgctcactacccgaacgatccgcgtttttacgaactgtgtgatat
+ctacggcctgtttgtgatggcggaaaccgacgtcgaatcgcacggctttgctaatgtcgg
+cgatattagccgtattaccgacgatccgcagtgggaaaaagtctacgtcgagcgcattgt
+tcgccatatccacgcgcagaaaaaccatccgtcgatcatcatctggtcgctgggcaatga
+atccggctatggctgtaacatccgcgcgatgtaccatgcggcgaaagcgctggatgacac
+gcgactggtgcattacgaagaagatcgcgatgctgaagtggtcgatattatttccaccat
+gtacacccgcgtgccgctgatgaatgagtttggtgaatacccgcatccgaagccgcgcat
+catctgtgaatatgctcatgcgatggggaacggaccgggcgggctgacggagtaccagaa
+cgtcttctataagcacgattgcattcagggtcattatgtctgggagtggtgcgaccacgg
+gatccaggcacaggacgaccacggcaatgtctggtataaattcggcggcgactacggcga
+ctatcccaacaactataacttctgtcttgatggtttgatctattccgatcagacgccggg
+accgggcctgaaagagtacaaacaggttatcgcgccggtaaaaatccacgcgcgggatct
+gactcgcggcgagttgaaagtcgaaaataaactgtggtttaccacgcttgatgactacac
+cctgcacgcagaggtgcgcgccgaaggtgaaacgctcgcgacgcagcagattaaactgcg
+cgacgttgcgccgaacagcgaagcccccttgcagatcacgctgccgcagctggacgcccg
+cgaagcgttcctcaacattacggtgaccaaagattcccgcacccgctacagcgaagccgg
+acaccctatcgccacttatcagttcccgctgaaggaaaacaccgcgcagccagtgccttt
+cgcaccaaataatgcgcgtccgctgacgctggaagacgatcgtttgagctgcaccgttcg
+cggctacaacttcgcgatcaccttctcaaaaatgagtggcaaaccgacatcctggcaggt
+gaatggcgaatcgctgctgactcgcgagccaaagatcaacttcttcaagccgatgatcga
+caaccacaagcaggagtacgaagggctgtggcaaccgaatcatttgcagatcatgcagga
+acatctgcgcgactttgccgtagaacagagcgatggtgaagtgctgatcatcagccgcac
+agttattgccccgccggtgtttgacttcgggatgcgctgcacctacatctggcgcatcgc
+tgccgatggccaggttaacgtggcgctttccggcgagcgttacggcgactatccgcacat
+cattccgtgcatcggtttcaccatgggaattaacggcgaatacgatcaggtggcgtatta
+cggtcgtggaccgggcgaaaactacgccgacagccagcaggctaacatcatcgatatctg
+gcgcagcaccgtcgatgccatgttcgagaactatcccttcccgcagaacaacggtaaccg
+tcagcatgtccgctggacggcactgactaaccgccacggtaacggtctgctggtggttcc
+gcagcgcccaattaacttcagcgcctggcactatacccaggaaaacatccacgctgccca
+gcactgtaacgagctgcagcgcagtgatgacatcaccctgaacctcgatcaccagctgct
+tggcctcggctccaactcctggggcagcgaggtgctggactcctggcgcgtctggttccg
+tgacttcagctacggctttacgttgctgccggtttctggcggagaagctaccgcgcaaag
+cctggcgtcgtatgagttcggcgcagggttcttttccacgaatttgcacagcgagaataa
+gcaatgaggatcatcgataacttagaacagttccgccagatttacgcctctggcaagaag
+tggcaacgctgcgttgaagcgattgaaaatatcgacaacattcagcctggcgtcgcccac
+tccatcggtgactcattgacttaccgcgtggagacagactccgcgaccgatgcgctattt
+accgggcatcgacgctattttgaagtgcattactacctgcaagggcagcaaaaaattgaa
+tatgcgccgaaagagacattacaggtagtggaatattatcgtgatgaaactgaccgtgaa
+tatttaaaaggctgcggagaaaccgttgaggtccacgaagggcaaatcgttatttgcgat
+atccatgaagcgtatcggtttatctgcaataacgcggtcaaaaaagtggttctcaaagtc
+accatcgaagatggttatttccataacaaataacaactacggcggcaaaaggagtttgcc
+gccaccgctaccctactcattttcggagatgtgttatgtctgataccaaacgtaatacaa
+tcggcaaattcggcttgctctcgctgacttttgccgccgtttacagctttaacaacgtta
+tcaataataatattgagcttggactggcctcggcaccgatgtttttcctcgcgacgattt
+tttattttattcccttctgtctgatcatcgcagaatttgtttcgttaaataaaaactcag
+aagccggtgtctacgcgtgggtaaaaagttcgctgggcggacgttgggcatttattactg
+cctatacctactggttcgtaaacctgttctttttcacctcactgttgccgcgcgttattg
+cttatgcttcgtatgccttcctcggatacgaatatattatgacgccggttgccaccacca
+ttatcagtatggtgctgttcgccttctccacctgggtttccaccaacggggcgaaaatgt
+tggggccaattacctccgtcacttcaacgctgatgctgctgttaacgctctcctacattt
+tactggcaggtacggcgctggttggcggcgtacagcctgctgacgccatcaccgttgacg
+cgatgatcccgaacttcaactgggcgttcctcggcgttaccacctggatctttatggccg
+caggtggcgcggagtccgtcgctgtgtacgttaacgacgtcaaaggcggttcgaaatcgt
+tcgttaaagtgatcatcctcgccgggatttttatcggcgtactgtattccgtctcctcgg
+tgctgattaacgtcttcgtcagcagcaaagagttgaaatttaccggcggatcggtgcagg
+tattccacggcatggcggcgtattttggtctaccggaagcgttgatgaatcgctttgtcg
+gtctggtgtcctttaccgcgatgttcggttccctgctgatgtggaccgcaacgccggtga
+aaattttcttctccgaaatcccggaaggcatctttggtaagaaaaccgtcgaactgaacg
+aaaacggcgttccggcgcgcgcagcgtggatccagttcctgatcgtcatcccgctgatga
+ttatcccgatgctcggttccaataccgtgcaggatctgatgaatactattattaatatga
+ccgccgcagcgtccatgcttccgccgttattcatcatgctggcttacctgaatttacgcg
+ccaaattagatcacctgccacgcgatttccgtatgggctcccgccgcaccggtattatcg
+ttgtttcaatgctgattgcgatatttgccgtagggtttgtcgcttcgacattcccgactg
+gcgcgaatattctgaccatcattttttataacgtcggcggtattgttatcttccttggct
+ttgcgtggtggaaatacagtaaatatataaagggattaacggctgaagagcgccatattg
+aagcgacgccagccagcaatgttgattaagcagaataataaaaaatgagcaggcattttc
+cctcttcctggatgaggagagggaaaatagtttctgcctttatatttttataattacaac
+gataaaaggctgtactttttctttagctcatggattaacacaatgaaattaatcactgca
+ccatgcagagcattacttgctctgccgttttgctacgccttttctgcggcaggagaagaa
+gcacgtccggcagaacatgacgacacaaaaacacccgcaattacctcgacatcttctcct
+tcatttcgtttttacggcgaattaggggttggtggatatatggatttagagggtgagaat
+aaacataaatacagcgacggtacctatattgaaggtggcctggagatgaagtacggctcc
+tggttcggcctgatttacggcgaaggctggaccgtgcaggccgaccacgacggcaatgcc
+tgggtgccagaccatagctggggtggtttcgagggcggaattaaccgtttctatggcggt
+tatcgtaccaatgatggcaccgaaatcatgctcagtctgcgtcaggattcctcgctggat
+gacctgcaatggtggggcgatttcacccccgatctgggctacgtcattcccaatacccgc
+gacattatgactgcgctgaaggtacagaacttaagcggcaactttcgttatagcgtcacc
+gcgactcctgccggacatcatgatgaaagcaaagcctggctacattttggcaaatacgat
+cgctatgacgacaaatacacctatccggcaatgatgaacggttacatccagtatgacctt
+gccgaaggcatcacctggatgaacggtctggaaatcaccgacggcacaggacagctctat
+ctcacgggcctgctaactcctaactttgccgctcgcgcctggcaccataccggacgcgcc
+gacgggctggacgtaccgggaagtgaaagtgggatgatggtgagcgccatgtatgaagcg
+ttaaagggcgtttatctctccaccgcttacacctacgccaaacatcgccctgaccacgct
+gacgatgaaaccacctctttcatgcagtttggtatctggtacgaatacggcggcggacgt
+ttcgccacggcttttgatagccgcttctacatgaaaaatgcctctcacgatcccagcgac
+caaatcttcctgatgcaatatttctactggtaataaggactgtaatttcatgaaaataaa
+aactattttaacgccagtaacctgcgctctgctgataagtttttccgcccatgccgctaa
+cgccgacaattataaaaacgtgattaaccgtactggcgcgccgcagtacatgaaggatta
+cgattacgacgatcaccagcgttttaatccgtttttcgatctcggagcctggcatggtca
+tctgttgccagacggccctaacaccatgggcggctttccgggcgttgcgctgctgacgga
+agagtacatcaactttatggccagcaatttcgaccgcctgaccgtctggcaggacggcaa
+gaaagtcgactttacgctggaggcatacagtattcccggtgcgctggtgcaaaaactgac
+agcaaaagatgtgcaagtcgaaatgactctgcgcttcgccacgccgcgcacgtcactact
+ggaaaccaaaatcaccagcaataaaccgctggatctggtgtgggacggcgaactgctgga
+aaaactggaagcgaaagaagggaaaccgctttccgataaaaccattgctggcgaataccc
+tgactatcagcgcaaaatcagcgccacccgtgatggcctgaaagtcacctttggcaaagt
+gcgcgccacctgggatctgctgacctccggcgaatcggaatatcaggtgcataaatccct
+gccggtgcagactgaaatcaacggtaatcgctttaccagtaaggcgcatatcaacggttc
+gaccacgctctacaccacctattcccatctgctgaccgctcaggaagttagcaaagagca
+aatgcagatccgcgatattctggcgcgtccggcgttttatctcaccgcctcgcagcaacg
+ctgggaagaatacctgaagaaagggttaaccaatccggatgcgacgccggaacagacgcg
+cgtcgcggtgaaagcgatcgaaacgctcaacggtaactggcgctcaccgggcggtgcggt
+gaaatttaacaccgttacaccgtcggtgaccgggcgctggttctccggcaatcagacctg
+gccgtgggatacctggaagcaggcgtttgcgatggcgcatttcaatccggacatcgccaa
+agagaatatccgcgcggtcttctcctggcagatccagcctggcgatagcgtgcgtccgca
+ggatgtgggctttgtccccgacctgatagcgtggaaccttagccccgagcgtggtggcga
+tggcggcaactggaacgaacgtaataccaaacccagccttgccgcctggtcggtgatgga
+agtgtataacgtcacccaagataaaacctgggtggcagagatgtacccgaaactggtggc
+ctatcacgactggtggttacgtaaccgcgatcacaacggcaacggcgtgccggaatatgg
+cgcgacccgcgacaaagcccacaacactgagagcggcgagatgctgtttacggtgaaaaa
+aggcgataaagaagagacgcagtctgggctgaacaactacgcccgcgtggtggagaaagg
+ccagtacgacagtctggaaattccggcacaggttgctgcatcgtgggaatcggggcgtga
+tgatgccgccgtctttgggtttatcgacaaagaacagttggataaatatgtcgctaatgg
+cggcaaacgtagcgactggacggtgaaattcgccgaaaaccgcagtcaggacggaacgtt
+gctgggctactcgctattgcaggagtcggtggatcaggccagctatatgtacagcgataa
+ccattatctggcggagatggcaaccatcctcggtaagccagaagaggccaaacgctatcg
+ccagttggcacagcagctcgcggactacatcaacacctgtatgttcgacccgactaccca
+gttctactatgacgtacgtattgaagataaaccactggcgaacggctgcgcgggcaaacc
+gattgttgagcgcggtaaagggccggaaggctggtcgccgctgtttaacggtgcggcaac
+gcaggccaatgccgacgcggtggtgaaggtgatgctcgatcctaaagagttcaacacctt
+tgtcccgctgggaacggcggcgttaaccaatccggcttttggcgctgatatctactggcg
+tgggcgcgtatgggtggatcagttctggtttggtctgaaagggatggagcgttacggtta
+tcgtgatgatgccctgaagctggcggatacgttcttccggcacgccaaagggttaaccgc
+cgatggaccaattcaggaaaattacaacccgctgacaggcgcacagcaaggcgcaccaaa
+tttctcctggagtgccgcgcatttgtatatgttgtataacgattttttccgtaagcaata
+atttgcaactgctggcggatgcggcgtaaacgccttatccgccctacatgtgcaatcctc
+ctggccggataaaacgcggcaagcgttgcatccggcaactgcaccgcgccactggcggat
+gcggcgtgaacgccttatccgccctacatgtgtgttcccgtaggtcggataagacgcgac
+aagcgtcgcatccggcatctgcaccgcgccactggcggatgcggcgtggacgccttatcc
+gccctacatgtgcaattccgtaacctggataaaacgcgacaagcgtcgcatccggcgtta
+tcaccgggcgtattctttttgaatcccatcacaaaccccgcactccccttttcccttttc
+tccggcgacggctaaattagaactcatccgaccacataacaattattttacatactggac
+aattttatgagctacccgtcgctgttcgccccgctggatttaggttttaccacgttaaaa
+aaccgcgtgttgatgggctcaatgcacaccgggctggaggaatacccggacggtgccgag
+cggctggcagcgttttatgccgaacgcgcccgtcacggcgtggcgctgattgtcagcggc
+ggcattgcaccagatttaacaggcgttggcatggaaggtggcgcaatgctcaacgacgcc
+agccagatcccacaccatcgcaccattaccgaagcggtacatcaggaaggcggcaaaata
+gccctgcaaattttgcataccgggcgctacagctaccaaccgcatctggtcgccccgtcc
+gcattgcaggcccccatcaaccgtttcgtgccccatgagttaagccatgaagagatcctg
+caactgatcgacaatttcgcccgctgcgcgcaactggcgcgggaggcaggatacgacggt
+gtagaggtgatgggttccgaagggtatttgatcaacgaatttctgacgctgcgcaccaat
+cagcgtagtgaccagtggggcggcgattaccgcaaccggatgcgatttgccgtagaagta
+gtgcgtgcggtgcgcgaacgcgtcggcaacgacttcattattatctaccgactgtcgatg
+ctcgacctggtcgaagacggcgggacttttgccgaaacggtagagctggcgcaggccatt
+gaagcggcgggcgcgaccattatcaacaccggcattggctggcatgaagcacgtattccg
+accattgccacgcccgtgccgcgcggcgcatttagctgggtcacgcgcaaactgaaaggc
+cacgtctcgctgccgctggtaaccaccaaccggattaacgatccgcaggttgccgacgat
+attctctcgcgcggcgatgccgatatggtatcgatggcgcgaccgtttcttgctgatgcg
+gagctgctgtcaaaagcgcaatcgggacgagccgatgagatcaacacttgtattggctgc
+aatcaggcctgtctcgatcaaatcttcgttggcaaagtcacctcgtgcctggtgaatcct
+cgcgcctgccacgaaaccaaaatgccaatccttcccgccgtgcagaaaaaaaatctggcg
+gtggtcggtgcgggacctgctgggctggcgtttgccattaacgcggcggcgcgtgggcat
+caggtaacattgtttgacgctcatagcgagattggcgggcagtttaatatcgccaaacag
+atccccggcaaagaggagttttacgaaacgctgcgctattaccgccggatgatcgaagtg
+acgggcgtgacgctaaaactcaatcacaccgtgacggcggatcagttacaggctttcgat
+gaaacgatcctcgccagtgggatcgtgccgcgcactccgcccatcgacgggatcgatcat
+ccgaaggtattgagttatctcgatgtactgcgcgacaaagcgccggttggcaacaaagtt
+gccatcatcggttgtggcgggattggttttgatacggcgatgtatttaagtcagccgggc
+gaatccaccagccagaatatcgccgggttctgtaatgaatgggggatcgacagtagccta
+caacaggctggtggcttaagcccgcagggaatgcagatcccccgtagcccacggcagatt
+gtgatgctccagcgcaaagccagcaaaccaggacaggggttaggcaaaaccaccggctgg
+atccatcgcaccaccctgctctcgcggggtgtgaaaatgatcccaggcgtaagttatcag
+aagattgacgatgacgggctgcatgtggtgatcaacggcgaaacgcaggtattagcagtg
+gacaatgtggtgatctgcgcagggcaagagccaaaccgcgcgctggcgcaaccgctgatt
+gatagcgggaaaacggtgcatttaattggcggctgcgatgtggctatggagctggacgca
+cgacgggcaattgcccagggaacacggctggcgctggagatttaaatcgttatttgaagc
+gccggatgcaacgcatccggcacgtcgcgttaatcaataaacaaggcgggagaaatgccg
+aatcgcgttgccaattttttagcgtgttccagcgttaatttcctcttcccgctcaaaacg
+cgtgacaccatagatttactgccaatttccggcagatcggaaagggttaaaccatattga
+tccataagggtacgaatcacggctataccgccaggcatggcttgagccatggcattaaat
+tccgcaaattcgggcgctgattcttcccacgcggttattttggcacacaccagatccagc
+aaggggttttcaggatcgttgagcagcagatgatctaccagttccagcgcctgggtgtat
+tgttcctcgttctgaatacccgccagaaaaggtgccacagcagttagcttttctcctgct
+tgcaagatgtcggcaatcgcaatcattttttccccttagtacgatgaacagcggtaaaga
+aatcgtattctttatgcgtcataacttcacgtatgtagcacttttgcgattcaaaaaaga
+ccattgctacaacacgtaattcattgcccccaacattgaaaacataatgcttatccagat
+atttgaagttatccagagatgggaatactgcttttaatgactcaggttttttgaaatatc
+ccttagcaatcgtgttccccagagccaccaactccgttttatgttgcgggtatttttccg
+cagcatctttcaatgctttttgagttatcaggtgcattcttcatcacgtccgttgacaaa
+ttggcaatatgataacatccgttgccagattggcaacggatgaatttatctgtgtgacgg
+aagaataaacgtagaaaaacgctaaacaagagaatgtagacgatggtgacagggattttt
+tgttttatggaagcgcgattccagaactgggcagacattgccggatgcgacgcttgccgc
+gtcttatccggcctggagtaacgtgctgaacgtaggccggataaggcgtttacgccgcat
+ccggcaggtaactcccaatcttaccgacgacgtcccagcttcaccgctttcagtaccaca
+aatttattattcgtcgcaatagtggtgcagttgccgaaaatcttcttcagtttatggaag
+taatccaggtgacggttggcaacgatatacagctcgccgttgattttcaggcagcggcgg
+gcgtggtggaacatctcccaggcgacgttatcggtcagcgcatgttgttggtgaaacggc
+gggttgcagagcacagcattaaagcggaaaggctccacgccggagagcgcgttgttgatc
+ataaactcgcagcgatccaacgcctctggcatgttggtttcaacgttcaaacggctggaa
+gcaaccgccatcggcgattcatcgacaaacaccactttcgcctgcgggtttttatcaagc
+agcgtcagaccaataacgccattaccgcaaccgagatcgacaatctccccttcgagattc
+tctggcagatgttgcataaagaagcgcgcgccgatatcaagcccggtgcgggagaagaca
+ttcgcatggttgtggatagtccagtcagtaccttccagcttccagctaacggtctgcggc
+gcatcggccagctgcggttcattgaaagtgcaattaatcaggcgcgcttttttccatgcc
+agcgtggtggtggttgggccgagcactttttcgaacagttccagcgtggaagtgtgaatg
+tcacgggccttggcaccggcaataatacgtgtatccgacgtgaccactttgcgcagcgca
+cgcagttgctgttccagcaatgccagtgttttcggcactttgatcagcaccacacccggc
+tgttgcgggtagtcggcggtgctgtcgagaaacttcacgctcgactcatcaatcccgttg
+aggcgtaaattctcgcgcgtcgccagttcactgatgtatgagtcgccaatgctgtacggc
+ttatgttccgccagtgcgcagcttaacgcaccaaaggcatcattcaggatcaacaccggg
+ccgcggatttctgtgtcgtccaactgttgcagcaaatattcatccgccgcttcccacgcc
+tgtagcgggttaacgtcatccgtcgccggaaaacgttgtagtgtcagtgaacggaaaccg
+ttgtctaagtggctcatcggccctcctgaatgataaaatttcgacattgcccctgaaaag
+ggtgcgtgagtataccctttttctctttttcgtgggcggttatgagcaatcttacttatc
+ttcagggttatcccgagcagctactttcccaggtgcgaacactgattaacgaacagcgtc
+tgggcgatgtgctggcaaaacgctatccgggaacacacgactacgccaccgataaagccc
+tctggcaatatactcaggatctgaaaaatcagtttctgcgtaatgccccgccgatcaata
+aagtgatgtatgacaataagatccatgtgctaaaaaacgcgctcgggttacataccgctg
+tttctcgtgtgcagggcggcaagctgaaagcaaaggtggagatccgcgtcgctaccgtgt
+ttcgcaacgcgccggaaccgtttttgcgcatgatcgtggtgcacgagctggcgcacctga
+aggagaaagagcataacaaagcgttttaccagttgtgttgtcatatggaaccccagtacc
+accagcttgagttcgacacccgactgtggctaacgcagttgtcgcttgggcagaacaaaa
+tctgaaaatgatgtcaggcgttatcttttctttctttagcgcctaaaatcgacctccccc
+ctttcgttaaggataacgaccatgctgcgcgcatttgcccgccttcttctccgtatttgt
+ttttctcgccggactctaaagattgcctgcttactgttacttgtggcaggagcgaccatc
+cttatcgccgatcgcgtaatggtcaacgccagcaaacagctgacctggagcgatgtcaac
+gccgttccggcgcgtaacgtgggtttattgctgggggcgaggccgggtaatcgctacttt
+acccgacgtattgataccgcagcagcgttgtaccacgccggaaaagtgaaatggctgctg
+gtaagtggcgataacggacgtaaaaattacgatgaagcatcaggtatgcagcaggctttg
+atcgctaaaggcgtaccagcaaaagtgatcttctgcgactatgccggattctcaacgctg
+gattcggtagtgcgtgccaaaaaggtttttggtgaaaaccatatcaccattatctcgcaa
+gaatttcataatcaacgcgccatctggctggcaaaacagtacggcatcgacgctatcggt
+tttaacgcgccagacctcaatatgaagcacggtttttatactcaactgcgggagaaactc
+gctcgtgtcagcgccgtgattgacgccaaaatcctccatcgccagccgaaatatctcggg
+ccttcggtcatgattgggccgtttagtgagcatggctgtccggcgcagaaataatgcgta
+tctgcgcacgtcgaagatgaaaaaggcgtgctacattgacgacagaatccctttatggag
+tatccacgcgttatgatacgtttcgctgtgattggtacgaactggatcactcgccagttc
+gtcgaggccgcccatgagagcggtaaatacaagttaaccgccgtatattcccgcagcctt
+gaacaggcccagcacttcgccaatgatttttctgtcgagcatctgtttacctcgctggaa
+gcgatggcggaaagcgatgccattgacgcggtgtatattgccagcccgaattccctgcat
+ttttcccagacacaacttttccttagccataaaattaatgtgatttgcgagaaaccgctg
+gcgtcgaatctggcggaagtggatgccgccattgcctgtgcgcgggaaaatcaggtggtg
+ctgtttgaggcatttaaaaccgcctgcctgccgaactttcatttgttgcgccaggcgctg
+ccgaaagtcggcaaactgcggaaagtctttttcaactattgccagtattcctcgcggtat
+caacgttacctggatggtgagaatcccaacacctttaatccggcattctctaacggttca
+attatggatatcggtttttactgtctggcgtcggcggtggcgttatttggtgagccgaaa
+agcgtgcaggcaaccgccagtttgctggcaagcggcgttgacgcccagggcgtggtggtg
+atggattacggtgatttcagcgtcaccttgcagcactcaaaagtcagtgattctgtcctg
+gcgagcgagattcagggcgaagcaggatcgctggtgattgaaaaactgtctgaatgccag
+aaagtgtgcttcgtgccgcgtggcagccaaatgcaggatctcacccagccgcagcatatt
+aataccatgctctacgaagcagagctgttcgctaccctggtggatgagcatctggtggat
+catccagggctggcggtcagtcgcatcaccgccaaactgctgaccgagatccgccgccag
+actggggtgatttttccggcagatagcgtaaaactataattgccaaagtaaaacagtgta
+aaaggtatgtaacagaccattgactggctgaatggtctgtcatactttgttacctgcaaa
+ggggagtaacttcattgccggtcgatcgtcattacgatgtgtgaaaaaacacatccggtc
+accgggcaacccgaaaggaatacgcagacgtattccttttttgttgtaagtgagaccttg
+ccggaaggcgaggtctatgcataaaaagcagcggctgacgtcttccgacgttggccgttt
+ttttatgtgtaaggaacttctatgaatactgtcggcacgccgttgctatggggcggattc
+gctgttgttgtcgccattatgctggctatcgacctgttgttgcaggggcgtcgtggggca
+catgccatgaccatgaaacaggctgcggcctggtcgctggtctgggtgacgctgtcgtta
+ctgtttaacgccgctttctggtggtatctggtgcaaaccgaaggtcgcgccgttgccgat
+ccacaggcactggcctttctcacaggttatctgattgagaaatcgctggcggtcgataac
+gtctttgtctggctgatgttgttcagctatttctctgttccggcggcattacaacgccgc
+gtgctggtgtatggcgtgctcggggcgattgttctgcgtaccatcatgatcttcactggc
+agctggctaatttcgcagttcgactggatcctgtatatcttcggtgccttcctgctgttt
+accggcgtgaagatggcgctcgcccatgaagatgaatcaggcattggcgacaagccgctg
+gtgcgctggctacgcggtcatttgcgcatgaccgacaccatcgacaacgagcatttcttt
+gtgcgtaagaatggattgctgtacgccacaccgctgatgctggtactgattctggtggaa
+ttgagcgacgtgattttcgccgtggatagcattccggctatcttcgccgtgaccactgac
+ccgttcattgtgctgacctcaaacctgtttgcgatcctcggcctgcgtgcgatgtatttc
+ctgctggcgggcgtagcagagcgtttctcgatgctcaaatatggcctggcggtgattctg
+gtgtttatcggtatcaagatgctgattgtcgacttctaccatattccaatcgccgtctcg
+ctgggcgtggtgtttggcattctggtgatgacgtttattatcaacgcctgggtgaattat
+cggcatgataagcagcggggtggataatttttaatctgcctaagccgtgtaccctgtcat
+taacatgagcaccgttttctccctctcccttccagggagagggtcggggtgagggtaatt
+tttcgcaccgatgctggcctgttcccctcaccctaaccctctccccaaacggggcgaggg
+gactgaccgagtccttttttgatgttgtcatcagtctggaagccgcacgttggctttatt
+tttatgtcaaagaaatgtaaccattaagtttcaaaatatgacctctctttaaaatccagc
+atttttcgcttcccgaagctgtaactttccttatactcgaccttgcaaacactttgttac
+atcctgaaagatgcgtcgacagaacgcaccagggatgtgcgacaacacaatgaaaggatc
+gaaaaatgactacgcaacgttcaccggggctattccggcgtctggctcatggcagcctgg
+taaaacaaatcctggtcggccttgttctggggattcttctggcatggatctcaaaacccg
+cggcggaagctgttggtctgttaggtactttgttcgtcggcgcactgaaagccgttgccc
+ccatcctggtgttgatgctggtgatggcatctattgctaaccaccagcacgggcagaaaa
+ccaatatccgccctattttgttcctctatctactgggcaccttctctgctgctctggccg
+cagtagtcttcagctttgccttcccttctaccctgcatttatccagtagcgcgggtgata
+tttcgccgccgtcaggcattgtcgaagtgatgcgcgggctggtaatgagcatggtttcca
+accccatcgacgcgctgctgaaaggtaactacatcgggattctggtgtgggcgatcggcc
+tcggcttcgcactgcgtcacggtaacgagaccaccaaaaacctggttaacgatatgtcga
+atgccgttacctttatggtgaaactggtcattcgcttcgcaccgattggtatttttgggc
+tggtttcttctaccctggcaaccaccggtttctccacactgtggggctacgcgcaactgc
+tggtcgtgctggttggctgtatgttactggtggcgctggtggttaacccattgctggtgt
+ggtggaaaattcgtcgtaacccgttcccgctggtgctgctgtgcctgcgcgaaagcggtg
+tgtatgccttcttcacccgcagctctgcagcgaacattccggtgaatatggcgctgtgtg
+aaaagctgaatctggatcgcgatacctattccgtttctattccgctgggagccaccatca
+atatggcgggcgcagcaatcactattaccgtgttgacgctggctgcggttaatacgctgg
+gtattccggtcgatctgcccacggcgctgctgttgagcgtggtggcttctctgtgtgcct
+gtggcgcatccggcgtggcgggggggtctctgctgctgatcccactggcctgtaatatgt
+tcggtatttcgaacgatatcgccatgcaggtggttgccgtcggctttatcatcggcgtat
+tgcaggactcttgcgaaaccgcgctgaactcttcaactgacgtgctgttcactgcggcag
+cttgccaggcagaagacgatcgtctggcaaatagcgccctgcgtaattaattgtttaacc
+cctttcgtctacggcggaaggggttttctcaactttaaacggatcaattccccttttctg
+catccgccagaaacgaatgatattcaggccattcataagcagaaaactaccctcaatcat
+cgtgccgcctatcgaccccgcccagaagttgtgaatcacccagcaacacgttgaaaacca
+cattacgcagcgcatggtcagccctttacagcagaatagcgcccaggtactgacaatcgt
+gccgataaccggcaatagttcgacaggatgatggaacttcgcgaggccaattccgccagt
+cagcacaataaaaatcgccattacccataagctgcgcgtgcgtaaggtaatcaatgtacg
+aatggcattaaggatggcactggcaccagcgggataggtgcccagaagaaaaaaatgtac
+gccaataacggcgctatagaccgaaagctgctttttgaagcgacgttcgtcacgattgaa
+aaatgttgtgataccaatcagaaaggcgatgacacccacgccctgggccagccaatacgc
+ggtcatgataaatccttagcaggtatggaaaagcaaacggcgcttcacattatgaaacgc
+cgttttttattaacaactcatttcgactttatagcgttacgccgcttttgaagatcgcca
+gttcgcggaagtcgttacgctcgttacaggtttgcttaccgttggcaaactcaacgatgg
+tgtcgataaattcttccagcaactgcggcatcgctttaccgtggatcaactgacccgcgt
+caaagtcgatccagtgttttttcttcgccgccagttcactgttggtggcgattttcaccg
+tcggcacaaatccaccatacggcgtgccacgaccagtactgaacagcaccatatggcagc
+ccgcacccgccagggcgctggtcgctacggcatcgttacccggcgcacttaacaagttca
+gccctggcgttttcagacgctcgccgtaacgcagcacgtcaaccacgacgctggaacccg
+ctttctgggtacagccaagtgatttgtcttccagcgtggtgataccgcccgctttgttcc
+ccggcgatgggttttcatagatcggctgatcatgggcaataaagtactgtttgaagtcgt
+tgaccatggtgaccagtttttcaaacgttgcttcgtcgcggcaatggtccatcagcaact
+gctctgcgccaaacatctccggcacttcggtcagtacggtagtaccgccgttagcaatca
+cgtagtcagagaaacgccccagcatcgggttagcagtaataccagaaagaccgtcagaac
+caccgcactccagaccaaacttcagttcgctgagtttgcctggctcgcgtttatcgttgc
+gcatcacgttatacagctgatgcaaatgctcgattccggcttcgatctcatcatcctgct
+gttggcagatcatgaaatgaacgcgttcaggatcgatatcgcccagcgtttcacggaatg
+cggcaacctggttgttttcacagcccagaccaatcaccagcactgcgcctgcgttcgggt
+ggcgcaccatgttttgcagcatggtgcgggtattaatgtgatcgtcgcccagctgtgagc
+agccgtaggtgtggctgaagaggaacacgccgtcagtaccttcggcgttgttggtctctt
+tcagaaaacggttctggatctgccgcgcgatgccgttgacacagcccacggttggcagga
+tccacagctcattacgcaccccgacatcgccgttagcgcgacgatagatctgcacttcac
+gatctgccgcttgcgcaggcagatcctgaaaatcaggttgatagcgatactgatccagat
+cgctcagattcgtgcgcgtattgtgggcgtgaacgtgaacacctgccgcaatatccgcca
+atgcataaccaatcggcaggccatatttgatgacattggccccttttgcgatatccgtta
+acgcaaatttatgtccacgagcaacatcctggcgcagcgtaacagtctggttatcgacac
+tgacttctgtgccttcagccaaatctgctaaagcgaccgcgacgttatccagcgcatgga
+tcttgatgtattgcatatcaaccccagaccttagttcagttcaatggcgaagtagtcacg
+cgcattgttaaagcaaatatttttcaccatctcgcccagcaggttgatgtccgccggtgc
+ttcgcccgcttccacccagcgaccgatcatctggcacagaatgcggcggaagtattcgtg
+acgggtgtatgacaggaagctacggctgtcagtcagcataccgacaaagcggctcagcag
+accgagctgcgccagttgggtcatctgacgttccataccgtctttctgatcgttaaacca
+ccagccggaaccgaactgcattttgcccggcataccttcgccctggaagttaccgatcat
+ggtgcccagcacttcgttatcgcgcgggttcaggcagtacagaatggttttcggcagcag
+gttttcttcattctgcttgctcagcaacttagacagctcttccgccatcggacggtcgtt
+gatggagtcaaagcctacatccggccccagcagtttgaactgacgcaggttgttattacg
+cagcgcgccaatgtggtactgctgtacccagccgcgacgtgcatattcggcaccaaggaa
+caccagtaccgcagttttgaactgcgccacttcgtgctcgctcagggtttcgccagccag
+acggcgcgccagaatgctgtccagttccgcttcgttcgcttcagcaaacatcaccacatc
+cagcgcgtggtcagacactttacagccgtgagcggcgaagtgatccagacgtttggtcag
+ggcagtttgcaggtcagcaaagcggcgaatgtcggtatcggaaacttcgcccagcttcgc
+catgtagtcgttaaaggtcgcctgttcgatgttgaaggctttgtccggacgccagctcgg
+cagcactttgatggtgaaagagccgtctttggcgatctctgcgtgatgctccagagaatc
+gatcgggtcatcggtggtgccgaccattttcacgttcatctgctgcatgatgccgcgcgc
+ggagaagttatcctgcgccagcagttcgttacattcgttccagatttcatcggcagttga
+cggagaaagcaatttgccagtgataccaaacggacggcgcagttcgaggtgcgtccagtg
+gtataacgggttgccgatagtgtgcggaacagtcgccgcccaggcgtcaaatttttcacg
+gtcagacgcatcaccggtacacagacgctcggccacaccgttggtacgcatagcgcgcca
+tttgtagtgatcgcctttcagccagatgtcatacaggtttttaaaacgatagtcttccgc
+aatctgctgcggcggcaaatggcaatggtaatcgaaaatcggctggtcttttgcgtagtc
+gtgatacagacggcgggcaaattcggtatctaacaggaaatcttcagtcataaacggagt
+cattttcgtcttcctctcaacgagtgagctagcttgcttatggtgcgatgctgacaaagt
+tatcacaccaatttccagagtccgaagatattttcgtgagttagatcaataaacgtagtt
+aaaaaaattactctcaaagtggtaaatctcgctgcaggccgcgccagtactggccttgct
+gtcgtcaggtaatgtccctacaaatattcccacatttgtgatggctctcaccttttaaag
+ttgtatgacaagttatctttctgccgtcgcaaatcataagtcgacggaatgcaaattgcc
+gattcattcatttgttagatgaatcgggttaaccggtacggaagccgaattagcacgaaa
+ctttcatggcaacgttcggggcgtgccggttttttttcggttacccggtcgtaactaaca
+tcttcagcctctggcgggatgatggccgcgcttcctgcggatataacaaaacgatgaggt
+tttacatgcgtaaaattaaagggttacgttggtatatgatcgcactggtgacgctcggca
+ccgtgcttggttacctgacgcgtaacactgtggcggcagctgcgccaactctgatggaag
+agttaaacatctccacccaacagtattcctatatcatcgcagcctattctgctgcttata
+cggtcatgcaaccggtagcaggttatgtactggatgtgctgggtacgaaaatcggttatg
+caatgtttgctgtgctgtgggccgtgttctgtggtgcaaccgcgctggcaggtagctggg
+gtggcctggctgttgctcgtggtgcggtcggtgccgcggaagcagcgatgatcccggcgg
+gtctgaaagccagctccgaatggttcccggcgaaagagcgttccatcgcagtaggctact
+ttaacgtaggttcttcgattggtgcgatgattgcgccgccgctggtggtatgggcaatcg
+taatgcacagctggcagatggcatttatcatctccggtgcattgagctttatctgggcga
+tggcatggctgattttctataaacatccgcgcgaccagaagcatctgaccgatgaagaac
+gcgactatattattaatggtcaggaagcccagcaccaggtgagcacggcgaagaaaatgt
+ccgttggtcagatcctgcgtaaccgtcagttctggggtatcgcgctgccgcgtttcctgg
+cagaaccggcctggggtacttttaacgcgtggatcccgctgttcatgtttaaagtttacg
+gctttaacctgaaagagatcgcgatgttcgcctggatgccgatgctgtttgctgacctcg
+gttgtatcctcggtggttacctgccgccgctgttccagcgttggtttggtgtgaacctga
+tcgtttcccgtaagatggtcgtaacgctgggtgcagtgctgatgattggcccgggtatga
+tcggcctgttcaccaacccgtatgtcgcaattatgctgctgtgtatcggtggttttgccc
+accaggcactgtctggcgcgctgattacgctctcttccgatgtgtttggtcgtaacgaag
+tggcaacggcaaacggtttaaccgggatgtccgcatggctggcaagtacgctgtttgcgc
+tggttgtcggtgcactggctgacaccatcggcttcagcccgctgttcgcagttctggcag
+tgttcgacctgttaggtgcgctggttatctggaccgtgttgcagaacaaaccggcgattg
+aggtggcgcaggaaacacataacgatcccgcaccgcaacattaacgtttcgtgtaagttt
+tagtttcccttcaaagccgccttctcaggcggctttttcatcactgcgagtagagctaaa
+ctcgcaaaagtggtataacaaatatagtctgccgtatcatgcctggagcgcatatggaaa
+tcactgaaccacgccgtttgtatcaacaacttgccgctgacctgaaagagcgcatcgaac
+agggcgtctatctggtgggtgataaactgcctgcagaacgctttattgccgatgaaaaga
+acgtcagccgtacggtagttcgtgaagccatcatcatgctggaagttgaaggctatgtcg
+aagtgcgtaaaggttcaggtattcatgtggtttccaaccagccgcgccatcagcaggcgg
+ctgacaataatatggaattcgccaattacggtccgtttgagttgcttcaggctcgccagc
+tcatcgaaagtaatattgccgaattcgcggcaactcaggtaacgaaacaggacatcatga
+aactgatggccattcaggaacaggcgcgcggcgaacaatgcttccgtgattccgagtggg
+atttgcagttccacattcaggtcgctctggcgacgcagaactccgccctggcggctatcg
+tggaaaaaatgtggacccagcgtagtcataacccgtactggaaaaaactgcacgaacaca
+ttgattcccgtaccgtcgataactggtgtgatgaccacgatcaaatcctcaaggcgctga
+ttcgcaaagatcctcatgctgctaagctggcaatgtggcagcatctggaaaacaccaaga
+tcatgttatttaacgaaaccagcgacgacttcgagttcaatgccgaccgctatctattcg
+ccgaaaacccggtggtgcatctcgatacagccaccagcggcagtaaatgaaattcctgtc
+cgacaggcgctgcaatgcgcctgtttgtctcgtcggtaagcgaaaagtataaagtgtcag
+cctgtgtaaatcctctcgccaccctcccctgcattcagcaaaatcagactccacggacat
+gtaattttgataacgaacaacgttgacctttgttacaattagattcaatttgaatttatg
+tttttgaatgctttcttatctcacgatttaacagggaatagttcaggctgtgttgatgta
+tcaaacccgcagaacataccaaaacagcaataacattgcggtagtgcatcttttaaaacc
+agcgtggcgttaaccgattcaccaggaataatgaatggaacttttgacccaattgctgca
+agccctgtgggcgcaggattttgaaaccctggccaatccatcgatgattggcatgttgta
+ttttgtcttgtttgtaattttgttccttgaaaacggcttgcttccggcggcctttttacc
+gggcgacagtttactggtattggtcggcgtgttgattgcgaaaggcgcgatgggctatcc
+gcaaacgattctgctgctgaccgttgccgccagcctcggctgctgggtcagctatattca
+ggggcgatggctgggcaatacccgcaccgtacaaaactggctatctcatttacccgcgca
+ttatcatcaacgcgcacaccatctttttcataaacacggtttatcggcgctgttaattgg
+tcgctttattgcgtttgtcagaacactgctgccgacgattgccgggttatcagggctgaa
+taacgcgcgctttcagtttttcaactggatgagcggtctgctgtgggtattgatcctgac
+aactctgggttacatgctcggcaaaacgccggtatttttaaagtacgaggaccagctgat
+gtcatgcctgatgctgctcccggtggtgctgctggtgtttggcctggcaggttctctggt
+cgtgttatggaaaaagaaatatggaaatcgggggtaagggatgcaaatacctcgcatgtc
+gcttcgccagctagcctggtccggcgctgttttacttctggtcggcacgctgttgctggc
+ctggtccgcggttcgccagcaagagtctacgctggcgattcgtgccgttcatcaaggcac
+aacgatgccagacggtttttcaatctggcatcaccttgacgctcatggcattcctttcaa
+aagtatcacccccaaaaacgacactctgttaattacatttgactccagcgaccagagcgc
+cgccgcaaaagcggtcctcgacagaacattgccccatggctacatcattgcgcagcagga
+caataacagtcaggctatgcagtggctgacccggttacgggataactctcatcgcttcgg
+ataacttcctgttatccgaaacatatcactcactttggtgatttcaccgtaactgtctat
+gattaatgaggcggtggttaacactaccgcttcgttgtctggacaatcgttcctttgtaa
+taggtccgaatcacaatggaaggttcaagaatgaaataccgcatcgctttagctgtttct
+ctctttgctcttagtgccggtagttatgccactaccctgtgtcaggaaaaggagcaaaat
+atccttaaggagatcagctatgccgaaaaacaccaaaaccagaatcgtattgacggtctg
+aataaagccctgagtgaagtccgggccaactgttcagatagccagctgcgtgccgatcat
+cagaagaaaatcgcaaagcagaaagatgaggtggcggaacgccagcaagatttagccgag
+gcgaagcaaaaaggcgatgccgataagattgccaaacgcgaacggaaactggcagaagcg
+caggaagagctgaaaaagctggaagcgcgcgactactaactcacaatagtcactacttac
+tcacctggagaaaactatgtcgaaagaacacactacggaacatctgcgtgctgagttgaa
+atccctttccgatacgctggaagaggtgcttagctcatctggcgagaagtcgaaagaaga
+gttgagtaagattcgtagcaaagcggagcaggcactgaaacagagccgttatcgcctggg
+tgaaaccggtgatgccattgccaaacaaacccgtgtcgcggcggcgcgtgccgatgagta
+tgtgcgcgaaaatccgtggacgggcgtgggcattggcgctgcaatcggtgtagtgctcgg
+cgttctgctgtcgcgtcgttaattatggcggacactcatcacgcacaagggcccggtaaa
+agcgttctgggcatcgggcagcgaattgtttctatcatggttgaaatggtagagacacgt
+ctgcggctggcggtggtggagctggaagaggaaaaagcgaatctctttcaacttttactg
+atgctgggcctgacgatgcttttcgctgcatttggtcttatgagcctgatggtgctaatt
+atttgggcggttgacccgcaatatcgcctgaatgcgatgattgccaccaccgtggtgttg
+ctgctactggcactgattggcggtatctggacgctacgtaaatcgcgtaagtctacgttg
+ctgcgccatacacgccatgagttagcaaacgatcggcagctgctcgaggaggagtcccgt
+gagcagtaaagtcgaacgtgaacgacgtaaggcgcaactgcttagccagatccagcaaca
+acggctggatctttccgccagtcgtcgtgaatggctggagacaacaggcgcttacgatcg
+tcgctggaatatgctgctaagtctgcgctcctgggcgctggttggcagtagcgtgatggc
+gatctggacgattcgccatcctaatatgctggtccgctgggccagacgcggttttggcgt
+atggagcgcctggcgtctggttaaaacgaccctcaagcagcaacagcttcgcggttaact
+tccctctggccggagccattccggccttatccctcaaattttttgaagatttttgacagt
+tttccttgctaacaatcatcattcaccacgtttatgattctctccatcgacagcaacgac
+gctaataccgcgccattgcacaaaaaaacaatcagcagcctgagtggcgcagtggagagt
+atgatgaaaaaattagaagatgttggtgtactggtagcgcgcattttaatgccgattctg
+tttattaccgctggctggggaaaaattactggctacgcgggtacccaacaatatatggaa
+gcaatgggcgtcccgggttttatgctgccactggtgattctgcttgagtttggtggtggt
+ctggcaatcctgttcggtttcctgactcgcaccacagccctgtttactgcgggctttacg
+ctgctgacggcatttttatttcacagcaactttgctgaaggcgtcaactcgctgatgttc
+atgaaaaacctgacaatttctggcggattcctgctgctggcaattaccggtccgggcgcg
+tatagcatcgaccgcctgctgaataaaaagtggtaagcacgcgctatacttaacgataaa
+aaacgaggaggaagctcctcgtttttgctattggaggagagaaaaatgggtcaactgatt
+gacggcgtctggcatgacacctggtacgataccaaatctaccggcggtaaatttcaacgt
+tcagcttccgcatttcgtaactggctcactgccgatggcgctcctggccccactggcaca
+ggcggttttatcgcagagaaagatcgttatcatctctatgtttcactcgcctgcccgtgg
+gcgcaccgcacgctgatcatgcgcaaactcaaaggactggaaccgtttatttccgtttcc
+gtagtgaacccgctgatgctggaaaacggttggacctttgatgacagttttccgggagca
+accggagacacgctctatcaaaatgaatttctgtatcagctttatctccacgccgatcca
+cactacagcggacgagttactgttcccgtgctgtgggacaaaaagaaccacaccatcgtc
+agcaacgaatcagcagaaatcatccgcatgttcaataccgcgtttgatgcgctgggcgcg
+aaagcgggtgattactaccctccagccctgcaaacaaaaattgacgaacttaacggctgg
+atttatgacaccgttaacaacggcgtgtataaagctggttttgccaccagccaggaagct
+tacgacgaggcggtggcgaaagtgtttgaatcgctggcacgactggagcagattttaggc
+cagcatcgttacctgaccggcaaccagctaaccgaagccgatattcgcctgtggactacg
+ctggtgcgttttgatccggtgtatgtgacccacttcaagtgtgataagcaccgcatcagc
+gattacctgaatctgtacggttttctgcgcgatatctaccagatgccggggatcgccgaa
+acagtcaatttcgatcatatccgtaatcattacttccgcagccataagaccatcaaccct
+acggggattatttcaattggtccgtggcaggatctcgatgaaccgcatggacgagatgtt
+cgcttcggttaaaaaaaggcaccttacgaggtgcctctgataattagctaagtgcatgtt
+gttcatgtcggatgtggcatgaacgccttatctgacatacaaaacattgtacattcaata
+gattgcataacccgcgcagaccagataagcgtagcgcatctggcgattttgcgcttgtca
+tcagtcttagcgcgccttcacggcactttattaattccttgaacgaatatttactgccat
+ttcattcacgtctattcttaatttgctgctttaaaaacaagtgattgagcaaaattgagg
+caaaaatggactggtatctgaaagtactaaaaaattatgtcggtttccggggtcgtgcgc
+ggcgcaaagagtactggatgtttattctggtcaacatcatctttacgttcgtgctggggc
+tgctggataaaatgttaggctggcaacgcgctggtggcgaaggcatcctgacgacaatct
+acggtattctggtgtttttaccgtggtgggcggttcagttccgccgcctgcacgacaccg
+accgctcggcgtggtgggcactgctattcttaatcccgtttatcggctggcttattatca
+tcgtctttaactgccaggcgggtacgccaggcgaaaaccgctttggaccagatccaaaac
+tggaaccttaaaacaaatctgctcgccggatgtctgactcatccggcttttatcattatg
+ttgatgaatgaataatttactaatgtttatttaaaatatttcaatgtcgttatataaatt
+acctataaaaaataaccatgtatttatcttaaatatcaaaacctttataacatccgaaaa
+agaaagatacgaatagcatttacacaatacccggaatagactttcgtcacttttaattaa
+agggatgtttttatgcagtggtatttgtccgtattaaaaaattatgttggtttctctggt
+cgcgcacgtcgtaaagagtactggatgtttactctgattaacgccatcgtcggcgctatt
+atcaatgtcattcaattgattttaggtctggagcttccatatctgtctatgctttatttg
+ctggcaaccttccttcccgtccttgcgcttgctatccgtcgcttacacgataccgaccgt
+tcaggtgcctgggccttgctcttttttgttccgtttattggctggctcgtgcttctggtt
+tttttctgcacagaaggtacttctggcagcaatcgttacggaaacgatccgaagtttggt
+tcaaattaatcttagaattggggcgatatttcgcccctttttattaacaataataaatat
+tattttccgttaaaaagtttgggaatttcccgcagacaccaggatttcgcttcccccata
+ctgtcacgacgccaggccataataatatcgatctcgctggtcgattccgggctgacgaca
+cgcaaccgcccttccgcaatatctttttcgaccataggatacggcatcgtcgccacgcca
+agccccgccagtaatgcctgacgtttatcttcaatcgtgctcaccgttaagcgcggctgt
+ttgtccagcagctgtacggtcaacaccgggcgctcacgagcggtatccgccaccgcaatt
+ccacgatatttcacacgcgtcacttcagataacggttccggctcctgatgaatcgggtga
+tcaggcgcggcaacgtagacgttcattaacgtatagagcttgcgcgagttgatctccgac
+gaggaacgaaaatgcatatccggcgcgataacaatatccgcccgcccctgctccagccgt
+tcccacgcccccgccagcacttctgtgatgattgccagttgggtattggcttttgccgcc
+agtttgtcgattaacgggaaaaaggcaggtgtcggtaccagcgcttcggtcacaatggtg
+agatgcgtttcccaaccgcgcgcgagagcttccgcatcagtagtcagtttatctgcggct
+tccagcaaaacgcgccctcgctccaacaacatcctcccgacattggtgaatttggtacga
+tggcccgagcggtcaaacagcaccacatccagctcttcttccagtttttgcatggtgtag
+ctaagtgcggaaggcacgcgtcccagctcatccgccgccgccgcaaaactgccccggcga
+tcgatcgcatccataacccgtagtgcttccagcgttaatgccctttctttggccatttcg
+ttctcattcaggaaatttgaacataccgggcagaatatctggctaacaatgtagcgtcca
+gccccttaccataaaaggaagtaaagagaggtcaagaattatgattactacccgaactgc
+caggcagtgtggacaagcagactacggatggttgcaggcccggtatactttttcctttgg
+acactacttcgacccgaaattgttaggctatgcctccctgcgtgtgcttaaccaggaagt
+gctggccccaggtgccgcctttcagccgcgaacctatcccaaagtcgatattttaaatgt
+gattctggatggagaagcagagtatcgcgatagcgaaggcaatcatgttcaggccagcgc
+cggagaggcgttgctgctctctacccagccgggtgtcagctatagcgaacacaatctcag
+caaagacaaaccgttaacgcgaatgcagctttggctggacgcctgcccgcagcgagagaa
+tccgctgattcaaaagctggcgcttaatatgggcaagcagcaattaatcgcctcgccaga
+gggtgcgatgggaagcctgcaattacgccagcaagtgtggctgcaccatatcgtgctcga
+caaaggcgaaagtgcgaatttccagttgcatgggccacgcgcgtatttgcaatcgattca
+cgggaaatttcatgcgcttacgcatcatgaagagaaagcggcgctgacctgcggtgatgg
+ggcgtttattcgtgacgaggctaacattacgctggttgccgattccccactgcgcgcttt
+gctgatagatttgcctgtctagttgtttttacagggagatgatgatgagtaaaaaattgg
+ccaaaaagcgccagccggtgaagcccgtggtggcgaaagaacctgctcgcaccgccaaaa
+attttggctatgaagagatgttgagcgagctggaagctatcgtcgcggatgctgaaacgc
+gtttagccgaggatgaagctaccgcgtaaagacaggttgccggatgcggcgaaaacgcct
+tatccggcctacaaaatccaacaacattaacgaattaaacaacccgtaggccggacaaga
+tgcgccagcatcgcatccggcacgatccccaaaacctggcgtttatctggccttgctcgc
+cataatctcgataatctgccgatccgtttgctgcatcgaatggcttgctaacgcacacag
+gttggcaatcgactgctcaacatcatgcgccacaatcccttcattgccggtcacggcggt
+atcatccagcgccattaacaccgctttccacgcagccgaagcactggtcgaaaccttcat
+cgcgcagctgttcgacgcaccatcgcaaatcatgccgctgacatcgccgatcatactgct
+gatcgccatcgagatggtttcataacgcccatccaccagccatgccatcccggcggcggc
+ccccattgctgcggtcgttgcggcacacagcgcagacaaacgcggtaactggttatggat
+gtaaattgcgctcaaatgcgaaagcatcagcgcacgcgccagccgttcatcatccgctcc
+gaagtgttctgctaccaccaccacaggcattgttgcggtaatcccctggttacccgagcc
+ggagttactcatagccggaagcgtagcgccgcccatacgcgcatcggatgccgcgctggt
+acgaatcacaatggatgaagagagatctttcgccagcaaaccgcgctcgcactgtttttc
+cagcgtcgcgccaatatgcagcccccacttaccgctcaaaccttcctgcgataacgcaca
+atttagcttcgcggaatcgagaataaagcggatcgccgcaaacgggacttcattgacgaa
+cttcaggatctcagccagcgtcgttctggaaagcaccgtcagcggagactcttgctcgcc
+ctctgccacacacgcctgctgggtaaacaccacaccatcgtgcgtctcgatatgcacaat
+gttggtatgcccgccgacgatggtgacacacgcccacttctcaccgttccagactttggc
+gcgtgagaagaggatttcatcgcaaggttcctggatcttaacggagactttccccgccgc
+cagcagtgctttggcatcggcaattgcctgcgctgttgcgtctttcagcacttccagccc
+ggcgttggcatttccacctaacgcccccagcgccgccgcaatcggcagccccaccattcc
+cgtgccgggaacggtgacgcccagaccgttcttcatcagatttggcgaaacccaggcttc
+tacacgttcaaccggaccttccagttctgccgcagcaaccgccgccgccagcgccagtga
+aatcggttcagtacatcccagcgccggttttacttcctcctgaacggcgaggatgtaacg
+ctgccataacggatttaaagtcgaatcaaacatattaaaaaccttaaaatttcaggtaaa
+tcaagaaaatgccaggaacggagaaacacacagcaacaaaccagtgacgataatcaggta
+cagagacatccctttgtatttgtgcaatgctggtactttgtaaaccagccacgccgggat
+caggcaccctaccatgccgaaaatcgggctacagatagaggtgaagctcaacaccggtgc
+gttcagtacgatggcgctccaggccagcaaaatggcgaaaatcatgatgccgcgctgaac
+gagattttcgttaatcttctcggcaggcatcttgcgacgcaggatgttcattacgatccc
+ttgcgttgcttcgcgaaagcctaaatagacgccaaagaatgcagtcatgacagcaaagat
+attgagaatgacgctgaccactttcacccacgctgcgccgtcaccgctaataaactgtgc
+ggcaatcgccagcgcggaaatattctgctcataggcttttaccgcttcgtcatgtcccat
+cgccagcgtgaacgacacggcgtagaaaaagacggtgacaaacaaaatgccaaacgcgat
+attcattgcccgcaatgctttatgccgcgccacttcaattgatttttcccgcgagcgata
+agagatcaccatcggacttaacgtctggataaacagaatcgacgtcagggtaaacggcag
+cgtaataatggcgtttttcaccagcagccccagcggcggtagcgaaccgacgttatacag
+atgccacattcccaccatcgacacgcccagcgccgcgaccaccagcagcttggtcagcac
+catgccggtcgaaattttgaataacaatttctcgccgcgtgaggagatcgccaccagaat
+gcaaatcagtaccagaccataaaagggactgtctgacagcaacccttccgtcacgccgaa
+ggtatgcaggtaggaagcactatcgttggtgatggcggtggaatagacgaacatccaaat
+caccagcattacgaaatagagcgcacctaacaggatgccccagtttttacctaaataacc
+gctaatgacgctcgggtaatctttacattctggtgattctgccagcgtattaataaacaa
+tcgctgaaacagatacattgccgggtaaccaatcaccgatgagagcaaaaatacccacaa
+tcccatcaaaccgacctgcaccgggagaaaaacaatccccgcgccaatcgccatcccgat
+actcataatcacccagccggtgtcagtactgtcgaatttgatcgcttctcgccactcgct
+ctcactcattccagcacgacccgccggggtcgaagcgtctgcaatgacgcctttattcga
+tgcaatttccataatttctcgctcaatattttgtagggcttattatttttttccgagccg
+catcaaggcgatatgcggtctacgtttttgcaggcgagttattagaataaagaaatgata
+cgcgcgaggtcagagaaaatcttcacaatcaagactttgaaataacggagatggataaga
+attttctactaaattaatcgcaggagaatattcattctctatttgcggcagatcacaaaa
+aaaaggtgcacatttgtgcacccaaggatgaaagctgacagcaatgtcagccgcagacca
+ctttaatggccagtcctccgcgtgatgtttcgcggtatttatcgttcatatctttgccgg
+tttcatacatcgtctcgatcactttatcgagtgaaacacgcggtgccgaggtgcggcgca
+tcgccatccgcgcggcgtttactgctttcacggcattaatggcattacgttcaatgcacg
+ggatttgtacctgtccggcaaccggatcgcaggtcagcccaaggttatgctccatcgcga
+tttccgccgcattgcatacctgcgccggactgccgcccagtagttcagttaaccctgccg
+ccgccattgaacaggccacgccaatctccccctgacagccgacttccgcgccagagatgg
+aggcgttcattttatacagcgcgccaatagcccccgcggccagaaaatagcgggcaattg
+accgctcgtttaccggacgacggaacttatcgtaataagccagtactgccggaataatgc
+cgcacgcaccgttagtcggtgccgttaccacgcgcccgccagctgcgttttcttcactaa
+ccgccagcgcgtacatgttgatccagtcgatgacattcatcggatcgttagagatgttat
+cgctggaaaccagctgacgacgcagcgctacggcacggcgcggcacattgagcggaccag
+gcagcacgccttcagtgttcatcccacgttcaataccgtcatgcatcacttgccagatac
+gggcaaaaccggcgtcaatttccgctttgctgcgcagcgctagctcgttgtgcatcatca
+gaccagatatagacaggccgttgtaatcacacattttcagcagttcacctgctgagtgga
+aatcgtaaggtacggacgtttcgacatcgtgcgacaggccgaagtgttcttcttcgacaa
+taaacccgccgccgacagagtaataggttttacttaatagctcttcctgtcccttccagg
+cagtgatccgcattccgttctcatggcgaggcaacatttcgggatggaagataatgttct
+ttgctacaggaaaatcaacaatatgcgcaccagatgccactggcagccgcccgctgcgcg
+ttactaactctataaatgcagggatctcatcaatgacaacatcctgcggactgtttcctg
+ccagtcccatgatgatggcgacatccgtggcatggcctttgcccgtcagtgacaacgacc
+cgtacagatcgaccacaatatggctcgtcgcggttaataagccgctactttccagccgat
+caataaaactttttccggcattcattggccccacggtatgcgaactggagggaccaatcc
+caattttgaaaatatcgaatgcactaatcatatccacaccctcggattgccgttcagtga
+agtggagcggaacgaccttacgaccgtcccgctcacgaggctttacgcactacgtactgc
+gatggcttcaatttccagcttcacatctttcggcaaacgcgcgacctgcacacagctccg
+ggtcggataggtcgcctgatgctcatcgaagaactgcttatagacttcgttgatggtggc
+aaaatcattcagatcggtgataaacacggtcatcttgatgatatcgcccacgctcagccc
+ggcagcaaccacgatcgctttgacgttttcgaggcttaaacgcgcctgatcttgcacatc
+agccgggatctcaccggtctgtgggcaaaccggtatttgcccggaggtgaagaccatgct
+gcctaaatcaacgccctgaacataagggccgattgcgcctggggcacgttgcgtttcgat
+aatctttttcatacatcctccggcgtcagagcgcctgggtaaaggtacgtgaaataacat
+cctgttgctgttcacgggtcagtgcgttgaagcgcacggcgtagccagagacacggattg
+tcaggttaggatatttttccgggtgctcgatggcatccagcagcatttcccgattcatta
+cgttgacgttgaggtgttgaccgccttcgacatccgcttcgtggtggaaatacccatcca
+gcaggccgacaaggttggttttacgtactggatcttctttgcccagcgccgcaggaacga
+ttgagaaggtgtacgagatcccatctttggcgtaggtgaacggcagtttcgccaccgacg
+tcaatgaggccacggcacctttgcggtcacgaccatgcatcgggttagcgcccggcgcga
+acggtgttccggcgcgacgaccgtccggcgtattaccggttttctggccgtacaccacgt
+tagaagtgatagtcagaatcgactgggtagggacggcgttgcgataggttggcagcgctt
+taattttcttcataaagcgttcaaccaggtcgcaggcaatgctgtctacgcgctcgtcgt
+tgttgccgtactgcggatattcaccgtcgatttcaaagtccaccgccaggccgttttcgt
+cacggattggtttcacgcgggcatatttgatggcagacagggagtccgtcgccaccgaca
+ggcccgcgatgccgcatgccatagtgcgatagacatcacgatcgtgcagcgccatcagcg
+aagcttcgtagctgtacttgtcgtgcatgtagtgaatgatattcagcgcgctgatgtact
+gcaccgccagccagtccatgaagtgatcgaggctgtccatcactttgtcgtaatccagca
+cgtcgtccatcagcggtgctgttttcggcccgacctgaatcttcagcttctcgtccaccc
+cgccgttaattgcgtagagcagcgttttcgccaggttagcgcgtgcaccaaagaactgca
+tttgcttaccaatcaccattgggctgacgcagcaggcaatcgcgtaatcgtcgctgttga
+agtcagtacgcatcagatcgtcattttcatactgcaaggaagaggtgacgatcgacacct
+gcgcggcatattttttgaaggcaatcggtaattcttccgaccaaagaatggtcaggttag
+gttccggtgccggccccatagtgtgcagggtgtgcaaatagcggaaggagtttttggtca
+ccagcgtacgaccgtccagccccatcccgccgatcacttccgtcgcccagattgggtcgc
+cggagaacagcgaatcaaattccggtgtacgcaggaagcgtaccatacggatcttcatga
+tgaagtgatcgatcagttcctgtgcctgctgctcattgagtacgccagctttaaagtcgc
+gctcaatgtagatatcgaggaacgatgccgtgcggcccagcgacatcgcgccgccatttt
+gcgatttcactgccgccagataagcgaagtagagccactgcaccgcttcctgcgcattct
+gcgccgggcgagagatatcaaagccatatttcgccgccatttcctgaatctgcaacagcg
+catgacgatgctctgccagctcctcacgcagacggatggtggcttccagatcctcgcctt
+tttccagacgagactggagatcggcaaattgcagttcgcgttcacgtaccagataactga
+tgccatacagcgctacgcggcgatagtcaccgataatgcgcccacggccatagccatctg
+gtaaaccggtcagcacgccagatttacggcagcgcagcatatccggtgagtaaacatcaa
+atacgccctggttatgggttttacgcagatcggtaaacagatattcaaattcactgtcca
+tttctcggccataggcgtggaatgaacttttaatcatattaatgccaccgaacgggtgta
+gcgcacgtttcaacggcgcatccgtttgcaggccaacaattttttccagcggctggttaa
+tatatcccgcatcatgagcggtaattgtggtggcaatattggtatcgaaatcaaccggcg
+cgtgggttgcattttcgatacggatgccttccattactttttcccacaattccgtggtgg
+caggcgtcgcttcggcgaggaaagattcatcgccttcatacggtgtatagttatgttgaa
+taaaatcgcggacattaatttcgtttttccagtccgtacctttaaagccaagccatgcgt
+cggcgtacagcttatcgctggtatcaatatctaccttcatgaaaaataatctctctacaa
+tacttcaactaaattatgcaaattctgcgggcgcgttaactttgcctaaatgaatggcat
+ccaaagcaatcattttttcttcgttagtcggaataacggcacaaatgacacgcgcatttt
+cactggaaacaattcgctcaccacaggagttagagcgattattcatttctgtatcaatct
+ctaagcctaatacagccaaatgttccatgaccagacgacgaattaagcttgaattctctc
+ctattccgccggtgaatataattccatccaggcgacgtaatgaagctgcgtgtccggcaa
+tatgacgggcaattcggtgaacaaaggttttaattgccagttgcgcgcgttcgtgacctt
+catgccaggctttttccagaacacgtaaatccgaagaaagaccggaaatacctaataatc
+ccgactctttattcactacgcgttccaggtcacccaggctctggttggtttggctggcga
+cccaggacatcgcaccaaagtcgacatcgccactgcgggtacccatcatcaagccttcca
+gcggcgtcattcccattgaggtatcaacactctgaccgttgcgaaccgcgcagattgacg
+cgccattgccaagatgcgccacaaccaggccggagtcatcttccgccagattcagcagcg
+aatgtgcgcgctgggaaacatagcggtgcgacgtgccgtggaaaccataacggcgtacac
+ctaactcttcataatatttccacggcaggccgtataaataagcttccggagccatcgtct
+ggtggaaactggtatcaaataccgccacctgagttacgcccggaaataattgctgcgccg
+attcaataccacttaaattggcgtaattatgcaggggtgccagtggagaaacgcgacgga
+tattatcaatgacttcatcggtaataatggcggactcggtaaaaatactgccgccgtgag
+cgatgcggtggccaattaaggccacactgtcatttaaattccgtttttccagttcaaatg
+caattgccttcaatgcaccttcgtagctgtggtgagccagcggtgctggctctcccccat
+ttacggataagaatgcattttccgagttaataccgtcggcaatacctgacattaatactt
+cacagtcgctggcatcgagcacggaaaacttaatcgaagacgaaccacagttaataacca
+aaacaaccggaaattcattcatctcttttctcatcctgagttacggattaaaacagtttg
+tatacgatgttcaggatggtcagcagaccaatcacggtaacaaacacgttatccagacga
+ccacggtatttcgccagagacggcgctttacggatggcatacatcggcaacaggcacagc
+agggatgcgataatcggtgcgcccatggcttcaatcaggtcaaggatgttcgggttggcg
+taggcaacaacccaggtggagcccatgatgaagatcatgctgatagtgttcagtttaccc
+agcgacactttagttttgtcgcctttataaccaaacttcaggaccaggccattcagacct
+tccagcgttcccagatagtgaccgaagaaagatttgaagatagccacgagtgcgatgatg
+gaagccgcatattccagtgtaatcgcgaacgttgttttggtaccggtcatggacgcaaag
+tggttagccagataagaaagcactggaatattctgcgctttggcttccgccatgttggcc
+ggagacagagtaaacaggcagctaaaggcaaagaacatcaccactgcaaccatcagcatg
+ctggcacgagaaatgatttgggaacatttacgttcggtgaagtcgcgaccgaagtctttc
+tcatactcttcacgcttagaaaccacgaaggaagagacgattggcgagaagttaaaggag
+aaaaccatgatggaaatccccagccagacagtgatcaggataccgtcatgaccggttaac
+gacagcgaaccgaggtcaacctggtcgataactgcagagttccagtaagggatcagcgac
+aaagaaatcagcaccaggctggcgataaacggccataccaggtagctcatcactttaacc
+atcagatccttaccaaaccagatgacgaaagccatcagcagcaacaggaacagcgccaca
+aagccgcgattcagcggtgcaaagccgagctggttttcccagaacgtcataaaggtattg
+gtaatagtaacgccataaatccacagcagtgggcaaatcgcgaagaagtacaggaacgtg
+ataaccacgccgccagttttaccaaaatgctcttccaccgtttccgtaatgttgccggaa
+gggttagagccagaaagacacagacgcgccagcgcccggtggcaataaaacgcgatgggg
+tatgccaataccaacatcagaagaatcgggatcagtccgccaaaacctgcgcggataggg
+aagaacagcaccccggcgccgattgccgtaccaaacaagcctaacgtccatgtggtatct
+gatttacgccaggacgattgttttgtctggctggatacaatgctatctgaagtactcata
+tcctatcctcaacgaattaattaagcgtcaacgaaaccggtgatttgagagacgcgagaa
+agatcgatattgccgccggaaataatactgacggtttttctgttttgaatatattggtct
+aatttaccgcttaataatgcagcacatgccagagcgcctgcgccttcggtgacgacttta
+ttgcgctgaattaaggcaatcatactgtttctgatttcgtcttcgctgaccagcacgatg
+tcatcgactaattcacgaacgatttcgtaagttaaattacccgggcgggagacatcacaa
+ccatccgccagggtgccggtagttcggtgcgtggttatttctccggagtggaaagaagcc
+gccatgccgtgaacgttttcagactgtacgccaataacacgaatggtcgggttaatagat
+ttaattgccaccgcaataccagcaattaaaccgccaccaccaattggcacaatcacgtta
+tcgacatcatagagatcttccataatttccagaccaatcgttccctggccagcaatcact
+ttcggatcatcgtaaggtgggataaaaatacggccttccatttcgacaatttcgctcact
+ttagcgatagtgtcgttgaagttatcaccatgcagaacgacttctgcggagtagtcgcac
+gttgccgctactttggattttggcgcaccttttggcatcaccactttaccgtcgataccc
+agcatcgcgcaggagagggaaaccccttgcgcatggttgcccgcagaacaggccaccacg
+cctttgcgtttttccgcatcggtcagtgaacttaatttattaaatgcgccacgaatttta
+aatgaacccgtacgctgcatattttcaaacttcaggaatatttcacctttgcaacgttca
+ctaaaatagttggagcgaggcatgcctgttttataaattcgcccagccagtcgttgtttc
+gcttcaataatgtcatcaatagcaaccggcagatcgtatgtaatatgcattataaaacct
+cttcgcctgaattaaatatgtaggtaaccgtaaccgacacctgcaagacagacaggtgga
+ttatttatgtttaaataaaaacaaataactaaccaacttctattaattgccttcgtctac
+acccattataagatgaatactctttggctaattccaccaaaaccgatgctgcttttttaa
+tacgataatttttcgaccataccgcggcatattgtgccacaggtaatgtttcttcaaccg
+gaatagtaataaattgattagaaccaaaaggtgacgtcatatcacaaggaattacagtta
+agaaatcagcattgagaacaagattataaattgtcacgactgagtcggttttaacgatgt
+tttcaatactgatgccatttctttgtaacgtagtaagcagttcgctgtagtaccccatat
+tagtttgtggcaacacccactgttcgttcttcaacgactccagcgtggtggtgccggtgc
+atgttcgggacttactggctaccagcacaaactcggactcgaacagcggctcaacatgta
+aatcctgaagcttcatttctgcacttaacgtaccaatcgcaaaatccagtcgaccgtcgc
+ggattgccggtaagaacgaagacagttgcgcttcatacatagaaacctgcgctttcggga
+acacctctttgaacttgttgatcatccctgacataaaagtaaaaccaatcaatgaaggaa
+aaccaaatgagacttccaccaccgcctcagaagacataccgcttatctcattaaccatat
+ttttcatttcacgggtaatggattcggaacgggagagtaacaattgaccggcaggtgtta
+atgttacaccggtatttttccgcaccactaattccacaccaaaataatcttcaatatcgt
+taatgattttactgacggccggttgagttaaccctaattcttttgcagccgagccgatag
+aaccacttctaatgacttcctgaaagactaccaggtgctgcgttttcggaagaagaatag
+tgctcataacgacctacgttaattacctcattgacggcatgaagtgtatcaaaatgaaat
+gaacaggatatgtgcgaccactcacaaattaactttcaatactttccagagtatcgttat
+tacaattaaatacctttaaatatcaacaagttaaagtataaaaatcagcataaaccctga
+tttttgtcaaaaaaaatgacggggataaccatattttatggcgataacatcattcgttat
+gtggttaatacaaaaaaggggctgagaccatatttcaagcaattaccggataattaccag
+gcaaaatttgagttaaatttaatgagcaagttctcaaattttattataaataaaccattt
+tcagtgataaataatgcggcatgtcacattttttcacgctatttgttggagaacaaacat
+ttattttatcaatattttaaaatttcgaatacatgtattgatcatctcgaacaattgatt
+aacgtcaactttttctcttctgacaggacgtcattttgtgaatgcaatcgttttccataa
+attcttctcccctcataggcgacgaatagcattttgtgttgaggatcacaaaacgaataa
+ttgctgatcgccgcgataaggtcagacaaagacaacaagggaaattttcacagagctttt
+gatcggcgtaggccacagaatgttgcttcgtttactgtaacgccgggtaaatgagcgttt
+tttgatagtgcgaaagaaccctgcgaggaaaataagcatctattattgtttgtcatgatg
+acaaggcaggcatcaatgaaaggcttcccaattgcgcatatttttcacccttcaatcccg
+ccaatgcacgcagtggttaacaatcacaatagaaatattgattattggacggtaaaaaga
+aagtttgcagaaattgtctccaccaatgacgttaataaaatttacagtataagtaatgaa
+ctgcggagagtattatctgcaataactgcattgaatttctatcatggcgatgttccttct
+gtcatgatccgaatccaaccggaaaatatgagtccattcattatagatatttctacagga
+gaacatgatgattatatcatacaaacattagatgtaggcacttttgcaccttttggtgaa
+caatgtacttgctcagccgtcaataaaaaagagctggaatgtattaaggagacgatttct
+aagtattgtgcaaaattcacccgaaaagaagccatcttaaccccccttgtgcactttaat
+aaaaccagcattacttcagattgttggcaaattctctttttttcacccgatcattttaat
+aatgatttttattgattatttataaaggataaaataatgttccctgtttcatcaattggt
+aatgatattagtagtgatttagtccgtcgaaaaatgaatgaccttcctgaaagcccaaca
+ggaaataacctcgaagcactagcaccaggtatagaaaaactaaaacagacctctattgaa
+atggtcactttacttaacacgttacaacctggtggaaaatgcattatcactggtgatttt
+caaaaagaattagcgtacttacaaaatgtaattctttataatgtctcgtctcttcgtctg
+gattttttaggttataacgcccaaattattcaacgatcggacaatacttgtgaacttacc
+attaatgaaccgttaaaaaaccaggaaatatccacaggtaatatcaatattaattgccca
+ttaaaagatatttacaatgaaatcaggaggttaaacgtaatttttagttgtgggactgga
+gatatcgttgatctatcctctctggacttacgtaatgtcgatttagattattatgatttc
+acagataaacatatggctaatactattttaaatccttttaaattgaattcaacaaatttt
+actaatgccaacatgtttcaggttaattttgttagttcaacacaaaacgccacaatctcc
+tgggattatttactaaaaataacgcctgttttaataagcattagcgatatgtattctgaa
+gaaaaaatcaagtttgtcgaaagttgtttaaatgagcctggagacattaccgaagaacaa
+ttaaaaattatgagatttgcaattataaaatctataccaagggcaactcttacagataaa
+ttagaaaatgaattaacaaaagaaatatataaaagctcatcgaaaatcatcaattgcttg
+aacagaattaaattaacagagatgaaagaattctcatcagaaaaaatatatgattacatc
+gatataatcattgaagattatgaaaataccaaagaaaatgcttatctggtcgtcccccaa
+attaattatactatggatttaaacatagaagactctagctcagaagagttactttcagat
+aataccctcgagaaagacgaaaattctccggacaatggctttgaggtcggggaatataac
+acatatgaagcatataactcagagaagcaatattttaccagagaggactatacgtatgat
+tacgaccttttaaatgcaatatagacttaataacttcttacaaagtctattattaatacc
+gtagatatttattcatcttaccctgtgcaccaaaagcaaaaactcactgacgcgggtttg
+aaactgatggcaaccgcaaaaatgcctgatgcgctacgcttatcaggcctacgccatctc
+tgcaatatattgaatttgcgtgcttttgtaggcaggataaggcgttcacgccgcatccgg
+catgaataaagcgcactcaacaatctgaaacccgccggaacggtttattacgtacatcag
+gtaaaactgaccgataagccgctttcttttgggtatagtgtcgtggacagtcattcatct
+ttctgcccctccaaaagtaaaaacccgccgaagcgggtttttacgtaaaacaggtgaaac
+tgaccgataagccgctttcttttgggtatagtgtcgtggacagtcattcatctttctgcc
+cctccaaaagcaaaaacccgccgaagcgggtttttacgtaaaccaggtgaaactgaccga
+taagccgctttcttttgggtatagcgtcgtggacagtcattcatctttctgcccctccaa
+aagcaaaaacccgccgaagcgggtttttacgtaaatcaggtgaaactgaccgataagccg
+ggttctgtcgtggacagtcattcatctaggccagcaatcgctcactggctcaagcagcct
+acccgggttcagtacgggccgtaccttatgaacccctatttggccttgctccgggtggag
+tttaccgtgccacggactgttaccagccgcgcggtgcgctcttaccgcaccctttcaccc
+ttacctgatcccgcttgcgcgggccatcggcggtttgctctctgttgcactggtcgtggg
+tttcccccccaggcgttacctggcaccctgccctatggagcccggactttcctcccctcc
+gcccgtctcccccgaagaggacgacgacgaagcggcgactgtctggtcagcttcggcgcg
+cagtatagagggtttgcgcgcccttgtcaccccgcgttgcgcattccaatcgccagtgtc
+gcggcgatattacgtgaagcacggcagatattgtcataagccccgcggaatgcttcgtcc
+aacgtacctatgctggtcaatacgctgaagaccgcatcaatgccatgctgatgtacaacg
+ccaacatcatcggtcaggctacccgcaatgccaatcaccggtttatggtacttcttcgcc
+acgtttgcgacaccaatcggtaccttcccgtgaatactctggctgtcaatacgcccttca
+ccggtgatcaccagcgtacaatcgtgaatatgttcctccagattcagcgccgtagtgacg
+atttcaataccacttttcagttccgcaccaagaaacgccattagcgccgcgcccatacca
+cccgcagctcctgcaccggggacatctttcacatcaacatgcagcgcttttttaatgacc
+tcggcatagtgagagaggttattgtccagctcaacaatcatcgcttcactggctcccttt
+tgtgggccaaagatgcgcgatgcgccgttatcgcccaccagcggattggtgacatcacaa
+gcgacgcgaatgacgcaatcttttaagcgcggatcgaggccggaaatatcaatatcattc
+agagtattaagactaccgccgccaaaaccaatttcattgccgttggcgtcgcataatttc
+gcccccagcgcctgtaccatgcctgcgccgccatcatttgtagcgctgccgccaatgccg
+ataataatgtttgtcgcaccgctctccagcgcctgcaggattaactcgcctgtgccgcgt
+gaagtggtcacgagtggatcgcgtttttccgcaggtaccagctccagcccactggccgcc
+gccatttcaataaacgcggttttgccatcgccggagatcccccaactggcattcactttc
+tcgcccagcggccctgtaacccaggcgtgacgttcagccccctgggtggctgcaatcatc
+gcttccaccgttccttcgccaccgtcggcaaccggaacagaaacgtactgtgcatcagga
+aaaatttcccgaaatcctttttctatcgcctgcgcaacctcgctggcagataaactttct
+ttataagagtctggggcgattacgattttcatacctatgcctgttaccacatgacgccgg
+agggcgtttctcttattcggcctggattccaggcccggattgcaatacgccatccgggca
+cgacgtcattaacgagtaacttcgactttcgccagtttttcgtagtagcacgccagggcg
+ctatgatccgccgttcctaaaccatctgctcgcagtgcctgcatcatctccataaccgca
+gctgtgagcggcagttgtgcgccgacgccgtgagaagtatccagcgcattcgccagatcc
+ttaatatgcagatcaatacggaagcccggcttgaagttgcggtccatcaccatcggcgct
+ttggcatccagcacggtactgcccgccagtccaccgcgaattgcctgataaaccaggtcc
+gggttaacgcccgctttagttgccagcgttaacgcttctgacatcgcggcaatattcagc
+gccacaatgacctgatttgccagtttggtgacgttacctgcaccgatttccccggtatgc
+accacggaacccgccatcgctttcatcaaatcatagtatttgtcgaaaatagccttgtcg
+ccgcccaccatcactgacagcgtaccgtcgatggctttcggttcaccgccgctcaccgga
+gcatccagcatatcaatgcctttcgctttcagcgcttcgctgatttcacggcttgccagc
+ggtgcgatagaactcatatcgatcaataccgtacctggcttcgcgccttcaataatgcca
+ttctcacccagcgccacctctttcacatgaggggagtttggcagcatggttatgatgacg
+tcgcactgttcagcgatcgctttagccgtagacgctgtttctgcacctgcagcaatcacg
+tcagcaatagcttctgggttacggtcagcaaccaccagcgagtaacctgctttcagaagg
+tttttactcattggtttacccataatccccaggccaataaaaccaactttcatagtcata
+tcaatcatctctcttgttgcggtggtggttattttttaaaggtatcagccagtttctgag
+tggcagagcggaagacgccgagatcgctgccgacagccacaaacgtcgcgccccattcca
+gataacgacgcgcatcggcttcgaccggcgcgaggataccgctgggtttgccgtgcgcgc
+tggcacggttaaaaatgtgctgaattgctttttgtacatccgggtgtgatgcattgccga
+gatggcctaatgccgcggccagatcgctggggccgacgaagatgccgtctacgccttcgg
+tagcggcaatggcatcgacgttatctacgccctgctgactttctatctggaccagaatag
+tgatgttcttgttcgactgagcgaaataatccgccacggtgccaaacatattggcgcggt
+gagaaacggagacgccgcgaatgccttccggtgggtaacgggttgatgccaccgccagct
+ctgcttcctcttttgtttctacaaaaggaatcaggaagttatagaaaccgatatccagaa
+gacgcttaataattaccggctcgttggtcggcactcgcactactggcgcgctggcgctgc
+ctttcaaggccattaactgcggaataaacgtggagatatcgtttggcgcatgttcgccat
+ccagcaccagccagtcaaacccagccaaaccaagaacttcagtgctaatcgggttagaga
+gtgctgaccagcaaccaatttgtacctgtttcgcagccagtgcggctttgaatttattcg
+ggaaaacatcgttattcatcgcttatacctttgcttatttctgcaattccatacgtttaa
+tgtcgccaactacgaagaggtagcagaccatcgccatcagcgctgaacatcccacgaaaa
+ccagtgctgcattgaaggagtgcagttcacttaccaggtagccaatcaccagtggagtga
+caatggaggcaacattgccaaagacgttaaagacgccgccgcagaggccaacaatctctt
+tcggcgcggtgtcagaaatcaccggccagcccagcgcaccaaatcctttgccaaagaaag
+ccagcgccatcagcatgaccaccagcgtggtgttgttggtgtagttacataagatgatgg
+tggaagccagcaacattcccagcacaatcggtagcttacgtgccagggtcagggataaac
+cgcgtttgatcagataatccgagaagacacctcccagcacgccgcccgcaaaaccacaca
+gtgctggaatcgaggcgaccagacccactttcagaatcgacatgcctttttcctgcacca
+gataaatcgggaaccaggtgaggaagaaccaggtgatggtgttgataaaatattgtccga
+aaaatacgcccagcatcatgcggttagagagcaattgcttgatgtaatgcagtttgggtc
+cgcttgctgccgcactgcccggctttttgtggtccatatcgaccaccgcgccattttcag
+agataaacttcagctcttccgcagacatacgtgggtgatctgtcgggttatgaatcaact
+tgatccacagcgccgtcagcacaaaaccaatcacccccataacggtaaagacgtgctccc
+agccccaggcgaaagtcagccagccaagcagcggcgaaaagagcgccagcgagaaatatt
+gcgccgagttaaagatggcggaggcagtaccacgttctttcgtcgggaaccaggcggcga
+caattcgggcgttcgccgggaatgatggcgcttccgagaagccgagcataaagcgcataa
+agaacatggagatccctgcccaggccagcgggaacatatcaacaaagccttgcaggaagg
+tgaatagcgaccagaaaaagaggctgtaggtgtaaacttttttcgagccaaacttatcaa
+gcagccagccgccggggatttgcatcagcaagtaggcccagccaaaagcggagaagatgt
+aacccatcgaaaccgcacttaactgcaactcttttgccacttcggtaccagcaatagaca
+gcgttgcacgatcggcgtagttaacggcggtaacaataaaaataatcagtaatattaaat
+agcgggtatgcacgcctttctttttttcgtcaacggtgtccagaatcattttatttacct
+cgggtacttatgctgatttttattattatggggaaggtgttatttatgagtttcatttat
+gccgtaacgacaatgaactcgggaattagtataagcagcgcgagaataataatcattgtg
+caaatgctaatttaattaatactatttaaatattattttgagcatatgcacataaggttg
+cgcgctaaagcacagatttgcgctttaccttaccgggcggcactgcaatccctgaaatga
+ttgacattgatcacatttctgcgtttaaactcctgacattcttatttcacccaatgaagt
+catttatttttaaatgagaccaggtcctcattttaataacccctggctggagaatattgc
+acaatggccaacatcgaaatcagacaagaaacgccaactgcgttttatataaaagttcac
+gacacagataatgtggcaattattgttaatgataatggcctgaaagcaggaacgcgtttt
+ccggatgggctggaattaattgaacatattccccaggggcataaagtcgcattgctggac
+attccggctaatggtgaaattattcgttatggcgaagtgattggttacgccgtgcgtgca
+atcccacgcggaagctggatcgacgaatcaatggttgtactaccggaagcgccgccgtta
+cacacgctgccactggcaaccaaagtcccggaacccttaccgccgctggaaggatacacc
+tttgagggctatcgcaatgccgatggcagcgtgggcaccaaaaacctgctcggtatcacc
+accagcgtccactgtgtggcaggcgtggtggactatgtagtaaaaatcattgaacgcgat
+ctgctaccgaaatacccgaacgtcgatggcgtggtggggctgaatcatttgtacggttgt
+ggcgtggcgattaacgcaccggcggcagttgtacctatccgtaccattcacaatatttcg
+ctgaatcctaactttggcggcgaagtaatggtgattggcctgggttgtgaaaagttgcag
+cctgagcgcctgctgactggaacggatgatgtgcaagctattccagtagaaagcgccagc
+attgtcagtttgcaggatgaaaagcatgtcggttttcagtccatggtcgaggatattttg
+cagatcgccgaacgccatctacaaaaactgaatcaacggcagcgagaaacctgcccggct
+tcagaactggtcgttggtatgcagtgcggtggcagcgatgcgttttctggtgtaacggca
+aacccggcggttggctatgcgtctgatctactggtgcgctgcggcgcaacggtgatgttt
+tcagaagtaacggaagtgcgtgacgcgatccatctgctgacaccacgcgcagtgaacgaa
+gaggtcggcaaacggctgctggaggagatggagtggtacgataactatctcaatatggga
+aaaaccgaccgcagcgccaacccttcgccgggcaacaagaaaggcggtctggcaaacgtg
+gtagagaaggcactcggctccattgctaaatcgggtaaaagcgcaattgttgaagtgctg
+tcgcccggtcaacgcccgactaaacgcggattaatttacgccgcgacgccagccagcgat
+tttgtctgtggcacgcaacaggtggcttcgggtatcacagtgcaagtgtttacgaccggt
+cgtggtacgccgtacggcctgatggcggtacccgtcattaaaatggcaacccgcaccgag
+ctggcgaaccgctggtttgatttaatggatattaatgcgggcaccatcgctaccggcgaa
+gaaactattgaagaggtgggctggaagttgttccactttattctcgacgtcgccagcggg
+aagaagaaaaccttctcggatcaatgggggctgcataaccagctggcggtgtttaacccg
+gcaccggtgacctgatttcttttggaacgtccctcgcaaaacatggccttagtgccatgt
+ttttattgtttaaagcccccacgtccattaataatgcatttgcattaccttagttcaagc
+ttataatttgagcagaaaacaggctgtaaaaggacagtgaatcatgcccgctaatgctcg
+ctctcacgctgtactgaccactgaatcaaaggtcacgatacgcggacaaacaactatccc
+cgcgccagtgcgtgaggccttaaaactgaagccaggccaggacagcattcattacgaaat
+tctgcctggtgggcaagtatttatgtgccgactgggagatgaacaggaggatcatactat
+gaatgcatttttgcgttttctggatgcagatatccagaacaacccgcaaaaaactcgtcc
+attcaacattcaacaaggaaagaaacttgtcgctggcatggacgtcaacattgatgatga
+gattggcgacgacgaataatggattttccacaaagggttaatggttgggcgctatatgct
+catccctgttttcaggaaacctacgacgctttagttgccgaagtcgagacattaaaggga
+aaagatcctgaaaattatcagagaaaagccgccacaaagttattggcggtagtccataaa
+gtgattgaggagcatatcacggtcaatccatcatcaccggcattccgtcatggcaagtcg
+ttaggctctgggaaaaataaagactggtcacgggtaaaatttggtgctggtcgttatcgt
+ctcttctttcgttatagtgaaaaagagaaagtcatcattctgggatggatgaacgatgaa
+aacactctgcgcacctacggtaaaaaaacagatgcctataccgtattcagcaaaatgtta
+aaaagaggacatcctcctgccgactgggaaaccctcacccgagaaacagaagaaacccat
+tgatggtgttcacaatgcccgccgaacgcattcgtgttgaccagcgggcatcctttctca
+ctccccgaccagaatcacttcaaccccagcctttcgcagtccttccaggctatccgcagg
+aatgccttcatcaacaatgatcatgtcgatacgttgagtatcaatgatcttatgtaaact
+ggaacgattgaacttactggaatcggtgaccacgatgatccgttccgcaacttcgcacat
+ccgacggtttaaacgagcttcatcttcattatgtgtgctgacgccgcgctccagatcgat
+cgcatctacaccaagaaacagcatatcgaagtggtaattttgcagcgattgctcagcctg
+atcgccgtaaaaagattgcgactgacggcgcaaatgcccgccggtcatcagcagctcaac
+gccttccgcttccagcaacgcattagccacgttcataccgttggtcatcgcaattacgtc
+agtgtgcttgcgcatcagacgagcaatctcaaaagtggtggtcccggaatcgaggataac
+ccgatgacctggctgaatcaactcaacggcagctttcgcaacgctgcgtttcatcgcggt
+gttcagtgcgcttttatcttccactgatggctcgactgacggcgtcgtgctatcgcagat
+caacgcgccaccataggcacgcacagcgatcccctgcttttccagaaacgccagatcgtt
+gcggatcgtcacagtagatacgccatacaatgccgacagatcgttaacctgcacactccc
+ttgctgtcgcagacgctgaatgatctgttctcgtcgctcgctggtgccagtcactcgctt
+ctcacctgaagcgtcggtattactcatagtaagtcctttcgtaaaactttcgtttcattt
+cgttttgcctattaacgcctttctattaagcaaatgcaagcccaccttgcccattgacgc
+aagctactctcgtttcagtgactttcattatgtttcttttgtgaatcagatcagaaaacc
+attatctttcgttttatttttatctcaccatgacgcagtatcaactgaaacaaaacgaaa
+gattaatatcgcagtaatctgaactggagaggaaagtgaaacatctgacagaaatggtga
+gacagcacaaagcgggcaaaacaaatggaatttatgccgtttgttccgcacatccgctgg
+tgctggaagctgcaatccgctacgccagtgcaaaccaaacgccgttactgattgaagcaa
+cctccaatcaggtagaccagttcggcggttataccggaatgacgcccgccgattttcgcg
+gctttgtttgtcagctcgccgactcgttgaatttcccgcaggatgcgttgattctgggtg
+gtgaccatctggggccaaaccgctggcaaaacctgccggccgctcaggcaatggccaatg
+ccgatgatttgattaaaagctacgttgcggcaggattcaaaaaaatccaccttgattgca
+gcatgtcctgtcaggacgatccgattcccttaactgatgacatcgtggctgaacgcgccg
+cccgtctggcgaaagtggcggaagaaacctgtcttgaacactttggcgaagccgatctgg
+agtatgtcattggtaccgaagtgccggtacctggcggcgcgcatgaaaccttaagcgagc
+tggcggtcaccacgccggatgccgcccgcgccacgctggaagcccatcgtcacgcctttg
+aaaagcaaggtttgaatgccatctggccacgcatcattgccctggtggttcaacccggcg
+tcgaattcgatcacaccaacgttattgattatcagcccgccaaagcgagcgccttaagcc
+agatggtcgaaaactacgaaacgctgattttcgaagcgcactctaccgattatcaaacgc
+cgcaatcgctgcgccagctggtgattgaccactttgccattctgaaagttggcccagcgc
+tgaccttcgccctgcgtgaagctctgttctctctggcggcgattgaagaagaactggtgc
+cagcgaaagcctgttctggtctgcgtcaggtgctggaagacgtgatgctcgaccgcccgg
+aatactggcaaagccactaccacggtgacggcaacgcgcgtcgtctggcgcgtggttata
+gctactcggatcgcgtgcgctattactggccggacagccagattgatgacgctttcgctc
+atctggtacgtaatctggcggattcaccaattccgctgccgctgatcagccagtatctgc
+cgctgcagtacgtgaaagttcgctccggcgagctgcagccaacgccacgggaactcatta
+tcaaccatattcaggacatcctggcgcagtaccacacagcctgtgaaggccaataagcaa
+aacaaagaggaacacgctatgccaaatattgttttaagccggattgatgaacgcttgatt
+cacggtcaggtcggcgttcaatgggtcggatttgcgggggcaaatctggtgctggtagcc
+aacgatgaggttgccgaagatccggtacaacaaaacctgatggaaatggtactggcagaa
+gggatcgccgtacgtttctggacgctgcaaaaagttatcgacaacattcatcgcgccgcc
+gatcgacagaaaatcctgctggtttgtaaaacacccgccgatttcctgacgctggtgaaa
+ggtggcgttccggtgaatcgcattaacgttggcaatatgcactacgccaatggcaaacaa
+caaatcgccaaaacggtttctgtggatgcgggcgatatcgcagcatttaacgacctgaaa
+accgctggggtggaatgcttcgttcagggcgtcccgacagagcctgctgtggacctcttt
+aaattactttgagggattcatcatggaaatcagcctgttgcaggcatttgcgttgggcat
+tatcgcctttatcgctggcctggatatgtttaacggcctaacccatatgcaccgcccggt
+ggtcctcggcccgttggtcgggctggtacttggcgatctgcataccggaattttaaccgg
+cggtacgctggaactggtgtggatggggctggccccgctggcgggcgcacagccgcctaa
+cgtgattatcggtactatcgtcggcacggcgtttgccattactactggcgtgaaacccga
+tgtcgcagtaggtgtcgccgtacctttcgctgtcgcagtacagatggggattaccttcct
+gttctcggtgatgtccggcgtgatgtctcgctgcgacctggcaacaaacccgcgccgcat
+ttgatgctggtgccgacggcctggtgcattgctataacgggatgacaggtttacatcacc
+gcgaaccgggaatggttggcgcgggattaacggacaagcgcgcctggctggaactgatag
+ccgatggtcatcatgtgcatccggcggcaatgtcgctgtgttgttgctgtgcgaaagaga
+gaatcgtactgatcaccgacgcgatgcaggcagctgggatgccggatggtcgctatacgt
+tatgtggtgaagaagtgcagatgcacggtggcgttgtccgtaccgcgtctggtgggctgg
+cgggcagtacgctgtctgttgatgcggcagtgcgcaatatggtcgagttgacgggcgtaa
+cgcctgcggaagccatccatatggcgtcgctgcatccggcgcgaatgctgggtgttgatg
+gtgttctgggatcgcttaaaccgggcaaacgcgccagcgtcgttgcgctggatagcgggc
+tacatgtgcaacaaatctggattcagggtcaattagcttcgttttgatagtttgctcctt
+tattgggccttcacttcccccgtaaggcctttctttttctttcgttttgatctgtgcagc
+ggtgtcggatgcgacgctaacgcgtcttatccgacctacagttggtgaccgcaaggccgg
+ataaagcgtttgcgccgcatccagcaatcccttttgcttcctttatcttttctttcaacg
+atcacaaatttcgttttatttcttttttctccattgaactttcagtttcttttctataga
+ttttaatcaacgaaagacatcaccaagtgaaatgaaacgaaaggcaagtgaaagcgacaa
+cgcccgacgtcaagttcatcagactaaggattgagttatgccagaaaattacacccctgc
+tgccgccgcaaccggtacatggactgaagaagagatccgccatcagcctcgcgcatggat
+ccgttcactcaccaacatcgacgcgctacgttccgcgctcaataacttccttgaaccgtt
+actgcgcaaagagaatctgcggatcatcctgaccggagccggaacgtcggcatttatcgg
+tgacatcatcgcgccgtggctcgccagccataccggtaaaaacttcagcgccgtaccgac
+caccgatctggtcaccaatccgatggactacctgaacccagctcatccgctgctgttgat
+ctccttcggtcgatccggcaacagcccggaaagcgtcgcagccgtggaactggcaaatca
+atttgtaccggaatgctatcacctgccgatcacctgcaacgaagcgggcgctctttacca
+aaacgcgatcaacagcgataacgcgtttgccctgctgatgcccgcagaaacgcacgatcg
+cggctttgcgatgaccagcagcattaccaccatgatggccagctgcctcgcggttttcgc
+acctgagacgatcaacagccaaaccttccgcgacgtggcggatcgttgccaggcgatcct
+gacctcactgggcgatttcagcgaaggtgtgtttggttacgcaccgtggaaacggatcgt
+ttatctcggtagcggtggcttacagggcgcagcacgcgagtcggcgctgaaagtgctgga
+actgacggcgggtaaactggcggccttttatgattctccaaccggattccgtcatggacc
+aaaatcgctggtcgatgacgaaacgctggtggtggtatttgtctccagccacccttacac
+ccgtcagtatgatcttgatctgctggctgaacttcgccgtgacaaccaggcaatgcgtgt
+aatcgccatcgccgcggaaagcagcgacatcgtcgctgccggtccacatatcatcctgcc
+accgtcacgtcactttatcgacgttgagcaggcattttgcttcctgatgtacgcccagac
+gtttgcactgatgcagtcgctgcacatgggcaatacgccggataccccatcagccagtgg
+caccgttaaccgcgtggtgcaaggcgtaatcattcatccgtggcaggcataagaggatcg
+cattatgagcattatctccactaaatatctgttacaggacgcccaggccaatggctacgc
+ggtgcctgcttttaacattcataacgccgagacgatccaagcgatcctcgaagtgtgcag
+tgaaatgcgatcgccggtgatcctcgccggaacgccggggacctttaaacacatcgcgct
+ggaagagatctacgccctgtgtagcgcctattccacaacctacaacatgccactggcgct
+gcatctcgaccaccacgaatcgctggatgatattcgccgtaaagtccacgcaggtgtgcg
+cagtgcgatgatcgacggcagccacttcccgtttgccgagaacgtgaagctggtgaaatc
+ggttgttgacttctgccactcacaagattgcagcgtggaagcagaactgggccgcctggg
+cggtgttgaagatgacatgagcgttgacgccgaaagtgcattcctgaccgatccacaaga
+agctaaacgctttgtcgaactgactggcgtcgacagcctggcggtagcgattggtacggc
+gcacggcttatacagcaaaacgccgaagattgatttccagcggctggcggaaattcgtga
+agtggtggatgttcctctggtgctgcatggtgccagcgatgttccggatgaatttgtccg
+tcgcactattgaacttggcgtcacaaaagtgaacgttgccacagaattaaaaatagcctt
+cgctggcgcggttaaagcctggtttgcggaaaatccgcagggtaatgatcctcgttatta
+tatgcgcgtcggaatggatgcgatgaaagaagttgtcagaaataaaattaatgtctgtgg
+ttcagcgaatcgaatttcagcataatcattagttttttatgatttatcccaatgtacttc
+ccgattaatatcggggagtgccttaatggaaaaggagataactaaaccttaataaataca
+tcactacaatatcgcaacaataatatatttaaaaaaattatattattcaactttatggtg
+aggattacacaatgaccagtccaaatattctcttaacccgtattgataaccgtctggttc
+acggtcaggttggcgtgacctggacatccaccatcggtgcaaatctgctggtagtcgtgg
+atgatgttgtcgctaacgatgatattcaacagaaattaatgggtattaccgcggaaacct
+acggctttggcattcgtttctttactatcgaaaaaaccattaacgtcatcggcaaagctg
+caccacatcagaagatcttcctgatttgccgtacgccacaaacggtacgtaaattggtag
+aaggtggtattgacctgaaagatgtcaacgtcggcaatatgcatttctcggaagggaaaa
+agcaaatcagcagtaaagtttatgtcgatgaccaggatctcacggacttacgttttatta
+aacaacgtggcgtgaatgttttcattcaggacgtccctggcgatcaaaaagaacaaatcc
+ctgactaaatctaaaatcgccttaatattggtttgaggtaataaaaatgcatgaaataac
+cctacttcagggattatccctggcggcgttagtttttgttctggggattgatttttggct
+ggaagccttatttttattccgcccgataatcgtttgtaccctaactggcgctattctcgg
+tgatattcagactggcttaattaccggtggtctgacagagttggctttcgccggattaac
+ccctgcaggtggtgttcagccgcccaacccgattatggcgggtctgatgaccaccgtcat
+tgcatggtctacgggcgttgatgccaaaacagcaattggtcttggcctgccgtttagttt
+gttaatgcagtacgtcattctgttcttctattccgctttctcattatttatgaccaaagc
+cgataaatgcgcgaaagaggcggatacggcagcgttttcccggcttaactggacaacgat
+gctcatcgtcgcttcagcgtatgcggtgattgctttcctctgtacttacctggcacaggg
+ggcgatgcaggcgctggtgaaagcgatgcccgcctggctgacccacggctttgaagtggc
+tggcggtattctgcctgccgttggttttggcttgctgctgcgcgtaatgttcaaagcgca
+atatatcccttacctgatcgccggtttcctgtttgtttgctacatccaggtcagcaacct
+gttgccggttgccgtactgggcgcaggctttgcggtgtatgagtttttcaatgcgaaatc
+ccggcagcaagcgcaaccgcagcccgttgccagtaaaaatgaagaagaggactacagcaa
+tgggatctgaaatcagtaaaaaagatatcacccgtctgggctttcgttcgtcgctgctgc
+aagcgagctttaactacgaaaggatgcaggcgggcggttttacctgggcgatgttgccga
+tcctgaaaaagatttataaggacgacaaaccgggcttaagcgcggcgatgaaagataacc
+tcgaatttattaatacccacccgaatctggtcggattcctgatggggttattaatttcga
+tggaagaaaaaggagaaaaccgcgacaccattaaaggcctcaaagtggcactgtttggcc
+caatcgccgggattggcgatgcgattttctggtttactttgttgccgattatggcgggaa
+tttgctcatcatttgccagccagggaaacctgctggggccgattctatttttcgccgttt
+acctgcttatctttttcctgcgcgtcggctggacccacgtcggttattcagtcggcgtga
+aggcgatcgataaagtgcgagagaactcgcagatgattgcccgttcggcaaccatcctcg
+ggatcacggtaatcggcgggctgatcgcttcgtatgtgcatattaacgtggtgacatcgt
+ttgccatcgacaatacccacagcgttgcgctgcagcaggatttcttcgataaagtcttcc
+cgaacattttaccgatggcctacaccctgctgatgtattacttcctgcgggtgaaaaaag
+cgcatccggtgctgttaatcggcgtgacttttgtgctctctattgtttgttccgcattcg
+gcattttgtaaatggaacgaggcactgcgtctggtggtgcctctttacttaaggaatttc
+atcctgtgcaaacccttcagcaagttgaaaactatacggcgttaagtgaacgtgccagcg
+aatatttattggccgtgatccgtagcaaaccgaatgccgtgatttgcctggcgaccggag
+ccacgccattactgacgtatcattatctggtagaaaaaatccaccagcagcaggttgatg
+tcagccagctcaccttcgtgaagctcgacgaatgggtggatctgccattaacgatgccag
+gcacctgcgaaactttcctgcaacagcatatcgtgcagccgctggggctacgtgaagacc
+agctcatcagctttcgctccgaagagataaatgagacagagtgcgaacgggtaacgaacc
+tgattgcgcgcaaaggcggtctggatttatgcgttctcggattggggaaaaacggtcatc
+ttgggctgaacgaaccgggagaaagcctgcaaccggcctgccatatcagtcaacttgatg
+ccagaacacagcaacatgagatgttaaaaaccgcgggtcgccccgtgactcgtgggatca
+ccttaggcctgaaggatattctcaatgcccgcgaagttttgttactggtgactggcgaag
+gaaagcaggatgcgacagatcgttttctcacggctaaagtctctaccgctatcccggctt
+catttttatggctgcacagtaactttatttgtttaattaacacctaaccagatgaaaaat
+ttgctcaaaatgtttaaattaacttatgtaacagtcacgcattatattaaataacatttg
+actgggttgaacataacgccgatagcaaaaggagttatgttcaacaatttaattttagat
+atacatataacttgttctattaataaatcacctcgtattctgactcgccccctggcgcag
+caaagtcaggcatttatactcttttgaatacatagaaaattgatatcaatataatgaaaa
+tatcaaatatttgcatataaatataatcttaaagttcagtctatttaatgttcaatgaaa
+tatttctgcctgtataatctttaaagatgttgaacatatattcacattaaatatgattat
+gtacttgttacaaggataaggttatatatgaataaagttacaaaaacagctattgcgggc
+ttacttgcgcttttcgcaggtaatgccgctgcaaccgatggtgaaatagtttttgatggc
+gagattttaaaatccgcttgtgaaatcaatgactctgataagaaaattgaagttgctctt
+ggtcactataatgccgaacagtttcgtaatattggcgagcgtagcccaaaaattccattc
+actattcctttagttaactgcccaatgactgggtgggagcacgataacggcaacgttgaa
+gcgtctttccgtctatggctggaaacgcgagataatggcaccgtccctaacttccctaat
+ctggcaaaagtaggctcttttgctggcatagcggcaacaggtgtgggtatccgtattgac
+gatgcggaaagcggaaacattatgccactgaatgctatgggcaatgataacacggtttat
+cagatcccggcggaatccaatggtattgtcaatgttgacctcatcgcttactacgtatca
+accgtagttccatcagaaatcaccccaggggaagcagacgctatcgttaacgtaacgctg
+gattaccgttaatacgttagggcgttatctgacctgtcagataacgcccttttccttcct
+ctttctcgttgtatcaggttgaaaaataactatgtcaaaacgaacattcgcggtgatatt
+aaccttgttgtgtagcttctgtattggccaggcgcttgcaggaggaatcgttttacagcg
+aacgcgagtgatctatgatgccagccgcaaagaggctgcgttacctgtcgcaaacaaagg
+cgcagaaacgccttatttactgcaatcatgggtagataatatagatggtaaaagccgtgc
+cccatttattataaccccaccgctatttcgtcttgaggctggcgatgactcatcactgcg
+aattattaaaacagctgataacctgcctgaaaataaagagtcgctgttctacattaatgt
+tcgtgccattccagcaaagaaaaaatcagatgatgttaatgctaacgagttgacgctggt
+atttaaaacacggatcaaaatgttttatcgccccgcacacctgaagggacgggtaaacga
+tgcgtggaaatcactggaatttaaacgtagtgaccattcactcaatatatataacccaac
+tgaatattacgtcgtatttgccggactggcagtcgataaaaccgatctcacaagcaaaat
+tgaatatatcgcgcccggagaacataaacagttaccacttcctgcatctggcggaaagaa
+cgtgaaatgggctgcgatcaatgattatggcggcagttccgggacagaaactcgtccact
+gcaataaaaaatataaaaacacaggtcatcagggaatgccacaacgacaccaccagggac
+ataaacgcacaccgaaacagttggcgctcatcatcaaacgttgtttgccgatggtgctca
+ctggcagcggcatgctttgcactaccgctaacgccgaagagtattatttcgaccccatta
+tgctggaaaccacaaaaagtggtatgcaaacaaccgatctgtcgcgtttttcaaaaaaat
+atgcacaactaccaggaacttatcaggttgatatctggctgaataaaaagaaggtttcac
+agaaaaaaattacatttaccgccaatgcagagcaacttctgcagccacagtttacggtag
+aacaactacgtgagctgggtattaaggtggatgaaatcccggcgctggctgaaaaagatg
+acgatagcgtgatcaactcgcttgaacaaatcattcccggtacagctgctgaatttgatt
+tcaatcatcagcaacttaatttgagcattccccaaattgcactgtaccgtgatgcaagag
+gttacgtctccccttctcgttgggacgatggtataccaacgctgtttaccaactactcgt
+ttacaggttctgataaccgttaccgccagggcaatcgtagccaacgacagtacctgaata
+tgcaaaatggtgctaattttggcccctggcgattacgcaactattccacatggacacgca
+acgatcagacatcaagctggaataccatcagtagttatttacaacgtgatatcaaggcgt
+tgaagtctcagttgcttctgggagaaagcgccaccagcggcagtattttttccagctaca
+cctttactggcgtgcaactcgcttccgacgataatatgttgccaaacagccagcgcggat
+ttgccccaacggtacgcggtatcgcaaacagtagtgcaatcgtgactatcaggcaaaatg
+gttatgtgatctatcaaagcaacgtgtcagcgggtgcctttgaaattaacgatctctacc
+cctcttccaacagcggcgatttagaagtcacgattgaagaaagtgacggtacacaacgtc
+gctttatccagccttattcttcattacccatgatgcagcgacctgggcatctaaagtata
+gcgcgaccgctggacgctatcgcgctgatgcaaacagtgatagcaaggaacccgaatttg
+ctgaagccacggcaatatatggtttgaataatacttttacgctgtatggcggcctgctcg
+gttctgaagattattatgcgctggggatcggtatcggcggcacacttggcgcactgggcg
+cgttgtcgatggatatcaacagagctgacacccaattcgataaccagcactcttttcatg
+gctatcaatggcgtacgcagtacatcaaagatatcccggaaaccaacaccaatatcgctg
+tcagctactatcgctataccaacgatggctattttagttttaatgaagccaatacccgca
+attgggactataacagtcgccaaaaaagtgaaattcaattcaacatcagccagacaatat
+ttgatggggtaagtctgtatgcctccggttcgcagcaagactattggggcaataacgata
+aaaacaggaatatctctgttggggtttccggccagcaatggggagttggttacagcctga
+attatcaatacagccgctacactgatcaaaataatgaccgcgcactctctttgaatctca
+gtattccgttagaacgctggttaccgcgtagccgggtttcctatcagatgaccagccaga
+aagatcgcccaacccaacatgaaatgcgtcttgatggctcactgctggatgatggtcgcc
+tgagctatagcctggaacaaagtctggatgacgataacaaccataacagtagcctgaacg
+ccagttaccgttcaccttatggcaccttcagtgccggatacagctacggtaatgacagca
+gccaatacaattacggcgttaccggcggcgtggttatccatcctcatggcgtgacgctct
+cgcaatatctgggcaacgcttttgcgcttatcgatgctaacggagcatctggcgtgagga
+tacaaaactatccggggattgctaccgatccttttggctatgcagtggttccttatctca
+caacttatcaggaaaaccgtctctcggtagatactacgcagctgcccgataacgtcgatc
+ttgaacaaacaacacagtttgtggtgcccaacagaggtgcaatggtagcggcgcgtttca
+acgccaatatcggttatcgcgtacttgttacagtcagcgatcgcaacggtaaaccgttgc
+cctttggcgctcttgccagcaacgatgatacggggcaacaaagtatcgtcgatgagggcg
+gcatactatatctctctgggatatcgagtaaatcacaaagctggactgtacgctggggaa
+atcaggcagatcaacaatgtcagtttgctttcagtacaccggattcagaacctacaacct
+ctgtattacaaggcacagcgcagtgccattaaggataaaaaaatgaaaagagcgcctctt
+ataacaggtcttttgttgatatccacatcctgcgcttatgcctcctcaggagggtgtgga
+gccgacagcactagcggtgcgacaaattacagcagtgtggttgatgatgttacggtgaac
+cagacagataacgtgacaggacgggagtttacctctgcaacgctaagtagcactaactgg
+caatacgcctgttcctgctctgcgggtaaggcagttaaacttgtctatatggtcagcccc
+gtacttaccaccactggacatcagacaggatattacaaactcaatgacagcctggatatt
+aaaaccacattacaggcaaacgacattccaggactcacaaccgaccaggttgtctctgtt
+aacacccgattcacacagataaaaaacaacacggtatattctgctgcaacccaaacgggt
+gtttgccagggtgatacgtctcgttatggacccgttaatattggtgcgaacaccaccttt
+accctgtatgtcaccaagccatttctcggctcgatgaccattccgaaaacggatattgcc
+gtcattaaaggcgcgtgggtcgatggaatgggaagcccgtctacaggtgacttccatgat
+ttagtcaagttatcgattcagggaaatctcaccgccccacagtcgtgcaaaattaatcag
+ggcgatgttattaaggttaattttggattcatcaatggtcagaagtttaccacccgcaat
+gccatgccagacggttttactccagtagactttgatatcacttatgactgtggtgatact
+tcaaagattaaaaactcgttgcaaatgcgcatcgacggtacaactggggtagtagaccag
+tacaacctggtcgccaggcgaagaagttcagacaatgtgcccgatgtcggtattcgtatt
+gaaaatctcggcggcggagttgcaaatattccttttcagaacggtatccttcccgttgat
+ccttccgggcatggcaccgtcaatatgcgcgcctggccagttaatctggtcggtggtgag
+ctggaaacaggaaaatttcagggcacagccaccattaccgtcatcgtgcggtaaaagaag
+acgttgcgttttgattaacgcaacgcttcggcactgttacccctgctgctccagcgcata
+cttatacagcgcatttttcttcacgccgtgaatttctgcggccagcgccgccgctttttt
+cagcggcagttctgcctgtagcagcgccagcgtgcgcagggcatcggcgggtaagtcttc
+ttcctgtgctttatgaccttcgacaatcagcaccatttcgcctttgcgacggttttcatc
+ttcctttacccacgccagcagctcgccaacgggcgcgccgtgaatggtttcccaggtttt
+ggtcagctcacgcgccagaaccacgtagcgggattcgcctaataccgcaacgatatcttc
+caggctatctaacagacggtgggtagattcataaaaaatcagcgtgcgcggctccgcttc
+aatggcttttagcgcatcacggcggccttttgatttggcaggtaaaaagccttcgtaaca
+gaaacggtcagagggtaaacccgctgcgcttaacgcagtgatagcagcacacggcccggg
+tagcggcaccacgcggatccccgcttcacggcaggtacgcaccagatggtagccaggatc
+gttaattagcggcgttccggcatcggaaaccagcgcaatgttttgcccctcttgcagctt
+cgccagcagcgtttcagctttttgttgttcgttatggtcgtgcagcgcaaacaaccgggc
+attaatcccaaaatgttgcagcaataaaccggtgtgacgagtatcctcggcggcaatcag
+atcaacggcctgtaatacctctaacgcacgctgggtgatatccgccagattgccgattgg
+cgtcggtacaatgtaaagctggccctgagaattatccgccgattggtgttgtttcattgt
+gtcgtccgtattgccgatttaatattgagcattgcgtaaaaaaaatatcactggatacat
+tatggtaccctcaacattttctcgtttgaaagccgcgcgttgtctgcctgttgttctggc
+agccctgattttcgccggttgtggcacccatactcccgatcagtccactgcttatatgca
+gggcacggcgcaggctgattctgccttttatcttcagcagatgcagcaaagctctgatga
+taccaggatcaactggcaattactcgccattcgtgcactggtgaaagaaggtaaaaccgg
+gcaggcggttgagttgtttaaccaactaccgcaagaactgaacgatgctcagcgtcgcga
+gaaaacactgctggcggtagagattaaactggcgcagaaagattttgctggcgcgcaaaa
+cttgctggcgaaaatcacacctgccgatttagaacaaaaccagcaagcgcgttactggca
+ggcaaaaatcgatgccagccaggggcgtccttccattgatttactgcgcgcgttaattgc
+tcaggaaccgctgcttggcgcgaaagaaaaacagcagaatattgatgccacctggcaggc
+gctctcctccatgactcaggaacaggcgaatacgctggtgatcaacgccgacgaaaatat
+tctgcaaggctggctggatctgcagcgcgtctggtttgataaccgtaacgatcccgacat
+gatgaaagccgggatcgccgactggcagaaacgttatccgaacaatccgggcgcgaaaat
+gctgccaacgcagttggttaacgtaaaagcgtttaaaccagcctcgaccaacaaaatcgc
+cctgctgttgccactgaatggccaggcagcggtatttggtcgcactattcagcaaggctt
+tgaagcggcgaaaaatatcggcactcagccagtggcagctcaggtagctgccgcacctgc
+cgcagacgtagctgaacaacctcagccgcaaaccgtggatggcgttgccagcccggcaca
+agcctcggttagcgatctgaccggtgaacagcctgcagcccagccggtgcctgtaagcgc
+cccggcgacaagcaccgcagcggtaagcgcacccgcaaatccatccgcagagctgaaaat
+ctacgatacctcatcacaaccacttagccagatcttaagccaggttcagcaggatggcgc
+gagtattgtggtcggtccgttgctgaaaaataacgttgaagagttgctgaagagcaacac
+tccgctgaacgtactggcactgaaccagccggagaatatcgaaaatcgcgtcaatatttg
+ttacttcgcgctttcaccggaagacgaagcgcgcgatgcagcgcgtcatattcgtgacca
+gggtaaacaagcgccgctggtgctgatcccacgcagttcattgggcgatcgcgtagccaa
+tgcgtttgcgcaagagtggcagaaactgggcggcggcaccgttctgcaacaaaaatttgg
+ttccaccagcgaattacgcgcgggtgttaacggcggttctggtattgctttaacgggtag
+cccgattactctcagagcgacaaccgactccggcatgacgaccaacaatccaacgctgca
+aaccacgccaaccgatgaccagttcaccaataatggcggtcgtgtcgatgcggtgtacat
+tgtggcaacgccgggtgaaatcgcttttatcaaaccgatgatcgccatgcgtaacggtag
+ccagagcggtgcaacgctgtacgccagctcccgcagtgcgcaagggaccgctggcccgga
+tttccgactggagatggaaggcttgcagtacagcgaaatcccgatgctggcaggcggtaa
+tctaccgttaatgcagcaggcactcagcgcggtgaataacgattattcactggctcgcat
+gtatgcgatgggcgtcgatgcctggtcgctggcaaatcatttctcacaaatgcgccaggt
+tcagggttttgaaatcaacggtaataccggaagcctgacggctaacccggattgcgtgat
+taacaggaacttatcatggctacagtaccaacaaggtcaggtagtccccgtcagttaacc
+accaaacagaccggcgatgcgtgggaagcacaagcgcgtcgctggctggaaggcaaagga
+ctgcggtttatcgccgctaacgtgaacgagcgtggcggcgagatcgatctgataatgcgt
+gaaggccggaccaccatttttgtcgaggtacgctatcgccgctctgcgctttatggcggc
+gcggcagccagtgtgacccgcagcaaacaacacaaattattacagactgcccgcttgtgg
+ctcgcgcgtcataatgggagttttgatactgtggattgccggttcgatgtggtagccttc
+accgggaatgaggttgagtggattaaggatgcctttaatgaccactcataattaaggttt
+aaggattagcgtgcaagaaagaattaaagcttgcttcactgaaagcattcaaactcaaat
+tgcggcggcagaggcgcttccggatgccatctcccgtgcagccatgacgctggttcagtc
+tctgctcaatggcaacaaaatcctctgttgtggtaatggaacttccgctgccaatgcaca
+gcattttgctgccagcatgatcaaccgtttcgaaacggagcggcccagcttacctgccat
+tgcactaaatactgataatgttgtcttaacggcgattgccaacgatcgcttacatgatga
+agtgtatgcaaaacaggtgcgggcgctgggtcatgcgggagatgtattgttagccatttc
+cacccgtggcaacagccgcgatattgttaaagcagttgaagccgccgttacgcgtgatat
+gaccattgtggcattgaccggctatgacggcggcgaacttgcaggtttgttagggccaca
+ggatgtggagatccgcattccttcgcatcgtagtgctcgcattcaggaaatgcatatgct
+gacggtaaattgcctgtgcgatctgatcgataacacgcttttccctcaccaggatgatta
+aggagaatacatgaaggcattatcgccaatcgcagtccttatttccgcgctgctgttgca
+aggttgtgttgccgctgccgtagtgggtaccgctgctgtgggtaccaaagccgcaactga
+cccacgcagtgtcggcacccaggtggacgatggtaccctggaagtgcgcgtgaacagcgc
+attgtcgaaagacgaacagattaagaaagaagcgcgcattaatgtaacggcctatcaggg
+caaagtgctgctggttgggcagtcaccaaatgctgaactttcggctcgcgccaaacagat
+tgctatgggcgtagacggtgccaacgaagtgtataacgagattcgtcagggccagccgat
+tggtctgggcgaagcatctaacgatacgtggatcaccaccaaagtgcgttcgcagctctt
+aaccagcgacctggtgaaatcgtccaacgtgaaagtgaccaccgaaaacggtgaagtgtt
+cctgatggggctggtgactgaacgtgaagcgaaagcggcggcagatattgccagccgggt
+gagcggcgtgaagcgggtaactacggcgtttacgtttattaaatagcagccccttgtaat
+gcctgatgcgacgcttgccgcgtcttatcaggcctacaacgatacaaaccgtaggtcaga
+taaggcgtttacgccgcatccgacatgttttccctcaaatcagaacaacagcgccagccc
+gccgacaatcacaccagacactgccaccatcgcccctgtcagccataaggctttcgccgg
+gaacgctttgcgcagcataatcagtgacggcaaactcactgccgggagcgtcatcaacaa
+tgccagcgccggagcggttcccatacctgccagcatcatcgtttgtacaatcggaatttc
+tgctgccgtgggaatgacaaacaagcatcctgctaccgccatcgccaccacccacatcag
+gctgttatcgacagcaccatcggcatgggggaataaccagacgcgagcggcacccaacac
+cagtactgcaaggatgtaaaccgggatcgtactccagaaaagcgtccatagcgccctgcc
+ccagcggctaaaaaacccgccctgtgcttccggtatgtcaatttcgaccggtgcctgcgt
+ttgcggtgtttcacgcacccatttttgcaccagcgtcgcaatcagcaacaccatcaccag
+cccggccaccagacgaatcgccgcaaaaccccagccgaggacaaagcccataaacaccag
+cgtcgccgggtttaacaccggattgcccatccagaatgccagcgcaccgcccatcgacac
+ctgttggcgacgcattcccgccgcgaccggagccgcacagcaggtacacatcatgcccgg
+caacgaaaacagcgttcccagcagcgtgccgcgaaagcgcgattgcccaagcgtacgcaa
+caaccagtcacgcgggatcagcacctgaatcaacgaaccgaggatcacccccagcaccgc
+cgctttccataccgcgaggaaatagatcatcgcgtaatccaacgccgcctgccatgggtt
+agcatccgcctgcgcaaggatagatttaccgatactgtgggtttcggcagcagtaaacgc
+tttgccgtagtaaggttcccatttcacataccagagaccggcaatgacaacgagaaagaa
+aagcgcgggtttccaccactgaatgggcgttgccgcctgagatgaagactgaccagtcat
+agcattccccaggaataagttatgataattgagcgcgtgaatattacgctcactatcaat
+tcttgggaataattattcagctcttttgcgtaattctgaagagcttaaaatcgtcacgcc
+ttcatgctcaggccgcatcgactctgccagcatgacccgcgccacgtctctcgcatcaat
+ggatttccagttacctggtaacaaacggaacagcggcgcaaaaagcgtttcgttcatccg
+ctgtttgctacgatcgcccagtaacatcgacgggcgagcaatggtcaatttcggccagtt
+ctgggcgattaatgcttcttccatctcccctttgacgcggttatagaaaaacggcgagtg
+ggcattggcacccatcgcactgactaccaacatatgctgcgcgcccagtcgccgcccggt
+taatgcggtatccactaccagcgtgtaatcggcatgaataaacgcctctttgctccccgc
+ttctcgccgcgtggtgccgagacaacaaaacacaatgtcgatgggatcggtgacctgcgc
+caacgcgtcactcagttgcggatcatggggattaaacaccccgggcatatcgcccaacgg
+acgtcgcgtcggcgcagcaatggcgttaactttcggttcgttaatcaacatccgcagcag
+gtgaccgcccaccagccccgttgcgcctgtaatcagtacctgactcatcttcgctccttt
+acagaattgtctgccttgcgctccacggctcatgcaccaggcttaatagaccatgaggta
+attatccccgattgtgggaaattcgcctcatccaatgcaacaacgcggaggaagcatgag
+taagaaaattgccgttttaatcactgatgaatttgaggattcagaatttacttcacccgc
+agacgagttccgtaaagccggacacgaagtgattaccattgaaaaacaagcgggtaaaac
+ggtgaaaggcaaaaaaggagaagccagcgtgaccatcgataaatccatcgatgaagtgac
+gcctgcggagtttgatgccctgctgctaccgggcggccattcaccggattatctgcgtgg
+ggacaaccgttttgtcacctttacccgtgattttgtgaatagtggcaaaccggtgtttgc
+catctgtcacggcccgcagttgctgatcagcgccgatgtgattcgggggcgcaaactgac
+cgcagttaaaccgatcattattgatgttaaaaatgcgggcgcggaattttacgatcagga
+agtcgtggttgataaagatcagctggttaccagccggacaccggacgatctgccagcgtt
+taaccgcgaggcgttacgcctgctcggtgcctgagtcgcgtagccaaatcatttttttac
+caaagcccagcgtgttgtcggtgaatttgatttcatcgagccggatttcccacaccgggg
+ccgacagcattctggcaaccggaaagcgacgattgtacgccttgcgcgcgaggtcgcttt
+cctcaccttccagcctgcggatctcacctttaaactgcacaccgcgaattaacgctaccg
+ttttcggctgaccgtttaccgttccggcaaccgcagcctgcggcccactcatctgcgcgt
+ggcgcgttttttcttccgtcaaaatgtagaaggcgactttctgcgcatcaaaaagataaa
+aggcattagcgcaccagagttccccttcctgctgcacacaccaagtgacaacatgttgtt
+ttgccagccaacggctgatggcgatgagtgtttccattgctgttctcttttatactgtgg
+gcctgaccttaacatgcgacgcagacgatgacaccctggtttctttacttgatccgtacc
+gccgacaataagctttataccgggatcaccacggatgtcgaacgccgctatcagcagcac
+caaagcggcaaaggggcgaaagcactgcgcgggaaaggagaactaacgctggtgttttcc
+gcgccagtgggcgatcgttcgctggcgttacgggcggaatatcgcgttaagcaactgacc
+aaacggcaaaaagagcgtctggtagcggaaggcgcagggtttgcagagctgttaagcagt
+ctgcaaaccccggagattaaaagcgattgaaatgctcgtgatactcaaccaggccggtaa
+cgccattcagcgcgtcatccgctaaacgatgtacctggaaggcgctttcagtgcccggcc
+agcggcaacgcagatcgtgatgcgccgccagttcaaagccgaaacgactgtacagcgccg
+gatcgcccagcgtcaccactgcggcatagccgaactcattaagcgaatcgagtccttcat
+agaccagttggcgtgccagcccctgtccacggtatttttcatcaaccgccaacggtgcca
+tgccgacccattgcaggtcttcgccctgcacatcaaccggactaaatgccacatagccaa
+tgacctgaccttcgtcatctgtcgccaccagccccagcgtcagaaagccatcttcacgca
+gatcgtgaaccagcttcgcttccgcatcactttcgaatgagcgacgcagcagggcatcaa
+tacccggcgcatcaatgggaatttctactcgaattagcatggttcacctaccgatgtctg
+tttggtttcaggcgcggttttcattcccgcctcaacaaaatccgccagttgcagcagcat
+catgcgtaaggctttcggcatttgctccagttcaatggcgtccatcaggtttttcacata
+cagccccagctccgtatcgccttcaatcaccagccgacgctggaagaagagcgtatccgg
+atcttgtttacgcgccgcaatcatcagcagatcgctggcgtcggcactaaaactcacatc
+agcttgcgcgttctggctaacgaccagtttgccattcaccaccgaggtaaaccattgcag
+gtcaatatcacgcacatgaatacttaaccagcggccttcaagaaactccagctcgccatc
+atccagcgcctggcggaattgccagcttaagacctgctcaagaacctggcgttttagcgc
+aaatggcgtcagttttaccggtacactcaacagagatggccccaaatgcacaatacggga
+acgcagtttatccaacacgagttttactccctgtttcaacaatcatcctattttgccata
+tcagaaaaataacatagcggtataaatcaacaattccatatgaaattgctgctaccacca
+atacaactttaactgccttaaatcaaaaattgtcgcagcaaggttaactaaaatcccagt
+tcgttaacatttttgcgttttgatagcgcaaccttcaggaaaaattatggagctgctctg
+ccctgccggaaatctcccggcgcttaaggcggccatcgaaaacggcgcagatgctgttta
+tatcgggctaaaagatgataccaatgcccgtcacttcgccggccttaactttaccgagaa
+aaaattgcaggaagcggtgagttttgtccatcaacatcgccgcaaacttcacatcgcgat
+taacacttttgcgcatccggacggttacgcccgttggcagcgcgccgtggatatggcggc
+gcagctgggtgccgacgcgctgatcctcgccgacctcgccatgctggagtacgccgccga
+gcgttatccgcatattgagcgccacgtatcggtgcaggcttcggcgaccaatgaagaggc
+gattaacttttatcatcgccattttgacgttgctcgcgtggtgctgccgcgcgtgttgtc
+gattcatcaggtgaaacaactggcacgggtcacacctgtaccactggaagtctttgcttt
+cggcagcctgtgcattatgtcggaaggtcgttgctatctgtcgtcgtatctgacgggtga
+gtcgcccaacaccataggcgcgtgttctccggcccgtttcgtgcgctggcaacaaacgcc
+gcaggggctggaatcccgcctgaacgaagtgctgatcgaccgttatcaggacggcgaaaa
+cgcaggttatccgacgctatgtaaagggcgttatctggtggacggcgagcgctatcacgc
+gctggaagaaccaaccagtctcaataccctggaactgctgccggagttaatggcggcgaa
+tattgcttcggtgaaaattgaaggccgccagcgtagcccggcgtatgtcagccaggtggc
+gaaagtctggcgtcaggctatcgaccgttgtaaggccgatccgcaaaactttgtaccgca
+aagcgcgtggatggagacgctcgggtcgatgtccgaaggcacgcaaaccactcttggcgc
+atatcaccgtaaatggcagtgagaaaagcaatgaaatattccttagggccagtgctgtgg
+tactggccaaaagagacgctggaagaattttatcagcaggccgccaccagcagcgccgac
+gtgatttatcttggtgaagcggtatgcagcaagcgtcgggcaaccaaagttggcgactgg
+ctggagatggcaaaatcgctcgccgggagtggtaagcagattgtgctctccacgctggcg
+ctggtgcaggcatcatctgaactgggcgaactgaaacgctatgttgagaacggtgagttt
+ctgattgaagccagcgatctcggcgtggtgaatatgtgcgctgaacgcaaactgccgttc
+gtcgccgggcacgcgctgaactgctacaacgcggtgacactgaaaatattgctcaaacag
+ggcatgatgcgctggtgtatgccagtggagctttcccgcgactggctggtgaatctgctt
+aatcagtgcgatgagctgggcattcgtaaccagtttgaagtggaagtcctgagctacggt
+catctgccgctggcctactccgcccgctgctttaccgcgcgttcggaagaccgcccgaaa
+gatgagtgtgaaacctgctgcattaagtatccgaacgggcgcaacgtgctgtcgcaggaa
+aaccaacaagtgtttgtactcaatggcattcagaccatgagcggctacgtttacaacctc
+ggtaacgagctggcatccatgcagggcctggttgatgtggtccgcctgtcaccgcagggt
+actgacactttcgcgatgctcgacgccttccgcgctaatgaaaatggcgctgcaccactg
+ccgttgacggcgaacagcgactgtaacggctactggcggcggctggcaggactggagctg
+caagcctaagtaaatagctcactttgttaacaactttaactactctttaatgcagtatta
+aagattaatcggtaacaaagtgagctgttatgactgataaaaccattgcgttttcgctac
+tcgatctggcccccattcccgaaggttcttcagcgcgagaagcattctcccactctctcg
+atctcgcccgtctggctgaaaagcgcggctatcatcgctactggctggcagaacaccaca
+atatgactggcattgccagtgctgccacgtcggtattgatcggctatctggcggcgaata
+ccaccacgctgcatctggggtctggcggcgtgatgttgcctaaccactcaccgttggtca
+ttgcagaacagttcggcacgcttaatacactctatccggggcgaatcgatttggggctgg
+gtcgtgctccgggtagtgaccaacggacaatgatggcgctacgtcgtcatatgagcggcg
+atattgataatttcccccgcgatgtggcggagctggtggactggtttgacgcccgcgatc
+ccaatccgcatgtgcgcccggtaccaggctatggcgagaaaatccccgtgtggttgttag
+gctccagcctttacagcgcgcaactggcggcgcagcttggtctgccgtttgcgtttgcct
+cacacttcgcgccggatatgctgttccaggcgctgcatctttatcgcagcaacttcaaac
+cgtcagcacggctggaaaaaccatacgcgatggtgtgcatcaatattatcgccgccgaca
+gcaaccgcgacgctgaatttctgtttacctcaatgcagcaagcctttgtgaagctgcgcc
+gtggcgaaaccgggcaactgccgccgccgattcaaaatatggatcagttctggtcaccgt
+ctgagcagtatggcgtgcagcaggcgctgagtatgtcgttggtaggtgataaagcgaaag
+tgcgtcatggcttgcagtcgatcctgcgcgaaaccgacgccgatgagattatggtcaacg
+ggcagattttcgaccaccaggcgcggctgcattcgtttgagctggcgatggatgttaagg
+aagagttgttgggatagtgtgtcttaacgcgggaagccttatccgagctggcaacgctgt
+cctacatagacctgataagcgaagcgcatcaggcattgtgtaggcagcagaaatgtcgga
+taaggcaccgctgattactgatacaccggcagtaaattaaagctcgataaaatatgcacc
+agtgcgttgccgacgccaaacaccagaatcagcgcaatcatcggcttgccaccccagacg
+cggaatttcgggctgccaaagcgtttacgcgatgcacgggctaacagcgccggaacaatt
+gccgcccagatggtagccgctaaaccagcataaccaatggcgtacaggaatccgttcggg
+aacaacagcccccccacaactggcggggcaaaggtcagcaatgccgttttcaagcggccc
+acagccgagtcgtcgaaaccaaacagatctgccagatagtcaaacaaacccagcgttacg
+ccgaggaacgaactcgctaccgcaaagtttgagaacacgaccagcagcagatccagacta
+cggctgttcagtacgccgcttaacgcctgtaccagcacatcaatattaccgcccttctct
+gcaataccgataaactccggacgcgggatgttacccatcgtcgccagcaaccagatggta
+tacagcgccagcgccatcagcgtaccgtacaccagacatttcacgatggttttcggatct
+ttgccgtaatacttcatcaggcttggcacgttaccgtgataaccaaacgatgccagacag
+aacggcagggtcatcaacagatacggtgcataagacgcattgctttcggcgacgttgaac
+aatgtcgcaggctgcacatgccccagcaggctaccaaaggtgaggaagaaggtaatgact
+ttcgcccccagcacaatcgctgtcatgcgactgacggctttagtgctcaaccacaccaca
+aacgctaccagcaatgcaaaaccaaaacccgccgcccgtgccgggacgtttagtgacatc
+tctgcgaaggtgtgatgcagaatcgaaccactggcagaaatataggcataggtcaggata
+tagagcacaaaggcaatggaaatgccgttgaccacgttccagcctttgcccagcaaatct
+ttggtgatggtgtcaaaactcgaaccgattctgtaattcaggttagcttccagaatcatc
+aagccggaatgcagcatacagaaccaggtaaagatcagcgccgccattgaccagaaaaac
+cacgccccggacatgaccactggcagagaaaacatccctgcgccaataatggtgccgccg
+ataatcaccacgccgccaagcagcgacggtgacgtttgggtggtggttagtgttgccatg
+agggcttctctccagtgaaaaatagtgcgactgcgttgttatgcattgcactgtaccagt
+acacgagtacaaaagacagaaaaaaagccccgatggtaaaaatcggggctgtatatatta
+ttttacagattgtgttcgctgttcagcgatgattacgcatcaccaccgaaacgacgacga
+ccggtagaatcatcacgacgcggagcgcggccttcacgacgttcgccgctaaaacgacga
+ccatcaccacggccaccttcacggcgttcaccgctgaagttacgaccgccttcacgacgt
+tcgccaccgaaaccacgaccaccgccacgacgctcaccgccagtatgcggctgtgcatcg
+cccagtaactgcatgttcatcggcttgttgagaatgcgagtgcgcgtaaagtgttgcagc
+acttcacccggcatacctttcggcagttcgatggtggagtgagaagcaaacagcttgatg
+ttaccaatgtaacggctgctgatgtcgccttcgttagcaatcgcaccaacgatatgacga
+acttcaacaccatcatcgcggcccacttcaatgcggtacagctgcatatcgccaacatca
+cgacgttcacgacgcggacgatcttcacggtcaccacgcgggccacggtcgttacgatcg
+cgcggaccacggtcatcacggtcacggaattcacgtttcggacgcatcggcgcatctggc
+ggtacgatcagagtacgttcaccctgtgccattttcagcagtgccgcagccagagtttcg
+agatccagctcttcaccttcagcagtcggctgaattttgctcagcagtgcgcggtattga
+tccagatcgctgctttccagctgctgctgtactttagcggcgaatttttccagacggcgt
+ttgcctagcagttctgcgttcggcagttctacttccggaatagtcagcttcatagtacgt
+tcaatgttgcgcagcagacgacgctcgcggttctcaacgaacagcagcgcgcggccagca
+cgacccgcacgaccggtacgaccgatacggtgaacgtaagactcagaatccatcgggata
+tcgtagttaactaccaggctgatacgctcaacgtccaggccacgggctgcaacgtcggtc
+gcaatcaggatgtccagacgaccatctttcaggcgttccagtgtctgttcacgcagcgcc
+tggttcatgtcaccgttcagcgcggcgctgttgtagccgttacgctcaagagcttcagcc
+acttccagagtcgcgtttttggtacgaacgaagataatcgccgcatcaaaatcttccgct
+tccaggaaacgtaccagtgcttcgtttttgcgcataccccagacagtccagtagctctgg
+ctgatgtcaggacgggtagtcacgctggactgaatgcgcacttcctgcggctctttcata
+aagcggcgggtaatgcgacgaatcgcttccggcatggttgcagagaacagagcggtctga
+tgaccttccgggatctgcgccataatggtttcaacgtcttcgatgaagcccatgcgcagc
+atttcgtcagcttcatccagaaccagaccgctcagtttagagaggtccagagtgccacgt
+ttcaggtggtccagcagacggcccggagtaccgacaacgatctgcggcccctgacgcagg
+gcgcgtaattgcacgtcataacgctggccgccgtacagagcaaccacatttacgccgcgc
+atgtgtttagagaaatccgtcattgcttcagcaacctgtaccgccagttcgcgggtcggt
+gccagcaccagaatctgtggtgctttcagctcaggatcaagattctgcaacagaggtaaa
+gagaatgctgcagtttttccgctccccgtctgggccatacccagaacgtcgcggccattc
+agcagatgtggaatacactctgcctgaattggagatggtttttcgtaacccagatcgtta
+agggcttcaaggataggagccttcaggcccagatctgcaaaagtggtttcgaattcagcc
+atgtagtacgtgtgcctcaaaattaatggcggccagtctacataactcatcatgaaattg
+atcagcaattttcattgaaaagtgtgaaccggctcaaagtaggtgtattaacgaacaaca
+acgccctcacccgttaaggtgatggcaatcaaaaaagattacgggctgatgtgtacgtca
+gctattgctggtccgattctgccaggtcatcttggtcctggcccaggagcgataattcca
+acaatgcgtatcggtgctcaacaaagttatgaacgttgttggcaaccgccagtttgaaca
+gtgccgtggcgctgtccaaatcccccagacttaggtagtacttacctaaatagaagttgg
+tttcactgagatgctcagcgagcgaggtgttatccgttgcgtccgccttgagcctttcca
+ttaacgtttgttcgctaatgttgcccaggtagaactcgacaatgttccatccccactgtt
+ccttatccgatttttcgaagtgctgtttcaacacttctttagcctgcttctcatcgagct
+tctgctcggcgagataaagccacagactacggaaaggatcattgggatcgtcttgataaa
+acgccagcagatcatcttgcgctaacttgtcacgaccgccgtaatataatgcgatcccgc
+gattcaagtgcgcgtagttgtaagttggatcaagctcaagtacagaatcaaacgcttcat
+aggcagcatcaaaattgcctgcctgcgttaaatatatgcctaagtaattgaatacttcag
+gcatatccggtcggattgccagcgcttgcgaaaaatcgttacgcgctaatgccctcagac
+cgagactatcatacaacactccgcgctcatataaaagctgtgcgcgttcgtcatcggtta
+aagcccgactggcaaggatttgttccatacgtgccagaatcacttcctgctgtaaagtcg
+gttgcaatggtaccgcgaggacttcacttttacgccaggaagtattactgcatcctgcaa
+gcgtaagtgctgtcgcaacgaaacaccagcgcaaaaaaggcttcatttcccactcccgaa
+gaccacggttgaatgaacgtcctgttcccggttgctaacaaggcgtcctgcccggttaaa
+agccccccgccgcagcggagggcaaatggcaaccttactcgccctgttcagcagccggag
+cttccggtgctgcagcaggttgagactgctcagtcgcttctttaatgctcagacggatac
+ggccctggcgatcaacttccagaactttcaccggtacttcctgacccatctgcaggtaat
+cggtcactttctcaacgcgtttgtcagcgatttgagagatgtggaccagaccttctttac
+cgccgccgatggcaacaaatgcgccaaagtcaacgatacgggtcactttaccagtgtaga
+cgcggcccacttcgatttctgcagtgatctcttcgatacgacgaatagcatgtttcgctt
+tctcgccgtcggtcgctgcaatcttcacagtaccgtcatcttcgatttcgatggtggtgc
+cagtttcttcggtcagagcacggattacagaaccgcctttaccgataacatctttgatct
+tgtccgggttgatcttgatggtatggatacgcggtgcgaactcagagatatcgccacgcg
+gcgcgttgatcgcctgttccattacgcccaggatatgcagacgcgcacctttagcctggt
+tcagcgcaacctgcatgatctctttggtgataccttcaattttgatatccatctgcagtg
+cagagataccgtcgcgggaacctgcaactttgaagtccatatcgcccaggtgatcttcgt
+cgcccaaaatgtcagacagtacaacgtagttgtcgccttctttcaccagacccattgcga
+tacccgcaacggcagctttgatcggcacacctgcgtccatcagcgccagagacgcgccgc
+acacggaagccatagaagaggaaccgttggattcagtgatttcagacacaacacgtacgg
+tgtacgggaatttgtccatatccggcatgactgccagcacgccgcgcttcgccagacgac
+cgtgaccaatttcacgacgcttcggagaaccgaccatgccggtttcgcctacggagtacg
+gagggaagttgtagtggaacaggaaggtatcggtacgttcgcccatcagttcatcaagaa
+cctgcgcgtcacgagcagtacccagcgttgcggtaaccagcgcctgcgtttcaccacggg
+tgaacagcgcagaaccgtgagtacgcggcagcacgccagtacgcacatccagaccacgga
+tcatatctttttcacgaccgtcgatacgcggttcgcctgccagtacgcggctacgaacaa
+cgtttttctcgatcgcgtgcagaatttcacccagttcgttttcgtccagggtttcgtctt
+cagcaagcagcgtcgcgatggtttcagatttgatgacatcaacctgcgcataacgctctt
+gtttgtcggtgatgcggtaagcatcgctcaggcgagcttcagccagtgcagcaacgcgcg
+cgtttagcgcttcgtttaccggctccggctgccagtcccaacgcggtttaccggcttctt
+tcaccagttcattgatgttctgaataacaacctgctgttgttcatgaccgaacactactg
+cgcccagcatctggtcttcgctcagcagttgagcttcagattcaaccatcagtacagcgg
+cttcagtaccggcaacaaccagatccagtttgctctctttcagctcgtcctgagtcgggt
+tcagtacgtactggtcattgatgtaacctacgcgggcagcaccaatcgggccattgaacg
+gaataccagacagagacagcgctgcggaagcaccaatcatcgcgacgatatccgggttaa
+cttgcgggttaacagaaaccacggtggcgataacctgaacttcgttgacgaagccttccg
+ggaacagcgggcgaatcgggcggtcaatcagacgcgcgatcagggtttcgccttcgcttg
+ggcggccttcacgacggaagaagctacccgggatacgaccagcagcgtaggtacgctcct
+gatagttaacggtcagtgggaagaagtcctgacctggtttggcttttttctggccaacaa
+cggtaacgaataccgcggtgtcatccatgctaaccataacagcggcagtagcctgacgag
+ccatcatgccggtttccagagtcacggtgtgttggccgtactggaatttacgaacgatcg
+gattaagcaatgtaatatcctttctctttcttagacagtaccttacggcactggtgttaa
+tacccgatcttctgcgcatcctcgcgactaatgacaaccctaacccagctctatgtgggt
+aaagcctctcattagccgcgcgaacctctgcaacggaagatcattcatagcaacaataca
+ttagtttccagtgaattgctgccgtcagcttgaaaaaaggggccactcaggccccctttt
+ctgaaactcgcaagaattagcgacgcagacccaggcgctcgatgagctgggtgtaacgtg
+ctacgtctttacgtttcaggtagtcgagcagtttacgacgctgagaaaccatgcgcagca
+gaccacgacggctgtggtgatcttttttgtgctctgcaaagtggccctgcaggtggttga
+tctgtgcagtcagcagtgctacctgaacttcggtagaaccggtgtcgtttgcgtcacgac
+caaactcagaaacgattttagctgttgcttcagtacttagagacattttaaaactccaaa
+gtatatagaatgaaaggacgccgatctctaattcagcgatcccagtgtacgttacgcaaa
+gtgttaaacaatttacgcgacgttaagcggcagtattctactcgtagcgacctgttatcg
+caagacggttaacattacgccgggtattcaaccaccaggcgacgaggcgcaacgcggcct
+tcatcgtcaatttcgcccataccgataaatttgccgttctcaccttccgtgacgcgaacc
+agtccttccagtggcgcaccagatgtacgaaccgggttaccatttttgaagtaaacagaa
+gacgttaacggaagattcaccaccggatagtccgaagctggactgtccattggcatcagt
+aatggatcaagtaactccgcggctggaatatcctgctgttcagcttgctcaacaagttca
+cgcaggtgctccagggtcaccatccgttcaaccggatatttacttaccgccagacggcgc
+aggtaaataacatgcgcgccacagccgagtttttcacccaggtcatcaatgatggtgcgg
+atataagtgccttttgagcagtgaatttccagctccagctcattgccttcatggcgaata
+aacagcaattcataaacggtaatcggacgcgcttcacgcggaacttcaatgccctgacgc
+gcatattcgtacagttttttgccctgatatttcagtgctgaatacatcgaagggatctgt
+tcgatatcgccacggaaagtatccagtgccgctgccagctgctctgcgctaaaggttacc
+ggacgttcttcaacgatctgtccgtcggcatcagaagtatcggtacgctgtccaagacgc
+gcaatgacccgatagcgtttgtcggagtccagcagatactgggaaaacttcgtcgcttcc
+ccgaggcaaatcggcaacatgccggtcgccagcgggtccagcgcaccggtatgcccggca
+cggttggcgttatatatacgtttcactttttgcagcgcatcgttgctggacataccctga
+ggtttatccagcaacaaaacgccgttaatgtcgcgaccgcgacgacgaggacgactcatt
+agtcctccttgctgtcgtccgggttaacacgacgttcttcgtcatgtttgaccacgctgg
+tcaccaggtttgacatgcgcatcccttcaaccagagagttgtcgtagaagaaggtcagtt
+ccggcacgatacgcaggcgcatcgctttccccagcaggctgcggatgaaaccagaagctt
+cttgcaacgctttgatgcccgctttaaccgcgtcttcatctttgtcgttgaggaacgtca
+catatactttggcatacgccaggtcgcgagacatttcgacaccggaaacggtggtcatca
+tgcccaggcgaggatctttaatttcacgctgcaggatgagagcgatctctttttgcattt
+cctgcgctacgcgctgcgggcgaccaaattctttcgccataataaattctcctgacaaaa
+aaggggctgttagcccctttttaaaattaatttcaggtggaagggctgttcacgttgacc
+tgataagacgcgccagcgtcacatcaggcaatccatgccggatgcagcgtaaacgcctta
+tcccgcatggaaccctaaaaaccttaagcaatggtacgttggatctcgatgatttcgaat
+acttcgatcacatcgccagtgcggacgtcgttgtagttcttaacgccgataccacattcc
+ataccgttacggacttcgttaacgtcatctttgaagcggcgcagggactccagctcgcct
+tcgtagataaccacgttgtcacgcagaacgcggatcgggttgtgacgtttaaccacacct
+tcggtaaccatacagcctgcgatggcaccaaatttcggcgatttgaacacgtcacgaact
+tccgccagaccgataatctgctgtttcagttccggagacagcataccgctcatcgccgct
+ttcacttcgtcaatcaggttatagatgacggagtagtaacgcagatccaggctttccgct
+tcaatcactttacgtgcagaggcatcagcacgtacgttaaagccaaccaggatggcgttg
+gacgccgcagccagggtggcgtcggtttcggtgataccacctacgccagaaccgatgatc
+ttcactttaacttcgtcagtagacagtttcagcaaggagtcggagatcgcttcgacagaa
+ccctgtacgtctgccttcaggacgatattcacttcgtgaacttcgccttcggtcatgttg
+gcgaacatgttctcgagtttagatttctgctgacgcgccagtttaacttcgcggaattta
+ccctgacgatagagtgcaacttcacgcgctttcttctcgtcacgtacaacggtaacttca
+tcacccgcagccggtacgccggacaggccgaggatttccaccggaatggacggacccgct
+tccagcacttcctgacccagttcgttacgcatcgcacgaacacgaccgtattcgaagcca
+cacagaacgatatcgcccttgtgcagagtaccttcacgtaccagaacggtagcaaccgga
+ccacgacctttatcgaggaaggattcgataaccgcaccgctcgccatacctttacgtacc
+gctttcagctccagaacttccgcctgcagcaggatagcgtccagcagttcatcgataccg
+gtacccgctttcgcagatacgtgtacgaactggctttcaccgccccactcttccggcagg
+atgccgtactgggagagttcgttcttaacgcgatccggatcagcttctggtttatcgatc
+ttgttcactgcaaccaccaccggtacctgcgccgctttcgcgtgctggattgcttcgatg
+gtctgcggcatcacaccgtcgtcggcagcaacaaccaggactacgatgtccgttgcctgc
+gcaccacgagcacgcattgaagtaaacgcggcgtgccccggggtgtccaggaaggtgatc
+atgccgttttcagtttcaacgtggtatgcaccaatgtgctgggtaatgccgcccgcttcg
+ccagaggccactttcgttgaacgaatgtagtccagcagagaggttttaccgtggtcaacg
+tgacccatgatggtcacaaccggcgcgcgcggttcagccgcagcacccgtgtcacggtcg
+ctcattaccgcctcttccagctcgttttcacgacgcaggataactttatggcccatctct
+tcagcaaccagctgtgcggtttcctgatcgataacctggttgatggttgccattgcgccc
+agtttcatcatcgctttgatgacctgagagcctttaaccgccatcttgttcgccagttcg
+ccaacggtgatagtttcgccgatcacaacgtcacggttaacggcctgagcaggcttctgg
+aagccttgctgcagcgaagaacctttacgttttccgcctttaccgccacgtactgctgcg
+cgtgcttcttcacgatcagcttttgattcagcgtgtttgttgcctttcttcggacgcgct
+gctttcgcgttacgaccacggccacggccgccttcgacttcacgatcgctttcgtcttct
+gcctggcgagcatgttgagaagtagtgacgtgataatcgctggaatcttcagtcggttcc
+gcgttatcagtccatttgttttcttccgccatacgacgtgcttcttcagcaacgcgacgt
+gcttcttcttcgagtttacgacgcgcttcttcttcagctttacgcttgagctctgcagct
+tcctgctcacggcgggctttttcagcctgggcgtttttagtcatatcgtcttgttgattg
+ctcactttgtctttttccgcagcttcacgtttcgcttgttcagcagcttcacgcttagct
+tgttctgcggcctcacgttcagctttttgttgcgcctcgcgtttagccgattcttctgcc
+tcacgacgggcttgctcttccgcttcacgctgcgcttgctcttccgctgcaaggcgttca
+gcctcttgcggatcgcgtttcacaaaggtgcgtttcttgcggacttcgatttgtaccgat
+ttgctttttccaccggtaccaggaatgttaagggtgctgcgtgttttacgttgcagcgtc
+aatttgtccgggcctgaatttttctgattcaggtggtcaatcaaagtctgtttctcttgt
+gcagacacagagtcgtcagcagacttccggatacctgcatcagcaaattgctgtaccagg
+cgttccacggaggtctgtcgctctgcggccagcgttttaatcgttacatctgtcatgctg
+ttccttcctgctacagtttattacgcttcgtcaccgaaccagcaaatattacgggcagcc
+ataatcagtgctccggctttttcgtcggtcaacccttcgatatcagccagatcatcaatg
+ccctgttcggcgagatcttccagcgtacaaacgccacgggcggccagtttgaatgccaaa
+tcacgatctaccccttcaaggttcagcagatcgtcagccggtttgttatcaccgaggctt
+tcttcctgggcctgtgcaatggtggccagtgcatttttagcacgctcgcgcagtgcttca
+acggtcggctcatcaaggccttcgatttccaacagctctttcatcggcacataggccaat
+tcttccagcgtcgagaagccttcttctaccagaacagtcgcgaagtcttcgtcgatgtcg
+agatatttggtgaaggtgtcgatcgctgcgtgcgcttccgcctgatgcttagcctgcagg
+tcgtcaacggtcatcacgttgagttcccaaccgctcagctgcgaagccagacgcacgttc
+tgaccgttacggccaatcgcctgcgccaggttaccggcttcaacggcgatatccatggtg
+tgtttatcttcatccaccacgatagaagcaacgtctgccggtgccattgcgttaatcacg
+aactgcgccgggttatcatcccacaggacgatatcgatacgctcgccacccagttcagta
+gacaccgcctgaacacgcgcgccacgcatacctacgcaagcacctaccggatcgatacgt
+ttatcgttggttttcaccgcgattttcgcacgagaacccggatcgcgagccgctgcttta
+atttcaatcacttcttcgccgatttctggcacttcaatacggaacagttcgatcagcatt
+tccggcttggaacgagtgacgaacagttgcgcgccacgcgcttccgggcgaacggaatag
+agcacgccacgaacgcggtcgccagggcggaagttttcacgcggcagcatatcttcgcgc
+aggatcacggcttcagcgttgttgcccagatccagagagatgttgtcgcggtttactttt
+ttcaccacgccggtgatgatttcaccttcgtgttcacggaactgatcaaccaccatcgca
+cgttcggcttcacgcactttctgcacgataacctgttttgccgtctgggtagtgatacgg
+tcaaaggtaacagactcaatctgatcttcaacgtaatcgcccaggttcaggctttcatct
+tcataacgtgcggcttcaagggtgatttccttggtcggctgggtgacttcatcaacaact
+aaccagcgacggaaagtgtcaaaatcaccgcttttgcgatcgatctgtacgcggacgtcg
+atctcttgttcatattttttctttgttgctgtcgccagcgcgctttccaatgcttcgaaa
+atcttctcgcgaggtagcgccttttcattggatacggcttcaactacagccaaaatttct
+ttgttcatcgcgggcttttcacctcatccagactattaaaagtggggaaccaggttcgcc
+ttctggatattactcagcgcgaacacttcatctttaccttcgacggtaactgtgatcatt
+tcaccgtctaccgctttgataacgccctgccatttacgacggttttgtaccgccatacgg
+agaaccagagtcacctcttctccgacaaaacgggcgtagtgttcagccgtgaacagtggg
+cgatcgagacccggtgaggagacttccaggttataagcaacggtgatgggatcttcaaca
+tccagcacagcacttacctggtggctcacatcagcacaatcatcaacattgatgccatct
+tcactatcaatatagatgcgcagtgtggatgtgcgaccgcgaataaattcgatgccaacc
+agttcaaaacccagggcctcaactggcgcagtaatcatctctgttaatttttgctctaat
+gtggacaagcccacccccaagacataaaaaaagggcctaaagcccagttattctgtagtc
+agataacaaaaaaccccgataaatcggggctttatataactgaaccctataaccgcaact
+gcggtctggagcactttccagaaggattttttcaaatcccactacgaaggccgaagtctt
+cacagtatatttgaaaaaggactctaagggaaagtggttgcgggggccggatttgaaccg
+acgatcttcgggttatgagcccgacgagctaccaggctgctccaccccgcgcctgaaacg
+tggcaaattctactcgttttgggtaaaaaatgcaaatactgctgggatttggtgtaccga
+gacgggacgtaaaatctgcaggcattatagtgatccacgccacattttgtcaacgtttat
+tgctaatcatgtgaatgaatatccagttcactttcatttgttgaatacttttgccttctc
+ctgctctcccttaagcgcattattttacaaaaaacacactaaactcttcctgtctccgat
+aaaagatgattaaatgaaaactcatttattttgcataaaaattcagtgagagcggaaatc
+caggctcatcatcagttaattaagcagggtgttattttatgacgacgattctcaagcatc
+tcccggtaggtcaacgtattggtatcgctttttctggcggtctggacaccagtgccgcac
+tgctgtggatgcgacaaaagggagcggttccttatgcatatactgcaaacctgggccagc
+cagacgaagaggattatgatgcgatccctcgtcgtgccatggaatacggcgcggagaacg
+cacgtctgatcgactgccgcaaacaactggtggccgaaggtattgccgctattcagtgtg
+gcgcatttcataacaccaccggcggcctgacctatttcaacacgacgccgctgggccgcg
+ccgtgactggtaccatgctggttgctgcgatgaaagaagatggcgtgaatatctggggtg
+acggtagcacctacaaaggaaacgatatcgaacgtttctatcgttatggtctgctgacca
+atgctgaactgcagatttacaaaccgtggcttgatactgactttattgatgaactgggcg
+gccgtcatgagatgtctgaatttatgattgcctgcggtttcgactacaaaatgtctgtcg
+aaaaagcctactccacagactccaacatgcttggtgcaacgcatgaagcgaaggatctgg
+aatacctcaactccagcgtcaaaatcgtcaacccgattatgggcgtgaaattctgggatg
+agagcgtgaagatcccggcagaagaagtcacagtacgctttgaacaaggtcatccggtgg
+cgctgaacggtaaaacctttagcgacgacgtagaaatgatgctggaagctaaccgcatcg
+gcggtcgtcacggcctgggcatgagcgaccagattgaaaaccgtatcatcgaagcgaaaa
+gccgtggtatttacgaagctccggggatggcactgctgcacattgcgtatgaacgcctgt
+tgaccggtattcacaacgaagacaccattgagcagtatcacgcgcatggtcgtcagttgg
+gccgtctgctgtaccaggggcgttggtttgactcccaggcgctgatgctgcgtgactctc
+tgcaacgctgggttgccagccagatcactggtgaagttaccctggagctgcgccgtggga
+acgattattcaatcctgaataccgtctcagagaacctgacctacaagccagagcgtctga
+cgatggaaaaaggcgactcggtgttctcgccagatgatcgtattggtcaattgaccatgc
+gtaacctggatatcactgatacccgcgagaaacttttcggttatgccaaaactggcctgc
+tttcctcctctgccgcttcaggcgtgccgcaggtggagaatctggaaaacaaaggccagt
+aattcgacatcaaccctgcccttcaggggtggggttaccttgcttatcctctgtaaactc
+ctttctgagcatcacataatcgaaaacatcatggtttgcatccacaacccgtgagtctcc
+tttatagtgtgcaatcacttcctcaagcgtttgcggctgttccggctttgttacccccat
+ccacgcattaataaggtaattattgtaagctgtcgaaaagatgttgttttccgttgtgcg
+atccacgccatccccaagaacggggctataccagataaacatcgggacatgatatgcctg
+ctggctagcctccctgcctccatgaaaatagacgttcttcttcgtagggtcacgttccag
+gccgtggtcggcaaaatacatgaccgaggcgcggcgatcttttaataattcaaaaacctg
+acctagcaaactatctgtgtaatgaatggagttgtcatagcaggcatcctgatcgtcctg
+cggttgaaacacggcgctggattgcggataggcgctacaagccggttcatggcttccatt
+taaatgaagaacaatcagtttcttttgctgcgtattttgctgtaatgcttgcgataaatg
+cggcaacaacaattcatcaaatcctctgacataaactgtttccatggcgcgcatggcgat
+actggtaactgctgtaccattctgccgaaaagcggattgcgagcttagccagaaagtctg
+aaatcctgcttgattagccatattaataatgttgtcggggtaattatgaatgtcatgact
+caaaacagaatcagcagttaaagaaaggggaaccgacagcgcagtgtaaggtgcgccgct
+tattgcttgattaaacagtttgatctgttttctttgtgcttcaacttgcggtgtcgtaga
+gcgtgtatatccatacaaagacatattgtcgacacgtacagactcccccacaatcaacac
+gtaggtatcaatacctgtatccctgactgataattgaaaatacggcaccgtgtttgcaat
+tgagagtaatctttgatgctctttcgctgctaaagcaaaatagttgagattgaaaaacgg
+cgtataggtagcaaatcgcgacgctagtatatatggactgaacgcttttttattttttgc
+atctttataagcaaattgacaagcggaaaataaactgcccgaaatgacaatcagcaataa
+tattcctgtcactttttttgtcggcaaggaaacatcatattttattattactgccaaaaa
+aagaagggataaaaaagcaaaggcacatagataagggatatacatccccagcattttgac
+aacttcatccggatcactctggagcacactaatcgcaaatccatcattgaaagttgtacc
+aaaggtacaccatgaatagaggctaatactcatgtctgccgcagtcagtaacacaaatgg
+tgcggcaacaagcaggcgaagcggaagggatgatatacgttttacaaccaggatggtcag
+aacgaagaacagcaagcgctgaaccatatgcgctccggaagaagcgactaagttcgtaat
+accaaaaacaataacacaaagatacaacaaccaatgagatttaaaagttctagcaaattt
+gttgaatactgtcatccagaaatccaagttcacaaccaatataaacaattatcaacaatg
+tttaattttatatcagacatgtttttcaactctgatccatatcagaacgaaacactgtta
+gttttttctttttaaatgatgcggccattgcgttctcagtaattaaataacattatcaat
+gcgtctctaaacattacgcagaacgtagccatcagtcgttatactgacaggagcaggatg
+gtttatcgagaagtaaacatatccgtattcgtaccggaactggagttgacacaataaagt
+gccaattatgtcagtagaagggaaaaatttataactaaggcgtaccggcaccatcgtttc
+aaggtaccagctacgagtaaagcaactggacgagatacagatacctgacaaccattcctc
+agaccaggaccaaaacgaaaaaagacgcttttcagcgtctcttttctggaatttggtacc
+gaggacgggacttgaacccgtaagccctattgggcactaccacctcaaggtagcgtgtct
+accaattccaccacctcggcacggatactactttttagttcgggatatcgctggtcggct
+tagccggagcagctggctgagtttgttcggttttcgccggtgcactcagattttcccatt
+cgctacctttattggttttgttgctattgatgttacccagcaccagactgatgatgaaga
+ataacgttgccagcagcgccgtcatgcgggtcatgaagttaccagaaccacttgaaccaa
+acagcgtagcggaagcgcctgctccgaaggaggctcccatatcagcgcctttaccttgct
+gcagcatgatcagaccaacaaggccaattgccacaataaggaaaactactaaaagagctt
+catacataatcaacctgttccttgcggagttgccgcgtaccaatgcttcaaccaataaag
+cgggagtttttaatctttcccactgaagcgggtgtgaatactaaccaaagcgaatgacct
+tcgcaagggcaattttatcgcattgtatcaactgcggaaaaaaacagcaaaaccgatgtg
+ttcgctgagaaaaaaggcgacaatcgccgcctttttagccagttatctaacgctttaaac
+ggcttttactgcatcggcgatgcggtgtgcaaattcagtcacctgcgcttcgtcttcgcc
+ttccaccatcacgcgaattaacggttcggtgccggatttacgcagcaacacgcgtccacg
+gttgcccagcgcagcttcaacctctgcggtcacggctttaactgactcatgctcaagtgg
+atcgccgctacctgcggtgtaacgtacgttaaccagaatctgcgggaacattttcatgcc
+gctgcaaaggtcgtgcaggctcatatggttacgtgccatcgccgccagcacctgcaagcc
+agcaacgatgccgtcaccggtagtagttttatccagcaggatcacatgaccggaattctc
+tgcaccgatacgccagcctttctcctgcattttttccagtacgtagcggtcacccacttt
+cgcgcgcgcaaatggaattcctaactgtttcagcgccagttcaagccccatgttgctcat
+caatgtacccacagcgccaccacgcagctggccctgacgaagaccttcacgcgcgatgat
+atacatgatctgatcgccatcgactttattgccttcatggtcaaccataatcacgcgatc
+gccatcgccgtcgaaggcaataccgagatccgctttttcagccagcacacgagcctggag
+cgcgcgaacgtcggtagcccccacttcggcattgatgtttacaccgtttggctcacaacc
+gatagcgataacgttcgcccccagttcgcgcagcacgttcggcgcgatgtgataagtcgc
+accgtttgcacaatccaccacaatcttcagttcactgaggctaagttcgttcgggaacgt
+ggctttgcaaaactcgatatagcgacccgcggcatcaacgatacggctggctttacccag
+ttctgccgaatcaacgcagctgatctccttttccatttccgcttcgatggcctcttctac
+cgcatccggcagtttggtgccgtcgatagagaagaatttaatgccattatcgtagaacgg
+gttatgcgatgcagatatcacaattccggcctctgcgcggaaggtacgcgtcagataagc
+cacggccggtgttggcatcgggccagtgaagagtgcggaaaggcccgctgccgccagacc
+cgcttccagtgctgactccagcatatagccagaaatacgcgtgtctttaccaataataat
+cttacgggagccgtggcgcgccagcactttacccgcggcccaacccagcttaagcacaaa
+atcaggtgtgatcggcgcatcccctacacgaccacgaatcccatcggtaccgaaatattt
+acgattactcatagcgtttgttttcctttgcagacagagtggcttccaccacccgcatcg
+cttctacggtttctttgacgtcatgaacacgaatgatgtgcgcgccttgcattgcggcaa
+tgaccgcacaggccagactaccgctcaggcgctcggacggccccacgttcagcagctgcc
+caatcatcgattttcgtgacatacccaccaacagcggcaggttgaaatggtgaaattcag
+ccaggcgcgccagtaatgaatagttatgggagagatttttaccgaaaccgaatccggggt
+cgagcaacaatttctcttttgcgatacccgcctgctcgcaacgtgctatttgctcaataa
+agtagcgattcacttctgcaaagacatcgtcatacttcggagcttcctgcatggtttttg
+gatttccctgcatatgcatcagacaaaccggtaaaccggtttctgcagccgcctccagag
+cgccaggttcggaaagggagcggatatcattaataatgtgagcgccaactttcgctgact
+cacggatgacttctggtttggatgtatcgactgagatccagacttcgaagcgttgagcaa
+ttgcctcaaccacaggaataacacgttgcaactcttcttcaacgctaacttccgccgccc
+ctgggcgcgtggactcgccaccaacgtcaatgatcgtcgcgccagcgttgatcatcagat
+tcgcatgtttcaccgcatctatcagcgagttatgcgtgccaccatccgaaaaggaatcag
+gcgtgacgttgaggatccccattacgtgaggatggctaaggtccagtgaagtaccctggg
+caaagagtttcatgatgttatccctggtatgaattgataagaaaaaaccccggagcacgc
+cccggggttttcggtacaaatacagtcatctgatgcgggaacttacttgtcgcctaactg
+ctctgacatggtgttacccgggttcggcgtacgcggttcatcaaccggacgaggagcctt
+tggactaccattgtcgccagaattgttagaagcgcctggttcttcccagcccgctggcgg
+acgtacatcgcgacgtgccatcaggtcatcaatctgcggtgcgtcgatagtctcatattt
+catgagagcatctttcatcgcatgcagaatatccatattgtcggtcagaagctgacgcgc
+acgattatagttacgctcaatcagtgctttcacttcctggtcgatgatacgtgcagtttc
+atcggacatatgtttcgctttcgctacgctacggccgaggaacacttcaccttcttcttc
+cgcgtacagcagtggacccaatttctcagagaagccccactgagtcaccatgttacgtgc
+caggttggtcgcaactttaatatcgttggacgcaccggtagatacatgttccggcccgta
+gatgatctcttctgccagacgaccaccgtacagcgtagaaatctggctttccagtttctg
+acggctggcgctgattgcgtcgccctcaggcaagaagaaagtcacacccagcgcacgacc
+gcgtgggataatcgtcactttgtgcaccggatcgtgttccggcaccaggcgaccgataat
+cgcatgacccgcttcgtggtaagccgtcgattctttctgcgcttccgtcatcaccatgga
+gcgacgttccgcacccatcatgattttgtctttcgctttctcgaactcaaccatcgacac
+aacgcgtttgttgccacgagcagcgaacagtgccgcttcgttcaccaggttcgccaggtc
+agcaccggagaaaccaggagtaccacgggcaatgattgccgcgtcgatatcgggtgccaa
+tggtacgcgacgcatgtgaactttcaggatctgctcacgaccgcgaacatctggcaagcc
+gaccacaacctgacggtcgaaacggccaggacgcagcagggccgggtcgagaacgtccgg
+acggttagtcgcggcgataacgatgataccttcgttaccttcgaagccatccatctcaac
+cagcatctggttcagagtctgttcacgttcatcgtgaccaccgcccagaccagcgccacg
+ctggcggcctacggcgtcgatttcatcgataaagatgatgcacggtgccgctttcttcgc
+ctgttcgaacatgtcacgaacacgggatgcacccacaccgacgaacatttctacgaagtc
+agaaccggagatagtaaagaacggaactttcgcttcgcctgcaatcgctttcgccagcag
+cgttttaccggtacccggaggaccgaccatcaagacgcctttcgggatcttaccgccgag
+tttctggaagcggctcggctcgcgcagatactcaaccagttcagcaacttcttcttttgc
+ttcgtcgcagcccgcaacgtcagcaaaggtcgttttgatctgatcttccgtcagcatgcg
+cgctttgctcttaccaaacgacatggcacctttgccaccgccgccctgcatttgacgcat
+gaagaagatccagacaccaatcagcaacagcatcgggaaccaggagatgaagatagaagc
+cagcaggcttggttcttcaggcggttcaccgacaaccttgacgttcttggtcaacaggtt
+atccagtaatttcggatcctgaaccggaatgtaagtggtataacggttactatctttctt
+ggtaacgttgatttcacgtccgttgatacgcgcttcacgaacctggtcgttattgacctc
+ttgtaggaaggtagagtaatccaccttacggccattagactcgctgggcccaaagctctg
+gaatactgacatcagcacaacggcaatgaccagccagagtattaggtttttcgccatgtc
+actcaagggattaacctcttattacaactgtgttaaaaacagcgtcaggatactctatat
+ccagcatctttcaaactttcgtctgaaatctcccggttagggtttacgcccggtcgctac
+aatatacacttcccgcgaacgtgcacgagaagagtccggcttacgaactttgaccttcgt
+aaacagggagcgaatttcccttagatactcatcgaaaccttcgccctggaacaccttcac
+tacaaaactgccacctggcgctaatacatcacgacacatttctagcgccagttccaccag
+atacatggcacgggggatatccaccgccggtgttccgctcatgtttggtgccatatcgga
+catgacaacctggactttgctgtcgccaacgcgctccagcagtgctttcatcaccagttc
+atcacgaaaatcgccctgaagaaagtccacaccaacgataggatccataggtaaaagatc
+gcaagcgatgatgcggcctttgccgccaatttgggtgaccacatattgtgaccaaccacc
+cggagcagcaccaaggtcgacaaccgtcattcccggtttaaagagtttgtcactttgctg
+tatttcatcaagtttaaaccaggcacgggaacgtaacccctttttctgtgcctgttgaac
+atatttatcgctaaagtgttcctgaagccagcggctggagctggcagaacgcttcttacc
+tgtcatttaactttcccatggggataactcatcgtaaccaattgcgtaaatttttacgcg
+cctatttggtgatatatgggagatggcggtagaatgacccgttttcaatcccaacgtaag
+caaaaaatacgatgaatctgagtactaaacaaaaacagcacctgaaaggtctggcacatc
+cgctcaagccagttgttctgcttggcagtaatggtttgaccgaaggggtgctggccgaga
+ttgaacaagcgttagagcaccatgaactcatcaaggtgaaaatcgccaccgaagatcgcg
+aaactaaaaccttgatcgtggaagctatcgtgcgcgaaaccggcgcctgtaatgtacagg
+tcatcggtaaaacgctggtgctttatcgcccaactaaagaacgtaaaatctcgctgccac
+gctaagattatcctaaagttacacacatttgctgtgtaaaacgaggggttttccgcaggc
+aggagagcaaaatgccacgctctgttcgttgataaaaggccgcatagcggcctttttcct
+ttctttacaatacatcaacatcttgagtattgggtaattcttacaggtattccaccttaa
+ttacttcaaattctacttcgccgcccggcgttttgatgaccacaacatcatcttcttctt
+tgccgatcaggccacgagcaataggcgagtttacagaaatcaggttttgtttaaagtcag
+cttcgtcatcgccaacgatgcgataagtctgttcttcgtcagaatccagattcagcaccg
+ttacggtagcaccaaaaataacgcgcccattgttgggcattttggtgacatcaatcacct
+gcgcgttcgacagcttggcttcgatgtctttaatacggccttcgcagaaaccctgctgtt
+cacgagctgcgtggtattcggcgttttctttcaggtcgccatgctcacgcgcttccgcga
+tagcagcaatgatttcaggacggcgcacagatttcagaaaatccagctcttcgcgtaatt
+tttcagcgccgcgtaaggtcatcggaatagcttgcatttgttatacctcttgaatattcc
+tgatagggcaagtcttcacccaccccggctgttcggcctgcccggcataactccttaccg
+ggaccagaagcaaaaaaataccgacccgggtacaagtcccaggtcagctacaattcacat
+tttgatagtcattttaccctgaagttcccgaagggtcatcgtttactttatagggcgttg
+cgccgtagtatgacggctcgattccaggttgttagcgcgagattatgcgattttccagat
+ttatcatcggattgaccagctgtatagcgttcagtgttcaggccgcaaatgttgatgagt
+acattactcaactccccgctggtgccaaccttgccctgatggtgcaaaaagtcggcgcgt
+cggcccccgctattgattaccacagtcagcagatggcgctgcctgccagtacccagaaag
+tgattactgcgctggcggcgttgattcaactcggccccgattttcgttttaccacgacgc
+ttgaaaccaaaggcaatgtggaaaacggcgtacttaagggtgacttagtggcgcgatttg
+gtgccgatccgacgttaaaacgtcaggatattcgcaatatggtcgcgactttgaaaaaat
+ctggcgtcaaccaaatcgatggcaatgtgttgatagatacctccattttcgccagccacg
+ataaagcccccggctggccatggaatgacatgacacaatgctttagcgctccgcctgccg
+ccgccatagttgaccgcaactgtttctccgtctcgctctacagtgccccaaagcctggtg
+atatggcttttatacgcgtggcatcttattaccccgttacgatgttcagccaggtacgca
+ccctcccccgtggttctgccgaagcgcaatactgcgaactggatgtggtgccaggcgacc
+tgaaccgctttacgctgacgggatgcctgccacaacgttctgagccgctcccgttggctt
+ttgccgtgcaggatggagccagctatgccggtgcaattctgaaagatgagttaaaacagg
+cgggtatcacctggagcggaacactgctgcgccagactcaggttaacgaacctggaacgg
+tagttgccagtaaacagtcggccccgctgcacgatctgcttaagattatgctgaaaaagt
+cggacaacatgatcgccgatacggttttccgcatgataggccatgcgcgcttcaatgtgc
+ctggaacatggcgggccgggtcggacgccgtgcgtcagatcctgcgccagcaagccggtg
+tcgatattggaaacaccattattgccgatggttcagggctttcgcggcataacctgattg
+cccccgccaccatgatgcaggtgctgcaatacattgcccaacacgacaatgaacttaact
+ttatctccatgctgccgctggcgggctatgacggctctttgcagtaccgtgcaggtctgc
+atcaggcgggcgtggatggaaaagtctcagcgaaaaccggttcgttgcagggggtatata
+acctggcgggattcattaccacagcgagcgggcaacgaatggcgtttgtgcaatatcttt
+ctggctatgcagtagaacctgcggatcagcgtaatcgccgtattccgttagtgcgttttg
+aaagccgtttgtataaagatatttatcagaacaattagtcaaaaagaaaccccggcacat
+ggccggggcttcagattattgacaaagtgcgctttgtttatgccggatgcggcgtaaacg
+ccttatccggcctacaaaatcgtgcaaattcaacatattgcaattctcttgtaggcctga
+taagcgtagcgcatcaggctgatttggcgtttatcatcagtgattaacgcttgtaaatga
+actcaacgccttcttcgtcgtcttcgtcccagtcgtcatcccagtcttcatcatcctctt
+cagcaatctcttcaagctgctggcgatgataatcatcccacatgaattcgactttctctg
+gctgtttcgcttcttcagcctgcacgaccgggttttcaatgataaaggtcatcacatccc
+agcagagatctttcacgcccagtccactcgccgcagagatcagataatatttatcttccc
+agcccagcgcctcagcgatcgctttcgctttctcttcggcttctaccttatccagcagat
+cgatcttgttgaacactaaccaacgcggtttcgtcgccagatcctggctgtatttttcca
+gctcgctgataataatacgcgcgttttcaaccggatcggtgccgtcaatcggatcgatat
+cgatgaggtgcaacaggacgcggcaacgttccaggtgcttcaggaagcgaatgcccagac
+ctgcgccttccgcagcgccttcaatcagtcctggaatatcggcaacaacgaagctctttt
+cgttgtccattcgtaccacacccagacttggcaccagagtggtaaacggataatccgcca
+ctttcggtttagccgccgataccgcacgaataaaggtcgatttacccgcgtttggcatcc
+ccaacataccgacgtcagccagcagcatcagctccagcagcagctcgcgcttatcgcccg
+gcgtgccgttggttttctgccgcggtgtacggttaacggacgatttgaaacgggtattgc
+ccagaccgtgccagccgcccttagcaaccagcagacgctgaccgtgtttggtcatatcgc
+ccatggtttcaccagtaccctggtcgattacacgcgtacctaccggcactttaatcgtca
+cgtctttaccgcgcttaccggtacagtcgcggcttgcgccattctgaccgcgctctgcac
+ggaaagatttttcaaaacgataatcgataagcgtgttcaggttctcgtcggcttccatcc
+atacgtcaccaccatcaccgccgtcgccgccatccgggccgcctttcggaatatactttt
+cgcggcggaagctcacgcaaccattaccgccatcacctgcaacgaccagaatcgatgctt
+catcaacaaacttcattttattctccgtaaatcattcgcctgcgcggggttgcgatacca
+ccgttgtatgcttacgtaatccgccccaaatacgatgaccaatggcggaatacatcgcgc
+ccgcaaccacgacaaacgcaccgagataacctaaaaggtttaacatcggtctggcgaaga
+aatcgggccaggccagtgataaaagatctgaaaaaaacagcgtaaacagtggggtgagcg
+tgatgatcgcgctcacctgcgctgcctgccagcgagccatcgcttccgccagggcgccat
+atcctaccaaggtattcagtccgcaaaaaattaaacatgcgagctgccagtggctaagct
+gcgctatcactccaggctttgccagagggaagagcgcaattgtacataaagtgtacagta
+aaaacaggatctgcggtgaggccagccgacgcaataaaaccttttgcgccacgccataac
+tcacccaaaccgtcgccgcaccgaccccaaagataactccccaggtgtaatcggtgagct
+ttgtaaatatctcgaccagactggtgttaaaaaacatcaccaggccgctcaggagcatca
+atgcccctacaacctgagtgctgcgcattttctctttgaggataaatacgctggcaacca
+tcatgccaactggcgagagttgcccaatcacctgcgaagcggtcggactcaggtattgca
+aggatgagctgaacaggatgaagttcccaaacagcccggcggtcgccactgccaacaaaa
+tcaaccagcgtggcttacgaaacacgcgtaatggcggcaacctcttcttcaccgcaagaa
+tggcacccaggccaatactcgccatcaagaaacggtaaaacacgattgtcggaggttcca
+tcacctccagcacctgcttcattgcgattggcaacgccccccagcaaattgctgtggtga
+gcgccaaaagaatgccaatgcctgcctgctgcttcataccgtattccctgcaaagcgcat
+ttgcggattaacgtcgcaccatgcgcatttttaccggttatcgaatgtaaaaagccccgc
+aacgtgttgcggggctttcatccgttaccgggacgcgaaaaacttattcagcttcgatgc
+tgataaatttacggtttttcgggcctttaacttcgaatttcactttaccgtctgctttag
+caaacagagtgtggtcacgaccgcaacctacgttagcgccagcgtggaatttggtaccac
+gttgacgaacgatgatgctacccgccagaacggattcgccaccgaaacgcttaacgccca
+ggcgtttagcttctgaatcgcgaccgttacgtgtggagccgccagcctttttatgtgcca
+tttgaaatctctcctcaggtcttaggcgctgatgccagtaattttcacatcagtgaacca
+ctgacgatggccctgctgcttacgatagtgtttacgacgacgaaacttaacgattttaac
+tttctcgccacgaccgtgagcaacaacttcagctttgattacgccgccatcaacgaaagg
+aacgccgattttgacttcttcaccgtttgcgatcatcagcacttcagcgaactcaacagt
+ttcgccagttgcgatgtccagcttttccaggcgaacggtctgaccttcgcttactcggtg
+ttgtttaccaccactttggaaaaccgcgtacatataaaactccgcttccgcgcacacctt
+ttcaatgattcagagtgcgctataaatattcacaatagggcgcgaatattacgcaaaacg
+cacgcctttgacaagtgctacagtcaatacacgaagaaaaaaaacacaacttgtacggta
+acgtttatctgtgccattttttcagtacaatcaccctatattcctaaccataaaccctaa
+gttgcctttgttcacagtaaggtaatcggggcgaaaagcccggcttttgcgatgaattta
+gaaaaaatcaatgagttaaccgcgcaagatatggcgggtgttaatgcggcaatccttgag
+cagcttaattccgacgtccaactgatcaatcagttaggctattacatcgtcagcggcggc
+ggtaaacgtattcgtccgatgattgctgtactggctgcacgagctgttggctatgaggga
+aatgcgcatgtcaccattgctgccctgatcgagtttatccacacggcgactctgctacac
+gacgacgttgtggatgaatcagatatgcgcaggggtaaagctaccgccaacgccgcattt
+ggcaatgccgccagcgtgctggtaggcgattttatttatacccgcgctttccagatgatg
+accagcctcggttcgctcaaagtgctggaagtcatgtcagaagccgtaaacgtcatcgca
+gaaggtgaagttctgcaactgatgaacgttaacgatccggacatcactgaagaaaactac
+atgcgcgttatctatagcaaaaccgcgcgtctgtttgaggctgccgcgcagtgttccggg
+attctggctggctgtacgccggaggaggagaaaggcctgcaggattatgggcgctatctc
+ggcactgctttccagttgatcgacgatttactcgattacaatgccgatggcgaacagtta
+ggtaaaaatgtcggcgacgatctgaacgaaggtaaaccgacgctgccgctgctgcatgcg
+atgcatcatggcacaccagaacaggcacagatgatccgtaccgccatcgaacagggtaac
+ggtcgccatcttctggaaccggttctggaagcaatgaacgcttgtggatctcttgaatgg
+acgcgtcagcgtgccgaggaagaagcagacaaagccatcgcagcgttacaggtgctcccg
+gacaccccttggcgagaagcactcatcggcctcgcgcacatcgctgttcaacgcgatcgt
+taatcccctcccctcatcccgcgcagcgcgcgggatggttccagtaagttccataaaaac
+acttattcagctctataacacctgaaaaatagggatgtgcatctttatatattctgaata
+ttcacactctttacaggaactttttagagcaataggccatcaggagtatagtgatgctcg
+acagaagaagtgttctgaatgaaagcgactaacttaaggagtgaggaaaaatggaaagta
+atttcattgactggcatcccgctgacatcattgcgggtttgcgcaagaagggaacgtcaa
+tggcggcggaatctcgcagaaatggtttgagttcctcaacgctggcgaatgcattatcgc
+gcccatggccgaaaggagagatgattattgcgaaagccctgggaactgacccctgggtta
+tctggccatcacgctaccatgatccgcagacccatgagtttatcgacagaacgcagttga
+tgcgtagctacactaaaccgaaaaaatgagtggtctggcggtagccccgcgaacggggct
+gccagctctcagacgattattcgcctttcacacgctcaatatttgcacctaaagcgcgca
+gtttgtcttcaatgcgttcgtagccacgatcgatgtgataaatacgatcaaccaccgtcg
+tcccttccgcaatacagccagccagcaccaggcttgctgatgcacgcagatcggttgcca
+taacctgtgcgccagaaagtttttcaacaccgtgacaaataacggtattgctttcgattt
+cggcgtgcgcgcccatacggctcagctctggcacatgcataaagcggttttcaaagaccg
+tttcggtgataaacccggtcccttctgccaccaggttcaacagcgtgaactgggcctgca
+tatcggtcgggaatgccggatgcggcgcggtacgtacgttaacagccttcggacgtttgc
+catgcatatccaggctaatccagtcttcgccgacttcgatgtccgctccagcgtcacgca
+gtttcgccagcacggcgtcgagagtatctggctgcgcgttacggcagataattttgccgc
+gagaaatcgccgccgccaccaggaaagtaccggtttcgatacgatccggcagaacgcgat
+agacaccgccgcctaaacgttccacaccttcgatgacgatacgatcggtgccctgaccgc
+taattttcgcacccagcgtaatcaggaagttcgcggtatcgacgatttccggttcacgcg
+ctgcgttttcaataatcgtggtgccttccgccagggttgcagcacacatgatggtcaccg
+ttgcgccaacgctgactttatccatcacgatatgtgcacctttcaaacgaccatcgacgg
+aagctttaacgtaaccttcttccagtttgatggtcgcgcctaattgttcgaggccagaaa
+tgtgtagatcaaccggacgcgcaccgatcgtacaaccgccaggtagtgaaacttgcccct
+gaccaaagcgcgctaccagcggccccagcgcccagatagaagcacgcatggttttaacca
+gatcgtaaggtgcgcagaatacattaacgtcgcgggcatcaatatgcacagaaccattac
+gttctactttcgcacccagctggcttagcagcttcattgatgtatcgacgtctttcagtt
+tcgggacgttctggatctctaccggttcttccgccagtagtgcggcaaaaaggataggca
+gagcagcatttttagcgccggaaattgtgacttcgccctggagcttcgttggcccctgaa
+cacgaaatttatccatttagtttgttctcagttaacaattcatatccgctaccggcgaat
+cgcccatagctcaaaagccgttcagtttgcgatcgcgcgcccactccgcaggggtatacg
+ctttgatcgacacagcatgaatgcggttatccgcaatatattccatcagcggaccataga
+ccgtctgctgttttttaacccgactcatgccgtcaaacaactcacccacggcaataacct
+gaaagtggctgccatcgccggaaacgtggacttcctggagggagagagcgttcatcaaca
+cgctctgaatttcattattttccatgggatcttcaatcatcagttaataaaccagcgaaa
+catcttagagcaaagttgcgctggcataaataagcaaaaagcctcgctgataaatcagac
+aaggctcgacttgcaggcaggtttgccggacaggcggttaacgccatatccggcctgaaa
+aaatttaacgaggcagaacatcagcaggcaaattatacaatttcgccagggtatacactt
+tgtcgtttaccccctgaagcgtcacattgttgccctgctttttcgccagatcgataagat
+ggagcagcagtgccagtccccccgtatccacgcgggagacacggctaagatcgatgcagg
+taatccccttcaccgcttcctcacgcatttcccaaagcggtagcaaaacgtcctgatcca
+gctctccggataacgccagcgtgtcacccgtctgcatccagctcagtgactcgctcatta
+ttttttctcttccagagtgattttctgttgagaaatcgatttcagttgcgcagtcaggcc
+gtcgatacctttggtacgcagcagcgttccccactcgttttgtttggtggtgatcatact
+gacgccttcagcaatcatgtcgtaagcctgccaattgcccgtctgggagtttttacgcca
+ctggaagtccagacgcaccggcggacggccattcgggtcaataatggtaacgcgaatagg
+cacaatggttttatcgcccagcggctgttctggcgcaatctgataggtttgaccgtgata
+catcgccagcgcctgaccgtaagcctgcttcaggtactcacggaaagcggcaaagtaggc
+ttcacgttgagcaggggtcgcactcttgtaatactggcccagcaccagcgcaccggcgta
+tttcacctgtacgtatggcagcagttcctgatcaacaatggtacgcagataatccgggtt
+ggcccgaatttgcggttgctcattcttcaggcgatcgaacgttttctgcgccgcctcgtc
+catcagcttatacggattggtctggtctgccgcggttgccgcactcagaggtgcaatcac
+cagcaaagcgaccatcattaaacgtttaaacatgcgtcggttctcctgaaattatttcgt
+tgtacccacaggttcagtggtttcattattacctggcgcagcagctggcgcatcgccact
+attcttattgtcatcgcctttactaccgtaaaggaactgaccaatgagatcttccagcac
+catcgcagacttagtgtcctgaattgtatcgccatccttcaggatagcagtccccagttc
+cgggtcttcaaaaccgacgtttaatgccagatattgttcccccagcaggccggaagtacg
+aatgctcagcgaactggtatctggaatgtggttataacgttgttcaatttccagcgttac
+gcgcggcagataggttttcgggtccagcgtaatatccgccacccgacccacaacaacgcc
+accaatactgaccggagagcgcgctttcaggccgccaatgttatcgaacgtcgcataaag
+cgtgtaggtcggttcagtacgtatggacgtcacgttcgccgccttcaggcaaacaaacag
+cgccgccagcagtgctgctaataaaaagatacccacccaaatttcattttttttcgtttg
+catgaactcaattcccaaacatcaatgcggtcagcacaaaatccagccccagaacagcca
+gagacgagtggacaacggtgcgagtggttgcccggctaatcccggcagacgtcgggatgg
+cgtcgtagccgttaaacaacgaaatccacgtcaccgtgatggcgaacaccacgctcttaa
+tcagacagttgaccagatccatacgccagtcgacggcattttgcattgccgaccagaaga
+acccgctatcaatgcctttccaactgacgccgaccagagatccgccccagatccccacgg
+cgacgaaaataaccgtcaacagtggtaatgaaataaccccagcccagaaacggggagaaa
+taacccgacgcagcggatccaccgccatcatctccatactggagagttgctctgtagcgc
+gcatcaggccgatttctgcggttagcgccgaaccagcacgcccggcaaacaacaacgcgg
+caaccaccggccccagttcacgcagtagcgataacgccaccagcatacccagactggttt
+ccgcactataagtggtcagaaccagataaccttgcagccccaacaccattccgatgaaca
+cgccagaaaccacaataatcagcatcgacaggacgccgacattatagagctggcgcacca
+gcagcggcgcatgtttgcgaaattccggtttgccgaccagcgcattgaataacattaacc
+cggcccgcccgaacgttctcagggttttaatccctttatgtccgagcgacgccagcgcat
+ttaacagcatgagtggcttaactccctggtaaaagatcagcgtgataatcgccggcagga
+tagcggaacggaacaggcccgtcagctatcccgtccagaaactgacgtacgcgcggatca
+ggattcgcctgcaacgcctgggcactgccatgagcgacaatttttttgtccgccaggatc
+caggcgtgatccgcaatacttaacacttccggcacatcgtgagaaaccaccacacaagtc
+acgcccagcgcgctgttcagctcagaaatcagcttcaccagtacgcccatggtgatggga
+tcttgcccaacaaaaggttcatcaaacatgatgagatccggctccagcgcaatcgcacgc
+gccagcgctgcacgccgcgccatcccaccggaaagttcagaaggcattagtttagccgct
+ccacgcagccccacggcctccagcttcatcatcaccgtactatgcaacaatggcgcggga
+agttgggtatgttcgcgcagtggataggcgacgttgtcaaatacgttcatatcagtgaac
+aacgccccggactgaaataacatgctcatccgtttgcgcactgtatacaggcgcgaacga
+gacatcgccggaatattctcaccatcgaaaaggatctcaccatgatctggtgcgatttgc
+ccgccaatcagacggagtagcgtcgttttaccgatgcccgatggccccatgatcgccgtg
+atcttccctcgcggcacggtcagggaaatattatcgaagatgcagcgattgccacgcgta
+aaactgacatcgcgcatatcgactaaattcgccacagactgctccataattcacccttcg
+tcttgcgttgattttctaagcatggcgctcaatttaaccttgaacccaacatatttacag
+aatattacccgccgtggttagcgaaagctggcatttgttttactttttagccgcataaag
+tcaaaattaagcatccgttacggctttctgaaaatcttcagcggaccggcgagtatacct
+gaagaaaggacgttagatgcttttagctacggcactgttaattgttggtttacttttggt
+cgtttacagtgccgaccgcctggtttttgccgcgtctattctttgccgaacctttggcat
+cccgccgctgatcatcggcatgacggtggtcagtattggtacatcgttaccagaagtcat
+cgtctcgcttgccgcgtctctgcacgaacaacgcgatttagccgttggtacagccctcgg
+ctcaaacattatcaatatattgctgatcctcggtctggctgcgctggttcgtccttttac
+cgtccattctgatgttctacgccgtgaattacccttaatgttgttggtcagcgtggtggc
+cggttccgtactctatgacggacaacttagtcgcagcgatggtatctttctcctctttct
+ggctgtgctatggctgctgttcattgttaaacttgcacgtcaggctgaacgtcaggggac
+tgacagcctgaccagagagcagcttgcagagctgccgcgtgacggcggattgcccgtcgc
+gtttttatggctcggcattgcgcttatcatcatgccagtggccacgcggatggtggttga
+taacgccacggtgctggcgaattactttgccatcagcgagttgacgatgggtctgacggc
+aattgctatcggaaccagcctgccggaactggcaaccgcaatagcgggggttcgcaaagg
+tgaaaacgacattgctgtcggaaatatcattggcgcaaacatttttaatattgtcatcgt
+gttgggtttacccgcgctgataacgccaggagagattgatccactggcgtacagtcgtga
+ctacagcgtgatgttgctggtgagcattatttttgcgttgctgtgctggcggcgctcccc
+gcaaccgggccgtggtgtaggggtattattaactggcggatttatcgtatggctggcgat
+gttgtactggttatcgccaatactcgttgaataactggaaacgcattatgtcgcacgtag
+agttacaaccgggttttgactttcagcaagcaggtaaagaagtcctggcgattgaacgtg
+aatgcctggcggagcttgatcaatacatcaatcagaatttcacgcttgcctgtgaaaaga
+tgttctggtgtaaagggaaagttgtcgtcatggggatgggaaaatcggggcatattgggc
+gaaaaatggcggcaacgtttgccagcaccggtacaccttcatttttcgtccatcctggtg
+aagccgcgcatggtgatttaggcatggttaccccacaggatgtggtgattgctatctcta
+actctggtgaatccagcgaaatcacggccttaattccagtgcttaagcgtcttcacgtac
+cgttaatctgcatcaccggtcgcccggagagcagcatggcgcgcgccgcagatgtgcatc
+tgtgtgttaaagtagcgaaagaagcctgtccgttagggctggcaccgaccagcagcacca
+ccgccacgctggttatgggcgatgccctcgctgtcgcgctgttaaaagcacgcggcttta
+ctgctgaagattttgcgctctcacacccaggcggcgcactgggtcgtaaacttctgctgc
+gcgtaaacgatattatgcatacgggcgatgagatcccgcatgttaagaaaacggccagtc
+tgcgtgacgcgttgctggaagttacccgcaaaaatcttggtatgactgtcatttgcgatg
+acaatatgatgattgaaggcatctttaccgacggtgatttacgccgtgtcttcgatatgg
+gcgtggatgttcgtcagttaagtattgccgatgtgatgacgccggggggaatacgtgtgc
+gccctggcattctggccgttgaggcactgaacttaatgcagtcccgccatatcacctccg
+tgatggttgccgatggcgaccatttactcggtgtgttacatatgcatgatttactgcgtg
+caggcgtagtgtaaagattcaaggataaacaacaatgagcaaagcaggtgcgtcgcttgc
+gacctgttacggccctgtcagcgccgacgttatagcaaaagcagagaacattcgtctgct
+gatcctcgatgtcgatggcgtactgtcagatggcctgatttatatgggcaataatggcga
+agagctgaaagcgttcaatgttcgtgacggttatggcattcgttgtgcgctcacctctga
+tattgaagtcgctatcattaccgggcgaaaggctaaactggtagaagatcgttgtgccac
+attggggatcactcacttgtatcaggggcagtcaaacaaactgatcgcctttagcgatct
+gctggaaaaactggcgattgccccggaaaatgtggcttatgtcggcgatgatctcatcga
+ctggccggtaatggaaaaagtgggtttaagcgtcgccgtggccgatgcgcatccactgtt
+gatcccgcgcgccgattacgtgacgcgcattgctggcggtcgtggcgcagtgcgcgaagt
+ttgcgacttattactcctggcgcagggcaaactggatgaagccaaagggcaatcgatatg
+agtaaagccagacgttgggttatcattgtgctatcactggcggttctggtgatgatcggc
+attaatatggccgaaaaagacgataccgcccaggtggtcgtcaacaacaatgatcccacc
+tataaaagcgagcatacggacacgctcgtctataacccagaaggggcactaagctatcga
+ttgattgctcaacacgttgaatattattccgatcaggccgtttcgtggtttacgcagccg
+gtacttaccacgtttgataaggataaaatcccgacatggtccgtaaaagcagataaagcc
+aagctgaccaatgaccggatgctctatttatatggacacgttgaagtcaacgcacttgtg
+ccagactctcaacttcgcagaatcacgacggataacgcgcagatcaatctggtgacgcag
+gatgttacctctgaagacctcgtcacgttatacggaacaacatttaactccagcggtctg
+aaaatgcgcggcaacttacgcagcaagaacgccgagctgattgaaaaggttagaacatcc
+tatgaaattcaaaacaaacaaactcagccttaatcttgtgcttgccagctcacttctggc
+cgccagcattccggcatttgccgtaaccggagacactgatcagccgatccacattgaatc
+ggaccagcaatctcttgatatgcaaggcaacgtggttacctttaccggtaatgtcatcgt
+cacccagggcaccatcaaaattaatgccgacaaagtggtcgttacccgtccgggcggcga
+acaaggtaaagaagtgattgacggctacggtaaaccggcaacgttctaccagatgcagga
+caacggtaaacccgttgaaggtcacgcttcccagatgcactacgaactggcaaaagattt
+tgtcgttctgacgggtaatgcttatctgcagcaggtcgatagcaacattaagggcgataa
+gatcacttacctggtgaaagagcagaaaatgcaggctttcagcgacaaaggcaagcgcgt
+aacaaccgttctggtgccgtcgcagctgcaggacaaaaacaacaaaggccagaccccggc
+acagaagaagggtaattaattcgttatggcaacattaactgcaaagaaccttgcaaaagc
+ctataaaggccgtcgcgtggtagaagacgtcagcctgaccgtcaactccggggaaattgt
+cggtctgctggggccaaacggtgccggtaagaccaccactttctacatggttgtaggcat
+tgtgccgcgcgatgcgggcaacatcattattgatgatgacgatatcagtctgctgcctct
+gcatgcacgcgcgcgccgcggtatcggctatctgccacaggaagcctccattttccgtcg
+cctcagcgtttacgataacctgatggcggtactgcaaattcgtgacgacttgtctgctga
+acaacgtgaagaccgcgcgaacgagctgatggaagagtttcacattgagcacctgcgtga
+cagcatggggcagtcactctccgggggtgaacgtcgccgtgtagaaattgcccgcgcact
+ggctgcgaatccgaaatttattctgctcgacgaaccgtttgccggggttgacccgatctc
+ggttatcgacattaaacgcatcattgagcacctgcgcgacagcggcctgggcgtgctgat
+cactgaccacaacgtgcgtgaaacactggcggtttgtgaacgcgcttatatcgtcagtca
+ggggcatttgatcgcccacggcacgcctacagaaatcttacaagacgaacacgttaagcg
+tgtataccttggggaagacttcagactctgatagggtagaagtttgcgacgttttagcag
+gagagtacgattctgaacatgaagcaaggtttgcaactcaggcttagccaacaactggcg
+atgacgccacagctccaacaggcaattcgtctgttgcagttgtcgacgctggaacttcag
+caggagctacagcaggcgctggagagtaatccgctgcttgagcaaatcgacactcatgaa
+gaaatcgacacccgcgaaacgcaagacagtgaaacgctggacaccgccgacgcgctcgaa
+caaaaagagatgccggaagagctgccgctcgatgccagttgggacaccatttacaccgct
+ggtacaccatccggcaccagcggtgactacattgacgacgagctgccggtctaccagggc
+gaaacgacgcagaccttgcaggattacctgatgtggcaggttgagctgacaccgttttcc
+gacactgaccgcgctattgctacctctatcgtcgatgccgttgatgaaaccggttatctg
+actgtcccgctggaagatattctcgaaagtataggcgatgaagagatcgacatcgacgaa
+gttgaagccgtccttaagcggatccaacggtttgatccggtcggtgtggcggcaaaagat
+ctgcgtgactgtctgctgatccaactctcccaattcgataagaccacgccgtggctggaa
+gaggccagactgatcattagcgatcatctcgatctgttagccaatcacgacttccgcact
+ttaatgcgcgtcacgcgtctgaaagaagatgtgctgaaagaagccgtcaatctgatccag
+tcgctcgatccgcgccccgggcagtcgatccagactggcgaacctgagtatgtcattcca
+gatgtgctggtgcgtaagcataacggtcactggacggtagaactcaacagtgacagcatt
+ccgcgtctgcaaatcaaccagcactacgcctcgatgtgcaataacgcgcgcaacgatggt
+gacagccagtttatccgcagcaatctgcaggatgccaaatggttgatcaagagtctggaa
+agccgtaacgatacgctactgcgcgtgagtcgctgtatcgttgaacagcagcaagccttc
+tttgagcaaggtgaagaatatatgaaaccgatggtactggccgatatcgcccaggctgtc
+gaaatgcatgaatcgacgatatctcgcgtgaccacgcaaaaatacctgcatagtccacga
+ggcatttttgaactgaagtatttcttttccagtcacgtcaataccgagggcggcggcgaa
+gcttcctccacggcgattcgtgcgctggtgaagaaattaatcgcggcggaaaacccagcg
+aaaccgttgagcgacagcaagttaacctctttgctgtcggaacaaggtatcatggtggca
+cgccgcactgttgcgaagtaccgagagtctttatccattccgccgtcaaaccagcgtaaa
+caactcgtttgacccaaccgataaggaagacactatgcagctcaacattaccggaaataa
+cgtcgagatcaccgaggcactgcgcgaatttgttacagccaaatttgccaaacttgagca
+atattttgaccgaatcaaccaggtctatgttgttctgaaagtggagaaagtcacccacac
+ctcagatgcaacactgcatgtaaacggtggtgaaattcatgccagcgcggaaggtcagga
+catgtacgctgccattgatggcttaattgataagctggcacgccagttgaccaaacataa
+agataaactgaaacaacactaattgtccgggcaattagcatgtgcatggcggtctgttgt
+gcggcacaacgggccatttgtacggttaatgctccgagcctgttccactgtttgagtggg
+caggttcttaggtgaaattatgacaaataatgatacaactctacagcttagcagtgttct
+taacagggaatgtacgcgaagccgcgtccactgtcagagcaaaaaacgcgccctggaaat
+catcagcgagctggcggcgaaacaacttagcctgccgcctcaggtggtttttgaagctat
+cctgacgcgggaaaaaatgggcagtaccggtatcggcaatggtattgccattccgcatgg
+caaactggaagaagatactctgcgcgccgttggcgttttcgttcagctcgaaacgcctat
+agctttcgatgccatcgacaaccaaccggtggacttactttttgccctgctggtgccggc
+agaccaaactaaaacgcacctgcatactctgtcgctggtggcgaaacgtctggcggacaa
+aaccatctgccgccgtttacgcgcagcccagagcgatgaagagctgtatcaaatcattac
+ggataccgaaggtactccggatgaagcgtagttattcggtaatgtctcttttagacgttg
+tgaggagaaacagtacatggtactgatgatcgtcagcggacgttcaggttcaggtaaatc
+tgtcgccctgcgtgcgctggaagatatgggtttttactgcgtggataaccttcccgtagt
+gttgttacccgatctggctcgaaccctggccgatcgcgagatttctgccgccgtcagcat
+tgatgttcgtaatatgccggagtcaccagaaatattcgaacaggcgatgagtaacctgcc
+tgacgctttctcaccgcaactcctgttcctggatgccgaccgtaataccttaattcgtcg
+ttacagtgacacgcgccgactgcatccgctttccagcaaaaacctgtcgctggaaagtgc
+tatcgacaaagaaagcgatttgctggagcctctgcgttcgcgagcggatctgattgtcga
+tacctcagaaatgtccgttcacgagctggctgaaatgctgcgtacccgtctgctgggtaa
+acgtgaacgcgaactgaccatggtctttgagtctttcggcttcaaacacggtatccctat
+cgatgcagattacgtctttgacgtgcgcttcttgccgaacccgcactgggatccgaaact
+gcgtccaatgacaggtcttgataaacctgtcgccgcgttcctcgaccgccacacagaagt
+acacaattttatctaccagacgcgaagctatcttgagctatggttacctatgctggaaac
+caacaaccgtagctacttgacggtcgccattggttgtaccggcgggaagcaccgttcggt
+gtatattgcagagcaactggcagactacttccgctcgcgcggtaaaaacgtccagtcacg
+ccatcgtacgctggaaaaacgtaaaccatgaccgtcaagcaaactgttgaaatcacaaac
+aagctgggcatgcatgcccggcctgcaatgaagctgtttgaattaatgcagggttttgac
+gctgaagtgctcttacgtaatgacgaaggcaccgaggctgaagccaacagcgttattgcg
+ctgctgatgttggattctgccaaaggacggcagattgaagttgaagcgaccggtccacag
+gaagaggaagcactggccgccgttatcgccctctttaattctggttttgatgaagattaa
+tcttcatcactttgacatacaactcccttcaaactccccccgacaataagaaaatcacgt
+actgaaatcgttctcaatcaacgtcatttgtacattttgtgcgcttttcactttcagaag
+aaccttaagaaaaccttaagaggcattgtttaggttttgtttaagttaatcgaccatact
+ggagatcgtcagaaaatatttccaggagatggcatgattcgcttatctgaacaaagtccc
+ctgggcaccggaagacatcggaaatgttatgcgcatccggaagatgcccaacgctgtatc
+aagattgtctaccatcgtggcgatggtggcgataaagagatccgccgtgagttaaagtac
+tacgcgcatcttggtcgccggttaaaagactggagtggaataccgcgctatcacggtacc
+gttgagacggattgcggaaccggttatgtctacgatgtgattgcagattttgacggcaag
+ccttccattacgctgaccgaatttgctgaacaatgccgttacgaagaagacattgcacaa
+ctgcgccagctactgaaacagctgaagcgttatttgcaggataaccgtatcgtgacgatg
+tcgctgaagccgcagaatatcctctgtcaccgcatcagtgagtcagaggttatcccggtc
+gtctgcgacaacattggtgaaagcacattgattccactggcgacctggtcgaagtggtgt
+tgtctgcgtaagcaagagcggttatggaaacgatttatcgcccaaccggcgctggctatt
+gccctgcagaaagatctgcaacctcgtgagagcaaaacgctggccctcacttcgcgcgaa
+gcttaatccagctggtgttgttgcataaacggctcaccgcctaactgatacatctgccgt
+aaaatccacgcctgacggctacgcacgtagcccgatggcgaggagactttgaaacgaagt
+ggattaggtaatacagctgccagtaatgcagcttccgaccgggtaagtttgctcgcgggt
+ttgtggaaataacgttgtgccgcagcttcgacgccaaacacaccgtcgccaaattcggcg
+atattcaggtaaaccgtcaggatacgctttttgctccagaccgtttctatccccagcgtt
+aatccggcttccagcccttttcgaacccagctacgcccatcccataaaaagagatttttg
+gctgtctgttgagaaatcgttgaagcaccgcgaatacggttttcattgcgctcgttgtgc
+gccagggctttctcaatggaagcgacatcaaagccccagtgctcaggaaatttctgatct
+tctgcggcaatcaccgccagtcccatccacggcgagatttgatccatactgacccagtca
+gaatgtgccacgtaacgaaaattgccatgcagccaggcgctgacctgtcgctcgaccatt
+accgctgagaagggaacaggcgcaacgctaaacaacgcgatgcccccgccccagaaaacg
+gcgaggacaaccattaaccgcaaaagaaaacggcgaacgaaactaaacaccgttaagcgg
+cttttactcattcagccagaaccagcacgcgggaaaccagcttatcaatgccgctcgccg
+cttctgcaatgttctgcgccagcatatatgctggggtggtgacaatcttattgtcttcat
+caaccacgatatcatcgacaggacacggcacatgctccgcgcccatctcttccagcactt
+ctgcggtatcgatatcagtaccgatggtcaaacgcagcgggaaatcgaaaattttcggca
+gcatcgccggggcaatacacataaaaccaagcggttttccggcctgatgcatcgcttgtg
+ccagcgcctttaattcacggtcaacggtgcattcgctaccaagactggcaaaattgctta
+aattcttcgccgcgccaaacccccccggcacaatcaacgcatccagttcagcggcatcgg
+cctgggccagaggacggatttcaccgcgcgttattcgtgccgcttcaatcagcacattgc
+gcgtttccgtcatcgcttcgccagttaaatggttgataacatcaacctgctgcttatccg
+gtgcaaagcagaccgcctgcgcaccgctgcgtgaaatagctaacaacgtcaacaccgctt
+catgaatttcagaaccgtcatagacgccgcatccgctcagaattacgccaattttcttca
+ttgtgatcatcctttcgcaattgactgaaacacattaatttttttaataaaaatggtacg
+catcacacatttaactgattcatgtaacaaatcatttaagttttgctatcttaactgcgt
+gcggcctgaaaaacagtgctgtgcccttgtaactcatcataataatttacggcgcagcca
+agatttccctggtgttggcgcagtattcgcgcaccccggtctagccggggtcatttttta
+gtggcttttgccacccacgctttcagcacttctacgtcgtgacgccactcttctttcatc
+tcttcaatccattcaccgacgttatcttcccaggccggaaggtcaggagactgaatttgc
+tgacccagctgttgcagatggcgtaaccccactgaccccgccgcacctttaattttatgt
+ccttcctcaacaatgccttttttatcctgcgccgtcagattcgactccagcacgctgaca
+tagcccggcatcatcttctcaaacaccgctaacccgtcggtgatcagcttcggtcctaca
+agttcgagatactgttccagcatgggaatatcgagcaatgcttctgatttactgttctct
+tctgtcgtcaccgtactctcctcatcatcctgggtatcccagaatttcttgatcatcgcg
+gttagcgccggaacagaaagcggcttactcagcacatcatccattccagcattgaggtac
+tcttgtttgtctttcagcacgttagcggttaaggccaccagcggcggtaaatcctcgcgc
+ggataacgtttcgtcagttcacgagagatatccagcccggtcatatctggcaactgaata
+tccagcaacaccaggtcgtattcgcccggtttaaacatctccagcgccgccttgccggtc
+atggcgacatcaacgctgttacctaatttttccagcacagaacgcgcaacaatcacgttc
+agttcaatgtcttccaccagcagcacattcagcgccggtaaaggcatatcgtcttcatca
+aacgcatcatcgacctcttctgctaccgacggtgcgtggatcgtcaacgtaaaggttgaa
+cctttgccctgttcgctggtaaccgtaatatcgccgcccatatttttcgccagacgacga
+gaaacggccagaccaataccggtgccggtggcaggtttaccgccatgactgtctttcacc
+tggtaatacatggcgaaaattttatccagctcatcctgcggaatgccgataccagagtct
+tccacttcaaaatgcagcatatcgccttcatcgtagcgcacgcgcacggtaacctggcct
+tgctgggtgaatttgacggcgttactgatgaggttccacaggatctgccgtaaacgcgtc
+ccgtcggtaatgacctgatgcggtaatggcagcgtcggctccaggttaaagcgcaatcct
+ttttgttgcgcctgcaatgcggagagattttccagatcggcaaggaagctggtgaaatca
+accggttgattatcaagctggaccttgcgccgttccatcttatccatgtcgataatatcg
+ttaaagatattccccagcgtgacggccgaaacatggatggtcttgagatatttttcctgc
+tcggcggtgagttcggtatccagcagaatgcggctcagaccgacgataccgttcagcggt
+gtacgcaattcgtgactgatggtggagataaacgtcgttttgtcgcggctggcccgttca
+agcgcatcctgataccgcttacgctcggtaatgtcgcgaccaaagcccatcaaaccgtga
+cgtttacccacgcggtcgtagtacggcactttacggatttcaaagcaggctttgcgcccg
+tccgggtaatccagccactgttcataggtcagtgacacattatgacggaacactttttca
+tcggtttcaatgacttttgcggcggcttccggtgagtaaacatcagcaggtttcaggtga
+accagttgtttttcgctttttccggtcagcagctccatcgcgcggttacagccggaaaac
+tctttatcttcgttacgataaaaaaccaggtcgggtgaagcatcaaggaaggaacgtaag
+aatgaggattgctgctcgagctgaatttgtgtctcttcgcgctctttgatttcaattttc
+agttggccgaaggtttcctgcagttctgcttccgctttttcacgaacggcaatttcctga
+tttagctgggcaatattatcttttaactgaacgttgaggctcaaatcgcgctcgcgcatc
+tcctccagtttttgcaccagccgtgacagacgttgtcgtgactcctccagttgctcgacg
+accaccgatagaaagtagaccgcccacggcgtaatcagcaaaccaaagaagatagaacga
+ataacatcaatgctttcgacctgaccatgcagcaccatggttaccgccatttgtaccaca
+atggcaagaacgacgagggccagcgccagcaacattgagaagcgcaccagacctaacttc
+atcatcaggtcaacataatactgcgccagcagacgaatttgcttcattagggaattcctt
+cacgacaacctgccccaataatacccaattctgacagttacgttataaattgtgtgagaa
+atgcggaattcccctcaacgacctactccgttggaggtagccacggacgtcccagcgccg
+atccctgtacgccatgttcattcagatagcgatccagctcgaccattcccgtccatcgat
+tttcgcaccacagcggagcaagcagcgtcgggcgacgggcgctggcggaaatgcggtggt
+agatcacttccggtggcgtatggcgaatcatttctccggcagtgagcgtgtaatcctcca
+gttcaataccgttcaaacgccccgcttcccaggctttcgccataatgctgcctttcacaa
+tatgcagcggatgcagctttatgccgtccacgccggtttcaaccactcgctccagcgttt
+gcaaacattcagcctgcccttcgccaggcaggccgacaattaagtgggaacacaccttca
+gcccgcgctgacgtgccagctgggttgtacgctgataacaggcaaaatcatggccgcggt
+tgatgcgatgcagtgttttgtcgtgggcggtttgtagccccagctccagccacacttcgt
+aaccctggtccttatattcgcaaagcagatccagcaccgcatccggcacgcagtccgggc
+gggtacccacacacaaaccgacaatattggcctggctcaccgcctgctgatacatagaac
+gcagcacctgaacttccgcaaaggtgctggtatacgcctgaaagtaggccagatagcgtt
+tagcgcggttaactaaattcgcctggtgcgccagttgctcggcaatggaacgatgctgct
+gcgcttcatcggcaaacgaggcaacattacagaatgtgcagccaccacgcccgatggtac
+cgtcacggttagggcagctaaaaccgccgtgcagcgtcagcttatgcaccttttgcccat
+aacgacgggtgagatcaccaccaaacatattgactaatttctgtaactgcataatctgat
+agaccgcgccttgaaaagaggccaaagcctgccatttttagctcaattcggcgatgacct
+ggatcaatcgtcccggcctgcttttatcaactgcataatcaatcaaaattaccgaaattt
+catgcataatcacataaatcacttttgcttatcttgtgtcagatttttttatctcctgat
+ggattttaggcaaaaacagtagcatgaaacgtcattaccaattaaggcagtataaaatgc
+tggttttgtcgtcagttcaaggcaggataagggttaacacacctttatgacagtcaggaa
+ttgactgtttctctaacgacttcccttttagccttaaagataaaatccattttaatttca
+gtcatttaataaagaattttgcgctaaagcacatttctgtaccaataagcttgccatttg
+acctgtatcagctttcccgataagttggaaatccgctggaagctttctggatgagcagcc
+tgctcatcatatttatgcagtaattgagatcccctcttcaccgtattaaccgatgcgaaa
+aggacaacaagggggcgaatgcgaggcgcgcgtatgacacgcaaaccccgtcgccacgct
+ctttctgtgcccgtgcgcagcggttcggaagtggggttcccgcagagcctgggggaggtt
+cacgatatgttgtacgataaatcccttgagagggataactgtggtttcggcctgatcgcc
+cacatagaaggcgaacctagccacaaggtagtgcgtactgcaatacacgcactggcccgc
+atgcagcaccgtggcgcgattctcgccgatggtaaaaccggcgacggttgcggcttgctg
+ttacaaaaaccggatcgcttttttcgcatcgttgcgcaggagcgcggctggcgtttagca
+aaaaactacgctgtcgggatgctcttcctgaataaagatcctgaactcgccgctgccgca
+cgccgcatcgttgaagaagaactgcaacgcgaaaccttgtcgattgtgggctggcgtgat
+gtccccactaacgaaggcgtgctgggtgaaatcgccctctcctctctgccacgcattgag
+caaatttttgtgaacgccccggcaggctggcgtccacgcgatatggagcgccgtctgttt
+atcgcccgccgccgcattgaaaagcgtctcgaagccgacaaagacttctacgtctgtagc
+ctgtcgaatctggtgaacatctataaaggtctgtgtatgccgacggatctgccgcgcttt
+tatctggatcttgcggacctgcgtctggaatcggccatttgcctgttccaccagcgcttc
+tccactaacaccgtaccgcgctggccgctggcgcaaccgttccgctatctggcgcataac
+ggtgaaatcaacaccatcaccggtaaccgccaatgggcgcgtgcgcgtacttataaattc
+cagacaccgcttatccctgacctgcacgacgccgcaccgttcgtcaacgaaaccggctct
+gactccagttcgatggataacatgctggaactgctgctggcaggcgggatggatatcatc
+cgcgccatgcgtctattagtaccacccgcctggcagaacaacccggatatggacccggaa
+ctgcgtgccttctttgactttaactccatgcatatggagccgtgggatggcccggcgggc
+atcgtgatgtccgacggtcgttttgccgcctgtaacctcgaccgtaacggtctgcgtccg
+gcgcgctacgtcatcaccaaagataagctcatcacctgcgcctctgaagtcggtatctgg
+gattaccagcctgacgaagtggtcgaaaaaggccgcgtcgggccaggcgaactgatggtt
+atcgacacccgcagtgggcgtattctgcactcggcagaaaccgatgacgatctgaaaagc
+cgccatccatataaagagtggatggagaaaaacgtccgccgactggtaccgtttgaagat
+ctgcccgatgaagaagtgggtagccgcgaactggacgacgacacgcttgccagctaccag
+aaacagtttaactacagcgcggaagagctggactccgtaattcgcgtactgggcgaaaac
+ggtcaggaagcggtcggttcgatgggcgatgataccccattcgccgtgctctccagtcag
+ccgcgcattatttacgactacttccgccagcagtttgcccaggtgactaacccgccaatc
+gacccgctgcgtgaagcgcatgttatgtcgctcgccaccagtatcggtcgtgaaatgaac
+gtcttttgcgaagcagagggccaggcgcaccgtttaagctttaaatcgccgattctgctc
+tactccgatttcaaacagctcacgacgatgaaagaggagcactaccgcgcagatacgctg
+gatatcacctttgacgtcactaaaaccacgctcgaagcgacagtcaaagagctgtgcgac
+aaagccgaaaaaatggtacgtagcggcaccgtgctgctggtgctctccgaccggaatatc
+gctaaagatcgcctgccggttccagccccgatggcggttggcgcgatccagacccgtctg
+gtcgatcaaagcctgcgttgcgatgccaacatcatcgtcgaaaccgccagcgcccgcgat
+ccgcaccacttcgccgtgttgctgggcttcggcgcgacggctatttatccataccttgcc
+tatgaaacgctgggccgcctggtagacacccatgcgattgccaaagattatcgtaccgtg
+atgctcaactaccgtaacggcatcaacaaaggcttgtacaaaatcatgtccaaaatgggc
+atctccaccatcgcctcttaccgctgctcgaaactgtttgaagcggtcggtctacacgat
+gatgtagtgggcctgtgcttccagggggcggtcagccgcattggtggagcaagctttgaa
+gacttccagcaggatctgctgaatctgtcgaaacgtgcctggctggcgcgtaagcccatc
+agccagggcggtctgctgaaatacgtccacggcggcgaataccacgcctacaacccggac
+gtggtgcgcacgctgcaacaagcggtacaaagcggcgagtacagcgactatcaggaatac
+gcgaagctggttaatgagcgtccggcaaccacgctgcgcgatctgctggcaattacgccg
+ggtgaaaacgcggtcaacattgctgatgttgaaccggcaagcgaactgtttaaacgcttt
+gataccgccgcgatgtctatcggcgcgttaagcccggaagcccacgaggcgctggcggaa
+gcgatgaacagcatcggcggtaattcgaactccggtgaaggcggcgaagacccggcgcgc
+tacggcaccaacaaagtgtcgcgcatcaagcaggtggcttccggtcgctttggggttact
+ccggcgtatctggtcaatgccgacgtcattcagattaaagtcgcccagggcgcgaagcca
+ggcgaaggcggtcagttgccgggtgataaagtcacgccttacatcgccaaactgcgctat
+tcggtgcccggagtgacgctgatctccccgccgccgcaccacgatatctactctatcgag
+gacttagcgcagctcattttcgacctcaagcaggttaacccgaaagcgatgatctccgtg
+aagctggtttccgaaccgggagtaggcaccatcgcgactggcgtggcaaaagcttatgcg
+gacttgatcaccatcgcaggctatgacggcggcaccggcgcaagtccgctttcatcggtg
+aaatacgcaggctgtccgtgggagctggggcttgttgaaacccagcaggcgctggttgct
+aacggcttgcgtcacaagatccgtttgcaggtcgatggcggcctgaaaacgggtgtcgat
+atcatcaaggcggcgattctcggcgcagaaagcttcggcttcggcactggcccgatggtg
+gcgctcggctgtaaatatctacgtatttgccatctgaacaactgcgcaacgggtgtagca
+actcaggatgacaaactgcgtaagaaccactatcacggcctgccattcaaggtgacgaat
+tactttgagtttatcgcccgtgaaacccgcgagctgatggcacagcttggcgtaacacgt
+ctggtggatctgattggtcgcaccgacctgctgaaagagctggacggtttcaccgccaaa
+cagcagaagctggcgctgtcgaagctgctggagactgccgaaccgcatccaggtaaggca
+ctctactgcaccgaaaacaacccgccgtttgataacggcctgctgaacgcgcagttgctg
+caacaggcgaaaccgtttgtcgatgagcgccagagcaaaaccttctggttcgatattcgc
+aacaccgaccgttctgtcggcgcgtcgctttcaggctatatcgcccagacgcacggcgat
+caggggctggcagccgatcctatcaaagcgtacttcaacggcaccgcaggccagagcttc
+ggcgtgtggaacgcgggcggcgtggaactgtacctgaccggtgatgccaacgactatgtc
+ggtaaaggcatggcgggcggcttaatcgccattcgtcctccggttggttccgccttccgc
+agccatgaagcaagcattatcggcaacacctgcctgtatggcgcgaccggtggtcgtctg
+tatgccgcaggccgcgcgggtgaacgtttcggcgtgcgtaactccggtgctatcaccgtg
+gtagaaggcattggcgacaacggttgtgaatatatgacgggtggtatcgtctgcattctg
+ggtaaaaccggcgttaacttcggtgcgggcatgaccggcggtttcgcttacgttctcgat
+gaaagcggcgatttccgcaaacgcgttaacccggaactggtcgaggtcttaagcgttgac
+gctctggcgatccatgaagagcatctgcgtggtcttatcaccgagcatgtgcagcatacc
+ggctctcagcgcggtgaagagattctggcgaactggtcaaccttcgccactaaatttgcg
+ctggttaaaccgaagtccagtgatgtaaaagcactgctgggtcaccgtagtcgtagcgca
+gctgagttgcgcgtgcaggcgcagtaaggggtagcaacaatgagtcagaatgtttatcaa
+tttatcgacctgcagcgcgttgatccgccaaagaaaccgctgaagatccgcaaaattgag
+tttgttgaaatttacgagccgttttccgaaggccaggccaaagcgcaggctgaccgctgc
+ctgtcgtgcggcaacccatactgcgagtggaaatgcccggtacacaactacatcccgaac
+tggctgaagctcgccaacgaggggcgtatttttgaagcggcggaactgtcgcaccagacc
+aacaccctgccggaagtttgcggacgagtctgcccgcaagaccgtctgtgcgaaggttcc
+tgcactctgaacgatgagtttggcgcggtgaccatcggcaacattgagcgctatatcaac
+gataaagcgttcgagatgggctggcgtccggatatgtctggtgtgaaacagaccggtaaa
+aaagtggcgattatcggcgcaggcccggcaggtctggcgtgtgcggatgtcctgacgcgt
+aacggcgtaaaagccgttgtcttcgaccgtcatccagaaattggcgggctgctgaccttc
+ggtattccggccttcaagctggaaaaagaggtaatgacgcgtcgccgtgaaatcttcacc
+ggcatgggtattgaattcaaactcaataccgaagtgggccgcgacgtacagctggacgat
+ctgctgagtgattacgatgccgtgttccttggcgtcgggacttatcagtcaatgcgcggc
+gggctggaaaacgaagacgccgatggcgtgtacgcagcgctgccgttcctcatcgccaac
+accaaacagttaatgggctttggtgaaacccgcgacgaaccgttcgtcagcatggaaggc
+aaacgcgtggtggtccttggcggtggcgacactgcgatggactgcgtgcgtacgtccgtg
+cgccagggagcgaagcacgttacctgtgcctatcgtcgtgatgaagagaacatgccgggt
+tcccgccgcgaagtgaaaaacgcgcgggaagaaggcgtagagttcaaattcaacgtccag
+ccgctgggtattgaagtgaacggtaacggcaaagtcagcggcgtaaaaatggtgcgtacc
+gaaatgggcgaaccggacgccaaaggccgtcgccgcgcggagatcgttgcaggttccgaa
+catatcgttccggcagatgcggtgatcatggcgtttggtttccgtccacacaacatggaa
+tggctggcaaaacacagcgtcgagctggattcacaaggccgcatcatcgccccggaaggc
+agcgacaacgccttccagaccagcaacccgaaaatctttgctggcggcgatatcgtccgt
+ggttccgatctggtggtgaccgctattgccgaaggtcgtaaggcggcagacggtattatg
+aactggctggaagtttaagcgaggtaacaatgaattcgccagactgtgtctggcgaatca
+aattactgacgaagtgcgcgttgttttctggcaaatgcggcatgagcgtttgacctttcc
+tataatagggataattttcaataaattgtgctttgttcaccaagtctgatgagtgaagca
+catcaagcaatttctcatttacaatccgtctcaattacttgttaacacctctgacaatac
+cgattctgcaagctattcagtcttttcattccatgtaaattgtctcgatattaatataca
+aaatatgaatataaaaaaccaatatattatccttaattatctatatattttcctattttt
+cagcgcaaacattcatgtaatgaataattatcaccacaaaccacctcaccagcaccttat
+tattcacatgatcgtaactataaaattcattaaataaatacatcccagcaagttggctat
+ttctgaacgagttatttatttacattcacaaacagatatatatactgcttcagcttttta
+ttttaaaaaataaatttgttattaaggatatgttcatatgtttttcaaaaagaacctcac
+aacagctgctatttgtgcagcactttctgttgcagcattcagtgccatggcaacagattc
+aactgatacagaattaactatcatcggcgagtatacccctggtgcatgtaccccagttgt
+tacgggcggcggcattgttgactatgggaaacatcataacagtgcgctgaatccgaccgg
+taaaagtaataaactggttcaactgggccgcaaaaacagcacattaaatataacctgcac
+agcaccaacgctaattgctgtaacctccaaggataaccgtcagtcgaccattgtagcgtt
+aaacgacacatcctatattgaaaaagcttatgatactctcgtagatatgaagggaacgaa
+aaacgcctttggtttaggttctgcgcctaatggacaaaaaattggcgctgcatccattgg
+tattgacaggtctaatggtgggattcacgcggcggacgatacaggtgaaattcctgtcga
+cctgattcaaactgaccactggtcagcagcgacccccacatggaaagcctcatctaatgg
+cgcattctgctcgctgacaagttgctcagcaatcgagcgcggttattctgttgcaaaaac
+aggggaactgacacctgttgctattacagcggtcaccttcccgttactgattgatgctgc
+ggtaaatgacaatactattcttggttctgatgaaacgatcaaactggatggtaacgtcac
+tatcagcgttcagtatttataagaacttgtaatacagtttttatttttacgcattaacca
+gttagctataactcggacagattatgccctatgacatggtctgtcttaatcaatctcatc
+gcaaacagtgcataacatatattaacaatatgtttctgcgttatttatcattattacagg
+agttttaatttaaatgctcagacacattacattcactgtatttataacaacatcaatgaa
+taccttagccacagggatggttcctgaaacatcagtattgctggttgatgaaaagcgtgg
+tgaagctagtattaatattaagaatacagatgatcatccttcattgctttacaccaccat
+tgttgatttgcctgaaagcaataaatcaattcgtttaatcccgactcagcccgttattcg
+tgttgaagccggtcaagtacaacaggttcgatttttacttcaggcgactgttcctctgca
+atcagaagagctgaaacgcgtaacgttcgaaggtattccaccaaaagatgacaagagcag
+cagagttactgtttcaattcgtcaggatctacctgtactgatccacccggcttccctgcc
+ggaagagcgagagacctggaaattcctggaatggcgtaaaaatggcgaccaaattgagat
+tagcaaccccagtaattatgtcgttcgtatgaccttacaatttaaaacgctcccttcagg
+aaaaacgggggctataaataagacctattttctaccacacaccagtacaactactgcatt
+aacaaacgctacggatacaaaagtcgagttttacccagccagccgatatggttatcgcgg
+taataaatatgtcactgacttaaaataactttgcctggagcgacaaggatgttaaaaaaa
+acgttactggcctacaccattggttttgccttttctcccccagccaatgcagatggtata
+gagattgccgctgttgattttgatcgggaaacattaaaatcactaggtgtagatcctaat
+atatcgcattatttttcccgttcagcccgttttttgccaggtgaatattcactgatagta
+tcagtaaatggcgaaaaaaaaggcaacattgctacgcgctttgatgaaaatggcgacatt
+tgtcttgatcaggcatttctgcaacaagccggtttaaaaattccttctgaagaaaaaaat
+ggctgttacgactatatattgtcctacccgggtaccacaatcacaccattacctaaccag
+gaagcgttagatattatcgtttcaccacaggcgatcattcccatagggttggatctcaca
+aacgcagcaactggtggaacagctgcgctgctaaactactctctgatgagcagccgtgca
+gaattttctaatgggagttcggactactcccaggctgcacttgaaggcgggattaatatt
+aatgactggatgttacgcagccatcagttccttacacaaacaaatggcacattcagtaac
+cagaactcgtcaacctaccttcaacgtacctttacagatcttaaaacactcatgcgagca
+ggtgaagttaacctcaataatagcgtgttggaaggagccagtatttacggtatcgaaatc
+gcaccggacaacgcattgcaaaccagcggcagtggtgtgcaagttactggtatagccaac
+acctctcaggctcgtgtcgagattcgtcaacaaggagttttaattcattccattctggtt
+cctgcgggcgcattcactatccctgatgtacctgttcgcaatggtaatagtgatcttaat
+gtcaccgttgtcgaaacagacggtagttcgcacaactatattgttccctccaccctgttt
+aatcagcatgtagaaagcttccagggttatcgcttcgcgatagggcgggtagacgatgac
+tatgacgaatcaccttgggtaattagtgcatcgagcggatggaatctgacacgctggagt
+gcaatgaacggcggcgttatcgtagcagaaaattatcaggcggcatcaatccggtcgagt
+ctggttcccctgcccgatttaacagtgagcagccaaattagtacatcgcaggatacgaaa
+gactcactgcaaggacagaaatatcgtcttgacgcgaactacaatctcccattttcactt
+gggctaacaaccagcctcactcgatctgatcgccattatcgcgaactgtctgaagcgatt
+gatgatgattataccgatccgactaaaagcacttatgcgcttggtttaaactggtctaac
+tccattctgggtggtttcaacatcagtggctataaaacatatagttacgacggtgacaat
+gactcaagcaaccttaatattaactggaacaaagcgttcaaacacgccacggtttccgtc
+aactggcagcatcaacttagtgcttcagaaaataatgaagacgatggtgatctgttctac
+gtcaacatcagtattccatttggcagatcaaacaccgccacactgtatactcgccatgac
+gatcataaaacccactatggtactggtgtcatgggagtcgtctcagatgagatgtcctac
+tatgtgaatgctgaacgagatcacgacgaacgtgaaacgagcttgaacggcagtatcagt
+tccaatctccattacacccaagtcagccttgccgcaggagcaagcggcagtgatagccgt
+acttacaacggtacgatgtcaggtggtattgccgtacatgatcagggagtgaccttttca
+ccgtggactatcaatgacactttcgccatcgcaaaaatggataacaatattgcaggtgtc
+agaattacatctcaggcaggcccagtatggacagattttcggggtaatgccgtcattcca
+tcaatccagccgtggcgaacatcaggagttgagatcgataccgccagcttgccaaaaaat
+gtcgatatcggtaacggcacaaaaatgatcaaacaaggccgtggtgcagtagggaaagtc
+ggattcagtgcgataacacaacgccgtgcattactcaatatcacactttccgacggcaaa
+aaactgcccagaggcgttgcgattgaagatagtgaaggcaactatctgacaacatcagtg
+gatgacggtgttgtattcctcaataacatcaaaccggacatggtgctagatataaaagat
+gagcagcaatcatgccgtattcaccttacattcccagaagatgcaccaaaagatgtgttc
+tatgagacagcaacaggagagtgccaatgaaacggataataacaggatgcctgctgctga
+acttcgccatggccgctcaggcagagtgtaatatctccagtagcatacaaaatatcgact
+atggcaaacgaagtgctgccatgcgccaagttgaccggggtaaaacaacacaattagcag
+acagaacaatcacgctggtaatgcaatgcgatcaggacgctcatattcgtgttcagttga
+ataccgctaatatttccaacaacggatttggatttggcccgaatggttcattaaatctga
+tcgccagcgatgcattttcaggtagtaacaatctcgacctggcgttagccagtggcaaaa
+atgacaatccgggcagcacaggaacagcatcaattagggaaggtgcgaataagcggggaa
+attcttctcggctgactcagtcatttcatttcttcatgtttgagccgattttttctcccg
+taaatgccttgaatcagcctatttagaccgtttcttcgccatttaaggcgttatccccag
+tttttagtgagatctctcccactgacgtatcatttggtccgcccgaaacaggttggccag
+cgtgaataacatcgccagttggttatcgtttttcagcaaccccttgtatctggctttcac
+gaagccgaactgtcgcttgatgatgcgaaatgggtgctccaccctggcccggatgctggc
+tttcatgtattcgatgttgatggccgttttgttcttgcgtggatgctgtttcaaggttct
+taccttgccggggcgctcggcgatcagccagtccacatccacctcggccagctcctcgcg
+ctgtggcgccccttggtagccggcatcggctgagacaaattgctcctctccatgcagcag
+attacccagctgattgaggtcatgctcgttggccgcggtggtgaccaggctgtgggtcag
+gccactcttggcatcgacaccaatgtgggccttcatgccaaagtgccactgattgccttt
+cttggtctgatgcatctccggatcgcgttgctgctctttgttcttggtcgagctgggtgc
+ctcaatgatggtggcatcgaccaaggtgccttgagtcatcatgacgcctgcttcggccag
+ccagcgattgatggtcttgaacaattggcgggccagttgatgctgctccagcaggtggcg
+gaaattcatgatggtggtgcggtccggcaaggcgctatccagggataaccgggcaaacag
+acgcatggaggcgatttcgtacagagcatcttccatcgcgccatcgctcaggttgtacca
+atgctgcatgcagtgaatgcgtagcatggtttccagcggataaggtcgccggccattacc
+agccttggggtaaaacggctcgatgacttccaccatgttttgccatggcagaatctgctc
+catgcgggacaagaaaatctcttttctggtctgacggcgcttactgctgaattcactgtc
+ggcgaaggtaagttgatgactcatgatgaaccctgttctatggctccagatgacaaacat
+gatctcatatcagggacttgttcgcaccttccttagtacttcccccaataattggctggt
+gtttatgcaaaatggtcaagaagtggtaattgatagcggtaaaagcgttagcctcacact
+gacaatggctccagcttttaaggatgaaggggaactaaccgacatgacagatattacagg
+caatctgacggtcctggtggaggcaaaatgaacaatgtaaaattactgattgccggaagt
+gccttttttgccatgtcagcgcaagccgctgatagagtatcaattgacgttaaggtgact
+ctggaagctgcagcttgtactccaatactaagcaacggcggagttgttaacttcggtagt
+cattcagtcaatagactttcaacgcagcactacacacagattggaacacgtaatattaat
+atgactataacttgcgaatccgctaccggcattgcgattaccgctcgtgatacacgaatg
+gatagtatgaccaccggaaaagatagtgggggtcagagtggtgtaaaatataccttaaat
+ggcggaggttatattagccagacaacgcgcttattcggcttagggaaaacaaaagataat
+aaaaatatcggtagttatgccgtgttaattgatagcaacaacattagtgccagcaatggt
+agccagacgttagctgtatcaatagcaggtgcagatgccgtcataacagggcaaaaaaga
+gcatggcaaacgctcaccgcttatccgcttgcagtcgatcaaagctattattacaccttt
+gtaaaaccaggtgaaacaaccccaactcctgtaacgaacgccattataccgcttcaggtg
+agcgcatctatcgcgaatgatttaggcggttcagaaaaaatcgaacttgatgggaaagct
+gtgataagcgtagtctacttgtgataacaatgccggacaggagtactatcaggcattcgt
+tttatacgatcggttaatgtttcaggaaagctcttcgcatatcttggggaaagtaaatgt
+aatacgctgttcttaattgttcagtgctcaccccccagagtatagctcattccattattc
+aacttagctccatataaagggacagataatggaatcgctctcagaaggaaccacagcagg
+ctaccagcaaatccacgacggtattattcatctggtcgatagcgcccggacggaaacggt
+acgtagcgttaacgcgttaatgaccgcgacgtaccaggaaattggccgacgaattgtcga
+atttgaacaaggtggcgaggccagggctgcgtatggtgcgcagctaatcaagcgactatc
+aaaggatttatgtctaaggtataagcgtgggttctctgcaaaaaacttacgccaaatgag
+gcttttttacctcttttttcaacatgttgaaattcaccagacaatgtctggcgaattaac
+accattgggaattccgcagacaccgtctgcagaattcccatcggcaaagatttggcagac
+gctgtctgccaaatctttccccttgcccaggtccacctacgtccgtttactttccgttaa
+aaacgctgacgcccgcagcttttatgaaaaagagacgctccgctgtggctggtctgttcg
+ccagctagagcggcaaattgcgacccagttttatgagcggacactactgtcacatgacaa
+atcagccatgctgcaacaacacgctcctgccgagacgcatattcttccgcaacaggcgat
+acgcgatccctttgtgctcgaatttctggaattgaaagatgaatattcagaatccgattt
+tgaggaggcgctgatcaaccacctgatggatttcatgctggaacttggggatgattttgc
+ctttgttggtcggcagcgaaggttacgcattgatgacaactggtttcgtgtcgatctgct
+gtttttccaccgccgtttacgctgcctgctaatcgtcgatctaaaagtgggcaaattcag
+ctatagcgatgccggacagatgaatatgtatctcaactacgccaaagagcactggacgct
+accggatgaaaatccgcccatcggtctggttctctgtgcagagaaaggagccggagaagc
+gcattatgctctggcaggtttgcctaacaccgttctggcaagcgaatataagatgcaact
+acctgatgagaaacgactcgcagatgaactcgttcgaacacaggcggtgctagaggaagg
+ctatagacgccgttaatttcagcggtttcgaattctgcagacagtgtctgcagaatcttt
+aaaacgaactaagttttaagccattaaatcagccttaaccttcaccacaacctttttaat
+ctctccaggctcgccgacaacgcatcctggtttatgcggttcacctggcataaacacggc
+gaacattcccggttttaagatgatggcttgctcgttatcaatggtgctgcaaagctgata
+atcatcctcatggtggaactcttcacactgacgcgcagtgcctgccatgccaaacagaat
+ccgttcctcaccgtttaataacagctggatatcaatgtattgctcgtgcaattccgcttt
+tttctcgacgggcgattgagtgttaaacgtcatgacattcataaagatattgtcgccctg
+taattcgtaacgacccggcgctttttcttgcggtctggcagctaatgccagcgttaacgc
+gtcctgtaacgcaggatgtaacccagcagacggtaatgactgtacttcacccatcatcat
+aatttttctccctgggccaacagcgcagccccaagtaaacctgcatcatggcggtaatgc
+gccgccagtaaatcaacatgaaatgccgctggctcctgcgccagatacgtttccaccagc
+gccagatacccttctgccagaccaacgctgccaccgaccaccacgcactggcaatcagtt
+gtggctttaatatcagcgatcagccttgcaagcgtacgtgcggagcggtgaatcagctgc
+tgcgcctgctcgtcaccctgcccggcgcgcgtgaaaatagttttcgcatccgcgccagcc
+aactccccctgcgctgccgctgcaatgccgcgaccagaagcaatcgcttccacgcaacct
+gtgcgtccacagccgcagactgggccgtgtggatcggcaagcgtatgcccgatatgcccc
+gccagaccgccagggccggtaagcagtttgcagccgctcactacaccgccgccaacgccg
+gtggaaacggtgataaagaccatatcggttatatcgccatccagcgcctgaaactccgcc
+catgctgcggcctgcgcgtcgttaatggcaatggtcggcaaattggtaagttgttccagc
+gttttgactaacggaaagtgtagcaatccaccaagattatgcggattaagcgccagcaag
+ctgccgtcacggattatcccggtcgaagcgatggcaacccgctgcgcatgagcttgcaac
+ggagagactaatgcggataaggcatcacgcaaggcttctggtgtctggctggctggcgta
+ggaagttcacgacgatcgcggatctgcccgtcagcgccaatcagcgcggcggcaagttta
+gtaccgccgatatcaatcgccagtgtggtcatagcaccgcctttttcatcgctgtgttgt
+accactgacaaatgtgctcaagacgcgtgattgcagaaccgaccgtcaccgcccacgcgc
+cgtggcgcatcgcatccgccgcctgagcaggcgtgttgtaacgcccttcggcaatcaccc
+gacatccggcgtcgctcaacgttttcaccagcgccagatccggctcttctggcgtttcag
+gcgtggtatagccagaaagcgtagtgccaataatttcggctcccagcttttggcatgcca
+ggccgtcttccggcgttgagcagtcggtcatcgccagtaaaccgtgatggtgaatacgtg
+ccagcagcgtttcaacaggcaccggacgcgggcggtcggtgccgtcaatggcgataatgt
+ccgcgcccgcctgcgccagcgcatcaacatcttcaatataggccgtgatgcgtaccggag
+aatcctccagatcgcgtttcacaattccaataatcggcacgctcaccaccgcacgcgtgg
+cttgcagatttgccacaccttcaatgcgaatggcaaccgcgcccgcctgttctgccgcta
+atgccatggcggcgacgatttcgggtttatcgagcgggctgtccggaaccggctggcagg
+agacaatcaggccaccgttagcagcgattttttgatccagttgtgcaagtaacgacatac
+atcttcccttagcgaaaggcccggtacatagaccgggcaacaggattaacttttggtttt
+gactaaatcgtttttggcgctgccaaacggcacggcaccgctgaatggtttaccgtcgat
+agcgtcatgagtacgcaacgcttccgggcgcaaccaacgctgaacgcgagaaggcatatc
+cagcccaatcagcaggatcaccacgaacgtcagactgaacgagagcgatgccagcgcagt
+acccagatccagacgttgagcgatcaacgcgccgatgattggggccagtgcaccgcccaa
+tgcgccaacgttgtaggtaaagcccaggcccgctgcacgctggtcggtatcgaaataacc
+gccaatcagttttggtaagatcccggcgatcccttgtccaagcatttgctggaagaacag
+taacagaccgagcacccagacgtttgcgccgccaatcgcaaataccggaataatcagcag
+ctgcgaggccagcaggctacaaacgtacgctttgcgggttcccagccagtcaccgaggaa
+gccacctacgcagcatcccaccgccgcgccaaagccactaaagaacagcacattggctac
+agtatgcgggttataagccagatcggttttcagatacgttggcagcagcgcctgaatcgg
+ccatgagtagaggaaagcaaacaacacgaccaccatcagcattacgcccgttggccagcg
+tttgcctgcactctgcaccataaagctgataaagattgcggcgcataacagcccaagaac
+agcgacgatcgcggcattttgcaggttaccggcgaagcagaaccacagcgcagtagccgc
+cgccagtgtcattacgatattggcaatgcgatgttcaccacggtagagaatatccaccat
+tgtgcgtactggtgctttacctgcgtgtttctctttccagtcttccgcttccgggatgtt
+tttacgcagccagagagcaaagatgattggcaaaatgccgataaagaacagcgcacgcca
+gccccagaccggaaccaccaggctatagacctgagcggcaacgacggcccccacagagaa
+gcctgaaatcaaaaaaccactggctttgttacgcagatgttttggccagctttcaatgac
+ataggtggcgctggaaccgtattcacccgccatccccatgccgatgaccagacgagcgat
+aaacatggtgatgtagcctggcgcaaagccgcaggccagcgtcccggccgagaagagaac
+gatgctggtgaccattgccagacgacgcccgtagcggtcacccatagcgccgagcatcag
+gccgccgaaccagcgagagataaaggctgcagagatcagacttgccgcctgcaccgtcgt
+cagcccgaattcaccttgtacttcggtgagtaccagggcgattaaaacgaaatcaaaacc
+gtcaagcagatatcccaaccaggcagcggaaaatgcgcgccattgtgcacggttgagatg
+gcgataccacgggatattctgggttgtagtactcattgtgagtctcccgcggtgggcgat
+gcccacacgctttggtatgaaaattgtagggtacagatgcgtttatttcccctcacccgg
+taggggcgagcgaggggaaacaactcacccgcgctcttgcatcaactgctgggccagcgc
+cttcagttctggcagatatttttcatctaccggtccaaacggtttgcggcacagcggcac
+agaaacgacatccatataatggaggacagttttcaggccgcggaatacgcccgttttgat
+cagtaaatcaatgactttattgcattcagtttgcagtttctgcgcggtctggatatcgcc
+ttctttcagcgccttaacgatcccctgatagcgccagcccatgatgttgtaggtactgcc
+gataccaccatcagcgcccgccagcagaccagaggcgaagatttcgtcgtaaccgttata
+gagcacaagatcaggatgttcacgacggatctgctccatctgatagagatcgccagaggt
+ctgtttcagcgcacctacgccaggcaatgtaacaagtgtgttgatctgatccagggtcag
+ttttaccccactcagggctggaatgttgtacaccaccatcggcaaaccatccgccgaatc
+aataattgcccgatagtgatcgcagtgttcttcaaagctgaaaggatagtagaacggcgt
+gacggcggagacggcatcgaagccataacgtttagccgatgccgcaagttgttggctttc
+ggcggtgctgacgcaaccgacgtgggcgatgagtttaatcttacctttcgcctcttcggc
+gacgatttccagtacctgttcacgctcggaaaggctttgtacaaaggcctcgccggtcga
+accacccacgtataaaccgtcgatgccctgctgaatattgaactgaaccaggcgacgcag
+actcgctttatccagtgcttgttgttggtcaaaaggagtcaggagtgcagccattacgcc
+acgtaaattcgttgccataaatacctctgaagtgatgcttgtctgataaacgatatacct
+ttatacctgttataccagatcaattaagcaacaccccatacagaaagcttataatgcgat
+ctgcttcactaaagtggcattatttctttttgttggtggtctgaccgaaagcgtgccagg
+tagcagagacgctgttgagatgcgattgcaacgcacgatcggcttcgtcaggatcatgac
+ggcggatcgcatcaacgatcgcaatatgctgttgataactaacgttgttatgttcgtgca
+gtgcctgatcggtaaccgttgggcgtgcggcaataagccagtcgagcagggcaacgtgga
+tcgccatgaagattgggttaccggggatctccgccagcacgcggtggaaatcaacgtctg
+aacgaatgaatgccgcgttgttatccagcgactgactgttgatttccagtgcttttgcca
+gcaaatcgatttgctcatcggtggcatgttcagccgcatagcgcaccagactggattcaa
+agaacagacgtaattgttcgaaatgggcaatcccaccgggatgagaaaggaaatctttcg
+ccatgccggaaagctcaccgatgatagtgtccgcagaaggacgcgagacgcgagcgcgtt
+cgccgttgtttatttgcaccagacctttgcgttttaacgctgccagcgcttcacgcaccg
+aaggacgcccgacgttaaagaacgccatcagttcgcgttcagacggtaattgttcacctt
+cgccaaattcacgacggcggatcatctgttccagctcttcttccaccatttcggagagtt
+ttttacgcgccagcgggcggctacgcaagttgcgaccaattgcaggtgaagaatcttcgg
+tttgcgaatcaaatgcgttcataaggcccattctgtaaggtcagtgtgattaacatcatc
+agtgacatcctatcacaggattgaaagtaggggaaaatggcagggttttctctttgtgcc
+tcatcattaccataattaacggaataattaactattgcgaaaaattaatgtaacgcagat
+aaaaacatcccgtttgaattatttataagactattcacgagcattatgaatattatgaat
+gtgttcttacaaaataatcataagcgcatattttttaatgaaaaatcacctcacctacaa
+ttaaaaacacgacatccgcaccataaatagccttgcaaaaaatataacatcgttgttttc
+aatctgccgtttatgggattgaccgttttcttttgacacggagttcaacaatgttcggca
+taattatatctgtcatcgtattaattacgatgggctatttgatcctgaaaaactacaaac
+ctcaggtggtgctggctgccgcaggtatcttcctgatgatgtgcggtgtctggttagggt
+tcggtggtgtactcgatcccaccaaaagcagcggctacttgatcgtcgatatttataatg
+aaatcctgcgcatgctgtccaaccgcattgccggattggggctgtcgattatggcggtgg
+gcggttatgcccgctacatggagcgcataggggccagtcgcgcgatggtgagcttgttaa
+gccgcccgttaaaactcattcgctcgccgtatattattctgtcggcaacttacgtcatcg
+gccaaatcatggcgcagtttattaccagcgcctccggtctgggtatgttgctgatggtca
+ccttatttccgacgctggtgagtctgggagtaagtcgtctctctgcggtggcagttatcg
+caaccacgatgtccattgagtgggggattctggaaacgaactccatttttgctgcccagg
+tagcgggaatgaaaattgccacatacttcttccactaccagcttccggtcgcctcttgcg
+tcattatctcggtggcgatctcccactttttcgtgcaacgcgcttttgacaaaaaagata
+aaaatatcaatcacgaacaggcagagcaaaaagctctcgataatgtcccgccgctctatt
+acgccattttacctgtgatgccgttaatcctgatgctcggctcgctgttcctcgcccacg
+tcgggctgatgcagtcagaactgcatctggtggtggtgatgttactgagtttgactgtga
+cgatgtttgttgagttcttccgcaagcataacttgcgcgaaacaatggacgatgtgcagg
+cgttttttgacggcatgggtacgcagtttgccaacgtggtaacgctggtggtcgcgggtg
+aaatatttgcgaaaggcttaacgacgattggcactgtcgatgcggttatcaggggggcgg
+agcattctggtctgggcggtattggcgtgatgattattatggcgctggtcattgccattt
+gtgccattgtgatgggctctggcaatgcgccgtttatgtcatttgccagtcttattccga
+atatcgcagccggactacatgtaccagcggttgtaatgattatgccgatgcattttgcca
+cgacgctagcgcgcgcggtttcgccgattactgcggtggtggtcgttacgtcaggaattg
+caggcgtttcgccttttgcggtggtgaagcggacagcgatccccatggcagtcggtttcg
+tggtgaatatgattgccacaatcacgctattttattaagtcattaaaaagacaaaacagg
+ccgcctgggcctgttttgtattacttcacaacgcgtaatgccggtcgaccaccgcgtggt
+ggctgcggaggttcatcgtcaggatgagtgtcatcatcgtgatctggcttgtcgccatca
+ataaccgacataacggtttcgttgtctgccgatgcctcttcatcattcatgatgctggta
+tcttcatcgtaggcagcttcaggctcaaacatcgtgcctgcgccattttcacgggcgtag
+atagccagcacggcagccagcggcacagaaacctgacgcggaatgccaccaaagcgcgcg
+ttaaagcgcacctcatcattcgccagttccagattgccgacagcacgcggcgcaatgttg
+agtacgatttgcccgtcacgcgcatattccataggaacctgcacgccagggagcgtcaca
+tccaccaccaggtgcggcgtgagctggttatccagcaaccactcatagaatgcacgcagc
+agatagggacgacgtggtgttagctgtgacaaatccatacagattaactccggcccagac
+gcatttcacgttctgcttcagttaaagaagcaaggaaagagtcacgctcaaagacgcggg
+tcatatagcctttcagctctttcgcacccgggccgctgaactcgatgcccagttgcggca
+gacgccacagcagcggagcaagatagcaatcgaccaggctgaactcatcgctcaggaagt
+acggcttctgaccgaagaccggcgcaatcgccagcagttcttcgcgcagttgcttacgtg
+cggcatctgcttcagaagctgaaccgttgatgatggtgttcatcagcgtgtaccagtctt
+tttcgatgcgatgcatgtacagacggctttcaccgcgagctaccgggtaaacaggcatca
+gtggcggatgcgggaaacgctcatccagatattccataatgatgcgagattcccacaggg
+tcagctcacgatccaccagggtcggaacgctctgattcgggttgaggtcaatcagatcct
+gaggcggattgtccttttccacgtgttcgatctcgaaacttacacctttctcagccagca
+caatgcggacctgatggctatagatgtcagtaggaccggaaaacagcgtcattaccgaac
+gtttgttggcagcgacagccatgaaaacctccaggtatagtcagaatttttactgctacc
+agccaccaggtggccagtcagaagttgtgttacccaataaggaacgactctctttgttcg
+aaaatcaaacaaaaaatgagcaatacccgacatttgggcagaaaattggatgatagttta
+ccagattttgcgaccattgtggtgagtcgatgccggaaatggggaaaaagagatgcgctt
+tagtctgaaatagttgacttagtcccttattggcgatgtggtttttgttttacctgtctg
+tcaggtggcagcaaaaagcaactttccagtttttacgctgattcagattttagctataaa
+aaaacccgccgaagcgggttttttcgaaaattgttttctgccggagcagaagccaattaa
+cgtttggagaactgcggacgacgacgtgctttacgcagaccgactttcttacgttcaacc
+tgacgagcgtcacgagtaacgaagccagctttacgcagttcagaacgcagggactcgtcg
+tattccatcagagcgcgggtgataccgtgacggatcgcaccagcctgaccagagatacca
+ccacctttaacggtgatgtacaggtccagtttctcaaccatgtcgaccagttccagcggc
+tgacgaactaccatgcgggcagtttcacgaccgaagtactgttccagagaacgttggttg
+attacgattttaccgttgcccggtttgatgaaaacgcgagctgcggaacttttgcggcga
+ccagtgccgtagtattgattttcagccattgcctataatcccgattagatgtcaagaact
+tgcggttgctgtgccgcgtggttgtgctcgttacccgcgtaaactttcagtttacggaac
+atagcacgacccagcgggccttttggcaacatgcctttaaccgcgatttcaatcacacgc
+tcaggacggcgagcaatcatctcttcaaaggtcgcttgtttgataccaccgatgtggccg
+gtgtggtgatagtacactttgtcagtacgcttgttgccggttacagcaactttgtcagcg
+ttcagaacgatgatgtaatcaccggtatctacgtgcggagtgtattccgctttgtgctta
+ccgcgcaggcgacgagccagttcagtagccagacggcccagagttttaccggtcgcgtca
+acaacataccagtcgcgttttacggtttctggtttagctgtaaaagttttcattaaaagc
+ttacccaataaatagttacacgttggtgaacacccaaacgtcttcaattgttgaggttca
+cacgacaaagtccggcaaacctaccccttcgaatagcctatgccagcacacaaaaagttt
+tgggaaaaaaactttcttgtaacgtggggtcgcaggattatagagaagtcggggtcaaag
+atcgacccctttttgtgatttgtgacaggttttaacccgccaaatgctcgcgcttcagat
+actcttcgctttgcatctcttgcagacgtgacaggcaacgctggaactcaaacttcagcc
+gatcgccctgataaatttcatacagcggcacttctgcactcaccactaatttgacatggc
+gctcgtaaaactcatccaccagcgcaataaagcgccgcgcttcgctctccatcaaccgcg
+tcataactggtacatcaaacaacatgaccgtatgaaagagacgtgagagcgcaatatagt
+catgctgactgcgggcgtcgacgcacagcgtagtaaaagagaccgccagcgtctggttct
+cgacgcccattgttgctaatggccgatggttgatttctaacgtcggtgaattttctcgtt
+tcccccccgccagcgccaaccatagtttatccatttgcgcccgggtttcatcgtgaagtg
+gcgaaagccacagatgcgcctgagtgagtgtacgcagacgataatcaacaccagcgtcca
+cgttcattacatcacaatgctgtttaatggcatcgattgcaggcagaaaacgcgcacgtt
+gcaggccatttcgataaagttcatccggcggaatatttgacgtcgctaccagggtaatac
+cgcgagcgaacagggctttcatcagaccgccaagtagcatggcatcggtaatatcagaaa
+caaaaaattcgtcaaaacagagcacgtcagtttcggctttaaagcgatcggcaataattt
+ccagcggatcggtctgcccctgtaaggcagttagctcttcatgcacccgcagcataaaac
+ggtgaaagtgcaggcgctgtttccgctctcccggcaggctttgatagaaaaggtccatca
+gccaggttttcccgcgtcctacaccgccccacatatataagccacgcactggcgtatgct
+ttgtgtcttcgcgtttaccccacagcttaccgacccgcgccattagcccactcgtcctgg
+gggctggtggcgtgctattgatgagttcctgataaataatttccaggcggctgacggcct
+ctttttgaacgtcgtcgggttgatggctgccttcattaagcgccttcaggtattgcgatg
+ttggggtaacgctttgcatgatcttattgttattccttgaataatcggtgcgccgttgtt
+cacggttgacgaaaaaaaggccgttctacactacgcgatatgcagtcgggattccacttc
+tgtggaattaacggttatagtggcataatcagccgcaggcatggagcctgaagccaacac
+cctacggaaacaaaagacaacgggagatgttcatgacctgggaatatgcgctaattgggt
+tagtcgtcggcatcattattggtgctgtggccatgcgttttggtaatcgtaaactacgcc
+agcaacaggcgttgcagtacgaactggaaaagaataaagctgaactggacgagtatcgcg
+aagagctggttagccactttgcccgcagcgcggaattactggataccatggcgcacgact
+atcgccagctgtatcagcacatggcaaaaagctccagcagcctgctgccggaactgtctg
+ctgaagcaaacccgttccgtaatcgtctggcagagtctgaagccagcaacgatcaggcac
+cggtgcagatgcctcgcgactattctgaaggcgcatccggcctgctgcgtactggcgcga
+agcgcgactaatttatttttcgggcgcagccattgcgccctcctcttctctccctccccg
+actatcatttaatctggtgtctcattgttagccgtctgaaaattcaataacatcaaactg
+ttttgaatctcttttcttatcattcaggtacgagagcaggaataatgaaaaaacaaaccc
+agctgttgagtgcattagcgttaagtgtcgggttaactctctcggcgtcatttcaggccg
+tcgcgtcgattccaggccaggttgccgatcaggcccctctccccagtctggctccaatgc
+tggaaaaagtgcttccggcagtggtgagcgtacgggtggaaggaacggccagtcagggac
+agaaaatcccggaagaattcaaaaagttttttggtgatgatttaccggatcaacctgcac
+aacccttcgaaggtttaggctccggtgtcatcatcaacgccagtaaaggctatgtgctga
+ccaacaaccatgtgattaatcaggcacagaaaatcagtattcagctcaatgatgggcgcg
+agtttgatgcaaaactgattggtagcgatgaccagagcgatatcgccctgttacaaattc
+aaaacccgagcaaattaacgcaaatcgctattgccgactccgataaattgcgcgtcggtg
+attttgccgtagcggtcggtaacccatttggccttgggcaaaccgccacctctggcattg
+tttccgcattaggccgcagcgggttgaatcttgaaggtctggaaaactttatccagacag
+atgcttccattaaccgcggtaactccggcggtgcactattaaaccttaacggtgagttaa
+ttggcatcaacactgcaatccttgcgcctggcggcgggagcgtcgggattggatttgcca
+tccccagtaatatggcgcgaacactggcgcagcagcttatcgactttggtgaaatcaaac
+gcggtttgttaggcatcaaaggcaccgagatgagtgccgatatcgccaaagccttcaacc
+ttgacgtgcagcgtggcgcgtttgtcagcgaagtgttgccaggttctggctcggcaaaag
+cgggcgtcaaagcgggcgatattattaccagcctcaacggcaaaccgctgaatagctttg
+ctgagttgcgctctcgtatcgcgaccaccgagccgggcacgaaagtgaagcttggcctgc
+tgcgtaacggcaaaccactggaagtagaagtgacgctcgataccagcacctcttcgtcgg
+ccagcgctgaaatgatcacgccagcgctggaaggtgcaacgttgagcgatggtcagctaa
+aagatggcggcaaaggtattaaaatcgatgaagttgtcaaaggaagcccagctgctcagg
+ctggcttgcaaaaagacgatgtgatcattggcgtcaaccgcgatcgggtgaactcgattg
+ctgaaatgcgtaaagtgctggcggcaaaaccggccatcatcgccctgcaaattgtacgcg
+gcaatgaaagcatctatctgctgatgcgttaatgtcgtaaaccgggcatcaggcttacgt
+gtgatgtccggttaactcgtggtatgctgctgccgttcccttttttaatgacgcctccat
+catgtttgtgaagctcttacgttccgttgcgattggattaattgtcggcgctattctgct
+ggttgccatgccttcgctgcgcagccttaacccgctttccactccgcaatttgacagtac
+cgatgagacgcctgccagctataatctggcggttcgccgcgccgcgccagcggtggttaa
+cgtttacaaccgtggtttgaacaccaactctcacaaccagcttgagatccgcaccctggg
+atccggtgtaatcatggatcaacgcggttatatcatcaccaataaacacgtcatcaacga
+cgccgatcagatcatcgtcgccttacaggatggacgtgtatttgaagcattgctggtggg
+atctgactctctaaccgatctggcggtacttaaaattaatgccactggcggtttacctac
+cattccaattaatgcacgtcgcgtaccgcacattggcgacgtagtactggcgatcggtaa
+cccgtacaacctcgggcagaccattacccaggggattattagtgccacgggtcgaatcgg
+tctgaacccgaccgggcggcaaaacttcctccaaaccgatgcttccattaaccacggtaa
+ctctggcggcgcgctggtgaactcgctgggcgaactgatgggcattaatacgctgtcgtt
+tgataagagtaacgatggcgaaacgccggaaggtatcggctttgcgattcctttccagtt
+agcaaccaaaattatggataagctgatccgcgatggtcgcgtgatccgcggctacattgg
+tatcggcggacgtgagatcgcaccactgcacgcgcagggcggtggtatagatcaactgca
+agggatcgtggttaatgaagtgtcacctgacggcccggcggcgaatgcgggtattcaggt
+caacgatctgattatttcggtggataacaaaccggccatctctgctctggagacgatgga
+tcaggtggcggaaattcgccctggttcggtgatccctgtagtagtgatgcgtgatgataa
+gcagttaacgctgcaggtcaccattcaggaatatccggcaaccaattaagtcgtgcgctc
+aaaacaaaaaaccggagtctgtgctccggttttttattatccgctaatcaattacttatt
+aacgaactcttcgcccagggcgatatctttcttcagcgtatccagcataccttccagcgc
+gttctgttcaaatgcgctcagggtaccgatagatttacgctcttccacgccgtttttacc
+cagcagcagcggttgagagaagaaacgggcgtactgaccgtcgccttcaacgtaggcaca
+ttcgacaacgccttgttcgccctgcagtgcacgaaccagagacagaccaaaacgtgcagc
+tgcctggcccatagacagggttgcagacccgccaccggccttcgcttcaaccacttcagt
+acccgcgttctggatgcgtttggtcagatcagccacttcctgctcggtaaaactaacgcc
+aggaacctgtgacagcagcggcagaatggtaacaccagagtgaccgccaataaccggcac
+ttcaacttcgcctggctgtttgcctttcagttccgcaacaaaggtgttggaacgaatgat
+atccagcgtggtaacgccgaacagtttgtttttgtcataaacaccggcttttttcagcac
+ttcagcagcaattgcaactgtggtgttaaccgggttagtgataataccaatgcacgcttt
+cgggcaggttttcgcaacttgctgtaccaggtttttcacgatgccggcgttaacgttaaa
+caggtcggaacgatccatacccggtttacgcgctacgcctgcagagataagaacgacatc
+tgcgccttccagcgccggagtcgcatcttcaccagaaaaacctttgattttcacagcagt
+agggatatggctcagatcgacagccacaccgggagtcactggagcgatatcatacagaga
+gagttctgaacctgaaggcagttgggtttttaacagtagtgcaagcgcctggccaatacc
+gccagcagcgccgaggactgcgactttcatcctaaactccttattatattgataaactaa
+gatatgttgctccgctgccgcgaccttaatccacaaaattgccgtttacaatgaccacat
+ctcaagaatgtgtagtcacgcaagtttagcgtttatgcatttaattgccgtaatcaggaa
+cctaacttacgtaattaacagtcgcttatgcattagcgcaacattccaacaggtggtgac
+aatataccctaccgttcagccaaaacaacatcaatttgataacaattaatttacttttaa
+gcagaatttgcatgccgtgacgcaggcatgtttctcaataacgaaatttgataaaatccc
+gctctttcataacattatttcagccttcttcagggctgactgtttgcataaaaattcatc
+tgtatgcacaataatgttgtatcaaccaccatatcgggtgacttatgcgaagctcggcta
+agcaagaagaactagttaaagcatttaaagcattacttaaagaagagaaatttagctccc
+agggcgaaatcgtcgccgcgttgcaggagcaaggctttgacaatattaatcagtctaaag
+tctcgcggatgttgaccaagtttggtgctgtacgtacacgcaatgccaaaatggaaatgg
+tttactgcctgccagctgaactgggtgtaccaaccacctccagtccattgaagaatctgg
+tgctggatatcgactacaacgatgcagttgtcgtgattcataccagccctggcgcggcgc
+agttaattgctcgcctgctggactcactgggcaaagcagaaggtattctgggcaccatcg
+ctggcgatgacaccatctttaccacccctgctaacggtttcacagtcaaagacctgtacg
+aagcgattttagagctgttcgaccaggagctttaatctctgccccgtcgtttctgacggc
+ggggaaaatgttgcttatccctctcaaccccctgctttcccctgcgattaatttaacgaa
+tagtgcgttttactgcgacatgtcattcacacaatgaatacataaggtaaaaaaagcaca
+ttatgcaaaattcattatctaattgaaaaaactagaattaacgataaataaccgtatttt
+taattcttttttgttattaaaattcacatttttaacacttagtatcaactgaaacagtta
+gcgcggtattaattagctcaataattagtgtatacttgattttgtgatatgggtcacgaa
+acaaaggcccagctaaaagattatgtcgaggtaaaaatcatgaaaatcaaaaccactgtt
+gctgcattaagcgtactttctgttctctctttcggtgcattcgctgccgactccattgat
+gctgcacaagcacaaaatcgtgaagcaatcgggaccgtatccgtaagtggtgtggcgtct
+tcgccaatggatatgcgtgaaatgctgaacaaaaaagcggaagagaaaggcgcaacggcc
+taccagattactgaagctcgtagcggtgacacctggcacgctacggctgaactgtacaaa
+taaaccctcatcgtcttgtccgacgatattgcccccggttcgggggcttttttttgcgct
+aatgacgaacattaaaacgcaaatgcccttccagctcttcctctgcctcatcaaacagca
+atattaacgcgccaaaacggcgacgcgttttctctcccagatgaacaaattcaatctcaa
+gtggtagcggcaggacatcgttcattaacacatcccatagtgagtcgagatcgcgtacct
+tatctttcgccagaccaaaggtttggctaaagtcacgataaaaatcctcctgactctcaa
+tctcatcaaaatcaaaggtataaatattcatctgttgccaccgtcacgtttcgcggcgag
+ttctgccgtgcatcgctaagtatagccatgaaaaaaccgacgcttttggcgtcggttttg
+acttaactatcggtcaacgcatgttgatacttatggagcatccccgccagccgatttacc
+ggttccgtcacctgcggtggcgcttgccagatgcgtagcttttcctggtagatttccagt
+tcttccagcaactggccaaagtaccgacgacgtttatcatcgctacgggcagatatcaca
+tggtctgctgtgcggcgcatttgtcggtgaaacgccgataaatcctcgttaaccgggatc
+ggtgcatcacgcaggcgctggtgcgcgataatcatcgtcagcgccaggcgaaatttcggc
+aaatcccctgggaacttattcatcagcaaaaacagctgctgataaagtgccgggaggtgg
+ttctctttacgacgtgccacattggtagtcatcgcggaaacagcggcagaaacaaactga
+ttaagcagtacacgtccggtcctgtcgcgcgatttatcccgcaccagcaaaataacggtg
+aacgcgagcacacagccgacgatttgccctaatgcgctgtcgagaaactgactgaaatgg
+aaagtcatcgggttatccagcacgataatatttatggtgctggccagtgcccccatcgag
+cccagtcgccgtttctgtacttctataccgaggaagaatcccagcactgccaggctaatg
+cacagcagcaacatgctctgttgggtattagggataatcaccaaaaagtagagcagccct
+aacggcagcgcggccagcgtcccgtagataaagtcgatcgccaccatgcgtggattcggc
+aaacgcattgccagtgacgtcactaccgcaatcatcaccattgcaccactgccggaagtc
+cagcccgtccacagccagaaaagcgtgcccagaatgcaggaaagtgtggttcgccagaag
+ttaaccattgcatgatgacgttcggctgactctacttttacttccggttcgccttgcagg
+atctcttcttcggtggcgttgatttttgtgttactgataacgccgcgcttgagaagctga
+taacgcgttgccgccgcgacccagctataaatggtgacaggcgtttcccgttccccggtc
+caggcgataactctccgcaggcgtttgagctgcttgtggacgtcctgcgcggtttctacc
+ggcgtgtcaaaaaattcgcggaaagtatcagtgatcaattccgggcgcgtattctgaata
+agataagtttcgcaggattgggtaatcagcgtcagcgatagcgtattgatcgcttttaaa
+cgtcgattggcccgcgcccagcgggaagattccatattcaggttgctgcgcatgccttgt
+agcgccgtggtgcgtcgcaccaggtcgccccaggctttatcgacaacttcaccatcgcca
+tgcttgatacagagttgcattaattgatattgcgcgaccagcaaactttccagctctcga
+tccacttcttgtttgatcgatcgcggagaaaagagcaaatccgccataatcgcacacaca
+ataccgataacgatctcgctacaacgttcgacggcaaactgcggcgtaagcaatggttcc
+ggctgaatggtgatcacaatgatcagcgcggtataaccggccagcccccacgcatacgag
+ttttctattcgtaccagcgaggatatccaggtacaaaaaccggcccagatacagcacacc
+agaatcatcaataatggtgcgcggatcatcgcaatgatgatcaccagtccggcaatacag
+ccaataaatgtgccgatgatgcgcaaaaagccacgatagcgaatagcgccagaatacggt
+tcacctcccgcagcaaaggccgtaccggcggcaacaatcgccgctgtcagtaccgcccag
+cgtggcgtttccagctggaagtgaaagccaacaaacagcgccagtacaatggcggtcgcc
+agttttaccgcaaagcgaatatgttggttagcaatggagaaaatacccatcgtgattaac
+caaactcacgcaggcgatgggccattttacggaagaacgaatcctggctttcgtcgcgat
+cttgtttgccagtgaccaccactgtagcagtggtgcccgcaggccagatgttctcttgct
+ggttgtcgagacgaatacgaaccggaacacgttgcgcaagacgcacccattcaaggttag
+agtctatagtcgccatccctttgtcgtcacgcgtgctgctggcgttggtgacccctgcgg
+caacactatcaacagtccctttcagcactttgttactgccaagcggcgtgatctctgcac
+gataccccggacgcaccccttccagcttagtttcttccatataggccagtacatagaagg
+agttctgtttcaccagcgcaaccgccgttgatcctcgagtaataaactcaccggtataga
+cgttgaggttggtcacccagccatctgctggcgcgcggatcaccgtgcgttcaagatcca
+gttttgccagatcgcgggtcgcctgcgctttcgctaactgatgcagaaccgtttgtagta
+cgttgttggcctggtcgatctcttcgcgagacatcgcctgcacaccgagacggttacgac
+gtccggcctcctggcgtttctcctgtgccagtacctgataataagcaacatcggcttgcg
+cttcctcaagcgccttttgatagcgcggctggtcgatggtgaacagtatctgtccttttt
+tcaccagctggttatcatgaacattcacctgggtaatgagtccagaaacgtccggcgcga
+tcgcaacgacgtcagcgctaaagcgcgcgtcacgcgtccagggggattcggtgtaataga
+cccaggcattaaaaattgcgatgaaggccagaatgactaatacgaccgtgatggccgtac
+gggagaattttcttattagtgttttcacttcaacctcaaacgaacagtcgcgatatcaaa
+taaaacaagcagcaatagagcgcggtgttgaacaacgccggatgccagacaaagtcgtag
+atacctgttggcacaagtacccggcgcaccagccagaaaatcgccagtgataaaagcaat
+tcaaaaaatatcggtgggaaggacagcccaaacaccacgataacgggaaacagactcatg
+ttgaccttggttgtaaagagagagcaggcgttattattttcagcatctgtcgccgcagag
+aagggcatggaaagccgggcgagagcaacattgctgtagattgatatttaatatattagc
+gtaactgttatgctgttatctatattatgtgatctaaatcacttttaagtcagagtgaat
+aatggaacgactaaaacgcatgtcggtgtttgccaaagtagttgaatttggctcttttac
+cgccgccgccagacagctacagatgagcgtttcgtccatcagtcagacggtatcaaaact
+ggaagatgagttgcaggtaaagctgttaaaccgtagcacacgcagcattggcctgaccga
+agccggtagaatttactaccagggctgccgtcgtatgcttcatgaagtgcaggatgttca
+tgagcaactgtatgccttcaataacacccccatcgggacgctacgcattggctgttcttc
+aactatggcacaaaatgttctcgccgggctgacagccaaaatgctgaaagaatacccagg
+tttgagcgtcaatctggttaccggaattccagcccccgacctgattgccgacggtctgga
+tgtggtgatccgcgtcggcgcgttgcaggattccagcctgttttcccgccgtctgggcgc
+gatgccaatggtggtgtgcgccgcgaaaagctatctcacacaatacggcataccggaaaa
+acccgccgatttgagtagtcattcatggcttgaatacagcgtgcggcccgacaatgaatt
+tgaactgatcgcaccggaagggatctcgactcgcctgatcccacaaggaagatttgtgac
+taatgatccgatgacgctggtgcgctggctgacggcgggtgccgggatcgcctacgtgcc
+gctgatgtgggtgatcaacgagatcaatcgtggggagctggagatcctgctgccgcgtta
+ccagtcagatccacgcccggtttatgcgttatataccgaaaaagataagctgccgctgaa
+ggtacaggtcgtgatcaactcgctgacggattattttgttgaggtcggtaaattgtttca
+ggagatgcacgggcgcgggaaagagaagtaattcatattgtactgttacgttgtacaaac
+ctgtgccaacgggttcccctcaccctaaccctcaccccaaaggggcgaggggaccgttcg
+tgcacgtagaaagattaattatccttctgaaaatagtgaaattattacgcagtaccgcca
+acagtcaggttatcgactttcaacgttggctggcccacgccaaccggcaaactttgccct
+tctttaccgcagacacccacgccgttatccagtttcaggtcgttgccaaccatcgaaatc
+tgctgcatggtttcgataccggaaccaatcaacgttgcgcctttcaccggcttcgttact
+ttaccgttttcaatcagatatgcttctgaagtggagaaaacgaatttgccggaggtgata
+tccacctgaccgccaccaaagttcggtgcatagataccgtactcaacggattcaataatt
+tcctgcggggtcgatttacccggcagcatataggtgttggtcatacgcggcatgggcaga
+tgggcgtaggattcacggcgaccgttgccagtcggcgtcatccccatcaaacgcgcgttg
+agtttatcctgcatgtagcctttcagaatgccgttctcaatcagcacgttgtactggcct
+ggcgtaccttcgtcatcaatcgccaccgaacctcggcgatcgaccatcgtgccatcatca
+accacggtacacagttctgaagccaccagctccccgacctgtccactaaatactgaagtg
+ccacggcggttgaagtcgccttccagaccgtgaccaaccgcttcatgcaacagcacgccc
+ggccaacctgcgccaagtactaccggcatggtgcccgctggtgcagcaacggcagaaaga
+ttgaccagcgccatacgcactgcttcttttgcccatgcatccgcacggacttcgccgtcg
+agatcggcaaggaagaattcataaccaaaacgaccgccgccgccactggcaccgcgttcg
+cgtttgccatcttcttcgacgagaacgctcacggaaagacgcaccagcggacggacatcc
+gccgctagcgtgccgtcggtggccgcaaccaaaattaattcatagacaccactgaggctg
+gcagtcacttcctgtacgcgcttgtccgcttcgcgggcaaccttatcgacgcgacgcagg
+atatccagcttctcttcacggctcatgctttgcagcggatctaccgaggtatacaacggg
+ctatgctctaccgcgcccagcgtctgtactttaccatcaccactatcacggacgatggtg
+cgcgccgcttgcgcactctgttccagcgccagcaggctgatttggtcagcgtaagcaaat
+ccggttttttcaccgctgattgcacgcacaccaacgccctgatcgatgttgtaagaacca
+tctttaataatgcggtcttctaaaacccaggattcgtgatagctcgactgaaaatagaga
+tcgccataatcaaggcgacgttcggccagttgaccgaggatcgcgaacaagtcctgatgt
+ttcaggccgttcgccgctagcaattgttcacttaccaggttaagactcatcgtttttgct
+actcgttagttactgcagtagaggattttttacggctgccggatgcggcgtgaacgccct
+atccagcctacggttatgttccggtttgtaggcctgataagacgcacagcgtcgcatcag
+gcaacggctgtcggatgcggcgtaaacgccttatccgacctacggttatgttccgtttgt
+aggcctgataagacgcacagcgtcgcatcaggcaacggctgccggatgcggcgtaaacgc
+cttatccgacctacggttatgttccgtttgtaggcctgataagacgcacagcgtcgcatc
+aggcaacggctgccggatgcggcgtgaacgccctatccgacctacggttatgttctggct
+cgttggcctttggcaacgattatcctatgagattggggcaattacgcgccctcgtcaaat
+cattgcgctttttctttacgcggttggcgcaacacttcgttgatttgcggatcgtccagc
+ggacccgaaatgtgatagcgcaaaatggagactttgctccacagcggccccagcacttta
+ctggcggcaaacactgccgcgccaacaatggggttaaccgcaaaagccgcagccacgccc
+accgtcgcagaaatctctggtgcgacaaccgcttccatattcaggtcgcgacgtaccaga
+tttaccgaccctttcatggcgatatccgcctccaggccatccaccagcgtgtcgtcggtg
+tgcataacgccgtctttaatccacgcggtgctgcgaatggagtcaaaatagaacccttcg
+ccaaaagtgtctctgaaatcaaaacgcagcttacgcatcagggcatctacgctcaataag
+cgcagcaattgcccggcatgtccggtattgatttcggtaatttcgcctttacccagttga
+gtatgaatgatgccattcaacgtcgcttcatctggctgccagggtgctttgcgccagtgt
+aaatcgtaatccacattaaatgacgactggcgtatgggcgtcgtgacaccaaaaaattct
+gcggcggcatcaattttctgcccgcgcagttttcctttcagcgaggtacgttcattcccc
+ggattattaacccattcaccatcggcagtaagccgcgagaaaccagtatcaatcagtcca
+ttggtcagcgttaacgtatcgccagaaatggtgatatcactgtcaatgcgaccgaatttt
+tgcccccagaaccagcactctgtgcatcgtatttgggcgtccggccagccacggaagtta
+atgcgctccgttgtcgggaaaggtgatgacggcgttgaatcaccacgagttttcgccacg
+ctcgggttgtaataaagatatttgatattcgccagccacggcgcgttattacgcatcgct
+agcgtggcgttgatttcacgcccttgcgcttcaaccagggtgccatttgccgtcggttgc
+gaaacaatactcaggttattccattgctgatttcccagtgacaacataggcgtacgtaac
+gttatgtgttgtgggaaactcgctgcaccaccgacactctccgcagcgcctttctggaac
+agggccagccactcggcaccattcatcggcggcatattgagttcaacgccactttgttcc
+ggcaacggcgggagcgttttactgtctgccgcccaaatagcacgatcgagcgtcagcttt
+tgaccgagcaaccagcggctattgaaatgattatccgcaccagcctgtccggttaattca
+aagctgttgagattgccatcaaccttaacgtttaccgctagtggttcacccgcaggtttg
+gctaacggtgaaggtaagtgactgctcacattctttagatcgccgttcagctctatgtta
+taggtcgcaccagcatgataaggcagatcaatgcccactttaccatcccacgccacgctg
+ccactcaatgcttcgttcaccgcttcaggcagaacgccggttttcgccggttgccagtta
+ccgttgaggtttaccgctacctggtaggcttttgccccttctttggtggaaaaatccacg
+ttcaacggctgattaaaccagcttgctgtcagtggttcactttgcagatcgctattgata
+aagctgaatttaccgctcaaatttttcagggtgctgtcgagtggtttgataaacagactg
+ttattacgcagcgtcacttcacctttcgcggttaccagttcgccgttcagcgggatatca
+agatgtaagcgagcattcacatcgccgtcgagctggagttcttgcagggtcgcacccaga
+gaatctttcagcggtgtctcatcaaagtaagggccaacggctttacccggacctttaatg
+tcagcgtcaatcagcagtttttcttttgagtagtcagggatcactgcggtaagattactc
+gcgcgcacgccgcccagattaacgccatcggttttcatccataaaccgtcgttaataaag
+tccagttcaatatcaaggttagttaatgcaggccagtccggctggaaggcaaacttcgcg
+ttgcgcagcggcaccagcacttcaaactgaccttcgttgtgtttataggggaagagttgc
+ggattgccaccataaaccagcgtcgcgttatccgcttcaccgccctgaatcgcgccactt
+aagtaatcaaccaggtctttacccatcaagttttccgggaaatagcgccaggcttgtgaa
+ccatcatcggtactgatgccagccagaatacccagccagggttcatcgttagcaggttgc
+aggtaacgaaaaccgccgcgcgcatggacggctttggctttaacgtcaatattacgccca
+tccagctggaaacctttgttattgttcagccagcttatagttgcctggccgtcggcgatt
+tctagtggcgcacggaataccgtttcgtaaggcatctttgcctgcttcatcgacgcggta
+agcaaaccattttcaacgctgccggaaagcgtcccggagaagtgttccgcacccggtaat
+aatttccattgcttccaggccagatcgctccacgatgcctgaaaacgggtcttgtctgcc
+gcctgaagcgggatatccagcgccagagtgttaatcttgccgctcggttgtgtggagcgc
+caaacatcacccagtgcaggtgaaagtttcgcggccagcgggcgtatgccctccaggcct
+gccagctccagattactggcgcgaatccggagttcgtcactgcgtttattgtctttgccg
+ccaacgtcctgttccggtatccaggccagcgtcaatgctccgctcggccagggtttgccg
+tccatcgtgatccgtgtatcgggaatagagaactgccagcccggattttcacgcgtaata
+tgcgcggtcagattatccaccgacagcgtatgcgtttgcttctcgcccaaccagctggca
+ccgccctgtttcagccagacgtcaccgccggttacatcgcctttgtcgatcgtcatccag
+ccttcaagggagaactgtgccgtttccagcgcaatattgtcctgcatccatttaccgagc
+cacggcttcaggtcgatgtcatccgcctggagccagacgcgaccattgcttaacaacccc
+tcatcatcgcgcaaatccatgcgcacctgcatcacgccgtgctgtccggtaaggctggag
+aggcttaccaggccttccgcacggtgtcgacgtggatcgttcagccaggtgagttgtggg
+atcgccagctcggcgcgctgaccggatggcgtcaggaaactgacttcactgtcgcgaaga
+tcgaaatggtcaaattgacgaagaaacagatcgctgatgtgactggcttccagactgtca
+tcactaccaccgctggtgataggagtgttggtgcgaaagcgcagctgccagaaagtgagg
+tcgcgaaactgccagcgcatatgtaacaggctctgccagacatccagcgccagagtaacg
+cgtttaaccgaaaattcgccgccatcttttagttctgcacggatgtcgtgtgcttcaagc
+gtcgggccaaaattctgccagctggctgagagctgactggcttctaccggcatgccagtc
+gcggattctattttgttgaggatttccggacgccaggcgtcaagatgcggtaaagcaata
+cgcaggccgctaaccagcagggcagcgatcacaacgagcgcggctccagtaagcagtaaa
+atccccggcaatcgcctcacccgtcactccttgtctgctaaaaatgtgactcaaaaaccc
+tttgccggatggcggcccagcatctgtttacatcattacgacgtcaaactgctcctggtt
+atagagcggttcaatttgtactttaacctgtttgccaacgaaaatttccacttccgccag
+cgagtgtgactcttcgcctttcaaggcttcagctactgccggagaagcatagaccaggaa
+acggtcggagtcgtaagcatggtggacacgaacaatctcgcgcatgatttcatagcatac
+cgtttccacggttttcaccgttccgcgaccgtggcaggttgggcattcgttacacagtac
+gtgctcaatgctttcgcgggtgcgtttacgcgtcatctccaccagccccagcgccgaaaa
+accattaacgctggttttcacccggtctttgctcaacgcctgctccagcgagtgcagcac
+tcggcggcggtgatcttcattattcatatcgatgaaatcaataatgataatcccgcccag
+attacgcaaccgtaactggcgagcgatagcctgcgtcgcttcaatattggtattgaaaat
+ggtgtcgtccagattgcgatgaccgacaaacgctccggtattgatgtccacggtggtcat
+cgcttcggtctggtcgataatgagataaccaccggatttcagttctactttgcgttccag
+cgctcgctggatttcgttttcgacatcaaagagatcgaaaatcggctggcgtcctgtgta
+atgctccagcttgcttgtcatctcgggaatgtactccgaggtgaactcaagtaacgcttc
+gtaagtcaggcgtgagtcaacgcgaatgcggtccagttcggcatcggcgaaatcacgcag
+aacacgctgcgccagcgccagttcgccgtacagctgataacgggtctgcgggcgtttttt
+acgctccataactttggtccagacgcgtttcagataagcggcatcggaggccagttcagc
+ctcgccaaccccttccgctgcggtacggatgataaacccgccctgctcgtcgcaatactc
+tgcgaccacttttttcaggcgttcacgttctgattcgctttcaatacgttgggaaacccc
+aacgtgagaagcccctggcataaacaccagatagcgagaagggagcgtgatatcggtggt
+caggcgcgcacctttagtgccaagcggatctttcaccacctgcaccatcagatcttgccc
+ctgacgaaccagttccgagatgtcgcgcaccgtgaattgcttttgttcttcacccgccac
+acattcggtgtgcggcatgatgtcggatgcatgaagaaacgcggctttatccagcccaat
+atctacaaaagccgcctgcatacccggaagtacacgacttacacgacccttgtagatatt
+gcctactattccgcgtcgcgcctcacgttcaatatgaatttcctgcagaataccgccatc
+aatatacgccactcgcgtttccgaaggcgttacgtttactaacaattcagccgtcatgtt
+tatcccttttctcacgcagtgcgttaaaattacttaataattcatacgtttcaaccagcg
+gtaagccgactacggcgtgatagctgccatttatcttcctgacaaaacagccacccagcc
+cctgaataccgtatgcacctgctttatctaacggttcatcgctggcgacatagcccgcga
+tgtcttcgtctgttaacgttctgaaagtcacatcggtgaccaccaggcaatcgagaatgt
+gctggctgtcggccaacgccactgctgtcatcacctgatgggtctgacccgataatttgc
+gcaacatctgcgccgcatgctctgcgtcgcgcggtttctccagcacttctccgttcagga
+taacgatagtatccgcacccagcaccgggagatccttcgccgtttgcgcgacacctgccc
+gtgctttctcgcgcgccagacgcacaacatactgctgcgcgctctcctgcggctgacgct
+gctcctcaatgcccgtaacaatacgttcaaaggtcacgccaagttgcgcaagtaactcct
+gacgacgcggagaaccggaagctaaatacagagaagtcatagaaacctttattgcactgc
+aaactgctgacggactttgcgcatcagcaagaaaatccacggccagagcaccccattgac
+tacactactccagaacacttccggtctgaaagagacgttaatcactaaaaactctgccca
+gaaaacaataatatccaccaccagcgaaagcaacatgacgaccagcgcctgctgccataa
+tgcgaggttgcggaaaagctggtatttcagcgccaccaggtaagcaatgatgctcatcgc
+caatacgcgtacgccaagcgtcgagccgctgatcagatccagtatggcacccatcacaaa
+acctgtgcccacatttacgcgatgaggcaaggccaggatccaatacaacaagatgagtaa
+cacccagtttggccggaaaacaatcaggttatccggccagggcatgatttgcagcaacag
+cgcaatgaggaaagagagccagattacccagcgtccctggctacgatagctcgccactat
+tgccctcccggcgcacgcgcaggcggttgagcaccactttgcggcggcgtagccctttgt
+ggagagcgattagcagcaggctgtgtcggcgcagcaggcgcagtagctgcatttcctgtc
+gccggttgctgcggagtcggctgagcgatccccgttgccggttcaggtaactttggcccc
+atcgcgtctggcgaaggcaatacctgcggcatcatctgcatcagacgttcattagcaaca
+cgatgcacctcttccggcgtcatcgggttagcgccgttacgatctgccccccacagcagc
+agcagataacgcaaacgttgcagccctgcagtcggacgcgcctgaatcacagtataagcg
+cgctgggtatcgagttttacggaagagacaaccgcgaccggatagccttccgggaaacga
+ccgcccagaccggaagtcaccagcacatcaccaacacgaatatccgtattcgccggcaga
+tgctcaagctgcaaatcatccgtacaaccgttaccggctgcaattacgcggatatcgttg
+cgcagcacctggattggcagcgcgtgggtcgcatcacaaatcagcagcacgcgactggtc
+agtttagcgacggccaccacctgaccaacaacacctttgtcgctgatgaccggctggcct
+tcataaacgccattaacgctacctttatcgataacaacttgatcgctataaggatcgtta
+accgtggagataacctgagtcaccattttctgctcatcctgacgcagcggggaacccagc
+agctcgcgcagacgcgcgttctcctgtttgtattgtccaagcatcagcagttcactgttt
+ttcagcaacagttcctgacgtaacgcccggttttcaagttctaattggtcacgcgaggcc
+agcgtctgcgatacgccatccagcaattcacgaggagcattggaaacaaagtagaaagga
+ctgacggcggtatccatataagtacggatttgactgaacgtccccaggcggctgtcggca
+ataataatgccgagcgccaccagcaccgccagaataaggcgaatctgtagcgacgggcca
+cggctaaaaattggcttcataagttatgcgtattctcgtatcagaccaggcagggtaaac
+agacacttcccctgcctgcatccgattactcttcgctgaacaggtcgccgccgtgcatgt
+cgatcatttccagcgctttgccgccaccgcgcgccacacaggtcagcgggtcttcagcaa
+caacgactggaatgccggtttcttccattaacaaacggtcaaggttacgcagcagtgcgc
+caccaccggtgagcaccatgccgcgctcggagatgtcggaagccagttccggcgggcact
+gttccagtgcaaccattaccgcgctcacaataccggtcagcggttcctgcagtgcttcga
+ggatttcattggagttcagggtaaaaccgcgtggaacaccttctgccaggttacggccac
+gaacttcgatttcacggacttcatcgcccggataagccgaaccgatttcgtgcttgatac
+gttctgcggtggcttcaccgatcagagaaccgtaattacgacgcacatagttgatgatag
+cttcgtcgaaacggtcaccaccaatgcgcacagaagaggagtaaaccacaccgttcaagg
+agataacagcaacttcagtggtaccaccaccgatatcaaccaccatagaaccggtcgctt
+cagaaaccggcaggccagcaccaattgcggcagccatcggttcttcaatcaggaagactt
+cacgggcaccagcgccctgcgcggattcacgaattgcgcggcgttcaacctgggtcgcgc
+caaccggcacacaaaccagaacgcgcgggcttggacgcataaagctgttgctgtgcactt
+gtttgatgaagtgctggagcattttttcagtcacgaagaagtcggcgataacgccgtctt
+tcattgggcgaatggcagcaatattgcccggcgtacggcccagcatctgcttcgcgtcat
+gacctactgcagctacgcttttcggtgaaccggcacgatcctgacgaatggccaccacgg
+aaggctcattcaatacgatgccttgtccttttacataaatgagggtattcgcagtaccca
+ggtcaatggacaagtcattggaaaacatgccacgaaattttttcaacatactaagggata
+atcctgaaagctggggcggaaaagaaaatccgcttactttaccaaccacacgcagcagcg
+acaaggcgcaaaaatcatctgctacggtgaaaattagtgcagttcgtttcctttgttaca
+aatctctgcctgagtccagaaaggcttaatgcatcagcagcattcctcgcctgtttgcaa
+ccgcgtaaggtcattcatctgcatatgtgctgcaacaatctggcgagcagacaagcacac
+tcccatgagacgcagcgcgcattattctacgtgaaaacggattaaacggcaggttaaacc
+gagtatctttgtgaatattttttcacgttagtatcaagtggctgtgaggacgcgaaaaaa
+tccccttgcccgcctgtaacaccgcgctgaatcagggtctgccactcgcttcgcgaacgc
+acgccggtggcgtaaacctgggtgctggtcccggagcaggcttccaccaggctttgaacc
+agcagctggttctccgttcgcttctcaatgtttctgaccagccccggatggagcttgagt
+aactcaacattaagttctttgatccaactggtacttaccagcgtcaaaccagcctggttg
+acggctacccgtacccctaaagcattcactaaacgaataacaggttgtaaacgactgata
+tgttgacctacatcggcctctgcaagttcaataattatgcgttttcgttgtgatttttca
+cattgcattaacgtatcgcgcagccaacgctgaaaacgcgggcgaatcagcgactcaacg
+gtaacctgaatcgccagattttcctctggccagtaacgcaatagtggaataagacggctg
+atttgcagacggtcatactcttccgataagccaaactgcaagaccatcggcatatactcc
+gccgagctaacctcttcattaccatcgaagatgcggcacatgagttcgcgatgatgaacc
+tgaccttcgcgagtaaccgccggtttttgataaaggcgcgggccgccgcgactgagcatt
+tgctcgataagcgtacgccagcgaacattaccgcgtcctttttcaggcaacgagtcatcg
+taaatagcccagctattgccgccctgcaatcccgcattacgcgtggcagactctgcatgt
+tccattacctgctcggtatcctgaccactacgccaggcgcagataccaatgtggatcata
+tcgtcgcgatcgagcattttattgttcggcaaggtatcaacggctttgattaactgaccg
+gcgatgctctctgcctcttttaacgtccggtgcggtaacagcgcagcaaaatcactgcgg
+tggtaacgcgccagcagtgcgccagggtagcgcatcataaatgtcgacagcagattcgtc
+agagtgaagaactgttcttcaacctggctgtgcccccaggtatcgctcaacatattgaaa
+tccggcagacgaatcatcatcacgatcccgtgggtacctactttctcctgatcttccagt
+aacgttgctaactgattatcgaaaaagagtcggttattgaggccggttttcacgtcctgg
+gcggcataagagcggatcagcgtatcaagacggctgtgttgttcgcgtgcgttctgaatt
+tcacgaagcagcgtatccagcgcactgctggttctgggcggccattcatagatggttccc
+aacacattagagccacgctcaccgtttaagatacgagtagcccgggtttccagcaattct
+tgcccggcaagttgccgttgtaaccagcgtaccgccaggaagagcataacaatgataaag
+ccaatcgcccccgtgagcggcgcggtggtcatcaacgaatggaaatagttgcccatcgga
+tcctgataaaccagacgcaacgacatccccggatgctttatcaacggaacgctcagttcg
+cgaaacagatcgctggagccaactggacgataactaccatttctggccagggtataaacc
+tgtttatcaccatggagcaggtctacacgaacgatatctgccgacatcattaattcggta
+atttgtggccttaatacgctgaagtcattcgacacaaggtgggtatcaatcgccgtcgcc
+accgcctgaacgcgatgactaaacttatactgaatggcgttgtagaaacttagcgaacag
+cccagcaaagtcacaaaaattgttaacccggtgagcagcgtaacaaaggccgaaaatttc
+gtcgttaatctcatccttgtgttaactccgatagtgaggaagcgggcatactagcaaatc
+agatttatctcgcaatttattgcgcttcatcggctttgcttttccattagcgagtatagt
+cttcagaaattattttccaatccatcatgcacatgaggaccacttatgcaggcgttactt
+ttagaacagcaggacggcaaaactctcgcatcagtacagactctggacgaaagtcgcctg
+ccggagggcgatgtcacggtcgatgttcactggtcgagcctgaactataaagatgcgctg
+gcgattaccggtaagggaaaaatcatccgtaattttccgatgattcctgggatcgatttt
+gccggaactgtacgcaccagcgaagatccgcgttttcatgccggtcaggaggtgttactc
+actggctggggcgttggtgaaaaccactggggtgggctggcggagcaggcgcgagtgaaa
+ggtgactggctggttgccatgccgcaagggctggacgcgcgtaaagcaatgattatcggt
+actgccggttttaccgccatgctgtgtgtgatggcgctggaagatgccggtgttcgcccg
+caggacggggagattgtcgtgacgggtgccagtggtggcgtcggcagtaccgccgtggcg
+ctgctgcataagttgggttatcaggtcgttgccgtttccggtcgcgaaagtacccatgaa
+tatctgaaaagtttaggtgctagccgtgttctccctcgtgatgagtttgccgaatcccgt
+cctctggaaaaacaagtctgggctggggcaattgacaccgttggcgacaaagtgctggca
+aaagtgctggcgcaaatgaattacggcggctgcgtggcggcctgtggtctggcgggtggt
+tttactctgccaaccacggtcatgccatttattctgcgtaatgtccgtttgcaaggggtg
+gattcagtaatgacgccaccagaacgccgcgcacaagcctggcagcgactggtcgccgat
+ttaccggaatcattctatacccaggcggcaaaagagatatctctgtcagaggcaccgaac
+tttgccgaggccatcattaataaccagatccagggtcgcacgctggtgaaggttaactaa
+ccatttagcagggaataataagagagggaactcattttgaaatcattattcaatcggtta
+acgggaaaagcggttagccggacagctttcgtcgaacaccttggtcaggaagttatacaa
+catcatccaaactggaaagtcatgatttcgactgaccacaaattgatgcgcattgatact
+ccactaaacagctattattgatacgcctccgtcgcctgttaggtttatgttgctttgcct
+gggcgacgctacgcttagccccttacttatttctggtaccatggggtgaataatctgatt
+ttgtttgactacaaattaatcactcgaacctatttaatgctgagcattgtcaatcggtta
+attttgcgtgctttagcattcacatctatccagacgatgcagtgaaaattgggtaatccc
+cagcaaccgctgcgtaatgtcgtctatcttgtcgcgatcctggcatccctacattatttg
+tggtctgtgaagattatctcattgcagcccctcatcttcgcagggctggcttttcagctt
+ttcaccttacgttataagaagttccgtcgatgatggcgctaatttcgtgaattgtgcggc
+ttgttgcaaattacacggtgttgaaggttatttacatgttagctgttgattatcttccct
+gataagaccagtatttagctgccaattgctacgaaatcgttataatgtgcgacctcgtcc
+tccctgacgcagtttttgcgctgcggaaaaggtgacattggcgcaacgaaggtatatttt
+gttttttgccggaggatagcagcagatcgctgcacaatgtccgtcaagtctaacattgac
+actctggggcaaaatagaccggcgtcccggcctgctggaatttatcgctatgcatacagc
+tgtcggggcatacgctttacagacggcggtgaaacgcctgtcacaatcacactaaacaaa
+gagtacggaacccactcatggatattcgtaagattaaaaaactgatcgagctggttgaag
+aatcaggcatctccgaactggaaatttctgaaggcgaagagtcagtacgcattagccgtg
+cagctcctgccgcaagtttccctgtgatgcaacaagcttacgctgcaccaatgatgcagc
+agccagctcaatctaacgcagccgctccggcgaccgttccttccatggaagcgccagcag
+cagcggaaatcagtggtcacatcgtacgttccccgatggttggtactttctaccgcaccc
+caagcccggacgcaaaagcgttcatcgaagtgggtcagaaagtcaacgtgggcgataccc
+tgtgcatcgttgaagccatgaaaatgatgaaccagatcgaagcggacaaatccggtaccg
+tgaaagcaattctggtcgaaagtggacaaccggtagaatttgacgagccgctggtcgtca
+tcgagtaacgaggcgaacatgctggataaaattgttattgccaaccgcggcgagattgca
+ttgcgtattcttcgtgcctgtaaagaactgggcatcaagactgtcgctgtgcactccagc
+gcggatcgcgatctaaaacacgtattactggcagatgaaacggtctgtattggccctgct
+ccgtcagtaaaaagttatctgaacatcccggcaatcatcagcgccgctgaaatcaccggc
+gcagtagcaatccatccgggttacggcttcctctccgagaacgccaactttgccgagcag
+gttgaacgctccggctttatcttcattggcccgaaagcagaaaccattcgcctgatgggc
+gacaaagtatccgcaatcgcggcgatgaaaaaagcgggcgtcccttgcgtaccgggttct
+gacggcccgctgggcgacgatatggataaaaaccgtgccattgctaaacgcattggttat
+ccggtgattatcaaagcctccggcggcggcggcggtcgcggtatgcgcgtagtgcgcggc
+gacgctgaactggcacaatccatctccatgacccgtgcggaagcgaaagctgctttcagc
+aacgatatggtttacatggagaaatacctggaaaatcctcgccacgtcgagattcaggta
+ctggctgacggtcagggcaacgctatctatctggcggaacgtgactgctccatgcaacgc
+cgccaccagaaagtggtcgaagaagcgccagcaccgggcattaccccggaactgcgtcgc
+tacatcggcgaacgttgcgctaaagcgtgtgttgatatcggctatcgcggtgcaggtact
+ttcgagttcctgttcgaaaacggcgagttctatttcatcgaaatgaacacccgtattcag
+gtagaacacccggttacagaaatgatcaccggcgttgacctgatcaaagaacagctgcgt
+atcgctgccggtcaaccgctgtcgatcaagcaagaagaagttcacgttcgcggccatgcg
+gtggaatgtcgtatcaacgccgaagatccgaacaccttcctgccaagtccgggcaaaatc
+acccgtttccacgcacctggcggttttggcgtacgttgggagtctcatatctacgcgggc
+tacaccgtaccgccgtactatgactcaatgatcggtaagctgatttgctacggtgaaaac
+cgtgacgtggcgattgcccgcatgaagaatgcgctgcaggagctgatcatcgacggtatc
+aaaaccaacgttgatctgcagatccgcatcatgaatgacgagaacttccagcatggtggc
+actaacatccactatctggagaaaaaactcggtcttcaggaaaaataagactgctaaagc
+gtcaaaaggccggattttccggccttttttattactggggatcgacaacccccataaggt
+acaatccccgctttcttcacccatcagggacaaaaaatggacactcgttttgttcaggcc
+cataaagaggcgcgctgggcgctggggctgacccttttgtatctggcagtttggttagta
+gccgcttacttatctggcgttgcccccggttttaccggctttccgcgctggtttgagatg
+gcctgcatcctgacgccgctgctgtttattggactgtgctgggcgatggtgaaatttatc
+tatcgcgatatcccactggaggatgacgatgcagcttgaagtaattctaccgctggtcgc
+ctatctggtggtggtgttcggtatctcggtttatgcgatgcgtaaacggagcaccggcac
+cttccttaatgagtatttcctcggcagccgctctatgggcggtattgtgctggcgatgac
+gctcaccgcgacctatatcagtgccagttcgtttatcggcgggccaggagctgcttataa
+atacgggctgggctgggtattgctggcgatgattcagcttcctgcagtctggctttcact
+cggtattctcggcaagaagtttgcgattcttgcgcgccgctacaatgcagtgacgctgaa
+cgatatgctgtttgcccgctaccagagtcgtcttctggtgtggctggcgagtttgagttt
+gctggttgcgttcgttggtgcgatgaccgtgcagtttatcggcggtgcgcgcctgctgga
+aaccgcggcgggtattccttatgaaaccgggctgctgatttttggtatcagcattgcgtt
+atataccgcctttggtggctttcgcgccagcgtgctgaacgacaccatgcaagggcttgt
+gatgctgattggcaccgttgtgctgcttattggcgtagtacatgccgctggcggcttaag
+taacgcagtacagaccttgcaaaccatcgatccgcaactggttacgccacaaggcgctga
+cgatattctgtcgcctgcctttatgacgtcgttctgggtactggtgtgttttggcgtgat
+tggcctgccgcatactgcggtgcgctgtatctcttataaagacagcaaagccgtacatcg
+ggggatcatcatcggtacgattgtggtcgcaattctgatgttcggtatgcacctggccgg
+agcgttaggtcgggcggtgatccccgatctcaccgtaccggacctggtgatcccaacgtt
+aatggtaaaagtgctgccaccgtttgctgccgggatcttcctggctgcaccgatggctgc
+gatcatgtcgacaattaacgcccaactgctgcaaagttccgctacgatcattaaagatct
+ctatctgaatatccgtccggatcaaatgcaaaacgagacgcgtctgaagcggatgtcggc
+ggtaattacgttagttctcggcgcgttgctgctgcttgccgcctggaagccgccagaaat
+gatcatctggctgaatttgttggccttcggtgggctggaagccgttttcctgtggccgct
+ggtgctgggtctttactgggaacgcgccaacgccaaaggcgcgctaagtgcgatgatcgt
+tggcggcgtgctgtatgccgtactcgcgacgctgaatattcagtacctgggcttccaccc
+tatcgtgccctcgttactactaagtttgctggctttcctggtcggaaaccgtttcggtac
+atccgtcccgcaagctaccgttttgactactgataaataaagagttttgccatgccttgg
+atccaactgaaactgaacaccaccggcgcgaacgcggaagatcttagcgatgcgctgatg
+gaagcgggtgccgtttctatcacttttcaggatacccacgatacgccagtatttgaaccg
+ctgccgggcgaaacgcgcctgtggggcgacaccgatgtgattggtctgttcgacgctgaa
+accgatatgaacgacgtggtggcgattctggaaaaccatccgctgctcggcgcaggcttc
+gcgcataaaatcgaacaactagaagataaagactgggagcgcgaatggatggataatttc
+cacccgatgcgctttggtgaacgactgtggatctgccctagctggcgtgatgtgccggac
+gaaaacgccgtcaacgtgatgttagatccagggctggcgtttggtacgggtacccatcca
+accacctctctgtgcctgcaatggctcgacagcctcgatttaaccggtaaaacagtcatc
+gactttggctgtggttccggcattctggcgatcgcggcgctgaaactgggtgcagcaaaa
+gccattggtattgatatcgatccgcaggcgattcaggccagccgcgataacgccgaacgt
+aatggcgtttctgaccgtctggaactctacttaccgaaagatcagccagaagaaatgaaa
+gccgacgtggtggtcgctaacatccttgcaggcccattacgtgaactggcaccgttaatc
+agcgtcctgccggtttcaggcggtttgctgggcctttccggtattctggcaagccaggca
+gagagcgtttgtgaagcttatgccgatagcttcgcactggacccggtcgtggaaaaagaa
+gagtggtgccgtattaccggtcgtaagaattaaccttcgcatcgccgtagggtgacgcgg
+ggcgaagtgcgagcaagctcacaaaaggcacgtaaatttgccgattatttacgcaaattt
+gcgtgccaaaattttcattcataaagaaaaattgagaacttactcaaatttctttgagtg
+taaattttagtcactattttctaatatgatgatttttatgagtaattatcgcaccacgct
+cattttaaatgcaattctttgatccatctcagaggattggtcaaagtttggcctttcatc
+tcgtgcaaaaaatgcgtaatatacgccgccttgcagtcacagtatggtcatttcttaact
+catgcgcatcggacaatatcagctcagaaatcgcctgatcgcagcgcccatggctggcat
+tacagacagaccttttcggacgttgtgctacgagatgggagccggattgacagtatccga
+gatgatgtcttctaacccacaggtttgggaaagcgacaaatctcgtttacggatggtgca
+cattgatgaacccggtattcgcaccgtgcaaattgctggtagcgatccgaaagaaatggc
+agatgcagcacgtattaacgtggaaagcggtgcccagattattgatatcaatatgggttg
+cccggctaaaaaagtgaatcgcaagctcgcaggttcagccctcttgcagtacccggatgt
+cgttaaatcgatccttaccgaggtcgtcaatgcagtggacgttcctgttaccctgaagat
+tcgcaccggctgggcaccggaacaccgtaactgcgaagagattgcccaactggctgaaga
+ctgtggcattcaggctctgaccattcatggccgtacacgcgcctgtttgttcaatggaga
+agctgagtacgacagtattcgggcagttaagcagaaagtttccattccggttatcgcgaa
+tggcgacattactgacccgcttaaagccagagctgtgctcgactatacaggggcggatgc
+cctgatgataggccgcgcagctcagggaagaccctggatctttcgggaaatccagcatta
+tctggacactggggagttgctgcccccgctgcctttggcagaggttaagcgcttgctttg
+cgcgcacgttcgggaactgcatgacttttatggtccggcaaaagggtaccgaattgcacg
+taaacacgtttcctggtatctccaggaacacgctccaaatgaccagtttcggcgcacatt
+caacgccattgaggatgccagcgaacagctggaggcgttggaggcatacttcgaaaattt
+tgcgtaaacagaaataaagagctgacagaactatgttcgaacaacgcgtaaattctgacg
+tactgaccgtttctaccgttaactctcaggatcaggtaacccaaaaacccctgcgtgact
+cggttaaacaggcactgaagaactattttgctcaactgaatggtcaggatgtgaatgacc
+tctatgagctggtactggctgaagtagaacagcccctgttggacatggtgatgcaataca
+cccgtggtaaccagacccgtgctgcgctgatgatgggcatcaaccgtggtacgctgcgta
+aaaaattgaaaaaatacggcatgaactaattcaggttagctaaatgcttgattaaaaagg
+cgctactcggcatggggaagcgccttttttataggtgtcacaaagggagtgaccatgaga
+acaggatgtgaaccgacccggtttggtaatgaagctaagaccattattcacggtgatgcg
+cttgccgaacttaaaaagatccccgccgaaagtgtcgatctgatctttgccgacccacca
+tataacatcggtaaaaattttgatggtctgatcgaagcctggaaagaagatctgtttatc
+gactggctgtttgaagtgattgcagagtgccaccgcgttctgaaaaagcagggcagcatg
+tacatcatgaacagtacggaaaacatgccctttatcgatctccagtgccgcaagcttttt
+accatcaaaagtcgcatcgtctggtcatatgacagttctggagtgcaggcgaaaaaacac
+tacggctccatgtacgaacccatcctgatgatggtgaaagacgcaaagaactacacattc
+aacggtgatgctattctggtagaagccaaaaccggatcgcagcgcgcgttgatcgattat
+cgcaaaaatcctccacagccttacaatcatcaaaaagtaccgggtaacgtttgggatttt
+ccgcgcgtgcgttatttgatggatgaatatgaaaaccacccgacgcaaaaaccggaagcc
+ttactgaaacgcattattctcgcctcttccaacccaggcgatatcgttctcgacccgttt
+gctggtagctttactaccggtgccgtagccatcgccagcggacgaaaattcattggtatt
+gagatcaacagcgagtacatcaaaatggggcttcgacggctggatgtcgcgtcgcattac
+tctgcggaagaactggcgaaagtgaaaaaaagaaagaccggcaacctgtcaaaacgaagc
+cggttaagcgaagttgaccccgatctcattacaaagtaaaggatgtgtaagcctggtttt
+cagattattcatttcgtgtatatttcctgccagacttggttaaacatgcacaggctcagg
+taatgattcgcaagtattggtggctcgtcgttttcgctgtcttcgtttttctgtttgata
+ctttactgatgcagtggattgaactgctggcaacagaaacagacaaatgccgcaatatga
+actcagttaatccactaaaactggttaactgtgacgaactgaattttcaggacagaatgt
+gaatttacatgacacttaattcattcgtttgatgaattaatttcgttatgttttcatctg
+gcatgaacattcttaatacgttatcgaccagagcgggggcttgtttataaagatcataac
+ccgccatattcattaaccagttttgaacaattccgctgaaggcaccatcaataataatca
+tcacaacatctaaatcgaggttatttgctacacaaccttgttgctgacacgcctgcaata
+cttcgcggagagtctgcggattaaagcccatcttttcgcgtatcactccctcggccagca
+tctcatcattaaattcacatttgtgatataagattttcagcaacgcctgctggcggggaa
+ttttggcaatatattgcaagccgacaatcaatttttcacgcaattgttgaaacgggtcat
+gctctaatccagccgtcaagtgttcctggattaactcccgcaatgaaggctgttgcaacc
+acatctcattaaacagttgagtcttgttttcgaagtgccagtagatagcgccacgcgtaa
+cgttagcggcgtcggcaatgtcgttgagcgtcgtcttgcttacgccatgctgcgcaaact
+gggcgatggcagtttcaatcagttcttgccgggtcttcagagcttcggctttggttcttt
+ttgccatgattaattattcaggaaataaatatattcgacacagagtgagaaaatagcgaa
+ggttaatctatcacctaatgtgtatttatacgagaggctaatattgagttgctataaatc
+gttaaataaataatatatattatttacctaagatacattcactacatcaatatatatttc
+aatttacgaggttttaattctgcctctttcaacccgcgtcaaaataaaacagtagaatat
+taatctttttttgtgtttatgtgccttgagatgcctgtattcataactattccttacatc
+gacgaatgataatttgtaggatagcgaactgtatttttctttctgcgagttaacgcgttg
+cctttttgggtaaataacgcgcttttggttttttgaggaatagtaatgacgaaacatgcc
+aggtttttcctcctgccctcctttattctgatctccgcggctttaatcgccggttgtaac
+gataagggagaagagaaagctcacgtcggtgaaccgcaggttaccgttcatattgtaaaa
+acggccccgttagaagttaagactgaattaccaggccgcaccaatgcttatcgtatagcc
+gaagttcgcccacaggttagcgggatcgtactgaatcgcaatttcactgaaggcagcgat
+gtgcaagcaggccagtccctgtaccagatcgatcccgcgacctatcaggcaaattatgac
+agcgcgaaaggcgaactggcgaaaagtgaagccgccgccgccatcgcgcatttgacggta
+aaacgttacgttccgctcgtgggtacgaaatacatcagccagcaggagtacgaccaggcc
+attgctgatgctcgtcaggccgatgccgccgtgattgccgcaaaagccacagtcgaaagc
+gctcgcatcaatcttgcttataccaaagtcactgcgccaattagcggacgtatcggcaaa
+tcgactgtgaccgaaggcgctcttgtcactaatgggcaaacgactgaactggcgactgtc
+cagcagctcgatcctatctacgttgatgtgacccaatccagcaacgattttatgaggctg
+aagcaatccgtagagcaaggaaatttgcataaggaaaacgccaccagcaacgtagagttg
+gtcatggaaaacggtcaaacctatcccctgaaaggtacgctgcaattctccgatgtgacc
+gttgatgaaagcaccggctccataaccctacgtgctgtcttccctaacccgcaacatacg
+cttttgccgggtatgtttgtgcgtgcacggattgatgaaggcgtccaacctgacgccatt
+cttatcccgcaacaaggcgttagccgcacaccgcgtggtgatgcaaccgtgctgattgtt
+aacgataaaagtcaggttgaagcgcgccctgtcgttgccagtcaggcgattggcgataaa
+tggttgattagtgaaggactgaaatctggcgatcaagtcattgtcagcggcctgcaaaaa
+gcgcgtccgggagagcaggttaaagccactaccgatacccccgcagatactgcatcgaag
+taaggtaatctgacatggcaaacttttttattcgacgaccgatatttgcatgggtgctgg
+ccattattctgatgatggcgggcgcactggcgatcctacaattgcccgtcgctcagtatc
+caacaattgcaccgcctgcggtttctgtttcagcaaactatccgggcgctgatgcgcaga
+ccgtgcaggatacggtgacgcaggttatcgaacagaatatgaacggtatcgataacctga
+tgtatatgtcctccaccagcgattccgccggtagcgtgacaattacccttaccttccagt
+ccgggaccgatcctgatatcgcgcaagtgcaggtgcagaacaaactccagctcgccacgc
+cgttgctgccgcaggaggttcagcagcaggggatcagtgttgaaaagtccagtagcagct
+atttgatggtggcgggctttgtctctgataacccaggcaccacacaggacgatatctcgg
+actatgtggcctctaacgttaaagatacgcttagccgtctgaatggcgtcggtgacgtac
+agcttttcggcgcacagtatgcgatgcgtatctggctggatgccgatctgctaaacaaat
+ataaactgacaccggttgatgtgattaaccagttgaaggtacagaacgatcagatcgctg
+ccggacagttgggcggaacgccagcgttaccagggcaacaattgaacgcctcgattattg
+ctcagacgcggtttaaaaatccggaagaattcggcaaagtgaccctgcgcgtaaacagtg
+acggctcggtggtacgcctgaaagatgtcgcacgggttgaacttggcggtgaaaactata
+acgttatcgctcgtatcaacggaaaaccggcggcgggcctggggattaagctggcaaccg
+gcgcgaatgctctcgataccgcgaaagccattaaggcaaaactggcggaattacagccat
+tcttcccgcagggaatgaaggttctctacccttatgacaccacgccattcgtccagcttt
+ctattcacgaagtggtaaaaacgctgttcgaagccattatgctggtgttcctggtgatgt
+atctgttcttgcagaatatgcgagcaacgctgatccccaccattgcggtacccgtggtgt
+tgttagggacgtttgccatcctcgccgcttttggttactccatcaacacactaacgatgt
+tcgggatggtgcttgccatcgggctgctcgtcgatgatgcgatagtggtggtggagaacg
+tcgagcgcgtgatgatggaggataagctcccgccaaaagaagcgacggaaaaatcgatgt
+cgcaaattcagggcgcactggtgggtatcgcgatggtgctgtcagcggtatttattccga
+tggcattcttcggcggttctactggggcaatttatcgccagttctctatcaccatcgttt
+cggcaatggcgctttctgttctggtggcattgattcttacccctgcgttatgtgcaacgc
+tgcttaaacccgtctctgctgagcatcacgaaaataagggcggtttcttcggttggttta
+ataccaccttcgatcatagcgttaaccactacaccaacagcgtcggcaaaatcctcggat
+ccacaggacgatatttactgatctatgcgctgattgttgcaggaatggtggtgttgtttt
+tacgtcttccgtcttccttcttacctgaagaggatcagggtgtctttctgaccatgattc
+agttacccgctggcgcgacgcaagagcggacgcaaaaagtgttggatcaagttacggatt
+actatctgaagaacgagaaagcgaacgttgaaagtgtctttacggttaacggctttagct
+tcagcggccaggcacaaaacgccggtatggccttcgtcagtctgaaaccgtgggaagagc
+gtaatggtgacgaaaacagtgcggaagcggtaatccatcgtgccaaaatggaattgggca
+agatccgcgacggttttgtcattccattcaatatgccagccattgttgaactgggcacgg
+caacgggtttcgactttgagttaattgatcaggctgggctgggtcacgatgccctaaccc
+aggcccgtaaccagttgcttggtatggcggcgcaacatcctgccagcttagtcagcgtgc
+gccctaatggcctggaagacaccgcgcagtttaaactggaagttgaccaggaaaaggcgc
+aggcattaggtgtttcactttctgacatcaatcagaccatttcaacggcgctgggtggga
+cttacgttaacgacttcatcgaccgtggccgcgtgaaaaagttgtatgttcaggcggatg
+ccaaattccgtatgctgccagaagatgtcgataaactttatgtccgcagcgccaacggcg
+aaatggtgccattctcggcctttaccacttcacattgggtgtatggctctccgcgactgg
+aacgctacaacggtctgccgtcaatggagattcagggggaagccgcgccaggaaccagtt
+ccggcgatgccatggcgttgatggaaaaccttgcgtcaaaattacctgcgggcattggtt
+atgactggacgggtatgtcgtatcaggaacgcttatcgggaaaccaggctcccgctctgg
+tagcaatttcctttgtggttgttttcctgtgccttgctgcactctatgaaagctggtcaa
+ttcctgtctcggttatgttggtagtgccgttagggattgtcggcgtgctgctggcggcga
+cactctttaatcaaaaaaatgacgtctactttatggtgggcttgctaacgacaattggct
+tgtcggccaaaaacgctattttgatcgttgagttcgctaaagatctcatggagaaagagg
+gtaaaggtgttgttgaagcgacactgatggcagtacgtatgcgtctgcgtcctatcctga
+tgacctctctcgcctttattctcggcgtattaccgctagctatcagtaacggtgccggca
+gtggcgcgcagaacgctgtgggtatcggggtaatgggaggaatggtctctgcaacgttgc
+tggcaatcttcttcgtaccggtgttctttgtggtgatccgccgttgctttaaaggataaa
+tcagaaacataaaggcgctttcgggtgcctttattatttccagtgaaacccataaaaatt
+aataagatattcttctgctcactctttaaaagctttctatagttcccgctcccttcacta
+tttttacaattcacataatttgtcattattcattccgcaagatttataacctccggtgat
+aaaatggcattcagctcgttaataagagagttaacttattaagcgttagcgtttattact
+gaggtaacaccatgaaaagattaattcctgtggcattgctcaccgcattgctggcgggct
+gtgctcacgattcgccctgcgttccggtttatgacgatcagggtcgtctggttcacacca
+atacctgtatgaaaggcacgactcaggataactgggaaacggctggggctattgccggcg
+gggcagctgctgttgctggcctgacgatggggatcatcgctctatcgaaataactgaaca
+gggcgcggagttccgcgctctttttaacgatacagtatctctccataagataaaatattg
+ctatattctgctgggtaattccctgctgatttagcatgttacatcgcgttatttcgctgc
+tttcgaaataacgcatcaatttaattttcacacttcccaccagaaatatactcacgctaa
+caatcattattctgcttagtaaaacacgcgtaaatattttgcgccaaaatgtggcgcatg
+tttcattttcgcaccattgcggggcgctgtttttattatttcctgtctacactcagctta
+ttgcgacgcgaaatcgtgcgcaaaagctggcactacttttgcttataagaggatggccac
+agacaggtaaaagacgtttcccaaacgtcctataacgataattttcgcctcacaggaagc
+attatgaaaaagatgatgatagccacactggctgccgccagcgtgctgcttgccgttgca
+aatcaggcgctgctggcgcgacgcttgatgccgttcagaaaaaaggttttgtgcaatgcg
+ggatcagtgatggattacctgggttctcttatgccgatgctgacggtaagttttcaggta
+ttgatgttgatatttgtcgtggtgttgccgctgctgtatttggtgacgacacgaaagtga
+aatataccccgctcactgcaaaagaacgcttcaccgctttacagtcaggggaggtggatt
+tgctctcccgtaatacgacctggacttcatctcgcgatgccgggatgggaatggcattta
+ccggcgtcacttattacgacggcattggcttcctgacgcacgataaagcggggctaaaaa
+gcgcgaaagaactggatggcgctaccgtctgtattcaggcgggtactgataccgaactca
+acgtcgccgactacttcaaggcaaacaatatgaagtacacaccggtgactttcgatcgct
+ctgacgaatcagcgaaggcactggaatctggtcgctgcgatacgctggcctcggatcaat
+cacaactgtatgccctgcgcatcaaattaagcaacccagctgaatggattgtcttaccgg
+aagttatctcaaaagaaccgcttggtccggtagttcgtcgtggcgatgatgaatggttct
+cgattgtacgctggacgcttttcgccatgctgaatgctgaagagatgggcatcaattccc
+agaacgtcgatgaaaaagcggctaatccagcaacgcctgatatggcacatctgctgggta
+aagaaggcgattacggcaaggatctgaagctggataataaatgggcctataacatcatca
+aacaggtgggtaactactcggaaatttttgagcgtaacgtaggttcagaaagcccgctga
+aaattaaacgtgggcaaaataatctctggaataacggcggtattcagtacgcaccgcccg
+tgcgttaagtcggtgtgaggtaacgagcgtcgctacggcggcgctctcttcagcgttatg
+ctttccgaggtttctatgtctcatcgccgctcaaccgttaaaggctcactctcttttgcc
+aaccctacggttcgcgcctggttattccagatccttgccgttgttgctgttgtcggcatt
+gttggttggttatttcacaacactgtaacgaatctcaataatcgtggcattacttcaggt
+tttgcctttctggatcgcggcgctggcttcggtattgtccagcatttgatcgattaccag
+cagggcgacacctacggacgcgtttttattgtcggcttactcaatacgctactggtttct
+gcattgtgtattgtgttcgcttctgttttgggcttctttatcggtctggcgagactttcg
+gataactggctgctacgaaagctttccacaatttatattgagatcttccgtaatattccc
+ccgctgctgcaaatcttcttctggtactttgccgtgttgcgcaatttgcccggaccacgc
+caggctgtgagcgcgtttgatctggcctttttgagcaatcgtgggctttatattccgtca
+ccgcagctgggagacggatttattgcgtttatcctggctgttgttatggctatagtcctt
+tctgttgggctattccgctttaataaaacataccagataaagaccggacaactgcgccgc
+acctggccgatcgccgcagtgttgatcattggtttgcctttactggcgcaatggcttttt
+ggcgcagcactacactgggatgtcccagccctacgaggctttaacttccgcggcgggatg
+gttttaattcctgaactggcagccttaacgctggcactttcggtttatacatctgcattt
+atcgccgagattatccgcgctgggatccaggcagtgccttatggtcaacatgaagcggct
+cggtcactgggattacccaacccggttacgctacgccaggtcattattccccaggcattg
+cgggtgattattccaccgttaaccagccagtatctcaacatcgtcaaaaactcctctctt
+gccgccgctattggctatcccgatatggtttcgctgtttgccggcaccgtgctgaatcag
+acggggcaagccatcgagacgatagccatgaccatgtcggtctatctgattatcagcctg
+actatctcgctgctgatgaatatctataaccgccgcatcgcgatcgttgaacgctaagga
+gtcatgatgacaaaagtattgctgtctcatcccccgcgcccggcgagccataactcaagc
+cgcgcgatggtgtgggtgcgaaaaaatctgttctccagctggagcaatagcctgctgact
+attggctgcatatggttgatgtgggaactgatcccaccgttgctgaactgggcatttttg
+caggctaactgggttggctcaacgcgtgccgactgcacaaaagccggtgcctgttgggtc
+ttcatccacgaacgatttggtcagtttatgtatgggctttacccacacgaccaacgctgg
+cgaattaacctcgcattactgattgggcttgtgtcgatcgcaccaatgttctggaaaata
+ctcccgcatcgcggtcgctatattgcggcctgggcggtgatttacccactgattgtctgg
+tggctgatgtatggcggtttttttgctcttgagcgggttgaaacccggcaatggggcggg
+ctgacgctaactttaattattgcatcagttgggattgcgggggcgctaccgtgggggatc
+ttactggcgttaggtcgccgctcccatatgccgattgtgcgtatcttatcggtcattttt
+atcgaattctggcgcggcgtgccgctgattaccgttctgtttatgtcttcggtcatgctg
+ccgttgtttatggcagaaggcaccagtatcgacaaattgatccgcgcgctggttggcgtg
+atcctgtttcagtcagcatatgttgcggaagtcgtgcgaggtggattacaggcgctgcct
+aaagggcaatatgaagcggcagagtcgctggcgttgggttactggaaaactcaggggctg
+gttattctgccacaggcgttgaagctggtaattcctgggctggtaaataccatcatcgca
+ctcttcaaagataccagcctggtgatcattatcgggttgttcgatcttttcagtagcgtt
+cagcaggcaaccgttgatcccgcctggttgggtatgtcgacggaagggtatgttttcgcc
+gcgctgatctactggatcttctgtttcagcatgtcgcgctatagccagtatctggaaaaa
+cgttttaacaccgggcgtacaccgcattgaggacactatgagccaaattttactgcaacc
+tgctaacgcgatgattacgctggaaaacgtcaataaatggtatggacaattccatgtttt
+gaaaaatataaatttaaccgtgcaaccgggagaacggatcgttctgtgtggcccttcagg
+ttccggtaaatcgacaaccattcgttgtattaatcatctggaagaacatcaacagggacg
+gatcgtggtagatggcatcgaacttaatgaagatatccgcaatattgagcgcgtcaggca
+ggaagtgggaatggtctttcagcatttcaatctcttccctcatctgaccgttttacagaa
+ctgtaccctggcaccgatttgggtacgcaagatgcctaagaaagaggctgaagatctggc
+ggtgcattacctagagcgggtgagaattgccgaacatgcgcataagtttcccggacagat
+ttcaggtggtcagcagcaacgcgttgccattgcgcgttcgctgtgtatgaagccgaaaat
+tatgttgtttgatgagccaacgtcggcgctcgatcctgagatggtgaaagaggtgctgga
+tacgatgattgggctggcgcagtcgggtatgacaatgttgtgtgtaacacatgagatggg
+gtttgcacgaaccgtcgctgaccgggtaatttttatggatcgtggggaaatagtggagca
+agctgcacctgatgaattttttgcgcatcctaaatcagagcgtacgagggcatttttatc
+gcaggtaatccattaattgaatgttagttcgaaaagcaaaaaggccatcctttcggatgg
+cctttcgcttgatttgatgtctggcagtttatggcgggcgtcctgcccgccaccctccgg
+gccgttgcttcgcaacgttcaaatccgctcccggcggatttgtcctactcgggagagtgt
+tcaccgacaaacaacagataaaacaaaaggcccagtcttccgactgagccttttgtttta
+tttgatgtctggcagttccctactctcgcatggggagaccccacactaccatcggcgcta
+cggcgtttcacttctgagttcggcatggggtcaggtgggaccaccgcgctactgccgcca
+gacaaattcttttctaatctgccgaactttaacctaaaaagtggtgctgatacccagagt
+cgaactggggacctcacccttaccaagggtgcgctctaccaactgagccatatcagcacg
+ctaaatttgatgcctggcagttccctactctcgcatggggagaccccacactaccatcgg
+cgctacggcgtttcacttctgagttcggcatggggtcaggtgggaccaccgcgctacggc
+cgccaggcaaattctgttttatcagaccgcttctgcgttctgatttaatctgtatcaggc
+tgaaaatcttctctcatccgccaaaacagcttcggcgttgtaaggttaagcctcacggtt
+cattagtaccggttagctcaacgcatcgctgcgcttacacacccggcctatcaacgtcgt
+cgtcttcaacgttccttcaggacccttaaagggtcagggagaactcatctcggggcaagt
+ttcgtgcttagatgctttcagcacttatctcttccgcatttagctaccgggcagtgccat
+tggcatgacaacccgaacaccagtgatgcgtccactccggtcctctcgtactaggagcag
+cccccctcagttctccagcgcccacggcagatagggaccgaactgtctcacgacgttcta
+aacccagctcgcgtaccactttaaatggcgaacagcatcacccttgggacctacttcagc
+cccaggatgtgatgagccgacatcgaggtgccaaacaccgccgtcgatatgaactcttgg
+gcggtatcagcctgttatccccggagtaccttttatccgttgagcgatggcccttccatt
+cagaaccaccggatcactatgacctgctttcgcacctgctcgcgccgtcacgctcgcagt
+caagctggcttatgccattgcactaacctcctgatgtccgaccaggattagccaaccttc
+gtgctcctccgttactctttaggaggagaccgccccagtcaaactacccaccagacactg
+tccgcaacccggattacgggtcaacgttagaacatcaaacattaaagggtggtatttcaa
+ggtcggctccatgcagactggcgtccacacttctaagcctcccacctatcctacacatca
+aggctcaatgttcagtgtcaagctatagtaaaggttcacggggtctttccgtcttgccgc
+gggtacactgcatcttcacagcgagttcaatttcactgagtctcgggtggagacagcctg
+gccatcattacgccattcgtgcaggtcggaacttacccgacaaggaatttcgctacctta
+ggaccgttatagttacggccgccgtttaccggggcttcgatcaagagcttcgcttgcgct
+aaccccatcaattaaccttccggcaccgggcaggcgtcacaccgtatacgtccactttcg
+tgtttgcacagtgctgtgtttttaataaacagttgcagccagctggtatcttcgactgat
+ttcagctccacgagcaagtcgcttcacctacatatcagcgtgccttctcccgaagttacg
+gcaccattttgcctagttccttcacccgagttctctcaagcgccttggtattctctacct
+gaccacctgtgtcggtttggggtacgatttgatgttacctgatgcttagaggcttttcct
+ggaagcagggcatttgttgcttcagcaccgtagtgcctcgtcatcacgcctcagccttga
+ttttccggatttgcctggaaaaccagcctacacgcttaaaccgggacaaccgtcgcccgg
+ccaacatagccttctccgtccccccttcgcagtaacaccaagtacaggaatattaacctg
+tttcccatcgactacgcctttcggcctcgccttaggggtcgactcaccctgccccgatta
+acgttggacaggaacccttggtcttccggcgagcgggcttttcacccgctttatcgttac
+ttatgtcagcattcgcacttctgatacctccagcatgcctcacagcacaccttcgcaggc
+ttacagaacgctcccctacccaacaacgcataagcgtcgctgccgcagcttcggtgcatg
+gtttagccccgttacatcttccgcgcaggccgactcgaccagtgagctattacgctttct
+ttaaatgatggctgcttctaagccaacatcctggctgtctgggccttcccacatcgtttc
+ccacttaaccatgactttgggaccttagctggcggtctgggttgtttccctcttcacgac
+ggacgttagcacccgccgtgtgtctcccgtgataacattctccggtattcgcagtttgca
+tcgggttggtaagtcgggatgacccccttgccgaaacagtgctctacccccggagatgaa
+ttcacgaggcgctacctaaatagctttcggggagaaccagctatctcccggtttgattgg
+cctttcacccccagccacaagtcatccgctaatttttcaacattagtcggttcggtcctc
+cagttagtgttacccaaccttcaacctgcccatggctagatcaccgggtttcgggtctat
+accctgcaacttaacgcccagttaagactcggtttcccttcggctcccctattcggttaa
+ccttgctacagaatataagtcgctgacccattatacaaaaggtacgcagtcacacgccta
+agcgtgctcccactgcttgtacgtacacggtttcaggttctttttcactcccctcgccgg
+ggttcttttcgcctttccctcacggtactggttcactatcggtcagtcaggagtatttag
+ccttggaggatggtccccccatattcagacaggataccacgtgtcccgccctactcatcg
+agctcacagcatgtgcatttttgtgtacggggctgtcaccctgtatcgcgcgcctttcca
+gacgcttccactaacacacacactgattcaggctctgggctgctccccgttcgctcgccg
+ctactgggggaatctcggttgatttcttttcctcggggtacttagatgtttcagttcccc
+cggttcgcctcattaacctatggattcagttaatgatagtgtgtcgaaacacactgggtt
+tccccattcggaaatcgccggttataacggttcatatcaccttaccgacgcttatcgcag
+attagcacgtccttcatcgcctctgactgccagggcatccaccgtgtacgcttagtcgct
+taacctcacaacccgaagatgtttcacttcagagttgcgaaaatttgagagactcacgaa
+caactttcgttgttcagtgtttcaattttcagcttgatccagatttttaaagagcaaaac
+ttcgcagtgaacctttgcaggtacactctgaagtattttttatttaatcactacagagat
+ggtggagctatgcgggatcgaaccgcagacctcctgcgtgcaaagcaggcgctctcccag
+ctgagctatagccccataacatgtagttaaaacctcttcaaatttgccgtgcaaatttgg
+taggcctgagtggacttgaaccaccgacctcacccttatcaggggtgcgctctaaccacc
+tgagctacaagcctgtagaggttttactgctcattttcatcagacaatctgtgtgagcac
+tgcaaagtacgcttctttaaggtaaggaggtgatccaaccgcaggttcccctacggttac
+cttgttacgacttcaccccagtcatgaatcacaaagtggtaagcgccctcccgaaggtta
+agctacctacttcttttgcaacccactcccatggtgtgacgggcggtgtgtacaaggccc
+gggaacgtattcaccgtggcattctgatccacgattactagcgattccgacttcatggag
+tcgagttgcagactccaatccggactacgacgcactttatgaggtccgcttgctctcgcg
+aggtcgcttctctttgtatgcgccattgtagcacgtgtgtagccctggtcgtaagggcca
+tgatgacttgacgtcatccccaccttcctccagtttatcactggcagtctcctttgagtt
+cccggccggaccgctggcaacaaaggataagggttgcgctcgttgcgggacttaacccaa
+catttcacaacacgagctgacgacagccatgcagcacctgtctcacggttcccgaaggca
+cattctcatctctgaaaacttccgtggatgtcaagaccaggtaaggttcttcgcgttgca
+tcgaattaaaccacatgctccaccgcttgtgcgggcccccgtcaattcatttgagtttta
+accttgcggccgtactccccaggcggtcgacttaacgcgttagctccggaagccacgcct
+caagggcacaacctccaagtcgacatcgtttacggcgtggactaccagggtatctaatcc
+tgtttgctccccacgctttcgcacctgagcgtcagtcttcgtccagggggccgccttcgc
+caccggtattcctccagatctctacgcatttcaccgctacacctggaattctacccccct
+ctacgagactcaagcttgccagtatcagatgcagttcccaggttgagcccggggatttca
+catctgacttaacaaaccgcctgcgtgcgctttacgcccagtaattccgattaacgcttg
+caccctccgtattaccgcggctgctggcacggagttagccggtgcttcttctgcgggtaa
+cgtcaatgagcaaaggtattaactttactcccttcctccccgctgaaagtactttacaac
+ccgaaggccttcttcatacacgcggcatggctgcatcaggcttgcgcccattgtgcaata
+ttccccactgctgcctcccgtaggagtctggaccgtgtctcagttccagtgtggctggtc
+atcctctcagaccagctagggatcgtcgccttggtgagccgttaccccaccaacaagcta
+atcccatctgggcacatccgatggcaagaggcccgagggtccccctctttggtcttgcga
+cgttatgcggtattagctaccgtttccagtagttatccccctccatcaggcagtttccca
+gacattactcacccgtccgccactcgtcagcgaaacagcaagctgtttcctgttaccgtt
+cgacttgcatgtgttaggcctgccgccagcgttcaatctgagccatgatcaaactcttca
+atttaaaagtttgatgctcaaagaattaaacttcgtaatgaattacgtgttcactcttga
+gacttggtattcatttttcgtcttgcgacgttaagaatccgtatcttcgagtgcccacac
+agattgtctgataaattgttaaagagcagttgcgacgcggctttcagctcactgtcgcga
+ggtggcgtatattacgctttcctctttcagagtcaaccctgaatttcaggatttttttct
+cttcgttgttccgaccatcctgtgaagtgtttcacgttgtcgtctcaacggaggcgcatt
+atagggatcccaattttttgcacaagtatttttttgatctttttttctgtttgttgtttt
+ttcaccctttttgctgcaatcgcacacaaaacggtgcttttttgcatactaaaagacttg
+cacaaggccaataatgcccccaaagtcattagtaaatcatttattgctgaggtaagtatg
+tctgatgttttacgcccataccgcgatctttttccacaaatcggtcagcgcgtaatgatc
+gacgatagcagtgtcgtgattggtgacgttcgtctggctgatgatgtggggatctggccg
+ctcgttgtgattcgtggagatgtacattatgtacagatcggagcacgcaccaatatccag
+gatggcagtatgttgcatgtcactcataaatcctcgtacaacccagatggcaacccatta
+accattggcgaagatgtcactgttggtcacaaggtgatgctccacggctgcaccattggc
+aatcgagttttggttgggatgggctcaattttacttgatggcgcaatagtagaagatgat
+gtgatgattggtgcgggtagtctggtcccacaaaataaacggctggagagcggatatctg
+tatctcggtagccccgtcaaacagatccgcccgttaagtgatgaagagaaggctgggtta
+cgctattccgcgaataattacgtgaaatggaaggacgaatatctggatcagggtaaccag
+acccagccttgatcatcttcactttgttcctgaattaagttttccgcttcttcttccagg
+tcccagcgatgctgacgaaaactcgctaaccactgttctggcgtatctccagtaaagcga
+tacgccagactctcgccagagatcgcgcatgtcagttgcataccattcacgagagcggga
+aaacatacacattttttattctcgtcccactcttccctgtccggaaactggatggcctga
+ttcacgcggacaattcctcctgcaattgctttataactggttctacgtcaggcagaacac
+cgtgccagagaagaaaggcatgagccgcctgtgccaccagcattcctaaaccatcagcat
+tacgctttgagcctcgctgctcacaccatgccagaaaaggagtttttcctttctgataga
+acatgtcatagcaataaatgcctggatgaatgagcgatgacgggatcgccggaatatcac
+cactgatgccactggatgttgcattaataatgagatcaaactcatgaccttccagttcgt
+ccatactcaacgcctgaatactgccagtgtgcgcaaacaatttagccaactcttccgcgc
+gggataccgtccgattagttattgtcaccgcacagtccagggaaaggagtggcagtagta
+cgccgcgagatgctccaccagcgccgataagcagaatacgtaaaccagggcggataaaag
+acagacgttccagatcgcttaacaagcctacaccatcggtattgtcacccagcaggcgtc
+catcttctaaccgcatgagggtattaacagcaccagccaacgctgcccgttcagtaagct
+catccgctctggcaaaagcctcttctttaaaaggcaccgtcacattcgcacctttaccac
+cagcactaaagaaagcgttcagtgtgttgatgaaatcattgatgggtgccaacacgcgcc
+catagggatgttcaatattcagttgctgagcaaattgctgatgaatgaatggcgatttgc
+tgtgggctatcggattaccaaaaacagcataggtttccattatgttacccctgtcgaaac
+agttcacccgtcagggcatcgcggatttctgaaggatttaaacgcccccccgtttcacca
+ggcacaaccgggaacgccgcgccaaattgtgcgcgaacttcgtctactgttcgacaaggt
+ggcaatccactcaagttggcactggtagaaaccagcggtttaccataagcctggcacaaa
+gcaaccaccaacggatggtcggtgactcgtacagcaagcgaatcaaagcggcccgtcaac
+cagcgcggtgttgtcgcaggcgcgggaaagacaaaggtgacaggacctggccagcgggaa
+aaaatggtttcacgctgcacgtcagtcaacatggtgtcatcaatatagggtttaagctgc
+tcgtaatttgctgcgattaaaatcagccccttatcaaccggacgctgttttaactccaac
+agtcgcatcactgctgtttcgctatcaggatcgcacccaacaccgaaaacggcttccgtt
+ggataggcgatgacacgttcttcattgagaacatctatcgcagctgcgatagcgtctctt
+tgcaggttattattcacgttattattccgccgaaaccggctttccacattgtttactggc
+acaaaagtgttttacaccctgcgcggttttcttttcgatgagtagcggataatgacactc
+agggcattctccagctatgggtttgaagttaatggcaaattgacactccgggtagcgatc
+acaagagtgaaatgttttgccataacgggagcggcgctggaccagatggcccgtccgaca
+ttgggggcatgtaattgctgtttcgtccggtttatcgataagttcggtatgttcgcattc
+agggtagttaatgcaaccaataaacataccaaagcgtccctggcgtaataccagatttgc
+gccacatgcagggcaaacctgcccctccagaactttgacgatatgtccatccgctgaaga
+tttcagaggacggacgtagtcacacgccggatactgtgagcatccaagaaacggaccgtg
+tttcccggatcgaataaccagttcagccccgcactttgggcaggactcattattacgcac
+cgtgaacagtgctgatttcgccataacaacttatgctgaattaaagaaatgattaatgca
+gcataccttcattcacttcaaagagtaattcttccatttgctggtacgcattttcgcagc
+ccggaatattgaacaacaccatcaggatcacccatttcagatcatccagttcgaactctg
+cgttatccagcgcgagcactcgctctatcaccatttcacgagtttcaaggttgagcacct
+gaatctgctcaaggaaaagcagaaacccacggcagctggcatccagtcgttcacactctt
+ccggtgtataaatacgcatggagagaggatccgaggccagttgcatcggttctgccaacc
+cttcctgataatcagcaagtttttccagccatagcagggcattgtagatatcttctcgct
+caaaacctgcgtcggtaagatcctgttcaagtttgtcttgatccacacgcaactcagctt
+ctgtgtgaatataggtttcaaacaaatacattagtacgtcgaacatggcatgccctcctc
+aatcggacatagccgccgggtacagctgcgatccatcctgctaactccagttcgagtagt
+tgagtaactacctctggcacaggttggccggcacgttcagcgacgacgtcaacaggtgtt
+acctcatctcctacgttagccaggagctcaggaaatggcaatgccacgtcttgctgatct
+ggtgaataaaatgaattttcaggggcgtctggcaaccagtgcaatccaaattgcaagttt
+tccagaatttcttccggttccgtcacaagaatcgcaccttgttttattaaccagtgaggc
+ccttcgcttcccggattccctattggacctggcaaggcaaaaacttctcgcccctgctca
+agcgcacaacgtgctgtcaccagcgaaccactacgcaaagccgcttccaccaccagtaca
+cctttacttagaccactgataatgcgatttcttcgtgggaaattgtaagcaaggggtgga
+acatcgaggggaaattccgagacgagagcgcccccctgttcaagcagactggcagccagt
+cgggcatgacggcggggatgaatggtattaagtccattccccaatacagcaatgctgacg
+ccatttacctgtaaggctgctttatgcgctacaccatcgattccacgcgccagtccactc
+gtaattgtcactccacgcgtcgccagagtttcgcaaaataatcgtccccatcgctcgcca
+taccatgaatgcgcccgactccccactacggcaagctgaaatgaatgcagcgcgtgcagt
+tctccttcaacaaacagtgcgccggggtaatctgtcgtcgccagaagttgaggaggataa
+aattcgctgtccgcaggaattaaatgatggttgggttgctccaaccaacaaagtgagctt
+tcgatactctttcgtggaaatgaaagaaagcgttgtgcctgccgcaatgtaagccctgtt
+tgctgcaatacaaccgcatcaatatgcgactgttttgccacccagtgagcgatacggacc
+atatcatcgccgtacaagctgctgatactcattaaacgcagccaaatttctgtatcgacc
+atccttatctccctgccataagcagccttagcaatctttgcgattggtcagtgatgctgt
+caatcagagggggatttgtctagaatagaagaaataatctttctaactcctgaacacatc
+tctggagatttatgtcagttttgcaagtgttacatattccggacgagcggcttcgcaaag
+ttgctaaaccggtagaagaagtgaatgcagaaattcagcgtatcgtcgatgatatgttcg
+agacgatgtacgcagaagaaggtattggcctggcggcaacccaggttgatatccatcaac
+gtatcattgttattgatgtttcggaaaaccgtgacgaacggctagtgttaatcaatccag
+agcttttagaaaaaagcggcgaaacaggcattgaagaaggttgcctgtcgatccctgaac
+aacgtgctttagtgccgcgcgcagagaaagttaaaattcgcgcccttgaccgcgacggta
+aaccatttgaactggaagcagacggtctgttagccatctgtattcagcatgagatggatc
+acctggtcggcaaactgtttatggattatctgtcaccgctgaaacaacaacgtattcgtc
+agaaagttgaaaaactggatcgtctgaaagcccgggcttaaggataagaactaacgtgtc
+agaatcactacgtattatttttgcgggtacacctgactttgcagcgcgtcatctcgacgc
+gctgttgtcttctggtcataacgtcgttggcgtgttcacccagccagaccgaccggcagg
+acgcggtaaaaaactgatgcccagcccggttaaagttctggctgaggaaaaaggtctgcc
+cgtttttcaacctgtttccctgcgtccacaagaaaaccagcaactggtcgccgaactgca
+ggctgatgttatggtcgtcgtcgcctatggtttaattctgccgaaagcagtgctggagat
+gccgcgtcttggctgtatcaacgttcatggttcactgctgccacgctggcgcggtgctgc
+accaatccaacgctcactatgggcgggtgatgcagaaactggtgtgaccattatgcaaat
+ggatgtcggtttagacaccggtgatatgctctataagctctcctgcccgattactgcaga
+agataccagtggtacgctgtacgacaagctggcagagcttggcccacaagggcttatcac
+cacgttgaaacaactggcagacggcacggcgaaaccagaagttcaggacgaaactcttgt
+cacttacgccgagaagttgagtaaagaagaagcgcgtattgactggtcactttcggcagc
+acagcttgaacgctgcattcgcgctttcaatccatggccaatgagctggctggaaattga
+aggacagccggttaaagtctggaaagcatcggtcattgatacggcaaccaacgctgcacc
+aggaacgatccttgaagccaacaaacaaggcattcaggttgcgactggtgatggcatcct
+gaacctgctctcgttacaacctgcgggtaagaaagcgatgagcgcgcaagacctcctgaa
+ctctcgtcgggaatggtttgttccgggcaaccgtctggtctgatagtccactcttctaag
+cccggtcttgccgggcgtttttatacttatgaaaaaacaacgtaatttacgtagcatggc
+ggcccaggccgttgaacaagtcgtcgagcaagggcaatcattaagcaacattctgccacc
+gctccagcaaaaagtttccgataaagacaaagcacttcttcaagagttgtgctttggcgt
+actgcgtacgctttcgcagttagactggctgattaataagttaatggcccgtccgatgac
+cggcaaacagcggaccgtgcattacctgattatggttggtttgtatcaactgctttatac
+ccgcattccacctcatgctgcgctggctgaaacggttgaaggcgctatcgcaattaagcg
+tccgcaacttaaagggttgataaacggtgtattacgccagttccagcgtcagcaagaaga
+gttattagccgagtttaatgccagtgatgcacgttatctgcatccttcctggttgctgaa
+gcgtctgcaaaaagcgtatccagagcagtggcaatccatcgtcgaagccaataaccagcg
+tccgccaatgtggctgcgtattaatcgtacgcatcattcccgcgacagctggcttgcatt
+gctggatgaagcaggaatgaaaggtttcccgcatgcggattaccctgatgctgtacgtct
+ggaaacacctgcacctgttcatgcgctacctggttttgaagacggatgggttaccgttca
+ggatgcatcagcacaaggttgcatgacctggcttgcgccacaaaacggtgaacacatttt
+ggatctttgtgccgcccccggcggtaaaacaacgcatatccttgaggtggcaccagaagc
+gcaggttgttgcggttgatatcgacgaacagcgcctctctcgggtttacgacaatttaaa
+acgccttggtatgaaggcgaccgtgaaacaaggtgatggccgttacccttctcaatggtg
+tggcgagcaacagtttgatcgcattttattagatgcgccttgttcagcaaccggtgtgat
+tcgtcgccatccagatattaaatggttacgtcgcgatcgcgatatcccggaactcgcgca
+attgcagtctgaaattctcgacgccatttggccgcatttaaaaaccggtggaactctggt
+ctatgccacctgttcggtgttaccggaagagaatagcctgcagattaaagcctttttgca
+acgtaccgctgatgccgaactttgcgaaacaggaacaccagagcaaccgggtaaacaaaa
+tctacctggtgccgaagagggcgacggcttcttttacgctaagctaatcaaaaagtgatg
+agataacgggtcgcgactgatgaaaattatcattctgggtgccggccaggttggcggcac
+actggcggaaaacctggttggcgagaacaacgatattactgttgtcgataccaacggtga
+gcgtctgcggaccttacaggataaatttgacctgcgggtcgtgcaggggcatggctctca
+tccacgcgtattgcgggaggcaggtgccgacgacgccgatatgctggttgctgtaaccag
+ttcagatgaaaccaatatggttgcctgccaggtagcctactcacttttcaacacccctaa
+tcgcatcgctcgtatccgctcaccagactacgtgcgcgatgccgataagctatttcattc
+agatgctgtgccgattgatcatctgatcgcaccagagcagttggttatcgataatattta
+ccgactgattgagtatcccggcgcattgcaggtggtgaacttcgctgagggtaaagtcag
+cctggctgtggttaaagcctattatggcggcccgctgattggtaatgcactttcgaccat
+gcgcgaacatatgccacatatcgatactcgtgtggcagcaattttccgccacgatcgccc
+cattcgtccgcaaggttcgaccattgttgaagctggtgatgaagtgttctttattgccgc
+ttcacagcatatccgcgcggtgatgagtgaattacagcgactggaaaaaccgtataagcg
+gatcatgctggttggtggcggtaatatcggtgcagggctggcgcgtcgtctggaaaaaga
+ttacagcgttaaactcatcgaacgtaatcagcagcgcgctgccgaactggcggaaaagtt
+acagaatacgatcgtcttttttggtgatgcgtcggatcaagaactactggccgaagaaca
+tatcgatcaagttgatctgtttattgccgtcaccaacgatgacgaggccaatatcatgtc
+cgccatgcttgccaaacgtatgggtgcgaaaaaggtgatggtattgatccagcgtcgcgc
+ttatgtggatctggttcaggggagcgttatcgatattgcgatttcaccacaacaagcaac
+tatttctgcgttgcttagccatgtgcgaaaagcagatattgttggtgtttcctcattgcg
+ccgcggcgtagcagaagctattgaagccgttgctcacggtgatgaaagcacctcacgcgt
+tgtcggcagagtcattgacgaaatcaagctaccgccaggaacgattattggagcggtggt
+acgtggaaacgacgtgatgattgccaatgacaatctgcgcattgagcaaggcgatcacgt
+aattatgttcctcacagataaaaagtttattaccgacgtcgaaagactcttccagccaag
+ccctttcttcttgtaattaataaggcgtctaatgacgccttattatttccctttgattat
+caaggattaattaaattcattcctggcaggaaaatggcttaacatttgttagacttatgg
+ttgtcggcttcatagggagaataacatgagcattattaaagaatttcgcgaatttgcgat
+gcgcgggaacgtggtggatttggcggtgggtgtcattatcggtgcggcattcgggaagat
+tgtctcttcactggttgccgatatcatcatgcctcctctgggcttattaattggcgggat
+cgattttaaacagtttgctgtcacgctacgcgatgcgcagggggatatccctgctgttgt
+gatgcattacggtgtcttcattcaaaacgtctttgattttctgattgtggcctttgccat
+ctttatggcgattaagctaatcaacaaactgaatcggaaaaaagaagaaccagcagccgc
+acctgcaccaactaaagaagaagtattactgacagaaattcgtgatttgctgaaagagca
+gaataaccgctcttaacaagcgcctgaaagcagaagaccagtggtaaaaaagtgatttac
+tttcttgccactggcctcccagttcccccgattgccatgttttccttttcgcatgtaact
+gcctttccccttcttatttttctctacgcgctgtcggaataagggatcatgtagtaatgc
+ttctatcgcattatcctttatctgccctttagtatgctgatatcgactcataaaaactcc
+agttggttatttaacggcgcgagtgtaatcctgccagtgcaaaaaatcaacaaccactct
+taacgccactcgccccttgttcaagagcttcaagaatcgaacaataaacactgctatgag
+cagtcccacaacaggcatcgttaaggcgttgcaaggaacgctgcatactctgcaactcgg
+ctatccgtgcttcgacttcctgcaatctttcctgcacaatgccttttgactcctgacagg
+tatggtgttcaggatcgatgcggatcgacagcaactcgcggatcgactccagactgaaac
+ctagttgtctggcatggcggataaatttcaatcgctggagatcgctttcggtatataggc
+gaaacccaccttcagtacgcacttcatgctccatcatctgctgtttttcgtaataacgaa
+tcgtgtcgggtgttacttccgccatttttgccagctcaccaatgcgatacatacatactc
+cactagttatcgttgattttgtccaacaacttgtcagcataatcgccgcgtaaaaaatcg
+gtactcaatccagcttgtcgcagcttcaattccagtaatgacaatcgacggctaacctct
+tgatattgcggatcatcgtgacggatacctttgagaatatccagaagctgaattgcttct
+ctccgttgctcaagttctggcggtaagcaaccggcattcttcagcaagcgataccccgca
+cgtaattccggtggcacgtgagaatcatcatccagtatcaatggttcgccgctacctgcc
+aggttatcaaactcacctttcgcttgcgcttctgctatatggcgctctgcccactggtca
+agtaaccacataaatactccaggggatgaacaaaaagagtacagctattgtagataagtg
+gggatactacgggtataaaaaaacccgccggggcgggtttttttacgttgcttcagatta
+ctctgcagcagcttctgctttctctgaacgatcaaccagctcgatgtaagccatcggcgc
+gttgtcgcctgcacggaagccacacttcagaatacgagtgtaaccaccggcacggctcgc
+gaaacgcgggcccagttcgttaaacagttttgccacgatctcgttatcacgagtacgggc
+gaatgccagacgacgattagcaacgctatcagtcttggcaagagtaatcagcggctcaac
+tacgcggcgcagctctttcgctttaggcagagtcgtcttgatgatttcatgacgaaccag
+tgaacctgccatattgcggaacatagcctggcgatggctgctgttgcggttcagttgacg
+accactcttacgatggcgcatgaccttatccttctcagtaaaaccttaacctgtgatccg
+gttactcgtcagcgatgcttgccggtggccagttttccaggcgcatgcccagagacagtc
+cacgggaagccagcacgtctttaatctcagtaagagattttttaccaaggttaggcgttt
+taaggagctcaacctcggtacgctgtaccagatcaccgatatagtggatagcttctgctt
+taaggcagttagcagagcggacagtcaattccagatcgtcaacagggcgcagcaggatcg
+gatcgaactctggtttctcttctttcacttcaggctgacgtacatcacgtaagtcaacga
+aagcttccagttgttcagccagaatggttgccgcacgacgaatcgcctcttcaggatcga
+ttgtgccgttggtttccatttcgatgaccagcttgtccaggtcggtacgctgttctacac
+gcgctgcttcaacattgtaggcaatacgctccacagggctgtagcatgcgtcgaccagca
+gacggccgattgggcgctcatcttcttccgaatgaattcgggtagaagccggcacataac
+cacgaccgcgctgaactttgatacgcatgctaatagacgcgttctcatcggtcaggtggc
+agatcacgtgctgcggcttgacgatttcgacatcaccgtcgtgggtgatatcggctgcag
+tcacagggccaatgccagatttattcaaggtaagaataacttcatctttgccctgaactc
+tcaccgccagccctttcaggttgagcaggatttccaggatatcttcctgaacgccttctt
+tggtgctgtactcatgtagtacaccatcaatctcaacctcggtcaccgcgcaacccggca
+tcgatgagagcagaatacggcgcagtgcgttacccagagtatggccaaagccacgctcta
+aaggctcaagggtcaccttggcgtgcgtcgaactcacttgctcgatatcaaccaggcgcg
+gttttagaaactctgtcacagaaccctgcattgtgtcctctctttggtactaagctttac
+ttggagtaaagctcgacgatcaggtgttcgttaatgtccgcagacagatcagaacgctcc
+ggcttacgcttaaacgtaccttccatcttgccagcatcaacttccagccaggttggcttt
+tcacgctgctcagccagctccagagcggctttcacgcgagactgcttcttcgctttctca
+cgaatgcttacaacgtcattcggactaacctgataagaagcgatgttaacaacacgaccg
+tttaccataattgctttatggctaaccagctgacgtgcttctgcacgagtggcaccgaag
+cccatacggtatacaacgttgtccagacgaccttccagcagagccaacaggttttcaccg
+gtgttgcctttcagacgtgctgcttctttgtagtagttacggaactgacgctccagcaca
+ccatagatacggcgaactttttgcttttcacgcaactgcacaccatagtcagacagacgc
+ggtttacgcgcaccgtgctggccaggagcttgttcaattttacacttggtatcgatcgcg
+cgaacgccagacttaaggaataagtcggtgccctcacgacggctcagcttgagcttagga
+cccaaatatcttgccattttctttctccaacaaacctggaaaacgaggcgttatacgcga
+cgttttttcggcggacgacaaccgttatgagggatcggagtcacatcagtaatgttagtg
+atgcggaaacctgcggcgttcagagcacgaatagtagattcgcggcctggacccggacct
+ttaaccataacttccagattcttgatgccgtattctttcacggcgtcagcgcaacgctct
+gctgcaacctgagctgcaaacggagtggatttgcgagaaccacggaaaccggaaccaccg
+gctgttgcccaacccaacgcgttaccctgacgatcagtgatagtcacgatggtgttgttg
+aaagaagcatggatatgagccacgccgtcagagacttgttttcttacacgtttacgtgca
+cgaattggtgcctttgccattattcaatcaccccgattatttcttgatcggtttgcgcgg
+acccttacgggtacgtgcgttggtcttggtacgctgaccgcgaaccgggagaccacgacg
+atgacgcaaaccgcgatagcaaccaagatccatcaggcgcttgatgctcatgctgatttc
+acggcgcagatcaccttcaacgacaaatttggcaacttcgtcacgcagcgtgtcgatttg
+tccttcagacagctcactgatcttaacatcttcagcgatacccgctgcagccaggatggc
+tttagaacgggtcttgccgacgccataaatcgaagttaatgcgattacggcatgcttatg
+atcaggaatgttaatgcctgctatacgggccactatgcactcctactatttaatatgtac
+gttccatgctgaaaagcccgttttcaggatactcaaatggaaacgcacagacatacaaaa
+gattggctggctaatctagccagctcaacccaactttgcaagaaaaatatgcgaaaaaat
+cagccttggcgctgtttatgcttcggctcggcactgcaaatcacacggatgacaccatca
+cgcttaacgattttgcagttacggcataatttcttgacggaagcacgaactttcattttt
+actctccgtaacttctcgggcgaccaattatcggccgtagcctttcaggttcgccttctt
+caatgcagactcatactgactggacatcatcagagtttgcacttgagccataaagtccat
+aatcacgacaacaacgataagcagtgaggtcccaccgaagtagaacggtactttcattgc
+atcacgcatgaactccgggatcaggcagataaaggtaatatacagcgcaccaaccagggt
+caggcgggtcattactttatcgatatacttcgccgtttgctctcccggacgaattcctgg
+tacaaatgcaccggacttcttcaggttatctgctgtttcacgcgggttgaaaaccaacgc
+cgtgtagaagaaacagaagaagatgattgcagacgcatagagtaacacataaagcggttg
+cccaggctgcaaatacagcgaaattgttgtcagccagttccaaccagtaccgcccccgaa
+ccatgacgcgatggtcgccgggaacagaataatactggaagcgaagattgccgggattac
+ccccgccatattcactttcagcggtaaatgtgtgctctgtgcagcatagacacgacgacc
+ttgctgacgtttcgcgtagtttaccacaatgcggcgttgaccacgctcaacaaatacaac
+aaagaacgtcactgcaaatactaatactgcaaccaacagcaacacgaggaagtgcaggtc
+gccttgacgcgcttgctcgatagtatgggcaatggctggcgggagtcccgcgacaatacc
+ggcgaagataatgattgaaataccgttgccgatacctcgttcagtaatctgttcgcccaa
+ccacatcaggaacatggttcctgtgaccagacttacaacagcggtgaagtagaatgcaaa
+gcccgggttaatcaccaggccttgcataccaggcatattcggcagaccggtagcaatacc
+gatcgactggaatattgccagcaccagagtaccgtagcgggtgtactggctgatcttacg
+acgaccagactccccttctttcttaatttctgccaacgttgggtgaaccaccgtcagcag
+ctggataatgatcgacgccgaaatatacggcatgatccccagagcaaagatagaagcacg
+gctgagagcaccaccagagaacatgttaaacatctcaatgatggtgcctcgctgttgctc
+aagcagtttggcaagtacagcggcatcaataccagggatcggaataaaagagccaatacg
+gaacacaatcagcgcaccgataacaaacagcagtctgcgtttcagctcgcctaagccacc
+tttggcactttgaaaatctaatcccggttgtttagccatctgctacttattcctcgattt
+taccgccagcagcttcgatagcagcacgagcgcctttagtaacacgcaggccacgaacag
+ttaccggagtcgttacttcgccagccaggatcactttcgcgaactcgatctggataccga
+taatgttagccgctttcagcgtgttcaggtctactacaccgccttctactttagccaggt
+cagacagacgaatttcggctgtaatcgctgctttacgagaagtgaagccgaatttcggca
+gacgacggtacagaggcatctgaccaccctcgaaaccgcgacgtacgccaccgccagaac
+gagacttctgacctttgtgaccacgaccaccggttttaccgaggccagaaccgataccac
+gacccaggcgtttacccgcctttttggagccttcggccggagacagagtatttaaacgca
+tctcttactcctcaactttaaccatgaaggaaaccgcgttgatcataccgcgaatagcag
+gagtatcctcgcgctctacggtgtgaccaatacgacgcagacccaggccaagcagcgttg
+ccttgtgtttcggcagacgaccgattgcactgcgggtttgagtaattttaatagtctttg
+ccatggtttatttccccagaatttcttcaacggatttaccacgcttggcagcgaccattt
+ctggagaattcatattttccaggccatcaatagttgcacgaaccacgttgatcgggttgg
+tggaaccataggctttagccagaacgttatgaaccccagcgacttccagaacggcgcgca
+ttgcaccaccggcgatgataccggtaccttcggaagccggctgcatgaatacgcgagaac
+ccgtgtgaacacctttaacagggtgttgcagagtgccgttattcagcgcgacgttaatca
+tattgcgacgggctttttccatcgctttctggatcgctgctggaacttcacgcgctttac
+cgtaaccaaaaccaacgcgaccgttaccatcgccaactacagtcagagctgtgaaggaga
+aaatacgaccacctttaacggttttagatacgcggtttaccgcgatcagcttttcctgca
+gttcgccagcttgtttttcgatgtgagccatcttacacctctaccttagaactgaaggcc
+agcttcacgggcagcatctgccagtgcctggacacgaccatgatattggaacccggaacg
+gtcaaaggatacatctttgatgcctttttccagagcgcgttcagcgacagctttacccac
+agctgcagccgcgtctttgttaccggtgtacttcagttgttcagcgatagctttttctac
+agtagaagcagctaccagaacttcagaaccgttcggtgcaattacctgtgcgtaaatgtg
+acgcggggtacgatgtaccaccaggcgagttgcgcccagctcctggagcttgcggcgtgc
+gcgggtcgcacgacggatacgagcagatttcttatccatagtgttaccttacttcttctt
+agcctctttggtacgcacgacttcgtcggcgtaacgaacacccttgcctttataaggctc
+aggacgacggtaggcgcgcagatccgctgcaacctggccgatcacctgcttatcagcgcc
+tttcagcacgatttcagtctgagtcggacattcagcagtgatacccgcaggcagctgatg
+gtcaacaggatgagagaaacccagagacaggttaatcacattgcctttaaccgctgcacg
+gtaacctacaccaaccagctgcagcttcttagtgaagccttcggtaacaccgataaccat
+tgagttcagcagggcacgcgcggtaccagcctgtgcccaaccgtctgcgtaaccatcacg
+cggaccgaaggtcagggtattatctgcatgtttaacttcaacagcatcgttgagagtacg
+agtcagctcgccgtttttacctttgatcgtaataacctgaccgttgatttttacgtcaac
+gccggcaggaacaacgaccggtgctttagcaacacgagacattttttcctccgattaggc
+tacgtagcagataatttcgccaccaagaccagcctggcgcgctgcacgatcagtcataac
+acctttagaggtagaaacaactgcgatacccagacccgccataactttcggcagctcatc
+tttacgtttatagatgcgcagacctgggcggctgacacgctgaatgctttctacaacagc
+tttgccctggaaatacttcagagtaagttccagttcaggcttggtgtcgccttcaacttt
+aaaatcttcaataaaaccttcttccttcagcacgttggcgattgccactttcagcttgga
+ggaaggcatggtgaccgcagctttgttcgcggcctgaccgttacggatacgggtcagcat
+atccgcgatcggatcttgcatgctcatctgtctttactcccgtgattcaattggtgacaa
+ttaccagctagcctttttcagacccgggatttcaccgcgcatagcggcttcacggacctt
+aatacggctcaacccgaacttccgcaggaaaccatgcggacgacctgtttgacggcagcg
+gttacgctgacgagacgggctggaatcacgcggcagagtctgcagcttgagaacagcgtt
+ccaacgatcttcgtcggaagcgttcacatcagagatgatcgctttcagttcagcgcgttt
+cgcgaagtatttatcagctaaagctacgcgttttacttcgcgtgctttcattgattgctt
+agccatttagtaaccctaccttacttgcggaacgggaagtcaaaggcagccagcagagcg
+cggccttcttcgtcagatttcgcagtagtggtaatggtaatatccaaaccacgaacgcgg
+tcgactttatcgtagtcgatttctgggaagatgatctgctcacggacacccatgctgtag
+ttaccacgaccgtcgaaagacttagcggacaggccacggaagtcacggatacgaggtaca
+gcaatagtgatcaggcgctcaaagaactcccacatgcgttcgccacgcagagttacttta
+cagccgatcggatagccctgacggattttgaagcctgcaacagatttgcgtgctttggtg
+atcagcggtttttgaccggagattgctgccaggtctgctgctgcgttatccagcagtttt
+ttgtcagcgatcgcttcaccaacacccatgttcagggtgatcttctcgacccgagggact
+tgcatgacagaattgtagttaaactcagtcatgagttttttaactacttcgtctttgtag
+taatcatgcagtttcgccatcgtactactccaaattacttgatagtttcgctgttagact
+tgaagaaacggacttttttaccgtcttcgaatctaaagcctacacggtcagccttgccgg
+ttgccgcattgaagattgctacgttggaaacctgaatagcggcttctttttcaacgatgc
+cacccggttggttcagggccggaaccggcttctgatgtttcttaaccaggttgatacctt
+caacaatgaccttgccggaagacaggacattcttaactttaccgcgtttacctttatctt
+taccggttaacacgataacttcgtcatcacgacggattttcgctgccatgattcgctcct
+tagagtacttctggtgccagagagataattttcatgaacttctcactacgaagctcacga
+gttaccggcccaaaaatacgcgtaccgataggctgctcgctgttgttgttcagaagaaca
+caagcattaccatcgaagcgaatgacagaaccgtccgggcgacgaacacccttcttggtg
+cgcaccactaccgccttcagcacatcaccttttttgaccttaccacgcggaattgcttct
+ttgatggtgatcttgatgatgtcgcctacgcctgcgtagcgacggtgcgagccacccaga
+accttgatacacattacgcgacgtgcaccggagttgtcggcgacgttcagcatagtctgt
+tcttggatcattttagtgctccgctaatgtcaactactactgagacccgaaaatcaggtc
+gttaaaaatccccatatcgagggcgcggcattataacaccgcttcaaggatatgggtaga
+aaaaataaacggctcatttctgagccgtttattcgtattgagagagtgtactgtattaca
+gaaccgctttctctacaacgcgaaccagcgtccaggatttagtcttggacagcggacggc
+attcgcggatttcaaccacgtcaccgataccgcattcgttgttctcgtcatgtacgtgca
+gtttggtcgtacgcttgatgaatttaccgtagatcgggtgtttcacaaaacgttcgatag
+caacaacaatggatttctccattttgtcgctaacaacgcgaccttgcagagtacggattt
+tatcggtcattacgcacccgccttctcgttcagtaaagtcttaacgcgtgcgacatcgcg
+acgcacttgcttcaacaggtgagactgttgcagctggccacttgcagcctgcatacgcag
+gttgaactgctcacgcagcaggttcagcagctcggtgttcagctcttcaacgctcttctc
+acgcagctcttttgctttcattacatcaccgtcttagttacaaaggtggttttaatcggc
+agtttcgctgctgccagcttgaatgcttcacgggccagctcttccggaacaccgtccatt
+tcatacaggactttacccggctgaatcaaggcaacccaatactccacgttacctttacct
+ttacccatacgcactgccagcggcttttcagtgatcggtttgtccgggaacacacggatc
+cagatcttaccttgacgcttaactgcacgggtcatagcacgacgtgctgcttcgatctga
+cgggcagtcagacgaccacggccaacagctttcagaccgaagctgccgaagctaacatcc
+gtaccctgcgccagaccgcggttacggcctttgtgcattttacggaattttgtacgcttt
+ggttgtaacatcagcgacgctccttatttacggcctttacgctgctgctttttaggctga
+gcagccggtttttccggttgttcaacagcagccataccacccaggatctcgcctttgaag
+atccacactttaacgccgattacaccgtaagtggtgtgcgcttcagaggtgttgtagtcg
+atgtcagcacgcagagtgtgcagcggtacgcgaccttcgcggtaccattcggtacgtgcg
+atttccgcgccgcccagacggccgctaacttcaactttaatacctttagcgcccagacgc
+attgcgttctgtacagcacgcttcatagcacgacggaacataacgcgacgttccagctga
+gaagtgatgctgtcagcaaccagttttgcgtccagttcaggcttacgaacttcggcgatg
+ttgatctgtgcaggaacgccagcgatgtccgctacgaccttacgcagtttttctacgtct
+tcaccttttttaccgataacgatacccgggcgagcagtgtgaatggttacacggatgctc
+ttagccggacgctcgataacgatacgagatacggacgctttagccagttccttagtcagg
+tactgacgtactttaaaatcgctgtccaggttgtcagcgaattctttggtgttcgcaaac
+caggtagagttccatggttttacaatacccaggcgaataccattaggatgtactttctga
+cccattgctagtctccagagtctcagcgatcggacacaaccacagtgatgtggctggtgc
+gcttcaggatgcgatctgcacgaccttttgcacgcggcataatgcgcttcatgctcgggc
+cttcgtctacgaaaattttcgtaactttcagatcgtcaatgtcagcgccatcgttgtgtt
+cagcgttagcaatggcagattccagaactttcttgaccagtacagccgctttcttgttgg
+tgtaggtcaaaatatccagagcctgcgacactttcttaccgcgaatcaggtcagcaacaa
+ggcgaaccttctgagcagaagaacgagcatggcgatgtttagcgatagtttccatctctt
+cctcctaccttatttcttcttcgcttttttatcagcagcgtggccgcgataagtacgagt
+cggtgcgaattcacccagtttgtgaccaaccatttcgtcggttacaaataccggaacgtg
+ctgacgaccattatggacagcgatggtcaaaccgatcatgttaggaaagatcgttgaacg
+acgggaccaagtgcgcaggggcttcttgtctccgctttccaccgctttctctaccttctt
+cagcaagtgcaggtcaataaaaggacctttcttgagagaacgtggcatggcttatcctct
+aaaattatttgctacggcgacgtacgatgaatttatcagtacgcttgttgctgcgggtct
+tcttacctttggtctgaacgccccacggagttaccgggtgcttaccaaagttacgacctt
+caccaccaccatgtgggtggtctaccgggttcatcgcggtaccgcgaacggtcggacgaa
+caccacgccagcgtgcagcacctgctttacccagaacgcgcagcatatgctcagcattgc
+caacttcgcccagagttgcacggcagtctgcttctactttacgcatttcaccagaacgca
+gacgcagggtgacataagcaccatcacgagcaacgatctgaacgtaagtaccagcggaac
+gtgccagctgaccgcctttacctggtttcatttctacgttatgaacagtagaaccaaccg
+ggatgttgcgcatcggcagggtgttacctggtttgattgcagcatcaacgccagactgaa
+tctggtcgccagctttcaggcctttaggggccaggatgtaacggcgttcaccgtctttgt
+acagaaccagcgcgatgttcgcggaacggttcggatcgtactcaagacgttcaacaactg
+ccgggataccgtctttgttgcgtttgaagtcaacaatacggtaagcctgcttgtggccac
+caccgatatgacgagtggtgatacggccattgttgttacgaccaccggatttgctgtttt
+tttccagcaacggagcaaaaggtttgcccttgtgcagctcagggttaaccactttaacta
+cgtggcgacgacccggagatgtcggtttacatttaacaactgccattgtattactcctcc
+gacttactcagcgccgccaacgaagtccagattctggccttctttcagggtgacgtaagc
+ttttttccagtcgctacgacgaccgatacgctgtccgtgacgtttaactttccctttaac
+taccagggtgttaacgacttcgacttcgacttcaaacagtttctgcacagcagctttgat
+ttctgctttggtcgcgtctttagcaactttgagtacgatggtgttggatttttccatcgc
+agtagacgctttttcagaaacgtgcggtgcacgcagcaccttcagcagacgttcttcacg
+aatcatgccagcatctcctcaacttgcttaacagcatcagcagtcattacgactttgtcg
+aaggcgatcaggctaaccgggtcgataccagttgcatcgcgtacgtcaaccttgtgcagg
+ttgcgcgcagccaggaacaggttttcgtccagctcaccggtgatgatcagcacatcttcc
+agagccatgtctttcagtttctgtgccagcagcttagttttcggcgcttctacagagaac
+ttctcgacaacgatcagacgatcctgacgtaccagttcggacaggatgcttttcagcgcg
+ccgcggtacatcttcttgttaactttttgactgtggtcctgcggacgagcagcaaaggtc
+acgccaccagaacgccagatcgggctcttgatagaaccagaacgcgcacggccggtgcct
+ttctggcgccacggttttttaccggaaccagttacttcagcacgagtcttctgagcacga
+gtaccctgacgagcaccagctgcataagcaacaacaacctggtgaaccagcgcttcgttg
+aaatcacgaccgaaggtagtttcggaaacagtcagcgcgctctgcgcgtctttcaatact
+aattccattgctatctccttacgccttcacagctggtttaacgatcaggtcgctaccggt
+tgcacccgggacagcacctttaaccagcagcaggttgcgctcagcgtcaacgcgtactac
+gtcaaggctctgaacggttacacgttcgttacccatctgacctgccattttcttgccttt
+gaacactttgcccggagtctggttctgaccgatagaacccggaacgcggtgagacaagga
+gttaccgtgagtagcgtcctgggtacggaagttccagcgcttaacggtacctgcgaaacc
+tttacctttagaggtgccagttacgtcaacttttttaacgtcagcaaacagttcaacgct
+aatgctctgacctacagtgaactcttcgccttcagccaggcggaattcccacagaccacg
+gccagcttctacgccagctttagcgaagtggccagcttcaggcttggtcacacggttagc
+ttttttagcaccggtggtcacctgaatagcacggtagccatcgttagccaggtctttaac
+ctgagtaacgcggtttgcttcaacttcgattacggttactgggatagaaacgccgtcttc
+tgtgaagatacgggtcatacccacttttttaccgactaaaccaatcattgtttcaacctc
+tcaatcgctcaatgacctgattaacccaggctgatctgcacgtctacaccggcagccaga
+tccagacgcatcagagcatcaacggttttctcggttggctcaacgatgtcaaccagacgc
+aagtgagtacggatttcgtactgatcgcgcgcgtctttgttgacgtgcggggagatcaga
+acagtgaagcgctctttgcgtgtcggcagcgggatcggaccacggacctgcgcaccagtg
+cgcttggcagtctcgacgatttccgcggttgcttgatcgatcagacgatgatcaaacgct
+ttcaggcggatacggattctttggttctgcatgagaccagagctccaattattttataaa
+cgaaaatgattactcctcagacccattacgattgatgggagagtgtaaccgttcttacgt
+agctccccgattgggagcattgttaggtagccaaattcggctaactgaggttcagattga
+acctgctgtcaactacgacaagcccgcgcattatacatacttaaccaccgaacgcaagcg
+tattgctagtaaagtaaacagccttcgggttatctctcaagttcgttcagtgcatttttg
+acacgctctcttaaaccggctttctcttcgctttcttccacagtattttcttcgtcttca
+gaagaagagggggcattctcaaccgcgacgcctgggtcatcttcctcctcgacggattcg
+acgacggggagtggctgttttttgaagaaatagtgttgtgttgattgtttaaaagcgggc
+gtttcagcctctacagtgacttcggcttttactatccaaagcacccatagctgcctggca
+tacccaccaaccagcaccattcctgcaaaccacaggcaaatcagtaataaacaaattaca
+tatattatggtgctgtgtttttgtcgggagaagataccagggtgacctgtttctttctgc
+tcacgcgcggcgatatagaattcaaacatgtcatttccccttcactgttgtttccgggga
+aatatttgcttcatcccgatataagtaggcactctcccctgccacctgccagagatgtac
+taacgttgaaaagccaacaacaccgtcagttttcaagtggtggcttttttgaaattgctt
+tattttttctaccaacaagggacgccactccgccgaaggttctgtcgaaatatgcaatgc
+gcggtttaacatcgtttccagccagagaatctcttcctcgctgctatcacgcgtaatggt
+actctccccttccggcgacattttccacaacagaagataatcacccgtccataccgactc
+aaaccatttatgtgtcagcgtccacgtttgctgacctacgaggacatcaacgctagcctc
+accgacgcgaacgaccacaacaggcaattttttgtccccgactttaagcgatgcgatcca
+gggcaaattctgatctaccaatgtttgtaaagaagcattcccacttttacatgccagccc
+cgctcttactgcctgatcgcaccaggccgaatcagctgggacctcgtacccccatacgcc
+gtataacacgcttagcgcctcactatcgcgcatcaccacatgagcaatatccttagtcat
+atcttgtttaactactggcgttacgggtatcagccacgcaggaacgggtaacgtagctgt
+aaaagaggacagcagtagccaaccacaggtaagagcgataatggttccactcatcaccac
+ggcaagctgcattttccgggggcggttatcacccaatatgcggtaaatcattcgccattg
+ttttgctgtgaaaacgctggtctgctcggcttgctgtaataagcgaattgtttcgccggc
+aagcgccagctttctgcgatcgccccgacataataaagctatccgtttcagaactctggc
+ggttaaaaggagatcgggttggtcaatattctgaccttcaaggatgcttgccttaagttc
+gtgctccgtcagacgtcctatcgagacaagttcaatgccctgttttttaaaatcacgttc
+gacttttcgatcgggtctgccgatcagcaaaaattgaccgtcaggaataagagatattgc
+gcgttggagatcatcaagtatgcggcggtgattcaggtgagcattttcaataataataag
+agggcagcgactatcagttcgatgaagcgcatgcagtaattgccccgccatctcatctcg
+cgtccaggcgctgtcacggcagccctgttcagccgcgttatcgtcggtaacgatccatgc
+ggccttaccttgccaggaaacaacgaggcttaaagtaatcacacggcgatgtttatcttt
+ttgcagttgctgcgccagccaggtttttccacttccagcctcacccaacaaatagcatag
+acgccaggtttgacgtttctcacacaaccaggaaagaataacttctcttctcgtagacat
+agaacttcctgttttaattattgattatccttaatcataaaaataatgtatgtatttatt
+aattaaatacatattactaatataaataaattttgcttgattcatgcaagcggcattaat
+actatttatactaacgtcaatatacaacccacccaatctattttattagaacatacatcg
+tgcccacactacgtttccccttccatctggcgaatcataataaagatgctgccatcaata
+tattgattatatttataagcatagggtcgattatttttaatgtgaattatttccatacaa
+ctatagttaaaaatggacagatcattaatcaaccaacaaacgcatttcagtctgatttca
+gccttgccgctttatggcgtaacgaaaatcatgctggggtaaaagatgcaaatcccgtgg
+cagttaatcaggaaacacctaagctctctatagcgcttaatggcattgtactcacatcga
+atgatgagacttcttttgtcttaattaatgaggggagcgaacaaaagcgatactccctca
+acgaagcccttgagtcagcgccgggaacgtttattagaaaaataaataaaaccagcgttg
+tgtttgaaactcacgggcattacgaaaaagtaactctccatccagggctacctgacatca
+tcaagcagcctgattcagaaagtcaaaatgtactcgctgattatattatcgccacgccta
+tacgtgatggagaacagatatacgggcttcgattgaaccctcgtaagggcctcaatgcat
+ttaccaccagcttgctacaaccaggggatatcgccctcaggatcaataatctttcgctga
+cccaccctgatgaggtttcacaggcattaagtttactgctaactcaacaaagtgctcagt
+ttacaattcgtcgcaacggcgtaccccgcttgataaatgtttccgtcggggaacttacag
+gaatgaatggactgcgtcatgaaaggactcaataaaatcacctgctgcttgctggcagca
+ctactcatgccttgtgcaggacacgctgagaacgaacaatacggcgcgaacttcaataac
+gccgatatccgccagttcgtggaaatagtgggtcagcatcttggcaaaacgatcctgatc
+gacccttcggtacagggaaccatttccgtacgcagtaatgatacgtttagccaacaggag
+tactaccagttctttttaagtattcttgatctttacggttattccgtgatcacgctggac
+aatggttttctgaaagtggttcgctcagctaatgtaaaaacatcgccagggatgattgct
+gacagttctcgtccaggcgtaggtgatgagttggtcacccgaattgtaccgcttgagaac
+gttcctgctcgtgacctggcccccctgctccgccagatgatggatgcgggtagcgtcggt
+aatgttgtgcattatgaaccctccaacgttcttattctgaccggtcgtgcctccaccatt
+aataaactgattgaagtcataaagcgcgttgatgtcatcggcacagagaagcagcaaatt
+attcatctggaatatgcgtcagcggaagatctcgccgagattcttaatcaattaatcagc
+gaaagccacggtaaaagccagatgccagccctcctctccgcgaagattgtggcggataag
+cgaaccaactctcttatcatcagtggaccggaaaaagcacgccagcgcatcacttcatta
+ctgaaaagccttgatgtcgaagagagcgaggaaggaaatacccgggtttattacctgaaa
+tatgctaaagccacgaatctggtggaagtgctaaccggtgtttccgaaaagctgaaagat
+gaaaaagggaatgcgcgtaagccctcctcttctggcgcgatggataacgtcgccattacc
+gccgatgaacagactaactctctggtcattaccgctgaccagtccgtccaggaaaaactc
+gccacggtaattgcgcgtctggacattcgccgtgcacaggtgctggttgaggcaatcatc
+gttgaagttcaggatggaaatggactaaacctcggcgtgcaatgggcgaataaaaacgtt
+ggcgcacagcaatttaccaataccggattaccgatttttaacgctgcgcaaggtgtggct
+gattataaaaagaatggtgggatcaccagcgcgaatcctgcctgggatatgtttagcgcc
+tacaatggcatggccgcaggcttcttcaatggcgactggggagtactgcttaccgcgctg
+gccagtaacaataaaaatgacatcctcgccaccccaagcatcgtaacgctggataataaa
+ctcgcgtccttcaacgtggggcaggatgtgccggtgctatccgggtcacagaccacttca
+ggggataacgtctttaataccgtcgaacgcaaaacggtggggacaaaactcaaagttact
+ccgcaggtcaatgaaggcgacgcggtgttgctcgaaatagagcaggaagtctccagcgtt
+gactcttcctctaactcgacgctcggcccgacgtttaatacccgtactattcaaaacgcc
+gtgctggtcaaaaccggtgaaacggtggtcctgggcggattgctggatgatttttctaaa
+gagcaagtgtcaaaggttcctctgcttggcgatattcctttagtggggcaactcttccgc
+tatacctccaccgagcgcgctaaacgcaacctgatggtatttatccgtccgacgattatc
+cgtgacgatgatgtttatcgctcactgtcaaaagagaaatacacccgttaccgtcaggag
+caacaacagcggatcgacgggaaatcaaaagcgctggttggctcggaagatttgccggtg
+ctggatgaaaacacgttcaacagtcacgcccctgcgccatcgtcacggtgaggcattcat
+atgagaattcactcaccgtaccccgccagttgggcgctggcacaacgaattggttatctc
+tattcagagggcgagattatttatctcgccgatacgccattcgagcggttactcgatatt
+caacgtcaggttggccagtgccagaccatgaccagcttgtcacaggctgattttgaagct
+cggctggaagcggtattccatcagaataccggtgagtcgcaacagattgcgcaggatatc
+gatcaatccgtcgatcttctctcgctttcggaagagatgcccgcaaatgaagatctcctg
+aatgaagattcagcggcaccggttatccgcttgatcaatgcgattttgagtgaggccatc
+aaagaaaccgcctctgatatccacattgaaacctatgaaaaaacaatgtcgatccgtttt
+cgcatcgacggcgttttgcggacaattttacagccaaacaaaaaactggcggcactgctt
+atctcccgaattaaggtcatggctcgtcttgatatcgccgaaaaacgtattccacaggat
+ggaagaattagtttgcgtatcgggcgacgtaacatagatgtccgcgtatccacactgccg
+tccatctatggtgaacgcgccgtactccgcctgctggataaaaacagcctccagctttca
+ttgaacaacctggggatgacggcagcggataagcaggatttagaaaatctcattcagctt
+ccgcacggtattatcctggtgacagggccgacaggctccggtaaaagcaccacgctctac
+gccatcctttcggcgctgaatactcccggccgcaatattctgacggtagaagatcccgtg
+gaatatgagctggaaggcattgggcaaacgcaggtgaatacccgtgtggatatgtctttc
+gctcgcggcctgcgcgccatacttcgccaggacccggatgtcgtcatggtgggggaaatt
+cgtgatacagaaaccgcgcagattgcggttcaggcctcgctcaccggccatctggtactc
+tcaacactccacactaacagtgcatcaggcgcagtgacccggctccgcgacatgggcgtc
+gaatcattcctgctttcgtcttccctggcagggattatcgcgcaacgtctggttcgtcgc
+ctgtgtccgcaatgccgacaattcacgcccgtatcaccccaacaagcgcagatgtttaaa
+tatcatcagctcgcggtgacaacaattggcactcccgtaggctgccctcattgccatcaa
+tccggctatcaggggcgcatggcgatccacgaaatgatggtggtgacgccggaattacgg
+gccgctattcatgaaaatgtggatgaacaagcactggagcgactagtccggcaacaacac
+aaggccttaatcaaaaatggcctgcaaaaagtgataagcggtgacacctcctgggatgag
+gttatgcgcgtcgccagtgccacgctggagagcgaagcatgaattatcgctatcgcgcca
+tgacccaggatggtcaaaaattgcaagggatcattgatgctaacgatgaacgtcaggcac
+gactgcggctgcgtgaagaagggcttttcctgctggatattcgcccccaaaaaagttcgg
+gagtaaaaacacgtcgcccgaggatcagccatagtgaactgacgcttttcacccggcagt
+tggcaaccttaagcgcagcggcattacccctggaagagagccttgccgtaatcggtcaac
+aaagcagtaataaacgactgggtgacgtgttaaatcaggtacgcagcgccatccttgaag
+ggcatcccctttccgatgcattacagcattttcccacgcttttcgattcgctctatcgta
+ccctggtaaaagcgggcgaaaagagcgggctgctggccccggtgttggaaaagctggctg
+attacaatgaaaaccggcagaaaatccgcagcaagctcattcagtcactgatctacccct
+gtatgctcactacggtggcgattggggtcgtgattattctcctcactgctgtcgtgccca
+aaattaccgaacagttcgtgcatatgaagcagcaactgccgctgagtacacgcattcttt
+taggtctgagcgacacgttgcaacgtaccggcccgacattattagcgacagtgtttattg
+tcgctgtaggtttctggctctggttaaaacgcggcaataaccgccaccgttttcatgcca
+tgttgctgcgcgttgcgctcatcggcccgctgatttgcgccattaacagcgcacgctatc
+tccgcactttaagtattttgcaatccagcggcgtccctctgctggatgggatgaatttgt
+ccaccgaaagcctcaacaacctcgaaattcgccagcgtctggcaaatgcggcagagaacg
+ttcgccagggtaacagcattcatctttcgctggaacaaaccgcaattttcccgccgatga
+tgctctacatggtggcctctggcgaaaaaagcgggcagctcggcacattaatggtcagag
+ccgcagataaccaggagacactccaacaaaatcggatcgccttaacgctctccatcttcg
+agccagcactcattattacgatggcactgatcgtcctgtttattgtcgtgtcggtactcc
+aacctcttcttcaacttaactcaatgattaattaaggaaagcatatgcgcgcaacggata
+agcaacgcggttttacattactggaaattatggtggtgatcgtcattatcggcgtacttg
+ccagcctggtggttcctaacctaatgggcaataaagaaaaggcggataagcaaaaagccg
+tcagcgatattgtggcgctggaaaacgcccttgatatgtacaaactcgacaatcatcact
+atccaaccacaaatcaggggcttgaatccttagtagaagcgccgacactgccaccgctgg
+ccgcaaactataacaaggaaggttatatcaagcgtctgcctgccgatccctggggcaatg
+attatgtcctcgttaatcctggtgaacatggtgcatacgatctgctttcagcagggcccg
+atggtgaaatgggaaccgaggacgacatcaccaactggggtttgagcaagaagaaaaagt
+aagtcagcgatgaatcagcaacgcgggtttaccctgctggagatgatgctggtgctggcg
+ctggtcgctatcacggcaagcgtggtgctcttcacatatggccgggaggatgtcgccagc
+actcgtgcgcgcgaaacagcggcgcggtttaccgctgcacttgaattagccatcgaccgc
+gccacgctcagtggtcagcctgtcggtatccatttctctgattcagcatggcgcattatg
+gtaccgggcaaaacaccatcagcctggcgctgggttccattacaagaagatgccgcagac
+gagagccaaaatgactgggatgaagaactctcaattcatcttcagccatttaaacctgat
+gacagcaaccagccacaggttgtgattctggccgacggacaaatcacgcccttctctttg
+ttgatggctaacgccgggaccggtgagccgctcctgacgttagtctgttcaggctcatgg
+cccctggatcaaacgctcgccagagatacccgcccatgaacaaacaatcagggatgacac
+tgcttgaagtcttactggcgatgagtattttcaccgctgttgctctgactttaatgagca
+gtatgcaagggcaacgaaatgccatcgagcgaatgcgtaacgagacgctggcattgtgga
+tagcggataaccagcttcagtcacaagattcattcggcgaggaaaacacgtccagttctg
+gcaaagagttaataaatggcgaagagtggaactggcgcagcgatatccactcaagcaaag
+acggcacgcttctggaacgcaccataacggtgacattacccagcggtcagacaacctcgc
+ttacgcgttatcaaagcatcgataataaatccgggcaggcacaagatgattaatcgccag
+cagggtttcacattgctggaggtcatggcggcgctggcgattttctcaatgcttagcgtg
+ctggcgtttatgattttttcgcaagcttccgagttgcatcaacgctcacagaaagaaatc
+cagcagttcaatcagctacagcgcaccatcaccattcttgataacgatctcctgcaactg
+gtcgcccggaggaatcggagtacggacaaaatcatggtgttgggtgaagaagctattttt
+accacgcaaagtcgcgatccgctggctcctctcagtgaagcacaaaccttactcactgtt
+cactggtatctgcgaaatcatacgctctaccgtgctgttcgtacttctgtggatggcagg
+aaggatcaacccgcccaggcgatgctggaacatgtcgagagctttcttctggaaagtaac
+agcggggaaagccaggaacttcctctctcagtcacgttacatctgcagactcagcaatat
+ggggggttacagcgccgttttgcattacctgagcagttagcgagagaagagtcgccagct
+cagacgcaggccgggaataataaccatgaataatgaacaacgcggcgtcgcgctgctcat
+tgtactcatgttactggcgctcatggctgctctggcagcagacatgacgctcagttttca
+cagccagcttcagcgaacccgccaggtaaaccatcatctgcaacggcaatatgatattga
+actggcggagaaacttgcgcttgccagcctcacccaggacgttaaagataacgacagaca
+gaccacgttgcagcagtactgggcacagccacaacagttgcagctggaagatggcaatac
+agtgaagtggcagttacgcgatgcccagcactgttttaatctcaatgcgttagcaaaaat
+ctctgacgacccgctggcttcccctgatttccccgcccaggtattcagtgcgctgctgat
+taacgccggtatcgatcgcggaaacaccgatgagatcgtgcaatcaatcgctgactatat
+tgatgtcgatgactcaccacgctttcacggcgcagaagatagcttttaccaaagccagac
+gccgccccggcatagtgccaatcagatgctttttctgactggcgaattacgtcagataaa
+aggcataaccgaaaacatctatcagcggcttatcccgtatgtctgcgttctcccgaccac
+ggaacttagcatcaatcttaatatgctaacggagaacgatattccgctcttcagagcgtt
+attcctcaataacatcacggatgctgacgctcgggtcttattgcaaaaaaggccgaggga
+aggctggctaaccacggatgcatttctttactgggcgcagcaggatttctccggtgtgaa
+gccactggttgctcaggtgaaaaggcatctctttccctatagccgctattttacgctgag
+tacggaaagtatcagcgacgaacaatcccagggatggcaaagccatatttttttcaaccg
+taaacagcagagcgcccaaatctatcggcgtacgctgcaactctactaatcataaggatc
+gtgatgcctgaatcgttgatggtcatacgttcttcctcgacgctgcgtaagcattgggaa
+tggatgacgttctccgcagatagcgtatcttcggtacatacgctcacggacgatcttccg
+ctggagtcgctggccgatcagcccggtgccggaaatgttcatcttttgatcccaccagag
+ggccttttatatcgttccctcacgctgcccaacgccaaatacaaactcaccgcacaaaca
+ttacaatggctggcagaggagacgttacccgacaacacccaggactggcactggacggtt
+gtcgataaacaaaacgaaagtgtcgaggtgataggcattcagtcggagaaactcagtcgc
+tatcttgagcgtttacatactgccggactcaacgtgacgcgggttttgccagatggctgc
+tatcttccctgggaagtagatagctggactctggttaaccagcaaacaagctggctcatt
+cgcagtgccgcacatgccttcaacgaactggatgaacactggttacagcatcttgctgcc
+cagtttccgcctgagaatatgctttgttatggtgtagtacctcacggcgttgcagcggcc
+aatccacttatccagcatcctgaaataccatcactgagtttgtattctgccgatattgca
+ttccagcgctatgacatgctgcatggtatttttcgtaaacagaaaactgtaagcaaatcg
+ggaaaatggctcgcccgcctggcagtaagctgtctcgttctcgccattctttcttttgtt
+ggcagccggagcatcgcgctctggcatacgcttaagattgaagatcaacttcagcaacaa
+cagcaagaaacctggcaacgttatttcccgcagatcaaacgcacccacaattttcgtttt
+tactttaagcagcaactcgctcagcaatatcctgaagctgtgccgttgctctatcattta
+caaacacttctgctggaacaccctgaactgcagttaatggaggcgaactatagccagaag
+caaaagtcgctgaccttaaaaatgagtgctaagagtgaagctaatatcgatcgtttctgt
+gagttaacacagtcctggcttccgatggaaaaaacagaaaaagatccggtcagtggtgta
+tggacagtaaggaactcagggaaatgattaaatcatggtgggcagaaaaatccacatcgg
+aaaaacagatcgttgcggcactggcggttctctcgctcggcgttttttgttggcttgggg
+tgataaaaccgatagatacctacattgcagagcatcagtcccacgcgcaaaaaattaaga
+aggacatcaaatggatgcaggatcaagcgagcacccatggtttactcggtcatcctgcgc
+ttacgcagcccatcaaaaatatccttctcgaggaagcaaaacgtgagaatttggctatca
+cgctggaaaacggcccggacaatactctgacaattcatcctgtcacagctcccctcgaaa
+acgtctcccgctggctcactacggcacaggtaacatacggtattgttattgaagaccttc
+agtttactcttgccggaaacgaagagatcaccctcaggcatttgtccttcagggagcaac
+aataatgacaatgctactgccgctcttcattctggttggttttattgcagattattttgt
+taatgccatcgcctatcacctctcgccgttggaggataaaacggcgttaacgtttcgcca
+ggtattggttcatttcaggcaaaaaaaatatgcctggcatgatacagtgcccctgatact
+ttgtgttgctgctgctatcgcctgcgccctggcacctttcacgcccatcgtgactggcgc
+actctttctctatttctgtttcgtactcacgctcagtgttattgattttcgcactcagct
+cctgcccgacaaactcaccttaccgctgctctggcttggcttggtatttaatgcgcagta
+tggattaattgatttacatgatgcggtttacggcgcggtagcgggctatggggtgctgtg
+gtgtgtttactggggcgtctggttagtttgtcacaaagagggattgggctacggtgattt
+caagctactggccgctgcaggcgcatggtgtggctggcaaacgttgccaatgatactgct
+gattgcctcgctgggtggcattggttacgccatcgtttcacaacttctgcaacgccggac
+tataaccactatcgcattcggcccgtggcttgcgctcggcagcatgataaacctggggta
+tctggcctggatctcttattaaccgggagggttctccctcccgacacggctcaaccttct
+tcgcggatctgtgcttgcagataattttgcaggcccatcttctgaatcagatcaagttcc
+gtttccagccagtcgatatggccttcttcatcacgcaaaatttctatcatcatatcgcgg
+ctgacgtaatcatgaacgctatcggcataaccaattgcctcacgcaaattcttcgcgcca
+tccagctcaagtgccagatcagaacgcagcatttcctcaacatcttcaccaatgttcagt
+ttgcccaggtcctgtaagtttggaagaccttccagaaaaagaatgcgctcaatataacga
+tcggcgtgtttcatctcatcaatggattcatgatactccacatcattgagacgtttgaga
+ccccagtttttaaacattcgggcatggagaaagtactgattgattgcgacaagctcattt
+cccaacagtttgttgagataatttataactttagtatcacctttcattttttgactcctt
+cgcttccactctttgaagagtagaacggcttacgagtaagtcaaaaaacacactccgttt
+atgcggactccttaaactccggcagctgcattaattcatcctccatcacttcacgcgcgg
+cccggacacatttaccgcactgattgccgaccggaataaatttttttaattgctggaacg
+agtgaggggaaaactggcgcacagcctgacgaatttttttatcgctgataccattacaaa
+gacaaacgtacatagagactcccgtatactttcttcaaaaataaatgaaaatagttctta
+tttcaattacggaaagactcttttttaagcaaagaatagaaatatgaataaaaataatgg
+gctaccaaaagtagcccattgacaaaaaatgcggcgatactggaaggtatcgccaacaca
+tttattgcttagtaaacggcgcgaagatttcgctaaatgcgtacttcggtgcctgttctt
+tagtcaggccgtggaattccggagacaggttagtgccgcccggcaggtcgcgcgcgattg
+accagataccaaccataccgagattacgcttctgcgcatcctgcatgaccagacgagcat
+cagagagatagaacacctcgccctgaacgtcgttcacgccaaccatcggcgtggtaccca
+tcatagcgtcaatttctgcatcgctcttattgggatggaggcctttcaattgtgaatgca
+ggttggcaatcgcagacgttgcacacttaccgtgaatgttctggccttcggtatttgcag
+actgacaaatcgcgttaccgtagtccattgtcatcacgttcacacccgccagctcaacac
+ctttcgctttggcatcgctcaggacattcatcccttccggcgtcaggccagtcggcagaa
+ttggcaaggtgtaccagatagcaatatctttgccttctgacttccatttatcctgcactt
+tcttcacagcaaggttacgacgttcaatagatgcctgatccgcaacccaggtgccttcga
+tatcgaagtccaggactttgaggttcaggttatcaacgatgtcataataatgctgcatca
+gatcgtctacgttcttacaggaagcagccagcggagcgttgttagcaccaccgatagaca
+gcatcacatcgccgccagcctcacgcagagctttgattttgctgtactgagcgtaattct
+gcataccgtaagcggtaccccatgtcggcagacaggtgttcgcatctttactcaccacaa
+acgccagcgtgaagtggttgacgttatgattcttagccagcgcagccagatccgggatcg
+tattcagcgtaaagtcgacatacggtgcataaacgtgtttcggccacgctttcttcggcg
+tacctacgcgctctttggttccggtccagtcaacaaaaacacgccacgggttgctgtcag
+aaggagaaactttctgcactttactctgagaaatgtagttcacaccgttaaagcgaatca
+gcgtatcgctggcataaagcgtttctggattaaactgcggcgcattattcagctcttcgt
+tgctatagctctgagccttacctaacggcttccacgggcggctattgctaccggtggcgt
+tttggttcgccaccagagcagggttgtcactttgcgtccagaacagcgcttcataagcct
+gcccatcaacaacaacgcgatcacctttcacgtacacagtggatgcggaccatgctttcg
+ccggttcgtatttcttccacgggttatcgccgcccgggacaaagccccatgcgtcttgat
+cgacagaagttttataatgtgcatcgttataatctacgatgctgtccgcgctgtacgctt
+tgctggcctggaaaccatccgcaacaatgacgccgccgttatcaatttcacaggtagtcg
+ggttaccgtactgactcaattccgcagcggtagctgtacgctcgagacgccatgggttat
+tggagttttcagcgctggtaccccgtgggcaatctttagacccaacccaccaggcgttct
+tgtaaacattaccattgaaaataacatggtaaatttcgctaccttcctggccgctccacg
+cttgcaatgagtaatcgttaacgctatccgctggtgttgatggctcgctgttatccggag
+ttggggtcaccggtgtttccggagttggatcaaccggagtcacagcaccgccattattat
+ccggcttaacggaacaggagccagggttaccatactggctgatttctgttgccgttgccg
+cgcgaacataacgccatgggttactggcatcgttttctttcgcatcgcctgggcaatttg
+ccgcgcctacccaccaggcgttcttataaatgccgccgttatagataacgtaccatgtag
+aagaaccttcctgacctttccaggctactacagcatagttgtcgtttgacttatcagctg
+gggctggctgaacatcaggagccggtttaacgtccggtgccggtttcacatccggtgaag
+gctgtggtgctgaagtacaggactgtggattactggtttctgagatttccgttgccgtag
+cggcacgaacataacgccatgggttgctggcatcattgcttttcgcatcacccggacagt
+tagaagaggctacccaccaggcatttttatataccgcaccattaaagacgacataccagg
+tctgaccgccctgctgtttattccaggcaactacagaagaattagacggaacagtgccct
+gtgctggtgtagccgaaccgccattagccggcgtattggatgcaggcgtatttgaatttg
+aagaagatgagctgccgctcttttcgcaggaaagtgtattgccaaactgactaatttcag
+cagctgttgcggtacgctttaaacgccacgggttagttgcatcatttgctttcgcttttc
+ccgggcaatttgtagaagaaacccaccaggcattttcataaattttgccatcgaaaataa
+cctgatatttattaccaccttgttggttattccatgcttccattgccaatgctggcagag
+cggaacacaccagccccataccaatcatagatttagtaaatatatttaatttcattataa
+tcccttgtgacgtaaaaactgcaaaacaaaagtcctacgcaggaattatttacgttttac
+gagaacccttcaatatgaattaaattacggcattaaaaataagaaaaaagcctgacaaat
+gaagcattttaaaaacagaaacattcatatttaaaatgttaaattgaattgatattttaa
+atatgaataatttattcgttctgacagtacgaataagatatgccgtcaacaaatgcaaaa
+agggcgccgaagcgcccttttcaattcaaaactaattaacgtgtaattagcccagaactt
+tagcaacaacgcccgcgccaacggtacggccgccttcacggattgcgaaacgcagaccgt
+cgtccatcgcgatcgggtggatcagggtaacaaccattttgatgttgtcgcccggcatta
+ccatctctacgccttccggcagttcgatggtaccagtcacgtcagtagtacggaagtaga
+actgcggacggtagcctttgaagaacggagtatgacggccgccttcatctttggacagaa
+tgtacacttcagattcgaacttggtgtgcggcttgatggtgcccggcttagccagtacct
+gaccacgttcgatttcttcacgtttgataccacgcagcagaacacctacgttctcaccag
+cacggccttcgtccagcagtttgcggaacatttcaacgccagtacaggtagacttctgag
+tctctttgataccaacgatttcaacttcttcaccaactttgatgataccgcgttctacac
+gaccggtaacaacggtaccacgaccggagatggagaatacgtcttcgatcggcagcagga
+acggcttgtcaatcgcacgctctggttccggaatataagaatccaggaagccagccagtt
+ccaggattttcgcttcccactctgcgtcgccttccagcgctttcagagcagaaccacgaa
+cgatcggagtgtcgtcgcccgggaagtcgtactgagacagaagttcacgaacttccattt
+caaccagttccagcagctcttcgtcatcaaccatgtcgcatttgttcaggaacacgatga
+tgtacggaacgcctacctgacgacccagcaggatgtgctcacgagtctgcggcatcgggc
+cgtcagtcgcagcaactaccaggatcgcgccgtccatctgagcagcaccggtgatcatgt
+ttttaacatagtcggcgtgccccgggcagtctacgtgtgcgtagtgacgggtcggggtgt
+cgtattcaacgtgagaagtgttgatggtgataccacgagctttttcttccggcgcgttat
+cgatctggtcgaatgcacgagcagcaccgccgtaggttttagccagtacggtggtgattg
+cagcggtcagagtagttttaccgtggtcaacgtggccgatagtaccaacgttaacgtgcg
+gttttgtacgttcaaatttttctttagacacggctatattccttactatagtgctctccc
+cttcaggagagagcacgggactttggtattaacccttaggcttatttaccacgggcttca
+attacggcctgagcaacgttactcggcgcttcatcatacttcaggaattccatagtgtat
+gatgcacgacctttggtcagagaacgcagctgagttgcgtatccgaacatttcagacagc
+ggtacttcagcgtggatcttaacgccagtaacttcagattcctgacctttgagcatacca
+cgacgacggctcaagtcaccgataacgtcaccggtgttctcttccggagtttctacttca
+accttcatgatcggctcaagcagaactggtttcgctttcttaaagccttctttaaaggcg
+atagaagcagccagtttaaacgccagttcagaggagtcaacgtcatggtaagaaccgaag
+tgcagacgaatacccatgtctactaccgggtagcctgccagcggacctgctttcagctgt
+tcctggatacctttatcaacggccgggatgtattcgccagggattacaccacctttaatg
+tcgttgatgaactcgtagcctttcgggtttgaacccggctccagcgggtacatgtcgata
+acaacatgaccatactgaccacgaccaccagactgtttcgcgtgtttaccttcaacatcg
+gtaactttctggcggatagtttcacggtaagcaacctgcggtttacctacgttcgcttca
+acgttgaattcacgcttcatacggtcaacgatgatgtcgaggtgcagttcgcccataccc
+gcgatgatggtctggttagattcttcgtcagtccatacacggaaagacgggtcttcttta
+gccagacggcccagagccagacccattttttcctggtcagctttggttttcggttcaact
+gcgatggagattaccggctcagggaattccatacgttccagaatgatcggcgcatccggg
+tcacacagggtgtcaccagtggttacgtctttcagaccgatagcagcagcgatgtcgccc
+gcgcgaacttctttgatctcttcacgtttgttagcgtgcatctgaacgatacgaccgaaa
+cgctcacgtgcagctttcacggagttcagtacggtatcaccagagttaaccacaccggag
+taaacacggaagaaggtcaggttaccaacaaacgggtcggtagcgattttgaacgccagt
+gcagagaacggctcgtcatcacttgcgtgacgttcagccggagtgtctttaccgtcgtcc
+aggataccgttgatcgcaggtacgtcaaccggggatggcaggtaatcaattaccgcatcc
+agcatcgcctgaacacctttgttcttgaacgcagaaccacaggttaccaggatgatttcg
+ttgttcagaacgcgctgacgcagagcacctttgatttctgcttcagtcagttcttcacca
+cccaggtatttttccatcagctcttcagaagcttcagctgcggattcgatcaggttctgg
+tgccattcgttagccagttcaaccatgtctgccgggatatcttcgtattcgaaggttacg
+ccctggtcagcgtcgttccagttgatagctttcattttcaccaggtcaacaacaccggtg
+aaatgttcttcagcaccaatcgccagctgcagcggaaccgggttcgcgcccagacgggtt
+ttgatctggttaacaactttcaggaagttcgcacccatgcggtccattttgttaacgaac
+gcaatgcgcggaactttatatttgtttgcctgacgccatacggtttcagactgcggctga
+acaccaccaactgcgcagtaaaccattaccgcaccatcgagaacacgcatggaacgttct
+acttcgattgtgaagtcaacgtgccccggggtgtcgatgatgttgatgcgatgcggctca
+tactgcttagccataccagaccagaatgcagtagtcgcagcggaagtgatggtaatacca
+cgttcctgctcctgctccatccagtccatggttgcagcgccgtcatgaacttcaccgatt
+ttatggtttacaccggtgtagaacagaatacgttcggtagtagtggttttaccggcgtcg
+atgtgcgcactgataccgatgttacggtagcgtgcgatgggtgttgtacgagccatttgt
+ttcctcgtttatcttttaggcgttcaatttaagtagcccaaagcgggctgcttactggaa
+gcgcccgcctggtgactaaaactccgaagggataaccaacggtagtgtgcgaacgccttg
+ttggcttcggccatacggtgaacgtcttcacgtttcttaactgcagtacctttgttttct
+gcagcatcagaaagttcgttcgccaggcgcagagccatggatttatcaccgcgtttacga
+gcagcttcaacgatccaacgcattgccagagcattacgacgaaccggacggacttcaact
+ggtacctgataagtagaaccaccaacgcggcgagacttaacttctacagtcgggcgcacg
+ttttcgagagctacttcgaatgcttccagttcagatttaccagagcgctgagccagggtc
+tccagcgcgctgtatacgatagattcagcagtagattttttaccatctaccatcaggata
+tttacaaatttagccagcagttctgatccgaacttcggatccggcagaattttacgctga
+ccaatgacgcgacgacgtggcatggaaatactccgttgttaattcaggattgtccaaaac
+tctacgagtttagtttgacatttaagttaaaacgtttggccttacttaacggagaaccat
+taagccttaggacgcttcacgccatacttggaacgagcctgcttacggtctttaacgccg
+gagcagtcaagcgcaccacgtacggtgtggtaacgaacacccgggaggtctttaacacga
+ccgccacggatcaggatcacggagtgctcctgcaggttgtgaccttcaccaccgatgtag
+gaagtcacttcgaaaccgttagtcagacgaacacggcatactttacgcagcgcggagttc
+ggttttttaggagtggtagtatatacacgagtacatacgccacgtttttgcgggcatgct
+tccagcgcaggcacgttgcttttcgcaactttgcgagcacgtggtttgcgtaccagctgg
+ttaactgttgccattaaatagctcctggttttagcttttgcttcgtaaacacgtaataaa
+acgtcctcacacaatatgaggacgccgaattttagggcgatgccgaaaaggtgtcaagaa
+atatacaacgatcccgccatcaccaggccatctggctggggtgcttaaccgtaagtctga
+cgaaatcagtatagtcaatgagaatgatgtcgttcgaaatttgaccagtcaaaccgcggg
+caataaggtcttcgttcagggcatagaccttaatgggggcattacgcagactttcaaggt
+agcggttaccgtcaactgcggcagttacgccatcttgcaataatagcagttcgtctcctt
+cactgagcagacgcagcagcgcagcaaaatccgtcagccagggtgagcgatgtaatgtgt
+gcagcataaacgcctcaaaacctcaaaataacatcgtagttggcgagttcgcggcgtaag
+gcatctgcttcgagcggcgtggcttcgacaacaaagggtgtctgcggatctaacccgcgt
+tcgcgcagtgaagccgcacaaacccagcactgttcaatgtcgtacagacccaacaattta
+aaagtggcaatgtaatcacgcgccagcactgcatcgggcttttgtcctggcagcagctga
+aaaacgccatcagctataaagaagacagccagatcgtcagttaatgcggaagttgccagt
+aaagcatctaaaccttcccggcctgcggctgtaccatgaggtgcagtagaaaaaacaaac
+gcaattcgtttcatcagaactgtaccaccctgtcacaggtcagcgaggcttccgccagcg
+ccccaagtccgcttaaggtaaatccctgctgaaggtttgacgaagccagccccagtcttc
+cggcctccgtttcatcaacaacgccacggcgtaatgctgccgctacgcagatattcagcg
+ccacaccatgttgcgcattcagttgttgccaggcccgtacgaggtcaaattcgtcacttg
+ccggagaggtcaattggttagcgttatagaccccttcccgatagaaaaagacgctgctta
+actcatggccatctgctatcagcgcctgcgcaaactgaaaagcactactcgcctgttgcg
+taccgtatgctggcccggtcaccacgatggcaaaacgcattacttatcttgcccctggaa
+atcaccgctcttgaactggcggatgtagagatagacagtgtgtttggagatgttcaggcg
+gtcagcaacctggttgatcgcatctttaatatcgaagatccctttctcgtagagattcag
+cacgatctgacgatttttggcgttattagaaacattgcgatcggcattcacttcttcgat
+ggtgaactccagcgtttgggtaaccagatcttcaacagaagaggcaaagttgacgcttga
+accgacatccggggtttctggcggcacaaaggtgctcataatctgcgagaagggaacatc
+aagattcatattgatgcacagcagaccaattacacgctgttcgcggttacgaatcgcgat
+agtcagggacttcattaatacgccgcttttggcgcgagtaaagtagcatttagaaacgct
+gctatccgctcccgtcatatcgtgcagcatacgtagcgccaggtcagtaattggcgaacc
+aatcttccggcctgtatgttcaccgttagcaatgcgaatggctgaacattttagatcctg
+caaagagtgcaaaacgatttcacagtgggagccaataagcatcgctaacccgtccaccac
+cgcttcgtaggatttcagaatatcaaaatcggtctggtcgaaaggacgttgatccagtaa
+atccaactcactggtttcgttggttaaaagcgacctggacatgaaaaaaaacactccttt
+tcaggagcctgtcgttaacttttcagggcaggctcattaatgatgcgggtaactaaatta
+atacagcggaggttccgctttccagcactaattatatccggcctgtaataaaaaaaccgc
+cgcctggtcaggcggcggttcttaatgcttattttttagcagaatctgcggctttcgcat
+cagcttccggctttgcatcagccttcggcgctggtttcacatccagcagctctacgtcaa
+acaccagggtagaattcggtgggatccccggaacacccgctttgccgtaagccagttctg
+gtggaataaccagtttgatcttaccgcctttcttgatgttcttcagaccttctgtccaac
+ccgggataacaccgtccagacggaaagaaagcggttcaccacgggtgtaagagttgtcga
+actctttaccgtcgatcagcgtacctttgtagttcactacaacagtatcgctgtctttcg
+gtgcttcgcctttaccggcttctactacctgataaaccagaccagttgaagaggttttca
+cacctttctctttggcaaatttctcgcggtactctttaccttttgcttcgttatcagccg
+cgtctttttccatcttcgcctgagcagaagacttcacgcgagcttcgaatgcttgtagag
+tctgttcgatctcttggtcggagagtttgctcttatcagcaaatgcatcctgaacaccag
+cgatcagctgatctttatccagtttgatgcccagtttttcttgttcttttagagagtttt
+ccatgtaacgacccagcgaggcacccagtgcataagctgatttctgatcgtcatttttga
+acgctgctttgctgtcagcagctgtagcaggttttgcagcttcagcagcaaaagtgattg
+gtgcatgcagggcaacggccattgtggtcgccagcagcgttactttaaacagtgatttca
+tccatatctccaggatcggggcatctcaccccagggttaactattatcagaagggtacta
+taaagcgttgtcgaacaaatctacatacagacacgccctattatcatctattttcagact
+ctttttgtttaaattagtttcgatgaccgcgaaatgagtgctgtctcgggcagcaaagtt
+aagtagaatccgcggcgaccattcgacaaaagaggtgaatcatgcaggatttatcattgg
+aagcacgcctggcagagctggagagccgactggcttttcaggaaatcaccattgaagaac
+tgaacgtcacggtgaccgctcatgaaatggagatggcgaaactgcgcgatcatctgcgtc
+tgctgaccgagaagttaaaagccagccagccgtcgaacatcgcgtcgcaggctgaagaaa
+cgccaccgccacattattgaggcgtaaaaaaagcggggattccccgcttttttgtcactt
+tttcggtattagtggcaaccgcaaccgccgttgcctttaccgccacagcagccttcgcca
+ccgtgttcatgaccgtgatcgtggccatgaccgccgcagcaaccgtcgtggtcgtgatcg
+tggtggtgatcgtgcgcgccgtgaacgtgaccatgagccagttcttcttcagtcgcttcg
+cgaatcgccacaacttcaacgttgaatttcaggttctgaccggccagcatgtggttacca
+tcaaccacgacgtgatcgtcttcaaccgcagtgatttcaaccggtaccggaccctggtcg
+gtttcagccaggaaacgcatacctacctgcagttcatcaacgcccataaatacgtcttta
+ggaacacgttgcaccaggttttcgtcgtactgaccgtaagcgtcgttcgcgccaacagcg
+acatcaaatttgtcgccaacttcatgaccttccagcgccgtttccaggccagagatcagg
+gaaccgtgaccatgcaggtagtccagcggcgcactcaccggagactcatcaaccaacaca
+ccgtcttctgtacgtacctgataggccaggctgaccaccaggtcttttgctactttcatg
+atatctcctgagcatgggaagaatagtggcgcagattgtagcggaattctgcagccgtgt
+actcactagcttaaaaaaactcggcgcatatcgctagtccggatgaaaaatcccgatcac
+ttgctcatctttgcgaacgtgatcgcgggcttctttgtctgcttctcgcatctgatgtcc
+gcacttaacacattcaacaatatcaatattattttcgcgccacatcgccattgaatcctg
+cgcctgacaggccgggcattttgcgcccgcaataaaacgttttcggattgccatctttac
+cctctactcaaattcatcccagccgtccagctggcgtcgttcttgttgcatttcacgctg
+gaaaatctcttccagttcgcgtcgggcttccctggcgcgagaaatttgtacggtatcggc
+atgcattgggatgagctctcgcagcatccgcatatccaggcggcgaaaatgcagttgcgc
+tcgctgtgcctgatgcggatgcatgccaagcgtgaccagcgtcttgcgccccagctctaa
+cgcactggagaatgtttcacgggaaaactgcgtcacccctgcctgtaataactcatgcgc
+ttccacacgtccgcgcgctcgcgcaagaatatgcaaatgcggaaagtgctgttggcatat
+ttccaccagcttcatggtgtcttccggctcgttacaggtaatgacgatagactcagcggc
+ctctgcacccgcagaacgtaaaagatcgacctgcgtggcgtcgccgtaataaactttgta
+gccgtatttacgcatcaggttaacggcgctgatatcccgctccagcacggtaatgcgcat
+tttatttgccatcagcaaacgaccaatcacctgaccaaaacgcccgaagcccacgacaat
+gacctggggtttatcatcgttgacccacggtttttcgtcttcttcttccggtccgttaaa
+ctggcgggatagccatttatccaccagcttcatcagcaacggcgtggtcatcatggaaag
+cgtcaccgtcaccagcaacaacgccatctggtcgccctggaataagcgttgtgaagaagc
+ggtagaaaagaggacaaaggcaaactcaccaccctgactcaacacgccagcaaactgcat
+ccgctctgagctacgcacgccatacaatcgcgccagcagatacagcacgagaattttcac
+cgccaccagcacaaccacgcttatcactacccacaacagatgggtataaagcaccccgag
+gttgagtgacatgccgacagagataaagaacaaaccgagcagcaagcctttgaagggatc
+gatagccgtttccagttcatggcgatattcactttccgccagcagcacgcccgcaataaa
+tgtaccgagcgccatcgacagccccagcgcatccataaacaatgcggaacccaacaccag
+cagcagcgtcgcggcggtgaacacttcccgcacgccagaagctgcaataaagcggaatac
+cggacgcagtaaatagcgcccaccaatcagcatgccgacaaacgccagcaccttcatgcc
+gaccttcatccagtcgaaatgttcgtctgccgaccccgccaacaacggcactaacgccag
+tgctgggattactgccagatcctgaaacagcagaaccgaaaacccgagctggccggattc
+gctgcgattcatccctttctcacgcatcaattgcaacgccattgcagttgaagacatcgc
+aaggccaatgccaccgaccaccgccgcctgccaggcgaaatccgtcagcatcaataatcc
+cgccagcaacgccgcgcttaacagcacctgtgccgcgcctacgccaaaaatcgaacgccg
+cagttgccaaagtttggagggattcaactcaaggccgatgataaacatcaggaataccac
+gccgagttccgaaaagtggaggatctcatcgacgtcgctaataaaccccagcccccacgg
+gccaattgcaatccctgccagcaaatatcccaacacagcgccaatacccagccgcgatgc
+cagcggcaccgcagccaccgccgcgaagagaaacagcactcctgcgagtaaaaaatcgga
+accttccatcagcggcctcctggagacagcggatttgccagccagtcaccgtaggctctg
+gcgtggctcgccagctcctgtgcgctttgccgtctcgcccagtaaataatgatgggactt
+aaccaatgcatccggcacatgcccgccgccagttcaaaggggcgcagcacatcgctcatc
+gggtagcgattcagcgcgtcataacggtaagcactttccggctcgccggtggtaatcacg
+ctacgccagtactttcccgccagttggtttcctcccggcccgctggcaaaaccacgactt
+aatacccggtccagccactctttcagtagcgccgggcagctataggtataaagaggatgc
+tgaaagacaatcacctcgtgctcgcgcagtaatgcctgctcacgggggatatcaataaaa
+aaatcgggatagtgcgcgtaaaggtcgtgcacggtaacattgctgagctgcgtggccggt
+ttaagcagtacccggtttgccaccgagtcctgagattccggatgggcatacagcagcaaa
+actttcgctggctgagacatcatccccctcccggtatggtttttgtgtatagtcgctgtt
+ttgggctaccattgcgcccggtgcggcagctcgcccatacattacattatcataatgata
+agttaacatagtctgaacatacggcaccttatgattgttttctcctcgttacaaattcgt
+cgcggcgtgcgcgtcctgctggataatgccaccgccaccatcaaccctgggcagaaagtc
+ggcctggtgggtaaaaacggctgtggtaaatctaccctgctggcattgctgaaaaatgaa
+atcagcgccgacggcggcagctacacctttccgggaagctggcaactggcgtgggtgaat
+caggaaacgccggcgttaccgcaagcggcgctggaatatgtcattgacggcgaccgtgaa
+tatcgtcaactagaagcgcagctacacgacgccaacgaacgtaacgacgggcacgccatt
+gcgaccattcatggcaagctggatgctattgacgcatggagtattcgctcccgtgctgcc
+agcctgctgcacggcctcggtttcagcaatgaacaactggagcgcccggtaagtgatttt
+tccgggggctggcgtatgcgtcttaaccttgcccaggcgctgatttgccgttcagacttg
+ctgctgctcgacgaaccgactaaccacctcgatctcgatgccgttatctggctggaaaaa
+tggctgaagagctatcagggcacgctgatcctgatctctcacgaccgcgacttcctcgat
+ccgatcgtcgataaaattattcatatcgaacaacaaagcatgttcgagtacaccggcaac
+tacagttcgtttgaagtacagcgcgccacccgtctggcgcagcaacaagcgatgtacgaa
+agccagcaggaacgcgtagcgcatctgcaaagttatatcgaccgtttccgtgccaaagcc
+accaaagcgaagcaggcccagagccgcattaagatgctcgagcgtatggagctaattgcc
+cccgcgcacgtcgacaacccgttccgctttagcttccgcgcgccggaaagcctgccaaat
+ccgttactgaagatggaaaaagtcagcgcgggctatggcgatcgcattattctcgactcg
+attaaactgaacctggtgcccggctcgcgtattggtctgttaggccgcaatggcgcgggt
+aaatcgacattaatcaaactgttagccggtgaacttgcgccagtcagcggtgaaattggt
+ctggcgaaagggatcaaactcggctacttcgcccagcatcaacttgaatacctgcgcgcc
+gacgaatcacctattcaacatctggcacgtttagcgccgcaggagctggaacaaaaactg
+cgtgactacctcggcggctttggtttccagggcgataaagtaaccgaagaaacgcgccgc
+ttctccggtggggaaaaagcccgcctggtgctggcattaattgtctggcagcggccgaat
+ctgctgctgctcgacgaaccgactaaccaccttgacctcgacatgcgtcaggcactcacc
+gaagcattaatcgagtttgaaggcgcgctggttgtcgtttcgcacgaccgtcatttgctg
+cgttccaccactgacgatctctacctggttcacgatcgtaaagtcgaaccgttcgacggc
+gatctggaagattatcaacagtggttgagcgacgtacaaaagcaggaaaaccagaccgac
+gaagcgccaaaagagaatgcgaacagcgcccaggcacgtaaagatcagaagcgtcgggaa
+gctgagctgcgtgcgcaaacccagccactgcgtaaagagattgcccgtctggaaaaagag
+atggagaagctgaacgcgcaactggcgcaggcggaagagaaactcggcgacagcgaactg
+tatgaccagagccgtaaagcggagttgaccgcctgcctgcaacagcaagccagcgccaaa
+tccggcctggaagagtgcgaaatggcatggctggaagcccaggagcagcttgagcagatg
+ctgctggaaggccaaagcaactgatggcgcagataacgacgaccgatgccaatgaattca
+gcagcagtgctgaattcatccccatgcgcggctttagcaattgtcatctgcaaaccatgc
+tgccgcgtctgtttcgtcgtcaggtgaaattcaccccgtactggcagcggctggagttgc
+ccgacggcgattttgtcgatcttgcgtggagtgaaaaccctgcacaggcgcaacataaac
+ctcgtctggtggtgtttcacgggctggaaggcagtctcaacagcccttacgcccacggtc
+tggttgaggcggcgcaaaagcgcggctggctgggcgtggtgatgcattttcgcggatgca
+gcggtgaaccaaaccgtatgcaccgcatttaccattcgggcgaaaccgaagacgccagtt
+ggtttttacgctggctgcaacgcgaatttggtcatgcgccaacggctgccgtcggctatt
+cgctcggcggtaatatgctggcctgtttgctggcaaaggaaggcaatgatctcccggttg
+atgcggcggtgattgtctctgcgccgtttatgctggaagcctgtagctatcatatggaaa
+agggcttttcccgcgtttatcagcgttacttgctgaacctgttaaaagccaatgccgcgc
+gcaagctggcagcctaccccggaacgctgccgattaatctcgcgcagttaaaatcggtac
+gtcgcatccgtgaatttgacgatctcatcaccgccagaattcacggctacgccgacgcta
+tcgactattatcgtcagtgtagcgccatgccgatgctgaaccggatcgccaaaccgacgc
+tgattattcacgccaaagacgatccgtttatggatcatcaggtgatcccgaaaccggaaa
+gtctccccccgcaggtggagtatcaactgactgaacatggcggtcatgttggctttattg
+gcggtacattacttcatccgcaaatgtggctggagtcacgcattcctgactggttaacaa
+cgtatctggaggcgaaatcatgttgattccgtggcaagacctctcccccgaaacgctgga
+aaatttaattgaaagctttgtgttacgtgaaggcaccgattatggtgaacatgagcgtac
+acttgaacagaaagtcgccgacgtcaaacgccagctacagtgcggagaagcggtgctggt
+atggtcggagctgcacgaaacggtcaatattatgccgcgcagtcagtttcgcgaataacc
+tgcaaccgtcggcggacgagataataatgatagctaagtcatggagttactatgtctgcc
+aaacatccggtcattgcggtaacaggatccagcggcgcggggaccaccaccaccagcctc
+gcgtttcgtaaaatattcgcgcagttaaatctgcatgcagctgaggtggaaggcgacagt
+tttcaccgttacacccgcccggaaatggacatggcgatccgcaaagcgcgcgacgccggg
+cggcatatcagctacttcggccccgaggctaacgacttcggcctgctggaacaaaccttc
+attgaatacggtcagagcggcaaagggaaatctcgcaaatatctgcatacctacgacgaa
+gccgtaccgtggaatcaggtaccggggacattcaccccctggcaacctttaccggaaccc
+actgatgtactgttttatgaaggtttacacggcggcgtagtcacgccacagcataacgtt
+gcgcagcatgtggacttactggtcggcgtggtgcctatcgttaaccttgagtggattcaa
+aaactgatccgcgacaccagcgagcgcgggcactcacgagaagcagtgatggactcagta
+gtgcgttcaatggaagactatatcaactacatcacaccgcagttttcccgcacccatctt
+aacttccagcgcgttcccaccgtcgacacttcaaacccgttcgcggcaaaaggtatcccg
+tcgctcgatgaaagctttgtggtgatccattttcgtaatctggaagggatcgatttcccc
+tggctgctggcgatgttgcaaggctcattcatttcccacatcaatacgttagtggtaccg
+ggcggcaaaatgggtctggcaatggaattaattatgctgccgctggtgcaacgattgatg
+gaaggaaagaaaatcgagtaactctgctattacgccggataaaatactatccggcttcac
+aacgggatagttaagtcacgcggcaaccacttcatacgagtgagtaatattcaccgcttt
+ttccagcatcaacgccactgaacaatatttctcggcagagagatcaaccgcacgcgcaac
+cgctgcgtctttcaggtcgcgaccggtgacgataaaatgcagattaatgtgcgtaaacag
+gcgtggtgcctcttcgcggcgttcagaggtcaattttacttcacaatcgaccacatcctg
+acgccctttttgcaggatcgaaaccacatcgatggcactgcaaccacccgccgccatcaa
+caccatttccatcggacttggtgctttatcgcctgagttgccgtccattaaaatctgatg
+accagaggcggattcgcccagaaaagttaacccttcgacccacttcactcgcgcttgcat
+ttttgctactccactgcgtcaattttcctgacagagtacgcgtactaaccaaatcgcgca
+acggaaggcgacctgggtcatgctgaagcgagacaccaggagacacaaagcgaaagctat
+gctaaaacagtcaggatgctacagtaatacattgatgtactgcatgtatgcaaaggacgt
+cacattaccgtgcagtacagttgatagccccttcccaggtagcgggaagcatatttcggc
+aatccagagacagcggcgttatctggctctggagaaagcttataacagaggataaccgcg
+catggtgcttggcaaaccgcaaacagacccgactctcgaatggttcttgtctcattgcca
+cattcataagtacccatccaagagcacgcttattcaccagggtgaaaaagcggaaacgct
+gtactacatcgttaaaggctctgtggcagtgctgatcaaagacgaagagggtaaagaaat
+gatcctctcctatctgaatcagggtgattttattggcgaactgggcctgtttgaagaggg
+ccaggaacgtagcgcatgggtacgtgcgaaaaccgcctgtgaagtggctgaaatttcgta
+caaaaaatttcgccaattgattcaggtaaacccggacattctgatgcgtttgtctgcaca
+gatggcgcgtcgtctgcaagtcacttcagagaaagtgggcaacctggcgttcctcgacgt
+gacgggccgcattgcacagactctgctgaatctggcaaaacaaccagacgctatgactca
+cccggacggtatgcaaatcaaaattacccgtcaggaaattggtcagattgtcggctgttc
+tcgtgaaaccgtgggacgcattctgaagatgctggaagatcagaacctgatctccgcaca
+cggtaaaaccatcgtcgtttacggcactcgttaatcccgtcggagtggcgcgttacctgg
+tagcgcgccattttgtttcccccgatgtggcgcagactgatttatcaccccgatatcaac
+tatgcacttcgacaaacgctggtgctatgtttgcccgtggccgttgggttaatgcttggc
+gaattacgattcggtctgctcttctccctcgttcctgcctgttgcaatattgcgggcctt
+gatacgcctcataaacgttttttcaaacgcttaatcattggtgcgtcgctgtttgccacc
+tgtagcttgctgacacagctactactggcaaaagatgttcccctgccctttttgctgacc
+ggattaacgctggtacttggcgtcactgctgagctggggccattgcacgcaaaattgctt
+cctgcatcgctgctcgccgccatttttaccctcagtttggcgggatacatgccggtctgg
+gaaccgttgctcatctatgcgttgggcactctctggtacggattgtttaactggttttgg
+ttctggatctggcgcgaacaaccgctgcgcgagtcactaagtctgctgtaccgtgaactg
+gcagattattgtgaagccaaatacagcctgcttacccagcacaccgaccctgaaaaagcg
+ctgccgccgctgctggtgcgccagcaaaaagcggtcgatctaattacccagtgctatcag
+caaatgcatatgctttccgcgcaaaataatactgactacaagcggatgctgcgtattttc
+caggaggcgctggatttacaggaacatatttcggtcagtttgcatcagccggaagaggtg
+caaaagctggtcgagcgtagccatgcggaagaagttatccgctggaatgcgcaaaccgtc
+gccgctcgcctgcgcgtgctggctgatgacattctttaccatcgcctgccaacgcgtttt
+acgatggaaaagcaaattggcgcactggaaaaaatcgcccgccagcatccggataatccg
+gttgggcaattctgctactggcatttcagccgcatcgcccgcgtgctgcgcacccaaaaa
+ccgctctatgcccgtgacttactggccgataaacagcggcgaatgccattacttccggcg
+ctgaaaagttatctgtcactaaagtctccggcgctacgcaatgccggacgactcagtgtg
+atgttaagcgttgccagcctgatgggcaccgcgctgcatctgccgaagtcgtactggatc
+ctgatgacggtattgctggtgacacaaaatggctatggcgcaacccgtctgaggattgtg
+aatcgctccgtgggaaccgtggtcgggttaatcattgcgggcgtggcgctgcactttaaa
+attcccgaaggttacaccctgacgttgatgctgattaccaccctcgccagctacctgata
+ttgcgcaaaaactacggctgggcgacggtcggttttactattaccgcagtgtataccctg
+caactattgtggttgaacggcgagcaatacatccttccgcgtcttatcgataccattatt
+ggttgtttaattgctttcggcggtactgtctggctgtggccgcagtggcagagcgggtta
+ttgcgtaaaaacgcccatgatgctttagaagcctatcaggaagcgattcgcttgattctt
+agcgaggatccgcaacctacgccactggcctggcagcgaatgcgggtaaatcaggcacat
+aacactctgtataactcattgaatcaggcgatgcaggaaccggcgtttaacagccattat
+ctggcagatatgaaactgtgggtaacgcacagccagtttattgttgagcatattaatgcc
+atgaccacgctggcgcgggaacaccgggcattgccacctgaactggcacaagagtattta
+cagtcttgtgaaatcgccattcagcgttgtcagcagcgactggagtatgacgaaccgggt
+agttctggcgatgccaatatcatggatgcgccggagatgcagccgcacgaaggcgcggca
+ggtacgctggagcagcatttacagcgggttattggtcatctgaacaccatgcacaccatt
+tcgtcgatggcatggcgtcagcgaccgcatcacgggatttggctgagtcgcaagttgcgg
+gattcgaaggcgtaatgcaggctaaaccatcggataaggcattcacgccgcatccgacat
+cttttgcctgatgcttcgtatttacgccccaaccaccttcgccaccgcgtgggcgaaacg
+ttgcatcccttcatcgatatccgcatcttccaccaccagcgacggtgcaaaacgcatcac
+atccggtccggcattcagcaccattacgccagcctctgcgcccgcatacaggaaatcacg
+cgcccgacctttgtactgtggtttcagctctgcgccaatcaacagccccataccgcgaat
+atcgctaaatacatcgtactgctgatcgatcttctgcagatggtcaacaaaacgctggcg
+tttcgcctgaatgccttccagcacttcaggggtattgatgatatcaaacgccgcccccgc
+tactgcacaggccagaggattaccgccgtaggtggaaccgtgagaaccaggatgaaacgc
+agaagcaatttccgccgtggtcagcatggcgctaatcgggaagccgccgcctaacgcttt
+cgcagaggtcagaatatccggcgtaacgccgtagtgcatgtaagcaaacaaatcgccggt
+ccgccccatcccgcactgcacttcatcaaacaccaataatgcctgatgttgatcgcacag
+ctcgcgcaagccctgcaaaaactctggcgtcgctgccgtcacaccgccctcgccctggat
+cggctcaaccaccaccgcacaggtgtgatcatccatcaccgctttcactgcatggagatc
+gttaaagggaacgtggatgatgtctgccggtttcggcccaaagccgtcggaatattttgg
+ctgcccacccaccgaaacggtaaacagcgagcgaccatgaaaagcgttatggaaggcaat
+aattttggttttgaacgggctatgacgcacacaggcgtaatggcgtgccagtttaaaggc
+ggtttcgttagcttccgtgccggagttcataaacaccacgcgttcggcaaacgttgcctc
+aatcagtttacgcccaagacgcagcgccggttcattggtgaaaacgttactgatatgcca
+cagagtttcgccctgggtttttaacgcgttcaccagcgcaggatggcaatggcccaacgc
+cgtaactgcaatgccacccgcgaaatcgacatactccttgccttgctgatcccagattcg
+gctgccctgaccttttaccggaataaactctgccggagcataaatcggcaggatcacttc
+atcgaaagtcgcgcgtgtaattgctgtttgttcaattgccatctcatgatcaccctgtta
+cgcataaacaaatgtgaaattataaccacaaaatatgcataaaaaatcactaaatggcaa
+tcagaaatcagcgatgcaggaaattagccagcagttgatgtccttgttcgctaagaatac
+tttctggatggaactgcacaccttccagatcccactggcgatggcgaatccccataatct
+ctcgggtttcgctccaggccgtcacgtcaaagcacgctggtaatgagtcaggttccacca
+ccagcgaatggtagcgtgtcacggtaagtggatttgccagcccccgaaatacgccctcac
+cgttatgtgtaatcggcgaggttttgccgtgcatgacctttgcggcgcgcacaactttac
+cgccaaatgcctgcgccattgcctgatgaccgaggcagacgccaagaatcggcaagcgcc
+cggcatagtggcgaataacgtcaagggagatcccggcttcatctggcgtacaggggccag
+gtgagatgacaattttttgtggtttaagggcgtcgatatccgccagcgtcaacgcatcgt
+tgcgcttaaccagcacatccgcccccagttcacaaaagtactggtagaggttccaggtaa
+aagaatcgtagttatctataagcaggatcatggcggctccggtacaaaagaaccgcgcta
+ttttactcagattccccggcttcgcttaccactttgctaaatatcatctgcagtgcggtg
+agatcccccattgccccactctgatttgcctgattccaggcctctttttcgataccctgc
+cagctcagttgatatccggcatgaatcgccagttgctcgaagaagatccgctgtgccaga
+ccacttcccacccggaagggatgcagcacgttgatttcacaatagtaatgcgccagccgc
+tcgacgaacttcgctttctccaggccaaccagataaccttcttcctccagatcctgcatc
+agggcattgccctctttttcgatataagcaaagtggcagaacggcgtatcaccctgataa
+atatcaacttcacgcagttgccctgcccagtcgaaaatatcctgatacagctggcgatgg
+atagttcgcaaatgcggtaaaccgcgcaccagcggaccaagctcaatggtcgcagcacgc
+agcgccgtcatttcgtaagcggcctgttccagccgctgctgctggcggatgttcagccgg
+ttacgcatgatatcaaggcctggataaagatacggatcgcgcccttcgccgaatttatcg
+ctcatagtgactcctcagctcttcaaggcgcgctaaagcctctgcggcagtaagagtgac
+taaaggcatctcgacgccttcaagacggcgactggcctgaaaattacgattacgctgaag
+ctcccagagacgggacttttgcttatcggtgagtttcttcacttgatgcctccctgaacg
+tgtccatttgccacaagtataagcggcaaatccgggttacgccgggagagcagaagcgcg
+ggcaagattgcccgcgcgagaaatcattacggcaggactttagcggaaaggataactacc
+ggttttgacggcacattctggtacggaccaacgtcatgagtcggcacctgggaaatctta
+tcggcaacgtccatgcctttcaccactttaccaaataccgcgtaaccgaaatcacgctga
+ccatggtcaaggaaggcgttatcggcaacgttgataaagaactggctggtggcgctgtct
+ttgtcagcggtacgtgccatcgcgatggtgccacgcgtgttgcgcaggccgttatcggct
+tcatttttgattggcgggtttggttttttctgctgcatctgctcggtgaaaccgccgccc
+tgaatcataaagccaggaatgacgcggtgaaaggtagtgttgttataaaaaccgctgttc
+acataatcgacaaagttttgcacagacactggcgctttttgtttatccagctccagttcg
+atgttaccagctgaggttgtcaacaatacgtgcgggtcccctttcgctgccattgctgcg
+ggagaaagagcagaaagagcgaaaacagcagccatcgccgccagggtcgatttgaacatg
+agatttccttaacaaacagagcagaaaaaaagcaagtgaagagattctaaatagccttca
+agaacaaggccatccctttacctaattttacgtatctgaaatatatgtaacctgacgatc
+actttttattccgtgatcaaaatcacctcttaaaatgcaatttagcaaccgattgcaata
+aaacatttaaacagatcacaaaatcacctaaaatcgcccgctcgcggcatatcccgctat
+gccattttatttttgaacgcaggccaatcatgactaacagcaatcgcatcaagctcacat
+ggattagctttctctcctacgcactgactggtgcgttggttattgtcaccgggatggtga
+tgggaaatatcgccgattatttcaatctgcctgtttccagtatgagtaataccttcacct
+tcctcaacgccggcattttaatctctatcttcctcaacgcctggctgatggaaatcgtcc
+cgttgaaaacgcagttacgttttggctttctcctgatggtgctggcggttgccggtttga
+tgttcagccacagcctggcgctgttctcggcggcgatgttcattctcggggtggtcagcg
+gcatcaccatgtcgattggtacattcctggtaacacaaatgtatgaagggcgtcagcgcg
+gttcccgcctgttatttaccgactccttcttcagtatggctgggatgattttcccaatga
+tcgccgcgtttctactggcgcgcagcattgagtggtactgggtttatgcctgcatcgggc
+tggtgtatgtcgctatttttattctgaccttcggctgtgagttcccggcgctgggcaaac
+atgcgccaaaaacggatgctccggtagagaaagaaaagtgggggatcggcgtactgtttc
+tctctgttgcggcgttgtgctacatcctcggtcagttaggttttatctcctgggtgcctg
+agtatgccaaaggcctgggcatgagcctgaacgacgcgggcacgctggtgagtaacttct
+ggatgtcatacatggtcggcatgtgggcgttcagctttattcttcgcttctttgatttgc
+aacgcattctgaccgtactggctggtctggctgcgattctgatgtacgtctttaacaccg
+gaacaccagcacatatggcgtggtcaattctcgctctgggcttcttctccagcgcgatct
+ataccaccatcatcaccctgggttcacagcagaccaaagtaccgtcgccaaaactggtta
+actttgtcctgacctgcggaaccatcggtactatgttgacctttgtggttaccggcccga
+tcgttgaacatagcggtccgcaggcggcactgcttacagcaaacggtctgtacgctgtcg
+tctttgtgatgtgcttcctgttaggtttcgtcagccgtcaccgtcagcataacaccctga
+cctctcattaattgctcatgccggacggcactatcgtcgtccggccttttcctctcttcc
+cccgctacgtgcatctatttctataaacccgctcattttgtctattttttgcacaaacat
+gaaatatcagacaattccgtgacttaagaaaatttatacaaatcagcaatatacccatta
+aggagtatataaaggtgaatttgatttacatcaataagcggggttgctgaatcgttaagg
+taggcggtaatagaaaagaaatcgaggcaaaaatgagcaaagtcagactcgcaattatcg
+gtaacggtatggtcggccatcgctttatcgaagatcttcttgataaatctgatgcggcca
+actttgatattaccgttttctgtgaagaaccgcgcatcgcttatgaccgcgtacacctct
+cgtcttacttctctcaccacaccgccgaagagctgtcgctggtgcgcgaaggcttctacg
+agaaacacggcatcaaagttctggtcggcgaacgcgctatcaccatcaaccgtcaggaga
+aggtgattcactccagcgccggacgtaccgttttttatgacaagctgatcatggcaaccg
+gttcctacccgtggatcccgccaatcaaaggttctgatactcaggactgctttgtctatc
+gcactattgaagacctcaacgccattgaatcctgcgcccgtcgcagcaaacgcggtgccg
+ttgttggtggcggcctgttaggtctggaagccgcaggcgcgctgaaaaacttaggtattg
+aaacccacgttatcgaatttgcccctatgctgatggcagaacagcttgatcagatgggcg
+gcgagcagctgcgtcgcaaaatcgaaagtatgggcgtgcgcgttcacaccagcaaaaaca
+cccttgagattgtgcaggaaggtgttgaagcgcgtaaaaccatgcgttttgccgacggca
+gcgaactggaagtcgactttatcgtcttctctaccggtatccgtccgcgcgataagctgg
+caacccagtgtggtctggacgttgctccgcgtgggggtattgtcattaatgattcctgcc
+agacttccgatccggatatctacgccatcggtgaatgcgcaagctggaacaaccgtgtat
+ttggtctggtagcacctggctacaaaatggcgcaggtcgccgttgaccatattctcggta
+gcgaaaacgcctttgaaggtgctgaccttagcgccaagctgaaactgctgggcgtagacg
+taggcggtattggtgatgcgcacggtcgcacgcctggcgcacgtagctacgtttacctcg
+acgaaagtaaagagatctacaaacgcctgattgtcagcgaagacaacaaaaccctgctcg
+gtgcggtactggtgggcgataccagcgactacggtaacctgctgcaactggtgctgaacg
+ctatcgaactgccggaaaacccggattccctgatcctgccagcacactcgggtagcggca
+agccgtctatcggtgttgataaactgccggacagcgcgcaaatctgctcctgcttcgacg
+tcaccaaaggtgatctgattgctgccatcaacaaaggctgccacacagttgcggcgctga
+aagctgaaaccaaagcgggtactggctgcggtggctgtatcccgctggtcactcaggtac
+tgaacgcggaactggcgaaacagggcatcgaagttaacaacaacctgtgcgaacactttg
+cttattcgcgtcaggaactgttccatttgatccgcgttgaaggcattaaaaccttcgaag
+aactgctggcgaaacacggcaaaggctacggttgtgaagtttgtaaaccaaccgtcggtt
+cgctgctggcctcctgctggaacgaatacattctgaagccggaacatactccgctgcagg
+attctaacgacaacttcctcgctaacatccagaaagacggcacctactcggtgatcccgc
+gttctccgggcggtgaaatcaccccggaagggctgatggcggtaggtcgtatcgcgcgtg
+aatttaatctctacaccaagatcactggctcccagcgtctggcgatgtttggcgcacaga
+aagacgatctgccggagatctggcgtcagctgattgaagccggcttcgaaaccggtcatg
+cctatgcgaaagcactgcgtatggcgaaaacctgcgtgggtagcacctggtgccgctacg
+gcgttggcgacagcgtcggcctcggcgtggaactggaaaaccgctacaaaggcatccgta
+cgccgcacaaaatgaagttcggtgtctccggctgtacccgtgaatgttcagaagctcagg
+gtaaagacgtgggtattatcgccactgaaaaaggctggaacctgtatgtttgcggtaacg
+gcggcatgaaaccgcgtcatgcggatctgctggcggcggatatcgatcgcgaaacgctga
+tcaaatatctcgaccgcttcatgatgttctacatccgtactgccgacaaactgacgcgta
+ccgcaccgtggttagaaaacctcgaaggcggcatcgattacctgaaagcagtgatcattg
+acgacaaactggggctgaacgcacatctggaagaagagatggcgcgcctgcgtgaagcgg
+tactgtgtgagtggactgaaacggtcaatacgccgtctgcgcagactcgcttcaaacact
+tcatcaacagcgacaagcgtgacccgaacgtgcagatggtgccagagcgcgaacagcacc
+gtccggcaacgccgtatgaacgtatcccagtaactctggtggaggacaacgcatgagcca
+gtggaaagacatctgcaaaatcgatgacatcctgcctgaaaccggcgtctgcgcgctgtt
+aggtgacgagcaggtcgcgattttccgcccgtatcacagcgatcaggtgtttgcgatcag
+caacatcgacccgttcttcgagtccagcgtgctgtcacgcggactgattgcggaacacca
+gggcgagctgtgggtcgccagcccgctgaaaaaacagcgttttcgcttaagcgacggctt
+gtgcatggaagacgaacagttttccgtcaaacattacgaagcgcgagtgaaagacggcgt
+ggtgcagctgcgcggttaatgttttaacgggaggcgcaatgcctcccctttttgcatggt
+cctgtaataatcttcggtatattgcaggacattttttaaactttttgttttattttttgt
+ttttattttttaaaggataatcaaatgtttacagacactattaataagtgtgcggctaac
+gctgcgcgcattgcacgcctgtcggcaaataacccgctcggcttttgggtcagctccgcc
+atggcgggcgcgtatgtgggtcttgggatcatcctgattttcacgctcggtaatttgctc
+gatccatccgtacgccctttggtgatgggcgcgacctttggtatcgccttaacgctggtg
+attatcgccggttctgaactgttcaccggacacaccatgttcctcacctttggggtaaaa
+gcgggcagcatcagccacgggcaaatgtgggcaatcctgccgcaaacctggctgggtaac
+ctggtcggttccgtcttcgttgccatgctctatagctggggcggcggtagcctgctgccg
+gtagataccagcatcgttcactccgtcgcgctggctaaaaccactgcaccggcaatggta
+ctcttcttcaaaggtgcattgtgtaactggctggtttgcctggcaatctggatggcgctg
+cgcactgaaggggcggcgaaatttatcgctatctggtggtgtctgctggcatttatcgcg
+tccggctacgagcactctatcgctaacatgacgctgttcgcgctctcctggttcggcaac
+cacagcgaagcctacacgctggcgggtattggtcataacctgctgtgggtgacgctgggt
+aatactttatcaggtgccgtattcatgggattgggttattggtatgctacgccgaaagcg
+aatcgtccggttgcggacaaatttaatcaaactgaaacggctgccggttaattactaagg
+ggtttttacgtggatcatttgcctatattttgccaattacgcgatcgcgactgtctgatt
+gtcggcggtggtgatgtcgcggaacgcaaagcaaggttgctgttagacgcaggcgctcgc
+ttaacggtgaatgcattagcgtttattccacagttcaccgcatgggcagatgcaggcatg
+ttaaccctcgtcgaagggccatttgatgaaagccttctcgacacctgctggctggcgatt
+gcagcgacggatgatgacgcgcttaaccagcgcgtcagcgaagccgctgaagctcgtcgc
+atcttctgtaacgtggtcgatgcgccgaaagccgccagctttattatgccgtcgattatt
+gaccgctcaccgctcatggtagcggtctcctctggcggcacctctccggttctggcacgc
+ctgttgcgcgaaaaacttgaatcactgctgccgttacatctgggccaggtagcgaaatac
+gccgggcaattacgcgggcgagtgaaacaacagttcgccacgatgggtgagcgtcgccgt
+ttctgggagaaattgttcgttaacgaccgcctggcgcagtcgctggcaaacaacgatcag
+aaagccattactgaaacgaccgaacagttaatcaacgaaccgctcgaccatcgcggtgaa
+gtggtgctggttggtgcaggtccgggcgatgccgggctgctgacactgaaaggactgcaa
+caaattcagcaggcagatgtggtggtctacgaccgtctggtttctgacgatattatgaat
+ctggtacgccgcgatgcggaccgtgttttcgtcggcaaacgcgcgggataccactgcgta
+ccccaggaagagattaaccagatcctgctgcgggaagcgcaaaaaggcaaacgcgtggtg
+cggctgaaaggtggcgatccgtttatttttggccgtggtggcgaagagctggaaacactg
+tgcaacgcgggtattccgttctcggtggttccgggtattaccgcagcttctggttgctct
+gcctattcgggtattccactcacgcatcgcgattatgcccagagcgtacgcttaattacc
+ggacacttaaaaaccggtggcgagctggactgggaaaacctggcggcagaaaaacagacg
+ctggtgttctatatggggttgaatcaggccgcgactattcagcaaaagctgattgaacac
+ggaatgccaggcgaaatgccggtggcaattgtcgaaaacggtacggcagtcacgcagcgc
+gtgattgacggtacgctcacacagctgggagaactggcgcagcaaatgaacagtccatcg
+ctaattattattggtcgggttgttggcctgcgcgataaactgaactggttctccaaccat
+taatttaacccgggccagagaattctggccttcttaatgactctttttatatattcagca
+aataaaacatagccccttaataaatattatctgctaatgggttatattcaccgttacagc
+gacttacaaaattaagtcattcgctcactgacgccaattaaatattcctgtatcgttctt
+aacgagcagtctgcttatattcatataatcaatgaatattaattaatatataatacatag
+ggaatgtaaatgaacaaatttattaaagttgcactggtaggtgcagtactggctacgtta
+actgcatgtactggtcatattgaaaaccgtgataagaactgctcttacgactacctgctg
+cacccggcaatttctatttctaaaatcattggcggttgcggtcctactgcacagtaagtc
+tctgacagaaatcggctaacaccggtttaattgcccgacgccctctggattttccgaggg
+cgtatttgtttctatgtccttcttgcccccgcccgtaaaaatattttcactttaaattca
+atttgataactacatccattagccacagcgcgatcctgtgcgaaattttgtgatcttcct
+ccacattacataacatcatatgttgttatattcatcatgcattgtcatgttaccttttaa
+atgactgcaaactctcccctacaacgtattggacaagaaaaaggtatcgctatgggaagc
+caggaactccaacgcaagctcggattttgggccgttcttgcaatcgccgtcgggacaacc
+gtcggctccggtatttttgtatctgtgggtgaagtggcaaaagcagcgggcacgccgtgg
+cttacggtgctcgcgtttgtcattggcgggttaattgtgatcccgcaaatgtgcgtctat
+gcggaactatccaccgcttatccggaaaatggcgcagattatgtttatctgaaaaatgcc
+ggaagccgaccgctggctttcctctccggctgggccagcttctgggccaacgatgcgccg
+tcattgtcgattatggcgctggcgattgtcagcaatcttggctttttaacgcctatcgat
+ccgttgctcggtaaatttatcgccgccggattaattatcgcctttatgttgctacacctg
+cgctccgttgaaggcggcgcagcgtttcagacgctaattaccatcgccaaaattatcccg
+ttcactatcgtcattggccttgggatcttctggtttaaagcggagaattttgccgcccct
+accaccactgcgattggcgcaacgggcagctttatggcgctgctggcggggatctctgcc
+accagttggtcgtataccggcatggcctctatctgttatatgaccggcgaaattaaaaac
+cccggaaaaaccatgccacgagcgctgattggttcctgtctgctggttctggtgctctac
+accctgctggcgctggtgatttccggcctgatgcccttcgacaaactcgccaattctgaa
+acgccgatttccgacgccctgacctggatccccgcactcggcagcaccgctgggatcttt
+gttgccatcacggcgatgatcgtcattcttggttcgctttccagctgcgtgatgtaccag
+ccgcggctggaatacgcgatggcgaaagacaacctgttctttaaatgcttcggccatgtg
+catccgaaatacaacacgccggatgtctccatcatcctgcaaggggcgctggggatcttc
+ttcatcttcgtttccgatctcaccagcctgctgggttatttcaccctggtgatgtgtttc
+aaaaataccctcaccttcggctccatcatctggtgtcgtaaacgcgacgattacaaaccg
+ctgtggcgtactccggctttcgggctgatgaccaccctcgccattgcgtcaagcctcatt
+ctggtcgcctcaacctttgtctgggcaccgattcccggccttatctgcgccgtcatcgtt
+attgctactggtctgcctgcttacgccttctgggcgaagcgtagccgccagctcaacgct
+ttgtcgtaatgttatctggagaaaataaaatgttggatattgataaaagcaccgtggact
+ttctggtcaccgaaaatatggttcaggaagtggaaaaagttctcagccatgacgttccgc
+tggtgcacgccatcgtggaagagatggtgaagcgcgacattgatcgtatttatttcgttg
+cctgcggatcgccactcaacgcggcgcaaacggcgaaacatctggcggatcgcttttccg
+atcttcaggtctacgccatttccggctgggagttctgcgataacaccccgtatcgcctcg
+acgatcgttgcgcagtaattggcgtttctgactacggtaaaaccgaagaggtaatcaaag
+cgctggagctgggccgggcctgcggcgcactcactgcggcgttcaccaaacgcgcggata
+gcccgattacctcggcggcggaatttagcattgattatcaggccgactgtatctgggaaa
+ttcacctgctgctctgctacagcgtggtgctggagatgatcacccgcctcgcgccgaacg
+cggaaatcggcaagatcaaaaacgatctcaagcagttgccgaatgcgctcggtcatctgg
+tacgcacctgggaagaaaaaggccgccagcttggtgaactggccagccagtggccgatga
+tttataccgttgctgcgggtccgctgcgtccgctgggttacaaagaaggcattgtaacgc
+tgatggaatttacctggacgcacggctgcgtgattgagagcggagagttccgccatggcc
+cgctggagattgtcgaaccgggcgttccgttcctgttcctgctcggcaatgatgaaagtc
+gccacaccaccgaacgcgccattaactttgttaaacagcgtactgacaacgtgatcgtca
+tcgattacgccgaaatttcgcaagggctgcacccgtggctggcaccgttcctgatgttcg
+tgccaatggagtggctctgctactacctgtctatttacaaagatcacaacccggatgaac
+gccgctattacggtggtctggtggaatattaatccctctcccggcccggcaacgggccgg
+atttacgcaaggagttacccgatgaaaacaggtatgtttacctgcggccaccagcggctg
+cctattgaacacgcatttcgtgatgcaagcgagctgggttacgacggcatcgaaatttgg
+ggcggtcgcccgcacgcgttcgcgccggacttaaaagcgggcggcatcaaacaaatcaag
+gcgctggcgcagacgtatcagatgccgattatcggctatacgccagaaaccaacggctat
+ccgtataacatgatgctgggcgatgaacatatgcgtcgcgaaagcctcgacatgatcaag
+ctggcgatggatatggcaaaagagatgaacgcgggttatacgctgatttccgcggcccac
+gcgggctatctcacgccacctaatgttatctggggacggctggcagagaacctaagcgaa
+ctgtgtgagtacgcggaaaacatcggcatggatctaatcctcgaaccgttaacgccgtat
+gaatcgaacgtcgtgtgtaatgctaatgatgtgcttcatgcgctggcgctggtgccttcg
+ccgcgcctgttcagcatggtcgacatttgcgcgccgtatgtccaggcggaaccggtgatg
+agttatttcgacaaactgggcgataaattacgtcatctgcatattgtcgacagcgacggg
+gccagcgacacgcattacattcctggagaaggcaaaatgccgctgcgggaactgatgcgc
+gatattattgagcggggctatgagggttactgtacggtggagctggtgacgatgtatatg
+aacgagcccagactctatgcccgccaggcgctggaacgctttcgcgcgctgctgccggag
+gatgagagatgaaaaccctggcgacaatcggcgataactgcgtcgatatctacccgcaac
+tgaataaagcgttttctggcggtaatgcggtcaatgtggcggtgtactgcactcgctacg
+gcatacagccgggatgcattacctgggtgggtgacgatgactacggcacaaagctgaagc
+aggatctcgcccgcatgggcgtcgatatcagccatgtccatacgaaacacggcgttaccg
+cacaaactcaggtggaactgcacgacaatgatcgcgtttttggcgactacaccgaaggcg
+tgatggccgactttgccctgagtgaagaggattacgcctggctggcgcagtatgacattg
+tgcacgcggcaatctggggacatgcggaagacgcattcccacagctgcacgctgcgggca
+aacttaccgctttcgacttctccgacaagtgggacagcccgctctggcagacactggtgc
+cgcatctcgattttgcctttgcctccgcaccgcaagaagacgaaacgctgcgtctgaaga
+tgaaagcgattgttgcccgtggcgcaggaacagtgattgtcacgctgggtgaaaacggca
+gcattgcctgggatggcgcgcagttctggcgtcaggctcctgaaccggtgacggttatcg
+acaccatgggtgccggagattcgttcattgccggattcctttgcggctggtctgcgggga
+tgacattaccgcaggcgatagcgcagggaacggcgtgcgcggcgaaaaccattcagtacc
+acggtgcctggtaggtataacgttggcgtgagcatcttcacgccaacgtgctgttacttg
+ccggaaaacgaccctataatccgagtaattcattctttatttcagggtcgattatgtcag
+ctacggaccgctactctcatcaactcctctacgctaccgtccgccagcgactgctggatg
+atatcgcgcagggggtttaccaggccgggcaacagatccctaccgaaaacgagctttgta
+cacaatataacgtcagccgcattaccattcgcaaagccatcagcgacttagtggcagacg
+gcgtactgatccgctggcagggaaaaggcacctttgtacaaagccagaaagttgaaaacg
+ccctgcttactgtcagtggttttaccgattttggcgtctcacaaggcaaggcgacgaaag
+agaaagtgatcgaacaggaacgggtcagcgccgcgccgttttgcgaaaagctgaacatcc
+ccggaaacagcgaagtgttccatctctgccgggtgatgtatctcgataaagagccgctgt
+ttattgatagttcatggatcccgctgtcgcgttatcctgactttgatgagatttacgtcg
+aaggaagctccacctatcagttatttcaggagcgttttgacacgcgagtggtcagcgaca
+aaaagaccatcgatatctttgccgccacccgcccgcaggcaaaatggctgaaatgcgaac
+tgggcgaaccgttgtttcgcatcagcaaaatcgcctttgatcagaatgacaaaccggtgc
+acgtctccgaactcttctgccgcgccaatcgcatcaccttaactattgataataaaagac
+attaaccgtaggccggataagatgcgccagcatcgcatccggcgatgctggcgcgttgaa
+ttttacatcccgtacgttcccctcaccctaaccctctccccaaaggggcgaggggaccgt
+tcagtacggaatttagcttgacggtgctatccagcattaaatactggcaatactctcacg
+caaaatccgcagcaccgtctcttcaccgctgcgattcgggttaatgcgaatcgcacaatg
+ttctgattgtggattcgcctggcgaaacgttccggaaaggcgataaaagagcggcgggat
+ttcatatttcgactctgcacccaccgggtaaggcaaggcaccgcgcttttgcgcctcttc
+cagcactctggcggcaatcggctgatgaaactcgacaatcaacaccttcgactgcgcatt
+agcaatcaccgcgcttttcacttccggcaccgcaccaccgttaagcaaagccagcaaccg
+ttcagatacccctgcctgcaccgcgtgcatcactggcgcaaacaccagaccacgcaatac
+ttccagcgcctgtgcgccctggatctggctaccgccggagtaaagcgtggcgcgaatacg
+gttgataacatcagcatcgccgaccactgcaccaacaccctctggcccaaatagcttgaa
+gcaggaaaatgtcgagacattcgcgccgcattcacagccgattcgagccaccttcatcac
+cgcatagttgtcatcggttaacgctggaacacctgccgcgcgcaacgttgccagcacatc
+tgccagcacgtagctgtcctgcggctgctggcgcgtatgctgcaccagcgccgcatccgg
+ttgttgctcgtcgacgacctgcttcagtgccgacaggtcattgaaatcaacagtaataag
+cgtcagccccatctgctcaataataacccgtgtcgtcgggtaaacaggcgcgtcatgcac
+cagaagacgctgccccggtttgagcaaagccgccagcccggcgcgaatcgcgccagtccc
+cgcgccctgcaccagcgccgcagcctgtgcgtgaaatgcatcagccagcacctgttccac
+acgctgggtaacgcgcggttgattcagtcctggcgttaagcctaaatcaccgccagtaag
+aaactcgctgccggggaaatggcgacaaatgctatccaccagcgcaaactgcttttgctg
+cgcctcaataatcgtcaggctttgcagaggaaacgtcttcataggtgccttccttaagcc
+ggaacgaacaggccaagccagtaaagaacattcagcagaataccggtgatcattactgcc
+acgaccggtgccgccattttctgtaccggacggcccagggattcgttgaggaagtaaatg
+gcaaccgcgatagagaatccggtataacccgccatcttaattgctgcgaaaatcgaaccg
+accagcagcgccacttccatcagcatattcatggcgttacggatgttatccgacgcatta
+cgcaccgacgggtagcgtcccagccatttgccgatcgaacgaagcagcaagacttccgcc
+gaaataaccactgcgcctaataccgctgcaaccatcggattcggcgagagatagtccacc
+gcataaacaaaggtaaagcccgcaactgcatacacacccgttgctaacgcggtggtggca
+atcaacggcacaaaccccagtccgcgcataaattctgccagagccgcctgattaatcagc
+gtttgcgattgttccggcgttacgcctgcggaatatgctttctccagtgtgaagatcgac
+acttcactgccagcaaaaatcttcatgctggcaacggcggcaatcaatgctcccacgatg
+gcgatatagggtaagtttttgataatccgtgacgtgcgttcttcaaacaccgaaagcccg
+ctggcatcaatgtcattttcatcacgatgacgcaggtcgtgagttatcgcgatccccagc
+agcatcaccatgccaataaagatttcgatggattcagggttaagatgtgggaaatagcgc
+acgactaccacacgggtcatcagtaccaccacggcggcgatcagactttgcttccagcca
+aactggtagaaaatcgccaccagcgggaacagtgcaaaagctgaaaccaccggcgagctt
+aattcccccaggctacctaatacatccaccggcagcgcggtcagcagctggtttactggc
+aacaggcaagtaaggatcaacacgccccagatagcgccaagaccaaacgccatcaggctg
+tttatcgccaggacgccgaggatatcggtaggaagaaagagtaaccatgcgttgagcagc
+ccggttttcagggtaaaagagatccccaccgaggccacaaaaccaatgctcagaccaaaa
+gcgatactccccgcctcgcgacggttcatatagccttcaatcagttgcggcaggatcggg
+cggatgccgtcatgaaaaacagccgccgagcgatgcgccagaagcgatgtcatacccgtc
+aggcacgccaccacgataatctgaatatacagatccatagtcgtgccttttatttcagat
+ggttaatcagcatcggaatcgcgtgttcgacgtgctcaacggaaaggccaaacgccactt
+ttccttcagcgatcattttggcgatatgctcgtctttcgctttaatgcctggtttggcaa
+tggtgcaacttttgttatagcctatcaccgcgatggcaatcgacaatgccgcgcccgcac
+cggtattacacgcgccgatgtaataatccagttgcccggatttcaccttcattgccgctt
+ccatgtcgttgtgaatgaaaacttcaaaacagccaggagccgtcgcttcaatagtttttt
+taatctgctcacgctgtaagcctgcaacgccaatctttttcatgagtctgtccttattgg
+aaaaattgagagggattttcacgtaacatcacatccacatcggcctgactgaatcctgac
+tggcgcaattgcggaataaaggtggttagtaaatagtcatagccataaccaccgttggct
+tttaaatgggagcggcgcgtaatatccatcgacagcatgacgcggttcagcaacccacgg
+tcgcgtagcgcatgaagcatcgcaatacgcttttcgtccgggtagtaactgttcttgccg
+atggtgtcgaactgcacgtacgcgccgagatcgatcatcttcaaaatgttgtcgaggttg
+tctttcagatcgcagtgaccaacggtgacgcgcgaaagatcaaccccgtgggcttgtagc
+aacgccagttgctccagccccatcgtgctgaacgacgtatgcgtggagatcgggcgtccg
+gtctggttatgcgccagcgcagcggcaataaataccttctcttccagcggcgtaatcttt
+ccttcgctggtgccgatctccgcgatgatcccggctttcagctccgtgccatcgataccc
+tgttcaatttcatcgaccatctcctgcgccagttcctgcacgctgcgggtcgccacatgt
+tccgggaaaaacgcgtcctggtaataaccggtacaggccaccacgttgatccccgtctcg
+cgcattacatcaagcataaattgcgcattgcgccccatgtaacggttggtcatctcaatc
+acattacgcacgccccgggtcatcaggtcgttcatctcctggcaaatgaacgcatactga
+tcaaggcggcagtccacgttgtttttaaagccggagagatcaatatgcagatgctcatgg
+gcgagggtgtaacccgtcggatcaaaactcatagggtgtctcctgcaaaccggagggagg
+aaagaaaagagcgaccattttgtggcggtggcgcgcggaaaaattcacacacggtagccc
+ccacatcagaaagcgtggtgcgcacaccgagctgcgtagcgatcatcccttgctgataaa
+ccagcactggcaccacttcgcgggtatggtggctgtgaccaatggtcggatcgttgccgt
+gatccgccatcacgaccaggcaatcatctggctgcatcgcctcaacaagccgggcaaggt
+tacggtcaacgacctgcaaacgttcggcataacgtgcgacgtcttctgcatgaccagcga
+ggtcggtttcctgaatgttggtgcaaataaacgccgtcggatgggtgttaaattcgttga
+gggtgatatccataatccgctggctatccaccagattttgccagctcacgccataaggat
+tgttgacgatatctgccaccttacccaccagcacggttggcacgcctgcttcatacagtt
+tttgtggcacctgcactttttcatcgacgccatagcccatatgcacgacctggaaaccgt
+tgtcataagcgccagaacgcggcgcattgataccaataaagcgcccttctttgctttctg
+cggcatcgagaatgcgttgactgtcggttaacaggccaccaaatgtaatgacccgaccga
+cctgtacctgctcacgcacgatacgaccaattttgattgcgtcgtcaaaagagatcacag
+agagattggcggtaatgttatagacctggcctaaatccgcctcgagattatcgccaatcg
+caaccgcctgattgacccacagaaattgcagatcatcgccacggcgctccacctgccagc
+cagcggaaactaatgcctgctcaacacggtcaatcacatcgcgaaaaggcatccgcagcg
+gcggtaacgggcgcgtgcctaaaatttcctgatgccccataaaggtatcgccaccttcat
+gttgcagctctgccacgccccaggttgcggaatctgacggctgcatatcgcctggcgcat
+aacccaatgcgttgattagccccagcgtctccagcgttggtagctgcaaatgcggcaact
+ggctcaggatgtgaccacatgtattcgctcccgcatcttgcggacgcaccagcgtgacat
+ctttcattgcccctacgccaaagctatcaatcactaacaccacaaatcgcgccattacgc
+ccccagagagtttccaagactgtcataacgaccgacgatttccggttcgccacgatgaat
+accggacaccagcaccacatcgctacgggtgacaaaaatctgcgtgcgaaaacagagcac
+cactgcactgcttaccggaaactcgcctgccagcggcagggtgtagtcgatactgctgtc
+atccacagttttgagattggtttcagtaatcttttgattttctggcgtaaacaccaacgc
+atgttgcgcatgaccacgacgatagtaaccgccgccgtagcagtagctgtcgccacggaa
+atgatgggagatttcacttaaccagagcatcgcgatacgttcaggctgatcgccctgctg
+gtttgccggaatagtgcccgtcagcgcatgaccgggttcggcatgagtcacaccgtattg
+cgccagtaatggcagcgaagtgcagctggtcgctgaaggcgcgttcagttgctcaagtgc
+aataccagatttcgccagttgatcccgtgcctgtatcagcgtgtgaagattcggtgtcgg
+caaaacttttccgacagcctcatcccaaagcaggcaagggaaatgggtaagtccggctaa
+atgcagccctggcagattctggatttcggcgacaatctccggcaacaccttgagggcaaa
+accgctctcctggcccggataaagaaaatcatcgtcgctataaactttaagcagcacaga
+ctggattcgcccggccttcaccgccgccgcagaaacttcccgcgctttgtcgagagtaaa
+cacggtgatgacgtcggtgccctgttcaacggcgtcagcaacctgatgacaagggatttg
+taccagatgcccctgatgcgccacaggcaaaccagcgcggcgcatgactcgcgcctcttt
+gtaatccaccgccacaatgccgctgtagcctaatgccagcaatttttccgccagccacgg
+attacgaccaaactgcttggtcatcagatacagttcaatgccgtaaagccgcgccgtctc
+aatcagccgcttaccgttttccagtatctgatccacgtcgatcacccagctgtccggggc
+gatcttgccctgctgccacaggcttagtgcggcggaaatcagcgccgggttctggcgttt
+caatgcttctacaaacatcttgttgcctcgtttctgttccttgaattaaatattcatttt
+tttgaatatttaggttgtgcgacgtggatttgtcgggagcttcaaacctcttcgttagca
+gccatccataatccataaaggttggccagcaaatagccttcttcacacgggttaacttcc
+agtgcgaattccttcaacaacacctgatgcaattgcacaacggcttgccagtggctggat
+tgcgccagttctgccagcaactcgttatccagcggctctatttcttcaccacggcgactg
+cgcatcagtgcactcgccatatgtgtcatcgccatcgttccttgctcactgcgcaccggc
+agatggcactctgtttccagtacgttgacgacctgcatcatgcctttgcagatgtcctta
+tcaataacgcctgcctcgcaaagcaggttgagtctggtttccatatcagatgcctttcgt
+ttaataactcggttcctgttccccactcactacccgttgttgatgggcgagcagggcgtg
+tttatctacaacggcacgcagcagttgttgcattgggtaatcatcgactcgcgtcaggac
+cacggcttcggtggcctgtaaaaatcgcggatcgtctgtgagcggcgtcgcctctaatcc
+cagcatggtcagttcgttttccgccaccacgttccagatcaccgcatcgacatcgccttt
+aacaatgcgttgtaaactctcgtgataagagagatcgactcgttccacatcactaccgcc
+aaaaaaaacatcggtcatgattttctgatccgccgaacggttatccagccccacgcgctt
+cacgtttgcggactcgcctttacggcaaatcaactggtgctcgccaacgtaggtgtgcgg
+ccccaactccagcgcgaggcataagcctttttgcgtgagataactttccgccgctagtcg
+cgaaaccaccgccatgtcatacacgccattaagcagacactccacgcgaatatccgcgcc
+acgcatgtgcgcatagtaaaaaggaatgccatcaaactgggctttcaatccgctcgccag
+gccttcgtacaaacgggtatagggcaagggcattgcacataccacgttgttgatatccac
+atgagtcagcaatgctttgttatccatctcgaccagataactgccattgcgcccacggcg
+ttcaatccgtatcgctccgcttgattccagcgttttcaacgcggcctgcgtcaggccaac
+ggatgaacggcattcatttgccagctcatctatggttttcaatcgattaccgcacttttc
+acccaacaaataacgggccagcgtcgtgatgacgacgccttcttttttgataaacgttcg
+acgcataataaattttcagtaaattgaatatttatatcttcaggaatttgaagataaggc
+gcaacagcgagatgtggaaacggcgaggcacttcacattttttcggattattgcaaatga
+ggataaaaaaaccgggtttccccggtttcagagtgatgataaaagcaaaattgcctgatg
+cgctacgcttatcaggcctacatttccttgcaatatgtgcattactttgtaggccggata
+aggcgttcacgccgcatccggcatgaacaaagcgcaatttgccagcaatagtgaattacg
+gcttcgccacaaaaccaatcgcttcgtacaccgcttttagcgtacgggaagcgtgcgcgc
+tggctttttccgcgccatctttcatcacctgttgcaggaaggcttcatcgttgcggaaac
+ggtgatagcgttcctgcaattcagtcagcataccggaaacggcatcagccacttcacctt
+tcagatgaccatacatcttgccttcgaactgtttttccagttctgggatgctctggcccg
+ttaccgctgaaaggatatccaacaggttggaaacgcccgctttgttctgcacatcgtagc
+gaactaccggcggctcgtcggagtcagtgaccgcacgtttgattttcttcactaccgatt
+tcggatcttccagcaggccgataacgttattgcgattatcgtcagacttggacatcttct
+tggtcggctccagcagcgacattacgcgcgcgccagatttcggaataaacggctccggca
+ccttaaagatctcgccatacagcgcgttgaaacgctgggcaatatcgcggctcagttcga
+ggtgctgtttctggtcttcacccaccggtaccagattagtttgatacagcaggatgtccg
+ctgccatcagcaccggatagtcaaacagaccagcgttgatgttctcggcataacgcgcag
+atttatctttaaactgcgtcatgcgactcagttcgccgaagtaggtatagcagttcagtg
+cccagcctaactgtgcatgttccggcacgtgggactgaacaaaaatggtgcttttctcag
+gatcgataccacaagccagatacaaggccagcgtatccagcgtcgctttacgcagcttct
+gtgcatcctggcgcacggtgatcgcgtgttggtcaacgatacagtaaatgcaatggtagt
+catcctgcatgtttacccactgacgcagcgcacccatgtagttaccaatggtcaattcac
+ctgagggctgtgcgccactaaaaacgatgggcttagtcatttttcgattcctgattttcg
+ctatgcggaagccctaatgcgggcagaaggtcatttatagactgataaattacatcaggc
+tggctgagatcgatagcctcgccgtagttatatccgtaggttaagccaactgatgggcaa
+cctgccgcttttgccgcctgaatatcattgcgtgagtcgccgacaaacagcatctgttgt
+ggggcaattcccatccgctcagccaccagtaacagcgggtccggatgcggttttttgttt
+tgcacatcatcaccaccaatcaccacgctgaagtatttggcgatatctaaggcttcgagc
+agcggcgcgacgaacggcgtcggtttgttggtgaccaggcctagcggcaggcctttagcc
+tgcaacgcgcccaacgtatcggcaacgtgcgggaacaaaaacgtcccctcttcggcaacc
+tcgccatagtagcgatcgaacagtttacgcagaatacgtacctgttcttctgccggaatg
+tcgtcatcaacgggcggtttacccattgttttacgctgagtcgcacgttcctgacgcgcc
+caggtcaatgcgcgctccatcagaacatctgcgccgttaccaatccaggtaataacgcgt
+tcttcacctgcgacgggcaactccagcgcatacagcgccatatctaccgcagcagcaaga
+ccaggagcactgtcgaccagcgtaccatcaagatcaaaagcgacgccgcgaatatcttca
+aacttattcatgacttacctttgccagttcactgcgcatttcatcaatgacttttttgta
+gtctggctggtcgaagattgccgaaccggcgacgaacatatccgcgcccgccgcagcgat
+ttcgccaatgttgttcaccttcacgccaccgtccacttctagtcgaatgtcaaagccaga
+ctcgtcgatacggcgacgtacttcgcgcagtttatccagtgtttgaggaatgaaagactg
+accgccgaaaccagggttgacggacatcagcaggatcacatccagcttatccatcacgta
+atccagatagctcagaggtgtcgccgggttaaataccagacccgctttacagccattttc
+tttaatcagttgcagcgtgcggtcaacatgctcggaggcttctggatgaaaggtaatgat
+gctggcaccagcggcagcgaaatcaggcacaatgcgatcgacgggtttcaccatcaggtg
+tacgtcgataggggcggtaatgccatagttacgcaaggatttcagcaccattggcccaat
+cgtcagattgggaacatagtggttatccatgacgtcaaaatgcacgacatcagcgccagc
+tgccagggcttttgcggtatcttcacccaggcgggcaaaatcagccgacagaattgaggg
+ggcaatcaaatactgtttcatccgcttctccttgagaattattttttcgcgggtgaaacg
+actcctggtttgtacaaagccagcagttcgtccacctttttacgtgtgccgccgttgctg
+cttatactgcgtcgaactttgacgacatgcaattttgcgcgctgataccactcacgcgtt
+aacatcgtatcgtgattggagatcagcactggaatatggcgctcaaccagaccttcggcg
+atctccgccagatgcgcttgttgttcaagcgtaaaactgtttgtgtgatacgccgtaaag
+ttggcggtcgcagacagcggtgcataaggcggatcgcaatagacgacggatgcatcatct
+gcgcgcgccatgctatcggcgtaagactcacaatagaaaaaggcattctgcgctttttca
+gcgaagtgatacaactctgcttccgggaaatagggttttttgtagcggccgaacggcacg
+ttaaactcaccgcgcagattgtaacgacacaggccgttgtaaccgtagcggttcaaatat
+aaaaacagtaccgcccgacggaacggatcctggcttttgttgaactcttcgcggaactga
+tagtaaacctcggcgcaatttgtttcgggaacaaacagctcgcgtgcggcctgtacgtac
+tcatcagtacgcatcttcacaatgttatagagactgatcaggtcgctattgatatcggca
+aggatataacgagaaaagtcggtgttgagaaacaccgacccggcacctacaaaaggctca
+accagacattcgcccttgggcaaatgccgtttaatatcatcaagcaggggatacttgccc
+cctgcccacttcaaaaaagcgcgatttttcttcatgctgactaactaattacaccttctc
+cggctgtggagaaagctccgacagcatccagcgcttcaggcaactcccgcaacgataaac
+cattgcgggagataaccttgattacttcagatcggcctgtacctgacgcagcggtttcgc
+ccacgggtttttggcctggacatctgctggcaatgtagataccgcttttttcgcctcttc
+tttcgaagcgtacacgccagaaaccaggacataccacggctgaccattacgcgtcgtttc
+atagacaacgtagtttttcagattctctttcttcgcccaaccgttcaggttgtcgtagtt
+agaggaactgctcagctgcagagtgtaatggctggacggtgccgatttcaacgaaccaac
+attacctgcggtcttcgccccagcagcgggtgttgctgtggtttgcgccggggatgccgt
+ctgtactggagccgtagtcgccgtctcttttggtgctggcgtagaagtcgcagccggtgc
+cttcgtgctcgccacaggggcagctggttcagtacgcttcggcgtctgtgctaccggctt
+cggctccgttttcacggttgcttgcggttttttcggttcaatcaccgcctgctgacgagc
+tgggcgcgtagtggacggacgttcagcggtttgcgttttcgccgtgtcacgcgatgcatt
+gccattgcgaacaggcgcaaccgttgcgggttcagtcggcaacgtggaattgaccgccac
+attgttcagctgttgctgattttgtggctgggtcagcgcattgttcaggtcaccctgcac
+ttcaacacgttgttgaccatccgttgccaccggggtttgcccttgagtcggcgtagaaga
+gatcggtggcagagaaacatcctgctgagtattttccgcagacgtggttcccggcgctgg
+ctgcacgccattcgcctgatcggtcgcattgccagcaagatcaatactcttctcgccaga
+cgcggtttgatcgctggaagtggtcgagggggcttttagcgcagaaccgataccgatgat
+caacagcagtagaaccagaatgccgacgcccatcatcatatactgacgagaagcgggttt
+actggctgcttttttgcgcttacgcggacgacgctctacgcgctcttcatccacggtttc
+atcttcggattcgtcaatttcttcttcgatttccggttcctcattgcgctctttttgcgc
+acgagtcggacggcgatcgtcagtgtcatcaagttcaatatcatcaaaattgatctgcgg
+ttcgccacgttcagtacgctcagaacgttcagaagattgacgagaacgaccagtacgacg
+atcgctgggatcgggtttcagctcgtcttctggtttgaattcatccatttaacaccccac
+taaaaggttaatgcttaccacgttgcaattaacctgaagctaatagaccgcttgataagc
+ggcctgacctttcttgttgttacgctgattgacaatcggcaatggcgttaagaacaagct
+cgtgcgaaacgccgctgcgaacttcactcttaccaattgccaacggaagaattaagcgca
+tctctcccgcaaggactttcttgtcacgcagcatatgcggtaaatacgcctgcgcggaca
+tttcgcgcggcccattgaccggtaacccagcccgcttgagcagggttataatacgctgcg
+tttcggcagaactaaactgcccgagacgttccgacgtccgcgccgccatcaccatacccg
+cagcgaccgcttcaccatgtaaccaattgccataccccatttcagcttcaatggcatgac
+caaaggtgtgtcccagattcagtaaagcacgtaacccggtttcgcgctcgtcggcggcga
+caacttctgccttcagttcacaacaacggcgaatacagtacgccattgccggaccgtcca
+gacgcaacaacgcatccagattctcttccagccagttaaaaaacgcaccgtcaagaataa
+tgccgtatttgatgacttctgccagccccgacgctaactcacgcgggggaagcgttttca
+gacagtcgagatccaccaccactgaagcaggttggtagaacgcgccaatcatgtttttac
+cgaggggatggttgaccgcagttttgccgccaacggaggaatcgacctgcgacagtaacg
+tcgtcgggacttgaatgaaacggacaccgcgctgataactcgccgccgcgaagccggtca
+gatcgcccactacgccgccgccaagcgccaccagcgtagtatcgcgaccatgcggttttt
+gtaacaacgccgtaaagacggtatcgagtacagccaggcttttatactgctcgccgtcag
+ggaggataacgctatcgacgttaacacccgcctgttcaagtacgccgcggaccttatcga
+gatacagaggagccagggtttcgttggtgaccaacatgacctgctcgcccgatttcagcg
+gtaagaatgaagctggttcattaaacaaaccagatgcgatggtaattgggtaactacgtt
+ccccgagagtaacgacaatcctctccataacgcgacatccaccttaattactgtacccgc
+agacgagtgtatataaagccagaattagttgctttccagcatgtgaataatctggtttgc
+aaccactttagcgctttgatcatcagtacgaatggtcacgtcggcaatctcttcatacag
+cggattgcgttcattggccaacgcttccagaacttcacgcggcggtgtttcaacgtgcag
+caacgggcgttttttatcacgctgcgtgcgtgcaagttgcttttcgatggtcgtttcaag
+ataaacgacaacgccacgagcggaaagacggttacgcgtttcacgggatttcacagagcc
+gccgccagtagccagcacaataccctgtttctcggtcaactcattgatgaccttttcttc
+gcgatcgcggaagccttcttcgccttctaaatcgaaaacccagcccacatcagctccggt
+tcgtttctcaatctcttgatcggaatcgtaaaattccatattgagttgttgagctaactg
+gcgcccaatagtgctttttccggcacccataggcccaaccagaaagatattgcgtttctc
+tgccattttttcggtactactaagactattcgttaatgataaacccgcttcgctcagaga
+gcgccgcaggacatgaactgaaacctcataagatattgcgagagtcagactgaaaattat
+ctcaatactccagcgggtttggcaactgaataaatcacccatccctctgcatatctggtc
+gctgcaagcgcgctgccttgctaccaccgctctggcgataaatcaccgggtaagattagc
+gtaaaaaagacagcaaaatgccgcctgaatgataaatcatcatcatggaacgcaggcagc
+gaagagcaccaactctcaaatcggtactccttgtatgctaaatacctgcgcgcgtcaaat
+agatgaaacacgttcagcgtaaaaacattaccgcttttacggctgtttactcactggaaa
+ccagtcgtggcgtgataaacaccactaactcgcgtcgttcatcttcttttccgtcatgac
+gaaataattgcccgaaccagggaatgtcgccaagcaacggtacgctatcctgacccgatt
+tatttttacgggtaaaaatgccgcccagcgccaacgtttctccgcttttgacctcgacct
+gcgtttcgatctcctgcttatcaatcgccagcacttcgccatcggcctgctgtagcacct
+gccccggaacgttctggctgatgtgtaatttcagccggatgcgacctttttgtaacaccg
+tgggcgtgacctccatccccaggacggcctctttaaattccaccgacgtcgcgccacttt
+ccccgctggaaacctgatatggaatttcgctcccctgtttaatgctggcaggctgaagat
+gtgaggccagcagacgcggactggcgataatatccagctgctgtttttgttcgagcgcgg
+aaagctcaagatccagcaagcgtccgttgatgcgcccaatgttaaaaccgacatgcgttg
+tcgccgtcgctacggagaggtcgctaccaagcgtggtgacttgcccaacgccaccagcgt
+gttgcgcatcggccagcgtccatttcacgcctaactcacgcaaacttttttcattaatgg
+tgacaatatgcgccgacagctcaacctgcccgaccggcagatccatttgcgctacccact
+gttcaagcgcgcttaacgccgttttgttatctcgtagcaaaaggcgattggtgcgtttat
+cgacggtcatactccctttggcactcagtagcttctcccccgctttcgccagttctcccg
+cgtcggcgtattgcagggttatactgcgattttccagcggcagatttgcctgcgcccgcg
+cctgctccgcctcctggcgggcgatattgttattctgccaggcaatggaatgcactgaga
+gaatgttgccttcctgccgcgttatcagtccggcgcttttcactacagtttgtagtgcct
+gcttccagggaacatctgttagatgtaacgacaccgtaccgctgacgtctggcgacacga
+ccaggttcaacttctcctgttcagccagcgcctgcaacacctgagctaccggaacgtcat
+ccaccatcagcgtcactttttgcggctttgccgcctgtacgccgggtatcagcatcaaca
+gtagtgcggctatccattgcttcatttgtatctccttgccgttgccacaaccattgtggc
+ggttcgcagtttgtcccggtacccagcgttagtacgtctggcgtcagctgtaaaattgtc
+cagccgttttccagcacatcgttttgctgcacccgtcgccatttcttttgcccgtctttt
+attacaccgatgatgcgctcgcctcgccctaccatcccctgatagcgccactggctaagt
+tcgctaatccggcatagatcttccggcggtttaaaagggtcacgcataccggttaaaagg
+cacaatgcaatacctgccaacaaccagcgtttaaccctcatgcggcgtctccagttgtag
+cgtgaacaaaagatcatcaccttccacgcttaacgaaaaacggctcacgctgacgttgcg
+ctctgccagccgtgtaaatgccgacggcactgcttcccacagcgttttcaacgccaactc
+gcctccctgcgcggatggatgccaggaaaccagttgcgcgccggataactgaaaatccag
+tggcgaaaagggcagcgttttttcctcgctgaagggagcggtgtctaccaggcgatacag
+tgcggcccactgctggtgatgacttgcccgtagtcgaattaatgcgtcgcgctcttcatg
+gtgtgtcgatgacagaaaaatgagcgtaactaacatcagcaaccagaatgcccagcaaag
+ctggcggaggcggggtgatgtggcgaaccaccagtcaaagaacatgttcatcgctaacct
+tccttgttaactgatactcaaattgccagcgtccctgcgcatcctgctgcgtggctcccc
+gctgattgagatgaaaagatgcatcctggcggagtgacgtttctagtgcgtttaacgcgg
+taatgcttgttgtcagccccttgatctccagcgttccctgctgccagcttatcgttgtca
+gccaggcgtgctcgggtaaaagcgccgccagtgcttccagcgcagattgccagtcgcggg
+taaattgtcgctggcgctgccgttgcgaacgctgttcgcgtaactgctgttgctccagca
+aacgtggcttcgttatctgtaagctgcgggcgagttgttgttccgcctgaagcaaaactg
+cgtctatgcgcgcttcggcgctgcctgtcagacgcagtattagcgttatcccgacggcca
+gcagcagaggcgcaacgaacatcagcaaccagaaacgcagaaaagcggtccggcgttgct
+gtcgccagggcaaaaaattaattggcgggttcatcagtacgccttcccaagcgccagccc
+cagcgcgatggcaaagtctccacctggcggcggtagcggcggctgacgaacagaaacggc
+ctcccagggatcaaatccgccttcgccacatatcgcgacgctttcgggatcaacggataa
+cgctgccgccagctccttcgcgctagtcatccccaccgccagtttgcgcccccagctata
+gcgcgtcgcccacagccactgttcgttatcacgccaggccagacattgctgatgagaagg
+taaaaaaggcaggaatcgctgtaatgcactggcatccggggtgatcgcgctcacatgaac
+acgcaacctttctgccagagtaagcagcgttgccagctctttgctttgcgcggcagtcac
+gttataggcgggactgagtgagtcttcgctgtaatcgaagcgcagggagtccggatccat
+atccagctcgcgggccatcgtccctgacagccaggccgtttgctcccgctcaccaaggga
+catcgacgggcgcggaaatgaccgctgtaatgtgcgactggcgggaaacgccaacataat
+gtgatgacgctgcggcagttcgcgactccacggtaacaacgttttagccagctgctgcgc
+atcaacaatccgcccatctttgataatgtcgttctccagcggcaaccgccaccagcgttg
+caaaaagcattcttttgcgccccgcacgatcgcaaccgctaccgcttcttgctgttgtaa
+atgcaaaccaatttgccagatcttaaatgccattgtgatgatctccttatcacccgtcac
+tctgacgggtatatcaatgcgtctggcttgcctttatactaccgcgcgtttgtttataaa
+ctgcccaaatgaaactaaatgggaaatttccagtgaagttcgtaaagtattttttgatcc
+ttgcagtctgttgcattctgctgggagcaggctcgatttatggcctataccgctacatcg
+agccacaactgccggatgtggcgacattaaaagatgttcgcctgcaaattccgatgcaga
+tttacagcgccgatggcgagctgattgctcaatacggtgagaaacgtcgtattccggtta
+cgttggatcaaatcccaccggagatggtgaaagcctttatcgcgacagaagacagccgct
+tctacgagcatcacggcgttgacccggtggggatcttccgtgcagcaagcgtggcgctgt
+tctccggtcacgcgtcacaaggggcaagtaccattacccagcagctggcgagaaacttct
+tcctcagtccagaacgcacgctgatgcgtaagattaaggaagtcttcctcgcgattcgca
+ttgaacagctgctgacgaaagacgagatcctcgagctttatctgaacaagatttaccttg
+gttaccgcgcctatggtgtcggtgctgcggcacaagtctatttcggaaaaacggtcgacc
+aactgacgctgaacgaaatggcggtgatagccgggctgccgaaagcgccttccaccttca
+acccgctctactcgatggatcgtgccgtcgcgcggcgtaacgtcgtgctgtcgcggatgc
+tggatgaagggtatatcacccaacaacagttcgatcagacacgcactgaggcgattaacg
+ctaactatcacgcgccggagattgctttctctgcgccgtacctgagcgaaatggtgcgcc
+aggagatgtataaccgttatggcgaaagtgcctatgaagacggttatcgcatttacacca
+ccatcacccgcaaagtgcagcaggccgcgcagcaggcggtacgtaataacgtgctggact
+acgacatgcgccacggctatcgcggcccggcaaatgtgctgtggaaagtgggcgagtcgg
+cgtgggataacaacaagattaccgatacgctgaaggcgctgccaacctatggtccgctgc
+tgcctgccgcagtcaccagcgccaatcctcagcaagcgacggcgatgctggcggacgggt
+cgaccgtcgcattgagtatggaaggcgttcgctgggcgcgtccttaccgttcggatactc
+agcaaggaccgacgccgcgtaaagtgaccgatgttctgcaaacgggtcagcaaatctggg
+ttcgtcaggttggcgatgcatggtggctggcacaagtgccggaagtgaactcggcgctgg
+tgtcgatcaatccgcaaaacggtgccgttatggcgctggtcggtggctttgatttcaatc
+agagcaagtttaaccgcgccacccaggcactgcgtcaggtgggttccaacatcaaaccgt
+tcctctacaccgcggcgatggataaaggtctgacgctggcaagtatgttgaacgatgtgc
+caatttctcgctgggatgcaagtgccggttctgactggcagccgaagaactcaccaccgc
+agtatgctggtccaattcgcttacgtcaggggctgggtcagtcgaaaaacgtggtgatgg
+tacgcgcaatgcgggcgatgggcgtcgactacgctgcagaatatctgcaacgcttcggct
+tcccggcacaaaacattgtccacaccgaatcgctggcgctgggttcagcgtccttcaccc
+caatgcaggtggcgcgcggctacgcggtcatggcgaacggcggcttcctggtggacccgt
+ggtttatcagcaaaattgaaaacgatcagggcggcgtgattttcgaagcgaaaccgaaag
+tagcctgcccggaatgcgatattccggtgatttacggtgatacgcagaaatcgaacgtgc
+tggaaaataacgatgttgaagatgtcgctatctcccgcgagcagcagaatgtttctgtac
+caatgccgcagctggagcaggcaaatcaggcgttagtggcgaagactggcgcgcaggagt
+acgcaccgcacgtcatcaacactccgctggcattcctgattaagagtgctttgaacacca
+atatctttggtgagccaggctggcagggtactggctggcgtgcaggtcgtgatttgcagc
+gtcgcgatatcggcgggaaaaccgggaccactaacagttcgaaagatgcgtggttctcgg
+gttacggtccgggcgttgtgacctcggtctggattggctttgatgatcaccgtcgtaatc
+tcggtcatacaacggcttccggagcgattaaagatcagatctcaggttacgaaggcggtg
+ccaagagtgcccagcctgcatgggacgcttatatgaaagccgttcttgaaggtgtgccgg
+agcagccgctgacgccgccaccgggtattgtgacggtgaatatcgatcgcagcaccgggc
+agttagctaatggtggcaacagccgcgaagagtatttcatcgaaggtacgcagccgacac
+aacaggcagtgcacgaggtgggaacgaccattatcgataatggcgaggcacaggaattgt
+tctgattaaaaaggcgcttcggcgccttttcagtttgctgacaaagtgcacttgtttatg
+ccggatacggcgtgaacgcgttatccggctaacaaaatcgtgaaaactcaataaattgca
+gaaaccccataagcctgataaacattgtgcatcaggcaaacttcacgcatttacactcgc
+ccctgccctttcaaccattcgcgcacgaggaacagcgcactgacattgcgcgcttcattg
+aagtcagggtcttccagcaaatccatcatatgcgccagcggccagcgcacctgtggtagc
+ggctctggctcatcgccttccagtgattccgggtagagatcttgcgctaccacgatattc
+attttgctggaaaagtaagacggtgccatgctgagcttcttcaaaaaagtcagatcgttc
+gctccaaatccaacctcttcttttagctcgcggttagcggcttcgtagacgctttcaccc
+ggatcaattaatcctttcgaaaaacctaattcgtaggattcagttcccactgcgtattcg
+cggatcaggatcaggtgatcgtccacaatcggcacaatcatcactgcttcccggttggtt
+ggacgcattcgttcataaacacgccgcacgccattgctgaactccagatccacgctctcg
+acggtaaacagtcgggaacgggctacagtttcaacattcagaatggtgggtttttgtaat
+gatttgctcatcgtgggatctatgctgtgaaatcagcggttattgtgcgatatcggacac
+gctttcggcaatgtgaattgcatgttatttacatttatgtaacttaataaataatcgtcc
+tcaaatcaaattaaaagtcaataggttgaaataactccaggaatttgctgatattccgcc
+ttcagagggtttgctatgatcagcggttactgtgatgtgcttaatgatgctcaagttaaa
+ctccacgcttgccgatagccaaccgcagaatcatgtattgtgtccggtgcgactgaccac
+gcctgacagactaagtaagatggggaaagcatgagcaccattgtgatttttttagctgct
+ttgctggcctgctcactacttgcgggatggctgataaaagtgcgatccagacggcgtcag
+ctgccctggaccaacgccttcgcggatgcgcaaacgcgtaaactcacacctgaagaacgt
+agcgccgttgaaaattatcttgagagcctgacgcaggtattacaggtgcctggcccaacg
+ggagccagcgcggcaccgatctctctggcgctgaatgccgaaagcaacaacgtcatgatg
+ctgacacacgctatcacgcgttacggcatctctaccgacgatccgaataaatggcgttac
+tacctcgattcggtagaagtccacctgccccctttctgggaacagtacatcaacgatgag
+aataccgttgaactgattcataccgattcgctgccgctggttatttcactcaacggtcat
+acgctgcaggagtacatgcaggaaactcgcagctatgccttgcaacctgttccgtcaacg
+caggcgtcgattcgcggggaagagagtgagcaaatcgagctactcaatattcgcaaagaa
+acgcatgaagaatatgcgctgagtcgtccgcgcgggctgcgtgaagcgttgctgatcgtc
+gcctccttcctgatgttctttttctgcctgattaccccggatgtatttgttccgtggctg
+gcaggcggcgcgttactgctgctgggcgcaggtctgtgggggctattcgcgcccccggca
+aaatcctccctgcgggaaattcattgtctgcgcggtacaccccgtcgttggggattgttt
+ggcgaaaacgatcaggaacagatcaacaatatttcactcggtattatcgacctggtctat
+cccgcacactggcagccatacattgctcaggatctcggtcaacaaaccgatatcgatatc
+tatctcgaccgccatgtagtgcgtcagggacgatatctttcgctgcatgatgaagtaaaa
+aactttccgttacagcactggctgcgcagtacgattatcgctgcgggctcgctgctggtg
+ctgtttatgctgttattctggatcccgctggatatgccgctgaaattcactctctcatgg
+atgaaaggcgcgcagaccattgaagccaccagcgtaaaacaactggctgacgctggcgtg
+cgggtaggcgatacattgcgtattagcggtacgggaatgtgtaatattcgaacttccgga
+acctggagcgcgaaaaccaattcaccttttttaccgtttgactgctcgcagatcatctgg
+aacgacgcccgctcattgccattaccagaatctgaactggtcaacaaagcgacggcattg
+actgaagcagttaatcgccagctgcaccctaaaccggaagatgaatctcgcgtcagtgcc
+tcattacgttcagcaattcaaaaatccggcatggtattgcttgatgattttggcgacatt
+gtactgaagacagcggatttatgttctgccaaagatgactgtgtgcgactgaaaaatgcg
+ctggtcaatctcggcaacagtaaagactgggacgcgctggtaaaacgcgccaacgccggg
+aagctcgatggcgtgaatgtgttattacgcccggtgagtgcggaatcgctggataacctg
+gtggcaacctccaccgcgccgtttatcacgcatgaaacggcgcgagcggcacaatcacta
+aacagtccggcccccggcggattcctgattgtcagcgacgaaggcagcgattttgttgat
+cagccctggccttcggcatcactttacgactacccgccgcaagaacagtggaacgctttc
+cagaaactggcacaaatgctgatgcatacgccgtttaacgccgagggtatcgtcacaaaa
+atcttcactgacgccaatggtacgcagcatattggccttcatccgatcccggatcgttcc
+ggcctgtggcgctatctcagcaccacattgctgctactgacgatgctgggtagcgccatt
+tacaatggcgtacaggcctggcgtcgttaccagcgtcatcgcactcgcatgatggagatt
+caggcctattatgaaagctgcctgaacccgcaactgatcaccccttcagaaagccttatc
+gaataacacgtttgcgcggcaggttatgctaccctgtcgcgcaaattgcttcactctgga
+gatttccctcatgcatatcaacattgcctggcaggacgtagataccgttctgctggatat
+ggacggcacgttgctcgacctcgccttcgataactatttctggcaaaagctggtgcctga
+aacatggggcgcgaaaaacggggttacgccacaggaagcgatggaatatatgcgccagca
+atatcacgacgtacagcatacgctaaactggtactgtcttgattactggagtgagcaact
+gggtctggatatctgtgcgatgaccaccgagatgggaccgcgtgccgtactgcgtgaaga
+taccattccgtttcttgaggcactgaaagccagcggtaagcagcgaattttgctcaccaa
+tgcgcatccgcacaacctggcggtaaaacttgagcataccggtctggacgcacaccttga
+tttattactttccacccacacatttggttatccgaaagaggatcagcggttatggcatgc
+ggtggccgaagctacgggtctgaaagctgaaagaacgctgtttattgatgacagcgaagc
+gattctcgatgctgccgcgcaatttggtattcgttactgcctcggcgtgactaatcctga
+ttccgggattgccgagaaacagtatcaacgccatccgtcactgaatgactaccgccgcct
+gatcccctcgctaatgtgaaggagacgccatgaaagagaaacctgctgttgaggttcgac
+tggataaatggctatgggctgcccgtttttataaaacccgcgcgctggcccgtgaaatga
+ttgaaggcggtaaggtgcattacaacgggcagcgcagcaagccgagcaaaatcgtcgagc
+tgaatgccacgctcactctgcgccagggaaatgacgaacgcacggtgattgtaaaggcga
+ttactgaacagcgtcgccccgccagcgaggcagccttgctgtatgaagagactgcggaaa
+gtgtagagaaacgcgaaaaaatggcgctggcacgtaaacttaatgccttaaccatgccgc
+acccggaccgacgcccggacaaaaaagagcgccgcgacctgttacgatttaaacacggcg
+acagtgaataactgtcacctgcaagagagatgattatgccgcaacatgaccaattacatc
+gctatctgtttgaaaactttgccgtgcgcggcgaactggtaaccgtttcggaaaccctgc
+aacagatccttgagaaccacgattatccgcagcccgttaaaaacgtgctggcagaactgc
+tggttgcgaccagcctgttaaccgctacgctgaagtttgatggtgatatcaccgtacagc
+tgcagggcgacggtccgatgaatctggcggttattaacggtaacaataaccagcagatgc
+gcggtgtggcgcgcgtgcagggcgaaattccagaaaatgccgacctgaaaacgctggtcg
+gcaatggttacgtggtgatcaccattaccccgagcgaaggcgaacgctatcagggcgtag
+ttggtctggaaggtgataccctggcggcctgcctggaagattactttatgcgttctgaac
+agctgccgacgcgcctgtttattcgcaccggcgacgtagacggcaaaccggctgcaggcg
+gtatgttgttgcaggtaatgcctgcgcaaaatgcccagcaggacgactttgaccacctgg
+cgacgctaaccgaaaccatcaaaaccgaagaactgctgaccttaccggcaaacgaagtgt
+tgtggcgtttgtatcacgaagaagaggtgacggtttacgatccgcaggatgtggagttca
+aatgcacctgctcgcgtgaacgttgcgccgatgcgctgaaaacgctgcctgatgaagaag
+ttgatagcatcctggcggaagatggcgaaattgacatgcattgtgattactgcggtaacc
+actatctgttcaatgcgatggatattgctgaaatccgcaacaacgcgtctccggcagatc
+cgcaagttcattaatgagtatgtccggcagagagggctctgccggattttacgactaata
+cacctgatgcgctttgtcactcattcagattcacattcagcctttcaccatccactacaa
+gatcgcgccacgctttaggcttcgtccccagttttccatccttcgcagctgtgagtaatt
+tttctttcgttatttcgttcggaagtaaactcatatcaagcgcgtcccattcttttctgt
+ctgagtcaaagccatagacaatgactctgtcatcattaaaagcaaacaggatccgctccg
+cctgaccatcactattcagatcttgctcgaccaggacgcaggcgtctttttcaatacagg
+tcatcacgttatagcgatcctggattaaggccgaccagaatgtcgcatcaggtttaacag
+aaccaggggcaattaacacattatcggctaatactttttccgatacctgttgctgaagat
+gttgctctccatctaacgccatcagcagatcccgcgcgcgtttcgggtctttcataaacc
+cggcatcgcttttcagcgactcaagcgcagcacgtccatagcgaccgctctgctcgagca
+tgtagatagttacctggtctgacgtgtttttgccgctctgataacgcgccatatggctgt
+tcacgctaatgcgcatactgtccagcaccggcgaattaagaagcaccagtatcaccaaca
+ccaataacgaaaccgcaaggttcactttgccctgaagaacaacgggattttgccctttac
+gccagacgatgctgacaaaataccccagcgaccacaccagtaacaccagcaccgccagca
+cgccctgcaagcggtcgacagtccagccgtactgagcgacccgcagccataacgcccagg
+cggcgacgaacacatacagcggagcaaccagcaaagcggttttaatcaggcaacgcaacg
+gccctgtccagggaagtgacgctttttgcggatcgcggacaatagccattaagatcaatt
+gcaaaaaggccagcgtcaacagcaacccggcggcggagatgtggcgagaaatcgcgctca
+ggcccgtaaacggcagggtgatgataaacatcagggttagcaatgatactaacggcagca
+accccgtggcgattaacgtgaacaacttttgaatagagtcgattaaacgtgactgtgttc
+gcgcgaggatcaccgccagcgcggtaaccagacctaacgtgagataaataaaccagtcgg
+ttgcaaaaaagagcgtattgaaaaacgtgatgccaacaagtttaaacaactcactccaca
+gtaaaagcaccagccacgtcaagccattggcgagaaaaatcaccagtaatataagtacgt
+tatgccatactgactggtaaaaatagcgatagcggctactgtcattgcggatgcgaaggc
+tttgttgtatccacggtagcaacaacattgccatcaacagcagatagcaaccaaaatccc
+aaagcgccttttcagctctccaggggttcatgccatcagtttgccacttcagccagccgc
+tcatccccagcgtggcaataaacactagcgccagccatccccaaaggcgcttctgtttaa
+aagagatcacggagaagagtaaaacggatgaaaacgcgacggtcgcaggcacgccataaa
+caatccaactgtgattttttccggaaagccaggcgatcagcaggtagcaaaccagaccct
+gaagtaatccggtagcaatcatcccccagcgtgttgcgggtgaaagttcaacgttatcca
+tgttggttatccagaatcaaaaggtgggttaattatcgcatccgggcagtagtattttgc
+ttttttcagaaaataatcaaaaaaagttagcgtggtgaatcgatactttaccggttgaat
+ttgcatcaatttcattcaggaatgcgattccactcacaatattcccgccatataaaccaa
+gatttaaccttttgagaacattttccacacctaaaatgctatttctgcgataatagcaac
+cgtttcgtgacaggaatcacggagttttttgtcaaatatgaatttctccagatacgtaaa
+tctatgagccttgtcgcggttaacacccccaaaaagactttactattcaggcaatacata
+ttggctaaggagcagtgaaatgcgcgttaacaatggtttgaccccgcaagaactcgaggc
+ttatggtatcagtgacgtacatgatatcgtttacaacccaagctacgacctgctgtatca
+ggaagagctcgatccgagcctgacaggttatgagcgcggggtgttaactaatctgggtgc
+cgttgccgtcgataccgggatcttcaccggtcgttcaccaaaagataagtatatcgtccg
+tgacgataccactcgcgatactttctggtgggcagacaaaggcaaaggtaagaacgacaa
+caaacctctctctccggaaacctggcagcatctgaaaggcctggtgaccaggcagctttc
+cggcaaacgtctgttcgttgtcgacgctttctgtggtgcgaacccggatactcgtctttc
+cgtccgtttcatcaccgaagtggcctggcaggcgcattttgtcaaaaacatgtttattcg
+cccgagcgatgaagaactggcaggtttcaaaccagactttatcgttatgaacggcgcgaa
+gtgcactaacccgcagtggaaagaacagggtctcaactccgaaaacttcgtggcgtttaa
+cctgaccgagcgcatgcagctgattggcggcacctggtacggcggcgaaatgaagaaagg
+gatgttctcgatgatgaactacctgctgccgctgaaaggtatcgcttctatgcactgctc
+cgccaacgttggtgagaaaggcgatgttgcggtgttcttcggcctttccggcaccggtaa
+aaccaccctttccaccgacccgaaacgtcgcctgattggcgatgacgaacacggctggga
+cgatgacggcgtgtttaacttcgaaggcggctgctacgcaaaaactatcaagctgtcgaa
+agaagcggaacctgaaatctacaacgctatccgtcgtgatgcgttgctggaaaacgtcac
+cgtgcgtgaagatggcactatcgactttgatgatggttcaaaaaccgagaacacccgcgt
+ttcttatccgatctatcacatcgataacattgttaagccggtttccaaagcgggccacgc
+gactaaggttatcttcctgactgctgatgctttcggcgtgttgccgccggtttctcgcct
+gactgccgatcaaacccagtatcacttcctctctggcttcaccgccaaactggccggtac
+tgagcgtggcatcaccgaaccgacgccaaccttctccgcttgcttcggcgcggcattcct
+gtcgctgcacccgactcagtacgcagaagtgctggtgaaacgtatgcaggcggcgggcgc
+gcaggcttatctggttaacactggctggaacggcactggcaaacgtatctcgattaaaga
+tacccgcgccattatcgacgccatcctcaacggttcgctggataatgcagaaaccttcac
+tctgccgatgtttaacctggcgatcccaaccgaactgccgggcgtagacacgaagattct
+cgatccgcgtaacacctacgcttctccggaacagtggcaggaaaaagccgaaaccctggc
+gaaactgtttatcgacaacttcgataaatacaccgacacccctgcgggtgccgcgctggt
+agcggctggtccgaaactgtaatgatttgaagctggagaatatctatccagtatcttata
+gaaagcaaaacgggaggcaccttcgcctcccgtttatttacccttcttttgtcgtgccct
+gcgcccgcgttaccggcactggcagccaggcgcgaatggaaagcccgccccgctcgctgg
+tgccaagctccagcatcccgttatggttatccacgatacgctgcacaattgccagcccta
+atcccgtgccgctaatggtgcgcgcactgtcgccgcggacaaacggctggaacaggtgct
+tacgttgttccggcgcaattcccggaccgtcatcttccacctggaaccaggcgcgattcg
+gctccgttccgctgctgactttgatccagccattgccataacgggcggcgttgaccacca
+tattcgccaccgcgcgtttgatcgacagcgggtgcattttcacttcaatgctgccggggt
+aaagcgcggtttcaatttcccgctcatagccactttcggcagcaatcacctcaccgagta
+ctgcattaagatccgccatttccatcggcatctcctgcccggtgcgcaggtagtcgataa
+actgctcaatgatggcgttgcactcttcgatatctttattgatcgattctgccagatagc
+catcctgctcgctcatcatctcagtcgccaggcgaatacgcgtcagcggcgtgcgcaagt
+cgtgacttacccccgccatcagcagcgtgcggtcatccgccagttgcttaacaccagccg
+ccatatggttaaaggcacgggtaacggaacgcacctccgaagcgccatactcacgcagcg
+gcggcggaataatccctttaccaacctgcaaggctgcgtgttcgagatcgaccaacggtc
+ggttctggatacgaataaacagccacgccccgcctatcgccaatagcataatcgccagcg
+tatagcggaacagcggagagaaatcgccctgatgaatttcggtcagcggcacgcgtaccc
+agatattgggcgacagccaggttttcagccagacgacaggcgaacttttgttgacctcaa
+cgcgcacttccgtcgggccgcccagttgctgcgccatctgatggcttaagaattcatagt
+gttgcgcccaacgcagacctgcctcttcggcagcctcgttggagtagagagagatcccca
+gctcacggtagatctcccgacggaaagcgggaggcacaaccaactgcgtgccgtcctcca
+gttgcagtttgtcggtcatcaacatacgcacttcgtacgcgaggactttattaaactgct
+ggaggctcggcaaaatcgcgaagttcagcaccaccagataagtcgtcaccaggctggcga
+acagcaaggtgacgatgagcaataacgtacgggcaaatgaacttcgtggcgagaagcgca
+atcgcctcatgctttagagccgtccggtacaaagacgtagcccagaccccagacggtctg
+aatgtaacgcggatgcgctggatcttcttccaccatgcggcgcagacgcgaaatctgcac
+gtcgatggagcgttccattgcggaatattcacgaccacgggcaaggttcatcagcttatc
+gcgggagagcggctcacgcggatggctgaccagtgccttcagtaccgcaaactcaccgct
+ggtgagcggcatcggctcgtcttcgcggaacatttcgcgcgtaccgaggttaagtttgaa
+cttaccgaaagcaattaccgcctcttcctgtgacggtgcgcctggcagttcgttcgcctg
+acgacgcagcaccgcacggatacgggccagcagttcacgcgggttaaacggttttggaat
+gtagtcgtcagcgccaatctccaggcctacgatacggtccacttcttcccctttcgccgt
+caccataatgatcggcatcgggttgctctgactacgaagacgtcggcaaatcgacaagcc
+atcttcaccaggtaacattaaatccagtaccataagatggaaagattcacgagtcagcag
+gcgatccatctgttctgcattagcgacgcttcgaacctggaagccttgttcggtgagata
+acgttccagcagcgcacgcaggcgcatgtcgtcatcgaccaccagaatcttgtagttctc
+ttgcattgtttgtactcccaaaggttcgcaacaatttgtaagcgtgtattcttaaaaaag
+ctcacgttcgtcaccagctaaatctggtatgaatttcagcctaaattgttacaaagcata
+ttaaacagcagcttaagtatacaatttattcggcgaaacattattgattctgttgatatg
+atcacgttatacccaatgtgcgcattatcaaacagacaaagggaatcaacgagatgaaaa
+cgcccctggttacccgggaagggtatgaaaaactcaaacaagagcttaattatctctggc
+gtgaagaacgcccggaggtcacaaaaaaggtgacctgggccgcaagtctgggcgaccgca
+gcgaaaatgctgactatcagtataataaaaagcgtctgcgtgaaatcgaccgtcgcgtgc
+gctatctcactaaatgcctggaaaatctcaaaatcgtcgattactcccctcagcaggaag
+gcaaagtcttttttggcgcgtgggtggagattgaaaacgacgatggcgtgactcaccgtt
+tccgtattgtcggctacgatgaaatttttggccgtaaagattacatctctatcgattccc
+cgatggcccgcgcattgctgaaaaaagaagtcggcgatctggcggtggtgaatacccctg
+ccggggaagcgagctggtatgttaatgctatcgagtacgtgaaaccgtaaggaagagtct
+taacctcctgccgatggctggcatttttgccagccagtccgtataactatcccctgattt
+ttgatccgaaaagatgaactcaaaccatgatgaatgattcgttctgccgcattattgcgg
+gtgaaattcaggcgcgcccggaacaggttgacgctgccgttcgcctgcttgacgaaggga
+ataccgtgccgtttatcgcacgttatcgtaaggaaatcaccggcggtctggatgacacgc
+agctgcgtaatctggaaacgcgtctgagctatctgcgcgagctggaagagagacgtcagg
+cgatcctcaagtccatttccgagcaaggcaaactcaccgatgatctggcgaaggccatca
+acgccaccctaagcaaaaccgaactcgaagacctctacctgccctacaaacctaaacgcc
+gcacccgcgggcaaatcgccattgaagcagggcttgagccgttggctgacctgctgtgga
+gcgatccgtcacacacgccagaagtcgccgctgcacaatatgtttatgccgataaaggcg
+tggcagataccaaagccgcgctggatggcgcgcgctatatcctgatggaacggtttgccg
+aagatgccgcgctgctggcgaaagtgcgtgattatctgtggaagaacgcgcatttggttt
+ctacggtggtgagcggtaaagaagaggaaggggcgaaattccgcgactatttcgatcatc
+acgaaccgttgtccacggtgccttctcaccgcgcgctggcgatgttccgtgggcgtaacg
+aaggcgtacttcagctttcgctgaatgccgatccacagttcgatgagccgcccaaagaga
+gctattgcgagcaaatcatcatggatcaccttggcctgcgcctgaacaatgccccggcgg
+atagctggcgcaaaggcgtggtgagctggacgtggcgcatcaaggtgctgatgcatctgg
+aaaccgaactgatgggcaccgtgcgcgaacgtgcggaagatgaagcaatcaacgtctttg
+cccgtaacctgcacgatctgctgatggcggcccctgccggactgcgtgcaacgatgggcc
+tcgatccgggtctgcgtactggggtaaaagtggcggtggtcgatgccactggcaaactgg
+tggcgaccgacaccatttacccgcacaccggacaggccgcaaaagcagcgatgaccgttg
+ctgcgctgtgtgaaaaacataacgttgaactggtagcgatcggtaacggtacagcttccc
+gcgaaactgagcgtttctatctcgatgtgcagaagcagttcccgaaagtgaccgcgcaga
+aagtaatcgtcagcgaagcaggcgcgtcggtttactcggcttccgagctggctgcacagg
+agttcccggatctcgacgtttcgctgcgtggcgcggtgtctatcgcccgccgtttgcagg
+atccgctggcggagctggtgaaaatcgatccgaaatctatcggcgtaggtcagtatcagc
+atgacgtcagccagacgcaactggcccgcaaactggacgcagtagtagaagactgcgtaa
+acgccgttggcgtcgatctcaacactgcttctgttccgctgttaacccgcgtggcgggcc
+tgacgcgcatgatggcgcaaaacatcgttgcctggcgcgatgagaacggtcagttccaga
+accgtcagcaactgttaaaagtgagccgtctggggccgaaagccttcgagcagtgcgcgg
+gcttcttgcgcattaaccacggtgataacccgctggacgcgtctaccgttcacccggaag
+cctatccggtggtggaacgcattctggcagcaacacagcaggcactgaaagatctgatgg
+gtaacagcagcgaactgcgtaacctgaaagcgtctgactttactgatgagaaattcggtg
+tgccgacggtaaccgacatcatcaaagagctggaaaaaccgggtcgcgatccgcgtccgg
+aatttaaaaccgctcagtttgccgatggcgtcgagacaatgaacgacctgcaaccgggta
+tgatcctcgaaggcgcagtgaccaacgtcaccaactttggcgcgtttgtcgatattggcg
+tgcatcaggacggcctggttcacatctcttcattgtcgaacaagtttgtggaagatccgc
+ataccgtggtgaaagcgggcgacattgtgaaggtgaaagtgctggaagtggatcttcagc
+gtaaacgtatcgccctgactatgcgcctggatgagcagcctggcgaaaccaacgctcgtc
+gcggcggcggtaatgaacgcccgcaaaacaaccgcccggcagccaaaccacgcggtcgtg
+aagcgcagcctgccggtaatagcgcgatgatggatgcgctggcggcggcaatgggcaaaa
+aacgttaaacgcccgtactggcctacggttcgaatttgcacgaaatcgtagggcagataa
+ggcgttcacgccgcatctggcaacgaacgccttgcctgacataaaagtgccggagaatat
+ctccggcatttttattccacagccaaactcataatatattccggcaatatttatcatttc
+attaacaactgaaaccttaattaaacattagccagtccgggtaattcactattcgaatta
+tattttcgctgcgatataaccttgagccacatcaacattgagtcagattattattcaaac
+caacattcgcacacattttaagtattgctgatagaaaccattctcattatcattgtgttg
+ttgattatttaatctctcctttgttggcaaatcatctggtctcatgtcgctgtcaaacgc
+cccatgaggtagttatccagttaatgagaaacaagtaggcacctatgcaatacactccag
+atactgcgtggaaaatcactggcttttcccgtgaaatcagcccggcatatcgccaaaaac
+tgctttctcttggcatgttacctggctcctcttttaatgtggtgcgcgtcgctccactcg
+gcgaccccattcatatcgaaacccgtcgtgtgagcctggtattacgcaaaaaagatctgg
+ccttattagaagtggaagcggtttcctgttaatacggtgataacaacaatgaaaaaatta
+accattggcttaattggtaatccaaattctggcaagacaacgttatttaaccagctcact
+ggctcacgtcagcgtgtaggtaactgggctggcgttaccgtcgaacgtaaagaagggcaa
+ttctccaccaccgatcatcaggtcacgctggtggacctgcccggcacctattctctgacc
+accatctcatcgcagacctcgctcgatgagcaaatcgcctgtcactacattttgagtggc
+gacgccgacctgctgattaacgtggtggatgcgtctaaccttgagcgtaacctgtacctg
+acgctacaactgctggaactcggcattccctgcattgtggcactgaacatgctcgacatt
+gccgagaagcaaaatattcgtattgaaattgatgctctgtcggcgcgtctgggctgtccg
+gtgatcccgctggtttcaacccgtggtcgcggtattgaagcgctcaagctggcgattgat
+cgctataaagctaacgagaatgtggaactggtgcattacgcacagccgctgctcaacgaa
+gcagattcactggcaaaagtgatgccttccgacatcccgctgaaacaacgtcgctggctg
+ggcctgcaaatgctggaaggcgatatctacagccgcgcctacgccggtgaagcgtcgcag
+catctggatgccgccctcgcccgtctgcgtaatgagatggacgatccggcgctgcacatt
+gccgatgcgcgttaccagtgcattgctgccatctgtgatgtggtaagcaacaccctgacg
+gcagaacccagccgtttcaccactgcggtagataaaatcgtgctcaaccgtttcctcggt
+ctgccgattttcctctttgtgatgtacctgatgttcctgctggctatcaacatcggcggg
+gcgttacagccgctgtttgacgtcggctccgtggcgctatttgtgcatggtattcaatgg
+attggctacacgctccacttcccggactggctgactatcttcctcgcccagggcctgggt
+ggcggcattaacaccgtgctgccactggtgccgcagattggcatgatgtacctgttcctc
+tccttccttgaggactccgggtatatggcgcgtgcggcgtttgtgatggaccgtctgatg
+caggcgctgggcttgccggggaaatcctttgtgccgctgatcgtcggtttcggttgtaac
+gtaccgtcggtaatgggtgcacgtacgcttgatgcaccgcgtgaacgtctgatgaccatc
+atgatggcaccgtttatgtcctgcggcgcgcgtctggctatcttcgcagtattcgcggct
+gccttcttcgggcagaacggtgcgctggcggtcttctcgctgtatatgctgggtattgtg
+atggcggtgctgactggcctgatgctcaagtacaccatcatgcgcggtgaagcgacgccg
+tttgtcatggagttgccggtctatcatgtaccacacgttaaaagcctgattatccagacc
+tggcagcgtctgaaaggcttcgttctgcgtgctggtaaagtgatcatcatcgtcagcatt
+ttcctgagcgctttcaacagcttctcgctgagcgggaaaatcgtcgataacatcaacgac
+tcggcgctggcgtccgtcagccgggtgatcaccccggtcttcaagccaattggcgtgcat
+gaagataactggcaggcaacggttggcctgtttacaggtgccatggcgaaagaagtggta
+gtgggtacgctcaacaccctctacaccgcagaaaatattcaggacgaagagttcaatccg
+gcagaatttaacctcggtgaagagctgttcagtgcgatagatgaaacctggcagagcctg
+aaagacaccttcagccttagcgtactgatgaaccccattgaagccagcaaaggcgacggc
+gaaatgggtaccggggcgatgggcgtgatggatcagaaattcggtagcgcagcagcagct
+tacagctacctgattttcgtcctgctgtatgtaccatgtatctcggtgatgggggctatc
+gcccgtgaatcaagccgtggctggatgggcttctccatcctgtgggggctgaatatcgct
+tactcactggcaacattgttctatcaggtcgccagctacagtcagcatccaacttacagc
+ctggtgtgcattctggcggttatcctgtttaacatcgtggttatcggtctgctgcgccgc
+gcgcgtagccgggtggatatcgaactgctggcaacccgcaagtcggtaagcagttgctgc
+gcagccagcaccaccggtgattgccattaatggcttcacttattcaggtgcgcgatttgc
+tggcgttacggggccgtatggaagcggcccagataagccagacattgaacactccacagc
+caatgattaacgccatgctgcaacaactggaaagtatgggcaaagccgtgcggattcagg
+aagaacctgacggctgcctctctggcagttgtaaaagctgcccggaaggaaaagcctgtc
+tgcgcgagtggtgggcgctgcgttaaccttactccatcgcctgttttggaaagcccggta
+tgcgtctgcatccgggcttttttgcgtgcggctttccataaaaatgcaactcttgcagca
+cggcgtaagttcctttgaaagcatctcgcagggatgaaaactcgctaatacacaggtgtg
+gagtggcgcgtagagtcgcggcattcaaacaacaggtgaaggaacgccatgagcaaaaag
+cagagttccaccccacacgatgcgctgttcaaactctttttacgccaaccggacacggct
+cgtgattttcttgcgtttcatttaccggcacccattcacgcgctttgtgatatgaaaacc
+ctcaagctggagtcgagcagctttattgatgacgatctgcgtgaaagctattccgatgtg
+ctgtggtcggtgaaaacggaacaaggaccaggatacatctattgtctgattgaacatcaa
+agcacctcaaacaaactgatcgcatttcgcatgatgcgttacgctattgccgcaatgcaa
+aatcaccttgatgctggatacaaaacgttgccgatggtggtgccattgttgttttaccac
+ggtattgaaagcccctatccctattcgctgtgttggctggattgtttcgccgatcccaaa
+ctggcaaggcagctttatgcctccgcatttccgctgattgatgtcaccgtcatgcctgat
+gatgaaatcatgcagcaccgacgtatggcgctgctggagttaattcaaaaacatattcgt
+caacgcgacctgatggggctggtagagcaaatggcctgcttattaagtagtggatacgct
+aatgacagacaaatcaaagggctgtttaattacatactgcaaactggcgacgctgtacgt
+tttaacgattttatcgacggcgttgccgaacgttcaccgaaacacaaggagagtttaatg
+actattgcggaaagattgcggcaggagggggaacaatccaaagccctgcatatagccaaa
+ataatgcttgaatccggagttcctcttgcagacatcatgcgctttaccgggctgtcagaa
+gaagagttggctgcggcgagtcagtaaagttctgtctcgccatttcaaaagccacctaca
+ccctctgcttcaacgccaccagcaggtgacaaaactcggccggatgcgaaataaatggcg
+catgggccgctttggcgaagatatatgattcgctgtgaggccaaagtttatccagcatcg
+gcaccactttgcgcggcaccagaccgtcgagatagccatacaatcgcaaaaacggcatgg
+acacgttttgcagcggctgacggagatcgaccgttttcaggatttccagcccgccattaa
+gcacgtcaacctccggcatcggtaacgccagaacggttttcttcaacgcccgcgcatcct
+ggcgcgccgtttcagtccccatggtttgtaacgccaggaaccgctccactgtacgctgaa
+aatcatcactgagttgctgctgaaatcccgccagcacgtccggttttatccccggccact
+cgtcacgagcactaaaacaaggtgacgacgccacggtgaccagcgcctgaacacgctcgg
+gatgggttaacgcaatctggcttgccaccagcccgcccagactccagcctaaccaaatgg
+ctttatcaggtgcctgttgcagcacggcttcggccatatcagcaagtgacagcgcaccaa
+atccccggctacgcccgaagccgggcaggtcaacaaggtgcagcgtaaaatgcgagctaa
+gttcctcgtcaatgcaacgccacacttcggcattcagtccccatccgtgcagcagcacaa
+gatgaacattcccctgacctttggtctgccaccagatgttattcatccgctattgttctc
+ttttgacttacaaggatgaacatatgctaacagtaccgggattatgctggctatgccgaa
+tgccactggcgttaggtcattgggggatttgttcggtctgttcacgcgccacccgcacag
+ataaaacgttatgcccacaatgtggattacccgccacacactcccatcttccctgcggtc
+gctgcctgcaaaaaccgccgccctggcaaagactggtcacggttgccgactatgcgccgc
+cgttaagtccgcttatccaccagcttaaattttcccggcgcagtgaaatcgccagcgccc
+tgtcacgtctgttactattggaagtcttacacgctcgtcgcaccaccgggttgcaattgc
+cggatcgcatcgtcagcgttccgttatggcagcggcgtcactggcgtcggggatttaatc
+agagcgatttgctgtgtcagccgttatcacgctggttgcactgccaatgggatagcgaag
+ccgtcacacgtacacgggccactgcgacccagcattttctcagtgcccggctgcgcaagc
+gcaacctgaaaaatgcctttcgtcttgaattgcccgtgcaaggtcgccatatggtgattg
+tggatgatgtcgttaccaccggaagtaccgtcgcagagattgcgcagttgcttttacgca
+atggtgcggcggctgtccaggtctggtgcctttgtcgaaccttgtagagcctcgatgatg
+ggcgtattataaccaactaaaatagtcaactattaggccattactatgatccgtatttcc
+gatgctgcacaagcgcactttgccaaactgctggcaaatcaggaagaagggacacaaatc
+cgcgtatttgtgattaaccctggcacgcctaacgctgaatgtggcgtttcttattgtccg
+ccggacgctgtggaagccaccgacacagccctgaaatttgacctgctgaccgcgtatgtt
+gatgagttaagcgcaccatacctggaagatgcagagatcgattttgttaccgaccagttg
+ggttcccagttaacgctgaaagccccgaacgccaaaatgcgtaaagtggcagacgatgca
+ccgctgatggagcgcgtggagtatatgctgcagtcgcagatcaacccacagcttgctggt
+cacggtggtcgcgtttcgctgatggaaatcaccgaagacggttacgccattctgcaattt
+ggcggcggctgtaacggttgttccatggtcgatgtgacgctgaaagaagggatcgagaag
+cagctgctgaacgaattcccggagctgaaaggtgtgcgcgatctcaccgaacaccagcgc
+ggcgaacactcctactactaagttatcccctcttttgtagattgcccgatgcgacgctaa
+agcgtcatttcgggcctacgttgaacatgtgccagacgttggcgcagcattgctttgtca
+aatcctcggttcgtttccccgcgataatatgaccaacctctcataatttaaatttacccc
+gctctggtgattctcaaacgccagatgttacccgtatcattcacatgggtaccaaacata
+ctcctgacatctgactacaataattagttttagtgggtatcagtcgtggtgccgcaatat
+ctctgttcccgattgggataattagagtttgtcgtcagaaaattgacgttacccataaca
+aatgaaaggccaggtaaatcatgccattagtcattgttgctatcggtgtaatcttgttgt
+tgctcctgatgatccgcttcaaaatgaacggcttcatcgctctcgtcctcgtggcgcttg
+ctgttggattaatgcaaggaatgccgctggataaagttattggctccatcaaagccggtg
+tcggcgggacgctcggtagccttgccctgatcatgggttttggcgcaatgctgggcaaaa
+tgctggcagactgcggtggcgcacaacgtatcgccaccacgctgattgccaaatttggta
+aaaaacacatccagtgggcggtggtactgaccggttttaccgttggttttgccctgttct
+atgaagtgggctttgtgctgatgctgccgctggtgtttaccatcgcggcttctgcgaata
+ttccactgctgtatgttggtgtaccaatggcggctgcactgtctgtgacccacggcttcc
+tgccaccgcatccgggtccgactgcgattgccaccattttcaatgccgatatgggtaaaa
+ccctgctgtacggtactattctggcaatcccgaccgtgattctcgccggtccggtttacg
+ctcgcgtgttgaaaggtatcgataagccaattccggaaggtctctacagcgcgaaaacct
+tcagcgaagaagagatgccgagctttggcgtcagcgtctggacctctctggtgccggtag
+tactgatggcgatgcgtgcgattgccgaaatgatcctgccgaaaggtcacgctttcctgc
+cggtagcggagttcctcggtgacccggtaatggcaacgctgattgccgtgctgattgcga
+tgttcacctttggtctaaaccgtggtcgttcaatggatcagattaacgacacgctggttt
+cttccatcaaaatcattgcgatgatgctgttgatcatcggtggtggcggtgcgttcaagc
+aggtgctggtagacagcggcgtggacaaatacattgcttccatgatgcacgaaaccaaca
+tttctccgctgctgatggcctggtcgattgctgccgtactgcgtatcgcgctgggttccg
+caaccgttgcggcaatcactgcgggtggtatcgcggcaccgctgattgcaacgacgggtg
+ttagcccggagctgatggttattgcggttggttccggtagtgtgattttctctcatgtga
+acgatccgggcttctggctgttcaaagagtactttaacctgactatcggcgagaccatca
+aatcctggtcgatgctggaaaccattatctcggtgtgcggtctggtaggctgtctgctgc
+tgaatatggtgatttgataacactgactgccggatgcggcgtgaccgccttatccggcct
+acgattcgggatgaattagtaggccggataagacgcgtcaagcatcgcatccggcatcaa
+ccgcactctacttcttcttcgctgcagctctgcgccgtctgtccaaatccttcagcaact
+tgttcacgccatcatcggcaaacatcgactcaagcgttgcggaaagcttgcgtcgccagt
+ttttatactggtaactggtgccaggaatattcaccggttcggccatatccagccagtctt
+ccggctgtagtcctaacagagcactgttactgtcggcaatgtagcgctgcaaaccacggt
+tcagcgtcggcgtcatcgacatcaacgatgccttatgcccggcacgtttcggcagacaac
+catatttatgcagtgcatccagcagcccttgcttcgccagttcgcgatcctgatacagac
+cgcgcagtaccacttcatccggatacagccccagggttttgcccagcgttagatccccgc
+actcccagtaaccgcgcagcgttggcaggtcatgtgtcgccgcaaccgccatcgactgct
+ccggatacgctttcggtgcacggaacgtcttctcgtggtcgttttcgaaatagagcactt
+tgtaagagtacacaccgctgctgcgcagcttaccgacaatctctaccggtacggtaccga
+gatcttcaccaatcaccatacagcgatgacgtttactttcgagtgccagaatcgagagca
+gatcatccaccggatagtgaacatacgcgccctgatctgccgtctcgccatacggtatcc
+accacaaacgcagcatcgacatcacatggtcaattcgtaatgcgccgcagttttgcatat
+tggcacgcaacagctcgataaacggttcataggcacgcgcggtgatgatatgcgggtcca
+ttggcggtaatccccagttctgccccaacgggccgaggatatccggcggcgcgccaaccg
+atgctttcaggcaatatagttcacggtcacaccaggtttccgccccaccttccgctacgc
+caaccgccagatcacgatacaagccaatcggcatttcatagccctggcttatctcccagc
+aggcggcaaactggctgtaagccagccactgcaaccagagataaaaatcgacgtcatcac
+gatgttcttcgcagaactgacgcacttctggtgaatccacgttctgatacatctctggcc
+atgcaggccagccccagcgcatttcgtcctctttcacttgctgggcatgtagcgcatcaa
+aggctgcctgccagaacaggctgtcgccctgctctgcaacaaactggcgaaacgcggcca
+tctgctcatcatcacgttgcgcgaaacctttccacgccattcgtaatgctgtcattttta
+gggcggtaaccgtggagtaatcgacccagtcggcatcgcgcgcctgttgcagcgtctgtt
+gcgtggtcggcaactgccaccaggcctgagcctcttcgctaagatggaaatcttcaacgg
+cgttaacgtcgatataaatcacattcagccaacggcgagaagacgggctgtatgggctgg
+cgctctccggatttgccggatagagcgcatgaatcgggttcaggccaatgaacgacccgc
+cacgttttgccacatccaccagcatcgctttgagatcgccaaaatccccaataccccagt
+ttttttccgatcgcagcgtataaagctgaacgcaggcaccccacagcttttgtttattca
+gcaacgcctgcggttcgtaacagcgtttcggggcgacaatcacccggcaatgcgcgcgct
+ggtcgtcctgggtgagtgtcagcgtgtgataaccttccggcagcttcgtcggtagattga
+acgctttgccccccgttacatggcctttgtactgcgttccttcttcggtggtcagcagcc
+agctatattcgccgctgccctccaccaccatcggcatttttttgccgctggtataaacca
+tgacattcgggactggcgttaccgccactttcgtggcggtacgttgatgcatcgcgtcaa
+gcaaacgccgtttggtttcggcgctaatcgactgcggtttaccgtgggcattgatgtaat
+tggggctaatccccgccgccagcgcggcattatccagacgtttgctttccatcgagcttc
+cttagcgttttgcctgccagatacgagcctgataatcgcgaatagagcgatccgagctaa
+acataccgcagcgggcggtattgaggatcgccgcgcgagtccaggcctcctggtcgcggt
+acagcacatccacctgcttttgtgcctctacataggctgcgaaatccgccatcaccagat
+acggatcgccgccctgtttgccgatactgtgcagcatctggtcgaaggcatgcttatcgc
+cgtcgctgtatttaccgctttccagctctttcaatactgcgtccagcaccttatctttct
+tccgccatttcaccgggtcgtagcctttggccagaattgccttcacttgttccacggtat
+gaccaaaaataaagatattttcttcaccgactttctcggcgatttcaacgttcgccccat
+ccagcgtaccgacagtaagcgcaccattgagcgccagtttcatattgccggtaccggaag
+cttctttacctgcagtcgaaatttgttcggagatatccgccgccgggatcagtttttccg
+ccgccgaaacgcaataatccggcaggaacaccaccttcaacttatcgccaaccagcggat
+cgttgttgatcacgtcagccactttgttgatcgcaaagataatattcttcgccaggtagt
+agcccggtgccgctttcgcgccgaagaggaagacgcgcggtacgcgatcagcctgcgggt
+tttcacgaatttctttgtacaacgccagaatatgcagcagattcaggtgctggcgtttgt
+actcatgcaaacgtttgatctgaatatcgaaaatcgcctgtggattgatctcaataccgg
+tacgaactttcacaaactccgccagacggactttattcgcctgcttgatctcgcgatatt
+gctgacggaatttcgcatcatcagcgaatttttccagattgatcagctgatcgagatcgt
+tagcccactctttttgcagtgatttatccaacagagccgccagtgccgggttgcactgtt
+tgatccagcgacgtggggtaataccgttggtgacgttatggaatttgttcggccatagct
+ggtgatattccgggaacagatctttcaccaccagatccgagtgcagcgccgcaacaccgt
+tcaccgcgaaaccgccaaccacacacaggttcgccatatgcacttgtttgtcgtgcacca
+ccgccagtttggcccacactttttcatcgcccggccaggttttctctaccagcgttttaa
+agcgagtattaatttcgttaataatctgcatgtggcgcggcagtaagcctttcaccagtt
+tcacatcccagcgttccagcgcttctggcatcagggtatggttggtgtaagcgaaagttt
+tgctggtaatggcccaggcgtcatcccagctcatctggtgctcatcgatcagcacgcgca
+gcagttctggaatcgcgatagttgggtgggtatcgttcagctgaataacttcgtaatccg
+ccagttcgtgcagtttacgccccgccagatgatggcgacgcaaaatatccgctaccgaac
+aggcacactggaagtattgctgcatcaggcgcagctttttaccggcagtatggttgtcgt
+ttggatagagaactttggtcagtttttccgcattgatgccctgctgttcggcacgcaaga
+aatcaccgtcgttaaatttagtcagatcaaacggatgcgcgtgcgtcgcctgccacagac
+gcagcggctgcgccacgccattacgatagccgacaacggggagatcccacgcttgaccgg
+taatggtaaactccggctcccagcgtccgtctttcgtcactttaccgccaatccctacct
+gcacatccagtgcttcgttgtggcggaaccacgggtagttactgcgatgccagtcatccg
+gcgcttcaacctgtttgccatcgacaaaagactggcggaacaaaccatattgatagttca
+gaccgtaacccgtcgcagactgaccgacagttgccattgagtcgaggaagcacgccgcca
+gacgtcccagaccaccgttacccagcgccgggtcgatctcttcttccagcaggtccgtca
+gattgatgtcataagccttcaacgaatcctgtacatcctgataccagccgagattcaaca
+ggttgttgcccgtcaggcgaccaatcaaaaactccattgagatgtagttaacatgtcgct
+gattcgccaccggcttggcgaatggctgagcacgcagcatttcggccagtgcttcactca
+ctgctagccaccactggcgaggagtcatttcagccgcagaatttaagccataacgctgcc
+actgacgtgaaagcgcttcctgaaattgcttatcgttaaaaataggttgtgacataggag
+ttccacttttcttagattttcaacacaacgttatcgctagtttgccaggctcgatgttga
+ccttcctcatcctgcgggggattaggcagggaggagttgcggggatgagcaaggaaatgt
+gatctcaaccacttaaagctagtgcaaaccacaggattagcatcaaatcaatgcaataca
+gcgcagaaaatctgtatctaagtgcaaaaaatggccgttgcgtattttcaaaaagcggaa
+ggtaactctataaattaagtaaaggagtgaaacagtttcataagtaaaatatccagtgtg
+ctccatctcattcttaatagatttattaagatcatctttttagatggcactttcatcagg
+aatgaagaagaaacccttgcttaaatgaatctgatgaacataagggaaaccagtattcac
+gctggatcagcgtcgttttaggtgagttgttaataaagatttggaattgtgacacagtgc
+aaattcagacacataaaaaaacgtcatcgcttgcattagaaaggtttctggccgacctta
+taaccattaattacgaagcgcaaaaaaaataatatttcctcattttccacagtgaagtga
+ttaactatgctgattccgtcaaaactaagtcgtccggttcgactcgaccataccgtggtt
+cgtgagcgcctgctggctaaactttccggcgcgaacaacttccggctggcgctgatcacg
+agtcctgcgggctacggaaagaccaccctcatttcccagtgggcggcaggcaaaaacgat
+atcggctggtactcgctggatgaaggtgataaccagcaagagcgtttcgccagctatctc
+attgccgccgtgcagcaggcaaccaacggtcactgtgcgatatgtgagacgatggcgcaa
+aaacggcaatatgccagcctgacgtcactcttcgcccagcttttcattgagctggcggaa
+tggcatagcccactttatctggtcatcgatgactatcatctgatcactaatccagtgatc
+cacgagtcaatgcgcttctttattcgccatcaaccagaaaatctcaccctggtggtgttg
+tcacgcaaccttccgcaactgggcattgccaatctgcgtgttcgtgatcaactgctggaa
+attggcagtcagcaactggcatttacccatcaggaagcgaagcagttttttgattgccgt
+ctgtcatcgccgattgaagccgcagaaagcagtcggatttgcgatgacgtttccggttgg
+gcgacggcactacagctaatcgccctctccgcccggcagaatacccactcagcccataag
+tcggcacgccgcctggcgggaatcaatgccagccatctttcggattatctggtcgatgag
+gttttggataacgtcgatctcgcaacgcgccattttctgttgaaaagcgccattttgcgc
+tcaatgaacgatgccctcatcacccgtgtgaccggcgaagaaaacgggcaaatgcgcctc
+gaagagattgagcgtcaggggctgtttttacagcggatggatgataccggcgagtggttc
+tgctatcacccgctgtttggtaacttcctgcgccagcgctgccagtgggaactggcggcg
+gagctgccggaaatccaccgtgccgccgcagaaagctggatggcccagggatttcccagc
+gaagcaattcatcatgcgctggcggcaggcgatgcgctgatgctgcgcgatattctgctt
+aatcacgcctggagtctgttcaaccatagcgaactgtcgctgctggaagagtcgcttaag
+gccctgccgtgggacagcttgctggaaaatccgcagttggtgttattgcaggcgtggctg
+atgcaaagccaacatcgctacggcgaagttaacaccctgctagcccgtgctgaacatgaa
+atcaaggacatcagagaagacaccatgcacgcagaatttaacgctctgcgcgcccaggtg
+gcgattaacgatggtaatccggatgaagcggaacggctggcaaaactggcactggaagag
+ctgccgccgggctggttctatagccgcattgtggcaacctcggtgctgggtgaagtgctg
+cactgcaaaggcgaattgacccgctcactggcgctaatgcagcaaaccgaacagatggca
+cgccagcacgatgtctggcactacgctttgtggagtttaatccagcaaagtgaaattctg
+tttgcccaagggttcctgcaaaccgcgtgggaaacgcaggaaaaagcattccagctgatc
+aacgagcagcatctggaacagctgccaatgcatgagtttctggtgcgcattcgtgcgcag
+ctgttatgggcctgggcgcggctggatgaagccgaagcgtcggcgcgtagcgggattgaa
+gtcttgtcgtcttatcagccacagcaacagcttcagtgcctggcaatgttgattcaatgc
+tcgctggcccgtggtgatttagataacgcccgtagccagctgaaccgtctggaaaacctg
+ctggggaatggcaaatatcacagcgactggatctctaacgccaacaaagtccgggtgatt
+tactggcaaatgaccggcgataaagccgccgctgccaactggttgcgtcatacggctaaa
+ccagagtttgcgaacaaccacttcctgcaaggtcaatggcgcaacattgcccgtgcacaa
+atcttgctgggcgagtttgaaccggcagaaattgttctcgaagaactcaatgaaaatgcc
+cggagtctgcggttgatgagcgatctcaaccgtaacctgttgctgcttaatcaactgtac
+tggcaggccggacgtaaaagtgacgcccagcgcgtgttgctggacgcattaaaactggcg
+aatcgcaccggatttatcagccattttgtcatcgaaggcgaagcgatggcgcaacaactg
+cgtcagctgattcagcttaatacgctgccggaactggaacagcatcgcgcgcagcgtatt
+ctgcgagaaatcaatcaacatcatcggcataaattcgcccatttcgatgagaatttcgtt
+gaacgtctgctaaatcatcctgaagtacctgaactgatccgcaccagcccgctgacgcaa
+cgtgaatggcaggtactggggctgatctactctggttacagcaatgagcaaattgccgga
+gaactggaagtcgcggcaaccaccatcaaaacgcatatccgcaatctgtatcagaaactc
+ggcgtggcccatcgccaggatgcggtacaacacgcccagcaattgctgaagatgatgggg
+tacggcgtgtaagtttagccggataacgcgccagatccggcttacatctctgcatcattc
+aatgctcacccgcgttacgccatctgtttctatcaaactaaaccgcaccggcaagaaacg
+ctccaccaccgcgatattggtcagcagatggcatgagggatgggcgaccgtaaattcccc
+cgcgcccgccagcgccatcggtagcaccagttggtcagcaagatattcccccaccgccgc
+cgtgcttgccaggtagcgtttcacctctttcaccaactgtgccgcaaccacctcggcact
+gacgcgcttttcaccgacgacaaaaaagcgttcggtgatattttcactttcgacttcaag
+cgagacggtattacccggcccctggtcgcgcggcaggttatgaatattctgttcatgcag
+ggaaaaactccccgccagtgtagcgatttcacgctcagcaacatggcgcggcacaccagc
+taatagaacttctccacgcatctgcacaatgttcccgcgctcgccaagttgcaaggtgtt
+aaacgatgccacgggcgagacttccgttgccaccacaccgcctccggcagggtaaaaacc
+gtggcgtaacagcgtggtttgctgatgaattcctattttcgccagcagcggctccagcac
+ccggcggataaaatccgcaggcggcgccgacgggttatcggtgccgccgctcacttcaac
+acgcgaaggtccatcggcaaaccacagcgcgggcagcaccgtttgcagcaccagcgtaca
+acttccggcgctaccgatagcaaagcggtaatcgccgccgcgcacggtgccgggccggaa
+gagcagacgctgcgaccccagctccgcgccttccacggttgctccgcaaatttccgtcgc
+cgcctttaccgcggtcagatgctggcgcaacagccccggtttcgcccgcccggcacgaat
+gctggtgatggtaaatggctggccggttatcatcgacaggctcagcgccgagcgcaggat
+ctgcccgccaccttcgccctgtgcgccatccagcgcaatcatccttttcatcatttatcc
+ttttacgcacaccacctgacgcagggtatagataacttccaccagatcgctttgtgccgc
+catcaccgcatcaatatctttatacgccatcgggatttcgtcgatcacttcggcatcttt
+acggcattccacatgcgcggtggcacgaatttgatcttccacgctgaacagttttttcgc
+tttagttcggctcattacccgcccggcaccgtggctgcacgaacagaacgactcttcatt
+tcccagcccacggacgataaagctttttgctcccatcgaaccgggaataattccatattg
+accagcacgcgcagacaccgcgcctttacgcgtcacgtagatctcttcaccaaagtgctg
+ttctttttgcacatagttgtggtgacagttgatctcttccatcgccagcgtttgtggctg
+tctgaccgttttctgcgtaatgctctgcaatgccgttaccacgttttccatcatcgcatc
+gcggttaaggctggcaaaaagctgcgcccaggccacggctttcaggtaatcatcaaagta
+ttccgtaccttccataaagtacgccagatcacgcgacggcaacgtctcaagcgtttcctg
+catctctttttgtgccagatcgataaagtaagtcccgatggcgttaccaattccgcgtga
+accggagtgcagcataatccacacctggtccgactcatcaaggcagatttcaataaagtg
+gttaccggttcccagcgttcccaggtgtttatagttattggtattcaggaaacggggata
+tttttgcgttaaccactgataaccggcttcaagctcagcccatttagcatcgacgttaac
+aggtggattttcccaggcacctttatcacgtttacaacggccagtggtacgcccgtgcgg
+cacggccgtttcaatcgcctgacgcagctctgccaggttttcaggcaggtcttccgccgt
+taacgcggtacgcagcgcgttcattccacagccaatatccacgcccaccgccgccggaat
+aatcgcccctttggtcgggatcacgctaccaatggtggaacctttacccaggtgtacatc
+aggcattaccgcaatatgtttgaaaataaacggcatcttcgccgtattaataagttgctg
+acgcgcatcggcctctaccggcacgcctttggtccacatttttaccggggcattttcagt
+ggtcagtaattcgtaattcattttgtttttctcttttcgttgtttgctgtcctgataatt
+gcaaccgtcgtgccagaaaattaaataagcagcttaattttttaattcattgttttaaaa
+aagattatatctttacgtccgtaaccggagatttcccgcaaagccaatttaccgataatg
+aaatatcgtcttttataaggatatctaagatgcgtaaaacagtggcttttggctttgtcg
+gtaccgtactggattatgccgggcgcggcagtcagcgctggtcaaaatggcgtccgacac
+tctgtttatgccagcaagaatcgttggtcatcgatcgactggaattgttgcacgacgccc
+gctcgcgctcgctatttgaaacgcttaaacgcgatatcgccagcgtttcgccagaaacag
+aagtggtgagcgttgagattgaactgcataacccgtgggatttcgaagaggtctacgcct
+gcctgcatgatttcgcccgtggttacgagtttcagccagaaaaagaagactatttaattc
+acatcaccaccggtacccacgtcgcgcagatttgctggtttctgctggcagaagcgcgtt
+acctgcccgcccggctgatacaatcttcacctccgcgcaaaaaagaacagccgcgcggcc
+caggtgaagtaacgattatcgatctcgatttaagccgttataacgccatcgccagccgct
+ttgccgaggaacgccagcaaacgcttgattttcttaagtccggcattgccacgcgtaacc
+cccacttcaaccgcatgattgagcagatcgaaaaagtggcgatcaaatcccgcgcgccga
+ttctgcttaacggtccaaccggcgcgggcaagtcatttctggcgcgacgcatcttagagt
+taaaacaggcgcggcatcagtttagcggcgcgtttgtggaagtgaactgcgccaccctgc
+gcggcgataccgccatgtcgacgctgtttggtcatgtaaaaggcgcgtttaccggggcgc
+gggaatctcgtgaaggtttattacgcagcgccaacggcggaatgttgtttcttgatgaga
+ttggcgaactgggcgcagacgaacaggcaatgctgctgaaagccattgaagagaaaacct
+tttacccgtttggcagcgatcgccaggtgagcagtgattttcagcttatcgccggaacgg
+tgcgcgatttgcgccagctggttgccgaaggcaaatttcgcgaagatctgtacgcgcgga
+tcaatctctggaccttcaccctgccgggtctacgccagcgccaggaagatattgaaccga
+acctggattatgaagtggagcgccacgcctcactcactggcgacagcgtgcgttttaaca
+ccgaagcgcggcgcgcctggttggcttttgcgacctctccccaggcaacatggcgcggta
+actttcgcgaactttctgccagcgtcacgcggatggccacctttgccactagcggacgca
+tcactctggacgtggttgaagatgagataaaccgtctgcgctataactggcaggagagcc
+gcccctccgcgcttacggcgttgctgggcgcagaggcagaaaacatcgatctcttcgacc
+gtatgcaactggaacacgttatcgctatctgccgccaggcaaagtcgctttccgcagccg
+gacgccagctttttgacgtttcgcgccagggcaaagccagcgtcaatgacgcggatcggc
+tacgcaaatacctggcgcgttttggtctgacgtgggaagccgtgcaggatcagcacagct
+ccagttgaatatggtggtccgtcagcacctgcatcacgcttactggcggcggggcgtcgg
+tgtagacggcatctaccatgctgatgctgcccatattgaccatcgcgttacggccaaatt
+tcgagtgatcgacaaccagcataacgtggcgcgagttctcaataatggcgcgtttggtgc
+gaacttcgtggtaatcgaactccagcagcgagccgtcgctatcgatgccgcttatcccca
+gaatgccgaaatcaaggcggaactgggagataaaatcgagcgtcgcttcgccaatgatcc
+cgccatcgcggctgcgtaattcgccaccggcgagaatgatgcgaaaatcttcttttacca
+tcaacgtgttagcaacgttgagattgttggtgacaatgcgcaaattgctgtgattgagca
+gtgcgtgcgctaccgcttccggcgtggtgccgatatcgataaacagcgtcgagccattgg
+ggatttgctccgccactttgcgggcgatgcgctctttttcttcggtctgggtggccttgc
+gatcgtgccacggcgtgttaaccgaactggaaggcagcgccgcaccgccatgatggcgca
+ggatcaggttttgctccgccagctcattgaggtcgcggcgaatagtctgcgggctgacgg
+agaaatgctctaccagctcttcggtactgacataaccctgctgtttaaccagttcgataa
+taccgttgtgacgttgtgtttgtttcatttataaatccctggaattattttcgttttcgc
+gcattgagcgaatcaacaaaagccatcgctaaacccacggctaacccggcgatgtgtgct
+ccgttcgccatcgacatcccaaacaaatcaaaccatccggcgacaatccagatcagcgca
+aagataattaacccacgttgcaggtaaatgccactttgcggatcgcgttcgccacgtagc
+cagacgtagcccatcagcgcatacaccacgccagaaagcccgccaaaccacggcccgctg
+aatttttgctgcacatagccgcttaacagggcgctgataagcgtaatgacaattagctta
+ccgctaccgaggcgtttttccaccgcaccgccgagataccaccaccagagcaggttaaag
+aggatatgcatcagcgagaagtgcattaacgcgtgggtgaagtaacgccagaactcaaat
+ttcagtgttggatcgaatggccaggccagccataacatcacttcctgatcgccgagaatt
+tgcatggcaataaacaccaccacgcaggcgatcatcatcacccaggttaccggacctgcg
+cgttcacgcaaggcggcaaagaaaggataacggcgataatgcaggccactgccggtatgg
+cctgcctgccagctcgccgccagataacgcggatctgccgggttttcgagaaaacgcgcc
+agctccgcccgtacgcgctcggcctgggactcatccgccagccagacatcgctttggtta
+tgttgttgaatcgtgaggataacaccctgcgtcgccatgtaatcaacaaacgcctgcgcc
+acgcgggggttagcaaaagaggtaatcatcaacatcgttgctgtcgcttattccacacaa
+aaggggacagtataaagcgttacgcgccgtacgccacctctgcgggaaactgacgttgcc
+aggcttcaaagccgccgtcaatgctatagaccacatcgtagccctgttgcagcagatact
+gcgccgcgcctttgctgctattgccgtgataacacatcaccatcaccggagtgtcaaagt
+cgttatcacgcataaaagcgcccagcgtgtcgttggttaaatggaaagcctgcaccgcat
+gtcccattgcgaaactctgtggatcgcgaatatcgaccagcaccgcctctttttcctgca
+acttctggtgcgcgtcggcaacgttaatacattcgaactgatccatgcgtctctctttct
+ttacaaacaagtgggcaaatttaccgcacagtttacgtcgaagcggcagataaacgccat
+aatgttatacatatcactctaaaatgttttttcaatgttacctaaagcgcgattctttgc
+taatatgttcgataacgaacatttatgagctttaacgaaagtgaatgagggcagcatgga
+aaccaaagatctgattgtgatagggggcggcatcaatggtgctggtatcgcggcagacgc
+cgctggacgcggtttatccgtgctgatgctggaggcgcaggatctcgcttgcgcgacctc
+ttccgccagttcaaaactcattcacggtggcctgcgctaccttgagcactatgaattccg
+cctggtcagcgaggcgctggctgaacgtgaagtgctgctgaaaatggccccgcatatcgc
+cttcccgatgcgttttcgcctgccacatcgtccgcatctgcgcccggcgtggatgattcg
+cattggtctgtttatgtacgatcatctgggtaaacgcaccagcttgccgggatcaactgg
+tttgcgttttggcgcaaattcagtgttaaaaccggaaattaagcgcggattcgaatattc
+tgactgttgggtagacgacgcccgtctggtactcgccaacgcccagatggtggtgcgtaa
+aggcggcgaagtgcttactcggactcgcgccacctctgctcgccgcgaaaacggcctgtg
+gattgtggaagcggaagatatcgataccggcaaaaaatatagctggcaagcgcgcggctt
+ggttaacgccaccggcccgtgggtgaaacagttcttcgacgacgggatgcatctgccttc
+gccttatggcattcgcctgatcaaaggcagccatattgtggtgccgcgcgtgcataccca
+gaagcaagcctacattctgcaaaacgaagataaacgtattgtgttcgtgatcccgtggat
+ggacgagttttccatcatcggcactaccgatgtcgagtacaaaggcgatccgaaagcggt
+gaagattgaagagagtgaaatcaattacctgctgaatgtgtataacacgcactttaaaaa
+gcagttaagccgtgacgatatcgtctggacctactccggtgtgcgtccgctgtgtgatga
+tgagtccgactcgccgcaggctattacccgtgattacacccttgatattcatgatgaaaa
+tggcaaagcaccgctgctgtcggtattcggcggtaagctgaccacctaccgaaaactggc
+ggaacatgcgctggaaaaactaacgccgtattatcagggtattggcccggcatggacgaa
+agagagtgtgctaccgggtggcgccattgaaggcgaccgcgacgattatgccgctcgcct
+gcgccgccgctatccgttcctgactgaatcgctggcgcgtcattacgctcgcacttacgg
+cagcaacagcgagctgctgctcggcaatgcgggaacggtaagcgatctcggggaagattt
+cggtcatgagttctacgaagcggagctgaaatacctggtggatcacgaatgggtccgccg
+cgccgacgacgccctgtggcgtcgcacaaaacaaggcatgtggctaaatgcggatcaaca
+atctcgtgtgagtcagtggctggtggagtatacgcagcagaggttatcgctggcgtcgta
+aattaacgtaaggtgatcaggtcagatttcaatctggcctgagactgatgacaaacacaa
+aactgcctgatgcgctacgcttatcaggcctacgtggtttatgcaatatattgaatttgc
+atggtcttgtaggccagataagacgttcacgtcgcatccggcatgaacaaagcgcacttt
+gtcaaaaatctaacctactttttaattcagggaattaccgcaaagcccacgccatcatac
+ccaacgtaacaaaactcaggcacgttccccactcgccccgagaaaaatagcattaatgcg
+cccagcgccagcataaaaattttgagcagaaggtaaattgttggcgtgataaggatatta
+caaacttcaataataccggcaagtccgacacccagcatggcaataaccaccgccaaaaat
+tgcgccagtatggggatgccgaaaaaagtcattaccagcgaggtcaaaatccattttctg
+ttttgcattattctttccattctttttgaatggtgaaattatactccccgagtccccttg
+ccccttctggacacttttccgaaatgatggcggaaaaaaacgggaccctttggccccgtt
+ctatttattggtgaacttacaatctcaccggatcgatatgccagatatgatcggcgtact
+ctttgatagtacggtcagaagagaagtagcccatattggcaatgttcagcatcgcttttg
+cggtccactcttcctgaagctcgtagagttcatcgactttatcctgacaatcgacatagc
+tgcgataatccgccagtacctggtagtgatcgccgaagttgatcagcgaatcaaccagat
+cgcgatagcgacccggatcttccggactgaatacaccgctgccgatttgcgtcagcacct
+gatgcagctcctcatctttctcgtagtattcacgcggtttgtagccctgacgacgcagtt
+cttccacttcttccgctgtgttaccaaaaataaagatattgtcagcaccgacatgatcca
+gcatctcgacattcgcaccgtccaacgtaccgatagtcagcgcaccgttaagcgcaaact
+tcatgttactggtgccggaagcttccgtccctgccagcgaaatctgttcagacagatctg
+ccgccggaatgatcaactgcgccaggctaacgctgtagttcgggatgaacacgactttca
+gcttatcgccaatctgcggatcgttgttgatcactttcgctacgtcattgatcaaatgaa
+taatgtgcttcgccatgtaataggccgaagccgccttaccgccaaaaatattcacgcgcg
+gtacccacttcgcatccgggtcggccttgatgcggttatagcgggtaatcacatgcaaca
+cattcatcaattgacgtttgtattcgtgaatacgtttgatttgtacatcgaacaacgcct
+ttggattcaccaccacattcagctgctgggcgatatactctgccagacgctttttgttct
+ccagcttcgcctgatgcacagcgtgattaaccattgggaaatcacagtgttgttgcagct
+cattaagcaggctaaggtcggtgcgccagttacggcccaggtgttcgtccagcacggctg
+aaagcgatgggttcgctaccgccagccagcgacgcggcgtcacaccgttggtgacgttgg
+tgaaacgacccgggaagattttcgcaaagtcggcaaacaacgattgcaccatcagattag
+agtgcagttccgatacaccgttaactttgtggctcacaacaaccgccagccaggccatac
+gcacacgacgaccgttggattcatcaatgatcgacgcccgtcccagcagatcggtatcgt
+tcggatactgttcctgcaaggttttcaggaaatagtcgttgatttcaaagatgatctgca
+ggtgacgcggcagaattttacccagcatatcaaccggccaggtttccagcgcctcgctca
+tcagcgtgtggttagtgtaggagaagacctgacaacacacctcaaacgcgtcgtcccagc
+taaattggtgctcatcgatcagcagacgcatcatctcaggaatcgacagtaccggatggg
+tatcattgagatgaatcgcgattttatccgccaggttatcgtaggttttatgcaactgat
+aatggcggcttaaaatgtcctgaatggtcgaggaaaccaggaagtattcctgacgcaggc
+gcagctcacgcccggagtaggtggagtcatccggatacagtacgcgagatacgttctcgg
+agtggtttttatcttccactgccgcgaagtagtcaccctggttgaatttaccgaggttaa
+tttcgctactggcttgcgcactccacaaacgcagcgtgttggtcgcgtcggtgtcgtaac
+cagggattatctgatcgtaagcgactcccagaatctcttcggtttcaatccagcgcgttt
+ttttaccttcctgctgaatgcgaccgccaaaacggactttatagcgcgtgttgtggcgtt
+tgaattcccacgggttaccgtattccagccagtagtctggcgactctttctggctaccgt
+taacgatgttctgcttgaacataccgtagtcatagcggatgccgtaaccgcgccccggca
+accctaacgtcgccagagaatcaaggaagcaagccgccagacgtcccaggccaccgttac
+cgaggcctgggtcattttcttcatcaatcagctcttcgagatttaaccccatcgcttcca
+gtgcgccctgtacatcttcgtaaattcctagcgacaacatggcgttggagagcgtacggc
+caatcaaaaactccatcgacaggtagtaaacctgacgagtttcttgcgacaactgggcac
+ggtttgaacgtaaccagcgctccacgagacgatcgcgcacagcaaataacgttgcgttca
+gccattcatgtttattggcgacgaccgggtcctttccaatcgtaaacatcagcttgtaag
+cgatagagtgcttaagagcttctacgctaagcgtgggcgatgaatatgtaaacggagcat
+tcatataggcgtttcctgaaaactatttcaagcgatagtaaagctcacggtacgacttcg
+ccgcgacctgccagctaaaatccattgccatagcctgacgttgcacaaaccgccacagtg
+aaggacgggaccacagtacaaaagcacgtcgaatagcccgtaacagcgaccaggcattac
+tatcttcaaagacaaacccactggcgacgccatctgcaaggttctcaagagaacagtcag
+aaaccgtatcagcaagcccaccggtgcgccgcactaacggcagcgtaccgtacttcaatc
+cataaagttgcgttaagccgcacggttcaaaacggctgggcaccagaatgacgtccgcgc
+cgcccataatgcgatgcgaaaatgcttcgtgatagccaatctgaacgcccacctgaccgg
+ggtattccgctgccgccgcaaggaaaccttcctgcagcaccggatcgcccgcgccgagta
+gcgccagctgcccgccctgctccagaagacccggtaaggcttccagcaccaggtcgagac
+ctttctggctggtcagacggctcaccactgcaaaaagcggcactttatcgtcaaccttaa
+gccccattgcgatttgtaactggcgcttattttccgctttatcttccaacgtatcgcggg
+tgtaacgcgaggccaacagtaagtccgtctctggactccagattttctcgtccacgccgt
+tcagtacgccggaaagacgcccttcacggtgacgctgttgcaacagaccttccataccgt
+aggcaaactgcggttcggtgatctcgcgagcgtaggttggactgaccgccgtaatgtgat
+cggcatagtacagaccggccttcaggaaagagatttgtccgttgaattccagcccatgaa
+tattaaagaatgaccatggcaattggatgtcattcatgtgatgtgcataaaacatgcctt
+gataggccaggttgtgcacagtaaacaccgacttcgccggacgcccgcgcgccgccagat
+acgcaggcgcaaggcctgcatgccagtcgtgcgcatgcaccacatcaggacgccagaatg
+ggtcaagcccgctggccatttctgccccaacccaccccagcagcgcaaaacgcaatacgt
+tgtcggtataggcaaataagttggtatcgtgatacgggcttcccggacgatcatagagat
+gcggcgcgtcaatcaggtaaatgccaaccccgttgtaatgaccgaacaacagcgtgatat
+gtccggcgaaggtatcacgacgggatactacctgcgcatcggtcacgccacggcgaatat
+cgggaaatgcaggcaacagtacgcgagcgtcaacgccgtctgcgatttgtgctgcgggta
+atgccccaataacatcagccagaccgccggttttaagcagcgggaacatctctgaacata
+catgtaaaacctgcattatcgctcctgtttatgccctaacttccgtagcatttcgcgcgt
+taccagcacgatgccttcttctgaacgatagaaacgacgtgcatcttcctctgcgttttc
+accaatcaccatgccttccggaataacacaagcacgatcgatgacgcagcggcgcagacg
+gcacgagcgacctacccatacttccggtaacaatacggcggaatcaatgttgcagaatga
+attcacgcgaacgcgcgagaacagaacggactgcaccaccaccgaaccggagatcacaca
+accgccggaaaccagtgagttaagggtcatcccgtggctaccggagcgatcctgcacgaa
+tttcgctggcggtaatgattcattgtaggtgcgaattggccaattgcgatcgtacatatc
+cagttccggcaccacagaggccagatcgaggttcgctttccagtaagcttccagcgtacc
+cacatcgcgccagtacggctcggcatccgggtcggattgtacgcaagagagcgggaacgg
+gtgcgcataggccagaccggcttcggtgatcttgggaatcaaatctttgccaaagtcgtg
+gctggagttctcatcgcgatcgtcttcttccagcagttcatacagatagtcggcgtcaaa
+gacgtagatacccatactcgccagagatttgctcggatcgttcggcattgacggcgggtt
+agcaggtttttcaacgaattcgataattttatcgttctcatcaaccgccataacgccaaa
+tgcggaggcttcttcaatcggtactggcatacaagcaacggtgcaacgtgcgcctttttc
+gacgtgatcgataagcatacgcgagtagtcttgcttgtagatatggtcgcccgccaggat
+caccacgtattccgctttataacggcggataatgtcgaggttttgggtgaccgcatctgc
+ggtgccgcgataccagttttcccctttcattctctgctgtgctggcagcagatcgacaaa
+ctcgttcatttcttcattgaagaatgaccagccgcgctgaatgtgctgcaccagagtgtg
+ggactggtactgggtgatcacgcccatacgacggatcccggagttgatgcagttagacag
+cgcaaagtcgataatgcggaacttaccgccgaagtgtacggccggttttgctcgcttatt
+ggttaaatccttcaggcgggtaccacgtcctcccgccagtatcagggcaacagatttcaa
+tggcagctggcgcgccaacattaagtgatcgttcttctctaaactaaccatgactaactc
+cttttttatcatctctggaacacacacaatccgtgtgcaggtccctgccagacagccgta
+atcactgggttatcctctccagcgaatgggggaatggcgtgccactccccagcaggtaaa
+acaatctctgttacctcaagcgtggcgttaattgcgatcaaaaagcgatccgagagcaga
+atttgcagctgtttcggcccgttttgccactcatccgtgcttaaaggttgagcatatcga
+tttagccaacggacattgccgtcgccttcttcccaccagcgattctccaccaaagcggga
+atgcgcttgcgcagatggattaacgcggcggtaaatgcggttaaaccactgcttgcctgc
+gaccagtccaaccaggttaattggttatcctgacagtaggcattgttattgccatgctgg
+ctgtgaccatgttcgtcaccggccagtaacatcggcgtaccctgggagagcaacaacgtt
+gttaacagggcgtgaatgctgtcgcgccgccgttcaaccaggtcaagagaaccgcctaac
+ccttctttaccatgattgttactgtaattgttgttggtcccgtcgcgattttcttctccg
+tttgcttcattgtgtttatggttgaagcaaacgcagtcgcgaagcgtaaaaccgtcatgc
+gcggtgacgagattaatcgcggcactcggcagacgaccattacgtttaaaaacatcgctg
+gaggcagcaaaacgcccggcaaacgcccccagaggcaaatcataatgtagccagaaacga
+cgggcagcatcgcggaaatgatcgttccactcggcaaacagcggcgggaaatttcccacc
+tgataaccaccaggagcgatatcccacggttcagcaattaacttcacctgcgagagcacc
+gggcagttctggatagcggtaaacaacggcgcatcctgacggaactctggcgtacggccc
+atgactgccgccagatcaaagcggaaaccatcgacgtggcaggtttctacccaataacgc
+aggcaggcgctggcataatccaccaccgccggatgactcaaattgagcgtgttgccgcaa
+ccggtccagttgtgataatcgccgtcttctcttatccaataatagctacggttatcgatc
+ccacgcagcgagaataacgggccgtcgaggtccagttccgcactatggttgagcacgata
+tcaagaatgacttcgatacccgctttatgcagtgctttgattgcatcgcgaaactcatcc
+agcgccgtttctggcgagcaggcatacgccggatgcagcgcaaacatcgccaccgggttg
+taaccccagtagttacttagccccatgcgttgcagacgtggttcactggcaaactgcgcc
+actggcagcagttccagcgcggtaatgcccaattgtttcaaatagttgatcatcaccgga
+tgcccgagggctttataagtgccacggatctcgaccgggatctccgggtgcaagtacgtt
+aatcctttgacatgggcttcataaatgatggtgctgccccacggcgtgcgcggcggggca
+tcatcttcccagtcatagtgatcaaccaccactacgcatttcggcgcaatggcggcgttg
+tcgcgatagtcaggttcattatgaccggcgtgcagcagcgggttatctttaaactccccg
+tcaatttgccgcgcgcaaggatcaatcaacaacttcgccgggttaaagcgatgcccctcg
+gcgggttgccaggggccatgaacgcgataaccataacgcaaacccgggcgcgcatccggc
+agataaccgtgccaaatgtcgccactgtgccctggcaagtcatagcgatgttcctggcca
+ttggcgtcaaagacacacagttctacccgctcggcatgagcggagaaaagtgtgaagttg
+acgccctgaccgtcgtaatgcgcgccgaggggagcgggtttgccaatggcgagttgtgtc
+attctgcctcccgaaccagccagatagtggccagcggtggtagcgtcaggcttagtgaat
+gctgacgaccgtggctggcaatctcatcgctgtgtaccgtgccgccattgcctgcattac
+tgccgtgatagtgcatggaatcggtattgaggatttcacgccatttgcccggctggttta
+tgccgaagcgataatcatgacgcggtaccggcgtaaagttactggcaacgatgatttcgt
+taccctctttatcgcgacgcacaaagatcagcaccgagcgttctttgtcatccaccacca
+gccattcaaagccgtacgggtcaaaatccagttcatgcattgctttatggtggcggtagg
+tgaggttcagatcgcgcaccagacgctggacaccgtggtgccagttatcgccgccttcca
+acagatgccagtcgaggctggcgtcatggttccactcgcggccctgggcaaattcgttac
+ccatgaacagtagtttcttgcccgggaatgcccacatccagccatagtaggcgcgcaggt
+tcgcgaatttctgccatgcgtcgcccggcatgcggtcgagaatcgattttttaccgtgga
+ccacttcatcatgcgacaacggcaggacgaagttttcagtgtagttgtagagaatcccga
+aggtcagtttatcgtgatgatactgacgataaaccgggtcgagcttcatgtagtccaggg
+tgtcatgcatccagccgaggttccacttgtaccagaagcccagaccgcccatatcctgcg
+gacgagaaacgccagggaaatcggtagactcctcagccattgtcaccgcaccggaaacct
+gctcaccaagaatacggttggtattacgcaagaattcaatcgcttcaagattctcgcgcc
+cgccaaattcgttcgggatccactccccctctttacggctgtagtcgcgataaatcattg
+acgccaccgcatcgacgcgcagcgcatcaataccaaaacgttcaatccagtaaagcgcgt
+taccgacgaggaagttactgacttcacggcgaccatagttgtagatcagcgtgttccagt
+cctgatgatagccttcacgcggatcgctgtgttcatacaagttcgtgccatcaaattcgg
+caagcgcaaagtcatcagtcgggaagtggcctggcacccagtcgagaatcacgttcagac
+cagctgcgtgtgcggcatcaatgaaataacggaagtcgtcgcgagtaccaaaacggcggg
+ttggcgcatacaggccggttggctgataaccccaactgccatcgaagggatgctcgttaa
+tgggcagtagttcgaggtgggtaaagcccatccatttagcataaggcaccagttgatcgg
+ccagctcgcggtagctcaaccagaaattgttgtcggtgtggcgacgccaggaacccaggt
+gaacttcataaatagagattggcgcatcaaactgattcgcttttttgcgctcttcagtct
+gtacaaccttttccggcagcccgcaaataagagacgcggtttccgggcgcatttgcgctt
+caaaggcataagggtcggacttcagacgcaagttgccattggcatcaatcatctcgtatt
+tatagagctgaccgttatgcgccccagggataaacagttcccagatgccgctctctttac
+gcaggcgcatcgggtgacggcgaccgtcccagtagttgaattgcccaaccaccgagaccc
+gacgggcgtttggagcccagacagagaaacgcgtacctgtgacgccatccatagtatctg
+catgcgcgcctaaggtttcatacgggcgcaggtgagtaccttcagataatagccaggcat
+ccatttcctggattagcggaccaaaacggtaaggatcatcaatcaggttttgctgaccat
+gccagacaacagccaactgatagcggaaaaaattcttacgtcgcggaatgacgccgctaa
+agaatccccgtgagtcgagacactccagttttgcgagtttgcgcccggttttcggttcaa
+tcacccacacatcggtagcgtcgggtaaaagggcacggacttccagtcccgcggtggttt
+tatgcattcccagtacggaaaaaggatccgcaaaatggcctgcaattagcgcgttaatca
+cgtctctatcgatacgatcggacatgcttgtcttcctgttttattgtgtcaccccatcca
+attggatttttgacttctggttgtgacatttttttgacctgaacggcgcagcactctgtg
+catcctctctgcgtcgtcctcacttcaggtaaggctgtgaatactcatgtattcagccac
+ccttaaagaatagccaatgctctatttaactcccggtaaatcatgaaacatctgcgctta
+ctcctgtattacgcactaacaggggcggcatcgcgccccagatttaatgaataaagatta
+cgccagttgacgaagcatccgacgcagcggctccgcggccccccacagcagctggtcgcc
+cacggtaaaggctgacaggaactctggtcccatattcagcttacgcaggcggcctaccgg
+cgtggtcagcgtgccggtaacggcagctggggttagctcacgcatagtgatttcccgatc
+gttcggaacgactttcgcccacggattgtgcgcagccagcagttcttccacggtcggaat
+agacacatcttttttcaatttaatagtgaatgcctggctgtggcagcgcaatgccccgac
+acgcacacataaaccatctaccggaattacggaagatgtgttgaggatcttgttggtttc
+cgcctgccctttccactcttcgcggctctgaccgttatcgagctgtttgtcgatccacgg
+aatcaggctacccgccagcggcacgccaaagttatccaccggcagctcaccgctacgggt
+taaggttgtgactttgcgttcgatatcgagaatagcagaggacggggtcgcgagttcatc
+tgccacatggccatacagatggcccatctgggttaataactcacgcatatgtcgcgcacc
+accgccggaagcggcctggtaggttgcaacggacacccaatcaacaagatcattggcgaa
+taaaccacccaacgacatcaacatcaggcttacggtacagttaccgccaacaaaagtcct
+gatgccattatttaatccgtcggtaatgacgtcctgattgacggggtcaagaatgatgat
+ggcgtcatctttcatgcgcagagacgatgctgcgtcaatccagtaaccttgccatccgct
+ttcacgaagctttggatagatttcgttggtataatcgccgccctgacaggtcacaatgat
+atcgagggcctttagcgcctccagatcaaaggcatcctgaagtgtgccagtggttccgcc
+aaaagacggcgcagcctggccaagctgagaagtagaaaagaagacagggcgaatggcgtc
+gaagtcgcgctcttcaaccatgcgttgcatgagaacggagccgaccataccgcgccagcc
+gataaaaccaacatttttcataagcgtttttttcctgcaaagatgtgtgctgtataaatg
+tgccggtctcctcttggcacatctttcaccatacaaaaagcagccaaagtcgcaagtgaa
+attaatcaatgatagcgaagccatcagtaatgcgacttatcctgctttgttagcacgcag
+aaagtccgcggcaattatcagggaatttgagttatgaatgaaatcatttctgcagcagtt
+ttattgatcctgattatggatccgctcggaaacctacctattttcatgtccgtactgaaa
+catactgaaccgaaaagacggcgggcaatcatggtgcgagagttgcttattgctctcctg
+gtgatgctggtgttcctgtttgcgggtgagaaaattctggcatttcttagcctacgagca
+gaaaccgtctccatttctggcggcatcattctgtttctgatcgccattaaaatgattttc
+cccagcgcttcaggaaatagcagcgggcttccggcaggtgaagagccatttatcgtgccg
+ttggcaattccgttagtcgccgggccgactattctcgccacgctgatgttgttgtctcat
+cagtacccgaatcagatggggcatctggtgattgctctgctgctggcctggggcggcacc
+tttgtcatcctgctacagtcttcgctatttttacgtctgctgggcgagaaaggggtgaac
+gcacttgaacgcctgatgggattgattctggtgatgatggcaacccagatgttcctcgac
+ggcattcgaatgtggatgaaggggtaacgaggagagtttttcgaaaagaacccggtagcg
+tcacaactaccgggcgaacaaacttaactcaacagctggaacgcaatcatcccaacgatg
+gcaccgacagtgccgaggatggtttccatcatggtccaggttttcagcgtttcggcttcg
+gtcgcgccggtaaatttaccgaacaaccagaaaccggcgtcgttaacgtggctgacaaca
+atcgaaccaccagcgatacaaatcgacagcgccgccatttgcgcaccggagtagttcagt
+tgttcaataaccggcatcaccagtcctaccgccgttaaacaggctacggtggcagaaccc
+tgaatgatgcgcactgcagctgccagcacgaagcaggtgatagcaatcggcaggcccatg
+ccggttaacgcttcgcccagtgccggacctacgccagagtcaaccagcacctgtttgaac
+acgccgcccgcaccaatcaccagcagaatgatccccgccggttgcagcgcgtgaccgcaa
+atctccatcactttgtcttttggcatgccctgacgcattgccagaccgtaaatcgccacc
+agacaagcaaccagaatcgcggtaaacggatgaccgataaactcaaaccattcgtaagca
+gttgatccttccggcacaaaacgcgcggcaatggttttcagccctaccagcaccagcggc
+agcaggatcagcgacaggctgaatccgaaagatggcattttgccttcgccgagatgcggt
+tcgctgatgtcgtcaggaatatgcagctcaacgtaacggctgatgaagttaccccacagc
+ggcccggcaataatcattcccggaattgccgcacacaggccaatcaggatcatccagcca
+aagtcggcattcatctgcgatgccagcagcatcggcgctggtccaggcaccagaaatgcc
+gccgctgccgccacgcctgcaaataatgggattaccagcttcaccaggttcgtaccggtg
+tggcgcgccattgagaaagcaacgctaatcagcagaactatcgccacttcaaagaacagc
+ggtagcgcacagaccagccccgcaaggccgatggcataatgcgcgcggctgtgaccgaag
+gatttgagcattttgacggcaatctgatcgactgcgccggtttcatgtaagatcttgcca
+aacatagctcccagggcgacaaccaccgccaggaagccgagggtgcctcccatccctttt
+tccatcgtcgctgcgattttatcgagcggcataccagaaaaaaggccagcccccatggac
+accaccattaaagccaggaaagcgtgcatacgcgccttcatgactaaaaacagcagcagt
+aaaacagaccctactgctgttaaaacaagcgttaatgtagtcactacttatttgcctttt
+ttaataacctcaatggtgcttgccacaacaccttccagcggttgatcgatatccaccacc
+agtacatcggtttcgtccgcacccggctcctgcagcgtttcaaactgcgtcaccaacatt
+tgggttttaaagaaatggcctttgcgcgctttcaggcggctttcaatcacatcaaaatcg
+cctttcaaatagatgaaagagagattcggattaccttcacgcagcaagtcgcgatagtgt
+tttttcaatgcagaacagacgatcagcgacactttattagtgcgctgcatagcaaacgcg
+gcgtcgttcagcgcctgcaaccacggtttgcgatcgtcgtcattcagtggttcgccagac
+gccattttttcgatattgcgccgtggatggaggaaatcgccatcaagaaacgcggcatga
+agttgatgcgccacttcactggcgaccgcagatttgccgctgcccgatacgcccatcaag
+acgtaaatgtggtgatcatggttagtcgtgctcaaagtggtgcccccacaatacaagaat
+taaaaatgttacgggtaactgttatcggtaacattgtccagccggacaatatcagaagca
+atatccatccatgccttaagtgtataagtgtgagctacttcaaatttgtgggcttaaata
+gatccgcccggtgacaaggtgaaacctaaatctaacattttcggtgtcacagattcgcca
+cgaatacgcgccagcaggcgttcagcgccaatactgcccatccgctcacgcggcgtcagc
+acgctcgcaagtcgtggctccatcacctgaccaatgtcatgaccgtggaaaccggcaatc
+gccatatcgtcaggaacttttaaccccagacgctgacattcaaacgccgcgccgaccgcc
+aggtcatcattcgtacagaacacgccatccagctgcggatattcccgccgcgcctggcga
+atcagttcaataccggaagagtaagaagaagattgctcaaccatcacgctatatggcacc
+aggcctgcatccagcatcgcctgttcgtatcccttctgtttgatgatagtacgttcgtcg
+agacgtgcgccgagataggcaatgtggcgatgcccgcgagcaataatggcagtggtcatc
+tggcgtgctgcttcaaagttatcaaaaccgacggcgatatcaaggcatggcgacttgctg
+tccatcagttccaccacgggaatacccgccacttcaatcatctttaaggtgcgcggcgtg
+tgggtacgttcggtgaggatcaggccgtcgatattccaggagagcatggattcgaggcgt
+tcttgctccatttccggtttataaccgtagtgcgccagcatggtctgataaccgtgcgcg
+tcggtgacgctttcgattccgcgtaatacttccgcgaaaacctggttggtgagagaaggt
+aacaggacgccaatcgcccggctggtggcgttagagaggatatcgggcgcacgattggga
+atatagcccagttcatcaagagccgcggcaatcttgccgcgtagagcgacggaaacctgc
+tccgggttgcgtaaaaaacggctgaccgtcattttggtcacgcctacacggtcagccaca
+tcctgaagtacgggtcttttctttttcatcgtcctgaaggtacaaaagagatagattctc
+ttagtttaacacggacacatcagaaccttcccggggaaaacagtgcttgtttacaattat
+tagatatacactaaatcaattgcatcgcattgtgctaacgacgcggcaaaaccccggaag
+cgtacatcagcacgcgaccggagcgagcgaggaagcctgcaaaaaggcaggcttcaaaga
+tgccgttgagttttaaaccggcggcagatcgaacagtaacacttcgctgtcgctatccgc
+atggatggagattgcctgctcatcccagattgccagaccatcgctggtcgaggctttcac
+gccgttaatggtgacattgcctttcaccacctggatccagacgcggcgttcagcggcaat
+ctgatgcaccgactgctcatctttcagcaacgcccagcggtacagttccatatcctgatg
+cactttcaatgaaccatctcgcgcatccggcgagagcaccagctgtttgccctgtacggc
+atcgaagcgacgctgttcataacgcggcgtaataccgttttcttcaggcatgatccagat
+ctgatacagatgcagacgctcggtgctgcttgggttgtactctgagtgacgaatacccgt
+accagcactcataatctggaactcacccgccggaacctgctctttattgcccatgctgtc
+ctgatgctcaacagtaccttccagcacgtaggtcaaaatttccatatctttatgcgggtg
+agtgccgaagccctgccctgcttcaatcacgtcgtcgttaatcacgcgcagcgcggagaa
+gcccataaagttcggatcgtaatagttggcaaaagagaaagtatgccaggagtccagcca
+gccatgatttgcatgaccacgttcatttgctttgcgtaagtagatcatttgtattcgccc
+cctgaatgatttcgatgggcttagtgtggacccgatctgcctgggatgatagagggtgaa
+aattgacccctctgttcaaaaaaattgaactattcgaggggccatcaaacttacttagcg
+agagttactgtggagggagaggcttgctcaaatccgcgttcaaggatttccagattggta
+agaacttcagattccttgacgtaatttggcgcaccgtgggtgatggtttgatacaacgca
+tcataaacgcgcccgtaatcgcccatctccggcttcatctcttctctgaccgtcacgccc
+tcgtcattgacatactccagcacaccgaccgaatcatccgctgcgaatcccggttcgccc
+ggcataatattagccttcaggctggtttcctgctggtcgataccgtatttaataaacgaa
+cctttcttaccgtgaacgataaatttcggataatcgattttcaccagatggctggttttg
+acgatggctttcaggtcgccataaaacagttgcgcttcaaaggtgtcgtcaggattggct
+ttattacgcaggctgcggatgtcataagcgacgtgatccgggcgaccgaacagagaaata
+atctggtccatcgtatgcacaccaaggccataaaacgcgccatcctgcggcagcccaggt
+ttggtttctgccaccgggcggtaatagtcaaaatggctttccacttcaacaatctctccc
+aacttgccactttcaatcgcttttttcgctgtcaggaagcaggagtcaaagcgacgattc
+tgatacggcgtgacggtcagccctttgcttttcgccaacgcaaacagctctttcgcctgc
+gcaagtgtcggagtgaacggtttttcgaccagcacatttttcccggcttccagcgcgcgt
+ttcgcgtactcgaaatggctgtccgcgtgggtgcagacaacaaccagcttaacatcggga
+tcgtttagtacttcgtcgagatcgctggtgaaatggatatgggaataaatgggagcctgt
+tcttccggcttcgcatggcgacgaaaaatatgcgcgacatgccagctatccttgcggtta
+agtacatacggcagatggtaacgggtggtgcttttgccgaagccaataaaggcgcagttg
+atgaccatgatttcgtcctttttaaggtggttatttacaccttagcgcaaagcggacgtg
+gttcctactggagtgcgcataacgaacacaagcactcccgtggataaattgagaacgaaa
+gatcaaaaaaaaagccagcacccggctggctaagtaatactggaagcaatgtgagcaatg
+tcgtgctttcaggttctccgcgagggtcttcctgatcgcgagacaataataatcattctc
+attcgcacttgtccaacactttttgcaaaaaaatgcatttgactcgcatttgaaagtcaa
+tgatgttgaaagggacatttaccccaaagaggacaaaggaatgagtgagatagtaatacg
+ccacgcagaaacacgggattacgaggccatcaggcagattcacgcccagccggaggtgta
+ttgcaacacactacaggtgcctcatccttccgatcatatgtggcaggagcgactcgccga
+tcgtcccggcatcaagcaactcgtcgcctgtattgatggagacgtcgtgggccatctcac
+cattgacgtgcaacagcgcccacgccgcagtcatgttgccgattttggtatctgtgtcga
+ctctcgttggaagaaccgcggcgtcgccagcgccctgatgcgagagatgattgaaatgtg
+cgacaactggttgcgggtagatcgcattgaactaaccgtgtttgtcgataacgccccggc
+aattaaggtctataaaaaatacggctttgaaattgaagggactggtaagaagtacgcatt
+gcgtaatggtgaatatgtcgatgcatattatatggcgcgggtgaagtaagatagtgccct
+ttttctgagatggaaaaagggtgtcattcaaaatcgacataccttcctttaaggtattta
+tttgcccaatacatatattgagatttaactcataattacttcctaaagtgtaatatttta
+ttttttaatatatacgcctacaatttcctggagtaaataaataacaattaacaagcataa
+tattgccattgataaaatagcatgccataaaaggacttttcagggatgagtaatattgtt
+tacctgacagtaacgggagaacaacaaggaagcatctccgcaggttgtgggacttctgag
+tctacaggtaatcgttggcagagcgggcatgaggatgaaatatttacattctcactctta
+aataatattaataatacggggcttggttcacagttccatggtataacattttgtaaatta
+attgataaaagcactccattatttattaattccattaacaataatgaacaattatttatg
+ggatttgacttctatcgaataaatagatttggtagattggaaaagtattattatatacaa
+ctaagaggcgcttttttatcggctattcatcaccagatcattgaaaaccaactggataca
+gaaacaataactattagttatgaatttatcctctgtcaacatcttatcgcaaataccgag
+ttcagctatttggcactccctgaaaattataaccgtttgtttttaccaaattcaaaaaac
+caaacaaataatcgtttcaaaacgttaaacagcaaagctattggcaggctacttgctgct
+ggtggcgtatacaatgggaacattgaaggattcagagatactgcggaaaaactgggtgga
+gatgcaataaaaggctatgatcaaatactaaatgaaaaaacagcgggcatagcgatagca
+acagcatctattcttttaacaaagcgttctaatgttgatacatatacagaaataaatagt
+tacttaggcaaacttagaggtcaacaaaaacttcttgatggtatagacataatagaaata
+atatacattaagagaccttcaaaagacttagctaacttacgaaaggagtttaataaaact
+gtaagaaaaaattttcttatcaaacttgcaaaaacctccgaagcatctggaagattcaac
+gccgaagaccttttaagaatgagaaagggcaatgttcctctaaattataatgttcaccat
+aaactatctctagatgatggtggtactaatgatttcgaaaatttagtattaatcgaaaac
+gaaccatatcataaagtttttactaacatgcaatcacgaatagctaagggaatattagta
+ggtgaaagcaaaatcactccctgggccattccatctggctcaatttatcctcccatgaaa
+aatattatggaccacacaaaatgatgactaaaacccaaataaataaattaataaaaatga
+tgaatgatttagactatccatttgaagcaccgctcaaggaatcatttattgaaagtataa
+tccaaatagaatttaattctaattcaactaattgcctggagaagttatgtaatgaagtta
+gtattctttttaagaatcaacctgattatcttacttttttaagagcaatggatggattcg
+aagttaatggattacgattatttagcctctcgattccagaaccttcagttaaaaaccttt
+ttgccgtaaatgaattttatagaaataatgatgatttcataaaccctgatctacaagaac
+ggttagtgatcggggattatagcatttcaatatttacttatgacattaaaggtgatgctg
+ccaacttactgatttagtgtatgatggtgtttttgaggtgctccagtggcttctgtttct
+atcagctgtccctcctgttcagctactgacggggtggtgcgtaacggcaaaagcaccgcc
+ggacatcagcgctatctctgctctcactgccgtaaaacatggcaactgcagttcacttac
+accgcttctcaacccggtacgcaccagaaaatcattgatatggccatgaatggcgttgga
+tgccgggcaacagcccgcattatgggcgttggcctcaacacgattttacgtcacttaaaa
+aactcaggccgcagtcggtaacctcgcgcatacagccgggcagtgacgtcatcgtctgcg
+cggaaatggacgaacagtggggctatgtcggggctaaatcgcgccagcgctggctgtttt
+acgcgtatgacagtctccggaagacggttgttgcgcacgtattcggtgaacgcactatgg
+cgacgctggggcgtcttatgagcctgctgtcaccctttgacgtggtgatatggatgacgg
+atggctggccgctgtatgaatcccgcctgaagggaaagctgcacgtaatcagcaagcgat
+atacgcagcgaattgagcggcataacctgaatctgaggcagcacctggcacggctgggac
+ggaagtcgctgtcgttctcaaaatcggtggagctgcatgacaaagtcatcgggcattatc
+tgaacataaaacactatcaataagttggagtcattaccgacattaaaagtaacttttttg
+aaattagagataatattggcacagaaaatatattcagttcgtttagtgatttctcttcat
+tcttaaacgaaatcatggacagttgttcataataatcaaaaggaaacaaaaatcattgta
+aaccatgccatctttttagagattaccagcagaaaattccttgttcgaaatttagcagtg
+caagctatggaaaaacttacaacggaactacactccttaagtgagatggaccgaagacat
+gtagtctctattttagccgaaatagctaatggctatgatgattttaatgacatgttgatt
+tatttagaattttacccgaatcataagattctgatatcttaaataagaaaatcccgttcg
+acgttctgaaaaagaaatcataaaatattagcagatacttatttcgtgactatatcttat
+ccgatgaacttttttcaaaaccagcatttaataatatctttgacgaagatgaacgcgtct
+ttgctcaatgtatcacacaggaataataatataacactcaacaataatatttattataat
+tatgattacttatcacgacgcattcgcgaaagcgaaccattaccttgatgatgcagatct
+cccggtcgtcattactctacatggacgctttagccagggctggtatttctgtttcgaagc
+acgagaatttctcgaaactggagatgaggccgcgcgcttagctggtaacgcaccttttat
+tattgataaagacagtggtgaaattcattctctgggaacggcaaaaccgctggaagaata
+tctacaggattacgaaataaaaaaggctaccttcggcttgccctgacaaaatagccctct
+tcccacgaagagggccgctaaccttagtaccccgccgttaaatcatccaccgagcgcggg
+tcggatgcgccgtacaactcaccgtccggcccaaccataatgctttgtgtactgcccatc
+gcctctttcagcgccactttctgaccttttgcttccagcagcttgagcgtatccgggcta
+aaccctttttcgacacgcagctcgtccggcaaccactgatggtggaaacgcggcgcattg
+gtcgcttcggcgacgttcaagccataatcgatgctattcaccaccatttgcagcactgta
+gtgatgatccggctaccgcctgggctaccggtaaccagccaggttttaccgtctttcacc
+acaatggtcggcgacatcgacgacagcgggcgtttgttcggcccgacggcgttggcatca
+ccgcccaccagcccgtaaacgttcggtacgcccggtttggcggagaaatcatccatctgg
+ttattaagcagaataccgctctcgcccgcgacaatgcccgtaccgaaggtggtgttcagc
+gtataggtcaccgccaccgcgttaccatctttatccaccactgagtaatgggtagtttga
+ttactctcataaggcgcaagcttgccggggcgaatttcgctggatggcttcgctttattg
+atatcaatttgatcggcaatagatttggcataggctttattggtcagcgcctgccacggt
+actttgacaaaatccgggtcgccaagatattccgagcggtcggcgtaggcgtatttctcc
+gcttctgccatgatttgcatcgcatcggcgctgccaaagccgtatttcttcatatcgaag
+ttttccagaatattgaggatttgtacgatatggatcccgccggaggatggcggtggcatg
+gagtaaacctgatacccgcgataatcgccgcttatcggagtgcgttcgaccgctttatag
+gctgctaaatcttctttagtgatcaagccaccgtttttctgcatctcctgggcgatctgt
+tccgcaatcgtgcctttatagaattcgtccgggccgttttcagcaatcatctccaggctc
+tttgccaggttcgcctgcaccagcgtgtcgccctttttcagcggctcgccctctttccag
+aagatagctttactgttttcgtgattcggcaacacttcgctaccgtaggttttgagatcg
+tcagccagcgcgtcgttaacgataaaaccatcgcgtgccagtttaaacgcgggctgcacg
+actttgttcagcggcatggtgccgtatttatccagcgccagcgagaaacctgctaccgta
+cccggtgtgccggaagccagatgcgaagtgagtgattttttgctgtccgggttgccctga
+tcatcgaggaacatatcgcgggtcgctttggcgggtgccatttcgcggaaatcgatagcc
+gtggtattgccatttttcgagcggattaacataaaaccaccaccgcccagattccctgcc
+tgcggatgcgttaccgccagcgcgtagcccaccgccacggcggcatcaacggcattcccg
+ccctccttgagaatatccacccccacctgagtggcagtggcgtccacagacgctaccatt
+ccctgtttcgcgcgtaccgggtggaagacatcttcctccacaccatacgagacgggcggc
+gcaggaggcgcggcggcggcgctaaaacaacttcctgagagcagagcagcaatggccacc
+cggcgtaaaaacgtcggttttatcatcgttattctccagagattaaggggcaaccccagc
+taagcctggtatataactctgaattaatcatcgttttgtcgggaagcgagtaaacttaaa
+ggatatcttcagaggaggatacgcgatgaaacgacttctgattcttacggcactcctgcc
+gtttgtcggctttgcacagcccattaatactctgaacaaccctaaccagccggggtatca
+gatacccagccagcagcggatgcaaacccagatgcagactcagcaaatccagcaaaaagg
+gatgctgaatcagcaactgaaaacgcaaactcagttgcaacagcagcatttagaaaacca
+gataaacaataattctcagcgggtgttgcagtcacagccgggggagcgaaatcccgcccg
+gcagcaaatgctgcccaacaccaacggcgggatgttaaacagcaaccgtaatccggatag
+ttcgttgaatcagcagcatatgctgccggagaggagaaacggcgacatgctgaatcagcc
+cagcacgccgcagcctgacattccgttgaaaactattgggccgtaaagttcggaccaatc
+acgtcaatcgcatcggtacagatgcaatccacaccccagcgcagcaactctgctgcgcgc
+tggggtttattgacggtataaaccagaatccgcagtccggcgtctttcaactgcatcact
+cgcgctttattgagtaacttatgattgagatgaatagagacgcagcccagccgcgcggtc
+agttcgcgccagtcgtcgcgccactcatccagcaacaaaccgcgcggcagttccggtgcc
+gcctgttgtgcagcttctaaagcatcaatctcaaacgatgacagcagcggcggcgtcata
+ccggcccacagctcgcgtgccgccagcgccaccattttgcccgttaatggcccggtgccg
+gtggtgggtttgatttcgatattcgccatcatcccgtgttcgcggcaacgttccgccacc
+tgcgaaagcaacggtagcggctcacctttaaacattttgctgtaccaactgcccgcatcc
+acgcgcagtaaatcctgccagttcagttcacccgcgacgccccagccgttgctggtacgt
+tcgagattgtcgtcatggagcaggaagatctcgccatctttcgataacttcgcgtcaaat
+tcgatcatcttatgaccgtattttgccccgacgtcgattgacgccagggtgttttccggg
+gccagcttaccgccgccacgatgagcgacgatgcggggataaggccagttactcatactc
+gttgtcctgtttcaccatcaaaaagatgcagctgattttccgccagatgcagccacagcg
+tgctgcctgccgtcgggcgctcctgatgcgccagtcgcaccaccagcttctgctcgcccc
+agcgtccgtgcgccaggttatctgcgccgaggatctccagcgtgtccatcaccatcggta
+cgccgccttctgcctgcgagcttagcgcaatatgttccgggcgaatgccgagagtcattt
+tacgcccggcatactgacggtagccaccgtttagcggcagctcaataccgccgtccagtt
+cgaaatgcgtgccttcgttattcacgcggcctgtcagcaggttcatcgccggactgccga
+taaaactcgctacaaacaggctggcgggcttttcgtagacttcaactggtgtgccaatct
+gttcggcaacaccgccgttcatcaccattactcgctgggcgagcgtcatcgcttcaacct
+gatcgtgagtaacgtagagtgaagtcgttttcaggcgacggtgcaactgttgcagttcaa
+gacgcatctgcacgcgcagcttggcatcgaggttagagagcggctcatcaaacaggaaca
+ccgccggatcgcgcacaatcgcgcggcccatcgccacacgctggcgctgaccgccggaaa
+gctcgcgcgggcgacgtttgagcagaccgtccagctccagaatgcgcgccgcttctttaa
+cgcgctcggcaatttgctgcttgcccatgccgcgaattttcagcccccacgccatgtttt
+cttcgacactcatatgcggataaagcgcgtagttctggaacaccatcgcaatcccgcgat
+cttttggctccatttcagtcacgcgctggtcgttgatccagatatcgccttctgtcaccc
+gctccagcccggcaaccatgcgcagcagcgtcgatttcccgcagccagacggcccgacca
+tcacgataaattcgccatccgccacatcaagggtcagcggtttaatgacctgggttttac
+catcccagcttttggttactgcctgtaatttcagtcctgccatcttatttctcactatcg
+accaggccgcgcacgaaggcacgctgcatcactaaaacaatcaccaccggagggataagc
+gttaacaacatcgccaccatcactgagttccattccgtggtgccttcgcctgtagcgatc
+atccctttgatccctgccacggtggtgccgagatccacatcggtaataatcaacaacggc
+cacaaatactgattccagccgtagataaaggtgatcacaaacagcgccgccagattagtt
+ttggagagcggaaaaacgatgtcgcaaaagaagcgcattggcgatgcgccgtcgatccgc
+gcggcttccaccagctcatccggcagcgtcataaagaactggcggaacaggaaagtagcg
+gtcgccgaggccatcagcggcagcgttaaaccggcgtagctgtcgagcatctgcaggttg
+gcgatgacttccaccgtcgggaagatacgtacttcaaccggcagcatcagggtgataaaa
+atcatccagaagaagaggttacgtagcggaaaacgaaaccagacaatggcaaatgccgag
+agcatcgagacggtaattttgccgagcgtaatgctgaacgccatcacaaagctgttaagc
+aacatccgccagaacggcgcgctattcgtgcctaccccgttcacccagatgttgtggatg
+ttttccagcagatgtgtgccggggatgagcgtcatcggcgcggcatagacggcctgttta
+tccagcgtcgccgcgacaaacgccacgtacagcgggaagaggatcaccgcgatcccgagg
+atcagcatggtatggctgaatatcgtcagccacggacggttctcaatcattggtaacgca
+ccttgctttcaacatagcggaactgcaccaccgtcagcacgatgacgaggaacatcaaca
+ccaccgactgtgcggcagacgaagccagatccagtccggtaaaaccttcgcggtagatct
+tataaatcagcgtcgtggtggcctgaaccggcccgccggacgtggcggcgtcgatcaccg
+ggaaggtgtcgaagaaggcatacaccaggttcactaccagcaggaagaaactcaccgggg
+cgataagcggcagcgcaatcttaaagaagcggcgaatcggccctgcaccgtcgatggctg
+cggcttcgatcaacgaacggggaatggattgcagcgcggcatagaagaacaggaagttgt
+agctgatttgcttccatactgaggcaaacaccaccagaaacattgcctgaccgctgtttt
+gcgcgtggttccagtcgtagccgaactccgcgagaaaatgggtgatcagcccgcgaccgg
+ggttaaacaggaagatccacaatacggcggcaacggcgggagccacggcgtaaggcagca
+acattaaggtttgatagaaacggctgccgcgcacgatgtactccaccagcgccgcaaaga
+acagcgataccagcaaaccgctgacggtgacaaaggtgctgaattttatcgtcgtccaga
+aggagtcgagatagtagctgtcatggaacagcgtgacgaagttatccaggccgacaaact
+ggctggagaaaccaaacggatcgacgctttgtagcgagtaccacaacgcttcgcccgcag
+gccagataaaaaagataacggtgatgatgagctgcggcgcgaccagcagataaggcagcc
+agcgcgagcggaacaccggacgggatgatgacattacggttaattcctgaactgtgccgg
+atgcgcttcgcttatccggcctacacgcgatgccaggtcagataagcgaaacgcatccga
+cattacactgattaagacttcgtcgatttctcaaagcggcgcagcaactgatttccacgc
+tcaacggcggtatccagtgcctgctgtggtgtcttcttaccggtccacacgctctccagc
+tcttcatccacaatcacgcggatctgcggcatgttgcccagacgcagccctttggtgaac
+ggcaacggcggcttattcagcatctgacgcgtcgcggtatccgcccctgggtttttctca
+taaaagccctgctcacgggtcaggtcatacgctgctttggtgattggcagataaccggtt
+ttctgatgccactcggcagcgttttctggcttcgcgaggaaatcgaggaacttcgccaca
+ccggtatacgtttctttatctttaccctgcatcacccacaggctggctccgccgataatg
+gcgttttgtggcgcatctttcgcatcggcgtcgtaaggcatcatgcctacgccgtagtta
+aatttggcgtactcgcgaatgttggcaagagaaccggaagaggcggtggtcatcgcgcaa
+tcaccgttatagaacttctcggtggattcatccttacgaccgacgtagctgaagtcgccc
+ttcttgttcatctcctcgagcatggcgatgtgtttcacctgctccggcttattgaactcc
+agcaccgcgtccgtgccgtcaaagccgttgtttttgctggcaaacggcagaccgttccag
+gcgctaaagttttccagttggatccagccctgccagccgctggcgtagccgcacttcatg
+ccggaggctttcagtttcgcggcatagtccgccagatcctgccaggttttcggcggctgt
+tccgggtctaatcctgctttcttgaaggcgtctttgttgtaatagagaacgggggtcgag
+ctgttgaatggctgggagagtaagtggcccgttttgctgtcggagtagtaacctgaaacc
+gtcggcacaaactgcgactcatcgaactgaatccctgcctctttaaacacgtcatacacc
+ggtttaatggctttcgacgccatcatggtggcggtgccaacttcataaacctgcaaaata
+gccggcgcgttgccggtacgaaatgcggcaatccccgcgcttaaattctgttcgtagttg
+cctttataggtcggtacaattttgtaatccgggttttcggcgttaaaacgttgggccaga
+gaatccacctctttacccagttccccttccatagaatgccagaacggaatggtcgtcact
+gcctgtgcattccccattaacgccagtccgagcgccagtgctgaagctgtataatgtaac
+ggtttcatcgtttatctctcttgttgtaccgaatgcgcgaattcacgcgttttatgctcg
+cggggtaacatgacatgctcgaattacagaaaaataacttttttgttacatttgtaagat
+agtaaggtgtcagaaagatgacaaggcggtgacggcgtgggtgagggaaaatgggagatg
+gggcacggataagcgggaaaatatagaaggtctgaatcaaactctacagattgctcatcg
+tttcatgccggatgcggcgtaaacgccttatcaggcctacaagatcgtgcaaattcaaca
+tattgccactcacccagtaggcctgataagcgcagcgcatcaggcaattttacatttgtc
+acctgtctcaaaggagtcttttgactccctatcaatcaacgtgttattacccgcctaaat
+acgcacttctcaccgcttcattcgccagcagcgcatcaccagtatcggaaagcactacat
+ggccgttttccagcacgtagccgcgatccgccagctttagcgcctggttggcgttctgct
+cgacgagaaagatagtcatcccctgctcgcgcagctgctcgatggtgtcgaaaatttgct
+ggatgataatcggcgcaagaccgagcgatggctcatcaagcagtagcaaacgcgggttgc
+tcatcagcgcacgaccaatcgccagcatctgctgttcaccgccggacatggtgcccgccc
+gctgaatacggcgctcatgcagacgtggaaacagctcatacacccactttatgcgctcct
+ggaactggtcgcgttcagcaaaaaaaccgcccatcgccaggttctcttccaccgtcatcc
+gcgagaagacgcgacgcccttccgggacaatcgccaccgcttcgcgcatgattttcgctg
+tctgccagtcggtaatgtctttatcatcaaacacaattcgcccgctggtggcacgcggat
+cgccgcataacgtgccgagcaaggtggttttccccgccccgttcgcgccaatcagcgtga
+caatctcgccctgattgatatgcaggctcacctcatgcagcgcctggattttgccgtagt
+gggcgctgactttgtcaaaggacaacatgactttttccatcttatgcctcacctaaatag
+gcacggatcacgtccgggttattacggatctgctccggcgtaccgtttgccagcggcgtc
+ccctgattgaccacgtaaattcggtccgaaattcccatcaccagcttcatatcgtgttca
+atcaacaagatagtggtgttgtgatgattgcgcagttcggcaatcagctcatccagctct
+ttcgtctctttcgggttaagacctgccgcaggttcgtcgagcattaaaatctccggctgc
+gtcaccatgcagcgggcaatctcaagacggcgctggtcaccataggccaggttactcgcc
+tgacggttggcgtgttccagcaaaccaatgcgctcaagccaggtcgcggcgcggtcgagc
+gcttcgctctgggcgcgacggaaggatggcgttttcaacaggccagagaacagcccggtt
+ttcagttgctgatgctgcgccaccagcaggttttcaattaccgtcatttcacggaacaga
+cgcacatgctggaaggtgcgcaccacgcccatgcgggcaatttgctgccccggtaaacct
+tccaggtgctgatcgcgcagtaaaatggtgccgccggtgggtttgtagaatccggtcaga
+cagttaaaaaccgtggtttttccggcaccgttagggccgattaacgagacgatctcctgc
+gggtacagttcaagattgacgttgttcaccgccagcaggccgccgaagcgcatcatcagg
+ccgttaacagataataatggctgactcatgcctgctctcctttcgctgcgccgtttttca
+gcttcagttgcgggcgcgtcatgggcagcaagccctgcggacgccagatcatcatcagca
+ccatcaaaccaccgagcattaacatgctgtattcgttgaaatcacgcatcaactcgcgcg
+acaccaccagcaaaattgccgccagaatcaccgcaaattgcgagcccataccgccgagca
+ccactatcgccagcacaaacgccgattcggcaaaggtgaaggattccgggctgacaaagc
+cctgacgcgccgcaaacagcgttccggcaaaaccggcaaacgcggcacttatggtaaagg
+cagtcagcttgatacgacgcgggcttaagcccagcgaacggcaggcgatttcatcttcac
+gcaacgcttcccacgcacgccccagcggcatccgcagcaggcggttaatgacaaacaggc
+ttagcaccaccagcagcaacgccaccaggtagaggaagatgacacgatcggagggatcgt
+atttcaggccaaagaaattactgaacgtgtcccagccgccttcacgagcggtacggctga
+actcgagtccgaagagtgtcggtttcgggatctgactgattccgttcgggccgccggtaa
+tttcggtgttattgagcagcaatatgcgcacaatttcgccgaaaccgagggtaacgatcg
+ccagatagtcaccgcgcaaacgcagcaccggaaaaccgagcaggaagcccgccgccgctg
+ccattaatccagcaatcggcaggcaggtccagaagcccaagccgtaatagtgattgagca
+gcgcaaaagtgtaagcgccgatggcgtaaaaaccgccgtaccccagcaccagcagaccag
+aaagaccaacaaccacgttcagcccgagaccgaggataatgtagatcatggtcagggtgg
+caatatccaccgtcccgcgtgaaaccataaacggccacgccaccgcaagcaccaacagcg
+ccacgaggaacagtttctgcttcaccgtggagccatcaatggcgggcagaataaacttcg
+gtccggaaacgcttttcaaccctttctggaaagccggtcgcaaaagctggaagaaaaaga
+ccaccgccgtgccgataaacacccactgccaacggacatccgaagccgtgtcgaccacca
+gtttggtgccatccagctccagttgcacgcccataaagacgcccgccagcacaaagaaca
+tcgcggcagagagcagcgccattgcaatatgcatcggtttcatactttctctacctccgg
+gcgacccagaataccggtcggcatcaccagcagcaccagaatcagcagggcgaatgagac
+cacatctttatattccgtactcagataggcagaagagagcgcctccgcaatccccagaat
+caggccgccaatcatcgctcccggaatgctgccaatcccaccgagcaccgccgcggtaaa
+ggctttcatcccggccataaagccgatgtaggggttaatgacgccgtagaactgaccgag
+cagcacacccgccaccgccgccatcgccgcgccaatcacaaaggtcagcgcaatcacccg
+gtcggtgttaatgccaagcagactcgccattttcagatcttccgcgcaggcacgacacgc
+gcgacccatgcgggaatagcgaatgaaaatcgtcagcgccagcatggcgaggaaggtaac
+aatccagatcaccgcctgcatggtggtaatagaggcagagaagttttcgctatgccccac
+cacccactgaccgttaaacaggctcggcagcgccacgtcgcgcgaaccttcggtcaggct
+gacgtagttttgcaggaagatggacataccgattgcagagatgagtgcaatcaggcgctt
+agagttacgcaccgggcggtaagccacccgttcgatactccagccgtaggcgctggcaat
+gacgattgcgccgacgaatcccgcagctaccagcagccagccggtatcaatgcccatcat
+catcagcgcggcgatgatcataaatgagacgtagctgccaatcatataaacctcgccgtg
+ggcgaagttgatcatgccgataatgccgtaaaccatggtgtagccgatggctatcagcgc
+gtaggtactgcccagcgtgacgccgttaaacatctgctgcaagaaatacaaaaactgctc
+agacataaggtaacctttctaaacccgcccgcattttacgggcggtgggatgatcacttg
+gctgccgtggatgaaccgtcggcgtgccactggaagacaccaaaatcaaatcccttaaga
+tcgcctttttcatcccagttcagcggcccaatcacggtgtttgcaccgttagcttttaaa
+tctttcaccagcgccagcggctcatcgctgccggtacgctcaagggcagtcgccagagat
+tgcaccgccgcgtaggtgatccagacataaggcccggacggatctttcttgtctgctttc
+agcgcatcaacgatgccctggtttgccggatcctggtcatagcgttttggcatagtgacc
+aacatgccttcggcggcatcaccggcaatgttcgacaacgacgcattacccacaccttcc
+ggccccataaactgggttttcaggccaacggaacgggcctggcgcagcatctgccccatt
+tccgggtagtaaccgccgtagtaaacgaagtcgatgttttcttttttcaggcgggcgatc
+agcgcggagaaatctttctccccggcggtaataccgtcgaagaagacgacgttggcgtta
+gccgctttcagcccgtcctgcaccgaacgcgccagcccttcgccatactgttgtttgtcg
+tgaatgatggcgatgcgctggggcttcaccgtctcaagaatgtattttgccgccgttggc
+ccctgggaagagtccagcccggcagtacgcataatgtgttgataaccgcgttgggtcagc
+tccgggttggtcgctcccggcgagatcatcagaataccttcgtcttcatagatatctgac
+gcaggctgggtagaagaagaacacagatgaccaataacgtatttaatgccgtcattaacg
+attttgttggcgaccgcaacggcttgtttcgggtcgcatgcgtcgtcatattccacgcca
+accagtttatcgcccttaattccccctttggcattaatgtctttaattgcctgacgcgcg
+ccgttaaattccatatcgccccactgggcaatcgggccggacatcgcgccgacaacggcg
+actttaatatcgtcagccatagcggtgtgtgaaattgccagtgcaatcatccctgcgatg
+atagttttcgcattccgtttcatagtcaaaaatccccattcgtgatgttgtgttgctttg
+tttttatgtgttaacaaatcagactgttctttttttatactgcactgtttttgcctgtct
+gattaaggggttagcgcagtattttgtgataatagcgattaaaatccctatttttcagtc
+gattaagaacagataatattctgaatttattgatagataaacagaaaaaagtgcctttgt
+cagcataaaataacggcacaaagggcggaataattcactatcattcaggggattatgctg
+gacatttttcattctctaatgttttaattttgtaattattgctgttaaaaaattaatcac
+ctgccaaaagaaataaaaaagagaaagcctccgattaaattatttcgctacactggttcc
+acttttgtgatttacacgggttacccatgaagctgaccatcattcgattagaaaaattta
+gcgaccaagaccggattgacctgcaaaagatctggccggagtattccccttcctcgttac
+aggttgacgataaccaccgtatctacgccgcgcgttttaacgagcgcctgctcgctgccg
+tgcgggtaaccttaagcggcaccgagggagcactggattccctgcgcgtgcgggaagtca
+cccgccgtcgcggtgtggggcaatatctgctggaagaggttttgcgtaacaatcctggcg
+tttcatgctggtggatggcggatgcaggcgtggaagatcgcggtgtgatgacggcgttta
+tgcaggcgctggggtttacggcacaacagggcggctgggagaagtgttaatcgtcaagtt
+tgatttcaaaagtgatattgcctgatgcgctacgcttatcaggcctacaatgtgtgttgc
+aatttactgatttctttggatcttgtaggccggataaggcgtttacgccgcatccggcat
+gaagcaacgtactcgatattagcaatttggcggcaacccaaagttgccgattaatgatta
+cttcgcatcggtcgccgtgccgttggcgtgccagtcaaatacgccgaactcaaagccttt
+cagatcgcctttctcatcccaggtcagcggtcccattacggtatccacggagttcgcttt
+caggtatttggcgatttcagccggatcgtcagactgattcaggcccgcctgcaaagattg
+cagcgcggcgtaggtggtccaaacgaatgcgccacttgggtcctgttttttcgctttgat
+cgcgtcaacaatgggtttgttcgccggaacctgatcgtagttcttcggcttggtcaccag
+cagcccttccgctgattcgcccgcaatgttagacagcgaaacgttagccacaccttccgg
+ccccataaactgagttttcagccctgccgcgcgtgcctgacgcaggatttgccccatttc
+cgggtgataaccgccgtagtaaacgaagtcgatattctcttttttcagacgcgccaccag
+cgttgagaaatctttttccccggcggtgatgccatcaaagaacaccacgtttgcattgcc
+tttcttcaggccgtcctgcaccgctcgcgccagaccttcgccgtattgctgtttgtcgtg
+aacgatagcaatacgctgcggtttcactttctcaagaatatatttcgccgccgtcggccc
+ctggtcggagtccaggccggtggtgcgcaggatcagctgatagccacgggcggtcagctc
+cggcgcggttgccgctggggtgatcattaaaatgccttcgtcttcgtagatgtcagacgc
+aggctgcgttgatgaagaacagaggtgaccaatcacatatttaatgccgtcgttaacgac
+tttgttcgccaccgcaaccgcctgtttcgggtcacaggcatcgtcatattttacgatttg
+cagtttgttgcctttaatgccgcctttagcgttgatatccgcaaccgcctgctctgcgcc
+ggtaaactcctggtcaccgtactgcgcaaccggaccggacattgcgcccacgaccgcgac
+tttaatatcttctgccagagccatattgctgaatgccagcgcgatacatcctgccagtaa
+cgctttaccctttatgttcatcctgagaatccccattcttctggttattacgtgtgttgt
+gatgttgtttttcagcactttatttcgttttatgcatgactacccgtgctttagcagcat
+actctgctaaaacatacccgatttttatgatattggaatagctattttgacagtttatta
+acaatctgcgtggggattggcgttttgccggaggggaaattgattattacagaggcccaa
+aaaacaaaaaccccggactctcatccagggttctctgcttaatagcggaaattacgcttc
+aatggcagcacgcaattttttcatcgcgttcttttccagctggcgtacacgctcagcgga
+aacgccgtaacggtcagccagttcctgcaacgtggacttgttgtcttcgtccagccagcg
+cgcacggatgatgtcctggctgcgttcgtccagaccctgcatcgcgtcggtcagacggtt
+tgccgcctgctcttcccagttatcatcttcaatgccgtcggcaaagttagatgatttatc
+ctgcagatagagcaccggagccatcggctggctgtcggaatcgtcgtcggaagacaggtc
+aaaggtcatgtcctgtgccgccatacgtgattccatctcacgtacgtctttgctggttac
+gcccagttcacgggccaccatttcgacttcatcctggttaaaccagcccagacgctgctt
+ggttttacgcaggttgaagaacagtttgcgctgcgctttggtggtcgcaactttgacgat
+acgccagttacgcagaacgtattcgtggatctctgctttgatccagtgaacggcgaagga
+gaccaggcgcacacccacttccgggttgaaacggcgcactgctttcatcaggccgatgtt
+accttcctgaatcaaatccgcctgtggcaggccatagcccgcataattacgagcaatatg
+aacaacaaaccgcaggtgagacaggatcagcgttttagctgcttccagatcgccatggta
+atgcagcttttcagccagcgcccgctcctcgtcagccgacaacatcggccacgcgttagc
+tgcccggatgtaggaatccaggttgccaactggggctaaagctaaactttgcattttgtc
+agtcattcaaatcctctcaatcgatatcttctggcgcttcagtggtagcaacaactgtgc
+cagagcttaagagcaacgaggttatcattcactgttttatcagaccgtgattttatccac
+aagttcaatgcaagcttgtgaataaattacgcacaaaatgtgacatagagatgaaatacc
+gggaagagacaacggggtctctttccctgctacggaacccattgcagggaaagagtataa
+cacgcttttattattcaggcgtaaagtggcgtaaatgttgtaccgtggcaagccacgctg
+ccacccagccaatcatcgagcataccagcagcaatagcaggcattcatcgaatgataagc
+cattgatatcaaacttcgttccgaaaacctgtgccacttccgcaaccgccgatgacaatc
+gcagcaccagaatttctgacaaaattaatgacaacaatgcgccagaaaatcccagcagtg
+cgccaccatacaggaacgggcgcaggatgaatccatctgtcgcaccaatcagtttctgta
+cgttaatggagtcacggcgagcaaagatactcagacgcacactgttaccgatgacgagga
+acacggccgccaccatcaacacgccgatcatcgccgaaacgcgcccgaccagcccggtca
+acgccgccagacgggcaaaccagctgtcatccatccgcacttcgtcaatgccgttaatct
+gcgtgatacgatcacgcagcgtattcagtgattccgtcccctggaaatcgagtttcggga
+tcaccaccgccactgccggaagcgggttttcttccagcatatccagcgcaccaccaaaac
+cagaccagttacggaactcacccagtgcgtcttcacgagaaagatagttcactttctcca
+cgccttgctcggcctgcaactgtgccaccacgcccgcagcagcgtcatcgtccagcgttt
+tttgcagataaacagtgatttgcggtgacggataatactgcgtcgccgcctggttaacgt
+ttttgtacaccatataacagacgctgggcagcgtcagagaaatggcgataaccatcaccg
+ttaaaaacgtggcgaacggtttgcttttcagatcctgcaatgcgccgtggaaggcatagc
+gcacctgttcgttgaaaacgttggttttgcgatttaccggttttggcgaggatttcgcgc
+gttttggtgcgttacgaccgccgtcgcctgagccgccgaccgatttacggaagcgatcaa
+gacgcccgccaaactgccgaatatgattgattgcatcgcgcttattcatggcccacgcct
+ccatgcaagtgaccatcgctcagggtgagcatgcgataggaacgccgcgagatcaggttg
+atgtcgtgcgttgccatcaatacggttaccccaacgcggttaaactcttcaaacagacgt
+aaaatgccttccgacagcgcgtcgtccaggttaccagtcggttcgtccgccagcagtacc
+gcgggcttgttcaccaccgcgcgggcaatgccaacacgctgttgttcaccgcccgaaagc
+tgaatagggaagttcttcgctttgtccagtagcccgactttatccagcgccgccgacacc
+cggcgacgaatatcgtcaccgctggcaccggcgataatcagcgggatcgccacgttatcg
+tagacagtacggtccatcagtagatggtgatcctggaaaatcatgccaatctggcggcgc
+agaaacggaacttcacggtttttcagacgcgtgatgtcatggccgctaaaccagattttc
+ccggcgctgggccgctcaatcccacagatcagcttcaggagggtacttttccctgcgccg
+gaatgaccggtcagaaacgccatctcacccggctgcatatggaacgtaacgccctgcagc
+gcctgtctcccaccgagataagccttgctgacatgttcaaagcgaatcattgttaatcct
+ctcgggcaaaaagtgcctctataaagtcgtccgccttaaacggacgcaaatcctcaatac
+gttcgccgacaccaatgtagcggatagggataccaaactggtcagccaccgagaaaatta
+ccccgcctttcgccgtgccgtccagtttcgttagcgtgatgccggttaagccaacggctt
+catggaacagtttggcctggcttaccgcgttctgcccggtgctggcatcaatagtcagca
+taacttcatgcggcgcttcaacgtcgagtttcttcatcacgcggacgattttcttcaact
+cttccatcaggtgcgatttgttctgcaggcgtccggctgtatcggcaatcaggacgtcga
+tattacgcgctttagctgcctgaatggcgtcgaagataacagaggcggaatccgccccgg
+tatgctgggcaatcaccggaatattgttgcgctgaccccagacctgaagctgttcaaccg
+cagctgcacggaaagtatcacccgccgccagcatcaccgatttaccctgctgctcaaact
+gacgcgccagcttaccaatcgtcgtggttttacccacaccgttgacgcccaccatcagga
+tcacaaacggcgctttgccttcaacattcagcggctcatcgactttcgccagaatctcgc
+ccatctcttctttcagcaggccatagagcgcctcggcgtcacgaagctgcttgcgggatg
+cgccttccgtcagattggtgataattttacgtgtggtttccacacccacatcggcgatca
+aaagctgctcttccagctcctcaaacagatcatcgtcgatttttttaccgcggaacaggc
+tgataaatccggaaccgagattttctttggtttttaacaggctgcgtttcaggcgcgcga
+aaaaaccttctttggtcggtttttcctgctcctgagcgatttcttccaccggctgctctt
+cttctgccggaggaaccaccatcaccgcctcttctgccgcttcggcagccagcgccgttt
+ccagctcttcgtcggtaatttcttctttagccgcttcttcttccgccgcttcgacaatct
+ctacggtttccgcttcagcctgccactcttctggcgaaaccgcttcggcgttgacgtctt
+ccggcaacggcagctcttcacgttcgatagccactggctccggcgtttcttctacgaccg
+gttccggctgtgcaacgacttccgcttcaggctgcgctttttcactttcagcaacctgtt
+cagtgacttccacaacgtcggcagcaaaagtttccgcctcggcttcagtatgcgcttgcg
+gctgctcttcaacggcttgttcagaggccttcacaggctcttgcgcctgaacgatttctt
+ctacaaccggttgttcattctgaacttctgtctctttttccggggtctgctctttttgac
+caaagcccagccaggaaaaaaagccacgttttttttctttcgccatttgcgactacactc
+ctcgctgttgcttcatggcacagcgttaacgctatgtacatagcagctaaaaaaatgatg
+aaatagtctatcacttaacttaattcacatcaccgcctgcaagtatgtgttatctggcgg
+attgagcaatttatcatgaaaaaaccgaatcattccggcagcggccaaatccgcattatt
+ggcgggcagtggcgaggccgtaaactcccggttcctgatagcccaggtctgcgccccacc
+accgaccgcgtacgcgaaacgttgtttaactggctggctccggtcattgttgacgcccaa
+tgtctggattgcttcgccgggagcggcgcgctggggctggaagcgttatcgcgctacgct
+gcgggggcaacgttgattgagatggatcgcgcggtttctcagcagttaattaagaatctg
+gcgacactaaaagcaggcaatgcacgcgtggtgaacagcaacgcgatgtcattcctggcg
+caaaaaggtacaccgcataatatcgtgtttgtcgatccaccgttccgccgtggcttgtta
+gaagagacgataaatttactggaagataacggctggctggctgacgaagccctgatttat
+gtcgaaagcgaagtcgaaaacggtctgcccactgttccagcaaactggtcattacatcgg
+gaaaaagtggcgggtcaggtggcttatcggctgtatcaacgcgaagcacaaggagaaagt
+gatgctgattaatattggtcgtttgttaatgctctgcgtttggggatttttaatcctcaa
+cctggtgcatcccttcccacgcccgctgaatatcttcgttaacgtggcgctgatttttac
+cgtgctgatgcatggtatgcagctggcgctattgaaatccactttaccgaaagatggccc
+gcagatgaccaccgccgaaaaggtacggattttccttttcggcgtgtttgaactgctggc
+ctggcagaagaaatttaaagttaaaaaataaccttattgttcgcctacaaagctgacaaa
+gcgcgttcctttatagctcagcgtacctttatcgcccactgtcagggcgtggtactgctg
+ggcgtcgaggcgaaacgtctgctccattcctccgctttgcggtttgaagcttgcctcata
+gcgtatactggtgcctgccggagtcacttcctgctggcgcgaacggcgatcgttaatcgg
+tttttcccgcttgttgctcaccaccaccagcttttgctggagcggagccatatcattatc
+agctttttcccgtcgctgttgcataaaacgaaacgatgcggcgacgacaattaagccaat
+gataacaataaagaaaagaggtggtttgctcatctttatccctcatcggaaaatgcggaa
+ataagcataccctgccagttatggtgttgtcatccgtccaccctcgccactaaactggaa
+gcaagaccgtaggcattccgcttacgaaaaaataacgaattcaaggaactaagatgcttt
+ggtcgtttatcgctgtctgtctttccgcatggctatctgtggatgcatcgtatcgtgggc
+caacctggcaacgctgggtgtttaaaccgttaacccttcttctcctgctgttactggcct
+ggcaagcgccgatgttcgacgccattagctatctggtgctggcagggctgtgcgcctcac
+tgctgggcgatgcgctaaccctgttgccacgtcaacgtctgatgtacgccatcggcgcgt
+ttttcctctcgcacctgctgtacaccatctatttcgccagtcagatgacgctctctttct
+tctggcctctaccactggtgctgctggttctgggtgcgctgttactggcgattatctgga
+cgcgcctggaagagtaccgttggcctatctgcacgtttatcggcatgacgctggtgatgg
+tgtggctggcaggtgaactgtggttcttccgtccgaccgctccggcgctctctgcgtttg
+ttggcgcttcgttgctgtttatcagtaactttgtctggctggggagccactatcgccgac
+gcttccgtgcggataacgcgattgctgcggcctgctactttgccggtcacttcctgatcg
+tccgctcgctgtatctctgataaaacttgactctggagtcgactccagagtgtatccttc
+ggttaatgagaaaaaacttaaccggaggatgccatgtcgactcctgacaatcacggcaag
+aaagcccctcaatttgctgcgttcaaaccgctaaccacggtacagaacgccaacgactgt
+tgctgcgacggcgcatgttccagcacgccaactctctctgaaaacgtctccggcacccgc
+tatagctggaaagtcagcggcatggactgcgccgcctgtgcgcgcaaggtagaaaatgcc
+gtgcgccagcttgcaggcgtgaatcaggtgcaggtgttgttcgccaccgaaaaactggtg
+gtcgatgccgacaatgacattcgtgcacaagttgaatctgcgctgcaaaaagcaggctat
+tccctgcgcgatgaacaggccgccgaagaaccgcaagcatcacgcctgaaagagaatctg
+ccgctgattacgctaatcgtgatgatggcaatcagctggggtctggagcagttcaatcat
+ccgttcgggcaactggcgtttatcgcgaccacgctggttgggctgtacccgattgctcgt
+caggcattacggttgatcaaatccggcagctacttcgccattgaaaccttaatgagcgta
+gccgctattggtgcactgtttattggcgcaacggctgaagctgcgatggtgttgctgctg
+tttttgattggtgaacgactggaaggctgggccgccagccgcgcgcgtcagggcgttagc
+gcgttaatggcgctgaaaccagaaaccgccacgcgcctgcgtaagggtgagcgggaagag
+gtggcgattaacagcctgcgccctggcgatgtgattgaagtcgccgcaggtgggcgtttg
+cctgccgacggtaaactgctctcaccgtttgccagttttgatgaaagcgccctgaccggc
+gaatccattccggtggagcgcgcaacgggcgataaagtccctgctggtgccaccagcgta
+gaccgtctggtgacgttggaagtgctgtcagaaccgggagccagcgccattgaccggatt
+ctgaaactgatcgaagaagccgaagagcgtcgcgctcccattgagcggtttatcgaccgt
+ttcagccgtatctatacgcccgcgattatggccgtcgctctgctggtgacgctggtgcca
+ccgctgctgtttgccgccagctggcaggagtggatttataaagggctgacgctgctgctg
+attggctgcccgtgtgcgttagttatctcaacgcctgcggcgattacctccgggctggcg
+gcggcagcgcgtcgtggggcgttgattaaaggcggagcggcgctggaacagctgggtcgt
+gttactcaggtggcgtttgataaaaccggtacgctgaccgtcggtaaaccgcgcgttacc
+gcgattcatccggcaacgggtattagtgaatctgaactgctgacactggcggcggcggtc
+gagcaaggcgcgacgcatccactggcgcaagccatcgtacgcgaagcacaggttgctgaa
+ctcgccattcccaccgccgaatcacagcgggcgctggtcgggtctggcattgaagcgcag
+gttaacggtgagcgcgtattgatttgcgctgccgggaaacatcccgctgatgcatttact
+ggtttaattaacgaactggaaagcgccgggcaaacggtagtgctggtagtacgtaacgat
+gacgtgcttggtgtcattgcgttacaggataccctgcgcgccgatgctgcaactgccatc
+agtgaactgaacgcgctgggcgtcaaaggggtgatcctcaccggcgataatccacgcgca
+gcggcggcaattgccggggagctggggctggagtttaaagcgggcctgttgccggaagat
+aaagtcaaagcggtgaccgagctgaatcaacatgcgccgctggcgatggtcggtgacggt
+attaacgacgcgccagcgatgaaagctgccgccatcgggattgcaatgggtagcggcaca
+gacgtggcgctggaaaccgccgacgcagcattaacccataaccacctgcgcggcctggtg
+caaatgattgaactggcacgcgccactcacgccaatatccgccagaacatcactattgcg
+ctggggctgaaagggatcttcctcgtcaccacgctgttagggatgaccgggttgtggctg
+gcagtgctggcagatacgggggcgacggtgctggtgacagcgaatgcgttaagattgttg
+cgcaggagataaggcaaaccgatcgcaacattgagcgcgatcggtcccctcgcccctctg
+gggagagggttagggtgaggggaaaaggcggcatcgaagccaatcagcccctatcaaccg
+cctttacgaatcaaataacgataaggcagtccatccgtctctttagcaaccagttcgtgt
+tccataaaggtacaaaacccaggaatatcgcgggtagtggccggatcgtcggcgataatc
+agcaacgtttcgccaggctgcatattgcgcacggttttgcgcaccatcatcaccggttcc
+gggcagcgcaggccaagcgcgtcgagtgtgtggtcagggctggaaaagagatcggtcatt
+ttcttctcatcacttaaaaaaacggcgctagtttacgccctgtgagtccgtaagcaaact
+aggttaacgattgcgtgaaaattaaccattgcattgtcaacgtaaagcagtatcatgcgg
+cggctcgaaaaaagggtaagcacgttattatgttaaggtaacagacgtgtcgtacgtatt
+gggttccctcaccccaatggttaatcaaaaaggtacaatatgaacgttttctcgcaaact
+caacgctataaggcgttgttctggttatcgttatttcatctgctggtgatcacctccagt
+aactatctggttcagcttcccgtctccattttgggtttccataccacctggggcgcgttt
+agctttccgtttatttttcttgctaccgacctgaccgtgcgtatttttggcgcaccgctg
+gcccgacgcattatcttcgcggtaatgatccctgcgttattaatctcctacgtcatctcg
+tcgctattctatatgggttcctggcagggattcggcgcactcgcccacttcaacctgttt
+gtcgcccgtatcgccaccgccagtttcatggcctacgcgctggggcaaatcctcgacgtg
+cacgtttttaaccgcctgcgtcagagtcgccgctggtggctggcaccgacagcgtccaca
+ctgttcggtaacgtcagcgacacgctggcctttttcttcattgccttctggcgtagcccg
+gatgcctttatggctgaacactggatggaaatcgcgctggtcgattactgtttcaaagtg
+ttaatcagtatcgttttcttcctgccaatgtatggcgtattactcaatatgctgttgaaa
+agactggcagataaatccgaaatcaacgctttgcaggcgagttaaaggttcgttatcaga
+gttgtgataagatggatgaatgagccgttatggccgtttatcgaaaggaagaagtcaatg
+cgcaatctggttaaatatgtcggaattggcctgctggttatggggcttgcggcctgtgat
+gataaagacactaacgctacggcgcagggttcggtcgcggaaagtaacgctaccgggaat
+cccgtcaacctgcttgatggcaagttaagtttctcgctgccagcggatatgaccgaccag
+agcggtaagctgggaacgcaggccaataacatgcatgtctggtccgacgccaccgggcag
+aaagcagtcatcgtcatcatgggcgatgatccgaaagaagatctggcggtgctggcgaag
+cgtctggaagatcagcaacgtagccgcgatccgcagctgcaagtggtaaccaataaagcc
+attgagctgaaaggtcacaaaatgcagcagttagacagtattatctccgcgaaaggccag
+acggcgtactcttccgttattctgggtaacgtgggtaatcaactgctgaccatgcaaatt
+acgctgcccgctgacgatcagcaaaaagcgcagaccaccgcagaaaacatcattaatacg
+ctggttattcagtaagttttaagatgatgaggcggcctcagggacgtgttccggaggccg
+tttttttaatcgccacgtcagtaataacgcgattgcgaccagtcccgccgccgccagata
+aatcaccggtacgcccgcccagctcatcaccagcccagccagtggtccagtcacgccaag
+cgataaatccataaatacggtgtaagttgccagcgccgccccctgattttgctgcggaac
+cgcttttaccgccactacacccaatgccgggaacaccagcgaaaacccggcccccgccag
+taagacgccgattttcgccatccacggcatagtcgccacgccaaccagtagcaggccgat
+tatctcaacgctaaagcaaatcatcgctacgtttaagccaccgatacggttaatgccgtt
+agggaataacaaacgcgtaccgacaaacgcacagctaaacagcgtcagcgcgaaagccgc
+accgtcccaacctttagcgtcataaaacagcgtgataaaggtggcgatgacgccaaatcc
+ggcggaagccagtgccagcgccataccgtacagccagacgcgcccaagcaccgcgcgaaa
+cggcagcggtttgcctttactggcttttaccgtcggacgcgggatcgccaacaaaatggc
+caccagcgccacgcccataatgattaacgctaacgcctgcaagccgccccagtgataaaa
+cacgacgcctaacggcgcacccatcgccatcgccccgtaagtgacaatgccgttccacga
+aatcacccgcccgatatgcagcgagccaaccacgccaacgccccatagggtcgatcccgt
+tccggcaaaactttgcccaatcccaaggatgacgcgccccaggcaaagtaataacaggct
+gatgacaggcagactggcggttaatcctgccgtcagataccccagaccgctcaaaaagca
+gccgcataaaccgaagacgacaatctttttgggtcccagcgaatcggcgtaacgtccggc
+atgagggcggctcagcaaggtggcgaaatattgcaggctgataaccaatcctgcccagaa
+ggcgctaaagcccatcacatcatggacatagcccggtaatacagcgagcggcaacccgat
+ggtgaggtagctggcgaagttaaacatgactatagagacaatgcgcaaattcaggcgcaa
+tccgtttagcgcgggttcggctacgggttcgggcatgaggatcaccacatttttacaaca
+gtgtttcatttttaccacgtgctgacgtgaaaatcagcagtaagaatcagaatattgctg
+gcgtgactcccgctacacttaatacaaaaagtcacaaggaagccccaatggaaacccctc
+aacccgataaaacgggcatgcacattctgctcaagctggcctcgctggtagtgatcctcg
+cgggcattcacgcagcggcagatatcattgtgcagctgttactggcgctgttttttgcca
+tcgtcctcaacccgctcgtcacctggtttattcgtcggggagtacaacgccccgttgcca
+ttacgattgtagtggtggtgatgctgatcgcactaaccgcgctggtcggcgtactggcgg
+catcgtttaacgaatttatctctatgctgccgaagtttaataaggagctgacgcgcaaac
+tttttaaattgcaggagatgttgccttttcttaatttgcatatgtcgccggagcgaatgc
+tgcagcggatggactcggaaaaagtggttaccttcaccacagcgctaatgaccgggcttt
+ccggggcaatggcgagcgtgcttttgctggtgatgaccgtagtttttatgctgtttgaag
+tgcgccacgtcccttacaaaatgcgttttgcgctgaataatccacagattcacatcgcgg
+gattacaccgcgcacttaaaggcgtttcgcactatcttgcattgaagacgctactcagtt
+tatggacaggtgtcatcgtctggctggggctggagctgatgggggtgcagtttgcgctga
+tgtgggcagtactggcgtttttgctcaactacgtgcccaatatcggcgcggtaatttccg
+ccgtaccgccaatgattcaggtgctgctgtttaatggtgtttacgaatgtattctggtcg
+gcgcattgtttttagtggtccatatggtcatcggcaatattttagaaccacggatgatgg
+gccatcgcctggggatgtccaccatggtggtatttctttcattgttaatttggggatggc
+tgctcggcccggtagggatgctactttcggtgccattaaccagcgtgtgtaaaatctgga
+tggaaaccaccaaaggcggtagcaaactggcgattttactggggccgggcagaccgaaaa
+gtcggttaccgggatgaggcgacaagtgatacgatacgcactttcattttccattaaacg
+ttggccctgatatgtatcggatagttctggggaaagtttcgaccttaagcgcagctccac
+tgccaccgggtttacgcgagcaagcaccgcaaggtccacgacgcgaacgctggctggcgg
+ggcgtgcattgctttcgcacacgctttccccgctaccggagatcatctatggcgaacaag
+gcaaacctgcatttgcgccggaaatgccgctatggttcaacttaagccatagcggtgacg
+atatcgccctgctgttgagtgatgaaggcgaagtcggctgcgatatcgaagtgattcgcc
+cgcgcgccaactggcgctggctggcgaacgccgtattcagcctcggggaacacgctgaga
+tggacgccgtgcatcctgatcagcaactggaaatgttctggcgcatctggacgcgcaaag
+aagccatcgttaaacagcgtggcggcagcgcctggcaaatcgtcagcgtagacagcacct
+atcactcctcgctgtcagtcagccattgtcagcttgaaaatttaagccttgcgatctgca
+cccctactccctttacgctcaccgccgacagtgtgcaatggatcgattcagttaactgat
+ccgcccacccgactgcccatctattgatccagaacaggtaatcagtatgacgaatactta
+aaatcgtcatacttatttccgccatctattttaatccattggggttaccatgctctccac
+actccgccgcactctatttgcgctgctggcttgtgcgtcttttatcgtccatgccgctgc
+accagatgaaatcaccaccgcctggccggtgaatgtcgggccactaaacccgcaccttta
+cacgcctaaccagatgttcgcccagagcatggtttatgaaccattggtgaaatatcaggc
+agacggttcggtgatcccgtggctggcaaaaagctggactcattcagaagatggtaaaac
+ctggaccttcaccctgcgtgatgacgtgaaattctccaacggtgaaccgttcgatgccga
+ggcggcggcagaaaacttccgcgcagtgctcgataaccgtcaacgtcacgcctggctgga
+gctggcaaaccagattgttgatgttaaagcactcagtaaaacagagctgcaaattaccct
+gaaaagcgcctactatcctttcctgcaagaactggccctgccccgtcctttccgttttat
+cgctccctcgcagtttaaaaaccatgaaaccatgaacggaattaaagcgccgattggcac
+cggaccgtggattttgcaggaatcgaaactgaatcagtacgatgtcttcgtccgtaacga
+aaactactggggcgaaaagccagcgattaaaaagatcacctttaacgtcatcccggaccc
+gactacccgcgcggtggcgtttgaaactggcgatatcgacctgctgtacggaaacgaagg
+gttattaccgctcgataccttcgcccgctttagccagaatccggcttaccacacccaact
+gtcacagccgatcgaaaccgtgatgctggcgctcaataccgccaaagcccccaccaacga
+gctggcagtacgtgaagctcttaattacgcggtaaacaaaaaatcgctgattgataacgc
+gttgtatggcacccagcaggtcgccgacaccctgtttgccccttctgtgccctacgccaa
+cctcggcctgaaaccgagccagtacgatccgcaaaaagcgaaagcgttgctggaaaaagc
+cggttggacgctgcctgcgggcaaagacatccgcgagaaaaatggtcagccgctgcgcat
+tgaactttcgttcatcggcaccgatgcgttaagcaaatcgatggcggaaatcattcaggc
+tgatatgcgccagattggcgcagatgtctcgctgattggcgaagaagagagcagtatcta
+tgctcgtcagcgcgacggtcgttttggcatgattttccaccgcacctggggcgcgccata
+tgatccacacgccttcctcagttcaatgcgcgtaccgtcacacgctgacttccaggcaca
+gcaaggattagccgacaaaccgctgattgataaagagatcggcgaagtgctggcgaccca
+tgacgaaacgcaacgtcaggcgctgtatcgcgacattctgacccgtctgcatgacgaggc
+ggtttatctgcctatcagttacatctcaatgatggtggtatcaaaaccggagctgggtaa
+catcccctacgcgccgatcgccaccgaaattccgttcgaacagattaaaccggtgaaacc
+ttaatgttgcgttacgtattacgccgctttctgctgctgatcccgatggtgctcgccgcc
+tcggtgatcatttttctgatgctgcgcctcggtaccggcgacccggcgctcgattatttg
+cgtctgtctaacctgccgccgacgccggagatgctggcctctacccgcaccatgctggga
+ctggatcagccgctgtacgtccagtacggcacctggttgtggaaggcgctgcatcttgac
+tttggtatctcattcgccagccaacgcccggtactggacgatatgctgaacttcctgccc
+gccacgctggaacttgcaggtgcggcgctggtattaattctgctcacttccgtaccgctc
+ggtatctgggcggcgcgccatcgcgaccgtctgccggatttcgccgtacgtttcatcgcg
+tttcttggcgtgtcgatgcctaacttctggctggcgtttttactggtgatggcgttttcg
+gtgtatctgcaatggctacccgcgatgggttacggcggctggcagcacatcattttgcct
+gcggtttccattgcctttatgtcgctggcgattaacgcgcgtttactgcgcgccagtatg
+ctggacgtcgccggtcagcgtcacgtcacctgggcgcgtctgcgcggcctgaacgacaaa
+cagaccgaacgtcgccacatcctgcgcaatgcctcgctgccgatgatcaccgccgtgggg
+atgcatatcggcgaactgattggcgggacgatgattatcgaaaacatctttgcctggccg
+ggcgtcgggcgctatgcggtgtcggcgatttttaaccgtgactatccggtgatccagtgc
+tttacgctgatgatggtggtggtttttgtggtctgtaatttgattgtcgatttgctcaac
+gccgcgctggacccgcgcattcgtcgtcatgaaggagcgcacgcgtgaactttttcctct
+cttcccgctggtcggtacgcctggcgctgatcattatcgccctgctggcgctgattgcgc
+tcaccagccagtggtggctgccgtatgacccacaggcgattgatttgccgtcgcgcctgc
+tttcgccggatgcgcagcactggctgggcaccgatcacttaggtcgcgatattttctcgc
+ggctgatggcagcgacccgcgtgtcgctcggttcggtaatggcctgcctgctgctggtgc
+tgacattagggctggttattggcggcagcgccgggttgattggcgggcgcgttgatcagg
+ccaccatgcgcgtcgccgatatgtttatgaccttcccgacctcgattctgtcgttcttta
+tggttggcgtgctcggcaccgggctgaccaacgtaattatcgccatcgccctgtcgcact
+gggcgtggtatgcacgcatggtgcgcagcctggtgatttcactacgccaacgcgagtttg
+tgctggcgtcacggctttccggtgcgggccatgtgcgggtgtttgtcgatcatctggcag
+gcgcggtgatcccttcgctgctggtgctggcaacgctggatatcggccatatgatgctgc
+acgtcgcggggatgtctttccttggcctcggtgtgaccgcgccgaccgccgaatggggcg
+tgatgattaacgacgcgcgccagtatatctggacccagccgctgcaaatgttctggccgg
+ggctggcgctgtttatcagcgtgatggcctttaacctggtgggtgacgcactgcgcgatc
+atctggaccctcatctggtgacggagcacgcacactaatgccgcaacagattgaactacg
+taatatcgcgctacaggccgcgcagccgctggtacacggtgtatcgttaaccctgcaacg
+cgggcgcgtgctggcgttagtcggcggtagcggcagcgggaaatcattaacctgcgccgc
+aacgctgggcattttgcccgctggcgttcgccagacggcgggggaaattttagccgatgg
+caaaccggtttcgccttgcgccctgcgcggcatcaaaattgccaccatcatgcagaaccc
+gcgcagcgcctttaatccactgcacaccatgcacacccacgcgcgggaaacctgcctggc
+gttagggaaacccgccgatgacgctacgcttaccgctgccatagaagcggtggggctgga
+aaacgccgcgcgcgtgctgaagctgtacccgttcgagatgagcggcggcatgttgcagcg
+catgatgattgcgatggcggtgctgtgtgaatcaccgtttatcatcgccgatgaaccgac
+caccgaccttgacgtggtagcacaggcgcgcatcctcgatctgctggaaagcattatgca
+aaaacaagcgccgggaatgctgctggtgacccatgatatgggcgttgtggcgcgtctggc
+ggatgacgtggcggtgatgtctgacggtaagattgtcgaacagggcgatgtagaaacgct
+gtttaacgcccccaaacatacagtgacgcgcagcctggtttccgctcatctcgccctcta
+cggtatggagctggcatcatgactttacttaacatctccggcctttcccatcactatgcg
+cacggtggatttaacggaaaacatcaacatcaggcggtgctgaataacgtttccctgacc
+ctgaaaagcggcgaaaccgtcgccctgctggggcgcagcggctgcgggaaaagtaccctc
+gcgcggttgctggtgggtttagaatcgcccgcgcaggggaatattagctggcgtggcgaa
+ccgctggcgaaactcaatcgcgcccagcgtaaagcgttccgccgcgatattcagatggta
+tttcaggactccatcagcgccgtgaatccgcgcaaaaccgtgcgcgagatcctgcgtgaa
+ccgatgcgccacctgctatcactgaaaaaatccgaacaactggcgcgcgccagcgaaatg
+ctgaaggcggtcgatctcgatgacagcgttctcgacaaacgcccaccgcagttaagcggc
+ggccagctccagcgcgtctgcctggctcgcgcgctggcggtcgaaccgaaactactgatt
+ctggatgaagccgtttctaaccttgatctcgtgttacaggcgggtgtcattcgcctgctg
+aaaaagctacaacaacagtttggcaccgcctgcctgttcatcacccacgacttacgcctg
+gtagaacgcttttgccagcgggtaatggttatggacaacggacaaatcgtcgaaacccag
+gtggtgggagagaaattaaccttttcctctgacgccggacgtgtgctacaaaacgcggta
+ttacccgcattccccgtgcgccgtcgcaccacagaaaaggtttaacgcaaatgcaacgag
+tcaccatcacgcttgatgacgatttactggagacgctggacagcctgagccagcgtcgtg
+gttataacaaccgttccgaagctatccgcgacattctgcgtagcgccctggcgcaagagg
+ccacccagcagcacggcacgcaaggtttcgcggtgctgtcgtatgtgtatgaacacgaaa
+aacgcgacttagccagccgcattgtctccacccagcatcatcaccacgacctctccgtcg
+ccacgctgcatgtgcacatcaaccacgacgactgtctggaaatcgccgtgttgaaaggtg
+acatgggtgacgtgcagcattttgccgatgacgttatcgcccagcgcggcgtgcggcacg
+ggcatttgcagtgcttgccgaaggaagattgagtctattattgggtcctttggtgaacga
+tcaacaaagggccactagcacacctgattcctctctaaataccctatccgaaccttctct
+tttgtaacgttctaaatatattcctaaaaatcttcaattcattgtgaccacaagtttttc
+ttcgctttttcgtatgaagatactgtcattaaaataatagaaaaggattttacgatgagc
+ggaaaaccggcggcgcgtcagggtgacatgacgcagtatggcggtagcattgttcagggt
+tcagccggggtacgtattggtgcccccaccggcgtggcctgttcggtgtgccccggcgga
+gtgacgtccggccatccggtcaatcccctgctcggtgcaaaggtccttcccggtgaaacc
+gacatcgccctgcccggcccgctgccgttcatcctctcccgcacctacagcagttaccgg
+acaaaaacgcccgcgccggtggggagcctcggccccggctggaaaatgcctgcggatatc
+cgcttacagctgcgcgataacacactgatactcagtgataacggcggcagaagcctgtat
+tttgagcacctgtttcccggtgaggacggttacagccgcagcgagtcactgtggctggtg
+cgcggcggcgtggcgaaactggatgaaggtcaccggctggccgcactctggcaggcgctg
+ccggaagaactccgcttaagtccgcatcgttatctggcgacaaacagtccgcaggggccg
+tggtggctgctcggttggtgtgagcgggtgccggaagcggatgaggtgctgcctgcgccg
+ctgccgccgtaccgggtactgaccgggctggtggaccgcttcgggcgcacacagacgttc
+caccgcgaagccgccggtgaattcagcggcgaaatcaccggcgtgacggatggtgcctgg
+cgtcacttccggctggtactgaccacgcaggcgcagcgggcagaagaagcccggcagcag
+gccatttccggcgggacggaaccgtccgcttttcctgataccctgccgggttacaccgaa
+tatggccgggacaacggcatccgtctgtctgccgtgtggctgacgcacgacccggaatac
+ccggagaatttacctgccgcgccgctggtgcgctatggctggacgccacgcggcgaactg
+gcggtggtgtatgaccgtagtggcaaacaggtgcgcagctttacttacgatgataaatac
+cggggccggatggtggcgcaccgtcacacgggccggccggaaatccgttaccgttacgac
+agcgacgggcgggtgacagaacagctaaacccggcaggcttaagctacacgtatcagtat
+gagaaagaccgcatcaccatcaccgacagcctggaccgccgtgaagtgctgcacacgcag
+ggcgaagccgggctgaagcgggtggtgaaaaaggaacacgcggacggcagcgtcacgcag
+agtcagtttgacgccgtgggcaggctcagggcacagacggatgccgcaggcaggacaaca
+gagtacagcccggatgtggtgacgggcctcatcacgcgcataaccacgccggatggcagg
+gcatcggcgttttactataaccaccacaaccagttaacgtcagccaccgggcctgacggg
+ctggaattgcgccgggaatatgatgaattgggccgtctgattcaggaaactgcccctgac
+ggcgatatcacccgctaccgttatgataatccacacagtgacttaccctgcgcaacggaa
+gatgccaccggcagccggaaaaccatgacgtggagccgttacggtcagttgctgagcttc
+accgactgttccggttatgtaacccgttatgaccatgaccgcttcgggcagatgacggcg
+gtgcaccgcgaggaagggctgagtcagtaccgcgcatacgacagccgtggacagttaatt
+gccgtgaaagacacgcagggccatgaaacgcggtatgaatacaacatcgccggtgacctg
+accgccgtcattgccccggacggcagcagaaacgggacacagtacgatgcgtggggaaag
+gccgtccgtaccacgcagggcgggctgacgcgcagtatggaatacgatgctgccggacgg
+gtcatccgcctgaccagtgaaaacggcagccacaccaccttccgttacgatgtacttgac
+cggctgatacaggaaaccggctttgacggccgcacacagcgttatcaccacgacctgacc
+ggcaaacttatccgcagcgaggatgagggtctggtcacccactggcactatgacgaagca
+gaccgcctcacgcaccgcaccgtgaagggtgaaaccgcagagcggtggcagtatgacgaa
+cgtggctggctgacagacatcagccatatcagcgaagggcaccgggtggcggtgcattac
+aggtatgatgagaaaggccggctgaccggtgagcgtcagacggtgcatcacccgcagacg
+gaagcactgctctggcagcatgagaccagacatgcgtacaacgcgcaggggctggcgaac
+cgctgtataccggacagcctgcccgccgtggaatggctgacctacggcagcggttacctg
+gcaggcatgaaactcggcgacacaccgctggtggagtacacccgcgaccgcctgcaccgg
+gaaacgctgcgcagcttcggccgttatgaactcaccaccgcttatacccctgccgggcag
+ttacagagccagcacctgaacagcctgctgtctgaccgcgattacacctggaacgacaac
+ggcgaactcatccgcatcagcagcccgcgccagacccggagttacagctacagcaccacc
+ggcaggctgaccggcgttcacaccaccgcagcgaatctggatatccgcatcccgtatgcc
+acagacccggcaggtaaccgcctgcccgacccggagctgcacccggacagcaccctcagc
+atgtggccggataaccgtatcgcccgtgacgcgcactatctttaccggtatgaccgtcac
+ggcaggctgacagagaaaaccgacctcatcccggaaggggttatccgcacggatgatgag
+cggactcaccggtaccattacgacagtcagcaccggctggtgcactacacgcggacacaa
+tatgaagagccgctggtcgaaagtcgctatctttacgacccgctgggccgcagggtggca
+aaacgggtgtggcggcgtgaacgggacctgacgggctggatgtcgctgtcacggaaaccg
+caagtgacctggtacggctgggacggcgaccggctgaccacgatacagaacgacaggagc
+cgcatccagacgatttatcagccggggagcttcacgccactcatcagggtcgaaactgcc
+accggtgagctggcgaaaacgcagcgccgcagcctggcggatgcccttcagcagtccggc
+ggcgaagacggtggcagtgtggtgttcccgccggtgctggtgcagatgctcgaccggctg
+gaaagtgaaatcctggctgaccgggtgagtgaggaaagccgccgctggctggcatcgtgc
+ggcctgaccgtggagcagatgcaaaaccagatggacccggtgtacacgccggcgcgaaaa
+atccacctgtaccactgcgaccatcgcggcctgccgctggcgctcatcagcacggaaggg
+gcaacagcgtggtgcgcagaatatgatgaatggggcaacctgctgaatgaagagaacccg
+catcagctgcagcagcttatccggctgccggggcagcagtatgatgaggagtccggcctg
+tattacaaccgccaccgctattatgacccgctgcaggggcgatatatcactcaggatccg
+attggactgaaggggggatggaacctgtatggatatcaattgaatccgatatcagacatc
+gaccccctgggtttatctatgtgggaggatgcaaaatcgggggcatgtactaatggtctt
+tgcggcacactatccgctatgataggtccagataaatttgattctatagatagcaccgca
+tatgacgccttaaataaaataaatagccaatctatttgcgaagataaagagttcgctggt
+ttaatatgtaaggataatagtggcagatatttctcaacagcacctaaccgaggagaaaga
+aaaggatcatatccattcaatagcccttgccctaatggtactgagaaagtatcagcttat
+catactcatggtgcagatagtcatggagaatattgggacgaaatattttcaggtaaagat
+gagaaaatagttaaaagtaaagataacaatatcaagtcattttatttaggtacgcccagt
+ggtaattttaaagcaatagataaccacgggaaggaaataacaaacagaaaaggattacct
+aatgtctgcagagttcatggtaatatgtaaaaaaatattgtttaggaactgtgtcattgt
+atctttgtttgtttttacatacaacacatgggcgcagtgtaataataatattaaaataat
+gcgcaagtatgaaagtgaaggtaaatataccgttagaaatttggttaaaaataaagctat
+agcattggaattagctgagatatatgttaagaatcgttatggacaggatgccgcagaaga
+agaaaaaccatacgaaatcactgagttaacaacaagttgggttgttgaaggtaccattca
+ctcagaccaaattgctggtggggtttttattatagaaataggcaaaaatgatgggagaat
+tctgaattttggccacggaaaataagtatgtaaggataatcaaacatcgtgtgcgctgat
+ggcagagtaggtggaggactccagacagtcaaacgatagaaaaagatagcctttatggag
+gttcctgcaatgtcaaatacataccagaaaagaaaggcaagtaaagagtatggtttatat
+aataaatgtaagaaactaaatgatgatgaattatttcgcttacttgatgatcgcaattcc
+ttgaaaaggatttcatctgccagagtattacagttaagaggggggcaagacgctgttaga
+ttggcaattgaattctgcactgacaaaaattatatccgtagagatatcggagcatttata
+ctcgggcaaatataaatttgcaaaaaatgcgaagataatgtttttaatattttgaacaat
+atggcattgaatgataagagtgcttgcgttcgagctacggcaatcgagtcaacggccagg
+gaaagatcatcaaaagttcactttttgcactaaataattcgcattttatgtttaaaaatt
+gagatattccttattacctgaagctgttttttattgcttatacatgatcaaatactcctt
+acctaattaaggagaacaaaatggaacttaaaaaattgatggaacatatttctattatcc
+ccgattacagacaaacctggaaagtggaacataaattatcggatattctactgttgacta
+tttgtgccgttatttctggtgcagaaggttgggaagatatagaggattttggggaaacac
+atctcgattttttgaagcaatatggtgattttgaaaatggtattcctgttcacgatacca
+ttgccagagttgtatcctgtatcagtcctgcaaaatttcacgagtgctttattaactgga
+tgcgtgactgccattcttcagatgataaagacgtcattgcaattgatggaaaaacgctcc
+ggcactcttatgacaagagtcgccgcaggggagcgattcatgtcattagtgcgttctcaa
+caatgcacagtctggtcatcggacagatcaagacggatgagaaatctaatgagattacag
+ctatcccagaacttcttaacatgctggatattaaaggaaaaatcatcacaactgatgcga
+tgggttgccagaaagatattgcagagaagatacaaaaacagggaggtgattatttattcg
+cggtaaaaggaacccaggggcggctaaataaagcctttgaggaaaaatttccgctgaaag
+aattaaataatccagagcatgacagttacgcaatcagtgaaaagagtcacggcagagaag
+aaatccgtcttcatattgtttgcgatgtccctgatgaacttattgatttcacgtttgaat
+ggaaagggctgaagaaattatgcgtggcagtctcctttcggtccataatagcagaacaaa
+agaaagagccagaaatgacggtcagatattatatcagttctgctgatttaaccgctgaga
+aattcgccacagcgatccgaaatcactggcacgtggagaataagctgcactggcgtctgg
+acgtggtaatgaatgaagacgactgcaaaataagaagaggaaatgcagcagaattatttt
+cagggatacggcacattgctattaatattttgacgaatgataaggtattcaaggcagggt
+taagacgtaagatgcgaaaagcagccatggacagaaactatctggcgtcagtccttgcgg
+ggagcgggctttcgtaatcttgccctgaatacaggactgagtatcaaaaagccggttaac
+tgaaactgtccaggttttgggggtcagttcataaacgccttatccggcctaaaaacaact
+aaaattcaataaattgcaccgatgcgtagtccctataagcttacgcatcgggcaattgta
+tttacgccattgtcccaatcgtcttcctgaatcgcagcagcgcaatggtgaaaaatgcgc
+cgccaattgccatcagcgtcagaaactgcggccagacgatttcgaatccggcaccccggt
+agaggatggcctgcgcgaggctaacaaagtgtgtcgtcggcatggtcagcataatgtcct
+gcaccatctgcggcatactttcgcgcggcgtggaaccaccggaaagcatttgcagcggca
+gcagcaccagaatcaccagcagccccagttgcggcattgaacgcgctatcgtccccataa
+aaatgccgattgacgtggtggcaaacagactgagcgccacgcccagcataaacagcggga
+tcgagccttcaatcggtacgcccagtacacctttcaccatcagcaccagcgataatcccg
+ataccaccagcaccaccagccccatcgaccagatcttcgccatcatgatctcaaacggcg
+ttatcggcatcaccagtaagtgttccaccgtgccgtgttcacgctcgcggatcagcgccg
+atccggtcaatacaatcgccagcatggtaatgttgttgatgatcgccatcaccccgccaa
+accacgcgggatcgaggttcgggttaaagcgcatccgggtttccagcgataccaacggtt
+cgctgttatcacggtagcgcgcgacaaagctgttcacttcaccgttgataatattctgga
+tatacccattgccggtaaatgcctggctcatgcgcgtggcatcgacgttcacctgaatat
+ccggctggcgtccggcgaggacatcacgctgaaaattaggcggaatatttatcgcgaagg
+tatagcgtccggcgtccagtccggcatccatctcatcggcggtgatcatctccggtggca
+aaaaccacggacgatagaagctgttaacgatccggttcgataactgcgattgatccatat
+cggcaatggcgatcggcgcgaggttcaacgatcctggcgtaacggtcgctgacgaataca
+ccgacaccgtaaacgagaagacaatcagcgtcagcatcgctttatcaccgagcagactgc
+gcaactctttgatacccagattaaaaatattgcgtaaatggcgcatcatccctcctgttt
+tttcagcagcaggatacttaagcccatcaccagcgggatggctatcagtaacgggataaa
+aagttgccacaaatcagtcagatccagcgctttcgagaacgtcccgcgggcgatagtcag
+aaaatgactggtcgggtaaacctcgccgatccaacgtccaggcccttccagcgaagctac
+cggatcgatcatcccggaaaactgtgtcgccgggatcaacgtgataatcgccgttccgaa
+aatggcggcaatctggcttttcataaaggtggagatcagcagccccattccggtggcaat
+gatgatatacagcagcgccgccagggtgagcgtcaggaaactgcctttatgcggtacgcc
+aaacacaaacaccgacaggccgcagagcaggaaaaagttcagcatccccagcgcgatgta
+tggcaactgtttaccaagcaaaaattcactacgcgtggtgggggtcacgtaaaggttgat
+aatcgacccaagctctttttcccgcaccacgctaagggcgcttagcattgacgggatcat
+catcagcagaagcgggatcaccgccggaacaatcgctggcaggctttttacgtccgggtt
+atagcgatagcgcgtctcaatattcatcagcccgctttggctggcgggtgtcgattgtcg
+gctcgccacatcctgtaaccagctctggtgcatggcctgcacgtaaccttttaccgtttc
+agcacggctcggcatcgctccgtcgatccagacgccgagttccacaggcgtaccacgcgc
+gatatcgcgcccgaaattgggcgggatctcaatcgccaccgtgatatcgcccgcacgcat
+ccgacgatcaagctcgtcataactggtgagcggcggctgttcgataaagtaacgggaacc
+ggagaggttgagtgtccacgcctggctactgacggtctggtcgcggtcgagcaccgcaaa
+gcgcaggttttccacatccatactgatgccgtaacccattatcagcatcaggatcaccgt
+tcccatcagcgccagcgtcgaacgtactggatcgcgtcgcagttccagcgcttcgcggcg
+gctgtagctaaacagacggcgcaggctaaatccctgacgcggcgcgtgggtggtgtcgtg
+taccacgggcggcgcttcggcttcgttgctctgccctgccgcttcctgcaaataggcgat
+aaatgcctcttccagactggcggctccgcgtttctcaaccagttcctgcggtgtaccgct
+ggcaagcacttttccggcgtgcatcagtgagatgcggtcgcaacgttccgcttcgttcat
+aaagtgggtggagatgaagatagtcactttgtcctggcgcgagagatcgaccatcaactg
+ccagaacatatccctcgccaccggatcgacaccagaagtaggctcatcgaggattaacat
+ctccgggcgatgaatcaccgccaccgccagcgaaagccgctggcgaatgccgagcggcaa
+tgactccggcagaatatcttcaacgtcgttgagcttaaaacgctcgctcatttcagccac
+tcttgcgggaatttccgcttccgggatgtgaaacaaacgggcatgtaactcaaggttttg
+ccgcacggtgagttcgttatagagcgaaaacgcctgcgacatatagcccacccgacggcg
+ggtatcgatatcttttggatcaaccggttgcccgaacagccacgcctcaccttcgctggc
+gggcagcagtccggtgagcattttcatggtggtggatttaccgcagccgttcgaaccaag
+aaaaccaaaaatctccccgcgtggaatgcggaaattaacgtgatcaacggcaacgaagga
+accaaaacgcatggtcagatcgcgcgcttcgatggcaatctctgcgttttcaggttgata
+cggtgggatcactaccgcctgatgcgcctggcgttgcgcttgcggtaacagatttataaa
+tgcttcttccagcgtagcgctttgcgtttgctgccgtagctcttcggcgctgccagttgc
+cagcacttctccggcattcatcgctaccagccagtcgaagcgttcggcctcttccatata
+ggcggtggcgaccagcacgctcatattgctctgccgctggcgaatactgtcgatcagatc
+ccagaactgggagcgggagagcgggtcaacccccgttgttggctcatcaaggatcaacag
+ttccgggtcgtggattaacgcgcagcacagcccaagtttttgcttcatcccgccggagag
+tttccctgccggacgatcgcgaaacggtgctaacccggtgctggtcagcagctcattgat
+tcgcacttcccgctccgctttgtcgtgaccgaacaggcgagcgaaaaaatcgacgttttc
+atacaccgacaaggtgtggtagaggtttttgcccagcccctgcggcatccaggcgatgcg
+cgggcagacgtcgcggcgatgcttcgggtcgcgcatatcgccgcccagcaccatcacatt
+gccctgttcaatgacgcgggcaccggaaatcaacgacaacaagctcgacttcccgacgcc
+gtccgggccaatcagcccgaccatacagcgggccggaatatcgagagtgatattgttcag
+cgcaacggtttttccataatgctggctcacgcccgccagttgcgcgacaggcgggacggg
+aaccagttccagatgcgtcattgcggcaacctcaccacgaggtcgtcaggccacggaagt
+tcttcattcacccgcacccacgctacgcccggcaaaccggttttgacatattccagatgc
+tgctggagtaattccggtgggatacgcgctttgacgcggaacatcagtttcagccgttca
+tcgctggtttcgacggtttttggcgtgaactgggcgacactggcgacaaaactgatggtt
+gcaggaatacgcagatctggcgcggcatcgaggatcagccgggcttcaccgcccagtttc
+agcgtgcccgcctgttcggttggcaggaagaaagtcatatagacgtcgctgagatcgacc
+atattcagcacccgaccgcctgccgccagcacttcgcctggctcggcaacccgatactgc
+acgcgtccgtcacgcggggctttcagttcgctgtcatcgatatctgcggcaatgcgccgt
+tcagtggcttgtgccgcttcgacgcgggtttgcgcctgaatgatattggtgcgtgccgct
+tctatagccgctttagaagccgatacctgagctttcgccgattccagcgcagctcgggcg
+ctctcagcggcggcgcgatcgtcatccagctgttgcgcagaaatagcccctcgttgggcc
+agtgaacgggaacgcgtatgacgttttgctacggagtccagttctgcctggcgttgatta
+accagcgactgtgcggcacgagtttcgctttgtcgttgctccagcaaagcctgcgcggca
+gcaacggcgctttgtgcctctttgatttgcgcgatggcttccagtcgctgttcctgcaac
+acgcgagtatccatcttcgccagcacttcaccttcgcgaacaaacttgccttctttcacc
+agaatggtgtcgatacgcccggcaattttgctggcaatatccacttccgtcgcttcaatg
+cgcccattactgacagcaaagccttccggcacacctgccgggcgcaacagccaccacgcc
+acgatagccgccaccgccagtaacccgacaacccaccacgccagatggcgcttactctta
+tccataatcgacccgccataatccctgtaagcaaacgacgcgtgttacaactgccgccga
+acgacgttcagcggattcttccatccgggataagaaggaaacggcaaatacgaccagcgc
+gcagagcattgagcgccaacggggaaggcttagtgaaaacgggtagtaatgttgtcatca
+tcagcattcctggccgtaaatgaaacacgcatactcataagtgtgatctataaaactggc
+tgacaaaacggtatccatcctgttggatagcgtttcacgcctgttcagttgcaggaacag
+agcattcctttttacgttttatcaacagtctcaaccagatagtaacattaatattcatgt
+tgtctatggttcagagctgtaacattgtgcgccttctaatcaaaggcataagtccatttc
+tgtttttttcatgctggtaagacttccagggagtggttatctcaggccctgcaccagggt
+taatttggcaattatgcatgctgaacattcttccagcatgtttactgtcacgggcgttaa
+gacctaaaactgtccccgtttcgcctatgcgttctcttccaccatttccgttatgtgcaa
+caacttgatttatacctaacatttgtgaacatgctaatagtgcttcaagtttaggtctgt
+aatctgtcgaaacagaaaaataacgattaaaggatcgacaagagatagcccggctagttt
+taaactttttgccattaattatagcatgatgctttttattgataattgccgctaattcga
+ccggatcgagagcattggtcatttcatcaatagagactgttatcggtcctataatgtaac
+gttttcgctgatcatcaaaagttatcccatgatgatttgccattattttgtatttggggt
+catagaaacatacaggataatcttttatcccagagtaggtatcctcatcgagtggtttca
+tacgcgtgaagttctgcatatagttaccattgcaattcgtttcatgatttccagctaata
+catgaacattttcattgatactcattatgcgttttaacaaatcgatgataaattgatcac
+cacagatattgctaaatcgatcgccggtttggtcgcccagaaacgtacatggcgtcacag
+cgtctttattaataactaaataaggctgaagactttctaaaataatgtctcttctgttca
+ggatactgattattgtattaacattagtgttaagttgctcattaaagttctcccttagca
+atacgttgagaacttcatcttctatattaagcaactggctaaggaaattttctccttcag
+ccatgattcccaaatgtcccgttgcgaaaagcgcgaacaaaactgcaccgactgagccat
+cggtatcaccaaaataggttggtctggtacttgtgggatcaacgggtaaacaattggaga
+aatagattctgtcagcgaactggggttttatcattgtttcgaatttaatatcagatacat
+tatattgcgatattttccagttccagatgggtttgtacgactcagtaactgcaacatcat
+tagcattatcatttactgtcatattattaagtaaataaacaatactgcaccaattaatat
+cggtattatcaagagagcaaccgtaatttttgctattaattgtcacaataaactgataat
+tattattcctacgtagaatatgagcacgcatgcccgatagcatactatatttttctgaat
+gatccgtttgtatggtaaatgaaattttgtcatcttgaatagattgttggaaccgttcta
+tttgccaatcatctattttttccacaacctcaccgagcattgtcctggcaatacttgata
+tatcatcacctataccatttgcaatatacccaaacagttctttagtgaagttggtaacat
+gctcttgcaccatatcatttgttgcgattgtcgttgtactgtcgttagtgcctgccacag
+ttccaattttcatattttacctcatattatttaccgcgaggaatacatagttaacatttt
+atcttatgacatacacctcatgttcgatgggaaaataattatattttgcacaaatcattc
+agcctcaaagcataatatgaaatttcttatctcatagcagagaaagtccctaaagattgt
+agaggcgtcatcagaacatgcctctacaatcgattaagaaaacctatgaaatactggcag
+gattaaaaagacataccaccgtattcatggagttttaatgtagttgaaaacaactaagcc
+ctgaggaataaattattttattatttttatcacgtgcttccttcagggaatttagcccca
+taataccattatcaaattgttgattatgatctaccccgggcccatgatgcccatattttt
+gtctaatgtatttgctggggtcttcacctttgagtgtctccccacatatgaagatacgtt
+cacgtgctggtctgaaatcagtagtgttatcaaaataattagcatatacaggtgtgggtt
+tcaaagtattgcttcggattagatggaatagaggatcatccatgtgttctttatgttttt
+tattaaaaatattggctaattcctcaggatcagtaggatttttcatctgattaaatggaa
+cctgcaaagcaccgagacaataacatttttttcttcatctcttattattccgtgatgact
+ggttaaaacttgcctttctgagtcataattacaaacatcgagcgttttaattaagttata
+cgtatcaccggcagagagtttatgatttgctagtcgtgcagtatagttaccattaaaatt
+gatttcatgatttccagccagaacgacgacatttttattaatacggctatctttattacc
+ctccatatttcgcatagaatttagcaaagtaaggatatatttatcaccaaaaatagtact
+aaatctatcgcctgtatgatccccaaggaagatacaaggggttatcgcatcgtcctttaa
+aaaaacatgttgatgcaactcattcaagatcatgtctctcgtatttaataaatcgtagag
+cactttattatttttatgtttgtatgcagatgaagccatctcttcgtgttttaataattc
+acataataaactccaacccttttccctgatgcctatatgccctgaaacgagcaatgcata
+aagtacagcgcctactcttccatctgtatcgccaaaataagccgtgttggcattttgtgg
+gttaatcacaccacactgtttatagaagtctatttttgaaaacacagatttaacatagct
+atcaaacttttccttagtaaacgtctctttagagacatcccaacgccagtcaggtttgaa
+attaccactaagaagagtaaagaaatttctcgctatgatagaaagcccatcaactttata
+aattatatctgatttatctccagaggaattaataaaataataaccgcccttacactcaac
+agtaacggtaatgggagacgataattttaacacatggttattgtctggtataattgtaaa
+gataaacgtatcagtagtattgtcggcgaatctattatattcttgaatatctatagaagg
+ttcactattataaaaccatactttctccatctggtgactacgatcatttaccttccagtg
+accatgttgcaggaaatagatgatatgcaggccaaaatcgttatctatttgcgaatcatt
+atccagtttatcaaattcaactatctttgcacgatgtgttttatcaaccttgccatggtg
+ttgatgactgttaactttatctgaatgcttatcttgatggcttgaagagatgtttctaat
+ctgattgtcaattgctttcataaataacctgtgatatttttgaattgtttgtaacaaaat
+aaatgatacttgtctgaaaaacagatttacgacgatataaaataataatacttatatgtt
+cgctgattttaagcaccgagactatccggtcttttaccaaataatgaagaataatccctc
+cctggaagataattgtaaaaaacaacagcataagaattaatcttaggataaatttttatt
+tatcatggccttttgaacgctgaaaagtagcgctctgcaaagtaaaccccgctatagtta
+tgctatgcatttgtctttaatgatatctcgtcattatattaacaggatgaaattatcatt
+aatgcatatttcaatattagcagggatacctgaggagtttaaagtgaacatatatatcgg
+gtggcttttcaaattaatccctttgattatgggcttaatttgtatcgcgttaggtggctt
+tgtgctggaaagttcagggcaaagcgagtatttcgtcgcgggtcatgtgctgatttctct
+ggcggccatatgcctggcattattcactaccgcatttattatcatttcgcagctcacgcg
+cggcgttaatacgttttacaatacattgttccccattattggctatgcggggtcaattat
+caccatgatatggggttgggcactgttagcaggcaatgatgtgatggcagacgagtttgt
+cgccggccatgttattttcggcgttggtatgattgccgcctgtgtatcgacggtggcagc
+gtcatccggtcactttctgctcattcccaaaaatgcagcggggagcaagagcgacggaac
+accggtacaggcttattcttcattaatcggtaactgcctcattgccgttcccgttttact
+caccctgctcggtttcatttggtctattacgctgttacgtagtgctgacataactccgca
+ttatgtcgcgggtcacgtattgcttgggttaaccgcaatctgtgcctgtctaattggcct
+tgttgccacaattgtccatcaaacacgtaatacgttttcaactaaagaacactggctgtg
+gtgttattgggttatttttctcggctcaatcacggtactgcaggggatatacgtcttagt
+cagttccgatgcaagcgcccgactggctcccggcattattcttatttgcctcggaatgat
+ctgttacagcatattctcaaaagtctggctactggcactggtatggagacgtacctgttc
+gttagccaacagaataccgatgattcccgtcttcacctgcctgttttgccttttcctggc
+atcgtttcttgcggaaatggcgcagaccgacatgggatattttattccttcgcgagttct
+ggtcggtttgggagcggtatgctttacgttgttctcaatcgtttcaatattagaagcggg
+ttctgctaaaaaataattgcaacgtaccggataaaaccagcgttgaccatttgcgtaacg
+ctggtttttcttaggcatcatgaaataacgcagcattaatgcatagtggttaagtataaa
+aaacagcaaagttactgtttttttcaacctgttcatatttcataaagatctggccactga
+gtgagttttcaatcacctttccatccaccttatattaagcatggagggtttcagttcacg
+ggctcattagaaaataatcacaagataaccactatcaaaattagctcatttttaatgcga
+ctctaataattttcatctttaggaaataggtcaggacgactttgctgcaatcaaatcctg
+cgcacaagcccacgcactcgaccacgcccactggaagttatagccccccagccagccggt
+gacgtccatcacttcgccgatgaagtacagcccaggcactttgcgcgcttccatcgtccg
+tgaagagagttcgttggtgtccacgccgccgagcgtcacttcggcagtgcgatagccttc
+agtgccgttgggttgtacgcgccagtcggtcaatgtgctaatcagtgcctgttggtcacg
+cacgttgagctgttttagcgaaacatccgggatttgcccgagttgctgtaagcgttcaac
+caaccgcttcggtagatgaaccgccagtgtgtttttcaggctttgattcggatgtgcgtt
+acgctgctcattcaggaaggtttcgaggtccacatccggtagcagattgatgctgacaaa
+ttcccccggttgccagtagcttgaaatctgcaacaccgccggtccagacaagccgcggtg
+ggtgaagagtaagttctcacggaaaacggtgccgttttcagcggtaatcacggaaggcac
+cgccacgcccgccagcacctgtaactcttcgagcaacggtttatgcagagtgaatggcac
+cagacccgcgcgggtcggcagcacgttgaggccaaattgttcggcaatcttataaccaaa
+cggcgacgcgcccagccccggcattgacagcccaccagtcgcgatgaccagcttttcgca
+accgacagtcatgccgttcagatcaagcgtgaagcctgtttcatccttcgccacactcag
+cacttcgctacgcaatctgaaggtcacattgcccttctcgcactcatccaccagcatgtc
+gacaatctgctgcgcggagtcatcgcagaagagttgccctaacgttttctcgtgccaggc
+gatgccgtgtttattgaccagatcaatgaaatcccactgggtaaaacgtgcgagtgcaga
+cttacaaaaatgcggattctggctcagataagcgcctggttcgacataaaggttggtaaa
+gttgcagcgcccaccgccagacataaggattttgcgccctggttttttaccattatcgat
+cagcagaacccggcgtcctgcctgacctgccagcgcagaacagaacatacccgccgcacc
+agcgcctataataatggcatcaaacctttccacgttgcgctcctcttagaaaaaacgggc
+gtgaattgtaaagattcctcagtggtcgcaccagcatcaatattactaaaaggaagtatt
+tgcctgaattatataagataattattttttgagtgaaatccatacagggggcaaatcaaa
+aaaagtctatatttcactttgcccgcgccgcgaaagtcactgataatgcgccgcgttcat
+gtcctcaaaatggcgtaacgtcctatgctacatttgtttgctggcctggatttgcatacc
+gggctgttattattgcttgcactggcttttgtgctgttctacgaagccatcaatggtttc
+catgacacagccaacgccgtggcaaccgttatctatacccgcgcgatgcgttctcagctc
+gccgtggttatggcggcggtattcaactttttgggtgttttgctgggtggtctgagtgtt
+gcctatgccattgtgcatatgctgccgacggatctgctgcttaatatgggatcgtctcat
+ggccttgccatggtgttctctatgttgctggcggcgattatctggaacctgggtacctgg
+tactttggtttacctgcatccagctctcatacgctgattggcgcgatcatcgggattggt
+ttaaccaatgcgttgatgaccgggacgtcagtggtggatgcactcaatatcccgaaagta
+ttaagtattttcggttctctgatcgtttcccctattgtcggcctggtgtttgctggcggt
+ctgattttcttgctgcgtcgctactggagcggcaccaagaaacgcgcccgtatccacctg
+accccagcggagcgtgaaaagaaagacggcaagaaaaagccgccgttctggacgcgtatt
+gcgctgatcctttccgctatcggcgtggcgttttcgcacggcgcgaacgatggtcagaaa
+ggcattggtctggttatgttggtattgattggcgtcgcgccagcaggcttcgtggtgaac
+atgaatgccactggctacgaaatcacccgtacccgtgatgccatcaacaacgtcgaagct
+tactttgagcagcatcctgcgctgctcaaacaggctaccggtgctgatcagttagtaccg
+gctccggaagctggcgcaacgcaacctgcggagttccactgccatccgtcgaataccatt
+aacgcgctcaaccgcctgaaaggtatgttgaccaccgatgtggaaagctacgacaagctg
+tcgcttgatcaacgtagccagatgcgccgcattatgctgtgcgtttctgacactatcgac
+aaagtggtgaagatgcctggcgtgagtgctgacgatcagcgcctgttgaagaaactgaag
+tccgacatgcttagcaccatcgagtatgcaccggtgtggatcatcatggcggtcgcgctg
+gcgttaggtatcggtacgatgattggctggcgccgtgtggcaacgactatcggtgagaaa
+atcggtaagaaaggcatgacctacgctcaggggatgtctgcccagatgacggcggcagtg
+tctatcggcctggcgagttataccgggatgccggtttccactactcacgtactctcctct
+tctgtcgcggggacgatggtggtagatggtggcggcttacagcgtaaaaccgtgaccagc
+attctgatggcctgggtgtttacccttccggctgcggtactgctttccggcgggctgtac
+tggctctccttgcagttcctgtaatcgtacgcaccaaaacgagcgggtcagctggcccgc
+ttcagattgtgacatagtgcgctttgttcatgccggatgcggcgtgaacgccttatccgg
+cctacaaaaacatgcaaattcaatagattgcagagattatgtaggcctgataagcgtagc
+gcatcaggcaattttgcgtttgtaatcagtctcgagcgggtcagtttactggcccgcttt
+ttttatgcgttattattgctgaagtgcttaatgccaaatcatcaatgcaatcaggctgac
+caccaccagaccacacaatgcgctggtcagaataaactgccgacgcacccgctcacagcg
+gcgaataaattcatcatcgtgatgatcgcgataacgttgggcatagatataccaaacgag
+acgcacctgtttgttgggttggccatgtgaggtaaaaaagccccctccatcaacatattg
+atagagcaatggatcgcagttacgcagtaccactaacaacgcgcgtagtgatgagaaata
+gcgcgccatgttaacaatgcaaacgacacataaagcccaaaataatgcgacggtgcttat
+catacctcctccccggcgacctgcccgcggagttccaccccggggctaccgctcccgata
+cgctgccaatcagttaacaccaggtcctggagaaaccgcttttgtggtgaccaacatacg
+agcggctctatagatagtgtaggagatcaggttgttttttttccagaaggttaaccacta
+tcaatatattcatgtcgaaaatttgtttatctaacgagtaagcaaggcggattgacggat
+catccgggtcgctataaggtaaggatggtcttaacactgaatctttacggctgggttagc
+cccgcgcacgtagttcgcaggacgcgggtgacgtaacggcacaagaaacgctagctggcc
+agtcatcgacaactttatggaaggagtaacactatggcttataaacacattctcatcgcg
+gtcgacctctccccggaaagcaaagttctggtagagaaagcagtctctatggctcgcccc
+tacaatgcgaaagtttctctgatccacgtagatgtaaactactctgacctatacaccggg
+cttattgatgtgaatctgggtgatatgcagaaacgcatctctgaagagacacatcatgca
+ctgaccgagctttccactaatgcaggctacccaatcactgaaaccctgagcggcagcggc
+gacctgggccaggttctggtcgatgcaatcaagaaatacgatatggatttggtggtttgt
+ggtcaccaccaggacttctggagcaaactgatgtcttccgcacgtcagctgatcaacacc
+gttcacgttgatatgctgattgttccgctgcgcgacgaagaagaataatcttccctctac
+gacgtgttcctgaacgcccgcatatgcgggcgttttgctttttggcgcgccttgttacct
+gatcagcgtaaacaccttatctggcctacggtctgcgtacgcaatcaaaatccccagcca
+atacaacatttaacaccatcatattttccatcattagtgtgatcatctggttattttctg
+ttgtaatagtgtattaatctattcaccgcatcaatattaagaatctctgacagatgtaaa
+ctttttcgcgcgttatcccttacgcgttcatacttttcaggatggtattggaaggttaat
+aaatatgaatacaacaacacccatggggatgctgcagcaacctcgcccatttttcatgat
+cttttttgtcgagttatgggagcgattcggctactacggcgtgcagggcgtactggcggt
+tttcttcgttaaacagcttggattctcgcaagagcaggcttttgtcacttttggtgcttt
+tgctgcgctggtctatggcctcatttccattggcggctatgtcggcgaccacctgctggg
+gaccaaacgcaccattgttcttggagcacttgtgctggcgattggctacttcatgaccgg
+catgtcgctacttaagcctgacctgattttcatcgccctggggactatcgctgtcggtaa
+cggcctgtttaaagctaacccagccagcttgctttcgaagtgctatccgccgaaagatcc
+gcggcttgatggcgcattcaccctgttctatatgtcgatcaacatcggctcgttgatagc
+gttatcgctggcccctgtgatcgctgatagattcggttattcagtcacctacaacctgtg
+cggggcggggttaattatcgcattactggtttacatcgcctgtcgtggaatggtgaaaga
+cattggttctgaacccgacttccggccaatgagcttcagcaaactgttgtacgtgttact
+tggcagcgtggtgatgatcttcgtatgcgcatggctgatgcacaacgtagaagtcgccaa
+tctggtgctgattgttctctccatcgtcgtcaccatcatcttctttcgtcaggcattcaa
+gctggataaaaccgggcgcaataaaatgtttgtcgcctttgtcctgatgctcgaagcggt
+ggtgttttacattctctacgcccagatgccaacatcgctgaacttctttgccatcaacaa
+cgtgcatcatgaaattctcggtttttccatcaacccggtcagcttccaggcgcttaaccc
+gttctgggtggtactcgccagcccaatactggcaggcatttacacgcatctgggtaacaa
+aggcaaagacctctcgatgccgatgaaatttactctcggcatgtttatgtgctcactggg
+ctttttgacggcggcagctgcgggaatgtggtttgcggatgcacaagggctgacatcgcc
+atggtttatcgtgctggtgtacttattccagagcttaggtgaactgtttattagcgccct
+tggcctggcgatgattgctgccctggtgccgcagcatttgatgggctttattctcgggat
+gtggttcctgacgcaggctgccgcgttcttgctgggcggctatgtggcaacatttaccgc
+ggtgccggacaacattaccgatccgcttgagacgttgcccgtctataccaacgtgtttgg
+taagattggtctggtcacgctgggcgttgcagtagtgatgctgttgatggtgccgtggct
+gaaacgcatgattgcgacgccggaaagccattaattattcttgcagaaagcagggtagcg
+ttatcgctaccctgttttagttttacactggcgtacctgcatagatatcaaagcgatgcc
+ctttagtgactaccgcgtttggcgtggcgacattcgccagcggtggcgcgtagtccgggc
+gctttaccaccacgcgtttggtcgccagcaagcgtgcaggctccagtaatccatcggcat
+caagatccggtcccaccagcgactgaaagacacgcatctcttttttcactagcgcgcttt
+tctgcttatgcgggaacatcgggtcgagataaaccacctgcgggcgcggggtaatatcag
+tcagcgccgtcaggctggaggcgtgaattaactgcaaccgctcctgcaaccagccgccga
+tttccgcatccgcataaccacgcgccaggccgtcgtcgagtagcgcggcaaccactggat
+tacgctccagcatccgcacgcggcagccgactgaagccagtacaaaggcatcgcgcccaa
+gtcctgcagtggcatccaccacatccggcaaataatcgcctttaatgcccaccgctttcg
+ccaccgcctcaccgcgaccaccgccgaatttgcgtcggtgcgccatcgctccgccaacaa
+aatcaacaaagatgccgccaagttttggctcatcacgcttgcgcaattccagatgttccg
+gcgttaacaccagcgccatcaggttgtcttcatcgtgctccagcccccagcgggccgcca
+gaacagataaggcaccgtctccggtgcctgtttcatcaattaagcagattttcactgaat
+gatcagcccttaatgccgtaatgctccagcatcgcatccagctgcggttcacgaccacgg
+aagcgtttgaacagatccatcggctcttctgaaccgccacggctcagaatgttgtcgagg
+aacgactgcccggtttcacggttgaaaatgccctcttcctcaaagcgcgagaaagcatct
+gccgccagtacgtcagcccacaggtagctgtagtaacctgcggcataaccaccggcgaaa
+atatggctgaaagcgtgcgggaaacggccccaggacggagatggcaccacggcaaccagt
+ttcttgatttctgccagagtttcgaggatttttgccccctgatccgggcggaactcggca
+tgaaggcggaaatcaaacaggccgaactccagctgacgcagaataaacagcgccgcctgg
+tagttcttcgccgccagcattttatccagcaactctttcggcagcggttcgccggtttca
+tagtgaccagagataaacgccagcgcctccggctcccagcaccagttttccataaactga
+ctcggcagttcgaccgcatcccacggcacaccgctgataccggaaacaccagcggtttcg
+atgcgggtcagcatatggtgcaggccgtgaccgaactcgtggaagagggtgatcacttcg
+tcgtgagtgaacagcgccggtttaccatttaccgggcggttgaagttacaagtcaaatac
+gcgaccggtttttgcaaagaaccatcagctttacgcatctggcctacgcagtcatccatc
+cacgccccgccgcgcttgttttcacgggcatacagatcgaggtagaagctaccgcgcagt
+tcgttattttcgtcatacagttcgaagaaacgtacatccggatgccagacatcaacatct
+ttacgctctttagcggtgatgccgtaaatacgcttaaccacttcaaacaggccgttaacc
+gctttgttttccgggaagtacggacgcagctgttcgtcactgatgctgtagaggtgctgt
+ttttgtttttcgctgtagtaagcgatatcccacggctgcaactcatcgacgccaaattcg
+gctttggcaaaggcacgcaattgcgccagctctttttcgccttgtggacgcgcgcgtttt
+gccagatcggttaagaaatccagcacctgctgcgggttttctgccattttagtggcaagg
+gatttaaaggcgtagttttcaaagcccagcagttgcgccagttcgtgacgcagcgcgagg
+atctcttccatcaccttgctgttatcccatttaccggcgtttgggccttgatcggaggcg
+cgggtgctgtaagcgcgatacatctcttcacgcagagcctggttgtcgcagtaggtcatt
+accggcaagtagcttgggatatccagcgtcagcaaataaccttccagctctttcgcttcg
+gcctgggcttttgccgcagccagcgcgctttctggcatccccgccagctccgcttcgtcg
+gtaacgagtttggtccagcccattgtcgcatcgaggacgttgttgctgtactggttgccc
+agttcagaaagacgggtcgcaatttcgccgtaacgctgctgtttctctttcggcagacct
+atgccagagagttcaaagtcgcgcagtgcgttatcaaccgctttcttctgcgccgtgttc
+agcgtggcgtaatgatcgccatcgcgcaggtcgcgatacgctttatacagcccttcatgt
+tgccctacccaggtgctgtattccgacagcagcggcagggtttgttcgtaggcttcacgc
+agttccgggctatttttcaccgagttcaggtggctgaccggggagaagatacgccccaac
+acatcgtccacttccgccagcggctggcagagattttcccaggtgtacggtgccccttgc
+gctactacgcgctccacgttttcgcggcagtcgttcaatgccttagtcacggctggaacg
+acatgttccgggagaattttagaaaacggaggcaattcaaagggagtcagtaacggattc
+gtcattcgcgcagtcctggttaaagaggttaaggaagcgctcaacaggcgctttacataa
+tgtgtgtagcatggggttaagtgtagtgaatttcaatgagaaacgttacgctttcgcggc
+ggcggcctcttttcggtatactgtcctgatacgcttttgtgcgccccgaatacgggccga
+tttttacttaccggaacacctttacccatgctcagttatcgccacagctttcacgctggc
+aaccacgccgacgtccttaaacataccgttcagagcctgatcatcgagtcgctgaaagag
+aaagataaaccgtttctctatctcgacacccacgcaggggccgggcgttatcagttaggc
+agcgaacatgccgagcgtaccggcgaatatctcgaaggcatcgcccgtatctggcagcag
+gacgatttgcccgcagaactggaggcgtacatcaatgtggtaaaacacttcaaccgtagc
+ggtcagttgcgttactaccccggttcgccgttgattgctcgcctgctactgcgtgaacag
+gacagcctgcaactgaccgaactgcacccgagcgattacccgttgttgcgttctgaattt
+cagaaagatagccgtgcgcgtgtcgaaaaagccgacggtttccagcagcttaaggccaaa
+ctgccgccggtttcccgccgtggtttaatccttatcgacccgccgtatgaaatgaaaact
+gactatcaagcggtggtcagcgggatagcagaaggttacaaacgtttcgccactggtatt
+tacgcactgtggtatccggtggtgctgcgtcagcaaattaagcgcatgatccacgatctg
+gaagcgaccggtattcgcaaaattctgcaaattgaactggcggtactgccagacagcgat
+cgccgtggcatgaccgcttccggcatgattgtgattaacccgccgtggaaactggaacaa
+cagatgaataacgtgctgccgtggctgcacagcaaactggttccggcaggcaccgggcac
+gccaccgtaagctggatcgtgccggagtaattgcagccattgctggcacctattacgtct
+cgcgctacaatcgcggtaatcaacgataaggacactttgtcatgactaaacactatgatt
+acatcgccatcggcggcggcagcggcggtatcgcctccatcaaccgcgcggctatgtacg
+gccagaaatgtgcgctgattgaagccaaagagctgggcggcacctgcgtaaatgttggct
+gtgtgccgaaaaaagtgatgtggcacgcggcgcaaatccgtgaagcgatccatatgtacg
+gcccggattatggttttgataccactatcaataaattcaactgggaaacgttgatcgcca
+gccgtaccgcctatatcgaccgtattcatacttcctatgaaaacgtgctcggtaaaaata
+acgttgatgtaatcaaaggctttgcccgcttcgttgatgccaaaacgctggaggtaaacg
+gcgaaaccatcacggccgatcatattctgatcgccacaggcggtcgtccgagccacccgg
+atattccgggcgtggaatacggtattgattctgatggcttcttcgcccttcctgctttgc
+cagagcgcgtggcggttgttggcgcgggttacatcgccgttgagctggcgggcgtgatta
+acggcctcggcgcgaaaacgcatctgtttgtgcgtaaacatgcgccgctgcgcagcttcg
+acccgatgatttccgaaacgctggtcgaagtgatgaacgccgaaggcccgcagctgcaca
+ccaacgccatcccgaaagcggtagtgaaaaataccgatggtagcctgacgctggagctgg
+aagatggtcgcagtgaaacggtggattgcctgatttgggcgattggtcgcgagcctgcca
+atgacaacatcaacctggaagccgctggcgttaaaactaacgaaaaaggctatatcgtcg
+tcgataaatatcaaaacaccaatattgaaggtatttacgcggtgggcgataacacgggtg
+cagtggagctgacaccggtggcagttgcagcgggtcgccgtctctctgaacgcctgttta
+ataacaagccggatgagcatctggattacagcaacattccgaccgtggtcttcagccatc
+cgccgattggtactgttggtttaacggaaccgcaggcgcgcgagcagtatggcgacgatc
+aggtgaaagtgtataaatcctctttcaccgcgatgtataccgccgtcaccactcaccgcc
+agccgtgccgcatgaagctggtgtgcgttggatcggaagagaagattgtcggtattcacg
+gcattggctttggtatggacgaaatgttgcagggcttcgcggtggcgctgaagatggggg
+caaccaaaaaagacttcgacaataccgtcgccattcacccaacggcggcagaagagttcg
+tgacaatgcgttaaatgttaaagggctaagagtagtgtgctcttagcccttaattacgtt
+tccgctatcagttcagaagctgaagcagaaagcggatcagttccagcagcgcaattaacg
+cccctagaacgatgattgctttatcaatcacccgttttctccatgcgatggagtgagaat
+gcatccgcttactcatccactgcctgtcacggcgcatgtctcattgttagataagaactc
+tctcactccggccagagcatcagttaacggcaccacccgtacttctgaccaggactttga
+aagcgtttatgcgcattgccagagtgaaaatgcctcagagctaactggataatcatacag
+tacatgcaggttataaaaccagcacgtccttgcaatagtttcagtatggtattagcattg
+atgcgttagatgatggctatctcactccagtcagagccaccaactcagggctggaaagta
+aaaaaccgacgcaaagtcggtttttttacatccggattcggacaaggcttaatatgacga
+tgacccagtgaaagtatataaatcgtcactgcgatatataccgaagtgctccctccgcca
+gctgaagaaatcgctaattcttgcaatgttagccactggctaatagtattgagctgttag
+ataagaactctctcactccagccagagccaccaactcagggctggaaagtaaaaaaccga
+cgcaaagtcggtttttttacgtcctgattcagacctcctttcaaatgaatagccaactca
+aaattcacacctattaccttcctctgcacttacacattcgttaagtcatatatgtttttg
+acttatccgcttcgaagagagacactacctgcaacaatcaggagcgcaatatgtcatttc
+tgttacccatccaattgttcaaaattcttgctgatgaaacccgtctgggcatcgttttac
+tgctcagcgaactgggagagttatgcgtctgcgatctctgcactgctctcgaccagtcgc
+agcccaagatctcccgccacctggcattgctgcgtgaaagcgggctattgctggaccgca
+agcaaggtaagtgggttcattaccgcttatcaccgcatattccagcatgggcggcgaaaa
+ttattgatgaggcctggcgatgtgaacaggaaaaggttcaggcgattgtccgcaacctgg
+ctcgacaaaactgttccggggacagtaagaacatttgcagttaaaaatttagctaaacac
+atatgaattttcagatgtgttttatccgggaggcattatgttactggcaggcgctatctt
+tgtcctgaccatcgtattggttatctggcagccgaaaggtttaggcatcggctggagtgc
+aacgctcggcgcagtactggcgttagttacgggcgtggtccatccgggtgatattccggt
+ggtgtggaatatcgtctggaacgcgacggctgcgtttatcgccgtcattatcatcagcct
+gctgctggatgagtccggcttttttgaatgggcggcgctgcacgtctcacgctggggtaa
+tggtcgtggtcgcttgctgtttacctggattgtcctgctcggtgctgccgttgccgccct
+gtttgccaatgatggcgcggcgcttattttgacaccgattgtcatcgccatgctgctggc
+tttagggttcagtaaaggcactacgctggcgttcgtgatggcggccggattcattgccga
+taccgccagcctgccgcttattgtctccaacctggtgaatatcgtttccgctgatttctt
+tggcctcggctttcgcgaatacgcctcggtgatggtgccggtggatatcgccgcgattgt
+tgccacgctggtgatgttacatctctattttcgcaaagatattccgcagaactacgatat
+ggcgctgctgaaatctcccgcagaagcgatcaaagatcctgctacgttcaaaactggctg
+ggttgttttactgcttctgctggtgggatttttcgtcctggaaccgctcggcattccggt
+gagcgccattgcagctgtgggcgcgctgatattatttgtcgtcgctaaacgcggtcatgc
+gattaatacgggtaaagtcctgcgcggtgccccctggcagattgtcatcttctcgctcgg
+catgtatctggtggtttatggcctgcgcaatgccggattaacggaatatctttctggcgt
+actcaacgtgctggcggataacggcctgtgggccgcgacgctcggcaccggattcctcac
+cgccttcctctcttctattatgaacaatatgccgacggtactggttggcgcgttgtccat
+tgatggcagcacggcatctggcgttatcaaagaagcgatggtttatgccaatgtgattgg
+ctgcgatttgggaccgaaaattaccccaattggtagcctggctacgctactctggctgca
+cgtactttcgcagaagaatatgactatcagctggggatattacttccgtacagggattat
+catgaccctgcctgtgctgtttgtgacgctggctgcgctggcgctacgtctctctttcac
+tttgtaatgagatactgatatgagcaacattaccatttatcacaacccggcctgcggcac
+gtcgcgtaatacgctggagatgatccgcaacagcggcacagaaccgactattatccatta
+tctggaaactccgccaacgcgcgatgaactggtcaaactcattgccgatatggggatttc
+cgtacgcgcgctgctgcgtaaaaacgtcgaaccgtatgaggagctgggccttgcggaaga
+taaatttactgacgatcggttaatcgactttatgcttcagcacccgattctgattaatcg
+cccgattgtggtgacgccgctgggaactcgcctgtgccgcccttcagaagtggtgctgga
+aattctgccagatgcgcaaaaaggcgcattctccaaggaagatggcgagaaagtggttga
+tgaagcgggtaagcgcctgaaataaagcggcgatatcccccccacaggttgttagaaaag
+tgcgctttatttatgtcggatgcgacgctggcgcgtcttatccgacctacaaagttatga
+aaattcgatgaatagtatgttatttgtaggcctgacaggcgtagcgcatcaggcgatttt
+gctatttacacagtactccctgcgtgagattccaattatcgcgtccagcatggtgtatca
+gtgagctgcttagttatcagcgatacagcgcagtagtttaaagacgtactggattatgat
+ttatcagtggtttacacaacaaattattaaataattataagataccttaacccattttat
+tattacacatctaaaacatcacaaaaaaaatcacttcacacactatcagagaacataata
+actttttaaaatgagcgcattttgatagttgttaacgatttcctttacgatactatcact
+accctttttttacacacaaatattaccgggtggagataaaagggaaatcaaaggtaatta
+tatcaggaagatataacgcattacatttattgtgtgtagaagaaaatccattcctgttct
+aattatccaatttaaacatcttagcataaaacaaatgatgaataaggaattttatgtcaa
+ttgactttaccccaggtataataaatacatatcacggcgatatttataactgcacaacaa
+ataccgataatgctaaaacgccagacacaccgaagtggccttgcgataattgggaagaac
+aacaacccattaattccacattctctggagaaggatatatctctgatcaatatgatttag
+cgcaacaccaacttcaacaaattaatgcgtgccacacgaacactacatatacaaatgcag
+actactcaaaagttgtggctcaacttgtaagtcttattactaacattgaaacgataagtt
+cgacacaacttacgcaacagacacaatcaatacttaatcagattaataacattagatatg
+aaaaaaacaaaagtgctgaatgtcgaatcattgttatcgctaatcctaaacccgacaagg
+caatcataactaaaattagcgtagaagagggaatacccataacattcagtgtccaaacca
+tgttttcagatactaattttattgctgaacaacgagctgacttaccaactaatataaaag
+atattcaaagcctgtatcaaaaaatgacgaagttatatattgagcacagtgaaaataaaa
+acaggatgaaagtctttgccggaaccaactttattgatttcaatatgacaggacagaacc
+tgtccgggttcgttctaaccttgtcaaggttttatttcgaagatctacttaatataaatt
+tcactgacgcaaatttagggaaggtgcgaataagcggggaaattcttctcggctgactca
+gtcatttcatttcttcatgtttgagccgattttttctcccgtaaatgccttgaatcagcc
+tatttagaccgtttcttcgccatttaaggcgttatccccagtttttagtgagatctctcc
+cactgacgtatcatttggtccgcccgaaacaggttggccagcgtgaataacatcgccagt
+tggttatcgtttttcagcaaccccttgtatctggctttcacgaagccgaactgtcgcttg
+atgatgcgaaatgggtgctccaccctggcccggatgctggctttcatgtattcgatgttg
+atggccgttttgttcttgcgtggatgctgtttcaaggttcttaccttgccggggcgctcg
+gcgatcagccagtccacatccacctcggccagctcctcgcgctgtggcgccccttggtag
+ccggcatcggctgagacaaattgctcctctccatgcagcagattacccagctgattgagg
+tcatgctcgttggccgcggtggtgaccaggctgtgggtcaggccactcttggcatcgaca
+ccaatgtgggccttcatgccaaagtgccactgattgcctttcttggtctgatgcatctcc
+ggatcgcgttgctgctctttgttcttggtcgagctgggtgcctcaatgatggtggcatcg
+accaaggtgccttgagtcatcatgacgcctgcttcggccagccagcgattgatggtcttg
+aacaattggcgggccagttgatgctgctccagcaggtggcggaaattcatgatggtggtg
+cggtccggcaaggcgctatccagggataaccgggcaaacagacgcatggaggcgatttcg
+tacagagcatcttccatcgcgccatcgctcaggttgtaccaatgctgcatgcagtgaatg
+cgtagcatggtttccagcggataaggtcgccggccattaccagccttggggtaaaacggc
+tcgatgacttccaccatgttttgccatggcagaatctgctccatgcgggacaagaaaatc
+tcttttctggtctgacggcgcttactgctgaattcactgtcggcgaaggtaagttgatga
+ctcatgatgaaccctgttctatggctccagatgacaaacatgatctcatatcagggactt
+gttcgcaccttccttaggtgacactatttttttacataaagaacaccctacccccaaatt
+atataaagatggacaatatcttgacaaacaaatcgaaggtttattttcaacattattaac
+cattaatgacaaccttttacgagcaaaagcggaaattgcttcgacaataattaaattttt
+agaggccaggataaccaatctttcatacaatgacatattaaaatatcagcaagaattcca
+aagacaatgttataagcaagttaaagcctttacgacactctcccgatacaataaaattca
+aacatgggcagaaatgtctgaatatcaattcgaagtatttcaatacgagacgcttaaccc
+aaaaaaaatgtcacacacgccttatttaaagaggccactgcctaatgaaaaagatataaa
+ttatggggtggaaatagaaataccatctggtaaaagaattcgcttatcaaatcattacca
+gaatataataccataatattgattattagcactttataatcattgaataaaaatagattt
+tatgtacttttaaaacaatgcactatattatggggtgatggatattcatgtcacgcccca
+aaattaactgagttcacctaaacagaaaggatataaacatcagacaggtttacgttacta
+tcaggcatatcacctcagaatcagatgaaaactataaagaaatatctattatggttttaa
+tatttgttgataaggatagtaacatgaacatgacaaaaggtgcactcatcctcagccttt
+catttttgcttgccgcatgtagttcaattccgcaaaatatcaaaggcaataaccaacctg
+atattcaaaaaagttttgttgctgttcataaccagccggggttatatgttggtcaacaag
+cgcgctttggtgggaaggttatcaacgttatcaatggcaaaacggatacgttgttagaaa
+tctctgtattaccgttggatagctatgcgaagcctgatattgaagccaactatcagggcc
+gactgctcgccagacaaagcggcttccttgatccagtgaactatcgtaatcactttgtta
+ccatcctcggcaccattcagggtgaacaacctggctttatcaataaagtcccgtataact
+tcctggaagtgaatatgcagggcatccaggtgtggcatttgagagaagtggttaatacca
+cctataacctgtgggattacggctatggtgcattctggccggaaccgggctggggtgcgc
+cttactacaccaatgcggtgagtcaggtaacacctgagctggtcaaataacaccaccgaa
+agatgcagatgctttctcagcatctgcatcatgcattacatcaaattaatacacagtaag
+ctaactattattattataagccctgtcctgttaattacctttggcaaactgattataaag
+ttaatgtccgcaccaggagtcggttatgtttcttataattaccagggatacgatgttctt
+caccgcgatgaaaaacattctgagtaaaggtaatgtcgttcatatacagaacgaagaaga
+gatcgacgtaatgttgcatcagaatgccttcgtcattattgatacattaatgaataatgt
+atttcattctaattttctcactcaaattgaacgattaaaacctgtccatgtcattatttt
+ctccccctttaatattaaacgctgcctggggaaagtgccggtgacctttgttccgcggac
+tatcactatcattgattttgtcgcactcatcaatggcagttactgctctgtgcctgaagc
+ggctgtgtcactttcgcgcaagcaacatcaggttctgagctgcattgcgaatcaaatgac
+aacggaagatattctggagaaactgaaaatatcgctaaaaacgttctactgccataaaca
+caatatcatgatgatcctcaatcttaagcggatcaatgagctggtacgccatcagcatat
+tgattatctggtgtgaatttcaggcttacggtgagtctggctacgctgccacacagatta
+gctaattgaaacgcctttcacccctgccataccttttaataatcgcaacaggtcttctat
+cgacgttgtggcatgaagctggatatcaatggcgaccacttcatgatcttcattttcctg
+caacgaaactaaatcagtttttattttttgctgcttaaaccagtcgagcattgataccgt
+attaccgttcactaatgtcagctgtaaatggtaatttttgttcatcaggcggaaggttaa
+ttgatggaagacttccagcaccaacaaggtcatcactgaaccataaatacccagttcgta
+cataccgctgccaataaccatacctatggcggcggtcacccagatatccgctgccgtcgt
+cagacctacaatattttggttacgaacgagaatgttacctgcaccgataaacccgacgcc
+cgtcaccacctgagcagcaatacggctggggtcgagtccgacgtgatctaaagacagcac
+gtcagcaaaaccatatttcgaaacaatcataaacagggcgcttcccatgccaattaatac
+atgtgtgcgtaaccctgctcctttgccgcgcatttgcctttccatgccaatagcgccaca
+ggcaattgccgcgagtataagacgtataataaattctgctgtcatataaaaatgcaaaaa
+ggagcagcaagatggctcaacttgctactcctttttacttgcacctcattaattcggcaa
+gtcattagatgcttgatttttgaaggtatacaaatttttctgcgggtttttcttacagta
+ttcgatcactttaggaatttgagtgagatcggtttcatttaaagtaacggtatcgccacc
+tttatatactgtttcttcatgcagcatccaccatgcaaccggggtcattgcttttggatt
+cagatcaataaattcctggcaggtcatatctttagcggattcattggctgccaacgcaga
+ttgtgcgttcaccagtgacaaagccgctacagcgcccataaaaataaacgctttacggag
+agatgaaatattcattttgtaacccattcaatatagagattatatatgaacaggaggaat
+agctgcttttaaagaagatattccggcctgttcaatatgcaaggaagtacgatgtaacgc
+attcccggaattacatatctttcttaattttgtcccattcgcctttaactttatctttaa
+agttggcttgtttatcctgagtacaagcctgaacgatagctggggttacggttgcaatac
+cctgaacatctaaaaccgcatcttctggtttatctttgttgttcagcgcttcagcaaaac
+caactgcagttggctggaaggattcgtccacagccaggaaatcttcacaggtccaggagt
+tgaccggttttttgttatcagctgctttttgcgcatccgctgcattgctcacaactggca
+gaagaagcagaccaccaagaataacgcctaatacttttttcatcgtaatatcctcaacta
+taaagtgaaagagccgtcacgaatcaatttcgacactgaggttataacctggttttctgt
+atatgtcatgttgatggaaaatatcaaaatcagatatttttatttcaatacaatgagtta
+cagatgcatcagatactgcaattaggaaatttttattaaatcgactgcattcttagacgc
+gtttttggcatagattgatagcaggggattttcttcttaattttatagggtggttctatg
+ttatatatagataaggcaacaattttgaagtttgatctggagatgcttaaaaaacatcgc
+agagcaatccagtttattgccgtgctgctgtttatcgtcgggttgctgtgtatcagtttc
+ccgttcgtctctggcgatattttaagcacagtagtgggtgcattattaatctgctcgggt
+attgcgcttattgtcgggttattcagcaaccgcagtcataatttctggccggtattatcc
+ggtttcctcgtcgcagtcgcctatttattgatcggctatttcttcatccgcgcaccggag
+ctgggcatttttgccattgcggcatttattgccggtttgttctgtgttgcaggggttatt
+cgcctgatgagttggtatcgtcagcgttcaatgaaaggcagctggctacagctcgttatt
+ggtgtgctggatatcgtcattgcctggatattccttggtgcaacgccgatggtgtctgta
+acgctggtttccacactggtgggaattgaactgatatttagcgccgccagcctgttcagc
+ttcgccagtttgttcgttaagcagcaataattaccccggttgtcacccggatcatagtca
+cttgatgtgactatgatccgattaatactctctccgctacgcagtgttgtagatcaattg
+cgcactatcattgaaataattacctgctagtgattatttcaacctactgaatttcatcta
+atttttttcactctatggcaaattagccatttcaaacattatcatggctgatattttccg
+tagtcaggtttaatgttttaaaagtgctgtgggaaagtgaacaaagagttccgtaagcgt
+tgatgctatgggcggttaaataagtaatccgggttcatttttttgcaactggcgttgatt
+acattgcataaatatccgtgtctccagacgctatataaaaacctgaagacatgaatgcgt
+tatttactcaggtaatttcaatgcgttaaaagaaagctggcaatccaattgccagcttaa
+gtcgaaacaaggagactcgatatttaaatcggattacattttaactttagtaatattctt
+cagagatcacaaactggttattgataacttattcttgggcagtaatccgcaaacgttaac
+tttttgtttgctatttacaagctgataacaaccaggaatcttacttaggatcaatatatg
+gagtgcgtgatggataaatctgaagtattgattagtgttaatagacgtattagttcacga
+agggtaaagttcttataggcgtttactatattgaacaacgattcggacaaggatgtaaat
+aatgaaaaggatgacatattcgaaacgataacggctaaggagcaagttatgatttttctc
+atgacgaaagattcttttcttttacagggcttttggcagttgaaagataatcacgaaatg
+ataaaaatcaattccctgtcagagatcaaaaaagtaggcaataaacccttcaaggttatc
+attgatacctatcacaatcatatccttgatgaagaagcgattaaatttctggagaaatta
+gatgccgagagaattattgttttggcaccttatcacatcagtaaactaaaagctaaagcg
+cctatttattttgttagccgcaaagaaagtatcaaaaatcttcttgagattacttatggt
+aaacacttgccccataagaattcacaattatgtttttcacataatcagttcaaaattatg
+caactgattctgaaaaataaaaatgaaagcaatatcacgtcgacgctcaatatttcgcaa
+caaacattaaagattcagaaattcaacattatgtacaagctgaaactaagacgtatgagc
+gacatcgtcaccctgggtatcacatcttatttttagtcaggacataagcaactgaaattg
+atggctggcatgacgagggatgcagatgctgatttcattacccccggtgattactaaagg
+agaggctaaaacgactttattcccctggtatgtgtatccaccagtagaacccttcgttgc
+ccgaatgctggcaggaactgttggcagaacggcaacattttttttgtcgttgacctcacc
+atgtcgatcactgtgcctgtatcccaccttactggctgacaaccccactatgccgctggt
+ctgtaaatccctcatatctctcctcgcgcgcaatttaaagaaccgttatttctcaagaat
+tttcagggactaaaatgaacagaagaagaaagctgttaataccgttgttattctgcggcg
+cgatgctcaccgcctgcgatgacaaatcggcggaaaacgccgccgccatgacgcctgagg
+tcggtgtcgtcacactctcccccggttcggtcaatgtgttgagcgaattgcccggtagaa
+ccgttccttatgaagttgccgagatacgtccccaggtgggcggtattatcattaaacgca
+actttatcgaaggcgataaagtgaaccagggcgattcgctgtatcagattgatcctgcac
+ctttacaggccgagctaaactccgccaaaggctcgctggcgaaagcgctctctaccgcca
+gcaatgcccgcatcacctttaaccgccaggcatcgttgctgaagaccaactacgttagcc
+gtcaggattacgacaccgcgcgcacccagttgaatgaagcagaagccaatgtcaccgtcg
+ccaaagcggctgttgaacaggcgacgatcaatctgcaatacgcgaatgtcacctcgccga
+ttacgggcgtcagcgggaaatcgtcggtgaccgtcggcgcactcgttaccgctaatcagg
+cagattcgctggttaccgtacaacgtctggacccgatttatgtcgatctcacgcagtcgg
+tgcaagatttcttacgcatgaaagaagaggtcgccagtgggcaaatcaaacaggttcagg
+gcagtacgccagtacagctcaatctggaaaatggtaaacgctacagccagaccggcacgc
+tgaaattctccgacccgacagtggatgaaaccacgggctccgtgacgttacgggcgattt
+tccccaacccaaatggtgacttgctgcctggcatgtacgtcacggcattagtggatgaag
+gtagccgccagaatgtattactggtgccgcaggaaggcgtcacccacaacgcccagggta
+aagcaacggcgctcattctggataaagacgatgtcgtgcagctacgcgaaattgaagcca
+gcaaagccatcggcgaccagtgggtcgtcacctctggcttgcaggctggcgatcgggtga
+tcgtttccggtttgcaacgcattcgtccgggtatcaaagcacgagcaatttcctccagcc
+aggaaaacgccagcaccgaatcgaaacaataacgttgcaggcttaaggggactttcatgg
+ctaactattttattgatcgcccggtttttgcctgggtacttgccattattatgatgcttg
+caggtggtctggcgatcatgaacttaccggttgcgcagtatccgcagattgcgccaccga
+ccattaccgtcagcgctacctatccaggtgccgatgcgcaaacggtagaagactcggtca
+ctcaggtgattgagcaaaatatgaatgggcttgatggcctgatgtacatgtcttcaacca
+gtgatgcggcgggcaatgcctctatcactctgaccttcgagactgggacatctcctgata
+tcgcacaggttcaagtgcaaaataaactgcaactcgctatgccttcattacctgaagcag
+tgcagcagcaggggattagcgtcgataagtcgagcagtaatatcctgatggtagcggcgt
+ttatttctgataacggcagcctcaaccagtacgatatcgcggactatgtagcgtctaata
+tcaaagacccgctaagccgtaccgcgggcgttggtagcgtacaactctttggttccgagt
+atgccatgcgtatctggctggacccgcaaaaactcaataaatataacctggtaccttccg
+atgttatttcccagattaaggtgcaaaacaaccagatttccggtggtcaactgggtggca
+tgccacaggcggcagaccagcagctaaacgcctcgatcattgtgcagacgcgtctgcaaa
+cgccggaagaatttggcaaaatcctgttgaaagttcagcaagatggttcgcaagtgctgc
+tgcgtgatgtcgctcgcgtcgaacttggggcggaagattattccaccgtggcacgctata
+acggcaaacctgctgccgggatcgccatcaaactggctgccggagcaaacgccctggata
+cctcgcgggcagtcaaagaggaactgaaccgcttatcagcctatttcccggcaagtctga
+agacggtttatccttacgacaccacgccgtttatcgaaatttctattcaggaagttttca
+aaacactggttgaggctatcatcctagtcttcctggtcatgtatctgtttttgcagaatt
+tccgtgccacaatcatcccgacgattgccgtaccggtggttattctcgggacgtttgcga
+tcttgtcggcggtcggtttcaccatcaacacgttgactatgttcgggatggtgctggcga
+tagggttactggtggatgacgccatcgtggtggtggagaacgtcgagcgtgtcattgcgg
+aagataagctaccgccgaaggaagcgacgcataaatcgatggggcagatccaacgtgcgc
+tggtcggtattgccgttgttctttccgcagtgtttatgccgatggcctttatgagcggtg
+caaccggggagatctaccgccagttctccatcacgctgatctcctccatgctgctttcag
+tatttgtggcaatgagcctgacccctgccctgtgcgccaccattctgaaagccgcgccgg
+aaggcggtcacaaacctaacgccctgttcgcacgcttcaacacgctgtttgaaaaatcaa
+ctcaacactataccgatagcacccgctcgctgttgcgttgtaccggtcgctacatggtgg
+tctacctgctgatttgcgccgggatggcggtgctgttcctgcgcacgccgacctctttct
+taccagaagaggatcagggggtatttatgaccaccgcgcagttaccttccggtgccacca
+tggttaacaccacgaaagtgctgcaacaggtgacggattattatctgactaaagagaaag
+ataatgtccagtcggtgtttaccgttggcggctttggcttcagcggtcaggggcaaaaca
+acggcctggcgtttatcagtctcaagccgtggtctgaacgtgtcggtgaggaaaactcgg
+ttaccgcgatcattcagcgggcaatgattgcgttaagcagtatcaataaagccgtcgtct
+tcccgttcaacttacccgcggtggctgaactgggtaccgcgtcaggttttgatatggaac
+tgctggacaacggtaacctggggcacgaaaaactaacccaggcgcgaaacgagctgttat
+cactggcagcgcaatcaccgaatcaggtcaccggggtacgcccgaacggcctggaagata
+cgccgatgttcaaagtgaacgtcaacgctgcgaaagctgaagcgatgggcgtggcgctgt
+ctgatatcaaccagacaatttccaccgccttcggcagcagctacgtgaacgacttcctca
+accaggggcgggtgaaaaaagtgtatgtccaggcaggcacgccgttccgtatgttgccgg
+ataacatcaaccaatggtatgtacgcaacgcctctggcacgatggcaccgctttctgcct
+actcgtctaccgaatggacctatggttcaccgcgactggaacgctacaacggcatcccgt
+caatggagattttaggtgaagcggcggccgggaaaagtaccggtgacgccatgaaattta
+tggcagacctggtcgctaaacttccggcaggcgtcggctactcatggaccggactatcgt
+atcaggaagcgttatcctcaaatcaggctcctgcgctgtatgcgatttcactggtcgtgg
+tgttcctcgccctcgccgcactctatgagagctggtcaattccgttctcggtgatgttgg
+ttgttccgttaggcgtcgttggcgcattactggccaccgatctgcgcggcttaagtaatg
+acgtctacttccaggttggtttgctgaccaccatcgggctttccgccaaaaacgccatcc
+tgattgtcgaatttgccgttgagatgatgcagaaagaagggaaaacgccgatagaggcaa
+tcatcgaagcggcgcggatgcgtttacgcccaatcctgatgacctctctggcctttattc
+tcggcgtgctgccgctggttatcagtcatggtgccggttctggcgcgcaaaacgcggtag
+gtaccggcgtgatgggcgggatgtttgccgcaacagtgctggcaatttacttcgttccgg
+tctttttcgttgtagtggaacatctctttgcccgctttaaaaaagcgtaacgtgtaaatg
+agagtaaggttgaacatgaaggttcagccttactctttcctgctaaccattcaccactca
+acaaccagctaaccgtcaggaataccaggcttagtacacagcactgaaagtagaaaccac
+tccagccattcgtcatcaatttgaacaacacaatactgacccacattcccgtaatcgtat
+gaattgtcagcttaataatcccaaacatgccgagtcttttcctcctgaaaataccgatac
+cgcctggcaaactgcgaaagagaactagccggtagcccggcagaaatcatcagggaagag
+tttcacatgaagcaggtgtgagatcctgaccaatattcaaatgcgaaatatgtcaggaaa
+aggtacctggcgaatgttgcgcaaactgatgtggcgttacaccataatattgtcgaaatg
+tgtttataaagtacgatgtactgctatagccacatttttccgcaatagtatgcagaggaa
+tttgacgtaactcgagtaatcgtctggccatcgacatcctggaggcgagtaatattttac
+tgaaacaggtattttcatcctgcaacttttttttgattagactctcgctggtatacattc
+tttccgcgatatcgcgcagataccaacgtttggcgatatcaaagctaataaggcgttcaa
+cttttcctgaaacagtgctgatgctattgaaaagtaaggggatcagttctttcttatgag
+aaaacatcgataaacaggaaaggtagagcatattgctcagtatcggtgaatttaccccgg
+attcattgaagctatcaaaaatcgccgtcaccagcggcatggggggtgactggttaatta
+acaaacggtctttgctgtgtaaccctaaattgcgtggtagctgacgaatattttgtaagt
+aatggcaaactgtcagctcatcgatatccagtcgtcgcgtatccggtgaacaaaacgcaa
+aatcgtctgccaaatttttctccagcagcagaatactctcgttatgcagcgatatttttt
+gctgttcatgataaatatcgaatgaacgacgaatgaggatcaccgagcagacatgagtca
+tgattatcccttatatttcatactgcgattatttcaatttcagtatactaatgaaatgat
+gccagactgtttcttagcgcaaaaactgccagatttggtaggaccaaaatttatccacaa
+agtagttttgcataacagttaattgataataagtaaatgcagcacgaatatattttcgca
+cagcgtatagcttatgtttataaaaaaatggctgatcttatttccagtaaaagttatatt
+taacttactgagagcacaaagtttcccgtgccaacagggagtgttataacggtttattag
+tctggagacggcagactatcctcttcccggtcccctatgccgggttttttttatgtctga
+gtaaaactctataatcttattccttccgcagaacggtcagtgccgtaaaaattcccttgc
+gcaacaatacttgccgccgagtcacggttcgacaatctctgcgccgatcgctcctgatac
+tctgtgggcgtcatcccataataatttcgaaagacgtaaatgaaatacgacacgctgtga
+tatccacaggatactgcaactcgcttaattgaaaaaccatgtataacaataagttgcaaa
+gcacgttgcattctacactcagtaagcaactgtgaatatgatgtctcttcttcgcgcaat
+tttttctttaacagacttggactcatcaacagctcgctggcgattcgggctagtgtccac
+tcatgggcgatattattattgataaccgtacaaactcgtgttcgcatgttcggttgtaaa
+acgttcagaagcagcggtataaagtgctcatcctcaagaaaaacagataacaacgcaaag
+attaatgctcttttacgtagcatttctgcatagcgaagattcttattctgcgatagttgc
+gcaacttcctgaaaaacaggaatatctctactacagtgatgaacgagtaatgaagaaact
+tttttatgtgcatgaagatttaatgcctcctccttgagcatcgggagaaataatgaaagc
+gtgtcccttgacacgaatacaaaattttcaacacacttatctactcgaatttggcttgca
+tccgcaaaaaccaggtcaccgccattaaaatagcgatattcaccattaaccatggtgaga
+atatatttatgtcttgcatacgcaattagacaattcccatgtagtgattgcatagttgac
+ttaatattacataaacatattactgtttattaatgtagcacgccgccctcttaagtcaaa
+ttgattgataaataaatttaaacgaagcgggagaacaggatgataatgtgtgatgttcta
+cgggcaggatgactggatttataatacaaaaacgtgtttaagaacacagggaaattaata
+gtaagcaaataatcccttttcgtgacattaaaggtaatcgctacatttaataaacattca
+tataacatatatcttatcaacacgatgaatagacagccaatatattattgcgattaataa
+gcaaccgaatgcccagctgtttttttaaaggctgggcattcggtttttacaacgttatgt
+tatcaggtgtgtttaaagctgttctgctgggcaataccctgcagtttcgggtgatcgctg
+agatatttcagggaggctttgtagtcttccagcaacagttcagcaaagtccatttcgaag
+ccgcgacgacacataatgcgcatcaccacgatgtcggtggcttcaccgccgagagtgaag
+gccggaacctgccagccgcgcagacgcagacgttcagagaggtcgtacagggtgtatccc
+ggatcttcaccatctttcagtttgaagcaaaccgccgggatgccttcgtccgggcgaccc
+gtacagatgaactcatacggccccagtttggcgatttcatccgccagataagcggcaacc
+tggtaagaggcgttctgtactttggtatagccttcacgaccgaggcgcaggaattcatag
+tactgtgcaattacctgacccgccgggcgggagaagttgatggcaaaagtaccaatttga
+ccacccaggtagtcaacgttgaacaccagttcctgcggcagcgcttcttcgtcacgccag
+ataacccagccgcagcccagcggagccagaccgaatttatggcctgaagcactgatcgat
+ttcacacgcggcaggcggaagtcccagacgatatccggggcgacgaacggtgccaggaag
+ccaccgctggcagcgtcgatgtgcatgtcgatgtcgataccggtgtcggcctggaattta
+tccagcgcatcgtgcagcggttgtgggaactcatagttaccggtgtaggtcacgccgaaa
+gtcggcaccacgccgatggtgttttcgtcacaggcttcaatcatgcgtttcgggtccata
+aacaactgaccggggcgcatagggatctcacgcagctccacatcccagtagcgggcgaat
+ttatgccagcagatttgtaccggaccgcacaccaggtttggtttatccgttggtttgcct
+gcagcttccatacgcttgcgccaacgccatttcatcgccatcccgccgagcatacaggcc
+tcggaagaaccaatggtgttggtgccaacggcctgaccatttttcggcgcaggcgcatgc
+cacagatcggcaaccatatttacgcaacgcaggtcgatggctgcggattgcggatattct
+tctttgtcgatccagtttttattgatcgacaaatccatcaatttatggacgttttcgtcg
+tcccaggtctggcagaaagtggccaggttctgacgagcgttgccatcaagatataattca
+tcattgataatctgaaatgcgacatcatcgcgcatttcgtgcagcggaaatcgttttgac
+tccgcgatagtagaaatggcctttgcgccaaaacgtgaatcgagtagttctgagcggaaa
+tccgttaacagcttctggtccatttcgaactccttaaatttatttgaaggcaataaaaaa
+gtaggatttatccgcaatggaagcaaggcattacaggcttaatttaaataacaaaatcct
+aagcagaaaaacgactttttataatataaacatttaacatgataatattaaaaacagact
+ttattatcgtaataaaaatcgcccaaacattgctgttcgggcgatcaaattaattattgt
+ttatcctgcatatacggcgtgtacaccccgttcagactgtgcaggaaagctacgatatca
+tccacatcctcctgcggcagctctttgcctacctgatagcgcagcatcagtttcaccgcc
+ccgtccagcgtcggcacgtcaccgcgatggaagtacggtgccgttaaagcaacgttacgt
+aaaccgggtactttctgacgcaatttatcacgctcttctttagtcacattcatacgacca
+atatccgccgccgtaatttccccaaagttaaagtcttttttcagccccaacggttcaaag
+gaacgtccgccgagaataataccaccatgacaagttgcacatttattatctttaaataat
+tgatagccttttttctgttgcgccgtcagcgcattttcatctccgcgcaaccatttatca
+aatggggaatccggcgtaattaatgttttctcaaattcagcaatggcatcagtaatattt
+tcgccactgaaaccttgcggatagacttcgaggaactgcgttttaagctgcggatctttt
+tccagcttagcaataatttcgtcccaggatttcgacgccatttcaatcgggttcaacggc
+ggtccaccagcctgatcctgcaatgttgccgcacgaccatcccagaactgctcaacgtta
+aatactgagttaaataccgtcggcgcgttaatcggcccaactgcgccaccaacaccaatc
+gatgtttttctgccatcgacgccccccgcattcaacgcatggcaatgagcgcatgaaatg
+gtgctatcagccgataaacggggatcgtgatacagcgcaaaacccaacgccactttttgc
+gcatcggtaggcagtttttgcgggatgggctgcaccggttcattgcgatgttccggagca
+gtatcattgctggcgtaatattccgcgcgctgttttgcaatccaggccagtatttccgcc
+cgctcttcatcactcaccttacccgcccagtgtagcgcggtataacgcgttggtggcata
+gtttcatactgcatcacccattcaatcttattcaaatcgctttgcgaaacgggtttatca
+gccagcagtgccgcacgcacggcctcaaggttaaaagatttatatccaagcttaatgtcg
+taatccatcaactgtttcgcgccaggaatataataataggcgggtaattctgccgaaggc
+gtgtggcaatagtcgcatcctttttcgcggagaaagcctaaaaccttattattttcactg
+acagcagatgcctgaacatcggcctgtttactgcgtttattatcgtggtaccacacataa
+ccagataaccctaaatagcaaatcgcgacgccagccaggccgatcgcggtaatacgtgag
+accattttcattattcttccctcacggtggtgagttattgtgacccagaaaattttccag
+aatgctgcaaacgtctctgcgagacaaagccatcataaaaaacagggagatacgcttttt
+gataggaatcaatcaattacatgaatataaactatcaataagatagcctgtgcctattac
+ccagatcaggaatggcatatcatgattgcggcgagagcaggattgaatgttctgaaaatg
+aaaaacaacaccaaatcggtatttttataaattccattgatattagtgcgttatattttt
+tgacaggttaataaacgtgatccaccgcacgctttgtcgcccaccaggcggagcgaatga
+ctacccttaaagaaaagccgataattagcgacgaatttcggaggttggatccttatgctc
+aatcagaaaattcaaaaccctaatccagacgaactgatgatcgaagtcgatctctgctat
+gagctggacccgtatgaattaaaactggatgagatgatcgaggcagaaccggaacccgag
+atgattgaagggctgcctgcctctgatgcgctgacgcctgccgatcgctatctcgaactg
+ttcgagcatgttcagtcggcgaaaattttccccgacagtaaaacctttcccgactgcgca
+cctaaaatggacccgctggatatcttaatccgctaccgtaaagtgcgccgtcatcgtgat
+tttgacttgcgcaagtttgttgaaaaccacttctggctgccggaggtctactccagcgag
+tatgtatcggacccgcaaaattccctgaaagagcatatcgaccagctgtggccggtgcta
+acccgcgaaccacaggatcacattccgtggtcttctctgctggcgctgccgcagtcatat
+attgtcccgggcggccgttttagcgaaacctactattgggattcctatttcaccatgctg
+gggctggcggaaagtggtcgggaagatttgctgaaatgcatggccgataacttcgcctgg
+atgatcgaaaactacggtcacatccccaacggcaaccgcacctattatttgagccgctcg
+caaccaccggtttttgcgctgatggtggagttgtttgaagaagatggtgtacgcggtgcg
+cgccgctatctcgaccaccttaaaatggaatatgccttctggatggacggtgcagaatcg
+ttaatccctaatcaggcctatcgccatgttgtgcggatgccggacggatcgctgctcaac
+cgttactgggacgatcgcgacacgccgcgtgacgaatcctggcttgaggacgttgaaacc
+gcgaaacattctggtcgcccgcccaacgaggtgtaccgcgatttacgcgcgggggcggcc
+tccggttgggattactcttcccgttggctgcgtgatactggtcgtctggcgagcattcgt
+accacccagttcatccccatcgatctgaatgccttcctgtttaaactggagagcgccatc
+gccaacatctcggcgctgaaaggcgagaaagagacagaagcactgttccgccagaaagcc
+agtgcccgtcgcgatgcggtaaaccgttacctctgggatgatgaaaacggcatctaccgc
+gattacgactggcgacgcgaacaactggcgctgttttccgctgccgccattgtgccactc
+tatgtcggtatggcgaaccatgaacaggccgatcgtctggcaaacgccgtgcgcagtcgg
+ttactgacacctggcgggattctggcaagcgagtacgaaaccggtgaacagtgggataaa
+cccaacggctgggcaccgttacaatggatggcgattcagggatttaaaatgtacggcgat
+gaccttctgggtgatgaaatcgcgcgaagctggctgaagacggtgaatcagttctatctg
+gaacagcacaaactgatcgaaaaataccatattgccgatggtgttccccgcgaaggcggc
+ggtggcgagtatccgttgcaggatgggtttggctggactaacggtgtggtacgccgttta
+attggtttgtacggcgaaccataatatttttacagccagccgctaacttcctgctggctg
+taaaattatcctcttcaggaggagatatttaacatcattgccgcctgggtgcgatttttc
+acttccagacggcgatacagggattccagatgcgcttttaccgttccggtactgatattc
+agcgctctgccgatctccttatttgattcgcccgccgctaacatggttaaaatctcccgc
+tggcgggcgcttaacgatttgagatctttaatgtccttttccggcgtcgtccgccagtct
+ccaggcagaaacatcatccccatcgccgcactatttaccgccaacgcaaatgtctcgacg
+gttgaatcacgaggcacaatggccagcacattaaaatggataacttcctgtaaccaccgt
+ttattgcaatccgtcgccgtaattaacaccttaacctcaggaaattgcaccacggttttt
+tgcagcaaccagtagcaaaactcaccatcctgatcgccatcgagcataactaaggcttca
+gggtaactttccagcttttgccataactcgtctgcctgactggccccctgaatactcact
+cctggaatacgctgctgtaaactgattttcattccatgaataaatattgactgcctgtca
+aacatgactatttgcataactgaatctccacctgaatacgttaaaaagacttaagtagtg
+gaagggtattacccgcgagaaaaaataagaattcgccatttggcggtggccattctacag
+agatgacgtgtagaaaatagttaccgatataaatagttacagctaaacgcctgaaattac
+atgtcgagggcactatttaaaacaattttgaggatttccttatattggtggttagtacgc
+atgcaattaaaaatgaaattccgcgaccacaagccaaaataacaaacggcaaggagacaa
+aaataagcacaaatagccaacacgtcctctgttcactttaaagggaatcgctgaaaaata
+cgctctgtttaaggggattcacctttctcagaaagctattccgcccttttcctgctgaga
+aatcgccacattcggcatgacaacattgtgaaacccggcattagatgttagaaaaaacaa
+taaacaatgcgatatgcgcgttactgtttcgctgtgaacaacaatcggtcaaagaaatgg
+ataaaattcacgcaatgcagttgttcatcaaagtcgcggagctggaaagtttttcccgcg
+cagcggatttctttgctttgccaaagggaagtgtttcgcgccagatacaggcactggaac
+atcaacttggcacccagcttctccagcgcaccacgcgacgggtcaaactcacgccagaag
+gcatgacctattatcaacgagcaaaagatgtgttgagtaatctcagcgaactggacggtc
+tgtttcaacaggatgccaccagtatcagcggtaaattacgcatcgacatcccgccaggaa
+tcgcgaaaagcctgttactgccgcgcctgtcggaatttctctatctgcatccgggaattg
+agctggaactgagtagccatgaccgtccggtagatattcttcatgatggttttgattgcg
+tgatacgcactggcgcgttaccggaagatggcgttatcgcccgtcccctcggcaaactga
+ccatggtcaactgtgccagtccgcactatctgacgcgctttggttatccgcaaagccccg
+atgatctgacttcacacgcaatagtgcgttatacaccgcacctgggtgtacatccgttag
+gttttgaggttgccagcgttaatggcgtccagtggtttaagtctggcggcatgttgacgg
+taaacagtagcgaaaactatctcaccgccggtcttgccggtctggggattattcagatcc
+cgcgcattgccgtgcgcgaagccctgcgtgccgggcggcttattgaagtattacctggct
+accgtgccgagccgctctccctttcgctggtttatccgcagcgtcgggagctttcccggc
+gtgtaaacctgtttatgcagtggctggctggcgtaatgaaagagtacctggactgaccga
+ctatactttttaagaatgaccacgacagaaggacaaaagagcggatgacgcaggaaaacg
+agatcaaacgtcccatccaggatctggagcacgagccgattaagccgttggataatagcg
+agaaaggcagcaaagttagccaggcgctggaaaccgtcaccaccactgccgaaaaagtcc
+aacgccaaccggttattgcgcacctgattcgcgcgacagaacgctttaacgatcggctgg
+gtaaccagtttggtgcggctatcacctatttctcatttttgtcgatgataccaattttga
+tggtgtcgtttgccgcagggggctttgtgctggcctcccatccgatgttgctacaggata
+tcttcgacaaaattctgcaaaacatcagcgatccgacgctagccgccacgttgaaaaaca
+ccatcaacaccgccgttcagcagcgtacgactgtagggcttgtcggcctggcggtggcac
+tttattccggcatcaactggatgggtaacctgcgtgaagcgattcgtgcccagtcgcgcg
+atgtctgggaacgctcgccgcaagatcaggagaagttctgggtaaaatatctgcgagatt
+ttatttcgctgattggtttgttgattgcgctgattgtgacgctttcgatcacctcggttg
+ccggttcggcgcagcaaatgattattagcgccctgcacctgaacagcattgagtggctga
+aaccgacgtggcgattgattggcctggcgatttccatcttcgccaactatctgcttttct
+tctggatcttctggcggttgccgcgccaccgtccgcgcaaaaaagccctgattcgcggaa
+catttctggctgctattggttttgaagtgattaaaatcgtgatgacctacaccctgccat
+cgttgatgaaatccccctctggcgcagcatttggttccgtgctggggctgatggcatttt
+tctacttcttcgcccgtttgacgctgttttgcgcggcgtggattgccaccgccgaatata
+aagacgacccgcgaatgccggggaaaacgcagccttaaaataggccggatgcggcgtaaa
+cgccttatccggcatacgattttattcggcctggctccccgtaggccggataagatgcgc
+cagcatcgcatccggctataatgcgcacataacctcttgaaactcgtccccagagcctct
+tcagccatctatttgggagcaaacaatttcattccaactcataaccccagcatataaatc
+cagttggtaacttttatttaacctgaaaccagttttatccactatttataaaattatgtg
+aagcatttcatagaagaaaaatcactggcctaaacattatcccctttttgcctgattttt
+gaccatttccgcgatttgttacacattgaaatatcacttttgctgtgcgtaatatggcta
+ttcgttagccaaaaaataagaaaagattatgcaagcaacagccacaacactcgaccacga
+gcaagaatacacgccgatcaactcgcgtaataaagtccttgtcgcctctctcattggcac
+agccattgagttcttcgacttttacatttacgccactgcggccgttattgtgtttccgca
+tatcttcttcccgcagggcgatcctacggcagcaacgctacagtcgctcgccaccttcgc
+catcgccttcgtcgcgcgccccattggctctgccgtttttggtcattttggcgatcgcgt
+tgggcgtaaagcgacgctggtcgcctcgttgctaacgatggggatttcgaccgtggtgat
+tggtctgctgccgggctatgccacgattggtattttcgccccgctgctgctggcgctggc
+tcgatttggtcagggtctgggcttaggcggtgaatggggcggcgcggcgctgctggcgac
+tgaaaacgccccaccgcgcaaacgtgcactgtatggctcctttccgcagctgggcgcacc
+gattggcttcttctttgccaatggcactttcttgctgctttcctggctactgaccgacga
+gcagtttatgagctggggctggcgtgtgccatttatcttctcggcggtgctggtcattat
+cggcctgtatgttcgcgtgtcgctgcatgagtcgccggtgtttgagaaagtcgctaaagc
+gaaaaaacaggtgaagatcccgctgggtacgctgctgaccaaacatgttcgcgtaaccgt
+actgggtacgttcattatgctggcaacctatacgctgttttacatcatgacggtctactc
+tatgacctttagtaccgccgccgcgccagttgggcttggcctgccgcgtaacgaagtgtt
+gtggatgttgatgatggcagttattggttttggcgtgatggtgccagtcgctggattact
+ggctgatgcctttggtcgccgtaaaagcatggtaatcatcaccacgctgatcatcctgtt
+cgcgctgttcgcctttaacccactgctcggttctggcaacccgattctggtttttgcctt
+cctgctgctggggttaagtctgatgggtctgaccttcgggccaatgggtgcgctgttacc
+agagctgtttccgacagaagtgcgttacaccggagcatcgttctcttacaacgtagcgtc
+gattctcggggcttccgttgcgccatatatcgcagcctggttgcagactaactacgggct
+aggtgcggtggggttatatctggcggcgatggctggcttgacgttaatcgccctgctgct
+gacccatgagacgcgacatcagtcgttgtaataagagtgaaaagcctgatgcgctacgct
+tatcaggcctgaatttccatacaatatattgaattcgcaaggatttgtaggccggataag
+gcgttcacgccgcatccggcatgaacaaagcacactttgccaacaatctaaatctgttta
+attgccggatgtcagacatccggcaattatcatcacttcttcatctgcgacaaaatcgtc
+cgacactgattagcctccccttcggaaggtgagatcagtgccagtaacgccgccgccggt
+gttaccagcgttgccagtgccgcagcaacagcaccacgggcaatcagcggtccggctttc
+accccagcctgcggatttttaaacgtcccccgcacatacagcggcgaacgcagtgtgata
+atccgaattcctttactctccggatcaatagtcaaatccagctgttccgaagcaaaactt
+gccgtgccggtaacattaatcaacgcgttctcagtatcgaaagcaaaaatctgcgggcgc
+gccacgccgttggcaatattcagattcgccgccgcgcagttcacccgcacctcatcatca
+ccaaatatcgcaccgacaatgtagttgccgacattcagcccaacaatctccatcaggttg
+cggctcaccagcccgtcattcatcaacagtttcaggttgccgttactgttgcctaaaagt
+gccgccaccgagttaccgctaccgcgtagttccgcgtcaccgttcatttcccccagcgtc
+ttctgcatcagttccacatcgggcatcagttctttcagtttcagtcgacgagcctgaata
+tctgcccgcccctgcatcggctttttatcgccttccagatgaatattcgccgcaatgctg
+ccgcccgccatgccaaatttcagcggttgcaggcgcaggtcagcatttttgaggatgata
+tgagtagaaagatcgctaatcggcaggctactgccatgctcaatgcgccgccctttgaag
+cgaacatcggcatccataacgtcccatttatcggtttcgaagcggtcataaggcagcact
+ttgcccgcaggctgaacgcttttttcgcccttcttctgttcagaccgtttcgacttttct
+gcccctttcccggaatcaacgccaatcaacggtcccaggtccgccagccgcaattgccgc
+gactcgacatcaccttccagttttggtcgtggctttccggtggtgtagaccagagaaccg
+tggatatcgctatcaccaattcgcccattaaaaccgcgataatcaaagaccgacgatttt
+tcagtgtcgattttcgctaccagccgaccatccgtttcaaacggcggggtatcgggcagc
+agaacgcccgtcagttcatagagatcacccagtgaatcgccagaaaatttaagccgtaaa
+tcgacaccgcccatcttcattgggtcattcacgacgccatcaaaagcaacacgggtgtta
+ccagagcggaaatcagcctgtaccggaaacggcgtcccttcgccacgcagcgccagcata
+ccgcctatttttcccgtacccgtgagcggttcaccgttatatcgtccctgcgccttcagg
+ccaaaaacgtaatcgcccaccttttctttatccgctttacctttcgatccagtaacttcg
+ctgaacggcagcggcttgcctaagggatcaacaaaaatctccagatccgctttgcttact
+ttgtcatcaatggcgatccgcccttgatcgaaaagaatattatccagccgaaacgaccat
+gccgacggctttgcattcgcgtctttgttatcatcgttggcaagattaaacgtccagtta
+ttgttcttttcagagaggcgaatcaggcgcgcgtcgggcttttcgagcttgatccacggc
+agccagaccgttttggtcagcagcgccagcggggccagcgttgcctctacgcgtggcaaa
+tgcaccatcgtgacttcgggaatatccggtggattgccaagaatgatgtcttccgcgtgt
+acatggggccacggcacccagctgcgccagccagtttcttgtttttgccgctcccacacc
+acgcccagatcgccacggatagcgaacggacgattcaactccgcagagactttctggttg
+atagtcggtttgagtcgattccagtcaaaagttgcaatcaaaatgatcgccacgacaatc
+aacaacaagaaagcccctgaaatcgcagcggttattttgcctgccttgctcatcgttcgc
+ttcctcatattcttcctgtgccagtcctaaagatagtccagccaggcggaaaatgaggca
+gcttatagcgccagaaccgccgtattcagcgtttctatcggtgccgggcgtgaaagaaac
+cagccttgtgcggcgaatgcgggcgagttctgaacatcacgccactcttccggcgtttct
+acgccctcgacaatcaccccgcgacaatagcgattcattagatgtaaaagctgagaaaag
+agtgtgcgtccttccggcgactgacgcagcatcacaaacagttctcgcgcgattttgatg
+tagtcataacgcacttcacttagcgcagagaaatttgccatcccggtaccaaaatcatcc
+agccacagcgggccaaattcacacatcgaggcaaaggttgaatctttcggcagacggata
+tgctccaccagttcgaaacgcagccagggaagacgctcaatctggcgcaggatttttggt
+tgctgacgcagggcgatgagcgtagggccatcaatattgaccgatgccagcaggccgtgc
+tctataaagaagtcggctttttgcgccagcaaatcaatctgctctttcacaacctccatc
+cgatggctgacggtgatttcagtaaaatagcgatccggcggcaggcgttgcgaagggttc
+aagggatgcgtgaccaccgttaatagctccacggccattaaccgcccgcatgtttgatag
+atcggctgccaggtgtaagcacgctcacactgcaaccaaaaacgccgttcctgcaagctc
+tcgatgcttgcttcagggttgcttattcgctggataacctgccttatcatcaaagatgtc
+ctgtgtttaaaagtgatgctgcccggactcgacaaagattatcggcgcgtaagggcagaa
+ctttaccgcctggccggggtaaatttcctcactccacaacggaatctttcaggaatacgt
+tctggctcaaaaaaataatggaacactgttttaatatggttgaccagcaaaccaccacag
+cgcaaactaacgctaattttttacagatcaggttcacgactatgtccaaaaagattgccg
+tgattggcgaatgcatgattgagctttccgagaaaggcgcggacgttaagcgcggtttcg
+gcggcgataccctgaacacttccgtctatatcgcccgtcaggtcgatcctgcggcattaa
+ccgttcattacgtaacggcgctgggaacggacagttttagccagcagatgctggacgcct
+ggcacggcgagaacgttgatacttccctgacccaacggatggaaaaccgtctgccgggcc
+tttactacattgaaaccgacagcaccggcgagcgtacgttctactactggcggaacgaag
+ccgccgccaaattctggctggagagtgagcagtctgcggcgatttgcgaagagctggcga
+atttcgattatctctacctgagcgggattagcctggcgatcttaagcccgaccagccgcg
+aaaagctgctttccctgctgcgcgaatgccgcgccaacggcggaaaagtgattttcgaca
+ataactatcgtccgcgcctgtgggccagcaaagaagagacacagcaggtgtaccaacaaa
+tgctggaatgcacggatatcgccttcctgacgctggacgacgaagacgcgctgtggggtc
+aacagccggtggaagacgtcattgcgcgcacccataacgcgggcgtgaaagaagtggtgg
+tgaaacgcggggcggattcttgcctggtgtccattgctggcgaagggttagtggatgttc
+cggcggtgaaactgccgaaagaaaaagtgatcgataccaccgcagctggcgactctttca
+gtgccggttatctggcggtacgtctgacaggcggcagcgcggaagacgcggcgaaacgtg
+ggcacctgaccgcaagtaccgttattcagtatcgcggcgcgattatcccgcgtgaggcga
+tgccagcgtaaacgcagcatatgcaaaaggctggataaagtgttacccctctatccagct
+catccataaatacctgatggttgtgctaactcatcaccatcaggcattactgtgcaggtg
+gaatatccgtcacttcaggatgtacgtcatccgtggcgacagaggtggtcgcagcggcgg
+tagatggggccatgatttgatcccagaccgcctgcaacgctttcatgttaaattccggct
+cgcctttcggctgcagcagtattaacgccatatcattcgacaactgttgacgcagatcct
+gatttaacatctctaccgtcaggctattaaggaaatcctgccgcagtttctgatattgct
+ccggcgcgatatcgacaacctgattttgcaacgaacgcatccgctgacccatcagaatat
+cggtatcagctcgtgcataggcggcaaacagtttctgcagctccagtttcttttgcgcca
+ctaacgcattgaactcttcttccggcagacctttatcgcgaaccttcgccagttcacgcg
+ccaccagattaaggttgctgttcagcttgtcgtttggtgattcgatgttgatggcacact
+gcgcacgcagatacagcacacggcagtcaaatccaagaccgatgtctttgctgttactgg
+cacttaacgcttgctgaacatgccagaacagcgcctcgcgggccaggtccgcacgccagt
+agcgcagcagtgcggctgattcacgaatcggctgccacggcgtatcccacatgatagata
+accggtcctgacgcaccgcgtcagtcataatactcaccgcttccgcacgcagcggagaaa
+gcgtcggcaccggagctggcgtttcacgtttgcctttcagttcgccaaacgttttgttta
+tttggtcgacaaccgagcgcgcatccacgtttcccaccaccagtagcgtcattgcatccg
+gggtgtaccatttctgatagaaatctttaattttttccgcttcaacgggttgtttcagcg
+gatcggcaggatcgtgacctaacaaggttgaccctttcagacgatagcgccaccagccct
+ctttagtatcggcaggccaggttgccaccatgtcctgactttgcagcgcgtggttgatgg
+tttctggtgtgatggtcaatttgccagtggcatttgccagataagagagcgcttctttca
+gcaaatcgttacggttattgggcaaactcagattaaacagcgtggtgtcataagagacaa
+ttaccggcggcatcgggcgtttagggtcgatcccctgctgccacaatgaacgcgcctgtg
+ctgcgtcaaggccaccgctttgcgttagcgcaatacgagggatggcgtgactgtaaccgc
+tctgttgtgtactttcggcgagcgaaccggtattaaccagcaggcgaatttcaacacgat
+cgctgggacgctggggggtggtcagcacttgccactgtaaaccgttggaaagcgtcccct
+gttgccatgctggatcaggctggagcgcatctgcctgcacatagccagcagtggccatca
+tcagcaaaccgcccgctaaaagtcgaatttttgtgccctgcatgtgaacccctgatcaac
+tatcctggtaataaaaaaactgcccgttgtcggtcagtctaaatgacgttaaaaacactt
+cgtgttagaccgcaagaacatgaaaatgtcacggaagaagtgaaataaacctgaactcac
+ccaggtggtaagttcaggcacaggggtcaattatgcgcaaacacccgcactcggggaagg
+gagtgcgggcataagtgatgagattaagaggataattcgtgcgttttgccatccggcgca
+cgattattcagcacatcgtccagttttttgtggtccagttctttcacccacttagcaacg
+acaatggtcgctacgccgttaccgaccaggttagtcagcgcacgagcttctgacataaag
+cggtcgataccgaggatcagcgccagacccgctaccggcaaatggcccaccgcagagagc
+gtcgccgccagcacgataaagccactacccgttacccctgccgcccctttagaagaaagc
+agcaacacgattaacagcgtgatttggtggacgatatccatctgactgttagtggcctgg
+gcgataaacaccgccgccattgtcaggtatatcgatgtgccatcaaggttaaacgagtag
+cctgtcgggatgaccagccccaccaccgatttacggcagccgagtttctccatcttgtcg
+agcatacgcggcagcgccgactcggaagatgaagtccccagtacaatcagcagttcttca
+cggatgtagcggataaatttgaagatactgaaaccagtcgctttagcgattgaacccaat
+accagcaccacaaacaggatacaggtaatgtagaaacagataatcagctgccccagttgc
+accagtgtgccgacgccgtatttaccgatggtaaacgccattgccccgaacgcaccaata
+ggtgccagacgcatgatcatattgatgatgccgaagatgacctgcgagaaactttcgatg
+acgttaaaaatcagttggcctttgctgcccagacggtggagcgcaaaaccaaacagtacg
+gcaaacagcagcacctgcagaatgttaccgctggcaaatgcgccaatgacgctcgccggg
+atgacatccataatgaaggcgacaatgccctggtctttcgcctgatcggcgtaaaccgct
+accgctttcgcatcaagcgttgccggatcgacgttcattccggcaccaggctgcacgacg
+ttaacgatgataagaccaataatcagcgcgatggtactgacaatttcaaagtaaagcagt
+gcgactgcgccggtacgaccgaccgccttcatgctttccatgcccgcaatgcccgttacg
+acggtacaaaagatgacaggagcgatgatcatcttaatgagcttaacgaagccgtcgcca
+agcggtttcatttgctcgcctatttcaggatagaaatggccaaggagaataccaatggct
+atcgctgtcaggacctgaaagtaaaggcttttaaacagagaggttttcatagggtgtcct
+ttagtaaaaccacaggtcttgtaaggttatggggtacctgcggccttaaaataacaccca
+gacaacatcacagaaatgtacctggatcataattgaaacaaaaaggttaaaaagtttgag
+ctggctcgcacaaaccagcactttttaaagttttgtaatcagtttggggtagctactttt
+cttccaggtaactctcttcgaagatttcaatagggagtgggcgagcaaaaaggaagccct
+gggcaataccaacgcccgcttttgccagccagtcgcgttgtgcttcagtctccacgcctt
+cggcaatcatttgtaagttcaggctctgcgccagcatgataattgcagcaatcatgctgc
+tatctcccggcaagccttcaacaaacattttgtcgattttcagtacgtcgattggcaacg
+atttcatatgctgcagctgacgcagccctgcgtagcccatgccgaaatcatccagcgcca
+cccgaactccggcattgcgcagcggacggaggattgccaccgcagcatgagggtcgtcaa
+tacgtcggctttctgtcacttccagaatcagtgttcccggctgaatgcgatagcgggtta
+acagttccagcatatccgccaccatattcgggtgcatcagttgcagcgcagagaggttta
+ccgacaagggcagcataatgccgcgctcttgccaggctgcaagcaatcgacaggactctt
+ccagcacccagtgaccgacggtaaccatcagcccacagcactcaatgcgatcgattaagc
+catccggcaggtcccaactgccatccggttgctggatacgcagtaacacttccgcactga
+ccagtttaccgctggtcatctcgacctgtggctgtaaccaaatagcaaactgatgatttt
+ccagtgcattaaggatatcgctctcttccgtcaaccgcttctgggcggcttccatctgct
+gcggatcaaagaactgaatctgattcttgcctttatggcgagcggtaaatgccgcagaaa
+tagcgcgactgtaaagctgttcggcggtgagatcgccgtagaacatcgccacgccaatgc
+tacagtgcggacggagttgaatacgttcaatcggcaggcgctcgctcatgatagtgagca
+cttgctgacctaaggtgattgcgtgccacggttcctgtacaccgttggcaatgacagcaa
+agtcataaccgctaatctgcgcgaggatcatacgtggcgacagtaccgatttgagttttt
+ccaccagcgtcagcagcagaatttctcgttgcgcctctttcagcacgcccgcagtatcac
+gcagggtttcacaggtgatgatcatcagcgcggtggtttgtttacgcgcgacaacctgct
+ccagcatctccatcagcaaggctttgttcggcaaatccgacaccgggaagcgcatcgcat
+tttcgttctgttcttcataatggcgctgcagcaattgctggttgaggttgtaactgcgca
+ccaacataccgatttcatcgtcctgatgcagacgcggtaatgccagttggtgaccaacaa
+gctccttggctgggatggcgttaagttcgcgagcaatattgcgtaacggatgcaaaatca
+ggcggttaatgcaccagctgatggcgacggtcaggataagcgacaaaagtaagtaaatgg
+tcactaacgttgagagggtgctcatcacgaacttatacatacggaaggaatccgcctgta
+gtaccagataggcaattggctgcgggtttgccggacgttcgagcgagtaaacgcccagcg
+agatttgaaccggtagctcaaacaggcgagtaaccattaccggcaccgggcgctctggaa
+taaaacttttacgcagcgcctggaactggttaggcagcactacatcggcacggctgacca
+cgcctgccggtttaatgctggcaagaatagcttccgcttcgggaatatcgcctttcaaaa
+tagctgaagataagggttcgcggacagagcgagcaatgctttccagttgcgtagccgtgt
+tatagcgattctgctggaccagatggaacagcaaaacggtgcaaaaaataaaaacgaaca
+ccaggacaacggctgccaccattgccatctgcttgattgttaacgagcgacttacgcgca
+aattgtctccccccggaaatcccagattgccgcccgagtatacccgatcgcagcggcatt
+aagagaggcgctatctgaaaacttaccagtcggcgtaaggtatcagcggctgcggcggta
+aatccatgtcaccctgccatccggcggcggaataacgtacgtagagcaggaaatggctgg
+gtgcgtaatctttcgcctgctggatatcaattgccgtgccaacaaaccagttggaagtaa
+cacgtcgttcaagtaatgcccgcgccgtgtagccgaagccctgactgctgccgccatcgt
+tggattgccgcgcagcttcttcctgccagtcggtcgggatcagattcatcagcggataac
+gcggcatggttttggtgcgtgaatgcgaccacgagccagacgcacccagctcccacgacc
+agttttccgtgcgctcccgccacatcaccggtatggcaaacgacaggtattcctgcggac
+tgtagtaaccgccctgaccgagtgagtagccactcagatctttgtcgtaatgccagatca
+tgttgttcaggccgattgtgacgcggcgattgttctggttaatgaccttatagtaatagc
+ccgtcatccagcgcacgcgccagttatcttcgacatttttaccggttaactggtcgccac
+taagcgatgcccagacgccgtttgcttcacctttatcgtagctcagacttagccccacac
+cgtcggcacgtacgccaccccattttttcccggtattgctcggggagtctttttgcccac
+caaaggccagcaaagaactggagatgggccgacggtgggcgttaacggtgtaacccagcg
+gcccgatatcatcgctgtaactgatgccgccgaccacatccaccacgttgaagcccatcg
+gcgtggtaccgatatcccagctccagacgtcatttcgccagccgaccgccacgctggcac
+cggaatccgactggctgcggttgccgctacagtcctgtaatgtacaggtgccccagttgt
+catcccatttgccatcggcattagtggagaaactgccgacgttcatattgacgaaatcac
+tgcgaaagaacatccgcccgtcagaatacggcgcatccacctgcaacatggtagtgtgcg
+ctttcagatcggagtaaccaccggtgccgctcgaaccccagtaatcgtgctcaagggtga
+cgttaagatcctgctggcgatagaggtccgccgcatcgctgcgcacgccacgtttcagcc
+agtcatctttctcgtcgttacgggtcagtcgggtaaaggtgtcgttatcctgcggacgcg
+tcgtagtcacaccggatgcgaccatggcgtctttgtaggtttccagcgcctgcgttggat
+cgcccgcctgcgcttcaaacttcgcaccatcacgcagcaccatcgcgctttccatcgacg
+gtggctgagattttgcctgcgggatcaacttattaaacgtccgctgcgctgctgcggtat
+cgccaagctgcgcctgtgccagcgccacgcgccgctgtgtgttcagcgaggcgttatcgg
+tagcgggcagtttcgccagctggctacgtgccgccgctttgtcaccggcagcaatatcca
+cttccgtcagaccaagaatggcgtcggcgttagctggctcccgcgtcaggacattctgat
+atgcagcgcgggcggcggtgtaatcacgtcgttgttgcgcccagtcagccagcgtgaggt
+caatacgcgtggaaggtggttgctggcgcagcatcgcttccgcttctgcctctttgccgc
+tttctcgcaggcggttagcggtttccagcacctgatcgctttgcagtcgattaaccagct
+cctgaatattgctgttccactgcgcacgcggcaggctattgatatgcgccagcgccgctc
+tgtcctggtcatgaccagagaggtacagcccgtaagcgtaaacctgctccgggtcgttcg
+acttctgctgcgccagattgcgcattaacgtatcggcctggctgcgttgtccggcctgcc
+agagatcctgcgaaagtcggtaagtaatccatacgctgccggggtccagcgccagtcgtt
+gccgctgaagtgctgccgcctgcgcccatttgccctggttttccagtgcctctgcctgct
+gtgccagacggtcgttttgcaggctgcgttcgatatcatcaatgctacgccgctgactgg
+cagagagcgaggcgataaacgcttcagctttttctggcgattgctggcggtaaatatttg
+ccagcccgcgcacggcgttagtgttgccgctgtccatacgcaaggtctgctgataataac
+gttcggcggcgggataatcttttcgcgccatcgccacatcgcccagccccagcactgcat
+aactgtcggtgttatcgacattacgcgcctgctggaacaggcgttctgcccggtcaggat
+tattggctttcagcgcagcatcgccctgctggatcgccagccagtagcggtttactttca
+gcagactgttccatttgtcgttgttgctgctgtgcgggtccagtgcgagggctttttcca
+gattcgccactgcattggcgcgatcgcctttctgagaatacgcctggcccagcgccccca
+gagcttcactgtctttcgggttcgcccgcaccgcctgttgtagttcgggaatggctttac
+ccgccataccagagtccaccgccgctaaaccttgcgcacgagcgcggaaagcaggatcgg
+ccagctgtttttgctgttctgccagttgcgattgcgcagccgccacgctatcgccatcac
+taaagatcgagagatattttttcagcgccgacacactggcatcactgacgggcatgtctt
+taatctgcccgtaccagattttagaggccccttcgcgcccggcgttcgattttgccatct
+gttccaggacggcaaaaccttcgtcacggcgatcgctactaaacagcaatagcgccagat
+tgttttgcaggcccgtattgcccggtgcatccgcattgatgcgttttaactgattaatcg
+cttcgccacggcgagccggaattttcgccaccgtactccagtactcgacagcaatgtcac
+cttccggcggcgcaccgttgaacagtttgttgtaactcgccacagcttcttctgcatgac
+cggtcgtcgcctgcaatcgtgcctgttgcagtgcctgacgaccatccggcgtggaaagta
+gcatcgtagtccgcgacgatttatacgcatttgaactcggcgctaactgcgacagccgat
+cgagctgtttttgcgcgccatcaatatcgccctgacgtaacaaagaacggaaacgggcgg
+caacgacgtccgggttattcggatcaataagttccagccgatataacgactgttgcacca
+gatcttcacgatgggtcgcttcgcctaaccgaacttgctccagcaactgttgctgagcgg
+ttggtgctgcctcgaccatcggcatgacggccagaccgagggaaagcgtgaatatgttta
+gtgtgaatttgcgcattcctggccccagtcaggtaataactcaccttttgtcgagaagcg
+gaaacggtgttgatcccagccttgtccaaacagggtcagcacatagttgtaataggcatc
+gctgccgggaaagttatcggccacgcgctggcgctgaacggcctgcgcatcgcggttttg
+taaaaagggcagcatggcggcagaaaaaccgactggtcctttaccctgcgctttccccgt
+agccacatccactttttccggcggataaccgtttttctcagtgaatgtcgccatcggttt
+aaaccggttgagcatccgcgctttttgcggatcgctgtcaggcatcatgcctacccacat
+gtaaacgcggatagcgtcgtagctgctgatcaatgttttttcggcttttagctgccagcc
+tttgtctttctcatagcgcacccagtctggcgaaaaacctttcggggcggtttccagcaa
+taaacgttgattggtttcgcgcagcgtggtccacggcgcgccaaagcgggtgaaatactg
+cgccagcgtcggcggcaggtagctggggttaaaacgccagctgttatcctcagcaaaacc
+cactttgcccggtaacaacatggaacccagcccaggcaccgtcaccacttcctcccgcgc
+gatacgttttagcaacgcgctgccgatgtcggtataacgctgctctttccacaaacgccc
+cgcctccagcaacgaccaggccatccagacatcaccatcggaggccgaattgctgtccag
+cacttcccacttactgttctctttcttgccccacagccaggcgggcaaacgttcttttaa
+agaaccctgagcgagattgttctgcgtccagtcgagaatattatcgaaagctgcacggtc
+gttagccgccagggcagagaacatgccgtaactttgcccttcggaggtggtgattttgcg
+cgcgtcgctggggtcgatgacgcgcccttcctgactgatgtaatcctttttaaactgctc
+ccaggcaggccaggtacaggctgcctgaacactaaaggcagccagcagcagcatcgtcac
+gattccactacgcaacacattcatcttcaattactcgttatccgggttaagacgacgacg
+actaataattcgcagcagacgccacagtacccatgccagcaatatcacactgatagccgc
+cagcaccgccagcagaatcggatggtttgccagcgcataccacacgcgctcgaaccacgg
+cagatgacctacgtaataaacgtcgccaacacgtaggctgttgataccggactcgcggat
+caccgcgaccgaaccgaacatggtggcgcgtttgccgctatcgttcaccgcatcgttaag
+catttcataaccgcgtgggctatctgccaacagcgcaatcacgctgcgctggtcgttata
+cggcgactggaagccaatcaccgccgccatcgcaccggaagaggtcagcgttgaccgggt
+ttctgccgcgcgatcgctctcgtccggcacaatgccggggaacggggtctggcgcatcgg
+tgttttcacccagctttcggtcgcctgcaccaataggtcgatctgcttatcgtctttcag
+tttgtccgggataccaccgatgatcatgatgtcggcatctttgccctgaatggtgctgcc
+atcatcggtcaccgtcagattaatcgccgggaagcccgtctgtgcgccgataaaaccaac
+agtattcagcaacgtttccatctgtgcttcgttaggcgctttcggcatcacggtgatggt
+ttgcgacagatccgccatccggctgaatgggaagcccgcgttagcaaaggcgcgtagatc
+cggcatcgggatgaagtggtaatacttcgagaagtcgatggtggagtcgtcaccaatcac
+cacatgattctgcaccggctggaaggtaatacagttatccaccgaaccgcccggcatcgg
+gttcatatactcaaagtcgaagcgcagctggttggtcgcgcccagtttcagcgccggaat
+agagacatctgttttgccatccagcaaaccttgtaataccggaatccgcagcagcaggcg
+gttcgcctcctgtttgctgctcaggttgaaggattgcaggaactggttattcaggctgat
+atccatccgcgaactgtctttcaccggcggcatggtgtagcggtaattaatatccatatc
+aatgccggtactgcgcatcaggtagagatccggcggcaggtttagcgaaacgttaatcgc
+tgctggctcaagaccgctggattgtaactgttcttcataggttttcagttcgccaaatgt
+gaccggacgatcggtacgtacccagttcggcgcatcgtacggcttacgcggtagcagcgg
+tttcacttcattcactaccacgctttcaccacggaacagaatgttaccctgagcgatacc
+tttcgctgcctgcaacaggtctttgtcgtcacgaccaaacaccaccagcagtttgacgta
+aggattctgcggatggttaatcatctcaatcaccggggcttttaccgccggatgatcgcg
+caggaagtccggccgtttgtcgttggttgcaaagacaatggcattgcgatccggcagttg
+gttatagagtaccgggaagttctgcccacgccagccagaacgcgaaccaaaccacgaggc
+gacaatggcagaggcttgttgcagcccaacatccggcgcacccgcaaagaccatcggcaa
+ggtgttggtgcggttatcgctcgggtcaaagaatggcaccgggaagtgtgacaggtcatt
+cttcacattcagggtctgataggtcagatccagtccactgctccgcccaacatccagcca
+aagcgtggtgctggccggtttttcgcacacgtcctgataatggccgacaaactccagccg
+tacacggttgaagtcgctaataaacagtgggttaatgggcatttgcgccagcgttttttt
+acccaactgttctttggtcactggcagcacgcccatcagttcatcattgagataaacctt
+taactgcgactggacaggcagtaacgatggcgatggggtgtattcgaggttgagcatcgc
+cttcgtcaccacttcatcgctgcgcataccaaactcaatgctgccgttcgggttaatgcc
+acgtagcaccatgctgcccggcggcggtgcaatttgcgcaaaggtcagcttcacatcacg
+cgaaggaccgttctgcgccacgactggcgcatcagcgccctgcacgcccggcatcacttg
+ccccacctgcggattttgttccgtctgggcggctacagctggctcagcattgatcagtgg
+ttgcgttgctggcgtcgcctgcgtcatgaaagaggggaacgcactcatccccatagccac
+tgcacaaatccagaatagttttcttttcatcgcgttatcatcattgttgagccaaagcct
+gatccgatggttgtgccgtttcgctccgctccgggcggcgcggaataaacgatacaaccc
+aggaaaccagagaagtcagcacacggaatatgcccttcaccgaagaaggcgcaaactccg
+ccagatggcggtagccacggaagccgagcttcagaatatccagcagactttccagcggct
+tatcttccgggtagctgtcctgccagagcgcccatgtatccgcacgggcaaacgtacact
+gcacaaaatcgatatgttgctgggtggtgagcggcattaatttcagcccaacttcattac
+ccatcacgcgcgccacctgggtcgggaagacgtattcctgctgaccgcgtttaagcaaca
+gattcactttctgcccttccagaatctgcgcctgaccgttgatcttgatccccaaaccac
+cgtcggagaaatcctgaacggtacacgagaagaggtgaccatcttcgcgggcaattgccg
+cgggcatcgtcatctccacgcggtgcgatcggcgtacctgtttgctttctaccgataccg
+caactgcgccgccaagaacaatcaggttgtagaacacccacaccatactgacgaccacgg
+tgagcatctcggttggcgggccatagaagtagcgccagatgcctaccgcaacgcccacca
+ggttgagcaggacaaggaagatgtagggccgcgagatcacccagtcgacgtactcttctt
+ccaccagtccacctttggcggtgacgttaaatttgcctttgtgcgggttaatcagcgcca
+ccagcgtcggtggtgcgatataccacgccagcaccgtttcgtagatttcactccagaaag
+agtggcgatatttgccctggatcttggagttggtcaggctggcatggatcatatgcggca
+gcacgaatagggcgatcatcaacgctggcgcatagatgatgtaggcatgaagcagcagga
+acgccagcggcgcagtcaggaagatcagccgtggaatgcccgacaagaagtggaacatgg
+cgttgacgtaacatagccgctgagcaaacttcagccctttaccggtgagcgggttatcga
+gacggaagatttgtaccatcccgcgcgcccagcgaatacgctgaccgatatgcgccgaca
+gactttcggtcgccagccccgccgcctgcggaatacgcatatacgcggaggtatagccac
+gacggtgcaaccgcagagaagtatgcgcatcttcagtcacggtttcgacagcaatgccgc
+caatttcatccagcggcttacgacgaatcaccgcacaggaaccgcagaagaaagtggcgt
+cccacatatcgttgccatcctgcaccagaccatagaacagcgtgccttcgttcggcgttt
+tacggaaacgccccaggttgcgttcaaacgggtccggtgagaagaagtggtgcggcgtct
+gcatcatcgccagctgtttttctttcaggaaccagcccatggtcatttgcaagaacgatc
+gcgttggtacgtggtcgcagtcgaaaatcgacacgaactcgcctttggcatatttcagcg
+cattgttgatgttgcctgctttcgcatgttcatgagtggtgcgggcgatatatttcaccc
+ccacgttttgcgcaaactggcgaaactcttccctgccgccgtcatcaaggatccagatat
+tcagcttatctttcggccagtcgatacccagcgaggcgtaaatggtatttttcaccacgt
+tgagatcttcgttgtaagtcgggacaaagatatccaccgacggccacagcgacatatctt
+tcggcaatggcaccggctgacgattcagcggccatactacctggaagtagccgagcacca
+gcacaatccacgcgtacgtttcagcgaagagcagaataagcccgcacaccaggctgaccg
+gatcgtcccagttcagcgtagaggtgtaacgccaccagatataacggcaagaaacggtca
+gcgacagcacaatcaacattagcgccgagaagcgccccggcatccgccgtacgatcagcg
+ctaccccccacagcagcatcaggaagataaactgcgccagcgggttaaacggctgagtaa
+cgcagattaacgccagaatcagcgagaaggtgacgatgataccgaggatcaaccgccgcg
+ccccggcactcaaatgaccgagctcttttttctcatccagatgctgtgttttatggctaa
+cgcgctcaggcagctcgttcatccattgatggtaacgtccacgaatattttgcagacctg
+aaaatgcccgcctgcgcggtttcggcgtttctttgcgcgatgcaccgatcaataaccagc
+atgtttgaatgagataacggaccgggtccagcggacgcggacgcgaggcgttgatatgcg
+gatacaggtttttatgttctgcgcgaatacgctgccagcgcgggtgctccagcggaataa
+aaatccaggccaggatcatccagaaacagccgagcgtcgcgctgaaagccgacgcaccgt
+gacgacgataatcgcgataacgcccgataagccgcgcgttgaccggcgggataagcaacc
+accgggtcaggatactcatgatgcactcccgactggcgttttcagcccggagtagttcaa
+caggcaccagttcgccagcgtcagtatctcttcagccgccagcgcatcactgcgatattc
+acctactggttgcttagccgccaggcattcagccatcgcttcatcacgatgaatgagcat
+cggcagtaatcggcgctggctttgcaaccaaagctggtaaatatcgtcctgaacctgact
+gccaatacggaagtcattaatcaaaatatgtgcgccatccggcagcgcttgctgatgcag
+tcggatatggcagttggcatccacattgacgattgccagcgagtgatcgcacaaactcag
+cagctggtgggttatctgcgaggcatcacgcggtaagtcgattaaaatccactggtaacg
+cccgctggcttttagttgctgtaagccggagcaaatatcgctcagccgggtttgccagtg
+ctgtggattttcttgttcttcaatggataactgaccaaaaggcagcaaatcgagctgcga
+ggtgtagcgcaacccagcgtcacgccagtcctggccatccagcatcgctctggcccagcc
+ctgacggtgggtaaaatcaacattaaatgacaggcgcaacaagttgtccgggcaggcatc
+gaccaccaggacattttctcccaacatttgtaatgaccaggctaatgcggcggtgatggt
+tgttgtccccacgcctccccgcaccccctgctatcccagtacggccattcaccaatcccc
+tacttttgttgcgcaaactctgccagcaacggccagcgttttaatgccgcggccaactgt
+tcgcgttgggaaatatcggcataatcaatatcaggcagtgaaaatgcctgctttaacgcc
+acaatatcattctggaagatatagcctatcgcgggatcaggcagagtatctggttcattg
+ttattcattttgcttgatccctatgaaataaccgtaccgttcatgagacaattctaaccg
+tgagcatttcgccggtttattgtttacggcgagacgggaatttgctcactttttgacttt
+ccgttacgcaacagaaaaagttaaaaacgaaaagactaaaatcacacgtcttgtgacctt
+ctaaattgattcacatgctaaatctgataagttttaatttcaatggtaggtttatttctt
+agctttcgctagtaaactgataatcagacaaaatggtgacatgagggacattgtggaccc
+tgtattctctatcggtatctcatcattatgggatgagctgcgacatatgccagcaggcgg
+cgtctggtggtttaacgtcgatcgccatgaagatgctatcagtctggcgaatcaaacaat
+tgcatcccaggctgaaaccgcacacgtcgcggtcattagcatggacagcgatccggcgaa
+aatctttcaattagatgattctcaagggccggaaaaaataaaattattttcaatgctaaa
+tcatgaaaaaggtctatactatttgacccgtgatttgcagtgttctattgatccccataa
+ttacctttttattcttgtttgcgcaaataacgcatggcaaaacattcctgccgagcggct
+tcgctcatggttggataaaatgaataaatggagcaggttaaaccattgttcgcttttggt
+aattaatcccggaaataataacgataaacaattttcattgttgcttgaggaataccgttc
+actttttggtcttgccagtttgcgttttcagggtgaccaacatttgctggatattgcctt
+ctggtgcaacgaaaaaggggtcagcgcccgtcagcagcttagcgttcagcaacaaaatgg
+tatctggacattagttcaaagcgaagaggcggagatccaaccacgcagcgacgaaaaacg
+cattctgagtaatgttgctgtactggaaggtgcgccgccgctatcggaacactggcaact
+gttcaacaataacgaagtcctgttcaatgaagcccgtaccgctcaggcggcgacggtggt
+cttttctttacagcaaaatgcgcaaatcgagccactggcccgcagcattcataccctgcg
+tcgccagcgcggtagtgcgatgaaaatcctcgtgcgggaaaataccgctagcctgcgcgc
+caccgatgaacgtttgttattggcctgcggtgcaaatatggttattccgtggaatgcgcc
+actctcccgttgtctgacgatgatcgaaagcgtgcaagggcagaagtttagtcgctatgt
+gccggaagatatcactaccttgctgtcaatgacccagccgctcaaactgcgtggtttcca
+gaagtgggatgtgttctgtaatgccgtcaacaacatgatgaataaccctctattacctgc
+ccacggtaaaggcgttctggttgccctacgtccggtaccgggtatccgcgttgaacaagc
+cctgacgctgtgtcgccctaaccgtaccggcgatatcatgaccattggcggtaatcggct
+ggtgctgtttctctcattctgtcggattaacgatctggataccgcgttgaatcatatttt
+cccattgcctactggcgacattttctcaaaccgtatggtctggtttgaagatgatcaaat
+cagtgccgagctggtgcagatgcgcttgcttgccccagaacaatggggcatgccgctgcc
+tttaacgcaaagttctaaaccggtcatcaatgccgagcacgatggtcgccactggcgacg
+aataccagaacccatgcgactgttagatgatgctgtggagcgctcatcatgatgaccatc
+agcgatatcattgaaattattgtcgtttgcgcactgatatttttcccgctgggctatctg
+gcgcggcactctttgcgacgcattcgcgacaccttacgtttgttctttgctaaacctcgt
+tatgttaaaccggccgggacgttacgccgcacggaaaaagccagggcaaccaaaaaatga
+ctcaatttacgcaaaataccgccatgccttcttccctctggcaatactggcgcggccttt
+ccggctggaacttctattttctggttaagttcggcctgttgtgggcgggatatcttaact
+tccatccgctcctcaatttggtgtttgccgcgtttctgctgatgccccttccgcgctaca
+gcctgcatcgcttgcgccactggattgccctgccgatcggctttgctttgttctggcatg
+acacctggttgcctggcccggaaagcataatgagccagggttcgcaggtggcggggttca
+gtaccgattatttaatcgaccttgtcacacgctttattaactggcagatgattggggcca
+tttttgttttattagtggcctggttattcctgtcacaatggattcgcattaccgtttttg
+tggttgccatactgctatggctgaacgtacttaccctggcgggaccaagtttctccttgt
+ggccagccggacaaccgacgaccactgtaacaacgacgggtggtaacgcagcggcaaccg
+ttgcggcgacgggtggcgcaccggtagtgggtgatatgcccgcacaaactgcaccgccaa
+caacggcgaaccttaacgcctggctgaataatttctataacgcggaggcgaaacgtaaat
+cgaccttcccgtcttcgctgcccgctgatgctcagccatttgaactactggtgattaaca
+tctgttcgctttcctggtcggatatagaagccgccgggttgatgtcgcatccactgtggt
+cgcatttcgatattgagttcaagaactttaactccgccacctcctacagtggcccggcgg
+cgatccgtttactgcgcgccagctgcgggcagacttcgcacactaatctgtatcaaccgg
+caaataacgactgctatctgtttgataacctttcgaaactgggctttacccagcacctga
+tgatgggacataacggccagttcggcggttttttgaaagaagttcgcgaaaatggcggca
+tgcagagcgaattgatggatcaaacaaatctgccggttattttgctgggctttgatggtt
+cgccggtttatgacgataccgctgtgcttaaccgctggctggacgttaccgaaaaagata
+aaaacagccgtagtgccacgttctacaacacgcttccactgcatgacggcaaccattatc
+cgggggtcagcaaaacagcggattacaaagcgcgggcgcagaaattctttgatgaactgg
+acgccttctttactgaacttgagaaatcgggtcgtaaagtgatggtggtcgtggtgccgg
+aacacggcggcgcgctgaagggcgacagaatgcaggtatctggcctacgtgatatcccta
+gcccgtctatcaccgacgtccccgttggggtgaaattcttcggcatgaaggcaccgcatc
+agggggcaccgattgtcatcgaacaaccgagcagcttcctggctatctccgatctggtgg
+ttcgcgttctcgatggcaagattttcaccgaagacaatgttgactggaaaaaactcacca
+gtgggttgccacaaacagcaccggtctccgagaactcaaatgcagtagttattcaatacc
+aggataaaccgtacgttcgcctgaacggcggcgactgggtgccttacccgcagtaagaac
+gaaaaaggccgcagagtttcccccctgcggcctggtccgggcgcaaattgccattacggc
+agcctgacgcccgcatgacacgttacttccgcttgttcagccagttcacgatcatactgg
+caagaatgccagcaatgaccggagccgctaaatcatgccagaaggccatgcccagctctg
+cgaacgtcatatagccgcctgtgttgtaatgacaacgtttcgcggctattcttgagtggt
+ctagagtcaagattagcccccgtggtgttgtcaggtgcatacctgcaacgtgcgggggtt
+ttctctctccagcaaccaatgccaccagggataaagcccccgcaacattgcgcctcaccg
+gaacctttccggcttgccgctgattctacgattgctttttactgtcagcacccggcaatc
+ttcctcattgcgcgatgccttccagcttaatttctttatttgcaatagttgcagttcata
+tccgggctgactccagactggtagtgaaatgcgcaattttgtagaattgcgcctcctcgc
+gacctccccagtgaatctgttgcctcattttttacatactgcgtattcgacttctccacc
+tgttgcgcaagagaaactgggtttattcatttttgcgaggccgacttctttctggacagg
+actttatgcagcacaacacactatcgaaacacaatcagaaattgccgtttacacgctacg
+acttcggctgggttttattatgcataggcatggcgattggtgccggaaccgtgctgatgc
+cagtacaaattggcttgaagggaatttgggtatttattaccgcagcgatcattgcttatc
+ctgccacctgggtagtgcaggacatttatttaaaaaccctttctgaaagcgattcctgta
+atgactacaccgatattatcagtcattacctggggaagaactggggaattttcctcgggg
+ttatctactttttgatgattatccacgggatttttatctactctctctccgtggttttcg
+acagcgcctcgtacctgaaaaccttcggtttaaccgatgccgatctttcacaatctctac
+tttataaagtcgctattttcgccgtactggtggcgattgcgtctggtggtgaacgattac
+tgtttaagatttccgggccaatggtggtggtcaaagtagggattattgtcgtgttcggtt
+ttgcgatgatcccgcactggaatttcgccaatataaccgccttcccgcaagcctccgtct
+ttttccgcgatgtcttgcttaccattccattttgcttcttttctgcagtatttattcagg
+tacttaacccaatgaatattgcctatcgtaaacgggaagcggataaagtactggcaaccc
+ggctcgcgctgcgtacccaccgaattagttatatcacgctcatcgcggtgatcctgtttt
+ttgccttttcgtttaccttctcaattagccacgaagaagccgtttctgcctttgaacaaa
+atatctcagcactggcgctggccgcgcaggtgatccctgggcatatcattcatatcacct
+ctacggtgcttaatatctttgccgtactgaccgcattctttggcatttatctcggtttcc
+acgaggccattaaaggcattattctcaatctgttaagccgaattattgataccaagaaaa
+ttaactcacgcgtgctgactctggcgatctgcgcttttatcgtcattacgttgacgattt
+gggtttcgtttcgtgtatcggtgctggtgttctttcagttgggaagcccgttatatggta
+ttgtgtcgtgcctcattccgtttttcctgatctataaagtcgcacaactggaaaaacttc
+gcggatttaaagcctggctgattctgctgtacggcattttgctatgcttgtcgccactgt
+tgaagctgattgagtaaaccggagcgcatggccccggttttgtgagttaacgctgcggat
+tttcatcctgatcaacagcaaaacaagctaccagttgaccgccgtagtcttttagctgcg
+gctgcaactgggtgcaggggccgaagcgccgacgacagcgggcgttgaaggcgcaacccg
+gcggtggattcagtgggcttggtagttcaccgctgagcttgatgcgctcgcggcgatcgt
+ccgggttcaggcgcggcgtcgcggaaagtagcgcctgagtgtacggatggcgcgggttat
+tgaagatttggtctttcgttcccttctccacgcagcggcccaggtacatcaccatcactt
+catcagcaatgtgctccaccaccgacaggtcgtgggagataaagacataagacagcccca
+actcctgctgcaaatccatcatcagattcagcacctgcgcgcgcactgaaacatccagcg
+cggaaaccggttcatcggcaatcaccacatccgggtcgagcatcagaccacgggcgatgg
+cgatacgctgacgctgaccgccggagaacatatgcggatagcggtcatagtgctcggttt
+tcaggccgactttcgccatcatcgacagggctttttcccgacgctgttctttgcttaagc
+tggtgttgatcagcagcggctcttcaagaatttgcccgacttttttacgcggattcagcg
+aaccgtaagggttctggaagacgatctggattttctgccgacgcagcttctgcgcctgcg
+gatcgtgcttaagcagatcctgcccctggtaatacagctcgccaccggtgggcatttcaa
+tcatcgtcagcaaccgaccgagggtcgatttaccgcagccagattcgcccactactgcca
+gcgttttgccacgttcaaggttaaacgaaacgccatccagcgctttaaccagacgttccg
+gcgcgaacatgcctttcttcaccggataatgttttttcaggtcgatagcctgcaacagcg
+gttgttgcagggtggcctcttgcgtactcatagtgtcggcctcccggcatcatcaagtgg
+gtaatggcatttggactgacgcccgtcagcgagcatattcagcgccggttcttcagcgcg
+acatctgtcagtggcataggggcagcgcgggttaagcaggcagccgttcgggcggtcgta
+cttgccgggaacgacacctggcaacgacgccagacgttctttgtcctgagcaaattctgg
+cagcgcacgcagcaatgcctgagtatacgggtgacgcggcgcatggaagatggcgtgcgc
+atcaccggtttccaccacctggcctgcatacatcacgatgattttatgtgccgcttccgc
+caccagcgccaggtcatgggtaattaacaccagcgccatgttctctttctgctgtagctc
+cagcagtagttcgatgatttgcgcctgaatggtcacgtccagcgcggtggtcggttcatc
+ggcaatcagcagttttggccgacaggcaatcgccatggcgatcatcacgcgctggctcat
+gccgccggaaagctgatgcgggtaaacatccagacgcgatgccggatcgggaataccgac
+ctgattcagcaggtcaatcgctcgctgacggcgggtacttttgttgccgccctgatgcac
+cttaatcgcttccataatctggaaacccacggtgtagcacgggttaaggctggtcatcgg
+gtcctggaagatcatcgccacttcggcacccaccaggttgcggcgctctttttctgagat
+acgctgcaaatcctggccgttaaactccagtttttctgccattacgcggcccggataatc
+aatcagccccataatcgccagtgaactgaccgacttaccggagccggactcacccacaat
+cccgaccacttcgccctgttttacgctgtagctgatgcggtctacggcgcggaacggcgc
+gctttcgtcgccgaaatgcaccgataatttatctacatttaataacgccatctcgaacct
+cttactgcttcagtttgggatcgagcgcgtcacgcagaccgtcacccatcaggttaaatg
+ccagcaccgtcagcaggatcgccagacccgggaaggtcacgacccaccaggcgctttgcg
+cgaactgcaacacgtcggagagcatggtgccccactcaggcgttggcggctgtgccccca
+tgccgaggaaaccaagagcagccatatcgagaatggcgttagagaaaccgagcgacgcct
+gaacaatcagcggcgcaaggcagttcgggaagatgttaataaacatctgacgcatcgccc
+cggcacccgccacgcgagacgcggtgacgtaatcgcggttaacttccaccagcacggcgg
+cgcgggttaagcgcacatagtgcggcaaggcaacgaaggtcagtgccagcgcggcgttac
+caatcgacgggccgaaaattgccaccagcaccagcgccagcagcagacttggcagcgcca
+gcatgatatcgaccacgcgcataatgatgttatcgaccaggccgccaaagtaaccggcga
+tcaggccgagaataacgcccataatcagcgataacacaactaccagacagccaaccagca
+gcgacaggcgcgcaccgtacatcaggcgcgacagcacatcacggcctacgtcatcggtgc
+ccagcaagtgcgccatgctgccgccttcctgccaggctggcggggcgagcagtgcatcgc
+ggaactgttccgccgggttatagggtgcaatccagttggcaaagatcgcgatgaacagca
+cgatgacgacgtaaaccagcccgacgaccgcgcctttgttgcgtttaaaatagtgccaga
+actcctgtaacggggtcatcggcaccggtgcgctaatcactttattttcagtaacctgtg
+acatgatgtccccttacttcttatgacgaatacgcgggttcaccacgccgtacagcagat
+cgaccagcaagttgacgaggataatcatcgtcgccaccagcaatacgccgccctgcacta
+ccggatagtcgcggcgttgcagtgcgtcaatcaaccagcgtcccagaccgggccacgaga
+agatggtttcggtcagaatcgcccccgccagcaatgttcccacctgcaggccgataacgg
+tcaccaccggcagcatcgcgttacgcagcgcatggacgataatcacccgcatgcgggtta
+gccctttggcgcgcgcggtgcggatgtaatcctcgcccagcacttccagcatcgaggagc
+gtgtcatacgcacaatgaccgccagcggaatagtacccagcacaatggcaggcaagatca
+tatgggcgacggcatcgataaagttgccgtcttcaccccagatggcggtgtcgattagca
+taaaaccggttaacggattggagtcatcgaggaacaccatatcgctcacgcgaccggaga
+cgggcgtcaggttccagtgcaccgaaaccagcatgatcagcatcatgccccaccagaaga
+taggcattgaataacctgtcagcgccaggccaaccgctgtgtgatcgaaaatggaaccgc
+gtttaaccgcagccagcacgccgaccggaataccgactgccgtagcaaaaatcatcgcgc
+agacgccaagttccagcgtggcctggaagcgcggcacgaactcttcccaaaccgggatgc
+ggcttttcattgaaatgcctagatcgccatgcataacgccccaaatgtaatggagatact
+gctgccacatcggtttatctaagccgagttcagccagcagctgcgcgtgacgctctgggg
+agatcccacgttcgcccgccatgatcatcaccggatcgcccgggatcatgtggacaaagg
+caaatgtgagaagggtaataccgataaacgtggggatgacgagtcccaaacgtcggagaa
+taaactgcaacataacccggattctctatagtgacccgcagcctggaactgcgtgtctgt
+attgctcacaaatcaattcccgcccttatcggacagggaatgaagtattgctgccggatg
+gcgctgcacgcagaggcacagcgccaccgggtatacagattgttgacaaagtgcgctttg
+tttatgccggatgcggcgttaacgccttatccggcctacaaaatcgtgcaaattcaatac
+attgcagaattttcgtaggcctgataagcggagcgcatcaggcatttttgcctttgccat
+cagtcttgtatggcttttaattattcgatagagacgttttcgaagtgatgtttgcctaat
+ggatcaaccacatagcctttaacttctttacgtaccggttcaaacacggtggagtgagcg
+atgatcagtgccggagcctgatcgtgcatcaccacctgcgcttgtttgtacagttcaacg
+cgtttattgtggtcgtcggtagcacgcgccggttgaatcagatcttcaaacggtttgtag
+caccattttgagtagttggagccttgttcagaggcggcgcagctgaacagggtggcgaag
+aagttatccggatccccgttatcgccagtccagcccatcattaccgtctggtgctcgcca
+tctttcgcacgcttgaggtactcaccccattcgtaggtgacaattttggcctgcacgccg
+actttcgcccagtctgcctgaatcatctccgccatgcggcgagcgttcgggttatacgga
+cgttgtaccggcatcgcccacaggtcgatggagaaacctttttccagacccgcttctttc
+agcaaggctttcgctttttcaggatcgtaggtgtagtcctgaacgtcgtcgttatagccc
+cacatggttggcgggatcaggtttttcgctgatacgcccgcgccctgataaaccgctttg
+atgatcgcgtctttgttcaccgcgtaggtcagagcctggcgaactttcacgtcatcgagt
+ggttttttctgcacgttatacgagagataaccgacgttcagccccggcatttccatcaga
+ttgatggatttatcctgcttcatgcgagcgatatctgccgggttcgggtacggcatcacc
+tggcattcattcttctgcaatttcgcgtaacgcacggaagcgtcaggggtaatagagaaa
+accagcgtatcgatctgcggtttggtgccccagtagccatcaaacgctttgtagcggata
+cgggaatctttttgatactgctgtaactggaacggaccggttccgattgggttgaggtcc
+agtttttccggtgtaccggctttcatcatcgcatcagcatattcttttgacagaatagag
+gcgaagtccattgccaggtcagcgaggaacggcgcttccgggcgagtcagcacaaactga
+acggtgttgtcgtccacctttttcacttcactgatcagctctggcaagcccatgccttcg
+aagtattcgtagctgccgccagaaactttatggtacgggttttgcgcgtttttctgacga
+tcgaacgagaacaccacatcatcggcgttcagttcacgcgtcggtttgaattctttattg
+tcgtgccacttcacacctttacgcagatggaaggtataggttttaccgtcttcgctgact
+tcccacttttcagcgaggcccgggatcacttcggtggtgccgattttaaattcaaccaga
+cggttataaagcgggacggaagaggcgtcataggtggtgccggaggtaaacagctgcggg
+ttaaacccttccggagatccttctgagcaataaaccagagttttagcctgaacacttgct
+gcgacggtcatagccaccaggctgagaccaagcttcagcatccctgactttttcaaggaa
+atacgcattattctgctccaattgtgatgtttgttgttttaaccctttgcagtgggttgt
+cgctgcctgaccttttttgttttttgcccggtcgggtcaacgttatgaggtggggatgcc
+gtactaattaacatcagtgtaacagtgcggatcctccataaaatgcccctcgtgacctac
+aatctgtcaacagaatgtgaaaacgtcaatacagccaaccgggatttacaccaacggtga
+gaatccacacacaaagattaaaaaaacttcaaacagctatttgcagcagagaaatttgtg
+ctactccaacatgaccagaacaatcagcttaatatttagcaacatttggtgattaagttt
+tatgcatttaatgaaaaaaatctgaggaaaaggtggatatctgagcgattaataccatga
+acgctaaaacgcacagcggaaaatgccagggccagccataagtaacgcaaaaaaagattt
+aagcaaatataaaaaaagacaatggtttctgtcacaaatccgttaatggatagtgagata
+tggggcgcaaatttggcagggaaatgtgtgtcgtgtaggtcgaataaggcggtcgcgccg
+catccgacaatggccggcacatttgcctgatgcgacgctgacgcgtcttatcaggcctac
+gtcgagtcgaacctccctgcccccggaggttctcatcctcatgagctgcagatgcaaaaa
+agcctgctcgttgagcaggcttttcgaatttggtcggtgatagaggattactcgccactt
+cgtggctcgccctgcgggccgttgctggcgcaacgttctctcgcttcgctcgagtcgaac
+ctccctgcccccggaggttctcatcctcatgagctgcagatgcaaaaaagcctgctcgtt
+gagcaggcttttcgaatttggtcggtgatagaggattcgaacctccgaccccttcgtccc
+gaacgaagtgcgctaccaggctgcgccaatcaccgaatgcggggcgcatcttactgcgca
+gatacgccctcgtcaatcccttaatagcaaaatgccttttgatcggcgagaaagtcagca
+ggccgcttagttagccgctgcctcttttgcctgcgggatgtgacaccagttgttgttttc
+gttaattccaccatccggtgaagtatagccaagacaacccatgatggtatcgtacagctc
+tacgtgacggcgtggcactttcatgtcggcttcttttttcagctgcgcaaacgcctgcgc
+attggccggattttccagatatttatctgacatccagaccatcatcggtacgcggaactg
+ctccggcggtgccagttcacgcggcgtgccgtgcaggtgctcgcgttcattaattgactc
+accgtggtcagctgcgtagaacacaatcgctttcttatcgcgaacctgatcaatcacgct
+ggagataaagtgatccacataggtcaccgagttgtcataggagttgatcatctgcgcttt
+ggtacagccgctatcaacaccaatacattccggcttccactgcgcgaagctacgcggata
+acgctgggtgtagttaaaatgcgaacctttggtatgcagaatgatcagatgcttaccatc
+cgggttgcgccctagcgattgctgcatttcgtctaccagcaacatatcatctaccggctt
+gccacgattacgtggctccgcaccaatctgctcacgataagcaatgttgtccgccatcgt
+gttgctgtagaaccacatttcgctctgcatagcgtagaggtcagaactgaatcctaactg
+cttcagaaccgcgaaaatgttctgttcttttaatgtgcgctgcggattatcttccgcgcc
+cccctgacgtacaaacatgcaacgcagtgagagtttggttgcggtatcacaggagtaacc
+acggaacgccgccagatttttctcctgggccagtttcggcgtggtattacgctcatagcc
+gaaaatacccatatggtcccaacgcgtggtttcaccgatgataaacacgacataagtgtc
+atcaacgttttgcggtgcctgataagtgaatttcttcgccggattaagcaatgaattatt
+atcggaagattcatcgacccgcgcccaggcatacagccccaacgcagaaagccagtttga
+tggcagataagagttcgctacgacaccgccataactcggcaaatcaacgccggtcgccct
+ctccactttcttctgctggatatccagcaaacgaatcggtgcccaaaccataatacccgc
+cagtacgacgaccgccaggctgcgaatacgctgccctggggttcgcagttgtcggagcaa
+ggtgtagcgacagcggttattccagataaggataagaggcaatgcactaacggcgattaa
+ccagagaataaagttcagaccaacaacttcttttgacaggtcgatatcggtggtcatgac
+ggaagcgatgatgccataaccaatgaccacattaaggaaggtcatgtaatagctggcacc
+tgcggaaaagagcaccaccagcgatgccagaatacgccagctgcggcggccaaacagcga
+aagaagacgtagtaaaaagaaggtcaccagtacggtggcggccagttcaacaacagcaga
+aatgcctttccagacggtaaaatcgtgcgcatagctgccgaagcggcggtaaaaaaccgc
+gccattcataaaaaggccaatatagattgcaagcaaaaagctcagcttctgctgtgtaat
+cgatttgatgtatctcatgcaaacaaaccctggacaaacaggtgataacaccctgcttag
+tggcttttcaggcccggcagggaaaaagtgcggaggtagtcagataagtaaaatctacac
+gcgcgaataagtagaccacagcaaagggaaaaagtgtggggaaagagtgtgcatgaagca
+caaatttacaaaaatgcaagtttgaaaagagactttagcgttacaaaaagcagtaaaaag
+ggccagttaattggcccaaattttacgagtcattgtttatacatttcgttgatgcgtttg
+atgcacacggaagctgaagcccagtagctcgcggctgagcattaaagggagccatgcgcc
+tcacgcaacattttctgctctggctgacgaatcgtcgtagaaagcgccaatgacagaatc
+agcagggcgaaaatcacgtagaaggtcacatagaagccgccaaacagtgaggcgataatc
+gaaccacaaatgctaccgataccgaaaccgagataaatcacaccgtagtttttcgccagg
+ttattgaggccaaagaactcactgaccagtgacggaaagacggtaatagtgccgccaaag
+ttaaatgccacgcaggcaatcgctgcaaagaacgtcactgcattcaatggtgcaaacagc
+agggccgccatacccaccagcgatatcacctgaccaatggtaataacacggatacgggcg
+attttgtcagacagaatacccagcaccagacgacctgaaaggttggcgatggaaataaca
+gtgactgcattggctgcggaaaccacatcaaggtgtgccagactttgggcgatatctttc
+gctaccccaatcacgtacaggccgctcatgcaggcggtcaggaacattaccgctaacatc
+cagtactgcggtttacgcatcgactctgccagcgtgtaatctttctccaccacaccattg
+ctggttttcacttcctgttttggtgcgtctttcattaacgttgcgccgaaaacaatcatc
+aacagcgcaatcgctccccaaatcacaaaggttttttccagaccgaccgtttccagcagc
+tgcgtgtcgataaatttgaaacccaggctacccagaccataagaaccgatagcgaacgcg
+gagatcagacctttacgctccgggaaccacttcacacagttagagagcgtcagcagataa
+cccgcgccatctgccagtcccaccagcacaccggcgcttaaccacagcatcatcaggttg
+tcagaatgcgctgtcaggaagaagcctaatcccagcaaaatgccggaagccatggtgacg
+cgtttaacgccaaaacgttcctgtaatttgcccgcaacagaagacgaaattgccagcccc
+agacttaacaagccgaaagagaaagcgacctggcttaccggcgcatccagcttggcggaa
+agcgcgccattaaacaggctccaggtataaaccgaccccagcgcaaactgggtaatgata
+gtaccgatgagtgtcagccagcgggtacgctgataatttgaaggtgtcatggcagtattc
+ctgcagtaataaaaaggaaaaatctctgccgacaaccataacgaagtgcactttatgcct
+ggggaaaaacggcatgaaatgccatcagaacggaatgaaatgccttagttcaggaatgaa
+tgacgcgacaattattcaccaaatttattatttggtaagttagcacccactatcgccaca
+actattgttatttaatggtttcaattgtgactgttacgttaaaatctggcgctaaccccc
+atcgtatacagatagtcgctattattagtggtattttctgcctgagttagcgcggcatag
+gcggcaatattttgattgagcaacatatcagcgcctacggtgacatccagccagttgccg
+ttctggtttgtcgccgtcatccggctcaggcctgattgcgccttccagatattctcgcca
+aattgctggttatagctgatttgcgcccagggtcggagatcgccaagccgggagtcaaca
+cgccagcctaaggtactcacgctggcatgccataacggatcggtcagcgtggtagtactg
+tcgccaaactcgttatacatcgaggtggttgtgccatcgtaatgtaatgccgcgaccggg
+ccggttgtaacctgttcatataaaggaaaattccagcccatactcatactgctggtcaca
+tccacaggggtttcttccgccagattgacttccagtcccagcgccctttggctactttga
+atacgttgcgacaaaatatcgttgtaatcaggttgatgatcactatcccaggtgtaacgc
+tctgtggaaagtccgggttgcgtatcaacgatatattcttgttgccaggcgtaagctgtg
+ttgagaaaaaaggcactgattaccacgctcgccagcaggcttagctgccagcgaccaccg
+cttttttttatgatcattaacacgactccagggaagagccgaattcggcaatattattgt
+cattgtatgaaggatatcgggcatagtagccctgtattaaatattgactttttcaccgat
+gcgtcaagaaaagcggctgaaatttttacgatcgggtacatagcgagggaaagtatggaa
+cgttgcggctgggtgagtcaggacccgctttatattgcctaccatgataatgagtggggc
+gtgcctgaaactgacagtaaaaaactgttcgaaatgatctgccttgaagggcagcaggct
+ggattatcgtggatcaccgtcctcaaaaaacgcgaaaactatcgcgcctgctttcatcag
+ttcgatccggtgaaggtcgcagcaatgcaggaagaggatgtcgaaagactggtacaggac
+gccgggattatccgccatcgagggaaaattcaggcaattattggtaatgcgcgggcgtac
+ctgcaaatggaacagaacggcgaaccgtttgtcgactttgtctggtcgtttgtaaatcat
+cagccacaggtgacacaagccacaacgttgagcgaaattcccacatctacgtccgcctcc
+gacgccctatctaaggcactgaaaaaacgtggttttaagtttgtcggcaccacaatctgt
+tactcctttatgcaggcatgtgggctggtgaatgatcatgtggttggctgctgttgctat
+ccgggaaataaaccatgattcgggaagcgcaacgttcagaactccccgcgatcctcgaac
+tgtggctggaaagtacaacctgggggcatccctttataaaagcgaattactggcgtgact
+gcattccgctggtgcgggatgcctatcttgccaacgcgcaaaactgggtctgggaagaag
+acggtaagcttctcggttttgtcagcattatggaaggccgatttctggcagcgatgtttg
+tcgcaccgaaggccgtcaggcgcggtattggtaaggcgctgatgcagtatgtgcagcagc
+gccatccccacctgatgctggaggtttatcaaaaaaatcaaccggcgataaatttttacc
+aggcacagggttttcacattgtcgattgcgcatggcaggatgaaacccaactacccacat
+ggattatgagctggccggtggttcaaacgctgtaagtgtcagttccggaccgttgtattt
+ttccagccatgccagcgccgtattacccgcacagccattccccagccgcgagctggggag
+atctttggtcagcacgttcactgcgccgtttttacaaataccgtcagcggttaaatccag
+atccggccatgccccttcgtgaatgcaaatcacgccaggtttaattccctcgctaatgac
+cgctccggcaagaatttgcccgcgtgcgttccacaaccgaacagtatcgccatcttgtat
+gccgcgctcctgggcatcgtcaggatgaatggtgacaggctcacgatttgccaccgcgta
+caattcgcgcagagaactgtaattcagctggctgtgcaggcggtgcgccggatgggcaga
+aagtacctgcaactgttctggttcggcattgccctgccattcgtccggctccagccacat
+tggatgcccagggcaatccgggtaaccgtaatcggcaatacgctgtgagaagatttcaat
+cttgccgctggcggtttttaacggatgcgccagcggatcgcggcaaaaatcagcgaagcg
+aataaaccgctcgctgtccgggttttccggcatctcaattaactggttggcttgccagaa
+ctcagcaaatggcggcaattcaacctgctggcttgccccgcgctgtcgggcaacgttata
+aaacgtttccagccattgcagctcactttttccttccgtaaaacgtgcataaccgccctt
+ctcccagcgttcacttaactcggcaaaaacatcaaaatcattacgcgcttcatagcgtgg
+cggcaccacttgcttcatcggcaccagatgctgattactgtaatcaccggtcatggtgag
+atcattacgctcaaaagaggtagtcgcaggcagaacgatatccgcgtgttttgccgccgc
+cgtccagaagcattcagagatcaccaccagctccggtttttgccaggcacggatcaggcg
+attggtatcctgatgatgagtaaagttggcaccgcccgcccaccagataaaacgaatatc
+cgggaaatgtcggttcataccgttgtgttgatatgcgccaccagggttttccagtgcttc
+aacaatgcgggcaacagggattttatccaccgcatcgcagccacccggcaagctgccctg
+catggaagagagcaccgcagaacgccgcgtggggttaccaccattggcaaaatggtaaga
+aagaccaaaaccgccgccgggtgtgccgatttgccccaacattgctgccagcgtgacgat
+catccagtgtttttgctcaccaaactgttggcgctgcattccccagcctgccatcagcat
+ggtggtattttggtggaaaatagccgccagctcgcggattttcgctgcgccaacaccaca
+aatctctgctgcccattcggcggttttcgctattccgtcactctcgcccagcaaataaga
+ggcgaagacggcataacctgtggtgcaacgcgccagaaacgcttcgtcgtgccaaccatt
+ttccaccagcgtatgggcgatccccagcatcagcgcaacatcggtgcccatgtgcggtgc
+cacccactccattttatcgccaaagaaatcgacggtttccgatcgcattggatcaatgca
+gatcagctttttcccgctgtcacgcagtgcagaaaagtaagaaagcccctgctcatcgga
+tgcattccacgcaattttcagcgtattgagtgggttagcactccacagcaccacgacatc
+gctatgttccagcaccagcggccaactggtctgctgttgataaacttcactaccacccac
+gacatacggcatgatcgcctgtgccgcgccggtcgaataatcccccagatgcccggtata
+accgcctgccagcgccatatagcgttgtaataatgtcgaggccttatgcagcacgccgtt
+tgaacgccagccgtaggaaccagcaaaaatcgatgccggaccataagcctcacgaatgcg
+tttatgttgttggtgaataagatccagcgcctcatcccaactcacgcgaacaaattcatc
+ctgcccacgaatgccttgcgggttttccggtgacgcaagaaagccttttcgcaccattgg
+aaatcgtacccgcgtattgctgtgaacctggtcgcgaaccgcgctctgcaaggagttttc
+cattcctgtggctaacgcgccacgcgagctaaacacggtttcgccgtcggtttcaaccag
+catgggcccccaatgggcggcagtcagaacggaatatcgtgaggatgagttggccaaacc
+gaagactcctgaaaggttagatgtattgagcagttaaatattacttacaaatttccgagt
+attcccaggaataatcttcatgttcacgcggcataatctcccgccacggaacccgtggca
+aagaataaaaaggttattaaggattaacaatgaagaaacgtgtttatcttattgccgccg
+tagtgagtggcgctctggcggtatctggctgcacaactaacccttacaccggcgaacgcg
+aagcaggtaaatctgctatcggcgcaggtctgggctctctcgtgggcgcgggtattggtg
+cgctctcttcttcgaagaaagatcgcggtaaaggcgcgctgattggcgcagcagcaggcg
+cagctctgggcggcggcgttggttattacatggatgtgcaggaagcgaagctgcgcgaca
+aaatgcgcggcactggtgttagcgtaacccgcagcggggataacattatcctcaatatgc
+cgaacaatgtgaccttcgacagcagcagcgcgaccctgaaaccggcgggcgctaacaccc
+tgaccggcgtggcaatggtactgaaagagtatccgaaaacggcggttaacgtgattggtt
+ataccgacagcacgggtggtcacgacctgaacatgcgtctctcccagcaacgtgcggatt
+ccgttgccagcgcgttgatcacccagggcgtggacgccagccgcatccgtactcagggcc
+ttggcccggctaacccaatcgccagcaacagcaccgcagaaggtaaggcgcaaaaccgcc
+gtgtagaaattaccttaagcccgctgtaatccctttcatgccaggtgatgcagaaatcac
+ctggcattcttcagttttccttcatcatatttcaggctaaggtgatcgccttatcagtga
+atggagagaagcatgaagccgtccgttatcctctacaaagccttacctgatgatttactg
+caacgcctgcaagagcatttcaccgttcaccaggtggcaaacctcagcccacaaaccgtc
+gaacaaaatgcagcaatttttgccgaagctgaaggtttactgggttcaaacgagaatgta
+aatgccgcattgctggaaaaaatgccgaaactgcgtgccacatcaacgatctccgtcggc
+tatgacaattttgatgtcgatgcgcttaccgcccgaaaaattctgctgatgcacacgcca
+accgtattaacagaaaccgtcgccgatacgctgatggcgctggtgttgtctaccgctcgt
+cgggttgtggaggtagcagaacgggtaaaagcaggcgaatggaccgcgagcataggcccg
+gactggtacggcactgacgttcaccataaaacactgggcattgtcgggatgggacggatc
+ggcatggcgctggcacaacgtgcgcactttggcttcaacatgcccatcctctataacgcg
+cgccgccaccataaagaagcagaagaacgcttcaacgcccgctactgcgatttggatact
+ctgttacaagagtcagatttcgtttgcctgatcctgccgttaactgatgagacgcatcat
+ctgtttggcgcagaacaattcgccaaaatgaaatcctccgccattttcattaatgccgga
+cgtggcccggtggttgacgaaaatgcactgatcgcagcattgcagaaaggcgaaattcac
+gctgccgggctggatgtcttcgaacaagagccactgtccgtagattcgccgttgctctca
+atggccaacgtcgtcgcagtaccgcatattggatctgccacccatgagacgcgttatggc
+atggccgcctgtgccgtggataatttgattgatgcgttacaaggaaaggttgagaagaac
+tgtgtgaatccgcacgtcgcggactaagccgcgactgcgtagagtaaagcccgataatcg
+ctcgggcttttactctttattgggttgcagtaactgctgtagtccaggcctgattaaacg
+cctgatgctgtgccggtaatggcgcaatcagtttgttatattcacttgcctgctgtgaag
+tcgggaactggatgccatttgcgacaaagctcacctgagtaccttgctgagcaatgtagt
+ctccaaccatcaccagttgttgcgtgaaagtttgtgccgccggaatcaacggttgcaatg
+catcagctggcgtcgttaccactttggtgaatgcctgatcaaagaccggtttcaaatcat
+cgctctgttttagcgcagagtgcgcagcatcggcctgcaacttcgcattttgcagttgtt
+gcgccagcacacccagcgaaccgttcatttcacgcagcggaccgctttgcgtaacgtaat
+cctgcggtacgcgaattgcgttaacgctgtctacaaccgggcgcagaccggaatccatcg
+cctgattcacctgctgagaataaccatacagaatcgcgtaatcagagacaaaaggaccaa
+actgttttttctgatcggcagtcagggttggtagacgttcaccgctacgcatcactgtat
+tctgcaggaagtcgataaacgctttacgctgatcgccttctttatcaaaacacccactca
+ggctaactaccattaataacgccgcaagaggcgcaaaccagcgagagcaggactttcctg
+tcgccattttcttactcctttcacccaaaaaaagcgcacaacgacacacgcgtgtctgac
+gtgacaaggatagtccaggacaggcttgcaggataccctttctacgtaatcttcctggta
+aaatcatggagaaaatgaaacaaggttaatttgttgtttcattgttaaaaaatgatagtg
+ccgttgccttttttgtagccagagatttacgccttcgcagaaggttagattttcgaaatc
+tttacaaaacaggagtggtaagagatatatcggcatttatcagatcgttaggtggctata
+agtcacgctaaatgacaggctgaatcgaatcatagccagagcatgccctgacttcacccc
+gctgtgtctgcttttcccgactattcttaatgagcttcgatgcaattcacgatcccgcag
+tgtgatttgaggagttttcaatggaatataaagatccaatgcatgagctgttgagcagcc
+tggaacagattgtttttaaagatgaaacgcagaaaattaccctgacgcacagaacaacgt
+cctgtaccgaaattgagcagttacgaaaagggacaggattaaaaatcgatgatttcgccc
+gggttttgggcgtatcagtcgccatggtaaaggaatgggaatccagacgcgtgaagcctt
+caagtgccgaactaaaattgatgcgtttgattcaagccaacccggcattaagtaagcagt
+tgatggaatagacttttatccactttattgctgtttacggtcctgatgacaggaccgttt
+tccaaccgattaatcataaatatgaaaaataattgttgcatcacccgccaatgcgtggct
+taatgcacatcaacggtttgacgtacagaccattaaagcagtgtagtaaggcaagtccct
+tcaagagttatcgttgatacccctcgtagtgcacattcctttaacgcttcaaaatctgta
+aagcacgccatatcgccgaaaggcacacttaattattaaaggtaatacactatgtccggt
+aaaatgactggtatcgtaaaatggttcaacgctgacaaaggcttcggcttcatcactcct
+gacgatggctctaaagatgtgttcgtacacttctctgctatccagaacgatggttacaaa
+tctctggacgaaggtcagaaagtgtccttcaccatcgaaagcggcgctaaaggcccggca
+gctggtaacgtaaccagcctgtaatctctgcttaaaagcacagaatctaagatccctgcc
+atttggcggggatttttttatttgttttcaggaaataaataatcgatcgcgtaataaaat
+ctattattatttttgtgaagaataaatttgggtgcaatgagaatgcgcaacgccgtaagt
+aaggcgggaataatttcccgccgaagactcttactctttcaatttgcaggctaaaaacgc
+cgccagctcataactctcctgtttaatatgcaattcacacagtgaatctcttatcatcca
+ggtgaaaaataaaagcgtgaaacaaatcactattaaagaaagtaatctatatttctgcgg
+cattcccagcctcctgtgttgatttccaacgagtatgtactgcacccattttgttggacg
+atgaaatggaatagcccctaatatgtcaaagccaaaatacccttttgaaaagcgccttga
+agtcgtgaatcactacttcacaactgatgatggttacaggatcatctcggcacgttttgg
+tgtcccccgaacccaggtcaggacatgggttgccctctatgaaaaacatggagaaaaagg
+tttaattcccaaacctaaaggcgttagtgctgatccagagttgcgtattaaggtcgtgaa
+agctgtgatcgagcagcacatgtcccttaatcaggctgctgctcactttatgcttgctgg
+tagtggttctgtagccaggtggctgaaggtctatgaagagcgcggagaagctggtttacg
+cgcgctcaagattggcaccaaaagaaacattgcaatatcagttgatccagaaaaagcggc
+atcagcattggagctgtcaaaagaccgacgcattgaggatcttgaaaggcaagttcgatt
+tcttgaaacgcggcttatgtatctaaaaaagctgaaagccttagctcatcccacgaaaaa
+gtgaaagtactcaacgagctaaggcagttttatcctcttgatgagcttctcagggctgcg
+gagataccgcgcagtacgttttattatcatctaaaggctctcagcaagcctgacaagtat
+gcggacgttaaaaagcgtattagtgagatttatcacgagaatagaggccgatacggatac
+cgtagggtaacgctgtctcttcatcgagaagggaaacagattaaccataaagctgttcag
+cgcctgatgggaaccctctcacttaaagcagcgattaaggtcaagcgataccgctcttac
+agaggagaggtagggcaaaccgcccctaatgttctccaaagagatttcaaggctacgcgg
+ccaaacgagaagtgggttaccgatgttactgaatttgcagtcaatgggcgcaagctgtat
+ttgtctccagtaatagatctcttcaacaacgaagttatttcttacagcctttcggaaaga
+ccagtgatgaacatggttgagaatatgctcgatcaggcattcaaaaagcttaatcctcac
+gagcatcctgttctgcactctgaccagggatggcagtatcgtatgagaagatatcaaaat
+atccttaaagaacatggtattaaacaaagcatgtccagaaaaggcaattgtctggataat
+gctgtggtggagtgtttctttggaaccttaaagtcggagtgtttttatcttgatgagttc
+agtaatataagcgaactgaaggatgctgttacggaatatattgaatactacaacagcaga
+agaattagcctgaaattaaaaggtctgactccaattgaatatcggaatcagacctatatg
+cctcgtgtttaactgtccaactttttggggtcagtacaaactttgatttatagtcaggtg
+gggcttttctctgtctgcctttcggtgaatacctgagacaaacagtctcaagcacccgtg
+gctattctagcttaataagtttgtttcttctccttgatataatcctaaaaaaatctcata
+aaattaatatatgagataatctttattcagcagaagattattaaaggttgctgtattatt
+tagcgataaaaaaagcctgccagatggcaggctatttaataacggcgttattattgcaac
+agcgaaatatccgcaacgcgcaggaacagttcgcgcagtttctccagcatggtcagacgg
+ttgatacgcaattctttgtcatcaaccatgaccatcactttatcgaagaaagcatcaacc
+ggttcacgcagctcagccagttcgaccagcgcatcctggtaacgaccttccgtaaagtac
+ggctccagcttgtcacgtagcaccacaacctgcatcgccagtttaatttcttccggctct
+ttcagggtagaggcattcacgcggtcgctcagcacttcgtcagatttcgccagaatgtta
+gatacacgtttgttcgccgccgccagtgcagcagctgcatccagggtacggaaatgcgat
+accgctttcatacgggcatcgaaatcagccggacgagtcggacgacgcgccagtaccgcc
+tggatggtgtcaacggtataaccttcgtcctgataccaggcgcggaagcgaccgagcata
+aagtcgataacatcatcaactacgttggcattagtcagcttatcgccatacagacgcacc
+gcttcttcggtcagcgtttgcagatcaaggttgaggttcttctcaacgataattcgcagc
+acgccaagcgcggcacgacgcagcgcaaacgggtctttgtcgcctttcggatgctgaccg
+ataccgaagatacccgccagggtatccatcttgtcagcaatcgccagcgcacaagctact
+gggttggacggcaggtcatcaccagcaaaacgcggctgatactgctcattcagcgccacc
+gcgacatcttccgcttcgccatcgtgacgcgcatagtgcatccccataacgccctgggtg
+tcggtgaactcgaagaccatgttggtcatcaggtcgcacttagacagcagacccgcacgg
+gtagcgtggttaacgtcagcgccaatctgttcagcaatccagccagccagcgcctggatg
+cggtcagttttgtcgcgcagcgtccccaactgttgctggaacaacacggtttgcaggcgc
+ggcaggttatcttcaagacgttttttacggtcggtgttgaagaagaactcggcatccgcc
+agacgcggacgaacgactttctcgttaccggagataatctgctgcggatctttcgattcg
+atgttggcaacgaagataaagttcggcagcagtttgccgtcgttcgcatacaccgggaag
+tatttctggtcacctttcatggtgtaaaccagcgcttcagccggcaccgcgaggaatttc
+tcttcgaattttgcggtcagaacgaccggccactccaccagcgaagccacttcttccagc
+aggctttcgcttaagtcagcgttaccgccaatcttacgcgctgcttcttcggcatcggct
+ttaatcttcgccttacgttcttcgtaatcggcgatgactttcccacgctcacgcagaatt
+tccggatactgatcggcgttatcgatggtgaattccggctcgcccataaagcggtggccg
+cgaatcacgcgatcggactgaatgcccagaatggttgccggaatgactttgtcgcccagc
+agcagggtcacggtgtgcaccggacgcacgaagtgcacgtcgcttgcgccccaacgcatc
+agtttcgggatcggcagtttcgccagagaagtcgcaaccatattcggcagcagtgcttcg
+gtgctttcgcccttcacatgggcgcgatacagcagccattcgcctttatcggtagtcaga
+cgctcagcctggtcaacggtaataccgcaaccacgcgcccaaccttctgccgctttgctc
+ggtttgccttcagcgtcgaacgcctgggcaatcgccgggccgcgtttttcgatttcacga
+tccggttgcgcttccgccaggttagctactttcagcgccagacgacgcggagcagcaaac
+cattgaacggtgccgtgtgcgaggccagcgttatccagctccgcagtaaagttcgcagca
+aaggactcagccaggctgcgcagtgcttttggtggcagctcttcagtgccgatttccacc
+agaaaagttttctcagacatagccgcctcttacttatctttgttgcacatcgggaagccg
+agggcttcacgggaagcgtagtatgcttctgccactgctttggtcagggtgcgaatgcgc
+agaatgtagcgctgacgctcggtgacggagatggctttacgcgcatccagcaggttgaag
+ctgtgggcggctttcagaatacgctcgtaggctggcagcggcagcggattttccagcgcc
+agcagctgctgcgcttctttctcgtactgctcgaagcaggtgaacaggaagtccacatcc
+gcgtattcgaagttgtaagtggactgctccacttcgttctgatggaacacgtcgccgtag
+gtggttttacccagcgggccgtcgctccagaccaggtcgtaaacgctgtctacgccctga
+atgtacatggccagacgttccagaccgtaggtgatctcgccggtaaccggtttacactcc
+agaccaccaacctgctggaagtaagtgaactgcgtcacttccatgccgttcagccacact
+tcccagcccagtccccaggcacccagcgtcgggttttcccagttatcttccacgaaacgg
+atgtcgtgaatagtcgggtccatgcccagctctttcagagaaccgaggtacagctcctga
+atattgtccggcgatggcttaatgaccacctggaactgatagtagtgctgtaaacggttg
+gggttttcgccgtagcgaccatcggtcgggcgacgagaaggctgaacataagcagccgcc
+atcggttctggccccagctcgcgcagacaggtcattgggtgagaggttcccgcgccgact
+tccatgtccaatggttgaacaatggtgcagccctggcgagcccagtaatcctgtaaggtc
+aggatcaagccctggaaggtcctggtatcaaacttttgcatattatttcgtgctggatac
+gtgtggatttaaaggaagggatcagtatacccgctggatggaagatatacagtacgaaac
+gggaaaaagcagggcttaacgcatggaaagatgcaaaaaatggccatccgcgtcaaaaga
+acagacaaactgctctttacggaaggtataaccgcgcatttcatagcttccctggaactg
+ttcgaaggcggtgacgtcgattttttgctcgccggtgttataacgttttgccgcctgatc
+cttgcataacgcttccatattcaacgaacgcagaggatcaacctttacccgttgtgcttt
+ctgcacgggtgacggtatagaacaacccactagcaccataagcgccattgccggaaagaa
+agcgttcatcatcattaaattaccgtctggtttgcaggtgagtcttattatttatatcgg
+tatagtggctgatatcttacgaatttccttaagcctctataagctgtagtgataaaactc
+agattattccagtgcgccaaccaaatgatttatcggtcagactttttttaaccagataca
+gagacacagatgcagcccaaaatttactggattgataacctgcgagggatagcgtgttta
+atggtggtgatgattcacaccactacctggtatgtgaccaatgctcatagtgttagcccc
+gtcacatgggatatcgccaatgttctgaattctgcctctcgtgtcagcgtgccgctattt
+ttcatgatttccggctatctcttttttggcgaacgcagcgcccagccgcgccatttcttg
+cgtatcggcttatgtctgattttttatagcgcaatcgcactgctctacattgcgctgttt
+acctccatcaatatggagttagcgctgaaaaacctgctgcaaaagccagtgttttaccac
+ttgtggtttttcttcgcgattgcggtgatttatctggtttcaccgctgattcaggtgaag
+aacgtcggcggaaaaatgttgctggtgctaatggcggtgattggcattatcgctaaccca
+aacacagtgccgcagaaaattgacggttttgaatggctgccaattaacttatatatcaat
+ggcgatactttttactacattctgtatggcatgttgggccgcgctatagggatgatggac
+acacagcataaagcactgtcgtgggtgagcgccgcgctgtttgcgacgggggtttttatt
+atctctcgcgggacattatatgaattgcagtggcgcggaaattttgccgatacctggtat
+ctttactgtgggccgatggtttttatctgcgcaatcgcgctattgactctggttaaaaac
+acgctggatacgcgtaccattcgcggacttggcttaatctcccgccattcattgggtata
+tacggattccacgccttgattatccatgcgctgcgcacccggggaattgagcttaaaaat
+tggccaatactggatattatttggatcttttgcgcgacgttggcagcgagtttgttactt
+tctatgctggtacaacgaatcgacagaaacagattagtgagttaagtaaaagcccggtca
+cattggactgaccgggcttacgtgagttattcgctgtattcttcctgggtaacctgtgtt
+tcttttggtgggtttattccggcatcacgaatatttttctgcaccgctactgcaccaaac
+aagcttaagaagaaagccagtccataaaaacctttttcgctgagtaataatgtcgcattc
+cacagacctaccatcagtaatgcaacagagataataaagacagtcaggcaggtcatataa
+taaatggaagtggtcggtatgccttcatacttgtcccgaacggtcttttgataagacgcc
+gcagaaaacagtcctaataccagtacggcaaaataatatcctttttcatttaactgcatc
+tctgcattccatagccctaacagataggtaacgataccaccaacgagagctatccatgac
+acaatactaaaggccggtgaataggttgatattttgttgtccatcacagtattcctttca
+ttcctgaatatgtaagagctttatgttgctcatgccgagcgaaacaaacgcatttgacca
+aacaagcagacaaaaaaggcgatgggatagatcaccatttcataagtattgataggtgcg
+tttaaaacaccgataaacaagagaccgatagtgattaacgcaactaactggcagatatgg
+gtaaaaaaatcatccagttgcccgagtttttctgcgcgaagatatgcatagttgccaaaa
+gttgctgtcattaacacgccaagaaaatagccttttccacttaacaatgggcatgagatc
+catagcccaaccagataaaccagcgccccgacaacaaataatagttttgccacagtcttt
+gaggttttcataacgatctccatatctaccagcgatacattacgagtaaccaacgaaaga
+caaaactgaaaaatgccattaacaaatgattttcagaataaattcatactaaatattaat
+taattactgagatatatagatgtgaattatcccccacccggtcaggcaggggataacgtt
+tacgccattaatggcagaagttgctgatagaggcgacggaacgtttctcgtcgtggctga
+taagcggcataacgctgcgcatctggtagatgcgactgttctaacggtagttgcggcaac
+aattcaatgagcgatttctctggattcgccgcgatctgcgccagccttgctgcgcccagt
+gctggccccacatccccccccgtacggtaatcgagctgctgaccgctgatatccgccagc
+atctgacgccagtactcactacgcgccccgcccccaatcaacgtaacactttgcggttta
+ataccgcaggcatgcacgacatccatgccatctgccagcgcataacccacgccttccagc
+actgctcgcgccagttcattggggccatgttgatgagtcaaaccaaagaaaacccccttc
+gcctggggattattgtgtggcgtacgctcgccggaaagataaggcagaaaccaaactggc
+tcggcactttcatcagcctgttgagctgcagcgattaaagctgggacattgctcaggccg
+gttaatttcgcggcccaatccagacacgacgctgcactcagcatcacagacattaaatgc
+caacgttgcggtagcgcatggcaaaagctatgtacggcgctttctggcttgcttaagaac
+ccttcgctgacagcaaaatagacccccgacgtccccagcgataacattgcctgattagca
+tcaaccattcccacaccaactgcaccagctgcattgtcgccaccgcctgcgacaactggc
+accgtcgccataccccacgctttcgcaacttcaggtaacaaagcaccagtaatttcgctg
+ccttcgtataatgcgggcatctggtcacgagataagtcgcaagcctgcagcatgacgtca
+ctccagtcacgctttgcgacatccagccacatggtgccagctgcgtcagacatatcgctg
+gcaaactcccccgtcatacgcagacgcaagtaatctttcggtaataatactttgtcgatt
+tgacggaatatctccggctcatgccgctgaacccatagcaatttaggcgcagtaaatccg
+ggcatcatcaggttgccggtaatcacccgcgattgcggaactcgcgcttccagcaaagtg
+cactcttgcgcacagcgcccgtcgttccacaaaatggcagggcgtaacacccgttgctga
+gcatccagcaaggttgctccgtgcatctggccggcaatacccaatgctttaacgtcctgc
+agagaatgctgatcgcccagagctttcattgcgcgatcagttgcctgccaccactgttcc
+gggtcttgttccgaccagagtggatgcgggcgcgaaacggtcagcttttccgtttgcgca
+gcaaccacctcaccctgctcgttgagcaaaataacttttacgcccgaggtgccaagatct
+atcccgatatacatatcgatcgttccttaaaaaaatgcccggtatcgctaccgataaccg
+ggccaacggactgcacagttagccgttatttgtcgaacagataatggtttaccagatttt
+ccagttgttcctggcgaccactctgatgcaccggagacaaatgatgttcctgagcatatt
+tggctaaatctgccagtgacatttggcctttcaggatttgctggcccaattcgctattcc
+agccggaataacgctgcgcgatgcgtttatccagctcgccatcttcaatcatgcgcgctg
+caattttcagcgccagtgccatcgtatccatcgcgccgatatgaccgtaaaacagatcat
+atttatcagtactttgacgacgtactttggcatcgaagttcagaccaccggtggtgaaac
+cgcctgctttgagaatttcatacatcaccagcgcattctcttccacactgttcgggaact
+ggtcggtgtcccagcccagttgcgcatcgccacggttggcgtcgacagaaccgaacaggc
+caagcgcaatggcggtggctatttcatgatggaaagagtgacctgccagcgtcgcgtggt
+tagcttcaatgttcagtttaatctctttttccagaccaaactgtttcaggaagccataga
+ccgtcgcggcatcgtaatcatattgatgtttggtcggttcttgcggtttcggttcgataa
+gcaacgtgccctggaaaccgattttatgtttatgctcaaccaccatctgcataaagcggc
+ccagttgttcacgctcctgacgcaagtcggtatttaacagcgtttcgtaaccttcacgac
+cgccccacaggacatagttttcaccgcccaatttatgggttgcttccatcgctgtaacaa
+cttgcgttgccgcccagctgaagacttcaggatctgggttcgtcgccgcacccgcgccgt
+agcgagggtttgtaaagcagttggccgttccccacagcagcttcacgccgctctcttctt
+gcttgcctgccaggacatcaaccatttgcgcaaaattattgatgtactcttttaacgacg
+cgccctcaggggaaacatccacatcgtggaagcaataaaatggcacatgtaacttgtgga
+aaaactcaaatgcgacatctgctttacgcttcgccaacgccagtgcctcaccaggctgct
+gccacggacgattaaacgcccccacaccaaacatatccgccccgttccagcagaaggtgt
+gccagtagcaggcggcaaaacgcaagtgctcttccatacgcttacccaacaccagttcgt
+cgggattgtagtgacggaatgctaacgggtttgaggattttgagccttcataacgaacgc
+gatcgagctggtcaaaataggcttgcatattgaactccataatcaggtaatgccgcgggt
+gatggatgatgtcgtaatattgggcactccctttcagttgctcaattatgttatttcaca
+ctgctattgagataattcacaagtgtgcgctcgctcgcaaaataaaatggaatgatgaaa
+ctgggtaattcctcgaagagaaaaatgcaataagtacaattgcgcaacaaaagtaagatc
+tcggtcataaatcaagaaataaaccaaaaatcgtaatcgaaagataaaaatctgtaattg
+ttttcccctgtttagttgctaaaaattggttacgtttatcgcggtgattgttacttatta
+aaactgtcctctaactacagaaggccctacaccatgaaaataaagaacattctactcacc
+ctttgcacctcactcctgcttaccaacgttgctgcacacgccaaagaagtcaaaataggt
+atggcgattgatgatctccgtcttgaacgctggcaaaaagatcgagatatctttgtgaaa
+aaggcagaatctctcggcgcgaaagtatttgtacagtctgcaaatggcaatgaagaaaca
+caaatgtcgcagattgaaaacatgataaaccggggtgtcgatgttcttgtcattattccg
+tataacggtcaggtattaagtaacgttgtaaaagaagccaaacaagaaggcattaaagta
+ttagcttacgaccgtatgattaacgatgcggatatcgatttttatatttctttcgataac
+gaaaaagtcggtgaactgcaggcaaaagccctggtcgatattgttccgcaaggtaattac
+ttcctgatgggcggctcgccggtagataacaacgccaagctgttccgcgccggacaaatg
+aaagtgttaaaaccttacgttgattccggaaaaattaaagtcgttggtgaccaatgggtt
+gatggctggttaccggaaaacgcattgaaaattatggaaaacgcgctaaccgccaataat
+aacaaaattgatgctgtagttgcctcaaacgatgccaccgcaggtggggcaattcaggca
+ttaagcgcgcaaggtttatcagggaaagtagcaatctccggccaggatgcggatctcgca
+ggtattaaacgtattgctgccggtacgcaaactatgacggtgtataaacctattacgttg
+ttggcaaatactgccgcagaaattgccgttgagttgggcaatggtcaggaaccaaaagca
+gataccacactgaataatggcctgaaagatgtcccctcccgcctcctgacaccgatcgat
+gtgaataaaaacaacatcaaagatacggtaattaaagacggattccacaaagagagcgag
+ctgtaagcgttacgccccagcgcggagcgggggcgtgatttctctccatgccgcgtgaat
+gaattggcttaggtggagtcgttatgccttatctacttgaaatgaagaacattaccaaaa
+ccttcggcagtgtgaaggcgattgataacgtctgcttgcggttgaatgctggcgaaatcg
+tctcactttgtggggaaaatgggtctggtaaatcaacgctgatgaaagtgctgtgtggta
+tttatccccatggctcctacgaaggcgaaattatttttgcgggagaagagattcaggcga
+gtcacatccgcgataccgaacgcaaaggtatcgccatcattcatcaggaattggccctgg
+tgaaagaattgaccgtgctggaaaatatcttcctgggtaacgaaataacccacaatggca
+ttatggattatgacctgatgacgctacgctgtcagaagctgctcgcacaggtcagtttat
+ccatttcacctgatacccgcgttggcgatttagggcttgggcaacaacaactggttgaaa
+ttgccaaggcacttaataaacaggtgcgcttgttaattctcgatgaaccgacagcctcat
+taactgagcaggaaacgtcgattttactggatattattcgcgatctacaacagcacggta
+tcgcctgtatttatatttcgcacaaactcaacgaagtcaaagcgatttccgatacgattt
+gcgttattcgcgacggacagcacattggtacgcgtgatgctgccggaatgagtgaagacg
+atattatcaccatgatggtcgggcgagagttaaccgcgctttaccctaatgaaccacata
+ccaccggagatgaaatattacgtattgaacatctgacggcatggcatccggttaatcgtc
+atattaaacgagttaatgatgtctcgttttccctgaaacgtggcgaaatattgggtattg
+ccggactcgttggtgccggacgtaccgagaccattcagtgcctgtttggtgtgtggcccg
+gacaatgggaaggaaaaatttatattgatggcaaacaggtagatattcgtaactgtcagc
+aagccatcgcccaggggattgcgatggtccccgaagacagaaagcgcgacggcatcgttc
+cggtaatggcggttggtaaaaatattaccctcgccgcactcaataaatttaccggtggca
+ttagccagcttgatgacgcggcagagcaaaaatgtattctggaatcaatccagcaactca
+aagttaaaacgtcgtcccccgaccttgctattggacgtttgagcggcggcaatcagcaaa
+aagcgatcctcgctcgctgtctgttacttaacccgcgcattctcattcttgatgaaccca
+ccaggggtatcgatattggcgcgaaatacgagatctacaaattaattaaccaactcgtcc
+agcagggtattgccgttattgtcatctcttccgaattacctgaagtgctcggccttagcg
+atcgtgtactggtgatgcatgaagggaaactaaaagccaacctgataaatcataacctga
+ctcaggagcaggtgatggaagccgcattgaggagcgaacatcatgtcgaaaagcaatccg
+tctgaagtgaaattggccgtaccgacatccggtggcttctccgggctgaaatcactgaat
+ttgcaggtcttcgtgatgattgcagctatcatcgcaatcatgctgttctttacctggacc
+accgatggtgcctacttaagcgcccgtaacgtctccaacctgttacgccagaccgcgatt
+accggcatcctcgcggtaggaatggtgttcgtcataatttctgctgaaatcgacctttcc
+gtcggctcaatgatggggctgttaggtggcgtcgcggcgatttgtgacgtctggttaggc
+tggcctttgccacttaccatcattgtgacgctggttctgggactgcttctcggtgcctgg
+aacggatggtgggtcgcgtaccgtaaagtcccttcatttattgtcaccctcgcgggcatg
+ttggcatttcgcggcatactcattggcatcaccaacggcacgactgtatcccccaccagc
+gccgcgatgtcacaaattgggcaaagctatctccccgccagtaccggcttcatcattggc
+gcgcttggcttaatggcttttgttggttggcaatggcgcggaagaatgcgccgtcaggct
+ttgggtttacagtctccggcctctaccgcagtagtcggtcgccaggctttaaccgctatc
+atcgtattaggcgcaatctggctgttgaatgattaccgtggcgttcccactcctgttctg
+ctgctgacgttgctgttactcggcggaatgtttatggcaacgcggacggcatttggacga
+cgcatttatgccatcggcggcaatctggaagcagcacgtctctccgggattaacgttgaa
+cgcaccaaacttgccgtgttcgcgattaacggattaatggtagccatcgccggattaatc
+cttagttctcgacttggcgctggttcaccttctgcgggaaatatcgccgaactggacgca
+attgcagcatgcgtgattggcggcaccagcctggctggcggtgtgggaagcgttgccgga
+gcagtaatgggggcatttatcatggcttcactggataacggcatgagtatgatggatgta
+ccgaccttctggcagtatatcgttaaaggtgcgattctgttgctggcagtatggatggac
+tccgcaaccaaacgccgttcttgattttgataaaaattttctcaaagccggttacgtatt
+accggttttgagtttttgcatgattcagcaggaaaagaaccatgtttactaaacgtcacc
+gcatcacattactgttcaatgccaataaagcctatgaccggcaggtagtagaaggcgtag
+gggaatatttacaggcgtcacaatcggaatgggatattttcattgaagaagatttccgcg
+cccgcattgataaaatcaaggactggttaggagatggcgtcattgccgacttcgacgaca
+aacagatcgagcaagcgctggctgatgtcgacgtccccattgttggggttggcggctcgt
+atcaccttgcagaaagttacccacccgttcattacattgccaccgataactatgcgctgg
+ttgaaagcgcatttttgcatttaaaagagaaaggcgttaaccgctttgctttttatggtc
+ttccggaatcaagcggcaaacgttgggccactgagcgcgaatatgcatttcgtcagcttg
+tcgccgaagaaaagtatcgcggagtggtttatcaggggttagaaaccgcgccagagaact
+ggcaacacgcgcaaaatcggctggcagactggctacaaacgctaccaccgcaaaccggga
+ttattgccgttactgacgcccgagcgcggcatattctgcaagtatgtgaacatctacata
+ttcccgtaccggaaaaattatgcgtgattggcatcgataacgaagaactgacccgctatc
+tgtcgcgtgtcgccctttcttcggtcgctcagggcgcgcggcaaatgggctatcaggcgg
+caaaactgttgcatcgattattagataaagaagaaatgccgctacagcgaattttggtcc
+caccagttcgcgtcattgaacggcgctcaacagattatcgctcgctgaccgatcccgccg
+ttattcaggccatgcattacattcgtaatcacgcctgtaaagggattaaagtggatcagg
+tactggatgcggtcgggatctcgcgctccaatcttgagaagcgttttaaagaagaggtgg
+gtgaaaccatccatgccatgattcatgccgagaagctggagaaagcgcgcagtctgctga
+tttcaaccaccttgtcgatcaatgagatatcgcaaatgtgcggttatccatcgctgcaat
+atttctactctgtttttaaaaaagcatatgacacgacgccaaaagagtatcgcgatgtaa
+atagcgaggtcatgttgtagcgatgatgagaattgtcggcgtcacatcaggtaacgctgc
+gtggttgtcggatgcggcgtgaacgccttatccgacctacccgccaggcatgataaaacg
+caccaacaacgcttcaggctcgtagctcaactgcctgagacaaagtaaaaagccttatcc
+gactgacaagtcggataaggctcaaggaaatgcaattacatatgcgccgcgattaaccgt
+tggttatcctggtacattgcgaacaggtagttgttataactcttccctttggtcgagtag
+cccttcagcttgtgaatcatcgctgtggcagtcacttcctgatccgctttacgcagctgc
+gcacgcgatttacggaacgaagagtaagccgggtgcgtattcaggttagtgacataggcg
+ctcaccgattctttgacagaactaaactgtgagtaccctttcactttacctggcgcattg
+gtacaacgtcctttcatgcatttcatgccgaacaggttgttgttgttgcgcgccagcttc
+gacgttccccaaccgctttctgctgcagccatcgtcgccaccatactggtggggataatg
+tctacgcgttcaagcaaggtattccacgggatttttcgcgtattaccggaccacttcacc
+ttgtagcgtttggcgatgtctttcagacgcgcacgctcagcaggtgaccattggccctga
+tactgttttgaaatgagccagttacgttccgcagtaatggccgcattttggctggtaatg
+taaggcattacggtccggagaaacgcctttttccttggtgttccggaagggtattttcgc
+aaatcaggaagtgaactactctttgcactattgcgagaatactcttgtttactgcttacc
+tgtttattactagctttagttaagtgggacttttgactcgctgttgttgtgtgcgtcttc
+gctaacacctcactcgaaaacaccagagtgagtaacataagaatcatcgccccatatcgt
+cgtatgggagtcaaaatcatcaggtctcctggtcggatttaatcattccaacaccttata
+tttttcacaaatttgagagttgaatctcaaatcatatcaaaaatagctgtcaagagcacc
+ccaaggaatagtccaaatctgaaactatgtcacgtgttaacgattcagattggcgctaaa
+tcgcagaaaatgtgggggttatcgcaaaattcagccgttttttgcgcgagatcgctcacc
+cttgcttctcatcctgtggacttaccgctcagggatgagttttgtttggcttatcgctgg
+caaactgtctgaaatcgcagcaataaggactcatccgccatgaaactcgccgcctgtttt
+ctgacactccttcctggcttcgccgttgccgccagctggacttctccggggtttcccgcc
+tttagcgaacaggggacaggaacatttgtcagccacgcgcagttgcccaaaggtacgcgt
+ccactaacgctaaattttgaccaacagtgctggcagcctgcggatgcgataaaactcaat
+cagatgctttccctgcaaccttgtagcaacacgccgcctcaatggcgattgttcagggac
+ggcgaatatacgctgcaaatagacacccgctccggtacgccaacattgatgatttccatc
+cagaacgccgccgaaccggtagcaagcctggtccgtgaatgcccgaaatgggatggatta
+ccgctcacagtggatgtcagcgccactttcccggaaggagccgccgtacgggattattac
+agccagcaaattgcgatagtgaagaacggtcaaataatgttacaacccgctgccaccagc
+aacggtttactcctgctggaacgggcagaaactgacacatccgcccctttcgactggcat
+aacgccacggtttactttgtgctgacagatcgtttcgaaaacggcgatcccagtaatgac
+cagagttacggacgtcataaagacggtatggcggaaattggcacttttcacggcggcgat
+ttacgcggcctgaccaacaaactggattacctccagcagttgggcgttaatgctttatgg
+ataagcgccccatttgagcaaattcacggctgggtcggcggcggtacaaaaggcgatttc
+ccgcattatgcctaccacggttattacacacaggactggacgaatcttgatgccaatatg
+ggcaacgaagccgatctacggacgctggttgatagcgcacatcagcgcggtattcgtatt
+ctctttgatgtcgtgatgaaccacaccggctatgccacgctggcggatatgcaggagtat
+cagtttggcgcgttatatctttctggtgacgaagtgaaaaaatcgctgggtgaacgctgg
+agcgactggaaacctgccgccgggcaaacctggcatagctttaacgattacattaatttc
+agcgacaaaacaggctgggataaatggtggggaaaaaactggatcagaacggatatcggc
+gattacgacaatcctggattcgacgatctcactatgtcgctagcctttttgccggatatc
+aaaaccgaatcaactaccgcttctggtctgccggtgttctataaaaacaaaatggatacc
+cacgccaaagccattgacggctatacgccgcgcgattacttaacccactggttaagtcag
+tgggtccgcgactatgggattgatggttttcgggtcgataccgccaaacatgttgagttg
+cccgcctggcagcaactgaaaaccgaagccagcgccgcgcttcgcgaatggaaaaaagct
+aaccccgacaaagcattagatgacaaacctttctggatgaccggtgaagcctggggccac
+ggcgtgatgcaaagtgactactatcgccacggcttcgatgcgatgatcaatttcgattat
+caggagcaggcggcgaaagcagtcgactgtctggcgcagatggatacgacctggcagcaa
+atggcggagaaattgcagggtttcaacgtgttgagctacctctcgtcgcatgatacccgc
+ctgttccgtgaagggggcgacaaagcagcagagttattactattagcgccaggcgcggta
+caaatcttttatggtgatgaatcctcgcgtccgttcggtcctacaggttctgatccgctg
+caaggtacacgttcggatatgaactggcaggatgttagcggtaaatctgccgccagcgtc
+gcgcactggcagaaaatcagccagttccgcgcccgccatcccgcaattggcgcgggcaaa
+caaacgacacttttgctgaagcagggctacggctttgttcgtgagcatggcgacgataaa
+gtgctggtcgtctgggcagggcaacagtaacttttccggcttcccgttcgtcagtacctc
+gggaagccgccaaccaggataaaatgtcagccctaatcagcgttgcaggataaagcaccg
+ctcactcttcaacagaccgatttgcaccccagcaaatgtagcgttattgttaccttcctt
+gctacagagttcgacagatatcccgctatgacattctccctttttggtgacaaatttacc
+cgccactccggcattacgctgttgatggaagatctgaacgacggtttacgcacgcctggc
+gcgattatgctcggcggcggtaatccggcgcagatcccggaaatgcaggactacttccag
+acgctactgaccgacatgctggaaagtggcaaagcgactgatgcactgtgtaactacgac
+ggtccacaggggaaaacggagctactcacactgcttgccggaatgctgcgcgagaagttg
+ggttgggatatcgaaccacagaatattgcactaacaaacggcagccagagcgcgtttttc
+tacttatttaacctgtttgccggacgccgtgccgatggtcgggtcaaaaaagtgctgttc
+ccgcttgcaccggaatacattggctatgctgacgccggactggaagaagatctgtttgtc
+tctgcgcgtccgaatattgaactgctgccggaaggccagtttaaataccacgtcgatttt
+gagcatctgcatattggcgaagaaaccgggatgatttgcgtctcccggccgacgaatcca
+acaggcaatgtgattactgacgaagagttgctgaagcttgacgcgctggcgaatcaacac
+ggcattccgctggtgattgataacgcttatggcgtcccgttcccgggtatcatcttcagt
+gaagcgcgcccgctatggaatccgaatatcgtgctgtgcatgagtctttccaagctgggt
+ctacctggctcccgctgcggcattatcatcgccaatgaaaaaatcatcaccgccatcacc
+aatatgaacggcattatcagcctggcacctggcggtattggtccggcgatgatgtgtgaa
+atgattaagcgtaacgatctgctgcgcctgtctgaaacagtcatcaaaccgttttactac
+cagcgtgttcaggaaactatcgccatcattcgccgctatttaccggaaaatcgctgcctg
+attcataaaccggaaggagccattttcctctggctatggtttaaggatttgcccattacg
+accaagcagctctatcagcgcctgaaagcacgcggcgtgctgatggtgccggggcacaac
+ttcttcccagggctggataaaccgtggccgcatacgcatcaatgtatgcgcatgaactac
+gtaccagagccggagaaaattgaggcgggggtgaagattctggcggaagagatagaaaga
+gcctgggctgaaagtcactaaaaattgcctgatgcgctacgcttatcaggcctacatgat
+ttctgcaatatattgaatttggaagaatttgtaggccggataaggcgtttacgccgcatc
+tggcataaacaaagcgcactgttccggcgttgagaaacgccggaaaacgtttcaaacagg
+ctgctgccgtagccgatgccgctgcactttctcgacatccatgcactgcaacgcctttgt
+cgggcaggcttcaacacaggccggtcccgtctcccgatgccagcacagatcgcacttaat
+cgccctcgcctttttgcgcgaagaaacgacctccatcgcaccaaacgggcaagccagcat
+acagcttttacagccaatgcaacgtgtttgttcaacgaaaatatgcccatgttcgcggct
+tatcgcgtcaacagggcagacattcgcgcacggtgcatcttcacactgatgacaggctac
+tgccgtggtccagcagtggtctttaatgacacgaatacgggaaataaactcgtctggtga
+caacgcagcgcaatcctgattctcatgatgcgacactgcgcaagccacttcacaggtacg
+gcaaccgatacatttcgtcgcatccgcaataataaaccggttcatgatcactcctttgca
+ctaaaacagcagagtgccagagagcgcgtccctactgctttgatccaacgaaggaaatgt
+taaagttttggcacttgtccaaagcgttatgtgatcgcgcccaggtcatccctgacagta
+aatcccagttcattagaaatagcctgcgcggtttcacgcagtggtttcaggagatttttc
+tctcccacctgtttcagacgtgatgtcgaaagcgaaatcgacacggcgtacggcacccgc
+ccatgaatatcaaacaccggaacagcaatacaggagacgccgagttcgttttcttctctg
+tccatcgccgctccgctttcacgaatgtgcgccagttcgtcgaacatcgcgggcagctcg
+gtaatggtattgcgggttaacggctggatctcatgctgatggctttcccagtatgacttc
+acgtagtccgggtgaccaaacgccatgtagatcttgcccattgcggaacagtagagcggc
+atatgctggccaatataggcacgggttcgcagcatcccggttgtgggttccagcttataa
+atcaaaatagcgtgatcgtcttcgcggctggagaagttaatggtttcaccagtggcgatg
+ttcagtgcctcaagatgcggagcggcgatatgaatgatattcagcgaagacagcgccttc
+tgcccgacggcaataaatttggtggtcaggcgataactccctgcggcaggcgcggtggtc
+acatagccgcaggactgtaatccctgcaataagcgatggacggtactcttatttaaacca
+gccagctccgaaagatgcgccaacggacaaccgtttggatagttgctcaaaatctcaatc
+agcatcaacccgcgaaacagactctggcttccggctggacgctctttttcctgcgccatc
+tcgttctctttttttcccatcacttctttccccattttgtcgcgtcctgatggtagcgca
+aagtgtgccgtagttcacgatctcgacagataatttataaccaattgatttttatgtctt
+ttgaaattcatcaatcagattgccttgttaaaaagtgatcgatatatttgaaatcaagtt
+tcgcatattgaaattttaagccaaaaaagcgatcaaaaaaacaaggaagcctgggatgaa
+agtgacatttgagcagttaaaagcagcctttaatcgggtcttaatttcacgcggcgttga
+cagcgaaacggctgacgcctgtgcagagatgttcgcccgcaccaccgaatccggcgttta
+ttctcacggcgttaatcgtttccctcgtttcattcaacaactggaaaacggcgatatcat
+tcctgatgcccaacccaaacgtataaccagcctcggcgcaattgaacagtgggacgccca
+gcgttcgatcggtaacctgacagcgaaaaagatgatggatcgcgccattgaactggctgc
+cgatcacggtattggtctggtggcactacgtaatgccaaccactggatgcgcggcggcag
+ctacggctggcaggcggcggaaaaaggctatattggcatttgctggaccaactccatcgc
+cgtaatgccgccgtggggcgcaaaagagtgtcgcataggcactaacccgctgatcgtcgc
+cattccttccacgccgatcaccatggtcgatatgtcgatgtcgatgttctcttacggcat
+gttagaagttaaccgtctggcaggtcgtcagctcccggtcgatggtggctttgatgatga
+gggcaatttgaccaaagaacctggcgttatcgagaagaatcgccgcattttgccgatggg
+ctactggaaaggttctggcatgtcgattgtgctggatatgatcgctactctcctttccga
+cggcgcatccgttgccgaagtcacccaggacaacagcgacgaatacggcatttcacaaat
+ttttattgccattgaagtggacaagcttatcgacggtcccacccgcgatgccaagctgca
+acgcatcatggattacgttactagtgccgagcgtgctgacgaaaatcaggccattcgctt
+acccggccatgaatttactaccctgctggccgaaaaccgccgtaacggcatcactgttga
+tgacagcgtgtgggccaaaatccaggcgttatgaggagataagtcatgatttttggacat
+atcgcgcagcccaatccgtgccgtttgcccgccgccattgaaaaggcgctcgattttctg
+cgcgctaccgatttcaacgccctggagccgggcgttgtcgaaatcgacggcaaaaatatt
+tatacgcaaattatcgatttaaccacacgcgaagcggtggtaaaccgtccggaagtgcat
+cgtcggtatatcgatattcagtttctggcgtggggcgaagagaaaatcggcattgctatt
+gatacgggaaataataaagtcagcgaatcactattagagcagcgcaatattattttttat
+cacgacagtgaacatgaatcatttatagaaatgataccgggcagctacgcaattttcttt
+ccgcaggatgttcaccgaccaggttgtattatgcaaacagcctctgagatacgaaaaatt
+gtggttaaagtcgcattaacggcgctgaattaatcgaataatcgtctacgccagaacgcc
+tgggtaatgttattgctctaactatattaataattcaggttgctgcacatgcgacttgaa
+ttatgacagacatagcctcaaggaatagctatgaaaaaaatactcgaagcaatactggcg
+attaatctcgccgtactttcctgtattgtatttataaacattattttaagatatggtttt
+cagacaagcattttatctgttgatgaattgtcacgttatttatttgtctggttaacgttt
+attggcgcgattgtagcttttatggataacgcccacgttcaggtcacctttctggtggag
+aaactctcccccgcatggcagcgacgagtcgctctggttacccattccttaatcttattt
+atttgtggcgcactggcctggggcgcaacgctaaaaacaattcaggactggagcgattat
+tcaccgatcctcggtttacccatcggcctgatgtatgccgcttgtctgcccaccagcctc
+gttatcgcattctttgaactgcgtcatttatatcaactcatcacgcgtagcaattctcta
+acgtcgccaccgcaaggagcttaatcatggctgtgctgatttttctgggctgtctgttgg
+gtggtattgctatcggtttgcctattgcctgggcactgttgttgtgcggggcggcgttaa
+tgttctggctggacatgtttgatgtccagatcatggcacaaacgctggtgaacggagccg
+atagcttctccctgctggcgattccgttctttgtgctggcgggtgaaatcatgaatgcgg
+gcggcttgtcaaaacgcattgttgacctgccgatgaaactggtggggcataaaccaggcg
+ggctgggctacgtcggcgtgctggcagctatgattatggcgagcctttctggttctgccg
+ttgcggataccgccgccgttgccgctctactggtgccgatgatgcgcagcgccaactatc
+cggtcaaccgggcggcggggctgattgcctctggcggcattatcgcgccaattattcccc
+cttccattccgtttattatcttcggcgtttccagcggattatccatcagtaagctgttta
+tggcgggcattgcccctggcatgatgatgggcgcaacgctgatgcttacctggtggtggc
+aggccagtcgccttaatttaccccgccagcaaaaagcaacgatgcaggaaatctggcact
+cttttgtctccggtatctgggcgctgtttcttccagtcatcattattggcgggtttcgct
+ccggcctgtttacccctaccgaagccggggccgttgctgctttctatgcgctgtttgtcg
+ccacagttatttaccgtgaaatgaccttcgccacactttggcatgtactcattggcgcgg
+cgaaaaccacctcagtggttatgtttctggtggcctcggcacaagtttccgcctggctga
+ttaccattgctgaactgccgatgatggtttctgatttactgcaaccgttggtcgattcac
+cgcgtctgctgtttatcgtcattatggtggctatcctgattgtcggcatggtcatggatt
+taacgccgacggtattaattcttaccccggtattaatgcctttagttaaagaggcaggaa
+tcgatccgatttatttcggtgtcatgtttatcattaactgctcaatcggcttaattacac
+cgcctatcggtaatgtacttaacgttatttcaggggtggcaaaactcaaattcgatgatg
+cagtcagaggcgttttcccttacgtcctggttttatattcattattagtcgtatttgttt
+ttattcccgatctcatcatcctccctttgaaatggattaattaaaaggaaaatattatga
+aattacgctctgtaacctacgcattattcattgctggcctggctgcattcagcacatctt
+ctctggcggcacaatctttacgtttcggttatgaaacatcacaaaccgactcgcaacata
+ttgcggcgaaaaaattcaatgatttattgcaggagagaaccaaaggcgagctgaaattaa
+aactgttcccggacagcactctcggtaacgcgcaggcgatgatcagcggcgtacgtggcg
+gcaccatcgatatggaaatgtccggctcgaataactttgccgggttatcaccagtgatga
+acttgcttgatgtccctttcctgttccgcgataccgctcacgcgcataaaacgctcgacg
+gcaaagtcggtgatgatctgaaagcctcacttgaaggtaaaggactgaaagtactggcct
+actgggaaaacggctggcgcgatgtcaccaactcgcgcgcaccggttaaaacccccgccg
+acctgaaagggctgaaaatccgcaccaacaatagcccgatgaatatcgccgcattcaaag
+tctttggcgctaacccgatcccgatgccgtttgccgaagtctataccgggctggaaaccc
+gcactatcgacgctcaggaacacccgatcaacgtcgtctggtcagcaaaatttttcgaag
+tgcagaagttcctttctctgacgcaccacgcctattccccgcttctggtggtgatcaaca
+aagcgaagtttgatggcttaagtccggagttccagcaggcgctagtttcatctgcacaag
+aagcgggtaactatcagcgcaaactggttgctgaagatcagcaaaaaatcatcgacggca
+tgaaagaagcgggcgtggaagtcatcaccgatctcgaccgcaaagcctttagcgacgcac
+tggggaatcaggttcgcgacatgtttgttaaagatgtgccgcagggagctgatctgctga
+aagccgtggatgaggtgcaataaaccatgacgcaatactggctggggttagattgtggcg
+gtagctggctgaaagccgggctgtatgaccgcgaaggccgggaggcaggcgtgcagcgcc
+tgccgctgtgcgcattaagcccgcagccaggctgggcagagcgcgatatggcagaactgt
+ggcaatgctgcatggctgtcattcgcgccctgcttactcattctggtgttagcggggaac
+aaattgtcggtatcggcatctccgcacagggaaagggcttgtttttgctggataaaaacg
+acaaaccgctcgggaatgctattttgtcctcggaccgccgggcgatggaaatcgttcgtc
+gctggcaggaagatggcatcccggaaaaactctacccgctgacccgacaaaccttgtgga
+ccgggcatccggtgtcgctgttacgctggctgaaagagcacgaaccagaacgctacgcgc
+aaattggctgcgtgatgatgacgcacgactacctgcgctggtgtttaactggcgtcaaag
+gctgtgaagagagcaatatttccgagtccaacctctacaacatgagtcttggggaatatg
+acccgtgcctcaccgactggctggggatcgctgaaatcaatcacgccctgccgcctgttg
+tcggatctgccgaaatctgcggggagatcaccgctcagacagccgccctgaccggtctga
+aagcgggtacgcccgttgttggcggcctgtttgatgtggtttccaccgcactctgcgccg
+ggatcgaagacgaatttaccctcaatgcggtgatggggacctgggcggtgaccagcggca
+taacccgcggtttacgtgacggtgaagcgcatccgtatgtctatggtcgctacgttaacg
+atggtgaatttatcgttcacgaagccagccctacctcttccggcaacctcgaatggttta
+ccgcacagtggggagaaatctcgtttgatgagatcaatcaggccgttgccagcttgccga
+aggctgggggcgatctctttttcctgccgttcctgtacggcagcaacgccggactcgaga
+tgaccagtggtttctacgggatgcaggccattcacacccgcgcgcacctgttgcaggcca
+tctatgaaggggtggtgttcagccatatgacccacctcaaccgaatgcgcgaacgtttta
+ctgatgttcacaccctacgcgtcactggcggcccggcgcactccgatgtctggatgcaaa
+tgctggcggacgtcagcggtctgcgtatcgagctgccgcaggtggaagaaaccggctgct
+ttggtgcggcccttgccgcccgcgtcggcaccggggtttatcacaacttcagcgaagccc
+aacgtgacttgcgacacccggtgcgcaccctgctgccagatatgaccgcccatcagcttt
+accaaaaaaaatatcaacgttatcagcatctcattgccgcacttcagggctttcacgccc
+gcattaaggagcacacattatgagccgaccacttctgcaactggccctcgaccactcatc
+acttgaagccgcgcagcgcgacgtgacgctgttaaaagacagcgtcgatatcgtcgaagc
+gggcaccattctctgtttaaacgaagggcttggcgcggtgaaagccttgcgcgaacagtg
+cccggacaaaatcatcgttgctgactggaaggtcgccgacgctggtgaaacgctcgcgca
+acaggcgtttggcgcaggcgctaactggatgaccatcatctgcgccgcgccgctcgcgac
+ggtagaaaaaggccacgcaatggcacaacgctgcgggggtgaaattcagatagagctgtt
+cggtaactggacgctggacgacgcccgcgactggcatcgtattggcgtgcggcaggccat
+ttatcatcgcggtcgtgatgcacaggccagcgggcaacagtggggcgaagccgatctggc
+acgcatgaaggcgctttcagatatcggccttgagctttccattactggcgggattacccc
+tgctgacctgccgctgtttaaagatatccgcgtgaaagcgtttattgccgggcgggcact
+ggcaggcgcggcaaatccggcgcaagtggctggcgatttccatgcgcaaatcgacgctat
+ctggggaggtgcgcgtgcgtaatcatcagttagggatttatgaaaaagcgctggcgaaag
+atctctcctggccggagcggctggtgctggcaaaaagctgcggttttgattttgtcgaaa
+tgtcggtggatgaaaccgacgaacggctctcacgtcttgactggagcgccgcacaaagga
+cttcgctggttgccgcgatgatcgaaacaggtgttgggatcccgtcgatgtgcctgtccg
+cacatcgtcgctttccctttggtagccgtgacgaggcagtgcgcgaacgggcgcgggaaa
+tcatgagtaaagcgattcgcctggcgcgcgatctcggcattcgcaccatccagctggcag
+gttatgacgtctattacgaagaccacgacgaaggcacccggcaacgttttgctgaagggc
+tggcgtgggcagtcgaacaggcggcggcatcacaagtaatgctggcggtggagattatgg
+ataccgcgtttatgaactccatcagcaaatggaaaaaatgggacgagatgctcgcctcac
+cgtggttcaccgtctacccggacgtcggcaacctcagcgcctggggcaatgatgttcccg
+ccgaactgaaactgggcattgaccgtatcgccgcgatccacctgaaagacacccagccag
+tcaccgggcaaagtcccggacagttccgcgacgtgccgtttggcgaaggctgcgtcgatt
+tcgttggcatcttcaaaacgctgcataaactgaactatcgcggttctttcctgattgaga
+tgtggaccgaaaaagccaaagagccggtgctggagattattcaggcgcggcgttggattg
+aagcgcgtatgcaggaggctggatttatatgttagagcaactgaaagccgacgtgctggc
+ggcgaatctggcgcttcccgctcaccatctggtgacgttcacctggggcaatgtcagcgc
+ggtagacgaaacgcggcaatggatggtaatcaaaccttccggcgtcgagtacgacgtgat
+gaccgccgacgatatggtggtggttgagatagccagcggtaaggtggtggaaggcagcaa
+aaaaccctcttccgatacaccaacgcatctggcgctctaccgtcgctatgccgaaattgg
+cggtattgtgcatacccactcgcgccacgccaccatctggtcacaggccgggctggatct
+ccccgcctggggcaccacccacgccgattatttttacggtgccatcccctgcacgcgaca
+gatgaccgcagaggagattaacggcgaatatgaatatcagaccggcgaagtgatcattga
+aaccttcgaagaacgtggcaggagtccggcacaaatcccggcggtgctggtgcattctca
+cggcccgttcgcatggggtaaaaacgccgccgatgccgtgcataacgccgtagtactcga
+agaatgcgcctatatgggtctattctcgcgccagcttgcgccgcagctccctgcgatgca
+aaacgaactgctggataagcactacctgcgtaagcatggggccaatgcctattacgggca
+gtaatccctcacgccggggcttcatcgccccggcactacgaattgatatgttccttgctg
+taacgccgcttccacgctgctggcgttaaaccagtatgtttctgaaaaatctgccggaaa
+tagccaacgtcattaaaccgtattgcatggagcaggccgacaacgtcgagtcactgcata
+acctgttgctgcccgccgatgcgccatttacgacatttgaaggcaagggattgttcagcc
+ataagatcctgattcagacgccaggttcccggtatgaacagagcaatccagagcaacaac
+ctttgtggcattacgacggagcaccagccgcaccgacatccaccggtgaattaaaaacgc
+cagctcaccccggtgacaaaggtaaaactctcattacgatcaatcatcgggctgtcggta
+atctcttccggcagctcgctgtatcctgcgctcgccatcaatacgacgtgctctcctatc
+gggtattttgccgtcaggctgacatagggcacccaggcatcctgcgcggaataacttgcc
+agaccgctacgacgggactcactctctgaaatgccatagtaatagtcactgaaattctcg
+tcataatagagaacgcccagcgcaggtgtcagcgacagacgacctatctgcattttgtgg
+aataccgatagctcccccacccagccgttgctgttatccagaacgtccgcagctgcagag
+gctttcacggttccccaacgctcgtggtgataccaggcaacccccgccatagccgtacta
+tcacgcttatcaagctgttgcatggcataatcgtcattatcggtagggtcaaattccagc
+ggcatccaggatgcggtcaggctaagttcatttttttcactttgcgacagaataaaacct
+aacgtggtctgacgaacataaaaagtatcaccttcataactaatcagcggaattgccttc
+gtattttcattataaccgcgataaggcgattcattataagccgcaccagcaccaatggat
+aattcagaagcagttgcgcttgccataaaaggcaacgcaaataacgccacaatattgcga
+ttaattaacatgtccggtattccattttaaaataagataaaaaagagtcggcataataat
+gcttacaatttctccggtgcaagattcatatttatatagtaatatataaaattatatata
+attgggctgttgcgatgacaaaattacaacttaagtaccgggagttaaaaattatctcgg
+taatcgctgccagtgaaaatatcagccatgccgcgactgtacttggcatcgcacaggcca
+acgtcagcaaatatcttgctgattttgaatcaaaagtgggtttaaaagtctttgaccgaa
+ccacccggcagctgatgctcacaccttttggcaccgcgctgttaccgtacatcaacgaca
+tgctggacagaaacgagcaacttaataattttattgcagattataagcatgagaaacgtg
+gtcgggtcaccatctacgccccaaccggcataattacctatttatccaaacatgtaatcg
+ataaaattaaagatatcggtgatatcaccttatcgctaaaaacctgcaatcttgagcgta
+atgccttttatgaaggcgtcgaatttcctgatgattgtgatgttttaatcagctacgctc
+caccaaaagatgaatcgctggttgccagttttattacccaatatgccgtaaccgcttatg
+ccagccagcgctatcttgagaaacatcccattagccgtcctgacgaactcgaacatcact
+cctgtattttgatcgactcgatgatgatcgacgacgcgaatatctggcgcttcaacgtcg
+ccgggagtaaagaggtgcgggattatcgcgtgaagggaaattacgtttgcgacaacacgc
+aatctgcgctggagctggcacgaaatcacctggggattgtgtttgcgccagacaaaagtg
+tgcagagcgacctgcaagacggcacgctggtgccctgctttcagcaaccctatgaatggt
+ggctggatctggtggctatcttccgtaaacgggaataccagccctggcgggtccagtatg
+tgctggatgaaatgctgcgtgaaattcgccaccagcttgctcagtcgcagcaactgcggc
+ctgaacaagcggcggaaagcgaagattaatgatcgagataaaggtaatgcacccagctgg
+tcatgcgtaatagcactttgcgcatcaccgagacatggctgaaatgatcagagtaaaccg
+ccacctgggcgtaaataccgtctggtaaagcgctcaaatcagtgtgctcatccagttcaa
+tggtcgcgataacgccatctgaacccggcgctgtgtttaacgtctgtaaggtgccggtcg
+actgataagctccgccgggaacggctggactaatggctgccagcttaccgctgaatacct
+tacctggcagagcattaaacaccacttccgcatcgtcgccaggagccagtcgcagcaagg
+agttctgacggaactgcgccacgatttgtcgtttctgatcgggtataaacaccatcaccg
+gacgtagcggcagcgacgcggcataggtacccggacgaatcagtacctgggtcacataac
+catcgctcggcgcacgcactatcgtctgctcaaggttatattttgcttccgcgagctgtg
+ctttcaggctggcgatttgagaatgttcacccaacaccaggctatccagctggctctgga
+tctgtttttgttccgccgccgatgacttcacggaggcttcctgcgccagataattttgcc
+gcgccacatcgatatcgcgttctgaaaacgggtttactttcgcctggctgccacgtgcgt
+aacgctgatactctttagcgaatttatcccgcgtggcctttgcctgctgagtattcgccg
+ccatctcatctaactctgcgcccaacgcccgctgtttatgttctgcggtaacgatatccg
+ccatcagccgatccacccgcgcctgataacgcgtcgggtccagtcgaaatagcacctcac
+cttttttaatcagcgtatttttcttatccgtcacttcaatcaccacaccagtcacctgtg
+ggacaacaggaatagaaataaccgctttttgcgctttaaaggtatacggatggttatagt
+tcattaacagaattagaccgctgacaataaatattccacccagggccgctgtgggaatgg
+tccatttatttacgggaattttgaagatcttaaacattgcccatgcaaaagccacatagg
+tcaaaataatcagtaaatccataagtattactcggcagaagaggatttgatgtcggcgag
+ctgtttctccagcccggcaatgcgctgttgcagttgcataacggatgaatcatggctttg
+cattccccatccccgctccgggcggtaaagcgtggcccaaatccacaaaaacggccagat
+aacatgtaacgtaaaaagactcacccaaccagcaacatgaatggcgtcggcatgaggatg
+attacgttttttggcaatcaggtagggaatatcatgtaaaataatgatcccatagaagat
+caccagaaatacaaaaataagcactcccagtgcaaaatagtccaggaacatatttccctc
+aaagaatataaaaaagaacaattaacgcatattatgaaatgccatgatgcagtgcaattt
+ccttatttatataacgacatattgttttttatatactttcttaaatgtgctgtctggttt
+ttcaacaggacgaggtttatcatattgaaatagtggaactattggccaaactaatgaata
+actccagtaaaacatccacagtacagattaagcgtattaaaccttcaattatctaccgtt
+tattgctgattggcctcggatcaccaatggtgatttacggcctggttcgcccgctcacca
+tcgaaacgcgagattaaactcctgacaaaacacgccccagaaacgtacttctgttggcgt
+agtctgggttattgcgcacgtaggtttaaaacgtaaattgtaacaacgtgcgctttgttt
+atgccggatgcggcgtgtacgccttatccggcctacggtcaggttcccgtaggcatgata
+agacgcgtaagcgtcgcatcaggcaatgaatacccaatgcgaccagcttcttatatcaga
+acagccccaacggtttatccgagtagctcaccagcaggcacttggtttgctggtaatgct
+ccagcatcatcttgtgggtttcgcgaccgatacctgattgtttgtagccaccaaacgccg
+catgtgccgggtaagcgtgataacagttggtccacacgcgcccagcctgtatgccgcgcc
+ccatcttataggccagattaccgttgcggctccagacgcccgcgcccaggccatattgcg
+tatcgttcgccagctccagcgcttcttccatcgttttgaaggtggtcaccgccagcaccg
+ggccaaaaatctcctcctggaacacccgcatattgttctgaccaaacagaatcgtcggtt
+cgaggtagtagccgtctttcagttcaccttccagcagcttgcgccgcccgcctgtgagca
+cgtcagcgccctcttttttaccgatatcaatgtagttgaggatggtttccagttgcccgt
+gagaaacctgcgcgcccatttgcgtcacgctgtcgagcgggttaccgctacgaatgcttt
+cgacacggcggatggcgcgttccataaagcgttcgtagatagattcctgcactaaagcac
+gactcggacaggtgcaaacttcgccctggttaaaggcaaacagtgcaaagccttccagcg
+ctttatcgaaaaaggcatcttcttcatccatcacatcagcaaagaagatatttggcgact
+taccgcccaactccagcgtcaccggaataatgttttgcgttgcgtattgcataatttgtt
+ggcccacttccgttgagccggtaaacgccactttggcgatgcgtttcgaggtcgccagat
+attcgccaattaccccacctgcgccattgaccacgttcaccacgcccggcggcagtaaat
+caccgacaatttccattagcagcagtacagaaagcggggtaagacgtgcgggtttcagca
+ccacacagttgcccgccgccagcgcgggagccattttccagctcgccatcagcagcggga
+agttccacgggataatctgccccaccacgcctaacggttcatggaaatgataggccacgg
+tttcgctatcaacttcactgatcccaccttcctgcgcccgaatacacgaggcgaaatagc
+ggaaatggtcaatcgccagcggtacatccgcagcactggtttcgcgaatgggtttgccgt
+tatcccaggtttcagctgtcgctaacagctcgaggttttgttccattcgatcggcaatct
+taaacagaatcgccgcacgatcctgcaccgaggtgtgcgcccatttatctttcactttgt
+gcgcagcatccagcgccagatcgatgtctcgtttgcccgaagacgccacttcgcacagca
+gctgcccggtcaccggcgtcagattctggtaatactcgccgtcggcaggggctacccatt
+cgccgccaataaagttgtcatagcgggcttttaacttgagggggaaaccatactcgccgg
+gcttaatctgtgctgaagggggattattggtcatgatcgtctccttgcggtgtgaggtat
+aacaagggtagacgtgactggcgaaatcttcgccagtcggtaacagctttacgacagcta
+tcacgaatttacgggcaagggttacagagatagttgaaaaagcggctaacaatttgccag
+ccgttgtggaaatgatgattacatcgctgcgcgataaatcgccacaatttcttcgtgagt
+tgcctggatcgggttagtaaagccacaggcatctttcagggcattagtcgccaataccgc
+gaaatcttcttctttcacgttcaggtcgcgtaggcctgccgggatatccactttcttcgc
+cagttcacggatggcgttaatgcaggcttcagcaccttccgcgtcgtttttacctgtcac
+gttcacgcccattgcagcggcacagtcacgcagacgtgcagcggcgactttgctgttgaa
+tacctgaacgtgcggcagcaaaacggcgttacatacaccgtgtggcaggttgtagaaacc
+gcccagctggtgcgccatcgcatgaacataacccagagaagcattattgaacgccatacc
+ggcgaggaactgggcataagccattgcttcacgcgctttcgcattactgccatcttcaac
+ggctaacggcaggttttcggcaatcatggtcacggctttcagtgcacaagcgtcagtgat
+cggcgtggcggcaatagaaacatatgcttcgatagcgtgcgttaaggcatccatacccgt
+tgcggcggtcagtgacttcggcataccaatcatcagagaggagtcattgacagaaagcag
+cggagtgacatgtttatcaacaatcgccattttgatatgacgcgcttcgtcagtgatgat
+gcagaaacgggtcatttcagaggccgtacccgccgtggtattgatggcgatcatcggcag
+ctgcggttttgcagagcggtcaacgccttcgtaatcgcgaatatcgccgccattggctgc
+caccagcgcaataccttttgcgcagtcgtgtggagaaccaccgcctaaggagatcacgct
+atcgcaattattctctttaagtaatttcaaacctgcggcgacgttttccgtggtggggtt
+aggttgggtgccatcataaataacgctaaaaatattgcgttcttccagtgctttttgcac
+atcgcccgccatacctaatttcgttaacatattgtcagtgacaattaaggtacgggtaaa
+tccataatctgccatcatattcattgcatcagtcaatgaatcagcgccgatgacattcac
+agaaggaataaagaacgttgaagctgccataacacactcctgaaagtgtaaaaaagggcg
+ggcagcttactgaggattttcattcgaaaatatgatcagtattattgattatcaaaatta
+atctaataaaaagcacattgtattcattaaacaatgtgctttttttaaattcataagaat
+tttgtattaatttattttaaaacttaattaatcatttccttatttttccggaaataataa
+tgcgtcgcgcaataaatgatcatttccacgacgacgcgtaaagccaatgcggtcaaaata
+ttccagaatctgaattgccagctttcggcctacgcctaagcgatcgcggaaatccgccgc
+gcaggttgaaccacactcctgatcgagatcgcggatcatattggcaaactcgacaatccg
+atcgttacggtaataacgatctttaacgatcgcggtaattattccttgctgcgccgcctg
+gcgtagagtcaggcgcattgcctgctcgtcggttcccgtctcttttgccaggtcacgcac
+ccaccacggttcgtcaccaaacagtggctctgctttttgccagatggcctgctgctcttc
+gctgaagcccgctttgtgatctggcagatgcagccagccgtgatggctgtggatgtcgcc
+gctttcgcgcatcttttcaatcagcaacagtaccagcgcttcatcttccattggcaacgc
+catacgtcgcagacgttcgcgcccagggccaggttcatcgcgatgttgctcatgataagt
+cgctaatgtgtcgagaattttccgctgccagcgggcggcaaccggcgcattcaacaagct
+ataaccagcctgaatataaccaggctgttgcagcaattcgcgcatcccttcgccgttgag
+ctggcgcgcccaggcgaaatccgcaaggttaaccgcgccgcgttccagatgaacagataa
+cgcatcggcatcgctctgcgcccgtgcaagagacgccagccattgcagatattccggctt
+acgtttaccgcgacgcggcgggttaagcatcacgacgcgcgctccggccagcgtgttgcg
+ggcagagatatcgcgcaataccaggcggtcgttatctgccagccataacggggtgtcgaa
+gaccagttcagcaaggttatcttccagcagtgaaacgcgtcccgtgacgtggctggcggc
+gtggtgaatatgcagcggctgccactgggtcagcggtgtatgggtttgaagctcgacaat
+cacccgtgtgaacggctctggcggcacatcggcaagcagccagtcgccacggttaatctg
+ctctttttccgcatcacccgcgatgttaagcgcgatacgctgcccggcattggcggtttc
+tgttggctggttttgcgcatgcagcgcacgtacacgcatcggtttatttacaccagtcag
+ccagagtgaatcgcctaccttcacttccccgcttaacgccgtaccggtgacgaccagccc
+ggcaccttttacggtaaatgcgcggtcaatcgcgaggcggaaactatgttggctggcgtg
+ctcgcgttccggcaactgaagcagatgctcgcgcagggcatccattccccgaccttcggt
+tgctgcggtgataaacagttttgcctcagcaaaaccgtattcccgcagaacctcctttac
+ctggcgttcaacctcatcaacacgcgcttcgtccacgcgatcggctttggtcagcgccac
+tgtcagcatcgggttaccggtcagctgcaaaatcgccagatgctcacgggtctgtgccat
+cacgccgtcatcgcacgccaccaccaacagcgcgtgatcgataccaccaacgcccgccag
+catgttggaaagaaacttttcatgaccgggaacgtcgataaaaccaggcacgcgaccatc
+cggctgcggccagtaggcatagccgagatcgatggtcatgccgcgctttttttcttccgg
+cagacggtcagcatttacgccagtaatcgcctgcaataaggttgttttgccgtggtcaac
+gtgtccggcagtcgcaataatcatttcaacaacatctccaaaaaccgttgctcatcttca
+aggcagcgtaaatccagccacaatcgtccgtcataaatacgaccaatcaccggcactggc
+aattcacgccagcgggcggctaatgactcaaggtggctaccgcgtccatcatggggtgta
+aacgttaatgccgcgctcggcaggcgatcaaccggcagcgaaccactgccaatctgcgaa
+agacatggcataacctgtaccgcaaactccgcgccgtaatgtgcggcaaggggggcctgt
+aaacgttgtgcctggatttgaatgacctctgcgctgcgggtaagcaggcgcagggtcggt
+aatttttcactcagagcttcagggtgtaaataaagacgcaacgtggcttccagcgccgcg
+agggtcattttatccgcgcgtaatgcacgcttcagcgggtggctttgcaggcgggcgatc
+atctcttttttaccaacaataattcctgcctgcggcccgcctaacaacttgtcgccggag
+aaactcaccagactgacgcccgccgcaatcaactcctgcggcattggctctttcggcaaa
+ccgtactggctaagatcgaccagcgagccactgcctaaatcagtcactacgggaacatcc
+agctctttgccgagcgccaccagttccgcttcatctatcgctttggtgaacccctgaatg
+ctgtagttactggtatgtactttcatcaacagtgcggtattttcattcaccgcctgacga
+taatcattcgcgtgcgtgcggttggtggtccctacttcgtgtagggtgcagcctgcctga
+cgcataacatcgggaatacgaaacgcgccgccaatctccaccagttcgccgcgagatacc
+accacctcttttccgctggcagtggccgccaacatcaataacaccgccgccgcattgtta
+ttgacgatacaggcatcttccgcccccgtaatacggcacagcagctgcgccagcgcccga
+tcgcgatgtccgcgtccggcgtcgtccagatcatactcgagggtcactggcgaacgcata
+gcctgcgcaacggcttccaccgcggcttccgcctgtaaagctcgcccaaggttggtatgc
+agcacggttcccgtcaggttgatcaccggacgcagcgcgctctgcgcttctttcgtcaac
+cgggcatcgacttcttgcgcccagttttcacaccacgcaggcagcgtctggctgccacga
+atcacttctcgcgcttcgtcgagcatctgacgcaacaattccaccacgcgggtgtgacca
+taagtatcacgcaaagaaaggaaggagctatcgcgcaataagcgatcaatagccggaagt
+tgactatagagggaacgcgtttcggttgtcataggaaacctggctgatcaaggccctctc
+acacggagaagggcgtttaacataaccacggattgtaacgtgagatgggtcaggaggaca
+tatcgcgcatcaagcctttggcggttcggtgcgagcaaaactttcgcggctaaacaggtt
+ttcgaccagtttgactaagtgtgggcggtcgacacaccaacctggcgcaacgcggcggaa
+attgagatatccgacggcacaggcaatggcgatagtcgccagattgaccgtatcggtttt
+gagtgtgccatcgaccagatatccttccagcacatccagactgcggttgattttctcccg
+ctggcgtaacaattcatcttcagactgctgcgccgctggacgcgcctgttcacgcaccga
+taccagcccggcatccataatgccatccgccagtgcctcaattttgcgcacccgcaacga
+ctccagcggatcgcgcggcaacatcgccggagcgacattcattaattcaatatattcagc
+gatgatcggcgaatcaaaccagcattcgccctcttcggtcaccagcaccggcacttttcc
+taacgggttaaattgcgccacgccgttgtccgcgttatagggcagttcattaataaattc
+gaaagttatgcccttttctaacaacagaatagaaagtttgcgtacaaacgggctggtgta
+gctaccgacgagtttcatgccgagtcctttgtgcgaggaaaaatatcagtatggcctggt
+gatgggaaaaagggcagaaaatgttgatggtttgttacttccaaataaatcacatattta
+tcatggtgatataaatattttcctaattatttcactctgatggatatctcacttcaggct
+ttcttataaatctgtagggtttcgcctgtcagcagacaaataacccgataaaacaaggat
+gagaaatgagcggaaaaccggcagcgcgtcagggcgacatgacgcagtatggcggtagca
+ttgttcagggttcagccggggtgcgcattggtgcccccaccggcgtggcctgttcggtgt
+gccccggcggagtgacgtccggccatccggtcaatcccctgctcggtgcaaaggtccttc
+ccggtgaaaccgacatcgccctgcccggcccgctgccgttcatcctctcccgcacctaca
+gcagttaccggacaaaaacgcccgcgccggtggggagcctcggccccggctggaaaatgc
+ctgcggatatccgcttacagctgcgcgataacacactgatactcagtgataacggcggca
+gaagcctgtattttgagcacctgtttcccggtgaggacggttacagccgcagcgagtcac
+tgtggctggtgcgcggcggcgtggcgaaactggatgaaggtcaccggctggccgcactct
+ggcaggcgctgccggaagaactccgcttaagtccgcatcgttatctggcgacaaacagtc
+cgcaggggccgtggtggctgctcggttggtgtgagcgggtgccggaagcggatgaggtgc
+tgcctgcgccgctgccgccgtaccgggtactgaccgggctggtggaccgcttcgggcgca
+cacagacgttccaccgcgaagccgccggtgaattcagcggcgaaatcaccggcgtgacgg
+atggtgcctggcgtcacttccggctggtactgaccacgcaggcgcagcgggcagaagaag
+cccggcagcaggccatttccggcgggacggaaccgtccgcttttcctgataccctgccgg
+gttacaccgaatatggccgggacaacggcatccgtctgtctgccgtgtggctgacgcacg
+acccggaatacccggagaatttacctgccgcgccgctggtgcgctatggctggacgccac
+gcggcgaactggcggtggtgtatgaccgtagtggcaaacaggtgcgcagctttacttacg
+atgataaataccggggccggatggtggcgcaccgtcacacgggccggccggaaatccgtt
+accgttacgacagcgacgggcgggtgacagaacagctaaacccggcaggcttaagctaca
+cgtatcagtatgagaaagaccgcatcaccatcaccgacagcctggaccgccgtgaagtgc
+tgcacacgcagggcgaagccgggctgaagcgggtggtgaaaaaggaacacgcggacggca
+gcgtcacgcagagtcagtttgacgccgtgggcaggctcagggcacagacggatgccgcag
+gcaggacaacagagtacagcccggatgtggtgacgggcctcatcacgcgcataaccacgc
+cggatggcagggcatcggcgttttactataaccaccacaaccagttaacgtcagccaccg
+ggcctgacgggctggaattgcgccgggaatatgatgaattgggccgtctgattcaggaaa
+ctgcccctgacggcgatatcacccgctaccgttatgataatccacacagtgacttaccct
+gcgcaacggaagatgccaccggcagccggaaaaccatgacgtggagccgttacggtcagt
+tgctgagcttcaccgactgttccggttatgtaacccgttatgaccatgaccgcttcgggc
+agatgacggcggtgcaccgcgaggaagggctgagtcagtaccgcgcatacgacagccgtg
+gacagttaattgccgtgaaagacacgcagggccatgaaacgcggtatgaatacaacatcg
+ccggtgacctgaccgccgtcattgccccggacggcagcagaaacgggacacagtacgatg
+cgtggggaaaggccgtccgtaccacgcagggcgggctaacgcgcagtatggaatacgatg
+ctgccggacgggtcatccgcctgaccagtgaaaacggcagccacaccaccttccgttacg
+atgtacttgaccggctgatacaggaaaccggctttgacggccgcacacagcgttatcacc
+acgacctgaccggcaaacttatccgcagcgaggatgagggtctggtcacccactggcact
+atgacgaagcagaccgcctcacgcaccgcaccgtgaagggtgaaaccgcagagcggtggc
+agtatgacgaacgtggctggctgacagacatcagccatatcagcgaagggcaccgggtgg
+cggtgcattacaggtatgatgagaaaggccggctgaccggtgagcgtcagacggtgcatc
+acccgcagacggaagcactgctctggcagcatgagaccagacatgcgtacaacgcgcagg
+ggctggcgaaccgctgtataccggacagcctgcccgccgtggaatggctgacctacggca
+gcggttacctggcaggcatgaaactcggcgacacaccgctggtggagtacacccgcgacc
+gcctgcaccgggaaacgctgcgcagcttcggccgttatgaactcaccaccgcttataccc
+ctgccgggcagttacagagccagcacctgaacagcctgctgtctgaccgcgattacacct
+ggaacgacaacggcgaactcatccgcatcagcagcccgcgccagacccggagttacagct
+acagcaccaccggcaggctgaccggcgttcacaccaccgcagcgaatctggatatccgca
+tcccgtatgccacagacccggcaggtaaccgcctgcccgacccggagctgcacccggaca
+gcaccctcagcatgtggccggataaccgtatcgcccgtgacgcgcactatctttaccggt
+atgaccgtcacggcaggctgacagagaaaaccgacctcatcccggaaggggttatccgca
+cggatgatgagcggactcaccggtaccattacgacagtcagcaccggctggtgcactaca
+cgcggacacaatatgaagagccgctggtcgaaagtcgctatctttacgacccgctgggcc
+gcagggtggcaaaacgggtgtggcggcgtgaacgggacctgacgggctggatgtcgctgt
+cacggaaaccgcaagtgacctggtacggctgggacggcgaccggctgaccacaatacaga
+acgacagaacccgcatccagacgatttatcagccggggagcttcacgccactcatcagag
+ttgaaaccgccaccggtgagctggcgaaaacgcagcgccgcagcctggcggatgcgcttc
+agcagtccggcggcgaagacggtggcagtgtggtgttcccgccggtgctggtgcagatgc
+tcgaccggctggaaagtgaaatcctggctgaccgggtgagtgaggaaagccgccgctggc
+tggcatcgtgcggcctgaccgtggagcagatgcaaaaccagatggacccggtgtacacgc
+cggcgcgaaaaatccacctgtaccactgcgaccatcgcggcctgccgctggcccttatca
+gcaaggaagggacaacagaatggtgcgcagaatacgatgaatggggcaacctgctgaatg
+aagagaacccgcatcagctgcagcagcttatccgcctgccggggcagcagtatgatgagg
+agtccggcctgtattacaaccgccaccgctattatgacccgctgcaggggcggtatatca
+ctcaggatccgattgggctgaaggggggatggaatttttatcagtatccgttgaatccag
+ttacgaatacagatcctctggggttagaagtttttcctagaccattccccttgccaattc
+catggcccaaaagccctgcacagcagcaagcagatgataatgctgcaaaagcattgacaa
+aatggtggaacgatacagcatcacaaagaatatttgactctctaatattgaataatccgg
+gactagcattagatataacaatgatagcttctcgtggaaatgttgcagacacagggataa
+ctgatcgtgtcaatgacataataaatgacagattctggagtgatgggaaaaaacccgaca
+gatgtgacgtacttcaggaactaattgattgtggtgatattagtgctaaagatgcaaaaa
+gcacacagaaagcctggaattgtcgtcactccagacagtcaaacgataaaaaaagatagc
+ccttgtggaggttcctgcaatgtcaaatacataccagaaaagaaaggcaagtaaagagta
+tggtttatataatcaatgtaagaaactaaatgatgatgaattatttcgcttacttgatga
+tcacaattccttgaaaaggatttcatctgccagagtattacagttaagaggtgggcaaga
+cgctgttagattggcaattgagttctgctctgataaaaattatatccgtagagatatcgg
+agcatttatactcgggcaaataaaaatttgcaaaaaatgcgaagataatgtttttaatat
+tttgaacaatatggcattgaatgataagagcgcttgcgttcgagctacggcaatcgagtc
+aacggctcagcgatgcaagaaaaacccaatttattcacctaaaatagtagaacaatctca
+aattactgcttttgataaatcgactaatgtcagacgtgctacagcatttgctatttctgt
+tatcaatgataaagcaacaattccactattgattaatctgttaaaagatccaaatggaga
+tgtcagaaactgggccgcatttgcaataaatatcaataaatatgataatagtgatattag
+ggattgttttgtggagatgcttcaggataaaaatgaggaagtccgtattgaagcaataat
+cggactttcctacagaaaagataaaagggttttatctgttttatgcgatgagttaaaaaa
+aaatactgtttatgatgatatcattgaagctgcgggtgaattaggtgataaaacgctact
+tcctgttttagatactatgttgtacaagtttgatgacaatgaaattataacttccgctat
+tgataagctgaagcgttcatagcgtgagttgcctatgcacagtgggggattcccgccggc
+acggtgcagatgctcgaccggctggaaagtgaaatcctggctgaccgggtgagtgaggaa
+agccgccgctggctggcatcgtgcggcctgaccgtggagcagatgaaaaaccagatggac
+ccggtgtacacgccggcgcgaaaaatccacctgtaccactgcgaccatcgcggcctgccg
+ctggcgctcatcagcacggaaggggcaacagcgtggtgcgcagaatatgatgaatggggc
+aacctgctgagtgatgagaacccgcatcatctgcagcagctcattcgcctgccgggtcag
+cagtatgatgaggagtccggcctgtattacaaccgccaccgctattatgacccgctgctg
+gggcggtatatcactcaggatccgattggactgaaggggggatggaatttttatcagtat
+ccgttgaatccggtcataaatgtagatccgcaaggtttggttgatataaatttatacccc
+gaaagtgatcttatccattctgtagctgatgagattaatatcccaggcgttttcacaatc
+ggggggcatggtacccccacatctattgaatccgcaacgcgcagtatcatgacagctaaa
+gatctagcatatctaattaaatttgatgggaattataaagatgggatgacagtttggtta
+ttttcttgtaatacaggtaaaggacaaaattcatttgctagctaattagctaaagagtta
+catacaaatgtaataggacctgacacgctatggacgtggtgggggcgaggaactaatggt
+aagttaaaaatggatacagtgctaacagcaccaacgaaccttaattcaaataaggatcta
+atggctataacaacaaaagaccttggtaattggataacatatgggccatctgggcacccc
+atttctaatatgcaaggtacgccagaaaaacccagtgatataagataggttgtagatgta
+tgaaagcatgcttgttactatttttttatttctcttttatttgtcaattgcatggtgctg
+atgtgaaaataaaacaaaacgaaagtatgatggggtctacagcaatgacctatgatttaa
+gtgaagaaaagttgatgaaactgaagtataaatcacaacatggtgattcagaggcatcat
+ttcgactatatcaatattactgctttactaaaaataacatttacaaacaattgcgattct
+tggaaagatcagcatctcaggggaatgttacagcgcagtttaattatggggtctttttat
+cagatacaaatccaacattatcagaatattataatttgaatagagctatttattggatgg
+aattcgctgtaaataacggtaatattgatgcaaagagcaaacttcaagagctcaaaaagc
+taaagcgaatggatagaaggaagaataaggagaatccgtaaaagcaatagttcatcagac
+tgccgcagcagtagtatgatgatgaatcagggctgtactataactattatcggtaacatt
+aaccgcagcaggggcggtataacactcaggctccgattgggctggaaggtaggtggaatt
+tttatcagtatccgttgaacccgatttctggaatcgatccccttgggattagccacctgt
+ttatacagcataactttaggtatgctttcgtgtgtttcagatataccatgtgatgataat
+ttttatgatgtgcttagtattccagtcgcttctggtaataatatgcaatgtaaaaataat
+ccccgttgtacacatttataaatagatggccaatacctcaaggcctatggagttggaatg
+ttaatgacccgggagcaagcaatagaaaacctgacggcatacgattagtaccgtcagtta
+atacaggaacttataatcgcaatggattttcaatacatagttgtttaaacgcttttggtc
+cgtctttaggacctcgattctgttccgagggttgtataactggtttatctaatgacatgc
+aaaaattaaatgagttaatattttcagagccagatagcacattaacagttacggactaaa
+aaatatggcaaggttattaacaattgtatttttttctctatttctgcgagtgcagttact
+gcaagacaatttcagagagagttagatttggcagacaaagcaatattatgggcactaata
+tcagccagtactaaagagggacgaaaagcgtgttcactaagctattttgcctgtaaggcc
+gcagaggctgaactcggactggcatatatggctgcgaatgataacaaggaatttctcaca
+tccttatctaatataatgaggtacaaaatagatgctggactttccgaatcctatacatgc
+tatttattaagtaagggaaagatcataagaccatatctgaaaaatctaaatccactccaa
+cttgccgctgattgcattgaaacagtaaataaaataaaagataagaataaaaaaaatcat
+tgatataaattcagttaatatttgtagtgatgataaaaatataaaattgagagttaatag
+tactattatggccattgatgattctataaagtgcatcgatgaatgataacttaattttat
+ttaaaaatatattaataactcactctccaggagtttttttaacttagttttataatgaat
+acgataattaaaagtgaagaagaaaatagttgtatacatatattccatgaccctacattg
+tgatctatagattaaatattttttaaatgtgactgtcatccttcagataataaagccatc
+atcgcaatagatggaaaagcactcctgctcttttttgattagagccgtcgcaggaggaac
+aactcatatcatcattgcgatctcgacgatgtatagtctcatcctgcggcagaacaagac
+ggataaaaaatccaatgagagcacactcatccagaacttattaacataatgaatattaaa
+gaaaaatcatcgaagctaatgaagtaatatgcaaaaataattagtccttacaaggagcaa
+agttccataatctcccccctccccctcaatgatccaaataaagataatgcatccagctgg
+tcattcttagcagcactttccgcatcaccgaaacatggctgaaatggtcggagtaaaccg
+ccacctgggcgtagatgccgtcgggtaaggcatcgatatcatcgttagggtccagttcaa
+tggttcccagcacaccgtccgtgccgggcacgaccgttaatgattgcaataccccctgcg
+cctgataagaaccgcctggcacgacaggtaaaatactagtcagtttgccgtgaaacacct
+gcccaggtagcgcgttaaacaccacttccgcatcatcgccaggtttcagacgtaacagcg
+agttttgccgaaattgggcgacaatttgccgtttttgctcggggatgaagaccatcaccg
+gacgcagcggcaaggcagctgcgtatgtacctgggcggatcagtacctgagtaacgtagc
+cattgctcggcgcgcgaatgacagtctgctcaaggttatattttgcttcagtaagttgcg
+ctcttaagctcacaatctgcgattgctcgccgttaaccatactgtcgagctggctctgga
+tctgcgcctgctccgccaccgagcctttcaccagcgcatcctgcgcgaggaaattttgcc
+gcgcatcgtcgatgtcacgttccgagaacggattcaccgccgcctggctgcctttcaagt
+aacgttgataatttttaaacagacggtcgcgctccgctgaaacctgggtggtgttggcct
+gcgcttcagtgagctgcgcacgcagcgtctttatattatgcgtcgccgtcatcaggtcag
+cctgaagtctgtcaactcgcgcctggtaacgaaccgggtcgagcttaaaaagcacctcgc
+ccttttgaataagctgattattcttgtcagtgacttcagtaacaattcccgtcacctgtg
+gcgtgatagggatcgctatcactgccttttgcgcggtaaaagtgtaagggtggttgtagt
+tcatcaacaaaatcaaaccactcaccagaaacacgcctcccagcgccgccgtcgccagcg
+tccactgatttaccggaatgcggaagattttaaagaccgcccacgccagcgccacgtaag
+ttaaaacaatcaatagatccataattagatctccgggaacgtggaatagtcagtcttttt
+ctcggcggcgagttgatgctccagccgggaaattcggtcagaaagtgcggcgatttccgg
+gtcagtcgctttctcctgcgacgcaacatgtgactgcataccccagccacgctccggttg
+atagagcgtcgcccagatccacagaaacggccagataacatgcagagtaaacaggctcac
+ccagcccgccgtatgaatagcgtcggcatggggatggttgcgctttttggcaatcagata
+agggatgtcatgtatcgcgatgattccataaaaaatcaccagaaagacgaagatcagcac
+tcccaacgcgaaatagtttagaaacatatctgcctcggattcacgtttatcagtgttgtt
+tttgggctggcagccagaagggagtcaggctgatattttgacaataatccgggttcgcga
+ttctcgccataacaccaaagaataatttttagaggtgatgagttgcttagttacataacg
+attgtatgacgaaggcataacatgctgtagatcacatcaggtgaacgccgtaagaaaata
+tcttgtgattcagatcacaaagattcaacaaaccatcaaaacaaaaatgtgacactactc
+acatttaaatgccatttttagcgaaaatcgccgccttgttgcttttttacacaagcgttt
+tgtgatgaacgtcacgtcaattacctctctaccccctatatttatgtgattgatatcaca
+caaaaggccgtcgactggacagttaaccgattcagtgccagatttcgcagtatctacaag
+gtccggctacctctgccgccacattaacaaaaaacctcgggcttccagcctgcgcgacag
+caaacataagaaggggtgtttttatgtcatccgatattaagatcaaagtgcaaagctttg
+gtcgtttcctcagcaacatggtgatgccaaatatcggcgcgtttatcgcgtggggtatca
+tcaccgcgttatttattccaacagggtggttaccgaacgagacgctggcgaagctggtcg
+ggccgatgatcacttatctcctgccgctgctgatcggttataccggtggtaagctggtag
+gcggcgaacgtggcggcgtagtcggtgccatcaccaccatgggcgttatcgtcggcgcag
+acatgccgatgttcctcggttctatgattgcaggtccgctgggcggctggtgcattaagc
+acttcgaccgctgggtagacggtaagatcaaatccggttttgagatgctggtgaataact
+tctccgcaggcatcatcgggatgatcctcgctattctggcattcctcggcattggcccga
+ttgttgaagccctgtccaaaatgctggctgcgggcgttaacttcatggttgtccatgaca
+tgctgccgctggcgtctatctttgttgaaccggcgaaaatcctgttcctcaacaacgcca
+ttaaccacggtatcttctcgccgctgggtattcagcagtcccatgaactgggtaaatcaa
+tcttcttcctgattgaagctaacccaggtccaggtatgggcgtgctgctggcgtacatgt
+tctttggtcgtggtagcgctaaacagtctgcgggcggtgcggcaatcatccacttcctgg
+ggggtatccacgaaatctacttcccgtatgtgctgatgaatccgcgtctgatcctcgcag
+tcatcctcggcggtatgactggcgtgttcacgctgactatcctgggcggtggtctggttt
+ctccggcatctccgggttctatccttgctgtactggcgatgacaccaaaaggtgcttact
+tcgctaacatcgcgggtgtgtgtgcggcgatggctgtctccttcgttgtctctgctattt
+tgctgaaaaccagcaaagtgaaagaagaagatgatattgaagcagcaactcgtcgtatgc
+aggacatgaaagctgagtctaaaggcgcatctccgctgtctgctggcgatgtgactaacg
+acctgagccacgtacgtaaaatcatcgttgcctgtgacgccggtatgggttccagtgcga
+tgggcgcaggcgttctgcgtaagaaaattcaggatgcaggtctgtcgcagatttctgtta
+ctaacagcgcgatcaacaacctgccgccagatgtggacctcgtcatcactcaccgtgacc
+tgaccgaacgcgctatgcgccaggttccgcaggcacagcatatttcgctgaccaacttcc
+tcgacagcggcctgtacaccagcctgaccgaacgtctggttgctgcccaacgccacacgg
+caaacgaagagaaagtaaaagacagcctgaaagacagctttgacgattccagtgctaacc
+tgttcaagctaggcgcggagaacatcttcctcggtcgcaaagcggcaaccaaagaagaag
+cgattcgttttgctggcgagcagctggtgaaaggcggttacgttgagccggaatacgttc
+aggcgatgctggatcgtgaaaaactgaccccgacttatctgggtgagtctatcgcggtgc
+cacacggtacggttgaagcgaaagatcgcgtactgaaaacgggcgtcgtgttctgccagt
+acccggaaggcgtgcgcttcggtgaagaagaagatgacattgcccgtctggtgattggta
+ttgctgcccgtaacaacgagcacattcaggttatcaccagcctgaccaatgcactggatg
+atgagtccgtcatcgagcgtctggcacacaccaccagcgtggatgaagtgctggaactgc
+tggcaggtcgtaagtaatccaatcccaccctctccacatggagaaggtggggttaattgc
+ctgatgcgctacgcttatcaggcctacaggatgcatcacaatttgttgaatttgcacgtt
+cttgtaggccggataaggcgcttacgccgcatccggcgctgcccctctcctcacggagag
+ggtttgggtgagggaaaagcctcaccccagccctctcgggtaaaaacattgatgaaggtt
+aatactatgaaagcattacattttggcgcaggtaatatcggtcgtggctttatcggtaaa
+ctgctggcagacgcgggtatccaactgacgtttgccgatgtcaatcaggtggtacttgat
+gccctgaatgcccgtcatagctatcaggtacatgtggttggtgaaaccgagcaggtagat
+accgtttccggcgtcaatgctgtcagcagcattggtgatgatgtcgttgatctgattgct
+caggttgatttagtcactaccgccgttggcccggttgtgctggaacgtattgctccggca
+atcgccaaagggcaggtgaaacgtaaagaacaaggtaatgaatccccgctgaacatcatc
+gcctgtgaaaacatggtacgcggtaccacgcagctgaaaggccatgtgatgaacgccctg
+ccggaagacgccaaagcgtgggtagaagaacacgttggctttgtcgattccgccgttgac
+cgcatcgtaccgccttcggcttcggcaactaacgatccgctggaagtgacggtagaaacc
+ttcagcgaatggattgtcgataaaacgcagttcaaaggcgcactgccgaacatcccaggc
+atggagttaaccgacaacctgatggcatttgtcgaacgtaaactcttcaccctgaacacg
+ggtcatgctataaccgcgtacctcggaaaactggccggtcatcagaccattcgtgacgcg
+attctcgacgagaaaatccgcgcggtggtaaaaggtgcgatggaagaaagtggtgcagta
+ttgatcaagcgctacggctttgacgctgacaagcatgcggcgtacatccagaaaattctc
+ggccgttttgagaacccgtatctgaaagatgatgtagagcgcgtaggccgtcagccactg
+cgtaaactgagtgctggcgaccgtctgatcaagccactgctcggtacgctggaatatggt
+ctgccacataaaaacctgattgaaggtattgccgctgcaatgcacttccgcagtgaagat
+gatccgcaggctcaggaactggcagcactgatcgctgacaaaggtccgcaggcggcgctg
+gcacagatttccggtcttgatgccaacagcgaggttgtatccgaggcggtaaccgcttat
+aaagcaatgcaataatggtggaccaggcgcaggacaccctgcgcccgaataacagattgt
+cagatatgcaggcaacaatggaacaaacccaggcctttgaaaaccgtgtgcttgagcgtc
+tgaatgctggcaaaaccgtgcgaagctttctgatcaccgccgtcgagctcctgaccgagg
+cggtaaatcttctggtgcttcaggtattccgcaaagacgattacgcggtgaagtatgctg
+tagaaccgttactcgacggcgatggtccgctgggcgatctttctgtgcgtttaaaactca
+tttacgggttgggcgtcattaaccgccaggaatacgaagatgcggaactgctgatggcat
+tgcgtgaagagctaaatcacgacggcaacgagtacgcctttaccgacgacgaaatccttg
+gaccctttggtgaactgcactgcgtggcggcgttaccaccgccgccacagtttgaaccag
+cagactccagtttgtatgcaatgcaaattcagcgctatcaacaggctgtgcgatcaacaa
+tggtcctttcactgactgagctgatttccaaaatcagcttaaaaaaagcctttcaaaagt
+aagcaacgtctgcttactgcccctctacctgcttcggccgataaagccgacgataatact
+ccagacgttgtagatataacggcacgctttcatcgggtattccggacggaatcgcgttac
+ggggaggaagttttttcagatactcccggaacgcctggcttgatgccatgaaatctacgg
+ctttatcgataagaagcggaacgttttcacctaatttgcccatgatgatatctccgtatt
+accccgcgccgggaatgcgcggccgccaattttagtttaggttcccggtaaagatgacat
+taaggaaaacgtgctgaatcctcaataatcatccgctgctgtttattatcttttttctat
+agatttcttaattaatcaacgaattgcgcagtttttgagcatgttaatgattacgttaca
+gaactattacaatgtcattagttgtgaacaaagcacctggtcgcgcatactaggggctat
+aaatttatctttatcagaagccatcacatgaaagaagtcgaaaaaaacgaaatcaaacgc
+ctcagcgatcgcctggacgccatccgccaccagcaggccgatctttcgctggttgaagcc
+gcagacaaatatgccgagctggaaaaagagaaagccacgctggaagcagaaattgctcgc
+ctgcgtgaagttcatagccaaaaactgagtaaagaagcacagaagctgatgaagatgcca
+ttccagcgcgcaattaccaaaaaagagcaggctgatatgggcaagctgaagaaaagtgtt
+cgcggactggtcgttgtgcacccaatgaccgcactgggccgcgaaatgggcctgcaggag
+atgactgggttttcaaagaccgcgttttaagaacacagtatctacagggtgattctgcac
+attcctataggccgagtaaggtgttcacgccgcatccggcaagataaggcgctctggatc
+aacaacctaagggcaattctctgatgaggattgcccttttctttaccagacatctccccc
+cacaagaattggccctaccaattcttcgcttatctgacctctggttcacaatttcccaat
+taaaactcacatcaatgttgccaatacataacatttagttaaccattcattgtcattatc
+cctacacaacacaattggcagtgccacttttacacaacgtgtgacaaggagatgagcaac
+agactcattacacgatgtgcgtggactccaggagacctgcaatgaatctctggcaacaaa
+actacgatcccgccgggaatatctggctttccagtctgatagcatcgcttcccatcctgt
+ttttcttctttgcgctgattaagctcaaactgaaaggatacgtcgccgcctcgtggacgg
+tggcaatcgcccttgccgtggctttgctgttctataaaatgccggtcgctaacgcgctgg
+cctcggtggtttatggtttcttctacgggttgtggcccatcgcgtggatcattattgcag
+cggtgttcgtctataagatctcggtgaaaaccgggcagtttgacatcattcgctcgtcta
+ttctttcgataacccctgaccagcgtctgcaaatgctgatcgtcggtttctgtttcggcg
+cgttccttgaaggagccgcaggctttggcgcaccggtagcaattaccgccgcattgctgg
+tcggcctgggttttaaaccgctgtacgccgccgggctgtgcctgattgttaacaccgcgc
+cagtggcatttggtgcgatgggcattccaatcctggttgccggacaggtaacaggtatcg
+acagctttgagattggtcagatggtggggcggcagctaccgtttatgaccattatcgtgc
+tgttctggatcatggcgattatggacggctggcgcggtatcaaagagacgtggcctgcgg
+tcgtggttgcgggcggctcgtttgccatcgctcagtaccttagctctaacttcattgggc
+cggagctgccggacattatctcttcgctggtatcactgctctgcctgacgctgttcctca
+aacgctggcagccagtgcgtgtattccgttttggtgatttgggggcgtcacaggttgata
+tgacgctggcccacaccggttacactgcgggtcaggtgttacgtgcctggacaccgttcc
+tgttcctgacagctaccgtaacactgtggagtatcccgccgtttaaagccctgttcgcat
+cgggtggcgcgctgtatgagtgggtgatcaatattccggtgccgtacctcgataaactgg
+ttgcccgtatgccgccagtggtcagcgaggctacagcctatgccgccgtgtttaagtttg
+actggttctctgccaccggcaccgccattctgtttgctgcactgctctcgattgtctggc
+tgaagatgaaaccgtctgacgctatcagcaccttcggcagcacgctgaaagaactggctc
+tgcccatctactccatcggtatggtgctggcattcgcctttatttcgaactattccggac
+tgtcatcaacactggcgctggcactggcgcacaccggtcatgcattcaccttcttctcgc
+cgttcctcggctggctgggggtattcctgaccgggtcggatacctcatctaacgccctgt
+tcgccgcgctgcaagccaccgcagcacaacaaattggcgtctctgatctgttgctggttg
+ccgccaataccaccggtggcgtcaccggtaagatgatctccccgcaatctatcgctatcg
+cctgtgcggcggtaggcctggtgggcaaagagtctgatttgttccgctttactgtcaaac
+acagcctgatcttcacctgtatagtgggcgtgatcaccacgcttcaggcttatgtcttaa
+cgtggatgattccttaatgattgttttacccagacgcctgtcagacgaggttgccgatcg
+tgtgcgggcgctgattgatgaaaaaaacctggaagcgggcatgaagttgcccgctgagcg
+ccaactggcgatgcaactcggcgtatcacgtaattcactgcgcgaggcgctggcaaaact
+ggtgagtgaaggcgtgctgctcagtcgacgcggcggcgggacgtttattcgctggcgtca
+tgacacatggtcggagcaaaacatcgtccagccgctaaaaacactgatggccgatgatcc
+ggattacagtttcgatattctggaagcccgctacgccattgaagccagcaccgcatggca
+tgcggcaatgcgcgccacacctggcgacaaagaaaagattcagctttgctttgaagcaac
+gctaagtgaagacccggatatcgcctcacaagcggacgttcgttttcatctggcgattgc
+cgaagcctcacataacatcgtgctgctgcaaaccatgcgcggtttcttcgatgtcctgca
+atcctcagtgaagcatagccgtcagcggatgtatctggtgccaccggttttttcacaact
+gaccgaacaacatcaggctgtcattgacgccatttttgccggtgatgctgacggggcgcg
+taaagcaatgatggcgcaccttagttttgttcacaccaccatgaaacgattcgatgaaga
+tcaggctcgccacgcacggattacccgcctgcccggtgagcataatgagcattcgaggga
+gaaaaacgcatgattatttccgcagccagcgattatcgcgccgcagcgcaacgcattctg
+ccgccgttcctgttccactatatggatggtggtgcatattctgaatacacgctgcgccgc
+aacgtggaagatttgtcagaagtggcgctgcgccagcgtattctgaaaaacatgtccgac
+ttaagcctggaaacgacgctgtttaatgagaaattgtcgatgccggtggcactggctccg
+gtgggtttgtgtggcatgtatgcgcgtcgtggcgaagttcaggcagccaaagcggcggac
+gcgcatggtattccgtttactctctcgacggtttccgtttgcccgattgaagaagtcgcg
+ccagccatcaagcgcccaatgtggttccagctttatgtactgcgcgatcgcggctttatg
+cgtaacgcgctggagcgagcaaaagcagcgggttgttcgacgctggttttcaccgtggat
+atgccgacaccgggcgcacgctaccgtgatgcgcattcaggtatgagcggcccgaacgcg
+gcaatgcgccgctacttgcaagcggtgacacatccgcaatgggcgtgggatgtgggcctg
+aacggtcgtccacatgatttaggtaatatctcagcttatctcggcaaaccgaccggactg
+gaagattacatcggctggctggggaataacttcgatccgtccatctcatggaaagacctt
+gaatggatccgcgatttctgggatggcccgatggtgatcaaagggatcctcgatccggaa
+gatgcgcgcgatgcagtacgttttggtgctgatggaattgtggtttctaaccacggtggc
+cgccagctggacggtgtactctcttccgcccgtgcactgcctgctattgcagatgcggtg
+aaaggtgatatagccattctggcggatagcggaattcgtaacgggcttgatgtcgtgcgt
+atgattgcgctcggtgccgacaccgtactgctgggtcgtgctttcttgtatgcgctggca
+acagcgggccaggcgggtgtagctaacctgctaaatctgatcgaaaaagagatgaaagtg
+gcgatgacgctgactggcgcgaaatcgatcagcgaaattacgcaagattcgctggtgcag
+gggctgggtaaagagttgcctgcggcactggctcccatggcgaaagggaatgcggcatag
+tcgtttgcgccccctcaccctaaccctctccctcagggagaggggaccgttcggcgctgt
+atgtactccctcactctgaaacgacaccgcactctttttttctccctcgcccctccgggg
+agagggccggggtgaggggaaaaggccgcactgctcaccaattttctgctatcctgcccc
+cgcactaagggggcagtatgctaaacatcgtactttacgaaccagaaattccgccaaata
+ctggcaacatcatccgtctttgcgctaataccggctttcgtctgcatatcatcgaaccga
+tgggatttgcctgggacgataagcgcctgcgccgcgcggggctggactatcacgagttta
+ccgccgttacgcgtcatcatgactatcgcgcgttcctcgaagcagaaaatccccagcgcc
+tgttcgccctcaccacgaaaggtacacctgctcacagcgccgtaagctatcaggatggcg
+attatctgatgttcggcccggaaacacgcggcctgccagcgagcattcttgatgccctgc
+ccgctgaacaaaaaattcgcattccgatggtgccggacagccgcagcatgaatctgtcca
+atgcggtgtcggtagtggtgtatgaagcctggcggcagttggggtatccgggagcggtat
+tgagagattagttactgtaggccggatagatgattacatcgcatccggcacgatcacagg
+acattagatcccatccccatactcaaatgtatggttaataccgttgaaatgctggtccat
+atccattgatggcttatcgctgtctggtttaccgacaatacgagccggaacgccagcggc
+ggtggtatgcggcggcaccggttgcagcaccacggaacctgcgccaatcttcgcgccgcg
+cccaacttcaatattgccgaggattttcgcgcccgcgccaatcatcacaccttcacgaat
+tttcgggtgacggtcaccaccagatttacccgtaccgccaagcgtcacagattgcagaat
+cgatacgtcgttttcaatcaccgccgtttcaccaacgacgatgcctgtcgcgtggtcaag
+catgataccgcgaccaatttttgctgccgggtgaatatcgacctggaacgtcacagaaac
+ctggttttgcagaaagattgccagtgcgcgacgcccctgattccacaaccagtgaccgat
+gcgataggcctgcaaggcatgaaaacccttcaggtataacaacggggttgagtatttatc
+gactgccgggtcgcgggtacgcaccgcctgaatatcacaggccgcagaggcgatcatttc
+cgggtcagcggcgtaggcttcttccaccacttcacggatagcaatagcaggcataattgg
+cgatgacagcttgttcgccagcatgtagctcagtgcactgccaaggttttcgtgcttgag
+tagcgtcgcgtggtaaaaactggccagcattggctcacagtccgccagcgttctggcttc
+ggctttaatattgttccagacaatttccagttcttcacacgacattgcttactccacacg
+atgagataatgaccggcccgttctgcgcgggccgggtcatagcggtaacaaaggttccct
+ggggttagtggctgctgcgctcgtccttgcgtgcacgacctagtaaagtcaatgctgcct
+cgcgcgcgttttttccgcaatataatacttgataaatttcctcggttattggcatttcaa
+cgccgaagcgatgcgccagttcgcggacttctttcgtattgcggtagccttccaccacct
+gaccaatcttctcctgcgcgctttgtacatccatgccctgaccgagcatcatgccaaaac
+ggcggttacgcgactggttgtcggtacaggtaagcaccagatcgccaagccccgccatgc
+ccataaaggtggcagggtcggcacccagcgccgcaccaagacgcgacatttcagccagcc
+cacgggtgatcagcgccgtacgcgcattcgcaccaaaaccgataccgtcggacatccccg
+caccaatggcaataacgtttttcaccgcgccgccaagctgcacgccaatgaaatccggat
+tgctgtaaacgcggaaacttttgccgcagtgcagcagctgctggagatcatcggcaaagg
+tctgatcggtcgaggccagcgaaatagctgtcggtaaacctgccgccagttctttcgcaa
+acgttgggccagagataaccgccagcggaatttgatcgcctaaggcctcacgcgccacgt
+cctgtaacagacgtccggtttccgcttccagccctttggtcgcccacaccagacgcgcat
+caggacgcatcagtggtttaatctggcgcagcacttcaccaaagacatggctgggtacga
+cgacgagaatattacggctggctgccagcgcagtggcgagatcgctttcaagatggagcg
+tatcgggaaaaggcacatcggggagaaacgcggcgttacagcggtcgcgttcaagcgttg
+cgatatgttcagggtcatggccccagaggacaacctcgtggccatttcttgccagggtga
+tggcaagagcggtgccgtacgagccggcaccgatcacagtcattgaagcattacgttggt
+tcatcaggcatcctgatgttcttcagtaccttcgccagcctgctgctgcaaatagttcat
+gaacagcgcatcgaagttaaccggcgcaaggttcagttgcgggaatgtaccgcgggatac
+catgctggtgatgcactcacgagcatacgggaacagaatgttcgggcagtatgctcccag
+gcaatgcgccatctgggtgccttcgatacccgcgatggagaaaataccgccctgctgaac
+ttcacacaggaacgcggtttcttcgcccaaagaggccgttacggtaacacgcagtaccac
+ttcgtatacgtcatctgccagttgggaagatgccgtatccagatcaagtttaacttctgg
+ttgccaatctttctggaaaacgtgcggcgcgttcggcgcttcgaaagagatatccttggt
+ataaatacgttggatctggaaagtcatttcagtgttgttttgttctgacatgtgtagaaa
+acccttaagtgttgtccttaaatactgcgcaatgtaatgccaacgttcacacgttatttc
+agcaggggatccagtccaccacgtgcatccaatgcatacaagtcatcacagccgccaatg
+tgctgtgcgtcaataaaaatctggggaaccgtggtgcgaccgctgcgtttgatcatctct
+tcacgcttggcggcgttgccatcgatcggcagctcctggaaactcacgcccttgctgctc
+agcagtgcttttgcacgatggcaatacgggcaggtttctttggtatagatttcaacattg
+gccataaattagctcctgtttttttaccctgaaatttcatgttgcagggcggcagcaaaa
+tggagtgtccccagaagcttataacaataagtcgctgggggcctaattgcagctaacggc
+ctgcatcatgaaagacgacaggtaaattatttgccgcgcaccaaaggcaagttttcgcca
+gcccagccagcgacgccttctttcagcacgaatacttgcgcaaaaccagctttcgtcagt
+gcgtttgcaggctcctggcactgcatgccagaaccgtctaccacgataaccggtttgtct
+ttgtgcttctcaagctcaccaacattgttggctttgatttcgctcggcaacagattaata
+gaacctgcgatatggcctttacggaagtcatcacgctgacgtaaatccacaaccacagcg
+tcttctttgttgatcagacgcgtagcttcaccacgagtaatcaccttcactttcgaggtc
+aggctcttaaacgtagtcacaagaaccgccaccagtaacgcgatccaggcgatactcagt
+atgggatgacggccaacaaattgcataatttcttgcatggggggtaacaactcccgacgt
+agtgattaaaaaaaccaggaaaggagtatacctgcgcggtgcggcaaatacagccagcgc
+gttaactggaatgcaattttgcggggcgcgacgaaaaaaaagcgtaaatctggcatcggc
+ttgccgcgagcggtcgtatattttgatcttcagaggctattttatcgattcagctgtagt
+aaaattacgcaaattttgactcttgagtatgaggttgtcgcaatgttggtttctaaaaaa
+cctatggtactggtgattctggatggctatggctatcgcgaagaacagcaggataacgcc
+atttttagtgctaaaaccccggtaatggatgcactgtgggccaatcgtccgcatacccta
+atcgacgcttccggtctggaagtcggtctgcctgaccgtcagatgggtaactccgaagta
+ggccacgttaacctgggtgccggccgcatcgtgtatcaggacctgactcgtctggacgtt
+gaaatcaaagatcgcgctttctttgctaatccggtgctgactggcgcggtagataaagcg
+aaaaacgcaggcaaagcggtacacattatgggtctgctctccgcaggcggcgtacacagc
+cacgaagatcacatcatggcgatggtagaactggcagctgaacgcggcgcagaaaaaatc
+tacctgcacgcattccttgacggtcgcgacactccgccgcgcagtgctgaatcctcgctg
+aaaaaattcgaagaaaaatttgccgcgctgggcaaaggccgcgtagcgtccatcattggt
+cgttactacgcgatggaccgcgataaccgttgggatcgcgtagaaaaagcttatgacctg
+ctgactctggcgcagggcgagttccaggccgataccgccgttgctggtttgcaggctgct
+tatgctcgcgacgaaaatgatgaattcgtgaaagcgaccgttatccgtgctgaaggtcag
+ccagacgcggcaatggaagacggcgatgcactgattttcatgaacttccgtgctgaccgc
+gcgcgtgaaatcactcgtgctttcgtgaacgctgatttcgatggcttcgcgcgtaagaaa
+gtggttaacgtcgatttcgtgatgctgaccgaatacgccgctgacatcaaaactgcggtt
+gcttacccacccgcttccctggttaacaccttcggcgagtggatggcgaaaaacgacaaa
+actcagttgcgtatttccgaaaccgaaaaatatgcccacgttactttcttcttcaacggt
+ggcgtagaagagtcgttcaaaggcgaagatcgcattctgatcaactcaccgaaagtggct
+acctacgatctgcaaccggaaatgagctccgcagagctgaccgaaaaactggttgcggcc
+atcaagagcggcaaatacgacaccatcatctgtaactatccgaacggcgacatggtaggt
+cacaccggggtgatggaagcggcggttaaagcggttgaagcgctggatcactgcgtggaa
+gaagtcgcgaaagcggttgagtccgtgggtggacaactgctgatcaccgctgaccacggt
+aacgctgagcagatgcgcgatccggcaacgggtcaggcacacacggcacacaccaacctg
+ccagttccgctgatttacgttggtgataagaacgtgaaagcggttgaaggcggcaaactt
+tctgacatcgcgccgaccatgttgtcgctgatgggtatggaaatcccgcaagagatgact
+ggtaagccgctgttcatcgtggaataatccctccccatgaggggaaaggcgattaatacc
+atgacacgggccgtgaaaccgcgcaggtttgcaatcaggcccatcatctacgccagcgtt
+cttagcgctggcgtattgttgtgcgccttttccgcccacgcggatgagcgtgaccaactc
+aaatctattcaggctgacatcgccgcaaaagagcgcgcggtacgccaaaagcaacaacaa
+cgcgcaagcctgctcgcacaattgaaaaagcaggaagaagcgatctctgaagccacccgt
+aagctgcgcgaaacgcaaaacacgctcaatcaactcaataaacagattgatgagatgaac
+gcgtcgattgccaaactggagcagcaaaaagccgcccaggagcgcagcctcgccgcacaa
+ctggatgccgcattccgtcagggcgagcataccggtattcagctgattctcagcggtgaa
+gaaagccagcgtggacagcgtttacaggcttatttcggctatctcaaccaggcgcgacaa
+gaaaccattgcccagttgaagcaaacgcgtgaagaagtcgccatgcagcgtgctgaactg
+gaagagaaacagagcgagcaacaaacgctgttatatgagcagcgcgcccaacaggcgaaa
+ctgactcaggcgctgaacgagcgtaaaaagacgctggcagggctggagtcttccatccag
+caaggtcagcaacagttgagcgagctgcgcgccaacgaatcccgtctgcgtaacagcatt
+gcccgtgcggaagccgcggcgaaagcgcgtgcagaacgagaagcacgtgaggcccaggcg
+gttcgcgaccgccagaaagaagcgacgcgcaaaggcaccacctacaaaccgaccgaaagc
+gaaaaatcgctgatgtcccgtaccggtggtctgggcgcgccgcgtggtcaggcattctgg
+ccggttcgcgggccgacgctgcatcgctatggcgaacagctacagggtgaattacgctgg
+aaaggtatggttatcggtgcttctgaaggtactgaagttaaagcgattgccgacggtcgg
+gtgattctggctgactggctgcaaggctacggtctggtggtggtggttgagcatggtaaa
+ggcgacatgagtctttacggctataatcagagcgcactggtgagcgttggttcgcaggtt
+cgcgcgggccagccgattgcactggtgggcagcagtggcggtcagggtcggccttcactc
+tatttcgaaattcgccgccagggtcaggcggtcaatccacagccgtggttgggaagataa
+gttttgtttccatttcgtcgtaacgttcttgcatttgccgctctgttggcgctctcctcc
+cccgtacttgctggcaaacttgccatcgtcattgatgattttgggtatcgcccgcacaac
+gaaaaccaggtgctggcgatgccttccgctatctccgtcgctgtattacccgattcaccg
+cacgccagagagatggcgaccaaagcgcataacagcgggcacgaagtgttgattcatctc
+ccgatggcaccgttgagtaaacagccgctggagaaaaatacgctacgcccggagatgagc
+agcgacgaaattgagcgcattattcgtagtgcggtcaataacgtgccctatgccgtgggg
+atcaacaaccacatgggcagcaagatgacctctaacctgtttggtatgcagaaagtgatg
+caggcgctggagcgttacaatctttacttcctcgacagcgtaaccatcggtaatacccag
+gcgatgcgcgccgcgcaaggcactggcgtgaaggtgatcaaacggaaggtattcctcgac
+gattcgcaaaatgaagcggacatccgtgtgcaatttaatcgcgcaattgacctggcgcgt
+cgcaacggttcgaccattgccattgggcatcctcaccctgcaacggtacgcgtgttgcaa
+cagatggtttataacctgccgccagacattacgctggtgaaagccagcagcttgctgaat
+gaaccgcaggttgatacttctacaccgccgaaaaacgctgtgcctgatgcaccgcgtaat
+ccgttccgtggcgtgaagctgtgcaaaccgaagaaaccgatagaacctgtttatgctaat
+cgcttctttgaagtattaagcgaaagcatcagccagagcacgctgatcgtttacttccag
+catcagtggcaaggctggggcaaacagcccgaagcggcgaagtttaacgctagcgcaaat
+taaaggcgctacgcgtaatgcgatggtgcgaccgcgttttgtcgcgccattgccataagc
+ggaaagaccacagtaacgcctggtaaccgaccttcacgctgcgcacattggtaatcaggc
+gcttatacataccggaagtaaatatctcggcaatcatccgttggcgggtaagaatatccg
+gctctttgcgcaccgcatggcaaacacgcaatgcctcgtaagttatttgctgatgaaatt
+ccggataaatcataattttgtcggcataatttcgatttaatttctccagcaggcgggtaa
+tcttaatatagtgacgttgataattaaggtttttattcccttgtctatgcaaccgactca
+ctgacgtattatgcagataatatttatataatgattgctcggtatatcgcgcacgcagcg
+cgttaaacatgaattctgttgtccagacaatatcctgatgatgtaatccggcaataaatt
+taatgttatttttaacaataacatcacggcgataaacccccatccagacaacgtgagtcc
+aacggcgcgaagaaagccccatccgcagccagtccgggccggttaatacgccggttgagc
+gaaggcgatcggtggggatggattgccaggtttctcccgtttcacgaaaacaccagtcag
+cgttgcactgcgccacgtcgaggtcgtcctctaacgccatggtcatcagcgtttcgtaca
+tggtgggatagacttcatcgtcagcatcgacaaaagcgacatatttgcccgttgccactt
+caatcccacgattacgcgccaccgatgcgccagcattcgcctgatgcaacaaacgaacgt
+gcggatagttttctgcgtaatactttgctatttcaacagaattatccgttgaaccatcgt
+taataataatgatttccagagcagtccaggtttgcgtaattaaagattccatacaagtgc
+ggaaatcatcgcccgcattatataacggaataataacactaagtttattggtgctgttca
+tcataaattaccgacgacctctgaagttatcctgacgttttacaggctttgtattaagaa
+actattaagcctgtgagatattatttttacaggtgagagagtcacttcagggtagagaga
+taatgagagcagctatataagagatcagcacaattacgaactctttattacactgacagg
+attttacatatttaacagattatcctcagataaaagggctggaataccagcccttgttcg
+tgttaatcccagctcagaataactttcccggactggcccgaacgcatagcgtcaaagccc
+ttctggaaatcatcgatagagaaacgatgggtaatgatcggcgaaagatcgaggccagac
+tgaatcagcgccgccatcttgtaccaggtttcaaacatctcacgaccgtaaataccttta
+atgaacaagcctttaaagatcactttggtccagtcgatagacatatcagacggcggaata
+cccagcatcgcaatacggccgccgtgattcatggtgtcaagcatggtacgaaacgctggc
+ggcgcaccggacatttccagaccgacatcaaaaccttcggtcatgcctaactccgccatc
+acgtcattgagattttctttggcgacgttaaccgcacgggtgatacccattttacgcgcc
+agctcaaggcggtattcgttaacatcagtgatcaccacattgcgtgcaccaacgtgtttc
+gccaccgccgctgccataataccaatcgggcctgcaccagaaaccagcacatcttcgccc
+accagatcaaacgacagcgcggtatgcacggcgttaccgaagggatcaaaaattgcggct
+aagtcatcggaaatattgtcggggattttgaaggcgttgaatgccgggatcaccagatat
+tcggcaaagcagcccgggcgattaacaccaacgcctatcgtgttgcggcacaaatgggta
+cgaccaccacgacagttgcggcaatgaccacaggtgatatggccttcgccagaaacgcga
+tcgccgatcttgaagcctttcacttcctgaccaatacctaccacttcaccgacatattca
+tggcccacgaccatcggcaccgggatggttttttgcgaccactcatcccagttatagatg
+tgaacgtcagtcccgcagatggctgttttacggattttaatcagcagatcgttatgcccg
+agttccggtacaggaacgtcggtcatccagatgccctcttccgctttcagtttggataac
+gctttcatctcacatcctcaggcgataacgcccagttgtttaccaatacgcgtaaatgct
+tctactgcacgcgtaatttgctcaggggtatgcgccgcagacatctgggtacgaatacgc
+gcctgacctttcggaacgaccggatagaagaaaccggtaacgtaaatgccctctttttgc
+agctcacgggcaaatttctgcgccactaccgcatcaccaagcatgaccggaataatggcg
+tgatcggctcccgccagggtaaagcccgccgccgacatttgctcacggaactgacgcgcg
+ttcgcccacagacggtcacgcagttcgctgcccgcttcgaccatctccagtactttgatg
+gacgcggcaacaatggccggtgccagcgagttggagaacaggtacggacgagaacgctgg
+cgcagccactcaaccacttctttgcgcgccgcggtataaccaccagaagccccgcccagc
+gctttaccaagcgtaccggtgataatatcgacccggcccatcacatcgcagtattcatgg
+gaaccacgaccattttcaccgacaaaaccgaccgcgtgggagtcgtctaccatcaccagg
+gcatcatatttatctgccagatcgcaaacgcccttcaggttggcaatcacgccgtccatt
+gagaacacaccatcggtggcgatcagcacatgacgcgcaccggcttcacgcgcttctttc
+agacgtgcttccagctcctgcatatcgttgttggcatagcgatagcgtttagctttgcac
+agacgcacaccatcaataatagacgcgtggttcagtgcgtcggagataatggcgtcttcc
+gcacccagaagcgtttcaaacaggccaccgttagcatcaaagcaggaagagtagagaatc
+gcatcttccatccccaggaaggccgccagtttttgttcaagctctttatggctgtcctga
+gtgccgcaaataaaacgcaccgaagccatgccgaaaccgtgagaatccattcccgccttt
+gccgccgcaatcagatcaggatgattcgccagcccgagatagttgttggcacaaaagtta
+atgacgtggcttccatcagccacagtgatatctgcttgctgcgcagacgtaataatgcgc
+tcttctttaaacaacccttccgcccgtgcggtttccagatcgttggttaactgctgataa
+aattctccacgcattgcgattctccagacagggcaaattccagcacatattacccaaact
+tataggtcgcgacgagataacgcgttaacacttctgcaaaattcaggataaataacgtgt
+aacttgatgtctctcaacacctacagatagtagaaaaactgtacagttttggctgggcat
+aatgatgattgattttactgcattgatataaaaagaaaaaatgatgccaaagcatcattt
+ttcctatctcagttggtatcaaaacgctacccactaatggagggaaacctattttcttga
+aaggaaaattctcagcgcctgcatttttgcccctaaagtgttactcctgaagcagcgaaa
+caaatcgaaccattttcctctccccagatagtttaggttgaagagatcggggcgtttgta
+atagcacatgacaaaaatgccctggtcatcgtccacaatgttattatttagtgttatttt
+ttgactttccagaactaatttatagaattctttccatttatgctgtgaaccaacaattgc
+gcccccaataatatatacatgattgccaatcatgaaatcaaaaacctgttgttgagatgt
+gacagtaagccctttttttatagtgaaaagatgcatcttactttcatcaaatgggaaatc
+ccaaattttcaatcctcgagttacatttggcttatggcaatagccaaaatctatccacgc
+aacaagaggcgttttcactaagcccatgttgatagctttatttacaaaataggccttaag
+gttacataccaaaacatactctggtgaccagtactctgggttttttaattgtcgaggctc
+aagtctatttgtaaacgactcatctttttgaattttttcgatacgacttctgatatatct
+aaatttcttttttatatcgataacgataaccgttgttggttttccgttgcgaatcgcttc
+aacccttggtttcaaatcgggagaagtgaaaataatcatctcattttcaagtgcggccag
+acgctcaaagtaactaaaataaacatcaactgaacgagctagtttttcacggaacccttt
+attagcagtccaatcccctctaccaatgtcaaaatatgcagtgataattgtggtggatga
+tttcattactaataagaccattaatataaaaaaagaattatatcataaatattaatagaa
+tgtatactgtatattatccattcaaatgcttccgttatttatcatacatcggaatattga
+tactaaagcactattcacatgcaaaaccaacatccgccatgaaggactagctaaaaccca
+aactagtttgttgcaattagcatccttgcacctctatgtaaagggctgaagggattcgga
+tgtgatggtatgattacagacattcgtgtctgagattgtctctgactccataattcgaag
+gttacagttatgatcatcgttaccggcggcgcgggctttatcggcagcaacatcgttaaa
+gccctgaatgataaaggcatcaccgatattctggtggtggacaacctgaaagacggcacc
+aagtttgtgaacctggtggatctgaatatcgcagactatatggataaggaagacttcctg
+atccagattatggctggcgaagagttcggcgatgtcgaagcgattttccacgaaggcgcg
+tgctcttccaccaccgagtgggacggcaagtatatgatggataacaactatcaatactcc
+aaggagctgctgcactactgcctggagcgtgaaatcccgttcctgtacgcttcttccgca
+gccacctacggcggacgcacctccgactttattgaatcccgcgagtacgaaaaaccgttg
+aacgtctacggttactcaaaattcctgtttgatgaatatgttcgtcaaatcctgcctgaa
+gcgaactcgcagattgttggcttccgttatttcaacgtttatggaccgcgtgaaggccat
+aaaggcagcatggcgagcgtcgctttccatctcaacacccagcttaacaacggtgaatca
+ccgaagctgtttgaaggtagcgagaacttcaaacgcgacttcgtctatgtgggcgacgtg
+gctgatgtgaatctgtggttcctggaaaatggcgtttccggcatcttcaatctcggtact
+ggtcgtgcggaatccttccaggcggtagctgatgctacgctggcttatcacaagaaaggc
+cagatcgaatacattccgttcccggataaactgaaaggccgctatcaggcgttcactcag
+gcagatctgacaaatctgcgcgcggcgggttacgacaaaccgttcaaaaccgttgctgaa
+ggtgtaacggaatacatggcctggctgaatcgcgacgcataagagctctgcatgaaaata
+ctggtgatcggcccgtcttgggttggcgacatgatgatgtcgcaaagtctctatcgcacg
+ctccaggcgcgctatccccaggcgataatcgatgtgatggcaccggcatggtgccgtcca
+ttattatcgcggatgccggaagttaacgaagctattcctatgcctctcggtcacggagcg
+ctggaaatcggcgaacgccgcaaactgggtcatagcctgcgtgaaaagcgctacgaccgc
+gcctacgtcttacccaactccttcaaatctgcattagtgcctttcttcgcgggtattcct
+catcgcaccggctggcgcggcgagatgcgctacggtttactcaacgatgtacgcgtgctc
+gataaagaagcctggccgctaatggtggaacgctatatagcgctggcctatgacaaaggc
+attatgcgcacagcacaagatctgccgcagccattgttatggccgcagttgcaggtgagc
+gaaggtgaaaaatcatatacctgtaatcaattttcgctttcatcagaacgtccgatgatt
+ggtttttgcccgggtgcggagtttggtccggcaaaacgctggccacactaccactatgcg
+gagctggcaaagcagctgattgatgaaggttatcaggtggttctgtttggctcggcgaaa
+gatcatgaagcgggcaatgagattcttgccgctttgaataccgagcagcaggcatggtgt
+cggaacctggcgggggaaacacagcttgatcaagcggttatcctgattgcagcctgtaaa
+gccattgtcactaacgattctggcctgatgcatgttgcggcggcgctcaatcgtccgctg
+gttgccctgtatggtccgagtagcccggacttcacaccgccgctatcccataaagcgcgc
+gtgatccgtttgattaccggctatcacaaagtgcgtaaaggtgacgctgcggagggttat
+caccagagcttaatcgacattactccccagcgcgtactggaagaactcaacgcgctattg
+ttacaagaggaagcctgacggatgcgggttttgatcgttaaaacatcgtcgatgggcgat
+gttctccatacgttgcccgcactcactgatgcccagcaggcaatcccagggattaagttt
+gactgggtggtggaagaagggttcgcacagattccttcctggcacgctgccgttgagcga
+gttattcctgtggcaatacgtcgctggcgtaaagcctggttctcggcccccataaaagcg
+gaacgcaaagcgtttcgtgaagcgctacaagcagagaactatgacgcagttatcgacgct
+caggggctggtaaaaagcgcggcgctggtgacgcgtctggcgcatggcgtaaagcatggc
+atggactggcaaaccgctcgcgaacctttagccagcctgttttacaatcgtaagcatcat
+attgcaaaacagcagcacgccgtagaacgcacccgcgaactgtttgccaaaagtttgggc
+tatagcaaaccgcaaacccagggcgattatgctatcgcacagcattttctgacgaacctg
+cctacagatgctggcgaatatgccgtatttcttcatgcgacgacccgtgatgataaacac
+tggccggaagaacactggcgagaattgattggtttactggctgattcaggaatacggatt
+aaacttccgtggggcgcgccgcatgaggaagaacgggcgaaacgactggcggaaggattt
+gcttatgttgaagtattgccgaagatgagtctggaaggcgttgcccgcgtgctggccggg
+gctaaatttgtagtgtcggtggatacggggttaagccatttaacggcggcactggataga
+cccaatatcacggtttatggaccaaccgatccgggattaattggtgggtatgggaagaat
+cagatggtatgtagggctccaagagaaaatttaattaacctcaacagtcaagcagttttg
+gaaaagttatcatcattataaaggtaaaacatgctaacatcctttaaacttcattcattg
+aaaccttacactctgaaatcatcaatgattttagagataataacttatatattatgtttt
+ttttcaatgataattgcattcgtcgataatactttcagcataaaaatatataatatcact
+gctatagtttgcttattgtcactaattttacgtggcagacaagaaaattataatataaaa
+aaccttattcttcccctttctatatttttaataggcttgcttgatttaatttggtattct
+gcgtttaaagtagataattcgccatttcgtgctacttaccatagttatttaaatactgcc
+aaaatatttatatttggttcttttattgttttcttgacactaactagccagctaaaatca
+aaaaaagagagtgtattatacactttgtattctctgtcatttctaattgctggatatgca
+atgtatattaatagcattcatgaaaatgaccgcatttcttttggtgtaggaacggcaaca
+ggagcagcatattcaacaatgctaatagggatagttagtggcgttgcgattctttatact
+aagaaaaatcatccttttttatttttattaaatagttgcgcggtactttatgttctggcg
+ctaacacaaaccagagcaaccctactcctgttccctataatttgtgttgctgcattaata
+gcttattataataaatcacccaagaaattcacttcctctattgttctactaattgctata
+ttagctagcattgttattatatttaataaaccaatacagaatcgctataatgaagcatta
+aatgacttaaacagttataccaatgctaatagtgttacttccctaggtgcaagactggca
+atgtacgaaattggtttaaatatattcataaagtcacctttttcatttagatcagcagag
+tcacgcgctgaaagtatgaatttgttagttgcagaacacaataggctaagaggggcattg
+gagttttctaacgtacatctacataatgagataattgaagcagggtcactgaaaggtctg
+atgggaattttttccacacttttcctctatttttcactattttatatagcatataaaaaa
+cgagctttgggtttgttgatattaacgcttggcattgtggggattggactcagtgatgtg
+atcatatgggcacgcagcattccaattatcattatatccgctatagtcctcttactcgtc
+attaataatcgtaacaatacaattaattaagaataaacaagtttaagaagtgagttaaaa
+ctcacttcttatctatacaacttaatctctttactgaattagttaaagtttcagtatcga
+tatcttttaccgtatatgttggggatactatttgtatagatttatgatgattcggggacc
+aaattaaatgcgagggatattccggagtacgtgaattagggtaaaatgcaagcgttggtt
+tatgataagccgcagcgatatgaacaagagctgtatcaacagaaatgacaaaatcactat
+acttggtcaacgcaacggtataaataaactcatcaaatggtagtgtttcgatttcaagta
+ttggtattgtcaataaatcttgcggtaacccggtaaatataatccgataattttcaaagt
+gtgttttcacttcttgatatataacttttatttgctcaaacgtaagacggcatatttttt
+ttgcacctaatggattaataatgactattcttgtatctccaataaattcttttattttat
+cttcaacatctactggtaaatgcaagtcgtagttggtggaaaatttaccctcaccataaa
+tatgcttcagtatttctattgctcgtgtactcatatgttcttttaaacattcatcgtggg
+gatggtaaaatgaatagtaacgcttataccaatgatcaaaacccagaatgtaagaatctt
+ttaaacttgataatattaagctatgcttaaatgagggcatagtttcaaaggggtctaata
+caatatcgaactgtaaatcccgcagatgcttacatagagtaagcatttcaagaaaaccgg
+ttgattctttaatacagaactcaaatatatttttattattagagagaaattccccaccct
+ttctatttgtgagaagagttattttaacccctttactataaagttcacgataaatcgaac
+ttaatacaattagatcaccaagtttattattatcatgaataataaggcatgatttaactt
+gtgctggatctgtaatttgattatttattttattacgaaataaaaaagaaaggaaattaa
+tcttgattttgtttatataaaatcttttctttttgtgaaaagttcctaagcgcattttta
+taccatattattttagtttcaggatgattaattagcataagaatcggttgaagttctata
+ttgcattttttttcttgtcatatcttttgattcttctgcactgatgtcttgaagtttaat
+aaatggaattacatcgtaagaaatagctgtatcatctgataaattataaatattaatatc
+ttttacattatcatgcataaaacgaaaaaatggcaatattttgaataaatccctacttaa
+ttccgagggcatgggatttttattctcatcatagaaacgagaacagctacccgttaaatc
+aagaccagaacaaataatccgcgcatacttaagtgaatatgcgatttgaattgcagcaaa
+ggcaatagtatggcatgagcaataaccaagactaatgtccttgcaaaatccaaccagacg
+accttttttagacaacggtacagagatcagcagttctttgtgaatctgtctcaaaatatt
+aaatttaatcttctttataaaaccacctttttcccgacggtaaaaggaccgtaatacgag
+gcagttctggaggatataaagtttatcttctttggaagcgtgttcataaacgtcaacgtt
+tactatggtataacgacttctctggctaaatttataaaaatcatcacgacgctgatgtaa
+aaatcggacatctgtaagtacatatataaaaggaacgatattattacttaacagatattg
+cgcagaaccattgacagcaataatatcctttgttcgtaatactgacaaaggtgttttttg
+cgatgtagggcccgaaagaaaaataataacatcatcagatattttattttcaatcaggtt
+ttcaacatcttttttgtcaatgtatctaatattcttcatgataaacctgtgaaataaata
+actccgcttaaaactgtcctggtgaagacatgtaattgtgggattttttttagcgcgctg
+gtttccctttcaaacgccgcataaaattgcgcatttttttacgatatactaaaagataat
+agcctagatctctaatctcatttttaataccgtaatgacgctctaagtcaatacgatctt
+tcgctttacgctgcgctgaagcacgctttccggagagatcgataattcgaacctcaccat
+tttttataatgaagttaccacgatgggggtcgccagaaaccatgccatgttgatgtaagg
+cattaattgattgctgaattttattttttagcgcatcatcaatatcgggcatatcacaca
+actctatgccatcaatatactcgatgatcatgatataagtatggacaaaacgtaaggttt
+tccgttcagccaataaataaaagtcattgagtgtatttaacccttcatttcgtacttttt
+gggtttgctcaaaaaggcgttcgtaataatcaccttttaacagagacttaaagaaacgtt
+cgttacgcttaactttcggagaaaaaaccttaagaatcaatttaccgtaatcggtatcaa
+taagcataacttttgtatcatcaatagaacgaaaaaccttgatgatatttatattataag
+acaagaagtcatttaatacattgaggtactttgaattgttttcatcggtaaaaacaacca
+agtctttgatcttgctcttctgaatcataataaaccagttaaatgttatttacggtaata
+ttttcggcaaagataacagactcctgctataattcctgagatataatgatgttgcactaa
+aagatgtttatatctttttttaaattcaataattgatttcgcatctcgtggagagtcatc
+tttccagggggaattttctaaagctattttatagtattttaccgatggataaattgccca
+tttgtgccacggtttagttgcacctgtataatgaataagaagagtactttctgtaatcag
+ctttttatagttttgatgtgttttgtcttttaattcacttttaattgtataaattgtatt
+gtactcacgaggcaaaaataatgtcatccctttcagtaagacattcataacatcctgatc
+agggtatttataaacattatctttactcataagaatagacaacgctttttctgttagttt
+tgcgtcagcccatttttttaagtctaaataaacgacaccggaattaaagtactgcccaag
+taattcaggatcagacaacctggataccgccttttcttgcattggctcaacatctttaac
+aacagcagcaaccgctccatttaaacccagatgtaatagttggctaatatcgcctttaca
+aacaacatctgcatcaagataaagcaaacgatcaagcgttaaacccaataattgaaatgc
+aaataaacggaagtacattgctcttgaccagacctgtgtacaaggcaagcactggagctt
+atcagtgttaattctatataacgtgattcttaattggttttgctctgcaagctttgcaat
+tttttgaaaaaaaccatcattataaacatcagcaataatataaaaatcaagattaatatg
+tcgattatttaggacaattgatgtgatggaaacacctacaccatcaagataattagcatc
+gacaccataggcaacatttaaacattcagaagtatttatattagctagccgaaaatccca
+ggctttaactttatctatctctatggcaggaaatgagtccacaatgctacccttatatca
+ttactttatagtttcccagttttaatgctttatcttttcaataaaataaaaaagatagtt
+gctaaatccttttagatatctatgctttttaagcatatgttttgcgctatatcttaattg
+attgctattgttcggtttcagcaacgccgtattcttccatggcgaagcattttttgcctc
+cataaaggcttgtgatacaggataatcccaggcccaatcatgccagggcttggttggccc
+gatataatggataaaaatagtatcgttggttactgggtttataaagctttctttgagttg
+ataatttaagctgaactgggtgttatatttaatatcagcgaaaataagtttatccgccag
+caacatatttaacacatcctgatcaggatgtgttatttttttgattatttctggctcatt
+tagcattgcaatagctcgtgcagaaacctgctgagccgcccattgggcagtattaatcaa
+taaaaaaccggagttaaagtaacctttagcaattcccgcaacacctaacgaatgggcgcg
+tttttcccaccagtcagcttgcccttctgtaacaaccattgcgactttatcgtcaggaaa
+tgagaaattaattagtggctcaatagtcccctgacaaatgatatctgcatccagataaag
+gactttaggcgccttattaataaagtaatctgcaataacaaaacgaaaatatattgcatg
+agtccaattcttagtgctaggcaatgagcgcagtcgatcaccattaatcagatatatttt
+aattctggttttatactgcaacgccagggcatcaaaatacttacgatcatcatcaccaaa
+ataatcagtaaaaatatggaaacacaatcgacttccttcattatattttaatattgaagc
+aatcgaaattccgcaaccaaatagaaagtttttgtcagttccataagcgatgtccagaca
+aagattttctgtttctactttatgatcataatcaataactgaattaagaaactcagtttc
+ctggaaaaacacctgctgcattatttcctccgggaaatagcagaaataattaccttatgt
+aatctatcgtaatacttcgattggtaaaattcatcgatcgacgcaggaattttttcatgt
+tcgatatgaatttcacctgctatatatttatttagaagagttacaaaaccagcaatatct
+cccggttgatacagatggccattgacatcaggttgaataatgtcagcaggcccggagaca
+caatcggcactgatacaaggaatcccccacgacaaggcttcaagtagggtcattgggaaa
+ccttcaaaagatgacgtgagcaataacgcactcactttttcaatatcttgctggaccaat
+tcccagggatattgttgccaaccataccagacaattcgatcatcaatatttaattctcta
+ccataagcctggcatttttcgaaatcggagccatcacccaatacatggagtttccagtta
+cctttcgcttgtgataagccatcaagcaggtctttaactcttttctggccttcaaatttc
+atacgcccaacataaataaacgttgccgtttcaccttcctcgggcgcgggaatgactgag
+tctttagtttcgacgggattaaaaataacatttatcgtcgattctgctacacctcgatta
+atcatttgctgtttaatgccagagctgattgctaaatgatagtcggcacaggtgatatat
+tcagcatgttttttgtgatctaaagaaaaatgtggccatgaaaatactggcatatcaatt
+cctgattttttacgtgcttttgcggcaaacaggcaggagatcacatcaatacaaataacg
+atatctggttggtactcctgaagccatttacttagagcatgaatatgtttcgcccgacgc
+aaaaaacctaaacgaatattggaaaatgaacatgagtatttaataccttccagccatccc
+ttatccattttgtcattacgacaaaagaaaaacatttcactttggatatgttgttgcctg
+aaggtagtaataacatcacggatgacagtttccatgccgccaaatccagaaacagcttcg
+ccgataaacgctattttcatagaaactctcattaattgagtaaaactcactgttttaacg
+gttttatttgtctataaaatcagaaacaatcgttgacatcattttatctggactgaattt
+atataaactatcataatccattggtttaacagatgagttaataaaatactctaacttatc
+ccaatcatcatgacctattataaaaaagcgagattcactatagatttctgaaccaaatac
+atttatattattagtaattaattttttattgaaaaatagtgcctcaagtatacgaagagt
+ccagccagattggttttctttggttatatcaacaattatattagcatttaatgttcttct
+aatattctcttcataagatatttgtttttcaatcaaatactttgaagtcgtagatgatgt
+cttatctttgacaacattaaaatctagcttacatcctagtgttgttaatctctcggctaa
+ctcattaattatttgaagacgccctttatcacgaccaaggaaaaaacatattggctggct
+gttatttttgtcagataaactataatttctaatttcatccattcctataggaaaaaattg
+ttctattgccttgatcttttcattccctataaatctatgctcaaaatcatatataatatc
+gaaataattcgcgttatcaagaataaaatcttcgccaacagtatttcttagaagcaaaac
+tttatgacagttaatattttttaatatttgtttattgatacctttattaacaacactgtc
+attaatgataattatgtcatcttttttaatatcattgaggtaatgcttgatgaataatcg
+ccccagccatgcattatccatccctatttttgatatttttttattaatccagttatattt
+ttttggtgttgttatattttttatcttgtacttttttttcaggtactgaatcatttttaa
+ttcataatctgcaacccaatttataaaataaatagtcataataaagttagttccagtaca
+tactaataaatatttttataatcctttgcgttgtgttcgctctttaatacgctcggcctt
+aacgcttgccatgttcaataaattctgttcaagagacaatattttgcgtaaaggcatccc
+aaaataaaccttcataaatcgccagatatctctttgcgtcaggccaatattcattgatga
+gaaatataaaccaatcaggtctttatcgcgccagcggcgcggtacttttgcacgtatctg
+tgcccgatgcagatcgataactgaaatttttaattcatcttcccggccagtaaatggcaa
+atgaagcaaaaagtggcaaatgtaacagtcgcggtgatttatccctgcagtatgcatttt
+acgcaccatagttgctacacgtgcgatcagcatacgcttaacacgtatatcaggcgggtt
+gactgcccaatcggcacaataatcttcaaggctaattgtgggagtgagatcttcggtaat
+aataaatgatgcgcgagttaatggatttaaccctttttcgccaaacccaatgcccttcat
+tgtatcaacgccaacatcactcaggcgatgaatagcgtgccactctctgtctgcgcccaa
+aacgggcatccgcaatgagagtagattttttataatctcttttaatgtcgtccccttgtg
+ccatttaagaaaatagcttttcccggacagttcaaagcgtaatgtacgacgagtctccag
+ttcacgaaagacctcgccgttcagttttttgacctctgcaaaagcatctttaccacgcca
+aagtgtggcaagcggctcttttaattcaaccatctaaaccacctgtaatgatatccgcgg
+ctttttctggcaagctatacaaatcctgagtatcggcataatggcgagcattctccgccc
+aggccattcgcaatggcgactgagttaacgctttacgtaaaacttcatttaattgttcct
+gagagaaaggttcagcgatgaccgttccacaattggcatccgcaatataatgcgcgtacc
+cacataccgctgttgttaaaacaggtaacccagcagtgatcgcttctagaagaacgatac
+ccgcggcttcctgataagcgggatgcagtaataaatcagcggctgccattaattctgaca
+catcattgcgaccggagaagaaatgcacattgctccgcacgccgagtttttctgccagcg
+cttcaaattttcgcggcttatcctgaccaacaacaaataaaagcgtattgtgacgtaatg
+attccggtaacgatgccaaagcttcaattgagcgatctacacctttacggccaaaatctg
+atccaacctgcagtaataagttttgttgctcttttatgccatttttctggcgataaattt
+cacggctgtttgggatttgctcactgtattttctgtccggataaataccgggaggaagaa
+tttgaaaacgttcaggttcagtttgataatgcttctggaaatcggcgatttgcttatcgg
+tcagcatcataagtttcgtcgatttaccctgctcgaaagtcgctcgctcaaatgcggcat
+aatggcgatatcgtgatgttaaacgatataaaaaacctttttcttgcgcaactttctcgg
+cgtaacaaacatcagcggcaaaataaacatccaggccaggcatcttattaaacccaacaa
+cgcgatctgcgggatgctctttgagatgattttgtacccaggcataatattctgcattgc
+gtccatggttggtatgggacttaactggcacctgaataagctcaaatgctttcgggcaat
+cgccttcccacgactgtgtatatacccgaacatggtggccccgtgcggcaactgttgatg
+caatgcgcataaagtcacgttgaagcccaccaaatggaaaatatttatataaacaaaacg
+ccacgatcataattgtgcattcctgtcagctgaaggggcatcttctggcaacagcttttc
+cgtagcggcgatcacatcctccgctgggataacagaaagatattttttgttgcggtcaag
+ttcatgccgggtcggcattttctgataattccccgcccagaattgaataatattctcggt
+ccagggacgccagaatacgtgatccgttgcaccaaatagactaatgactggcgttttcac
+tgccgctgcaatatgtcccggcgcagaatccacaccaataaaaagcactgcatgatcaat
+taatgcacccagttcaggaaaacgtgttttacctgcaaggccagtaatgggttttgtttc
+gcaacctcgtgcaatctcatctacacaagcgagatcatctgccgagggcccacaggttag
+cacaacctgatagcctcgctgttgcagcgcatcgataaccttagaaaatttatcgttatc
+ccaacacttaaatatctgacgcgctgtcggttggatgacaacataatgatcttttacgcc
+cagggcatctaattcccggcgcatcttcttccagcaatcttcggcgtaactcattgttgt
+gtcggtgtagaaatcggtaatacctaatggctcaaggaccgataaattacgctcaacaat
+atgtgtaccgtgtattggcgctaagtgtgtgaagctttttttccaaataccatgctgccg
+atgaccataaagttgcgatattttcatccgtgcaggtaaacaacgtaccagcagcgccac
+catccactgatccgtaagattaatgaccaggtcataattattcgcacgcagagtttttat
+caacgaaagcacatttttaattttatcgaaagttcccgcacctttattgcttatcccata
+gagcgcattaatttccgggttttcagacaaaatagggatggtgtcctgataaagcagcat
+atcgatttttgcatcaggataattctgcttgagcgtactgatgacaggagtagttaataa
+catatccccatgatatcgcatctttatgaccaggatttttcgaaatggcttttccactag
+cgactcttttgtgtgattgtctggttaagttaagcagaaaaaagcacgctaccgccccag
+gctcaacagctacctgaatactgataacgcacttactttgacgtgctagtgtatcatttc
+tttcgcagcaatccgacccgaatgatttttatacacaaaatatactttaatcataaaaat
+caaatagataaaaaatagcatttcgataatgtcagtacggcctatgtagatttgaaaatg
+gggccgagtttcaatgaatcgcataaaaatacaaaaaaaatgaagatgtagcggcagatc
+agaccaaactgaagctatttaagtcaaaaacgggaaaagtaatggtaaagccacagctaa
+atacatagaatccccagcacatccataagtcagctatttactatgctcgaattgctttac
+accgcccttctctaccttattcagccgctgatctggatacggctctgggtgcgcggacgt
+aaggctccggcctatcgaaaacgctggggtgaacgttacggtttttaccgccatccgcta
+aaaccaggcggcattatgctgcactccgtctccgtcggtgaaactctggcggcaatcccg
+ttggtgcgcgcgctgcgtcatcgttatcctgatttaccgattaccgtaacaaccatgacg
+ccaaccggttcggagcgcgtacaatcggctttcgggaaggatgttcagcacgtttatctg
+ccgtatgatctgcccgatgcactcaaccgtttcctgaataaagtcgaccctaaactggtg
+ttgattatggaaaccgaactatggcctaacctgattgcggcgctacataaacgtaaaatt
+ccgctggtgatcgctaacgcgcgactctctgcccgctcggccgcaggttatgccaaactg
+ggtaaattcgtccgtcgcttgctgcgtcgtattacgctgattgctgcgcaaaatgaagaa
+gatggtgcacgttttgtggcgctgggcgcaaaaaataatcaggtgaccgttaccggtagc
+ctgaaattcgatatttctgtaacgccgcagttggctgctaaagccgtgacgctgcgccgc
+cagtgggcaccacaccgcccggtatggattgccaccagcactcacgaaggcgaagagagt
+gtggtgatcgccgcacatcaggcattgttacagcaattcccgaatttattgctcatcctg
+gtaccccgtcatccggaacgcttcccggatgcgattaaccttgtccgccaggctggacta
+agctatatcacacgctcttcaggggaagtcccctccaccagcacgcaggttgtggttggc
+gatacgatgggcgagttgatgttactgtatggcattgccgatctcgcctttgttggcggt
+tcactggttgaacgtggtgggcataatccgctggaagctgccgcacacgctattccggta
+ttgatggggccgcatacttttaactttaaagacatttgcgcgcggctggagcaggcaagc
+gggctgattaccgttaccgatgccactacgcttgcaaaagaggtttcctctttactcacc
+gacgccgattaccgtagtttctatggccgtcatgccgttgaagtactgtatcaaaaccag
+ggcgcgctacagcgtctgcttcaactgctggaaccttacctgccaccgaaaacgcattga
+ggttgttatgcaaaaacgggcgatttatccgggtactttcgatcccattaccaatggtca
+tatcgatatcgtgacgcgcgccacgcagatgttcgatcacgttattctggcgattgccgc
+cagccccagtaaaaaaccgatgtttaccctggaagagcgtgtggcactggcacagcaggc
+aaccgcgcatctggggaacgtggaagtggtcgggtttagtgatttaatggcgaacttcgc
+ccgtaatcaacacgctacggtgctgattcgtggcctgcgtgcggtggcagattttgaata
+tgaaatgcagctggcgcatatgaatcgccacttaatgccggaactggaaagtgtgtttct
+gatgccgtcgaaagagtggtcgtttatctcttcatcgttggtgaaagaggtggcgcgcca
+tcagggcgatgtcacccatttcctgccggagaatgtccatcaggcgctgatggcgaagtt
+agcgtagcgtttatgccggatggtatgccatccggcgcgcatgaattacttctggcactg
+ccgacaataaaacgttgcccgctgcgcatgtttagtcgccacaatcggcgtaccgcacac
+ccgacacggctcaccttttcgcccgtaaacctgcaattcctgagcgaaatagcccggttt
+accatcactttgcagaaaatctttcagcgttgtaccaccctgctcaatcgaacgcagcaa
+caccgctttaatcacccgagctaacaattcacactctgccagcgacagtgatgacgccag
+ccgatccggatggatccccgccgcaaacagtgattcgctggcatagatattccctacccc
+taccaccagcttgttatccatcagccacggtttaatcgccgtttttttcttcgcgcactt
+ctgatgcagatactcaccattgaaatcgtcgctaagcggctccggtccaagatgggtcag
+cacattatgcccttccagctctttggtccacagccaggcaccaaagcggcgcggatcggt
+gtagcgcagcactttgccgttgctcatcaccaaatccacatggtcatgcttttcaggggg
+aagttcttctggaaggatgcgcaggctgccagacatccctaaatgaatgataatccagcc
+ctcaggcagctccagcagcagatatttagcccgccgctgcacgctaagcactggttggtc
+gcttaaacggtagatctcttctgaaaccggccagcgcaagcgtccgttgcgcaccactgc
+atgaagaatggttgcaccaacgagatgcggttctatgccgcggcggctggtttcaacttc
+gggtaattcaggcatagcatctccaggaatgaacagatgcagtcaatatgggggcaagca
+gataacaaaaaaccccgccggagcgaggttttttgttacatcaaagcgagaattatttga
+ttttcgcttctttgtagatcacgtgctggcgaacaactggatcgaattttttcagttcca
+gtttttccggcttagtacgtttgttcttcgtagtggtatagaagtgaccagtaccagcag
+aagaaaccagcttgattttctcacgaatacctttagccatgatttatttcctctaagtac
+ttagtacttttcgccacgggcacgcagttcagccagaactgtatcgatgccttttttatc
+gattacacgcatacctttagcagatacgcgcagggtgacaaaacgcttctcgctctcaac
+ccagaaacggtgagagtgcaggttcggcaggaaacggcgtttagtcgcgttcagtgcgtg
+ggaacggttgttaccggtcaccggacgcttgccagtaacttggcagactcgggacatgtc
+tattctccaaaaatcaaattagctcgagcttcgtatggggtattggcgcctcgtcaggct
+ttacagcccggtcatcgcagttctatgtgaactctcgattgccaggcccaaatgccaaac
+ccgagattctcaaaggtggcgtagtatacgctgactcagcgatgtgctcaagtcccgaac
+agacaaagatcccgaaggatcgcgcatagcgggttaaatccagccgcgttcggcaaaaga
+aacatactctccacgcccaatcacgatatggtcgagcacgcgtaaatccatgaactgaca
+actctttattatccgttcagtaatgagtttatccgctttactgggttcagcacaacccga
+agggtgattatgtgcaaggatcagcgccgaggcgtttatttttatcgcttcgcggataat
+ttcccgaggatggacttcaacatggtttagcgtgccggaaaaaagacgcctatgcgttat
+aacccggtgttgggagtcgagaaagatcaccataaagatctcccgctcctcacccgtgag
+ctggctttgtaaaaattccctcgtcatctccgggctgagtaaagggctttcttcacgcat
+ccgcacgttgtagtaacgccgcgccagttcagcaatcccctttaactgggcaaatttcgc
+cacgccaattccatgaacgccactaaattgttcatattcagaggttaacaagccataaag
+agagccgaaattctccagcatctcttttgccagggttaatacatctttaccgcgcgttcc
+ggtacgcagaaatagcgccagcagctcgacatccgttaaggcgctaataccaaacttcag
+cattttttcgcgcggcatcaacagctgtgaattgtttttcaccttcacctcctttgtggt
+gctcgcatcctgtcatagccgtttcgttaaatcgacggccagttttcaatcctggaaagc
+gcctcgcaaagtgaatctcaggtgaaggcacgacaacaaaagtattgtgataaaatcgcc
+aacttctggtgtcaccctacaggaaaaatcatcatgagcctggccggtaaaaaaatcgtt
+ctcggcgttagcggcggtattgctgcctataaaacccctgaactggtgcgtcgtttgcgc
+gatcgcggggccgacgtccgcgtagccatgaccgaagcggcaaaagcctttatcacccca
+cttagcttgcaggcggtttctggttatcccgtttccgacagtctgctggacccggcagcc
+gaagccgctatgggccatattgagctgggtaaatgggctgatttagtgattctcgcccct
+gccacggcagatttgattgcccgtgttgctgccggaatggcgaatgacctggtatcgacg
+atttgtctggctacacctgcgcctgtagccgtgctccccgccatgaaccagcagatgtac
+cgtgccgctgccacgcagcataatttagaggtgcttgcttcccgtggtttgctcatctgg
+gggccagacagtggcagtcaggcttgtggtgatatcggtcctgggcgaatgctcgatccg
+ttaaccattgtggatatggcggtagcgcatttttcgcccgtcaacgacctgaaacatctg
+aacattatgattaccgccggcccgacgcgtgaaccgctcgatccggtgcgttatatctct
+aatcacagctccggcaagatgggttttgctatcgccgccgccgctgcccgtcgtggcgcg
+aacgtcacgctggtatcaggtccggtttcactaccgacgccaccgtttgttaaacgtgtt
+gatgtgatgaccgcgctggaaatggaagccgccgtgaatgcttctgtacagcagcaaaat
+atttttatcggctgcgccgccgtggcggattatcgcgcagctaccgtggccccagagaaa
+atcaaaaagcaggccacgcagggtgatgaattaacaataaaaatggttaaaaaccccgat
+atcgtcgcaggcgttgccgcactaaaagaccatcgaccctacgtcgttggatttgccgcc
+gaaacaaataatgtggaagaatacgcccggcaaaaacgtatccgtaaaaaccttgatctg
+atctgcgcgaacgatgtttcccagccaactcaaggatttaacagcgacaacaacgcatta
+caccttttctggcaggacggagataaagtcttaccgcttgagcgcaaagagctccttggc
+caattattactcgacgagatcgtgacccgttatgatgaaaaaaatcgacgttaagattct
+ggacccgcgcgttgggaaggaatttccgctcccgacttatgccacctctggctctgccgg
+acttgacctgcgtgcctgtctcaacgacgccgtagaactggctccgggtgacactacgct
+ggttccgaccgggctggcgattcatattgccgatccttcactggcggcaatgatgctgcc
+gcgctccggattgggacataagcacggtatcgtgcttggtaacctggtaggattgatcga
+ttctgactatcagggccagttgatgatttccgtgtggaaccgtggtcaggacagcttcac
+cattcaacctggcgaacgcatcgcccagatgatttttgttccggtagtacaggctgaatt
+taatctggtggaagatttcgacgccaccgaccgcggtgaaggcggctttggtcactctgg
+tcgtcagtaacacatacgcatccgaataacgtcataacatagccgcaaacatttcgtttg
+cggtcatagcgtgggtgccgcctggcaagtgcttattttcaggggtattttgtaacatgg
+cagaaaaacaaactgcgaaaaggaaccgtcgcgaggaaatacttcagtctctggcgctga
+tgctggaatccagcgatggaagccaacgtatcacgacggcaaaactggccgcctctgtcg
+gcgtttccgaagcggcactgtatcgccacttccccagtaagacccgcatgttcgatagcc
+tgattgagtttatcgaagatagcctgattactcgcatcaacctgattctgaaagatgaga
+aagacaccacagcgcgcctgcgtctgattgtgttgctgcttctcggttttggtgagcgta
+atcctggcctgacccgcatcctcactggtcatgcgctaatgtttgaacaggatcgcctgc
+aagggcgcatcaaccagctgttcgagcgtattgaagcgcagctgcgccaggtattgcgtg
+aaaagagaatgcgtgagggtgaaggttacaccaccgatgaaaccctgctggcaagccaga
+tcctggccttctgtgaaggtatgctgtcacgttttgtccgcagcgaatttaaataccgcc
+cgacggatgattttgacgcccgctggccgctaattgcggcacagttgcagtaatatgacg
+ccggatgacttttcatccggcgagtttctttaaacgccaaactcttcgcgataggcctta
+accgccgccagatgttccgccatttccggcttctcttccaggtaagcaatcaggtctttc
+agggtgatgatagagatcactttgcagttgtaatcacgctcaacttcctgaatcgccgaa
+atctcgccgcgcccgcgttcctgacgatcgagcgaaatcaacacgccagcaagcgtcgcg
+ccattggcctgaataatctccatcgactcgcgaatcgccgttccggcggtgatcacatca
+tctaccagcattacgcgtccttgtaacgcgctaccaaccagattgccgccttcaccgtgg
+tcttttgcttctttgcggttaaagcagtacggcaggtccaggtcgtgatgctccgccagt
+gccacagcggttgtggtggcaatcgggatccctttgtaagcagggccaaacagcagatcg
+aactcaatgccggaatccaccaacgcttcagcgtaaaaacggcctaacagtgccagatcg
+cgcccggtattaaacagcccggcgttgaagaaataggggcttttgcgcccggatttcagc
+gtaaactcgccaaactttaacacctgcttgctaagcgcaaattcaataaactggcgctga
+tatggtttcatgccttcgctcctcatcttacttttctacagacaaaaaaaaggcgactca
+tcagtcgccttaaaaatcagtttgccagcgccgccttctgcgtcgctacaatggattcga
+ttcccctcgggccagagccaacaagatgagtagctcttcatgggtgaacggctcgccttc
+tgccgtcccctgcacttcaatgatgcgcccgtcttcggtcatcactacgttcatgtcggt
+ctctgcggcagagtcttcaacgtattccagatcgcaaaccgcttcgccgttcacaattcc
+gacagaaactgcggctaccatccctttcatcggattggttttcagcttgccgttttccac
+cagcttctgtagcgcatctaccagcgccacgcaggcacccgtaatcgacgcggtacgcgt
+gccaccatcagcctgaagcacgtcgcagtccagcgtaatggtgaactcacccagcgcttt
+caaatctactgccgcgcgaagagcacgggcgatcagacgctggatttccattgtgcgtcc
+accctgcttacctttcgccgcttcacgagcgttacgggtgtgggtagaacgtggcagcat
+gccgtactctgcggtgatccagccctggccctgacctttcaggaagcgcggcacgccttc
+ttcaatagaggcggtacacaacactttggtatcgccaaattcgaccagcaccgagccttc
+tgcatgttttgtatagttacgagtcagggtaacgggacgcacctgattattgctacggcc
+tgctggacgcatattgaaatctccggcttgaaacaaatgtggctgcgcattatacggact
+tccggcggttattcctatcctgacaaggcatcgatggctataatccttccacctctcctt
+ttataaacaggaacgtctatgatccgcagtatgaccgcctacgcccggcgtgaaatcaag
+ggtgaatgggggagcgcaacctgggaaatgcgctcggtaaaccagcgttatctggaaact
+tactttcgtctgccggagcagttccgtagccttgaacctgtcgttcgcgagcgtattcgt
+tctcgcctgacgcgcggtaaagtggaatgtaccctgcgctatgagccagatgttagcgcg
+caaggtgagctgatcctcaacgaaaaactggctaaacagctggtaactgccgcgaactgg
+gtaaaaatgcagagtgacgaaggggaaatcaacccggttgatattctacgctggccgggc
+gtgatggcagcccaggagcaggatcttgacgccattgccgctgaaattctcgcggcgctg
+gatggtacgctggacgactttattgtcgcgcgcgaaaccgaaggtcaggcactgaaagca
+ttgatcgagcagcgtctggaaggcgtcaccgccgaagtggtcaaagtccgctcccatatg
+ccggaaatcctgcaatggcagcgtgagcgtctggtcgcgaagctggaagatgctcaggtg
+caactggaaaacaaccgtctggagcaggaactggttctgctggcacaacgaattgacgtt
+gccgaagaactggatcgcctcgaagcgcatgtcaaagagacctacaacattctgaagaaa
+aaagaagcggttggtcgtcgtctggattttatgatgcaggagttcaaccgcgagtcgaac
+actcttgcgtcgaagtctatcaatgccgaagtgacaaactccgccatcgagctgaaagtg
+ttgattgagcagatgcgcgagcagattcagaacatcgaataactcgtaacgccaattctt
+acttttccgccttcacaaatgccgccactcaaacagagcggcatttttcttccccgcaac
+attcaattctgttttgcgtgcctgctccagattttgcgatgtttttttgcccagcacact
+gagaacgtgagatactcacaactgtatataaatacagttacagatttactttctttgcaa
+ttgatatcacatggagtgggcaatgaacgaacatcatcaaccttttgaagagataaaact
+gattaatgcaaacggagcagaacaatggtcagcaagacaacttgggaaactactgggtta
+ttcagagtatcgtcactttatacctgtattaacgcgcgccaaagaagcctgtgagaacag
+tggtcacacaattgatgaccatttcgaggagatcctcgatatggtcaaaattggctcaaa
+tgccaaaagagcattaaaagacatcgtactctcccgctatgcctgttacctggtagtaca
+aaacggcgaccctgcgaaaccggtcattgcggcagggcagacttattttgctatccagac
+ccgacggcaggagcttgctgacgatgaagcatttaagcaacttcgtgaagacgaaaagcg
+tctgtttctgagaaatgagttgaaagaacataacaaacaattggttgaggcagcacagca
+agctggggtagcgacagctactgatttcgccatatttcagaatcatggttaccaggggct
+gtatggtggattagatcagaaagctattcatcagcggaaggggctgaaaaagaatcagaa
+gatcctggatcatatgggttcaacagaactggcggctaatctctttcgagctacccaaac
+agaagaaaaactcaagcgggatggcgtgaattcaaaacagcaagcaaacaccacacactt
+tgacgtgggtcgcaaggtgaggcaaaccattcaggaacttggcggaaccatgcctgagga
+gttgccgaccccgcaggtcagcatcaagcagttggaaaacagtgtaaaaattacagagaa
+gaaatagcagaaactaaaaactctttttgttgattgagacacccgatgcgtaagccaagg
+tccaggtgcagtgaacacaatggctaaatattgcacctttcttttccccctcagttttaa
+cctattttttcttatgcattttctcagacaagaagtcagaagaatgcatctctgctacag
+aaaatagcgatttcacataactacaagttatcaatttcccctccccttaaaaaatctcaa
+tcgtgacaatgcgcacaaatcgctaccctgccagacagatttttagggagagaaccatgc
+tgttacacattttgtatttggttggcattactgccgaagccatgacgggggcgctggcgg
+ccggacgacggcgcatggatacatttggcgtaattattattgcgaccgccaccgcaattg
+gcggagggtcagtgcgcgatattctgctgggccactatccgctcggctgggtcaaacacc
+cggaatatgtgattatcgtcgctaccgccgcagtactcaccactatcgttgctcctgtaa
+tgccttacctgcgcaaagtgtttctggtgctcgatgcgctcggactggtggtcttttcta
+tcatcggggcacaggttgcactggatatggggcacggcccaattattgccgttgtcgcgg
+cggtaaccaccggcgtgtttggcggcgttttgcgcgatatgttctgtaaacgtatcccac
+tggtattccagaaagagttgtatgccggtgtctcatttgcctccgccgtgctgtacatcg
+cgctgcaacactatgtttctaaccatgatgtggtaattatctccaccctggtattcggct
+tttttgcccgcttactggcgctacgccttaagctgggattaccggtcttttactacagcc
+acgaaggacactaaggttcaaaacctgtgatctgctgggcagccagccaactgcccagct
+tcttgatttgcgcattttccttccattcaataacctgtctggcgcgtcccgatccagtcc
+ccggcagctgctgccagaactgctccgtgctaaataaaagttgcgaccaggaccgttcat
+cactggcattaagcgccgcccgggttagcggtattcccattgccatcacccagcgagtaa
+aaggctgcttacgagccagattaaactgatgccatagctgcgcacttttacttttcgcga
+tccccggcgtgttctgtaattgctctggcgttaataaaagccaggaaaagatatgttcaa
+agcgatgagtctgatgcagcgcgcgccaaccggcctcaccaatgccatccagcccaagaa
+cctgttttgcccccagccagactaagcgtgaaatgaactgttcctgacaaacatcagaag
+caaagtagcaggtcaacgagttaaagcggttttctggcggtgtcggttttgtacgttctg
+caccgcgccacaccacatcatcaatgcgaggaataccctgaccggcaaggctgacgagaa
+tctgatcaccaggcgcaatatcccactcctgccagcgcctgacggaaccaatattcaccc
+gctggacttttttatcatccagcatgacaggtgcgagtgacgcaaccaccgatattttac
+cgctcttacccaccgcaaactgaattgccttcacttcggcaacctgagctacaggttgat
+atttccaggccaccagccactctgcctggcccggtagccaatggcgggattctggctctt
+tcgccgctcgtacaactacgccatcggtgacgaagggtaattccgctttccaccactcat
+tgcgtacgcgcgcaacttcatcagcatttttcaccgcacgggtatacgtctgcgttagag
+taaaacctgcggtagccagctcttttaaacgatcagacattaactgcggtccatccggcc
+atgcccagacaaaaacgcccagagaattcagcgtgtcgctatcgtcctggcgcatcatca
+agccagcaacttttgcgcgggcatttattccccccatttgttgttggatatgcccctcgc
+gctggagaaatatttccccctgaagcgtactgttggctaaaggcccgctaacggtttgcg
+gcacagcggaaattaagctaactttctgcgtccagtcctcgcctttcaggccattaccgc
+gactgattgctttgttcagtttcccgtcccgataaaccagggttaccgcaacgccatcaa
+cttttggctgcacccaaagatcgctacgttctcgcatccacagacttaatgcgtttttat
+ccaccattttgcgtacacccgtatgggcaaccggatgcataaccgcaccatttaaaggcg
+gcatcatcacgtcgcggggctcgctcccaaagcagcgttgccactgcgtaagacgggcgc
+ttaactgatcgtaaacaccgtcttccacctcactttttccttccttccagtagtcatcgt
+cccactgttttatttgctgttgcaggcgggaaatttcttcctgtgctctggctggcgacc
+aggccggacagaccgcccacacagatgattgccagcacaagatacctattaatatcgcca
+tccatactttcatcatcacctccgctgtagatagtcaggcagatatacaacgtgatgaaa
+gcaaagccgagtggcaaaaacggagtctgcgaggacgcttcctgaaaatcgtctttattg
+cagtgaatgacaggcaaatgcggaagcagctacgcaaaacgcaacaactttgcgcaaaaa
+gtgtgagcaagggctacgtcacatggccgcgccgtgtataataagctcgtatgtaggctt
+tatttcgctaatcacatacgaaagatactcatggctcaaggcacgctttatattgtttct
+gcccccagtggcgcgggtaaatccagcctgattcaggctttattaaaaacccaaccgttg
+tatgacacccaggtttctgtttcacacaccacacgccaaccgcgtcctggtgaagtccac
+ggtgaacattatttctttgttaatcatgatgaatttaaagaaatgattagcagagatgcg
+ttcctcgaacacgcagaagtttttggtaattactatggcacttcgcgtgaggccattgag
+caagtactggcgaccggtgtcgatgtttttctcgatatcgactggcagggcgcgcagcaa
+attcgccagaagatgccgcacgcgcggagtatctttattttaccgccgtccaaaattgaa
+ctggaccgccgtctacgcggtcgcggtcaggacagcgaagaggtcattgcaaagcgtatg
+gcgcaagctgttgcagaaatgagccattacgccgaatatgattatctgattgtgaatgat
+gacttcgataccgcgttgaccgatttgaagaccattattcgcgccgaacgtctgcgcatg
+agccgccaaaagcagcgtcatgacgctttaatcagcaaattgttggcagactgaacctga
+tttcagtatcatgcccagtcatttcttcacctgtggagctttttaagtatggcacgcgta
+actgttcaggacgctgtagagaaaattggtaaccgttttgacctggtactggtcgccgcg
+cgtcgcgctcgtcagatgcaggtaggcggaaaggatccgctggtaccggaagaaaacgat
+aaaaccactgtaatcgcgctgcgcgaaatcgaagaaggtctgatcaacaaccagatcctc
+gacgttcgcgaacgccaggaacagcaagagcaggaagccgctgaattacaagccgttacc
+gctattgctgaaggtcgtcgttaatcacaaagcgggtcgcccttgtatctgtttgaaagc
+ctgaatcaactgattcaaacctacctgccggaagaccaaatcaagcgtctgcggcaggcg
+tatctcgttgcacgtgatgctcacgaggggcaaacacgttcaagcggtgaaccctatatc
+acgcacccggtagcggttgcctgcattctggccgagatgaaactcgactatgaaacgctg
+atggcggcgctgctgcatgacgtgattgaagatactcccgccacctaccaggatatggaa
+cagctttttggtaaaagcgtcgccgagctggtagagggggtgtcgaaacttgataaactc
+aagttccgcgataagaaagaggcgcaggccgaaaactttcgcaagatgattatggcgatg
+gtgcaggatatccgcgtcatcctcatcaaacttgccgaccgtacccacaacatgcgcacg
+ctgggctcacttcgcccggacaaacgtcgccgcatcgcccgtgaaactctcgaaatttat
+agcccgctggcgcaccgtttaggtatccaccacattaaaaccgaactcgaagagctgggt
+tttgaggcgctgtatcccaaccgttatcgcgtaatcaaagaagtggtgaaagccgcgcgc
+ggcaaccgtaaagagatgatccagaagattctttctgaaatcgaagggcgtttgcaggaa
+gcgggaataccgtgccgcgtcagtggtcgcgagaagcatctttattcgatttactgcaaa
+atggtgctcaaagagcagcgttttcactcgatcatggacatctacgctttccgcgtgatc
+gtcaatgattctgacacctgttatcgcgtgctgggccagatgcacagcctgtacaagccg
+cgtccgggccgcgtgaaagactatatcgccattccaaaagcgaacggctatcagtctttg
+cacacctcgatgatcggcccgcacggtgtgccggttgaggtccagatccgtaccgaagat
+atggaccagatggcggagatgggtgttgccgcgcactgggcttataaagagcacggcgaa
+accagtactaccgcacaaatccgcgcccagcgctggatgcaaagcctgctggagctgcaa
+cagagcgccggtagttcgtttgaatttatcgagagcgttaaatccgatctcttcccggat
+gagatttacgttttcacaccggaagggcgcattgtcgagctgcctgccggtgcaacgccc
+gtcgacttcgcttatgcagtgcataccgatatcggtcatgcctgcgtgggcgcacgcgtt
+gaccgccagccttacccgctgtcgcagccgcttaccagcggtcaaaccgttgaaatcatt
+accgctccgggcgctcgcccgaatgccgcttggctgaactttgtcgttagctcgaaagcg
+cgcgccaaaattcgtcagttgctgaaaaacctcaagcgtgatgattctgtaagcctgggc
+cgtcgtctgctcaaccatgctttgggtggtagccgtaagctgaatgaaatcccgcaggaa
+aatattcagcgcgagctggatcgcatgaagctggcaacgcttgacgatctgctggcagaa
+atcggacttggtaacgcaatgagcgtggtggtcgcgaaaaatctgcaacatggggacgcc
+tccattccaccggcaacccaaagccacggacatctgcccattaaaggtgccgatggcgtg
+ctgatcacctttgcgaaatgctgccgccctattcctggcgacccgattatcgcccacgtc
+agccccggtaaaggtctggtgatccaccatgaatcctgccgtaatatccgtggctaccag
+aaagagccagagaagtttatggctgtggaatgggataaagagacggcgcaggagttcatc
+accgaaatcaaggtggagatgttcaatcatcagggtgcgctggcaaacctgacggcggca
+attaacaccacgacttcgaatattcaaagtttgaatacggaagagaaagatggtcgcgtc
+tacagcgcctttattcgtctgaccgctcgtgaccgtgtgcatctggcgaatatcatgcgc
+aaaatccgcgtgatgccagacgtgattaaagtcacccgaaaccgaaattaatgttttatg
+aacccaacacgttatgcacgcatctgcgaaatgctcgccaggcggcagcctgatctgacc
+gtctgcatggagcaggtccacaaacctcataacgtttctgcgattattcgtaccgcagat
+gccgttggcgtacatgaagttcacgccgtctggcctggtagccgcatgcgcaccatggct
+tcggcagcggcgggtagtaacagctgggtacaggtgaaaacacaccgcaccattggcgat
+gccgtcgctcatctcaaaggccagggcatgcagattctggcaacccatctttctgataac
+gctgtcgatttccgcgaaattgattacactcgcccgacctgcattttgatgggacaggag
+aaaacgggcatcacgcaggaagcattggccctggcggatcaggacatcatcattccgatg
+atcggcatggtgcagtcgctgaatgtttccgttgcctcagccctcattctttacgaagcc
+cagcgtcagcggcaaaatgcaggcatgtacctgcgtgaaaacagcatgttgccggaagca
+gagcaacaacgcctgttgtttgaaggcggctatccggtgctggcgaaagtcgcaaaacgc
+aaaggcctgccttatccccacgtcaatcagcaaggcgagatcgaagctgatgccgactgg
+tgggctactatgcaggctgcagggtaagtgccatgaaaggtcgcctgttagatgctgtcc
+cactcagttccctaacgggcgttggcgcagcacttagtaacaaactggcgaaaatcaacc
+tgcataccgtgcaggatctactcttacaccttcccctgcgctacgaagatcgcacccatc
+tctaccccatcggagaactactgccgggcgtttatgccacggtggaaggcgaagtgctga
+actgcaatatctccttcggcggtcggcggatgatgacctgccagatcagcgacggttccg
+gcatcctcaccatgcgctttttcaatttcagcgcggcaatgaaaaatagcctggcggcgg
+gccgccgtgtactggcttatggcgaagcaaagcgcggtaaatatggtgcggagatgatcc
+acccggaataccgcgtgcagggcgatctcagcacgccagaattacaggaaacgctcacgc
+cggtttatccaacaacggaaggcgtaaagcaggccacgctgcgtaaattaaccgaccagg
+cgctggatctgctcgacacctgcgccattgaagaactcctgccgccggaactgtcacaag
+gaatgatgacgctaccggaagcgttgcgcactttgcaccgcccgccaccgacgctacagc
+ttagcgatctggaaaccgggcagcatccggcgcaacgtcgtctgattctggaagaactgc
+tggcgcacaacctcagcatgttagccttacgtgccggagcacagcgttttcatgcccagc
+cgctgagcgccaatgacacgctgaaaaataaactcctcgccgccttaccgttcaagccaa
+cgggcgcacaggcacgcgtagtggcggagatcgagcgcgatatggcgctggatgtgccga
+tgatgcgtctggtgcagggcgatgtaggttccggtaaaacgctggtcgccgccctcgccg
+cgttgcgtgcgattgcccacggcaaacaggtagcattgatggcaccaaccgaattactcg
+ccgagcagcacgccaataacttccgcaactggtttgcaccgctcggtatcgaagtgggct
+ggctcgccggtaagcagaaaggtaaagcacggctggcacagcaggaagccatcgccagcg
+gtcaggtgcagatgattgtcggtacacacgccatcttccaggaacaggtgcagtttaacg
+gcctggcgctggtgattatcgacgaacagcatcgttttggcgtgcatcagcgtctggcat
+tgtgggagaaaggccagcagcagggcttccatccgcatcagttgatcatgaccgccacgc
+cgatcccccgcacgctggcaatgactgcgtatgccgatctcgatacctcggtgatagatg
+agctgccgccaggccgcacgccagtgactacggtcgctattcctgatacccgccgtaccg
+acatcattgaccgcgtgcaccacgcctgcataactgaaggtcgtcaggcatactgggttt
+gtacgttgattgaagagtcggaattgctggaagcgcaggcggcggaagctacctgggaag
+agttgaaactggcgctaccagagttgaacgttggcctggtacacgggcggatgaaacctg
+ccgagaaacaggcggtgatggcgtcgtttaaacaaggtgagctacacctgctggttgcca
+caaccgttattgaagtcggcgttgatgtgcctaacgccagtctgatgattatcgaaaacc
+cggagcgtctgggtctggcgcagttacaccagctgcgcgggcgcgtaggtcgtggcgcgg
+tggcttctcactgcgtgctgctctacaaaacgccgctttctaaaacggcgcaaattcgcc
+tgcaagtgctgcgcgacagtaacgacggttttgtgattgcgcaaaaagatctggagattc
+gcggccctggcgaattgttaggcacgcgtcagacgggtaatgctgaatttaaagtggcgg
+atttactgcgcgatcaggcgatgatcccggaagttcagcgcctggcacgccatattcacg
+aacgttacccacaacaggcaaaagccctgatagaacgctggatgccggagacggaacgtt
+actcgaatgcgtaaaaggcggcagtgagaagaccgccatttcaggttaccctaccttcct
+gccggatgcgattcatcaccctacaaattcaataaattatgaatcaatacgcaggcttga
+taagcgaagcgtatcaggcatttgtctttgttgcggcggcacttctaccgccgcttcatc
+ggttaaccggcaaaaatcggcaacatcaaatacaacttaattaccagcgcattgacgata
+tcgataaagaacgcaccgaccatcggcaccaccaaaaacgccatgtgcgacgggccaaag
+cgttcagtgatcgcctgcatgttggcgattgccgttggcgttgcaccgaggccaaaacca
+cagtgacccgcagccagcactgccgcatcgtagtttttgcccatcatgcgccaggtaacg
+aagatggcatacaacgccatgaagatggtctgtaccaccagaatcgccagcatcggcagc
+gccagcgaagccagctcccacagtttcagccccatcaacgccatcgccaggaacaacgac
+aagcttacgttacccagcacggataccgcacgctcaaagacgcggtaaaagcccattatt
+gacagaccgttgctcagaatcacgccaacaaacagtacacagacgaaggtcggcagttca
+aaagcagtgccagccaaaagttgcgcaacaattttccccaccgtcaggcagatagcaatc
+agcgcgatagtttcaatcagcaccaacgaggtgatcatgcgtcccacatccggcttttca
+aacgccgtcgggacttcctggtcatccggaataccgttcggcgtggtggagtgtttcacc
+agatagcgcgccaccggaccgccaatcaagccgcccagcaccagaccgaacgttgcacag
+gccatcgccacttccgtcgcattggtgaagccataacgttcaatgaacaatttactccac
+gcagcgcccgtaccgtgaccgccggaaagagtaatagaaccggccaacagccccatcagc
+ggatcaagccctaacaagctagccataccaatgccaatggcattttgcatcaccaacaga
+ccaacaaccacaatcaagaagatgccaaccacacgcccaccggcacgcaaactggcaatg
+ttggcgttcaggccaatggtggcgaagaaagccagcattaacggatcgcgcagggacata
+tcaaagttgacttcccagcccatgctttttttcagtactagtagcgccagcgccaccaac
+aaaccacccgcaacaggttccggtatggtgtatttcttcaaaaaggagacggaatggacc
+aacttacgcccgagcagcaacgtcagcgttgcggcaacaagcgttgctaaagtatcgaga
+tgaaacatagttactcctttgtatccgcatcactctttcatactcgtcatacttcatcgc
+gcagtggcaacttcatgaactatgacgggtatcgagttatgctttcctgggtcaaattct
+cagctgttaatgaacaaatggcatggattttaagcagaaaaataccaaaagttatataaa
+aaagtgcatttatctcatttaaatatttagatgaggatgtggcaaacgtttgcttttctc
+tttcggtcagctaaaatgcccgctttgctaccacgggattgttttcgatgtctgtttcca
+ccctcgagtcagaaaatgcgcaaccggttgcgcagactcaaaacagcgaactgatttacc
+gtcttgaagatcgtccgccgcttcctcaaaccctgtttgccgcctgtcagcatctgctgg
+cgatgttcgttgcggtgatcacgccagcgctattaatctgccaggcgctgggtttaccgg
+cacaagacacgcaacacattattagtatgtcgctgtttgcctccggtgtggcatcgatta
+ttcaaattaaggcctggggtccggttggctccgggctgttgtctattcagggcaccagct
+tcaactttgttgccccgctgattatgggcggtaccgcgctgaaaaccggtggtgctgatg
+ttcctaccatgatggcggctttgttcggcacgttgatgctggcaagttgcaccgagatgg
+tgatctcccgcgttctgcatctggcgcgccgcattattacgccgctggtttctggcgttg
+tggtgatgattatcggcctgtcgctaattcaggttgggttaacgtccattggcggcggtt
+acgcagccatgagcgataacaccttcggcgcaccgaaaaatctgctgctggcaggcgtgg
+tcttagccttaattatcctgcttaaccgtcaacgtaacccttacttacgcgtggcctcac
+tggtaattgcgatggcggccggatatgcgctggcgtggtttatgggcatgttgccagaaa
+gcaacgaacctatgacgcaagaactgattatggtgccaacgccgctctattacggtcttg
+gcattgaatggagtctgctgctgccgctgatgctggtctttatgatcacttcgctggaaa
+ccattggcgatatcacggcgacctctgacgtttccgaacagccagtgtccggtccgctgt
+acatgaaacgcctgaaaggcggcgtgctggcaaacggcctgaactcgtttgtttcggcgg
+tgtttaacaccttcccgaactcctgcttcgggcaaaacaacggagtgatccagttgactg
+gtgttgccagccgctatgtcggttttgtcgtcgcgctgatgttgatcgtgctgggtctgt
+tcccggcagtgagcggttttgtacaacacattccagaaccggttctgggcggcgcaacgc
+ttgtaatgtttggcaccatcgccgcctccggtgtgcgtatcgtttctcgtgagccgctga
+accgtcgggcgattctgattatcgcgctgtcgctggcggttggtctgggcgtgtctcagc
+agccgctgattttgcagtttgcccctgaatggctgaaaaacctgctctcctccgggatcg
+ccgcgggcggtattactgccatcgtgctgaatctgattttcccaccagaaaaacagtaat
+tcactggcggcggtaagataattaccgccgcagtctcacctctttaaccattcccgcctt
+gaggattgcgcgtaaatcgtgcataactcccttatgtgcatttcacgggatggaagacca
+tgaaatttattgggaagctgcttctctacattctcatcgctctgttagtggcgatcgctg
+gcctctattttcttctgcaaacccgctggggagcagaacatatcagcgcatgggtttccg
+agaatagcgactatcatctggccttcggggcgatggatcaccgtttttccgcgccatctc
+atatcgtgctggagaacgtcacgtttggtcgtgatggccagcccgcgaccctggtggcca
+aaagtgtcgacattgcgctaagcagtcggcaactgaccgaaccacgccatgtcgatacca
+tcctgctggaaaacgggacgctgaatctcaccgaccagaccgcgccgctaccgttcaaag
+ccgatcgtctgcaactgcgtgatatggcgtttaatagcccgaatagcgaatggaaactga
+gcgcgcagcgggtaaatggcggcgtagttccgtggtcaccaaaagccggtaaagtgctgg
+gtacgaaggcgcagattcagtttagtgccggatcgctttcgctcaatgatgttcctgcca
+ccaatgtactgattgaaggcagtattgataacgatcgcgttacgctgactaacctgggtg
+ccgacatcgcccgcgggacattaaccggaaacgcgcagcgtaacgccgacggcagctggc
+aagtggaaaacctgcgcatggcggatatacgtctacaaagcgaaaaatcgctaaccgact
+tctttgcgccattacgctctgtcccgtcgttgcagattggtcgcctggaagtgatcgatg
+ctcgtttgcaaggtccggactgggcggtgaccgacctcgatctcagcttgcgcaacatga
+ccttcagtaaagatgactggcagacacaggaaggcaaactgtcgatgaacgctagcgagt
+tcatttatggttcgctgcatttatttgacccgattataaacacggaattttccccgcagg
+gcgtagcgctgcgccagttcaccagccgctgggaagggggtatggtcagaacgtcaggga
+actggctgcgtgacgggaaaacgttgatccttgatgatgcggcaattgccgggctggaat
+ataccttgccgaaaaactggcaacagttgtggatggaaacgacacccggttggttaaaca
+gcctgcaactgaagagatttagcgccagccgcaatctgatcattgatatcgaccctgact
+tcccgtggcagctcaccgcgctcgatggttacggtgccaacctgacgctggttaccgatc
+ataaatggggcgtctggagtggctcggcgaatctgaatgccgccgccgcgacattcaatc
+gtgttgatgttcgtcgcccgtcgctggcgctgaccgccaacagcagcacggtgaatatca
+gcgaactgagtgcatttactgaaaaaggcattctggaagccaccgccagtgtttcacaaa
+cgccacaacgtcagacacatatcagcctgaatggacgcggtgtgccggtgaatattttgc
+aacagtggggatggcctgaattaccgttgactggcgacggcaatattcagcttaccgcca
+gtggcgatattcaggccaatgtcccgttgaaacctacggttagcgggcaattgcatgccg
+tgaacgccgcaaagcagcaagtgactcaaaccatgaatgctggcatcgtttccagcggtg
+aagttacatcgacggagccggtgcggtaaacatcaatctcgccgggtacgactcagacgt
+acccggcattccatcaatagattacaacgtaattgtcagcgcattcccttgaggcttcac
+caccagcccctgctcactttcagcctgcgaaccgtcttgcagaccatttactttcacaac
+attgcgcaggcacagtgtccagttcttcgcctcgcccgcaccagtcacagtaatcgtgtt
+gccagtacgtgctgcttttaaagtaaagatcaccgatccgtcagcagcgggcacttcaca
+gacggcttcatgcccgtcttgcagattgaagaggtggaatgccgtgccttcgtgccacac
+gtaatcgggacgttgatcgttgttgcccagcgccagtagagtgttatcacgcacataaac
+gggcagactcaggaagccgtgctgctgtttatgccagcgactaccgtcgagttcatcgtt
+gtgccacaggtgtgtccagcgaccttccggcaggtagaactgcacatcgcccgcttcagt
+gaacaccggcgcaaccatcacgttgtcgcctaacatgtattgacggtcaaggtaatcaca
+agccggatcgtccgggaactccatcatcatggcccgcatcatcggcgtaccccgcgcgtt
+cgcacgcgcagcttcacgatacagatacggcatcatgcggcatttcagttgcgtgaagaa
+gcgcaccacatcacaggactcatcatcgtaggcccacggcacacgataagatttgctacc
+gtgtaaacggctatggctggagagcaaaccaaacgcgcaccagcgtttgtaaacgtgcgc
+cggagcggtattttcaaagccgccgatatcgtggctccagaagccaaaacctgaaaggcc
+aatagacaaaccaccgcgcaggctttccgccattgattcgtagttagcgtaacaatcgcc
+accccagtgtaccgggaatttctgcgcaccgacggaggccgagcgggcaaacaagacagc
+ttcttcctcaccaacggtgtccttgagcacgttccacaccagttcgttgtagatgtacgc
+ataatggttatgcattttctgcggatcggaaccgtcaaaccactgaacatcagttgggat
+acgttcgccaaagtcggtcttaaagcaatcaacgcccatcgcgaccagacctttcagttt
+gtcggcgtaccatttgcaggcatccggattggtaaagtcataaatcgccagacctggctg
+ccatttatcccactgccatagcgaaccgtccgggcgtttgagtaaatagcctttctcttg
+taactctttaaagacgggggatttttgaccgatataggggttaatccagacgcagatttt
+cagtcctttcgctttcaggcggcggatcatcccttccgggtcagggaaagtcagcgggtc
+ccactcaaaatcgcaccactggaaggctttcatccagaaacagtcaaagtggaaaacatg
+cagcggcagattgcgttccgccataccatcgataaagctgtttaccgtcgcttcgtcgta
+gttggtggtaaatgaagtggttagccacaggccgaaggaccacgcgggcggcagcgccgg
+acgaccagtaaagcgggtataacgatcaagtaccgctttcggcgtcgggccgtcgataac
+aaagtattcgagatattcactctcaacgctgaactgcactttggagactttctccgatcc
+cacttcaaaagagacacactggggatgattgaccagtaccccataaccacggttagtcat
+gtagaacgggatatttttatacgcctgttcagtacttgtgccgccgtcccggttccaggt
+ctctaccgtctggccattgcgcaccagggcagtaaagcgctctcccagaccgtaaactgt
+ttcgccaacgccaagatcaagccgctcaaacatataattgcgttgattattcgtgtcctg
+cacgtagccattatttttcacctgactaccggtaatacgttcgccgttgcgcagaaaatc
+cagtgaccagaactcacctttgctgacacgcgcgcttaagttgccacttttaaactcagc
+ataacgttctgtgttttcgattgtgaccttcacgtcctgcaaaatattgagcggataatg
+aggaccgttattcagcgccccctgaaaatgctcaatccgcacaccgacaataccttcctg
+tggggagaaaaagcgcaacgtaaataaaggcgtatcaagctgccaggtacgttcacgcac
+atcacggggggcagcatagaccaccatttcattatcctgctgttcaacctcgaacacctg
+aagcgggtgaatcaaattgaggccaggttgaatcaaccagtttccatcgctaattttcat
+tgccgttccttagttctgcacttcttgagaggtgaattgttgctggcaacggcgtttacc
+ctgagccagctgttccataacggttttcagattgtgcgtcgtgagtgagtagtagcgttt
+agcgataatcgcgctcagcaaataacagatcgccggaacaatcgtgaatagcgcaataat
+gatgctaatcgtggcgctgttctgcgctttttctgccgcatcatatccgccataagccag
+catccagccgataagagcgccgccgaaggccaaccccagtttgagcacaaacagcgtgcc
+agcaaaactgatcccggtcaggcgtttaccattgcaccactcgccgtagtcgacggtatc
+ggacatcattacccactggataggtgtcaccagttgatgcaacacaccaatcacgaagat
+gaagacaaacatagtgatgctggcctgcatgggaacaaagaacatcgcgaggctaatcac
+tgccagcagggcgttcgtccaccagaagatagtgactttacatttccagtcggtcagagg
+ttttgccagtgcggaaccaatcaggttacccacgcaataagtggtgagaaaagcgacaaa
+cacttccggcgtgcccaaaatccatgtgacgtaatacatcatcgccccaccgcgtacgca
+caccgccaggatattgaaaatggttagtaaaccgacaatccgccactggtcgttttgcca
+gatatcacgtaaatcttcccgcatagacgttgttgtaggtggtgcttcaacgcgttcttt
+agtggtgaagaaacaaaatgccagcatcatgaatgccaccacggaaaggaccgcgatacc
+gccctggaaaccgagtggtttattatcaccgccaattaaattaaccagtggcatcatcag
+aacagtagaaagcatgcctcccgcggtcgccagcacaaaacgccaggattgcagcgagat
+acgctgagtcgggtcattggtgattacaccacccaatgcgcagtaagggatattgacgac
+ggtataaagtaaggtaagtagggtgtaagtaattgctgcatagatcattttgccgttcat
+actgagatctggcgtgctataggccagtacacagacgatcccgaatggcagtgcgccaaa
+cagtacccacggacgaaatttaccccagcgagagcgcgttcgatcggccaacaaccccat
+gcaaggatcggaaatcgcatccagtgcacgagcgaccaaaaacatggttccgacaaaacc
+ggcaggaatgccaaaaatatcggtataaaagaacatcatatataacattacgttatcgaa
+aataatgtggctggcggcgtctcccatgccataaccaattttctctttaacggacaacac
+ttcactcttcatctgcttttccttgatgctataggggtgctgagaccgataacgcatttt
+gtaaaccatccctgtgagagcgaatattccgatatctggttattaatttatgattcttgt
+tttatgtgatcgtggtagcgttaattccgctcatatatcattgtaaaatatgggttttat
+atgaactataatgctttcgtgataatacgctgcgtgtattaggcggaaaaaactgatctg
+ggggatgtagaaactcaaggaagtagctataatgcgccccgcctccatgtagcaatcgag
+gcgcggaagatcgtcgtctccggtgaggcggctggacttcaaatccagttggggccgcca
+gcggtcccgggcaggttcgactcctgtgatcttccgccaaaatgcctctcctgacgttct
+ccaaccccttgtaatactgtcaatccagatattttctactgctcaatattcaatcggctt
+caggaatacctggtctaaggttttgtgatggacgatgagcggctgaagaatccgcctgtc
+ggttcttctgtcctcgaacgcatccgcgatattcacgccagtatgcgccgtgtttatttg
+caggtgatttgcccccctgctgactctcagccaactgtatcgccattaaggtgaagatgt
+tgttttactcgccccagaacacccttttttatacgactattctatttctttaaccgctgg
+cgaaaaaaactgactataaacttcaccaataatcagactgccatcaagattaatttgttc
+atttaatatatcaaatcaacttgttttatttttactatcaaaaatagctcattgccttac
+tataattaatatataaattcggtaattaattcttaacatgcttttactaataatctcaat
+tgctggccctataatattgcgctagcattgctttctggttgtatcagcgatactcaaaaa
+ttcttaatacaatactcattcgactggtacttatttgtaactcagttatattttttcgcc
+cggtgattcagaagaatgcaaaaaacggctaccactccatcaaaaatacttgatctcact
+gccgcggcatttttacttgtcgcctttctgacgggtattgcgggcgctcttcagactcct
+accctaagtatattcctcgcagatgaactgaaagcccgtcctataatggtaggttttttc
+ttcaccggtagcgctattatgggaattctggtcagtcaatttctggcaaggcactccgat
+aaacaaggcgaccgtaaattactgattctgctatgttgcttatttggagtgctggcctgc
+acgctttttgcgtggaatcgcaactacttcattctcctctcaacgggcgtacttctgagt
+agttttgcttccaccgcaaacccgcaaatgttcgccctcgcccgtgaacacgccgacaga
+acaggccgtgagacggtcatgttcagtacatttttacgtgctcagatctcgcttgcctgg
+gttatcgggccaccgctcgcttatgaactggcaatgggatttagttttaaagtgatgtat
+ctcaccgctgccatcgcatttgttgtttgcggactgatagtctggttgtttttgccatca
+atacaaagaaatattcctgtcgttacccaacccgtagaaattttaccctccacccacagg
+aagcgggatacgcggctactttttgtggtctgttcaatgatgtgggcggcgaataatctc
+tacatgataaatatgccgctatttattattgatgaactgcatctaaccgataaactgact
+ggagaaatgattggtatcgctgccggtctggaaattccgatgatgttaatcgcaggctat
+tacatgaaacgtattggcaagcgactattaatgctcattgctatcgtgagtggaatgtgt
+ttttacgccagcgtactcatggcgacgactccggcggttgagctggaattgcaaattctt
+aatgccatcttccttggtattctctgtggtatcggcatgctttattttcaggacttgatg
+cctgaaaaaataggctctgcgacaacgttatatgcaaatacttcacgcgtcggctggatt
+atcgccggctctgttgacggaattatggttgaaatctggagctaccatgcgttgttctgg
+ctggcgatagggatgttgggtattgcgatgatttgcctgctgtttattaaagatatttag
+ctcaccagtctgggctaagaaaaatcggcgtggcgcaaacagagccatcctcgccatttt
+tgctatcatgcctgcatacataaacgacaaaacagtatgcagagggaaaaatgggttcca
+ccagaaaggggatgctgaacgttctgattgccgccgtgttgtggggaagttcaggggtct
+gcgcgcaatacatcatggagcaaagccagatgtcgtcgcagtttttgactatgacgcgtt
+tgatattcgccggtttgattctactgacgctgtcatttgttcatggcgataaaatctttt
+ctattattaacaatcataaagatgccattagcctgctgattttttccgtggttggcgcgc
+taactgtacagctcacttttttgctaaccatcgaaaaatcgaacgcagccacggcaacgg
+tgctgcaattcctctcaccgacgattatcgtcgcctggttctcactggtgcgtaaatcgc
+gcccgggcattctggttttctgcgctattttgacatcgctggtcgggacttttttattgg
+tgacacacggtaatccgacgtcattatcgatctctcctgccgcgttgttctggggcattg
+cctcggcatttgctgctgcattctataccacctatccctcaacgctaattgcccgctatg
+gcacgttaccagtcgtcggctggagtatgctgattggcggtctgattctgttgccttttt
+atgccagacaaggaacaaactttgtcgttaacggcagtttgattctggcgtttttttatt
+tggtggtcattggtacgtccctgacatttagtctgtacctgaaaggagcacaattaattg
+gcggtccaaaagccagcattttgagctgtgcagaaccattaagtagcgcgctactctctt
+tgctgttgctggggatcacgttcacattaccggactggctgggaacgctgctgattctgt
+catcggtgattttgatttcaatggattcccgtcgccgcgccagaaaaataaatcgtccgg
+cgcggcataagtgagaattaccagccaggcaccgcgccaccgttaaaaatggtttctgcc
+gctttagcgacttcgggtgattgataagattgcagaaattccttcacgttttctgcattc
+ttattatcttcccgtgccaccaaaatattcacatacggcgaattcttatcttcaataaat
+acgctgtcgtgcaccggagaaagcccggtctgctgaatgtaagtggtgctgataatcgct
+acatcaactttgggatcatccagtacgcgcgggagctgcgccccctcgagttccataatc
+tgcaaatgacgaggattatcggttatatccagcgcggtaggtaataacccttttccctct
+ttcagagtaattagcttctctttttgcaacagtaaaagtgcgcgaccaaggttggtcggg
+tcgttggggatcgccactgtcgcgccttcttttatttgcgccacggttttgatttttttg
+gaataacccgccatagggaagacaaacgtatttcccaccgctaccagtttataaccatgc
+gcctgattatcttgttcaagaaagggtcgatgctggaagacattcgcatcaagttcgcca
+tgatttgtcgcatcgttcggtagcaacgaaccgctaaatcctaccagttcaacatcgagg
+ccatatttctcttttgccacctttttagcgacttccgcgacatcttgttctgcgccattt
+ataacgccaactttaatgtgttttgcatcgctgctactctggtcgcaacctgccagcaga
+attccggccagcaataatgcggcccctgtccgtagatgatgtgttgtcagtttcattttt
+ttatccttttattaatgattacctgactatagcggtaaggtcgctgcggtttaaaaaacg
+aaacgctatcgataagaataaaaaggaataaaagtggaatataaagtctggcacttctta
+ctgaccacgcaagcgcgtttcgtacagcatgatgagagcgatgaaagcaaactacactta
+tgcttcattcgatacacatttgtaaaaggttgaatccatgaaaccaacgacactactgct
+tattttcacttttttcgctatgccaggcatcgtatacgccgagtcgccttttagctcact
+gcagtccgcaaaagagaaaaccacggtattacaagatttacgtaaaatttgcacgccaca
+ggcgtcattatcagatgaagcgtgggaaaagttaatgttgtcagatgaaaacaataaaca
+acatatacgcgaggccatcgtggcgatggaacgtaataatcagagcaattattgggaagc
+gttgggtaaggtagaatgcccggatatgtaagaacagcaacaactactgaccaacgcttc
+tttacctgatatcaggatttcttcattttcacctttgcagtaaccaacaatgcagtcagc
+aacatcaatgtgccggacaacatcaacggcgaagtcagaccaatattatccagcgcataa
+ccgccgattgccgcgccacaggtattagcaagctgaataaccgccacctgaatagacccg
+gctttttctgcctgatcggccagcgagcgggtgatccacgttgaccagccgacgggaacc
+aatgcaaaagttagcccccagataatcgccacgccggtagcaacgattttatcgcttccc
+cacaacgtcagtaccaacgcactcacagccagtattaacggcgcgcctgctaaggccagt
+tttaccgaacgtttaagaatgaacgacgaaagcgacgtaccaataaagctggcgatacca
+aaactcaacagcaccagcgttaagccatccacgccgaatcccgccaggttcatatacacc
+gggcgaatatacgtgaagaaagcaaactgcccggcgaaagacatgaagatggcgatcatc
+cctgccatcacacccggacgttgtaataagcggaaagtattttgtttctgatgcgagggt
+tcgcctggcagtgaaggcaatgatttgataatccagaaaatacacagcacgcccatcacc
+gccgccgcattaaagacattgcgccaaccgataagctcgcctaaaaaactgcccaacggc
+gcggcaatcaccagcgcaatagaaaccgcgccgaagatcaccgacagcgccttcggcacc
+gtacgcggcggcaccagacgcatggtcagcgacgccgacatcgcccagaacccgcccagc
+gccagccccagacaggcacgaccgattaaaagcaaactgaatgagttagcaaaggaaacc
+agcaagcaggagagcgtcagcaaaacggcaaacaaaataacaacgtagcggcggtcagta
+gcctgaattgtctgggtaataaacaaactggcaaacattgccacaaaggcggtcacggtc
+accgattgcccggcaaccccttccgaaatgcctaaatcctgggccattggcgtcaacaaa
+ctgacgggcaaaaactcaacgataatcagacaggcgacacaaaacgccaccgagaaaacg
+gctgaccagttcggtcgggtgatggcatccgcgccgcggttttcggcaataaattcactc
+atggtgttacccgtggcatgtttcaggggaaaagccgaccactttaacattgaaatgtgt
+gacgcatttaacgtttttgcaacttttacggtgttgcttgagctggagttaagatcgaaa
+cggaacagggcaaagattaccggatgcggcgtgaacgtcttatccacccgacaggtcagg
+cgcggtctgtaggctgataagacgaaacggtttcaatgcaaccagtgaacgccctcggca
+ggctgaaagaacgcgttatagcgcatctgaaaagcattaatatcctgcatttcaggttcg
+gtttcgcgcagaaaacctagcgccagcctgacctgagcgtcggtaatcggcgcggcgagg
+cgagctttttgtaaaatccgatgccattgcagcaggttctgttcgctaccatcgacaatg
+acaatttgccagatgagcaacacctgcgcggcgttttgcaggtgcgactcatccggacga
+tgcaaataacgtaaaaattcgtcaccagctgactttcccatttgatcgaccatcgactcc
+acgggtacgacatcgatgttcagccgatcgctgagacggcgaatcgcttttctggccccg
+gatgtcagcacccgaaaaccaaccacaaacactaccgccagcgtggcgagcattatccag
+atcatgagttctcctgcgtaatcagaactcatgatatctggaaaccctcgccagttacta
+atccaccagaataatcttcagtgcaaacagagctgcgaccaccaccacacacaggttcag
+atcgcgccagcgcccggtgcatactttcatgatgcagtacgacataaagccgagtgcaat
+cccttcggtgatcgagaaagtaaagggcatcatcaccgtggtaataaacgcaggcaccga
+ttcggtaaaatcatcccagttaacgcgcgccaggctcgaagtcatcagcacgccaacaaa
+gattaacgctccggcggttgcgtaaggaggaactatcgccaccagcggtgagaagaacat
+aaccaacaggaacataacgccaaccacaaccgcagtcagccccgtgcggccaccgactgc
+cacaccagaagtactttcaatataggcagtaacagacgaggtgccgataaacgcacccgc
+caccgaactgacgctatcaacatacagcgccttattcatattggggaatttaccgttacc
+atctattaagcccgctttatcagttacaccaattaatgttcctgatgaatcaaataggtt
+gatcagcataaaggagaaaatgataccggcgagttcaagtgttaacgcgccgctcaaatc
+tacttcaccaatgacgccgctaatatcaggcggaatggaatagacgccgctaaaatgaac
+atcaccgaaaaataatccacagcaagacgtcaccacaatagaaaccagcaccgcggcatg
+aaaatgacgtgatgacaacacggttataataaaaaaccctaaaatacctaacaacacgcc
+gtgagaacttaaatcgccaatcatcaccagcgtgtctttattggcgacaataacgccagt
+attttttaatcccattaaggcgataaataatccaattccgctggtgataccaatacgtaa
+acttaagggaatgttggagatcatccagtaccggatacgaaacagcgtgagcaaaaatag
+tccaactgcgccccagaatattgcgcccatcccggtctgccaggagatgcccatcgcccc
+cacgaccacgaaggcaaagaaggcgttcagccccattgccggagccagcgccacgggtaa
+gttagcaaatatccccatcgcaatactgccgataccggcaatcaaacaggtggtaacaaa
+caccactttcgggtccatttgtgccgcgccgaggatttgcgggttcacaaaaacgatgta
+caccatggttaaaaaagtggtcatccccgcaatcaattctgtgcggacggtggtcccatg
+ctgaggtagtttaaataatcgcgaaagcgtccctgattcattactcacgtaatcggtatt
+gtcattattcatttttttgtccattggaggagatttaatcccttgcttttgtaaaacaaa
+tgacaacaacggttcagtgataattatcacatttcaattgcacattaatggatattcttt
+aataatctcgcgacgtttctttatgataaataataatcaaattgataaaatcaaaatgag
+aaaaatatgaataattctattaaccataaatttcatcacattagccgggctgaataccag
+gaattgttagccgtttcccgtggcgacgctgttgccgattatattattgataatgtctct
+attctcgacctgatcaatggcggagaaatttccggcccaattgtgattaaaggacgttac
+attgccggtgttggcgcagaatacactgatgctccggctttgcagcggattgatgctcgc
+ggcgcaacggcggtgccagggtttattgatgctcacctgcatattgaatccagcatgatg
+acgccggtcacttttgaaaccgctaccctgccgcgcggcctgacgaccgttatttgcgac
+cctcatgaaatcgtcaacgtgatgggcgaagccggattcgcctggtttgcccgctgtgcc
+gaacaggcaaggcaaaaccagtacttacaggtcagctcttgcgtacccgccctggaaggc
+tgcgatgttaacggtgccagttttacccttgaacagatgctcgcctggcgggaccatccg
+caggttaccggccttgcagaaatgatggactaccctggcgtaattagcgggcagaatgcg
+ctgctcgataaactggatgcatttcgccacctgacgctggacggtcactgcccgggtttg
+ggtggtaaagaacttaacgcctatattactgcgggtattgaaaactgccacgaaagttat
+cagctggaagaaggacgccggaaattacaactcggcatgtcgttgatgatccgcgaaggg
+tccgctgcccgcaatctcaacgcgctggcaccgttgatcaacgaatttaacagcccgcaa
+tgcatgctctgtaccgatgaccgtaacccgtgggagatcgcccatgaaggacacatcgat
+gccttaattcgccgcctgatcgaacaacacaatgtgccgctgcatgtggcatatcgcgtc
+gccagctggtcgacggcgcgccactttggtctgaatcacctcggcttactggcacccggc
+aagcaggccgatatcgtcctgttgagcgatgcgcgtaaggtcacggtgcagcaggtactg
+gtgaaaggcgagccgattgatgcgcaaaccttacaggcggaagagtcggcgagactggca
+caatccgctccgccatatggcaacaccattgcccgccagccagtttccgccagcgacttt
+gccctgcaatttacgcccggaaaacgctatcgggtcattgacgtcatccataacgaattg
+attacgcactcccactccagcgtctacagcgaaaatggttttgatcgcgatgatgtgagc
+tttattgccgtacttgagcgttacgggcaacggctggctccggcttgtggtttgcttggc
+ggctttggactgaatgaaggtgcgctggctgcgacggtcagccatgacagccataatatt
+gtggtgatcggtcgcagtgccgaagagatggcgctggcggtcaatcaggtgattcaggat
+ggcggcgggctgtgcgtggtacgtaacggccaggtacaaagtcatctgccgttacccatt
+gccgggctgatgagcaccgacacggcgcagtcgctggcggaacaaattgacgccttgaaa
+gccgccgcccgtgaatgcggtccgttacccgatgagccgtttattcagatggcgtttctt
+tctctgccagtgatccccgcgctaaaactaaccagtcaggggctatttgatggcgagaag
+tttgccttcactacgctggaagtcacggaataataaaaaaagcccggcgtcatgccgggc
+aaaagtcaccagttacgtttatgccactgtcaactgctgaatttttttctcgcggcggat
+tttgcgttcttccattaccgccactatcgccatcaggcagatacaaccaatcgcggcgat
+atccagcgcggcgaaggtgcctgcccagccggtaaggccgaataccggcgtcccatcggc
+aatcattcccagacctaacttggcaaagctgtcaccaatcaggtaagcaaaggtgccttt
+aataccatcggcagcgccaatcgcttttttaggtacaaagccaacagcagccacaccaat
+caacaattgcgggccaaagaccaggaaacccaacgcaaagagagaagccagatagatata
+ttcgttactggcatgttgatacacaccgagcgtggcgataatcagcgccagcgcgatgca
+ggccaccaggccacggcgaccgttcgccaggtcagagagccagccccacagcagcgtacc
+gaccagcgcaccagcttcaaacagcgtaaagccctgaatcgccaccgctttagagagttt
+cagttcctggaacgcgtatacggttgaccactggtcgataccaatacgtaccacatagag
+gaaaatgttggcgaagcacagcagccagatcactttgtttttcagcacatactcaacaaa
+gatctgccacttggtcatatcggtagattctgtctctttgtcctcttcgctgatctcctc
+gccgaacagttcttcagctttgccgaggccataagattccggggagtcgctgccgtaacg
+caggccgataaaaccgacaatcagcgcgataatcgacgggaagataaacatgccgatgac
+atggccatcgaacaggtaatttgccccgaacagcgccacacctgctgcgcctgcaccgcc
+aaggttgtgagaaatattccagaaaccgaggaatgtcccgcgtttacgacgcggcgtcca
+tttggtgatggtggagtaactgcacgaaccgccggtactctggaaaaagccgcttaaggc
+gtagaaggcaatcatcaggaacaggctaaccgagccgctgcccatactggcactgaagcc
+cagcatacaaatagcagagaggatcagcatgaacggcaggaattgtttggtgtttttgcc
+gtcggcgtagtaggaaaccagcgttttacccacgccataagtgatggagaaacccaggcc
+gatcatccccagctgcgtcatgctcaacccgtaggtcgaaatcatatcgttctgcgcgat
+gttaaagttcttgcgaatcaggtacatcgtcaggtagccgataaagaccaccaggtagga
+ttgcatgaacggtttgaaccacattttgcgccgcacttcgagcggaaggtccagggtcgg
+cttgcgaacctggtttaagaaagccagcatgggttactcctgaaatgaatacctgcgtga
+ggcatgcattgtaaaaatcagcagcaaatcaggcctgagatagcgtccaggcaaaacctg
+gaaaatttcttagttttgccggatatgaagtgaaaaggtgagatgcatcacgcttcgcgc
+ggtgtctgggcgttcaaaaagggcagtaacagcagtgcggaaatcccggcggcgatagag
+ataaccacaaaaaatccgctccagtgccaggtatcgagtactttcgccagcggccaacca
+gcaagcgacgcccccagataagcaaacaagccgacaaaccccgtcgccgcccctgccgcc
+tctttgtgggaacactctgccgccgccataccgattaacatctgtgggccaaagacaaaa
+aaaccaatggtgaagaagcaggttgcctgcatcacgtagctggcaaatggcatcagccac
+agggagccgactgaaagcaaaattccggcggcgaaaatcaaattcatcggccctcggttg
+ccgttaaacaatttgtccgagccccaaccggctaccagcgcaccgataaatccgcccagt
+tcaaacatcgtcactgccgtattcgccgtgaccagatcgacgcccagtgtctcggacata
+tacaaattgccccagtcgttgatcgccgcccggaccacatagaccagcacatagcaaaac
+gaaagcagccagatatacggattcagcaacacatatttggtgaggatctctttacgcgtc
+aaccctgccccttcttgttgttgagcaatttccagcgcgtcgtgtcgccattcaccgacc
+gccggtaaacctaacgcctgcgggcgatcgcgtagccgccagcagagaaaaatccccacg
+actatcgccatacaaccagcaatcatcatcccggcacgccagccgtaatgcagcgcagcc
+gctgccatcacaatgggaatgagtgcgccgccgacgttatgcgccgtgttccataatgcc
+caccaaccgccgcgctcggtacgtgaataccaggccgttaacagacgcgcacacaccggt
+gaaccccagccctggaaaaaggcgttcagcacccagagcacggcaaacgcccatagcgac
+gtcgagaagccaaacagaatgttgataatgcccgtggcgataagccctatccccataaaa
+taacgggcatttgagcgatcgctgacaatgccggagacaaacttcgacacgccataggta
+atgtaaaacagggtcgctaacaggccgatatcgctacggctgagcacgccgttagcaagg
+atttctggtacggcggcgttaaaacttttccgcgtgaagtaaaacagcgcgtaacccagc
+cagatggtcagcagaatatgccgacgccagtagcgatagcgggcatcaatttcatattta
+tcagtcattaatggcgcatcggcaggcgctttcagaaacggcaacatcatcaaaccttag
+acatagcgttgaggtagagaaacgctgacacgcgtgccgtgcagacaggaaatgtgtaat
+gtgccacccagcgccgttacgcgctcgcgcattccggtgaggccaaaaccttgttgcccg
+gaacccggcggcaaaccgctgccatcgtcttcaataaccagcatcaaccgttcatcctgc
+tgccagccttgcagggtgaccgcgctggcatcagcatgtttcacaatgttgttcagccct
+tcctggcagacacgaaacagcgtcacgcgctggttttcgcttaacgctgattcatcgatt
+cgccattcgagatggctgacaataccgcgcccttccagctccatttcccgcatcagtgag
+cggatggcctgctccagggtgagatcatccaactggcgcggacgtaaccgacccaacaaa
+cggcgcaccgcgtcgtaaacgcccagcgatagttgttcgatgagctgcccgctctgcttc
+acgctggcgttatctgccgccagccgctgaacaatgcccgcctgagtacgaatagcagtg
+atggtctgaccgatatcatcatgcagctcacgcgccacatcacggcgcacgctctcttcg
+gtttccagcaaccgttcagccagatgctgattgcgcgccagttccttttgcagcgactgg
+ttaagttcacgcaaccgctggatgccagcgccaagcaacaaccctgtcagactttgcacc
+agcagcgagagcaataaatccaccggatgatcgcgccaggtttgactggcgatcagcgcg
+atggcgttcatcaacgtcgcaatcagcgccccttgccaaccatagtgccaggccagcgcg
+ataatcggcagcgccagacagaatggcgtaaagcgcgacagttcgtccggcaatcccaac
+tggagccagagactgataacaaacagcagcaagtaccagaccagatgtcgcccgcgccag
+ttgattggctgagaaaccagtgacggaccgagcggcagccaggtgttattggcgagatag
+tgccagaacaccagacatatcggggccagcgtcaggccgccagttaaagtcagcaacagc
+gcattccacgactctttgccgtgccaaagccagggcagcgactgcaacaacgccgccgcc
+gttaacgccgccccctgtaacagcaaggtgcgccagtcacgctgatggcgatagcgcgag
+atcagcgctacgggcagtaacgtcagtaaactaccgatcatcaataacggaaaatgggtt
+aaaccgaccgcctgcgttagccagtaaatcagcagccactccgcgcccagcaatacgggc
+cagtatccgcgcgggcattgcagcattagccccagacgcagaccaaacggaaataacagc
+accgccatatcagggcgctcaaccagatgcaggctgatactccacaggcaaaaccatgcg
+gcagagaagataaaaaagcaggcaataacggtaattaagcgggagaacaacgtcttcatc
+accagccatcaaacatgcggcgcgccagctctacgtcgttactgacgcccagtttttcca
+tcagattggcgcgatggacgtgtaccgttttcggtgacaagcccagttcggcggcaatct
+ctttcaccgccattccttgcgccagtttttccgccacctggcgttcacgtttggttagcg
+ggtcctgacgaccggatgccagtttaatggcaatatccggcgtcagataacagccgcccg
+tggcaaccgtatgcaccgcagcaatgagttcatccgggctacagcgtttggaaagaaagc
+cgcgtgcccccgcgttaagcgcctgctcaaccagcgcaggactgtcgtgaacggagagca
+taatcgtcgccatacctttcggcagctggcttagcagctccagaccggagatatcgggca
+tggagatatcgcaaatacacacctgcacaccgcgccccggcagccccgccagcgcctcgc
+gccccgaaccaaactcggcaactacctgcaaatcaggttccagccccagcagctgcgcaa
+agccggagcggacgatgaggtgatcgtctataagggcaacggtgatcatggtcttgtcct
+ggcgggtaaaaaaaatacgcgcttaccttaacgataagcgcgatgttgttcaagccttga
+gcggttactgaaaaaacaccgcgatcttgttaaacatcgtcggatcggactgattacgct
+gcactttcacgacatcttccagcttatcgatttggcttatcatctgctccagacgctggt
+cgtcattgaccagtagccagatatggcttttgtcgctgtcctgaatcggcagacaaagaa
+tgccttcaacgttaaaagcgcggcgggcaaaaaggccacaaacgtgggtcattacgcccg
+gatggttgcgaacggtgagctccagaattacgttgtcatgagttgtgttttgcatggctt
+attcccccaccatttcagtattcgccgcacctggcggcaccatcgggtaaactttttctt
+cggcatcaatgcgcacatggatcagcgccgggccagggcgattgatgatttcctgcaatg
+aagcctgcggatcggcttcgttattcaaatcacaggtttcgaggccgaatccggcggcaa
+tctgcataaagttgattttgcccggataggtggcggcaaaaacgccttgctcgtagaaca
+gactctgttgctgatgcaccagccccagcgcttcgttgttcatcagaatgattttgacat
+ccagctgattttcactggcggtcgccatctcctgaatattcatcatcaggctgccgtcgc
+cggagaaacacaacactttgcgatccgggttcgccagcgcagcgccaatcgccgcaggca
+ggccaaaacccatcgtgcccagcccaccggaggtcagccactggcgtgggcgattgagcg
+gataagcttgcgcggtccacatctgatgctgaccaacgtcggtggtgataattgcattgt
+catcgacacaggcggcaacggcgttgatcaggccgtaatggcttaacggatcgcacgctt
+tcgggattggacacggaaactcacgctgcaaatccgctaccaactggtgccactctgcac
+gcggttgcgcttccaccagcgggatcaactgcgccagcacgtcatcaacatccgcctgaa
+tcgccacgtgcggctgcttgattttacccagctctgcacggtcgatatcgacatgaatga
+ttttggcattcggacagaactgctcggttttgccaatcgcccggtcatcaaaacgcgcac
+cgagcactatcaacaaatccgcctcctgcaaaatatagttggtgctgcgcacgccgtgca
+tccccagcatacccagcgacaacggatgcgcttttggcaacatgcccagcgccattaaag
+tcatggtggtaggcagttgcgctttctccgccagttcacgcacccgtgcgggcgcattga
+tcacaccgccgcccagataaagcaccgggcgtttggcagcgttaatcatcgccgctgcgt
+cacgaatgctttcttcgctaaaggcgggggcggcggctttttctgccatagcgggctgtg
+tttcaatctcaaaaactgccgtttgcacatccttaggaatgtctatccacaccgggcctg
+ggcggcctgattgcgcaatgcggaaggcatcgctcatgacctgcgggagttcttcgatat
+gtctgaccagatagttgtgtttggtgatggggatagagatgccgtaggtgtccacttcct
+ggaaggcgtcggtgccgatcatcgaggcgggaacctgaccagtgatgcaaatcagcggga
+tggagtccagccgcgcatcggcaatggcggtcaccaggttagtcgcacccggtccgctac
+aggccatacagaccgccggtttaccgtcggtgcgcgccattccctgagcgataaagcccg
+cgccctgttcatgacgggccagaatatggcggatttgcgtgctttggcttaaggcatcgt
+aaacaggcaggatagaaccgcccggaatgcctgtcacaatcttaatgccctgctgttcca
+ggaaatgaacgataaattctgcgccggtaaagcgcttacgcgtcgatgttgtgcccgaac
+ttgccatgctccagtccttttcttctgggccgactttccgggaggtgcttaaacgaaaaa
+ccccgcccggtttgcgccggcggggttttggaatcgtgtgttgttccagtccctacggcg
+cattgccgacgaccaccaccacacgcacgacgaccactgcggcggatggcgcagttggta
+gtagttttgcgttgagcatggaagtagtcattggggaccttgttggttttgtgtttaaca
+atatttatacaagcacagctttacaggggagacaatggaaaatttttcagcaagggaaaa
+ttgaggggttgatcacgttttgtactgaattgcagataacaaaaaaccccgccggagcga
+ggtttcgtcagtcgcctgcggctggtaaccgcaaagcacactgtattatgtcaacactga
+aagtatacgtgttccgcgcagaacgcgcaatttcggcacgaattttgacgtatttagtgc
+atagttgagtatcgatcacagtttgcgttttgtccaaatattactgtttatttatacagt
+aaacttctataatatcactgtacgcaatgtgttatgcgggggccgcatcgttacccggcg
+cactaagtcctggctgaaacgggtggtgccgtcagcgccttaaccccgcgtgagcacact
+gtgttatgtcaacaagcacaacgtttctccttgagataccgcgtgcacaacagctggcaa
+caggcagcggaaaggtacgtcagctggcagtgctcctgaaccacaggagacgcgtatgaa
+cctggtggatatcgccattcttatcctcaaactcattgttgcagcactgcaactgcttga
+tgctgttctgaaatacctgaagtaattcagattcaagtcgcaccaaaggggagcgggaaa
+ccgctccccttttatatttagcgtgcgggttggtgtcggatgcgatgctgacgcatctta
+tccgccctaccatctctcccggcaacatttattgccgcttttgtttacatattctgccgc
+taaacaattccccattcctggcgtatatctggctaacattcatcaatgtgatagattcct
+ctcccgcatttatgggaatgcgtagtgacttattctaattatttttataaaagcatccgt
+gataatgaaaaggcaaagaaacgtcaatttgttattgatgttggtattactcgtggccgt
+cggtcagatggcgcaaaccatttatattccagctattgccgatatggcgcgcgatctcaa
+cgtccgtgaaggggcggtgcagagcgtaatgggcgcttatctgctgacttacggtgtctc
+acagctgttttatggcccgatttccgaccgcgtgggccgccgaccggtgatcctcgtcgg
+aatgtccatttttatgctggcaacgctggtcgcggtcacgacctccagtttgacggtgtt
+gattgccgccagcgcgatgcaggggatgggcaccggcgttggcggcgtaatggcgcgtac
+tttaccgcgagatttatatgaacggacacagttgcgccatgctaacagcctgttaaacat
+ggggattctcgtcagtccgttgctcgcaccgctaatcggcggtctgctggatacgatgtg
+gaactggcgcgcctgttatctctttttgttggttctttgtgctggtgtgaccttcagtat
+ggcccgctggatgccggaaacgcgtccggtcgatgcaccgcgcacgcgcctgcttaccag
+ttataaaacgcttttcggtaacagcggttttaactgttatttgctgatgctgattggcgg
+tctggccgggattgccgcctttgaagcctgctccggcgtgctgatgggcgcggtgttagg
+gctgagcagtatgacggtcagtattttgtttattctgccgattccggcagcgttttttgg
+cgcatggtttgccggacgtcccaataaacgcttctccacgttaatgtggcagtcggttat
+ctgctgcctgctggctggcttgctgatgtggatccccgactggtttggcgtgatgaatgt
+ctggacgctgctcgttcccgccgcgctgttctttttcggtgccgggatgctgtttccgct
+ggcgaccagcggcgcgatggagccgttccccttcctggcgggcacggctggcgcgctggt
+cggcggtctgcaaaacattggttccggcgtgctggcgtcgctctctgcgatgttgccgca
+aaccggtcagggcagcctggggttgttgatgaccttaatgggattgttgatcgtgctgtg
+ctggctgccgctggcgacgcggatgtcgcatcaggggcagcccgtttaagcgcacgtcac
+cgcagcatcgtcatcagctccatgggagaacgatgctgctttatcagatcacgcatcacc
+cgcatatgcggtgcggagtaagaataaaacgcctgatagcccgcacaaagcacgctgtct
+ggcgtctcctgccgagcgtgcgggcacaggcgatgccagtcgcacgcctggcagtcacag
+cgcggttgcgggttttcgctgccacaccatttttgtaaggtggcgtcaaaaagctcaatc
+gagatacgactgatatctgcccgcacccaacactcgaacagggcaattaaaaatttcccc
+cacagctctgctgtcaccgaagcggccgtcagatcgccccggtcatcaaattcaagatag
+ggaatgagctgtacggagcggatgccccgctgtttgaaattgtgataaaaatcggcaggt
+tgcagagcatccttgtactctacaaccagtttatgcctgtcctcttcagcatcaatgacc
+tgacttcctgtcatgcgactctctcaataaatacgataagttgatgtatatgcgttacag
+caaacagtattgcgagagataacaccgcgagggagatcaaaaatttgtcacggactacgt
+gaaattgggaaaaatcgctattcgtgacatccattaaattgcgattacgggtgtagtgcc
+agaggatcagcgccacgatggcgagaatgccaatcgaaatccagaataacatgcccgcct
+ggtgccagttgtgtttgatagccaacgccatcaacgcgccgtagcccagcatggtacgaa
+accacgccagtgatgtgcgctccggctgcagtcctgggtcggcaatgcgtctggctttgc
+ggctatccggcatacaacaccagtcccataacgatcaccgccacgaccatcaatattaag
+ctaatgattaataagctgttggtgtagggcaggtcctctttcagacgcatcgctttttca
+ttgcgtaaccagcgcaagtagccatacatcgctaacccgccggaaaacagacacaacaac
+aacgccagcagttcgcgaatgacgggcgtggcgaaatctggcgcaagttgatcaagccca
+acccccgccgccagaaatcctagtgcagtacggatccacgccagaaaagtacgctcatta
+gccagcgagaagcggtaatcaggcgcttctccgaggcgggaaattttcattgttgctcct
+ttgcaatttcactaacgctctacctttagcggtttttttaagaatttcgtccgcccgttt
+cctgatatgcttttgccatccgctacaaggaggtcagatgggtatcatagctcaaaataa
+aatcagttcattgggcatgctgttcggtgccatcgctttaatgatggggattatccactt
+ttcattcggccctttctccgcaccaccgccaacgtttgaaagcatcgtggcggacaaaac
+ggctgaaattaaaagaggtcttctcgccggaataaaaggcgaaaaaattaccaccgtgga
+gaaaaaagaggacgtagatgtcgataaaatcctcaatcaaagcggtatcgcactggccat
+tgctgcgctactttgcgcatttattggcggtatgcgtaaggaaaatcgctggggcattcg
+cggcgcgctggtttttggcggcgggacgctggctttccataccttgctttttggtatcgg
+catcgtgtgcagcattttgctgatattccttatcttttccttcctgaccggcggttcact
+ggtttaagcagcctgaataatgcccgccgggtgatcatcagcgggcattatcgtcagaac
+ttctgttttttctcctccaccttcaccccttgtgtcggtaggccggtgtcatagtcgcgt
+acaactggcgaatagccatcttgtggacgtggacgaaacgcccccatccagcgcggccgt
+gcatctttacgccacggacgcagactccattggtaactgcggaacggatcgcgaattttg
+tccatgtaatccaataaggcgtcatgcattttgctgcgaacgtctgcaaaacggatatca
+tcgatcaggttatgcatttcatttgggtcattacggcgatcgtaaagttcatcactggtg
+aagaggttgagtaccagtttaaagtcatccgtcacccagcaacgcaccggaataaaaccg
+ccaaagctgtcatgctcaatctcgtagcggttaaattccaccatcacgccgcgtggctct
+ttcacggcaaggatattttcccccggcagaatctctggtttttcaatatctgccagcgcc
+atcattgtcggcagtaaatcgatatgactgactggcgtatcgacctgtcgccgctcccct
+tgcggcgaacggatgatcagcggaatgcgggtgatgtcgtcatacatcgccgccccttta
+ctgatcagcttatgtgcgcccatcatttcgccgtgatcggaggtataaataacccacgta
+ttttcacgttgctctggcgttaaggcattgatgacccgtccgatttggtcatcaacaaag
+tcattacaggcaaaatagagcggatggtgataaagcccgtcatcaccgactggcgatggc
+atcgcctgcgcccataagcggtgatgttccggtttgttagccaggtcatcctgtgctttc
+tcgcccagctcgtagtaaaaatcagcgtatttctctaaatactccaccggacaggtgaac
+gggtgatgcggctcatcatacgaaaccaccatcaggaaaggctcgtctgcgcgcgcaggc
+tgttgcagaaaatccaccgcccgattgctgatacgatgcgcccaggtgaaggtttcgtcg
+atatggttcgcctgtaaatcttcgacgctgtttaggccattgcgccacaggctaatctct
+ttttccgtcagttcgctaagatagttcgccccatcgaaccagtaatcagcgtcccactcc
+ggcggacactcgccagtgccgaaatagtcatgaccgtcgagatgccatttgccgatgtaa
+caggtgtgatagccggcatccttaaagtagcgccccatagtggagatgtttttgcctggc
+gcgacgttgttggtccacgggccggactggttagcgtagataccggtaaatagtccggcc
+cgtgcaggcgtacaaaccggtgaacaggtgtaggcggaattaaagcgaataccttccgcc
+gccagactatcaatattttgcgtattcagcggtttaccgctatagcaaccgaccatattg
+gtggcctgggtatcggtcatgacgaacagaaaattggggcgtttcataggctatccttcc
+cgtcgggagtaaaggttacggctgggtcgtgacgatgccgccagctgtcaaaaatcaggt
+agacaatcactacggcggcaatgaaataactgatcatcgctaaccagcgcgtaccgtagc
+cgccgaattcagccagcccggcatagacgccaatcatcgcgaacaggatgccaattgacg
+cgatcttgacgtttttccacggtttcatgtccaccgcaaacgcatctttgaaggtgaacg
+gcgtggcgcgcggtttgataaaaccgatcaccagcatcacgaccacgttgatgcagaacg
+tacaggccagcacatagaggaaatggaagtcgaacttcaccagatagttgatggtgatgt
+agctgattatgccaatccccatcgctacttttgccgccagcgccgggatgcgcgggaaga
+aaaagcccataatgatgatggtaaccagcggcacgttgtaaatgccgttgagctgtttca
+tccagctatacagcccctgcggcgcgttggcgatccacggcgcgaccagcaccgaaacga
+tagcgataaagaaaccaaatttgcgcccgacggtgaccagctgctgcggctcggcattct
+ggttaatgatgcgacggtaaatacccatactgaataacgtactggcgctattcagaaagc
+cgttgaaggtactgatcaccgcaccaaataacaccgcgccgaagaaacccaccattggca
+ctggcagaacgttattgaccagcgtcgggtaggccatgtcggctttcggtaaatcctgat
+acagatgaaacgcaatcaaccctggcagcaccagtaccagcgggtcgagcattttcagca
+ccgccgttaacagcgcccccttttgcccttccgccaggctttttgacgccagcgtgcgtt
+gcacgatgccctgatttgtacaccagtaaaaggtgttcaccagaatcaaaccggtaaatg
+ccgcgccaatcggcaagggatcggtcgggccaccgattgagtttaatttctcggcgtgaa
+cggtggtgagttgctcaatgccctgcataaagctgcccttgcccatcgcgattaggccaa
+ataccggcaccatcaacccgccgataaccagcccaataccgttgatggagtccgccactg
+ccattgcgcgcagtccgccgatcaccgcatacaaaattcccgccagaccaagcaaaatta
+ccagtagccagatagccgcaccgtgagaaatctgtagcgattccccgacgtgaaacaggc
+tgttgagcgccaacgcgccggagtagagaacaatcggcagaaagcagacgccggtggcaa
+ttaggaagcagaagtcgatgataatacgcgtcgttttatcataacgttcctccagaaaat
+cggggatggtggcaatgccgcgcttcagatagcgcggtaaaaagattagcgcgaggaaga
+tcagcgtcaccgctgaagtcacttcccagcccatcaccgacatgccgcttttgtaggcct
+gcccggaaaggccgaccagttgttccgtggaaaggttggttagcattaacgaagcggcaa
+taaccggcgcttttagtgaacgtccggcaagaaaatagccttgttgcgatccggtatctg
+ttttgcggaccttccaccaggtgatcaccgccaccagcagcgtaaaaccgacaaaactca
+agatttgtaacgaattcatctcatagcccttatttatgtttatgtcccggacgcatgaat
+atagggagaggtaaaatgcgtcgggtcaggcagtcagattcttaaaatacaaacgtcgta
+tccctgaacggattgttttctgttaagttcaggttgtgagcataattcgccggagggata
+ttaaaatgaatggaaaattgcaaagttcagatgtaaaaaacgaaactccgtacaatattc
+ccttattgattaacgaaaatgtgatctccagcggaatttctctgatctcgctctggcata
+cctacgccgacgagcattaccgggtgatctggccgcgggacaagaagaaaccgcttatcg
+ccaactcatgggttgcggtgtataccgtacaaggatgtgggaaaattcttttaaagaatg
+gcgaacaaataacactgcatggcaactgtattatattcttaaagccaatggatattcact
+cttatcactgtgaaggtttagtctgggaacagtactggatggaatttacccccaccagta
+tgatggatattcccgttggtcagcaaagcgttatttataatggcgaaatttataatcagg
+aactcaccgaagttgctgagttaataacttcaccagaagcaataaaaaataatctggcag
+tcgcttttctgacgaaaattatttatcagtggatttgtcttatgtacgcagatggtaaaa
+aagatccacaacggcggcaaattgaaaaattaattgccactttacatgccagtctgcaac
+aacgctggagcgtagctgatatggctgccacgatcccctgtagcgaagcctggttgcgtc
+gtctgtttttacgctataccggcaagacgccgaaagaatattacctcgatgcgcgtctgg
+atctggcgctatcgctattaaagcaacaaggaaactcggttggcgaagtcgctgatacgc
+tcaacttcttcgactcctttcatttcagcaaagcctttaaacataaatttggttatgcgc
+cgtcagccgtgctaaagaatacggaccagcacccaacggatgccagtccacacaattaac
+gtaactctggccagtacgctttgttggcctccagcaactcatccagaatagctttggcga
+ccgaggcgctcggtaccgttttcgacaacgtaatcgcctgccacaggtgctgatatgaac
+gctgttcccaggcgtccacgaccagtttttccaccgccacttgctgactcattaaccctt
+tctgaaactgcgggatatcgccgaccaccagtggttcaggccgtagtagcgcacgcgcat
+ctgtttgcgatcttgcagcccaacaatttgcgccatccggctttcaataccgattggcat
+gtcacagatgttgaggattttcgcattcgggcgcagacgacgcgtggcttctgcgacaat
+ggctgccgggttggagtagttgagcatccaggcatttggtgaatatttttccatataatc
+caccagttccaggacgccgccaatggaacgcatgccgtacgctattccgccgggtccgca
+agtttcctgaccaacaacgccgtggcgcagcgggattttttcatccagttcgcgcatcgg
+gtatttgccgacgcggatgtgcgccatgacaaaatcaacgtcgctgaatgccacttcagg
+atcggtggtgtaactaaacgcaatgtccggcgctttttctttaaggatgactttacaggc
+ttcggcaatcacttcctgccgcgcaccatcgttatcataaaatttcagtgcacgaagcgg
+gaaacggtcctgattcgccaggagcatcaacacgatgcctggcgtaaaggtgcttccacc
+gcctgcgacaaccactgagaatttggtcattatactgcctccgtaatggcaacattttct
+gctgattgatgagaattaattaagctatcgagctgttcacgcagctgagatacatgcaga
+ccaatgatcacctgaatggcatcgccactacggaagacgccgtgcgctcccagcttttta
+aagacttcgtcatccagcgtttgtgacatgtcatgcagtgcaatacgtaaacgcgtcgcg
+caattgttaatgctggagatattgccgaccccgcccagggcttgcaggataccggcagcc
+tgatccagctctttttttggctctgccgcggtggtttggcctcgcgaggctttgtattcg
+gcttttgagtagagtttcacttccgcatcttcacgtcccggcgtgcacatgttgaactgc
+agaatcagtgtgcggaaaaccacgaagtacagcagggtaaagcacaacccaatggcgatt
+tgggtcagcatcatatccgcgtggttgctgaacatcgggatccagttttgcggtaaaacc
+tagtcaatcagacctccgcccatgttgcccaccacaccaaagagatacattacggtcgac
+attgaggccgccagcacggcgtgtaccgcaaacagcaacggtgaaatgaacaggaaggta
+aattccagcggttcggtaattcccaccagcatggcggttaaggttgcgggaatcagcaag
+cccgccacttttacccgattttccggtgcggcagtgaagtacatcgctaaagaaatgccc
+acggcaccaaagatttttgagttaccgtgcagggcaaaaccgccttccgggaacaacgat
+ttcagcggctcggcgctcaaactgaactcttgcagatgctgcgcccagtacatctgaatg
+ccgccttcaacagctgccggaccaaagataaactgtccgtagatgaagtggtgtaaaccg
+gttgggatcagaatacgttcgaggaaggtgtaaacccagaccccaagtgcacccgccgaa
+cgcaggaacgcttgcagagattcaatccccatttgtacttttggccagccgagcaacgtc
+agccaggcacaggggatcatcaccaggaaggcgataatcaccacataagacgtcccctgg
+aaaatgccgagaaaaaccggcagttttttatcgaacagacggttatgcagcgccgtcaca
+atgccggaaatgataattgcgccgataatgctggtatcgagggttttaatcccggccatc
+attgtcagaccgctacctgccaccgcgtcctgagtgaaatcgacgccgaagtagcttccc
+caggtcattcccatcgcgttgatgaaatagttccaggtcaggaaactcaccatcaccgcc
+agacaagcacgcccctgcgcttgcttagcaaggccaatgggtaaaccgacagcaaaaatc
+agcggcatattacggaataccgtccaaccgccctcttcaataatgtgtacgatttgcgcg
+aataaactgttcggatcggtcagtgattccccgacaaacatcgggttttgcagcaagatg
+gcaagacccaccacaatcccggcgaagggaaacagcagcactggcgtgaacatcgcgccg
+ccaaagcgttgaatttgactgagcatttccacatcctcttttctcaattctgtaagtagg
+aagcctgattggttatgcggcaggcctggagcgaggataggaagatgcgatcggcagaac
+atgacgacccaatgggattcgtgatcgctttcatgcttttcgttgggcggtagagatcta
+cgttttcgcgaaaaagtagacctctgtgagcacaggtacacagcatcgaacacatcttta
+aaaaaaagatgttttttcaatcgattaagcagaacttgtgtgcgcattacccgggcttgc
+aggcaaaaaagagatctagagatgatctacaaaagcattgcggagcggttaagaattcga
+cttaactccgcagatttcacgctaaacagccttcttcccggtgaaaaaaagctggcggaa
+gagtttgcggtatcgcggatgaccatccgtaaagccattgacctgctggtagcgtggggg
+ctggtggtccgccgccacggtagtggcacttacctggtgcgcaaagatgtactgcatcaa
+accgccagtctgaccgggctggtggaggtgttaaaacggcagggaaaaacggtcaccagc
+caggtgctgatttttgaaatcatgcctgcgcctccggccattgccagccagttacggatt
+caaatcaacgagcagatctacttctcccgtcgcgttcgttttgtggaagggaaaccgctg
+atgctggaagacagctatatgccggtaaaactgttccgtaatctttcgctgcaacatctg
+gaagggtcgaagtttgaatatattgaacaagagtgcgggattttgattggcggtaattat
+gaaagcctgacgccagtgctcgccgatagactgctggcgcggcaaatgaaggtagcggaa
+cacacgccactgctgcggatcacctcgttgtcatatagcgagagcggggagtttttgaat
+tattcagtgatgttcagaaatgccagcgaataccaggtggagtaccatttacggcgactc
+cacccggaaaagagttaaccgatactccagaagagcaccgccagtaattggggggtgata
+atgcgcaggaacattaccaacggatagacagtggcgtaagagagcgccgccgcaccgctg
+gttggatgaagattattagcaaacgccagcgccggaggatcggtcatggaacctgccagc
+atcccgcacatggtcaggtaattcattttggctaacatccgcgccagaatgccaacagta
+atcagcggaacggcggtgatcagggcaccataaccaatccagcttagcccttcgccattg
+accagggtattcacaaaatccccaccagatttcagaccaacgaccgagaggaacagcacg
+atccccagctcccgcagcgcgaggttggcgcttggcggcataaaccagtacagcttgccg
+atactgccgatacgcccgaggatcaacgccataatcagcggtccgcccgccagccccagt
+ttcaacgcggccgggaatcctggcacaaagacgggaatagaacctaacaatacgcctagc
+ccgatgccaataaacactggcagcatctgaacctgttgcagtttttgctgcgcattcccc
+agcacattggcaacggcatcaattgcggacggacgccccaccagattgaggatatcgccg
+aactgcaggctgatatcgccactggcgaccagttcgaccccggcacggttcaggcgcgag
+ataacaacgtcatagcgttctttaaagtgcaggtcgcgaatacgttttccgagcacgttt
+tcattggtgaccaccacacgctcgacgcgcaaatcagtgcctttcgtggacagcgaagta
+tcgacctcctgaccaatcaccagttgcgcattatgtaaatccgctggctgacccaccaga
+tgcagcaaatcgcccagttggataatggtatctggcgaaggaacttttagggtttcttcg
+cgtttcagacgcgagcagataattttgtcgccgttgagaatcggtacatctttaatggct
+aaatcatgcaggttagggttctcaacgcgaatattgatagtcttgatcagcgcgccgcca
+ttggtgcgtgaagactcgtgctgctgagcttctgtctcgacattgacgcggaaaataacc
+cgcaacatccacatggtgaacaaaatcccgcaaatgccgaatggatacgccatcgcgtaa
+ctcatccccatctgatcgaccatttccattggtgtacccaggtcgcgcaaaatctgctgc
+cctgcccccagcgctggcgtattggtaaccgcaccggagaaaatccccagcactaccggc
+agtggaatatcaaacagtttatgcaggatggcggtaaccagaccaccgatgatgacgatc
+agaacagcaaacaggttgaggcgtaatccggagacgcgcaatgaggcaaagaagcccggc
+cctacctgaatcccgatagtataaacgaacaggatcaggccaaattcctgaataacatgc
+agcatatcgctacttaatgtcatccccgcctgagaaacaaaatggccgacgatgatccca
+ccaaacagcacgccgccaatacctaatcctatgccgcgaaatttgacgttgccgataaac
+aaaccgacgactgccaccaaagccagaatactgaccgttaatgctatatcactcatcgtc
+catttctcttgagataacattttaattgctacggattatggctgaatcggtgaagcagat
+ttgccttatagcgcacattatcacgggaaagaacgtgccgaaatatcttaaacagtcgaa
+atttaacgcattgttgagtaagtaagacaaaaaaagccccaccagaatggcggggcaaag
+agaatagctagttagctatttaacgcgggacgttcgctgatagcgatacgctgcgctgcg
+atgggttcaggctcattacgaattaaatcaatatgcagtaaaccgtttacgaaggttgcg
+ccagagacttccatattttcagccagcgtaaagctcaggctaaatggctgattcataagc
+ccttgatgcagccattttttctcttcttttggctgctccggcgtgccttttacgctcagg
+cgcgtaccttccagttgaatctctaaatcttcctgacggaaacctgccagcgcaagggta
+atgcggtagtggttatcgtcgcttttctcaatgttgtacggcgggaagctctggctttca
+ccggcgttttgcagtgcgttggccagtttgtcaaaaccgatccattgacgcatcagtggg
+gataaatcgaagttacgcatagtcatttctccttctaagaagcgagtaagtacctgcaaa
+tccgaagattcgcatatgctccctgacggcgagcatggagatgtcaggccgcgccaggcg
+gccttagggaattagttgatttcgatacggcgcggttttttcgcttccggaatcacgcgt
+tcgagatcgatatacagcaaaccatttaccaggttagcaccacgaacatgaatgttctca
+gctaactggaatttgcgttcaaagttgcgttcagcgatgccctggtacagataggtgcgc
+tctttttgttcgtcggcgtgagcacctttcaccaccagcagattatcctgggcggtaatt
+tccagttcgctctcagcaaaaccagccacagcgatagcaatgcggtaatggttttcgtct
+accagttcaacgttatacggagggtagccgccattactctggctctggttgttttctaag
+tggttaaacaaacggtcaaatccaatagcagaacggtaaagcggggataaatcaaagtta
+cgcataatcaatagctcctgaaatcagcgagaatgtaagaccttccacaatggacaggtc
+aggtagccagaacacccatcaggcgcgtcctcatcggctacgatgtaaaaatgggtctgg
+aaatgaacttttcaagccttatcagcggacttttttttgcagtttatggtctattgcata
+gactgagggggcagcacgaaacgttaaagtgcgatagccgccacagtgcgacgtaatgat
+gatgttattttcagcaagggatcgctataactcatcaggccaacacccacgatcaacaga
+tgaatttattatgataagaaatgtgttgttagcgttcatgatatgcagcggaatgacatt
+actcggaggatgctccagcgtgatgtcccataccggagggaaagaaggaacgtatcccgg
+cacccgcgccagcgcaaccatgattggcgacgatgaaaccaactggggcactaagtcgct
+ggcgattctcgatatgccgtttaccgctgtgatggacacgcttttactgccgtgggatgt
+gttccgcaaagacagctcggtgcgctcgcgcgttgaaaaaagcgaagccaacgcgcaagc
+caccaatgcggttattccaccggccagaatgcctgataactgatttagcgatcagtttcg
+gtgatccacagctggccgccttccatccacgccagccactgaccatccggcgagaagacc
+acggcgtccgcagaaggtgaattggcgtggtgttcggttaaatactcaacctcgccgctt
+tgcgcatgggcacaagcaattcgattatccagcacaaagcccaaccattctcctgacgga
+tgccagttaaatgcagactgaatatccgttttgttatgggttaactggcgcggctcgccg
+ccctgtggcgagataagccacagttgcacaatgccgttatcatctcgcattaaaaacgcg
+atttgtgtaccctgcggattacagcgcacccagtggcgcgggacgttgactaaccccgga
+taagcccgatggtgggtaaaggttaaacgtcgctgcacgacgccacgcggtggcgcgggc
+agggttgtttccgttccgcttaacggcgcatcacctgccgctttccagccagcttcatct
+tgcggtaactcaacgataaacagctccggcactttctcgccctttggcgaaagtgtgtcg
+ccaataaatgccagcgcgtgatttcctacccatccttcttcataagcacgattgatttca
+tcactgccaggctgtggcgtgggcgtggttttgctcaccagcacgcaccagtggctaccg
+ctgtattcacgcggatgctgcttttgtacgttgaccgggccaaacggcgcagcaacaccg
+acgtttcgcaaatccagcgccggatcgagttcatgcattacatggtcgttataggtaaag
+ctcaccctttcaccgttcgggctaaagacatgcacatggctgccgccgcgcagcactcct
+ggcgtatacggcgcggtaatatccatcgcatcaaggttactcatcttgccgccttcaaca
+atcactccgcgccgatgatggaagtcgtaatgccatgtttcatcaggattttccgggccg
+tggatgaaaacatatttctctgacttcggatgaacggtcaccacgccgacgtgtgcgccc
+tgtgacgcgcgatagataacctcgacctcgccggtatggatattcacacgctcaatggtc
+tcgccggtaaacgacgcgccagaaggacgcacgtcaaataccagccactggctgtcgggc
+gtccaggtattggtattggtgagcaggtgattacggggagcaaaggttatctgtttcatg
+gcgcggtcctgatacaaaacgggtcccgccatcatacttcacaaggacttcactttcaga
+caatagtcttttgccatcgtgatgaatgtgagtgaaaagatggaacatttcgacgtggcg
+attattggcctcggcccggcaggatcggcgttggcacgaaagttagcaggcaaaatgcag
+gtgatcgcgctggataaaaagcaccagtgtggtactgaaggtttcagcaaaccctgcggc
+ggtctgctggcaccggacgcgcagcgatcttttattcgcgatgggctgacgcttcctgtc
+gatgtgatcgctaatccgcagattttcagcgtcaaaaccgtcgacgtcgccgcatcgctc
+acgcgtaactaccagcgaagctatatcaatattaatcgccatgctttcgacttgtggatg
+aaatcgctgatccccgccagcgttgaggtttatcacgacagcctgtgccgaaaaatctgg
+cgtgaggatgataaatggcatgtcatttttcgtgcagacggctgggagcaacatattacc
+gcccgctatctggtcggtgccgatggcgcaaactcgatggtgcggcgacatctctacccg
+gatcatcaaatccgtaaatatgtcgctatccagcagtggttcgcggagaaacatccggtg
+ccgttctactcctgcatctttgataattcgataactaactgttattcatggagtatcagc
+aaagacggttattttatctttggcggtgcctatccaatgaaagacggtcagacgcgtttc
+acgacgctgaaagagaaaatgagcgcctttcagttccagtttggtaagacggtgaaaagc
+gaaaaatgcacggtgctgtttccctcgcgctggcaggattttgtctgcggtaaggacaac
+gcctttctgattggtgaagcggcgggatttatcagcgccagctcgctggaggggattagc
+tatgcgctggatagcacagacattctgcgttcggtgttactgaagcagccagagaagctc
+aataccgcttactggcgcgccacccgcaaactgcgtttaaaactcttcggcaagatagta
+aaaagccgatgcctgaccgcaccggctttaagaaagtggattatgcgcagtggtgtggca
+catattccacagttgaaggattagccaacgcgcttcacatcgcccaccagcaggatataa
+gagagcgcgccaatcaacgcgacggcggagatataaaccagtgcaggtgcgaaaccgtaa
+ccctgcgccaggtaccccaccaccagcggaacggtgatgccgcccagaccaccggcgaag
+ttaaacacgccgccggttaaaccaatcaggcgcatcggtgccagagaagaaaccagcgac
+caggtaatcgaagcaaaaccgttaccgaagaatgccagcgccatcaggcacataatcatc
+atcggatcgttagtgtagttagcgcccataatgcaggtggagatcagcaagccgcagata
+atcggcgttttacgcgcaaagcccagtgaaaagcccttacgtaccagcagatccgctacc
+cagccagagagcaggacgccgacaaacgccgcgaggaatggcaccgtggtcataaagcct
+gctttcagcgccgtgattcctttttcctgggttaaatagttcgggaaccaggttaagaaa
+aaccacagtgtagaagccaccgcaaattgcccaagataaacgccgatcagtttacgatgg
+aacaccagtttccagtctttggctgttaacggctgacgcgcctctttcttcaccggcgca
+tcaccatccaccagaccgccgccatcacgaatgtaatccagttcagctttgctgatacct
+ttggtcaggcgcggcggctgataaaccttaaaccaaatcagcgaccagataatgccgata
+ccaccagtgacaatgaacacccagtgccagctcaacatctcctgaatccagatcagcagc
+ggcgtcagaaacgccagaccgacaaactgaccagacgtataaaaaccaacggcagaagcg
+cgttcatgttccgggaaccagctggtcaccatccggttattggtcgggaaagcaggcgct
+tcgaaaataccggttatcgcgcgcagaccaattaatgacattaagcccgtggcaaagccc
+tggaataaagtcgccactgaccagccaaatatcgcaataaaataagtcacgcgagaacct
+acgcgatctaaaaaccaaccgccggggatctgacatagcgtataaagccaggcgaaggcc
+gaaaatacatagcccatttccgctttggtaatgccgaactcttcctgaatatgggcggaa
+gccacggccaggttggcgcggtcgacataacaaatgactaccgtaataaagatcatcacc
+agcgtcagataacgccgacgccccggctttgctgcattaacgggaatatccatagcgagc
+tttctccagattttgggcatagcgaagccgctcaccatgccctgtaatttacagagggtt
+atatttttgtattgctgttttagtgcccgatgaggggcttacgtggcaggaattaccact
+ctgctacgctgttatcttcatgacgccagagcggattacgccagtccggggcatttttac
+tgaactcaatcactttagcttcgtcgatttccacgcctaagcccggtttcgttaacggtt
+taaagaagccgccgaccatgctgaagtcttctttgtttttcacaaagtcgagtaactccg
+cgcctttgttgtaatgaattcccatactttgttcctgaagtacggcgttataggaaacaa
+agtcgatatgcaggcaagccgccagtgcaatcggtccgagcggacagtgcggcgcaaggg
+tcacgtcataggcttctgccattccggcgattttgtagcattcggtaataccgcccgcgt
+gggagagatccggttgcagaatcgaaataccacctgcctccagcacgcgtttaaaatcga
+agcgtgagaacatgcgttcacccgccgccagtggaatatgcgtttgtgccgccagtttcg
+ggtagtattcggcttgttccgccagcaccggctcctcaataaacagcgggcgatacggct
+ccagttctttaatcagcactttcgccatcggcgcgctgacgcgaccgtggaaatcaagac
+caaactcaatctgattgccaaaagcttcacgaatttgtgccacggtgttaaccgccgcat
+ctaccgcgcgggagttatcaattagccccagttcttcacaaccgttcagtttgaaggtat
+cgaagccgatttcgcgtagcgttttaatgccgtcgataacatccgccggacgatcgccgc
+caacccaactgtaggctttaattttgtcgcgaaccaggccgcccatcagttgccagaccg
+gcgcattcagcactttacctttgatatcccataacgcctggtcaatcccggcgatggcgc
+tcatcaggatcggaccgccgcgatagaatccggcgcgatacatcacttgccataagtcat
+tgatgcgcgatggatcctgaccaatcaaatagtcacccagctcgtgaactgccgcttcca
+ccgtacgggcgcggccttcgatcacgggctcgccccaaccgaccacgccttcatcggttt
+caattttcaggaacatccagcggggaggtaaacgatacgtggtaattttggtgattttca
+ttgcactgcctctcgatacgccttaacaaatgctgctgcctgctgcgcggtgcgctctac
+ggattgcccggcgcgatagagatcgctgcctaagcccgcccctgcacaacctgcgtctat
+ccactgcgccaggttttctggcgtcacgccgccaacggcaaagactgcgatgtccgatgg
+caataccgcttttaacgctttgatgtattgcggaccaaaagccgatgacggaaatatttt
+cagcgcctgcgcgcccgcttcgagcgcggtaaaggcttcggtcgccgtcgcgcagccggg
+gcagacggtcatgccgtagcccaccgcacggcggatcacttcactatggatattgggcgt
+aacgatgagctgacagcccatcctggcgagcgcatcgacctgttcaggtttcagtaccgt
+acctgcgccaatcaacgccttgtcgccgtacgcatcaacgatggcgggaatgctttgctc
+ccattgtggggaattcagcgggatttcaaccgcgtcgaacccggcgtcaatcaccgcgcc
+aacatgcgccagcgcctcgtcgggcgtaataccgcgcaaaatggcgatcagcgggagttt
+agtttgccactgcatgagcgatgctccttataccagcctgaaatgccgtgtcgcccgcca
+ccgccgtcacgtcgcaacccatcgcctgaaaggcttgctggtagcgcgcggtcagcgatg
+ttccggcgacaagggtgatggcgtgttgatgggccacatagtcgcgcatactggcgacct
+ctgcgccaatcaacaaaccagagagaaattcgctgacctgttcgcggggaagtgttccca
+gcacatgcgaggcgcgaacttcaaaaagctgcggcaatatggcgggcgtattaagaccac
+gctcaaggccagctgtgaaggcatcggcagagttttcctgcggcggcaaacctgcgccaa
+tcaatgagtgatttaacagtaaatgatgtaattcaccggtcatcacggtgcgaaaatcgt
+tgatttgctggctatcggcctgcacccatttgcaatgggttccgggcatgacataaagag
+aggaaggagccagagctcgcgcgccgatcaattgtgtttcttcgccgcgcatcacattgt
+ggttatcgtcatgagagacacataatccgggaataatccagatattgtcgccaactgacg
+ttaattgttcgccaatagacgaaaaacaggcaggaacagataaatacggtgcaactttcc
+agccgacgttgctgccaaccattcctgccattaccactggcgttttctcttcacgccagt
+cggtcgtgacttctgctaacaccgcagccggagattttccgttcaggcgcgtgacgcctg
+cttctgattgcctgctctccaggcagtggtcgccctgataaagccaggcgcgcagattgg
+tcgatccccagtcaattgcgatgtagcgagctgtcatgtgatttcctttaaccttcgtgt
+cgagctggcgatcatggtaagcgccgcctgctctgccgcatcgccgtcctgatgtcgtat
+cgcatcgaacagcgccttatgttcctggagcgtttgcggcatgttggcctcatcgcccat
+ccaggttcgttcaaaaaccgcccgctgcagcgaactgatcgcaatgctaagttgctgtaa
+caccgggttatgcaccgactgcagcaccgcctcgtggtagcgaatatccgcttcgttaaa
+cgcttcgcggtcctgattgttggcaatcatctcgttcagcgccgattcaatctgcgccag
+atcgctggaagtcgcgcgctctgctgcccaacgggcaatcgccggttccaccagatttcg
+cacttcgctcatggcactgataagccgtgggtcgtagtcattttccagcacccattgcag
+tacgtcagtgtcgaggtaattccactggttacgcggtgccacaaacgccccgcgataacg
+tttcatttcaatcagccgcttcgccatcagcgaacggaacacctcacggatgatgttgcg
+cgaggttgcaaactcctcacagagttccgcctcagccggaagcggcgagcctggcacgta
+tttgccgtgaacgatctgtttacccagcgtaatgacaatgcgatcggttttattgagagt
+catggagagtccttgtgctctgtatgttcttctctactttaccccgatcgatgcataacg
+cggcaactttgtagtaccagcgtgatgacgttcgcgtttgccgtgcgtgtaatgtagtac
+aaacttatattgttgtactacaatttagatcacaaaaagaacaatgcataaaaaaatgac
+atgcgtcgggcagaaatctgaaaagggatatcaggcgctaaacaggagggaaagaagagt
+atgctttcaacggcttagctactcgtttaaaggattaatcatgaagttgaattttaaggg
+attttttaaggctgccggtttattcccactggcgctgatgctttcaggctgtatctcgta
+tgctctggtttcccataccgcaaagggtagttcaggaaagtatcaatcgcagtcagacac
+catcactgggctatcgcaggcaaaagatagtaatggaacaaaaggctatgtttttgtagg
+ggaatcgctggattaccttatcactgatggtgccgatgacatcgttaagatgctcaatga
+tccagcacttaaccggcacaatattcaggttgccgatgacgcaagatttgttttaaatgc
+ggggaaaaagaaatttaccggcacaatatcgctttactactactggaataacgaagaaga
+aaaggcactggcaacgcattatggttttgcctgtggtgttcaacactgtaccaggtcact
+ggaaaacctaaaaggcacaatccatgagaaaaataaaaacatggattactcaaaggtgat
+ggcgttctaccatccatttaaagtgcgattttatgaatactattcacccagaggcattcc
+ggatggtgtttccgcagcattactgccagtgactgttacgctggacatcattactgcacc
+gctgcaatttctggttgtatatgcagtaaaccaataatcagtaagcgggcaaacgcgttt
+atgctgtttgcccgcccacagattaattcagcacatacttctcaatagcaaacgccacgc
+catcttcaaggttagatttggtgacaaagttcgccacttctttcactgaaggaatagcgt
+tatccatcgccacaccgacgcctgcatattcaatcattgcgatatcgttttcctgatcgc
+caatcgccatgatttcttccggtttaatacctaacacgtcggccagtgatttcacccccg
+tacctttgttaacgcgtttatcgaggatttcgaggaagtacggcgcacttttcagcacgg
+tatatttctctttcacttcctgcggaatacgcgcgatagcctggtcgaggatggcgggtt
+catcaatcatcatcactttcaggaactgggtattggggtccattttctccgcttcgcaga
+acaccagcggaatggtggcaacgaaggattcatgcaccgtgtagtagctgatatcacggt
+tggcggtgtacagcgtggtgcggtccagggcgtggaaatgagaaccgacttcgcgagaga
+gtttttccaggaaacgatagtcgtcatagctgagagcagtttgcgccacggtgctaccat
+cagcggccttctgtaccagcgcgccgttataagtaatgcagtagtcgcccggctgttcca
+tatgcagctctttcaggtagttgtgcacacctgcatacgggcgacccgtcgttagcacga
+cattcacgccacgggcgcgagctgcggcaatcgcatttttaacggcgggtgaaatggtgt
+gatcgggcagcagaagggtgccatccatatcgatagcaatgagtttaatagccatgagtt
+ccccaggtagattggttcctgacccatgctaacgcgattccgctcaaaaatcagtacaac
+acccgagggaaaagggggatgcaacgcgcgttgcgtgctccctttttgcttagcggaaga
+gtttccctttcagcagttccatgcctgcggaaagcagatcgttattggcttgtggtgaca
+cttcaccttgcggtgagagcgcatcaataatcttcggcaattgttctgccagtaaactgg
+aagctgtactggtatccacgccaagtttttgcccgagatcggacaccgcatttgtgccga
+gcgccgattccagttgctcgccactaaccgattgattgccctgttgattactcagccagg
+ttgagagaatggcccctaagccgccactttgcagtttttccagcagcacctgaatgccgc
+cctgctcctcaacccaacttaaaatagcctgatatttccccgcatcgcctttcagaaagg
+caccgacaacttcatcaaaaagccccatgataatcacctgtaaagcgttacgtgttgacc
+caaaaagtatagatttgcgggatgataattgcggattgcagaaataaaaagggcggagat
+gatctccgcccttttcttatagcttcttgccggatgcggcgtgaacgccttatccggcct
+acaaaatcatgaaaattcaatacattgcaagattttcgtaggcctgataagcgtagcgca
+tcaggcacgctcgcatggttagcgccattaaatatcgatattcgccgctttcagggcgtt
+ctcttcaataaacgcacggcgcggttcaacggcgtcgcccatcagcgtggtgaacaactg
+gtcggcagcaatcgcatctttaacggtaacgcgcagcatacgacgactttccgggtccat
+agtggtttcccacagctgttccgggttcatctcgcccagacctttataacgctggatgga
+gaggccgcgacgggactctttcaccagccagtccagcgcctgctcgaagctggctaccgg
+ctgacgacgctcgccacgttcgataaacgcatcttcttccagcaagccacgcagtttctc
+acccagcgtgcagatacgacgatattcgccaccggtgataaactcgtgatccagcggata
+gtcagtatccacaccgtgggtacgcacgcgaacaatcggctcgaacaggttttgctcagc
+attggtgtgaacatcaaacttccactggctgccgtgctgttctttgtcgttcagttcgct
+gaccagcgcgttcacccagcgggtaacggtctgctcatcagaaaggtcagcttccgtcaa
+cgtcggctgatagataagctctttcagcattgctttcggataacgacgctccatacgatt
+gatcattttctgcgtcgcgttgtactcagataccagtttctctaacgcttcgccagccaa
+tgccggtgcactggcgttggtgtgcagcgttgcgccgtccagcgcgatagagatctggta
+ctgatccatcgcttcgtcgtctttaatgtactgttcctgcttgcctttcttcactttgta
+cagcggcggctgagcgatgtagacgtgaccgcgttcaacgatttccggcatctgacgata
+gaagaaggtcaacagcagcgtacgaatgtgcgagccgtcgacgtccgcatcggtcatgat
+gatgatgctgtgataacgcagtttgtccgggttgtactcgtcacgaccgataccacagcc
+aagcgcggtgataagcgtcgccacttcctgagaagagagcatcttatcgaagcgcgcttt
+ctcgacgttgaggattttacccttcagcggcagaatcgcctggttcttgcggttacgccc
+ctgcttcgcagagccgcccgcggagtccccttccaccaggtacagttcggaaagcgccgg
+atcgcgttcctggcagtctgccagtttgcccggcaggcccgctaagtcgagcgcaccttt
+acggcgggtcatttcacgcgcgcgacgcgccgcttcacgggcacgggcagcatcgataat
+tttgccaaccacgattttcgcgtcggttgggttttccagcaggtattctgccagcagttc
+gttcatctgctgttcaaccgccgatttcacctcagaagaaaccagtttgtctttggtctg
+ggaggagaatttcgggtccggcactttcacggaaacgaccgcaatcaggccttcacgcgc
+atcgtcaccggtggcgctgactttggcttttttgctgtagccttctttgtccatgtaggc
+gttcagggtacgggtcatcgccgcacggaagcctgccaggtgagtaccgccgtcacgctg
+cggaatgttgttggtaaagcagtagatgttttcctggaagccatcgttccactgcaacgc
+cacttcgacgccaataccgtctttttcagtggagaagtagaagatattcgggtggatcgg
+cgttttgttcttgttcagatattcaacgaacgccttgatgccgccttcatagtggaagtg
+gtcttctttgccgtcgcgcttgtcgcgcagacgaatggaaacgccggagttgaggaacga
+caactcacgcagacgtttcgccagaatttcatattcgaactcggtcacattggtgaaggt
+ttcgaggctgggccagaaacgcaccatggtgccggttttttcagtctcgccggtaaccgc
+cagcggggcctgcggtacaccgtgttcgtagatctgacggtgaattttaccctcgcgctg
+gataaccagctccagtttttgcgacagggcgtttactaccgaaacaccaacgccgtgcag
+accgccggacactttataggagttatcgtcaaatttaccgcctgcgtgcagaacggtcat
+gatcacttccgccgccgatacgccctcttccgggtgaataccggtcggaatgccgcgccc
+gtcatcctgtacagagacagagttatcggcgtgaatggtgacgataatttctttacagtg
+acccgcgagcgcttcgtcgatagcgttatctaccacctcgaataccatgtggtgcagacc
+ggtgccgtcatccgtgtcgccgatatacatacccgggcgcttacgcaccgcatccagccc
+tttcaggactttgatactggaggagtcataagaattcgacatcaacgtttctcgctcatt
+tatacttgggttaatccgttattttacccttttccacggtaaacatcttcgaattttcgt
+ccgacatgtctataacgtgttcagcactgatcgcgctgacaaagacctgtgattgcgtcg
+cttttaagcggctggcaagcagcccgcgacgctcatcatcaagctcagaggcaaaatcat
+ctatcaggtagagacaccgccgcccgctttcacgggtgaggaactctccttgcgccagac
+gtaaggcgcacatcaacagcttaagctgcccacgcgataaggtatcttccaccggcgcac
+cgtcggcgcgaatgcgtaagtccgctttgtgcgggccgtgcgcggtgtaggttagctggc
+gatcgcgttcaaaattacgttccagcacctcagcatattctgtctctttctcccagccgc
+gctggaaagagaaagtcagagaaaactcagggagaaattgcttacaggtatcagccatat
+cggccgcgataccggcgctatactccgcgcgccaggtgctgatttgctccgccagcggga
+tcagctctttatcccacgggcgtagctgttcgtaacgtgtcacctggcgcagcgccgcat
+tgcgctgcttgagcaatcgcttgagattgctccaggcggtgaaaaatccgggttcgttgt
+gaaagcatccccagtcgaggaatgctcttctgtatttggggccgccgttgagtaaagtaa
+acccttctggcgttatcaactgcattggcatcaggtgcgccagttccgcgaccttatgcc
+cgtctgtaccgtcgatgcggactttgctgtcgccctgtttgtctttggttaagccaatcg
+ctgtctcgcgctcttcgccctgtaatcgcccgtggagaacaaacgcctcctgctcatggc
+gaatgacgcgaccaatctgcaaactgcgaaacgcccgaccatggccgagcgtatagatgg
+cttccagcacgctggttttgccactgccgttggcacctaccagaaagttaaagccgggag
+ataaggcgagatccgcggtttcaatgttgcggaaatcgcggatcaacaagcgggtgaggg
+acattacagtctcattggcatgacaacataagccgcgctctggctggccgcatcttcaat
+ctgcacgctggaaaccgaatcggtcagcatcatgcggacgttttcgcatttcagcgcgtt
+cagaacatccagcacataactgacgttgaagccgatttccatctccgcaccgctataggt
+aacgtcgaggatctcttccgcttcttcctgttccgggttgttggcggtgattttcagctg
+gttttcgctgacataaagacgtacgccgcggaatttctcgttagagagaatcgccgcgcg
+agcaaacgcctgcttgagcagatcgcagccagcttccagatgtttgtccgggttcttcgg
+cagaacgcggcgataatccgggaagcgaccatccaccagtttggaggtgaagataaagtc
+gccaacgtgggcgcgaatgttgttgctgccaatctgtacgcgcagcggattgtcgccgcc
+gtcgagcatacgcatcagttcaatcacgcctttacgcggtacgatcaccgaatggcttgg
+caaagattgaccaattggcattgaacagaccgccagacggtggccgtcggttgccacggt
+gcgcagttcttcaccttcggtttcaaacagcataccatttaagtaatagcgaacgtcctg
+atgcgccatagaaaactgggtcgcttcaatcagacgcttcatcgttgcctgcggcagggt
+aaattcgacttcactctgccagtcatcgaggttcgggaaatccgccgctggcagggtaga
+cagcgaaaaacggctacgcccggagcgtaccagcatccgttcaccttccagctgcacggc
+aatttccgcgccttcaggcagaccacggcagatatcaaagaatttgcgcgccggaacggt
+cgtcgctcctggctcgtgtggctgaaccagcgcaacacgtgccaccatttccatctcgag
+atcagtaccggtcagcgacaacgtaccgtcagcaacctgtaacagcagattaccgagaat
+cggtagcgtaggacgaccacctaacggaccgctcacctgttgtagcggttttaataaatg
+ctcacgttctacggtaaatttcataggtttacgatgacaatgttctgattaaatttgaaa
+aatcttctttgatatcgtggctctcttcacgcaactgctcgatcttacggcaggcatgaa
+gcaccgtcgtgtggtcacggccaccaaacgcatcgccaatctccggcagactgtggttag
+tcagctctttcgccagcgccatcgccatctggcgcggacgcgccaccgagcgggatcgac
+gcttggaaaggagatccgcgactttgatcttgtagtactccgccaccgtcttctgaatat
+tgtcgatggtgaccagtttttcctgcaatgccagcaagtcgcgcagcgcctcacgcacga
+agtcgatggtgatcgcccgtccggtaaagttggcattggcaatgacgcggttcagcgccc
+cttccagctcacgtacgttagatcgtagacgcttggcgataaagaacgccacttcgcccg
+gcaaacgaatgtcgttttcgtcggcctttttcatcaggatcgccacacgggtttccagct
+ctggcggttcgatcgccacagtcagtccccaaccgaagcgggatttcaaacgatcctcaa
+cgccgttgatctctttcggatagcgatccgaggtgagaatgatctgttgattaccttcca
+gcagggcgttgaaggtgtggaaaaactcttcctgagatcgttctttattagcaaaaaact
+gaatatcgtcgatcagcagtgcatctacggaacggtagtagcgtttaaactcttcgatcg
+cgttgttttgcagggctttaaccatgtcctgaacaaagcgctcggagtgcatataaacca
+ctttggcattcggcttgcgcgccataatgccgttacccaccgcatgcagcaggtgagttt
+tacccagacccgtgccgccataaaggaacaacgggttataggcaccgccagggttatccg
+ccacctggcgagccgccgcgcgcgccagttggttagatttaccttcaacgaagttatcaa
+acgtgtgtttgacgtttacgttagaacgataggtcggttctgccggggccgggacgttat
+cccaacctgagcgcgtagaaggcgcagcacgttgcggctgcgtttgcgccacctgtgcag
+gggccgcgacgttgctcgtcactgccgcttgtggcgtttgcgtcaccggtttggtgccga
+cttcaaaacgcagctgtggggcatccgctccgcagaaactggttagcagtccattgatat
+tattaaggtacttgtcccgtacccaatcgaggacaaaacggtttggcgcgtacagggcca
+gcgtgttatcgctcagttccgcctgcaatgggcgtatccacatactgaattctgtggctg
+gtaactcatcctgcaatcgggcaagacactgctgccaaagcgaaagtgacacggcggact
+ccactcgaacaaaagtcgataatgactaaggctgaaacattcatgattgttgacgtacgt
+cgaaaagaccctgcttgagggtgacgcacgaaccgctgtctgcggttatatgcccgatca
+agatcctgcaaaacgatcgggaccgcggatcatagcctaaactgcgcaagagatcttctg
+tttctcacagattttcccgatttatccacaggactttccagaactcgctaagtgtaaacg
+atcctgccgcgaggcgggcacgatttacgccgcatattggaaaatttaatgaccatagac
+aaaaattggcttaatcgatctaataaagatccaggacgatccttgcgctttacccatcag
+cccgtataatcctccacccggcgcgccatgctggtttccactggtgtgaggtcgtacatt
+ttccctgcgaaaaggtgcggaaaagcgcggtaaataaggaaagagaattgactccggagt
+gtacaattattacaatccggcctctttaatcacccatggcttcggtgtccatcgtttcat
+ttttcggcggatatccaataaagccattgaatttattcaagtttaggtagaaatcgccat
+gaaacgcacttttcaaccgtctgtactgaagcgcaaccgttctcacggcttccgtgctcg
+tatggctactaaaaatggtcgtcaggttctggcacgtcgtcgtgctaaaggccgcgctcg
+tctgaccgtttctaagtaataaagctaacccctgagtggttaagctcgcatttcccaggg
+agttacgcttgttaactcccagtcaattcacattcgtcttccagcagccacaacgggctg
+gcacgccgcaaattaccattctcggccgcctgaattcgctggggcatccccgtatcggtc
+ttacagtcgccaagaaaaacgttcgacgcgcccatgaacgcaatcggattaaacgtctga
+cgcgtgaaagcttccgtctgcgccaacatgaactcccggctatggatttcgtggtggtgg
+cgaaaaaaggggttgccgacctcgataaccgtgctctctcggaagcgttggaaaaattat
+ggcgccgccactgtcgcctggctcgcgggtcctgatagccctcattcgggtctatcaacg
+cctgattagtccgctactcgggccgcattgtcgtttcactccaacctgttcaagctacgg
+aattgaggcattgcgcaggtttggagtgataaaaggcagttggttgacggtgaaacgcgt
+attaaaatgccaccctttacaccctggtggtgacgatcccgtcccgcccggaccatttga
+taccagagaacactaacgatggattcgcaacgcaatcttttagtcatcgctttgctgttc
+gtgtctttcatgatctggcaagcctgggagcaggataaaaacccgcaacctcaggcccaa
+cagaccacgcagacaacgaccaccgcagcgggtagcgccgccgaccagggcgtaccggcc
+agtggccaggggaaactgatctcggttaagaccgacgtgcttgatctgaccatcaacacc
+cgtggtggtgatgttgagcaagctctgctgcctgcttacccgaaagagctgaactctacc
+cagccgttccagctgttggaaacttcaccgcagtttatttatcaggcacagagcggtctg
+accggtcgtgatggcccggataacccggctaacggcccgcgtccgctgtataacgttgaa
+aaagacgcttatgtgctggctgaaggtcaaaacgaactgcaggtgccgatgacgtatacc
+gacgcggcaggcaacacgtttaccaaaacgtttgtcctgaaacgtggtgattacgctgtc
+aacgtcaactacaacgtgcagaacgctggcgagaaaccgctggaaatctcctcgtttggt
+cagttgaagcaatccatcactctgccaccgcatctcgataccggaagcagcaacttcgca
+ctgcacaccttccgtggcgcggcgtactccacgcctgacgagaagtatgagaaatacaag
+ttcgataccattgccgataacgaaaacctgaacatctcttcgaaaggtggttgggtggcg
+atgctgcaacagtatttcgcgacggcgtggatcccgcataacgacggtaccaacaacttc
+tataccgctaatctgggtaacggcatcgccgctatcggctataaatctcagccggtactg
+gttcagcctggtcagactggcgcgatgaacagcaccctgtgggttggcccggaaatccag
+gacaaaatggcagctgttgctccgcacctggatctgaccgttgattacggttggttgtgg
+ttcatctctcagccgctgttcaaactgctgaaatggatccatagctttgtgggtaactgg
+ggcttctccattatcatcatcacctttatcgttcgtggcatcatgtacccgctgaccaaa
+gcgcagtacacctccatggcgaagatgcgtatgttgcagccgaagattcaggcaatgcgt
+gagcgtctgggcgatgacaaacagcgtatcagccaggaaatgatggcgctgtacaaagct
+gagaaggttaacccgctgggcggctgcttcccgctgctgatccagatgccaatcttcctg
+gcgttgtactacatgctgatgggttccgttgaactgcgtcaggcaccgtttgcactgtgg
+atccacgacctgtcggcacaggacccgtactacatcctgccgatcctgatgggcgtaacg
+atgttcttcattcagaagatgtcgccgaccacagtgaccgacccgatgcagcagaagatc
+atgacctttatgccggtcatcttcaccgtgttcttcctgtggttcccgtcaggtctggtg
+ctgtactatatcgtcagcaacctggtaaccattattcagcagcagctgatttaccgtggt
+ctggaaaaacgtggcctgcatagccgcgagaagaaaaaatcctgattcggtgagttttcg
+ctaaaataagggcggtcagttgaccgccttttttcttttcgtagggcggataagcaccgc
+gcatccgccacacaaagcaacaggaacatcatgagcgataatgacactatcgtagcccag
+gccacgcctccgggacgtggcggcgttggcatcctgcgcatctccggcttcaaagcccgt
+gaagttgccgaaaccgtgctgggtaaactgcctaagccgcgctacgccgattatcttccg
+tttaaagacgccgacggcagcgtgctcgatcaggggattgcgctatggttccctggcccg
+aactcgttcaccggcgaagatgtgctggaactgcaaggtcatggcggtccggtgatcctc
+gacctgctgttaaaacgcattctgaccattcccggcctgcggattgctcgccctggtgag
+ttttccgaacgcgcgtttcttaacgataaacttgacttagcccaggccgaggcgattgcc
+gatcttatcgacgccagttcggaacaggcggcccgttcggcacttaactcgctgcaaggc
+gcattctccgcacgggttaatcatctggtagaagccctcacccacttgcgcatttacgtc
+gaagcggcaattgatttccccgatgaagagatcgatttcctctccgacggaaaaattgaa
+gcccagctcaatgacgttattgccgatcttgatgcagtgcgtgctgaagcacgtcagggt
+agtttgttgcgcgaagggatgaaagtggtgattgccggacgtcctaacgccggtaaatcg
+agcctgttaaacgcgctggcggggcgtgaagcggcaatcgtaaccgatatcgccggaact
+acgcgtgacgtgctgcgtgagcatatccacattgacggaatgccgctgcatatcatcgat
+accgccgggctacgtgaagccagtgacgaagtagaacgtattggtatcgagcgcgcgtgg
+caggaaattgaacaggccgaccgcgtgctgtttatggtcgatggcaccacaacagacgcc
+gtggatccggcagagatctggccggaatttattgcccgtctgccagcgaaactgccgatc
+accgtggtgcgcaataaagccgatatcaccggcgaaacgctgggaatgagtgaagtgaac
+ggtcacgcgttaattcgtctctcggcaaggactggtgaaggcgtggacgtgctgcgtaac
+catctcaaacagagcatgggctttgacaccaacatggaaggcggcttcctggcgcgtcgt
+cgccacctacaggcgctggaacaggcagcggaacatctacaacagggcaaagcgcaactg
+ttgggagcctgggcaggtgaactgctggcggaagagttgcgtctggcacagcagaactta
+agcgaaatcaccggggaatttacttcagacgacctgctggggcggattttctccagcttc
+tgtattggtaagtaaccgcgcttacgaagccgcattctgactgtcagatgcggcttcgct
+tcattgttaccactcctgttattcctcaaccctttttttaaacattaaaattcttacgta
+atttataatctttaaaaaaagcatttaatattgctccccgaacgattgtgattcgattca
+catttaaacaatttcagaatagacaaaaactctgagtgtaataatgtagcctcgtgtctt
+gcgaggataagtgcattatgaatatcttacatatatgtgtgacctcaaaatggttcaata
+ttgacaacaaaattgtcgatcaccgcccttgatttgcccttctgtagccatcaccagagc
+caaaccgattagattcaatgtgatctatttgtttgctatatcttaattttgccttttgca
+aaggtcatctctcgtttatttacttgttttagtaaatgatggtgcttgcatatatatctg
+gcgaattaatcggtatagcagatgtaatattcacagggatcactgtaattaaaataaatg
+aaggattatgtaatggaaaactttaaacatctccctgaaccgttccgcattcgtgttatt
+gagccagtaaaacgtaccactcgcgcttatcgtgaagaggcaattattaaatccggtatg
+aacccgttcctgctggatagcgaagatgtttttatcgatttactgaccgacagcggcacc
+ggggcggtgacgcagagcatgcaggctgcgatgatgcgcggcgacgaagcctacagcggc
+agtcgtagctactatgcgttagccgagtcagtgaaaaatatctttggttatcaatacacc
+attccgactcaccagggccgtggcgcagagcaaatctatattccggtactgattaaaaaa
+cgcgagcaggaaaaaggcctggatcgcagcaaaatggtggcgttctctaactatttcttt
+gataccacgcagggccatagccagatcaacggctgtaccgtgcgtaacgtctatatcaaa
+gaagccttcgatacgggcgtgcgttacgactttaaaggcaactttgaccttgagggatta
+gaacgcggtattgaagaagttggtccgaataacgtgccgtatatcgttgcaaccatcacc
+agtaactctgcaggtggtcagccggtttcactggcaaacttaaaagcgatgtacagcatc
+gcgaagaaatacgatattccggtggtaatggactccgcgcgctttgctgaaaacgcctat
+ttcatcaagcagcgtgaagcagaatacaaagactggaccatcgagcagatcacccgcgaa
+acctacaaatatgccgatatgctggcgatgtccgccaagaaagatgcgatggtgccgatg
+ggcggcctgctgtgcatgaaagacgacagcttctttgatgtgtacaccgagtgcagaacc
+ctttgcgtggtgcaggaaggcttcccgacatatggcggcctggaaggcggcgcgatggag
+cgtctggcggtaggtctgtatgacggcatgaatctcgactggctggcttatcgtatcgcg
+caggtacagtatctggtcgatggtctggaagagattggcgttgtctgccagcaggcgggc
+ggtcacgcggcattcgttgatgccggtaaactgttgccgcatatcccggcagaccagttc
+ccggcacaggcgctggcctgcgagctgtataaagtcgccggtatccgtgcggtagaaatt
+ggctctttcctgttaggccgcgatccgaaaaccggtaaacaactgccatgcccggctgaa
+ctgctgcgtttaaccattccgcgcgcaacatatactcaaacacatatggacttcattatt
+gaagcctttaaacatgtgaaagagaacgcggcgaatattaaaggattaacctttacgtac
+gaaccgaaagtattgcgtcacttcaccgcaaaacttaaagaagtttaattaatactacag
+agtggctataaggatgttagccactctcttaccctacatcctcaataacaaaaatagcct
+tcctctaaaggtggcatcatgactgatcaagctgaaaaaaagcactctgcattttggggt
+gttatggttatagcaggtacagtaattggtggaggtatgtttgctttacctgttgatctt
+gccggtgcctggtttttctggggtgcctttatccttatcattgcctggttttcaatgctt
+cattccgggttattgttattagaagcaaatttaaattatcccgtcggctccagttttaac
+accatcaccaaagatttaatcggtaacacctggaacattatcagcggtattaccgttgcc
+ttcgttctctatatcctcacttatgcctatatctctgctaatggtgcgatcattagtgaa
+acgatatcaatgaatttgggttatcacgctaatccacgtattgtcgggatctgcacagcc
+attttcgttgccagcgtattgtggttaagttcgttagccgccagtcgtattacctcattg
+ttcctcgggctgaagattatctcctttgtgatcgtgtttggttcttttttcttccaggtc
+gattactccattctgcgcgacgccaccagctccactgcgggaacgtcttacttcccgtat
+atctttatggctttgccggtgtgtctggcgtcatttggtttccacggcaatattcccagc
+ctgattatttgctatggaaaacgcaaagataagttaatcaaaagcgtggtatttggttcg
+ctgctggcgctggtgatttatctcttctggctctattgcaccatggggaatattccgcga
+gaaagctttaaggcgattatctcctcaggcggcaacgttgattcgctggtgaaatcgttc
+ctcggcaccaaacagcacggcattatcgagttttgcctgctggtgttctctaacttagct
+gttgccagttcgttctttggtgtcacgctggggttgttcgattatctggcggacctgttt
+aagattgataactcccacggcgggcgtttcaaaaccgtgctgttaaccttcctgccacct
+gcgttgttgtatctgatcttcccgaacggctttatttacgggatcggcggtgccgggctg
+tgcgccaccatctgggcggtcattattcccgcagtgcttgcaatcaaagctcgcaagaag
+tttcccaatcagatgttcacggtctggggcggcaatcttattccggcgattgtcattctc
+tttggtataaccgtgattttgtgctggttcggcaacgtctttaacgtgttacctaaattt
+ggctaaatccttcaagaagccagccattcgctggcttcttgcctctcaggaaatcactta
+tgtccaaatggcaactcgcctgatcctccttcaccacgtatgctttgcgtcaccttacta
+tcaggacgctttagcccatgtcccgctttttgatttgtagttttgccctggttttacttt
+atcccgccgggattgatatgtacctcgttggtttaccgcgcatcgccgccgatctcaatg
+ccagcgaagcgcagttgcatattgcgttctccgtatatctggcggggatggcagctgcga
+tgttatttgccggtaaagtggccgatcgttcagggagaaagccggtcgccatacccggcg
+cggcgctatttattattgcctcggtgttctgttcactggctgaaaccagcacgttatttc
+ttgcaggccgatttctacaggggttgggcgcaggctgttgttacgtagtggcgttcgcta
+ttttgcgcgacacgctggatgatcgacgtcgggctaaagtgctgtcattactcaacggta
+ttacctgcatcattccggtgttagcgccagtgctcggacatctgattatgcttaaattcc
+cgtggcagagtctgttctgggcgatggcaatgatgggcatcgcggtactgatgttgtctt
+tgtttattttaaaagaaacgcgcccagcggcccccgcagcttcggataaaccacgagaaa
+atagcgagtcgctgcttaaccgttttttcctcagccgtgttgttatcaccaccctcagcg
+tttcggtgatcctcactttcgtcaacacgtcaccggtattgctgatggaaatcatggggt
+ttgagcgcggtgaatacgccaccattatggcgctgaccgctggcgtcagcatgaccgttt
+cattctccacgccatttgcgctgggaatttttaagccacgtacgttgatgatcacctcgc
+aggtgttattcctggcggcggggatcactcttgccgtttcaccttcccatgcggtttctc
+tgtttggtatcacgctgatttgcgccggtttctcggtaggttttggtgtggcgatgagtc
+aggcgttagggccgttttcattacgcgcgggcgtagccagctcgaccttaggtattgcgc
+aggtttgcggttcgtcactgtggatttggctggcagcggtggttggtatcggcgcatgga
+atatgctgatcgggattctgattgcctgtagcatagtgagcctgttgctgattatgttcg
+tcgcgcctggacgccccgttgccgctcatgaagaaatccatcaccacgcttgatctcaat
+ctgctgctttgtctgcaactgctgatgcaggagcgcagcgtaaccaaagcggcgaagcgg
+ataaacgtgacaccttcggcggtgagtaagtcgctggcaaagttaagagcgtggtttgac
+gacccgctctttgtgaactcaccgctgggtctgtcgcccacaccgctgatggtcagcatg
+gagcaaaatctggcggagtggatgcaaatgagcaacctgctgctggataaaccgcaccac
+cagacaccgcgcggcctgaagtttgagctggcggcggaatcaccgctgatgatgatcatg
+cttaatgcgctgtcgaaacagatctaccaacgttacccgcaggcgaccatcaaattacgt
+aactgggattacgattccttagatgccattactcgtggtgaagtggatatcggtttttcc
+ggtcgcgaaagccatcctcgctcgcgggagctgttaagctcgctaccgttagccattgat
+tatgaagtgctgtttagtgatgtgccctgcgtctggttacgcaaagatcatccggcactg
+catcaaacgtggaatctggacaccttcttacgttatccgcatatcagcatttgctgggaa
+cagagcgatacctgggcgctggacaatgtgttacaggagctgggacgcgaacgcacgatt
+gctatgagcctgccggaattcgagcagtcactgtttatggcagcgcaacccgacaatctg
+ctactggcgaccgcgccgcgctactgtcagtactacaatcaactccatcaactgccgttg
+gttgctcttcctctcccgtttgacgaaagccagcaaaaaaagctggaagttccttttacc
+ctgctgtggcataaacggaacagccataatccgaagatcgtctggttacgggaaaccatt
+aaaaacctttacgcgtcgatggcataaccgaatcgtatgaaacgcgacccaatttcacaa
+taaaatgtaaaaaagttgtaataagcttgtctgaatcgaacttttagccgctttagtctg
+tccatcattccagtaaatgattactcttgtattcataatggaccattaagcatggagcga
+aaaatggcgactcactttgcccgagggattttaacggaaggacatctgatttctgttcgt
+ctcccctcccagtgtcatcaagaagcccgaaacattccccctcatcgtcaaagccgtttt
+ctggcgtccagaggtttactcgcagaactgatgttcatgctgtatggcattggcgaattg
+ccggaaatcgtcaccctgccgaaaggtaaaccggttttcagtgataaaaatttgccttcg
+ttttccatttcctatgccgggaatatggttggcgtggcgttaacaaccgaaggtgaatgt
+ggcctcgatatggaactacagcgtgcgacgcgcgggtttcatagcccacacgcgcccgat
+aaccacaccttttccagcaatgaatcgctatggatcagtaaacaaaacgatcctaacgaa
+gcgcgggcgcagctcatcacgctgcgccgaagcgtgctaaaactaaccggtgatgttttg
+aatgacgatccgcgcgatctgcagctgctgcccattgccggacgcctgaaatgtgctcat
+gtaaatcatgtagaagcgttatgcgacgcggaagacgtgctggtgtggtccgtggcggtc
+acgcccacgattgaaaagctcagtgtctgggagttagatggcaaacacggctggaaaagc
+ctgccggatattcacagccgcgccaacaatcctaccagccggatgatgcgttttgcccaa
+ctctctaccgtgaaggctttttcgccaaattgatagacaaccacaggagtcatcatgtct
+gaaaaattgcaggtggttacgttactggggagcctgcgcaaaggctcatttaatggcatg
+gttgcacgtaccctgccgaaaattgctccggcgagcatggaagtcaatgcgttaccatcc
+attgccgacattcccttgtatgacgctgacgtacagcaggaagaaggttttccagcaacg
+gttgaagctctggcggaacagatccgtcaggctgacggtgtggtgatcgtcacgccggaa
+tataactactcggtaccgggtgggctgaaaaatgccatcgactggctttcccgcctgccg
+gatcaaccgctggccggtaaaccggtattgattcagaccagctcaatgggcgtgattggc
+ggcgcgcgctgtcagtatcacctgcgccagattctggttttcctcgatgcaatggtgatg
+aacaagccggaatttatgggcggcgtgattcagaacaaagttgatccgcaaaccggagaa
+gtgattgatcagggtacgctggaccacctgaccgggcaattgaccgcatttggtgagttt
+attcagcgagttaagatctaaataaaaaacccgccagcaatcatgcatggcgggttttta
+acgcgctatcgattttagtgagcgtcgataaagacaatcttcaggataaacagcagcgca
+acgatgattacgcacgggcttagatcacgcagacgtccggtaccgattttcatcacgcag
+taggagataaagcccagcgcgataccttcggtaatcgagaagctgaacggcatcatcacg
+gcggtaataaacgccggaacagattcagtaagatcctgccagttcacgcgtgccagactg
+gaagtcatcagcacgccaacgtaaatcagcgcaccagctgcagcgtagcctggcaccatc
+cccgccagcggcgacagaaagataaccagcaggaacagcagaccaacaaccactgccgtc
+agaccggtacgaccgccaaccgatacgccggaagaggactcaatataagccgtaacggaa
+gaagtaccgataaacgaaccggtcacggaagagatactgtcgacatacagcgcctgcttc
+atgcgcgggaatttccccttctcatccgccagacctgctttatcggtcacgccaatcagc
+gtaccggaggagtcaaacaagttgaccaacatgaaagagaaaatcacccctgccagcccg
+aggttaaacgacccggctaaatctacatgacccacaactgtcattacgctcggcggcgca
+gaaacgatgccattgtagtgcacatcacccagcatccagcccagcagcgtcgtcaccacg
+atagaaaccagcaccgctgcgtgaatgttgcgcgaggccagaatagcaatgatgaagaag
+ccgaggatacccagaagtacgctgtgagaagtcagattaccgatgctcaccagcgtttcc
+gggttagcgacaatcacacctgcgtttttcagccccatcatgccaatgaacagaccgata
+ccgctggtaatacccacacgcagactcaccggaatgttggctatcatccagtagcgaacg
+cggaaaatcgtcagtaacagcagacctatcgcgccccagaagattgcgcccatcccgacc
+tgccacggcaagcccatcgcctgtacaacgacaaaagcgaagaacgcattcaggcccata
+gcgggtgccagtgcaactggcaggttagcaaacagtcccatcataatactgccgaatgca
+gcgatcagacaggtagtgacgaagacggcgctggtatccatgccagcaacgccaagaatt
+tgcgggttaacaaaaacgatgtaaaccatcgtcaggaaggtggtaaaaccggcgatcact
+tcggtccgtgccgtcgtgccatgttcgcgcagtttaaacacgcgttccagcatcccctga
+ccagaagtctgggtggtatgttgatgactcattatctatttccgaacaaggagggaaaat
+ccgtcgctatcgtataccaaaatgcgacaataggcgcgtttgtgagagacttttttattg
+gatttacttatacggcaacgattgcgttgcgcaaatcggctctacgaaaacgttaaactg
+attaaaaaggaaaggcatgtcccggatagaagcggtatttttcgactgcgacggtacgct
+ggtcgacagtgaagtcatttgctctcgcgcatatgtaacgatgtttcaggaatttggtat
+tacgctcgatcctgaagaggtattcaaacgtttcaaaggtgtaaaactgtacgaaattat
+cgatattgtttcccttgaacatggtgttacgttagcgaaaacagaagctgaacacgttta
+ccgtgcagaagtcgctcggctgttcgattcagaactggaagccatcgaaggggctggagc
+gctcctgtcagcgatcactgcgccaatgtgtgtggtatctaacggcccaaataacaaaat
+gcagcattctatgggcaagctgaatatgttgcactacttcccggataaactgttcagcgg
+ctacgatattcagcgctggaagccagacccggcgttaatgttccatgcggcaaaagcgat
+gaatgtaaatgtagaaaactgcattctggttgatgactcagttgccggtgcacaatctgg
+tatcgacgcaggtatggaagtgttctacttctgcgccgacccgcacaataagccgatcgt
+tcacccgaaagtcaccacctttacccatctttcgcagttacctgaactgtggaaagcgcg
+tggttgggatattacggcatagttcttcacactcccttcacttaccccgcttaaattggc
+gctcaaaggtaagtaaagggagtttgatatgtctgtttcacgtcgggtaatacatcacgg
+actttattttgcagttttaggaccgttaattggtgttctgtttcttgtcctctacatatt
+cttcgcaaaagaaccgctggttctttgggtgataatacatccaatttttctcttattgtc
+gataactacgggagctattcctgcgttgttaaccggtgtaatggttgcctgtctgccgga
+aaagatcgggtcacagaaacgttatcgttgtctggctggtggcataggtggcgtcgttat
+caccgagatctattgtgcagttattgtacatattaagggcatggcttcctcggagttgtt
+tgaaaacattctttctggtgacagtctcgttgtccgcatcattcctgcattgctggcagg
+tgtggtgatgagcagaatcattacccgtctacccggattggatatttcatgtcctgaaac
+agactctttaagttaagcgggatactttatctttgggctactcaaaagcagacaggatgt
+ttctatgactcaaaatatcaggccgttaccccaattcaaatatcatcccaagccactgga
+aacaggcgcatttgaacaggataaaaccgtagagtgcgattgctgtgaacaacagacgtc
+agtttattactcgggtcccttttattgcgttgatgaagttgaacatctctgtccgtggtg
+tattgcggacggttctgctgctgaaaagtttgcaggtagttttcaggatgatgccagcat
+agaaggtgttgaatttgagtatgatgaagaggacgaatttgccggtattaagaacacata
+tcctgatgaaatgctgaaagagttggttgaacgcacgccaggttatcatggatggcagca
+ggaattctggctcgcgcattgtggcgatttctgtgtttttatcggctatgtgggctggaa
+tgatataaaagatcgcctcgatgaatttgccaaccttgaagaagattgtgagaatttcgg
+tattagaaattctgatctagctaaatgcctgcaaaagggtggtcattgtcagggttatct
+cttccgctgtctccactgcggcaagctgagactgtggggtgatttttcgtagttatttaa
+ataatgagaacaggccggagcgtaattcacacatccggccttatttcttaagcttaaccg
+agtgctaattctgcggcagcggctttatcagcgattaccatcagcgaaggatgcagctgc
+aacacggaagctggaacatcttcggtaaccggaccttgcagaacatttttcagtgcctgc
+gctttacccgcgccgctgacaattatcagcaagtttttcgccgccatgatgcttttcggc
+cccatcgtcacgtagctgtcaggcactaacgaaaagtcgccgcccaactcgccatgcgcc
+acaatatcaaccatctctccctggatcgggaactccacggtttgctcatggaaatgggtc
+gtattcggcaaattgccacaaaaatgaccatctgcacctaatcccagcaccaccaaatcc
+agtccgccttcacgcgccagtttctgatcatgctcgcggtagttatcaatagtgagcttc
+tggatattctcttctttgatccccgcaggggtgaaaaacagattacgcagattggtaatc
+gttacgccttctccctctttgccgcgaaatggaatttcatcaaaattatagaaatagcag
+ttatcgtaccagggcttacctttaaccagggtggtgaggtattcatacatgcctttgggc
+gtgctaccggcggtaattgccaggttaacacgacgcgtcttcgacatataaccaagcaga
+tggtgtgccgcgacacggctcatttcctggtaatcttcggtaatgattaatttcatctta
+atgccttattttatttaaataatttctgtacaaaggctgcataggctggtcgccagacat
+ccatttcatggttcagacccggatattcctggtaatcaaagttaatttttttctgctcaa
+gctcagttttcagcccggcgatatccttgccggttacgacatctttatcccccacaacca
+cagtaaaattacgtagttgctggttgatagctgccggatcgttcagtcgggccgcgacac
+cttcatccggtacggttgtcgtggtaacaccactgaatgtggccagccagccaaagcttt
+ccagatgattcattccggaaaccagcgcctggtacccgccttgtgaaagccctgccagcg
+cgcggccatcggcatctttacggacattaaaacgcttgctaatcagcgggataatatcgt
+tcatcagttcgcgatctgccgctttagcattcagcggataaaagactttacgtctttcct
+gaggcacgaaatcttcgggaataatgcccttcgcatcggtttctgtatccgggatcacca
+ccagcatcggtttaattttcccttcagcaagcaggttatccatgatttgcgggatacgcc
+cctgatcgatagcggaacgtccggtatcaccaaagccgtgatagaaatagagcactggca
+aaggctcgcccatgccggtgtatcctggcggggtccagacatacatctgacgttcagatt
+gcaatgcgttggagtggtaagttatggcgatcaaatcaccatgcgcaacagaacgcgtat
+ccagataactgcctggcaccagaatcatactggagttaacctggcgctgaggattagtca
+ttgcggtgcctgtatcaatgctgcgtacaccatcaacattgaaaaaatactcgtacaggt
+tgcctttcaggataggtgtgcgccacgaccagactcctgcttcgtctttggtcatcgggt
+gaatattgtccggaaccggaacacccaccactacagagacattttttgccccaggggcaa
+agtagcgaaaggtcacgctgttatcggcattgacctgagtcacatactgtttcaccggga
+tagtgggtgccgggctggctggcatatccgctgctatggcccactgagcagaaataccgc
+tggcaatagccagcgttaaagcagcaatttttatattcatcgtaatattcctttcattaa
+gttccattaccaccagatttcagcctgggcaccgacagcaaactggtcgtctttattgtc
+ttcaaaggtgaagccatccagttcgttttccagggctttgatatacgtggcgtagaaacg
+aatttccggacgcgaggtcaacatactggtattgactttaaaggtatggaagagcgtggt
+tttataaccagactcattaaatttattactattcgcatctttgttttgctgggtgaaata
+gcccagttcaacacctgtctggttatattggtcccaaatataggccgggcgaacaaccgc
+acgaatagattcgaaatcagagtgggcgcctgtttcgtagctatatatatcgttaccgaa
+ggagtaaacaatcgcgttagctacaatgaaatgatcgccaatataggcttcgccctgcga
+agtcagacgtaccgctgttccgccggtgtgatcaccataataacgaccattaaaggtggt
+aaatggacttgcgccagcataacggccaaagttactggcgatagagttattcgcgaccag
+gaaggagaattcgttgaagccacctttatcaaatttctgcgttaaagatgtgccaaacat
+ccaggtatctttccagtcataatacccgttattatcctgattatctttttccgatgcgct
+ttcgtttgccgtgacataacgaccacttaccattaaggtggctttatcccataacgggat
+atctttatagcgtaaatcaatggtattggtattaatctgctgtttgttttgcaggctgcg
+atcgtaatcatcgacatcttcgcgaaccagcgcgatatcaattttacccggaccgacttt
+ccagttttccagacctacacccgctgcggcatcagtacgctgcgttttccagtcaagcat
+ctggatttcaattttcggcgcaccgtgtttacccacccagaaatcagcctctggcgcaaa
+gggcaggaaacctttggtggtaacgtacatatcggagaactgcatatagttctcgccacc
+ggcgttatcgccaaaccagccggtagagtactgctgaccaacgttaccatccatcatcac
+aacggcatcaacccgtttgccgttttcgttgtagacacgttgttttaactgcaaatcaaa
+ccagccggagtattcgttaccaaagcggcccagagaaccaatcgcccatgatttaggtga
+accatgagaggcggtcccccaaccagaacggtaatagccgttgtaactaaagccaatttc
+atctttcacaaatttactgaaatctttcagagtcatggaagaataaatcgagcctgtctc
+actggcatttttctcttcatttttgaccagtacagcatcaggttttgcggcactactggt
+cgggaacggattggcggcatacccttgatcattcgtacttacgctacgattcaccgtcgc
+tggcgtatactttttcttctcttcatctttatactttttgagttcgctttgcgtttctct
+taacgccttttctaataactcaaggcgttgttccaccgttaatgattcagccaatgattg
+tgcagaaaaggctaacggtgccattaataagatggcagaggtaataagatttcgtctaaa
+cataatatccctttatggtgcaaagaaagaattaacgcatcgcatccagactgttctgaa
+tgcgacgataattaaggtgctttaatggttattttttttaatgacagcccccgcgtcttg
+atcacctctgcataccatccgaagcttttcttgcgtgttcttgtgaggcttccttcgcca
+ttatcatcacgatccacataaataaagccgtagcgcttagacatttgtgaatgagatgca
+ctgactaaatcaattggcccccaactggtgtaccccataatatccacaccatcggcaatc
+gcttcatttacctgtaccaggtgatcgtttaaataggcaattcgataatcgtcctgtatc
+gaaccatccgcttcaacgctgtcttttgcgcctaatccgttctcgacaataaataacggt
+ttttgataacgatcccaaagcgtatttaacagaacccgtaatccaaccggatcaatttgc
+cacccccactctgaacttttcagatgcggattggggatcatattcagtatgttgccctgc
+gcatttttattaatgctttcgtcgtgggaaacacaaccagtcatgtaataactaaaagag
+atgaaatcgacggtatgttttaaatcttctgcgtcactttcagtcatctcaatggtgata
+ttgtggtcgcggaagaaacgctgcatatagccgggatactggccacgcgcctgaacatca
+ccaaagaacatccagcgccggttctcttccatggcctgcaacatatcctgtggctggcag
+gtgagggggtaaaccagcccaccgagaagcatattgccgattttcgcttcggggagcagg
+ctatgacaggctttaactgcccgcgcactggcaaccagttgatggtggatagcctgataa
+acttccgcctcgccactctcttctgccagccccacgcccgtgaatggcgcgtgtaacgac
+atgttgatttcattaaacgtcagccataacgccactttatgttggtagcgagtaaagacc
+gtgcgggcgtaatgctcgaagtgatcgatgaccgctcgattagcccaaccgccgtagttt
+ttcaccagcccatatggcatttcgtaatgggataacgttaccagcggcttgatccccgcc
+tgcgccatttcatcaaacagccgatcgtaaaacgctaaccccgcttcattcggttcgact
+tcgtcgccctgagggaaaattcgcgcccaggcaatggaaatacgcagacaggtgaagccc
+atctcggcaaataacgcgatatcttccgggtaacggtgataaaaatcgatggcgacatct
+ttgatattctctttccccaggatgcgcggttccatttttcccattacgccatgaggctgt
+aaatctgaggtcgagatccctttgccatcttcctgccaggcaccttccacctgattggca
+gctgttgcgccaccccaaagaaatgtttctggaaatgctttcataattaactccttttat
+cgttagcgaatgatggataacagcggttcacctgcgcttatctgcgccgtgccgtggggt
+aatacgtccgtaaaatcatcgctattactgattaataccggcgtcgtcagatcaaatccg
+gcctcgcgaatagcagggatatcaaaagaaatcagccgatcgcctgtattgaccttgtca
+cccacgttgacgtgagcggaaaagaatttgccgtccagttttacggtgtcgataccgaca
+tgaatcaggatctccacaccatcatctgactcaatgccaatggcgtgtaatgtggcgaac
+aacgaagcaattcgacccgcaaccggagaacgcacttcaccaaccgagggcagaatggca
+atacctttacccaacaggccactggcaaacgtggtatcagcgacgtgaatgagcggcaca
+atctctcccgtcatcggtgaacagataccgccctgctcaggtggtgtaataacctctggt
+gttttctcttgcggggcaccctgcgctggctgacgtttagcggtgatgaaatgaagcatc
+accgtaccgacaaatgcgcaaccgatggcaatgacaccgccaataacgctggcccagacg
+gtgaaatcaattcccgttgacgggatggtttgcatgaaggtgaaaatacttggcaaacca
+aaggagtagactttcgtttgcgcgtagccaataatggtggcccccaaagccccactgata
+caggcgataacaaaggggtacttacgcggcaggttgacgccatataccgctggttcggtg
+ataccaaacagactcgtcaacgccgctgatcccgccaccacttttttctgcgcatcgcgt
+tcgcagaggaagacgccgagcgccgccccgacctgcgccataatggcgggcattaacagc
+gggatcatggtgtcgtagcccagcacggtgaagttattgatacacagcggcaccaggccc
+cagtgcagtccgaacatgacgaagatttgccagaagccgcccattaccgcgcccgcaaat
+gcaggaaccgcctgataaagccagagataaccggcggcaatcagttcgcttatccaggtt
+gatagcggccccaccagcagaaaggtgacgggtgtgataaccatcagacatagcaatggt
+gtgaagaaatttttgattgccgacggtaaccacgcattaagtcggcgttccagaatgctg
+cacaaccaggcagaaaaaataatgggaataaccgatgacgagtaattcaacaatgtgacc
+ggaatacccaggaaatccagccccagcgcatccgctttttgcccgttctcgaaagcagtc
+agaattaatggatgcactaacgctccaccaatcaccatggcagtaaatggattaccgccg
+aagcgtttccccgcggtgtatcccaggattatcgggaagaaccaaaacaaggcatcactg
+gcgctgaataaaattaaataagtaccactttgttcggtcgtccactgaaaagtgagcgcc
+agagccagcatacctttcaagatcccggttgccgccatcaaaccgatcagaggcgtaaaa
+atacctgaaataacataaacaaagcggtttagcagattacctttatcatcattttccggt
+gcctgttgcgctttttcgtcaaggcctgccacactgttaaccgccaggaagacatcggcc
+acatggttacctatgaccacctgaaactggccaccgctttccaccaccataataataccg
+ggggtctttttcagtacctctgcttgcgctttgctttcatcctttaatttaaaacgtaat
+cgcgttgcgcaatgcatcagactcacaatgttatctgcgcccccgactcctgcgactatt
+tttctggctaactccgtcataacttgccctctaccgctttgcggcaaaactccaaaaaaa
+aacctgaaaaaaacggcctgacgtgaatcaagcaatttttttcaggttttgcccgcttag
+tgcggtaacaatcctttactcagtaataatatttcagtgttctttgcgcacgcgctctat
+atttatggctaaaaacataatctctgcgggtgaaattttacgttgatactgcaaaccaat
+aaaaatggcgatccgttccgcacattgccatgcttgcgggtaattttgttttactgcttg
+ttgtaatgattcatcactatcgttaattgaagcatgttcaagaatacgccaggataaaaa
+cttcagatgtgtaaccagtcgctgataactcaagctttcttcctggtaattaaggctgaa
+ctgaaattttattaattgcagcatttcgcgcattaactgcgtgacacctgcaacatcctc
+catatttccgctcatttgggcactgaccagatgcatggcaataaagcccacttcatcttt
+cggtaactgcacgcccaaccgtttatcaataatggttaacgcttcttcccctagctggaa
+ctctttcgggtaaagccgctggatatcccacagcaacgggttgggcagcaacacgttttg
+ctgaaagcgtttaatcgcaaactggcaatggtcagttagcgagatataaatactgtcctg
+taattttcccaagcgctcctgcgctaaagagataatacgatcacaggttgccatcacctc
+aagaggaatatgacttaagagttcgcttaatcgcccgttcagttcatgactgctcaaggc
+atactctttttctattccacttgagttaattctttcgccagcgcgtttttgaaagccaat
+tccgcgccccatgacgactttttcccgctgttgatcatcaataaccaccacaacattatt
+gttgagaattttggtgatttgcatgttcatagcaaggaccttttttataaacaaaaaaac
+ccgacttcaccagtattctctggttatgtcaggttttgcctgcgaatgcagtaacaatcc
+agtcatttattaatggtttttataacgaacatccaggttcggaaattaatttaattgcgt
+gcagagaaaatagcaatgcgctattgataaaaatatgaccatgctcgcagttattaactt
+tgtgtaattttaggaatttataaagttatatataacaaatcccaataattaagttattgg
+gatttgtctggtgaattatttgtcgctatctttccccgccagcagtttatccagctcatc
+gccaccgacgtgacggaaatcctgccccttcacgtagtagaagataaactcacaaatatt
+ctggcagcggtcgccaatacgttcgatagaacgcgcgcagaacagcgcagtaagtacgct
+cggaatggtacgcgaatcttccatcatgtaggtcatcagttgacgaacaataccttcgta
+ttcctgatcgacttttttatcttcacgataaatacgtaccgcttcgtcaatgtccatccg
+cgcgaacgcgtccagcacgtcgtgcagcatctggatggtatgacggcccagcgactccag
+acttaccagcaacggctgatgctgctgggagaatttctccagcgcagtacggcagatttt
+gtccgccacgtcgccaatacgctccagctcggcaatggttttactgatcaccataaccag
+tcgcaggtcgctcgccgtcggctgacgtttggcgataatgcgcacgcaggcttcatcgat
+cgccacttccatcatgttgacgttcttgtcgccttcgatgacgcgcttcgccagatcgct
+gtcctggttatgcatcgcggtgattgcatcagaaagctgctgctccaccatgccgcccat
+ggtcatcacctgcgtgcggatactttccagttcggcgttgaactggccggaaatatgttt
+attaagattgagactgtccataacgcactcctgaatcaaccgtaacgaccggtgatgtag
+tcttctgtttgtttcttcgctggcttggtgaacagatcgtccgtgttgctgaactcaatc
+aattcgcccaggtacataaacgccgtgtggtcggaacaacgcgcagcctgctgcatgttg
+tgggtgacgatcaccacggtgtaatcctgcttcagttcggtgatcagctcttcaatacgc
+ccggtagagatagggtcgagcgccgaacacggttcgtcgagcagcagcacttccgggcga
+atggcgataccacgcgcaatacacagacgctgttgctgaccaccagagagagagtaaccg
+ctctggtgcaatttatctttggtttcgttccacaatgcggctttggtcaatgcccactgc
+acgcgctcgtccatgtcggcacgggagagcttctcaaacagacgaacgccaaaagcgatg
+ttgtcgtagatggacatcggaaacggcgtcggtttctggaacaccatgcccactttcgca
+cgcagcagtgcgatatcctgagagttggtcaggatgttgtcgccatcaagcagaatttca
+ccttccgcacgctgctccgggtacagttcaaacattttgttgaaggtacgcagcagcgtc
+gatttaccgcagccggacggcccgataaacgccgttacctggtttttagcgatatccagg
+ttgatgtttttcagggcatggaatttgccgtagtagaagttcaaattacgaacctgaatt
+ttactcggggcagtttcaaccatactcattgcaatcttttcctcatcgtgcctgatgcac
+ttcgctaatcaggcttaccgtaggccggatcaggcgttcacgccgcatccggcaaagtgt
+taaccgtgtacagagtcaaaaaggcgctcggtcggtcccctcgcccctctggggagaggg
+ttagggtgaggggaaaaccgtgtcagcaatatcaaccgtgtttattcttcgcaaaaacaa
+cgcgcgccagaatgttcagcagcagtacgcacagggtaatgatcaataccccggcccagg
+ccaattgctgccattccgcaaacgggctcatcgcaaacttaaagatcgtcaccggcaggt
+tggcgatcggctgcatcatgtccgtgctccagaactggttggagagcgcggtaaacagca
+gcggcgcggtttcaccagcaatacgggcaatcgccagcaggataccggtcataatcccgg
+acaccgacgctttcagcgtaatcgcagagatcatcttccacttcggtgtacccagcgcat
+aagccgcttcacgcaggctgtacggcaccagtttcagcatgttctcggtggtgcggataa
+caatcggcacctgcaacaacgccagggcaatcacgcccgcccagccggagaagtgctcca
+tctgcgccaccacaatggtgtaaacaaacagaccaaccacaatcgacggcgcagagagca
+gaatgtcgttaatgaagcgaatcacttctgccagccaggatttacgaccatattccgcca
+gataaatccccgccataatgcccagcggcgtaccgaataccgtggcccacaaaattaaca
+gcccgctacccgccagagcgttcgccagaccaccaccttccgtattgggcggcggcgtca
+tttcagtgaacagcgccagcgacataccgtcgataccgcgagtgatggtggacattaaaa
+tccagatcagccagaacaggccgaaggccatcgtcgccatcgagagcgtcagcgcaatac
+ggtttttgaggcggcgacgcgcctgcattttgcggcgagattcagccagcgccgcagtgg
+tttgcatttcaaccatagccattagcgtgccccctcattcttagccaggcgcataatcat
+aaacttcgatgcggcgaggacgatgaaggtaatcacaaacaggatcaggcccagttccat
+cagtgcggcaacgtgcagaccggattccgcttccgcaaattcgttcgccagcgcagaggt
+gatactgttgcccggcatatacagcgaggcgctgtcgagctggtaggtgttaccgatgat
+aaaggtcaccgccatggtttcaccgagcgcgcggcccagccccagcatgatgccgccgat
+aacaccatttttggtgaacggaagaacgatacgccagataacttcccaggtggtgcagcc
+aataccgtaggccgactctttcatcatcaccggggtttgttcgaacacatcacgcattac
+cgccgcaatgtacggaataatcatgatggcgaggatcacgcctgccgcgaggataccgat
+accaaatgcggggccagagaacagcgcgccaacaatcgggatattcgacatgatattgcc
+gaccggctcctgaaagtaaacggcgaacagcggcgcaaagataaacaggccccacatgcc
+gtaaacgatacttggaatggctgccagcagctcaatggcgatacccagcgggcgtttcag
+ccagccaggcgcaagctcagtcaggaacagggcgataccgaaactcaccgggacggcgat
+cagcagcgcgataaacgaagtcaccaacgtaccgtagatcggcaccagcgccccgtagat
+atcgttcggtgcatcccactctttggtccataggaaagccagaccaaatttctgaatgct
+cggccaggaggagatgatcagagagacaataatgccacccaacatcaatagcacaatcag
+cgccgccagttttaccagcacgctgaaaattatgtcgccctttttacccggtgggttaaa
+agcaggcttggttgcagccataagttactcttcagttaaacgcgtttacaaagtcatttt
+gtaatgccggatgcggcgtaaaacaccgtacccggcctggagttttattagtacagcggc
+ttaccgctactgtctttaatattggtcttccacgcagcgcgaacctgttcaactacacta
+tccggcaggctggcgtaatccaggtcgttcgcctgtttagccccggttttgtacgcccag
+tcgaagaatttcagcacttctgtgccttgttctggtttcttctgatctttgtggatcaga
+atgaacgtggtagaggtaataggccatgcatcttcgcctttctggttggtcagatcctga
+gcgaaggttttgctccagtctgcaccttttgctgcattagcgaagttttcttcggtcgga
+ctaaccggtttaccatcagcggagatcagtttggtgtacgccaggttgttctgcttcgcg
+taagcatattcaacataaccaattgcacccggcagacgctgaacgaacgcggcgataccg
+tcgttacctttaccgcccagaccgatcggccattttacggtagagccagtaccaacgttg
+tttttccactcttcgttcactttcgccaggtagctggtgaagacgaaggaagtcccggag
+ccatctgcgcggcgtactacagcaatgttttgtgaaggcagtttcagacccggattcagt
+ttggcgatggcttcatcatcccacttcttgattttgcccaggtagatgtcgccgagggtt
+ttaccatccagcaccagttcgccagacttcagccctggaatgttaaccgccagcaccacg
+ccgccaatcacggtcgggaactggaacagaccttcctgagccagtttttcgtcagacagc
+ggcgcgtcagaggcaccaaaatcaacggtattagcgataatctgttttacgccaccggaa
+gaaccgataccctggtagttaactttattaccggtttctttctggtaagtgtcagcccat
+ttggcatacaccggcgcagggaaggttgcacctgcacctgtcaggcttgcttctgcaaac
+acagagaaagcactcatcgataaggtcgcggcgacaacagttgcgacggtggtacgcata
+actttcataatgtctcctgggaggattcataaagcattgtttgttggctacgagaagcaa
+aataggacaaacaggtgacagttatatgtaaggaatatgacagttttatgacagagagat
+aaagtcttcagtctgatttaaataagcgttgatattcagtcaattacaaacattaataac
+gaagagatgacagaaaaattttcattctgtgacagagaaaaagtagccgaagatgacggt
+ttgtcacatggagttggcaggatgtttgattaaaaacataacaggaagaaaaatgccccg
+cttacgcagggcatccatttattactcaaccgtaaccgattttgccaggttacgcggctg
+gtcaacgtcggtgcctttgatcagcgcgacatggtaagccagcagctgcagcggaacggt
+gtagaagatcggtgcaatcacctcttccacatgcggcatctcgatgatgtgcatgttatc
+gctacttacaaaacccgcatcctgatcggcgaagacatacaactgaccgccacgcgcgcg
+aacttcttcaatgttggatttcagtttttccagcaattcgttgttcggtgcaacaacaat
+aaccggcatatcggcatcaattagcgccagcggaccgtgtttcagttcgccagcagcgta
+ggcttcagcgtgaatgtaagagatctctttcaacttcaatgcgccttccagcgcgattgg
+gtactgatcgccacggcccaggaacagcgcgtgatgtttgtcagagaaatcttctgccag
+cgcttcaatgcgtttgtcctgagacagcatctgctcaatacggctcggcagcgcctgcag
+accatgcacgatgtcatgttcaatggaggcatccagacctttcaggcgagacagcttcgc
+caccagcatcaacagcacagttaactgagtggtgaatgctttagtggatgccacgccgat
+ttctgtacccgcgttggtcattagcgccagatcggattcgcgcaccagagaagaacccgg
+aacgttacagattgccagtgaaccaaggtaacccagctctttcgacagacgcaggccagc
+cagggtatccgcggtttcgccagactgtgacaaggtgatcatcaggctgttacgacgcac
+ggcagatttgcgatagcggaattcagaggcgatttcgacgtcgcacggaatacctgctag
+cgattcaaaccagtagcgggaaaccataccggagttataagaagtaccacaggcgaggat
+ctgaatatgctcaaccttcgacagcagttcgtcggcgttcggtcccagctcgcttaaatc
+aacctgaccgtggctgatgcgtccggtaagggtgtttttgatcgcgttcggctgttcgta
+gatctctttctgcatgtagtgacggtaaatgcctttatcgcccgcgtcatattgcagatt
+ggattcgatatcctgacgttttacttccgcgccagttttatcgaagatgtttaccgaacg
+gcgagtgatttccgcaatatcgccctcttcaaggaagataaagcgacgggtcaccggcaa
+cagcgccagctggtcagaagcgataaagttttcgcccatccccaggccaatcaccagcgg
+actaccagaacgtgccgccagcagggtatccgggtgacgggagtccatgatcactgtacc
+gtacgcaccacgcagctgcgggatagcacgcagaacggcctcacgcagagtcccgccttg
+tttcagctcccagttcaccagatgggcaatcacttcggtgtcggtttcagaaacgaaggt
+atagccacgcgcttttagctcttcacgcagcggttcatggttttcgatgatgccgttatg
+caccaccacaatgtgttcagaaacatgcggatgcgcattcacttctgaaggttcaccgtg
+ggtcgcccagcgagtgtgagcaataccagtgccgccatgcagaggatgttcttccgctgc
+ctgtgccagcatctggactttaccgaggcgacgcaggcgggtcatatgaccttctgcatc
+aacaacggccagaccggcagagtcatatccgcggtattccagacgacgtaaaccttcaag
+aaggatttctgctacatcacgttgcgcgatcgcgccaacaattccacacatagtttttga
+ttccgatttatatcgttgtcggtcaacctgtatgcccgttttttcgggcgccccgagcct
+tgtagagagtggggttatttttatagttactgcttgtgggagggagattatgttatctcc
+tcatcccatgtgaccgggttagccggccagaatcactttttctttaccggacgacgccag
+ccttctttctgagtctgcggcacacggctgatagctaatgcattttcgccgacattacgc
+gtcacagttgtacccgcagcaatggtcgcgcctttgcctactgttaccggggccaccagc
+tgagtgtcggaaccaacaaacacatcgtcgccgataatggtcttaaatttattcgcacca
+tcgtagttgcaggtaatggttcccgcgccgatgttaacgttatcgccaatttccgcatcg
+cccaggtaagtcagatgaccagctttcgagcctttacccagacgcgcttttttcatctca
+acgaagttaccgacgtgagcaccttccagcaactcagcaccaggacgcaaacgggcaaac
+gggccaatggtacaggccgctgccagattcgcatcttccacaacggtatacggactgatt
+tcgcaatcatcgccaatcacgctgtttttaatcacgcaaccggtgccaattttcacgcga
+tgaccgagagtcacgttgccctcgatgataacgttagtatcaatttcaacatcgcgcccg
+tgagttagcgtaccacgcagatcaaaacgcgctggatcgcgcagcataacgcctgctaac
+agcagtttttcagcctgttcggactgataaacacgctccagacgggagagttgcaggcgg
+ttattcacgccttctacttcgcttaaacgttgcggatgaacggcgacgatttcacgccct
+tcctgatacgccagcgcaataatgtcggtgatgtagtattcgccctgagcattattgttg
+gtcagcttcgccagccagcgtttcatatctgcgccgttggcaatcagaatgccggtgttg
+atctcctgaatctgacgctgctcgtcggtggcatctttgtgctcaacaatgccggtaact
+ttgccgttttcacgggtgatacgtccataaccggtcggatcatccagtttcaccgtcagc
+agaccaatgccaccctgcggtttagcatcacgcagacgctggagtgtttcgacagagatc
+agcggcacgtcgccgtagagcattaaaatgtcttcatcatcggcaaagaaaggtgcggcc
+tgctgcattgcatgacccgtacccagctgctctgcctgaagcacccagttaaggttgtcg
+tctttcagcgcctgttttagcagatcgccgccgtgaccgtacaccaggtgaacgtgcgct
+gcgcctaattcattcgcagcatcaatgacatgctgaaccatcgctttcccggcaagggta
+tgcagcactttcggaagatcggaatacatgcgcgtgcctttgcctgcggcaaggatcact
+acgctcatagcattattcaacatacgcgtcctgactgtaatttgagaacgaatttaaacc
+gcttcaccttgaaaaaactacatttttttcatcgtgaaatggacagaggataaattgttc
+aataacggattatccccgctgacgaaagcgccattttcgaccatcgtcacgccttttgtc
+tgcagaaaattaaggcagtaccttaatttaagcgtcaggtggatgtttttgctcttattt
+cgatcaatgaataaacaggaaaacaggggggttttatatcagcaggatctatgtgaacgc
+tattcaggacgggtcacacgcgcaaaaaaaagccagcctgtttccagactggcttttgtg
+cttttcaagccggtgttacatcgcttttttggtcaactcgataacgcgcagctgcgcgat
+cgctttggccagttccgcagacgcctgagcgtaatctacgtcgccgtgagagctgctaat
+gtgctcttcagccttacgtttcgcttccatggctcgcgcttcgtcgagatcctggccgcg
+aattgcggtgtcggccagaacggtcacgttgccaggctgcacttcaagaatgccgccaga
+cagatagataaactcttcgtgaccgtgctgtttcacgatgcgaatcataccaggcttaat
+ggcggtgagcagcggtgcgtggccagggtagatccccagttcaccttcgctacccgttac
+ctggattttctcgaccagaccagagaacatttgttgctctgcgctgacgacgtccaggtg
+gtaagtcattgccatatcaccctccgattaaggcgttaaagttttttggctttttccaca
+gcttcttcgatggaaccgaccatgtagaacgcctgctccggcaggtgatcgtattcgcct
+tccatgatgcctttaaagccacggatggtgtctttcagggagacgtatttacccggagaa
+ccggtgaatacttctgccacgaagaacggctgggacaggaagcgctggatcttacgagca
+cgcgctaccaccagtttgtcttcttcagacagttcatccatacccaggatggcgatgatg
+tctttcagttcctgataacgttgcaggatggactgaacgccacgcgcggtgtcgtagtgt
+tcctgaccaaccaccagcgggtccagctgacggctggtggagtccagcgggtcaacggcc
+gggtagatacccagagacgcgatctgacggctcagtaccacggttgcgtcaaggtgcgca
+aaggtggttgccggagacgggtcagtcaagtcatccgcaggtacgtatactgcctgtacg
+gaggtgatagaaccagttttggtggaggtgatacgttcctgcagaacgcccatctcttcc
+gccagggtcggctgataacctaccgctgaaggcatacggcccagcagtgcggatacttcc
+gtaccggccagggtgtaacgatagatgttgtcaacgaacagcagaacgtcacgaccttcg
+tcacggaatttctcagccatggtcagaccggtcagagcaacgcgcagacggtttcccggc
+ggctcgttcatctggccatacaccagggatactttgtcgataacgttggagtcggtcatt
+tcgtggtagaagtcgttaccctcacgagtacgttcacctacgcccgcaaacacagagtaa
+ccggagtgctcgatcgcgatgttacgaatgagctccatcatgtttacggttttacctaca
+cccgcaccaccgaacagaccaactttaccgcccttagcgaacggacacatcaggtcgata
+actttgataccggtttccagcagttcctgagagtttgacagctcttcgtaggaaggtgct
+gcgcggtgaatcgcccaacgctcttcttcaccgatctcgcctttcatgtcgaccggttca
+cccagtacgttcatgatacggcccagagtcgctttacctaccgggacttcaatcgggtgt
+tcgaggtcttttacatccagaccgcgacgcagaccgtcggaggaacccattgcgatggta
+cgtacgataccgccgccgagctgctgctgaacttccagcaccagacgctcattaccattt
+tgcacctcaagagcatcgtacacgcgcggtacggcatcctgagggaattcgacgtcaact
+acggcgccgattacctggacaatctttccagtagccatcttaaatcctctacgaaataac
+ctgtttaaaccgcggcggcccccgagacgatctcggtgagttcctgagtaatgctggcct
+gacgagctttgttgtataccaactgcagctctttaatcaggctgccgccattgtcggtcg
+cggctttcatcgccaccatacgggcggcctgctcgctggccaggttttcaaccacgccct
+gataaacctgagattcgacataacgacgcagcagggtatccagcaacgccttcggatcgg
+gttcgtacaggtaatcccaggatttatgtttcagatcatcatcatctgatgccggtaacg
+gcagcagctggctgatggtcggaacctgagacatggtgttaataaatttgttgctgacaa
+tgtaaagcttgtccagacggccttcgtcgtaggcctgcaacatcacttttaccggaccga
+tcagttcggacagggaagggttatcccccatgccggtgacctgggcaacaacattgccgc
+ccacggagttgaagaacgacacgcctttcgagccgatcattgcgaggtcgcattgaacgc
+ctttgtcggtccaggtcttcatttccgccagcagttttttgaacaggttaatgttcaaac
+caccgcacaaaccacggtcggtcgacaccaccaggtagcccacgcgtttaacgtcgcggt
+cttccaggtaagggtgcttatattccagattaccgtgtgcaaggtgaccaatcactttgc
+gcatggtttctgcataaggacggctggccgccatgcgatcctgcgatttacgcattttgg
+aagcggcgaccatctccatcgctttagtgatcttttgcgtgttctggacgcttgcgatct
+tactacgtatctcttttgcgccggccatgagcttctcctcaatgccttgcggcctgccct
+aaggcaagccgccagacgttaccaggattgggttgctttgaaggaatcgaggatgccttt
+cagcttgccttcgatttcgtcgttgtagccaccggtctggttgatctcttgcatcaacgg
+agcgtgatcacggtcgacgtaagccagcagagcggcttcgaagctgccaattttcgacag
+ttcaacatccgccaggtaaccacgttctgctgcgaacagaaccagagactgctgcgcaac
+ggacatcggcgcatactgtttctgtttcagcagttcggtcactttctgaccgtggtcaag
+ctgcttacgtgttgcatcgtcaaggtcggatgcaaactgagagaacgctgccagttcacg
+atactgtgccagagcggtacggataccaccggacagttttttcatgatcttggtctgtgc
+tgcaccaccaacacgggatacggaaatacccgggttaaccgcaggacgaataccggcgtt
+gaacaggttggtttccaggaagatctgaccatcggtaatggagattacgttggtcggaac
+gaacgcagaaacgtcacccgcctgagtttcgataatcggcagtgcggtcagagaaccggt
+tttccctttcacttcacctttggtgaaggcttcaacgtattcggcgttaacacgtgcagc
+acgctccagcagacgagagtggaggtagaaaacgtcgcccgggaatgcttcacgtcctgg
+cggacgacggagcagcagggagatctgacggtaagcaacagcctgtttagacaggtcatc
+gtaaatgatcagcgcatcttcaccgcggtcacggaagtattcgcccattgcgcaaccggc
+atacggtgccaggtattgcagtgcagcggattcagacgcggttgctaccacaacgatggt
+gttagccagtgcgccgtgctcttccagtttacgtaccacgttagaaatggtggacgcttt
+ctggccgatagcgacatagatacatttgataccggaatcgcgctggttgatgatggcatc
+gatagccagtgcggttttacctgtctgacggtcaccgatgatcaattcacgctgaccacg
+accgattgggatcatggagtcaacggctttataaccggtctgtaccggctgatctacgga
+ctgacgttcgataacgcccggagcgattgcttctacagcagagaagccgtcgtgatccag
+cggacctttaccgtcgattggtgcacccagagtgttaaccacacggcccagcaggccacg
+gccaaccggaacttccaggatacggccagtacacttaactttcatgccttcggcaaggtc
+agcgtacggacccataacaaccgcacctacagagtcgcgctcgaggttcagtgcgatagc
+gtaacggttacccggcagggagatcatttcaccctgcatacaatcggccaggccgtgaat
+gcggataacaccgtcacttacagaaacaatagtaccttcgttgtgagcttcactcacaac
+attgaactgagcaatgcgctgcttgatcagttcgctgatttcggtggaattcagttgcat
+gctccagtccccttaagactgcaagacgtctgcaaggcgctcaagacgaccgcgtacgct
+gccatcaatgaccatatcacccgctcggatgataacgcctgccattacagacttatcgat
+tttgcaattcagcttaactttgcgtgacagacgtttttccatcgcagcagaaattttcgc
+gagctgttgttcactcagtgcggcagcggaaatgacgtctacctcagcggtagcctcact
+cacggcacgcaggtgaataaactgctccagaacatccgggagcgcgttaagacgaccatt
+ttcagccataacccgaatcaggttctgaccgttttcgtccagttgctcaccacaaactgc
+gataaacgactcggcgagcgtttctggcgcaagcgcgccagagagaagctctgccatttg
+ttcgtttttggttacctcggcggcaaacgccagcatgtcctgccagcgttctacactttg
+gtgttcgacggcaaagtcaaaagctgctttggcgtaggggcgagctaccgtaataaattc
+agacatcagcccctccctccttacagttcagcgacaagtttatccacgatgtcgctgtta
+gcagcttcatccacggaacgttcgatgatcttctcggcgccagcaacagccaggatagca
+acttgcttacgcagctcttcacgggcacgtttacgctcggcttcaatttccgcctgcgcc
+tgggccacgattttagtacgttcctgttctgcctcagctttcgcttcgtccagaatctgc
+gagcggcgtttgttcgcctgctcgatgattacctgggcttccgctttcgcttttttcagc
+tggtcggtcgcgctggcctttgcaaggtcaaggtccttatgtgctcgttctgcggaagca
+aggccgtcagcaatttctttttgacgtttttcgatggctgccattaatggcggccatacg
+tacttcatgcagaacagaacgaacaggacaaacgcgatggcctggccgaggattgttgcg
+ttaagattcacagcacaatgcctctatttagttaacgttctgatattgctctttaaataa
+aagcaacgcttactacgcgacagcgaacatcacgtacagacccagacctacagcgatcat
+cgggatagcatccaccagacccataacgataaagaactgagtacgcagcagaggaatcag
+atcaggttgacgcgctgcgccttccaggaatttacccccgaggatgccgataccgatcgc
+agcaccgattgccgccagacccatcatcacagcggcagccatgtacagcagatccatatt
+caggttttccatgacagtctccagtttgtttcagttaaaacgtagtagtgttggtaaatt
+aatgttcttcagacgccatcgacagatagacgatcgtcagaaccatgaagatgaaggctt
+gcagcgtaatgatcaggatgtggaaaatggcccacggcacattcaggatccactgtgacc
+accacggcaacagaccagcaatcagaatgaaaatcagctcaccggcatacatgttaccga
+acagtcgcaaaccgagtgaaactggtttggacagcaggcttaccccttcaaggattaagt
+tgacaggaatgaacgcccagtgattgaacggctgcagcgtcaactctttcgtgaagccgc
+cgatgcctttcattttgatgctgtagaacagaatcaggataaatacgcccagtgccatag
+acagcgttacgttcacgtccgcagacggaaccacacgcagtgcaggcagacccagtacat
+gttcagcaatgtacggcagcaggtcgataggcagtaaatccatcaggttcatcaggaata
+cccagacgaagatcgtcagggccagcggagcaatcagcttgcttttgccatggtacatgt
+ctttcacgctaccattaacaaagccgatcaccagctcaatcgcggtctgaaacttacctg
+gcacaccgctggtcgcctttttggctacgctacggaataaaaccaggaacaacagaccca
+gcaccaccgagaagaacatggagtcaatattgattgtccagaaggtggctggggggtttt
+gtggatccaccagcgagaatgtacgcaggtccagctgaaggttattcaggtggtgtccta
+tgtaatcctgcggcgtcatattttctgaagccatgatgccttttaccctttgttgttaat
+tacagccggtgccagtatctgaaccaccagcaccaaaacccacgtaacgatcagcggcaa
+gaataccgcctttaaaaccgccaacgccaccaccagtaacaccaacatcgccagaacttt
+gaaagcttcgccaaatgcgaatgtccaggccacccggcctttcgctggtgtatgcgcctg
+gtgacgccaggcaaatatcataaacaaaacgttaggcagaaagactgccaggcccccgct
+tattgcagagacgccccagaaggggtctttgaggctgaacagcaatccacttgctatcac
+caccagtaactgaacgagcagaagcttccgagcaacgtttcgactcacgagcgacacaga
+catcacgtttttcactcctgctcccttcgaggtatgccgcgtgtcgtataaaactttctt
+taaggcttagagtcaagcatcaaaaagcggtcaaattatacggtgcgcccccgtgatttc
+aaacaataagtagccaaaaggtgaataaatgtttaaatatttttccagtgcatacaattg
+cgacttttctgctaaccctgttcgatcatgaaaaactgtaaataacgcgtaaacactggt
+gataaagcgtgcttcagatcacatattgcgcatgttcgcgcacagcatatttatttactt
+ggcaaatgatgcctttgcaagtttatgatatttcagtctaaaaacagatactgttttaat
+aaatgacatttacacaacaaaaaccacccattgacatttttaataatgttttaacagcca
+atgatggttcttagcgccgatttttagcagactgatattttcactaatgacttattttct
+gcttaccaaaaaaagccacgttatcttgttgatgcaaaagagtgaacgtggcgttaaatg
+taaccagttatatcagtagaaaacctggttgttgttaacagtctaaccggtcaatttttt
+atgatttttttgataaaaattaaattttatttgctttaatcaccaccagatgacgttcgc
+catccagggctggaacctgaagtttaaccactgattcgacctgatattcttcgggcaaca
+aagcgatttcatcttccggcatttgccctttcagcgcgtagaaacggccttgctcaccag
+gaagatggtggcaccagctcaccatatcgttcagagaggcaaaagcgcggctaattacgc
+catcaaatggcggctctgaaggaaactcttctaccctgctctgtactggttcaatattct
+ccagtttaagctcatgttgcacctgacgaaggaaacgcacgcgtttaccaaggctatcca
+acagagtgaaatgggcttcaggacgcacgatagagagtggaatgcctggcagtcctggtc
+cggtgccgacatcgataaaccgttcaccttgcagatacggtgccaccacaatgctatcga
+gaatatggcgtaccagcatctcattaggatcgcggaccgaagtcaggttgtacgctttgt
+tccatttatgcagcatattcacgtaggcaataagctggtttttctggtgatcggtaagcg
+aaatacctgcgtctttcagcagtaaggagagtttgttgagcacggtgattacctgttctt
+gatgcgttgcctggtaagcgggtgcttaccaggcatttttaatgcgttatgcgctacgac
+gcagcataccctgttttttcagccacaccagcagaatggagatggccgcaggcgtgacgc
+cagaaatacgcgaagcttggccgatagaggctggtttgtgatcgttaagtttggcgatca
+cttcgttagaaagaccggatacctggcggtaatccagtgtcgcgggtagcagggtgttct
+cgttacgcagctgcttttcgatctcatcttgctggcgcgcgatataaccttcgtatttaa
+cctgaatctcaacctgttccgccgcctgttcgtctgtcaacgcaggggcaaacggcgtca
+gcgtggttaatttttcataagtcatttccggacgacgcagcagatcttcaccactggctt
+cacgggaaagcggcgcagtcaggtgagcattcacttcggctgcagcttccgccgacgggg
+ttacccaggtcgatttcagacgctgacgctcacgctcgatattctcaagtttctcgttaa
+agcgcgcccaacgttcgtcatccaccaggcccagttcacgaccgatttcagtcaaacgca
+gatccgcattatcttcgcgtagcatcagacgatattctgcgcgcgaagtaaacatacgat
+acggttctttggttcctaaagtgcacaggtcatcaactagtacgccgagatacgcctgag
+aacgtgccggagcccaaccttctttgtcagcagacagacgggcagcgttaagaccggcca
+gcaaaccttgcgcagcggcttcttcgtaaccggtagtgccgttaatctgaccagcaaaga
+acagcccctggataaacttgctctccagcgtcggtttcaggtcgcgaggatcgaagaagt
+catactcaatggcataacccggacgcacgatcttcgcgttttccatcccctgcatagagc
+ggacgatttgcatctgcacatcgaacggcaggctggtggagataccgttcggataaattt
+cattagaggtcagtccttccggttcaaggaagatctgatgctgatttctgtcggcgaagc
+gcatgactttgtcttcgatcgacgggcagtagcgtgggccgacaccttcgatcacccctg
+cgtacattgggctacgatcgaggttactgcggatcacatcatgggttttctcgttggtat
+gagtgatataacacggcacctgctggggatgctgggacgcattgcccataaacgagaata
+ccggcattgggttatcgccatgctgttgcgccagtacgctaaagtcgatggttcgagcat
+caatacgcggtggtgtcccggttttcagacgaccaacgcgcagcggcagttcacgcaaac
+ggcgagaaagcggaatggacggcggatcaccagcacggccaccgctgtaattatccagac
+cgatatgaattttaccgtcgaggaacgtcccaacggtgagcacgacggctttggcacgga
+acttcagtcccatttgggtaacagcaccgaccacgcgatcgttttcgacaataagatctt
+caaccgcctgctggaagatcatcaggttcggttggttctccagcgccgtacgtaccgcct
+gacggtagagcacacgatccgcctgagctcgggtagcgcgaaccgccggtcctttgcttg
+cgtttagtatcctaaactggatacccgcctgatcgatcgctttcgccatcagaccgccga
+gtgcatccacttcttttaccagatgtcccttcccaataccgccgatcgccgggttgcagc
+tcatctgccccagagtgtcgatattgtgtgtcaaaagcagagtctgttgacccatacgcg
+ccgcggccatcgcggcctcggtgcctgcatgacccccgccaatgatgatgacgtcaaaag
+gatccggataaaacatggtgattgcctcgcataacgcggtatgaaaatggattgaagccc
+gggccgtggattctactcaactttgtcggcttgagaaagacctgggatcctgggtattaa
+aaagaagatctatttatttagagatctgttctattgtgatctcttattaggatcgcactg
+ccctgtggataacaaggatccggcttttaagatcaacaacctggaaaggatcattaactg
+tgaatgatcggtgatcctggaccgtataagctgggatcagaatgaggggttatacacaac
+tcaaaaactgaacaacagttgttctttggataactaccggttgatccaagcttcctgaca
+gagttatccacagtagatcgcacgatctgtatacttatttgagtaaattaacccacgatc
+ccagccattcttctgccggatcttccggaatgtcgtgatcaagaatgttgatcttcagtg
+tttcgcctgtctgttttgcaccggaatttttgagttctgcctcgagtttatcgatagccc
+cacaaaaggtgtcatattcacgactgccaataccgattgcgccaaagcggactgcagaaa
+gatcgggcttctgttcctgcaatgcttcatagaaaggagaaaggttgtccggaatatctc
+cggcaccgtgggtggagctgataaccagccagatccctgaggcaggtaaatcttctaaca
+gcggaccgtgcagcgtttcggtggtaaaacccgcctcttccagcttttcagccaggtgtt
+ctgctacatattcggcaccgccgagggtgctgccgctgataagagtgatatctgccataa
+accgccacctttattaagagtggcgtattgtacgctgtgaacgcgttgggatctacctgt
+ggaaaagtatgggattaaaaaagccgatcagggcttgatggtacgcatgatcgggttttg
+caggacgatcaatgtctcggtggactgaatttcatcaattgtttggatcttgttgataag
+tacatgctggagagcgtcgatcgaacggcacatcacttttataaagatgctgtagtggcc
+ggttgtgtaataggcttcagtgacttcatcaaggctttccagctttgccagcgcggaagg
+gtagtctttggcgctctttaatataatgccgataaagcagcctacgtcataaccgagctg
+cttcgggctgacatcaatacgcgccccggtaatgatccccgcctgcttcattttctctac
+tcgaacgtgaatcgtccccggactgacgccaaattgtttcgccagttcggcgtaagcggt
+gcgcgcattgcccattaatgcttccaggatgccacggtccagattgtcgatcagataatt
+ttccataggattttcttatgcggattgatgattcattctattttagccttcttttttaat
+gaatcaaaagtgagttaggctttttattgaatgattattgcatgtgtgtcggtttttgtt
+gcttaatcataagcaacaggacgcaggagtataaaaaatgaaaaccgcttacattgccaa
+acaacgtcaaattagcttcgtgaaatctcacttttctcgtcaactggaagaacgtctggg
+gctgatcgaagtccaggcgccgattcttagccgtgtgggggatggcacgcaggataactt
+gtcgggctgtgaaaaagcggtgcaggtaaaagtgaaagctctgcctgatgcccagttcga
+agtggttcattcactggcgaagtggaaacgtcagaccttagggcaacacgacttcagcgc
+gggcgaagggctgtacacgcacatgaaagcccttcgccccgatgaagaccgtctttctcc
+gttgcactcggtctatgttgaccagtgggactgggaacgcgtaatgggcgacggtgagcg
+tcaattctcgactctgaaaagcacggtagaggcgatctgggcgggaattaaagcaaccga
+agctgcggttagcgaagagtttggcctggcaccgttcctgccggatcagatccacttcgt
+acacagccaggagttactgtctcgttatccggatcttgatgccaaagggcgtgagcgggc
+gatagcgaaagatcttggcgcggtattccttgtcgggattggcggcaagctgagcgatgg
+tcatcgccacgacgtgcgcgcaccggattatgatgactggagcaccccgtcagagctggg
+ccatgcgggtctgaacggcgatattctggtgtggaacccggtactggaagatgcgtttga
+gctttcctccatggggatccgtgtagatgccgacacgctgaagcatcaactggcgctgac
+cggtgacgaagatcgcctggagctggagtggcatcaggcgctgctgcgcggtgaaatgcc
+gcagaccatcggcggcggtatcggccagtctcgtttgactatgctgctgctgcaactgcc
+gcatatcggccaggttcagtgtggagtatggccagctgctgttcgcgagagcgtcccttc
+tctgctgtaataatttatcgccgccagcgtctgagcaggcggcttcgcatcccggtatca
+aagcgccagatatgatcgaaaatgcgcatgatgccgggtttgccgtgtgccgacatcgcc
+acggcatgaaagcgatgctgatgtacccgctgcagctctttcactttactcgtcacgtcg
+tcaggcaaccgctgagcgataaaatcagaaatcaccaccgcatcggcatcaaaccattcc
+ctgctttgcaagcgttccataatggcgcgaaaacaactggcaagatcggtgccgccacga
+aactgctggcttaaaaaacggattgcttgttcgatgccttgtgggcctgaaagctcataa
+cggacgatctcggtggaaaatagcataatatagcagcgccggttttctgcgagagcaatg
+cgcatcaaggccaggcagaacgctttcgcacactgttcattaaagccgcccattgagccg
+gaagtatccacacagacaataaacggcccgcgcggctgttcatcgtaatctttatgtacc
+accggacgttcgatcactttttcacgccacgactcaccgtgcaggcgataggtgagcaac
+tgtttttccaccagccgacggtaaaactcatactccagttccgttatccctagtgtcgcc
+agttctggcggcaggagacgtaaaatatcatcgctttgttgcagaccatcaacctgctca
+ggaaccgtcgccggttcgcgcaccatggtgcggaaggtttccatctgcgcatcgttgcgc
+ggtattgatttggcttcccgagaacgccccagctgctctgccaggcgtttcagttccggc
+tgttcgttaagaaattcaccgtatttcacaatcaactgatagtcgccacgtttaagctga
+ccggcgctcatatcccacagacgaccagctgcagtattgttatctgcgagaatcggttca
+agttgtccgctcagcgtcatgcgttcctgaacttcactcaacagttgttcgcgttcttct
+tctaatagctgttgatttaacgtcgttgcttgcacgatcagacttaaacgccaacgctgg
+agaaaaagcgtgtgtaacgctgaagtgatcgtgctgttagcatcaaccaactgtcgggct
+tgttctgcccatggagaattcagacgatgcagtaagtccaggatctgtggtagctgcaca
+ataaactgtggcgtggagaggagctggctttgctgatagcacatcacctcttcggtgagt
+tccggcgggactcgggcatctttcagccgactgcgcagcgcttcacgccagcggggaaca
+tcatcagtgattgccgccttcaggcgtgggaatttttcaaagaagaccgccagctgcggt
+gaggccagcagtgcgatgatcatctcttcgatcaatccctcttcgctgacggccagcatc
+acattaagcgtatccagcgttagcattgttgtgcctggcgaatctgtgcaccgacatcct
+gtaggctggcttcaatgcgacctaaccagtcgccagggataaacagacatttttgctgtt
+cgctgaataaagcgtgttgcttgcgccagtcgctttcaagctcttccagttgttgtttta
+tttcaccaggcagaccttcagccgatgaaccgggaagtgccagcgtactgccttgtaaac
+ttacatcgcgaacgacaagatgttgggcgctatcaacttccagattcagtttctgggcaa
+agccgataccgttcagtttaccgcgaatttcaccacctttgctcagccactgttccagcg
+cgctacgctcaaaggagatatgaaccacttccatatcatgcagttttaacggtttttgca
+gcagtagagtcagagtggaagcagtaacgttaacaggaagttgatactgctgacgacggc
+tgaaaatgccgcccagacgaattaccgttaaggctgttttatcgctttgttgctgctgga
+gttgcaggtgacgttgcacaatcgcgccaaggcgagtcaacatcccttgctgttgccagg
+cgtgaccggtcatcaatacatcaatttgttgttgtatcaaattcaggctttgcgcgtcat
+accacaggcaatctttcagcaaaatgagatctaccggggcaacagcactgcgaccgctaa
+aaaaggcgctggcctgcaataatcggatcgcttttttccagcgacgatccgagacataag
+gcgcatccggtaatttatccagttgctggcgcagcataaaaatcagctcaaatacatgat
+cgggcagcgtaatttcaccaatctctttctgccagcgttcatattcttcatctgtgacct
+gcaaggcatcaggaaccggattgtcgttttcatcctgttgactggtcagcatggagcgga
+aattcgctttatcctgcactttatctaaccacagacgaatcagcatgcggtcatataacg
+cttccagactgctgtctgcttccggcagctcgttggaggccgccaccagcagacgcatcg
+ggattttttctacgtgtgcaccgttgcggaactggcgctcgttaatggcggtgagcaagg
+tattaagaattgccgggcccgctttccagatctcatccagaaagacaatttctgcttccg
+gcaggtaaccgctggttaaacgttcatagcgcccttcatcttttagcgcctgaatagaaa
+ggggaccaaaaacttcttccggcgtggagaagcgggtcatcagatattcaaacgcgcggg
+cattctgaaaggcgaattttaagcgccgggcgatcaaacttttggcaatacctggcgggc
+caaggaggaacacactttcaccacttaatgccgctaataaacacaagcggatggcgtggc
+tacgttcataaagccccttttccaacgaactgctcaggcgggaaattctttccgctaata
+aatgagggtgagccataatgaagtggcgtcctttcgtcaaaagttctgcgtaaattgcga
+gtatagacgtttcttgctggtggctaaaatagtctcaaagggggggtatttttctttgag
+ccaggttaatgtggccgcatttaggagtacgattttgccgttaatcgtgcatactgtgcg
+cttttttgtgggccaagggactaagcacacatttcatatttcaacgaaagactagtctat
+gagcactgataataagcaatcattgcccgcgattaccctcgcggcgattggagttgtcta
+cggcgatattggtaccagcccgttatatacacttcgtgaatgtttgtccggccagtttgg
+ttttggcgttgaacgcgatgccgtgtttggctttttatcgctgatcttctggctgctaat
+ctttgtggtttccattaaatatctcaccttcgtgatgcgggcagataacgccggtgaggg
+ggggatcctgacgttgatgtcgcttgccgggcgtaatacgtcggcgcgaaccacatcaat
+gctggtgattatggggctaatcggcggcagctttttctatggtgaagtcgtcataacacc
+cgctatttcggtgatgtcagccattgaaggtctggaaatcgtcgccccgcagctggatac
+ctggatagttcccctctcaattatcgttctcactttattatttatgattcaaaaacatgg
+cacggctatggtcggtaagctgtttgcgccgatcatgctgacctggtttttgattctggc
+aggactggggttacgtagcattattgctaacccggaagtgctgcatgcgctgaatccaat
+gtgggcggtgcatttcttccttgaatacaaaacggtttcttttattgcattaggggcagt
+ggtgttgtcgattacgggggtcgaggcgctgtatgctgatatggggcactttggtaagtt
+ccctattcgcctggcgtggttcaccgtcgtattaccttccttgacccttaattacttcgg
+tcagggagcgctgttgttaaagaacccggaagcgattaagaacccgttcttcctgttggc
+accggactgggcgctgatcccgctgctgatcatcgccgcactggcgacggtaattgcctc
+gcaggcggttatctctggcgtcttctcattgacgcgtcaggcggtacgtctgggatattt
+gtcgccgatgcgcattattcacacctccgaaatggagtcagggcaaatctatattccgtt
+tgtgaactggatgctctatgtcgcggtcgtgattgtgattgtcagctttgagcactccag
+caacctggcggcggcgtacgggattgcggtgaccggaaccatggtgctgacgtctattct
+ctcgactaccgtggcacgtcagaactggcactggaataagtattttgttgcgctgatcct
+gattgctttcctttgtgtcgatattccattgttcaccgctaacctcgataaactgctctc
+cggcggctggttgccattgagcctcggtactgtgatgtttatcgtgatgaccacctggaa
+gagcgagcgtttccgcttgctgcggcggatgcatgaacatggtaactctctggaagcgat
+gattgcttcgctggagaaatcaccgcctgttcgcgtgcccgggaccgcggtgtatatgtc
+gcgtgcaatcaacgtcattccctttgcgctgatgcataaccttaaacataacaaggtatt
+gcatgagcgggtgattctgttaactctgcgcaccgaagacgctccatatgtccataacgt
+ccgtcgggtacagattgaacaactgtcgcccactttctggcgcgtggtggcaagttatgg
+ttggcgagaaacgccaaacgtagaagaagttttccaccgctgcggtctggaaggattaag
+ttgccggatgatggaaacctccttctttatgtcgcatgagtcgttgatcctcggcaaacg
+cccgtggtatttgcgtctgcgcggcaagctgtacttgctgctgcaacgtaatgcgctgcg
+tgcaccagatcaatttgaaatcccgccaaacagggttatcgaactgggtactcaggtcga
+aatctaacgccagacgcctcctttcttcataagggggcgtttttgttttcatggttaatc
+accatgtaaaacgtttcgaggttgatcacatttccgtaacgtcacgatggttttcccaac
+tcagtcaggattaaactgtgggtcagcgaaacgtttcgctgatggagaaaaaaatgaaaa
+aaggcaccgttcttaattctgatatttcatcggtgatctcccgtctgggacataccgata
+cgctggtggtgtgtgatgctggtttacccatccccaaaagtacaacgcgtatcgatatgg
+cattaacccagggtgtaccttcttttatgcaggtgctgggcgtcgtcacaaatgaaatgc
+aggtcgaggcggccattatcgcggaagagatcaaacaccataatccgcaactccacgaaa
+cgttgctcactcaccttgagcagctgcaaaaacaccagggaaataccattgaaattcgtt
+acaccacgcatgaacaattcaaacaacaaaccgcagaaagtcaggcggtaattcgcagcg
+gagaatgttctccgtatgcgaatatcattctctgtgctggcgtgacgttctgaggccgtc
+atggaagcattacttcagcttaaaggcatcgataaagccttcccgggcgtaaaagccctc
+tcgggcgcagcgttaaatgtctatccgggccgcgtgatggcgctggtgggcgaaaacggc
+gcgggtaaatccaccatgatgaaagtgcttactggcatctatactcgcgatgccggtacg
+cttttatggctggggaaagaaacgacatttaccgggccaaaatcttcccaggaagccggg
+attgggattatccatcaggaactgaacctgatcccgcagttgaccattgccgaaaacatt
+ttcctcggtcgtgagtttgttaatcgctttggcaaaattgactggaaaaccatgtatgcc
+gaagcggataaattgctggctaaacttaacctgcgctttaaaagcgacaagctggtgggc
+gatctttccatcggtgaccagcaaatggttgaaatcgccaaagtgctgagctttgagtcg
+aaagtcatcattatggatgaaccgaccgatgcgctgaccgataccgaaaccgaatccctg
+ttccgcgtcatccgcgagctgaaatcgcaaggccgcggtattgtctatatctcccaccgc
+atgaaagaaatcttcgagatttgcgatgacgttaccgtttttcgtgatgggcaatttatt
+gctgagcgcgaagtggcatcactgaccgaagattcgctgattgagatgatggtgggtcgc
+aagctggaagatcaatatccgcacctggacaaagcgccgggagatatccgcctgaaagtc
+gataatctctgcggacctggcgttaacgatgtctcttttactttacgcaaaggcgaaatt
+cttggcgtctctggtttgatgggcgcaggtcgtaccgaactgatgaaagtgctctacggc
+gcactaccgcgcaccagcggttacgtcaccctggatgggcatgaagtcgttacccgttca
+ccgcaggatggcctggcaaacggcattgtgtatatctccgaagaccgtaaacgtgacggt
+ttagtgttgggcatgtcagtaaaagagaacatgtcgctgacagcgctgcgctacttcagc
+cgcgctggcggcagtttgaagcatgccgatgaacagcaggctgtgagtgatttcattcgt
+ctgtttaatgtgaaaactccgtcgatggaacaggcaattggtctgctttccggtggcaat
+cagcaaaaagtggcgattgcccgcggtctgatgacacgccccaaagtgttgatccttgat
+gaacctacccgtggcgtagatgtcggcgcgaaaaaagagatctatcaactgattaaccag
+ttcaaagccgatggcttgagcatcattctggtgtcatcggagatgccagaagtattaggc
+atgagcgatcgcatcatcgtcatgcatgaagggcatctcagcggggaatttactcgtgag
+caggccacccaggaagtgttaatggctgccgctgtgggcaagcttaatcgcgtgaatcag
+gagtaaaaaaatgacaacccagactgtctctggtcgccgttatttcacgaaagcgtggct
+gatggagcagaaatcgcttatcgctctgctggtgctgatcgcgattgtctcgacgttaag
+cccgaactttttcaccatcaataacttattcaatattctccagcaaacctcagtgaacgc
+cattatggcggtcgggatgacgctggtgatcctgacgtcgggcatcgacttatcggtagg
+ttctctgttggcgctgaccggcgcagttgctgcatctatcgtcggcattgaagtcaatgc
+gctggtggctgtcgctgctgctctcgcgttaggtgccgcaattggtgcggtaaccggggt
+gattgtagcgaaaggtcgcgtccaggcgtttatcgctacgctggttatgatgcttttact
+gcgcggcgtgaccatggtttataccaacggtagcccagtgaataccggctttactgagaa
+cgccgatctgtttggctggtttggtattggtcgtccgctgggcgtaccgacgccagtctg
+gatcatggggattgtcttcctcgcggcctggtacatgctgcatcacacgcgtctggggcg
+ttacatctacgcgctgggcggcaacgaagcggcaacgcgtctttctggtatcaacgtcaa
+taaaatcaaaatcatcgtctattctctttgtggtctgctggcatcgctggccgggatcat
+tgaagtggcgcgtctctcctccgcacaacccacggcggggactggctatgagctggatgc
+tattgctgcggtggttctgggcggtacgagtctggcgggcggaaaaggtcgcattgttgg
+gacgttgatcggcgcattaattcttggcttccttaataatggattgaatttgttaggtgt
+ttcctcctattaccagatgatcgtcaaagcggtggtgattttgctggcggtgctggtaga
+caacaaaaagcagtaataacgactacaggacatcttgaatatgaacatgaaaaaactggc
+taccctggtttccgctgttgcgctaagcgccaccgtcagtgcgaatgcgatggcaaaaga
+caccatcgcgctggtggtctccacgcttaacaacccgttctttgtatcgctgaaagatgg
+cgcgcagaaagaggcggataaacttggctataacctggtggtgctggactcccagaacaa
+cccggcgaaagagctggcgaacgtgcaggacttaaccgttcgcggcacaaaaattctgct
+gattaacccgaccgactccgacgcagtgggtaatgctgtgaagatggctaaccaggcgaa
+catcccggttatcactcttgaccgccaggcaacgaaaggtgaagtggtgagccacattgc
+ttctgataacgtactgggcggcaaaatcgctggtgattacatcgcgaagaaagcgggtga
+aggtgccaaagttatcgagctgcaaggcattgctggtacatccgcagcccgtgaacgtgg
+cgaaggcttccagcaggccgttgctgctcacaagtttaatgttcttgccagccagccagc
+agattttgatcgcattaaaggtttgaacgtaatgcagaacctgttgaccgctcatccgga
+tgttcaggctgtattcgcgcagaatgatgaaatggcgctgggcgcgctgcgcgcactgca
+aactgccggtaaatcggatgtgatggtcgtcggatttgacggtacaccggatggcgaaaa
+agcggtgaatgatggcaaactagcagcgactatcgctcagctacccgatcagattggcgc
+gaaaggcgtcgaaaccgcagataaagtgctgaaaggcgagaaagttcaggctaagtatcc
+ggttgatctgaaactggttgttaagcagtagttttaatcaggttgtatgacctgatggtg
+acataaatacgtcatcgacagatgaacgtgtaatataaagaaaagcagggcacgcgccac
+cctaacacggtggcgcattttatggacatcccgaatatgcaaaacgcaggcagcctcgtt
+gttcttggcagcattaatgctgaccacattcttaatcttcaatcttttcctactccaggc
+gaaaccgtaaccggtaaccactatcaggttgcatttggcggcaaaggcgcgaatcaggct
+gtggctgctgggcgtagcggtgcgaatatcgcgtttattgcctgtacgggtgatgacagc
+attggtgagagcgttcgccagcagctcgccactgataacattgatattactccggtcagc
+gtgatcaaaggcgaatcaacaggtgtggcgctgatttttgttaatggcgaaggtgagaat
+gtcatcggtattcatgccggcgctaatgctgccctttccccggcgctggtggaagcgcaa
+cgtgagcgtattgccaacgcgtcagcattattaatgcagctggaatcaccactcgaaagt
+gtgatggcagcggcgaaaatcgcccatcaaaataagactatcgttgcgcttaacccggct
+ccggctcgcgaacttcctgacgaactgctggcgctggtggacattattacgccaaacgaa
+acggaagcagaaaagctcaccggtattcgtgttgaaaatgatgaagatgcagcgaaggcg
+gcgcaggtactgcatgaaaaaggtatccgtactgtactgattactttaggaagtcgtggt
+gtatgggctagcgtgaatggtgaaggtcagcgcgttcctggattccgggtgcaggctgtc
+gataccattgctgccggagatacctttaacggtgcgttaatcacggcattgctggaagaa
+aaaccattgccagaggcgattcgttttgcccatgctgccgctgcgattgccgtaacacgt
+aaaggcgcacaaccttccgtaccgtggcgtgaagagatcgacgcatttttagacaggcag
+aggtgacgcttggctacaatgaaagatgttgcccgcctggcgggcgtttctacctcaaca
+gtttctcacgttatcaataaagatcgcttcgtcagtgaagcgattaccgccaaagttgaa
+gcggcgattaaagaactcaattacgcgccatcagctctggcgcgtagcctcaaactcaat
+caaacacataccattggcatgttgatcactgccagtaccaatcctttctattcagaactg
+gtgcgtggcgttgaacgcagctgcttcgaacgcggttatagtctcgtcctttgcaatacc
+gaaggcgatgaacagcggatgaatcgcaatctggaaacgctgatgcaaaaacgcgttgat
+ggcttgctgttactgtgcaccgaaacgcatcaaccttcgcgtgaaatcatgcaacgttat
+ccgacagtgcctactgtgatgatggactgggctccgttcgatggcgacagcgatcttatt
+caggataactcgttgctgggcggagacttagcaacgcaatatctgatcgataaaggtcat
+acccgtatcgcctgtattaccggcccgctggataaaactccggcgcgcctgcggttggaa
+ggttatcgggcggcgatgaaacgtgcgggtctcaacattcctgatggctatgaagtcact
+ggtgattttgaatttaacggcgggtttgacgctatgcgccaactgctatcacatccgctg
+cgtcctcaggccgtctttaccggaaatgacgctatggctgttggcgtttaccaggcgtta
+tatcaggcagagttacaggttccgcaggatatcgcggtgattggctatgacgatatcgaa
+ctggcaagctttatgacgccaccattaaccactatccaccaaccgaaagatgaactgggg
+gagctggcgattgatgtactcatccatcggataacccagccgacccttcagcaacaacga
+ttacaacttactccgattctgatggaacgcggttcggcttagatttacgctgtcttttga
+tcaaattattaccatcggttgttttcagaagcatgaacattgctgctgaagcaacagtaa
+taatgcccattgtgataaacgtatagtggaattgttcgacagtcgttgtgccttccattc
+cttcataaacgcgaaggacggccgcacttacagcaacgcctaaactaatcgacagttgct
+gcgtgaccgccagaacactgttaccgctgctggcattgtcatcggtcagatcggcaagtg
+tgatggtattcatcgcggtaaactgcgtcgacatagccatccctaatataaacaacggca
+agatcagcatccatatagccattgctggtgattgcaaagagaactgagcgatcattagcc
+caataatcaccgtgatccccactaacgtatggcgatagcccagacgacgtaagacttggg
+taaccatcgattttgcaataatggaacctaacgctgtcggtgccatcatacagccagcaa
+taaacgcctgataaccaaatcctacctgtaacatcaatggcataaggaacggtacacagc
+cggtccccagacgggttgcaatattgcctacgataccgatcgagaaagtgcgggttttaa
+ataaatctaatgaaattaatgggtttggcgtgcgtcgtgcatggagaatatagagaagca
+gtaacccgatgctggtgacaattaccgtcaaggcaatccagctggcgacaatcttttccc
+cgaatagctctattccgcttgagaagagaacaaggctgaggccaaacagcaaaaagccag
+tgatatcgaatctgcgtcgtgcggtggtgaaattgggcatatgtttgcgcgcgtaaagaa
+ggcccgcaatacctatggggatattgattaaaaatatccagtgccaggttgcccaggtga
+ccagcacgccgccaagaacggggcctaaaattggccccaccagacccggcatggcgacaa
+aattcaatactggaagaagttcattacgaggataagcgcgcagtaaggccagccgagcaa
+caggcatcatcattgcgccgcctatcccctgaataacccggaagacaaccagctgtggta
+gcgaattagaaagtgcgcaggccagagaacccaatgtgaacagactcacggcaagggtaa
+aaatgcgacgcgtaccgaagcgatcggctagccatccgcttaccggaataagcatcgcca
+ccgtcagcgtataactgatgatggctgattgcatcgcgagaggagaacgattaaggctat
+gagcgattgcgggtaaggcggtattaagaatagtggcatcaagtgcctgcatgaagaagg
+ccatcgccgcgatccacggcaaacccgccatactgcgcttctttttatcgctcattcaat
+gtcctgttatcgggttatcacttatcaggtgagcgtagcagcgcctgacaagctttaaat
+gccgcgtcgccatcgctttggataatcgcatcgacaatcgcctgatgcagatccagcttt
+atcactgtgtcgctggtaattgacgtgaagtaagtgtgataaaccgaatggaatagcgag
+gcgaatgaggtcaaaaacggattggcgctcatttcatagatatgctcatgccaggccata
+tcgacttcgatccagcgttcacggcgaaagttctcttttaatgccgccatttcggccatt
+aacgtattgagatgcgctttctgttccgcggtgccaaccgttgctgccagtaggcaggct
+tgcggctccagacagatacgcataaccagaaagtgatcgatgacctgatgaaagttctct
+tctgtcatccaccaggtaagcaattcctgatcaagaaaattccagttcgattgtggcatg
+acccgagtaccaattcgcggtcgcggtaaaaccatcccttttgccgttaacgttttgacc
+gcttcgcgtaccgctgtacgactcactccaaattgctcgcccagctcaatctcaccgggc
+aaaatggtgccgggttcatattcaccttttaagatccgttgcgccagcttctcagccaga
+acatacgaaaggtttttctgtgcagctaactgttgtgcgcttaaaggcattacttatctt
+cctttttctttttattcctccttagtatgccaccaggaagtgtgattacggttgcaaaaa
+cggcaaattgcttgttttatggcacattaacggggcttttgctgaaaaaatgcgcggtca
+gaaaattattttaaatttcctcttgtcaggccggaataactccctataatgcgccaccac
+tgacacggaacaacggcaaacacgccgccgggtcagcggggttctcctgagaactccggc
+agagaaagcaaaaataaatgcttgactctgtagcgggaaagcgtattatgcacaccccgc
+gccgctgagaaaaagcaaagcggcactgctctttaacaatttatcagacaatctgtgtgg
+gcactcgaagatacggattcttaacgtcgcaagacgaaaaatgaataccaagtctcaaga
+gtgaacacgtaattcattacgaagtttaattctttgagcatcaaacttttaaattgaaga
+gtttgatcatggctcagattgaacgctggcggcaggcctaacacatgcaagtcgaacggt
+aacaggaaacagcttgctgtttcgctgacgagtggcggacgggtgagtaatgtctgggaa
+actgcctgatggagggggataactactggaaacggtagctaataccgcataacgtcgcaa
+gaccaaagagggggaccttcgggcctcttgccatcagatgtgcccagatgggattagcta
+gtaggtggggtaacggctcacctaggcgacgatccctagctggtctgagaggatgaccag
+ccacactggaactgagacacggtccagactcctacgggaggcagcagtggggaatattgc
+acaatgggcgcaagcctgatgcagccatgccgcgtgtatgaagaaggccttcgggttgta
+aagtactttcagcggggaggaagggagtaaagttaatacctttgctcattgacgttaccc
+gcagaagaagcaccggctaactccgtgccagcagccgcggtaatacggagggtgcaagcg
+ttaatcggaattactgggcgtaaagcgcacgcaggcggtttgttaagtcagatgtgaaat
+ccccgggctcaacctgggaactgcatctgatactggcaagcttgagtctcgtagaggggg
+gtagaattccaggtgtagcggtgaaatgcgtagagatctggaggaataccggtggcgaag
+gcggccccctggacgaagactgacgctcaggtgcgaaagcgtggggagcaaacaggatta
+gataccctggtagtccacgccgtaaacgatgtcgacttggaggttgtgcccttgaggcgt
+ggcttccggagctaacgcgttaagtcgaccgcctggggagtacggccgcaaggttaaaac
+tcaaatgaattgacgggggcccgcacaagcggtggagcatgtggtttaattcgatgcaac
+gcgaagaaccttacctggtcttgacatccacggaagttttcagagatgagaatgtgcctt
+cgggaaccgtgagacaggtgctgcatggctgtcgtcagctcgtgttgtgaaatgttgggt
+taagtcccgcaacgagcgcaacccttatcctttgttgccagcggtccggccgggaactca
+aaggagactgccagtgataaactggaggaaggtggggatgacgtcaagtcatcatggccc
+ttacgaccagggctacacacgtgctacaatggcgcatacaaagagaagcgacctcgcgag
+agcaagcggacctcataaagtgcgtcgtagtccggattggagtctgcaactcgactccat
+gaagtcggaatcgctagtaatcgtggatcagaatgccacggtgaatacgttcccgggcct
+tgtacacaccgcccgtcacaccatgggagtgggttgcaaaagaagtaggtagcttaacct
+tcgggagggcgcttaccactttgtgattcatgactggggtgaagtcgtaacaaggtaacc
+gtaggggaacctgcggttggatcacctccttaccttaaagaagcgttctttgcagtgctc
+acacagattgtctgataggaagtgaaaagcaaggcgtcttgcgaagcagactgatacgtc
+cccttcgtctagaggcccaggacaccgccctttcacggcggtaacaggggttcgaatccc
+ctaggggacgccacttgctggtttgtgagtgaaagtcacctgccttaatatctcaaaact
+catcttcgggtgatgtttgagatatttgctctttaaaaatctggatcaagctgaaaattg
+aaacactgaacaacgaaagttgttcgtgagtctctcaaattttcgcaacacgatgatgaa
+tcgaaagaaacatcttcgggttgtgaggttaagcgactaagcgtacacggtggatgccct
+ggcagtcagaggcgatgaaggacgtgctaatctgcgataagcgtcggtaaggtgatatga
+accgttataaccggcgatttccgaatggggaaacccagtgtgtttcgacacactatcatt
+aactgaatccataggttaatgaggcgaaccgggggaactgaaacatctaagtaccccgag
+gaaaagaaatcaaccgagattcccccagtagcggcgagcgaacggggagcagcccagagc
+ctgaatcagtatgtgtgttagtggaagcgtctggaaaggcgcgcgatacagggtgacagc
+cccgtacacaaaaatgcacatattgtgagctcgatgagtagggcgggacacgtggtatcc
+tgtctgaatatggggggaccatcctccaaggctaaatactcctgactgaccgatagtgaa
+ccagtaccgtgagggaaaggcgaaaagaaccccggcgaggggagtgaaaaagaacctgaa
+accgtgtacgtacaagcagtgggagcacgcttaggcgtgtgactgcgtaccttttgtata
+atgggtcagcgacttatattctgtagcaaggttaaccgaataggggagccgaagggaaac
+cgagtcttaactgggcgttaagttgcagggtatagacccgaaacccggtgatctagccat
+gggcaggttgaaggttgggtaacactaactggaggaccgaaccgactaatgttgaaaaat
+tagcggatgacttgtggctgggggtgaaaggccaatcaaaccgggagatagctggttctc
+cccgaaagctatttaggtagcgcctcgtgaattcatctccgggggtagagcactgtttcg
+gcaagggggtcatcccgacttaccaacccgatgcaaactgcgaataccggagaatgttat
+cacgggagacacacggcgggtgctaacgtccgtcgtgaagagggaaacaacccagaccgc
+cagctaaggtcccaaagtcatggttaagtgggaaacgatgtgggaaggcccagacagcca
+ggatgttggcttagaagcagccatcatttaaagaaagcgtaatagctcactggtcgagtc
+ggcctgcgcggaagatgtaacggggctaaaccatgcaccgaagctgcggcagcgacgctt
+atgcgttgttgggtaggggagcgttctgtaagcctgcgaaggtgtgctgtgaggcatgct
+ggaggtatcagaagtgcgaatgctgacataagtaacgataaagcgggtgaaaagcccgct
+cgccggaagaccaagggttcctgtccaacgttaatcggggcagggtgagtcgacccctaa
+ggcgaggccgaaaggcgtagtcgatgggaaacaggttaatattcctgtacttggtgttac
+tgcgaaggggggacggagaaggctatgttggccgggcgacggttgtcccggtttaagcgt
+gtaggctggttttccaggcaaatccggaaaatcaaggctgaggcgtgatgacgaggcact
+acggtgctgaagcaacaaatgccctgcttccaggaaaagcctctaagcatcaggtaacat
+caaatcgtaccccaaaccgacacaggtggtcaggtagagaataccaaggcgcttgagaga
+actcgggtgaaggaactaggcaaaatggtgccgtaacttcgggagaaggcacgctgatat
+gtaggtgaagcgacttgctcgtggagctgaaatcagtcgaagataccagctggctgcaac
+tgtttattaaaaacacagcactgtgcaaacacgaaagtggacgtatacggtgtgacgcct
+gcccggtgccggaaggttaattgatggggtcagcgcaagcgaagctcttgatcgaagccc
+cggtaaacggcggccgtaactataacggtcctaaggtagcgaaattccttgtcgggtaag
+ttccgacctgcacgaatggcgtaatgatggccaggctgtctccacccgagactcagtgaa
+attgaactcgctgtgaagatgcagtgtacccgcggcaagacggaaagaccccgtgaacct
+ttactatagcttgacactgaacattgagccttgatgtgtaggataggtgggaggctttga
+agtgtggacgccagtctgcatggagccgaccttgaaataccaccctttaatgtttgatgt
+tctaacgtggacccgtgatccgggttgcggacagtgtctggtgggtagtttgactggggc
+ggtctcctcctaaagagtaacggaggagcacgaaggttggctaatcctggtcggacatca
+ggaggttagtgcaatggcataagccagcttgactgcgagcgtgacggcgcgagcaggtgc
+gaaagcaggtcatagtgatccggtggttctgaatggaagggccatcgctcaacggataaa
+aggtactccggggataacaggctgataccgcccaagagttcatatcgacggcggtgtttg
+gcacctcgatgtcggctcatcacatcctggagctgaagtaggtcccaagggtatggctgt
+tcgccatttaaagtggtacgcgagctgggtttagaacgtcgtgagacagttcggtcccta
+tctgccgtgggcgctggagaactgaggggggctgctcctagtacgagaggaccggagtgg
+acgcatcactggtgttcgggttgtcatgccaatggcactgcccggtagctaaatgcggaa
+gagataagtgctgaaagcatctaagcacgaaacttgccccgagatgagttctccctgact
+ccttgagagtcctgaaggaacgttgaagacgacgacgttgataggccgggtgtgtaagcg
+cagcgatgcgttgagctaaccggtactaatgaaccgtgaggcttaaccttacaacgccga
+agatgttttggcggatgagagaagattttcagcctgatacagattaaatcagaacgcaga
+agcggtctgatgaaacagaatttgcctggcggccgtagcgcggtggtcccacctgacccc
+atgccgaactcagaagtgaaacgccgtagcgccgatggtagtgtggggtctccccatgcg
+agagtagggaactgccaggcatcaaattaagcagtaagccggtcataaaaccggtggttg
+taaaagaattcggtggagcggtagttcagtcggttagaatacctgcctgtcacgcagggg
+gtcgcgggttcgagtcccgtccgttccgccaccctaattaggggcgtagttcaattggta
+gagcaccggtctccaaaaccgggtgttgggagttcgagtctctccgcccctgccagaaat
+catccttagcgaaagctaaggattttttttatctgaaataaccctctccgaagtaaatcc
+ttctaccggcatccttgccagccattcatattaatacacttcatccagcacgttaatttt
+caaaagatcgcgaatcaacgcatttttatcgctattttgcagccatatggcataaagcgg
+ccgtgaaagtgttgtgctatcgacaacggtatgcaggccgccttttttacgcgcccagct
+gacgggtagccaggtgcaaccattaagcatcgcaatctgttgctgtgccagttcagcaga
+actggttgtcagaatgggcacttcgtcagcaccgatcaaacctgcctcatgctgttgaaa
+atctggcccccactcaagtcgcagataattaagatctccctttagttttgaaggggcact
+ggtataaagcgctaaagtgaaatatcccagcaactgactactaaattcgtccattttggg
+cgcttcagtggtaataagaagatcaagctggcgttcatgcagctgttttaccagagactg
+ccgttgggcaattcgcgcttcgaactgtaagcctgtatgggcatcctgattttgatacaa
+gcgtcccagccactgattaagcatacattcccacaacgaggcgctggcaccgatagaaaa
+ctcgttatgtcgtgaggtatgcgccacctccttacgggcggcctgccaggtgctcatgag
+cgtttctgcataaggcagtagtttttcaccggcagcggttaaacggatattgtttctgtg
+gcgggtgaaaaggttcacacccagttgattttccagttgtctgattcgaaagctcactgc
+tgactgggtcagatagagcgattcagccgctcgaccaaagtgacgcgttcggctaacttc
+caggaaagtttttaacaattccgtatccacagtgctctccgcaaaattatttgtcgttat
+gatttaaatgttttgttttacactctgtcaagcgtaactaatactccgcgccataactag
+ctcggtcaaagaattaggagcgtgcaggatggcggaaagctttacgacgactaatcgata
+tttcgacaataaacattatccacgtggattctctcgtcatggtgatttcaccatcaaaga
+ggcacaactgcttgagcgtcatggttatgccttcaatgagttggatcttggcaaacgcga
+gccggttaccgaggaagagaaactcttcgtagcagtatgccgtggcgaacgtgagccagt
+gacagaagcagaacgcgtgtggtccaagtatatgacgcgtattaagcgtccaaaacgttt
+tcacaccctttccggcggtaaaccgcaggttgaaggtgctgaagactacaccgattctga
+cgattaataaaaagggcgaaatgccctttttttatgtcagtagtttctgcagatggatga
+gcaaacggtcaatcgctcgatagctaactgcctcctgcaaatgctgacgtgtgataatgt
+cagactgatcaatatcagcaatggttcgtgcaactttcaataaccgctgccaggcacgaa
+tcgataaccccagatggatcagtgttccttccaaccacatcgcatcttcgctctcaagtt
+tgcagaattggcgtatttccggactatccagccaggcattcagtttattctgccgcttaa
+attggcgctctctggcggccattacgcgttgtttaacggtggcgctgctttctcccggca
+ctaccgttttactcaaaatgccggggggtggtaatgggatctccagtgagagatcgaagc
+ggtcgagaaagggccccgagagccggttgagataacgtaatgtctgttctggcgtgcagc
+ggttatggtttccctgataatgtccggtagggctgggattcatcgccgcaacaagctgga
+aacgggctggataggttatttttgctcgtgtgcgtgaaagatggatctgcccggattcaa
+tcggctctcgcaaggcatccagtgtacgccgttcaaattcaggtagctcatcaagaaaaa
+gcacgccgttatgcgccagcgaaatttcaccgggccctggaattgcgccaccgcctacca
+tcgcagttaacgatgcactgtgatgaggtgagcggaacgggcgctgccgccattgttttt
+gtactgattcagcatttaccagacttaatatcgcagcactctccagtgcctcttcattgc
+ttaaatctggcaacaggccattaatacggctggcgagcattgttttacctgttcccggcg
+gcccaatcagtaaaaggttgtgcccgccagcagcggtaatttccagtcctcgctttcctt
+gttcctgaccgataacatcactgagatcatgttgtagcgcccgggatactgcatcagttg
+gtttcgggcgttcgagagcgtgcttaccttccagaaacgcacagacagcttgcagatgat
+cggctatcaggcatccttcaccgttaattagccccacttcatcttcgttatctttcgcga
+cgataatttttctgcccgacttaatagcttcagttgcactggagattgcgccgggaacgc
+cacgcagagcgcctgtaagcgccagttctccgactaattcatattcatctaacttattgg
+ctgtaagctgttctgaggccgccagcaacgcaatggcgataggtaaatcatatcgtcccc
+cttcttttggcagatcagctggagccaggttgatggtgatttttttcgccggatattcat
+atccgctattgataatggcgctgcgcacgcgatcgcgagcttcttttaccgttgtttctg
+gtaagcccaccatcgttaagccgggtagacctttactgatatgtacctcaacagtgatcg
+ggggcgcatttactcccagggctgcgcgggtatgaacaattgacagtgacataagccctc
+cttgagtcaccattatgtgcataagatatcgctgctgtagcccgctaattcgtgaatttt
+agtggctgattcctgtttatttgtgcaagtgaagttgagttgttctggcggtggaatgat
+gctcgcaaaaatgcagcggacaaaggatgaactacgaggaagggaacaacattcatactg
+aaattgaatttttttcactcactattttatttttaaaaaacaacaatttatattgaaatt
+attaaacgcatcataaaaatcggccaaaaaatatcttgtactatttacaaaacctatggt
+aactctttaggcattccttcgaacaagatgcaagaaaagacaaaatgacagcccttctac
+gagtgattagcctggtcgtgattagcgtggtggtgattattatcccaccgtgcggggctg
+cacttggacgaggaaaggcttagagatcaagccttaacgaactaagacccccgcaccgaa
+aggtccgggggttttttttgaccttaaaaacataaccgaggagcagacaatgaataacag
+cacaaaattctgtttctcaagattcaggacggggaactaactatgaatggcgcacagtgg
+gtggtacatgcgttgcgggcacagggtgtgaacaccgttttcggttatccgggtggcgca
+attatgccggtttacgatgcattgtatgacggcggcgtggagcacttgctatgccgacat
+gagcagggtgcggcaatggcggctatcggttatgctcgtgctaccggcaaaactggcgta
+tgtatcgccacgtctggtccgggcgcaaccaacctgataaccgggcttgcggacgcactg
+ttagattccatccctgttgttgccatcaccggtcaagtgtccgcaccgtttatcggcact
+gacgcatttcaggaagtggatgtcctgggattgtcgttagcctgtaccaagcacagcttt
+ctggtgcagtcgctggaagagttgccgcgcatcatggctgaagcattcgacgttgcctgc
+tcaggtcgtcctggtccggttctggtcgatatcccaaaagatatccagttagccagcggt
+gacctggaaccgtggttcaccaccgttgaaaacgaagtgactttcccacatgccgaagtt
+gagcaagcgcgccagatgctggcaaaagcgcaaaaaccgatgctgtacgttggcggtggc
+gtgggtatggcgcaggcagttccggctttgcgtgaatttctcgctgccacaaaaatgcct
+gccacctgtacgctgaaagggctgggcgcagtagaagcagattatccgtactatctgggc
+atgctggggatgcacggcaccaaagcggcaaacttcgcggtgcaggagtgtgacctgctg
+atcgccgtgggcgcacgttttgatgaccgggtgaccggcaaactgaacaccttcgcgcca
+cacgccagtgttatccatatggatatcgacccggcagaaatgaacaagctgcgtcaggca
+catgtggcattacaaggtgatttaaatgctctgttaccagcattacagcagccgttaaat
+caatgactggcagcaacactgcgcgcagctgcgtgatgaacattcctggcgttacgacca
+tcccggtgacgctatctacgcgccgttgttgttaaaacaactgtcggatcgtaaacctgc
+ggattgcgtcgtgaccacagatgtggggcagcaccagatgtgggctgcgcagcacatcgc
+ccacactcgcccggaaaatttcatcacctccagcggtttaggtaccatgggttttggttt
+accggcggcggttggcgcacaagtcgcgcgaccgaacgataccgttgtctgtatctccgg
+tgacggctctttcatgatgaatgtgcaagagctgggcaccgtaaaacgcaagcagttacc
+gttgaaaatcgtcttactcgataaccaacggttagggatggttcgacaatggcagcaact
+gttttttcaggaacgatacagcgaaaccacccttactgataaccccgatttcctcatgtt
+agccagcgccttcggcatccatggccaacacatcacccggaaagaccaggttgaagcggc
+actcgacaccatgctgaacagtgatgggccatacctgcttcatgtctcaatcgacgaact
+tgagaacgtctggccgctggtgccgcctggcgccagtaattcagaaatgttggagaaatt
+atcatgatgcaacatcaggtcaatgtatcggctcgcttcaatccagaaaccttagaacgt
+gttttacgcgtggtgcgtcatcgtggtttccacgtctgctcaatgaatatggccgccgcc
+agcgatgcacaaaatataaatatcgaattgaccgttgccagcccacggtcggtcgactta
+ctgtttagtcagttaaataaactggtggacgtcgcacacgttgccatctgccagagcaca
+accacatcacaacaaatccgcgcctgagcgcaaaaggaatataaaaatgaccacgaagaa
+agctgattacatttggttcaatggggagatggttcgctgggaagacgcgaaggtgcatgt
+gatgtcgcacgcgctgcactatggcacttcggtttttgaaggcatccgttgctacgactc
+gcacaaaggaccggttgtattccgccatcgtgagcatatgcagcgtctgcatgactccgc
+caaaatctatcgcttcccggtttcgcagagcattgatgagctgatggaagcttgtcgtga
+cgtgatccgcaaaaacaatctcaccagcgcctatatccgtccgctgatcttcgtcggtga
+tgttggcatgggagtaaacccgccagcgggatactcaaccgacgtgattatcgctgcttt
+cccgtggggagcgtatctgggcgcagaagcgctggagcaggggatcgatgcgatggtttc
+ctcctggaaccgcgcagcaccaaacaccatcccgacggcggcaaaagccggtggtaacta
+cctctcttccctgctggtgggtagcgaagcgcgccgccacggttatcaggaaggtatcgc
+gctggatgtgaacggttatatctctgaaggcgcaggcgaaaacctgtttgaagtgaaaga
+tggtgtgctgttcaccccaccgttcacctcctccgcgctgccgggtattacccgtgatgc
+catcatcaaactggcgaaagagctgggaattgaagtacgtgagcaggtgctgtcgcgcga
+atccctgtacctggcggatgaagtgtttatgtccggtacggcggcagaaatcacgccagt
+gcgcagcgtagacggtattcaggttggcgaaggccgttgtggcccggttaccaaacgcat
+tcagcaagccttcttcggcctcttcactggcgaaaccgaagataaatggggctggttaga
+tcaagttaatcaataaatacaaaaaatgggacggcacgcaccgtcccatttacgagacag
+acactgggagtaaataaagtatgcctaagtaccgttccgccaccaccactcatggtcgta
+atatggcgggtgctcgtgcgctgtggcgcgccaccggaatgaccgacgccgatttcggta
+agccgattatcgcggttgtgaactcgttcacccaatttgtaccgggtcacgtccatctgc
+gcgatctcggtaaactggtcgccgaacaaattgaagcggctggcggcgttgccaaagagt
+tcaacaccattgcggtggatgatgggattgccatgggccacggggggatgctttattcac
+tgccatctcgcgaactgatcgctgattccgttgagtatatggtcaacgcccactgcgccg
+acgccatggtctgcatctctaactgcgacaaaatcaccccggggatgctgatggcttccc
+tgcgcctgaatattccggtgatctttgtttccggcggcccgatggaggccgggaaaacca
+aactttccgatcagatcatcaagctcgatctggttgatgcgatgatccagggcgcagacc
+cgaaagtatctgactcccagagcgatcaggttgaacgttccgcgtgtccgacctgcggtt
+cctgctccgggatgtttaccgctaactcaatgaactgcctgaccgaagcgctgggcctgt
+cgcagccgggcaacggctcgctgctggcaacccacgccgaccgtaagcagctgttcctta
+atgctggtaaacgcattgttgaattgaccaaacgttattacgagcaaaacgacgaaagtg
+cactgccgcgtaatatcgccagtaaggcggcgtttgaaaacgccatgacgctggatatcg
+cgatgggtggatcgactaacaccgtacttcacctgctggcggcggcgcaggaagcggaaa
+tcgacttcaccatgagtgatatcgataagctttcccgcaaggttccacagctgtgtaaag
+ttgcgccgagcacccagaaataccatatggaagatgttcaccgtgctggtggtgttatcg
+gtattctcggcgaactggatcgcgcggggttactgaaccgtgatgtgaaaaacgtacttg
+gcctgacgttgccgcaaacgctggaacaatacgacgttatgctgacccaggatgacgcgg
+taaaaaatatgttccgcgcaggtcctgcaggcattcgtaccacacaggcattctcgcaag
+attgccgttgggatacgctggacgacgatcgcgccaatggctgtatccgctcgctggaac
+acgcctacagcaaagacggcggcctggcggtgctctacggtaactttgcggaaaacggct
+gcatcgtgaaaacggcaggcgtcgatgacagcatcctcaaattcaccggcccggcgaaag
+tgtacgaaagccaggacgatgcggtagaagcgattctcggcggtaaagttgtcgccggag
+atgtggtagtaattcgctatgaaggcccgaaaggcggtccggggatgcaggaaatgctct
+acccaaccagcttcctgaaatcaatgggtctcggcaaagcctgtgcgctgatcaccgacg
+gtcgtttctctggtggcacctctggtctttccatcggccacgtctcaccggaagcggcaa
+gcggcggcagcattggcctgattgaagatggtgacctgatcgctatcgacatcccgaacc
+gtggcattcagttacaggtaagcgatgccgaactggcggcgcgtcgtgaagcgcaggacg
+ctcgaggtgacaaagcctggacgccgaaaaatcgtgaacgtcaggtctcctttgccctgc
+gtgcttatgccagcctggcaaccagcgccgacaaaggcgcggtgcgcgataaatcgaaac
+tggggggttaataatggctgactcgcaacccctgtccggtgctccggaaggtgccgaata
+tttaagagcagtgctgcgcgcgccggtttacgaggcggcgcaggttacgccgctacaaaa
+aatggaaaaactgtcgtcgcgtcttgataacgtcattctggtgaagcgcgaagatcgcca
+gccagtgcacagctttaagctgcgcggcgcatacgccatgatggcgggcctgacggaaga
+acagaaagcgcacggcgtgatcactgcttctgcgggtaaccacgcgcagggcgtcgcgtt
+ttcttctgcgcggttaggcgtgaaggccctgatcgttatgccaaccgccaccgccgacat
+caaagtcgacgcggtgcgcggcttcggcggcgaagtgctgctccacggcgcgaactttga
+tgaagcgaaagccaaagcgatcgaactgtcacagcagcaggggttcacctgggtgccgcc
+gttcgaccatccgatggtgattgccgggcaaggcacgctggcgctggaactgctccagca
+ggacgcccatctcgaccgcgtatttgtgccagtcggcggcggcggtctggctgctggcgt
+ggcggtgctgatcaaacaactgatgccgcaaatcaaagtgatcgccgtagaagcggaaga
+ctccgcctgcctgaaagcagcgctggatgcgggtcatccggttgatctgccgcgcgtagg
+gctatttgctgaaggcgtagcggtaaaacgcatcggtgacgaaaccttccgtttatgcca
+ggagtatctcgacgacatcatcaccgtcgatagcgatgcgatctgtgcggcgatgaagga
+tttattcgaagatgtgcgcgcggtggcggaaccctctggcgcgctggcgctggcgggaat
+gaaaaaatatatcgccctgcacaacattcgcggcgaacggctggcgcatattctttccgg
+tgccaacgtgaacttccacggcctgcgctacgtctcagaacgctgcgaactgggcgaaca
+gcgtgaagcgttgttggcggtgaccattccggaagaaaaaggcagcttcctcaaattctg
+ccaactgcttggcgggcgttcggtcaccgagttcaactaccgttttgccgatgccaaaaa
+cgcctgcatctttgtcggtgtgcgcctgagccgcggcctcgaagagcgcaaagaaatttt
+gcagatgctcaacgacggcggctacagcgtggttgatctctccgacgacgaaatggcgaa
+gctacacgtgcgctatatggtcggcggacgtccatcgcatccgttgcaggaacgcctcta
+cagcttcgaattcccggaatcaccgggcgcgctgctgcgcttcctcaacacgctgggtac
+gtactggaacatttctttgttccactatcgcagccatggcaccgactacgggcgcgtact
+ggcggcgttcgaacttggcgaccatgaaccggatttcgaaacccggctgaatgagctggg
+ctacgattgccacgacgaaaccaataacccggcgttcaggttctttttggcgggttaggg
+aaaaatgcctgatagcgcttcgcttatcaggcctacccgcgcgacaacgtcatttgtggt
+tcggcaaaatcttccagaatgcctcaattagcggctcatgtagccgctttttctgcgcac
+acacgcccagctcaaacggcgttttctcatcgctgcgctctaaaatcatcacgcggttac
+gcaccggttcggggctgttttccagcaccacttccggcaacaatgccacgccacagccga
+gtgccaccatcgataccatcgcttcatgcccgccaaccgtggcgtaaatcatcgggttac
+tgattttattgcgtcgaaaccacagttcaatgcggcggcgtaccggcccctgatcggcca
+taataaacggcaccgttgaccagtccggcttctctaccgacacctgattacgcaccgggc
+agggcagcgcgggggcaatcagcactactgccagattctccagcatcgaaaacgccactg
+cgccgggcaaggtttccggtttacccgcaatcgccagatccgcttcaccagtgaccacct
+tttccatcgcatctgccgcatcaccagtagtaagtttaatctccaccgacgggtgttccg
+cgcggaagcgatccagaatcggcggcagatggctgtaggcagcggtcaccgagcagaaga
+tatgtaattcgccagagagcgacggcccttgctgatcgatggtgtggcgcaactgctgat
+actgcaacagcgtttgctgggcgaaaacgcgcagctcttcgcccgcttcagtcagcgtca
+ccgtgcggttatcgcgcacaaacagcggctgaccgagatcttcttccaggcgctgaatct
+gccgtgagagcgtggatgggctaacgtgcatcgcccgcgcgctgcggccaaaatggcggc
+tttccgccagatgcaggaaggttttcagatcgcgtaaatccacagggacagccctcgatg
+ttgacgttgcaaaaattgcaatgtgacgttgtgaatatatcaatttccgcaataaatttc
+ctgtcatatagtgaattcaatctcgcaaacgcgaaccgaacaataagaagcacaacatca
+cgaggaatcaccatggctaactacttcaatacactgaatctgcgccagcagctggcacag
+ctgggcaaatgtcgctttatgggccgcgatgaattcgccgatggcgcgagctaccttcag
+ggtaaaaaagtagtcatcgtcggctgtggcgcacagggtctgaaccagggcctgaacatg
+cgtgattctggtctcgatatctcctacgctctgcgtaaagaagcgattgccgagaagcgc
+gcgtcctggcgtaaagcgaccgaaaatggttttaaagtgggtacttacgaagaactgatc
+ccacaggcggatctggtgattaacctgacgccggacaagcagcactctgatgtagtgcgc
+accgtacagccactgatgaaagacggcgcggcgctgggctactcgcacggtttcaacatc
+gtcgaagtgggcgagcagatccgtaaagatatcaccgtagtgatggttgcgccgaaatgc
+ccaggcaccgaagtgcgtgaagagtacaaacgtgggttcggcgtaccgacgctgattgcc
+gttcacccggaaaacgatccgaaaggcgaaggcatggcgattgccaaagcctgggcggct
+gcaaccggtggtcaccgtgcgggtgtgctggaatcgtccttcgttgcggaagtgaaatct
+gacctgatgggcgagcaaaccatcctgtgcggtatgttgcaggctggctctctgctgtgc
+ttcgacaagctggtggaagaaggtaccgatccagcatacgcagaaaaactgattcagttc
+ggttgggaaaccatcaccgaagcactgaaacagggcggcatcaccctgatgatggaccgt
+ctctctaacccggcgaaactgcgtgcttatgcgctttctgaacagctgaaagagatcatg
+gcacccctgttccagaaacatatggacgacatcatctccggcgaattctcttccggtatg
+atggcggactgggccaacgatgataagaaactgctgacctggcgtgaagagaccggcaaa
+accgcgtttgaaaccgcgccgcagtatgaaggcaaaatcggcgagcaggagtacttcgat
+aaaggcgtactgatgattgcgatggtgaaagcgggcgttgaactggcgttcgaaaccatg
+gtcgattccggcatcattgaagagtctgcatattatgaatcactgcacgagctgccgctg
+attgccaacaccatcgcccgtaagcgtctgtacgaaatgaacgtggttatctctgatacc
+gctgagtacggtaactatctgttctcttacgcttgtgtgccgttgctgaaaccgtttatg
+gcagagctgcaaccgggcgacctgggtaaagctattccggaaggcgcggtagataacggg
+caactgcgtgatgtgaacgaagcgattcgcagccatgcgattgagcaggtaggtaagaaa
+ctgcgcggctatatgacagatatgaaacgtattgctgttgcgggttaagtgcgcgctgat
+gccctcaccccgaccctctcccacagggagagggagaaaacactcaaggccttctcctgg
+agaaggccttgctattagttgcggtacagcaccttaatgatgtgatatccgaactgggtg
+tgcagcgggccggtcggctccagtaccggacaagagaaaaccactttatcgaacgccgga
+accatctgaccctggcggaattcacctaaatcaccgccgcgtttgcctgatgggcaaatg
+gagtgtttcttcgccagcttgccgaaatcggccccgttcttaatctgctcgagaagatcc
+agagccagtttctcttcttttacaaggatatgcagtgctgctgctgtttttgccatgatc
+gtgccttgagtgaataattgtcaggcggcgattttagcatgatccgcagatgctaacgta
+attgtcagtcagggagtggctggtacatatatggcaaaagcccggaaaatccgggcctcg
+caggtccctcaaggggagaaaacttagggcctctatgggctacaaagtcattatcgggga
+tggttattttattgtcaatttatgagcgatatggcattgattgacttgatgaccgccctc
+tgtatgtctgcaaccaactcatgtggcaaacattgattaagataccctctgtaagtcctt
+gctctgtttaatctgtttcgactgacttgttgtaccaggtcggctttggcccaacgaatc
+tgctgatcaaagaattgcaggtcattgataacattactggctatttcaacatgcattcca
+cgttttaacttgtctggtcgcgagtggttgataatggaacgacgatgcatgcgttgccat
+taatttttccgttgagcacgacaactaacctgttttttatcatttcaggaggaatgcggc
+catcgtaatacgtcgtgctgaacggtccattttggctaacaggatagttaccaaagttgc
+attccagtatttcaccaaccttagggctgaaattaatcgccacgagtaaacctctcctta
+gtaaactctgaaaaagtaataacacaacgttacgacccgatattttctaagtctaatgga
+ttcacgatgaactccgatttcggtcttctctctctgatttaaacatccgcagccaaccgg
+ttagcggcttacacgcggtcacattcaaatgcgattctgctacaatcctccccccgttcg
+aagattgagcaatacacctatgcgtctaaaccccggccaacaacaagctgtcgaattcgt
+taccggcccctgcctggtgctggcgggcgcgggttccggtaaaactcgtgttatcaccaa
+taaaatcgcccatctgatccgcggttgcggttatcaggcgcggcacattgcggcggtgac
+ctttactaataaagcagcgcgcgagatgaaagagcgtgtagggcagacgctggggcgcaa
+agaggcgcgtgggctgatgatctccactttccatacgttggggctggatatcatcaaacg
+cgagtatgcggcgcttgggatgaaagcgaacttctcgttgtttgacgataccgatcagct
+tgctttgcttaaagagttgaccgaggggctgattgaagatgacaaagttctcctgcaaca
+actgatttcgaccatctctaactggaagaatgatctcaaaacaccgtcccaggcggcagc
+aagtgcgattggcgagcgggaccgtatttttgcccattgttatgggctgtatgatgcaca
+cctgaaagcctgtaacgttctcgacttcgatgatctgattttattgccgacgttgctgct
+gcaacgcaatgaagaagtccgcaagcgctggcagaacaaaattcgctatctgctggtgga
+tgagtatcaggacaccaacaccagccagtatgagctggtgaaactgctggtgggcagccg
+cgcgcgctttaccgtggtgggtgacgatgaccagtcgatctactcctggcgcggtgcacg
+tccgcaaaacctggtgctgctgagtcaggattttccggcgctgaaggtgattaagcttga
+gcagaactatcgctcttccgggcgtattctgaaagcggcgaacatcctgatcgccaataa
+cccgcacgtctttgaaaagcgtctgttctccgaactgggttatggcgcggagctaaaagt
+attaagcgcgaataacgaagaacatgaggctgagcgcgttactggcgagctgatcgccca
+tcacttcgtcaataaaacgcagtacaaagattacgccattctttatcgcggtaaccatca
+gtcgcgggtgtttgaaaaattcctgatgcaaaaccgcatcccgtacaaaatatctggtgg
+tacgtcgtttttctctcgtcctgaaatcaaggacttgctggcttatctgcgcgtgctgac
+taacccggacgatgacagcgcatttctgcgtatcgttaacacgccgaagcgagagattgg
+cccggctacgctgaaaaagctgggtgagtgggcgatgacgcgcaataaaagcatgtttac
+cgccagctttgatatgggcctgagtcagacgcttagcggacgtggttatgaagcattgac
+ccgcttcactcactggttggcagaaatccagcgtctggcggagcgggagccgattgccgc
+ggtgcgtgatctgatccatggcatggattatgaatcctggctgtacgaaacatcgcccag
+cccgaaagccgccgaaatgcgcatgaagaacgtcaaccaactgtttagctggatgacgga
+gatgctggaaggcagtgaactggatgagccgatgacgctcacccaggtggtgacgcgctt
+tactttgcgcgacatgatggagcgtggtgagagtgaagaagagctggatcaggtgcaact
+gatgactctccacgcgtcgaaagggctggagtttccttatgtctacatggtcggtatgga
+agaagggtttttgccgcaccagagcagcatcgatgaagataatatcgatgaggagcggcg
+gctggcctatgtcggcattacccgcgcccagaaggaattgacctttacgctgtgtaaaga
+acgccgtcagtacggcgaactggtgcgcccggagccgagccgctttttgctggagctgcc
+gcaggatgatctgatttgggaacaggagcgcaaagtggtcagcgccgaagaacggatgca
+gaaagggcaaagccatctggcgaatctgaaagcgatgatggcggcaaaacgagggaaata
+atcaaggccggaaaagatgcgtcagcatcgcatccggcacttactcattaatgcacttcc
+agcggccagtggacatagctctgccactggctttcctgagcaataatctctttacccagc
+ggatgttgggttagccaaccttgcggaagcgtcaaggtcaacagttcatggttagcctgt
+aatgtcatctctggcacgagatcgtcacggcgacggctggcaaaaatgatggccaggcgt
+agtaaacggcagagttgttctgcgacgcgcggcggtacggcattttgctgatgcagcgat
+gagagatcgaccggattagtctggttgagcagtagcgtcgccagcaattttttctgtgcg
+ggggtaaaaccgggaagatccagattacgcaccagataagcagcgtgttgcggcgcttgt
+ttgaagtcaacgctcaggccgatttcatgaagctgacaggcgctgatgagcaaatcgcgg
+cttattgcttcaagatgccattcgttttccacctgatcgaagaagttagccgcaactttg
+gctacgcgctgtgcctgatcaatatcgatcataaagcggcgttgaatattacgcagcgta
+cggctgcgaatatcctgctcgacggccagatgcaacatgccgtagaccaggccttcacgc
+agcgcaccgcccgccagggtcatacactgaatattcagttcggtaaaaatggcgatcagg
+atcgccagaccactcgggaacactaacgcacgttccagcgtcagcccgtcaatctccagt
+tcctccagccgaccgcaatgaatggctcgctgtttcaattgctgcaacttttccagggta
+atgcgttcatccatcccctgtgccatcatgatttcctgtaacgcctgcacggtgccggaa
+gcaccaacgcacactttccagccgtgataccgtaattcatcggcaaccggacgtaacact
+tcgcgtgccgctttttctgcagcatcaaaattttcctgccccagattacgatcggcaaaa
+tagcgttccagccaggtgacgcagcccatcgacaggctgaacaacgaggtggtttgtgca
+cccgtgccggttaccagttcagtactggctccgcctatatccaccaccaggcgctgatcg
+gcaccaccagtggtgtgagcaacgccctgataaatcagacgtgcttcctcttcaccgctg
+atcacctgtaccggacaaccgagaatttcctgcgctttggcaataaaatcacccgcattg
+acggcaaggcgtaacgtcgccgtagcgacaacgcgaatttgcgagggaggaatatcttgc
+agacgttcagcaaacaggcgcaaacattgccaaccgcgctccattgcttcattggagagg
+gcattttcgctattcaggccagcagccagacgcactttgcgttttattcgcgtcagcgtc
+tggatgcttccagccacctcgcgcacaaccagcatatgaaaactattcgaaccgagatca
+atggctgcatacagcgacgaggtggaacccatactcttcatccttcaatctgtctctgtg
+ttggctgcattctttcacctgaatcacttactacagtaagctcatcgggattcattctct
+tgccatcttgatacagtttgaatgattttgagtatgacattttttatttaacctgaacga
+cgacgattacgcggagcgccagtacgacgcggaccattgcctgtgcgcgggcgcgtgagg
+cgcagcggttttggcagatcggtcatcaatgcgtccggattgtatttgcttaccggaatt
+gagtgaccaatataggtctcaatagcaggcaaattcaatgcatactcttcacacgccagg
+ctgatagagtgaccgcttgcgcctgcgcgacctgtacgaccaatacggtgaacgtaatct
+tcacagtcatcgggtaaatcgtagttaaagacgtgcgtcactgccggaatatgcaaacca
+cgcgcggcaacgtcggtggcaaccagaatatccagatcgccacgggtaaattcatcaaga
+atacgcagacgttttttctgcgcgacatcgcctgtcaataaaccgacacgatgaccatct
+gctgccaggtggccccagatctcttcacaacggtgtttggtgttggcgaaaataatcgct
+ctgtctggccactcttcttcgatcagcgtttgcagcaaacgcattttttcttcgttagaa
+gggtagaaaagctcttctttaatacggtggcccgttttctgttccggttccacttcaata
+tattcggcattgttcatctgctcgaacgccagttcacgtacccggtacgaaagcgtggcg
+gagaacagcatgttgaggcgctggtttgcaggcggcatacggcggaacagccagcggata
+tctttaataaagcccagatcgtacatgcgatcggcttcgtccagtaccaccacctgaatg
+gcaccgaggttaatgtggttctgcttggcgtagtcaattaaacgccccgtggtgccaatc
+agaatgtcaacgccgctttccagcactttcagctgtttgtcgtagccatcaccaccgtaa
+gccagacccagcttcaggccagtagcttccgccagcggttctgcgtcggcatggatctgc
+acggcaagttcacgcgtcggtgccataattaaggcacgcggctgattcaccttgcgatcg
+gcaatcgcaggatgagagagaagataatgaaacgttgacgtaagaaacgccatcgttttc
+ccggtaccggtttgcgcctgcccggctacgtcacgacccgccagcgtcagcggaagggcc
+agtgcctgaatgggcgtacagttatgaaacccttttttttcaagggcttctacaaccttc
+ggatgcagggcgaagtcggaaaacttctgttctgttaaatgtgttttgctcatagtgtgg
+tagaatatcagcttactattgctttacgaaagcgtatccggtgaaataaagtcaaccttt
+agttggttaatgttacaccaacaacgaaaccaacacgccaggcttattcctgtggagtta
+tatatgagcgataaaattattcacctgactgacgacagttttgacacggatgtactcaaa
+gcggacggggcgatcctcgtcgatttctgggcagagtggtgcggtccgtgcaaaatgatc
+gccccgattctggatgaaatcgctgacgaatatcagggcaaactgaccgttgcaaaactg
+aacatcgatcaaaaccctggcactgcgccgaaatatggcatccgtggtatcccgactctg
+ctgctgttcaaaaacggtgaagtggcggcaaccaaagtgggtgcactgtctaaaggtcag
+ttgaaagagttcctcgacgctaacctggcgtaagggaatttcatgttcgggtgccccgtc
+gctaaaaactggacgcccggcgtgagtcatgctaacttagtgttgacttcgtattaaaca
+taccttattaagtttgaatcttgtaatttccaacgcttcccgttttatcttaaatgcgaa
+gtgaacagatttctggctcgtcactcaatccgtcttgtcgtttcagttctgcgtactctc
+ctgtgaccaggcagcgaaaagacatgagtcgatgaccgtaaacaggcatggatgatcctg
+ccataccattcacaacattaagttcgagatttaccccaagtttaagaactcacaccacta
+tgaatcttaccgaattaaagaatacgccggtttctgagctgatcactctcggcgaaaata
+tggggctggaaaacctggctcgtatgcgtaagcaggacattatttttgccatcctgaagc
+agcacgcaaagagtggcgaagatatctttggtgatggcgtactggagatattgcaggatg
+gatttggtttcctccgttccgcagacagctcctacctcgccggtcctgatgacatctacg
+tttcccctagccaaatccgccgtttcaacctccgcactggtgataccatctctggtaaga
+ttcgcccgccgaaagaaggtgaacgctattttgcgctgctgaaagttaacgaagttaact
+tcgacaaacctgaaaacgcccgcaacaaaatcctctttgagaacttaaccccgctgcacg
+caaactctcgtctgcgtatggaacgtggtaacggttctactgaagatttaactgctcgcg
+tactggatctggcatcacctatcggtcgtggtcagcgtggtctgattgtggcaccgccga
+aagccggtaaaaccatgctgctgcagaacattgctcagagcattgcttacaaccacccgg
+attgtgtgctgatggttctgctgatcgacgaacgtccggaagaagtaaccgagatgcagc
+gtctggtaaaaggtgaagttgttgcttctacctttgacgaacccgcatctcgccacgttc
+aggttgcggaaatggtgatcgagaaggccaaacgcctggttgagcacaagaaagacgtta
+tcattctgctcgactccatcactcgtctggcgcgcgcttacaacaccgttgttccggcgt
+caggtaaagtgttgaccggtggtgtggatgccaacgccctgcatcgtccgaaacgcttct
+ttggtgcggcgcgtaacgtggaagagggcggcagcctgaccattatcgcgacggcgctta
+tcgataccggttctaaaatggacgaagttatctacgaagagtttaaaggtacaggcaaca
+tggaactgcacctctctcgtaagatcgctgaaaaacgcgtcttcccggctatcgactaca
+accgttctggtacccgtaaagaagagctgctcacgactcaggaagaactgcagaaaatgt
+ggatcctgcgcaaaatcattcacccgatgggcgaaatcgatgcaatggaattcctcatta
+ataaactggcaatgaccaagaccaatgacgatttcttcgaaatgatgaaacgctcataaa
+tttgtcttatgccaaaaacgccacgtgtttacgtggcgttttgcttttatatctgtaatc
+ttaatgccgcgctggcgatgttaggaaaattcctggaatttgctggcatgttatgcaatt
+tgcatatcaaatggttaatttttgcacaggactggtgggtttggaacggactttcccttc
+tgaataaaggtcttcgtggttatacttctgctaataattttctctgagagcatgcattgt
+gaatttactgacagtgagtactgatctcatcagtatttttttattcacgacactgtttct
+gttttttgcccgtaaggtggcaaaaaaagtcggtttagtggataaaccaaacttccgcaa
+acgtcaccagggattgatacctctcgttggggggatttcggtttacgcagggatttgctt
+cacgttcggaattgtcgattactatattccgcatgcatctctctatctcgcttgtgccgg
+tgtgcttgttttcattggcgcgctggatgaccgttttgatatcagcgtaaaaatccgtgc
+caccatacaggccgctgttggcattgttatgatggtgttcggcaagctttatctcagtag
+cctgggttatatctttggctcctgggagatggtgctcggaccgtttggttacttcctgac
+gctatttgccgtctgggcggccattaatgcgttcaacatggttgatggcattgatggctt
+gctgggcgggttgtcctgcgtctcgtttgcagcaatcggtatgattttgtggttcgacgg
+gcaaaccagcctcgcaatctggtgctttgcgatgatcgccgccatcctgccatacatcat
+gcttaaccttggtatcctgggtcgccgctacaaagtctttatgggtgatgcgggcagtac
+gctgattggttttaccgttatctggatcctgctcgaaacgacccagggcaaaacccatcc
+catcagcccggttaccgctttgtggataatcgccattccgctaatggatatggtggcgat
+tatgtaccgtcgcctgcgtaaaggcatgagcccattctctcctgaccgtcagcatattca
+ccatttgatcatgcgtgccgggtttacttcccgtcaggcgtttgtgctgattacccttgc
+cgcagcactgctcgcttccattggcgtgctggcagaatattctcattttgtcccggagtg
+ggtcatgctggtgctctttttgctagcattcttcctctatggatattgcattaagcgtgc
+ctggaaagttgctcgctttattaagcgcgtaaaacgcagactgcgtagaaatcgtggtgg
+cagccccaatttaaccaaataaatgaggatgtgatgacacaaccaatgcctgggaaaccg
+gccgaagacgctgaaaatgaactggatattcgtgggttgtttcgtaccttgtgggctggg
+aagctatggattattggcatggggctggcgtttgcgttaatcgcgctggcgtatacgttt
+tttgctcgtcaggagtggagctcgacggcgattaccgatcgtccaacggtgaatatgctg
+gggggatattactcgcagcagcaatttttgcgtaacctggatgtccgttcaaacatggct
+tctgccgaccaaccatcggtcatggacgaagcctataaagagtttgttatgcaactggcc
+tcgtgggatacccgcagagagttctggctgcaaaccgactattacaaacagcggatggtg
+ggcaacagcaaagccgatgcggcgttgctggatgaaatgattaacaacatccagtttatc
+cccggagactttacccgcgcggtcaatgacagcgtgaagcttattgccgaaaccgcgcct
+gacgctaataacctgttacgtcagtatgttgcttttgccagccagcgtgcagccagccat
+ctgaatgatgagctgaaaggcgcatgggcggcgcgtaccatccagatgaaagctcaggtg
+aagcgtcaggaagaggtggcgaaagccatctacgaccgccggatgaacagcattgagcag
+gcgctgaaaattgctgagcagcataatatttcgcgcagtgcgacagatgtacctgccgag
+gaattacctgattcagaaatgttcctgcttgggcgtccaatgcttcaggctcgactggaa
+aatttacaggccgtcggtccggcctttgatctcgactatgatcagaatcgggccatgtta
+aacaccctgaatgttggtccaaccctggatccgcgttttcagacctatcgctatttgcgt
+acgccggaagaaccggtaaaacgcgatagcccacgtcgtgccttcctgatgattatgtgg
+ggcattgtcggggggctgatcggggctggtgtcgcattaacccgccgttgctcgaaatag
+caacactgctgcggtgagcgcaaaggcgctcgccgcttattcgaagagaatcgatgtgaa
+agtactgactgtatttggtacgcgcccggaagccatcaagatggcgccgttggtgcatgc
+gttggcaaaagatcctttttttgaggctaaagtttgcgtcactgcgcagcatcgggagat
+gctcgatcaggtgctgaaactcttttccattgtacctgactacgatctcaacataatgca
+gccaggacagggcctgacagagataacctgtcggattctggaagggctaaaacctattct
+tgccgagttcaaaccagacgtcgtgctggttcacggcgatacgacgacgacgctggcaac
+cagcctggcggcgttttatcagcgtattcctgttggtcacgttgaggctggtctgcgcac
+gggcgatctctattcgccgtggccggaagaggctaaccgtacattgaccgggcatctggc
+gatgtatcacttctctccaaccgaaacttcccggcaaaacttgctgcgtgaaaacgttgc
+ggatagccgaatcttcattaccggtaatacagtcattgatgcactgttatgggtgcgtga
+ccaggtgatgagcagcgacaagctgcgttcagaactggcggcaaattacccgtttatcga
+ccccgataaaaagatgattctggtgaccggtcacaggcgtgagagtttcggtcgtggctt
+tgaagaaatctgccacgcgctggcagacatcgccaccacgcaccaggacatccagattgt
+ctatccggtgcatctcaacccgaacgtcagagaaccggtcaatcgcattctggggcatgt
+gaaaaatgtcattctgatcgatccccaggagtatttaccgtttgtctggctgatgaacca
+cgcctggctgattttgaccgactcaggcggcattcaggaagaagcgccttcgctggggaa
+acctgtgctggtgatgcgcgataccactgagcgtccggaagcggtgacggcgggtacggt
+gcgtctggtaggcacggataagcagcgaattgtcgaggaagtgacgcgtcttttaaaaga
+cgaaaacgaatatcaagctatgagccgcgcccataacccgtatggtgatggtcaggcatg
+ctctcgcattctggaagcgttaaaaaataatcggatatcactatgagttttgcgaccatt
+tctgttatcggactgggttatatcgggctgccaacggcagcagcgtttgcctcacggcaa
+aaacaggtaattggtgtcgatatcaaccaacatgcggttgataccatcaatcgtggcgaa
+atccatatcgtcgaacctgatttggcgagtgtagtaaaaactgccgtagaaggcggtttt
+ttacgagcgagcacgacgccagttgaagcggatgcctggctgattgctgtacccacgccg
+tttaagggcgatcatgagccagatatgacctacgttgaatcggctgctcgctccattgcg
+ccagtgctgaaaaaaggcgcgctggtgatccttgaatccacctcgccggtggggtcaacc
+gagaagatggcagaatggttagcagagatgcgtccggatctcactttcccgcagcaggtg
+ggcgagcaggcggacgtcaacattgcttactgcccggaacgcgtgttaccaggacaggta
+atggtcgagctgattaaaaacgatcgcgtgattggtggtatgacgccggtttgttcggcc
+cgcgccagcgaactgtacaaaattttcctcgaaggtgagtgtgtcgtcactaactcgcgg
+acggcggaaatgtgtaagctcaccgaaaacagcttccgcgatgtgaatatcgcttttgct
+aatgaattgtcgctgatttgtgccgatcaggggattaacgtctgggaactgattcgcctg
+gcgaatcgtcaccctcgcgttaatattcttcagcctggccctggcgtgggcggtcactgc
+attgctgttgatccgtggtttatcgtggcacagaacccccagcaggcgcggcttatccgt
+accgcgcgcgaagtgaacgatcacaaaccgttctgggttatcgatcaggtgaaagcggcg
+gtggctgattgcctggcggctaccgataaacgcgccagtgaactgaaaatcgcctgcttt
+ggtctggcgtttaaaccgaatattgatgacctgcgcgaaagcccggcgatggaaatcgct
+gaactgatcgcccagtggcatagcggcgaaactctggttgttgagcctaacatccaccag
+ttgccgaaaaaactgaccgggctttgtactctggcgcagcttgacgaggcgctggcaacg
+gcagacgtgctggtgatgctggtcgatcatagtcagttcaaagttatcaatggcgacaat
+gtccatcagcagtatgtcgtcgatgccaaaggagtctggcgctgatgagaaaaattctga
+taacaggtggtgccgggtttattggctcggcgctggtgcgttatatcatcaacgaaacga
+gcgacgcggtggtagtggtcgataagctgacctacgccggaaacctgatgtcgctggcac
+cggtcgcgcaaagcgagcgctttgcctttgagaaagttgatatctgcgatcgggcagaac
+tggcacgcgtattcactgagcatcagccagactgtgtcatgcatctggcagccgaaagcc
+atgttgaccgttctattgacggcccggcagcgtttattgaaaccaacattgtcgggactt
+atacattgcttgaagcggcgcgggcttactggaatgcgctgacggaagataaaaaatcag
+cgttccgttttcatcatatctccactgacgaagtatatggtgacctgcactcgacggatg
+atttcttcaccgaaaccacgccgtatgcgccgagcagcccttattccgcgtcaaaagcca
+gcagcgaccatctggtgcgcgcctggctgcggacctatggtctgccgacgcttatcacca
+actgctcgaataactacggcccttaccactttccggaaaaactgatcccgctgatgatcc
+tcaacgcgctggcgggtaaatcgctgccggtatatggcaacgggcagcaaatccgtgact
+ggctgtatgtggaagatcacgcccgcgcgctgtattgcgtggcgaccaccgggaaagtcg
+gtgaaacctataatattggtggtcacaacgagcgtaagaatctcgatgttgtggaaacca
+tttgcgagctgctggaagaactggctccgaacaagccgcacggcgtggcgcactatcgtg
+acctgatcacctttgtcgctgaccgtccggggcatgatctgcgttatgccattgatgctt
+cgaaaattgcccgtgaacttggctggctgccgcaggaaacctttgaaagtggaatgcgta
+aaacggttcagtggtatctggctaatgaaagctggtggaagcaggtgcaggacggcagct
+atcagggcgagcgtttaggtctgaaaggctaattttcagcggaggcaaacatgaaaggta
+ttatcctggcgggcggttccggcacccgattgcatccgattacgcgcggcgtatcgaagc
+aactgttgccgatttacgataagccaatgatttactatccgctgtcggtgctgatgctgg
+ccggtatccgcgaaattctcatcatcactacgccggaagataaaggttatttccagcgcc
+tgctgggcgatggtagtgagttcggtatccagctggaatatgccgaacagcccagcccgg
+acggtctggcgcaggcctttatcatcggtgaaaccttccttaatggtgaaccttcttgtc
+tggtgctgggcgataacatcttcttcggtcagggcttcagtccgaagctgcgtcatgttg
+cggcgcgcaccgaaggggcgacggtttttggctatcaggtgatggacccggaacgctttg
+gcgtggtggagtttgacgacaatttccgcgctatctcgctggaagaaaagccaaaacagc
+cgaagtcaaactgggcggtgaccgggctttatttctacgacagtaaagtcgtggagtacg
+caaagcaggtgaagccgtcggagcgtggtgaactggagattacctccatcaaccagatgt
+acctcgaggcgggcaacctgaccgttgaactgctcgggcgcggatttgcctggctggata
+ccggcactcacgacagcctgattgaagccagcacctttgtacagacggtggaaaaacgcc
+agggctttaagattgcctgcctggaagagattgcctggcgtaacggctggctcgatgacg
+agggtgtgaagcgtgctgccagttcattagcgaaaactggctacggccaatatctgctgg
+agttacttcgtgcccgtccgcgccagtattgagccactaacctgggaaaacgccttcttt
+ggtgttaacagcgccatcgtgcgcattacgtctgaagcaccgctcctgacgccagacgcg
+ttagcgccgtggtcacgggtgcaggccaaaattgcggcatcaaatacgggtgaactggat
+gccctgcaacagctgggattctccctggtagaaggtgaagttgatttggcgctacccgtg
+aacaatgccagtgatagcggtgctgtagtggcacaagagaccgatattcccgcattacgt
+cagttagccagcgccgcatttgcgcaaagccgttttcgtgcgccgtggtatgcgcctgac
+gccagcagtcgcttttatgcacagtggattgaaaatgccgtgcgcggcacctttgatcat
+caatgtctgattttacgtgcggcgtccggcgatattcgcggctatgtctctttacgggaa
+ctcaatgcgacagatgcgcgaattggcctgctggctggacgcggtgcaggtgctgagctg
+atgcaaacggcgctaaactgggcgtatgctcgcggtaaaacaactttgcgggtggcgacc
+caaatgggcaacaccgccgcgcttaaacgatacatacaaagtggtgcgaatgtagaaagc
+accgcgtactggttatacaggtgatcacatgattccatttaacgcaccgccggtggtggg
+aaccgaactcgactatatgcagtcggcaatgggtagcggcaaactgtgtggcgatggcgg
+ttttacccgtcgctgccagcagtggctggagcaacgttttggcagcgccaaagtgttact
+gacgccgtcctgcaccgcttcgctggagatggcggcgctgctgctcgatatccagcctgg
+cgatgaagtgatcatgccgagctacacctttgtctccaccgccaatgcctttgtgctgcg
+tggcgcaaaaatcgtttttgtggatgttcgcccggacaccatgaacatcgacgaaacgct
+gattgaagcggcgatcaccgacaaaacgcgcgttatcgtgccggtccattacgcgggtgt
+ggcctgcgaaatggacaccattatggcgttggcgaaaaagcataatttgtttgtggtaga
+agatgccgctcagggcgtgatgtccacttacaaagggcgtgcactgggaaccattggtca
+tattggctgctttagcttccatgaaaccaaaaactacacggcgggcggtgaaggcggcgc
+gacgctgattaacgataaagcgttaatcgaacgagccgagatcatccgtgaaaagggcac
+taaccgcagccagttcttccgtggtcaggtcgataaatatacctggcgcgatattggctc
+cagctatttgatgtccgatctgcaagctgcatacctgtgggcgcaactggaagcagcgga
+tcgtatcaaccagcaacgtctggcgctgtggcaaaactactacgatgcgttagcgcctct
+ggcgaaagccgggcgtatcgagctgccgtcgattcccgatggctgcgtgcagaacgcgca
+tatgttctacattaaactgcgggatattgatgaccggagcgcgttgattaactttctgaa
+agaagcggaaatcatggcggtgtttcattacattccgctgcacggttgccctgcggggga
+acactttggtgagttccacggtgaagatcgctacaccaccaaagagagcgagcgcctgct
+gcgcctgccgctgttctacaacctgtcgcccgtcaatcagcgtacggtaattgcgacttt
+gttgaactacttttcctgatatgtcgttggcaaaagcgtccttgtggacggcggccagta
+cactggtcaagattggtgccgggttactggtcggtaagttgctggcggtgtcatttggtc
+cggcggggcttgggctggcggcaaatttccgccagttgattaccgtgctcggcgtgcttg
+ccggggctggcatctttaacggtgtaaccaaatacgttgcccagtaccatgataatccgc
+aacagctgcgccgcgtggtcggcacttcatcagcgatggtacttggtttctctacgctga
+tggcgctggtttttgtgctggcagctgcgccaatcagccagggattgtttggtaataccg
+actatcaggggctggtgcgtttagtggcgctggtgcaaatggggatcgcctggggcaacc
+tgttactggcgctgatgaaaggctttcgcgatgccgcaggtaatgcgttatcgctgattg
+tcggcagcttgattggcgttctcgcgtactacgtcagttaccgtttgggcggttatgaag
+gggcgttgctgggtctggcgctgattcccgcgctggtggtaattcctgccgccatcatgt
+tgatcaaacgtggtgtcatcccgttaagctatctgaaacccagctgggataacggtctgg
+cagggcagttgagcaaatttacgctcatggcgttgattacgtcggtgaccttgcctgttg
+cttacatcatgatgcgtaaactgctggcggcgcagtatagctgggatgaggtggggatct
+ggcaaggggtgagcagtatttccgatgcctacctgcaatttattacggcatcgttcagcg
+tatatttgctgcccacgttgtcgcggctaacggaaaagcgcgatatcacccgggaagtgg
+ttaaatcgctgaaattcgtcttaccggcagtggcggcggcgagttttaccgtctggctgc
+tgcgtgattttgctatctggctgctgttgtcgaataaatttaccgctatgcgcgatctct
+ttgcctggcagttagtgggtgatgtgttaaaagtgggcgcttatgtctttggttatctgg
+tgatcgccaaagcgtcactgcggttttatattctggcggaagtcagccagttcactttat
+tgatggtatttgcccactggctaatccctgcgcatggtgcactgggcgcggcgcaggcat
+atatggcaacttatatcgtctatttttctctttgttgtggcgtgtttttactctggcgta
+ggcgggcatgactgtactgattcacgtactgggatcggatatccctcaccataaccgaac
+cgttttgcggtttttcaatgacgcgctggccgcgacgagcgagcacgcgcgcgagtttat
+ggttgttggcaaggacgacggcttaagtgatagctgtccggcgctttctgtgcaattttt
+ccctgggaaaaaatcgctggcggaagcggtcatcgcgaaagcaaaagctaaccgtcagca
+gcgttttttcttccacggtcagttcaatcccacactgtggctggctctgctgagtggtgg
+cattaagcccagccagtttttctggcatatctggggggcagacctgtatgagctttccag
+tggcttgagatataagcttttttacccactacgtcgcctggcgcaaaagcgagtcggctg
+tgtatttgccacccgcggcgatttgagcttttttgccaaaacgcacccaaaggtgcgggg
+cgaactgctgttcttcccgacgcggatggacccttcgctcaatacgatggcgaacgatcg
+gcaacgtgaagggaaaatgaccattctggtggggaactccggcgaccgcagcaatgagca
+tattgctgccttgcgcgccgttcatcagcaatttggcgatacggtaaaagtggtggtgcc
+gatgggatatccgcctaataacgaagcgtacattgaggaagttcgtcaggcggggctgga
+gttattcagcgaagaaaatctacaaattctgagcgaaaaactggaatttgacgcctatct
+ggcgctacttcgtcagtgcgatcttggttactttatttttgcccgccagcagggcattgg
+tacgctgtgcttactgattcaggcgggcattccttgtgtgcttaaccgggaaaatccgtt
+ctggcaggatatgacggaacaacatttgccggtgctgtttactaccgacgatctcaacga
+ggatattgtgcgtgaagcgcagcgccagttggcgtcggtggataaaaacaccattgcctt
+ctttagccctaactatctacaaggctggcagcgggcgttggcgattgccgccagggaggt
+cgcatgagtctgctgcaattcagtggcctgtttgttgtctggctgctctgcacgctgttt
+attgccacgctgacctggtttgagtttcgccgtgtgcgctttaacttcaatgtcttcttt
+tcattgctgtttttgctcacctttttcttcggcttcccgctgaccagcgtgctggtattt
+cgctttgatgttggtgtcgcgccgccagaaatcttgttgcaggcgttgctttctgcgggc
+tgcttctacgcggtttactatgtcacctacaaaacccgcctacgcaaacgcgttgctgat
+gtaccgcgccgtccgctgtttaccatgaaccgcgtggagaccaatcttacgtgggtgatc
+ctgatgggtatcgcgctggtaagcgtcggcatcttcttcatgcacaacggctttttgctg
+ttccggcttaactcctacagtcagatcttttccagtgaagtctccggcgtggcgttaaaa
+cgcttcttttactttttcatcccggcgatgctggtggtctactttctgcgccaggacagc
+aaagcgtggctgtttttcctcgtcagcacggtcgcctttggcttgctgacttatatgatt
+gtcggcggcactcgcgccaatatcatcatcgcattcgctatcttcctgtttattggcatt
+attcgcggctggatttcgttgtggatgctggcggcggcgggcgtgctggggattgttggc
+atgttctggctggcactaaaacgctatggaatgaatgtgagcggcgatgaagcgttctat
+acgtttctctatctcactcgcgacaccttctcgccgtgggagaatctggcgttgctgttg
+cagaactacgacaacatcgacttccagggcctggctccaattgtccgcgatttctatgtc
+tttatcccttcctggctgtggccgggtcgcccgagtatggtgctgaactcagccaactac
+tttacctgggaagtgctgaataaccactccggactggcgatctcgcctacgcttataggc
+tcactggtggtgatgggcggcgcgttgttcatcccgctcggggcgatcgtggttggtctg
+atcatcaaatggttcgactggctgtatgagctgggcaaccgcgagcctaatcgctataaa
+gctgcgatattgcacagtttctgctttggggcgatcttcaatatgatcgtgctggcgcgt
+gaagggctggattcgtttgtctcacgcgtggtcttttttatcgtggtcttcggcgcatgt
+ctgatgatcgcaaaactgttgtactggctttttgaaagcgccggactcattcataaacgt
+acaaaatcatcgctccggacgcaggttgaaggataacaatgaataacaacaccacggcac
+caacctatacgctgcgtggcttacagttgattggttggcgtgatatgcagcacgccctcg
+attatctgtttgctgacgggcagcttaagcagggaacgctggttgccattaatgctgaaa
+aaatgctgactattgaagataacgccgaggtcagggagttaattaacgctgccgaattta
+aatatgcggatggcatcagcgttgtacgttcagtacgtaaaaagtacccgcaggcgcagg
+tttcccgcgttgccggtgccgatctctgggaagagctgatggcgcgcgcaggcaaagaag
+ggacgccggtatttcttgtgggcggtaaacctgaagtgctggcgcaaactgaagctaaac
+tgcgcaaccagtggaatgtgaatatcgttggcagtcaggatggttattttaaacccgagc
+agcgtcaggcgctgtttgaacgcattcatgccagcggtgcgcaaatcgtcaccgttgcga
+tgggatcgccaaagcaggagatcatcatgcgcgactgccgtctggtacatccagatgcgc
+tgtatatgggcgttggcgggacttacgatgttttcaccggtcacgtaaaacgcgcaccga
+aaatctggcaaacgctggggctggagtggctctaccgcctgctttcgcagccgagccgca
+ttaagcgtcagcttcgtttgctgcgttatttacgctggcactacaccggcaacctatgat
+tttcctctctttgtaaagcgacggagtggtcactccgtcgcctgtctgcttttttattac
+acaaagcattcaaatttttaatgctttatttgccatttctcctgaattacgaaaacattt
+gcaacactcgatgtacccataacgataaccggtaacaccggaaagcatgcaaacacaaca
+cgaggatttatggcagataacaaaccagagctacagcgtgggctggaagctcgacatatc
+gaactcatcgccctggggggcaccattggcgtcggcctgtttatgggggccgccagtacc
+ctgaaatgggccgggccatccgtattgttggcctatatcatcgccgggctgttcgtcttt
+ttcatcatgcgttcaatgggcgaaatgttgttcctcgaaccggttaccggttcgttcgcc
+gtttatgcgcatcgttatatgagcccgttctttggctatctcaccgcctggtcttactgg
+tttatgtggatggcggtggggatctctgaaatcaccgccattggcgtttatgtccagttc
+tggttcccggagatggcgcagtggatacccgcattgatcgcagtggcgctggtggcgttg
+gcgaatctggcggcggtgcggttgtacggcgaaatcgagttctggttcgcgatgatcaaa
+gtcaccacgattatcgtgatgattgtcattggcctgggcgtgattttctttggctttggc
+aatggcgggcagtcgattggttttagcaatctcacagagcatggcggtttctttgcgggt
+ggctggaaagggttcctgaccgctctgtgtattgtggtggcgtcctaccagggcgtggag
+ctgattggcattactgccggtgaagcgaagaatccgcaggtgacgctgcgcagtgccgta
+ggcaaggtgctgtggcggatcctgattttctacgtaggcgcgattttcgttatcgtcacc
+atcttcccgtggaatgaaataggcagcaacggcagcccgttcgtactgacttttgccaaa
+atcggtattaccgcagcggcgggcattatcaactttgtggtgctgacggctgcgctctct
+ggctgtaacagcggcatgtacagttgcggacgtatgctctacgcactggcgaaaaaccgt
+cagttaccggcggcaatggcgaaagtttcccgtcacggcgtaccggttgcgggtgtggca
+gtatctattgctattctgctaattggctcatgcctgaactacatcattcccaatccgcag
+cgtgtgtttgtctacgtctacagtgccagcgtgcttccggggatggtgccatggtttgtg
+atattgataagccagctgcgttttcggcgtgcacataaagcggcgattgccagccatccg
+ttccgctcaatcctgttcccgtgggccaattacgtaacaatggcattcctgatttgcgtt
+ttgatcggcatgtactttaatgaagatacgcgtatgtcgctgtttgttggcatcatcttt
+atgctggcggtgacggcgatttataaagtttttggccttaatcgccacgggaaagcgcat
+aaactggaggaataagcagcaaaacgcacaaaccgtaaccaaacgcgcaatttatttaaa
+aagggactagacagaggggtgggaagtccgtattatccacccccgcaacggcgctaagcg
+cccgtagctcagctggatagagcgctgccctccggaggcagaggtctcaggttcgaatcc
+tgtcgggcgcgccatttagtcccggcgcttgagctgcggtggtagtaataccgcgtaaca
+agatttgtagtggtggctatagctcagttggtagagccctggattgtgattccagttgtc
+gtgggttcgaatcccattagccaccccattattagaagttgtgacaatgcgaaggtggcg
+gaattggtagacgcgctagcttcaggtgttagtgtccttacggacgtgggggttcaagtc
+ccccccctcgcaccacgactttaaagaattgaactaaaaattcaaaaagcagtatttcgg
+cgagtagcgcagcttggtagcgcaactggtttgggaccagtgggtcggaggttcgaatcc
+tctctcgccgaccaattttgaaccccgcttcggcggggttttttgttttctgtgcatttc
+gtcaccctcccttcgcaataaacgcccgtaataactcattgccccacggtatgatttcgc
+ccttaacgtattgaaggatgacttcaggcaaggagcgaccatgctgcaacaggttccaac
+gcgtgcttttcatgtgatggcgaaaccgagcggttccgattgtaatctgaactgtgacta
+ctgtttttatctcgaaaaacaatccctttaccgcgaaaagccagtcacgcatatggacga
+tgacacgctggaagcgtatgtccgtcactatatcgctgccagcgaaccgcaaaacgaagt
+ggcttttacctggcagggcggcgaaccaacgctactcgggctggcgttttaccgccgtgc
+cgtagcgctacaggcgaaatatggtgctggcaggaagataagtaacagcttccagactaa
+cggcgtgctgctggatgacgaatggtgcgcgtttctcgcggagcatcattttcttgttgg
+tttatcgctggatggcccgcctgagatccacaatcaatatcgcgtgactaaaggtggcag
+acccacgcataagctggtgatgcgtgccctgacgctcctgcaaaaacatcatgtcgacta
+taacgtgctggtctgcgttaatcgcaccagcgcgcagcaaccgttgcaggtatatgattt
+tttgtgcgatgcgggagtcgaattcatccagtttattccggtggtcgagcgcctggctga
+tgaaacaactgcccgcgatggacttaagttacatgcgcctggtgatattcagggtgagct
+aacggaatggtcggtgcgccccgaggagttcggtgagtttctggtggcgatattcgacca
+ctggatcaaacgcgacgtcggcaagattttcgtgatgaatatcgaatgggcgtttgccaa
+ttttgtcggtgcgccgggtgcggtttgccatcatcagccaacctgtgggcgctcggtgat
+tgttgagcacaacggcgacgtttacgcctgtgatcactatgtttatccgcaatatcggct
+ggggaatatgcaccagcaaacaattgcagaaatgatcgattccccgcaacagcaggcgtt
+tggtgaagataaatttaagcagttaccggcgcagtgtcgcagttgtaacgtgttaaaagc
+gtgctggggaggctgcccgaaacaccgcttcatgctcgatgccagcggcaaaccgggact
+gaattatttgtgtgccgggtatcagcgttatttccgccatctaccgccatatcttaaagc
+aatggctgatttgctggcgcacggtcgcccggccagcgacattatgcatgcgcatttgct
+ggtggtgagtaagtagaaatcggcggccgcctgcggttgattgccggatgcggcgtaaac
+gccttatccggcctacatgatcgtgcaaattcaataaattgcagcgttctgtaggctgga
+taagatgcgtcagcatcgcatccggcaaaggcagatctcagcgatagcgccggcttagtc
+agatttaatctgcgcgcgtggtggatattttttcaggatctccatatacgcgtgcatttc
+ggtctgtagcggtacacccatcggaatatggcgcacgccgatggagtcgctttcctgcgg
+atcggtgtagaggttaaacaccgacgatcccgccgtttgcattactgtgccggtgaatcc
+accctgatatccgctctgggtataagcgtaaggttgctgaatcaggacgtgatacttgaa
+ctcatccatacgcacagcagcgagtttaccgttgaggaagtagtgctcggccttacggtt
+agactgaccatttgttcccaggaagaaggatgtctggtccacaccatcgataaaggtggt
+tttcggcactaaattcgccactttcgctccaggatgccctgccagatccagcgcggtagg
+gaagagatctgccagatcgacaataccgtcagatttacgcggttggatcatccctttcca
+gtaaacgaaagtcggtacgcgaacgccgccttcccaggtcgaacctttcgcaccacggaa
+cggggtgcgtccgtgcggcggtacttcggcttccggtccgttatcggaggtaaagacgat
+cagcgtgttatcaagctgaccgtttttctccagtgttttatacagattagcgaacacatc
+gttcatctccaccatgcagtcgccatacgaggtgcgtgccggagagctacccgcatattt
+cgcatttgggtagttatcgaagtggcagccacgagtgccgtagtagaggaagaatggttt
+atcgctcttcgccatcttgtcgaggaacttaacgccatagtccatccagcgttgatccag
+atcttccatatatttcggcgtaatgtcggcaatggcctgttgttcgccgccgcgcaccgc
+atgaacgtcatctttgctgaacggtaattgcttgatgtattcagaacggtccggactcag
+ggccacttccggattgacgtgaacgtcgcgccattcggtgtacatatcagacaccgagtt
+aaagccacggaaatcatcaaagccaacgttctgcggctgcgactctttgttttcccccat
+atgccattttccgatggcctgagtgacgtagccctgatcgtgcagcaactgcggcagcgt
+ggttaacccttgcagcccgcccggttgcccgtacattggcggcatcagaatgccgtggtg
+gatggagtattgtccggtgagaatggtggcgcgggttggggaagagcttggttgagaata
+cgccgaagttaaaatcagcccctggctggcaacggcgtcgatatctggtgtagggttacc
+caccgccacgccgccaccgttaaaaccgacgtccatccagcccacatcgtccagcaagaa
+aacaaccacattcggtttcttaccggtttttttctcaagttctgccagcttctgctgggt
+ttctttatcctgcgccggatgctgcattactggcatcatattgtcggcaatagtggtcgc
+cggtttaaccagatactggtttgggtgatcgtatccggcaaagcctttgcgtgcggtggc
+agttgacggggtatctgctgcgctggccatgagaggaagagcggcggcgacagcaacaac
+aagacgtttgggtgaaaacgaaaattccatgcaaaatgctccggtttcatgtcatcaaaa
+tgatgacgtaattaagcattgataattgagatccctctccctgacaggatgattacataa
+ataatagtgacaaaaataaattatttatttatccagaaaatgaattggaaaatcaggaga
+gcgttttcaatcctacctctggcgcagttgatatgtaaggcaggtttattatatcgcgtt
+gattattgatgctgtttttagttttaacggcaattaatatatgtgttattaattgaatga
+attttatcattcataataagtatgtgtaggatcaagctcaggttaaatattcactcagga
+agttattactcaggaagcaaagaggattacagaattatctcataacaagtgttaagggat
+gttatttcccgattctctgtggcataataaacgagtagatgctcattccatctcttatgt
+tcgccttagtgcctcataaactccggaatgacgcagagccgtttacggtgcttatcgtcc
+actgacagatgtcgcttatgcctcatcagacaccatggacacaacgttgagtgaagcacc
+cacttgttgtcatacagacctgttttaacgcctgctccgtaataagagcaggcgtttttt
+tatgtatcaggaaggccccggaggtgcttgcctccgggtgagaaggaactactgtggcgg
+gttattctgcaacgttaacatcaaaccgtcgcgacgcatagctgcagcttcttccggctt
+gtgcagtctgtccagcgcgtcggcaagccatgcgtaatcgtaggcgtccggacgttgttt
+cagcgctgcgcggaaggcgagcgatgcttcctgccattctccgtgcttcatcagtgactg
+gcccagtgtgctccacaacagcgggcgatcgccgacgtttttgatttgctggcgcagcac
+tttttccagctgttccggattgtttgttttcagtcgaggaatcggcagcagtaggcgatc
+gtcgtactggcgtttcaggccatcgatgataatttgctgggcagtatcatgatcgtcaca
+ttcaataagatgttccgccattgccacctgcaacgctacctgatgacgcgttttccggct
+ttggtttttccaccagttacgcaaaccttcgctaccgttatcggcacgcgcctgatccat
+caggccaatccatgcctgttgttccagcattgcacgatgttcttcatcaccaacatgggc
+tttcgccattgatgggataatatccagcagcgaactccatgcacctgtgcggatatacgc
+ctgttccgccagacgtaatacttccggatggcgtggcgtaacttccagcagcttatccac
+gccgtggcgtgcagcatggttttcattacgggccagttgcagacgtacgcgggtgatttc
+taccggaatggtgtcgttgccggccagctccgctgcgcgttccagatgttggttggcgcg
+tgcttcatcaccacgttgttgcgcggcttcggcagccagtagatagttcaccaccggttg
+ttccgcgtgatcggcatttttcgccatcagcttttcaacttgctgataatcgccttccgc
+cagtttcagcagcgcctgttcggtctgcttacgtgcacggcgacgcttacgtccgacaaa
+ccacccacgggtgtgcgcgccagtgcggaagatccgccgcagtagccactcaatggcaaa
+cagcactaccatcgccagaatcaatatgatcgccaggcccgtgacgctggtttcgatatt
+gtagttgtcggtctggatcagcacataaccctgatggccggcaatcatcgggccaaccac
+gatccccgcaatcagcaacacaaagagcaataacacttttagcatggttattctccttgc
+ggcgcggctgccggagtatcagcttgcggtgcaggtgcaggtttagcttccgttgtcccc
+gctgccggttgtgccagcaggttacgcacgcgagtctgcatcagtttttccagcatcgcc
+tggctttgcagggtttccggaagatccatcgagatattttgctggcttaactggtccacc
+tcgtcgaggaacgctttggtggtggcatcatcagtatcgtagtaagcacgtacccaggtg
+gagacgttctccagcgcctggcgataagtctcttcctggtgacgcggtacagcttgtgct
+gcgaccagcaggcgagagcgaatattttcgcgcagatagatatcctgatttggcgctaac
+agcggtacggcggtgtcatcacgacggcgaatcgtaatgaagttgtccataaagttctgc
+cagcttttttgcagattgatacgccattcgctgatggaactggaaagctcttcaccgtct
+gaatccatcggcgaaccatcgctgtcattatcggccagacgcaggttatctacctgattt
+gaaagctgattaagcttaaggatgatgccgtcataatccacctgcgatactgcagaaagg
+ctggcgatatcatcggtaattgcccgacgaacggtaatcagactcgggtcattcatatcc
+gccaggctggcgtctgcacttttcagcaacgctgcagcggtcgtgacgtcctgatcgctc
+cacagcttccgtccggcgagtttcaccagaaaatcggcctgagccagcagccaggtttta
+gcatcgctgccggaaatggtggcgaccttttgttggacttcatccaactgttttgccagc
+gtttcttgctgacgattcgcctgcttaagttgtgcagcttgttgcttaataatgccttcc
+agctcggctttttggctctcctgggctttttgcaatgccgtcagttggttagccagggca
+tcgctggtggcggtctgattgacggcctgttgtttaccccagccatacaaaccgatgccc
+gccgccagagcaatagcgatagccaccgcgctgagaatcaatgcggtattgttcttactc
+tttttttctgttgcgacaggttgtgacgtggtgtccacggcctccctggtctcttcaacc
+acggcggaggttttttcttgttccgtcattatggcttcctgttatgagagttattgtaat
+gcccgtaaaagcgcatcgttgtcagcgttatcggcgaccttaatgtcttgccagcccagt
+tcccgggcgagtttcgccaaacgctcactgacgaccaatagtcgacagtgtagtaaccag
+tgctcacgataccattgtgggatcagcgaccagagttgctgcaacatttcaccgctggta
+acaacgaccatcgtcacctcgcgggcttgccagcgcatcgcttcttctgcaccatcgtaa
+tggattgcgcatcgttgataacattcacaaaaagtgacctcagcaccgcgcgccgtcagg
+gtatccccaattagctcacgaccaccattgccacgtaatatcagcgcacgtttgcccgca
+atattttgtaattcaggtaattgtagcaagacttcgctgatttcccgatcctgcgggtag
+agaatcttctgtccacttacggtatgtagtgccagtgcggtggtgcgtccaatggcgaaa
+taatcaggtagtcggggccatttacgatcttgctgatgcagctgtgattgggcaaaagca
+accgcgtgttgcgagagggcaaacaacagatcgctctcccccagcgctgccagttgatca
+gcaagttgcggtaattgttgacccggagaaaactcaatcagcggaaaatgccaggccacc
+tgccccagtgtgcgcagacggctcactaactcttctccagcgggagacgggcgggtgaca
+aggatactcatgccggggcgtctccgttatagacttcagcgaggatctcgcgcgcgccgt
+tattcagtagctcttctgccagcgaaatccccatttgttcggcatcttgcggcgcaccgc
+ggcgttcaccgcgaataatctgcgaaccgtccggcgcgccgaccagcgcacgcagccaga
+tttcgccatcaataagctcggcgtagctaccaattggcacctgacatccgccttcgagac
+gggtattcatggcgcgttctgcggtaacgcgcagtgcagtttcgtggtgattcagcgcgg
+caagcagctcgcgagtgcgtgaatcatcaaggcggcattcaatacccaccgcaccttgtc
+ctaccgccggaagagaaatctcgggtggcaacgcggcgcgaatacgtgactccagaccta
+aacgttttagtccggctacggcaagaatgatggcatcgtattcgccgttatccagtttgc
+tcaggcgagtgccgacgttgccgcgcagggagcggataatcagatccggacggcgttcag
+ccagttggcactggcgacgtaaactggacgtcccgacgatactgcctgccggtaacgcat
+ccagactgtcatagttattggacacaaaggcatcgcgaggatcttcacgctcacaaatag
+tgaccagtcccagaccttgcgggaattcaaccggcacatctttcattgagtgtacggcga
+tatcggcgcgattttcgaggagcgcgacttccagctcttttacaaataagccttttccgc
+ctactttcgccagcggcgtatcaagaatcacatcgccgcgcgtcaccatcggtaccagtt
+caacgaccaggcccggatggctcgccatcaacttgtctttgacatagtgtgcctgccaga
+gtgcaagtgggctttggcgtgtggcaattcttaaaacattgtctaacatgcttgttaccg
+tcattatcatccgtggtccatcctaacatccttgccagagtgatgtcagtgttgtggtga
+aacgtagacgcctgcgcaaaccgtaaaatgaggtctggcagtggatcctgacaggcgttt
+cacgccgttgtaataaggaatttacagagaataaacggtgctacacttgtatgtagcgca
+tctttctttacggtcaatcagcaaggtgttaaattgatcacgttttagaccattttttcg
+tcgtgaaactaaaaaaaccaggcgcgaaaagtggtaacggttacctttgacatacgaaat
+atcccgaatgccgcgtgttaccgttgatgttggcggaatcacagtcatgacgggtagcaa
+atcaggcgatacgtcttgtacctctatattgagactctgaaacagagactggatgccata
+aatcaattgcgtgtggatcgcgcgcttgctgctatggggcctgcattccaacaggtctac
+agtctactgccgacattgttgcactatcaccatccgctaatgccgggttaccttgatggt
+aacgttcccaaaggcatttgcctttacacgcctgatgaaactcaacgccactacctgaac
+gagcttgaactgtatcgtggaatgtcagtacaggatccgccgaaaggtgagcttccaatt
+actggtgtatacaccatgggcagcacctcgtccgtagggcaaagttgttcctctgacctg
+gatatctgggtctgtcatcaatcctggctcgatagcgaagagcgccaattgctacaacgt
+aaatgtagcctgctggaaaactgggccgcctcgctgggtgtggaagtcagcttcttcctg
+attgatgaaaaccgcttccgtcataatgaaagcggcagcctggggggcgaagattgtggc
+tccacccagcatatactgctgcttgacgaattttatcgtaccgccgtgcgtctcgccggt
+aagcgtattctgtggaatatggtgccgtgcgacgaagaagagcattacgacgactatgtg
+atgacgctttacgcgcagggcgtgctgacgccaaatgaatggctggatctcggtggctta
+agctcgctttctgctgaagagtactttggtgccagcctttggcagctctacaagagtatc
+gattccccatacaaagcggtactgaaaacactgctgctggaagcctattcctgggaatac
+ccgaacccacgtctgctggcgaaagatatcaaacagcgtttgcacgacggcgagattgta
+tcgtttggtctcgatccatactgcatgatgctggagcgtgttactgaatacctgacggcg
+attgaagattttacccgtctggatttagtacgtcgctgcttctatttaaaagtgtgcgaa
+aagctcagccgtgaacgcgcctgcgtaggctggcgtcgcgcagtgttgagccagttagtg
+agcgagtggggttgggacgaagctcgtctggcaatgctcgataaccgcgctaactggaag
+attgatcaggtgcgtgaggcgcacaacgagttgctcgacgcgatgatgcagagctaccgt
+aatctgatccgctttgcgcgtcgcaataaccttagcgtctccgccagtccgcaggatatc
+ggcgtgctgacgcgtaagctgtatgccgcgtttgaagcattaccaggtaaagtgacgctg
+gtaaacccgcagatttcacccgatctctcggaaccgaatctgacctttatttatgtgccg
+ccgggccgggctaaccgttcaggttggtatctgtataaccgcgcgccaaatattgagtcg
+atcatcagccatcagccgctggaatataaccgttacctgaataaactggtggcgtgggca
+tggtttaacggcctgctgacctcgcgcacccgtttgtatattaaaggtaacggcattgtc
+gatttgcctaagttgcaggagatggtcgccgacgtgtcgcaccatttcccgctgcgctta
+cctgcaccgacaccgaaggcgctctacagcccgtgtgagatccgccatctggcgattatc
+gttaacctggaatatgacccgacagcggcgttccgcaatcaggtggtgcatttcgatttc
+cgtaagctggatgtcttcagctttggcgagaatcaaaattgcctggtaggtagcgttgac
+ctgctgtaccgcaactcgtggaacgaagtgcgtacgctgcacttcaacggcgagcaatcg
+atgatcgaagccctgaaaactattctcggcaaaatgcatcaggacgccgcaccgccagat
+agcgtggaagtcttctgttatagccagcatctgcgcggcttaattcgtactcgcgtgcag
+caactggtttctgagtgtattgaattgcgtctttccagcacccgccaggaaaccgggcgt
+ttcaaggcgctgcgcgtttctggtcaaacctgggggttgttcttcgaacgcctgaatgta
+tcggtacagaaactggaaaacgccatcgagttttatggcgcgatttcgcataacaaactg
+cacggcctgtcagtgcaggttgaaaccaatcacgtcaaattaccggcggtggtggacggc
+tttgccagcgaagggatcatccagttctttttcgaagaaacgcaagacgagaatggcttt
+aatatctacattctcgacgaaagcaaccgggttgaggtatatcaccactgcgaaggcagc
+aaagaggagctggtacgtgacgtcagtcgcttctactcgtcatcgcatgaccgttttacc
+tacggctcaagcttcatcaacttcaacctgccgcagttctatcagattgtgaaggttgat
+ggtcgtgaacaggtgattccgttccgcacaaaatctatcggtaacatgccgcctgccaat
+caggatcacgatacgccgctattacagcaatatttttcgtgatgaacgtgccggaaagcg
+aggcttatccggcatgcaatcttagcggaaactgactgtttcacccgcctgctgcgtcgc
+cgcctgttccagcaaatcccagaaggtttcgccgctgcgatcacaaatccactcatcgcc
+tttcaggtcaaaatggtagccgccctgtttggttgccagccatacctggtgcagcggctc
+ctggcggttgataatgattttgctgccattctcaaaggtaatggtcagtacgccgccgtt
+gatttcgcagtcgatatcgctgtcgccatcccagtcgtccaggcgttcttcaatggtcag
+ccagagttgatcagccaggcgatgaaattcactgtcgttcattgttgtatcctgttttta
+agtgatggcggcagtatagcggcatggggtcagggcttcaaagtttgcacctctgcggct
+gcgttccggcacgattcatccgtcaccggaataatgatgtctctgtgtagcgaaagattt
+gtctcttcattagggcgcagttacaccacgtctttccctgtttctggtaaacattatgat
+caggtttaccgagcgagcatcctcacgctgacggaactaaaaaagacaacaaacaaacca
+cattgcgatagtgcataaagccatcctggcgcgaggtgccgatcacgaaactaccagcaa
+aacataaatccccacgagtaagcgttatactcgcagcatttcctcacttttcagacttca
+taaagagtcgctaaacgcttgcttttacgtcttctcctgcgatgatagaaagcagaaagc
+gatgaactttacaggcaatccataatgaaaaacgtgtttaaggcactcactgtattactt
+actctcttcagcctgacgggctgcggtctgaaaggtccgctctatttcccgcctgcagat
+aaaaacgcaccgccgccgaccaaaccggtagagacgcaaacgcaatccacggtgccggat
+aaaaacgatcgcgccactggcgatggtccatcccaggtgaattactaaaagtcagtttct
+gtacccgcgtgattggagtaaatgatgcagttctcgaaaatgcatggccttggcaacgat
+tttatggtcgtcgacgcggtaacgcagaatgtctttttttcaccggagctgattcgtcgc
+ctggctgatcggcacctgggggtagggtttgaccaactgctggtggttgagccgccgtat
+gatcctgaactggattttcactatcgcattttcaatgctgatggcagtgaagtggcgcag
+tgcggcaacggtgcgcgctgctttgcccgttttgtgcgtctgaaaggactgaccaataag
+cgtgatatccgcgtcagcaccgccaacgggcggatggttctgaccgtcaccgatgatgat
+ctggtccgcgtaaatatgggcgaacccaacttcgaaccttccgccgtgccgtttcgcgct
+aacaaagcggaaaagacctatattatgcgcgccgccgagcagacaatcttatgcggcgtg
+gtgtcgatgggaaatccgcattgcgtgattcaggtcgatgatgtcgataccgcggcggta
+gaaacgcttggtcctgttctggaaagccacgagcgttttccggagcgcgccaatatcggt
+tttatgcaagtggttaagcgcgagcatattcgtttacgcgtttatgagcgtggggcagga
+gaaacccaggcctgcggcagcggcgcgtgtgcggcggttgcagtagggattcagcaaggt
+ttgctggccgaagaagtacgcgtggaactccccggcggtcgtcttgatatcgcctggaaa
+ggtccgggtcacccgttatatatgactggcccggcggtacatgtctacgacggatttatt
+catctatgaagcaaccaggggaagaactgcaggaaacactcacggagcttgatgaccggg
+cggttgtcgattatctgattaaaaatcctgagttttttatccgtaatgcgcgcgcagtag
+aagcgatacgtgtgccgcatccggtacgcggcaccgtttcgttggtcgagtggcacatgg
+cccgcgcacgtaatcatattcatgttctggaagagaacatggcgctgttgatggaacagg
+ctatcgccaacgaaggcctgttttatcgcctactctacctgcagcgcagtctcaccgccg
+ccagcagtctcgacgatatgctgatgcgctttcaccgctgggcgcgcgatctcggcctgg
+caggtgcgagtctgcgcctgtttccggatcgctggcgcttaggtgcgccgtcgaaccaca
+ctcatctggcattaagccgtcagtctttcgaaccgctgcgtattcagcgtttggggcagg
+aacagcactatcttgggccgcttaacggaccagagctgctggtggtgctaccggaagcga
+aagcggtgggatcggtggcgatgtcgatgctgggaagcgatgctgatttgggtgtcgtgc
+tgtttaccagtcgcgatgccagtcactatcaacaagggcaaggaacgcagttacttcatg
+aaattgcgctgatgttgccggagcttctggagcgttggattgaacgcgtatgaccgattt
+acacaccgatgtagaacgctacctacgttatctgagcgtggagcgccagcttagcccgat
+aaccctgcttaactaccagcgtcagcttgaggcgatcatcaattttgccagcgaaaacgg
+cctgcaaagctggcagcaatgtgatgtgacgatggtgcgcaattttgctgtacgcagtcg
+ccgtaaagggctgggagcagcaagtctggcgttacggctttctgcgctacgtagcttttt
+tgactggctggtcagccagaacgaactcaaagctaacccggcgaaaggtgtttcggcacc
+gaaagcgccgcgtcatctgccgaaaaacatcgacgtcgacgatatgaatcggctgctgga
+tattgatatcaatgatcccctcgctgtacgcgaccgtgcaatgctggaagtgatgtacgg
+cgcgggtctgcgtctttctgagctggtggggctggatattaaacacctcgacctggagtc
+tggtgaagtgtgggttatggggaaaggcagcaaagagcgccgcctgccgattggtcgcaa
+cgctgtggcgtggattgagcactggcttgatttgcgcgacctgtttggtagcgaagacga
+cgcgctttttctgtcgaaactgggcaagcgtatctccgcgcgtaatgtgcagaaacgctt
+tgccgaatggggcataaaacaagggctgaataatcacgttcatccgcataaattacgtca
+ctcgttcgccacgcatatgctggagtcgagcggcgatcttcgtggtgtgcaggagctgct
+gggtcatgccaacctctccaccacgcaaatctatactcatcttgattttcaacaccttgc
+ctcggtgtacgatgcggcgcatccacgcgccaaacgggggaaataatgcgtttttaccgg
+cctttggggcgcatctcggcgctcacctttgacctggatgataccctttacgataaccgt
+ccggtgattttgcgcaccgagcgagaggcgcttacctttgtgcaaaattatcatccggcg
+ctgcgcagcttccagaatgaagatctgcaacgcctgcgccaggcggtacgggaagcggaa
+cccgagatttatcacgacgtgacgcgctggcgttttcgttcgattgaacaagcgatgctc
+gacgccgggctgagtgccgaagaagccagtgcaggcgcacacgcagcaatgatcaacttt
+gccaaatggcgcagccgaatcgacgtcccgcagcaaactcacgacaccttaaaacagctg
+gcgaagaaatggccgctggtggcgatcaccaacggtaacgcccagccggagctgtttggt
+ttgggggattattttgagtttgtgctgcgcgctggcccgcacgggcgctcaaaaccgttc
+agcgatatgtactttttggctgcggaaaaactcaacgtgccgatcggcgagatcttacat
+gttggggacgatctcaccactgacgtgggtggggcaattcgcagcggaatgcaggcttgt
+tggatcagaccggaaaatggcgatctgatgcaaacctgggacagccgtttactgccgcat
+ctggaaatttcccggttggcatctctgacctcgctgatataatcagcaaatctgtatata
+tacccagctttttggcggagggcgttgcgcttctccgcccaacctatttttacgcggcgg
+tgccaatggacgtttcttacctgctcgacagccttaatgacaaacagcgcgaagcggtgg
+ccgcgccacgcagcaaccttctggtgctggcgggcgcgggcagtggtaagacgcgcgtac
+tggtgcatcgtatcgcctggttgatgagcgtggaaaactgctcgccatactcgattatgg
+cggtgacgtttaccaacaaagcggcggcggagatgcgtcatcgtatcgggcaactgatgg
+gcacgagccagggcggtatgtgggtcggcaccttccacgggctggcgcaccgtttgctgc
+gtgcgcaccatatggacgccaatctgccgcaggatttccagatcctcgacagtgaagacc
+agctacgcctgcttaagcgtctgatcaaagccatgaacctcgacgagaagcagtggccgc
+cgcggcaggcaatgtggtacatcaacagccagaaagatgaaggcctgcgtccgcatcata
+ttcaaagctacggtaatccggtggagcagacctggcagaaggtgtatcaggcgtatcagg
+aagcgtgtgaccgcgcgggcctggtggacttcgccgagctgctgctgcgcgctcacgagt
+tgtggcttaacaagccgcatatcctgcaacactaccgcgaacgttttaccaatatcctgg
+tggacgaattccaggataccaacaacattcagtacgcgtggatccgcctgctggcgggcg
+acaccggcaaagtgatgatcgtcggtgatgacgaccagtcaatctacggctggcgcgggg
+cgcaggtggagaatattcagcgtttccttaatgatttccccggtgccgaaactattcgtc
+tggagcaaaactaccgctctaccagcaatattctgagcgccgctaacgccctgattgaaa
+acaataacgggcgtctgggtaaaaaactgtggaccgatggcgcggacggtgagcctattt
+ccctctattgcgcttttaacgaactcgatgaagcgcgttttgtggttaaccgcatcaaaa
+cctggcaggacaacggcggagcgcttgccgagtgcgccattctctaccgcagcaacgccc
+agtcgcgggtgctcgaagaggcgttattgcaggccagtatgccgtaccgtatttacggcg
+ggatgcgcttcttcgaacgccaggaaatcaaagatgcgctctcgtatctgcgcctgattg
+ccaaccgcaacgacgacgcggcctttgagcgtgtggtgaatacgccaacgcggggtattg
+gtgaccggacgctggacgtggtacgtcagacatcgcgcgatcgccagttaacactctggc
+aggcatgtcgtgagctgttgcaggaaaaagccctcgccgggcgagctgccagcgccttgc
+agcgatttatggaattaatcgacgccttagcgcaggaaactgccgatatgccgctgcatg
+tacagactgaccgggtaattaaagactccggcctgcgtaccatgtatgagcaggagaagg
+gcgaaaaaggtcagacgcgtatcgaaaacttagaggaactggtgacggcaacgcgccagt
+tcagctacaacgaagaagacgaagatttaatgccgctgcaggcgttcctctcccatgcgg
+cactggaagcaggtgaagggcaggcggatacctggcaggatgcggtgcagttgatgacgc
+tacactcggcgaaaggcctggagttcccgcaggtgtttatcgttggtatggaagagggca
+tgttcccaagccagatgtcgctggatgaaggcgggcgtctggaagaagaacgccgtctgg
+cctacgttggcgtaacccgcgcgatgcagaaactgacgctgacctacgcggaaacccgcc
+gtctgtatggtaaagaggtttaccatcgcccgtcgcgctttatcggcgagctgccggaag
+agtgtgtggaagaggtgcgcctgcgcgccacggtaagccgcccggtcagccatcagcgga
+tgggtacgccgatggtcgagaacgacagcggctacaagctcggccagcgcgtacgccacg
+ctaagtttggtgaaggcaccattgtcaatatggaaggcagcggtgagcatagccgtttgc
+aggtggcatttcagggccagggtattaaatggctggtggcggcatacgcccggctggagt
+cggtgtaacgttgccggatgcggtgctgcgcaccttatttggcctaaaaaatcattcaga
+ttcaataaattgcaacgtcatgtaggccggatagggcgtttacgccgcatccggcatctg
+cgccatcttcagtatctgacacaaaactatcgttttaacctttccgctcgacggaaatca
+tggtgacaaaaggatagcgttgccacgggattgccccgcctttcatatacatatgtgaaa
+tcgtgccatcaagataaagcagctgctcaacgttcagtttcgctttggcataacaggcaa
+aatcataaaaatttgttgcctgctggctcaacaaaaacacggcgttcccatgtttattaa
+tcccaacaccgttacgaattttgcttgaggcgacgttgggatgaatacgcggattaatta
+caccgttttccatcaacattggccctgactgcaccgcaaactgaatctctttactggttt
+tgaaggcatccagacgaacgatgccgactttatctcccgcgacataaaacacgccgccag
+gacggataaagaaattcccttcacctgaagcgagatttaacgccaccttctgctgaccgt
+tttcgatgtacaaaccgagcggcgcatagctttcatcatagatgccgccgttcatcgcca
+tctgcacctgaccctgactattaatatccgccagcagagcatgtaacgttccccacgctt
+cgccattggctttttgccagtacattttcacccgctctgtttgaggattaacggtatacg
+cctgtacggtcagcgtcggatctgagagtgcgcaatcatcagcggcaacagcaaacaagg
+gaagtaaggtgagggcgagaaaaatccgtttgagattcaaggtgatcattcctttaccaa
+tgagtagctgatgcgccattataggtcctggatgtgggatttttttatcctgttagcgac
+cttgacgagtaccaaaaagcgcgaagttcaactattgttctgtggtgttctgttgcgtgt
+tgacggcaaaattttgctggcgtaacatgcgcgcacgatcactctaagaggacattcgcc
+ttggacacacccagtagatactggctcactatcctgtcatccaggatcaactcctaaggc
+tatccctttttgctgatagccttagcggttgtcagcgacctcaatttttcccgtcgcgct
+gagtcaggctgtttaatggtctgaaacccaatttgtttctgtgtgcccaccgaactgtcc
+gatattttaagcattgggagtcccggtcatgctgagcgcatttcaactggaaaataaccg
+actgacccggctggaagtcgaagagtcacaaccccttgtaaatgcagtatggattgatct
+tgtcgaaccggacgacgacgagcgactgcgcgtacaatctgaacttggccagagcctggc
+aacccgcccggaactggaagacatcgaagcatcggcacgtttctttgaagacgacgacgg
+cctgcatattcactccttcttcttctttgaagatgcggaagatcacgccggtaactccac
+tgtggcatttaccatccgtgatggtcgtctgtttactctgcgtgagcgtgaactgcccgc
+ttttcgtctgtatcgtatgcgtgcccgtagccagtcgatggtagacggtaacgcctacga
+gttgctgctggatctgttcgaaaccaaaatcgaacagttggcagatgaaattgaaaatat
+ctatagcgacctggagcagttgagccgggtgattatggaagggcatcagggcgatgagta
+cgacgaggcgctctccactctggcggaactggaagatatcggctggaaagttcgcctgtg
+tctgatggatacccagcgcgcgctcaacttcctggtgcgtaaagcgcgtttaccgggtgg
+gcaactggagcaggcgcgtgaaatcctgcgagatatcgaatccctgctgccgcataacga
+atccctgttccagaaggtgaacttcctgatgcaggcggcaatgggttttatcaacatcga
+gcagaaccgcatcatcaaaatcttctcggtggtatccgtggtattcctgccgccgacgct
+cgttgcttccagctatggcatgaactttgagtttatgccagaactgaagtggagcttcgg
+ctaccctggcgcgattatctttatgatcctcgcgggcctggcaccgtatctgtactttaa
+gcggaagaactggttgtaaaaaacgagagcggtggcttagtctggctaagccacctgtta
+ttcaaaggctccaggtatttaacccttttacctctttctcatagaaccatttgttcgtgt
+taacagcaacataggctgctacggcaattcccagaatgttaacgccaattagtgcaccaa
+caaatagagatagaataccaagtaatagaactataattgcttttttccataaccccagga
+caaataaatatatccaggaacagaagaaagcaatgaaattcatttgaatagttaagcgtt
+gtcttacttttaatgctttaaatgctgctttatattctggtgttgccccccagaatccag
+gaaaaccatgttgatcataaaaattaaatcggtatttccatttttcacttaatgaaccat
+cgttcatatattccttactcataaatactccataactattgttttgatgaatcagtaggt
+gcaagcattagcatactgaaagtggaaaaataacaaatcaaaaaaatcatcgaaccattg
+cctgaacaggcaaaatcttcggctatcattgtgatgatagagatgatatatactgctaat
+gtaccaaaaacataagtttttatatagatgaaaccactatcacggagtcgctggcaattc
+atgttgatgacgagataatggagtacgatggtagagactataacaagaaagcctgcttct
+ccatcgttaaaaaagataataagaaaggcaaaaatgaaatttattaaaataaatgaaaat
+atataacgacgtctggaaatcttaccgttagatgttgggataaatatacgtaacataaat
+tttacatccttgtatgagtctccggtcagcatggcaatatgcccactctcatgcaagagt
+cggcatattttttcagaatatatttattttttatttggacgttctacgctgcgtataaat
+cgcatccatcacaaaaattgccagcgccacccaaataaaggcgaaagtcaccatcttatc
+ggcacccggtttttcaccataaaacgtcacagccagcaggaacatcagcgtcgggccaat
+gtactggaaaaagcctaacgttgagagacgcaagcgcgtggcagcggcggtaaaacacaa
+cagcggtacggtagtgacaataccggcggcgatcagcagtaaattcagcgacatcgggtt
+ttgccccatatggctggttgagctgtcggcaatagcaaacaggtaaattgccgccacggg
+cagcagccacatggtttcgattaacatgccggtttgcgcttcaacggcaatcttcttgcg
+taccagaccgtagaaggcaaaactaaatgccagtcccagcgcgataataggtagcgaacc
+aaaagtccacagctggactaacacgccacatatcgccagaatcaccgccagccattgcat
+ccggcggaatcgctcgccgaggaaaatcatccccagcacaatgttcaccagcgggttaat
+aaagtaaccaaggctcgcttccagcatatggtgattgttcaccgcccagataaacagtag
+ccagttgccaccaatcagcacggcagagactgccagcataaaaattttctgtggcgtctg
+aatcagcgtttttaaataggaccactggcggcaaatgctcatcagcaccaccataaagaa
+aaacgaccagatcacgcgatgcgtcaggatttcatcggcgggcacgtagtaaatcaactt
+gaagtacgctggcgctataccccaaataaaataagcggcaagagcgagtaatacgccctg
+ccgcgtttgttttgcatccatcgggaatactcatttttaattggtaacagcagtttacct
+gcttttatgtcttcaacctaccatataggtggcggtggcactggcaatataaagctgttc
+ttcattgtgtaattcaacgcgggcgacggcgactttattgcctgcacgcaacaggctact
+agtagcagtaaaacgctcgcccctgcctgggcgcagataatcaacgcgaagatcaatggt
+ccccatccgcgatagccgctggcgtagttcatcttcactgatggtttcgtggcgggttaa
+ggtacttcccacgcacaccagaccggcggcgacatccagcgccgacgcaatgaccccgcc
+gtgcaaaatgctttgcgcccagttgcccaccatcattggctgatttttaaaggccagctg
+tgcgaactctttttcgtaacgctccagttccatccccaatgcgcggttaaatggcatgtg
+ataaacaaacatctcacccactaatttcagggcttgttcagcggtcagtacggcagacat
+atcatccttacacttcattggttaatgaaatgttgattttatgcttctttgttgttggtt
+tctactttaggaagggataactaacggctatggagttaagtatgtaaaatagcccgcaga
+aaaatattcaccttatcaataattcgttacggagaacacgaccgatgcggactctgcagg
+gctggttgttgccggtgtttatgttgcctatggcagtatatgcacaagaggcaacggtga
+aagaggtgcatgacgcgccagcggtgcgtggcagtattatcgccaatatgctgcaggagc
+atgacaatccgttcacgctctatccttatgacaccaactacctcatttacacccaaacca
+gcgatctgaataaagaagcgattgccagttacgactgggcggaaaatgcgcgtaaggatg
+aagtaaagtttcagttgagcctggcatttccgctgtggcgtgggattttaggcccgaact
+cggtgttgggtgcgtcttatacgcaaaaatcctggtggcaactgtccaatagcgaagagt
+cttcaccgtttcgtgaaaccaactacgaaccgcaattgttcctcggttttgccaccgatt
+accgttttgcaggttggacgctgcgcgatgtggagatggggtataaccacgactctaacg
+ggcgttccgacccgacctcccgcagctggaaccgcctttatactcgcctgatggcagaaa
+acggtaactggctggtagaagtgaagccgtggtatgtggtgggtaatactgacgataacc
+cggatatcaccaaatatatgggttactaccagcttaaaatcggctatcacctcggtgatg
+cggtgctcagtgcgaaaggacagtacaactggaacaccggctacggcggcgcggagttag
+gcttaagttacccgatcaccaaacatgtgcgcctttatactcaggtttacagcggctatg
+gcgaatcgctcatcgactataacttcaaccagacccgtgtcggtgtgggggttatgctaa
+acgatttgttttgatgaacggttgagtggttggcaaatctggaatccagcatccaggatt
+accctctcagagactaaaagcattgcagtttctcgcgcaggcgctgaaaatagcgcctgt
+ttttatttcaggcaatcggggtgaatgtggcgcaggcggaagtgttgaatctggagtccg
+gagctaaacaggttttacaagaaacctttggctaccaacagtttcgccccggccaggaag
+aaattatcgacactgtgctttccggccgcgattgcctcgtcgtcatgcccactggtggcg
+gaaaatccctttgctatcaaatccctgccttattgctaaacggccttaccgtggttgttt
+caccgctgatttcgttgatgaaagatcaggtggatcaactgcaagccaacggcgtggcgg
+cggcgtgccttaactcgacgcaaacccgcgaacagcaacttgaagtgatgacaggctgcc
+gcaccgggcaaattcgtctgctttatatcgccccggaacgcctgatgctggataactttc
+ttgagcatctggcgcactggaatccggtgttattagccgttgatgaagcgcactgtatct
+cccaatggggccacgatttccgcccggaatatgccgcgctcggtcagttgcgccagcggt
+tcccgacgctgccgtttatggcgctgaccgccacagccgacgacaccacgcgccaggata
+tcgtgcgcctgctggggctgaacgatccgctgattcaaatcagcagttttgaccgtccga
+atattcgctacatgctgatggagaagttcaaaccgctcgatcagttgatgcgctacgtgc
+aggaacagcgcggtaagtcaggcattatctactgcaacagccgcgcgaaagtagaagaca
+ccgctgcgcgcctgcaaagcaagggaattagcgcggcggcctatcatgccgggctggaaa
+ataatgttcgcgccgatgtgcaggaaaaattccagcgcgatgacctgcaaattgtggtgg
+cgacggtggcgttcggcatgggcatcaataaaccaaacgttcgcttcgtggtccactttg
+atattccgcgcaatatcgaatcctattatcaggaaaccggacgcgccgggcgtgatggcc
+tgcccgcggaagcgatgctgttttacgatccggctgatatggcgtggctgcgccgttgtc
+tggaagagaagccgcaggggcagttgcaggatatcgagcgccacaaactcaatgcgatgg
+gcgcgtttgccgaagcgcaaacttgccgtcgtctggtattgctgaactattttggcgaag
+ggcgtcaggagccgtgcgggaactgcgatatctgcctcgatccgccgaaacagtacgacg
+gttcaaccgatgctcagattgccctttccaccattggtcgtgtgaatcagcggtttggga
+tgggttatgtggtggaagtgattcgtggtgctaataaccagcgtatccgcgactatggtc
+atgacaaactgaaagtctatggcatgggccgtgataaaagccatgaacattgggtgagcg
+tgatccgccagctgattcacctcggcctggtgacgcaaaatattgcccagcattctgccc
+tacaactgacagaggccgcgcgcccggtgctgcgcggcgaatcctctttgcaacttgccg
+tgccgcgtatcgtggcgctcaaaccgaaagcgatgcagaaatcgttcggcggcaactatg
+atcgcaaactgttcgccaaattacgcaaactgcgtaaatcgatagccgatgaaagtaatg
+tcccgccgtacgtggtgtttaacgacgcaaccttgattgagatggctgaacagatgccga
+tcaccgccagcgaaatgctcagcgttaacggcgttgggatgcgcaagctggaacgctttg
+gcaaaccgtttatggcgctgattcgtgcgcatgttgatggcgatgacgaagagtagtcag
+cagcataaaaaagtgccagtatgaagactccgtaaacgtttcccccgcgagtcaaatgta
+tgttgatgttatttctcaccgtcgccatggtgcacattgtggcgcttatgagccccggtc
+ccgatttcttttttgtctctcagaccgctgtcagtcgttcccgtaaagaagcgatgatgg
+gcgtgctgggcattacctgcggcgtaatggtttgggctgggattgcgctgcttggcctgc
+atttgattatcgaaaaaatggcctggctgcatacgctgattatggtgggcggtggcctgt
+atctctgctggatgggttaccagatgctacgtggtgcactgaaaaaagaggcggtttctg
+cacctgcgccacaggtcgagctggcgaaaagtgggcgcagtttcctgaaaggtttactga
+ccaatctcgctaatccgaaagcgattatctactttggctcggtgttctcattgtttgtcg
+gtgataacgttggcactaccgcgcgctggggcatttttgcgctgatcattgtcgaaacgc
+tggcgtggtttaccgtcgttgccagcctgtttgccctgccgcaaatgcgccgtggttatc
+aacgtctggcgaagtggattgatggttttgccggggcgttatttgccggatttggcattc
+atttgattatttcgcggtgatgccagacgcgtcttcagagtaagtcggataaggcgttta
+cgccgcatccgacattatttttcacgcatgcctcgccgatgctaacagcgctcccaccag
+cataaacaacgagccgaaaatcttattcagcgccttcatctgctttggtcctttaatcca
+tagagcaatccgttgagcaagggtggcgtaaccgatcatcacaataatatcgaccacaat
+agtggtgacgccgagcacgatatactgcatcagttgcggctgttgcggcatgatgaattg
+cggaaatagcgccgccagaaacacaatacttttgggattggtgagattcacaaaaactgc
+gcgctggaacaaatgtcgacgcgattgagtagaggccagcgatttaaggtcaattgcacc
+agcggcgcgccactgctggattcccagccaaatcaagtaagccgcgcctgcccacttcaa
+cacttcaaacgcaatcactgagcgggaaaatagcgtccccaaccccacgccaaccagcac
+aatatgaatcgccagtccggtctgaagcccagcaatagacgccaccgcgccgcgataacc
+gtggttgagcgaggtggtcatagtgttgattgcaccagagcctggcgacaggcttaaaat
+gatcgatgtcagcaggtaggcaaaccaccattctaaggtcatgatgaactcccggtgtgt
+ctatttttgtgccacaatacgctactgtcgcagcgttgtgtcaggcacgctaaaaaaaac
+gattttacgtggtttaagaggcagattacccgatgtttcagcagcaaaaagactgggaaa
+caagagaaaacgcgtttgctgcttttaccatgggaccgctgactgatttctggcgtcagc
+gtgatgaagcagagtttactggtgtggatgacattccggtgcgctttgtccgttttcgcg
+cacagcaccatgaccgggtggtagtcatctgcccggggcgtattgagagctacgtaaaat
+atgcggaactggcctatgacctgttccatttggggtttgatgtcttaatcatcgaccatc
+gcgggcagggacgttccggtcgcctgttagccgatccgcatctcgggcatgttaatcgct
+ttaatgattatgttgatgatctggcggcattctggcagcaggaggttcagcccggtccgt
+ggcgtaaacgctatatactggcacattcgatgggcggtgcgatctccacattatttctgc
+aacgccatccaggtgtatgtgacgccattgcgctaactgcgccaatgtttgggatcgtga
+ttcgtatgccgtcatttatggcacggcagatcctcaactgggccgaagcgcatccacgtt
+tccgtgatggctatgcaataggcaccgggcgctggcgcgcgttgccgtttgctatcaacg
+tactgacccacagcagacagcgatatcgacgtaacttacgcttctatgctgatgacccaa
+cgattcgcgtcggtgggccgacctaccattgggtacgcgaaagtattctggctggcgaac
+aggtgttagccggtgcgggtgatgacgccacgccaacgcttctcttgcaggctgaagagg
+aacgcgtggtggataaccgcatgcatgaccgtttttgtgaactccgcaccgccgcgggcc
+atcctgtcgaaggaggacggccgttggtaattaaaggtgcttaccatgagatcctttttg
+aaaaggacgcaatgcgctcagtcgcgctccacgccatcgttgattttttcaacaggcata
+actcacccagcggaaaccgctctacagaggtttaaatttcttatgtaccaggttgttgcg
+tctgatttagatggcacgttactttctcccgaccatacgttatccccttacgccaaagaa
+actctgaagctgctcaccgcgcgcggcatcaactttgtgtttgcgaccggtcgtcaccac
+gttgatgtggggcaaattcgcgataatctggagattaagtcttacatgattacctccaat
+ggtgcgcgcgttcacgatctggatggtaatctgatttttgctcataacctggatcgcgac
+attgccagcgatctgtttggcgtagtcaacgacaatccggacatcattactaacgtttat
+cgcgacgacgaatggtttatgaatcgccatcgcccggaagagatgcgcttttttaaagaa
+gcggtgttccaatatgcgctgtatgagcctggattactggagccggaaggcgtcagcaaa
+gtgttcttcacctgcgattcccatgaacaactgctgccgctggagcaggcgattaacgct
+cgttggggcgatcgcgtcaacgtcagtttctctaccttaacctgtctggaagtgatggcg
+ggcggcgtttcaaaaggccatgcgctggaagcggtggcgaagaaactgggctacagcctg
+aaggattgtattgcgtttggtgacgggatgaacgacgccgaaatgctgtcgatggcgggg
+aaaggctgcattatgggcagtgcgcaccagcgtctgaaagaccttcatcccgagctggaa
+gtgattggtactaatgccgacgacgcggtgccgcattatctgcgtaaactctatttatcg
+taatcgttctttatttggtcagttgtcaacctgatacttcgctacaatggatacccgtta
+atcaaagagttttccattgtggcgctacttatcatcaccacgattctgtgggccttctcc
+tttagcttttatggcgagtaccttgcggggcacgtcgatagctattttgcggtgctggtg
+cgcgttggcctggcggcactcgtttttctgccgtttctgcgtacccgtggcaatagcctg
+aaaacggtcggcctgtatatgctggtgggcgcgatgcagcttggcgtgatgtatatgctg
+agtttccgcgcttatctctacctgacggtttccgagctgctgctgttcaccgtgctgacg
+ccgctctacatcacgctgatttatgacatcatgagtaagcgccgtctgcgctggggctat
+gcctttagcgccttgctggcggtgattggtgccgggattattcgctatgatcaggtcacc
+gaccatttctggactggcttgctgctggtgcaactctccaatatcacttttgccattggc
+atggtgggttacaaacgcctgatggaaactcgcccgatgccacagcataacgcctttgcg
+tggttctatcttggcgcgtttctggtggcagtgattgcatggttcttgctgggaaatgcg
+cagaaaatgccgcaaaccacgctgcaatggggcattctggtgtttcttggcgtggtggct
+tccgggattggctactttatgtggaactacggcgcgacgcaggtggacgccggaacgctg
+ggcattatgaataatatgcacgttccggcagggctgctggtaaacctggctatctggcac
+caacagccgcactggccaacgtttattacaggcgcgctggtgatcctggcctcactgtgg
+gtgcatcgtaagtgggtcgctccgcgctcttcacaaacggcagatgatcgcaggcgtgat
+tgcgcgctgagcgaataaacgcttccgtaactggctgacgctgctcgccatcgcgcacgg
+cggcgtacagtcggctccacaagccttcgcccagggttttggtcaccaccagaccctggc
+gctcaaaactctctactacccaatgcggtagcgcggcaatacccatccgcgcggcaacca
+tctgaatcaacaataaggtgttatcgacgcttttcagtgacgggctgacgcctgccggct
+gaagaaaatgccgccagacatccagtcgactacgctgcaccggataaattaatagcgtct
+cgctggcgagatcttccggtgtaattcgcgttttcgccgccagtggatggtcaggtgcta
+acaccagacgcacttcatagtcgaacatcggcgaataatgcaggccactgcgcggcagaa
+tatcggacgtcattaccagatccagctctccctgttgcaaggcgggctgcgggtcaaatg
+tcacgcccgatttaaaatccatctctacctgcggccagttcttatggaaattttctaacg
+cgggtgtcagccactgaatacagctatggcactcaatggcaatgcgcagacgcgtctgct
+gcggttcattgcaggcttgcagggcctggctaatttgcggcagtacctggtttgccagtt
+gcaacaggatttctccctgcggtgtaaagcgtagcggctggctcttacgcacaaatagcc
+ggaagccaaggcgttgttccagatcgctaaactggtgagacagggcggattgcgtctgat
+gcaacgtcgccgcagcggctgcgagcgagccgcagttccgcaacgcttgtagcgttttca
+ggtgttttacttcgatcatgaaagtccttcacttcggcatgaataatttgcgcttgagga
+atatacagtaaccgccaattatggatgtgtaaacatctggacggctaaaatccttcgtct
+tttaaatttatggtgcgttggctgcgtttctccaccccggtcacttacttcagtaagctc
+ccggggatgaataaacttgccgccttccctaaattcaaaatccataggatttacatataa
+ttagaggaagaaaaaatgacaatattgaatcacaccctcggtttccctcgcgttggcctg
+cgtcgcgagctgaaaaaagcgcaagaaagttattgggcggggaactccacgcgtgaagaa
+ctgctggcggtagggcgtgaattgcgtgctcgtcactgggatcaacaaaagcaagcgggt
+atcgacctgctgccggtgggcgattttgcctggtacgatcatgtactgaccaccagtctg
+ctgctgggtaacgttccggcgcgtcatcagaacaaagatggttcggtagatatcgacacc
+ctgttccgtattggtcgtggacgtgcgccgactggcgaacctgcggcggcagcggaaatg
+accaaatggtttaacaccaactatcactacatggtgccggagttcgttaaaggccaacag
+ttcaaactgacctggacgcagctgctggacgaagtggacgaggcgctggcgctgggccac
+aaggtgaaacctgtgctgctggggccggttacctggctgtggctggggaaagtgaaaggt
+gaacaatttgaccgcctgagcctgctgaacgacattctgccggtttatcagcaagtgctg
+gcagaactggcgaaacgcggcatcgagtgggtacagattgatgaacccgcgctggtactg
+gaactaccacaggcgtggctggacgcatacaaacccgcttacgacgcgctccagggacag
+gtgaaactgctgctgaccacctattttgaaggcgtaacgccaaatctcgacacgattact
+gcgctgcctgttcagggtctgcatgttgacctcgtacatggtaaagatgacgttgctgaa
+ctgcacaagcgcctgccttctgactggttgctgtctgcgggtctgatcaatggtcgtaac
+gtctggcgcgccgatcttaccgagaaatatgcgcaaattaaggacattgtcggcaaacgt
+gatttgtgggtggcatcttcctgctcgttgctgcacagccccatcgacctgagcgtggaa
+acgcgtcttgatgcagaagtgaaaagctggtttgccttcgccctacaaaaatgccatgaa
+ctggcactgctgcgcgatgcgctgaacagtggtgacacggcagctctggcagagtggagc
+gccccgattcaggcacgtcgtcactctacccgcgtacataatccggcggtagaaaagcgt
+ctggcggcgatcaccgcccaggacagccagcgtgcgaatgtctatgaagtgcgtgctgaa
+gcccagcgtgcgcgttttaaactgccagcgtggccgaccaccacgattggttccttcccg
+caaaccacggaaattcgtaccctgcgtctggatttcaaaaagggcaatctcgacgccaac
+aactaccgcacgggcattgcggaacatatcaagcaggccattgttgagcaggaacgtttg
+ggactggatgtgctggtacatggcgaggccgagcgtaatgacatggtggaatactttggc
+gagcacctcgacggatttgtctttacgcaaaacggttgggtacagagctacggttcccgc
+tgcgtgaagccaccgattgtcattggtgacattagccgcccggcaccgattaccgtggag
+tgggcgaagtatgcgcaatcgctgaccgacaaaccggtgaaagggatgctgacggggccg
+gtgaccatactctgctggtcgttcccgcgtgaagatgtcagccgtgaaaccatcgccaaa
+cagattgcgctggcgctgcgtgatgaagtggccgatctggaagccgctggaattggcatc
+atccagattgacgaaccggcgctgcgcgaaggtttaccgctgcgtcgtagcgactgggat
+gcgtatctccagtggggcgtagaggccttccgtatcaacgccgccgtggcgaaagatgac
+acacaaatccacactcacatgtgttattgcgagttcaacgacatcatggattcgattgcg
+gcgctggacgcagacgtcatcaccatcgaaacctcgcgttccgacatggagttgctggag
+tcgtttgaagagtttgattatccaaatgaaatcggtcctggcgtctatgacattcactcg
+ccaaacgtaccgagcgtggaatggattgaagccttgctgaagaaagcggcaaaacgcatt
+ccggcagagcgcctgtgggtcaacccggactgtggcctgaaaacgcgcggctggccagaa
+acccgcgcggcactggcgaacatggtgcaggcggcgcagaacttgcgtcgggggtaaaat
+ccaaaccgggtggtaataccacccggtcttttctcattacagcgacttcttcccaccata
+ctgcttaaaccattccagcatacgctgccagccatcttctgcagatgcggcatgatagct
+cgggcgataatcagcgttgaatgcatgcccggcgtccgggtacacgataatctctgcttt
+cgcattagcagcccgcagcgcctggcgcatggtttcaacgctctcctgcggaatgctgtt
+atcctgaccaccatataagccgagaatcggcgcgttaagatcggttgcgatatcaacagg
+ttgtttcggtgaattcagcgacttgtcgcccgtcagtttgccgtaccacgccactgcggc
+ttttagctgtggattatgcgcggcatacagccaggtgatacgtccaccccagcagaatcc
+ggtgatcattaaacgatgaacatcgccgccgttgcgggaagcccaactggcgacatgatc
+gagatcggccagcacctgcgagtcaggcacttttgctaccagaccgctaagcaacgtggg
+gatatcggcaaaatcattcggatcgccttcgcggaagtaaagttcaggtgcgatagccag
+atacccctccagcgccagacggcgacaaatgtcgcggatatgttcatgcacgccaaaaat
+ttcctgcactacaatgaccactggcagtgggccatcgctttgctttggtctggcatggta
+agcaggcatgttatccccttgtgaagggatagaggtgaagcccgccacaatcgcgtcgtc
+cggggtctgaacgatggtcgaagcgagaggcgatgcagcaggtgcaaatccagattgttg
+tgttgttgccatggtattctccgtacccttataaaaatgttgcgcaatgttaactatagt
+cagcatgcaacaaatcacattgcctgaatcggctcatcttttatgcagtcctgcagaatg
+aagggtgatttatgtgatttgcatcacttttggtgggtaaatttatgcaacgcatttgcg
+tcatggtgatgagtatcacgaaaaaatgttaaacccttcggtaaagtgtctttttgcttc
+ttctgactaaaccgattcacagaggagttgtatatgtccaagtctgatgtttttcatctc
+ggcctcactaaaaacgatttacaaggggctacgcttgccatcgtccctggcgacccggat
+cgtgtggaaaagatcgccgcgctgatggataagccggttaagctggcatctcaccgcgaa
+ttcactacctggcgtgcagagctggatggtaaacctgttatcgtctgctctaccggtatc
+ggcggcccgtctacctctattgctgttgaagagctggcacagctgggcattcgcaccttc
+ctgcgtatcggtacaacgggcgctattcagccgcatattaatgtgggtgatgtcctggtt
+accacggcgtctgtccgtctggatggcgcgagcctgcacttcgcaccgctggaattcccg
+gctgtcgctgatttcgaatgtacgactgcgctggttgaagctgcgaaatccattggcgcg
+acaactcacgttggcgtgacagcttcttctgataccttctacccaggtcaggaacgttac
+gatacttactctggtcgcgtagttcgtcactttaaaggttctatggaagagtggcaggcg
+atgggcgtaatgaactatgaaatggaatctgcaaccctgctgaccatgtgtgcaagtcag
+ggcctgcgtgccggtatggtagcgggtgttatcgttaaccgcacccagcaagagatcccg
+aatgctgagacgatgaaacaaaccgaaagccatgcggtgaaaatcgtggtggaagcggcg
+cgtcgtctgctgtaattctcttctcctgtctgaaggccgacgcgttcggccttttgtatt
+tttgcgtagcgcctcgcaggaaatgcctttccaactggacgtttgtacagcacaattcta
+ttttgtgcgggtaagttgttgcgtcaggaggcgttgtggatttctcaatcatggtttacg
+cagttattgcgttggtgggtgtggcaattggctggctgtttgccagttatcaacatgcgc
+agcaaaaagccgagcaattagctgaacgtgaagagatggtcgcggagttaagcgcggcaa
+aacaacaaattacccaaagcgagcactggcgtgcagagtgcgagttactcaataacgaag
+tgcgcagcctgcaaagtattaacacctctctggaggccgatctgcgtgaagtaaccacgc
+ggatggaagccgcacagcaacatgctgacgataaaattcgccagatgattaacagcgagc
+agcgcctcagtgagcagtttgaaaacctcgccaaccgtatttttgagcacagcaatcgcc
+gggttgatgagcaaaaccgtcagagtctgaacagcctgttgtcgccgctacgtgaacaac
+tggacggtttccgccgtcaggttcaggacagcttcggtaaagaagcacaagaacgccata
+ccctgacccacgaaattcgcaatctccagcaactcaacgcgcaaatggcccaggaagcga
+tcaacctgacgcgcgcgctgaaaggcgacaataaaacccagggcaactggggcgaggtag
+tattgacgcgggtgctggaggcttccggtctgcgtgaagggtatgaatatgaaacccagg
+tcagcatcgaaaatgacgcccgctcgcggatgcagccggatgtcatcgtgcgcctgccgc
+agggaaaagatgtggtgatcgacgccaaaatgacgctggtcgcctatgaacgctatttta
+acgccgaagacgactacacccgcgaaagcgcgctacaggaacatatcgcgtcggtgcgta
+accatatccgtttgctgggacgcaaagattatcaacagctgccggggctgcgaactctgg
+attacgtgctgatgtttattcccgttgaacccgcttttttactggcgcttgaccgccagc
+cggagctgatcaccgaagcgttgaaaaacaacatcatgctggttagcccgactacgctgc
+tggtggcgctgcgcactatcgccaacctgtggcgttatgagcatcaaagccgcaacgccc
+agcaaatcgccgatcgtgccagcaagctgtacgacaagatgcgtttgttcatcgatgaca
+tgtccgcgattggtcaaagtctcgacaaagcgcaggataattatcggcaggcaatgaaaa
+aactctcttcagggcgcggaaatgtgctggcgcaggcagaagcgtttcgcggtttaggag
+tagaaattaaacgcgagattaatccggatttggctgaacaggcggtgagccaggatgaag
+agtatcgacttcggtcggttccggagcagccgaatgatgaagcttatcaacgcgatgatg
+aatataatcagcagtcgcgctagcccattgggagtagttaagccgggtagaaatctaggg
+catcgacgcccaatctgttacacttctggaacaattttttgatgagcaggcattgagatg
+gtggataagtcacaagaaacgacgcactttggttttcagaccgtcgcgaaggaacaaaaa
+gcggatatggtcgcccacgttttccattccgtggcatcaaaatacgatgtcatgaatgat
+ttgatgtcatttggtattcatcgtttgtggaagcgattcacgattgattgcagcggcgta
+cgccgtgggcagaccgtgctggatctggctggtggcaccggcgacctgacagcgaaattc
+tcccgcctggtcggagaaactggcaaagtggtccttgctgatatcaatgaatccatgctc
+aaaatgggccgcgagaagctgcgtaatatcggtgtgattggcaacgttgagtatgttcag
+gcgaacgctgaggcgctgccgttcccggataacacctttgattgcatcaccatttcgttt
+ggtctgcgtaacgtcaccgacaaagataaagcactgcgttcaatgtatcgcgtgctgaaa
+cccggcggccgcctgctggtgcttgagttctcgaagccaattatcgagccgctgagcaaa
+gcctatgatgcatactccttccatgtgctgccgcgtattggctcactggtcgcgaacgac
+gccgacagctaccgttatctggcagaatccatccgtatgcatcccgatcaggataccctg
+aaagccatgatgcaggatgccggattcgaaagtgtcgactactacaatctgacggcaggg
+gttgtggcgctgcatcgtggttataagttctgacaggagaccggaaatgccttttaaacc
+tttagtgacggcaggaattgaaagtctgctcaacaccttcctgtatcgctcacccgcgct
+gaaaacggcccgctcgcgtctgctgggtaaagtattgcgcgtggaggtaaaaggcttttc
+gacgtcattgattctggtgttcagcgaacgccaggttgatgtactgggcgaatgggcagg
+cgatgctgactgcaccgttatcgcctacgccagtgtgttgccgaaacttcgcgatcgcca
+gcagcttaccgcactgattcgcagtggtgagctggaagtgcagggcgatattcaggtggt
+gcaaaacttcgttgcgctggcagatctggcagagttcgaccctgcggaactgctggcccc
+ttataccggtgatatcgccgctgaaggaatcagcaaagccatgcgcggaggcgcaaagtt
+cctgcatcacggcattaagcgccagcaacgttatgtggcggaagccattactgaagagtg
+gcgtatggcacccggtccgcttgaagtggcctggtttgcggaagagacggctgccgtcga
+gcgtgctgttgatgccctgaccaaacggctggaaaaactggaggctaaatgacgccaggt
+gaagtacggcgcctatatttcatcattcgcacttttttaagctacggacttgatgaactg
+atccccaaaatgcgtatcaccctgccgctacggctatggcgatactcattattctggatg
+ccaaatcggcataaagacaaacttttaggtgagcgactacgactggccctgcaagaactg
+gggccggtttggatcaagttcgggcaaatgttatcaacccgccgcgatctttttccaccg
+catattgccgatcagctggcgttattgcaggacaaagttgctccgtttgatggcaagctg
+gcgaagcagcagattgaagctgcaatgggcggcttgccggtagaagcgtggtttgacgat
+tttgaaatcaagccgctggcttctgcttctatcgcccaggttcataccgcgcgattgaaa
+tcgaatggtaaagaggtggtgattaaagtcatccgcccggatattttgccggttattaaa
+gcggatctgaaacttatctaccgtctggctcgctgggtgccgcgtttgctgccggatggt
+cgccgtctgcgcccaaccgaagtggtgcgcgagtacgaaaagacattgattgatgaactg
+aatttgctgcgggaatctgccaacgccattcagcttcggcgcaattttgaagacagcccg
+atgctctacatcccggaagtttaccctgactattgtagtgaagggatgatggtgatggag
+cgcatttacggcattccggtgtctgatgttgcggcgctggagaaaaacggcactaacatg
+aaattgctggcggaacgcggcgtgcaggtgttcttcactcaggtctttcgcgacagcttt
+ttccatgccgatatgcaccctggcaacatcttcgtaagctatgaacacccggaaaacccg
+aaatatatcggcattgattgcgggattgttggctcgctaaacaaagaagataaacgctat
+ctggcagaaaactttatcgccttctttaatcgcgactatcgcaaagtggcagagctacac
+gtcgattctggctgggtgccaccagataccaacgttgaagagttcgaatttgccattcgt
+acggtctgtgaacctatctttgagaaaccgctggccgaaatttcgtttggacatgtactg
+ttaaatctgtttaatacggcgcgtcgcttcaatatggaagtgcagccgcaactggtgtta
+ctccagaaaaccctgctctacgtcgaaggggtaggacgccagctttatccgcaactcgat
+ttatggaaaacggcgaagcctttcctggagtcgtggattaaagatcaggtcggtattcct
+gcgctggtgagagcatttaaagaaaaagcgccgttctgggtcgaaaaaatgccagaactg
+cctgaattggtttacgacagtttgcgccagggcaagtatttacagcacagtgttgataag
+attgcccgcgagcttcagtcaaatcatgtacgtcagggacaatcgcgttattttctcgga
+attggcgctacgttagtattaagtggcacattcttgttggtcagccgacctgaatggggg
+ctgatgcccggctggttaatggcaggtggtctgatcgcctggtttgtcggttggcgcaaa
+acacgctgattttttcatcgctcaaggcgggccgtgtaacgtataatgcggctttgttta
+atcatcatctaccacagaggaacatgtatgggtggtatcagtatttggcagttattgatt
+attgccgtcatcgttgtactgctttttggcaccaaaaagctcggctccatcggttccgat
+cttggtgcgtcgatcaaaggctttaaaaaagcaatgagcgatgatgaaccaaagcaggat
+aaaaccagtcaggatgctgattttactgcgaaaactatcgccgataagcaggcggatacg
+aatcaggaacaggctaaaacagaagacgcgaagcgccacgataaagagcaggtgtaatcc
+gtgtttgatatcggttttagcgaactgctattggtgttcatcatcggcctcgtcgttctg
+gggccgcaacgactgcctgtggcggtaaaaacggtagcgggctggattcgcgcgttgcgt
+tcactggcgacaacggtgcagaacgaactgacccaggagttaaaactccaggagtttcag
+gacagtctgaaaaaggttgaaaaggcgagcctcactaacctgacgcccgaactgaaagcg
+tcgatggatgaactacgccaggccgcggagtcgatgaagcgttcctacgttgcaaacgat
+cctgaaaaggcgagcgatgaagcgcacaccatccataacccggtggtgaaagataatgaa
+gctgcgcatgagggcgtaacgcctgccgctgcacaaacgcaggccagttcgccggaacag
+aagccagaaaccacgccagagccggtggtaaaacctgctgcggacgctgaaccgaaaacc
+gctgcaccttccccttcgtcgagtgataaaccgtaaacatgtctgtagaagatactcaac
+cgcttatcacgcatctgattgagctgcgtaagcgtctgctgaactgcattatcgcggtga
+tcgtgatattcctgtgtctggtctatttcgccaatgacatctatcacctggtatccgcgc
+cattgatcaagcagttgccgcaaggttcaacgatgatcgccaccgacgtggcctcgccgt
+tctttacgccgatcaagctgacctttatggtgtcgctgattctgtcagcgccggtgattc
+tctatcaggtgtgggcatttatcgccccagcgctgtataagcatgaacgtcgcctggtgg
+tgccgctgctggtttccagctctctgctgttttatatcggcatggcattcgcctactttg
+tggtctttccgctggcatttggcttccttgccaataccgcgccggaaggggtgcaggtat
+ccaccgacatcgccagctatttaagcttcgttatggcgctgtttatggcgtttggtgtct
+cctttgaagtgccggtagcaattgtgctgctgtgctggatggggattacctcgccagaag
+acttacgcaaaaaacgcccgtatgtgctggttggtgcattcgttgtcgggatgttgctga
+cgccgccggatgtcttctcgcaaacgctgttggcgatcccgatgtactgtctgtttgaaa
+tcggtgtcttcttctcacgcttttacgttggtaaagggcgaaatcgggaagaggaaaacg
+acgctgaagcagaaagcgaaaaaactgaagaataaattcaaccgcccgtcagggcggttg
+tcatatggagtacaggatgtttgatatcggcgttaatttgaccagttcgcaatttgcgaa
+agaccgtgatgatgttgtagcgtgcgcttttgacgcgggagttaatgggctactcatcac
+cggcactaacctgcgtgaaagccagcaggcgcaaaagctggcgcgtcagtattcgtcctg
+ttggtcaacggcgggcgtacatcctcacgacagcagccagtggcaagctgcgactgaaga
+agcgattattgagctggccgcgcagccagaagtggtggcgattggtgaatgtggtctcga
+ctttaaccgcaacttttcgacgccggaagagcaggaacgcgcttttgttgcccagctacg
+cattgccgcagatttaaacatgccggtatttatgcactgtcgcgatgcccacgagcggtt
+tatgacattgctggagccgtggctggataaactgcctggtgcggttcttcattgctttac
+cggcacacgcgaagagatgcaggcgtgcgtggcgcatggaatttatatcggcattaccgg
+ttgggtttgcgatgaacgacgcggactggagctgcgggaacttttgccgttgattccggc
+ggaaaaattactgatcgaaactgatgcgccgtatctgctccctcgcgatctcacgccaaa
+gccatcatcccggcgcaacgagccagcccatctgccccatattttgcaacgtattgcgca
+ctggcgtggagaagatgccgcatggctggctgccaccacggatgctaatgtcaaaacact
+gtttgggattgcgttttagagtttgcggaactcggtattcttcacactgtgcttaatctc
+tttattaataagattaagcaatagcatggagcgagcctcaccatcgggttcggtgaaaat
+ggcctgaaagccttcgaacgcgccttcggtaataatcaccttatcacccggataaggggt
+tgccggatcgacaatgtctttcggtttatataccgatagctgatgaataaccgccgatgg
+gactatcgctggcgacgcgccaaagcgcacgaagtggctgacaccgcgggtcgcgttgat
+agtcgtggtatgaatcacttctgggtcaaattccacaaacaggtagttggggaacaatgg
+ctcactgactgcagtacgttttccacgcacgattttttccagggtgatcatcggtgccag
+gcaattcacagcctgtctttcgaggtgttcctgggcacgttgaagttgcccgcgcttgca
+gtacagtaaataccaggattgcataatgactcttatccgtttaatcggggcgcaaggata
+gcaaaagctttacgctaagttaattatattccccggtttgcgttataccgtcagagttca
+cgctaatttaacaaatttacagcatcgcaaagatgaacgccgtataatgggcgcagatta
+agaggctacaatggacgccatgaaatataacgatttacgcgacttcttgacgctgcttga
+acagcagggtgagctaaaacgtatcacgctcccggtggatccgcatctggaaatcactga
+aattgctgaccgcactttgcgtgccggtgggcctgcgctgttgttcgaaaaccctaaagg
+ctactcaatgccggtgctgtgcaacctgttcggtacgccaaagcgcgtggcgatgggcat
+ggggcaggaagatgtttcggcgctgcgtgaagttggtaaattattggcgtttctgaaaga
+gccggagccgccaaaaggtttccgcgacctgtttgataaactgccgcagtttaagcaagt
+attgaacatgccgacaaagcggctgcgtggtgcgccctgccaacaaaaaatcgtctctgg
+cgatgacgtcgatctcaatcgcattcccattatgacctgctggccggaagatgccgcgcc
+gctgattacctgggggctgacagtgacgcgcggcccacataaagagcggcagaatctggg
+catttatcgccagcagctgattggtaaaaacaaactgattatgcgctggctgtcgcatcg
+cggcggcgcgctggattatcaggagtggtgtgcggcgcatccgggcgaacgtttcccggt
+ttctgtggcgctgggtgccgatcccgccacgattctcggtgcagtcactcccgttccgga
+tacgctttcagagtatgcgtttgccggattgctacgtggcaccaagaccgaagtggtgaa
+gtgtatctccaatgatcttgaagtgcccgccagtgcggagattgtgctggaagggtatat
+cgaacaaggcgaaactgcgccggaagggccgtatggcgaccacaccggttactataatga
+agtcgatagtttcccggtatttaccgtgacgcatattacccagcgtgaagatgcgattta
+ccattccacctataccgggcgtccgccagatgagcccgcggtgctgggtgtcgcactgaa
+cgaagtgtttgtgccgattctgcaaaaacagttcccggaaattgtcgatttttacctgcc
+gccggaaggctgctcttatcgcctggcggtagtgacaatcaaaaaacagtacgccggaca
+cgcgaagcgcgtcatgatgggcgtctggtcgttcttacgccagtttatgtacactaaatt
+tgtgatcgtttgcgatgatgacgttaacgcacgcgactggaacgatgtgatttgggcgat
+taccacccgtatggacccggcgcgggatactgttctggtagaaaatacgcctattgatta
+tctggattttgcctcgcctgtctccgggctgggttcaaaaatggggctggatgccacgaa
+taaatggccgggggaaacccagcgtgaatggggacgtcccatcaaaaaagatccagatgt
+tgtcgcgcatattgacgccatctgggatgaactggctatttttaacaacggtaaaagcgc
+ctgatgcgcgtttgttttgccctatttatcgatccgacagagaaagcgcatgacaacctt
+aagctgtaaagtgacctcggtagaagctatcacggataccgtatatcgtgtccgcatcgt
+gccagacgcggccttttcttttcgtgctggtcagtatttgatggtagtgatggatgagcg
+cgacaaacgtccgttctcaatggcttcgacgccggatgaaaaagggtttatcgagctgca
+tattggcgcttctgaaatcaacctttacgcgaaagcagtcatggaccgcatcctcaaaga
+tcatcaaatcgtggtcgacattccccacggagaagcgtggctgcgcgatgatgaagagcg
+tccgatgattttgattgcgggcggcaccgggttctcttatgcccgctcgattttgctgac
+agcgttggcgcgtaacccaaaccgtgatatcaccatttactggggcgggcgtgaagagca
+gcatctgtatgatctctgcgagcttgaggcgctttcgttgaagcatcctggtctgcaagt
+ggtgccggtggttgaacaaccggaagcgggctggcgtgggcgtactggcaccgtgttaac
+ggcggtattgcaggatcacggtacgctggcagagcatgatatctatattgccggacgttt
+tgagatggcgaaaattgcccgcgatctgttttgcagtgagcgtaatgcgcgggaagatcg
+cctgtttggcgatgcgtttgcatttatctgagatataaaaaaacccgcccctgacaggcg
+ggaagaacggcaactaaactgttattcagtggcatttagatctatgacgtatctggcaaa
+ccatgcccgatgcgacgctgtcgcgtcttatcgtgcctacaaatagtccgaaccgtaggc
+cggataaggcgtttacgccgcatccggcaattggtgcatgatgcctgatgcgacgctgtc
+gcgtcttatcgtgcctacaaatagtccgaaccgtaggccggataaggcgtttacgccgca
+tccggcaattggtgcatgatgcctgatgcgacgctggcgcgtcttatcaggcctacattg
+gtgccggatcggtagaccggataaggcgttcacgccgcatccggcaagtggttaaacccg
+ctcaaacaccgtcgcaataccctgacccagaccgatacacatcgtcgccagaccaaactg
+aacgtctttgcgttccatcagattcagcagcgtggtgctgatacgcgcaccggaacaacc
+cagcggatgacccagcgcgatcgcgccaccgttgaggttgatcttctcgtcaatctgctc
+aattagtcccagatctttaatacatggcaggatctgcgcggcaaaggcttcgttcatttc
+aaacacgccgatatcgctggcagaaagccccgcttttttcagcgccagtttcgaggccgg
+aaccgggccgtaacccataatcgatgggtcacaaccaacgaccgccatcgaacgcacacg
+agcgcgcggcttaagacctaattcatgggcgcggctttcactcatcaccagcatggcagc
+tgcgccatcggaaagtgcagaagatgtgcccgccgttaccataccgtttactggatcaaa
+cgccggacgcagcgtggcgagggcttccacggtggtttccgggcgaatcacttcgtcgta
+attaaactgcttcaggacgccgtcggcatcgtgaccaccggtcgggatgatttcattttt
+aaatgcggccgactgcgtggcggcccaggcgcgggcgtgtgaccgcgcggcaaaggcatc
+ctgcatttcacggctgataccgtgcatacgcgccagcatttctgccgttaagcccatcat
+gcccgccgctttggcgacattgcggctcaggccggggtgaaaatcgacgccgtgactcat
+cggcacatggcccatatgctccacgccgccaaccagacatgcctgcgcatcgccagtcat
+gatcattcgtgctgcgtcatgcagtgcctgcatggatgaaccacacaagcgattaacggt
+aaccgccgggacagagtgtggtacttctgccagcagcgccgcgttacgggcgatattaaa
+accctgctccagcgtctgctgcacacaaccccagtaaatatcgtcgagggccgccgcttc
+cagcgccgggttacgcgccagcaggctacgcattaaatgagcggagagatcttctgcacg
+cacgttacgaaaagcaccgcccttcgaacggcccatcggggtgcgaattgcatcgacaat
+gacaacctgttccattgtgactccttaagccgttttcaggtcgccaaccggacgggctgg
+ctcaaccggaggatagtacggttcgttatgacgcgctttattacgcagaccttccggcac
+ttcatacagcgggccgaggtgctgatattgctgtgccatatcgaggtattttgcgctacc
+gagggtgtccagccagcggaacgcgccgccgtggaacggagggaagcccaggccgtagac
+cagcgccatatccgcttccgccggagtggcgataatgccttcctccagacagcgcaccac
+ttcgttgaccatcgggatcatcatgcgggcgataatctcttcttcgctgaaatcgcgctt
+cggctggctcacttctgccagcaggtcttcaacggcggcgtcttcttctttcttcggctt
+acctttgctgtcttctttataacgccagaaaccgaggccgttcttctgaccaaagcggtt
+ggcatcaaacagcgcgtcgatggcatcgcggtaatctttctgcatccgctgcgggaagcc
+tgctgccatgacagcctgagcgtgatgcgcggtatcaatgcccacaacgtccagcagata
+tgccgggcccatcggccagccaaactgtttttccatcactttgtcgatcttgcggaaatc
+cgcgccgtcgcgcagcagctggctgaaaccggcgaaatacgggaacagcacgcggttaac
+aaagaagccggggcagtcgttaaccacaatcggcgtcttgcccatcttgctcgcccaggc
+gacaactttcgcgatggtttcgtcggagcttttctcgccgcgaataatttctaccaacgg
+cattcggtggaccgggttaaagaagtgcatcccgcagaagttttccgggcgttccagcgc
+gttggccagttcgctgataggaatggttgaagtgttagacgccagcacggtatcctggcg
+tactttttgttcggtttctgccagtacggcttttttcactttcgggttttcaacaaccgc
+ttctaccacaatatccacgcggtcaaatccggcgtagtcgagcgttgggtggattgtgga
+gatcacgccagccagtttcagaccatcgatcttgccgcgctcaagctgcttgttcagcag
+tttcgcggcttcggtcatgccgagggttaacgacttgtcgttgatatctttcatgacaac
+cggcacgcctttccacgcagactggtaagcgatgccgccgcccataatgcctgcacccag
+caccgcggcctgtttcggggtttcaacgtctttggtgagtttcttcgctttgccttttac
+atattgatcgttaaggaaaatgccgaccagtgcgcgggcttcgttggtatgcgccagcgg
+gacaaaacttttgttttccaggtttaaggcttcttcacgaccaaaacgggccgcagcttc
+aatggtttttactgcggtgatgggggccggataatgtttccccgctgtttgtgcgaccat
+ccctttagcgatggtgaagctcatggtggcttcaatcttgctcagttttagtggttccag
+cttcggctgacgttttgctttccagtcgaggtcgccgttaatggcctggcgtaaaaccgc
+ctttgcgccttcaaccagtttttctgctttgactacgccatccaccagaccgattttcag
+cgcctgatccgcgccgacatctttaccggcggcaatgatttccagcgcactgtcagcgcc
+cagcatacgtggcatacgtacagaaccgccaaagccaggcatgatgcccagtttggtttc
+cggcagaccgatgcgcagatccggcgtcgccagacgataatcggtcgccagcacgcattc
+gcagccaccgcccagcgcatagccattgacggcagcaatggtcggcaccggcagatcttc
+caggcgattaaacacgctattggcaaagtgcagccactgacttaactgttcttcaggaac
+gaggaacagggacaaaaattcggtgatatcagcaccgacgataaaggctgctttgttcga
+acgcagcagcagcccttttagatctgattgctgttccagcacgccgatggcctcgccgag
+gctggcgacggtcgcagtgtcgagtttattaactgaacctggggcatcaaataccagttc
+ggcaatgccatcttccagccagtcaaggtacagggtgtcgcctttgtaaagcatgtcagt
+ctcctgaatccgcaaggtgatctggtcgtaccagatgagtcgaagtgtgtattttgtgtt
+aaaaatatgcaaacaaaagattaaagaaatgccgatctgatcacgctcggcagaaatcac
+gctctggatgaacgatgtgctaagatgcggagacttaaggtcaaaaaaacagaagggtaa
+aaaatggaatcactggcctcgctctataaaaatcatatagctaccttacaagaacggact
+cgcgatgcgctggcgcgcttcaagctggatgcgttacttattcactccggcgagctgttc
+aatgtttttctcgacgatcatccctatccgtttaaagtgaacccgcaattcaaagcgtgg
+gtgccggtaactcaggtgccaaactgctggttgctggtggatggcgtgaacaagccgaaa
+ctgtggttctatctgccggttgattactggcacaacgtcgaaccgctgccgacctctttc
+tggactgaagatgtggaagtgatcgcgctgccgaaagccgatggcattggtagcctgctg
+cctgctgcgcgcggcaatatcggttatatcggtccggtgccggaacgtgcgctgcaactg
+ggtattgaggccagcaacatcaacccgaaaggggttatcgactacctgcattactatcgc
+tccttcaaaactgagtacgaactggcctgtatgcgtgaagcgcagaaaatggcggtcaac
+ggtcaccgcgcggcagaagaagcgttccgttctggcatgagcgagttcgatatcaacatt
+gcctatctgaccgcgaccggtcatcgtgataccgacgtaccttacagcaacattgtggcg
+cttaacgaacacgctgcggtactgcattacaccaaactggaccatcaggcaccggaagag
+atgcgcagcttcctgctggatgccggggcagaatataacggctatgcggctgacctgacc
+cgtacctggtcggcaaaaagtgacaacgactacgcgcagctggtgaaggacgttaatgat
+gaacaactggcgctgatcgccaccatgaaagcaggcgtcagctatgtggattaccacatc
+cagttccatcagcgcatcgccaaactgctgcgtaaacatcaaatcatcaccgatatgagt
+gaagaagcgatggtcgaaaacgatcttaccgggccgtttatgccgcatggtatcggccat
+ccgctgggcctgcaggtgcatgacgtcgctggttttatgcaggatgatagcggtacgcac
+ctcgcggcaccggcaaaatatccgtacctgcgctgcacccgtattctccagccgggcatg
+gtgttaaccatcgaaccgggtatctacttcatcgaatcgctactggcaccgtggcgtgaa
+gggcagttcagcaagcacttcaactggcagaaaattgaagcactgaaaccgttcggcggc
+attcgtatcgaagacaacgtggtgatccacgaaaacaacgtggaaaacatgacccgggat
+ctgaaactggcgtgatggaaagctggttaattcctgcggcaccggtcacggtcgttgaag
+agatcaaaaagagccgcttcataacgatgttggcgcataccgatggcgttgaggcggcga
+aagcgtttgttgaatcggtgcgggcagaacaccccgatgcccggcaccattgcgtggcgt
+gggtcgcgggtgcgccggatgattctcaacagctgggtttctctgacgacggggagccgg
+cgggaacggcaggtaaaccgatgctcgcccagctaatgggcagcggcgtcggggaaatta
+ccgctgtggtagtgcgctactacggcggcatattgcttggcaccggtgggttagtgaaag
+cgtatggcggcggcgtgaatcaggcgctgcgccagctaacgacccaacgcaagacgccat
+taaccgaatatactttgcaatgtgaatatcatcagttaaccggcattgaagcgttgctgg
+ggcagtgtgacggcaaaattatcaacagtgattatcaggcattcgttctgctgcgggtgg
+cgcttccggcggcgaaagtggctgaattttccgcaaagctggcggattttagccgtggtt
+cattgcaattgttagcgattgaagaataatccccacttcgttttgcagaactaaggaagc
+ggcagagatgcattttcgcgccattacccgaatcgttggactactggtcatcttattttc
+agggaccatgattatccctgggctggtagcactcatctaccgggatggagcgggccgcgc
+ttttacccagaccttttttgtcgccctcgccattggctctatgctgtggtggccgaaccg
+caaagagaaaggcgaacttaaatcccgtgaggggtttctgatagtggtgctgttctggac
+cgtgctgggtagcgtcggtgcgctcccttttatcttctcggaaagcccgaacctcacgat
+taccgatgcgttttttgaatctttctctggcctgaccactacgggagccactacgctggt
+ggggctggattcgctccctcacgccatcctcttttatcgccagatgctgcaatggtttgg
+cgggatggggatcatcgtgttggcggttgcgatactgcctatcctcggcgtgggtgggat
+gcagctctatcgcgcagaaatgcccggcccgctgaaagataacaaaatgcgcccgcgaat
+tgcggaaacggcgaaaaccctgtggttgatttatgtcttgctgaccgtcgcctgtgcgct
+ggcgttgtggtttgccggaatggatgcctttgatgccatcggccatagctttgcgactat
+cgctattggcggcttctcgacacatgatgccagtatcggttatttcgatagcccgactat
+taacactatcattgctatcttcctgctgatctccggctgtaactacggtctgcacttttc
+actgttaagtgggcgtagtctgaaggtttattggcgcgatccggaatttcgcatgtttat
+cggcgtacagtttacgctggtggttatttgtaccctcgtactgtggtttcataatgtcta
+cagttcggcgctgatgacaattaaccaggcgtttttccaggtggtgtcgatggcgacaac
+cgccgggtttacaactgacagcattgcccgctggccgctctttttgccggtactgctttt
+atgttcagcctttatcggcggttgcgccgggtcaacgggcggtggcctgaaggtgatccg
+catcctgctgctgtttaagcaggggaaccgtgagctgaaacgactggtgcatccgaacgc
+cgtctatagcattaagctggggaatcgcgcactgccggaacgtatcctcgaagccgtttg
+gggatttttctccgcctatgcattggtgtttattgtcagtatgctggcgattatcgccac
+gggcgtggatgacttttctgcctttgcgtcggttgttgcgacattgaataacctggggcc
+agggcttggcgtggttgctgataactttaccagtatgaacccggtggctaaatggatcct
+gattgccaacatgctgtttggtcgtctcgaggtctttacattgctggtgctctttacccc
+gactttctggcgtgaatgatggagtaatacgtgaaaacattaattcttttctcaacaagg
+gacggacaaacgcgcgagattgcctcctacctggcttcggaactgaaagaactggggatc
+caggcggatgtcgccaatgtgcaccgcattgaagaaccacagtgggaaaactatgaccgt
+gtggtcattggtgcttctattcgctatggtcactaccattcagcgttccaggaatttgtc
+aaaaaacatgcgacgcggctgaattcgatgccgagcgccttttactccgtgaatctggtg
+gcgcgcaaaccggagaagcgtactccacagaccaacagctacgcgcgcaagtttctgatg
+aactcgcaatggcgtcccgatcgctgcgcggtcattgccggggcgctgcgttacccacgt
+tatcgctggtacgaccgttttatgatcaagctgattatgaagatgtcaggcggtgaaacg
+gatacgcgcaaagaagttgtctataccgattgggagcaggtggcgaatttcgcccgagaa
+atcgcccatttaaccgacaaaccgacgctgaaataagcataaagaataaaaaatgcgcgg
+tcagaaaattattttaaatttcctcttgtcaggccggaataactccctataatgcgccac
+cactgacacggaacaacggcaaacacgccgccgggtcagcggggttctcctgagaactcc
+ggcagagaaagcaaaaataaatgcttgactctgtagcgggaaggcgtattatgcacaccc
+cgcgccgctgagaaaaagcgaagcggcactgctctttaacaatttatcagacaatctgtg
+tgggcactcgaagatacggattcttaacgtcgcaagacgaaaaatgaataccaagtctca
+agagtgaacacgtaattcattacgaagtttaattctttgagcgtcaaacttttaaattga
+agagtttgatcatggctcagattgaacgctggcggcaggcctaacacatgcaagtcgaac
+ggtaacaggaagaagcttgcttctttgctgacgagtggcggacgggtgagtaatgtctgg
+gaaactgcctgatggagggggataactactggaaacggtagctaataccgcataacgtcg
+caagaccaaagaggggtaccttcgggcctcttgccatcggatgtgcccagatgggattag
+ctagtaggtggggtaacggctcacctaggcgacgatccctagctggtctgagaggatgac
+cagccacactggaactgagacacggtccagactcctacgggaggcagcagtggggaatat
+tgcacaatgggcgcaagcctgatgcagccatgccgcgtgtatgaagaaggccttcgggtt
+gtaaagtactttcagcggggaggaagggagtaaagttaatacctttgctcattgacgtta
+cccgcagaagaagcaccggctaactccgtgccagcagccgcggtaatacggagggtgcaa
+gcgttaatcggaattactgggcgtaaagcgcacgcaggcggtttgttaagtcagatgtga
+aatccccgggctcaacctgggaactgcatctgatactggcaagcttgagtctcgtagagg
+ggggtagaattccaggtgtagcggtgaaatgcgtagagatctggaggaataccggtggcg
+aaggcggccccctggacgaagactgacgctcaggtgcgaaagcgtggggagcaaacagga
+ttagataccctggtagtccacgccgtaaacgatgtcgacttggaggttgtgcccttgagg
+cgtggcttccggagctaacgcgttaagtcgaccgcctggggagtacggccgcaaggttaa
+aactcaaatgaattgacgggggcccgcacaagcggtggagcatgtggtttaattcgatgc
+aacgcgaagaaccttacctggtcttgacatccacggaagttttcagagatgagaatgtgc
+cttcgggaaccgtgagacaggtgctgcatggctgtcgtcagctcgtgttgtgaaatgttg
+ggttaagtcccgcaacgagcgcaacccttatcctttgttgccagcggtccggccgggaac
+tcaaaggagactgccagtgataaactggaggaaggtggggatgacgtcaagtcatcatgg
+cccttacgaccagggctacacacgtgctacaatggcgcatacaaagagaagcgacctcgc
+gagagcaagcggacctcataaagtgcgtcgtagtccggattggagtctgcaactcgactc
+catgaagtcggaatcgctagtaatcgtggatcagaatgccacggtgaatacgttcccggg
+ccttgtacacaccgcccgtcacaccatgggagtgggttgcaaaagaagtaggtagcttaa
+ccttcgggagggcgcttaccactttgtgattcatgactggggtgaagtcgtaacaaggta
+accgtaggggaacctgcggttggatcacctccttaccttaaagaagcgttctttgaagtg
+ctcacacagattgtctgatgaaaatgagcagtaaaacctctacaggcttgtagctcaggt
+ggttagagcgcacccctgataagggtgaggtcggtggttcaagtccactcaggcctacca
+aatttgcacggcaaatttgaagaggttttaactacatgttatggggctatagctcagctg
+ggagagcgcctgctttgcacgcaggaggtctgcggttcgatcccgcatagctccaccatc
+tctgtagtgattaaataaaaaatacttcagagtgtacctgcaaaggttcactgcgaagtt
+ttgctctttaaaaatctggatcaagctgaaaattgaaacactgaacaacgaaagttgttc
+gtgagtctctcaaattttcgcaacacgatgatgaatcgaaagaaacatcttcgggttgtg
+aggttaagcgactaagcgtacacggtggatgccctggcagtcagaggcgatgaaggacgt
+gctaatctgcgataagcgtcggtaaggtgatatgaaccgttataaccggcgatttccgaa
+tggggaaacccagtgtgtttcgacacactatcattaactgaatccataggttaatgaggc
+gaaccgggggaactgaaacatctaagtaccccgaggaaaagaaatcaaccgagattcccc
+cagtagcggcgagcgaacggggagcagcccagagcctgaatcagtgtgtgtgttagtgga
+agcgtctggaaaggcgtgcgatacagggtgacagccccgtacacaaaaatgcacatgctg
+tgagctcgatgagtagggcgggacacgtggtatcctgtctgaatatggggggaccatcct
+ccaaggctaaatactcctgactgaccgatagtgaaccagtaccgtgagggaaaggcgaaa
+agaaccccggcgaggggagtgaaaaagaacctgaaaccgtgtacgtacaagcagtgggag
+cacgcttaggcgtgtgactgcgtaccttttgtataatgggtcagcgacttatattctgta
+gcaaggttaaccgaataggggagccgaagggaaaccgagtcttaactgggcgttaagttg
+cagggtatagacccgaaacccggtgatctagccatgggcaggttgaaggttgggtaacac
+taactggaggaccgaaccgactaatgttgaaaaattagcggatgacttgtggctgggggt
+gaaaggccaatcaaaccgggagatagctggttctccccgaaagctatttaggtagcgcct
+cgtgaattcatctccgggggtagagcactgtttcggcaagggggtcatcccgacttacca
+acccgatgcaaactgcgaataccggagaatgttatcacgggagacacacggcgggtgcta
+acgtccgtcgtgaagagggaaacaacccagaccgccagctaaggtcccaaagtcatggtt
+aagtgggaaacgatgtgggaaggcccagacagccaggatgttggcttagaagcagccatc
+atttaaagaaagcgtaatagctcactggtcgagtcggcctgcgcggaagatgtaacgggg
+ctaaaccatgcaccgaagctgcggcagcgacactatgtgttgttgggtaggggagcgttc
+tgtaagcctgtgaaggtgtgctgtgaggcatgctggaggtatcagaagtgcgaatgctga
+cataagtaacgataaagcgggtgaaaagcccgctcgccggaagaccaagggttcctgtcc
+aacgttaatcggggcagggtgagtcgacccctaaggcgaggccgaaaggcgtagtcgatg
+ggaaacaggttaatattcctgtacttggtgttactgcgaaggggggacggagaaggctat
+gttggccgggcgacggttgtcccggtttaagcgtgtaggctggttttccaggcaaatccg
+gaaaatcaaggctgaggcgtgatgacgaggcactacggtgctgaagcaacaaatgccctg
+cttccaggaaaagcctctaagcatcaggtaacatcaaatcgtaccccaaaccgacacagg
+tggtcaggtagagaataccaaggcgcttgagagaactcgggtgaaggaactaggcaaaat
+ggtgccgtaacttcgggagaaggcacgctgatatgtaggtgaagcgacttgctcgtggag
+ctgaaatcagtcgaagataccagctggctgcaactgtttattaaaaacacagcactgtgc
+aaacacgaaagtggacgtatacggtgtgacgcctgcccggtgccggaaggttaattgatg
+gggttagccgcaaggcgaagctcttgatcgaagccccggtaaacggcggccgtaactata
+acggtcctaaggtagcgaaattccttgtcgggtaagttccgacctgcacgaatggcgtaa
+tgatggccaggctgtctccacccgagactcagtgaaattgaactcgctgtgaagatgcag
+tgtacccgcggcaagacggaaagaccccgtgaacctttactatagcttgacactgaacat
+tgagccttgatgtgtaggataggtgggaggctttgaagtgtggacgccagtctgcatgga
+gccgaccttgaaataccaccctttaatgtttgatgttctaacgttgacccgtaatccggg
+ttgcggacagtgtctggtgggtagtttgactggggcggtctcctcctaaagagtaacgga
+ggagcacgaaggttggctaatcctggtcggacatcaggaggttagtgcaatggcataagc
+cagcttgactgcgagcgtgacggcgcgagcaggtgcgaaagcaggtcatagtgatccggt
+ggttctgaatggaagggccatcgctcaacggataaaaggtactccggggataacaggctg
+ataccgcccaagagttcatatcgacggcggtgtttggcacctcgatgtcggctcatcaca
+tcctggggctgaagtaggtcccaagggtatggctgttcgccatttaaagtggtacgcgag
+ctgggtttagaacgtcgtgagacagttcggtccctatctgccgtgggcgctggagaactg
+aggggggctgctcctagtacgagaggaccggagtggacgcatcactggtgttcgggttgt
+catgccaatggcactgcccggtagctaaatgcggaagagataagtgctgaaagcatctaa
+gcacgaaacttgccccgagatgagttctccctgactccttgagagtcctgaaggaacgtt
+gaagacgacgacgttgataggccgggtgtgtaagcgcagcgatgcgttgagctaaccggt
+actaatgaaccgtgaggcttaaccttacaacgccgaaggtgttttggcggattgagagaa
+gattttcagcctgatacagattaaatcagaacgcagaagcggtctgataaaacagaattt
+gcctggcggcagtagcgcggtggtcccacctgaccccatgccgaactcagaagtgaaacg
+ccgtagcgccgatggtagtgtggggtctcctcatgcgagagtagggaactgccaggcatc
+aaataaaacgaaaggctcagtcggaagactgggcctttcgttttatctgttgtttgtcgg
+tgaacgctctcctgagtaggacaaatccgccgggagcggatttgaacgttgcgaagcaac
+ggcccggagggtggcgggcaggacgcccgccataaactgccaggcatcaaattaagcaga
+aggccatcctgacggatggcctttttgcattggcgcagaaaaaaatgccggatgcgacgc
+tggcgcgtcttatccagcctactcttgcttatccgttctgcttttgcatccactccacca
+caaaatcagccagcccctcaacatcattaatatccagtaatgcgacatcaagattaagcg
+gcacatcactggctacagcaataacatgcctgtctatcactaattcttcaggtcgatgtc
+cggctccatcgcgaaacagcacaatctttgcgatctcttcatgcttaaacccttcgacca
+gaatcaaatccagctttgaggtatccattcgacttgcgagaaactgtagatccagctctt
+cttcgtctggtgtttccgtcatcaaggcccatcgttgctggctggcaacgatggtttgtg
+ccgcgccagccttgcgcagctcatagctatctttgcctggcttatcaacatccatatcat
+ggtgcgtatgcttaatcagccctggacggatccctctggcgcataatgccgggatcagtt
+ttttcaaaagcgtagtttttccggtaccactccacgcggcaaaggcgagtaacggtatca
+tcgtttttcctgccatcgggcaagctcctctggcgtattcacgttaacaaatgcatcttt
+atgatcgctgaaatcaaccgcatgaccgccagccagacgcataaataccattacccggcg
+ttctcctgcttgcagatattccagtaataaaggctcaatagcgcggtttaccagagcaat
+agtcgggtgatcgcgttcaccgtcatggacccacacgacaggcgcatctttgcgctgatg
+attaagcctggctgctaaatcagggggaatgtaaggcgtatcgcacgggcaaaacaaaaa
+ccactcaccagcttcctgctgcattactgaaagcattcctgccagagggcctgggtaatc
+cgccagtgaatcttcaatcactttcagaccgcttgcctgatagatttcctgatgacgatt
+agcattaaccacgacgtgagagagctgcgtcataagcgcgtcagcgacatgttgccataa
+tggtttgccgtttaattcaagcaatcctttatctacgccgcccattcgtctggctttacc
+gcctgccagcacaacgcctgttatcgtcgtcatcagattcaccgatatcgcctcttttat
+tgtgggattgaccctgctaacgtgtctgtctcaagagtaaggagcatcactatgaaatgt
+aaacgtctgaatgaagttattgaactcctccagccagcctggcaaaaagagccagacctt
+aacctgctgcaatttttgcagaaactggcgaaagagtcaggttttgacggcgaactggcg
+gatttgacggatgacattctgatctatcacctgaaaatgcgtgattccgcgaaagatgcg
+gtgatcccgggtttgcagaaagattatgaagaagacttcaaaacggcgctgttacgcgct
+cgcggcgtaattaaagagtaaaagcttgtaagcggcgccaccaaaatcatcgtgaaatga
+tatccttcgtcattcgtaatgttttccggatgatgggatgaataacagcgcttttacttt
+ccagacactacacccggataccatcatggacgctctgtttgagcatgggatccgggtgga
+ttccggtcttaccccgcttaacagctatgaaaaccgtgtctatcaatttcaggacgaaga
+tcgtcgacgttttgtcgtcaaattttatcgccctgaacgttggacagccgatcaaatcct
+cgaagaacatcaatttgcgttgcagctggtaaatgatgaagttccggtcgcagcacctgt
+ggcctttaacggtcagactttattgaatcatcagggattttatttcgctgtttttccaag
+cgtcggtggtcgccagttcgaagctgataatatcgatcagatggaagcggttgggcgtta
+tttagggcgtatgcaccagacggggcgcaaacagctttttatccatcgcccgaccatcgg
+tttgaacgaatatctcattgagccacgcaagctgtttgaggacgctacactgataccttc
+cgggttgaaagcggcattcctgaaagcgacagatgagctgattgccgccgttacagcaca
+ctggcgggaagatttcaccgttctgcggctacatggagactgccacgccgggaatattct
+ctggcgcgatggtccaatgtttgttgatctggatgatgcacgtaatggtccagccgttca
+ggatttgtggatgttgctcaatggcgataaagccgagcagcggatgcaactggaaactat
+tattgaagcttatgaagaatttagcgagttcgacaccgctgaaatcggactgattgaacc
+tttacgcgccatgcgtttggtttattatcttgcctggctaatgcggcgttgggctgatcc
+cgcgttcccgaaaaatttcccgtggttaaccggggaagattactggctgcgacagacggc
+gacttttatagaacaggcaaaagttctacaagaaccccctttgcaattaacacctatgta
+ttaatcggagagagtagatcatgaaaaagatttggctggcgctggctggtttagttttag
+cgtttagcgcatcggcggcgcagtatgaagatggtaaacagtacactaccctggaaaaac
+cggtagctggcgcgccgcaagtgctggagtttttctctttcttctgcccgcactgctatc
+agtttgaagaagttctgcatatttctgataatgtgaagaaaaaactgccggaaggcgtga
+agatgactaaataccacgtcaacttcatgggtggtgacctgggcaaagatctgactcagg
+catgggctgtggcgatggcgctgggcgtggaagacaaagtgactgttccgctgtttgaag
+gcgtacagaaaacccagaccattcgttctgcttctgatatccgcgatgtatttatcaacg
+caggtattaaaggtgaagagtacgacgcggcgtggaacagcttcgtggtgaaatctctgg
+tcgctcagcaggaaaaagctgcagctgacgtgcaattgcgtggcgttccggcgatgtttg
+ttaacggtaaatatcagctgaatccgcagggtatggataccagcaatatggatgtttttg
+ttcagcagtatgctgatacagtgaaatatctgtccgagaaaaaataattcaatgtaaatt
+acataaagcccgtgaatattcacgggctttttttattatttaataaatataaatacattc
+tgataatgcatcctgccgctggacattatttcagcataagtggatattcaaagttttgct
+gttttatcagggaatatttatatgatacgtaagtcagctacaggtgttattgttgcgtta
+gccgtaatctggggtggtggcacatggtacacaggtacgcaaattcagcctggtgtcgaa
+aaatttattaaagattttaacgatgctaaaaagaaaggtgaacatgcctacgatatgacg
+ttaagttatcaaaattttgacaaaggcttttttaattcccgttttcaaatgcaaatgaca
+ttcgataacggtgcacccgatctcaatatcaagccaggccagaaagttgtatttgatgtg
+gatgttgagcacggtccgttgcccatcacaatgttaatgcatggtaatgtcatcccagca
+ctggcagcggcaaaagtgaacttagtgaataatgaactgacacaaccgctatttatcgcc
+gcgaaaaataaatcgcccgtggaagcgacattgcgattcgcgtttggtggctcattctct
+acgacattagatgttgcccctgcagagtatggaaagttttcttttggtgagggccagttt
+acttttaatggtgatggtagttcattgtctaacctggatattgaaggcaaagtcgaagat
+attgttctgcaattatcaccaatgaacaaagtaacggcaaaaagttttaccattgattct
+ctggcgcgattagaagaaaagaaatttccggttggtgaaagcgagtcgaaatttaatcag
+attaacattatcaatcacggggaagacgttgcccaaatcgatgctttcgttgcaaaaacc
+aggctggatcgcgttaaagacaaagattatatcaatgtcaatctcacctacgaacttgat
+aagttaacaaaagggaatcagcaactcggtagtggtgagtggtcattgattgctgaatct
+attgatccctcagcagtgcgccaatttatcatccagtataacattgcgatgcagaagcag
+cttgctgcacaccctgagttagcaaacgatgaagttgctctgcaagaagtgaatgctgca
+ttgttcaaagagtatttaccgttattacaaaaaagtgagccgaccattaaacaaccggta
+agatggaagaacgcactcggcgaactaaatgccaatctggatatcagtattgccgaccca
+gccaaatcttcatcatccacaaacaaagatatcaaatcgctcaattttgatgtgaagtta
+ccgcttaatgtcgtcacagaaaccgcaaaacagcttaatttatctgaaggaatggatgcg
+gaaaaagcgcaaaagcaggctgataaacaaatcagcgggatgatgacattaggtcagatg
+tttcagttaatcacgattgacaacaataccgcctcgctgcagctgcgttatacaccgggt
+aaagttgtttttaacggacaggagatgagcgaagaagaatttatgtctcgtgccggacgt
+tttgttcattaaaatactcactcgcctctgctcattcagaggcgagtaaaacttacttat
+tctgacgctgtgatgacatgagagacgtcagaagccggtctttttcctgccacaatgagt
+tcagccattgctgaaaatggcgcttaaagcttttgtcattgatgtagtcgccatgtaact
+catcggcaataggctgtaaatccacatgtacgacaatccgcgtcagtttaccgcttaaca
+tatcgaagaacggctgacggttattgtccggataacacagcgtaacattaagcagtttat
+cgaattgtttacccagtacatttagcgccatcgcaatgcctgccgcctttggtggcaaca
+agttttgaaaagtggagtgggtttgctgatgtttttcttgcgtgaaacgggagccttcaa
+cgaaattgacaatggtggtgggatgcaggcgaaacttttcacaagaacgccgagtggttt
+caacatctttaccacgtcgctccggatgacgtaataaataagcgcgggaataacgcttca
+taaacggcatatccagcgaccagcacgccaggccaagaaatggcacccaggccagctgtt
+gcttgaggaaatatttattcatcggaatgtgcttacgaaacagcacgcacagtacgacaa
+tatctgcccaactacggtggttacaaataagcagataccagttcttcttacttaaccctt
+ccagcccgtgaacttcccattgaaggtgtgggttcagatgcagtaataccgccagacctt
+cacaccagcaatacatcataaaatcacaaaaacgcgaaacctttcgccaaatgactggca
+caggtagcaatagttttacaatcccggcaatgatgatcgggacggaacaaaaaatagtga
+ccaaaatggtcaatacgatactcagcaaaagggttatcgcagcgagtattctcgtcataa
+tgaatttattcaaaaggttagccatagacagtgcgctaaagaagcgcaaggcgcagattt
+tagcagaaaacgacccaaataacggatgatccttaaggagaaaaataattcatatctatc
+cacattagaaaaaatcccattatctcaattattagggatggatttatttttaactgcatg
+aaaaacaaagacaaacatcatgctgtaaaaagcatgataataaattaaaagcgatgtaaa
+taatttatgcacaaagttatccacatgacgatttgcgagcgatccagaagatctacaaaa
+gattttcacgaaaagcggtgaaaaactcatgttttcatcctgtctgtggcatcctttacc
+cataatctgataaacaggcacggacattatggttcagatcccccaaaatccacttatcct
+tgtagatggttcatcttatctttatcgcgcatatcacgcgtttcccccgctgactaacag
+cgcaggcgagccgaccggtgcgatgtatggtgtcctcaacatgctgcgcagtctgatcat
+gcaatataaaccgacgcatgcagcggtggtctttgacgccaagggaaaaacctttcgtga
+tgaactgtttgaacattacaaatcacatcgcccgccaatgccggacgatctgcgtgcaca
+aatcgaacccttgcacgcgatggttaaagcgatgggactgccgctgctggcggtttctgg
+cgtagaagcggacgacgttatcggtactctggcgcgcgaagccgaaaaagccgggcgtcc
+ggtgctgatcagcactggcgataaagatatggcgcagctggtgacgccaaatattacgct
+tatcaataccatgacgaataccatcctcggaccggaagaggtggtgaataagtacggcgt
+gccgccagaactgatcatcgatttcctggcgctgatgggtgactcctctgataacattcc
+tggcgtaccgggcgtcggtgaaaaaaccgcgcaggcattgctgcaaggtcttggcggact
+ggatacgctgtatgccgagccagaaaaaattgctgggttgagcttccgtggcgcgaaaac
+aatggcagcgaagctcgagcaaaacaaagaagttgcttatctctcataccagctggcgac
+gattaaaaccgacgttgaactggagctgacctgtgaacaactggaagtgcagcaaccggc
+agcggaagagttgttggggctgttcaaaaagtatgagttcaaacgctggactgctgatgt
+cgaagcgggcaaatggttacaggccaaaggggcaaaaccagccgcgaagccacaggaaac
+cagtgttgcagacgaagcaccagaagtgacggcaacggtgatttcttatgacaactacgt
+caccatccttgatgaagaaacactgaaagcgtggattgcgaagctggaaaaagcgccggt
+atttgcatttgataccgaaaccgacagccttgataacatctctgctaacctggtcgggct
+ttcttttgctatcgagccaggcgtagcggcatatattccggttgctcatgattatcttga
+tgcgcccgatcaaatctctcgcgagcgtgcactcgagttgctaaaaccgctgctggaaga
+tgaaaaggcgctgaaggtcgggcaaaacctgaaatacgatcgcggtattctggcgaacta
+cggcattgaactgcgtgggattgcgtttgataccatgctggagtcctacattctcaatag
+cgttgccgggcgtcacgatatggacagcctcgcggaacgttggttgaagcacaaaaccat
+cacttttgaagagattgctggtaaaggcaaaaatcaactgacctttaaccagattgccct
+cgaagaagccggacgttacgccgccgaagatgcagatgtcaccttgcagttgcatctgaa
+aatgtggccggatctgcaaaaacacaaagggccgttgaacgtcttcgagaatatcgaaat
+gccgctggtgccggtgctttcacgcattgaacgtaacggtgtgaagatcgatccgaaagt
+gctgcacaatcattctgaagagctcacccttcgtctggctgagctggaaaagaaagcgca
+tgaaattgcaggtgaggaatttaacctttcttccaccaagcagttacaaaccattctctt
+tgaaaaacagggcattaaaccgctgaagaaaacgccgggtggcgcgccgtcaacgtcgga
+agaggtactggaagaactggcgctggactatccgttgccaaaagtgattctggagtatcg
+tggtctggcgaagctgaaatcgacctacaccgacaagctgccgctgatgatcaacccgaa
+aaccgggcgtgtgcatacctcttatcaccaggcagtaactgcaacgggacgtttatcgtc
+aaccgatcctaacctgcaaaacattccggtgcgtaacgaagaaggtcgtcgtatccgcca
+ggcgtttattgcgccagaggattatgtgattgtctcagcggactactcgcagattgaact
+gcgcattatggcgcatctttcgcgtgacaaaggcttgctgaccgcattcgcggaaggaaa
+agatatccaccgggcaacggcggcagaagtgtttggtttgccactggaaaccgtcaccag
+cgagcaacgccgtagcgcgaaagcgatcaactttggtctgatttatggcatgagtgcttt
+cggtctggcgcggcaattgaacattccacgtaaagaagcgcagaagtacatggaccttta
+cttcgaacgctaccctggcgtgctggagtatatggaacgcacccgtgctcaggcgaaaga
+gcagggctacgttgaaacgctggacggacgccgtctgtatctgccggatatcaaatccag
+caatggtgctcgtcgtgcagcggctgaacgtgcagccattaacgcgccaatgcagggaac
+cgccgccgacattatcaaacgggcgatgattgccgttgatgcgtggttacaggctgagca
+accgcgtgtacgtatgatcatgcaggtacacgatgaactggtatttgaagttcataaaga
+tgatgttgatgccgtcgcgaagcagattcatcaactgatggaaaactgtacccgtctgga
+tgtgccgttgctggtggaagtggggagtggcgaaaactgggatcaggcgcactaagattc
+gcctgaacatgccttttttcgtaagtaagcaacataagctgtcacgttttgtgatggcta
+ttagaaattcctatgcaacaactgaaaaaaaattacaaaaagtgctttctgaactgaaca
+aaaaagagtaaagttagtcgcgtagggtacagaggtaagatgttctatctttcagacctt
+ttacttcacgtaatcggatttggctgaatattttagccgccccagtcagtaatgactggg
+gcgttttttattgggcgaaagaaaagatccgtaatgcctgatgcgctatgtttatcaggc
+caacggtagaattgtaatctattgaatttacgggccggatacgccacatccggcacaagc
+attaaggcaagaaaattattcgccgtcctgcgtttcttctacaggctgcatctcgctaaa
+ccaggtatccagtttctgccgcagcttgtccacgccttgtttcttcaacgaagaaaacgt
+ttcaacctgcacatcaccgttaaacgccagtacagcttcacgcaccatattcaattgcgc
+tttacgtgcgccgcttgccagtttgtccgctttggtcagcagcaccagaacggcgatatt
+gctgtctaccgcccactcaatcatctgctgatccaaatctttcagcggatggcgaatatc
+cattagcaccaccagaccttgcaggctctgacgtttttcgaggtattcgccgagcgcacg
+ctgccatttgcgcttcatctcttccgggacttccgcataaccgtacccaggcaagtcaac
+cagacgcttgccgtcagccacttcaaacaggttgataagctgggtgcgccctggggtttt
+tgaggtacgagccaggcttttctggttagtcagcgtgttcagcgcgctggatttacctgc
+gttggaacggcctgcaaaagccacttcaattccggtatcggaaggtaggtggcgaatatc
+aggcgcactcatcacaaaatgcgtctgttgataattcaaattagtcaaagcggtcgtctc
+cgtcagtcaaagctttgtggcgattatacctgaaccataataaaaggcggatttttcggc
+gtgagcgttgtaagtaaaagccatacgctttgtgagacattgccgatagtctttatgcga
+aatagcagagaaaattctgcgatgcatgtcaaataagctatataaatcagtgaattgctt
+ttatataaaactctgaaaatgtgcaaatactgatggcggttgattgtttgtttaaagcaa
+aggcgtaaagtagcacccatagagcgaggacgctaacaggaacaatgactcaggatgagg
+gtcaggagcgccaggaggcgaagacagaggattgtcaggaagacaaacgtccggagacgt
+aattaaacggaaatggaatcaacacggattgttccggctaaaggaaaaacagggtgtgtt
+ggcggcctgcaaggattgtaagacccgttaagggttatgagtcaggaaaaaaggcgacag
+agtaatctgtcgccttttttctttgcttgctttctgttagattccgccgcaaatctatac
+tgaataaaacggctaaaagacgaaccattatgaaaccatcatcttcaaactcacgcagca
+aaggtcatgcaaaagcgcgtcgaaaaacacgcgaggagctggatcaggaagctcgtgatc
+gcaagcgtcagaaaaaacgtcgtggtcatgcgccgggcagccgcgcagcgggcggaaaca
+ccacgtcaggcagcaaaggccagaacgcaccaaaagatccacgtattggcagtaaaaccc
+ctattccattgggcgtgactgaaaaagtcaccaaacagcacaaaccgaagagtgagaaac
+ctatgctttcaccgcaggcggagttggaattactggaaacggatgagcgtctggatgcgc
+tgctggaacgtctggaagcaggcgaaaccctgagtgccgaagagcaatcctgggtggatg
+ctaaactggatcgtattgatgagttgatgcagaaactcggcctctcttatgacgatgacg
+aagaagaggaagaagacgagaagcaagaagacatgatgcgtctgctgcggggcaactaac
+ggattgccgccgtgggccttcccgttctgctgataacccttccggttatatgttatctgg
+tgtggttattcgttaaactacagcggttgtcgcggcgacaaaagtggctgcgcaaccggc
+tgatgacccgaaacgggcatccgccggtacgccgtagccgccagagacgccatcggaagg
+agtgagcatgtctgtacagcaaatcgactgggatctggccctgatccagaaatataacta
+ttccgggccacgatacacctcgtacccgaccgcgctggagttttcagaagacttcggcga
+acaggcgtttttacaagccgtggcgcgctatcctgagcgtccattatctctctacgtaca
+tatcccgttctgccataagctttgttacttctgcggttgcaataagattgttactcgcca
+gcagcacaaggccgatcagtatctggacgcgctggagcaagaaatcgtccatcgtgcacc
+gctgttcgccgggcgtcacgtcagccaattgcactggggcggcggaacgccgacgtatct
+gaataaagcgcaaatcagccgcctgatgaagctgctgcgcgaaaacttccagttcaatgc
+cgatgcggagatttcgatcgaagtcgatccgcgggaaatcgaactggatgtactcgatca
+tttacgcgccgaaggctttaatcgcctgagcatgggcgtgcaggacttcaacaaagaagt
+gcaacgtctggttaaccgcgagcaggatgaagagttcatctttgcactgcttaaccatgc
+gcgtgagattggttttacctccaccaacatcgacctgatttacggcctgccgaaacagac
+gccggagagtttcgcctttaccctgaaacgtgtggcggagctgaaccccgatcgtctgag
+tgtctttaactacgcgcatctgccgaccatttttgctgctcagcgcaaaatcaaagatgc
+tgacctgccgagtccgcagcaaaaactcgatatcctgcaggaaaccatcgccttcctgac
+gcaatcgggctatcagtttatcggtatggatcactttgcccgtccggatgacgagctggc
+ggtggcccagcgtgaaggcgtgctgcatcgtaacttccagggctacaccactcagggcga
+taccgatctgctggggatgggcgtttccgccatcagcatgattggcgactgctacgcgca
+gaaccagaaagagttgaagcagtactatcagcaagtggatgaacaaggcaatgcgctgtg
+gcgtggtattgcgctaacgcgtgatgactgtattcgccgcgatgtgattaagtcgctcat
+ctgcaacttccgtctggattacgcccctattgagaaacagtgggatttgcacttcgctga
+ttactttgcggaagatctcaagctgctcgccccgttagcaaaagatgggctggtggatgt
+ggatgagaagggaatacaggtgacggcgaaaggtcgcttgctgatccgcaacatttgcat
+gtgctttgatacctatctgcgccagaaagcgcggatgcagcagttctctcgggtgattta
+aatagtgaatggcgcttcgtttacaaagtagaaaacgaaagcgccatcaatgtgctgaga
+acaagattgcctgatgcgctgggcaacaaaacctgttgaaattattgcttttgtaggccg
+gataaggcgtttacgccgcatcaggcatctgagcatgatgcctgatgcggcgctggtcgc
+gtcttatcaggcctacgactttctccgcatccggcataaacaacgagcttcagctaaaca
+gcccaatcattgcggcacacagcacggcagcaacggcagtttgcggtgtgtggctgtcaa
+ctgcgccactcgataccagattaattattgattccagcataatgactctccccgttttcc
+gggcaagatcatactgaacttatcggaacagtaaagcgtaaaataccagcaatttgcgct
+caataatcaatctttacacacaagctgtgaatcactccatccccagctcttttaacttac
+gcgtcagggtgttgcggccccagccgagtagccgcgccgcttcctgtttatgcccctgcg
+tatgtcgcaacgcggtcgtcagtaacgtccgctccagctctggctgcgcttcggaaagca
+gattttgatgaccggaacgcagcgctctgtctgcccactgcgcaagaagcgtcgcccagc
+tgtccggttgcatttgcgaagtactctccgcaaccgttgattcaaacagttcgccgggca
+aatcctgaatcaacacttcctgcccggcggccatcaccgttagccagcggcaggtgtttt
+ccagctggcgcacgttgcctggccacgccagacgcgtcagagcagcttcggtttccggat
+gcagtaacttcgcttctacgcccagttcgcgcgcggcaacctgtaaaaaatggcgcgcca
+gacggggaatatcttcccgacgttcgcgcagcggcggcagatgaacgcggataacgttca
+ggcggtggaacagatcctcacggaacttaccttcctgcactcgctgttcgagattctggt
+gagtggcagcgataatccgcacatccactttcaccggcgcatagccgccaacgcggtaaa
+actgaccgtctgccagcacgcgcagcaaacgcgtctgcacatccagcggcatatcaccaa
+tttcgtcgaggaataatgtaccgccatcggcctgttcaaaacgcccctgacgaatggtat
+tcgcgccagtaaacgcgcctttctcgtggccaaacagttctgattcgatcaaatcttttg
+ggatagctgccatattcagcgcgataaacggcgctttggcgcgcggactgtggcgatgca
+gggcatgagcgaccagttctttaccggtgccggattcgccgttaatcagcacgctaatag
+aagaacgcgaaagccgaccgataatacggaacacgtcctgcatggctggcgcttcgccga
+tgatatcggtcgttgggccgttaagctgaacattacgcggctgctgctgttcctggtaat
+gactgatagcgcgctcaaccagcgccactgcttcgtcgatatcaaacggtttgggcagat
+aatcaaacgccccttgttgataggcgctgacggcagcatccagatcggaatgtgcggtca
+taatgatgaccggaagcattggatggcgctgtttaatctgcttgagcagcgccagcccgt
+ccattcccggcatacggatatctgaaagcagcacatccggcgttttgctcgccagcgcct
+ccagcacttctgcgccgttctcaaacgtcgtacaggttaaacctgccccagcgagcgcac
+gttcaagcacccaacggatggaactatcgtcatcgactacccagactatccctcgttgca
+taaacgtcacctttatttcctgataggcaggtaaaccgagaactcggtatgccctggcca
+actggtaaattcaattttgcctgaatgctgatcaatcaaattacgagcgatggataagcc
+aagcccggtgccaccttcgcggccgctgaccatcgggtaaaacagcgtatcctgcaaatg
+aggcggaatgcccggcccgttatcttccacatcaatccgcgccgccagccggtagcgctc
+gccgtgtaaggtcagttgaaacgcggtgcgggtacgcagaatgatttcaccgccttccgg
+ccccagcgcctgtagcgcattgcgcacaatattcagcaagacctgttcaatttgatccgg
+gtcgtgcgccagttccggtaggctgggatcgtaatcacgaatcaaccgcacgttgtccgg
+cagttccatcgacaccagcgttaccacgcgttcagccactttgtgaatactttcggtaac
+gcgcgtaccgggcagctgcggccccaacagacggtcgaccagatttcgcagccggtccgc
+ctgttcgataatcactttggtatattcgagtagtgatgggtcaggtaacgctttgctgag
+cagctgcgccgcgccacgtaaaccgccaagcggatttttaatctcatgtgccaggccgcg
+cactaaatcacgggcagcaacctgctgggcgtgctgtagctgttcctgacttaagcggcg
+ctggttatccatcggagccatctccagcaggatcatgccgtccggcatacgctgggccgt
+cacagaaaggatatgcgagcgcccgtcgatgaccagcgtcacttcgttatcggtaaaacc
+ttgccccgcctccagactttcttgcatcagctcgatatttaatgagaagtagctcaacag
+ttccggtaacggtgtaccaaacaatttgcgggagctttgggcgagcagttgttgcgcggc
+agggttggcgtaatggatcgccaggttgtcatcgattaacaaaatactgttaatcagcga
+gttgaggatctgcccagcatcgggctgcgtgcctgttgccataaagcagtctcctgaaca
+ggttgcaccattttagtgcattatagctttttacggataaaaagcgcgaagcatcagaga
+attgacggagaaaaaagcccatgcagagatgggctacagatagctgacaaacttcacgtt
+ggagagcgactcacctgctccggcctaccacatcatcaccgtgtaggccggataagacgc
+atttgcgtcgcatccggcgtgatgtgcttgccaccgatcccaggcctgccagagacaggc
+gaaaagtttccacggcaactaaaacacttagacgctgtagtacagctcaaactctaccgg
+atgcggagtcatacgcacgcggtcatcttcttcgcgacgcagagcgatgtacgcatcaat
+tgcttcgtcagtgaacacgccaccggctttcaggaactcgcggtccagatccagttcgtt
+cagtgcttcttccagagagcctgcaacctgtgggatctctttcgcttcttctggcggcag
+gtcatacaggtttttgtccatggcttcgcccggatggatcttgttcttgataccatcaag
+accggccatcagcagggcagcaaagcacaggtacgggttagctgccggatccgggaaacg
+tacttcgatacgacgtgctttcggagaagaaaccaccggaatacggatagacgcagaacg
+gttacgcgcagagtaagccagcattaccggtgcttcatagcccgggaccagacgcttata
+agagttggtggtcgggtttgccagggcgttaatcgctttagcgtgtttgattacgccgcc
+aatgtagtacagcgcctgctcagacagacctgcgtatttgtcgcctgcgaacaggttaac
+gccgtttttagacagagacatgtggcagtgcataccggagccgttatcaccgaacatcgg
+ttttggcataaaggtcgcggttttaccgaagcggtgcgctacgttgtgcacaacatattt
+gtagatctgaatttcgtcagcttttttggtcatggtattgaagcgggtagccacttcgtt
+ctgaccagcagtcgctacttcgtggtgatgggcttcaaccaccagacccatctgttccat
+caccagacacatttcagaacgaatatcctgagccgagtctaccggtggaaccgggaagta
+accgcctttcactgccggacggtgacctttgttaccaccttcgtattgggtggaggagtt
+ccatgcgccttcgatatcgtcgatagcaacgtgggaaccggagatagatgatccgaaacg
+gatgtcatcgaacaggaagaattcaggttctggcccgaacagtacggtgtcggcaatgcc
+agtggaacgcaggtaatcttcggcgcgcttcgcaatggagcgcgggtcacggtcatagcc
+ttgcagggtgccaggttcaaggatgtcgcaacggataatcagggtggagtcggcgaagaa
+cgggtcaatcactgcggtggatgcgtctggcatcagcaccatgtcggactcgttaatgcc
+tttccagccgccaatcgaggagccgtcaaacattttgccttcttcgaagaattcagcatt
+cacctgatgagcagggatagtgacgtgctgttctttacctttagtatcggtgaagcgcaa
+atcaacaaacttcacttcgtgctcgttcagcatcgtcagtacgtgttcagcggacatact
+ttaactctcctggattggtcatggtcgtcgtggtaacgaaatctgcaattattttggccg
+tgtcgccgtaaaaaagataaagcgaaatctgtgccaacttttaaattgcccctaaaaggc
+gttatcatgcgcaccatcgtgcaaaagggctgcaccacgatgtgaatgttgcaccaatat
+agtgcttcaatggaaacattaagcaccatgttggtgcaatgacctttggataaccctttt
+tatgctccgtgaaagcgatcacaaagggactctgcaatacttgtttgcggaggatgtttg
+tgatcctgttttgtagtgcgattaatccgtgtacaataacgcgctatttctaatgcctga
+ggcaaagttgtgatcgaaaaattgcgtaatatcgccatcatcgcgcacgtagaccatggt
+aaaaccaccctggtagacaagctgctccaacaatccggtacgttcgactctcgtgccgaa
+acccaagagcgcgtgatggactccaacgatttggagaaagagcgtgggattaccatcctc
+gcgaaaaacaccgctatcaaatggaatgattaccgtatcaacatcgttgataccccgggg
+cacgccgacttcggtggtgaagttgaacgtgtaatgtccatggtagactcagtgctgctg
+gtggttgacgcatttgacggcccgatgccgcaaacgcgcttcgtaaccaaaaaagcgttt
+gcttacggcctgaagccgattgttgttatcaacaaagttgaccgccctggcgcgcgtcct
+gattgggttgtggatcaggtattcgatctgttcgttaacctcgacgcgaccgacgagcag
+ctggacttcccgatcgtttacgcttctgcgctgaacggtatcgcgggtctggaccacgaa
+gatatggcggaagacatgaccccgctgtaccaggcgattgttgaccacgttcctgcgccg
+gacgttgaccttgacggtccgttccagatgcagatttctcagctcgattacaacagctat
+gttggcgttatcggcattggccgcatcaagcgcggtaaagtgaagccgaaccagcaggtc
+actatcatcgatagcgaaggcaaaacccgcaacgcgaaagtcggtaaagtgctgggccac
+ctcggtctggaacgtatcgaaaccgatctggcggaagctggcgatatcgttgcgatcacg
+ggccttggcgaactgaacatttctgacaccgtttgcgacacgcaaaacgttgaagcgctg
+ccggcactctccgttgatgagccgaccgtttctatgttcttctgcgttaacacctcgccg
+ttctgcggtaaagaaggtaagttcgtaacgtctcgtcagatcctggatcgtctgaacaaa
+gaactggtacacaacgttgcgctgcgcgtagaagaaaccgaagacgccgatgcgttccgc
+gtttctggtcgtggcgaactgcacctgtctgttctgatcgaaaacatgcgtcgtgaaggt
+ttcgaactggcggtatcccgtccgaaagttatcttccgtgaaatcgacggtcgtaaacaa
+gagccgtatgaaaacgtgactctggacgttgaagaacagcatcagggttctgtaatgcag
+gcgctgggcgaacgtaaaggcgacctgaaaaacatgaatccagacggtaaaggccgcgta
+cgtctcgactacgtgatcccaagccgtggtctgattggcttccgttctgagttcatgacc
+atgacttccggtactggtctgctgtactccaccttcagccactacgacgacgtacgtccg
+ggtgaagtgggtcagcgtcagaacggcgtactgatctctaacggtcagggtaaagcggtc
+gcgttcgcgctgttcggtctgcaggatcgcggtaagctgttcctcggtcacggtgcagaa
+gtttacgaaggtcagattatcggtattcatagccgctctaacgacctgactgtaaactgc
+ctgaccggtaagaaactgaccaacatgcgtgcttccggtactgacgaagccgttgttctg
+gttccgcctatccgcatgactctggaacaagctctggagttcatcgatgatgacgaactg
+gtagaagtgactccgacctctatccgtattcgtaaacgtcacctgacggaaaacgatcgt
+cgccgcgccaaccgcgcaccgaaagacgattaatttcgttttttagtcataaaaaacctg
+ccagcgatggcaggtttttttttgcctgtcgtgagcgcacaccaatgcgagtatctccct
+tataagtctgtggttacgtcaatagagagctttgtcacaattatctgcaaagtcatacgc
+cgttaattgctttcttttttggcgtaagcgtaagatgcttcatctggtttaaaccaaaag
+gattaaacaatggcggagaatcaatccaccgtagaaaatgcaaaagagaaactggatcgg
+tggttgaaagatggcatcaccacgccgggtggaaaactcccttcagaaagagagctggga
+gaactgctgggcattaaacgtatgacgctgcgccaggcgttgttgaacctcgaggcagaa
+tccaaaatcttccgtaaggatcgtaaggggtggttcgtgacccagccgcgatttaattac
+agtccggagctgtcggcgagctttcagcgggccgcaattgagcaagggcgagagccttcc
+tgggggtttaccgagaaaaaccgtaccagcgatattcccgagacgctcgcgccactgatt
+gcagtgacgccatcaactgaactctatcgcatcaccggctggggggcgctggaaggacat
+aaagttttctatcacgaaacatatattaatcctgaagttgctccgggctttattgaacaa
+cttgaaaaccactcattttctgcagtctgggaaaagtgctaccaaaaagagacggtagta
+aaaaaattgattttcaaacccgtcagaatgccgggcgatatcagcaagtatcttggcggt
+tctgcgggtatgccagcgatcttaattgaaaagcatcgcgccgaccagcaaggcaatatt
+gtccaaatagatattgaatattggcgatttgaggccgtagacctcatcattaatctgtag
+gtgttttatggtgacaataaataacgcaagaaagattctacaacgtgtcgacactcttcc
+tctttatttacatgcttatgcctttcatttaaatatgcggctggaaagagtgttgcctgc
+tgatttacttgatatcgcaagtgaaaataatctacgtggcgtcaaaatccatgttctcga
+tggcgagcgtttttctcttggtaatatggacgataaagaactctctgcctttggggataa
+agcccgccgtctgaaccttgatattcatattgaaaccagcgcctcagataaggcatctat
+tgacgaagccgtcgccatcgcgttgaaaactggggcatcgtccgtacgtttttatccacg
+ttatgaaggtaatttgcgcgacgtattatcgattatcgctaacgacattgcctatgtacg
+ggaaacgtatcaggacagcggcctgacttttacgatcgagcagcatgaagatttaaaaag
+tcatgagctggtgtcgctggtcaaagaaagtgagatggaatctctttccttactgtttga
+ttttgcgaacatgatcaatgcaaatgagcatcccatcgacgctttaaaaacgatggcacc
+gcatattacccaggtccatatcaaagatgccttgatcgttaaagaaccgggtggcctggg
+tcataaagcctgtatttcaggtcagggtgatatgccgttcaaagcgttattaacgcacct
+tatctgcctgggtgatgatgagccgcaggtgacggcatatggcctggaagaagaggttga
+ttactatgcgccggcgttccgctttgaagacgaagatgataatccgtggatcccttatcg
+ccagatgagtgaaacaccattgccagaaaatcatttactggatgcgcggttacgtaaaga
+aaaagaagatgcaattaatcagataaatcatgtgcgtaacgtactacaacaaatcaaaca
+agaggcaaaccatcttctgaaccactaataagttttaactcatacgcagttaataaaacc
+attccatatgaatggtcggtatcttattgcctttaaaacagtgattttaaaaatcgctta
+ggggatgttatgctcacgaaaaagaaatgggcgttatttagtctattaacactgtgtggc
+ggtacaatttataaattaccgtcgctgaaagatgcgttttatatcccgatgcaggaatat
+ttccatttgaccaatggtcaaattggtaatgctatgtcggtaaactcatttgtcaccaca
+gtgggcttttttctgtctatttattttgccgataaactaccgcgcagatacaccatgtca
+ttctcactcattgcgacaggattactgggtgtttatttgacgacaatgccggggtattgg
+ggcatcctctttgtctgggcgctatttggcgttacttgcgacatgatgaactggccggtc
+ttgctcaagtcggtaagtcgattgggcaatagcgaacaacaaggtcggttgtttggcttc
+ttcgaaacagggcgtggcattgtcgataccgtggtggcattttctgcgttggcagtattt
+acctggtttggcagtggcttattaggttttaaagcaggcatctggttctattcccttatt
+gtgattgccgtaggcattattattttctttgtcctgaatgacaaagaagaggcaccgtcc
+gttgaggtgaaaaaagaagacggagcatcgaaaaacaccagtatgacctcggtgctgaaa
+gacaaaactatctggcttatcgcttttaacgtcttcttcgtttacgcggtttactgtggc
+ctgacattcttcattccattcctgaaaaacatctatctattgcccgttgcgctggtgggg
+gcttacggcatcattaaccaatactgtctgaaaatgattggtggaccgattggtggcatg
+atttcagataagatcctgaaatcgccaagtaaatatctatgctacacctttatcattagt
+accgctgcgctcgtactgttgattatgctgccgcacgaaagtatgccggtctatttaggg
+atggcatgtacgctgggctttggcgcgatagtctttacacagcgagccgtattttttgca
+cctatcggcgaagcaaaaattgctgaaaataaaacaggtgcggcgatggcgttgggtagc
+tttattggttacgctccggcgatgttctgcttcagtctgtatggctacattctggattta
+aatccggggattattggctacaaaatcgtgtttggcattatggcctgcttcgcattcagt
+ggtgcggtggtttccgtaatgctggttaagcgtattagccaacgtaagaaagagatgctg
+gcggctgaagcttaattaatggccggatgtgcttaatccggccaacgaaaaccgtatcaa
+ccgtaggccggataaggcgtttacgccgcatccggcagtttcacatcagaagaaatactt
+cgtcccgatacggatctggttttgctcgcggtggtacggttcgacgttgcggtctaacca
+gcgcaattcgaaataagggagccagtgttcattaatacggtaacggaaggtgttagtgat
+ttcccaatgatgatctttcccgttgctactattaaagtcattcactcgcatgaagtaatg
+tggctcaaatgtataggaaaatttatcggtgattttaaaattccagtaggtgccaatttc
+ataggtgtcattattatccagttccccgctcaaatctgttgaactatagttattatggtt
+atagcgatttcgtactgtcagattaaaccatggtacaaatttatagttgacgtccagata
+cactgcaccacccgaaccgatactcttatcattaattaagccaccgggctggatggttaa
+tttatcggttggtttaaataacggataccagccttcaatttcgttatatccatgttttag
+ttcatcttctcgctgaaagttgtaggtattggttaacataatacccgcgcccatatcgaa
+gttataacccacacgtagcataacctcgccctgatcggaggcaagattatatgcctccct
+gttttcgacgtatgcgccagcaaataccgaggcagaggtcagagaagataataaaattat
+tgcattaatctttttcataataagtccattttttaaacgtagggaggccgccacccacca
+ggatggaaatagcggctattgacatttataacgttacggaagccgttttttcttctgtcg
+ccatctctttatttttgcgttggttgatttcctcaataatcaatgcaaaccgtttttcat
+tgagtgtgtaaaagaatcccatcgtcaatgcagcaataattgccagtgcacaaggccaga
+taaaaatgagctgacgcaaaccctgtaatgtcgcatcgctttgcgcgatgttgggaacat
+aaccaatttgcgtcagcataatgcctggcaagaagccagcaagtgcggcagaaattttac
+gaaagaaggtataaccggtataaacagaaccttcggcacgaataccggttttccattcac
+cgtaatctacggtatctggtaccagtgcccagttcaggctgtttacaaaggccgtgccaa
+aaaaggcgacacaagagaacatgacgaaagtgaaagagttacttccccagaaataattca
+gtatatcacccaccgcccacagcaccatgccagccagataaacctgttttttaccaaaac
+attttacagttaatggcaccagtaatacgccgatgaggatgcatcccatactgaagaatc
+ccatccacgacaataaattaatatcattcagcacatactgggtgtaatagacctgaatcg
+ccagtttgatattaaatgccgccagggtacacaagttagcaatgcataaaaccagcaatg
+gcggattccgaaatatcgcgcaaaatgatttgagaatactggctttatgtccggttggcg
+ttgtgtccacataatgctctttgacgcctctgtagcacagcatcataaaaataaagccgc
+caatggagaacataagtgccgcacaggcataaccgacggttgagtcagaaaaaagcgact
+gcaacggaataaacgccacggtacaaatcaatagccctatggttgcaccaccctggcggt
+aagccgcgagctgcgcgcgctcattcgggtttttggtaattgccgggatcatcgcaccat
+acgagcagttcatcagactgtatgaaagtccaaacatcataaacagcgcggtggcaatcg
+tcgttttaaccggcaaacaaaaggtggtggcgataaactggagcgttgcaattaacgccg
+ccggaaccgctgcatataaaataaagggacgaaatttgcctttaggcccaatatttttcc
+gcgagtcgagtaaaaatccggtgagcatatcggtaaacgcggtaaaaaacttcgccacca
+gaaagataatcccgccatagtaagcaggcatccctaattcatcggtataaaatttgagga
+gatacagagtaccgatgcagagcattaaattcgaaccgacgtcgcccataccataggcga
+ttttttcccgcagattcagttttaatgtcagtggattatggtcagacataatcactcctt
+ataacgccccgcagggcgtcgtttattattattacgccgtgcgtttacgggcttctatct
+cttccacaatgcggacatacatcttctcgttcaggctgtagaagcaacccatcgccacaa
+tggtgactaccgccagtgcgcttgggtagatgaagatcaactggcgtaacccttcaatgg
+tgtggtcagcctgtgcgacgttcggcacatagccaatttgcgtcagcatccagccgggga
+agaaaccagccagcgcctgagacactttgcgaaagaaggtaaaaccggtgtagaccgttc
+cttccgaacgcacgccggtgcgccactcgccgtactcgacggtgtcggaaaccagcgccc
+agttcaggctgttaacaaacgctgagccaaagaacgccaggcaggagaacgccacgaagc
+tgaccgaaccgccgccgaagaaatagttgagcagatcgcccagcacccaaatcagcaggc
+cgccgatataaactttcttcttgccaaaacgtctgactgaggcaggcatcaggaatacgc
+cgatgaaaatacagcccatgctgaaaaatcccatatacgacaacaggatgggatcgttaa
+gcacgtactgggtgtaatagacctggatggcgagcttgacgttaaacgcccctaaagtgc
+agaggttggcaatgcacagaatgaacagcgggcggttacccgcaattgcgcggaaagatt
+gcagcaggcccggcttttgcgccggattagcaggctgggtttcgacataacgctctttca
+cgcccgagtagcagatccacataaacagcaggccaaacagtgaaaacagcgtggcggcga
+agatatagccaagttgctgattaccttcgataagattcataactggcacgaatcccaccg
+tgcacagcagcaggcccagcgtagcgccgccctgacgccatgccgccagtgaggcgcgtt
+cgttggggtttttggtgatagcgggaaccattgcgccgtaggagcagttcatcatgctga
+aaaacagtccgtaaagcataaacagaatagtggccatcaccgttttaccggtgacatcaa
+acggtgtgccgacaaagttggcgatcgccagtaaggtgaccgggaatgacgcatacagaa
+taaaaggacggaacttaccttttggaccgatcttgcgtcgggaatccaacataatgccgg
+tacccatatcggtaaacgcagtaaagaattttgaaatcaaaaagataatgccgccatagg
+tgcctggcagccccagaacgtcggtataaaacttcaaaagataaagcgtaccgatatcca
+gcaggatgttagaggccaggtcgccaataccgtaagagagtttctctttaaagggcaggc
+gtaaagttgctggatcttccgttgtgatgtgactcatcgatgttctccctttgcccatga
+gtttccccacgggcggatgtgattagatgctttttaacgacgcgaacagtgccgcccatt
+cgctatcggcgcgataaaagaccggcggcttgccgatgggcgcattaacggtaacttccc
+cgccccggaacgcttcacccgtccaggcgtggacccagttatcctccggcagatagagcg
+tccagtcgctacggccttcttcatgcaccggagcgaccagaatgtcgcgacctaacaggt
+actgatatttcagggtgtaagtgtgcgcatcgtcttcgtaatgcaggaacagcgggcgca
+taaccggcaggccggacttcgcattcagcgcgacggcctctttcaggtaaggtttcaggg
+tggtgaagacggtggtcatacgggcgaaatgggcgatggtttctgcgtcgccgtcaaact
+gccagttgtcgccaggacggttaccttcgtgggtgcgcatcatcggcgtgaaggcgctga
+aatcgcaccagcgcagcagcagctctttgctgcgcttcatctcaaacagggtggtgtaac
+cgccaatgtcgctgtggtgcaggccatgtccggtcattgccagcgacagcgccgccggga
+caaccgacgccaggccatcgtcgagactccagtcgacgttctggtcgcccgcccacatca
+tggtggagtatttctggctaccggtagaaccggcgcgcataaagaaaaggatctcgccga
+gcttgcccgtttcttcaagggcttcgtagttacacttcgcccacagcgcaggccaggcgt
+tatgcataatttcggcactgacgccgttatgcaagtacgtgtcggtgggcagatactcgc
+cgaagtcagccatccagccgccgcagccgagttcaatcatgttctttttgatcacttcct
+tgaaccaggcgtaggcttctggattagtgagatcgacaacgccgccgtaaaactcgccaa
+actccaccagatagtcaccgccagaggcatcttttgccagatagccgtgttgtgccgctt
+cttcgcagagatctttatcgctggcaacatacgggttgatataggccaggaactgcacgc
+cctcctgattccactgcttaatgcgtgaatccagttgcgggtagttttcgctgttccact
+tccagttccacatcacgcgtttgccaaaagaggtcatacgaataccggaccagtcctgcg
+cccagatgccgttgaccttcacgcccgcgttacgcatggtgtccagtttcttctggcaca
+cttccgtcccgccctgaatgccgagcgttactccgtcataaatccagtcgggcagttctg
+gctggcgtcccagcagggcggttaatttttccagcagggaaatgtatgtgtcagcacatt
+caaaacgcagcgttgctttgtcttcccacagcgccagttcatggtattccggggcactaa
+agtcgaagttcatatagcaactgttatcaacatggcagtaatacttctgcgtgctgacaa
+acgtaggctgtgggaagaaagtccagtaatagtcgccgcccgcattttctttgcagtcgg
+cctgccaggtgacataggtttgtttgttgcgaccaacgccttgttcactggtccatagcg
+ggaacggtttgccacgcagatcgaagtaggaaaactgttcgccgcagccgtagatatggt
+cctctggttgagcggcaaggcgcagccagatacggttgtggttaaggttgtcgttttgta
+gttccagcaataaacgcccctgatcgtcggcagagatattcagcgtggcgctaatgtcag
+aaccacggctgaaatgaattaaccaaccatccggtgactggctgacgatggcgtcggtaa
+gcgcaattttctcctgtagtttatctttaatgctgaaattaccgcggaacatatcgatat
+ccgctatacctgagccaatccataaacaaggattatctttgctatgggttaaaataagac
+gttgttgaaaatgtagggtaaaactgtcgttattctgatgaaattgaaaatctaataact
+gtggacgtggcgtatccataactaatctccatagagttgagaacgagattgttgccttcc
+tgttattacaggcttatgtaaaatgattctcataaaactgatatataaaaactttacaga
+agctgagctgtttttaacttaataaattgaagatacataatgttgcctttagcgagtgaa
+atgttcttcaatgattttgactgctaatcaatacaagttattttctctgtccgtaaatat
+taaaaaacaggcggtgcggttttcctgattccagtaataataagtcgatacctgaattaa
+aggcgttaggcgggcaactcataggttcaactgccagtccctgacgctgtaatttttcac
+cgctataaacctgcacccagagttgatcggaacaaaggcttaccgaaagcgcctgctgtg
+gatgggtaatggtcatttcccacaaatcattagcggttttaaaggtgtggtcgatttttg
+tcgcggctatttttttcgcctgcgtgaaatttaaatccagctcatcaacgtggtgaagcg
+ttgtcggattcgcgtgctcatcgacggcataaacctggtttgccggaagctggaacagat
+attcatcaacagatgttaagttgcaggttaaataaggatgaatacccacgccataaggcg
+ctgcgacagtgccgatattctggcttgcgatctcaacggaaagacccgtgtgtgcgttga
+gcgaataaacaacttgtgaagccagcataaacggatagccgtaactgggcggcagaaaag
+ctgtcagggtaacgctggtggcggttaattcactaatttgccagtctcgccaggcaagca
+gcccgtgaatagcggcttttgaactatgttcattaatgggtaactgatattcctgcccct
+gatagcggtaacagccgttggcgatccggttcggccacggaataagcactttacccagat
+gcgccagcggcatctcttcgggtttgtgcgggatgactaaatgacaaccctgaaaggtta
+attcagccagaccagcaccgacggtcacaatggtcgcgtgataatcccccgcggcaagtg
+aaacggtctgtccactgcaatgcatattggtgatttgcatacaaggcaccttaattaacg
+acatacagcctcccgtgaggctgatgtcaaacccaaaaactgcaccggacggtcccctcg
+cccctttggggagagggttagggagaggggaaaacccgcaccctattttcagatcagtta
+tttcgcattaatatccagcagacccgctgcaaccgctggagccatgccgggcgctaacgg
+gatacgcgggatcaccaggcaatgcagcaggtgataaatatcctgtttgccgtcccagac
+tttggtggtgaccttattgtccgcatccagctcctgccaccaggaaccattttcatagtc
+catcaggtacttaatgcagtactcccaccatgtttgataccaggtttcatactggcgatc
+gccagtgacggtgtagagcgcgtaggccgtacccattgcttcgacgataggccaacgtac
+acgttcgcggaccaccggttttccttcccagtcaacggtataaacaatcccgtccgcgcc
+atcgggtgcccaggcatcgcgcacggtggcgttaaacagacctttggcatcttctagcag
+ccatgctggtggttgttcgcaacgggcttccagggcagcatggatgtgcagcattaaacg
+gccccattcgatccagtggcctggtgtacctccgaacgcgcggaagcgatgcgccgggtt
+atctttgttgtaatccggcagcggattccactgggtatcgaagtgttcgttaacgcgata
+atgattatttctggcgacgtcgtggataatcacggaagccacgcgaatcgcgcgatccag
+ccattttttgtcgtgagtgacgtcataaacaatcaagaaagcttccaccgcgtgcatatt
+ggcattgccgccgcggtactcttcggttttgctgaaggcttcgtcccaggattccaggca
+catctgctcttcttcgctccagaaatatttctcgataatttcaatggtgtaatcgagcag
+cttgcgcgcttccgggtgacccgttgtgacggcgctggcggcacccagcagagcaaagaa
+gtgttgatagccctgtttggaggcatccaccacgccctcgtcattcacgcaggcatacca
+gccgccatattttttatcacgcagtgcgccgttcatggctttgataccgtgatcaaccaa
+cgagtaagcgccaggtcgacccatcgccgcagcaacggaataaacgtgcaacatacgagc
+ggtgatccacagatgggtgcccatctcttctttgatttgccctttattgcctaaccagcc
+aaaaccagtcggcactacggaatttttaccaaaatcaaagatgcggtcggtttcctgttc
+cagccaacggttgtggcttagggtgttaaaccatttcattccttttatcctcatcttagc
+ggcgtttagccatcatttcgtcgacgatatcgccaagttgttgtaatttcggtgcgcaaa
+cgtcacgcagcatcagctcgttgtctggtaaaccgacgaccgatgcccagactgcacggc
+ctgccaggaatcccgatgcgcccgccgtcattgccacgcgtacggcacgcgggaacagtt
+tttcgtcgacaccggaagagaggatcacccatggcatattgatatggtcattcagacgtt
+gtgaagcacagagaagctcttgttgcggacctttgccataaagcggcatttcaactttgt
+agaggtcagcgccactgtcgcccagctctttggcggcatcgatgatcgcttgttcgcgat
+cgaatttatcgccacgacgcggtgggcggacgactggctcaatgatgcttaccagaccgt
+gtgagtggcacagttcgttgaactctttcaccatatccagacgttgctgcgcatcttcat
+cactacgccacagcaccagcagttttaaggctttgccaccgtcttgtttgatctgtagcg
+gattgattttgcggtcaataaccacgctatcgaccggaataccgttgccaggaatgaact
+catcggcggcgacaatcatggcgcaacttttggcaatcgcgttttgctcaaccacctggc
+ggtagcagaattgttgatctaccagaatcgccgaggcataaggcgagagggcctttgcag
+cgttaactttgaaatcagttaaaacgctatcggctaccggagcgggtgccccagccgcgg
+caaacatcatgcgcatggcttcgcgctgatcgaccgccagcatggcaaaaccgcccgatg
+cgcgcgtaatgtcgttgatggtgtacttattcattcatttattcctttatccagtcgtta
+catttttactttggcagtcatcccggcactgacacggacctgttccagaatggcggacca
+gtcctggcgaccgcgacccgctgcgcgcgcctggctataaacctcccgtgaggcggcccc
+cagcggcattggcacatgcagctggttggcgacatcaagggcgatgccaagatccttatg
+ggcaagatcgatcatgaaggcgggagaaagatctccgctgaggactttgtttggccagga
+agtggtgaagtgacctttaccggcggcggtaccgctcatcactttgacggcaacatcgaa
+gggaagattcagggcttcgcacaaaacggcggcttctgccgaaagcgcattgagcgcgat
+gctcatgtagttgttgatgagcttaacgcggatccccatgcccggaccgccagcgttgat
+caactcactgcccatcgccatcaggatcggtgtggcacgttcaacttgttcagcggtgcc
+gccagccagcagtaacagagtaccggtaatggcatttgcagaagtacggcctaccggaac
+atccatcatgctgaagcctttggcttgcatatcggcaatcaatttatcggtttgcagcgg
+atggatggtggacatatcaatgaccagcgcatcggtagataagccttcgcaaacgccgtt
+ttcaccgaacaacacgttgcgcaccagatcgccattcggcaacatggtaatgataaattc
+ggcatctttagcggcctgcgccgggttggcggcgggagtcgcacctttgtctaccagatg
+ccgcacagcttcggcgttcacatcaaagacgcgaagttgatgcccttgctgcaataaatt
+gctcgccattggcgaacccatttgtcctaaaccgataaacgcgattgctgccataaccct
+ctcctgaatacagttatgtcactttttgtcatttatgacatgctttgcttgtctgttttt
+gatcgtatttgtaatttatcgtcaaaaaattgacagccgtcactttttaaacaattggtg
+aaattaaaatgaacgcatcccaaaatgtttaaggaatgaccatgattcgtgttgcttgtg
+taggtataaccgtgatggatcgcatctattacgtggaagggttaccgacggagagcggta
+aatacgtggcgagaaattatacggaagttggtggcgggccagcggcgacggcagcggttg
+cggcggcaaggctgggggcgcaggtcgattttattggtcgcgtaggtgatgacgacacgg
+gcaacagcctgctggcagagctggaatcctggggcgttaacacccgttacaccaaacggt
+ataaccaggcgaaatcttcgcaatccgccatcatggtggataccaaaggcgagcggataa
+tcattaactaccccagcccggatctgctgcctgacgcagagtggttggaggaaattgatt
+tctctcagtgggatgttgtgctggcagatgtacgctggcacgacggcgctaaaaaagcct
+tcaccctggcccgtcaggcgggtgtgatgaccgttctggacggggacattacgccgcagg
+atatcagtgagctggtggcattaagcgatcacgcggccttttcagaaccgggtctggcgc
+gcttaacgggcgtgaaagagatggccagtgcgctaaaacaggcacaaacgctcacaaatg
+gtcatgtctatgtgacccagggtagcgcaggctgcgactggctggaaaatggtgggcgtc
+agcatcaaccggccttcaaagttgatgtggtagataccacaggtgcgggtgatgtttttc
+acggcgctttggcggtggcgctggcaacaagtggggatttagcggagtcagtccgcttcg
+ccagcggtgtagcggcgttaaaatgcacacgtcccggtggacgagccgggatccctgact
+gtgatcaaacccgatcttttttgtcactttttgtataaaatgccagggtgatggtttttc
+gaggaattttcatgagccttaccgaactaaccggtaacccgcggcacgaccaactcctca
+tgctgatcgccgagcgtgggtatatgaatattgatgagctggcaaatctgctggatgtct
+ccacgcagacggtccgccgggatattcgtaaattaagcgagcaaggcctgattacgcgcc
+atcacggtggcgcgggtcgggcttccagcgtcgttaatacggcgttcgagcagcgtgagg
+tttcgcaaaccgaggaaaaaaaagcgattgccgaagcggtggcagactatattcctgatg
+gttcaacaatatttatcaccattggtacgactgttgagcatgttgcccgggcgttactta
+accataatcatttgcggataatcaccaacagcctgcgtgtggcgcatattctttaccaca
+acccgcgctttgaagtgatggtgcccggcggtacgttgcgctctcataatagcgggatca
+ttggcccttcagcggcgtcctttgtggctgattttcgtgctgattatctggtaacaagcg
+ttggggcgattgagagcgatggcgcgttgatggagtttgatgtaaacgaagctaacgtgg
+tgaaaacgatgatggcgcacgcgagaaatattctgctggtcgccgatcacactaagtatc
+atgcttcggcggcggttgaaattggtaacgtggcacaggtcactgcgctctttaccgacg
+agctgccgcccgctgcgctaaaatcacgcttacaagacagccaaattgaaatcattcttc
+cccaggaagacgcgtagatttttgtgaccgttaacctggcttcataccttgccacatagc
+caaacccatcctttcccgctacagttaatttcttgtggcgcgaaaggaggcaaaaatgct
+ctatatctttgatttaggtaatgtgattgtcgatatcgactttaaccgtgtgctgggagc
+ctggagcgatttaacgcgtattccgctggcatcgcttaagaagagttttcatatggggga
+ggcgtttcatcagcatgagcgtggggaaattagcgacgaagcgttcgcagaggcgctgtg
+tcatgagatggctctaccgctaagctacgagcagttctctcacggctggcaggcggtgtt
+tgttgcgctgcgcccggaagtgatcgccatcatgcataaactgcgtgagcaggggcatcg
+cgtggtggtgctttccaataccaaccgcctgcataccaccttctggccggaagaataccc
+ggaaattcgtgatgctgctgaccatatctatctgtcgcaagatctggggatgcgcaaacc
+tgaagcacgaatttaccagcatgttttgcaggcggaaggtttttcacccagcgatacggt
+ctttttcgacgataacgccgataatatagaaggagccaatcagctgggcattaccagtat
+tctggtgaaagataaaaccaccatcccggactatttcgcgaaggtgttatgctaaaaacc
+attcaggacaaagccaggcaccgtacccgtccactatgggcctggctaaaactactctgg
+caacgcattgatgaggacaacatgacaaccctggcaggtaaccttgcctatgtgtcgttg
+ctctcattagtgccgctggttgccgttgtttttgcgcttttcgccgcttttcccatgttt
+tccgacgtcagcattcagttacgtcactttatttttgccaactttctgcctgctactggc
+gatgttattcagcggtatatcgaacaatttgttgccaattccaacaagatgaccgccgtt
+ggggcgtgcgggctgatcgtcaccgcgttattgttgatgtactccatcgatagcgcgttg
+aataccatctggcgcagtaaacgagcgcgaccaaaaatttactcgttcgccgtgtactgg
+atgattttaacgctggggccgctgctggcaggggccagtctggcgatcagttcctatttg
+ctctccctgcgctgggcgagcgatctcaatactgtcatcgacaacgtgctgcgtattttt
+ccgttgctgttgtcgtggatctccttctggttgctgtacagcattgttcctaccatccgc
+gtacctaaccgcgacgcgattgtcggcgcgtttgtcgccgcactcctgttcgaagcagga
+aagaaaggtttcgcgctttatatcaccatgttcccgtcatatcagctcatttatggtgtg
+ctggcggtgatccccattctctttgtttgggtctactggacatggtgtatcgtcttgctt
+ggcgcggaaattactgtcactctcggggaataccgcaaactaaaacaagcagctgaacaa
+gaagaagacgacgaaccatgattgcattaattcaacgcgtaacccgtgccagcgtcaccg
+tggagggagaagtgacgggcgaaattggcgcgggacttttggtgttattgggtgtcgaaa
+aggatgacgacgaacagaaagcaaaccgtctgtgcgagcgtgtgctcggctaccgcatct
+ttagcgatgccgaaggcaagatgaatctcaacgtgcaacaggcgggcggcagtgtgctgg
+tggtttcccagtttaccctcgccgcagataccgaacgggggatgcgcccaagtttctcca
+aaggtgcatcaccggatcgcgcagaggcgttatatgactatttcgtcgaacgctgccgtc
+agcaagagatgaacacgcaaacaggacgcttcgctgcggatatgcaggtatcgctggtca
+atgatggccccgtgacattctggttgcaggtatgagccagcttccagggttgtcacggga
+aacaagagagagtatcgctatgtatcaccttcgggttccacaaacagaagaagaattaga
+gcgttactatcagtttcgctgggaaatgttgcgtaagcccctgcatcaaccaaaaggttc
+ggaacgcgacgcgtgggatgcgatggcgcatcaccagatggtcgtcgacgagcagggtaa
+tctggtggcggtaggccgactgtatattaatgccgacaatgaagcgtccattcgctttat
+ggccgttcatcccgacgtgcaggacaaagggttaggcacgctgatggcgatgaccctgga
+gtcggtggcgcgtcaggaaggcgttaagcgcgtgacctgtagcgcccgtgaagacgcggt
+ggagtttttcgccaagctggggtttgttaatcagggagaaatcaccacgccaaccaccac
+gccgattcgccattttttgatgattaagcccgtcgccactctggatgacattctgcatcg
+cggcgactggtgcgcgcagctgcaacaggcgtggtacgaacatatcccgcttagtgaaaa
+aatgggcgtgcgcattcagcaatataccgggcaaaaatttatcactaccatgccagaaac
+cggcaatcagaatccgcaccatacgctgtttgccgggagtttattctcactggcgacgct
+cactggttggggacttatctggctgatgctgcgtgaacgccacctcggcggaacgattat
+tcttgcggatgcgcatatccgctacagcaagccgattagcggtaaacctcatgcggtagc
+cgacctcggtgccttaagcggcgatctcgaccgtctggcgcgcggacgaaaagcacgggt
+gcagatgcaggtcgaaatctttggcgacgagacgccgggtgcagtgtttgaaggcacgta
+tatcgttctgcccgcgaagccatttggcccgtatgaagagggcgggaacgaagaagagta
+gctgatggagaggggcggtgctgcctctctcattcaggtcatttatattagtccttggct
+atttcggttatattaaataagaactctataaatttttattcttcgttggctccatacgtg
+tcttgctacatcactgttcaggagcatttaaatattatttgtagaactgagtggcaatta
+tcgcagataatgcttaattcatcatcttagttcatgtttgagcgatttttgatagtcaaa
+accccctctggtgccatacttttctcataaatatttttaaaatctatagctaacaaatat
+tatgcaaagataatggactagcatcattgtcagtatcattcatttactgctctgtatgtt
+atgaataattatgttgtatgtttgctcttaaaccgtgggaaggaggctataatggttgcc
+aatattaatctcattaaacaagaaagttattctgttgttaatttagaaaaacaactttcc
+cgaactgttaccaacaaaattataacgatgagcaagtaaagaccggttggtggcagtact
+gaccggtctgtgatgaaagattaatttcaccttaaatcctggtgctgttaggatgctgac
+gtttttcggctacaccattcagattatgcaaataaatatctctgaatataatatattcat
+agcacccataattcatcctgggcgataactaaaccatttttgagtaataaatgaaacaac
+tgcaacactcttattatttctggaaaacgcctcgcaaaaacaaaacaacatgcaaaaatc
+cgctttttttaaatgattttccggcgtaattttcgcacatacattaatgagtaatatatg
+taaggtattggtaatggcgatgaatacggtttttcttcatttatcagaagaggcaattaa
+acggctgaacaagcttcggggctggcgtaaggtttcacgatctgcaattttacgcgaagc
+ggtagagcaatatctggaacgtcagcaattcccggtgcgtaaagcaaagggaggcaggca
+aaagggggaggtagttggtgttgatgatcagtgtaaggagcataaggaatgacaaaaatt
+tttcattcttgaatataaaaaacagatgcccttattctggtattaatacaaggctgtttt
+acttgaacttataataactgcaactgttacatcatatctggaaaacgcctcgcaaaaata
+aaaaatgatgcgtaaatgagctttctttaaagattcggcaagggtacttttctctccata
+gattcaaaaatgatattggcgagatatttatgaactctctggcaggtatagatatgggca
+gaattttactcgatttatcgaatgaggtgattaagcaacttgatgatctcgaggtgcagc
+gtaatcttcctcgtgcggacctattaagggaagcggtagatcaatacctgataaatcaat
+cgcaaacagcaagaaccagtgttcctggcatctggcaagggtgtgaggaagatggtgtcg
+aatatcagcgtaagctgcgcgaggaatggtaatgggaaaaaatgatgtcaatcagattgc
+tgacaacgtgcgcgttgttcatgccggatgcggcgtgaacgccttatccggcctacaaag
+tcgtataaattcaatgtattgcagtttattggtaggcctgataagcgcagcgcatcaggc
+aatcttacgcttgtcatcagtctcatgcccataaccttattgatgtggtggtgggtaaat
+tgaggccaaaccggcactggcggcatagcttgaggtggtaacgcggaatacgagagatgg
+tgtcgtcacaccctatgagctgtaatccgggcgacctgcgccacccggaaaacgtcagag
+attactctccttcacccggaaacaggaacgggttgatggaactgcgggcatagccttctt
+gctccattcgtgcgtccagtaccagagaggcgaggtcatctgctacggcttcgatttttg
+gatctttttcctgatagagaattttcaggtaagtgtcgcagtcatcgcagctttcggctt
+taatcgcggcctgttcgtcatccagcgaccagtaatgcagtttgccgctctgctcgcagt
+tgctgcattttacgcgcactacgtgccattcagtttcacacaggttgcagtgcaggtaac
+gtagcccctgagtggtgccaatttgcaccatgctggacaccggcatagaaccacaaaccg
+ggcaatattgacgttgctcgccgtattcagcgcgggctttgccggggatcagattggcca
+tctgcgcccagtagagcgacagtgcagcccagataaacggcgctttatcgctgctgacgg
+acgagaaatcagaggcaaacagcgcgctggccatatcttccagctcctgagtcgatgcct
+tctccagattctcaatcactgccagcgccgggccgctcatttcaggtttcagctcagcaa
+tcagcgccatcagcagcttttgccagtgcttatcacgcggcagaacgtgaatatccagcg
+ggggcttgccttgtgcgctggcttctttaatgcgcgcagtcagatccatctccagcggat
+ggtcgtacagcaccacttcctgggcgtgggcgataagcgcagcaaagcgcaggtaatcac
+ccagaggattattttctgccagctcgcgcagacgctcggcgcggcggttgtataaattct
+tgagccgagggaacaataacggcggaatcatatccgccgtacgtttctcgcttgaaccca
+gctcatcttgcgggattatgcgaatactcattcagctttcttttccgttgtcttgcggac
+ctcacggtaccagcgcgggtgatgtttcttcgcccaggcgctggtaacccatccttccac
+catggcggtaatcgtgcctttcacccaaagggcggcgtagatatgcaccatgataaccac
+aattaacgccactgcggcaaatgaatgcagcattaacgcgaatcggatcaccgggattga
+gaaagcaggcgcaaaataaggacgccagataatcacgccgctcaccagcagcagaaccag
+gaaaataatcgccgcccagaaaacgcatttctgaccgaagttataacgcccggtgtcacc
+tacttcctcgttgacgacgatcttacgaatattcttcgcccaaaagatatcatcccgatt
+gattaggttgtgatgccagtaacggaaaaacatgatgatgaacgaggcaaacataaccac
+gccgacaaacgggtgcagaattcgcgccagctgcggtgtgcccatgatttgcatcaacca
+gttgaaggacgggaacaaaaagcccagcccgctcaccgccgccaggatgaagcagaaggc
+ggtgatccagtggttgatacgttccggcgcggtgtagcgcacgatggtgtcacgtcgttt
+catttgcgctcctcgtctttctcttcgtgcagattattctcttcctcatccgcacggttc
+ggaccgacacccacgtagtggaagatactggccgcaaaggtagccgcaaagccaacagcc
+gcgagcggtttccagatgcctttccagaatttcacggtttcgctgatttccgggttctcc
+ggcaagccatgatacagatttggcttgtcagcatggtgcagcacgtacatgacgtgtgta
+ccaccgacgcctgccggatcgtacagacccgcattgtcgtaaccgcgggttttcagctca
+gcaacgcgctcgctcgccagcgttttcatcgactctttcgtaccgaagtgaatcgcgccc
+gttgggcaggtcttcacgcaggctggttcttgcccaaccaccacgcggtcaacgcacagc
+gtacatttgtagacgcggttgtcttccgggttgaggcgcggaatgtcgaacggacagccc
+gcaatgcaataaccgcagccaatgcactgctcggactggaagtcgacgataccgttggca
+tactgaataattgcaccttccgccgggcacgctttcaggcagcctggatcggaacagtgc
+atacagccgtctttgcggatcagccattccagtttgtcgttctgctccacttccgagaag
+cgcattaccgtccacgatttggcgcttaaatcattggggttgtcgtacaccccaatgtta
+ttgccgacggtatcgcgaatgtcgttccactctgaacacgccacctgacaggctttacag
+ccgatacaggtggtaacgtcgatgagtttcgccacttcttcctggaagtcccgcgcctga
+ggcgcgggggtcagaccgttagtcgcggaacgacgaatgatatcttgagattgataagcc
+atatgtcgtctccgttacaccttttccacattcacaaggaaggacttaaactccggcgtc
+tgcgtgttcgcatcaccaacgaatggcgttaaagtattggcaataaagccttttttagct
+acgccttcatagccccagtgaatcggaataccgatggtatcgatatctttgccgttcgct
+ttcagcgtgcgaatacgtttggtcaccaccgctttggctttgatatagccacggttggag
+gagactttcacggtatcgccctgggcaatgccaagtttattcgccagcgactccccgatt
+tccacaaactgctctggctgcaaaatcgcgttcaacagcgcgtgtttggtccagtagtgg
+aagtgctcggtcagacgataggtggttccgacatacgggaacttatcggctttacccaat
+gcttcggcgtcgtctttaaagatacgtgcagccgggttcgagataacgtttggatgcagc
+gggttagttcccagcggcgtttcaaacggctcgtagtgttccgggaacggaccttccgcc
+atcttatcgagggcaaacagacgccccatgccttcctgctgcatgataaacggcccgacg
+ccgctacccggaggcgctgcgctgtagtccggaatatcccagccggtccacttagtgccg
+tcccatttcagcaactgacgcttcggatcccacgggttaccctgcggatctgcggaggcg
+cggttatacagaatgcggcggttaagcggccatgcccatgcccagcccagcgtgttaccg
+aggccagacggatcggcgttatcacggcgtgccatctggttgccttccggcgtccagcta
+ccggcgaaaatccagcagccacaggaggttgtaccgtcatcgcgcaattgggcgaacgaa
+ctaagttgttggcctttcttgacgataaccgcaccggttgccggatcggtaatatcggcc
+agcgccttaccgttgctctccatcgccacttcttctgaagatggctcatgcggaatggcg
+tagttccatgtcatgttcagcacctggtccgggttcgcgccaccctgttcggcatacatc
+ttgcgcaagcgcaggaagataccggagaggatctcgccgtcagtcagcgcaatccccggg
+gcgtccgcacctttccagtgccactgtaaccagcgacctgagttaacgatagaaccgttc
+tcttccgcgaagcaggtcgatggcagacggaacacttcggtctggatcttcgacgagtca
+acttcgttcagctcaccgtggttctgccagaagttagaggtttcagtgttcagtgggtcg
+atggtgacgaggaacttcagtttcgacagacaaccgatcactttgtttttgttcgggaat
+gaggcaacagggttaaagccctggcagatatagccattgaccttgccctctttcatcatc
+tcgaagtattgcaggacgtcgtagcctttatcccacttcggcaaccagtcaaagccccag
+ctattttccgccgtcgctttatcaccaaagaaggccttcatcatagagacgaagaatttc
+gggtagttgccccagtagtttacctggccttccagcagcggttttggcgtgttggcggta
+aggtaggtttgcagatcggtctgcttctcgcttggcagcgtcatgtaacctggcaggctc
+tgcgacagcagccccaggtccgtcagcccctgaatattggagtgaccgcgcagggcgtta
+acgccgccgcctgccatccccatattgccgagcagcagctggatcatcgccatcgtacga
+atgttttgcgcaccaacggagtgttgcgtccagccgagggcatacaggaacgaggcagtt
+ttatcgtgagcactggtttctgcgatgtattcgcagactttcaggaacgcgtcttttggc
+gtaccacagatgttttcaaccacatctggcgtgtagcgggaaacgtgctgtttcagcaag
+ttccacacgcagcgcggatgttgcagcgtggtatcgcgtttggcgaagccgttttcgtcc
+agttcataagtccaggaggatttatcgtacttgcgtttttccgcgtcgtagccggtgaac
+aggccatcttcaaagccgtaatcctcacgcacgatcaggctggcgttggtataggcttcg
+gtgtattcgcggttgaatttttcattgttcagcaggtacagcaatacgcctgacaggaaa
+gcaatgtcagtaccggaacgaataggggcatagtagtcagctaccgccgccgtacgcgta
+aagcgaggatcgatcacaatcagcttcgcgccgttgtgaattttggcttccatcgcccag
+cggaacccgaccgggtgagcttcagcggcgttaccgcccatcaccacgacgaggttggcg
+ttcttgatgtcgacccagtggttggtcatcgcaccgcgaccaaatgttggagcaagactt
+gctaccgttggtccgtgtcagacacgcgcctggttgtcgaccgcgagcatacccagcgcg
+cgggagaatttttgcgttaaatagccggtttcgttactcgacgcggaagcacacagcatc
+ccggtggagagccagcggttaacagtcacgccttcggcgttttgcgcaatgtagttagca
+tcgcggtcttctttcatcagtttggcgatgcgatcaaacgcctcttcccaactgatttgc
+tgccatttatcagaacctggcgcacggtattccggaaacttcagacggctttcggagtgg
+atgaaatccaccaggccagcgcctttcggacaaagtgcaccgcggttgaccgggtgatcc
+ggatcgccttcgatatggaagatagatgctttggcgttttttgctccgtcaccgaggctg
+tacatcaacagcccacagcctacggaacaataggtgcaggtattacgggtttcgcgggtg
+cgcagcagtttatactgccgggtttccgcgagtgctacgctgggtgcaaaacccagtgcc
+gctgccgtggtgcctgccataccgccagcgcagatcttaaagaactgccttctgctgacc
+tgcatggattgctccttgtttcgacattgtcacgtcccatttacattcgcttgctgcgtg
+tgcagggagtgggagttatttttctttgcggaaggggccgcaaaggtccagaattggctc
+aatttccctccatccaggaagggtttgtaacagaataccataatgttggtgtgtgtgttc
+ttatctggttaagagaaagtgaaaaaaacacagcgaaaagaaatcgaaaatgtgacaaat
+atcacaggtgttcgtcaaattgagttatggcggcgtgatgatttacaacacccacggtta
+gatgaggtcgcggaagaagttcccgttgcgctggtctacaacggcatttcgcatgtggtg
+atgatggcgtcgcccaaagaccttgagtactttgcgctcggtttttcgctttccgagggg
+attatcgaaagtccgcgcgatatcttcggcatggatgtcgttccttcctgtaatggtctt
+gaagtacaaattgagctttccagccgccgctttatggggttgaaggagcgccgccgggcg
+ctggcgggacgtacgggctgtggcgtatgcggcgtggagcaacttaatgacatcggaaaa
+ccggtgcagccgctaccgttcacccagacgtttgatctcaacaaactggatgatgcatta
+cgtcatctcaacgattttcagccagtggggcaactgactggttgtactcacgccgctgcc
+tggatgttgccatctggcgaactggtcggcgggcatgaagacgtgggtcgccatgtggcg
+ctggacaaactgttaggccgccggtcacaagaaggggaaagctggcagcaaggtgcggta
+ctggtttccagtcgtgccagttatgaaatggtgcaaaagtcggcgatgtgcggcgtagag
+attttgtttgcggtgtctgccgcgaccacgcttgctgtagaagtggctgagcgctgtaat
+ctgacactggtaggtttttgtaaaccgggtcgggcaacggtttatacccatccgcagcgt
+ttgagcaattaattaaaataagtcctgcgaaatatattaaattgcaggacttattcattt
+cgtgaattttattattttatttataaacaaaatgcgtgtagtggcgttttcttttttcat
+ttattatgttcactctcttatctatatatttataaggcaattaaatgaaaaggaatttat
+tatcttccgctattatagtcgccatcatgtccctcggtctgacgggttgtgatgataaaa
+aagccgaaacagaaacgctcccgcctgccaatagtcaacctgccgcaccagctcctgaag
+cgaaacctactgaagctcccgttgcaaaagcagaagctaaacctgaaacacctgcgcaac
+cggtggtcgatgaacaagcggttttcgacgaaaaaatggatgtctatatcaagtgctaca
+acaagttacagatcccggtacagcgcagtctggcgcgttatgctgactggctgaaagatt
+ttaaacaggggcctaccggtgaagagcgtactgtttatggcatctacggcattagtgaat
+ccaacctcgctgagtgtgaaaaaggcgtaaaaagtgctgtggcgttaacgcctgcgctgc
+aaccaattgatggcgtggcggtgagttatatcgatgctgccgtggcgttgggtaatacca
+ttaacgaaatggataaatattacacccaggaaaattataaagacgatgcgtttgcgaaag
+ggaaaacgctgcaccagacattcttaaaaaatctggaagcctttgaacctgtagccgaat
+cttatcatgcggcgattcaggaaattaatgataagcgtcagcttgcggaactgaaaaata
+ttgaagaaagagaagggaaaacattccactactactctctggcagtcatgatttcagcga
+aacaaattaataacctgatatcgcaagataagtttgatgcagaagcggcaatgaagaaag
+tgtctgaactggaaacgctagtggcgcaggccaaagaagcggataaaggcggcatgaatt
+tctcgtttattaattcggcaggccagtatcaactcgaggctaaaaaatacgttcgccgca
+tcagagataaagtcccgtactctgactgggataaagagcaacttcaggacgcaaactcaa
+gctggatggtcgaagactctttcccgagagcattacgcgagtacaacgaaatggttgatg
+actataatagcctgcgttaaacgtttttgatgataaatgcagtgtcggatgcggcgcatc
+cgacacagttcaccccttgtgaagtaactccataaatgcctcatatcctgttaacccggc
+aataatctccgccggatgctgacacaatatgcttgccagatagctaaatatttttagctc
+atgacgcgcatcggcggcggcgcaggcgatcaagacatggttaatgacttcgttattcac
+ctcaactggttgggcgagggtaataaaaaatccacgaaaacgtcgctcctgttcgctcca
+gcaatgtgggatggcgaggcgattaacaatcaggttttcaccttcgccttcgcgggcgat
+gatgcgttgtgcttcatcggcggtaatatggtgttgtgcgactaattgcgcacaaatttg
+ccgggtaatatgttgccagctttcaccgcgtacattcgaataatgaaaacttccgggggc
+agagaaaaaacgctccggctgttggcgaataaatgccgtcgccagaaaatgttttatttg
+ttcgataccggcagccgtaatgatattttttacggtgatgtaattatttaccgcgtcatc
+cagtaaataatggctgttgttaatgatcaataacggctcaatctcttcgcgaatggcaac
+aagttcgcttaagctacgggcaataattacccgacaatttaaaacatcgcgctcaatggc
+gagctgattaatagtggcaatcgcgttctggtccgagagcaaaatgatcggctggcgttc
+gttttgatgccgctccagcgcacaggcaaaatacaaaccgatcagatcgctgtcgaaaag
+gggaatatcgagctgttcacgcagtagcgtaataaagtgcagactcatatcaaaggccgc
+aggccaggcggctttcaggttattcatgctgctctggcggtgctcagcaatccacactgg
+tgcggcaaggcaacgtaataaatgcccggtaatattctcaaccagctgcgcatcaataat
+attcaatgacgcgatgcccggcaccctttgcagcaacccctgcacattatcggctgaaat
+tacctgcgcttgctgatgctgtttctctatcaaacccgtcagggttcttacagcgttatc
+accaagaaacagaccgctatgttcaacgatttgttttatctcgtcaccgggatattgcgg
+ccactcatcggtcagttgattacgcagggcgtaaatcgccagaatcaggctggagagata
+atcaccctgcatgagcggccagcggtgttggttgtcgcaggccgtggataaatgctgaag
+gttgtctcgtgttatgcccgccagcggaattaaaaacggatctttgcgcagcaagttcgc
+cagcaagataacgcgtttctcttctgtctcatcaatgaaatggcccaaaccagggcggct
+ggccaggcaacaagtgcgttcataacgctgttttaaccggggcagacgctctgctaccca
+cgtttctggcaaattaagcgccgaggcgagttgcgcacggggagtgaaagtattcagtaa
+taacagcgccagcagccgatcgtcgttatcgtgcttttgcagcaactgaaaaaagctgcg
+gcgctcgaagatttccagctgatagcccgcactgccactggcgaaaatgcgggctttgcc
+gttaagggtgaagttgagatagtcaatatcacgcaggatggtcctgcctgaaacgccagt
+ctgttgcgccagctcgccaggcgtgcgcggctgttgctccagcagatcgacaatctttaa
+ctggcgttcgtttagcattaatccacctgacggaactggctaaacgcgttgactttctcc
+gcagttaaggtcgtcagaaaaccccgtatcagcgtgagcagagcttcgtaatcggctttt
+gaaatcataccgctgttggcgtgcagataacgagttggcagacacagcgcgacaaccgga
+cgcccgccgcccatcacgttgtagcgcccgccatccgtcgcaccggttttcatggtggaa
+aattgcagcggtaaatcgttatgtgcggcacagctttttaacgctgctaccagtttctgg
+ttggggaagtagcgcttgtcaaacagcatcagccccggcccctggcccagtttcagcggg
+tatttaatgttatcaatgcccggaacatcgcccgctacggcggtatccaacacgatcacg
+acgtccggtttaatgtgttccgccgaggtttgcgccccgcgtagcccaacttcttcttcc
+acactgccaacgccatacagcgtaatttcgggattattcaccgtctgcaatagttcagcc
+atcattgcgcagccgatgcggttatccaacgccttgccgaccactttatcttcgccccag
+caggcaaaattggcttccgggctaataaaattaccaatttccacgccgcgcttttccacc
+tcttcgcgactgttcgcgccaatatcaatgaacatctcatcaaatgacagcggttgttgc
+ttttgcttttccgttaacgcatgaggcgcgacggaaccaatcacaccagggattttcact
+cccttgtgtgtgcgtatggttacccggtggttgagcatcgactgattccaccagccgcca
+atggtggtaaaacgcagaaaaccgctctcgtcgatgtgggtgaccataaagccgacttca
+tccatatgtccgacaacggcaacttttggacctttattccccttacgggcaacaaagctg
+cccagaccatcgaaggtgatttcattcacgcaaggttccagcgtgtttatcagaatgtcg
+cgaacttcctgttcatcgccgctgacggcgctggcttcgcacaactgttgcagtaactca
+atgttcatggacaagctcctgttgcgcggctttcgctttgcggcgtaaccacaatccttt
+caggacgataatgaatgaaatgttcagcgcgaggccaatcgccagcaccagataaaacga
+acccaccggcgacatcaggccgatcagcgggtcaaagatacccaaaccaggtgccagacg
+tttgattccgaaagcgatcaccagcacgccggtaatgccgcccgccagcgtattggcggt
+aatcatcggcaacggagctgccagagcgtaaggaatagccggttcggttgcgactgtggc
+accgaccacaatggcactactggcagcctctttttcctgtcgggtaaacagtttgggcgc
+aatgaacgtcgcaagacccgccgcgacgggcggcatcagcgcgacaacgccgacgatggc
+gtaccagtcataaatgtgtttttccagcagtgagaagcagaagaaccaggcggttttatt
+gatggggccgcccatatcgaacgccagcatcgcaccgaccagaaacgctgccgcaaactt
+cattgatggaggaatggtattcaggaagtggagcagcccgcccatgaggtcggacatcac
+cggcccgataacgtagtaagtgagcacgccgaaaaccagcagagtaacgaacgggatcag
+cattgaaccgagcagcggttgtaatgctttgccaaggcgcactttgcggaaccagaagac
+gaaatagccaatcgccagccccagcaccaccgcgccgaggaatcccgcacccgactgggt
+gccgagcagcgctttgtcgttcgccagatagcaaaccagaaacgccggagcgaaagccgg
+tttatcggcaatcgacgaggcaatataagcgcccatgatggggatcataaaggtgaagcc
+aaggtaaccgatggattcaactacccaggtaaacgacggcgcgcctttcgacatatcggt
+atacggcaaaccgaactgcaccagcatgttggcaagcgccaccaggataccaccgccgat
+gacaaacggcagcgccgcagagacgcccgccatcaggtggctcatcacgctaccgctttg
+cacttcctgtttgccaagcttcacgccgctatctgcggcaaaaagctgcgagtttgtcgg
+taattcgctgaaaatctggtcgatatttttcaacgcctgggagatggcaatctcataaac
+tttcttcccggcaaaccgcgcgcgatcatcaccgctcaggccacgcccggtagcgagaat
+gacgtaatcggcagcggcaatctcttcgctggataagcggttttcaacgccactggaccc
+ttgagtttccacttttatggtatgaccgagagaacgggctttctgttccagggcttccgc
+caccatgtaggtgtgagcgatcccggcggggcagttggtgatcgcgacaatacgtaagga
+tgactccatcgccacttccttatgagctgagggtttgatttaacaaggcaagcacctggt
+cggtatcgccctgttgcagttgatgaataaattccttgtgaataattttgcgacacagtg
+tgccgatgattttgacctgatcctcttcgccgctttgcggcacgccgaggcagatccagc
+aattgacgtcttcgccatcgctggctttccagtcaatagcctgcgctttgcgggcgaata
+atacgaacggttgtttaacgcaggcgcttttaccgtgcggcacggcgacaccggaaccaa
+atccagtagagtgcattttttcgcgcagcagcagggtttgcaggaactggtgtgagtcgg
+tgataaaaccgttttgtaacgctattgtcgccaactgcttcagaacggaataagcgccat
+tgccctgaatattcaggtcaatacagcttgcagtaagagctgccattaatcggactccat
+aaaatatattttaatcaattgtaatggtggagcgattaagtgatgagaggcgatatgtcg
+gtaaacaatgacaatttgagacagagtgaaaggtcagatttgcggagtaatgcacataat
+ggttatttaaataaaccacatgaatcattaatgggttattcattatttttgtgatttact
+cacaatgtatcagggaaatataacttaccgggagatgtaatatgtttaatttttcaaatc
+gaaatttaaaatattgtgccggaggcatctctggcacattgggcaattacggcaggtaaa
+acacttcttgcagctcgctactcaccgggctgttatccgggttagcgggcataacatcgg
+tcatatatttccaccaacgttggcaaacatcagtgctggcaaccgcattccagcgttctt
+cagattcaatctctaccatggcaaacagcagattacgcgctttgtcgagatagatggcgt
+agttatgcgcaccgtgagatttcagcactgcttccagttctggccagatgggattatgcc
+gacgctgatactcttcgtgggcgtcggggtttacctgcatgacaaaggctttgcggatca
+tgtttgctccttacagcgccagcgcactggcgagtggcgtaacgccgaaacgcttgccga
+gcgctatcaactcttcacggctgatggtctgtttcatgccgcccatcgaataaaccttca
+ctaatacttgtgctgatttttctgcggtgtcgattaaaccgaaggtttcatccagcgtcg
+gtccgctgccgaagacgccgtggaagggccacaacaccagcgaatgtttttgcatctctt
+gtgcggtcgcctggccgatttcgtccgtgccgggcaccatccacggcaaaatgccaacgc
+catccgggaataccaccagacactcggtgctgccttcccacagttggcgagtgaagaccg
+cggtgtcgttttcaagtacataggtgagggcgatcaggttggtggcgtggcagtgcatga
+tcacccgatctttgccgttggtggctttaatgcgctcgcagtgggaaaggaagtgagccg
+gaagttcggaagtggggacggcttcgttggttaacccccaaagaatgtggtagcccgcgc
+cgtcgctgtcgacttttacgatgcctaagttagccgcaggatcaagctggacgttacgga
+agaatttgcccgagccggtgacaataaacggtgtatttgccagtaaaggcatgggctggc
+tgagcgggatatagcgcggttgttggtggaaattgtcgtgatatggtgcgatatcggcgt
+catccaggcgtagcgtcaggttgccgccgttgcgctcatcccagcctttcagccaggcgt
+cggtggtggctttgatcattccctggacaaaccaggactgagtaatgttttgcatgttct
+gtgttcctgtaaattcggtgttgtcggatgcacgacccgtaggccggataaggcgctcgc
+gccgcatccggcaatcaatgcctgatgcgacgctgtcgcgtcttatcaggcctacaacta
+ttgccgacctgtaggcctgataaggcacttgtgccgcatccggcaatcaatgcctgatgc
+gacgctgtcgcgtcttatcaggcctacaactgttgccgacctgtaggccggataaggcac
+ttgtgccgcatccggcaatcaatgcctgatgcgacgctgtcgcgtcttatcaggcctaca
+actattgccgacctgtaggccggataaggcacttgtgccgcatccggcaatcaatgcctg
+atgcgacgctgtcgcgtcttatcaggcctacaactgttgccgacccgtaggccggataag
+gcgctcgcgccgcatccggcagtgtttacccgcggcgactcaaaatttctttctcataag
+cccgcacgctctccagccattcgctacctgctggcgtatcgtgacgttggcaatacattt
+cccagaccgcctgccacggcaacgatttctgctcttccagcagtgccagacgcgcagtgt
+aatcgcccgccgcttccagcttgcgcagctcagcggtaggttccagcaacgcacgcagca
+gggcttttttcatattgcgtgtaccaatgacccacgcggcaatgcggttgatagaggcat
+cgaagaagtcaaggccgatatgcacccggtcaaacagatcgtgacgcacaatctcactgg
+caattgcctgggtttcatcatccagcagcactacgtgatcgctgtcccagcgaaccggac
+ggctgacgtgcagcagcaactgcggcacatacagcatggcggcggaaatcttgtcggaaa
+tcacttcagtcgggtggaagtgcccggcgtccaggcacagcgcagtctggcggctggtgg
+cataccccatgtaaaactcattggagccaaccgtgtagctctctgcgccaatgccaaaca
+atttgctctcaacggcgtcgatatggtgcgcagggtttagcttctcgctgatcacctcat
+ccagtgctgccagcagacgctgacgcggggcgagacggtcaacggtgatatctttcatac
+catccgggatccagatgttcatcaccgatggtgtgccgagttgctcgccaaaataggccg
+aaacgcgacggctggctttgcagtgatcaatccagaactggcgaatgctgtcgtcggcat
+gggaaagcgtaaagccatcggcgcttagcggatgcgaaaagcaggaggggttaaaatcca
+gaccgagctgattggctttcgcccattcaacccagtttttgaagtgctctggtttgatct
+ggtcgcgcgagactggcgtatctgattccagatagatggcatgtaaattaagccgtttcg
+gccccggaatcagccgcatagcctgttccagatcggcacgtagctcactggcattacgcg
+ctttgcccggataattgcctgtggcctgaatccccccggtcagcgaaccttccgggtttt
+caaaaccggaaacatcatcgccctgccagcagtgcattgaaacgggtaaacgatcaagtt
+ggcgcagcgcctcctcgacatcaatccccaccgccgcgaaacgctgtttcgctagctccc
+aggcctgttccagttgagtggtcatgcgcaaagctcctttgtctgtcgtgtagagtgaat
+ctgcgccacatagtgggcaatttcactgtcaggattaggggtaaaggtggtcagattcgc
+ggtggtgctgacgacctgacggaaatcatccacattgttgagttcatccagcgtcattaa
+ctggatgccgatattgccgagcgtcgaggcttcaacaggcccggcgatcacccgaatacc
+gcaggcatcggcgcatagctggttgagcagcgtgttctggcagcctccgccgacaatatg
+cagttgcgagaaatcttcaccgcgcagctgcgccagctcatgcaacacatcggcatacag
+cagcgccagactgtcgaaaatgcagcgcgccagttcagcatcactttccgggatcggttg
+cgccgtttcccgacacgcagcctgaatttcgctgcacatcgtctcaggattaataaagcg
+atcgtcattgggattgataatgaagcggcaagccggaagtgcctgtgtcgcggagataag
+cgccggaagatcgttgatttgctgctcctgaagcactcgctgaagcagccataagcccat
+aatatttttcagcacccgatagcgaccttccgccccgccttcattggtgatgttggctgc
+cagtgccgtgtcattggtaaatggcgtctggctttcgaagcccatcaatgaccaggtgcc
+agaagagagataagcagcacgtgagccgtttaacggcgaggcgataaccgcgctggcggt
+atcatggctggcaacggcgaccactggaatctcattaccctgcgggcaaatccagtgacc
+tatgacattacccggatgcgtcgggcgaccaaaccaggctttgttggccccgctccacgc
+cagtagcgactcgtcccagtcgtcgctattgatattgaccagttgcgtggtcgtggcgtt
+ggtatattcccagttcatcttgccggtcaggcgataactgaagtaatccggcatcagcag
+agcgtgagcaatgtgtggaataagttcaggttgttgctccgtcagcgcacgcaactgata
+aagcgtattgaagggcagaaactggatgccgctacgttgataaatatcgcgtttgccgag
+ttgttgttgtgcctgcgccattaggccattggtgcggctatcgcgataagcaacgggcag
+gcccacacgctgaccctgttggtcgagcagcacaaagtccacgccccaggtatcaatccc
+aatgctatcgatacgaatcccttcctcgcacaccttgtttaatccaaggcgaatggcact
+ttcaaggctatccacatcccaggtgacatagccgttctgactatgcagcccattgttaaa
+acgatggatttcgcgcagcgtcaggctgcggcattcacgctcgtaacgcgccagcatcac
+gcgcccactggatgcgccgagatcgacggcgacacaattgcgaaaggtcataatgtgatc
+ctgctgaatttcattacgaccagtctaaaaagcgcctgaattcgcgaccttctcgttact
+gacaggaaaatgggccattggcaaccagggaaagatgaacgtgatgatgttcacaatttg
+ctgaattgtggtgatgtgatgctcaccgcatttcctgaaaattcacgctgtatcttgaaa
+aatcgacgttttttacgtggttttccgtcgaaaatttaaggtaagaacctgacctcgtga
+ttactatttcgccgtgttgacgacatcaggaggccagtatgaccgtattacatagtgtgg
+atttttttccgtctggtaacgcgtccgtggcgatagaaccccggctcccgcaggcggatt
+ttcctgaacatcatcatgattttcatgaaattgtgattgtcgaacatggcacgggtattc
+atgtgtttaatgggcagccctataccatcaccggtggcacggtctgtttcgtacgcgatc
+atgatcggcatctgtatgaacataccgataatctgtgtctgaccaatgtgctgtatcgct
+cgccggatcgatttcagtttctcgccgggctgaatcagttgctgccacaagagctggatg
+ggcagtatccgtctcactggcgcgttaaccacagcgtattgcagcaggtgcgacagctgg
+ttgcacagatggaacagcaggaaggggaaaatgatttaccctcgaccgccagtcgcgaga
+tcttgtttatgcaattactgctcttgctgcgtaaaagcagtttgcaggagaacctggaaa
+acagcgcatcacgtctcaacttgcttctggcctggctggaggaccattttgccgatgagg
+tgaattgggatgccgtggcggatcaattttctctttcactgcgtacgctacatcggcagc
+ttaagcagcaaacgggactgacgcctcagcgatacctgaaccgcctgcgactgatgaaag
+cccgacatctgctacgccacagcgaggccagcgttactgacatcgcctatcgctgtggat
+tcagcgacagtaaccacttttcgacgctttttcgccgagagtttaactggtcaccgcgtg
+atattcgccagggacgggatggctttctgcaataacgcgaatcttctcaacgtatttgta
+cgccatattgcgaataatcaacttcgttctctggccgaggtagccacggtggcgcatcag
+ttaaaacttctcaaagatgatttttttgccagcgaccagcaggcagtcgctgtggctgac
+cgttatccgcaagatgtctttgctgaacatacacatgatttttgtgagctggtgattgtc
+tggcgcggtaatggcctgcatgtactcaacgatcgcccttatcgcattacccgtggcgat
+ctcttttacattcatgctgacgataaacactcctacgcttccgttaacgatctggttttg
+cagaatattatttattgcccggagcgtctgaagctgaatcttgactggcagggggcgatt
+ccgggatttaacgccagcgcagggcaaccacactggcgcttaggtagcatggggatggcg
+caggcgcggcaggttatcggtcagcttgagcatgaaagtagtcagcatgtgccgtttgct
+aacgaaatggctgagttgctgttcgggcagttggtgatgttgctgaatcgccatcgttac
+accagtgattcgttgccgccaacatccagcgaaacgttgctggataagctgattacccgg
+ctggcggctagcctgaaaagtccctttgcgctggataaattttgtgatgaggcatcgtgc
+agtgagcgcgttttgcgtcagcaatttcgccagcagactggaatgaccatcaatcaatat
+ctgcgacaggtcagagtgtgtcatgcgcaatatcttctccagcatagccgcctgttaatc
+agtgatatttcgaccgaatgtggctttgaagatagtaactatttttcggtggtgtttacc
+cgggaaaccgggatgacgcccagccagtggcgtcatctcaattcgcagaaagattaattc
+gccatgccgatgccgacgatgttagcggcgacaataatcaccacacaaccgaggctcaac
+accgttaccggacggcgtcctgcattgttccactctttcagcaccagcccgacgataccg
+ccgcacaatacatagaaactcatatgcagcatccaactgatgtagtcatactgcgccgga
+atgcgggcgtggccccaggcatagaaaaagaattgcagataccacatcaacccgcccagt
+gtcgagagtaacacattgtgaatgatcagcgattttgccagcgagaagtcggcttttagc
+gacaaatccttcacttttgccagacgaataaaacagaaaccgaggttaatgatcgcgccg
+ccgcccatgatgacaacatagcttggcagagcgacatacagtggatcgacgccaagtgcg
+gcagcggcttcatgcatcggttttgcggcgttcatcgcaaaggacatcccggcagagaaa
+atgccgcacatcaccgccagcaccagcccttttttcagattgaactcttcggctttaatg
+cccatcttgcgctctttcaactgcccggcgcgagttacaatccctacgccaatcagcgcc
+accagaacgccgagcaacgtcatgcgtccgccttcggtgctaatcaacacatcgaaattg
+ccgttgataattggcgtcatcagcgtaccgacaatcaacgtaatgccaatggcgatgcca
+attcccatcgacatgccgagataacgcatggtcaggccgtagttgatattaccgatcccc
+cacatagcgccgaacagaaaaacaggcagtcgcgtagagagactaaacgagctgtaatac
+gcccagaaattcggtagtaacagggcgctgatggcccacggcagaataatccacgaaaca
+atcccaccgactgaccacatggtttcccatgaccatttttttacttttttgaacggagcg
+taaaaacaggctgcactggccgcgccgatcaaatgccaaaatatccccatcgtaatcgcg
+ttactcatcttcttatcctcatcatttttcgtcgcgtcacatctccgacgagatgagtgt
+aaaaatcgtgctgtcgattaacctttcgcctgttgccgccgttgtcgatttactggcaat
+cacggcattaagtgggtgatttgcttcacatctcgggcattttcctgcaaaaccataccc
+ttacgaaaagtacggcattgataatcattttcaatatcatttaattaactataatgaacc
+aactgcttacgcggcattaacaatcggccgcccgacaatactggagatgaatatgagcta
+taccctgccatccctgccgtatgcttacgatgccctggaaccgcacttcgataagcagac
+catggaaatccaccacaccaaacaccatcagacctacgtaaacaacgccaacgcggcgct
+ggaaagcctgccagaatttgccaacctgccggttgaagagctgatcaccaaactggacca
+gctgccagcagacaagaaaaccgtactgcgcaacaacgctggcggtcacgctaaccacag
+cctgttctggaaaggtctgaaaaaaggcaccaccctgcagggtgacctgaaagcggctat
+cgaacgtgacttcggctccgttgataacttcaaagcagaatttgaaaaagcggcagcttc
+ccgctttggttccggctgggcatggctggtgctgaaaggcgataaactggcggtggtttc
+tactgctaaccaggattctccgctgatgggtgaagctatttctggcgcttccggcttccc
+gattatgggcctggatgtgtgggaacatgcttactacctgaaattccagaaccgccgtcc
+ggactacattaaagagttctggaacgtggtgaactgggacgaagcagcggcacgttttgc
+ggcgaaaaaataatcatttgccgcctgctgcaatgaggcgtataggccgcatatcagctt
+aaaaaatgaaccatcgccaacggcggtggtttttttgtgatcaatttcaaaataaaaaca
+atgatccgataaaaataaaacagcgtttcaattgatgtggttttgatcacttttattgat
+taaatgaatgtctatcttcgtttccatcaacactgatgctccattgaggaattacgcatc
+agcccttaaaaatatgccgacaggtgatggaaatgcagataaaacgctcgattgagaaaa
+tcccgggggggatgatgctcgtcccgctattccttggcgcactgtgccacaccttctcgc
+cgggggcggggaaatattttggatcattcaccaacgggatgattaccggtacggtgccca
+ttctggcggtgtggtttttttgcatgggggcgtcaataaaattaagcgcgacgggaacgg
+tactgcgtaaatccggtacgctggtggtaactaaaattgccgtcgcgtgggtggttgcgg
+caattgcctcgcgtattattccggaacatggtgttgaagttggattctttgccggacttt
+caacgctggcgctggtggcggcgatggatatgaccaatggcggactttacgcttccatca
+tgcagcagtacggcacaaaagaagaagctggggcatttgtgttgatgtcgttggagtccg
+ggccgctcatgacgatgattattctgggcactgccgggattgcctcgtttgaaccgcatg
+ttttcgtcggcgcagtattaccgttcctggtgggctttgccctggggaaccttgaccctg
+aattgcgagaatttttcagcaaagcggtgcaaacgctgattccattctttgccttcgcgc
+tgggcaataccattgatttgactgtgattgcccagactggtttgctggggatcctgttgg
+gtgtggcagtaattatcgtgaccggtattccgttgattatcgccgataaattgattggcg
+gtggcgatggcactgccggaattgccgcttccagttccgcaggggccgcggtagcgacac
+ctgtgctgattgcagaaatggtgcctgcgtttaaaccgatggctccggcagcaacttcgc
+tggtagcgacggcggtcattgtgacttcgattctggtgccaattcttacctctatctggt
+cacgtaaagtcaaagccagagcagcgaaaatcgaaattttaggtacggtgaaataaacct
+gcttccttaatccccacagccggatgaactaacgttcgtccggtttgctattgagttcct
+gcctggatacttaccgcgaaaacagcacgcctgacataaaataaatatggtctaatgggg
+aaatttctcgtggagagggaacagatgcgatatccggttgatgtatacacaggcaagatt
+caggcttatcccgaaggcaaacccagcgcaattgctaaaatccaggttgatggtgagttg
+atgctgacggagctggggctggaaggtgacgagcaggcggagaaaaaggttcacggcggg
+ccagacagagcgctgtgtcattatcctcgtgagcattatctctactgggcgcgggaattt
+ccggaacaggcggagttgtttgttgcgcctgcgtttggtgaaaacctctcaaccgacggc
+ctgacggaaagtaatgtttatatgggcgatattttccgctggggagaggcattaattcag
+gtcagccagccgcgctcgccttgctataaactcaattaccattttgatatcagcgatata
+gcgcagttgatgcaaaacacaggtaaggtggggtggttgtatagcgtgatagcgccaggg
+aaagtgtctgcggacgcgccgctggagttggtttcccgtgtcagcgatgtgaccgtgcag
+gaggctgccgccatcgcatggcatatgccgtttgatgacgatcaatatcaccgtttactc
+tccgctgccgggttatcgaaaagctggacgcggacgatgcaaaagcgccgactgagcggc
+aagatcgaagatttttcccgccggttgtggggaaaataacccccggagtgtaggcctgat
+aagacgctatcagcgtcgcatcaggcatcctgctcaaatgccggatgcggcgtaaacgcc
+ttatcctgcctgcaaatgcgaagtttaactccgcttatacagcggcaaccaaatcaccag
+ccgtaaaccgcccagcgggctgtcttctgccttcacccagccacgatgctgctgaatggc
+ggtttcaacaatcgccagccccaaacctgtaccgccagattcacgatcgcgtgcttcatc
+ggtacgatagaacggacggaaaatctgttcgcgatcttccgggctaacgccaggaccatc
+gtcgtccaccgtaatggtgataccgtctttatctaccgcaaagcccacttcaatcttcgt
+atgggaataacgcagagcattacgaacaatgttttccagcgcactttccagggcgttcgg
+attgccgtacagcggccacggcccaggcgggaagttaactgtcaacgacttgcccatttg
+ctcggcttcgaacgccgcgttatccagcacttcactccacaactggttggctttgatggt
+ttcgctaaccagcgcgtttttttgctgattacgtgacatcaccaacagatcgttgatcat
+gctgtccagacgttgcgcttcggtttcaatacgctccagttccttgctttcaccgctacg
+acggcgcagtaacgccgtacccagttgcagacgcgtcagcggggtgcgcagctcgtgaga
+gatatcagaaagcagacgctgctgagaggtcatcatgcgctccagcgcggtgaccatctg
+gttaaaactggcacctgcggcaaggaattcctgtggccccgcttccagttccgggtgctg
+gcgtaagtttccctgggcaacttcatcggcagcgtttttcagcttacgcgccggttttgc
+cagactccaggccaaccacaacagcagcggcgtactgaccaacatggtgacaatcagcag
+taatagcgggcggtcaaacagtaagttaatgaaatcggattgagaactgctggccggacg
+aatcagataaagttggtaattatcttcgccatcacgcacggagaacggaccgaccagttc
+cacgcggccatactttttcttctgcggatgatcggcgttatcggcctgaccaataaagtt
+acgaatgatctgcatttcgctgcgttcagcgccgatcacgcggccttcggtggtcaccaa
+taacaaacgctgtcctggcggtgcccacttatcaatcgcccggaacagacgccgccacca
+cattaaatcgttgggcggatcgttcgccagctccgcttcgacatgctgctcaatcatcag
+cccctgacgctgttcgctatccagaagctcggtcatctggcgtgaatcgagcttgggtaa
+catcaaaaccaacatcaacaccagcgccagcgtcagccagaagatggcgaagatgcgcgc
+ggttaagctgcctatcatgaagcagaaaccatcagatagccgcgaccacgcaaggtttta
+aaccacgggtgaccatctttacgatccggcagtttacgacgcaggttggaaatgtgcata
+tcaatagcgcggtcgaaaggcgtcaggcgtttgcccaacacttcctggcttaaatgttca
+cgggaaaccacctgacccagatgctgtgccagcaaatagagcagggtaaactcagtaccg
+gttaactccagcgtttgcccgtcgaagctggcttcctgacggcctggattcagcactaag
+gcatcaacttccagtgtcggtgaaccgttgtcgttgttttgctgttgctcgctccagtgc
+gaacggcgcaggatcgcgcgaatacgtgccaccagctcacgatcattaaacggtttcggg
+agatagtcatctgcgcccagctcaaggccgagaacgcgatcaagttcactgccgcgcgcc
+gtcaacataatgacaggcgtctggtgtgtctggcgaagtgcttttaatgtgtcgatacca
+tttttcttcggcatcattacgtcaagcaaaagtaaatcaatgctgtcgtccagaagatca
+agcgcctgttccccatcgtgggcaacaatcacgttgaagccttccatctcgagcagctcc
+tttaatagggaagtcagctctcggtcatcatcaactaacaggattttattcattgtttaa
+atacctccgaggcagaaattacgtcatcagacgtcgctaatccatgactttacgttgttt
+tacaccccctgacgcatgtttgcagcctgaatcgtaaactctctatcgttgaatcgcgac
+agaaagattttgggagcaaatgatgcgcatagttaccgctgccgtcatggcctcaacgct
+ggcagtcagttcattaagccacgctgctgaagtcggttcaggcgataactggcatccggg
+tgaagaacttacgcagcgcagtacgcagagccatatgttcgacggcataagtttaaccga
+acatcagcgtcagcagatgcgagatcttatgcaacaggcccggcacgaacagcctcctgt
+taatgttagcgaactggagacaatgcatcgccttgtcaccgcagaaaattttgatgaaaa
+cgctgtgcgcgcacaggcagaaaaaatggcgaatgagcaaattgctcgtcaggttgagat
+ggcaaaagtccgcaaccaaatgtatcgcctgttaacgccggagcagcaagcggttttaaa
+cgagaaacatcaacaacgaatggagcagttgcgtgacgtgacgcaatggcaaaaaagttc
+atcgttgaagctattgagtagtagcaactcacgttcccagtagtaaaccctgttttcctt
+gccatagacaccatccctgtcttcccccacatgctgtgggggttttttttatcctcaatt
+tgcctgctgcttaatgcattgcagatgatttgcttccgttatactagcgtcagttgatag
+cgggagtatttatgaatcaatcttatggacggctggtcagtcgggcggcgattgctgcga
+cggcgatggcttcgctgctattgctgattaaaatttttgcatggtggtataccgggtcgg
+tgagtattctcgccgcgctggtggattcgctggtggatatcggcgcgtcgttgacgaatt
+tattggtggtgcgatattccctgcaacctgccgacgataatcactcgtttggtcacggta
+aagctgagtccctcgcggcgctggcgcaaagtatgtttatctccggttcggcactattcc
+tgtttttgacgggtattcaacatctgatatctccaacaccgatgacagatccaggcgtcg
+gggttatcgtgacaattgtggcgctaatttgtacgattatccttgtctcgtttcagcgtt
+gggtggtgcggcggacgcaaagccaggcggtgcgggctgatatgctacattaccagtctg
+atgttatgatgaacggcgcaattctgctggcgctggggttgtcctggtacggctggcatc
+gcgccgatgctctgtttgcattgggaatcggcatctatattttatatagcgcgttacgca
+tgggatatgaggcggtacagtcattactggatcgcgcattgcctgatgaggaacggcaag
+aaattattgatatcgtgacttcctggccgggtgttagcggcgctcacgatcttcgcacgc
+ggcagtcagggccgacccgctttattcagattcatttggaaatggaagactctctgcctt
+tggttcaggcacatatggtggcggatcaggtagagcaggctattttacggcgttttccgg
+gatcggatgtaattatccatcaggacccctgttccgtcgtacccagggagggtaaacggt
+ctatgctttcataatcagtataaaagagagccagacccgcattttgtgtataaaataccg
+ccatttggcctgacctgaatcaattcagcaggaagtgattgttatactatttgcacattc
+gttggatcacttcgatgtgcaagaagacttccggcaacagatttcattttgcattccaaa
+gttcagaggtagtcatgattaagaaaatcggtgtgttgacaagcggcggtgatgcgccag
+gcatgaacgccgcaattcgcggggttgttcgttctgcgctgacagaaggtctggaagtaa
+tgggtatttatgacggctatctgggtctgtatgaagaccgtatggtacagctagaccgtt
+acagcgtgtctgacatgatcaaccgtggcggtacgttcctcggttctgcgcgtttcccgg
+aattccgcgacgagaacatccgcgccgtggctatcgaaaacctgaaaaaacgtggtatcg
+acgcgctggtggttatcggcggtgacggttcctacatgggtgcaatgcgtctgaccgaaa
+tgggcttcccgtgcatcggtctgccgggcactatcgacaacgacatcaaaggcactgact
+acactatcggtttcttcactgcgctgagcaccgttgtagaagcgatcgaccgtctgcgtg
+acacctcttcttctcaccagcgtatttccgtggtggaagtgatgggccgttattgtggag
+atctgacgttggctgcggccattgccggtggctgtgaattcgttgtggttccggaagttg
+aattcagccgtgaagacctggtaaacgaaatcaaagcgggtatcgcgaaaggtaaaaaac
+acgcgatcgtggcgattaccgaacatatgtgtgatgttgacgaactggcgcatttcatcg
+agaaagaaaccggtcgtgaaacccgcgcaactgtgctgggccacatccagcgcggtggtt
+ctccggtgccttacgaccgtattctggcttcccgtatgggcgcttacgctatcgatctgc
+tgctggcaggttacggcggtcgttgtgtaggtatccagaacgaacagctggttcaccacg
+acatcatcgacgctatcgaaaacatgaagcgtccgttcaaaggtgactggctggactgcg
+cgaaaaaactgtattaatgatttcggaaaaaggcagattcctttaccctgaaaccgatga
+cagaagcaaaaatgcctgatgcgcttcgcttatcaggcctacatgaattctgcaatttat
+tgaatttgcaaacttttgtaggccggataaggcgttcgcgccgcatccggcatggacaaa
+gcgcactttgtcagcaatatgaggcggatttcttccgcctttttaatccctcaacatata
+cccgcaagttatagccaatctttttttattctttaatgtttggttaaccttctggcacgc
+tttgctcatcacaacacaacataagagagtcgggcgatgaacaagtggggcgtagggtta
+acatttttgctggcggcaaccagcgttatggcaaaggatattcagcttcttaacgtttca
+tatgatccaacgcgcgaattgtacgaacagtacaacaaggcattcagcgcccactggaaa
+cagcaaactggtgataacgtggtgattcgtcagtcacacggtggctcaggtaaacaagcg
+acgtcggtaatcaacggtattgaagctgatgttgtcacgctggctctggcctatgacgtg
+gacgcaattgcggaacgcgggcggattgataaagagtggatcaaacgtctgccggataac
+tccgcaccgtacacttccaccattgttttcctggtacgtaagggaaatccgaagcagatc
+catgactggaacgatctgattaaaccgggtgtttcggtgatcacgcctaatccgaaaagc
+tctggtggcgcgcgctggaactacctggcagcctggggctacgcgctgcatcacaacaac
+aacgatcaggcaaaagcacaggattttgttcgggcactgtataaaaacgtcgaagttctg
+gattctggcgcgcgtggctccactaacacttttgtcgagcgcggaattggcgatgtactg
+attgcctgggaaaacgaagctctgctggcagcgaatgaactggggaaagataaattcgaa
+atcgtcacgccgagtgagtctatcctcgcagagccaaccgtgtcggtggtcgataaagtg
+gtcgagaaaaaaggtactaaagaggtggcggaagcctacctgaaatatctctactcgcca
+gaaggtcaggaaattgccgcgaaaaactactaccgtccgcgcgacgctgaggtggcgaaa
+aagtacgaaaatgcgtttccaaagctgaagttattcaccattgatgaagagttcggcggc
+tggacgaaagcgcaaaaagagcattttgctaacggcggtacgttcgatcagatcagcaaa
+cgctgatttccccaggataattatcaaacccggtggtttctcgcgaccgggttttttatt
+tgtcacgattttgcgttacccttgcatctctttgaggtacagggaaaaaaagatgaaaaa
+agcgggtcttctttttttggtgatgatagttatcgccgttgtggctgccggtattggtta
+ctggaaattaaccggtgaagagtcggatacattacgtaagattgtccttgaggaatgttt
+gcccaatcagcagcaaaatcaaaatccttcgccatgtgcggaagtcaaacccaatgccgg
+atacgtggttttaaaagatcttaatggcccactgcaatatctgttgatgccaacgtatcg
+tattaacggtactgaaagtcctttgttgaccgatccttcaacgccgaacttcttttggtt
+ggcttggcaggcgcgtgattttatgagcaaaaaatacggccagccggttcccgatcgcgc
+ggtttctttggcgatcaactcccgcaccgggcgtacgcaaaaccattttcatattcatat
+ctcttgtattcgtcctgatgtgcgcaaacagctggataacaatctggcgaacatcagcag
+ccgctggttgccactgccaggtggtttgcgcgggcatgaatacctggcgcgtcgggtaac
+ggaaagcgaactggtacaacgcagcccatttatgatgctggcagaagaagtacctgaggc
+gcgggaacatatgggacgctacgggctggcgatggtacggcagagtgataactcatttgt
+attgctggcgacacaacgaaatctactgacgcttaaccgtgcttcagccgaggaaattca
+ggatcatcagtgtgagattttgcgttaaggcgaagagttaaggaaagtaagtgccggata
+tgaaatccggcacctgtcagacttaagcctgtttagccgcttctgcagctttaacgatta
+ctgcgaaggcgtcagctttcagagaagcaccaccaaccagcgcgccgtcgatatccggct
+gagcaaacagttctgcagcgttagacgcgtttacagagccgccgtactgaatgatcactt
+gttcagcgatgttagcgtcaactttagcgatgtggtcacggatgaatttgtgaacagcct
+gtgcctgagccggagttgcagatttgccagtaccgattgcccatacaggttcgtaagcga
+taaccgcaccttcgaatgccgcagcaccctgagttttcagtaccgcgtcgatctgacgtg
+cgcaaacttcttcagttttgcccgcttcattttcagcttcggtttcaccgatgcacagaa
+ccggagtcaggccctgctctttcagcaccgcgaattttttcgcgatcagttcgtcagatt
+ctttgtggtaagtacgacgttcagagtgaccgatgatgatgtactgtgcgccgatgtctt
+tcagcatagcagcagaggtttcaccggtgaatgcgccggacaggttcaggtccacgtttt
+gcgcacccagcatgatgtggctgccttcagcttcgcgcttcgccatatcgatatacattt
+ccggtggtgcgattgcaaccgcacagccagcaacacctgccagctctttacgcaggttag
+aaaccagctcgtgaaccatgtggcggctgccgttcagtttccagttacccatcactaaag
+gatgtcgcattttaattctccacgcttataagcgaataaaggaagatggccgccccgcag
+ggcagcaggtctgtgaaacagtatagagattcatcggcacaaaggctttgctttttgtca
+tttattcaaaccttcaagcgattcagatagcgccagcttaatcggttcaacagcgaaggt
+cagccccttttcgccgttgtccgcgacaacataacgcagtgcaccttctgtctcggtgta
+ataacgtttgtttttccccgccgttagtagcgactgcagttttttctggctttgtgtttt
+ggtcattaatggggtgagtgtgcggatcaccgctgccatgtattcctgagctttcgcttt
+cgcggctttttgctctggcccctggatgggtagccaggtcatttgaatgcttttgatttt
+taaggtaccgcgctccagcgctgtagaagcatacaagttctcattaattttacttgcagc
+acgagtgagattggctttgtcgggactgctgtcgatggcacgaaattcgttcagtggcag
+gctgggattctggctgttaaagtcttctcgaaactggctgatggagagatcgaaagtagg
+ggctccagccagcagataaggcgcggtcgttgccgtatctggtgtttgtgcatgcgcctc
+tgttgtaacggttaatgcagaacataagagaaaaaacagcgtacaccctggcttcattga
+cagtaccttttgttatgactggctccgattaaaacgatatctgtcgcccttgtcaaaagg
+gtagaatcctggaaaagacaaccatcaaggaacttacatgaccatacagcaatggttatt
+ctcatttaaagggcgtattggacgccgtgatttctggatttggataggcctgtggttcgc
+aggcatgctggtgcttttctcactggcgggtaagaatctactcgatattcagaccgcggc
+gttttgccttgtgtgcttgctctggccaacagcggcagtaactgttaagcgcttgcatga
+tcgcgggcgttccggcgcatgggcatttctgatgattgtggcgtggatgctgctggcggg
+taactgggcgattttaccgggtgtctggcaatgggcggtggggcgttttgtcccgacgtt
+gattctggtgatgatgcttatcgatcttggtgcgtttgttggcacacaaggcgaaaataa
+atatggtaaagatactcaggatgtgaagtataaagccgacaataaatcaagtaattaacc
+tttaatatatctcttactgctatttttttccgggattgttatttccacgatgcaaatgac
+aatacccggaaaatccttctgaactcttcaccttaagcaatatcaaaaaaaatggtaatc
+cataagatcattacttgtttgttcttcccttaacggcgcattattcttaagtcgtaatcg
+acagagaggcgaatatacagaggtgccctatgaaagatgtcgtagataaatgcagtacta
+aaggatgtgcgattgatatcggtacggtgattgataacgacaactgtaccagtaagtttt
+cgcgcttttttgccacccgcgaagaagcagagtcttttatgaccaaactgaaagagcttg
+ccgccgctacatcctctgcagatgaaggggccagcgtggcctataagattaaggatctgg
+aggggcaagttgagcttgatgcggccttcactttctcatgccaggccgagatgattattt
+ttgagttatcactgcgttcgttagcttgatggagttgctttagaaggagttaaacatggc
+ttataaacacattggcgtggcaatttccgggaatgaagaagatgccttactggtgaataa
+agccctggagctcgccagacataatgacgctcacctgacgttaattcatattgatgatgg
+cttaagcgagttgtatccgggtatctacttccctgcaacagaagatattcttcaattgtt
+gaagaataagtcggataacaagctgtataaactgacgaaaaatattcaatggccgaagac
+aaaactgcgtattgaacgcggagaaatgccggaaacactgctggaaattatgcaaaaaga
+gcagtgcgacctccttgtctgtggtcatcatcactcatttatcaaccgtttgatgccggc
+atatcgcgggatgatcaataagatgagtgcggatttgctcatcgtgccgtttatcgataa
+gtaaccgcttaccagtaatgctccgctgtcatatggcccggtcggcgacgtaaatgtttc
+gtcatctgccgggtctctttcagcaactgttgtgtatcgcgcaccatctgtggattgccg
+cacagcatcacatggctggtttctttattcatcggcaggccaatcgtgctttccagttcc
+ccactttcaattaatgccggtatccgtccggtgagcgaccccgctgccgtttcccgactg
+accaccgtctgaatgcgcagttttccttcgtagcgtttttccagttcctgcatcagtggc
+aaatagcttaagtcggcggcataacgtgcggcgtgcaccaggaccagatttttgaagcga
+tctaaatctttacctagttgcagaatcgataaataagggccaatcgctgtaccggttgcc
+agcatccatagcgtttcgcagtgcggcacttcatcgagcacaaagaatcctgccgcttcg
+ctaaccacctgcacttcatcgcctggtttcagtgccgccagtcgtgggcttaatttgcca
+tcggggacggtgaccaggtaaaactccagatcgggattatcgggcgagtttacataggag
+taggcgcgctggacgcgttcgccgtcgatttcaaggccaagcttggtaaattgcccggcg
+gtaaacggaagcacgggggcgtgaacggtgagactaaacagggcgtcggtccagttctgc
+actttagtgactttgcctgttacccaatcagccatgtttttctcctgttttgattgactt
+gccttatcttcgttctccgaacaaaaaaattccagtcccgaaggactggaaggctcaatc
+gatcaaatcaatcagaggatgtgcacctgcatttccgggtctttgcgatccagatagtgg
+atggactgaatgcggcgaatggtgcgtgacttgccgcggatcagcagcgtttcggtagtc
+gcgatattgcctttgcggctaatgccttccagcagatcgcctttggtaataccggtggca
+gagaagatgacgttatcgctgcgcgccatatcgcccaggcgcaatactttaccggcttcg
+atgcccatcgctttgcagcgtgccagctcctgctcgccaatgcgacgattctcttcgttg
+tcgcctttgacgtcatgacgcgccagcagacgaccgttcatgtcgccatctaatgcgcgg
+atcaccgccgcagaaactacgccttccggcgcgccaccaataccgtacagcacgtcaact
+tcgctgtctggcatacaggtgagaattgaggccgcaacgtcgccgtccggaatagcaaat
+acgcgtacgccgagttgctgcatttcagcgataacggcatcgtggcgtggtttagccaga
+atcgttaccgtcagttcgctcaacggtttgccgagcgccgccgctacattgcgcaggtta
+tccgccagcggcaggttcagatcaatggtgcctttggctcccggcccgacaatcagcttc
+tccatatacatatccggcgcattgaggaagcagcctttatcgcctactgccagcaccgcc
+agcgcgttagcctggcccatcgccgtcatgcgcgtgccttcaatcggatcaacagcaata
+tctaccgcgtcgccgcgaccagtaccgactttttcaccaatgtagagcatcggtgcttcg
+tcgatttcaccttcaccaatgacgatggtgccgtcaatgttgacctggttgagcataata
+cgcatggcgtttaccgccgcgccgtccgcggtgtttttatcgccgcgtcctaaccatttg
+tagccagccagcgccgctgattcggtgacgcgggaaaattcgatggcaagttctcgtctc
+atagcaaactctaagcagtaaggaatggcgcgaagtgtagcacaggggaagggagggatt
+attgatgtgtgcggggttgcccccgcacgtttcgggactaccggatgcggcataaacgct
+tcattcggcatttacattattcgtcgtgttcttcccacgccatcgcgcgtttaaccgctt
+ttttccagcctgcgtaacggtaattacgctcagtggtttcgatgcctggacggaactcgc
+gctcaatcaccgctttctcttgcagctcgtcgaggttctgccagaagccaaccgccaggc
+ctgcgagataggccgcacccaatgcggtgacttcgcgcacttccgggcgctcaacgcggg
+tgccgagaatatcggactggaactgcatcaggaaattgtttgctactgcgccaccatcca
+cgcgcagggcgtgcagacggataccagagtcggcctgcatcgcttccagcacgtcacgcg
+tctgataagcaatagactccagcgtcgcgcgtataatgtggttagcgttcaccccacgag
+tcagaccgaaaatcgccccgcgcgcatacgggtcccagtacggcgcacccagcccggtaa
+atgccggaaccacatacacaccattggtgttttgcactttggtggcgaaatattcggaat
+cgtaggcgtcgttaatcaacttcatttcatcgcgcagccactgaatggatgcgcctgcca
+taaacaccgcaccttccaacgcatagttcacttcgccagtcgggccgcaggcgatggtgg
+tcagcaggccgttttctgatttcaccgctttctcgccagtgttcatcagcataaagcagc
+cagtgccataggtgttcttcgccatcccttctttcacgcacaactgaccaaacagcgcgg
+cctgctggtcaccggcgatcccggagattggaatacgcgtgccgcctttgccgccaatgt
+tagtctgaccgtatacttcggaagaacgacgcacttctggcagcatctcgcgcggaatat
+ccagcacttccagcattttgtcgtcccagtccagggtatggatgttgaacaacatggtac
+gagaggcgttggtgtaatcggtcacatggacacggccctgagtcattttccagataagcc
+acgtatcaaccgtaccaaacagcaattcaccacgacgtgcacgctcgcgagagccttcca
+catggtcgaggatccacttcactttggtgccagaaaagtacgggtcaatcaccagaccgg
+tattgctgcggatataatcttctaaaccgtcacgttttaaatgctcgcagatttctgcgg
+tacgacggcactgccagacaatggcgttatagataggcttgccggtttctttttcccaga
+caatagtggtttcacgctggttcgtaataccgatagctgcaatttgatcggaactgatat
+cggctttcgccagcacttctaccagcgtggagctttgggtggcccagatttccattgggt
+cgtgttctacccaacctggttttgggtagatttgctcaaattcgcgctgcgacacgctaa
+tgatattggcatcgtgatccattacgaccgcgcgggagctggtggtgccctggtcgagcg
+caacgatatattttttttcagtcatgtttaattgtcccgtagtcatattacagcgaagct
+ttttgttctgaaggagttgtggtttccttttcttccacaacacagatatcgcaaggcaaa
+tggcgaccaatcagtttgcggtaggcaaatgcacctacaatcgcgccaacgatagggccg
+aaaagcggcaccaggaagtaaggaatgtctctgccgccggtaaaggcgacattgccccag
+cccgccagccaggcaaagactttcggaccgaagtcacgcgctgggttcatggcaaaacct
+gtcaatgggcccatagatgcgccaatgaccgcaatcagtagaccaatcagcaagggagcc
+aaagggccgcgtggtacaccgttgccatcgtccgttaacgccaggatcagccccatcaga
+atagcggtaatcaccatctcaactgcgaaagcctgcacaaaattgatatgaggattaggg
+taagtagagaaagtgccagccagatcaacactttcaacgctgccgcgaacaatgtgatga
+gtctgctcgaagtcgaaaaataaattgtagtaaagcccgtaaactaaagccgcagcacag
+aaagcgccggcaacttgtgaaacgataaaaggaataactttgcgcttgtcgaaacaggca
+aacagccacaatgcaatggtaacagcgggattaagatgcgcgccggaaacccctgcggtc
+aggtagatggccattgccacccccagtccccaaatgacactgatttcccactgaccaaaa
+gacgcaccagcgacttttagtgctgcaacgcaacccacaccgaagaaaatcaacaacccg
+gtaccgaggaattcagcaatgcactggcctttcaaggttgatgtttgactcataatcgga
+tcctgaagagttaatgtttgttgtatgcgtgaaagtcacggacctccacgatgcttgtag
+gcatgctgtaaacttatcgttaacgagcaaaaacgagaaatatcgaacttaaaatgtgtg
+tgcctcgtcataaaatgagcgttatcgcgccatttattccatctgattgtacatgatgca
+tgtttgttagatcattcgcgcaacaaatttattaacattttcgattgatgtggattatgt
+caccaggagaaggatgaaaagtgtggcaaaccgtaatctgcaaggcgtgccgctggacag
+cgatggcgcggcttcatacaatcggagctaactaaagtgcgctcgtatttattaaggcgt
+caccggtaatcgggacgaggatttttatccatcaacgccttgcaattcaggagaggtatg
+acaatgtcattagaagtgtttgagaaactggaagcaaaagtacagcaggcgattgatacc
+atcactctgttgcagatggaaatcgaagagctgaaagaaaaaaacaactcactgtcgcag
+gaagttcaaaatgcccagcatcagcgcgaagagctggagcgtgagaacaaccatctgaaa
+gaacagcagaacggctggcaggaacgtctgcaggccctgctgggtcgcatggaagaggtc
+tgattacgcttcatcttccgcgtaatttctttactgtgtaggccaacaggtaacgcagaa
+aaaaggcaccttgcggtgcctttcttatcattcaatatccagcggatcttctgaaagaat
+aatcccggtattgtcggcataaagatggtcgccggagaagaaggtgacaccgccaaaatt
+gacgcggacatcgctttcgccaatgccttcgccagcggcaccaaccggaattgccgccat
+cgcctggatgccgatatccaactcttccaggtcatctacctgacgcaccgcgccgtaaat
+gaccagaccttcccattcattttgtactgccagacgcgccagttcagcatcgaccagtgc
+gcgacgaacagaaccaccgccatcgacgacaagaacacgaccacggccattctgttcgag
+cagatcgtacagcaacccgttgtcctcgaaacattttaccgtgattatttgtccgccaaa
+cgacgcccgtccgccaaagttggagaacagcggttccacgacgttaacatcttcttgata
+gatgtcacaaagctcggaagtatcgtatttcataggcttaacattcagttgctgcgagaa
+ttttcagtatatcgcgctatgtgggctgttggcaaaatcatcaattgttaattgatattt
+gtcagttatgctgcccactggcttaggaatatccctaaaacaaacagcaggttagtcagt
+aacgctcccttgacagtacgttccagcattggtcgcatcgccaccgggtccatttcccgc
+atcacataacgggcttgcttcaccagtaatggtgccgccagcaggaacagccagccccac
+aggctatgcagcgaaaagagattaaacagcgccagacacaccagcgagcccatcagcagg
+caggcatgataacgacgcgcgttcacttcacctaagcgcaccaccagcgtgtttttgcca
+ttttcgcggtcgctattgatatcacgcaggttattaatattcagtactgccgttgccagc
+aggccgcatgcggtcgccggaaggatcagtgccggaatcaatgtatgagcctgtaaatac
+cagctccccatgacactcaaccagccaaagaaaaccagtacggaaatatcacccagaccg
+atataaccataaggacgattgcccacggtgtaggtgatagcggcaatgatcgacaacccg
+ccaagaatcaggaaaccgacaaaatcggccagcgtatggcatgccactgcaaccagtgcc
+agcccggagagacagatgagcacgacggtaataatgagcgcccgtttcatctcttgctgg
+gtaatgacccctttttgcatgccgcgtagcggcccaatgcggtcaggtttatcgctgcct
+tttaccgcatcgccgtaatcattggcgaggttagaaaggatctgtaatagcccggcggta
+attagtgccagcagggcgaccagcggatcgaagtgaccttgccaccatgccagcgctgtc
+ccgacgataattgcagcaaaggcgagggggagggttttaggtcgtaaactttccagccac
+gcctgagttcggctaatttgttgttcagtcataatacgcgccaataaaaatggggccttt
+cagccccatcaaacaatgatgaaaatgattgaacgcgattataggataaaacggctcaga
+tcttcatctgccaccaacgcatccagatgtttgctcacataatctgcgtcaatagtgata
+ttttgaccgcttaaatcgctggcgtcgtaggaaatctcttccattaaacgctccagaaca
+gtgtgtaaacgacgagcaccgatgttttcggtagattcgttcacctgccatgccgcttcc
+gcgatgcgtttaataccggagtcggtaaactcgatatttacgccttcagtcgccatcagt
+gctttgtactgcacggtgatagaggcattcggctcggtcagaatacgctcgaagtcgctg
+gtggtcagcgcctgcagttcaacgcggattggcagacgaccttgcagttccgggatcagg
+tcagacggtttcgcaatctggaacgcgccagaagcgataaacagaatgtggtcagttttg
+accatcccgtgtttggtggaaacggtgcaaccttctaccagcggcagcaggtcacgctga
+acgccttcacgagaaacatccggaccggaagactcgccgcgcttacagattttgtcgatt
+tcgtcgataaacacgatcccgtgctgctcaacagcgtcgatagcgtcttgcttcagctct
+tccgggttcaccagtttcgccgcttcttcttcaatcagcagcttcatggcgtctttgatt
+ttcagcttacgcgctttttgcttctggccgcccaggttctggaacatggactgcagctgg
+ctggtcatctcttccatgcccggaggagccataatttcaacgcccatcggtgctgcggca
+agatcgatctcgatttctttgtcatcaagctggccttcacgcagttttttgcggaatgcc
+tgacgagcagcggacggttcctgctgctgttcggtctgtccccagttgtttttagcaggt
+gggatcagcacgtcgagaatacgttcttctgccagttcttcagcgcgataacggtttttc
+tcgatagcctggacgcgtaccattttcacggcggcatcggtcagatcgcgaataatagaa
+tccacttccttaccgacgtagcccacttcggtgaatttggtcgcttcaactttgatgaac
+ggcgcattcgccagcttagccagacgacgggcgatttcagttttaccgacaccggtcggg
+ccgatcatcaggatatttttcggggtcacttcatggcgcagctcttcgttgagctgcatg
+cgacgccagcggttacgcagagcaatcgccacagaacgcttggcgttgtcctggccgatg
+atgtgcttatccagttcgctgacgatttcgcgtggggtcatttcagacatgggagatcct
+tacgctttgtagcttaattcttcgatggtgtggaaatggttggtatagatgcaaatgtcg
+cctgcaatatccaacgccttttcagcaatttcacgggcgctaagttcagtgttttctaac
+agcgcgcgcgccgcagcctgggcgtaagggccgccggagccgatagcaataagatcgttt
+tctggctgcaccacgtcaccgttaccggtgatgataagcgatgcagtttcatccgcgact
+gccagcagtgcttcaagtttgcgcagcatgcgatcggtacgccagtcttttgccagctca
+acggcggctttgaccagatggccctgatgcatttccagtttacgttcaaacagttcgaac
+agcgtaaaagcatccgcagtaccgcccgcaaagcccgcgatgactttgtcgttgtacaga
+cggcggacctttttcacgttgcctttcattacggtattgcccaacgtggcctgaccatca
+ccagcgatgaccacatggccgttacggcgtacgcttactatagttgtcacgagctgaccc
+cttggttacgaatacagagtacaaaccccgtacaaaagtacggggcataatgcaattata
+gatgggggggattttgagggtttcaacccccggcggcgagccgaatgcagtttgtatgac
+ccgccatcttcaaccgattgagggtgctgtctgcgttctctttgcctttcaccgggccaa
+tgaccacacgattccagccattgttggtggtgattttcgagtcaaagccttcgaacgcca
+gctgagcacgtaccgtctctgcctgttccgcgcctctgaacgaaccgcactgcaccatcc
+agcggcgttcgtcttttttctccgccgtcggttttggcgcgtcagcggcacgagcaactg
+gcgcagcttgctgcggcttcgactgcgcagtcgtgtgcgcaggagtttgcagcagatcct
+ggtacggctgctgagaagaagccggtttagactggcgcggttgcgcctgtaccggtgcgg
+cttgcgacgtacgcgtctgctgctgccagctttgttcagtcgtacgcgactgctgagcca
+ggcgttgctgttccgctaattgctgcgcctgacgttggcgctgtagcgtttgctgacgct
+gttccggcgtctgttcattccacggaacttcaaccagctgcgttggctgctggcgcatat
+cagcctgcatttgttcaagaagctgacgttgttctggtgtcagttgctccggcgttttca
+cttcaccaccggcagaaggttctgtgggcgcacgcactcccggctggcgactttccagct
+ctttaatgtagcgccagcgttcttctggttttggtggtagtccgtttccggtcactttct
+ggctttgcagcgtctcggactcttctttcttgtgatgcgtaatgaagtacagaccaccga
+taaaggtcacaagaacggcggcagcaatagcgaccatagcgggagaaaccgcaggcagat
+ttcgttgctttttccgtgaggtgctcttttttcgccgcgaaggtgccggttggctgcggc
+gtacataatctcgttgtgccactatcgtttcgctgtatttattcgttcgtcagcccgcca
+tgttacttaagcggcgggcctttgaccagtcacggcagtcttaaaggtttactttaaggt
+aacgcgcgtgttgatccccggatgataagttcgcagtccattaaacgagagccactgcca
+acgtgttgcccctgcatttgatcaagcaataacagcatagcttcccgaccgatttcgtaa
+cgcggctgcgcgatggttgtcagcggcggatcacaaaattgcgtcaggtcgatgttatca
+aaaccgattatggaaaggtcttccgggactttcagcccctggcgttttgcctgagaaagt
+gcgccgagcgccatcacatcgctatggcagaagacagcagtaggcggttgtggaagatca
+agcagctgctgcatcgctttgcttccggcttcgaaggtgaagtcgccacgggcgatgtat
+tgcggatcaaccataatgccgcagcgacgcagcgcctgaacatagccttgcaggcggtag
+tgacacagcggcatctcttcgggaccggctatacagccaatccgtttatgcccttgctca
+tataaataatttactgcatcaaatgcggcggtcagattgtcgatatgaactgtaggcagc
+tccagctccggtgcaaattcgttcgccatcaccatcggcggcagattacgctgttcctca
+atgctggcatcaaacggcagccttgaacccagcaacaacatgccatcaatttgcttggtg
+atgatcaaatcgataaaggttttttcctgctgattttgatgcgcacagtcgccaatcagc
+accagatatccgtgatttgccgccgtaacttcgataccgcgaataatttcgctaaagaag
+ggatcgcagatatccgggacaatcaccagaatggtgcgggattcattacgcttgacgttg
+cgccccataggctgcggtaaataacccacttcccgggccgctttttcaacccgattacgg
+gtggcctgggagactttatcgggattcattaatgctcgggagacggtcgctgtagagact
+tttgccttgagggcaacgtctttcatggtcgcggcagtttcctgcttcttcgctttcaca
+ctcactcctcgcctggcacgtcaggcgtactacatccatgtttacttcacatcggcaaca
+tttttagcagatagcgcgtgaaaacggttacagaattttcatgaaaagtgtgatgaatat
+tgaatttttcgatccgcctcgcatcgtgagcggtttaaccctcaatcggatcaacatcca
+gcacccatttcaccttacgggaatccggtattgtattgatgagcgccagcgtaccgttaa
+tgatgtgttgcaagcgcacgcgggaagggtgctgcaacaatatctgccagcgccagcgac
+cgccacgtttaggtgccagagccggaaccggaccgagaacccacagtttctcgtctgcca
+gtgggctggagaggatcagattacgcagttgttgcaggaacaatggcgcgtgctgattgt
+tatgatcttccgcacgcacaatcacatggctggtccacggcggtagctgcatcattcgcc
+gctcagccagcgcctgttcggcaaaggcgtcgtagcctttatagagcaacgtttgcaaca
+gaggatgttccggatggtgcgtttgcagcaccacttcgccctgtttacccgcacgcccgg
+cacgaccggcgacctgggtgtaaagctgagcgaaacgctctgccgagcgaaaatcggcag
+aaaacagcgcgccgtccacgtccagtaatgcaaccagcgtcacatccgggaaatggtgac
+ctttcgccagcatttgtgtaccaatcaaaatccgcgcgccgccgcgatgtacttctgcca
+gttgctgttccagcgcccctttgcggctggtggtatcgcggtcgatacgagaaatgggca
+cgccggggaacaacggcgcgagcgtctgttcaagctgttcggtgcccagccccacgggga
+ccaggtgcgtggaaccgcaggaagggcactggcgcggcaccggacgctgactgtcacagt
+ggtggcagcgcagatggtgctgcgcctgatgcagcgtgtagtagtgatcgcaacgtgggc
+attcggcaatccagccacagtcgtggcacagcagtgcaggcgcaaagccacggcggttaa
+gaaagagaatgacctggttatcagcctgtaaatgctggcgcatacgagtgattaacgccg
+gagccagacctgcctgcaccttctgaccttttaaatccagcacatgttgaattgccggac
+gcgcattccctgcccgacgggtcaggcgcagcaggcggtattttttctgctggacgttgc
+ataacgtttccagcgcgggcgttgcggagccaagaataatcgggatttgctcgctgtgcg
+cacgatacaccgccaggtcgcgggcatgatagcgccagccttcctgctgcttgtaggagc
+tgtcgtgctcttcatcaatgacaatcacgccgagatttttaaacggcgtaaacagcgcgg
+agcgggtgccgatcacaatcgccgcctcaccatttttcgctttcagccacgccgaaagac
+gctcgctgtcgttcaggccggaatgcagaacttccacgggggcattaaaacgttcacgaa
+aacgggcgatagtttgcggtgtcaggccgatttccggcaccatcaccagcgcctgtttgc
+cctgagcgagcacgttttccagtacgctgagataaacctccgttttaccggaaccggtaa
+cgcccgccagcagccaggcagaaaaagtatctgccgcgctatgaattgcgccaacggcgg
+tggcctgttcggtattcaatcgcaaccgctcaccagaaacggcatagttcgttcgccagt
+cgctaaactctggtgtttcacttgctaaatcacacagaccttttttgcgtagcgcctgca
+acgcggcatcattaaattcgagcgtggcgacctggtcgcgccagattttgccttgccgta
+acgccgccagcgcctgttgttgcttgggggagcgtttcaggctgttcagatccaccgcct
+ggccttgttcagtggcaaaccagtaccacatcggcgcgttcgccgcaggccgcccctggc
+gtagtaaaatcggcaaggcatgaaacagcacatcgccaatcggatgatgatagtaatctg
+ccgcccatagcagcaatcgccagacggagtgagtaaacaccggctcactatccagcactt
+cgactaccgcttttagctcattgagcggcagttcgctggcatcgctaactgataccacaa
+tcccgatgcgctcctgctgtttgccaaacggcacgcgcacgcgacacccagctttaaccg
+tcatgccttctggcagcagatagtcaaaggtacgaggaagcggaacgggcaaggcaacgt
+gggcaacgggcatagcatcatcctgacttgaaattcggtgggttagtatacacattgccg
+tagaagagtgcggatcagtttgcatacgctggttaatttctgtatgatttcgcgccttcg
+tacgaaatgatcgtattgaagctatacttttaacatcgcgtggtgtctggcgttagggct
+ggaagagcgacgcggccttaaaccgaggttttcccatgaaaaaagatattcacccgaaat
+acgaagaaattactgctagctgctcttgcggtaacgtaatgaaaatccgctccaccgttg
+gtcatgacctgaacctcgacgtgtgcagcaagtgccacccgttcttcactggcaaacagc
+gtgatgttgctaccggtggccgtgttgaccgcttcaacaagcgtttcaacatcccgggca
+gcaaataagaccggatttccgaaaaaagcgccgcacggcgctttttttgtgcctgaattt
+tggtcgtattaccacgaaaacagcggccattctttggcgaccgtggtgagttgtggcgca
+tcgaaaacggcttgtggcgagaccaccgtttcctcaagcggaatattcttgccgtaacgt
+tctttgagctttgcctgaacttgtgggctgctcaggtcgaactctttcaacttctgctgc
+tcgcccacgcgcattcccagcgcgttctggtaaaccttccacaccacttccgaacagtac
+tggcgatcgtcgctccatgagaagctgaaatcatacggtttaccgagataacgttttgcc
+gtttgcgccagtttttgctgttgttcaacactcagtccgccttcaacgcggcgaacaacg
+tatttgcccttttcaccatgggcgatccactgcttgagcggggtgtatttcaccgggccg
+actgcttcaaaaacgtagggctttttgttgcgtatcaccagcataccggtgtggctataa
+tcggtatgggtcgccagttggatcgctttactttgcgatgagcgagagatctgaaagatg
+atgtcgccggtttgtggctgccaggcaaaggcaggtacagaaaccagcaggctgaggatc
+agcagcctgtttttcatagttaaacgtccatgtataaaaagcggtgggtcgcagacaacg
+tgctcgttgtttatgccggatgcggcgtgaacgccttatccggcctacaagttcgtgcaa
+attcaataaattgcaatatgacgtaggcctgataagcgtagcgcatcaggcgattccact
+ccgcgccgctcttttttgctttagtattcccacgtctccgggttaatccccatctcacgc
+atgatctcttttgccgcttccgggatttcgtcgctgcgctctttacgcagatcggcatca
+tccggcaaaggttgcccggtaaaggcatgcagaaacgcttcgcacagcagctcgctgttg
+gtagcgtgacgcaggttgttcacctgacgacgcgtgcgttcatcggtgaggatttttaac
+accttaagaggaatggaaaccgtaatctttttgacttgttcactcttcttgccgtgctca
+gcgtatgggctgatatattcgccgctccattcagccatgagatacttaatcctcttcgtc
+aataaattgagaccagaccacacagttgatgtgggtactgaccgtaaacccgcatagttt
+accgtacaggcgttaccgtgacatcgtgtaatgcacctgtcggcgtgataatgcatataa
+ttttaacggctatttgggatttgctcaatctatacgcaaagaagtttagatgtccagatg
+tattgacgtccattaacacaatgtttactctggtgcctgacatttcaccgacaaagccca
+gggaacttcatcacatgacgcgtaaacaggccaccatcgcagtgcgtagcgggttaaatg
+acgacgaacagtatggttgcgttgtcccaccgatccatctttccagcacctataacttta
+ccggatttaatgaaccgcgcgcgcatgattactcgcgtcgcggcaacccaacgcgcgatg
+tggttcagcgtgcgctggcagaactggaaggtggtgctggtgcagtacttactaataccg
+gcatgtccgcgattcacctggtaacgaccgtctttttgaaacctggcgatctgctggttg
+cgccgcacgactgctacggcggtagctatcgcctgttcgacagtctggcgaaacgcggtt
+gctatcgcgtgttgtttgttgatcaaggcgatgaacaggcattacgggcagcgctggcag
+aaaaacccaaactggtactggtagaaagcccaagtaatccattgttacgcgtcgtggata
+ttgcgaaaatctgccatctggcaagggaagtcggggcggtgagcgtggtggataacacct
+tcttaagcccggcattacaaaatccgctggcattaggtgccgatctggtgttgcattcat
+gcacgaaatatctgaacggtcactcagacgtagtggccggcgtggtgattgctaaagacc
+cggacgttgtcactgaactggcctggtgggcaaacaatattggcgtgacgggcggcgcgt
+ttgacagctatctgctgctacgtgggttgcgaacgctggtgccgcgtatggagctggcgc
+agcgcaacgcgcaggcgattgtgaaatacctgcaaacccagccgttggtgaaaaaactgt
+atcacccgtcgttgccggaaaatcaggggcatgaaattgccgcgcgccagcaaaaaggct
+ttggcgcaatgttgagttttgaactggatggcgatgagcagacgctgcgtcgtttcctgg
+gcgggctgtcgttgtttacgctggcggaatcattagggggagtggaaagtttaatctctc
+acgccgcaaccatgacacatgcaggcatggcaccagaagcgcgtgctgccgccgggatct
+ccgagacgctgctgcgtatctccaccggtattgaagatggcgaagatttaattgccgacc
+tggaaaatggcttccgggctgcaaacaaggggtaaaaatgagtgtgattgcgcaggcagg
+ggcgaaaggtcgtcagctgcataaatttggtggcagtagtctggctgatgtgaagtgtta
+tttgcgtgtcgcgggcattatggcggagtactctcagcctgacgatatgatggtggtttc
+cgccgccggtagcaccactaaccagttgattaactggttgaaactaagccagaccgatcg
+tctctctgcgcatcaggttcaacaaacgctgcgtcgctatcagtgcgatctgattagcgg
+tctgctacccgctgaagaagccgatagcctcattagcgcttttgtcagcgaccttgagcg
+cctggcggcgctgctcgacagcggtattaacgacgcagtgtatgcggaagtggtgggcca
+cggggaagtatggtcggcacgtctgatgtctgcggtacttaatcaacaagggctgccagc
+ggcctggcttgatgcccgcgagtttttacgcgctgaacgcgccgcacaaccgcaggttga
+tgaagggctttcttacccgttgctgcaacagctgctggtgcaacatccgggcaaacgtct
+ggtggtgaccggatttatcagccgcaacaacgccggtgaaacggtgctgctggggcgtaa
+cggttccgactattccgcgacacaaatcggtgcgctggcgggtgtttctcgcgtaaccat
+ctggagcgacgtcgccggggtatacagtgccgacccgcgtaaagtgaaagatgcctgcct
+gctgccgttgctgcgtctggatgaggccagcgaactggcgcgcctggcggctcccgttct
+tcacgcccgtactttacagccggtttctggcagcgaaatcgacctgcaactgcgctgtag
+ctacacgccggatcaaggttccacgcgcattgaacgcgtgctggcctccggtactggtgc
+gcgtattgtcaccagccacgatgatgtctgtttgattgagtttcaggtgcccgccagtca
+ggatttcaaactggcgcataaagagatcgaccaaatcctgaaacgcgcgcaggtacgccc
+gctggcggttggcgtacataacgatcgccagttgctgcaattttgctacacctcagaagt
+ggccgacagtgcgctgaaaatcctcgacgaagcgggattacctggcgaactgcgcctgcg
+tcaggggctggcgctggtggcgatggtcggtgcaggcgtcacccgtaacccgctgcattg
+ccaccgcttctggcagcaactgaaaggccagccggtcgaatttacctggcagtccgatga
+cggcatcagcctggtggcagtactgcgcaccggcccgaccgaaagcctgattcaggggct
+gcatcagtccgtcttccgcgcagaaaaacgcatcggcctggtattgttcggtaagggcaa
+tatcggttcccgttggctggaactgttcgcccgtgagcagagcacgctttcggcacgtac
+cggctttgagtttgtgctggcaggtgtggtggacagccgccgcagcctgttgagctatga
+cgggctggacgccagccgcgcgttagccttcttcaacgatgaagcggttgagcaggatga
+agagtcgttgttcctgtggatgcgcgcccatccgtatgatgatttagtggtgctggacgt
+taccgccagccagcagcttgctgatcagtatcttgatttcgccagccacggtttccacgt
+tatcagcgccaacaaactggcgggagccagcgacagcaataaatatcgccagatccacga
+cgccttcgaaaaaaccgggcgtcactggctgtacaatgccaccgtcggtgcgggcttgcc
+gatcaaccacaccgtgcgcgatctgatcgacagcggcgatactattttgtcgatcagcgg
+gatcttctccggcacgctctcctggctgttcctgcaattcgacggtagcgtgccgtttac
+cgagctggtggatcaggcgtggcagcagggcttaaccgaacctgacccgcgtgacgatct
+ctctggcaaagacgtgatgcgcaagctggtgattctggcgcgtgaagcaggttacaacat
+cgaaccggatcaggtacgtgtggaatcgctggtgcctgctcattgcgaaggcggcagcat
+cgaccatttctttgaaaatggcgatgaactgaacgagcagatggtgcaacggctggaagc
+ggcccgcgaaatggggctggtgctgcgctacgtggcgcgtttcgatgccaacggtaaagc
+gcgtgtaggcgtggaagcggtgcgtgaagatcatccgttggcatcactgctgccgtgcga
+taacgtctttgccatcgaaagccgctggtatcgcgataaccctctggtgatccgcggacc
+tggcgctgggcgcgacgtcaccgccggggcgattcagtcggatatcaaccggctggcaca
+gttgttgtaatttcagaaatttaataatgcccggtactcatgttttcgggtttatggttt
+ctaatgaaatatattgaattatcataggattaggccggattaagcgtttacgacgaatcc
+ggcaagaagcaataagtacatggttagtttatatttgcagtccggtttgctttgcatacc
+ggattttctttttcttaccatcctgaagttttttcatcttccctgatttttcctcaccat
+cattggtcatttttcggttgacgcccttcggcttttccttcatctttacatctggacgtc
+taaacggatagatgtgcacaacacaacatataactacaagcgattgatgaggtaaggtat
+gagcttttttcacgccagccagcgggatgccctgaatcagagcctggcagaagtccaggg
+gcagattaacgtttcgttcgagtttttcccgccgcgtaccagtgaaatggagcagaccct
+gtggaactccatcgatcgccttagcagcctgaaaccgaagtttgtatcggtgacctatgg
+cgcgaactccggcgagcgcgaccgtacgcacagcattattaaaggcattaaagatcgcac
+tggtctggaagcggcaccgcatcttacttgcattgatgcgacgcccgacgagctgcgcac
+cattgcacgcgactactggaataacggtattcgtcatatcgtggcgctgcgtggcgatct
+gccgccgggaagtggtaagccagaaatgtatgcttctgacctggtgacgctgttaaaaga
+agtggcagatttcgatatctccgtggcggcgtatccggaagttcacccggaagcaaaaag
+cgctcaggcggatttgcttaatctgaaacgcaaagtggatgccggagccaaccgcgcgat
+tactcagttcttcttcgatgtcgaaagctacctgcgttttcgtgaccgctgtgtatcggc
+gggcattgatgtggaaattattccgggaattttgccggtatctaactttaaacaggcgaa
+gaaatttgccgatatgaccaacgtgcgtattccggcgtggatggcgcaaatgttcgacgg
+tctggatgatgatgccgaaacccgcaaactggttggcgcgaatattgccatggatatggt
+gaagattttaagccgtgaaggagtgaaagatttccacttctatacgcttaaccgtgctga
+aatgagttacgcgatttgccatacgctgggggttcgacctggtttataaatagtgtggct
+tttgtgaaaatcacacagtgatcacaaattttaaacagagcacaaaatgctgcctcgaaa
+tgagggcgggaaaataaggttatcagccttgttttctccctcattacttgaaggatatga
+agctaaaacccttttttataaagcatttgtccgaattcggacataatcaaaaaagcttaa
+ttaagatcaatttgatctacatctctttaaccaacaatatgtaagatctcaactatcgca
+tccgtggattaattcaattataacttctctctaacgctgtgtatcgtaacggtaacactg
+tagaggggagcacattgatgagcacgtcagacgatatccataacaccacagccactggca
+aatgcccgttccatcagggcggtcacgaccagagtgcgggggcgggcacaaccactcgcg
+actggtggccaaatcaacttcgtgttgacctgttaaaccaacattctaatcgttctaacc
+cactgggtgaggactttgactaccgcaaagaattcagcaaattagattactacggcctga
+aaaaagatctgaaagccctgttgacagaatctcaaccgtggtggccagccgactggggca
+gttacgccggtctgtttattcgtatggcctggcacggcgcggggacttaccgttcaatcg
+atggacgcggtggcgcgggtcgtggtcagcaacgttttgcaccgctgaactcctggccgg
+ataacgtaagcctcgataaagcgcgtcgcctgttgtggccaatcaaacagaaatatggtc
+agaaaatctcctgggccgacctgtttatcctcgcgggtaacgtggcgctagaaaactccg
+gcttccgtaccttcggttttggtgccggtcgtgaagacgtctgggaaccggatctggatg
+ttaactggggtgatgaaaaagcctggctgactcaccgtcatccggaagcgctggcgaaag
+caccgctgggtgcaaccgagatgggtctgatttacgttaacccggaaggcccggatcaca
+gcggcgaaccgctttctgcggcagcagctatccgcgcgaccttcggcaacatgggcatga
+acgacgaagaaaccgtggcgctgattgcgggtggtcatacgctgggtaaaacccacggtg
+ccggtccgacatcaaatgtaggtcctgatccagaagctgcaccgattgaagaacaaggtt
+taggttgggcgagcacttacggcagcggcgttggcgcagatgccattacctctggtctgg
+aagtagtctggacccagacgccgacccagtggagcaactatttcttcgagaacctgttca
+agtatgagtgggtacagacccgcagcccggctggcgcaatccagttcgaagcggtagacg
+caccggaaattatcccggatccgtttgatccgtcgaagaaacgtaaaccgacaatgctgg
+tgaccgacctgacgctgcgttttgatcctgagttcgagaagatctctcgtcgtttcctca
+acgatccgcaggcgttcaacgaagcctttgcccgtgcctggttcaaactgacgcacaggg
+atatggggccgaaatctcgctacatcgggccggaagtgccgaaagaagatctgatctggc
+aagatccgctgccgcagccgatctacaacccgaccgagcaggacattatcgatctgaaat
+tcgcgattgcggattctggtctgtctgttagtgagctggtatcggtggcctgggcatctg
+cttctaccttccgtggtggcgacaaacgcggtggtgccaacggtgcgcgtctggcattaa
+tgccgcagcgcgactgggatgtgaacgccgcagccgttcgtgctctgcctgttctggaga
+aaatccagaaagagtctggtaaagcctcgctggcggatatcatagtgctggctggtgtgg
+ttggtgttgagaaagccgcaagcgccgcaggtttgagcattcatgtaccgtttgcgccgg
+gtcgcgttgatgcgcgtcaggatcagactgacattgagatgtttgagctgctggagccaa
+ttgctgacggtttccgtaactatcgcgctcgtctggacgtttccaccaccgagtcactgc
+tgatcgacaaagcacagcaactgacgctgaccgcgccggaaatgactgcgctggtgggcg
+gcatgcgtgtactgggtgccaacttcgatggcagcaaaaacggcgtcttcactgaccgcg
+ttggcgtattgagcaatgacttcttcgtgaacttgctggatatgcgttacgagtggaaag
+cgaccgacgaatcgaaagagctgttcgaaggccgtgaccgtgaaaccggcgaagtgaaat
+ttacggccagccgtgcggatctggtgtttggttctaactccgtcctgcgtgcggtggcgg
+aagtttacgccagtagcgatgcccacgagaagtttgttaaagacttcgtggcggcatggg
+tgaaagtgatgaacctcgaccgtttcgacctgctgtaatctgaccccgttcagcggctgc
+ttgctggcagtcgctgaacgttctttaccagcgtatagtgggcgaacgaaaactacacac
+tggatctctcatgtctgccgcaggaaagagcaacccactggcaatcagtggcctggttgt
+gctcacacttatctggagttatagctggattttcatgaagcaagtcaccagttacatcgg
+tgccttcgactttaccgccttacgctgcattttcggcgctctcgttttattcatcgtcct
+tttattacgtggtcgcggaatgcgcccgacaccgtttaaatacaccttagccattgccct
+gttacaaacctgcgggatggttggtctggcgcagtgggcgttggtcagcggaggtgcggg
+gaaggtggcgatcctgagctataccatgccgttctgggtggtgattttcgccgcgttgtt
+tctcggtgaacgcctgcgacgtgggcaatatttcgcgattctgattgccgctttcggctt
+atttttggtgttgcagccgtggcaactcgatttctcttcgatgaaaagtgccatgctggc
+aatcctctccggcgtcagttggggggcgagcgcgattgttgctaaacgtctgtatgcccg
+tcatccgcgcgtggatttattgtcgttaacatcctggcagatgctgtatgcggcgctggt
+gatgagtgtggtcgctttactggtgccgcaacgtgaaattgactggcagcccaccgtgtt
+ctgggcgctggcctacagtgcgattctggcgacggcactggcgtggagcttatggttgtt
+tgtattgaaaaacttgcctgccagtattgccagcttaagcacactggccgttcccgtttg
+cggcgtactcttttcctggtggctgctcggcgagaatccgggggccgttgaaggtagcgg
+tattgtgctgattgtgctggcactggcgctggtgagccgtaagaaaaaagaagccgtcag
+tgtaaaaaggatctgaattttttcttcatgtggggcgatctcttatttaacaaaataacg
+ataatgccccaccatccgccagttaaacagcacatcttcttcctgcgcgcctgcgccaat
+gttatgtatcaccagcggcgtaccgtcgcgggcgaagccatctgaaaccaccccaatatg
+tgccagcccgttatccagtcgccaggagacaatatcgcccgcttgatagtcactggggtt
+cttgctggtggggcgtgttttatcatggcggctaaaccaggtttccagattaggcacccg
+acggtgatcgatgttgctgtccgggcgctttaacttccatttttgcgggtactcagcaaa
+attcttcgccatatcttcgtgaaccagtttctgcaaatcgaccttctggctgcgcaatgc
+gcggatcaccacatcggaacatacaccgcgttcttgcggaacatcaccgccaggataagt
+aagctgcacatacgccggatcgtaaaatagcgtgctgccaatttgctgtctggcaccgtc
+tgcgatggcaaggttggtattggcctggatttgtaccacggttggtggaacggcgggaga
+ttttaaggagtggctggtaaatgccgttagcaggctgagcagcgccagtgaagctttcat
+ctggttcgtccgtgaaaataagagtcacagattcgaccttccgggctaacgattgttctg
+tagagaaaatgtccagaagcggataaaaaattcctgaacaacgtgggagtttcagattac
+tggcacagagtgccggatgcggagtgaacgccttatccggcctacaaaagcacgcaaatt
+caatatattgcagagattgcgtaggcctgataagcgtagcgcatcaggcaattttgcgtt
+caaactcccggacaagccgggagtttggagtaggttattcccactcttgcaggaaacgct
+gaccgtactggtcggctaccagcagagcggcgtaaacctgatctggcgtcgcgccgccag
+gcatgttgtgaatggtttcaccttctgcacatgccgcttctgccacaattcgcattttcg
+ccgggacatcttctttaatatccagttgagcgagagttattggcaaacctaccgcatggc
+taagggcagctacggtttcgatttcctccaccggcgcattttccagaaccagctgcgtca
+gcgtaccgaatgccactttttcaccgtgataatagtgatgcgcgtccgggatagcggtca
+ggccgttatgcactgcgtgcgccgcagccagaccaccactttcaaaaccaacaccgctca
+aataggtgttcgcttcaatcacgcgctccagcgccggagtcactacatgctgttcggcag
+caagcatcgctttttcgccttcttccagcagggtgttgtagcacagttcagccagtgcca
+gcgcagcctgggtgcacttgccgcccgccatggtggtcgcgccgctacgagagcaggcac
+gcgcttcaaaccaggttgccagcgcatcgccgatacccgccgctaacagacgtgcaggtg
+cgccagcgacgattttggtgtcgacaatgaccatattcgggttatttggcaacagcagat
+agcggtcaaactcaccctcatcggtgtagataacagacaatgcgctgcacggtgcatcgg
+tagaggcgatagtcggtgcgatcgctaccggaacacccatgaaatgtgccagtgctttgg
+cagtatcgagggtttttccgccaccgataccgagaattgcgccacactgcgcagtctccg
+cgatgccacgcagacggtcgatctcattttgcgaacattcaccgccaaacggcgcaattt
+ctactaccagtccagcatctttaaagcttttctcgacagtggattgagcaaaacctaaaa
+caaatttgtcacccaccactaaccagcgttctgccagcggcttcaggtattcgcccagac
+gattaatcacatcagcgccctggatgtatttacccggtgattgaataatgcggtccataa
+ttgctcctttagagatgagtagtgccaaatgcggcattccagtcgtgttcgaacttctct
+atagctgactctaccgcaggggtgttgagcatttgttgcgctacatctaagggcagggtg
+atggattcacatcctgccagtaaacagtccagcgcctgacgcggcgttttaaagctggct
+gccagcaccatgctttctggcgcgtgcatttctaacagcgtttgcagctcctgaaccgta
+cgaatgccgtctccgccctgggcatctacgcggttaacatacggagcaacgtattttgcc
+cctgccagtgcggctaataacccttgtgcggcgctatatacagcagtgccaagtgtagta
+ataccctcttttttcagtattttaattgctgccagaccttcggaagtcaccgggattttc
+accacaatacccggaatagcgtcgcgcaggcgcttcgcttcttccaccatcccctgcgcg
+tcgcggctcatggtctgagcaaacagaatgccctcatcaccaatcgctttttgcagacgc
+ggcagcacttcccatatggactccttgctggcagcgataatgctcgggttagttgtcacc
+ccggcaatggggaatatgcgtgccagacgttcgacttctgcgacgttagcggtgtccaga
+tacagttccatgatgtttccttttacagttccagttcatgttgcagcaggctggcgatag
+cgtcggcagaggcggcgttaaccagcgcgttacggaattcttcgtgcatgatgcggcgag
+cgaggcgcgagaaaatgcgcatatgctgatcgcccgcagcgtgtttgttcagggttaaca
+taatgatgaattgcgcttcatcatcgccccagcgcaccggcgcttgcagacgcgccacgc
+tgatggtggattgctcaatgtgttctgatttgctgtgtggaatggcaaaactaaagccca
+gaccggtagagaaaacggcctcgcgcgcccacaagtcggcttccagtttacgcggatagc
+ggcagcggcccgccagcagcaggttatcggtcatgcctttgagcacttcttctttgctgc
+gccagtcgctttccagtgtgatgcactcggcggtgaccagcggtgcgtcttgttgggtca
+tgcggaattgcgccagcaggtgttctacttccagcgaagtacggcaggccattgcctggt
+tgagcaacttgcggcactcacggctatcaagttgcgccatccgagctttcgccgccggaa
+ttgatggtgcgctcatgctgagttcatccagccctaagccgaccagcaacggcagcacgg
+aacctttcgctcccagctcaccgcacagaccaatccatttgccctggcgatgcaccgctt
+gcacggcgtaatcgagcgcccgcaagaatgccggattcaggctgttgtagtgacgagtaa
+ccttagcgttatcgcgatccaccgccagcagatactgcgtcaggtcattactaccaatac
+taaagaaatcaatctcttcgcagcattgatcgatgatgaacatcaccgacggcacttcca
+gcatgatgccgagctggattttctcatcaaacggaatgtgttcgttacgtagttgctgtt
+tggcttccgccagtttttctttcacccataagatctcttccattgaggagatcatcggga
+tcatgattttcaggctgccgtgagcggaggcgcggaggatcgaccgtagctgcgtggtaa
+acaacgacgcgtactcttcataaatacgcacggcgcgataaccgaggaacgggtttgcct
+ctgcgggaatgttcagataatcaacgggtttgtcgccgccaatgtccatagtgcgcacaa
+taatgctgcgtccgttggcggattccagcgcctgacaaaaaatgttgtacaactcgcttt
+cgcccggtgcgctggtgcgatccatatagagcatttcagtgcggaacaaaccaacgcctt
+ccgcaccattgccgaatgcggcctgcgcttccacggagtgagcgatgttagcggcaattt
+caatgcggataccgtcagcggtacgggcttgttgggtcagccagacacgctgttgctcac
+gcagggcgtcctgtacgcgggcttcttgctgataataacgagctacggcttcccctggct
+caaccacaatcgccccggcgttgccgtcgatataaatcgtttgttgctgccacggagtaa
+gggcatcaatatccacaccaaccagcgttggaatgttgaacgaacgggcaaggatcaccg
+tatgtgaggtggtgccgccgcttttgagcaacaatcctttgaggtgatttttatccagtt
+cgaggaactggctgggggtcagttcatcagccatacaaatggcgggctgcgtcagtttgc
+ccggtgccgggaagcgttgctcaccgtagatttgctggagtaactggaagcagacgtcgc
+gtacgtccagggcacgttcttgcaggtagctgctgctggaacgggaaaactcttcgcaaa
+agtgattcgcgctggcaacaattgcttcggcgcagcttaatccggcgctgacgcctgcca
+gtaaatgttcgcgcagggaagtatcgccagccagggatcggtgagcttccagaatcgcgc
+tggtagcaccgtcgctatccagcagacgaaactcaatgtttttcagtaccagcgtcaggc
+cgttttccagtgcggattgctcggcgtcaacgcctttggctgcgggaagattacccagcg
+cattgagatctaaagaagagatcggcgtcagaatgccgcctgcactaccgctgcacacgg
+tgcgggcgcggataatttgcggattcagattggtcagtgaaaccggcagtggttccagtt
+cgtcagatttaacttccgccagcggcgcatcgcagtgggggaattcatcgcgcagccatt
+ggcttaaacgctggtgcgcttcctgttcgtcggccccggaaatcagtaactggcagttat
+cgcccgccagcgtatcggtgccaatcagcgcaagggcgcttttggcgttgcccttgcggt
+cagtgcgcaggttatgccactcaatttgtgatgaaaaagtattacacagcgtttcaacgt
+ggcttgccggacgcgcatgtacgccgttaggtagctcacaaataaattccacaatcaggg
+ccattgcctctctcccggtacggttttctgtttacaggataagagcgcacggcaacggcc
+tgccatgtgacaaatctgccaaaagctggacaaatgtaatgtaaccgtcaatttgcgacg
+cgtctcacaagacgctgttttgcggcatgcttccggtttatcgcaagttatgaggcggat
+cgcatttttgtactgatattacaaaagtccagtaaatggcctttttatccactgtttgct
+ccgcctgcgattgcctattgtttcctccatcaaaaatatggacatgggctttcgcaagcc
+cgggagcagcttatgaatgagttggtgcagatcctgaaaaatacccgtcagcatttaatg
+acgggcgtttcacacatgattcccttcgtggtatcgggcggtattttgctggcggtttcc
+gtcatgttgtatggcaaaggcgcagtgccggatgccgtagccgatccaaatctgaaaaaa
+ctgtttgatatcggcgttgcgggcttgacgctgatggtgcctttcctcgcagcgtacatc
+ggttattccattgcagagcgttctgcgctggctccgtgcgctatcggtgcctgggttggt
+aacagctttggtgcgggcttctttggtgcactgatcgccgggattatcggcggcatcgtg
+gtgcattacctgaagaaaattccggtgcataaagttctgcgctcggtgatgcctatcttc
+attattcctatcgtcggcacactgattaccgcaggcatcatgatgtggggcttgggcgag
+cctgtaggggcgttgaccaacagcctgactcagtggcttcaggggatgcagcagggcagc
+attgttatgctggcggtgatcatgggtctgatgctggcgttcgatatgggcggtccggtt
+aacaaagtggcctatgccttcatgctgatttgcgttgctcagggtgtttataccgtggtg
+gccatcgctgccgtgggtatttgtatcccgccgctggggatggggctggcgacgctgatt
+ggtcgtaaaaatttctccgcagaagagcgcgaaaccggcaaagcggcactggtgatgggc
+tgtgttggcgttactgaaggggcgattcctttcgccgctgccgatccgctgcgtgtcatt
+ccttccatcatggtcggttcagtttgtggtgcagtaactgcggcgctggtcggtgcgcag
+tgctatgcaggctggggtggtctgattgtgctgccggtggttgaaggcaagctgggttat
+atcgcagcagtggctgtcggagcagtggtgacggctgtttgtgtgaacgtgctgaaaagt
+ctggcgcgtaaaaatgggtcttcgactgatgaaaaagaagacgacctggatttggatttt
+gaaattaattaattgaggaacgagccatgacgaaaattattgcagtaaccgcatgtcctt
+caggtgttgcccatacctatatggcagcagaggcgctggaaagtgccgcgaaagcgaaag
+gctgggaagtgaaagtagaaacccaggggtcaattggtctggaaaatgaactgactgcgg
+aagatgtggcgagcgctgatatggtgattctgaccaaagatatcggcatcaagtttgaag
+agcgttttgctggcaagaccatcgtgcgcgtcaacatcagcgatgcagtaaaacgtgctg
+acgccattatgagcaaaattgaagctcacctggcgcaaaccgcttaagttcttctcccgc
+tcgcaagggcgggttcgctttcccacaggagttcctcatgacgaatcgtatctctcgcct
+caaaactgcactgtttgccaatacccgtgaaatctcgctggagcgggcgctgctttatac
+cgccagccatcggcaaaccgaaggcgaaccggtgatattgcgccgggcgaaagcaacagc
+gtatatccttgaacatgttgaaatttcgattcgtgatgaagaactgattgccggtaaccg
+caccgtaaaaccgcgcgccgggattatgtcgccggaaatggacccttactggctgctgaa
+agagctggatcaattcccgacgcgtccgcaggaccgctttgctatcagcgaagaagataa
+acgtatctaccgtgaagagttgttcccgtactgggaaaaacgttcgatgaaagatttcat
+caacgggcagatgacagatgaagtaaaagccgcgaccaacacgcagattttcagcatcaa
+ccagacggataaaggccaggggcacattattattgattacccacgcctgttgaatcacgg
+gctgggtgagctggtggcacagatgcagcaacattgtcagcaacagccggagaatcactt
+ttatcaggccgcgttgttactgctggaagcctcgcagaaacacattttgcgttacgccga
+actggcggaaacgatggcggcaaactgcacagatgcccagcgtcgcgaagagctgctgac
+tattgcagagatctcccgccataacgcgcaacataagccgcagacgttctggcaggcgtg
+ccagttattctggtacatgaacatcattctgcaatacgaatccaacgccagttcgctatc
+gttggggcgcttcgaccagtatatgttgccgttctatcagacatcattaacccagggcga
+agatgcggcgttcctgaaagaactgctcgaatctttatgggtgaaatgcaacgacatcgt
+gctgttgcgctccaccagtagcgcgcgttatttcgccggtttcccgaccggctataccgc
+actgctcggcgggttaaccgagaacggacgtagcgcggtgaacgtgctttcgttcctttg
+ccttgacgcctatcaaagcgtgcaattaccgcaaccgaacctcggcgtgcgcactaacgc
+cttgatcgacacgccgttcctgatgaaaaccgccgaaaccattcgcttcggtaccggtat
+tccgcaaatctttaacgatgaagtggtggtgccagcgttcctcaaccgtggcgtttcgct
+ggaagatgcgcgcgactattccgtagtgggctgtgtggaattatctattcccggcagaac
+ctacggcttgcatgacatcgcgatgtttaatctgctgaaagtgatggaaatctgcctgca
+tgaaaatgaaggcaatgctgcgctgacttatgaaggtttactggagcagatccgcgccaa
+gatcagccactacatcaccctgatggttgagggcagcaatatttgtgatatcggccatcg
+cgactgggcacctgtaccgctgctctcatcgtttatcagcgattgtctggaaaaaggccg
+cgatattaccgatggcggcgcgcgttataacttctccggcgtacaggggatcggtatcgc
+caacctgagcgattctctccatgcgttgaaagggatggtttttgagcaacagcgtttaag
+ttttgacgaattgctgtcggtattaaaagccaacttcgcaacgccagaaggcgaaaaagt
+ccgcgctcgcttaattaaccgcttcgagaaatacggtaacgatatcgacgaggtggataa
+catcagcgccgaactgttgcgccactactgcaaagaagtggaaaaataccagaacccgcg
+cggcggctacttcacgccgggatcgtataccgtttctgctcacgtcccgttgggatcggt
+ggttggcgcgacgccagacggtcgttttgccggagaacagctggcagacggcggcttgtc
+acccatgctgggccaggacgcacaagggccaacagcggtactgaagtcagtcagtaagct
+cgataacacgctgctgtctaacggtacgttgctgaacgtgaaattcactccggcgaccct
+ggaaggtgaagcaggattacgcaaactggccgacttcttacgggcgtttacccagcttaa
+gttacaacatattcagtttaacgtggtgaacgccgacacgttgcgggaagcgcaacagcg
+cccacaagattatgccgggctggtggtgcgcgttgccggatacagcgccttctttgtcga
+actgtcgaaggagatccaggatgacatcatccgccggacagcgcatcagctgtaacgttg
+tggaaacgcgccgcgatgatgtggcgcgcattttcaacattcagcgttattcactgaatg
+acggcgagggcattcgtacggtggtcttttttaaaggctgtccgcatctttgcccgtggt
+gtgctaatccggagtcgatctccggcaaaatccagacggtacgcagagaggcgaaatgtc
+tgcactgtgcgaaatgtttgcgtgatgcggatgaatgcccctccggggcgtttgaacgga
+ttggtcgcgatatcagccttgacgctctggaacgggaagtgatgaaagatgacattttct
+ttcgcacgtccggcggcggcgtcacgctttctggcggcgaagtgttaatgcaggcggagt
+ttgctacccgttttttacagcgactgcggctgtggggtgtgtcatgcgccattgaaactg
+ccggagacgcaccagccagcaagctattaccgctggcgaaattgtgcgatgaagtgttgt
+tcgatttaaaaattatggacgcgactcaggcgcgggatgtggtgaagatgaacctgccac
+gcgtgctggagaatctgcgtttgctggtgagtgagggcgtcaacgtgatcccgcgtttac
+cgctgatccctggtttcacgctcagccgggagaatatgcagcaggcgctggatgtactga
+tcccgctgaatatcaggcagatccatctgttaccgtttcatcagtacggcgaaccgaaat
+accgcctgctggggaaaacatggtcgatgaaagaggtgcctgcgccgtcgtcagctgatg
+tggcaacgatgcgcgaaatggcagaacgggccggacttcaggttaccgtgggaggttaaa
+atggcatacctggtggcagtaaccgcctgcgtaagcggcgtggcgcatacttatatggcg
+gcggaacggctggaaaagttgtgcctgttagagaagtggggagtcagcattgaaactcag
+ggcgcgctgggaacggagaatcgtttagcggatgaggatatccgccgggcggatgttgct
+ctgttgattacggatatcgagcttgccggtgccgagcgatttgaacattgccgctatgtg
+caatgcagcatctacgcattcctgcgtgagccgcagcgggtaatgagcgcggtgcgcaaa
+gtgctttctgcgccgcagcaaacccatcttattctggagtagtcggtttttctgtcagtt
+ggctgtggtactgccggcgatattccgacggcgagcgttcggtgtttttacgaaacagac
+ggcagaagtagttgctgtcgacaaagccgcaggcgtgcgccacttcttttaccttcaggt
+catagcctttcaataacgtcttagcgtgctccagtcgcgtgtgattcaggtattcgttaa
+aaccaatggcccccgttttttgaaacaggtgcgagaggtaatttggcgaaatataaaacg
+cctgtgcaacagattcgcgggtaagcgcggaggcatagcgttcgtcgatataatcgcgaa
+tagcttcaaatagtgcctggctgcgtgaggcggtctggatttggctgccaagcaaatcgc
+ggcagtggctaagcaggctggcgacgataagccttgccgtttgctgctcctgcggctgca
+tttgcatttcattgagcgtttgtagcagaaaagaacctatgcgtgggccgcgtcgggcga
+cgtgttgcttcgccagattttgatattgtttgccatcccattgcacgacgctgaagccga
+gttgctgtttgccaaacagcacgctaaaggtagtagcgggggcttgccattgtggaaaat
+tccagccaccagcaggaacgtacagcacatcgccgggaactaacgttgctccagcgccgg
+tatcaacaaactcaccttccagcacaatttccagccgtggaaaatcgacctgatacgcaa
+gatcgggcaccgggccgttactgctggcaaagtaaatctggcgcagggacagcgggccgt
+tgatcaggcgggagagcagatagctgacgtcgtgatacatgttattcccttaggtatgta
+gacgggaaaacagtaactggcattattaaaaaaggccacctgaaaagtgtggcctgaggg
+gagttcgatgtaaacattgcggcagttgtattgccggatgtggcgtaaacgccttatcca
+gcctaccgccgcgatctgtaggccggataagacgcgtcaagcgtcgcatccggcaaatag
+cgcctggctgataattactgattacccacctgatcgccatagggcagtgtgtcgtaatcg
+atcagtgcgtttttcttatacgggttaccaatccagcgggtagtttctttgaactgcgga
+ttcaccactgaacgggttggatcgtaaccgtcgtaagataagcccgccaaatctgaccag
+gtgtggatcagttccgccaggctgtatttacgatcaacatcctgcgagaaatcacgggga
+tgagtcgcttgccatttttctgacgtccacagcaggaacggaatggtgtacatatgacgc
+gtcgggttgtcctcattacgcccctgagttttgtgcggcggcgtgtcgtaaacctcttca
+ccgtggtcagagaaataaaccaggaaaccgttcgggtttgctgctttaaagtctttaatc
+aggctggcaaccacatgatcgttatacaggttagcgttgtcataatcgttatatgactcc
+agctcttccgcgtttaatcccggcggaacatgatcggtattgccatcaaacttgccctga
+ttttccgggtagcggtatttgtatttgatatgcgtacccagcagatgaacaatgatcagt
+ttcttcggcgcagggtcattcagcacttcctggaacggcttcagcacgttggtgtcgtat
+tcacgcgcactctgcgtacgttgctggttcatgtagtactgcttgtcggtctggcgcgaa
+aataccgtcagcatggtattgcgggcggtcatcgtctgctggttggtgatccagaaggtt
+ttataacccgcctgtttcatcatgttcatcagcgacggctgcgtcagatacagatccggg
+ttcttttcattggcaaaggtcagcgcctgttgcaggatttcaatggtgtacggacgagac
+gtaactacgttattaaacacggtcagattcggatcggttttatgcagcgcatccagctcc
+ggcgtggtttcacgcggataaccgtacagactcatgcgtccgcgctgggtcgactcgcca
+atcaccagcactaaagtgcgcggttcgttacccgattcatctttgaaattagccagtggc
+ggcaaggcattattttcattcagtaactttgttagcgagtttagttgctgacgatactga
+taatagccggtcaggaattgccacggtgcggcaggctccatacgcgaggccaggttatcc
+aacgttttctcaaacggcttgtttttgataaacgtattcatggcgatcggatgcagaatc
+aagccataaagcagggcaaaagagacaacataacgccacggctttggaatatagaccggg
+cgcaggcgtgtccacagcagaactgccaccgccgtataggccagcgcgataagcacaatt
+ttcaggctgaaatactggcttaaatactcgctggcttcgttggtgttggtttcgaacatc
+acaaacagaacgctctgcgagaactcctgaccgtagatgacgtagtagcacagcgccgcc
+agagaggccgcccatagcaccacgccgattactgcggcaataattttaatccgcttcgga
+aagaggaataccgggatcaaccacagcgaactgaataacagcgagtcgcgaatgccgtta
+gtgccactataaccactgatgtaaataatggcctgtagcagagtagagaaaaaccaaaag
+tagagcagtgcccaacccagggctttccagctaaaaagaggtttagcctggacttctgtg
+gaatgcatagtaagaacctgtcttgaaaaaatatcgccgaatgtaacgacaattccttaa
+ggatatctgaaggtatattcagaatttgaataaaatgcagacagaaatatattgaaaacg
+agggtgttagaacagaagtatttcagaaaaccctcgcgcaaaagcacgagggtttgcaga
+agaggaagattagccggtattacgcatacctgccgcaatcccggcaatagtgaccattaa
+cgcttgttcgacgcgaggatccggttcctggccttctttttctgcctggcgggagcggtg
+cagcaactcggcctgcaatacgttcagcgggtcggtgtaaatattccgtagctgaataga
+ctctgcaatccacggcagatcggccatcagatgggaatcgttggcaatcgccagcaccac
+tttgatgtcttcttcttgcaggttgcgtaactctttacctaacggccacagtgctttgtc
+taccaggcgttggtcatagtattccgccagccacaggtctgctttggcgaagaccatctc
+cagcatgccgagacgcgtcgagaagaatggccaatcgcggcacatagcctccagctcgct
+ctgtttgccgtcttcgaccactttttgcagcgccgtacctgcacccagccaggcggggag
+catcagacggttttgcgtccaggcgaagatccacggaatggcgcgtagtgactcgacgcc
+gccggttgggcgacgtttcgccggacgtgaacccaacggcagtttgcccagttcttgttc
+cggcgtagcggagcggaagtaaggcacaaaatctttgttttcacgtacgtagccgcggta
+gacatcgcaggagatgactgacagttcatccataatgcgacgccagctctctttcggctc
+cggcggtggcagcaggttggcttccagaatcgccccggtataaagcgacaggctgctgac
+ggtgatttctggcagaccatatttaaagcggatcatctcgccctgttcggttacgcgcag
+gccgcctttcaggcttcctggcggttgtgacagcagcgccgcatgagcaggtgcgccgcc
+gcgaccaatggaaccgccgcgaccgtggaacaacgtcagctcaatacccgctttttcgca
+ggttttgattaatgcatcctgtgcctgatattgcgcccaggaagctgccatcactcccgc
+atcttttgctgagtcggaatagccaatcatcaccatctgtttgccctgaatcaggccacg
+ataccagtcaatattgagcagctgggtcatgacatcgttggcgttgttcagatcatcgag
+ggtttcaaacagcggagcaaccggcatcgcaaacccgatacccgcttctttcagcagcag
+gtggacagccagtacgtcggacggcgttttcgccatcgagatcacgtaggcggcaatgga
+gccttgcggtgcttcggcaatcacctggcaggtatcgagcacttcgcgcgtttcggcgct
+tggttgccagttgcgcggcagaagcggacgtttggagttcagttcgcggatcaggaacgc
+ctgtttgtcggcctctgaccagctttcgtagtcgccgataccgaggtagcgggtcagctc
+gcccagcgcttcggtatgacgcgtgctctcctgacggatatcaatacggaccagcggtac
+gccgaaacatttcacgcggcgcagggtgtcgagcagatcgccgttggcgataatacccat
+gccacacgcctgaagtgactggtagcaagcgtagagcggttcccacagttcttcgttttg
+tgtcagcaggccttctggttttggcagttcttcgcctttcaggcgcgcttccagccatgc
+ctgtgtcgccatcaggcgagaacgcaggtttttcatcagatagcgatacggttctgcggc
+accttcttcgccaaccagcgccagcagttcaggggtcgcttcaaccatcgacagttcaga
+aaccagcacctgaatatctttcaggaacaaatcggtggctttccagcggctgagtagcag
+gacgtggcgggtgatatcggcagtgacgttcgggttgccgtcgcggtcgccgcccatcca
+cgaagtaaaacggaccggaacaaattcgacgggcagtttgtagccgaggttctcttccag
+ttgttcgttcagttcgcgcaggtaatttggtacgccttgccacaggctgttttccactac
+ggcaaagccccatttggcttcatctaccgggcttggacgcagcttacggatttcatcggt
+atgccatgactgggcgatcaactggcgcaggcgacgcatcagctggttgtgttcgtagtc
+agcgatatctttgttatcgagctgttttaaacaggcgttcacttccaccattttgtggat
+cagtgtacgacgggtaatttcggttgggtgagccgtgaggaccagttccagcgacagcga
+ttccactgcttttttgatggtgtcttcgctcagttccggctggtttttcagtttacgcag
+ggtgcgggcgatcacttccgggttgctggcagcttcgcctttcggcgaaatgctgtggta
+ttgctcggcggtgttggccaggttcaggaactgactaaacgcacgcgcaacgggcagcag
+ctcgtcgttcgacaaattttgtaaggtggtgagcaactcctggcggttagcatcattgcc
+agcgcgtgaagatttcgacaacttacggatagtttctacgcgttcaagaatgtgttctcc
+caacgcatccttgatggtttctcccagcactttgccgagcatactgacattactacgcaa
+tgcggaatattgttcgttcatattaccccagacaccccatcttatcgtttgatagccctg
+tatccttcacgtcgcattggcgcgaatatgctcgggctttgcttttcgtcgtcttttata
+aagccacgtaaaagcggtgacgtcaaatgctgcgaaatcgcttcagcaaacgaataaata
+gcaggaatttacgtcattaaattcacgacgctttaaataagcgtaacttatggaaatgtt
+aaaaaatcgccccaagtaacaccaaaggtgtaggtcggataagatgcgcaagtatcgcat
+ccgacattattgcggcactggagtttggcaacagtgccggatgcggcgcgagcgccttat
+ccggcctacagttgggcatcgtttgagtcactgtcggtcggataagatgcgcaagtatcg
+catccgacattattgcggcactggagtttggcaacagtgccggatgcggcgcgagcgcct
+tatccggcctacggttgggcatcgtttgagtcactgtaggtcggataagatgcgcaagca
+tcgcatccgacattattgcggcactggagtttggcaacagcgccggatgcggcgcgagcg
+ccttatccggcctacgttttaatgccagcaaaaatggtgaattacctgggttatcagttc
+gcgggtgggcttgataaaccgtgtttccagatattcatcaggttgatgagcctgattaat
+tgagccaggccccaacaccagcgtcgggcataacgtttgaataaacggcgcttcggtaca
+gtagttcaccacttcggtttttgctccgagcaatttctcaaccacttcaaccagttgatg
+attcggtgggcattcatagccagggatcggcggatgcagctcgtcgaccgtcagacgacc
+cggccagcgttcgctcaccggagccaatgcatcgttgagcaaaccattaagttcattgag
+tgtcatgccaggcagcggacgaatatccatatgcaactcacagcaagcgcaaatacggtt
+agaagcgtcgccaccgtgaatatgcccgaggttgagcgtagggtatggcacggtaaacgc
+ttcgtagtgataacgttctttcaggttatcgcgcaattgcaaaatatgcccgatggcgtc
+gtgcattagttcgatagcgttaactccgcgtgctggatcgctggagtgccccgactggcc
+ctgaatacggatggcgttagagatatgacctttatgtgcgcgtaccggttgtagtgacgt
+cggttcgccaatgatggcgcaatccgggcgcagggcggtagtttcggcaaaataacgcgc
+tccggccatactggtttcttcatcagcagtcgccagaatgtagagcggttttttcagttt
+cgtgacgtcgacatcgcgtagcgcatcaaggataaacgcaaaaaagcctttcatgtcggc
+ggtgcctaagccgtaaagcttgccgtcatgctccgtcagtgtaaacggatcgcgcgtcca
+gcgaccgtcatcaaatggcaccgtatcggtatgccccgccagcaacaagccgccagcccc
+ctgtccgatacttgccagcatattgaatttgttgcgagttcctggaacaggctgcacttc
+cacattgaagcccaaatctttaaaccagtccgccagcagagtgattaaatctgcattgct
+ttgatcgagtgcctcttccgtggcgcttattgaaggtgtggcaatcagagcgcggtaaat
+ctcgataaatggcggtaatttgtttttcattgttgacacacctctggtcatgatagtatc
+aatattcatgcagtatttatgaataaaaatacactaacgttgagcgtaataaaacccacc
+agccgtaaggtgaatgttttacgtttaacctggcaaccagacataagaaggtgaatagcc
+ccgatgttgaatacgctgattgtgggtgccagcggctacgctggcgcagagctagtgacc
+tatgtaaatcgccatccgcatatgaacataaccgctttgactgtttcagcgcaaagcaat
+gatgcgggaaagttaatctccgatttgcatccgcagctaaaaggcatcgttgatctgccg
+ttgcagccgatgtcggatatcagcgagtttagcccaggggtggacgtagtgtttctcgcc
+accgcccatgaagttagccacgatttagcgccgcagtttcttgaagcgggctgcgtggtg
+ttcgacctttccggcgcgtttcgtgttaacgacgccaccttctatgaaaaatattacggc
+tttacccatcaatacccggaactgttggaacaggcagcctacggtctggcggagtggtgc
+ggtaataaattaaaagaagcgaatttgattgcggtgccgggctgttatccgacggcggca
+cagctggcgctgaaaccgttgattgatgccgatcttcttgacctcaatcagtggccggtg
+atcaacgccaccagcggcgtgagcggtgcagggcgtaaagcggccatttcaaacagcttt
+tgtgaagttagcctgcaaccgtatggcgtctttactcatcgccatcaaccagagatcgcc
+acacacctcggtgctgacgttatcttcaccccacatctgggcaatttcccgcgcggcatt
+ctcgaaaccattacctgccgcctgaaatcgggtgtgacccaggcgcaagtcgcgcaagtg
+ttacagcaggcgtatgcccataaaccgctggtgcggctgtatgacaaaggcgttccggcg
+ctgaaaaatgtcgttgggctgccattttgcgatatcgggtttgccgttcagggcgagcat
+ctgattattgtggcgaccgaagacaacttactgaaaggcgcggcggcacaagcggtacag
+tgcgccaatattcgtttcggctatgcggaaacgcagtctcttatttaagggtgcaatgat
+gaatccattaattatcaaactgggcggcgtactgctggatagtgaagaggcgctggaacg
+tctgtttagcgcactggtgaattatcgtgagtcacatcagcgtccgctggtgattgtgca
+cggcggcggttgcgtggtggatgagctgatgaaagggctgaatctgccggtgaaaaagaa
+aaacggcctgcgggtgacgcctgctgatcagatagacattatcaccggagcactggcggg
+aacggcaaataaaaccctgttggcatgggcgaagaaacatcagattgcggccgtaggttt
+gtttctcggtgacggcgacagcgtcaaagtgacccagcttgatgaagagttaggtcatgt
+tggactggcgcagccaggttcgcctaagcttatcaactccttgctggagaacggttatct
+gccggtggtcagctccattggcgtaacagacgaagggcaactgatgaacgtcaatgccga
+ccaggcggcaacggcgctggcggcaacgctgggcgcggatctgattttgctctccgacgt
+cagcggcattctcgacggcaaagggcaacgcattgccgaaatgaccgccgcgaaagcaga
+acaactgattgagcagggcattattactgacggcatgatagtgaaagtgaacgcggcgct
+ggatgcggcccgcacgctgggccgtccggtagatatcgcctcctggcgtcatgcggagca
+gcttccggcactgtttaacggtatgccgatgggtacgcggattttagcttaagttttgtt
+ggccggaggcgcagctttccggcattgaatttcaaaataaggaaacagagttatggcact
+ttggggcgggcgttttacccaggcagcagatcaacggttcaaacaattcaacgactcact
+gcgctttgattaccgtctggcggagcaggatattgttggctctgtggcctggtccaaagc
+cctggtcacggtaggcgtgttaaccgcagaagagcaggcgcaactggaagaggcgctgaa
+cgtgttgctggaagatgttcgcgccaggccacaacaaatccttgaaagcgacgccgaaga
+tatccatagctgggtggaaggcaaactgatcgacaaagtgggccagttaggcaaaaagct
+gcataccgggcgtagccgtaatgatcaggtagcgactgacctgaaactgtggtgcaaaga
+taccgttagcgagttactgacggctaaccggcagctgcaatcggcgctggtggaaaccgc
+acaaaacaatcaggacgcggtaatgccaggttacactcacctgcaacgcgcccagccggt
+gacgttcgcgcactggtgcctggcctatgttgagatgctggcgcgtgatgaaagccgttt
+gcaggatgcgcttaagcgtctggatgtcagcccgctaggctgtggcgcgctggcgggaac
+ggcctatgaaatcgaccgtgaacagttagcaggctggctgggctttgcttcggcgacccg
+taacagtctcgacagcgtttctgaccgtgaccatgtgttggaactgctttctgctgccgc
+tatcggcatggtgcatctgtcgcgttttgctgaagatctgattttctttaacaccggcga
+agcggggtttgtggagctttctgaccgcgtgacttccggttcatcattaatgccgcagaa
+gaaaaacccggatgcgctggagctgattcgcggtaaatgcggccgggtgcagggggcgtt
+aaccggcatgatgatgacgctgaaaggtttgccgctggcttacaacaaagatatgcagga
+agacaaagaaggtctgttcgacgcgctcgatacctggctggactgcctgcatatggcggc
+gctggtgctggacggcattcaggtgaaacgtccacgttgccaggaagcggctcagcaggg
+ttacgccaacgccaccgaactggcggattatctggtggcgaaaggcgtaccgttccgcga
+ggcgcaccatattgttggtgaagcggtggtggaagccattcgtcagggcaaaccgctgga
+agatctgccgctcagtgagttgcagaaattcagtcaggtgattgacgaagatgtctatcc
+gattctgtcgctgcaatcgtgcctcgacaagcgtgcggcaaaaggcggcgtctcaccgca
+gcaggtggcgcaggcgattgcttttgcgcaggctcggttagggtaagaacatttatatgt
+ataaatttgagcctggcttatcgccgggcttttttatggcaaaaaaaagcggatcctgga
+gatccgcaaaagttcacgttggctttagttattcgagttgagaaactctcgaaacgggca
+gtgacttcaagggttaaaagaggtgccgctccgtttctgtgagcaattatcagtcagaat
+gcttgatagggataatcgttcattgctattctacctatcgccatgaactatcgtggcgat
+ggaggatggataatgaatattcgtgatcttgagtacctggtggcattggctgaacaccgc
+cattttcggcgtgcggcagattcctgccacgttagccagccgacgcttagcgggcaaatt
+cgtaagctggaagatgagctgggcgtgatgttgctggagcggaccagccgtaaagtgttg
+ttcacccaggcgggaatgctgctggtggatcaggcgcgtaccgtgctgcgtgaggtgaaa
+gtccttaaagagatggcaagccagcagggcgagacgatgtccggaccgctgcacattggt
+ttgattcccacagttggaccgtacctgctaccgcatattatccctatgctgcaccagacc
+tttccaaagctggaaatgtatctgcatgaagcacagacccaccagttactggcgcaactg
+gacagcggcaaactcgattgcgtgatcctcgcgctggtgaaagagagcgaagcattcatt
+gaagtgccgttgtttgatgagccaatgttgctggctatctatgaagatcacccgtgggcg
+aaccgcgaatgcgtaccgatggccgatctggcaggggaaaaactgctgatgctggaagat
+ggtcactgtttgcgcgatcaggcaatgggtttctgttttgaagccggggcggatgaagat
+acacacttccgcgcgaccagcctggaaactctgcgcaacatggtggcggcaggtagcggg
+atcactttactgccagcgctggctgtgccgccggagcgcaaacgcgatggggttgtttat
+ctgccgtgcattaagccggaaccacgccgcactattggcctggtttatcgtcctggctca
+ccgctgcgcagccgctatgagcagctggcagaggccatccgcgcaagaatggatggccat
+ttcgataaagttttaaaacaggcggtttaaaccgtttaacgcagctacccgataggcttc
+cgccatcgtcgggtagttaaaggtggtgttgacgaagtactcaatagtgttgccgccacc
+tttctgttccataatcgcctgaccgatatgaataatttcggcagcgcgctcgccaaagca
+gtgaatacccagaatctcttttgtttcccgatggaacaaaattttcagcgtgcccacgtt
+catgccgacgatttgtgcgcgtgccagatgtttaaactgggcgcggcccacttcatatgg
+cactttcattgcggtcagctgctgttcggttttgcccacagagctgatttccgggatggt
+gtaaataccggtagggatatcttcaatcagatgtgcggtggcttcgccttttaccagcgc
+ctgcgcggcaatgcgcccctggtcataggccgccgacgccaggctcggataaccaatcac
+gtcgcccaccgcgtaaacgtgtggctgtgcggtctgatacatgctgttgaccttcagctg
+tccgcggctgtcagtttctagcccaatgttctgtaacgccagcgaatcggtattaccggt
+gcgaccgttggcatagagcaggcagtcagctttcagttttttacccgacttcagatgcat
+gatcacaccatcgtcacagccttcgatcttctcgtactcttcgttgtgacgaatcactac
+gccactgttccagaagtgataggagagagaatctgacatctcttgatcgagaaatgccag
+caggcgatcgcgggtgttgatcagatccacttttacatccataccgcggaagatcgacgc
+atattcacagccgatcactccagcaccatagataagtacatggcgcggttcgtggtgcat
+gctgagaattgagtcgctgtcgtaaatgcgtggatgggtgaaatcaacatctgttggatg
+atatggacgagagccgcaggcaataacaaatttttcagcggttagtgtttcaacgctgcc
+gtccgggcaatccagcgccaacgtatgctcgtcaacaaagcgagcgtttccctgcaatat
+ttcacagtgattacgttcgtaaaatccctgacgcatgcgcgtttgttgattaatcacgtt
+atcggcatggttaaggatatcggcaaaagaagagcggagcagtcgggaatggtcgctgta
+aagtgggttttgattgaattctataatgcggctgacggcgtgacggagagctttcgacgg
+gatggtgccccagtgggtgcaaccgccgccaacattttgataacgctcgataactgcgac
+gcgcgcaccttgcttaaccaggcccattgcagcgccttcgccgccggggccggaacctat
+tactatggcatcgtaatcgtaggaatgtggcatggtagggcttacctgttcttatacata
+aaagcaacagaatggtaacattttatcgcgggtaagccaattgatccccgtcatttatct
+ggctatatcctgagcggcctttgctttgtctgtttcttacttttgccctgacgttttatt
+ggatttttatcgacgatactctccgtttaagcggcaggtttccgctgtacgtaaaagaac
+cggccaaagaattgcagtaaatatgttttattgcgttaccgttcattcacaatactggag
+caatccagtatgttcattctctggtatagtgccagcagtacttttggcaaggattcagac
+atcgtgatgggcgtaagagcgcaacaaaaagaaaaaacccgccgttcgctggtggaagcc
+gcatttagccaattaagtgctgaacgcagcttcgccagcctgagtttgcgtgaagtggcg
+cgtgaagcgggcattgctcccacctctttttatcggcatttccgcgacgtagacgaactg
+ggtctgaccatggttgatgagagcggtttaatgctacgccaactcatgcgccaggcgcgt
+cagcgtatcgccaaaggcgggagtgtgatccgcacctcggtctccacatttatggagttc
+atcggtaataatcctaacgccttccggttattattgcgggaacgctccggcacctccgct
+gcgtttcgtgccgccgttgcgcgtgaaattcagcacttcattgcggaacttgcggactat
+ctggaactcgaaaaccatatgccgcgtgcgtttactgaagcgcaagccgaagcaatggtg
+acaattgtcttcagtgcgggtgccgaggcgttggacgtcggcgtcgaacaacgtcggcaa
+ttagaagagcgactggtactgcaactgcgaatgatttcgaaaggggcttattactggtat
+cgccgtgaacaagagaaaaccgcaattattccgggaaatgtgaaggacgagtaatgaaac
+aagcaaatcaagatagaggtacgctgctgctggcgttagttgctggcttatcgattaatg
+gtactttcgcagcgctgtttagctccattgtgccattttctgtattcccgattatttccc
+tggtgctgacggtttactgcctgcatcaacgttatcttaatcgcactatgccggtaggct
+tgccgggtctggcagctgcctgttttattctcggcgtactgctgtacagcacggtagttc
+gtgcggaatatccggatatcggctctaacttcttcccggcagtactctccgtcattatgg
+tgttctggattggcgcgaagatgcgtaaccgtaagcaggaagttgctgagtaatcggtat
+tatgccggatgctggcgcatccggcatgggttttacttcgcggtcagtaatacgccgcac
+tccatatggtgcgtgtaggggaactgatcaaacagagccagacgttcgaccttgtgcgtc
+tggcttaatgtttccagattcttgcataacgtttccgggttacaggagatgtacaaaata
+cgcggatacgcctgcaccattttctcggtttcactgtccagaccgctgcgcggagggtcg
+acaaaaatggtttcgcactgataactctttaagtcgatcccttgcaggcggttaaactcg
+cgcacaccattcatcgcctgagtaaattcttctgccgccatacgaataatttgtacgtta
+tcaatatggttagctgcgatgttgtattgcgcagcagcaaccgacggcttagcgatttcg
+gtggctaatacccgatcaaaattacgcgccagcgctaatgaaaagttaccgttgccgcag
+tacagctccagtaaatcgccttttgagcctttggttacgtccagcgcccattccagcatc
+tgaatattcatcgccgcgttcggctgggtaaagctgttttctacctgacggtagatcatc
+tctttccctgcgaccggcagacgttcatcgatgtaatcctgatccagctcgattttggtt
+ttcgttgcccgaccaatcagatgcacattcagattctgcgcgcgcagtgcatcgcgcagg
+gcctccgcttcctgacgccactcatcatccagcttcttatggtatagcagggaaaccacc
+gcctgattactcagtgtagtgaggtaatcaatctggaacaacttgtggcgcagaacggga
+ttattacgcacacccgcaatcatcgccgtcatcaactggttgataagttcactggcggcg
+gggaagctatccacgcggatgcggcttttggtttgttgatcgaaaatgatgtgatacagg
+tcatcgccatcgtgccagatgcggaactccgcgcgcatccggtaatgactgaccggcgag
+cgaaacacttccggaaccaggtcagaaaacggtgccatcatactttgcaaacgtaccact
+ttttcggctaactgcgcttcatactgttctgttggaaggtgttcgggggtcatgatgtat
+cctgaaaaattaaagtacgcggcgattgtagggattgctcatcagatgtccagatcttga
+tgaattcctatttgtgagctacgtctggacagtaacttgttacaacctgtagcatccact
+tgccggtcctgtgagttaatagggaatccagtgcgaatctggagctgacgcgcagcggta
+aggaaaggtgcgatgattgcgttatgcggacactgccattcggtgggaagtcatcatctc
+ttagtatcttagatacccctccaagcccgaagacctgccggccaacgtcgcatctggttc
+tcatcatcgcgtaatattgatgaaacctgcggcatccttcttctattgtggatgctttac
+aatgattaaaaaagcttcgctgctgacggcgtgttccgtcacggcattttccgcttgggc
+acaggataccagcccggatactctcgtcgttactgctaaccgttttgaacagccgcgcag
+cactgtgcttgcaccaaccaccgttgtgacccgtcaggatatcgaccgctggcagtcgac
+ctcggtcaatgatgtgctgcgccgtcttccgggcgtcgatatcacccaaaacggcggttc
+aggtcagctctcatctatttttattcgcggtacaaatgccagtcatgtgttggtgttaat
+tgatggcgtacgcctgaatctggcgggggtgagtggttctgccgaccttagccagttccc
+tattgcgcttgtccagcgtgttgaatatatccgtgggccgcgctccgctgtttatggttc
+cgatgcaataggcggggtggtgaatatcatcacgacgcgcgatgaacccggaacggaaat
+ttcagcagggtggggaagcaatagttatcagaactatgatgtctctacgcagcaacaact
+gggggataagacacgggtaacgctgttgggcgattatgcccatactcatggttatgatgt
+tgttgcctatggtaataccggaacgcaagcgcagacagataacgatggttttttaagtaa
+aacgctttatggcgcgctggagcataactttactgatgcctggagcggctttgtgcgcgg
+ctatggctatgataaccgtaccaattatgacgcgtattattctcccggttcaccgttgct
+cgatacccgtaaactctatagccaaagttgggacgccgggctgcgctataacggcgaact
+gattaaatcacaactcattaccagctatagccatagcaaagattacaactacgatcccca
+ttatggtcgttatgattcgtcggcgacgctcgatgagatgaagcaatacaccgtccagtg
+ggcaaacaatgtcatcgttggtcacggtagtattggtgcgggtgtcgactggcagaaaca
+gactacgacgccgggtacaggttatgttgaggatggatatgatcaacgtaataccggcat
+ctatctgaccgggctgcaacaagtcggcgattttacctttgaaggcgcagcacgcagtga
+cgataactcacagtttggtcgtcatggaacctggcaaaccagcgccggttgggaattcat
+cgaaggttatcgcttcattgcttcctacgggacatcttataaggcaccaaatctggggca
+actgtatggcttctacggaaatccgaatctggacccggagaaaagcaaacagtgggaagg
+cgcgtttgaaggcttaaccgctggggtgaactggcgtatttccggatatcgtaacgatgt
+cagtgacttgatcgattatgatgatcacaccctgaaatattacaacgaagggaaagcgcg
+gattaagggcgtcgaggcgaccgccaattttgataccggaccactgacgcatactgtgag
+ttatgattatgtcgatgcgcgcaatgcgattaccgacacgccgttgttacgccgtgctaa
+acagcaggtgaaataccagctcgactggcagttgtatgacttcgactggggtattactta
+tcagtatttaggcactcgctatgataaggattactcatcttatccttatcaaaccgttaa
+aatgggcggtgtgagcttgtgggatcttgcggttgcgtatccggtcacctctcacctgac
+agttcgtggtaaaatagccaacctgttcgacaaagattatgagacagtctatggctacca
+aactgcaggacgggaatacaccttgtctggcagctacaccttctgaaccacgtcccaccg
+tgctggtgtttgactccggcgtcggtgggttgtcggtctatgacgagatccggcatctct
+taccggatctccattacatttatgctttcgataacgtcgctttcccgtatggcgaaaaaa
+gcgaagcgtttattgttgagcgagtggtggcaattgtcaccgcggtgcaagaacgttatc
+cccttgcgctggctgtggtcgcttgcaacactgccagtaccgtttcacttcctgcattac
+gcgaaaagttcgacttcccggttgttggtgtcgtgccggcgattaaacctgctgcacgtc
+tgacggcaaatggcattgtcggattactggcaacccgcggaacagttaaacgttcttata
+ctcatgagctgatcgcgcgtttcgctaatgaatgccagatagaaatgctgggctcggcag
+agatggttgagttggctgaagcgaagctacatggcgaagatgtttctctggatgcactaa
+aacgtatcctacgcccgtggttaagaatgaaagagccgccagataccgttgtattgggtt
+gcacccatttccctctactacaagaagaactgttacaagtgctgccagagggaacccggc
+tggtggattctggcgcagcgattgctcgccgaacggcctggttgttagaacatgaagccc
+cggatgcaaaatctgccgatgcgaatattgccttttgtatggcaatgacgccaggagctg
+aacaattattgcccgttttacagcgttacggcttcgaaacgctcgaaaaactggcagttt
+taggctgatttggttgaatgttgcgcggtcagaaaattattttaaatttcctcttgtcag
+gccggaataactccctataatgcgccaccactgacacggaacaacggcaaacacgccgcc
+gggtcagcggggttctcctgagaactccggcagagaaagcaaaaataaatgcttgactct
+gtagcgggaaggcgtattatgcacaccccgcgccgctgagaaaaagcgaagcggcactgc
+tctttaacaatttatcagacaatctgtgtgggcactcgaagatacggattcttaacgtcg
+caagacgaaaaatgaataccaagtctcaagagtgaacacgtaattcattacgaagtttaa
+ttctttgagcgtcaaacttttaaattgaagagtttgatcatggctcagattgaacgctgg
+cggcaggcctaacacatgcaagtcgaacggtaacaggaagaagcttgcttctttgctgac
+gagtggcggacgggtgagtaatgtctgggaaactgcctgatggagggggataactactgg
+aaacggtagctaataccgcataacgtcgcaagaccaaagagggggaccttcgggcctctt
+gccatcggatgtgcccagatgggattagctagtaggtggggtaacggctcacctaggcga
+cgatccctagctggtctgagaggatgaccagccacactggaactgagacacggtccagac
+tcctacgggaggcagcagtggggaatattgcacaatgggcgcaagcctgatgcagccatg
+ccgcgtgtatgaagaaggccttcgggttgtaaagtactttcagcggggaggaagggagta
+aagttaatacctttgctcattgacgttacccgcagaagaagcaccggctaactccgtgcc
+agcagccgcggtaatacggagggtgcaagcgttaatcggaattactgggcgtaaagcgca
+cgcaggcggtttgttaagtcagatgtgaaatccccgggctcaacctgggaactgcatctg
+atactggcaagcttgagtctcgtagaggggggtagaattccaggtgtagcggtgaaatgc
+gtagagatctggaggaataccggtggcgaaggcggccccctggacgaagactgacgctca
+ggtgcgaaagcgtggggagcaaacaggattagataccctggtagtccacgccgtaaacga
+tgtcgacttggaggttgtgcccttgaggcgtggcttccggagctaacgcgttaagtcgac
+cgcctggggagtacggccgcaaggttaaaactcaaatgaattgacgggggcccgcacaag
+cggtggagcatgtggtttaattcgatgcaacgcgaagaaccttacctggtcttgacatcc
+acggaagttttcagagatgagaatgtgccttcgggaaccgtgagacaggtgctgcatggc
+tgtcgtcagctcgtgttgtgaaatgttgggttaagtcccgcaacgagcgcaacccttatc
+ctttgttgccagcggtccggccgggaactcaaaggagactgccagtgataaactggagga
+aggtggggatgacgtcaagtcatcatggcccttacgaccagggctacacacgtgctacaa
+tggcgcatacaaagagaagcgacctcgcgagagcaagcggacctcataaagtgcgtcgta
+gtccggattggagtctgcaactcgactccatgaagtcggaatcgctagtaatcgtggatc
+agaatgccacggtgaatacgttcccgggccttgtacacaccgcccgtcacaccatgggag
+tgggttgcaaaagaagtaggtagcttaaccttcgggagggcgcttaccactttgtgattc
+atgactggggtgaagtcgtaacaaggtaaccgtaggggaacctgcggttggatcacctcc
+ttaccttaaagaagcgtactttgtagtgctcacacagattgtctgatagaaagtgaaaag
+caaggcgtttacgcgttgggagtgaggctgaagagaataaggccgttcgctttctattaa
+tgaaagctcaccctacacgaaaatatcacgcaacgcgtgataagcaattttcgtgtcccc
+ttcgtctagaggcccaggacaccgccctttcacggcggtaacaggggttcgaatccccta
+ggggacgccacttgctggtttgtgagtgaaagtcgccgaccttaatatctcaaaactcat
+cttcgggtgatgtttgagatatttgctctttaaaaatctggatcaagctgaaaattgaaa
+cactgaacaacgagagttgttcgtgagtctctcaaattttcgcaacacgatgatgaatcg
+aaagaaacatcttcgggttgtgaggttaagcgactaagcgtacacggtggatgccctggc
+agtcagaggcgatgaaggacgtgctaatctgcgataagcgtcggtaaggtgatatgaacc
+gttataaccggcgatttccgaatggggaaacccagtgtgtttcgacacactatcattaac
+tgaatccataggttaatgaggcgaaccgggggaactgaaacatctaagtaccccgaggaa
+aagaaatcaaccgagattcccccagtagcggcgagcgaacggggagcagcccagagcctg
+aatcagtgtgtgtgttagtggaagcgtctggaaaggcgcgcgatacagggtgacagcccc
+gtacacaaaaatgcacatgctgtgagctcgatgagtagggcgggacacgtggtatcctgt
+ctgaatatggggggaccatcctccaaggctaaatactcctgactgaccgatagtgaacca
+gtaccgtgagggaaaggcgaaaagaaccccggcgaggggagtgaaaaagaacctgaaacc
+gtgtacgtacaagcagtgggagcacgcttaggcgtgtgactgcgtaccttttgtataatg
+ggtcagcgacttatattctgtagcaaggttaaccgaataggggagccgaagggaaaccga
+gtcttaactgggcgttaagttgcagggtatagacccgaaacccggtgatctagccatggg
+caggttgaaggttgggtaacactaactggaggaccgaaccgactaatgttgaaaaattag
+cggatgacttgtggctgggggtgaaaggccaatcaaaccgggagatagctggttctcccc
+gaaagctatttaggtagcgcctcgtgaattcatctccgggggtagagcactgtttcggca
+agggggtcatcccgacttaccaacccgatgcaaactgcgaataccggagaatgttatcac
+gggagacacacggcgggtgctaacgtccgtcgtgaagagggaaacaacccagaccgccag
+ctaaggtcccaaagtcatggttaagtgggaaacgatgtgggaaggcccagacagccagga
+tgttggcttagaagcagccatcatttaaagaaagcgtaatagctcactggtcgagtcggc
+ctgcgcggaagatgtaacggggctaaaccatgcaccgaagctgcggcagcgacgcttatg
+cgttgttgggtaggggagcgttctgtaagcctgcgaaggtgtgctgtgaggcatgctgga
+ggtatcagaagtgcgaatgctgacataagtaacgataaagcgggtgaaaagcccgctcgc
+cggaagaccaagggttcctgtccaacgttaatcggggcagggtgagtcgacccctaaggc
+gaggccgaaaggcgtagtcgatgggaaacaggttaatattcctgtacttggtgttactgc
+gaaggggggacggagaaggctatgttggccgggcgacggttgtcccggtttaagcgtgta
+ggctggttttccaggcaaatccggaaaatcaaggctgaggcgtgatgacgaggcactacg
+gtgctgaagcaacaaatgccctgcttccaggaaaagcctctaagcatcaggtaacatcaa
+atcgtaccccaaaccgacacaggtggtcaggtagagaataccaaggcgcttgagagaact
+cgggtgaaggaactaggcaaaatggtgccgtaacttcgggagaaggcacgctgatatgta
+ggtgaggtccctcgcggatggagctgaaatcagtcgaagataccagctggctgcaactgt
+ttattaaaaacacagcactgtgcaaacacgaaagtggacgtatacggtgtgacgcctgcc
+cggtgccggaaggttaattgatggggttagcgcaagcgaagctcttgatcgaagccccgg
+taaacggcggccgtaactataacggtcctaaggtagcgaaattccttgtcgggtaagttc
+cgacctgcacgaatggcgtaatgatggccaggctgtctccacccgagactcagtgaaatt
+gaactcgctgtgaagatgcagtgtacccgcggcaagacggaaagaccccgtgaaccttta
+ctatagcttgacactgaacattgagccttgatgtgtaggataggtgggaggctttgaagt
+gtggacgccagtctgcatggagccgaccttgaaataccaccctttaatgtttgatgttct
+aacgttgacccgtaatccgggttgcggacagtgtctggtgggtagtttgactggggcggt
+ctcctcctaaagagtaacggaggagcacgaaggttggctaatcctggtcggacatcagga
+ggttagtgcaatggcataagccagcttgactgcgagcgtgacggcgcgagcaggtgcgaa
+agcaggtcatagtgatccggtggttctgaatggaagggccatcgctcaacggataaaagg
+tactccggggataacaggctgataccgcccaagagttcatatcgacggcggtgtttggca
+cctcgatgtcggctcatcacatcctggggctgaagtaggtcccaagggtatggctgttcg
+ccatttaaagtggtacgcgagctgggtttagaacgtcgtgagacagttcggtccctatct
+gccgtgggcgctggagaactgaggggggctgctcctagtacgagaggaccggagtggacg
+catcactggtgttcgggttgtcatgccaatggcactgcccggtagctaaatgcggaagag
+ataagtgctgaaagcatctaagcacgaaacttgccccgagatgagttctccctgaccctt
+taagggtcctgaaggaacgttgaagacgacgacgttgataggccgggtgtgtaagcgcag
+cgatgcgttgagctaaccggtactaatgaaccgtgaggcttaaccttacaacgccgaagc
+tgttttggcggatgagagaagattttcagcctgatacagattaaatcagaacgcagaagc
+ggtctgataaaacagaatttgcctggcggcagtagcgcggtggtcccacctgaccccatg
+ccgaactcagaagtgaaacgccgtagcgccgatggtagtgtggggtctccccatgcgaga
+gtagggaactgccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcg
+ttttatctgttgtttgtcggtgaacgctctcctgagtaggacaaatccgccgggagcgga
+tttgaacgttgcgaagcaacggcccggagggtggcgggcaggacgcccgccataaactgc
+caggcatcaaattaagcagaaggccatcctgacggatggcctttttgcgtttctacaaac
+tcttcctgtcgtcatatctacaagccatccccccacagatacggtaaactagcctcgttt
+ttgcatcaggaaagcagctatgaaccactccttaaaaccctggaacacatttggcattga
+tcataatgctcagcacattgtatgtgccgaagacgaacaacaattactcaatgcctggca
+gtatgcaaccgcagaaggacaacccgttcttattctgggtgaaggaagtaatgtactttt
+tctggaggactatcgcggcacggtgatcatcaaccggatcaaaggtatcgaaattcatga
+tgaacctgatgcgtggtatttacatgtaggagccggagaaaactggcatcgtctggtaaa
+atacactttgcaggaaggtatgcctggtctggaaaatctggcattaattcctggttgtgt
+cggctcatcacctatccagaatattggtgcttatggcgtagaattacagcgagtttgcgc
+ttatgttgattctgttgaactggcgacaggcaagcaagtgcgcttaactgccaaagagtg
+ccgttttggctatcgcgacagtatttttaaacatgaataccaggaccgcttcgctattgt
+agccgtaggtctgcgtctgccaaaagagtggcaacctgtactaacgtatggtgacttaac
+tcgtctggatcctacaacagtaacgccacagcaagtatttaatgcggtgtgtcatatgcg
+caccaccaaactccctgatccaaaagtgaatggcaatgccggtagtttcttcaaaaaccc
+tgttgtatctgccgaaacggctaaagcattactgtcacaatttccaacagcaccaaatta
+cccccaggcggatggttcagtaaaactggcagcaggttggcttatcgatcagtgccagct
+aaaagggatgcaaataggtggggctgcggtgcaccgtcaacaggcgttagttctcattaa
+tgaagacaatgcaaaaagcgaagatgttgtacagctggcgcatcatgtaagacagaaagt
+tggtgaaaaatttaatgtctggcttgagcctgaagtccgctttattggtgcatcaggtga
+agtgagcgcagtggagacaatttcatgaaggataacaccgtgccactgaaattgattgcc
+ctgttagcgaacggtgaatttcactctggcgagcagttgggtgaaacgctgggaatgagc
+cgggcggctattaataaacacattcagacactgcgtgactggggcgttgatgtctttacc
+gttccgggtaaaggatacagcctgcctgagcctatccagttacttaatgctaaacagata
+ttgggtcagctggatggcggtagtgtagccgtgctgccagtgattgactccacgaatcag
+taccttcttgatcgtatcggagagcttaaatcgggcgatgcttgcattgcagaataccag
+caggctggccgtggtcgccggggtcggaaatggttttcgccttttggcgcaaacttatat
+ttgtcgatgttctggcgtctggaacaaggcccggcggcggcgattggtttaagtctggtt
+atcggtatcgtgatggcggaagtattacgcaagctgggtgcagataaagttcgtgttaaa
+tggcctaatgacctctatctgcaggatcgcaagctggcaggcattctggtggagctgact
+ggcaaaactggcgatgcggcgcaaatagtcattggagccgggatcaacatggcaatgcgc
+cgtgttgaagagagtgtcgttaatcaggggtggatcacgctgcaggaagcggggatcaat
+ctcgatcgtaatacgttggcggccatgctaatacgtgaattacgtgctgcgttggaactc
+ttcgaacaagaaggattggcaccttatctgtcgcgctgggaaaagctggataattttatt
+aatcgcccagtgaaacttatcattggtgataaagaaatatttggcatttcacgcggaata
+gacaaacagggggctttattacttgagcaggatggaataataaaaccctggatgggcggt
+gaaatatccctgcgtagtgcagaaaaataagaaaggggagtattcgctcccctgcaaatt
+atttgcgtagtctgacctcttctaccgcatgattagcacttttcgtcaggattaaactgg
+cgcgctcacgagtaggtagaatattttgctttaagttcagccagttgatctctttccaca
+atgtcatggcagtcttaatcgcttcttctttagttaatttcgcgtagttatgaaaatagg
+aatccgggtcggtaaaagccccttcgcggaatttcagaaaacggttgatataccatgtct
+gaagtaagtcttccggtgcatcaacatatatcgaaaaatcgacaaaatcagaaacaaata
+catgatgtggatcgtgtggataatccatcccgctctgtaagacatttaacccttcaagaa
+ttaaaatatcaggctgaacaaccgttttatctccatccgggatcacatcataaataagat
+gtgagtaaacaggtgctgtaacgtttggcacgccggatttgagatcggaaacaaacttca
+ccaggcgatgcatatcatacgattccgggaagcctttcttcttcatcagaccacgttctt
+tcagaacctgattagggtgaaggaagccatctgtagtgatcagttcaacacgacgatgtt
+ccggccaacggcttaatagcgcctgcaatacacgggcggttgtacttttccccaccgcga
+cactgccagcaatactgataatgtaaggaatgcgttgcccgttggtaccaagaaactgtt
+ccagaactgcctgacggcgcagattcgagcttatatagaagttcagcaaacgtgacaaag
+gtaaatagatctcggcaacttcttctaacgagagatcttcattaatacctttgagacggg
+cgatctcatcttccgataacgtcataggtacggaatcacgcagagctgcccactggttgc
+ggtcaaactgtaggtaaggcgtcattaacgtttgctcttttatactcataagcatgtttc
+tggcggtcatagctctatcggcaaagcgatatttgccatggcgcgtcacagttctgttga
+atgggttaatgggcaggagggtaacaccagatggggaggaataataagaaaaaatctctg
+ccaggaagctatcgttgaaaagcaatgtgacagatattccatctgataaaaagaattatg
+gtttagcaggagcgcattgttgagcacaatgatgttgaaaaagtgtgctaatctgccctc
+cgttcggctgtttcttcatcgtgtcgcataaaatgtgaccaataaaacaaattatgcaat
+tttttagttgcatgaactcgcatgtctccatagaatgcgcgctacttgatgccgacttag
+ctcagtaggtagagcaactgacttgtaatcagtaggtcaccagttcgattccggtagtcg
+gcaccatcaagtccggtggggttcccgagcggccaaagggagcagactgtaaatctgccg
+tcacagacttcgaaggttcgaatccttcccccaccaccaatttcggccacgcgatggcgt
+agcccgagacgataagttcgcttaccggctcgaataaagagagcttctctcgatattcag
+tgcagaatgaaaatcaggtagccgagttccaggatgcgggcatcgtataatggctattac
+ctcagccttccaagctgatgatgcgggttcgattcccgctgcccgctccaagatgtgctg
+atatagctcagttggtagagcgcacccttggtaagggtgaggtcggcagttcgaatctgc
+ctatcagcaccacttcttttctcctccctgttttttccttctgtttattgcattcaacaa
+gtcgggcatgttgcctggttgatgtggtgatatcaccgatttatccgtgtcttagaggga
+caatcgatgtctaaagaaaagtttgaacgtacaaaaccgcacgttaacgtcggtactatc
+ggccacgttgaccatggtaaaacaacgctgaccgctgcaatcactaccgtactggctaaa
+acctacggcggtgctgctcgcgcattcgaccagatcgataacgcgccggaagaaaaagct
+cgtggtatcaccatcaacacttctcacgttgaatacgacaccccgacccgtcactacgca
+cacgtagactgcccggggcacgccgactatgttaaaaacatgatcaccggtgctgcgcag
+atggacggcgcgatcctggtagttgctgcgactgacggcccgatgccgcagactcgtgag
+cacatcctgctgggtcgtcaggtaggcgttccgtacatcatcgtgttcctgaacaaatgc
+gacatggttgatgacgaagagctgctggaactggttgaaatggaagttcgtgaacttctg
+tctcagtacgacttcccgggcgacgacactccgatcgttcgtggttctgctctgaaagcg
+ctggaaggcgacgcagagtgggaagcgaaaatcctggaactggctggcttcctggattct
+tacattccggaaccagagcgtgcgattgacaagccgttcctgctgccgatcgaagacgta
+ttctccatctccggtcgtggtaccgttgttaccggtcgtgtagaacgcggtatcatcaaa
+gttggtgaagaagttgaaatcgttggtatcaaagagactcagaagtctacctgtactggc
+gttgaaatgttccgcaaactgctggacgaaggccgtgctggtgagaacgtaggtgttctg
+ctgcgtggtatcaaacgtgaagaaatcgaacgtggtcaggtactggctaagccgggcacc
+atcaagccgcacaccaagttcgaatctgaagtgtacattctgtccaaagatgaaggcggc
+cgtcatactccgttcttcaaaggctaccgtccgcagttctacttccgtactactgacgtg
+actggtaccatcgaactgccggaaggcgtagagatggtaatgccgggcgacaacatcaaa
+atggttgttaccctgatccacccgatcgcgatggacgacggtctgcgtttcgcaatccgt
+gaaggcggccgtaccgttggcgcgggcgttgtagcaaaagttctgagctaattgccgata
+acatttgacgcaatgcgcactaaaagggcatcatttgatgccctttttgcacgctttcgt
+accagaacctggctcatcagtgattttctttgtcataatcattgctgagacaggctctgt
+tgagggcgtataatccgaaaagctaatacgcgtttcgatttggtttgcctcgcgatcgcg
+gggtgaaaatgtttgtagaaaacttctgacaggttggtttatgagtgcgaataccgaagc
+tcaaggaagcgggcgcggcctggaagcgatgaagtgggtcgttgtggtggcattgctcct
+ggtggcgattgtcggcaactatctttatcgcgacattatgctgccgctgcgtgcgctggc
+cgtagtaattctgattgctgcagcgggtggtgtcgcgctgttaacgacaaaaggtaaagc
+taccgttgcttttgcccgtgaagcgcgtaccgaagtccgtaaggtcatttggccgactcg
+ccaggaaacattgcacaccacgctgattgtggctgcggttaccgcagtaatgtcactgat
+cctgtggggactggatggtattctggttcgcctggtatcctttatcactggcctgaggtt
+ctgagatgtctgaagctcctaaaaagcgctggtacgtcgttcaggcgttttccggttttg
+aaggccgcgtagcaacgtcgctgcgtgagcatatcaaattacacaacatggaagatttgt
+ttggtgaagtcatggtaccaaccgaagaagtggttgaaatccgtggcggtcagcgtcgca
+aaagcgaacgtaaattcttccctggctacgtcctcgttcagatggtgatgaacgacgcga
+gctggcacctggtgcgcagcgtaccgcgtgtgatgggcttcatcggcggtacttccgatc
+gtcctgcgccaatcagcgataaagaagtcgatgcgattatgaaccgcctgcagcaggttg
+gtgataagccgcgtccgaaaacgctgtttgaaccgggtgaaatggtccgtgttaatgatg
+gtccgttcgctgacttcaacggtgttgttgaagaagtggattacgagaaatctcgtctga
+aagtgtctgtttctatcttcggtcgtgcgaccccggtagagctggacttcagccaggttg
+aaaaagcctaacccagcgatcaaaaaagcggcgatttaatcgttgcacaaggcgtgagat
+tggaatacaatttcgcgccttttgtttttatgggccttgcccgtaaaacgattttttata
+tcacggggagcctctcagaggcgttattacccaacttgaggaatttataatggctaagaa
+agtacaagcctatgtcaagctgcaggttgcagctggtatggctaacccgagtccgccagt
+aggtccggctctgggtcagcagggcgtaaacatcatggaattctgcaaagcgttcaacgc
+aaaaactgattccatcgaaaaaggtctgccgattccggtagtaatcaccgtttacgctga
+ccgttctttcactttcgttaccaagaccccgccggcagcagttctgctgaaaaaagcggc
+tggtatcaagtctggttccggtaagccgaacaaagacaaagtgggtaaaatttcccgcgc
+tcagctgcaggaaatcgcgcagaccaaagctgccgacatgactggtgccgacattgaagc
+gatgactcgctccatcgaaggtactgcacgttccatgggcctggtagtggaggactaaga
+aatggctaaactgaccaagcgcatgcgtgttatccgcgagaaagttgatgcaaccaaaca
+gtacgacatcaacgaagctatcgcactgctgaaagagctggcgactgctaaattcgtaga
+aagcgtggacgtagctgttaacctcggcatcgacgctcgtaaatctgaccagaacgtacg
+tggtgcaactgtactgccgcacggtactggccgttccgttcgcgtagccgtatttaccca
+aggtgcaaacgctgaagctgctaaagctgcaggcgcagaactggtaggtatggaagatct
+ggctgaccagatcaagaaaggcgaaatgaactttgacgttgttattgcttctccggatgc
+aatgcgcgttgttggccagctgggccaggttctgggtccgcgcggcctgatgccaaaccc
+gaaagtgggtactgtaacaccgaacgttgctgaagcggttaaaaacgctaaagctggcca
+ggttcgttaccgtaacgacaaaaacggcatcatccacaccaccatcggtaaagtggactt
+tgacgctgacaaactgaaagaaaacctggaagctctgctggttgcgctgaaaaaagcaaa
+accgactcaggcgaaaggcgtgtacatcaagaaagttagcatctccaccaccatgggtgc
+aggtgttgcagttgaccaggctggcctgagcgcttctgtaaactaatgcctttacgtggg
+cggtgattttgtctacaatcttacccccacgtataatgcttaatgcagacgtatatccga
+gatattcgggttgtggcaaggcggcaactgagtgagtcgccaggagcatagctaactatg
+tgactggtgcgaatgaaggaagccaacgccgtcacaagctgaatagcgacggatagaaaa
+gatttgttcgttggagcctggcctatccaggcctccgtcgaagaccgcaggagtttcgca
+agaaacttaatcccctgcgtagacggtgacagaacgctaagattattcttttatattctg
+gcttgtttctgctcaccgtaattaagacgctctctccgtttggaggagtgaagtgagttc
+cagagattttctctggcaaacatccaggagcaaagctaatggctttaaatcttcaagaca
+aacaagcgattgttgctgaagtcagcgaagtagccaaaggcgcgctgtctgcagtagttg
+cggattcccgtggcgtaactgtagataaaatgactgaactgcgtaaagcaggtcgcgaag
+ctggcgtatacatgcgtgttgttcgtaacaccctgctgcgccgtgctgttgaaggtactc
+cgttcgagtgcctgaaagacgcgtttgttggtccgaccctgattgcatactctatggaac
+acccgggcgctgctgctcgtctgttcaaagagttcgcgaaagcgaatgcaaaatttgagg
+tcaaagccgctgcctttgaaggtgagctgatcccggcgtctcagatcgaccgcctggcaa
+ctctgccgacctacgaagaagcaattgcacgcctgatggcaaccatgaaagaagcttcgg
+ctggcaaactggttcgtactctggctgctgtacgcgatgcgaaagaagctgcttaatcgc
+agttatctttttaacgcattcgcttacgtataaacttattctgatattcaggaacaattt
+aaatgtctatcactaaagatcaaatcattgaagcagttgcagctatgtctgtaatggacg
+ttgtagaactgatctctgcaatggaagaaaaattcggtgtttccgctgctgctgctgtag
+ctgtagctgctggcccggttgaagctgctgaagaaaaaactgaattcgacgtaattctga
+aagctgctggcgctaacaaagttgctgttatcaaagcagtacgtggcgcaactggcctgg
+gtctgaaagaagctaaagacctggtagaatctgcaccggctgctctgaaagaaggcgtga
+gcaaagacgacgcagaagcactgaaaaaagctctggaagaagctggcgctgaagttgaag
+ttaaataagccaacccttccggttgcagcctgagaaatcaggctgatggctggtgacttt
+ttagtcaccagcctttttgcgctgtaaggcgccagtagcgtttcacactgtttgactact
+gctgtgcctttcaatgcttgtttctatcgacgacttaatatactgcgacaggacgtccgt
+tctgtgtaaatcgcaatgaaatggtttaagcgtgatagcaacaggcattgcggaaagtgt
+tccattttccggtcaacaaaatagtgttgcacaaactgtccgctcaatggacagatgggt
+cgacttgtcagcgagctgaggaaccctatggtttactcctataccgagaaaaaacgtatt
+cgtaaggattttggtaaacgtccacaagttctggatgtaccttatctcctttctatccag
+cttgactcgtttcagaaatttatcgagcaagatcctgaagggcagtatggtctggaagct
+gctttccgttccgtattcccgattcagagctacagcggtaattccgagctgcaatacgtc
+agctaccgccttggcgaaccggtgtttgacgtccaggaatgtcaaatccgtggcgtgacc
+tattccgcaccgctgcgcgttaaactgcgtctggtgatctatgagcgcgaagcgccggaa
+ggcaccgtaaaagacattaaagaacaagaagtctacatgggcgaaattccgctcatgaca
+gacaacggtacctttgttatcaacggtactgagcgtgttatcgtttcccagctgcaccgt
+agtccgggcgtcttctttgactccgacaaaggtaaaacccactcttcgggtaaagtgctg
+tataacgcgcgtatcatcccttaccgtggttcctggctggacttcgaattcgatccgaag
+gacaacctgttcgtacgtatcgaccgtcgccgtaaactgcctgcgaccatcattctgcgc
+gccctgaactacaccacagagcagatcctcgacctgttctttgaaaaagttatctttgaa
+atccgtgataacaagctgcagatggaactggtgccggaacgcctgcgtggtgaaaccgca
+tcttttgacatcgaagctaacggtaaagtgtacgtagaaaaaggccgccgtatcactgcg
+cgccacattcgccagctggaaaaagacgacgtcaaactgatcgaagtcccggttgagtac
+atcgcaggtaaagtggttgctaaagactatattgatgagtctaccggcgagctgatctgc
+gcagcgaacatggagctgagcctggatctgctggctaagctgagccagtctggtcacaag
+cgtatcgaaacgctgttcaccaacgatctggatcacggcccatatatctctgaaacctta
+cgtgtcgacccaactaacgaccgtctgagcgcactggtagaaatctaccgcatgatgcgc
+cctggcgagccgccgactcgtgaagcagctgaaagcctgttcgagaacctgttcttctcc
+gaagaccgttatgacttgtctgcggttggtcgtatgaagttcaaccgttctctgctgcgc
+gaagaaatcgaaggttccggtatcctgagcaaagacgacatcattgatgttatgaaaaag
+ctcatcgatatccgtaacggtaaaggcgaagtcgatgatatcgaccacctcggcaaccgt
+cgtatccgttccgttggcgaaatggcggaaaaccagttccgcgttggcctggtacgtgta
+gagcgtgcggtgaaagagcgtctgtctctgggcgatctggataccctgatgccacaggat
+atgatcaacgccaagccgatttccgcagcagtgaaagagttcttcggttccagccagctg
+tctcagtttatggaccagaacaacccgctgtctgagattacgcacaaacgtcgtatctcc
+gcactcggcccaggcggtctgacccgtgaacgtgcaggcttcgaagttcgagacgtacac
+ccgactcactacggtcgcgtatgtccaatcgaaacccctgaaggtccgaacatcggtctg
+atcaactctctgtccgtgtacgcacagactaacgaatacggcttccttgagactccgtat
+cgtaaagtgaccgacggtgttgtaactgacgaaattcactacctgtctgctatcgaagaa
+ggcaactacgttatcgcccaggcgaactccaacttggatgaagaaggccacttcgtagaa
+gacctggtaacttgccgtagcaaaggcgaatccagcttgttcagccgcgaccaggttgac
+tacatggacgtatccacccagcaggtggtatccgtcggtgcgtccctgatcccgttcctg
+gaacacgatgacgccaaccgtgcattgatgggtgcgaacatgcaacgtcaggccgttccg
+actctgcgcgctgataagccgctggttggtactggtatggaacgtgctgttgccgttgac
+tccggtgtaactgcggtagctaaacgtggtggtgtcgttcagtacgtggatgcttcccgt
+atcgttatcaaagttaacgaagacgagatgtatccgggtgaagcaggtatcgacatctac
+aacctgaccaaatacacccgttctaaccagaacacctgtatcaaccagatgccgtgtgtg
+tctctgggtgaaccggttgaacgtggcgacgtgctggcagacggtccgtccaccgacctc
+ggtgaactggcgcttggtcagaacatgcgcgtagcgttcatgccgtggaatggttacaac
+ttcgaagactccatcctcgtatccgagcgtgttgttcaggaagaccgtttcaccaccatc
+cacattcaggaactggcgtgtgtgtcccgtgacaccaagctgggtccggaagagatcacc
+gctgacatcccgaacgtgggtgaagctgcgctctccaaactggatgaatccggtatcgtt
+tacattggtgcggaagtgaccggtggcgacattctggttggtaaggtaacgccgaaaggt
+gaaactcagctgaccccagaagaaaaactgctgcgtgcgatcttcggtgagaaagcctct
+gacgttaaagactcttctctgcgcgtaccaaacggtgtatccggtacggttatcgacgtt
+caggtctttactcgcgatggcgtagaaaaagacaaacgtgcgctggaaatcgaagaaatg
+cagctcaaacaggcgaagaaagacctgtctgaagaactgcagatcctcgaagcgggtctg
+ttcagccgtatccgtgctgtgctggtagccggtggcgttgaagctgagaagctcgacaaa
+ctgccgcgcgatcgctggctggagctgggcctgacagacgaagagaaacaaaatcagctg
+gaacagctggctgagcagtatgacgaactgaaacacgagttcgagaagaaactcgaagcg
+aaacgccgcaaaatcacccagggcgacgatctggcaccgggcgtgctgaagattgttaag
+gtatatctggcggttaaacgccgtatccagcctggtgacaagatggcaggtcgtcacggt
+aacaagggtgtaatttctaagatcaacccgatcgaagatatgccttacgatgaaaacggt
+acgccggtagacatcgtactgaacccgctgggcgtaccgtctcgtatgaacatcggtcag
+atcctcgaaacccacctgggtatggctgcgaaaggtatcggcgacaagatcaacgccatg
+ctgaaacagcagcaagaagtcgcgaaactgcgcgaattcatccagcgtgcgtacgatctg
+ggcgctgacgttcgtcagaaagttgacctgagtaccttcagcgatgaagaagttatgcgt
+ctggctgaaaacctgcgcaaaggtatgccaatcgcaacgccggtgttcgacggtgcgaaa
+gaagcagaaattaaagagctgctgaaacttggcgacctgccgacttccggtcagatccgc
+ctgtacgatggtcgcactggtgaacagttcgagcgtccggtaaccgttggttacatgtac
+atgctgaaactgaaccacctggtcgacgacaagatgcacgcgcgttccaccggttcttac
+agcctggttactcagcagccgctgggtggtaaggcacagttcggtggtcagcgtttcggg
+gagatggaagtgtgggcgctggaagcatacggcgcagcatacaccctgcaggaaatgctc
+accgttaagtctgatgacgtgaacggtcgtaccaagatgtataaaaacatcgtggacggc
+aaccatcagatggagccgggcatgccagaatccttcaacgtattgttgaaagagattcgt
+tcgctgggtatcaacatcgaactggaagacgagtaattctcgctcaaacaggtcactgct
+gtcgggttaaaacccggcagcggattgtgctaactccgacgggagcaaatccgtgaaaga
+tttattaaagtttctgaaagcgcagactaaaaccgaagagtttgatgcgatcaaaattgc
+tctggcttcgccagacatgatccgttcatggtctttcggtgaagttaaaaagccggaaac
+catcaactaccgtacgttcaaaccagaacgtgacggccttttctgcgcccgtatctttgg
+gccggtaaaagattacgagtgcctgtgcggtaagtacaagcgcctgaaacaccgtggcgt
+catctgtgagaagtgcggcgttgaagtgacccagactaaagtacgccgtgagcgtatggg
+ccacatcgaactggcttccccgactgcgcacatctggttcctgaaatcgctgccgtcccg
+tatcggtctgctgctcgatatgccgctgcgcgatatcgaacgcgtactgtactttgaatc
+ctatgtggttatcgaaggcggtatgaccaacctggaacgtcagcagatcctgactgaaga
+gcagtatctggacgcgctggaagagttcggtgacgaattcgacgcgaagatgggggcgga
+agcaatccaggctctgctgaagagcatggatctggagcaagagtgcgaacagctgcgtga
+agagctgaacgaaaccaactccgaaaccaagcgtaaaaagctgaccaagcgtatcaaact
+gctggaagcgttcgttcagtctggtaacaaaccagagtggatgatcctgaccgttctgcc
+ggtactgccgccagatctgcgtccgctggttccgctggatggtggtcgtttcgcgacttc
+tgacctgaacgatctgtatcgtcgcgtcattaaccgtaacaaccgtctgaaacgtctgct
+ggatctggctgcgccggacatcatcgtacgtaacgaaaaacgtatgctgcaggaagcggt
+agacgccctgctggataacggtcgtcgcggtcgtgcgatcaccggttctaacaagcgtcc
+tctgaaatctttggccgacatgatcaaaggtaaacagggtcgtttccgtcagaacctgct
+cggtaagcgtgttgactactccggtcgttctgtaatcaccgtaggtccatacctgcgtct
+gcatcagtgcggtctgccgaagaaaatggcactggagctgttcaaaccgttcatctacgg
+caagctggaactgcgtggtcttgctaccaccattaaagctgcgaagaaaatggttgagcg
+cgaagaagctgtcgtttgggatatcctggacgaagttatccgcgaacacccggtactgct
+gaaccgtgcaccgactctgcaccgtctgggtatccaggcatttgaaccggtactgatcga
+aggtaaagctatccagctgcacccgctggtttgtgcggcatataacgccgacttcgatgg
+tgaccagatggctgttcacgtaccgctgacgctggaagcccagctggaagcgcgtgcgct
+gatgatgtctaccaacaacatcctgtccccggcgaacggcgaaccaatcatcgttccgtc
+tcaggacgttgtactgggtctgtactacatgacccgtgactgtgttaacgccaaaggcga
+aggcatggtgctgactggcccgaaagaagcagaacgtctgtatcgctctggtctggcttc
+tctgcatgcgcgcgttaaagtgcgtatcaccgagtatgaaaaagatgctaacggtgaatt
+agtagcgaaaaccagcctgaaagacacgactgttggccgtgccattctgtggatgattgt
+accgaaaggtctgccttactccatcgtcaaccaggcgctgggtaaaaaagcaatctccaa
+aatgctgaacacctgctaccgcattctcggtctgaaaccgaccgttatttttgcggacca
+gatcatgtacaccggcttcgcctatgcagcgcgttctggtgcatctgttggtatcgatga
+catggtcatcccggagaagaaacacgaaatcatctccgaggcagaagcagaagttgctga
+aattcaggagcagttccagtctggtctggtaactgcgggcgaacgctacaacaaagttat
+cgatatctgggctgcggcgaacgatcgtgtatccaaagcgatgatggataacctgcaaac
+tgaaaccgtgattaaccgtgacggtcaggaagagaagcaggtttccttcaacagcatcta
+catgatggccgactccggtgcgcgtggttctgcggcacagattcgtcagcttgctggtat
+gcgtggtctgatggcgaagccggatggctccatcatcgaaacgccaatcaccgcgaactt
+ccgtgaaggtctgaacgtactccagtacttcatctccacccacggtgctcgtaaaggtct
+ggcggataccgcactgaaaactgcgaactccggttacctgactcgtcgtctggttgacgt
+ggcgcaggacctggtggttaccgaagacgattgtggtacccatgaaggtatcatgatgac
+tccggttatcgagggtggtgacgttaaagagccgctgcgcgatcgcgtactgggtcgtgt
+aactgctgaagacgttctgaagccgggtactgctgatatcctcgttccgcgcaacacgct
+gctgcacgaacagtggtgtgacctgctggaagagaactctgtcgacgcggttaaagtacg
+ttctgttgtatcttgtgacaccgactttggtgtatgtgcgcactgctacggtcgtgacct
+ggcgcgtggccacatcatcaacaagggtgaagcaatcggtgttatcgcggcacagtccat
+cggtgaaccgggtacacagctgaccatgcgtacgttccacatcggtggtgcggcatctcg
+tgcggctgctgaatccagcatccaagtgaaaaacaaaggtagcatcaagctcagcaacgt
+gaagtcggttgtgaactccagcggtaaactggttatcacttcccgtaatactgaactgaa
+actgatcgacgaattcggtcgtactaaagaaagctacaaagtaccttacggtgcggtact
+ggcgaaaggcgatggcgaacaggttgctggcggcgaaaccgttgcaaactgggacccgca
+caccatgccggttatcaccgaagtaagcggttttgtacgctttactgacatgatcgacgg
+ccagaccattacgcgtcagaccgacgaactgaccggtctgtcttcgctggtggttctgga
+ttccgcagaacgtaccgcaggtggtaaagatctgcgtccggcactgaaaatcgttgatgc
+tcagggtaacgacgttctgatcccaggtaccgatatgccagcgcagtacttcctgccggg
+taaagcgattgttcagctggaagatggcgtacagatcagctctggtgacaccctggcgcg
+tattccgcaggaatccggcggtaccaaggacatcaccggtggtctgccgcgcgttgcgga
+cctgttcgaagcacgtcgtccgaaagagccggcaatcctggctgaaatcagcggtatcgt
+ttccttcggtaaagaaaccaaaggtaaacgtcgtctggttatcaccccggtagacggtag
+cgatccgtacgaagagatgattccgaaatggcgtcagctcaacgtgttcgaaggtgaacg
+tgtagaacgtggtgacgtaatttccgacggtccggaagcgccgcacgacattctgcgtct
+gcgtggtgttcatgctgttactcgttacatcgttaacgaagtacaggacgtataccgtct
+gcagggcgttaagattaacgataaacacatcgaagttatcgttcgtcagatgctgcgtaa
+agctaccatcgttaacgcgggtagctccgacttcctggaaggcgaacaggttgaatactc
+tcgcgtcaagatcgcaaaccgcgaactggaagcgaacggcaaagtgggtgcaacttactc
+ccgcgatctgctgggtatcaccaaagcgtctctggcaaccgagtccttcatctccgcggc
+atcgttccaggagaccactcgcgtgctgaccgaagcagccgttgcgggcaaacgcgacga
+actgcgcggcctgaaagagaacgttatcgtgggtcgtctgatcccggcaggtaccggtta
+cgcgtaccaccaggatcgtatgcgtcgccgtgctgcgggtgaagctccggctgcaccgca
+ggtgactgcagaagacgcatctgccagcctggcagaactgctgaacgcaggtctgggcgg
+ttctgataacgagtaatcgttaatccgcaaataacgtaaaaacccgcttcggcgggtttt
+tttatggggggagtttagggaaagagcatttgtcagaatatttaaggaatttctgaatac
+tcataatcaatgtagagatgactaatatcctgaaactgactgaactaattgagtcaaact
+cggcaaggattcgatactattcctgtgtaactttcttaaggaacgagaatgaaacaggaa
+gtggaaaagtggcgaccttttggacatccggatggtgatattcgtgatttatcatttctt
+gatgctcatcaggctgtctacgttcagcatcatgagggcaaagagcctttagagtatcgc
+ttttgggttacctactctcttcactgcttcacaaaagattatgaacatcagacgaacgaa
+gaaaaacaatcgttaatgtaccacgcgcctaaagaatctcgtcccttctgccagcaccgt
+tataacttagcgcgcacacacttaaaaagaactattttggcgctgccagaaagcaacgtt
+attcatgccgggtatggtagctatgccgtgattgaggtggacttagacggaggagataag
+gcattttactttgttgcgttcagggctttcagggaaaagaaaaaactccgtttgcatgta
+actagcgcttatcccatttctgaaaaacagaaaggtaaatcagtgaaatttttcaccatt
+gcctacaacttattgagaaataagcagcttcctcagccctcaaaataacaaaacccacct
+taaggtgggtttcgccagagaattatctctggtattcagaacgccattaccggactttgc
+cttgaccttgcgataatcgcaggttgcgggatgtctgaatttcttcagtctgctgcatcc
+tggaagatgagaacatgtgttcttattttcgtctctatcatagttgagtatttactctct
+tacaatcagatctctttcattgctcaacaggcgatggcttcagactttgcattacggaat
+ttttaagaaaggcagggcgaaacgaggaagaagcttttcgccctggacaacattcctgct
+gacggcactaccataaaaaaacacaacgctttcaacaaccttgcgtttttcatcttccgt
+agcggctcggaataaatttacgttcttacattccgtctcatagtctttgcgaggcgcgtc
+ccagatagctgtcccagtctttccataccggctgcaaaccctgagcggttaacgcggcag
+caaccgcttccggtctgcgatcgtcgtgcggtgagaactgttccaactcggggtgattat
+cggcatagccacctggctgcgttttcgagaaggcgctgacgttattgatcgccagcggaa
+taacgcgatcgcgaaaccacggtgattcccgcgtggagagtgacagttcaatctccggtg
+caagcagtcggaaggcgcagatggtttgcactaactggcgttcatccataatcgacgcag
+gctcaatgccgccagtacacgggcgcaggcgcggaaaggagacagagtaacggctttgcc
+agtaatgctgttgcagccatagcaaatgttcggcaaccatatagctgtcaacgcgccagt
+tgtcggaaaggccaattagcgcgccgaggcctatcttatcaatccccgcacgccccagcc
+gatccggcgtttccagccgccagaagaagtcctgttttttgcctttcagatgatggcggg
+cataagtcgcctcgtgatatgtctcctgataaaccatcacgccatccagaccaagttgct
+ttaactcggcgtattccgtctccgccagcggttgcacttccatctgtagtgaagagaact
+gttcacgaagggcagggagatgacgacgaaagtaatccatccccactttcgcctgatgtt
+caccagtgactaacagcagatgttcaaagcccatctcccgtatagcggcactttccctgg
+caatatccgcttcatccagcgttttgcgcttgatgcgattactcatggaaaatccacagt
+acgtgcagtcgttagcgcaaagattggaaagataaagcgggacgtagaaactaactgtgt
+tgccaaatcgctgacgggtcagacgctgcgcccgttgggccagttgttccagatagccac
+tggcggcaggcgataacagcgccatcatgtcgtcgcgggtgagttgcgaggcatttagcg
+cccgctctacgtcagcagccgttttgccgttgatacgcaggcggatgtcgtcccagtcca
+gttgtcgccagcgatcgctgaaggttttcatgccgatgcctccagaaatccggtcagcgg
+gctggtggcatgagcaaaataactgcggctgcccggtccggactgacgtgccagtaggcc
+tgcttctaccgccagacgaaatgccttcgccatgttgacgggatcgtccgcgacggcaat
+cgccgtattcactaacaccgcgtcggcccccatttccagcgcctgcgcggcatggctggg
+aacgccgatgccagcatcgacaaccaccggcactgtggcctgctggataataatctccag
+catggcgcgggtttccagtccctgattcgagccaatcggcgcgccgagcggcatcaccgc
+tgcacagccgacttcttccagacgtttacacaataccggatcggccccgcagtaaggcag
+cacgacaaatccctgttgtaccagcgtttcggcggctttcagggtttcgatgggatcggg
+caacagccagcgggcgtcagggtgaatctctaattttaaccagtttgtgcctaacgcttc
+acgagccagatgggcggcgaaaatggcttcttccgctgttttcgccccggatgtatttgg
+cagcagggtcacacccgccgcgataagcggttcgaggatagcgtcgttgtgctggcgcaa
+gtcgacacgtttcatcgccagtgtcaccagctggctgccggaagcgcggatcgcctccac
+catcagttgtgaagaagcgaatttccctgtgccggtaaacagatgtgaatcaaacgtttt
+gtccgcaatacgtaacatttcaaccccctgcaataacctgaaaaagcaggatctggtcgc
+catcctgcacgatatgttgcgcccactgctcacgcgggacgatttgctgattaatcgcca
+gagccgcgcccgcttgtcgttggtcgagttgctccagtagttcgtgaacagtttgcccgg
+cggcgcactgcatcgcttgatcgttaaacaggatctgcattgcttcctccgcataccggg
+caaccactggcgcggcgcaacgccaggctgcgccactggctcgatttaccgtcgaacagt
+cggagttctcccgcaggtgtctctataccgcttaataacttaatggcttccagtgcctgc
+aaagtgcccataaccccgaccaccgggccaaccacgcccgccgtgcggcagttgcgttct
+ggctcctggttatctggccacaggcagcggtaacacccctgctcccagggcggcgtcagt
+accatcaactgaccgccaaatccgaccgcgctggcggtgataagcggcgtgttgagtgcc
+acgcaggcggcattaatctcctggcgagtcgccatattgtcggtacagtcgagcaccaca
+tcggcccgtgcaaccgcatcttttaacgcctcacccgttaaccgttgttgtaatgctgtc
+agttgaatgtcgggattcaactgtgtcagtcgctgttggctgacctgcgatttcgggcga
+tcgatatcttcagtggtaaagaggatttgtcgttgcagattgcttaaatgcacatcgtcg
+tcatctgccagtaccagcgtcccgacgccagcgcccgccaggtacagcgcagcaggtgta
+cccagcccgcccagaccgataatcagcacctggctgtcgagcagtttttgctgcccgtcc
+agagcgatatcgtcgagcaggatttggcggctataacgcataaagtcacggtcattcatc
+gccaactcctgcaatttccagcaactgtgccgttgccaaacgccagtctgcggcttgagt
+aatggcgctgacgacggcgatactgccgacacccgttgctatcaccgcaggcgcgcgtgc
+cagactgataccgccaatcgccacggtgggataatccgccagtcgctcaacatgccgtgc
+cagctgttccagcccctgcggtgcagaaggcatctgtttggtttgcgtcgggaacacatg
+tcccagcgcgatataagaggggcgtgctgccagcgcgacgtcgatttccatatcgtcatg
+tgtcgaaacgcccagccgcaggcctgccgcgcggatggcattgagatcggtggcttgcaa
+atcttcctgccccaaatggacgccatacgcctgatgcttgatcgccagccgccagtaatc
+gttgataaacaatcgcgcgttatagcggcggcccagcgcaattgccgccacgacatcggc
+ttccacctcttcatcgcgccgatctttgatgcgtagctggagagtacgtacgcctgcatc
+caacagacgttcgatccactgtacgctgtccaccaccgggtacagtcctgaacgaaaagg
+tacaggaggaaaatcaggctgatacatcacgcttcctccttacgcaggtagatttctccg
+cctctggcacggaagttctccgacatatccgccattcccatttcaatagtttgcgtggcg
+gcgtaatcacgcacttcctggctgattttcatcgagcagaatttcggcccacacatggag
+caaaaatgggcgactttacctgactcttgcggcagggtttcatcgtgataagcgcgggcg
+gtaaacgggtcgagggccagattaaactggtcttcccagcgaaattcgaagcgggctttc
+gacatggcgttatcgcgaatttgcgcgcccggatgccctttcgccaggtcagcggcgtgg
+gcagcaatcttataggtgataagcccctgcttaacatcttctttattgggcagacccaga
+tgctcttttggcgttacgtaacagagcatcgcgcagccaaaccagccaatcatcgccgca
+ccaatccccgacgtgaagtggtcatagcccggcgcaatatcggtagttagcggccccaga
+gtgtaaaacggcgcttcgtggcagtgctctaactcctcggtcatattgcggcggatcatc
+tgcatcggcacgtggcctgggccttcaatcatcacctgcacgtcatattcccaggcaatt
+ttggtcagttcgcccagcgtatgcagctcggcaaactgcgcttcatcgttggcgtcctga
+atagaaccggggcgcagaccgtcgcccagcgacagcgaaacgtcataagcggcacagatt
+tcacaaatttcgcggaagtgttgatagaggaaattttcctgatgatgggagaggcaccat
+ttcgccataatcgaaccgccgcgagagacgataccggtcaggcgtttcgcggtcatcggc
+acatagcgcagcagtacgcccgcatggatagtgaagtaatccacaccttgctcggcctgt
+tccagcagcgtgtcgcggaacgcttcccaggtaagatcttcggcgatcccgttaaccttc
+tccagcgcctggtagatcggcactgtaccgatcggcaccgggctgttacgcaaaatccac
+tcgcgggtttcgtgaatatagcgaccggtggagagatccatcaccgtatccgctccccag
+cgcgtggaccataccagcttttccacttcttcttcgatggaagaggtgaccgccgagttg
+ccgatattggcgttaacttttaccaggaaattgcgaccaataatcatcggctccgattcc
+ggatgattaatgttggccgggataatcgcacgtccggcagcaacttcatcacggacaaat
+tccgcagtgatattttccggcagatgtgcgccaaagctcattcccggatgctggtggcgt
+aaaacctcgctacggatgcgctcgcggcccatattctcgcggatggcgatgaattccatt
+tccggcgtgatgatgccctggcgggcgtagtgcagttgggtgacacggcgtcctgctttg
+gcgcgttttggtgttagtacgccgctaaaacgcagttcgtcgaggccatcatctgccagc
+cgcgctttagtgtaatcggaactgcgcacggtaagttcttcggtatcgccgcgcgcatcg
+atccacggctggcgtagttttgccagcccttgctgcacgttaatggcaatctgcggatca
+ccatacgggccggaggtgtcgtagaccggaatcgcttcgttttcttcgtactgcggctgt
+tctttgctaccgccaattagcgtcgggctaagctggatctcacgcatcggcacgcgcacg
+ccggggtgtgtgccagtgatataaatgcgttttgagttgggaaaggcggtgccttccagg
+gtgtcgataaaatgttgggcccgggcgcgttgttcgcggcgggtcagttttgttgcagac
+atagctcattccaaaaagttaaggacgtggcttgtcagacgacggatgaagcaagagacg
+atcgccgcaggggcgatgcgatagcagattaactcttgttcccttcgcaggtattagcct
+gatcaggttccgcggatcccgaataaacggtctcagccagttaaggcactccgacaagaa
+attagccccgcaaatggggcattgaatgtaaattacgcgttaacagcgcagaactcaagc
+aggatgtttgacgcgggcggcgtcaagcaccagcagaatcagcttatcttccagcacaaa
+gcgcgcttccagcgcctcgccgatgtcagataaaacctgttgaaactcaaggtaattatc
+atgatcgatggcggtttccagactggaatcgtagtaatccataatctgttgagtattggc
+ttcgagttgcggccaaatcttcgcggcgcgcgcgagttgcccgttgccttccagcttatg
+aagaatgcgctcataaatactgaaatgtccggcagacaagtaatcgaccaggctctgaca
+aaaatcatcaagggctttttcgtttagcctcatgtacgattctttgccaggcttaatgcc
+aaccagattgtagtaagccacgagcagatgcttacgtacatgtagccagcgatcaaccag
+tttgttacttcctctgacgcgctccgtcaggttatcgagctggttaagcatgattgactc
+cgcaagtttgtattcaaaaactgctcagtgagaaatgtaaaaaccatgttaaacatgcca
+gtgatgcaaaggtagtgcaagagctatggatcgtataattgaaaaattagatcacggctg
+gtgggtcgtcagccatgaacaaaaattatggttgccgaagggagaattgccatatggcga
+agcggcaaatttcgatcttgtgggtcagcgcgcactacaaatcggcgaatggcaggggga
+acctgtttggttagtacaacagcagcggcgtcacgatatggggtcggtacgtcaggtcat
+tgatctcgatgttgggctgtttcaactggccggacgaggcgtacaactggcggagtttta
+ccgatcgcataaatactgtggttactgcgggcatgaaatgtatccgagcaaaaccgaatg
+ggcgatgctgtgcagccattgccgtgagcgttactacccgcaaatcgccccctgcattat
+tgttgccatccgtcgcgatgattcgatcctcctcgcccagcatacccgccatcgtaacgg
+tgtccatacagtacttgccggattcgtcgaagtgggcgaaaccctcgagcaggcagtcgc
+gcgggaagtgatggaagagagcggaattaaagttaaaaacttgcgttacgtgacttctca
+gccgtggccgtttcctcagtctttaatgaccgcgtttatggcggaatatgacagcggcga
+catcgtgatcgacccgaaagaattgctcgaggcgaactggtatcgctatgacgatttgcc
+gttactcccgccgcccggcaccgtagcgcgccgtctgatagaagatacggtggcgatgtg
+tcgggcagagtatgagtgatgatacactgaccgcctgacgcactaaggaacagccaaaat
+gaccgaacttaaaaacgatcgttatctgcgggcgctgctgcgccagcccgttgatgtcac
+tccagtatggatgatgcgccaggcgggtcgctatctaccggaatataaagccacgcgcgc
+ccaggcaggcgattttatgtcgctgtgcaaaaacgccgagctggcgtgcgaagtgacttt
+gcaaccgctgcgtcgctacccgctggatgcggcgatcctcttttccgatatcctcaccgt
+gccggacgcgatggggttagggctctattttgaagccggagaaggtccgcgttttacctc
+gccagtcacctgcaaagctgacgtcgataaactgccaattccggacccggaagatgaact
+gggttacgtgatgaacgcggtgcgtaccattcgtcgcgaactgaaaggcgaagtgccgct
+gattggtttttccggcagcccgtggacgctggcgacctacatggtggaaggcggcagcag
+caaagccttcaccgtgatcaaaaaaatgatgtatgccgatccgcaggcgctgcacgctct
+gctcgataaactggcgaaaagcgtcactttgtatctgaatgcgcagattaaagccggtgc
+tcaggcagtgatgattttcgacacctggggcggcgtgcttaccgggcgcgattatcaaca
+gttctcgctctattacatgcataaaattgttgatggtttactgcgtgaaaacgacggtcg
+ccgcgtaccggtcacgctgtttaccaaaggcggcggacagtggctggaagccatggcaga
+aaccggttgcgatgcgctgggcctcgactggacaacggacatcgccgatgcgcgccgccg
+tgtgggcaataaagtcgcgttgcagggtaatatggatccgtcgatgctgtacgcgccgcc
+tgcccgcattgaagaagaagtagcgactatacttgcaggtttcggtcacggcgaaggtca
+tgtctttaaccttggtcacggcattcatcaggatgtgccgccagaacatgctggcgtgtt
+cgtggaggcagtgcatcgactgtctgaacagtatcaccgctaaggagtgattatggatct
+cgcgtcattacgcgctcaacaaatcgaactggcttcttctgtgatccgcgaggatcgact
+cgataaagatccaccggatctgatcgccggagccgatgtcgggtttgagcagggcggaga
+agtgacgcgagcggcgatggtgctgctgaaatatccctcgcttgagctggtcgagtataa
+agttgcccgcatcgccaccaccatgccttacattccaggttttctttccttccgcgaata
+tcctgcgctgctggcagcgtgggagatgctgtcgcaaaagccggatttagtgtttgtcga
+tggtcatgggatctcgcatcctcgccgtcttggcgtcgccagccattttggcttattggt
+ggatgtgccgaccattggcgtggcgaaaaaacggctctgcggtaaattcgaaccgctctc
+cagcgaaccgggcgcgctggccccactgatggataaaggcgagcagctggcctgggtctg
+gcgcagcaaagcgcgctgtaacccgttgtttatcgctaccggccatcgggtcagcgtgga
+cagcgcgctggcgtgggtacaacgctgcatgaaaggctatcgtctgccggagccaacgcg
+ctgggcggacgcggtggcctcggaacgtccggcgttcgtgcgctatacagcaaatcagcc
+ctaattcaggtaaactgcggataatttccgtatttgagaactcaacatgttacaaaaccc
+aattcatctgcgtctggagcgcctggaaagctggcagcatgtcactttcatggcttgctt
+atgcgaacgcatgtaccccaattacgccatgttctgccagcaaaccggttttggtgatgg
+gcaaatttaccgtcgcattctcgatctcatctgggaaacgctgaccgttaaagacgcaaa
+agtaaatttcgacagccaactggagaaatttgaagaagcgattccttcagccgacgattt
+cgatctgtacggcgtttatccggcaatcgatgcctgcgtggcgttaagtgaactggtcca
+ttcgcgtttgagtggtgaaacgctcgaacacgcggtggaagtgagtaagacctccatcac
+gaccgttgcgatgctggaaatgactcaggctggtcgcgaaatgagcgatgaagagcttaa
+agaaaacccagctgtagagcaagaatgggacattcagtgggaaatattccgacttttagc
+tgagtgcgaagaacgcgatatcgagctgataaaaggccttagggcagacctgcgtgaggc
+gggtgagagcaatattggtataatttttcagcaataagaccagaaaacgtgatttaacgc
+ctgatttgtcgtacctggagtcttccctttcgccccccgtctggtctacatttggggggc
+gaaaaaaagtggctatcggtgcgtgtatgcaggagagtgctattctggcatttccgtcgc
+actcgatgcttagcaagcgataaacacattgtaaggataacttatgaacaagactcaact
+gattgatgtaattgcagagaaagcagaactgtccaaaacccaggctaaagctgctctgga
+gtccactctggctgcaattactgagtctctgaaagaaggcgatgctgtacaactggttgg
+tttcggtaccttcaaagtgaaccaccgcgctgagcgtactggccgcaacccgcagaccgg
+taaagaaatcaaaattgccgcagctaacgtaccggcatttgtttctggcaaggcactgaa
+agacgcagttaagtaagattgcgtggcagtgaacagttttaacgaaggggtggtttcacc
+ccttttgtctttctggcgtcgatcattgatgctggctggcgctctgcttctcactgcctg
+tagtcataactcttcacttcctccctttaccgccagtggatttgctgaagaccagggcgc
+ggtacgcatctggcgaaaagacagcggcgataatgtgcatctgcttgccgtgtttagccc
+gtggcgcagtggcgataccacgacgcgagagtatcgctggcagggcgataacctcacgct
+catcaatatcaatgtttacagcaaaccgccggtgaatattcgcgcgcgttttgacgatcg
+cggtgatctgagctttatgcaacgtgaatccgatggggaaaagcagcagctttctaacga
+ccaaatcgatttataccgttatcgtgctgatcagatccgccagattagcgatgccttacg
+tcaggggagagtcgtgctgcgccaggggcgctggcatgcgatggaacagaccgtgaccac
+ctgcgaagggcaaaccattaaacctgatttagattcgcaggcgatagcgcatatcgagcg
+ccgccagagccgctcttctgttgatgtcagcgtggcatggctggaagcgcccgaaggttc
+gcaattactgttagtggcaaactctgatttctgtcgctggcaacccaacgagaaaacgtt
+ctgatttaccagtggcccatacccatatgaccgccaccaccgcagccgccgtagcccatg
+cccattccggctccgcgcggaatacccgcttcagccatcgcgatatctcgtttcacccgt
+aactcatctaacgactgacgcaaattctccatctctttggcgaccgcgttaattttgctg
+ctatccggtgggttcgcggctaacagggcattgtattcataacgcttcgtcaccagttgc
+tgttgcagtgcgctgctttgagcgtaaaagtcattatggattttctgccacgctgtctgt
+tgttcgctggtcaaaggcgcggcattttgctgccacataccgtgtccgccgtgagcaaat
+gcagatgtcgatcccatcgccattgctgaaagcgccatcattaccagggcaattttcgtg
+ttccgtttcatggttaatcctccagtggttgtcttacttcgggtattgcatcttccgtgc
+caacgatgaaacgctgatatgacgggtaatctggcatgataaacgagtaaaaatgactcg
+cctgctgcgggtagcgagtcatttttactcattgaaacttaagcctttgtgttacagcgc
+agggtaagcgctgataaaagatggcatgatttctgctgtcagaaagggatgagcaggcaa
+agaagaagatgcgttttatgcaacgttctaaagactccttagctaaatggttaagcgcga
+tcctccccgtggtcattgttgggctggtgggattgtttgcggtaactgtgattcgtgatt
+atgggcgggcaagcgaggcagaccgccaggcattactggaaaaaggtaatgtgcttatcc
+gcgctctggagtcgggaagccgcgtagggatggggatgcgaatgcaccatgtacagcaac
+aggcgcttctggaagagatggcgggacagccgggagtgttgtggttcgcagtcaccgatg
+cgcagggcatcattattcttcatagcgaccccgataaggtcgggcgtgcgctctattcgc
+cggatgaaatgcagaaattaaagccagaggaaaactcccgctggcggctgcttgggaaaa
+cggaaactacgcctgcacttgaggtctatcgtttgttccagccaatgtcagcgccctggc
+ggcatggaatgcacaatatgccgcgctgtaacggcaaagctgtgccacaagtagatgcac
+aacaggctatttttatcgccgttgatgccagtgatctggttgcaacccagagtggggaaa
+agcgcaataccctgattatcctcttcgccctggcgacggtcttgctggcaagcgtattgt
+cattcttctggtatcgccgctatctgcgctcgcgccagcttctacaagatgaaatgaagc
+gcaaagagaagctggtggcgctggggcatcttgcggcaggcgttgcccacgaaatccgta
+acccactttcctcgattaaaggactggcgaaatactttgccgagcgcgcgcctgcagggg
+gagaagcgcatcaactggcgcaggtgatggcgaaagaggccgaccgtttaaaccgcgtgg
+taagcgagttgctggaactggttaagccaacgcatctggctttgcaggcggtggatctca
+acacgctgattaaccactcattacagctggtaagtcaggatgcaaacagccgggagatcc
+agttacgctttaccgccaacgacacattaccggaaattcaggccgacccggacaggctga
+ctcaggtcctgttgaatctctatctcaatgctattcaggcgattggtcagcatggcgtga
+ttagcgtgacggccagcgaaagcggcgcgggcgtgaaaatcagcgttaccgacagcggta
+agggaattgcggcagatcagcttgatgccatcttcactccgtacttcaccactaaagccg
+aaggcaccggattggggctggcggtcgtgcataatattgttgaacaacacggtggtacaa
+ttcaggtcgcaagccaggagggaaaaggctcaacgttcaccctctggcttccggtcaata
+ttacgcgtaaggacccacaaggatgacgcacgataatatcgatattctggtggtggatga
+tgacattagccactgcactattttgcaggctttactgcgcggctggggctataacgtcgc
+gctggcgaacagcgggcgacaggcgttggagcaggtgcgggaacaggtttttgatcttgt
+gctttgcgatgtgcgaatggcggagatggacggcatcgccacgctgaaagagatcaaagc
+gttaaacccggcaattccggtgctgattatgactgcgtactccagcgtcgagacggcggt
+agaggcactgaaaactggggcgctggattatctcatcaagccgctggatttcgataacct
+acaggcgacgctggaaaaagcgctcgcgcatacgcacagtattgatgctgaaacacctgc
+ggtgactgccagccagttcggtatggtcggtaaaagcccggcgatgcaacacctgctcag
+tgaaatcgccctcgtcgcgccatcggaagccacggtactgatccacggcgattccggcac
+cggtaaagagctggtcgccagggcgattcacgccagtagcgcacgtagcgaaaaaccgct
+ggtaacgctcaactgtgcggcactcaacgaatccttgctggaatctgaattgttcggtca
+cgaaaaaggggcgtttactggagccgataaacgccgggaagggcgctttgttgaggcgga
+cggcggcacgctgtttctcgatgaaattggcgatatctcgccgatgatgcaggtgcgtct
+gctgcgtgcgattcaggagcgcgaagttcagcgtgtcggtagcaaccagattatctcggt
+tgatgtccggctgattgcggcgacccatcgcgatcttgccgcagaggtgaatgccgggcg
+ttttcgccaggatctctactatcgcctgaatgtggtggcgattgaagtaccatcgctgcg
+gcaacggcgggaagatatccctctgctggctggccattttctgcagcgctttgccgagcg
+taatcgcaaggcggtaaaaggttttacgccccaggcgatggatctgttgattcattacga
+ctggccgggaaatattcgtgagctggaaaacgcggtggaacgggcagtggtgctgctgac
+cggggaatatatttccgaacgcgagctgccgctggcgattgccagtacgccgatcccgct
+gggacaaagtcaggatattcagccgttggtggaagtggaaaaagaggtgattctggcggc
+gctggagaaaacgggcggcaacaaaaccgaagccgcccgtcagttagggatcacgcgcaa
+aacgctattggcaaaactgtcgcgttagttctgctcgcgttcgatagcgcgccagccgat
+atctttccggcagaagcagtcgtcccagtggatatcggtcattaaggcataggcgcgttt
+ctgcgcttctgccacggtatgacccagcgcggtgacgcacagtacgcgcccgccgttggt
+cactacctgctcgtcatccgccagttttgtgcccgcgtggaacactttgccgcctgccac
+ttcttccagcggcaggccgtggatcacgtcaccggtgcggtaatcacccggatatccacc
+cgcagccatcaccacgccgagagaagcgcgttcatcccactcggacgttttctcgtccag
+tttgctttcacaggccgccaggcagagctcaaccagatcggacttcatgcgcagcataat
+cggctgggtttccggatcgccaaagcggcagttaaattcaataaccttcggattgccctg
+tttgtcgatcatcaggcccgcgtagagaaaaccggtgtaggtgttgccttccgccgccat
+gcctttcacggttggccagataatacgttccatggtgcgctgatgaacgtcatcggttac
+taccggcgcgggggagtaagcgcccatcccgccggtgtttggtccggtatctttatcgcc
+tacgcgtttgtgatcctggctggtagccatcggcagcacatgctcgccgtccaccatcac
+gataaagctcgcttcttcgccatcgaggaactcttcgataacgatgcgatgacccgcgtc
+gccaaaagcgttgcccgccagcatatcgtgaacagccgcttccgcttcttccagcgtcat
+cgccacgataacgcctttcccggcagccagaccgtccgctttaatgacgattggcgcgcc
+tttctcacgcagatacgccagcgcaggttctacctcggtgaagttctggtattccgccgt
+agggatcttatggcgggccaggaaatctttggtaaacgcttttgagccttccagttgggc
+cgcacctgcggttgggccgaagattttcagcccggcggcgcggaaggtatcgaccacgcc
+tttcaccagcggcgcttccgggccgacgatggtcagatcaatcttttcgttttgtgcgaa
+atccaacagcgccgggatatcggtcacgccaatagcaacgttttgcagcgcgggttccag
+tgcagtgcctgcattacccggagcaacaaaaacagtctcaaccagcggcgactgggccgc
+tttccaggccagcgcgtgctcgcgcccgccgttaccaatcactaatactttcatctattg
+ctccattaatggcggaagtggcgcatgtcggtgaagagcatcgcaataccgtgctcgtcg
+gcggcggcaatcacttcgtcatcacggatagaaccgccaggctggattacgcaggtcacg
+cccgcagcggcggcggcatcaataccgtcgcggaacgggaagaacgcgtcagaagccatc
+gaggaacctttcacttccaggccttcatcggccgctttaataccggcgatttttgcggag
+tacacgcggctcatctggcccgcgccaatgccgatagtcatattgtttttggcatagacg
+atagcgttggatttcacaaacttcgccaccttccagcagaacagcgcatcacgcagttcc
+tgttcgctcggctgacgtttggtcaccacgcgcagttcttccgcaccgaccatccccagg
+tcacgatcctgaaccagcagaccgccgttcacgcgtttgaaatcgaggcccggaacacgc
+tcgccccactgaccgcaggtcagaacgcgtacgttctgtttggcggcggtgattttcagg
+gcttcttcgctggcggacggcgcaataatcacttcgacaaactgacgagaaatgatggcc
+tgtgcggtttccgcatccagctcgcggttaaaggcaatgatgccgccgaatgcggaggtt
+gggtcggttttgtacgcgcgatcgtaagcatcaagaatggaattgccgatagccacgccg
+caagggttggcgtgcttcacaatcacacatgccggctcggcgaactctttcacgcactcc
+agcgccgcatcggtatcggcgatgttgttataagagagggctttaccctgaacctgggtt
+gcggtagcaacggaggcttctttcacattctcttctatatagaaggcagcctgctggtgg
+ctgttctcgccgtaacgcatatccagcttcttaatgaagttcaggttcagcgtgcgtggg
+aagcgaccggcggcttctttgctttcaccgtggtaagccggaaccatgctgccgaagtag
+ttggcaatcatgctgtcgtaggcggcagtgtgttcgaaggctttgatggcgaggtcgaaa
+cgggttgcaagcgtcagcgatccttcgttgtcatccatctctttaataatggcgtcatag
+tcgctgctcttcaccacgattgcgacatctttatggttcttggcggcggagcgcaccatc
+gttgggccgccgatatcgatgttctcaaccgcatcttccagcgagcaaccttcacgggcc
+acggtctgggcgaacggatacaggttaacaaccaccatatcgataggctggatctgatgt
+tcttccataatggcatcgtcctggccgcgacggcccagaatgccaccatgtactttcgga
+tgcagggtcttcacgcgtccatccatcatctccgggaaaccggtgtaatcggaaacttcg
+gttaccggcagacctttttctgctaacagacgggcagtgccccctgtagacagcagctcc
+acaccgcgtgcggaaagtgcctgggcgaattcgacgataccggctttgtcagaaacactg
+agcagagcgcggcggactggacgacgttgttgcatggtaaatcccctggatttgactatt
+acagagagcgttagctgaatttttcgcgaaaaactcagctaacgcccctaacggggcatc
+cttatttttcgcccgcattgtaacgaaaacgtttgcgcaacgctcgcgaatttttctctt
+tcaatggtgatcacaattttgactgtggttaccgtgggcaaaatacagaaattacattga
+tgattgtggataactctgtgcgtaaaaaggtataaagcgggcttttgctggggaatgcag
+cagtcagtcatttttctgcaatttttctattgcggcctgcggagaactccctataatgcg
+cctccatcgacacggcggatgtgaatcacttcacacaaacagccggttcggttgaagaga
+aaaatcctgaaattcagggttgactctgaaagaggaaagcgtaatatacgccacctcgcg
+acagtgcgctaaagcgcgtcgcaactgctctttaacaatttatcagacaatctgtgtggg
+cactcgaagatacggattcttaacgtcgcaagacgaaaaatgaataccaagtctcaagag
+tgaacacgtaattcattacgaagtttaattctttgagcatcaaacttttaaattgaagag
+tttgatcatggctcagattgaacgctggcggcaggcctaacacatgcaagtcgaacggta
+acaggaagaagcttgcttctttgctgacgagtggcggacgggtgagtaatgtctgggaaa
+ctgcctgatggagggggataactactggaaacggtagctaataccgcataacgtcgcaag
+accaaagagggggaccttcgggcctcttgccatcggatgtgcccagatgggattagctag
+taggtggggtaacggctcacctaggcgacgatccctagctggtctgagaggatgaccagc
+cacactggaactgagacacggtccagactcctacgggaggcagcagtggggaatattgca
+caatgggcgcaagcctgatgcagccatgccgcgtgtatgaagaaggccttcgggttgtaa
+agtactttcagcggggaggaagggagtaaagttaatacctttgctcattgacgttacccg
+cagaagaagcaccggctaactccgtgccagcagccgcggtaatacggagggtgcaagcgt
+taatcggaattactgggcgtaaagcgcacgcaggcggtttgttaagtcagatgtgaaatc
+cccgggctcaacctgggaactgcatctgatactggcaagcttgagtctcgtagagggggg
+tagaattccaggtgtagcggtgaaatgcgtagagatctggaggaataccggtggcgaagg
+cggccccctggacgaagactgacgctcaggtgcgaaagcgtggggagcaaacaggattag
+ataccctggtagtccacgccgtaaacgatgtcgacttggaggttgtgcccttgaggcgtg
+gcttccggagctaacgcgttaagtcgaccgcctggggagtacggccgcaaggttaaaact
+caaatgaattgacgggggcccgcacaagcggtggagcatgtggtttaattcgatgcaacg
+cgaagaaccttacctggtcttgacatccacggaagttttcagagatgagaatgtgccttc
+gggaaccgtgagacaggtgctgcatggctgtcgtcagctcgtgttgtgaaatgttgggtt
+aagtcccgcaacgagcgcaacccttatcctttgttgccagcggtccggccgggaactcaa
+aggagactgccagtgataaactggaggaaggtggggatgacgtcaagtcatcatggccct
+tacgaccagggctacacacgtgctacaatggcgcatacaaagagaagcgacctcgcgaga
+gcaagcggacctcataaagtgcgtcgtagtccggattggagtctgcaactcgactccatg
+aagtcggaatcgctagtaatcgtggatcagaatgccacggtgaatacgttcccgggcctt
+gtacacaccgcccgtcacaccatgggagtgggttgcaaaagaagtaggtagcttaacctt
+cgggagggcgcttaccactttgtgattcatgactggggtgaagtcgtaacaaggtaaccg
+taggggaacctgcggttggatcacctccttaccttaaagaagcgttctttgcagtgctca
+cacagattgtctgatagaaagtgaaaagcaaggcgtcttgcgaagcagactgatacgtcc
+ccttcgtctagaggcccaggacaccgccctttcacggcggtaacaggggttcgaatcccc
+taggggacgccacttgctggtttgtgagtgaaagtcacctgccttaatatctcaaaactc
+atcttcgggtgatgtttgagatatttgctctttaaaaatctggatcaagctgaaaattga
+aacactgaacaacgaaagttgttcgtgagtctctcaaattttcgcaacacgatgatgaat
+cgtaagaaacatcttcgggttgtgaggttaagcgactaagcgtacacggtggatgccctg
+gcagtcagaggcgatgaaggacgtgctaatctgcgataagcgtcggtaaggtgatatgaa
+ccgttataaccggcgatttccgaatggggaaacccagtgtgtttcgacacactatcatta
+actgaatccataggttaatgaggcgaaccgggggaactgaaacatctaagtaccccgagg
+aaaagaaatcaaccgagattcccccagtagcggcgagcgaacggggagcagcccagagcc
+tgaatcagtgtgtgtgttagtggaagcgtctggaaaggcgcgcgatacagggtgacagcc
+ccgtacacaaaaatgcacatgctgtgagctcgatgagtagggcgggacacgtggtatcct
+gtctgaatatggggggaccatcctccaaggctaaatactcctgactgaccgatagtgaac
+cagtaccgtgagggaaaggcgaaaagaaccccggcgaggggagtgaaaaagaacctgaaa
+ccgtgtacgtacaagcagtgggagcacgcttaggcgtgtgactgcgtaccttttgtataa
+tgggtcagcgacttatattctgtagcaaggttaaccgaataggggagccgaagggaaacc
+gagtcttaactgggcgttaagttgcagggtatagacccgaaacccggtgatctagccatg
+ggcaggttgaaggttgggtaacactaactggaggaccgaaccgactaatgttgaaaaatt
+agcggatgacttgtggctgggggtgaaaggccaatcaaaccgggagatagctggttctcc
+ccgaaagctatttaggtagcgcctcgtgaattcatctccgggggtagagcactgtttcgg
+caagggggtcatcccgacttaccaacccgatgcaaactgcgaataccggagaatgttatc
+acgggagacacacggcgggtgctaacgtccgtcgtgaagagggaaacaacccagaccgcc
+agctaaggtcccaaagtcatggttaagtgggaaacgatgtgggaaggcccagacagccag
+gatgttggcttagaagcagccatcatttaaagaaagcgtaatagctcactggtcgagtcg
+gcctgcgcggaagatgtaacggggctaaaccatgcaccgaagctgcggcagcgacgctta
+tgcgttgttgggtaggggagcgttctgtaagcctgcgaaggtgtgctgtgaggcatgctg
+gaggtatcagaagtgcgaatgctgacataagtaacgataaagcgggtgaaaagcccgctc
+gccggaagaccaagggttcctgtccaacgttaatcggggcagggtgagtcgacccctaag
+gcgaggccgaaaggcgtagtcgatgggaaacaggttaatattcctgtacttggtgttact
+gcgaaggggggacggagaaggctatgttggccgggcgacggttgtcccggtttaagcgtg
+taggctggttttccaggcaaatccggaaaatcaaggctgaggcgtgatgacgaggcacta
+cggtgctgaagcaacaaatgccctgcttccaggaaaagcctctaagcatcaggtaacatc
+aaatcgtaccccaaaccgacacaggtggtcaggtagagaataccaaggcgcttgagagaa
+ctcgggtgaaggaactaggcaaaatggtgccgtaacttcgggagaaggcacgctgatatg
+taggtgaggtccctcgcggatggagctgaaatcagtcgaagataccagctggctgcaact
+gtttattaaaaacacagcactgtgcaaacacgaaagtggacgtatacggtgtgacgcctg
+cccggtgccggaaggttaattgatggggttagcgcaagcgaagctcttgatcgaagcccc
+ggtaaacggcggccgtaactataacggtcctaaggtagcgaaattccttgtcgggtaagt
+tccgacctgcacgaatggcgtaatgatggccaggctgtctccacccgagactcagtgaaa
+ttgaactcgctgtgaagatgcagtgtacccgcggcaagacggaaagaccccgtgaacctt
+tactatagcttgacactgaacattgagccttgatgtgtaggataggtgggaggctttgaa
+gtgtggacgccagtctgcatggagccgaccttgaaataccaccctttaatgtttgatgtt
+ctaacgttgacccgtaatccgggttgcggacagtgtctggtgggtagtttgactggggcg
+gtctcctcctaaagagtaacggaggagcacgaaggttggctaatcctggtcggacatcag
+gaggttagtgcaatggcataagccagcttgactgcgagcgtgacggcgcgagcaggtgcg
+aaagcaggtcatagtgatccggtggttctgaatggaagggccatcgctcaacggataaaa
+ggtactccggggataacaggctgataccgcccaagagttcatatcgacggcggtgtttgg
+cacctcgatgtcggctcatcacatcctggggctgaagtaggtcccaagggtatggctgtt
+cgccatttaaagtggtacgcgagctgggtttagaacgtcgtgagacagttcggtccctat
+ctgccgtgggcgctggagaactgaggggggctgctcctagtacgagaggaccggagtgga
+cgcatcactggtgttcgggttgtcatgccaatggcactgcccggtagctaaatgcggaag
+agataagtgctgaaagcatctaagcacgaaacttgccccgagatgagttctccctgactc
+cttgagagtcctgaaggaacgttgaagacgacgacgttgataggccgggtgtgtaagcgc
+agcgatgcgttgagctaaccggtactaatgaaccgtgaggcttaaccttacaacgccgaa
+ggtgttttggcggattgagagaagattttcagcctgatacagattaaatcagaacgcaga
+agcggtctgataaaacagaatttgcctggcggcagtagcgcggtggtcccacctgacccc
+atgccgaactcagaagtgaaacgccgtagcgccgatggtagtgtggggtctccccatgcg
+agagtagggaactgccaggcatcaaattagaaaaaccccggtccataaggccggggtttt
+ttgcatatcaattatttgcatgatgaagggaatctcatgtcagttctgtatatccaaatt
+cgtcgtaatcaaattactgttcgcgatcttgaaagcaaacgtgaagtgtcaggagacgct
+gccttcagtaaccagcgcctgttaatcgccaatttctttgttgcagaaaaagttctgcaa
+gatcttgttctgcaactccacccacgttcaacctggcattcttttttgccagcaaaacgt
+atggatattgttgtgagcgcactggaaatgaatgagggcggtttgtcacaggttgaggaa
+cgcattctccatgaagtggtcgctggggcaacgttaatgaaatatcgccagttccacatc
+catgcgcaatcagcggtactcagtgatagtgcggtcatggcaatgcttaagcagaaataa
+tcgtgtcaccattggtgggtactaaacctgaagttcagcccaccgggatgagaaaaaatc
+gcctacgcccccacatacgccagattcagcaacggatacggtttccccaaatcgtccacc
+tcagagcgtcccgtaaccttaaaacccaccttcttatagaacccaaccgcctgctcattt
+tgctcattaacgttggttgtcagttccggtgccatcgagagcgcatgctccaccagcacc
+cgacctacgccgcagccgcgcacatcaggatcgataaacagcgcatccatatgctgccca
+cttagcaacataaatccaaccggctgatcccgctcattaaccgcgacccacaacggcgct
+tccggcaggaaggaacgaactaggtcctccagctcggtccgatactctgctgatagaaaa
+tcgtgagtggcatcgacagaacgacaccaaatcgcaacgagttcctccccttcctcatgc
+cgtgagcggcgaatactaataaccattttctctccttttagtcattcttatattctaacg
+tagtcttttccttgaaactttctcaccttcaacatgcaggctcgacattggcaaattttc
+tggttatcttcagctatctggatgtctaaacgtataagcgtatgtagtgaggtaatcagg
+ttatgccgattcgtgtgccggacgagctacccgccgtcaatttcttgcgtgaagaaaacg
+tctttgtgatgacaacttctcgtgcgtctggtcaggaaattcgtccacttaaggttctga
+tccttaacctgatgccgaagaagattgaaactgaaaatcagtttctgcgcctgctttcaa
+actcacctttgcaggtcgatattcagctgttgcgcatcgattcccgtgaatcgcgcaaca
+cgcccgcagagcatctgaacaacttctactgtaactttgaagatattcaggatcagaact
+ttgacggtttgattgtaactggtgcgccgctgggcctggtggagtttaatgatgtcgctt
+actggccgcagatcaaacaggtgctggagtggtcgaaagatcacgtcacctcgacgctgt
+ttgtctgctgggcggtacaggccgcgctcaatatcctctacggcattcctaagcaaactc
+gcaccgaaaaactctctggcgtttacgagcatcatattctccatcctcatgcgcttctga
+cgcgtggctttgatgattcattcctggcaccgcattcgcgctatgctgactttccggcag
+cgttgattcgtgattacaccgatctggaaattctggcagagacggaagaaggggatgcat
+atctgtttgccagtaaagataagcgcattgcctttgtgacgggccatcccgaatatgatg
+cgcaaacgctggcgcaggaatttttccgcgatgtggaagccggactagacccggatgtac
+cgtataactatttcccgcacaatgatccgcaaaatacaccgcgagcgagctggcgtagtc
+acggtaatttactgtttaccaactggctcaactattacgtctaccagatcacgccatacg
+atctacggcacatgaatccaacgctggattaatcttctgtgatagtcgatcgttaagcga
+ttcagcaccttacctcaggcaccttcgggtgccttttttatttccgaaacgtacctcagc
+aggtgaataaattttattcatattgttatcaacaagttatcaagtatttttaattaaaat
+ggaaattgtttttgattttgcattttaaatgagtagtcttagttgtgctgaacgaaaaga
+gcacaacgatccttcgttcacagtggggaagttttcggatccatgacgaggagctgcacg
+atgactgaacaggcaacaacaaccgatgaactggctttcacaaggccgtatggcgagcag
+gagaagcaaattcttactgccgaagcggtagaatttctgactgagctggtgacgcatttt
+acgccacaacgcaataaacttctggcagcgcgcattcagcagcagcaagatattgataac
+ggaacgttgcctgattttatttcggaaacagcttccattcgcgatgctgattggaaaatt
+cgcgggattcctgcggacttagaagaccgccgcgtagagataactggcccggtagagcgc
+aagatggtgatcaacgcgctcaacgccaatgtgaaagtctttatggccgatttcgaagat
+tcactggcaccagactggaacaaagtgatcgacgggcaaattaacctgcgtgatgcggtt
+aacggcaccatcagttacaccaatgaagcaggcaaaatttaccagctcaagcccaatcca
+gcggttttgatttgtcgggtacgcggtctgcacttgccggaaaaacatgtcacctggcgt
+ggtgaggcaatccccggcagcctgtttgattttgcgctctatttcttccacaactatcag
+gcactgttggcaaagggcagtggtccctatttctatctgccgaaaacccagtcctggcag
+gaagcggcctggtggagcgaagtcttcagctatgcagaagatcgctttaatctgccgcgc
+ggcaccatcaaggcgacgttgctgattgaaacgctgcccgccgtgttccagatggatgaa
+atccttcacgcgctgcgtgaccatattgttggtctgaactgcggtcgttgggattacatc
+ttcagctatatcaaaacgttgaaaaactatcccgatcgcgtcctgccagacagacaggca
+gtgacgatggataaaccattcctgaatgcttactcacgcctgttgattaaaacctgccat
+aaacgcggtgcttttgcgatgggcggcatggcggcgtttattccgagcaaagatgaagag
+cacaataaccaggtgctcaacaaagtaaaagcggataaatcgctggaagccaataacggt
+cacgatggcacatggatcgctcacccaggccttgcggacacggcaatggcggtattcaac
+gacattctcggctcccgtaaaaatcagcttgaagtgatgcgcgaacaagacgcgccgatt
+actgccgatcagctgctggcaccttgtgatggtgaacgcaccgaagaaggtatgcgcgcc
+aacattcgcgtggctgtgcagtacatcgaagcgtggatctctggcaacggctgtgtgccg
+atttatggcctgatggaagatgcggcgacggctgaaatttcccgtacctcgatctggcag
+tggatccatcatcaaaaaacgttgagcaatggcaaaccggtgaccaaagccttgttccgc
+cagatgctgggcgaagagatgaaagtcattgccagcgaactgggcgaagaacgtttctcc
+caggggcgttttgacgatgccgcacgcttgatggaacagatcaccacttccgatgagtta
+attgatttcctgaccctgccaggctaccgcctgttagcgtaaaccaccacataactatgg
+agcatctgcacatgaaaacccgtacacaacaaattgaagaattacagaaagagtggactc
+aaccgcgttgggaaggcattactcgcccatacagtgcggaagatgtggtgaaattacgcg
+gttcagtcaatcctgaatgcacgctggcgcaactgggcgcagcgaaaatgtggcgtctgc
+tgcacggtgagtcgaaaaaaggctacatcaacagcctcggcgcactgactggcggtcagg
+cgctgcaacaggcgaaagcgggtattgaagcagtctatctgtcgggatggcaggtagcgg
+cggacgctaacctggcggccagcatgtatccggatcagtcgctctatccggcaaactcgg
+tgccagctgtggtggagcggatcaacaacaccttccgtcgtgccgatcagatccaatggt
+ccgcgggcattgagccgggcgatccgcgctatgtcgattacttcctgccgatcgttgccg
+atgcggaagccggttttggcggtgtcctgaatgcctttgaactgatgaaagcgatgattg
+aagccggtgcagcggcagttcacttcgaagatcagctggcgtcagtgaagaaatgcggtc
+acatgggcggcaaagttttagtgccaactcaggaagctattcagaaactggtcgcggcgc
+gtctggcagctgacgtgacgggcgttccaaccctgctggttgcccgtaccgatgctgatg
+cggcggatctgatcacctccgattgcgacccgtatgacagcgaatttattaccggcgagc
+gtaccagtgaaggcttcttccgtactcatgcgggcattgagcaagcgatcagccgtggcc
+tggcgtatgcgccatatgctgacctggtctggtgtgaaacctccacgccggatctggaac
+tggcgcgtcgctttgcacaagctatccacgcgaaatatccgggcaaactgctggcttata
+actgctcgccgtcgttcaactggcagaaaaacctcgacgacaaaactattgccagcttcc
+agcagcagctgtcggatatgggctacaagttccagttcatcaccctggcaggtatccaca
+gcatgtggttcaacatgtttgacctggcaaacgcctatgcccagggcgagggtatgaagc
+actacgttgagaaagtgcagcagccggaatttgccgccgcgaaagatggctataccttcg
+tatctcaccagcaggaagtgggtacaggttacttcgataaagtgacgactattattcagg
+gcggcacgtcttcagtcaccgcgctgaccggctccactgaagaatcgcagttctaagcaa
+caacaaccgttgctgactgtaggccggataaggcgttcacgccgcatccggcaatcggtg
+cacgatgcctgatgcgacgcttgcgcgtcttatcatgcctacagccgttgccgaacgtag
+gctggataaggcgtttacgccgcatccggcaattctctgctcctgatgagggcgctaaat
+gccgcgtggcctggaattattgattgctcaaaccattttgcaaggcttcgatgctcagta
+tggtcgattcctcgaagtgacctccggtgcgcagcagcgtttcgaacaggccgactggca
+tgctgtccagcaggcgatgaaaaaccgtatccatctttacgatcatcacgttggtctggt
+cgtggagcaactgcgctgcattactaacggccaaagtacggacgcggcatttttactacg
+tgttaaagagcattacacccggctgttgccggattacccgcgcttcgagattgcggagag
+cttttttaactccgtgtactgtcggttatttgaccaccgctcgcttactcccgagcggct
+ttttatctttagctctcagccagagcgccgctttcgtaccattccccgcccgctggcgaa
+agactttcaccccgatcacggctgggaatctctactgatgcgcgttatcagcgacctacc
+gctgcgcctgcgctggcagaataaaagccgtgacatccattacattattcgccatctgac
+ggaaacgctggggacagacaacctcgcggaaagtcatttacaggtggcgaacgaactgtt
+ttaccgcaataaagccgcctggctggtaggcaaactgatcacaccttccggcacattgcc
+atttttgctgccgatccaccagacggacgacggcgagttatttattgatacctgcctgac
+gacgaccgccgaagcgagcattgtttttggctttgcgcgttcttattttatggtttatgc
+gccgctgcccgcagcgctggtcgagtggctacgggaaattctgccaggtaaaaccaccgc
+tgaattgtatatggctatcggctgccagaagcacgccaaaaccgaaagctaccgcgaata
+tctcgtttatctacagggctgtaatgagcagttcattgaagcgccgggtattcgtggaat
+ggtgatgttggtgtttacgctgccgggctttgatcgggtattcaaagtcatcaaagacag
+gttcgcgccgcagaaagagatgtctgccgctcacgttcgtgcctgctatcaactggtgaa
+agagcacgatcgcgtgggccgaatggcggacacccaggagtttgaaaactttgtgctgga
+gaagcggcatatttccccggcattaatggaattactgcttcaggaagcagcggaaaaaat
+caccgatctcggcgaacaaattgtgattcgccatctttatattgagcggcggatggtgcc
+gctcaatatctggctggaacaagtggaaggtcagcagttgcgcgacgccattgaagaata
+cggtaacgctattcgccagcttgccgctgctaacattttccctggcgacatgctgtttaa
+aaacttcggtgtcacccgtcacgggcgtgtggttttttatgattacgatgaaatttgcta
+catgacggaagtgaatttccgcgacatcccgccgccgcgctatccggaagacgaacttgc
+cagcgaaccgtggtacagcgtctcgccgggcgatgttttcccggaagagtttcgccactg
+gctatgcgccgacccgcgtattggtccgctgtttgaagagatgcacgccgacctgttccg
+cgctgattactggcgcgcactacaaaaccgcatacgtgaagggcatgtggaagatgttta
+tgcgtatcggcgcaggcaaagatttagcgtacggtatggggagatgcttttttgagtaaa
+gcttccatataatttttctccgcaatgtatcgagggttatccgtaaagccaaagctttca
+gccatcttatttaatgtattaaggattaattcagcaataacccggtgaccaaattcaaaa
+gccaactcaaaggcagagtatttttgtggggctttgtgttgccaaaaatccataatatct
+tcagcggtaaatccaaacaggcgtgcatggtcagataaagcaagataaaccgtctctaca
+acattttgttgtttatgctgtatcgctgaaaacaaaccgggatattcattagaattattt
+gccaggaggaggggcttcatattttttttatcgaatttaaacgtattaaacagagtgggt
+aatgcgttaaaaatagtattaataacgttcatgtgtccgcgctgcatggccataaacaaa
+cccgtgtcgcgcgcaagacttttagcggtcagaagatctacaatatcggaagctgaaatg
+ttaatttcctgggctaggctgggcaatgcttcaagaataactttcacgatatcgctatgt
+ccattttgcatcgccagatatagtcctgggcaaccataaaaatcctttgccttcaggaga
+tcgagtacctgttctttagtcaaatgacatgtgcgaattaacaaaggtaacgcgttcaaa
+acaattttcagcatgtcggcatcaccattcgccataacatggtataaaacatggctggac
+gttctatttttggcactcaggaatttatacacttgttcgttatctaaatgatgtgttgcg
+gccagtttaggtaaggcgttcagaatcgaggttacaacatttttatccttacgtgatatc
+gctaaaaataatccagaaaaaccatttttatcttttgcctccagaatatgcatgagattt
+tttttcgagagtaatccttcatatcctgtttctgacaatgaattgaaaatagtctcaacg
+atatccgcattaccataatttatagccaaatataaacctggcaggttaatactattatag
+gcagtcaacatttctgttctatgtagttctggcattttctggagttgaatcatcagttgc
+gtaagttggtgattctgaccaattgccattagcaaattcatcgttgcaggtgataatgga
+ggggttatttcatccacagatccttttaacatcaatagctgttctttcggaagtgctgga
+attattgcaacagattgattaataacatgatcatttgaccatttcaggaggctataatct
+acattcataaaatccatcagagaatagtgtttaatattctctttgctttcgctcataatt
+cttattttatcgttagttacattaggatcataaaccgaaaccacgtaatgggtacatcct
+tcagttgtgttctttattcttagccggaccgtcaaagcatggttatccaccagtaatatg
+gctgccataacactgatgccatttgattccatcttgtcaaaatatgctttcataactagc
+ccgaaatcaccgcaggcagcaacgcaacgcccctcaggacggctggaaaccaacgccaaa
+gtctggtttttgcattttttgttgaagtgcgtgagaaatttttcagctgaagagtaatca
+tcttgatggggtttgtaatcaacattctgataaatatcattaatatattgtgcagcaatg
+tgtcggcatactatacggttttggggtcgccccggaaaataacattgaccattaagttta
+attcttgggaattctttttcttttctatctgattttaggtttaattcttgtttatcaaga
+gtgtctgagcgttgaggtaaaatttccattaggtatttttcaaatattggggcaatggtt
+tgagtaagtgtcgtgttttcgtttttattaattatcgtaatttctttcttatcagcttgt
+aagacggacgtggaaaatttaatgacaaaatccttgttgctaaagatatgacgaccattt
+tgtctacagttctctgagaagctttttaatagaggcgtcgccagctccttgccagaaaat
+ttatcctcgagttctttataaaacaattcactcagggtttggtgttcatttgtctgggct
+gtattattaatatttgcagagaaagaactacgaggaatacgagtaatcatttaaatatct
+cattgtttattgatgtcttgaattttaactatcagaacagtgaaaaaatttaatatgatt
+acaactaaagaaatatcataaatcgctcaatctcataatgcagccgtaaaagtttcggtg
+gaatgagatcttgcgattttgttaataattaagtggtttgatgtttaaaaataatgctga
+gttaataaaagtgtgtgaagtgtatgacattaagttattttggcgtcaatgcgattaaca
+gacacccttattctattgccactcaggtatgatgggcagaatattgcctctgcccgccag
+aaaaagtcagcgcattccaccgtacgccagcgtcacttccttcgccgctttaatcaccat
+cgcgccaaactcggtcacgcggtcatcggtaatacgtgaaatcggtccggaaatagaaat
+tgcggcaaacggttcacggtgctcatcgaaaatacacgctgcaaggcaacgtagccccag
+tgcatgttcctcatcgtcaaatgaataaccccgtttgcgcgtttgggcgagatcttcttt
+taaatgcacaggagacaccagcgttgcgtgggtataggcatgtaaccctttgcggtgcag
+cagcttcgtcacctgttcttcgctcagttgggctaaaaaggctttacccgcaccggaagc
+gtgcatcggcaatttaccgccgataggcgcggacattcgcatcagatgcgtacactgtac
+ctggtcgataataatcgcttcgtgatcgctttgatcaagcaccgccatattgaccgtttc
+gccagactcttccattagattgcgcaggatagggtgaacaatcgctaacaaattacggct
+ctggagaaagctgctgccgaccataaaggcatgtgcgccgattgcccaatgtcccagttc
+gccaacctgacgcacgaaaccctgctgttgcatcgtggttagcaggcggtgggtcgtgga
+attgggtaacccggcttgttgcgccagttccgtgagtgccacactgccattggattcggc
+aatccactccagtaatttcaggccacgcgttaaagactgaacctgtccagtcgctggtgc
+ggtggcaacggcgggttttctgccgcgtttcgcgggaatgggtgcgaccatgacagtctc
+ttttttctgtatcgtggaaatcattttcatttttattgttagctaatgcaatagttactg
+aactgatccgatgagttaatgttgaacaaatctcatgttgcgtggtggtcgcttttacca
+cagatgcgtttatgccagtatggtttgttgaatttttattaaatctgggttgagcgtgtc
+gggagcaagtgtgagcagcaaagtggaacaactgcgtgcgcagttaaatgaacgtattct
+ggtgctggacggcggtatgggcaccatgatccagagttatcgactgaacgaagccgattt
+tcgtggtgaacgctttgccgactggccatgcgacctcaaaggcaacaacgacctgctggt
+actcagtaaaccggaagtgatcgccgctatccacaacgcctactttgaagcgggcgcgga
+tatcatcgaaaccaacaccttcaactccacgaccattgcgatggcggattaccagatgga
+atccctgtcggcggaaatcaactttgcggcggcgaaactggcgcgagcttgtgctgacga
+gtggaccgcgcgcacgccagagaaaccgcgctacgttgccggtgttctcggcccgaccaa
+ccgcacggcgtctatttctccggacgtcaacgatccggcatttcgtaatatcacttttga
+cgggctggtggcggcttatcgagagtccaccaaagcgctggtggaaggtggcgcggatct
+gatcctgattgaaaccgttttcgacacccttaacgccaaagcggcggtatttgcggtgaa
+aacggagtttgaagcgctgggcgttgagctgccgattatgatctccggcaccatcaccga
+cgcctccgggcgcacgctctccgggcagaccaccgaagcattttacaactcattgcgcca
+cgccgaagctctgacctttggcctgaactgtgcgctggggcccgatgaactgcgccagta
+cgtgcaggagctgtcacggattgcggaatgctacgtcaccgcgcacccgaacgccgggct
+acccaacgcctttggtgagtacgatctcgacgccgacacgatggcaaaacagatacgtga
+atgggcgcaagcgggttttctcaatatcgtcggcggctgctgtggcaccacgccacaaca
+tattgcagcgatgagtcgtgcagtagaaggattagcgccgcgcaaactgccggaaattcc
+cgtagcctgccgtttgtccggcctggagccgctgaacattggcgaagatagcctgtttgt
+gaacgtgggtgaacgcaccaacgtcaccggttccgctaagttcaagcgcctgatcaaaga
+agagaaatacagcgaggcgctggatgtcgcgcgtcaacaggtggaaaacggcgcgcagat
+tatcgatatcaacatggatgaagggatgctcgatgccgaagcggcgatggtgcgttttct
+caatctgattgccggtgaaccggatatcgctcgcgtgccgattatgatcgactcctcaaa
+atgggacgtcattgaaaaaggtctgaagtgtatccagggcaaaggcattgttaactctat
+ctcgatgaaagagggcgtcgatgcctttatccatcacgcgaaattgttgcgtcgctacgg
+tgcggcagtggtggtaatggcctttgacgaacagggacaggccgatactcgcgcacggaa
+aatcgagatttgccgtcgggcgtacaaaatcctcaccgaagaggttggcttcccgccaga
+agatatcatcttcgacccaaacatcttcgcggtcgcaactggcattgaagagcacaacaa
+ctacgcgcaggactttatcggcgcgtgtgaagacatcaaacgcgaactgccgcacgcgct
+gatttccggcggcgtatctaacgtttctttctcgttccgtggcaacgatccggtgcgcga
+agccattcacgcagtgttcctctactacgctattcgcaatggcatggatatggggatcgt
+caacgccgggcaactggcgatttacgacgacctacccgctgaactgcgcgacgcggtgga
+agatgtgattcttaatcgtcgcgacgatggcaccgagcgtttactggagcttgccgagaa
+atatcgcggcagcaaaaccgacgacaccgccaacgcccagcaggcggagtggcgctcgtg
+ggaagtgaataaacgtctggaatactcgctggtcaaaggcattaccgagtttatcgagca
+ggataccgaagaagcccgccagcaggctacgcgcccgattgaagtgattgaaggcccgtt
+gatggacggcatgaatgtggtcggcgacctgtttggcgaagggaaaatgttcctgccaca
+ggtggtcaaatcggcgcgcgtcatgaaacaggcggtggcctacctcgaaccgtttattga
+agccagcaaagagcagggcaaaaccaacggcaagatggtgatcgccaccgtgaagggcga
+cgtccacgacatcggtaaaaatatcgttggtgtggtgctgcaatgtaacaactacgaaat
+tgtcgatctcggcgttatggtgcctgcggaaaaaattctccgtaccgctaaagaagtgaa
+tgctgatctgattggcctttcggggcttatcacgccgtcgctggacgagatggttaacgt
+ggcgaaagagatggagcgtcagggcttcactattccgttactgattggcggcgcgacgac
+ctcaaaagcgcacacggcggtgaaaatcgagcagaactacagcggcccgacggtgtatgt
+gcagaatgcctcgcgtaccgttggtgtggtggcggcgctgctttccgatacccagcgtga
+tgattttgtcgctcgtacccgcaaggagtacgaaaccgtacgtattcagcacgggcgcaa
+gaaaccgcgcacaccaccggtcacgctggaagcggcgcgcgataacgatttcgcttttga
+ctggcaggcttacacgccgccggtggcgcaccgtctcggcgtgcaggaagtcgaagccag
+catcgaaacgctgcgtaattacatcgactggacaccgttctttatgacctggtcgctggc
+cgggaagtatccgcgcattctggaagatgaagtggtgggcgttgaggcgcagcggctgtt
+taaagacgccaacgacatgctggataaattaagcgccgagaaaacgctgaatccgcgtgg
+cgtggtgggcctgttcccggcaaaccgtgtgggcgatgacattgaaatctaccgtgacga
+aacgcgtacccatgtgatcaacgtcagccaccatctgcgtcaacagaccgaaaaaacagg
+cttcgctaactactgtctcgctgacttcgttgcgccgaagctttctggtaaagcagatta
+catcggcgcatttgccgtgactggcgggctggaagaggacgcactggctgatgcctttga
+agcgcagcacgatgattacaacaaaatcatggtgaaagcgcttgccgaccgtttagccga
+agcctttgcggagtatctccatgagcgtgtgcgtaaagtctactggggctatgcgccgaa
+cgagaacctcagcaacgaagagctgatccgcgaaaactaccagggcatccgtccggcacc
+gggctatccggcctgcccggaacatacggaaaaagccaccatctgggagctgctggaagt
+ggaaaaacacactggcatgaaactcacagaatctttcgccatgtggcccggtgcatcggt
+ttcgggttggtacttcagccacccggacagcaagtactacgctgtagcacaaattcagcg
+cgatcaggttgaagattatgcccgccgtaaaggtatgagcgttaccgaagttgagcgctg
+gctggcaccgaatctggggtatgacgcggactgattcacaaatctgtcacttttccttac
+aacaaacagggcgctcaatgagtgccctgtctctttattaatatgaaacacttatactgg
+aaacaggctggaataatcttagccggaaaaacgaatgtcaaaaggcacagtaaagatgcc
+agtcagcgtgtttccggtcctttggtcattcaattgcttcaggaacatataacgataagg
+agaacctgaactcgtgttaacgctgcttcacctgctttctgccgtcgccctgctggtctg
+ggggactcatattgttcgaaccggcgtaatgcgcgtcttcggcgcgcgtttgcgtactgt
+ccttagccggagcgtcgaaaaaaagccgctcgccttttgcgcggggatcggcgttaccgc
+actggtacagagcagtaatgccaccaccatgctggtgacctcgtttgtcgctcaggatct
+ggtagccctcgcaccggctctggtcattgtgctgggtgcagatgtcgggacggcgctaat
+ggcgcgtattctcaccttcgacttatcctggctgtcaccgttacttatttttatcggcgt
+gatttttttcctcggacgcaaacagtcacgcgccgggcaactgggccgcgtcggtattgg
+tcttgggctgattttgctagcgctggagttgattgtgcaggccgtaacgccgatcaccca
+ggcaaacggcgttcaggtgatctttgcctcgctgaccggcgatattctgctggatgcgct
+gattggcgcgatgttcgccattatcagctactccagccttgctgctgtactgctgaccgc
+gactctgaccgccgcaggcattatctccttccccgtggcgctctgtctggtgattggtgc
+taacctcggttccggtctgctggcaatgctcaacaacagtgccgccaatgccgcagcccg
+ccgtgtcgcgctgggtagtctgctgtttaagctggtgggtagcctgattatcctgccgtt
+tgtccatttgctggcagagacaatggggaagttgtcattgccaaaagcggaactggtgat
+ctatttccacgtcttctacaaccttgtacgttgcctggtcatgctgccatttgttgaccc
+gatggcacggttttgcaaaacgattattcgcgatgaaccggaactggatacccagctacg
+gcctaaacatctggatgtcagcgcgctggatacgcccacgcttgctctggcgaacgccgc
+gcgcgaaaccctgcgcattggcgacgccatggaacagatgatggaagggttgaataaagt
+gatgcacggtgagccacggcaggagaaagagctgcgtaagctggcagatgatatcaacgt
+tctctacaccgccattaagctgtatctggcgcggatgccaaaagaagagctggcggagga
+agagtcgcgccgctgggcagagatcatcgaaatgtcgctcaaccttgaacaggcctccga
+tatcgtcgagcgcatgggcagcgaaattgctgacaaatcactggcagcacggcgggcatt
+ttcgcttgatgggttgaaggaactggatgcgctctatgagcaattgctcagtaatttaaa
+gctggcaatgtcggtgttcttctctggcgatgtcaccagcgctcgtcgtttgcgtcgcag
+caaacatcgttttcgcattcttaatcgccgctattcccacgcccacgtcgatcgcctgca
+tcagcaaaacgtgcagagcattgaaaccagttcgctacatttaggcttactgggagatat
+gcagcgcctgaactcgctgttttgttcggtggcttacagtgtgctggaacagccggatga
+agatgaaggacgggacgagtattaatattgtgaatcctgtaggcctgataagacgcgtca
+agcgtcgcatcaggcactatgaacaagatgccggatcatgcatccggcaattcacttaaa
+aacggtgaccagcttccagcggaaccgcttcttcaccagccttaaacacataagtggtgt
+tcgggccacccagcgtagcgtgacctttactcactgtgatccagttaccttccggtagac
+caataatcgtcagttctggcgcgacgaccagcagttcgcgaatacgctgctcacgggttt
+cacctttatggccttccggcagcgcgttggtgaagtgcgggttgatttgcagcgggaaca
+gatttagcgcatcgaaaccttgcggatcgacaatcggcatatcgttggtggtacgaatag
+ttgggcaagcaaggttagcgcctgcgctccagccaatatacagagcgccacgtttaacca
+cgtcagtaattggtgccagcagcccgcgctcgcggcactgtttcagcaactggaaagtat
+tcccgccgccgacaatcacgatctcagcattttcaatcgcggcaacgggatcgacaacgc
+tatgaataccggtgacagaaacacccagcggagcgagaaccgcagccgttttcgctgtgt
+aatcatcccaggtctgcgttacgccagcgaaagggataaacaccgctgagcggcgaccct
+gcaactgttcagcaattagcggcagtgcatgttccagccaggctttacccggcagcgtcg
+agttactcaataaaagcagttccattacttctccggttagtaagaaatcacgggaggcat
+gctaccactgcgaatttaaccacttactgacatggctcacgatgtcgcacattgcttctg
+gaaagtgatttgagcaggtaacgaattcaagccaatggaaataacaaatagttcgctcat
+gactattttttatcaacccaaaggtacggtatattccgttttttacaggagaatttatgc
+tgcccgactcatcagtccgtttaaataaatacatcagcgaaagcggaatttgctcacgcc
+gcgaagcggatcgctatatcgagcaaggcaatgtgttccttaatggcaagcgagccacca
+ttggcgatcaggtgaaacccggcgacgttgtgaaagtaaacggtcagttgattgaacctc
+gggaagccgaagatttggtacttatcgccctgaacaagcccgttggtattgtaagcacca
+ccgaagatggcgagcgcgataacattgtcgatttcgttaaccacagcaaacgcgtgttcc
+cgattggccgcctggataaagactcccaggggctgattttcctcaccaatcacggcgatc
+tggtgaataagatcctgcgtgctggcaatgatcatgagaaagagtatctggtgacggtcg
+ataaaccgattaccgaggagtttattcgcggcatgagtgcgggggtgccaatcctcggga
+cagtgaccaaaaagtgcaaagttaaaaaagaagcgccgtttgtcttccgcattaccctgg
+tgcaggggctgaaccgtcagatccggcgcatgtgcgagcatttcggctatgaagtgaaaa
+agctggaacgcacgcgcatcatgaacgttagcttaagcggcattccgctgggggaatggc
+gcgatttaaccgacgatgagttaatcgacctctttaagctcattgaaaattcctcttccg
+aggtaaaacctaaagcgaaggccaaaccgaaaacagcgggcatcaaacgtccagtcgtta
+agatggaaaaaacggcggaaaaaggcggtcgcccggcgtccaacggtaagcgttttacct
+cgccggggcgtaaaaagaaggggcgctgattaacgcctcagactgatgaaaacggcccaa
+aagtgcccggacagtcccctcgccccttcgggaaaagggttagggtgaggggaaaattgt
+gttcacactgacgagtgaaaatctcaggcgttgattgtggattagcgcctgccgcgcgtc
+gacgtatttgctgaccagctaaatgacgcttcaggatccggtttataagcctgctttttc
+ttcaactggcgggcttttttcgcttcagcctcacgctcaaccattaatttatcgatgtaa
+tctttcttaatgctgttggtttcggagttggtcaatacgcgaccatgcgcaatccgcgcc
+cgatccagcagtgttttaagttcacgctgctcgcgttcagtcatctctttttgggtaata
+cgggggagtgccatgatggtgccctcagtgagccagagagttcagtgtacgggaattcgt
+ttgcgagcagaactgataatattcattttgccttctcttaactatttatctctttcgata
+attaattagagatgcagataaaaaaattaaaggcaattattctccgataaagacgctggt
+taacagagtacaggctcgtttattgatgagcatagtgacaagaaaatcaatacggcccga
+aatatagcttccaggccatacagtatttactcaaacaaattactatgcagtttttgcacc
+acctgctcggcatcttcgccgggcaccaggaagcacaggttatggctggatgcgccataa
+caaatcatgcgaatgttgaacggttccagtacgccgaatacctctttgccaacgccgcag
+gcttttgacaggtcattgccaatcaacgcgaccagcgccagaccttcttccacctccacc
+cgacacagtgcggaaagctccatcagcagagattgcgtcagcaacgtatcgccagtggag
+gttgaaccggtggtatcaagggttaatgccacgctcacttctgacgtggtgattaagtct
+accgaaatattatgccgcgcgaggatgccgaaaacttccgcgaggaaaccgcgagaatgc
+agcatattcaggctgtgcaaagtgagcagagtctgattgcgacgaagcgccagagcgcgg
+aacagcggcggattttcagttttattgcacaccagcgtaccacctgcgcgtgggtctttg
+ctggagccgacaaagaccgggatatcgctgcgtactgcgggtagcaacgttgccggatgc
+agtacttttgcaccaaaagttgccatctctgccgcttcggcaaacgcgatttcatcaatg
+cgttttgctgcggaaactacgcgtggatcggtggtgtagatgcccgggacgtcggtccag
+atatcaacacgagatgcgtgtaaagcctccgccagcaaggctgccgtataatcgctgcct
+ccacggccaagcgtcgttgtacgacctttattttcgctaccgataaatccctgggtgatc
+actaagccttcattgagacgtgggagcagctgcagcgcggccagttccgccagcgcggct
+atatctggctctgcacgaccaaatcggtcgttggtacgcatcactttacgtacatcaaac
+cactgtgcctgaacatcgcgttcgcgcaggatctcaacaaacagcagggtcgacatcagc
+tcgccgtggctgaccagctcatctgtcagcgccggagacgttgccagcgccgccgcttct
+gccagaacagtaatgttctccagcagacgttcaatctcttcacggataacgttcgggtaa
+cgcagacgttccagaatggcaaactggatgttgcggatagcgtcgagtttttcgaatcgc
+tcgccaggttccagtccttcagctaaagcgaccagcagattagtgataccagcagaagcc
+gagaggacaactaaacgcacgttggcatcagaaagcacaatatcagcgctgcggttcatg
+gcgtcaaaatcagctacgctggtaccgccaaatttggagacaacaatttcagacataact
+acctcgtgtcaggggatccattttcagccttggcacaagggaagagcggaagacgggtgg
+gcgcagagcgatacttcgctactattttcacccagaagtgctccaccacttgcgaaacgc
+ccgactgcgaacgcttctggtgacaacccaggggattcagcccctgtagccgatgatgaa
+cgtggccagccgttcaatcacctcggcgatgcaccccctcaggtgttatcacaggactgg
+ctcctccaacaccgttacttgggcaacgcgcctcttctggcctgcgctagcgcaggtagt
+acatttataaataaagggtgagcggggcggttgtcaacgatggggtcatgcggatttttc
+atccactcctggcggtcagtagttcagctaataaatgcttcactgcgctaagggtttaca
+ctcaacattacgctaacggcactaaaaccatcacatttttctgtgactggcgctacaatc
+ttccaaagtcacaattctcaaaatcagaagagtattgctaatgaaaaacatcaatccaac
+gcagaccgctgcctggcaggcactacagaaacacttcgatgaaatgaaagacgttacgat
+cgccgatctttttgctaaagacggcgatcgtttttctaagttctccgcaaccttcgacga
+tcagatgctggtggattactccaaaaaccgcatcactgaagagacgctggcgaaattaca
+ggatctggcgaaagagtgcgatctggcgggcgcgattaagtcgatgttctctggcgagaa
+gatcaaccgcactgaaaaccgcgccgtgctgcacgtagcgctgcgtaaccgtagcaatac
+cccgattttggttgatggcaaagacgtaatgccggaagtcaacgcggtgctggagaagat
+gaaaaccttctcagaagcgattatttccggtgagtggaaaggttataccggcaaagcaat
+cactgacgtagtgaacatcgggatcggcggttctgacctcggcccatacatggtgaccga
+agctctgcgtccgtacaaaaaccacctgaacatgcactttgtttctaacgtcgatgggac
+tcacatcgcggaagtgctgaaaaaagtaaacccggaaaccacgctgttcttggtagcatc
+taaaaccttcaccactcaggaaactatgaccaacgcccatagcgcgcgtgactggttcct
+gaaagcggcaggtgatgaaaaacacgttgcaaaacactttgcggcgctttccaccaatgc
+caaagccgttggcgagtttggtattgatactgccaacatgttcgagttctgggactgggt
+tggcggccgttactctttgtggtcagcgattggcctgtcgattgttctctccatcggctt
+tgataacttcgttgaactgctttccggcgcacacgcgatggacaagcatttctccaccac
+gcctgccgagaaaaacctgcctgtactgctggcgctgattggcatctggtacaacaattt
+ctttggtgcggaaactgaagcgattctgccgtatgaccagtatatgcaccgtttcgcggc
+gtacttccagcagggcaatatggagtccaacggtaagtatgttgaccgtaacggtaacgt
+tgtggattaccagactggcccgattatctggggtgaaccaggcactaacggtcagcacgc
+gttctaccagctgatccaccagggaaccaaaatggtaccgtgcgatttcatcgctccggc
+tatcacccataacccgctctctgatcatcaccagaaactgctgtctaacttcttcgccca
+gaccgaagcgctggcgtttggtaaatcccgcgaagtggttgagcaggaatatcgtgatca
+gggtaaagatccggcaacgcttgactacgtggtgccgttcaaagtattcgaaggtaaccg
+cccgaccaactccatcctgctgcgtgaaatcactccgttcagcctgggtgcgttgattgc
+gctgtatgagcacaaaatctttactcagggcgtgatcctgaacatcttcaccttcgacca
+gtggggcgtggaactgggtaaacagctggcgaaccgtattctgccagagctgaaagatga
+taaagaaatcagcagccacgatagctcgaccaatggtctgattaaccgctataaagcgtg
+gcgcggttaatcatcgtcgatatgtaggccggataaggcgttcacgccgcatccggcaac
+cgatgcctgatgcgacgcggtcgcgtcttatcaggcctacaggtcgatgccgatatgtac
+atcgtattcggcaattaatacatagcacgattgattaaataaccttaataacaatgccga
+cgttatgtcggcatttttttatcagataaatccccttgtctgtaatttaacggaaatcat
+accgtgaggttaatcctaaaatagatttttaatcgttgtttatttcggaaaatacgcaga
+ttaattgcttttgtttttattttaagtttatgatttttattgttatttaaatataagttg
+aaacttatatttgatattcattccaattatcctaaaacgccatcgctaattccccgcgcc
+gtaattcgcatgctttagttgtgtatactcgatcccgcccgaaatgtttttgggtaaatc
+tccattcattcaatgaagggaaattgttatgaaaaaagttctgtatggcatttttgccat
+atctgcgcttgcggcgacttctgcgtgggctgcacctgtacaggtgggcgaagcggcagg
+gtcggcagcaacgtcggtttcggcggggagttcctccgcgaccagcgtcagcaccgtaag
+ctcggcggtgggtgtcgcgcttgcggcaaccggtggcggtgatggttctaataccgggac
+caccacaaccacgaccaccagtacccagtaataaagtatgtatccccaaaataattcgag
+tcattgcatctgtggctagaagtatgaagggattaaccataaccacactccggtgtggtt
+attctgcccctctggagaagagtcgtgaagcgacctgcactcattcttatctgcctgtta
+ttacaggcctgttcagccacgactaaagagctgggcaattcactgtgggacagtctgttc
+ggcacgccaggcgtacagctgacggatgatgatattcaaaatatgccctacgccagccag
+tacatgcagcttaatggcgggccgcagttatttgtggtgctggccttcgctgaagacgga
+caacaaaaatgggtcactcaggatcaggctactctcgttacccaacatggccgtctggtg
+aagactctgctcggcggcgacaacctgattgaagtgaataaccttgctgccgacccgctg
+attaaacccgcacaaatcgttgatggcgcaagctggacgcgcacgatgggctggaccgag
+taccagcaggtacgctacgccaccgcacgctcagtcttcaaatgggatggcaccgatacc
+gtcaaagtcggcagcgatgaaaccccggttcgcgtgctggacgaagaagtctccaccgac
+caggcgcgctggcataaccgctattggatcgacagcgaagggcaaattcgccagtcggaa
+cagtatctcggcgcggattattttccggtgaaaaccactctcatcaaggcggcaaaacaa
+tgattaaacaaactattgtcgcgttgcttttgagtgtgggagcgtcatcggtcttcgcgg
+caggaaccgtcaaggtgttcagcaatggcagcagtgaggccaaaacgctaacgggcgcag
+agcatttaatcgatctggtaggccaaccgcggctggcaaacagctggtggcccggtgcgg
+tgattagcgaagagctggcaacggcggcagcattgcgtcagcagcaggcgttgctgacac
+ggctggcagaacagggcgcagattccagcgccgacgatgccgctgcgattaacgccttac
+gccagcaaattcaggcgttgaaagtgacgggcaggcaaaaaatcaatcttgatcccgata
+tcgtccgcgttgccgaacgcggtaacccgccgttgcagggcaactacacgctgtgggtcg
+gaccaccgccgtccacggtcacgttgttcgggcttatcagccgtcctggcaagcagccat
+tcactccaggtcgcgacgtggcgagctatctctctgaccagagcctgctcagcggtgcgg
+atcgcagctacgcgtgggtggtttacccggacggacgcacgcaaaaagcgccggtggctt
+actggaacaagcgtcacgtagagccgatgcccggcagcattatttatgttggcctcgcgg
+actccgtctggagtgagacgcctgatgcccttaacgccgacattcttcagactctgacgc
+agcggatacctcaataatgaaaaaaagacatctgcttagcttactggcgctgggcattag
+cacagcttgctacggcgaaacatatcctgcgcccattggtccgtcgcagtcggatttcgg
+tggcgtaggattattacaaacgcccaccgcgcgtatggcacgggaaggggagttgagtct
+gaactatcgcgataacgatcagtaccgttattactcagcttcagtgcaactcttcccgtg
+gctggaaacaacgctgcgctacaccgacgtgcgcacccggcagtacagcagcgtcgaagc
+gttctctggcgatcaaacgtataaagataaagccttcgatctcaaactgcgtttgtggga
+agagagttactggctgccgcaagtggcggttggtgcgcgggatatcggcggtacggggct
+gtttgatgcggaatatcttgttgccagcaaagcctgggggccgttcgattttacgctcgg
+cctgggctgggggtatttgggcaccagcggtaatgtgaaaaatccgctctgttcagccag
+tgataaatattgctatcgcgataacagctacaaacaggcgggatctatcgacggtagcca
+gatgttccacggtcctgcctcactgtttggcggcgtggaataccagacgccctggcaacc
+gctgcgcctgaaactggagtatgaaggcaataattatcagcaggattttgccgggaagct
+ggagcaaaaaagtaagtttaacgtcggtgcgatttatcgcgttaccgattgggccgacgt
+taaccttagctatgaacgtggcaacacctttatgtttggcgttacgttgcgcaccaactt
+taacgatctgcgcccgtcttacaacgataacgcccgcccgcaatatcaaccgcagccgca
+ggatgccattttgcagcattcggtggtggcgaatcagttaacgctgttgaaatacaatgc
+cggacttgccgatccacagatccaggcgaaaggcgatacgctgtatgttaccggcgagca
+ggtgaaatatcgtgattcgcgcgaagggatcatccgtgcgaatcggatcgtgatgaacga
+tctgccggatgggatcaaaacgatccgcattacggaaaatcgccttaacatgccgcaggt
+gacgacggaaaccgatgtcgccagcctgaaaaatcatctcgccggagagccgttgggcca
+cgaaacgacgctggcgcaaaaacgcgtcgagccagtggttccgcagtccaccgagcaggg
+ctggtatatcgacaaatcacgctttgatttccatatcgatccggtgctgaaccagtcggt
+cggtggcccggaaaacttttacatgtatcagctgggcgtgatgggaacggcagatttgtg
+gctgacggaccatctgctgaccaccggcagcctgtttgcaaatcttgccaacaactacga
+caagtttaactacactaatcctccgcaggactcgcacttaccgcgcgtgcgtacccatgt
+gcgcgagtatgtgcagaacgatgtctatgtgaataacctgcaagccaactacttccagca
+tctgggcaacggcttctacggtcaggtctacggtggttatctcgaaaccatgtttggcgg
+tgcgggggcagaagtgttgtatcgcccgctggacagcaactgggcgtttggtctggatgc
+caactacgttaaacagcgcgactggcgtagtgcaaaagatatgatgaaattcaccgacta
+cagcgtgaaaaccggacatctgaccgcctactggacgccatctttcgctcaggatgtgtt
+agttaaagccagcgtcgggcagtatctggcaggggataaaggcggcacgctggagatcgc
+caaacgctttgatagcggcgtggtggtgggtggctatgccacgatcactaatgtttcgaa
+agaggagtacggcgaaggggacttcaccaaaggcgtgtatgtctcggtaccgttggatct
+cttctcgtctggcccgacacgcagccgtgcggcgattggctggacgccgctgacgcgtga
+cggtggtcagcaacttgggcgtaagttccagttgtatgacatgaccagcgaccgtagcgt
+caatttccgctaagtcatgggaaaggtgccagttttcgcactcactggcaccttcattct
+taatggcctgtcgagccatcaggaacgcagttcactcccggtttgcgatctggtgtgtaa
+aggcgaaaacattctgtcttcctgtccgtcgatatcggttgcaggtctggttgcctgagc
+gactgggccatcattgggctggagacattgctttgcggtaggtcggctttatcagcagta
+ccgagcggaccagcataagcaggaagaacagagactgataacatcaaagcagcaaaataa
+ggcttcatttttaccacctttatcaggttacgtttcatttgttccagaggaacattgtcg
+atttttcgcgcattgctggtggctgggaatcacctgaatgggtgatttttgaattaccgg
+ctttggtgcggtttgtcttgccggatgcgccgccaggcgcggcttatccggcctacgggt
+aggtatatccggctttggtggaggcgcgctccaaatccaggttgaacaaaacatacacaa
+aaaatatagatctccgtcacatttttgcgttatacaggaagctcgccactgtgaaggagg
+tactgctatgacgtcactctctcgtccgcgcgtggagtttatctccaccattttgcagac
+cgtactcaatcttggcctgctgtgcctcggcctgattttggttgtcttcctcggcaaaga
+aacggtgcatctggctgatgtgctgttcgcgccagaacaaaccagcaaatatgagctggt
+agaaggactggtggtttactttctctatttcgaatttatcgcgctgattgtgaagtactt
+tcagtccggttttcacttcccgctacgttactttgtctatattgggatcaccgccattgt
+gcgcttgatcatcgtcgatcataaatcgccactggatgtgttgatctactcggctgcgat
+cctgttactggtgatcaccctgtggctgtgtaattcgaaacggctgaagcgggagtaaaa
+agtcagcacgccgaaatggcgcggcgtgctggacaggaagattacagcgtagcagtttgt
+tgtgttttcttcgtttccggttcccagagcgcttccagctcctcaagggttttacctttg
+gtttccgggacaaatttccacataaacagtgctgccagaacgcccatacaaccgtaaatc
+cagtaggagaaaccgttgtggaaatgggccaccagccaggagtttttgtccatcatcggg
+aaggtccaggagacgaagtagttcgccagccactgggccgccaccgcgattgccagcgct
+ttaccacgaatagcattcgggaagatttccgacagcagtacccagcataccggaccccag
+gacatggcaaaggcggcaacatagaacagcatcgacagtagcgccacaatacccggtgcc
+tgagtgtaaaacgcggtaccgaggctaaacataccgattgccattccgagtgcgccgata
+atttgcagtggcttacgaccaaatttatccaccgtcataattgccagaacggtgaaggtg
+aggttgataactccgacaataatggtctgcaacagcgcgatatccgtgctggcccccagc
+gttttgaacacttccggcgcgtagtacagcaccacattgatgccgacaaattgctggaag
+atggagagcattacgccgattacaatcacgcccacgccaaacatcagcagacgaccaccg
+gttttgcggccatgatccagggagtgtttaatttcctgtactgcctgagttgcaagcgtg
+ttgcccataattttgcgcaggataccttccgcctgttcttgcttgccgcgcgacatcagc
+cagcgaggactttctggcacggtatacagcagcattaagaacagcagtgcagggatacat
+tccgaggcaaacatataacgccagccgtcagtattcagccagctggcatcaccggaacgg
+gcaataaaatagtttacgcagtaaactaaaagttgcccgaaaataatcgcaaactggtta
+aaagagaccagtttcccgcgaatatgagctggagccagttccgcaatatacattggcgag
+agcattgaggctaaaccaacgccaataccgccaataatgcgataaataacaaattccggg
+acataacctgccagataaacaggcacagtgttgtccgggtttatagaggtaaaaccaagt
+tctggccaggcagaacctacaccagaaataaaaaacaggacagcagcaatcttaagtgaa
+tcacgacgaccgaagcggttactgcaataaccaccgagggcaccgccgatgatgcaacca
+atcagagcgctggccacgcaaaaccctaacagggagttggcagcggattcacttaagttt
+tgtggagcaacaaagacggtattgagtgactcaacagtaccggaaataacggcggtgtcg
+tagccaaataataaaccacctaatgtagcgactaaggtaatcgaaaatatataactggaa
+ttatactgggtattcattcagacctgccttagaccattctgatcttttatcagtgcattg
+atgttggaattgtcaggcagttaaggcaattatcattttttacaatgcgtttacgtaatg
+tcttttctgtgatcttaattgtgataattatccaaaattgataaaaacaatactattgcc
+gtgactcagagcacgaaagagaattatcgtaagtgggaaaacaaataacgtaaaaataat
+aagctctatgatggaaatattaaccggcgaacgattcagattgcagacgaaagaaaaaaa
+ggcgctccgtggagcgccgaataacagtcacaagttgggataacgtaagttgagggtgca
+gcggcataacattggcagaacaacatctttaacctttcacaccacctgccgtcaggccgt
+tgaccagccagcgttgagccagcaagaagacgatggtgatcggtaatgcagacatcacgg
+cagcggcggcaaagtcaccccacaggtagttttgcgggttgaggtattgctgcatcccca
+cggccagggtgtagctgtttacgtcacgcagtaacagcgacgcgaccggaacttcagtaa
+tggcagcgataaacgacaggatgaataccaccgccagaatcggtactgacagcggcaaca
+ggacaaggcggaaggcctgccacggtgtcgcaccatccagcgcagcagcttcttccagcg
+aactgtcgatggtttcgaaatagcctttgatggtccagacatgcagcgcaatcccaccca
+gatacgcgaaaattacgccgccgtgagtattcaggccaatgaatggaatgtactcaccca
+gacgatcaaacaacgcatacaacgcgaccagtgaaagtactgccgggaacatctggaaaa
+tcagcattcctttcagcagcgtcgctttgcctggaaagcgcatacgggcgaaagcgtagg
+cgcaggtggtggagagcgccacaatgccaatcgcggaaatcccggcgacctttaccgagt
+tccacagccacagcagtaccgggaatggcggtggcgtaatgcgaccatcagcctgttcaa
+cgctaaaacctaacgccagtttccagtgatcccaggagatttgctccgggatcaggctgc
+cggtcgcaaagtttccctgacgcagcgagatagcgacgaccatcagcagcgggaacataa
+tcgctgcgataaaaagtagcagtagcaggtgagtaataaataaacgagctttttgcgatt
+tcggttggaccattgccatttttgttatctcccttaatcaaacttcattcgcgtggcttt
+caggttcactatcgccagcgcacccaccagcaggaagatcagcgtggcaattgctgccgc
+cagaccgaagtcctgacccccgccgccttcaaaagcgatgcggtaggtgtagttaacaag
+caggtcggtataaccggctggcgtggtcgtgccaagacgatccgggccgccgttggttaa
+cagttgaatcagcacgaagttgttaaagttaaaggcgaagctggcgatcatcagcggcgt
+cagcggtttaatcagcagcggcagcgtaatcttaaagaagttctggaacggacctgcgcc
+atccattgctgaggcttcatacaaatcgtccggaatcgctttcagcaagcccatgcagag
+gatcatcatgtacggataacccagccaggtattgacgataattagcatcgtgcgggcggt
+ggtcggatcgctgaaccaggcgggcttcacgccaaacagcgcgctcaacatcatgttgat
+ttcaccgaagctctggttaaacaaccctttgaaaatcaagattgaaatgaacgatggcac
+cgcgtagggcagaatcagcaggacgcgatagaccgctttgccgcgcaacgcttcccactg
+caccagacacgccagaaccatgccgaccgccaccgttaaaaagacagtgatcagcgagaa
+caccacggtccagacgaaaatggcgaggaacggtttctgaatgccttcgtcggtaaagac
+gcgggtaaagtttttccagccggtggtcacggtgtaaccggggcttagcttttcatcacc
+ccagttgccgtcggcggtaatggactggtaaaagccaatttggttattcggacgatattt
+cacgccgctctgattattcgtcaacgtgccgtcaccgtcgagtgtgtagagcggctgcgt
+gccagaaaactggcgcagggagctcatcatcactttgttgccatccggcagaatggcggt
+aatgtcactcagcgcctgacgattctgggtaatcacgcgcagattcgcgcgttcgccttc
+gggctgggcggtcgtttctttcagttgcagtttttgctcgccgccaaatttaaaagcgtc
+ggagaggtaatttttgccggtttcgccgtcgctgagcgccagttgccactcatcgcccgc
+cgggtaaagaccaaagttataggttttgcctgcttgccaggagcgatctaacaacacttc
+ctgcgcacgttcaaaagtcagctggttagtgctgctgtagttggtgaaggcaatggcgat
+ggtgcagaccagagggaagaggacgaataatcccattccagccattcccgggtaaacata
+gcgccaggcgtaggctttacgattggcgaaaatatacagccccgctgaactcaatatcag
+cgtggtaatggcgaacaggtattccccttgtgcgtacattaaaacaacaaggtaacccac
+cagcaggccgagcagacctagcactgaccatttcagcgcgtcgctttgccaccaatgttt
+ctttttaatgacatccatggggttcttcctcattccaggacggataaggctttcacgcct
+tatccgacaacaactgcctgatgcgacgctgacgcgtcttatcaggcctacatacgtttc
+ggttttgtaggccggacaaggcgttcacgccgcatccggcatttcacagcattacttggt
+gatacgagtctgcgcgtctttcagggcttcatcgacagtctgacgaccgctggcggcgtt
+gatcaccgcagtacgcacggcataccagaaagcggacatctgcgggatgttcggcatgat
+ttcacctttctgggcgttttccatggtggcggcaatacgtggatctttcgccaactcttc
+ctcgtaagacttcagcgctacggcacccagcggtttgtctttattaaccgcttccagacc
+ttcatcagtcagcagatagttttcgaggaactctttcgccagctctttgttcggactggc
+ggcgttaatacctgcgctcagcacgccaacgaacggtttggatggttgacccttgaaggt
+cggcagtaccgttacaccataattcactttgctggtgtcgatgttggaccatgcccacgg
+gccgttgatggtcatcgctgtttcgcctttattaaaggcagcttctgcgatggagtaatc
+ggtgtctgcattcatgtgtttgtttttaatcaggtcaaccaggaaggtcagacccgcttt
+cgcgccagcgttatccacgcccacgtctttaatgtcgtacttgccgttttcatacttgaa
+cgcataacccccgtcagcagcaatcagcggccaggtgaagtacggttcttgcaggttgaa
+catcagcgcgctcttacctttcgctttcagttctttatccagcgccgggatctcttccca
+ggtttttggcgggttcggcagcagatctttgttataaatcagcgataacgcttcaacagc
+gatcgggtaagcaatcagcttgccgttgtaacgtacggcatcccaggtaaacggatacag
+cttgtcctggaacgctttgtccggggtgatttcagccaacaggccagattgagcgtagcc
+accaaagcggtcgtgtgcccagaagataatgtcagggccatcgccagttgccgcaacctg
+tgggaatttctcttccagtttatccggatgctcaacggtgactttaattccggtatcttt
+ctcgaatttcttaccgacttcagcgagaccgttatagcctttatcgccgttaatccagat
+taccagtttaccttcttcgattttggcgagagccgaggcggaaaacatcatcgtcgttaa
+tgcggataatgcgaggatgcgtgcacctgtttttattttcataatctatggtccttgttg
+gtgaagtgctcgtgaaaacacctaaacggactctagtttctttatacggcaacctctttc
+catcctccttgcccctacgccccaccgtcgctttgtgtgatctctgttacagaattggcg
+gtaatgtggagatgcgcacataaaatcgccacgatttttgcaagcaacatcacgaaattc
+cttacatgacctcggtttagttcacagaagccgtgttctcatcctcccgcctcctccccc
+ataaaaaagccagggggtggaggatttaagccatctcctgatgacgcatagtcagcccat
+catgaatgttgctgtcgatgacaggttgttacaaagggagaagggcatggcgagcgtaca
+gctgcaaaatgtaacgaaagcctggggcgaggtcgtggtatcgaaagatatcaatctcga
+tatccatgaaggtgaattcgtggtgtttgtcggaccgtctggctgcggtaaatcgacttt
+actgcgcatgattgccgggcttgagacgatcaccagcggcgacctgttcatcggtgagaa
+acggatgaatgacactccgccagcagaacgcggcgttggtatggtgtttcagtcttacgc
+gctctatccccacctgtcagtagcagaaaacatgtcatttggcctgaaactggctggcgc
+aaaaaaagaggtgattaaccaacgcgttaaccaggtggcggaagtgctacaactggcgca
+tttgctggatcgcaaaccgaaagcgctctccggtggtcagcgtcagcgtgtggcgattgg
+ccgtacgctggtggccgagccaagcgtatttttgctcgatgaaccgctctccaacctcga
+tgctgcactgcgtgtgcaaatgcgtatcgaaatctcccgtctgcataaacgcctgggccg
+cacaatgatttacgtcacccacgatcaggtcgaagcgatgacgctggccgacaaaatcgt
+ggtgctggacgccggtcgcgtggcgcaggttgggaaaccgctggagctgtaccactatcc
+ggcagaccgttttgtcgccggatttatcggttcgccaaagatgaacttcctgccggtaaa
+agtgaccgccaccgcaatcgatcaagtgcaggtggagctgccgatgccaaatcgtcagca
+agtctggctgccagttgaaagccgtgatgtccaggttggagccaatatgtcgctgggtat
+tcgcccggaacatctactgccgagtgatatcgctgacgtcatccttgagggtgaagttca
+ggtcgtcgagcaactcggcaacgaaactcaaatccatatccagatcccttccattcgtca
+aaacctggtgtaccgccagaacgacgtggtgttggtagaagaaggtgccacattcgctat
+cggcctgccgccagagcgttgccatctgttccgtgaggatggcactgcatgtcgtcgact
+gcataaggagccgggcgtttaagcaccccacaaaacacacaaagcctgtcacaggtgatg
+tgaaaaaagaaaagcaatgactcaggagatagaatgatgattactctgcgcaaacttcct
+ctggcggttgccgtcgcagcgggcgtaatgtctgctcaggcaatggctgttgatttccac
+ggctatgcacgttccggtattggttggacaggtagcggcggtgaacaacagtgtttccag
+actaccggtgctcaaagtaaataccgtcttggcaacgaatgtgaaacttatgctgaatta
+aaattgggtcaggaagtgtggaaagagggcgataagagcttctatttcgacactaacgtg
+gcctattccgtcgcacaacagaatgactgggaagctaccgatccggccttccgtgaagca
+aacgtgcagggtaaaaacctgatcgaatggctgccaggctccaccatctgggcaggtaag
+cgcttctaccaacgtcatgacgttcatatgatcgacttctactactgggatatttctggt
+cctggtgccggtctggaaaacatcgatgttggcttcggtaaactctctctggcagcaacc
+cgctcctctgaagctggtggttcttcctctttcgccagcaacaatatttatgactatacc
+aacgaaaccgcgaacgacgttttcgatgtgcgtttagcgcagatggaaatcaacccgggc
+ggcacattagaactgggtgtcgactacggtcgtgccaacttgcgtgataactatcgtctg
+gttgatggcgcatcgaaagacggctggttattcactgctgaacatactcagagtgtcctg
+aagggctttaacaagtttgttgttcagtacgctactgactcgatgacctcgcagggtaaa
+gggctgtcgcagggttctggcgttgcatttgataacgaaaaatttgcctacaatatcaac
+aacaacggtcacatgctgcgtatcctcgaccacggtgcgatctccatgggcgacaactgg
+gacatgatgtacgtgggtatgtaccaggatatcaactgggataacgacaacggcaccaag
+tggtggaccgtcggtattcgcccgatgtacaagtggacgccaatcatgagcaccgtgatg
+gaaatcggctacgacaacgtcgaatcccagcgcaccggcgacaagaacaatcagtacaaa
+attaccctcgcacaacaatggcaggctggcgacagcatctggtcacgcccggctattcgt
+gtcttcgcaacctacgccaagtgggatgagaaatggggttacgactacaccggtaacgct
+gataacaacgcgaacttcggcaaagccgttcctgctgatttcaacggcggcagcttcggt
+cgtggcgacagcgacgagtggaccttcggtgcccagatggaaatctggtggtaatagcaa
+aacctgggccggataaggcgtttacgccgcattcggcaaccaacgcctgatgcgacgctt
+gcgcgtcttatcaggcctacaacggctgtcaaatgtaggccggataaggcgtttacgccg
+catccggcataaaaacaggttgtcattatctgaaaggggcgaaagcccctctgattatcg
+ggtttagcgcgctattgcctggctaccgctgagctccagattttgaggtgaaaacaatga
+aaatgaataaaagtctcatcgtcctctgtttatcagcagggttactggcaagcgcgcctg
+gaattagccttgccgatgttaactacgtaccgcaaaacaccagcgacgcgccagccattc
+catctgctgcgctgcaacaactcacctggacaccggtcgatcaatctaaaacccagacca
+cccaactggcgaccggcggccaacaactgaacgttcccggcatcagtggtccggttgctg
+cgtacagcgtcccggcaaacattggcgaactgaccctgacgctgaccagcgaagtgaaca
+aacaaaccagcgtttttgcgccgaacgtgctgattcttgatcagaacatgaccccatcag
+ccttcttccccagcagttatttcacctaccaggaaccaggcgtgatgagtgcagatcggc
+tggaaggcgttatgcgcctgacaccggcgttggggcagcaaaaactttatgttctggtct
+ttaccacggaaaaagatctccagcagacgacccaactgctcgacccggctaaagcctatg
+ccaagggcgtcggtaactcgatcccggatatccccgatccggttgctcgtcataccaccg
+atggcttactgaaactgaaagtgaaaacgaactccagctccagcgtgttggtaggacctt
+tatttggttcttccgctccagctccggttacggtaggtaacacggcggcaccagctgtgg
+ctgcacccgctccggcaccggtgaagaaaagcgagccgatgctcaacgacacggaaagtt
+attttaataccgcgatcaaaaacgctgtcgcgaaaggtgatgttgataaggcgttaaaac
+tgcttgatgaagctgaacgcctgggatcgacatctgcccgttccacctttatcagcagtg
+taaaaggcaaggggtaattacgccccacagtgctgattttgcaacaactggtgcgtctcc
+tggcgcacctttttttatgcttccttcctgggatatgagcgattttttatagtaactcac
+ttcttcttcactaagaatatccattatctcaatgccttatcagagattcttttcctttcg
+ccggtagtgtctggacattcaggctacttttccaggttattttatttctgttatgcagag
+gttttatgataagtcatatcctaaattctggcggcaataactctttgatgaaacatgatg
+tggtgcaaggaaataatatagtagatcttgatttactacgtaatttaaatggggtgccag
+gtttaaacagagataactttatttatatcagcaatattttttcaaatataaaacaacgga
+acgaaaaaatcatgcaataaatatgtttcgtgaagtctcaatcagtaatgatactataag
+tgtaaaattctacagaaatgaaaaaaattgaatgcgcttgcaattttctgatggataaag
+atgcgcaggggtatatcgacctgtctgatttggatttaacaagttgtcattttaaaggtg
+acgttatatcgaaggtgtcttttttatcatcaaatctacaacatgtaacattcgaatgta
+aagaaattggggattgcaattttactactgcaatagttgataatgtcatatttagatgtc
+gacgtttacacaatgtgatttttatcaaagcgagtggtgaatgtgtcgatttcagcaaaa
+atattcttgatacagttgacttctcgcagagtcaacttggtcatagtaattttcgcgaat
+gtcagattagaaattcaaacttcgataattgttatctttacgcttcgcacttcaccagag
+cagagtttctgtctgccaaagaaatatcatttattaaatcgaatttgacagctgttatgt
+ttgattatgtgcgaatgtcgacagggaattttaaagattgcattacagaacaattggaat
+taactattgattattcagatatattttggaatgaagatctcgatggttatatcaataaca
+ttataaaaatgattgatacattgccagataatgcaatgatattgaaatccgttctggccg
+taaaactggtgatgcaattaaaaatacttaatattgttaataaaaactttattgagaata
+tgaagaaaatatttagccattgtccttatataaaagatcccattatacgcagttatatcc
+attctgatgaagataacaagttcgatgattttatgcgtcaacatcgattcagtgaggtga
+atttcgatacccaacagatgatcgattttattaacagatttaatacgaataaatggctaa
+ttgataaaaataacaatttttttatccaacttatcgatcaggccttacgatcaacggatg
+atatgatcaaagcaaatgtttggcatctttataaagagtggattcgtagtgatgatgttt
+cacctatatttatagaaactgaagataatttaagaacctttaacacgaatgaattaacac
+gaaacgataatatctttatcctgttctcctcagtcgatgatgggccagttatggtggtaa
+gctcccagcgcttacatgatatgttgaatcctacaaaagataccaattggaattccacgt
+atatctacaaatccagacatgagatgttgcctgttaatcttactcaggaaacacttttca
+gctccaaatctcatggtaaatatgcgcttttccccatttttactgcgagttggcgagctc
+atcgtataatgaataagggtgtttaagtaaaggaaaacatcaccgttcctggcatcctgg
+acggtgatgcccctacggttgccctcgccagcacgggcatcggtaaagcgtaaggttcaa
+catcgttttaccacttcatgcgattgttgcgtttttgttgcgtattagatcacttaattt
+gctttacatctcccgtaaacacttttctgcgatacaatgcctttacgttatgtaacggag
+agttcggcatgtcacaccccgcgttaacgcaactgcgtgcgctgcgctattgtaaagaga
+tccctgccctggatccgcaactgctcgactggctgttgctggaggattccatgacaaaac
+gttttgaacagcagggaaaaacggtaagcgtgacgatgatccgcgaagggtttgtcgagc
+agaatgaaatccccgaagaactgccgctgctgccgaaagagtctcgttactggttacgtg
+aaattttgttatgtgccgatggtgaaccgtggcttgccggtcgtaccgtcgttcctgtgt
+caacgttaagcgggccggagctggcgttacaaaaattgggtaaaacgccgttaggacgct
+atctgttcacatcatcgacattaacccgggactttattgagataggccgtgatgccgggc
+tgtgggggcgacgttcccgcctgcgattaagcggtaaaccgctgttgctaacagaactgt
+ttttaccggcgtcaccgttgtactaagaggaaaaaaatatggagtggagtctgacgcaga
+ataagctgctggcgtttcatcgcttaatgcgtacggataagccaattggcgcgttactgc
+tgctctggccaacattatgggcgttgtgggtggcgacaccgggcgttccccagctctgga
+tcctggcggtgtttgtcgcgggtgtctggctgatgcgcgctgccggatgtgtggtgaatg
+attatgctgaccgcaagtttgatggtcatgttaagcgcacggcgaaccgaccacttccca
+gcggcgcggtaacagagaaagaggcgcgcgcgctgtttgtcgtgctggtactgatttcgt
+ttttactggtgctgacgctgaatacgatgaccattctgttgtcgattgccgcgctagcgc
+tggcgtgggtgtacccgtttatgaagcggtatacccatctaccgcaagtggtgctgggcg
+cggcgtttggctggtcgattccaatggcttttgccgctgtgagtgagtcggtgccattga
+gttgctggttaatgttcctcgccaatattctctgggcggtggcttacgacacgcagtatg
+cgatggttgaccgcgatgatgatgtgaagattggcattaaatccacggcaatcctgttcg
+gccaatacgataaattgattattggtattttgcagattggcgtactggcactgatggcga
+tcatcggtgagttaaatggcttaggctggggatattactggtcaattctggtggctggcg
+cgctgtttgtttatcaacaaaaactgattgccaaccgcgagcgtgaagcctgctttaaag
+catttatgaataataactatgttggtctggtactatttttagggctggcaatgagttact
+ggcatttctgatgatgtaaaaaagccggatgatcatccggctttcttctgggttgcctga
+tgcgcggcgcttctcaggcctacacaacacatcgcaatttattgaatttgcagattatgg
+aaggccggataaggcgttttcgccgcatccggcaattctctctgattacccttcgccctg
+cgtcgcactctcaatcgtcaaacgcacgtctgatgtaatcaactccgccagcaactgata
+aaccttcatcgtttctgccggttcggcatcgccgctatcgctgatatacccttcatcacg
+cagtgtcagcaccagagaactgaacaccgccttgtcgaagaactccggcgcgttgatgcc
+gtgcagcacggagagacgttgcgcgacggtgcggctctctttctccagcgtaccgcggtt
+gatcgacgggttggcactcaacaaccagaaggtgatggcataacgttgcagcgtttcgcg
+cgcgcctgcggccagcagctgtagcgtgcgagaatgcgccgggttgatatgcaactcatc
+atcttgcagggtaatcagcccctgacgttgcatctcatttgccagcgcatcaataacgtc
+cggcaactcgtcgcgatcccagcgcaggaacagctccgctttcagcattgggtaaagcac
+attgacgtgctccatcaatacgtcgcgggagatgtggcgatgctgggtgacgattgccgc
+catcagcgaaggcagcaccaacatatgcgcaatgttgttgcgatagtaggtcatcagcac
+cgcttgctcgcgcggcagaatgatgatgtcgccgattgtgtctttctcgacttcaaactt
+gttcatttgcagcgcgtgatcgataagctcgctggcgctggctgaaggaacggtagagtc
+cgtggagtagggcacgttgcgcatcagatccaggtagcagttgagttgctcggttaactg
+ctcgcgggtgagtgagcgctgacgtgatgccagtagcgcagtacagcacaggttcatggc
+gtttgccgcgcctgcgttgttaatgcgtaccatcagatcggcagcaatattattgaccgt
+cggcgttaaccatgccggacgcaccgcttcgatgggatcgatagattcacgccagtcagg
+tacatgctggttaaggtaggtcatcaacggcattggttcaccgaagttgacgtaaccctg
+accgagattacgcagcttgcttaaaccgcgcagcatctgcggcaggctctctttctcttt
+cgtcgcgccgcgcagttctttggcgtaagtacccacttccatgacgtgctcataaccgat
+atagatcggaatcagcgtaatcggacgcgtgccgccacgcagcatcgcctgaatggtcat
+cgacagcgtaccagttttcggatccagcaaacgccccgtacgggaacgaccgccttccac
+gaagtactcgacggaataaccacggctgaacagttcgccgagatactcccggaaaacggt
+ggaataaagtttattgcctttaaacgtacggcgaataaagaacgcccccagacggcggaa
+aatcggcccggcaggccagaaattcaggttgatcccggcggcgatatgcggcggcaccag
+cccctggtgatacagcacgtaagaaagcagcaggtagtccatgtgactgcggtggcaagg
+cacatataccagctcatgaccgtcgtgggccagctggcgaacgcgctcagcgttatggac
+gttgatgccctggtaaagtcggttccaggtgaagcccagaatacggtcagtcaggcgaat
+catctcgtaagagaaattcgccgcaatctcttccatcagtgcaatcgcgttctgctgcgc
+tttttcatgggagatttttttgctgcgcgcttcatcttctaccgctttggcaatggcgcg
+ggaggcgagcagcttattaaacagatcctgacgagcaggcaaacgtgggcctacggcagc
+cagacgttgacgggcaaagtgcatacgcgccacgcgcgccagtttctgagcgatagtttt
+atccgtgccgtgttcatccgccatacggcgcagcgaaactgacggcgagaaacgcacaaa
+actgtcgcgaccgagccacagtacagcgaaaaatttctgtacgccgttaagcatacgcag
+cggcgggttcacttcgcctttttcacgccccggcgcgcgaccaaacatcaccgacactgg
+caccatctgcacatccagatttgggttgctacggtgcaaatcgagatagtcgtggaacag
+cttaatagactcttctttcggcgtgtaataggtgaacacacgcggcccgccgtgaatgaa
+cacatagcgcggcagtagcgtgccgtcgatttccagcggctctaacgggtcaggcaagtc
+atgtgccagacactgggcgcgcaacgtcagcaaatctgctttcgagttgtacggtaaaac
+gtacataattggacgagaggtatccagccccagttccggggcaggatctgccggaataga
+cttgctttttaccaggatgcttaatggtaaattcagtaatttgtagtaaattcgtggcca
+gccggacataaacgatgtaaagcctctggttaataatgcaaatgcgcggcaaggatagca
+gaaagtcatgggaaattctgtggtatccgctcatgtttcgcgcggcgctacgcaaacccg
+aatcatcggatttaacggtacactgatattgacgctcataatgtaaaaaggttctttcaa
+tggccaataataccactggattcacccgaattatcaaagctgctggctattcctggaaag
+gtttacgcgctgcatggatcaacgaagcggcattccgtcaggaaggcgtagcggtattgt
+tggcggtggtcatcgcctgctggctggatgtggacgcgattacccgcgtgctgcttatca
+gctccgtgatgctggtgatgattgtggaaatcctcaatagcgccatcgaagcagtggttg
+accgaattggctctgaataccatgagctttccggacgcgcaaaagatatgggatccgctg
+cggtgctgattgccattatcgtcgccgtgattacctggtgcattctgttatggtcgcatt
+ttggataacccttccagaattcgataaatctctggtttattgtgcagtttatggttccaa
+aatcgccttttgctgtatatactcacagcataactgtatatacacccagggggcggaatg
+aaagcgttaacggccaggcaacaagaggtgtttgatctcatccgtgatcacatcagccag
+acaggtatgccgccgacgcgtgcggaaatcgcgcagcgtttggggttccgttccccaaac
+gcggctgaagaacatctgaaggcgctggcacgcaaaggcgttattgaaattgtttccggc
+gcatcacgcgggattcgtctgttgcaggaagaggaagaagggttgccgctggtaggtcgt
+gtggctgccggtgaaccacttctggcgcaacagcatattgaaggtcattatcaggtcgat
+ccttccttattcaagccgaatgctgatttcctgctgcgcgtcagcgggatgtcgatgaaa
+gatatcggcattatggatggtgacttgctggcagtgcataaaactcaggatgtacgtaac
+ggtcaggtcgttgtcgcacgtattgatgacgaagttaccgttaagcgcctgaaaaaacag
+ggcaataaagtcgaactgttgccagaaaatagcgagtttaaaccaattgtcgttgacctt
+cgtcagcagagcttcaccattgaagggctggcggttggggttattcgcaacggcgactgg
+ctgtaacatatctctgagaccgcgatgccgcctggcgtcgcggtttgtttttcatctctc
+ttcatcaggcttgtctgcatggcattcctcacttcatctgataaagcactctggcatctc
+gccttacccatgattttctccaatatcaccgttccgttgctgggactggtcgatacggcg
+gtaattggtcatcttgatagcccggtttatttgggcggcgtggcggttggtgcaacggcg
+accagctttctctttatgctgttgctgtttttacgcatgagcaccaccgggctgactgcg
+caggcttatggtgccaaaaatcctcaggcattagcccgtacgctggtgcaaccgttgctg
+ttggcgttgggggctggggcgttaattgcgctgctgcgtacgccgattatcgatctggcg
+ctgcatattgttggcggtagtgaggcagtcctggaacaggcgcggcgctttcttgaaatc
+cgctggttaagcgcaccggcgtcgctggcgaatctggtattactcggttggttactcggc
+gtgcaatatgcccgtgcgccagtaattttgttagtggtcggcaatatcctcaacattgtg
+ctggatgtctggctggtgatggggctgcatatgaacgtgcagggcgcggcgctggcgacg
+gttattgcggaatatgcaacattgctgattggtctgctaatggtgcgtaaaatcctcaaa
+ctacgcggaatttccggcgaaatgctgaaaactgcctggcgaggaaacttccgtcgcttg
+ctggcgcttaaccgcgatatcatgctgcgttcgctgttgttgcaactctgtttcggcgcg
+atcaccgtacttggcgcgcgactggggagtgacattatcgctgttaacgcggttctgatg
+acgctactcacctttaccgcctatgcgctggatggttttgcctacgcggttgaagcgcac
+tccggtcaggcatacggtgcgcgcgacggtagccagttgctggatgtctggcgggcagcg
+tgccgccagtcggggatcgtagcgttactgttttcggtggtttatttgctggctggggaa
+cacatcattgcgttactgacgtcgttaacccagattcagcagctggctgaccgctatctt
+atctggcaggtgattttgccggtggttggcgtctggtgttatctgctggacggcatgttt
+ataggcgcaacgcgtgccaccgaaatgcgtaacagtatggcggtggccgccgcaggtttt
+gcgctgacgctccttacgctgccgtggctgggtaatcatgctttgtggctggcattaacc
+gtctttctggcgttgcgcgggctttctctggcggctatctggcggcgtcactggcgcaat
+ggtacctggtttgccgcaacgtgacggttaaaaattctgaataaataatcctaagccaaa
+ttgctgactacacttaatctcacgttcagaagaaaagtgaacgtactctcattcacaacc
+taacgatgaggtcttgattatgaataaagatgaagccggcggtaactggaaacagtttaa
+aggtaaagtgaaagagcaatggggcaaactgaccgatgatgatatgacgatcattgaagg
+taaacgtgatcaactggtcggtaaaatccaggaacgttatggttatcagaaagatcaggc
+agaaaaagaggtcgtggattgggaaacccgcaatgaatatcgctggtaattaatccctcc
+tgcccgacgtgtacaaggatgtacgccctcttaacgcggtttctttttcacctgcacaga
+gtgatcatgctggcactgttcaggatgacgacacgcttccacttctacacatgccgcaca
+gagcccatgtgcttcaatcacattatgccgcagggcaaaccccatttttgccgccagcgt
+atgcataatgtcttccacgccttctgcacactcttctttcactgcgccgcagcgatcgca
+aataaacatggctgacgtatgggtgggctgatcgaacagatgacagagcacataactgtt
+ggtggattccaccttatgcacaaaaccttgctcaagcagaaaatccagcgcgcgataaac
+cgttggcggcttggcttgcggttcagcttcgcgcagtaaatcaagcagatcataagcgct
+gatagcgccatcctgcagactcatcaggcgcaacacttccaggcgctgtggggtcaggcg
+cacattacgctgcgcgcagattttttcagcctgcgctaataactcctgcgttgtggtctt
+ttccatcgggcacctcaaagtgggggttaagaatgtccttactttaccatgttccaggaa
+aaacaccgagaacccttattgttgccgtaatgttgattttctgttttgtaggtaaggtgt
+tatgttgccttgtcgtaccattatcaacacgataataattaataattcatttttaaataa
+attgcttcaagttaactcgctatttatttaactgggtttaaacgcatacctgtagttcag
+aaattatgagcgatttttgatagtgaccagatggcaaaagaattataaggaggacacggt
+acgacaaaaaaggtagatgaatcatgttgaagataatacccggtgcaactggatacttta
+ataaaacactcaattcaaatcaattcgataatgaagatgcaatcaaagataaattagata
+atagaggttcaatcaaaggtaaattaaataatatatatggtaaatctattgattatgcag
+cgctgcgtcatcgggatataattattgcaaaaatagatttgtttattcaacgaatcacgc
+ataatttatggcatgcacgtaaaaaaatgtgtttttaattgtgcaaataaatgatctcaa
+aatgtgggtcaataagtatattgacgattgcactgatgaggatttaaacgatcgtgactt
+tattgcatcagttgttgaccgggctatttttcatttcgcgattaatagtatatgtaatcc
+tggggataataaagatgcaatgcccattgaacaatgtacttttgatgtagaaactaagaa
+tgaccttccctccacggttcagctattttatgaggaatctaaggataatgaacctttagc
+gaatatacattttcaagcaataggttctggttttttaacgtttgttaatgcctgccagga
+acatgatgacaacagcttaaaattatttgcttcgctgttaatttcactttcatattctag
+tgcctacgcagatttatcagaaacagtgtatattaatgaaaataatgagagctacctgaa
+agctcagtttgaaaaattatctcaacgtgatatgaagaagtacctgggagagatgaagcg
+tctggctgatgggggagaaatgaattttgatggctatctggataagatgtcacatctggt
+gaatgaaggaacgctcgatcctgatattttaagcaaaatgcgagatgctgcaccacaatt
+aattagcttcgcgaagtcgtttgacccaacctcaaaggaagagattaaaatacttacaga
+cacttctaaattaatttatgatttgttcggggttaaatcggagaaataatatgtgaagtt
+cttcgatagtatggaaggcattatataaaaggacccaatatttattgggttcttttttct
+ctatcaatactattagcagggagatatatcaccagagtttaatgtgtgattttttattta
+tcgtcgaacctggattgtttatcattggccttaacaaagttaacggctaataagattatt
+tccatcacttcgtgagagcttcatgccttgagaggatctcaattttcttttgcaatgaga
+caggcgcttcctgttgttatggtatagtaccccgctattgagcctcctgaatagtgatgc
+tgaataacataaccccatgatatatcgataaaataatctctacatttgaaaatgcacggt
+aattctgaaatgcaaaaaatcaaccaaaccagcgcaatgcctgaaaaaactgacgttcac
+tggagtggtcggtttagcgttgcaccaatgctcgactggacggacagacattgccgctat
+ttcttgcgtctgctttcccgcaatacgttgctgtataccgaaatggtgaccacaggggcg
+attattcacggtaaaggtgattatctggcgtacagtgaagaagaacatccggtagcgttg
+caactgggcggtagcgatccggcggcgctggcgcagtgtgcaaagctggcagaagcgcgc
+ggatatgatgagatcaacctgaatgtcggctgcccgtctgaccgggtgcagaacggcatg
+tttggtgcgtgtctgatgggtaatgcgcagctggttgccgactgcgtgaaagcgatgcgc
+gatgtggtgtcgattccggtgacggtgaaaacgcgtattggcatcgacgaccaggacagc
+tatgaatttctctgcgatttcatcaataccgtttccggcaaaggcgagtgtgagatgttc
+atcatccacgcacgtaaagcctggctttcggggttaagcccgaaagaaaaccgtgaaatc
+ccgccgctcgattatccgcgtgtgtatcaactgaagcgtgactttccgcatctgacaatg
+tcgattaacggtggtatcaagtcgctggaagaggccaaagcacacctgcaacatatggat
+ggcgtgatggtcgggcgcgaggcgtatcagaatccgggtattctggcggcggtagaccgg
+gagatctttggttcctcggataccgatgccgatccggtggcggtagtgcgcgccatgtat
+ccgtacattgagcgtgaactcagccaggggacgtatctcggccatattacccggcatatg
+ttgggcttgttccagggtattcctggcgcgcggcagtggcggcgttatttaagtgaaaat
+gcccataaagcgggtgcagacattaatgtgctggaacacgcgctcaaactggtggcggat
+aagcgttaacttttcaccaaaaagtagtcaaattcaccacgccctgcgcaccgtcgcggg
+gcgttttgctgttaaatcaatagattatttttggcatgattcttgtaatgccagcaagag
+atttcatatttgggagagcatcatgctggaactactttttgtgattggcttttttgtcat
+gctgatggtcaccggcgtttcgttgctgggcattatcgccgcgctggttgtggcgacggc
+cattatgttcctcggcggtatgctggcattgatgattaagttgctgccgtggttactact
+ggcgattgcggtggtgtgggttattaaggcgattaaagcaccaaaagtgccgaaatatca
+gcgttatgaccgctggcgttactaagggattgtgcggatgatcacaacctaaggttttat
+ccttagaacaaaataggaattgataatcaaatctgtcactattgcgcctctaacagattc
+atcgtgctgtaccctacatacagccgaactataaaaagaaagggcttcccaggtggaagc
+cctatttcttttatggaatcagcaggctggaaccttgcgtcgcccggctttccagaatct
+catgcgcacgctgcgcatccttcagcggatatttctgctgctcggcgacatcgaccttaa
+tcacaccgctggcaatcaaagagaacagttcattactggcctcggttaattcctcccgcg
+tggtgatatagccttgcagggaagggcgtgtcacatacaacgagcctttttgattgagaa
+tgcctaagttcacaccggtaaccgcacctgatgagttgccaaaactgaccattaagccgc
+ggcgttgcaggcaatccagcgaccgttcccaggtgtctctgcccacggaatcgtacacca
+cgcgcactttcttaccgccggtgatctcttttaaccgctcgaccagatcctcttcacgat
+agttaataacctgccacgcgcccgcttttagcgcgctctgcgctttttgcgcggttccta
+cggtgccgataagtttcgcgcccagggcttttgcccactggcaggcaattaagccaacgc
+cgccagccgctgcgtggaacaggaactgttcatcgggtttaatttcataggttttgcgca
+gcagataataaaccgttaagcctttcaggaaggatgccgcagcttgctcaaaagaaattg
+ccgcaggcagaatcgccgctttatccgcaataatgttatgcacagagctgtaagcgccta
+acgccgactgcgcatagactacacgatcgcctgccttaatatgctttacaccactgccga
+ctttactcacgatgcctgctgcttcggtgcctaatccgctgggtagcgatggcggcgggt
+aaaggccgctgcggatatatgtgtcgataaaattgatgccgatggctttattttcgacct
+ggatttcattctccgccggatcggcaggagtgaactctacggcttgaagtacttccgggc
+caccgtgcttgtgaaattcaattcgtgttgccatgtgtcctccagaacgtatcgtcaggg
+tctgcttcatatgataaagtttcgacccattctttatctcggtaactccattcactatgg
+caggaaataaacccttcaacaaacagcaggctgaaccccgcgaacgcgatccacaagttg
+ccgggctgaaagtgcctccgcactcgatcgaagcggagcagtcggtgttgggcggtttaa
+tgctagataacgaacgctgggatgatgtagccgagcgtgtggtagcagacgatttttaca
+cccgcccacaccgtcatatctttactgaaatggcgcgtttgcaggaaagcggtagcccta
+tcgatctgattactcttgcggaatcgctggaacgccaggggcaactcgatagcgtcggtg
+gttttgcttatctggcagagctgtcaaaaaatacgccaagtgcggctaacatcagtgcct
+atgcggacatcgtgcgtgaacgtgccgttgtccgtgagatgatctcggttgcgaatgaga
+ttgccgaagctggttttgatccgcaggggcgtaccagcgaagatctgctggatctggctg
+aatcccgcgtctttaaaattgccgaaagtcgtgcgaacaaagacgaagggccgaagaaca
+tcgccgatgtgctcgacgcaaccgtggcgcgtattgagcagttgtttcagcagccacacg
+atggcgttaccggggtaaacaccggttatgacgatctcaacaaaaaaaccgctggcttgc
+agccgtcggatttgatcatcgtcgccgcgcgtccgtcgatgggtaaaacaacatttgcga
+tgaacctcgtcgaaaacgcggcgatgttgcaggataaaccggtacttatcttctcgctgg
+agatgccatcagaacagatcatgatgcgttctctggcgtcgctgtcgcgcgttgaccaga
+ctaaaatccgtaccgggcagctcgatgacgaagactgggcgcgcatttccggcaccatgg
+gtattttgctcgaaaaacgcaatatctatatcgatgactcctccggcctgacgccaacgg
+aagtgcgttcccgcgcacgccgtattgcccgtgaacacggcggcatcgggcttatcatga
+tcgactacctgcaactgatgcgcgtaccggcgctttccgataaccgtacgctggaaattg
+cagaaatctctcgctcgctgaaagcactggcgaaagaactgaacgtgccggtggtggcgc
+tgtcccagttgaaccgttctctggaacaacgtgccgacaaacgcccggtcaactccgacc
+tgcgtgaatctggctctatcgagcaggatgcggacttgatcatgtttatctatcgtgatg
+aggtgtatcacgaaaacagtgatttaaaaggcatcgcggaaattattatcggtaaacaac
+gtaacggcccaatcgggacggtacgcctgacctttaacggtcaatggtcgcgcttcgaca
+actatgcggggccgcagtacgacgacgaataataattattttatgaattaggtaattaaa
+gcaaacacttatcaaggaacacaaatgcaagcggcaactgttgtgattaaccgccgcgct
+ctgcgacacaacctgcaacgtcttcgtgaactggcccctgccagtaaaatggttgcggtg
+gtgaaagcgaacgcttatggtcacggtcttcttgagaccgcgcgaacgctccccgatgct
+gacgcctttggcgtagcccgtctcgaagaagctctgcgactgcgtgcggggggaatcacc
+aaacctgtactgttactcgaaggcttttttgatgccagagatctgccgacgatttctgcg
+caacattttcataccgccgtgcataacgaagaacagctggctgcgctggaagaggctagc
+ctggacgagccggttaccgtctggatgaaactcgataccggtatgcaccgtctgggcgta
+aggccggaacaggctgaggcgttttatcatcgcctgacccagtgcaaaaacgttcgtcag
+ccggtgaatatcgtcagccattttgcgcgcgcggatgaaccaaaatgtggcgcaaccgag
+aaacaactcgctatctttaataccttttgcgaaggcaaacctggtcaacgttccattgcc
+gcgtcgggtggcattctgctgtggccacagtcgcattttgactgggtgcgcccgggcatc
+attctttatggcgtctcgccgctggaagatcgctccaccggtgccgattttggctgtcag
+ccagtgatgtcactaacctccagcctgattgccgtgcgtgagcataaagccggagagcct
+gttggttatggtggaacctgggtaagcgaacgtgatacccgtcttggcgtagtcgcgatg
+ggctatggcgatggttatccgcgcgccgcgccgtccggtacgccagtgctggtgaacggt
+cgcgaagtaccgattgtcgggcgcgtggcgatggatatgatctgcgtagacttaggtcca
+caggcgcaggacaaagccggggatccggtcattttatggggcgaaggtttgcccgtagaa
+cgtatcgctgaaatgacgaaagtaagcgcttacgaacttattacgcgcctgacttcaagg
+gtcgcgatgaaatacgtggattaatcgttctgtaatatttgattgtctgtgccggatgcg
+gcgtgaatgccttatccggccaataaaatcctaaaaattcaataagttgatgttctttca
+tgctcttataaaggtcgtgcctctggcggatgtacgtttgtcatgagtctcactctgttg
+ctaattgccgttcgctcctgaacatccactcgatcttcgccttcttccggtttattgtgt
+tttaaccacctgcccgtaaacctggagaaccatcgcgtgtttcaaaaagttgacgcctac
+gctggcgacccgattcttacgcttatggagcgttttaaagaagaccctcgcagcgacaaa
+gtgaatttaagtatcggtctgtactacaacgaagacggaattattccacaactgcaagcc
+gtggcggaggcggaagcgcgcctgaatgcgcagcctcatggcgcttcgctttatttaccg
+atggaagggcttaactgctatcgccatgccattgcgccgctgctgtttggtgcggaccat
+ccggtactgaaacaacagcgcgtagcaaccattcaaacccttggcggctccggggcattg
+aaagtgggcgcggatttcctgaaacgctacttcccggaatcaggcgtctgggtcagcgat
+cctacctgggaaaaccacgtagcaatattcgccggggctggattcgaagtgagtacttac
+ccctggtatgacgaagcgactaacggcgtgcgctttaatgacctgttggcgacgctgaaa
+acattacctgcccgcagtattgtgttgctgcatccatgttgccacaacccaacgggtgcc
+gatctcactaatgatcagtgggatgcggtgattgaaattctcaaagcccgcgagcttatt
+ccattcctcgatattgcctatcaaggatttggtgccggtatggaagaggatgcctacgct
+attcgcgccattgccagcgctggattacccgctctggtgagcaattcgttctcgaaaatt
+ttctccctttacggcgagcgcgtcggcggactttctgttatgtgtgaagatgccgaagcc
+gctggccgcgtactggggcaattgaaagcaacagttcgccgcaactactccagcccgccg
+aattttggtgcgcaggtggtggctgcagtgctgaatgacgaggcattgaaagccagctgg
+ctggcggaagtagaagagatgcgtactcgcattctggcaatgcgtcaggaattggtgaag
+gtattaagcacagagatgccagaacgcaatttcgattatctgcttaatcagcgcggcatg
+ttcagttataccggtttaagtgccgctcaggttgaccgactacgtgaagaatttggtgtc
+tatctcatcgccagcggtcgcatgtgtgtcgccgggttaaatacggcaaatgtacaacgt
+gtggcaaaggcgtttgctgcggtgatgtaatgcaggaaagcaggctggagctacccagcc
+tgcagtgaaattaaactgtcgtcgctttcactctttctttatagatgatttttttgatgc
+catcgttctacgtgagagataataaacgttgttagttcttttattgttaagcttatccca
+attatctggaattccttatcctgtttttttgggtggagtaataatttctgcacatctaac
+cattattaaatttaataataagtatcgggtttgttacgatagaatatttctatatcctca
+agaatatgctttgccttattgcctgtgactttctgagattcaattatagtatcgttaaat
+tctaatgttaaagagaactcttttttccgctttgtgtaagtttaaccttatattgattac
+caatatcaaataaaaaggtcctgtaatgagaataatcacctttaacctcctcggcaaaac
+agcaaagcgtgcaaatatacataaagtctttcttacccctgattttgttaactaaatcaa
+taaatgcgtgaaaaactttacttgcaatagaacttgatacttcttctccaggtctaaaaa
+atcttttgcaatttttaactgtgtttctatgtataaaaagaaatctttggcataagagat
+atctttattatttagtgcatctagctcaacaggtaaagatgtcgttttgttgctattcac
+atatgatatattcatatcatcatctccatcgcgagtaataaaattaatcaccattgtagg
+gtagggggctggtcaatcagaaatcatctttataaacttcgattgtttttgtaatgctgt
+atcattaagttcattaaatcgtacagcagataaatgttctatcaaatttcgctcatttgc
+cgaggattcatcataataaacgtaaaattaatgtatccttacatcgagtaataaacattt
+tttatacaaaaaaagacaggaacgtatttactgggttaaatataatcatcctgcttttca
+tcacaaaaaccgcagataatccttcctttccccggcagctggcgttatggtcagatggtt
+tttgcaacaaatctcacaataaaaagtttcaacatactgactatttagggaaaaatatgc
+gcaagatcacacaggcaatcagtgccgtttgcttattgttcgctctaaacagttccgctg
+ttgccctggcctcatctccttcaccgcttaaccctgggactaacgttgccaggcttgctg
+aacaggcacccattcattgggtttcggtcgcacaaattgaaaatagcctcgcagggcgtc
+cgccaatggcggtggggtttgatatcgatgacacggtacttttttccagtccgggcttct
+ggcgcggcaaaaaaaccttctcgccagaaagcgaagattatctgaaaaatcctgtgttct
+gggaaaaaatgaacaatggctgggatgaattcagcattccaaaagaggtcgctcgccagc
+tgattgatatgcatgtacgccgcggtgacgcgatcttctttgtgactggtcgtagcccga
+cgaaaacagaaacggtttcaaaaacgctggcggataattttcatattcctgccaccaaca
+tgaatccggtgatctttgcgggcgataaaccagggcaaaatacaaaatcgcaatggctgc
+aggataaaaatatccgaattttttatggcgattctgataatgatattaccgccgcacgcg
+atgtcggcgctcgtggtatccgcattctgcgcgcctccaactctacctacaaacccttgc
+cacaagcgggtgcgtttggtgaagaggtgatcgtcaattcagaatactgacagagcggga
+gagcgtgatgctctcccgaatgctgtttttttaatcacacctttatcctttcgctgtctt
+gctgcaaactgattaagagagttttatcaaggagcagcacatgtggtatcaaaagacgct
+cacgcttagcgccaaatctcgtgggtttcatctggtaacggatgaaattctgaatcagct
+ggctgatatgccgcgcgttaacatcggcttactgcatctgttgctgcaacatacctccgc
+ctctctgacacttaatgagaactgcgatcccaccgtacgccacgacatggagcgtttttt
+cctccgcaccgttcccgacaacggaaattatgagcatgactatgagggagcagacgatat
+gccttctcatatcaaatcctcaatgctgggaacatcgcttgtattgccggtgcataaagg
+gcgtattcagaccggcacctggcaaggcatttggctgggggaacatcgcatccacggcgg
+atcgcgtcgcatcatcgcgacactacaaggggagtaaaaaatgaccatttcggagttgct
+acaatattgcatggcaaaaccaggcgcagaacagagcgtgcataatgactggaaagcgac
+gcagatcaaagtggaagatgtactgtttgcgatggtgaaagaagtagaaaatcgcccagc
+tgtttcgctgaaaaccagcccggagctggcggagctgctacgtcagcagcacagcgatgt
+gcgtccaagccgccatctgaataaagcgcactggagcaccgtgtatctcgacggttcgct
+gccagattcgcaaatctattatctggtggatgcgtcttatcagcaggcggtgaatttact
+gccggaagaaaaacgtaaattgctggtgcaactctgaaaggaaaaggccgctcagaaagc
+ggccttaacgattacagcatcggcttaaggaagcgtgccgtgtgtgatgcttcgcactcc
+gcgacggtttctggcgtaccggagacgaggatctcgccgccaccactgccgccttctggt
+cccaggtcgacaatccagtcagcggttttgatcacgtcgagattgtgctcaatcaccaca
+atggtgttgccctgatcgcgcagtttatgcagtacgtcgagcagttgctgaatatcggcg
+aagtgcagaccggtggtcggctcgtcgagaatatacagcgtctgcccggtgccgcgtttt
+gacagttcacgcgccagcttcacgcgctgggcttcaccgcctgaaagggtggttgcggac
+tgccccagtcgaatgtacgtcaggccaacgtccatcaacgtttgcagcttacgcgccagt
+gcaggtacggcatcaaagaactcacgcgcctcttcgatggtcatatccagcacttcgtgg
+atggttttgcctttgtacttaatctccagcgtttcacggttatagcgtttacctttgcac
+tggtcgcacggcacgtagatatccggcaggaagtgcatctccactttgatcacgccatcg
+ccctgacaggcctcgcagcgtccgccacgaacgttaaagctgaaacgtcccggcgtatag
+ccgcgcgcacgggattccggtacgcccgcaaacagttcgcgcacaggcgtaaacacgccg
+gtataggtcgccgggttagaacgtggagtacgaccaattgggctttggtcgatatcgatc
+actttatcgaaatgctccagcccctgaatatcgcgatacggtgctggttcggcgatggtc
+gccccattcaactggcgttgggcaatcgggaacagtgtgtcgttaatcagcgtcgattta
+ccggaacctgaaaccccggtgatgcaggtaaacagacccaccggcagcgtcagcgtcacg
+tccttcaggttgttgccgcgtgcgcctgtcagcttcagcactttttccggattcgccgga
+acgcgtttcttcggcacttcaatcttgcgtttgccgctcatgtactgcccggtcaacgac
+tccggcaccgccataatcgcttccagcggaccttctgcgaccacttcaccgccgtgaaca
+cctgcgcccgggccaatgtcgatcacatggtcagcggcgcgaattgcgtcttcgtcgtgc
+tccaccacaatcacggtattaccgagatcgcgcagatggataagcgtacccaacaggcgc
+tcgttatcacgctggtgcaggccgatagacggctcgtccagcacgtacataacgccaacc
+aggcccgcaccaatctggctcgccagacggatacgctgtgcttcaccgccagaaagcgtt
+tctgccgagcgggaaagcgtcaggtaattcaggccgacgttaacgaggaatttcagacga
+tcgccgatctctttaaggattttttctgcaatcttcgcccgctgacctgcgagtttgaga
+ttgttgaagaattccatcgcatgaccaatgctcatgtcggagatagcaggcagcggcgta
+ttctcgacatacacgtggcgcgcttcccgacgcagacgcgtcccttcgcagctggcgcac
+ggacgattactgataaacttggctaattcttcgcgtaccgcgctggattccgtctcttta
+tagcggcgctccatattatgcagcacgccttcgaacggatgacgacgaatggaggtatcg
+ccacgatcgttcatgtatttgaattcaatgttttctttgccagaaccgtacaacaccact
+ttatgcacgttcgcgctcaggctgccccacggcgcttcgacgtcgaacttatagtgatct
+gccagcgatttcagcatctggaaataatagaagttgcggcgatcccagccacggatcgca
+ccaccagccagcgacagttccggattctggatcactcgatcaggatcgaaatattgctgt
+acgccaaggccgtcgcaggtcgggcaggcccccgccgggttgttaaacgaaaacagtcgc
+ggctccagttcacgcatactgtagccgcaaattgggcaggcgaagttggcggagaacagc
+agctcttccgctttcgggtcgtccatatccgccactaccgcggtaccaccggaaagctcc
+agcgcggtttcaaatgactcggcaagacgttgggtaagatcgtcacgcaccttgaagcga
+tcaaccaccacttcaatggtatgtttcttttgcagttccagttttggcggatcggaaaga
+tcgcagacttcgccatcaatacgagcacggatgtagccctggcttgccaggttctccagc
+gttttggtgtgttcgcctttgcgctctttaatgattggcgcgagtagcatcagacgcttg
+ccttccggctgcgacagcacgttatccaccatctggctgacggtttgcgccgccagcggg
+acgtcgtggtccggacagcgcggctcgccaacgcgggcgaataacaaacgcaaatagtcg
+tggatttcggtgattgtccccaccgtagaacgcgggttatgagacgtcgatttctgctca
+attgagatggcaggagaaagcccctcaatatgatcgacgtccggcttttccatcagtgac
+agaaactgccgcgcgtaggcggaaagggattcaacgtaacggcgctgcccttcggcatat
+aaggtgtcgaaagcgagcgaggatttgccagaacccgaaagcccggtcacgacaatgagc
+ttgtcgcgggggataacgaggttgatgtttttgagattatgggtgcgggcgccccgaact
+tcgatcttatccattcacctttcccggattaaacgcttttttgcccggtggcatggtgct
+accggcgatcacaaacggttaattatgacacaaattgacctgaatgaatatacagtattg
+gaatgcattacccggagtgttgtgtaacaatgtctggccaggtttgtttcccggaaccga
+ggtcacaacatagtaaaagcgctattggtaatggtacaatcgcgcgtttacacttattca
+gaacgatttttttcaggagacacgaacatggccagcagaggcgtaaacaaggttattctc
+gttggtaatctgggtcaggacccggaagtacgctacatgccaaatggtggcgcagttgcc
+aacattacgctggctacttccgaatcctggcgtgataaagcgaccggcgagatgaaagaa
+cagactgaatggcaccgcgttgtgctgttcggcaaactggcagaagtggcgagcgaatat
+ctgcgtaaaggttctcaggtttatatcgaaggtcagctgcgtacccgtaaatggaccgat
+caatccggtcaggatcgctacaccacagaagtcgtggtgaacgttggcggcaccatgcag
+atgctgggtggtcgtcagggtggtggcgctccggcaggtggcaatatcggtggtggtcag
+ccgcagggcggttggggtcagcctcagcagccgcagggtggcaatcagttcagcggcggc
+gcgcagtctcgcccgcagcagtccgctccggcagcgccgtctaacgagccgccgatggac
+tttgatgatgacattccgttctgatttgtcattaaaacaataggttatattgttttaagg
+tggatgattaaagcatctgccagccataaaaaagaagcctccgttatggaggcttctacg
+tatcaggtcaaaatcattggccattgtggcggtgtctgattcatctcttctatcatcacc
+gactcgatgttgtgccagatagcggtgatgtccgccattgtgatgccaagcaaccccatt
+gcgaaccaacaggcggaaacaacgcccagaccgctgctgatcaccgcaagcccgacataa
+tcagaccgacgaaaacggatgttgagtgtgctggccagaaacatcattacggcactaaga
+agttgccagcgaagaagaaccacgccagtggtgagggtagccatcaaacaattcctctga
+aaagagccgatgccctggacagcgcggcgttgttcacgggaggcgtggtacactctggct
+atcgcggggcttgcagaacacaaaaatgaaacactctgtttgtttcattaattttgtgaa
+ctatatcacaattgattgtttgttagccatattaggccgtgacttttattgctgtacaga
+ttatgtggtttttcagtggcattaagggcatatcttcccgccgcctctgcattcctgtag
+gaaattaattttgaatatcaatgaattattttcatccaggtgacgattagaaaggtatca
+atttcaaatcaggcaaaagtgctatttataccgtaagatttatctaaagacgtcggtacc
+cagggttttcaccttgcaatggccgggtataaacaggcaggaaattgatagcaatgagtc
+atcgtgcacgacaccaattactggcgttgccgggcattatctttttagttctctttccca
+tcattctttcgctatggattgccttcctttgggcaaaatcagaagtgaataatcagctcc
+gaacctttgctcaactggcactggataaatccgagctggtcattcgccaggcagatttag
+tgagcgatgcagctgaacgctatcaggggcaagtttgcactccagcccatcaaaagcgaa
+tgttgaatattattcgtggctatctttatattaatgaattgatctatgcccgtgataacc
+attttttatgctcatcgctgatagcgcctgtaaacggctatacgattgcaccggccgatt
+ataagcgtgaacctaacgtttctatctattattaccgcgatacgccttttttctctggct
+ataaaatgacctatatgcagcggggaaattatgtggcggttatcaaccctctcttctgga
+gtgaagtgatgtctgatgacccgacattgcaatggggtgtgtatgatacggtgacgaaaa
+cctttttctcgttaagcaaagaggcctcggcagcaacgttttctccgctgattcatttga
+aggatttaaccgtacaaagaaatggctatttatatgcgacagtttattcgacaaaacgcc
+caattgcagccattgttgcgacttcatatcaacgtcttataacccatttttataatcatc
+ttatttttgcgttgcccgccggtattttggggagtcttgttctgctattactctggctac
+gtattcgacaaaactatttatctcccaaacgtaaattgcaacgcgccctcgaaaaacatc
+aactttgtctttattaccagccaataatcgatatcaaaacagaaaaatgtatcggcgctg
+aagcgttgttacgttggcctggtgagcaggggcaaataatgaatccggcagagtttattc
+cgctggcagaaaaggaggggatgatagaacagataactgattatgttattgataatgtct
+tccgcgatctgggcgattacctggcaacacatgcagatcgctatgtttctattaacctgt
+cggcctccgattttcatacgtcacggttgatagcgcgaatcaatcagaaaacagagcaat
+acgcggtgcgtccgcagcaaattaaatttgaagtgactgagcatgcatttcttgatgttg
+acaaaatgacgccgattattctggctttccgccaggcaggttacgaagtggcaattgatg
+attttggtattggctactctaacttgcataaccttaaatcattgaatgtcgatattttga
+aaatcgacaaatcgtttgttgaaacgctgaccacccacaaaaccagtcatttgattgcgg
+aacacatcatcgagctggcgcacagcctggggttaaaaacgatcgctgaaggcgtcgaaa
+ctgaggagcaggttaactggctgcgcaaacgcggcgtgcgctattgccagggatggttct
+ttgcgaaggcgatgccgccgcaggtgtttatgcaatggatggagcaattacccgcgcggg
+agttaacgcgcgggcaataaaattacaggcggtggcgataatcgctgggagtgcgatcaa
+actgccgacggaaaacgcgggagaaggtctgctgcgagacataacccaggtccattgcga
+tatcaaaaatcggacgctcggtggtgcgcaactcaacggcggccagtaacaggcggcgtt
+ggcgaatgtaatcgccaagcgtctgatgcgtcaccgtgcggaacattcgttgcaagtacc
+actttgaatagcctgatttttttgcgactacatcaatgttaagcggctggtcaatatgct
+cgtcaatccatgcgataagatcctgaataattttctgatgggacataaatctgcctcttt
+tcagtgttcagttcgttaattcatctgttggggagtataattcctcaagttaacttgagg
+taaagcgatttatggaaaagaaattaccccgcattaaagcgctgctaacccccggcgaag
+tggcgaaacgcagcggtgtggcggtatcggcgctgcatttctatgaaagtaaagggttga
+ttaccagtatccgtaacagcggcaatcagcggcgatataaacgtgatgtgttgcgatatg
+ttgcaattatcaaaattgctcagcgtattggcattccgctggcgaccattggtgaagcgt
+ttggcgtgttgcccgaagggcatacgttaagtgcgaaagagtggaaacagctttcgtccc
+aatggcgagaagagttggatcggcgcattcataccttagtggcgctgcgtgacgaactgg
+acggatgtattggttgtggctgcctttcgcgcagtgattgcccgttgcgtaacccgggcg
+accgcttaggagaagaaggtaccggcgcacgcttgctggaagatgaacaaaactaaagcg
+ccacaagggcgctttagtttgttttccggtctttgtctttctctctatcccgctggtaca
+caggagggtttcccccgacgtcaacacacctcattcgagcacgtggtggaggttccggtt
+ggtgttgatgctttaattgtatgtcaccgacgtttcttcgccagtgtaaaagtatacttt
+ttaaccgcaatatttttgtcatctcagacgattttttatcgcaatcctgaacggtatacg
+gctcgataacgctgcaatcttgcgcaccgacgataacgtttgcgcatcaattgcctggtt
+tttcatcgtcaagacaataaaagagaaaaaagcagcaaacttcggttgaaaaagccgcta
+tgatcgccggataatcgtttgctttttttaccacccgttttgtatgcgcggagctaaacg
+tttgcttttttgcgacgcagcaaattgtcgcaaacctggagcaggaagataacgtttcgc
+tggcaggggattgtccgccacgcatcttgacgaaaattaaactctcaggggatgttttct
+tatgtctacgccatcagcgcgtaccggcggttcactcgacgcctggtttaaaatttcaca
+acgtggaagcactgtccgtcaggaagtggttgccgggttaacaacgtttctggcgatggt
+ctactcggtcatcgtcgttccaggtatgttgggtaaagcaggcttcccgcctgcggcagt
+tttcgttgcaacctgtctggttgccggactcggttctatcgtgatgggtctgtgggctaa
+tctgccgttggcgattggttgcgccatctccctgacagcgtttaccgcattcagcctggt
+gctggggcaacatattagcgtacctgtcgcgctgggtgccgtgttcctgatgggtgtgct
+gtttacggtaatttctgccacgggtatccgtagctggattttgcgcaacttgcctcacgg
+tgtggcgcacggcacggggattggtatcggtctgttcctgctgctcattgccgctaacgg
+tgtcggtctggtgattaaaaacccgcttgatggtctgcccgttgcgctgggtgatttcgc
+gaccttcccggtgattatgtcactggtaggtctggcggtgatcatcggcctggaaaaact
+gaaagtccctggtggcattctgctgaccattatcggtatctcaattgtcggtttgatctt
+cgatcctaacgtccatttctccggcgttttcgccatgccttcattgagcgatgaaaacgg
+caattcactgattggcagcctggacattatgggcgcgctgaatcctgtagtcctgccaag
+cgttctggcgctggtgatgacggcagtatttgatgccaccggaactatccgtgccgtcgc
+cggccaggcgaacctgctggataaagatgggcagatcatcgacggtgggaaagcactgac
+cactgactccatgagcagcgttttctctggcctggtgggtgcggctccggcagcggtata
+catcgagtctgcggcgggtacggcggcgggcggtaaaaccggtttgacggctatcaccgt
+tggcgtgctgttcctcctgattctgttcctctctccgctctcttacctcgttccggggta
+tgcaacggctccggcgctgatgtacgttggcctgctgatgctgagcaacgtggcgaaaat
+cgactttgctgattttgttgatgcgatggcgggtctggttacggctgtattcatcgtgct
+gacctgtaacatcgtaacaggcatcatgatcggcttcgcgactctggtgattggtcgtct
+ggtttccggcgaatggcgcaagttgaacatcggtacggtcgttatcgccgtggcgctggt
+gaccttctatgcgggtggctgggctatctaatctttcatcggattctgaaaacgggtggc
+aatggctgcccgtttttattttctccgcacattgtgtgagcttttgcgatattctgaaaa
+aaatgagaattcaggcataacgtctttctcagatcataaaaaacatcgcaaacagggaac
+gcatggaaatcttcttcaccatactgataatgaccctcgtggtctcgctgtccggggtgg
+tcactcgtgtcatgccctttcagatcccgcttccgcttatgcaaatcgccatcggtgcgc
+tactggcgtggccgacgtttggtttgcatgtggagtttgatcctgaactctttttagtct
+tgtttatcccgccgttgctgttcgctgatggctggaaaacgccgacccgtgaatttctcg
+aacatggtcgagagattttcggcctcgcgctggcgctggtggtggtcaccgtggtcggca
+ttggcttccttatttactgggtggtgccgggcattccgctgatccctgcctttgcgctgg
+cggcggtgctttctccgaccgatgctgtggcgctctccgggattgttggcgaagggcgca
+tcccgaaaaaaatcatgggcattttgcagggcgaagcgttgatgaatgacgcctccggtc
+tggtgtcgttgaagtttgccgtagcagtggcgatggggacgatgatcttcaccgtcggcg
+gtgcgacggtcgaatttatgaaagtagccattggcggtattctcgccggttttgtggtga
+gctggctgtacggtcgctcgctgcgattcctcagccgctggggcggtgatgaacccgcga
+cgcagatcgtcctgctgttcctgctgccattcgcttcttatctgattgccgaacatattg
+gcgtttccggcatcctcgctgcggttgccgccgggatgaccatcacccgctccggtgtga
+tgcgccgtgcgccgctggcaatgcgcctgcgtgcaaacagcacctgggcgatgctggaat
+ttgtctttaacggcatggtgttcctgctgttaggtctgcagctgccgggtattctggaga
+cgtcgctgatggcagcagaaatcgaccctaacgtcgaaatctggatgctgtttaccaata
+ttattctgatatatgcggcgctgatgctggtccgtttcggctggctgtggacgatgaaaa
+agttcagcaaccgcttcctgaagaagaagccgatggagtttggttcgtggaccacacgag
+aaatcctgatcgcgtctttcgccggggtgcgtggggcgatcactctggccggtgtgctct
+ctatcccgctgctcttgccggatggtaacgtcttcccggcgcgctatgagctggtgttcc
+tggcggctggcgtcattctcttctcgctgtttgtcggcgtggtgatgttgcctattctgc
+tacaacacattgaagtcgcggatcattcgcaacaattgaaagaggaacgtattgcgcgag
+cggcaacggcagaagtggcgattgtggcgatccagaaaatggaggagcgtctggcggcgg
+ataccgaagagaatatcgataaccagctgcttacggaggtcagttctcgcgtcattggta
+acctgcgtcgtcgcgccgatggacgtaacgacgttgaaagttccgtgcaggaagagaacc
+ttgagcgtcgcttccgtctggcggcattgcgttctgaacgtgctgaactttaccacctgc
+gcgccacacgggagatcagcaacgaaacgctgcaaaaattactgcacgatctcgatttgc
+ttgaagcgttgctaattgaggaaaatcagtaagccgaaagcgacgtaaccaggcccgagg
+taatctgaaaaaggtgcaatcttttgcacctttaacaggttagctcgggctaacattcat
+gattctaaaacaaataaattatctctcttttaaagtcaattcattggctgttcttcgact
+taacctcaatctgcatcttgcataatatctgcagtaatcttcatagcgactgcatgaaga
+ttatcctcagtttgtgacatgccagtatgagtggcacaatcttcttcaaagaatttctgt
+agtgttaccaggatatcactattaatggagatattttcctcaccacggagaatggtaata
+cccattccctggacgctagcctcatcgaaattaacacgatagagacggatattaaacatc
+caggcttttgttaaaacagaacagttgaaatggcaattgcttaaattggcattattaaaa
+ttaacattagccatattagagtcggtacatataaccatttcgaggaacgtatttgttaac
+cgcgtaaaaaagagtttgctatcaattaagtttatattctggagggttgctttattcagg
+ttgacacgagacagatcagcatgttcaaagttaattaaatcaagtttagagaagctaagg
+tcggctctaaataaattaatatatggcgctattactttataaagatttacctcagccatg
+tatgccatataaaaatttgaataatcaaggaaggtatttttaatattggctctattcatt
+gttgcattgtagaattgaacatgcatagcggaacatgaatttagagttccgtcagtcatt
+tttatctgagcgaaatttgagtcatcgagaatacaattatcaaaaagtattttttccatt
+atggcgaaattaaaattcgttttatacatattacagtcctgaaaaatagcgttttgtagt
+ctgcaacctgcaaaattcgaattggataaatcttcatctttaatcacgatacctttcagg
+ctaaggtgtgaaaaatcgtaaccaccatttactgtctgtgggatttcgatagtattatta
+tggacggtgacattatttataaaatataccaccttaattgacacttccttatctttatta
+aggtaaactcttctcgtaattctatcgtcacatttattatttgcatgtgaagctatatct
+ataaaatatttatgtattttcctgtccgtttctttcgtgatttttcctgatggtaaacta
+tcataaattcttttcattttctgaatcaagcctatcactttttcatgatcatccattttg
+aaaagagagagggctttattgtcaattaacgtgtttttatgatgtttgctgtaattatct
+gattttgttttctttgtatgtgatggacttgtgacagagtggttatcgttaatcaggcaa
+agagggaaaaacatattatttaaaccattatagcgcataaaatatccttataattaacaa
+gaaagaaaaggcatattctctgcattatcattttctacgactgtcaaaaatcgctcattt
+tttaatgagtttatttgtttaatattatgggaaaaggtgatgcatttgggagaggaagag
+tattccccggtcagacgaccggggaaggggagagattaatgcgcgcggccttgctcaacg
+ccaaagccggtctgggagcggataaactgcgcgcggaacagttcacgctcacgcgcgcct
+tccgctgagttatcggttgccgagaagaaccagatgccgaggaatgccacggtgatagag
+aacagcgccgggtattcatacgggaagatggctttttcgtgaccaaggatctgtacccaa
+atcgtcgggccgaggatcatcagtactactgcggtaatcagccccagccagccacccatc
+atcgcgccacgcgtggtcagtttcgaccagtacatagaaagcagaatgatcgggaagtta
+cagctcgccgcgatggcaaacgccagccccaccataaaggcgatgttctgattctcaaac
+agcacgccgaggataatcgcaatcacgccgaggatcagtacggtgatttttgatacccgc
+agctcttcacgttcggtcgcgccttttttgaagacgttagcgtacaagtcatgcgaaacc
+gcggatgcgcccgccagcgtcagacccgcaaccaccgcgaggatagtggcgaaagcaacc
+gctgaaataaaaccgaggaacaggttgccgcccactgcattcgccaggtgaacggccgcc
+atgttgttaccaccaatcagatggcccgccgcgtctttatattccggattcgcaccaacc
+agcatgatcgcgccgaagccgataataaaggtcagaatatagaagtagcccataaacccg
+gtggcgtagaacacgctcttacgtgcttcgcgggcatcgctgactgtaaagaagcgcatc
+agaatgtgcggcaagcccgccgtaccaaacatcagtcccagacccagagagagcgcggag
+atcggatctttcaccagcccgcccggcttcatgatgtcgacacctttcgggtgtaccgcc
+atcgcttcactgaacagattgttgaagctaaagccgacgtgtttcatcaccataaaggcc
+ataaagctggcaccgaacagcaacagcacggctttgataatttgcacccaggtggtcgcc
+agcatgccgccgaacaggacgtacatcatcatcagcacgccgaccagcaccaccgcaatg
+tgatagttaaggccaaacagcagctcgatcagtttacctgcgcccaccatctgggcgata
+aggtaaagcgccaccaccaccagagaaccacaggccgaaagaatacgaatcggcccttgt
+ttcagacggtaagaggccacatcggcaaaggtgtagcgccccaggttacgcagacgttcg
+gcaatcaggaacaaaatgatcggccagcccaccaggaagcccagcgagtaaattaagccg
+tcatagccggaggtaaacaccagcgcggagatccccaagaatgaggcggcggacatatag
+tccccggcaatcgccagcccgttctggaagccagtgatattgccgcctgcggtgtagtag
+tcgctacgagaacgtacgcgttttgatgcccagtaggtaatgccgagcgtaaacacgacg
+aaaatcaggaacataataatcgcctgccagttcgttggctggcgctctacggccccgcta
+atagcatccgcggcgttagctgcgaaagggagtgtggcggcaagcgccgtcagaactctt
+ttcatgatgcttgtacctcatgcaggacttcattattaagacggtcgaattcgccgttcg
+cccgccagatgtagataccggtgagaacaaaggagatcacaatcactccaacaccaattg
+gaataccgcgtgtgacgctggtgttcggattcagcggcgtgcccagccagccgggcgcga
+aggcgatcagtaaaataaagccgatataaactgccagcataataatcgacaggatggtgg
+caaaccgttgccgtttttcgactaactccctgaaatgcgcattgtcttctatccgctgat
+aaatagtgccattcatcacagattctccagaggtaatgtagggattgttttaattcccgc
+tcccttatgggagaaggttaacgctcgggtaacccttgccgaatgtaggccggataaggc
+gtttacgccgcatccggcaatcaatgcctgatgcgacgctgtcgcgtcttatcaggccta
+caaaccgttaccgactcgcatcgggcaattgtgggttacgatggcatcgcgatagcctgc
+ttctcttcaagcagcttctcgactacgccaggatcggcaagcgtcgaggtatcgcccagg
+ttgctggtatcgcccgccgcaattttgcgcagaatacggcgcataattttgccggagcgg
+gttttaggcagggagtcggtccagtgcagcacgtctggcgtcgccagcgggccaatctct
+ttacgcacccagttgcggacttctgcgtacagttctggtgacggttcctccccgtgatta
+agcgtgacgtaggcgtagatcgcctgacctttaatattgtgcggaatacctactacggcg
+gcttcggcaatcttcggatgcgccaccagcgccgactcaatctctgccgtccccagacgg
+tgaccggagacgttcagcacgtcgtccacacgcccggttatccagtaatagccatcttca
+tcgcgacgcgcgccgtcgccgctgaaatacatatttttgaaggtggagaagtaggtctgt
+tcaaaacgttcgtgatcgccaaacagcgtacgcgcctgacccggccaggagtcggtgatt
+accaggctaccttcggtggccccctccagcgggttaccttcgttatcgaccagcgccggt
+tgcacgccgaagaacggacgtgttgccgaaccggctttcagctcggtagcgccaggcagc
+ggggtgatcatgaaaccgccggtttcggtctgccaccaggtatcgaccaccggacatttc
+tcgttgccgatttttttccagtaccactcccacgcttccgggttaattggctcgcccacg
+gaaccgagaatgcgcagcgacgaacggtcggtgccttcgatcgctttatcgccttccgcc
+atcagcgcgcggatcgccgtgggtgcggtatagagaatattgacctgatgcttgtccacc
+acctgcgccatacgggcaggcgtcggccagttgggtacgccttcaaacatcagcgtggtc
+gcaccgcaggccagcgggccgtacagcaagtaactgtgtccggtcacccagcccacatcg
+gcggtgcaccagtagatatcacccggatgataatcaaagacatatttaaaggtcagcgcc
+gcgtacaccagataaccgccggtagtatgcagcacaccttttggcttaccggtagaaccg
+gaggtgtagagaataaacagcggatcttcggcgttcatctcttccgcctggtgctgatcg
+ctcgcttgctcaaccaggtcgtgccaccacaggtcgcgcccttcctgccagtcaattttc
+ccgccagtacgcttcagtaccaccacatgctctacgctggtgacgttcgggtttttcagc
+gcgtcatcaacgtttttcttcagcggaatactgcgcccggcacgcacaccttcgtcggaa
+gtgatcaccagtcgtgagttggaatcaataatgcgcccggcaacggcttccggcgagaag
+ccgccgaaaatcaccgaatgcaccgcgccaatgcgggcgcaggccagcatcgcaaccgcg
+gcttccggcaccatcggcatataaatcgccaccacatcaccttttttaatgcccagctcg
+agcagggtattggcgaagcggcagacgtcgcggtgcagctctttatagctgatatgtttg
+ctctggctggcgtcgtcgccttcccagatgatggcggtacgatcgccgttttcttgcaga
+tggcggtcaaggcagtttgccgccagattcagcgtgccgtcctcgtaccatttaatggac
+acattaccgggggcaaaggaggtgtttttcaccttctggtaaggtttgatccagtcaaga
+atttttccctgttcgccccagaaggtatcaggtacgttaatagattgttgatacatcgcc
+tcgtactgctgagggtttatcaggcaacggtctgcgatgttggcaggaatggtgtgtttg
+tgaatttggctcatgcttttgttctccttgtaggatgttaataatatgtggcataagcgt
+taaatgtaggggtattggcagttttgtttagtatttgggcgacagatcacgcaaaagtag
+aattgtgcaaataaacggcagggtaatttttgaaggtcagcaacaaaagttgattaattc
+tttgaggaacatgcagttatgcatgctgttgaaaaagaggaagatactgactaactctaa
+agtggtattttacatgcacttacaattgattaaagacaacattcacagtgtggttatttg
+ttacacataggggcgagcaatgtcatgacagtgtaggtgcggttactgtcgtgaaaaaca
+ataaaaaccgccattgcaacaatggcgcaattcggatgaagcccctatgacaaggataaa
+aataaacgcacgccgtatcttcagcttattgattccttttttctttttcacttctgttca
+cgctgaacaaacggctgctcccgcaaaacctgtaactgtggaagcgaagaatgaaacctt
+tgccccgcagcatcccgatcaatatctctcctggaaagccacctcggaacagtcagagcg
+tgttgacgccctggcggaagatccacggctggtgatcctgtgggcggggtatcccttctc
+gcgcgattacaacaagccgcgtggacatgcttttgctgtgaccgatgtgcgtgaaaccct
+gcgtaccggtgcgccgaaaaacgctgaagatggtccgctaccgatggcatgctggagttg
+taaaagcccggatgtggcgcgtctgatccagaaagacggcgaagatggctacttccacgg
+taaatgggcgcgcggcggtccggaaatcgtcaacaacttaggttgtgccgattgccataa
+caccgcctctccagagttcgccaaaggcaaaccggagttaaccctttcccgtccgtatgc
+ggctcgcgcgatggaagccattggtaaaccttttgagaaagccggacgtttcgaccagca
+atcgatggtttgcggtcagtgccatgtggagtattacttcgacggcaaaaacaaagcggt
+taaattcccgtgggatgacggcatgaaagtcgaaaatatggagcagtattacgacaaaat
+tgccttctctgactggactaactccctgtcgaaaacgccaatgctgaaagcgcagcaccc
+ggaatatgaaacctggacagcgggcattcacggtaaaaacaacgtgacctgtatcgactg
+ccatatgccaaaagtgcagaacgccgaaggcaaactctacaccgaccataaaattggtaa
+tccgtttgataacttcgcccagacttgtgcgaactgccatacccaggacaaagctgcctt
+gcaaaaagtggtcgcggaacgtaagcagtcgattaacgacctgaaaatcaaggttgaaga
+tcaactggttcacgctcacttcgaagcgaaagcagcgctggatgcaggcgcgacggaagc
+tgaaatgaagccaattcaggacgatatccgtcatgcccagtggcgctgggatctggcgat
+cgcttcccacggcattcatatgcacgcaccggaagaaggtttacggatgctcggtacggc
+gatggataaagcggcggatgcacgcaccaaactggcgcgcctgctggcgaccaaaggcat
+cacccatgaaatccagatcccggatatctcaaccaaagagaaagcccagcaggccattgg
+cctgaacatggaacaaatcaaggccgagaagcaggacttcatcaaaacggtgatcccgca
+gtgggaagaacaggcacgtaaaaacggtctgttaagccaataaccccgttccgcctcgca
+aggggcggaaaacacaatggagtgaatatgagcgtattacgttcgttattaactgccggg
+gtgctggcgtcgggcctgttgtggagcctgaacggaattaccgctacccctgcggcgcag
+gcatctgatgatcgctacgaagttacccagcagcgtaacccggatgccgcctgtctggac
+tgtcataaaccagataccgaaggtatgcatggaaaacatgcttccgttatcaacccgaat
+aacaaactgccggtcacctgcaccaactgtcacggccagccatcaccgcaacaccgcgaa
+ggggtgaaagatgtgatgcgctttaacgagccgatgtacaaggttggagagcagaacagc
+gtctgtatgtcctgtcatctgccggaacagttgcaaaaagcgttctggccgcacgatgtc
+cacgtaaccaaagtggcgtgcgccagctgccattccctgcatccacagcaagatacgatg
+cagacgttaagtgacaaaggacggattaagatttgcgtcgattgccacagcgatcagcgc
+accaatccgaactttaacccggcgtctgttccgttgcttaaggagcagccatgacctggt
+ctcgtcgccagtttctcaccggcgtcggcgtgctggcagccgtcagcggcaccgcagggc
+gcgtggtggcgaaaacgttgaatatcaatggggtgcgttacggcatggtgcatgacgagt
+cgttatgcatcggctgtaccgcctgtatggatgcttgtcgggaagtgaacaaggtgccgg
+aaggcgtctcgcgcctgacgattattcgtagcgagccgcagggcgaatttcctgatgtga
+aatatcgcttcttccgtaagtcttgccagcactgcgatcatgcgccgtgcgttgacgtct
+gcccgaccggtgcgtcttttcgcgatgctgccagtgggattgtcgatgttaatccggatc
+tctgcgtcggttgtcagtactgcatcgccgcctgtccgtaccgcgtgcgctttatccatc
+cggtcacgaagacggcggacaaatgcgatttctgccgtaagaccaatttgcaggccggta
+agttgcccgcgtgcgttgaagcttgcccgaccaaggcgctgacgtttggcaatctggacg
+atcccaacagtgagatttcgcaactgctgcgccagaagcccacttaccgctacaagctgg
+cgctgggaaccaaaccgaagctgtaccgcgtaccgtttaaatacggggaggtgagccaat
+gacgcagacttccgcatttcattttgaatcgctggtgtgggactggccgattgccatcta
+cctgtttttgattggtatttctgctggtctggtgacgctggccgtgctgttacgtcgctt
+ctacccgcaggcgggcggtgcagacagtacgttgctgcgcaccacgctgattgtcgggcc
+gggcgcggtgatcctcggtctgttgatcctcgtcttccacctgacaagaccgtggacctt
+ctggaagctgatgttccactacagttttacctcggtgatgtcgatgggggtgatgctgtt
+tcagctctacatggtggtgctggtgctgtggctggcgaaaatctttgaacatgatttgct
+tgccctgcaacaacgctggttgccgaagctggggatcgtgcaaaaggttctgagcctgct
+gacgcccgttcatcgcggactggaaacattgatgctggtgctggcggtgttgttgggggc
+ttataccggctttctgctgtcggcgctgaaatcgtatccgttcctcaataacccgatcct
+gccggtgctgttcctcttctccggcatctcgtccggtgcggcggtggcgctgatcgccat
+ggcgatacgccaacgcagtaacccgcattccacggaagcgcagtttgtacaccgtatgga
+aatccctgtggtatggggtgaaatcttcctgctggtggcgttttttgtcggtctggcgct
+gggcgatgacggtaaagttcgtgcgctggtggcggcattaggtggcggtttctggacgtg
+gtggttctggcttggtgtcgccgggctggggctgattgtgccaatgctgctcaaaccgtg
+ggtcaatcgcagttccggcattcctgccgtgctggcggcgtgtggggccagtctggtcgg
+cgtgttgatgctgcgctttttcattctctacgccggacagttgacggtggcgtaagccag
+aaaagaggtggtttctggacgtattccttcctgaagtcggttttctggcgttgttgttaa
+gtctcggggtcaacgtgttgaccccgttgacggccttcgcgggagtgcggttgcgctggc
+ctgccatgatgcgactcacttgcatcggcattctggcgcagttcgcgctcctgctgctcg
+cctttggcgtactgacgtattgttttctcatcagcgatttctcggtcatttatgtcgcgc
+aacatagctatagcctgctgtcgtgggaactcaagctggcagcggtgtggggcggccatg
+aaggttcgctgctgctttgggtgctgctgctttccgcctggagcgcgctgtttgcctggc
+attatcggcagcaaaccgatccgctatttccgctgacgttagccgttttatctctcatgc
+tcgccgcactgctactgtttgtggtgctgtggtccgatcccttcgtgcggatatttccac
+cagcaatcgaaggccgcgatctcaatccgatgctgcaacatcccggtcttatctttcatc
+caccgctgctttaccttggctatggcggtttgatggtagcggcgagcgtggcgctggcga
+gtctactgcgcggcgagtttgatggtgcctgcgcccgaatttgctggcgctgggcgttac
+ctggctggagtgcattaacggcggggatcatcctcggttcctggtgggcctactgcgaac
+tcggctggggcggctggtggttctgggatccggtggaaaacgcctctttattaccctggc
+tttctgccactgcgctgctgcacagtttgtccctgacacgccagcgggggattttttgcc
+actggtcgctgttgctggcgatagttactctgatgctgtcgctgctgggcaccttaattg
+tccgttctggcattctggtttcggttcatgcgttcgcgctggataacgtccgcgccgtgc
+cgttgttcagcctgtttgcactgattagccttgcgtctctggctctgtatggctggcgag
+cgcgggacggtggcccggcggtgcatttttcggggttatcgcgggaaatgttaatcctcg
+ctacgctgttgctgttttgcgcagtgctactgatcgtgctggtgggaacgctttatccga
+tgatttacggcctgctgggctggggacgcctctccgttggcgcgccgtattttaaccgcg
+cgacgttaccgtttggtctgttgatgctggtggtgattgtgctggcgacgtttgtctctg
+gcaaacgcgtgcagcttccggcgctggtagctcatgcgggcgtgctgttatttgccgctg
+gggtcgtggtctccagcgtcagccgtcaggagatcagcctgaatttacagccgggtcagc
+aggtgacgctggcaggatacaccttccgttttgagtgcctcgatctacaagccaaaggca
+attacaccagcgaaaaagcgatagtggcactgtttgaccatcagcaacgcattggtgaac
+tgacgccggagcggcgtttttatgaagcacgccgtcaacaaatgatggaaccgtcaattc
+gctggaacggcatccatgactggtatgcggtcatgggggagaaaactgggccggatcgtt
+acgcttttcgtttgtatgtacaaagcggtgtgcgctggatctgggggggaggattgttga
+tgattgcgggcgcattgttaagcggatggcgggggaagaagcgcgatgaataaagggctt
+ctcacgctactgctgttatttacctgttttgcgcacgctcaggtcgtagacacctggcaa
+ttcgccaatccgcaacaacagcaacaggcgttaaatattgccagccagttacgttgtccg
+cagtgccagaatcaaaacttactggaatccaacgcgccggtggctgtcagtatgcgccat
+caggtttacagcatggtggcggaggggaagaacgaagtcgaaatcattggctggatgacc
+gaacgctacggagattttgttcgctataacccaccgttaacgggtcagacgctggtgtta
+tgggcgctgccagtggtgttgttactgctgatggcactgatcctctggcgagtgagggcg
+aagcgatgaaacagcccaaaataccggtgaaaatgctgacaacactcacgatattgatgg
+tatttctctgtgtcggcagttatctgttaagcccaaaatggcaggcggtacgtgcggagt
+atcagcgtcagcgcgatccgctacatcagtttgccagccagcaaaccccggaagcgcagc
+ttcaggcattgcaggataaaatccgcgctaatccacaaaacagcgaacagtgggcgttac
+tgggcgagtactatctgtggcaaaacgattacagcaattcgttgctggcgtaccgtcagg
+cgttgcaactacgtggtgagaacgctgaactgtatgcggcgctggcgacggtgctttatt
+accaggccagccagcatatgaccgcccagactcgcgcaatgatcgacaaagccctcgcgc
+tggacagtaatgaaatcaccgccctgatgctgctggcttccgatgcgtttatgcaggcga
+actacgcgcaagccatcgaactatggcaaaaagtgatggatctcaactcaccgcgagtta
+accgaacacagctggttgagtcgattaatatggcgaaattgttgcagcggagattggatt
+aatcatctggtgatgaagattatgtcattgagctgcataaaaaataatcgaatgaacata
+tgccaaaaataatcactaatcagtattattgcagattaaacaaataaaaatctttccata
+acaaatggttattcattaatcctgccataaactcgcgttattatgcattaatgcagcgaa
+aagctctgttgttaaagggttgcgcaacataccgcgcaaatgatactgatcataagcgtt
+aaaaaaatctacaaaccaacgcaacacaattcatgccctggcagtatgtcacgttctcgc
+gtttctgaacggggaacggcgctccattgaggaagtcattcatatgaaaaatataaaatt
+cagcctggcctggcagattctgtttgctatggtgctgggcattctcctgggaagctacct
+gcactaccatagcgacagccgcgactggctggtcgtcaatttgctctctccggcgggtga
+tatcttcatccatctgattaaaatgattgttgtgccgattgtgatctccacgctggtggt
+gggtatcgcgggtgttggtgatgccaaacagctcgggcgtattggcgcgaaaaccattat
+ctacttcgaggtgatcaccaccgtcgccatcattttggggatcactctggcgaacgtctt
+ccagcccggtgccggggtggatatgtcgcagttggcgaccgtcgatatctcgaaatatca
+gagcactacggaagcggtacaaagcagttcccacggcattatgggcacgattttgtcgct
+ggtgccgacgaacattgtggcgtcgatggcgaaaggcgaaatgctgccgatcatcttttt
+ctcggtgctgtttggtctggggctttcttccctgcccgcgacgcatcgtgaaccgctggt
+gaccgtgttccgctccatctctgaaaccatgtttaaagtgactcacatggtgatgcgtta
+tgcaccggtgggtgtgtttgcgctgattgcggtgacggtggctaactttggtttctcgtc
+tctgtggccactggcgaaactggtgctgctggtgcatttcgccattctgttcttcgcgct
+ggtagtgctgggaattgtggcgcgcctgtgcgggttaagcgtctggatcctgattcgtat
+tctgaaagatgagctgattctggcgtactccactgccagctctgaaagcgtgctgccgcg
+aattattgagaagatggaagcctacggagcaccggtgtcgatcaccagtttcgtggtgcc
+gaccggttactcttttaaccttgatggttcgacgctgtatcaaagtattgccgctatctt
+catcgcgcagttgtatggcattgacctgtccatctggcaggaaatcattctggtgctgac
+gctgatggtgacctcgaaagggattgctggcgtgcctggcgtgtcgtttgtggtgttgct
+ggcaacgctgggtagcgtaggtattccgctggaaggtctggcgtttattgctggtgttga
+ccgtatcctcgacatggcgcgtactgcgctgaacgtggtgggtaatgcgctggcggtgct
+ggtgattgccaagtgggaacacaaatttgaccgtaagaaagcgctggcttatgagcgtga
+agtgctgggcaaatttgataaaactgcggatcaataattgaagattgccggggatatcca
+cccggcaatgtgtgaatgcctgatgcgacgcttgccgcgtcttatcaggcctacgccaga
+cagcgcaatagcctgatttagcgtgattttgtaggtcggataaggcgtttatgccgcatc
+cgacatcaacgcctgatgcgacgcttaacgcgtcttatcaggcctacgccagacagcgca
+atagcctgatttagcgtgattttgtaggtcggataaggcgtttacgccgcatccgacatc
+aacgcctgatgcgacgcttgccgcgtcttatcaggcctacgccagacagcgcaatagcct
+gatttagcgtgattttgtaggtcggataaggcgtttatgccgcatccgacatcaacgcct
+gatgcgacgcttaacgcgtcttatcaggcctacgccagacagcgcaatagcctgatttag
+cgtgattttgtaggtcggataaggcgtttatgccgcatccgacatcaacgcctgatgcga
+cgcttaacgcgtcttatcaggcctacgccagacagcgcaatagcctgatttagcgtgatt
+ttgtaggtcggataaggcgtttaccgcatccgacatcaatgcctgatgcgacgcttgccg
+cgtcttatcaggcctatcttaaccgttggttaatttttcaaactcttcacacccggtatc
+aaacccttccatacagctcaggttcaaccagtgcagcgccttttgcttgttcttctcgat
+aaaaccttcttcaccgtttaagaacatcattcccgcccagtactcggaataaccggttcg
+ggaaattgcagagctgcgtttgaaataccaggttgccttgtcatcgtcggccttaatgcc
+cacgccgttggcgtaaatcaaaccaagcagcatttgggcatcgacggcagagtcgttctc
+cagatcttccgaggcgttttctaacagcgaaattgcctttggataatccggtttacccgc
+ttgagtatttaccagaatatgcgccagcgttacttcaccttctttactgcccgcttgcgc
+cgctttctctgcaagaacttttgcttgtggatagtccagactgaccggattggtgatttt
+gatctgcgccagcagcgcgcaggcatcagcatcaccgctgtcggcggctttctgtgccca
+atattcggctttgctcaaatcgccggagctaaaccagctgtcggcaagaaaatattgtgc
+gcgtcggtccccggcctctgctgcctttaaatactggctgccaggctcggagtcgttggc
+gtgggcaaagaatgtcaaaaacaacatcaatgcgataatttttttcattttgataatacg
+attgggtagggagtaaccagtataaagagttcgaatggataaaaaaacagcctccgaaag
+gaggctgtagaaaggacggtattacgccagtgccgcttcgcgcaggcgagttttcaactt
+gttgtactcgtcaatcacgtactgctcggcggcgcgctgatcggcgatcggctcgacgcg
+aacggcgcagtatttgtactccggcgttttcgtaatcgggcttaagttttcggtaaccag
+ctcgttacaggcaccaatccaccactggtaggtcatgtaaatcgcccctttgttcggacg
+atcgctgacctgcgcacgggtgataattttgcctttacgcgagtgcacccaaaccaatgc
+ctcatcttcaatacccagacgtttggcgtcttcggtattgatttgtgcgtagccaggttc
+atcagccagcgccgccagtgccgcacagttaccggtcatcgaacggcaagagtagtgacc
+aacttcacgcaccgttgacagtaccatcgggtactcgtcggtgagtttgtcgattggcgc
+tacccagtcgcaggtgaagaactgcgccagaccgttcggggtatcaaacttctctttaaa
+cagataagaagtcccctgatcggcatctgaagtatcgcggcaaggccactgaatgaagcc
+cagttcgcccattttctcgtaagtcgcaccgtagaaatccgggcacagatgacgcaactc
+atcccagatctcctgggtgttgttgtagtgcatcggataacccatacgggtggcgatttc
+actgatgatttgccagtccgttttcagatcccatttcggttcaaccgccttgaagaaacg
+ctggaagccacggtcagccgcagtaaacacgccttcatgctcgccccacgacgttgacgg
+taaaataacatccgccgccgacgcggttttggtcataaagatgtcctgaacgataaccag
+ttccagatcttcaaaggctttacgtactgccgacagctccgcgtcagtttgtagcggatc
+ttcgcccataatgtacgcggcacgcacttcgccatgcgctgcgcggtgcggcagctcgct
+gatgcgatagccggtatgcgctggcaggctttccacgccccaggctttggcgaatttctc
+gcggttagccggatctttcacgtactggtatcccggatacgtatccggcagcgcgcccat
+atcgcaggcaccctgaacgttgttctgaccacgaaccgggttaacacccgcatgcggctt
+accgaggttaccggtcagcatcgcgaggctggtcagagaacgcacggtttccacgccctg
+gtagaactgggttacacccatgccccacaggatggcggcgcttttcgcctgggcatacat
+ccgtgccgcctgacgaatctcactggcgctgacgccggtgatatcttcaaccgactccgg
+cgtgtagccttcaacgattttacgatactcttcaaagccttctgtacgtgaagcgacgaa
+cgctttgtcgtacagattttcttcaataatgacatggcccatcgcattcaacagcgcgat
+gttcgagccgtttttcagtgcaatgtgcatgtcagcaatgcgcgcggtttcaattttgcg
+cggatcgcagacgataattttcgccccgttacgtttagcgttaattacgtgattcgccac
+gattgggtgggaatccgccgggttgtacccgaaaacgaacactaaatcggtattatcaat
+ttcgttaatagcattgctcattgcgccattaccgaccgattggtgcagacctgcaaccga
+tgggccgtgtcagacacgagcgcagcagtcaacgttattggtaccaataacggcgcgcgc
+aaatttttgcattacatagttggtttcgttacccgtaccacgcgaggagccggtcgtctg
+gatggcatccggaccgtacttctctttgatggcgctcaggcgctcggcaacgtaattcag
+tgcctcatcccaggaaacaggttcgagtttgccgccacgctggcgacggatcatgggggt
+tttcaggcgcggggtcaggatctgggtatcgttaatgaagtcccagccataataaccctt
+cagacacagggtaccctggttggttttcccctgcgctgcctccgcccggacgattttgcc
+gttatcgacgaccaggttgattttgcaacctgatgcgcaataggggcaaaccgtgacgac
+ttttttcatcggtctcgctccagttaatcaaatcacgcatacgcgctctcgactacagta
+tgcatcttttatgccacattttatgtggggtcattccctgatattacgggcactatttat
+tcaaaactctgacgaaaaacaggctgtcgtcagttttgacgtgacgaaacgaaataccgc
+gtgacagccatcacgcggcagacattttattttttctcgacgacgggacctgcctgatac
+ccgccgcccagcgatttcatcaactgaatgctttggatcacccggcggctgtccagcatc
+agtaatgacatctcttcggcaagcactggcaaccgggcttcggtggcctgtaagcggctg
+gttaagccgcgctgataggcggcctcggcagcgcgctgggtaaagcgcgtggcttccacg
+cgttcagcctgcatttctcgctcgtcgttgagcgtttgcagacgcgtgccgttgacggca
+acgtcacgcaccgcgttcagtactgactggttgtaacgttcaatcatcatgttgctggcg
+gcgcgcgtgccttcgagattggcattcaaccgtccaccgtcaaacagcggcaatttcaga
+cccgggatgaagttgaactggcgactggtttttttgaataaggtatgcagatggatggag
+tccagaccgaaaaacgctttgatatcaaagctcggatagaacaacgcccgcgcggaatcc
+acctgatctaatgacgcctgaacataccagcgcatggcttgcagatccgggcgtctggcg
+agcaactcataagagagtgtcgccggaatgccggtctggacttgcggtaatgccaccggt
+ctgatctccggcatatcgctggctcccgcgccaatcaatgcacgcagagattctcgcgtt
+tcggtgatttgccctttgacggcaacaatttgtttatcgaccgccagaatctgtgcccgc
+gcgccgtggaaaggcacttgcgcttccagaccgtgcgccactttactctggtgcgctttc
+accgcgtaatcaatcacatcgtgagtttgttctaacagatcgagcatctgatagctggcc
+tgcatactgtaataaagctgcgctacgcccgtggccagcgatagctctactgctgcggtt
+tctgccagcgcggcattatgcgcgccaatggcggcggcaaccgctgagcgatgcacaccc
+cacaaatcaagatccagtccggcaaacaaacctactgtggcttccgtatagtacggcccg
+tccatacccagtgctggcgcatccattgaataagggcttaaaaagccgttcgccgagaca
+cgttggcggttgagcatccctaacgctgcgacctgtaattgtgaaccggcatctaacaaa
+tcggcctgggactgcgctttttcttcccgcagtttcgcttcggcgagggtgtgtgaacca
+cttagcgtccgttggatcagcgcatccagctgcgggtcattgagttgtttccaccactgc
+gcctgcggccagccggagctggcaagatgaatatcgtcggccagtttgatttgttccggt
+ttgagctgttgatgaggtgcagaatccttacgtaccagggcacagccggaaatcagcgtc
+gtgctgccgagaatgctgcacaacagcagacgtgaaagttgacgattgatcattgcgtgg
+ctccttgtgcctgttccgtggcgggcgttaatgccggggctgtccagtctggcaagcggg
+cgaaaagctggcagacgtgttgctcctgttttaataaggtgggcaggatggcctgagagg
+cgggtgtctcttcaagcgttatttgaggagaacggctgagtgcggttgccagaccggcag
+cgtatttctccagggcgtcggcaaactgacctgctctgtccggctgtagtgcgttatcca
+gcgcctgcgccgagttccaggtggcatcccaggcgtgaagaagatcgcggccctgacgaa
+taaccgtttgcgaacgttcaatcagtaatgcgcgttcttcgctgtccagttgacgctcca
+gcgccacgcgttggcacatctcttcacaggcattaaacgccgcatgcagaccgatacgaa
+tttgcagataagtgcgcagagccgtgacttcctgctggcgtgggatccgcattactttac
+ttaacatacccagcgtgccagccagtttttgcggcagtgtgcgcgcttcactttcaggcc
+agacaaaggtgtaaatcaccgcggacaccacggtaccaatgatgatacccagggcgcgat
+cgcgaatttccaccaggtcgtacactgggccaaaaacgttttcgagcgtggcgagcgcga
+aggtgaccaccatctgtgtgccgatataagaagagcgttcagagctggtggcaatccatg
+cgcccaacaggaaaatcggtgccagcacaaacagcaattcgacaatattgtccagccagg
+gcatgaccagtagcgtgaataacagcgccagaatcgcgccgcaaaaggccccgccaaaac
+gcagcaccatcttctggtacgacgaaccgacatttgggttagcgacgatcacgcatgtca
+gcatacaggtgtgaatgccttcccagtccacgccgctgtaaaaggtgtaacagatcaaac
+aggcgagcagcgtttttaccgcgtagcgcatatagtctggattggtaaaagcatcggcgg
+ccattgatggcggtttggctgcgggcgttggcggcgtattcgggtccatctgacccagtt
+gtaacaacgtctggcagatattctccaggttacattcccgtgccgccatcgcttcacttt
+cactgatccgccagtcgctttgccagcactgaccttcagcaacggcatgctgcagcttgt
+tgatttctgaagctaatttttgtcggaattcaataattgcctgagaatcagcaaaagagg
+tgggatcgtagcgattcagcgtcgagtaaatgtaggttaccgttgccacgcagctttgcc
+accatgcgttttgagttcgccagttggcatcgtccgcgaggcaaaagacattgagttttt
+gtagcgccagcgcctctctttcaatccgcgtttcgggtagcggtgcgaggctgtctgtca
+ggtgactaatggcatcatcaagccgatcattaagcgcctgatgcatttgcgaaatggcac
+gactgggaaaccacagcacgccgattaacgtcatcagcaaggttggatagaggccaacaa
+cgatacaccacagcgttaagcgcacgaccacttccggatagtcgagcatggcggggaagg
+tttgcccgtaaatagcgacaatggcgacggcgaaaaagaccagccccaagcgatgggtgc
+gcatcaaaaacatgcagcccatcaggatcggtccggcgatgatcaatcggatcaacggtt
+cgccgtatgaccatttgtagatcaaaaacaggctgccgatctccagcaccgtggcaacca
+caaacaagatcgcgacaaatttggtgtaaaacgcgttcgactgaataccgtaaaacagca
+ctgccagcgataacgccacaaaagggatctcaaaggtcatcgagatcagaatcaccagca
+ggcagcctacccagagttgcacggtctgcggcacgcgacctggtcgccgctcgcttaact
+cttcatgaaagaacgccagcagcctgaccaccggtaatggcagggagttgagcgcgctca
+ttattgcggctcaagattagcgactgccgaagcgccgatgcggaacatttccgggtcagg
+tttatcgaccatgattttgaccggaaaacgctgggcaacgcggacccagttaatagaacg
+agacactttcggcaggccgcccagcaccaggccgccgtcatccggtagcacgccgtagcc
+aatcgaatccactttaccctcgaaggttttgccgctgtcactcatcaggcgaatcgttgc
+gggtgtacctgagcgaatatttttcagatcggtttcgcggaagttggcgatcacatacca
+gtgacgagtgtcgattagggtaaaaatagggcgcatggcagaagcaaattgcccgacgga
+ggttttgagggaaatgacccggccatcaaacggcgcgcgaacggtcgccatttccagatg
+cagtttggtcagggcaatatccgcttcgaccgccgcacgctgggcaactaatgcatccac
+gccgctgacggcgctggcggctgactgcgcctgtaacaatacggcattaagatccgcttc
+tgcggcgcgctgcgccgttcttgcacggtcaacatcttccgctgagacaaaaccttcttt
+cagtaatggctcggtgcggcgtaatgtatctgtggcctgtttcgcggcggcacgggcttt
+ttctaccgtggcattaaccgagtcggcaccaaactgttgcgcgtcaacgctacgctgggt
+gagcataatttgcttatccagcgccgcgagggaggcttcagctttcgccagattggcttc
+gtacgggcgcgggtcgatgcggaacagcaaatcgccctgtttgactgcctggttgtcggt
+gaccgccagttctacaatgcggccgctgacttccggtaccacatcaatggtatctgctga
+cgcgtaagcgtcattagttgatggcgcactgtctacgcgccagataacgaaaacaagggc
+aaccagcgccaacgcaaccactaacagagcagggaatttactgcgaggagcttttttcgg
+cgtactttccatgagcgcgtctcaaatagattagaaaaatgccagccagaacagcatggc
+gtagagagcaaaaagggcggtataaataattccgacaaatgccagattgatatttgcccg
+ctgaataactcgcctcgtgatgagcgtcaaaataaggctggcaatggcgcagaaaaacca
+gctgggataataagcgccgatcaccgggattgccggagataatgagcatcccgaaaccat
+gaagacgggaattatccaggctgtttttttgagttgcatcgccatgcgagagagaactgt
+tggcatattaaatacatcctgtctgctgcgaacaatatctgtagtgaatatcaatatcca
+ttgaaggcgtcagtatggctattttcttgatgaataaaaatagctttattcagccaccgc
+attcataacttatatattttatttattaattggctgtatatatttttaaaataaatactt
+ttgggggcttcagcgcccccaaaagcgagtgacattaatttggggttacgatattcaccc
+acaaatcgaaattatccagacaggcgataatttcttccagtttcgcgccattgccaataa
+ttttggctttcttcgcttttaccagatccgccattttggcttgtccggtcagcacggcgt
+gcagatcttcacggctgatgtagaaagaggcgtcggcttgcggttgcagcgttttccggt
+agttaagcacgctatcgttcagcgtcaggttgaggttatcgccgttgctcatattgaagt
+tcaggctgatatttttacccgcagctttcgcgctatcgaggcgaacggccataaagtcga
+acagcatttcgaccgacatcccgcgaatggtgtccggggaaccggtggtgccgtggctga
+acttatgcaccccttcgcgcagctctttcgcgccggtcaggtagaaaccgcgccatgtgg
+cggactcggcctgatagcccagctgttcaaagttattcgcttgcagattcttcgcgacct
+ggtcacccgggttggcggcaatcacctgtttcagcagttctgccgaccagcggtaatcac
+cttgcttgttcgcttcttgcgccaggttgatgacacgggcagaaccgcccagcgcctgca
+cgtaacgtttacccatctccacctgaccatacggatgcaggttagccgggttaccgtcgt
+aatagccaagatagaagttatacaccgcgcgggcgttgtggctgacagaaccgtaatagc
+cgcggctggcccagttattggcaagtgcaggcggcagcttaatcatgtcgccgatttcat
+tcatggtgtagccctggttcgccaggtgcagggtctggtcgtgaatgtacttgatggtat
+cgcggtatttaccaatataatcattgatatgcttattgccccagaccggccaggtgtgcg
+gcataaacagcacttccgcgtcgttaccccacatatccagcgtttcgttcagatactcgg
+tccacttgctggtgtcgcgggttttcgcgccgcgcagagtgtagaagttgtgcagggtat
+gcgtggcgttctcggcggtacacagggctttcagggccggaatatagaagtgcatttcgg
+ctggcgcttcgctacctggggtcatcaggaagtcaaactccaggccgtcgataatcatct
+tctcgccagttctgacgatagttttcgtcggtgcaataatgctcgggtcgcccgttgcca
+gcgtcacgccaaggccattacccacattgccttgcgcgttgtgcggcagtaacagaccgt
+aagagtagagcgcacggcggctcatgatgttacccgccagcacgttttcgctgatggctt
+cgtccataaagcctgcaggggcaatcacctgaactttgccggatttaacatcggcttcag
+agataatgcctttcacgccaccatagtggtcggtgtggctgtgagtgtagataacggcaa
+caatcggtttttgcggacgatgctggaagtaaaggtcaagtgcggcttttgcggcaggcg
+gcgtcaccagcgggtcgataacaataatgcctttctcgccctcaacgaacgtaatgttag
+agatatcctggccgcgcacctgatacattttatcggtgactttgaacaggccagaaatac
+cgttgatttgcgactgacgccacaggctggggtttacggtttccggcgctgcggcattaa
+tatcaaatttgtaatcgtccgcgcggtagtaaactttaccgttcgcatcacgcagaatac
+cttcatccagcagcggggcgataaatccacgctgggcatcgtcaaaatcctgacgatcgc
+taaacggtaatgatttggcgtaattctgattaacctgttgggtatattgagtggcggctt
+tcgcttcctctttcgcgttagcggtatttaccatcatgccgctggcggcagttaacgcaa
+taacaatcctgctcaaacggaataaccgagagttattcatataaatctccatttatcatt
+tatgtcgtaaatatgtaatccatgcaaaatacgtcatttaaagctggcgttatcataatt
+gggaaattgcgactttaataagtggaagtgtgagcggaacgcgccattttattaggcatt
+tgtgctgaagagggaaaattacagtaaaactatcattgcagaaaataatatgagtcgttt
+tatgtgtttattatatatattgtacctgtcgttggcacagcgggacattgcgctactgtg
+ccaacgttttactcatggggctttagcacagaactgtggcaaaaaacgttgatgcgccaa
+tattgctgcaccctgagcgccattaaagtcagaagatgaggcggcaataaagcgcacgac
+ctgatgcggcagtggacggcgcaggtacttttgggtcatggcaacgagagtctcgcgtgg
+gaaggcgggcatatccatcacgccaccgcccaggatcaccgcatcgggatcgaacagatt
+aatgctggtggcaatggcccgtgccgcgttttcaagcagactctggacgaaaggggcgtt
+ttccgcatggacgaaaagatcgcgcaatgggtaatttcggggctgttgttcgtaccagcg
+tcttagcgccattccagagcaattggtttccaggcacccaggattgccacacgcgcagtg
+ttgggtcatatctcccagggggatatgacccagttcgcctgccacaccgtgtgcacccgt
+ccacggcgcaccgttcatccacactgcgaaccccatccccgtaccgagataggccgccag
+aaccagttgttgcgtaaggcggttttctactacgtcccaggagagttgcaggttaacgtc
+gcgggaaaactcaaccggacaattcagcgtattttcgagcttatcggcgagatcatataa
+atccgccgctgttaacggcaggttaggcgtagaaataatggtgcgtttatctttactgac
+cagcgccggaaatcccatcaccagaccatgacagcgagcgttaaagcgcctgagttgctc
+gtcaatcatttcgccgatacccgacaccaggccgggagcaatgacttctgcggtccgctt
+tttttcgcagtgtagcgtttcaccttctgctgtccgcagacaaaagcggatatgcgttgc
+ccccatatccacgcccgctacgacgttatgctgtttttgcatgaggctgtacctcgcttt
+ttgcagccagaatctgcgcggtcataattctccatgcttcgtcgatattttccgcatgat
+taaacaggccggaagtgccgacgataaagacatccgcccctgccgccatcagtttttcgt
+aagttgcctggttgcaggaaccgtccacctcaatttcgtactccagaccttctcgttcac
+gccatgccttcagttcggcaagtttatccagcatttcaggaatgaacggttgtccggcaa
+agccgggatcgacagtcatgaccgtaattttatcggccttatggatatagtatttcatgg
+cctcaactggcgtctccgggttaaggatcagccccactttcatgtcatgacggcggattt
+catcaatcaggcggaacgcctggccgttgatggtttccggatgcagagtgatgaaatctg
+ctcccgcacgcgccagttgagcaatgtaatcctgcggccgcgtcaccatcagatgacagt
+cgagcggtttagttgccagttttttaacctgacttacgaagaacggtgagagtgtcagat
+tggggacaaagtgaccgtccatgatatcgatgtggaagtaatcggcatggctgtcgataa
+attcgatctgttctttaaatttcagcagatccatacacattaacgagggggagattttca
+tgttcaattccttacttactgataagacggtcaagggcgacagccgcgataattaatccg
+cccatcaccaccagttggtaataggtttgtacctgcaaaatattcagaccgttgttgatg
+gtgccgatgatcaacccgccaatcaccacagagaaaatgcgccccttgccgccgaagaaa
+ctggtgccgccaatgatggcgctggcaatggcataggtttcaaaacccataccggcaagc
+ggttctgcggcaccgagtcgtgcagttgagacgacgcctgccagacctgcacaaacaccg
+gagatgataaacaccaccaggatgtggaatttcacgtcaatcccggaatagaacgccgaa
+tttttgttgccgcccagtgcgtagatgttgcgcccgagccgcatacgcgttgtcagaaac
+caaaggatgagcgcgacaattagtgagaagataacggggacaggtatcccaattacgctg
+gcggcaaagaagttcacgaagtcaaatgagaagccgtataccgagttggcatcggagatc
+accagcgtgatcccacggaaaatcgcgttggtgccaagggtgatgatgaacgggtgtagc
+cccgtccagttgaccaggcagccgttgatcgcccccagtgcgccgccaaccagtacaccg
+ccaatcatcgctgcgagaaacgggtcaacacctgccaacatcagtttggcggtcaccata
+ccggaaagcgccagaatcgcgccaaccgagaggtcgataccagcgaccaggatagcgaaa
+aactcgcccatgccgatcaataccgtcacggagctttgaacaaaaatctgggtaatatta
+ttggtggtcagaaaatattctggtgacagcgaaccaaagatggcgacgatgatcgccagg
+ataaaaaaggtgccgtatttatcccagaacagcgcaaagttgaacggtttcttctcgctc
+gcttcgctttttactcttgtggtaaagcccatgccataatctcctcttcgctcatgtcat
+cgcgattcgtcaggatttgcgtcagtcgtccttcgcagaacacggcgatgcggtcgcaga
+cggtgataatttcaggtagttcagatgacaccatcaggatgacttttccgtcgtccgcca
+gttggcgcatcactttgtaaatttcggctttcgcgccaacgtcgatgccgcgggtaggtt
+catcgaaaataatcacttccgggcaacagcacagccatttggagatcaggactttctgct
+gatttcccccggagagttcggtgatattctggtttaccgaatgacatttcagcgccagca
+gttcgcgttgattttcagcggtacgttgctcgtcaacttcatgaaacaagcccatcgcgc
+ctttatagccgccgtctttcagactgcggctgatcgccatgttctgagcgatggaaaagt
+tggggaaaaaaccgttatcccggcggctttcagtgatgtaagccatcccttttttcacgg
+catccaggggtgaacgtggagagatatctttgccattaagacggatttctccgccagcgc
+gtttatccacgccaaacagacaattcatcagttcagtacgtccggaaccgaccagtccgg
+caaagcctaatatttctccccggcagacgctaaatgagatatcccggaccttttttctgt
+cacgactggtgacgttccgcacctcaaaaaccgtttcgtgcgcaaggttgctgacattct
+ccttcatcgcgttaaaacggttttgcagttcgcggcctaccatcagacggacgatatcgt
+catttgacacatcgcttactatgccgctgcaaacgctgctgccgtctttcatcaccgtat
+agcggtcgcaaatacggcgaatttccgccaacttatgcgagatatagacgatggccgtac
+cctctttacgcaactgattcatgatcagaaacagatagtccacctctttattggtgagtg
+aggaggtgggttcatccatgatgatgactttggcatcgagcatcagcgttttggcaattt
+ctagcatctgcttgtggctgatagataaattcgccactttctcatctagatcaactttca
+agcccacgcgtaataacatcatggcggcgcggacacgcatttctcgccagtcgataatat
+tgacgccacagatttttttcgtcagatgacgaccaatatataaattttccagtacggtta
+attcatcaataacgctgagttcctgataaataatcccgataccgagttgtgccgctaatt
+tatgatccagcttgttatagctaatgttattaatggtaatggtgcctttggtcggctcat
+gtattccggataaaactttcattagcgtggatttacccgcgccattttctcctagtaatg
+catgtatttcaccaggataaaccgttaaattaaccgactttaatgcgtgaaccggaccaa
+aggacttgccgatccccgccatcgatatatatggcgtggccataaataacctctctgcac
+gaaatatcgtattattgcctgatggctacatttatcaggtctacgttcaggttattttgt
+tggccggataagacacttcattagcatcatcatccggcatcattcagttttattgagtga
+ccaggattgaatcgaccagtttaaattccggtgctttatccagcgggataaccttgccgg
+atttctcagcgtcaaccatcagcttcagacccgttgcgccgatatccgccgggttctggg
+caaccgtcgcggtcatttgtccggcttccaccattttgcgggcttccggaatgccatctg
+taccgacgaccagcacttttcccgtttttccggcgtttgcgactgcctgagcaacaccca
+ttgccatcgtgtcattcgcgcaatagatcgctttaatattcggattacgttgcaacacgt
+tagtggcgacatccagtgctttaatgcggtcccagtcggcaggctggctggcgacaagct
+tgatctggcttgcttttttgaaggcttcggtggcaccattacgacgcgcttcaccggagg
+cgttaccggctttaccctcaatgattgcgacttcaccaccttcagcgcccaatttgtcaa
+taatgaacgacgcgcctttcgccccgacagcaacgttatcggtggtgacaaaagcttcca
+cattgccgccagcttttttcagattatccatgtcgattttttcatcgagattaaccagat
+aaatgccttttttccatgcgcgggcgacaggcatgaccagattcactgaggataatggag
+cgaaggcgatacctttgtaatttttattactgagatcttcaaataactgcaattgagatt
+gaaaatcgccttctgaaggagaggcaaaaatatcaacgctgacgcccagtgtttttgctt
+catcttcaatgccttttttcatatctacccaaaatgggttggagagggttttcaatacga
+cagcatattcggcggcagcaaaagcgctggttgacaacattaagcccacgagtgtgccgc
+tgaaatatttcagatatttattcataataatgttctcacggtaaggggacaggtaactcc
+gcgatggcggaattacctttttcttatttcagcgcgcctggtgagaagaaatcaacaatt
+gcgccggttttttgcatattaatattagcttgttcaatgttgagctgggcgacagagaca
+aaaaaagcgtccagcaaagttagttgtaatattcttgccgaggcattacgacctaataac
+ggcgtttccggggctggtgagcaaataatataatcggccagtttcgctatcggtgaatgg
+tagctatgggttatacaaataatctttgccccgttcttttttgccagttctacggccgct
+tttacatcactggttcgcccggaatgggtcactaccagcacaacatctccttcctgtaac
+aacgaagcggacatcatcatgatgtgagcatcaggataggcctgacagcgtacgccaatg
+cgcaagaacttgtgctgtacatcagcacagatagcatttgatcctccggcaccgtacaaa
+tcccgctgtctggcctgatagaaaaagcgggcggcacggtggatctcatcaacgttgacg
+atcgactgaccttccataatggtgcgtaaagtgatgttaaataccttattcaccacatcc
+tgcggcgcttcatcaaaagccaactcggaaggcaatacctgttctgactgagaaaaataa
+tcttccagcgcactgcgtaagttacgaaagccgctaaaccccagcagctttgatacctta
+actatcatcgcttcagataccgccagagcttctgcgacatctttaattgcgggtgcacaa
+ctcaggttaccgggtttgagtaaccactccacgatgcggctttcattttctgtcattcct
+tcctgcttcattcgcaggtaaggcgctaaccctataccgttcggaagcgctgaatcaaac
+tctgactggctcatcacgttctcttgtccttgaattgaagacgccactatatcaccacag
+caagaacagaaaagatgctggcgacttcacaaaaaaataaaatttataaagtttatttta
+ttgtgaacaatggcgagtggcttaaaattttatttcatttaattagtttaaaaacatgat
+gttatttgtttttctggttttttagatgatagatgttgctggatggtgagtgtctttaac
+gctattgcgctgtcagatgtaactctgtaaaacagatcaggaaggcgtaattcatcgatt
+ttgggtgtttttaattcattaacatcacaaatgttttttgattgtgaagttttgcacgga
+cggggaagatgaatgaaaaagattgcatttggctgtgatcatgtcggtttcattttaaaa
+catgaaatagtggcacatttagttgagcgtggcgttgaagtgattgataaaggaacctgg
+tcgtcagagcgtactgattatccacattacgccagtcaagtcgcactggctgttgctggc
+ggagaggttgatggcgggattttgatttgtggtactggcgtcggtatttcgatagcggcg
+aacaagtttgccggaattcgcgcggtcgtctgtagcgaaccttattccgcgcaactttcg
+cggcagcataacgacaccaacgtgctggcttttggttcacgagtggttggcctcgaactg
+gcaaaaatgattgtggatgcgtggctgggcgcacagtacgaaggcggtcgtcatcaacaa
+cgcgtggaggcgattacggcaatagagcagcggagaaattgagattcatccactacttgc
+atggatgagtaatgattaatgtggatagagtttctttttgaggttggctaatgaaacgct
+ttccgctatttcttttattcaccctgctcacgctgtccaccgttccggcccaggccgata
+ttatcgacgacaccattggcaatattcagcaggcgattaatgacgcttataaccctgacc
+gtgggcgagactatgaagattcgcgcgacgacggctggcagcgtgaagtgagcgacgatc
+ggcgcagacaatatgacgaccgccgccgccagtttgaagatcgccgcaggcagctggacg
+atcgccagcgccagcttgatcaggagcgtcggcaactggaggatgaagagcggagaatgg
+aagatgagtatgggcgatgaggttgggtatggagcaggcatcgcccctcaccccaatggg
+gagagggagaaaacgagcgcaatattcaatatcgagcacaatcggtcccctcgcccctct
+ggggagagggttagggtgagggggccagcgcgcacattccctctcatcacgccaccccaa
+tctccatcccatcaaaccccacctcaaaccctgacggtagtgcgttttccatcagccacg
+catcaaactggtggctgatatgggtcagaatcacccgtggcgagcggataacctgattca
+gcgcaagcacggtatttaaatcacagtgattacgcggtgcatccgcgcgcggcgggtgac
+tgcaatccatcaccattacctgcggctgattattgcgtaaaaatttcagcgttttttccg
+gcaagcctgcggtgtcagacagccacgccacccggctgtgtgccgtttccagcagataac
+cgaaggtcagttttgagtggttgagcggcaggggcgtgacctgtaacccctgcaaatcaa
+acaccacaaacggttccaccgtgtggctgaaatcaagcaggcccggatgtttaaacagat
+cgtcgcagccctgttcatccggcgggccgtaaaccgggatcggatcgccaacgccccagc
+gcagcggaaacagcccctggacgtgatccatatgataatgcgtcagcaaaaactgctgga
+acgatccgggcgaccagcgatcggcgagatcgtgcagcccggcgtcgatcagggtgattg
+cgtcgttaaacttcactacgccgctgcacggttggcggcgatactgcggcgagcgccgcg
+ctctggcgcaggccgcacactcgcagccccatgccggaacgccctgtgcgccgccggtgc
+cggtgagcgtgagggtcaggctcatgttacagcgccttggtgaagcggaagtggctctgc
+tcgtagccttcgcgcagatagaaacggtgcgcgtcgtggcgcttcacgttggtcgaaagt
+tcggtcatttcggccccggcctggcgggcttcttcttctgcccacgccagtaacttactg
+ccgacgttcagaccgcgcgcctgcggcattaccaccaactcctgaatttcgccgatccag
+ttgacatgatgcagatgaaactgcaaatgcaggccgatcatgccgacaacttcgccatca
+agcagcgccagatggtagcgcatgtttgggtcgcgcagattggcgttaaaacccacgcga
+aacgcgtggtggtcaaactccgcctgttttagctcacaaatcagcgcgtaaaccgcgtcg
+gtgtcgtactgcgtggccgggcgaagctcacaagcaggcatggtgtttctccttctgatg
+gatcagcgtcagcagcgtgtcgaccgactggcgcaggctgccgtcattgttgagcgtatg
+gcaatcctgtggagtatagcgggcggcgcgcgccaggcgggcgttaatttcactggcgtt
+ttcacggccacggttttccaggcgctggcggaggatctccggcgaaacctgtaaacagac
+gggcagcagcgccgattgatagcgcgcccgcgcctgcggcagatgggcgcgtgagccgtt
+gaccagcacgtcgaatccggcgtgcagccagagatcaatctcgacgccgacgccataata
+cagaccgttagcgtgccagcttaaggccaacagattttgccccgcgcgggtaaaaaactc
+ctgctcgctcagggcgatatggttttcacttccggcgctggcatcgcgcgtgatgtagcg
+atgcgccaccagtaactgagtttgttcccgcaggcggagttccgccagcaggctgtcttt
+cccggagccggacggccccattaaccaaatcagttttcccatcatcagaacaccctttta
+ccctgacgccagacgtggtcgatatgaatatgattgtccttgcgatgcgccagcaccagg
+tcggcgcgtttgccctcgccaatcaccccgcgatcctggagattaagcgcctgcgctgga
+tttttagtcaccagcttcaccgcctgcggcagcgtaaagcggttgctctggtcatcggcg
+acgcgaaatgccgcatcgagcaggctggcggggtagtagtcggaagagaggatatccagc
+aggccaagctgcgccagttcactggccgccacgttgccggagtgcgagccgccgcgcaca
+atattcggcgcgcccatcagcacgttcatgccatgcttgcgcgaggcttccgccgcttcg
+aacgtggtgggaaattcggcgatcacgctgccaagctggtgagattcagcaacgtgggcg
+tgggtggcgtcatcgtggctggcaagcgcaatttttcgcgcgcggcacagggcggcgatg
+gattcgcgattcggctgcgaccagcgtgcggcgagcgccagttgctcttcttcgtactgc
+tgcatctgcgcatcagtgagggagtatttgccctgataatattcgcgatacttctcgcgg
+ttggcgaactggcgctggcccggcgagtggtccatcagcgacaccagcgtcaccggctcg
+cgctgcaccagtttttcaaacagcggcagcgtggtgtgatgcggcagttcgcagcgcaga
+tgcagacggtgctcggcgcggttgacgccgcgtttctgcgtctcttcgatggcgttgatc
+atcttctccagattctccagccgatcgccgccgtcgcgcacgtcgccaattgccacggca
+tccagtacggtggtgatgccgctcgccaccatcagcgcgtcgtggctgctcatcgccgag
+tgggcaggccagtcaactttcgggcgcggggtgaagaatttatccagattatcggtatgc
+agctcaatcagccccggcagcagccagccgccttcgccgtccatcgcctccggcaggcgg
+ctctggctttcggcaaaggcgcggatttcgccgttctgcacctccagcgaaccgcttacc
+acctcgttttccagcaccagcttaacgttattgataatcatgaagaggctcccattgggt
+gcaggcggtcggcgacgtcattacgtacagcttcgtcatggaagatgcctacgatggctg
+cgccacgggttttggcttcgcgaatcagttccaccaccgcggcgctgtttttggcgtcca
+gcgaggcggtaggttcgtcaagcagcagaatggggtagtcgacgataaagccgcgggcga
+tgttgacgcgctgctgttcgccaccggaaaatgtcgatggtgccaggtgccacaggcgtt
+ccggcacgttcaggcgggtgagaagacgcgcggctttagcggcgcaggcttcacgcggaa
+cgccggtatcgagcagcggctgcatcaccacttccagtgctgagatacgcgggatgacgc
+gcagaaactggctcacccagccgacggtggttttgcggatttccaccactttgcgcgctg
+gcgcggtgaccaggtctacccactcgtcaccgtgtttgatctggatttgaccttcgtcgg
+gcagatagttggcgtacagcgagcgtagcagagttgatttgccgctgccggaatggccgt
+ggagcaccacgcattcgcccgcgttgacggtgagcgaggcgcgattgaggacgggcaggc
+gcacgccgttttgctggtgcaggatgaaggttttactgacgttttgtacgttaatcattt
+ttcgcctcgtggttcgggtgtcggatgcgacgctgacgcgtcttatccgacctacgggga
+gcgcatttgtaggccggataaggcgtttacgccgcatccggcaccggctcaattctgcaa
+aaccgatgacaccagcagctgtgtatacggatgatgcgggtcgtcgagcacgcggtcggt
+taacccactctccaccacttgcccctgcttcatcaccagcaaacggtccgccagcaggcg
+ggcgacgcctaaatcatgggtgacaatcaccaccgcgaggttcagctccaccaccaggcc
+gcgcagcaggtcgagcaggcgggcctgcaccgacacatccagcccgccggtcggttcatc
+cataaacaccagcttcggatgcgtcaccaggttgcgggcaatctgcaaacgctgctgcat
+accgccggaaaaggtggtcggcaggtcgtcgatccggttggcgggaatctccacctcttc
+cagccacttctgcgcggtggcacgaatatcgccgtaatgacgtgccccggtcgccatcag
+ccgctcgccgatattgccgcctgccgacacctggcggcgcaggccgtcgagtggatgctg
+atgcaccacgccccattcggtacgcagcaggcgacggcggtcggcctcgctcattgcata
+cagcgaacggttctcgtagtgaatttccccctgctgcggcgtcaggcgcgcggagatcga
+cttcagcagcgtggtcttcccggagccggattccccgacaatgcccagcacttcccccgg
+ccataaatcaaaagagacatcgctaaagcctttgcccggcgcgtaaaggtgggtcaggtt
+attgaccgaaagtaacggttgattcattggttttttgcctcgctctgttggcggcaataa
+tcggtatcggagcagacaaacatgcggtttccggcgtcatccagcaccacttcatcaaga
+tagctgtgggtcgatccgcagatggcgcatggctcatcccactgctgaacggtgaacggg
+tgatcgtcgaaatcgagactttccacgcgggtaaacggcggcaccgcatagatgcgcttc
+tcgcgccccgcgccgaacagttgcagggcgggcatcatgtccatttttgggttatcgaat
+ttcgggatcggcgacgggtccatcacgtagcgcccatttaccttcaccggataggcgtag
+gtggtggcgatatgaccgaagcgggcgatatcttcatacagtttcacctgcatcacgccg
+tactcttccagcgcgtgcatggtgcgggtttccgtttcgcgcggctcgataaagcgcagc
+ggctcggggattggcacctggaagataattatctgatcttcggtcagcggcgtttcgggg
+atgcggtgacgcgtctggataaccgtcgcatcgtccgtacgttccgtggtgtttaccccg
+gtcacgcgcttgaagaagttgcgaatcgacacggcgttggtggtgtcatccgcgccctgg
+tcaatcaccttcagcacgtcgctttcgccaatcacgctggcggtaagctgaatgccgccg
+gttccccagccgtacggcatcggcatctcgcgcccgccaaacggcacctgataaccgggg
+atcgccaccgcttttaagatggcgcggcggatcatgcgtttggtctgctcgtcgaggtag
+gcaaagttgtagccgctcagattagccatggttctgctcctgttgcagacgtttgagtag
+ctccagttcggcctggaaatcgacgtagtgggggagtttgaggtgtgagacaaagcctgc
+ggcttcgacgttgtcggcatgtgccagcacgaactcttcatcctgcgccgggcctgtcgc
+gtgctcgccgtactccggggcttgcagagcgcggtcgaccagcgccatcgccatcgcttt
+gcgctcgctcatgccgaacaccagcccgtagccgcgcgtgaagtgcggcggctcacccgg
+cgggtcgataaaaccgttaaccatttcacactcagtcatcagcagttcgccgacgttcac
+cgcaaatcccagctcttccggcacaatcgacacgtcgatatagccgctgcggatctcgcc
+tgcgaacgggtgattgcgcccgtaaccgcgttgggtggagtaggccagcgccagcaaata
+gccttcgtcgccgcgcatcaactgctgcaaacgggaggagcgtgagcaggggtaaaccgg
+cggcgtgcgggtgatgtcatccggctgtgcgccgctatcctcttcaaacttcgccagccc
+ctgacgcgccagcaggctgaaaacgtgcggcgacggctgctgttcgctgtcggcggtggt
+cagcgtcggcgcttcgccgtttgccagcagggtaaaatcgagcaggcgatgggtgtagtc
+gtaggttgggccaagcagctggccgccgggaatgtctttataaacggcggagatacggcg
+ttcgagacgcatcccggtggtgtcgagcggctcgcttaccgccagcttcgccaacgtggt
+gcggtaggcgcgcagcaggaaaatcgcttcaacgttatcgccgctggcctgtttcagcgc
+cagcgccgccagttcgcggtcggcaatgccgccttcggtcatcacgcgatctaccgcgag
+gttaagctgctgttcaatctgggcgacgctcagttcgggcaaatcggtatcgcctcggcg
+tcggctctcttgcagggcgtgggcggcgtcgatcgccttctcgccccctttcacggcaac
+gtacatcagcacacctccacatgagtggttcgcggaatagccagcaggcgctcgccacag
+gtcaggatcaggtcgatgccgagcgggaacggatgcgggcgctcggtgagttcgtgcaga
+atgcactccggcagctgcggagcgatcattcgttcttcggcaatacccgcaccagtaagg
+cgcaacatgcgtccgccgctcaggctggcgacctgtaaaatcagcgtcgcacccgcttcc
+ggcgcaacggcggtgccggtggaaagggcgttgagctgttcgctggaaatcgcctcatcc
+gtcaccgcgaaggtcgcctgttccggctggctgaccagcggcgcgttggtatgaaaacgc
+aggctctggttgacgatatcgttatttaatggggtagaaagccacaccggcgtgtcgtta
+tcggccagcgtcagcagcacgctggtggtggcgatattcagcggttgccagccgcgtttg
+agctgatgcagggcgacaatcacgcccggctcgctcatggcctttaacaggcgacgaaaa
+ctgtgctgggcatcctgcacgggaagcataaaagcggtttccagggtcatgcgttgtctc
+cgcgaaccatcgtaaagaagtcgacccggctggcgttcacttcggcctggcgtgcggcaa
+tgcgtgccatacggtcagcgtccagcggggcaataagggtttctgataagttttgaaagt
+ggcgagattgctgcatcagcgcgtcaatcagcgcgcagcgttcggcgtgctgtttatcac
+gcccctgcacccagctgtagccgagcgtgccgtcagtcaggcgcacggcggcgcgggtca
+gcgtggcgtcgccggcaaaaaaacgttcgccggtgccgcccatccgcgcctgaatctgta
+ccaggccagtttcagcggcgcggatcacctcatagtcggcggtgatgtttagcgcgttca
+ggcgtgctgccagttcagccggttggctgtgcgccagcacggacatccagtgctggcggg
+tcgcggtatctgcgtgcattcagtgctccatagtgaattcaatcatgtcggcgcgcgtca
+ggctgacggagtactccgccgggctgctttcaccgtcacggtggttaagggtgcgcacgc
+acagcagcggcgacatattcgggatttcaagacgctggcactctttggcctgggcgcggc
+gggcgctgatccgcgtctggctgcggcgcagcgcaattccggtttgctcgcgcagaaaat
+cgtgcagcgagccgctgtcgaagcgttgcagcgtcggccagagggtgaggtccgcgaagt
+agtggtcgattaaacagagcgcgacgccgttgacacgacgcagggtgcgcaggtggatga
+cgttctccccctcggtaatccccagtgcgtcagcgacgtggccggacgcggggcgcaata
+ccgaaagcagtttttcgctggtgggatggctgccctgatccagcagattctggctaaaac
+gcgcctgggcgttgagcgggtaatcgaacgggcgcatcagcaccagcacgccgacgccct
+gacggcgctgtacccagcctttttccaccagttggtcgatggcgcggcgcagggtgtggc
+gattcacctcaaagcgcgctgccagttgctgctcggcgggaagatagtcgccgcagcggt
+agtgttgacgaagctcctgctcaagttttgcggctatctcttgatagcgtgttgggtagc
+tggtcggatgtgtagacaagtgcatagatatcaatgcctcgcttatcagataaagtgctt
+acgcaaccgttgagagaggaaatccagcaggctgaccgtgacgatgataagcaccatcag
+ggcgcaggtttgttggaactggaaaccgcgaatcgcttcccacagggtgacgccgatccc
+gcctgcgccgaccatgccgacgacggtcgccgagcggacgttggattcgaagcgatagag
+ggagtaggagatcagcagtggcatcacctgtggcagcacgccgtagaggatctcttcgag
+cttgttggcaccggtggcgcgaatgccttccaccgggccgggctcaatcgcttccaccgc
+ttcggaaagcagcttggagagcacgccggtggtgtggataaacagcgccagcacgccagc
+acgccagcgaacgggccgaggccgacggcgaccacgaacagcatggcgaagaccatttcg
+ttaatggcgcggcaggcgtccatcaggcggcgaacgggctggtaaacccaccacggcacc
+aggttttcggcgctcatcaggccaaaggggatggagagaaccaccgccagcgcggtgccc
+cagacggcgatttgcagcgtgacggccatttcggtgaggtaatcctgccactggctgaaa
+tcgggcgggaagaagtcggcggcgaacgtcgccatgttgccgccgtctttgatcagcgta
+agcggggccatttccgcgccctgccacgagacgaccaacacggcgagtacaacggcccag
+ctcagaagcgagaaccagctgcgcttgggtggggcgatggtgatggtttgcatgtttggc
+tccggtctgtaggccggataaggtgcttgcaccgcatccggcatcaacgcctgcacattg
+tcggatgcgacgccggggcgtcttatccgacctacgatttactgcaccgctttactcacc
+gaactcatcgcgcttagcgcgttgttcaggcggtccaggtcatccagctgcgcctgaatc
+tcggtggtttttgccagcttgtcctgctcattcagtcctttattgcttttcacgccctgc
+atctctttaaacagcgcgagctggcgaatcggcaccagttgcaggtcgctggaagcgcgg
+aatggcgcccagcccaggcgttccagcaccgctttttcttccggcgttttgccgtagttc
+ataaagaagtcgtagatcttgtctttggtggtttcggaaagattcttgcgccagacgatc
+ggatcgcctgggatcagcggcgacttccagatcaccttcagttctttcagcttctctggc
+gcggaggttttcagcttgtcgaggttttcggtgttgttggtggcaacatccacctgcttg
+ttggcgacggccagcgcgttggtttcatgcccggcgttgacggtgcgcttgaagtcgctg
+gcggagatattgtttttggcgaagacgtagtagccggggacgaggaagccagaggtggag
+ttaggatcgccattgccaaaggtgagatctttccgcttcgccagcagatcgttcaggttg
+ttgatcggactgtctttgttgacgatcaacacgctccagtaacccggcgatccatccgcc
+gcgaccgtctgggcgaagacctggccattggcgcgatccaccgcttccatcgccgacaga
+ttgccgtaccaggcgatatccactttattgaagcgcatcccctggataatgcccgcgtag
+tccggggcaaagaaggcgttgaccttcacgcccagcttcttctccatatcctgcaagaac
+ggcgtccattgcggtttcaggttttgctgtgattccgttgaaataatgccgaaattcaac
+gccttttcctgctcttcggcgtgcgccgggcttaacagggtgctgaggctgaacatgctg
+gtgaaggccagcgaggcaattatcttagcgttcattcgttttcctcaatgatggggatgt
+caggcagctttcgcgttctcttcgacgcggttaatgctgcggtagagatggtcaaaacgt
+tcgttatcaaactgttggctgctgccgtcgtagaagacgtgcccctggcgcagggcgacg
+atgcgttcgcagtagcgcagggcgtaatccacctgatgcagcgtgacgaccacggtgatg
+ccgtcgttctggttgatgtcgcgcagggtgtccatcacgatgcgcgctgattctgggtcc
+agcgaggcgatgggttcatcggccagaatcactttcgcctgctgcatcagcgcacgggca
+atcgccacacgttgctgctggccgccggagagggtggaaacgcgctgatgggcaaaatgc
+accatgccaacgcgggtcagcgcctgtaacgcgcgctgtttctgctcgccggtgaaccag
+ctaaaacaggtgcgccagaacggcgtgctgccgagcgcgccaatcagcacgttctccagt
+acgctcaggcggttcaccaggttgaattgttggaatatgtagccggtatgggcgcggctt
+ttgcggatatcgcgggccaggcggccttcgcgctggactgtgcggcccagcagctcgata
+tggctaccgacagatttatcgccggtaatcaaaccgcttaagtgacgtaaaagggtggat
+tttccggaacccgacggcccaagcagagccaccatttcaccgtgatgaatgttcagatca
+accgcatgcagcgcctgatgctgattgaaggttttggcgagcttctcgacacggataatc
+gtttgcatgatgcagcctccctaaaaaagtggctccatcgtggcggattattgtgacgat
+ttggttaattaaaagtgactaacagatgaagagttaacgggaattcgatgacagtgcggg
+agggcgggcctcccggcgggttattgcgttggttgttgtttgacgacattaatcatccac
+ggtacgccaaatttatcggtgactttgccaaagccatgcgcccagaaagtttcctgccag
+gccatttcgatttttccgttagcggcaagattgtcaaaccagcgttttccttcttcgacc
+tgttgcgaatcgagcaccagcgtaaagccggagtagctggcttttcctgacggcatggca
+tcgctcatcatgatgtcgcttccggcaatgcgcacattggcgtgggcgatggcggtatcg
+ggaaattgcattccggaagggcagttctcggcgctgtcctgcgctgattttggcatttcg
+ccgaagctgattttatagagcagttccgcgcccaacgtacgttgataataggcaatcgcg
+tcggaacagttaccggcaaaagagaggtagggacttaacggcatgatggtgacctcagtt
+aagagaagccagttaagtgtagttcgaaatttatacagatgagaggcggcctgataagac
+gcgcgagcgtcgcatcaggcagtcggcactgttgccggatgcggcgtaaacgccttatcc
+ggcctacggagggtgcgggaatttgtaggcctgataagacgcgcaagcgtcgcatcaggc
+agtcggcaccattgccggatgcggcgtaaacgccttatccggcctacggagggtgcggga
+atttgtaggcctgataagacgcgcaagcgtcgcatcaggcagtcggcaccgttgccggat
+gcggcgtaaacgccttatccggcctacggatggtgcgggaatttgtaggcctgataagac
+gcgcaagcgtcgcatcaggcagttggcactgttgccggatgcggcgtaaacgccttatcc
+ggcctacggagggtgcgggaatttgtaggcctgataagacgcgcaagcgtcgcatcaggc
+agtcggcaccgttgccggatgcggcgtaaacgccttatccggcctacggagggtgcggga
+atttgtaggcctgataagacgcgcaagcgtcgcatcaggcatctggcaccgttgccggat
+gcggcgcgagcgccttatccggcttaccgatcacaatacaatcagttctttttcacaaac
+tcagatttcagtttcatcggaccaaaaccgtcgattttgcaatcgatgttatggtcgcct
+tcaaccaggcggatgtttttcactttggtgccaattttcagcatcgaagagctacctttc
+accttcagatctttaatgatggtaacgctgtcgccgtcagccagcagattgccgttagca
+tctttaacgatcagctcgtcgctttcctgtgcaggttctgcgtcgttccattcgtaggca
+cattccgggcagatgtacatgccgttatcttcgtaggtgtattcggagttgcattttggg
+cagtgtggtaatgacatgtggatttcctcaaaagtcagcagggcaaaagcgccaaaaaac
+ggcagattgccgaaaaaggccgcaattatacacaaaatccctgagtttgtcgggggtact
+gctgattttagacgacgatcgttttcatttgaaaggaaacgcaaaaagaaaataatcttt
+ttgcctctatttattatttaagataatgttaatgctctacttgttctttttttaattcac
+atgatatttttatctttctgacgttttaaacgtatcagaagacgttatttattctgataa
+aaaacaacacactaaatataaaattatttcttgcagtaattataaaagccgaaaacagaa
+ctcaaaaacaatctggctaaataaaataacaaaatttgctttaaggaagaattttctatg
+tacacacagaccctgtatgagttaagtcaggaggctgaacgcctgttacagctttctcgc
+caacagttgcagttactggaaaaaatgcctctctctgtacccggagacgacgcgccacaa
+ctggctttaccctggagtcagcctaatatcgccgaacgtcacgcgatgctgaataatgag
+ttgcgtaaaatttcccgactggaaatggtgcttgcaattgtcggtaccatgaaagcaggg
+aaatcaaccaccattaatgccattgttggtacggaggttctgcctaatcgtaatcgccca
+atgactgcgctgccgacgcttattcgccatacgcccgggcaaaaggaaccggtactgcat
+ttttcacatgtcgcgccaatcgattgtttaattcaacaattacaacagcgcctgcgtgat
+tgcgatattaagcatctgaccgatgtgctggaaatagataaagatatgcgtgcgcttatg
+cagcggatcgaaaatggcgtcgctttcgaaaaatattatctgggtgcccagcctattttt
+cattgtctgaaaagtttgaatgatttagtgcgactggcgaaggcgctggacgtcgatttt
+cctttttctgcttacgccgccattgagcatattcccgtgattgaagtggagtttgtccat
+ctagcggggctggagagttatcccggtcagttgacgttactggatacccccgggccaaat
+gaagccgggcaaccgcatctgcaaaaaatgcttaaccagcagctggcacgcgcctcggcg
+gtactggcggtgctggattatacgcaactgaaatcgatctccgatgaagaggtccgtgag
+gcgattttggcggtggggcaatcggtgccgctgtacgtgctggtcaataagttcgatcaa
+caggatcgtaacagtgacgacgccgaccaggtgcgggcactgatttccgggacgctgatg
+aaaggctgtattacgccacagcagatatttccggtgtcgtcgatgtggggctacctggcg
+aatcgggcgcgctatgagttagccaacaacggtaagttaccaccgccagagcaacaacgc
+tgggtggaagattttgcccatgccgcgcttggcaggcgctggcgtcatgccgatctggcg
+gacctcgaacatattcgtcatgctgccgatcagttgtgggaagattcgctgttcgcccag
+ccaattcaggcgttgcttcatgccgcttacgctaacgcctcgttgtatgctctgcgatct
+gccgcgcataaactgttgaattacgcgcagcaggcgcgggaatacctggattttcgtgcg
+cacgggttaaacgtcgcttgtgaacaattgcggcaaaatatccaccagatcgaagaaagt
+ttgcagctattgcaactcaatcaggcgcaggtgagcggcgagattaaacatgaaatcgag
+ctggccctgacctccgccaaccactttctgcgtcaacagcaagatgcgctgaaggtgcag
+ttagccgccttgtttcaggatgattcggagccgttaagcgagattcgtacccgctgtgag
+acactgttacagacggcgcagaacaccatcagtcgcgactttacgctgcgttttgccgag
+cttgaatccaccctttgccgggtgttaaccgatgttattcgccccattgagcaacaagtc
+aaaatggaattgagcgagtcagggtttcgtcctgggtttcattttcctgtttttcacggc
+gtagttccccacttcaacactcgccagctgttcagtgaagtcatttcgcgccaggaagca
+acggacgagcagagcacgcgtttaggcgttgtgcgtgagactttttcgcgctggttgaat
+cagcccgactggggacggggaaatgagaaatcaccgacagaaacggttgattacagtgtg
+ttgcaacgagcattaagcgcagaagtcgatctctattgccaacaaatggctaaagttctg
+gcagagcaggtcgatgaatctgttacggcaggcatgaatacttttttcgctgagttcgct
+tcatgtttgacggaattacagacgcgtttacgcgaaagtctggctctgcgtcaacaaaat
+gaatcggtggtcaggctgatgcagcagcaattgcagcagactgtgatgactcacggctgg
+atttacaccgacgcccagctgttacgcgatgatattcaaacacttttcacggcagaacga
+tattgaccaagacgttacttgacggccccggtcgcgtgctggagtcggtttatccccgct
+ttttagtggatctggcgcagggtgatgatgcccgccttccacaagcccatcagcagcagt
+ttcgtgaacgactgatgcaggaacttctttcgcgtgtgcagcttcagacatggacgaacg
+gcggcatgttaaatgcgccgcttagcctgcgtctgacattggtggaaaaactggcgtcga
+tgctggatcccggtcatctggcactgacgcagatcgcgcagcatctggcgctgctgcaaa
+aaatggatcaccgccagcactctgctttcccggagctcccccagcaaattgccgccttgt
+atgagtggttttcagcccgttgtcgctggaaggaaaaggcgttaacgcaacgaggcctac
+tggtgcaggcaggtgatcagagcgagcaaatttttacccgctggcgtgctggggcgtata
+acgcctggtcgttgcctgggcgctgttttatcgttctggaggagttgcgctggggggcat
+ttggcgatgcctgccgtctgggaagcccgcaagcggtggcgttgttgctgggtgatttgc
+tcgagaaagcgacacaacatctggcagagagtatcaatgcggcaccgaccacgcgtcact
+attaccatcagtggtttgcctcttcgaccgttccgacgggcggggagcatgctgattttt
+taagttggctgggaaagtggaccacggcagataaacaacccgtttgctggtcagtgaccc
+aacgctggcaaactgtcgcgctggggatgccacgactctgttcagcgcagcgtctggcgg
+gggcaatgctcgaggaaatcttctctgtaaatttggcgtaaataatcagttacatcaatg
+agtcctaaacgaaatccatgtgtgaagttgatcacaaatttaaacactggtagggtaaaa
+aggtcattaactgcccaattcaggcgtcaactggtttgattgtacattccttaaccggag
+ggtgtaagcaaacccgctacgcttgttacagagattgcatcctgcaattcccgctcccct
+tttgcggccgtcgcgctgatttttctggcgtttgcggaaatgggccaactctgcgaggaa
+agctatgctgaaaaggaaaaaagtaaaaccgattacccttcgtgatgtcaccattattga
+tgacggtaaactgcgtaaagccattaccgcagcatcactgggtaatgcaatggaatggtt
+cgattttggtgtttatggttttgttgcttacgcattaggtaaagtttttttcccgggggc
+tgaccccagcgtgcagatggttgctgcacttgccactttctccgttccctttctgattcg
+accgcttggcggactcttctttggtatgttgggcgataaatatggtcgccagaagatcct
+cgctatcactattgtgattatgtcgatcagtacgttctgtattggcttaataccgtccta
+cgacacgattggtatttgggcaccgattctgctgttgatctgtaagatggcacaaggttt
+ctcggtcggcggtgaatataccggggcgtcgatatttgttgcggaatactcccctgaccg
+taaacgtggctttatgggcagctggctggacttcggttctattgccgggtttgtgctggg
+tgcgggcgtggtggtgttaatttcgaccattgtcggcgaagcgaacttcctcgattgggg
+ctggcgtattccgttctttatcgctctgccgttagggattatcgggctttacctgcgcca
+tgcgctggaagagactccggcgttccagcagcatgtcgataaactggaacagggcgaccg
+tgaaggtttgcaggatggcccgaaagtctcgtttaaagagattgccactaaatactggcg
+cagcctgttgacatgtattggtctggtaattgccaccaacgtgacttactacatgttgct
+gacctatatgccgagttatttgtcgcataacctgcattactccgaagaccacggggtgct
+gattattatcgccattatgatcggtatgctgtttgtccagccggtgatgggcttgctgag
+tgaccgttttggccgtcgtccgtttgtgctacttggtagtgttgccctgtttgtgttggc
+gatcccggcgtttattctgattaacagtaacgtcatcggcctgatttttgccgggttact
+gatgctggcggtgatccttaactgctttacgggcgttatggcttctaccttgccagcgat
+gttcccgacgcatatccgttacagcgcgctggcggcggcatttaatatttcggtgctggt
+tgccggtctgacgccaacgctggcggcctggctggtcgaaagctcgcagaatctgatgat
+gcctgcctattacctgatggtagtggcggtggttggtttaatcaccggcgtaaccatgaa
+agagacggcaaatcgtccgttgaaaggtgcgacaccggcggcgtcagatatacaggaagc
+gaaggaaattctcgtcgagcattacgataatatcgagcagaaaatcgatgatattgacca
+cgagattgccgatttgcaggcgaaacgtacccgcctggtgcagcaacatccgcgaattga
+tgaataagctgaaacggatggcctgatgtgacgctgtcttatcaggccaattgaactctt
+aaggttcacttaatctctgacgcgcatactctcctccaggttaacggaggagagtgcaat
+gaaaaaccgtgtttatgaaagtttaactaccgtgttcagcgtgctggtggtcagcagctt
+tctttatatctggtttgccacgtactgatctttcttcagccgtacccaggcccgcgtgcc
+ggaagtctcttgccggttttgcaggaaaaactgcccgtgatgcaactgtgtaatgcggct
+gacaatacttaaccccagaccaatcccgccataacggctgtccatacgtacaaacgcttt
+actcaactccccgcatttactctcatcaatacctggtccttcatcttcaactgccatgac
+cgctccgtcatcttcttgcagcttaatcataatgttgctgccttgcgggctgtaacgatg
+ggcgttttctaccaggtttcgcaataacatccgcagcagggttgcatcaccctgaacggt
+gatgtcggcggcgctctctggcaatagcagggtttgctgtcgctggtcgagcatggtact
+gagttcgtcatacgaggggagaatgacatcttccagcagttttacatgttgataattacc
+ggaagaaaatgactgtccggcacgcgccagttgcagcagctgggagacgctctccatcat
+ctgatcaagccgtgccactaacggtgctacatcaatgtgatgcgttttcgccagcagttc
+cagatgcaaacgcacccccgccagtggcgttcgcagttcgtgcgcgacgtcagcggtaaa
+caacctttcgttatccagcgtgctggtcaggcgactgaccagatcgtttaacgccgaaac
+caccgcttcgatttcgagggtggcgctgtgaatggcaatgggcgttaagttgtcggcggt
+gcgcgcttccagctctttttgcagctccgccagcgggcgggtgatgcggcgtaccgcctg
+atagcagataaatagcgtcaggctgaccataaagacgccggggacaatcaggctggcgac
+cgcctcgcggatctcacgcatgatgtggcgatcgttgttgcgattgtcgcgtagcgcctg
+ctcaaacagctgaatctgctcggtactttcatgccatagccagaagacgctgatcagctc
+aaacaccaacaaaatggccccgatggtcaatatcagccgttggcgcagcgatattggtcg
+gcgcagaaaatgcatcagattcaattagttttcctcattcgcgaccagcatatagccaaa
+gccgcgcacggtgcggatacgggctttgcccactttgtcgcgcagattgtggatatgcac
+ttccagggtgttggtcgagggttcattgtcccagttatagatgtcgttgtagagaatttc
+ccgatgcaccggactgcctgctttgagcattaaccgtgacagcagagcatattctttggg
+cgtcagaatcaactcttcaccgcccatccatacctgacggcgacccatgttcagcgtcag
+attgccaacaatcagctcactttcgccctgattattatggcgtcgtagcagggcgcggat
+acgggcatgtaactcttccagcgcaaaaggcttcaccagatagtcgtcggcaccgacatc
+cagcccggcgattttgtcggtcagcgtatcgcgagcggtgaggatcagtaccggcagggt
+atattttttctgccggatacgggcgagaaaatgcagtccatcttcgtcgggtaaccctaa
+atccagtaccaccaggctgtaatgacctgcctcaaggctttgttccgccatccgcgcggt
+tgtcacgctatcgcacgcgtagccttcggtttgcgccgccagaatcagtccctgcaataa
+cagcgtatcgtcttcaacaatcagaattttcattcactcactctcctgcaagtttgcaga
+atatcatccgcagcctggtaatacttcgtctcaacgccagttaatcccaatagcgtggag
+aataaattgtcttgtgaatagtgttgcgtttgcgcctgtttttgcaggcagttctggtca
+acctgataccgtttttgataatcctccgacagccacagcagcatcggcacctgtttttgg
+ctatccggggcgatggcataaggcagaccgtgcagatagatgccattttcacctaacgat
+tcaccgtggtcagaaagataaaccaggctggtggtaaatttatcctgatgttctttcagc
+agattaatcgctttatcaacaatatagtcgacgtaaaccagcgtgttgtcgtaagtgttc
+accagttgctctttggtacaggtctggatctcattggtgtcgcaggttggggtaaatttc
+ctgaactgaggcggatagcggttgtaataggtcggaccgtggctgccgatggtgtgtaag
+acaatcacgccatcaccttgcaggttattgatgtactcttcaagcccgtggaacagcact
+tcgtcatagcattcgccgttgatgcactgatcaggtagattcagcgcggtgacgttctgg
+tgaggcacgcggtcgcaggcacctttacagccgccatcgttgtcattccacagcacgttg
+atgcccgctcgctgaatgatatccagcacgccttcctggtgctgtgccagctcttctttg
+tagtgctcacgcggcatatccgagaacatgcacggtactgaaactgccgttgccgtgccg
+caagatgcggtattagggaaatagaccacgttatctttcgccagccgcgggttagtttca
+cgcgggtagccgttgagggagaagttctccgcccgcgaggtttcgccgacaatcaggatg
+gtcaaatttttacgtttttcgttctgcattaacgggttgcggtgcgcgtcttcaccaatt
+cgcaccagcggcagatttgccagtcgctgatgggagtaccatgaccagctggcaacaatg
+ctgttagaggggcttaaggatttcaccagctctttgttattgcggaacaacgaggcgtag
+tctttataaaacagtgcggcgaccagcaaaatcagtagtacagaaaccagaatattggct
+ccacggaaaagaacactgcgcagacgcgaggtggcaggtttgatttttatccagcaggca
+atcagcgcagcaagcacgccgctgaatcccagcgttaataacatttgcggtgtcatcagc
+gcataactttctgccggagtggtatcaataatattggcaatcatcgagcggtcgatgacg
+atgccgtaagtcattatgaaatattgtgcagccgcgccaaccagaataaacaggcaggcc
+agtggtcgattaagccataagaaagagcttagtgtcaggacaatattaatcacgctgaaa
+gcgacgaccggcatcgacaagaaaaccagtacgttatgcagcgaatccagcggcagcgcc
+tgcaacacctgtttaaaaaaggcaatattcaggcagatagagatataaaaagcggccaac
+aatagccaggcgagtaaattcaaagagggtctttttagtaggcgcttcaacatcacggtg
+tttccatcgaacaaagtgcgcatatgctcgcaaagcaaaattaagccaaccttaagttct
+taaggttggcttttatgtttgctggattaaggggaattaatctttgcttattggtgcatc
+taagggatacgggtttttatgtagccggttgtaattcagcgcatacatggcggtgatgac
+catcagggtgacaaatgaccacataacctctttcgctccggaccccaccacggcccagat
+gcagtagaggaaggcaatggtagtaactgccagatatgccgggcgtgctttaccaaagtg
+accgtgtccgagcagcagtaacgccgcacaggtgtaaagatatggcaccagtgtaaagat
+gaccgagacggaagaaaccagaccgaactctttggtcgcgtttggtgaaatgctgctgag
+ctggaagatggtcatcaaaataccgacgataatcagccccgccactggcgtacccgcttt
+atttacacgggcaaaaatcggtgggaacagtccgtcatcggcagcggctttcgccgtttg
+acccgccagcaacgtccagccgcccagtgaacctaagcaacccgcagctgcgcagaagga
+aacaatggccccggcggtgtcacccaacgccatccgtgcggcatcaccgaatggcgaagc
+agaaacgcgcagtgcggcattagggatcatccccataatcgcggtggtagaaagtacata
+gcaaacggcggcaatcaataccccaccaatggtggcgatagggacattgcgtttcgggtt
+tttcaccacacctgcggcaacggaggcactttccacaccgatgaacgaccacagcgtaac
+gttaagggtactttgaattgcaccgaaggtgcccaggccgctgacgttccatgccgccat
+ataggtttcaccacggaaccagaaccagccaaatacggcaatcccgacgatggggatcag
+cgccagcacggtggcaactgcctgcacacgggtgatcattttcggaccgacaatgttcag
+caggacgaagatccacagcaccacgacgcaggtgatggttaataccaatggatctttcag
+aatcgggaagaagtaacttaaatatcctacgccaatgaccaccatggcgatattgccgat
+ccagcaggccagccagtagaggacgttggtttgataaccgagaaacgggccaaagcagcg
+gcgggcgtaagcgtaagaaccaccaggacttgggtcgaggaacgacattttggcgtatac
+catcgagagccccagtgcaccgataatcgtcaccaaccatccataaatggcaatcccgcc
+agtagaggccaggtttgcaggtaacagaaaaacacctgaccccataatattccccgacac
+catcagggtgacggggattaagcccactttgtgagcatcagcatccgaagacataattaa
+actcctgcgaaggcgagcttcgtgacaataaattacgtcatatcatacgcctgcattcga
+tagttgaattattatcgaccgggttatcgctgatgccgttattaatatagctcttcgtta
+aggttaaaaatcaggcgacagtgcgttctctgtgctgactaacataatgcagcggcgtca
+taccgtagaagtctttaaagacagaaataaagtacgacgtactgttgtagccgcaggact
+gtgatacctgagagatatttttaccgtccatcattaattcatttacggcataacgcatgc
+ggcaggtggtgattatttggctataactggtgttttcgcttttcaactttttctttaaca
+gacttgggctaagacataaacaactggctaccatactaagattccagtctttgtgaatat
+cgctttcaataatttgataaacgctgtcacttacacaattacgtaacatatacatcatta
+atgaaacgaattttttactgtcgagaaaacgggatagcaccgtgaataataatgcgcgtg
+ttcgttccttttctgactcagtttctgcgggcatcatgctgtgttgcgcggcaacgcgaa
+agacgtctggcgtcaggcatggcagggtgagtatgggcgtagcgctacgttgccatactg
+gtatttgcgagagatctttattcagaaaccggaggtaatctttgatgatgtcgtgactaa
+tatgagcaaccaaagtgttgttaagagaggagacgtcgataatattattttcacaattta
+ataacgccatatggttagctttaaggctaataggttctttcccattcacccttatccaga
+catctttttcagtcaataaaacaatacaaggttggtcgctgcaaatcctcatacatgtac
+tcctgagtgcgaataaaagaccagttctcgctaaagcaaagcgataccgggaaatggtta
+tataattgtatgatgaatataaacatgcataaaaataacgagttttactaatagtacaaa
+tttttatagtaatttctcatgtacatatttttttacaggataaataacaggcaaaaaaaa
+gcgcggggtggggccgcgcaaaaagtatgacatttttgtttgcagcaatttttatgaaaa
+cgttgccatactcaaaaggcctaaggccaggcggcgtaatgttatttaaacaattacgcc
+ttcagcggaatagtggttacgctttcacgcacataacgtggtaaataccgtcaataattt
+cagtcccttcagtttcgtgttcaaatccagggaaatggtggtcccaggattgcagcgagc
+gtaaataacttacttgcggactgtttttatcgccgaagttttcaccagacagcagcatcg
+ggattcctggcggatacgggataactgagtttgccgcgatgcgtcctggcagattttcaa
+tggataccagttcgacattgttgtcgacaatcgcgttgtacgcttcacgcggggtgactt
+ccgccaccggcaggccggaataggcttcgttcaaccgtgcgccagggttgttttctttca
+gccaggcaaacatggtgtcacccagatcgtgaatccccatgttcgcgtaagtgtcaggat
+attgttcaacaagttccggcatcacctgcgccagcggtgtgttggcgtcatagtggcgtt
+tgaaggagcaaagggtgttaaccagagttccccatttcccacgggttacgcccatagaga
+acaggaacataatttggaagtcagtggtgcgggtaggtacaatgccgtggcgaccaagcc
+aggcagtgaccagcgccgccggaacaccggtttcttccagttcaccatcttcacccattc
+ccggagcaaggatgctgactttaatcgggtcgagcatactccagttatccggaatatctt
+tgaagccgtgccagctttcgcccggatgcattacccagcagtcctgaacggtggtcagca
+gtttggttggtgcgtcagcaaagtcataggttttgccggtttgtgggtcggtgacgactt
+ctttgttccacggtttgaagaaccagctaccgtcagcggtgaactctttatatagccgcg
+ccatcgcctgacggaaatcaaccgcttcgtcaatcacttcctgtgtcagtgacaggccgc
+tgttgccgtccatcatcgacaccgccacgtcgttggatgcgcagatggcatacagcgggg
+aggtggtggcatgcatcatgtaggcctggttgaagcgggagaagttaatcgccccacgac
+cttcacgtacatgaatataagaagcctgtgacagcgcattcagcagtttgtgggtggagt
+gggtggcgaaaacggtaggaccgttgtgatcgccaggttcgccgcgcatggcatagtgat
+cggcatagatcgggttgaaacgtgcatagccgtaccaggcttcgtcaaagtgcagacgat
+cggaggttttttccagcagatcctgcgcttctttagcgttataacacacgccgtcatagg
+tgcagttggtcaccacgcagtaagacggtttttgcccggctttgtctttggtcagcgggc
+tttcactgattttcttctgcaaggtttcaggttgcatttcctgcggatagattggcccga
+taatgccgtagcggttgcggcttggcaccatatagaccggtttcgcgcctgtcagcatca
+aaccttgttcgatggatttatggcagttacggtcaacgaccacgacatcgttatcggtca
+tgcaagcctgcatgatggtgcggttagagccggaagtaccgacgactaccgaccaggagc
+gatcggcaccaaatacgcgtgcggcatatttttcgctttcgccaaatgcgccagtatggt
+caagcaaagaaccgagggaagttcgttcgatgcccatgtcggtgcggaacagattttcac
+catagtagtcatggtagaaacgtccggcgggtgttttggtaaaaccaacgccgccctggt
+ggcctggcgctgcccaggaatattcatggatgtcactatatttcatcagcgcgctgaaca
+gtggcggcaacagctgctggcggtagcgggtcatcgcggcaacggcgcgtccggcgataa
+agtcggcggtatcttccagaatccaggcgaattcatcgacaagctccagcaggtcgcgat
+ccattgcggcgagggctttttcccgatcgcccaacaggaagaccggcacgttttgttggc
+gctcatgaagcttaccgatcaattgtctgacgttttgatgttcgtccggatgttccattt
+gatagctgaacatcaggcagtcaatggcttcgtttgaagagagaatggcaaaaccatcat
+caaaggaggtggatttaatcacggtaacattttgctggcttaaagcatctgccagacgct
+caacggcgttaccgacccaggtgtcttgatggagaaactcgctttcaacaattaatactt
+tcatcattgcttacccggttatgaaggaatcttcgttgcgggcaagtatcttccggcctt
+ttcgggctgtaaagcgcgtgaaaaacaaacatttttgaaatatttagttttataaacaat
+acgttatgtgattattttaaattattttcactgcttattatcgacggctaaactattttt
+ttggctgatactgatatcgtctttagccgggaaacgtctggcggcgctgttggctaagtt
+tgcggtattgttgcggcgacatgccgacatatttgccgaacgtgctgtaaaaacgactac
+ttgaacgaaagcctgccgtcagggcaatatcgagaatacttttatcggtatcgctcagta
+acgcgcgaacgtggttgatgcgcatcgcggtaatgtactgtttcatcgtcaattgcatga
+cccgctggaatatccccattgcatagttggcgttaagtttgacgtgctcagccacatcgt
+tgatggtcagcgcctgatcatagttttcggcaataaagcccagcatctggctaacataaa
+attgcgcatggcgcgagacgctgtttttgtgtgtgcgcgaggttttattgaccagaatcg
+gttcccagccagagaggctaaatcgcttgagcatcaggccaatttcatcaatggcgagct
+ggcgaatttgctcgttcggactgtttaattcctgctgccagcggcgcacttcaaacgggc
+taagttgctgtgtggccagtgatttgatcaccatgccgtgagtgacgtggttaatcaggt
+ctttatccagcggccaggagagaaacagatgcatcggcagattaaaaatcgccatgctct
+gacaggttccggtatctgttagttggtgcggtgtacaggcccagaacagcgtgatatgac
+cctgattgatattcactttttcattgttgatcaggtattccacatcgccatcgaaaggca
+cattcacttcgacctgaccatgccagtggctggtgggcatgatatgcggtgcgcgaaact
+caatctccatccgctggtattccgaatacagcgacagcgggctgcgggtctgtttttcgt
+cgctgctgcacataaacgtatctgtattcatggatggctctctttcctggaatatcagaa
+ttatggcaggagtgagggaggatgactgcgagtgggagcacggttttcaccctcttccca
+gaggggcgaggggactctccgagtatcatgaggccgaaaactctgcttttcaggtaattt
+attcccataaactcagatttactgctgcttcacgcaggatctgagtttatgggaatgctc
+aacctggaagccggaggttttctgcagattcgcctgccatgatgaagttattcaagcaag
+ccaggagatctgcatgatgtctgcacccaaaattacatttatcggcgctggttcgacgat
+tttcgttaaaaatattcttggtgatgtgttccatcgcgaggcgctgaaaacggcgcatat
+tgccctgatggacattgaccccacccgcctggaagagtcgcatattgtggtgcgtaagct
+gatggattcagcaggggccagcggcaaaatcacctgccacacccaacagaaagaagcctt
+agaggatgccgattttgtcgtggtggcatttcagattggcggttatgaaccttgcacggt
+gactgatttcgaggtctgtaagcggcatggtctggaacaaaccattgccgatacgttggg
+gccgggcggtattatgcgcgcgctacgtaccattccgcatctgtggcaaatttgcgagga
+catgacggaagtctgccccgatgccaccatgctcaactatgttaacccaatggcgatgaa
+tacctgggcgatgtatgcccgctatccgcatatcaaacaggtcgggctgtgccattcggt
+gcagggaacggcggaagagttggcgcgtgacctcaatatcgacccagctacgctgcgtta
+ccgttgcgcaggtatcaaccatatggcgttttacctggagctggagcgcaaaaccgccga
+cggcagttatgtgaatctctacccggaactgctggcggcttatgaagcagggcaggcacc
+gaagccgaatattcatggcaatactcgctgccagaatattgtgcgctacgaaatgttcaa
+aaagctgggctatttcgtcacggaatcgtcagaacattttgctgagtacacaccgtggtt
+tattaagccaggtcgtgaggatttgattgagcgttataaagtaccgctggatgagtaccc
+gaaacgctgcgtcgagcagctggcgaactggcataaagagctggaggagtataaaaaagc
+ctcccggattgatattaaaccgtcacgggaatatgccagcacaatcatgaacgctatctg
+gactggcgagccgagtgtgatttacggcaacgtccgtaacgatggtttgattgataacct
+gccacaaggatgttgcgtggaagtagcctgtctggttgatgctaatggcattcagccgac
+caaagtcggtacgctaccttcgcatctggccgccctgatgcaaaccaacatcaacgtaca
+gacgctgctgaccgaagctattcttacggaaaatcgcgaccgtgtttaccacgccgcgat
+gatggacccgcatactgccgccgtgctgggcattgacgaaatatatgctcttgttgacga
+cctgattgccgcccacggcgactggctgccaggctggttgcaccgttaaaacgcgactaa
+acgctactgcgccgggggatttattccggcgcacacctctgacgataccaataacagaag
+gcgggcgttggtaacagcgacccgataccctatgagcatttcaatgactacaaaactcag
+ttatggatttggagcgttcgggaaggattttgcgatcggcattgtgtatatgtacctcat
+gtattactacaccgatgtcgtcgggctgtctgtgggtttggtcggtactttgtttctggt
+ggcgaggatctgggatgctattaacgatccgattatgggatggattgtaaatgctacgcg
+atcgcgatggggtaagttcaaaccctggatcctgatcggtacgttggcaaactctgtaat
+cttatttctcctctttagtgcgcatctgtttgaaggtactactcagattgtctttgtttg
+cgtgacctacatcctctggggcatgacttacaccattatggatattcccttctggtcgct
+ggttccaaccatcacgctcgataaacgtgagcgcgaacaactggttccttatccgcgttt
+ttttgccagtctggcaggctttgttacggcaggtgtgacgctaccatttgttaattatgt
+cggcggtggcgatcggggatttggctttcagatgttcactctggtactgatcgccttttt
+tattgtttcaaccatcatcactctgcgcaatgtgcatgaagtcttttcgtcagacaatca
+accgtctgctgaaggaagccatctgacacttaaagccatcgttgcgctaatttataaaaa
+cgatcagctttcatgcctcttgggtatggctcttgcttataatgtagccagcaacattat
+taccggctttgctatctattatttctcatatgttatcggtgatgcggatttgttccccta
+ttatctgtcgtatgcgggagctgctaacctggtgacgttagtattcttcccacgcttagt
+taaatcattatcccgacgcattttatgggccggagcatctattcttccggtgttaagctg
+tggtgttctcctgttaatggcattaatgagctatcacaacgtcgtcctcattgtgattgc
+gggtattttgctgaatgtgggaacggcgcttttctgggtattacaggtcatcatggtggc
+agatatcgttgattacggtgaatataaactgcacgtacgctgtgaaagtatcgcttactc
+cgtgcagactatggtggtgaagggcggttcagcctttgcggcttttttcattgcggttgt
+gttagggatgattggctatgtaccgaatgttgaacagtctacgcaagccctattaggtat
+gcagtttattatgattgctctaccaactctgtttttcatggtaacgctgattctctactt
+ccgtttctatcgcctcaatggtgacacgctgcgcaggatccagatccatctgctggataa
+atatcgcaaagtaccgcccgagcctgttcatgctgatattccggtcggtgcagtgagtga
+tgtgaaagcctgacgtggacaatagctaacgaaaatggcctgatgcgatatgtttatcag
+gccacgtcttaatgtaatgctttggatttgcaaattttgtagaccggataaggaattcac
+gccgcatccggcatcaacaaagcgcaagttgttatccggttatcaagccaaagcgccgta
+gctggcggcaatgaaagcgagcgaggaatatcaccgtcgttaatgcgccaagcagcgcgc
+agaacatatcggattgcgtgtcccactggtcgccctgggtgccgagaaaatcatccgctc
+cctgacccattgccagcgctgcccaccactcgattaattcatacatcgcgcttatcgcca
+gcgccacgcagcagaccaggaacgccaccattttacgtccgcgcacgtacatcccgcgaa
+cgagaatttctcgtgccaccagtgcaggcaccagcccctggaaaaagtgccccagcttgt
+catacggattacgactcaaccccagccattcctgcacctcaaaaccaacggggactttcg
+cgtaggtgtattgtccgccgaccatcaggatgatggcgtgaaggaaaatgagcgtataga
+gcagcggcgttaacggataacgtctggcggtggcaagcagtagctgcacgacaataatca
+ccggtgtcacttccatcagccaggtgagtttgtcatgggccgaaatgccggtataaatca
+ggattaacgttagcgtcagtgcgctggtgttaagaattaacggcttgagtgtgcgggtca
+tggtgagttcgcaaatcagggaaaatactgactattcaccagcaagcgtgaaattacaat
+cgcaaaagaggtggccagggggatcacctggcagcatgctgccaggcgctgggccgaaga
+ggttacttagtgcagttcgcgcactgtttgttgacgatttgctggaagaagtcgttacct
+ttgtcatcgaccaggataaacgccgggaaatcttctacttcgattttccagatagcttcc
+atacccagctccggataagcgacgcactccagatgcttgatgctctgctgcgccagtacc
+gccgccggaccgccgatgctaccgaggtagaagccgccgtgtttatgacacgcgtcggta
+acctgctgactgcggttacctttcgccagcatgatcatgctgccgccgtgggattgcagc
+agatccacgtaggagtccatacggcctgcggtggttgggccaagtgaacctgatggataa
+ccggcaggggttttcgccggacccgcgtagtagatcgggtgatctttgatgtactgcgga
+agttctttaccggcgtcaatcagctctttcagcttggcgtgtgcaatatctcggcccacg
+ataatggtgccggtgagcgacaaacgagtggataccgggtattgcgaaagctgggcgagg
+atctctttcatcgggcggttaaggtcaactttcaccgcttcgccttcaccggcctggcgc
+agttcttgtggaatgtactggcctgggttgtgttccagtttttcgatccagataccttcg
+cggttgattttcgctttaatgttacggtcagcggagcaggagacgcccatgccgaccggg
+caggatgcgccgtgacgtggcagacggataacgcgaatgtcgtgcgcgaagtatttaccg
+ccaaactgcgcgccaagaccgagtttctgggcctcttccagcagttcctgttccagctgg
+acatcgcggaacgcctgaccatgttcgttcccttccgtcggcagttcatcgtaatagtga
+gcgcttgctaacttgacggttttcaggttggtttccgcagacgtaccgccaatcacaaac
+gcgatatggtacggcgggcaggctgcagtaccgagggtacgcattttctcgacgaggaag
+tttttcagtttgccgggagtcagcagggctttggtttcctggtagagatacgttttgttg
+gcagagccgccgcctttcgcaacgcaaaggaatttgtactcatcgccatctaccgcgtac
+aggtcgatttgcgcaggcaggttagtgccggtgttgacctctttgtacatgtccagcgcc
+gcattctgtgaatagcgcaggttatcttcgatataggtgttatagacgcctttcgacagc
+gtttcttcatcaccgccgccggtccacacgcgctggccttttttaccgacgatgatcgcg
+gtgccggtatcctggcaggtcggcagcacgcctttggcggcgatttcggagtttcttaag
+aattgcagcgccacgtacttgtcgttttcgctggcttctggatcgtgaagaatagccgca
+acctgtttctggtgtgccgggcggagcataaaagaagcgtcgtgaaaggcttgctgcgcc
+agcagggtcagggcttctggttccactttcaggatggtttcgccgtcgaagtcggcaacg
+ctaacgtaatcggaagtgagtagatagtattcggtattgtctttccccatcgggaaaggt
+gcctggtagataaagggtttgtttgacatagcttccagcctgtaactctgtatttgttat
+tcgaaaatggcgtgccgcgtagtcacgggcggcacgcaaagtgcatttataagaacccgt
+acatcgcggcgaagatccagccgaagacgcacgatacgctcacaccaatcaaccccggca
+gaataaagctgtggttgatgacgaagcgaccgatgtgggtggtgccggaacggtcaaact
+gaatcgctgccagatcgctcggataagtcggcaggatgtaataaccgtagcaagccggtg
+ctgaagccacgatgtatgccggatcaacgccgatcgccagcgcgaccggaacaatcgccg
+ccagcgccgcagcctgagagtttacaaacttggaaaccagcagcagaacaatggcatagg
+cccacggatactctttcaccatttcacccagtacgccctgaatttcagacatatgcgcac
+cgaacatggtttctgccatccatgcgataccgtacaccgccacgatggcgatcataccgg
+aacggaagacttcgttttttgagatagacgcgggattggttttggtcaggataataatca
+gcgccccggtcagcagcataaacatctgaataaccagtaccatcgacagcggtttgccgc
+cgaaggatggacgcaggtccgaatcagcaccaagaagggcgactacagcgattgccccga
+ggaaaatccacattgccagccagttgcttttcggcagttttttatccagcagcgtcgcgg
+tatcaccgtaaacatactcacggttttccggtacggagatgaatttctggaactcttcgt
+ctttatccagatctttaccgcggaaccagctgaagataccgatcgccaggataccgatta
+acgtcgatggaatggtgattgccagcagatcgaggaactcaagatggcgaccatcaaagg
+tgacattacccagcatcgcaaccagagacacgaccgcaaccgacaccggactggcgataa
+tccccatctgtgcaccgatagaacttgccgccatcggacgttccggacggatgttgttct
+taatggcgacgtcgtagatgatcggcagaatggtgtaaaccacatgacccgtaccgcaaa
+gaatggtcagtgtacaggtcacaaacggcgcgacaattgagacatatttcgggttgcggc
+gcagcagcttctcggcaatttgcagcatgacatcaagaccgcccgaagcttgcaaggtcg
+ccgatgccgccaccaccgcaatgataaccagcatgacatcaactggtggtttacctggct
+gaaggtggaagacgaagaccagaatgaccagaccgataccgcctaataaacccagcgcga
+taccaccctttctggcaccataaaacagacatatcagtattatgataagttggatagtaa
+ataacatgtgtgaaccctcgcgataatcctatttaaatttttgctgaatagatcacagtc
+acgttctgttttgtatgaactgttttcagagcctgactaaatatccgtttggtcgttacc
+ggctttagcaaatacctcacagtgaatattggctgattaaagcagcggcaaatttatgca
+ctgtgataagcggctttttcagagagaaagactctctggcgatgggtttatagtttgtac
+tgcgcagatgttaatgttttgtttgctgttatcttattgatatttatcggtctatttttt
+gttctcagggcagatgtcattaggtttatagattaatctgatctacccatttgtgggtaa
+aaatacacataatgcgggtgacataatagttaattaacttttgttagcgttttgaaatta
+aaaacaccgttcacctgaagagatattaatttttagcgatgatggagggataattatatt
+tgatctggcacaagttttactgatgaaggatgtaacttgtgccaggggtattttgcatta
+cggtaataattattacttacagataaccagcgatccgttattggcaatattgtttcagta
+gtgagtagtgttctgcctgaatacggtaacggtaaactggacgccccgtgacgccataat
+ggatactggtgaacaagatgtggcagttgaccagccagatgaggtatttacggcaggaaa
+cacgcgaaatgttaacctcgttggctagctcgtcggttgaaaattcatagtcctgatgcg
+cgtcaatccactggcacagtgtgcgtaacgtctgcggcgttaagccttttggcaagcgac
+gaggatcctgttcgttggagctgctgccgtggattagctgatcaagctcggcctggtcat
+aatactgatgtttttccagcgccattttcttttgccgccagccggtgagcgcctcttcaa
+agcgggaagcctggaagggtttgatcaggtaatccacgacaccgtaatgcagcgaatctt
+taatggttgccgcatcggctgcggaggagatgacaatcacatcacttttgcaacgcgcgt
+tatgcaggacaggcagtaaatcgagcccgttctctttttgcatatagatatcgagcaata
+tcaggtcgataggcgtatcgctattgaagataatctctttggctttctccagcgtcgagg
+ctgttccacagcattgaaagcctgggatttgtgctacgtatcggcgattcagctccgcga
+ccattgcgtcgtcatcgataattaatacattgatcatctgttcgacctctccccgtccca
+gggtatctggacaaaaaattgtgtgaaaatcccgggttccgattccacggcgatgctgcc
+gccgagattttctacctgttgtttgacaagtgctaaaccgacgcctcgctcgcttccttt
+tgtcgagacacctttgtcaaaaatgtgatcgattttatcgggtgcgatccccggtccatc
+atcattaacttcacagtgcagccagccgtgacggtagtgcaatgttacgctaatttcgcc
+tccgggttccggccctaatgcctccagcgcgttttctatcagatttcccaacgtggtaat
+cagcgtcgcgacctggtcctcactgccgctgtctggcagctggctttcactgtttaaaat
+cagcgtatggcctaaatcggtcgcgcggttaatcttgctgattaaaaaaccagcgataac
+cggagatttgatcttacccagcagagagccaatctcttcctgatagttattggctgtttt
+gagaatgtaatcttccaactgcttataactcttcagatgcaataatccgagaatcacatg
+caatttattcataaattcgtgggatcgttcacgaagtgcgtcagcatagttgaccagacc
+gtcgagtcgctgcatcagtttacgtacttcagttttgtccctgaaggttgaaatggcacc
+gatgataacgccattactgcgcaccggaacggtgttgatcagtaatagccggtctttaat
+cgtaatctcttcgtcgcggcgcggggtaccgtcgcgtaacacttccgagacatctaccac
+ctgtgaccatgagtggcttagcgtcgacagtttctcatcgtcctgcgacttacggtaatt
+cagcaattcttgtgcggcatcgttgatcagcgtgacctcgccgcgatcgtccacggcaac
+gacgccttctttgatagactgcaacatggcctggcgttgctcaaacagcgtggagatttc
+gtagggttccaggccgaaaaggatttttttcagtaccttaaccagaatgcaggtgccaat
+cagtccgaccagcatgccaaataataccgaccagataatgctccagcgactgtcattgat
+ctgttgggtcacacggcttaactcaaggccgatcgccaccacgccaatttgtttatgatt
+ttcatcgtagatgggggtaaatacgcgtaaagcctgcgccagaaaaccgcgattgatagc
+gacattttcttcgccattcagcgctttaaggatgtcatcacctttaaatggctgaccaat
+acgctgggcttcaggatgcgagtagcgaagactttgcatatcggtaacgacaataaacag
+cagatcgttgcgtttgcgtacggcttccgcgatggcctggatgccactctcctgcggttt
+tttctgcaagccctgacggatttccggcgagtcggcgagggtacgcgccactgccagtgc
+cttgttggctagcccatctcgcgtcatatcactgatttgcgagaagtaaatcagatgcac
+caccaatagcaccgagaacagtaccgcactgaccattaagatcactgtggtactcaattt
+catcggacgtttgcgtaacatgcggtagggcaatgaatgtctcatcagcttccttgtgtg
+acaaatttcttaagcattatctctgatgaggcgggtaattcaaagggagtaagaatgatt
+ggctatataggggaagagactctggcaacggaaactgccagtgctgtatgaagattccgg
+ggctatgcttatagcgataatcatactgatgagagagggaaggtcatggatcaggcgcta
+ctggacgggggttatcgctgttataccggcgaaaagatcgatgtctatttcaacactgcg
+atatgtcagcattctggcaattgcgtacgtggcaacggcaagttatttaatctcaaacga
+aagccgtggatcatgccggatgaagtcgacgtcgccactgtggttaaagtgattgatacg
+tgcccgagcggcgcgctgaaataccgtcataaataagcgagggtaaaatggaaatacgcg
+aaggccacaataaattttacattaatgacaaacaaggcaagcaaatcgctgaaattgtct
+ttgtgccgaccggagagaatttagcgattatcgaacataccgatgtcgatgaaagcctga
+aagggcaagggattggtaaacagctggttgcgaaagtcgtggaaaaaatgcgtcgggaaa
+aacgaaaaattatcccattatgcccatttgcgaaacatgaatttgataaaacgcgggagt
+atgatgatattcgcagttgatgggagagtacagagtcacgatatttttcattctctccgc
+gatgtgatgcaggagagcatctgaagggtagggggatgcacaaagaatgggcagagagcg
+cgtttttttgtcccaagtcatcccctttactgagcaaaaaaaagaatatctcctatatga
+gaatcatcaatcggggttaataagttttgcgtccccagagcgtttaatattgataggagt
+catattatggaaggtaaaaacaagttcaatacttatgttgtttcttttgattatccatca
+tcttattcctcagtgttcttaagattaagatcattgatgtatgatatgaatttctcctct
+atcgtggctgatgaatatgggataccacgacaattgaatgaaaactccttcgcaataacg
+acatcgttagccgcaagtgaaatcgaagatttaatcaggctcaaatgcttagacttaccg
+gatattgattttgacctcaacattatgacagttgatgactatttccgtcagttttacaag
+tagccaggaaggataagaagaacataaaaaatggcactattctctaaaatattaattttt
+tatgtgattggtgtgaacatatcctttgtcattatctggtttatctcacatgagaaaaca
+catattcgtttacttagtgcattcctggtcggaataacctggccaatgagtctgcctgtg
+gcattacttttttctctcttttaggagctgtagttgagtggacccgctggttatcgtgaa
+acgaagcgtctctcctcaaaactggatttgcggaacgatgaacgaagcagtcgcctgact
+gcttcgttcattaaagtgaaatttatttctgtgggcgcatcgccgggaagagaataacgt
+cgcgaatagtatggctgttagtaaacagcataatcattcggtcgataccaatacccagac
+cagcggttggcggcagaccatattccagcgcagtcacgtaatcttcgtcatagaacatgg
+cttcgtcgtcacctgcagctttagcattaacctgttcctggaaacgttcagcctgatctt
+ctgcgtcgtttaattcgctaaaaccattaccgatttcacgaccaccgatgaagaattcaa
+aacggtcggtgatttccgggttaacatcattacggcgtgccagcggggacacttctgccg
+gatattccgtaataaaggttggctgaatcagatgtgcttctgccacttcatcaaagatct
+ctgtgacaatacgtcccaacccccagcttttctctaccgtaataccgatagattcagcta
+atgctttagcagcatcaaaattatccaggtcggccatatcggtttctggacgatattttt
+tgattgcttcgcgcatggtgagtttttcaaacggtttgccgaaatcaaacacatgctcgc
+cataagtgactttagtggtacccagaacctcttgtgccagggtgcggaacagtgactctg
+tcagttcaatcaaatcgtggtaatccgcatacgccatgtagagttccatcattgtgaact
+caggattatggcgaacagaaataccttcattacggaagttacggttgatttcgaataccc
+gttcaaaaccgcctacaaccagacgtttcagatacagctccggcgcgatacgcagataca
+tatctaaatccagagcattatgatgggtaataaacgggcgagcagatgccccacctggaa
+ttacctgcatcatcggggtttctacttccataaagccgcgcgcgaccatgaattgacgga
+tagcggccagaatttttgaacggacaacaaacgtttgacgggatttatcgttagcgatga
+ggtccagataacgttgacgataacggacttcctgatcctgcagaccatggaatttatctg
+gtaaaggacgtagtgctttagtcagcaggcgcagctcagtacagtgaatggaaagctcac
+ccgtttgcgtcttaaacagcgtaccgcgggcaccgataatgtcacccagatcccattttt
+taaactgatcgttataaacaccttctggcaggctatctcttgcaacgtacagttgaatac
+ggccaccgacatcctgcaacgttacaaaggaggctttccccatgatacgacgggtcatca
+ttcggccagcaaccgagacttcaatgtttaaggattccagttcctggttatccttcgcat
+caaactcttcgtgcaactggtcagaggtatggtcgcggcgaaaatcattgggaaacgcca
+caccttgctgacgtagtgccgccagtttttcgcggcgatttctcagttcatcgttaaaat
+caatagcctcattggctccccgtgtttcttgttcagacattttggttcctctaaatccag
+ctttcaatttagcgtagataaagagacagatcggtacactgtattatctgcctcgactat
+tagtaactcagtttatcttatcgaaactaacgcttacctcaagttgatatcactaataaa
+taaccatcaaaatggtttaaatgacttattaatctcgatttgttagtgttataaactgaa
+agttaatttattcataaccaattgtttttacgacagttaatcgttgctctcctgtatcat
+attcgtcggcgtgctaaacagaaaacgggtagcaaaggccaatacgacgatgatcgcgac
+acaagccaacgtccactctcccatctgagaaaagaatcgctggtaagctgcaattgccat
+accgctaatttgcgactctgtcgtctgctgtgccacgacgcctgccagccagttggcgac
+cgcgcctgttgccagcatataaatcccggttaatacgccagacattttcagacgcgtgat
+ttgcgcaatcgccaccgggtcaataaagagttcggcaaagcccattagcgccagcccgga
+tatcatcacgcccattgacgcttgaccgtcagccgctgcatgtcgggcatcaaatgccaa
+caacataaagccacaagccatcagcagtaagccaaaggcaaacttcagccagacgcgcaa
+tgttgagttgccgcggctttctggcgacgccagccaggccagtacaaccccagcgagcat
+caccgcaattgcattcaccgactggaatagtgctgtaggtacttcaatattgaatgcctg
+acgattcacaaagcgatcgataaacaagctgatggtactgccgccctgttgtgccagtac
+ccagaacaatgtcccgacaaacatcaacaatacaatttgccaaagagcacggcgatgttc
+ggggaatttgatcatcatgcgggcaatgatttgtgcggcaatgaggcaaacgatcgccag
+caaatatccggaccagtcgttctccagcagcagagtaaaaaatactggggctaaacagag
+catcaccactaaccagctccatactggtaaggcaaatttgacactagtgagcgctttttt
+atccatactacgtgtggactggaaatgacgatgaccgcttaagaaaatcaacaaaccgat
+aaacatgccgccacccgcaagggcaaagccaacatgccatccataccactgagcagccag
+gccgcaggcgattggggctgcgatagaaccgatattgcccgcagcatacagcagcgaaaa
+accgccatcacgtcgatgatcgttctcgtcgtagagctcgccaagcaaacagctgatgtt
+tgatttgaataaaccgtagccacaaataatgattgccagcgccagatacaggctaaaggt
+tgaatttgtatcaatacccagcaccacatggccaagggtcattaacagcgcgccggcaat
+cactgcagtgcggttgccgagcaggcggtcggcaagccagccgccgagaataggggtaac
+gtaaaccagagaagcatatgcgctgaacaggctgatggcatggttatcatcaaaaccaag
+ctgatgggtgagatagagaatgagtaaggcacgcatgccgtaaaaactgaagtactccca
+gatttggatcgccacgatatagtatatcgcgcgcggctgtgagggtgttttcatgtgttc
+tccttatgagcaaaaaagggaagtggcaagccacttcccttgtacgagctaattattttt
+tgctttcttctttcaataccttaacggtatagcggccatcagcctgacggtatgcaccgt
+gaatatcggtttcaaagcccggatagtgagcgccgatttcacacagcatctgcaggaact
+ccagaaccggacggctttcttcggtgatcatttcacccggcattaccagaggaactcccg
+gcgggtacggaaggatcatattggcgttaatacgacctaccatttcgtcgaggtaaactt
+cttcggtcataccgtgcagctctttctggaatgcagcatacggagtcattaccatcgtcg
+gcagcacttcaaatgcgcgatacatcagatccggcagattgtggtgaacaatcagtttgt
+ggatattctgagccagttcctgaatacgcatgttttcatagaattcaggatcttcacgat
+acagagacggcagcatgtttttcacacgcaggttcaggtcgaacgcacgtttaaagtcag
+tcagagcacgcagcaggctcagtgctttggtcttatcgataccgatgctgaacaggaaca
+gcaggttatacggaccggttttctcaacaacgatgccatgttcgtcgaggtatttcgcca
+cgatgctggccggaataccaaagtcgctcatggtgccgtctttttccatccccggagtca
+gcagggtgactttgatcgggtcaagatacatgtgctcgttatcgatgtttttgaagccgt
+gccaggtgctgtcagaacgcagcggccagcattcagtcgtatcgatatgatccggctgcc
+atacatcaaagaaccagccatcagattccgttctcagacgtttgatctctttacggaatt
+tgatcgcacgttcaatagaaccgttgatcagacgcttacctgcattgcctttcatcatcg
+ccgcagcggtttcagtggacgccacgataccgtagtgcggagaagtggtggtgtgcatca
+tgtaggcttcgttaaaggtttcttcgtttacgtcacctttaacgtggatcatggaagcct
+gagagaacgccgccagcagtttgtgagtggactgggtttcgtaaatcactttcccttcta
+cacggccaccgctcataccgcatttaccttcgtaaatcggtgagaagttggtgtaaggca
+cccacgcggagtcaaagtggatggatttcacatccagtgttttcttgatgaagtcggtgt
+tgtacagcagaccatcataggtagagttggtaattacagcatgtaccggccaggttgcgt
+ttggtgtttctttcacgcgcttagcaatggtagcgtgctggaattcactctgtgggatac
+caccaagaataccgtaagcgttacgggtcgggcggaaatagattggcgtaacatcgctca
+tcatcatcaggtgggtcagcgatttgtggcagttacggtcaatcagaatggtgctgcctg
+ctggagcagagtacataccaacaattttgttcgcagtggaagtaccgttggtcaccatgt
+agctgcggtctgcgttaaagacgcgagcgatatactgttctgcttctttgtgtggaccac
+tgtgatccagcagagaacccagttcagatactgaaatggaaatatcagatttcatggtat
+tcggaccaaagaaatcatagaacaggctacctaccgggcttttctggaatgcagtaccgc
+ccatgtgaccaggagtacagaaagtatatttaccttcacgaacatatttaaacagtgctt
+tagtcagcggaggcagaatagtgttgatatattcgtcagtggtctgcttgatcttattag
+caatatcttcagcagcacccagcgcatattcaaagaagctaatctgtaaacgcaggtcat
+tcaggcttacatcgagagtggaatacgtattagcgaacgcgtacaacggcaggttctcgt
+tcattttgctaatttcttcgcacagctcgagattatatttatcccagtcaaaaataacgc
+cgcacagacgcgcattgttttcgatcagttttaataagtcgtcacggtcgttcgggtaaa
+caatctggaagttcagacgttcaagcgcgcgatgaagttcacggatgggttcttctttaa
+aataaacccccatgtgattcaatattgcaataacgttcatagtcatatctccaggtaaaa
+aaggcccctcccaacacatgggacaaaatgaaaggaggagcctcggaaaatacttttaat
+taatgtgcgttagacgcggtgtggttatccattgagtggctctggcgctcgtgcattttg
+cgagcgtagaacatcaggataatcaggctgacgatgaaggtacctgccagctcgaaggag
+cttgcgcccatcagcgcgatgaagcagaacacgcaacccagtacagagcagatcaggctg
+acaaagttgcggatgttaacgccttcaaaacgaatcaggtcaacgcaagagtagaaatac
+ggcagcatagtcagcagtactgcgataccggtcagttcaccgaacaggtcagatgcttta
+ccaccggcagagttcatcagagtgataaggatcatcagggcagtcattttcactgcagcc
+agcagcagaccttttttcggaataccgttgctgtcgacttcaccataaactttcgggaag
+ttaccgtcgttagcggcacgtacacctgcctggcctaccaacatcatccaggagcccaga
+gaagtcaggcacgcaaaggcggtgaatgcagaaaccagcggcgcagcccagttaccgagg
+atagttgaagcactgattgcaaacggagcaccggaagccgccattacagaagacggatac
+ataccggaaagcacctgagtcgcagcgatgtaaacaatacctgctaaaccagtacccagc
+atggttgccagcggaacggtacgtttcgggtttttaaccataccagtacttacagctgcg
+gattcaacacccacgaaggcccacaggcagagcagaatacttttaatgatcgcatgacca
+tcagtggtatccgcagtattccagttagctgcataagttgccgcatcaaaccaatgccag
+ccaacaatagcagtcatcaccacaggaataagaaccagcaccagaccaatagtggttaaa
+cggcttacccaagtaccgccgagcatatttacaaaggtaaatacccagacgatagcaata
+caggcgatacccgccggaacaggatcatttaatactgggaagaaggtggaaagataagat
+acagcggtaataccaatcgccaggttaccaatccagttagcatggtaataaagaacacct
+gtctgaaaaccaaatgcaggggaaatttctccggcataagcaattgggccaccttgttgc
+gggttttttgttgccagtcgggcatatacatacgccagcgacattgcaccaataatagag
+ataatccaaccccagatagcaataccaccgatacttgctaggttcgcaggtaataatgca
+ataccgctccccatcatattaccggcaacaacaccggtacaggcaaatagcccgatcttc
+ttggcagaactcatgctcttctcctaatttcatttttgaatttggagtccgggtcatgat
+gtataactatttcctgaccagaccaaactggcgataagattactcacgaaaaaaggatta
+atcctaaagattaggtgaaataacacaaaagtttctgtaagtgagaacttgaggtttttt
+attaacacatcaggatcgcaagttgatatcatgaaaagataaacatttaatgtttacaat
+ggattgcgtgacattctctggttaaatttatgtaataaaaattatgcggcaaataaattg
+ccgcaacatattataccaacaggaacatacaaaaactcaacaacaaatatttccgagcat
+aaatcaacccggagttacttattctgaagcaagaaatttgtcgagataaggtacaacata
+aggaacagaagtctggaatataccattttcaatccagtaaagggtgtttgcccctgggcg
+taaattaaaggcggtgagatatgcatcagctgcttcccggttcatccccttcatttcata
+aaccttgccaagcaacacataatttagccaggacatttcaagatcaatgccagtatttat
+cgcctggtaagactcatctgttttaccttttaccagagcactgaccgcttttatttgata
+tataatggacaggttgttcaattccggcagtgtaacaatgttatctatttctgtgttcag
+tgctgctaattgtttttcatctaaaggatgttgagaatggcgcacgatatcaactaatgc
+tttttctgctctcgcgtaggtaaattctggggatgattgaacaatctcacctaataattc
+actggcacggttcaatgatttatcatcgccatgcagtaaataatcatgtgcctgataaaa
+attagttaataacgcaccacgatgcggcaaaattttctggagcgtctcctgcattcgttg
+tggccacggttggtttaacgcttttgataaactctccagtaaatcattttgaatcgccag
+ctgattaccgttagtgatgacataacgtttatccagcatggttgaaccatctgcattgtc
+taccaattttatcgacataaagcattgttgagcacggtattggcgctgattaacaaacgc
+aatagataatgttttaccggaactgctcggttcatcaatgttgtagttgattttgtcatg
+caccataaaggtggagaaggtgttaagtgatgtcgccaccaaatcacccacgcctatcgc
+gtaagagagctgatacggggaactccagctgttacaacttttatttaccatattaatgtc
+aatatcgcgtggattgagcaaaatacgcgatttgctcataggaagacgtgtatcaagact
+tgaaaacgctaccagtgctacacagatacctaacgacaacaggaaaaaaaaccataccca
+aaaggtagtgaatcgtttgcttttaactggggattgttcaggtggcgttgcggtgttttg
+aatgttaagactgtgggagggagaatctgtggcaggaaccgcctctggtatagggggagg
+cgaagatagcattatttcctctccctcttcttcgctgtaccagataaccggcaccattaa
+tttatagccgcgctttggtacagtagcgatatagacaggactatcttcatcattatcttt
+taatgacttacgtagttctgagatactctgcgtcacaacgtgattggtgacaatacttct
+cttccagacattatcgataagttcatccctgctaagtacttcgccactgtgttgagcaaa
+gaaaaccagaagatcgattaatctcggctcaagggtaagttgacgcccattgcggctaat
+ttggtttatggacggagtaacaagccattcgccaacgcgaactacaggttgttgcataat
+agaaactcattcgaaaagggaatgatgcaatgataattgccacaacctatttttaccatc
+tatagatgggtttatttacatattattggtgaatgcaagacgttatttttaccagccata
+aacttcttgattacatagtattacgaaaggattttactgagaaccagaagtaatattcct
+taccatcaaaattcatcatctttgccaaagaaaaatgttcagaaaataatccatggaaaa
+ttgtccggagcacttactattttaatggattgttagtctttgcatgagcaagcgaactga
+tacatttctctttgttctcattcagaaaatctcatcagtcgccgttcagaccggtgttgt
+gctttatggatgcgttacgctcctgatgacgtcatttgacgttcaacagcatcacggggc
+cgcacgacatttcacgtcagttagtgctatagctcaggaacaaattttcccgaattggga
+tatgcccgcaaattgctggtgatgtggggagaatctggttgagttcggtagaattgattt
+ggaggcagaacgcttaaatcgtggcgtcctgaaacgaaaaacggacctccgtggaggtcc
+gtttatatgaatttggtgcccggactcggaatcgaaccaaggacacggggattttcaatc
+ccctgctctaccgactgagctatccgggcaacggggcgcattaaaccgtaatctgcacat
+ctcgtcaacctaatttcagtaaaagcgattcaactgcttaagattgcggcaaatcgcttc
+ttttctgtgtttctgtcaggtcaatgcaccaccctggcggcagcgggcgaagcgcaggat
+atcttccgccagccgatgtgcagtgtcgacatccgcctggctacgattcaccagcattcg
+gcttaaacagccttccagcaccagttccatctgctttgctaccatcgccggatcgtcaac
+ttccagtgtggttaacagttcgtgggtgaaatcgtaggccgcgcttttttgctgatcggc
+cagttgatgaatagggtggccaggatcgggataaaacgtacaggcagcgataaatagaca
+gcccggatagcggttgtttttaacgcactccgataacgcctgataacgtgccagcagctt
+ttgttcggcggtttgcgtttcgtccagcatcagctgacgacgccagacatctatctgttg
+gctaagataacgcagcgcatcgtagaggattgcctctttgtctggccagaagcggcgtag
+ctcgtccagtggataatccacacgttcagcaaccatctccagcgtggtgttggcaatccc
+ttgtaattctaataatttcagggcttctcccagtacatcttcacgttgcacgctattttc
+ctccgtctttcccactgcaagtgtcgttcacggttggcgatcgcgcaaatgtgcgctgaa
+ggtttcagcatccataaagcccgtgacgcgtgcttgtggatgctcctggccttgtccgtc
+aaaaaagagaattgtcggtaggccaaggacattaagatgctttaacagcgccacatcttg
+tgcgtcgttggccgtgacgttggcctgaagtaagaccgtgtctgctaacgctttttgcac
+ctgcgggtcgctgaaggtgtatttctcaaactctttacaggcgacgcaccagtcggcata
+aagatctaacatcaccggtttgcctttggcttcaacgagcgcctgatttaactcatctac
+cgttttgatttgtgtaaagttgagatgcgtctgagtttgcgcggtatgcgtcgcaccaaa
+tgcccaatcctgaagtgggcgcacgctaaccaatgccgctgccagcagaataatttgcac
+aatacgcatccagccgcgtttagcctgtaggctggtgataaaggcccagccaaagaatgc
+gacacccagcgccgaccacaagcgtaatccccatacatcaccaatcactcgctccagcag
+gaagaccggcagtgcgaggatcacaaaaccaaacgcggttttgacttgttccatccacgg
+gccgcttttcggcagcaagcggttaccaaagacggtaattagcatcagcggcaggcccat
+gcccaacgcatagagataaagcgtgccgccgcccagccacatgttcccgctttgggcgat
+atacagcagaatcgcgctaagcggtgcggtggtgcatggtgaacagatcagtccggcaat
+cgcccccataacaaacacaccgccaggtgagccgccctgttggcgattgctcatcaacgt
+gagacgtgtttgcagcgaagaggggagttgcagggtaaacaagccaaacattgacatcgc
+cagcaaggtaaagacgatggcgaggccaatgagcacgtatgggtgctgtagcgccgcctg
+gaactgtaaccctgcggcggcaaccaccagacccagcgccgtgtaggtcagcgccatccc
+ctgcacataaataaaggtcagcaacaatgctctggcagtggagagccgctgtttaccacc
+cagcacgatgccagaaatcagtgggtacattggcagcacgcatggcgtaaaggcgatacc
+aataccgatcaacaacgcccagagcgcggaaaagggcaattgcgcggtgggctgctcttg
+ctgcggaacagacacaggctgtggcgctgcgttgttggcgaccacttcgcttaacggaac
+ggttttggtttctggcggataacagaaaccggcatcagcacagccctggtaggtgacagt
+taacgtcgctcccgcactcgcctggttgatggtgacgggaagcgtcagccgatcgcggta
+aatctcgcttttgccgtaaaactcatcttcatgccagacgccttgcggcagctgcacgtc
+ggcaattttcgcgtgttccggcgtaatgcggatctgtttacggtagaggtagtaaccgtc
+tttgatctgccaggtcagattaaggtcatgttggttttgctgaaaatcaaaagcaaaggc
+ttgatccgcggggacaaattgtgaacgtcccggcgcgtcgaataatccggcaaaaacgga
+agtgctgcaaagtagcaggatcagcgtaaagatgcgttgagccatgagaggtaatctgtg
+tctccgtgtgtaacaggtaaaaccagaagttccggggtttgatatggatgatgagacttc
+aggcattccagcagtgcctgctggtgagatacggtagtttttaaaatcatctgcacttcg
+tattcttgctccagcttaccttcccagtaatagagagaggtagcgccggggatcaaggtc
+gcgcaggccgccagtttttccgccagcactttggcggctaaatcctgggctgtcgcttca
+tctggtgccgtacatagcaccacgacagacgcggtattcgaacttttttcatcaagcata
+aacacctcgcaagaacagatggaaccgcaagagagaggtcactatacaacggacggggga
+aggatgttagtcggcgggaaagaaagcggggcgtgaacgccccgcgattgatcattacag
+catgaagctacccagcacgaagccgaagcaaacggccagggcaacacccagagtacccgg
+gatgaagaacggatggttgaagacgaatttaccgatacgggtagtacccgtgtcatccat
+ctgtaccgcagcaaccagcgtcgggtaggtcggcagaatgaacagaccagacaccgcagc
+gaaagaagcaacagcggtcagcggtgaaacgttcagtgccagagccatcggcatcagtgc
+ttttgcggttgcagcctgagagtacagcagagcagaagcaaagaagaagatgacggccag
+cagccacggatgaccctgaatcacttcaccagcggtatctttgatccagtcgatgttgtt
+ggaaacgaaagtatcgcccagccacgcaacacccaggatacaaatacaggcgctcatacc
+tgctttgaaggtgctggagttgaggatgttgtcggtatcgactttacagataacggtggt
+cagagttgcaacgctgagcatgatgatcaggattgcgttggtggtgttcatcagcggttt
+ttcaaccagacccatgcttgggctgttgatgattgcatagataaccacgccaactacgcc
+cagcaggaacagccagacggacgtttttgcaccggatttgatttcaatctgcttttcacc
+gcgcagttcaaccaggccctcttccagacgcttgcgataaatcggatcgtcagagagttt
+ggagttgaacagcatagtgaccaggaaggacatcaccagaaccgccagcagggtggacgg
+gatgaccacggagagcagatggaggtagctgatgccatgaccttccatcacggaagacat
+gtaaaccactgccgctgagattggcgatgcggtgatcgcaatctgcgcggataccactgc
+agtagacagcggacggcaaggtttaacgccttgttccttcgcaacttcagcgataactgg
+cagtgtcgccagagagatgttgccagtaccagcaaagatagtcaggaaataggtcacgat
+cggtgcgaggatcgtgatgtatttcgggttacggcgcagcagcttttctgtctgatgaac
+cagatagtccagaccgccagcaacctgcatggcagaaatagcggcgataaccgccatgat
+aatggagatgacatcgaacgggatgttaccgggtttaacgccaatagcggcaagaaccag
+cacccccaatccgcctgcaaaaccaatacctattccccccaatctggcgcccaagaagat
+cgccagcaaaactatgatgagttctacaactagcatattagccttccttgttttttaaca
+agttgatattagattgttatttttaagttactgctcacaagaaaaaaggcacgtcatctg
+acgtgccttttttatttgtactaccctgtacgattactgttcgctttcatcagtatagcg
+ttttgctttgtaagccgggtgcatcagattctgtacggagaaaatatcgtcaagttccgc
+ttcagtcaacagaccgcgttccagaacgacttcacgtacactcttaccggtttcggcaca
+gattttacccacgatgtcaccgttgtggtgaccgatgaacgggttcaggtaagtaacgat
+accgatagagttgtaaacgtaaccttcgcacacttctttgttagcagtgatgccgttaat
+gcatttttccagcaggttgtagcaagcgttggtcagaatgtgaacggattcgaacatggc
+ctggccaatgaccggctccataacgttcaactgcagctgacctgcttctgctgccatggt
+aacagtggtgtcgttaccgatgactttgaagcatacctggttaaccacttccggaacaac
+cgggtttactttagctggcatgatggaagagcccgcctgcagttccggcaggttgatctc
+gttcaggccggcacgtgggcctgaagagagcaagcgcaggtcgttacagattttggacat
+cttcacagccaggcgtttcagcgcgccgtgaaccataacataagcgccgcagtcagaggt
+cgcttcgatcaggtcttcagccggtacgcatgggaagccagtaacttcagccagtttttt
+cactgccagcggagagtactctttcggcgtgttcagaccagtaccgattgctgttgcacc
+aaggttaacttccagcagcagttcagcggtacgttggatgtttttcacttcttctttcag
+caggatgctgaaagcgcggaattcctgaccgagggtcatcggtactgcgtcctgcagctg
+ggtacgacccattttcaggatgtcctggaattcgacagctttacgttcaaagccttcacg
+cagttggttaatcgcatctaccagcttaatcagggaagagtaaactgcgatacggaaacc
+ggtcgggtaggcgtcgttagtggactgacatttgttaacatggtcgttcgggttcaggta
+ctgatattcacctttttggtgacccatcagttccagaccgatattggccagcacttcgtt
+ggtgttcatgtttacggaagtacctgcgccgccctggtagacgtctaccgggaactgatc
+catgcattttccgttgttcaggacttcatcacatgcggcaatgatggcattcgctacact
+tttaggaatggtttgcagctctttgtttgccatagctgcggcttttttaaccattaccat
+accgcgaacaaattcaggaatatcactgattttgttgttgctgatatagaagttttcaat
+cgctctcagagtgtgaacaccatagtaggcatcagctggaacttccctggtacccaacag
+atcttcttcgatacgaatgttgtttgacatgtgaaccttctttttcaagctgccaatgat
+ttgctttaaacacacagaatatatgtggtttcgaatgtttttcgaccgacgattatcccc
+tgcatcgaccgaatacccgagatcatatgctgcttgaggatttctaccgtaatctggatc
+actttaagtgtcggtttttaccccttaattattaatttgtgaaatagatcaccgctttgg
+gattactaccaaaaatagttgcgcaaacatcttgaaattttgctaatgaccacaatataa
+gctaaacgcgattcgcaacccattcaggtagccggggttaaccggctgctattacaggag
+aaacctttgcgctggttaccttttattgccattttcctttatgtctatattgagatttca
+atctttattcaggttgcccatgtattgggggtattgctgaccctcgtgctggttatattc
+acgtcagttatcggtatgtcactggtacgtaaccagggctttaagaatttcgtgctgatg
+cagcaaaaaatggcggcgggtgaaaacccagcggcggagatgattaaaagtgtttcgctg
+atcattgctggtttgctgcttttattaccgggcttttttaccgacttcctcggtcttcta
+cttttattgccgccggtgcaaaagcatctgacagtgaagttgatgccgcatttgcgcttt
+tctcgcatgcctggcggcggttttagcgccgggaccggtggcggtaatacttttgatggt
+gagtaccagcgaaaggatgatgagcgcgaccgccttgatcataaagacgatcgccaggat
+taatgtcgaaacgccggattatgtggttatgccattttccggcgtttttcgttttggcag
+caacagccataaccccgccagcatgatcagcgcatagagacttttccagccgaccattgc
+cagtaacagaacgcataacagcccgccaaccaccgccagtagtcgataacgtccttgcaa
+taatttacagcctgccagcatgcataacagataaatcataataaagatgccattggcata
+aataataagagcgtccagattgatctctaaagcatgaatcaccaaagtgctcaccacaca
+gcagccgagcaccgcattgagggcattattcgggatatggcgagaagagaggcgtgccag
+gtagtggtcaggattatgttgcgcctgcgaccagaccaggcgggcgaagctctgtatata
+aatgttgagactggcaaagcaggccagatagccaatcacgcaggcaatccataacgctcc
+tacaccgaacaactgcactacaatttttggaagcgatgctgccgccgccattttttcacc
+ataggcgtcgaagtgtaagacgactaccgtacagccccagtagactaatcctgccagcag
+cagaccaatcatcaaagcacgaggaaaatcacgctctggatttttaaattccgaggcgag
+atgggcaaatgcctccagaccgacaaaacaccagaacatcactgataacgcagcaaataa
+cccggtaagttcgatattaccaggtgccggaaaggggatattcgcaggtttgatatcgcc
+cgcccaccagatagcgacaatcagcgcgacgataagtccggcaataacggtttgtagatt
+agcactggaactggcaccgcgagtaccgatataccacaccagcgccagcgtaccgagttc
+tgccaacaacagttgccagctatgccagccaaacatcgcctggccgaacccggcggcaat
+ttgtagtgcggcaggcaaacccacgggaatgaccgataaaaacagccagccggtgactcg
+ctcaagccgcgaaccaaacgccataccgacgaagtgcgcgacgccgcctgcgctgggata
+gtggcgacccagaatcgcaaacacaatcgcaatcgggaacactaagataatcaaaacggg
+ccacgcccacaggctgttattgcccgctaccagcgcagctaacgcaggaacggcaaacac
+gccagtgcctaataatgacgtcgatagcaggccaatgccctgggccagccccagttcttg
+tttgagtccactcatgggttgatgtccgattgcgcccaaattttgggcaactgcgtagat
+tttcgatggtagcacaatcagattcgcttatgacggcgatgaagaaattgcgatgaaatg
+tgaggtgaatcagggttttcacccgattttgtgctgatcagaattttttttctttttccc
+ccttgaaggggcgaagcctcatccccatttctctggtcaccagccgggaaaccacgtaag
+ctccggcgtcacccataacagatacggactttctcaaaggagagttatcaatgaatattc
+gtccattgcatgatcgcgtgatcgtcaagcgtaaagaagttgaaactaaatctgctggcg
+gcatcgttctgaccggctctgcagcggctaaatccacccgcggcgaagtgctggctgtcg
+gcaatggccgtatccttgaaaatggcgaagtgaagccgctggatgtgaaagttggcgaca
+tcgttattttcaacgatggctacggtgtgaaatctgagaagatcgacaatgaagaagtgt
+tgatcatgtccgaaagcgacattctggcaattgttgaagcgtaatccgcgcacgacactg
+aacatacgaatttaaggaataaagataatggcagctaaagacgtaaaattcggtaacgac
+gctcgtgtgaaaatgctgcgcggcgtaaacgtactggcagatgcagtgaaagttaccctc
+ggtccaaaaggccgtaacgtagttctggataaatctttcggtgcaccgaccatcaccaaa
+gatggtgtttccgttgctcgtgaaatcgaactggaagacaagttcgaaaatatgggtgcg
+cagatggtgaaagaagttgcctctaaagcaaacgacgctgcaggcgacggtaccaccact
+gcaaccgtactggctcaggctatcatcactgaaggtctgaaagctgttgctgcgggcatg
+aacccgatggacctgaaacgtggtatcgacaaagcggttaccgctgcagttgaagaactg
+aaagcgctgtccgtaccatgctctgactctaaagcgattgctcaggttggtaccatctcc
+gctaactccgacgaaaccgtaggtaaactgatcgctgaagcgatggacaaagtcggtaaa
+gaaggcgttatcaccgttgaagacggtaccggtctgcaggacgaactggacgtggttgaa
+ggtatgcagttcgaccgtggctacctgtctccttacttcatcaacaagccggaaactggc
+gcagtagaactggaaagcccgttcatcctgctggctgacaagaaaatctccaacatccgc
+gaaatgctgccggttctggaagctgttgccaaagcaggcaaaccgctgctgatcatcgct
+gaagatgtagaaggcgaagcgctggcaactctggttgttaacaccatgcgtggcatcgtg
+aaagtcgctgcggttaaagcaccgggcttcggcgatcgtcgtaaagctatgctgcaggat
+atcgcaaccctgactggcggtaccgtgatctctgaagagatcggtatggagctggaaaaa
+gcaaccctggaagacctgggtcaggctaaacgtgttgtgatcaacaaagacaccaccact
+atcatcgatggcgtgggtgaagaagctgcaatccagggccgtgttgctcagatccgtcag
+cagattgaagaagcaacttctgactacgaccgtgaaaaactgcaggaacgcgtagcgaaa
+ctggcaggcggcgttgcagttatcaaagtgggtgctgctaccgaagttgaaatgaaagag
+aaaaaagcacgcgttgaagatgccctgcacgcgacccgtgctgcggtagaagaaggcgtg
+gttgctggtggtggtgttgcgctgatccgcgtagcgtctaaactggctgacctgcgtggt
+cagaacgaagaccagaacgtgggtatcaaagttgcactgcgtgcaatggaagctccgctg
+cgtcagatcgtattgaactgcggcgaagaaccgtctgttgttgctaacaccgttaaaggc
+ggcgacggcaactacggttacaacgcagcaaccgaagaatacggcaacatgatcgacatg
+ggtatcctggatccaaccaaagtaactcgttctgctctgcagtacgcagcttctgtggct
+ggcctgatgatcaccaccgaatgcatggttaccgacctgccgaaaaacgatgcagctgac
+ttaggcgctgctggcggtatgggcggcatgggtggcatgggcggcatgatgtaattgccc
+tgcacctcgcagaaataaacaaacccccgggcagaaatgtctgggggtttttcttttggt
+catctttctagtataagattcagacacggacgacgcgagtggcgtccagctcattgatta
+tggggaataacatgcacgtaaaatacttagcagggattgtcggtgccgcgctactgatgg
+cgggttgtagctccagcaacgaattgagtgctgccggtcagagtgtacgcattgtggacg
+agcagccaggcgcagagtgccagctgattggtactgcgacaggtaagcaaagcaactggc
+tttccgggcaacacggagaagaaggcggttctatgcgcggcgcagcaaacgatctgcgca
+accaggcggctgcaatgggcggtaacgtgatttatggcatcagtagcccgtcgcagggaa
+tgttgtccagttttgtcccgacggatagccagattatcggtcaggtttataagtgcccga
+actgatgtgatccagaggctgggtgacaaacgtataattgcctgatgcgcttcgcttatc
+aggcctacataaggcattgcaactgattgaatgcttgagaatttgtaggccggataaggc
+gtttacgccgcatccggcatgaccaacgatcacgttatcagtcatttcaggctggatggc
+tccagcctcgcattagcaaagatgagattatttcgcctgtggtgcagttttgctggtgga
+ttgaacacgtaagtgatgcagcgcgcgtaagcattgatcctgggttagcggttgggcgtt
+attcgccgctacggtgcgaacatagacctgacatggcacacccgcgagttttttcagtcg
+tgggctgaaatcaagcattcggcgagtgatcgcttctatttctttacccggcgttgcttc
+acgcgttttcaccactgcgccgctaaattgttctttgccactttcatctttaaagcggta
+aagcaccgccagataatggtcgaacaagttatgtttccattccggttgggaataggtgtc
+atattccagattgccattgtcctggcagtcaacgtcgtataacggcaggaaatctaacag
+tgaggtaatacgtaatgccagttcacgcatttccgcattattaattgcatgaatgattgc
+tcgcgccagcatttcaatctgcaactcattgacgactaactcacatttgctaccgtcatg
+tagcgttaatacgaaggtaagattttcgccttgattatcggtaagttccagcgtgttaac
+ccgacgattaatatcggcatttttaagctcatcaaccagaatttctgggatgttttctgc
+cattttcttaatgactttatcgcgagcttgctcatactgaaggtgtgcagcagcatccag
+tttatgcttttgatgcagacgactttccagcgcaatcagcaggtcgcgcagttccatgac
+agacataaagaacaacgattctttattgcgaggttctttaattttcagcgccagtgcaat
+gaaattattactcttgcgaataacaccggtattaacacccttgatgcttatggccatgta
+ggttctccctaaccatttctcaattaaataattaattttaatttataagccagataaatg
+ggcttggtagtaatagttgttaaaataacataaatagccgtactcactctatataaacag
+aaaagaaaggttaattattggtgttagctatataaaaagtaacaacagcaatgcatatga
+ataattaaaggttatgcaacgggcaaagattaaacttcccagtttaatgacaggttgctg
+tacttgcgtttgttgctcttgccggatgcagcgtaaacgccttatccggcctacagttca
+ttgcaaatccattcaatttcaatgcacgatgtaggcctgataagcgtagcgaatcaggca
+attttaatgtttaacttccctgtttaatcagttactgctggcgtagctggagatccagcg
+gcgttttgctgggttcgccgccaatttctcgcgccagtttcggcaccagatatcccgaca
+ccagtgtcagcaactcacgcataatctgccgtgcttcgtcatcactcaccataaaatgcg
+ccgcgccctgtactttatcgagcacatgcaggtaatacggcattacgccggcatcgaaca
+acgcattactcaggtttgccagcgtttgtgcgttatcgttcacatcacgtaacagaacgc
+tctggttcagcaaagtaacgcctacccggcgcaacttagccatcgcctgacggaatgttt
+catctacctcattggcatggttgatgtgattcaccagcaagatttgcagcgtagaacggg
+caaagcattcaaccagcgcctcggtgatacgtgccgggatcacaatcggcagacggctgt
+gaatccgcagacgttttatatgcgggatggcttccagttgtgtgagcaaccagtccagct
+cgtgatctttcgccatcagcggatcgccgccggagaaaatcatctcgtccagttccggat
+gcgcagcaacatactcaagtgcagtttgccagttacgcttgttgccctgattttcggcat
+aggggaagtgacgacggaagcaatagcggcaatttaccgcgcagccgcctttgaccagca
+aaagcgcccggttgtggtatttatgcaacaaaccaggcactacgctgtgctgttcttcca
+gtgggtcggtggagaatccgggcgcgatgacaaactcatcttgcgaggtaagtacctgac
+gcaaaagaggatcgtccggattgcctttctccatgcgatcgataaatgagcggggcacac
+gcagggcaaaaagctttttggcgctgcgtccggctaacagtttttcctccgcgtctatat
+tcaaaagacgcagaagttcatcaggatcggtcacaacatcggcaagttgcgttaaccaat
+cttctctggatggggtatttagggttacaatatgcgccattttgtggcttagctaccaat
+taacaaatttcagagggccttatggcaacgtactatagcaacgattttcgtgctggtctt
+aaaatcatgttagacggcgaaccttacgcggttgaagcgagtgaattcgtaaaaccgggt
+aaaggccaggcatttgctcgcgttaaactgcgtcgtctgctgaccggtactcgcgtagaa
+aaaaccttcaaatctactgattccgctgaaggcgctgatgttgtcgatatgaacctgact
+tacctgtacaacgacggtgagttctggcacttcatgaacaacgaaactttcgagcagctg
+tctgctgatgcaaaagcaattggtgacaacgctaaatggctgctggatcaggcagagtgt
+atcgtaactctgtggaatggtcagccgatctccgttactccgccgaacttcgttgaactg
+gaaatcgttgataccgatccgggcctgaaaggtgataccgcaggtactggtggcaaaccg
+gctaccctgtctactggcgctgtggttaaagttccgctgtttgtacaaatcggcgaagtc
+atcaaagtggatacccgctctggtgaatacgtctctcgcgtgaagtaatgcggttgtggt
+gcggcctgcaggctgcaccatcacttattcaggtcagagatgatgaaacgccttatcgtt
+cttgttttgcttgccagcacgctgctcacgggctgtaacaccgctcgcggtttcggcgaa
+gacatcaaacatctcggcaactccatctctcgcgctgccagctaatttttcttctcttcc
+gaaaaatcatcagattcccatcatttttggcgatgttgtctattattaatttgctatagg
+caaacataaataacattacctaaaaggaagacgttatggtgaagaagacaattgcagcga
+tcttttctgttctggtgctttcaacagtattaactgcctgcaacaccacgcgtggcgttg
+gtgaagacatttctgatggcggtaacgcgatttctggcgcagcaacgaaagcgcagcaat
+aagcaataacggtacgacagctgtgtcgtgccgtttgttttttctgcgatagtcacaaag
+gtaatagttgaaattcccctgccacctggcaaaatatccgttcaaccatcagctttgcag
+gacgacctgcaaacgcctcttttcaccggggacggccccaattctccggagcctgatatg
+tcctggattatcttagttattgctggtctgctggaagtggtatgggccgttggcctgaaa
+tatacccacggctttagtcgtttgacgccgagtgttattactgtgacggcgatgattgtc
+agtatggcgctacttgcctgggcgatgaaatcgttaccagtagggacggcttatgccgtg
+tggacgggtattggcgcagtcggcgcggccataaccggcattgtgctgctcggtgagtcc
+gctaacccgatgcgcctggcgagtctggcgttaatcgtattggggattattggtctgaaa
+ctcagcactcactaactaccaggctgctgtacccaaataaatttactgacatcaaaccct
+tcccgggtcgcgactgccagcatctcctgtttcacttcgtcagaaatggttggcgtgcgg
+gagagtatccacaggtagtcgcggtccgggccgcaaaccagcgcatggcggtattcccga
+tcgagtgcaataacgttataaccgccatagaaaggaccaaagaatgacactttcagcgca
+gcgcgagttggtgcgccggtaaagtacgctttcccttcactctgctgccacattcctctg
+tcagggttatagcctttattaatgacattcaggccgccgtcatcacgcaggctgtatgtt
+gcggtgactttttccagtccacgttcaaagcggtgatcaaaacgggcaatctcataccag
+gtaccgagataacgtttggcgtcgaaattatttactacggtcacgccacgcggcggcgta
+ggagaactgcaggcaacgaccagaaatgcagctgtcgctgcggcaacgagagggagcagg
+cgcataaatgtttccttactggtttttttctaagtgtagatgacagcaaggaaaagcgga
+gaaaaggtccgaaaattcggacccgatggaattttactgtagagcgttaagaatctgcca
+ggcggcgtcgactctcgctggattgggatagtttttgtttgccagcatcacgatacccag
+ctctttttctggaataaacgcgacatagctaccaaatccgccggtcgcccctgttttatg
+tacccatgatgcgcgtactgcaggagttgggggcgtaatcgcttttacggggcgtgctgc
+cagtgcaattttattgtcactgccgttaatgatgctgtcaggatttaccggccagtccag
+catttcccagcccaggccctgatacatatcgccggtttgccagtagcgagattgtgccag
+ttgtatcccttgttgaagcgttttctcattgatatcaaggggttttaaattgctttgcac
+ccagcgggccatatcttcaatggtcgacttcacaccataagcttcagcatctaacgcccc
+aggcgaaacatgcactgccttaccttcgcgatatccccaggcgtaattcttttcttctgc
+gggcggtacattaatccacgtatggttgagtttgagtggctggaagacacgagtttgcat
+cgcctgctcaaaactcaaaccagacggcttcacagccagtgcgccgaacaaaccgatact
+ggagttggcatacagacgttgtgttcctggagcccatgcaggctgccagttttgatagaa
+gcgcagcaagtcgcttgaggatttcacctcatccggcacctgcaatggcaggccgccagc
+agtgtaggttgcgagatgtaatagtgtgatcccattccactgtttagcggtaagttcagg
+ccagtattttgttgtgggatcgcttaacttgatttcccctcgagcaatagcgtcgccacc
+aagcacgccagtaaatgttttgctgaccgaacctaactcaaacaacgtttgctgtgtgac
+gggctgctttttggcgatgtccgcatagccccaggtaaagtaataaggtttaccctgata
+aattaccgccaccgccatacccgggatcttttgttgctctataagcggggtaattgtgcg
+atgcacaatatcgttgatttgttgaggggcagcaaatgtggagcaagaggcggtaattaa
+taaggcgcagagcgtcgttttgaacatagggtctggtttccatacaaaacggcccgccat
+aggcgggccggatttacattggcgatgcgttagattgtaacgacaccaatcagcgtgaca
+actgtcaggatagcagccagaccgtagaaaacccatttgcccgcaggtacgtggattttc
+agatcgtgcatcgcgtggtgcatacggtgtaaaccacaccacagcggcagaacgatcatc
+aggaacaggaatacgcgaccaatgaagctctgcgcgaacgccagaacgcgctcgtagctc
+agcgcatcacccggaaacaaccccagtggcagcagaatacccaccagcaggatcatcacc
+ggcgcaatgatggcgctccacataccaccggccccgaagaggccccagaataccggttcg
+tcagaacgctttggatttggattaatcatctcaggctccttaccagtacagggcaacaaa
+caggattacgatggtggcaaccacagttaccgcccagagacttttgataattggctctgg
+tcccattttttcgtcttttacaatgatattggccgctttcggtgccagttcaaaccaggt
+tttggtgtgcagcagagctgccgccagagtgatcaggttaatgatcacgataaccgggtt
+ttgtaaaaagtcgacgaatcccgcccaggcttccgggccatttttcagggcaaacagccc
+gaaaatcagttcaatgctgaaccacacagccggaaccgccgtgccttcgcgcagcatgta
+aaagcgataaaacggcaattttttccaccaggtggacgtcattggccgtacatacggttt
+acgtttagtcgtcatgttgcactccttagcgtggtttcagggtcgcgataagaaagtctt
+tcgaactttctactttgccctgctgaatggccgcagccggatcgacgtgtttcgggcaga
+cttcggagcagtagcccacgaaagtacagctccatacgccgttctggctgttcaactgcg
+ccatacgctccttcttaccgtggtcgcggctatcttcgttataacgatgcgccagcgtaa
+tggcagccggaccgatgaactctgggttcaggccaaactgcgggcacgcggcgtagcaca
+aaccacagttgatgcaaccggagaactggtgatacttcgccatctgcgccggggtctgga
+tgttagtaccctgatccgcggtgcgggagttgccgatgatgtacggtttgatcgcttcca
+gactttcgatgaagtgggtcatatcgaccaccagatcgcgttcaatcgggaagttagcta
+acgcttcaaccttcataccgtcggtgtaatcacgcaggaaggttttacatgccagttttg
+gcacgttgttaaccatcatgccgcaggaaccacaaatcgccatacggcaggaccagcggt
+agctcaggtccggtgccaggttgtctttgatgtagcccagcgcatccagtaatgaggtag
+ttgcgtcataaggcacttcatagaatgcgctatgcggtgcggtatcgacttccgggttat
+agcgcaccacctcaattttcaggtttttcatctcagccattcgccttctccttcttattg
+gctgcttccgccttatcggctgcatccgcttcgccaccgtaaacgcgtttagctggcggc
+agcgtagtaatcttcacgtcgctgtactccaggcgagtcgtgccatcagcatcgcggaag
+gcgagggtgtgtttgaggaagttgacgtcgtcacgctcggtgcaaccttcgtccagacgc
+tggtgcgcgccgcgggactctttacgtgccattgcggagtgcgccatacattcagcaacg
+ttcagaccgtggcccagttcaatggtgtagagcaggtcggtgttgaacacgctggaagtg
+tcggtgatgcgcacgcgcttgaagcgttcctgcagctctgccagcttgtcgatggttttc
+tgcatcagttccggcgtacggtagataccgcagccttcttccatagccaggcccatttcg
+tcgcggatcttcgcccagttttcgccgccatcctggttaaccagatctttcagacgttgt
+tcaacgccagctgcctgcgcttcaattgccgcttcgttgccattaccggcagttgctgca
+cgctctgtcgcttgttcaccggccagacggccgaagaccaccagttccgccagggagtta
+gaacccagacggtttgcaccgtgcagaccaacagaggaacattcacccacggcgaacaga
+cctttaatgcgggtttcacagttctgatcggtttcgataccgcccatggtgtagtgtgcg
+gtcggacgtaccggaatcggttctttaaccggatcgacgccaacgtacgctttcgccagt
+tcgcagatgaacggcagacgttcatgcagttttttctcgccgaggtgacgcaagtcgaga
+taaaccacatcgccacgcggcgtggagatggtgttgcctttacgccattcgtgccagaag
+gcctgagagactttgtcgcgtggacccagttccatatatttgtttttcggctcgcccagc
+ggagtttccgggcccatgccgtaatcttgcagataacggtagccatttttgttgaccaga
+ataccgccttcaccgcggcaaccttcggtcatcaggataccggaacctggcagaccggtt
+gggtgatactgaacgaattccatgtcacgcagcggaacgccgtggcttagcgccataccc
+ataccgtcaccggtaacgatgccgccgttggtgttgtaacgataaacgcgacccgcaccg
+ccagtagccataacgaccgcgttagcacggatctgcaccagcgtgccttccatcatgttc
+attgctaccaggccgcgaacatgaccatcatcaaccagaatatccagcacgaaatgttcg
+tcaaaacgctggatctgcgggaattgcagagaggtctggaacagcgtgtgcagcatatgg
+aagccggtcttatcggcggcgaaccaggtgcgctcgattttcatgccgccgaagcgacgt
+acgttgacgctaccatccgggcgacggctccatgggcatccccacagttccagttgggtc
+atttcggttgggcagtggtggacgaaataatccacgacatcctgctcacacaaccagtcg
+ccacccgctactgtatcgtgaaagtgatattcgaagctgtcatgatcctgcgcgacagcg
+gcggagcccccttctgcagcaacggtatggctacgcatcgggtatacttttgagattagt
+gcgatttttgcattcggatttgcctgcgcggcagcaattgcagcacgtaatcccgcgcca
+ccggcgcctacaatggcaagatcggcttgaaaggtttgcacgacattcctccagattgtt
+tttatcccacagccacgtacttcagggtaagtacctgaaagttacggtctgcgaacgcta
+ttccactgctcctttataggtacaacagtatagtctgatggataagtctgaaatttgacg
+agatcgatttttttagtgcgcaagagggctaaattatcactgaagatgattaatttaatt
+actaaaccatcagatcgtgctttttttagtcactgcccaccgctgtttgattcctgcgta
+aaatttgtctcgccgtcgcgttgcgagtagacttcgtgcccttgtcaaaaactggagatt
+taactatgagcgaaacggcatcctggcagccgagcgcatccattcctaacttattaaaac
+gcgcggcgattatggcggagatccgtcgtttctttgccgatcgtggagtgctggaggtgg
+agacgccttgtatgagccaggcgacggtaaccgatattcatttggtcccgtttgagacac
+gtttcgttggccccgggcattcgcaggggatgaatctctggttaatgaccagcccggaat
+accatatgaaacgcctgctggttgccggttgtgggccggtattccagctgtgccgcagct
+tccgtaatgaagagatggggcgttatcacaaccctgagttcactatgctggagtggtatc
+gaccgcactatgatatgtaccggttgatgaacgaggtggacgatctcttacaacaggtgc
+tggactgcccggcagcagaaagcctttcttatcaacaagctttcttgcgttatctggaaa
+ttgacccgctctctgccgacaaaacgcaactgcgggaagtcgcagcgaaactggatttga
+gcaatgttgctgataccgaagaagaccgcgacacgctgctacaattgctgtttacctttg
+gcgtagagccaaatattggcaaagaaaaaccgacctttgtgtaccactttccagccagcc
+aggcatcactggcgcaaatcagtaccgaagatcatcgggtcgctgaacgctttgaggttt
+attataaaggtattgagctggcgaatggtttccatgaattgacggatgcccgtgagcagc
+aacaacgctttgaacaagataaccgtaagcgcgcggcgcgcggtttgccgcagcacccca
+ttgaccagaatctgattgaagccttgaaagtcggtatgcctgactgttccggcgtggcat
+taggtgttgatcgtctggtgatgttggcgctgggcgcggagacactggctgaagtcatcg
+cctttagcgttgaccgggcataattctgaaaaattactgaattaacagcgaagaatggcg
+tgataagcgccattctgtagcatatgttttcatttttccgttaaaggccacaatttaaga
+ctggatatttgatatcatccaggtatcaattctgtattggtttttacgctgcctgctcaa
+tgttgcgcagtgcagttcagtgggcacgtgttatacacgcgctgaaatgaaggatggttt
+catgcctcacacgataaaaaagatgagtctgataggactcatattgatgatctttacttc
+cgtatttggatttgccaatagcccatcggcttattacttaatgggttatagtgcgattcc
+cttttatatattttctgcattgttattctttattccattcgccttaatgatggctgaaat
+gggagctgcttatcgcaaagaagaaggcggtatctattcctggatgaataatagtgtcgg
+accacgttttgccttcattggtacgtttatgtggttttcctcttatatcatctggatggt
+gagtacctccgcgaaagtttgggtaccgttctcaacattcctctatggtagcgacatgac
+ccagcactggcgtattgccggactggagcctacgcaggtggttggtctgctggctgtggc
+atggatgattctggtcaccgtcgttgcttctaaggggattaataaaattgcccgcattac
+tgcggtgggcggtattgcagtaatgtgtctgaatttagtattgctgttagtaagcattac
+tattttgttattaaatggtgggcatttcgcgcaggatattaatttccttgcatcaccgaa
+cccgggttatcagtccggtctggcaatgctatcgtttgtggtatttgccatttttgccta
+tggcggaattgaagcggttggtggtctggtcgataaaacggaaaatccagaaaagaactt
+tgccaaaggtattgtttttgccgctattgttatttcaatcggttattcgctggcaatatt
+tttatggggcgtcagcacaaactggcagcaggtattaagtaatggttccgttaacctcgg
+caatattacctatgtgctgatgaagagccttgggatgacgctgggtaatgcactgcattt
+gtcacctgaagcgtcattgtcgctgggcgtatggtttgcgcgtattactggactttcgat
+gttcctcgcctataccggtgcgttctttacgctttgctattcaccgttgaaagccatcat
+ccaggggacgccgaaagcattgtggccggaaccgatgacgcgcctgaatgcgatggggat
+gccgtctatcgccatgtggatgcagtgcgggttggttactgtcttcatcctgctggtttc
+gtttggtggcggtaccgcatcggcgttctttaacaagctgacgctgatggcgaacgtgtc
+tatgacgcttccttacctgttcctcgcgctggctttcccgttctttaaagcacgtcagga
+tctcgacagaccgtttgtgattttcaaaacgcatttgtcggcaatgattgcgacagtggt
+tgtcgtactggtggtgacatttgcgaacgtcttcaccatcattcaacctgtggttgaagc
+cggagactgggacagcacattgtggatgattggcggccctgtcttcttctcgctgttagc
+gatggcgatttaccagaactattgcagcagagtggcaaaaaatccgcagtgggcggtgga
+ataacccgatgccctatcgtctacctgacgatagggcgtaaagacaggaaatgttatgga
+tgacaccagccgggacccggcaataaccgaagatgaaatcagggcgctgcaattttctgc
+cggggatgtagcggaaatagagcagacgattctctcttttgtcgatgcctgccacacccg
+taaagtggcgatggtggtgggtagcaccattaacaccctcaaagatcgcgatggtaaacg
+gtggggaaacctgccggatatttattgcgcttatcttatccgatgtctggtttttcgcgg
+ggaattagtgggatacggcgatttgtttcgtatgcgctatagcgaaattaagcgaccggt
+taccttatgagtgcgcgcatgtttgtcttatgctgcatctggtttattgtggcgttcctc
+tggataaccatcacttccgcgctggacaaagagtggatgattgatggacgcgggattaac
+aacgtctgcgatgtgttgatgtatctcgaagaagacgatacccgtgatgttggtgtgata
+atgacgttaccgctctttttcccttttctctggttcgctttgtggcgaaaaaaacgcggc
+tggtttatgtacgccaccgcgctggctattttcggctactggctgtggcagttttttctg
+cgctatcagttttgtttgtgagccggattggttcatccggcacacaaacttacaaacttc
+ccgcctgacgacctttgcccgcagacgtcagcgttctccccgtttgtttaccgttgaggc
+tttccagacgcatctggaagggcgggaatggcatatcgataccgtgggcatggaagccag
+ccagaatcagctggtggatctcatggcgtagcggcatacggtgacccatctcagcggcgt
+aaatacgcagctcgaaaatctgaatcccctgttgcagatccaccaggaagacttccggtg
+ccgggttgtcgatcaccagcgagcagcgacgcgctgcggtgagcaggatttccgtcactt
+cttcgctattggcatcggcaggggccggtatcgtcaacaccacgcgcgtgaccgagtcag
+agagcgaccagttgataaactgctcggtaataaacgccttgttcggcacgattatctctt
+tacggtcccagtcgctgatggtggtggcgcgggtgttaattttcgtcacgctaccggtga
+gatcgcgaattgtcaccgtatcgccaatgcgaatcggtttttcgaacaggataatcagac
+cagagataaagttggcgaaaatttcctgcaaaccaaaaccgagaccaacaccgagcgcgg
+caaccagccactgcaatttcgaccactcaataccaatcattgagaagccgaccagcccgc
+caatcagcatcagcagatatttggtgatggtggtgatggcgtaacccgtacccggcgtta
+aatccaggtgctgcaaaatcgccagttccagcagcgcgggcaagttgcgcaccagctgcg
+tggtgatgataaacaccagaatggcaatcagcaccgcaccgagggtaattggctccagac
+tttctacgccctgtaccgtggaggtgacatcccacagcgaaatattttcgaggaagccga
+aagcggaatggatttctgaccacagcacaatgacagaaagcagggcgatcaacatcaaaa
+ttgagcgcaccagccgcaaggattgcgcactgatggcatcgagatcgacttcgctttcat
+cgacttcaattgctccttccgggctactgtgatgatgcgcttcctcttcgccacgcgcac
+gttgcgctaacatctctgcccggcgatgcttcgcccgatcaaacgccagcctgcggcgct
+ggatcagcatccagcggcggataacgtgataaaccaccagtagcaggaaccagatggcaa
+ccgaggtttcaagcctcgctaacagcgcctgtgccgttgccagataacccaccgccgacg
+ccagaatggcaaccaacggcgcgccaatcatcatgttccacagcatatggttggtaatgt
+tgtcgccgctgccctctttgttgagatacagcggaatcccggcctttttcaggctgaggg
+tgaccaccgccagcgcaccgcaaatgaggataaagcaaagccgtcccagcgaaccggaga
+attcacggtcgtcgaggttatcgaacatcatcagcgccataatcagcggcacaataagcc
+cgatgctcatcaggtagtagcgcatcccacgggaaacacgttcgcgcggccagccaaaat
+gagcgataaacaagccgttcgggcgggcaaaggtggcgcaaatcatcactacccacagca
+gcggcacggtggccgttacaccatcgccaatcgcgaccgccagcggataaggccacgcct
+cgcgcaagccgtaacccagcgtcatccacagcaccggtaacggtgacgcgacgagaatcg
+accagaaaagagtgcgcaacgtcagccagaagtgatcctgagtcactttgccaactttcg
+ccgccgaacgttcaagaaaacgggtgaaatagcggcgcgagtaaatactgcaaccgacca
+gaatcaacgcgccaaacagcggcaaaattgtctctttgctggtcagcatcatcacactgg
+ctttgcccaactgactgaaggtgtccagcgaaatgagacgacgcagatcctgggcgattt
+ccagcggccaggcgatggtcatcgggcgcacgtcagaggtccagaacagatagcggtgcg
+ttgcttcgttcacctctttcagcgcatcctccagttgcccgttggagactttcagcttgg
+tcagttccaatagtagcgtgtcgccaccctgcaacaatgagttcagcaactcacgctgag
+tgcgcagttgtgcttccagaatacggttttgctcggcagtcagcggctgaccgtcggcct
+gatgaatttgccgtagcagcggctgtttattaagcagatcctcataacgtaaccgttgca
+cacgcaactgcgccatttcggtatcaagctgttgtggtttcggcatttccggcagccgtg
+ccacctgcgcccgcagcgcttcgccgagcagattggacgatcccagccattgcgactgtt
+cacgcagcgtattcaacgcctgccggacctgtaacgtctggctggcagcctgacgctgtt
+gcgaggcaacgagatccatccgctgcgcctgttgattcaaagccgccgatagttcgcggt
+taattttgaattgcgcgacgatatctttcggcaaatcggcgctgttttctgccagcaatt
+cggtactttccagcgcccgctccgcctcaagctgacgttggctgtttaattgattacgca
+aggcctgcaaatacgcatccagttgctggctctctttttccgccagctctgagcgtaagc
+gcgctaattcctggcggttattggcagacagctgcgccagctccagttcatcaacgagcg
+ccttaagacgtgcagagtcagactgcaacgcgaaattttgtgcctgattgagcggagtat
+tgccggtaagcgttcccaggcggcgctcgatctcatttaactgacggcgggcgtcggttt
+gctgttgcggcagttgattcagcgaatcggcaatctcgcgggcgcgctcctgctcttgct
+gggcctgacggcttttatccagcaactggctgctgacctggagaatttcctgattcagcg
+cgtcggtagacattcccggcgacacgctgcgcggctcgtcacgcatgttgtttaattgtg
+cgcgcagagtagcggagagtttcggataattatcgataacttgctgatattgtttgatgc
+gctcaagggaaccttttcgttcctcaagcgcatttaaggcagactggagcgcctctacga
+cttccggctgtgcgggtttcgccgcttttgcctgctccagttcctgagtgatttgtttgc
+tatcgggggccgtcgcggcgtacgccccccaactgaggcaccaggccatcagaaaagtga
+taatcaggcgcacgtcagcgtttcctttgatggattagacctggtcttttttgtcgtcaa
+ccaatgggctggcgtcgtgttctgcttcgatctcttcagcaggaagcggggcaggttcag
+cgtctggcgtaacaaaggtttcggtagatactgccagcggctggccaattttcgtgacag
+acaggctttccagttgctcaaccagattcactttacccggtgcaaacaggttgataacgg
+tggaaccgagtttaaagcgacccatttcctggcctttcagcagtgccacagaaccgtcgt
+tttccccggcaggccaggtccagcgcttgatgataccttcgcgcggcggcgtaatggtgc
+ccgcccagaccgtctcaatgctgccaacaatcgtcgctccgaccagaatctgcgccattg
+ggccaaattcggtatcgaaaaggcaaatcacgcgttcgttacgggcaaacagattcggca
+cgttctgagccgtgagatggttaacggagaagagatcgcccggcacgtagatcatctcac
+gcagaataccgttgcacggcatgtgtacgcggtggtagtcacgcggggagaggtaagtgg
+tcacaaacgtaccgttgcggaacaggtccgccatcagatagttgcctgccagcagggctt
+cgaggctgtagttgtggcctttggcttgcaggattttatcttcttcgattttacccaact
+ggctgataacgccatcggcaggcatgaccagtacattcggatcggtatcgattgggcgta
+cttcgtcacgcagcggacggacaaagaattcgttaaaggtgcggtagctggcggtgtccg
+gcttttgcgcctctttcatgtcgaccttgtagtatttaacgaacagatcgataaccagtt
+ttgtcagccatcctgcccgcttgcttgcgccccaacccgccaggcgagtaagccatagtt
+tcggcagaatgtactgtagcgaaagtttaaatgaatttaacaaggtagcctccaggccat
+tgttttgtcgttcctgatccggcctacatgccggatcctgaaaaaaaggggacgattcta
+acgacggttagcttaattgtcagtcatccgtatcagaaaagtttttacgcgtttttacct
+gcgccatgctttccagaatacggtgatagttttcgaaacgggtttccgcgattttccctt
+cctcaaccgcttcccggatagcgcagcccggatcggtatcgtgtttgcaatcgcgatatt
+tacacagacctaaatagtcatggaattcgacaaagccctgagtgatttgttccggctcca
+ggtgccagaggccgaactcacgcactcctggggagtcaatcacatcaccgccgtgcggga
+agtgatacagccgagcggcggtcgtggtgtgctgaccgagccccgagttgtcagagatat
+cgttggtcaggatctctttttgcagccccagcaacgcattcagcaggctggatttgccga
+cgccagactgcccggcaaaaatgctgatgcgcccggtcaacgcctcttccagcggtttta
+gcccatcctgagtatggctggaaaccatcaatacgcgataaccgatattgcggtagatat
+ccatctgctcgttgacgaacgccatgccttcgtcgtccagcaggtctatcttgttgagca
+caataatcggctcaatctgcaaggtttcgcaggccaccaggtaacggtcgataatattga
+gcgacagctccggcaaaatggcggagacaatgacaatctggtcgatgttggcggcaatag
+gttttacgccgtcgtagaaatccggacgcgtcaacaccgaggtacgctcatgcaccgctt
+ccacgatccctttgacatttacgccttccgccgccggtttacccggacgccagactacgc
+ggtcgccggttaccagcgaacggatggtacggcgaatattgcagcggtgaacgtcgccat
+cggcggattccacatcagcgtgcataccaaagcggctgatgacgataccttcatcaggct
+cgccaaacagattgtcgtcgtagtcgggcttctccttagacgttttaagacgacgctggt
+gattggcgttcacgcggcgctgctggcctttggagagtttatttttactcaatcgtacag
+actcctggtcgcccctgatgggcaaaacatctatgatacacgcaattgtggatcaatata
+gtcactgtgaatgggtggaaaatagcatgagtgccaatgaaaacaacctgatttggatcg
+atcttgagatgaccggtctggatcccgagcgcgatcgcattattgagattgccacgctgg
+tgaccgatgccaacctgaatattctggcagaagggccgaccattgcagtacaccagtctg
+atgaacagctggcgctgatggatgactggaacgtgcgcacccataccgccagcgggctgg
+tagagcgcgtgaaagcgagcacgatgggcgatcgggaagctgaactggcaacgctcgaat
+ttttaaaacagtgggtgcctgcgggaaaatcgccgatttgcggtaacagcatcggtcagg
+accgtcgtttcctgtttaaatacatgccggagctggaagcctacttccactaccgttatc
+tcgatgtcagcaccctgaaagagctggcgcgccgctggaagccggaaattctggatggtt
+ttaccaagcaggggacgcatcaggcgatggatgatatccgtgaatcggtggcggagctgg
+cttactaccgcgagcattttatcaagctgtaaaatttttcctggtcacgtaagcgccgga
+atccacttgcggcggcgtgattttgacgctaaattgaacgtcttgctgataatttcagca
+cttgagataaaaacgcaaaaaaaacttttttggggggttgcagagggaaagatttctcgt
+ataatgcgcctcccgtaacgacgcagaaatgcgaaaattacgaaagcaaaattaagtagt
+acgcgggaatagctcagttggtagagcacgaccttgccaaggtcggggtcgcgagttcga
+gtctcgtttcccgctccaaaatttgaaaagtgctgcaaagcacagaccacccaagcggga
+atagctcagttggtagagcacgaccttgccaaggtcggggtcgcgagttcgagtctcgtt
+tcccgctccaaaatttgaaagtgctgtaaggcacagaccacccaagcgggaatagctcag
+ttggtagagcacgaccttgccaaggtcggggtcgcgagttcgagtctcgtttcccgctcc
+aaattcttctctcaataaaatatccacagcgacgcgatgcgttattgctggtttttgttg
+tctctgacaaactcttgtaaacagagttatccacagcctcaggctgtaatcttaatttca
+aagaaacttcgcacggtgaatagtatttttttaacctattgatagataagttaaaaatta
+agattccgttttgtcgagtcgatcacttgacgattttattcgtcttgaattgcaatgcgt
+ttttatttttattcacaagctgtggatgaatcaggcgtcacgcggtaaccctttttcaat
+cacccgaaccagacgctgttttttcggcaattgcacttcgactatgcacgcatttcgtct
+ctctatttgctgcgcaatcgcccacgctatgtgctcatcgagaagtgggtgctcaccttt
+acgactttccagcgctgtcaaaatcgtttcatcccaaggggcattgcctaatgctacggc
+gatattacgcagccaacgcaggtgaccaatacgacgaatcgccgatccttccgtgacttt
+taaaaacttctcttcgctccaggcgaataactcaatgagttccggtgcgtgtagcggctt
+acgcgggctgaaatcctcttctgtggtgagttgtgaatagcgattccacgggcagataag
+ctggcagtcatcgcaaccgtaaatacggtttcccattaacggtcgcaactcttccgggat
+cgccccttcaagttcgatggtgagataagagatacagcggcgagcatcgacggtatatgg
+ctcgacgatggcaccggtcgggcaaatcgtcatacaggccacgcatttgccgcatccttc
+ctcgactggttgatccacgggcagcggaatatcgaccagcaattcgcctaaaaagaagaa
+cgaaccggcctcgcgattgaggataagtgagtgcttacctgtccagccgagcccagcttt
+ttcagctaacgggcgctcgagaataggcgcagaatcgacaaacggtctaaaattcagcga
+aacacaatgttgctgaatcatctcgcccagctttttgagtcggttgcgcagaagtttgtg
+atagtcacggcccagcgcataacggctaacatagccgagtttggggtttttcagcgtgct
+ggcaaatgcggcgttagcaggaaggtaattcatccgcacgctgatcacgcgcagcgtacc
+gggcaataactcatgagggcgagcgcgcagcataccgtgacgtgccatccagtccatttc
+gccgtggtattgtttgtccagccatgcttgcagtttgggctcggactcgctgagatcggt
+atcggtaatacctacctgctgaaagcccagttccagcccccactgtttaattttttgcgc
+taactgattgagatcgaggggctctgacatgacggaccatacaatgaagaaaaaccccgt
+aagtataccacacaccgtctggtacgccgacgatatccgccgcggagaacgcgaggcggc
+agatgtgctggggctcacactctatgagctgatgcttcgcgctggcgaggccgcattcca
+ggtgtgtcgttcggcgtatcctgacgcccgccactggctggtgctgtgcggtcatggtaa
+taacggcggcgatggctacgtggtcgcgcgactggccaaagcggtcggcattgaggtcac
+gttgttggcccaggagagcgacaaaccgttgccggaagaggccgcgctggcacgcgaagc
+atggttaaacgcgggtggcgagatccatgcttcgaatattgtctggcccgaatcggtaga
+tctgattgttgatgcgctgctcggtaccggtttgcggcaagcgccccgcgaatccattag
+ccagttaatcgaccacgctaattcccatcctgcgccgattgtggcggttgatatcccttc
+cggcctgctggctgaaactggcgctacgccaggcgcggtgatcaacgccgatcacaccat
+cacttttattgcgctgaaaccaggcttgctcactggaaaagcgcgggatgttaccggaca
+actgcattttgactcactggggctggatagttggctggcaggtcaggagacgaaaattca
+gcggttttcagcagaacaactttctcactggctaaaaccgcgtcgcccgacttcgcataa
+aggcgatcacgggcggctggtaattatcggtggcgatcacggcacggcgggggctattcg
+tatgacgggggaagcggcgctgcgtgctggtgctggtttagtccgagtactgacccgcag
+tgaaaacattgcgccgctgctgactgcacgaccggaattgatggtgcatgaactgacgat
+ggactctcttaccgaaagcctggaatgggccgatgtggtggtgattggtcccggtctggg
+ccagcaagagtgggggaaaaaagcactgcaaaaagttgagaattttcgcaaaccgatgtt
+gtgggatgccgatgcattgaacctgctggcaatcaatcccgataagcgtcacaatcgcgt
+gatcacgccgcatcctggcgaggccgcacggttgttaggctgttccgtcgctgaaattga
+aagtgaccgcttacattgcgccaaacgtctggtacaacgttatggcggcgtagcggtgct
+gaaaggtgccggaaccgtggtcgccgcccatcctgacgctttaggcattattgatgccgg
+aaatgcaggcatggcgagcggcggcatgggcgatgtgctctctggtattattggcgcatt
+gcttgggcaaaaactgtcgccgtatgatgcagcctgtgcaggctgtgtcgcgcacggtgc
+ggcagctgacgtactggcggcgcgttttggaacgcgcgggatgctggcaaccgatctctt
+ttccacgctacagcgtattgttaacccggaagtgactgataaaaaccatgatgaatcgag
+taattccgctccctgatgagcaggcaacattagacctgggcgagcgggtagcgaaagcct
+gcgatggcgcaaccgtaatctatctgtatggcgatttaggcgcaggtaaaaccaccttta
+gccggggctttttacaggctctgggtcatcagggtaatgtcaaaagccccacttatacgc
+tggtcgaaccctatacgctcgacaacttaatggtctatcactttgatttgtaccgccttg
+ccgatcccgaggagctggagtttatggggatccgcgattattttgccaacgatgccatct
+gcctggtggagtggccacaacaaggtacaggtgttcttcctgacccggatgtcgaaatac
+acattgattatcaggcacaaggccgtgaggcgcgcgtgagtgcggtttcctctgcgggtg
+aattgttgctggcgcgtttagccggttaacctttgaaaggtggcgggatgatgtatcgca
+tcagaaattggttggtagcgacgctgctgctgctgtgcacgccggtgggtgccgcgacgc
+tctctgatattcaggtttctaacggtaatcaacaggcgcggataacgttgagttttattg
+gcgatcctgattatgcgtttagccatcaaagcaaacgcaccgtggcgctcgatatcaaac
+aaacgggcgtgattcagggactgccgttgttgttcagcggcaataatctggtgaaggcga
+ttcgctctggaacgcctaaagatgcacaaacgctacggctggtggtcgatcttaccgaaa
+acggtaaaaccgaagcggtgaagcggcagaatggcagcaattacactgtcgtctttacga
+ttaacgccgatgtgccgccaccgcctcctccgccgcccgtggttgcgaaacgcgttgaaa
+cgcctgcggttgtcgcaccgcgcgtcagcgaaccggcgcgcaatccgtttaaaacggaaa
+gtaaccgcactacgggtgttatcagcagtaatacggtaacgcgtccggcagcgcgcgcga
+cggctaacactggcgataaaattatcatcgctattgatgccggacacggcggtcaggacc
+ctggcgctatcggccccggtggtacgcgggagaaaaatgtcaccatcgccatcgcgcgta
+aattgcgtactttgctcaatgacgatccgatgtttaaaggcgttttaacccgtgacgggg
+attactttatctcggtgatggggcgcagtgatgtggcacgtaagcaaaacgccaatttcc
+tcgtgtcgattcacgctgatgccgcaccgaaccgcagtgcgactggcgcttccgtatggg
+tgctctctaaccgtcgcgccaacagtgaaatggccagctggctggagcagcacgagaaac
+agtcggagctgctgggtggggcgggtgatgtgctggcgaacagtcagtctgacccctatt
+taagccaggcggtgctggatttacagttcggtcattcccagcgggtagggtatgatgtag
+cgaccagtatgatcagtcagttgcaacgcattggcgaaatacataaacgtcgaccagaac
+acgccagccttggcgttctgcgctcgccggatatcccatcagtactggtcgaaaccggtt
+ttatcagcaacaacagcgaagaacgtttgctggcgagcgacgattaccaacaacagctgg
+cagaagccatttacaaaggcctgcgcaattacttccttgcgcatccgatgcaatctgcgc
+cgcagggtgcaacggcacaaactgccagtacggtgacgacgccagatcgcacgctgccaa
+actaaggacgattgatgccaattcaggtcttaccgccacaactggcgaaccagattgccg
+caggtgaggtggtcgagcgacctgcgtcggtagtcaaagaactagtggaaaacagcctcg
+atgcaggtgcgacgcgtatcgatattgatatcgaacgcggtggggcgaaacttatccgca
+ttcgtgataacggctgcggtatcaaaaaagatgagctggcgctggcgctggctcgtcatg
+ccaccagtaaaatcgcctctctggacgatctcgaagccattatcagcctgggctttcgcg
+gtgaggcgctggcgagtatcagttcggtttcccgcctgacgctcacttcacgcaccgcag
+aacagcaggaagcctggcaggcctatgccgaagggcgcgatatgaacgtgacggtaaaac
+cggcggcgcatcctgtggggacgacgctggaggtgctggatctgttctacaacaccccgg
+cgcggcgcaaattcctgcgcaccgagaaaaccgaatttaaccacattgatgagatcatcc
+gccgcattgcgctggcgcgtttcgacgtcacgatcaacctgtcgcataacggtaaaattg
+tgcgtcagtaccgcgcagtgccggaaggcgggcaaaaagaacggcgcttaggcgcgattt
+gcggcaccgcttttcttgaacaagcgctggcgattgaatggcaacacggcgatctcacgc
+tacgcggctgggtggccgatccaaatcacaccacgcccgcactggcagaaattcagtatt
+gctacgtgaacggtcgcatgatgcgcgatcgcctgatcaatcacgcgatccgccaggcct
+gcgaagacaaactgggggccgatcagcaaccggcatttgtgttgtatctggagatcgacc
+cacatcaggtggacgtcaacgtgcaccccgccaaacacgaagtgcgtttccatcagtcgc
+gtctggtgcatgattttatctatcagggcgtgctgagcgtgctacaacagcaactggaaa
+cgccgctaccgctggacgatgaaccccaacctgcaccgcgttccattccggaaaaccgcg
+tggcggcggggcgcaatcactttgcagaaccggcagctcgtgagccggtagctccgcgct
+acactcctgcgccagcatcaggcagtcgtccggctgccccctggccgaatgcgcagccag
+gctaccagaaacagcaaggtgaagtgtatcgccagcttttgcaaacgcccgcgccgatgc
+aaaaattaaaagcgccggaaccgcaggaacctgcacttgcggcgaacagtcagagttttg
+gtcgggtactgactatcgtccattccgactgtgcgttgctggagcgcgacggcaacattt
+cacttttatccttgccagtggcagaacgttggctgcgtcaggcacaattgacgccgggtg
+aagcgcccgtttgcgcccagccgctgctgattccgttgcggctaaaagtttctgccgaag
+aaaaatcggcattagaaaaagcgcagtctgccctggcggaattgggtattgatttccagt
+cagatgcacagcatgtgaccatcagggcagtgcctttacccttacgccaacaaaatttac
+aaatcttgattcctgaactgataggctacctggcgaagcagtccgtattcgaacctggca
+atattgcgcagtggattgcacgaaatctgatgagcgaacatgcgcagtggtcaatggcac
+aggccataaccctgctggcggacgtggaacggttatgtccgcaacttgtgaaaacgccgc
+cgggtggtctgttacaatctgttgatttacatccggcgataaaagccctgaaagatgagt
+gatatcagtaaggcgagcctgcctaaggcgatttttttgatggggccgacggcctccggt
+aaaacggcgttagccattgagctgcgtaaaattttaccagtagagttgataagcgttgat
+tctgcccttatttacaaagggatggatatcgggacggcgaagccgaacgctgaagagtta
+ctcgccgcgccgcaccgattgctggatattcgcgatccgtcgcaggcttactcggctgct
+gattttcgccgcgatgcgctggcggaaatggccgatatcaccgcggcggggcggatccca
+ctgttagtgggcggtacgatgttgtatttcaaggcattgctggaagggttgtcgccgcta
+ccgtcggcagacccggaagtacgggccagaattgagcaacaggcggcagagcaaggttgg
+gagtcattgcatcgtcaacttcaggaggtagatccggttgcggcagcaaggattcatcca
+aatgatccacaaaggctttcccgggcactggaagtttttttcatttcgggtaaaacttta
+acggaactgacgcaaacgtcaggagacgctctaccgtatcaggtgcatcagttcgccatc
+gccccggcgagccgtgaactgctccatcaacgcattgagcagcgttttcatcagatgttg
+gcttcaggttttgaagcagaagtccgggcgctttttgcccgaggagatttgcatacggac
+ttgccttccattcgttgcgtgggttatcgccagatgtggtcttaccttgaaggcgaaatc
+tcatacgatgaaatggtttatcgaggtgtttgcgccacgagacagttggcgaagcggcag
+ataacctggctgcgtggttgggaaggggttcactggcttgacagtgaaaaaccagaacag
+gcgcgtgacgaagtattacaggttgttggtgctatcgcaggctgaatgtgtacaattgag
+acgtatcgtgcgcaattttttcagaatcgaaaggttcaaagtacaaataagcatataagg
+aaaagagagaatggctaaggggcaatctttacaagatccgttcctgaacgcactgcgtcg
+ggaacgtgttccagtttctatttatttggtgaatggtattaagctgcaagggcaaatcga
+gtcttttgatcagttcgtgatcctgttgaaaaacacggtcagccagatggtttacaagca
+cgcgatttctactgttgtcccgtctcgcccggtttctcatcacagtaacaacgccggtgg
+cggtaccagcagtaactaccatcatggtagcagcgcgcagaatacttccgcgcaacagga
+cagcgaagaaaccgaataaggtttcgggctgtttttttacacggggagccagcgatcctg
+cgttccccgctgatctatttagagggttatacgcttgtttgaccgttatgatgctggtga
+gcaggcggtactggtacacatctattttacgcaagacaaagatatggaagacctccagga
+gtttgaatctctggtctcttccgccggtgtcgaagcattgcaggtgattaccggtagccg
+taaagcgccgcacccaaagtattttgtaggtgaaggtaaagcagttgaaattgcggaagc
+tgtcaaagcgacgggtgcttcggtcgttctttttgaccatgccctgagcccggcgcaaga
+gcgtaacctggagcgtttgtgcgagtgtcgtgttatcgaccgcaccggccttattttaga
+tattttcgcccaacgtgcgcgtacccatgagggtaagttgcaggttgagctggcgcagct
+gcgccatctggctacgcgcctggtgcgtggctggacccaccttgaaagacagaaaggcgg
+gataggtttgcgtggtccgggtgaaacccagctcgaaaccgaccgtcgtttgttgcgtaa
+tcgcatcgtgcagatacagtcgcgcctggaaagagttgaaaagcagcgtgagcaggggcg
+gcaatcgcgtatcaaagccgacgttcctactgtttcgctggtgggatataccaacgccgg
+taaatctacccttttcaatcgcatcaccgaagcgcgggtctacgcggcagaccagttgtt
+tgccaccctcgacccgacgttgcggcgtattgacgttgcagatgtcggtgaaaccgtact
+tgcagataccgtagggtttattcgccacctgccgcacgatctggtggcggcatttaaagc
+cacgttacaagagacgcggcaagccacattactgctgcacgtcattgatgcggcggatgt
+gcgtgtacaagaaaacatcgaagcggtgaatacggttcttgaagagatcgacgctcacga
+gatcccaaccctgctggtgatgaacaagatcgatatgctggaagatttcgaaccgcgtat
+tgatcgggacgaagagaacaaaccgaaccgtgtctggctttccgcacagaccggagcggg
+gataccacagctttttcaggctttgacggagcggctttccggcgaggtggcgcagcatac
+attgcgtctgccaccgcaggaagggcgtctgagaagtcgtttttatcagcttcaggcaat
+agaaaaagagtggatggaggaggacggcagcgtaagtctgcaagttcgtatgccgatcgt
+tgactggcgtcgcctctgtaaacaagaaccggcgttgatcgattacctgatctaacggcg
+tagcgtctgaagcgtggagtcatatcctctggcgtcgaaagacaacagggatcaccgcat
+aacaaatatggagcacaaacatggcgtggaatcagcccggtaataacggacaagaccgcg
+acccgtggggaagcagcaaacctggcggcaactctgagggaaatggaaacaaaggcggtc
+gcgatcaagggccacctgatttagatgatatcttccgcaaactgagcaaaaagctcggtg
+gtctgggcggcggtaaaggcaccggatctggcggtggcagttcatcgcaaggcccgcgcc
+cgcagcttggcggtcgtgtcgttaccatcgcagcggcagcgattgtcattatctgggcgg
+ccagtggtttctataccattaaagaagccgaacgcggcgtggtaacacgctttggtaaat
+tcagccatctggttgagccgggtctgaactggaaaccgacgtttatcgacgaagtcaaac
+cggtgaacgtggaagccgtgcgtgaactggccgcttctggtgtgatgctgacgtcggacg
+agaacgtagtgcgcgttgagatgaacgtgcagtaccgcgtcaccaatccggaaaaatatc
+tgtatagcgtgaccagcccggatgacagcctgcgtcaggctaccgacagcgccctgcgtg
+gagttatcggtaaatacaccatggaccgcattctgacggaaggtcgtaccgtgattcgta
+gcgatactcagcgcgaactggaagagacgattcgtccgtatgacatgggtatcacgctgc
+tggacgtcaacttccaggctgctcgtccgccggaagaagtaaaagcggcgtttgacgatg
+cgattgccgcgcgtgaaaacgaacagcaatacattcgtgaagcagaagcgtataccaacg
+aagttcagccgcgtgcgaacggtcaggcgcaacgtatcctcgaagaggcgcgtgcgtaca
+aggcccagaccatcctggaagctcagggtgaagtggcgcgctttgctaaacttctgccgg
+aatataaagccgcgccggaaattactcgcgagcgtctgtatatcgagacgatggaaaaag
+tgttgggtaacacccgcaaagtgctggttaacgataaaggtggcaacctgatggttctgc
+cgttagaccagatgctgaaaggtggtaacgcccctgcggcgaagagcgataacggtgcca
+gcaatctgctgcgtctgccgccagcctcttcctccacaaccagtggagcaagcaacacgt
+cgtccaccagtcagggcgatattatggaccaacgccgcgccaacgcgcagcgtaacgact
+accagcgtcagggggaataacgatgcgtaagtcagttatcgcgattatcatcatcgtgct
+ggtagtgctttacatgtctgtctttgtcgtcaaagaaggtgagcgcggtattacgctgcg
+ttttggtaaggtactgcgtgacgatgacaacaaacctctggtttatgagccgggtctgca
+tttcaagataccgttcattgaaacggtgaaaatgctcgacgcacgtattcagaccatgga
+caaccaggccgaccgctttgtgaccaaagagaagaaagacctgatcgtcgactcttacat
+caaatggcgcatcagcgatttcagccgttactacctggcaacgggtggtggcgacatttc
+gcaagcggaagtgctgttgaaacgtaagttctctgaccgtctgcgttctgaaattggtcg
+cctggacgtgaaagatatcgtcaccgattcccgtggtcgtctgaccctcgaagtacgtga
+cgcgctgaactccggttctgcgggtacagaagatgaagttactaccccggcggcagataa
+cgccattgccgaagcggcagagcgcgtaacggctgagacgaagggcaaagttccggtcat
+caacccgaacagtatggcggcgctgggtattgaagttgtcgatgtgcgtatcaagcagat
+caacctgccgaccgaagtgtctgaagcgatctacaaccgtatgcgcgccgagcgtgaagc
+ggtagcgcgtcgtcaccgttcacaaggtcaggaagaagcggaaaaactgcgcgcgactgc
+cgactatgaagtgaccagaacgctggcagaagctgagcgtcagggccgcatcatgcgtgg
+tgaaggcgatgccgaagcagccaaactgtttgctgatgcattcagtaaagatccggactt
+ctacgcattcatccgtagcctgcgtgcttatgagaacagcttctctggcaatcaggacgt
+gatggtcatgagcccggatagcgatttcttccgctacatgaagacgccgacttccgcaac
+gcgttaatataacgactgcggtacaggtcaataaagccaccgcatcctcagggatgtcgg
+tggttttctttttctataaggataatgaatgaattcgacaatctggctggcgcttgccct
+ggttttggtactggaaggtttagggccgatgctttacccgaaggcatggaagaagatgat
+ctctgcgatgaccaatttgcccgataatattttacgtcgttttggcggtggacttgtggt
+tgcgggcgttgtggtctactacatgttgaggaaaacgattggctgaacaaaaaacagact
+gatcgaggtcatttttgagtgcaaaaagtgctgtaactctgaaaaagcgatggtagaatc
+catttttaagcaaacggtgattttgaaaaatgggtaacaacgtcgtcgtactgggcaccc
+aatggggtgacgaaggtaaaggtaagatcgtcgatcttctgactgaacgggctaaatatg
+ttgtacgctaccagggcggtcacaacgcaggccatactctcgtaatcaacggtgaaaaaa
+ccgttctccatcttattccatcaggtattctccgcgagaatgtaaccagcatcatcggta
+acggtgttgtgctgtctccggccgcgctgatgaaagagatgaaagaactggaagaccgtg
+gcatccccgttcgtgagcgtctgctgctgtctgaagcatgtccgctgatccttgattatc
+acgttgcgctggataacgcgcgtgagaaagcgcgtggcgcgaaagcgatcggcaccaccg
+gtcgtggtatcgggcctgcttatgaagataaagtagcacgtcgcggtctgcgtgttggcg
+accttttcgacaaagaaaccttcgctgaaaaactgaaagaagtgatggaatatcacaact
+tccagttggttaactactacaaagctgaagcggttgattaccagaaagttctggatgata
+cgatggctgttgccgacatcctgacttctatggtggttgacgtttctgacctgctcgacc
+aggcgcgtcagcgtggcgatttcgtcatgtttgaaggtgcgcagggtacgctgctggata
+tcgaccacggtacttatccgtacgtaacttcttccaacaccactgctggtggcgtggcga
+ccggttccggcctgggcccgcgttatgttgattacgttctgggtatcctcaaagcttact
+ccactcgtgtaggtgcaggtccgttcccgaccgaactgtttgatgaaactggcgagttcc
+tctgcaagcagggtaacgaattcggcgcaactacggggcgtcgtcgtcgtaccggctggc
+tggacaccgttgccgttcgtcgtgcggtacagctgaactccctgtctggcttctgcctga
+ctaaactggacgttctggatggcctgaaagaggttaaactctgcgtggcttaccgtatgc
+cggatggtcgcgaagtgactaccactccgctggcagctgacgactggaaaggtgtagagc
+cgatttacgaaaccatgccgggctggtctgaatccaccttcggcgtgaaagatcgtagcg
+gcctgccgcaggcggcgctgaactatatcaagcgtattgaagagctgactggtgtgccga
+tcgatatcatctctaccggtccggatcgtactgaaaccatgattctgcgcgacccgttcg
+acgcgtaattctggtacgcctggcagatattttgcctgccgggcgaacagtgtgatacat
+tgctgtgtcgggtaagccattacgctatccgacacagtgttaaatcctcgcttttttcct
+tccccgaactgaaataaattagcgacacagcttgtggctggtttatcatcaatataaatg
+tattttttcccgatttcccttttgaggttgatgtgcagttaacgagtttcactgattacg
+gattacgtgcgctgatctacatggcgtcattgccagaagggcggatgaccagtatttctg
+aagtgactgacgtctacggcgtctcccgtaatcatatggtcaaaataatcaatcaactta
+gtcgtgccggctacgtgactgctgttcgtggaaaaaatggcggcattcgcctgggtaaac
+cggcgagtgcgatacgtattggtgatgtggtgcgcgagctggagcccttatcgctggtga
+attgcagcagtgagttttgccacattacacctgcctgtaggttgaaacaggcactttcta
+aggccgtgcaaagttttcttacggaactggataactacacgcttgccgatttggttgaag
+agaatcaaccgctttataaattattgctggtggagtgacgaaaatcttcatcagagatga
+caacggaggaaccgagatgtcacaagatcctttccaggaacgcgaagctgaaaaatacgc
+gaatcccatccctagtcgggaatttatcctcgaacatttaaccaaacgtgaaaaaccggc
+cagccgtgatgagctggcggtagaactgcacattgaaggcgaagagcagcttgaaggcct
+gcgtcgccgcctgcgcgcgatggagcgcgatggtcaactggtcttcactcgtcgtcagtg
+ctatgcgctgccggaacgcctcgacctggtgaaaggtaccgttattggccaccgtgatgg
+ctacggctttctgcgggttgaagggcgtaaagatgatttgtatctctccagcgagcagat
+gaaaacctgcattcatggcgatcaggtgctggctcagccgctgggtgctgaccgtaaagg
+tcgtcgtgaagcgcgtattgtccgcgtactggtgccaaaaaccagccagattgttggtcg
+ctactttaccgaagcgggcgtcggctttgtggttcctgacgacagccgtctgagcttcga
+tatcttaatcccgcccgatcagatcatgggcgcgcggatgggctttgtggtcgtagtcga
+actgactcagcgtccgactcgccgcaccaaagcggtgggtaaaatcgtcgaagtgctggg
+cgacaatatgggcaccggcatggcggttgatatcgctctgcgtacccatgaaattccgta
+catctggccgcaggctgttgagcaacaggttgccgggctgaaagaagaagtgccggaaga
+agcaaaagcgggccgtgttgatctgcgcgatttaccgctggtcaccattgatggcgaaga
+cgcccgtgactttgacgatgcagtttactgcgagaaaaaacgcggcggcggctggcgttt
+atgggtcgcgattgccgacgtcagctactatgtgcgtccgtcaacgccgctggacagaga
+agcgcgtaaccgtggcacgtcggtgtacttcccttcgcaggttatcccgatgctgccgga
+agtgctctctaacggcctgtgttcgctcaacccgcaggtagaccgcctgtgtatggtgtg
+cgagatgacggtttcgtcgaaaggccgcctgacgggctacaaattctacgaagcggtgat
+gagctctcacgcgcgtctgacctacaccaaagtctggcatattctgcagggcgatcagga
+tctgcgcgagcagtacgccccgctggttaagcatctcgaagagttgcataacctctataa
+agtgctggataaagcccgtgaagaacgcggtgggatctcatttgagagcgaagaagcgaa
+gttcattttcaacgctgaacgccgtattgaacgtatcgaacagacccagcgtaacgacgc
+gcacaaattaattgaagagtgcatgattctggcgaatatctcggcggcgcgtttcgttga
+gaaagcgaaagaaccggcactgttccgtattcacgacaagccgagcaccgaagcgattac
+ctctttccgttcagtgctggcggagctggggctggaactgccgggcggtaacaagccgga
+accgcgtgactacgcggagctgctggagtcggttgccgatcgtcctgatgcagaaatgct
+gcaaaccatgctgctgcgctcgatgaaacaggcgatttacgatccagaaaaccgtggtca
+ctttggcctggcattgcagtcctatgcgcactttacttcgccgattcgtcgttatccaga
+cctgacgctgcaccgcgccattaaatatctgctggcgaaagagcaggggcatcagggcaa
+caccactgaaaccggcggctaccattattcgatggaagagatgctgcaactgggtcagca
+ctgttcgatggcggaacgtcgtgccgacgaagcaacgcgcgatgtggctgactggctgaa
+gtgtgacttcatgctcgaccaggtaggtaacgtctttaaaggcgtaatttccagcgtcac
+tggctttggcttcttcgtccgtctggacgacttgttcattgatggtctggtccatgtctc
+ttcgctggacaatgactactatcgctttgaccaggtagggcaacgcctgatgggggaatc
+cagcggccagacttatcgcctgggcgatcgcgtggaagttcgcgtcgaagcggttaatat
+ggacgagcgcaaaatcgactttagcctgatctccagcgaacgcgcaccgcgcaacgtcgg
+taaaacggcgcgcgagaaagcgaaaaaaggcgatgcaggtaaaaaaggcggcaagcgtcg
+tcaggtcggtaaaaaggtaaactttgagccagacagcgccttccgcggtgagaaaaaaac
+gaagccgaaagcggcgaagaaagacgcgagaaaagcgaaaaagccatcggcgaaaacgca
+gaaaatagctgcagcgaccaaagcgaagcgtgcggcgaagaaaaaagtggcagagtgatc
+aataccctctttaaaagaagagggttagattgctgacaaaatgcgctttgttcatgccgg
+atgcggcgtgaacgccttatccggcctacataatcacgcaaattcaatatattgcagaga
+tcatgtaggccggataaacgtagtgcatcaggcaaaacgtaaacaacgagtacattaatg
+agcgaaatgatttacggcatccacgcagtgcaggccctgctggagcgcgcccctgaacgt
+tttcaggaagtctttattttaaaaggccgtgaagataaacgtctgttaccgctgattcac
+gcccttgagtctcagggcgtggttatccagttggcaaaccgccaatatctcgacgagaaa
+agcgacggtgccgtgcatcagggcattatcgcccgcgtgaagccaggacgtcagtatcag
+gaaaacgatctgccggatctgatcgcttcgctcgatcaaccgttcctgctgatcctcgac
+ggcgtaaccgatccgcacaacctcggcgcgtgcctgcgtagtgcggacgccgcaggcgtt
+catgcggtgattgtgccgaaagatcgctccgcacagctcaacgctacggcgaaaaaagta
+gcctgcggcgcggcagaaagcgttccgctgattcgggtgactaaccttgcgcgcaccatg
+cgtatgttgcaggaagagaatatctggatcgtcggtacggcaggcgaggcggatcataca
+ctctatcagagcaaaatgaccggacgcctggcgctggtgatgggtgcggaaggtgaaggt
+atgcgtcgcctgactcgtgaacattgcgatgagttgatcagcatcccgatggctggaagc
+gtttcttccctgaacgtttcggttgcgaccggaatttgcttatttgaagcggtgcgccag
+cgcagctaatttctcagaattatgaaaagccatccagatttggatggtttttttttgtct
+atagctggtaagataattacgtattgcaaatattcattttattaatatttaaacttaatc
+tatatggaataatatatgacatggaatccgttggcgctagcgacggcgctgcaaactgta
+cctgaacaaaatattgatgtaacaaatagcgagaacgcattaattattaaaatgaatgat
+tatggcgatttgcaaatcaatattctttttacttcccgccaaatgattatcgaaaccttt
+atttgtccggtgagtagtatcagcaatccagatgaatttaataccttcttattaagaaat
+cagaagatgatgccgttgtcatcggtagggatctccagcgtacaacaggaagagtattac
+attgttttcggggcgttatcgcttaaatcttctcttgaagatatcctgcttgagataacc
+tcgctggtagataacgcattggatctggctgaaattacagaagaatattcacactaatta
+caaggacgggtatttatgggaattttaaaaagtttatttacgctggggaaatcgtttatc
+tcccaggcggaagaatccattgaagaaacccagggcgtgcgcatgctggaacagcatatt
+cgtgacgctaaagctgaactcgataaagccggaaaatctcgcgttgatctgctggcgcgg
+gtgaaattaagtcacgataagctgaaagatttacgtgagcgcaaagccagtctggaagcc
+cgtgcgctggaagcgttaagcaagaacgttaatccgtcgttgattaacgaagttgctgaa
+gaaatcgcgcgccttgagaatctcattaccgctgaagagcaagtgttgtcgaatctggaa
+gtctcccgtgatggcgtggaaaaagcagttacagcgacagcgcagcgtatcgctcagttt
+gagcagcaaatggaagtcgttaaagccactgaagccatgcagcgtgcacaacaggctgta
+acaacctctaccgttggcgcatcttccagcgtttcgacagcggcagaatccttaaaacgc
+ctgcaaacgcgtcaggccgaacgtcaggctcgcctggatgctgccgcacagttggagaaa
+gtcgcagacggtcgcgaccttgacgaaaagctggcggaagccggaattggcggtagcaat
+aaaagtagcgcccaggatgtattagcaagactgcaacgccaacagggcgagtaatttttt
+tgccagcctcgctaaaaggctggcaactattttaaggataaaatatgtctggttttttcc
+agcgtctgtttggcaaggataataagccagctatcgctcgtggtccgctgggacttcatc
+tcaatagtggctttacgctcgacacgttagcgtttcgtttgctggaagatgaattgctga
+ttgcgctgccgggtgaggaatttacggtagccgccgtcagccacatcgatctgggcggcg
+gtagtcagattttccgctactacacttcaggcgatgagtttctgcaaatcaataccaccg
+gcggcgaagatattgatgacattgatgatatcaagctctttgtctatgaagagagctacg
+gtatcagtaaagagagtcactggcgcgaggcgatcaacgccaaagcgatgggagcaatga
+ccttaaactggcaggaaaaacgctggcagcgattttttaacagcgaagaaccgggaaata
+tcgaacccgtctacatgctggaaaaagtagaaaatcaaaaccatgccaaatgggaggtcc
+ataattttaccatgggctaccaacggcaagtaaccgaagatacttacgaatatttgctgc
+taaatggtgaggaatcttttaacgatctcggcgagccagagtggttattttcgcgcgcgt
+tgggtgtcgatatcccgctgacatcacttcatattattggttaattacaaggacgtttac
+aatgcatatactggattcacttcttgcctttagcgcctatttttttattggcgtggctat
+ggtgattatttttctgtttatctattctaaaattacaccgcacaacgaatggcagttaat
+caaaaacaataataccgcggcgtcactggcgttcagcggtacattgttgggttacgttat
+ccccttatccagtgcggcaatcaatgcggtgagtattccagactatttcgcctggggcgg
+gattgcactggtgattcagttactcgtttttgctggtgtcagactttatatgcccgcatt
+aagcgaaaaaattattaatcacaataccgcagcaggaatgtttatgggaaccgccgcgct
+ggctggcggtatttttaacgcagcttgtatgacatggtaatggacgatcatggccagaaa
+acgcaaatcaagaaataacagtaaaattggtcacggagcgattagtcgcattggtagacc
+gaataatccttttgaaccgtgccgcaatcgctacgcacaaaaatacttaacgttggcgct
+aatgggcggtgccgcttttttcgtattgaaaggttgtagcgatagtagcgatgtcgataa
+cgacggcgacggaacgttttacgcgacagtgcaggattgtattgatgacggtaataatgc
+cgacatttgcgcgcgtggctggaacaacgccaaaacggcattttatgccgatgttccgaa
+gaatatgactcagcagaactgtcagtctaagtacgaaaattgctactacgacaatgttga
+acagagttggatcccggtcgtttctggatttttgttaagccgggttattcgtaaagatcg
+cgatgagccgtttgtttataacagcggcggttcctcttttgcttcgcgcccagtctggcg
+cagcacttctggtgattactcctggcgctccggttctggcaaaaaagagtcttactcttc
+gggcggctttaccaccaaaaaagcgtctaccgtttctcgcggcggctatggtcgttcttc
+cagcgcccgtgggcattggggaggctaatcatgctgagacacaacgttcctgtgcgacgg
+gatctggaccagatcgccgctgacaacggtttcgactttcatatcatcgacaatgaaatc
+tattgggatgagagtcgggcttaccgttttactctgcgccagattgaagagcagatcgaa
+aaaccgactgcggaactgcatcagatgtgccttgaggtggtggatcgcgcggtaaaagat
+gaagagatcctgacgcaactggcgatcccgccgttgtactgggatgtgatcgctgaaagc
+tggcgcgcccgcgatccttcgctgtatggacggatggattttgcctggtgtggcaatgcg
+ccggtgaagctgctggagtacaacgccgatacgccaacttcattgtacgagtcggcttat
+ttccagtggctgtggctggaggatgcccggcgcagcggcattattccgcgtgatgccgat
+cagtacaatgctattcaggaacgcctgatttcacgctttagcgagctttacagtcgggaa
+ccgttttatttttgctgctgtcaggacaccgatgaagacaggagtaccgtgctgtacttg
+caggactgcgcccagcaggcagggcaggagtcgcggtttatctacattgaagatctcggt
+ttgggcgtcggcggcgtactgaccgatcttgatgataatgtcatccagcgtgcatttaag
+ctgtatccgctggagtggatgatgcgtgacgataacggtccgctgctgcgcaagcgtcgc
+gagcaatgggtggagccgttatggaaaagtatcttgagtaataaagggctaatgccgctg
+ctttggcgcttcttccctggtcatcctaatcttcttgcgtcctggttcgatggcgagaaa
+ccgcagattgccgctggcgaaagctatgtgcgtaaaccaatctattcgcgcgaaggcggc
+aacgtcaccatttttgacggcaagaataacgttgttgaccacgctgatggtgattacgcc
+gatgaaccgatgatctaccaggcgtttcaacctctgccgcggtttggcgatagctacaca
+ctcatcggtagctggattgtcgatgatgaagcgtgcggaatggggatccgtgaagataac
+acactgatcaccaaagacacctcacgtttcgttccgcattacattgctggataagaatgt
+tttagcaatctctttctgtcatgaatccatggcagtgaccatactaatggtgactgccat
+tgatggagggagacacagtgcactggcaaactcacaccgtttttaatcaacctataccat
+taaataacagcaacttatacctgtctgatggcgcgctctgcgaagcggtaacgcgtgaag
+gtgctggctgggatagcgattttctagccagtattggtcagcagttaggaacggctgaat
+cccttgaactggggcggctggcgaatgtgaatccgcctgaattattgcgctacgatgcgc
+aaggacgccgtctggacgatgtgcgttttcaccccgcctggcacctgctgatgcaggcgc
+tatgtaccaatcgggtgcacaatcttgcctgggaagaagacgctcgctccggcgcatttg
+tggcgcgcgcggcgcgttttatgttacatgcgcaggttgaggcagggtcgttatgtccga
+taaccatgacctttgccgccacgccattgttgttacagatgttacccgcgccgtttcagg
+actggaccacgccgctattgagcgatcgctacgattctcacttattgccaggtgggcaaa
+aacgcggtttgttgattggcatgggaatgacggaaaagcagggcggttccgatgttatga
+gcaacaccacccgtgcagagcgtctggaagatggctcttatcggctggtggggcataaat
+ggtttttctcggttccgcaaagcgatgcgcatctggtgctggcgcagaccgcgggtggtc
+tgtcctgcttttttgtgccgcgctttttgcctgacgggcaacgcaacgcgattcgcctcg
+agcggctgaaagataagctgggtaatcgctctaacgccagttgcgaagtggagtttcagg
+atgccattggttggttgttggggctggaaggggaaggaattcgtctgatcctgaaaatgg
+gtgggatgacgcgttttgattgcgccctgggtagccatgccatgatgcgccgtgcatttt
+cgctggcgatttatcatgcacatcaacgccatgtttttggtaatccattgatccaacagc
+cccttatgcgtcatgtcttaagtcgcatggcacttcagcttgaagggcaaacggcgttgc
+tgtttcgtcttgcgcgagcgtgggaccggcgtgccgatgccaaagaagccctgtgggcgc
+gtttatttacgcctgcggcaaaatttgtgatctgcaaaagaggtatgccgtttgtggccg
+aagcgatggaggtgctgggcggcattggttattgcgaggagagtgagctgccgcggcttt
+accgggagatgccggtaaacagtatttgggaaggttccggcaatattatgtgcctggatg
+tgttgcgcgttctcaataagcaagcgggcgtatacgacttattgtcggaagcatttgtgg
+aagtgaaagggcaggatcgctattttgatcgcgcggttcgtcgtttacagcagcagctgc
+gtaagccagctgaagaactggggcgagagattactcatcagctattcctgctgggctgcg
+gtgcgcaaatgttgaaatatgcttctccgccaatggcgcaggcgtggtgtcaggtgatgt
+tagatacgcgcggcggcgtacggttgtcagagcagatccagaatgatttattgctgcggg
+cgacggggggagtgtgtgtgtaagcgtatacgactgatgcgacgctggtttcgattaact
+aaatgaaatatgtgaaaattgtaggccggacaaggcgctcgcgccgcatccggcattgtt
+catttgctgtagatgacactcatgcatacagtatcgcctgtacgcgccagttatcaggct
+gctggtcttcgtacatggtaataatgcggtaccatgacgcaccttgttcatcggccttta
+acgccacgatacgttccacgtcctgcggatcccctgaaatattgctaactgagatctgac
+ctatttcattcaggcccgtcacgcagtcagcactggcgaattctgcagactgtgccgtgg
+cgctcgcaggataagtcactaattgcagcgagggtgaggcaagtaattgtttcatcgtca
+gctccatttttcgtttccccacatgttgcagggcattccatcgcggtaataaacgcccag
+gcttccagccggtaatttattgtgcacaggtaaacgcatagggacgcaaagcaatgtaaa
+gctgactatgtaagttgtctgatttatttacggtacaaaatggcttgtgaataccactgt
+cctgtcacgatggtttcgtccaccatgacgacaacgtaataatcagcttttgcagcgaca
+gctttcgctttgatttctgctaatgcgtcatccggagaaccccgaaccatcgtgcttacg
+ctacctattcgctgtaacccttgcgtctggtcgcggcgaatctcttgcggatggtccgtt
+actggcggtgctggctgtggcgtaccttgcagtgcgctacaggcacttaacatcaacacc
+aataataaactggcaaaccggtaaataacgctattacgtttcctgctaaccatagtgtag
+tgccttattaatttaactttgggggaatgttcccgaattgttacctggtacgcgattttc
+gaatgaaaacgtgacgaaagcgtaacccacatctcaacattatgaactaataccgccagc
+agaaacttgtgctaaggatttcttcatgtcataccagacaaaaaggagagacagatgatt
+gaaatagaatcacgcgagctggcagatattcccgttcttcatgcttatcctgtcgggcaa
+aaagataccccgttaccgtgcgtaattttttatcacggctttacttcatccagtctggtg
+tatagctattttgccgttgcgctggcgcaggctggtttgcgggtgatcatgccggatgcg
+cccgatcacggtagccgttttagtggtgacgcagcgcggcggttaaatcaattctggcaa
+atcttgctacaaagtatgcaggaattcactactttacgtgcggcaatagccgaagaaaac
+tggctgcttgatgaccgtctggcagtcggtggcgcgtcgatgggcgcgatgacggcactg
+gggattaccgctcgccaccccacggtgagatgtaccgccagcatgatgggatcgggctat
+tttacatcactcgcccgttcactgtttccaccgctgatacctgaaacggcagcacagcag
+aatgaattcaataacattgtcgcgccactggcagagtgggaagcgacaaaccacctggaa
+caacttagtgacagacctctactgctgtggcatggcctcgacgatgacgttgtgcctgcc
+gacgaatcactacgtttgcagcaggccttaagcgagacgggacgggataaactgctaacc
+tgttcatggcagccaggcgtgcgtcaccgcattacgcctgaggcgttagatgctgccgtg
+acatttttccgccagcatctttaaacacgcagaatgctgaccccttgcgcttccagttgt
+tgcaggatttccgggttagcatttttgccggtgataagcatatcgatttgatcggcacgg
+ctaaaaagcattcccgcgcgttcgccaatcttactgctatcaaccagtaccaccagtttc
+cctaccacgctcagcatcttctgctctgccattgctgtcagcatatcggttttatacaac
+ccttctgcggtcagcccttttccgctggtaaacatccagtgcccggcatagagactgttt
+tcgctgccctgcgggcttaaagtgatggactgacttttgttgtactgtccgcccataatg
+atcacgctgtcatgttcttgatcgatcaggtaatttgccagcggtagataattagtgatg
+atttgcactggcttgccacacatttcccgcccaagcagaaacgcggtggagccgcagttg
+atgactacgctttcgcccggattaaccagctgcgaggccgctttagcgatacgtactttt
+tcatcgtgattctgcgcctgatgcagattcatcggcgtccagcgcgggcgctgttgggta
+atagcttctgcgccattgcgcacttttttcagtttgccgctttcgtcaagtttattgata
+tcgcgtcgcgcagtggcaggcgaaattcccagacgctcaacgactttctcaacggtcaca
+aagcccaattgtgcgagcatttccaggaggatttgatgtctttgtgcttcagtcatgagc
+tattccgataaaatttgatttttttagatgatatttgaaatagccaggaaatactacgcc
+ggatagcgcgaacttctccacgctacccggtataaacgacagattacaggaatgacttga
+acggcagatccggttcaatagtgaagcaatcatcgaaaccgcgcggatagtggtactcga
+agttgtctttatccagcggccaggtaaatttgccacccacctgccagataaacggcttga
+agccatacttcaggcgatcttttttcatctcccacagcacgcggatctcttgcggatcgg
+cctggaagtttgaccagatatcgtggtggaacgggatcactactttcgcattcagcgctt
+cacccatacgcagcatatcggcgctggtcattttgtcggtgataccgcgcgggttttcgc
+cgtacgatcctaacgccacgtcgatctgatgttcgttaccgtgcttcgcataatagttag
+agtagtgggagtcgccgctgtgatacagggagccgccaggcgttttgaacaggtagttca
+ccgcgcgatcgtccatgccatctggcagtacgccagccgctttttgatcggcaggcaggg
+tgatcagtgcagtacggtcgaaagcatcaagcgcatgaatttcaatgtctttcactttta
+ctacatcgcccggtttgaccacgatgcaacgctctttcggtacgccccagccaatccaca
+aatccacacaggttttcggtccgataaacggtacgtcatctgcacaattctgcatcacgg
+cagcagcgacgttaacgtcgatatgatcgttgtgatcgtgagtcgccagtaccgcgtcga
+tctggcgaatcgcaaacggatcaagaacaaacggggtggtacgcaggtttggctgcagtt
+ttttcacgccagccatgcgctgcatctggtgaccctgtttcattaacgggttaccgtgac
+tttgtttgccagtgccgcaccagaaatcaacgcaaacgttggtgccaccttccgatttca
+accagatcccggtgcagccaagccaccacatcgcaaatgtgccaggagcgacctgttctt
+gttcaatttcttcattcaaccagctaccccactccgggaaagtgctcaggatccaggatt
+cacgggtgatacttttcactttactcatcgccatttaccttcatgatagttcaattcgaa
+tcaatatgtgattggttttgattaatcctgacactattttttcaggaaggcaatgaccat
+tttttgactttttgccagggaagttgttgttgattttgagtatggaaagatttaatggaa
+tgtgtaattcaattaactaaatgaatttaaatggataattgtttcgttgtgtgaatccca
+ctctatccatgtggaattatttgcgggtcgcgtcacatttaatcataaataatcttgttg
+tgattacttttgaaaattagagtgagtgcacaacattccgggtgtgtggaatacccggtt
+acctcttcttcaggagatcgttatggagatcctctacaacatctttaccgtgttttttaa
+ccaggtcatgaccaatgccccgttgttgctgggtattgtgacctgtctgggctacatcct
+actgcgcaaaagtgtcagcgttattattaaaggcacgattaaaaccataattggtttcat
+gttgttgcaggcagggtccggcatcctcaccagcaccttcaaaccggtggtggcgaaaat
+gtccgaagtctacggcattaacggcgcaatttccgatacctacgcttcaatgatggcaac
+catcgaccgcatgggcgatgcctatagctgggtgggttacgccgtattgttagcgctggc
+gctgaacatctgttacgtgctgttgcgtcgcattaccggcattcgcacaatcatgttgac
+cggccacatcatgttccagcaggccgggttgattgccgttacgctgtttatcttcggcta
+ctccatgtggaccaccattatctgtaccgcgattctggtttcgctctactggggcatcac
+ttccaacatgatgtacaagccgactcaggaagtgacggatggctgtggtttctccatcgg
+tcaccagcagcagtttgcatcatggattgcctataaagtcgcgccgttcctcggcaaaaa
+agaggagagcgttgaagacctcaaattgccgggctggctgaacattttccacgacaacat
+cgtctccacggcgattgtgatgaccatcttctttggtgccattctgctctccttcggtat
+cgacaccgtgcaggcgatggcaggcaaagtgcactggacggtgtacatcctgcaaactgg
+tttctcctttgcggtggcgatcttcatcatcacgcagggtgtgcgcatgtttgtggcgga
+actctctgaagcatttaacggcatttcccagcgcctgatcccaggtgcggttctggcgat
+tgactgtgcagctatctatagcttcgcgccgaacgccgtggtctggggctttatgtgggg
+caccatcggtcagctgattgcggttggcatcctggtcgcctgcggctcctcgatcctgat
+tattcctggctttatcccgatgttcttctctaacgccaccatcggcgtgttcgctaacca
+cttcggcggctggcgtgcggcgctgaagatttgtctggtgatggggatgatcgaaatctt
+tggttgcgtctgggcggtgaaactcaccggtatgagtgcctggatgggcatggcggactg
+gtcgattctggcaccgccgatgatgcaaggcttcttctccatcggtatcgcctttatggc
+cgtcatcattgtaattgcactggcttatatgttcttcgctggccgcgcgctgcgcgcaga
+agaagatgcagaaaaacaactggcagaacagtctgcttaataaggagttttgattatgac
+cgtacgtattctggctgtgtgtggcaacggacaaggcagttccatgatcatgaagatgaa
+agtggaccagtttttaacccaatcaaacattgaccatacggtaaacagctgcgcggttgg
+cgagtacaaaagcgagttgagtggcgcggatatcatcatcgcttctacgcacattgcggg
+cgaaatcaccgtgaccggcaacaaatacgtggttggcgtgcgcaacatgctctctcctgc
+cgactttggcccgaaactgctggaagtgatcaaagagcatttcccgcaggatgtgaagta
+aggacgcgccatgaaattacgtgattcgctggcggaaaataaatccatccgcctgcaggc
+tgaagcagagacatggcaggaagcggtgaaaatcggcgttgacctgctggtggcggcaga
+tgtggtagagccgcgttactaccaggcgattctggatggcgttgaacagttcggtcctta
+tttcgttatcgctccgggcctggcaatgccgcacgggcgtccggaagagggcgttaagaa
+aaccggtttctctctggtaacgctgaaaaagccgctggagttcaaccacgatgacaacga
+tccggtggatatcctcatcaccatggcggcggtcgatgccaatactcaccaggaagtggg
+catcatgcagatcgtcaacctgtttgaagatgaagagaattttgaccgtttacgcgcctg
+ccgtaccgagcaggaagtactggatctcattgaccgcaccaacgcggcagcttaagaagg
+aattgaacatgtcattaccgatgttgcaagtcgcgctggacaaccagactatggatagcg
+cctacgaaaccactcgcctgattgccgaagaagtcgacattatcgaagtgggcaccattc
+tgtgcgtgggcgaaggcgtgcgtgcggttcgtgacctgaaagcgctctacccgcacaaaa
+tcgtactggcagacgccaaaattgccgatgcaggcaaaatcctttcgcgtatgtgcttcg
+aagccaacgctgactgggtgacggtaatttgctgtgcggatatcaacaccgccaaaggcg
+cgctggacgtggcaaaagagtttaacggcgacgtgcagatcgaactgaccggttactgga
+cctgggaacaggcgcaacagtggcgcgatgcaggcattgggcaggtggtttatcaccgca
+gccgtgacgcgcaggccgcaggcgtggcgtggggcgaagcggacatcaccgcgatcaaac
+gtctttccgatatgggcttcaaagtcaccgtcaccggaggcctggcgctggaagatctgc
+cgctgttcaagggtattccgattcacgtctttatcgcgggccgtagtatccgtgatgccg
+cttctccggtggaagccgcacgtcagttcaaacgttccatcgctgaactgtggggctaag
+gagcggatatgttgtccaaacaaatcccgcttggcatctatgaaaaagcgctccccgccg
+gggagtgctggctggaacgcctgcaactggcaaaaacgttaggcttcgattttgtcgaaa
+tgtcggtagatgaaactgacgatcgcctgtcgcgcctcaactggagccgcgagcagcgtc
+tggcgctggtcaatgcgattgttgaaaccggcgtgcgcgtgccgtccatgtgcctttctg
+ctcatcgtcgtttcccgctgggcagtgaagatgacgcggtgcgggcgcaggggctggaga
+ttatgcgtaaagctatccagttcgcccaggatgtcggtattcgcgtgatccagctggcgg
+gctatgacgtttactatcaggaagccaataacgaaacgcgtcgtcgtttccgtgacggcc
+tgaaagagagcgttgagatggcaagccgcgcgcaggtgacgctggcgatggagatcatgg
+attatccgttgatgagctccatcagcaaggcgctgggatacgcgcactatctcaacaatc
+cgtggttccagctctacccggatatcggcaacctgtcggcgtgggacaacgatgtgcaga
+tggagttgcaggccggaatcgggcatatcgtcgcggtacatgtgaaagacaccaaacctg
+gcgtcttcaaaaacgtgccgtttggcgaaggtgtagtggatttcgaacgttgtttcgaaa
+cgctcaaacagagtggctattgcgggccgtacctgattgagatgtggagcgaaacggcgg
+aagacccggcggcagaagtggcgaaagcgcgtgattgggtgaaagcgcgcatggcgaaag
+cgggcatggtggaggcggcataatgcaaaagctaaaacagcaggtatttgaagccaacat
+ggagctgccgcgctacgggctggtgacctttacctggggcaacgtcagcgctatcgaccg
+cgaacgcgggctggtggtgatcaagcccagcggcgttgcctacgaaaccatgaaagcggc
+cgatatggtggtggttgatatgagcggcaaggtggtggaaggggagtatcgcccatcttc
+cgacactgcgacgcatctcgaactctaccgtcgttacccgtcgcttggtggcattgtcca
+tacccactccactcatgccaccgcatgggcgcaggcggggctggcgatcccggcgttagg
+caccacgcacgccgactacttctttggcgacattccgtgtacgcgcgggttaagcgaaga
+agaggtgcagggcgagtatgaactgaacaccggcaaagtgattatcgaaacgctgggcaa
+cgccgagccgctgcatacgccgggaattgtggtgtatcagcacgggccgttcgcctgggg
+gaaagatgctcacgatgcggtgcataacgcggtggtgatggaagaagtggcgaaaatggc
+gtggattgcccgcggcattaacccacaactcaatcacatcgacagcttcctgatgaataa
+acacttcatgcgtaaacacggtcctaacgcttattacgggcagaagtagaacacgcgctg
+cggaaatttccttcctcgggagataactggtctaattccgcagccgtttttcaaaaaaaa
+gccccctgcgaagggggcaaagcaaactatggcaatgtttcgttggttatacctggtgct
+agcgataaatatccgcgctggcgtgcatattgccgttactccccggttcccgcatcagaa
+ttacgtggtagtacgttgcgccttgcgcatctgtttcttcatttaatgcctgacgtgctt
+cgctttcagtggcgaaattatgattgatataaatcacgcctaagctttgcacatcgtcca
+tatttctggcctggtggttattaatttcaatggctgcccatgtatttgcacttagcaaaa
+gcacagccagaagggctaaaacacgactgaacatagatacctcctcgacggctgactttg
+tgtgctctcctctgtgatgatcttctgatttaattttaatcaatgataaagaagttgatg
+gtgaccatttctgatgcagttgttcaaaaaaacaccatgatgaagtgtgatgaacttcaa
+atcagcgtgttagaggttaattgcgaaaggggagatttatttcggctctgcccttgagtt
+tagcgaggcatacaagtactataacgcgtcatttttcagccgacctttaacacgttcctt
+gcctccccgggattcggctgacccagacaggaggctgaataatccgtaaggagcaattcg
+atgcgtcattacgaaatcgtttttatggtccatcctgaccagagcgaacaggttccgggc
+atgatcgagcgctacactgctgccatcactggtgcagaaggcaagatccaccgtctggaa
+gactggggccgccgtcagctggcttacccgatcaacaaactgcacaaagcacactacgtt
+ctgatgaatgttgaagctccgcaggaagtgatcgatgagctggaaactaccttccgcttc
+aacgatgccgttatccgcagcatggttatgcgtaccaagcacgctgttaccgaagcatct
+ccgatggttaaagcgaaagacgagcgccgtgagcgtcgcgatgatttcgcaaacgaaacc
+gctgatgatgctgaagctggggattctgaagagtaatttctgatgaccaaccgtctggtg
+ttgtccggcaccgtgtgcagggctccccttcgaaaggtcagtccatcaggaattcctcac
+tgccagttcgtgcttgagcatcgttctgtgcaggaggaagccggctttcaccggcaggcg
+tggtgtcaaatgcccgttattgttagcggacacgaaaaccaggccattactcacagtata
+acggtcggcagtcgcataaccgttcaggggttcatttcatgccacaaggcaaagaacgga
+ctgagcaaaatggttttgcatgccgagcagattgaattgatagattctggagactagcca
+tatggcacgttatttccgtcgtcgcaagttctgccgtttcaccgcggaaggcgttcaaga
+gatcgactataaagatatcgctacgctgaaaaactacatcaccgaaagcggtaagattgt
+cccaagccgtatcaccggtacccgtgcaaaataccagcgtcagctggctcgcgctatcaa
+acgcgctcgctacctgtccctgctgccgtacactgatcgccatcagtaatcggtcacggt
+ccattaatacgactttgagaggataaggtaatgcaagttattctgcttgataaagtagca
+aacctgggtagcctgggtgatcaggtaaacgttaaagcgggctatgctcgtaacttcctg
+gtaccgcagggtaaagctgttccagctaccaagaaaaacattgaattcttcgaagctcgt
+cgcgctgaactggaagctaaactggctgaagttctggcagctgctaatgctcgcgctgag
+aaaatcaatgcactggaaactgttaccatcgcgtctaaagctggcgacgaaggtaaactg
+ttcggttccatcggtactcgcgacatcgctgacgctgtaactgcagctggcgttgaagtg
+gctaagagcgaagttcgtctgccgaacggcgttctgcgtaccactggcgaacacgaagtg
+agcttccaggttcacagcgaagtattcgcgaaagtgatcgtaaacgtagtagctgaataa
+ttcgttattcaacgagacgtaaaaacgccgaccattggtcggcgttttgctttctatttt
+tcgtcaggtattagtttcgcaagtagatccattcaccattctcttgtgtccataagtcag
+gatggtttgctggcgttagatacatacgagcgcaactgatgtctcgctcctgcggcactc
+gctcgaaacccaaacccgagtagattgcggctgaacttgataaggaacgcagaccaattt
+tcaaatcatggggtaaatcagaatacgcgtttagcaatgcagcaatgatgaatccgaggg
+cattagaaacgcctgtaacagtgcgaagttggtcgatataaagatcgattgttggtagtt
+cagatgaccagcaattaggcatttgggcaggaagggttacaacgtatcctatcgtttggc
+cggtatagtctggagtaccataaccaggtcccaaaaccacttcgtgtattgtgtatttac
+tgttgggttcgaaggattcgacatcttgcaataaatatttcagttctgcggttaacctcg
+cacccgcgtaagctttattgtatttctgggcgtgaatattatctaatgtagcttcatggt
+tccatccaaaagaattatcaccattcattgtgattccatcgtaagcattacacctcgtcg
+ctaacttattgaatgcttgccagtctgagagatctagtttgtggatctcaacagtacgtc
+tgccatcgcaattatgatctcttccacgatttgaaagtaatgtagcgcgtgcgtattgat
+gaaattttaattttactggtttgtcggtggacgaaaaacgagataaatatgcaggaaatg
+aataaatagtcgttggtaatgtcattgtaatgttacctgtttaatgtttttataaatatc
+gcagctgaatgttcacagaaaaaaatcgatattaataaaaataagtttgttttctgaagt
+ggtgaaaatagcggatggtgaaagatattaatatcaaaaatcgctcattatggatataac
+gatgcacccggggagaaaatgacttccacgccttacaccgtacattcttgttgtgcggta
+tgtaattattctacgctgtcggtatcggtgtattcgttaatcagcaggttagccagccac
+aaaaagccattgagaaaattattgattttacatgggattattatattgctaatccttggt
+ttttaaaaattgtgcatagtgaaaatcaaagtaaaggtgtgcattatgcaaaatcacagc
+gtctcttagaaattaaccatgcgcacttgcagttaatggaatccttattggatgaaggga
+agaaacacaatatttttaagccagatatcgacccattgcaggtgaatattaatattgctg
+cgcttggcggatattatttgatcaaccagcatacgcttggcctggtttatcacatcagta
+tggtttcaccccaggcactggaagccagacgtaaggtcatcaaagagacaatccttagct
+ggcttttggttgacccttcatctaccgcgcacgaataaaactgccatccggctggcgggt
+gaacaggacctgttgattattccccgtatcaatggttaagcccgtcaccacgccgctggc
+gttctggcggattttcaccatctgcccgttttgcaaattactcagcggcttacccgcgcc
+ttctacctgcgccattgcatagacatcggtagcgggcagtccgtggtcgcggaacagctg
+cgccatcgttttaccgggttcgacacggtaagagcgccattgattatcaattccgctatc
+tggctggaatggttgcgtttgggtagtttgcggctgctcttctggctggccttcctgtat
+aggttctggagcgaccggagccacctgatcaggatcattttgtggggtaactaattgcgc
+ccgcagctgttcttctgtcggcggttgtgattgcgactgaatatctaactgcgcttcacg
+cgtcaccaccggcgcgttgggcgtatcatcagatggaagcagaaatccgaccaccaatac
+aatggcggcaataatgatcccccgacgatgcatcggcggcagcgggtccatgaagcgaaa
+attgtccggcgcgtgccagactttctccagggttggttttagttcaaagcgcccgggcat
+ggtttcctcctgctccgcgtcttgttcctcaatcatagcctatgaataagctaacgctat
+gatgtccgtggtaaacccgcctttattatattcatacgggatattgctattgtttctttt
+tccctgggatttgtcatcattcccgcgacaaagttttacccaaagaagtgtggctgatat
+gctgcccgctactttataccctaagaaaggaaatacgatgaccaccccaacttttgacac
+catcgaagcgcaagcaagctacggcattggtttgcaggtagggcaacaactgagtgaatc
+tggcctggaagggctgctgccagaagcactggttgcaggtattgccgatgcgctggaagg
+caaacatccggctgttccggttgatgtggtgcatcgcgcgctgcgtgaaatccacgagcg
+cgccgatgccgttcgtcgtcagcgtttccaggcgatggctgctgaaggtgtgaaatacct
+ggaagaaaacgccaaaaaagaaggtgtgaatagcaccgaatctggcctgcaattccgcgt
+gatcaaccagggtgaaggcgcaattccggcacgtaccgaccgcgttcgtgttcattacac
+cggtaaactgatcgacggcaccgtgtttgacagctccgttgctcgtggtgaacccgctga
+attcccggttaatggcgtgatccctggctggattgaagcactgactctgatgccggtagg
+ttctaaatgggaactgactatcccgcaggaactggcatatggcgagcgcggcgcaggcgc
+atccatccctccgttcagcaccctggtgtttgaagtcgaactgctggaaatcctctaagc
+agcgcattctgttcccctcgaacgagaggggagcaggcattcagcaataaacccttcagt
+ttgccaaacggcgctattttgtgttgcaaagaccccgtaagcgtgtatttttgtgagctg
+tttcgcgttatcaccgtgatatgacactcactttaaacataaaattaacattagatctaa
+atcttagtattcatcccgcgtattgttacctaatatcgatgagtcccgatacagattcgt
+cgtatcatagactgactaaaggccgtagagcctgaacaacacagacaggtacaggaagaa
+aaaaacatggtagatcaggtaaaagtcgttgccgatgatcaggctccggctgaacagtcg
+ctacggcgcaatctcacaaaccgacatattcagcttattgccattggcggtgccattggt
+acggggttgtttatggggtctggcaaaacgattagccttgccgggccgtcgatcattttc
+gtttatatgatcattggttttatgctctttttcgtgatgcgggcaatgggggaattgctg
+ctttcgaatctggaatacaaatcttttagtgacttcgcttccgatttactcgggccgtgg
+gcaggatatttcaccggctggacttactggttctgctgggttgtaaccggtatggcagac
+gtggtggcgatcacggcttatgctcagttctggttccccgatctctccgactgggtcgcc
+tcgctggcggtgatagtgctgctgctgacgctcaatctcgccaccgtgaaaatgttcggt
+gagatggagttctggtttgcgatgatcaaaatcgtcgccattgtgtcgctgattgtcgtc
+ggcctggtcatggtggcgatgcactttcagtcaccgactggtgtggaagcgtcattcgcg
+catttgtggaatgacggcggctggttcccgaaaggtttaagtggcttctttgccggattc
+cagatagcggttttcgctttcgtggggattgagctggtaggtacaacagctgcggaaacc
+aaagatccagagaaatcactgccacgcgcgattaactccattccgatccgtatcattatg
+ttctacgtcttcgcgctgattgtgattatgtccgtgacgccgtggagttcggtagtcccg
+gagaaaagcccgtttgttgaactgttcgtgttggtagggctgcctgctgccgcaagcgtg
+atcaactttgtggtgctgacctctgcggcgtcttccgctaacagcggcgtcttctctacc
+agccgtatgctgtttggtctggcgcaggaaggtgtggcaccgaaagcgttcgctaaactt
+tctaagcgcgcagtacccgcgaaagggctgacgttctcgtgtatctgtctgctcggcggc
+gtggtgatgttgtatgtgaatcctagtgtgattggcgcgttcacgatgattacaaccgtt
+tccgcgattctgtttatgttcgtctggacgattatcctttgctcgtaccttgtgtatcgc
+aaacagcgtcctcatctacatgagaagtcgatctacaagatgccgctcggcaagctgatg
+tgctgggtatgtatggcgttctttgtgttcgtggtcgtgttgctgacactggaagatgac
+actcgccaggcgctgctggttaccccgctgtggtttatcgcgctggggttgggctggctg
+tttattggtaagaagcgggctgctgaactgcggaaataaccgcattatcatgctggatgg
+cgcaatgccatccagcttttagatcactcacccgccagcgcgcgtgggaacagtacattg
+ttttccagactgatgtgatccatcaggtcatcaatcagttcattaatgccgttatacatc
+gctttccaggtggtgcaggcttctggcggcggtgtgacgttattggtggtgtgtttaatc
+acttccagcagttcgcccgcttcatcgtgctcgctttccattacgctgattggccccatt
+gcctggctgcccatgccttgtttgatcatcgggaagaggatctgctcttctttcatcatg
+tggctggaaagctcttcatgcagcatggtcaggtattttgtcagcccttttggcacgctc
+ggtttgtcggcgtgaacgcgctcgactttagtcgcttgcagaatcagctccggcagttgc
+tcgcggtgacgatcgtggtagcgcacgatgatatggtcgatgatttctgccagcggggcg
+ctacgccagtctttctcaatcggttgttcagcgagctttgccagttcagcttcaatgacc
+tcaacatccagttctttacgtgccgccgcgcgcgccagcgtctgcttaccgccacagcag
+taatccatatcatatttacgaaacagagctgaagcgcgaggaatagagagcgccagttca
+cctaaaggttggtcgcgataagccatagctgatacctcattcttaataagataagatgta
+ttttaaatgcatctttaaggcaaaagctataacccttacgtagcagaggcttatttaact
+cactgccagcgtgtcaactttctgagacagattcagttaaaggtttttctggttttgctc
+tgaccgcgatgaccacgccaatcactaacagcgcgataccgctcagcgtcattagcggcg
+gcatttgctggcggagtaaaaaggtgtacagcaaacctgccagcgtttcgaaaacaatca
+gcggcccgagaatcactgtcggtaatagctggctggcgacgttccagcagagtgcgccaa
+cccatgagcaaagcacggctatcgcaaccatcagactaataaacaccagcggacgggggc
+caaagggtagggagaagtccggcgtttgcgtattcagccagtaacaagcgacgagatagc
+cgataagtgaaaccggcagtgtgaccagcgcctgcgctgttgcccacatcatcggatgtt
+tgtcgggattttcccgcagccagcgggcgttgcgcagggcataccacgcccagcagacca
+cggaaactaacgccagcacgatgccagaggtataacgtgcccagtcaaaatcggggagtc
+cgtggtttaactcagcaatattcacacacgccaggccgatgccaatacaaatcagtgctg
+gggcgagttttccccacgcgagtttgccgtcgcgctggctataaagcagattggcaaaga
+caggaatgaccaccggcagggtgccgataatcatcgtggaaacaggcgcgccagtacgtt
+gaatggcactggcaaggcagaagtaatagatgaggttgcccatcatagtgagcatcaagg
+cggtaagccagtcgcgacgcgccaactgacgcagacgcacgcgtcccagccaggcaatgg
+gcagcgcaattaaccctaacgccagataacgccccatcgactgcaacatcgccgggtatt
+ccggcacgatcaacggcccgacaaaaataagcccccacatcaaccctgctaacagggcgt
+acagcacgccgctaatcattactggcatccattgatctgtcagaagaaagttcaggaagc
+agacatgattgctcccggcatcccgtcattatcagagaggatgcgggaggatgccacttt
+aattaactagttattaacattaaaaagatggcttacgctttcggctaacgttgtcgttgg
+gtggccaatcaatttgctaagtgttttgctgtcatcaaacagaccgcctttcgatgcgcc
+aacgtcagaatccgccagcatatccgccagtccgtcgggcagtccgacgcttttcagtgc
+cgcggcgaaatcggcttcgctcagattttgataggtaacctgtttgccgctctgtttggt
+cagctctgccgctaactgtgtcaacgtccaggcactatcgcccgccagttcgtaaacctt
+gccttcgtgaccggcttcgctaatcacgcgtgccgcagctgccgcataatctgcccgcgt
+tgctgaggcgattttgccatcgcccgccgcaccgataaatacgccgtgttccagtgctgc
+cggggcgctggcgaggtagttttcgctgtaccagccgttgcgcagcagggtgtaaacgat
+gccagaatcagccagcattttctccgtctcgatgtgctcatcggcgaggccgagcgggga
+ggtatctgcatgtagcaggctggtataagcgataaatttcacgccagccgcctttgcggc
+attaataacattacgatgctgcggggcacgttgacccacttcgctggaagagatcagcag
+tagtttttccactccctgaagtgcagatgtcagtgcggcttcatcgccgtagtcagcctg
+acgcacggtaatgccttgtgctgccagggcttgggcttttgccggattacgaacgatagc
+cactatttggctggcaggaaccgttttcatcaaggattcaataacatagtgaccaagttg
+gccagtggcaccagtaatagcgatcatgggaagtctccatcgttttgtcttgtgtttaaa
+tacgctaacacctaaacttacttttagtaagtacgtacaaaaaggtaagtatgaaatgag
+tcaggttagcctgtcgcaacaactgaaagagggtaatctctttgcggaacagtgcccgtc
+gcgcgaggtgttgaaacacgtcaccagccgttggggggtgttgattctggtggcgctacg
+cgaaggtactcatcgctttagcgacctgcggcgcaaaatcggtggggtgagtgaaaagat
+gcttgcgcagtcgttacaggcgttagaacaggatggttttcttaaccgtatcgcgtatcc
+ggtggtgccgccgcatgtggaatatagcctcacgccgctgggcgagcaggtgagcgaaaa
+ggttgctgcactggcggactggattgagttgaatttgcccgaggtgttggcggtgcggga
+tgaacgtgcggcataactgccggatgcgctgagcttatctggtctacggtgcatggcttg
+tagggcggataagatgcgccagcatcgcatccgccaataaatgccggatgcggttgatga
+tttataggccgaaaaagaagtgttttacttactcaaatccacctgataaatcgcaaaccc
+gatatcatcggtcgcgactttattcatcggatactgccctttctctttaataaacgctgc
+ggctttatctgacggagaggtttcgaaacggatatccagtttcttatcgccagctatcgg
+tgctaaacgccagttgttatctgccgccgggtgaatttcccccgcacgtttcgactcatc
+agcaatccacgctgccagcaccgagcggttctcatccggtgaagcaaaagcgatatggct
+gtcgcccgtaccggcaaatttgccgccgtaagcgcgatagttattggtggcaaccaggaa
+catggcgttcggatcaatcggcttgccattaaaggtcaggttcttaatcctttccgcatt
+ggcattaatcatctggcactcgccgtcataacgggcgggctgggtaacatcaatctgata
+attcacaccatcaataacatcaaagttataagtgcggaaaccatcccagttgatgagtga
+ctgtggtttcgtgctgttgggatcaatctggttaaactgtcccgcggagcactccagcca
+ctctttcacctctttaccgctggctttcaccacaatcagcgtattgggatagagataaag
+atcggcggcattacggaaggtcaactggcctttttccacctccacatagcttgccgggtc
+atttttgcgaccaccgactttaaacggtgcggcagctgaaagcaccggcagttttgccag
+atccggatcgccctgaatgtaatgctcgacatacgctttttgcgcgttgttcaccacctg
+cacggtcggatcgtcctgcaccagcgccagatagctatacatattgtcggcagatttacc
+gattggcttgctgacgaactggcgtgtggcatcgtgatcggctttgagtgtttctaccag
+cttgctgtcttccgccgcgagggattttttattagcgatgtcgtaaatcggtcgtgcttc
+cgctttcgcctgcgtcacctgccatttaccgctgtcattactgagttgtaagtcgaccac
+accaagatgatcgccccacatgcctggcattaccgccggaacaccattcagcgtgccttt
+ggcgatatcagccccttcgatatcagcaaaatctttacctgggaaaacggcgtgagcatg
+gccaaacataatggcgttaacgcccggaatttcactgaggtaataaactgagttttccgc
+catcactttatacggatcggcagatagcccggaatgtgccagaacgacaacaacatcggc
+acctttctcgcgcatttcaggcacgtatttgcgcacggtttcggtaatatcattcaccgt
+cactttcccggataaattagctttatcccagcccatgatttgtggtggcacgacgccaat
+atagccaatcttcagcgtctgtttttttccgtctttatcgaccacttcggtgtctttaat
+taaatacggtgtaaacattggctgtttggttctggcgtcaatgacgttggcatttacata
+agggaatttcgctcctgccagcgcatttttcaggtaatccagaccgtagttaaactcgtg
+gttgccaagcgttccgacggtatagtccagcgtatttaatgccttatagaccgggtgaat
+atcacctgcttttaatcctttcgccgacatgtaatcggccagcggactcccctgaatcaa
+atcgccgttatcaaccagtacgctgtttttcacttcattgcgggcatcgttaatcaggct
+tgccgtacgtaccagtccgaatttttccgtggcggtgtctttgtaataatcgaaatccat
+catgttgctatgcagatcagtggtttccatgatacgcagatcgaccgtcgctgcattcac
+actggcggcaatcagcgtggccaggagcgttgcgctaaacttaatcatcagggacatcct
+tttatcatcgggaatacgaaagaaaagggagaataaacgtcttacttatagaacagtgaa
+gaatgccacaattttacgctttgaaaatgatgacactatcacagttggcgcattcattaa
+cgatagggtataagtaaaacaataagttaacaccgctcacagagacgaggtggagaaatg
+ttagatcaagtatgccagcttgcacggaatgcaggcgatgccattatgcaggtctacgac
+gggacgaaaccgatggacgtcgtcagcaaagcggacaattctccggtaacggcagcggat
+attgccgctcacaccgttatcatggacggtttacgtacgctgacaccggatgttccggtc
+ctttctgaagaagatcctcccggttgggaagtccgtcagcactggcagcgttactggctg
+gtagacccgctggatggtactaaagagtttattaaacgtaatggcgaattcaccgttaac
+attgcgctcattgaccatggcaaaccgattttaggcgtggtgtatgcgccggtaatgaac
+gtaatgtacagcgcggcagaaggcaaagcgtggaaagaagagtgcggtgtgcgcaagcag
+attcaggtccgcgatgcgcgcccgccgctggtggtgatcagccgttcccatgcggatgcg
+gagctgaaagagtatctgcaacagcttggcgaacatcagaccacgtccatcggctcttcg
+ctgaaattctgcctggtggcggaaggacaggcgcagctgtacccgcgcttcggaccaacg
+aatatttgggacaccgccgctggacatgctgtagctgcagctgccggagcgcacgttcac
+gactggcagggtaaaccgctggattacactccgcgtgagtcgttcctgaatccggggttc
+agagtgtctatttactaaattcagatggcagaaacagtgtatttcctgattctgccatcc
+tgatttctcccaacctaaaaagttataaataaaaagagattgtatttaaagtgcaaaaat
+tcaattgctaataagttacattttaataatgagcgttttttgatagtttacttctatagt
+gagatatttaatggcgacataaagtaaccaaataaaataaggttgtcatatgttacccag
+gatcagacacaataattttattggtgcggtggagttatttgtaaagtcttcgtatacaaa
+aacacattcaaacaatttttttaacaacatccatcatgcatttaagaaaaaagattggat
+ttcgaattatgatagcctgttaactttgagggagttctttcgttgcgcaactcagattga
+taaaagtggttatcaggtgctttcatcaaaaaatgaaactgttcacgccatggataagtt
+tcttatcagtttcagccttaaagataacggtgccgaatatacaatgacattgcgaggtag
+tggatttgaatacgaagaaatacccataacaataaatgaatataactcattcatggattt
+caaaaaccgtgaatttccgttagaacaaaacagacgattgtatgcctgggatattctaca
+gaaaaaacagtctgacataccgaaaaggattaaaggttatattcaccaggcgattggtga
+cgtgtctttaggttatgccttattggaggatatagtaagcaaattaaaacggggtaaatt
+tgaactccaaataccaggaggtggaattaaagaatgcgatggatggtatatttacgaaaa
+aataattgatgataattttgccatagtcatagaatctttgggctttgcgcttaaaatcta
+tggaggggatgaacgttttcgtaatggttcctctgttgttttggaggatgaagattactc
+tcttatttataattttctggttaatgcaggttgccaacaagtcgaattagccgaacaagt
+ggatgcgatagtaagtgcgaatctggccgcagatagcgatattaccaaagaaaagatttg
+cgagaaatataaatcgaccattgaggcgtttaaaaaagagcaactagcgttaccagtatt
+agttcggcgtaagaactcagagacttaattcccctatcccatagataacgataggggaaa
+attatttttgcagaatttatgttattgccattatttgagcaacttttgcagcaggtccat
+cacttgctgcacctcttccggtgtgagcgccccgtctttggcccattgcacgcgaccatc
+cttatccagcaccactacagcggaactttcttcatccagctgccaggcaccgagcgcgac
+gccattgctatcgacaataaactgcgaccagggataaagctttttattactctccagact
+gctgcgcacaaacatccctgaacccggaatcgcgtcgtcggtgttaacaatggtggtggt
+ctggtaacgatcgtgcggtaacttcgctgatttaatcgcttcaatcagcgtcgcgttttt
+ctcttttgcagaggtgcgaccagcaatatgttgcagtactcgcacttttcccactaactg
+cgcgctgttccaggttttgtagctaaactgatctttatcaagcaccaactcgccccgatc
+ggtaatgccaatcggcggcactcgctgaccggtttcgaactgatgtgcggaagccatcat
+cggcaacagcaggcaggtgagtgccagaatcttgcgtagggtcatggtgtttccttctta
+tgatatgcaggtgatccgaccacttgggtctgagttttaatcatatgtgctatttatcga
+atttcccgcaagtgtgatgccagtttgcggtcaagcgcacaaatcatatgaaaaatgaat
+gcttatactgaagaccgcgcttcggtaaaaagataattctgaataattgtaacctttagg
+taaaaaaagttatacgcggtggaaacattgcccggatagtctatagtcactaagcattaa
+aatttgcgcctcataatagttgggccgattgtggcaccgcacaggcgtaatactcagcag
+gagataacaatgaaaattttccaacggtacaacccacttcaggtggcgaagtacgtaaag
+atcctgttccgtggacggttatacatcaaggacgttggcgcttttgaattcgataagggt
+aagattcttatcccaaaagtgaaggataagctgcatttgtcagtgatgtccgaagttaac
+cgtcaggttatgcgtctgcaaacagagatggcttaaccaaagtgctatgcagtaaaaagt
+gctatgcagtaataagacggctcctgattcaggagccgttgatgtttctgggggttacgc
+gacgctttcttctttatctttagcgtcaggcagttttggcgaaagggcggtggccttgct
+gtcgatccgggtcaccagcagctggtcgatgcggtagttatcgatatccaccacttcaaa
+tttgtagccggcgaatttcaccgaatcggtgcgtttcgggatcttacgcagcataaacat
+cataaagccgccgatggtttcgtagttgcccgactgcgggaactcgtcaatatccagcac
+gcgcatgacgtcgtcaattggggtgccgccgtcaatcagccatgagttctcatcacgggc
+gacaatctgctcttccagcccctgaccgaccagatcgcccatcagcgtggtcatcacgtc
+attgagggtgatgatccccaccaccagcgcgtactcgttcatgatcaccgcgaagtcttc
+acctgcggttttaaaactttccaacgcctctgaaagggttaacgtatccggcacaatcag
+cgtgttgcgaatttgtacgccgctgttcagtgccaggctttggttagccagcacgcggtt
+cagcaggtctttagaatcgacataaccgatgatgtggtcaatatcttcattacagacgag
+gaacttagagtgcggatgttccgccaccttattcttcaggctttgctcatcttcgtggag
+atcaaaccaaatcacgttttcacgcggtgtcattgaagacggaacggtacgggattccag
+ctcaaagacgttttcaatcagctcgtgttcctgtttacgtaacacgcccgccagcgcacc
+ggcttccactaccgcgtagatgtcatcagaagtgatgtcatctttacgtaccattggcag
+tttgaaaatacggaagattatgttcgccaggccgttgaagaaccacaccagcggggtgca
+aacgtacaggcagaagcgcatcgggttgatgatacgcaaagccacagcttctggcgcaat
+cataccgatgcgtttcggggttaaatccgcaaacaggataaacatgccagtcactaacga
+gaaagagagaataaagctcagttgctcagagagctctgccgacatatagcgggagaacag
+gctgtgaaaagctggagaaaatgccgcatcaccgacgataccgccgagaatcgccactgc
+gttcagaccgatttggaccacggtaaagaacatgccgggattttcctgcatattcagaac
+gcgttgggcatttatattgccttcatcagccagcagtttaagtttgattttgcgtgaggc
+ggcaagcgagatctcggacatcgagaagaacgcacttacagcgatcaagcagagtatgac
+taaaatactgtttaacatatcttatccgacctttcaggccagatcctcggaaggggaagt
+tgattaatttgtgtgaaatacacattgaaagccgattcgaagaaagtgaaccggcatttt
+cagtggctagtatagcgtaaggtactgtaaagccgccagagggttaaaattcagacagct
+gaaaaatgcaaaactgcctgatacgctatgccgatcaggcctacgcagtccttgcaatat
+attgaatttggacgattttgtaggcctggtaagtcgtttacgccgcatcaggcatagaca
+aagagcactttatcaacaaactacatttgtacccgtaacgctatgcttccggcggcagac
+agacgccaattccgccaattccacagtaaccatacgggtttttatgcagatattgctggt
+ggtcatcttcggcataataaaacggtgtggcgttagcgatttccgtggtgatgtgacgat
+cgtcatcggcggcaagcatcgccgcctgaaaacgttccagactggcgcgagctgcggcat
+cctgttctggggtcagcggataaatcgctgaacgatactgcgtgccgtggtcattgccct
+gacgcattccctgggcgggatcgtgattctcccaaaatacctgtagcaactgctcatagc
+tgatgacggaaggatcgtaaacaatgcgtaccgcttcggcatgacccgtatcaccggagc
+acacttcccgataagtcggatttggcgtatagccgccggtatagcctgcggcggtgctgt
+aaacgccgggtaactgccagaacagacgctccacaccccagaaacaacccatcgcaaaaa
+tggcaatctccattccgtcaggtacattggtcattgagtgaccgttgaccgcatgcagcg
+tggctacgggcatcggggtgttacgtccaggcagggcatcggcgggggaaaccagatgct
+ttttatcaaataaactcatggtgtcgctctcccgaaaatcggtcattggggttaaggttg
+taacaagaggcgtatttgcacacaataaccaccgtgaataggtctaaagtaaaacataag
+aaatatttggggtttagtctgctttttaatccatattactggatttttgttaagccgttt
+aacggcgttccaggggcaggaaaaaaggatattcaggagaaaatgtgcgctatatccgac
+agttatgctgtgtaagcttactctgcttaagcggatctgccgtcgccgcgaacgtccgtc
+tacaggtcgaggggttatcgggacagctggaaaagaacgttcgtgcgcagctttctacga
+ttgaaagtgatgaagtgacgccagaccgtcgctttcgcgcacgcgtcgatgatgccatcc
+gcgaaggtctgaaagcgctgggttattaccagccgaccattgaatttgatctccgtccac
+cgccaaagaaagggcggcaggtattgatcgccaaagtcacgccaggcgtgccggtgttaa
+ttggcggcaccgatgtggtattgcgcggcggcgcgcggaccgataaagactatttgaaat
+tgctcgatactcgcccggctattggcacggtactgaaccagggcgattatgaaaatttca
+aaaagtccttaaccagcattgcgttgcgtaaaggttatttcgatagcgaatttaccaaag
+cgcagctgggcattgcgctcggcctgcataaagccttctgggatattgattataacagtg
+gcgaacgttaccgctttgggcatgtgacctttgaaggatcacaaatccgcgatgaatacc
+tgcaaaatctggtgccgtttaaagagggcgatgagtacgaatcgaaagatctggcagaac
+tgaaccgccgactttctgctaccggctggtttaactcggtggtggtggctccacaatttg
+ataaagcgcgcgaaacgaaagtattaccattgacgggcgtggtttcgccgcgaacagaaa
+acaccatcgaaaccggggtcggttactctacggacgtgggaccgcgcgtgaaagcgacgt
+ggaaaaagccgtggatgaactcttatggtcacagtctgaccaccagtactagtatttccg
+cgccggaacagaccctcgacttcagctataaaatgccgctgctgaagaatccactggaac
+aatattatttggtgcagggcggttttaagcgcactgacctgaacgataccgaatctgact
+ccactacgctggtggcttctcgctactgggatctctccagcggctggcagcgtgccatta
+acctgcgctggagtctcgaccactttactcagggtgaaattaccaataccacgatgctgt
+tttatcctggggtgatgattagccgcacgcgttctcgtggtggcctgatgccaacctggg
+gcgactcgcaacgctactctatcgactactccaacacggcctggggttcagatgtcgatt
+tctccgttttccaggcgcagaacgtctggatccgcacactgtacgatcgccatcgttttg
+ttacacgcggcacgctgggctggattgaaaccggtgatttcgacaaagtaccgccggatc
+tgcgtttcttcgccgggggcgaccgcagtattcgtggctacaaatacaaatctatcgctc
+cgaaatacgccaacggtgacctgaaaggggcctcgaagttgataaccggatcgctggaat
+accagtacaacgtgaccggaaaatggtggggcgcggtgtttgtcgatagtggcgaagcgg
+taagcgatattcgccgcagcgactttaaaaccggtaccggggtcggcgtgcgctgggaat
+cgccggtcgggccaatcaaactcgattttgccgtaccggtcgcggataaagacgaacacg
+ggttacagttttacatcggtctggggccagaattatgagtttatggaaaaaaatcagcct
+cggcgtggttatcgttatcttactgttgctgggatcggtggcgtttctggtgggcaccac
+cagcggcctgcatctggtatttaaagcggcggatcgctgggtgccaggactggatattgg
+caaggtcaccggcggctggcgcgatctcaccttgtctgacgttcgttatgagcagccagg
+cgtggcggtaaaagcgggcaatctgcatctggctgtcgggcttgagtgcctgtggaacag
+cagtgtttgtattaatgatctggcgctgaaagacattcaggtcaacatcgacagtaaaaa
+aatgcctccttctgaacaggttgaagaagaggaagatagcggtccgctggatctctccac
+gccgtatcccatcaccctgacacgggtggcactggacaacgtcaacattaagattgatga
+caccacggtatcggtgatggacttcacctccggcctgaactggcaggagaaaaccctgac
+cctgaaaccgacgtcgctgaaaggcctgctgattgctctgccgaaagtggcggaagtggc
+gcaggaagaagtggtcgaaccgaaaattgaaaatccgcagccggatgaaaagccgctcgg
+cgaaacgctgaaagatctcttttctcgcccggtattgccggaaatgaccgacgtgcattt
+gccgcttaacctgaacattgaagagtttaagggcgagcagctgcgcgtgacgggcgacac
+ggacatcaccgtgagcaccatgctgctgaaagtgagcagcattgacggcaatactaaact
+ggacgccctggatatcgattccagtcaagggatcgtcaacgccagcggcacggcgcagct
+gtcagacaactggccggtggacatcactctcaacagtacactgaacgtggagccgttgaa
+aggtgaaaaagtgaagctgaaaatgggcggcgcgctgcgcgaacagctggagattggcgt
+taatctttccggtccggtggatatggatttacgcgcccagacgcgactggcggaagccgg
+attgccgctcaacgtggaagtgaacagcaaacagctttactggccgttcactggtgagaa
+gcagtatcaggcggatgatctgaaactgaaacttaccggcaaaatgaccgattacacgct
+ctctatgcgtacggcagtgaagggacaggagatcccgcccgcgactattaccctcgacgc
+caaaggtaatgaacagcaggtcaatctcgacaaactcaccgtcgcggcgctggaagggaa
+aactgaactcaaggcgttgctcgactggcaacaggccattagttggcgcggtgagctaac
+gcttaacggcattaacaccgccaaagagttcccggactggccgtcgaaactcaatggctt
+gattaaaacccgcggtagcctgtacggcggcacctggcagatggacgtgccggagttgaa
+gctgaccggtaacgttaaacagaacaaagtgaacgttgacggcacgctgaaaggcaacag
+ttatatgcagtggatgatcccagggcttcatctggaactcgggccaaacagtgccgaagt
+gaaaggcgagctgggggtaaaagatctcaatcttgatgccaccatcaacgcgccggggct
+ggataacgcgctgccggggcttggcggtacagcgaaagggctggtgaaagtacgcggcac
+ggtggaagcgccacaactactggcagatatcaccgcgcgcggcctgcgctggcaggaact
+ttccgtggcgcaggttcgcgtggaaggcgatatcaaatccaccgatcagatcgccgggaa
+actcgacgtacgcgttgagcaaatttcgcagccggatgtaaatatcaacctcgtcaccct
+gaatgccaaaggcagcgaaaagcagcacgagctacagttgcggattcagggggagcctgt
+ctccgggcagcttaatctggcaggaagttttgatcgcaaagaagaacgctggaagggaac
+tcttagcaatacccgcttccagacgccggttggcccgtggtcgctgacccgcgatattgc
+gctggattaccgcaataaggagcaaaaaatcagcatcgggccacactgctggcttaaccc
+gaatgcggaactgtgcgtgccgcaaactatcgatgcgggggccgaagggcgtgcggtggt
+gaatctcaaccgcttcgacctcgccatgctgaaaccgtttatgccagaaaccactcaggc
+cagcggtatcttcacgggtaaagcggacgttgcctgggacaccacgaaagaggggctgcc
+gcagggcagtatcaccctttcggggcgtaacgtgcaggtaacgcaaaccgtcaacgatgc
+ggcgctgcccgtggcgtttcagacactgaatctgacggcggaattgcgtaacaaccgtgc
+cgaattgggctggaccatccgcctgaccaataacggccagtttgatggacaggtgcaggt
+gaccgatccgcaaggccgccgtaatcttggtggcaacgtcaatatccgtaacttcaacct
+tgcgatgataaaccccatctttacccgtggggaaaaagcagcggggatggtgagtgccaa
+cttgcgtctgggtggtgatgtgcaaagcccgcagttgtttggtcagcttcaggttacggg
+tgtggatatcgatggcaactttatgccgtttgatatgcaaccgagccagcttgcggtcaa
+ctttaacggtatgcgctcgacgcttgccggtacagtacggacccagcagggtgaaatcta
+cctgaacggtgatgccgactggagccaaattgaaaactggcgggcgcgggtaacggcgaa
+aggcagtaaagtgcggatcaccgtgccgccgatggtacgaatggatgtatcgccagatgt
+tgtattcgaggctacaccaaacctgtttaccctcgatggtcgcgtggatgtcccttgggc
+gcgcatcgtggtgcacgatctgccggaaagcgcagtaggcgtctccagcgatgtggtgat
+gcttaacgataacctgcaaccggaagagccgaaaacggcgtcgattccgattaacagtaa
+cctgattgtccacgttggcaacaatgtgcgcattgacgcctttggcctgaaagcgcggct
+gacgggcgatctcaatgtcgttcaggacaaacaagggctgggtctgaacgggcagatcaa
+catccctgaagggcgcttccatgcctatggtcaggatctgattgtgcgtaaaggtgagtt
+actgttctctggtccgccagatcaaccgtatcttaatattgaagctattcgtaacccgga
+tgctacagaagacgacgtaatcgccggagttcgcgtcactggtctggcggacgaaccgaa
+agcggagatcttctctgacccggcgatgtcgcaacaagctgccttgtcttatttgctacg
+tggacaagggctggagagcgatcagagcgacagtgcggcaatgacctcgatgctgattgg
+tttgggggttgcgcaaagtggccagattgtgggtaaaatcggcgagacgtttggcgtaag
+caatttagcgctcgacacccagggagtaggcgactcctcccaggtagtggtcagcggcta
+tgtattgccaggtctgcaagtgaaatacggcgtgggtatatttgactctatagcaacact
+cacgttacgttatcgcctgatgcctaagctatatctggaagccgtgtctggtgtagacca
+ggcactggatttgctctatcagttcgagttttagcaatgcgaatatttgtctacggcagt
+ttacgccacaaacaaggcaacagtcactggatgaccaatgcccagttactgggcgatttc
+agtatcgataactaccagttgtatagcctgggccactatccaggcgcagttccggggaac
+ggaacggtacacggtgaagtttatcgtattgacaacgccacgctggccgaacttgatgcc
+ttgcgcaccaggggcggtgaatacgcgcgccagttgattcagacgccgtacgggagtgca
+tggatgtacgtttatcaacgacccgtcgatggattaaagctaattgaaagcggcgactgg
+ttagacagggataagtaaccatatgcatacgccaccttcgggtggcgttgttttttgcga
+gacgactcgcattctgttttgtaattccctcaccttttgcttttctctccgagccgcttt
+ccatatctattaacgcataaaaaactctgctggcattcacaaatgcgcaggggtaaaacg
+tttcctgtagcaccgtgagttatactttgtataacttaaggaggtgcagatgcgtattac
+cataaaaagatgggggaacagtgcaggtatggtcattcccaatatcgtaatgaaagaact
+taacttacagccggggcagagcgtggaggcgcaagtgagcaacaatcaactgattctgac
+acccatctccaggcgctactcgcttgatgaactgctggcacagtgtgacatgaacgccgc
+ggaacttagcgagcaggatgtctggggtaaatccacccctgcgggtgacgaaatatggta
+aagaaaagtgaatttgaacggggagacattgtgctggttggctttgatccagcaagcggc
+catgaacagcaaggtgctggtcgacctgcgcttgtgctctccgttcaagcctttaatcaa
+ctgggaatgacgctggtggcccccattacgcagggcggaaattttgcccgttatgccgga
+tttagcgttcctttacattgcgaagaaggcgatgtgcacggcgtggtgctggtgaatcag
+gtgcggatgatggatctacacgcccggctggcaaagcgtattggtctggctgcggatgag
+gtggtggaagaggcgttattacgcttgcaggcggtggtggaataaggtgtgtttatttat
+cgcgggcataaaaaaacccttactaaccgaagcccggcgttcagggttattacgccagaa
+gaacttatttattctttgcgcgctcgaaggaggcaacgatttcagctttagcggcttctg
+cgttttcccaaccttcaactttcacccacttgcctttttcgaggtctttgtagtgctcga
+agaagtgagcgatttgcgctttcagcagttcaggcagatcgttaacgtctttaatgtgat
+cgtattctttgctcagcttgctgtgcggaaccgcaaccagtttcgcatcttcaccggctt
+cgtcggtcattttcagaacgccaaccggacggcaacggatcacagaacccggctgcagcg
+ggtacggagttgggaccagtacgtcaaccgggtcaccgtccagagacagggtgtggttga
+tgtaaccgtagttgcatggatagaacatcgcggtggacatgaagcggtcaacgaacagtg
+cgccgctctctttgtcgatttcgtatttgatcggatctgcgttagccgggatctcaataa
+caacgtagatgtcttccggcagatctttacccgcagggacgttgagtaagctcatgtctg
+tttcctttaaaaatatgtggcaaacaagtgccgagtattatagccaactcgcgccgaatg
+tcttcgcttgttttcgtcttcattttcctttttcaccagttttaagacggtatacagagc
+aggaaaatccataaccgtagccgcatttttcatagtgagatgaaagcgattacaaacttg
+tgattaacgttttatttacttttttgaagtgtgatgtaacgcaatctgttacataacgaa
+ttgtctatagttttttcgcgaacatcttttaaccaataataactaccccgacgaggacaa
+ccctatgtggaaacgcttacttatagtctctgcagtctcggcagccatgtcgtctatggc
+gttggccgctccattaaccgttggattttcgcaggtcggatcggaatcaggctggcgtgc
+cgcagaaaccaatgtggcgaaaagtgaagccgaaaagcgcggaatcacgttgaaaattgc
+cgatggtcagcaaaagcaggaaaaccagattaaagcggtacgttccttcgttgcacaagg
+ggtggatgcgatctttatcgctccggtggtcgcgacaggttgggaaccggtattaaaaga
+ggcgaaagatgccgaaatcccggtattcttgctcgatcgttccattgatgtgaaagacaa
+atctctctatatgaccaccgtcactgccgacaacatcctcgaaggcaagttgattggtga
+ctggctggtaaaagaagtgaatggcaaaccatgcaacgtggtggagctgcagggcaccgt
+tggggccagcgtcgccattgaccgtaagaaaggctttgccgaagccattaagaatgcgcc
+aaatatcaaaatcatccgctcgcagtcaggtgacttcacccgcagtaaaggcaaagaagt
+catggagagctttatcaaagcggaaaacaacggcaaaaacatctgcatggtttacgccca
+taacgacgacatggtgattggtgcaattcaggcaattaaagaagcgggcctgaaaccggg
+caaagatatcctcacgggttccattgacggtgtaccggacatctacaaagcgatgatgga
+tggcgaagcgaacgccagtgttgaactgacgccgaatatggcaggtcccgccttcgacgc
+gctggagaaatacaaaaaagacggcaccatgcctgaaaagctgacgttaaccaaatccac
+cctttacctgcctgataccgcaaaagaagaattagagaagaagaaaaatatggggtattg
+agggttgctatgcctgatgccgattcgtaggccggataaggcgctcgcgccgcatccggc
+gatggtgcactgaagcctgatgcgacgcttaccgcgtcttatcatgcctactgggagcac
+gctttacaccgggggaaaccatgacgaccgaccaacaccaggagatcctccgcaccgaag
+gattaagtaaatttttccccggcgtcaaagcgttagacaacgttgatttcagcctgcgcc
+gtggcgaaatcatggcgctgctcggtgaaaacggggcgggaaaatcaacgctaatcaaag
+cattaactggtgtataccacgccgatcgcggcaccatctggctggaaggccaggctatct
+caccgaaaaataccgcccacgcgcaacaactcggcattggcaccgtctatcaggaagtca
+acctgctacccaatatgtcggtcgctgataatctatttataggccgcgaacccaaacgct
+tcggccttctacgccgcaaagagatggaaaagcgcgccaccgaactgatggcatcttacg
+gtttctccctcgacgtgcgcgaaccgctcaaccgcttttcagtcgcgatgcagcaaatcg
+tcgctatttgtcgggctatcgatctctctgccaaagtgctgatcctcgatgaacccaccg
+ccagtctcgacacccaggaagtggagttactgtttgacctgatgcgtcagttgcgcgatc
+gcggcgtcagcctgatttttgtcactcactttctcgatcaggtctatcaggtcagcgatc
+ggatcaccgtcttacgcaacggcagtttcgtaggctgtcgggaaacgtgcgagctaccgc
+agatcgaactggtaaaaatgatgctggggcgcgagctggatacccacgcgctacagcgtg
+ccgggcgaacattgttgagcgacaaacccgttgccgcgttcaaaaattacggcaaaaaag
+gaacgatcgcaccgtttgatctcgaagtacgccccggcgagatcgtcggtctggctggat
+tgctgggatcaggacgtaccgaaaccgccgaagtgatcttcggtatcaaacctgctgaca
+gcggcacggcgttgatcaaaggcaaaccgcaaaacctgcgatcgccacatcaggcttcgg
+tactgggcattggcttctgcccggaagacaggaaaaccgatggcatcatcgctgccgcct
+cggtgcgggaaaatatcatcctcgctctccaggcccagcgcggctggctacgtcccattt
+cccgcaaagaacagcaagagattgccgaacgctttatccgccagcttggcattcgcacac
+cttcaactgaacaaccgattgaatttctctccggcggcaatcagcaaaaagtgttgcttt
+cacgttggctactgacccgaccgcaatttctgatcctcgatgagccaacccgcggcattg
+atgttggtgcccacgccgagatcatccgcctgattgaaacgctatgcgccgatggtctgg
+cgctgctggtgatctcctccgaactggaagagctggtgggctatgccgatcgggtgatta
+tcatgcgcgatcgcaaacaggtggcggagatcccgctggcagagctttccgttccggcga
+tcatgaacgccattgcggcgtaaggagaacagtgtgatgcctcaatctcttccggacacc
+actacgccaaaaaggcgctttcgctggccgacggggatgccgcagctggtagcactattg
+ctggtgctgctggtcgatagcctggtagccccgcatttctggcaggtggtgcttcaggat
+gggcgtttgttcggtagccccatagacattcttaaccgtgcagctcccgttgcgttactg
+gcgattggcatgacgctggtgatcgccaccggtgggattgatctctccgtaggggcggtg
+atggctatcgccggagccacaacggctgcgatgacggtcgcgggattcagcctgccgatt
+gttttgttaagcgccctgggcaccggcatcctggcgggattgtggaacggcatactggta
+gcgatcctcaaaattcagccgtttgtcgccactctgatcctgatggtcgccgggcgcggc
+gtggcgcaactgatcaccgccgggcagatcgtcacgtttaactcgccggatctctcatgg
+ttcggcagtggatcgctgttgttcctgccaacgccggtcattatcgcggtgctgacgctt
+atcctgttctggctgttgacccgcaaaacggcgctggggatgtttatcgaagccgttggt
+atcaacattcgggcggcaaaaaatgccggggtaaacacgcgaatcatcgtcatgctcact
+tatgtgttgagcgggctgtgtgcggcgattgcgggcattatcgtggcggcggatattcgc
+ggtgccgatgccaacaacgctgggttatggctggagctggacgccattctcgcggtggtg
+attggcggcggatcgctgatgggcgggcgctttaacctgctactttcggtggtgggggcg
+ctgattattcaggggatgaacaccggaattttgctttcgggctttccgccagagatgaac
+caggtggtgaaagcggtggtggtgctttgcgtgctgattgttcagtcgcaacgctttatc
+agtctgattaaaggagtacgtagccgtgataaaacgtaatttgccactgatgatcaccat
+cggcgtctttgtgttgggttatctttactgcctgacccagtttcccggttttgcttccac
+aagagtgatctgcaatatcctgaccgataatgcctttcttgggatcattgccgttggcat
+gacctttgtgatcctctcaggtgggatcgatctctccgtcggttcggtgatcgcctttac
+tggcgtgtttctggcaaaagtgattggcgatttcggcctctcgccgctgctggcgtttcc
+gctagtgctggtgatgggctgtgccttcggcgcatttatggggcttctgatcgacgccct
+gaagatcccggcatttatcattacgcttgcggggatgttctttttgcgcggcgtcagcta
+tctcgtttcggaagagtcgattccgataaaccatcccatttatgacacgctctcaagcct
+tgcgtggaaaatccctggcggcggtcgcttaagtgcgatgggactgctgatgttggcggt
+ggtggttatcggcatattcctcgcgcatcgtacccgttttggtaatcaggtatacgccat
+tggcggcaacgcaacgtcggcgaatctgatggggatttccactcgcagcaccactattcg
+catttatatgctctccaccggactggcaacgctggcggggattgtcttctcgatttatac
+ccaggccggatatgcgctggcgggcgtaggtgtggaactggatgctatcgcctcagtggt
+aattggcggtacgcttttgagcggtggcgttggaacggtattagggacgctttttggcgt
+ggcgattcagggactgattcagacttacataaactttgatggcacgctgagttcctggtg
+gacgaaaatcgccatcggtattttgttgtttatttttatagcattacagcgtggattaac
+ggtgctgtgggagaatcgtcagagttcgccagtgacaagagtcaacattgcgcagcaata
+aaaacgcctctccgtgtggagaggcgcaggagattacgcgtccgggaactcacggataaa
+gcgttcgacatcttcaaccatatggtcgttgccgacaaagaatgaacggcgctggtgcag
+ggtttccgggatgatatccagaatacgctctttgccatcgctcgctttaccgcccgcttg
+ttccgccaggaatgccatcgggttgcactcatacagcaaacgcagtttgccgtccgggtg
+gctggcggtgcttgggtagagataaataccgcctttcagcaggttacggtggaaatccgc
+gaccagtgaaccgatataacgtgaggtataagggcggttggtggatttatcttcttcctg
+gcagaatttaatgtacttcttcaccccgttcggaaacttaatgtagtttccttcgttgat
+ggagtaggttttgcctttctccgggaagcgcatccgttcctggcacaggcagaaaacgcc
+gagcgaaggatcgtaagtaaaggcgtgaacaccgcatccggtggtgtaaaccagcatggt
+agaggagccgtataccacgtaacctgccgcaacctgtttgttaccaggctggaggaaatc
+ttcttccgttaccggcgtgccaacaggcgtaacgcggcggtagatggagaaaatggtacc
+gacagagacgttaacatcgatgttggacgagccatccagggggtccatcagcaccacgta
+ttttgcgtgttcacagccttcaaagacgacaatctcatcttcttcttcagaggcaatgcc
+cgcaacgatatcgcgtgctttcagtgcggctttcagtttttcattagcgaacaagtcgag
+tttctgctgaacctcgccctgcacgttctcagcaccgctggcacccaggatatcaaccag
+tcctgctttgttgatatcgcgatggataatcttggcgcccagttttattgccgacagcaa
+agcagtgagctcaccggtagcatgagaaaactcgtgctgcttttcgacaataaattcacc
+taacgttttcataaaactttccctgcaatgtttatggagtaaagcgaccgcaacaatctt
+aacaaataatctcaatgttgcgctcaggtgaatcgcgccagcaaattacggattatcctg
+aaatgcgtttctcacttgcccgacatatgcgtaaaatgagcggcagattaaaaaaggata
+gtgacgtatgcgcattcatattttaggaatttgtggcacatttatgggcggtctggcgat
+gctggcgcgccagttaggccatgaagtaacgggttcggacgccaatgtgtatccgccgat
+gagcaccttacttgagaagcaaggcattgagctgattcaggggtacgatgccagccagct
+cgagccgcagccggatctggtgattattggcaacgccatgacccgtggaaatccgtgtgt
+ggaagcggtactggaaaaaaatatcccttatatgtcaggtccacagtggctgcacgattt
+tgtgctgcgcgaccgctgggtgctggccgttgccggtacacacggcaaaaccaccaccgc
+gggaatggcgacctggattctggaacagtgtggttacaaaccgggctttgtaatcggcgg
+tgtgccggggaactttgaggtttcggctcatctgggcgaaagcgacttctttgttatcga
+agcggatgagtatgactgcgccttcttcgacaaacgctctaaatttgttcattactgccc
+gcgtacgctgatcctcaacaaccttgagttcgatcacgccgatatctttgacgacctgaa
+agcgatccagaaacagttccaccatctggtgcgtatcgttccggggcagggccgtattat
+ctggccggaaaatgacatcaacctgaaacagaccatggcgatgggctgctggagcgagca
+ggagctggtgggtgagcagggtcactggcaggcgaaaaagctgaccaccgatgcttccga
+atgggaagttttgctggatggcgaaaaagtgggcgaagtgaaatggtcgctggtaggcga
+acataatatgcacaatggcctgatggcgattgcagcggctcgccatgttggtgtagcgcc
+ggcagatgccgctaacgcgctgggttcgtttattaatgctcgtcgccgtctggagttgcg
+tggtgaagcgaatggcgtcacggtatatgacgattttgcccatcacccgacggcgattct
+ggcaacgctggcggcgctgcgtggcaaagttggtggtacggcgcgcattattgctgtgct
+ggagccgcgctcgaataccatgaaaatggggatctgcaaagacgatctggcaccttcatt
+aggtcgtgccgatgaagtcttcctgctgcaaccggcgcatattccgtggcaggtggcaga
+agtggcagaagcctgcgttcagcctgcacactggagtggcgatgtggatacgctggcaga
+tatggtggtgaaaaccgctcagcctggcgaccatattctggtgatgagcaacggcggttt
+tggtgggatccatcagaaactgctggatgggctggcgaagaaggcggaagccgcgcagta
+attcggccttagccagatatagtatgcgtaggccggataaggcgttcacgccgcatccgg
+catttgagcatagtgcctgatgcgacgcttgatgcgtcttatcaggcctacaggtgcacc
+gtatccggcaaaccatactcacatcaacaacgaaaattacccttcgttctccgctaactc
+gcgcagatactggaaaatctggcgtgcggatttcggcggcttattcccttctttctcttt
+cttcgcgttgcggatcagagtacgcagttgctgacgatcggcatcgggccacagatttaa
+tacctcagcgatggcgtcatcaccttgatcgatcagacgatcgcgcaggttttccagttt
+atggaacagcaccacctgctggttgtgacggtttttcagcttatccagcgcctgacgaat
+aggctctacgtcgcgctggcgcagcatcttaccgatgagctgcaactggcggcggcgacc
+ttccatcttaatacgctgggcgagctcaatagccgcgcgcagatccgcatctaacgggat
+cttatccagcgcgtttttccccagatcaacaatttccgcgccaaggcgttttagctcctc
+ggcatcacgtttaatttcacttttactgacccagataatttcatcgtcttcgtcttcgat
+gtcatcaccgggaacgtcgtcgagccagtcttcgggctgcttagtcatctcaggctcctt
+aaaaaaagaggctaatgttaccagttaagatgcgcactgaaaaacggttctctgttagac
+ttcagagaaactctctacattatggcacttgcaatgaaagtaatctctcaagttgaagcg
+cagcgcaagattctggaagaagcagtttccactgcgctggagttggcctcaggcaaatcg
+gacggtgcggaagttgccgtcagcaagaccaccggcattagcgtaagcacgcgttatggt
+gaagtggagaatgttgaattcaatagcgatggcgcgctggggatcactgtttatcaccag
+aaccgcaaaggtagcgcatcatccaccgatttaagcccgcaggccattgcccgtactgta
+caggcggcgctggatattgcccgttatacctcgccagatccctgtgccggcgtggcagac
+aaagagctgctggcctttgacgcaccagatctcgacttgttccaccctgcggaagtttcc
+ccggatgaagccattgaactggcggcccgcgcagaacaggcggcattgcaggcggacaaa
+cgcatcaccaataccgaaggtggcagctttaacagccactacggtgtcaaagtttttggc
+aacagccacggcatgttgcagggttactgctcaacgcgtcattcgctctccagctgtgta
+attgccgaagaaaatggcgatatggagcgtgattacgcctacaccattggtcgtgcgatg
+agcgatctgcaaacgccagagtgggttggggccgactgtgctcgccgtactttatcgcgt
+ctgtcaccgcgtaaactctccaccatgaaagcgccagtcatttttgccaatgaagtggca
+accgggctttttgggcatctggtgggggcgatagcgggtggatcggtttatcgtaaatct
+accttcctgctggattcgctgggtaaacaaattctgccggactggctgaccattgaagag
+catccgcatctgctgaaagggctggcgtcgacgccattcgacagcgaaggtgtgcgcacc
+gagcgtcgcgatattattaaagatggcatcctgactcagtggctgctgaccagctactcg
+gcgcggaaactggggctgaaaagcaccggacatgcgggcggtattcacaactggcggatt
+gccggacaaggtctaagcttcgagcagatgctcaaagagatgggcaccgggctggtggtg
+acggaattgatgggccagggcgtgagtgccattaccggtgattattcccgtggtgcagcg
+ggcttctgggtagagaatggcgaaattcagtatccggtgagcgaaatcaccatcgcaggt
+aatttaaaagatatgtggcgcaatattgtcaccgtcggtaacgatattgaaacacgcagt
+aatatacagtgtggttctgtgctgttgccggagatgaaaatcgccggacagtaaaaaaac
+tggcgcgacctgccgcgctataaactaaaaaattacacaaaatcattcgcactgcatcga
+gacggaaagtgaatgagggccggggagcgtactcgcagtacgtgacccggtcgaatgagc
+gtagtcgtcgatgaggcagtgtgaaggatgaagtgtaaataaaaaaggaactattcttgc
+agtctcctcgttggtattcagttcggcgtcatttgctgctgatctcgaagacaatatgga
+aaccctcaacgacaatttaaaagtggtcgaaaaagccgataacgcggcgcaagtcaaaga
+cgcgttaacgaagatgcgcgccgcagcgctggatgcgcaaaaagcaacgccgccgaagct
+cgaagataaatcaccggacagcccggaaatgaaagatttccgccacggtttcgacattct
+ggtcggtcagattgacgacgcgctgaagctggcaaatgaaggtaaagtaaaagaagcgca
+ggctgctgcagagcaactgaaaacgacccgcaattcatatcacaagaagtatcgttaatt
+cctcatttccctgttgcctgcactcaggtaacagggaacttatcatcgcaaatgatgcac
+cacctgattgctgctgccgcgccagatcagggaagggtcttttaaatcctgcacaaattt
+gccgtcgaccagcacgttaatcaaatcaacaacctgcatttgcgcagcgttgagttcgtc
+gagtttatagcctgtccacacccagatgtctttacccggacactcggcgcggatgcgttg
+taccagtttcagaatatccggcacgttttgcggatgcagcggatcgccgccggagaggga
+aataccctggcgtttgatacgagtgtcattcagatcgttaatgatctggtcttccattgc
+tttggtaaatggctgaccggaatttacccgccatgtgcttttgttatagcaaccggggca
+ttcatgaacacacccggagacaaacagggtgcaacgagtgccggggccgttgacgatgtc
+gacaggatagtactgatgataattcattatttcgcctggcttatcagtccgcgtgtaggc
+tgcatccggtaatcaatgcctgatgcgacgctgtcgcgtcttatcagacctggagcaatt
+gccaaatgtaggccggataaggcgtttacgccgcatccggcatttgcttagctcagagtg
+aagattaacctatctgcccattccccaaatgtttaacgcggcgcttaacttcttcctgct
+taccagcgttaaacggacgtgcatccgggctacctaaatatccgcacacgcggcgagtta
+ccgacacacgggaggcgtcatggttaccacatttcgggcaagtgaagcctttgctggtgc
+actcgaactcaccggtaaagccacactcgtagcactcatcaatcggtgtattggtgccgt
+aatacggtacatgctgatagctgtaatcccagacatcttccagcgccttcaggttgtgct
+gaatgtttggatactcgccgtagcaaatgaaaccaccgttcgccagcggcgggtaaggcg
+cttcaaagtcgatcttgtcgtacgggttcaccttcttctccacatcgaggtggaaactgt
+tggtgtagtaacctttatcggtcacgcccggcaccacgccaaactcagcagtatcgagac
+ggcagaagcgatcgcacaggttttcactcggcgtgctgtagagactgaaaccataacccg
+tttcttctttccactgatccactgcctgacgcagacgttcaacaatggcgatacctttcg
+cgcgaagctgctcgttgtcgtaaacatgctcgccgccgaacagcgcgttaatggtttcgt
+ggatgccgatgtaacccagcgaaatagacgcacgaccgtttttgaagatttcagaaacat
+catcgtcagcattgagacgcacgccacaagcaccttccatatagaggatcggggccacgc
+gcgctttcacgccttcgagacgagcgatacgggtcatcagcgccttacgtgccagcacca
+gacgttcatccagcagcttccagaaggtggcttcatcgccttttgcttccagagcaatac
+gcggcaggttcaggctgatcacgccgaggttgttacgaccatcgtggatctgctcgccgt
+tttcattttcccacacgccgaggaagctgcggcagcccatcggagttttaaacgaaccgg
+tgactttcactacctgatcgtagttcaggatatccggatacatgcgcttgcttgcgcact
+ccagcgccagctgtttgatgtcgtagttcggatcgccttttttatggttcaggccatcgc
+gaatcgcaaacaccagtttcgggaacaccgcagttttacggtttttaccgaggcctgcga
+tacggttacgcaggatcgattcctgaatcaggcgcgattcccagctggtgcccaggccaa
+aaccaaaggttacaaacggcgtctgaccgttggcggtgtgcagggtgtttacttcgtact
+ccagtgactggaaggcatcgtagcactctttgatggttcgagagttagcgtagccttcgg
+cgtccgggatgttccactcttctgcggtcttgcgatgtttgttgtagctggcagtgacaa
+acggtgccagcacttcatcgatacggttaatggtggtgccgccataaatatggctggcaa
+cctgagcaataatctgcgcagttaccgcggttgccgtagagatcgacttcggcggttcaa
+tctcggcgttccccattttaaagccctgggtcagcatgcctttcaggtcgatcaacatgc
+agttgaacatcgggaagaacggtgagtaatcgagatcgtgatagtgaatatcgccacgct
+catgtgcctgcaccacgtcacgcggcagcaggtgctgacgtgcatagtgtttagccacga
+tcccggccagcaggtcgcgctgggttggaatcaccttgctgtctttgttggcgttttcgt
+tgagtaacgaggcgttggtctgctcgaccagaccacggatctcctggttcaggcgaccgc
+gtttttcacgttcaatgtcgcgatcgtgacggtactcgatgtaagcacgagccagttgtt
+tgtatggacctgacatcagctgattttcaactgcggtctggatctcattgatatccacct
+ggttgcggccctgcatctgctcgctgacaaccgcggcaacagtggcgcaataatcggcat
+catcgacttccgctgctttagctgcacgcagaatcgcttctttgatgcgctctgatttaa
+acggcactttgcagccgtctcgtttcatcacatgcggtgtcatgatcgctccatattttt
+aagaacaggttatccacagaaattgggaaaggcgttttccggttttttcgtttcgttttc
+cggtgctttccgcaatcgccatccgcttatccacaacgccgcacctttttcgtggggagc
+tgtagtagcaattatagtcgattaatacaacatattgggttgggacgcattttaaagtct
+atatatagtgctttgcatcaaggatgtttgagctttttttgatgtagctcaaagtaaaaa
+gcagagcgtacggatgacgggcgctacagcgatatgtaaattttttaatgaatttgctgg
+ttgaaaaatcaacaaaaacaacatactgacagacaaaaccccggaatgaccggcattacc
+ggggcttagggaagatttacttctgtaaccaccagacagcctcaaaaggccgtaaattca
+tggcacagggttgtggtgaggcttcttcgtagttatgcatcacaagctgccagttgccgc
+gcatttgccctgcctgccagggttggatctcacggctaaggttggcaatgaccagcaagg
+tttgccccttccattcacggcgatagcaccacaatacagggctgtttggcagcagatcct
+ggtaattgccccatgtcaggatggcttcctgcttacgcagtgcgattaacttttggtagg
+tgtaaaacaccgaggaatcatcggccagcgcggcttctacgttgatttgttgatagttat
+cgcccaggccaatccacggttcgccagccgtaaacccggcattatcgccgttgctccatt
+gcatgggcgtgcgactgttgtcacgggatttactggcgaggattgccaataactcgtcgg
+catcacgcccatcgttgcgcagctcggcaaacatattgaggctctctacgtcgcgatagt
+cagtaatgcgcgtgaaatgcgggttggtcatgccaatctcttcgccctggtagatatacg
+gcgttccctgcatgccatgcagcaccatcgccagcatttttgccgcaggcacgcggtatt
+caccttcatcaccaaagcgagaaacaatgcgcggctgatcgtggttacaccagaacaagg
+cattccatgctacgttgtgcattccttgttgccagtggcggaacaatgttttcaacgcca
+caaagtcaggtttagccagcgtccatttttcaccaccgggataatcgaccttcaggtgat
+gaaaattaaaggtcatcgacaattcactgcctgtcagagccgcgtatcgctggcaatgct
+caaggctggtggaggacatttcacctacggtcattaacccgcgtggcgtaaacacatcgc
+ggttcatctcgtgcaaaaactcgtgtgctcgtggcccgtcggtgtagaagcgacgcccgt
+cgccgtccaggtcttcagggaaacgcgggtctttggagatcagattcaccacatccaggc
+gcaacccgtcgaccccacgatcggcccagaactcacagacttttttcagctctgcgcgta
+ccgctggattctcccagttgagatccgcctgttctggtgcaaagagatgcaaatagtact
+gttcgctttccgcatgccagcgccacgcactaccgccaaattttgaacgccagttgttcg
+gtggcgtttctggttctccatcgcgccagatataaaactggcggtaagggctttctttgt
+tcagcgcctcgcgaaaccaggcatgttgggtagaggtatggttaaacaccatatcgagaa
+tgatacgaatcccgcgcgattttgcctgcgtcaccagttcgtcaaaatcgtccagcgtgc
+cgtaggtgggatcaatcgccgtatagttcgctacgtcgtaaccgttatcgacctggggag
+agacataaaagggggttagccagatggcatcaacgcccagtttatgcagatagtccaggt
+gttggataacgccacgtaaatcgccggtaccgctacccgtggtgtcctgaaaactctttg
+gataaatctggtagataacgccgttttgccaccagtggggaagatgagtcattacgttat
+tcctgcgaatgcgagggggcgcaattgcgccccgaagaaaattaaacaatgtccagcgtg
+cccaggcggtatttccgctgatagataaacgaggtgagtacaatcgggatgatgatggcg
+atagccattgccagcgcaaacacctgccagtagctcggttgaatcgagagaattcccggc
+aggccgcctacgccgatgccattcgccataacgccgttcaggccgcatagcaatcctgcc
+agaccagaaccaatcatcgcgcacagcatcgggaagcgatatttcaggttgatgccgtac
+attgcaggctcagtgaccccaagccaggcggagatagcggcaggcacggagatctcgcgt
+tcattgtgcttgcggctggaaatgataatgcctatcacggcggagccctgagcgatattc
+gacagcgcaatcagcggccacactggcgtaccacccatgctttgaatcatctgcaaatca
+atagcaagcgtggtctggtgtacaccggtgatcaccagcggggcgtacaggaagccaaac
+aatgctgcgccaatcggagcaaagctgccggtcatcaggtgacgtaccgcaaaggcaacg
+ccatcgccaatcatgcgaccaaacggaccaatcagcgcatgggcgaggaacaccgcgagg
+atcagcgaacagacgggtaccaccaccagatagaggtaatccggcacgatgcgtttaagg
+cgagtttcaataacgcccagcgccagtccggctaacagtgccgggatcacctgcgcctga
+tagcctactttggcgatgctgaacatgccaaagtcccacacttccggcagctgctgcccg
+agcagataagcgttcatcagctgtggagaaaccagtgtcacgccaagcacgataccaagg
+atcggcgtgccgcccatttttttcaccgctgaccagcaaataccgaccggcaggtagaag
+aagatcgcttcaccgatcaaccacagaaaatcgtagatcgtttgcagggaagggtacatt
+tgcgccagcgtctgaccgttgctcatgggcaaatcgccgatcacattgcgaaaaccgagg
+atcaaaccgccgctaatcaacgcgggcagcaacgggaagaagatcaccgcgaaatgagag
+atcaactgctcatgccatttcatattatgccgggcggctttttttacctgctctttatca
+acctgcgcctgtccggttgacgcaatcagtgcttgatagtaatcacccacgttggtgcca
+atcaccacctgaaattgcccggcattggtgaaacagcctttcaccatagggagttgctca
+atttctttcggtctggcattggccggttggttgaggacaaagcgtaggcgagtaatacag
+tggctcaccgtcgcaatattgccgcgcccgccgaccagttcaatcaaccgatcgatatcc
+gtttggtttattttgctcatcataaagccccatggcagatgacatttttggttggctgca
+gaatatattgcgcggaaaaatttaaaaacgggaacgttcccgaaacgcagcgaagatcac
+aatttatcgttcaggaaacgatcaggacagggtggcggggatgatgatttgttgcggttc
+gctgcgcccggttacctgcgcgatcaactggcaagccgcctggcgtccagcttcggcgta
+accgggatctacggttacgatctccggatggaggaatttcattaacggcgtattaccgac
+gctcgccagttgcaaggtgtcgatgcgttgctcttgcaggtatttacttgcgccaagtgc
+cagcgtgtcggttgcgcacagtaaggcggtagtttcaggcgtaatcacttttgcaacgtt
+ctcatagccttgcttcatagcaagccctggcagggcggcaacgggatgcagtttatgcgc
+tttgcagaacgccaggtaggcttcgtgacgtcgcttaccggttgtcacgtcactgtgcgg
+cacgccgagataactgatattacgatgcccctggtcatacagccgttgcatcaggatttt
+gattgccccttcgtcgtcataacagaccgaagcaaagccttttgcgtcacgcgccagcag
+aaccagcgatgactgccagtgggctaacatttcttctgttatgccagtaaaaccgaacag
+cactacgccgtcgatattacgccgtttcagcactcccaaatgttcggcaactaattgcgg
+ggaaaactgactttccatcatgattgggtcgtaaccttgttcatagaacgctggcagcat
+ggtttgaacggcgagattttctgacaacgaatccagacgggtaacaatgatggcgaccac
+tttatcgctttgcccacgcatagcgcgcgcagagcgggaaggggaaaatccatgctgatt
+catcactgcttcaacacgctcgcgggtgagctggctcacgccgctttcgttattcagcac
+ccgggaaactgtagatttccccacgccgcttaagcgcgcgatatctttgatggtcagccg
+attttgcatcctgttgtcctgtaacgtgttgtttaattatttgagcctaacgttacccgt
+gcattcagcaatgggtaaagtctggtttatcgttggtttagttgtcagcaggtattatat
+cgccatagatgctacgaatattattggattctccttattatttgcggcgcttttttcact
+taccggaggttatatggaacctgatcccacgcctctccctcgacggagattaaaactttt
+ccggtaagcccgtcttttcacggcgttaccggatgcgtaaggccgtgacgttttaacgtc
+cctgctcagctttattaccttcaggtaaggcttcgccacgcctgaagacatttctgtact
+gtttcagacagtgcggagggactccttatgtttaaagaaatttttacccggctcattcgc
+catttaccttcccgtctggttcatcgtgatccattgcctggcgcgcagcagacagtgaat
+acggtggtcccgccgtccttaagtgcgcattgcctgaaaatggcggtgatgcccgaagaa
+gaattgtggaaaacgttcgacacccatccggaagggttaaatcaggcggaagtggaatct
+gcccgcgaacaacatggtgaaaataaattacccgcacaacaaccgtcgccgtggtgggta
+catttatgggtctgctatcgcaacccctttaatattttactcaccattctcggcgctatt
+tcttacgccacggaagatttatttgctgcgggcgttatcgcgctaatggtcgctatttct
+acgttgctgaactttattcaggaagcacgttccactaaagcggcagatgccctgaaagcg
+atggtcagcaatactgcgacggtgctgcgcgtaattaacgacaaaggcgaaaatggctgg
+ctggagatcccgatcgaccagctggtgcccggcgatattataaaactggcggcgggagat
+atgatcccggcagatttacgtatcttgcaggcgcgggatctgttcgtcgctcaggcgtcg
+ttaaccggtgagtctctgcccgtagaaaaagccgctaccactcgccagccggagcacagc
+aatccgctggagtgcgacacgctgtgttttatgggcaccaccgtggtgagcggcacggca
+caagcaatggtgattgctacaggtgccaatacctggtttggtcaactggcggggcgtgtt
+agtgagcaggaaagcgagccgaatgcctttcagcaagggatcagccgcgtcagtatgctg
+ctgattcgctttatgctggtgatggcaccggtggtgctgttaatcaatggttacaccaaa
+ggcgactggtgggaagcggcgctgtttgcgctttcggtcgcggtaggcctaacgccggaa
+atgttgccgatgattgttacctcgacgctggcgcgcggcgcagtaaagctgtcgaaacag
+aaagtgatcgtcaaacatctggatgctattcagaactttggcgcaatggatattctgtgc
+actgataaaaccggcaccctgacgcaggataaaattgtgctggagaatcataccgatatc
+tccggtaaaaccagcgaacgcgtgctgcatagcgcgtggttgaacagtcattatcagacc
+ggacttaaaaacctgctcgatacagcggtgctcgaaggtacggatgaagagtcagcgcgc
+tcgctggccagtcgttggcaaaaaattgatgagattccgtttgatttcgagcgtcgccgg
+atgtcggtggtagtggcagaaaataccgagcaccatcagctggtttgcaaaggtgcattg
+caggaaatcctcaatgtgtgttcgcaggtgcgtcacaatggcgagattgtgccgctcgat
+gacatcatgctgcgtaagattaagcgggttactgatacgctgaatcgtcaggggctgcgc
+gtggttgcggtggcgacgaaatacctgccagcgcgtgaaggagattaccagcgggcggat
+gaatccgacctgatcctcgaaggatatattgcttttcttgatccgccaaaagagacaacc
+gctccggcactgaaggcattaaaagcgagtggaattaccgtaaaaatccttactggcgac
+agtgagttagttgcagcgaaagtgtgccatgaagtggggctggacgcgggagaggtggtc
+attggtagtgatattgaaacgctatctgacgacgaactggcaaatcttgcacagcgtacc
+acgctgtttgcccgcctgacgccgatgcataaagaacgcattgtgaccttactgaagcgc
+gaagggcatgtggttggctttatgggcgatggtattaatgatgcgcccgccttacgcgct
+gcggatatcggcatttctgtggacggcgcggtagatattgcccgtgaagcggctgatatc
+atcctgctggaaaaaagcctgatggtgctggaagagggggttattgagggacgtcgcact
+ttcgccaacatgctgaaatacatcaaaatgacggcgagctctaacttcggtaatgtgttc
+agcgtgctggtagcgagtgctttcttgcccttcctgccgatgttgccgttacacttgctt
+attcagaacctgctgtacgatgtgtcacaggtggcgatcccgtttgataacgtcgacgac
+gagcaaattcaaaagccgcagcgttggaatccggcggatctggggcgctttatgatcttc
+ttcggaccgatcagctcgatcttcgatattttgacgttttgcctgatgtggtgggtattc
+catgccaacacgccggaaacgcaaacgctgttccagtcgggatggtttgtggtgggctta
+ctgtcgcaaacgctgattgtgcatatgatccgcacccgccgtgtgccgtttattcagagc
+tgtgcatcgtggccgttaatgatcatgaccgtgatcgtgatgattgtcgggatcgcattg
+ccgttttcaccgctggccagttatctgcaattacaggcgctgccgttaagctatttcccg
+tggctggttgcgattctggcagggtatatgacattaacccagttggtgaaagggttctat
+agccgtcgttacggctggcaataaagaataaactgggcacgatagccccgattcagattg
+tagacaaagtgagttttgttcatgccggatgcggcgtaaatgccttatccggccaacaaa
+ttcaataaattgcaggaatcacgtaggcctgataagcgtagcgcatcaggcgattttgcg
+tttgtcatcagacttaatccgggcatgatagcccggatttccatcaagattagcgacgaa
+cagcgatcgcttcgatctcaatcttcacgtctttcggcagacgggcaacttcaacgcaag
+aacgtgccgggaaggtggcgttgtgttcggtgaagaaggcttcgtaagtggcgtttacgg
+ttgcgaagtcgttcagatcttttacaaacacggtagttttaacgatgtcgcccactttca
+ggccagcggcttcgacgatcgcttttacgttatccagcgactgacgtgcctgtgcagcga
+cgtctgccggtacttcgcccgttttcggatttaccgggatctgaccggaggtgatgatca
+tattgcccagatcaacgccctgtacgtaaggaccgatagctgccggtgcattttccgtcg
+cgatagttttgctcatgatttctcctttattacagcggtaaaaagtctggctcattatag
+ggagccagacttttattaccaaccgcaattaattggccagcaccacattatgggaaaact
+ctttttcacagtatttgcatttgagcgcgatatcattggcgcgttttcgcacggcaaagc
+tggatgaaaccggttcggcatggctgatacagttgctgttcgggcagaccagcacattgt
+cgatgcgctccggcagacttgggcgcgatttacccaccacttcatagttgtcgatacggt
+taaccgtggcttgcggcgcatacaatgccagttgatctacttgatcttcactcaaaaagg
+tattttcgattttgatcagatctttgcggcccatctcgccagaaggcaggttcagaccaa
+tggtgatgcgctgatccgtttcggtcagcttgaacagactcaacagcttaaaaccgatct
+gggcggggatatggtcaattaccgtgccgcgtttaatagcttcaacctgcaatttattat
+cgtgtgtcatctctatttccccttacagtaccagatcgcgattcagaaccagtgccagta
+acgcctggcgagcgaaaatcccgttgcctgcctgctggaagtaccaggcgtgtggcgttt
+tatcaacatccgtcgcaatctcatcaacacgcggcagcggatgcagcactttcatattgg
+ctttggcgttgtggagatcgctggcgcgaagaacaaactgcgctttcacgttggcgtact
+cggacgggtccagacgctctttttgcacgcgggtcatgtacaggatgtctacttccgcca
+tcacttcttcaatagagctgtgcagactccatgcgatccctttttcatcgagcatatcca
+gaatgtattgcggcattgccagcgcgtccggcgcgatgaagtaaaaacggttgccgtcga
+acttcgctaacgcctgagtcagggagtgaacggtgcggccatatttcaggtcaccaacca
+ttgcgacgtggagattgtccagacgcccctgggtttcctgaatagtgaataagtccagca
+aggtttgcgtcggatgttggttggagccatcaccggcattcagtaccggtacattgccgg
+aaaactcggtggccaggcgcgccgcaccttcctgcggatgacgcatcactatcgcatcga
+cgtaagtgctgataaccgaaatggtatcggccagcgtttcgccctttttacccagtgatg
+tattggcgctgtcggagaagcccaccacgctggcccccaggcggtgcatagatgtttcga
+aagagaggcgggtacgggtagaggcttcgaagaaacagctggcaatgactttgtgcttca
+acagctctggttgcgggtttgctttcagtttcgccgctgtcgccagcaccagattaaggt
+catcgcgactaaggtcgtttatggaaatgatatgtttctgatatagcggattagccatct
+tttatctcctgacgcctgggcaaaaaaaagcccctcgattgaggggctgggaatgggtga
+tcaacgggaagaaaaacggcaggccagcgtcttttttcagacgcggtaagacaaaatgtc
+gaacacactgaaccatacatcctcccggcaaattgtccggcattatactcatcgtcagaa
+gcggcgcaagcatttgatgcaatattttgtcagcgcaaacggtttatttgaattaaaagt
+caaggtatatgcatttttatttgatgtgattctgcaggggaactgtccttcggtatcaat
+aattgcagacattccctgctttttcctttttcactttcacgcaatcagatatgcatttta
+ttccattcatccgacttatagggcggagtgtgaaagcgaacggctaacactattgcttac
+tgctcagggatgcgcgctatcactttaatttcaaaatcaaagcctgccagccatgtaaca
+cccaccgccgtccagtttggataaggtggggcgctaaatatttcatttttcaccgtcatg
+atgtcttcaaattggttttctggatcggtatggaagctcgtaacatcaatgatatcgtca
+aaagtgcatcccgcagctgccagggtcgcatgcaaattatcaaatgccagtctgacttgt
+tgctgaaaatcgggttctggtgttccgtcctctcgacttcctacttgcccggaaacaaac
+agcaaatcgccggaacgaatagccgcagaataacgatgctcagcatatagtgaatgtcgg
+ccagcagggaaaacagcggttctttctaccatttggttatcctcaagatttacgacatga
+acagaagatttctctttaccgggagccgcttttagcggacgacgtgagtaaacaaaaccc
+agacatcatggataatggctgggcttaattgagcgtagtcggttatgcgccaaacgcgcc
+atcaatggtatgcatcgcgccggtaacaaaactggcttctggccctgctaaccatgcgac
+cataccagcgacctcttccggttgcccatgtcttttgatagccatcaaactatgcaacat
+atcgcgcattggcccgttggcgggattagcgtcggtatcaattggccctggctggacgac
+gttaatggtgatcccacgcggtccaaaatcacgggccagcccgcgcgccatgccttgcag
+ggcagatttgctggcggcataagcagccatgcctgcaacaggcatacgatcgccattcac
+ggagccgatgattaagatgcgcccgccttcgggcatctgccgggcggcttcaacagaggc
+atgataaggagcatgaatattgattttgaaaaggcgatcaatatcgtcggcatttaattc
+cagggcctcgccaaagacgccaatacctgcatttaccaccaggatatccaatgcgccgct
+cttacgaacgacatcaatgacagcgtctctgtcagcactatctgtgaatactgctgtcgc
+tccagtctcttgtgccaggcgtttagcggcatctttcgaccccgcataggtgaatcgtac
+attggccccatcggtgacgaaacgacgtacgatagcggcaccgataccacgactgccacc
+gaggatgagaactgtcttacctgtaaaagcgcccataaggactccttgatttattatgta
+acatgcattacaaaactgttttaactttctgtcaacaggttttgtaatggtcactaaaaa
+acaatctcgcgttccaggtcgtcccagacgtttcgctcctgagcaggcaatctctgcggc
+aaaagtgctttttcaccaaaaaggtttcgatgctgtcagtgttgctgaagttactgatta
+tcttggtattaaccccccgagcctctacgcggcttttggcagtaaagctgggttatttag
+ccgtgtactcaatgaatacgtcggtacggaagctattccgcttgccgatattcttcgtga
+tgatcgtccggtaggcgagtgcctggttgaggtattaaaagaagcggcgcgcagatatag
+ccaaaacggcggctgcgctggctgtatggttcttgaaggtattcatagtcatgatccaca
+agcgcgtgatattgccgttcaatattatcacgccgcagaaacgaccatttatgactacat
+cgccaggcggcatccacaacgcgcacaatgtgtgactgattttatgagtaccgtgatgtc
+tgggctttctgcgaaggcacgagaggggcactctatagaacaactctgtgcaacagctgc
+aatggcgggggaagcgataaaaactattcttgaggagtgatgcgggccttgacccgaaag
+gcgggaaagcgcctgccgataagttgtgataagacaataattcacgcgttaaggctagcg
+gaattgattatcttttcgtataacgatagaaatgaaacgttgttttaattaaggagtgga
+aaagatgatcatcggaaatattcataatcttcagccgtggctaccccaggagttacgcca
+ggcgattgagcatatcaaagcacacgttacggcagaaacgccaaagggcaagcacgatat
+cgaaggcaatcgactgttttatcttatctcggaagatatgaccgagccgtacgaagctcg
+ccgtgcggagtaccatgcccgctatcttgacattcagattgtgttaaaaggtcaggaagg
+catgaccttcagcacgcaacctgcaggcgcgccggataccgactggttagctgataaaga
+catcgcatttttgccggaaggcgttgatgagaaaacagttattctaaatgaaggtgattt
+tgttgtgttttatccgggggaagtgcataaaccgctgtgcgcagtgggcgcgccagccca
+ggttcgcaaagcagtagtgaagatgctgatggcgtgatgacttttcgccgtaaataactc
+aaggtttacggcgagtttgtgaaaagagcgttttttgatatttttttgtgagtaaaattt
+gtaatgcttagacgttcttattcactcaaggagttcgtcatgagcaaaatatcagattta
+aattattctcaacacattacattagccgacaattttaaacaaaaaagtgaagttttaaat
+acctggcgtgttggaatgaatgattttgcccgtattgccggggggcaggataacagaagg
+aatattctttctcctggagcatttttagagtttttggcaaagatatttaccctgggttat
+gtggattttagcaaacgctccaacgaagcgggtagaaatatgatggctcatattaagtcc
+tcatcttattctaaagatactaatggcaatgaaaaaatgaagttttacatgaataatcct
+gtaggggaacgagcggattcacccaaggtgattatagaaatttcactttccactatcact
+actatggggactcgtcaaggacatacagccattatatttccacaacctgatggttcgact
+aaccgttatgaagggaagtcctttgaaagaaaagatgagagttcattacacctgattact
+aacaaggttctggcgtgttaccaaagtgaagctaacaagaaaatagcgcgtctattaaat
+aataatcaggagttaaataatctacagaaattaaataatctacagaagttaaataatcta
+ctgaagttaaataatatacaggggttaaataatcctcaggagttaaataatccgcagaat
+ttaaatgattctcaggagttaaataactcgcaggaattaaatagtccacaggagttaaat
+gatccgcaggagttaaataattctcaggacttaaataactctaaggtgagttgtacagtt
+tcagttgattctacgattacgggtttattaaaagaaccattgaataatgcattattagca
+ataaggaacgaacatctgctattaatgcctcatgtatgtgatgaatcgatttcatactta
+ctgggcgaaaaaggtatacttgaagaaatagataagctctacgcattaaatgatcacgga
+attgataatgacaaagtaggtaacaatgaaattaatgacatcaaagttaacctgtctcat
+attcttattgattccttagatgatgcaaaggttaaccttacaccggtcatcgattcgatt
+ctggagactttttcaaaatccccatatattaatgatgtaagaatactggattggtgtttt
+aataaaagcatgcaatattttgatgatactaaaaagataaagcatgcatgctccgtaata
+aatcatattaatcttcgcagcgatcagtctaaaatagctgagacattatttttcaatctc
+gataaagaaccctataaaaatagccctgaattacaggggttgatttggaataagttggtt
+gtatatgtcaatgaatttaacttaagtaatcgagaaaaaacaaatttaatacaaaggcta
+tttgataatgttgagtctatatttaatgaagtacctgtcagcattttagtgaatgatatt
+tttatgaatgatttctttatgaaaaatcctgagatgattaattggtacttccctcagtta
+cttaagagttatgagggtgaaaagatttattttgataatttaaaatatgatttaaatgat
+aatgataaggaatctaataaagaaattttgaagaatcaaccagataatgttatcaaagaa
+aaactgaataatgaatacaaacttagatttagaatgatgcaaactatcttgcaatcgaga
+gttaatgtattaccatatattaatgaacagcgtttaaataaactaaatccaccggaaaat
+ttacgtatagcaatagaacactttgggtggaagaatagacctatcactgcataaaataat
+gtgatgccgggatggtttgtatttcccggcatctttatagcgatagcaattatttactga
+gcgtcgcgaccatcaccgctttgatagtatgcatacggttttccgcctgatcaaaaacaa
+tgctggcggcagattcgaagacctcatcagtgacttccataccgccatgtaggccaaatt
+cttccgccattttcttgccaagcgtcgtttggtcgtcatgaaacgcgggcaggcagtgga
+ggaatttgacctccgggttaccggtcaactgcatcatcttgctgttcacctgatattcac
+gcagcaatgcaatccgttccgcccatttctcttttgcttcccccatcgacacccacacat
+cggtatagataaagtcagcaccttcaactcccttcgcgacatcttcagtcagcgtaatat
+tcccaccattttgctgtgccagggcgcggcattccgtaaccagcgcagcttccggccagc
+acgcttgtggcgcgaccagacgcaaatccagaccggtaagcgccgcagcttcgagcatcg
+aattgcccatgttgttacgcgcgtcacctgcatagaccagcgtcatttcgttgaacgctt
+tgccgggcaaatgctcctgcatggtgagaagatccgccagcagctgcgtgggatggaact
+cattggtcaggccattccataccggcacgctagcgtattccgccagtgtttcgacaatct
+cctgaccatagccgcgatactgaataccgtcatacatgcgaccaagcacgcgggcagtgt
+ctttaatcgactctttatgaccaatctggctgccgcttgggccgagataagtaacgcgag
+caccctggtcatatgcggcaacttcgaaagagcatcgggtacgagtcgagtctttttcga
+agatgagcgcgatgtttttaccagtgagtttggcttcttctttaccgcttttcttatcgg
+ctttcagcttcgcggctaactgcagcaggctgttgagttcagctggcgtgaaatcgagta
+atttcaggaaatgcttatgataaaacccggacatagatccctcctgtggctaacgcctca
+atgaattaaaattcaatttatatggatgattattcatttgcaagtctaaagcataaatct
+ttgtcacaaaggtggaggcaatgtcagtggtgtgtgacaataagagtatcggcaggacat
+taagaggaatgagccatggcaaacccggaacaactggaagaacagcgtgaagaaacacgt
+ttgattattgaagaattactggaagatggcagcgatccggacgcgctgtacaccatcgaa
+caccatctttccgcagacgatctggaaaccctggaaaaagcagcagttgaagcgtttaaa
+ctcggttacgaagtgaccgatccagaagagctggaagttgaagatggtgatatcgtgatt
+tgctgcgacatcctcagcgagtgcgcgttgaatgccgatctgatcgatgcccaggttgaa
+caactgatgacgctggcagagaaatttgacgttgagtacgacggatggggcacttacttt
+gaagatcctaacggcgaagatggcgacgatgaagattttgtcgatgaagacgatgacgga
+gttcgccactaattaagcgtagcgcatcaggcccaggtagttcctgcaacctggtgaatt
+tgtagcccggataaggcattcatgtcacatccggcataaacaaaacgtacgttgttaatg
+ttcgaatgcccgcgagttgaacacgcgggcatttttttagagttcgcgcaacatccgcac
+ttcacaatcgacatggcccgtgcagccaagcgcatagtcgatatgctcaaagcccaaatg
+ctcataaagcgcaatggcttcctttaaaaaagcggtcgtttccagatagcagcgtttgaa
+acccatctctcgcgcctgctccatcgccattaaggccagtttttttgccagccctttgcc
+gcggatagccggaagaaaatacatcttttgcagttcgcaaatatccgactcactcccggt
+taatggcgctatcccaccgccgccgaccacttcaccctcgtactcaacgacccaatatgc
+atggccaggctgactatatacttgatacagctcgtcaagattcggatcggcgacggtgta
+gcctttatcagcggtaagaccgtattcggcggatacctgacgaatgacgcgggcgatagc
+aggattatcctgcagcgtcaggcgacgcattacaggtgattgcggcgcaatgttattcat
+agtttaacccaataaaaataaagtaattatacatttgtttaataccactctcttcttacg
+tacgcaagcgacttataaagtaataaagtttttgccagcctattactgataagagtattg
+taacgtggcagaacattttactgtctgtatatataagttatatcaatggattttttaatt
+cagggaatttttatggctcaagttattaatgaaatggatgttccgtcccattcgtttgtt
+tttcatggtacaggtgagagatattttcttatttgtgtggtgaatgtgttgttaacgatt
+ataacgctaggtatctatttaccatgggcattaatgaaatgtaagcgttatctttatgct
+aatatggaagttaacggacaacgattttcttatggaattaccggtgggaatgtttttgtt
+agttgtcttttttttgtttttttctatttcgcaatcttaatgacagtgtcagcagatatg
+ccgcttgttggttgtgttttgactttgttactgttggttttgcttatatttatggcagca
+aaaggactgcgtcatcaggccttaatgaccagtctcaacggcgtaagatttagttttaat
+tgctctatgaaagggttctggtgggtgacctttttcttgccgattttaatggccattggg
+atggggactgttttctttatctcgacaaagatgctacctgccaatagttcaagtagtgtt
+attatatccatggttctgatggcaatagttggtattgtttccattggtatttttaatggt
+actttatatagtctggtaatgagttttctctggagtaataccagtttcggtatacatcgt
+ttcaaggtgaaattagatactacgtattgtataaaatatgccattctcgcatttttagct
+ttattgccttttctcgctgttgctggttatattatcttcgatcaaatattaaatgcgtat
+gatagttctgtatatgcaaatgatgacattgagaatttacagcaatttatggaaatgcaa
+cgtaaaatgataatcgcgcagttaatctattattttgggattgctgttagcacaagttat
+ttaacggtgtctttgcgaaaccattttatgagcaacctgtcactgaatgatgggcgtatt
+cgttttcgcttaactttaacgtaccacggtatgctttatcgcatgtgtgcgttggtggtg
+atatccgggattacgggcggtctggcttatccactgctgaaaatatggatgattgactgg
+caggcaaaaaatacgtatttgctgggcgatttggatgaccttcctttaatcaataaagaa
+gaacaaccagataaaggcttcttagccagtatttcacggggagttatgccttctttacca
+tttctgtaagagataaaaaaggccggagcatgctccggccttcgttttcatcactgtgtt
+ttgattacagcgcggcgataacagcctgctgttcaatcagtttcgctttcgcttccgcat
+agccttccagcttctcacgctctttcgcgatgaccgcttccggtgcgcgggcgacaaagc
+cttcgttcgccagtttgttctcgatacggctgatttcaccttcaatcttcgccacttctt
+tcgccagacgcgccagctcatcttctttgttgatgaggccagccatcgggatcagcagct
+ctgcaccgtcgatgatcttcgtaacggaaaccggacctttgtcatcggcaggcagcacgg
+tgatactttccagacgcgccagggtttgcaggaagccacggttttcatttacgcgacgtt
+ctgcatccgcgctgcaaccacgcagcagcagctccagcggtttgcccggcgcgatgttca
+tttctgcacggatgttacgtaccgcaacgatcgcctgtttcagccattcggtgtcggcca
+gtgcggcttcatcaacctgagatgcatcgtactgcgggaacggctgcagcatgatggtgt
+cggcagtgataccgcaaagtactttcacacgctgccagatggtttcggtgatgaacggaa
+tgatcggatgcgcgaggcgcagcagaccttccagtacagtcaccagcgtatggcgagtac
+cgcgcagttctgcttcggtgccaccgttcattaccggcttggtcagctcgagataccagt
+cacagaactggttccaggtgaactcatacagaatgcctgcggcgatatcgaagcggaagc
+tgtccagcgcttcgcggtacgctttgatggtctggttgaactccgccagaatccagcggt
+ccgccagcgacagcgtcatttcgccgccgttgaagccgcaatcctgaccttctgtgttca
+tcagcacaaagcggctggcgttccacagcttgttacagaagttacggtaaccttccagac
+gcttcatatcccagttgatgtcacgaccggtagacgccagcgccgccagggtgaagcgca
+gcgcgtcagtaccgtgcggctcaataccgttcgggaactgcttctcggtgcgcttacgga
+ttttgtccgccagctgcggctgcatcatattgccggtacgtttttccagcagttctggca
+gcgaaataccgtcaaccatatccagtgggtcgataacgttacccttggatttggacatct
+tctggccttcgtcatcacgaatcaggccggtcatgtaaacggtgtggaacggcacctgcg
+gtttgccattttcatctttgatgaagtgcatggtcatcatgatcatgcgggcaatccaga
+agaaaatgatgtcgaaaccagataccatcacgctggttgggtggaactgacgcagggcgt
+cggtattttccggccagccaagggtagagaaggtccacagcgcagaagagaaccaggtat
+cgagaacgtcttcgtcctgacgcaggacaacatcagcaccgaggttattttctttacgca
+cttcgtcttcgttgcggccaacataaacgttacccgcttcgtcataccatgccgggatac
+ggtgaccccaccacaactgacgagagatacaccagtcctgaatatcgcgcatccaggaga
+agtacatgttttcgtactgcttcggtacgaactgaatgtcgccgttctcaaccgcttcaa
+ccgccggtttcgccaggacatcggcacgcacgtaccactggtcggtcagcattggttcga
+taactacgccgccacggtcgccgtaaggaacggtcaggtcgtgcggtttaatttcttcca
+gcaggccaagcgcgtcaactgcggcaacgactgctttacgtgcagcaaaacgctccagtt
+tctggaactctgcagggatttcgctggaataaacgtcagattcgttacctttggtatcga
+acacctgggcgctttcacggatatcgccgtcaaaggtcaggatgttgatcatcggcaggg
+cgtgacgtttacccacttcatagtcgttaaagtcgtgcgccggagtgattttcacgcagc
+cggtgcctttttccatgtcggcgtgttcgtcgccaacgatcggaatacgacggttaacca
+gcggcagaatgacatatttgccaatcagatctttgtaacgcggatcttccgggttaacgg
+ctacgccagtatcgcccagcagggtttctggacgggtagtcgcgaccaccagataatctt
+taccgtctgcggttttcgcaccgtcagccagcggatagcggatgtgccacatcgaacctt
+tcgattcgcggttttcgacttccaggtcagagatagcggtgcgcagtttcggatcccagt
+ttaccaggcgtttgccacggtaaatcaggtcttctttatacagacgaacgaaaacttctt
+tcaccgcattggacaggccttcgtccatggtgaagcgttcacgctcccagtcgacggagt
+tgccgagacggcgcatctgacgggtaatggtgccgccagattccgctttccattcccaga
+ttttgtcgatgaaagcttcgcggccgtagtcgtgacgggttttaccttcttctgcggcaa
+tcttgcgctcaacgaccatctgggtagcgatcccggcgtggtcagtaccgacctgccaca
+gggtgtttttgccctgcatgcgctgatagcggatcatggtatccatgatggtttgctgga
+aggcgtgacccatatgcaaactgccggtgacgttcggcggcgggatcatgatgcagaaac
+tttcctggctttcatcgccattaggcttaaagtagccctgcttttcccagtgctcgtaaa
+gcggctgttcgatatcttgtgggttatatgtcttttccattatttccaggttgccgtatt
+caggttgaaaccagccacgcggtaggctttatagcgttcgcgcgccagttgtttcagaga
+atcttcataaggaacgaagtctaccacttctgtgaaagcggtggcaaaatctgcaaagct
+tgttcgcagactaatcaatatatcgcgccggctgctgctacgcttttgcggccaggcgat
+ctccaccggtgcaccgccgcgcggtccttctcccgctaaattatgcggaacaaagctttc
+tgccggacgcgcccacagggcttcatccagccggtaagcctgcttttcatcttcacaggc
+gatgagcacgcgcttaccgctgcgccaacgttctgcggcaatttcacacaccagttgctc
+aacggcgcttaagccatcgacggtggtgtcattgtccagaaggtagaacgtcgcgttttt
+cataaatggggcttcttgtggtggatttaaatacgcatcaggtatacaccgcagcgcctg
+atgcgacgctgttgtgtcttatcaggcctacgagttcagtgctgtgtaggtcggataagg
+cgttcacgccgcatccggcaataacagccttgcctgacgcaattactcttcgccgttaaa
+cccagcgcggtttaacaggaactgtgccagcaacgctaccggacgaccggtggcgccttt
+tgctttaccagaacgccaggcggtaccggcgatatccaggtgcgcccagttgtacttacg
+ggtaaagcgtgacaggaagcaacctgcggtaatcgccccaccaggacgaccgccaatgtt
+cgccatatcggcaaaattggactccagttgttcctgatactcgtcacccagcggtaagcg
+ccatgcgcggtcaccggattgttcagacgcggcaatcagttcatgggccagcggattatg
+gttcgccatcagaccagtaatatgatgacccagcgcgatcacgcaggcaccggtcagcgt
+cgccacgtcaatcaccgcttccggctcaaaacgctcaacgtaagttaacacgtcgcacag
+taccaggcggccttcagcgtcggtgttcagcacttcaacggtttgaccggacatggtggt
+taacacatcgcccggacgataggctcgtccgccaggcatgttttcgcagcctgccaacac
+gccgataacgttaatcggcagttgtagctccgcgaccatccgcatcacgccgtaaaccgc
+tgccgcaccgcacatatcgtacttcatctcatccatgccttctgaaggcttgatcgagat
+accgccggagtcgaaggttaaacctttacccaccagcacgattgggcgtgcatcttccga
+cgcgttgcctttgtactcaatcaccgacatcagcgattcgttttgcgaaccctgaccgac
+cgccagataggaatgcatccccagctctttcatctgctgttcgccgataacgcgggtgat
+gacattcttgctgtagctgtcagccagctggcgcgcttgtgaagcgaggtaagcggcgtt
+acagatattcggcggcatattgccgagatcttttgctgctttaatcccggcggcaatcgc
+cagaccgtgctggatcgcgcgctcaccgctggtcagttcacggcgggtcggcacgttgaa
+caccatcttacgcagcggacgacgcggttcgctcttgttcgttttcagctgatcgaaact
+gtagagcgtctcttttgccgtctcgacagcctgacgcactttccagtagttgttacggcc
+tttaacgtgcagctcagtcagaaagcagaccgcttccattgagccagtatcattcagcgt
+attaatggttttctgaataacctgcttgtactgacgctcatccagctcacgttctttgcc
+gcaaccaataaggagaattcgctcggaaagtacattcggaacatggtgcagcaacaatgt
+ctgccccggttttccttccagttcgccccgacgtagcagggcgctgatgtacccatcgct
+gattttatcgagctgttctgcaatcggagaaaggcgacgtggttcgaagacgcccacgac
+gatgcaggcactccgctgtttctccgggctaccgctttttacactaaactccatgcacta
+cgctcctgaatcttaaagacaacggcggtggctacagatagaattgcaagctttcgtaac
+tcatgtccgctgttgcgatgacttcgtgttaatcttaacgttattacggcattggcacgt
+cagaacaaaatctgagaggtgaatccgttgagtataattatcttagcgacgatttcgacg
+actcaagagaataaatgacgtttaagccatgaaacaagctaaaatcctgcaaaagacgag
+tttttacgggcgtatttaaagtgataatcataagatatctggtgcgggagacgctcaaaa
+gccagctggcgatactcttcatcttgcttttgatcttcttctgtcaaaagttagtgagga
+tcctcggcgcagcggttgacggcgatattccggcgaatctggtgctctcccttctcgggt
+tgggcgtgccggaaatggcgcagcttatcctgccattaagcctgttcctcgggctgctga
+tgacgctgggcaaactgtataccgaaagtgaaattacggtaatgcatgcctgcggcctga
+gcaaagcggttctggtgaaagcggcaatgatccttgcggtattcacggcaatcgtagcgg
+cggttaacgtgatgtgggcgggaccgtggtcatcgcgtcatcaggatgaagtgttagcag
+aagcgaaagcgaaccctggcatggcggcgctggcgcaagggcaattccagcaagcgacta
+atggcagctcggtgctgttcatcgaaagcgttgacggcagcgatttcaaagatgtgttcc
+tcgcgcaaattcgaccaaaaggtaatgcacgtccttctgtggtggtggccgattccggac
+atttaacccagctgcgcgacggctcccaggtcgtcactctcaaccagggaacgcgcttcg
+aaggcactgcattgttacgtgatttccgcattacggacttccaggattatcaggcgatca
+ttggtcaccaggcggtggcgctcgacccgaacgataccgaccagatggacatgcgcacat
+tgtggaacactgacaccgatcgtgctcgcgcagaactgaactggcgtatcacgttggtat
+tcaccgtgtttatgatggcacttatggtcgtaccgctgagcgtggttaacccacgtcagg
+gacgcgtactgtcgatgctgccagccatgctgctgtatctacttttcttcctgatccaga
+cctccctgaaatcgaacggcggtaaaggtaagctggacccgacgctgtggatgtggaccg
+ttaacctgatttatctggctttagcgattgttctcaacctttgggacaccgtgccggtcc
+gccgcctgcgcgccagtttttcgcgtaaaggagcggtgtgatgcaaccttttggcgtact
+tgaccgctatatcggtaaaactattttcaccaccatcatgatgacactgttcatgctggt
+gtcgctgtcgggcattatcaagtttgtcgatcagctgaaaaaagccgggcaggggagtta
+cgacgcgttaggcgcaggaatgtataccttgctgagcgtgccgaaagatgtgcagatctt
+cttcccgatggcggctctgcttggggcgttgcttggtcttgggatgctggcgcagcgcag
+cgaactggtggtgatgcaggcttctggttttacccgtatgcaggtggcgctgtcggtgat
+gaaaaccgccattccgctggtcttgctgacgatggcgattggcgaatgggtcgcgccgca
+gggcgagcagatggcgcgtaactaccgtgcgcaggcgatgtacggcggctcgttgctctc
+tacccagcaaggcttatgggcgaaagatggcaacaacttcgtctacattgagcgggttaa
+aggtgacgaagagttaggtggcatcagcatttatgcctttaacgagaatcgtcgtctgca
+atccgtacgctatgccgctactgcgaagtttgacccggaacataaagtctggcgtctgtc
+gcaggttgatgaatctgatctgaccaatccgaaacagattaccggttcgcagacggtgag
+cggcacctggaaaaccaacctcacgccggacaaactgggcgtggtggcgctggacccgga
+tgcactctctatcagcggtttgcacaactatgtgaagtatctgaagtcgagcggtcagga
+tgccggacgttatcagctcaacatgtggagcaaaatcttccagccgctatctgtggcggt
+gatgatgctgatggcgctgtcgttcatctttggcccactgcgtagcgtaccgatgggcgt
+gcgtgtggtcaccggtatcagtttcggttttgtcttctacgtactggaccagatcttcgg
+cccgctgacgttggtttatggcatcccgccgatcatcggcgcactgttgccaagcgccag
+cttcttcttaatcagcctgtggctgttaatgagaaaatcgtaaccgaatgaacgaataaa
+gggagcgaaagctccctttattattgttagcaaagtgtgcttcgttcattcctgaaaaat
+aattaaaattcaatatattgcagtggggtgggcatgataagacgcgccagcgtcgcatca
+ggcaaagacaaatctcgcctgacttaccttcttctcccccccagcaaactccccaacatc
+ccgcgtacaatctgattcgtcacttggcgagcggcgcttttggccattgtttgcaccaca
+ccatctttcttcccgccgcgtggtccggtagtgccgaacaaaatatccttcaatccacca
+agaatgccgtcatccaccgctacctctttccctttcgcgggaggattattttgctgctcg
+gtactggcctgaaagcctttttgcaacatctcataggcggattcccggtccacctcatcc
+tcatatttgccatacaccggagagtgattaatcaagccattacgctcatcttccgtcacc
+ggccccatccgcgaacaaggcgcgatcaccatcgcacgctccaccacagaagggcttcct
+ttcgcatccagaaaagagatcaacgcctcgccggtgcccagttcctgaatcgccttttcg
+gtatcaaacgccggattggcccgcatggtttgcgccgctgccttcactgctttctgatct
+tttggcgtaaaagcccgcaaagcatgttgaacgcgattaccgagctgcccgagcacatta
+tccggaatatcagacgggttttgcgaaacgaaccagacgcccacgccttttgagcgaata
+agccttatcacctgctcaatcttatccagcagtacctgcggggcatcgttaaacagcaga
+tgtgcctcgtcgaagaaaaacaccagttttggtttctccagatcgcccgcttccggcaat
+tgttcatacaactctgaaagcatccacagcaggctggcggcgtacagtttcggcatctga
+taaagtttctcggcgctgaggatattgataacgcctttaccgttggcatcggtgcgcatc
+cagtctttgatatccagcatcggctcaccaaagaagtgtgctgcgccttgctgttccagc
+gacaacagcccgcgctggatggcaccaaccgatgcgctactgatattaccgtactgattc
+tggaaggatttggcgttatcgccgatgtactgggtaattgcccgcagatctttaaagtcg
+agcagtaacagcccctgatcgtcagcaatgcggaagatgatattcagcacgccagattgc
+acatcgttgagattcaacagtcgtgccagcaacagcggccccagatccgaaaccgtcgcc
+cgcaccggatggcctttctcgccaaagatatcccacaccaccaccggattggcatgcggt
+tgccagtcattgacgccgatatttttaagccttgcgagcagtttttccgacaccgttcct
+gcctgcgcgacgccggtcagatcgcctttcacatcagccataaacaccggcacgccgatt
+tccgacaatgactccgccagtttttgcagcgtaacggttttacccgtccccgttgcgccg
+gtaatcagcccatgacggttagccattcccggcagtaaaaacagttctgtgtccggcgtg
+cgggcaattaacaggggttcactcatgagatatcctccagtttcctgcctggagtatagg
+caacgtccggcaaagagaatacgtgtaatgaagagaaaataacctaaagcgtgttgccgt
+gataaatctgatacccgaggtcaacagtgttgtggttgtgatcgttatttttaattttgc
+tcagcaacatttgggcggccatccgaccaatatcaaaacggggagtaattacgctggcga
+ggcttgggatcatttgcctgccaatctccagcccatgaaaacccgcaatggaaatttgtt
+ctggcacggcgaggtttcgctcgcggcacagcagaagcgcacccatcgcaatatcgtcat
+tggtgcaaaatacaccgtctaaatccgggtttgcgctaagggcatcacgcattaactgca
+ttcctaaatgaatggatgagatggcgcgtggattcatgcgtaatggggaaagattatgca
+gcatcatcgcatcgcaatacccctgataacgctgttcatcgcgggtgtcatctttggaac
+cgagatacagaattttgtgcctgactcgcttctccagcatggtacacaccatgtcaaaag
+cggcctgccgattatcaaaaccgacctccatatccagccgttctccctgtacatccatca
+attccacgaccggaatggtggctgaacgcagaaatttcaccgtcctgatggtgtgatatt
+tttccgaaagtataatcccgtcaatgttataagagagcaggttaatcaccgactcttctt
+cggaatcgcgatcgtaattgtaattagcaataagggtctgataattatgctcagaggtga
+cggattctattcccgcgagaatgtcagcgaagagttgattttgaaatgacggaatcaaga
+taccgagggtataactttgtgcattcaacaacatgccgggagcgcgattagggatataat
+tgatctcttccataattttggcgatgcgctcgcctgtttcctttgccacctttttcggcg
+agcggatataacgactcacggtcatttttgttacgccagccagcgtagcgatatcctgta
+aagaaattctgtgattgcgcataacttctcccaacgtcgggggaatcttcaatcttcccc
+cgaaactacatcacaatattttattctttcagtgcaatacggcgttaatggctaacacgc
+ccagcaaacccataatagaaataagggtttccatcaccgtccaggtacgcaacgtttcac
+caaccgtcagattaaaataccctttaaatagccagaagccagggtcgtttacgtgtgacg
+cgatcacgctgcccgcaccggttgccagtaccattaaagcgggatcggcatgggtaacgt
+tgataatcggcaacaccacacccgcggtggtaatggccgcgacggtggcagagcccagag
+cgatacgcaacagcgccgcaacagtccagcacatcaataacggcgaaagtgtagttccgg
+tcattaagtgtgaaatatagtgcccgacaccgctatctactaatacctgcttaaacgcgc
+cgccgccagcgataataaacacaatcatcgcgatagcgcctatagaatccccaatgatat
+ccatgatttgctcgatggtgcgtccattacgtcggcccagtgtgaaaatcgcaataacaa
+tggcaataaacagcgcaacggcagggttaccgacaaattcaaagaagaggcgcacggtgt
+tagttttcggtaacgtaatttcacaaacggcggcgatagccatcaggatgaccgggatca
+cggcagcgaaaatactgttccagaaggagggcatctcctcttcgctaaacagatgaggat
+taaataagccttccggtggtgctttctcaaagcgagttagcagtttagaaaacagcggtc
+ctgcgacaataactgtcggaatggtaatgataaatccatacagtaaagtcgttccgagat
+tagcctcaaagatagtcgcgatggcagtaggccctggatgtggcggcagaaaacagtggg
+ttacagagagcgctgctaccattggtacgccaacatacaacaggggtaatcctgatgatg
+ctacgatggtaaataccaacggcaacagcaggacaaaacccacttcaaaaaacatggcga
+ggcccacaaccagaccggtgatcactagcgcccattgcacgcgttttttaccaaaagtag
+caatcagcgtagtggcgatacgttgtgccgcacccgtatcagaaatcagcttgcctaaca
+tggccccgaaaccgaggatcattgccagcccgccgagcgtgctgccgataccattttgta
+tagagtgcaggacggcctgtgcatccatcccttcggcaaatccgacgacggcagctacca
+gaacgagggcaataaagccgttaactttaaagccgatcatcaggataagaagcagcgcga
+cgcctgccgcaataatgattaatggcatagtctttatctcttattagtgccagaaaagca
+gcgctttcgcgctgcacgtaggggggctgttaaacagccactaacatgccgccatcaaca
+aacaacaggtggccgtttacgaaatcagaggcttttgaagaaaggaacaccgcagcacca
+atcagttcctgcggatctccccagcgtgcggcgggggtccgtttgcacaaccaggcggtg
+aaggcttcgtcctcaaccagtgctttagtcatttctgttttgaaatagcccggcgcaata
+ccgttgacctgaatattgtggcgcgccagctcgacgcacatgccgcgggtgagcattttt
+accgcccctttcgatgcggcataaggggtgatggtgtcacgtcccagttcgctttgcatc
+gagcaaatattaataactttacctgccttgcgttcaaccatgtgacgagttaccgcttgc
+gataccaggaacacggcggtctggtttactgcgatcacatcattccactcttgttcaggg
+aactcagtaaaaggatgacggcgctggataccggcgttattcaccagcacatcaatgggg
+ccgatgtccttttcgatatgttcaacggcggcatcaatttcatgtttatgagtaacatta
+aaaggtgcggcaacggcctgaataccctcctggtggagtttttctacagcaagttctgcg
+cgttcggcagtaatatcattaataattatttgtgcgccatatttacccaggccggttgcc
+agtaaaaagccaatgccctgtgctgaaccggtaatcaagatattttttcctgccagtgaa
+aatagatcgttcattgtattattcctttatttatctcttagaaaacaagctggacttttg
+ctgcctgggttttatcaccggcgaaacgtagcgcctcttccaggtcagtgaagggatatt
+cagcactcagtaaaggcagtggattgataacgccattcgccagccatgacactgcggtat
+taaattcgctggtaaaacggaaagagcctctgagtgaaatctccttaccaatcaacgtca
+tcattgggaattctgccatcgcgcctcccatacctacctgcaccattacgccgcgtgcac
+gagtgacctccagacaggtattcactgatgaaggatgaccggacacttcaaagctgacat
+cgaaatagcctttttccgctttccagtgatccatgtcgtcgttttgtgggtttacgagca
+catccgcccccatctctttgcccagcgaaagggaacggggactcacatcagcacagacaa
+tttccgcggcccccagtgttttcactgcactgacaatcaggcagccaatgggtccaacac
+cggaaataaatactcgcttgccctgtaactcgccggcctgatgtgcggcatgaatcgcga
+cggctaaaggttcggcaaaagccataaccttttcgtcagctttggccggataagggacac
+attgcgacgtttcgaccattttataacgggtaaaaccaccatcaacatgagggaaataca
+tggcactgccaaaaaaacgcatatctgtacactgattctcgttatgttcaatgcagtatt
+tgcagtgaccgcacggtttagacggattaatggctaccgtttgcccttcatgtaattctg
+atgagtcgctatgaataactttaccgataacttcatgacctaacaccatcggtgccttta
+tcatgaaattacctacttttccttcctgataataatgtaaatcggaaccgcaaattccac
+ctcgggttatttgtactaatgttccattattattccaatctatcgtctgctcggtaacgg
+caacagttttcttgcccgcaacaacgcaggactgtgttttcacttgcataaattcctcac
+tggtcaggtagacacctcggaagcatttaagcggttttaactgtcattatttgtgatgaa
+gatcacgtcagaaaattgttacattactatgttacgcataacgtgatgtgccttgtaatt
+cttatcagtagaaataaaaaaacgtgaaattattatgccgccaggcgtagtatcgcagca
+ggtaagatgattcaggagattttaaatggcgggtgaaagctttattttgatgggcgtttc
+agggagtggtaaaacattaattggtagcaaggttgccgcgttattatctgctaaatttat
+tgatggtgacgatcttcatccagccaaaaatatagataaaatgtcgcagggtattccatt
+atctgatgaagatcgacttccctggctggaacgcttaaatgatgcttcatacagtcttta
+taaaaagaatgaaacaggatttattgtctgttcatcattaaaaaaacagtatcgtgatat
+tttacgcaagggtagcccccatgttcatttcctctggttagatggcgactatgaaactat
+tctcgcgcgaatgcagcgtcgggctgggcattttatgccggtagcgttactaaaaagtca
+gtttgaggcactggagcgtccacaagcagatgaacaggatattgtgcgcattgatatcaa
+ccatgatattgccaatgtcaccgaacaatgtcggcaggctgtgctggcgatacgacaaaa
+cagaatatgtgcgaaagagggcagcgcctcagatcagcgctgcgaatgattttcaaaaat
+cggctttcaacaccacgcggtaacgcgccttaccgtcgcgcacatgctggatggcgtcgt
+taattttcgacatcgggaacagttcggtggtcggcgcaaccttgctgcgggcggcaaaac
+gcatcagcttacgcagctcataaggcgtgccggtagcagaaccagagacgctgcgatcgc
+ccgcaattaacgtaaaggccggaacagacagcggcgtgagaaccgcaccgaccgtatgga
+aattaccgccataggtcagcgcctcaaaatagggctgccagtcgaggctgacgttgacgg
+tgttgataatgagatcaaactgccccgccagtgctttcagtgcctgcggatcgcggctat
+tcaccactttatcggcacccatcgccagcacttcctgctctttcgccggattagaactaa
+aggctgtcacctcgcatcccattgcgtgcagaagttttatagcgatatgccccagcccgc
+caataccaattaccccaacgcggctggtagcagtgatatggtgcatcaacagtggtttaa
+agaccgtgataccgccgcacaacagcggcccggcggactcgatatcaatattttctggca
+gtggaatcacccattgccagtccgcacgcaacttctcggcaaagccaccgcgattcataa
+tcgtcggcaccgcaccttgctcgcagttgatctgattaccgctaatacaggcgtcgcagt
+gaccacagctacgcgccgtccagccaatcccgacacgctgaccgacctgcaaacctttat
+cctgcgcggcgctcccgagtgccaccacgcgcccaatcacctcatgcccggcaaccagcg
+gatattgtgaaaatccccattcgttatcgatcatcgacagatcggaatggcagatcccgc
+agtaatccacctgcacttcaacatcttgtggcctcagctcaccgggatcgtactcataaa
+cttccagttcgccgcccgcttcttttgcggcatagctttttatcatcgacattttttggt
+ccttctctggtgttgtttgggaagtgtagagcatggcagggcggggtgcctggagtgtga
+caaaggttacacatcgctgtatgcaatgctgaaaatttcagcacttagcgaggtgcgagc
+aagctggcgcttgcatggtggcgtgcgacaggtataatccacaacgttttccgcatacct
+cttcagtgccgaagtggcgaaatcggtagacgcagttgattcaaaatcaaccgtagaaat
+acgtgccggttcgagtccggccttcggcaccaaaagtatgtaaatagacctcaactgagg
+tctttttttatgcctgaaatccagtgtttatctatctttcccgctatattaactctctca
+aggtcaaccgatatcaacgtacatctaccaacatatgttggtacagatgatggtatttcc
+ggttcgataatgcttgtaccaacagggagggaatacgatggcattaacagatatcaaagt
+cagagcagccaagccaacggataagcaatattagctgactgatggtggcggtatgcatct
+gcttgtccatccaaatggttctaagtactggcgtttgcagtaccgttatgagggaaagca
+aaaaatgctggcacttggggtttatcctgaaatcacactagcggatgccagagtacgtcg
+tgacgaggcgcgtaagctgcttgcgaatggcgtcgatccgggagacaaaaagaaaaatga
+taaggttgaacagagtaaagcacgaacctttaaagaagtcgcgattgagtggcatggcac
+caataaaaagtggtctgaagatcacgcccatcgtgtgctaaaaagtcttgaagataatct
+ttttgcagcgcttggtgaacgtaatatcgctgagttaaaaactcgagatttattagcacc
+tattaaggccgtagaaatgtctggacgtcttgaagtggccgctcgtcttcagcagcgcac
+tacagccatcatgcgctatgcagtgcaaagtgggttaattgattataacccggcacaaga
+gatggctggggcggttgcttcctgtaatcgacaacatcgtcccgcgcttgaattaaagcg
+catccctgagttgcttacaaaaatagatagctatactggtaggccgctaacccgatgggc
+gatagaactcactttgctgatctttattcggtccagtgagctgcgttttgctcgttggtc
+agagatcgatttcgaagcgtctatatggactatcccaccggagcgggagcctattcctgg
+agtgaaacattcccatagaggctcaaaaatgcgtacaacgcatctagtgcctctttcaac
+gcaagctcttgcaattttaaagcagataaaacagttttatggggcccatgacttgatatt
+tattggtgatcacgattcgcacaaacccatgagtgagaatacggtaaatagtgcgttacg
+ggtcatggggtatgatacaaaagtagaggtttgtggtcatggctttcgaacaatggcctg
+tagttcattggtcgaatcaggtctgtggtctcgtgatgctgttgaacgtcagatgagcca
+catggcgcgaaattcagtgagggccgcgtatatccataaagcagagcatctggaagaacg
+gcgattgatgctacagtggtgggccgattttctggatgtaaacagagaaaggtttatcag
+tccatttgaatatgcaaagattaataatccattaaaacagtaatcatcccgggcaaatgc
+ccgggaattattctaggattattttctttgttaaaaaagacaaacggtattaactgatgt
+atttactatttaccgctccctgcaggggggattatcagaatccgcggttattcattattt
+atatacattcaataaaaaagtaacctcataaaaaatcctgtactcacagggtgatgcggg
+ataactgacgtaaggagtgctgcagggatttgatggtcccttgtagactggccccctgaa
+tctccagacaaccaatatcacttaaataagtgatagtcttaatactagtttttagactag
+tcattggagaacagatgattgatgtcttagggccggagaaacgcagacggcgtaccacac
+aggaaaagatcgcaattgttcagcagagctttgaaccggggatgacggtctccctcgttg
+cccggcaacatggtgtagcagccagccagttatttctctggcgtaagcaataccaggaag
+gaagtcttactgctgtcgccgccggagaacaggttgttcctgcctctgaacttgctgccg
+ccatgaagcagattaaagaactccagcgcctgctcggcaagaaaacgatggaaaatgaac
+tcctcaaagaagccgttgaatatggacgggcaaaaaagtggatagcgcacgcgcccttat
+tgcccggggatggggagtaagcttagtcagccgttgtctccgggtgtcgcgtgcgcagtt
+gcacgtcattctcagacgaaccgatgactggatggatggccgccgcagtcgtcacactga
+tgatacggatgtgcttctccgtatacaccatgttatcggagagctgccaacgtatggtta
+tcgtcgggtatgggcgctgcttcgcagacaggcagaacttgatggtatgcctgcgatcaa
+tgccaaacgtgtttaccggatcatgcgccagaatgcgctgttgcttgagcgaaaacctgc
+tgtaccgccatcgaaacgggcacatacaggcagagtggccgtgaaagaaagcaatcagcg
+atggtgctctgacgggttcgagttctgctgtgataacggagagagactgcgtgtcacgtt
+cgcgctggactgctgtgatcgtgaggcactgcactgggcggtcactaccggcggcttcaa
+cagtgaaacagtacaggacgtcatgctgggagcggtggaacgccgcttcggcaacgatct
+tccgtcgtctccagtggagtggctgacggataatggttcatgctaccgggctaatgaaac
+acgccagttcgcccggatgttgggacttgaaccgaagaacacggcggtgcggagtccgga
+gagtaacggaatagcagagagcttcgtgaaaacgataaagcgtgactacatcagtatcat
+gcccaaaccagacgggttaacggcagcaaagaaccttgcagaggcgttcgagcattataa
+cgaatggcatccgcatagtgcgctgggttatcgctcgccacgggaatatctgcggcagcg
+ggcttgtaatgggttaagtgataacagatgtctggaaatataggggcaaatccaccttgt
+gctgatatgaatacggatattttatacagaatacttttcagtacaagcgactgtattaca
+gtctgccatatatgattacctgtgatcaggaagaataagtggctgaggtttcaaactgtc
+tgccggtatattcctctctcccttaaaaaccataacaggttagttatcttcgtctgtcag
+cggattgaatggcggtatattttcagtacaaataccggtcatccactgaaaaatacctgc
+gaaatgacgggcactgatttttctactgacgggctgatgagacgttatgtcactggcggt
+aataatcagtggcacactgtagcctccctgcacatgaccataatgatgaacaggattggc
+actgtcgctgaccgacagcccaaggccagaaaagtaaagcatggcgaaatgacgtgagta
+ccggcgaaggataccatcaagctggccaagaaagttatccagtttactgatgctggcgag
+gtaacaggcaatttttcggggatactgctccaggtaattattcggctaggagttaaggct
+gtcacacggatttggatgagaacccatcatgtgcaggaaaattatcttcggagaggatgt
+atccgccagcgcacgttctgtttcctgtaacaacagtttgtcatctgttttacgggaagc
+gaagctgcctttcttgaggaaagtggcatgctccgcatcagaagcaataacagagatgcg
+tgtgtcatgctcccccagttttccttgattggatatccaccatgtgctgtatcctgcttt
+tgctgccagcgccaccacattgttgccggaatcagggttctgctcatagtcataaatcag
+tgtccggctcagggaagacactgtactggaggctgtcgaggtataatcgtcaataaataa
+accgggtgccgtattcagccacggtgtggttggtacgggatagtcatacactgacatata
+atccctgcgcacactctcaccagtgacaataacaatcgtatcatataacggtgctcccgg
+ctggattttccagttgtcagccccgtgctactcagttgttcataacgctgcatttcacgt
+aatgtgtcagttgtccccacaactgttcctttaaccatccgcaatggccaacggtttaca
+gagcataatacgaatagccgtagagccagccagttacggtggtcgcgatggtgtgtccgc
+cagaaaatcaccacgaataccagaatcgcggcactgaccagaaaatgataaacaggaaac
+acggggcggttcactttgctttctcctgtagtgttttctgtaggttctgaaccggttcta
+gcggggttgtgaggctgatggcaatcgccgggctcttcctgcatgttacactggtactgc
+aagagggggccttcgctcctctgacattactcagtattttcactactacaccccatctgc
+catccataacaaccgattcaccccctcgcgaggcgttgttgcccgtcacccggacagaca
+ccgttatggacttctcttgttgcacgatcgatcaattgttatgcatgctgacaccacaac
+cccggtgggtatgaccgatgcctttctcactctcttcccggtcatcgtcggccttccccg
+ttattgtggcgtgtcagcaccctcgacggcatttcgatggctgctcagtgttcactcacg
+ttacggcccgcataacccgttgacttcctgaagaagtcgtttcagggagagattcagccc
+ttttgttacctcctggaccgcttcttgtccttccagtcggagcgagagttagccggggcg
+gactttcaccgacggaaagatcgtgcatttcaaggcacacacaacaatatctgcgagcgt
+gctatccgtccggtcgttatgggacgaaaggcctggttgttcgctggttcactggtggcc
+gggaaccgcgcggcacagataatgagccttctgggaaccgcagtctggagccacatgctt
+ggctgacggacgtcctgacgcgtctgccggagtggccggaggagaggttggctgagttac
+tgcctcttgagggctttaccttcttcgggtaagtgatacctgccgtcaggtgtttgtgca
+ccgggccataacctgcagttgggaattgaacgcctgacaacaggaaatgagctagagcag
+taaacacgcgggctgacaatgggtcagaatatgagttagcccggcgttattcctggggtc
+agtacttcagatctagcctccggtaccagactagctagcccctacgcaaccaaataaatc
+aaccatcgtcagagtgcaatcgttcatatacactgtcggtgatgcgctaaaaaatgcgtt
+aatgttgagttcctcgaacccttaccaattaagggacatagccagatacgcaactggctg
+atgcaagcagtctaatgtctttagatccgctggcctgcgggcatgacaatgtcaaacagt
+caaagattgtggcgttgacggtcagtcttggggacaaaaaagctcagtattctcgttggc
+aaccagataatttaacagttgatgctgaaacgaaataggcatcttggttctgtaatgcca
+gtcagttaagcaactgactggctctttttcggggctgtggggtatttccagggcctctcc
+tttaccactctcgggaaggccctttcccttcttgtcggtaatttcacaagttgtcccata
+cttgcaagatcgcgcatcagctccggtatacgtcccggtgaagcgccctgcaatgtcatc
+agcattctcatcaccattccgcatgattctgagaaactcagttgattcggccagtaacct
+ttcagatgttccgccattttaatcatctgatatctcaccagattataagccagtaagaca
+ccccacagctcttgctccacaagctccggctttttacttctcagcgtcagcctgctccgt
+tgcatcgtctgttttatctccctgtatcccagttcgatttcccagcgatgactgtacaga
+tcccccatttctcctccggggaagcgcatggcgtccgtcatcgacgtcagcagatggcag
+acttttcctttgcgcgtcacggtcagcaggcgggcagtcacttcatttcccagtcccggc
+cacttttttcgtgcctgcgggctggttttcagcttcaccagatgatcgcctttacccagt
+tttctgatctcttcatattgcgctccctttctgagaggtatcatccagtggcggtgttct
+cccgccaggctccaggcatttaacagtcccagtgagtaataacctttatccattaacgtc
+agagtgttatcgccggtttgttctataagttgctcagcaagctcattttcgctgttcttc
+atcgtgccgaaggctgcagccgtcagcagatggctggtcagttccatctggcagaccatt
+ttgacctgcgggtagagcgccgggttcccggcatgtgtctggcgggggaaggctgcatcg
+ttctctggtgtatccggtgtgcgccagaacacaccatcgatggccagcagggtcaggccg
+caccagtgcggatgcggcgtggcgttatgccagagctgcgctgttttcgtgaacacgcgg
+cggacagcctcacttcccaggcgctggcgggcctgaataacggcactgggggcaacgaag
+gggcgattgcccggcagcatgatgtccaggcgattcacaatctggtgaagaggttcttta
+cgctcaagcgccatgccaacaatacaccagaccatcatttcgaggggaagacggcgcttg
+cgtagcgttacagtacctgattcggcaaggcaacgagagatgagttcggggtcgaggtaa
+tcccccagagaagtcagtgggttacgcagagaatcgtaacgggataccagatcaagagcc
+tgtccaatgtgcataaaaaaatccggaaacaagtgagcgtttccggattcttacacagcc
+actggatcggtcaactgatccttaactgatcggcattaatcttggttctggtgtttgtaa
+caaactatcagctacaaaaatatgctcaatttgtgacatcagtaacaaaacgcgttttgt
+tatgtggattgcttgttttttgatctggtataacaggtataaaggtatacagaaaagcaa
+agaaatactgcaaaggaaaacagctataacgtaagctaaagtaataacctctcagtcttt
+cctcatttgacgaagggagttttattcaacctgaacggactacgaaaatgagcacaatga
+ataagtcaatttttgaagcagggttgaactgtgccagtggtggaatatctggcgaacatt
+gttttttgttggtgacccaaaactgtaggtgggtatcagttttatctttcatagagtgaa
+atatgttaagaagaaatggaggaaaagattgtactgattaggtattgataacaatcaata
+gtactggcgtatttgaagacaatataattatttctggatattgttgaggctccctaatat
+ttactttaagggctatattagaataacacaggaaacaaatatggcaacagcatggtataa
+acaagttaatccaccacaacggaaagctcttttttccgcatggcttggatatgtatttga
+tggctttgattttatgatgatattttacattcttcatattataaaagcagatcttggcat
+tacggatattcaggctactttaatagggacagtggccttcatagccagacctattggagg
+tggtttttttggtgccatggctgataaatatggtcgtaagccaatgatgatgtgggcaat
+tttcatttactcagtcggaacaggccttagcggtattgctacaaacttatatatgctcgc
+agtttgccgttttattgttggcttagggatgtctggtgaatatgcatgtgcttcaactta
+tgcggtagaaagttggcctaaaaatcttcaatctaaagctagtgcttttttggtaagtgg
+tttttctgttggaaatattattgcggcacaaataatccctcagtttgctgaagtatatgg
+atggagaaactctttttttataggcctgttaccagttttactagttctttggatcagaaa
+aagtgctccagaaagtcaggagtggattgaagataaatataaggataaatcaacattttt
+gtctgtcttcagaaaaccacatctttcaatctctatgatcgttttcctcgtctgtttttg
+tctatttggtgcaaactggccgataaacggactacttccttcctacctggcagataatgg
+agttaatacagtggtcatttcaactctgatgacaatagcaggtttaggaacactgacagg
+tacaatattttttggttttgttggtgataagattggtgtaaaaaaagcctttgtagtcgg
+tctaataacttcatttattttcctttgtcctcttttttttatttctgtgaaaaactcttc
+tcttataggattatgtctctttggattaatgtttacaaatttaggtattgcagggttggt
+tccaaaatttatatatgattactttccaacaaaattaagaggattagggaccggtcttat
+ttataacttaggggcaactggaggaatggccgcacctgtattagctacatacatttcagg
+atattatggcttaggtgtttcattattcattgttacggttgcattctctgccttattaat
+tttgttagttggttttgatattccaggtaaaatttataaactatccgtggctaaatgatt
+ggaggctttatgattaattatggcgttgttggtgttggatactttggcgctgaattagct
+cgttttatgaatatgcatgataatgcaaaaattacatgtgtatacgatcctgaaaatgga
+gaaaatattgcccgtgaattgcagtgtatcaatatgtcaagcttggatgctttagtctca
+agtaaattagtcgattgcgtgatcgtagccaccccaaattatctgcataaagaaccagta
+attaaagcagcaaagaataagaagcatgttttttgtgaaaaaccaattgcattaagttat
+gaagattgtgtggatatggtcaaagcgtgtaaagaagctggtgtgacctttatggccggg
+catattatgaattttttcaatggggttcaatatgcacggaagttaattaaagaaggtgtt
+atcggcgaaatattatcatgtcatactaagagaaatggctgggaaaacaaacaagagaga
+ctttcctggaaaaagatgaaagaacaatctggtggacatctatatcatcatatacatgag
+ttagattgtgttcagcatttacttggagaaataccagagacggttactatgattggtgga
+aatttggcccattctggtccaggatttggcaatgaagatgatatgttatttatgaccttg
+gaattcccgtcaggaaaactagcaaccttagagtgggggagtgcatttaactggccggaa
+cattatgtcatcatcaatggaactaaaggctctattaaaattgatatgcaagaaacagca
+gggtcacttaggattggcggtcagacaaagcattttttggtccatgaaacacaagaagaa
+gatgatgatcgtcggaaaggcaatatgacctcagaaatggatggcgctatagcatatggt
+catccaggaaaaaaaacaccattatggcttgccagtttaataagaaaggagacgttattc
+ctccataatatcctctgtggtgcaaaacctgaagaagattatattgaccttctcaatggt
+gaggcggccatgtcggcgattgctactgctgatgctgccactctttcaagatcgcaggac
+aggaaagtgaaaatcagtgagatcattaaacatacatcagtaatgtaaaaactatacgcc
+tcttgatttaattcaggaggccttttatgtatgatcaagaattttatcttcgataatctc
+ataattttagcagtgccatttatgataaaaacatcccttaaaaccaatctaatctttttc
+ttcctctgtgtatttgttccccatatggcgtcataatttacgctacgtaatacgggatag
+ttacgatacgcagcgatagcgctaagttttagttaaaatcccccatcagcgggatatggg
+gatctctgggaggttcaggttttagcatcgcgactttaatacgacagacgctggtgacga
+tgatgccaagtagtgactcttccgaataaggttcccactgaccaattggcgcgcgcttcg
+caataaaatctcccttcgcccagtattgggaaaagtagatacattcaaactgtgtacgct
+gtttcgtctcacagttcacgacattgctggccgatgagctgaccattgggcctatccggg
+ctgtcccgatggatattacgccgaagtatgtgggaattgccagcggattgatgaacgccg
+gttccgctgtcgccgacattatttcacctatcgcctttggcattattatcgacaaaacag
+gcaactggagtttaccattctacggttccgtcgcattgcttgttattggtatattcctga
+cgttcttcatgcgtccagataagtcattgtaaaagtcgaatcagggctgaagtggcacac
+tgaatttggccacctgaacagaggtgatatgctcacctcagaacaacacaggtgctccaa
+tgaaaaaaagaaatttcagcgcagagtttaaacgcgaatccgctcaactggttgttgacc
+agaaatacacggtggcagatgccgcgaaagctatggatgttggcctttccacaatgacaa
+gatgggtcaaacaactgcgtgatgagcgtcagggcaaaacaccaaaagcctctccgataa
+caccagaacaaatcgaaatacgtaagctgaggaaaaagctacaacggattgaaatggaga
+atgaaatattaaaaaggctactgtagattcaatctgtcaatgcaacacccctttcaatta
+tctctttcggtgttttgaacttcagtgtctttctcggtctgttgtttagctgagcagcaa
+ccagatctagttcatgttgagtatattgggcaagacatgtctttttaggaaagtactgcc
+gaattagcccatttgtgttctcatttgttccccgctgccaaggactctgaggatcgcaga
+agtaaactttaacgccggtgctgacagtaaattctagatgtctggccagttccattcctc
+tgtcccatgtcagtgattttctgagttctgacggtaaactcaggaatttgtcggtaagag
+cctgatttactgagacagaatctttgcccctgagtctaaggatgatcgtataacgtgatt
+ttcggtctacaagtgtggctatatgagagttttttgtacctgagactaaatcgccctccc
+aatgccctagagagcgtctgttatcgatatttcgggaacgttcgtgaattggtgttccgt
+tcactatgttaatcgtacctctttcgcctttgcgggtatgacgcctgccatggcgaaggc
+tatgcgaccgtcgcagatgctgtatattcaggtggtgtagcgcttcacggctacgaaagt
+acagcgttttataaattgtctcaggtgatattcgcagcgttttttgacgtggttttgttc
+gccttaaccatcctgatatttgctctggagaccatttcatctccagcttttccagaacaa
+gctttcgcaatggtaaattttgatccagtaagcacggttttggccttttcgccattctgt
+tggctcggttattagcatcaacagctttgtaatagcgtctgccccgattacgctgaactt
+cacgtgagatcgtcgaaggactgcgattcagcgcagtagctatcgcacgaatgctcattt
+tggctgacaaaccagctcgtatctcctcgcgctcagacagtgtcaggtgagctacagccc
+gcttacgctcatggggttttatgccgccagtatcccttaacatagtgaagatcgttccgg
+gttttgaacccaggatattcgctatttcactgaagcctgttccgttcttccatagttcaa
+aaacagaggctttttcctctgctgtaaatgttcgtctcattcaaaaaacctccgcaaccc
+catgttttcacataactgttgcgttgaccaattgaatctacagttgctttttttaatata
+tctcgctcaaggcgagcttcatttaacgccttacgcagttgcagaatttcagattccagt
+tcagccaccgtgcgggaaccaggagtaccgagcccttttctggcggcggtaacccattgt
+cctaaagtgccttcaggaagagataatcgggaagcgccttcactgatcgaaagttgattt
+tcaagaaccgttctgacagcttcggctttgaactttttagagtaacgttgggtttttctg
+ctcattattagctccttctgatgccattctatttcaggaaggagtgtccgttaaactcag
+gctacctcaggaaaaaccgtcctgaaaaaccagacggcagacgggctgtattacgcagtc
+aggtacttgagctacatggcatcagccacggttcggccggagcaagaagcatcgccacaa
+tggcaacccggagaggctaccagatgggacgctggcttgctggcaggctcatgaaagagc
+tggggctggtcagctgtcagcagccgactcaccggtataaacgtggtggtcatgaacatg
+ttgctatccctaactaccttgaaaggcagttcgccgtgaccgagccaaatcaggtgtggt
+gcggtgatgtgacctatatctggacgggtaagcgctgggcgtacctcgccgttgttctcg
+acctgttcgcaagaaaaccagtgggctgggccatgtcgttctcgccggacagcaggctta
+ccatgaaagcactggaaatggcatgggaaacccgtggtaagcccgtcggggtgatgttcc
+aagcgatcaaggcagtcattatacgagcaggcagttccggcagttactgtggcgataccg
+gatcaggcagagtatgagtcggcgtggaaactgctgggataacagcccaatggagcgctt
+cttcaggagtctgaagaacgaatgggtgccagcgacgggctatgtaagcttcagcgatgc
+agctcacgcaataacggactatatcgttggatattacagcgcactaagaccgcacgaata
+taatggtgggttaccaccaaacgaatcagaaaaccgatactggaaaaactctaacgcgga
+ggccagttttagttgaccacaacagactacctgaagggagccgcggtcgcctggcagttg
+cagtagcaggagatcatccagccgcagtacaggtcacgatgactctggttaatgataccg
+gctttgaccccgtattttccggctctatcgctgaatcatggcgtcagcagccgtgcacac
+catcctattgttgtgactgggaggctgccaccatgcttcgcgctttccctctggcgaaaa
+agggagaaggacgggcccgtctgccttcactttatgccagcttcggtaagctgggtgaga
+caccgactcatgaagatatcattgataacaatcgatccatcaactggcctgtataacgtg
+gctgccggtgattaagaaagctgcacctacctaagtagtagcaaacgcacactttttaga
+aaaatcgatggtcagaaactggattagcaattccgttccatggttgcttttgatttacgt
+tggcgtctgatcattgatttatcctcaaaagcccaacctcattggtaatgaaccagctcc
+gtgaatgtccgctctggcacagagcgaaattttttgatctcccccctgaaatctaaactt
+agtcatgtcacgtttttgggtttctaaaattttaacttcgcgtttttcgttgccgtaagg
+gttatacagaaatgtccgttaagcagagttcaaaattgattgccgtgatcacgactggtt
+tgaaagccgcgcccaagcctgtacagctctggtttgcgttgattatgaacctgtcagcct
+aaagcaagcggatggacgatgagtattggtaatctttcagagtccggaaaagttcagccc
+cagtctgaacaggcttgctggcgccagtccagtttcattcagtcgtggtttggttcttac
+ggcctgtgcaatctacctcattaggcacatcggcctgccagataccggctcggggtgtat
+ttccgcttccacgctgaatactgttctcagcaatcctggggtcatcacctcttctggtgt
+gccttgcgccataacatgtccgtttgccattaccaccagttgatcgcagtaccggctagc
+ctgattaaggtcgtgcagcacagcgaccaccgttttcccctgagtccggagttcgcccat
+caaccgcatcaggtccacctggtgattgatatcaagataggtggttggctcatcaagtaa
+tacaacgggcgtattctgggccaggaccattgccagaaatgcgcgctggcgctgaccgcc
+ggaaagctcggttaaccgacgaacggcaagatgattgatccgggtctggttcatggcgac
+attaactcgtgcattgtcttcagcggagagacgcccccagagtgacagccagggattacg
+accatacgaaaccagctcctggactgtgatcccctctggcgttaaatggtgctgaggcag
+cagcgaaagcctgcgggccaactggcgcgatgagagcatatttatgggattatcgccgag
+aaatacggtgccagactgcggcattaaaagccgcgaaaaacagtttaacagcgtcgattt
+cccgcaaccgttaggaccgatcagggcggtgatcttccccgttggcagtgagagtgaaac
+gtcgttaagtaccttgtctgtcccgtaactgaccgtcagattttcagttcgtaaagtcat
+ttatcgcattctcacaagcaaccagacaaaccacggcgcaccgataatggcggtcagcac
+gccaaccgggagctccagtgggggatgaataattctcgccagcagatcggcaaccaccaa
+cagcaacgcacctgtcagggccgaaacaggcagcagtctgcggtgacgtccaccggtgat
+gctacgcatcatatgcggcaccacgagaccaataaagctaatcgggccgcaggcggccac
+gccggtagatgtcatggcgacagctagtaacaaagcccagaatcgggtatggggcaccga
+cacaccgagcgtggtggcgcgcgcatcgccgagtgcaaggaggtcgagatcgcggcaaaa
+actcaggctcagcggcagaaataaaatcatcagcgggatggcaatcttcacaaagctcca
+gtcacggccccataagctgccggtcagccacagcagggcgttgttcacatcctgcgggcg
+cgagagcatcagataatccgtcaggctggcccagcatgcagaaagcgccacgccggtgag
+cgccagcttcatcggctggtgggtctttgccagcatcttcagcaatatcaaccccgccat
+gccgcccgcaaaggccagcagcggcagcaccatcacgggcagtgacggcataagaagtag
+agcccccacagaggccaggctggcggcatggttaacaccgagaatatccggtgatgccag
+agggttgcgcacaatcccctgtatcagcacgcccgccacggcgagggctgcaccgacaaa
+cagtgccagcagcaagcgcggcagtcggtactccatcaatacataataatgctcgtgtcc
+ggcctgccagtcggtcagcagcgcgcgccacggcacggggatcactcccatatggagtga
+taacagcgcacagcccgccagggcaagggtgatgaaaataaccagcgcaattttcatcct
+cgcctcctcacaagccagacaaagcaagggctgccaatcagcgccagcactgcgcctgcg
+ggcagatctccggggaaggccagcgcgcgtgcgagtacatctgccagcagcatcagcgtg
+gcccccagcagcatgctcactggcagtacgttgcgctgatcgaagcctgcccagaagcgc
+gccagatgtggcaccagcagaccgataaacgccaccggacctgctacgctgacgcacgca
+ccaaccagaagcagcactaacatattgatgaccaaacgtagcctcgtcaggttcactccc
+agcgtatgggcggtgctgtcgctgaggttgagcaggttcagttgattcgccagcagcaac
+acgacagggactgcagtgaccaccaccggcaagagctgccagacatcctgccagcgggcg
+tgggacactccgcctgccagccagtaaaagatgccgtaagcatgatcttcggccagcagc
+agggtgatgcgggtaaggcccatacaaaaggccgacagcgcgatacccgcgaggatcagt
+ttgtttctgtcatgggtatgacgaaatccgcctcctgcggtcatgaccagcagccagctc
+acgccgcccccgcatgccgcgatgaatgacagagaatagcctgcaatcggcgtcggactc
+agcgcgctggtaagcgccatagccagcgccgcgccgctgttaatgccgagcagtgaagga
+gaggccattgggttgtgggtcagggtttgcagcagcgtgcccgcgagcgccaggcttgcg
+ccgatcagaacggcgaccaggcttcgtggcaaacgaaggttttgcaccagcgcttctggt
+agcgttggcgtgtgtccaggcagcagggcgcgggttgcatctgctccggaaacaggaatg
+gccgagtagcaaaacagactcagccagaaaataataataagtgctgcaacgggaagcccc
+cacagcagcaccgggtgttttatcgcggtcatttcacaacggtaagcggctgatggtgga
+agatttttaccgtgtcagcggcaatacgctctgcagcaaaaataccgcgcatccgcgccc
+aggtgttactgtcgaccgaagcaacctgctgcttctgcgcggcggttaacatctgccaga
+gcggatcttgttgccagcgtttaacaatgctctcttcgcgatagtgggcaaccagcagcc
+aggcaggattgaccgccagcagttgctccaggccgatggacggcatggacgcacccgcca
+tcgcagcgggaacgttcagccccagagaggccagcacgctgccggtccaggtctcctgag
+tatgcaggttgaattgctgttcgcgtgatgtgccaaaggccacgcgtgtccctttgggaa
+gctggctggcccactgcgccatcctctctttatgttgttccagacgtgcctgcatctctc
+gctttttacccaccatttcgccgatgatagccgcagattgcaaattttcagcgtaggttt
+cgttgcgggacttaagcagcagtaccggcgcgatttgctgcaaggcgatgtaaacccccg
+catggcgactgctgtcggcaatgatcaggtctggtttcagagcggcaatggcttccaggc
+tcggctgcgcgcgcgttccgacggactgccacggtttcaggtgcgcacgcacttcgggca
+ggatgcgttttgcatcgttatcgtcggcaataccgatcgggatgacgtccacggcggcca
+gcgcatcggcgaacgagagttccagcaccacaatccgttgtggcgttttttcgagtgtaa
+acgtgccgtgttcgtcctgaaccgtggcggcaaaggcgtggctgatcaccagcagcaggc
+ctgcaaaaagaaaacggataaatgccaacataatcacattccagctaaaagcccggcaag
+ccgggcgttaacacatcagaacttcaacgacccctgcatatacagcgtgcgcggctggcc
+tgcatagatgcctttgttgttgtcgtcataagagcggatgaagtagtcctggtcgaagat
+gtttttcacaccgaatgccaggttcagatctgccatctgcgggccaaagtcatacgccac
+gcgtgcgccccagagcatgaagccgggaatgcggccggtactgccgtcggcgctctcttt
+caccgtattggcgttatccgcaaactggctggactggaaatcgctgttcagattgaacgt
+ccagtttcctggcttgtagtccacgcccagcgtgcctttatgtttcggggagaatggtac
+cagattgccgtaggtgtcgcctttctcgcggatttccgcgttcacatacgcatagctggc
+gtagatggaaacgttatcaagcgttggcgttagcgtacccagatcgtaacgtgcctgcgt
+ttccagcccggtatggcgcgttttgccacgtgcagtgacggtgtcgttggtctggttgga
+gtcgtactgattgttaaagttaatcaggaacagccccatttccgccgtcagcgcgccgtc
+gtcgtagcgggtaccgagttcccaggttcgcgctttttccggttcaacattgccgctttg
+cacagccttgccaatctggctgtactgtacggtgccgaacgagccttcagtgtttgcata
+aagattccagctgtcagtcaggtgatagagcacgttcaacgccggaagcggtgcgttata
+gctcacttcttcgtgcgtgcctgtgatggcgttgttctggtatgactcgatatgttcgaa
+acgcatacccggcgtgatggtccagttgccgatgtcgattttgtcatccagataccaggc
+gtgcgcctcggtgccggaacgcgtatcgcggtcgtaagggcttgagccggacggcaactg
+cccgctgctggtggcggtgtagtaacgcatttcatgcgttgattcattcaaatagcgata
+gcccacgcccacttcgtgcgcggaagggccgatcataaagatctggctgtagcgtggctc
+aataccgcgcacccagtagttacgcggcgagagggtgatgcgtttgccttgctccaggta
+gccgctgcgcagggtttgggtgtagaacccctgaatgttgaatttatgctggctgtctgg
+ctggaactggtagcccaggctcgccagcttgcgacgaccccagaagcggtcatacgggcg
+ggtggattgccagcgatcggcgtcgtaatccgcgcgagacaggccaccgggcatgtcggc
+ttcaccgtcgtaatattgcagcaggctgttgaaggtgtgcacctcatccggcgcatattt
+gcttttcagcatcaggtcgtcgatgcgggtggcgctgtgctcgcgccagtcactgccgcg
+cgtgccggagtagagcagcgcggtgccaaaaccgttgtccgctgtgccgcccaccatcag
+gttgtgcgtctctttcgggttgttttgtgaagaggttgggctgagctgaccttccacgcc
+cgcctcgataccaaagtcctgcggaatggcacgggtaacaaagttcaccacgccgcccac
+gctctgcggtccgtaacgcaccgcaccaccaccgcgtaccacgtcaatggcatccatgtt
+gccgagcgaaacgggagccagtgaaagctgcggctgaccgtaaggggcgaaggggacggg
+gatgccgtccatcaggacggtcgagcggctggcgaggcgcgggttcaggccccggatgcc
+aaagttcatcgccaggtcgtggctgccggtgccgttgttttccggcgcgctgacgccagg
+gatgcggttaagtacctcacgcatggtggttgcgccggttttggcgaaatcctcacggcg
+gatcacgtcacgcgcgccagcatgttcaaatacgtcgttttcacgcgcatcacccagcca
+gtcgccgaccacggtcagggcatcttcttttggtgcgggcgcgggctccagcgtccagct
+gttatttcccagcggttttacctgcagtccgctgccgtccagcagttgttgcaggccgct
+ctcgacgtcgtaatcgccgtgcaggccgttgctctgcttgccgcgcgtcaggctggcgtc
+aaccgagagggtaaatccgctgtgtgcggcatactgattgagcgctttatcgagcgatcc
+cggtgcgatattaacctgtgcagcaaaagcggaaaacgagagaccggccagcggcagcag
+gctcaggcgaatggtgttaaccaaaggtgttgttttacgaaaaacgcgtaacggcgtcat
+accttccccatcatcatttttgttgtgttcagctatgagtcgaacgagaagggtaaaaag
+gacaatcgaaataagaattattttccttacagtggtgaaatgtttatccagtaccgcgta
+atagactgaattttaacgggaagcgtttgcgcgataacgttcaggatcgcatcggtattt
+ttcagcgggaacgtcccgctcaggcgcagcccggcaacggcgggatcgcagcgcagcacg
+ccgttgcggtaacgggttagcgtggctatcacctcacccagcggtttatcgctgaagctc
+aggatgtccttcgtccagcttgtactctcgtcatccagcggtttcactgcgccaaactca
+gaggcgctgaactgcaggctttcaccagcgttcacgatgcgtttttgcgcgggggcactg
+gcgagaagcacttccacagcgtgctgctgcacgtcaagctgcgtgaaattatcctgctgg
+cggacggtaaattctgtccctaaagcagtgagctggccctgacgggtcaggacacggaag
+gggcgttgcagggcatctttcgcggtagtaatggcgatttcaccgtaccagagccggacg
+gtgcgctgatgcgcatcaaaacgcacatccgccgcgctttgggtattcagcgtgagcagg
+gagccatcttccagttgctgacggctgactgtgcctttggcggtgcggtaatctgcccgc
+agaccttcgccggtttccgactgccagagctgccagcctccgccagcgccgagcaacagc
+agtaatcctttcatcacgtgacggcgggtgaggcgggtatcgtgcaacgcccggctggca
+acgtcgccaggcacaccgccaagctggttgcgcaggttttcaacctgctgccaggcccac
+tggttatcctgatcctgttcataccactgttgccagcgcgcttcctgttgtgggctgacg
+cgctcgccgcttagcacggcataccagtgggaagctgaacgcagcgcctgacggcgggaa
+tcggttaacaaaggattcataacccatactccagacggaacagcaggcagtgctcgacgg
+ctttcgccacgtattttttcacggagctgatggaaacaccgagtttgtgcgcaatctcgc
+tgtatgtcagaccatccagttgcgaaagcagaaacgcttcacgtgttttgccgtttagcc
+cgtccagcatgctgtcgaggagttgtagggtctcgagttggctttcgcgttcctcaggtg
+aaggcgctcccccctccggcataagcgccagcatctccagatacgctttttccagcgcgt
+ttcggcgaaacaggtccaccatcacgcgtttggcgatagtgcagaggaaggagcgaggat
+cgcggatcgtcgagagcgtttcgctgaccattacccgcaaaaaagtgtcctgggcaatgt
+catctgcatcaaaagcagactggagtttgcgcgtcagccagcttttcaaccagccgtgat
+gtgtgccataaagcgactcgaacgttaaggaagctgtggtagtggcgcggtcagacatgc
+ggagtgcatcaaaagttaattatcacgtagtcatattaatatgagaatggttatcattac
+aattggaaataaaattgtttccaatagacatttttaacatgttgtttttctaagtgttat
+aaggtaggtataaaatgggatggagcctctgcttctggcatgtgtcggtcagaatgactc
+atgatgtggtctgctattattgacatcctcactgccctaaaggatggggatttcggtaat
+gctgccaacttactgatttagtgtatgatggtgattttaaggtgcttgcgtggcttccat
+ttccatcagatgtccttcctgctccgctactgaaggcgtggtgcgtaacggcaaaagcac
+tgccggacatcagcgctatctctgctctccttgccgtaaaacatggcaactacagttcac
+ttacaccgcctctcagcccggtaagcaccagaaaatcattgatatggccatgaatggcgt
+cggatgtcgcgccagtgcacgcattatgggcgttggcctcaacacggttttacgtcactt
+aaaaaactcaggccgcagtcggtaacctcgcgcatacaaccgggcagtgatgtgattgtc
+tgcgctgaaatggacgaacagtggggctacgtcggtgctaaatcacgtcagcgctggctg
+ttttacgcgtatgacaggatacggaggacggttgtggcgcacgtcttcggtgaacgcact
+ctggccacactggagcgtcttctgagcctgctgtcggcctttgaggtcgtggtatagatg
+acggatggctggccgctgtatgaatcacgcctgaagggaaagctgcacgttatcagcaag
+cgttacactcagcgcattgagcgacataatctgaatctgagacaacatctggcaaggctg
+ggacggaagttactgtcgttctcaaaatcggtggagttgcatgacaaggtcatcgggcat
+tatctgaacataaaacactatcagtaagttggagtcattaccgaccatgtttatttcata
+cattgtgggtattgttcttattatcgccgctaatcaataaaatcctgccccatatctaca
+tggggcagttgttcattcttttagtgtggtaattcacacgccagcaaaaactctgccgtt
+ccttcatcaacaatcaggtccgtgacatatcctcccagcagggcacccaacgttgcgtca
+tagcctctttccccaccagcaaggaagatcttccgttcaatctgccttagctgagccaga
+ctgattcccagaatacgctggtcaacatcagccacgacgggcatcccttccttgtcatag
+aagcgaccacaaatgacacctactgcgcctaaatcccgatacgtctgcatttccttctta
+ttcagcacgcccacccgaatcaggggattttcatcaagcgcgttacccacgacaaaaaag
+gctttcgtacagcgagtcagaacgtcaaaattcgatcgaataataggctctgcctgtaac
+tccatggccagtctggcgcttgataccacggcgggcacgtgcagcgaggcgacacggcct
+gaaagcttgtaggcgatttgcgatgaggattcaatgatcgtcaggtctggctgagatggc
+atggaaccgagcatctgtataacggtgacatttttacatgacttcggcgtcatggttttg
+ctcatctgatggattgttcttccccaggcaacccccagcacatcaccattctcaatcacc
+tgattcagatacatgccaccggcacgtgaaaggcgagtccgcatcagctttgtatcatca
+cgttttccggcatgttcgccatccggcacgatgatcactctctggagattgaatttatcg
+cgaatttgcaaagcagcgtcgatagagccaaagacattcacatccaggttgatatgaacc
+agtccattttcccgggctgtttgcaggtatttgacaaccgtgacgcgggacacccccatg
+atagctgcaacttcagtctggcttttgccttcctgatagtacagccatgttgcatgaagt
+acgggatcatcattgaacaggctgctgtttgtttgatctctatccacttttgtatacctg
+tattaaaccggggaaatgctcatcttaaccctgtttacccggagagttgatgcagattgc
+cagtggcatgattttatacagatattttattcttttacatgaaataaaccagcataccat
+ttgagcgatcgcccgctgttcccccatactgtaaagccggagacatgctccggctttaca
+gtattactgagaatacacccatcaagcataatcgaaggttcaatatcgcccctttttgat
+cgccagcgattcgtcaccgtgcagacggttgccgtcactcactaaattatgggggacagt
+gaacaacaggttggctcactggcaagaacccgattataaaactaagctggcgagcagaat
+aaaaatcagcccactgatggataagagtgtggacatcagcgtccaggataacagcgtttc
+tttggtggtcaggccaaaaaagtctttaatcatccagaaactggcatcgttaacgtgaga
+acaaatacaggatccggcaccggtagccagcgtaatcaaggccaggttggtattgggatg
+tactgccaacaatgggatgaccagaccggcggtagagatcgccgcgacggtggctgaacc
+cagacaaatacgcaggaatgcggccacgccccaggccatcaggatcgggttaatatccat
+acccgaaaccagggtggaaatatactgaccaacgccagagtcgatgagaacttgcttgaa
+tgcaccaccaccaccgataatcagcagcagaccggcaatacccgcgatagcttttccgca
+agaatccatcaggtcagggattgttttcccgcgccccaggcccatggtatagatcgcgaa
+tagcagtgaaatcagcatggcgatcgttgaattacctaagaacagtatcacgttgtaaaa
+taagcctgaatccgcggcacttttggcatgagtcatctggatgatggtgacaaccgccat
+caggatcaccggcagcattgccgtgagaaaactgatcccaaagcctggcatttcgctttc
+gctgaatcggcgggtcgcgccgagagaggctatattcccctcttttttaaaggcgtccgg
+aataatgcgctggcagaatttattcaataccgggccgcaaagaataaaggttggaatgcc
+gacaatgataccgtatatcagtaccaatcctacatcagcgccatattccctggcgataac
+agtcgggccggggtgcggcggcaaaaaaccgtgtgcgaccagcaaaccagaaagcatcgg
+cacacacataaacatcggtgatatttttgcttcacgggcaatagcgaataaaataggtac
+cagaagaattaaaccgacttcgaaaaaaagtgcgataccgacaataaacgccgaacagac
+cactgcccagtcaagtttatttttcccgaaataattcagcatggtcagcgctattcgctg
+cgcaccacccgcatcggccagcaagcgaccgagcataacaccgaagccaaatatcaaacc
+aatatggcccagcgtaccgccaagtccggattcgactgaggtgacgactttactcaaatc
+cataccactggcgatggcgacagcaatcgagacaataattaacgaaacaaacgtattaag
+cttaatttttatggttaaaagcaggagtaaagcaatccctgccacaacgataattagtgg
+cataacgtcctctcataacagggtagcgacccatcattatccgactgagcaaataacgaa
+tgatgcagagtcggataattcaggtgtctggatgtttttatttatgctttcagtttttat
+tcataaaatcgcgcaaagccgcgccaattttgtttacatcataaatacaaccggtccatg
+tcccaccactcacggcctgaagcattgcccatagccgggtatcatctggcaattcaggat
+cgggaagtaaatcctgatggctgggtctggcatttaatattgcagttgcctcctcctgtg
+aaggtaattgttcatcgctacgggttccgaggaaattgacttcgccgtgaagctcgcgac
+aatcaattttaatttcaattaaatccccggtgcgtaatttaccgatggggcctccggcca
+gcgcttctggccccacatggccgatgcacgcgccagtagaaacgcccgagaaacgtgcat
+cggtgattaacgaaacatgcttaccgtatgacagatgcttcagggcactggtaacctggt
+aggtttcttccatccctgtacctgaaggtccaacgccaataatgaccagaatatcgcccg
+ccttgatcttgtcatgtttgatatcgtaaatcgcacttttctcggacagataaaccttcg
+ccacacctttatggtaatagataccttgctcatcaatcatcgaggggtcaatggcggtgg
+atttgatcaccgaaccttctggcgcaatattgcccaccgggaaggtgatagttgaggtta
+atccgcgcgcttttgcttgctgcggagacatgatcacttcgtcagcgttgatttgttcct
+gatcgagcaggagttgcttgaaccgctgacgccgttcggagtgctcccaccagtcgaggt
+tttctttcagcgtgctgccggtaaccgtcataacgtcttcatgcaacaatccgaggctgc
+gcagatgcaacatgacttccggcacaccacctgccataaaggcattgaccgttggatgat
+aaaccgggccattaggcagtacgctcaccagtcggggcacgcgcttgttgatgcggatcc
+agtcatcaacggtcgggatatggcaacctgcctggtgagcaattgccgggatgtgtaaca
+gcaggtttgttgaaccaccgaacgcggcatggaccgtcatcgcattctctatcgctttat
+cggtgagaatttcccgggtggtgatgcctttttgactcaggttcagcgcagctcgcgcgg
+aagctctggcgatctcccgccacacaggctcaccggaaggggccagggctgaatgtggga
+ttgccagtcccaatccttcggccaccacctgagatgtcccggcagtgcccaaaaattgac
+agccgccgccggaagaggcacaggctttacagcccgcacggcgtgcgtcctgtagagata
+attcgccattggcgaagcgtgcgccaatggtttgcaccttgccgttgtcttctccatcct
+ttgcgggcagcgtcgcgccgccggggaccagcacggttgcgatgttgtgctgcgcggcga
+gtgccatcatggtggccggaagccccttatcgcaactcgccacaccaataactgctttcg
+cgtcgggcagagagcgaataaggcggcgcattaccatcgatgcgtcatttcggtatggta
+gcgaatcaaacatccccgttgtaccctgagtacgcccgtcacaaggatcggagacgtaca
+cggcatagggcagggcatggttggctttaataacctcggccgccgctttcatctggatgt
+ccagttcgtaatgcccctggtgcaacgccagcgccacgggtttaccgtctgcgccgcgta
+agccaccgagtgtactgagcagtaaaataccgtcccgatccagctcgtccggagaccaac
+ccattccggcattcatggtcataccgaacagatccccgctcgggcggttgataagcatct
+ctgcggttaatgggagttcgccgtccgggccatcggcgtgcgttctgacggtgtaaatat
+cgtggctctcgtcagcaaaaatattgcgaacagacatgagtttctcctcagactggtaaa
+atgccctgcgcggtaagcagcacgtggactttatcttttgcttcttcagatgcttcaaga
+atcggtggtaagcaatatgtctctacaggcagcccgacacactgcatgctgtatttgatc
+agtgagacaaacggtgtttcgagggcgtaaatagcgggcagttgtagtagttttttattc
+agcgtcgcagcggtcgccagatcgccttcacgccaggcgcggtagatgccgacggagagt
+tccggagcaaagttagcgctggcggttatcgcaccgtcgccgcccagcagcatcgtattc
+agcaaatgatcatcgtaaccgcagaataccgaaaacgacgggcgtaccgacttaactgtg
+ttgatcatcgtacgcaagtgaccaacgctgtcgatggtgtctttgatgccaacgatattc
+tcgttttgcagagccagacgcgtcacggtttccggggttaagtcctgacccgtcagatcc
+ggaaagttgtacaggatcaccggtagggtgacgctacgggcgatctgctggtaatagtcg
+tcaagatttcgtggtgcgactttccagtagtaggggttgatggcgacgataccatcagcg
+ccgtaggcttgcgcatgctgcgccagtttgaccgcttcgtcagtggaaggggaaccgacg
+ccaatcaataccggcactcgcccgtcgacaatggttacagcttcttcggcgagtgccatg
+cgctgggctgtattcatttggctaaattcaccaccggtacccagataaaacagcccgtcg
+acccctttattaatcaggaagtcggcaacttcgcgcattgcctttttatcaagggttccg
+tcacgatgaaacgtgctggataccggtggaataatgccgctgaattttttcattacctca
+gtttccttttcgtaagtgctcattttcgtttctgtatcccagcccatatgatatttgctc
+agcgcatttccggagcaattccagatagctgtctatcttatttcctgaataaactaccgg
+atcgccagaaagtgagattgcatagttaactctgttatacatattgaataccggcatact
+taaacataccgccccataggttgattcttcgttgtctatggcccatccccgaaggcgtgt
+tttttgtaattcttccagaaacaattttttatcggtaaatgtattgcgcgtatgtggagt
+taacgtgagtgcttctaaaaaataatccagttcttctcgtgtcttccaggctaataatgc
+cttacccaacgcggtaatatgcaactcaagttttttgccaatccagcttttgctcgtcgg
+tacagagtccggactttcgatcttgtcgagatagatagccgaaatgctctccatcgcccc
+aagatgacaaaccagtccacttttcagcgacaactcctgcattggccgcttagtcacctc
+aaatatattttgacggtgtaacgcctgacaacccaattcgtagttttttattcccagtga
+atagtagccgtttttgtttttaattaagaaaccacaatccaccattacattcaataaatt
+aagcaggctgcttttggggtactggaatttatttaataactccatataacttgccatacc
+aacccatgcaatgtgggttaatattttttcagcacggactaatgaattacaccctttgcg
+aaccataatggctcctccttgctcatggaataaatggtatcggcattacatagtggaaaa
+tatgctttgttcagcatgctgaaccgtaatgatgtgattaaatgtgatcttgtacacact
+ttgaataatgaatccagaacagccacatttagtgaatgagaataaaaagtagatggcgtg
+ttgttgcaacatcgtagtgtgtggattgcgcctagagcttctttattcgttcgagcgcat
+cgccaatattttctattgggtgccattgattatttttgcttgaaatccctctcgaatgaa
+cttacttatcactttattgaatgaggtaaaaacaactgacatccggctcgctgataacgc
+tgtgcaatagtctcaggtaacccgctgtcactgatgatcgttttaatacatgatagtgtt
+gctacagcatgcggctcaacggcatcaaattttgagtgatcggccatgagaataacttca
+cgcgagcgttgaataatccgtgttttcaccccgacctcaaacatggtggcattggtgatc
+cccgtctccagcgacagcgcatcgcaggagataaacgcacgttctacggaaaaggcattg
+atcatctccagcgccagactctctcctaccgaaaaataacctgggcgaatcagtcctccg
+ataatgtaactttccacatggggaaaacagcccagttcattggcgattttaatgtcgttg
+cagatgacctttacccgcgcatcggccaggcatttcgccagttcgaggcaggttgagccg
+gagtcgagaaaaaagcagtcgccatctttgatcattgttcgggcaagggcagctatttct
+cttttcgccacagattgcaatgtacgtttcacgtcgaagacgtactctttgtcgtctgta
+ctgtcgtcgaagtccaggcaaccgtgaccgcggatcatgcctggatactggttgacaata
+tactggaaatcacgacggacagtcgcttccgcatagccaaaaagctccatggcctgctgt
+gtggagaggtgacgatgttgccacaggtagtgcagcatctgtttgatacggtcaggtctc
+tgttggctcatcagaaacaatctcctcttacagggtggcgaattgagctaaggtcgcgcg
+atagtcagatgaagagaacagggcgcgcccaatcaccatatgttgcgccccagctgctgc
+cagttgctgtgcagctgccagcgtaattccaccgtcggcccagcactcggtctgaggaaa
+agccgtgcgtactttttggattttctcgcacatggagggaataaaccgctgtccctgccc
+atcgggctcactggtcatcaccatcactccgtccagctcagacgccagatatcgccaggc
+gtcgatcggggttgccggattaaataccagtccggctcgtgcgccggtatggcggatctc
+agttaacgtttccgaaggatagtccagcgtttctgcatgaacgaagatccacgcgggtct
+gatttcagccagcgcgttaaaccagcgctgtggccgggcaagcatgaaatgaaaggacaa
+gggatgaggcgtctgtctggcgacggcctgcaccgttttcatcccaaacgtaatgttgtt
+aatgaagctgctgtcctcaatatccagatgcaggctcccaaaatccagattgtccaatgc
+cgtcagctcacgaccatagtgcagaggatttgcgctggcgagagaagggtgcaggatcat
+aagcgcctccgttaacctgataccagcgcaaacagtgcatcgtctgtgctggcatttccc
+actgccgttaagcgttgtggcgaatcaataaactggctgatgcgctgaatggtcaaaata
+tgtgcgttggcatccgtggcgctgacgcagagaagcagccagacggggtcgcactcctcg
+ttaccaaaggcgaccggggtgcgtagcgtggtgatactgacctgattatagtttgcgcct
+tgctctggtcgggcgtgaggcaaggcgattcctggggctatcagataataaggcccccag
+ttaagggtattttcgatgatcccattaacgtagcatggctgcgcggcaccataggctacc
+agcgggcgggtggcgatttccacggcctgacgccagtcggtggctttacgttgtgcctgt
+acccatttaatatcgttaatcatccgtcgttgactccatgccgattcgggttaatctggt
+agcgatccccgtcgatacttttgacgaaggcggcagggatcgcagaagggttattgctct
+ttgccggggataagcgctctgcttatccccatcttatcggcgtatatgatgcactttctc
+cataaactgactgactcgcgcctggtcaacgaaattggcaaaaacgccgtcctttttaaa
+ggtggttgcggtcacacagccatcggcgatactgagttgttcctccacgttttccaggca
+gacgcccgtgttggccaacacgacggtgtcaggcaccgtttctttgacccgttttaacag
+cgcgctgtcggtacgcgtcccggcggtcaggccagaaacacagagcgcatcaggatggtt
+gttaaatactgtcgatttagcaatagaacagatatcgcgattgcccagatacacggcggc
+ctctgggacgatattgaacaaggttttcacttcgcctgcaccaatccggtgttgatgacg
+gatggtctcaccgacgttagtgtcccagacgccaaagtcgctggcataggcaccggtaaa
+tatctcgcggataaacttagcgccggtagccatcgccaggtcgaatgaggcgaccggatc
+ccacagaacattcacgccaaacgggatgcggatatcgctcattaattgcccgatgattcg
+tgccattgccgcagtggtttccggacgcaccttcgtgagatagggaagactaaactcgtt
+ggagaacatgactgcatccaccccaccattttggagcgccatcagatcgtcccaggcttt
+gtcgataacccagttcatccccaactgcgcatcaaaactcgggtcgccgggcaatgcacg
+tagatggcacatggcgatgaccgctttttccgtcccaataacctctttcagccaactcat
+tgaaagtactccttattccgataattcacgtttacgtaagaacagcacgacgctggcgac
+aataccgaccgccacgacaacgccaataatcccaagcgacatcaattcagaaatcgacca
+accgaacatattgcccacggacaacgctgagatttgcgcactttcaccggcaaaactgaa
+accgcctttgagcgccatttcagtgaagtaaggcgcgaactgggtggcgatcagcaggac
+ggtaatcatcacgatgaccccgcttatcaacgtcctgaccaggtctccgcggtggataac
+cgtagccatacagataaagaacggtgctaccggcaggtctgcgaggggtaacactttgtt
+gcccggtaaaatgctggccagaattaacataatgggtatcagtagcagaccgacagcaat
+ggtggttggatgccccagcgtcacagcagtatccagaccgatatacacttcacgtccttt
+gaaatatttctggaagaactttcttgcaccgtcggagatgggcagcaggccctcaacaat
+caggcggatcatgcgcgggaacaacaccatgattgccgcaacggtaatcatcagactggc
+gcaacctttaaagccttcaccagccgccaggccaaaaatcagaccgagcactacgccgat
+aatcaccggatcgccgaccatgccgtagcgtttctggatctcctgagcatcgatattgcg
+tcccttcatgaaagggattttttcatagatagcatcaagtagaacgaaaagcggtactga
+actggaaccgtagccttgcggtatcgaaataccttccagcccgacgatgttctgtacccg
+ttttgccgtccagtcggccatttttaacgatagcgccgcatggcagattgcccccagcac
+accataaatcaggctaccggtcataagctggaccaccgtacccgtaatggcgtagtgcca
+gtaattgtaaatatcgacgttcatcgttttggtcagacgggtgaccagcatggcgacatt
+gagaagaaaaataactgggataatcatggcgccaatggctgtcgcataaccaacgccgga
+ggcagggcctgcgccaacgtcaaagacatgcagggctaggccgaaacgctcaatcatcac
+tttgatagggggactgaggctgtcgatcgccatgacgatcaccagtcccataccgacaaa
+accaatcccaaccgttacccctgccttaatcgcctgcagccaggggatgcggaagataag
+gccaatcacgatcatgatgatagggacgaaaacggtaccgccgagagacaggatgtaatc
+aaacataatgcctccttttattgagttaacagagccttgatttgttgttttaacgcgtcg
+tcgttgatccctgtgagcagggcggcgccattaagcgtagggatgccgtaatcactgttg
+gttcgcatggaggttacaataaggtccataccgttacagttaagagggatctcattcaga
+cagcattgggcggtagtggctgaaatgccctgttcagtcaggaactcttgcagcttgtgt
+gcaatcatggttgaagtcgacatgccggtaccgcatgccacaaggatctttttcataatg
+gatgtgcctcttgtgtagtgcctgaatcaggctcaacggggaaatgtgctgctgacatac
+ctgccagagcggtcaataggcggatgcaatcagtcaaatcacgcaggctggcaacctccg
+ccggagaatgggtatagcgacaaggaatagagagactggcgcagggaataccatcctgct
+caacctggatataaccggtttctgttatcacgccgggagccacttctcgctgcaccggaa
+tgttgtgttcaagagccgtctgttccaacatccgtatcaggcgaggaggcgtgattaatc
+cggccagcgttccccgaccatggtagttcaggcaggtgatcccaacgccctgattaatcc
+tgacctcggaataatcgtgtaaatcaggggtgtcacacgatggagtgatatcaataccaa
+tcgccaggtcaggttttacacggcgtaatacgggaacaatgccgcggatattaaattctt
+cctgtaccgaagccaccagataaacggcgatatcaagctccatagtactgatagcatccg
+ctacaccgagcagggcagtacagcctagacgatcgtctagtgctttactgcacaccagat
+cgtttgccaggagttgcggcgggttatacagagtgacaggcgtaccgacctgaatgccca
+tccgtatagcgtcgtctttgtctttggcaccaatatcaatccacagtttgtcgacagaag
+gtgactgcgtgcgctcgtcgcctttggcaaagtggtaggacttaatgccgatacacccca
+tgactggccctttgtccccggtgagggtgacgatggaaccagccatagtgacctgcgcag
+gaccgcctacgcgttcaaagcgtaaaaatccagacggctctattttgcgcaccataaaac
+cgacttcatccatatgcgcaaaaatcatcagtcgcagcgcatcgggtttatcactaccgt
+agcgcgcgacgacattcccaagcctgtctcgccagacctcttttgcctgacgcctgaatt
+cgcacagcatgacgtcagcgacagcgttttcgtgtcctgaaatcgcattgtgctgcaaaa
+gcgagaacagggtttcctgcacagaaaatgacatagctatctccgtagaccgtaaaacaa
+tcactcgttgagcgttttataggcgcagactggtcgaataattgtgagaacgttcacgtg
+aaaacgcgcaaagctgaacaaataaaaaattatgtgagccgagtggaataaaagcgctca
+acgtttgtgaaagttacgggctggagagaccagtgattatggttgaaataatgaggatga
+ataaaacgcggtaactgttatagcaccactttgttgcaggacgctccctcttcattacgt
+cctgcacgtggataccccagcatctccatcagcggatcttagaatgtaatggcgcgtggc
+aggtcgttggttcccagcataatgtaagaaaacatcggatctcctgaatagattcagagg
+gagtatagataatcagctcaaatcactctccgctttatgagcccaggctggcattgccgt
+cagataacgttttgcacgcttatgtgcttcctccgggccgactttttgccaggaatcaag
+gaagctggctaaacctgataccgcttcttcccagggtttgagattgccgttgctgtcgct
+gcattacgcacaatattgatcactggcactgtgtgcatctggtgccgacatcggcattcc
+gcaagcctgacagaactgttcatgttgtgacatatgatgctccttatggtgacatcttga
+ttaataaacatactgaatatgtattgtgcaggtgatacatcagatcaaagcaaaggtaaa
+gcctcgatatttccagccagaaataccgggaacctgttgttaccgggcgatgagtgcgaa
+cacgccccagccaaagcattcccgcgcgtaggtcacgtagcgtttcggcgcgatgtttag
+ttcggccctgacttcggcggcgaagtcatcgtcaggattcgcttccagccagcggcgcat
+ggtcagccattttgcggcttcataccggtcccagccttcctggtctgccagtaccatttc
+caccacgtcatagccgagatcgtcgaacgctccgacaagtcctggcagcgtcaggaaatc
+gcttgtcgagctgacgccgcaggcctgggctatttcttctgttgctggtagctgacgcca
+gtagggttcgccgataagcatgatcccgcccggtttcaggctttgcgctagcagctcctc
+cgccccggcaaacccaccggcaatccatgtcgcgccgacgcaggccgccacgtcacattt
+ttcatttgcgacgtaaccggccgcatcgttatgaataaaatgtacgcgttcgctgacgcc
+gagttcttccgcgcgacgctttgcctgcgcggtgaagagcgaactcatgtcgatgccagt
+ccccgtaatgccatgatccctggcccaggtgcagagcatctcgcccgagccgctgccgag
+gtcaagaatgcgggtgcccggcttcatgcgcagcacgcgacccagcgtggcgtacttctc
+ttcggtgaacgggttatggatgcggtgttcactttcgctgatggtaaaaatacgtgggat
+atccattatttaattcctgttattgggttaagccttaaaaaggacacaacaagattgtta
+ttcacgtcagtgctccggtttcatcagggtctgcgcaccggatgtggccggtcagggtca
+tgggctgagcggtgagtgattgcatcatccagcaggctttgtgctcctccgggatgggat
+aaggtgccggatagcctttgtctccggcacagggttcgaacccatgtcgggggtaatagg
+tggcgtggccgagaacaaaaaccgtctggcagcccatcaacctcaggtgctcgatgccag
+tgcgtatcaaccgtcctcccacgcccatcccttggtattccggtatgaccgccaggggag
+cgaggatgtgcatcaacggtgaatccatttctcctttgaaggttgcccgggtaaataaaa
+tatgcccgacggctttgccttcataccgggctagcagcgataacgcggggcgcgcgcttt
+catcctcaagtaaagaggccactaaatcggcttctttgctgaagccaaatgcgcgggttt
+cgacttcccggatatcactggcatcacttttatctgtgatatgaaaagtgaagtggtgta
+ctgtcatagaaactctccttagcgattatcgagctgagcgcgaactttattcagctcggt
+ggtgttgattcgatagggctggccattgacggacttgataagttttttggttttgagttt
+tttgaagacggcgagcgtgcagtcggtcagcaacagcccttcgcggctgtagcattcaac
+ggaagtgacgcggcctgaagaatcgcggacgtgcgcaatacgtctacctttagcgagaac
+gtgtaaggtatgttgttcctgacgggataaattcatactgaagaacctatttaatcatca
+tgtgcaaaacgtgcaaacacaccgcggtgtccgcattcgatttcggcgcattgataatca
+gtccggcctgaaaaggtcggggaactgattatcggatgattacattctccagcatcaaag
+cctcgggttgagttgaaaggtatttacggagcgaatattaacacgtagttataggaggga
+tatgtttcagtagaaaaagtgtgatgtactttggaaattgaatgccaacccatttactgg
+aaaaggcagatgacactgacgaatgcatgttgaagtacgcctgaaatggcctcatcggct
+tttcccttcgggagattattctccttttgttaaatccagaacataaatatgctcacccat
+cttcgatgcttgaaaaattgaagccaatcctgataagtaatttttttgaaagggtatttt
+ccggattcacaccggctttgatgagtgaaaaaccgttctcttttattcagtcaatcgtgg
+cggtaattgcttcaattgcatatccctggcgagcataagcgggactgatggtatagccga
+gccaaaacacatcgcattgctgacgtaaatagatatcaccaatcaaaacctgcgtcattt
+gttgacaatggccaattgaatatcgcgagcaagtgtaagaactcccagcaagaccctgta
+aataattctgtgtaactgcccacgattaaaggtggccgctcaggcggtcaccgtattcga
+taataaatgggtctggaaaaagtgcagcatctggcagcgtaatgcaggtagcccagttca
+actctcactaccagtatgatcccaagttcgagcgcggaatgtatctgtatgagcatcgtc
+gctgtttcaataacatcatcgactactgtaactcactttgctatcacggtaagttgcagc
+ctaaaagagggatggaaaaaggacgattttccccgcaatgggatatttacatattgatgg
+tagaggcatgaagccaaatggagggagccgtcataaccctcttgaagctgaaacaatagc
+agcatggctggtggcacataaggatgatatagagcgccattacggggaaccactgtacaa
+agttgttggtgttgtgacgccattttcggcgcaggttaatgctatcaaaatgtcattgcg
+taagctggaaattaatggcaaagacgagcagggtttactgacagtggggactgtgcactc
+cttgcagggggcggaaagggcgattgttctcttttctcctgtctactcaaaacatgaaga
+tggcaggtttcttgatagcaacagcactatcctcaatgttgctgtctcacgcgctaaaga
+tagttttctggtatttggcgatatggaccttatcgagatgcagcccgcattttcgccgcg
+agggttattggcaaaatatctcttttcttcagataataatgcgttgcaatttgagtttca
+gaaacgacaggatttaatttccgcacatacacaaatttcaacgctgcatggtgtggagca
+gcatgatgaatttttgaacaagactcttgccggagctcaaaagaaaataacgattatttc
+cccttggttatcctggcaaaaagtggagcaaacgggatttctggcatcaatggctttggc
+ccgttcccggggcattgatattaccgtggtgacggataaaaactgcaatatagcgcatgt
+cgatgatgataagcgtcaggagaaacaacatctgctgaatgatgctgttgaaaagctcaa
+taagatgggtatcgctacgaaattggttaatcgtgttcacagcaaaattgtgattgagga
+tgaagaactgctgtgtgtcggatcttttaactggttcagtgctacacgggaagataagta
+tcaacgatacgatacgtctttggtgtaccgtggtgaaggcgtaaaaaatgaaataaaggc
+aatatatggtagtctggatcaacgtcagctttaaatgtgatgagccgttcatgatacagg
+agtagtaaagggcatattttaccaatgttaaggcgactttccgttttattgcgagtcgcc
+tttcctgattataaatcttattgtttacctaatcattttcctttgcataatgcgcctggg
+attaatggcgggtgcttttaggaatgaaagaaaatgcaagcaataatataataatggcct
+aatttctttgaacatcattaagcatatcatcatcgtctatttgccagaatccgtcgactt
+ataatcgccagaacggcatatcaggacggtgctgcgaacgctgtggcccaaaacgttcca
+gtaaactgtgtagatgttcgtagatttccgagccataatcgaaaaggcgcggatgtctat
+taaggcatccggctaatctgtaagcaataacaacggtttatgcggtgcgcgtttttcacc
+cttgtgccagattattatattggcaattgcctgctgttcgagcccgcaagtgaagagata
+ttaccttgatctcatttgttttttgttgtctactctgagaacgaacaaggacatccccca
+tgaataaactccccgctcacctttcgcgccaaaactgcaaaattgcttctacaaatctgt
+cagaaataatcccccgacgggctgcagtgctgaaatgactgcttcgcagtgccgtcgtcc
+agttctccggtgaccggtacgctgaaccgtaatatcccgtgcttaaatcgtccgggtctt
+catcaggcgcgttcgtcagtcctctttcaccttgttgctggaagtcgacgaaaataatat
+tggctaaaacattattttgataattgccataaatagcttcatacgaatgcgggaaatttt
+ctttccagtaccaggtggtatcgccgcaaaaccacggcgcgtcagtaatattattaagct
+gagaatggtattgttttagatccctacgaaaggcttcaaccatatgattaaagtgttgag
+ggtgtgacgcgtagtcactggtcattaagtcaaattcgccttgcatccagcatgcgccga
+ggaatttgttctgcggattttttgccagtgcggctcgcgttctgctgactaaatcctggt
+acagcggagtatccgttccccaacgacaagcatcatggctggctccgtgccgttctgaat
+atgtcccttcgctgcccgcggtaaaagccgatccgccacggcaacacggaacgataagaa
+tccctgcattatcaggaatgaagggcagtaatttccgtgcaatatgcagtgcctggccaa
+cggtgccgtactgtgtttgatgattcgttgccagaggatggtgataaccctgcatatcct
+gaacatcgtgtgggcagtgagtcagtggaataatgtcgttaaagtgacatggcgggcctc
+cgggatgcgtatgcgcaaatctcgctaattgtttaattctgggatgaggcgcatcttccc
+tgtccggtaatggcagtccttcgccatacgccatggcattagactgaccagcaacggtaa
+gaacatagtaataatcgggcgatattattgcgttcatataaatttcgcgtaattgaaatg
+acaaattgatagcagggcccctttaccggggccctgaagcgttagttttgtactgtgact
+ttattatccttcacagtgatcaaaactgaatccgtcaccgctttgccgcctgcagtttca
+ccgccaataatcaatagactattattccagggcaatgatactccgtaggcccgaccttgc
+gataattcacccgatttatcccatttcccgttatgccaaagatgaatatcagtgctatat
+gattttttcaggccttcatgcgcatagttcttaccgttctggtaattttctcgtgaacct
+ttgaatccggcccctccggcaaatataagagaatcattgcttatccccgcaaaaccgcca
+gctacgccatctggtgatgagacgggagcaagcttattccattttaaattattaccggtg
+aaatcaagttcaaatacggcatccgttcgcaatcctggtttggcttcgccattaataagc
+caggttttatcacctttattcacaaccgccgcaccagccgttccgtaccagggcgattcg
+ccagcgtaactccattgctgtgttgagggatcaaaagacaacagaaacttattgaagaaa
+taatcttctgcttttttgtcaaaatagtgagcattgattttatctatagcggttgaatct
+tttccagcctcgttgagatcttcaaaatagccattgaagatattctggttaacaccacca
+gtaacataagccttgccgttgtgtacaaaagtcacatggcccgccatgcccatcggcgcg
+tgcgacatcaatttaacccaactattggttttggggttgtatttgtgtacgtcattaaat
+acctgagtcaagccctcgctgtttttgccaatgccgccaaacacatacagattgccatca
+ataaatgcagaggttgcttgatctcttggtccgccagggaatgcagctaacgctgtccat
+tttttatctttggcctgtgtatccagcttgtaccatgccgtacctgcgctacctaaacca
+atgtagacagtgtcgttatcaattgctccggtaccacttttaaatggcacaggagtttcc
+ggtaatacagacgcgtttgcggcaaatgaagccatcatgatagcaagcgccgttattgtt
+ttattcattgtgactgtctcctgtctactacagtttaaatgacacaccaatgcgataact
+gttttccgataaattatctctgccgttgtaaacaccctgacggtcaaggtagtcatattc
+tatgtatggcgtaatatcgggcgtcatatggtattgtagaacaaatgcattttccgtcgc
+ccatttcttatggtttgcatagcgataatcgttctgtttgctgtatagcgtcgtttgcca
+tgcgaaggtgaaatcactattaatatggtaagtgacatatccatcccaacgatgaacgtt
+atcacgagacatatcaccggataagtcttgttgtcggtaagctttccagtcgtaacgata
+gcgaatgccaaaattaagatcttttgtcgcgtcccaggacagttttacgtagggtccgta
+gcgtgtgccgttgctgctaaaatgcgttaacattcccgggcgcaccgtccattgatcatc
+aagtttaatcgcgtaattaacttcaacctgaacatcattgagtgcggcattttccttttt
+attatcatgaatggtattccaggtattactttccatgcttgcccaccatccattttgcca
+tccctcactgactttgagtcgagtctcataggcgtggcttccactacgatatccaccacg
+tacgtccagtgtcgcagcctgagaaattaatggggacgaaaagcacagtaataatacgcc
+agaaagtattttagcctttttcataaatttcactcatttgtaggatacagaaagcaatac
+aaagcccgcataaacaattagcatttatgttgtgtaatatttttttgccaggcttatagt
+gtctttggcaaccggtagctgtattttatatttttttgtataaggtctcctgtgaaaaat
+ctcttttcacattatttaaataaacagagatccagattaaatacctgagtataaaatctc
+ttctgatgtttaattgatttgaatgttcgtaagctatatcacttactcaatccattttac
+ccagagtcataaaatagaatgtctgttgatctcattttcatattcctttcagactgaagt
+gcgttttcatcacccgatgagaaagaactgaagtgatgtttgccatagattgcgagatgc
+cctgtctcattgactatcttggtgcacctttatacctgttataccagatcaaaaatcacg
+caatccatacaacaaaaccagatttgcaattcgtgtcacaaaatatgtcgatctttttct
+aagaggaagatgccatgtgaagccagacgaacacttgcggtggtcttcaaaaactaaaga
+tcttagtttaactatttgttttataaataatttattaagagtctaaacaaggggagcttt
+gcaagctaactcagtgagcttggtgaaaatcagtgtttacccgccatcaggctgagcata
+attctcatcatgaaatatgtttcctggtttgtggcttgtaactggtcacttctgaagtcg
+atctggagaggcttgttgatgttggtgttttcaggatgatgtttcacttagtttgtttgc
+cgtatcgcccggcgaatggctgtgattgaggaaggtttaagtcgtagtgaccaaagctat
+atttaccaacgaatgtagatgaaaaaatcatctcctgcgttcccccatatctctaggata
+aaaaggaatgtaacaatctcatggcgtaagctgacgaatcagcaggaataatcgctaggg
+acctaagaattagcatgataatagccactaagaaattactgcgctccatgaaatagccat
+tttgtggcaaatggagttgactaataatgtcatatgtgagacggctagttgaacgaatat
+taaattttgctgaattttttatgttgattttacttgttacagaacatatcacatgatata
+tagataagattagttgcattaatgatgagggttattattagattcgtatccgattgataa
+atatataaaggtacatagcatgcaagagcatggcgtttgtatggcaacgttattataatt
+aacagttgctactccatttaagttcactcagaagaactggtccacttacgttagttatta
+agcaaacgttcgcttttataaacataatcaggataaaaatgttggattattgctaaccca
+gcacagctagtgcgcgtctgtaattataagggaaaaacgatgaagaataaggctgataac
+aaaaaaaggaacttcctgacccatagtgaaatcgaatcactccttaaagcagcaaatacc
+gggcctcatgcagcacgtaattattgtctgactttgctttgttttattcatggtttccgg
+gcgagtgaaatttgtcgattgaggatttcggatattgatcttaaggcaaagtgtatatat
+atccatcgattaaaaaaaggcttttcaacaacgcacccgctattgaataaagaagttcag
+gctttaaaaaactggttgagtatccgtacttcgtacccgcatgctgagagcgagtgggta
+tttttatcacgtaaggggaatccgctttctcggcaacagttttaccatattatctcgact
+tccggtggtaatgccgggttgtcactggagattcatccgcacatgttacgccattcgtgt
+ggttttgctttggcgaatatgggaatagatacgcgacttatccaggattatcttgggcat
+cgcaatattcgtcatactgtctggtataccgccagcaatgcagggcgtttttacggcatc
+tgggatagagccagaggacgacagcgtcacgctgttttatagagatagttgagataccag
+ggatggtgttaaaaactacattattcttacgatatatcaaaaatgattaaccatttatta
+attgatgttattgtaagtgtgattcttaattatcataataaacattaagttaaccatatc
+catacaaaatacaatggtttatgttcttcaaaataaataaacaaaatcattcataaattt
+acacatcacttaaaatctcctgtttccgcacttttttctttattttttaagcaactggaa
+gttaatccactgcaatctattgttatattgaatcaaatcaatgaaaatagatgttgtcac
+atcagtgatattttatttttgtatgatatttaatgtaattgactgatagccacatcactc
+cgtgtgtggttatctttttatctattgggctaattttgaccgattgaggtttcctatagg
+tattcattcaaatatatctcagttaggagtactactattgtgagtaaacgtcgttatctt
+accggtaaagaagttcaggccatgatgcaggcggtttgttacggggcaacgggagccaga
+gattattgtcttattctgttggcatatcggcatgggatgcgtattagtgaactgcttgat
+ctgcattatcaggaccttgaccttaatgaaggtagaataaatattcgccgactgaagaac
+ggattttctaccgttcacccgttacgttttgatgagcgtgaagccgtggaacgctggacc
+caggaacgtgctaactggaaaggcgctgaccggactgacgctatatttatttctcgccgc
+gggagtcggctttctcgccagcaggcctatcgcattattcgcgatgccggtattgaagct
+ggaaccgtaacgcagactcatcctcatatgttaaggcatgcttgcggttatgaattggcg
+gagcgtggtgcagatactcgtttaattcaggattatctcgggcatcgaaatattcgccat
+actgtgcgttataccgccagtaatgctgctcgttttgccggattatgggaaagaaataat
+ctcataaacgaaaaattaaaaagagaagaggtttgatttaacttattgataataaagtta
+aaaaaacaaataaatacaagacaattggggccaaactgtccatatcataaataagttacg
+tattttttctcaagcataaaaatattaaaaaacgacaaaaagcatctaactgtttgatat
+gtaaattatttctattgtaaattaatttcacatcacctccgctatatgtaaagctaacgt
+ttctgtggctcgacgcatcttcctcattcttctctccaaaaaccacctcatgcaatataa
+acatctataaataaagataacaatagaatattaagccaacaaataaactgaaaaagtttg
+tccgcgatgctttcctctatgagtcaaaatggccccaaatgtttcatcttttgggggaaa
+actgtgcagtgttggcagtcaaactcgtttacaaaacaaagtgtacagaacgactgccca
+tgtcgatttagaaatagttttttgaaaggaaagcagcatgaaaattaaaactctggcaat
+cgttgttctgtcggctctgtccctcagttctacagcggctctggccgctgccacgacggt
+taatggtgggaccgttcactttaaaggggaagttgttaacgccgcttgcgcagttgatgc
+aggctctgttgatcaaaccgttcagttaggacaggttcgtaccgcatcgctggcacagga
+aggagcaaccagttctgctgtcggttttaacattcagctgaatgattgcgataccaatgt
+tgcatctaaagccgctgttgcctttttaggtacggcgattgatgcgggtcataccaacgt
+tctggctctgcagagttcagctgcgggtagcgcaacaaacgttggtgtgcagatcctgga
+cagaacgggtgctgcgctgacgctggatggtgcgacatttagttcagaaacaaccctgaa
+taacggaaccaataccattccgttccaggcgcgttattttgcaaccggggccgcaacccc
+gggtgctgctaatgcggatgcgaccttcaaggttcagtatcaataacctacccaggttca
+gggacgtcattacgggcagggatgcccacccttgtgcgataaaaataacgatgaaaagga
+agagattatttctattagcgtcgttgctgccaatgtttgctctggccggaaataaatgga
+ataccacgttgcccggcggaaatatgcaatttcagggcgtcattattgcggaaacttgcc
+ggattgaagccggtgataaacaaatgacggtcaatatggggcaaatcagcagtaaccggt
+ttcatgcggttggggaagatagcgcaccggtgccttttgttattcatttacgggaatgta
+gcacggtggtgagtgaacgtgtaggtgtggcgtttcacggtgtcgcggatggtaaaaatc
+cggatgtgctttccgtgggagaggggccagggatagccaccaatattggcgtagcgttgt
+ttgatgatgaaggaaacctcgtaccgattaatcgtcctccagcaaactggaaacggcttt
+attcaggctctacttcgctacatttcatcgccaaatatcgtgctaccgggcgtcgggtta
+ctggcggcatcgccaatgcccaggcctggttctctttaacctatcagtaattgttcagca
+gataatgtgataacaggaacaggacagtgagtaataaaaacgtcaatgtaaggaaatcgc
+aggaaataacattctgcttgctggcaggtatcctgatgttcatggcaatgatggttgccg
+gacgcgctgaagcgggagtggccttaggtgcgactcgcgtaatttatccggcagggcaaa
+aacaagagcaacttgccgtgacaaataatgatgaaaatagtacctatttaattcaatcat
+gggtggaaaatgccgatggtgtaaaggatggtcgttttatcgtgacgcctcctctgtttg
+cgatgaagggaaaaaaagagaataccttacgtattcttgatgcaacaaataaccaattgc
+cacaggaccgggaaagtttattctggatgaacgttaaagcgattccgtcaatggataaat
+caaaattgactgagaatacgctacagctcgcaattatcagccgcattaaactgtactatc
+gcccggctaaattagcgttgccacccgatcaggccgcagaaaaattaagatttcgtcgta
+gcgcgaattctctgacgctgattaacccgacaccctattacctgacggtaacagagttga
+atgccggaacccgggttcttgaaaatgcattggtgcctccaatgggcgaaagcacggtta
+aattgccttctgatgcaggaagcaatattacttaccgaacaataaatgattatggcgcac
+ttacccccaaaatgacgggcgtaatggaataacgcagggggaatttttcgcctgaataaa
+aagaattgactgccgggtgattttaagccggaggaataatgtcatatctgaatttaagac
+tttaccagcgaaacacacaatgcttgcatattcgtaagcatcgtttggctggtttttttg
+tccgactcgttgtcgcctgtgcttttgccgcacaggcacctttgtcatctgccgacctct
+attttaatccgcgctttttagcggatgatccccaggctgtggccgatttatcgcgttttg
+aaaatgggcaagaattaccgccagggacgtatcgcgtcgatatctatttgaataatggtt
+atatggcaacgcgtgatgtcacatttaatacgggcgacagtgaacaagggattgttccct
+gcctgacacgcgcgcaactcgccagtatggggctgaatacggcttctgtcgccggtatga
+atctgctggcggatgatgcctgtgtgccattaaccacaatggtccaggacgctactgcgc
+atctggatgttggtcagcagcgactgaacctgacgatccctcaggcatttatgagtaatc
+gcgcgcgtggttatattcctcctgagttatgggatcccggtattaatgccggattgctca
+attataatttcagcggaaatagtgtacagaatcggattgggggtaacagccattatgcat
+atttaaacctacagagtgggttaaatattggtgcgtggcgtttacgcgacaataccacct
+ggagttataacagtagcgacagatcatcaggtagcaaaaataaatggcagcatatcaata
+cctggcttgagcgagacataataccgttacgttcccggctgacgctgggtgatggttata
+ctcagggcgatattttcgatggtattaactttcgcggcgcacaattggcctcagatgaca
+atatgttacccgatagtcaaagaggatttgccccggtgatccacggtattgctcgtggta
+ctgcacaggtcactattaaacaaaatgggtatgacatttataatagtacggtgccaccgg
+ggccttttaccatcaacgatatctatgccgcaggtaatagtggtgacttgcaggtaacga
+tcaaagaggctgacggcagcacgcagatttttaccgtaccctattcgtcagtcccgcttt
+tgcaacgtgaagggcatactcgttattccattacggcaggagaataccgtagtggaaatg
+cgcagcaggaaaaaacccgctttttccagagtacattactccacggccttccggctggct
+ggacaatatatggtggaacgcaactggcggatcgttatcgtgcttttaatttcggtatcg
+ggaaaaacatgggggcactgggcgctctgtctgtggatatgacgcaggctaattccacac
+ttcccgatgacagtcagcatgacggacaatcggtgcgttttctctataacaaatcgctca
+atgaatcaggcacgaatattcagttagtgggttaccgttattcgaccagcggatatttta
+atttcgctgatacaacatacagtcgaatgaatggctacaacatcgaaacacaggacggag
+ttattcaggttaagccgaaattcaccgactattacaacctcgcttataacaaacgcggga
+aattacaactcaccgttactcagcaactcgggcgcacatcaacactgtatttgagtggta
+gccatcaaacttattggggaacgagtaatgtcgatgagcaattccaggctggattaaata
+ctgcgttcgaagatatcaactggacgctcagctatagcctgacgaaaaacgcctggcaaa
+aaggacgggatcagatgttagcgcttaacgtcaatattcctttcagccactggctgcgtt
+ctgacagtaaatctcagtggcgacatgccagtgccagctacagcatgtcacacgatctca
+acggtcggatgaccaatctggctggtgtatacggtacgttgctggaagacaacaacctca
+gctatagcgtgcaaaccggctatgccgggggaggcgatggaaatagcggaagtacaggct
+acgccacgctgaattatcgcggtggttacggcaatgccaatatcggttacagccatagcg
+atgatattaagcagctctattacggagtcagcggtggggtactggctcatgccaatggcg
+taacgctggggcagccgttaaacgatacggtggtgcttgttaaagcgcctggcgcaaaag
+atgcaaaagtcgaaaaccagacgggggtgcgtaccgactggcgtggttatgccgtgctgc
+cttatgccactgaatatcgggaaaatagagtggcgctggataccaataccctggctgata
+acgtcgatttagataacgcggttgctaacgttgttcccactcgtggggcgatcgtgcgag
+cagagtttaaagcgcgcgttgggataaaactgctcatgacgctgacccacaataataagc
+cgctgccgtttggggcgatggtgacatcagagagtagccagagtagcggcattgttgcgg
+ataatggtcaggtttacctcagcggaatgcctttagcgggaaaagttcaggtgaaatggg
+gagaagaggaaaatgctcactgtgtcgccaattatcaactgccaccagagagtcagcagc
+agttattaacccagctatcagctgaatgtcgttaagggggcgtgatgagaaacaaacctt
+tttatcttctgtgcgcttttttgtggctggcggtgagtcacgctttggctgcggatagca
+cgattactatccgcggctatgtcagggataacggctgtagtgtggccgctgaatcaacca
+attttactgttgatctgatggaaaacgcggcgaagcaatttaacaacattggcgcgacga
+ctcctgttgttccatttcgtattttgctgtcaccctgtggtaatgccgtttctgccgtaa
+aggttgggtttactggcgttgcagatagccacaatgccaacctgcttgcacttgaaaata
+cggtgtcagcggcttcgggactgggaatacagcttctgaatgagcagcaaaatcaaatac
+cccttaatgctccatcgtccgcgctttcgtggacgaccctgacgccgggtaaaccaaata
+cgctgaatttttacgcccggctaatggcgacacaggtgcctgtcactgcggggcatatca
+atgccacggctaccttcactcttgaatatcagtaactggagatgctcatgaaatggtgca
+aacgtgggtatgtattggcggcaatattggcgctcgcaagtgcgacgatacaggcagccg
+atgtcaccatcacggtgaacggtaaggtcgtcgccaaaccgtgtacggtttccaccacca
+atgccacggttgatctcggcgatctttattctttcagtcttatgtctgccggggcggcat
+cggcctggcatgatgttgcgcttgagttgactaattgtccggtgggaacgtcgagggtca
+ctgccagcttcagcggggcagccgacagtaccggatattataaaaaccaggggaccgcgc
+aaaacatccagttagagctacaggatgacagtggcaacacattgaatactggcgcaacca
+aaacagttcaggtggatgattcctcacaatcagcgcacttcccgttacaggtcagagcat
+tgacagtaaatggcggagccactcagggaaccattcaggcagtgattagcatcacctata
+cctacagctgaacccgaagagatgattgtaatgaaacgagttattaccctgtttgctgta
+ctgctgatgggctggtcggtaaatgcctggtcattcgcctgtaaaaccgccaatggtacc
+gctatccctattggcggtggcagcgccaatgtttatgtaaaccttgcgcccgtcgtgaat
+gtggggcaaaacctggtcgtggatctttcgacgcaaatcttttgccataacgattatccg
+gaaaccattacagactatgtcacactgcaacgaggctcggcttatggcggcgtgttatct
+aatttttccgggaccgtaaaatatagtggcagtagctatccatttcctaccaccagcgaa
+acgccgcgcgttgtttataattcgagaacggataagccgtggccggtggcgctttatttg
+acgcctgtgagcagtgcgggcggggtggcgattaaagctggctcattaattgccgtgctt
+attttgcgacagaccaacaactataacagcgatgatttccagtttgtgtggaatatttac
+gccaataatgatgtggtggtgcctactggcggctgcgatgtttctgctcgtgatgtcacc
+gttactctgccggactaccctggttcagtgccaattcctcttaccgtttattgtgcgaaa
+agccaaaacctggggtattacctctccggcacaaccgcagatgcgggcaactcgattttc
+accaataccgcgtcgttttcacctgcacagggcgtcggcgtacagttgacgcgcaacggt
+acgattattccagcgaataacacggtatcgttaggagcagtagggacttcggcggtgagt
+ctgggattaacggcaaattatgcacgtaccggagggcaggtgactgcagggaatgtgcaa
+tcgattattggcgtgacttttgtttatcaataaagaaatcacaggacattgctaatgctg
+gtacgcaatattacctgaagctaaaaacctgcacgttagccctttgtaggccagataaga
+cgcgtcagcgtcgcatctggcataaacaaagcgcactttgctggtctgttcccctcaccc
+taaccctctccccggaggggcgaggggactgtccgggcacatttttagactttgtcatca
+gtctgagcctgccattggcaggctctggtgtccttttacgctaccatgctaataatcagc
+acaataatcagcccaaccacggagttgaccagctccagcagaccccaggttttcaacgtg
+tcttttactgacaggtcaaagtaacctttgaacaaccagaaagatgcatcgttaatgtgg
+gtgagggtgttggaacccgcagccgtcgccagtaccagcagcgccggattcacgccaacc
+agctgaccagttgctggatctaggattgcagcactgataatcccggcggcggtcatcgcc
+gaaacgacaccctgacccgtcgccagacgaattagcacagtgatcagccatgccatgatg
+tagggcgagatattgccgtgggacatcaacatgccgatggtgtcgccaatgccggtgtcg
+atgatggtctgcttcagcacgccacccgcaccgatgatcagaatcaccattgcaatactc
+ttcaccgcgctttcaaaagcgttcatcacccactgcatgtcatgaccacgtgcggtgcca
+aagagtacgaatgcaaccaccatcgcaataaacattgcaatcggcgaggaaccgataaag
+ttaaccacttcccaggcaggggtatcttttaccagccagatattggcgatggtggtagag
+atcataatgatcgccgggatcagcggcaccagaatcgaaacgccgaaagagggcagatta
+ttcatatctaccggttgatctgctttcaggaatgatggcgttgggcgctcaagattgccg
+aggaacttcggcaggatcagacctgcgcagattacacttgggatcgtcaccagtacgcca
+tagatataaaccatccccatatccgcgccataagcattcaccagcgccaccggacccggc
+tgcggtgggaacagtgaatgtgcggtagtggcagctgctactgccgggatcgccagtttc
+aggaacggaattttagcttcggcggcaataacaataaccagcggcgctaacatgataaag
+gccacttcatagaacatcgccagaccaaaaatcaggccgatgataatcaccgacagctgt
+acatagcgcagaccgagacgcgccagcagcgtatgcgctatctggtgagccgcgccggag
+tcgaccatcaatttaccgatgaccgcaccgaacaccacgatgatagccagttcccccagc
+gtgttgccgaagcccgctttcatagtgtgcagcagcgacatcaaatccatgcccgccagc
+atcccgacggacagcgccgccaccaacaaagccaccattgaattgattttgaacttcaaa
+ttcagtaccagcatcagaccaatgccgaataccacccagagaatgttaagcacatgcata
+acgttttaccttacctggttgaaccgttgttattttgggcgatatgttatgtaaattggt
+caaccattgttgcgatgaatgtcacatcctctgatcaataaccatcgattaccctttgct
+gcaatttgcagcaacaaccatgagagtgaaattcttgtgatgtggttaaccaatttcaga
+attcgggttgacatgtcttaccaaaaggtagaacttatacgccatctcatccgatgcaac
+gccacggctgcggtctggttgttcatccggatacctaaacaactccagggttccgcgtct
+ctttgctgtggaacccactatgtgaaagaggaaaaatcatggaacagacctggcgctggt
+acggcccaaacgatccggtttctttagctgatgtccgtcaggcgggcgcaactggcgtgg
+ttaccgcgctgcaccatatcccgaacggcgaagtatggtccgttgaagagatcctcaaac
+gcaaggcgatcattgaagacgcaggcctggtgtggtctgtcgtagaaagcgtgccaattc
+acgaagatatcaaaacccacactggcaactatgagcagtggatcgctaactatcagcaga
+ctctgcgcaacctggcgcagtgtggcattcgcaccgtgtgctacaacttcatgccggtgc
+tcgactggacccgtactgacctcgaatacgtgctgccagacggctccaaagctctgcgct
+tcgaccagatcgaattcgctgcattcgaaatgcatatcctgaaacgcccaggcgcggaag
+cggattacaccgaagaagaaattgctcaggcagctgaacgcttcgccactatgagcgatg
+aagacaaagcgcgtctgacccgtaacatcattgctggtcttccgggcgcggaagaaggct
+acaccctcgaccagttccgtaaacacctggagctgtacaaagatatcgacaaagcgaagc
+tgcgcgaaaactttgccgtcttcctgaaagcgattattccagttgctgaagaagtcggcg
+tgcgtatggctgttcacccggacgatccgccgcgcccgatcctcggcctgccgcgcattg
+tttccaccattgaagatatgcagtggatggttgataccgtaaacagcatggcaaacggtt
+ttaccatgtgcaccggttcctacggcgtgcgtgctgacaacgatctggttgatatgatca
+agcagttcggtccgcgtatttacttcacccatctgcgctccaccatgcgtgaagataacc
+cgaaaaccttccacgaagcggcgcacctgaacggtgacgttgatatgtacgaagtggtga
+aagcgattgttgaagaagaacaccgtcgtaaagcggaaggcaaagaagacctgatcccga
+tgcgtccggaccacggtcatcagatgctggacgacctgaagaagaaaaccaacccaggtt
+actccgcaattggtcgtctgaaaggcctggccgaagttcgcggtgtcgaactggcgatcc
+agcgcgctttctttagccgttaatatccaccggcatggctgcgcgccgtgccggttcctt
+cttccttgccgtcactctttgaagacggattctggagtttacgatgactactattgttga
+cagcaatctgccggttgcccgcccgtcatgggatcattctcgtctggaatcacgcattgt
+gcatctcggttgcggggcgtttcaccgcgcgcaccaggcgctgtatacccatcatctgct
+ggaaagcaccgacagcgactggggcatctgcgaagttaacctgatgccaggcaacgaccg
+cgtgctgatcgaaaacctgaaaaaacagcaactgctgtacaccgtagcggaaaaaggcgc
+agagagcaccgagctgaaaattatcggttcgatgaaagaagcgctgcatccggaaatcga
+tggctgcgaaggtattctcaacgcgatggcgcgtccgcaaacggcgattgtctctctaac
+ggtcacggaaaaaggctactgcgctgatgcggcaagcggtcaactggatctcaataaccc
+gctgatcaagcacgatctggaaaacccgactgcgccgaagtccgcgattggttacatcgt
+cgaagcgttgcgtctgcgtcgtgaaaaagggttgaaagcgtttacggtgatgtcctgcga
+taacgtgcgtgaaaacggtcatgtggcgaaggtcgcggtactggggctggctcaggcgcg
+tgacccgcagctggcggcatggattgaagaaaatgtcaccttcccgtgcaccatggttga
+ccgcatcgttccggcggcgacgccagaaaccttacaggaaattgctgaccagctgggtgt
+ttacgacccgtgcgccattgcctgcgaaccgttccgtcagtgggtgattgaagataactt
+cgttaatggtcgcccggattgggataaagtgggcgcacagttcgttgcagacgttgtgcc
+gttcgaaatgatgaagctgcgtatgctgaacggcagccactcttttctggcgtacctcgg
+ttacctcggcggctatgaaaccattgccgacaccgtgactaacccggcttatcgcaaagc
+ggcctttgccctgatgatgcaggaacaagcgccaacgctgtcgatgccggaaggtacaga
+cctgaacgcctatgcgacgctgctgatcgagcgtttcagcaacccgtctctgcgtcaccg
+tacctggcagattgcgatggacggcagccagaagttaccgcagcgtctgctggacccggt
+gcgtctgcacctgcaaaacggcggcagctggcgtcacctggcgctgggcgtggctggctg
+gatgcgttacacccagggcgtggatgagcagggtaatgccattgacgtggtcgacccgat
+gctggcggagttccagaagatcaacgcgcagtatcagggcgcagaccgcgtgaaagcgct
+gctgggcctgagcggtatttttgccgatgatctgccgcagaatgccgactttgttggcgc
+agtgacggcggcatatcagcagctgtgcgaacgcggtgcgcgcgagtgtgtggctgcgct
+gtaactaactgattaccctacagacttactggtcaatcaaactgatatttggttgaccag
+ttttcgtttttttgcccacctgtacgtgccaacttccagtgctaatggtatagtttgaga
+ttaacgggggccgtaaaattgcccgttgtaggccggataaggcgttcacgccgcatccgg
+caaaaatttgattaaccgcacctaacggacacaacaccatgaaatctgccacctctgcgc
+aaagaccttaccaggaagtcggggcgatgatccgcgatctgatcataaagacgccgtaca
+atcctggcgaacggctgccgccggagcgtgaaattgcagaaatgcttgatgtcacgcgga
+cggtggtacgtgaagcgctgatcatgctggagatcaaagggctggtggaagtacgccggg
+gtgccggtatctatgttcttgataactcaggcagccagaacacagacagtccggatgcca
+acgtctgcaacgatgccggtccttttgagctgttacaggcgcggcagttattggagagca
+acatcgccgagtttgccgctttgcaggctacccgcgaagatatcgtcaaaatgcgtcagg
+cattgcaactggaagagcgtgaactggcttccagtgcgccgggcagcagcgaaagcggtg
+acatgcagttccatctcgctattgccgaagcaacgcataacagcatgctggtggagctgt
+tccgtcagtcctggcagtggcgggaaaacaatccaatgtggatccagttgcacagccatc
+tggatgacagcctgtatcgcaaagagtggttgggcgatcacaaacagatcctcgccgcgt
+taatcaaaaaagatgcccgagcggcgaagctggcaatgtggcagcatctggaaaacgtta
+agcaacgtctgctggaattctcgaacgttgacgatatttattttgatggctatctgtttg
+attcatggccgctggataaagtcgacgcctgacttattataataagcgcaagggtaaacg
+ttccttgcgctttcttaaattaagaagtcgcaatgagtattactttgtaaattgcagggt
+attgtttagctatctgtataacctgaatgttagtactcattcttcctggtagttatttac
+caatataattccattcaccattttttaattcaaacagttctggaagagatgacggttgca
+gagtcatacgtttgagtggtgcattttcatcacccgggataactttatatcccatttttg
+catggatctccgcggtaccgggataggcttctataccaattattgggtcattacccaact
+caatattagcattaagtaatgcggcaagggcgaatccggaagaatttgctacccctgtta
+ccgtcattatctgatcaatatagatatcaatccttggctgctcattggtccatctttttg
+cctgagaagctggaagggttgaaatatatcctatcgtggttccggcataaccaggaacat
+tgcaaccagggcctaatgttatttcatgaactgtatagtcctcaacaggatcgaaagggc
+tcttcataaataaatttagccgtaaaccttctgctaactctgtggtagcatgcgcctttt
+tacatatgccaccatatatttcgtctaaagctgaggtgattttcaagttccgatagagca
+tacgtcctgttgttgtaataccatcggattctctgcatgctcctgtcacataattaaatg
+gccaaggctctttactaatatcaagttttctaatttcgacaacgctttttccatcgtaat
+tatggttattgccacgagtaagaggcggaagatagatgttttccgaatccatgcgtgcat
+attttaatttacgtgtaaactcactgtcgactattgggtgatgaaggaagtgagcatctg
+taataatttgactctgaagggcattgcttaatggcatagacataatagttaccttttatg
+agtatttcactgatgtttagaaaaatagataaatttttctgtagtaaaaagagaagtaaa
+caaatgacatgcatgtttctgttgtagtgatatcaactctacacggtgatattaaagggt
+aggaaacactctaaagtatcaaaaaacgctcatttaaaattatttgcatgcaatttaaaa
+gcatatcttattactaattggaatttgatgttgctatattgaggtctatattaataatgc
+ctgtgaatggtatttttgatgtatttgatatgttatcaatttatattatttacaaactaa
+ttgtttcaaataatacatggctgattatgcggaaataaataatttcccaccggaattaag
+tagcagcggtgacaagtattttcatctacgtaactattcggaatattcagaatatactag
+cggtttttttttgagtttgatgatttttatcaaatcatgacttttttcctgaaaagtcag
+tagatattcataggcaagtaaggttttatactttgctgacaggattcaggcctgtctcag
+actgacatggatgtaatgaacaaaagggaatggctatggaaaatgagcatcaatacagtg
+gtgcccggtgttcagggcaagccgcatatgttgctaaacgtcaggagtgcgcaaaatgat
+gcgacaatcacttcaggctgttttacctgaaatttcaggcaataaaacgtcatcgctgcg
+taaatcggtatgcagcgatctcctcactctttttaattctcctcattcggcattaccgtc
+attacttgtttcaggcatgcccgagtggcaagtgcataacccgagcgacaaacatctcca
+gagctggtattgccgtcagctgcgttctgcactgttatttcatgagccacggattgcggc
+gttgcaggttaatttgaaagaagcgtactgccacactctggcgatcagccttgagataat
+gctgtaccacgacgatgaaccgctaacgtttgatctggtctgggataatggcggttggcg
+cagtgcgacgctggagaatgtcagctaagcacaatctccagctcgcgcagttcacgccag
+aagcgttcggcaacgggattcatgcgggtattcatccggtatgcataggcctgaatcggg
+atcaccagttcgtcccgattcagtacaacgagcttcccgctgcgaatttcttgttggatg
+gcgtactccggcagccaggcaatcccacagccgtcgagggcaacctgctttaaaagctcg
+ctcatcgaagagacaaaaaaggtgctgaaacttaactcactgtggcgcgtcagggtgcga
+ttaatcaatcgccccatgtaggagttgcggctgtaattcagtaacggaaagtgtggctgc
+gcgaggttaaaaagtgcttctccgtgttcgtcactggcgcagacagggaacaattgagat
+tcaaataagcgaatgtggtcaaacggcgcttccagcaaatcttcgtcgtgaaaggaaaaa
+atacagtcactttgcccttcacgcagtttatcgaccgcttcatcgacatcaatagcttca
+attgcccaggtaaagagcggcggcatctggctgataatggacggtaacagcccgagggaa
+agagagtgtgcagcggctatcttgatttttcgttgcgcgtaatcgctgccgccacgcagc
+tctgccagattgctctctaactgttgcaacagatggcggatctgcgaatggaagattttc
+ccttgttctgagagttgcagcggcgttacctggcggttaaacaattcaacaccaatcgcc
+tgttccagcgcacggatgcggcggctgaatgccggttgcgagacgttgcgactgactgcc
+gcctgggaaaaattgcggcatttttccagggtcagaaaatcataaagccatttggtttca
+atattatgcaaaatcgcaccacagtcatccattacgttttactctgtcagccgcccttgc
+gggcattctacgtccattcgggcggctgacaaccgtttaagccgtttcaaacgttccttt
+cacgcaggctttgccgtctttgaccatcagtttgccgcgagcgtatacctgctcaatgcg
+cagttctggcgtcatgaccagcaagtcagcatcattgcctggcagaatttcgcctttccc
+ggtcaggttaaggaaaccggctacgctactggtgagcgggcgcagggcatcgctgatact
+gaaatcatagtctttgaccagcacctgcacggtttccagcaacgtttcaaaaccggcaac
+accgatatgggttaaattcccttcgtcatcgaagaacggctggctaccgttgccgtcgga
+gctgagggtgacgcgtgccagcggaatacccgcctgaacggcgcgggcaataccttcggc
+aggggcgaccggttcgtcaatgctgctggtgatatcgatggtgccgcctttgcgcgcgaa
+ctccagcgcctgctcaaacaacggtacgttgcggttaacgtgggtcggcagcagcttgct
+gatcggcacatcgcagttttccagcaggtcataaataggctgtaacgcctttttactgtc
+gcccatgtggaacacggtgacgccaggtttaccgccgagcaaaccgccaacgcgggattc
+tgccgccatattggccaggtgataaacgtccggtgcggcagaacggtgatcagagatggc
+gcatttcacgccaatcacacgatcgataatcgccacgtctttttccacggaacccgtaat
+ggtgcgggaagggacatgataagcgccggtcagcatccaggcgctgatgccttcttcatt
+gagcgcacgggtcttggcgagcagggattccgggtggcgagagatagagtcggtgcccag
+cagaccaaccactgacgtgacgcccgcttccgtcaggcgacttagcgccacttccggcgt
+gcgcgtcgtgggacctgcttcgccgccaccgccaatcaaatggacgtgttgatcaataaa
+acctgggcagaggatctgcccactgagatcgacaaccgtgcagttcggtacaatgtcaga
+agggatattgctggcaacggcgataattttgccgttagcgacgaggacatcgcaaattcc
+ccgatcttccggcgcatacaaatgcgctccctgcagcagggtaaaaccggctgcggtata
+atcaatcatggtaactccttgttaaacaataagctgcataacccagatcgacagcaatgc
+gttaatcacgcagaccgtaatgatatgcgggtaatatttggcattcacttcggctgtccc
+caggcagcgaccgacattttgcaccgggttgcccattaaatacatcgcgggcagtaaaac
+ggtgacatcgtgaccggttaatgcgccagcggttgccagactggcggcaacaccgactgc
+gccacccatactcattaatgcggctaaaaggacggttgccgcttcaccgggtaatcccca
+cagcgccattacgggttcacagatatgccccacccagtcgagcaggccggtaattttcag
+cgcctgaatgatgacaaacgccatcaccacgtttggcagcaggttggtcgtggcgatagt
+aaagccacggcgcgcgccatcgataaacatatccatgacgtttttgcggacctgagttgt
+catgcttgcgctccttgcgttgggttgcgacgttcttcgaagttaagccagacgcgcaaa
+atgttggctccgacaaatttaaacaccaggatgacggctaaaggtacgattacggacgtg
+cccagaaaggcaaacaccgcgacgccggaagagaagtagttggtgatgatggcgctaccg
+ctggtttgatatgcggcgaaaatcactttatcgcgttcggtaatttcaccttcctgcgcc
+agctctttggtcataccggcggcggcatcggtgttttgcaggttagcgatcagcgccagc
+gagcagatccctggaatgcccaacaacggttttagcacaggtgtcattaactgctgcgcg
+gcgcgtaatccaccaagaccatcggtaattgaaataatccccagagagagaatgactgac
+ggtgccagctccagcgcaaagagaaagccatctttagcccccgcgccacccgcgccgcga
+aatgaggtggtggctccgttcgcaccaggcagttgcccaaacgatccgttcagaacggaa
+aaatcaaaaacgcgccaccagctgtctgttccggaaaaaacaccggaaaaaaagattatg
+gtgagaaaaaaggccagataccctttaatgcccactttttctgtcgccagctccccggct
+acagcatccccttgttgtgtcataacaatccccattgtttttttgtgtttgtgtgttgct
+tgagccaggaaaattcctggaactgaaaaaccttatcagccatgtgggtatggggaaaat
+gcaagtatgtttctggctatgcgttttttgcatagcggaaaaattacgctgtgtggaaaa
+ggctctgcgcaggattgagttgcagaaaattcataaaccaagtgacaatgacatcagtaa
+ataaaaacagaaaatccagggacgaaaacgagatggcaaagtacaacgaaaaagagctgg
+cggatacgagcaagtttttaagttttgtcctccgacacaaaccggaggcgattggtatcg
+tactggaccgtgaaggatgggcggatatcgataagctcatactttgtgcccaaaaagcgg
+gcaagcggttaacccgtgcattgctggatactgtggttgccaccagcgataaaaagcgtt
+ttagttattccagtgatggtaggtgcatccgcgcggttcaggggcattcgacttcgcagg
+tcgctatttcctttgccgaaaaaacaccgccacagtttctctaccacggtacggcaagcc
+gtttccttgacgagataaaaaaacaggggctgattgcaggtgagcgtcactacgtacatc
+tctctgctgatgaagcaacggcacgcaaagtgggagcaagacacggatcgccggttattt
+taaccgtcaaagcacaggaaatggcgaaacgaggcctccctttctggcaagcggaaaacg
+gggtctggctgacatcaacggttgcggttgagtttcttgagtggtaagggaaacttccct
+catgaagtgaccacttgtagcttaaataattgcactgtgctgataagcgcagcaataaac
+aacgccgccgcgccgcagagagtggcgctggcaagcgccgatgttccattgctgagcata
+ctggtcagcgccgggccgaggatttgcccaatgccgtaaatgagcgtcacaaagcctaaa
+agattgagatttcccggtacgctcagttggcgggcgatagtcatcaccagagatgtcgtg
+cccataaaggtaccgccaaaaccaagactgctgatgataagcaagagaggcgagtcgctg
+gcgagagtaagcagcacacagatagcctgcaccagcaaattcgccgtcaggcagggcaaa
+gccccccaacgttttgctgcccatagccagccaaagcaaccaggcacaattgataagccg
+actaacgtccagagatgggcggttaacaatggtgagcctgcatctttcgccatgagcggc
+aggtaagtcgcgacgatgatataaccaaatcccgccaggccgtacagaatagccagtaac
+caccagctcattatctgttgctccgtttttgccaatggcattggtgtgatggcgtgtttt
+ttcgagggcattaaaagcgtaagtgcaatcagcatcatgccagaaagcgccccggcgcct
+tgccataacgtttgcgaggagaggtcaaaatgcaggcctgccagaacatattcattgccc
+agtgcgatgccaatgccaacgccagaaaacaaagctgccagcacaaaaggatggcgcgtg
+tgctgcataatcagcgtcgaaccaaaaatcagcataccggcgctggcgacacccgccagg
+acgcgaatcaataacaccagaataaatggcggcaaccatgccattgcgaggatcaacaac
+ccgctcgccagggcagaagccaacagaaatgggcgcaggcgcgatggctggtgaaatgcg
+ccaaaagaaaatagcagactgccagccagataccccgcatagttgccgctggcaatccac
+gagagctggctaaatgaaaacgatccttccgccatcatgacgggcaacataggcgtataa
+aggaagcggcctaaacccatacctaaggtcagaaccagcatcccgaaaagcgcggtgctg
+aaagaaaagcgttctacgggatgcgtggacgaaggcatgtttaaccttgtttgtcatttt
+tgttgttaacaagttaataacaaaaaggtgaagcatgccagcctgttaatgcgatgattg
+aggggtaaagcgataaaaacgatttggttcgctaacgatataaatattaccagaggcatc
+catcgcaaccccttcggcctgtttgatgttatgcgacaaacctcgactgcctttggttag
+tgacatttcaccgataacctcgccaaccagggttacttcctggagtgcgcgagattcatg
+agacagcaccagaagcgtatttttttgctggttaaattctgcgccggacacatcatctaa
+agtaaattgccgttgtagtgcctcgtctttgctgatgtgtaattcattgctacttaacag
+cccgttaactttgtagacctcaatcggatttttctctttaaaaaaccagaaagtgtgatc
+ctggcgagaataagccaacccttcaaaaccgcaattggttggggagtcttgcagcgggat
+ttttatttttttgaggatttttacttccgagtttggggtcagtgaaatcacataaatggc
+gtaatcgcgctcatcgctaatgacaaactgattatcgccaatgtattcgatcgtctcgag
+atccttaacaaaatccagaggaattgtgcggataaaatcaccattggtggtcatttcaac
+aatggcggcaggtttgttgatagtgctaaaaagagtattgctttgtgccgaccaggtcag
+cgaagagatattattcgttatgcctgcaatttctttgccgtcaatggtggcgtggtaatt
+ctgaaatgatgctgcatgattgcttttacgggcgcaagattgcacgaagaaagtacacac
+tgccacaatggcaaaaagaatcacaataatggagatgcgtttacttaacgaaatactttt
+tgtcacggtaatccctttaaggcaaatcaataagatatcgagaagtatacgtagcgacct
+taatgaatccttaacgcggagaaaccccgtaatgtgcaatgcagcgccagacaccatcct
+gctggcaataaattgactcagtcagcccagggatcacccattgtatttcctcgccggggg
+gacaggtcagccaaatgcataacccgcagccgccgcgtaaatcacggggaatatcgctga
+cgcgaaaagtcatgcccgctgcctgcaacgctttgcgggtttgtatgacgccgaccgtgg
+agtgaaataaaaataaaaactctttcatcggcgtgtcctcactcgttgaccaattaccgc
+cgcgccaattgcgccagcaaattgcgcatcaggatgggtatttaccggcattcgcaggtg
+agattccagcatccgggcaaacttctggcaatgactaacgccaccagtaaacagaatcgg
+cgcttcacaggagagacgagcaatgaaattggcactcctccgcgccatcgcgttaatcac
+tcctgcgagaatcgcttctggcgcgacgcccgctgagcgcaggctgatcgcttctgattc
+agcaaacactgtgcacatactcgtgatggcgtgcggcgtgacattttcggtaatgctgtc
+gagttgctcgacgctggtgccaagcgtgcgcgagatcacctccaggaaacgcccggtgcc
+cgccgcgcatttgtcattcatcaggaaatcgcacaggttaccgtcatcatcaagctgaat
+cactttgctgtcctgaccaccgatgtcgattaccgcgcgcgttgctggcgcaagaaaccg
+tgcgcccagcccgtgacaggagatttccgttacctgtttatcggcaaaatccaccagttg
+ccgcccgtagccggtgagcgtcagaaacggcgttgtctctaacccttcgcgcagagtttc
+ccaggcttcagtaattgctgttgccgggcgaaagggggttggaacgaggaaacggcgcgt
+aatcacgccgtctgccagtaagatccctttggtggcggttgagccggaatcaatgccaat
+cgaatatgccactgccactccttacagcatctcaataaaggccgcgacacgggtactgag
+ctgcccgacatccgaggtggagtagtctgtttcaatagcgatataaggaatgttgtgctg
+ctggcgcacatgacgtttaatcgccagcgattccaccgcgtaggtatggcacgcctgcaa
+aatcacatcaactacgccatcgacctgatattcctccaccatctggctgagcattttcag
+gcgctgatcgttcggcgaaacacaggagcagccaatcgccagatatttatccgccagcgc
+gtcgtagacatcgcccgtttctgccacgcattgctcggtcgctttcgccccggtgcagtt
+ttcataaccgacaacccagccgccattctcttcaatcgcgcgcaccactttttctgctgc
+gccgccaatcgggcagccggtgattaaaatgcgcggacgcgggtccagtcgctggccttc
+ttcccactgctgacgaacgcgggcggtcattgcatccagttcattgatcaacgcctcttt
+atcgaaccggaaggttgcgccgtaaaccactttcagaatgtcgctgccgctaagcgccgg
+aggatttaactgcccaagatgataaaaattagccagtgcgcgacgttcgcggtttttcag
+cgcaatggcatcgcgcagagcatcttcgctaatctcgtgcccaaaacgttcttctaccgt
+tttttgcaagcgcagcatctcggctttccataacgcacgcgaggcatcgtccttaacgct
+gttgggcaattgcatcacatgaacaggcttaaactccgccatgtattcatacattttctt
+tttgccgtcgcaggtggtttcaccgaccaccagatccgaaaagtagaagtaggggcattt
+atcggttttgccgaagccgtagctgcttttaatcagcgggcagaggttgcgcggcagatc
+tttctccgcttcttcaatggtttcatcagaggtggaacagagcgaaaccacaaccgcacc
+ggctgccatcgggatctcttgcggcataaaggtgcagtaagtgccaaccagcggaatgcc
+gcgctccttgagatccatgacggtgagaaagcctgtctggcgagcttcagagaactgatc
+gaaaatggcgggtagatcggtgacaagtgacatgattttccttccccgtaccacgggaga
+taatgaaaagaggccacattattaccattcttttagtatggtttatttgatctctctcgc
+ggttagccacttagtttttcatggatttctaaaaattgccgagggggaacaaggccggga
+gctgcgacagcaaatataaaattagcccaatacaaccgccaaccagcgtaccgttgacac
+gaataaactgcagatctttgccgatatttaactctatttgccgcgacatatcccgcgcat
+cccagctttttaccgtatcgctgatgtggcgcgtcaggaatgcggaaaactcaggcgcga
+cgcggtgcgcggcttgttcaagatgaccatttaacgacgcccgcaaggcatcatcggcaa
+ttaacgtttcgccaaaccattgacccgctcgtgcgatgcgttctttcacacgagaatctt
+cactgttgatatccactttcagccattcccgtaaatccccccacaattcactgagatagc
+gattaaaagcttcatcttctttcagatagctttttacggcatcggctcgcgctgccattt
+ccggatcgtttttcagcttgtcgatcagggcgaaggtggcgcgatcaaacgcatggcgga
+tctgatgcgcacgatcgcgactaatatcatcaagcaaagaattcaccgcgtcagaaacca
+actccgcgctatgttcgcccaaccattcggtggggagaattttggctttcagtggatgct
+cgctctccagccagcgaacaatttgctgggcgataaacttgcgcgatttatcgcgctgga
+gaagggcgatcaactgtgcgatcagcgtatccagcagcacctgatgacgatcgtttttgg
+tcatactctccagcatcaacgcactggtgccggaaagatcgaccttatcaatcgcccgat
+ggaccgcgcgcttaagcaggcgctgaatacgcgcatcatcggtaagttcgagaaaaccgc
+tcatgatctgcaacagatgctgaccaacgcggcgggcgttttctggctggctaaaccagt
+tgccaatcagcaacgccggttcgtggcgtcgaatcaatgccaccagggattgagtatcaa
+gaaatttttcctgcacgaactggccgagattttcgccaatccggtctttattacgcggga
+taatcgccgtatggcgagaaatgatcggaatcggcacgcggcgaaacagcgccaccaccg
+caaaccagtccgccagcgcgccgaccatcgccgcttcagcaatcgccttcacgccgctca
+cccaaaaattgggcggcaaaaacagcgtaacgacaaaggtagcagcggcgataagcagta
+aagagagcgccaaccttttggcgcgtctgagttcgatgagtttattcataacgttaagaa
+tagagcctgacggccggatcgcgcaaaaatcactgctcctccactagctcggctgcctga
+tgctggcgcacgcgattgagcaatcccgccagggtgaaaacgacgataacgcccgccaca
+acggctaacagatgaaacggcaagcgaccgccgttaaaccatagccagcggccgatttcg
+accgagaccgacatcaccatcaggatcaccatatttagcgatgcggagacggtccctttc
+ggtaacttattggaaaacagcgtaaagcggaataaggtcgggaaaatcaaaccaatcccg
+aaagcatacagactggtgcccagcaccgaccacagccagacgtgcggcgacagcagattg
+ccgacaatcaacagcgagaggccgaccagttgaatgggtacggcacgccagataaaccgc
+ggttcggtcggatctttaacaaaacgcgccacgatggcattcgcaacaatcaccgcgccg
+aacaccggaacctgtgtccaggcgaactgcgaagttgttaagctgcctgcatcgataagg
+atcaccggcgagacagccacccagctcatcatcgggatatagcttaaagagatggttgct
+gcgccaaagaggaacagccgattgcaaaagacattacgaaaatcgcgcaagacgcttttg
+gcgctaaacggaaccgcgccgcgcttcaccgtctctggcatcgccaacagtaagccaaca
+aatgagataaaacccataaccgcaatgatggcaaaaaggactttccagtgcataaagtgc
+atcagagctgcgccggaaagcgggccgataatcggcgcaatcagtacgatggaggtgata
+atcgccatcaacttgatcccttttgtctgtccgaacgcctcctgcaccgtgacataacca
+acggtggcaataaaacagatactggtgccctgaattgcacgcgcgataagaaactgtgtc
+atagacgttgtgaacattgtcgcggcgcaggcaagggtaaaaattagcgccccggtaatc
+agcaccggcctgcggccaattctgtcggaaagcggccccagcagccactgtaacgccata
+ccgccagcaagatagagactgacggcagcaggggccagactgacatcggcattaaaatca
+cgtaccacattaatgatcccaggctggatcagatccgtcgacagatacgcagcaaagtca
+tacaaaatcaacgccatcgggaaaaacagcgtggcggcatggcgggtaaaaaaacgtggc
+ataacaaacaactccttgtccggagaaccccaacggggaaaacgaaattcaataccgtcg
+gtaatgacgaaaggcaggtgagaagggcaacgagactgcaaatgtactgaatttcatgta
+atcaaccacactgcctgtgaacacacagacagagaaatactttctgacttcgggtcagaa
+tgtataacgattacaaatagtcatcagcacattacacctcttgaattgatgggttgcata
+gaaaatatacaccttaagtgtaattaaaatttgcggttaatcaaaagagcgcggtggaaa
+ggggaatatctgccgggtacaggacatgtaaaacgcgagcttgtttccggaaaaatgtat
+cgtttgcagaagaataaaaatagcctggaaagcgcctcggggaatgggaaattgccgggt
+gagaatggttttgttagtcgctaaagtcaggccatctttttcaacaggtgatggatcgcc
+atgacaaacttcacgaccagcacgccgcatgatgcattatttaaaacctttctcacgcac
+cctgacactgcgcgggattttatggagattcacttacctaaagatttacgtgaactgtgc
+gatctcgatagcttaaaactggaatccgccagctttgtcgatgaaaaattgcgggcgcta
+cactccgatattttatggtcggtaaagacccgcgaaggcgatggctatatctatgtggtg
+attgaacatcagagccgcgaggacattcatatggcctttcgcctgatgcgctattccatg
+gcggtgatgtagcgccatatagagcatgataaacgccagccgctaccgttggtcatcccg
+atgctattttatcacggtagccgtagtccttacccctggtccctgtgctggctggacgaa
+tttgccgacccgactaccgcacggaagctttataacgccgcgttcccgctggtggatgtt
+actgtcgtgccagacgacgagattgtgcagcatcgcagagtcgccctgttggagttgatc
+caaaagcatattcgccagcgcgatctgatggggcttatcgatcaactggtagtattactg
+gttacagagtgtgctaatgacagccagataactgcgctgttaaattacattttactgact
+ggcgatgaagcgcgttttaatgagtttatcagtgaacttacccgtcgaatgccacaacac
+agggagcgaataatgacgattgcagagcgaattcataatgatggatatataaaaggggag
+cagcgcattcttcgattgttgttgcagaatggggcggatcctgaatggatacaaaagatt
+accggactttcggcagagcaaatgcaggcattaaggcagcccttgcctgagcgtgagcgc
+tattcatggctcaagagctaatcagagacggatgacaaacgcaaagcagcctgatgcgct
+atgcttatcaggtctacataacccattaaatatattgaactttaaagatttttgtagacc
+tggtcaggcgttcacatggcatccggcatgaacaaagcgtactttgcttaattcaggctg
+gaacgtggcgatgacccagcaaagataaaacgagtcacaggttatgcatgagaggaaatc
+aggcgcttcgccgctatttcgaatttattccattgcccgatacacggcctcgccaatttg
+cttcagtgcttcgcgataggtttcgctgagcggcaaagcgcagttgatgcgcagacaatt
+acggtatttgccggaagctgagaaaatcgagcctgccgccacctggattttcatgcggca
+cagctgccgcgcgacgcagaccatatcgacctgttcaggcaattctatccacagtaaaaa
+tccgcctttcgggcgcgtaatacagatttcgcagggaaaatattcccgtatccagcaggt
+ataaagcgccaaattgcgctgatagatctgccgcatccgccggatatggcgatgatagtg
+accttccagcacaaacgttgccgccgccatttgcgtggacggcacattaaagctgctgat
+ggcgtatttcatatgcatcagtttatcgtgataacgccccggtgcgacccaacccacgcg
+caggcctggtgcaatacttttactgaacgagctgcacaacagcactcgcccgtcgatatc
+ccaggaatgaatggtccgcgggcgcggatactccgtcgccagttcgccatagacatcatc
+ttcaaaaatcacaatatcatgacgctgagcgagagagagaacggcccgtttgcgcgcgtc
+cggcataataaatcccagcggattattacagtttggcaccagaatgatgcctttaatcgg
+ccactgttccagcgccagttccagcgcttcaacgctgatgccagtttctggatcggttgg
+gatttcaatcactttcacgcccatgccgcgcagcatctgcatcgaaccgtaataacaggg
+ggattcgaccgcgacaatatcgcccggtttacacactgccattaacgccagcgacatcga
+gttatggcagccgctggtgatgatgatgtcatcggcggtgaccaccgagccgctgtcgag
+catcaggcgggcaatctgctctcgcaatactcgctgaccggctaacaagtcataaccgag
+aacggtttgcagattatgctgcaccacccggcttagctcccgccacagcggtttcaggct
+gggcgcttcgacatccggtgtgcttttgcttaacggaacaatggaactgtcgctatgcgc
+ctccagcatatccagcacctgatcccactgggtaatttccaccgggcgctgcaccggacg
+cgtcatcggcggtactggcggctgggctttacgttgtgcgacaaaataacccgaacgcgg
+ctgcggagtgatgagcttcatcgtctccagcgtctgatacgcctgctgcacggtgctgat
+actgacgccgtgctcctgacttaagctgcgcaccgacggcaatttctccccgtgacgata
+cagcccttgctcaatccgttcggcaagcagagtcgccagatgttgataacgcgtcatgct
+gtattccttatgtggaccatacagagagaaaaaccggtacagatgaggctaaaaaaccgg
+atgcagatgctgttttaacctgtctgtatgttaaataaaagtaatatttgaatctgtatt
+gtgaactgccagaaggtggatgatgaagcctctgaaagatgaggaggtagcagatggaat
+ttcacgaaaacagagctaaagcgccgtttatcggcctggtgcaactctggcaggcggtga
+ggcgttggcggcggcaaatgcagacccgacgcgtgttacagcagatgagtgatgagcggt
+tgaaggatatcgggttacgcagggaggatgtggagtgaggggggatatagatttatatat
+aataaaacgtttttatgtttttaaattaagttataaaaattttcccgagacaattcatca
+ataggtatggagtgtacaggaatatcttcttcactaacctctttaaactcatgtcgataa
+cggtcaaaaaacgcacagtgattacttgtgttttttgactgactttacaactctcattat
+tcgctattgtgcagtttctctaattgttttataccctggaaagttaaatgtcagctactg
+aatactttttgattgtttgagatttattttcatttgaaattataaaatcaggtgataaat
+gagttgtgattaatagatggttgatatcatttttatctaaaattgatttatagtatcgac
+ctgaaaaaatagttgttgccgcctgagtaactatacaatattctgaaaggttttctttca
+aattagaaatgttgtggggttttgtttttgtatcttttatctctaaggagcttgctttgg
+gtcaatcagaatacatttcatgggtaaaatgtacttcctggctaagtaactttgtgaatc
+ttagagggttgagacaaccggatggccgtcctctttatgaatatcatgcaaccaatgatg
+aatatacccaattaacgcagctactccgtgcagtcggtcaatcacaatctaatatatgta
+atagggactttgctgcctgttttgttcttttttgctctgagtggtaccgcagggattatg
+aacggcaatgcggatggacgtgggaccctatatataaaaaaatagggatttcattcaccg
+ccacagagcttggtactatcgtaccgaaagggatggaagattactggctgcgcccaattc
+gattttatgaatctgaacgacgcaattttctcggaacattattcagtgaaggtggtttac
+ctttccggctactcaaagaatcagacagtcgctttctggctgttttctccaggatccttg
+gacaatatgagcaagcaaagcagtcaggtttttctgccctttcgctggcaagagctgtca
+tagaaaaatcagcgctgccaactgtttttagcgaagatacctctgtagaacttatcagtc
+atatggctgataacctcaattccttagtacttactcacaacctaataaatcacaaagaac
+cagtacaacagcttgagaaggttcaccctacctggcgaagcgagtttccaataccgttag
+atgatgaaacaggaacgcattttttgaatggactgctatgcgcagcctctgtagaggcta
+agcctcgactacaaaaaaataagagtacgcgttgccaattctattggtcagaaaagcatc
+cagatgagcttagggtgatagtatctcttccggacgaagtttcctttcctgtaacaagcg
+agccgtcaactacgcgctttgaacttgccatttgtgaagatggtgaggaagtctctggcc
+ttgggccagcctatgcttctctggaaaacagacaggcaacagttcgattacgtaaaagcg
+aagtgagatttggcaggcaaaatccatcggcaggtttgtcgttagtggctcgtgctggag
+ggatgattgttgggagcattaaacttgatgacagtgaaattgccattggtgaggtgccgt
+taaccttcatcgttgatgcagatcaatggctgttacagggacaggcttcttgcagtgtgc
+gaagcagcgatgttctgattgtgctccctcgggataatagcaatgttgctggttttgatg
+gccaatcgagggcagtaaacgtattaggactaaaagcactacctgtgaagggatgtcagg
+acgttacagttacagcaaatgaaacttatcggattcgcaccggaagagaacaaatcagca
+tcggaaggtttgctctaaatggaaagcgtgcaagctgggtttgtcatccagatgaaacat
+ttattggtgtaccaaaagtcatttctacactaccggatattcaaagcattgatgtaacgc
+gttacacgtgctgacaaaacagcattacagccagcaggaagtactgcgttggatcgatgt
+ctgttcagggactcaacctaatgcaaaggatcccgcatttcttaaagtcagggcgcatat
+cttccagcgtaatacctagggaatatgggcttgtgttgataaagattgcagattaaagca
+cggtacaccgctcgacaaaggctggccctttggctatgtgtatgtgaaccagcgacaaaa
+ttgtgactgtggaagccctgtatacgaagttgcattctgtaatgattgtaatgagcctca
+tcttctggcacgggacaaaaagggcaaactagtccagtgggaaaataaaggtggcgatga
+attctctttgcaggatgaagtacctgttgaacatgacgctacagaagaaaaagtcgaaaa
+agagaacagttttcagcctccgttgattattgccgcaggagagaccagcgaggcaggtta
+taccctacaacgcctcgaccgtcagacgcgccgtattggcgttattaacaatgacagcat
+tccgctgattattaatgatattgaacaggtttgtagtgccagtggctgtggctacagagg
+catgagtgggaaacagcccttccggcgtgcactattaggtgggccattttacgttactaa
+tatcgtgcccaccgttctagagtattgtcaggactttaccagtgatgaaggcaaagaggg
+cgtcggaccagattcgttgccaggacgaggtcgtcgactcatcacctttacagacagtcg
+acaagggacagcccgaatggcggtgcgtatgcagcaagaagcagaacgcagtcgcttacg
+cggaagcgtagtcgaaattctcagctggcatcaaaggacgcaaacgtctacagcgccgaa
+tgccaatgccgatctggaaaaattagcggccagggcgaagcaagcccgtgagcaggcaga
+agaatatcgaagctggggaatgccagaccaggcgaaattgtcacaagcacaggctgaaca
+gcttgaacaggcttatcaggctgcaaccggtgggaaagccgcgactatcctggtatcccg
+aacctggacggagatggttaacgagcttaaagagagagccgatatccgcgggccggttct
+gcaatataaccattatcttaagcctgaagtgtttaatgaaaacggcggcccccttaagct
+ttctgaaatgttgttgttccgggaattcatgcgtcgccctaaacggactaacagcctgga
+aacacaggggctggttcaggttggttaccaggggctggagaaaatacataagagcccctt
+gcactggcaggaaaaaggattaacgctggatgactggcgcgattttctcaaggttacgtt
+ggatcattacgttcgcgagagcaacttcacacagctggatgatgagctgaaaaactggat
+tggtagccgtttttcatcaaaattcgtccgtaacccggaatcaaaagatcctgaagataa
+tcagaacagacgctggcctcaaattcgtaatggcaacgtatcccatcgtttagcgaagtt
+gctgatgctgggggctggattcaaaaccgtcaatgcggcaactattgatattatcaatac
+atggctgaaagaagcatgggcccaacttaccggaccgcttgcagtactgaaacccgatgg
+caaccgtttttatttaccgaaagagcatatgactttttctttaatcacggatgcctggat
+ttgcccggtaaccaataaaatcctggatacggcttttaaaggcttaaccccttatctgcc
+tacccatatttcgttcgagcatcttaccctggcgcaatatgacacttttgtcgcgcagaa
+agtcacaatgccggaaatctggaagctggatcgttcacaggaagactacgcagagggtct
+ggcaaaagcacgcgactgggtcagccatgatccgctgatcgcacaattgcggtcggaaaa
+cgtctggacagacattaacgatcgtgtcgtggaaggcggcttctactatcgtactgccga
+gcactctgcccagcagtcgtcagaacgtctgcaaagctatgaaaagatgttcaagaatgg
+gcaactaaatgttctcaactgttccaccaccatggaaatgggggttgataccgatcgcgt
+gatgacgctggcctctcgcagccagcaggcaacgattccggggccggagtggcacctgaa
+tgacgaactggtggtgcgtagtctcggttataaaacggtagaactgaacgagtttattct
+gccggctaaagccaccaacgctgtcgagcgggtcaaagacattcagatccacaaacagtt
+gaatggaccactgtcgcagtttgggcaacgcttctgggacgtgctgtttaacgaccatga
+agaagcgcagtcactgatgaataacacgcgaattaccggcgttcactataccgatcgcta
+tctgcaaaacccggttgcgctggcgttgttgggatcaattctgagaccgctaaaaacaaa
+gctgaccgatggcgctgaagtgacgctggatacgctatttaaagataaagatcgccccgg
+taaccggcctttccatgactggatgagcatagcggattttcaggatttcgctgatcagtg
+gtttgctgctgcgctgggcaggccggtagaactgacggtgttcgactcgccgcgcgatat
+ccctcaccatcgtaaactgacggtgacttttgaggatggtcaggtattgaagatccgctt
+cgatcaggggatgggctactggcgcatcaacttttcatcgcaatggcattactttgattt
+ccgcgatgacgtttctttccagttagtcaaaatggctcaggcctgcaaggaagggaatgt
+cgccaacagcgaagagagttgggcaacggatgtgctggtggaggtgatcgcctcctgatg
+atgagccgctcccgatgtggtgtcgggagcggtattttctataaaacttaccgcttattt
+gagatattcatcgaaaatgtcgagtaattcttgatgtatacacggccattcctgacctaa
+attgacggtacacaagccaatatcgaagccattaattttataacgatgtttcactgcggt
+atctacgtggggatatattaataacccccctatgttttcgccattttcaggctttaacga
+ccataagtaattcatcagttgataaagattttgcgaatgaaatttttctgttcccattcg
+tcgtgaaaaaatgctcttatagtatttggcgtcaacgataagtattttttctgatgagcg
+aatggtgatgtcagtttccattcgaggtaacaaattaagtgactgatccgatatactcga
+tgcatcccattttaaataagagcgggttgtgtttgcagacgttaattcacgacggcaaaa
+ttcataaagaaacttttgataaagtaatgacatctctttttcgtttctttcaaaatcata
+gaaacggtagtgtcctttgttttgacctggaatagaattattgacgatgaatttgcagac
+actgataacgaatttataataacgcgtattttttccgccattcagatagctgaaatgctg
+cggagttaaatgaagagtgctaatgcccggtaattttctataaagtgaacgagcttcatc
+tctgatagttgaatttaacttttcatgcttaattaatatggctaatgtgctttttataat
+tcggttagccagcgtgtcttcattaagcatatcaaaagtactgacggttttcccatgatt
+aagatggaagccgcgtattgttttagcaaactctattcgccctttgatgccaggaatgat
+ctcggtgttaggattgtaatcaagctcaagccctcggcgtgaaagctgtaaaaccccttt
+atttaatacataccccaggatatcaagaagattgttaccgggtatggcttcaaggtttgc
+ctgcttaatttcctgtaaataaccccatgcataggtaagcatgtaatagatattacggac
+aggtatcacgggctgttccactatgagtcccctaataatttgttggtccatttctgttgt
+ttataggggtcatcaaagaaatattcttcgagtaaaggggcgatatccgtcatcacaatt
+tcattaagccattgcgtatccggagaggtgccatcttccaacccacagcagaagtaacta
+tgcccaatgcggaatcctttcccaaggatagtggcctctttgctgatttcctggttcaac
+tcgttcattttttggcataaagactcaacaaatgaaggttctgcttttttattcagtaaa
+aaattccggaactgtggtgtatcaaaacctggctcaatatctatgaaagaaaatcgtctg
+cgtagggcatagtcaacaacggccagagagcgatcggcagtattcattaaaccgatgata
+taaacattctccgggacatagaatcgttcttcatcgttttcggagtaggttaggggaaca
+gaccagttttcacctcgtttatcatgttccattaacatcatcacttcgccaaatacttta
+ctgagattggcacgattgatttcatctataataaaaatatactttttctctggctgctct
+ttagcttgctgacaaaaattgtaaaatatgccgtctttacgtcggaagccgacgccattc
+ggacgatagccctgtataaaatcctcatagctataagattgatggaactgaaccatattg
+acgcgttgcggagccttttctcctgtcagcaagtaagccagacggcgtgcaacaaaggtt
+tttccaacgccgggcggcccctggaggataatattttttttgatggttaatcgtttgagt
+atcgtctctattgtggtttcagggataaacaaatcatttaacgcatcttccagacagtat
+gattcagtttttgacataggtggaataacactcttgccagaattaaatattaatttatag
+tcgttgattatgttgtccagcatagaggcaaatcgggtgtaatcaataccctgtgagact
+ttttgggaacaggcgtaataggactgtccgtattttttaggatatacacccgaagttgcc
+tgaaaatactctgcgattgttttaggtatgtctgaagagaactgccattgggcatgtggt
+tcattcgtgtcgcttataccataagccaaaaccaactcatcaaaatctttataatagaga
+ataacgggatatataccgttagaagcttcctgaccttctccaagaaatgcaaaccaggga
+atagacgtaaaattaccataaccgaaactcaattttactcgcaggttacggtaagacgtt
+ggataatctttagtggattgcgaacgttgttgctgtgcttgcttaataaatttttcaatc
+cagggttgaatagattccataagatatgccttcctcattgctaagcctctattatcgctt
+tcgcaacgtactgaaacaatagatttttactgcaaaatcagactggtaaatatttactga
+gggggaaagtttctattgagtcagtggaaggctcccggtggttaaccgggagtaaacgct
+gttacgcgactttctgtttaccggcaatcactccaataaacgcctgcacctgcttttgtt
+tacgcgccgacagtttgcacacctggcgtagcgactgcatcagttcgctctcctcggcgg
+cgggtggttgggcggtgaggacaatacagccttccatcactttgacatctaccgccgtgc
+cagtggcaaaaccggcggcttccagccactgacctttcagggtgatggcgggaatacggc
+tgtaatccgggtagcgactcgcataaccgacggtgacatgacggttatttgccggggaga
+cttctgcttcgaacggttgtgcaatagaatgcgtgtcagtcataactgctattctccagg
+aatagtgattgtgattagcgatgcgggtgtgttggcgcacatccgcaccgcgctaaatac
+ctgtatatatcatcagtaaatatggggaaagtccagctaaaaatagaataaaatgggcaa
+tttctggaatgatttaaatatatttatgtgggttatgattggcgtgaaataataaaaagc
+gcaccggaaaggtgcgccagaaaataatgttcaggattttttacgtgaggcttttttacc
+cccgctagctgcgcgttcagctttgattttttccagcaacgcggcggcgctgttttctcc
+gctgatcaaatccgggttttcggcccgccactgggcggtaagttcaccacggaacgcttt
+tgccaggatggattgcgtcaggttgttgacgcgggctaaggcgttgttgacctgtttttc
+tatggtgtcggcgtaggcgaagagttgctcgacgcggcgaacgatttcggcttgttcttt
+tactggaggtaataaaacaacttgggatttgatatcttttcctgaaatacctttttgacc
+agaagttgttttcacgcagttcatcattgcatttcgtgctgagggggatgaaaaaaatat
+ttcgatatattctggtaaagcatctttggttaatcgagctcgaataagtttatcaggata
+tagcaaattttgatgttgtaattttttcaataacccacaaacaccaacaaattctaaact
+tccgttatagcgagtaaataaaagatctccatcttgtaatttgtggcggtttagttcact
+ttctgaacattctagaaaccgaatatcgttttgatctacatggccagcacgtacagaact
+aatgcgtagtattggatgaccaacaccactttcatttggctttgatgaaagaccattacg
+taattcagttaagatagattcaaaatttaacttcttaaatacagaatgttgcggctcaaa
+attacgccatttttctgtcaattttccattaactgcgccccccaataccgcttgacgaaa
+acgtttcaggatttgtgggatttgctcaaaacgtgctttggtgctgtctacctgcgccag
+cagcgtatcgagtttttcagcgatgattttttgttcggcaagtggtgggattggtatatt
+tatcaaatcaaagcttgccggcttaatattattaatatttgcaccagcagaaagtgatga
+aattttgtttcgataaagagaagattttgtgaaatgagcaataaaaccagaaaatataag
+tttttcaggacgtaatacaccgcaaaatgcgccgaaactacattcaaatggtagatgctg
+atgtgcggatttaccaactacggatttgctccctgatgacattgcaataacaatatcttc
+aggagatattttttgactttctttaacaagatttttaggaacaaaaaccaagtccgtagt
+atcaaacttgccattctgaatattgttcgcacggataagaggcaaataatcatcttttag
+ataatttattgcctgctcttttttatacgttactcctcggattagagttgtgaccgtaga
+tactggggcgataacccacccctccggcaatttccccgcactcattccttcaccccacca
+aacgcttcttccagcaactgacgctgcaaatcggcctcatcgctcgcccccagttcacgc
+atcagcgcatccagttcagacagcgcctgtaccagttcgcccatcgcttctgccgctaat
+acatccggctccggcaggctgtcggcatcaatactgtctttatctttcagccaggagata
+tccagcgaatcggattttgcggtgcggatccactcacggctgaacttgcgccagcggctg
+gtagcaagatgctggtcggtgtttttgttctcttcgctgtcggcaacttccgtctcttcg
+gcgttaaaactccattcaccttcagtgcgcgggcttaaaccgtgcgggtcttcgccatac
+acgcgctcaaacggctgcaaatgctcgtcggtaaacggtgtgcgcttgccgaaactcggc
+atattggtacgcaggtcatacacccacacatcatcggtacagttcttatcctgattcggg
+ttcgccaccgtccctttggtaaagaacagcacgttggtcttcacgccctgagcgtaaaaa
+ataccggtcggcagacgcagaatggtgtgcagatgacacttatccatcaggtcacgacga
+atgtcggtgcctttgccgccttcaaacagcacgttatccggcaccaccaccgccgcacga
+ccgccgggatgcagcgtttcgataatatgctgcataaagcacaactgtttgttgctggtc
+gggtgaacaaaggtgcgggtaatgttggtgcctgcggcgctgccaaacggcgggttagtg
+gcgacaatatgcgccttcggcaggttttcaccgtcgctacccagagtgttgcccagacgg
+attgcgccgccgtggtcgaggttgccttcaatatcgtgcagcaggcagttcatcagtgcc
+agacgacgggtgccgggcaccagttcgaggccgataaacgcgcggtggatctggaaatcc
+tgcgtgtcgccatcaaggtcgtccagatcattggtttgcgacttaacatagcggtcggct
+tcaatcaaaaagcccgccgtacctgccgccgggtcctgcaccacttcacgcggctgcggt
+ttcagcagatgaataatggttttaatcagcggacgcggggtgaagtactggcctgcacca
+gacttggtttcattcgcgttcttctgcaacagcccttcgtacatatcgccgaagtcatcg
+cgcgacttaccgtgcgcgccgttgtaccagtccagcgaatccatattgctgaccagtgcg
+gttatttgtttcggctcggtgatggtggtactaacattatgaaaaactgcctgtaccagc
+tttttgtcatcttcgcctaaatgcacgagcatttttcggtagaactgcaactgctcctgg
+ccgatgcgggatttcaggtcatcccagcggtaaccttccggcaggtattccgcttcctga
+ccggtctctttacacattttcaaaaacagcagcgaggcgagttcattgacgtagttttga
+taggaaacgccgccatcgcgcaggttgtcgcacagcttccacagcttcgcgaccagatcg
+ttattgttcattgtgagttccgtaaattaagcagcggcccaaattcatcgagccgcagaa
+gaagaaattgccgagggtaatatacacaaaatcattcaggttgcatcaaggcggcaagtg
+agtgaatccccgggagcgtacagaagtacgtgaccggggtgaacgagcgcagccaacgca
+gaggcagcctgaaggatgaagtgtatacgtgtcaggccagctcgtcccagatataatcgc
+tgaatttgcccagcagggtatcgagattatcgtcaaaggttctttgcagcatcgccttcc
+cgccgcgacggtggaagttgccggttttgaagacatcgtcgtcgagcaccactttctctt
+tcagcgcctgcgctaaacgatcgagccagcttaattgctcgctgctccagtcgttttcgc
+ccttaatgcgcgtcagcgcgtgatcgacacgttcctcaaacggtttcagcgcatcgccca
+ccgcagcgcggcgaatatgaccaatcagccgggcggcgatatcttcattgcgcgtctctt
+tccatgctttgcgcagggaagattcctcaaagtgctggcggtcaaaccactcctgtagct
+cgaccagccctttacgggtgagatcgcgcgggcgattaataactgcctgcaatgccggtt
+gcgcgttcggggaacgttgcaccagcgagtcaaaggcttcgaggaaatcctgcggcgtgt
+cgtaatcaccgtacagcgattttacactcaccacttcatcgtcgatatcgaggaagatcg
+gcgcatcattcaggttgttgatgtccgttttcagcttttccagacgggcgataaagccag
+gcagtttgttaaagacttcggcgctccagtgcggccctttttcccgcaggcgcgaggcga
+agccgttaaagttcacgcccgccgcgtcctggcatagctcatccagacgacgcacctgtt
+tatctatcgtttcgctgcggtcacggttaaacgtggccagaccgatgatacgctggagct
+tcgccaccagttgttcatggctgtgctcggcaaaactgcggccatccgcttcggtgattt
+tataggtttctgaatcggtaatttcattgaccagcgtttgcagttccaccttcgggcgca
+ccaccaccggacgcatggtgtcgacgctctccagcgtgctgtagatatcgacacagtcaa
+aaatcttaaagctggttttattcacctccgggcataagcgcgtggcgcggcctttcatct
+gttcgtacagaatgcggctgcgtactttacgcaggaacacgatattacagatcgacggaa
+tatcgacgccggtcgtcagcaggtcgacggttaccacgatattgggcagccgctctttat
+tgaagcgggtgatcatggtctgcactttgcgcgcgtctttatcggcatcaccggtgatct
+tgatgatcgcgtcgtgctccagttgcggatactttttcttgaacgcggcacgcagctctt
+ccaccaccatatcggcatgggcattggtgacgcagaagaccagcgttttttgcgatccgg
+tcgggtcaagataattggtgagttcgttacagacggcgcggttaaacgccgggatcacca
+ggccacggttaaagtcggcgacttcaaaatcctgatcgtcttccagggtgtcattgatca
+cttctccctgcgggctgatgcgctctacctgctcgcctttggagagataaaccccctcct
+gcgcgttgcgggtgatgatctgaataggcggatcctggtcgatcagaaaaccgtcgataa
+ccgcggtacggtaggtataacggtaaaccggctcgccgaaaatctgcacagtatgtagcg
+ccggggtggcggtgagagcgatttttaccgcatcgaagtgatcgagaatgcgacggtagg
+cagagacgtaatccagctggctgcggaactgcagttcgccttcggtctgctctttatcga
+gaatatagccgcgatgcgcttcgtcaacgacgatacagtcgtaacgggccaccggcatcg
+gttcatctgattgcagggtgcgtttcaccagcgactgtacggtggcaacgtgaattttgg
+tgctgtcttccgggaatttatccgtcagccctttaatgtcgaaaatgctgttgaaggtgt
+cgccgttaatacgcgtatcttcaaacgcgcccagcgcctgttcgccaagagaacggcggt
+cgacaaggaagagaatgcgtttaaaacgctgggactggatcaggcggaacatcatggcga
+ttgccgtacgggttttaccggtaccggtcgccatcgccagcaggatctcttgttgcccct
+tgacgattgccttttcaaccgcgcggacggcatcttcctgataataacgcaggcccagct
+cgctcatgccagggttatcggcaaaccactgattctgtttttgcggttcgctgccgagca
+tttccagcagctcttccgggcggtgccactcgggtaaggctttcgacatattgcgggtat
+cacgcacgtcgcgataccagatgccgcttttggtcttcattgttgcgcggtattcgcgcc
+cgttggtcgagtagcagaaggggattttaaaccgttgtttgccgctggtgtcctgccagc
+tggtttcatactctggcactgcttcatgcacttcatccggtgagtagtgctcaagcaagg
+tttcccgcaggaagccattatcgaaacatttactgtagcgatacgactcattgagcctgg
+cgggaacgtcgatattgttacgtttcgcctctaccaccgcgatgggtttgaggccgacaa
+acagcacataatccgcaaagccctgattacccgtttcatcttttccggtcggccattcgg
+caatggctttattgacgccgggttccggacgtgcgcctttggagaagcgcagggttttgc
+tgtcggcctgccagcctgctttacgcagttgcgcatcaatcaggaagcgactctcttctt
+cgctaaggttgagtgtgcgcttgatggcctgatcggtaatttctttgtggtaagccttac
+gttcctgttcggtctgttttgccagttccgcgttcttctcggcgagctgtgcttccagtg
+ccgcaaggcgagcctgggtttgcgcttcggtttcctgctgtttgccttccagaatggcga
+tatagccgttcagggcaaccagcttctgctgttgcgcttcgacttctgcctgagtctgcg
+ctttttctcgcacctgctgttcaagctgttgttttagcgtcagcacttcctggtgataga
+ggttttcaccacgttccggcaacacaaacaccggcaccgggaagtcataatctttagtga
+ccagacggtagtaccagacagccaggcggaacccgagtcgcaggcacatctgggcatcgt
+tgagatcgttatgatattcgtgcaccgcctggttaccaatgcggcgtaatttgtgaaata
+cagagaggatgttgtcatcaacaaaggcgattttgccgagttcacgcaggagatcgtgtt
+gattctcacaaggggggatgttgagtaacagaccaagatgtttcgctgtggcttcgccaa
+acatacgcattttaatcagcgtcgtgttgggatcatccgggtagttattttccgccgcac
+aggcgatggcataagtgaagtcgttgacgcccttcaggaattcaaaattggatttattca
+tcattgttattaatccattgctgtgcgggcctgtccaaatatttaaggcccataacatct
+catcttagctttctgtacctttccgggcaatgaccacggtcacagcaactgactcatttc
+taacgtgttcgtctatttttgtagtgctatagtagccgaaaaacatctacctgattctgc
+aaggatgtactatgacggttcctacctatgacaaatttattgaacctgttctgcgttatc
+tggcaacaaaaccggaaggtgcagccgcgcgtgatgttcatgaggctgccgcggatgcat
+taggactggatgacagccagcgagcgaaagtcattaccagcggacaacttgtttataaaa
+atcgtgcaggctgggcgcatgaccgtttaaaacgtgccgggttgtcgcaaagtttgtcgc
+gtggcaaatggtgcctgactcctgcgggttttgactgggttgcgtctcatccccagccaa
+tgacggagcaggagacgaaccatctggccttcgcttttgtgaatgtcaaacttaagtcac
+ggccggatgccgtcgatttagatccgaaagccgactctcccgatcatgaagaacttgcaa
+agagcagcccggacgatcggttagatcaggcgctaaaagagcttcgtgatgcggtggctg
+atgaggttctggaaaacttattgcaggtttctccttcgcgctttgaagtcattgttctgg
+atgttttgcatcgcctggggtatggcggccaccgtgatgatttgcagcgtgttggcggta
+ctggagatggtggcatcgatggtgtgatatcgcttgataaacttggcctggagaaagttt
+atgttcaggcaaaacgttggcagaatactgtaggcaggccagaattacaggcattttacg
+gcgcactggctgggcaaaaagcgaaacgtggggtgtttattaccacttctggatttactt
+ctcaggcgcgtgactttgcccaatccgtcgagggtatggtgttggttgatggggaacgcc
+tggtgcacttaatgatcgaaaacgaagtaggggtttcttcacgtttgttgaaggtgccga
+aactggatatggactattttgagtgaaatatcaggccggatgcggctgcgccttatccgg
+cccataaccccttacttcctcaaccccgcaaacgcagcccgaatctcttcctccggcagc
+tggatcccgataaacaccatcgtgctatgcggtttttcatcgccccacggcctgtcccag
+tcggcgctgtagaggcgctggacgccctggaacagcaggcggttaggttcgccgtcaatc
+cacagcatccctttgtaacgtagcagtttatccgccgactccagcagcaggttttccatc
+acgcgggaaacttcgctgatatctaccgggtaatccagttccaccacaatcgacgaaata
+tcgttttgtttatctgcgataaagtggaaacgcggtttggtgctgacgacgttttcttcc
+agcataaaaccgttggtgttgaacagcaggcccagatcgatgtcgccgtgggtgacggtg
+tagaccggtgcgcgggcgttgatgcgcgccaggcgttcatgcagtttttctgcttcgcct
+gcgacgtcggttttggtcagcagaatgcggtcggcgtagccaacctgtgactgggcgatg
+gtgaactggttcatctgctcatcggcatgtaccgcatccaccagcgcaatcacgccgtcc
+agcagataacgctggcataaaacttcatgggagaaaaaggtctgaataatcgggccggga
+tcggccatgccggtgcattcaatgaccagacggtcgaactgaatattgcccttgtcgaga
+ttgtccagcaggtcgagtagcgcgtcctccagctcgttggagcgcgaacaacagatgcag
+ccgttggtcagcgttttgatctgcgtggcgcggtcgccaatcagttgatcatcaacagag
+acttcgccgaattcgttttcaatcacggcaatcttgtagccgtgctgttcgttaagaata
+tggcgcagcagggtggtttttcctgcgcctaaaaaaccggtgagtagggtaactgcaatc
+gggttcatgctctctccattaacaacagcgcataccgcctttaccatcgccgccgtagcg
+cgcgttctggcgttcgcggaagaattcttcatagctcatgtacggcttgtcgggatggtt
+ggtcttcatatgctcgacgtagttgtcgtagtctggaatgccaatcaacatcttcgccgc
+ctggccgagatatttttttgcctgtcctaagttaccaaacatagttcactctgataagaa
+caaagccccgccgaagcggggctaaacacggttagtggtgcgaagagatcttcacgccgc
+cttccgggattggaacgtacggtgtttctttgtcagtacgtttgtcgctgttacgcaccg
+caagccaggttttgaaaccgtagaagatgatgctgtacaccacaatcaggaacagaatac
+tcagacctgcgttggtgtagttgttcacaacgatgtggttcatattggcaatctgctgcg
+ccgtcaggtcagtaccgttagcaatcttctctttgtactggcttgccatgtagaagaagc
+cttccatctgcgggttggtgctgaacagtttcaggcccagcgcccaggtggtgcagataa
+gcagccatacagccggaacaacagttacccagatgtattgggtgcgcttcatcttaatca
+gcacaacggtgcccagtaccagcgctacggctgccagcatctggttggagataccgaaca
+gcggccacaggctcttaacgccgcccagcggatcaaccacgccctgatacagcaggtagc
+cccacagacccacacagcccgcagtaccgatgataccggcaaccagagaatcggtttttt
+tcaggaacgggatgaagttacccagcaggtcttgcagcataaagcggccagaacgggtac
+ccgcatccagcgcggtcaggatgaacagggcttcgaacagaataccgaagtgataccaga
+agcccatgtcagccatcggcagcactttgtggaacacgtgcgcgatacctaccgccagcg
+tcggcgcgccacctgcacggttcaggacagaaggctcaccaatgtctttcgcggtttgca
+ggatctgctctggcgaaatcacgaagccccaggagctgacggtcgctgccgcgtgtgcgg
+taacgtctttcagctgcgccatgatgatcggcgcgttctcgccacccatttcatgcaggt
+taggcatggtgatgccaaggccagcaggcggggtgttcatcgcgaagtaaagacccggtt
+cgatgatggacgcagcaaccagcgccataatcgccacgaaggactccatcagcattgcgc
+cgtagccgatgaaacgcgcgtcggtttcattagccagcagttttggcgtcgtaccggaag
+agatcagcgcgtggaagccagataccgcaccacaggcgatggtgatgaacaggaacggga
+acagagcgcctttccacagcgggccagtaccgtcaatgtactgggtcatggcaggcattt
+tcagttccgggttcagcaccacgatacccagcgccaggccgacgataacgccgattttca
+ggaaggttgccagatagtcgcgcggtgcgaggatcagccacactggcagcagtgcggaaa
+caaacgcatagccaatcagcgcgaaggtaatggtggtgtctttaaaggtcagtgccggac
+cccagtacggatcgtgagcaatcacgccaccgaagtagatagaggcaaccagcagcacga
+taccaatgacagagacttcacccacacgccccggacgaataaagcgcatgtagataccca
+taaacagcgcaatcggtacggttgagcaaacggtgaagacaccccacggactttcggcca
+gggctttaaccacaatcagcgccaggacggcgaggatgatgatcatgattaagaaacagc
+caaacagcgcgatagtccccggtactggtcccatctcttctttgatcatctcaccaagag
+atgcgccattacggcgagaggagataaacagcaccataaagtcctgaaccgcaccggcca
+gcacgacccccgccagcagccacagcgtgccaggcaggtagcccatctgcgcggcgagaa
+ccggacccaccagcggaccagcaccggcgatagcggcgaagtggtgaccaaacaacacgt
+aacggttggtcggaacgtagttcagaccgtcgttgttaataaccgcaggcgtcgcgcgcg
+tggggtcgagtttcatcaccttctgggcgatgtacagactgtagtagcgatacgccacca
+gatacaccgatacagaggcgaccacgatccacagggcgctgatgtgctccccccgacgta
+atgcaactaccgcgaggcagaatgcaccgatgattccgagaatcacccagggtatgtgct
+tgaatatctttttagtatccatagtaaaacctggcatgtattgattaatagttggccgaa
+gccgttctaggtttgcgttgcgtttgaggaggtaaattgaccgctatcctgtagtgatgt
+tgccagagttacgcgcgcgtaaagtaaggtaaataactgagtggttattttagggatgta
+agcggtcagttttgcggttgagcggcaaaggcgtcgtttaagtgacgataaatatgtgat
+tcatatcacatatttatattgtgaataatttatgtaaataatggctttttaaattcagag
+tgtgaataaaattcactcggcgtaatctccgcgggatattcataaagtttttcctttcca
+ggccgaaaatcttgcatcggtccacaggaaagagaaaccatgttaaaacgtatcaaaatt
+gtgaccagcttactgctggttttggccgtttttggccttttacaactgacatcaggcggt
+ctgttctttaatgccttaaagaatgacaaagaaaatttcactgttttacaaaccattcgc
+cagcagcaatccacgctgaatggcagctgggtcgcgttgttgcagacgcgtaacaccctc
+aaccgcgcgggtatccgctacatgatggatcagaataatattggtagcggttcaaccgtt
+gctgagctgatggagagtgccagtatttcgctgaaacaggcggaaaaaaactgggcggat
+tacgaagcgttgccgcgtgacccgcgtcagagcaccgccgcagcggcagagatcaaacgt
+aattacgatatttatcacaatgcgctggcggagctgatccaactgttaggtgcaggcaaa
+atcaacgagttctttgatcagccgacccagggatatcaggacggtttcgagaagcagtat
+gtggcttacatggagcaaaacgatcggctccatgatatcgccgtcagcgataacaatgcc
+tcctacagccaggcgatgtggattctggtgggcgtgatgatcgtcgtactggcggtcatc
+ttcgccgtctggttcggtattaaagcctcgctggtagcgccaatgaatcgcctgattgac
+agcattcgtcatattgcaggcggcgatctggtgaaaccgattgaggtggatggctctaat
+gagatggggcaactggcagagagtttgcgccatatgcagggagagctgatgcgtaccgtc
+ggtgatgtgcgcaacggggccaatgccatctatagcggtgccagcgaaatcgccaccggc
+aataacgatctctcttcgcgcaccgagcaacaggccgcttcgctggaagagacggcagcc
+agcatggagcaactgaccgcaacggtgaagcagaacgccgaaaatgcgcgccaggccagc
+catctggcgttaagtgcttctgaaacggcgcaacgcggcggtaaagtggtagataacgtg
+gtgcagactatgcgcgatatctccaccagttcgcagaaaatcgccgatattatcagcgta
+attgacggcattgccttccagaccaatattctggctttgaacgcggcggttgaggctgcg
+cgtgcgggtgagcaagggcgcggttttgcggtggtcgcgggagaagtgcgtaatctggcc
+cagcgcagcgcccaggcggctcgtgaaattaaaagcctgattgaagactcggtggggaaa
+gtggatgttggctctacgctggtcgaaagcgccggggaaacaatggcggagattgtcagc
+gccgtgacccgcgtgacggacattatgggcgaaattgcttctgcttctgatgagcagagc
+cgtggtatcgatcaggttggcttagcggttgctgagatggaccgggtaactcaacagaac
+gccgcgctggtggaagagtctgccgctgccgccgccgcgctggaagagcaggccagtcgc
+ctgaccgaagcagtggcagtgttccggattcagcaacagcagcgtgaaacatcggctgtg
+gtaaaaaccgtgacgccagctgcgccgcgtaaaatggccgtggcagatagcgaggagaac
+tgggaaacattttaatcgccatgaaaatgcccgataagcaaaatgttatcgggcataagg
+agattaatctttacgtgggtcgttgatcggctgacgaaccaggaagatgtacgccagtgc
+ccccgctgcggtgacgcaaccgcagatgattagtgccagacggaatgagtgggtggtatc
+aacaataaaaccagtaatgatcggcgcaaaagaggcgcagatgaagctggcaaagttctg
+gatactgcccaccgacgcagtcatgcgagaagcaactgcgacgtggatcaagccccagca
+ggatgttccggcaaagtgaatacagaacagtgccatgccaatcagcagaaccgccgtcat
+ggatgttgtcgcttgtggtactatcagcgtaaaggcggcagaacagaacatcccggcaat
+aatgcagatcttacggcttttaatcggagccattccccctttgaccagccagtcggtaac
+gtaaccgttgaccagcatcccggcagccccaaacaggaaagggatagccgccatcaaccc
+tgtgctttttaaatccaggttataggctgtttgcaggtaaccaggaagccaggccagata
+cagccacgcagtgtagttgatgccactgaatccgagcatcattccccacattgtacggtt
+acggaacaggctgcgccattcggcaaaactgagcggatctcggcgggcattgacgctacc
+tgcattgagataagcttgctcaacggcagtcagttctacgtgctcgcggttgcgatagag
+catataccagccgatggcgagaaaaatccccagtacaccaatggtaataaacatcccgcg
+ccagcccatcaccagcatcatcgccgccagaatcggtgggcttacggcaacgccaatggt
+agaagctgcgttgaagaagcccatcgggcgtccgcgctctttgatgttgaaccagtcgtt
+aatgacttttacaccgcatgggttcatcggcgcttcaccaatccccataccgatacgcac
+caacacgaactgcgtaaagttgtgcaccatgccagacattgcctggaacagtgaccagaa
+gaacatccccagtcccagcatcaggcgtgggcctttacgatccaatagtgggccgcaagg
+aagttgcgcaatcccgtaagcgagtgaaaacacggagagcaaagcgccgatttcggtggc
+acttaatcccaattcttcacgaatcgttaaatttgctaccgacagcgaactgcggtcgag
+ataattgattaccgccgcaaaaaataataacaacatggcggtggtttgaatgcgtttaat
+tcgggtactgcgttgaactaatccatctggtggcacgggaatatctgccgacgaagatgg
+agtaaatgaagaacgcggatcgatggtgatattttctttttccacgccggactcctgtat
+ttataattttaattgtttacgtaattgtgcattacgcaaggttgacattaacggcaggtt
+aaagttttaggactttactaccgctcacaaaaacatttttagtcgactgattgtgagcat
+aggtaagcgggaatttcccggtatttatcttttgataaaaccgtgcacccgctaatagtt
+tgctgtttttaatccgtacttaatgagcataacgcgtgttctcattaatggatcgaatca
+ttgattgtttagctgaattcaaatggttacggagcgcaagggtggcatcaaggtcactgc
+ggcaaatcagagcgctgagaatggtcatatgctcatcgacggcaatgatattgcgctgtt
+taagatcgctttcgtcccattgatagtgaaaatgaaagatgactgagatgatctcaagcg
+attgatcaaaaaagatattgtcggcagctgaaagcagtaaggagtgaaaatctctgtcaa
+gttgcgagaacatgcgaaagctattgccgatgttgtcacgcagtagccgatgacgttcga
+gcatggttttcgcctgcagccagcggggatcatgatcaggcaggttgagaaagtgctgaa
+gtgaatgtgtttcgagcatttcgcgtagctcaaacagctgctcggcgtaggattgatcga
+attgcttcatgctccactggccgcgcttttcgctgtgaataagattataacggccgaatt
+ttaaaagatattctcttactacaaccgggctgacacccgcggcccgagccagttgcagtt
+cagaaaacgtttcccctgggcgtaactggcgctggtttatcatcgtgaaaaaagcctgct
+caaacactttgttttgttcactcattgaagcggtagtacaggcgaaaccgtcatcatggt
+caggtttacgcgcaataacatagtcgtttccaacctgcgtcaagacgccgcattcgcgta
+agtggctgagaatatgacgcactgtggtgcggctgatgttgtacatttccgccagcgcac
+tttgcgatggaagtggggaagggatatgaccccgcgccatatcatcaatgacctggttaa
+tcacattgtggcgtaaattttgtgaacgactcatattttcctccttgtgagtccattaaa
+acccgatttaaaacatttttatgcgtgtgttttcacaaaaaagattttccgttccgctgc
+catttttcattttcattgatatctaaggcaacaaaaagtggagagccgaatcatgtctac
+gatgaatgttttaatttgccagcagccgaaagaattagtctggaaacaacgcgagatacc
+tattccgggtgacaatgaagcattaataaaaattaagtctgtcgggatttgcggtaccga
+tattcatgcctggggtggaaatcaaccattttttagttatccacgtgttttaggccatga
+aatatgtggggagattgttgggctgggtaaaaatattgctgatcttaaaaatggtcagca
+agttgctgtgatcccttatgttgcctgtcagcaatgcccggcgtgtaaaagcgggcgtac
+caattgctgtgaaaaaatttcagtcattggcgtgcatcaggatggcggttttagtgagta
+tttgagcgtgccggtggcgaacattttgcccgcagacggtattgacccgcaggcggcagc
+attgattgaacctttcgctattagcgctcatgcggtgcgtcgcgcagccattgctcccgg
+cgagcaggtgctggtggtcggggcggggccaatcggtctgggcgcggcggcaatcgctaa
+agccgatggcgcacaggtggtggtggcggataccagtccggcgcgccgtgaacatgtggc
+aacgcgtctggaattacctttactggacccgtcagccgaagattttgacgcgcagctacg
+ggcgcagtttggtggttcgctggcgcagaaagtgatcgacgcgacaggtaatcaacatgc
+gatgaataacaccgtgaatttgattcgtcacggcggcacggtggtatttgtcggcctgtt
+taaaggtgagttgcagttctccgatccggaattccataaaaaagaaacgacgatgatggg
+cagccgcaacgccacgccggaagattttgctaaagtcggtcgactgatggcggaaggaaa
+aatcactgctgacatgatgttaacccatcgctatccgttcgccacgctggcagaaaccta
+cgagcgcgatgtgattaacaatcgtgagttaattaaaggcgtaattactttctgataagg
+cgagattattaaagttgccatgcagcgtccggggaagtgttgggcgctgttttttttgtt
+tcttaataatgtgttgtaagccgtagaaggcgtgtaggtcgcaccctatgcgacctacac
+atcagtcaggaattacccttcacgttctaccactttaatttccaccatgccgatcccgag
+cttacgcggcgagtgtccgaggatattcccttcgttggttgagacaggttccggcggcac
+aattaccagtgtgtcggcatcggttgggttatcgaaatgcagtgtggtggtggtcacttc
+attgcccagcacaagagtttgttcttcattgcctacgcgtaccggaataggacggctggc
+gttattgccgtatgctttggcggtaatcaccaggtcaaatttcttcggcagcggatgctt
+gtactcgatttttacttcatcgcccagctgcgcgttggaccagcggccccacgactccgg
+acgggaaatcccgctaaactgtttcacctcttctggcgcaccggcgacgttaaagatgaa
+actgtcggctttgtagcgaatatcgttatcaacaatcttcagcgtatcgacattgccttt
+gtaacgcgccatgtcgatgaccgtatctttaaatgccgttttgccctgccatgttgtttt
+gtcaacatgctgaacaatttgctgaccgccaagctgcccttgcgagacacaccagtcggt
+ggaaagtgccagttccggagcccagagttgtgccatcttgtagcaacggtcaacccagac
+gaaattgtcgcgtggagcgaaatcggccagctggaaacgcagcggtgctgagtattcgct
+ttccggcagcggttccacgcgtttgtctgaaacccgcaacagcagcggcaaacggaaatg
+gctacccgagaaggcaatcatgtttttctgctggtcgatggtgaactctttcatctcttt
+agggaatttccacaggcggatgatatctggcttccacgccaatgttttctctttgatatt
+gaggaagatttccgacatcgactgcccggataaactgctacgaccaagtccgagatagtt
+atcgccaccgagaatgtccagcaccgtcgcgccgttatccatcgtgttacgcttcactgc
+cagcgtctcttgctgcggcttgtcgccacgaatgacaaaaaacaggttattgcgatcctg
+cttattgaggtatttccacgccgtgttgttcatcgctaaatggtcagaagagacgacgat
+gacggtatctttaaaccacggtgacgctttgattttgttgataaacgtcgcgatgttctc
+ctggctgcaacttaccgcgctgaatgactgattcggtttaccgtcaaaatcatatttttt
+gcggttacaggtacgagagataaaaccatccgggtgatgggtatcgactgtcagggtaaa
+cagtgagaatcgctgacctgagcgggaaagctcttcaaactttttccacgcttcatcgag
+aacggtatcgtcgtagaatccccagtcgttgcgatagtgcgggtcggctaccacgctttt
+cagctcttctgagccgtataagtggtcgaagccatgcgacttcaggaacacatctttacc
+ggcaaaacgcagattcgcgccctgcacgaaatagttctgataacccgagtttttcaggat
+atctcccagacagatgttctgcgggaagaagctggagacagaggcggaggcgttgccttc
+aaagggggcaaacagcggtatgccgcactgagaagccaccatgcccgcaatcgtgtaatc
+tgttcccggcagctgctgcgtgtggctgaaatccaggccttcatttttcaacgcgcccag
+ttcaggcgtgagatccgggaaagcctcgttatcaaaataggtccgctcgagactttcgcc
+gtagatataaaccaggttgagtttcgggtcagggatagttttcgacggctctttataata
+agccgcaaagtccgggtcgccgtcgcgtgactgggatttcaccagttccgttatctgacg
+aaatgccgggctggcgtccaccgaacccagcgccagtaagagcgccagcaggctgtaacc
+aaaatggtgcggatgatggcgacgacggcgcaggatccagcccagcgcaccgaacaccgc
+tgtcagccccagcacaatgccgatacccggcaaaatgtatttgctgacgccagcaccggt
+caggctgttggttaaggtatagagaaccgcgtcgttaataccatcgccagtaaaatagtc
+gctggcaaacagggtgatatttaaaacgacaaatagccccagcaccgttaacgtggctgc
+aaaccaccaggtgttacgtcccgctttccatgcgtaaatcagcacagaggcgagaaaaag
+ggcgaaagagagtagttctgacaacgggcgatcctcactaaaccgggccgtttagccaac
+gtttaagctttttgagaagcacaatgtaatggcgtcgccatattgctgcaattctagtgt
+caaaaaaatgcgatgttgttaggaattagtttataaacagacttttttgattacggtcac
+ttcccgtgtaacaggggtaaaaccgtccaggagcagggaaaagggcaggagagagccgcg
+tcagccgggtaacagctaaaacgcggcgtttcgcggttcaggaaatgaagttcagcccct
+gttttaacaccagatcgcaggctttggttttcaccttttctgccagcggagttgttccga
+tgttatccagattgagttgctgaccatctttggttttcagcaaaccctgaatgccgtcca
+gatagttggtgtcttctttttgctcttcactgttcaggcccagcttttccagcacctggt
+tcttgatgttttcggcatcggttaccgacgccagcttttgcttcgcgcagtattgcagaa
+tgcctgcggcattgttcatgttatctgcgcttaaggcctggtttccgctgctaagcaagt
+tagttaatgacgcgagcgaccaaccgccttcctgtgtcgtgctgttttggttgccaagtt
+cgctggcggcgctggagagcgcatctttccaggacgcagcatgcaccccggtggaaatta
+atgcgctggcggcaatggcacagcacagaagatgtttaacagttttcatcatcattactc
+aaggtggaattgtgtcgcagtataccgccagaaacggggattaatactctttacctgtta
+cccggctacggtagctatcccagttgaagatcacccacaaactgttacccaggcgcatac
+ggtccatcacgcgttcgcccagcaacttggtcatctcttccatattactgttggtcagca
+tcccggttgggcgtttggaagaagagcggcgatcgacgatctggttgatgatcacttttt
+cgtatttcgattcggtctgcacgccgatctcatcgatcaccagcagatcaacgttgctca
+gatcgttaagcagttgttcttcgctggtaccgctattcctgaaggtatctttcatcgccg
+acataatatcggccacggtgatgatcaatacggatttaccgcgtagcagcagctcgttgc
+agattgccgccgccagatggtttttgccggttcctggcttaccagaaaagatgaagctgg
+cgatgttgccgtcaaactcttcgacatactggcgcgctttgcttaacgcattcatctgcc
+cttcacactcaacgcgatagttctcaaaggaacagttctgatgcagtggacgaataccgg
+agcggttaaaggtgcgctgcattttcatcgcccgattttcacgttcgagagcggcggagc
+ggatcgctccttgttctttttgccaggccagtagttcttcacccgttttgaatgcgggtt
+tgatatgggcaggcatcattttttgcaggcgttgcatcaggtcgccaacgtttttcatcg
+ttaccctctgaatcctggtggaatttggctgtcaggttcgctgaccgtattcacatctcg
+tttcggcagtccgccgttgctggcacgaccgatttgcaggctgcgcgccagtttttgttg
+ccactgcacatggtgaaagactttaccttccgcctgccagtaggcaatgaatgaggccag
+ttcttcggtggtcaccggctctcttagcgccacgccccatagcgccgccaggcggataaa
+atcggcatcgggttgccagtccggatacatggcgaatttccccatgggtacagcaacggg
+agcggcttgcggttcctgatagagttgatcgtccagagcgacatcgcttcccggacgcgc
+cagcttttcttccagcgccagcagttcagccaggcgtgcaggcgtgacggcataaaacgc
+cggggcattgttagcaaatacggcaaccacaccgccttcagcttttgccagaacggtttg
+gtgatcgtgtaccagggcgtcaataccaacgacgtccggggtcaaaactctggaagacat
+actgtttctcaaatatggaacgatgaacgagaagggagataacttttatagtaacacacg
+gaggagaggaggctgtctctcatccgtgtgcttaagcgaggcaattttatacgcgagggc
+gcttgcggtacaaccataatccaggaatggaaagaccgatggataacgcaccaacaatcg
+atgaagctgtaagaaagttggttaacagggtaatcatcaacggttcgctgtaacctaact
+ggctgatttttaccgccgaaatcattgcggtataagccgatatgcccgggaacataggga
+taacggccgccacggtaaacactttcggatgcgccagataccagcgcgaccattgaatac
+caatggtaccgaccagcatagaagccataaaggttgaccactcaatattcaacccgctgg
+tcatcaagatcattcgggaaccatgacctatcgagccaagcagcgcacaccagcgtaacg
+cccgcacgggaacgttgaacaccatcgcaaagccgaccgcaggaatggcggcgaggatca
+tatcctgcgccaacgctaacagaaattcgatcacacccatccgcgtagcccccaaatcgt
+cagtgccatcactacgccgacgcaggtagccagtgtcagcagactggcgatcgcccagcg
+tgccagtccggtattgatgtggcctttaaacatatcggcgacggcattaatcaacggaaa
+gcccggcactagcagcagaacgctggcggccatcgcaatggtgggggtattgctgaaagt
+ggggagttgcaaaagcaatccggaaatggtggtggcggcgaaagcggtaaggcaaaagtt
+gatctgtggatgaagatgacgttgtgccagcagctggcggatatacatcgcggtcgtact
+ggcaaagaaggtgatgacggcaccatcccagccaccgttattgagtttacagaaacaggc
+gcaagaaaggccaaccattaaggctaccagccatcttgggtaacgtaatggctgaatttg
+gctaaatcgtttctctacgcctttgtaatccagcagatgatgctccgcaagaatcacaat
+gtgctggacttcagtcaccacatgcatattaatgccgcgatcgtgatttttacgtgtcga
+tgtcaggcattgcccatctttaatagttgtcagcactatggcgttcgaagagatagaact
+ttcgacgctgtccattcccagtgcccgacccagtcgtgaggaaagctcatcaaccaacgc
+gctttccgcaccatgttgcaaaagaaataatccacactggatacaaagccgtgttacggc
+tcgctgttgctcagtttgcataactcgccctttgtcatagacgtgctgcgtattgttcag
+ataatgagaatccatttgtatcatgaagcacggttgttttgcggtaggttaagatcaaaa
+ttgcgctgattaatcctggttatcgggagaagctcggtgataaaaagcgaattatctctc
+gccgcaaacaaactatcacatgaatattatcatcataatgaatttattgtttggccttta
+cgaatcaggataatagataaccgggcacgttttttaatgttaacaagctaaaaccatcag
+atttcattgaataaatattggttgtgtgattttgcattctgcgggaagggatatcattta
+attataaattaaatgaatgtgatttctgtttttcattaagtattcctaacaacttaatgt
+agatattttaaatgtctccaggctatttcaccaggttatcatttgatgctaaccttctga
+cacatgcagtggagttgttgtgcagcaggagtatgctgatatgaaagtgaatgctaagga
+taatttattcgcttaatctattaatttgctggaaacatttaaggaatgaatatcctgaat
+aaaccatcataatttttagacagtggatgtggaggaaatatgttgccaggatgctgcaaa
+aatggaattgttatcagtaaaatacctgttatgcaagcagggttaaaagaggtcatgagg
+actcacttccctgaatatgaaataatatccagcgcctctgcggaggaccttaccttatta
+caattacgtcgttccggattagtcattgctgatttagccggtgaaagtgaagatccacgt
+tctgtttgtgaacattattattctttaatctcacaatatcgggaaattcactgggttttc
+atggtgtcacgctcctggtattcccaggcagtagaactgctcatgtgccctacggcgacg
+ttattgtctgatgttgaacccattgagaatctggtcaagaccgtacgttccggcaatacg
+cacgcagagcgtatcagcgccatgctgacctccccggcaatgactgaaactcatgatttt
+agctatcgctccgtcattctcactctttcagagcgcaaggtactgcggctattaggtaaa
+ggatggggcatcaaccagatagcttcattgcttaagaaaagtaataaaactatcagcgcc
+caaaaaaacagtgcgatgcgtcgactggcaattcacagcaacgctgaaatgtatgcatgg
+ataaatagcgcgcagggtgcaagagaacttaacttgccttctgtttatggagatgccgca
+gaatggaacacagccgaattaagaagagaaatgtcgcactcatagaaaaatgcgtcatga
+gtagtatcggtattgagagtttattcagaaagtttgcgggtaacccttataagctccata
+cctataccagtcaggagtcatttcaggatgccatgtcgcggatctcgtttgcggcggtca
+ttttttctttttctgccatgagaagtgagcgcagagagggattatcttgcctgactgaac
+tggcgattaagtttccgcgtacccggcgtttagttattgcggatgatgatattgaagctc
+ggctgattggttcattgtcgccatcaccgctggacggtgtattaagtaaagcgtcaacgc
+tggagatttttcatcaggaactctttttgtcattaaatggtgtacgtcaggcgaccgacc
+gactgaacaatcagtggtacattaaccaaagccggacgttaagcccgacggagagagaaa
+tattgcgctttatgtcgcgtggctactcaatgacacaaattgccgagcagcttaaacgca
+atatcaaaacgatccgtgcacataaatttaatgtgatgtcgaaactgggcgtcagttctg
+acgcagggttgttggaggccgcagatattctgttatgtatgcggcattgcgaaacaagta
+atgtgttgcatccctattaatccgcatgatgccgggtttacttccccggcagtgctttca
+tttcagcgtacaatcgccacattgctgcacatccggtaagcgataacgctggcagcaagt
+gcggcgcaccagcaggccgtcgcgcagtaccacggtacgccagagtggattatcttcacc
+gttcgtgagcgttttctcaaaaaagagggcatggcgcagcgattcaacagtagcctcgcc
+gagcagttgcttcatctcagtgagataccagttgatcaaataaccggtattactccagat
+aagtttgccgttgatctctccggtcgcttctagtgcttgcacaaccggaaccagcgcctg
+gctgattaacgtttccattcgatgctgcggcgaatgtggtgttgcgtttttatcttcaca
+cacatcgacccagaaacaggcgacgcgtccggtttcgtgaaactcagcatggaaatgttc
+cggcgacacatctaatgccttttcctgcgtcagtagcgccagcattaatggtggcaccat
+caggccgatataccattgtgcccatagtgagatcagcggtttgttctcgcggatcatcat
+cggttggttgcgatagatatgatcggaatagaccgccagcagagaacttagcacattcgg
+tgatgaccattgcgccagcgtcatggcgttaagtggggcaggttcatccaggcggataaa
+ctccagcaaatgttcacgatgttttgcgatcgtcgcccgcacggcttgcgcaagcgtggg
+atcctgcggctggagatgcgttcgccagatgacatcttcatagagcggtgcggaacgata
+ggccataatcgggatagtaatctaaatgataatgattgctaatcatagcgataggtttac
+ccgatagcaagggatttatctggcttgcaaatgataaaaattatcatatgatattggtta
+tcattatcaatgaaagagatgaaatcatgttgcaacgtacgctgggcagtggctggggag
+tgttgctgccgggattgctgattgcagggctgatgtatgcggatttatcgtcagatcagt
+ggcggattgtcattctgatgggattagtattgacgccgatgatgctgtatcacaaacagt
+tgcggcattacattttgctaccatcgtgcctggcacttattgctggcatcatgctgatga
+taatgaatttgaatcagggatgaaaaatcaaggaagaaacaagaaaggaagtaaagataa
+ttggtgcgaggggggggacttgaacccccacgtccgtaaggacactaacacctgaagcta
+gcgcgtctaccaattccgccaccttcgcacagtcatcttactttttttgatatcgcctcg
+tttggtgcgaggggggggacttgaacccccacgtccgtaagaacactaacacctgaagct
+agcgcgtctaccaattccgccaccttcgcccagtgcgagcaatatcaacgtggtttttgg
+tgcgaggggggggacttgaacccccacgtccgtaaggacactaacacctgaagctagcgc
+gtctaccaattccgccaccttcgcataccatcaattcttaaaaagaattgctaccacgga
+ggcgcattctagtggttttcagcttttcgtcaatagttaattatcgacagaggtgtaatt
+gctggaaaaatgtccatcaggaaactagcgtgcaggtttggtatgcatgcgggggcagat
+gccagatgcgacgctggcgcgtcttatctggcctacgaagggctaacgtgcaggttttgt
+aggtcggataaggcgttcacgccgcatccgacacggtattcggcgagataattaaccttt
+cttcgcctggcgggtcataatggcgcgatacaccttgaagcgccctgtttgcgcgatcac
+ttcgtggaagccaaatgtctcatccagcacgtccggataaggcaggaaggcgttcgctac
+aattcgcagctcgccgccgctattaagatgacgcaccgcaccgcgaatcagcgtttgcgc
+cgcatccaggctggtttgcatcccatcgtggaacggcgggttggagatgatcatatcaaa
+acgacctttcacctcggaaaagacgttgctggcaaagacttcaccttcaacaccgttggc
+cgcaagtgttgcgcggctggcttctaccgccggggcagagacatcgcacaaggtgagacg
+aattttcggcgaatggcgcgcaaaggcaactgaaagcacgcccgcgccacagccgacatc
+cagcactttacctttcgtgtgcggagttaacgtcgagagcagcaactggctaccgacatc
+cagaccgtcgcggctaaacacgccaggcagcgttttgaccgtcaggccatcgacgctgta
+ttcgccccagaatttctccgcatcaaataccggctgtttttccagacgaccaaaatagag
+gccacagcgacgagcgctgtcgactttattcaacggcgcataatctgccagcatctgctc
+ggcgctgcgcacgccgctgcggttctcgccaacgacaaaaatatctgtccccactggcag
+cagagaaagtaaattcatcaactggaactgggcttccggtttgttcttcggccagtagta
+aatcagcgtatcgcaatctgcgacgtcatccgccgtggcgaccagactgaaacgggcgtt
+atcccccatctggcggcttaatacctgccagtggtggaattgctgggtatgagcacggct
+ggccgcggtatctaaacgcgcgggcaggtcatcctgtaagtctccggcaaacagaatacg
+gctttgttcgaaatcatcactgtgacgcagcaagacttcacttgccggggtaaatgcaga
+catggaatgctcctcaattgatactggcggcgattatagccatatgttggcgcggtatcg
+acgaatttgctatatttgcgcccctgacaacaggagcgattcgctatgacatcccgacga
+gactggcagttacagcaactgggcattacccagtggtcgctgcgtcgccctggcgcgttg
+cagggggagattgccattgcgatcccggcacacgtccgtctggtgatggtggcaaacgat
+cttcccgccctgactgatcctttagtgagcgatgttctgcgcgcattaaccgtcagcccc
+gaccaggtgctgcaactgacgccagaaaaaatcgcgatgctgccgcaaggcagtcactgc
+aacagttggcggttgggtactgacgaaccgctatcactggaaggcgctcaggtggcatca
+ccggcgctcaccgatttacgggcaaacccaacggcacgcgccgcgttatggcaacaaatt
+tgcacatatgaacacgatttcttccctcgaaacgactgatttaccggcggcttaccacat
+tgaacaacgcgcccacgcctttccgtggagtgaaaaaacgtttgccagcaaccagggcga
+gcgttatctcaactttcagttaacgcaaaacggcaaaatggcggcgtttgcgattacgca
+agtggtgctggatgaagctacattgttcaatattgcggtcgatcctgactatcagcgtca
+gggattgggaagggcgctgctggaacatctgatcgacgaactggaaaaacgcggcgtggc
+gacactatggctggaagtccgtgcttcaaacgctgccgccattgccctgtacgaaagttt
+aggctttaacgaggcgacgattcgccgcaattactaccccaccacggacggtcgcgaaga
+cgccatcatcatggcgttgccaatcagtatgtaatacaaggtggaataatgaagtgggac
+tggattttctttgatgccgatgaaacgctgtttacctttgactcattcaccggcctgcag
+cggatgtttcttgattacagcgtcacctttaccgctgaagattttcaggactatcaggcc
+gttaacaagccactgtgggtggattatcaaaacggcgcgatcacttcattacagcttcag
+cacgggcggtttgagagctgggccgaacggctgaacgtcgagccaggtaaactcaacgaa
+gcctttattaatgcgatggcggaaatctgcacgccgctgccgggcgcggtttctctgctt
+aacgccattcgtggcaacgccaaaatcggcatcatcaccaacggctttagtgccttgcaa
+caggtgcgtctggaacgcacgggcctgcgtgattacttcgatttgctggtgatttccgaa
+gaagttggcgttgccaaaccgaataagaaaattttcgattatgcgctggaacaggcgggc
+aatcctgaccgttcacgcgtgctgatggttggcgacactgccgagtccgatattctcggt
+ggcatcaacgccgggcttgcgacctgctggctgaatgcacaccatcgcgagcaaccagaa
+ggcatcgcgcccacctggaccgtttcttcgttgcacgaactggagcagctcctgtgtaaa
+cactgattgcctcccccccgttgatgggtaaaatagccgcaatttttcgttttcaacaag
+cgcggcgcgatgccgcttactcaagaagaaagaattatgacgttgtctccttatttgcaa
+gaggtggcgaagcgccgcacttttgccattatttctcacccggacgccggtaagactacc
+atcaccgagaaggtgctgctgttcggacaggccattcagaccgccggtacagtaaaaggc
+cgtggttccaaccagcacgctaagtcggactggatggagatggaaaagcagcgtgggatc
+tccattactacgtctgtgatgcagtttccgtatcacgattgcctggttaacctgctcgac
+accccggggcacgaagacttctcggaagatacctatcgtaccctgacggcggtggactgc
+tgcctgatggttatcgacgccgcaaaaggtgttgaagatcgtacccgtaagctgatggaa
+gttacccgtctgcgcgacacgccgatcctcacctttatgaacaaacttgaccgtgatatc
+cgcgacccgatggagctgctcgatgaagttgagaacgagctgaaaatcggctgtgcgccg
+atcacctggccgattggctgcggcaagctgtttaaaggcgtttaccacctttataaagac
+gaaacctatctctatcagagcggtaaaggccacaccattcaggaagtccgcattgttaaa
+gggctgaataacccggatctcgatgctgcggttggtgaagatctggcacagcagctgcgt
+gacgaactggaactggtgaaaggcgcgtctaacgagttcgacaaagagctgttccttgcg
+ggcgaaatcactccggtattcttcggtactgcgctgggtaacttcggcgtcgatcatatg
+ttggatggcctggtggagtgggcacctgcgccgatgccgcgtcagactgatacccgtacc
+gtagaagcgagcgaagataaatttaccggcttcgtatttaaaattcaggccaacatggac
+ccgaaacaccgcgaccgcgtggcgtttatgcgtgtggtgtccggtaaatatgaaaaaggc
+atgaaactgcgccaggtgcgcactgcgaaagatgtggtgatctccgacgcgctgaccttt
+atggcgggtgaccgttcgcacgttgaagaagcgtatccgggcgatatcctcggcctgcac
+aaccacggcaccattcagatcggcgacacctttacccagggtgagatgatgaagttcacc
+ggtattccgaacttcgcaccagaactgttccgtcgtatccgcctgaaagatccgctgaag
+caaaaacagctgctcaaagggctggtacagctttccgaagagggcgcggtgcaggtgttc
+cgtccaatctccaacaacgatctgatcgttggtgcagttggtgtgctgcagtttgatgtg
+gtggtagcgcgcctgaagagcgaatacaacgttgaagcagtgtatgagtcagtcaacgtt
+gccactgcccgctgggtagaatgtgcagacgcgaagaaattcgaagagttcaagcgtaag
+aacgaaagccaactggcgcttgatggcggcgataacctcgcttacatcgctaccagcatg
+gtcaacctgcgcctggcacaggaacgttatccggacgttcagttccaccagacccgcgag
+cattaattcttgcctccagggcgcggtagccgctgcgccctgtcaatttcccttccttat
+tagccgcttacggaatgttcttaaaacattcacttttgcttatgttttcgctgatatccc
+gagcggtttcaaaattgtgatctatatttaacaaagtgatgacatttctgacggcgttaa
+ataccgttcaatgcgtagatatcagtatctaaagccgtcgattgtcattctaccgatatt
+aataactgattcagaggctgtaatggtcgttattcatcactcatcgcttttgtgatggcg
+accattgacttctgtagagggtgaagtctctccctattcagcaatgcaacctcgtgttgc
+caggctcaaattacgagcaaacatacaggaataaatcgatgactatgacaagactgaaga
+tttcgaaaactctgctggctgtaatgttgacctctgccgtcgcgaccggctctgcctacg
+cggaaaacaacgcgcagactaccaatgaaagcgcagggcaaaaagtcgatagctctatga
+ataaagtcggtaatttcatggatgacagcgccatcaccgcgaaagtgaaggcggccctgg
+tggatcatgacaacatcaagagcaccgatatctctgtaaaaaccgatcaaaaagtcgtga
+ccctgagcggtttcgttgaaagccaggcccaggccgaagaggcagtgaaagtggcgaaag
+gcgttgaaggggtgacctctgtcagcgacaaactgcacgttcgcgacgctaaagaaggct
+cggtgaagggctacgcgggtgacaccgccaccaccagtgaaatcaaagccaaactgctgg
+cggacgatatcgtcccttcccgtcatgtgaaagttgaaaccaccgacggcgtggttcagc
+tctccggtaccgtcgattctcaggcacaaagtgaccgtgctgaaagtatcgccaaagcgg
+tagatggtgtgaaaagcgttaaaaatgatctgaaaactaagtaattcgtcgtaattcgtc
+ctcccgaactttgtcgggaggcgcgatgtgcaccacactaaaaatatcgcattgagtgat
+tttcacgctcatatcaagcggtgacattaactatggtaaaggagacgcttatgtttcgtt
+ggggcatcatatttctggttatcgcgttaatcgccgccgcacttgggtttggtggtctgg
+ccggtaccgctgcaggcgcagctaaaattgtctttgtcgtcgggattattctgttcctgg
+tgagtttgttcatgggccgaaaacgaccctagatttcagaccattaagaaaattttatcc
+aaagccagtccagcggactggcttttgcggttttagcgaataataaattgcgttactttg
+tcattctttcacaacaaaaacaggaaggcagaggtggggcagcgaatacctgtaacgctt
+ggtaatattgcgccgttgtcgctaaggccgttccagcctggacgaatagctctggtgtgc
+gaaggcggcggacagcgtggaattttcacggctggcgtgctggatgagtttatgcgcgcg
+cagtttaatcctttcgatctttatctcggcacatctgccggggcgcagaacctctcggcg
+tttatctgcaatcagcccggttacgcgcgcaaagtcatcatgcgctataccacaaaacgc
+gaatttttcgatccattgcgctttgtccgtggaggaaatcttatcgatctcgactggctg
+gtggaggccactgcaagccagatgccgttgcaaatggataccgccgcgcggttgtttgac
+agcggcaaatcgttttatatgtgcgcctgtcgtcaggatgactacgcgccgaattacttt
+ttaccaaccaaacaaaactggctggatgtgattcgcgcctccagtgcgatacctggcttt
+tatcgtagcggagtgtcgctggaaggcattaactacctggatggcgggatcagtgatgcg
+attccggttaaagaggcggcaaggcagggcgctaaaacgttggtcgtcattcgcactgtg
+ccgtcacaaatgtactacacgccgcagtggttcaaacgcatggaacgctggctgggtgac
+agtagcctgcagccgctggtcaatctggtgcagcatcatgaaaccagctatcgtgacatt
+cagcaatttattgagaaaccaccgggcaagctgcggatattcgaaatttatccgccgaag
+ccattacatagtatcgcgcttggcagtcggattccggcgctgcgtgaagactataaactt
+gggcgtttatgcggtcgttatttcctcgccacggttggcaagctattaactgaaaaagcg
+ccgcttacccgccatctggtgccagtggtgacgccggaatcgattgtcattccgcctgcg
+ccagtcgccaacgatacgctggttgccgaagtgagcgacgctccgcaggcgaacgacccg
+acatttaacaatgaggatctggcttgatttgccgttttatcgacacccactgccattttg
+atttcccgccgtttagtggcgatgaagaggccagcctgcaacgcgcggcacaagcgggcg
+taggcaagatcattgttccggcaacagaggcggaaaattttgcccgtgtgttggcattag
+cggaaaattatcaaccgctgtatgccgcattgggcttgcatcctggtatgttggaaaaac
+atagcgatgtgtctcttgagcagctacagcaggcgctggaaaggcgtccggcgaaggtgg
+tggcggtgggggagatcggtctggatctctttggcgacgatccgcaatttgagaggcagc
+agtggttactcgacgaacaactgaaactggcgaaacgctacgatctgccggtgatcctgc
+attcacggcgcacgcacgacaaactggcgatgcatcttaaacgccacgatttaccgcgca
+ctggcgtggttcacggtttttccggcagcctgcaacaggccgaacggtttgtacagctgg
+gctacaaaattggcgtaggcggtactatcacctatccacgcgccagtaaaacccgcgatg
+tcatcgcaaaattaccgctggcatcgttattgctggaaaccgacgcgccggatatgccgc
+tcaacggttttcaggggcagcctaaccgcccggagcaggctgcccgtgtgttcgccgtgc
+tttgcgagttgcgccgggaaccggcggatgagattgcgcaagcgttgcttaataacacgt
+atacgttgtttaacgtgccgtaggccggataaggcgttcacgccgcatccggcagttggc
+gcacaatgcctgatgcgacgcttaacgcgtcttatcatgcctacaggtttgtgccgaacc
+gtaggccggataaggcgttcacgccgcatccggcagttggcgcacaatgcctgatgcgac
+gcttgtcgcgtcttatcatgcctacaagtctgtgccgaaccgtaggccggataaggcgtt
+cacgccgcatccggcagtcggcgcataatgcctgatgcgacgcttgtcgcgtcttatcat
+gcctacaggtttgtgccgaaccgtaggccggataaggcgttcgcgccgcatccggcagtt
+ggcgcacaatgcctgatgcgacgcttgacgcgtcttatcaggcctacaagtctgtgccga
+accgtaggccgtatccggcatgtcacaaatagagcgccggaaatatcaaccggctcaccc
+cgcgcacctttaacgcatcagccaacggctcaacgtcttccggcgtggcgctcgcccagc
+tttgcgcctcgccatacacgccgtgggcatgaaacgcgttcaggcgtaccggaacatcgc
+cgagtcccttgataaacgccgccagttcttcgatgtgttgcaaataatccacctggccag
+ggatcaccagcaaacgcagttccgccagcttgccgcgctctgccagcaaatagatgctgc
+gcttaatctgctgattatcgcgtccggtgagttgttgatgacattcgctcccccacgctt
+tgagatcgagcattgcgccgtcgcacaccgggagcaatttttcccagccggtttcgctca
+acatgccgttactgtccaccagacaggtgagatggcgcagttgcggatcgtttttgatag
+cagtaaacagcgccaccacaaacggcagctgggtcgtggcttcaccgccactcaccgtta
+tcccttcgataaacagcactgctttgcggacatggctaagcacttcgtccacgctcatgg
+attgcgccatgggcgtggcatgttgcggacacctcttcaggcaggtatcacactgctcgc
+aaaccacagcgttccacaccactttgccgtcaacaatctgcaacgcctgatgcggacact
+gtggcacgcactccccacagtcattgcaacgtcccatcgtccacggattgtgacagtttt
+tgcagcgcagattgcagccctgcaaaaacagagccagacgactgcctggcccgtcaacgc
+aggagaaggggataatcttactgactaaagcgcatctgctgttcatggcttatcacgcgc
+ggctggcgttccagaatacgagtgttgcgtgcggcttcttcgcccagccaggtggtgttg
+gtgcgtgaaccttcggcgcgatatttttctaaatccgacaaacgcaccatataaccggta
+acgcgaaccagatcgttaccgctgacattggcggtaaattcacgcattccggctttaaag
+gcaccgaggcaaagctgtaccagtgcctgcgggttacgtttgatggtttcgtcgagcgtc
+agaatgtcgctgatgccggaataataataagcatgatgcggggcgacagtttgcagatgg
+gtgatcggatctggctcatcgccatacggcaaacgcgcgcccggcgtggtgccgatatcg
+gaactgatccccgactgtgcgtgtaacatggcgcgtttttgccagccatatttcacgggg
+gtattggcgacaaactccgccagttgcgcgctgatgcgataacctacttcatttgcggcg
+gcttctttaccgtagcgcgcggcaatcccttctttttcacacagcaagttaaccgcttcc
+gccagcccatacatgccaaacattggcacaaaacgttcagggttaatcagcccttctttc
+accaggaagctattctcaaagaagtgtgattgttgatagaggaattcacaccgcgcatcg
+atgatggcgatctgctgctggcagtagtgcggtagagtgcgcgtaaagaagtcatccagc
+gattcgctgcgctcggcaatggctttcaggttaaggcgtaccagcgtgctgccaccaccc
+gccagcggcagtgagttgtaacagctcacaatcccgtagcccccttttgtgaaaatttta
+tcatgcaccggaccgttggcgatgtgcggtttgctacattcacagatgttcttcgccact
+tccagcagcaggtcatcaggggtgatttcaggatcgtagataaaggtcaggttcggtgaa
+acctgcttcaactctgcatctgcacgtaagatcgcgcgggtaatgggcgaatcagacggg
+ccgatattggcgtgcataaaggcgtctggcagggttctgtcgaggtaacgccagaaacgt
+tttattcgaacatcgatctcgtcttgtgttagaattctaacatacggttgcaacaacgca
+tccagttgccccaggtagaccggcatcgatgtgaccgacggtacgtggtggtaaagaatg
+gtcagcagagagagtgcgtcatcaagatctttcgcgccttccagctccagccattcggaa
+ccgttcgccagaaaacgggcgtaatcgggtaagacatagcgcggtttgtacggcgcatga
+ccttcaaacatatcgcagattacaccttcatccagcgcgcggcgggcttcggcaggaagc
+tgtgggtaaggcagattgttttctgcttccagtgccagaaaatggcgcttctgctccggg
+ctaagcactgggctggtgacaatttgctggcaacgttgttgcagtgcattttcatgagaa
+gtgggcatcttcttttccttttatgccgaaggtgatgcgccattgtaagaagtttcgtga
+tgttcactttgatcctgatgcgtttgccaccactgacgcattcatttgaaagtgaattat
+ttgaaccagatcgcattacagtgatgcaaacttgtaagtagatttccttaattgtgatgt
+gtatcgaagtgtgttgcggagtagatgttagaatactaacaaactcgcaaggtgaatttt
+attggcgacaagccaggagaatgaaatgactgatctgaaagcaagcagcctgcgtgcact
+gaaattgatggacctgaccaccctgaatgacgacgacaccgacgagaaagtgatcgccct
+gtgtcatcaggccaaaactccggtcggcaataccgccgctatctgtatctatcctcgctt
+tatcccgattgctcgcaaaactctgaaagagcagggcaccccggaaatccgtatcgctac
+ggtaaccaacttcccacacggtaacgacgacatcgacatcgcgctggcagaaacccgtgc
+ggcaatcgcctacggtgctgatgaagttgacgttgtgttcccgtaccgcgcgctgatggc
+gggtaacgagcaggttggttttgacctggtgaaagcctgtaaagaggcttgcgcggcagc
+gaatgtactgctgaaagtgatcatcgaaaccggcgaactgaaagacgaagcgctgatccg
+taaagcgtctgaaatctccatcaaagcgggtgcggacttcatcaaaacctctaccggtaa
+agtggctgtgaacgcgacgccggaaagcgcgcgcatcatgatggaagtgatccgtgatat
+gggcgtagaaaaaaccgttggtttcaaaccggcgggcggcgtgcgtactgcggaagatgc
+gcagaaatatctcgccattgcagatgaactgttcggtgctgactgggcagatgcgcgtca
+ctaccgctttggcgcttccagcctgctggcaagcctgctgaaagcgctgggtcacggcga
+cggtaagagcgccagcagctactaagtaagatgctttacgcctgatgcgctgcgcttatc
+aggcctacgagacgtatctacccgtaggccggataaggcgtagacgcatccggcaaaagc
+cgcctcatactcttttcctcgggaggttaccttgtttctcgcacaagaaattattcgtaa
+aaaacgtgatggtcatgcgctgagcgatgaagaaattcgtttctttatcaacggtattcg
+cgacaacactatctccgaagggcagattgccgccctcgcgatgaccattttcttccacga
+tatgacaatgcctgagcgtgtctcgctgaccatggcgatgcgagattcaggaaccgttct
+cgactggaaaagcctgcatctgaatggcccgattgttgataaacactccaccggtggcgt
+cggcgatgtgacttcgctgatgttggggccgatggtcgcagcctgcggcggctatattcc
+gatgatctctggtcgcggcctcggtcatactggcggtacgctcgacaaactggaatccat
+ccctggcttcgacattttcccggatgacaaccgtttccgcgaaattattaaagacgtcgg
+cgtggcgattatcggtcagaccagttcactggctccggctgataaacgtttctacgcgac
+ccgtgatattaccgcaaccgtggactccatcccgctgatcaccgcctctattctggcgaa
+gaaacttgcggaaggtctggacgcgctggtgatggacgtgaaagtgggtagcggcgcgtt
+tatgccgacctacgaactctctgaagcccttgccgaagcgattgttggcgtggctaacgg
+cgctggcgtgcgcaccaccgcgctgctcaccgacatgaatcaggtactggcctccagtgc
+aggtaacgcggttgaagttcgtgaagcggtgcagttcctgacgggtgaatatcgtaaccc
+gcgtctgtttgatgtcacgatggcgctgtgcgtggagatgctgatctccggcaaactggc
+gaaagatgacgccgaagcgcgcgcgaaattgcaggcggtgctggacaacggtaaagcggc
+agaagtctttggtcgtatggtagcggcacaaaaaggcccgaccgacttcgttgagaacta
+cgcgaagtatctgccgacagcgatgctgacgaaagcagtctatgctgataccgaaggttt
+tgtcagtgaaatggatacccgcgcgctggggatggcagtggttgcaatgggcggcggacg
+ccgtcaggcatctgacaccatcgattacagcgtcggctttactgatatggcgcgtctggg
+cgaccaggtagacggtcagcgtccgctggcggttatccacgcgaaagacgaaaacaactg
+gcaggaagcggcgaaagcggtgaaagcggcaattaaacttgccgataaagcaccggaaag
+cacaccaactgtctatcgccgtatcagcgaataacggtatactgatctgatcatttaaat
+ttgaagcactgagtacggagaacatatgaaacgtgcatttattatggtgctggactcatt
+cggcatcggcgctacagaagatgcagaacgctttggtgacgtcggggctgacaccctggg
+tcatatcgcagaagcttgtgccaaaggcgaagctgataacggtcgtaaaggcccgctcaa
+tctgccaaatctgacccgtctggggctggcgaaagcacacgaaggttctaccggtttcat
+tccggcgggaatggacggcaacgctgaagttatcggcgcgtacgcatgggcgcacgaaat
+gtcatccggtaaagataccccgtctggtcactgggaaattgccggtgtcccggttctgtt
+tgagtggggatatttctccgatcacgaaaacagcttcccgcaagagctgctggataaact
+ggtcgaacgcgctaatctgccgggttacctcggtaactgccactcttccggtacggtcat
+tctggatcaactgggcgaagagcacatgaaaaccggcaagccgattttctatacctccgc
+tgactccgtgttccagattgcctgccatgaagaaactttcggtctggataaactctacga
+actgtgcgaaatcgcccgtgaagagctgaccaacggcggctacaatatcggtcgtgttat
+cgctcgtccgtttatcggcgacaaagccggtaacttccagcgtaccggtaaccgtcacga
+cctggctgttgagccgccagcaccgaccgtgctgcagaaactggttgatgaaaaacacgg
+ccaggtggtttctgtcggtaaaattgcggacatctacgccaactgcggtatcaccaaaaa
+agtgaaagcgactggcctggacgcgctgtttgacgccaccatcaaagagatgaaagaagc
+gggtgataacaccatcgtcttcaccaacttcgttgacttcgactcttcctggggccaccg
+tcgcgacgtcgccggttatgccgcgggtctggaactgttcgaccgccgtctgccggagct
+gatgtctctgctgcgcgatgacgacatcctgatcctcaccgctgaccacggttgcgatcc
+gacctggaccggtactgaccacacgcgtgaacacattccggtactggtatatggcccgaa
+agtaaaaccgggctcactgggtcatcgtgaaaccttcgcggatatcggccagactctggc
+aaaatattttggtacttctgatatggaatatggcaaagccatgttctgatggatttgggc
+ggagcgttgactccgcctttgttatgtcacaaaaaggataaaacaatggctaccccacac
+attaatgcagaaatgggcgatttcgctgacgtagttttgatgccaggcgacccgctgcgt
+gcgaagtatattgctgaaactttccttgaagatgcccgtgaagtgaacaacgttcgcggt
+atgctgggcttcaccggtacttacaaaggccgcaaaatttccgtaatgggtcacggtatg
+ggtatcccgtcctgctccatctacaccaaagaactgatcaccgatttcggcgtgaagaaa
+attatccgcgtgggttcctgtggcgcagttctgccgcacgtaaaactgcgcgacgtcgtt
+atcggtatgggtgcctgcaccgattccaaagttaaccgcatccgttttaaagaccatgac
+tttgccgctatcgctgacttcgacatggtgcgtaacgcagtagatgcagctaaagcactg
+ggtattgatgctcgcgtgggtaacctgttctccgctgacctgttctactctccggacggc
+gaaatgttcgacgtgatggaaaaatacggcattctcggcgtggaaatggaagcggctggt
+atctacggcgtcgctgcagaatttggcgcgaaagccctgaccatctgcaccgtatctgac
+cacatccgcactcacgagcagaccactgccgctgagcgtcagactaccttcaacgacatg
+atcaaaatcgcactggaatccgttctgctgggcgataaagagtaattgtgtttcgctgca
+aggcgattgccttgtgaagccggagcgggagactgctccggctttttagtatctattcat
+ttttctctccagcttgaatattttcgctatacttttcagtgaaatgtgttaataaatcta
+ttcaagtatctattcacgaatctattcattaatgagcgagctgactgatcttttactgca
+agggccgcgttctgccccggaattgcgccagcgtctggcaatcagtcaggcgacgttctc
+acgccttgttgccagagaagatcgggtgattcgctttggtaaagcacgggcaacgcgata
+tgcactgctgcgtccttatcgcggaattgagcgtattcccgtctggcgggtggacgatac
+cggaaaggcgcataaattcgccgacatccggttgtgctggccgcagggaagttgtctggt
+aacaggcgcagatggcgacgaacagtggtttgatggtttgccctggtatttgaccgatct
+ccgaccgcagggctttttagggcgcgcgtggggcaggaagttagccgcgcaactgaatct
+gactgatgatatacgtctctggcaggaagaagatgtgctctacgccctgaccgtatttaa
+cggtgaatatactggcggttggttggtcggggaggggaattatcagcgatggattactgc
+acaacaccctgcggaaattcctctggatcaaaaactcacccattacgaacagctggcaag
+tgatgcactggcaggagaaattgtgggttcttctgcgggcggcgagcagccaaaatttac
+ctactatgcacaaacgccgtcaggcaataaacatgtgttggtgaaattcaccgtaccaca
+gcaaaccgcggtcagccaacgttggggtgacctgctaattgctgaatctattgccgcgca
+aatcctgcgtgacggtgggatccacgccatcgagtcaacggtgcttgtaacaagtaacag
+gcaggtattcctcgaagcggaacgctttgactgcaaaggtaacgatggtcgcttgcctat
+tgtgtcgctggaggcggtgcagagtgagtttatctcttctccgggatcgtggccgcaggc
+aatgcgccgtttgtgtgagcaacaacttgtcactcaccagagcgtggcgcaaacagaagt
+gatctgggcatttgggcgacttatcgccaacagcgatatgcacgcaggtaatttatcgtt
+ttatttatctgaaccgccatttgcgctgacgcccgtctacgacatgctgccgatggtcta
+tgcaccaaacagcgctggaatgctgcgtgatgctgccattgaggtgaagtttgatcttaa
+cgtcagtaaaagcgcttggttaacggcgatcccgctggcgcagcagttctggcaaacggt
+cgccagagatccgcgtatcagcgaggcgtttcgccacattgcgcaagaaatgccggaaaa
+aatccggcaaatcgaagagaaagttgcccgcatgggcgggtaactaccttacagcccccg
+ccatccatgccgataactcccgtagctctttttcctgttccgggaagtcaaccaacagcg
+cttcgcactcctgttgcagcatatctgcgcggtacaggcagccttgcagtcgtccggcga
+gggcttccagcggcgcggggttgaggctgtcggtaaacacctgggcgcgggtgatatggc
+ctttttcaacgtcgaaatgcagttccacgccgccccaggtaaagcgttcatccagcagat
+gcgagaatgccggagcctgaccgaagttccattcccagctactctggcgggcaaaggttt
+cggcgaagtttggcaagtctggcgttttgttcggggagatgatttccgcttccacgcgct
+cgccataatgggcgaaaaaggcctcggttatggcctcgcaaacctgctcatgggtgatcc
+ccggcaacagctcggtgaggttggtcacgcgggaacgtaccgacgtaatgcctttcgccg
+ccagtttctttttatccggattgagatagtttgccaggcggctgaggtcggcattgagta
+gcaaggtgccgtggtggaagccgcgatctttggtttcgcgataggccgagcctgagactt
+tgcggtcgccttcgacggttttcaccaccagatcgttacgtccggacgcttcggcgctga
+cgccgagcgcgttcagcgcattgagcacaatcgacgtggagatagttttatcgtactccg
+gcttgccagccataaaggtaaagcaggtattgccgagatcgtggaacaccgcgccgccac
+cgctactgcgccgcgccaggcggacgttatcttcttccatccgccgggtattacactctt
+tccacgggttctgcgcgcgaccaattactaccgtgtcggcattgcgccagagaaacagaa
+cgcgctgcgtggcgggcatttggcgaaaaatacactcttccaccgccaggttaaaccacg
+ggtcgtaagagtcagagatgagcaggcgtaatgtggacataacgatttcctttcttgtag
+taatgggtcactcttttttctcgctttcttcctcttccggcaccggtttgctggcggtta
+acaggaagggcgattgctgccagcgggtgcgtttaccctgtagcagcgtgcgggtcagca
+ctacaccgattgccagtgagagcagcaacatcaggcgtaaaatgttagtggtgttatcca
+cctgttgggcttcggtggcgagcgtatgggtgtcgagtgtcaggcgcagatagccgagcg
+gtccgtttttacccgcaattggctcgacaatctgctggttaaaatagccgcctgcttttt
+taccgtcgagcgccagccggtcgcgcacttcgacgctttcgccagaacgtgcgataagat
+cgccttgttcgtcatacacacccgcgtcgaggatacggctttcatccgttaactgatcga
+ggatcgcctgaatgcgtttttcatccggtgagtcggtacgcatcagcggtgcaacgttca
+gcgtcacctgacgcgccagggtgcgggccagttcttccagctgtggattacgctgtcgct
+ggtggttttgactaaaccatgacgctccctgcatcagcgccactaacaaggcaagacaga
+acaggacaatcactgcccgatgcagccggaatttcagttttgtgcgagccatcttccacc
+ctttgaaaatttgagacttaatgttgccagaagcaatggatacaaggtagcctcatgcgt
+tattttccctgcttcgaacgattttacaggagccttaatgcctaacattacctggtgcga
+cctgcctgaagatgtctctttatggccgggtctgcctctttcattaagtggtgatgaagt
+gatgccactggattaccacgcaggtcgtagcggctggctgctgtatggtcgtgggctgga
+taaacaacgtctgacccaataccagagcaaactgggtgcggcgatggtgattgttgccgc
+ctggtgcgtggaagattatcaggtgattcgtctggcaggttcactcaccgcacgggctac
+acgcctggcccacgaagcgcagctggatgtcgccccgctggggaaaatcccgcacctgcg
+cacgccgggtttgctggtgatggatatggactccaccgccatccagattgaatgtattga
+tgaaattgccaaactggccggaacgggcgagatggtggcggaagtaaccgaacgggcgat
+gcgcggcgaactcgattttaccgccagcctgcgcagccgtgtggcgacgctgaaaggcgc
+tgacgccaatattctgcaacaggtgcgtgaaaatctgccgctgatgccaggcttaacgca
+actggtgctcaagctggaaacgctgggctggaaagtggcgattgcctccggcggctttac
+tttctttgctgaatacctgcgcgacaagctgcgcctgaccgccgtggtagccaatgaact
+ggagatcatggacggtaaatttaccggcaatgtgatcggcgacatcgtagacgcgcagta
+caaagcgaaaactctgactcgcctcgcgcaggagtatgaaatcccgctggcgcagaccgt
+ggcgattggcgatggagccaatgacctgccgatgatcaaagcggcagggctggggattgc
+ctaccatgccaagccaaaagtgaatgaaaaggcggaagtcaccatccgtcacgctgacct
+gatgggggtattctgcatcctctcaggcagcctgaatcagaagtaattgctcgcccgcca
+tcctgcgggcggcacagcattaacgaggtacaccgtggcaaaagctccaaaacgcgcctt
+tgtttgtaatgaatgcggggccgattatccgcgctggcaggggcagtgcagtgcctgtca
+tgcctggaacaccatcaccgaggtgcgtcttgctgcgtcgccaatggtggcgcgtaacga
+gcgtctcagcggctatgccggtagcgccggggtggcaaaagtccagaaactctccgatat
+cagccttgaagagctgccgcgtttttccaccggatttaaagagttcgaccgcgtactagg
+cggcggcgtggtgccaggaagtgccattctgattggcggtaaccctggtgcggggaaatc
+cacgctgctactgcaaacgctgtgcaaactggcccagcagatgaaaacgctgtatgtcac
+cggcgaagagtcgctgcaacaggtggcaatgcgcgctcatcgccttggcctgccgactga
+caatctcaatatgttgtcggaaaccagcatcgaacagatctgcctgattgccgaagaaga
+gcaaccgaagctgatggtaattgactcgatccaggtgatgcatatggcggatgtacagtc
+atcgcctggtagcgtggcgcaggtgcgtgaaacggcggcttatttgacacgcttcgccaa
+aacgcgcggtgtggcgattgtcatggtggggcacgtaaccaaagatggttcgctggctgg
+cccgaaagtgctggaacactgtatcgactgttcggtgcttttggatggcgatgccgactc
+ccgttttcgcaccttgcgcagccataaaaaccgcttcggcgcggtgaatgagctgggcgt
+cttcgcgatgaccgaacaggggctgcgtgaagtcagcaacccttcggcaattttcttaag
+tcgcggcgatgaagtgacctccggtagctcagtgatggtggtatgggaaggaacgcgtcc
+actgctggtggagattcaggcgctggtcgatcactcgatgatggcgaacccacgccgcgt
+ggcagtggggctggaacaaaaccgtctggcaatcctgctggctgtgttgcaccgtcacgg
+tggtctgcaaatggccgatcaggatgtgtttgtgaacgtggtcggcggcgtgaaggtaac
+cgaaaccagtgccgacttagcgttactgctggcgatggtttccagcctgcgcgacagacc
+gctgccgcaggatctggtggtgtttggtgaagtcgggctggcaggggagatccgcccggt
+gcccagcggtcaggaacgaatctctgaagcggcgaaacacggttttcgccgggcgattgt
+tccggcggctaacgtgccgaaaaaagcgccggaagggatgcagatttttggcgttaaaaa
+actctccgacgcgcttagcgtgttcgacgacttataatgagatatacggagggagatatg
+tcgtcatttgattacctgaaaactgccatcaagcaacagggctgcacgctacagcaggta
+gctgatgccagcggtatgaccaaagggtatttaagccagttactgaatgccaaaatcaaa
+agccccagcgcgcaaaagctggaggcgttgcaccgttttttggggcttgagtttccccgg
+cagaagaaaacgatcggtgtcgtattcggtaagttctacccactgcataccggacatatc
+taccttatccagcgcgcctgtagccaggttgacgagctgcatatcattatgggttttgac
+gatacccgtgaccgcgcgttgttcgaagacagtgccatgtcgcagcagccgaccgtgccg
+gatcgtctgcgttggttattgcaaacttttaaatatcagaaaaatattcgcattcatgct
+ttcaacgaagagggcatggagccgtatccgcacggctgggatgtgtggagcaacggcatc
+aaaaagtttatggctgaaaaagggatccagccggatctgatctacacctcggaagaagcc
+gatgcgccacagtatatggaacatctggggatcgagacggtgctggtcgatccgaaacgt
+acctttatgagtatcagcggtgcgcagatccgcgaaaacccgttccgctactgggaatat
+attcctaccgaagtgaagccgttttttgtgcgtaccgtggcgatccttggcggcgagtcg
+agcggtaaatccaccctggtaaacaaacttgccaatatcttcaacaccaccagtgcgtgg
+gaatatggccgcgattatgtcttttcacacctcggcggtgatgagatcgcattgcagtat
+tctgactacgataaaatcgcgctgggccacgctcaatacattgattttgcggtgaaatat
+gccaataaagtggcatttatcgataccgattttgtcaccactcaggcgttctgcaaaaag
+tacgaagggcgggaacatccgttcgtgcaggcgctgattgatgaataccgtttcgatctg
+gtgatcctgctggagaacaacacgccgtgggtggcggatggtttacgcagcctcggcagt
+tcggtggatcgcaaagagttccagaacttgctggtggagatgctcgaagagaacaatatc
+gaatttgtgcgggttgaagaggaagattacgacagtcgtttcctgcgctgcgtggaactg
+gtgcgggagatgatgggggagcagagataaccgtgatgaaactgctcaaaggcgaggtat
+aaaatgagtttttttgatgagttgaaaacctctctggaagaggctgtcgagattaaacaa
+ggtttgaaaaaacctgcacgggtgacccgccacgaaattgaggatgctaaggctgttgta
+gaccggaaacggtgttcacgccgcatccggcattcggtgctcaatgcctgatgcgacgct
+taccgcgtcttatcaggcctacagttttacaacgtattgaaattgctggttttgtaggcc
+ggataaggcgttcgcgccgcatccggcattttacgcattacttcgcaatacgcttgtact
+tgatacgcttcggctccagcgcgtctgcgcccagcgtgcgtttcttgtactcttcgtact
+cggtaaagttaccttcgaagaactcaactttaccttcatcctggtaatccagaatgtgcg
+tggcgatacggtcgaggaaccaacggtcgtgcgagataaccatcgcacagcccgggaact
+ccagcagggcgttttccagcgcgcgcagggtttcgatatccaggtcgttggttggttcgt
+cgagcagcagcatgttgccgccaacctgcagcagcttcgccagatgcagacgaccgcgct
+caccaccggagagttcaccaacgcgtttaccctgatcaacccctttaaagttaaagcggc
+caacgtaggcgcggcttggcatctcggtgttgccgatcttcatgatatccagcccgccgg
+aaacttcttcccaaacggttttgctgttatccattgagtcacggaactgatcaaccgacg
+ccagtttcaccgtttcacccaaagtgatggtgccgctgtccggctgttcctgaccagaga
+tcatacggaacagggtcgatttacccgcaccgttcggaccgatgatcccgacgatcgctc
+ctttcgggatcgagaagctcaggtcatcaatcagcagacgatcgccataggatttacgca
+ggttgctgacttccagcactttatcgcccagacgcggtccaggtggaataaacagttcgt
+tggtttcgttacgtttctgatattcggtgctgttcagttcttcaaagcgcgccagacgtg
+ctttacctttcgactgacggcctttagtaccttgacgtacccattccagctctttctcaa
+tcgacttacgacgcgccgcttcttgtgaagcttcctgcgccaggcgctgatctttctgct
+ccagccaggaggagtagttaccttcccacggaataccttcaccgcggtcaagttcgagga
+tccagcctgcaacgttatcgaggaagtaacggtcgtgggtaatcgccacaacggtgcctt
+cgaagtcgtgcaggaagcgttccagccaggccacggattcggcatccaggtggttggtcg
+gttcgtcgagcagcagcatgtctggtttttccagcagcaggcggcacaacgctacgcgac
+gacgttcaccaccggagaggttagcgattttcgcgtcccagtccggcagacgtagcgcat
+ccgccgcacgctccagctgtacgttcagattatgaccgtcgtgagcctgaatgatctctt
+ccagacggccttgttcagcggccagcttgtcaaaatcggcatccggatcggcgtacagcg
+catacacttcatccaggcgtttcagggcgttaaccacttctgaaaccgcttcttcaatgg
+actcacgcacggtgtgttccgggttcagctgcggttcctgcggcagataaccaatcttga
+tgtctggctgcggacgcgcttcaccttcgatgtctttatcaatgcccgccataatgcgca
+gcagggtggacttacccgcgccattcagacccaggacaccaatttttgccccagggaaga
+aactcagagagatgtttttcaaaatatgacgtttcggcggaacaactttgccgacacgat
+gcatggtataaacgaattgagccacgttggacttcgcctctatgtttatcgtgataatga
+gttttcaaaggcgaagtgtagcctttttccccgcctaatcccagccggtcgatcaccctc
+gcagtaaaagtaaaaaagtgtccgtaacgtggcgtaaacggcaatgactggttagcataa
+atctattacgcggcatgacgctgcattgatgtatttacacttagaggatgcgcttgtgga
+aaaagccaaacaagttacctggcggctgttggctgccggtgtctgtctgctgacggtcag
+cagcgtggcgcgagccgactcactggatgagcagcgtagtcgttacgcgcaaatcaagca
+ggcctgggataatcgacaaatggatgtggtcgaacaaatgatgcctggactgaaggatta
+tccgctttatccctacctggaataccgccagatcaccgatgatctgatgaatcaaccggc
+ggtgacggtcactaactttgttcgcgctaaccccacgcttcctcccgctcgcacgctgca
+atctcgtttcgtcaatgaactggcgcggcgtgaagactggcgtggcttgttagcctttag
+cccggaaaagcccggaactaccgaagcgcaatgtaattactactatgcgaaatggaacac
+cgggcagagtgaagaagcctggcaaggggcgaaagagctgtggctaaccggcaagagcca
+gcctaacgcctgtgacaagttatttagcgtctggcgtgcgtcaggtaaacaagatccgct
+ggcgtatttagagcgtatccgtctggcgatgaaagcgggtaacacaggcctggtaacagt
+gctggcagggcagatgcctgccgattaccagactatcgcctcggcaatcatttcactggc
+gaacaaccctaatacggtactgaccttcgcgcgtacaactggcgcgaccgattttacccg
+tcaaatggcggcggtggcgtttgccagtgtggcgcggcaggatgctgagaatgcacggct
+gatgatcccatcgcttgcccaggcgcagcagcttaatgaagatcagattcaggagctgcg
+cgatatcgtcgcctggcgtttgatgggcaacgatgtcaccgacgagcaggcgaaatggcg
+cgatgacgccattatgcgctcgcaatctacttcgcttattgaacgccgtgtacgaatggc
+gcttggcaccggcgatcgtcgcggcctgaatacctggctggcgcgtctgcctatggaagc
+gaaagagaaagatgaatggcgttactggcaggcggatttattgctggaacgcggacgtga
+agctgaagcaaaagagattttgcatcaactcatgcaacagcgtggtttctacccgatggt
+tgcagcacaacgcatcggcgaagagtatgagctgaagattgataaagcgccgcagaatgt
+tgacagcgccctgactcaggggccggagatggcgcgcgtgcgcgagttgatgtactggaa
+tctcgataataccgcgcgtagcgagtgggccaatctggtgaagagcaagtcaaaaacaga
+gcaggctcaactggcgcggtatgctttcaacaaccaatggtgggatcttagcgttcaggc
+aacgatcgccgggaagctgtgggatcatctggaagagcgattcccgctggcttacaacga
+tcttttcaaacgctacaccagcggtaaggagatcccgcaaagctatgcgatggcgattgc
+tcgtcaggagagcgcctggaatccgaaagtgaaatcaccggtaggggccagcggcttgat
+gcagattatgcctggtacagcgacccatacggtgaagatgttctctattcccggttatag
+cagtcctgggcaattgctggatccggaaacgaatatcaacattggcaccagttacctgca
+atatgtttatcagcagtttggcaataatcgtattttctcctcagcagcttataacgccgg
+accagggcgggtgcgaacctggcttggcaacagcgccgggcgtatcgacgcagtggcatt
+tgtcgagagtattccattctccgagacgcgcggttatgtgaagaacgtgctggcttatga
+cgcttactaccgctatttcatgggggataaaccgacgttgatgagcgccacggaatgggg
+acgtcgttactgatccgcacgtttatgatatgctatcgtactctttagcgagtacaaccg
+ggggaggcattttgcttcccccgctaacaatggcgacatattatggcccaacaatcaccc
+tattcagcagcgatggcagaacagcgtcaccaggagtggttacgttttgtcgacctgctt
+aagaatgcctaccaaaacgatctccatttaccgttgttaaacctgatgctgacgccagat
+gagcgcgaagcgttggggactcgcgtgcgtattgtcgaagagctgttgcgcggcgaaatg
+agccagcgtgagttaaaaaatgaactcggcgcaggcatcgcgacgattacgcgtggatct
+aacagcctgaaagccgcgcccgtcgagctgcgccagtggctggaagaggtgttgctgaaa
+agcgattgattttgtaggcctgataagacgtggcgcatcaggcatcgtgcaccgaatgcc
+ggatgcggcgtgaacgccttatccgtcctacaaatacccgtaatttcaatatgtttggta
+ggcatgataagacgcggcagcgtcgcatcaggcgcttaatacacggcattatgaaacgga
+ctcagcgccaggatcaccgcctggtgatagacgctggcgcgagtgagtttcccggcggta
+aacacgccgatcgccccttccttacgaccaatctcatcaataccggtataacgcgacatc
+acgggaccaagcgcctcaccttcacgcactttttccagaatcaccgcaggcaacggcaaa
+gtagccgaacgcgcctcgccgcgctggctggcgttttcaatcaccacccaactgaaagtg
+ctgtcaccatcgatgccagcttcaatcgccacccaaaaatcagcctctggaagtaaacgg
+cgggcattggctacccgatttcgtgcgccagcgcgcgtttcctcactgccaaagggctgt
+tccggtacaccgctctcgacggcaacggatgcaatatggcaggatccttcgccgaagatc
+tcgtgaaatgcctgcagaatggcctgaattttagcgggattggtggtcgcacagacaact
+tggtgcataatcagcattactcagaaaattaacgttacagcagtatacggaaaaaaagca
+tgttacaggtatacctagtccgccacggtgaaacgcagtggaacgccgagcgacgtattc
+agggccagtctgacagcccgctgaccgccaaaggtgagcaacaggcgatgcaggtggcaa
+cccgtgccaaagagcttggcattacgcatatcatcagtagcgatttaggacgcacccggc
+gtacggcggaaatcatcgcccaggcctgcggctgtgacatcatctttgattctcgcctgc
+gtgaattaaacatgggtgtgctggaaaaaagacatatcgattctctgaccgaagaagaag
+agaactggcgtcggcagctggtcaatggcaccgttgacgggcgtattcctgaaggcgagt
+caatgcaggagctcagcgatcgcgtcaatgcggcactggaatcttgccgggacttaccgc
+agggaagccgaccgctgctggtgagtcatggtattgcactgggatgcctggtgagtacga
+ttctcggattaccagcatgggcagagcgccgcttacgtctgcgtaactgttctatttcgc
+gcgtggattatcaggaaagcctgtggctggcgtctggctgggtcgttgaaaccgcagggg
+acatctcgcatctggacgcccctgcattagatgagctgcagcgttaacgacggatcggaa
+tcagcagttcacagcgtagattaattgggcgatctcccgctttggcatcttctgccgggt
+agtatcgctcaatatcctgacctttacggcgcgtcaggttgagcattggcatgcacgttc
+cgtataccgtcaggataaactcctgcacgccggttcccagaccttcataggtaaacatca
+catattcgccgccctgcagcatcaccggatgccccgtcagtacatagccatctgcctgat
+cctgggctaacgcggtggtatagaatacctcttgctcgtcgtctttatcctgactcggac
+gcgtttcattcaggccgtagagcaccggcggaatggtcggcgcgttgccgagaaaatcgt
+gccagaactgataacgcatttcatggcggaaatcagagatttgctccagcgaacaggagt
+agctctgggtaacaccaatcagcggcgtatcttccagggtgacaaatttgtgctctggca
+tagtgaattcacccaggcgtagcggcgggcgaataccaaaggcgctccattcaggagaac
+ggcggtaaagtgcaggagtctgggcaaactgcttcttgaatgcgcgggtaaatgtctgtt
+gagagtcgaagcggtattgcagcgcgatgtccagaatcggacgcgcagtcaggcgtagtg
+cgaccgccgatttcgacaaacgacgagcacgaatatacgcgccaatagcatggccagtga
+catctttaaacattctctgtaagtgccacttggaataacctgctttcgccgctacattgt
+cgagcgacaggggctgatccagatgaccttccagccagattaaaaggtcgcgaataatgc
+cggcctgatccataaaatatcctcatcctttcaacaacgagcacctgacatcaggtaatt
+ggataatagcattttttgctgttttagcattcagtgtttttttcttagtagagtatgttt
+tagggcttgacggaaataaaagtattgagattttgttcttaatcaatatgttatttaccg
+tgacgaactaattgctcgtgtaatagataaaaatggtaacaatatgaaatacaagcattt
+gatcctgtctttaagcctgataatgctggggccattggctcatgcagaagagattggttc
+ggtcgacaccgtatttaaaatgatcggcccggatcacaaaattgttgtggaagcctttga
+tgatcccgatgtgaaaaatgtcacctgttatgtgagccgggcgaaaaccggtggtattaa
+agggggattgggtctggcggaagatacctccgatgcggccatttcttgtcagcaagtcgg
+gccgattgaactgtcggatcgtattaaaaacggcaaagctcagggcgaggtagtattcaa
+aaaacgcacgtccctggtctttaagtcgttacaggtcgtgcgcttttatgatgccaaacg
+caacgcgctcgcttatctggcttactccgacaaagttgtagaaggttcgccgaaaaacgc
+gattagcgcggttcctgtcatgccgtggcggcaataacagaggcgatttatgcaacggga
+aacggtctggttagtggaagatgagcaagggatagccgacacgctggtctacatgttgca
+gcaggaaggttttgccgtcgaggtctttgagcgaggcttgccggtgctggataaagctcg
+caagcaggtacccgacgtcatgattctcgatgttggtctgccggatattagcggctttga
+attgtgccgccagttactggcgctccatccggcgttacctgtactgttcctgacggcccg
+aagtgaagaggtcgatcgcctgcttgggctggaaattggtgctgacgactacgtggctaa
+accgttttcaccccgcgaagtgtgcgccagggtgcgcaccttactgcgtcgggtgaagaa
+gttctcgacgccgtctcccgtcatccgtattggacattttgaattgaatgaacccgcggc
+gcagatcagctggtttgacacgccattagcgctgactcggtatgagtttttattgttgaa
+gacgttactcaagtcaccgggccgcgtctggtcccgccagcaactgatggatagcgtatg
+ggaagatgcgcaggacacctacgatcgcaccgtcgatacccacattaaaacgctgcgtgc
+caagctgcgcgccatcaaccccgatctttcaccgattaatactcatcgcggcatgggata
+tagcctgaggggcctgtaatgcgtatcggcatgcggttgttgctgggctattttttactg
+gtggcggtggcagcctggttcgtactggccatttttgtcaaagaagttaaaccgggcgtg
+cgaagagcaacggaggggacgttgatcgacaccgcaacgttgctggcggagctggcgcgt
+cccgatttgctctctggggacccaacgcatgggcaactggcgcaggcgtttaatcagcta
+caacatcgcccgtttcgcgccaatatcggtggcattaacaaagtgcgcaatgaatatcat
+gtctatatgaccgatgcgcagggcaaagtattgttcgattcggcaaataaagccgttgga
+caggattattcgcgctggaatgacgtctggctaacgttgcgtggtcagtatggtgcgcgc
+agcacgttgcaaaatcctgccgatcccgaaagttctgtgatgtatgttgccgcaccgatt
+atggacggctcgcggcttattggcgttttgagcgtaggcaaaccgaacgcggcgatggct
+ccggtcattaagcgtagcgagcggcgaattttatgggccagcgccattttgttggggatt
+gcactggtgattggcgcaggcatggtttggtggatcaaccgctctattgcccggctcact
+cgctatgctgattccgtcactgacaataagcccgttcctctccccgatctcggtagtagc
+gagttgcgtaaactcgcgcaggcgctggaaagtatgcgcgtgaagctggaagggaaaaac
+tatattgagcagtatgtttacgcattaactcatgagctaaaaagcccactggcggcgatt
+cgtggagcggcggaaattttacgcgaaggtccgccgccggaagtggtggctcgttttact
+gacaacattctgacgcaaaatgcgcgtatgcaggcattggtagaaacgttactacgccag
+gcaagactggagaatcgtcaggaagtcgttctgactgctgttgatgtggcggcattattc
+cgccgcgtcagcgaagcgcgcaccgtgcagttggcagaaaaaaaaatcactctgcatgtt
+acgcccaccgaggttaacgttgctgctgaaccggcgttactggagcaggcgctgggaaat
+ttactggataacgccatcgattttacccccgagagcggttgcatcacgctaagcgccgaa
+gtggatcaggaacacgtcacgcttaaggtgctggataccggtagtggtattcctgactac
+gcgctttcacgtatttttgaacgcttttactctttgcctcgtgcaaatgggcaaaaaagc
+agcggtctggggttggcgttcgtcagtgaggtcgcccgtttgtttaacggcgaagtcacg
+ctgcgcaacgtgcaggaaggtggcgtgctggcctcgcttcgacttcaccgtcacttcaca
+tagcttcaaattcttcccacatagtcttcgtatcctgctgccattgcaaaggagaagact
+atgttgaaatcccccctgttctggaaaatgactagcctgtttggtgcagtattgctgttg
+ttgattccgataatgctgattcggcaggtgattgtcgaacgtgctgattaccgtagcgat
+gtggaagatgcgattcgccaaagtaccagcgggccgcaaaaactcgttgggccgctcatc
+gctattcctgtgaccgagctttatacggtgcaggaagaggataaaaccgtggagcggaaa
+cgaagttttatccatttttggttacctgagtcattgatggttgatggcaatcagaacgtg
+gaagaacgcaagatagggatttataccggtcaggtctggcacagtgatttaacgttaaaa
+gccgatttcgatgtttcgcgtcttagcgaactcaacgcgccaaatatcaccttaggcaag
+ccatttattgtgattagcgtcggggatgcgcgtggtattggtgtggtgaaagcgcctgaa
+gttaacggaacggcgctgaccattgaacccggcaccgggttagagcaaggcgggcagggc
+gtgcatatccctttacctgaaggggactggcggaagcagaacctgaagctgaatatggcc
+ctgaatttaagcggtaccggcgatctttctgtggtgcctggcgggcgtaatagcgaaatg
+accttaaccagcaactggccgcatcccagttttttaggtgattttctaccagccaaacgg
+gaagttagcgagtcaggttttcaggcgcactggcaaagcagctggtttgctaataatctc
+ggtgagcgttttgcttcaggcaatgataccggctgggaaaacttcccggcgtttagcgtc
+gcagtaacgacgccagccgatcaataccaattaactgaccgggcgactaagtacgccatt
+ctgctgattgcactgacttttatggcgttctttgtttttgaaacgctcaccgcgcaacgt
+ttacacccaatgcaatatttgctggtggggctttcattggtgatgttttatttgctcttg
+ctggcgctttctgaacataccggttttaccgtggcatggataatcgccagtctgattggg
+gcgataatgaacggtatttatttgcaagcggtattgaaaggttggtgcaacagcatgttg
+tttaccctcgcgctgttgttgctggatggtgtgatgtggggactgctcaactctgccgat
+agcgcgctgttgttgggaaccagtgtgctggtggtggcgctggccggcatgatgtttgtg
+acccgtaatatcgactggtatgcgttttcactgccgaaaatgaaagccagtaaagaagtt
+acaacggacgatgagttacgtatctggaaataaggttgaaaaataaaaacggcgctaaaa
+agcgccgttttttttgacggtggtaaagccgattaatcttccagatcaccgcagaagcga
+taaccttcaccgtgaatggtggcgatgatttccggcgtatccggcgtagattcgaaatgt
+ttacgaatacggcggatcgtcacgtctacagtacggtcgtgcggtttcagctcacggccg
+gtcattttcttcagcagttcagcacgggactgaattttgcctgggttttcacagaagtga
+agcatggcgcggaactcgctgcgcggcagcttgtactgctcgccatcagggccgatcaac
+gaacggctgttgatgtccagttcccaaccattgaacttgtagctttcaacgctacgacgt
+tcttcgctgacagtacccagattcatggtacgggacagtaggttgcgtgcacgaatcgtc
+agttcacgcgggttgaacggtttggtgatgtagtcatctgcaccgatttcgaggccgaga
+attttatcgacttcgttgtcacggccagtcaggaacatcaacgcaacattcgcctgctcg
+cgcagttcacgcgctaacagaagaccgttcttacccggcagattgatatccatgatcacc
+aggttgatgtcatattcagagaggatctgatgcatttccgcgccatctgtcgcttcgaaa
+acatcatagccttccgcttcgaaaatacttttcaacgtgttgcgtgttaccaactcgtct
+tcaacgataagaatgtgcggggtctgcatgtttgctacctaaattgccaactaaatcgaa
+acaggaagtacaaaagtccctgacctgcctgatgcatgctgcaaattaacatgatcggcg
+taacatgactaaagtacgtaattgcgttcttgatgcactttccatcaacgtcaacaacat
+cattagcttggtcgtgggtactttccctcaggacccgacagtgtcaaaaacggctgtcat
+cctaaccattttaacagcaacataacaggctaagaggggccggacacccaataaaactac
+gcttcgttgacatatatcaagttcaattgtagcacgttaacagtttgatgaaatcatcgt
+atctaaatgctagctttcgtcacattattttaataatccaactagttgcatcatacaact
+aataaacgtggtgaatccaattgtcgagatttattttttataaaattatcctaagtaaac
+agaaggatatgtagcattttttaacaactcaaccgttagtacagtcaggaaatagtttag
+ccttttttaagctaagtaaagggctttttctgcgacttacgttaagaatttgtaaattcg
+caccgcgtaataagttgacagtgatcacccggttcgcggttatttgatcaagaagagtgg
+caatatgcgtataacgattattctggtcgcacccgccagagcagaaaatattggggcagc
+ggcgcgggcaatgaaaacgatggggtttagcgatctgcggattgtcgatagtcaggcaca
+cctggagccagccacccgctgggtcgcacatggatctggtgatattattgataatattaa
+agttttcccgacattggctgaatcgttacacgatgtcgatttcactgtcgccaccactgc
+gcgcagtcgggcgaaatatcattactacgccacgccagttgaactggtgccgctgttaga
+ggaaaaatcttcatggatgagccatgccgcgctggtgtttggtcgcgaagattccgggtt
+gactaacgaagagttagcgttggctgacgttcttactggtgtgccgatggtggcggatta
+tccttcgctcaatctggggcaggcggtgatggtctattgctatcaattagcaacattaat
+acaacaaccggcgaaaagtgatgcaacggcagaccaacatcaactgcaagctttacgcga
+acgagccatgacattgctgacgactctggcagtggcagatgacataaaactggtcgactg
+gttacaacaacgcctggggcttttagagcaacgagacacggcaatgttgcaccgtttgct
+gcatgatattgaaaaaaatatcaccaaataaaaaacgccttagtaagtatttttc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/data/consensus.fasta	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,12 @@
+>RS_000000
+agccaaccttagtcagggatcctctggtagaaagttataaatcagtttataggattcgatacgtccgtaaccttagccgattaacatctgtccaatggaaacagcataggtagaggctcccacaaacgtatttttcgagaactaaatccagacgtgatagtgcgccgccccgatgcagtgcgcttcagaaaactcccaaaaatggaattgtagcccacgtccgttggaaatatgatttgccgtgtaacgggtctatacgtcctcctgagcaattttgctgaagtcgggcaacgtcgagtttgcccatcctgcggcctcaacgtccgcgtaacggtaatatcctacataaatagcttggacgggtatgctcgaatacgacccggagacaagtaggttccaggctagggtttatgtgccaggactagtcctatggagggcaatttaaccagtacctcaatatgcccagttcttgcgccgcctatctctgtattaaggttaga
+>RS_000001
+ttataaatcagtttataggattcgatacgtccgtaaccttagccgattaacatctgtccaatggaaacagcataggtagaggctcccacaaacgtatttttcgagaactaaatccagacgtgatagtgcgccgccccgatgcagtgcgcttcagaaaactcccaaaaatggaattgtagcccacgtccgttggaaatatgatttgccgtgtaacgggtctatacgtcctcctgagcaattttgctgaagtcgggcaacgtcgagtttgcccatcctgcggcctcaacgtccgcgtaacggtaatatcctacataaatagcttggacgggtatgctcgaatacgacccggagacaagtaggttccaggctagggtttatgtgccaggactagtcctatggagggcaatttaaccagtacctcaatatgcccagttcttgcgccgcctatctctgtattaaggttagacactggtatagggcgccgtcgcagggtgaattgc
+>RS_000002
+acgtatttttcgagaactaaatccagacgtgatagtgcgccgccccgatgcagtgcgcttcagaaaactcccaaaaatggaattgtagcccacgtccgttggaaatatgatttgccgtgtaacgggtctatacgtcctcctgagcaattttgctgaagtcgggcaacgtcgagtttgcccatcctgcggcctcaacgtccgcgtaacggtaatatcctacataaatagcttggacgggtatgctcgaatacgacccggagacaagtaggttccaggctagggtttatgtgccaggactagtcctatggagggcaatttaaccagtacctcaatatgcccagttcttgcgccgcctatctctgtattaaggttagacactggtatagggcgccgtcgcagggtgaattgcactgcacactcattccacatctcgccgagcacatctgcattatccacccagtcacctgcaagggggttgacagggtttacgggagcgcagg
+>RS_000003
+gcccacgtccgttggaaatatgatttgccgtgtaacgggtctatacgtcctcctgagcaattttgctgaagtcgggcaacgtcgagtttgcccatcctgcggcctcaacgtccgcgtaacggtaatatcctacataaatagcttggacgggtatgctcgaatacgacccggagacaagtaggttccaggctagggtttatgtgccaggactagtcctatggagggcaatttaaccagtacctcaatatgcccagttcttgcgccgcctatctctgtattaaggttagacactggtatagggcgccgtcgcagggtgaattgcactgcacactcattccacatctcgccgagcacatctgcattatccacccagtcacctgcaagggggttgacagggtttacgggagcgcaggcgggtagtttgcaataatgctaatacactgtatacgtggaaatagtcatcaaaatccttttgggtggttctcaatctatgatcccat
+>RS_000004
+cctgcagtagccaaccttagtcagggatcctctggtagaaagttataaatcagtttataggattcgatacgtccgtaaccttagccgattaacatctgtccaatggaaacagcataggtagaggctcccacaaacgtatttttcgagaactaaatccagacgtgatagtgcgccgccccgatgcagtgcgcttcagaaaactcccaaaaatggaattgtagcccacgtccgttggaaatatgatttgccgtgtaacgggtctatacgtcctcctgagcaattttgctgaagtcgggcaacgtcgagtttgcccatcctgcggcctcaacgtccgcgtaacggtaatatcctacataaatagcttggacgggtatgctcgaatacgacccggagacaagtaggttccaggctagggtttatgtgccaggactagtcctatggagggcaatttaaccagtacctcaatatgcccagttcttgcgccgcctatctctgtatta
+>RS_000005
+cgatagagagtctttagtgggggacgggcataggtagtgcgtagccgtcggtagggcttgcctcacaggccacagctgaccgccagcactgacaggcccactgcagtcatggtgatcatctcgtatacgaacatagactagccgtccaggagtgccgatcgcttgctaggatcagctatgtgaatggacctgcagtagccaaccttagtcagggatcctctggtagaaagttataaatcagtttataggattcgatacgtccgtaaccttagccgattaacatctgtccaatggaaacagcataggtagaggctcccacaaacgtatttttcgagaactaaatccagacgtgatagtgcgccgccccgatgcagtgcgcttcagaaaactcccaaaaatggaattgtagcccacgtccgttggaaatatgatttgccgtgtaacgggtctatacgtcctcctgagcaattttgctgaagtcgggcaacgtcgagtttgcc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/depcomp	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,791 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2013-05-30.07; # UTC
+
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+
+case $1 in
+  '')
+    echo "$0: No command.  Try '$0 --help' for more information." 1>&2
+    exit 1;
+    ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+  depmode     Dependency tracking mode.
+  source      Source file read by 'PROGRAMS ARGS'.
+  object      Object file output by 'PROGRAMS ARGS'.
+  DEPDIR      directory where to store dependencies.
+  depfile     Dependency file to output.
+  tmpdepfile  Temporary file to use when outputting dependencies.
+  libtool     Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "depcomp $scriptversion"
+    exit $?
+    ;;
+esac
+
+# Get the directory component of the given path, and save it in the
+# global variables '$dir'.  Note that this directory component will
+# be either empty or ending with a '/' character.  This is deliberate.
+set_dir_from ()
+{
+  case $1 in
+    */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
+      *) dir=;;
+  esac
+}
+
+# Get the suffix-stripped basename of the given path, and save it the
+# global variable '$base'.
+set_base_from ()
+{
+  base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
+}
+
+# If no dependency file was actually created by the compiler invocation,
+# we still have to create a dummy depfile, to avoid errors with the
+# Makefile "include basename.Plo" scheme.
+make_dummy_depfile ()
+{
+  echo "#dummy" > "$depfile"
+}
+
+# Factor out some common post-processing of the generated depfile.
+# Requires the auxiliary global variable '$tmpdepfile' to be set.
+aix_post_process_depfile ()
+{
+  # If the compiler actually managed to produce a dependency file,
+  # post-process it.
+  if test -f "$tmpdepfile"; then
+    # Each line is of the form 'foo.o: dependency.h'.
+    # Do two passes, one to just change these to
+    #   $object: dependency.h
+    # and one to simply output
+    #   dependency.h:
+    # which is needed to avoid the deleted-header problem.
+    { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
+      sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
+    } > "$depfile"
+    rm -f "$tmpdepfile"
+  else
+    make_dummy_depfile
+  fi
+}
+
+# A tabulation character.
+tab='	'
+# A newline character.
+nl='
+'
+# Character ranges might be problematic outside the C locale.
+# These definitions help.
+upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
+lower=abcdefghijklmnopqrstuvwxyz
+digits=0123456789
+alpha=${upper}${lower}
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+  echo "depcomp: Variables source, object and depmode must be set" 1>&2
+  exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Avoid interferences from the environment.
+gccflag= dashmflag=
+
+# Some modes work just like other modes, but use different flags.  We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write.  Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+  # HP compiler uses -M and no extra arg.
+  gccflag=-M
+  depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+  # This is just like dashmstdout with a different argument.
+  dashmflag=-xM
+  depmode=dashmstdout
+fi
+
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+  # This is just like msvisualcpp but w/o cygpath translation.
+  # Just convert the backslash-escaped backslashes to single forward
+  # slashes to satisfy depend.m4
+  cygpath_u='sed s,\\\\,/,g'
+  depmode=msvisualcpp
+fi
+
+if test "$depmode" = msvc7msys; then
+  # This is just like msvc7 but w/o cygpath translation.
+  # Just convert the backslash-escaped backslashes to single forward
+  # slashes to satisfy depend.m4
+  cygpath_u='sed s,\\\\,/,g'
+  depmode=msvc7
+fi
+
+if test "$depmode" = xlc; then
+  # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
+  gccflag=-qmakedep=gcc,-MF
+  depmode=gcc
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff.  Hmm.
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am.  Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+  for arg
+  do
+    case $arg in
+    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+    *)  set fnord "$@" "$arg" ;;
+    esac
+    shift # fnord
+    shift # $arg
+  done
+  "$@"
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  mv "$tmpdepfile" "$depfile"
+  ;;
+
+gcc)
+## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
+## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
+## (see the conditional assignment to $gccflag above).
+## There are various ways to get dependency output from gcc.  Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+##   up in a subdir.  Having to rename by hand is ugly.
+##   (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+##   -MM, not -M (despite what the docs say).  Also, it might not be
+##   supported by the other compilers which use the 'gcc' depmode.
+## - Using -M directly means running the compiler twice (even worse
+##   than renaming).
+  if test -z "$gccflag"; then
+    gccflag=-MD,
+  fi
+  "$@" -Wp,"$gccflag$tmpdepfile"
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  # The second -e expression handles DOS-style file names with drive
+  # letters.
+  sed -e 's/^[^:]*: / /' \
+      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the "deleted header file" problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header).  We avoid this by adding
+## dummy dependencies for each header file.  Too bad gcc doesn't do
+## this for us directly.
+## Some versions of gcc put a space before the ':'.  On the theory
+## that the space means something, we add a space to the output as
+## well.  hp depmode also adds that space, but also prefixes the VPATH
+## to the object.  Take care to not repeat it in the output.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+  tr ' ' "$nl" < "$tmpdepfile" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+sgi)
+  if test "$libtool" = yes; then
+    "$@" "-Wp,-MDupdate,$tmpdepfile"
+  else
+    "$@" -MDupdate "$tmpdepfile"
+  fi
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+
+  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
+    echo "$object : \\" > "$depfile"
+    # Clip off the initial element (the dependent).  Don't try to be
+    # clever and replace this with sed code, as IRIX sed won't handle
+    # lines with more than a fixed number of characters (4096 in
+    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
+    # the IRIX cc adds comments like '#:fec' to the end of the
+    # dependency line.
+    tr ' ' "$nl" < "$tmpdepfile" \
+      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
+      | tr "$nl" ' ' >> "$depfile"
+    echo >> "$depfile"
+    # The second pass generates a dummy entry for each header file.
+    tr ' ' "$nl" < "$tmpdepfile" \
+      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+      >> "$depfile"
+  else
+    make_dummy_depfile
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+xlc)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+aix)
+  # The C for AIX Compiler uses -M and outputs the dependencies
+  # in a .u file.  In older versions, this file always lives in the
+  # current directory.  Also, the AIX compiler puts '$object:' at the
+  # start of each line; $object doesn't have directory information.
+  # Version 6 uses the directory in both cases.
+  set_dir_from "$object"
+  set_base_from "$object"
+  if test "$libtool" = yes; then
+    tmpdepfile1=$dir$base.u
+    tmpdepfile2=$base.u
+    tmpdepfile3=$dir.libs/$base.u
+    "$@" -Wc,-M
+  else
+    tmpdepfile1=$dir$base.u
+    tmpdepfile2=$dir$base.u
+    tmpdepfile3=$dir$base.u
+    "$@" -M
+  fi
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+    exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  aix_post_process_depfile
+  ;;
+
+tcc)
+  # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
+  # FIXME: That version still under development at the moment of writing.
+  #        Make that this statement remains true also for stable, released
+  #        versions.
+  # It will wrap lines (doesn't matter whether long or short) with a
+  # trailing '\', as in:
+  #
+  #   foo.o : \
+  #    foo.c \
+  #    foo.h \
+  #
+  # It will put a trailing '\' even on the last line, and will use leading
+  # spaces rather than leading tabs (at least since its commit 0394caf7
+  # "Emit spaces for -MD").
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
+  # We have to change lines of the first kind to '$object: \'.
+  sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
+  # And for each line of the second kind, we have to emit a 'dep.h:'
+  # dummy dependency, to avoid the deleted-header problem.
+  sed -n -e 's|^  *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+## The order of this option in the case statement is important, since the
+## shell code in configure will try each of these formats in the order
+## listed in this file.  A plain '-MD' option would be understood by many
+## compilers, so we must ensure this comes after the gcc and icc options.
+pgcc)
+  # Portland's C compiler understands '-MD'.
+  # Will always output deps to 'file.d' where file is the root name of the
+  # source file under compilation, even if file resides in a subdirectory.
+  # The object file name does not affect the name of the '.d' file.
+  # pgcc 10.2 will output
+  #    foo.o: sub/foo.c sub/foo.h
+  # and will wrap long lines using '\' :
+  #    foo.o: sub/foo.c ... \
+  #     sub/foo.h ... \
+  #     ...
+  set_dir_from "$object"
+  # Use the source, not the object, to determine the base name, since
+  # that's sadly what pgcc will do too.
+  set_base_from "$source"
+  tmpdepfile=$base.d
+
+  # For projects that build the same source file twice into different object
+  # files, the pgcc approach of using the *source* file root name can cause
+  # problems in parallel builds.  Use a locking strategy to avoid stomping on
+  # the same $tmpdepfile.
+  lockdir=$base.d-lock
+  trap "
+    echo '$0: caught signal, cleaning up...' >&2
+    rmdir '$lockdir'
+    exit 1
+  " 1 2 13 15
+  numtries=100
+  i=$numtries
+  while test $i -gt 0; do
+    # mkdir is a portable test-and-set.
+    if mkdir "$lockdir" 2>/dev/null; then
+      # This process acquired the lock.
+      "$@" -MD
+      stat=$?
+      # Release the lock.
+      rmdir "$lockdir"
+      break
+    else
+      # If the lock is being held by a different process, wait
+      # until the winning process is done or we timeout.
+      while test -d "$lockdir" && test $i -gt 0; do
+        sleep 1
+        i=`expr $i - 1`
+      done
+    fi
+    i=`expr $i - 1`
+  done
+  trap - 1 2 13 15
+  if test $i -le 0; then
+    echo "$0: failed to acquire lock after $numtries attempts" >&2
+    echo "$0: check lockdir '$lockdir'" >&2
+    exit 1
+  fi
+
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  # Each line is of the form `foo.o: dependent.h',
+  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Do two passes, one to just change these to
+  # `$object: dependent.h' and one to simply `dependent.h:'.
+  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
+    | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp2)
+  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+  # compilers, which have integrated preprocessors.  The correct option
+  # to use with these is +Maked; it writes dependencies to a file named
+  # 'foo.d', which lands next to the object file, wherever that
+  # happens to be.
+  # Much of this is similar to the tru64 case; see comments there.
+  set_dir_from  "$object"
+  set_base_from "$object"
+  if test "$libtool" = yes; then
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir.libs/$base.d
+    "$@" -Wc,+Maked
+  else
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir$base.d
+    "$@" +Maked
+  fi
+  stat=$?
+  if test $stat -ne 0; then
+     rm -f "$tmpdepfile1" "$tmpdepfile2"
+     exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  if test -f "$tmpdepfile"; then
+    sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
+    # Add 'dependent.h:' lines.
+    sed -ne '2,${
+               s/^ *//
+               s/ \\*$//
+               s/$/:/
+               p
+             }' "$tmpdepfile" >> "$depfile"
+  else
+    make_dummy_depfile
+  fi
+  rm -f "$tmpdepfile" "$tmpdepfile2"
+  ;;
+
+tru64)
+  # The Tru64 compiler uses -MD to generate dependencies as a side
+  # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+  # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+  # dependencies in 'foo.d' instead, so we check for that too.
+  # Subdirectories are respected.
+  set_dir_from  "$object"
+  set_base_from "$object"
+
+  if test "$libtool" = yes; then
+    # Libtool generates 2 separate objects for the 2 libraries.  These
+    # two compilations output dependencies in $dir.libs/$base.o.d and
+    # in $dir$base.o.d.  We have to check for both files, because
+    # one of the two compilations can be disabled.  We should prefer
+    # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+    # automatically cleaned when .libs/ is deleted, while ignoring
+    # the former would cause a distcleancheck panic.
+    tmpdepfile1=$dir$base.o.d          # libtool 1.5
+    tmpdepfile2=$dir.libs/$base.o.d    # Likewise.
+    tmpdepfile3=$dir.libs/$base.d      # Compaq CCC V6.2-504
+    "$@" -Wc,-MD
+  else
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir$base.d
+    tmpdepfile3=$dir$base.d
+    "$@" -MD
+  fi
+
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+    exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  # Same post-processing that is required for AIX mode.
+  aix_post_process_depfile
+  ;;
+
+msvc7)
+  if test "$libtool" = yes; then
+    showIncludes=-Wc,-showIncludes
+  else
+    showIncludes=-showIncludes
+  fi
+  "$@" $showIncludes > "$tmpdepfile"
+  stat=$?
+  grep -v '^Note: including file: ' "$tmpdepfile"
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  # The first sed program below extracts the file names and escapes
+  # backslashes for cygpath.  The second sed program outputs the file
+  # name when reading, but also accumulates all include files in the
+  # hold buffer in order to output them again at the end.  This only
+  # works with sed implementations that can handle large buffers.
+  sed < "$tmpdepfile" -n '
+/^Note: including file:  *\(.*\)/ {
+  s//\1/
+  s/\\/\\\\/g
+  p
+}' | $cygpath_u | sort -u | sed -n '
+s/ /\\ /g
+s/\(.*\)/'"$tab"'\1 \\/p
+s/.\(.*\) \\/\1:/
+H
+$ {
+  s/.*/'"$tab"'/
+  G
+  p
+}' >> "$depfile"
+  echo >> "$depfile" # make sure the fragment doesn't end with a backslash
+  rm -f "$tmpdepfile"
+  ;;
+
+msvc7msys)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+#nosideeffect)
+  # This comment above is used by automake to tell side-effect
+  # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove '-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  test -z "$dashmflag" && dashmflag=-M
+  # Require at least two characters before searching for ':'
+  # in the target name.  This is to cope with DOS-style filenames:
+  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
+  "$@" $dashmflag |
+    sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this sed invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  tr ' ' "$nl" < "$tmpdepfile" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+dashXmstdout)
+  # This case only exists to satisfy depend.m4.  It is never actually
+  # run, as this mode is specially recognized in the preamble.
+  exit 1
+  ;;
+
+makedepend)
+  "$@" || exit $?
+  # Remove any Libtool call
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+  # X makedepend
+  shift
+  cleared=no eat=no
+  for arg
+  do
+    case $cleared in
+    no)
+      set ""; shift
+      cleared=yes ;;
+    esac
+    if test $eat = yes; then
+      eat=no
+      continue
+    fi
+    case "$arg" in
+    -D*|-I*)
+      set fnord "$@" "$arg"; shift ;;
+    # Strip any option that makedepend may not understand.  Remove
+    # the object too, otherwise makedepend will parse it as a source file.
+    -arch)
+      eat=yes ;;
+    -*|$object)
+      ;;
+    *)
+      set fnord "$@" "$arg"; shift ;;
+    esac
+  done
+  obj_suffix=`echo "$object" | sed 's/^.*\././'`
+  touch "$tmpdepfile"
+  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+  rm -f "$depfile"
+  # makedepend may prepend the VPATH from the source file name to the object.
+  # No need to regex-escape $object, excess matching of '.' is harmless.
+  sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process the last invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed '1,2d' "$tmpdepfile" \
+    | tr ' ' "$nl" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile" "$tmpdepfile".bak
+  ;;
+
+cpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove '-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  "$@" -E \
+    | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+             -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+    | sed '$ s: \\$::' > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  cat < "$tmpdepfile" >> "$depfile"
+  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvisualcpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  IFS=" "
+  for arg
+  do
+    case "$arg" in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+        set fnord "$@"
+        shift
+        shift
+        ;;
+    *)
+        set fnord "$@" "$arg"
+        shift
+        shift
+        ;;
+    esac
+  done
+  "$@" -E 2>/dev/null |
+  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
+  echo "$tab" >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvcmsys)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+none)
+  exec "$@"
+  ;;
+
+*)
+  echo "Unknown depmode $depmode" 1>&2
+  exit 1
+  ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/Makefile	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,659 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# doc/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994-2014 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.
+
+
+
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/GEMBASSY
+pkgincludedir = $(includedir)/GEMBASSY
+pkglibdir = $(libdir)/GEMBASSY
+pkglibexecdir = $(libexecdir)/GEMBASSY
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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 = x86_64-apple-darwin14.0.0
+host_triplet = x86_64-apple-darwin14.0.0
+subdir = doc
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/general.m4 \
+	$(top_srcdir)/m4/hpdf.m4 $(top_srcdir)/m4/java.m4 \
+	$(top_srcdir)/m4/lf_x11.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)/m4/mysql.m4 $(top_srcdir)/m4/pngdriver.m4 \
+	$(top_srcdir)/m4/postgresql.m4 $(top_srcdir)/m4/sgi.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/src/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_$(V))
+am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+	ctags-recursive dvi-recursive html-recursive info-recursive \
+	install-data-recursive install-dvi-recursive \
+	install-exec-recursive install-html-recursive \
+	install-info-recursive install-pdf-recursive \
+	install-ps-recursive install-recursive installcheck-recursive \
+	installdirs-recursive pdf-recursive ps-recursive \
+	tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+	distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+ACLOCAL = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing aclocal-1.15
+AMTAR = $${TAR-tar}
+AM_DEFAULT_VERBOSITY = 1
+ANT = 
+AR = ar
+AUTOCONF = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing autoconf
+AUTOHEADER = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing autoheader
+AUTOMAKE = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing automake-1.15
+AWK = awk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS =   -O2 
+CPP = gcc -E
+CPPFLAGS =  -DAJ_MACOSXLF
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+DEVWARN_CFLAGS = 
+DLLTOOL = false
+DSYMUTIL = dsymutil
+DUMPBIN = 
+ECHO_C = \c
+ECHO_N = 
+ECHO_T = 
+EGREP = /usr/bin/grep -E
+EXEEXT = 
+FGREP = /usr/bin/grep -F
+GREP = /usr/bin/grep
+HAVE_MEMMOVE = 
+HAVE_STRERROR = 
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+JAR = 
+JAVA = 
+JAVAC = 
+JAVA_CFLAGS = 
+JAVA_CPPFLAGS =  -DNO_AUTH
+JAVA_LDFLAGS = 
+LD = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
+LDFLAGS = 
+LIBOBJS = 
+LIBS = -lcurl -lm  -lgd -lpng -lz -lm
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LIPO = lipo
+LN_S = ln -s
+LTLIBOBJS = 
+LT_SYS_LIBRARY_PATH = 
+MAKEINFO = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing makeinfo
+MANIFEST_TOOL = :
+MKDIR_P = .././install-sh -c -d
+MYSQL_CFLAGS = 
+MYSQL_CONFIG = no
+MYSQL_CPPFLAGS = 
+MYSQL_LDFLAGS = 
+MYSQL_VERSION = 
+NM = /usr/bin/nm
+NMEDIT = nmedit
+OBJDUMP = false
+OBJEXT = o
+OTOOL = otool
+OTOOL64 = :
+PACKAGE = GEMBASSY
+PACKAGE_BUGREPORT = celery@g-language.org
+PACKAGE_NAME = GEMBASSY
+PACKAGE_STRING = GEMBASSY 1.0.3
+PACKAGE_TARNAME = GEMBASSY
+PACKAGE_URL = http://www.g-language.org/gembassy/
+PACKAGE_VERSION = 1.0.3
+PATH_SEPARATOR = :
+PCRE_DATE = 11-Apr-2009
+PCRE_LIB_VERSION = 0:1:0
+PCRE_MAJOR = 7
+PCRE_MINOR = 9
+PCRE_POSIXLIB_VERSION = 0:0:0
+PCRE_VERSION = 7.9
+POSIX_MALLOC_THRESHOLD = -DPOSIX_MALLOC_THRESHOLD=10
+POSTGRESQL_CFLAGS = -I/usr/local/Cellar/postgresql/9.3.5_1/include
+POSTGRESQL_CONFIG = /usr/local/bin/pg_config
+POSTGRESQL_CPPFLAGS = -I/usr/local/Cellar/postgresql/9.3.5_1/include
+POSTGRESQL_LDFLAGS = -L/usr/local/Cellar/postgresql/9.3.5_1/lib -lpq
+POSTGRESQL_VERSION = 9.3.5
+RANLIB = ranlib
+SED = /usr/local/bin/gsed
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = strip
+VERSION = 1.0.3
+WARN_CFLAGS = 
+XLIB =  -lX11 
+XMKMF = 
+X_CFLAGS = 
+X_EXTRA_LIBS = 
+X_LIBS = 
+X_PRE_LIBS =  -lSM -lICE
+abs_builddir = /Users/kotone/dev/git/GEMBASSY/doc
+abs_srcdir = /Users/kotone/dev/git/GEMBASSY/doc
+abs_top_builddir = /Users/kotone/dev/git/GEMBASSY
+abs_top_srcdir = /Users/kotone/dev/git/GEMBASSY
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_DUMPBIN = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = $${TAR-tar} chof - "$$tardir"
+am__untar = $${TAR-tar} xf -
+bindir = ${exec_prefix}/bin
+build = x86_64-apple-darwin14.0.0
+build_alias = 
+build_cpu = x86_64
+build_os = darwin14.0.0
+build_vendor = apple
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+embprefix = /Users/kotone/opt
+exec_prefix = ${prefix}
+host = x86_64-apple-darwin14.0.0
+host_alias = 
+host_cpu = x86_64
+host_os = darwin14.0.0
+host_vendor = apple
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = ${SHELL} /Users/kotone/dev/git/GEMBASSY/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = $(MKDIR_P)
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /Users/kotone/opt
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target_alias = 
+top_build_prefix = ../
+top_builddir = ..
+top_srcdir = ..
+SUBDIRS = html text
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu doc/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:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    $(am__make_dryrun) \
+	      || test -d "$(distdir)/$$subdir" \
+	      || $(MKDIR_P) "$(distdir)/$$subdir" \
+	      || exit 1; \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+		am__skip_mode_fix=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+	check-am clean clean-generic clean-libtool cscopelist-am ctags \
+	ctags-am distclean distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# 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:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/Makefile.am	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+SUBDIRS = html text
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/Makefile.in	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,659 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 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@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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@
+subdir = doc
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/general.m4 \
+	$(top_srcdir)/m4/hpdf.m4 $(top_srcdir)/m4/java.m4 \
+	$(top_srcdir)/m4/lf_x11.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)/m4/mysql.m4 $(top_srcdir)/m4/pngdriver.m4 \
+	$(top_srcdir)/m4/postgresql.m4 $(top_srcdir)/m4/sgi.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/src/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+	ctags-recursive dvi-recursive html-recursive info-recursive \
+	install-data-recursive install-dvi-recursive \
+	install-exec-recursive install-html-recursive \
+	install-info-recursive install-pdf-recursive \
+	install-ps-recursive install-recursive installcheck-recursive \
+	installdirs-recursive pdf-recursive ps-recursive \
+	tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+	distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+ANT = @ANT@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DEVWARN_CFLAGS = @DEVWARN_CFLAGS@
+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_MEMMOVE = @HAVE_MEMMOVE@
+HAVE_STRERROR = @HAVE_STRERROR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVA_CFLAGS = @JAVA_CFLAGS@
+JAVA_CPPFLAGS = @JAVA_CPPFLAGS@
+JAVA_LDFLAGS = @JAVA_LDFLAGS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MYSQL_CFLAGS = @MYSQL_CFLAGS@
+MYSQL_CONFIG = @MYSQL_CONFIG@
+MYSQL_CPPFLAGS = @MYSQL_CPPFLAGS@
+MYSQL_LDFLAGS = @MYSQL_LDFLAGS@
+MYSQL_VERSION = @MYSQL_VERSION@
+NM = @NM@
+NMEDIT = @NMEDIT@
+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_SEPARATOR = @PATH_SEPARATOR@
+PCRE_DATE = @PCRE_DATE@
+PCRE_LIB_VERSION = @PCRE_LIB_VERSION@
+PCRE_MAJOR = @PCRE_MAJOR@
+PCRE_MINOR = @PCRE_MINOR@
+PCRE_POSIXLIB_VERSION = @PCRE_POSIXLIB_VERSION@
+PCRE_VERSION = @PCRE_VERSION@
+POSIX_MALLOC_THRESHOLD = @POSIX_MALLOC_THRESHOLD@
+POSTGRESQL_CFLAGS = @POSTGRESQL_CFLAGS@
+POSTGRESQL_CONFIG = @POSTGRESQL_CONFIG@
+POSTGRESQL_CPPFLAGS = @POSTGRESQL_CPPFLAGS@
+POSTGRESQL_LDFLAGS = @POSTGRESQL_LDFLAGS@
+POSTGRESQL_VERSION = @POSTGRESQL_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XLIB = @XLIB@
+XMKMF = @XMKMF@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+embprefix = @embprefix@
+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@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = html text
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu doc/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:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    $(am__make_dryrun) \
+	      || test -d "$(distdir)/$$subdir" \
+	      || $(MKDIR_P) "$(distdir)/$$subdir" \
+	      || exit 1; \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+		am__skip_mode_fix=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+	check-am clean clean-generic clean-libtool cscopelist-am ctags \
+	ctags-am distclean distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# 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:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/Makefile	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,533 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# doc/html/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994-2014 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.
+
+
+
+
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgincludedir = $(includedir)/GEMBASSY
+pkglibdir = $(libdir)/GEMBASSY
+pkglibexecdir = $(libexecdir)/GEMBASSY
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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 = x86_64-apple-darwin14.0.0
+host_triplet = x86_64-apple-darwin14.0.0
+subdir = doc/html
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/general.m4 \
+	$(top_srcdir)/m4/hpdf.m4 $(top_srcdir)/m4/java.m4 \
+	$(top_srcdir)/m4/lf_x11.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)/m4/mysql.m4 $(top_srcdir)/m4/pngdriver.m4 \
+	$(top_srcdir)/m4/postgresql.m4 $(top_srcdir)/m4/sgi.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/src/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_$(V))
+am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__installdirs = "$(DESTDIR)$(pkgdatadir)"
+DATA = $(pkgdata_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+pkgdatadir = $(prefix)/share/EMBOSS/doc/html/embassy/gembassy
+ACLOCAL = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing aclocal-1.15
+AMTAR = $${TAR-tar}
+AM_DEFAULT_VERBOSITY = 1
+ANT = 
+AR = ar
+AUTOCONF = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing autoconf
+AUTOHEADER = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing autoheader
+AUTOMAKE = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing automake-1.15
+AWK = awk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS =   -O2 
+CPP = gcc -E
+CPPFLAGS =  -DAJ_MACOSXLF
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+DEVWARN_CFLAGS = 
+DLLTOOL = false
+DSYMUTIL = dsymutil
+DUMPBIN = 
+ECHO_C = \c
+ECHO_N = 
+ECHO_T = 
+EGREP = /usr/bin/grep -E
+EXEEXT = 
+FGREP = /usr/bin/grep -F
+GREP = /usr/bin/grep
+HAVE_MEMMOVE = 
+HAVE_STRERROR = 
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+JAR = 
+JAVA = 
+JAVAC = 
+JAVA_CFLAGS = 
+JAVA_CPPFLAGS =  -DNO_AUTH
+JAVA_LDFLAGS = 
+LD = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
+LDFLAGS = 
+LIBOBJS = 
+LIBS = -lcurl -lm  -lgd -lpng -lz -lm
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LIPO = lipo
+LN_S = ln -s
+LTLIBOBJS = 
+LT_SYS_LIBRARY_PATH = 
+MAKEINFO = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing makeinfo
+MANIFEST_TOOL = :
+MKDIR_P = ../.././install-sh -c -d
+MYSQL_CFLAGS = 
+MYSQL_CONFIG = no
+MYSQL_CPPFLAGS = 
+MYSQL_LDFLAGS = 
+MYSQL_VERSION = 
+NM = /usr/bin/nm
+NMEDIT = nmedit
+OBJDUMP = false
+OBJEXT = o
+OTOOL = otool
+OTOOL64 = :
+PACKAGE = GEMBASSY
+PACKAGE_BUGREPORT = celery@g-language.org
+PACKAGE_NAME = GEMBASSY
+PACKAGE_STRING = GEMBASSY 1.0.3
+PACKAGE_TARNAME = GEMBASSY
+PACKAGE_URL = http://www.g-language.org/gembassy/
+PACKAGE_VERSION = 1.0.3
+PATH_SEPARATOR = :
+PCRE_DATE = 11-Apr-2009
+PCRE_LIB_VERSION = 0:1:0
+PCRE_MAJOR = 7
+PCRE_MINOR = 9
+PCRE_POSIXLIB_VERSION = 0:0:0
+PCRE_VERSION = 7.9
+POSIX_MALLOC_THRESHOLD = -DPOSIX_MALLOC_THRESHOLD=10
+POSTGRESQL_CFLAGS = -I/usr/local/Cellar/postgresql/9.3.5_1/include
+POSTGRESQL_CONFIG = /usr/local/bin/pg_config
+POSTGRESQL_CPPFLAGS = -I/usr/local/Cellar/postgresql/9.3.5_1/include
+POSTGRESQL_LDFLAGS = -L/usr/local/Cellar/postgresql/9.3.5_1/lib -lpq
+POSTGRESQL_VERSION = 9.3.5
+RANLIB = ranlib
+SED = /usr/local/bin/gsed
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = strip
+VERSION = 1.0.3
+WARN_CFLAGS = 
+XLIB =  -lX11 
+XMKMF = 
+X_CFLAGS = 
+X_EXTRA_LIBS = 
+X_LIBS = 
+X_PRE_LIBS =  -lSM -lICE
+abs_builddir = /Users/kotone/dev/git/GEMBASSY/doc/html
+abs_srcdir = /Users/kotone/dev/git/GEMBASSY/doc/html
+abs_top_builddir = /Users/kotone/dev/git/GEMBASSY
+abs_top_srcdir = /Users/kotone/dev/git/GEMBASSY
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_DUMPBIN = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = $${TAR-tar} chof - "$$tardir"
+am__untar = $${TAR-tar} xf -
+bindir = ${exec_prefix}/bin
+build = x86_64-apple-darwin14.0.0
+build_alias = 
+build_cpu = x86_64
+build_os = darwin14.0.0
+build_vendor = apple
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+embprefix = /Users/kotone/opt
+exec_prefix = ${prefix}
+host = x86_64-apple-darwin14.0.0
+host_alias = 
+host_cpu = x86_64
+host_os = darwin14.0.0
+host_vendor = apple
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = ${SHELL} /Users/kotone/dev/git/GEMBASSY/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = $(MKDIR_P)
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /Users/kotone/opt
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target_alias = 
+top_build_prefix = ../../
+top_builddir = ../..
+top_srcdir = ../..
+pkgdata_DATA = *.html
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/html/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu doc/html/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:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+install-pkgdataDATA: $(pkgdata_DATA)
+	@$(NORMAL_INSTALL)
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(pkgdatadir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" || exit 1; \
+	fi; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \
+	done
+
+uninstall-pkgdataDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$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: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(pkgdatadir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: 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:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-pkgdataDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-pkgdataDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	cscopelist-am ctags-am distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-pkgdataDATA install-ps \
+	install-ps-am install-strip installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags-am uninstall uninstall-am uninstall-pkgdataDATA
+
+.PRECIOUS: Makefile
+
+
+# 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:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/Makefile.am	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,4 @@
+pkgdata_DATA = *.html
+
+pkgdatadir=$(prefix)/share/EMBOSS/doc/html/embassy/gembassy
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/Makefile.in	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,533 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 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@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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@
+subdir = doc/html
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/general.m4 \
+	$(top_srcdir)/m4/hpdf.m4 $(top_srcdir)/m4/java.m4 \
+	$(top_srcdir)/m4/lf_x11.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)/m4/mysql.m4 $(top_srcdir)/m4/pngdriver.m4 \
+	$(top_srcdir)/m4/postgresql.m4 $(top_srcdir)/m4/sgi.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/src/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__installdirs = "$(DESTDIR)$(pkgdatadir)"
+DATA = $(pkgdata_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+pkgdatadir = $(prefix)/share/EMBOSS/doc/html/embassy/gembassy
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+ANT = @ANT@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DEVWARN_CFLAGS = @DEVWARN_CFLAGS@
+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_MEMMOVE = @HAVE_MEMMOVE@
+HAVE_STRERROR = @HAVE_STRERROR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVA_CFLAGS = @JAVA_CFLAGS@
+JAVA_CPPFLAGS = @JAVA_CPPFLAGS@
+JAVA_LDFLAGS = @JAVA_LDFLAGS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MYSQL_CFLAGS = @MYSQL_CFLAGS@
+MYSQL_CONFIG = @MYSQL_CONFIG@
+MYSQL_CPPFLAGS = @MYSQL_CPPFLAGS@
+MYSQL_LDFLAGS = @MYSQL_LDFLAGS@
+MYSQL_VERSION = @MYSQL_VERSION@
+NM = @NM@
+NMEDIT = @NMEDIT@
+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_SEPARATOR = @PATH_SEPARATOR@
+PCRE_DATE = @PCRE_DATE@
+PCRE_LIB_VERSION = @PCRE_LIB_VERSION@
+PCRE_MAJOR = @PCRE_MAJOR@
+PCRE_MINOR = @PCRE_MINOR@
+PCRE_POSIXLIB_VERSION = @PCRE_POSIXLIB_VERSION@
+PCRE_VERSION = @PCRE_VERSION@
+POSIX_MALLOC_THRESHOLD = @POSIX_MALLOC_THRESHOLD@
+POSTGRESQL_CFLAGS = @POSTGRESQL_CFLAGS@
+POSTGRESQL_CONFIG = @POSTGRESQL_CONFIG@
+POSTGRESQL_CPPFLAGS = @POSTGRESQL_CPPFLAGS@
+POSTGRESQL_LDFLAGS = @POSTGRESQL_LDFLAGS@
+POSTGRESQL_VERSION = @POSTGRESQL_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XLIB = @XLIB@
+XMKMF = @XMKMF@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+embprefix = @embprefix@
+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@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+pkgdata_DATA = *.html
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/html/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu doc/html/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:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+install-pkgdataDATA: $(pkgdata_DATA)
+	@$(NORMAL_INSTALL)
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(pkgdatadir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" || exit 1; \
+	fi; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \
+	done
+
+uninstall-pkgdataDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$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: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(pkgdatadir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: 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:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-pkgdataDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-pkgdataDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	cscopelist-am ctags-am distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-pkgdataDATA install-ps \
+	install-ps-am install-strip installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags-am uninstall uninstall-am uninstall-pkgdataDATA
+
+.PRECIOUS: Makefile
+
+
+# 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:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gaaui.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gaaui </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gaaui
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculates various indece of amino acid usage
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gaaui calculates amino acid usage indices for proteins (excluding<br />
   formylmethionine). Calculated indices are as follows,<br />
      Laa:   Length in amino acids<br />
      ndaa:  Number of different amino acids<br />
      Haau:  Entropy of amino acid usage<br />
      mmw:   Mean molecular weight<br />
      gravy: Mean hydropathic indices of each amino acid<br />
      aroma: Relative frequency of aromatic amino acids<br />
<br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gaaui

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gaaui refseqn:NC_000913
Calculates various indece of amino acid usage
AAINDEX entry output file [nc_000913.gaaui]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>AAINDEX entry output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gaaui</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gaaui reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gaaui is to a plain text file.<br />
<br />
   File: nc_000913.gaaui<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
Laa,ndaa,Haau,mmw,gravy,aroma,gene<br />
20,8,2.4842,117.48,+0.0150,0.0000,thrL<br />
819,20,4.0887,126.65,+0.0328,0.0659,thrA<br />
309,20,4.1228,126.35,+0.0181,0.0712,thrB<br />
427,20,4.0806,128.00,-0.1014,0.0843,thrC<br />
97,18,3.9165,133.54,-1.0268,0.0928,yaaX<br />
257,19,4.0733,132.55,-0.4117,0.1089,yaaA<br />
475,20,4.0413,126.46,+0.6781,0.1242,yaaJ<br />
316,20,4.0395,128.99,-0.2165,0.0728,talB<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
169,20,4.0001,124.90,+0.0231,0.0710,yjjX<br />
214,20,3.9937,129.77,-0.3813,0.0374,ytjC<br />
288,20,4.1421,132.58,-0.3628,0.1111,rob<br />
156,20,4.0627,126.72,-0.0442,0.0705,creA<br />
228,20,4.0471,131.94,-0.1408,0.0789,creB<br />
473,20,4.0254,128.01,+0.0023,0.0677,creC<br />
449,20,4.0871,128.66,+0.2082,0.0980,creD<br />
237,20,4.0729,132.54,-0.4970,0.0675,arcA<br />
45,15,3.5800,123.27,+0.7533,0.0222,yjjY<br />
227,20,4.0283,128.63,-0.0031,0.0573,yjtD<br />
</td></tr></table>
<br />
<br />

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Lobry, JR. and Gautier, C. (1994) Hydrophobicity, expressivity and
      aromaticity are the major trends of amino-acid usage in 999 Escherichia
      coli chromosome-encoded genes, Nucleic Acids Res, 22:3174-3180.a

   Zavala A et al. (2002) Trends in codon and amino acid usage in Thermotoga
      maritima J Mol Evol. 54(5):563-8.

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gaminoinfo.html">gaminoinfo</a></td>
<td>Prints out basic amino acid sequence statistics</td>
</tr><tr>
<td><a href="gcodoncompiler.html">gcodoncompiler</a></td>
<td>Calculate various kinds of amino acid and codon usage data</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gaminoinfo.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gaminoinfo </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gaminoinfo
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Prints out basic amino acid sequence statistics
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gaminoinfo prints out basic compositional statistics of the given amino<br />
   acid sequence in a human readble manner. The calculated values are molecular<br />
   weight, number of residues, average residue weight, charge, isoelectric<br />
   point, number/mole/Dayhoffstat of each amino acid, and percentage of<br />
   Tiny (A+C+G+S+T), Small (A+B+C+D+G+N+P+S+T+V), Aliphatic (I+L+V),<br />
   Armoatic (F+H+W+Y), Non-polar (A+C+F+G+I+L+M+P+V+W+Y),<br />
   Polar (D+E+H+K+N+Q+R+S+T+Z), Charged (B+D+E+H+K+R+Z), Basic (H+K+R), and<br />
   Acidic (B+D+E+Z) reidues.<br />
  <br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gaminoinfo

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gaminoinfo tsw:hbb_human
Prints out basic amino acid sequence statistics
AAINDEX entry output file [hbb_human.gaminoinfo]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Protein sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>AAINDEX entry output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gaminoinfo</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gaminoinfo reads one or more protein sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gaminoinfo is to a plain text file.<br />
<br />
   File: hbb_human.gaminoinfo<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: P68871<br />
AminoInfo of  from 1 to 158<br />
<br />
Molecular weight = 19309.27 Residues = 158<br />
Average Weight = 122.21 Charge = 3.5<br />
Isoelectric Point = 7.4065<br />
Residue         Number          Mole%               DayhoffStat<br />
<br />
 =             1               0.633                     0.000<br />
> =             1               0.633                     0.000<br />
A = Ala         16              10.127                    1.178<br />
B = Asx         2               1.266                     0.000<br />
C = Cys         2               1.266                     0.436<br />
D = Asp         7               4.430                     0.806<br />
E = Glu         8               5.063                     0.844<br />
F = Phe         8               5.063                     1.406<br />
G = Gly         13              8.228                     0.980<br />
H = His         11              6.962                     3.481<br />
K = Lys         11              6.962                     1.055<br />
L = Leu         18              11.392                    1.540<br />
M = Met         3               1.899                     1.117<br />
N = Asn         7               4.430                     1.030<br />
P = Pro         7               4.430                     0.852<br />
Q = Gln         3               1.899                     0.487<br />
R = Arg         3               1.899                     0.387<br />
S = Ser         5               3.165                     0.452<br />
T = Thr         7               4.430                     0.726<br />
U = Sec         1               0.633                     0.000<br />
V = Val         18              11.392                    1.726<br />
W = Trp         2               1.266                     0.974<br />
Y = Tyr         3               1.899                     0.558<br />
_ =             1               0.633                     0.000<br />
<br />
Property        Residues                Number          Mole%<br />
Tiny            (A+C+G+S+T)             43              27.215<br />
Small           (A+B+C+D+G+N+P+S+T+V)   84              53.165<br />
Aliphatic       (I+L+V)                 36              22.785<br />
Aromatic        (F+H+W+Y)               24              15.190<br />
Non-polar       (A+C+F+G+I+L+M+P+V+W+Y) 90              56.962<br />
Polar           (D+E+H+K+N+Q+R+S+T+Z)   62              39.241<br />
Charged         (B+D+E+H+K+R+Z)         42              26.582<br />
Basic           (H+K+R)                 25              15.823<br />
Acidic          (B+D+E+Z)               17              10.759<br />
</pre></td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gaaui.html">gaaui</a></td>
<td>Calculates various indece of amino acid usage</td>
</tr><tr>
<td><a href="gcodoncompiler.html">gcodoncompiler</a></td>
<td>Calculate various kinds of amino acid and codon usage data</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gb1.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gb1 </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gb1
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculate strand bias of bacterial genome using B1 index
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gb1 calculates the strand bias of bacterial genome using B1 index,<br />
   first proposed by Lobry and Sueoka (2002), and further extended by<br />
   Rocha et al. (2006). Basic idea of B1 index is to calculate the<br />
   distance between the two strands, when the leading and lagging strands<br />
   are plotted in a coordinate system with axes representing G/(G+C) and<br />
   A/(A+T), using the third codon position of genes. This index measures the<br />
   degree of replication-induced bias from Chargaff's second parity rule.<br />
   Rocha et al. modified B1 index to only use >fourfold degenerate codons,<br />
   and to use T/(A+T) in place of A/(A+T).<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gb1

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gb1 refseqn:NC_000913
Calculate strand bias of bacterial genome using B1 index
Program compseq output file [nc_000913.gb1]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Program compseq output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gb1</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-method</td>
<td>selection</td>
<td>Choose method of 'lobry' or 'rocha'</td>
<td>Choose from selection list of values</td>
<td>rocha</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gb1 reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gb1 is to a plain text file.<br />
<br />
   File: nc_000913.gb1<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913 B1: 0.0630702874711314<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Lobry JR and Sueoka N (2002) Asymmetric directional mutation pressures in
      bacteria, Genome Biology, 3(10):0058

   Rocha EPC et al. (2006) Similar compositional biases are caused by very
      different mutational effects, Genome Research, 16:1537-1547

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gb2.html">gb2</a></td>
<td>Calculate strand bias of bacterial genome using B2 index</td>
</tr><tr>
<td><a href="gdeltagcskew.html">gdeltagcskew</a></td>
<td>Calculate strand bias of bacterial genome using delta GC skew</td>
</tr><tr>
<td><a href="ggcsi.html">ggcsi</a></td>
<td>GC Skew Index: an index for strand-specefic mutational bias</td>
</tr><tr>
<td><a href="gldabias.html">gldabias</a></td>
<td>Calculate strand bias of bacterial genome using linear discriminant analysis (LDA)</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gb2.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gb2 </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gb2
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculate strand bias of bacterial genome using B2 index
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gb2 calculates strand bias of bacterial genome using B2 index,<br />
   proposed by Lobry and Sueoka(2002). Basic idea of B2 index is to calculate<br />
   the distance from neutral parity state (0.5, 0.5), when the bias of<br />
   the coding regions is plotted in a coordinate system with axes representing<br />
   G/(G+C) and A/(A+T), using the third codon position of genes. This index<br />
   measures the degree of transcription- and translation-associated effects of<br />
   bias from Chargaff's second parity rule.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gb2

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gb2 refseqn:NC_000913
Calculate strand bias of bacterial genome using B2 index
Program compseq output file [nc_000913.gb2]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Program compseq output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gb2</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gb2 reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gb2 is to a plain text file.<br />
<br />
   File: nc_000913.gb2<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913 B2: 0.0919769585775651<br />
</td></tr></table>
<br />

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Lobry JR and Sueoka N (2002) Asymmetric directional mutation pressures in
      bacteria, Genome Biology, 3(10):0058

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gb1.html">gb1</a></td>
<td>Calculate strand bias of bacterial genome using B1 index</td>
</tr><tr>
<td><a href="gdeltagcskew.html">gdeltagcskew</a></td>
<td>Calculate strand bias of bacterial genome using delta GC skew</td>
</tr><tr>
<td><a href="ggcsi.html">ggcsi</a></td>
<td>GC Skew Index: an index for strand-specefic mutational bias</td>
</tr><tr>
<td><a href="gldabias.html">gldabias</a></td>
<td>Calculate strand bias of bacterial genome using linear discriminant analysis (LDA)</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
   Hidetoshi Itaya (celery@g-language.org)
   Institute for Advanced Biosciences, Keio University
   252-0882 Japan

  Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gbasecounter.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gbasecounter </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gbasecounter
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Creates a position weight matrix of oligomers around start codon
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   This function creates a position weight matrix (PWM) of<br />
   oligomers of specified length around the start codon of all<br />
   genes in the given genome.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gbasecounter

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gbasecounter refseqn:NC_000913
Creates a position weight matrix of oligomers around start codon
Weight matrix output file [nc_000913.gbasecounter]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Weight matrix output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gbasecounter</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-position</td>
<td>selection</td>
<td>Either 'start' (around start codon) or 'end' (around stop codon) to create the PWM</td>
<td>Choose from selection list of values</td>
<td>start</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-patlen</td>
<td>integer</td>
<td>Length of oligomer to count</td>
<td>Any integer value</td>
<td>3</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-upstream</td>
<td>integer</td>
<td>Length upstream of specified position to create PWM</td>
<td>Any integer value</td>
<td>30</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-downstream</td>
<td>integer</td>
<td>Length downstream of specified position to create PWM</td>
<td>Any integer value</td>
<td>30</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gbasecounter reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gbasecounter is to a plain text file.<br />
<br />
   File: nc_000913.gbasecounter<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
Pattern,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12,-13,-14,-15,-16,-17,-18,-19,-20,-21,-22,-23,-24,-25,-26,-27,-28,-29,-30<br />
aaa,0,1,199,111,104,139,94,103,99,44,42,26,75,103,107,95,107,103,102,82,91,71,73,81,86,80,74,74,78,65,69,65,31,41,68,51,61,83,55,67,92,55,71,89,60,77,100,59,87,123,97,105,141,83,117,180,154,203,262,2,0<br />
aac,2,0,0,63,104,56,67,64,28,34,22,12,17,37,43,59,61,71,54,42,62,59,63,52,56,61,48,55,56,52,38,30,34,54,36,42,43,33,49,49,36,43,58,37,53,62,46,47,79,38,52,72,58,52,89,74,83,91,68,2,1<br />
aag,0,0,17,46,38,57,56,44,25,44,43,170,162,125,92,70,61,50,42,46,21,22,43,39,29,35,39,34,28,26,30,25,9,43,31,12,55,33,13,66,21,21,50,30,21,55,31,21,47,38,16,55,35,23,63,96,31,51,71,0,0<br />
aat,1,565,4,56,124,45,83,74,63,42,24,24,20,27,59,71,54,74,66,71,67,52,58,77,61,52,57,49,56,71,61,34,33,24,40,38,30,43,46,25,48,56,35,58,51,33,47,71,46,70,77,60,74,74,73,83,69,61,110,0,1<br />
aca,0,1,92,73,39,69,39,24,31,31,16,19,34,64,61,63,65,56,42,60,45,66,38,45,46,41,49,40,51,43,39,20,34,29,23,26,28,34,35,26,35,39,30,28,48,26,28,53,35,36,59,42,53,46,64,56,62,44,55,0,0<br />
acc,2,2,0,81,37,19,28,19,15,8,12,7,7,14,22,27,30,24,31,23,30,27,34,27,30,22,25,42,34,29,25,41,23,32,44,19,32,51,21,19,50,23,24,52,30,31,56,25,31,55,30,25,35,30,32,53,20,21,48,0,2<br />
acg,0,0,21,38,23,38,32,25,13,18,12,15,34,29,34,37,25,31,25,34,30,20,22,24,40,22,24,30,34,29,25,29,25,34,41,23,32,25,36,44,28,32,40,32,23,28,40,30,25,36,39,32,28,40,38,39,45,30,33,0,0<br />
act,0,0,1,57,35,14,30,29,21,9,6,9,9,10,17,38,28,35,30,37,41,46,38,43,39,31,31,31,30,32,27,18,55,24,20,32,16,25,32,24,31,44,14,33,43,12,35,60,24,40,58,19,36,71,22,44,46,13,45,3,1<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
tcg,0.000,0.000,0.347,0.255,0.301,0.764,0.347,0.232,0.162,0.093,0.093,0.278,0.347,0.370,0.370,0.440,0.556,0.394,0.486,0.440,0.417,0.347,0.370,0.463,0.417,0.695,0.394,0.671,0.533,0.579,0.602,0.347,0.695,1.598,0.556,0.648,1.366,0.394,0.463,1.505,0.579,0.810,1.320,0.278,0.810,1.065,0.533,0.579,0.972,0.255,0.787,1.158,0.440,0.787,0.602,0.255,0.625,0.463,0.347,0.000,0.000<br />
tct,0.000,0.046,0.000,0.671,0.764,0.394,0.278,0.347,0.278,0.116,0.116,0.162,0.255,0.162,0.486,0.648,0.533,0.625,0.741,0.718,0.903,0.834,0.880,0.857,0.741,0.857,0.671,0.648,0.857,0.695,0.625,0.440,0.880,0.463,0.556,1.111,0.509,0.579,1.227,0.556,0.370,1.135,0.671,0.648,1.250,0.834,0.509,1.273,0.440,0.718,0.972,1.042,0.648,0.926,0.533,0.625,0.556,0.185,1.690,0.000,0.000<br />
tga,0.000,0.000,2.315,0.463,1.227,1.297,1.088,0.949,0.625,0.417,1.065,0.903,1.737,1.667,1.042,1.158,1.366,1.320,1.227,1.158,0.926,1.459,1.181,0.810,1.366,0.972,0.972,1.111,0.764,0.787,1.227,0.000,1.598,1.250,0.000,1.482,1.181,0.000,1.459,1.389,0.000,1.783,1.297,0.000,1.505,1.482,0.023,1.343,1.690,0.000,1.690,1.204,0.000,1.389,0.949,0.000,2.408,0.996,0.000,0.023,24.311<br />
tgc,0.023,0.000,0.000,0.394,0.996,0.579,0.787,0.556,0.208,0.185,0.208,0.116,0.278,0.324,0.394,0.834,0.486,0.394,0.718,0.556,0.509,0.857,0.509,0.625,0.810,0.741,0.695,0.834,0.625,0.787,1.158,0.347,1.158,1.621,0.394,1.667,1.204,0.347,1.551,1.320,0.417,1.088,1.065,0.232,1.320,1.042,0.139,1.204,0.996,0.208,0.996,0.602,0.139,0.648,0.764,0.069,0.857,0.394,0.023,0.000,7.803<br />
tgg,0.000,0.023,0.069,0.208,0.370,0.509,0.486,0.417,0.394,0.671,1.343,1.713,1.621,1.482,0.810,0.834,0.718,0.301,0.463,0.509,0.509,0.741,0.579,0.509,0.625,0.486,0.509,0.625,0.625,0.533,0.857,0.996,0.718,1.968,1.042,0.880,1.760,0.671,0.949,1.459,0.556,0.787,0.903,0.718,0.695,1.273,0.533,0.440,0.648,0.880,0.417,0.718,0.648,0.278,0.625,0.463,0.440,0.486,0.116,0.023,11.021<br />
tgt,0.023,0.880,0.023,0.533,1.135,0.301,0.440,0.602,0.417,0.208,0.232,0.185,0.185,0.278,0.370,0.440,0.533,0.556,0.648,0.764,0.509,0.926,0.579,0.718,0.880,0.695,0.718,0.741,0.741,0.579,0.625,0.278,1.158,0.857,0.278,0.972,0.718,0.324,0.926,0.695,0.463,1.111,0.834,0.162,1.482,0.787,0.278,1.065,0.695,0.278,1.042,0.695,0.208,0.903,0.718,0.139,0.857,0.232,0.093,0.023,7.340<br />
tta,0.000,0.000,6.506,0.648,0.810,1.829,1.320,0.602,0.486,0.509,0.255,0.347,0.301,0.834,1.320,1.459,1.412,1.667,1.644,1.852,1.667,1.574,1.366,1.042,1.204,1.621,1.505,1.227,1.436,1.088,1.273,1.343,0.486,1.158,1.042,0.440,1.135,1.389,0.370,1.273,1.574,0.486,1.875,1.505,0.463,1.991,1.875,0.533,2.362,2.061,0.324,2.084,2.200,0.509,1.505,1.320,0.463,1.366,0.648,0.000,0.069<br />
ttc,0.000,0.000,0.000,0.648,0.417,0.695,0.764,0.347,0.301,0.278,0.208,0.023,0.232,0.533,0.718,0.718,0.903,1.042,1.158,0.880,1.158,1.065,0.903,0.834,1.343,0.996,0.926,0.810,0.741,0.834,1.042,0.926,0.579,1.088,0.695,0.695,1.297,0.741,0.741,1.111,0.926,0.787,1.366,0.695,0.857,1.412,0.648,0.834,1.111,0.440,0.602,1.250,1.019,1.135,0.787,0.440,0.880,0.509,0.370,0.000,0.000<br />
ttg,0.857,0.023,0.255,0.394,0.556,1.111,0.533,0.463,0.417,0.185,0.232,0.533,0.602,1.042,0.718,0.695,1.135,0.972,0.857,0.926,0.787,0.671,1.320,0.695,0.903,1.204,0.880,0.764,0.926,0.741,0.718,1.019,0.347,1.551,1.042,0.370,2.014,0.834,0.463,2.061,0.880,0.278,2.014,0.857,0.208,2.593,0.741,0.278,1.922,0.764,0.417,2.130,0.834,0.208,1.111,0.394,0.093,1.111,0.417,0.000,0.023<br />
ttt,0.023,0.440,0.093,1.598,1.181,1.320,1.829,1.343,0.648,0.370,0.394,0.278,0.185,0.440,1.135,1.574,1.667,1.945,2.315,2.362,2.431,2.501,2.107,2.362,1.806,2.014,2.292,2.014,1.598,1.760,1.829,1.389,1.505,1.042,1.343,1.297,0.926,1.528,1.574,1.227,1.482,1.737,1.389,1.667,1.922,1.389,1.945,1.922,1.343,1.806,1.760,1.389,2.014,1.760,1.065,0.949,1.111,0.625,1.227,0.023,0.023<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gbasezvalue.html">gbasezvalue</a></td>
<td>Extracts conserved oligomers per position using Z-score</td>
</tr><tr>
<td><a href="gviewcds.html">gviewcds</a></td>
<td>Displays a graph of nucleotide contents around start and stop codons</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</p>

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gbaseentropy.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gbaseentropy </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gbaseentropy
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculates and graphs the sequence conservation using Shanon uncertainty (entropy)
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   This function calculates and graphs the sequence conservation in regions<br />
   around the start/stop codons using Shanon uncertainty (entropy). Smaller<br />
   values resemble higher conservation where the minumum value is 0 and the<br />
   maximum value is 2. The entropy is typically the lowest around position 0<br />
   (start/stop codon position).<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gbaseentropy

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gbaseentropy refseqn:NC_000913
Calculates and graphs the sequence conservation using Shanon uncertainty
(entropy)
Program compseq output file (optional) [nc_000913.gbaseentropy]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

   Example 2

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gbaseentropy refseqn:NC_000913 -plot -graph png
Calculates and graphs the sequence conservation using Shanon uncertainty
(entropy)
Created gbaseentropy.1.png

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-graph</td>
<td>xygraph</td>
<td>Graph type</td>
<td>EMBOSS has a list of known devices, including ps, hpgl, hp7470, hp7580, meta, cps, x11, tek, tekt, none, data, xterm, png, gif, svg</td>
<td><i>EMBOSS_GRAPHICS</i> value, or x11</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-outfile</td>
<td>outfile</td>
<td>Program compseq output file (optional)</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gbaseentropy</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-position</td>
<td>selection</td>
<td>Either 'start' (around start codon) or 'end' (around stop codon) to create the PWM</td>
<td>Choose from selection list of values</td>
<td>start</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-patlen</td>
<td>integer</td>
<td>Length of oligomer to count</td>
<td>Any integer value</td>
<td>3</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-upstream</td>
<td>integer</td>
<td>Length upstream of specified position to create PWM</td>
<td>Any integer value</td>
<td>30</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-downstream</td>
<td>integer</td>
<td>Length downstream of specified position to create PWM</td>
<td>Any integer value</td>
<td>30</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-plot</td>
<td>toggle</td>
<td>Include to plot result</td>
<td>Toggle value Yes/No</td>
<td>No</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gbaseentropy reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gbaseentropy is to a plain text file or the EMBOSS graphics device.<br />
<br />
   File: nc_000913.gbaseentropy<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
-30,1.98284<br />
-29,1.97873<br />
-28,1.97692<br />
-27,1.97595<br />
-26,1.97094<br />
-25,1.96777<br />
-24,1.96272<br />
-23,1.96288<br />
-22,1.95707<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
21,1.93528<br />
22,1.94470<br />
23,1.95204<br />
25,1.93139<br />
25,1.95640<br />
26,1.95711<br />
27,1.93785<br />
28,1.96060<br />
29,1.94316<br />
30,1.92581<br />
</td></tr></table>

</p>

<h3>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gbaseinformationcontent.html">gbaseinformationcontent</a></td>
<td>Calculates and graphs the sequence conservation using information content</td>
</tr>
<tr>
<td><a href="gbaserelativeentropy.html">gbaserelativeentropy</a></td>
<td>Calculates and graphs the sequence conservation using Kullback-Leibler divergence (relative entropy)</td>
</tr>
</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gbaseinformationcontent.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gbaseinformationcontent </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gbaseinformationcontent
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculates and graphs the sequence conservation using information content
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   This function calculates and graphs the sequence conservation in regions<br />
   around the start/stop codons using information content. Values are obtained<br />
   by subtracting the entropy for each positfion from the maximum possible value<br />
   (which will be 2 in the case of nucleotide sequences). Information content<br />
   will show the highest value when the frequency is most biased to a single<br />
   alphabet.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gbaseinformationcontent

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gbaseinformationcontent refseqn:NC_000913
Calculates and graphs the sequence conservation using information content
Program compseq output file (optional) [nc_000913.gbaseinformationcontent]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

   Example 2

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gbaseinformationcontent refseqn:NC_000913 -plot -graph png
Calculates and graphs the sequence conservation using information content
Created gbaseinformationcontent.1.png

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-graph</td>
<td>xygraph</td>
<td>Graph type</td>
<td>EMBOSS has a list of known devices, including ps, hpgl, hp7470, hp7580, meta, cps, x11, tek, tekt, none, data, xterm, png, gif, svg</td>
<td><i>EMBOSS_GRAPHICS</i> value, or x11</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-outfile</td>
<td>outfile</td>
<td>Program compseq output file (optional)</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gbaseinformationcontent</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-position</td>
<td>selection</td>
<td>Either 'start' (around start codon) or 'end' (around stop codon) to create the PWM</td>
<td>Choose from selection list of values</td>
<td>start</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-upstream</td>
<td>integer</td>
<td>Length upstream of specified position to create PWM</td>
<td>Any integer value</td>
<td>30</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-downstream</td>
<td>integer</td>
<td>Length downstream of specified position to create PWM</td>
<td>Any integer value</td>
<td>30</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-patlen</td>
<td>integer</td>
<td>Length of oligomer to count</td>
<td>Any integer value</td>
<td>3</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-plot</td>
<td>toggle</td>
<td>Include to plot result</td>
<td>Toggle value Yes/No</td>
<td>No</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gbaseinformationcontent reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gbaseinformationcontent is to a plain text file or the EMBOSS graphics device.<br />
<br />
   File: nc_000913.gbaseinformationcontent<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
-30,2.42457<br />
-29,2.42811<br />
-28,2.43235<br />
-27,2.43116<br />
-26,2.44278<br />
-25,2.44236<br />
-24,2.44502<br />
-23,2.46097<br />
-22,2.46588<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
21,2.27547<br />
22,2.46974<br />
23,2.46342<br />
24,2.32686<br />
25,2.46245<br />
26,2.46061<br />
27,2.27664<br />
28,2.45650<br />
29,2.48206<br />
30,2.29140<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gbaseentropy.html">gbaseentropy</a></td>
<td>Calculates and graphs the sequence conservation using Shanon uncertainty (entropy)</td>
</tr><tr>
<td><a href="gbaserelativeentropy.html">gbaserelativeentropy</a></td>
<td>Calculates and graphs the sequence conservation using Kullback-Leibler divergence (relative entropy)</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gbaserelativeentropy.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gbaserelativeentropy </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gbaserelativeentropy
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculates and graphs the sequence conservation using Kullback-Leibler divergence (relative entropy)
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   This function calculates and graphs the sequence conservation in regions<br />
   around the start/stop codons using Kullback-Leibler divergence (relative<br />
   entropy). In realistic conditions, as background nucleotide composition<br />
   (e.g. G+C content) varies among species. Kullback-Leibler divergence<br />
   calculates the entropy with reduced background noise.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gbaserelativeentropy

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gbaserelativeentropy refseqn:NC_000913
Calculates and graphs the sequence conservation using Kullback-Leibler
divergence (relative entropy)
Program compseq output file (optional) [nc_000913.gbaserelativeentropy]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

   Example 2

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gbaserelativeentropy refseqn:NC_000913 -plot -graph png
Calculates and graphs the sequence conservation using Kullback-Leibler
divergence (relative entropy)
Created gbaserelativeentropy.1.png

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-graph</td>
<td>xygraph</td>
<td>Graph type</td>
<td>EMBOSS has a list of known devices, including ps, hpgl, hp7470, hp7580, meta, cps, x11, tek, tekt, none, data, xterm, png, gif, svg</td>
<td><i>EMBOSS_GRAPHICS</i> value, or x11</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-outfile</td>
<td>outfile</td>
<td>Program compseq output file (optional)</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gbaserelativeentropy</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-position</td>
<td>selection</td>
<td>Either 'start' (around start codon) or 'end' (around stop codon) to create the PWM</td>
<td>Choose from selection list of values</td>
<td>start</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-patlen</td>
<td>integer</td>
<td>Length of oligomer to count</td>
<td>Any integer value</td>
<td>3</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-upstream</td>
<td>integer</td>
<td>Length upstream of specified position to create PWM</td>
<td>Any integer value</td>
<td>30</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-downstream</td>
<td>integer</td>
<td>Length downstream of specified position to create PWM</td>
<td>Any integer value</td>
<td>30</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-plot</td>
<td>toggle</td>
<td>Include to plot result</td>
<td>Toggle value Yes/No</td>
<td>No</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gbaserelativeentropy reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gbaserelativeentropy is to a plain text file or the EMBOSS graphics device.<br />
<br />
   File: nc_000913.gbaserelativeentropy<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
-30,-0.46682<br />
-29,-0.46265<br />
-28,-0.45732<br />
-27,-0.45704<br />
-26,-0.44692<br />
-25,-0.44396<br />
-24,-0.43528<br />
-23,-0.43419<br />
-22,-0.42518<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
21,-0.40010<br />
22,-0.41772<br />
23,-0.42503<br />
24,-0.39675<br />
25,-0.43091<br />
26,-0.43196<br />
27,-0.40576<br />
28,-0.43387<br />
29,-0.41228<br />
30,-0.38869<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gbase_entropy.html">gbase_entropy</a></td>
<td>Calculates and graphs the sequence conservation using Shanon uncertainty (entropy)</td>
</tr></td>
</tr><tr>
<td><a href="gbase_information_content.html">gbase_information_content</a></td>
<td>Calculates and graphs the sequence conservation using information content</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gbasezvalue.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gbasezvalue </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gbasezvalue
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Extracts conserved oligomers per position using Z-score
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   This function calculates and extracts conserved oligomers per position using<br />
   Z-score, in regions around the start/stop codons. The oligomers are returned<br />
   in ranking order up to "-limit" number.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gbasezvalue

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gbasezvalue refseqn:NC_000913
Extracts conserved oligomers per position using Z-score
Program compseq output file (optional) [nc_000913.gbasezvalue]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>



<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Program compseq output file (optional)</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gbasezvalue</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-limit</td>
<td>integer</td>
<td>Rank threshold for showing the conserved oligomer</td>
<td>Any integer value</td>
<td>5</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-position</td>
<td>selection</td>
<td>Either 'start' (around start codon) or 'end' (around stop codon) to create the PWM</td>
<td>Choose from selection list of values</td>
<td>start</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-patlen</td>
<td>integer</td>
<td>Length of oligomer to count</td>
<td>Any integer value</td>
<td>3</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-upstream</td>
<td>integer</td>
<td>Length upstream of specified position to create PWM</td>
<td>Any integer value</td>
<td>30</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-downstream</td>
<td>integer</td>
<td>Length downstream of specified position to create PWM</td>
<td>Any integer value</td>
<td>30</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gbasezvalue reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h3>

<p>
   The output from gbasezvalue is to a plain text file.<br />
<br />
   File: nc_000913.gbasezvalue<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
position:-30,1,taa,-0.76525<br />
2,aga,-0.79101<br />
3,tta,-1.14174<br />
4,cta,-1.18831<br />
5,aat,-1.86652<br />
position:-29,1,cta,-0.18368<br />
2,aat,-0.71851<br />
3,gac,-1.26182<br />
4,taa,-1.39455<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
position:29,1,gct,1.66288<br />
2,act,1.26637<br />
3,tat,0.66721<br />
4,cct,-0.43158<br />
5,tgt,-0.59254<br />
position:30,1,ctg,3.12072<br />
2,att,0.04193<br />
3,ctc,-0.12416<br />
4,cta,-0.38461<br />
5,tta,-0.76413<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gbase_counter.html">gbase_counter</a></td>
<td>Creates a position weight matrix of oligomers around start                  codon</td>
</tr><tr>
<td><a href="gview_cds.html">gview_cds</a></td>
<td>Displays a graph of nucleotide contents around start and stop                  codons</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gbui.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gbui </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gbui
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculates base usage indices for protein-coding sequences
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gbui calculates base usage indices of protein-coding sequences (excluding<br />
   start and stop codons) for each gene. Indices calculated are as follows,<br />
      acgt: Total bumber of bases (A+T+G+C)<br />
      ryr:  Purine/Pyrimidine ratio (A+G)/(T+C)<br />
      gcc:  G+C content (G+C)/(A+T+G+C)<br />
      Hgc:  entropy of G+C content (G+C)/(A+T+G+C)<br />
      gcs:  GC skew (C-G)/(C+G)<br />
      ats:  AT skew (A-T)/(A+T)<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gbui

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gbui refseqn:NC_000913
Calculates base usage indices for protein-coding sequences
Program compseq output file [nc_000913.gbui]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Program compseq output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gbui</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-translate</td>
<td>boolean</td>
<td>Include when translating using standard codon table</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-position</td>
<td>list</td>
<td>Codon position</td>
<td><table><tr><td>all</td> <td><i>(Assess overall base usage of the gene)</i></td></tr><tr><td>1</td> <td><i>(Assess base usage at 1st position of codons)</i></td></tr><tr><td>2</td> <td><i>(Assess base usage at 2nd position of codons)</i></td></tr><tr><td>3</td> <td><i>(Assess base usage at 3rd position of codons)</i></td></tr></table></td>
<td>all</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-delkey</td>
<td>string</td>
<td>Regular expression to delete key</td>
<td>Any string</td>
<td>[^ACDEFGHIKLMNPQRSTVWYacgtU]</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gbui reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gbui is to a plain text file.<br />
<br />
   File: nc_000913.gbui<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
acgt,ryr,gcc,Hgc,gcs,ats,gene<br />
60,0.9355,0.5333,0.9968,+0.3750,+0.3571,thrL<br />
2457,1.0206,0.5311,0.9972,-0.0575,-0.0434,thrA<br />
927,1.0973,0.5653,0.9877,-0.1183,-0.0471,thrB<br />
1281,1.0795,0.5301,0.9974,-0.0692,+0.0033,thrC<br />
291,1.0638,0.5430,0.9947,+0.0506,+0.1278,yaaX<br />
771,1.0615,0.4994,1.0000,-0.0182,+0.0415,yaaA<br />
1425,0.8363,0.5347,0.9965,-0.0315,-0.2278,yaaJ<br />
948,1.1303,0.5222,0.9986,-0.0263,+0.0993,talB<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
507,1.0444,0.5661,0.9874,-0.1080,-0.0909,yjjX<br />
642,1.1472,0.5654,0.9876,-0.0909,+0.0394,ytjC<br />
864,0.9636,0.5347,0.9965,+0.0087,-0.0299,rob<br />
468,1.1273,0.4936,0.9999,-0.1169,+0.0042,creA<br />
684,1.0118,0.5556,0.9911,-0.0579,-0.0592,creB<br />
1419,1.0655,0.5398,0.9954,-0.1018,-0.0505,creC<br />
1347,1.0660,0.4974,1.0000,-0.1433,-0.0783,creD<br />
711,1.0850,0.5134,0.9995,-0.0082,+0.0751,arcA<br />
135,0.8493,0.4370,0.9885,+0.2203,+0.0263,yjjY<br />
681,1.1415,0.5007,1.0000,-0.0792,+0.0529,yjtD<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gdinuc.html">gdinuc</a></td>
<td>Calculates dinucleotide usage</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gcai.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gcai </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gcai
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculate codon adaptation index for each gene
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gcai calculates codon adaptation index (CAI) for each gene. CAI is measure<br />
   a of the relative adaptiveness of the codon usage of a gene towards the<br />
   codon usage of highly expressed genes, ranging from 0 (no bias) to 1<br />
   (maximum bias). CAI can be used as a 'universal' measure of codon usage<br />
   bias as it is correlated with various gene features such as gene expression<br />
   level, GC content, and GC skew.<br />
<br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gcai

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gcai refseqn:NC_000913
Calculate codon adaptation index for each gene
Codon usage output file [nc_000913.gcai]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Codon usage output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gcai</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-translate</td>
<td>boolean</td>
<td>Include when translating using standard codon table</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-wabsent</td>
<td>string</td>
<td>W value of codons absent from a reference set to negative when excludes such codons from the calculation</td>
<td>Any string</td>
<td>-1</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gcai reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gcai is to a plain text file.<br />
<br />
   File: nc_000913.gcai<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
cai,gene<br />
0.7256,thrL<br />
0.4831,thrA<br />
0.4719,thrB<br />
0.5178,thrC<br />
0.4989,yaaX<br />
0.4933,yaaA<br />
0.4533,yaaJ<br />
0.7074,talB<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
0.4681,yjjX<br />
0.4797,ytjC<br />
0.5350,rob<br />
0.4932,creA<br />
0.3918,creB<br />
0.4170,creC<br />
0.4167,creD<br />
0.6466,arcA<br />
0.4236,yjjY<br />
0.3913,yjtD<br />
</td></tr></table>


</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Sharp PM, Li WH. (1987) The codon Adaptation Index--a measure of directional
      synonymous codon usage bias, and its potential applications.
      Nucleic Acids Res. 15(3):1281-95.

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gp2.html">gp2</a></td>
<td>Calculate the P2 index of each gene</td>
</tr><tr>
<td><a href="gphx.html">gphx</a></td>
<td>Identify predicted highly expressed gene</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gcbi.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gcbi </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gcbi
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculates the codon bias index (CBI)
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gcbi calculates the codon bias index (CBI) for each gene af the given<br />
   genome. CBI is a directional codon bias which measures the usage of<br />
   optimal codons in a gene. CBI is similar to Fop, basically taking values<br />
   from0 (no bias) and 1 (maximum bias) and can take negative values<br />
   depending on the codon usage.<br />
<br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gcbi

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gcbi refseqn:NC_000913
Calculates the codon bias index (CBI)
Codon usage output file [nc_000913.gcbi]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Codon usage output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gcbi</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-translate</td>
<td>boolean</td>
<td>Include when translating using standard codon table</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-delkey</td>
<td>string</td>
<td>Regular expression to delete key</td>
<td>Any string</td>
<td>[^ACDEFGHIKLMNPQRSTVWYacgtU]</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gcbi reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gcbi is to a plain text file.<br />
<br />
   File: nc_000913.gcbi<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
cbi,gene<br />
0.8716,thrL<br />
0.3441,thrA<br />
0.3462,thrB<br />
0.4280,thrC<br />
0.3868,yaaX<br />
0.3908,yaaA<br />
0.3521,yaaJ<br />
0.5354,talB<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
0.4005,yjjX<br />
0.4388,ytjC<br />
0.3934,rob<br />
0.4645,creA<br />
0.4266,creB<br />
0.3435,creC<br />
0.3796,creD<br />
0.4980,arcA<br />
0.5412,yjjY<br />
0.4018,yjtD<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Comeron JM, Aguade M. (1998) An evaluation of measures of synonymous codon
      usage bias, J Mol Evol, 47(3):268-74.

   Morton BR (1993) Chloroplast DNA codon use: evidence for selection at the
      psb A locus based on tRNA availability, J.Mol.Evo,. 37:273-280.

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gdeltaenc.html">gdeltaenc</a></td>
<td>Calculate the codon usage bias related to translation optimization (delta ENC)</td>
</tr><tr>
<td><a href="gicdi.html">gicdi</a></td>
<td>Calculates the intrinsic codon deviation index (ICDI)</td>
</tr><tr>
<td><a href="gsvalue.html">gsvalue</a></td>
<td>Calculate the strength of selected codon usage bias (S)</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
   Hidetoshi Itaya (celery@g-language.org)
   Institute for Advanced Biosciences, Keio University
   252-0882 Japan

  Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gcgr.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gcgr </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gcgr
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Create a Chaos Game Representation of a given sequence
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gcgr creates a Chaos Game Representation (CGR) image of a given sequence.
   CGR is generated by the following procedure:<br />
<br />
   1. Start from position (0,0) or the origin of two dimensional coordinate.<br />
   Four nucleotides are located at the four corners:<br />
      A: (-1, 1)  upper left<br />
      T: (1, -1)  lower right<br />
      G: (1, 1)   upper right<br />
      C: (-1, -1) lower left<br />
   2. For each nucleotide, move and mark the new location which is halfway<br />
   between the current location and the nucleotide.<br />
   For example, if the first letter is A, position is moved from (0,0) to<br />
   midpoint between (-1, 1) and (0,0), which is (-0.5, 0.5).<br />
<br />
   3. Repeat this procedure for all nucleotides.<br />
   CGR is a generalized scale-independent Markov probability table for the<br />
   sequence, and oligomer tables can be deduced from CGR image.<br />
<br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gcgr

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gcgr refseqn:NC_000913
Create a Chaos Game Representation of a given sequence
Created gcgr.1.png

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-format</td>
<td>string</td>
<td>Output file format. Dependent on 'convert' command</td>
<td>Any string</td>
<td>png</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-width</td>
<td>integer</td>
<td>Width of image</td>
<td>Any integer value</td>
<td>1024</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-goutfile</td>
<td>string</td>
<td>Output file for non interactive displays</td>
<td>Any string</td>
<td>gcgr</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gcgr reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gcgr is to an image file.
</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gseq2png.html">gseq2png</a></td>
<td>Converts a sequence to PNG image</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gcircularmap.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gcircularmap </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gcircularmap
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Draws circular map of the genome
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gdnawalk creates a circular map of the genome using SVG, suitable for<br />
   plasmids and circular bacterial chromosomes.<br />
   From the outer ring inwards, genes on direct strand (pink), <br />
   genes on complementary strand (yellow), tRNAs (green arrows), <br />
   rRNAs (pink or orange stripes depending on the strand), <br />
   GC content (brown lines), GC skew (yellow lines). Replication <br />
   origin and terminus predicted from the GC skew shift points <br />
   are also labeled. <br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gcircularmap

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gcircularmap refseqn:NC_000913
Draws circular map of the genome
Created gcircularmap.1.svg

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-format</td>
<td>string</td>
<td>Output file format. Dependent on 'convert' command</td>
<td>Any string</td>
<td>svg</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-goutfile</td>
<td>string</td>
<td>Output file for non interactive displays</td>
<td>Any string</td>
<td>gcircularmap</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gcircularmap reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gcircularmap is to an image file.
</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gdnawalk.html">gdnawalk</a></td>
<td>Draws DNA Walk map of the genome</td>
</tr><tr>
<td><a href="ggenomemap3.html">ggenomemap3</a></td>
<td>Draws the map of the genome (version 3)</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gcodoncompiler.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gcodoncompiler </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gcodoncompiler
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculate various kinds of amino acid and codon usage data
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gcodoncompiler calculates various kinds of amino acid and codon usage data.<br />
   The following values are calculable:<br />
      A0: Absolute amino acid frequency<br />
      A1: Relative amino acid frequency<br />
      C0: Absolute codon frequency<br />
      C1: Relative codon frequency in a complete sequence<br />
      C2: Relative codon frequency in each amino acid<br />
      C3: Relative synonymous codon usage<br />
      C4: Relative adaptiveness<br />
      C5: Maximum or minor codon<br />
   For amino acids unpresent in a gene, C2-C3 does not calculate the values.<br />
   By using R* in place, such values are hypothesized that alternative<br />
   synonymous codons are used with equal frequency.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gcodoncompiler

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gcodoncompiler refseqn:NC_000913
Calculate various kinds of amino acid and codon usage data
Codon usage output file [nc_000913.gcodoncompiler]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Codon usage output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gcodoncompiler</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-translate</td>
<td>boolean</td>
<td>Include to translate using standard codon table</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-startcodon</td>
<td>boolean</td>
<td>Include to include start codon</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-stopcodon</td>
<td>boolean</td>
<td>Include to include stop codon</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-delkey</td>
<td>string</td>
<td>Regular expression to delete key (i.e. amino acids and nucleotides)</td>
<td>Any string</td>
<td>[^ACDEFGHIKLMNPQRSTVWYacgtU]</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-data</td>
<td>list</td>
<td>Kinds of codon usage data. R* hypothesizes amino acids which are not present in the gene</td>
<td><table><tr><td>A0</td> <td><i>(Absolute amino acid frequency ('AA'))</i></td></tr><tr><td>A1</td> <td><i>(Relative amino acid frequency ('RAAU'))</i></td></tr><tr><td>C0</td> <td><i>(Absolute codon frequency ('AF'))</i></td></tr><tr><td>C1</td> <td><i>(Relative codon frequency in a complete sequence)</i></td></tr><tr><td>C2</td> <td><i>(Relative codon frequency in each amino acid ('RF'))</i></td></tr><tr><td>C3</td> <td><i>(Relative synonymous codon usage ('RSCU'))</i></td></tr><tr><td>C4</td> <td><i>(Relative adaptiveness)</i></td></tr><tr><td>i.e., ratio to maximum of minor codon ('W') C5</td> <td><i>(Maximum (1) or minor (0) codon)</i></td></tr><tr><td>R0</td> <td><i>(Absolute codon frequency ('AF'))</i></td></tr><tr><td>R1</td> <td><i>(Relative codon frequency in a complete sequence)</i></td></tr><tr><td>R2</td> <td><i>(Relative codon frequency in each amino acid ('RF'))</i></td></tr><tr><td>R3</td> <td><i>(Relative synonymous codon usage ('RSCU'))</i></td></tr><tr><td>R4</td> <td><i>(Relative adaptiveness)</i></td></tr><tr><td>i.e., ratio to maximum of minor codon ('W') R5</td> <td><i>(Maximum (1) or minor (0) codon)</i></td></tr></table></td>
<td>R0</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gcodoncompiler reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gcodoncompiler is to a plain text file.<br />
<br />
   File: nc_000913.gcodoncompiler<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
Agca,Agcc,Agcg,Agct,Ctgc,Ctgt,Dgac,Dgat,Egaa,Egag,Fttc,Fttt,Ggga,Gggc,Gggg,Gggt,Hcac,Hcat,Iata,Iatc,Iatt,Kaaa,Kaag,Lcta,Lctc,Lctg,Lctt,Ltta,Lttg,Matg,Naac,Naat,Pcca,Pccc,Pccg,Pcct,Qcaa,Qcag,Raga,Ragg,Rcga,Rcgc,Rcgg,Rcgt,Sagc,Sagt,Stca,Stcc,Stcg,Stct,Taca,Tacc,Tacg,Tact,Utga,Vgta,Vgtc,Vgtg,Vgtt,Wtgg,Ytac,Ytat,locus_tag<br />
26551,33911,44924,20010,8486,6707,25234,42161,52362,23474,21841,29334,10226,39395,14472,32678,12830,16952,5356,33359,40221,44272,13398,5079,14709,70441,14410,18097,17936,32971,28329,22786,11063,7142,30994,9130,20216,38169,2495,1366,4529,29308,6991,27864,21132,11323,9159,11332,11759,10992,8979,31001,18989,11581,3,14337,20240,34499,24056,20071,16088,21069,<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gaminoinfo.html">gaminoinfo</a></td>
<td>Prints out basic amino acid sequence statistics</td>
</tr><tr>
<td><a href="gaaui.html">gaaui</a></td>
<td>Calculates various indece of amino acid usage</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
   Hidetoshi Itaya (celery@g-language.org)
   Institute for Advanced Biosciences, Keio University
   252-0882 Japan

  Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gconsensusz.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gconsensusz </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gconsensusz
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculate consensus in given array of sequences
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gconsensusz calculates the consensus of given list of sequences, using<br />
   Z-score. The Z-score will show higher values when the sequences are biased<br />
   to a single character within the list.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gconsensusz

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gconsensusz consensus.fasta
Calculate consensus in given array of sequences
Program compseq output file (optional) [rs_000000.gconsensusz]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

   Example 2

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gconsensusz consensus.fasta -plot -graph png
Calculate consensus in given array of sequences
Created gconsensusz.1.png

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-graph</td>
<td>xygraph</td>
<td>Graph type</td>
<td>EMBOSS has a list of known devices, including ps, hpgl, hp7470, hp7580, meta, cps, x11, tek, tekt, none, data, xterm, png, gif, svg</td>
<td><i>EMBOSS_GRAPHICS</i> value, or x11</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-outfile</td>
<td>outfile</td>
<td>Program compseq output file (optional)</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gconsensusz</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-high</td>
<td>integer</td>
<td>Z value greater than which is significant</td>
<td>Any integer value</td>
<td>1</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-low</td>
<td>float</td>
<td>Z value less than which is insignificant</td>
<td>Any numeric value</td>
<td>0.2</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-plot</td>
<td>toggle</td>
<td>Include to plot result</td>
<td>Toggle value Yes/No</td>
<td>No</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gconsensusz reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gconsensusz is to a plain text file or the EMBOSS graphics device.<br />
<br />
   File: rs_000000.gconsensusz<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,4.26701934177052,1.74762197406504,0.487923290212298,3.00732065791778,0.487923290212298,0.487923290212298,0.487923290212298,0.487923290212298,3.00732065791778,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,0.487923290212298,3.00732065791778,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,3.00732065791778,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,3.00732065791778,0.487923290212298,3.00732065791778,1.74762197406504,3.00732065791778,0.487923290212298,1.74762197406504,1.74762197406504,3.00732065791778,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,3.00732065791778,5.52671802562326,3.00732065791778,3.00732065791778,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,3.00732065791778,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,3.00732065791778,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,3.00732065791778,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,3.00732065791778,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,3.00732065791778,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,3.00732065791778,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,3.00732065791778,1.74762197406504,3.00732065791778,1.74762197406504,0.487923290212298,3.00732065791778,3.00732065791778,3.00732065791778,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,3.00732065791778,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,4.26701934177052,0.487923290212298,3.00732065791778,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,3.00732065791778,3.00732065791778,4.26701934177052,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,3.00732065791778,1.74762197406504,3.00732065791778,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,3.00732065791778,3.00732065791778,1.74762197406504,1.74762197406504,1.74762197406504,3.00732065791778,1.74762197406504,3.00732065791778,1.74762197406504,1.74762197406504,1.74762197406504,4.26701934177052,0.487923290212298,3.00732065791778,1.74762197406504,0.487923290212298,1.74762197406504,3.00732065791778,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,3.00732065791778,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,3.00732065791778,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,3.00732065791778,0.487923290212298,0.487923290212298,1.74762197406504,3.00732065791778,0.487923290212298,1.74762197406504,0.487923290212298,3.00732065791778,1.74762197406504,3.00732065791778,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,3.00732065791778,0.487923290212298,3.00732065791778,3.00732065791778,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,0.487923290212298,3.00732065791778,0.487923290212298,3.00732065791778,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,4.26701934177052,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,3.00732065791778,1.74762197406504,4.26701934177052,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,3.00732065791778,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,3.00732065791778,1.74762197406504,1.74762197406504,3.00732065791778,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,5.52671802562326,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,3.00732065791778,1.74762197406504,0.487923290212298,3.00732065791778,1.74762197406504,3.00732065791778,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,3.00732065791778,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,3.00732065791778,0.487923290212298,1.74762197406504,1.74762197406504,3.00732065791778,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gdistincc.html">gdistincc</a></td>
<td>Calculates the distance between two loci in circular chromosomes</td>
</tr><tr>
<td><a href="gpalindrome.html">gpalindrome</a></td>
<td>Searches palindrome sequences</td>
</tr><tr>
<td><a href="gseqinfo.html">gseqinfo</a></td>
<td>Prints out basic nucleotide sequence statistics</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gdeltaenc.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gdeltaenc </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gdeltaenc
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculate the codon usage bias related to translation optimization (delta ENC)
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gdeltaenc calculates the codon usage bias related to translation<br />
   optimization (delta ENC) described in Rocha (2004). The basic idea is to<br />
   calculate the Effective Number of Codons (ENC) for highly-expressed genes<br />
   (ribosomal genes) and weakly-expressed genes (all genes), and taking the<br />
   relative difference between them. ENC assigns a gene a number between 20 to<br />
   61 where 20 indicates that one codon is used for each aminoacid and 61<br />
   indicates that each codon is used equally throughout the protein sequence.<br />
<br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gdeltaenc

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gdeltaenc refseqn:NC_000913
Calculate the codon usage bias related to translation optimization (delta
ENC)
Program compseq output file [nc_000913.gdeltaenc]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Program compseq output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gdeltaenc</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gdeltaenc reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gdeltaenc is to a plain text file.<br />
<br />
   File: nc_000913.gdeltaenc<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913 DELTA-ENC 0.255663430420712<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Rocha EPC (2004) Codon usage bias from tRNA's point of view: Redundancy, 
      specialization, and efficient decoding for translation optimization,
      Genome Research, 14(11):2279-2286

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gcbi.html">gcbi</a></td>
<td>Calculates the codon bias index (CBI)</td>
</tr><tr>
<td><a href="gicdi.html">gicdi</a></td>
<td>Calculates the intrinsic codon deviation index (ICDI)</td>
</tr><tr>
<td><a href="gsvalue.html">gsvalue</a></td>
<td>Calculate the strength of selected codon usage bias (S)</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gdeltagcskew.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gdeltagcskew </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gdeltagcskew
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculate strand bias of bacterial genome using delta GC skew index
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gdeltagcskew calculates strand bias of bacterial genome using delta GC skew<br />
   index, first proposed by Rocha et al. (2001), and further extended in 2006.<br />
   Basic idea of delta GC skew index is to calculate the difference of GC skew<br />
   in coding regions residing in leading and lagging strands. Rocha et al.<br />
   (2001) calculates delta GC skew index using the third codon position of<br />
   genes, and Rocha et al. (2006)  modified to only use >fourfold degenerate<br />
   codons.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gdeltagcskew

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gdeltagcskew refseqn:NC_000913
Calculate strand bias of bacterial genome using delta GC skew index
Program compseq output file [nc_000913.gdeltagcskew]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Program compseq output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gdeltagcskew</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-at</td>
<td>boolean</td>
<td>Include when observing AT skew instead of GC skew</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-purine</td>
<td>boolean</td>
<td>Include when observing purine (AG/TC) skew</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-keto</td>
<td>boolean</td>
<td>Include when observing keto (TG/AC) skew</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-method</td>
<td>selection</td>
<td>Choose the nucleotides to use 'degenerate', 'gc3', or 'all'</td>
<td>Choose from selection list of values</td>
<td>degenerate</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gdeltagcskew reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gdeltagcskew is to a plain text file.<br />
<br />
   File: nc_000913.gdeltagcskew<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913 DELTA-GCskew -0.108937<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Rocha EPC et al. (2001) Ongoing Evolution of Strand Composition in Bacterial
      Genomes, Molecular Biology and Evolution, 18(9):1789-1799

   Rocha EPC et al. (2006) Similar compositional biases are caused by very
      different mutational effects, Genome Research, 16:1537-1547

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gb1.html">gb1</a></td>
<td>Calculate strand bias of bacterial genome using B1 index</td>
</tr><tr>
<td><a href="gb2.html">gb2</a></td>
<td>Calculate strand bias of bacterial genome using B2 index</td>
</tr><tr>
<td><a href="ggcsi.html">ggcsi</a></td>
<td>GC Skew Index: an index for strand-specefic mutational bias</td>
</tr><tr>
<td><a href="gldabias.html">glda_bias</a></td>
<td>Calculate strand bias of bacterial genome using linear discriminant analysis (LDA)</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
   Hidetoshi Itaya (celery@g-language.org)
   Institute for Advanced Biosciences, Keio University
   252-0882 Japan

  Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gdinuc.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gdinuc </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gdinuc
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculates dinucleotide usage
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gdinuc calculates dinucleotide usage indices for protein-coding sequences<br />
   (excluding start and stop codons). Dinucleotide usage is computed as the<br />
   ratio of observed (O) to expected (E) dinucleotide frequencies within the<br />
   given sequence. Dinucleotides are known to have consistent patterns within<br />
   the genome (signatures) and tend to have certain periodicities.<br />
<br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gdinuc

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gdinuc refseqn:NC_000913
Calculates dinucleotide usage
Program compseq output file [nc_000913.gdinuc]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Program compseq output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gdinuc</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-translate</td>
<td>boolean</td>
<td>Include when translates using standard codon table</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-position</td>
<td>list</td>
<td>Codon position or reading frame</td>
<td><table><tr><td>all</td> <td><i>(Assess all codon positions)</i></td></tr><tr><td>12</td> <td><i>(Assess the reading frame 1-2)</i></td></tr><tr><td>23</td> <td><i>(Assess the reading frame 2-3)</i></td></tr><tr><td>31</td> <td><i>(Assess the reading frame 3-1)</i></td></tr></table></td>
<td>all</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-delkey</td>
<td>string</td>
<td>Regular expression to delete key (i.e. amino acids and nucleotides)</td>
<td>Any string</td>
<td>[^ACDEFGHIKLMNPQRSTVWYacgtU]</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gdinuc reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gdinuc is to a plain text file.<br />
<br />
   File: nc_000913.gdinuc<br />
<br />
Sequence: NC_000913<br />
<br />?<table width="90%"><tr><td bgcolor="#CCFFCC">
keys,aa,ac,ag,at,ca,cc,cg,ct,ga,gc,gg,gt,ta,tc,tg,tt,gene,<br />
All,1.293,0.921,0.720,1.108,1.022,0.868,1.166,0.925,0.958,1.285,0.897,0.867,0.729,0.891,1.228,1.123,<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Yew et al. (2004) Base usage and dinucleotide frequency of infectious
      bursal disease virus, Virus Genes, 28:1,41-53.

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gbui.html">gbui</a></td>
<td>Calculates base usage indices for protein-coding sequences</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gdistincc.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gdistincc </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gdistincc
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculates the distance between two loci in circular chromosomes
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gdistincc calculates the distance between two loci in circular<br />
   chromosomes. It is mostly useful to calculate the distance from the<br />
   replication origin.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gdistincc

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gdistincc refseqn:NC_000913 1234
Calculates the distance between two loci in circular chromosomes
Output file [nc_000913.gdistincc]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-first]<br>(Parameter 2)</td>
<td>integer</td>
<td>Position to find the distance</td>
<td>Any integer value</td>
<td>0</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 3)</td>
<td>outfile</td>
<td>Output file name</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gdistincc</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-second</td>
<td>integer</td>
<td>If the second position is negative, position of replication origin is used</td>
<td>Any integer value</td>
<td>-1</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gdistincc reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gdistincc is to a plain text file.<br />
<br />
   File: nc_000913.gdistincc<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913 Position1: 1234 Distance 1169193600<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gconsensusz.html">gconsensusz</a></td>
<td>Calculate consensus in given array of sequences</td>
</tr><tr>
<td><a href="gpalindrome.html">gpalindrome</a></td>
<td>Searches palindrome sequences</td>
</tr><tr>
<td><a href="gseqinfo.html">gseqinfo</a></td>
<td>Prints out basic nucleotide sequence statistics</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gdnawalk.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gdnawalk </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gdnawalk
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Draws DNA Walk map of the genome
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gdnawalk draws the DNA Walk map of the given genome. DNA Walk is drawn by<br />
   moving a single pixel per nucleotide, in the direction specified for each<br />
   base. Here A is moved upward, T downward, G to the right, and C to the<br />
   left. Position zero (first letter of the genome) is indicated by the<br />
   crossing of thin axes.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gdnawalk

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gdnawalk refseqn:NC_000913
Draws DNA Walk map of the genome
Created gdnawalk.1.png

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-format</td>
<td>string</td>
<td>Output file format. Dependent on 'convert' command</td>
<td>Any string</td>
<td>png</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-goutfile</td>
<td>string</td>
<td>Output file for non interactive displays</td>
<td>Any string</td>
<td>gdnawalk</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gdnawalk reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gdnawalk is to an image file.<br />
</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gcircularmap.html">gcircularmap</a></td>
<td>Draws circular map of the genome</td>
</tr><tr>
<td><a href="ggenomemap3.html">ggenomemap3</a></td>
<td>Draws the map of the genome (version 3)</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/genc.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: genc </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
genc
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculate the effective number of codons (Nc)
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   genc calculates the effective number of codons (ENC|Nc). ENC is a measure<br />
   for species-independent codon usage bias. Some measures including CAI are<br />
   species-dependent as optimal codons differ. ENC assigns a gene a number<br />
   between 20 to 61 where 20 indicates that one codon is used for each amino<br />
   acid and 61 indicates that each codon is used equally throughout the<br />
   protein sequence.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with genc

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% genc refseqn:NC_000913
Calculate the effective number of codons (Nc)
Codon usage output file [nc_000913.genc]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Codon usage output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.genc</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-translate</td>
<td>boolean</td>
<td>Include when translates using standard codon table</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-delkey</td>
<td>string</td>
<td>Regular expression to delete key (i.e. amino acids and nucleotides)</td>
<td>Any string</td>
<td>[^ACDEFGHIKLMNPQRSTVWYacgtU]</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   genc reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from genc is to a plain text file.<br />
<br />
   File: nc_000913.genc<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
enc,gene<br />
,thrL<br />
48.41,thrA<br />
54.13,thrB<br />
46.18,thrC<br />
51.65,yaaX<br />
45.71,yaaA<br />
48.54,yaaJ<br />
36.83,talB<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
51.43,yjjX<br />
46.61,ytjC<br />
49.83,rob<br />
47.74,creA<br />
50.63,creB<br />
51.39,creC<br />
48.42,creD<br />
41.53,arcA<br />
61,yjjY<br />
53.63,yjtD<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Comeron JM, Aguade M. (1998) An evaluation of measures of synonymous codon
      usage bias, J Mol Evol, 47(3):268-74.

   Wright F. (1990) The 'effective number of codons' used in a gene, Gene,
      87:23-29.

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gew.html">gew</a></td>
<td>Calculate a measure of synonymous codon usage evenness (Ew)</td>
</tr><tr>
<td><a href="gfop.html">gfop</a></td>
<td>Calculate the frequency of optimal codons (Fop)</td>
</tr><tr>
<td><a href="gscs.html">gscs</a></td>
<td>Calculates the scaled chi-square</td>
</tr><tr>
<td><a href="gwvalue.html">gwvalue</a></td>
<td>Calculate the 'relative adaptiveness of each codon' (W)</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
   Hidetoshi Itaya (celery@g-language.org)
   Institute for Advanced Biosciences, Keio University
   252-0882 Japan

  Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/genret.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+  <head>
+    <title>EMBOSS: genret manual</title>
+    <link rel='stylesheet' type='text/css' href='/gembassy/emboss_explorer/style/emboss.css' />
+    
+  </head>
+  <body>
+    <div id='manual'>
+      <!-- tfm output starts here -->
+      



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
genret
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Retrieves various gene related information from genome flatfile
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   genret reads in one or more genome flatfiles and retrieves various data from<br />
   the input file. It is a wrapper program to the G-language REST service,<br />
   where a method is specified by giving a string to the "method" qualifier. By<br />
   default, genret will parse the input file to retrieve the accession ID<br />
   (or name) of the genome to query G-language REST service. By setting the<br />
   "accid" qualifier to false (or 0), genret will instead parse the sequence<br />
   and features of the genome to create a GenBank formatted flatfile and upload<br />
   the file to the G-language web server. Using the file uploaded, genret will<br />
   execute the method provided.<br />
<br />
   genret is able to perform a variety of tasks, incluing the retrieval of<br />
   sequence upstream, downstream, or around the start or stop codon,<br />
   translated gene sequences search of gene data by keyword.<br />
<br />
   Details on G-language REST service is available from the wiki page<br />
<br />
   http://www.g-language.org/wiki/rest<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with genret<br><br>

Retrieving sequences upstream, downstream, or around the start/stop codons.
The following example shows the retrieval of sequence around the start
codons of all genes.<br><br>

Genes to access are specified by regular expression. '*' stands for every
gene.<br><br>

Available methods are:<br>
   after_startcodon<br>
   after_stopcodon<br>
   around_startcodon<br>
   around_stopcodon<br>
   before_startcodon<br>
   before_stopcodon<br><br>

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% genret
Retrieves various gene related information from genome flatfile
Input nucleotide sequence(s): refseqn:NC_000913
Gene name(s) to lookup [*]:
Feature to access: around_startcodon
Full text output file [nc_000913.around_startcodon]:

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

Example 2<br><br>

Using flat text as target genes. The names can be split with with a space, comma, or vertical bar.<br><br>

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% genret
Retrieves various gene related information from genome flatfile
Input nucleotide sequence(s): refseqn:NC_000913
List of gene name(s) to report [*]: recA,recB
Name of gene feature to access: translation
Sequence output file [nc_000913.translation.genret]: stdout
>recA
MAIDENKQKALAAALGQIEKQFGKGSIMRLGEDRSMDVETISTGSLSLDIALGAGGLPMGR
IVEIYGPESSGKTTLTLQVIAAAQREGKTCAFIDAEHALDPIYARKLGVDIDNLLCSQPDT
GEQALEICDALARSGAVDVIVVDSVAALTPKAEIEGEIGDSHMGLAARMMSQAMRKLAGNL
KQSNTLLIFINQIRMKIGVMFGNPETTTGGNALKFYASVRLDIRRIGAVKEGENVVGSETR
VKVVKNKIAAPFKQAEFQILYGEGINFYGELVDLGVKEKLIEKAGAWYSYKGEKIGQGKAN
ATAWLKDNPETAKEIEKKVRELLLSNPNSTPDFSVDDSEGVAETNEDF
>recB
MSDVAETLDPLRLPLQGERLIEASAGTGKTFTIAALYLRLLLGLGGSAAFPRPLTVEELLV
VTFTEAATAELRGRIRSNIHELRIACLRETTDNPLYERLLEEIDDKAQAAQWLLLAERQMD
EAAVFTIHGFCQRMLNLNAFESGMLFEQQLIEDESLLRYQACADFWRRHCYPLPREIAQVV
FETWKGPQALLRDINRYLQGEAPVIKAPPPDDETLASRHAQIVARIDTVKQQWRDAVGELD
ALIESSGIDRRKFNRSNQAKWIDKISAWAEEETNSYQLPESLEKFSQRFLEDRTKAGGETP
RHPLFEAIDQLLAEPLSIRDLVITRALAEIRETVAREKRRRGELGFDDMLSRLDSALRSES
GEVLAAAIRTRFPVAMIDEFQDTDPQQYRIFRRIWHHQPETALLLIGDPKQAIYAFRGADI
FTYMKARSEVHAHYTLDTNWRSAPGMVNSVNKLFSQTDDAFMFREIPFIPVKSAGKNQALR
FVFKGETQPAMKMWLMEGESCGVGDYQSTMAQVCAAQIRDWLQAGQRGEALLMNGDDARPV
RASDISVLVRSRQEAAQVRDALTLLEIPSVYLSNRDSVFETLEAQEMLWLLQAVMTPEREN
TLRSALATSMMGLNALDIETLNNDEHAWDVVVEEFDGYRQIWRKRGVMPMLRALMSARNIA
ENLLATAGGERRLTDILHISELLQEAGTQLESEHALVRWLSQHILEPDSNASSQQMRLESD
KHLVQIVTIHKSKGLEYPLVWLPFITNFRVQEQAFYHDRHSFEAVLDLNAAPESVDLAEAE
RLAEDLRLLYVALTRSVWHCSLGVAPLVRRRGDKKGDTDVHQSALGRLLQKGEPQDAAGLR
TCIEALCDDDIAWQTAQTGDNQPWQVNDVSTAELNAKTLQRLPGDNWRVTSYSGLQQRGHG
IAQDLMPRLDVDAAGVASVVEEPTLTPHQFPRGASPGTFLHSLFEDLDFTQPVDPNWVREK
LELGGFESQWEPVLTEWITAVLQAPLNETGVSLSQLSARNKQVEMEFYLPISEPLIASQLD
TLIRQFDPLSAGCPPLEFMQVRGMLKGFIDLVFRHEGRYYLLDYKSNWLGEDSSAYTQQAM
AAAMQAHRYDLQYQLYTLALHRYLRHRIADYDYEHHFGGVIYLFLRGVDKEHPQQGIYTTR
PNAGLIALMDEMFAGMTLEEA

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

Example 3<br><br>

Using a file with a list of gene names.
The following example will retrieve the strand direction for each gene
listed in the "gene_list.txt" file. String prefixed with an "@" or "list::"
will be interpreted as file names.<br><br>

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% genret
Retrieves various gene features from genome flatfile
Input nucleotide sequence(s): refseqn:NC_000913
List of gene name(s) to report [*]: @gene_list.txt
Name of gene feature to access: direction
Full text output file [nc_000913.direction]: stdout
gene,direction
thrA,direct
thrB,direct
thrC,direct

</pre></td></tr></table>

Example 4<br><br>

Retrieving translations of coding sequences.<br>
The following example will retrieve the translated protein sequence of
the "recA" gene.<br><br>

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% genret
Retrieves various gene related information from genome flatfile
Input nucleotide sequence(s): refseqn:NC_000913
Gene name(s) to lookup [*]: recA
Feature to access: translation
Full text output file [nc_000913.translation]: stdout
>recA
MAIDENKQKALAAALGQIEKQFGKGSIMRLGEDRSMDVETISTGSLSLDIALGAGGLPMGR
IVEIYGPESSGKTTLTLQVIAAAQREGKTCAFIDAEHALDPIYARKLGVDIDNLLCSQPDT
GEQALEICDALARSGAVDVIVVDSVAALTPKAEIEGEIGDSHMGLAARMMSQAMRKLAGNL
KQSNTLLIFINQIRMKIGVMFGNPETTTGGNALKFYASVRLDIRRIGAVKEGENVVGSETR
VKVVKNKIAAPFKQAEFQILYGEGINFYGELVDLGVKEKLIEKAGAWYSYKGEKIGQGKAN
ATAWLKDNPETAKEIEKKVRELLLSNPNSTPDFSVDDSEGVAETNEDF

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

Example 5<br><br>

Retrieving feature information of the genes.<br>
The following example will retrieve the start positions for each gene.
The values for the keys in GenBank format is available for retrieval.
(ex. start end direction GO* etc.)<br>
Positions will be returned with a 1 start value.<br><br>

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% genret
Retrieves various gene related information from genome flatfile
Input nucleotide sequence(s): refseqn:NC_000913
Gene name(s) to lookup [*]:
Feature to access: start
Full text output file [nc_000913.start]:

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

Example 6<br><br>

Passing extra arguments to the methods.<br>
The following example shows the retrieval of 30 base pairs around the
start codon of the "recA" gene. By default, the "around_startcodon" method
returns 200 base pairs around the start codon. Using the "-argument"
qualifier allows the user to change this value.<br><br>

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% genret refseqn:NC_000913 recA around_startcodon -argument 30,30 stdout
Retrieves various gene features from genome flatfile
>recA
ccggtattacccggcatgacaggagtaaaaatggctatcgacgaaaacaaacagaaagcgt
tg

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

Example 7<br><br>

Re-annotating a flatfile.
genret supports re-annotation of a genome flatfile via Restauro-G
service developed by our team.
The original software is available at [<a href="http://restauro-g.iab.keio.ac.jp/">http://restauro-g.iab.keio.ac.jp</a>].<br><br>

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% genret refseqn:NC_000913 '*' annotate nc_000913-annotate.gbk
Retrieves various gene features from genome flatfile

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-gene]<br>(Parameter 2)</td>
<td>string</td>
<td>List of gene name(s) to report</td>
<td>Any string</td>
<td>*</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-access]<br>(Parameter 3)</td>
<td>string</td>
<td>Name of gene feature to access</td>
<td>Any word</td>
<td>&nbsp;</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 4)</td>
<td>outfile</td>
<td>Sequence output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.genret</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-argument</td>
<td>string</td>
<td>Extra arguments to pass to method</td>
<td>Any string</td>
<td>&nbsp;</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   Database definitions for the examples are included in the embossrc_template<br />
   file of the Keio Bioinformatcs Web Service (KBWS) package.<br />
<br />
   Input files for usage example 4<br />
<br />
   File: gene_list.txt<br />
<br />
thrA<br />
thrB<br />
thrC<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   Output files for usage example 1<br />
<br />
   File: nc_000913.around_startcodon<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
>thrL<br />
cgtgagtaaattaaaattttattgacttaggtcactaaatactttaaccaatataggcata<br />
gcgcacagacagataaaaattacagagtacacaacatccatgaaacgcattagcaccacca<br />
ttaccaccaccatcaccattaccacaggtaacggtgcgggctgacgcgtacaggaaacaca<br />
gaaaaaagcccgcacctgac<br />
>thrA<br />
aggtaacggtgcgggctgacgcgtacaggaaacacagaaaaaagcccgcacctgacagtgc<br />
gggctttttttttcgaccaaaggtaacgaggtaacaaccatgcgagtgttgaagttcggcg<br />
gtacatcagtggcaaatgcagaacgttttctgcgtgttgccgatattctggaaagcaatgc<br />
caggcaggggcaggtggcca<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
>yjjY<br />
tgcatgtttgctacctaaattgccaactaaatcgaaacaggaagtacaaaagtccctgacc<br />
tgcctgatgcatgctgcaaattaacatgatcggcgtaacatgactaaagtacgtaattgcg<br />
ttcttgatgcactttccatcaacgtcaacaacatcattagcttggtcgtgggtactttccc<br />
tcaggacccgacagtgtcaa<br />
>yjtD<br />
tttttctgcgacttacgttaagaatttgtaaattcgcaccgcgtaataagttgacagtgat<br />
cacccggttcgcggttatttgatcaagaagagtggcaatatgcgtataacgattattctgg<br />
tcgcacccgccagagcagaaaatattggggcagcggcgcgggcaatgaaaacgatggggtt<br />
tagcgatctgcggattgtcg<br />
</td></tr></table>
<br />
   Output files for usage example 3<br />
<br />
   File: nc_000913.start<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
gene,start<br />
thrL,190<br />
thrA,337<br />
thrB,2801<br />
thrC,3734<br />
yaaX,5234<br />
yaaA,5683<br />
yaaJ,6529<br />
talB,8238<br />
mog,9306<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
yjjX,4631256<br />
ytjC,4631820<br />
rob,4632464<br />
creA,4633544<br />
creB,4634030<br />
creC,4634719<br />
creD,4636201<br />
arcA,4637613<br />
yjjY,4638425<br />
yjtD,4638965<br />
</td></tr></table><br />

   Output files for usage example 7<br />
<br />
   File: ecoli-annotate.gbk<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
LOCUS       NC_000913            4639675 bp    DNA     circular BCT 25-OCT-2010<br />
DEFINITION  Escherichia coli str. K-12 substr. MG1655 chromosome, complete<br />
            genome.<br />
ACCESSION   NC_000913<br />
VERSION     NC_000913.2  GI:49175990<br />
DBLINK      Project: 57779<br />
KEYWORDS    .<br />
SOURCE      Escherichia coli str. K-12 substr. MG1655<br />
  ORGANISM  Escherichia coli str. K-12 substr. MG1655<br />
            Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales;<br />
<br />
<font color="red">[Part of this file has been deleted for brevity]</font><br />
<br />
     CDS             2801..3733<br />
                     /EC_number="2.7.1.39"<br />
                     /codon_start="1"<br />
                     /db_xref="GI:16127997"<br />
                     /db_xref="ASAP:ABE-0000010"<br />
                     /db_xref="UniProtKB/Swiss-Prot:P00547"<br />
                     /db_xref="ECOCYC:EG10999"<br />
                     /db_xref="EcoGene:EG10999"<br />
                     /db_xref="GeneID:947498"<br />
                     /function="enzyme; Amino acid biosynthesis: Threonine"<br />
                     /function="1.5.1.8 metabolism; building block<br />
                     biosynthesis; amino acids; threonine"<br />
                     /function="7.1 location of gene products; cytoplasm"<br />
                     /gene="thrB"<br />
                     /gene_synonym="ECK0003; JW0002"<br />
                     /locus_tag="b0003"<br />
                     /note="GO_component: GO:0005737 - cytoplasm; GO_process:<br />
                     GO:0009088 - threonine biosynthetic process"<br />
                     /product="homoserine kinase"<br />
                     /protein_id="NP_414544.1"<br />
                     /rs_com="FUNCTION: Catalyzes the ATP-dependent<br />
                     phosphorylation of L- homoserine to L-homoserine<br />
                     phosphate (By similarity)."<br />
                     /rs_com="CATALYTIC ACTIVITY: ATP + L-homoserine = ADP +<br />
                     O-phospho-L- homoserine."<br />
                     /rs_com="PATHWAY: Amino-acid biosynthesis; L-threonine<br />
                     biosynthesis; L- threonine from L-aspartate: step 4/5."<br />
                     /rs_com="SUBCELLULAR LOCATION: Cytoplasm (Potential)."<br />
                     /rs_com="SIMILARITY: Belongs to the GHMP kinase family.<br />
                     Homoserine kinase subfamily."<br />
                     /rs_des="RecName: Full=Homoserine kinase; Short=HK;<br />
                     Short=HSK; EC=2.7.1.39;"<br />
                     /rs_protein="Level 1: similar to KHSE_ECODH 1.7e-180"<br />
                     /rs_xr="EMBL; CP000948; ACB01208.1; -; Genomic_DNA."<br />
                     /rs_xr="RefSeq; YP_001728986.1; -."<br />
                     /rs_xr="ProteinModelPortal; B1XBC8; -."<br />
                     /rs_xr="SMR; B1XBC8; 2-308."<br />
                     /rs_xr="EnsemblBacteria; EBESCT00000012034;<br />
                     EBESCP00000011562; EBESCG00000011096."<br />
                     /rs_xr="GeneID; 6058639; -."<br />
                     /rs_xr="GenomeReviews; CP000948_GR; ECDH10B_0003."<br />
                     /rs_xr="KEGG; ecd:ECDH10B_0003; -."<br />
                     /rs_xr="HOGENOM; HBG646290; -."<br />
                     /rs_xr="OMA; GSAHADN; -."<br />
                     /rs_xr="ProtClustDB; PRK01212; -."<br />
                     /rs_xr="BioCyc; ECOL316385:ECDH10B_0003-MONOMER; -."<br />
                     /rs_xr="GO; GO:0005737; C:cytoplasm;<br />
                     IEA:UniProtKB-SubCell."<br />
                     /rs_xr="GO; GO:0005524; F:ATP binding; IEA:UniProtKB-KW."<br />
                     /rs_xr="GO; GO:0004413; F:homoserine kinase activity;<br />
                     IEA:EC."<br />
                     /rs_xr="GO; GO:0009088; P:threonine biosynthetic process;<br />
                     IEA:UniProtKB-KW."<br />
                     /rs_xr="HAMAP; MF_00384; Homoser_kinase; 1; -."<br />
                     /rs_xr="InterPro; IPR006204; GHMP_kinase."<br />
                     /rs_xr="InterPro; IPR013750; GHMP_kinase_C."<br />
                     /rs_xr="InterPro; IPR006203; GHMP_knse_ATP-bd_CS."<br />
                     /rs_xr="InterPro; IPR000870; Homoserine_kin."<br />
                     /rs_xr="InterPro; IPR020568; Ribosomal_S5_D2-typ_fold."<br />
                     /rs_xr="InterPro; IPR014721;<br />
                     Ribosomal_S5_D2-typ_fold_subgr."<br />
                     /rs_xr="Gene3D; G3DSA:3.30.230.10;<br />
                     Ribosomal_S5_D2-type_fold; 1."<br />
                     /rs_xr="Pfam; PF08544; GHMP_kinases_C; 1."<br />
                     /rs_xr="Pfam; PF00288; GHMP_kinases_N; 1."<br />
                     /rs_xr="PIRSF; PIRSF000676; Homoser_kin; 1."<br />
                     /rs_xr="PRINTS; PR00958; HOMSERKINASE."<br />
                     /rs_xr="SUPFAM; SSF54211; Ribosomal_S5_D2-typ_fold; 1."<br />
                     /rs_xr="TIGRFAMs; TIGR00191; thrB; 1."<br />
                     /rs_xr="PROSITE; PS00627; GHMP_KINASES_ATP; 1."<br />
                     /transl_table="11"<br />
                     /translation="MVKVYAPASSANMSVGFDVLGAAVTPVDGALLGDVVTVEAAETF<br />
                     SLNNLGRFADKLPSEPRENIVYQCWERFCQELGKQIPVAMTLEKNMPIGSGLGSSACS<br />
                     VVAALMAMNEHCGKPLNDTRLLALMGELEGRISGSIHYDNVAPCFLGGMQLMIEENDI<br />
                     ISQQVPGFDEWLWVLAYPGIKVSTAEARAILPAQYRRQDCIAHGRHLAGFIHACYSRQ<br />
                     PELAAKLMKDVIAEPYRERLLPGFRQARQAVAEIGAVASGISGSGPTLFALCDKPETA<br />
                     QRVADWLGKNYLQNQEGFVHICRLDTAGARVLEN"<br />
<br />
<font color="red">[Part of this file has been deleted for brevity]</font><br />
<br />
  4639201 gcgcagtcgg gcgaaatatc attactacgc cacgccagtt gaactggtgc cgctgttaga<br />
  4639261 ggaaaaatct tcatggatga gccatgccgc gctggtgttt ggtcgcgaag attccgggtt<br />
  4639321 gactaacgaa gagttagcgt tggctgacgt tcttactggt gtgccgatgg tggcggatta<br />
  4639381 tccttcgctc aatctggggc aggcggtgat ggtctattgc tatcaattag caacattaat<br />
  4639441 acaacaaccg gcgaaaagtg atgcaacggc agaccaacat caactgcaag ctttacgcga<br />
  4639501 acgagccatg acattgctga cgactctggc agtggcagat gacataaaac tggtcgactg<br />
  4639561 gttacaacaa cgcctggggc ttttagagca acgagacacg gcaatgttgc accgtttgct<br />
  4639621 gcatgatatt gaaaaaaata tcaccaaata aaaaacgcct tagtaagtat ttttc<br />
//<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="entret">entret</a></td>
<td>Retrieve sequence entries from flatfile databases and files</td>
</tr><tr>
<td><a href="seqret">seqret</a></td>
<td>Read and write (return) sequences</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.


</HTML>
+
+      <!-- tfm output ends here -->
+    </div>
+  </body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gentrez.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gentrez </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gentrez
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Search NCBI Entrez
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gentrez searches NCBI Entrez with keyword through EUtilities. <br />
   This is intended for quick lookup through the command line<br />
   so only top ten hits are reported.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gentrez

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gentrez genome 'Escherichia coli'
Search NCBI Entrez
ASCII text output file [genome.Escherichia coli.gentrez]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-database]<br>(Parameter 1)</td>
<td>string</td>
<td>NCBI database to search</td>
<td>Any string</td>
<td>pubmed</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-query]<br>(Parameter 2)</td>
<td>string</td>
<td>Query to search</td>
<td>Any string</td>
<td>&nbsp;</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 3)</td>
<td>outfile</td>
<td>ASCII text output file</td>
<td>Output file</td>
<td>$(database).$(query).gentrez</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gentrez reads no file input.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gentrez is to a plain text file.<br />
<br />
   File: genome.Escherichia coli.gentrez<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
    53 entries found in NUCLEOTIDE: (Showing up to 10 hits)<br />
<br />
     1. Accession Number:   NZ_AKBV01000001<br />
        Escherichia coli str. K-12 substr. MG1655 strain K-12 cont1.1 chromosome, whole genome shotgun sequence, complete genome<br />
<br />
     2. Accession Number:   NC_018658<br />
        Escherichia coli O104:H4 str. 2011C-3493 chromosome, complete genome<br />
<br />
     3. Accession Number:   NC_012971<br />
        Escherichia coli BL21(DE3) chromosome, complete genome<br />
<br />
     4. Accession Number:   NC_017635<br />
        Escherichia coli W chromosome, complete genome<br />
<br />
     5. Accession Number:   NC_018650<br />
        Escherichia coli O104:H4 str. 2009EL-2050 chromosome, complete genome<br />
<br />
     6. Accession Number:   NC_018661<br />
        Escherichia coli O104:H4 str. 2009EL-2071 chromosome, complete genome<br />
<br />
     7. Accession Number:   NC_017906<br />
        Escherichia coli Xuzhou21 chromosome, complete genome<br />
<br />
     8. Accession Number:   NC_017634<br />
        Escherichia coli O83:H1 str. NRG 857C chromosome, complete genome<br />
<br />
     9. Accession Number:   NC_017656<br />
        Escherichia coli O55:H7 str. RM12579 chromosome, complete genome<br />
<br />
    10. Accession Number:   NC_017664<br />
        Escherichia coli W chromosome, complete genome<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>



</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gew.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gew </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gew
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculate a measure of synonymous codon usage evenness (Ew)
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gew calculates the 'weighted sum of relative entropy' (Ew) as a measure
<br />
   of synonymous codon usage evenness for each gene. This index takes all
<br />
   three aspects of amino acid usage (number of distinct amino acids,
<br />
   relatieve frequencies, and degree of codon degeneracy) into account.<br />
   The values range from 0 (no bias) to 1 (maximum bias).<br />
<br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gew

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gew refseqn:NC_000913
Calculate a measure of synonymous codon usage evenness (Ew)
Codon usage output file [nc_000913.gew]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Codon usage output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gew</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-translate</td>
<td>boolean</td>
<td>Include when translates using standard codon table</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-delkey</td>
<td>string</td>
<td>Regular expression to delete key (i.e. amino acids and nucleotides)</td>
<td>Any string</td>
<td>[^ACDEFGHIKLMNPQRSTVWYacgtU]</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gew reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gew is to a plain text file.<br />
<br />
   File: nc_000913.gew<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
Ew,gene<br />
0.2800,thrL<br />
0.8458,thrA<br />
0.8292,thrB<br />
0.7937,thrC<br />
0.7032,yaaX<br />
0.7922,yaaA<br />
0.8100,yaaJ<br />
0.6685,talB<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
0.7943,yjjX<br />
0.7265,ytjC<br />
0.7932,rob<br />
0.7498,creA<br />
0.7967,creB<br />
0.8490,creC<br />
0.7979,creD<br />
0.6826,arcA<br />
0.6475,yjjY<br />
0.7729,yjtD<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Suzuki H. et al. (2004) The 'weighted sum of relative entropy': a new
      index for synonymous codon usage bias, Gene, 23;335:19-23.

   Suzuki H. et al. (2007) Variation in the correlation of G + C composition
      with synonymous codon usage bias among bacteria, EURASIP J Bioinform
      Syst Biol, 2007:61374.

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="genc.html">genc</a></td>
<td>Calculate the effective number of codons (Nc)</td>
</tr><tr>
<td><a href="gfop.html">gfop</a></td>
<td>Calculate the frequency of optimal codons (Fop)</td>
</tr><tr>
<td><a href="gscs.html">gscs</a></td>
<td>Calculates the scaled chi-square</td>
</tr><tr>
<td><a href="gwvalue.html">gwvalue</a></td>
<td>Calculate the 'relative adaptiveness of each codon' (W)</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gfindoriter.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gfindoriter </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gfindoriter
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Predict the replication origin and terminus in bacterial genomes
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gfindoriter predicts the replicational origin and terminus in circular<br />
   bacterial genomes, by taking the vertices of cumulative skew graphs (GC,<br />
   d keto, or purine). See Frank and Lobry (2000) for the basic idea behind<br />
   this algorithm (but also note that this algorithm is different from that<br />
   of Oriloc, which uses GC3 of genes). <br />
   Terminus of replication can be more accurate by using noise-reduction <br />
   filtering using Fourier spectrum of the GC skew. This low-pass filtering<br />
   can be applied using -filter option. See Arakawa et al. (2007) for details.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gfindoriter

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gfindoriter refseqn:NC_000913
Predict the replication origin and terminus in bacterial genomes
Output file [nc_000913.gfindoriter]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Output file name</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gfindoriter</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-window</td>
<td>integer</td>
<td>Number of windows to use for Fat Fourier Transform. Only active when -lowpass option is specified. Value must be the power of two</td>
<td>Any integer value</td>
<td>4096</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-purine</td>
<td>boolean</td>
<td>Use purine skew for calculation</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-keto</td>
<td>boolean</td>
<td>Use keto skew for calculation</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-lowpass</td>
<td>integer</td>
<td>Lowpass filter strength in percent. Typically 95 or 99 works best</td>
<td>Any integer value</td>
<td>0</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gfindoriter reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gfindoriter is to a plain text file.<br />
<br />
   File: nc_000913.gfindoriter<br />
<br />?<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913 Origin: 3922946 Terminus: 1550274<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Frank AC, Lobry JR (2000) Oriloc: prediction of replication boundaries in
      unannotated bacterial chromosomes, Bioinformatics, 16:566-567.

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="greporiter.html">greporiter</a></td>
<td>Gets the positions of replication origin and terminus</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scripts.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gfop.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gfop </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gfop
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculate the frequency of optimal codons (Fop)
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gfop calculates the frequency of optimal codons (Fop).Fop is an index to
<br />
   show the optimization level of synonymous codon usage choice. It is<br />
   basically a ratio of optimal codons against all codons used. The value<br />
   of Fop ranges from 0 (no optimal codons are used) and 1 (only optimal<br />
   codons are used).<br />
<br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gfop

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gfop refseqn:NC_000913
Calculate the frequency of optimal codons (Fop)
Codon usage output file [nc_000913.gfop]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Codon usage output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gfop</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-translate</td>
<td>boolean</td>
<td>Include when translates using standard codon table</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gfop reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gfop is to a plain text file.<br />
<br />
   File: nc_000913.gfop<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
Laa,Lc,fop,gene<br />
20,5,0.4000,thrL<br />
819,133,0.4361,thrA<br />
309,46,0.4783,thrB<br />
427,69,0.5217,thrC<br />
97,7,0.2857,yaaX<br />
257,56,0.4643,yaaA<br />
475,96,0.3958,yaaJ<br />
316,56,0.6964,talB<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
169,27,0.2593,yjjX<br />
214,23,0.5652,ytjC<br />
288,49,0.4082,rob<br />
156,23,0.3478,creA<br />
228,26,0.3462,creB<br />
473,69,0.3478,creC<br />
449,70,0.3286,creD<br />
237,46,0.6957,arcA<br />
45,10,0.7000,yjjY<br />
227,24,0.2500,yjtD<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Ikemura, T. (1981) Correlation between the abundance of Escherichia coli
      transfer RNAs and the occurrence of the respective codons in its protein
      genes: a proposal for a synonymous codon choice that is optimal for the
      E. coli translational system, J.Mol.Biol, 151:389-409.

   Ikemura (1985) Codon usage and tRNA content in unicellular and multicellular
      organisms, Mol.Biol.Evol, 2(1):13-34.

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="genc.html">genc</a></td>
<td>Calculate the effective number of codons (Nc)</td>
</tr><tr>
<td><a href="gew.html">gew</a></td>
<td>Calculate a measure of synonymous codon usage evenness (Ew)</td>
</tr><tr>
<td><a href="gscs.html">gscs</a></td>
<td>Calculates the scaled chi-square</td>
</tr><tr>
<td><a href="gwvalue.html">gwvalue</a></td>
<td>Calculate the 'relative adaptiveness of each codon' (W)</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/ggcsi.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: ggcsi </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
ggcsi
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   GC Skew Index: an index for strand-specific mutational bias
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   ggcsi calculates the GC Skew Index (GCSI) of the given circular bacterial<br />
   genome. GCSI quantifies the degree of GC Skew. In other words, this index<br />
   represents the degree of strand-specific mutational bias in bacterial<br />
   genomes, caused by replicational selection. <br />
   GCSI is calculated by the following formula:<br />
<br />
      GCSI = sqrt((SA/6000) * (dist/600))<br />
<br />
   where SA is the spectral amplitude of Fourier power spectrum at 1Hz,<br />
   and dist is the normalized Euclidean distance between the vertices of <br />
   cumulative GC skew.<br />
<br />
   GCSI ranges from 0 (no observable skew) to 1 (strong skew), and Archaeal<br />
   genomes that have multiple replication origins and therefore have no<br />
   observable skew mostly have GCSI below 0.05. Escherichia coli genome has<br />
   values around 0.10.<br />
<br />
   Version 1 of GCSI required fixed number of windows (4096), but the new GCSI<br />
   version 2 (also known as generalized GCSI: gGCSI) is invariant of the number<br />
   of windows. GCSI version 1 is calculated as an arithmetic mean (as opposed<br />
   to the geometric mean of gGCSI) of SR (spectral ratio, the signal-to-noise<br />
   ratio of 1Hz power spectrum) and dist.<br />
   <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with ggcsi

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% ggcsi refseqn:NC_000913
GC Skew Index: an index for strand-specific mutational bias
Program compseq output file [nc_000913.ggcsi]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Program compseq output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.ggcsi</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-gcsi</td>
<td>selection</td>
<td>GCSI version to use</td>
<td>Choose from selection list of values</td>
<td>2</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-window</td>
<td>integer</td>
<td>Number of windows. Must be a power of 2</td>
<td>Any integer value</td>
<td>4096</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-purine</td>
<td>boolean</td>
<td>Use purine skew for calculation</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-keto</td>
<td>boolean</td>
<td>Use keto skew for calculation</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-at</td>
<td>boolean</td>
<td>Use AT skew for calculation</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-pval</td>
<td>boolean</td>
<td>Calculate p-value when GCSI version 2 is selected</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2>Input file format</h2>

<p id="input">
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   ggcsi reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from ggcsi is to a plain text file.<br />
<br />
   File: nc_000913.ggcsi<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913 GCSI: 0.0966615833014818 SA: 487.218569030757 DIST: 69.037726<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gb1.html">gb1</a></td>
<td>Calculate strand bias of bacterial genome using B1 index</td>
</tr><tr>
<td><a href="gb2.html">gb2</a></td>
<td>Calculate strand bias of bacterial genome using B2 index</td>
</tr><tr>
<td><a href="gdeltagcskew.html">gdeltagcskew</a></td>
<td>Calculate strand bias of bacterial genome using delta GC skew</td>
</tr><tr>
<td><a href="gldabias.html">gldabias</a></td>
<td>Calculate strand bias of bacterial genome using linear discriminant analysis (LDA)</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/ggcskew.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: ggcskew </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
ggcskew
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculates the GC skew of the input sequence
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   ggcskew calculates and plots the GC skew of the given sequence. The "skew"<br />
   of a sequence is calculated as (C-G)/(C+G) in GC skew. The program can<br />
   alternatively calculate AT skew, purine skew, and keto skew, as well as<br />
   cumulative skew. GC skew is used to observe various biological aspects<br />
   such as prediction of replication origin and terminus in bacteria.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with ggcskew

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% ggcskew refseqn:NC_000913
Calculates the GC skew of the input sequence
Program compseq output file (optional) [nc_000913.ggcskew]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

   Example 2

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% ggcskew refseqn:NC_000913 -plot -graph png
Calculates the GC skew of the input sequence
Created ggcskew.1.png

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-graph</td>
<td>xygraph</td>
<td>Graph type</td>
<td>EMBOSS has a list of known devices, including ps, hpgl, hp7470, hp7580, meta, cps, x11, tek, tekt, none, data, xterm, png, gif, svg</td>
<td><i>EMBOSS_GRAPHICS</i> value, or x11</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-outfile</td>
<td>outfile</td>
<td>Program compseq output file (optional)</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.ggcskew</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-window</td>
<td>integer</td>
<td>Window size to observe</td>
<td>Any integer value</td>
<td>10000</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-slide</td>
<td>integer</td>
<td>Window slide size</td>
<td>Any integer value</td>
<td>10000</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-cumulative</td>
<td>boolean</td>
<td>Include to calculate cumulative skew</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-at</td>
<td>boolean</td>
<td>Include for observing AT skew instead of GC skew</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-purine</td>
<td>boolean</td>
<td>Include for observing purine (AG/TC) skew</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-keto</td>
<td>boolean</td>
<td>Include for observing keto (TG/AC) skew</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-plot</td>
<td>toggle</td>
<td>Include to plot result</td>
<td>Toggle value Yes/No</td>
<td>No</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   ggcskew reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 output="output">Output file format</h2>

<p>
   The output from ggcskew is to a plain text file or the EMBOSS graphics device.<br />
<br />
   File: nc_000913.ggcskew<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
location,GC skew<br />
0,-0.035529<br />
10000,-0.039648<br />
20000,-0.049791<br />
30000,0.005072<br />
40000,-0.063483<br />
50000,-0.030256<br />
60000,0.011875<br />
70000,-0.029478<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
4530000,-0.017164<br />
4540000,-0.036140<br />
4550000,-0.028166<br />
4560000,0.012166<br />
4570000,-0.040486<br />
4580000,-0.020692<br />
4590000,-0.043920<br />
4600000,-0.026363<br />
4610000,-0.022778<br />
4620000,-0.049396<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="ggcwin.html">ggcwin</a></td>
<td>Calculates the GC content along the given genome</td>
</tr><tr>
<td><a href="ggeneskew.html">ggeneskew</a></td>
<td>Calculate the gene strand bias of the given genome</td>
</tr><tr>
<td><a href="ggenomicskew.html">ggenomicskew</a></td>
<td>Calculates the GC skew in different regions of the given genome</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/ggcwin.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: ggcwin </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
ggcwin
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculates the GC content along the given genome
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   ggcwin calculates and plots the GC content of the given sequence.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with ggcwin

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% ggcwin refseqn:NC_000913
Calculates the GC content along the given genome
Program compseq output file (optional) [nc_000913.ggcwin]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

   Example 2

<table width="90%"><tr><td bgcolor="#CCFFCC">

% ggcwin refseqn:NC_000913 -plot -graph png
Calculates the GC content along the given genome
Created ggcwin.1.png

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-graph</td>
<td>xygraph</td>
<td>Graph type</td>
<td>EMBOSS has a list of known devices, including ps, hpgl, hp7470, hp7580, meta, cps, x11, tek, tekt, none, data, xterm, png, gif, svg</td>
<td><i>EMBOSS_GRAPHICS</i> value, or x11</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-outfile</td>
<td>outfile</td>
<td>Program compseq output file (optional)</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.ggcwin</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-window</td>
<td>integer</td>
<td>Window size to observe</td>
<td>Any integer value</td>
<td>10000</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-at</td>
<td>boolean</td>
<td>Include for observing AT skew instead of GC skew</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-purine</td>
<td>boolean</td>
<td>Include for observing purine (AG/TC) skew</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-keto</td>
<td>boolean</td>
<td>Include for observing keto (TG/AC) skew default: "0</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-plot</td>
<td>toggle</td>
<td>Include to plot result</td>
<td>Toggle value Yes/No</td>
<td>No</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   ggcwin reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from ggcwin is to a plain text file or the EMBOSS graphics device.<br />
<br />
   File: nc_000913.ggcwin<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
location,GC content<br />
0,0.520700<br />
10000,0.499400<br />
20000,0.526200<br />
30000,0.532300<br />
40000,0.527700<br />
50000,0.515600<br />
60000,0.555800<br />
70000,0.536000<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
4530000,0.442800<br />
4540000,0.487000<br />
4550000,0.507700<br />
4560000,0.509600<br />
4570000,0.444600<br />
4580000,0.531600<br />
4590000,0.512300<br />
4600000,0.504500<br />
4610000,0.535600<br />
4620000,0.546600<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="ggcskew.html">ggcskew</a></td>
<td>Calculates the GC skew of the input sequence</td>
</tr><tr>
<td><a href="ggeneskew.html">ggeneskew</a></td>
<td>Calculate the gene strand bias of the given genome</td>
</tr><tr>
<td><a href="ggenomicskew.html">ggenomicskew</a></td>
<td>Calculates the GC skew in different regions of the given genome</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

  Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/ggeneskew.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: ggeneskew </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
ggeneskew
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculate the gene strand bias of the given genome
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   ggeneskew calculates and plots the strand bias of genes (or the GC skew<br />
   within them). By default, this program visualizes the gene strand preference<br />
   (1 for direct, -1 for complement strand), but by specifying -base option<br />
   option, GC/AT/Purine/Keto skews of the coding regions or more specifically<br />
   in the GC3 (third codon position) with -gctri option can be calculated.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with ggeneskew

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% ggeneskew refseqn:NC_000913
Calculate the gene strand bias of the given genome
Program compseq output file (optional) [nc_000913.ggeneskew]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

   Example 2

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% ggeneskew refseqn:NC_000913 -plot -graph png
Calculate the gene strand bias of the given genome
Created ggeneskew.1.png

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-graph</td>
<td>xygraph</td>
<td>Graph type</td>
<td>EMBOSS has a list of known devices, including ps, hpgl, hp7470, hp7580, meta, cps, x11, tek, tekt, none, data, xterm, png, gif, svg</td>
<td><i>EMBOSS_GRAPHICS</i> value, or x11</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-outfile</td>
<td>outfile</td>
<td>Program compseq output file (optional)</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.ggeneskew</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-window</td>
<td>integer</td>
<td>Window size to observe</td>
<td>Any integer value</td>
<td>10000</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-slide</td>
<td>integer</td>
<td>Window slide size</td>
<td>Any integer value</td>
<td>10000</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-cumulative</td>
<td>boolean</td>
<td>Input 1 to calculate cumulative skew</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-base</td>
<td>selection</td>
<td>Input 'gc', 'at', 'purine', or 'keto' for observing GC/AT/Purine/Keto skews</td>
<td>Choose from selection list of values</td>
<td>none</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-gctri</td>
<td>boolean</td>
<td>Include to use only the third codon positions</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-plot</td>
<td>toggle</td>
<td>Include to plot result</td>
<td>Toggle value Yes/No</td>
<td>No</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   ggeneskew reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from ggeneskew is to a plain text file or the EMBOSS graphics device.<br />
<br />
   File: nc_000913.ggeneskew<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
location,gene None skew<br />
190,0.294118<br />
337,-0.058914<br />
2801,-0.120000<br />
3734,-0.070588<br />
5234,0.037500<br />
5683,0.020725<br />
6529,0.032765<br />
8238,-0.028226<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
4631820,-0.093407<br />
4632464,-0.006479<br />
4633544,-0.120690<br />
4634030,-0.060367<br />
4634719,-0.104167<br />
4636201,-0.144560<br />
4637613,0.010929<br />
4638425,0.200000<br />
4638965,-0.081871<br />
,<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="ggcskew.html">ggcskew</a></td>
<td>Calculates the GC skew of the input sequence</td>
</tr><tr>
<td><a href="ggcwin.html">ggcwin</a></td>
<td>Calculates the GC content along the given genome</td>
</tr><tr>
<td><a href="ggenomicskew.html">ggenomicskew</a></td>
<td>Calculates the GC skew in different regions of the given genome</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/ggenomemap3.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: ggenomemap3 </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
ggenomemap3
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Draws the map of the genome (version 3)
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   ggenomemap3 creates a map of the genome, showing the local nucleotide<br />
   contents and positions of genes. A is shown in red, T is shown in green, <br />
   G is shown in yellow, and C is shown in blue.<br />
   Created image has a resolution of 8192x8192 and is suited for conversion<br />
   to SVG, which can be performed by specifying the -format option. The formats<br />
   available are dependent to the "convert" command from ImageMagick.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with ggenomemap3

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% ggenomemap3 refseqn:NC_000913
Draws the map of the genome (version 3)
Created ggenomemap3.1.png

</pre></td></tr></table>



<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-format</td>
<td>string</td>
<td>Output file format. Dependent on 'convert' command</td>
<td>Any string</td>
<td>png</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-width</td>
<td>integer</td>
<td>Image width</td>
<td>Any integer value</td>
<td>8192</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-height</td>
<td>integer</td>
<td>Image height</td>
<td>Any integer value</td>
<td>8192</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-goutfile</td>
<td>string</td>
<td>Output file for non interactive displays</td>
<td>Any string</td>
<td>ggenomemap3</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   ggenomemap3 reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from ggenomemap3 is to an image file.<br />
</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gcircularmap.html">gcircular_map</a></td>
<td>Draws circular map of the genome</td>
</tr><tr>
<td><a href="gdnawalk.html">gdnawalk</a></td>
<td>Draws DNA Walk map of the genome</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/ggenomicskew.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: ggenomicskew </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
ggenomicskew
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculates the GC skew in different regions of the given genome
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   ggenomicskew calculates and plots the GC skew for the whole genome, coding<br />
   regions, intergenic regions, and the third codon. This program is useful in<br />
   visualizing various base composition bias within the genome. AT skew can be<br />
   calculated instead of GC skew by toggling the -at qualifier.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with ggenomicskew

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% ggenomicskew refseqn:NC_000913
Calculates the GC skew in different regions of the given genome
Program compseq output file (optional) [nc_000913.ggenomicskew]: 

</pre></td></tr></table>?
Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

   Example 2

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% ggenomicskew refseqn:NC_000913 -plot -graph png
Calculates the GC skew in different regions of the given genome
Created ggenomicskew.1.png

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-graph</td>
<td>xygraph</td>
<td>Graph type</td>
<td>EMBOSS has a list of known devices, including ps, hpgl, hp7470, hp7580, meta, cps, x11, tek, tekt, none, data, xterm, png, gif, svg</td>
<td><i>EMBOSS_GRAPHICS</i> value, or x11</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-outfile</td>
<td>outfile</td>
<td>Program compseq output file (optional)</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.ggenomicskew</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-divide</td>
<td>integer</td>
<td>Window to divide into</td>
<td>Any integer value</td>
<td>250</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-at</td>
<td>boolean</td>
<td>Input 1 when observing AT skew instead of GC skew</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-plot</td>
<td>toggle</td>
<td>Include to plot result</td>
<td>Toggle value Yes/No</td>
<td>No</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   ggenomicskew reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from ggenomicskew is to a plain text file or the EMBOSS graphics device.<br />
<br />
   File: nc_000913.ggenomicskew<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
location,GC skew,coding,intergenic,third codon<br />
0,-0.036259,-0.040085,-0.034707,-0.141888,<br />
1,-0.031167,-0.035657,0.047953,-0.175758,<br />
2,-0.028670,-0.031139,-0.049143,-0.018466,<br />
3,-0.016647,-0.004656,-0.102616,0.086181,<br />
4,-0.041985,-0.029846,-0.088670,0.015291,<br />
5,-0.097093,-0.103813,-0.067275,-0.247401,<br />
6,-0.028028,-0.016363,-0.048806,-0.047332,<br />
7,-0.055805,-0.059329,-0.020071,-0.123271,<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
241,0.000772,-0.012151,-0.063786,0.069585,<br />
242,-0.025787,-0.000384,-0.049143,0.029431,<br />
243,0.010516,0.008217,-0.030600,0.128657,<br />
244,-0.037115,-0.015134,0.017500,0.035398,<br />
245,-0.000317,0.006021,-0.047170,0.091549,<br />
246,-0.025417,-0.015190,-0.116608,0.044619,<br />
247,-0.038404,-0.035676,-0.135714,0.015375,<br />
248,-0.026246,-0.024240,-0.037190,-0.130118,<br />
249,-0.053371,-0.057225,-0.022472,-0.082167,<br />
250,-0.026316,0.166667,-0.151515,0.000000,<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="ggcskew.html">ggcskew</a></td>
<td>Calculates the GC skew of the input sequence</td>
</tr><tr>
<td><a href="ggcwin.html">ggcwin</a></td>
<td>Calculates the GC content along the given genome</td>
</tr><tr>
<td><a href="ggeneskew.html">ggeneskew</a></td>
<td>Calculate the gene strand bias of the given genome</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gicdi.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gicdi </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gicdi
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculates the intrinsic codon deviation index (ICDI)
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gphx calculates codon usage differences between gene classes for identifying<br />
   Predicted Highly eXpressed (PHX) and Putative Alien (PA) genes. A gene is<br />
   identified as PHX if BgC/BgH >= 1, where BgC and BgH is a value < 1 by it's<br />
   nature. PHX genes are known to generally have favorable codon usage, strong<br />
   SD sequences, and probably stronger conservation of promoter sequences.<br />
   A gene is idenfitied as PA if BgC and BgH is greater than the median of<br />
   BgC for every gene with a length close to the gene.<br />
<br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gicdi

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gicdi refseqn:NC_000913
Calculates the intrinsic codon deviation index (ICDI)
Codon usage output file [nc_000913.gicdi]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Codon usage output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gicdi</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-translate</td>
<td>boolean</td>
<td>Include when translating using standard codon table</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-delkey</td>
<td>string</td>
<td>Regular expression to delete key</td>
<td>Any string</td>
<td>[^ACDEFGHIKLMNPQRSTVWYacgtU]</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gicdi reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gicdi is to a plain text file.<br />
<br />
   File: nc_000913.gicdi<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
icdi,gene<br />
0.8192,thrL<br />
0.1258,thrA<br />
0.1127,thrB<br />
0.1689,thrC<br />
0.3099,yaaX<br />
0.2030,yaaA<br />
0.1600,yaaJ<br />
0.3533,talB<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
0.2203,yjjX<br />
0.2719,ytjC<br />
0.1377,rob<br />
0.2647,creA<br />
0.1944,creB<br />
0.1733,creC<br />
0.1926,creD<br />
0.2728,arcA<br />
0.5171,yjjY<br />
0.2434,yjtD<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Comeron JM, Aguade M. (1998) An evaluation of measures of synonymous codon
      usage bias, J Mol Evol, 47(3):268-74.

   Freire-Picos MA et al. (1994) Codon usage in Kluyveromyces lactis and in
      yeast cytochrome c-encoding genes, Gene, 139:43-49.

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gcbi.html">gcbi</a></td>
<td>Calculates the codon bias index (CBI)</td>
</tr><tr>
<td><a href="gdeltaenc.html">gdelta_enc</a></td>
<td>Calculate the codon usage bias related to translation optimization (delta ENC)</td>
</tr><tr>
<td><a href="gsvalue.html">gs_value</a></td>
<td>Calculate the strength of selected codon usage bias (S)</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gkmertable.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gkmertable </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gkmertable
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Create an image showing all k-mer abundance within a sequence
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gkmertable creates an image showing the abundance of all k-mers<br />
   (oligonucleotides of length k) in a given sequence. For example, for<br />
   tetramers (k=4), resulting image is composed of 4^4 = 256 boxes, each<br />
   representing an oligomer. Oligomer name and abundance is written within<br />
   these boxes, and abundance is also visualized with the box color, from<br />
   white (none) to black (highly frequent).<br />
   This k-mer table is alternatively known as the FCGR (frequency matrices<br />
   extracted from Chaos Game Representation).<br />
   Position of the oligomers can be recursively located as follows:<br />
   For each letter in an oligomer, a box is subdivided into four quadrants, <br />
   where A is upper left, T is lower right, G is upper right, and C is lower<br />
   left.<br />
   Therefore, oligomer ATGC is in the <br />
   A = upper left quadrant<br />
   T = lower right within the above quadrant<br />
   G = upper right within the above quadrant<br />
   C = lower left within the above quadrant<br />
   More detailed documentation is available at <br />
   http://www.g-language.org/wiki/cgr<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

Here is a sample session with gkmertable

% gkmertable refseqn:NC_000913
Create an image showing all k-mer abundance within a sequence
Created gkmertable.1.png

   Go to the input files for this example
   Go to the output files for this example



</pre></td></tr></table>



<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-format</td>
<td>string</td>
<td>Output file format. Dependent on 'convert' command</td>
<td>Any string</td>
<td>png</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-k</td>
<td>integer</td>
<td>Length of oligomer</td>
<td>Any integer value</td>
<td>6</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-goutfile</td>
<td>string</td>
<td>Output file for non interactive displays</td>
<td>Any string</td>
<td>gkmertable</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gkmertable reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gkmertable is to an image file.<br />
</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gnucleotideperiodicity.html">gnucleotideperiodicity</a></td>
<td>Checks the periodicity of certain oligonucleotides</td>
</tr><tr>
<td><a href="goligomercounter.html">goligomercounter</a></td>
<td>Counts the number of given oligomers in a sequence</td>
</tr><tr>
<td><a href="goligomersearch.html">goligomersearch</a></td>
<td>Searches oligomers in given sequence</td>
</tr><tr>
<td><a href="gsignature.html">gsignature</a></td>
<td>Calculate oligonucleotide usage (genomic signature)</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
   Hidetoshi Itaya (celery@g-language.org)
   Institute for Advanced Biosciences, Keio University
   252-0882 Japan

  Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gldabias.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gldabias </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gldabias
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculate strand bias of bacterial genome using linear discriminant
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gldabias calculates strand bias of bacterial genome using linear<br />
   discriminant analysis (LDA), as proposed in Reference 1. The basic idea is<br />
   to use composition data of genes to train and predict the strand of genes<br />
   residing either on the leading or the lagging strand. For computational<br />
   efficiency, this method trans and predicts the strands at putative<br />
   replication origin as reported by the rep_ori_ter() method. This usually<br />
   results in maximum predictability of LDA within bacterial genomes.<br />
   Data to use for LDA can be chosen from "base", "codonbase", "codon", and<br />
   "amino", with -variable option.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gldabias

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gldabias refseqn:NC_000913
Calculate strand bias of bacterial genome using linear discriminant
analysis (LDA)
Program compseq output file [nc_000913.gldabias]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Program compseq output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gldabias</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-coefficients</td>
<td>integer</td>
<td>Show LDA coefficients</td>
<td>Any integer value</td>
<td>0</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-variable</td>
<td>selection</td>
<td>Data to use for LDA. Either 'base', 'codonbase', 'codon', or 'amino'</td>
<td>Choose from selection list of values</td>
<td>codon</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gldabias reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gldabias is to a plain text file.<br />
<br />
   File: nc_000913.gldabias<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913 LDA-BIAS: 0.742533<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Rocha EPC et al. (1999) "Universal replication biases in bacteria",
      Molecular Microbiology, 32(1):11-16

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gb1.html">gb1</a></td>
<td>Calculate strand bias of bacterial genome using B1 index</td>
</tr><tr>
<td><a href="gb2.html">gb2</a></td>
<td>Calculate strand bias of bacterial genome using B2 index</td>
</tr><tr>
<td><a href="gdeltagcskew.html">gdeltagcskew</a></td>
<td>Calculate strand bias of bacterial genome using delta GC skew</td>
</tr><tr>
<td><a href="ggcsi.html">ggcsi</a></td>
<td>GC Skew Index: an index for strand-specefic mutational bias</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gnucleotideperiodicity.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gnucleotideperiodicity </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gnucleotideperiodicity
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Checks the periodicity of certain oligonucleotides
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gnucleotideperiodicity checks the periodicity of certain nucleotide<br>
   (best known with AA dinucleotide). Bacteria and archaebacteria are<br>
   known to show periodicity of ApA dinucleotides at about 11bp and 10bp.<br>
   Lower eukaryotes also show periodicity but higher eukaryotes do not.<br>
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gnucleotideperiodicity

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gnucleotideperiodicity refseqn:NC_000913
Checks the periodicity of certain oligonucleotides
Program compseq output file (optional) [nc_000913.gnucleotideperiodicity]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

   Example 2

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>?
% gnucleotideperiodicity refseqn:NC_000913 -plot -graph png
Checks the periodicity of certain oligonucleotides
Created gnucleotideperiodicity.1.png

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-graph</td>
<td>xygraph</td>
<td>Graph type</td>
<td>EMBOSS has a list of known devices, including ps, hpgl, hp7470, hp7580, meta, cps, x11, tek, tekt, none, data, xterm, png, gif, svg</td>
<td><i>EMBOSS_GRAPHICS</i> value, or x11</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-outfile</td>
<td>outfile</td>
<td>Program compseq output file (optional)</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gnucleotideperiodicity</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-format</td>
<td>string</td>
<td>Output file format. Dependent on 'convert' command</td>
<td>Any string</td>
<td>png</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-window</td>
<td>integer</td>
<td>Window size to seek periodicity</td>
<td>Any integer value</td>
<td>50</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-nucleotide</td>
<td>string</td>
<td>Nucleotide to search</td>
<td>Any string</td>
<td>aa</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-plot</td>
<td>toggle</td>
<td>Include to plot result</td>
<td>Toggle value Yes/No</td>
<td>No</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gnucleotideperiodicity reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gnucleotideperiodicity is to a plain text file or the EMBOSS graphics device.<br />
<br />
   File: nc_000913.gnucleotideperiodicity<br />
<br /></td></tr></table>
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
window,value<br />
0,35134<br />
1,30121<br />
2,25409<br />
3,23508<br />
4,25830<br />
5,25136<br />
6,25658<br />
7,28279<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
40,28042<br />
41,25892<br />
42,25968<br />
43,28240<br />
44,25841<br />
45,25591<br />
46,27788<br />
47,25832<br />
48,25427<br />
49,0<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gkmertable.html">gkmertable</a></td>
<td>Create an image showing all k-mer abundance within a                            sequence</td>
</tr><tr>
<td><a href="goligomercounter.html">goligomercounter</a></td>
<td>Counts the number of given oligomers in a sequence</td>
</tr><tr>
<td><a href="goligomersearch.html">goligomersearch</a></td>
<td>Searches oligomers in given sequence</td>
</tr><tr>
<td><a href="gsignature.html">gsignature</a></td>
<td>Calculate oligonucleotide usage (genomic signature)</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/goligomercounter.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: goligomercounter </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
goligomercounter
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Counts the number of given oligomers in a sequence
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   goligomercounter counts the number of oligomers in a sequence (by windows<br />
   optionally). Oligomer can be specified using degenerate nucleotide alphabet,<br />
   or by regular expressions. k-mers can be counted by specifying the "-length"<br />
   qualifier.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with goligomercounter

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% goligomercounter refseqn:NC_000913 atgcatgc
Counts the number of given oligomers in a sequence
Program compseq output file [nc_000913.goligomercounter]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-oligomer]<br>(Parameter 2)</td>
<td>string</td>
<td>Oligomer to count</td>
<td>Any string</td>
<td>&nbsp;</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 3)</td>
<td>outfile</td>
<td>Program compseq output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.goligomercounter</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-window</td>
<td>integer</td>
<td>Int window size</td>
<td>Any integer value</td>
<td>0</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   goligomercounter reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from goligomercounter is to a plain text file.<br />
<br />
   File: nc_000913.goligomercounter<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913 Oligomer: atgcatgc Number: 27<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gkmertable.html">gkmertable</a></td>
<td>Create an image showing all k-mer abundance within a                            sequence</td>
</tr><tr>
<td><a href="gnucleotideperiodicity.html">gnucleotideperiodicity</a></td>
<td>Checks the periodicity of certain oligonucleotides</td>
</tr><tr>
<td><a href="goligomersearch.html">goligomersearch</a></td>
<td>Searches oligomers in given sequence</td>
</tr><tr>
<td><a href="gsignature.html">gsignature</a></td>
<td>Calculate oligonucleotide usage (genomic signature)</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/goligomersearch.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: goligomersearch </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
goligomersearch
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Searches oligomers in given sequence
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   goligomersearch searches for the given oligomer in given sequence. Oligomer<br />
   can be specified using degenerate nucleotide alphabet, or by regular<br />
   expressions. Performance is optimized for fast searching.<br />
   This method changes the returning value according to the given options.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with goligomersearch

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% goligomersearch refseqn:NC_000913 atgcatgc
Searches oligomers in given sequence
Program compseq output file [nc_000913.goligomersearch]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-oligomer]<br>(Parameter 2)</td>
<td>string</td>
<td>Oligomer to search</td>
<td>Any string</td>
<td>&nbsp;</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 3)</td>
<td>outfile</td>
<td>Program compseq output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.goligomersearch</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-return</td>
<td>selection</td>
<td>'position' to return list of positions where oligomers are found, 'oligo' to return list of oligomers found ordered by positions, 'both' to return a hash with positions as keys and oligomers as values, 'distribution' to return four values about the distribution of given oligomer</td>
<td>Choose from selection list of values</td>
<td>position</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   goligomersearch reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from goligomersearch is to a plain text file.<br />
<br />
   File: nc_000913.goligomersearch<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913 Oligomer: atgcatgc Return: 147018,366819,653138,863326,1288615,1627117,2111200,2246695,2697278,2750962,2826906,2882353,2998362,3022134,3346029,3477018,3629113,3842819,3958304,3982183,4013480,4285578,4474663,4484501,4499080,4604562,4638391<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gkmertable.html">gkmertable</a></td>
<td>Create an image showing all k-mer abundance within a                            sequence</td>
</tr><tr>
<td><a href="gnucleotideperiodicity.html">gnucleotideperiodicity</a></td>
<td>Checks the periodicity of certain oligonucleotides</td>
</tr><tr>
<td><a href="goligomercounter.html">goligomercounter</a></td>
<td>Counts the number of given oligomers in a sequence</td>
</tr><tr>
<td><a href="gsignature.html">gsignature</a></td>
<td>Calculate oligonucleotide usage (genomic signature)</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gp2.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gp2 </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gp2
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculate the P2 index of each gene
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gp2 calculates the P2 index for each gene. This index describes<br />
   the proportion of codons conforming to the intermediate strength of<br />
   codon-anticodon interaction energy rule of Grosjean and Fiers:<br />
   P2 = (WWC+SSU)/(WWY+SSY) where W = A or U, S = C or G, and Y = C or U.<br />
   It indicates the efficiency of the codon-anticodon interaction, and has<br />
   been used as an indicator of the presence of translational selection.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gp2

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gp2 refseqn:NC_000913
Calculate the P2 index of each gene
Codon usage output file [nc_000913.gp2]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Codon usage output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gp2</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gp2 reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gp2 is to a plain text file.<br />
<br />
   File: nc_000913.gp2<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
P2,gene<br />
0.4444,thrL<br />
0.4234,thrA<br />
0.4565,thrB<br />
0.5156,thrC<br />
0.4074,yaaX<br />
0.4494,yaaA<br />
0.3621,yaaJ<br />
0.6832,talB<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
0.3692,yjjX<br />
0.4912,ytjC<br />
0.4271,rob<br />
0.4318,creA<br />
0.3065,creB<br />
0.3851,creC<br />
0.4320,creD<br />
0.6395,arcA<br />
0.7857,yjjY<br />
0.3333,yjtD<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Gouy M, Gautier C. (1982) Codon usage in bacteria: correlation with gene
      expressivity, Nucleic Acids Res, 10(22):7055-74.

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gcai.html">gcai</a></td>
<td>Calculate codon adaptation index for each gene</td>
</tr><tr>
<td><a href="gphx.html">gphx</a></td>
<td>Identify predicted highly expressed gene</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gpalindrome.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gpalindrome </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gpalindrome
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Searches palindrome sequences
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gpalindrome searches for palindrome sequences in the genome.<br />
   Search parameters can be changed for more efficient searches, and g-t<br />
   matching can be specified by passing the "-gtmatch" qualifier.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gpalindrome

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gpalindrome refseqn:NC_000913
Searches palindrome sequences
Program compseq output file [nc_000913.gpalindrome]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Program compseq output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gpalindrome</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-shortest</td>
<td>integer</td>
<td>Shortest palindrome to search</td>
<td>Any integer value</td>
<td>4</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-loop</td>
<td>integer</td>
<td>Longest stem loop to allow</td>
<td>Any integer value</td>
<td>0</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-gtmatch</td>
<td>boolean</td>
<td>If 1, allows g-t match</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gpalindrome reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gpalindrome is to a plain text file.<br />
<br />
   File: nc_000913.gpalindrome<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
Length, start, end, sequence<br />
4,16,18,tg  ca<br />
4,27,29,at  at<br />
4,44,46,tt  aa<br />
4,67,69,ag  ct<br />
4,97,99,aa  tt<br />
4,99,101,tt  aa<br />
10,100,108,taaaa  tttta<br />
4,132,134,tt  aa<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
4,4639484,4639486,tg  ca<br />
6,4639487,4639491,aag  ctt<br />
4,4639495,4639497,cg  cg<br />
4,4639506,4639508,ca  tg<br />
6,4639552,4639556,gtc  gac<br />
4,4639607,4639609,tg  ca<br />
4,4639619,4639621,tg  ca<br />
4,4639621,4639623,ca  tg<br />
4,4639625,4639627,at  at<br />
4,4639637,4639639,at  at<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gconsensusz.html">gconsensusz</a></td>
<td>Calculate consensus in given array of sequences</td>
</tr><tr>
<td><a href="gdistincc.html">gdistincc</a></td>
<td>Calculates the distance between two loci in circular chromosomes</td>
</tr><tr>
<td><a href="gseqinfo.html">gseqinfo</a></td>
<td>Prints out basic nucleotide sequence statistics</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gphx.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gphx </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gphx
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Identify predicted highly expressed gene
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gphx calculates codon usage differences between gene classes for identifying<br />
   Predicted Highly eXpressed (PHX) and Putative Alien (PA) genes. A gene is<br />
   identified as PHX if BgC/BgH >= 1, where BgC and BgH is a value < 1 by it's<br />
   nature. PHX genes are known to generally have favorable codon usage, strong<br />
   SD sequences, and probably stronger conservation of promoter sequences.<br />
   A gene is idenfitied as PA if BgC and BgH is greater than the median of<br />
   BgC for every gene with a length close to the gene.<br />
<br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gphx

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gphx refseqn:NC_000913
Identify predicted highly expressed gene
Codon usage output file [nc_000913.gphx]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Codon usage output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gphx</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-translate</td>
<td>boolean</td>
<td>Include when translating using standard codon table</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-delkey</td>
<td>string</td>
<td>Regular expression to delete key</td>
<td>Any string</td>
<td>[^ACDEFGHIKLMNPQRSTVWYacgtU]</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gphx reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gphx is to a plain text file.<br />
<br />
   File: nc_000913.gphx<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
BgC,BgH,E_g,phx,pa,gene<br />
0.8070,0.8977,0.8990,0,1,thrL<br />
0.1857,0.5958,0.3116,0,0,thrA<br />
0.2323,0.5964,0.3896,0,0,thrB<br />
0.2353,0.6064,0.3881,0,0,thrC<br />
0.4353,0.6020,0.7231,0,1,yaaX<br />
0.2961,0.6790,0.4361,0,0,yaaA<br />
0.2233,0.7009,0.3186,0,0,yaaJ<br />
0.4149,0.3071,1.3511,1,0,talB<br />
<br />
   [Part of this file has been deleted for brevity]<br />
<br />
0.3255,0.7038,0.4625,0,0,yjjX<br />
0.3531,0.5906,0.5979,0,0,ytjC<br />
0.2257,0.5235,0.4311,0,0,rob<br />
0.3584,0.6809,0.5264,0,0,creA<br />
0.3455,0.7950,0.4346,0,0,creB<br />
0.2298,0.7154,0.3212,0,0,creC<br />
0.3299,0.7916,0.4167,0,0,creD<br />
0.3543,0.3786,0.9357,0,0,arcA<br />
0.7295,0.8286,0.8804,0,1,yjjY<br />
0.4028,0.8401,0.4795,0,0,yjtD<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   CMBL- PHX/PA user guide http://www.cmbl.uga.edu/software/PHX-PA-guide.htm

   Henry I., Sharp PM. (2007) Predicting gene expression level from codon
      usage bias Mol Biol Evol, 24(1):10-2.

   Karlin S., and Mrazek J. (2000) Predicted highly expressed genes of diverse
      prokaryotic genomes J.Bacteriol, 182(18):5238-5250.

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gcai.html">gcai</a></td>
<td>Calculate codon adaptation index for each gene</td>
</tr><tr>
<td><a href="gp2.html">gp2</a></td>
<td>Calculate the P2 index of each gene</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gqueryarm.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gqueryarm </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gqueryarm
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Get the replication arm name (left or right) from the given position
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gqueryarm returns whether the given position is in the left or right arm of<br />
   a circular chromosome.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gqueryarm

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gqueryarm refseqn:NC_000913 1234
Get the replication arm name (left or right) from the given position
Output file [nc_000913.gqueryarm]: 

</pre></td></tr></table>



<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-position]<br>(Parameter 2)</td>
<td>integer</td>
<td>Position to query</td>
<td>Any integer value</td>
<td>0</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 3)</td>
<td>outfile</td>
<td>Output file name</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gqueryarm</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gqueryarm reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gqueryarm is to a plain text file.<br />
<br />
   File: nc_000913.gqueryarm<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913 Arm: right<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gquerystrand.html">gquerystrand</a></td>
<td>Get the strand name (leading or lagging) from the given</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharua Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gquerystrand.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gquerystrand </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gquerystrand
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Get the strand name (leading or lagging) from the given position
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gquerystrand returns whether the given position is in the leading or lagging<br />
   strand of a circular chromosome.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gquerystrand

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gquerystrand refseqn:NC_000913 1234
Get the strand name (leading or lagging) from the given position
Output file [nc_000913.gquerystrand]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-position]<br>(Parameter 2)</td>
<td>integer</td>
<td>Position to query</td>
<td>Any integer value</td>
<td>0</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 3)</td>
<td>outfile</td>
<td>Output file name</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gquerystrand</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-direction</td>
<td>selection</td>
<td>Strand of the querying position either 'direct' or 'complement'</td>
<td>Choose from selection list of values</td>
<td>direct</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gquerystrand reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gquerystrand is to a plain text file.<br />
<br />
   File: nc_000913.gquerystrand<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913 Strand: leading<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gqueryarm.html">gqueryarm</a></td>
<td>Get the replication arm name (left or right) from the given</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/greporiter.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: greporiter </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
greporiter
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Get the positions of replication origin and terminus
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   greporiter returns the positions of replication origin and terminus<br />
   in bacterial genomes by several means. <br />
<br />
   1. Use of databases<br />
   By default, grep_ori_ter tries to retrieve the position of replication<br />
   origin in DoriC Gao and Zhang (2007) database, and the position of<br />
   replication terminus from the supplemental data provided in<br />
   Kono et al. (2011).<br />
   If the position of origin cannot be found in the database, but "rep_origin" <br />
   feature is available, center position within this feature is used for<br />
   origin. <br />
<br />
   2. Oriloc<br />
   Using -orilocoption, you can predict the replication origin and <br />
   terminus using the popular Oriloc program developed by Lobry et al. <br />
   available as part of the SeqinR package Frank and Lobry (2000).<br />
<br />
   3. Use GC skew shift-point<br />
   If the positions of origin or terminus cannot be found in the databases,<br />
   grep_ori_ter automatically calls find_ori_ter() method to predict the <br />
   positions using GC skew shift-points at one-base-pair resolution.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with greporiter

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% greporiter refseqn:NC_000913
Get the positions of replication origin and terminus
Output file [nc_000913.greporiter]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Output file name</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.greporiter</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-oriloc</td>
<td>boolean</td>
<td>Include Oriloc for prediction</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-gcskew</td>
<td>boolean</td>
<td>Include to use GC skew shift-point for prediction</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-difthreshold</td>
<td>integer</td>
<td>Distance between the GC skew shift point and predicted dif site expressed as the precentage of genome size, used as a threshold to retrieve dif sequence from the database</td>
<td>Any integer value</td>
<td>0</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-dbonly</td>
<td>boolean</td>
<td>Include to only use values available in databases and to suppress prediction</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   greporiter reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from greporiter is to a plain text file.<br />
<br />
   File: nc_000913.greporiter<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913 Origin: 3923881 Terminus: 1550412<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Gao F and Zhang CT (2007) DoriC: a database of oriC regions in bacterial
      genomes, Bioinformatics, 23(14):1866-1867

   Kono N et al. (2011) Comprehensive prediction of chromosome dimer resolution 
      sites in bacterial genomes, BMC Genomics, 12(1):19

   Frank AC and Lobry JR (2000) "Oriloc: prediction of replication boundaries 
      in unannotated bacterial chromosomes", Bioinformatics, 16(6):560-561

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gfindoriter.html">gfindoriter</a></td>
<td>Predicts the replication origin and terminus in bacterial</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
   Hidetoshi Itaya (celery@g-language.org)
   Institute for Advanced Biosciences, Keio University
   252-0882 Japan

  Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gscs.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gscs </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gscs
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculates the scaled chi-square
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gscs calculates the Scaled Chi Square (SCS) of each gene. Values of SCS<br />
   are calculated using completely synonymous codon usage as the expectation<br />
   and then scaled by dividing the value by the number of codons in the gene<br />
   excluding Trp and Met.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gscs

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gscs refseqn:NC_000913
Calculates the scaled chi-square
Codon usage output file [nc_000913.gscs]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Codon usage output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gscs</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-translate</td>
<td>boolean</td>
<td>Include when translates using standard codon table</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-delkey</td>
<td>string</td>
<td>Regular expression to delete key (i.e. amino acids and nucleotides)</td>
<td>Any string</td>
<td>[^ACDEFGHIKLMNPQRSTVWYacgtU]</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gscs reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gscs is to a plain text file.<br />
<br />
   File: nc_000913.gscs<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
scs,gene<br />
1.4458,thrL<br />
0.3122,thrA<br />
0.2551,thrB<br />
0.4104,thrC<br />
0.3084,yaaX<br />
0.3230,yaaA<br />
0.2957,yaaJ<br />
0.7101,talB<br />
<br />
   [Part of this file has been deleted for brevity]<br />
<br />
0.3054,yjjX<br />
0.4076,ytjC<br />
0.4231,rob<br />
0.3903,creA<br />
0.3472,creB<br />
0.2695,creC<br />
0.3500,creD<br />
0.5077,arcA<br />
0.4576,yjjY<br />
0.2926,yjtD<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Comeron JM., Aguade M. (1998) An evaluation of measures of synonymous
      codon usage bias, J Mol Evol, 47(3):268-74.

   Shields DC, Sharp PM. (1987) Synonymous codon usage in Bacillus subtilis
      reflects both translational selection and mutational biases,
      15(19):8023-40.

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="genc.html">genc</a></td>
<td>Calculate the effective number of codons (Nc)</td>
</tr><tr>
<td><a href="gew.html">gew</a></td>
<td>Calculate a measure of synonymous codon usage evenness (Ew)</td>
</tr><tr>
<td><a href="gfop.html">gfop</a></td>
<td>Calculate the frequency of optimal codons (Fop)</td>
</tr><tr>
<td><a href="gwvalue.html">gwvalue</a></td>
<td>Calculate the 'relative adaptiveness of each codon' (W)</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gseq2png.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gseq2png </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gseq2png
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Converts a sequence to PNG image
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gseq2png converts a sequence to a png image, by representing nucleotide<br />
   sequences with representative pixels. A is shown in red, T is shown in<br />
   green, G is shown in yellow, and C is shown in blue.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gseq2png

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gseq2png refseqn:NC_000913
Converts a sequence to PNG image
Created gseq2png.1.png

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-format</td>
<td>string</td>
<td>Output file format. Dependent on 'convert' command</td>
<td>Any string</td>
<td>png</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-width</td>
<td>integer</td>
<td>Width of the image</td>
<td>Any integer value</td>
<td>640</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-window</td>
<td>integer</td>
<td>Window size of a sequence to represent each pixel</td>
<td>Any integer value</td>
<td>20</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-goutfile</td>
<td>string</td>
<td>Output file for non interactive displays</td>
<td>Any string</td>
<td>gcgr</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gseq2png reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gseq2png is to an image file.<br />
</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gcgr.html">gcgr</a></td>
<td>Create a Chaos Game Representation of a given sequence</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gseqinfo.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gseqinfo </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gseqinfo
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Prints out basic nucleotide sequence statistics
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gseqinfo prints out basic nucleotide sequence statistics of the given<br />
   nucleotide sequence. It returns the number of A, T, G, and C bases.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gseqinfo

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gseqinfo refseqn:NC_000913
Prints out basic nucleotide sequence statistics
Program compseq output file [nc_000913.gseqinfo]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Program compseq output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gseqinfo</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gseqinfo reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gseqinfo is to a plain text file.<br />
<br />
   File: nc_000913.gseqinfo<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913 A: 1142228 T: 1140970 G: 1176923 C: 1179555<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gconsensusz.html">gconsensusz</a></td>
<td>Calculate consensus in given array of sequences</td>
</tr><tr>
<td><a href="gdistincc.html">gdistincc</a></td>
<td>Calculates the distance between two loci in circular chromosomes</td>
</tr><tr>
<td><a href="gpalindrome.html">gpalindrome</a></td>
<td>Searches palindrome sequences</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gshuffleseq.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gshuffleseq </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gshuffleseq
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Create randomized sequence with conserved k-mer composition
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gshuffleseq shuffles and randomizes the given sequence, conserving the<br />
   nucleotide/peptide k-mer content of the original sequence.<br />
<br />
   For k=1, i.e. shuffling sequencing preserving single nucleotide composition,<br />
   Fisher-Yates Algorithm is employed.<br />
   For k>1, shuffling preserves all k-mers (all k where k=1~k). For example,<br />
   k=3 preserves all triplet, doublet, and single nucleotide composition.<br />
   Algorithm for k-mer preserved shuffling is non-trivial, which is solved<br />
   by graph theoretical approach with Eulerian random walks in the graph of<br />
   k-1-mers. See Jiang et al., Kandel et al., and Propp et al., for details<br />
   of this algorithm.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gshuffleseq

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gshuffleseq tsw:hbb_human
Create randomized sequence with conserved k-mer composition
output sequence [hbb_human.fasta]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outseq]<br>(Parameter 2)</td>
<td>seqout</td>
<td>Sequence filename and optional format (output USA)</td>
<td>Writeable sequence</td>
<td><i>&lt;*&gt;</i>.<i>format</i></td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-k</td>
<td>integer</td>
<td>Sequence k-mer to preserve composition</td>
<td>Any integer value</td>
<td>1</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gshuffleseq reads one or more nucleotide or protein sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gshuffleseq is to .<br />
<br />
   File: hbb_human.fasta<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
>HBB_HUMAN P68871 Hemoglobin subunit beta (Beta-globin) (Hemoglobin beta chain) (LVV-hemorphin-7)<br />
KGWLDLVAGAAHFVRRLKMLLEVDWAAHEERVGTSNPNNALKNEAADVEVHSPTHVNPTQ<br />
LVLVQVGFGTLHLQGVECPKPKPGGVALKPVAHLLAMKECTLVALGSDFYVDHGSDGEDK<br />
GFKAYVLATSFFAYTNFLHGKVKHVLF<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Fisher R.A. and Yates F. (1938) "Example 12", Statistical Tables, London

   Durstenfeld R. (1964) "Algorithm 235: Random permutation", CACM 7(7):420

   Jiang M., Anderson J., Gillespie J., and Mayne M. (2008) "uShuffle: 
      a useful tool for shuffling biological sequences while preserving the
      k-let counts", BMC Bioinformatics 9:192

   Kandel D., Matias Y., Unver R., and Winker P. (1996) "Shuffling biological 
      sequences", Discrete Applied Mathematics 71(1-3):171-185  

   Propp J.G. and Wilson D.B. (1998) "How to get a perfectly random sample 
      from a generic Markov chain and generate a random spanning tree of a 
      directed graph", Journal of Algorithms 27(2):170-217

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="shuffleseq.html">shuffleseq</a></td>
<td>Shuffles a set of sequences maintaining composition</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
   Hidetoshi Itaya (celery@g-language.org)
   Institute for Advanced Biosciences, Keio University
   252-0882 Japan

  Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gsignature.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gsignature </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gsignature
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculate oligonucleotide usage (genomic signature)
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gsignature calculates short oligonuleotide usage (genomic signture),<br />
   defined as the ratio of observed (O) to expected (E) oligonucleotide<br />
   frequencies. It is known that the genomic signature stays constant<br />
   throughout the genome.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gsignature

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gsignature refseqn:NC_000913
Calculate oligonucleotide usage (genomic signature)
Program compseq output file [nc_000913.gsignature]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Program compseq output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gsignature</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-wordlength</td>
<td>integer</td>
<td>Word length</td>
<td>Any integer value</td>
<td>2</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]bothstrand</td>
<td>boolean</td>
<td>Include to use both strands direct used otherwise</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]oe</td>
<td>boolean</td>
<td>Include to use O/E value observed values used otherwise</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2>Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gsignature reads one or more nucleotide sequences.<br />
<br />

</p>

<h2>Output file format</h2>

<p>
   The output from gsignature is to a plain text file.<br />
<br />
   File: nc_000913.gsignature<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
aa,ac,ag,at,ca,cc,cg,ct,ga,gc,gg,gt,ta,tc,tg,tt,memo<br />
1.206,0.884,0.817,1.103,1.117,0.905,1.159,0.817,0.922,1.283,0.905,0.884,0.755,0.922,1.117,1.206,<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Campbell A et al. (1999) Genome signature comparisons among prokaryote,
      plasmid, and mitochondrial DNA, Proc Natl Acad Sci U S A. 96(16):9184-9.

   Karlin S. (2001) Detecting anomalous gene clusters and pathogenicity islands
      in diverse bacterial genomes, Trends Microbiol. 9(7):335-43.
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gkmertable.html">gkmertable</a></td>
<td>Create an image showing all k-mer abundance within a                            sequence</td>
</tr><tr>
<td><a href="gnucleotideperiodicity.html">gnucleotideperiodicity</a></td>
<td>Checks the periodicity of certain oligonucleotides</td>
</tr><tr>
<td><a href="goligomercounter.html">goligomercounter</a></td>
<td>Counts the number of given oligomers in a sequence</td>
</tr><tr>
<td><a href="goligomersearch.html">goligomersearch</a></td>
<td>Searches oligomers in given sequence</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
   Hidetoshi Itaya (celery@g-language.org)
   Institute for Advanced Biosciences, Keio University
   252-0882 Japan

  Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gsvalue.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gsvalue </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gsvalue
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculate the strength of selected codon usage bias (S)
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gsvalue calculates the strength of selected codon usage bias (S), also<br />
   known as Sharp's S index. Using four codon pairs that are recognized by the<br />
   same tRNA anticodon, namely, Phe(UUC and UUU), Ile(AUC and AUU), Tyr(UAC and<br />
   UAU), and Asn(AAC and AAU), since the former in each of the pairs has<br />
   stronger Watson-Crick pairing, selection towards the former codon can be<br />
   observed for highly expressed genes. S index is therefore the weighted<br />
   average of such bias, giving an over-all value for a genome, indicating its<br />
   strength of selected codon usage bias. See Sharp et al. (2005) for details.<br />
   Sharp originally defined 40 genes as the highly expressed gene group, with<br />
   tufA, tsf, fusA, rplA-rplF, rplI-rplT, rpsB-rpsT. Since the identificaiton<br />
   of these genes is not convenient for computational automation, by default,<br />
   this method uses ribosomal proteins as the highly expressed gene group,<br />
   as used by Viera-silva and Rocha (2010).<br />
   However, Sharp's gene group can be optionally used with -sharp option.<br />
   With this option, all of the 40 genes must be named accordingly in the given<br />
   genome file.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

Here is a sample session with gsvalue

% gsvalue refseqn:NC_000913
Calculate the strength of selected codon usage bias (S)
Codon usage output file [nc_000913.gsvalue]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Codon usage output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gsvalue</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-sharp</td>
<td>boolean</td>
<td>Include to use the 40 genes used by Sharp instead of ribosomal proteins</td>
<td>Boolean value Yes/No</td>
<td>No</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gsvalue reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gsvalue is to a plain text file.<br />
<br />
   File: nc_000913.gsvalue<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913 S-value: 1.23467100598485<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Sharp PM et al. (2005) "Variation in the strength of selected codon usage
      bias among bacteria", Nucleic Acids Research, 33(4):1141-1153

   Vieira-Silva S and Rocha EPC (2010) "The systemic imprint of growth and its
      uses in ecological (meta)genomics", PLoS Genetics, 6(1):e1000808

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gcbi.html">gcbi</a></td>
<td>Calculates the codon bias index (CBI)</td>
</tr><tr>
<td><a href="gdeltaenc.html">gdeltaenc</a></td>
<td>Calculate the codon usage bias related to translation optimization              (delta ENC)</td>
</tr><tr>
<td><a href="gicdi.html">gicdi</a></td>
<td>Calculates the intrinsic codon deviation index (ICDI)</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gviewcds.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gviewcds </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gviewcds
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Displays a graph of nucleotide contents around start and stop codons
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gviewcds creates a graph showing the average A,T,G,C contents<br />
   around start/stop codons. This is useful to view consensus around<br />
   start/stop codons and to find characteristic pattern in CDS.<br />
    <br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

Here is a sample session with gviewcds

% gviewcds refseqn:NC_000913
Displays a graph of nucleotide contents around start and stop codons
Program compseq output file (optional) [nc_000913.gviewcds]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

   Example 2

<table width="90%"><tr><td bgcolor="#CCFFCC">

% gviewcds refseqn:NC_000913 -plot -graph png
Displays a graph of nucleotide contents around start and stop codons
Created gviewcds.1.png

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>




<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-graph</td>
<td>xygraph</td>
<td>Graph type</td>
<td>EMBOSS has a list of known devices, including ps, hpgl, hp7470, hp7580, meta, cps, x11, tek, tekt, none, data, xterm, png, gif, svg</td>
<td><i>EMBOSS_GRAPHICS</i> value, or x11</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-outfile</td>
<td>outfile</td>
<td>Program compseq output file (optional)</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gviewcds</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-length</td>
<td>integer</td>
<td>Length in bases to show around start/stop codons</td>
<td>Any integer value</td>
<td>100</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-gap</td>
<td>integer</td>
<td>Gap shown in graph in between start/stop codon neighbors</td>
<td>Any integer value</td>
<td>3</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-plot</td>
<td>toggle</td>
<td>Include to plot result</td>
<td>Toggle value Yes/No</td>
<td>No</td>
</tr>

</table>


<h2 id="input">Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gviewcds reads one or more nucleotide sequences.<br />
<br />

</p>

<h2 id="output">Output file format</h2>

<p>
   The output from gviewcds is to a plain text file or the EMBOSS graphics device.<br />
<br />
   File: nc_000913.gviewcds<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
position,A,T,G,C<br />
1,28.20,27.60,22.18,22.02<br />
2,26.05,26.81,23.06,24.08<br />
3,27.34,27.37,23.94,21.35<br />
4,26.28,28.83,23.01,21.88<br />
5,26.72,28.22,22.18,22.88<br />
6,26.42,26.72,24.96,21.90<br />
7,27.21,28.66,21.95,22.18<br />
8,25.47,28.39,23.06,23.08<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
400,26.60,27.44,22.67,23.27<br />
401,24.38,26.63,25.05,23.92<br />
402,25.03,26.37,23.71,24.87<br />
403,25.96,27.53,22.53,23.96<br />
404,26.63,25.52,24.17,23.66<br />
405,25.68,26.26,23.50,24.54<br />
406,24.94,26.86,23.92,24.26<br />
407,25.54,26.28,23.73,24.43<br />
408,25.28,26.93,24.38,23.39<br />
409,26.63,26.46,22.32,24.57<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="gbasecounter.html">gbasecounter</a></td>
<td>Creates a position weight matrix of oligomers around start                  codon</td>
</tr><tr>
<td><a href="gbasezvalue.html">gbasezvalue</a></td>
<td>Extracts conserved oligomers per position using Z-score</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
Hidetoshi Itaya (celery@g-language.org)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan

Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/html/gwvalue.html	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+<!--START OF HEADER - DON'T ALTER -->

<HTML>
<HEAD>
  <TITLE> EMBOSS: gwvalue </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000">



<table align=center border=0 cellspacing=0 cellpadding=0>
<tr><td valign=top>
<A HREF="/" ONMOUSEOVER="self.status='Go to the EMBOSS home page';return true"><img border=0 src="http://soap.g-language.org/gembassy/emboss_explorer/manual/emboss_icon.jpg" alt="" width=150 height=48></a>
</td>
<td align=left valign=middle>
<b><font size="+6">
gwvalue
</font></b>
</td></tr>
</table>
<br>&nbsp;
<p>


<!--END OF HEADER-->






<H2> Function </H2>
   Calculate the 'relative adaptiveness of each codon' (W)
<!--
DON'T WRITE ANYTHING HERE.
IT IS DONE FOR YOU.
-->




<H2>Description</H2>
<p>
   gwvalue calculates the 'relative adaptiveness of each codon' (W value)<br />
   which is essential in CAI analysis. W value is calculated by setting the<br />
   best codon to 1 and calculating the proportion of the other codons.<br />
<br />
   G-language SOAP service is provided by the<br />
   Institute for Advanced Biosciences, Keio University.<br />
   The original web service is located at the following URL:<br />
<br />
   http://www.g-language.org/wiki/soap<br />
<br />
   WSDL(RPC/Encoded) file is located at:<br />
<br />
   http://soap.g-language.org/g-language.wsdl<br />
<br />
   Documentation on G-language Genome Analysis Environment methods are<br />
   provided at the Document Center<br />
<br />
   http://ws.g-language.org/gdoc/<br />
<br />

</p>

<H2>Usage</H2>

Here is a sample session with gwvalue

<table width="90%"><tr><td bgcolor="#CCFFFF"><pre>

% gwvalue refseqn:NC_000913
Calculate the 'relative adaptiveness of each codon' (W)
Codon usage output file [nc_000913.gwvalue]: 

</pre></td></tr></table>

Go to the <a href="#input">input files</a> for this example<br>
Go to the <a href="#output">output files</a> for this example<br><br>

<h2>Command line arguments</h2>

<table border cellspacing=0 cellpadding=3 bgcolor="#ccccff">
<tr bgcolor="#FFFFCC">
<th align="left">Qualifier</th>
<th align="left">Type</th>
<th align="left">Description</th>
<th align="left">Allowed values</th>
<th align="left">Default</th>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Standard (Mandatory) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-sequence]<br>(Parameter 1)</td>
<td>seqall</td>
<td>Nucleotide sequence(s) filename and optional format, or reference (input USA)</td>
<td>Readable sequence(s)</td>
<td><b>Required</b></td>
</tr>

<tr bgcolor="#FFFFCC">
<td>[-outfile]<br>(Parameter 2)</td>
<td>outfile</td>
<td>Codon usage output file</td>
<td>Output file</td>
<td><i>&lt;*&gt;</i>.gwvalue</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Additional (Optional) qualifiers</th>
</tr>

<tr>
<td colspan=5>(none)</td>
</tr>

<tr bgcolor="#FFFFCC">
<th align="left" colspan=5>Advanced (Unprompted) qualifiers</th>
</tr>

<tr bgcolor="#FFFFCC">
<td>-include</td>
<td>string</td>
<td>Regular expression to include genes in a reference set a reference set in several studies are in-built 1: Nakamura and Tabata, 2: Sharp and Li, 3: Sakai et al.</td>
<td>Any string</td>
<td>ribosomal.*protein</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-exclude</td>
<td>string</td>
<td>Regular expression to exclude genes from a reference set</td>
<td>Any string</td>
<td>[Mm]itochondrial</td>
</tr>

<tr bgcolor="#FFFFCC">
<td>-[no]accid</td>
<td>boolean</td>
<td>Include to use sequence accession ID as query</td>
<td>Boolean value Yes/No</td>
<td>Yes</td>
</tr>

</table>


<h2>Input file format</h2>

<p>
   The database definitions for following commands are available at<br />
   http://soap.g-language.org/kbws/embossrc<br />
<br />
   gwvalue reads one or more nucleotide sequences.<br />
<br />

</p>

<h2>Output file format</h2>

<p>
   The output from gwvalue is to a plain text file.<br />
<br />
   File: nc_000913.gwvalue<br />
<br />
<table width="90%"><tr><td bgcolor="#CCFFCC">
Sequence: NC_000913<br />
Reference set of highly expressed genes<br />
product<br />
30S ribosomal subunit protein S20<br />
30S ribosomal subunit protein S2<br />
ribosomal protein S12 methylthiotransferase; radical SAM superfamily<br />
ribosomal protein S6 modification protein<br />
30S ribosomal subunit protein S1<br />
ribosomal-protein-S5-alanine N-acetyltransferase<br />
50S ribosomal subunit protein L32<br />
<br />
<font color=red>[Part of this file has been deleted for brevity]</font><br />
<br />
T,acc,1.0000<br />
T,acg,0.2234<br />
T,act,0.9734<br />
V,gta,0.4960<br />
V,gtc,0.2281<br />
V,gtg,0.3422<br />
V,gtt,1.0000<br />
W,tgg,1.0000<br />
Y,tac,1.0000<br />
Y,tat,0.5310<br />
</td></tr></table>

</p>

<h2>Data files</h2>

<p>
None.
</p>

<h2>Notes</h2>

<p>
None.
</p>

<h2>References</h2>

<pre>
   Sharp PM et al. (2005) Variation in the strength of selected codon usage
      bias among bacteria, Nucleic Acids Res. 33(4):1141-1153

   Sakai et al. (2001) Correlation between Shine--Dalgarno sequence
      conservation and codon usage of bacterial genes, J.Mol.Evol. 52:164-170.

   Nakamura and Tabata (1997) Codon-anticodon assignment and detection of
      codon usage trends in seven microbial genomes, Microb.Comp.Genomics
      2:299-312.

   Sharp and Li (1987) The codon Adaptation Index--a measure of directional
      synonymous codon usage bias, and its potential applications, Nucleic
      Acids Res. 15:1281-1295.

   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.

   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
      large-scale analysis of high-throughput omics data, J. Pest Sci.,
      31, 7.

   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
      Analysis Environment with REST and SOAP Web Service Interfaces,
      Nucleic Acids Res., 38, W700-W705.

</pre>

<h2>Warnings</h2>

<p>
None.
</p>

<h2>Diagnostic Error Messages</h2>

<p>
None.
</p>

<h2>Exit status</h2>

<p>
It always exits with a status of 0.
</p>

<h2>Known bugs</h2>

<p>
None.
</p>

<h2>See also</h2>

<table border cellpadding=4 bgcolor="#FFFFF0"><tr><th>Program name</th>
<th>Description</th></tr>

<tr>
<td><a href="genc.html">genc</a></td>
<td>Calculate the effective number of codons (Nc)</td>
</tr><tr>
<td><a href="gew.html">gew</a></td>
<td>Calculate a measure of synonymous codon usage evenness (Ew)</td>
</tr><tr>
<td><a href="gfop.html">gfop</a></td>
<td>Calculate the frequency of optimal codons (Fop)</td>
</tr><tr>
<td><a href="gscs.html">gscs</a></td>
<td>Calculates the scaled chi-square</td>
</tr>

</table>

<h2>Author(s)</h2>

<pre>
   Hidetoshi Itaya (celery@g-language.org)
   Institute for Advanced Biosciences, Keio University
   252-0882 Japan

  Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
  Institute for Advanced Biosciences, Keio University
  252-0882 Japan</pre>

<h2>History</h2>

   2012 - Written by Hidetoshi Itaya

<h2>Target users</h2>

   This program is intended to be used by everyone and everything, from
   naive users to embedded scrips.

<h2>Comments</h2>

   None.

</BODY>
</HTML>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/Makefile	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,533 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# doc/text/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994-2014 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.
+
+
+
+
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgincludedir = $(includedir)/GEMBASSY
+pkglibdir = $(libdir)/GEMBASSY
+pkglibexecdir = $(libexecdir)/GEMBASSY
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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 = x86_64-apple-darwin14.0.0
+host_triplet = x86_64-apple-darwin14.0.0
+subdir = doc/text
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/general.m4 \
+	$(top_srcdir)/m4/hpdf.m4 $(top_srcdir)/m4/java.m4 \
+	$(top_srcdir)/m4/lf_x11.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)/m4/mysql.m4 $(top_srcdir)/m4/pngdriver.m4 \
+	$(top_srcdir)/m4/postgresql.m4 $(top_srcdir)/m4/sgi.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/src/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_$(V))
+am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__installdirs = "$(DESTDIR)$(pkgdatadir)"
+DATA = $(pkgdata_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+pkgdatadir = $(prefix)/share/EMBOSS/doc/programs/text
+ACLOCAL = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing aclocal-1.15
+AMTAR = $${TAR-tar}
+AM_DEFAULT_VERBOSITY = 1
+ANT = 
+AR = ar
+AUTOCONF = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing autoconf
+AUTOHEADER = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing autoheader
+AUTOMAKE = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing automake-1.15
+AWK = awk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS =   -O2 
+CPP = gcc -E
+CPPFLAGS =  -DAJ_MACOSXLF
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+DEVWARN_CFLAGS = 
+DLLTOOL = false
+DSYMUTIL = dsymutil
+DUMPBIN = 
+ECHO_C = \c
+ECHO_N = 
+ECHO_T = 
+EGREP = /usr/bin/grep -E
+EXEEXT = 
+FGREP = /usr/bin/grep -F
+GREP = /usr/bin/grep
+HAVE_MEMMOVE = 
+HAVE_STRERROR = 
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+JAR = 
+JAVA = 
+JAVAC = 
+JAVA_CFLAGS = 
+JAVA_CPPFLAGS =  -DNO_AUTH
+JAVA_LDFLAGS = 
+LD = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
+LDFLAGS = 
+LIBOBJS = 
+LIBS = -lcurl -lm  -lgd -lpng -lz -lm
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LIPO = lipo
+LN_S = ln -s
+LTLIBOBJS = 
+LT_SYS_LIBRARY_PATH = 
+MAKEINFO = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing makeinfo
+MANIFEST_TOOL = :
+MKDIR_P = ../.././install-sh -c -d
+MYSQL_CFLAGS = 
+MYSQL_CONFIG = no
+MYSQL_CPPFLAGS = 
+MYSQL_LDFLAGS = 
+MYSQL_VERSION = 
+NM = /usr/bin/nm
+NMEDIT = nmedit
+OBJDUMP = false
+OBJEXT = o
+OTOOL = otool
+OTOOL64 = :
+PACKAGE = GEMBASSY
+PACKAGE_BUGREPORT = celery@g-language.org
+PACKAGE_NAME = GEMBASSY
+PACKAGE_STRING = GEMBASSY 1.0.3
+PACKAGE_TARNAME = GEMBASSY
+PACKAGE_URL = http://www.g-language.org/gembassy/
+PACKAGE_VERSION = 1.0.3
+PATH_SEPARATOR = :
+PCRE_DATE = 11-Apr-2009
+PCRE_LIB_VERSION = 0:1:0
+PCRE_MAJOR = 7
+PCRE_MINOR = 9
+PCRE_POSIXLIB_VERSION = 0:0:0
+PCRE_VERSION = 7.9
+POSIX_MALLOC_THRESHOLD = -DPOSIX_MALLOC_THRESHOLD=10
+POSTGRESQL_CFLAGS = -I/usr/local/Cellar/postgresql/9.3.5_1/include
+POSTGRESQL_CONFIG = /usr/local/bin/pg_config
+POSTGRESQL_CPPFLAGS = -I/usr/local/Cellar/postgresql/9.3.5_1/include
+POSTGRESQL_LDFLAGS = -L/usr/local/Cellar/postgresql/9.3.5_1/lib -lpq
+POSTGRESQL_VERSION = 9.3.5
+RANLIB = ranlib
+SED = /usr/local/bin/gsed
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = strip
+VERSION = 1.0.3
+WARN_CFLAGS = 
+XLIB =  -lX11 
+XMKMF = 
+X_CFLAGS = 
+X_EXTRA_LIBS = 
+X_LIBS = 
+X_PRE_LIBS =  -lSM -lICE
+abs_builddir = /Users/kotone/dev/git/GEMBASSY/doc/text
+abs_srcdir = /Users/kotone/dev/git/GEMBASSY/doc/text
+abs_top_builddir = /Users/kotone/dev/git/GEMBASSY
+abs_top_srcdir = /Users/kotone/dev/git/GEMBASSY
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_DUMPBIN = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = $${TAR-tar} chof - "$$tardir"
+am__untar = $${TAR-tar} xf -
+bindir = ${exec_prefix}/bin
+build = x86_64-apple-darwin14.0.0
+build_alias = 
+build_cpu = x86_64
+build_os = darwin14.0.0
+build_vendor = apple
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+embprefix = /Users/kotone/opt
+exec_prefix = ${prefix}
+host = x86_64-apple-darwin14.0.0
+host_alias = 
+host_cpu = x86_64
+host_os = darwin14.0.0
+host_vendor = apple
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = ${SHELL} /Users/kotone/dev/git/GEMBASSY/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = $(MKDIR_P)
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /Users/kotone/opt
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target_alias = 
+top_build_prefix = ../../
+top_builddir = ../..
+top_srcdir = ../..
+pkgdata_DATA = *.txt
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/text/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu doc/text/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:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+install-pkgdataDATA: $(pkgdata_DATA)
+	@$(NORMAL_INSTALL)
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(pkgdatadir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" || exit 1; \
+	fi; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \
+	done
+
+uninstall-pkgdataDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$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: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(pkgdatadir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: 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:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-pkgdataDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-pkgdataDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	cscopelist-am ctags-am distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-pkgdataDATA install-ps \
+	install-ps-am install-strip installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags-am uninstall uninstall-am uninstall-pkgdataDATA
+
+.PRECIOUS: Makefile
+
+
+# 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:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/Makefile.am	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,4 @@
+pkgdata_DATA = *.txt
+
+pkgdatadir=$(prefix)/share/EMBOSS/doc/programs/text
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/Makefile.in	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,533 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 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@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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@
+subdir = doc/text
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/general.m4 \
+	$(top_srcdir)/m4/hpdf.m4 $(top_srcdir)/m4/java.m4 \
+	$(top_srcdir)/m4/lf_x11.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)/m4/mysql.m4 $(top_srcdir)/m4/pngdriver.m4 \
+	$(top_srcdir)/m4/postgresql.m4 $(top_srcdir)/m4/sgi.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/src/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__installdirs = "$(DESTDIR)$(pkgdatadir)"
+DATA = $(pkgdata_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+pkgdatadir = $(prefix)/share/EMBOSS/doc/programs/text
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+ANT = @ANT@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DEVWARN_CFLAGS = @DEVWARN_CFLAGS@
+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_MEMMOVE = @HAVE_MEMMOVE@
+HAVE_STRERROR = @HAVE_STRERROR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVA_CFLAGS = @JAVA_CFLAGS@
+JAVA_CPPFLAGS = @JAVA_CPPFLAGS@
+JAVA_LDFLAGS = @JAVA_LDFLAGS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MYSQL_CFLAGS = @MYSQL_CFLAGS@
+MYSQL_CONFIG = @MYSQL_CONFIG@
+MYSQL_CPPFLAGS = @MYSQL_CPPFLAGS@
+MYSQL_LDFLAGS = @MYSQL_LDFLAGS@
+MYSQL_VERSION = @MYSQL_VERSION@
+NM = @NM@
+NMEDIT = @NMEDIT@
+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_SEPARATOR = @PATH_SEPARATOR@
+PCRE_DATE = @PCRE_DATE@
+PCRE_LIB_VERSION = @PCRE_LIB_VERSION@
+PCRE_MAJOR = @PCRE_MAJOR@
+PCRE_MINOR = @PCRE_MINOR@
+PCRE_POSIXLIB_VERSION = @PCRE_POSIXLIB_VERSION@
+PCRE_VERSION = @PCRE_VERSION@
+POSIX_MALLOC_THRESHOLD = @POSIX_MALLOC_THRESHOLD@
+POSTGRESQL_CFLAGS = @POSTGRESQL_CFLAGS@
+POSTGRESQL_CONFIG = @POSTGRESQL_CONFIG@
+POSTGRESQL_CPPFLAGS = @POSTGRESQL_CPPFLAGS@
+POSTGRESQL_LDFLAGS = @POSTGRESQL_LDFLAGS@
+POSTGRESQL_VERSION = @POSTGRESQL_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XLIB = @XLIB@
+XMKMF = @XMKMF@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+embprefix = @embprefix@
+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@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+pkgdata_DATA = *.txt
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/text/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu doc/text/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:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+install-pkgdataDATA: $(pkgdata_DATA)
+	@$(NORMAL_INSTALL)
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(pkgdatadir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" || exit 1; \
+	fi; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \
+	done
+
+uninstall-pkgdataDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$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: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(pkgdatadir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: 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:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-pkgdataDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-pkgdataDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	cscopelist-am ctags-am distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-pkgdataDATA install-ps \
+	install-ps-am install-strip installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags-am uninstall uninstall-am uninstall-pkgdataDATA
+
+.PRECIOUS: Makefile
+
+
+# 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:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/copydesc.pl	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,36 @@
+use strict;
+use warnings;
+
+my @progs = split "\n", `wossname -showembassy GEMBASSY -auto | cut -d ' ' -f 1| grep ^g | sort`;
+
+copy($_) foreach @progs;
+
+sub copy {
+    my $prog = shift;
+
+    print STDERR "\r\e[K$prog";
+
+    open my $rdr, "<", "old/$prog.txt";
+    open my $wtr, ">", "final/$prog.txt";
+    open my $tmp, "<", "new/$prog.txt";
+
+    my $out = join "", <$tmp>;
+
+    my $progdesc;
+
+    while(my $line = readline $rdr) {
+        if($line =~ /^Description/) {
+            readline $rdr;
+            while($line !~ /SOAP/) {
+                $line = readline $rdr;
+                last if $line =~ /SOAP/;
+                $progdesc .= $line;
+            }
+        $progdesc =~ s/\n+$//smg;
+        }
+    }
+
+    $out =~ s/\[ProgDef\]\n/$progdesc/smg;
+
+    print $wtr $out;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gaaui.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,208 @@
+                                     gaaui
+Function
+
+   Calculates various indece of amino acid usage
+
+Description
+
+   gaaui calculates amino acid usage indices for proteins (excluding
+   formylmethionine). Calculated indices are as follows,
+      Laa:   Length in amino acids
+      ndaa:  Number of different amino acids
+      Haau:  Entropy of amino acid usage
+      mmw:   Mean molecular weight
+      gravy: Mean hydropathic indices of each amino acid
+      aroma: Relative frequency of aromatic amino acids
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gaaui
+
+% gaaui refseqn:NC_000913
+Calculates various indece of amino acid usage
+AAINDEX entry output file [nc_000913.gaaui]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gaaui] AAINDEX entry output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gaaui reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gaaui is to a plain text file.
+
+   File: nc_000913.gaaui
+
+Sequence: NC_000913
+Laa,ndaa,Haau,mmw,gravy,aroma,gene
+20,8,2.4842,117.48,+0.0150,0.0000,thrL
+819,20,4.0887,126.65,+0.0328,0.0659,thrA
+309,20,4.1228,126.35,+0.0181,0.0712,thrB
+427,20,4.0806,128.00,-0.1014,0.0843,thrC
+97,18,3.9165,133.54,-1.0268,0.0928,yaaX
+257,19,4.0733,132.55,-0.4117,0.1089,yaaA
+475,20,4.0413,126.46,+0.6781,0.1242,yaaJ
+316,20,4.0395,128.99,-0.2165,0.0728,talB
+
+   [Part of this file has been deleted for brevity]
+
+169,20,4.0001,124.90,+0.0231,0.0710,yjjX
+214,20,3.9937,129.77,-0.3813,0.0374,ytjC
+288,20,4.1421,132.58,-0.3628,0.1111,rob
+156,20,4.0627,126.72,-0.0442,0.0705,creA
+228,20,4.0471,131.94,-0.1408,0.0789,creB
+473,20,4.0254,128.01,+0.0023,0.0677,creC
+449,20,4.0871,128.66,+0.2082,0.0980,creD
+237,20,4.0729,132.54,-0.4970,0.0675,arcA
+45,15,3.5800,123.27,+0.7533,0.0222,yjjY
+227,20,4.0283,128.63,-0.0031,0.0573,yjtD
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Lobry, JR. and Gautier, C. (1994) Hydrophobicity, expressivity and
+      aromaticity are the major trends of amino-acid usage in 999 Escherichia
+      coli chromosome-encoded genes, Nucleic Acids Res, 22:3174-3180.a
+
+   Zavala A et al. (2002) Trends in codon and amino acid usage in Thermotoga
+      maritima J Mol Evol. 54(5):563-8.
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gaminoinfo     Prints out basic amino acid sequence statistics
+   gbui           Calculates base usage indeces for protein-codin sequences
+   gcodoncompiler Calculates various kinds of amino acid and codon usage data
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gaminoinfo.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,219 @@
+                                   gaminoinfo
+Function
+
+   Prints out basic amino acid sequence statistics
+
+Description
+
+   gaminoinfo prints out basic compositional statistics of the given amino
+   acid sequence in a human readble manner. The calculated values are molecular
+   weight, number of residues, average residue weight, charge, isoelectric
+   point, number/mole/Dayhoffstat of each amino acid, and percentage of
+   Tiny (A+C+G+S+T), Small (A+B+C+D+G+N+P+S+T+V), Aliphatic (I+L+V),
+   Armoatic (F+H+W+Y), Non-polar (A+C+F+G+I+L+M+P+V+W+Y),
+   Polar (D+E+H+K+N+Q+R+S+T+Z), Charged (B+D+E+H+K+R+Z), Basic (H+K+R), and
+   Acidic (B+D+E+Z) reidues.
+  
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gaminoinfo
+
+% gaminoinfo tsw:hbb_human
+Prints out basic amino acid sequence statistics
+AAINDEX entry output file [hbb_human.gaminoinfo]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Protein sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gaminoinfo] AAINDEX entry output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers: (none)
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gaminoinfo reads one or more protein sequences.
+
+Output file format
+
+   The output from gaminoinfo is to a plain text file.
+
+   File: hbb_human.gaminoinfo
+
+Sequence: P68871
+AminoInfo of  from 1 to 158
+
+Molecular weight = 19309.27 Residues = 158
+Average Weight = 122.21 Charge = 3.5
+Isoelectric Point = 7.4065
+Residue         Number          Mole%               DayhoffStat
+
+ =             1               0.633                     0.000
+> =             1               0.633                     0.000
+A = Ala         16              10.127                    1.178
+B = Asx         2               1.266                     0.000
+C = Cys         2               1.266                     0.436
+D = Asp         7               4.430                     0.806
+E = Glu         8               5.063                     0.844
+F = Phe         8               5.063                     1.406
+G = Gly         13              8.228                     0.980
+H = His         11              6.962                     3.481
+K = Lys         11              6.962                     1.055
+L = Leu         18              11.392                    1.540
+M = Met         3               1.899                     1.117
+N = Asn         7               4.430                     1.030
+P = Pro         7               4.430                     0.852
+Q = Gln         3               1.899                     0.487
+R = Arg         3               1.899                     0.387
+S = Ser         5               3.165                     0.452
+T = Thr         7               4.430                     0.726
+U = Sec         1               0.633                     0.000
+V = Val         18              11.392                    1.726
+W = Trp         2               1.266                     0.974
+Y = Tyr         3               1.899                     0.558
+_ =             1               0.633                     0.000
+
+Property        Residues                Number          Mole%
+Tiny            (A+C+G+S+T)             43              27.215
+Small           (A+B+C+D+G+N+P+S+T+V)   84              53.165
+Aliphatic       (I+L+V)                 36              22.785
+Aromatic        (F+H+W+Y)               24              15.190
+Non-polar       (A+C+F+G+I+L+M+P+V+W+Y) 90              56.962
+Polar           (D+E+H+K+N+Q+R+S+T+Z)   62              39.241
+Charged         (B+D+E+H+K+R+Z)         42              26.582
+Basic           (H+K+R)                 25              15.823
+Acidic          (B+D+E+Z)               17              10.759
+
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gaaui          Calculates various indece of amino acid usage
+   gcodoncompiler Calculate various kinds of amino acid and codon usage data
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gb1.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,190 @@
+                                      gb1
+Function
+
+   Calculate strand bias of bacterial genome using B1 index
+
+Description
+
+   gb1 calculates the strand bias of bacterial genome using B1 index,
+   first proposed by Lobry and Sueoka (2002), and further extended by
+   Rocha et al. (2006). Basic idea of B1 index is to calculate the
+   distance between the two strands, when the leading and lagging strands
+   are plotted in a coordinate system with axes representing G/(G+C) and
+   A/(A+T), using the third codon position of genes. This index measures the
+   degree of replication-induced bias from Chargaff's second parity rule.
+   Rocha et al. modified B1 index to only use >fourfold degenerate codons,
+   and to use T/(A+T) in place of A/(A+T).
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gb1
+
+% gb1 refseqn:NC_000913
+Calculate strand bias of bacterial genome using B1 index
+Program compseq output file [nc_000913.gb1]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gb1] Program compseq output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -method             selection  [rocha] Choose method of 'lobry' or 'rocha'
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gb1 reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gb1 is to a plain text file.
+
+   File: nc_000913.gb1
+
+Sequence: NC_000913 B1: 0.0630702874711314
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Lobry JR and Sueoka N (2002) Asymmetric directional mutation pressures in
+      bacteria, Genome Biology, 3(10):0058
+
+   Rocha EPC et al. (2006) Similar compositional biases are caused by very
+      different mutational effects, Genome Research, 16:1537-1547
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gb2          Calculate strand bias of bacterial genome using B2 index
+   gdeltagcskew Calculate strand bias of bacterial genome using delta GC skew
+                index
+   ggcsi        GC Skew Index: an index for strand-specefic mutational bias
+   gldabias     Calculate strand bias of bacterial genome using linear
+                discriminant analysis (LDA)
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gb2.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,184 @@
+                                      gb2
+Function
+
+   Calculate strand bias of bacterial genome using B2 index
+
+Description
+
+   gb2 calculates strand bias of bacterial genome using B2 index,
+   proposed by Lobry and Sueoka(2002). Basic idea of B2 index is to calculate
+   the distance from neutral parity state (0.5, 0.5), when the bias of
+   the coding regions is plotted in a coordinate system with axes representing
+   G/(G+C) and A/(A+T), using the third codon position of genes. This index
+   measures the degree of transcription- and translation-associated effects of
+   bias from Chargaff's second parity rule.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gb2
+
+% gb2 refseqn:NC_000913
+Calculate strand bias of bacterial genome using B2 index
+Program compseq output file [nc_000913.gb2]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gb2] Program compseq output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gb2 reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gb2 is to a plain text file.
+
+   File: nc_000913.gb2
+
+Sequence: NC_000913 B2: 0.0919769585775651
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Lobry JR and Sueoka N (2002) Asymmetric directional mutation pressures in
+      bacteria, Genome Biology, 3(10):0058
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gb1          Calculate strand bias of bacterial genome using B1 index
+   gdeltagcskew Calculate strand bias of bacterial genome using delta GC skew
+                index
+   ggcsi        GC Skew Index: an index for strand-specefic mutational bias
+   gldabias     Calculate strand bias of bacterial genome using linear
+                discriminant analysis (LDA)
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gbasecounter.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,205 @@
+                                  gbasecounter
+Function
+
+   Creates a position weight matrix of oligomers around start codon
+
+Description
+
+   This function creates a position weight matrix (PWM) of
+   oligomers of specified length around the start codon of all
+   genes in the given genome.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gbasecounter
+
+% gbasecounter refseqn:NC_000913
+Creates a position weight matrix of oligomers around start codon
+Weight matrix output file [nc_000913.gbasecounter]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gbasecounter] Weight matrix output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -position           selection  [start] Either 'start' (around start codon)
+                                  or 'end' (around stop codon) to create the
+                                  PWM
+   -patlen             integer    [3] Length of oligomer to count (Any integer
+                                  value)
+   -upstream           integer    [30] Length upstream of specified position
+                                  to create PWM (Any integer value)
+   -downstream         integer    [30] Length downstream of specified position
+                                  to create PWM (Any integer value)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gbasecounter reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gbasecounter is to a plain text file.
+
+   File: nc_000913.gbasecounter
+
+Sequence: NC_000913
+Pattern,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12,-13,-14,-15,-16,-17,-18,-19,-20,-21,-22,-23,-24,-25,-26,-27,-28,-29,-30
+aaa,0,1,199,111,104,139,94,103,99,44,42,26,75,103,107,95,107,103,102,82,91,71,73,81,86,80,74,74,78,65,69,65,31,41,68,51,61,83,55,67,92,55,71,89,60,77,100,59,87,123,97,105,141,83,117,180,154,203,262,2,0
+aac,2,0,0,63,104,56,67,64,28,34,22,12,17,37,43,59,61,71,54,42,62,59,63,52,56,61,48,55,56,52,38,30,34,54,36,42,43,33,49,49,36,43,58,37,53,62,46,47,79,38,52,72,58,52,89,74,83,91,68,2,1
+aag,0,0,17,46,38,57,56,44,25,44,43,170,162,125,92,70,61,50,42,46,21,22,43,39,29,35,39,34,28,26,30,25,9,43,31,12,55,33,13,66,21,21,50,30,21,55,31,21,47,38,16,55,35,23,63,96,31,51,71,0,0
+aat,1,565,4,56,124,45,83,74,63,42,24,24,20,27,59,71,54,74,66,71,67,52,58,77,61,52,57,49,56,71,61,34,33,24,40,38,30,43,46,25,48,56,35,58,51,33,47,71,46,70,77,60,74,74,73,83,69,61,110,0,1
+aca,0,1,92,73,39,69,39,24,31,31,16,19,34,64,61,63,65,56,42,60,45,66,38,45,46,41,49,40,51,43,39,20,34,29,23,26,28,34,35,26,35,39,30,28,48,26,28,53,35,36,59,42,53,46,64,56,62,44,55,0,0
+acc,2,2,0,81,37,19,28,19,15,8,12,7,7,14,22,27,30,24,31,23,30,27,34,27,30,22,25,42,34,29,25,41,23,32,44,19,32,51,21,19,50,23,24,52,30,31,56,25,31,55,30,25,35,30,32,53,20,21,48,0,2
+acg,0,0,21,38,23,38,32,25,13,18,12,15,34,29,34,37,25,31,25,34,30,20,22,24,40,22,24,30,34,29,25,29,25,34,41,23,32,25,36,44,28,32,40,32,23,28,40,30,25,36,39,32,28,40,38,39,45,30,33,0,0
+act,0,0,1,57,35,14,30,29,21,9,6,9,9,10,17,38,28,35,30,37,41,46,38,43,39,31,31,31,30,32,27,18,55,24,20,32,16,25,32,24,31,44,14,33,43,12,35,60,24,40,58,19,36,71,22,44,46,13,45,3,1
+
+   [Part of this file has been deleted for brevity]
+
+tcg,0.000,0.000,0.347,0.255,0.301,0.764,0.347,0.232,0.162,0.093,0.093,0.278,0.347,0.370,0.370,0.440,0.556,0.394,0.486,0.440,0.417,0.347,0.370,0.463,0.417,0.695,0.394,0.671,0.533,0.579,0.602,0.347,0.695,1.598,0.556,0.648,1.366,0.394,0.463,1.505,0.579,0.810,1.320,0.278,0.810,1.065,0.533,0.579,0.972,0.255,0.787,1.158,0.440,0.787,0.602,0.255,0.625,0.463,0.347,0.000,0.000
+tct,0.000,0.046,0.000,0.671,0.764,0.394,0.278,0.347,0.278,0.116,0.116,0.162,0.255,0.162,0.486,0.648,0.533,0.625,0.741,0.718,0.903,0.834,0.880,0.857,0.741,0.857,0.671,0.648,0.857,0.695,0.625,0.440,0.880,0.463,0.556,1.111,0.509,0.579,1.227,0.556,0.370,1.135,0.671,0.648,1.250,0.834,0.509,1.273,0.440,0.718,0.972,1.042,0.648,0.926,0.533,0.625,0.556,0.185,1.690,0.000,0.000
+tga,0.000,0.000,2.315,0.463,1.227,1.297,1.088,0.949,0.625,0.417,1.065,0.903,1.737,1.667,1.042,1.158,1.366,1.320,1.227,1.158,0.926,1.459,1.181,0.810,1.366,0.972,0.972,1.111,0.764,0.787,1.227,0.000,1.598,1.250,0.000,1.482,1.181,0.000,1.459,1.389,0.000,1.783,1.297,0.000,1.505,1.482,0.023,1.343,1.690,0.000,1.690,1.204,0.000,1.389,0.949,0.000,2.408,0.996,0.000,0.023,24.311
+tgc,0.023,0.000,0.000,0.394,0.996,0.579,0.787,0.556,0.208,0.185,0.208,0.116,0.278,0.324,0.394,0.834,0.486,0.394,0.718,0.556,0.509,0.857,0.509,0.625,0.810,0.741,0.695,0.834,0.625,0.787,1.158,0.347,1.158,1.621,0.394,1.667,1.204,0.347,1.551,1.320,0.417,1.088,1.065,0.232,1.320,1.042,0.139,1.204,0.996,0.208,0.996,0.602,0.139,0.648,0.764,0.069,0.857,0.394,0.023,0.000,7.803
+tgg,0.000,0.023,0.069,0.208,0.370,0.509,0.486,0.417,0.394,0.671,1.343,1.713,1.621,1.482,0.810,0.834,0.718,0.301,0.463,0.509,0.509,0.741,0.579,0.509,0.625,0.486,0.509,0.625,0.625,0.533,0.857,0.996,0.718,1.968,1.042,0.880,1.760,0.671,0.949,1.459,0.556,0.787,0.903,0.718,0.695,1.273,0.533,0.440,0.648,0.880,0.417,0.718,0.648,0.278,0.625,0.463,0.440,0.486,0.116,0.023,11.021
+tgt,0.023,0.880,0.023,0.533,1.135,0.301,0.440,0.602,0.417,0.208,0.232,0.185,0.185,0.278,0.370,0.440,0.533,0.556,0.648,0.764,0.509,0.926,0.579,0.718,0.880,0.695,0.718,0.741,0.741,0.579,0.625,0.278,1.158,0.857,0.278,0.972,0.718,0.324,0.926,0.695,0.463,1.111,0.834,0.162,1.482,0.787,0.278,1.065,0.695,0.278,1.042,0.695,0.208,0.903,0.718,0.139,0.857,0.232,0.093,0.023,7.340
+tta,0.000,0.000,6.506,0.648,0.810,1.829,1.320,0.602,0.486,0.509,0.255,0.347,0.301,0.834,1.320,1.459,1.412,1.667,1.644,1.852,1.667,1.574,1.366,1.042,1.204,1.621,1.505,1.227,1.436,1.088,1.273,1.343,0.486,1.158,1.042,0.440,1.135,1.389,0.370,1.273,1.574,0.486,1.875,1.505,0.463,1.991,1.875,0.533,2.362,2.061,0.324,2.084,2.200,0.509,1.505,1.320,0.463,1.366,0.648,0.000,0.069
+ttc,0.000,0.000,0.000,0.648,0.417,0.695,0.764,0.347,0.301,0.278,0.208,0.023,0.232,0.533,0.718,0.718,0.903,1.042,1.158,0.880,1.158,1.065,0.903,0.834,1.343,0.996,0.926,0.810,0.741,0.834,1.042,0.926,0.579,1.088,0.695,0.695,1.297,0.741,0.741,1.111,0.926,0.787,1.366,0.695,0.857,1.412,0.648,0.834,1.111,0.440,0.602,1.250,1.019,1.135,0.787,0.440,0.880,0.509,0.370,0.000,0.000
+ttg,0.857,0.023,0.255,0.394,0.556,1.111,0.533,0.463,0.417,0.185,0.232,0.533,0.602,1.042,0.718,0.695,1.135,0.972,0.857,0.926,0.787,0.671,1.320,0.695,0.903,1.204,0.880,0.764,0.926,0.741,0.718,1.019,0.347,1.551,1.042,0.370,2.014,0.834,0.463,2.061,0.880,0.278,2.014,0.857,0.208,2.593,0.741,0.278,1.922,0.764,0.417,2.130,0.834,0.208,1.111,0.394,0.093,1.111,0.417,0.000,0.023
+ttt,0.023,0.440,0.093,1.598,1.181,1.320,1.829,1.343,0.648,0.370,0.394,0.278,0.185,0.440,1.135,1.574,1.667,1.945,2.315,2.362,2.431,2.501,2.107,2.362,1.806,2.014,2.292,2.014,1.598,1.760,1.829,1.389,1.505,1.042,1.343,1.297,0.926,1.528,1.574,1.227,1.482,1.737,1.389,1.667,1.922,1.389,1.945,1.922,1.343,1.806,1.760,1.389,2.014,1.760,1.065,0.949,1.111,0.625,1.227,0.023,0.023
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gbasezvalue Extracts conserved oligomers per position using Z-score
+   gviewcds    Displays a graph of nucleotide contents around start and stop
+               codons
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gbaseentropy.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,243 @@
+                                  gbaseentropy
+Function
+
+   Calculates and graphs the sequence conservation using Shanon uncertainty
+
+Description
+
+   This function calculates and graphs the sequence conservation in regions
+   around the start/stop codons using Shanon uncertainty (entropy). Smaller
+   values resemble higher conservation where the minumum value is 0 and the
+   maximum value is 2. The entropy is typically the lowest around position 0
+   (start/stop codon position).
+
+   The entropy H at position i with distribution P(i) is calculated as follows:
+   H(P(i)) = -sum(P(i,j) * log(2,P(i,j)))
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gbaseentropy
+
+% gbaseentropy refseqn:NC_000913
+Calculates and graphs the sequence conservation using Shanon uncertainty
+(entropy)
+Program compseq output file (optional) [nc_000913.gbaseentropy]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+   Example 2
+
+% gbaseentropy refseqn:NC_000913 -plot -graph png
+Calculates and graphs the sequence conservation using Shanon uncertainty
+(entropy)
+Created gbaseentropy.1.png
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+Calculates and graphs the sequence conservation using Shanon uncertainty
+(entropy)
+Version: EMBOSS:6.5.7.0 GEMBASSY:1.0.1
+
+   Standard (Mandatory) qualifiers (* if not always prompted):
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+*  -graph              xygraph    [$EMBOSS_GRAPHICS value, or x11] Graph type
+                                  (ps, hpgl, hp7470, hp7580, meta, cps, x11,
+                                  tek, tekt, none, data, xterm, png, gif, svg)
+*  -outfile            outfile    [*.gbaseentropy] Program compseq output file
+                                  (optional)
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -position           selection  [start] Either 'start' (around start codon)
+                                  or 'end' (around stop codon) to create the
+                                  PWM
+   -patlen             integer    [3] Length of oligomer to count (Any integer
+                                  value)
+   -upstream           integer    [30] Length upstream of specified position
+                                  to create PWM (Any integer value)
+   -downstream         integer    [30] Length downstream of specified position
+                                  to create PWM (Any integer value)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+   -plot               toggle     [N] Include to plot result
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-graph" associated qualifiers
+   -gprompt            boolean    Graph prompting
+   -gdesc              string     Graph description
+   -gtitle             string     Graph title
+   -gsubtitle          string     Graph subtitle
+   -gxtitle            string     Graph x axis title
+   -gytitle            string     Graph y axis title
+   -goutfile           string     Output file for non interactive displays
+   -gdirectory         string     Output directory
+
+   "-outfile" associated qualifiers
+   -odirectory         string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gbaseentropy reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gbaseentropy is to a plain text file or the EMBOSS
+   graphics device.
+
+   File: nc_000913.gbaseentropy
+
+Sequence: NC_000913
+-30,1.98284
+-29,1.97873
+-28,1.97692
+-27,1.97595
+-26,1.97094
+-25,1.96777
+-24,1.96272
+-23,1.96288
+-22,1.95707
+
+   [Part of this file has been deleted for brevity]
+
+21,1.93528
+22,1.94470
+23,1.95204
+24,1.93139
+25,1.95640
+26,1.95711
+27,1.93785
+28,1.96060
+29,1.94316
+30,1.92581
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gbaseinformationcontent Calculates and graphs the sequence conservation
+                           using information content
+   gbaserelativeentropy    Calculates and graphs the sequence conservation
+                           using Kullback-Leibler divergence (relative
+                           entropy)
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gbaseinformationcontent.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,239 @@
+                            gbaseinformationcontent
+Function
+
+   Calculates and graphs the sequence conservation using information content
+
+Description
+
+   This function calculates and graphs the sequence conservation in regions
+   around the start/stop codons using information content. Values are obtained
+   by subtracting the entropy for each positfion from the maximum possible
+   value (which will be 2 in the case of nucleotide sequences). Information
+   content will show the highest value when the frequency is most biased to a
+   single alphabet.
+
+   Information content I is obtained by subtracting the entropy H from the
+   maximum uncertainty log(2,|M|):
+   I(P(i)) = log(2,|M|) - (-sum(P(i,j) * log(2,P(i,j))))
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gbaseinformationcontent
+
+% gbaseinformationcontent refseqn:NC_000913
+Calculates and graphs the sequence conservation using information content
+Program compseq output file (optional) [nc_000913.gbaseinformationcontent]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+   Example 2
+
+% gbaseinformationcontent refseqn:NC_000913 -plot -graph png
+Calculates and graphs the sequence conservation using information content
+Created gbaseinformationcontent.1.png
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers (* if not always prompted):
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+*  -graph              xygraph    [$EMBOSS_GRAPHICS value, or x11] Graph type
+                                  (ps, hpgl, hp7470, hp7580, meta, cps, x11,
+                                  tek, tekt, none, data, xterm, png, gif, svg)
+*  -outfile            outfile    [*.gbaseinformationcontent] Program compseq
+                                  output file (optional)
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -position           selection  [start] Either 'start' (around start codon)
+                                  or 'end' (around stop codon) to create the
+                                  PWM
+   -upstream           integer    [30] Length upstream of specified position
+                                  to create PWM (Any integer value)
+   -downstream         integer    [30] Length downstream of specified position
+                                  to create PWM (Any integer value)
+   -patlen             integer    [3] Length of oligomer to count (Any integer
+                                  value)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+   -plot               toggle     [N] Include to plot result
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-graph" associated qualifiers
+   -gprompt            boolean    Graph prompting
+   -gdesc              string     Graph description
+   -gtitle             string     Graph title
+   -gsubtitle          string     Graph subtitle
+   -gxtitle            string     Graph x axis title
+   -gytitle            string     Graph y axis title
+   -goutfile           string     Output file for non interactive displays
+   -gdirectory         string     Output directory
+
+   "-outfile" associated qualifiers
+   -odirectory         string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gbaseinformationcontent reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gbaseinformationcontent is to a plain text file or the
+   EMBOSS graphics device.
+
+   File: nc_000913.gbaseinformationcontent
+
+Sequence: NC_000913
+-30,2.42457
+-29,2.42811
+-28,2.43235
+-27,2.43116
+-26,2.44278
+-25,2.44236
+-24,2.44502
+-23,2.46097
+-22,2.46588
+
+   [Part of this file has been deleted for brevity]
+
+21,2.27547
+22,2.46974
+23,2.46342
+24,2.32686
+25,2.46245
+26,2.46061
+27,2.27664
+28,2.45650
+29,2.48206
+30,2.29140
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gbaseentropy            Calculates and graphs the sequence conservation
+                           using Shanon uncertainty (entropy)
+   gbaserelativeentropy    Calculates and graphs the sequence conservation
+                           using Kullback-Leibler divergence (relative
+                           entropy)
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gbaserelativeentropy.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,243 @@
+                              gbaserelativeentropy
+Function
+
+   Calculates and graphs the sequence conservation using Kullback-Leibler
+
+Description
+
+   This function calculates and graphs the sequence conservation in regions
+   around the start/stop codons using Kullback-Leibler divergence (relative
+   entropy). In realistic conditions, as background nucleotide composition
+   (e.g. G+C content) varies among species. Kullback-Leibler divergence
+   calculates the entropy with reduced background noise.
+
+   The relative entropy H at position i with distribution P(i) is calculated
+   as follows:
+   H(P(i)||pi) = sum(P(i,j) * log(2, P(i,j)/pi(j)))
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gbaserelativeentropy
+
+% gbaserelativeentropy refseqn:NC_000913
+Calculates and graphs the sequence conservation using Kullback-Leibler
+divergence (relative entropy)
+Program compseq output file (optional) [nc_000913.gbaserelativeentropy]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+   Example 2
+
+% gbaserelativeentropy refseqn:NC_000913 -plot -graph png
+Calculates and graphs the sequence conservation using Kullback-Leibler
+divergence (relative entropy)
+Created gbaserelativeentropy.1.png
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+Calculates and graphs the sequence conservation using Kullback-Leibler
+divergence (relative entropy)
+Version: EMBOSS:6.5.7.0 GEMBASSY:1.0.1
+
+   Standard (Mandatory) qualifiers (* if not always prompted):
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+*  -graph              xygraph    [$EMBOSS_GRAPHICS value, or x11] Graph type
+                                  (ps, hpgl, hp7470, hp7580, meta, cps, x11,
+                                  tek, tekt, none, data, xterm, png, gif, svg)
+*  -outfile            outfile    [*.gbaserelativeentropy] Program compseq
+                                  output file (optional)
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -position           selection  [start] Either 'start' (around start codon)
+                                  or 'end' (around stop codon) to create the
+                                  PWM
+   -patlen             integer    [3] Length of oligomer to count (Any integer
+                                  value)
+   -upstream           integer    [30] Length upstream of specified position
+                                  to create PWM (Any integer value)
+   -downstream         integer    [30] Length downstream of specified position
+                                  to create PWM (Any integer value)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+   -plot               toggle     [N] Include to plot result
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-graph" associated qualifiers
+   -gprompt            boolean    Graph prompting
+   -gdesc              string     Graph description
+   -gtitle             string     Graph title
+   -gsubtitle          string     Graph subtitle
+   -gxtitle            string     Graph x axis title
+   -gytitle            string     Graph y axis title
+   -goutfile           string     Output file for non interactive displays
+   -gdirectory         string     Output directory
+
+   "-outfile" associated qualifiers
+   -odirectory         string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gbaserelativeentropy reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gbaserelativeentropy is to a plain text file or the
+   EMBOSS graphics device.
+
+   File: nc_000913.gbaserelativeentropy
+
+Sequence: NC_000913
+-30,-0.46682
+-29,-0.46265
+-28,-0.45732
+-27,-0.45704
+-26,-0.44692
+-25,-0.44396
+-24,-0.43528
+-23,-0.43419
+-22,-0.42518
+
+   [Part of this file has been deleted for brevity]
+
+21,-0.40010
+22,-0.41772
+23,-0.42503
+24,-0.39675
+25,-0.43091
+26,-0.43196
+27,-0.40576
+28,-0.43387
+29,-0.41228
+30,-0.38869
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gbase_entropy             Calculates and graphs the sequence conservation
+                             using Shanon uncertainty (entropy)
+   gbase_information_content Calculates and graphs the sequence conservation
+                             using information content
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gbasezvalue.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,214 @@
+                                  gbasezvalue
+Function
+
+   Extracts conserved oligomers per position using Z-score
+
+Description
+
+   This function calculates and extracts conserved oligomers per position using
+   Z-score, in regions around the start/stop codons. The oligomers are returned
+   in ranking order up to "-limit" number.
+
+   The Z-score for mean m and standard error SE is calculated as follows:
+   z = (x - m) / SE
+   where SE for standard deviation s and number of samples s is as follows:
+   SE = s/sqrt(n)
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gbasezvalue
+
+% gbasezvalue refseqn:NC_000913
+Extracts conserved oligomers per position using Z-score
+Program compseq output file (optional) [nc_000913.gbasezvalue]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gbasezvalue] Program compseq output file
+                                  (optional)
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -limit              integer    [5] Rank threshold for showing the conserved
+                                  oligomer (Any integer value)
+   -position           selection  [start] Either 'start' (around start codon)
+                                  or 'end' (around stop codon) to create the
+                                  PWM
+   -patlen             integer    [3] Length of oligomer to count (Any integer
+                                  value)
+   -upstream           integer    [30] Length upstream of specified position
+                                  to create PWM (Any integer value)
+   -downstream         integer    [30] Length downstream of specified position
+                                  to create PWM (Any integer value)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gbasezvalue reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gbasezvalue is to a plain text file.
+
+   File: nc_000913.gbasezvalue
+
+Sequence: NC_000913
+position:-30,1,taa,-0.76525
+2,aga,-0.79101
+3,tta,-1.14174
+4,cta,-1.18831
+5,aat,-1.86652
+position:-29,1,cta,-0.18368
+2,aat,-0.71851
+3,gac,-1.26182
+4,taa,-1.39455
+
+   [Part of this file has been deleted for brevity]
+
+position:29,1,gct,1.66288
+2,act,1.26637
+3,tat,0.66721
+4,cct,-0.43158
+5,tgt,-0.59254
+position:30,1,ctg,3.12072
+2,att,0.04193
+3,ctc,-0.12416
+4,cta,-0.38461
+5,tta,-0.76413
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gbasecounter Creates a position weight matrix of oligomers around start
+                codon
+   gviewcds     Displays a graph of nucleotide contents around start and stop
+                codons
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gbui.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,209 @@
+                                      gbui
+Function
+
+   Calculates base usage indices for protein-coding sequences
+
+Description
+
+   gbui calculates base usage indices of protein-coding sequences (excluding
+   start and stop codons) for each gene. Indices calculated are as follows,
+      acgt: Total bumber of bases (A+T+G+C)
+      ryr:  Purine/Pyrimidine ratio (A+G)/(T+C)
+      gcc:  G+C content (G+C)/(A+T+G+C)
+      Hgc:  entropy of G+C content (G+C)/(A+T+G+C)
+      gcs:  GC skew (C-G)/(C+G)
+      ats:  AT skew (A-T)/(A+T)
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gbui
+
+% gbui refseqn:NC_000913
+Calculates base usage indices for protein-coding sequences
+Program compseq output file [nc_000913.gbui]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gbui] Program compseq output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -translate          boolean    [N] Include when translating using standard
+                                  codon table
+   -position           menu       [all] Codon position (Values: all (Assess
+                                  overall base usage of the gene); 1 (Assess
+                                  base usage at 1st position of codons); 2
+                                  (Assess base usage at 2nd position of
+                                  codons); 3 (Assess base usage at 3rd
+                                  position of codons))
+   -delkey             string     [[^ACDEFGHIKLMNPQRSTVWYacgtU]] Regular
+                                  expression to delete key (Any string)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gbui reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gbui is to a plain text file.
+
+   File: nc_000913.gbui
+
+Sequence: NC_000913
+acgt,ryr,gcc,Hgc,gcs,ats,gene
+60,0.9355,0.5333,0.9968,+0.3750,+0.3571,thrL
+2457,1.0206,0.5311,0.9972,-0.0575,-0.0434,thrA
+927,1.0973,0.5653,0.9877,-0.1183,-0.0471,thrB
+1281,1.0795,0.5301,0.9974,-0.0692,+0.0033,thrC
+291,1.0638,0.5430,0.9947,+0.0506,+0.1278,yaaX
+771,1.0615,0.4994,1.0000,-0.0182,+0.0415,yaaA
+1425,0.8363,0.5347,0.9965,-0.0315,-0.2278,yaaJ
+948,1.1303,0.5222,0.9986,-0.0263,+0.0993,talB
+
+   [Part of this file has been deleted for brevity]
+
+507,1.0444,0.5661,0.9874,-0.1080,-0.0909,yjjX
+642,1.1472,0.5654,0.9876,-0.0909,+0.0394,ytjC
+864,0.9636,0.5347,0.9965,+0.0087,-0.0299,rob
+468,1.1273,0.4936,0.9999,-0.1169,+0.0042,creA
+684,1.0118,0.5556,0.9911,-0.0579,-0.0592,creB
+1419,1.0655,0.5398,0.9954,-0.1018,-0.0505,creC
+1347,1.0660,0.4974,1.0000,-0.1433,-0.0783,creD
+711,1.0850,0.5134,0.9995,-0.0082,+0.0751,arcA
+135,0.8493,0.4370,0.9885,+0.2203,+0.0263,yjjY
+681,1.1415,0.5007,1.0000,-0.0792,+0.0529,yjtD
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gdinuc Calculates dinucleotide usage
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gcai.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,212 @@
+                                      gcai
+Function
+
+   Calculate codon adaptation index for each gene
+
+Description
+
+   gcai calculates codon adaptation index (CAI) for each gene. CAI is measure
+   a of the relative adaptiveness of the codon usage of a gene towards the
+   codon usage of highly expressed genes, ranging from 0 (no bias) to 1
+   (maximum bias). CAI can be used as a 'universal' measure of codon usage
+   bias as it is correlated with various gene features such as gene expression
+   level, GC content, and GC skew.
+
+   The CAI for a gene where A(i) is the amino acid at position i and W(A) is
+   the W value corresponding to the amino acid is calculated as follows:
+
+   CAI = sum(log(e,W(A(i))))
+
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gcai
+
+% gcai refseqn:NC_000913
+Calculate codon adaptation index for each gene
+Codon usage output file [nc_000913.gcai]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gcai] Codon usage output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -translate          boolean    [N] Include when translating using standard
+                                  codon table
+   -wabsent            string     [-1] W value of codons absent from a
+                                  reference set to negative when excludes such
+                                  codons from the calculation (Any string)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gcai reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gcai is to a plain text file.
+
+   File: nc_000913.gcai
+
+Sequence: NC_000913
+cai,gene
+0.7256,thrL
+0.4831,thrA
+0.4719,thrB
+0.5178,thrC
+0.4989,yaaX
+0.4933,yaaA
+0.4533,yaaJ
+0.7074,talB
+
+   [Part of this file has been deleted for brevity]
+
+0.4681,yjjX
+0.4797,ytjC
+0.5350,rob
+0.4932,creA
+0.3918,creB
+0.4170,creC
+0.4167,creD
+0.6466,arcA
+0.4236,yjjY
+0.3913,yjtD
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Sharp PM, Li WH. (1987) The codon Adaptation Index--a measure of directional
+      synonymous codon usage bias, and its potential applications.
+      Nucleic Acids Res. 15(3):1281-95.
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gp2  Calculate the P2 index of each gene
+   gphx Identify predicted highly expressed gene
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gcbi.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,209 @@
+                                      gcbi
+Function
+
+   Calculates the codon bias index (CBI)
+
+Description
+
+   gcbi calculates the codon bias index (CBI) for each gene af the given
+   genome. CBI is a directional codon bias which measures the usage of
+   optimal codons in a gene. CBI is similar to Fop, basically taking values
+   from 0 (no bias) and 1 (maximum bias) and can take negative values
+   depending on the codon usage.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gcbi
+
+% gcbi refseqn:NC_000913
+Calculates the codon bias index (CBI)
+Codon usage output file [nc_000913.gcbi]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gcbi] Codon usage output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -translate          boolean    [N] Include when translating using standard
+                                  codon table
+   -delkey             string     [[^ACDEFGHIKLMNPQRSTVWYacgtU]] Regular
+                                  expression to delete key (Any string)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gcbi reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gcbi is to a plain text file.
+
+   File: nc_000913.gcbi
+
+Sequence: NC_000913
+cbi,gene
+0.8716,thrL
+0.3441,thrA
+0.3462,thrB
+0.4280,thrC
+0.3868,yaaX
+0.3908,yaaA
+0.3521,yaaJ
+0.5354,talB
+
+   [Part of this file has been deleted for brevity]
+
+0.4005,yjjX
+0.4388,ytjC
+0.3934,rob
+0.4645,creA
+0.4266,creB
+0.3435,creC
+0.3796,creD
+0.4980,arcA
+0.5412,yjjY
+0.4018,yjtD
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Comeron JM, Aguade M. (1998) An evaluation of measures of synonymous codon
+      usage bias, J Mol Evol, 47(3):268-74.
+
+   Morton BR (1993) Chloroplast DNA codon use: evidence for selection at the
+      psb A locus based on tRNA availability, J.Mol.Evo,. 37:273-280.
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gdeltaenc Calculate the codon usage bias related to translation optimization
+             (delta ENC)
+   gicdi     Calculates the intrinsic codon deviation index (ICDI)
+   gsvalue   Calculate the strength of selected codon usage bias (S)
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gcgr.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,180 @@
+                                      gcgr
+Function
+
+   Create a Chaos Game Representation of a given sequence
+
+Description
+
+   gcgr creates a Chaos Game Representation (CGR) image of a given sequence.
+   CGR is generated by the following procedure:
+
+   1. Start from position (0,0) or the origin of two dimensional coordinate.
+   Four nucleotides are located at the four corners: 
+      A: (-1, 1)  upper left
+      T: (1, -1)  lower right
+      G: (1, 1)   upper right
+      C: (-1, -1) lower left
+   2. For each nucleotide, move and mark the new location which is halfway
+   between the current location and the nucleotide. 
+   For example, if the first letter is A, position is moved from (0,0) to 
+   midpoint between (-1, 1) and (0,0), which is (-0.5, 0.5).
+
+   3. Repeat this procedure for all nucleotides.
+   CGR is a generalized scale-independent Markov probability table for the
+   sequence, and oligomer tables can be deduced from CGR image.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gcgr
+
+% gcgr refseqn:NC_000913
+Create a Chaos Game Representation of a given sequence
+Created gcgr.1.png
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -format             string     [png] Output file format. Dependent on
+                                  'convert' command (Any string)
+   -width              integer    [1024] Width of image (Any integer value)
+   -goutfile           string     [gcgr] Output file for non interactive
+                                  displays (Any string)
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gcgr reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gcgr is to an image file.
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gseq2png Converts a sequence to PNG image
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gcircularmap.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,174 @@
+                                  gcircularmap
+Function
+
+   Draws circular map of the genome
+
+Description
+
+   gdnawalk creates a circular map of the genome using SVG, suitable for
+   plasmids and circular bacterial chromosomes.
+
+   From the outer ring inwards, genes on direct strand (pink), 
+   genes on complementary strand (yellow), tRNAs (green arrows), 
+   rRNAs (pink or orange stripes depending on the strand), 
+   GC content (brown lines), GC skew (yellow lines). Replication 
+   origin and terminus predicted from the GC skew shift points 
+   are also labeled. 
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gcircularmap
+
+% gcircularmap refseqn:NC_000913
+Draws circular map of the genome
+Created gcircularmap.1.svg
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -format             string     [svg] Output file format. Dependent on
+                                  'convert' command (Any string)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+   -goutfile           string     [gcircularmap] Output file for non
+                                  interactive displays (Any string)
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gcircularmap reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gcircularmap is to an image file.
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gdnawalk     Draws DNA Walk map of the genome
+   ggenomemap3  Draws the map of the genome (version 3)
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gcodoncompiler.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,213 @@
+                                 gcodoncompiler
+Function
+
+   Calculate various kinds of amino acid and codon usage data
+
+Description
+
+   gcodoncompiler calculates various kinds of amino acid and codon usage data.
+   The following values are calculable:
+      A0: Absolute amino acid frequency
+      A1: Relative amino acid frequency
+      C0: Absolute codon frequency
+      C1: Relative codon frequency in a complete sequence
+      C2: Relative codon frequency in each amino acid
+      C3: Relative synonymous codon usage
+      C4: Relative adaptiveness
+      C5: Maximum or minor codon
+
+   For amino acids unpresent in a gene, C2-C3 does not calculate the values.
+   By using R* in place, such values are hypothesized that alternative
+   synonymous codons are used with equal frequency.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gcodoncompiler
+
+% gcodoncompiler refseqn:NC_000913
+Calculate various kinds of amino acid and codon usage data
+Codon usage output file [nc_000913.gcodoncompiler]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gcodoncompiler] Codon usage output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -translate          boolean    [N] Include to translate using standard
+                                  codon table
+   -startcodon         boolean    [N] Include to include start codon
+   -stopcodon          boolean    [N] Include to include stop codon
+   -delkey             string     [[^ACDEFGHIKLMNPQRSTVWYacgtU]] Regular
+                                  expression to delete key (i.e. amino acids
+                                  and nucleotides) (Any string)
+   -data               menu       [R0] Kinds of codon usage data. R*
+                                  hypothesizes amino acids which are not
+                                  present in the gene (Values: A0 (Absolute
+                                  amino acid frequency ('AA')); A1 (Relative
+                                  amino acid frequency ('RAAU')); C0 (Absolute
+                                  codon frequency ('AF')); C1 (Relative codon
+                                  frequency in a complete sequence); C2
+                                  (Relative codon frequency in each amino acid
+                                  ('RF')); C3 (Relative synonymous codon
+                                  usage ('RSCU')); C4 (Relative adaptiveness);
+                                  i.e., ratio to maximum of minor codon ('W')
+                                  C5 (Maximum (1) or minor (0) codon); R0
+                                  (Absolute codon frequency ('AF')); R1
+                                  (Relative codon frequency in a complete
+                                  sequence); R2 (Relative codon frequency in
+                                  each amino acid ('RF')); R3 (Relative
+                                  synonymous codon usage ('RSCU')); R4
+                                  (Relative adaptiveness); i.e., ratio to
+                                  maximum of minor codon ('W') R5 (Maximum (1)
+                                  or minor (0) codon))
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gcodoncompiler reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gcodoncompiler is to a plain text file.
+
+   File: nc_000913.gcodoncompiler
+
+Sequence: NC_000913
+Agca,Agcc,Agcg,Agct,Ctgc,Ctgt,Dgac,Dgat,Egaa,Egag,Fttc,Fttt,Ggga,Gggc,Gggg,Gggt,Hcac,Hcat,Iata,Iatc,Iatt,Kaaa,Kaag,Lcta,Lctc,Lctg,Lctt,Ltta,Lttg,Matg,Naac,Naat,Pcca,Pccc,Pccg,Pcct,Qcaa,Qcag,Raga,Ragg,Rcga,Rcgc,Rcgg,Rcgt,Sagc,Sagt,Stca,Stcc,Stcg,Stct,Taca,Tacc,Tacg,Tact,Utga,Vgta,Vgtc,Vgtg,Vgtt,Wtgg,Ytac,Ytat,locus_tag
+26551,33911,44924,20010,8486,6707,25234,42161,52362,23474,21841,29334,10226,39395,14472,32678,12830,16952,5356,33359,40221,44272,13398,5079,14709,70441,14410,18097,17936,32971,28329,22786,11063,7142,30994,9130,20216,38169,2495,1366,4529,29308,6991,27864,21132,11323,9159,11332,11759,10992,8979,31001,18989,11581,3,14337,20240,34499,24056,20071,16088,21069,
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gaminoinfo Prints out basic amino acid sequence statistics
+   gaaui      Calculates various indece of amino acid usage
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gconsensusz.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,205 @@
+                                  gconsensusz
+Function
+
+   Calculate consensus in given array of sequences
+
+Description
+
+   gconsensusz calculates the consensus of given list of sequences, using
+   Z-score. The Z-score will show higher values when the sequences are biased
+   to a single character within the list.
+
+   The Z-score for mean m and standard error SE is calculated as follows:
+   z = (x - m) / SE
+   where SE for standard deviation s and number of samples s is as follows:
+   SE = s/sqrt(n)
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gconsensusz
+
+% gconsensusz consensus.fasta
+Calculate consensus in given array of sequences
+Program compseq output file (optional) [rs_000000.gconsensusz]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+   Example 2
+
+% gconsensusz consensus.fasta -plot -graph png
+Calculate consensus in given array of sequences
+Created gconsensusz.1.png
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers (* if not always prompted):
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+*  -graph              xygraph    [$EMBOSS_GRAPHICS value, or x11] Graph type
+                                  (ps, hpgl, hp7470, hp7580, meta, cps, x11,
+                                  tek, tekt, none, data, xterm, png, gif, svg)
+*  -outfile            outfile    [*.gconsensusz] Program compseq output file
+                                  (optional)
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -high               integer    [1] Z value greater than which is
+                                  significant (Any integer value)
+   -low                float      [0.2] Z value less than which is
+                                  insignificant (Any numeric value)
+   -plot               toggle     [N] Include to plot result
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-graph" associated qualifiers
+   -gprompt            boolean    Graph prompting
+   -gdesc              string     Graph description
+   -gtitle             string     Graph title
+   -gsubtitle          string     Graph subtitle
+   -gxtitle            string     Graph x axis title
+   -gytitle            string     Graph y axis title
+   -goutfile           string     Output file for non interactive displays
+   -gdirectory         string     Output directory
+
+   "-outfile" associated qualifiers
+   -odirectory         string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gconsensusz reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gconsensusz is to a plain text file or the EMBOSS graphics device.
+
+   File: rs_000000.gconsensusz
+
+0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,4.26701934177052,1.74762197406504,0.487923290212298,3.00732065791778,0.487923290212298,0.487923290212298,0.487923290212298,0.487923290212298,3.00732065791778,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,0.487923290212298,3.00732065791778,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,3.00732065791778,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,3.00732065791778,0.487923290212298,3.00732065791778,1.74762197406504,3.00732065791778,0.487923290212298,1.74762197406504,1.74762197406504,3.00732065791778,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,3.00732065791778,5.52671802562326,3.00732065791778,3.00732065791778,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,3.00732065791778,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,3.00732065791778,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,3.00732065791778,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,3.00732065791778,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,3.00732065791778,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,3.00732065791778,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,3.00732065791778,1.74762197406504,3.00732065791778,1.74762197406504,0.487923290212298,3.00732065791778,3.00732065791778,3.00732065791778,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,3.00732065791778,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,4.26701934177052,0.487923290212298,3.00732065791778,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,3.00732065791778,3.00732065791778,4.26701934177052,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,3.00732065791778,1.74762197406504,3.00732065791778,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,3.00732065791778,3.00732065791778,1.74762197406504,1.74762197406504,1.74762197406504,3.00732065791778,1.74762197406504,3.00732065791778,1.74762197406504,1.74762197406504,1.74762197406504,4.26701934177052,0.487923290212298,3.00732065791778,1.74762197406504,0.487923290212298,1.74762197406504,3.00732065791778,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,3.00732065791778,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,3.00732065791778,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,3.00732065791778,0.487923290212298,0.487923290212298,1.74762197406504,3.00732065791778,0.487923290212298,1.74762197406504,0.487923290212298,3.00732065791778,1.74762197406504,3.00732065791778,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,3.00732065791778,0.487923290212298,3.00732065791778,3.00732065791778,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,0.487923290212298,3.00732065791778,0.487923290212298,3.00732065791778,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,4.26701934177052,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,3.00732065791778,1.74762197406504,4.26701934177052,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,3.00732065791778,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,3.00732065791778,1.74762197406504,1.74762197406504,3.00732065791778,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,5.52671802562326,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,3.00732065791778,1.74762197406504,0.487923290212298,3.00732065791778,1.74762197406504,3.00732065791778,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,3.00732065791778,1.74762197406504,1.74762197406504,0.487923290212298,0.487923290212298,1.74762197406504,1.74762197406504,3.00732065791778,0.487923290212298,1.74762197406504,1.74762197406504,3.00732065791778,0.487923290212298,1.74762197406504,1.74762197406504,0.487923290212298,1.74762197406504,0.487923290212298,
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gdistincc   Calculates the distance between two loci in circular chromosomes
+   gpalindrome Searches palindrome sequences
+   gseqinfo    Prints out basic nucleotide sequence statistics
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gdeltaenc.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,186 @@
+                                   gdeltaenc
+Function
+
+   Calculate the codon usage bias related to translation optimization
+   (delta ENC)
+
+Description
+
+   gdeltaenc calculates the codon usage bias related to translation
+   optimization (delta ENC) described in Rocha (2004). The basic idea is to
+   calculate the Effective Number of Codons (ENC) for highly-expressed genes
+   (ribosomal genes) and weakly-expressed genes (all genes), and taking the
+   relative difference between them. ENC assigns a gene a number between 20 to
+   61 where 20 indicates that one codon is used for each aminoacid and 61
+   indicates that each codon is used equally throughout the protein sequence.
+
+   ENC is calculated as follows:
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gdeltaenc
+
+% gdeltaenc refseqn:NC_000913
+Calculate the codon usage bias related to translation optimization (delta
+ENC)
+Program compseq output file [nc_000913.gdeltaenc]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gdeltaenc] Program compseq output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gdeltaenc reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gdeltaenc is to a plain text file.
+
+   File: nc_000913.gdeltaenc
+
+Sequence: NC_000913 DELTA-ENC 0.255663430420712
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Rocha EPC (2004) Codon usage bias from tRNA's point of view: Redundancy, 
+      specialization, and efficient decoding for translation optimization,
+      Genome Research, 14(11):2279-2286
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gcbi    Calculates the codon bias index (CBI)
+   gicdi   Calculates the intrinsic codon deviation index (ICDI)
+   gsvalue Calculate the strength of selected codon usage bias (S)
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gdeltagcskew.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,193 @@
+                                  gdeltagcskew
+Function
+
+   Calculate strand bias of bacterial genome using delta GC skew index
+
+Description
+
+   gdeltagcskew calculates strand bias of bacterial genome using delta GC skew
+   index, first proposed by Rocha et al. (2001), and further extended in 2006.
+   Basic idea of delta GC skew index is to calculate the difference of GC skew
+   in coding regions residing in leading and lagging strands. Rocha et al.
+   (2001) calculates delta GC skew index using the third codon position of
+   genes, and Rocha et al. (2006)  modified to only use >fourfold degenerate
+   codons.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gdeltagcskew
+
+% gdeltagcskew refseqn:NC_000913
+Calculate strand bias of bacterial genome using delta GC skew index
+Program compseq output file [nc_000913.gdeltagcskew]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gdeltagcskew] Program compseq output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -at                 boolean    [N] Include when observing AT skew instead
+                                  of GC skew
+   -purine             boolean    [N] Include when observing purine (AG/TC)
+                                  skew
+   -keto               boolean    [N] Include when observing keto (TG/AC) skew
+   -method             selection  [degenerate] Choose the nucleotides to use
+                                  'degenerate', 'gc3', or 'all'
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gdeltagcskew reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gdeltagcskew is to a plain text file.
+
+   File: nc_000913.gdeltagcskew
+
+Sequence: NC_000913 DELTA-GCskew -0.108937
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Rocha EPC et al. (2001) Ongoing Evolution of Strand Composition in Bacterial
+      Genomes, Molecular Biology and Evolution, 18(9):1789-1799
+
+   Rocha EPC et al. (2006) Similar compositional biases are caused by very
+      different mutational effects, Genome Research, 16:1537-1547
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gb1      Calculate strand bias of bacterial genome using B1 index
+   gb2      Calculate strand bias of bacterial genome using B2 index
+   ggcsi    GC Skew Index: an index for strand-specefic mutational bias
+   gldabias Calculate strand bias of bacterial genome using linear
+            discriminant analysis (LDA)
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gdinuc.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,190 @@
+                                     gdinuc
+Function
+
+   Calculates dinucleotide usage
+
+Description
+
+   gdinuc calculates dinucleotide usage indices for protein-coding sequences
+   (excluding start and stop codons). Dinucleotide usage is computed as the
+   ratio of observed (O) to expected (E) dinucleotide frequencies within the
+   given sequence. Dinucleotides are known to have consistent patterns within
+   the genome (signatures) and tend to have certain periodicities.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gdinuc
+
+% gdinuc refseqn:NC_000913
+Calculates dinucleotide usage
+Program compseq output file [nc_000913.gdinuc]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gdinuc] Program compseq output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -translate          boolean    [N] Include when translates using standard
+                                  codon table
+   -position           menu       [all] Codon position or reading frame
+                                  (Values: all (Assess all codon positions);
+                                  12 (Assess the reading frame 1-2); 23
+                                  (Assess the reading frame 2-3); 31 (Assess
+                                  the reading frame 3-1))
+   -delkey             string     [[^ACDEFGHIKLMNPQRSTVWYacgtU]] Regular
+                                  expression to delete key (i.e. amino acids
+                                  and nucleotides) (Any string)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gdinuc reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gdinuc is to a plain text file.
+
+   File: nc_000913.gdinuc
+
+Sequence: NC_000913
+
+keys,aa,ac,ag,at,ca,cc,cg,ct,ga,gc,gg,gt,ta,tc,tg,tt,gene,
+All,1.293,0.921,0.720,1.108,1.022,0.868,1.166,0.925,0.958,1.285,0.897,0.867,0.729,0.891,1.228,1.123,
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Yew et al. (2004) Base usage and dinucleotide frequency of infectious
+      bursal disease virus, Virus Genes, 28:1,41-53.
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gbui Calculates base usage indices for protein-coding sequences
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gdistincc.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,179 @@
+                                   gdistincc
+Function
+
+   Calculates the distance between two loci in circular chromosomes
+
+Description
+
+   gdistincc calculates the distance between two loci in circular
+   chromosomes. It is mostly useful to calculate the distance from the
+   replication origin.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gdistincc
+
+% gdistincc refseqn:NC_000913 1234
+Calculates the distance between two loci in circular chromosomes
+Output file [nc_000913.gdistincc]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-first]             integer    [0] Position to find the distance (Any
+                                  integer value)
+  [-outfile]           outfile    [*.gdistincc] Output file name
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -second             integer    [-1] If the second position is negative,
+                                  position of replication origin is used (Any
+                                  integer value)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory3        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gdistincc reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gdistincc is to a plain text file.
+
+   File: nc_000913.gdistincc
+
+Sequence: NC_000913 Position1: 1234 Distance 1169193600
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gconsensus_z Calculate consensus in given array of sequences
+   gpalindrome  Searches palindrome sequences
+   gseqinfo     Prints out basic nucleotide sequence statistics
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gdnawalk.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,170 @@
+                                    gdnawalk
+Function
+
+   Draws DNA Walk map of the genome
+
+Description
+
+   gdnawalk draws the DNA Walk map of the given genome. DNA Walk is drawn by
+   moving a single pixel per nucleotide, in the direction specified for each
+   base. Here A is moved upward, T downward, G to the right, and C to the
+   left. Position zero (first letter of the genome) is indicated by the
+   crossing of thin axes.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gdnawalk
+
+% gdnawalk refseqn:NC_000913
+Draws DNA Walk map of the genome
+Created gdnawalk.1.png
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -format             string     [png] Output file format. Dependent on
+                                  'convert' command (Any string)
+   -goutfile           string     [gdnawalk] Output file for non interactive
+                                  displays (Any string)
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gdnawalk reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gdnawalk is to an image file.
+
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gcircularmap Draws circular map of the genome
+   ggenomemap3  Draws the map of the genome (version 3)
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/genc.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,211 @@
+                                      genc
+Function
+
+   Calculate the effective number of codons (Nc)
+
+Description
+
+   genc calculates the effective number of codons (ENC|Nc). ENC is a measure
+   for species-independent codon usage bias. Some measures including CAI are
+   species-dependent as optimal codons differ. ENC assigns a gene a number
+   between 20 to 61 where 20 indicates that one codon is used for each amino
+   acid and 61 indicates that each codon is used equally throughout the
+   protein sequence.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with genc
+
+% genc refseqn:NC_000913
+Calculate the effective number of codons (Nc)
+Codon usage output file [nc_000913.genc]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.genc] Codon usage output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -translate          boolean    [N] Include when translates using standard
+                                  codon table
+   -delkey             string     [[^ACDEFGHIKLMNPQRSTVWYacgtU]] Regular
+                                  expression to delete key (i.e. amino acids
+                                  and nucleotides) (Any string)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   genc reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from genc is to a plain text file.
+
+   File: nc_000913.genc
+
+Sequence: NC_000913
+enc,gene
+,thrL
+48.41,thrA
+54.13,thrB
+46.18,thrC
+51.65,yaaX
+45.71,yaaA
+48.54,yaaJ
+36.83,talB
+
+   [Part of this file has been deleted for brevity]
+
+51.43,yjjX
+46.61,ytjC
+49.83,rob
+47.74,creA
+50.63,creB
+51.39,creC
+48.42,creD
+41.53,arcA
+61,yjjY
+53.63,yjtD
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Comeron JM, Aguade M. (1998) An evaluation of measures of synonymous codon
+      usage bias, J Mol Evol, 47(3):268-74.
+
+   Wright F. (1990) The 'effective number of codons' used in a gene, Gene,
+      87:23-29.
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gew     Calculate a measure of synonymous codon usage evenness (Ew)
+   gfop    Calculate the frequency of optimal codons (Fop)
+   gscs    Calculates the scaled chi-square
+   gwvalue Calculate the 'relative adaptiveness of each codon' (W)
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/genret.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,451 @@
+                                     genret
+Function
+
+   Retrieves various gene related information from genome flatfile
+
+Description
+
+   genret reads in one or more genome flatfiles and retrieves various data from
+   the input file. It is a wrapper program to the G-language REST service,
+   where a method is specified by giving a string to the "method" qualifier. By
+   default, genret will parse the input file to retrieve the accession ID
+   (or name) of the genome to query G-language REST service. By setting the
+   "accid" qualifier to false (or 0), genret will instead parse the sequence
+   and features of the genome to create a GenBank formatted flatfile and upload
+   the file to the G-language web server. Using the file uploaded, genret will
+   execute the method provided.
+
+   genret is able to perform a variety of tasks, incluing the retrieval of
+   sequence upstream, downstream, or around the start or stop codon,
+   translated gene sequences search of gene data by keyword, and re-annotation
+   and retrieval of genome flatfiles. The set of genes can be given as flat
+   text, regular expression, or a file containing the list of genes.
+
+   Details on G-language REST service is available from the wiki page
+
+   http://www.g-language.org/wiki/rest
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+   Here is a sample session with genret
+
+   Retrieving sequences upstream, downstream, or around the start/stop codons. 
+   The following example shows the retrieval of sequence around the start
+   codons of all genes.
+
+   Genes to access are specified by regular expression. '*' stands for every
+   gene.
+
+   Available methods are:
+      after_startcodon
+      after_stopcodon
+      around_startcodon
+      around_stopcodon
+      before_startcodon
+      before_stopcodon
+
+% genret
+Retrieves various gene related information from genome flatfile
+Input nucleotide sequence(s): refseqn:NC_000913
+Gene name(s) to lookup [*]:
+Feature to access: around_startcodon
+Full text output file [nc_000913.around_startcodon]:
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+   Example 2
+
+   Using flat text as target genes. The names can be split with with a space,
+   comma, or vertical bar.
+
+% genret
+Retrieves various gene related information from genome flatfile
+Input nucleotide sequence(s): refseqn:NC_000913
+List of gene name(s) to report [*]: recA,recB
+Name of gene feature to access: translation
+Sequence output file [nc_000913.translation.genret]: stdout
+>recA
+MAIDENKQKALAAALGQIEKQFGKGSIMRLGEDRSMDVETISTGSLSLDIALGAGGLPMGR
+IVEIYGPESSGKTTLTLQVIAAAQREGKTCAFIDAEHALDPIYARKLGVDIDNLLCSQPDT
+GEQALEICDALARSGAVDVIVVDSVAALTPKAEIEGEIGDSHMGLAARMMSQAMRKLAGNL
+KQSNTLLIFINQIRMKIGVMFGNPETTTGGNALKFYASVRLDIRRIGAVKEGENVVGSETR
+VKVVKNKIAAPFKQAEFQILYGEGINFYGELVDLGVKEKLIEKAGAWYSYKGEKIGQGKAN
+ATAWLKDNPETAKEIEKKVRELLLSNPNSTPDFSVDDSEGVAETNEDF
+>recB
+MSDVAETLDPLRLPLQGERLIEASAGTGKTFTIAALYLRLLLGLGGSAAFPRPLTVEELLV
+VTFTEAATAELRGRIRSNIHELRIACLRETTDNPLYERLLEEIDDKAQAAQWLLLAERQMD
+EAAVFTIHGFCQRMLNLNAFESGMLFEQQLIEDESLLRYQACADFWRRHCYPLPREIAQVV
+FETWKGPQALLRDINRYLQGEAPVIKAPPPDDETLASRHAQIVARIDTVKQQWRDAVGELD
+ALIESSGIDRRKFNRSNQAKWIDKISAWAEEETNSYQLPESLEKFSQRFLEDRTKAGGETP
+RHPLFEAIDQLLAEPLSIRDLVITRALAEIRETVAREKRRRGELGFDDMLSRLDSALRSES
+GEVLAAAIRTRFPVAMIDEFQDTDPQQYRIFRRIWHHQPETALLLIGDPKQAIYAFRGADI
+FTYMKARSEVHAHYTLDTNWRSAPGMVNSVNKLFSQTDDAFMFREIPFIPVKSAGKNQALR
+FVFKGETQPAMKMWLMEGESCGVGDYQSTMAQVCAAQIRDWLQAGQRGEALLMNGDDARPV
+RASDISVLVRSRQEAAQVRDALTLLEIPSVYLSNRDSVFETLEAQEMLWLLQAVMTPEREN
+TLRSALATSMMGLNALDIETLNNDEHAWDVVVEEFDGYRQIWRKRGVMPMLRALMSARNIA
+ENLLATAGGERRLTDILHISELLQEAGTQLESEHALVRWLSQHILEPDSNASSQQMRLESD
+KHLVQIVTIHKSKGLEYPLVWLPFITNFRVQEQAFYHDRHSFEAVLDLNAAPESVDLAEAE
+RLAEDLRLLYVALTRSVWHCSLGVAPLVRRRGDKKGDTDVHQSALGRLLQKGEPQDAAGLR
+TCIEALCDDDIAWQTAQTGDNQPWQVNDVSTAELNAKTLQRLPGDNWRVTSYSGLQQRGHG
+IAQDLMPRLDVDAAGVASVVEEPTLTPHQFPRGASPGTFLHSLFEDLDFTQPVDPNWVREK
+LELGGFESQWEPVLTEWITAVLQAPLNETGVSLSQLSARNKQVEMEFYLPISEPLIASQLD
+TLIRQFDPLSAGCPPLEFMQVRGMLKGFIDLVFRHEGRYYLLDYKSNWLGEDSSAYTQQAM
+AAAMQAHRYDLQYQLYTLALHRYLRHRIADYDYEHHFGGVIYLFLRGVDKEHPQQGIYTTR
+PNAGLIALMDEMFAGMTLEEA
+
+   Example 3
+
+   Using a file with a list of gene names.
+   The following example will retrieve the strand direction for each gene
+   listed in the "gene_list.txt" file. String prefixed with an "@" or "list::"
+   will be interpreted as file names.
+
+% genret
+Retrieves various gene features from genome flatfile
+Input nucleotide sequence(s): refseqn:NC_000913
+List of gene name(s) to report [*]: @gene_list.txt
+Name of gene feature to access: direction
+Full text output file [nc_000913.direction]: stdout
+gene,direction
+thrA,direct
+thrB,direct
+thrC,direct
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+   Example 4
+
+   Retrieving translations of coding sequences.
+   The following example will retrieve the translated protein sequence of
+   the "recA" gene.
+
+% genret
+Retrieves various gene related information from genome flatfile
+Input nucleotide sequence(s): refseqn:NC_000913
+Gene name(s) to lookup [*]: recA
+Feature to access: translation
+Full text output file [nc_000913.translation]: stdout
+>recA
+MAIDENKQKALAAALGQIEKQFGKGSIMRLGEDRSMDVETISTGSLSLDIALGAGGLPMGR
+IVEIYGPESSGKTTLTLQVIAAAQREGKTCAFIDAEHALDPIYARKLGVDIDNLLCSQPDT
+GEQALEICDALARSGAVDVIVVDSVAALTPKAEIEGEIGDSHMGLAARMMSQAMRKLAGNL
+KQSNTLLIFINQIRMKIGVMFGNPETTTGGNALKFYASVRLDIRRIGAVKEGENVVGSETR
+VKVVKNKIAAPFKQAEFQILYGEGINFYGELVDLGVKEKLIEKAGAWYSYKGEKIGQGKAN
+ATAWLKDNPETAKEIEKKVRELLLSNPNSTPDFSVDDSEGVAETNEDF
+
+   Example 5
+
+   Retrieving feature information of the genes.
+   The following example will retrieve the start positions for each gene.
+   The values for the keys in GenBank format is available for retrieval.
+   (ex. start end direction GO* etc.)
+   Positions will be returned with a 1 start value.
+
+% genret
+Retrieves various gene related information from genome flatfile
+Input nucleotide sequence(s): refseqn:NC_000913
+Gene name(s) to lookup [*]:
+Feature to access: start
+Full text output file [nc_000913.start]:
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+   Example 6
+
+   Passing extra arguments to the methods.
+   The following example shows the retrieval of 30 base pairs around the
+   start codon of the "recA" gene. By default, the "around_startcodon" method
+   returns 200 base pairs around the start codon. Using the "-argument"
+   qualifier allows the user to change this value.
+
+% genret refseqn:NC_000913 recA around_startcodon -argument 30,30 stdout
+Retrieves various gene features from genome flatfile
+>recA
+ccggtattacccggcatgacaggagtaaaaatggctatcgacgaaaacaaacagaaagcgt
+tg
+
+   Example 7
+
+   Re-annotating a flatfile.
+   genret supports re-annotation of a genome flatfile via Restauro-G
+   service developed by our team. Using the BLAST Like Alignment Tool,
+   to refer the UniProt KB and annotates information including the description,
+   comments, feature tables, cross references, COG family, position, and Pfam.
+   The original software is available at [http://restauro-g.iab.keio.ac.jp].
+   
+
+% genret refseqn:NC_000913 '*' annotate nc_000913-annotate.gbk
+Retrieves various gene features from genome flatfile
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-gene]              string     [*] Gene name(s) to lookup (Any string)
+  [-access]            string     Feature to access (Any string)
+  [-outfile]           outfile    [*.genret] Full text output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -argument           string     Option to give to method (Any string)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   General qualifiers:
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+
+Input file format
+
+   Database definitions for the examples are included in the embossrc_template
+   file of the Keio Bioinformatcs Web Service (KBWS) package.
+
+   Input files for usage example 4
+
+   File: gene_list.txt
+
+thrA
+thrB
+thrC
+
+Output file format
+
+   Output files for usage example 1
+
+   File: nc_000913.around_startcodon
+
+>thrL
+cgtgagtaaattaaaattttattgacttaggtcactaaatactttaaccaatataggcata
+gcgcacagacagataaaaattacagagtacacaacatccatgaaacgcattagcaccacca
+ttaccaccaccatcaccattaccacaggtaacggtgcgggctgacgcgtacaggaaacaca
+gaaaaaagcccgcacctgac
+>thrA
+aggtaacggtgcgggctgacgcgtacaggaaacacagaaaaaagcccgcacctgacagtgc
+gggctttttttttcgaccaaaggtaacgaggtaacaaccatgcgagtgttgaagttcggcg
+gtacatcagtggcaaatgcagaacgttttctgcgtgttgccgatattctggaaagcaatgc
+caggcaggggcaggtggcca
+
+   [Part of this file has been deleted for brevity]
+
+>yjjY
+tgcatgtttgctacctaaattgccaactaaatcgaaacaggaagtacaaaagtccctgacc
+tgcctgatgcatgctgcaaattaacatgatcggcgtaacatgactaaagtacgtaattgcg
+ttcttgatgcactttccatcaacgtcaacaacatcattagcttggtcgtgggtactttccc
+tcaggacccgacagtgtcaa
+>yjtD
+tttttctgcgacttacgttaagaatttgtaaattcgcaccgcgtaataagttgacagtgat
+cacccggttcgcggttatttgatcaagaagagtggcaatatgcgtataacgattattctgg
+tcgcacccgccagagcagaaaatattggggcagcggcgcgggcaatgaaaacgatggggtt
+tagcgatctgcggattgtcg
+
+   Output files for usage example 5
+
+   File: nc_000913.start
+
+gene,start
+thrL,190
+thrA,337
+thrB,2801
+thrC,3734
+yaaX,5234
+yaaA,5683
+yaaJ,6529
+talB,8238
+mog,9306
+
+   [Part of this file has been deleted for brevity]
+
+yjjX,4631256
+ytjC,4631820
+rob,4632464
+creA,4633544
+creB,4634030
+creC,4634719
+creD,4636201
+arcA,4637613
+yjjY,4638425
+yjtD,4638965
+
+   Output files for usage example 7
+
+   File: ecoli-annotate.gbk
+
+LOCUS       NC_000913            4639675 bp    DNA     circular BCT 25-OCT-2010
+DEFINITION  Escherichia coli str. K-12 substr. MG1655 chromosome, complete
+            genome.
+ACCESSION   NC_000913
+VERSION     NC_000913.2  GI:49175990
+DBLINK      Project: 57779
+KEYWORDS    .
+SOURCE      Escherichia coli str. K-12 substr. MG1655
+  ORGANISM  Escherichia coli str. K-12 substr. MG1655
+            Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales;
+
+   [Part of this file has been deleted for brevity]
+
+     CDS             2801..3733
+                     /EC_number="2.7.1.39"
+                     /codon_start="1"
+                     /db_xref="GI:16127997"
+                     /db_xref="ASAP:ABE-0000010"
+                     /db_xref="UniProtKB/Swiss-Prot:P00547"
+                     /db_xref="ECOCYC:EG10999"
+                     /db_xref="EcoGene:EG10999"
+                     /db_xref="GeneID:947498"
+                     /function="enzyme; Amino acid biosynthesis: Threonine"
+                     /function="1.5.1.8 metabolism; building block
+                     biosynthesis; amino acids; threonine"
+                     /function="7.1 location of gene products; cytoplasm"
+                     /gene="thrB"
+                     /gene_synonym="ECK0003; JW0002"
+                     /locus_tag="b0003"
+                     /note="GO_component: GO:0005737 - cytoplasm; GO_process:
+                     GO:0009088 - threonine biosynthetic process"
+                     /product="homoserine kinase"
+                     /protein_id="NP_414544.1"
+                     /rs_com="FUNCTION: Catalyzes the ATP-dependent
+                     phosphorylation of L- homoserine to L-homoserine
+                     phosphate (By similarity)."
+                     /rs_com="CATALYTIC ACTIVITY: ATP + L-homoserine = ADP +
+                     O-phospho-L- homoserine."
+                     /rs_com="PATHWAY: Amino-acid biosynthesis; L-threonine
+                     biosynthesis; L- threonine from L-aspartate: step 4/5."
+                     /rs_com="SUBCELLULAR LOCATION: Cytoplasm (Potential)."
+                     /rs_com="SIMILARITY: Belongs to the GHMP kinase family.
+                     Homoserine kinase subfamily."
+                     /rs_des="RecName: Full=Homoserine kinase; Short=HK;
+                     Short=HSK; EC=2.7.1.39;"
+                     /rs_protein="Level 1: similar to KHSE_ECODH 1.7e-180"
+                     /rs_xr="EMBL; CP000948; ACB01208.1; -; Genomic_DNA."
+                     /rs_xr="RefSeq; YP_001728986.1; -."
+                     /rs_xr="ProteinModelPortal; B1XBC8; -."
+                     /rs_xr="SMR; B1XBC8; 2-308."
+                     /rs_xr="EnsemblBacteria; EBESCT00000012034;
+                     EBESCP00000011562; EBESCG00000011096."
+                     /rs_xr="GeneID; 6058639; -."
+                     /rs_xr="GenomeReviews; CP000948_GR; ECDH10B_0003."
+                     /rs_xr="KEGG; ecd:ECDH10B_0003; -."
+                     /rs_xr="HOGENOM; HBG646290; -."
+                     /rs_xr="OMA; GSAHADN; -."
+                     /rs_xr="ProtClustDB; PRK01212; -."
+                     /rs_xr="BioCyc; ECOL316385:ECDH10B_0003-MONOMER; -."
+                     /rs_xr="GO; GO:0005737; C:cytoplasm;
+                     IEA:UniProtKB-SubCell."
+                     /rs_xr="GO; GO:0005524; F:ATP binding; IEA:UniProtKB-KW."
+                     /rs_xr="GO; GO:0004413; F:homoserine kinase activity;
+                     IEA:EC."
+                     /rs_xr="GO; GO:0009088; P:threonine biosynthetic process;
+                     IEA:UniProtKB-KW."
+                     /rs_xr="HAMAP; MF_00384; Homoser_kinase; 1; -."
+                     /rs_xr="InterPro; IPR006204; GHMP_kinase."
+                     /rs_xr="InterPro; IPR013750; GHMP_kinase_C."
+                     /rs_xr="InterPro; IPR006203; GHMP_knse_ATP-bd_CS."
+                     /rs_xr="InterPro; IPR000870; Homoserine_kin."
+                     /rs_xr="InterPro; IPR020568; Ribosomal_S5_D2-typ_fold."
+                     /rs_xr="InterPro; IPR014721;
+                     Ribosomal_S5_D2-typ_fold_subgr."
+                     /rs_xr="Gene3D; G3DSA:3.30.230.10;
+                     Ribosomal_S5_D2-type_fold; 1."
+                     /rs_xr="Pfam; PF08544; GHMP_kinases_C; 1."
+                     /rs_xr="Pfam; PF00288; GHMP_kinases_N; 1."
+                     /rs_xr="PIRSF; PIRSF000676; Homoser_kin; 1."
+                     /rs_xr="PRINTS; PR00958; HOMSERKINASE."
+                     /rs_xr="SUPFAM; SSF54211; Ribosomal_S5_D2-typ_fold; 1."
+                     /rs_xr="TIGRFAMs; TIGR00191; thrB; 1."
+                     /rs_xr="PROSITE; PS00627; GHMP_KINASES_ATP; 1."
+                     /transl_table="11"
+                     /translation="MVKVYAPASSANMSVGFDVLGAAVTPVDGALLGDVVTVEAAETF
+                     SLNNLGRFADKLPSEPRENIVYQCWERFCQELGKQIPVAMTLEKNMPIGSGLGSSACS
+                     VVAALMAMNEHCGKPLNDTRLLALMGELEGRISGSIHYDNVAPCFLGGMQLMIEENDI
+                     ISQQVPGFDEWLWVLAYPGIKVSTAEARAILPAQYRRQDCIAHGRHLAGFIHACYSRQ
+                     PELAAKLMKDVIAEPYRERLLPGFRQARQAVAEIGAVASGISGSGPTLFALCDKPETA
+                     QRVADWLGKNYLQNQEGFVHICRLDTAGARVLEN"
+
+   [Part of this file has been deleted for brevity]
+
+  4639201 gcgcagtcgg gcgaaatatc attactacgc cacgccagtt gaactggtgc cgctgttaga
+  4639261 ggaaaaatct tcatggatga gccatgccgc gctggtgttt ggtcgcgaag attccgggtt
+  4639321 gactaacgaa gagttagcgt tggctgacgt tcttactggt gtgccgatgg tggcggatta
+  4639381 tccttcgctc aatctggggc aggcggtgat ggtctattgc tatcaattag caacattaat
+  4639441 acaacaaccg gcgaaaagtg atgcaacggc agaccaacat caactgcaag ctttacgcga
+  4639501 acgagccatg acattgctga cgactctggc agtggcagat gacataaaac tggtcgactg
+  4639561 gttacaacaa cgcctggggc ttttagagca acgagacacg gcaatgttgc accgtttgct
+  4639621 gcatgatatt gaaaaaaata tcaccaaata aaaaacgcct tagtaagtat ttttc
+//
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   entret Retrieve sequence entries from flatfile databases and files
+   seqret Read and write (return) sequences
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gentrez.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,182 @@
+                                    gentrez
+Function
+
+   Search NCBI Entrez
+
+Description
+
+   gentrez searches NCBI Entrez with keyword through EUtilities. 
+   This is intended for quick lookup through the command line
+   so only top ten hits are reported.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gentrez
+
+% gentrez genome 'Escherichia coli'
+Search NCBI Entrez
+ASCII text output file [genome.Escherichia coli.gentrez]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-database]          string     [pubmed] NCBI database to search (Any
+                                  string)
+  [-query]             string     Query to search (Any string)
+  [-outfile]           outfile    [$(database).$(query).gentrez] ASCII text
+                                  output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers: (none)
+   Associated qualifiers:
+
+   "-outfile" associated qualifiers
+   -odirectory3        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gentrez reads no file input.
+
+Output file format
+
+   The output from gentrez is to a plain text file.
+
+   File: genome.Escherichia coli.gentrez
+
+    53 entries found in NUCLEOTIDE: (Showing up to 10 hits)
+
+     1. Accession Number:   NZ_AKBV01000001
+        Escherichia coli str. K-12 substr. MG1655 strain K-12 cont1.1 chromosome, whole genome shotgun sequence, complete genome
+
+     2. Accession Number:   NC_018658
+        Escherichia coli O104:H4 str. 2011C-3493 chromosome, complete genome
+
+     3. Accession Number:   NC_012971
+        Escherichia coli BL21(DE3) chromosome, complete genome
+
+     4. Accession Number:   NC_017635
+        Escherichia coli W chromosome, complete genome
+
+     5. Accession Number:   NC_018650
+        Escherichia coli O104:H4 str. 2009EL-2050 chromosome, complete genome
+
+     6. Accession Number:   NC_018661
+        Escherichia coli O104:H4 str. 2009EL-2071 chromosome, complete genome
+
+     7. Accession Number:   NC_017906
+        Escherichia coli Xuzhou21 chromosome, complete genome
+
+     8. Accession Number:   NC_017634
+        Escherichia coli O83:H1 str. NRG 857C chromosome, complete genome
+
+     9. Accession Number:   NC_017656
+        Escherichia coli O55:H7 str. RM12579 chromosome, complete genome
+
+    10. Accession Number:   NC_017664
+        Escherichia coli W chromosome, complete genome
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   None.
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gew.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,211 @@
+                                      gew
+Function
+
+   Calculate a measure of synonymous codon usage evenness (Ew)
+
+Description
+
+   gew calculates the 'weighted sum of relative entropy' (Ew) as a measure
+   of synonymous codon usage evenness for each gene. This index takes all
+   three aspects of amino acid usage (number of distinct amino acids,
+   relatieve frequencies, and degree of codon degeneracy) into account.
+   The values range from 0 (no bias) to 1 (maximum bias).
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gew
+
+% gew refseqn:NC_000913
+Calculate a measure of synonymous codon usage evenness (Ew)
+Codon usage output file [nc_000913.gew]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gew] Codon usage output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -translate          boolean    [N] Include when translates using standard
+                                  codon table
+   -delkey             string     [[^ACDEFGHIKLMNPQRSTVWYacgtU]] Regular
+                                  expression to delete key (i.e. amino acids
+                                  and nucleotides) (Any string)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gew reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gew is to a plain text file.
+
+   File: nc_000913.gew
+
+Sequence: NC_000913
+Ew,gene
+0.2800,thrL
+0.8458,thrA
+0.8292,thrB
+0.7937,thrC
+0.7032,yaaX
+0.7922,yaaA
+0.8100,yaaJ
+0.6685,talB
+
+   [Part of this file has been deleted for brevity]
+
+0.7943,yjjX
+0.7265,ytjC
+0.7932,rob
+0.7498,creA
+0.7967,creB
+0.8490,creC
+0.7979,creD
+0.6826,arcA
+0.6475,yjjY
+0.7729,yjtD
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Suzuki H. et al. (2004) The 'weighted sum of relative entropy': a new
+      index for synonymous codon usage bias, Gene, 23;335:19-23.
+
+   Suzuki H. et al. (2007) Variation in the correlation of G + C composition
+      with synonymous codon usage bias among bacteria, EURASIP J Bioinform
+      Syst Biol, 2007:61374.
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   genc    Calculate the effective number of codons (Nc)
+   gfop    Calculate the frequency of optimal codons (Fop)
+   gscs    Calculates the scaled chi-square
+   gwvalue Calculate the 'relative adaptiveness of each codon' (W)
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gfindoriter.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,189 @@
+                                  gfindoriter
+Function
+
+   Predict the replication origin and terminus in bacterial genomes
+
+Description
+
+   gfindoriter predicts the replicational origin and terminus in circular
+   bacterial genomes, by taking the vertices of cumulative skew graphs (GC,
+   d keto, or purine). See Frank and Lobry (2000) for the basic idea behind
+   this algorithm (but also note that this algorithm is different from that
+   of Oriloc, which uses GC3 of genes). 
+   Terminus of replication can be more accurate by using noise-reduction 
+   filtering using Fourier spectrum of the GC skew. This low-pass filtering
+   can be applied using -filter option. See Arakawa et al. (2007) for details.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gfindoriter
+
+% gfindoriter refseqn:NC_000913
+Predict the replication origin and terminus in bacterial genomes
+Output file [nc_000913.gfindoriter]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gfindoriter] Output file name
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -window             integer    [4096] Number of windows to use for Fat
+                                  Fourier Transform. Only active when -lowpass
+                                  option is specified. Value must be the
+                                  power of two (Any integer value)
+   -purine             boolean    [N] Use purine skew for calculation
+   -keto               boolean    [N] Use keto skew for calculation
+   -lowpass            integer    [0] Lowpass filter strength in percent.
+                                  Typically 95 or 99 works best (Any integer
+                                  value)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gfindoriter reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gfindoriter is to a plain text file.
+
+   File: nc_000913.gfindoriter
+
+Sequence: NC_000913 Origin: 3922946 Terminus: 1550274
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Frank AC, Lobry JR (2000) Oriloc: prediction of replication boundaries in
+      unannotated bacterial chromosomes, Bioinformatics, 16:566-567.
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   greporiter Gets the positions of replication origin and terminus
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gfop.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,209 @@
+                                      gfop
+Function
+
+   Calculate the frequency of optimal codons (Fop)
+
+Description
+
+   gfop calculates the frequency of optimal codons (Fop).Fop is an index to
+   show the optimization level of synonymous codon usage choice. It is
+   basically a ratio of optimal codons against all codons used. The value
+   of Fop ranges from 0 (no optimal codons are used) and 1 (only optimal
+   codons are used).
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gfop
+
+% gfop refseqn:NC_000913
+Calculate the frequency of optimal codons (Fop)
+Codon usage output file [nc_000913.gfop]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gfop] Codon usage output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -translate          boolean    [N] Include when translates using standard
+                                  codon table
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gfop reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gfop is to a plain text file.
+
+   File: nc_000913.gfop
+
+Sequence: NC_000913
+Laa,Lc,fop,gene
+20,5,0.4000,thrL
+819,133,0.4361,thrA
+309,46,0.4783,thrB
+427,69,0.5217,thrC
+97,7,0.2857,yaaX
+257,56,0.4643,yaaA
+475,96,0.3958,yaaJ
+316,56,0.6964,talB
+
+   [Part of this file has been deleted for brevity]
+
+169,27,0.2593,yjjX
+214,23,0.5652,ytjC
+288,49,0.4082,rob
+156,23,0.3478,creA
+228,26,0.3462,creB
+473,69,0.3478,creC
+449,70,0.3286,creD
+237,46,0.6957,arcA
+45,10,0.7000,yjjY
+227,24,0.2500,yjtD
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Ikemura, T. (1981) Correlation between the abundance of Escherichia coli
+      transfer RNAs and the occurrence of the respective codons in its protein
+      genes: a proposal for a synonymous codon choice that is optimal for the
+      E. coli translational system, J.Mol.Biol, 151:389-409.
+
+   Ikemura (1985) Codon usage and tRNA content in unicellular and multicellular
+      organisms, Mol.Biol.Evol, 2(1):13-34.
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   genc    Calculate the effective number of codons (Nc)
+   gew     Calculate a measure of synonymous codon usage evenness (Ew)
+   gscs    Calculates the scaled chi-square
+   gwvalue Calculate the 'relative adaptiveness of each codon' (W)
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/ggcsi.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,204 @@
+                                     ggcsi
+Function
+
+   GC Skew Index: an index for strand-specific mutational bias
+
+Description
+
+   ggcsi calculates the GC Skew Index (GCSI) of the given circular bacterial
+   genome. GCSI quantifies the degree of GC Skew. In other words, this index
+   represents the degree of strand-specific mutational bias in bacterial
+   genomes, caused by replicational selection. 
+   GCSI is calculated by the following formula:
+
+      GCSI = sqrt((SA/6000) * (dist/600))
+
+   where SA is the spectral amplitude of Fourier power spectrum at 1Hz,
+   and dist is the normalized Euclidean distance between the vertices of 
+   cumulative GC skew.
+
+   GCSI ranges from 0 (no observable skew) to 1 (strong skew), and Archaeal
+   genomes that have multiple replication origins and therefore have no
+   observable skew mostly have GCSI below 0.05. Escherichia coli genome has
+   values around 0.10.
+
+   Version 1 of GCSI required fixed number of windows (4096), but the new GCSI
+   version 2 (also known as generalized GCSI: gGCSI) is invariant of the number
+   of windows. GCSI version 1 is calculated as an arithmetic mean (as opposed
+   to the geometric mean of gGCSI) of SR (spectral ratio, the signal-to-noise
+   ratio of 1Hz power spectrum) and dist.
+   
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with ggcsi
+
+% ggcsi refseqn:NC_000913
+GC Skew Index: an index for strand-specific mutational bias
+Program compseq output file [nc_000913.ggcsi]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.ggcsi] Program compseq output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -gcsi               selection  [2] GCSI version to use
+   -window             integer    [4096] Number of windows. Must be a power of
+                                  2 (Any integer value)
+   -purine             boolean    [N] Use purine skew for calculation
+   -keto               boolean    [N] Use keto skew for calculation
+   -at                 boolean    [N] Use AT skew for calculation
+   -pval               boolean    [N] Calculate p-value when GCSI version 2 is
+                                  selected
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   ggcsi reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from ggcsi is to a plain text file.
+
+   File: nc_000913.ggcsi
+
+Sequence: NC_000913 GCSI: 0.0966615833014818 SA: 487.218569030757 DIST: 69.037726
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gb1          Calculate strand bias of bacterial genome using B1 index
+   gb2          Calculate strand bias of bacterial genome using B2 index
+   gdeltagcskew Calculate strand bias of bacterial genome using delta GC skew
+                index
+   gldabias     Calculate strand bias of bacterial genome using linear
+                discriminant analysis (LDA)
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/ggcskew.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,231 @@
+                                    ggcskew
+Function
+
+   Calculates the GC skew of the input sequence
+
+Description
+
+   ggcskew calculates and plots the GC skew of the given sequence. The "skew"
+   of a sequence is calculated as (C-G)/(C+G) in GC skew. The program can
+   alternatively calculate AT skew, purine skew, and keto skew, as well as
+   cumulative skew. GC skew is used to observe various biological aspects
+   such as prediction of replication origin and terminus in bacteria.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with ggcskew
+
+% ggcskew refseqn:NC_000913
+Calculates the GC skew of the input sequence
+Program compseq output file (optional) [nc_000913.ggcskew]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+   Example 2
+
+% ggcskew refseqn:NC_000913 -plot -graph png
+Calculates the GC skew of the input sequence
+Created ggcskew.1.png
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers (* if not always prompted):
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+*  -graph              xygraph    [$EMBOSS_GRAPHICS value, or x11] Graph type
+                                  (ps, hpgl, hp7470, hp7580, meta, cps, x11,
+                                  tek, tekt, none, data, xterm, png, gif, svg)
+*  -outfile            outfile    [*.ggcskew] Program compseq output file
+                                  (optional)
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -window             integer    [10000] Window size to observe (Any integer
+                                  value)
+   -slide              integer    [10000] Window slide size (Any integer
+                                  value)
+   -cumulative         boolean    [N] Include to calculate cumulative skew
+   -at                 boolean    [N] Include for observing AT skew instead of
+                                  GC skew
+   -purine             boolean    [N] Include for observing purine (AG/TC)
+                                  skew
+   -keto               boolean    [N] Include for observing keto (TG/AC) skew
+   -plot               toggle     [N] Include to plot result
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-graph" associated qualifiers
+   -gprompt            boolean    Graph prompting
+   -gdesc              string     Graph description
+   -gtitle             string     Graph title
+   -gsubtitle          string     Graph subtitle
+   -gxtitle            string     Graph x axis title
+   -gytitle            string     Graph y axis title
+   -goutfile           string     Output file for non interactive displays
+   -gdirectory         string     Output directory
+
+   "-outfile" associated qualifiers
+   -odirectory         string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   ggcskew reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from ggcskew is to a plain text file or the EMBOSS graphics
+   device.
+
+   File: nc_000913.ggcskew
+
+Sequence: NC_000913
+location,GC skew
+0,-0.035529
+10000,-0.039648
+20000,-0.049791
+30000,0.005072
+40000,-0.063483
+50000,-0.030256
+60000,0.011875
+70000,-0.029478
+
+   [Part of this file has been deleted for brevity]
+
+4530000,-0.017164
+4540000,-0.036140
+4550000,-0.028166
+4560000,0.012166
+4570000,-0.040486
+4580000,-0.020692
+4590000,-0.043920
+4600000,-0.026363
+4610000,-0.022778
+4620000,-0.049396
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   ggcwin       Calculates the GC content along the given genome
+   ggeneskew    Calculate the gene strand bias of the given genome
+   ggenomicskew Calculates the GC skew in different regions of the given genom
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/ggcwin.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,224 @@
+                                     ggcwin
+Function
+
+   Calculates the GC content along the given genome
+
+Description
+
+   ggcwin calculates and plots the GC content of the given sequence.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with ggcwin
+
+% ggcwin refseqn:NC_000913
+Calculates the GC content along the given genome
+Program compseq output file (optional) [nc_000913.ggcwin]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+   Example 2
+
+% ggcwin refseqn:NC_000913 -plot -graph png
+Calculates the GC content along the given genome
+Created ggcwin.1.png
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers (* if not always prompted):
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+*  -graph              xygraph    [$EMBOSS_GRAPHICS value, or x11] Graph type
+                                  (ps, hpgl, hp7470, hp7580, meta, cps, x11,
+                                  tek, tekt, none, data, xterm, png, gif, svg)
+*  -outfile            outfile    [*.ggcwin] Program compseq output file
+                                  (optional)
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -window             integer    [10000] Window size to observe (Any integer
+                                  value)
+   -at                 boolean    [N] Include for observing AT skew instead of
+                                  GC skew
+   -purine             boolean    [N] Include for observing purine (AG/TC)
+                                  skew
+   -keto               boolean    [N] Include for observing keto (TG/AC) skew
+                                  default: "0
+   -plot               toggle     [N] Include to plot result
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-graph" associated qualifiers
+   -gprompt            boolean    Graph prompting
+   -gdesc              string     Graph description
+   -gtitle             string     Graph title
+   -gsubtitle          string     Graph subtitle
+   -gxtitle            string     Graph x axis title
+   -gytitle            string     Graph y axis title
+   -goutfile           string     Output file for non interactive displays
+   -gdirectory         string     Output directory
+
+   "-outfile" associated qualifiers
+   -odirectory         string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   ggcwin reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from ggcwin is to a plain text file or the EMBOSS graphics device.
+
+   File: nc_000913.ggcwin
+
+Sequence: NC_000913
+location,GC content
+0,0.520700
+10000,0.499400
+20000,0.526200
+30000,0.532300
+40000,0.527700
+50000,0.515600
+60000,0.555800
+70000,0.536000
+
+   [Part of this file has been deleted for brevity]
+
+4530000,0.442800
+4540000,0.487000
+4550000,0.507700
+4560000,0.509600
+4570000,0.444600
+4580000,0.531600
+4590000,0.512300
+4600000,0.504500
+4610000,0.535600
+4620000,0.546600
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   ggcskew      Calculates the GC skew of the input sequence
+   ggeneskew    Calculate the gene strand bias of the given genome
+   ggenomicskew Calculates the GC skew in different regions of the given genom
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/ggeneskew.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,232 @@
+                                   ggeneskew
+Function
+
+   Calculate the gene strand bias of the given genome
+
+Description
+
+   ggeneskew calculates and plots the strand bias of genes (or the GC skew
+   within them). By default, this program visualizes the gene strand preference
+   (1 for direct, -1 for complement strand), but by specifying -base option
+   option, GC/AT/Purine/Keto skews of the coding regions or more specifically
+   in the GC3 (third codon position) with -gctri option can be calculated.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with ggeneskew
+
+% ggeneskew refseqn:NC_000913
+Calculate the gene strand bias of the given genome
+Program compseq output file (optional) [nc_000913.ggeneskew]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+   Example 2
+
+% ggeneskew refseqn:NC_000913 -plot -graph png
+Calculate the gene strand bias of the given genome
+Created ggeneskew.1.png
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers (* if not always prompted):
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+*  -graph              xygraph    [$EMBOSS_GRAPHICS value, or x11] Graph type
+                                  (ps, hpgl, hp7470, hp7580, meta, cps, x11,
+                                  tek, tekt, none, data, xterm, png, gif, svg)
+*  -outfile            outfile    [*.ggeneskew] Program compseq output file
+                                  (optional)
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -window             integer    [10000] Window size to observe (Any integer
+                                  value)
+   -slide              integer    [10000] Window slide size (Any integer
+                                  value)
+   -cumulative         boolean    [N] Input 1 to calculate cumulative skew
+   -base               selection  [none] Input 'gc', 'at', 'purine', or 'keto'
+                                  for observing GC/AT/Purine/Keto skews
+   -gctri              boolean    [N] Include to use only the third codon
+                                  positions
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+   -plot               toggle     [N] Include to plot result
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-graph" associated qualifiers
+   -gprompt            boolean    Graph prompting
+   -gdesc              string     Graph description
+   -gtitle             string     Graph title
+   -gsubtitle          string     Graph subtitle
+   -gxtitle            string     Graph x axis title
+   -gytitle            string     Graph y axis title
+   -goutfile           string     Output file for non interactive displays
+   -gdirectory         string     Output directory
+
+   "-outfile" associated qualifiers
+   -odirectory         string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   ggeneskew reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from ggeneskew is to a plain text file or the EMBOSS graphics
+   device.
+
+   File: nc_000913.ggeneskew
+
+Sequence: NC_000913
+location,gene None skew
+190,0.294118
+337,-0.058914
+2801,-0.120000
+3734,-0.070588
+5234,0.037500
+5683,0.020725
+6529,0.032765
+8238,-0.028226
+
+   [Part of this file has been deleted for brevity]
+
+4631820,-0.093407
+4632464,-0.006479
+4633544,-0.120690
+4634030,-0.060367
+4634719,-0.104167
+4636201,-0.144560
+4637613,0.010929
+4638425,0.200000
+4638965,-0.081871
+,
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   ggcskew      Calculates the GC skew of the input sequence
+   ggcwin       Calculates the GC content along the given genome
+   ggenomicskew Calculates the GC skew in different regions of the given genom
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/ggenomemap3.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,173 @@
+                                  ggenomemap3
+Function
+
+   Draws the map of the genome (version 3)
+
+Description
+
+   ggenomemap3 creates a map of the genome, showing the local nucleotide
+   contents and positions of genes. A is shown in red, T is shown in green, 
+   G is shown in yellow, and C is shown in blue.
+   Created image has a resolution of 8192x8192 and is suited for conversion
+   to SVG, which can be performed by specifying the -format option. The formats
+   available are dependent to the "convert" command from ImageMagick.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with ggenomemap3
+
+% ggenomemap3 refseqn:NC_000913
+Draws the map of the genome (version 3)
+Created ggenomemap3.1.png
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -format             string     [png] Output file format. Dependent on
+                                  'convert' command (Any string)
+   -width              integer    [8192] Image width (Any integer value)
+   -height             integer    [8192] Image height (Any integer value)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+   -goutfile           string     [ggenomemap3] Output file for non
+                                  interactive displays (Any string)
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   ggenomemap3 reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from ggenomemap3 is to an image file.
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gcircularmap Draws circular map of the genome
+   gdnawalk     Draws DNA Walk map of the genome
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/ggenomicskew.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,225 @@
+                                  ggenomicskew
+Function
+
+   Calculates the GC skew in different regions of the given genome
+
+Description
+
+   ggenomicskew calculates and plots the GC skew for the whole genome, coding
+   regions, intergenic regions, and the third codon. This program is useful in
+   visualizing various base composition bias within the genome. AT skew can be
+   calculated instead of GC skew by toggling the -at qualifier.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with ggenomicskew
+
+% ggenomicskew refseqn:NC_000913
+Calculates the GC skew in different regions of the given genome
+Program compseq output file (optional) [nc_000913.ggenomicskew]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+   Example 2
+
+% ggenomicskew refseqn:NC_000913 -plot -graph png
+Calculates the GC skew in different regions of the given genome
+Created ggenomicskew.1.png
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers (* if not always prompted):
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+*  -graph              xygraph    [$EMBOSS_GRAPHICS value, or x11] Graph type
+                                  (ps, hpgl, hp7470, hp7580, meta, cps, x11,
+                                  tek, tekt, none, data, xterm, png, gif, svg)
+*  -outfile            outfile    [*.ggenomicskew] Program compseq output file
+                                  (optional)
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -divide             integer    [250] Window to divide into (Any integer
+                                  value)
+   -at                 boolean    [N] Input 1 when observing AT skew instead
+                                  of GC skew
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+   -plot               toggle     [N] Include to plot result
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-graph" associated qualifiers
+   -gprompt            boolean    Graph prompting
+   -gdesc              string     Graph description
+   -gtitle             string     Graph title
+   -gsubtitle          string     Graph subtitle
+   -gxtitle            string     Graph x axis title
+   -gytitle            string     Graph y axis title
+   -goutfile           string     Output file for non interactive displays
+   -gdirectory         string     Output directory
+
+   "-outfile" associated qualifiers
+   -odirectory         string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   ggenomicskew reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from ggenomicskew is to a plain text file or the EMBOSS graphics device.
+
+   File: nc_000913.ggenomicskew
+
+Sequence: NC_000913
+location,GC skew,coding,intergenic,third codon
+0,-0.036259,-0.040085,-0.034707,-0.141888,
+1,-0.031167,-0.035657,0.047953,-0.175758,
+2,-0.028670,-0.031139,-0.049143,-0.018466,
+3,-0.016647,-0.004656,-0.102616,0.086181,
+4,-0.041985,-0.029846,-0.088670,0.015291,
+5,-0.097093,-0.103813,-0.067275,-0.247401,
+6,-0.028028,-0.016363,-0.048806,-0.047332,
+7,-0.055805,-0.059329,-0.020071,-0.123271,
+
+   [Part of this file has been deleted for brevity]
+
+241,0.000772,-0.012151,-0.063786,0.069585,
+242,-0.025787,-0.000384,-0.049143,0.029431,
+243,0.010516,0.008217,-0.030600,0.128657,
+244,-0.037115,-0.015134,0.017500,0.035398,
+245,-0.000317,0.006021,-0.047170,0.091549,
+246,-0.025417,-0.015190,-0.116608,0.044619,
+247,-0.038404,-0.035676,-0.135714,0.015375,
+248,-0.026246,-0.024240,-0.037190,-0.130118,
+249,-0.053371,-0.057225,-0.022472,-0.082167,
+250,-0.026316,0.166667,-0.151515,0.000000,
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   ggcskew   Calculates the GC skew of the input sequence
+   ggcwin    Calculates the GC content along the given genome
+   ggeneskew Calculate the gene strand bias of the given genome
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gicdi.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,210 @@
+                                     gicdi
+Function
+
+   Calculates the intrinsic codon deviation index (ICDI)
+
+Description
+
+   gicdi calculates the intrinsic codon deviation index (ICDI). ICDI is a
+   measure to estimate codon bias of genes from species in which optimal
+   codons are not known. It is known to show high correlation with other
+   indices such as CBI and ENC. A gene using only one codon for each amino
+   acid will have an ICDI of 1, and a gene using every codon equally for
+   each amino acid will have an ICDI of 0.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gicdi
+
+% gicdi refseqn:NC_000913
+Calculates the intrinsic codon deviation index (ICDI)
+Codon usage output file [nc_000913.gicdi]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gicdi] Codon usage output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -translate          boolean    [N] Include when translating using standard
+                                  codon table
+   -delkey             string     [[^ACDEFGHIKLMNPQRSTVWYacgtU]] Regular
+                                  expression to delete key (Any string)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gicdi reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gicdi is to a plain text file.
+
+   File: nc_000913.gicdi
+
+Sequence: NC_000913
+icdi,gene
+0.8192,thrL
+0.1258,thrA
+0.1127,thrB
+0.1689,thrC
+0.3099,yaaX
+0.2030,yaaA
+0.1600,yaaJ
+0.3533,talB
+
+   [Part of this file has been deleted for brevity]
+
+0.2203,yjjX
+0.2719,ytjC
+0.1377,rob
+0.2647,creA
+0.1944,creB
+0.1733,creC
+0.1926,creD
+0.2728,arcA
+0.5171,yjjY
+0.2434,yjtD
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Comeron JM, Aguade M. (1998) An evaluation of measures of synonymous codon
+      usage bias, J Mol Evol, 47(3):268-74.
+
+   Freire-Picos MA et al. (1994) Codon usage in Kluyveromyces lactis and in
+      yeast cytochrome c-encoding genes, Gene, 139:43-49.
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gcbi      Calculates the codon bias index (CBI)
+   gdeltaenc Calculate the codon usage bias related to translation optimization
+             (delta ENC)
+   gsvalue   Calculate the strength of selected codon usage bias (S)
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gkmertable.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,187 @@
+                                   gkmertable
+Function
+
+   Create an image showing all k-mer abundance within a sequence
+
+Description
+
+   gkmertable creates an image showing the abundance of all k-mers
+   (oligonucleotides of length k) in a given sequence. For example, for
+   tetramers (k=4), resulting image is composed of 4^4 = 256 boxes, each
+   representing an oligomer. Oligomer name and abundance is written within
+   these boxes, and abundance is also visualized with the box color, from
+   white (none) to black (highly frequent).
+
+   This k-mer table is alternatively known as the FCGR (frequency matrices
+   extracted from Chaos Game Representation).
+   Position of the oligomers can be recursively located as follows:
+   For each letter in an oligomer, a box is subdivided into four quadrants, 
+   where A is upper left, T is lower right, G is upper right, and C is lower
+   left.
+
+   Therefore, oligomer ATGC is in the 
+   A = upper left quadrant
+   T = lower right within the above quadrant
+   G = upper right within the above quadrant
+   C = lower left within the above quadrant
+   More detailed documentation is available at 
+   http://www.g-language.org/wiki/cgr
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gkmertable
+
+% gkmertable refseqn:NC_000913
+Create an image showing all k-mer abundance within a sequence
+Created gkmertable.1.png
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -format             string     [png] Output file format. Dependent on
+                                  'convert' command (Any string)
+   -k                  integer    [6] Length of oligomer (Any integer value)
+   -goutfile           string     [gkmertable] Output file for non interactive
+                                  displays (Any string)
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gkmertable reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gkmertable is to an image file.
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gnucleotideperiodicity Checks the periodicity of certain oligonucleotides
+   goligomercounter       Counts the number of given oligomers in a sequence
+   goligomersearch        Searches oligomers in given sequence
+   gsignature             Calculate oligonucleotide usage (genomic signature)
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gldabias.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,194 @@
+                                    gldabias
+Function
+
+   Calculate strand bias of bacterial genome using linear discriminant
+
+Description
+
+   gldabias calculates strand bias of bacterial genome using linear
+   discriminant analysis (LDA), as proposed in Reference 1. The basic idea is
+   to use composition data of genes to train and predict the strand of genes
+   residing either on the leading or the lagging strand. For computational
+   efficiency, this method trans and predicts the strands at putative
+   replication origin as reported by the rep_ori_ter() method. This usually
+   results in maximum predictability of LDA within bacterial genomes.
+   Data to use for LDA can be chosen from "base", "codonbase", "codon", and
+   "amino", with -variable option.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gldabias
+
+% gldabias refseqn:NC_000913
+Calculate strand bias of bacterial genome using linear discriminant
+analysis (LDA)
+Program compseq output file [nc_000913.gldabias]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+Calculate strand bias of bacterial genome using linear discriminant
+analysis (LDA)
+Version: EMBOSS:6.5.7.0 GEMBASSY:1.0.1
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gldabias] Program compseq output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -coefficients       integer    [0] Show LDA coefficients (Any integer
+                                  value)
+   -variable           selection  [codon] Data to use for LDA. Either 'base',
+                                  'codonbase', 'codon', or 'amino'
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gldabias reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gldabias is to a plain text file.
+
+   File: nc_000913.gldabias
+
+Sequence: NC_000913 LDA-BIAS: 0.742533
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Rocha EPC et al. (1999) "Universal replication biases in bacteria",
+      Molecular Microbiology, 32(1):11-16
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gb1          Calculate strand bias of bacterial genome using B1 index
+   gb2          Calculate strand bias of bacterial genome using B2 index
+   gdeltagcskew Calculate strand bias of bacterial genome using delta GC skew
+                index
+   ggcsi        GC Skew Index: an index for strand-specefic mutational bias
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gnucleotideperiodicity.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,228 @@
+                             gnucleotideperiodicity
+Function
+
+   Checks the periodicity of certain oligonucleotides
+
+Description
+
+   gnucleotideperiodicity checks the periodicity of certain nucleotide
+   (best known with AA dinucleotide). Bacteria and archaebacteria are
+   known to show periodicity of ApA dinucleotides at about 11bp and 10bp.
+   Lower eukaryotes also show periodicity but higher eukaryotes do not.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gnucleotideperiodicity
+
+% gnucleotideperiodicity refseqn:NC_000913
+Checks the periodicity of certain oligonucleotides
+Program compseq output file (optional) [nc_000913.gnucleotideperiodicity]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+   Example 2
+
+% gnucleotideperiodicity refseqn:NC_000913 -plot -graph png
+Checks the periodicity of certain oligonucleotides
+Created gnucleotideperiodicity.1.png
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers (* if not always prompted):
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+*  -graph              xygraph    [$EMBOSS_GRAPHICS value, or x11] Graph type
+                                  (ps, hpgl, hp7470, hp7580, meta, cps, x11,
+                                  tek, tekt, none, data, xterm, png, gif, svg)
+*  -outfile            outfile    [*.gnucleotideperiodicity] Program compseq
+                                  output file (optional)
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -format             string     [png] Output file format. Dependent on
+                                  'convert' command (Any string)
+   -window             integer    [50] Window size to seek periodicity (Any
+                                  integer value)
+   -nucleotide         string     [aa] Nucleotide to search (Any string)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+   -plot               toggle     [N] Include to plot result
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-graph" associated qualifiers
+   -gprompt            boolean    Graph prompting
+   -gdesc              string     Graph description
+   -gtitle             string     Graph title
+   -gsubtitle          string     Graph subtitle
+   -gxtitle            string     Graph x axis title
+   -gytitle            string     Graph y axis title
+   -goutfile           string     Output file for non interactive displays
+   -gdirectory         string     Output directory
+
+   "-outfile" associated qualifiers
+   -odirectory         string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gnucleotideperiodicity reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gnucleotideperiodicity is to a plain text file or the EMBOSS graphics device.
+
+   File: nc_000913.gnucleotideperiodicity
+
+Sequence: NC_000913
+window,value
+0,35134
+1,30121
+2,25409
+3,23508
+4,25830
+5,25136
+6,25658
+7,28279
+
+   [Part of this file has been deleted for brevity]
+
+40,28042
+41,25892
+42,25968
+43,28240
+44,25841
+45,25591
+46,27788
+47,25832
+48,25427
+49,0
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gkmertable       Create an image showing all k-mer abundance within a
+                    sequence
+   goligomercounter Counts the number of given oligomers in a sequence
+   goligomersearch  Searches oligomers in given sequence
+   gsignature       Calculate oligonucleotide usage (genomic signature)
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/goligomercounter.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,180 @@
+                                goligomercounter
+Function
+
+   Counts the number of given oligomers in a sequence
+
+Description
+
+   goligomercounter counts the number of oligomers in a sequence (by windows
+   optionally). Oligomer can be specified using degenerate nucleotide alphabet,
+   or by regular expressions. k-mers can be counted by specifying the "-length"
+   qualifier.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with goligomercounter
+
+% goligomercounter refseqn:NC_000913 atgcatgc
+Counts the number of given oligomers in a sequence
+Program compseq output file [nc_000913.goligomercounter]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-oligomer]          string     Oligomer to count (Any string)
+  [-outfile]           outfile    [*.goligomercounter] Program compseq output
+                                  file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -window             integer    [0] Int window size (Any integer value)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory3        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   goligomercounter reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from goligomercounter is to a plain text file.
+
+   File: nc_000913.goligomercounter
+
+Sequence: NC_000913 Oligomer: atgcatgc Number: 27
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gkmertable             Create an image showing all k-mer abundance within a
+                          sequence
+   gnucleotideperiodicity Checks the periodicity of certain oligonucleotides
+   goligomersearch        Searches oligomers in given sequence
+   gsignature             Calculate oligonucleotide usage (genomic signature)
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/goligomersearch.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,186 @@
+                                goligomersearch
+Function
+
+   Searches oligomers in given sequence
+
+Description
+
+   goligomersearch searches for the given oligomer in given sequence. Oligomer
+   can be specified using degenerate nucleotide alphabet, or by regular
+   expressions. Performance is optimized for fast searching.
+   This method changes the returning value according to the given options.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with goligomersearch
+
+% goligomersearch refseqn:NC_000913 atgcatgc
+Searches oligomers in given sequence
+Program compseq output file [nc_000913.goligomersearch]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-oligomer]          string     Oligomer to search (Any string)
+  [-outfile]           outfile    [*.goligomersearch] Program compseq output
+                                  file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -return             selection  [position] 'position' to return list of
+                                  positions where oligomers are found, 'oligo'
+                                  to return list of oligomers found ordered
+                                  by positions, 'both' to return a hash with
+                                  positions as keys and oligomers as values,
+                                  'distribution' to return four values about
+                                  the distribution of given oligomer
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory3        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   goligomersearch reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from goligomersearch is to a plain text file.
+
+   File: nc_000913.goligomersearch
+
+Sequence: NC_000913 Oligomer: atgcatgc Return: 147018,366819,653138,863326,1288615,1627117,2111200,2246695,2697278,2750962,2826906,2882353,2998362,3022134,3346029,3477018,3629113,3842819,3958304,3982183,4013480,4285578,4474663,4484501,4499080,4604562,4638391
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gkmertable             Create an image showing all k-mer abundance within a
+                          sequence
+   gnucleotideperiodicity Checks the periodicity of certain oligonucleotides
+   goligomercounter       Counts the number of given oligomers in a sequence
+   gsignature             Calculate oligonucleotide usage (genomic signature)
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gp2.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,201 @@
+                                      gp2
+Function
+
+   Calculate the P2 index of each gene
+
+Description
+
+   gp2 calculates the P2 index for each gene. This index describes
+   the proportion of codons conforming to the intermediate strength of
+   codon-anticodon interaction energy rule of Grosjean and Fiers:
+   P2 = (WWC+SSU)/(WWY+SSY) where W = A or U, S = C or G, and Y = C or U.
+   It indicates the efficiency of the codon-anticodon interaction, and has
+   been used as an indicator of the presence of translational selection.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gp2
+
+% gp2 refseqn:NC_000913
+Calculate the P2 index of each gene
+Codon usage output file [nc_000913.gp2]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gp2] Codon usage output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gp2 reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gp2 is to a plain text file.
+
+   File: nc_000913.gp2
+
+Sequence: NC_000913
+P2,gene
+0.4444,thrL
+0.4234,thrA
+0.4565,thrB
+0.5156,thrC
+0.4074,yaaX
+0.4494,yaaA
+0.3621,yaaJ
+0.6832,talB
+
+   [Part of this file has been deleted for brevity]
+
+0.3692,yjjX
+0.4912,ytjC
+0.4271,rob
+0.4318,creA
+0.3065,creB
+0.3851,creC
+0.4320,creD
+0.6395,arcA
+0.7857,yjjY
+0.3333,yjtD
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Gouy M, Gautier C. (1982) Codon usage in bacteria: correlation with gene
+      expressivity, Nucleic Acids Res, 10(22):7055-74.
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gcai Calculate codon adaptation index for each gene
+   gphx Identify predicted highly expressed gene
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gpalindrome.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,201 @@
+                                  gpalindrome
+Function
+
+   Searches palindrome sequences
+
+Description
+
+   gpalindrome searches for palindrome sequences in the genome.
+   Search parameters can be changed for more efficient searches, and g-t
+   matching can be specified by passing the "-gtmatch" qualifier.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gpalindrome
+
+% gpalindrome refseqn:NC_000913
+Searches palindrome sequences
+Program compseq output file [nc_000913.gpalindrome]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gpalindrome] Program compseq output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -shortest           integer    [4] Shortest palindrome to search (Any
+                                  integer value)
+   -loop               integer    [0] Longest stem loop to allow (Any integer
+                                  value)
+   -gtmatch            boolean    [0] If 1, allows g-t match
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gpalindrome reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gpalindrome is to a plain text file.
+
+   File: nc_000913.gpalindrome
+
+Sequence: NC_000913
+Length, start, end, sequence
+4,16,18,tg  ca
+4,27,29,at  at
+4,44,46,tt  aa
+4,67,69,ag  ct
+4,97,99,aa  tt
+4,99,101,tt  aa
+10,100,108,taaaa  tttta
+4,132,134,tt  aa
+
+   [Part of this file has been deleted for brevity]
+
+4,4639484,4639486,tg  ca
+6,4639487,4639491,aag  ctt
+4,4639495,4639497,cg  cg
+4,4639506,4639508,ca  tg
+6,4639552,4639556,gtc  gac
+4,4639607,4639609,tg  ca
+4,4639619,4639621,tg  ca
+4,4639621,4639623,ca  tg
+4,4639625,4639627,at  at
+4,4639637,4639639,at  at
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gconsensus_z Calculate consensus in given array of sequences
+   gdist_in_cc  Calculates the distance between two loci in circular chromosomes
+   gseqinfo     Prints out basic nucleotide sequence statistics
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gphx.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,211 @@
+                                      gphx
+Function
+
+   Identify predicted highly expressed gene
+
+Description
+
+   gphx calculates codon usage differences between gene classes for identifying
+   Predicted Highly eXpressed (PHX) and Putative Alien (PA) genes. A gene is
+   identified as PHX if BgC/BgH >= 1, where BgC and BgH is a value < 1 by it's
+   nature. PHX genes are known to generally have favorable codon usage, strong
+   SD sequences, and probably stronger conservation of promoter sequences.
+   A gene is idenfitied as PA if BgC and BgH is greater than the median of
+   BgC for every gene with a length close to the gene.
+
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gphx
+
+% gphx refseqn:NC_000913
+Identify predicted highly expressed gene
+Codon usage output file [nc_000913.gphx]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gphx] Codon usage output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -translate          boolean    [N] Include when translating using standard
+                                  codon table
+   -delkey             string     [[^ACDEFGHIKLMNPQRSTVWYacgtU]] Regular
+                                  expression to delete key (Any string)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gphx reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gphx is to a plain text file.
+
+   File: nc_000913.gphx
+
+Sequence: NC_000913
+BgC,BgH,E_g,phx,pa,gene
+0.8070,0.8977,0.8990,0,1,thrL
+0.1857,0.5958,0.3116,0,0,thrA
+0.2323,0.5964,0.3896,0,0,thrB
+0.2353,0.6064,0.3881,0,0,thrC
+0.4353,0.6020,0.7231,0,1,yaaX
+0.2961,0.6790,0.4361,0,0,yaaA
+0.2233,0.7009,0.3186,0,0,yaaJ
+0.4149,0.3071,1.3511,1,0,talB
+
+   [Part of this file has been deleted for brevity]
+
+0.3255,0.7038,0.4625,0,0,yjjX
+0.3531,0.5906,0.5979,0,0,ytjC
+0.2257,0.5235,0.4311,0,0,rob
+0.3584,0.6809,0.5264,0,0,creA
+0.3455,0.7950,0.4346,0,0,creB
+0.2298,0.7154,0.3212,0,0,creC
+0.3299,0.7916,0.4167,0,0,creD
+0.3543,0.3786,0.9357,0,0,arcA
+0.7295,0.8286,0.8804,0,1,yjjY
+0.4028,0.8401,0.4795,0,0,yjtD
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   CMBL- PHX/PA user guide http://www.cmbl.uga.edu/software/PHX-PA-guide.htm
+
+   Henry I., Sharp PM. (2007) Predicting gene expression level from codon
+      usage bias Mol Biol Evol, 24(1):10-2.
+
+   Karlin S., and Mrazek J. (2000) Predicted highly expressed genes of diverse
+      prokaryotic genomes J.Bacteriol, 182(18):5238-5250.
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gcai Calculate codon adaptation index for each gene
+   gp2  Calculate the P2 index of each gene
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gqueryarm.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,173 @@
+                                   gqueryarm
+Function
+
+   Get the replication arm name (left or right) from the given position
+
+Description
+
+   gqueryarm returns whether the given position is in the left or right arm of
+   a circular chromosome.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gqueryarm
+
+% gqueryarm refseqn:NC_000913 1234
+Get the replication arm name (left or right) from the given position
+Output file [nc_000913.gqueryarm]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-position]          integer    [0] Position to query (Any integer value)
+  [-outfile]           outfile    [*.gqueryarm] Output file name
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory3        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gqueryarm reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gqueryarm is to a plain text file.
+
+   File: nc_000913.gqueryarm
+
+Sequence: NC_000913 Arm: right
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gquery_strand Get the strand name (leading or lagging) from the given
+                 position
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gquerystrand.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,175 @@
+                                  gquerystrand
+Function
+
+   Get the strand name (leading or lagging) from the given position
+
+Description
+
+   gquerystrand returns whether the given position is in the leading or lagging
+   strand of a circular chromosome.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gquerystrand
+
+% gquerystrand refseqn:NC_000913 1234
+Get the strand name (leading or lagging) from the given position
+Output file [nc_000913.gquerystrand]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-position]          integer    [0] Position to query (Any integer value)
+  [-outfile]           outfile    [*.gquerystrand] Output file name
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -direction          selection  [direct] Strand of the querying position
+                                  either 'direct' or 'complement'
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory3        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gquerystrand reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gquerystrand is to a plain text file.
+
+   File: nc_000913.gquerystrand
+
+Sequence: NC_000913 Strand: leading
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gquery_arm    Get the replication arm name (left or right) from the given
+                 position
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/greporiter.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,210 @@
+                                   greporiter
+Function
+
+   Get the positions of replication origin and terminus
+
+Description
+
+   greporiter returns the positions of replication origin and terminus
+   in bacterial genomes by several means. 
+
+   1. Use of databases
+   By default, grep_ori_ter tries to retrieve the position of replication
+   origin in DoriC Gao and Zhang (2007) database, and the position of
+   replication terminus from the supplemental data provided in
+   Kono et al. (2011).
+   If the position of origin cannot be found in the database, but "rep_origin" 
+   feature is available, center position within this feature is used for
+   origin. 
+
+   2. Oriloc
+   Using -orilocoption, you can predict the replication origin and 
+   terminus using the popular Oriloc program developed by Lobry et al. 
+   available as part of the SeqinR package Frank and Lobry (2000).
+
+   3. Use GC skew shift-point
+   If the positions of origin or terminus cannot be found in the databases,
+   grep_ori_ter automatically calls find_ori_ter() method to predict the 
+   positions using GC skew shift-points at one-base-pair resolution.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with greporiter
+
+% greporiter refseqn:NC_000913
+Get the positions of replication origin and terminus
+Output file [nc_000913.greporiter]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.greporiter] Output file name
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -oriloc             boolean    [N] Include Oriloc for prediction
+   -gcskew             boolean    [N] Include to use GC skew shift-point for
+                                  prediction
+   -difthreshold       integer    [0] Distance between the GC skew shift point
+                                  and predicted dif site expressed as the
+                                  precentage of genome size, used as a
+                                  threshold to retrieve dif sequence from the
+                                  database (Any integer value)
+   -dbonly             boolean    [N] Include to only use values available in
+                                  databases and to suppress prediction
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   greporiter reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from greporiter is to a plain text file.
+
+   File: nc_000913.greporiter
+
+Sequence: NC_000913 Origin: 3923881 Terminus: 1550412
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Gao F and Zhang CT (2007) DoriC: a database of oriC regions in bacterial
+      genomes, Bioinformatics, 23(14):1866-1867
+
+   Kono N et al. (2011) Comprehensive prediction of chromosome dimer resolution 
+      sites in bacterial genomes, BMC Genomics, 12(1):19
+
+   Frank AC and Lobry JR (2000) "Oriloc: prediction of replication boundaries 
+      in unannotated bacterial chromosomes", Bioinformatics, 16(6):560-561
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gfindoriter Predicts the replication origin and terminus in bacterial
+               genomes
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gscs.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,211 @@
+                                      gscs
+Function
+
+   Calculates the scaled chi-square
+
+
+Description
+
+   gscs calculates the Scaled Chi Square (SCS) of each gene. Values of SCS
+   are calculated using completely synonymous codon usage as the expectation
+   and then scaled by dividing the value by the number of codons in the gene
+   excluding Trp and Met.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gscs
+
+% gscs refseqn:NC_000913
+Calculates the scaled chi-square
+Codon usage output file [nc_000913.gscs]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gscs] Codon usage output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -translate          boolean    [N] Include when translates using standard
+                                  codon table
+   -delkey             string     [[^ACDEFGHIKLMNPQRSTVWYacgtU]] Regular
+                                  expression to delete key (i.e. amino acids
+                                  and nucleotides) (Any string)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gscs reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gscs is to a plain text file.
+
+   File: nc_000913.gscs
+
+Sequence: NC_000913
+scs,gene
+1.4458,thrL
+0.3122,thrA
+0.2551,thrB
+0.4104,thrC
+0.3084,yaaX
+0.3230,yaaA
+0.2957,yaaJ
+0.7101,talB
+
+   [Part of this file has been deleted for brevity]
+
+0.3054,yjjX
+0.4076,ytjC
+0.4231,rob
+0.3903,creA
+0.3472,creB
+0.2695,creC
+0.3500,creD
+0.5077,arcA
+0.4576,yjjY
+0.2926,yjtD
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Comeron JM., Aguade M. (1998) An evaluation of measures of synonymous
+      codon usage bias, J Mol Evol, 47(3):268-74.
+
+   Shields DC, Sharp PM. (1987) Synonymous codon usage in Bacillus subtilis
+      reflects both translational selection and mutational biases,
+      15(19):8023-40.
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   genc     Calculate the effective number of codons (Nc)
+   gew      Calculate a measure of synonymous codon usage evenness (Ew)
+   gfop     Calculate the frequency of optimal codons (Fop)
+   gw_value Calculate the 'relative adaptiveness of each codon' (W)
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gseq2png.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,170 @@
+                                    gseq2png
+Function
+
+   Converts a sequence to PNG image
+
+Description
+
+   gseq2png converts a sequence to a png image, by representing nucleotide
+   sequences with representative pixels. A is shown in red, T is shown in
+   green, G is shown in yellow, and C is shown in blue.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gseq2png
+
+% gseq2png refseqn:NC_000913
+Converts a sequence to PNG image
+Created gseq2png.1.png
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -format             string     [png] Output file format. Dependent on
+                                  'convert' command (Any string)
+   -width              integer    [640] Width of the image (Any integer value)
+   -window             integer    [20] Window size of a sequence to represent
+                                  each pixel (Any integer value)
+   -goutfile           string     [gcgr] Output file for non interactive
+                                  displays (Any string)
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gseq2png reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gseq2png is to an image file.
+
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gcgr Create a Chaos Game Representation of a given sequence
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gseqinfo.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,170 @@
+                                    gseqinfo
+Function
+
+   Prints out basic nucleotide sequence statistics
+
+Description
+
+   gseqinfo prints out basic nucleotide sequence statistics of the given
+   nucleotide sequence. It returns the number of A, T, G, and C bases.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gseqinfo
+
+% gseqinfo refseqn:NC_000913
+Prints out basic nucleotide sequence statistics
+Program compseq output file [nc_000913.gseqinfo]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gseqinfo] Program compseq output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers: (none)
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gseqinfo reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gseqinfo is to a plain text file.
+
+   File: nc_000913.gseqinfo
+
+Sequence: NC_000913 A: 1142228 T: 1140970 G: 1176923 C: 1179555
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gconsensus_z Calculate consensus in given array of sequences
+   gdist_in_cc  Calculates the distance between two loci in circular chromosomes
+   gpalindrome  Searches palindrome sequences
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gshuffleseq.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,208 @@
+                                  gshuffleseq
+Function
+
+   Create randomized sequence with conserved k-mer composition
+
+Description
+
+   gshuffleseq shuffles and randomizes the given sequence, conserving the
+   nucleotide/peptide k-mer content of the original sequence.
+
+   For k=1, i.e. shuffling sequencing preserving single nucleotide composition,
+   Fisher-Yates Algorithm is employed.
+   For k>1, shuffling preserves all k-mers (all k where k=1~k). For example,
+   k=3 preserves all triplet, doublet, and single nucleotide composition.
+   Algorithm for k-mer preserved shuffling is non-trivial, which is solved
+   by graph theoretical approach with Eulerian random walks in the graph of
+   k-1-mers. See Jiang et al., Kandel et al., and Propp et al., for details
+   of this algorithm.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gshuffleseq
+
+% gshuffleseq tsw:hbb_human
+Create randomized sequence with conserved k-mer composition
+output sequence [hbb_human.fasta]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Sequence(s) filename and optional format, or
+                                  reference (input USA)
+  [-outseq]            seqout     [<sequence>.<format>] Sequence filename and
+                                  optional format (output USA)
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -k                  integer    [1] Sequence k-mer to preserve composition
+                                  (Any integer value)
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outseq" associated qualifiers
+   -osformat2          string     Output seq format
+   -osextension2       string     File name extension
+   -osname2            string     Base file name
+   -osdirectory2       string     Output directory
+   -osdbname2          string     Database name to add
+   -ossingle2          boolean    Separate file for each entry
+   -oufo2              string     UFO features
+   -offormat2          string     Features format
+   -ofname2            string     Features file name
+   -ofdirectory2       string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gshuffleseq reads one or more nucleotide or protein sequences.
+
+Output file format
+
+   The output from gshuffleseq is to .
+
+   File: hbb_human.fasta
+
+>HBB_HUMAN P68871 Hemoglobin subunit beta (Beta-globin) (Hemoglobin beta chain) (LVV-hemorphin-7)
+KGWLDLVAGAAHFVRRLKMLLEVDWAAHEERVGTSNPNNALKNEAADVEVHSPTHVNPTQ
+LVLVQVGFGTLHLQGVECPKPKPGGVALKPVAHLLAMKECTLVALGSDFYVDHGSDGEDK
+GFKAYVLATSFFAYTNFLHGKVKHVLF
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Fisher R.A. and Yates F. (1938) "Example 12", Statistical Tables, London
+
+   Durstenfeld R. (1964) "Algorithm 235: Random permutation", CACM 7(7):420
+
+   Jiang M., Anderson J., Gillespie J., and Mayne M. (2008) "uShuffle: 
+      a useful tool for shuffling biological sequences while preserving the
+      k-let counts", BMC Bioinformatics 9:192
+
+   Kandel D., Matias Y., Unver R., and Winker P. (1996) "Shuffling biological 
+      sequences", Discrete Applied Mathematics 71(1-3):171-185  
+
+   Propp J.G. and Wilson D.B. (1998) "How to get a perfectly random sample 
+      from a generic Markov chain and generate a random spanning tree of a 
+      directed graph", Journal of Algorithms 27(2):170-217
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   shuffleseq Shuffles a set of sequences maintaining composition
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gsignature.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,188 @@
+                                   gsignature
+Function
+
+   Calculate oligonucleotide usage (genomic signature)
+
+Description
+
+   gsignature calculates short oligonuleotide usage (genomic signture),
+   defined as the ratio of observed (O) to expected (E) oligonucleotide
+   frequencies. It is known that the genomic signature stays constant
+   throughout the genome.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gsignature
+
+% gsignature refseqn:NC_000913
+Calculate oligonucleotide usage (genomic signature)
+Program compseq output file [nc_000913.gsignature]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gsignature] Program compseq output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -wordlength         integer    [2] Word length (Any integer value)
+   -[no]bothstrand     boolean    [Y] Include to use both strands direct used
+                                  otherwise
+   -[no]oe             boolean    [Y] Include to use O/E value observed values
+                                  used otherwise
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gsignature reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gsignature is to a plain text file.
+
+   File: nc_000913.gsignature
+
+Sequence: NC_000913
+aa,ac,ag,at,ca,cc,cg,ct,ga,gc,gg,gt,ta,tc,tg,tt,memo
+1.206,0.884,0.817,1.103,1.117,0.905,1.159,0.817,0.922,1.283,0.905,0.884,0.755,0.922,1.117,1.206,
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Campbell A et al. (1999) Genome signature comparisons among prokaryote,
+      plasmid, and mitochondrial DNA, Proc Natl Acad Sci U S A. 96(16):9184-9.
+
+   Karlin S. (2001) Detecting anomalous gene clusters and pathogenicity islands
+      in diverse bacterial genomes, Trends Microbiol. 9(7):335-43.
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gkmer_table             Create an image showing all k-mer abundance within a                            sequence
+   gnucleotide_periodicity Checks the periodicity of certain oligonucleotides
+   goligomer_counter       Counts the number of given oligomers in a sequence
+   goligomer_search        Searches oligomers in given sequence
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gsvalue.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,195 @@
+                                    gsvalue
+Function
+
+   Calculate the strength of selected codon usage bias (S)
+
+Description
+
+   gsvalue calculates the strength of selected codon usage bias (S), also
+   known as Sharp's S index. Using four codon pairs that are recognized by the
+   same tRNA anticodon, namely, Phe(UUC and UUU), Ile(AUC and AUU), Tyr(UAC and
+   UAU), and Asn(AAC and AAU), since the former in each of the pairs has
+   stronger Watson-Crick pairing, selection towards the former codon can be
+   observed for highly expressed genes. S index is therefore the weighted
+   average of such bias, giving an over-all value for a genome, indicating its
+   strength of selected codon usage bias. See Sharp et al. (2005) for details.
+   Sharp originally defined 40 genes as the highly expressed gene group, with
+   tufA, tsf, fusA, rplA-rplF, rplI-rplT, rpsB-rpsT. Since the identificaiton
+   of these genes is not convenient for computational automation, by default,
+   this method uses ribosomal proteins as the highly expressed gene group,
+   as used by Viera-silva and Rocha (2010).
+   However, Sharp's gene group can be optionally used with -sharp option.
+   With this option, all of the 40 genes must be named accordingly in the given
+   genome file.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gsvalue
+
+% gsvalue refseqn:NC_000913
+Calculate the strength of selected codon usage bias (S)
+Codon usage output file [nc_000913.gsvalue]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gsvalue] Codon usage output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -sharp              boolean    [N] Include to use the 40 genes used by
+                                  Sharp instead of ribosomal proteins
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gsvalue reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gsvalue is to a plain text file.
+
+   File: nc_000913.gsvalue
+
+Sequence: NC_000913 S-value: 1.23467100598485
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Sharp PM et al. (2005) "Variation in the strength of selected codon usage
+      bias among bacteria", Nucleic Acids Research, 33(4):1141-1153
+
+   Vieira-Silva S and Rocha EPC (2010) "The systemic imprint of growth and its
+      uses in ecological (meta)genomics", PLoS Genetics, 6(1):e1000808
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gcbi       Calculates the codon bias index (CBI)
+   gdelta_enc Calculate the codon usage bias related to translation optimization              (delta ENC)
+   gicdi      Calculates the intrinsic codon deviation index (ICDI)
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gviewcds.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,223 @@
+                                    gviewcds
+Function
+
+   Displays a graph of nucleotide contents around start and stop codons
+
+Description
+
+   gviewcds creates a graph showing the average A,T,G,C contents
+   around start/stop codons. This is useful to view consensus around
+   start/stop codons and to find characteristic pattern in CDS.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gviewcds
+
+% gviewcds refseqn:NC_000913
+Displays a graph of nucleotide contents around start and stop codons
+Program compseq output file (optional) [nc_000913.gviewcds]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+   Example 2
+
+% gviewcds refseqn:NC_000913 -plot -graph png
+Displays a graph of nucleotide contents around start and stop codons
+Created gviewcds.1.png
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers (* if not always prompted):
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+*  -graph              xygraph    [$EMBOSS_GRAPHICS value, or x11] Graph type
+                                  (ps, hpgl, hp7470, hp7580, meta, cps, x11,
+                                  tek, tekt, none, data, xterm, png, gif, svg)
+*  -outfile            outfile    [*.gviewcds] Program compseq output file
+                                  (optional)
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -length             integer    [100] Length in bases to show around
+                                  start/stop codons (Any integer value)
+   -gap                integer    [3] Gap shown in graph in between start/stop
+                                  codon neighbors (Any integer value)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+   -plot               toggle     [N] Include to plot result
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-graph" associated qualifiers
+   -gprompt            boolean    Graph prompting
+   -gdesc              string     Graph description
+   -gtitle             string     Graph title
+   -gsubtitle          string     Graph subtitle
+   -gxtitle            string     Graph x axis title
+   -gytitle            string     Graph y axis title
+   -goutfile           string     Output file for non interactive displays
+   -gdirectory         string     Output directory
+
+   "-outfile" associated qualifiers
+   -odirectory         string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gviewcds reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gviewcds is to a plain text file or the EMBOSS graphics device.
+
+   File: nc_000913.gviewcds
+
+Sequence: NC_000913
+position,A,T,G,C
+1,28.20,27.60,22.18,22.02
+2,26.05,26.81,23.06,24.08
+3,27.34,27.37,23.94,21.35
+4,26.28,28.83,23.01,21.88
+5,26.72,28.22,22.18,22.88
+6,26.42,26.72,24.96,21.90
+7,27.21,28.66,21.95,22.18
+8,25.47,28.39,23.06,23.08
+
+   [Part of this file has been deleted for brevity]
+
+400,26.60,27.44,22.67,23.27
+401,24.38,26.63,25.05,23.92
+402,25.03,26.37,23.71,24.87
+403,25.96,27.53,22.53,23.96
+404,26.63,25.52,24.17,23.66
+405,25.68,26.26,23.50,24.54
+406,24.94,26.86,23.92,24.26
+407,25.54,26.28,23.73,24.43
+408,25.28,26.93,24.38,23.39
+409,26.63,26.46,22.32,24.57
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   gbase_counter Creates a position weight matrix of oligomers around start                  codon
+   gbase_z_value Extracts conserved oligomers per position using Z-score
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/doc/text/gwvalue.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,219 @@
+                                    gwvalue
+Function
+
+   Calculate the 'relative adaptiveness of each codon' (W)
+
+Description
+
+   gwvalue calculates the 'relative adaptiveness of each codon' (W value)
+   which is essential in CAI analysis. W value is calculated by setting the
+   best codon to 1 and calculating the proportion of the other codons.
+    
+   G-language SOAP service is provided by the
+   Institute for Advanced Biosciences, Keio University.
+   The original web service is located at the following URL:
+
+   http://www.g-language.org/wiki/soap
+
+   WSDL(RPC/Encoded) file is located at:
+
+   http://soap.g-language.org/g-language.wsdl
+
+   Documentation on G-language Genome Analysis Environment methods are
+   provided at the Document Center
+
+   http://ws.g-language.org/gdoc/
+
+Usage
+
+Here is a sample session with gwvalue
+
+% gwvalue refseqn:NC_000913
+Calculate the 'relative adaptiveness of each codon' (W)
+Codon usage output file [nc_000913.gwvalue]: 
+
+   Go to the input files for this example
+   Go to the output files for this example
+
+Command line arguments
+
+   Standard (Mandatory) qualifiers:
+  [-sequence]          seqall     Nucleotide sequence(s) filename and optional
+                                  format, or reference (input USA)
+  [-outfile]           outfile    [*.gwvalue] Codon usage output file
+
+   Additional (Optional) qualifiers: (none)
+   Advanced (Unprompted) qualifiers:
+   -include            string     [ribosomal.*protein] Regular expression to
+                                  include genes in a reference set a reference
+                                  set in several studies are in-built 1:
+                                  Nakamura and Tabata, 2: Sharp and Li, 3:
+                                  Sakai et al. (Any string)
+   -exclude            string     [[Mm]itochondrial] Regular expression to
+                                  exclude genes from a reference set (Any
+                                  string)
+   -[no]accid          boolean    [Y] Include to use sequence accession ID as
+                                  query
+
+   Associated qualifiers:
+
+   "-sequence" associated qualifiers
+   -sbegin1            integer    Start of each sequence to be used
+   -send1              integer    End of each sequence to be used
+   -sreverse1          boolean    Reverse (if DNA)
+   -sask1              boolean    Ask for begin/end/reverse
+   -snucleotide1       boolean    Sequence is nucleotide
+   -sprotein1          boolean    Sequence is protein
+   -slower1            boolean    Make lower case
+   -supper1            boolean    Make upper case
+   -scircular1         boolean    Sequence is circular
+   -sformat1           string     Input sequence format
+   -iquery1            string     Input query fields or ID list
+   -ioffset1           integer    Input start position offset
+   -sdbname1           string     Database name
+   -sid1               string     Entryname
+   -ufo1               string     UFO features
+   -fformat1           string     Features format
+   -fopenfile1         string     Features file name
+
+   "-outfile" associated qualifiers
+   -odirectory2        string     Output directory
+
+   General qualifiers:
+   -auto               boolean    Turn off prompts
+   -stdout             boolean    Write first file to standard output
+   -filter             boolean    Read first file from standard input, write
+                                  first file to standard output
+   -options            boolean    Prompt for standard and additional values
+   -debug              boolean    Write debug output to program.dbg
+   -verbose            boolean    Report some/full command line options
+   -help               boolean    Report command line options and exit. More
+                                  information on associated and general
+                                  qualifiers can be found with -help -verbose
+   -warning            boolean    Report warnings
+   -error              boolean    Report errors
+   -fatal              boolean    Report fatal errors
+   -die                boolean    Report dying program messages
+   -version            boolean    Report version number and exit
+
+Input file format
+
+   The database definitions for following commands are available at
+   http://soap.g-language.org/kbws/embossrc
+
+   gwvalue reads one or more nucleotide sequences.
+
+Output file format
+
+   The output from gwvalue is to a plain text file.
+
+   File: nc_000913.gwvalue
+
+Sequence: NC_000913
+Reference set of highly expressed genes
+product
+30S ribosomal subunit protein S20
+30S ribosomal subunit protein S2
+ribosomal protein S12 methylthiotransferase; radical SAM superfamily
+ribosomal protein S6 modification protein
+30S ribosomal subunit protein S1
+ribosomal-protein-S5-alanine N-acetyltransferase
+50S ribosomal subunit protein L32
+
+   [Part of this file has been deleted for brevity]
+
+T,acc,1.0000
+T,acg,0.2234
+T,act,0.9734
+V,gta,0.4960
+V,gtc,0.2281
+V,gtg,0.3422
+V,gtt,1.0000
+W,tgg,1.0000
+Y,tac,1.0000
+Y,tat,0.5310
+
+
+Data files
+
+   None.
+
+Notes
+
+   None.
+
+References
+
+   Sharp PM et al. (2005) Variation in the strength of selected codon usage
+      bias among bacteria, Nucleic Acids Res. 33(4):1141-1153
+
+   Sakai et al. (2001) Correlation between Shine--Dalgarno sequence
+      conservation and codon usage of bacterial genes, J.Mol.Evol. 52:164-170.
+
+   Nakamura and Tabata (1997) Codon-anticodon assignment and detection of
+      codon usage trends in seven microbial genomes, Microb.Comp.Genomics
+      2:299-312.
+
+   Sharp and Li (1987) The codon Adaptation Index--a measure of directional
+      synonymous codon usage bias, and its potential applications, Nucleic
+      Acids Res. 15:1281-1295.
+
+   Arakawa, K., Mori, K., Ikeda, K., Matsuzaki, T., Konayashi, Y., and
+      Tomita, M. (2003) G-language Genome Analysis Environment: A Workbench
+      for Nucleotide Sequence Data Mining, Bioinformatics, 19, 305-306.
+
+   Arakawa, K. and Tomita, M. (2006) G-language System as a Platform for
+      large-scale analysis of high-throughput omics data, J. Pest Sci.,
+      31, 7.
+
+   Arakawa, K., Kido, N., Oshita, K., Tomita, M. (2010) G-language Genome
+      Analysis Environment with REST and SOAP Web Service Interfaces,
+      Nucleic Acids Res., 38, W700-W705.
+
+Warnings
+
+   None.
+
+Diagnostic Error Messages
+
+   None.
+
+Exit status
+
+   It always exits with a status of 0.
+
+Known bugs
+
+   None.
+
+See also
+
+   genc Calculate the effective number of codons (Nc)
+   gew  Calculate a measure of synonymous codon usage evenness (Ew)
+   gfop Calculate the frequency of optimal codons (Fop)
+   gscs Calculates the scaled chi-square
+
+Author(s)
+
+   Hidetoshi Itaya (celery@g-language.org)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+   Kazuharu Arakawa (gaou@sfc.keio.ac.jp)
+   Institute for Advanced Biosciences, Keio University
+   252-0882 Japan
+
+History
+
+   2012 - Written by Hidetoshi Itaya
+   2013 - Fixed by Hidetoshi Itaya
+
+Target users
+
+   This program is intended to be used by everyone and everything, from
+   naive users to embedded scripts.
+
+Comments
+
+   None.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/.deps/libgsoap___a-dom_cpp.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,586 @@
+libgsoap___a-dom_cpp.o: dom_cpp.cpp stdsoap2.h ../config.h \
+  /usr/include/stdlib.h /usr/include/Availability.h \
+  /usr/include/AvailabilityInternal.h /usr/include/_types.h \
+  /usr/include/sys/_types.h /usr/include/sys/cdefs.h \
+  /usr/include/sys/_symbol_aliasing.h \
+  /usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
+  /usr/include/i386/_types.h /usr/include/sys/wait.h \
+  /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
+  /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
+  /usr/include/machine/signal.h /usr/include/i386/signal.h \
+  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
+  /usr/include/mach/i386/_structs.h \
+  /usr/include/sys/_types/_sigaltstack.h \
+  /usr/include/sys/_types/_ucontext.h \
+  /usr/include/sys/_types/_pthread_attr_t.h \
+  /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_size_t.h \
+  /usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h \
+  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
+  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
+  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
+  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
+  /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h \
+  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
+  /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h \
+  /usr/include/machine/endian.h /usr/include/i386/endian.h \
+  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
+  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
+  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
+  /usr/include/sys/_types/_wchar_t.h /usr/include/sys/_types/_null.h \
+  /usr/include/machine/types.h /usr/include/i386/types.h \
+  /usr/include/sys/_types/___offsetof.h /usr/include/sys/_types/_dev_t.h \
+  /usr/include/sys/_types/_mode_t.h /usr/include/stdio.h \
+  /usr/include/sys/_types/_va_list.h /usr/include/sys/_types/_off_t.h \
+  /usr/include/sys/_types/_ssize_t.h /usr/include/string.h \
+  /usr/include/sys/_types/_rsize_t.h /usr/include/sys/_types/_errno_t.h \
+  /usr/include/strings.h /usr/include/ctype.h /usr/include/runetype.h \
+  /usr/include/sys/_types/_wint_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h \
+  /usr/include/limits.h /usr/include/machine/limits.h \
+  /usr/include/i386/limits.h /usr/include/i386/_limits.h \
+  /usr/include/sys/syslimits.h /usr/include/poll.h \
+  /usr/include/sys/poll.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/string \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__config \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iosfwd \
+  /usr/include/wchar.h /usr/include/sys/_types/_mbstate_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdarg.h \
+  /usr/include/time.h /usr/include/_structs.h \
+  /usr/include/sys/_structs.h /usr/include/sys/_types/_timespec.h \
+  /usr/include/sys/_types/_clock_t.h /usr/include/sys/_types/_time_t.h \
+  /usr/include/_wctype.h /usr/include/_types/_wctype_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstring \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdio \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cwchar \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cwctype \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cctype \
+  /usr/include/wctype.h /usr/include/_types/_wctrans_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/algorithm \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/initializer_list \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstddef \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stddef.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/type_traits \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/utility \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tuple \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tuple_03 \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/memory \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/typeinfo \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/exception \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdint \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/new \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/limits \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__undef_min_max \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iterator \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_base \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_base_03 \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/tuple \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/stdexcept \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iostream \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ios \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__locale \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/mutex \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__mutex_base \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/chrono \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ctime \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ratio \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/climits \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/system_error \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cerrno \
+  /usr/include/errno.h /usr/include/sys/errno.h /usr/include/pthread.h \
+  /usr/include/pthread_impl.h /usr/include/sched.h \
+  /usr/include/sys/_types/_pthread_cond_t.h \
+  /usr/include/sys/_types/_pthread_condattr_t.h \
+  /usr/include/sys/_types/_pthread_key_t.h \
+  /usr/include/sys/_types/_pthread_mutex_t.h \
+  /usr/include/sys/_types/_pthread_mutexattr_t.h \
+  /usr/include/sys/_types/_pthread_once_t.h \
+  /usr/include/sys/_types/_pthread_rwlock_t.h \
+  /usr/include/sys/_types/_pthread_rwlockattr_t.h \
+  /usr/include/sys/_types/_pthread_t.h \
+  /usr/include/sys/_types/_mach_port_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/functional \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_03 \
+  /usr/include/locale.h /usr/include/_locale.h /usr/include/xlocale.h \
+  /usr/include/_xlocale.h /usr/include/xlocale/_ctype.h \
+  /usr/include/xlocale/__wctype.h /usr/include/xlocale/_stdio.h \
+  /usr/include/xlocale/_stdlib.h /usr/include/xlocale/_string.h \
+  /usr/include/xlocale/_time.h /usr/include/xlocale/_wchar.h \
+  /usr/include/xlocale/_wctype.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/streambuf \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/istream \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ostream \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/locale \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdlib \
+  /usr/include/nl_types.h /usr/include/sys/types.h \
+  /usr/include/sys/_types/_blkcnt_t.h \
+  /usr/include/sys/_types/_blksize_t.h /usr/include/sys/_types/_gid_t.h \
+  /usr/include/sys/_types/_in_addr_t.h \
+  /usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
+  /usr/include/sys/_types/_ino64_t.h /usr/include/sys/_types/_key_t.h \
+  /usr/include/sys/_types/_nlink_t.h \
+  /usr/include/sys/_types/_useconds_t.h \
+  /usr/include/sys/_types/_suseconds_t.h \
+  /usr/include/sys/_types/_fd_def.h \
+  /usr/include/sys/_types/_fd_setsize.h \
+  /usr/include/sys/_types/_fd_set.h /usr/include/sys/_types/_fd_clr.h \
+  /usr/include/sys/_types/_fd_zero.h /usr/include/sys/_types/_fd_isset.h \
+  /usr/include/sys/_types/_fd_copy.h \
+  /usr/include/sys/_types/_fsblkcnt_t.h \
+  /usr/include/sys/_types/_fsfilcnt_t.h /usr/include/_types/_nl_item.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/bitset \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__bit_reference \
+  /usr/include/sys/timeb.h /usr/include/sys/socket.h \
+  /usr/include/machine/_param.h /usr/include/i386/_param.h \
+  /usr/include/sys/_types/_sa_family_t.h \
+  /usr/include/sys/_types/_socklen_t.h \
+  /usr/include/sys/_types/_iovec_t.h /usr/include/sys/time.h \
+  /usr/include/sys/_select.h /usr/include/netinet/in.h \
+  /usr/include/netinet6/in6.h /usr/include/netinet/tcp.h \
+  /usr/include/arpa/inet.h /usr/include/netdb.h /usr/include/unistd.h \
+  /usr/include/sys/unistd.h /usr/include/sys/_types/_posix_vdisable.h \
+  /usr/include/sys/_types/_seek_set.h /usr/include/sys/select.h \
+  /usr/include/sys/_types/_uuid_t.h /usr/include/gethostuuid.h \
+  /usr/include/fcntl.h /usr/include/sys/fcntl.h \
+  /usr/include/sys/_types/_o_sync.h /usr/include/sys/_types/_o_dsync.h \
+  /usr/include/sys/_types/_s_ifmt.h /usr/include/sys/_types/_filesec_t.h \
+  /usr/include/math.h /usr/include/inttypes.h \
+  /usr/include/xlocale/_inttypes.h
+
+stdsoap2.h:
+
+../config.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/Availability.h:
+
+/usr/include/AvailabilityInternal.h:
+
+/usr/include/_types.h:
+
+/usr/include/sys/_types.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/sys/_symbol_aliasing.h:
+
+/usr/include/sys/_posix_availability.h:
+
+/usr/include/machine/_types.h:
+
+/usr/include/i386/_types.h:
+
+/usr/include/sys/wait.h:
+
+/usr/include/sys/_types/_pid_t.h:
+
+/usr/include/sys/_types/_id_t.h:
+
+/usr/include/sys/signal.h:
+
+/usr/include/sys/appleapiopts.h:
+
+/usr/include/machine/signal.h:
+
+/usr/include/i386/signal.h:
+
+/usr/include/machine/_mcontext.h:
+
+/usr/include/i386/_mcontext.h:
+
+/usr/include/mach/i386/_structs.h:
+
+/usr/include/sys/_types/_sigaltstack.h:
+
+/usr/include/sys/_types/_ucontext.h:
+
+/usr/include/sys/_types/_pthread_attr_t.h:
+
+/usr/include/sys/_types/_sigset_t.h:
+
+/usr/include/sys/_types/_size_t.h:
+
+/usr/include/sys/_types/_uid_t.h:
+
+/usr/include/sys/resource.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/sys/_types/_int8_t.h:
+
+/usr/include/sys/_types/_int16_t.h:
+
+/usr/include/sys/_types/_int32_t.h:
+
+/usr/include/sys/_types/_int64_t.h:
+
+/usr/include/_types/_uint8_t.h:
+
+/usr/include/_types/_uint16_t.h:
+
+/usr/include/_types/_uint32_t.h:
+
+/usr/include/_types/_uint64_t.h:
+
+/usr/include/sys/_types/_intptr_t.h:
+
+/usr/include/sys/_types/_uintptr_t.h:
+
+/usr/include/_types/_intmax_t.h:
+
+/usr/include/_types/_uintmax_t.h:
+
+/usr/include/sys/_types/_timeval.h:
+
+/usr/include/machine/endian.h:
+
+/usr/include/i386/endian.h:
+
+/usr/include/sys/_endian.h:
+
+/usr/include/libkern/_OSByteOrder.h:
+
+/usr/include/libkern/i386/_OSByteOrder.h:
+
+/usr/include/alloca.h:
+
+/usr/include/sys/_types/_ct_rune_t.h:
+
+/usr/include/sys/_types/_rune_t.h:
+
+/usr/include/sys/_types/_wchar_t.h:
+
+/usr/include/sys/_types/_null.h:
+
+/usr/include/machine/types.h:
+
+/usr/include/i386/types.h:
+
+/usr/include/sys/_types/___offsetof.h:
+
+/usr/include/sys/_types/_dev_t.h:
+
+/usr/include/sys/_types/_mode_t.h:
+
+/usr/include/stdio.h:
+
+/usr/include/sys/_types/_va_list.h:
+
+/usr/include/sys/_types/_off_t.h:
+
+/usr/include/sys/_types/_ssize_t.h:
+
+/usr/include/string.h:
+
+/usr/include/sys/_types/_rsize_t.h:
+
+/usr/include/sys/_types/_errno_t.h:
+
+/usr/include/strings.h:
+
+/usr/include/ctype.h:
+
+/usr/include/runetype.h:
+
+/usr/include/sys/_types/_wint_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h:
+
+/usr/include/limits.h:
+
+/usr/include/machine/limits.h:
+
+/usr/include/i386/limits.h:
+
+/usr/include/i386/_limits.h:
+
+/usr/include/sys/syslimits.h:
+
+/usr/include/poll.h:
+
+/usr/include/sys/poll.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/string:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__config:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iosfwd:
+
+/usr/include/wchar.h:
+
+/usr/include/sys/_types/_mbstate_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdarg.h:
+
+/usr/include/time.h:
+
+/usr/include/_structs.h:
+
+/usr/include/sys/_structs.h:
+
+/usr/include/sys/_types/_timespec.h:
+
+/usr/include/sys/_types/_clock_t.h:
+
+/usr/include/sys/_types/_time_t.h:
+
+/usr/include/_wctype.h:
+
+/usr/include/_types/_wctype_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstring:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdio:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cwchar:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cwctype:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cctype:
+
+/usr/include/wctype.h:
+
+/usr/include/_types/_wctrans_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/algorithm:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/initializer_list:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstddef:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stddef.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/type_traits:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/utility:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tuple:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tuple_03:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/memory:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/typeinfo:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/exception:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdint:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/new:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/limits:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__undef_min_max:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iterator:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_base:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_base_03:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/tuple:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/stdexcept:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iostream:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ios:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__locale:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/mutex:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__mutex_base:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/chrono:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ctime:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ratio:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/climits:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/system_error:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cerrno:
+
+/usr/include/errno.h:
+
+/usr/include/sys/errno.h:
+
+/usr/include/pthread.h:
+
+/usr/include/pthread_impl.h:
+
+/usr/include/sched.h:
+
+/usr/include/sys/_types/_pthread_cond_t.h:
+
+/usr/include/sys/_types/_pthread_condattr_t.h:
+
+/usr/include/sys/_types/_pthread_key_t.h:
+
+/usr/include/sys/_types/_pthread_mutex_t.h:
+
+/usr/include/sys/_types/_pthread_mutexattr_t.h:
+
+/usr/include/sys/_types/_pthread_once_t.h:
+
+/usr/include/sys/_types/_pthread_rwlock_t.h:
+
+/usr/include/sys/_types/_pthread_rwlockattr_t.h:
+
+/usr/include/sys/_types/_pthread_t.h:
+
+/usr/include/sys/_types/_mach_port_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/functional:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_03:
+
+/usr/include/locale.h:
+
+/usr/include/_locale.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/_xlocale.h:
+
+/usr/include/xlocale/_ctype.h:
+
+/usr/include/xlocale/__wctype.h:
+
+/usr/include/xlocale/_stdio.h:
+
+/usr/include/xlocale/_stdlib.h:
+
+/usr/include/xlocale/_string.h:
+
+/usr/include/xlocale/_time.h:
+
+/usr/include/xlocale/_wchar.h:
+
+/usr/include/xlocale/_wctype.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/streambuf:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/istream:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ostream:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/locale:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdlib:
+
+/usr/include/nl_types.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/_types/_blkcnt_t.h:
+
+/usr/include/sys/_types/_blksize_t.h:
+
+/usr/include/sys/_types/_gid_t.h:
+
+/usr/include/sys/_types/_in_addr_t.h:
+
+/usr/include/sys/_types/_in_port_t.h:
+
+/usr/include/sys/_types/_ino_t.h:
+
+/usr/include/sys/_types/_ino64_t.h:
+
+/usr/include/sys/_types/_key_t.h:
+
+/usr/include/sys/_types/_nlink_t.h:
+
+/usr/include/sys/_types/_useconds_t.h:
+
+/usr/include/sys/_types/_suseconds_t.h:
+
+/usr/include/sys/_types/_fd_def.h:
+
+/usr/include/sys/_types/_fd_setsize.h:
+
+/usr/include/sys/_types/_fd_set.h:
+
+/usr/include/sys/_types/_fd_clr.h:
+
+/usr/include/sys/_types/_fd_zero.h:
+
+/usr/include/sys/_types/_fd_isset.h:
+
+/usr/include/sys/_types/_fd_copy.h:
+
+/usr/include/sys/_types/_fsblkcnt_t.h:
+
+/usr/include/sys/_types/_fsfilcnt_t.h:
+
+/usr/include/_types/_nl_item.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/bitset:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__bit_reference:
+
+/usr/include/sys/timeb.h:
+
+/usr/include/sys/socket.h:
+
+/usr/include/machine/_param.h:
+
+/usr/include/i386/_param.h:
+
+/usr/include/sys/_types/_sa_family_t.h:
+
+/usr/include/sys/_types/_socklen_t.h:
+
+/usr/include/sys/_types/_iovec_t.h:
+
+/usr/include/sys/time.h:
+
+/usr/include/sys/_select.h:
+
+/usr/include/netinet/in.h:
+
+/usr/include/netinet6/in6.h:
+
+/usr/include/netinet/tcp.h:
+
+/usr/include/arpa/inet.h:
+
+/usr/include/netdb.h:
+
+/usr/include/unistd.h:
+
+/usr/include/sys/unistd.h:
+
+/usr/include/sys/_types/_posix_vdisable.h:
+
+/usr/include/sys/_types/_seek_set.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/sys/_types/_uuid_t.h:
+
+/usr/include/gethostuuid.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/sys/fcntl.h:
+
+/usr/include/sys/_types/_o_sync.h:
+
+/usr/include/sys/_types/_o_dsync.h:
+
+/usr/include/sys/_types/_s_ifmt.h:
+
+/usr/include/sys/_types/_filesec_t.h:
+
+/usr/include/math.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/xlocale/_inttypes.h:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/.deps/libgsoap___a-stdsoap2_cpp.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,586 @@
+libgsoap___a-stdsoap2_cpp.o: stdsoap2_cpp.cpp stdsoap2.h ../config.h \
+  /usr/include/stdlib.h /usr/include/Availability.h \
+  /usr/include/AvailabilityInternal.h /usr/include/_types.h \
+  /usr/include/sys/_types.h /usr/include/sys/cdefs.h \
+  /usr/include/sys/_symbol_aliasing.h \
+  /usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
+  /usr/include/i386/_types.h /usr/include/sys/wait.h \
+  /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
+  /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
+  /usr/include/machine/signal.h /usr/include/i386/signal.h \
+  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
+  /usr/include/mach/i386/_structs.h \
+  /usr/include/sys/_types/_sigaltstack.h \
+  /usr/include/sys/_types/_ucontext.h \
+  /usr/include/sys/_types/_pthread_attr_t.h \
+  /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_size_t.h \
+  /usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h \
+  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
+  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
+  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
+  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
+  /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h \
+  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
+  /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h \
+  /usr/include/machine/endian.h /usr/include/i386/endian.h \
+  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
+  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
+  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
+  /usr/include/sys/_types/_wchar_t.h /usr/include/sys/_types/_null.h \
+  /usr/include/machine/types.h /usr/include/i386/types.h \
+  /usr/include/sys/_types/___offsetof.h /usr/include/sys/_types/_dev_t.h \
+  /usr/include/sys/_types/_mode_t.h /usr/include/stdio.h \
+  /usr/include/sys/_types/_va_list.h /usr/include/sys/_types/_off_t.h \
+  /usr/include/sys/_types/_ssize_t.h /usr/include/string.h \
+  /usr/include/sys/_types/_rsize_t.h /usr/include/sys/_types/_errno_t.h \
+  /usr/include/strings.h /usr/include/ctype.h /usr/include/runetype.h \
+  /usr/include/sys/_types/_wint_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h \
+  /usr/include/limits.h /usr/include/machine/limits.h \
+  /usr/include/i386/limits.h /usr/include/i386/_limits.h \
+  /usr/include/sys/syslimits.h /usr/include/poll.h \
+  /usr/include/sys/poll.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/string \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__config \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iosfwd \
+  /usr/include/wchar.h /usr/include/sys/_types/_mbstate_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdarg.h \
+  /usr/include/time.h /usr/include/_structs.h \
+  /usr/include/sys/_structs.h /usr/include/sys/_types/_timespec.h \
+  /usr/include/sys/_types/_clock_t.h /usr/include/sys/_types/_time_t.h \
+  /usr/include/_wctype.h /usr/include/_types/_wctype_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstring \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdio \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cwchar \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cwctype \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cctype \
+  /usr/include/wctype.h /usr/include/_types/_wctrans_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/algorithm \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/initializer_list \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstddef \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stddef.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/type_traits \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/utility \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tuple \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tuple_03 \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/memory \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/typeinfo \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/exception \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdint \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/new \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/limits \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__undef_min_max \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iterator \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_base \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_base_03 \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/tuple \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/stdexcept \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iostream \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ios \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__locale \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/mutex \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__mutex_base \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/chrono \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ctime \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ratio \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/climits \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/system_error \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cerrno \
+  /usr/include/errno.h /usr/include/sys/errno.h /usr/include/pthread.h \
+  /usr/include/pthread_impl.h /usr/include/sched.h \
+  /usr/include/sys/_types/_pthread_cond_t.h \
+  /usr/include/sys/_types/_pthread_condattr_t.h \
+  /usr/include/sys/_types/_pthread_key_t.h \
+  /usr/include/sys/_types/_pthread_mutex_t.h \
+  /usr/include/sys/_types/_pthread_mutexattr_t.h \
+  /usr/include/sys/_types/_pthread_once_t.h \
+  /usr/include/sys/_types/_pthread_rwlock_t.h \
+  /usr/include/sys/_types/_pthread_rwlockattr_t.h \
+  /usr/include/sys/_types/_pthread_t.h \
+  /usr/include/sys/_types/_mach_port_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/functional \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_03 \
+  /usr/include/locale.h /usr/include/_locale.h /usr/include/xlocale.h \
+  /usr/include/_xlocale.h /usr/include/xlocale/_ctype.h \
+  /usr/include/xlocale/__wctype.h /usr/include/xlocale/_stdio.h \
+  /usr/include/xlocale/_stdlib.h /usr/include/xlocale/_string.h \
+  /usr/include/xlocale/_time.h /usr/include/xlocale/_wchar.h \
+  /usr/include/xlocale/_wctype.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/streambuf \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/istream \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ostream \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/locale \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdlib \
+  /usr/include/nl_types.h /usr/include/sys/types.h \
+  /usr/include/sys/_types/_blkcnt_t.h \
+  /usr/include/sys/_types/_blksize_t.h /usr/include/sys/_types/_gid_t.h \
+  /usr/include/sys/_types/_in_addr_t.h \
+  /usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
+  /usr/include/sys/_types/_ino64_t.h /usr/include/sys/_types/_key_t.h \
+  /usr/include/sys/_types/_nlink_t.h \
+  /usr/include/sys/_types/_useconds_t.h \
+  /usr/include/sys/_types/_suseconds_t.h \
+  /usr/include/sys/_types/_fd_def.h \
+  /usr/include/sys/_types/_fd_setsize.h \
+  /usr/include/sys/_types/_fd_set.h /usr/include/sys/_types/_fd_clr.h \
+  /usr/include/sys/_types/_fd_zero.h /usr/include/sys/_types/_fd_isset.h \
+  /usr/include/sys/_types/_fd_copy.h \
+  /usr/include/sys/_types/_fsblkcnt_t.h \
+  /usr/include/sys/_types/_fsfilcnt_t.h /usr/include/_types/_nl_item.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/bitset \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__bit_reference \
+  /usr/include/sys/timeb.h /usr/include/sys/socket.h \
+  /usr/include/machine/_param.h /usr/include/i386/_param.h \
+  /usr/include/sys/_types/_sa_family_t.h \
+  /usr/include/sys/_types/_socklen_t.h \
+  /usr/include/sys/_types/_iovec_t.h /usr/include/sys/time.h \
+  /usr/include/sys/_select.h /usr/include/netinet/in.h \
+  /usr/include/netinet6/in6.h /usr/include/netinet/tcp.h \
+  /usr/include/arpa/inet.h /usr/include/netdb.h /usr/include/unistd.h \
+  /usr/include/sys/unistd.h /usr/include/sys/_types/_posix_vdisable.h \
+  /usr/include/sys/_types/_seek_set.h /usr/include/sys/select.h \
+  /usr/include/sys/_types/_uuid_t.h /usr/include/gethostuuid.h \
+  /usr/include/fcntl.h /usr/include/sys/fcntl.h \
+  /usr/include/sys/_types/_o_sync.h /usr/include/sys/_types/_o_dsync.h \
+  /usr/include/sys/_types/_s_ifmt.h /usr/include/sys/_types/_filesec_t.h \
+  /usr/include/math.h /usr/include/inttypes.h \
+  /usr/include/xlocale/_inttypes.h
+
+stdsoap2.h:
+
+../config.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/Availability.h:
+
+/usr/include/AvailabilityInternal.h:
+
+/usr/include/_types.h:
+
+/usr/include/sys/_types.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/sys/_symbol_aliasing.h:
+
+/usr/include/sys/_posix_availability.h:
+
+/usr/include/machine/_types.h:
+
+/usr/include/i386/_types.h:
+
+/usr/include/sys/wait.h:
+
+/usr/include/sys/_types/_pid_t.h:
+
+/usr/include/sys/_types/_id_t.h:
+
+/usr/include/sys/signal.h:
+
+/usr/include/sys/appleapiopts.h:
+
+/usr/include/machine/signal.h:
+
+/usr/include/i386/signal.h:
+
+/usr/include/machine/_mcontext.h:
+
+/usr/include/i386/_mcontext.h:
+
+/usr/include/mach/i386/_structs.h:
+
+/usr/include/sys/_types/_sigaltstack.h:
+
+/usr/include/sys/_types/_ucontext.h:
+
+/usr/include/sys/_types/_pthread_attr_t.h:
+
+/usr/include/sys/_types/_sigset_t.h:
+
+/usr/include/sys/_types/_size_t.h:
+
+/usr/include/sys/_types/_uid_t.h:
+
+/usr/include/sys/resource.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/sys/_types/_int8_t.h:
+
+/usr/include/sys/_types/_int16_t.h:
+
+/usr/include/sys/_types/_int32_t.h:
+
+/usr/include/sys/_types/_int64_t.h:
+
+/usr/include/_types/_uint8_t.h:
+
+/usr/include/_types/_uint16_t.h:
+
+/usr/include/_types/_uint32_t.h:
+
+/usr/include/_types/_uint64_t.h:
+
+/usr/include/sys/_types/_intptr_t.h:
+
+/usr/include/sys/_types/_uintptr_t.h:
+
+/usr/include/_types/_intmax_t.h:
+
+/usr/include/_types/_uintmax_t.h:
+
+/usr/include/sys/_types/_timeval.h:
+
+/usr/include/machine/endian.h:
+
+/usr/include/i386/endian.h:
+
+/usr/include/sys/_endian.h:
+
+/usr/include/libkern/_OSByteOrder.h:
+
+/usr/include/libkern/i386/_OSByteOrder.h:
+
+/usr/include/alloca.h:
+
+/usr/include/sys/_types/_ct_rune_t.h:
+
+/usr/include/sys/_types/_rune_t.h:
+
+/usr/include/sys/_types/_wchar_t.h:
+
+/usr/include/sys/_types/_null.h:
+
+/usr/include/machine/types.h:
+
+/usr/include/i386/types.h:
+
+/usr/include/sys/_types/___offsetof.h:
+
+/usr/include/sys/_types/_dev_t.h:
+
+/usr/include/sys/_types/_mode_t.h:
+
+/usr/include/stdio.h:
+
+/usr/include/sys/_types/_va_list.h:
+
+/usr/include/sys/_types/_off_t.h:
+
+/usr/include/sys/_types/_ssize_t.h:
+
+/usr/include/string.h:
+
+/usr/include/sys/_types/_rsize_t.h:
+
+/usr/include/sys/_types/_errno_t.h:
+
+/usr/include/strings.h:
+
+/usr/include/ctype.h:
+
+/usr/include/runetype.h:
+
+/usr/include/sys/_types/_wint_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h:
+
+/usr/include/limits.h:
+
+/usr/include/machine/limits.h:
+
+/usr/include/i386/limits.h:
+
+/usr/include/i386/_limits.h:
+
+/usr/include/sys/syslimits.h:
+
+/usr/include/poll.h:
+
+/usr/include/sys/poll.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/string:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__config:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iosfwd:
+
+/usr/include/wchar.h:
+
+/usr/include/sys/_types/_mbstate_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdarg.h:
+
+/usr/include/time.h:
+
+/usr/include/_structs.h:
+
+/usr/include/sys/_structs.h:
+
+/usr/include/sys/_types/_timespec.h:
+
+/usr/include/sys/_types/_clock_t.h:
+
+/usr/include/sys/_types/_time_t.h:
+
+/usr/include/_wctype.h:
+
+/usr/include/_types/_wctype_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstring:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdio:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cwchar:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cwctype:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cctype:
+
+/usr/include/wctype.h:
+
+/usr/include/_types/_wctrans_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/algorithm:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/initializer_list:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstddef:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stddef.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/type_traits:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/utility:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tuple:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tuple_03:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/memory:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/typeinfo:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/exception:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdint:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/new:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/limits:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__undef_min_max:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iterator:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_base:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_base_03:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/tuple:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/stdexcept:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iostream:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ios:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__locale:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/mutex:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__mutex_base:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/chrono:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ctime:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ratio:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/climits:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/system_error:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cerrno:
+
+/usr/include/errno.h:
+
+/usr/include/sys/errno.h:
+
+/usr/include/pthread.h:
+
+/usr/include/pthread_impl.h:
+
+/usr/include/sched.h:
+
+/usr/include/sys/_types/_pthread_cond_t.h:
+
+/usr/include/sys/_types/_pthread_condattr_t.h:
+
+/usr/include/sys/_types/_pthread_key_t.h:
+
+/usr/include/sys/_types/_pthread_mutex_t.h:
+
+/usr/include/sys/_types/_pthread_mutexattr_t.h:
+
+/usr/include/sys/_types/_pthread_once_t.h:
+
+/usr/include/sys/_types/_pthread_rwlock_t.h:
+
+/usr/include/sys/_types/_pthread_rwlockattr_t.h:
+
+/usr/include/sys/_types/_pthread_t.h:
+
+/usr/include/sys/_types/_mach_port_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/functional:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_03:
+
+/usr/include/locale.h:
+
+/usr/include/_locale.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/_xlocale.h:
+
+/usr/include/xlocale/_ctype.h:
+
+/usr/include/xlocale/__wctype.h:
+
+/usr/include/xlocale/_stdio.h:
+
+/usr/include/xlocale/_stdlib.h:
+
+/usr/include/xlocale/_string.h:
+
+/usr/include/xlocale/_time.h:
+
+/usr/include/xlocale/_wchar.h:
+
+/usr/include/xlocale/_wctype.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/streambuf:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/istream:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ostream:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/locale:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdlib:
+
+/usr/include/nl_types.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/_types/_blkcnt_t.h:
+
+/usr/include/sys/_types/_blksize_t.h:
+
+/usr/include/sys/_types/_gid_t.h:
+
+/usr/include/sys/_types/_in_addr_t.h:
+
+/usr/include/sys/_types/_in_port_t.h:
+
+/usr/include/sys/_types/_ino_t.h:
+
+/usr/include/sys/_types/_ino64_t.h:
+
+/usr/include/sys/_types/_key_t.h:
+
+/usr/include/sys/_types/_nlink_t.h:
+
+/usr/include/sys/_types/_useconds_t.h:
+
+/usr/include/sys/_types/_suseconds_t.h:
+
+/usr/include/sys/_types/_fd_def.h:
+
+/usr/include/sys/_types/_fd_setsize.h:
+
+/usr/include/sys/_types/_fd_set.h:
+
+/usr/include/sys/_types/_fd_clr.h:
+
+/usr/include/sys/_types/_fd_zero.h:
+
+/usr/include/sys/_types/_fd_isset.h:
+
+/usr/include/sys/_types/_fd_copy.h:
+
+/usr/include/sys/_types/_fsblkcnt_t.h:
+
+/usr/include/sys/_types/_fsfilcnt_t.h:
+
+/usr/include/_types/_nl_item.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/bitset:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__bit_reference:
+
+/usr/include/sys/timeb.h:
+
+/usr/include/sys/socket.h:
+
+/usr/include/machine/_param.h:
+
+/usr/include/i386/_param.h:
+
+/usr/include/sys/_types/_sa_family_t.h:
+
+/usr/include/sys/_types/_socklen_t.h:
+
+/usr/include/sys/_types/_iovec_t.h:
+
+/usr/include/sys/time.h:
+
+/usr/include/sys/_select.h:
+
+/usr/include/netinet/in.h:
+
+/usr/include/netinet6/in6.h:
+
+/usr/include/netinet/tcp.h:
+
+/usr/include/arpa/inet.h:
+
+/usr/include/netdb.h:
+
+/usr/include/unistd.h:
+
+/usr/include/sys/unistd.h:
+
+/usr/include/sys/_types/_posix_vdisable.h:
+
+/usr/include/sys/_types/_seek_set.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/sys/_types/_uuid_t.h:
+
+/usr/include/gethostuuid.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/sys/fcntl.h:
+
+/usr/include/sys/_types/_o_sync.h:
+
+/usr/include/sys/_types/_o_dsync.h:
+
+/usr/include/sys/_types/_s_ifmt.h:
+
+/usr/include/sys/_types/_filesec_t.h:
+
+/usr/include/math.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/xlocale/_inttypes.h:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/.deps/libgsoap_a-dom.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,381 @@
+libgsoap_a-dom.o: dom.c stdsoap2.h ../config.h /usr/include/stdlib.h \
+  /usr/include/Availability.h /usr/include/AvailabilityInternal.h \
+  /usr/include/_types.h /usr/include/sys/_types.h \
+  /usr/include/sys/cdefs.h /usr/include/sys/_symbol_aliasing.h \
+  /usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
+  /usr/include/i386/_types.h /usr/include/sys/wait.h \
+  /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
+  /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
+  /usr/include/machine/signal.h /usr/include/i386/signal.h \
+  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
+  /usr/include/mach/i386/_structs.h \
+  /usr/include/sys/_types/_sigaltstack.h \
+  /usr/include/sys/_types/_ucontext.h \
+  /usr/include/sys/_types/_pthread_attr_t.h \
+  /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_size_t.h \
+  /usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h \
+  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
+  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
+  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
+  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
+  /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h \
+  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
+  /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h \
+  /usr/include/machine/endian.h /usr/include/i386/endian.h \
+  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
+  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
+  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
+  /usr/include/sys/_types/_wchar_t.h /usr/include/sys/_types/_null.h \
+  /usr/include/machine/types.h /usr/include/i386/types.h \
+  /usr/include/sys/_types/___offsetof.h /usr/include/sys/_types/_dev_t.h \
+  /usr/include/sys/_types/_mode_t.h /usr/include/stdio.h \
+  /usr/include/sys/_types/_va_list.h /usr/include/sys/_types/_off_t.h \
+  /usr/include/sys/_types/_ssize_t.h /usr/include/secure/_stdio.h \
+  /usr/include/secure/_common.h /usr/include/string.h \
+  /usr/include/sys/_types/_rsize_t.h /usr/include/sys/_types/_errno_t.h \
+  /usr/include/strings.h /usr/include/secure/_string.h \
+  /usr/include/ctype.h /usr/include/runetype.h \
+  /usr/include/sys/_types/_wint_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h \
+  /usr/include/limits.h /usr/include/machine/limits.h \
+  /usr/include/i386/limits.h /usr/include/i386/_limits.h \
+  /usr/include/sys/syslimits.h /usr/include/poll.h \
+  /usr/include/sys/poll.h /usr/include/errno.h /usr/include/sys/errno.h \
+  /usr/include/sys/types.h /usr/include/sys/_types/_blkcnt_t.h \
+  /usr/include/sys/_types/_blksize_t.h /usr/include/sys/_types/_gid_t.h \
+  /usr/include/sys/_types/_in_addr_t.h \
+  /usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
+  /usr/include/sys/_types/_ino64_t.h /usr/include/sys/_types/_key_t.h \
+  /usr/include/sys/_types/_nlink_t.h /usr/include/sys/_types/_clock_t.h \
+  /usr/include/sys/_types/_time_t.h \
+  /usr/include/sys/_types/_useconds_t.h \
+  /usr/include/sys/_types/_suseconds_t.h \
+  /usr/include/sys/_types/_fd_def.h \
+  /usr/include/sys/_types/_fd_setsize.h \
+  /usr/include/sys/_types/_fd_set.h /usr/include/sys/_types/_fd_clr.h \
+  /usr/include/sys/_types/_fd_zero.h /usr/include/sys/_types/_fd_isset.h \
+  /usr/include/sys/_types/_fd_copy.h \
+  /usr/include/sys/_types/_pthread_cond_t.h \
+  /usr/include/sys/_types/_pthread_condattr_t.h \
+  /usr/include/sys/_types/_pthread_mutex_t.h \
+  /usr/include/sys/_types/_pthread_mutexattr_t.h \
+  /usr/include/sys/_types/_pthread_once_t.h \
+  /usr/include/sys/_types/_pthread_rwlock_t.h \
+  /usr/include/sys/_types/_pthread_rwlockattr_t.h \
+  /usr/include/sys/_types/_pthread_t.h \
+  /usr/include/sys/_types/_pthread_key_t.h \
+  /usr/include/sys/_types/_fsblkcnt_t.h \
+  /usr/include/sys/_types/_fsfilcnt_t.h /usr/include/sys/timeb.h \
+  /usr/include/time.h /usr/include/_structs.h \
+  /usr/include/sys/_structs.h /usr/include/sys/_types/_timespec.h \
+  /usr/include/sys/socket.h /usr/include/machine/_param.h \
+  /usr/include/i386/_param.h /usr/include/sys/_types/_sa_family_t.h \
+  /usr/include/sys/_types/_socklen_t.h \
+  /usr/include/sys/_types/_iovec_t.h /usr/include/sys/time.h \
+  /usr/include/sys/_select.h /usr/include/netinet/in.h \
+  /usr/include/netinet6/in6.h /usr/include/netinet/tcp.h \
+  /usr/include/arpa/inet.h /usr/include/netdb.h /usr/include/unistd.h \
+  /usr/include/sys/unistd.h /usr/include/sys/_types/_posix_vdisable.h \
+  /usr/include/sys/_types/_seek_set.h /usr/include/sys/select.h \
+  /usr/include/sys/_types/_uuid_t.h /usr/include/gethostuuid.h \
+  /usr/include/fcntl.h /usr/include/sys/fcntl.h \
+  /usr/include/sys/_types/_o_sync.h /usr/include/sys/_types/_o_dsync.h \
+  /usr/include/sys/_types/_s_ifmt.h /usr/include/sys/_types/_filesec_t.h \
+  /usr/include/math.h /usr/include/inttypes.h
+
+stdsoap2.h:
+
+../config.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/Availability.h:
+
+/usr/include/AvailabilityInternal.h:
+
+/usr/include/_types.h:
+
+/usr/include/sys/_types.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/sys/_symbol_aliasing.h:
+
+/usr/include/sys/_posix_availability.h:
+
+/usr/include/machine/_types.h:
+
+/usr/include/i386/_types.h:
+
+/usr/include/sys/wait.h:
+
+/usr/include/sys/_types/_pid_t.h:
+
+/usr/include/sys/_types/_id_t.h:
+
+/usr/include/sys/signal.h:
+
+/usr/include/sys/appleapiopts.h:
+
+/usr/include/machine/signal.h:
+
+/usr/include/i386/signal.h:
+
+/usr/include/machine/_mcontext.h:
+
+/usr/include/i386/_mcontext.h:
+
+/usr/include/mach/i386/_structs.h:
+
+/usr/include/sys/_types/_sigaltstack.h:
+
+/usr/include/sys/_types/_ucontext.h:
+
+/usr/include/sys/_types/_pthread_attr_t.h:
+
+/usr/include/sys/_types/_sigset_t.h:
+
+/usr/include/sys/_types/_size_t.h:
+
+/usr/include/sys/_types/_uid_t.h:
+
+/usr/include/sys/resource.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/sys/_types/_int8_t.h:
+
+/usr/include/sys/_types/_int16_t.h:
+
+/usr/include/sys/_types/_int32_t.h:
+
+/usr/include/sys/_types/_int64_t.h:
+
+/usr/include/_types/_uint8_t.h:
+
+/usr/include/_types/_uint16_t.h:
+
+/usr/include/_types/_uint32_t.h:
+
+/usr/include/_types/_uint64_t.h:
+
+/usr/include/sys/_types/_intptr_t.h:
+
+/usr/include/sys/_types/_uintptr_t.h:
+
+/usr/include/_types/_intmax_t.h:
+
+/usr/include/_types/_uintmax_t.h:
+
+/usr/include/sys/_types/_timeval.h:
+
+/usr/include/machine/endian.h:
+
+/usr/include/i386/endian.h:
+
+/usr/include/sys/_endian.h:
+
+/usr/include/libkern/_OSByteOrder.h:
+
+/usr/include/libkern/i386/_OSByteOrder.h:
+
+/usr/include/alloca.h:
+
+/usr/include/sys/_types/_ct_rune_t.h:
+
+/usr/include/sys/_types/_rune_t.h:
+
+/usr/include/sys/_types/_wchar_t.h:
+
+/usr/include/sys/_types/_null.h:
+
+/usr/include/machine/types.h:
+
+/usr/include/i386/types.h:
+
+/usr/include/sys/_types/___offsetof.h:
+
+/usr/include/sys/_types/_dev_t.h:
+
+/usr/include/sys/_types/_mode_t.h:
+
+/usr/include/stdio.h:
+
+/usr/include/sys/_types/_va_list.h:
+
+/usr/include/sys/_types/_off_t.h:
+
+/usr/include/sys/_types/_ssize_t.h:
+
+/usr/include/secure/_stdio.h:
+
+/usr/include/secure/_common.h:
+
+/usr/include/string.h:
+
+/usr/include/sys/_types/_rsize_t.h:
+
+/usr/include/sys/_types/_errno_t.h:
+
+/usr/include/strings.h:
+
+/usr/include/secure/_string.h:
+
+/usr/include/ctype.h:
+
+/usr/include/runetype.h:
+
+/usr/include/sys/_types/_wint_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h:
+
+/usr/include/limits.h:
+
+/usr/include/machine/limits.h:
+
+/usr/include/i386/limits.h:
+
+/usr/include/i386/_limits.h:
+
+/usr/include/sys/syslimits.h:
+
+/usr/include/poll.h:
+
+/usr/include/sys/poll.h:
+
+/usr/include/errno.h:
+
+/usr/include/sys/errno.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/_types/_blkcnt_t.h:
+
+/usr/include/sys/_types/_blksize_t.h:
+
+/usr/include/sys/_types/_gid_t.h:
+
+/usr/include/sys/_types/_in_addr_t.h:
+
+/usr/include/sys/_types/_in_port_t.h:
+
+/usr/include/sys/_types/_ino_t.h:
+
+/usr/include/sys/_types/_ino64_t.h:
+
+/usr/include/sys/_types/_key_t.h:
+
+/usr/include/sys/_types/_nlink_t.h:
+
+/usr/include/sys/_types/_clock_t.h:
+
+/usr/include/sys/_types/_time_t.h:
+
+/usr/include/sys/_types/_useconds_t.h:
+
+/usr/include/sys/_types/_suseconds_t.h:
+
+/usr/include/sys/_types/_fd_def.h:
+
+/usr/include/sys/_types/_fd_setsize.h:
+
+/usr/include/sys/_types/_fd_set.h:
+
+/usr/include/sys/_types/_fd_clr.h:
+
+/usr/include/sys/_types/_fd_zero.h:
+
+/usr/include/sys/_types/_fd_isset.h:
+
+/usr/include/sys/_types/_fd_copy.h:
+
+/usr/include/sys/_types/_pthread_cond_t.h:
+
+/usr/include/sys/_types/_pthread_condattr_t.h:
+
+/usr/include/sys/_types/_pthread_mutex_t.h:
+
+/usr/include/sys/_types/_pthread_mutexattr_t.h:
+
+/usr/include/sys/_types/_pthread_once_t.h:
+
+/usr/include/sys/_types/_pthread_rwlock_t.h:
+
+/usr/include/sys/_types/_pthread_rwlockattr_t.h:
+
+/usr/include/sys/_types/_pthread_t.h:
+
+/usr/include/sys/_types/_pthread_key_t.h:
+
+/usr/include/sys/_types/_fsblkcnt_t.h:
+
+/usr/include/sys/_types/_fsfilcnt_t.h:
+
+/usr/include/sys/timeb.h:
+
+/usr/include/time.h:
+
+/usr/include/_structs.h:
+
+/usr/include/sys/_structs.h:
+
+/usr/include/sys/_types/_timespec.h:
+
+/usr/include/sys/socket.h:
+
+/usr/include/machine/_param.h:
+
+/usr/include/i386/_param.h:
+
+/usr/include/sys/_types/_sa_family_t.h:
+
+/usr/include/sys/_types/_socklen_t.h:
+
+/usr/include/sys/_types/_iovec_t.h:
+
+/usr/include/sys/time.h:
+
+/usr/include/sys/_select.h:
+
+/usr/include/netinet/in.h:
+
+/usr/include/netinet6/in6.h:
+
+/usr/include/netinet/tcp.h:
+
+/usr/include/arpa/inet.h:
+
+/usr/include/netdb.h:
+
+/usr/include/unistd.h:
+
+/usr/include/sys/unistd.h:
+
+/usr/include/sys/_types/_posix_vdisable.h:
+
+/usr/include/sys/_types/_seek_set.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/sys/_types/_uuid_t.h:
+
+/usr/include/gethostuuid.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/sys/fcntl.h:
+
+/usr/include/sys/_types/_o_sync.h:
+
+/usr/include/sys/_types/_o_dsync.h:
+
+/usr/include/sys/_types/_s_ifmt.h:
+
+/usr/include/sys/_types/_filesec_t.h:
+
+/usr/include/math.h:
+
+/usr/include/inttypes.h:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/.deps/libgsoap_a-stdsoap2.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,382 @@
+libgsoap_a-stdsoap2.o: stdsoap2.c stdsoap2.h ../config.h \
+  /usr/include/stdlib.h /usr/include/Availability.h \
+  /usr/include/AvailabilityInternal.h /usr/include/_types.h \
+  /usr/include/sys/_types.h /usr/include/sys/cdefs.h \
+  /usr/include/sys/_symbol_aliasing.h \
+  /usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
+  /usr/include/i386/_types.h /usr/include/sys/wait.h \
+  /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
+  /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
+  /usr/include/machine/signal.h /usr/include/i386/signal.h \
+  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
+  /usr/include/mach/i386/_structs.h \
+  /usr/include/sys/_types/_sigaltstack.h \
+  /usr/include/sys/_types/_ucontext.h \
+  /usr/include/sys/_types/_pthread_attr_t.h \
+  /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_size_t.h \
+  /usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h \
+  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
+  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
+  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
+  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
+  /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h \
+  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
+  /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h \
+  /usr/include/machine/endian.h /usr/include/i386/endian.h \
+  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
+  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
+  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
+  /usr/include/sys/_types/_wchar_t.h /usr/include/sys/_types/_null.h \
+  /usr/include/machine/types.h /usr/include/i386/types.h \
+  /usr/include/sys/_types/___offsetof.h /usr/include/sys/_types/_dev_t.h \
+  /usr/include/sys/_types/_mode_t.h /usr/include/stdio.h \
+  /usr/include/sys/_types/_va_list.h /usr/include/sys/_types/_off_t.h \
+  /usr/include/sys/_types/_ssize_t.h /usr/include/secure/_stdio.h \
+  /usr/include/secure/_common.h /usr/include/string.h \
+  /usr/include/sys/_types/_rsize_t.h /usr/include/sys/_types/_errno_t.h \
+  /usr/include/strings.h /usr/include/secure/_string.h \
+  /usr/include/ctype.h /usr/include/runetype.h \
+  /usr/include/sys/_types/_wint_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h \
+  /usr/include/limits.h /usr/include/machine/limits.h \
+  /usr/include/i386/limits.h /usr/include/i386/_limits.h \
+  /usr/include/sys/syslimits.h /usr/include/poll.h \
+  /usr/include/sys/poll.h /usr/include/errno.h /usr/include/sys/errno.h \
+  /usr/include/sys/types.h /usr/include/sys/_types/_blkcnt_t.h \
+  /usr/include/sys/_types/_blksize_t.h /usr/include/sys/_types/_gid_t.h \
+  /usr/include/sys/_types/_in_addr_t.h \
+  /usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
+  /usr/include/sys/_types/_ino64_t.h /usr/include/sys/_types/_key_t.h \
+  /usr/include/sys/_types/_nlink_t.h /usr/include/sys/_types/_clock_t.h \
+  /usr/include/sys/_types/_time_t.h \
+  /usr/include/sys/_types/_useconds_t.h \
+  /usr/include/sys/_types/_suseconds_t.h \
+  /usr/include/sys/_types/_fd_def.h \
+  /usr/include/sys/_types/_fd_setsize.h \
+  /usr/include/sys/_types/_fd_set.h /usr/include/sys/_types/_fd_clr.h \
+  /usr/include/sys/_types/_fd_zero.h /usr/include/sys/_types/_fd_isset.h \
+  /usr/include/sys/_types/_fd_copy.h \
+  /usr/include/sys/_types/_pthread_cond_t.h \
+  /usr/include/sys/_types/_pthread_condattr_t.h \
+  /usr/include/sys/_types/_pthread_mutex_t.h \
+  /usr/include/sys/_types/_pthread_mutexattr_t.h \
+  /usr/include/sys/_types/_pthread_once_t.h \
+  /usr/include/sys/_types/_pthread_rwlock_t.h \
+  /usr/include/sys/_types/_pthread_rwlockattr_t.h \
+  /usr/include/sys/_types/_pthread_t.h \
+  /usr/include/sys/_types/_pthread_key_t.h \
+  /usr/include/sys/_types/_fsblkcnt_t.h \
+  /usr/include/sys/_types/_fsfilcnt_t.h /usr/include/sys/timeb.h \
+  /usr/include/time.h /usr/include/_structs.h \
+  /usr/include/sys/_structs.h /usr/include/sys/_types/_timespec.h \
+  /usr/include/sys/socket.h /usr/include/machine/_param.h \
+  /usr/include/i386/_param.h /usr/include/sys/_types/_sa_family_t.h \
+  /usr/include/sys/_types/_socklen_t.h \
+  /usr/include/sys/_types/_iovec_t.h /usr/include/sys/time.h \
+  /usr/include/sys/_select.h /usr/include/netinet/in.h \
+  /usr/include/netinet6/in6.h /usr/include/netinet/tcp.h \
+  /usr/include/arpa/inet.h /usr/include/netdb.h /usr/include/unistd.h \
+  /usr/include/sys/unistd.h /usr/include/sys/_types/_posix_vdisable.h \
+  /usr/include/sys/_types/_seek_set.h /usr/include/sys/select.h \
+  /usr/include/sys/_types/_uuid_t.h /usr/include/gethostuuid.h \
+  /usr/include/fcntl.h /usr/include/sys/fcntl.h \
+  /usr/include/sys/_types/_o_sync.h /usr/include/sys/_types/_o_dsync.h \
+  /usr/include/sys/_types/_s_ifmt.h /usr/include/sys/_types/_filesec_t.h \
+  /usr/include/math.h /usr/include/inttypes.h
+
+stdsoap2.h:
+
+../config.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/Availability.h:
+
+/usr/include/AvailabilityInternal.h:
+
+/usr/include/_types.h:
+
+/usr/include/sys/_types.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/sys/_symbol_aliasing.h:
+
+/usr/include/sys/_posix_availability.h:
+
+/usr/include/machine/_types.h:
+
+/usr/include/i386/_types.h:
+
+/usr/include/sys/wait.h:
+
+/usr/include/sys/_types/_pid_t.h:
+
+/usr/include/sys/_types/_id_t.h:
+
+/usr/include/sys/signal.h:
+
+/usr/include/sys/appleapiopts.h:
+
+/usr/include/machine/signal.h:
+
+/usr/include/i386/signal.h:
+
+/usr/include/machine/_mcontext.h:
+
+/usr/include/i386/_mcontext.h:
+
+/usr/include/mach/i386/_structs.h:
+
+/usr/include/sys/_types/_sigaltstack.h:
+
+/usr/include/sys/_types/_ucontext.h:
+
+/usr/include/sys/_types/_pthread_attr_t.h:
+
+/usr/include/sys/_types/_sigset_t.h:
+
+/usr/include/sys/_types/_size_t.h:
+
+/usr/include/sys/_types/_uid_t.h:
+
+/usr/include/sys/resource.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/sys/_types/_int8_t.h:
+
+/usr/include/sys/_types/_int16_t.h:
+
+/usr/include/sys/_types/_int32_t.h:
+
+/usr/include/sys/_types/_int64_t.h:
+
+/usr/include/_types/_uint8_t.h:
+
+/usr/include/_types/_uint16_t.h:
+
+/usr/include/_types/_uint32_t.h:
+
+/usr/include/_types/_uint64_t.h:
+
+/usr/include/sys/_types/_intptr_t.h:
+
+/usr/include/sys/_types/_uintptr_t.h:
+
+/usr/include/_types/_intmax_t.h:
+
+/usr/include/_types/_uintmax_t.h:
+
+/usr/include/sys/_types/_timeval.h:
+
+/usr/include/machine/endian.h:
+
+/usr/include/i386/endian.h:
+
+/usr/include/sys/_endian.h:
+
+/usr/include/libkern/_OSByteOrder.h:
+
+/usr/include/libkern/i386/_OSByteOrder.h:
+
+/usr/include/alloca.h:
+
+/usr/include/sys/_types/_ct_rune_t.h:
+
+/usr/include/sys/_types/_rune_t.h:
+
+/usr/include/sys/_types/_wchar_t.h:
+
+/usr/include/sys/_types/_null.h:
+
+/usr/include/machine/types.h:
+
+/usr/include/i386/types.h:
+
+/usr/include/sys/_types/___offsetof.h:
+
+/usr/include/sys/_types/_dev_t.h:
+
+/usr/include/sys/_types/_mode_t.h:
+
+/usr/include/stdio.h:
+
+/usr/include/sys/_types/_va_list.h:
+
+/usr/include/sys/_types/_off_t.h:
+
+/usr/include/sys/_types/_ssize_t.h:
+
+/usr/include/secure/_stdio.h:
+
+/usr/include/secure/_common.h:
+
+/usr/include/string.h:
+
+/usr/include/sys/_types/_rsize_t.h:
+
+/usr/include/sys/_types/_errno_t.h:
+
+/usr/include/strings.h:
+
+/usr/include/secure/_string.h:
+
+/usr/include/ctype.h:
+
+/usr/include/runetype.h:
+
+/usr/include/sys/_types/_wint_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h:
+
+/usr/include/limits.h:
+
+/usr/include/machine/limits.h:
+
+/usr/include/i386/limits.h:
+
+/usr/include/i386/_limits.h:
+
+/usr/include/sys/syslimits.h:
+
+/usr/include/poll.h:
+
+/usr/include/sys/poll.h:
+
+/usr/include/errno.h:
+
+/usr/include/sys/errno.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/_types/_blkcnt_t.h:
+
+/usr/include/sys/_types/_blksize_t.h:
+
+/usr/include/sys/_types/_gid_t.h:
+
+/usr/include/sys/_types/_in_addr_t.h:
+
+/usr/include/sys/_types/_in_port_t.h:
+
+/usr/include/sys/_types/_ino_t.h:
+
+/usr/include/sys/_types/_ino64_t.h:
+
+/usr/include/sys/_types/_key_t.h:
+
+/usr/include/sys/_types/_nlink_t.h:
+
+/usr/include/sys/_types/_clock_t.h:
+
+/usr/include/sys/_types/_time_t.h:
+
+/usr/include/sys/_types/_useconds_t.h:
+
+/usr/include/sys/_types/_suseconds_t.h:
+
+/usr/include/sys/_types/_fd_def.h:
+
+/usr/include/sys/_types/_fd_setsize.h:
+
+/usr/include/sys/_types/_fd_set.h:
+
+/usr/include/sys/_types/_fd_clr.h:
+
+/usr/include/sys/_types/_fd_zero.h:
+
+/usr/include/sys/_types/_fd_isset.h:
+
+/usr/include/sys/_types/_fd_copy.h:
+
+/usr/include/sys/_types/_pthread_cond_t.h:
+
+/usr/include/sys/_types/_pthread_condattr_t.h:
+
+/usr/include/sys/_types/_pthread_mutex_t.h:
+
+/usr/include/sys/_types/_pthread_mutexattr_t.h:
+
+/usr/include/sys/_types/_pthread_once_t.h:
+
+/usr/include/sys/_types/_pthread_rwlock_t.h:
+
+/usr/include/sys/_types/_pthread_rwlockattr_t.h:
+
+/usr/include/sys/_types/_pthread_t.h:
+
+/usr/include/sys/_types/_pthread_key_t.h:
+
+/usr/include/sys/_types/_fsblkcnt_t.h:
+
+/usr/include/sys/_types/_fsfilcnt_t.h:
+
+/usr/include/sys/timeb.h:
+
+/usr/include/time.h:
+
+/usr/include/_structs.h:
+
+/usr/include/sys/_structs.h:
+
+/usr/include/sys/_types/_timespec.h:
+
+/usr/include/sys/socket.h:
+
+/usr/include/machine/_param.h:
+
+/usr/include/i386/_param.h:
+
+/usr/include/sys/_types/_sa_family_t.h:
+
+/usr/include/sys/_types/_socklen_t.h:
+
+/usr/include/sys/_types/_iovec_t.h:
+
+/usr/include/sys/time.h:
+
+/usr/include/sys/_select.h:
+
+/usr/include/netinet/in.h:
+
+/usr/include/netinet6/in6.h:
+
+/usr/include/netinet/tcp.h:
+
+/usr/include/arpa/inet.h:
+
+/usr/include/netdb.h:
+
+/usr/include/unistd.h:
+
+/usr/include/sys/unistd.h:
+
+/usr/include/sys/_types/_posix_vdisable.h:
+
+/usr/include/sys/_types/_seek_set.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/sys/_types/_uuid_t.h:
+
+/usr/include/gethostuuid.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/sys/fcntl.h:
+
+/usr/include/sys/_types/_o_sync.h:
+
+/usr/include/sys/_types/_o_dsync.h:
+
+/usr/include/sys/_types/_s_ifmt.h:
+
+/usr/include/sys/_types/_filesec_t.h:
+
+/usr/include/math.h:
+
+/usr/include/inttypes.h:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/.deps/libgsoapck___a-dom_cpp.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,586 @@
+libgsoapck___a-dom_cpp.o: dom_cpp.cpp stdsoap2.h ../config.h \
+  /usr/include/stdlib.h /usr/include/Availability.h \
+  /usr/include/AvailabilityInternal.h /usr/include/_types.h \
+  /usr/include/sys/_types.h /usr/include/sys/cdefs.h \
+  /usr/include/sys/_symbol_aliasing.h \
+  /usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
+  /usr/include/i386/_types.h /usr/include/sys/wait.h \
+  /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
+  /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
+  /usr/include/machine/signal.h /usr/include/i386/signal.h \
+  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
+  /usr/include/mach/i386/_structs.h \
+  /usr/include/sys/_types/_sigaltstack.h \
+  /usr/include/sys/_types/_ucontext.h \
+  /usr/include/sys/_types/_pthread_attr_t.h \
+  /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_size_t.h \
+  /usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h \
+  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
+  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
+  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
+  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
+  /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h \
+  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
+  /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h \
+  /usr/include/machine/endian.h /usr/include/i386/endian.h \
+  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
+  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
+  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
+  /usr/include/sys/_types/_wchar_t.h /usr/include/sys/_types/_null.h \
+  /usr/include/machine/types.h /usr/include/i386/types.h \
+  /usr/include/sys/_types/___offsetof.h /usr/include/sys/_types/_dev_t.h \
+  /usr/include/sys/_types/_mode_t.h /usr/include/stdio.h \
+  /usr/include/sys/_types/_va_list.h /usr/include/sys/_types/_off_t.h \
+  /usr/include/sys/_types/_ssize_t.h /usr/include/string.h \
+  /usr/include/sys/_types/_rsize_t.h /usr/include/sys/_types/_errno_t.h \
+  /usr/include/strings.h /usr/include/ctype.h /usr/include/runetype.h \
+  /usr/include/sys/_types/_wint_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h \
+  /usr/include/limits.h /usr/include/machine/limits.h \
+  /usr/include/i386/limits.h /usr/include/i386/_limits.h \
+  /usr/include/sys/syslimits.h /usr/include/poll.h \
+  /usr/include/sys/poll.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/string \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__config \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iosfwd \
+  /usr/include/wchar.h /usr/include/sys/_types/_mbstate_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdarg.h \
+  /usr/include/time.h /usr/include/_structs.h \
+  /usr/include/sys/_structs.h /usr/include/sys/_types/_timespec.h \
+  /usr/include/sys/_types/_clock_t.h /usr/include/sys/_types/_time_t.h \
+  /usr/include/_wctype.h /usr/include/_types/_wctype_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstring \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdio \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cwchar \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cwctype \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cctype \
+  /usr/include/wctype.h /usr/include/_types/_wctrans_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/algorithm \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/initializer_list \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstddef \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stddef.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/type_traits \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/utility \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tuple \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tuple_03 \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/memory \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/typeinfo \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/exception \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdint \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/new \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/limits \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__undef_min_max \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iterator \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_base \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_base_03 \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/tuple \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/stdexcept \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iostream \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ios \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__locale \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/mutex \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__mutex_base \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/chrono \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ctime \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ratio \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/climits \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/system_error \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cerrno \
+  /usr/include/errno.h /usr/include/sys/errno.h /usr/include/pthread.h \
+  /usr/include/pthread_impl.h /usr/include/sched.h \
+  /usr/include/sys/_types/_pthread_cond_t.h \
+  /usr/include/sys/_types/_pthread_condattr_t.h \
+  /usr/include/sys/_types/_pthread_key_t.h \
+  /usr/include/sys/_types/_pthread_mutex_t.h \
+  /usr/include/sys/_types/_pthread_mutexattr_t.h \
+  /usr/include/sys/_types/_pthread_once_t.h \
+  /usr/include/sys/_types/_pthread_rwlock_t.h \
+  /usr/include/sys/_types/_pthread_rwlockattr_t.h \
+  /usr/include/sys/_types/_pthread_t.h \
+  /usr/include/sys/_types/_mach_port_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/functional \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_03 \
+  /usr/include/locale.h /usr/include/_locale.h /usr/include/xlocale.h \
+  /usr/include/_xlocale.h /usr/include/xlocale/_ctype.h \
+  /usr/include/xlocale/__wctype.h /usr/include/xlocale/_stdio.h \
+  /usr/include/xlocale/_stdlib.h /usr/include/xlocale/_string.h \
+  /usr/include/xlocale/_time.h /usr/include/xlocale/_wchar.h \
+  /usr/include/xlocale/_wctype.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/streambuf \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/istream \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ostream \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/locale \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdlib \
+  /usr/include/nl_types.h /usr/include/sys/types.h \
+  /usr/include/sys/_types/_blkcnt_t.h \
+  /usr/include/sys/_types/_blksize_t.h /usr/include/sys/_types/_gid_t.h \
+  /usr/include/sys/_types/_in_addr_t.h \
+  /usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
+  /usr/include/sys/_types/_ino64_t.h /usr/include/sys/_types/_key_t.h \
+  /usr/include/sys/_types/_nlink_t.h \
+  /usr/include/sys/_types/_useconds_t.h \
+  /usr/include/sys/_types/_suseconds_t.h \
+  /usr/include/sys/_types/_fd_def.h \
+  /usr/include/sys/_types/_fd_setsize.h \
+  /usr/include/sys/_types/_fd_set.h /usr/include/sys/_types/_fd_clr.h \
+  /usr/include/sys/_types/_fd_zero.h /usr/include/sys/_types/_fd_isset.h \
+  /usr/include/sys/_types/_fd_copy.h \
+  /usr/include/sys/_types/_fsblkcnt_t.h \
+  /usr/include/sys/_types/_fsfilcnt_t.h /usr/include/_types/_nl_item.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/bitset \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__bit_reference \
+  /usr/include/sys/timeb.h /usr/include/sys/socket.h \
+  /usr/include/machine/_param.h /usr/include/i386/_param.h \
+  /usr/include/sys/_types/_sa_family_t.h \
+  /usr/include/sys/_types/_socklen_t.h \
+  /usr/include/sys/_types/_iovec_t.h /usr/include/sys/time.h \
+  /usr/include/sys/_select.h /usr/include/netinet/in.h \
+  /usr/include/netinet6/in6.h /usr/include/netinet/tcp.h \
+  /usr/include/arpa/inet.h /usr/include/netdb.h /usr/include/unistd.h \
+  /usr/include/sys/unistd.h /usr/include/sys/_types/_posix_vdisable.h \
+  /usr/include/sys/_types/_seek_set.h /usr/include/sys/select.h \
+  /usr/include/sys/_types/_uuid_t.h /usr/include/gethostuuid.h \
+  /usr/include/fcntl.h /usr/include/sys/fcntl.h \
+  /usr/include/sys/_types/_o_sync.h /usr/include/sys/_types/_o_dsync.h \
+  /usr/include/sys/_types/_s_ifmt.h /usr/include/sys/_types/_filesec_t.h \
+  /usr/include/math.h /usr/include/inttypes.h \
+  /usr/include/xlocale/_inttypes.h
+
+stdsoap2.h:
+
+../config.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/Availability.h:
+
+/usr/include/AvailabilityInternal.h:
+
+/usr/include/_types.h:
+
+/usr/include/sys/_types.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/sys/_symbol_aliasing.h:
+
+/usr/include/sys/_posix_availability.h:
+
+/usr/include/machine/_types.h:
+
+/usr/include/i386/_types.h:
+
+/usr/include/sys/wait.h:
+
+/usr/include/sys/_types/_pid_t.h:
+
+/usr/include/sys/_types/_id_t.h:
+
+/usr/include/sys/signal.h:
+
+/usr/include/sys/appleapiopts.h:
+
+/usr/include/machine/signal.h:
+
+/usr/include/i386/signal.h:
+
+/usr/include/machine/_mcontext.h:
+
+/usr/include/i386/_mcontext.h:
+
+/usr/include/mach/i386/_structs.h:
+
+/usr/include/sys/_types/_sigaltstack.h:
+
+/usr/include/sys/_types/_ucontext.h:
+
+/usr/include/sys/_types/_pthread_attr_t.h:
+
+/usr/include/sys/_types/_sigset_t.h:
+
+/usr/include/sys/_types/_size_t.h:
+
+/usr/include/sys/_types/_uid_t.h:
+
+/usr/include/sys/resource.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/sys/_types/_int8_t.h:
+
+/usr/include/sys/_types/_int16_t.h:
+
+/usr/include/sys/_types/_int32_t.h:
+
+/usr/include/sys/_types/_int64_t.h:
+
+/usr/include/_types/_uint8_t.h:
+
+/usr/include/_types/_uint16_t.h:
+
+/usr/include/_types/_uint32_t.h:
+
+/usr/include/_types/_uint64_t.h:
+
+/usr/include/sys/_types/_intptr_t.h:
+
+/usr/include/sys/_types/_uintptr_t.h:
+
+/usr/include/_types/_intmax_t.h:
+
+/usr/include/_types/_uintmax_t.h:
+
+/usr/include/sys/_types/_timeval.h:
+
+/usr/include/machine/endian.h:
+
+/usr/include/i386/endian.h:
+
+/usr/include/sys/_endian.h:
+
+/usr/include/libkern/_OSByteOrder.h:
+
+/usr/include/libkern/i386/_OSByteOrder.h:
+
+/usr/include/alloca.h:
+
+/usr/include/sys/_types/_ct_rune_t.h:
+
+/usr/include/sys/_types/_rune_t.h:
+
+/usr/include/sys/_types/_wchar_t.h:
+
+/usr/include/sys/_types/_null.h:
+
+/usr/include/machine/types.h:
+
+/usr/include/i386/types.h:
+
+/usr/include/sys/_types/___offsetof.h:
+
+/usr/include/sys/_types/_dev_t.h:
+
+/usr/include/sys/_types/_mode_t.h:
+
+/usr/include/stdio.h:
+
+/usr/include/sys/_types/_va_list.h:
+
+/usr/include/sys/_types/_off_t.h:
+
+/usr/include/sys/_types/_ssize_t.h:
+
+/usr/include/string.h:
+
+/usr/include/sys/_types/_rsize_t.h:
+
+/usr/include/sys/_types/_errno_t.h:
+
+/usr/include/strings.h:
+
+/usr/include/ctype.h:
+
+/usr/include/runetype.h:
+
+/usr/include/sys/_types/_wint_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h:
+
+/usr/include/limits.h:
+
+/usr/include/machine/limits.h:
+
+/usr/include/i386/limits.h:
+
+/usr/include/i386/_limits.h:
+
+/usr/include/sys/syslimits.h:
+
+/usr/include/poll.h:
+
+/usr/include/sys/poll.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/string:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__config:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iosfwd:
+
+/usr/include/wchar.h:
+
+/usr/include/sys/_types/_mbstate_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdarg.h:
+
+/usr/include/time.h:
+
+/usr/include/_structs.h:
+
+/usr/include/sys/_structs.h:
+
+/usr/include/sys/_types/_timespec.h:
+
+/usr/include/sys/_types/_clock_t.h:
+
+/usr/include/sys/_types/_time_t.h:
+
+/usr/include/_wctype.h:
+
+/usr/include/_types/_wctype_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstring:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdio:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cwchar:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cwctype:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cctype:
+
+/usr/include/wctype.h:
+
+/usr/include/_types/_wctrans_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/algorithm:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/initializer_list:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstddef:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stddef.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/type_traits:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/utility:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tuple:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tuple_03:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/memory:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/typeinfo:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/exception:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdint:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/new:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/limits:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__undef_min_max:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iterator:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_base:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_base_03:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/tuple:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/stdexcept:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iostream:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ios:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__locale:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/mutex:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__mutex_base:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/chrono:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ctime:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ratio:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/climits:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/system_error:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cerrno:
+
+/usr/include/errno.h:
+
+/usr/include/sys/errno.h:
+
+/usr/include/pthread.h:
+
+/usr/include/pthread_impl.h:
+
+/usr/include/sched.h:
+
+/usr/include/sys/_types/_pthread_cond_t.h:
+
+/usr/include/sys/_types/_pthread_condattr_t.h:
+
+/usr/include/sys/_types/_pthread_key_t.h:
+
+/usr/include/sys/_types/_pthread_mutex_t.h:
+
+/usr/include/sys/_types/_pthread_mutexattr_t.h:
+
+/usr/include/sys/_types/_pthread_once_t.h:
+
+/usr/include/sys/_types/_pthread_rwlock_t.h:
+
+/usr/include/sys/_types/_pthread_rwlockattr_t.h:
+
+/usr/include/sys/_types/_pthread_t.h:
+
+/usr/include/sys/_types/_mach_port_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/functional:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_03:
+
+/usr/include/locale.h:
+
+/usr/include/_locale.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/_xlocale.h:
+
+/usr/include/xlocale/_ctype.h:
+
+/usr/include/xlocale/__wctype.h:
+
+/usr/include/xlocale/_stdio.h:
+
+/usr/include/xlocale/_stdlib.h:
+
+/usr/include/xlocale/_string.h:
+
+/usr/include/xlocale/_time.h:
+
+/usr/include/xlocale/_wchar.h:
+
+/usr/include/xlocale/_wctype.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/streambuf:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/istream:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ostream:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/locale:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdlib:
+
+/usr/include/nl_types.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/_types/_blkcnt_t.h:
+
+/usr/include/sys/_types/_blksize_t.h:
+
+/usr/include/sys/_types/_gid_t.h:
+
+/usr/include/sys/_types/_in_addr_t.h:
+
+/usr/include/sys/_types/_in_port_t.h:
+
+/usr/include/sys/_types/_ino_t.h:
+
+/usr/include/sys/_types/_ino64_t.h:
+
+/usr/include/sys/_types/_key_t.h:
+
+/usr/include/sys/_types/_nlink_t.h:
+
+/usr/include/sys/_types/_useconds_t.h:
+
+/usr/include/sys/_types/_suseconds_t.h:
+
+/usr/include/sys/_types/_fd_def.h:
+
+/usr/include/sys/_types/_fd_setsize.h:
+
+/usr/include/sys/_types/_fd_set.h:
+
+/usr/include/sys/_types/_fd_clr.h:
+
+/usr/include/sys/_types/_fd_zero.h:
+
+/usr/include/sys/_types/_fd_isset.h:
+
+/usr/include/sys/_types/_fd_copy.h:
+
+/usr/include/sys/_types/_fsblkcnt_t.h:
+
+/usr/include/sys/_types/_fsfilcnt_t.h:
+
+/usr/include/_types/_nl_item.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/bitset:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__bit_reference:
+
+/usr/include/sys/timeb.h:
+
+/usr/include/sys/socket.h:
+
+/usr/include/machine/_param.h:
+
+/usr/include/i386/_param.h:
+
+/usr/include/sys/_types/_sa_family_t.h:
+
+/usr/include/sys/_types/_socklen_t.h:
+
+/usr/include/sys/_types/_iovec_t.h:
+
+/usr/include/sys/time.h:
+
+/usr/include/sys/_select.h:
+
+/usr/include/netinet/in.h:
+
+/usr/include/netinet6/in6.h:
+
+/usr/include/netinet/tcp.h:
+
+/usr/include/arpa/inet.h:
+
+/usr/include/netdb.h:
+
+/usr/include/unistd.h:
+
+/usr/include/sys/unistd.h:
+
+/usr/include/sys/_types/_posix_vdisable.h:
+
+/usr/include/sys/_types/_seek_set.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/sys/_types/_uuid_t.h:
+
+/usr/include/gethostuuid.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/sys/fcntl.h:
+
+/usr/include/sys/_types/_o_sync.h:
+
+/usr/include/sys/_types/_o_dsync.h:
+
+/usr/include/sys/_types/_s_ifmt.h:
+
+/usr/include/sys/_types/_filesec_t.h:
+
+/usr/include/math.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/xlocale/_inttypes.h:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/.deps/libgsoapck___a-stdsoap2_ck_cpp.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,586 @@
+libgsoapck___a-stdsoap2_ck_cpp.o: stdsoap2_ck_cpp.cpp stdsoap2.h \
+  ../config.h /usr/include/stdlib.h /usr/include/Availability.h \
+  /usr/include/AvailabilityInternal.h /usr/include/_types.h \
+  /usr/include/sys/_types.h /usr/include/sys/cdefs.h \
+  /usr/include/sys/_symbol_aliasing.h \
+  /usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
+  /usr/include/i386/_types.h /usr/include/sys/wait.h \
+  /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
+  /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
+  /usr/include/machine/signal.h /usr/include/i386/signal.h \
+  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
+  /usr/include/mach/i386/_structs.h \
+  /usr/include/sys/_types/_sigaltstack.h \
+  /usr/include/sys/_types/_ucontext.h \
+  /usr/include/sys/_types/_pthread_attr_t.h \
+  /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_size_t.h \
+  /usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h \
+  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
+  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
+  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
+  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
+  /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h \
+  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
+  /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h \
+  /usr/include/machine/endian.h /usr/include/i386/endian.h \
+  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
+  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
+  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
+  /usr/include/sys/_types/_wchar_t.h /usr/include/sys/_types/_null.h \
+  /usr/include/machine/types.h /usr/include/i386/types.h \
+  /usr/include/sys/_types/___offsetof.h /usr/include/sys/_types/_dev_t.h \
+  /usr/include/sys/_types/_mode_t.h /usr/include/stdio.h \
+  /usr/include/sys/_types/_va_list.h /usr/include/sys/_types/_off_t.h \
+  /usr/include/sys/_types/_ssize_t.h /usr/include/string.h \
+  /usr/include/sys/_types/_rsize_t.h /usr/include/sys/_types/_errno_t.h \
+  /usr/include/strings.h /usr/include/ctype.h /usr/include/runetype.h \
+  /usr/include/sys/_types/_wint_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h \
+  /usr/include/limits.h /usr/include/machine/limits.h \
+  /usr/include/i386/limits.h /usr/include/i386/_limits.h \
+  /usr/include/sys/syslimits.h /usr/include/poll.h \
+  /usr/include/sys/poll.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/string \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__config \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iosfwd \
+  /usr/include/wchar.h /usr/include/sys/_types/_mbstate_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdarg.h \
+  /usr/include/time.h /usr/include/_structs.h \
+  /usr/include/sys/_structs.h /usr/include/sys/_types/_timespec.h \
+  /usr/include/sys/_types/_clock_t.h /usr/include/sys/_types/_time_t.h \
+  /usr/include/_wctype.h /usr/include/_types/_wctype_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstring \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdio \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cwchar \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cwctype \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cctype \
+  /usr/include/wctype.h /usr/include/_types/_wctrans_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/algorithm \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/initializer_list \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstddef \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stddef.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/type_traits \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/utility \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tuple \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tuple_03 \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/memory \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/typeinfo \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/exception \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdint \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/new \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/limits \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__undef_min_max \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iterator \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_base \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_base_03 \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/tuple \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/stdexcept \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iostream \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ios \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__locale \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/mutex \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__mutex_base \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/chrono \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ctime \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ratio \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/climits \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/system_error \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cerrno \
+  /usr/include/errno.h /usr/include/sys/errno.h /usr/include/pthread.h \
+  /usr/include/pthread_impl.h /usr/include/sched.h \
+  /usr/include/sys/_types/_pthread_cond_t.h \
+  /usr/include/sys/_types/_pthread_condattr_t.h \
+  /usr/include/sys/_types/_pthread_key_t.h \
+  /usr/include/sys/_types/_pthread_mutex_t.h \
+  /usr/include/sys/_types/_pthread_mutexattr_t.h \
+  /usr/include/sys/_types/_pthread_once_t.h \
+  /usr/include/sys/_types/_pthread_rwlock_t.h \
+  /usr/include/sys/_types/_pthread_rwlockattr_t.h \
+  /usr/include/sys/_types/_pthread_t.h \
+  /usr/include/sys/_types/_mach_port_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/functional \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_03 \
+  /usr/include/locale.h /usr/include/_locale.h /usr/include/xlocale.h \
+  /usr/include/_xlocale.h /usr/include/xlocale/_ctype.h \
+  /usr/include/xlocale/__wctype.h /usr/include/xlocale/_stdio.h \
+  /usr/include/xlocale/_stdlib.h /usr/include/xlocale/_string.h \
+  /usr/include/xlocale/_time.h /usr/include/xlocale/_wchar.h \
+  /usr/include/xlocale/_wctype.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/streambuf \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/istream \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ostream \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/locale \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdlib \
+  /usr/include/nl_types.h /usr/include/sys/types.h \
+  /usr/include/sys/_types/_blkcnt_t.h \
+  /usr/include/sys/_types/_blksize_t.h /usr/include/sys/_types/_gid_t.h \
+  /usr/include/sys/_types/_in_addr_t.h \
+  /usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
+  /usr/include/sys/_types/_ino64_t.h /usr/include/sys/_types/_key_t.h \
+  /usr/include/sys/_types/_nlink_t.h \
+  /usr/include/sys/_types/_useconds_t.h \
+  /usr/include/sys/_types/_suseconds_t.h \
+  /usr/include/sys/_types/_fd_def.h \
+  /usr/include/sys/_types/_fd_setsize.h \
+  /usr/include/sys/_types/_fd_set.h /usr/include/sys/_types/_fd_clr.h \
+  /usr/include/sys/_types/_fd_zero.h /usr/include/sys/_types/_fd_isset.h \
+  /usr/include/sys/_types/_fd_copy.h \
+  /usr/include/sys/_types/_fsblkcnt_t.h \
+  /usr/include/sys/_types/_fsfilcnt_t.h /usr/include/_types/_nl_item.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/bitset \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__bit_reference \
+  /usr/include/sys/timeb.h /usr/include/sys/socket.h \
+  /usr/include/machine/_param.h /usr/include/i386/_param.h \
+  /usr/include/sys/_types/_sa_family_t.h \
+  /usr/include/sys/_types/_socklen_t.h \
+  /usr/include/sys/_types/_iovec_t.h /usr/include/sys/time.h \
+  /usr/include/sys/_select.h /usr/include/netinet/in.h \
+  /usr/include/netinet6/in6.h /usr/include/netinet/tcp.h \
+  /usr/include/arpa/inet.h /usr/include/netdb.h /usr/include/unistd.h \
+  /usr/include/sys/unistd.h /usr/include/sys/_types/_posix_vdisable.h \
+  /usr/include/sys/_types/_seek_set.h /usr/include/sys/select.h \
+  /usr/include/sys/_types/_uuid_t.h /usr/include/gethostuuid.h \
+  /usr/include/fcntl.h /usr/include/sys/fcntl.h \
+  /usr/include/sys/_types/_o_sync.h /usr/include/sys/_types/_o_dsync.h \
+  /usr/include/sys/_types/_s_ifmt.h /usr/include/sys/_types/_filesec_t.h \
+  /usr/include/math.h /usr/include/inttypes.h \
+  /usr/include/xlocale/_inttypes.h
+
+stdsoap2.h:
+
+../config.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/Availability.h:
+
+/usr/include/AvailabilityInternal.h:
+
+/usr/include/_types.h:
+
+/usr/include/sys/_types.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/sys/_symbol_aliasing.h:
+
+/usr/include/sys/_posix_availability.h:
+
+/usr/include/machine/_types.h:
+
+/usr/include/i386/_types.h:
+
+/usr/include/sys/wait.h:
+
+/usr/include/sys/_types/_pid_t.h:
+
+/usr/include/sys/_types/_id_t.h:
+
+/usr/include/sys/signal.h:
+
+/usr/include/sys/appleapiopts.h:
+
+/usr/include/machine/signal.h:
+
+/usr/include/i386/signal.h:
+
+/usr/include/machine/_mcontext.h:
+
+/usr/include/i386/_mcontext.h:
+
+/usr/include/mach/i386/_structs.h:
+
+/usr/include/sys/_types/_sigaltstack.h:
+
+/usr/include/sys/_types/_ucontext.h:
+
+/usr/include/sys/_types/_pthread_attr_t.h:
+
+/usr/include/sys/_types/_sigset_t.h:
+
+/usr/include/sys/_types/_size_t.h:
+
+/usr/include/sys/_types/_uid_t.h:
+
+/usr/include/sys/resource.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/sys/_types/_int8_t.h:
+
+/usr/include/sys/_types/_int16_t.h:
+
+/usr/include/sys/_types/_int32_t.h:
+
+/usr/include/sys/_types/_int64_t.h:
+
+/usr/include/_types/_uint8_t.h:
+
+/usr/include/_types/_uint16_t.h:
+
+/usr/include/_types/_uint32_t.h:
+
+/usr/include/_types/_uint64_t.h:
+
+/usr/include/sys/_types/_intptr_t.h:
+
+/usr/include/sys/_types/_uintptr_t.h:
+
+/usr/include/_types/_intmax_t.h:
+
+/usr/include/_types/_uintmax_t.h:
+
+/usr/include/sys/_types/_timeval.h:
+
+/usr/include/machine/endian.h:
+
+/usr/include/i386/endian.h:
+
+/usr/include/sys/_endian.h:
+
+/usr/include/libkern/_OSByteOrder.h:
+
+/usr/include/libkern/i386/_OSByteOrder.h:
+
+/usr/include/alloca.h:
+
+/usr/include/sys/_types/_ct_rune_t.h:
+
+/usr/include/sys/_types/_rune_t.h:
+
+/usr/include/sys/_types/_wchar_t.h:
+
+/usr/include/sys/_types/_null.h:
+
+/usr/include/machine/types.h:
+
+/usr/include/i386/types.h:
+
+/usr/include/sys/_types/___offsetof.h:
+
+/usr/include/sys/_types/_dev_t.h:
+
+/usr/include/sys/_types/_mode_t.h:
+
+/usr/include/stdio.h:
+
+/usr/include/sys/_types/_va_list.h:
+
+/usr/include/sys/_types/_off_t.h:
+
+/usr/include/sys/_types/_ssize_t.h:
+
+/usr/include/string.h:
+
+/usr/include/sys/_types/_rsize_t.h:
+
+/usr/include/sys/_types/_errno_t.h:
+
+/usr/include/strings.h:
+
+/usr/include/ctype.h:
+
+/usr/include/runetype.h:
+
+/usr/include/sys/_types/_wint_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h:
+
+/usr/include/limits.h:
+
+/usr/include/machine/limits.h:
+
+/usr/include/i386/limits.h:
+
+/usr/include/i386/_limits.h:
+
+/usr/include/sys/syslimits.h:
+
+/usr/include/poll.h:
+
+/usr/include/sys/poll.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/string:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__config:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iosfwd:
+
+/usr/include/wchar.h:
+
+/usr/include/sys/_types/_mbstate_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdarg.h:
+
+/usr/include/time.h:
+
+/usr/include/_structs.h:
+
+/usr/include/sys/_structs.h:
+
+/usr/include/sys/_types/_timespec.h:
+
+/usr/include/sys/_types/_clock_t.h:
+
+/usr/include/sys/_types/_time_t.h:
+
+/usr/include/_wctype.h:
+
+/usr/include/_types/_wctype_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstring:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdio:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cwchar:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cwctype:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cctype:
+
+/usr/include/wctype.h:
+
+/usr/include/_types/_wctrans_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/algorithm:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/initializer_list:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstddef:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stddef.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/type_traits:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/utility:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tuple:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tuple_03:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/memory:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/typeinfo:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/exception:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdint:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/new:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/limits:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__undef_min_max:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iterator:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_base:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_base_03:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/tuple:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/stdexcept:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iostream:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ios:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__locale:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/mutex:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__mutex_base:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/chrono:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ctime:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ratio:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/climits:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/system_error:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cerrno:
+
+/usr/include/errno.h:
+
+/usr/include/sys/errno.h:
+
+/usr/include/pthread.h:
+
+/usr/include/pthread_impl.h:
+
+/usr/include/sched.h:
+
+/usr/include/sys/_types/_pthread_cond_t.h:
+
+/usr/include/sys/_types/_pthread_condattr_t.h:
+
+/usr/include/sys/_types/_pthread_key_t.h:
+
+/usr/include/sys/_types/_pthread_mutex_t.h:
+
+/usr/include/sys/_types/_pthread_mutexattr_t.h:
+
+/usr/include/sys/_types/_pthread_once_t.h:
+
+/usr/include/sys/_types/_pthread_rwlock_t.h:
+
+/usr/include/sys/_types/_pthread_rwlockattr_t.h:
+
+/usr/include/sys/_types/_pthread_t.h:
+
+/usr/include/sys/_types/_mach_port_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/functional:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__functional_03:
+
+/usr/include/locale.h:
+
+/usr/include/_locale.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/_xlocale.h:
+
+/usr/include/xlocale/_ctype.h:
+
+/usr/include/xlocale/__wctype.h:
+
+/usr/include/xlocale/_stdio.h:
+
+/usr/include/xlocale/_stdlib.h:
+
+/usr/include/xlocale/_string.h:
+
+/usr/include/xlocale/_time.h:
+
+/usr/include/xlocale/_wchar.h:
+
+/usr/include/xlocale/_wctype.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/streambuf:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/istream:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ostream:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/locale:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstdlib:
+
+/usr/include/nl_types.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/_types/_blkcnt_t.h:
+
+/usr/include/sys/_types/_blksize_t.h:
+
+/usr/include/sys/_types/_gid_t.h:
+
+/usr/include/sys/_types/_in_addr_t.h:
+
+/usr/include/sys/_types/_in_port_t.h:
+
+/usr/include/sys/_types/_ino_t.h:
+
+/usr/include/sys/_types/_ino64_t.h:
+
+/usr/include/sys/_types/_key_t.h:
+
+/usr/include/sys/_types/_nlink_t.h:
+
+/usr/include/sys/_types/_useconds_t.h:
+
+/usr/include/sys/_types/_suseconds_t.h:
+
+/usr/include/sys/_types/_fd_def.h:
+
+/usr/include/sys/_types/_fd_setsize.h:
+
+/usr/include/sys/_types/_fd_set.h:
+
+/usr/include/sys/_types/_fd_clr.h:
+
+/usr/include/sys/_types/_fd_zero.h:
+
+/usr/include/sys/_types/_fd_isset.h:
+
+/usr/include/sys/_types/_fd_copy.h:
+
+/usr/include/sys/_types/_fsblkcnt_t.h:
+
+/usr/include/sys/_types/_fsfilcnt_t.h:
+
+/usr/include/_types/_nl_item.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/bitset:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__bit_reference:
+
+/usr/include/sys/timeb.h:
+
+/usr/include/sys/socket.h:
+
+/usr/include/machine/_param.h:
+
+/usr/include/i386/_param.h:
+
+/usr/include/sys/_types/_sa_family_t.h:
+
+/usr/include/sys/_types/_socklen_t.h:
+
+/usr/include/sys/_types/_iovec_t.h:
+
+/usr/include/sys/time.h:
+
+/usr/include/sys/_select.h:
+
+/usr/include/netinet/in.h:
+
+/usr/include/netinet6/in6.h:
+
+/usr/include/netinet/tcp.h:
+
+/usr/include/arpa/inet.h:
+
+/usr/include/netdb.h:
+
+/usr/include/unistd.h:
+
+/usr/include/sys/unistd.h:
+
+/usr/include/sys/_types/_posix_vdisable.h:
+
+/usr/include/sys/_types/_seek_set.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/sys/_types/_uuid_t.h:
+
+/usr/include/gethostuuid.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/sys/fcntl.h:
+
+/usr/include/sys/_types/_o_sync.h:
+
+/usr/include/sys/_types/_o_dsync.h:
+
+/usr/include/sys/_types/_s_ifmt.h:
+
+/usr/include/sys/_types/_filesec_t.h:
+
+/usr/include/math.h:
+
+/usr/include/inttypes.h:
+
+/usr/include/xlocale/_inttypes.h:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/.deps/libgsoapck_a-dom.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,381 @@
+libgsoapck_a-dom.o: dom.c stdsoap2.h ../config.h /usr/include/stdlib.h \
+  /usr/include/Availability.h /usr/include/AvailabilityInternal.h \
+  /usr/include/_types.h /usr/include/sys/_types.h \
+  /usr/include/sys/cdefs.h /usr/include/sys/_symbol_aliasing.h \
+  /usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
+  /usr/include/i386/_types.h /usr/include/sys/wait.h \
+  /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
+  /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
+  /usr/include/machine/signal.h /usr/include/i386/signal.h \
+  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
+  /usr/include/mach/i386/_structs.h \
+  /usr/include/sys/_types/_sigaltstack.h \
+  /usr/include/sys/_types/_ucontext.h \
+  /usr/include/sys/_types/_pthread_attr_t.h \
+  /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_size_t.h \
+  /usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h \
+  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
+  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
+  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
+  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
+  /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h \
+  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
+  /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h \
+  /usr/include/machine/endian.h /usr/include/i386/endian.h \
+  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
+  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
+  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
+  /usr/include/sys/_types/_wchar_t.h /usr/include/sys/_types/_null.h \
+  /usr/include/machine/types.h /usr/include/i386/types.h \
+  /usr/include/sys/_types/___offsetof.h /usr/include/sys/_types/_dev_t.h \
+  /usr/include/sys/_types/_mode_t.h /usr/include/stdio.h \
+  /usr/include/sys/_types/_va_list.h /usr/include/sys/_types/_off_t.h \
+  /usr/include/sys/_types/_ssize_t.h /usr/include/secure/_stdio.h \
+  /usr/include/secure/_common.h /usr/include/string.h \
+  /usr/include/sys/_types/_rsize_t.h /usr/include/sys/_types/_errno_t.h \
+  /usr/include/strings.h /usr/include/secure/_string.h \
+  /usr/include/ctype.h /usr/include/runetype.h \
+  /usr/include/sys/_types/_wint_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h \
+  /usr/include/limits.h /usr/include/machine/limits.h \
+  /usr/include/i386/limits.h /usr/include/i386/_limits.h \
+  /usr/include/sys/syslimits.h /usr/include/poll.h \
+  /usr/include/sys/poll.h /usr/include/errno.h /usr/include/sys/errno.h \
+  /usr/include/sys/types.h /usr/include/sys/_types/_blkcnt_t.h \
+  /usr/include/sys/_types/_blksize_t.h /usr/include/sys/_types/_gid_t.h \
+  /usr/include/sys/_types/_in_addr_t.h \
+  /usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
+  /usr/include/sys/_types/_ino64_t.h /usr/include/sys/_types/_key_t.h \
+  /usr/include/sys/_types/_nlink_t.h /usr/include/sys/_types/_clock_t.h \
+  /usr/include/sys/_types/_time_t.h \
+  /usr/include/sys/_types/_useconds_t.h \
+  /usr/include/sys/_types/_suseconds_t.h \
+  /usr/include/sys/_types/_fd_def.h \
+  /usr/include/sys/_types/_fd_setsize.h \
+  /usr/include/sys/_types/_fd_set.h /usr/include/sys/_types/_fd_clr.h \
+  /usr/include/sys/_types/_fd_zero.h /usr/include/sys/_types/_fd_isset.h \
+  /usr/include/sys/_types/_fd_copy.h \
+  /usr/include/sys/_types/_pthread_cond_t.h \
+  /usr/include/sys/_types/_pthread_condattr_t.h \
+  /usr/include/sys/_types/_pthread_mutex_t.h \
+  /usr/include/sys/_types/_pthread_mutexattr_t.h \
+  /usr/include/sys/_types/_pthread_once_t.h \
+  /usr/include/sys/_types/_pthread_rwlock_t.h \
+  /usr/include/sys/_types/_pthread_rwlockattr_t.h \
+  /usr/include/sys/_types/_pthread_t.h \
+  /usr/include/sys/_types/_pthread_key_t.h \
+  /usr/include/sys/_types/_fsblkcnt_t.h \
+  /usr/include/sys/_types/_fsfilcnt_t.h /usr/include/sys/timeb.h \
+  /usr/include/time.h /usr/include/_structs.h \
+  /usr/include/sys/_structs.h /usr/include/sys/_types/_timespec.h \
+  /usr/include/sys/socket.h /usr/include/machine/_param.h \
+  /usr/include/i386/_param.h /usr/include/sys/_types/_sa_family_t.h \
+  /usr/include/sys/_types/_socklen_t.h \
+  /usr/include/sys/_types/_iovec_t.h /usr/include/sys/time.h \
+  /usr/include/sys/_select.h /usr/include/netinet/in.h \
+  /usr/include/netinet6/in6.h /usr/include/netinet/tcp.h \
+  /usr/include/arpa/inet.h /usr/include/netdb.h /usr/include/unistd.h \
+  /usr/include/sys/unistd.h /usr/include/sys/_types/_posix_vdisable.h \
+  /usr/include/sys/_types/_seek_set.h /usr/include/sys/select.h \
+  /usr/include/sys/_types/_uuid_t.h /usr/include/gethostuuid.h \
+  /usr/include/fcntl.h /usr/include/sys/fcntl.h \
+  /usr/include/sys/_types/_o_sync.h /usr/include/sys/_types/_o_dsync.h \
+  /usr/include/sys/_types/_s_ifmt.h /usr/include/sys/_types/_filesec_t.h \
+  /usr/include/math.h /usr/include/inttypes.h
+
+stdsoap2.h:
+
+../config.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/Availability.h:
+
+/usr/include/AvailabilityInternal.h:
+
+/usr/include/_types.h:
+
+/usr/include/sys/_types.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/sys/_symbol_aliasing.h:
+
+/usr/include/sys/_posix_availability.h:
+
+/usr/include/machine/_types.h:
+
+/usr/include/i386/_types.h:
+
+/usr/include/sys/wait.h:
+
+/usr/include/sys/_types/_pid_t.h:
+
+/usr/include/sys/_types/_id_t.h:
+
+/usr/include/sys/signal.h:
+
+/usr/include/sys/appleapiopts.h:
+
+/usr/include/machine/signal.h:
+
+/usr/include/i386/signal.h:
+
+/usr/include/machine/_mcontext.h:
+
+/usr/include/i386/_mcontext.h:
+
+/usr/include/mach/i386/_structs.h:
+
+/usr/include/sys/_types/_sigaltstack.h:
+
+/usr/include/sys/_types/_ucontext.h:
+
+/usr/include/sys/_types/_pthread_attr_t.h:
+
+/usr/include/sys/_types/_sigset_t.h:
+
+/usr/include/sys/_types/_size_t.h:
+
+/usr/include/sys/_types/_uid_t.h:
+
+/usr/include/sys/resource.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/sys/_types/_int8_t.h:
+
+/usr/include/sys/_types/_int16_t.h:
+
+/usr/include/sys/_types/_int32_t.h:
+
+/usr/include/sys/_types/_int64_t.h:
+
+/usr/include/_types/_uint8_t.h:
+
+/usr/include/_types/_uint16_t.h:
+
+/usr/include/_types/_uint32_t.h:
+
+/usr/include/_types/_uint64_t.h:
+
+/usr/include/sys/_types/_intptr_t.h:
+
+/usr/include/sys/_types/_uintptr_t.h:
+
+/usr/include/_types/_intmax_t.h:
+
+/usr/include/_types/_uintmax_t.h:
+
+/usr/include/sys/_types/_timeval.h:
+
+/usr/include/machine/endian.h:
+
+/usr/include/i386/endian.h:
+
+/usr/include/sys/_endian.h:
+
+/usr/include/libkern/_OSByteOrder.h:
+
+/usr/include/libkern/i386/_OSByteOrder.h:
+
+/usr/include/alloca.h:
+
+/usr/include/sys/_types/_ct_rune_t.h:
+
+/usr/include/sys/_types/_rune_t.h:
+
+/usr/include/sys/_types/_wchar_t.h:
+
+/usr/include/sys/_types/_null.h:
+
+/usr/include/machine/types.h:
+
+/usr/include/i386/types.h:
+
+/usr/include/sys/_types/___offsetof.h:
+
+/usr/include/sys/_types/_dev_t.h:
+
+/usr/include/sys/_types/_mode_t.h:
+
+/usr/include/stdio.h:
+
+/usr/include/sys/_types/_va_list.h:
+
+/usr/include/sys/_types/_off_t.h:
+
+/usr/include/sys/_types/_ssize_t.h:
+
+/usr/include/secure/_stdio.h:
+
+/usr/include/secure/_common.h:
+
+/usr/include/string.h:
+
+/usr/include/sys/_types/_rsize_t.h:
+
+/usr/include/sys/_types/_errno_t.h:
+
+/usr/include/strings.h:
+
+/usr/include/secure/_string.h:
+
+/usr/include/ctype.h:
+
+/usr/include/runetype.h:
+
+/usr/include/sys/_types/_wint_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h:
+
+/usr/include/limits.h:
+
+/usr/include/machine/limits.h:
+
+/usr/include/i386/limits.h:
+
+/usr/include/i386/_limits.h:
+
+/usr/include/sys/syslimits.h:
+
+/usr/include/poll.h:
+
+/usr/include/sys/poll.h:
+
+/usr/include/errno.h:
+
+/usr/include/sys/errno.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/_types/_blkcnt_t.h:
+
+/usr/include/sys/_types/_blksize_t.h:
+
+/usr/include/sys/_types/_gid_t.h:
+
+/usr/include/sys/_types/_in_addr_t.h:
+
+/usr/include/sys/_types/_in_port_t.h:
+
+/usr/include/sys/_types/_ino_t.h:
+
+/usr/include/sys/_types/_ino64_t.h:
+
+/usr/include/sys/_types/_key_t.h:
+
+/usr/include/sys/_types/_nlink_t.h:
+
+/usr/include/sys/_types/_clock_t.h:
+
+/usr/include/sys/_types/_time_t.h:
+
+/usr/include/sys/_types/_useconds_t.h:
+
+/usr/include/sys/_types/_suseconds_t.h:
+
+/usr/include/sys/_types/_fd_def.h:
+
+/usr/include/sys/_types/_fd_setsize.h:
+
+/usr/include/sys/_types/_fd_set.h:
+
+/usr/include/sys/_types/_fd_clr.h:
+
+/usr/include/sys/_types/_fd_zero.h:
+
+/usr/include/sys/_types/_fd_isset.h:
+
+/usr/include/sys/_types/_fd_copy.h:
+
+/usr/include/sys/_types/_pthread_cond_t.h:
+
+/usr/include/sys/_types/_pthread_condattr_t.h:
+
+/usr/include/sys/_types/_pthread_mutex_t.h:
+
+/usr/include/sys/_types/_pthread_mutexattr_t.h:
+
+/usr/include/sys/_types/_pthread_once_t.h:
+
+/usr/include/sys/_types/_pthread_rwlock_t.h:
+
+/usr/include/sys/_types/_pthread_rwlockattr_t.h:
+
+/usr/include/sys/_types/_pthread_t.h:
+
+/usr/include/sys/_types/_pthread_key_t.h:
+
+/usr/include/sys/_types/_fsblkcnt_t.h:
+
+/usr/include/sys/_types/_fsfilcnt_t.h:
+
+/usr/include/sys/timeb.h:
+
+/usr/include/time.h:
+
+/usr/include/_structs.h:
+
+/usr/include/sys/_structs.h:
+
+/usr/include/sys/_types/_timespec.h:
+
+/usr/include/sys/socket.h:
+
+/usr/include/machine/_param.h:
+
+/usr/include/i386/_param.h:
+
+/usr/include/sys/_types/_sa_family_t.h:
+
+/usr/include/sys/_types/_socklen_t.h:
+
+/usr/include/sys/_types/_iovec_t.h:
+
+/usr/include/sys/time.h:
+
+/usr/include/sys/_select.h:
+
+/usr/include/netinet/in.h:
+
+/usr/include/netinet6/in6.h:
+
+/usr/include/netinet/tcp.h:
+
+/usr/include/arpa/inet.h:
+
+/usr/include/netdb.h:
+
+/usr/include/unistd.h:
+
+/usr/include/sys/unistd.h:
+
+/usr/include/sys/_types/_posix_vdisable.h:
+
+/usr/include/sys/_types/_seek_set.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/sys/_types/_uuid_t.h:
+
+/usr/include/gethostuuid.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/sys/fcntl.h:
+
+/usr/include/sys/_types/_o_sync.h:
+
+/usr/include/sys/_types/_o_dsync.h:
+
+/usr/include/sys/_types/_s_ifmt.h:
+
+/usr/include/sys/_types/_filesec_t.h:
+
+/usr/include/math.h:
+
+/usr/include/inttypes.h:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/.deps/libgsoapck_a-stdsoap2_ck.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,382 @@
+libgsoapck_a-stdsoap2_ck.o: stdsoap2_ck.c stdsoap2.h ../config.h \
+  /usr/include/stdlib.h /usr/include/Availability.h \
+  /usr/include/AvailabilityInternal.h /usr/include/_types.h \
+  /usr/include/sys/_types.h /usr/include/sys/cdefs.h \
+  /usr/include/sys/_symbol_aliasing.h \
+  /usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
+  /usr/include/i386/_types.h /usr/include/sys/wait.h \
+  /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
+  /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
+  /usr/include/machine/signal.h /usr/include/i386/signal.h \
+  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
+  /usr/include/mach/i386/_structs.h \
+  /usr/include/sys/_types/_sigaltstack.h \
+  /usr/include/sys/_types/_ucontext.h \
+  /usr/include/sys/_types/_pthread_attr_t.h \
+  /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_size_t.h \
+  /usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h \
+  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
+  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
+  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
+  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
+  /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h \
+  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
+  /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h \
+  /usr/include/machine/endian.h /usr/include/i386/endian.h \
+  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
+  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
+  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
+  /usr/include/sys/_types/_wchar_t.h /usr/include/sys/_types/_null.h \
+  /usr/include/machine/types.h /usr/include/i386/types.h \
+  /usr/include/sys/_types/___offsetof.h /usr/include/sys/_types/_dev_t.h \
+  /usr/include/sys/_types/_mode_t.h /usr/include/stdio.h \
+  /usr/include/sys/_types/_va_list.h /usr/include/sys/_types/_off_t.h \
+  /usr/include/sys/_types/_ssize_t.h /usr/include/secure/_stdio.h \
+  /usr/include/secure/_common.h /usr/include/string.h \
+  /usr/include/sys/_types/_rsize_t.h /usr/include/sys/_types/_errno_t.h \
+  /usr/include/strings.h /usr/include/secure/_string.h \
+  /usr/include/ctype.h /usr/include/runetype.h \
+  /usr/include/sys/_types/_wint_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h \
+  /usr/include/limits.h /usr/include/machine/limits.h \
+  /usr/include/i386/limits.h /usr/include/i386/_limits.h \
+  /usr/include/sys/syslimits.h /usr/include/poll.h \
+  /usr/include/sys/poll.h /usr/include/errno.h /usr/include/sys/errno.h \
+  /usr/include/sys/types.h /usr/include/sys/_types/_blkcnt_t.h \
+  /usr/include/sys/_types/_blksize_t.h /usr/include/sys/_types/_gid_t.h \
+  /usr/include/sys/_types/_in_addr_t.h \
+  /usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
+  /usr/include/sys/_types/_ino64_t.h /usr/include/sys/_types/_key_t.h \
+  /usr/include/sys/_types/_nlink_t.h /usr/include/sys/_types/_clock_t.h \
+  /usr/include/sys/_types/_time_t.h \
+  /usr/include/sys/_types/_useconds_t.h \
+  /usr/include/sys/_types/_suseconds_t.h \
+  /usr/include/sys/_types/_fd_def.h \
+  /usr/include/sys/_types/_fd_setsize.h \
+  /usr/include/sys/_types/_fd_set.h /usr/include/sys/_types/_fd_clr.h \
+  /usr/include/sys/_types/_fd_zero.h /usr/include/sys/_types/_fd_isset.h \
+  /usr/include/sys/_types/_fd_copy.h \
+  /usr/include/sys/_types/_pthread_cond_t.h \
+  /usr/include/sys/_types/_pthread_condattr_t.h \
+  /usr/include/sys/_types/_pthread_mutex_t.h \
+  /usr/include/sys/_types/_pthread_mutexattr_t.h \
+  /usr/include/sys/_types/_pthread_once_t.h \
+  /usr/include/sys/_types/_pthread_rwlock_t.h \
+  /usr/include/sys/_types/_pthread_rwlockattr_t.h \
+  /usr/include/sys/_types/_pthread_t.h \
+  /usr/include/sys/_types/_pthread_key_t.h \
+  /usr/include/sys/_types/_fsblkcnt_t.h \
+  /usr/include/sys/_types/_fsfilcnt_t.h /usr/include/sys/timeb.h \
+  /usr/include/time.h /usr/include/_structs.h \
+  /usr/include/sys/_structs.h /usr/include/sys/_types/_timespec.h \
+  /usr/include/sys/socket.h /usr/include/machine/_param.h \
+  /usr/include/i386/_param.h /usr/include/sys/_types/_sa_family_t.h \
+  /usr/include/sys/_types/_socklen_t.h \
+  /usr/include/sys/_types/_iovec_t.h /usr/include/sys/time.h \
+  /usr/include/sys/_select.h /usr/include/netinet/in.h \
+  /usr/include/netinet6/in6.h /usr/include/netinet/tcp.h \
+  /usr/include/arpa/inet.h /usr/include/netdb.h /usr/include/unistd.h \
+  /usr/include/sys/unistd.h /usr/include/sys/_types/_posix_vdisable.h \
+  /usr/include/sys/_types/_seek_set.h /usr/include/sys/select.h \
+  /usr/include/sys/_types/_uuid_t.h /usr/include/gethostuuid.h \
+  /usr/include/fcntl.h /usr/include/sys/fcntl.h \
+  /usr/include/sys/_types/_o_sync.h /usr/include/sys/_types/_o_dsync.h \
+  /usr/include/sys/_types/_s_ifmt.h /usr/include/sys/_types/_filesec_t.h \
+  /usr/include/math.h /usr/include/inttypes.h
+
+stdsoap2.h:
+
+../config.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/Availability.h:
+
+/usr/include/AvailabilityInternal.h:
+
+/usr/include/_types.h:
+
+/usr/include/sys/_types.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/sys/_symbol_aliasing.h:
+
+/usr/include/sys/_posix_availability.h:
+
+/usr/include/machine/_types.h:
+
+/usr/include/i386/_types.h:
+
+/usr/include/sys/wait.h:
+
+/usr/include/sys/_types/_pid_t.h:
+
+/usr/include/sys/_types/_id_t.h:
+
+/usr/include/sys/signal.h:
+
+/usr/include/sys/appleapiopts.h:
+
+/usr/include/machine/signal.h:
+
+/usr/include/i386/signal.h:
+
+/usr/include/machine/_mcontext.h:
+
+/usr/include/i386/_mcontext.h:
+
+/usr/include/mach/i386/_structs.h:
+
+/usr/include/sys/_types/_sigaltstack.h:
+
+/usr/include/sys/_types/_ucontext.h:
+
+/usr/include/sys/_types/_pthread_attr_t.h:
+
+/usr/include/sys/_types/_sigset_t.h:
+
+/usr/include/sys/_types/_size_t.h:
+
+/usr/include/sys/_types/_uid_t.h:
+
+/usr/include/sys/resource.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/sys/_types/_int8_t.h:
+
+/usr/include/sys/_types/_int16_t.h:
+
+/usr/include/sys/_types/_int32_t.h:
+
+/usr/include/sys/_types/_int64_t.h:
+
+/usr/include/_types/_uint8_t.h:
+
+/usr/include/_types/_uint16_t.h:
+
+/usr/include/_types/_uint32_t.h:
+
+/usr/include/_types/_uint64_t.h:
+
+/usr/include/sys/_types/_intptr_t.h:
+
+/usr/include/sys/_types/_uintptr_t.h:
+
+/usr/include/_types/_intmax_t.h:
+
+/usr/include/_types/_uintmax_t.h:
+
+/usr/include/sys/_types/_timeval.h:
+
+/usr/include/machine/endian.h:
+
+/usr/include/i386/endian.h:
+
+/usr/include/sys/_endian.h:
+
+/usr/include/libkern/_OSByteOrder.h:
+
+/usr/include/libkern/i386/_OSByteOrder.h:
+
+/usr/include/alloca.h:
+
+/usr/include/sys/_types/_ct_rune_t.h:
+
+/usr/include/sys/_types/_rune_t.h:
+
+/usr/include/sys/_types/_wchar_t.h:
+
+/usr/include/sys/_types/_null.h:
+
+/usr/include/machine/types.h:
+
+/usr/include/i386/types.h:
+
+/usr/include/sys/_types/___offsetof.h:
+
+/usr/include/sys/_types/_dev_t.h:
+
+/usr/include/sys/_types/_mode_t.h:
+
+/usr/include/stdio.h:
+
+/usr/include/sys/_types/_va_list.h:
+
+/usr/include/sys/_types/_off_t.h:
+
+/usr/include/sys/_types/_ssize_t.h:
+
+/usr/include/secure/_stdio.h:
+
+/usr/include/secure/_common.h:
+
+/usr/include/string.h:
+
+/usr/include/sys/_types/_rsize_t.h:
+
+/usr/include/sys/_types/_errno_t.h:
+
+/usr/include/strings.h:
+
+/usr/include/secure/_string.h:
+
+/usr/include/ctype.h:
+
+/usr/include/runetype.h:
+
+/usr/include/sys/_types/_wint_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h:
+
+/usr/include/limits.h:
+
+/usr/include/machine/limits.h:
+
+/usr/include/i386/limits.h:
+
+/usr/include/i386/_limits.h:
+
+/usr/include/sys/syslimits.h:
+
+/usr/include/poll.h:
+
+/usr/include/sys/poll.h:
+
+/usr/include/errno.h:
+
+/usr/include/sys/errno.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/_types/_blkcnt_t.h:
+
+/usr/include/sys/_types/_blksize_t.h:
+
+/usr/include/sys/_types/_gid_t.h:
+
+/usr/include/sys/_types/_in_addr_t.h:
+
+/usr/include/sys/_types/_in_port_t.h:
+
+/usr/include/sys/_types/_ino_t.h:
+
+/usr/include/sys/_types/_ino64_t.h:
+
+/usr/include/sys/_types/_key_t.h:
+
+/usr/include/sys/_types/_nlink_t.h:
+
+/usr/include/sys/_types/_clock_t.h:
+
+/usr/include/sys/_types/_time_t.h:
+
+/usr/include/sys/_types/_useconds_t.h:
+
+/usr/include/sys/_types/_suseconds_t.h:
+
+/usr/include/sys/_types/_fd_def.h:
+
+/usr/include/sys/_types/_fd_setsize.h:
+
+/usr/include/sys/_types/_fd_set.h:
+
+/usr/include/sys/_types/_fd_clr.h:
+
+/usr/include/sys/_types/_fd_zero.h:
+
+/usr/include/sys/_types/_fd_isset.h:
+
+/usr/include/sys/_types/_fd_copy.h:
+
+/usr/include/sys/_types/_pthread_cond_t.h:
+
+/usr/include/sys/_types/_pthread_condattr_t.h:
+
+/usr/include/sys/_types/_pthread_mutex_t.h:
+
+/usr/include/sys/_types/_pthread_mutexattr_t.h:
+
+/usr/include/sys/_types/_pthread_once_t.h:
+
+/usr/include/sys/_types/_pthread_rwlock_t.h:
+
+/usr/include/sys/_types/_pthread_rwlockattr_t.h:
+
+/usr/include/sys/_types/_pthread_t.h:
+
+/usr/include/sys/_types/_pthread_key_t.h:
+
+/usr/include/sys/_types/_fsblkcnt_t.h:
+
+/usr/include/sys/_types/_fsfilcnt_t.h:
+
+/usr/include/sys/timeb.h:
+
+/usr/include/time.h:
+
+/usr/include/_structs.h:
+
+/usr/include/sys/_structs.h:
+
+/usr/include/sys/_types/_timespec.h:
+
+/usr/include/sys/socket.h:
+
+/usr/include/machine/_param.h:
+
+/usr/include/i386/_param.h:
+
+/usr/include/sys/_types/_sa_family_t.h:
+
+/usr/include/sys/_types/_socklen_t.h:
+
+/usr/include/sys/_types/_iovec_t.h:
+
+/usr/include/sys/time.h:
+
+/usr/include/sys/_select.h:
+
+/usr/include/netinet/in.h:
+
+/usr/include/netinet6/in6.h:
+
+/usr/include/netinet/tcp.h:
+
+/usr/include/arpa/inet.h:
+
+/usr/include/netdb.h:
+
+/usr/include/unistd.h:
+
+/usr/include/sys/unistd.h:
+
+/usr/include/sys/_types/_posix_vdisable.h:
+
+/usr/include/sys/_types/_seek_set.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/sys/_types/_uuid_t.h:
+
+/usr/include/gethostuuid.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/sys/fcntl.h:
+
+/usr/include/sys/_types/_o_sync.h:
+
+/usr/include/sys/_types/_o_dsync.h:
+
+/usr/include/sys/_types/_s_ifmt.h:
+
+/usr/include/sys/_types/_filesec_t.h:
+
+/usr/include/math.h:
+
+/usr/include/inttypes.h:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/.deps/libgsoapssl___a-dom_cpp.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/.deps/libgsoapssl___a-stdsoap2_ssl_cpp.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/.deps/libgsoapssl_a-dom.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,502 @@
+libgsoapssl_a-dom.o: dom.c stdsoap2.h ../config.h /usr/include/stdlib.h \
+  /usr/include/Availability.h /usr/include/AvailabilityInternal.h \
+  /usr/include/_types.h /usr/include/sys/_types.h \
+  /usr/include/sys/cdefs.h /usr/include/sys/_symbol_aliasing.h \
+  /usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
+  /usr/include/i386/_types.h /usr/include/sys/wait.h \
+  /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
+  /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
+  /usr/include/machine/signal.h /usr/include/i386/signal.h \
+  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
+  /usr/include/mach/i386/_structs.h \
+  /usr/include/sys/_types/_sigaltstack.h \
+  /usr/include/sys/_types/_ucontext.h \
+  /usr/include/sys/_types/_pthread_attr_t.h \
+  /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_size_t.h \
+  /usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h \
+  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
+  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
+  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
+  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
+  /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h \
+  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
+  /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h \
+  /usr/include/machine/endian.h /usr/include/i386/endian.h \
+  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
+  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
+  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
+  /usr/include/sys/_types/_wchar_t.h /usr/include/sys/_types/_null.h \
+  /usr/include/machine/types.h /usr/include/i386/types.h \
+  /usr/include/sys/_types/___offsetof.h /usr/include/sys/_types/_dev_t.h \
+  /usr/include/sys/_types/_mode_t.h /usr/include/stdio.h \
+  /usr/include/sys/_types/_va_list.h /usr/include/sys/_types/_off_t.h \
+  /usr/include/sys/_types/_ssize_t.h /usr/include/secure/_stdio.h \
+  /usr/include/secure/_common.h /usr/include/string.h \
+  /usr/include/sys/_types/_rsize_t.h /usr/include/sys/_types/_errno_t.h \
+  /usr/include/strings.h /usr/include/secure/_string.h \
+  /usr/include/ctype.h /usr/include/runetype.h \
+  /usr/include/sys/_types/_wint_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h \
+  /usr/include/limits.h /usr/include/machine/limits.h \
+  /usr/include/i386/limits.h /usr/include/i386/_limits.h \
+  /usr/include/sys/syslimits.h /usr/include/poll.h \
+  /usr/include/sys/poll.h /usr/include/errno.h /usr/include/sys/errno.h \
+  /usr/include/sys/types.h /usr/include/sys/_types/_blkcnt_t.h \
+  /usr/include/sys/_types/_blksize_t.h /usr/include/sys/_types/_gid_t.h \
+  /usr/include/sys/_types/_in_addr_t.h \
+  /usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
+  /usr/include/sys/_types/_ino64_t.h /usr/include/sys/_types/_key_t.h \
+  /usr/include/sys/_types/_nlink_t.h /usr/include/sys/_types/_clock_t.h \
+  /usr/include/sys/_types/_time_t.h \
+  /usr/include/sys/_types/_useconds_t.h \
+  /usr/include/sys/_types/_suseconds_t.h \
+  /usr/include/sys/_types/_fd_def.h \
+  /usr/include/sys/_types/_fd_setsize.h \
+  /usr/include/sys/_types/_fd_set.h /usr/include/sys/_types/_fd_clr.h \
+  /usr/include/sys/_types/_fd_zero.h /usr/include/sys/_types/_fd_isset.h \
+  /usr/include/sys/_types/_fd_copy.h \
+  /usr/include/sys/_types/_pthread_cond_t.h \
+  /usr/include/sys/_types/_pthread_condattr_t.h \
+  /usr/include/sys/_types/_pthread_mutex_t.h \
+  /usr/include/sys/_types/_pthread_mutexattr_t.h \
+  /usr/include/sys/_types/_pthread_once_t.h \
+  /usr/include/sys/_types/_pthread_rwlock_t.h \
+  /usr/include/sys/_types/_pthread_rwlockattr_t.h \
+  /usr/include/sys/_types/_pthread_t.h \
+  /usr/include/sys/_types/_pthread_key_t.h \
+  /usr/include/sys/_types/_fsblkcnt_t.h \
+  /usr/include/sys/_types/_fsfilcnt_t.h /usr/include/sys/timeb.h \
+  /usr/include/time.h /usr/include/_structs.h \
+  /usr/include/sys/_structs.h /usr/include/sys/_types/_timespec.h \
+  /usr/include/sys/socket.h /usr/include/machine/_param.h \
+  /usr/include/i386/_param.h /usr/include/sys/_types/_sa_family_t.h \
+  /usr/include/sys/_types/_socklen_t.h \
+  /usr/include/sys/_types/_iovec_t.h /usr/include/sys/time.h \
+  /usr/include/sys/_select.h /usr/include/netinet/in.h \
+  /usr/include/netinet6/in6.h /usr/include/netinet/tcp.h \
+  /usr/include/arpa/inet.h /usr/include/netdb.h /usr/include/unistd.h \
+  /usr/include/sys/unistd.h /usr/include/sys/_types/_posix_vdisable.h \
+  /usr/include/sys/_types/_seek_set.h /usr/include/sys/select.h \
+  /usr/include/sys/_types/_uuid_t.h /usr/include/gethostuuid.h \
+  /usr/include/fcntl.h /usr/include/sys/fcntl.h \
+  /usr/include/sys/_types/_o_sync.h /usr/include/sys/_types/_o_dsync.h \
+  /usr/include/sys/_types/_s_ifmt.h /usr/include/sys/_types/_filesec_t.h \
+  /usr/include/openssl/bio.h /usr/include/AvailabilityMacros.h \
+  /usr/include/openssl/e_os2.h /usr/include/openssl/opensslconf.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdarg.h \
+  /usr/include/openssl/crypto.h /usr/include/openssl/stack.h \
+  /usr/include/openssl/safestack.h /usr/include/openssl/opensslv.h \
+  /usr/include/openssl/ossl_typ.h /usr/include/openssl/symhacks.h \
+  /usr/include/openssl/err.h /usr/include/openssl/lhash.h \
+  /usr/include/openssl/rand.h /usr/include/openssl/ssl.h \
+  /usr/include/openssl/comp.h /usr/include/openssl/x509.h \
+  /usr/include/openssl/buffer.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stddef.h \
+  /usr/include/openssl/evp.h /usr/include/openssl/objects.h \
+  /usr/include/openssl/obj_mac.h /usr/include/openssl/asn1.h \
+  /usr/include/openssl/bn.h /usr/include/openssl/ec.h \
+  /usr/include/openssl/ecdsa.h /usr/include/openssl/ecdh.h \
+  /usr/include/openssl/rsa.h /usr/include/openssl/dsa.h \
+  /usr/include/openssl/dh.h /usr/include/openssl/sha.h \
+  /usr/include/openssl/x509_vfy.h /usr/include/openssl/pkcs7.h \
+  /usr/include/openssl/pem.h /usr/include/openssl/pem2.h \
+  /usr/include/openssl/hmac.h /usr/include/openssl/kssl.h \
+  /usr/include/openssl/ssl2.h /usr/include/openssl/ssl3.h \
+  /usr/include/openssl/pq_compat.h /usr/include/openssl/tls1.h \
+  /usr/include/openssl/dtls1.h /usr/include/openssl/pqueue.h \
+  /usr/include/openssl/ssl23.h /usr/include/openssl/x509v3.h \
+  /usr/include/openssl/conf.h /usr/include/zlib.h /usr/include/zconf.h \
+  /usr/include/math.h /usr/include/inttypes.h
+
+stdsoap2.h:
+
+../config.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/Availability.h:
+
+/usr/include/AvailabilityInternal.h:
+
+/usr/include/_types.h:
+
+/usr/include/sys/_types.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/sys/_symbol_aliasing.h:
+
+/usr/include/sys/_posix_availability.h:
+
+/usr/include/machine/_types.h:
+
+/usr/include/i386/_types.h:
+
+/usr/include/sys/wait.h:
+
+/usr/include/sys/_types/_pid_t.h:
+
+/usr/include/sys/_types/_id_t.h:
+
+/usr/include/sys/signal.h:
+
+/usr/include/sys/appleapiopts.h:
+
+/usr/include/machine/signal.h:
+
+/usr/include/i386/signal.h:
+
+/usr/include/machine/_mcontext.h:
+
+/usr/include/i386/_mcontext.h:
+
+/usr/include/mach/i386/_structs.h:
+
+/usr/include/sys/_types/_sigaltstack.h:
+
+/usr/include/sys/_types/_ucontext.h:
+
+/usr/include/sys/_types/_pthread_attr_t.h:
+
+/usr/include/sys/_types/_sigset_t.h:
+
+/usr/include/sys/_types/_size_t.h:
+
+/usr/include/sys/_types/_uid_t.h:
+
+/usr/include/sys/resource.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/sys/_types/_int8_t.h:
+
+/usr/include/sys/_types/_int16_t.h:
+
+/usr/include/sys/_types/_int32_t.h:
+
+/usr/include/sys/_types/_int64_t.h:
+
+/usr/include/_types/_uint8_t.h:
+
+/usr/include/_types/_uint16_t.h:
+
+/usr/include/_types/_uint32_t.h:
+
+/usr/include/_types/_uint64_t.h:
+
+/usr/include/sys/_types/_intptr_t.h:
+
+/usr/include/sys/_types/_uintptr_t.h:
+
+/usr/include/_types/_intmax_t.h:
+
+/usr/include/_types/_uintmax_t.h:
+
+/usr/include/sys/_types/_timeval.h:
+
+/usr/include/machine/endian.h:
+
+/usr/include/i386/endian.h:
+
+/usr/include/sys/_endian.h:
+
+/usr/include/libkern/_OSByteOrder.h:
+
+/usr/include/libkern/i386/_OSByteOrder.h:
+
+/usr/include/alloca.h:
+
+/usr/include/sys/_types/_ct_rune_t.h:
+
+/usr/include/sys/_types/_rune_t.h:
+
+/usr/include/sys/_types/_wchar_t.h:
+
+/usr/include/sys/_types/_null.h:
+
+/usr/include/machine/types.h:
+
+/usr/include/i386/types.h:
+
+/usr/include/sys/_types/___offsetof.h:
+
+/usr/include/sys/_types/_dev_t.h:
+
+/usr/include/sys/_types/_mode_t.h:
+
+/usr/include/stdio.h:
+
+/usr/include/sys/_types/_va_list.h:
+
+/usr/include/sys/_types/_off_t.h:
+
+/usr/include/sys/_types/_ssize_t.h:
+
+/usr/include/secure/_stdio.h:
+
+/usr/include/secure/_common.h:
+
+/usr/include/string.h:
+
+/usr/include/sys/_types/_rsize_t.h:
+
+/usr/include/sys/_types/_errno_t.h:
+
+/usr/include/strings.h:
+
+/usr/include/secure/_string.h:
+
+/usr/include/ctype.h:
+
+/usr/include/runetype.h:
+
+/usr/include/sys/_types/_wint_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h:
+
+/usr/include/limits.h:
+
+/usr/include/machine/limits.h:
+
+/usr/include/i386/limits.h:
+
+/usr/include/i386/_limits.h:
+
+/usr/include/sys/syslimits.h:
+
+/usr/include/poll.h:
+
+/usr/include/sys/poll.h:
+
+/usr/include/errno.h:
+
+/usr/include/sys/errno.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/_types/_blkcnt_t.h:
+
+/usr/include/sys/_types/_blksize_t.h:
+
+/usr/include/sys/_types/_gid_t.h:
+
+/usr/include/sys/_types/_in_addr_t.h:
+
+/usr/include/sys/_types/_in_port_t.h:
+
+/usr/include/sys/_types/_ino_t.h:
+
+/usr/include/sys/_types/_ino64_t.h:
+
+/usr/include/sys/_types/_key_t.h:
+
+/usr/include/sys/_types/_nlink_t.h:
+
+/usr/include/sys/_types/_clock_t.h:
+
+/usr/include/sys/_types/_time_t.h:
+
+/usr/include/sys/_types/_useconds_t.h:
+
+/usr/include/sys/_types/_suseconds_t.h:
+
+/usr/include/sys/_types/_fd_def.h:
+
+/usr/include/sys/_types/_fd_setsize.h:
+
+/usr/include/sys/_types/_fd_set.h:
+
+/usr/include/sys/_types/_fd_clr.h:
+
+/usr/include/sys/_types/_fd_zero.h:
+
+/usr/include/sys/_types/_fd_isset.h:
+
+/usr/include/sys/_types/_fd_copy.h:
+
+/usr/include/sys/_types/_pthread_cond_t.h:
+
+/usr/include/sys/_types/_pthread_condattr_t.h:
+
+/usr/include/sys/_types/_pthread_mutex_t.h:
+
+/usr/include/sys/_types/_pthread_mutexattr_t.h:
+
+/usr/include/sys/_types/_pthread_once_t.h:
+
+/usr/include/sys/_types/_pthread_rwlock_t.h:
+
+/usr/include/sys/_types/_pthread_rwlockattr_t.h:
+
+/usr/include/sys/_types/_pthread_t.h:
+
+/usr/include/sys/_types/_pthread_key_t.h:
+
+/usr/include/sys/_types/_fsblkcnt_t.h:
+
+/usr/include/sys/_types/_fsfilcnt_t.h:
+
+/usr/include/sys/timeb.h:
+
+/usr/include/time.h:
+
+/usr/include/_structs.h:
+
+/usr/include/sys/_structs.h:
+
+/usr/include/sys/_types/_timespec.h:
+
+/usr/include/sys/socket.h:
+
+/usr/include/machine/_param.h:
+
+/usr/include/i386/_param.h:
+
+/usr/include/sys/_types/_sa_family_t.h:
+
+/usr/include/sys/_types/_socklen_t.h:
+
+/usr/include/sys/_types/_iovec_t.h:
+
+/usr/include/sys/time.h:
+
+/usr/include/sys/_select.h:
+
+/usr/include/netinet/in.h:
+
+/usr/include/netinet6/in6.h:
+
+/usr/include/netinet/tcp.h:
+
+/usr/include/arpa/inet.h:
+
+/usr/include/netdb.h:
+
+/usr/include/unistd.h:
+
+/usr/include/sys/unistd.h:
+
+/usr/include/sys/_types/_posix_vdisable.h:
+
+/usr/include/sys/_types/_seek_set.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/sys/_types/_uuid_t.h:
+
+/usr/include/gethostuuid.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/sys/fcntl.h:
+
+/usr/include/sys/_types/_o_sync.h:
+
+/usr/include/sys/_types/_o_dsync.h:
+
+/usr/include/sys/_types/_s_ifmt.h:
+
+/usr/include/sys/_types/_filesec_t.h:
+
+/usr/include/openssl/bio.h:
+
+/usr/include/AvailabilityMacros.h:
+
+/usr/include/openssl/e_os2.h:
+
+/usr/include/openssl/opensslconf.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdarg.h:
+
+/usr/include/openssl/crypto.h:
+
+/usr/include/openssl/stack.h:
+
+/usr/include/openssl/safestack.h:
+
+/usr/include/openssl/opensslv.h:
+
+/usr/include/openssl/ossl_typ.h:
+
+/usr/include/openssl/symhacks.h:
+
+/usr/include/openssl/err.h:
+
+/usr/include/openssl/lhash.h:
+
+/usr/include/openssl/rand.h:
+
+/usr/include/openssl/ssl.h:
+
+/usr/include/openssl/comp.h:
+
+/usr/include/openssl/x509.h:
+
+/usr/include/openssl/buffer.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stddef.h:
+
+/usr/include/openssl/evp.h:
+
+/usr/include/openssl/objects.h:
+
+/usr/include/openssl/obj_mac.h:
+
+/usr/include/openssl/asn1.h:
+
+/usr/include/openssl/bn.h:
+
+/usr/include/openssl/ec.h:
+
+/usr/include/openssl/ecdsa.h:
+
+/usr/include/openssl/ecdh.h:
+
+/usr/include/openssl/rsa.h:
+
+/usr/include/openssl/dsa.h:
+
+/usr/include/openssl/dh.h:
+
+/usr/include/openssl/sha.h:
+
+/usr/include/openssl/x509_vfy.h:
+
+/usr/include/openssl/pkcs7.h:
+
+/usr/include/openssl/pem.h:
+
+/usr/include/openssl/pem2.h:
+
+/usr/include/openssl/hmac.h:
+
+/usr/include/openssl/kssl.h:
+
+/usr/include/openssl/ssl2.h:
+
+/usr/include/openssl/ssl3.h:
+
+/usr/include/openssl/pq_compat.h:
+
+/usr/include/openssl/tls1.h:
+
+/usr/include/openssl/dtls1.h:
+
+/usr/include/openssl/pqueue.h:
+
+/usr/include/openssl/ssl23.h:
+
+/usr/include/openssl/x509v3.h:
+
+/usr/include/openssl/conf.h:
+
+/usr/include/zlib.h:
+
+/usr/include/zconf.h:
+
+/usr/include/math.h:
+
+/usr/include/inttypes.h:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/.deps/libgsoapssl_a-stdsoap2_ssl.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,503 @@
+libgsoapssl_a-stdsoap2_ssl.o: stdsoap2_ssl.c stdsoap2.h ../config.h \
+  /usr/include/stdlib.h /usr/include/Availability.h \
+  /usr/include/AvailabilityInternal.h /usr/include/_types.h \
+  /usr/include/sys/_types.h /usr/include/sys/cdefs.h \
+  /usr/include/sys/_symbol_aliasing.h \
+  /usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
+  /usr/include/i386/_types.h /usr/include/sys/wait.h \
+  /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
+  /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
+  /usr/include/machine/signal.h /usr/include/i386/signal.h \
+  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
+  /usr/include/mach/i386/_structs.h \
+  /usr/include/sys/_types/_sigaltstack.h \
+  /usr/include/sys/_types/_ucontext.h \
+  /usr/include/sys/_types/_pthread_attr_t.h \
+  /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_size_t.h \
+  /usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h \
+  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
+  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
+  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
+  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
+  /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h \
+  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
+  /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h \
+  /usr/include/machine/endian.h /usr/include/i386/endian.h \
+  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
+  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
+  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
+  /usr/include/sys/_types/_wchar_t.h /usr/include/sys/_types/_null.h \
+  /usr/include/machine/types.h /usr/include/i386/types.h \
+  /usr/include/sys/_types/___offsetof.h /usr/include/sys/_types/_dev_t.h \
+  /usr/include/sys/_types/_mode_t.h /usr/include/stdio.h \
+  /usr/include/sys/_types/_va_list.h /usr/include/sys/_types/_off_t.h \
+  /usr/include/sys/_types/_ssize_t.h /usr/include/secure/_stdio.h \
+  /usr/include/secure/_common.h /usr/include/string.h \
+  /usr/include/sys/_types/_rsize_t.h /usr/include/sys/_types/_errno_t.h \
+  /usr/include/strings.h /usr/include/secure/_string.h \
+  /usr/include/ctype.h /usr/include/runetype.h \
+  /usr/include/sys/_types/_wint_t.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h \
+  /usr/include/limits.h /usr/include/machine/limits.h \
+  /usr/include/i386/limits.h /usr/include/i386/_limits.h \
+  /usr/include/sys/syslimits.h /usr/include/poll.h \
+  /usr/include/sys/poll.h /usr/include/errno.h /usr/include/sys/errno.h \
+  /usr/include/sys/types.h /usr/include/sys/_types/_blkcnt_t.h \
+  /usr/include/sys/_types/_blksize_t.h /usr/include/sys/_types/_gid_t.h \
+  /usr/include/sys/_types/_in_addr_t.h \
+  /usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
+  /usr/include/sys/_types/_ino64_t.h /usr/include/sys/_types/_key_t.h \
+  /usr/include/sys/_types/_nlink_t.h /usr/include/sys/_types/_clock_t.h \
+  /usr/include/sys/_types/_time_t.h \
+  /usr/include/sys/_types/_useconds_t.h \
+  /usr/include/sys/_types/_suseconds_t.h \
+  /usr/include/sys/_types/_fd_def.h \
+  /usr/include/sys/_types/_fd_setsize.h \
+  /usr/include/sys/_types/_fd_set.h /usr/include/sys/_types/_fd_clr.h \
+  /usr/include/sys/_types/_fd_zero.h /usr/include/sys/_types/_fd_isset.h \
+  /usr/include/sys/_types/_fd_copy.h \
+  /usr/include/sys/_types/_pthread_cond_t.h \
+  /usr/include/sys/_types/_pthread_condattr_t.h \
+  /usr/include/sys/_types/_pthread_mutex_t.h \
+  /usr/include/sys/_types/_pthread_mutexattr_t.h \
+  /usr/include/sys/_types/_pthread_once_t.h \
+  /usr/include/sys/_types/_pthread_rwlock_t.h \
+  /usr/include/sys/_types/_pthread_rwlockattr_t.h \
+  /usr/include/sys/_types/_pthread_t.h \
+  /usr/include/sys/_types/_pthread_key_t.h \
+  /usr/include/sys/_types/_fsblkcnt_t.h \
+  /usr/include/sys/_types/_fsfilcnt_t.h /usr/include/sys/timeb.h \
+  /usr/include/time.h /usr/include/_structs.h \
+  /usr/include/sys/_structs.h /usr/include/sys/_types/_timespec.h \
+  /usr/include/sys/socket.h /usr/include/machine/_param.h \
+  /usr/include/i386/_param.h /usr/include/sys/_types/_sa_family_t.h \
+  /usr/include/sys/_types/_socklen_t.h \
+  /usr/include/sys/_types/_iovec_t.h /usr/include/sys/time.h \
+  /usr/include/sys/_select.h /usr/include/netinet/in.h \
+  /usr/include/netinet6/in6.h /usr/include/netinet/tcp.h \
+  /usr/include/arpa/inet.h /usr/include/netdb.h /usr/include/unistd.h \
+  /usr/include/sys/unistd.h /usr/include/sys/_types/_posix_vdisable.h \
+  /usr/include/sys/_types/_seek_set.h /usr/include/sys/select.h \
+  /usr/include/sys/_types/_uuid_t.h /usr/include/gethostuuid.h \
+  /usr/include/fcntl.h /usr/include/sys/fcntl.h \
+  /usr/include/sys/_types/_o_sync.h /usr/include/sys/_types/_o_dsync.h \
+  /usr/include/sys/_types/_s_ifmt.h /usr/include/sys/_types/_filesec_t.h \
+  /usr/include/openssl/bio.h /usr/include/AvailabilityMacros.h \
+  /usr/include/openssl/e_os2.h /usr/include/openssl/opensslconf.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdarg.h \
+  /usr/include/openssl/crypto.h /usr/include/openssl/stack.h \
+  /usr/include/openssl/safestack.h /usr/include/openssl/opensslv.h \
+  /usr/include/openssl/ossl_typ.h /usr/include/openssl/symhacks.h \
+  /usr/include/openssl/err.h /usr/include/openssl/lhash.h \
+  /usr/include/openssl/rand.h /usr/include/openssl/ssl.h \
+  /usr/include/openssl/comp.h /usr/include/openssl/x509.h \
+  /usr/include/openssl/buffer.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stddef.h \
+  /usr/include/openssl/evp.h /usr/include/openssl/objects.h \
+  /usr/include/openssl/obj_mac.h /usr/include/openssl/asn1.h \
+  /usr/include/openssl/bn.h /usr/include/openssl/ec.h \
+  /usr/include/openssl/ecdsa.h /usr/include/openssl/ecdh.h \
+  /usr/include/openssl/rsa.h /usr/include/openssl/dsa.h \
+  /usr/include/openssl/dh.h /usr/include/openssl/sha.h \
+  /usr/include/openssl/x509_vfy.h /usr/include/openssl/pkcs7.h \
+  /usr/include/openssl/pem.h /usr/include/openssl/pem2.h \
+  /usr/include/openssl/hmac.h /usr/include/openssl/kssl.h \
+  /usr/include/openssl/ssl2.h /usr/include/openssl/ssl3.h \
+  /usr/include/openssl/pq_compat.h /usr/include/openssl/tls1.h \
+  /usr/include/openssl/dtls1.h /usr/include/openssl/pqueue.h \
+  /usr/include/openssl/ssl23.h /usr/include/openssl/x509v3.h \
+  /usr/include/openssl/conf.h /usr/include/zlib.h /usr/include/zconf.h \
+  /usr/include/math.h /usr/include/inttypes.h
+
+stdsoap2.h:
+
+../config.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/Availability.h:
+
+/usr/include/AvailabilityInternal.h:
+
+/usr/include/_types.h:
+
+/usr/include/sys/_types.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/sys/_symbol_aliasing.h:
+
+/usr/include/sys/_posix_availability.h:
+
+/usr/include/machine/_types.h:
+
+/usr/include/i386/_types.h:
+
+/usr/include/sys/wait.h:
+
+/usr/include/sys/_types/_pid_t.h:
+
+/usr/include/sys/_types/_id_t.h:
+
+/usr/include/sys/signal.h:
+
+/usr/include/sys/appleapiopts.h:
+
+/usr/include/machine/signal.h:
+
+/usr/include/i386/signal.h:
+
+/usr/include/machine/_mcontext.h:
+
+/usr/include/i386/_mcontext.h:
+
+/usr/include/mach/i386/_structs.h:
+
+/usr/include/sys/_types/_sigaltstack.h:
+
+/usr/include/sys/_types/_ucontext.h:
+
+/usr/include/sys/_types/_pthread_attr_t.h:
+
+/usr/include/sys/_types/_sigset_t.h:
+
+/usr/include/sys/_types/_size_t.h:
+
+/usr/include/sys/_types/_uid_t.h:
+
+/usr/include/sys/resource.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/sys/_types/_int8_t.h:
+
+/usr/include/sys/_types/_int16_t.h:
+
+/usr/include/sys/_types/_int32_t.h:
+
+/usr/include/sys/_types/_int64_t.h:
+
+/usr/include/_types/_uint8_t.h:
+
+/usr/include/_types/_uint16_t.h:
+
+/usr/include/_types/_uint32_t.h:
+
+/usr/include/_types/_uint64_t.h:
+
+/usr/include/sys/_types/_intptr_t.h:
+
+/usr/include/sys/_types/_uintptr_t.h:
+
+/usr/include/_types/_intmax_t.h:
+
+/usr/include/_types/_uintmax_t.h:
+
+/usr/include/sys/_types/_timeval.h:
+
+/usr/include/machine/endian.h:
+
+/usr/include/i386/endian.h:
+
+/usr/include/sys/_endian.h:
+
+/usr/include/libkern/_OSByteOrder.h:
+
+/usr/include/libkern/i386/_OSByteOrder.h:
+
+/usr/include/alloca.h:
+
+/usr/include/sys/_types/_ct_rune_t.h:
+
+/usr/include/sys/_types/_rune_t.h:
+
+/usr/include/sys/_types/_wchar_t.h:
+
+/usr/include/sys/_types/_null.h:
+
+/usr/include/machine/types.h:
+
+/usr/include/i386/types.h:
+
+/usr/include/sys/_types/___offsetof.h:
+
+/usr/include/sys/_types/_dev_t.h:
+
+/usr/include/sys/_types/_mode_t.h:
+
+/usr/include/stdio.h:
+
+/usr/include/sys/_types/_va_list.h:
+
+/usr/include/sys/_types/_off_t.h:
+
+/usr/include/sys/_types/_ssize_t.h:
+
+/usr/include/secure/_stdio.h:
+
+/usr/include/secure/_common.h:
+
+/usr/include/string.h:
+
+/usr/include/sys/_types/_rsize_t.h:
+
+/usr/include/sys/_types/_errno_t.h:
+
+/usr/include/strings.h:
+
+/usr/include/secure/_string.h:
+
+/usr/include/ctype.h:
+
+/usr/include/runetype.h:
+
+/usr/include/sys/_types/_wint_t.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h:
+
+/usr/include/limits.h:
+
+/usr/include/machine/limits.h:
+
+/usr/include/i386/limits.h:
+
+/usr/include/i386/_limits.h:
+
+/usr/include/sys/syslimits.h:
+
+/usr/include/poll.h:
+
+/usr/include/sys/poll.h:
+
+/usr/include/errno.h:
+
+/usr/include/sys/errno.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/_types/_blkcnt_t.h:
+
+/usr/include/sys/_types/_blksize_t.h:
+
+/usr/include/sys/_types/_gid_t.h:
+
+/usr/include/sys/_types/_in_addr_t.h:
+
+/usr/include/sys/_types/_in_port_t.h:
+
+/usr/include/sys/_types/_ino_t.h:
+
+/usr/include/sys/_types/_ino64_t.h:
+
+/usr/include/sys/_types/_key_t.h:
+
+/usr/include/sys/_types/_nlink_t.h:
+
+/usr/include/sys/_types/_clock_t.h:
+
+/usr/include/sys/_types/_time_t.h:
+
+/usr/include/sys/_types/_useconds_t.h:
+
+/usr/include/sys/_types/_suseconds_t.h:
+
+/usr/include/sys/_types/_fd_def.h:
+
+/usr/include/sys/_types/_fd_setsize.h:
+
+/usr/include/sys/_types/_fd_set.h:
+
+/usr/include/sys/_types/_fd_clr.h:
+
+/usr/include/sys/_types/_fd_zero.h:
+
+/usr/include/sys/_types/_fd_isset.h:
+
+/usr/include/sys/_types/_fd_copy.h:
+
+/usr/include/sys/_types/_pthread_cond_t.h:
+
+/usr/include/sys/_types/_pthread_condattr_t.h:
+
+/usr/include/sys/_types/_pthread_mutex_t.h:
+
+/usr/include/sys/_types/_pthread_mutexattr_t.h:
+
+/usr/include/sys/_types/_pthread_once_t.h:
+
+/usr/include/sys/_types/_pthread_rwlock_t.h:
+
+/usr/include/sys/_types/_pthread_rwlockattr_t.h:
+
+/usr/include/sys/_types/_pthread_t.h:
+
+/usr/include/sys/_types/_pthread_key_t.h:
+
+/usr/include/sys/_types/_fsblkcnt_t.h:
+
+/usr/include/sys/_types/_fsfilcnt_t.h:
+
+/usr/include/sys/timeb.h:
+
+/usr/include/time.h:
+
+/usr/include/_structs.h:
+
+/usr/include/sys/_structs.h:
+
+/usr/include/sys/_types/_timespec.h:
+
+/usr/include/sys/socket.h:
+
+/usr/include/machine/_param.h:
+
+/usr/include/i386/_param.h:
+
+/usr/include/sys/_types/_sa_family_t.h:
+
+/usr/include/sys/_types/_socklen_t.h:
+
+/usr/include/sys/_types/_iovec_t.h:
+
+/usr/include/sys/time.h:
+
+/usr/include/sys/_select.h:
+
+/usr/include/netinet/in.h:
+
+/usr/include/netinet6/in6.h:
+
+/usr/include/netinet/tcp.h:
+
+/usr/include/arpa/inet.h:
+
+/usr/include/netdb.h:
+
+/usr/include/unistd.h:
+
+/usr/include/sys/unistd.h:
+
+/usr/include/sys/_types/_posix_vdisable.h:
+
+/usr/include/sys/_types/_seek_set.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/sys/_types/_uuid_t.h:
+
+/usr/include/gethostuuid.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/sys/fcntl.h:
+
+/usr/include/sys/_types/_o_sync.h:
+
+/usr/include/sys/_types/_o_dsync.h:
+
+/usr/include/sys/_types/_s_ifmt.h:
+
+/usr/include/sys/_types/_filesec_t.h:
+
+/usr/include/openssl/bio.h:
+
+/usr/include/AvailabilityMacros.h:
+
+/usr/include/openssl/e_os2.h:
+
+/usr/include/openssl/opensslconf.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdarg.h:
+
+/usr/include/openssl/crypto.h:
+
+/usr/include/openssl/stack.h:
+
+/usr/include/openssl/safestack.h:
+
+/usr/include/openssl/opensslv.h:
+
+/usr/include/openssl/ossl_typ.h:
+
+/usr/include/openssl/symhacks.h:
+
+/usr/include/openssl/err.h:
+
+/usr/include/openssl/lhash.h:
+
+/usr/include/openssl/rand.h:
+
+/usr/include/openssl/ssl.h:
+
+/usr/include/openssl/comp.h:
+
+/usr/include/openssl/x509.h:
+
+/usr/include/openssl/buffer.h:
+
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stddef.h:
+
+/usr/include/openssl/evp.h:
+
+/usr/include/openssl/objects.h:
+
+/usr/include/openssl/obj_mac.h:
+
+/usr/include/openssl/asn1.h:
+
+/usr/include/openssl/bn.h:
+
+/usr/include/openssl/ec.h:
+
+/usr/include/openssl/ecdsa.h:
+
+/usr/include/openssl/ecdh.h:
+
+/usr/include/openssl/rsa.h:
+
+/usr/include/openssl/dsa.h:
+
+/usr/include/openssl/dh.h:
+
+/usr/include/openssl/sha.h:
+
+/usr/include/openssl/x509_vfy.h:
+
+/usr/include/openssl/pkcs7.h:
+
+/usr/include/openssl/pem.h:
+
+/usr/include/openssl/pem2.h:
+
+/usr/include/openssl/hmac.h:
+
+/usr/include/openssl/kssl.h:
+
+/usr/include/openssl/ssl2.h:
+
+/usr/include/openssl/ssl3.h:
+
+/usr/include/openssl/pq_compat.h:
+
+/usr/include/openssl/tls1.h:
+
+/usr/include/openssl/dtls1.h:
+
+/usr/include/openssl/pqueue.h:
+
+/usr/include/openssl/ssl23.h:
+
+/usr/include/openssl/x509v3.h:
+
+/usr/include/openssl/conf.h:
+
+/usr/include/zlib.h:
+
+/usr/include/zconf.h:
+
+/usr/include/math.h:
+
+/usr/include/inttypes.h:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/Makefile	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,920 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# gsoap/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006  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.
+
+
+
+
+
+
+pkgdatadir = $(datadir)/gsoap
+pkglibdir = $(libdir)/gsoap
+pkgincludedir = $(includedir)/gsoap
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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 = i386-apple-darwin13.1.0
+host_triplet = i386-apple-darwin13.1.0
+subdir = gsoap
+DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgdatadir)" \
+	"$(DESTDIR)$(includedir)"
+libLIBRARIES_INSTALL = $(INSTALL_DATA)
+LIBRARIES = $(lib_LIBRARIES)
+AR = ar
+ARFLAGS = cru
+libgsoap___a_AR = $(AR) $(ARFLAGS)
+libgsoap___a_LIBADD =
+am_libgsoap___a_OBJECTS = libgsoap___a-stdsoap2_cpp.$(OBJEXT) \
+	libgsoap___a-dom_cpp.$(OBJEXT)
+libgsoap___a_OBJECTS = $(am_libgsoap___a_OBJECTS)
+libgsoap_a_AR = $(AR) $(ARFLAGS)
+libgsoap_a_LIBADD =
+am_libgsoap_a_OBJECTS = libgsoap_a-stdsoap2.$(OBJEXT) \
+	libgsoap_a-dom.$(OBJEXT)
+libgsoap_a_OBJECTS = $(am_libgsoap_a_OBJECTS)
+libgsoapck___a_AR = $(AR) $(ARFLAGS)
+libgsoapck___a_LIBADD =
+am_libgsoapck___a_OBJECTS = libgsoapck___a-stdsoap2_ck_cpp.$(OBJEXT) \
+	libgsoapck___a-dom_cpp.$(OBJEXT)
+libgsoapck___a_OBJECTS = $(am_libgsoapck___a_OBJECTS)
+libgsoapck_a_AR = $(AR) $(ARFLAGS)
+libgsoapck_a_LIBADD =
+am_libgsoapck_a_OBJECTS = libgsoapck_a-stdsoap2_ck.$(OBJEXT) \
+	libgsoapck_a-dom.$(OBJEXT)
+libgsoapck_a_OBJECTS = $(am_libgsoapck_a_OBJECTS)
+libgsoapssl___a_AR = $(AR) $(ARFLAGS)
+libgsoapssl___a_LIBADD =
+am_libgsoapssl___a_OBJECTS =  \
+	libgsoapssl___a-stdsoap2_ssl_cpp.$(OBJEXT) \
+	libgsoapssl___a-dom_cpp.$(OBJEXT)
+libgsoapssl___a_OBJECTS = $(am_libgsoapssl___a_OBJECTS)
+libgsoapssl_a_AR = $(AR) $(ARFLAGS)
+libgsoapssl_a_LIBADD =
+am_libgsoapssl_a_OBJECTS = libgsoapssl_a-stdsoap2_ssl.$(OBJEXT) \
+	libgsoapssl_a-dom.$(OBJEXT)
+libgsoapssl_a_OBJECTS = $(am_libgsoapssl_a_OBJECTS)
+DEFAULT_INCLUDES = -I. -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+	-o $@
+SOURCES = $(libgsoap___a_SOURCES) $(libgsoap_a_SOURCES) \
+	$(libgsoapck___a_SOURCES) $(libgsoapck_a_SOURCES) \
+	$(libgsoapssl___a_SOURCES) $(libgsoapssl_a_SOURCES)
+DIST_SOURCES = $(libgsoap___a_SOURCES) $(libgsoap_a_SOURCES) \
+	$(libgsoapck___a_SOURCES) $(libgsoapck_a_SOURCES) \
+	$(libgsoapssl___a_SOURCES) $(libgsoapssl_a_SOURCES)
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-dvi-recursive install-exec-recursive \
+	install-html-recursive install-info-recursive \
+	install-pdf-recursive install-ps-recursive install-recursive \
+	installcheck-recursive installdirs-recursive pdf-recursive \
+	ps-recursive uninstall-recursive
+nobase_pkgdataDATA_INSTALL = $(install_sh_DATA)
+DATA = $(nobase_pkgdata_DATA)
+includeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(include_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /Users/kotone/dev/build/gsoap-2.8/missing --run aclocal-1.10
+AMTAR = ${SHELL} /Users/kotone/dev/build/gsoap-2.8/missing --run tar
+AUTOCONF = ${SHELL} /Users/kotone/dev/build/gsoap-2.8/missing --run autoconf
+AUTOHEADER = ${SHELL} /Users/kotone/dev/build/gsoap-2.8/missing --run autoheader
+AUTOMAKE = ${SHELL} /Users/kotone/dev/build/gsoap-2.8/missing --run automake-1.10
+AWK = awk
+BISON_DEFINE = -DWITH_BISON
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -Wno-deprecated-declarations
+CPP = gcc -E
+CPPFLAGS = 
+CXX = g++
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -Wno-deprecated-declarations
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO_C = \c
+ECHO_N = 
+ECHO_T = 
+EGREP = /usr/bin/grep -E
+ENABLE_SAMPLES = 
+EXEEXT = 
+GREP = /usr/bin/grep
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+LDFLAGS = 
+LEX = flex
+LEXLIB = -ll
+LEX_DEFINE = -DWITH_FLEX
+LEX_FLAGS = -l
+LEX_OUTPUT_ROOT = lex.yy
+LIBOBJS =  ${LIBOBJDIR}mktime$U.o
+LIBS = 
+LN_S = ln -s
+LTLIBOBJS =  ${LIBOBJDIR}mktime$U.lo
+MAKEINFO = ${SHELL} /Users/kotone/dev/build/gsoap-2.8/missing --run makeinfo
+MKDIR_P = .././install-sh -c -d
+OBJEXT = o
+PACKAGE = gsoap
+PACKAGE_BUGREPORT = 
+PACKAGE_NAME = gsoap
+PACKAGE_STRING = gsoap 2.8
+PACKAGE_TARNAME = gsoap
+PACKAGE_VERSION = 2.8
+PATH_SEPARATOR = :
+RANLIB = ranlib
+SAMPLE_DIRS = 
+SAMPLE_EXTRA_LIBS = -lm
+SAMPLE_SSL_LIBS = -lssl -lcrypto -lz
+SET_MAKE = 
+SHELL = /bin/sh
+SOAPCPP2_DEBUG = 
+SOAPCPP2_IMPORTPATH = -DSOAPCPP_IMPORT_PATH="\"${datarootdir}/gsoap/import\""
+SOAPCPP2_IPV6 = 
+SOAPCPP2_NONAMESPACES = 
+STRIP = 
+VERSION = 2.8
+WSDL2H_EXTRA_FLAGS = -DWITH_OPENSSL -DWITH_GZIP
+WSDL2H_EXTRA_LIBS = ../plugin/httpda.c ../plugin/md5evp.c -lssl -lcrypto -lz
+WSDL2H_IMPORTPATH = -DWSDL_IMPORT_PATH="\"${datarootdir}/gsoap/WS\""
+WSDL2H_SOAP_CPP_LIB = libgsoapssl++.a
+YACC = bison -y
+YACC_LIB = 
+YFLAGS = 
+abs_builddir = /Users/kotone/dev/build/gsoap-2.8/gsoap
+abs_srcdir = /Users/kotone/dev/build/gsoap-2.8/gsoap
+abs_top_builddir = /Users/kotone/dev/build/gsoap-2.8
+abs_top_srcdir = /Users/kotone/dev/build/gsoap-2.8
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i386-apple-darwin13.1.0
+build_alias = 
+build_cpu = i386
+build_os = darwin13.1.0
+build_vendor = apple
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+host = i386-apple-darwin13.1.0
+host_alias = 
+host_cpu = i386
+host_os = darwin13.1.0
+host_vendor = apple
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = $(SHELL) /Users/kotone/dev/build/gsoap-2.8/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = $(top_builddir)/./install-sh -c -d
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+platform = MACOSX
+prefix = /usr/local
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target_alias = 
+top_builddir = ..
+top_srcdir = ..
+AUTOMAKE_OPTIONS = foreign 1.4
+SUBDIRS = . src wsdl 
+CLEANFILES = soapcpp2 wsdl2h stdsoap2_cpp.cpp stdsoap2_ck.c stdsoap2_ck_cpp.cpp stdsoap2_ssl.c stdsoap2_ssl_cpp.cpp dom_cpp.cpp
+AM_CXXFLAGS = $(SOAPCPP2_DEBUG) -D$(platform)
+AM_CFLAGS = $(SOAPCPP2_DEBUG) -D$(platform)
+
+# Install all soapcpp2 and wsdl2h files into ${prefix}/share/gsoap
+nobase_pkgdata_DATA = $(srcdir)/import/* $(srcdir)/plugin/* $(srcdir)/WS/* $(srcdir)/custom/* $(srcdir)/extras/*
+lib_LIBRARIES = libgsoap.a libgsoap++.a libgsoapck.a libgsoapck++.a libgsoapssl.a libgsoapssl++.a
+libgsoap_a_SOURCES = stdsoap2.c dom.c
+libgsoap_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform)
+libgsoap___a_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp
+libgsoap___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform)
+libgsoapck_a_SOURCES = stdsoap2_ck.c dom.c
+libgsoapck_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) -DWITH_COOKIES
+libgsoapck___a_SOURCES = stdsoap2_ck_cpp.cpp dom_cpp.cpp
+libgsoapck___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) -DWITH_COOKIES
+libgsoapssl_a_SOURCES = stdsoap2_ssl.c dom.c
+libgsoapssl_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM
+libgsoapssl___a_SOURCES = stdsoap2_ssl_cpp.cpp dom_cpp.cpp
+libgsoapssl___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM
+BUILT_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp $(lib_LIBRARIES)
+include_HEADERS = stdsoap2.h
+all: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .c .cpp .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(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  gsoap/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  gsoap/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:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-libLIBRARIES: $(lib_LIBRARIES)
+	@$(NORMAL_INSTALL)
+	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+	@list='$(lib_LIBRARIES)'; for p in $$list; do \
+	  if test -f $$p; then \
+	    f=$(am__strip_dir) \
+	    echo " $(libLIBRARIES_INSTALL) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+	    $(libLIBRARIES_INSTALL) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+	  else :; fi; \
+	done
+	@$(POST_INSTALL)
+	@list='$(lib_LIBRARIES)'; for p in $$list; do \
+	  if test -f $$p; then \
+	    p=$(am__strip_dir) \
+	    echo " $(RANLIB) '$(DESTDIR)$(libdir)/$$p'"; \
+	    $(RANLIB) "$(DESTDIR)$(libdir)/$$p"; \
+	  else :; fi; \
+	done
+
+uninstall-libLIBRARIES:
+	@$(NORMAL_UNINSTALL)
+	@list='$(lib_LIBRARIES)'; for p in $$list; do \
+	  p=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+	  rm -f "$(DESTDIR)$(libdir)/$$p"; \
+	done
+
+clean-libLIBRARIES:
+	-test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
+libgsoap++.a: $(libgsoap___a_OBJECTS) $(libgsoap___a_DEPENDENCIES) 
+	-rm -f libgsoap++.a
+	$(libgsoap___a_AR) libgsoap++.a $(libgsoap___a_OBJECTS) $(libgsoap___a_LIBADD)
+	$(RANLIB) libgsoap++.a
+libgsoap.a: $(libgsoap_a_OBJECTS) $(libgsoap_a_DEPENDENCIES) 
+	-rm -f libgsoap.a
+	$(libgsoap_a_AR) libgsoap.a $(libgsoap_a_OBJECTS) $(libgsoap_a_LIBADD)
+	$(RANLIB) libgsoap.a
+libgsoapck++.a: $(libgsoapck___a_OBJECTS) $(libgsoapck___a_DEPENDENCIES) 
+	-rm -f libgsoapck++.a
+	$(libgsoapck___a_AR) libgsoapck++.a $(libgsoapck___a_OBJECTS) $(libgsoapck___a_LIBADD)
+	$(RANLIB) libgsoapck++.a
+libgsoapck.a: $(libgsoapck_a_OBJECTS) $(libgsoapck_a_DEPENDENCIES) 
+	-rm -f libgsoapck.a
+	$(libgsoapck_a_AR) libgsoapck.a $(libgsoapck_a_OBJECTS) $(libgsoapck_a_LIBADD)
+	$(RANLIB) libgsoapck.a
+libgsoapssl++.a: $(libgsoapssl___a_OBJECTS) $(libgsoapssl___a_DEPENDENCIES) 
+	-rm -f libgsoapssl++.a
+	$(libgsoapssl___a_AR) libgsoapssl++.a $(libgsoapssl___a_OBJECTS) $(libgsoapssl___a_LIBADD)
+	$(RANLIB) libgsoapssl++.a
+libgsoapssl.a: $(libgsoapssl_a_OBJECTS) $(libgsoapssl_a_DEPENDENCIES) 
+	-rm -f libgsoapssl.a
+	$(libgsoapssl_a_AR) libgsoapssl.a $(libgsoapssl_a_OBJECTS) $(libgsoapssl_a_LIBADD)
+	$(RANLIB) libgsoapssl.a
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+include ./$(DEPDIR)/libgsoap___a-dom_cpp.Po
+include ./$(DEPDIR)/libgsoap___a-stdsoap2_cpp.Po
+include ./$(DEPDIR)/libgsoap_a-dom.Po
+include ./$(DEPDIR)/libgsoap_a-stdsoap2.Po
+include ./$(DEPDIR)/libgsoapck___a-dom_cpp.Po
+include ./$(DEPDIR)/libgsoapck___a-stdsoap2_ck_cpp.Po
+include ./$(DEPDIR)/libgsoapck_a-dom.Po
+include ./$(DEPDIR)/libgsoapck_a-stdsoap2_ck.Po
+include ./$(DEPDIR)/libgsoapssl___a-dom_cpp.Po
+include ./$(DEPDIR)/libgsoapssl___a-stdsoap2_ssl_cpp.Po
+include ./$(DEPDIR)/libgsoapssl_a-dom.Po
+include ./$(DEPDIR)/libgsoapssl_a-stdsoap2_ssl.Po
+
+.c.o:
+	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(COMPILE) -c $<
+
+.c.obj:
+	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+libgsoap_a-stdsoap2.o: stdsoap2.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap_a_CFLAGS) $(CFLAGS) -MT libgsoap_a-stdsoap2.o -MD -MP -MF $(DEPDIR)/libgsoap_a-stdsoap2.Tpo -c -o libgsoap_a-stdsoap2.o `test -f 'stdsoap2.c' || echo '$(srcdir)/'`stdsoap2.c
+	mv -f $(DEPDIR)/libgsoap_a-stdsoap2.Tpo $(DEPDIR)/libgsoap_a-stdsoap2.Po
+#	source='stdsoap2.c' object='libgsoap_a-stdsoap2.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap_a_CFLAGS) $(CFLAGS) -c -o libgsoap_a-stdsoap2.o `test -f 'stdsoap2.c' || echo '$(srcdir)/'`stdsoap2.c
+
+libgsoap_a-stdsoap2.obj: stdsoap2.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap_a_CFLAGS) $(CFLAGS) -MT libgsoap_a-stdsoap2.obj -MD -MP -MF $(DEPDIR)/libgsoap_a-stdsoap2.Tpo -c -o libgsoap_a-stdsoap2.obj `if test -f 'stdsoap2.c'; then $(CYGPATH_W) 'stdsoap2.c'; else $(CYGPATH_W) '$(srcdir)/stdsoap2.c'; fi`
+	mv -f $(DEPDIR)/libgsoap_a-stdsoap2.Tpo $(DEPDIR)/libgsoap_a-stdsoap2.Po
+#	source='stdsoap2.c' object='libgsoap_a-stdsoap2.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap_a_CFLAGS) $(CFLAGS) -c -o libgsoap_a-stdsoap2.obj `if test -f 'stdsoap2.c'; then $(CYGPATH_W) 'stdsoap2.c'; else $(CYGPATH_W) '$(srcdir)/stdsoap2.c'; fi`
+
+libgsoap_a-dom.o: dom.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap_a_CFLAGS) $(CFLAGS) -MT libgsoap_a-dom.o -MD -MP -MF $(DEPDIR)/libgsoap_a-dom.Tpo -c -o libgsoap_a-dom.o `test -f 'dom.c' || echo '$(srcdir)/'`dom.c
+	mv -f $(DEPDIR)/libgsoap_a-dom.Tpo $(DEPDIR)/libgsoap_a-dom.Po
+#	source='dom.c' object='libgsoap_a-dom.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap_a_CFLAGS) $(CFLAGS) -c -o libgsoap_a-dom.o `test -f 'dom.c' || echo '$(srcdir)/'`dom.c
+
+libgsoap_a-dom.obj: dom.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap_a_CFLAGS) $(CFLAGS) -MT libgsoap_a-dom.obj -MD -MP -MF $(DEPDIR)/libgsoap_a-dom.Tpo -c -o libgsoap_a-dom.obj `if test -f 'dom.c'; then $(CYGPATH_W) 'dom.c'; else $(CYGPATH_W) '$(srcdir)/dom.c'; fi`
+	mv -f $(DEPDIR)/libgsoap_a-dom.Tpo $(DEPDIR)/libgsoap_a-dom.Po
+#	source='dom.c' object='libgsoap_a-dom.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap_a_CFLAGS) $(CFLAGS) -c -o libgsoap_a-dom.obj `if test -f 'dom.c'; then $(CYGPATH_W) 'dom.c'; else $(CYGPATH_W) '$(srcdir)/dom.c'; fi`
+
+libgsoapck_a-stdsoap2_ck.o: stdsoap2_ck.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck_a_CFLAGS) $(CFLAGS) -MT libgsoapck_a-stdsoap2_ck.o -MD -MP -MF $(DEPDIR)/libgsoapck_a-stdsoap2_ck.Tpo -c -o libgsoapck_a-stdsoap2_ck.o `test -f 'stdsoap2_ck.c' || echo '$(srcdir)/'`stdsoap2_ck.c
+	mv -f $(DEPDIR)/libgsoapck_a-stdsoap2_ck.Tpo $(DEPDIR)/libgsoapck_a-stdsoap2_ck.Po
+#	source='stdsoap2_ck.c' object='libgsoapck_a-stdsoap2_ck.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck_a_CFLAGS) $(CFLAGS) -c -o libgsoapck_a-stdsoap2_ck.o `test -f 'stdsoap2_ck.c' || echo '$(srcdir)/'`stdsoap2_ck.c
+
+libgsoapck_a-stdsoap2_ck.obj: stdsoap2_ck.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck_a_CFLAGS) $(CFLAGS) -MT libgsoapck_a-stdsoap2_ck.obj -MD -MP -MF $(DEPDIR)/libgsoapck_a-stdsoap2_ck.Tpo -c -o libgsoapck_a-stdsoap2_ck.obj `if test -f 'stdsoap2_ck.c'; then $(CYGPATH_W) 'stdsoap2_ck.c'; else $(CYGPATH_W) '$(srcdir)/stdsoap2_ck.c'; fi`
+	mv -f $(DEPDIR)/libgsoapck_a-stdsoap2_ck.Tpo $(DEPDIR)/libgsoapck_a-stdsoap2_ck.Po
+#	source='stdsoap2_ck.c' object='libgsoapck_a-stdsoap2_ck.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck_a_CFLAGS) $(CFLAGS) -c -o libgsoapck_a-stdsoap2_ck.obj `if test -f 'stdsoap2_ck.c'; then $(CYGPATH_W) 'stdsoap2_ck.c'; else $(CYGPATH_W) '$(srcdir)/stdsoap2_ck.c'; fi`
+
+libgsoapck_a-dom.o: dom.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck_a_CFLAGS) $(CFLAGS) -MT libgsoapck_a-dom.o -MD -MP -MF $(DEPDIR)/libgsoapck_a-dom.Tpo -c -o libgsoapck_a-dom.o `test -f 'dom.c' || echo '$(srcdir)/'`dom.c
+	mv -f $(DEPDIR)/libgsoapck_a-dom.Tpo $(DEPDIR)/libgsoapck_a-dom.Po
+#	source='dom.c' object='libgsoapck_a-dom.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck_a_CFLAGS) $(CFLAGS) -c -o libgsoapck_a-dom.o `test -f 'dom.c' || echo '$(srcdir)/'`dom.c
+
+libgsoapck_a-dom.obj: dom.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck_a_CFLAGS) $(CFLAGS) -MT libgsoapck_a-dom.obj -MD -MP -MF $(DEPDIR)/libgsoapck_a-dom.Tpo -c -o libgsoapck_a-dom.obj `if test -f 'dom.c'; then $(CYGPATH_W) 'dom.c'; else $(CYGPATH_W) '$(srcdir)/dom.c'; fi`
+	mv -f $(DEPDIR)/libgsoapck_a-dom.Tpo $(DEPDIR)/libgsoapck_a-dom.Po
+#	source='dom.c' object='libgsoapck_a-dom.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck_a_CFLAGS) $(CFLAGS) -c -o libgsoapck_a-dom.obj `if test -f 'dom.c'; then $(CYGPATH_W) 'dom.c'; else $(CYGPATH_W) '$(srcdir)/dom.c'; fi`
+
+libgsoapssl_a-stdsoap2_ssl.o: stdsoap2_ssl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl_a_CFLAGS) $(CFLAGS) -MT libgsoapssl_a-stdsoap2_ssl.o -MD -MP -MF $(DEPDIR)/libgsoapssl_a-stdsoap2_ssl.Tpo -c -o libgsoapssl_a-stdsoap2_ssl.o `test -f 'stdsoap2_ssl.c' || echo '$(srcdir)/'`stdsoap2_ssl.c
+	mv -f $(DEPDIR)/libgsoapssl_a-stdsoap2_ssl.Tpo $(DEPDIR)/libgsoapssl_a-stdsoap2_ssl.Po
+#	source='stdsoap2_ssl.c' object='libgsoapssl_a-stdsoap2_ssl.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl_a_CFLAGS) $(CFLAGS) -c -o libgsoapssl_a-stdsoap2_ssl.o `test -f 'stdsoap2_ssl.c' || echo '$(srcdir)/'`stdsoap2_ssl.c
+
+libgsoapssl_a-stdsoap2_ssl.obj: stdsoap2_ssl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl_a_CFLAGS) $(CFLAGS) -MT libgsoapssl_a-stdsoap2_ssl.obj -MD -MP -MF $(DEPDIR)/libgsoapssl_a-stdsoap2_ssl.Tpo -c -o libgsoapssl_a-stdsoap2_ssl.obj `if test -f 'stdsoap2_ssl.c'; then $(CYGPATH_W) 'stdsoap2_ssl.c'; else $(CYGPATH_W) '$(srcdir)/stdsoap2_ssl.c'; fi`
+	mv -f $(DEPDIR)/libgsoapssl_a-stdsoap2_ssl.Tpo $(DEPDIR)/libgsoapssl_a-stdsoap2_ssl.Po
+#	source='stdsoap2_ssl.c' object='libgsoapssl_a-stdsoap2_ssl.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl_a_CFLAGS) $(CFLAGS) -c -o libgsoapssl_a-stdsoap2_ssl.obj `if test -f 'stdsoap2_ssl.c'; then $(CYGPATH_W) 'stdsoap2_ssl.c'; else $(CYGPATH_W) '$(srcdir)/stdsoap2_ssl.c'; fi`
+
+libgsoapssl_a-dom.o: dom.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl_a_CFLAGS) $(CFLAGS) -MT libgsoapssl_a-dom.o -MD -MP -MF $(DEPDIR)/libgsoapssl_a-dom.Tpo -c -o libgsoapssl_a-dom.o `test -f 'dom.c' || echo '$(srcdir)/'`dom.c
+	mv -f $(DEPDIR)/libgsoapssl_a-dom.Tpo $(DEPDIR)/libgsoapssl_a-dom.Po
+#	source='dom.c' object='libgsoapssl_a-dom.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl_a_CFLAGS) $(CFLAGS) -c -o libgsoapssl_a-dom.o `test -f 'dom.c' || echo '$(srcdir)/'`dom.c
+
+libgsoapssl_a-dom.obj: dom.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl_a_CFLAGS) $(CFLAGS) -MT libgsoapssl_a-dom.obj -MD -MP -MF $(DEPDIR)/libgsoapssl_a-dom.Tpo -c -o libgsoapssl_a-dom.obj `if test -f 'dom.c'; then $(CYGPATH_W) 'dom.c'; else $(CYGPATH_W) '$(srcdir)/dom.c'; fi`
+	mv -f $(DEPDIR)/libgsoapssl_a-dom.Tpo $(DEPDIR)/libgsoapssl_a-dom.Po
+#	source='dom.c' object='libgsoapssl_a-dom.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl_a_CFLAGS) $(CFLAGS) -c -o libgsoapssl_a-dom.obj `if test -f 'dom.c'; then $(CYGPATH_W) 'dom.c'; else $(CYGPATH_W) '$(srcdir)/dom.c'; fi`
+
+.cpp.o:
+	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+libgsoap___a-stdsoap2_cpp.o: stdsoap2_cpp.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoap___a-stdsoap2_cpp.o -MD -MP -MF $(DEPDIR)/libgsoap___a-stdsoap2_cpp.Tpo -c -o libgsoap___a-stdsoap2_cpp.o `test -f 'stdsoap2_cpp.cpp' || echo '$(srcdir)/'`stdsoap2_cpp.cpp
+	mv -f $(DEPDIR)/libgsoap___a-stdsoap2_cpp.Tpo $(DEPDIR)/libgsoap___a-stdsoap2_cpp.Po
+#	source='stdsoap2_cpp.cpp' object='libgsoap___a-stdsoap2_cpp.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoap___a-stdsoap2_cpp.o `test -f 'stdsoap2_cpp.cpp' || echo '$(srcdir)/'`stdsoap2_cpp.cpp
+
+libgsoap___a-stdsoap2_cpp.obj: stdsoap2_cpp.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoap___a-stdsoap2_cpp.obj -MD -MP -MF $(DEPDIR)/libgsoap___a-stdsoap2_cpp.Tpo -c -o libgsoap___a-stdsoap2_cpp.obj `if test -f 'stdsoap2_cpp.cpp'; then $(CYGPATH_W) 'stdsoap2_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/stdsoap2_cpp.cpp'; fi`
+	mv -f $(DEPDIR)/libgsoap___a-stdsoap2_cpp.Tpo $(DEPDIR)/libgsoap___a-stdsoap2_cpp.Po
+#	source='stdsoap2_cpp.cpp' object='libgsoap___a-stdsoap2_cpp.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoap___a-stdsoap2_cpp.obj `if test -f 'stdsoap2_cpp.cpp'; then $(CYGPATH_W) 'stdsoap2_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/stdsoap2_cpp.cpp'; fi`
+
+libgsoap___a-dom_cpp.o: dom_cpp.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoap___a-dom_cpp.o -MD -MP -MF $(DEPDIR)/libgsoap___a-dom_cpp.Tpo -c -o libgsoap___a-dom_cpp.o `test -f 'dom_cpp.cpp' || echo '$(srcdir)/'`dom_cpp.cpp
+	mv -f $(DEPDIR)/libgsoap___a-dom_cpp.Tpo $(DEPDIR)/libgsoap___a-dom_cpp.Po
+#	source='dom_cpp.cpp' object='libgsoap___a-dom_cpp.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoap___a-dom_cpp.o `test -f 'dom_cpp.cpp' || echo '$(srcdir)/'`dom_cpp.cpp
+
+libgsoap___a-dom_cpp.obj: dom_cpp.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoap___a-dom_cpp.obj -MD -MP -MF $(DEPDIR)/libgsoap___a-dom_cpp.Tpo -c -o libgsoap___a-dom_cpp.obj `if test -f 'dom_cpp.cpp'; then $(CYGPATH_W) 'dom_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/dom_cpp.cpp'; fi`
+	mv -f $(DEPDIR)/libgsoap___a-dom_cpp.Tpo $(DEPDIR)/libgsoap___a-dom_cpp.Po
+#	source='dom_cpp.cpp' object='libgsoap___a-dom_cpp.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoap___a-dom_cpp.obj `if test -f 'dom_cpp.cpp'; then $(CYGPATH_W) 'dom_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/dom_cpp.cpp'; fi`
+
+libgsoapck___a-stdsoap2_ck_cpp.o: stdsoap2_ck_cpp.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoapck___a-stdsoap2_ck_cpp.o -MD -MP -MF $(DEPDIR)/libgsoapck___a-stdsoap2_ck_cpp.Tpo -c -o libgsoapck___a-stdsoap2_ck_cpp.o `test -f 'stdsoap2_ck_cpp.cpp' || echo '$(srcdir)/'`stdsoap2_ck_cpp.cpp
+	mv -f $(DEPDIR)/libgsoapck___a-stdsoap2_ck_cpp.Tpo $(DEPDIR)/libgsoapck___a-stdsoap2_ck_cpp.Po
+#	source='stdsoap2_ck_cpp.cpp' object='libgsoapck___a-stdsoap2_ck_cpp.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoapck___a-stdsoap2_ck_cpp.o `test -f 'stdsoap2_ck_cpp.cpp' || echo '$(srcdir)/'`stdsoap2_ck_cpp.cpp
+
+libgsoapck___a-stdsoap2_ck_cpp.obj: stdsoap2_ck_cpp.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoapck___a-stdsoap2_ck_cpp.obj -MD -MP -MF $(DEPDIR)/libgsoapck___a-stdsoap2_ck_cpp.Tpo -c -o libgsoapck___a-stdsoap2_ck_cpp.obj `if test -f 'stdsoap2_ck_cpp.cpp'; then $(CYGPATH_W) 'stdsoap2_ck_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/stdsoap2_ck_cpp.cpp'; fi`
+	mv -f $(DEPDIR)/libgsoapck___a-stdsoap2_ck_cpp.Tpo $(DEPDIR)/libgsoapck___a-stdsoap2_ck_cpp.Po
+#	source='stdsoap2_ck_cpp.cpp' object='libgsoapck___a-stdsoap2_ck_cpp.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoapck___a-stdsoap2_ck_cpp.obj `if test -f 'stdsoap2_ck_cpp.cpp'; then $(CYGPATH_W) 'stdsoap2_ck_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/stdsoap2_ck_cpp.cpp'; fi`
+
+libgsoapck___a-dom_cpp.o: dom_cpp.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoapck___a-dom_cpp.o -MD -MP -MF $(DEPDIR)/libgsoapck___a-dom_cpp.Tpo -c -o libgsoapck___a-dom_cpp.o `test -f 'dom_cpp.cpp' || echo '$(srcdir)/'`dom_cpp.cpp
+	mv -f $(DEPDIR)/libgsoapck___a-dom_cpp.Tpo $(DEPDIR)/libgsoapck___a-dom_cpp.Po
+#	source='dom_cpp.cpp' object='libgsoapck___a-dom_cpp.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoapck___a-dom_cpp.o `test -f 'dom_cpp.cpp' || echo '$(srcdir)/'`dom_cpp.cpp
+
+libgsoapck___a-dom_cpp.obj: dom_cpp.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoapck___a-dom_cpp.obj -MD -MP -MF $(DEPDIR)/libgsoapck___a-dom_cpp.Tpo -c -o libgsoapck___a-dom_cpp.obj `if test -f 'dom_cpp.cpp'; then $(CYGPATH_W) 'dom_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/dom_cpp.cpp'; fi`
+	mv -f $(DEPDIR)/libgsoapck___a-dom_cpp.Tpo $(DEPDIR)/libgsoapck___a-dom_cpp.Po
+#	source='dom_cpp.cpp' object='libgsoapck___a-dom_cpp.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoapck___a-dom_cpp.obj `if test -f 'dom_cpp.cpp'; then $(CYGPATH_W) 'dom_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/dom_cpp.cpp'; fi`
+
+libgsoapssl___a-stdsoap2_ssl_cpp.o: stdsoap2_ssl_cpp.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoapssl___a-stdsoap2_ssl_cpp.o -MD -MP -MF $(DEPDIR)/libgsoapssl___a-stdsoap2_ssl_cpp.Tpo -c -o libgsoapssl___a-stdsoap2_ssl_cpp.o `test -f 'stdsoap2_ssl_cpp.cpp' || echo '$(srcdir)/'`stdsoap2_ssl_cpp.cpp
+	mv -f $(DEPDIR)/libgsoapssl___a-stdsoap2_ssl_cpp.Tpo $(DEPDIR)/libgsoapssl___a-stdsoap2_ssl_cpp.Po
+#	source='stdsoap2_ssl_cpp.cpp' object='libgsoapssl___a-stdsoap2_ssl_cpp.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoapssl___a-stdsoap2_ssl_cpp.o `test -f 'stdsoap2_ssl_cpp.cpp' || echo '$(srcdir)/'`stdsoap2_ssl_cpp.cpp
+
+libgsoapssl___a-stdsoap2_ssl_cpp.obj: stdsoap2_ssl_cpp.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoapssl___a-stdsoap2_ssl_cpp.obj -MD -MP -MF $(DEPDIR)/libgsoapssl___a-stdsoap2_ssl_cpp.Tpo -c -o libgsoapssl___a-stdsoap2_ssl_cpp.obj `if test -f 'stdsoap2_ssl_cpp.cpp'; then $(CYGPATH_W) 'stdsoap2_ssl_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/stdsoap2_ssl_cpp.cpp'; fi`
+	mv -f $(DEPDIR)/libgsoapssl___a-stdsoap2_ssl_cpp.Tpo $(DEPDIR)/libgsoapssl___a-stdsoap2_ssl_cpp.Po
+#	source='stdsoap2_ssl_cpp.cpp' object='libgsoapssl___a-stdsoap2_ssl_cpp.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoapssl___a-stdsoap2_ssl_cpp.obj `if test -f 'stdsoap2_ssl_cpp.cpp'; then $(CYGPATH_W) 'stdsoap2_ssl_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/stdsoap2_ssl_cpp.cpp'; fi`
+
+libgsoapssl___a-dom_cpp.o: dom_cpp.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoapssl___a-dom_cpp.o -MD -MP -MF $(DEPDIR)/libgsoapssl___a-dom_cpp.Tpo -c -o libgsoapssl___a-dom_cpp.o `test -f 'dom_cpp.cpp' || echo '$(srcdir)/'`dom_cpp.cpp
+	mv -f $(DEPDIR)/libgsoapssl___a-dom_cpp.Tpo $(DEPDIR)/libgsoapssl___a-dom_cpp.Po
+#	source='dom_cpp.cpp' object='libgsoapssl___a-dom_cpp.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoapssl___a-dom_cpp.o `test -f 'dom_cpp.cpp' || echo '$(srcdir)/'`dom_cpp.cpp
+
+libgsoapssl___a-dom_cpp.obj: dom_cpp.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoapssl___a-dom_cpp.obj -MD -MP -MF $(DEPDIR)/libgsoapssl___a-dom_cpp.Tpo -c -o libgsoapssl___a-dom_cpp.obj `if test -f 'dom_cpp.cpp'; then $(CYGPATH_W) 'dom_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/dom_cpp.cpp'; fi`
+	mv -f $(DEPDIR)/libgsoapssl___a-dom_cpp.Tpo $(DEPDIR)/libgsoapssl___a-dom_cpp.Po
+#	source='dom_cpp.cpp' object='libgsoapssl___a-dom_cpp.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoapssl___a-dom_cpp.obj `if test -f 'dom_cpp.cpp'; then $(CYGPATH_W) 'dom_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/dom_cpp.cpp'; fi`
+install-nobase_pkgdataDATA: $(nobase_pkgdata_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)"
+	@$(am__vpath_adj_setup) \
+	list='$(nobase_pkgdata_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  $(am__vpath_adj) \
+	  echo " $(nobase_pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+	  $(nobase_pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
+	done
+
+uninstall-nobase_pkgdataDATA:
+	@$(NORMAL_UNINSTALL)
+	@$(am__vpath_adj_setup) \
+	list='$(nobase_pkgdata_DATA)'; for p in $$list; do \
+	  $(am__vpath_adj) \
+	  echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
+	done
+install-includeHEADERS: $(include_HEADERS)
+	@$(NORMAL_INSTALL)
+	test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
+	@list='$(include_HEADERS)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
+	  $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
+	done
+
+uninstall-includeHEADERS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(include_HEADERS)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(includedir)/$$f"; \
+	done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+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: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	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; }'`; \
+	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: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	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; }'`; \
+	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)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    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
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(MKDIR_P) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) check-recursive
+all-am: Makefile $(LIBRARIES) $(DATA) $(HEADERS)
+installdirs: installdirs-recursive
+installdirs-am:
+	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgdatadir)" "$(DESTDIR)$(includedir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+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-recursive
+
+clean-am: clean-generic clean-libLIBRARIES mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-includeHEADERS install-nobase_pkgdataDATA
+	@$(NORMAL_INSTALL)
+	$(MAKE) $(AM_MAKEFLAGS) install-data-hook
+
+install-dvi: install-dvi-recursive
+
+install-exec-am: install-libLIBRARIES
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-includeHEADERS uninstall-libLIBRARIES \
+	uninstall-nobase_pkgdataDATA
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+	install-data-am install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+	all all-am check check-am clean clean-generic \
+	clean-libLIBRARIES ctags ctags-recursive distclean \
+	distclean-compile distclean-generic distclean-tags distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-data-hook install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-includeHEADERS install-info \
+	install-info-am install-libLIBRARIES install-man \
+	install-nobase_pkgdataDATA install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \
+	uninstall uninstall-am uninstall-includeHEADERS \
+	uninstall-libLIBRARIES uninstall-nobase_pkgdataDATA
+
+
+stdsoap2_ck.c: stdsoap2.cpp
+	$(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ck.c
+
+stdsoap2_cpp.cpp: stdsoap2.cpp
+	$(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_cpp.cpp
+
+stdsoap2_ck_cpp.cpp: stdsoap2.cpp
+	$(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ck_cpp.cpp
+
+stdsoap2_ssl.c: stdsoap2.cpp
+	$(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ssl.c
+
+stdsoap2_ssl_cpp.cpp: stdsoap2.cpp
+	$(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ssl_cpp.cpp
+dom_cpp.cpp: dom.cpp
+	$(LN_S) -f $(srcdir)/dom.cpp dom_cpp.cpp
+
+install-data-hook:
+	$(LN_S) -f $(top_builddir)/gsoap/src/soapcpp2 $(top_builddir)/gsoap/soapcpp2 || echo "ok, link already exists".
+	$(LN_S) -f $(top_builddir)/gsoap/wsdl/wsdl2h $(top_builddir)/gsoap/wsdl2h || echo "ok, link already exists".
+# 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:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/Makefile.am	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,59 @@
+## This is the input file for automake, which will generate Makefile.in ##
+## not a GNU package. You can remove this line, if
+## you have all needed files, that a GNU package needs
+AUTOMAKE_OPTIONS = foreign 1.4
+
+SUBDIRS = . src wsdl @SAMPLE_DIRS@
+CLEANFILES = soapcpp2 wsdl2h stdsoap2_cpp.cpp stdsoap2_ck.c stdsoap2_ck_cpp.cpp stdsoap2_ssl.c stdsoap2_ssl_cpp.cpp dom_cpp.cpp
+
+##	*~ *.req.xml *.res.xml *.nsmap *.wsdl *.xsd *Proxy.h \
+##	*.o soapH.h soapStub.h soapC.cpp soapC.c soapClient.cpp soapClient.c soapServer.cpp soapServer.c
+
+AM_CXXFLAGS = $(SOAPCPP2_DEBUG) -D$(platform)
+AM_CFLAGS = $(SOAPCPP2_DEBUG) -D$(platform)
+
+# Install all soapcpp2 and wsdl2h files into ${prefix}/share/gsoap
+nobase_pkgdata_DATA = $(srcdir)/import/* $(srcdir)/plugin/* $(srcdir)/WS/* $(srcdir)/custom/* $(srcdir)/extras/*
+
+## we cannot build stdsoap2.o from 2 different sources (stdsoap2.cpp and stdsoap2.c), so we need an intermediate target:
+stdsoap2_ck.c: stdsoap2.cpp
+	$(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ck.c
+
+stdsoap2_cpp.cpp: stdsoap2.cpp
+	$(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_cpp.cpp
+
+stdsoap2_ck_cpp.cpp: stdsoap2.cpp
+	$(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ck_cpp.cpp
+
+stdsoap2_ssl.c: stdsoap2.cpp
+	$(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ssl.c
+
+stdsoap2_ssl_cpp.cpp: stdsoap2.cpp
+	$(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ssl_cpp.cpp
+## do the same fo dom.cpp since we want to link it into the cpp libs and dom.c into the c libs
+dom_cpp.cpp: dom.cpp
+	$(LN_S) -f $(srcdir)/dom.cpp dom_cpp.cpp
+
+lib_LIBRARIES = libgsoap.a libgsoap++.a libgsoapck.a libgsoapck++.a libgsoapssl.a libgsoapssl++.a
+
+libgsoap_a_SOURCES = stdsoap2.c dom.c
+libgsoap_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform)
+libgsoap___a_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp
+libgsoap___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform)
+libgsoapck_a_SOURCES = stdsoap2_ck.c dom.c
+libgsoapck_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) -DWITH_COOKIES
+libgsoapck___a_SOURCES = stdsoap2_ck_cpp.cpp dom_cpp.cpp
+libgsoapck___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) -DWITH_COOKIES
+libgsoapssl_a_SOURCES = stdsoap2_ssl.c dom.c
+libgsoapssl_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM
+libgsoapssl___a_SOURCES = stdsoap2_ssl_cpp.cpp dom_cpp.cpp
+libgsoapssl___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM
+
+BUILT_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp $(lib_LIBRARIES)
+
+include_HEADERS = stdsoap2.h
+
+install-data-hook:
+	$(LN_S) -f $(top_builddir)/gsoap/src/soapcpp2 $(top_builddir)/gsoap/soapcpp2 || echo "ok, link already exists".
+	$(LN_S) -f $(top_builddir)/gsoap/wsdl/wsdl2h $(top_builddir)/gsoap/wsdl2h || echo "ok, link already exists".
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/Makefile.in	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,920 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006  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@
+
+
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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@
+subdir = gsoap
+DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgdatadir)" \
+	"$(DESTDIR)$(includedir)"
+libLIBRARIES_INSTALL = $(INSTALL_DATA)
+LIBRARIES = $(lib_LIBRARIES)
+AR = ar
+ARFLAGS = cru
+libgsoap___a_AR = $(AR) $(ARFLAGS)
+libgsoap___a_LIBADD =
+am_libgsoap___a_OBJECTS = libgsoap___a-stdsoap2_cpp.$(OBJEXT) \
+	libgsoap___a-dom_cpp.$(OBJEXT)
+libgsoap___a_OBJECTS = $(am_libgsoap___a_OBJECTS)
+libgsoap_a_AR = $(AR) $(ARFLAGS)
+libgsoap_a_LIBADD =
+am_libgsoap_a_OBJECTS = libgsoap_a-stdsoap2.$(OBJEXT) \
+	libgsoap_a-dom.$(OBJEXT)
+libgsoap_a_OBJECTS = $(am_libgsoap_a_OBJECTS)
+libgsoapck___a_AR = $(AR) $(ARFLAGS)
+libgsoapck___a_LIBADD =
+am_libgsoapck___a_OBJECTS = libgsoapck___a-stdsoap2_ck_cpp.$(OBJEXT) \
+	libgsoapck___a-dom_cpp.$(OBJEXT)
+libgsoapck___a_OBJECTS = $(am_libgsoapck___a_OBJECTS)
+libgsoapck_a_AR = $(AR) $(ARFLAGS)
+libgsoapck_a_LIBADD =
+am_libgsoapck_a_OBJECTS = libgsoapck_a-stdsoap2_ck.$(OBJEXT) \
+	libgsoapck_a-dom.$(OBJEXT)
+libgsoapck_a_OBJECTS = $(am_libgsoapck_a_OBJECTS)
+libgsoapssl___a_AR = $(AR) $(ARFLAGS)
+libgsoapssl___a_LIBADD =
+am_libgsoapssl___a_OBJECTS =  \
+	libgsoapssl___a-stdsoap2_ssl_cpp.$(OBJEXT) \
+	libgsoapssl___a-dom_cpp.$(OBJEXT)
+libgsoapssl___a_OBJECTS = $(am_libgsoapssl___a_OBJECTS)
+libgsoapssl_a_AR = $(AR) $(ARFLAGS)
+libgsoapssl_a_LIBADD =
+am_libgsoapssl_a_OBJECTS = libgsoapssl_a-stdsoap2_ssl.$(OBJEXT) \
+	libgsoapssl_a-dom.$(OBJEXT)
+libgsoapssl_a_OBJECTS = $(am_libgsoapssl_a_OBJECTS)
+DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+	-o $@
+SOURCES = $(libgsoap___a_SOURCES) $(libgsoap_a_SOURCES) \
+	$(libgsoapck___a_SOURCES) $(libgsoapck_a_SOURCES) \
+	$(libgsoapssl___a_SOURCES) $(libgsoapssl_a_SOURCES)
+DIST_SOURCES = $(libgsoap___a_SOURCES) $(libgsoap_a_SOURCES) \
+	$(libgsoapck___a_SOURCES) $(libgsoapck_a_SOURCES) \
+	$(libgsoapssl___a_SOURCES) $(libgsoapssl_a_SOURCES)
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-dvi-recursive install-exec-recursive \
+	install-html-recursive install-info-recursive \
+	install-pdf-recursive install-ps-recursive install-recursive \
+	installcheck-recursive installdirs-recursive pdf-recursive \
+	ps-recursive uninstall-recursive
+nobase_pkgdataDATA_INSTALL = $(install_sh_DATA)
+DATA = $(nobase_pkgdata_DATA)
+includeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(include_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BISON_DEFINE = @BISON_DEFINE@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_SAMPLES = @ENABLE_SAMPLES@
+EXEEXT = @EXEEXT@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LEX = @LEX@
+LEXLIB = @LEXLIB@
+LEX_DEFINE = @LEX_DEFINE@
+LEX_FLAGS = @LEX_FLAGS@
+LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SAMPLE_DIRS = @SAMPLE_DIRS@
+SAMPLE_EXTRA_LIBS = @SAMPLE_EXTRA_LIBS@
+SAMPLE_SSL_LIBS = @SAMPLE_SSL_LIBS@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOAPCPP2_DEBUG = @SOAPCPP2_DEBUG@
+SOAPCPP2_IMPORTPATH = @SOAPCPP2_IMPORTPATH@
+SOAPCPP2_IPV6 = @SOAPCPP2_IPV6@
+SOAPCPP2_NONAMESPACES = @SOAPCPP2_NONAMESPACES@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WSDL2H_EXTRA_FLAGS = @WSDL2H_EXTRA_FLAGS@
+WSDL2H_EXTRA_LIBS = @WSDL2H_EXTRA_LIBS@
+WSDL2H_IMPORTPATH = @WSDL2H_IMPORTPATH@
+WSDL2H_SOAP_CPP_LIB = @WSDL2H_SOAP_CPP_LIB@
+YACC = @YACC@
+YACC_LIB = @YACC_LIB@
+YFLAGS = @YFLAGS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+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@
+builddir = @builddir@
+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@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+platform = @platform@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = foreign 1.4
+SUBDIRS = . src wsdl @SAMPLE_DIRS@
+CLEANFILES = soapcpp2 wsdl2h stdsoap2_cpp.cpp stdsoap2_ck.c stdsoap2_ck_cpp.cpp stdsoap2_ssl.c stdsoap2_ssl_cpp.cpp dom_cpp.cpp
+AM_CXXFLAGS = $(SOAPCPP2_DEBUG) -D$(platform)
+AM_CFLAGS = $(SOAPCPP2_DEBUG) -D$(platform)
+
+# Install all soapcpp2 and wsdl2h files into ${prefix}/share/gsoap
+nobase_pkgdata_DATA = $(srcdir)/import/* $(srcdir)/plugin/* $(srcdir)/WS/* $(srcdir)/custom/* $(srcdir)/extras/*
+lib_LIBRARIES = libgsoap.a libgsoap++.a libgsoapck.a libgsoapck++.a libgsoapssl.a libgsoapssl++.a
+libgsoap_a_SOURCES = stdsoap2.c dom.c
+libgsoap_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform)
+libgsoap___a_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp
+libgsoap___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform)
+libgsoapck_a_SOURCES = stdsoap2_ck.c dom.c
+libgsoapck_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) -DWITH_COOKIES
+libgsoapck___a_SOURCES = stdsoap2_ck_cpp.cpp dom_cpp.cpp
+libgsoapck___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) -DWITH_COOKIES
+libgsoapssl_a_SOURCES = stdsoap2_ssl.c dom.c
+libgsoapssl_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM
+libgsoapssl___a_SOURCES = stdsoap2_ssl_cpp.cpp dom_cpp.cpp
+libgsoapssl___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM
+BUILT_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp $(lib_LIBRARIES)
+include_HEADERS = stdsoap2.h
+all: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .c .cpp .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(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  gsoap/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  gsoap/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:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-libLIBRARIES: $(lib_LIBRARIES)
+	@$(NORMAL_INSTALL)
+	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+	@list='$(lib_LIBRARIES)'; for p in $$list; do \
+	  if test -f $$p; then \
+	    f=$(am__strip_dir) \
+	    echo " $(libLIBRARIES_INSTALL) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+	    $(libLIBRARIES_INSTALL) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+	  else :; fi; \
+	done
+	@$(POST_INSTALL)
+	@list='$(lib_LIBRARIES)'; for p in $$list; do \
+	  if test -f $$p; then \
+	    p=$(am__strip_dir) \
+	    echo " $(RANLIB) '$(DESTDIR)$(libdir)/$$p'"; \
+	    $(RANLIB) "$(DESTDIR)$(libdir)/$$p"; \
+	  else :; fi; \
+	done
+
+uninstall-libLIBRARIES:
+	@$(NORMAL_UNINSTALL)
+	@list='$(lib_LIBRARIES)'; for p in $$list; do \
+	  p=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+	  rm -f "$(DESTDIR)$(libdir)/$$p"; \
+	done
+
+clean-libLIBRARIES:
+	-test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
+libgsoap++.a: $(libgsoap___a_OBJECTS) $(libgsoap___a_DEPENDENCIES) 
+	-rm -f libgsoap++.a
+	$(libgsoap___a_AR) libgsoap++.a $(libgsoap___a_OBJECTS) $(libgsoap___a_LIBADD)
+	$(RANLIB) libgsoap++.a
+libgsoap.a: $(libgsoap_a_OBJECTS) $(libgsoap_a_DEPENDENCIES) 
+	-rm -f libgsoap.a
+	$(libgsoap_a_AR) libgsoap.a $(libgsoap_a_OBJECTS) $(libgsoap_a_LIBADD)
+	$(RANLIB) libgsoap.a
+libgsoapck++.a: $(libgsoapck___a_OBJECTS) $(libgsoapck___a_DEPENDENCIES) 
+	-rm -f libgsoapck++.a
+	$(libgsoapck___a_AR) libgsoapck++.a $(libgsoapck___a_OBJECTS) $(libgsoapck___a_LIBADD)
+	$(RANLIB) libgsoapck++.a
+libgsoapck.a: $(libgsoapck_a_OBJECTS) $(libgsoapck_a_DEPENDENCIES) 
+	-rm -f libgsoapck.a
+	$(libgsoapck_a_AR) libgsoapck.a $(libgsoapck_a_OBJECTS) $(libgsoapck_a_LIBADD)
+	$(RANLIB) libgsoapck.a
+libgsoapssl++.a: $(libgsoapssl___a_OBJECTS) $(libgsoapssl___a_DEPENDENCIES) 
+	-rm -f libgsoapssl++.a
+	$(libgsoapssl___a_AR) libgsoapssl++.a $(libgsoapssl___a_OBJECTS) $(libgsoapssl___a_LIBADD)
+	$(RANLIB) libgsoapssl++.a
+libgsoapssl.a: $(libgsoapssl_a_OBJECTS) $(libgsoapssl_a_DEPENDENCIES) 
+	-rm -f libgsoapssl.a
+	$(libgsoapssl_a_AR) libgsoapssl.a $(libgsoapssl_a_OBJECTS) $(libgsoapssl_a_LIBADD)
+	$(RANLIB) libgsoapssl.a
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsoap___a-dom_cpp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsoap___a-stdsoap2_cpp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsoap_a-dom.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsoap_a-stdsoap2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsoapck___a-dom_cpp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsoapck___a-stdsoap2_ck_cpp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsoapck_a-dom.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsoapck_a-stdsoap2_ck.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsoapssl___a-dom_cpp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsoapssl___a-stdsoap2_ssl_cpp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsoapssl_a-dom.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsoapssl_a-stdsoap2_ssl.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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) '$<'`
+
+libgsoap_a-stdsoap2.o: stdsoap2.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap_a_CFLAGS) $(CFLAGS) -MT libgsoap_a-stdsoap2.o -MD -MP -MF $(DEPDIR)/libgsoap_a-stdsoap2.Tpo -c -o libgsoap_a-stdsoap2.o `test -f 'stdsoap2.c' || echo '$(srcdir)/'`stdsoap2.c
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libgsoap_a-stdsoap2.Tpo $(DEPDIR)/libgsoap_a-stdsoap2.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='stdsoap2.c' object='libgsoap_a-stdsoap2.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) $(libgsoap_a_CFLAGS) $(CFLAGS) -c -o libgsoap_a-stdsoap2.o `test -f 'stdsoap2.c' || echo '$(srcdir)/'`stdsoap2.c
+
+libgsoap_a-stdsoap2.obj: stdsoap2.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap_a_CFLAGS) $(CFLAGS) -MT libgsoap_a-stdsoap2.obj -MD -MP -MF $(DEPDIR)/libgsoap_a-stdsoap2.Tpo -c -o libgsoap_a-stdsoap2.obj `if test -f 'stdsoap2.c'; then $(CYGPATH_W) 'stdsoap2.c'; else $(CYGPATH_W) '$(srcdir)/stdsoap2.c'; fi`
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libgsoap_a-stdsoap2.Tpo $(DEPDIR)/libgsoap_a-stdsoap2.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='stdsoap2.c' object='libgsoap_a-stdsoap2.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) $(libgsoap_a_CFLAGS) $(CFLAGS) -c -o libgsoap_a-stdsoap2.obj `if test -f 'stdsoap2.c'; then $(CYGPATH_W) 'stdsoap2.c'; else $(CYGPATH_W) '$(srcdir)/stdsoap2.c'; fi`
+
+libgsoap_a-dom.o: dom.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap_a_CFLAGS) $(CFLAGS) -MT libgsoap_a-dom.o -MD -MP -MF $(DEPDIR)/libgsoap_a-dom.Tpo -c -o libgsoap_a-dom.o `test -f 'dom.c' || echo '$(srcdir)/'`dom.c
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libgsoap_a-dom.Tpo $(DEPDIR)/libgsoap_a-dom.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='dom.c' object='libgsoap_a-dom.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) $(libgsoap_a_CFLAGS) $(CFLAGS) -c -o libgsoap_a-dom.o `test -f 'dom.c' || echo '$(srcdir)/'`dom.c
+
+libgsoap_a-dom.obj: dom.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap_a_CFLAGS) $(CFLAGS) -MT libgsoap_a-dom.obj -MD -MP -MF $(DEPDIR)/libgsoap_a-dom.Tpo -c -o libgsoap_a-dom.obj `if test -f 'dom.c'; then $(CYGPATH_W) 'dom.c'; else $(CYGPATH_W) '$(srcdir)/dom.c'; fi`
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libgsoap_a-dom.Tpo $(DEPDIR)/libgsoap_a-dom.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='dom.c' object='libgsoap_a-dom.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) $(libgsoap_a_CFLAGS) $(CFLAGS) -c -o libgsoap_a-dom.obj `if test -f 'dom.c'; then $(CYGPATH_W) 'dom.c'; else $(CYGPATH_W) '$(srcdir)/dom.c'; fi`
+
+libgsoapck_a-stdsoap2_ck.o: stdsoap2_ck.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck_a_CFLAGS) $(CFLAGS) -MT libgsoapck_a-stdsoap2_ck.o -MD -MP -MF $(DEPDIR)/libgsoapck_a-stdsoap2_ck.Tpo -c -o libgsoapck_a-stdsoap2_ck.o `test -f 'stdsoap2_ck.c' || echo '$(srcdir)/'`stdsoap2_ck.c
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libgsoapck_a-stdsoap2_ck.Tpo $(DEPDIR)/libgsoapck_a-stdsoap2_ck.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='stdsoap2_ck.c' object='libgsoapck_a-stdsoap2_ck.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) $(libgsoapck_a_CFLAGS) $(CFLAGS) -c -o libgsoapck_a-stdsoap2_ck.o `test -f 'stdsoap2_ck.c' || echo '$(srcdir)/'`stdsoap2_ck.c
+
+libgsoapck_a-stdsoap2_ck.obj: stdsoap2_ck.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck_a_CFLAGS) $(CFLAGS) -MT libgsoapck_a-stdsoap2_ck.obj -MD -MP -MF $(DEPDIR)/libgsoapck_a-stdsoap2_ck.Tpo -c -o libgsoapck_a-stdsoap2_ck.obj `if test -f 'stdsoap2_ck.c'; then $(CYGPATH_W) 'stdsoap2_ck.c'; else $(CYGPATH_W) '$(srcdir)/stdsoap2_ck.c'; fi`
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libgsoapck_a-stdsoap2_ck.Tpo $(DEPDIR)/libgsoapck_a-stdsoap2_ck.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='stdsoap2_ck.c' object='libgsoapck_a-stdsoap2_ck.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) $(libgsoapck_a_CFLAGS) $(CFLAGS) -c -o libgsoapck_a-stdsoap2_ck.obj `if test -f 'stdsoap2_ck.c'; then $(CYGPATH_W) 'stdsoap2_ck.c'; else $(CYGPATH_W) '$(srcdir)/stdsoap2_ck.c'; fi`
+
+libgsoapck_a-dom.o: dom.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck_a_CFLAGS) $(CFLAGS) -MT libgsoapck_a-dom.o -MD -MP -MF $(DEPDIR)/libgsoapck_a-dom.Tpo -c -o libgsoapck_a-dom.o `test -f 'dom.c' || echo '$(srcdir)/'`dom.c
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libgsoapck_a-dom.Tpo $(DEPDIR)/libgsoapck_a-dom.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='dom.c' object='libgsoapck_a-dom.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) $(libgsoapck_a_CFLAGS) $(CFLAGS) -c -o libgsoapck_a-dom.o `test -f 'dom.c' || echo '$(srcdir)/'`dom.c
+
+libgsoapck_a-dom.obj: dom.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck_a_CFLAGS) $(CFLAGS) -MT libgsoapck_a-dom.obj -MD -MP -MF $(DEPDIR)/libgsoapck_a-dom.Tpo -c -o libgsoapck_a-dom.obj `if test -f 'dom.c'; then $(CYGPATH_W) 'dom.c'; else $(CYGPATH_W) '$(srcdir)/dom.c'; fi`
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libgsoapck_a-dom.Tpo $(DEPDIR)/libgsoapck_a-dom.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='dom.c' object='libgsoapck_a-dom.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) $(libgsoapck_a_CFLAGS) $(CFLAGS) -c -o libgsoapck_a-dom.obj `if test -f 'dom.c'; then $(CYGPATH_W) 'dom.c'; else $(CYGPATH_W) '$(srcdir)/dom.c'; fi`
+
+libgsoapssl_a-stdsoap2_ssl.o: stdsoap2_ssl.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl_a_CFLAGS) $(CFLAGS) -MT libgsoapssl_a-stdsoap2_ssl.o -MD -MP -MF $(DEPDIR)/libgsoapssl_a-stdsoap2_ssl.Tpo -c -o libgsoapssl_a-stdsoap2_ssl.o `test -f 'stdsoap2_ssl.c' || echo '$(srcdir)/'`stdsoap2_ssl.c
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libgsoapssl_a-stdsoap2_ssl.Tpo $(DEPDIR)/libgsoapssl_a-stdsoap2_ssl.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='stdsoap2_ssl.c' object='libgsoapssl_a-stdsoap2_ssl.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) $(libgsoapssl_a_CFLAGS) $(CFLAGS) -c -o libgsoapssl_a-stdsoap2_ssl.o `test -f 'stdsoap2_ssl.c' || echo '$(srcdir)/'`stdsoap2_ssl.c
+
+libgsoapssl_a-stdsoap2_ssl.obj: stdsoap2_ssl.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl_a_CFLAGS) $(CFLAGS) -MT libgsoapssl_a-stdsoap2_ssl.obj -MD -MP -MF $(DEPDIR)/libgsoapssl_a-stdsoap2_ssl.Tpo -c -o libgsoapssl_a-stdsoap2_ssl.obj `if test -f 'stdsoap2_ssl.c'; then $(CYGPATH_W) 'stdsoap2_ssl.c'; else $(CYGPATH_W) '$(srcdir)/stdsoap2_ssl.c'; fi`
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libgsoapssl_a-stdsoap2_ssl.Tpo $(DEPDIR)/libgsoapssl_a-stdsoap2_ssl.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='stdsoap2_ssl.c' object='libgsoapssl_a-stdsoap2_ssl.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) $(libgsoapssl_a_CFLAGS) $(CFLAGS) -c -o libgsoapssl_a-stdsoap2_ssl.obj `if test -f 'stdsoap2_ssl.c'; then $(CYGPATH_W) 'stdsoap2_ssl.c'; else $(CYGPATH_W) '$(srcdir)/stdsoap2_ssl.c'; fi`
+
+libgsoapssl_a-dom.o: dom.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl_a_CFLAGS) $(CFLAGS) -MT libgsoapssl_a-dom.o -MD -MP -MF $(DEPDIR)/libgsoapssl_a-dom.Tpo -c -o libgsoapssl_a-dom.o `test -f 'dom.c' || echo '$(srcdir)/'`dom.c
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libgsoapssl_a-dom.Tpo $(DEPDIR)/libgsoapssl_a-dom.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='dom.c' object='libgsoapssl_a-dom.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) $(libgsoapssl_a_CFLAGS) $(CFLAGS) -c -o libgsoapssl_a-dom.o `test -f 'dom.c' || echo '$(srcdir)/'`dom.c
+
+libgsoapssl_a-dom.obj: dom.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl_a_CFLAGS) $(CFLAGS) -MT libgsoapssl_a-dom.obj -MD -MP -MF $(DEPDIR)/libgsoapssl_a-dom.Tpo -c -o libgsoapssl_a-dom.obj `if test -f 'dom.c'; then $(CYGPATH_W) 'dom.c'; else $(CYGPATH_W) '$(srcdir)/dom.c'; fi`
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libgsoapssl_a-dom.Tpo $(DEPDIR)/libgsoapssl_a-dom.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='dom.c' object='libgsoapssl_a-dom.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) $(libgsoapssl_a_CFLAGS) $(CFLAGS) -c -o libgsoapssl_a-dom.obj `if test -f 'dom.c'; then $(CYGPATH_W) 'dom.c'; else $(CYGPATH_W) '$(srcdir)/dom.c'; fi`
+
+.cpp.o:
+@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+libgsoap___a-stdsoap2_cpp.o: stdsoap2_cpp.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoap___a-stdsoap2_cpp.o -MD -MP -MF $(DEPDIR)/libgsoap___a-stdsoap2_cpp.Tpo -c -o libgsoap___a-stdsoap2_cpp.o `test -f 'stdsoap2_cpp.cpp' || echo '$(srcdir)/'`stdsoap2_cpp.cpp
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libgsoap___a-stdsoap2_cpp.Tpo $(DEPDIR)/libgsoap___a-stdsoap2_cpp.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='stdsoap2_cpp.cpp' object='libgsoap___a-stdsoap2_cpp.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoap___a-stdsoap2_cpp.o `test -f 'stdsoap2_cpp.cpp' || echo '$(srcdir)/'`stdsoap2_cpp.cpp
+
+libgsoap___a-stdsoap2_cpp.obj: stdsoap2_cpp.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoap___a-stdsoap2_cpp.obj -MD -MP -MF $(DEPDIR)/libgsoap___a-stdsoap2_cpp.Tpo -c -o libgsoap___a-stdsoap2_cpp.obj `if test -f 'stdsoap2_cpp.cpp'; then $(CYGPATH_W) 'stdsoap2_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/stdsoap2_cpp.cpp'; fi`
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libgsoap___a-stdsoap2_cpp.Tpo $(DEPDIR)/libgsoap___a-stdsoap2_cpp.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='stdsoap2_cpp.cpp' object='libgsoap___a-stdsoap2_cpp.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoap___a-stdsoap2_cpp.obj `if test -f 'stdsoap2_cpp.cpp'; then $(CYGPATH_W) 'stdsoap2_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/stdsoap2_cpp.cpp'; fi`
+
+libgsoap___a-dom_cpp.o: dom_cpp.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoap___a-dom_cpp.o -MD -MP -MF $(DEPDIR)/libgsoap___a-dom_cpp.Tpo -c -o libgsoap___a-dom_cpp.o `test -f 'dom_cpp.cpp' || echo '$(srcdir)/'`dom_cpp.cpp
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libgsoap___a-dom_cpp.Tpo $(DEPDIR)/libgsoap___a-dom_cpp.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dom_cpp.cpp' object='libgsoap___a-dom_cpp.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoap___a-dom_cpp.o `test -f 'dom_cpp.cpp' || echo '$(srcdir)/'`dom_cpp.cpp
+
+libgsoap___a-dom_cpp.obj: dom_cpp.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoap___a-dom_cpp.obj -MD -MP -MF $(DEPDIR)/libgsoap___a-dom_cpp.Tpo -c -o libgsoap___a-dom_cpp.obj `if test -f 'dom_cpp.cpp'; then $(CYGPATH_W) 'dom_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/dom_cpp.cpp'; fi`
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libgsoap___a-dom_cpp.Tpo $(DEPDIR)/libgsoap___a-dom_cpp.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dom_cpp.cpp' object='libgsoap___a-dom_cpp.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoap___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoap___a-dom_cpp.obj `if test -f 'dom_cpp.cpp'; then $(CYGPATH_W) 'dom_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/dom_cpp.cpp'; fi`
+
+libgsoapck___a-stdsoap2_ck_cpp.o: stdsoap2_ck_cpp.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoapck___a-stdsoap2_ck_cpp.o -MD -MP -MF $(DEPDIR)/libgsoapck___a-stdsoap2_ck_cpp.Tpo -c -o libgsoapck___a-stdsoap2_ck_cpp.o `test -f 'stdsoap2_ck_cpp.cpp' || echo '$(srcdir)/'`stdsoap2_ck_cpp.cpp
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libgsoapck___a-stdsoap2_ck_cpp.Tpo $(DEPDIR)/libgsoapck___a-stdsoap2_ck_cpp.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='stdsoap2_ck_cpp.cpp' object='libgsoapck___a-stdsoap2_ck_cpp.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoapck___a-stdsoap2_ck_cpp.o `test -f 'stdsoap2_ck_cpp.cpp' || echo '$(srcdir)/'`stdsoap2_ck_cpp.cpp
+
+libgsoapck___a-stdsoap2_ck_cpp.obj: stdsoap2_ck_cpp.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoapck___a-stdsoap2_ck_cpp.obj -MD -MP -MF $(DEPDIR)/libgsoapck___a-stdsoap2_ck_cpp.Tpo -c -o libgsoapck___a-stdsoap2_ck_cpp.obj `if test -f 'stdsoap2_ck_cpp.cpp'; then $(CYGPATH_W) 'stdsoap2_ck_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/stdsoap2_ck_cpp.cpp'; fi`
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libgsoapck___a-stdsoap2_ck_cpp.Tpo $(DEPDIR)/libgsoapck___a-stdsoap2_ck_cpp.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='stdsoap2_ck_cpp.cpp' object='libgsoapck___a-stdsoap2_ck_cpp.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoapck___a-stdsoap2_ck_cpp.obj `if test -f 'stdsoap2_ck_cpp.cpp'; then $(CYGPATH_W) 'stdsoap2_ck_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/stdsoap2_ck_cpp.cpp'; fi`
+
+libgsoapck___a-dom_cpp.o: dom_cpp.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoapck___a-dom_cpp.o -MD -MP -MF $(DEPDIR)/libgsoapck___a-dom_cpp.Tpo -c -o libgsoapck___a-dom_cpp.o `test -f 'dom_cpp.cpp' || echo '$(srcdir)/'`dom_cpp.cpp
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libgsoapck___a-dom_cpp.Tpo $(DEPDIR)/libgsoapck___a-dom_cpp.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dom_cpp.cpp' object='libgsoapck___a-dom_cpp.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoapck___a-dom_cpp.o `test -f 'dom_cpp.cpp' || echo '$(srcdir)/'`dom_cpp.cpp
+
+libgsoapck___a-dom_cpp.obj: dom_cpp.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoapck___a-dom_cpp.obj -MD -MP -MF $(DEPDIR)/libgsoapck___a-dom_cpp.Tpo -c -o libgsoapck___a-dom_cpp.obj `if test -f 'dom_cpp.cpp'; then $(CYGPATH_W) 'dom_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/dom_cpp.cpp'; fi`
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libgsoapck___a-dom_cpp.Tpo $(DEPDIR)/libgsoapck___a-dom_cpp.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dom_cpp.cpp' object='libgsoapck___a-dom_cpp.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapck___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoapck___a-dom_cpp.obj `if test -f 'dom_cpp.cpp'; then $(CYGPATH_W) 'dom_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/dom_cpp.cpp'; fi`
+
+libgsoapssl___a-stdsoap2_ssl_cpp.o: stdsoap2_ssl_cpp.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoapssl___a-stdsoap2_ssl_cpp.o -MD -MP -MF $(DEPDIR)/libgsoapssl___a-stdsoap2_ssl_cpp.Tpo -c -o libgsoapssl___a-stdsoap2_ssl_cpp.o `test -f 'stdsoap2_ssl_cpp.cpp' || echo '$(srcdir)/'`stdsoap2_ssl_cpp.cpp
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libgsoapssl___a-stdsoap2_ssl_cpp.Tpo $(DEPDIR)/libgsoapssl___a-stdsoap2_ssl_cpp.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='stdsoap2_ssl_cpp.cpp' object='libgsoapssl___a-stdsoap2_ssl_cpp.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoapssl___a-stdsoap2_ssl_cpp.o `test -f 'stdsoap2_ssl_cpp.cpp' || echo '$(srcdir)/'`stdsoap2_ssl_cpp.cpp
+
+libgsoapssl___a-stdsoap2_ssl_cpp.obj: stdsoap2_ssl_cpp.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoapssl___a-stdsoap2_ssl_cpp.obj -MD -MP -MF $(DEPDIR)/libgsoapssl___a-stdsoap2_ssl_cpp.Tpo -c -o libgsoapssl___a-stdsoap2_ssl_cpp.obj `if test -f 'stdsoap2_ssl_cpp.cpp'; then $(CYGPATH_W) 'stdsoap2_ssl_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/stdsoap2_ssl_cpp.cpp'; fi`
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libgsoapssl___a-stdsoap2_ssl_cpp.Tpo $(DEPDIR)/libgsoapssl___a-stdsoap2_ssl_cpp.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='stdsoap2_ssl_cpp.cpp' object='libgsoapssl___a-stdsoap2_ssl_cpp.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoapssl___a-stdsoap2_ssl_cpp.obj `if test -f 'stdsoap2_ssl_cpp.cpp'; then $(CYGPATH_W) 'stdsoap2_ssl_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/stdsoap2_ssl_cpp.cpp'; fi`
+
+libgsoapssl___a-dom_cpp.o: dom_cpp.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoapssl___a-dom_cpp.o -MD -MP -MF $(DEPDIR)/libgsoapssl___a-dom_cpp.Tpo -c -o libgsoapssl___a-dom_cpp.o `test -f 'dom_cpp.cpp' || echo '$(srcdir)/'`dom_cpp.cpp
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libgsoapssl___a-dom_cpp.Tpo $(DEPDIR)/libgsoapssl___a-dom_cpp.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dom_cpp.cpp' object='libgsoapssl___a-dom_cpp.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoapssl___a-dom_cpp.o `test -f 'dom_cpp.cpp' || echo '$(srcdir)/'`dom_cpp.cpp
+
+libgsoapssl___a-dom_cpp.obj: dom_cpp.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl___a_CXXFLAGS) $(CXXFLAGS) -MT libgsoapssl___a-dom_cpp.obj -MD -MP -MF $(DEPDIR)/libgsoapssl___a-dom_cpp.Tpo -c -o libgsoapssl___a-dom_cpp.obj `if test -f 'dom_cpp.cpp'; then $(CYGPATH_W) 'dom_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/dom_cpp.cpp'; fi`
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libgsoapssl___a-dom_cpp.Tpo $(DEPDIR)/libgsoapssl___a-dom_cpp.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dom_cpp.cpp' object='libgsoapssl___a-dom_cpp.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoapssl___a-dom_cpp.obj `if test -f 'dom_cpp.cpp'; then $(CYGPATH_W) 'dom_cpp.cpp'; else $(CYGPATH_W) '$(srcdir)/dom_cpp.cpp'; fi`
+install-nobase_pkgdataDATA: $(nobase_pkgdata_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)"
+	@$(am__vpath_adj_setup) \
+	list='$(nobase_pkgdata_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  $(am__vpath_adj) \
+	  echo " $(nobase_pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+	  $(nobase_pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
+	done
+
+uninstall-nobase_pkgdataDATA:
+	@$(NORMAL_UNINSTALL)
+	@$(am__vpath_adj_setup) \
+	list='$(nobase_pkgdata_DATA)'; for p in $$list; do \
+	  $(am__vpath_adj) \
+	  echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
+	done
+install-includeHEADERS: $(include_HEADERS)
+	@$(NORMAL_INSTALL)
+	test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
+	@list='$(include_HEADERS)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
+	  $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
+	done
+
+uninstall-includeHEADERS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(include_HEADERS)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(includedir)/$$f"; \
+	done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+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: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	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; }'`; \
+	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: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	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; }'`; \
+	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)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    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
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(MKDIR_P) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) check-recursive
+all-am: Makefile $(LIBRARIES) $(DATA) $(HEADERS)
+installdirs: installdirs-recursive
+installdirs-am:
+	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgdatadir)" "$(DESTDIR)$(includedir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+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-recursive
+
+clean-am: clean-generic clean-libLIBRARIES mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-includeHEADERS install-nobase_pkgdataDATA
+	@$(NORMAL_INSTALL)
+	$(MAKE) $(AM_MAKEFLAGS) install-data-hook
+
+install-dvi: install-dvi-recursive
+
+install-exec-am: install-libLIBRARIES
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-includeHEADERS uninstall-libLIBRARIES \
+	uninstall-nobase_pkgdataDATA
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+	install-data-am install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+	all all-am check check-am clean clean-generic \
+	clean-libLIBRARIES ctags ctags-recursive distclean \
+	distclean-compile distclean-generic distclean-tags distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-data-hook install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-includeHEADERS install-info \
+	install-info-am install-libLIBRARIES install-man \
+	install-nobase_pkgdataDATA install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \
+	uninstall uninstall-am uninstall-includeHEADERS \
+	uninstall-libLIBRARIES uninstall-nobase_pkgdataDATA
+
+
+stdsoap2_ck.c: stdsoap2.cpp
+	$(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ck.c
+
+stdsoap2_cpp.cpp: stdsoap2.cpp
+	$(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_cpp.cpp
+
+stdsoap2_ck_cpp.cpp: stdsoap2.cpp
+	$(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ck_cpp.cpp
+
+stdsoap2_ssl.c: stdsoap2.cpp
+	$(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ssl.c
+
+stdsoap2_ssl_cpp.cpp: stdsoap2.cpp
+	$(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ssl_cpp.cpp
+dom_cpp.cpp: dom.cpp
+	$(LN_S) -f $(srcdir)/dom.cpp dom_cpp.cpp
+
+install-data-hook:
+	$(LN_S) -f $(top_builddir)/gsoap/src/soapcpp2 $(top_builddir)/gsoap/soapcpp2 || echo "ok, link already exists".
+	$(LN_S) -f $(top_builddir)/gsoap/wsdl/wsdl2h $(top_builddir)/gsoap/wsdl2h || echo "ok, link already exists".
+# 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:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/bin/README.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,7 @@
+This directory contains pre-built soapcpp2 and wsdl2h executables:
+
+macosx		MAC OS X universal binaries
+win32		Windows 386 compatible
+linux386	Linux i386 compatible
+
+For other platforms: see installation instructions in the root directory.
Binary file GEMBASSY-1.0.3/gsoap/bin/linux386/soapcpp2 has changed
Binary file GEMBASSY-1.0.3/gsoap/bin/linux386/wsdl2h has changed
Binary file GEMBASSY-1.0.3/gsoap/bin/macosx/soapcpp2 has changed
Binary file GEMBASSY-1.0.3/gsoap/bin/macosx/wsdl2h has changed
Binary file GEMBASSY-1.0.3/gsoap/bin/win32/soapcpp2.exe has changed
Binary file GEMBASSY-1.0.3/gsoap/bin/win32/wsdl2h.exe has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/custom/README.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,69 @@
+
+OVERVIEW
+
+This directory contains custom serializers for common data types.
+
+CONTENTS
+
+Custom serializers replace the soapcpp2-generated serialization routines.
+See the notes in the source files on specific usage.
+
+The following serializers are available:
+
+long_double.*		Serializes long double (extended double) type
+struct_tm.*		Serializes <time.h> struct tm
+struct_timeval.*	Serializes struct timeval (precision in usec)
+duration.*		Serializes LONG64 values as xsd:duration
+
+USAGE
+
+To use a custom serializer add an import statement to your gSOAP header file:
+
+#import "struct_tm.h"
+
+This replaces time_t for xsd__dateTime by struct tm. You can use xsd__dateTime
+as XML elements and attributes:
+
+struct ns__example
+{ @xsd__dateTime start; // attribute
+  xsd__dateTime end;    // element
+};
+
+Then compile with soapcpp2 and cc and link struct_tm.c
+
+HOW TO MODIFY TYPEMAP.DAT TO AUTOMATE THE MAPPING TO A CUSTOM TYPE WITH WSDL2H
+
+The mapping is specified in typemap.dat as follows:
+
+xsd__dateTime = #import "custom/struct_tm.h"
+
+which maps xsd:dateTime to struct tm when wsdl2h is applied to a WSDL.
+
+xsd__decimal = #import "custom/long_double.h" | long double
+
+this maps xsd:decimal to long double (the column after | specifies usage).
+
+IMPLEMENTING YOUR OWN CUSTOM SERIALIZERS
+
+To build your own custom serializers: a custom serializer is typically declared
+in the imported file as follows
+
+extern typedef Type X;
+
+To implement custom serializers you should implement the following routines:
+
+void soap_default_X(struct soap*, X*);
+	sets default values for X
+void soap_serialize_X(struct soap*, const X*);
+	analyzes X for id-ref serialization (maybe empty)
+int soap_out_X(struct soap*, const char *tag, int id, const X*, const char *type);
+	emits X in XML as <tag xsi:type=type> (type is optional)
+X *soap_in_X(struct soap*, const char *tag, X*, const char *type);
+	parses X from XML as <tag xsi:type=type>
+
+To support XML attribute serialization, you should also define:
+
+int soap_s2X(struct soap*, const char *value, X*);
+	converts string to X and returns SOAP_OK
+const char *soap_X2s(struct soap*, X);
+	converts X to string (or NULL when error)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/custom/duration.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,208 @@
+/*
+	duration.c
+
+	Custom serializer for xsd:duration stored in a LONG64 with ms precision
+	- the LONG64 int can represent 106751991167 days forward and backward
+	- LONG64 is long long int under Unix/Linux
+	- millisecond resolution (1/1000 sec) means 1 second = 1000
+	- when adding to a time_t value, conversion may be needed since time_t
+	  may (or may) not have seconds resolution
+	- durations longer than a month are always output in days, rather than
+	  months to avoid days-per-month conversion
+	- durations expressed in years and months are not well defined, since
+	  there is no reference starting time; the decoder assumes 30 days per
+	  month and conversion of P4M gives 120 days and therefore the duration
+	  P4M and P120D are assumed identical, while they may yield different
+	  result depending on the reference starting time
+
+	Compile this file and link it with your code.
+
+gSOAP XML Web services tools
+Copyright (C) 2000-2009, Robert van Engelen, Genivia Inc., All Rights Reserved.
+This part of the software is released under ONE of the following licenses:
+GPL, the gSOAP public license, OR Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+gSOAP public license.
+
+The contents of this file are subject to the gSOAP Public License Version 1.3
+(the "License"); you may not use this file except in compliance with the
+License. You may obtain a copy of the License at
+http://www.cs.fsu.edu/~engelen/soaplicense.html
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the License.
+
+The Initial Developer of the Original Code is Robert A. van Engelen.
+Copyright (C) 2000-2009, Robert van Engelen, Genivia, Inc., All Rights Reserved.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+/* soapH.h generated by soapcpp2 from .h file containing #import "duration.h":*/
+#include "soapH.h"
+
+void soap_default_xsd__duration(struct soap *soap, LONG64 *a)
+{ (void)soap; /* appease -Wall -Werror */
+  *a = 0;
+}
+
+const char *soap_xsd__duration2s(struct soap *soap, LONG64 a)
+{ LONG64 d;
+  int k, h, m, s, f;
+  if (a < 0)
+  { strcpy(soap->tmpbuf, "-P");
+    k = 2;
+    a = -a;
+  }
+  else
+  { strcpy(soap->tmpbuf, "P");
+    k = 1;
+  }
+  f = a % 1000;
+  a /= 1000;
+  s = a % 60;
+  a /= 60;
+  m = a % 60;
+  a /= 60;
+  h = a % 24;
+  d = a / 24;
+  if (d)
+    sprintf(soap->tmpbuf + k, SOAP_LONG_FORMAT "D", d);
+  if (h || m || s || f)
+  { if (d)
+      k = strlen(soap->tmpbuf);
+    if (f)
+      sprintf(soap->tmpbuf + k, "T%dH%dM%d.%03dS", h, m, s, f);
+    else
+      sprintf(soap->tmpbuf + k, "T%dH%dM%dS", h, m, s);
+  }
+  else if (!d)
+    strcpy(soap->tmpbuf + k, "T0S");
+  return soap->tmpbuf;
+}
+
+int soap_out_xsd__duration(struct soap *soap, const char *tag, int id, const LONG64 *a, const char *type)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_xsd__duration), type)
+   || soap_string_out(soap, soap_xsd__duration2s(soap, *a), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+
+int soap_s2xsd__duration(struct soap *soap, const char *s, LONG64 *a)
+{ LONG64 sign = 1, Y = 0, M = 0, D = 0, H = 0, N = 0, S = 0;
+  float f = 0;
+  *a = 0;
+  if (s)
+  { if (*s == '-')
+    { sign = -1;
+      s++;
+    }
+    if (*s++ != 'P')
+      return soap->error = SOAP_TYPE;
+    /* date part */
+    while (s && *s)
+    { LONG64 n;
+      char k;
+      if (*s == 'T')
+      { s++;
+	break;
+      }
+      if (sscanf(s, SOAP_LONG_FORMAT "%c", &n, &k) != 2)
+	return soap->error = SOAP_TYPE;
+      s = strchr(s, k);
+      if (!s)
+	return soap->error = SOAP_TYPE;
+      switch (k)
+      { case 'Y':
+	  Y = n;
+	  break;
+	case 'M':
+	  M = n;
+	  break;
+	case 'D':
+	  D = n;
+	  break;
+	default:
+	  return soap->error = SOAP_TYPE;
+      }
+      s++;
+    }
+    /* time part */
+    while (s && *s)
+    { LONG64 n;
+      char k;
+      if (sscanf(s, SOAP_LONG_FORMAT "%c", &n, &k) != 2)
+	return soap->error = SOAP_TYPE;
+      s = strchr(s, k);
+      if (!s)
+	return soap->error = SOAP_TYPE;
+      switch (k)
+      { case 'H':
+	  H = n;
+	  break;
+	case 'M':
+	  N = n;
+	  break;
+	case '.':
+	  S = n;
+	  if (sscanf(s, "%g", &f) != 1)
+	    return soap->error = SOAP_TYPE;
+	  s = NULL;
+	  continue;
+	case 'S':
+	  S = n;
+	  break;
+	default:
+	  return soap->error = SOAP_TYPE;
+      }
+      s++;
+    }
+    /* convert Y-M-D H:N:S.f to signed long long int */
+    *a = sign * ((((((((((((Y * 12) + M) * 30) + D) * 24) + H) * 60) + N) * 60) + S) * 1000) + (long)(1000.0 * f));
+  }
+  return soap->error;
+}
+
+LONG64 *soap_in_xsd__duration(struct soap *soap, const char *tag, LONG64 *a, const char *type)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":duration"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+  a = (LONG64*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_xsd__duration, sizeof(LONG64), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    a = (LONG64*)soap_id_forward(soap, soap->href, a, 0, SOAP_TYPE_xsd__duration, 0, sizeof(LONG64), 0, NULL);
+  else if (a)
+  { if (soap_s2xsd__duration(soap, soap_value(soap), a))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return a;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/custom/duration.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,72 @@
+/*
+	duration.h
+
+	Custom serializer for xsd:duration stored in a LONG64 with ms precision
+	- a LONG64 int can represent 106751991167 days forward and backward
+	- LONG64 is long long int under Unix/Linux
+	- millisecond resolution (1/1000 sec) means 1 second = 1000
+	- when adding to a time_t value, conversion may be needed since time_t
+	  may (or may) not have seconds resolution
+	- durations longer than a month are always output in days, rather than
+	  months to avoid days-per-month conversion inacurracies
+	- durations expressed in years and months are not well defined, since
+	  there is no reference starting time; the decoder assumes 30 days per
+	  month and conversion of P4M gives 120 days and therefore the duration
+	  P4M and P120D are assumed identical, while they should give different
+	  results depending on the reference starting time
+
+	#import this file into your gSOAP .h file
+
+	To automate the wsdl2h-mapping of xsd:dateTime to struct tm, add this
+	line to the typemap.dat file:
+
+	xsd__duration = #import "custom/duration.h" | xsd__duration
+
+	The typemap.dat file is used by wsdl2h to map types (wsdl2h option -t).
+
+	Compile and link your code with custom/duration.c
+
+gSOAP XML Web services tools
+Copyright (C) 2000-2009, Robert van Engelen, Genivia Inc., All Rights Reserved.
+This part of the software is released under ONE of the following licenses:
+GPL, the gSOAP public license, OR Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+gSOAP public license.
+
+The contents of this file are subject to the gSOAP Public License Version 1.3
+(the "License"); you may not use this file except in compliance with the
+License. You may obtain a copy of the License at
+http://www.cs.fsu.edu/~engelen/soaplicense.html
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the License.
+
+The Initial Developer of the Original Code is Robert A. van Engelen.
+Copyright (C) 2000-2009, Robert van Engelen, Genivia, Inc., All Rights Reserved.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+extern typedef long long xsd__duration; /* duration in ms (1/1000 sec) */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/custom/long_double.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,135 @@
+/*
+	long_double.c
+
+	Custom serializer for the long double (extended double) type as
+	xsd:decimal.
+
+	Compile this file and link it with your code.
+
+gSOAP XML Web services tools
+Copyright (C) 2000-2007, Robert van Engelen, Genivia Inc., All Rights Reserved.
+This part of the software is released under ONE of the following licenses:
+GPL, the gSOAP public license, OR Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+gSOAP public license.
+
+The contents of this file are subject to the gSOAP Public License Version 1.3
+(the "License"); you may not use this file except in compliance with the
+License. You may obtain a copy of the License at
+http://www.cs.fsu.edu/~engelen/soaplicense.html
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the License.
+
+The Initial Developer of the Original Code is Robert A. van Engelen.
+Copyright (C) 2000-2007, Robert van Engelen, Genivia, Inc., All Rights Reserved.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+/* soapH.h generated by soapcpp2: */
+#include "soapH.h"
+#include <float.h>
+
+int soap_s2decimal(struct soap *soap, const char *s, long double *p)
+{ if (s)
+  { if (!*s)
+      return soap->error = SOAP_TYPE;
+    if (!soap_tag_cmp(s, "INF"))
+      *p = (long double)DBL_PINFTY;
+    else if (!soap_tag_cmp(s, "+INF"))
+      *p = (long double)DBL_PINFTY;
+    else if (!soap_tag_cmp(s, "-INF"))
+      *p = (long double)DBL_NINFTY;
+    else if (!soap_tag_cmp(s, "NaN"))
+      *p = (long double)DBL_NAN;
+    else
+    {
+#if defined(HAVE_STRTOLD_L)
+      char *r;
+      *p = strtold_l(s, &r, NULL);
+      if (*r)
+#elif defined(HAVE_STRTOLD)
+      char *r;
+      *p = strtold(s, &r);
+      if (*r)
+#endif
+#if defined(HAVE_SSCANF_L)
+        if (sscanf_l(s, NULL, "%Lg", p) != 1)
+          soap->error = SOAP_TYPE;
+#elif defined(HAVE_SSCANF)
+        if (sscanf(s, "%Lg", p) != 1)
+          soap->error = SOAP_TYPE;
+#else
+        soap->error = SOAP_TYPE;
+#endif
+    }
+  }
+  return soap->error;
+}
+
+const char *soap_decimal2s(struct soap *soap, long double n)
+{ char *s;
+  if (soap_isnan(n))
+    return "NaN";
+  if (soap_ispinfd(n))
+    return "INF";
+  if (soap_isninfd(n))
+    return "-INF";
+  s = soap->tmpbuf;
+#if defined(HAVE_SPRINTF_L)
+  sprintf_l(s, NULL, "%.*Lg", LDBL_DIG, n);
+#else
+  sprintf(s, "%.*Lg", LDBL_DIG, n);
+  s = strchr(s, ',');   /* convert decimal comma to DP */
+  if (s)
+    *s = '.';
+#endif
+  return soap->tmpbuf;
+}
+
+int
+soap_outdecimal(struct soap *soap, const char *tag, int id, const long double *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_decimal2s(soap, *p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+
+long double *
+soap_indecimal(struct soap *soap, const char *tag, long double *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, type))
+    return NULL;
+  p = (long double*)soap_id_enter(soap, soap->id, p, t, sizeof(long double), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (long double*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(long double), 0, NULL);
+  else if (p)
+  { if (soap_s2decimal(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/custom/long_double.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,59 @@
+/*
+	long_double.h
+
+	Custom serializer for the long double (extended double) type as
+	xsd:decimal.
+
+	#import this file into your gSOAP .h file.
+
+	Add this line:
+	xsd__decimal = #import "custom/long_double.h" | long double
+	to typemap.dat to automate the mapping with wsdl2h.
+
+gSOAP XML Web services tools
+Copyright (C) 2000-2008, Robert van Engelen, Genivia Inc., All Rights Reserved.
+This part of the software is released under ONE of the following licenses:
+GPL, the gSOAP public license, OR Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+gSOAP public license.
+
+The contents of this file are subject to the gSOAP Public License Version 1.3
+(the "License"); you may not use this file except in compliance with the
+License. You may obtain a copy of the License at
+http://www.cs.fsu.edu/~engelen/soaplicense.html
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the License.
+
+The Initial Developer of the Original Code is Robert A. van Engelen.
+Copyright (C) 2000-2008, Robert van Engelen, Genivia, Inc., All Rights Reserved.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+extern int soap_s2decimal(struct soap *soap, const char *s, long double *p);
+extern const char *soap_decimal2s(struct soap *soap, long double n);
+extern int soap_outdecimal(struct soap*, const char*, int, const long double*, const char*, int);
+extern long double *soap_indecimal(struct soap*, const char*, long double*, const char*, int);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/custom/struct_timeval.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,179 @@
+/*
+	struct_timeval.c
+
+	Custom serializer for struct timeval
+
+	Compile this file and link it with your code.
+
+	Changes:
+	Feb 8, 2008: fixed local time to internal GMT conversion
+
+gSOAP XML Web services tools
+Copyright (C) 2000-2008, Robert van Engelen, Genivia Inc., All Rights Reserved.
+This part of the software is released under ONE of the following licenses:
+GPL, the gSOAP public license, OR Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+gSOAP public license.
+
+The contents of this file are subject to the gSOAP Public License Version 1.3
+(the "License"); you may not use this file except in compliance with the
+License. You may obtain a copy of the License at
+http://www.cs.fsu.edu/~engelen/soaplicense.html
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the License.
+
+The Initial Developer of the Original Code is Robert A. van Engelen.
+Copyright (C) 2000-2008, Robert van Engelen, Genivia, Inc., All Rights Reserved.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+/* soapH.h generated by soapcpp2 from .h file containing #import "struct_timeval.h": */
+#include "soapH.h"
+
+void soap_default_xsd__dateTime(struct soap *soap, struct timeval *a)
+{ memset(a, 0, sizeof(struct timeval));
+}
+
+void soap_serialize_xsd__dateTime(struct soap *soap, struct timeval const *a)
+{ }
+
+const char *soap_xsd__dateTime2s(struct soap *soap, const struct timeval a)
+{ char *s = soap->tmpbuf;
+  size_t n;
+  soap_dateTime2s(soap, a.tv_sec); /* assuming result is in tmpbuf! */
+  n = strlen(s);
+  if (s[n-1] == 'Z')
+    n--;
+  sprintf(s + n, ".%.6dZ", a.tv_usec);
+  return s;
+}
+
+int soap_out_xsd__dateTime(struct soap *soap, const char *tag, int id, const struct timeval *a, const char *type)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_xsd__dateTime), type)
+   || soap_string_out(soap, soap_xsd__dateTime2s(soap, *a), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+
+int soap_s2xsd__dateTime(struct soap *soap, const char *s, struct timeval *a)
+{ memset((void*)a, 0, sizeof(struct timeval));
+  if (s)
+  { char rest[32];
+    const char *t;
+    struct tm tm;
+    memset((void*)&tm, 0, sizeof(struct tm));
+    rest[sizeof(rest)-1] = '\0';
+    if (strchr(s, '-'))
+      t = "%d-%d-%dT%d:%d:%d%31s";
+    else if (strchr(s, ':'))
+      t = "%4d%2d%2dT%d:%d:%d%31s";
+    else /* parse non-XSD-standard alternative ISO 8601 format */
+      t = "%4d%2d%2dT%2d%2d%2d%31s";
+    if (sscanf(s, t, &tm.tm_year, &tm.tm_mon, &tm.tm_mday, &tm.tm_hour, &tm.tm_min, &tm.tm_sec, rest) < 6)
+      return soap->error = SOAP_TYPE;
+    tm.tm_wday = -1;
+    tm.tm_yday = -1;
+    if (tm.tm_year == 1)
+      tm.tm_year = 70;
+    else
+      tm.tm_year -= 1900;
+    tm.tm_mon--;
+    tm.tm_isdst = 0;
+    if (*rest)
+    { if (*rest == '.')
+      { double f = 0;
+        for (s = rest + 1; *s; s++)
+          if (*s < '0' || *s > '9')
+            break;
+	sscanf(rest, "%lg", &f);
+        a->tv_usec = (int)(f*1000000.0);
+      }
+      else
+      { s = rest;
+        a->tv_usec = 0;
+      }
+    }
+    if (*s)
+    { if (*s == '+' || *s == '-')
+      { int h = 0, m = 0;
+        if (s[3] == ':')
+        { /* +hh:mm */
+	  sscanf(s, "%d:%d", &h, &m);
+          if (h < 0)
+            m = -m;
+        }
+        else /* +hhmm */
+        { m = (int)atol(s);
+          h = m / 100;
+          m = m % 100;
+        }
+        tm.tm_hour -= h;
+        tm.tm_min -= m;
+	/* put hour and min in range */
+        tm.tm_hour += tm.tm_min / 60;
+        tm.tm_min %= 60;
+        if (tm.tm_min < 0)
+        { tm.tm_min += 60;
+	  tm.tm_hour--;
+        }
+        tm.tm_mday += tm.tm_hour / 24;
+        tm.tm_hour %= 24;
+        if (tm.tm_hour < 0)
+        { tm.tm_hour += 24;
+          tm.tm_mday--;
+        }
+	/* note: day of the month may be out of range, timegm() handles it */
+      }
+      a->tv_sec = soap_timegm(&tm);
+    }
+    else
+      a->tv_sec = mktime(&tm);
+  }
+  return soap->error;
+}
+
+struct timeval *soap_in_xsd__dateTime(struct soap *soap, const char *tag, struct timeval *a, const char *type)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":dateTime"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+  a = (struct timeval*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_xsd__dateTime, sizeof(struct timeval), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    a = (struct timeval*)soap_id_forward(soap, soap->href, a, 0, SOAP_TYPE_xsd__dateTime, 0, sizeof(struct timeval), 0, NULL);
+  else if (a)
+  { if (soap_s2xsd__dateTime(soap, soap_value(soap), a))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return a;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/custom/struct_timeval.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,66 @@
+/*
+	struct_timeval.h
+
+	Custom serializer for struct timeval
+
+	#import this file into your gSOAP .h file to enable struct timeval
+	serialization and use the serializable xsd__dateTime type.
+
+	To automate the wsdl2h-mapping of xsd:dateTime to struct timeval, add
+	this line to the typemap.dat file:
+
+	xsd__dateTime = #import "custom/struct_timeval.h" | xsd__dateTime
+
+	The typemap.dat file is used by wsdl2h to map types (wsdl2h option -t).
+
+	Link your code with struct_timeval.c
+
+gSOAP XML Web services tools
+Copyright (C) 2000-2007, Robert van Engelen, Genivia Inc., All Rights Reserved.
+This part of the software is released under ONE of the following licenses:
+GPL, the gSOAP public license, OR Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+gSOAP public license.
+
+The contents of this file are subject to the gSOAP Public License Version 1.3
+(the "License"); you may not use this file except in compliance with the
+License. You may obtain a copy of the License at
+http://www.cs.fsu.edu/~engelen/soaplicense.html
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the License.
+
+The Initial Developer of the Original Code is Robert A. van Engelen.
+Copyright (C) 2000-2007, Robert van Engelen, Genivia, Inc., All Rights Reserved.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+#include <sys/time.h>
+
+extern typedef volatile struct timeval
+{ extern long tv_sec;	// transient member: don't serialize
+  extern long tv_usec;	// transient member: don't serialize
+} xsd__dateTime;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/custom/struct_tm.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,180 @@
+/*
+	struct_tm.c
+
+	Custom serializer for <time.h> struct tm
+
+	Compile this file and link it with your code.
+
+	Changes:
+	Feb 8, 2008: fixed local time to internal GMT conversion
+
+gSOAP XML Web services tools
+Copyright (C) 2000-2008, Robert van Engelen, Genivia Inc., All Rights Reserved.
+This part of the software is released under ONE of the following licenses:
+GPL, the gSOAP public license, OR Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+gSOAP public license.
+
+The contents of this file are subject to the gSOAP Public License Version 1.3
+(the "License"); you may not use this file except in compliance with the
+License. You may obtain a copy of the License at
+http://www.cs.fsu.edu/~engelen/soaplicense.html
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the License.
+
+The Initial Developer of the Original Code is Robert A. van Engelen.
+Copyright (C) 2000-2008, Robert van Engelen, Genivia, Inc., All Rights Reserved.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+/* soapH.h generated by soapcpp2 from .h file containing #import "struct_tm.h": */
+#include "soapH.h"
+
+void soap_default_xsd__dateTime(struct soap *soap, struct tm *a)
+{ memset(a, 0, sizeof(struct tm));
+}
+
+void soap_serialize_xsd__dateTime(struct soap *soap, struct tm const *a)
+{ }
+
+const char *soap_xsd__dateTime2s(struct soap *soap, const struct tm a)
+{ strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%SZ", &a);
+  return soap->tmpbuf;
+}
+
+int soap_out_xsd__dateTime(struct soap *soap, const char *tag, int id, const struct tm *a, const char *type)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_xsd__dateTime), type)
+   || soap_string_out(soap, soap_xsd__dateTime2s(soap, *a), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+
+int soap_s2xsd__dateTime(struct soap *soap, const char *s, struct tm *a)
+{ memset((void*)a, 0, sizeof(struct tm));
+  if (s)
+  { char zone[32];
+    const char *t;
+    if (strchr(s, '-'))
+      t = "%d-%d-%dT%d:%d:%d%31s";
+    else if (strchr(s, ':'))
+      t = "%4d%2d%2dT%d:%d:%d%31s";
+    else /* parse non-XSD-standard alternative ISO 8601 format */
+      t = "%4d%2d%2dT%2d%2d%2d%31s";
+    if (sscanf(s, t, &a->tm_year, &a->tm_mon, &a->tm_mday, &a->tm_hour, &a->tm_min, &a->tm_sec, zone) < 6)
+      return soap->error = SOAP_TYPE;
+    a->tm_wday = -1;
+    a->tm_yday = -1;
+    if (a->tm_year == 1)
+      a->tm_year = 70;
+    else
+      a->tm_year -= 1900;
+    a->tm_mon--;
+    if (*zone == '.')
+    { for (s = zone + 1; *s; s++)
+        if (*s < '0' || *s > '9')
+          break;
+    }
+    else
+      s = zone;
+    if (*s)
+    { if (*s == '+' || *s == '-')
+      { int h = 0, m = 0;
+        if (s[3] == ':')
+        { /* +hh:mm */
+	  sscanf(s, "%d:%d", &h, &m);
+          if (h < 0)
+            m = -m;
+        }
+        else /* +hhmm */
+        { m = (int)atol(s);
+          h = m / 100;
+          m = m % 100;
+        }
+        a->tm_hour -= h;
+        a->tm_min -= m;
+      }
+    }
+    else /* if no time zone then convert to internal GMT without considering DST */
+    { int minuteswest;
+#if defined(HAVE_GETTIMEOFDAY)
+      struct timeval tv;
+      struct timezone tz;
+      gettimeofday(&tv, &tz);
+      minuteswest = tz.tz_minuteswest;
+#elif defined(HAVE_FTIME)
+      struct timeb tb;
+      memset((void*)&tb, 0, sizeof(tb));
+#ifdef __BORLAND__
+      ::ftime(&tb);
+#else
+      ftime(&tb);
+#endif
+      minuteswest = tb.timezone;
+#else
+      /* local timezone unknown */
+      minuteswest = 0;
+#endif
+      a->tm_min += minuteswest;
+    }
+    /* put hour and min in range */
+    a->tm_hour += a->tm_min / 60;
+    a->tm_min %= 60;
+    if (a->tm_min < 0)
+    { a->tm_min += 60;
+      a->tm_hour--;
+    }
+    a->tm_mday += a->tm_hour / 24;
+    a->tm_hour %= 24;
+    if (a->tm_hour < 0)
+    { a->tm_hour += 24;
+      a->tm_mday--;
+    }
+  }
+  return soap->error;
+}
+
+struct tm *soap_in_xsd__dateTime(struct soap *soap, const char *tag, struct tm *a, const char *type)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":dateTime"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+  a = (struct tm*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_xsd__dateTime, sizeof(struct tm), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    a = (struct tm*)soap_id_forward(soap, soap->href, a, 0, SOAP_TYPE_xsd__dateTime, 0, sizeof(struct tm), 0, NULL);
+  else if (a)
+  { if (soap_s2xsd__dateTime(soap, soap_value(soap), a))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return a;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/custom/struct_tm.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,75 @@
+/*
+	struct_tm.h
+
+	Custom serializer for <time.h> struct tm
+
+	#import this file into your gSOAP .h file to enable struct tm
+	serialization and use the serializable xsd__dateTime type.
+
+	To automate the wsdl2h-mapping of xsd:dateTime to struct tm, add this
+	line to the typemap.dat file:
+
+	xsd__dateTime = #import "custom/struct_tm.h" | xsd__dateTime
+
+	The typemap.dat file is used by wsdl2h to map types (wsdl2h option -t).
+
+	Link your code with custom/struct_tm.c
+
+gSOAP XML Web services tools
+Copyright (C) 2000-2007, Robert van Engelen, Genivia Inc., All Rights Reserved.
+This part of the software is released under ONE of the following licenses:
+GPL, the gSOAP public license, OR Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+gSOAP public license.
+
+The contents of this file are subject to the gSOAP Public License Version 1.3
+(the "License"); you may not use this file except in compliance with the
+License. You may obtain a copy of the License at
+http://www.cs.fsu.edu/~engelen/soaplicense.html
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the License.
+
+The Initial Developer of the Original Code is Robert A. van Engelen.
+Copyright (C) 2000-2007, Robert van Engelen, Genivia, Inc., All Rights Reserved.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+#include <time.h>
+
+/** externally declared, replicated here as a copy (gSOAP volatile) */
+extern typedef volatile struct tm
+{	int	tm_sec;		//< seconds (0 - 60)
+	int	tm_min;		//< minutes (0 - 59)
+	int	tm_hour;	//< hours (0 - 23)
+	int	tm_mday;	//< day of month (1 - 31)
+	int	tm_mon;		//< month of year (0 - 11)
+	int	tm_year;	//< year - 1900
+	int	tm_wday;	//< day of week (Sunday = 0)
+	int	tm_yday;	//< day of year (0 - 365)
+	int	tm_isdst;	//< is summer time in effect?
+	char*	tm_zone;	//< abbreviation of timezone (not used)
+} xsd__dateTime;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/dom.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1142 @@
+/*
+	dom.c[pp]
+
+	gSOAP DOM implementation v3
+
+gSOAP XML Web services tools
+Copyright (C) 2000-2012, Robert van Engelen, Genivia, Inc. All Rights Reserved.
+This part of the software is released under ONE of the following licenses:
+GPL, or the gSOAP public license, or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+gSOAP public license.
+
+The contents of this file are subject to the gSOAP Public License Version 1.3
+(the "License"); you may not use this file except in compliance with the
+License. You may obtain a copy of the License at
+http://www.cs.fsu.edu/~engelen/soaplicense.html
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the License.
+
+The Initial Developer of the Original Code is Robert A. van Engelen.
+Copyright (C) 2000-2012 Robert A. van Engelen, Genivia inc. All Rights Reserved.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+#include "stdsoap2.h"
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_xsd__anyType(struct soap*, struct soap_dom_element const*);
+SOAP_FMAC3 void SOAP_FMAC4 soap_traverse_xsd__anyType(struct soap*, struct soap_dom_element*, const char*, soap_walker, soap_walker);
+SOAP_FMAC1 void SOAP_FMAC2 soap_default_xsd__anyType(struct soap*, struct soap_dom_element *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_xsd__anyType(struct soap*, const struct soap_dom_element *, const char*, const char*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_out_xsd__anyType(struct soap*, const char*, int, const struct soap_dom_element *, const char*);
+SOAP_FMAC3 struct soap_dom_element * SOAP_FMAC4 soap_get_xsd__anyType(struct soap*, struct soap_dom_element *, const char*, const char*);
+SOAP_FMAC1 struct soap_dom_element * SOAP_FMAC2 soap_in_xsd__anyType(struct soap*, const char*, struct soap_dom_element *, const char*);
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_xsd__anyAttribute(struct soap*, struct soap_dom_attribute const*);
+SOAP_FMAC3 void SOAP_FMAC4 soap_traverse_xsd__anyAttribute(struct soap*, struct soap_dom_attribute*, const char*, soap_walker, soap_walker);
+SOAP_FMAC1 void SOAP_FMAC2 soap_default_xsd__anyAttribute(struct soap*, struct soap_dom_attribute *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_xsd__anyAttribute(struct soap*, const struct soap_dom_attribute *, const char*, const char*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_out_xsd__anyAttribute(struct soap*, const char*, int, const struct soap_dom_attribute *, const char*);
+SOAP_FMAC3 struct soap_dom_attribute * SOAP_FMAC4 soap_get_xsd__anyAttribute(struct soap*, struct soap_dom_attribute *, const char*, const char*);
+SOAP_FMAC1 struct soap_dom_attribute * SOAP_FMAC2 soap_in_xsd__anyAttribute(struct soap*, const char*, struct soap_dom_attribute *, const char*);
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef WITH_NOIDREF
+SOAP_FMAC1 void SOAP_FMAC2 soap_markelement(struct soap*, const void*, int);
+#endif
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_putelement(struct soap*, const void*, const char*, int, int);
+SOAP_FMAC1 void *SOAP_FMAC2 soap_getelement(struct soap*, int*);
+
+#ifdef __cplusplus
+}
+#endif
+
+/* format string for generating DOM namespace prefixes (<= 16 chars total) */
+#define SOAP_DOMID_FORMAT "dom%d"
+
+/* namespace name (URI) lookup and store routines */
+static const char *soap_lookup_ns_prefix(struct soap*, const char*);
+static const char *soap_push_ns_prefix(struct soap*, const char*, const char*, int);
+
+static int out_element(struct soap *soap, const struct soap_dom_element *node, const char *prefix, const char *name);
+static int out_attribute(struct soap *soap, const char *prefix, const char *name, const char *data, const wchar_t *wide, int flag);
+
+/******************************************************************************\
+ *
+ *	DOM custom (de)serializers
+ *
+\******************************************************************************/
+
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_serialize_xsd__anyType(struct soap *soap, const struct soap_dom_element *node)
+{ if (node)
+  { if (node->type && node->node)
+      soap_markelement(soap, node->node, node->type);
+    else
+    { const struct soap_dom_element *elt;
+      for (elt = node->elts; elt; elt = elt->next)
+        soap_serialize_xsd__anyType(soap, elt);
+    }
+  }
+}
+
+SOAP_FMAC3
+void
+SOAP_FMAC4
+soap_traverse_xsd__anyType(struct soap *soap, struct soap_dom_element *node, const char *s, soap_walker p, soap_walker q)
+{ 
+}
+
+/******************************************************************************/
+
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_serialize_xsd__anyAttribute(struct soap *soap, const struct soap_dom_attribute *node)
+{
+}
+
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_traverse_xsd__anyAttribute(struct soap *soap, struct soap_dom_attribute *node, const char *s, soap_walker p, soap_walker q)
+{
+}
+
+/******************************************************************************/
+
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_default_xsd__anyType(struct soap *soap, struct soap_dom_element *node)
+{ node->next = NULL;
+  node->prnt = NULL;
+  node->elts = NULL;
+  node->atts = NULL;
+  node->nstr = NULL;
+  node->name = NULL;
+  node->data = NULL;
+  node->wide = NULL;
+  node->node = NULL;
+  node->type = 0;
+  node->head = NULL;
+  node->tail = NULL;
+  node->soap = soap;
+}
+
+/******************************************************************************/
+
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_default_xsd__anyAttribute(struct soap *soap, struct soap_dom_attribute *node)
+{ node->next = NULL;
+  node->nstr = NULL;
+  node->name = NULL;
+  node->data = NULL;
+  node->wide = NULL;
+  node->soap = soap;
+}
+
+/******************************************************************************/
+
+static int 
+out_element(struct soap *soap, const struct soap_dom_element *node, const char *prefix, const char *name)
+{ if (node->head && soap_send(soap, node->head))
+    return soap->error;
+  if (node->type && node->node)
+  { if (prefix && *prefix)
+    { char *s = (char*)SOAP_MALLOC(soap, strlen(prefix) + strlen(name) + 2);
+      if (!s)
+        return soap->error = SOAP_EOM;
+      sprintf(s, "%s:%s", prefix, name);
+      soap_putelement(soap, node->node, s, 0, node->type);
+      SOAP_FREE(soap, s);
+    }
+    else
+      return soap_putelement(soap, node->node, name, 0, node->type);
+  }
+  else if (prefix && *prefix)
+  { char *s;
+    if (strlen(prefix) + strlen(name) < sizeof(soap->msgbuf))
+      s = soap->msgbuf;
+    else
+    { s = (char*)SOAP_MALLOC(soap, strlen(prefix) + strlen(name) + 2);
+      if (!s)
+        return soap->error = SOAP_EOM;
+    }
+    sprintf(s, "%s:%s", prefix, name);
+    soap_element(soap, s, 0, NULL); /* element() */
+    if (s != soap->msgbuf)
+      SOAP_FREE(soap, s);
+  }
+  else if (*name != '-')
+  { soap_mode m = soap->mode;
+    if ((soap->mode & SOAP_DOM_ASIS))
+      soap->mode &= ~SOAP_XML_INDENT;
+    soap_element(soap, name, 0, NULL); /* element() */
+    soap->mode = m;
+  }
+  return soap->error;
+}
+
+/******************************************************************************/
+
+static int
+out_attribute(struct soap *soap, const char *prefix, const char *name, const char *data, const wchar_t *wide, int flag)
+{ char *s;
+  const char *t;
+  int err;
+  if (wide)
+    data = soap_wchar2s(soap, wide);
+  if (!prefix || !*prefix)
+  { if (wide)
+      return soap_set_attr(soap, name, data, 2);
+    if (flag)
+      return soap_set_attr(soap, name, data, 1);
+    return soap_attribute(soap, name, data);
+  }
+  t = strchr(name, ':');
+  if (t)
+    t++;
+  else
+    t = name;
+  if (strlen(prefix) + strlen(t) < sizeof(soap->msgbuf))
+    s = soap->msgbuf;
+  else
+  { s = (char*)SOAP_MALLOC(soap, strlen(prefix) + strlen(t) + 2);
+    if (!s)
+      return soap->error = SOAP_EOM;
+  } 
+  sprintf(s, "%s:%s", prefix, t);
+  if (wide)
+    err = soap_set_attr(soap, s, data, 2);
+  else if (flag)
+    err = soap_set_attr(soap, s, data, 1);
+  else
+    err = soap_attribute(soap, s, data);
+  if (s != soap->msgbuf)
+    SOAP_FREE(soap, s);
+  return err;
+}
+
+/******************************************************************************/
+
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_out_xsd__anyType(struct soap *soap, const char *tag, int id, const struct soap_dom_element *node, const char *type)
+{ if (node)
+  { const char *prefix; /* namespace prefix, if namespace is present */
+    size_t colon;
+    if (!(soap->mode & SOAP_DOM_ASIS))
+    { const struct soap_dom_attribute *att;
+      for (att = node->atts; att; att = att->next)
+      { if (att->name && att->data && !strncmp(att->name, "xmlns:", 6))
+	{ if (soap_push_namespace(soap, att->name + 6, att->data) == NULL)
+            return soap->error;
+	}
+        else if (att->name && att->data && !strcmp(att->name, "xmlns"))
+	{ if (soap_push_namespace(soap, "", att->data) == NULL)
+            return soap->error;
+	}
+      }
+    }
+    if (node->name)
+      tag = node->name;
+    else if (!tag)
+      tag = "-";
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM node '%s' output at level %u\n", tag, soap->level));
+    if ((prefix = strchr(tag, ':')))
+    { colon = prefix - tag + 1;
+      if (colon > sizeof(soap->tag))
+        colon = sizeof(soap->tag);
+    }
+    else
+      colon = 0;
+    prefix = NULL;
+    if (node->nstr && *node->nstr && !(soap->mode & SOAP_DOM_ASIS))
+    { if (colon)
+      { strncpy(soap->tag, tag, colon - 1);
+        soap->tag[colon - 1] = '\0';
+        if ((prefix = soap_push_ns_prefix(soap, soap->tag, node->nstr, 1)) == NULL
+         || out_element(soap, node, prefix, tag + colon))
+          return soap->error;
+      }
+      else
+      { if ((prefix = soap_lookup_ns_prefix(soap, node->nstr)))
+        { if (out_element(soap, node, prefix, tag + colon))
+            return soap->error;
+        }
+        else
+	{ if ((prefix = soap_push_ns_prefix(soap, NULL, node->nstr, 1)) == NULL
+           || out_element(soap, node, prefix, tag + colon))
+            return soap->error;
+        }
+      }
+    }
+    else
+    { colon = 0;
+      if (out_element(soap, node, NULL, tag))
+        return soap->error;
+    }
+    if (!node->type || !node->node)
+    { struct soap_dom_attribute *att;
+      struct soap_dom_element *elt;
+      for (att = node->atts; att; att = att->next)
+      { if (att->name)
+        { if (att->nstr && !(soap->mode & SOAP_DOM_ASIS))
+          { const char *p;
+            if ((att->nstr == node->nstr || (node->nstr && !strcmp(att->nstr, node->nstr))) && prefix)
+	    { if (out_attribute(soap, prefix, att->name, att->data, att->wide, 0))
+	        return soap->error;
+	    }
+	    else if ((p = soap_lookup_ns_prefix(soap, att->nstr)))
+	    { if (out_attribute(soap, p, att->name, att->data, att->wide, 0))
+	        return soap->error;
+	    }
+	    else if (!strncmp(att->name, "xml", 3))
+	    { if (out_attribute(soap, NULL, att->name, att->data, att->wide, 0))
+                return soap->error;
+	    }
+	    else if ((p = soap_push_ns_prefix(soap, NULL, att->nstr, 0)) == NULL
+	          || out_attribute(soap, p, att->name, att->data, att->wide, 0))
+              return soap->error;
+          }
+	  else if (soap_attribute(soap, att->name, att->wide ? soap_wchar2s(soap, att->wide) : att->data))
+            return soap->error;
+        }
+      }
+      if ((soap->mode & SOAP_DOM_ASIS) && !node->data && !node->wide && !node->elts && !node->tail)
+      { soap_mode m = soap->mode;
+        soap->mode &= ~SOAP_XML_INDENT;
+	if (*tag != '-' && soap_element_start_end_out(soap, tag))
+          return soap->error;
+        soap->mode = m;
+      }
+      else
+      { if (*tag != '-' && soap_element_start_end_out(soap, NULL))
+          return soap->error;
+        if (*tag != '-' && node->data)
+        { if (soap_string_out(soap, node->data, 0))
+            return soap->error;
+        }
+        else if (node->data)
+        { if (soap_send(soap, node->data))
+            return soap->error;
+        }
+        else if (node->wide)
+        { if (soap_wstring_out(soap, node->wide, 0))
+            return soap->error;
+        }
+        for (elt = node->elts; elt; elt = elt->next)
+        { if (soap_out_xsd__anyType(soap, NULL, 0, elt, NULL))
+            return soap->error;
+        }
+        if (node->tail && soap_send(soap, node->tail))
+          return soap->error;
+        if (!prefix || !*prefix)
+        { soap_mode m = soap->mode;
+	  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "End of DOM node '%s'\n", tag + colon));
+          if ((soap->mode & SOAP_DOM_ASIS))
+	    soap->mode &= ~SOAP_XML_INDENT;
+          if (soap_element_end_out(soap, tag + colon))
+            return soap->error;
+	  soap->mode = m;
+        }
+        else
+        { char *s;
+          if (strlen(prefix) + strlen(tag + colon) < sizeof(soap->msgbuf))
+	    s = soap->msgbuf;
+	  else
+	  { s = (char*)SOAP_MALLOC(soap, strlen(prefix) + strlen(tag + colon) + 2);
+            if (!s)
+              return soap->error = SOAP_EOM;
+	  }
+          DBGLOG(TEST, SOAP_MESSAGE(fdebug, "End of DOM node '%s'\n", tag));
+	  sprintf(s, "%s:%s", prefix, tag + colon);
+	  soap_pop_namespace(soap);
+          if (soap_element_end_out(soap, s))
+            return soap->error;
+          if (s != soap->msgbuf)
+	    SOAP_FREE(soap, s);
+        }
+      }
+    }
+  }
+  return SOAP_OK;
+}
+
+/******************************************************************************/
+
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_out_xsd__anyAttribute(struct soap *soap, const char *tag, int id, const struct soap_dom_attribute *node, const char *type)
+{ if (!(soap->mode & SOAP_DOM_ASIS))
+  { const struct soap_dom_attribute *att;
+    for (att = node; att; att = att->next)
+    { if (att->name && att->data && !strncmp(att->name, "xmlns:", 6))
+      { if (soap_push_namespace(soap, att->name + 6, att->data) == NULL)
+          return soap->error;
+      }
+      else if (att->name && att->data && !strcmp(att->name, "xmlns"))
+      { if (soap_push_namespace(soap, "", att->data) == NULL)
+          return soap->error;
+      }
+    }
+  }
+  while (node)
+  { if (node->name)
+    { if (node->nstr && !(soap->mode & SOAP_DOM_ASIS) && strncmp(node->name, "xml", 3) && !strchr(node->name, ':'))
+      { const char *p;
+        p = soap_lookup_ns_prefix(soap, node->nstr);
+	if (!p && !(p = soap_push_ns_prefix(soap, NULL, node->nstr, 1)))
+          return soap->error;
+        if (out_attribute(soap, p, node->name, node->data, node->wide, 1))
+          return soap->error;
+      }
+      else
+        out_attribute(soap, NULL, node->name, node->data, node->wide, 1);
+    }
+    node = node->next;
+  }
+  return SOAP_OK;
+}
+
+/******************************************************************************/
+
+SOAP_FMAC1
+struct soap_dom_element *
+SOAP_FMAC2
+soap_in_xsd__anyType(struct soap *soap, const char *tag, struct soap_dom_element *node, const char *type)
+{ register struct soap_attribute *tp;
+  register struct soap_dom_attribute **att;
+  if (soap_peek_element(soap))
+  { if (soap->error != SOAP_NO_TAG)
+      return NULL;
+    if (!node)
+    { if (!(node = (struct soap_dom_element*)soap_malloc(soap, sizeof(struct soap_dom_element))))
+      { soap->error = SOAP_EOM;
+        return NULL;
+      }
+    }
+    soap_default_xsd__anyType(soap, node);
+    if (!(node->data = soap_string_in(soap, 1, -1, -1)) || !*node->data)
+      return NULL;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM node with cdata\n"));
+    soap->error = SOAP_OK;
+    return node;
+  }
+  if (!node)
+  { if (!(node = (struct soap_dom_element*)soap_malloc(soap, sizeof(struct soap_dom_element))))
+    { soap->error = SOAP_EOM;
+      return NULL;
+    }
+  }
+  soap_default_xsd__anyType(soap, node);
+  node->nstr = soap_current_namespace(soap, soap->tag);
+  if ((soap->mode & SOAP_DOM_ASIS))
+    node->name = soap_strdup(soap, soap->tag);
+  else
+  { char *s = strchr(soap->tag, ':');
+    if (s)
+      node->name = soap_strdup(soap, s+1);
+    else
+      node->name = soap_strdup(soap, soap->tag);
+  }
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM node '%s' start xmlns='%s'\n", node->name, node->nstr?node->nstr:""));
+  if ((soap->mode & SOAP_DOM_NODE) || (!(soap->mode & SOAP_DOM_TREE) && *soap->id))
+  { if ((node->node = soap_getelement(soap, &node->type)) && node->type)
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM node contains type %d from xsi:type\n", node->type));
+      return node;
+    }
+    if (soap->error == SOAP_TAG_MISMATCH)
+      soap->error = SOAP_OK;
+    else
+      return NULL;
+  }
+  att = &node->atts;
+  for (tp = soap->attributes; tp; tp = tp->next)
+  { if (tp->visible)
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM node attribute='%s'\n", tp->name));
+      *att = (struct soap_dom_attribute*)soap_malloc(soap, sizeof(struct soap_dom_attribute));
+      if (!*att)
+      { soap->error = SOAP_EOM;
+        return NULL;
+      }
+      (*att)->next = NULL;
+      (*att)->nstr = soap_current_namespace(soap, tp->name);
+      if ((soap->mode & SOAP_DOM_ASIS) || !strncmp(tp->name, "xml", 3))
+        (*att)->name = soap_strdup(soap, tp->name);
+      else
+      { char *s = strchr(tp->name, ':');
+        if (s)
+          (*att)->name = soap_strdup(soap, s+1);
+        else
+          (*att)->name = soap_strdup(soap, tp->name);
+      }
+      if (tp->visible == 2)
+        (*att)->data = soap_strdup(soap, tp->value);
+      else
+        (*att)->data = NULL;
+      (*att)->wide = NULL;
+      (*att)->soap = soap;
+      att = &(*att)->next;
+      tp->visible = 0;
+    }
+  }
+  soap_element_begin_in(soap, NULL, 1, NULL);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM node '%s' pulled\n", node->name));
+  if (soap->body)
+  { if (!soap_peek_element(soap))
+    { struct soap_dom_element **elt;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM node '%s' has subelements\n", node->name));
+      elt = &node->elts;
+      for (;;)
+      { if (!(*elt = soap_in_xsd__anyType(soap, NULL, NULL, NULL)))
+        { if (soap->error != SOAP_NO_TAG)
+            return NULL;
+          soap->error = SOAP_OK;
+          break;
+        }
+	(*elt)->prnt = node;
+        elt = &(*elt)->next;
+      }
+    }
+    else if (soap->error == SOAP_NO_TAG)
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM node '%s' has cdata\n", node->name));
+      if ((soap->mode & SOAP_C_UTFSTRING) || (soap->mode & SOAP_C_MBSTRING))
+      { if (!(node->data = soap_string_in(soap, 1, -1, -1)))
+          return NULL;
+      }
+      else if (!(node->wide = soap_wstring_in(soap, 1, -1, -1)))
+        return NULL;
+    }
+    else
+      return NULL;
+    if (soap_element_end_in(soap, node->name))
+      return NULL;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM node end '%s'\n", node->name));
+  }
+  return node;
+}
+
+/******************************************************************************/
+
+SOAP_FMAC1
+struct soap_dom_attribute *
+SOAP_FMAC2
+soap_in_xsd__anyAttribute(struct soap *soap, const char *tag, struct soap_dom_attribute *node, const char *type)
+{ register struct soap_attribute *tp;
+  struct soap_dom_attribute *tmp = node;
+  struct soap_dom_attribute *att = node;
+  for (tp = soap->attributes; tp; tp = tp->next)
+  { if (tp->visible)
+    { if (!att)
+      { att = (struct soap_dom_attribute*)soap_malloc(soap, sizeof(struct soap_dom_attribute));
+        if (tmp)
+	  tmp->next = att;
+	else
+	  node = att;
+        tmp = att;
+      }
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM node attribute='%s'\n", tp->name));
+      if (!att)
+      { soap->error = SOAP_EOM;
+        return NULL;
+      }
+      att->next = NULL;
+      att->nstr = soap_current_namespace(soap, tp->name);
+      if ((soap->mode & SOAP_DOM_ASIS) || !strncmp(tp->name, "xml", 3))
+        att->name = soap_strdup(soap, tp->name);
+      else
+      { char *s = strchr(tp->name, ':');
+        if (s)
+          att->name = soap_strdup(soap, s+1);
+	else
+          att->name = soap_strdup(soap, tp->name);
+      }
+      if (tp->visible == 2)
+        att->data = soap_strdup(soap, tp->value);
+      else
+        att->data = NULL;
+      att->wide = NULL;
+      att->soap = soap;
+      att = NULL;
+    }
+  }
+  return node;
+}
+
+/******************************************************************************\
+ *
+ *	DOM traversing
+ *
+\******************************************************************************/
+
+SOAP_FMAC1
+struct soap_dom_element *
+SOAP_FMAC2
+soap_dom_next_element(struct soap_dom_element *elt)
+{ if (elt->elts)
+    return elt->elts;
+  if (elt->next)
+    return elt->next;
+  do elt = elt->prnt;
+  while (elt && !elt->next);
+  if (elt)
+    elt = elt->next;
+  return elt;
+}
+
+/******************************************************************************/
+
+struct soap_dom_attribute *
+soap_dom_next_attribute(struct soap_dom_attribute *att)
+{ return att->next;
+}
+
+/******************************************************************************\
+ *
+ *	Namespace prefix lookup/store
+ *
+\******************************************************************************/
+
+static const char *
+soap_lookup_ns_prefix(struct soap *soap, const char *ns)
+{ register struct soap_nlist *np;
+  for (np = soap->nlist; np; np = np->next)
+  { if (np->ns && !strcmp(np->ns, ns)) 
+      return np->id;
+  }
+  return NULL;
+}
+
+/******************************************************************************/
+
+static const char *
+soap_push_ns_prefix(struct soap *soap, const char *id, const char *ns, int flag)
+{ register struct soap_nlist *np;
+  if (!id)
+  { struct Namespace *n;
+    for (n = soap->local_namespaces; n && n->id; n++)
+    { if (n->ns && !strcmp(n->ns, ns))
+      { id = n->id;
+        break;
+      }
+    }
+    if (!id)
+    { sprintf(soap->tag, SOAP_DOMID_FORMAT, soap->idnum++);
+      id = soap->tag;
+    }
+  }
+  /* fix advance generation of xmlns, when element (level) is not output yet */
+  if (flag)
+    soap->level++;
+  np = soap_push_namespace(soap, id, ns);
+  if (flag)
+    soap->level--;
+  if (!np)
+    return NULL;
+  if (!np->ns)
+  { np->ns = soap->local_namespaces[np->index].out;
+    if (!np->ns)
+      np->ns = soap->local_namespaces[np->index].ns;
+  }
+  np->index = 0; /* for C14N utilized mark */
+  if (*np->id)
+  { sprintf(soap->msgbuf, "xmlns:%s", np->id);
+    out_attribute(soap, NULL, soap->msgbuf, ns, NULL, flag);
+  }
+  else
+    out_attribute(soap, NULL, "xmlns", ns, NULL, flag);
+  return np->id;
+}
+
+#ifdef __cplusplus
+
+/******************************************************************************\
+ *
+ *	soap_dom_element class
+ *
+\******************************************************************************/
+
+soap_dom_element::soap_dom_element()
+{ soap_default_xsd__anyType(NULL, this);
+}
+
+/******************************************************************************/
+
+soap_dom_element::soap_dom_element(struct soap *soap)
+{ soap_default_xsd__anyType(soap, this);
+}
+
+/******************************************************************************/
+
+soap_dom_element::soap_dom_element(struct soap *soap, const char *nstr, const char *name)
+{ soap_default_xsd__anyType(soap, this);
+  this->nstr = soap_strdup(soap, nstr);
+  this->name = soap_strdup(soap, name);
+}
+
+/******************************************************************************/
+
+soap_dom_element::soap_dom_element(struct soap *soap, const char *nstr, const char *name, const char *data)
+{ soap_default_xsd__anyType(soap, this);
+  this->nstr = soap_strdup(soap, nstr);
+  this->name = soap_strdup(soap, name);
+  this->data = soap_strdup(soap, data);
+}
+
+/******************************************************************************/
+
+soap_dom_element::soap_dom_element(struct soap *soap, const char *nstr, const char *name, void *node, int type)
+{ soap_default_xsd__anyType(soap, this);
+  this->nstr = soap_strdup(soap, nstr);
+  this->name = soap_strdup(soap, name);
+  this->node = node;
+  this->type = type;
+}
+
+/******************************************************************************/
+
+soap_dom_element::~soap_dom_element()
+{ }
+
+/******************************************************************************/
+
+soap_dom_element &soap_dom_element::set(const char *nstr, const char *name)
+{ this->nstr = soap_strdup(soap, nstr);
+  this->name = soap_strdup(soap, name);
+  return *this;
+}
+
+/******************************************************************************/
+
+soap_dom_element &soap_dom_element::set(const char *data)
+{ this->data = soap_strdup(soap, data);
+  return *this;
+}
+
+/******************************************************************************/
+
+soap_dom_element &soap_dom_element::set(void *node, int type)
+{ this->node = node;
+  this->type = type;
+  return *this;
+}
+
+/******************************************************************************/
+
+soap_dom_element &soap_dom_element::add(struct soap_dom_element *elt)
+{ elt->prnt = this;
+  for (struct soap_dom_element *e = elts; e; e = e->next)
+  { if (!e->next)
+    { e->next = elt;
+      return *this;
+    }
+  }
+  elts = elt;
+  return *this;
+}
+
+/******************************************************************************/
+
+soap_dom_element &soap_dom_element::add(struct soap_dom_element &elt)
+{ return add(&elt);
+}
+
+/******************************************************************************/
+
+soap_dom_element &soap_dom_element::add(struct soap_dom_attribute *att)
+{ for (struct soap_dom_attribute *a = atts; a; a = a->next)
+  { if (!a->next)
+    { a->next = att;
+      return *this;
+    }
+  }
+  atts = att;
+  return *this;
+}
+
+/******************************************************************************/
+
+soap_dom_element &soap_dom_element::add(struct soap_dom_attribute &att)
+{ return add(&att);
+}
+
+/******************************************************************************/
+
+soap_dom_element_iterator soap_dom_element::begin()
+{ soap_dom_element_iterator iter(this);
+  return iter;
+}
+
+/******************************************************************************/
+
+soap_dom_element_iterator soap_dom_element::end()
+{ soap_dom_element_iterator iter(NULL);
+  return iter;
+}
+
+/******************************************************************************/
+
+soap_dom_element_iterator soap_dom_element::find(const char *nstr, const char *name)
+{ soap_dom_element_iterator iter(this);
+  iter.nstr = nstr;
+  iter.name = name;
+  if (name && soap_tag_cmp(this->name, name))
+    return ++iter;
+  if (nstr && this->nstr && soap_tag_cmp(this->nstr, nstr))
+    return ++iter;
+  return iter;
+}
+
+/******************************************************************************/
+
+soap_dom_element_iterator soap_dom_element::find(int type)
+{ soap_dom_element_iterator iter(this);
+  iter.type = type;
+  if (this->type != type)
+    return ++iter;
+  return iter;
+}
+
+/******************************************************************************/
+
+void soap_dom_element::unlink()
+{ soap_unlink(soap, this);
+  soap_unlink(soap, nstr);
+  soap_unlink(soap, name);
+  soap_unlink(soap, data);
+  soap_unlink(soap, wide);
+  if (elts)
+    elts->unlink();
+  if (atts)
+    atts->unlink();
+  if (next)
+    next->unlink();
+  node = NULL;
+  type = 0;
+}
+
+/******************************************************************************\
+ *
+ *	soap_dom_attribute class
+ *
+\******************************************************************************/
+
+soap_dom_attribute::soap_dom_attribute()
+{ this->soap = NULL;
+  this->next = NULL;
+  this->nstr = NULL;
+  this->name = NULL;
+  this->data = NULL;
+  this->wide = NULL;
+}
+
+/******************************************************************************/
+
+soap_dom_attribute::soap_dom_attribute(struct soap *soap)
+{ this->soap = soap;
+  this->next = NULL;
+  this->nstr = NULL;
+  this->name = NULL;
+  this->data = NULL;
+  this->wide = NULL;
+}
+
+/******************************************************************************/
+
+soap_dom_attribute::soap_dom_attribute(struct soap *soap, const char *nstr, const char *name, const char *data)
+{ this->soap = soap;
+  this->next = NULL;
+  this->nstr = soap_strdup(soap, nstr);
+  this->name = soap_strdup(soap, name);
+  this->data = soap_strdup(soap, data);
+  this->wide = NULL;
+}
+
+/******************************************************************************/
+
+soap_dom_attribute::~soap_dom_attribute()
+{ }
+
+/******************************************************************************/
+
+soap_dom_attribute &soap_dom_attribute::set(const char *nstr, const char *name)
+{ this->nstr = soap_strdup(soap, nstr);
+  this->name = soap_strdup(soap, name);
+  return *this;
+}
+
+/******************************************************************************/
+
+soap_dom_attribute &soap_dom_attribute::set(const char *data)
+{ this->data = soap_strdup(soap, data);
+  return *this;
+}
+
+/******************************************************************************/
+
+soap_dom_attribute_iterator soap_dom_attribute::begin()
+{ soap_dom_attribute_iterator iter(this);
+  return iter;
+}
+
+/******************************************************************************/
+
+soap_dom_attribute_iterator soap_dom_attribute::end()
+{ soap_dom_attribute_iterator iter(NULL);
+  return iter;
+}
+
+/******************************************************************************/
+
+soap_dom_attribute_iterator soap_dom_attribute::find(const char *nstr, const char *name)
+{ soap_dom_attribute_iterator iter(this);
+  iter.nstr = nstr;
+  iter.name = name;
+  if (name && soap_tag_cmp(this->name, name))
+    return ++iter;
+  if (nstr && this->nstr && soap_tag_cmp(this->nstr, nstr))
+    return ++iter;
+  return iter;
+}
+
+/******************************************************************************/
+
+void soap_dom_attribute::unlink()
+{ soap_unlink(soap, this);
+  soap_unlink(soap, nstr);
+  soap_unlink(soap, name);
+  soap_unlink(soap, data);
+  soap_unlink(soap, wide);
+  if (next)
+    next->unlink();
+}
+
+/******************************************************************************\
+ *
+ *	soap_dom_element_iterator class
+ *
+\******************************************************************************/
+
+soap_dom_element_iterator::soap_dom_element_iterator()
+{ elt = NULL;
+  nstr = NULL;
+  name = NULL;
+  type = 0;
+}
+
+/******************************************************************************/
+
+soap_dom_element_iterator::soap_dom_element_iterator(struct soap_dom_element *elt)
+{ this->elt = elt;
+  nstr = NULL;
+  name = NULL;
+  type = 0;
+}
+
+/******************************************************************************/
+
+soap_dom_element_iterator::~soap_dom_element_iterator()
+{ }
+
+/******************************************************************************/
+
+bool soap_dom_element_iterator::operator==(const soap_dom_element_iterator &iter) const
+{ return this->elt == iter.elt;
+}
+
+/******************************************************************************/
+
+bool soap_dom_element_iterator::operator!=(const soap_dom_element_iterator &iter) const
+{ return this->elt != iter.elt;
+}
+
+/******************************************************************************/
+
+struct soap_dom_element &soap_dom_element_iterator::operator*() const
+{ return *this->elt;
+}
+
+/******************************************************************************/
+
+soap_dom_element_iterator &soap_dom_element_iterator::operator++()
+{ while (elt)
+  { elt = soap_dom_next_element(elt);
+    if (!elt)
+      break;
+    if (name && elt->name)
+    { if (!soap_tag_cmp(elt->name, name))
+      { if (nstr && elt->nstr)
+        { if (!soap_tag_cmp(elt->nstr, nstr))
+	    break;
+        }
+        else
+          break;
+      }
+    }
+    else if (type)
+    { if (elt->type == type)
+        break;
+    }
+    else
+      break;
+  }
+  return *this;
+}
+
+/******************************************************************************\
+ *
+ *	soap_dom_attribute_iterator class
+ *
+\******************************************************************************/
+
+soap_dom_attribute_iterator::soap_dom_attribute_iterator()
+{ att = NULL;
+  nstr = NULL;
+  name = NULL;
+}
+
+/******************************************************************************/
+
+soap_dom_attribute_iterator::soap_dom_attribute_iterator(struct soap_dom_attribute *att)
+{ this->att = att;
+  nstr = NULL;
+  name = NULL;
+}
+
+/******************************************************************************/
+
+soap_dom_attribute_iterator::~soap_dom_attribute_iterator()
+{ }
+
+/******************************************************************************/
+
+bool soap_dom_attribute_iterator::operator==(const soap_dom_attribute_iterator &iter) const
+{ return this->att == iter.att;
+}
+
+/******************************************************************************/
+
+bool soap_dom_attribute_iterator::operator!=(const soap_dom_attribute_iterator &iter) const
+{ return this->att != iter.att;
+}
+
+/******************************************************************************/
+
+struct soap_dom_attribute &soap_dom_attribute_iterator::operator*() const
+{ return *this->att;
+}
+
+/******************************************************************************/
+
+soap_dom_attribute_iterator &soap_dom_attribute_iterator::operator++()
+{ while (att)
+  { att = soap_dom_next_attribute(att);
+    if (!att)
+      break;
+    if (name && att->name)
+    { if (!soap_tag_cmp(att->name, name))
+      { if (nstr && att->nstr)
+        { if (!soap_tag_cmp(att->nstr, nstr))
+	    break;
+        }
+        else
+          break;
+      }
+    }
+    else
+      break;
+  }
+  return *this;
+}
+
+/******************************************************************************\
+ *
+ *	I/O
+ *
+\******************************************************************************/
+
+#ifndef UNDER_CE
+
+std::ostream &operator<<(std::ostream &o, const struct soap_dom_element &e)
+{ if (!e.soap)
+  { struct soap soap;
+    soap_init2(&soap, SOAP_IO_DEFAULT, SOAP_XML_GRAPH);
+    soap_serialize_xsd__anyType(&soap, &e);
+    soap_begin_send(&soap);
+    soap.ns = 2; /* do not dump namespace table */
+    soap_out_xsd__anyType(&soap, NULL, 0, &e, NULL);
+    soap_end_send(&soap);
+    soap_end(&soap);
+    soap_done(&soap);
+  }
+  else
+  { std::ostream *os = e.soap->os;
+    e.soap->os = &o;
+    soap_mode omode = e.soap->omode;
+    soap_set_omode(e.soap, SOAP_XML_GRAPH);
+    soap_serialize_xsd__anyType(e.soap, &e);
+    soap_begin_send(e.soap);
+    e.soap->ns = 2; /* do not dump namespace table */
+    soap_out_xsd__anyType(e.soap, NULL, 0, &e, NULL);
+    soap_end_send(e.soap);
+    e.soap->os = os;
+    e.soap->omode = omode;
+  }
+  return o;
+}
+
+/******************************************************************************/
+
+std::istream &operator>>(std::istream &i, struct soap_dom_element &e)
+{ if (!e.soap)
+    e.soap = soap_new();
+  std::istream *is = e.soap->is;
+  e.soap->is = &i;
+  if (soap_begin_recv(e.soap)
+   || !soap_in_xsd__anyType(e.soap, NULL, &e, NULL)
+   || soap_end_recv(e.soap))
+  { /* handle error? Note: e.soap->error is set and app should check */
+  }
+  e.soap->is = is;
+  return i;
+}
+
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/dom.cpp	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1142 @@
+/*
+	dom.c[pp]
+
+	gSOAP DOM implementation v3
+
+gSOAP XML Web services tools
+Copyright (C) 2000-2012, Robert van Engelen, Genivia, Inc. All Rights Reserved.
+This part of the software is released under ONE of the following licenses:
+GPL, or the gSOAP public license, or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+gSOAP public license.
+
+The contents of this file are subject to the gSOAP Public License Version 1.3
+(the "License"); you may not use this file except in compliance with the
+License. You may obtain a copy of the License at
+http://www.cs.fsu.edu/~engelen/soaplicense.html
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the License.
+
+The Initial Developer of the Original Code is Robert A. van Engelen.
+Copyright (C) 2000-2012 Robert A. van Engelen, Genivia inc. All Rights Reserved.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+#include "stdsoap2.h"
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_xsd__anyType(struct soap*, struct soap_dom_element const*);
+SOAP_FMAC3 void SOAP_FMAC4 soap_traverse_xsd__anyType(struct soap*, struct soap_dom_element*, const char*, soap_walker, soap_walker);
+SOAP_FMAC1 void SOAP_FMAC2 soap_default_xsd__anyType(struct soap*, struct soap_dom_element *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_xsd__anyType(struct soap*, const struct soap_dom_element *, const char*, const char*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_out_xsd__anyType(struct soap*, const char*, int, const struct soap_dom_element *, const char*);
+SOAP_FMAC3 struct soap_dom_element * SOAP_FMAC4 soap_get_xsd__anyType(struct soap*, struct soap_dom_element *, const char*, const char*);
+SOAP_FMAC1 struct soap_dom_element * SOAP_FMAC2 soap_in_xsd__anyType(struct soap*, const char*, struct soap_dom_element *, const char*);
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_xsd__anyAttribute(struct soap*, struct soap_dom_attribute const*);
+SOAP_FMAC3 void SOAP_FMAC4 soap_traverse_xsd__anyAttribute(struct soap*, struct soap_dom_attribute*, const char*, soap_walker, soap_walker);
+SOAP_FMAC1 void SOAP_FMAC2 soap_default_xsd__anyAttribute(struct soap*, struct soap_dom_attribute *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_xsd__anyAttribute(struct soap*, const struct soap_dom_attribute *, const char*, const char*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_out_xsd__anyAttribute(struct soap*, const char*, int, const struct soap_dom_attribute *, const char*);
+SOAP_FMAC3 struct soap_dom_attribute * SOAP_FMAC4 soap_get_xsd__anyAttribute(struct soap*, struct soap_dom_attribute *, const char*, const char*);
+SOAP_FMAC1 struct soap_dom_attribute * SOAP_FMAC2 soap_in_xsd__anyAttribute(struct soap*, const char*, struct soap_dom_attribute *, const char*);
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef WITH_NOIDREF
+SOAP_FMAC1 void SOAP_FMAC2 soap_markelement(struct soap*, const void*, int);
+#endif
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_putelement(struct soap*, const void*, const char*, int, int);
+SOAP_FMAC1 void *SOAP_FMAC2 soap_getelement(struct soap*, int*);
+
+#ifdef __cplusplus
+}
+#endif
+
+/* format string for generating DOM namespace prefixes (<= 16 chars total) */
+#define SOAP_DOMID_FORMAT "dom%d"
+
+/* namespace name (URI) lookup and store routines */
+static const char *soap_lookup_ns_prefix(struct soap*, const char*);
+static const char *soap_push_ns_prefix(struct soap*, const char*, const char*, int);
+
+static int out_element(struct soap *soap, const struct soap_dom_element *node, const char *prefix, const char *name);
+static int out_attribute(struct soap *soap, const char *prefix, const char *name, const char *data, const wchar_t *wide, int flag);
+
+/******************************************************************************\
+ *
+ *	DOM custom (de)serializers
+ *
+\******************************************************************************/
+
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_serialize_xsd__anyType(struct soap *soap, const struct soap_dom_element *node)
+{ if (node)
+  { if (node->type && node->node)
+      soap_markelement(soap, node->node, node->type);
+    else
+    { const struct soap_dom_element *elt;
+      for (elt = node->elts; elt; elt = elt->next)
+        soap_serialize_xsd__anyType(soap, elt);
+    }
+  }
+}
+
+SOAP_FMAC3
+void
+SOAP_FMAC4
+soap_traverse_xsd__anyType(struct soap *soap, struct soap_dom_element *node, const char *s, soap_walker p, soap_walker q)
+{ 
+}
+
+/******************************************************************************/
+
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_serialize_xsd__anyAttribute(struct soap *soap, const struct soap_dom_attribute *node)
+{
+}
+
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_traverse_xsd__anyAttribute(struct soap *soap, struct soap_dom_attribute *node, const char *s, soap_walker p, soap_walker q)
+{
+}
+
+/******************************************************************************/
+
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_default_xsd__anyType(struct soap *soap, struct soap_dom_element *node)
+{ node->next = NULL;
+  node->prnt = NULL;
+  node->elts = NULL;
+  node->atts = NULL;
+  node->nstr = NULL;
+  node->name = NULL;
+  node->data = NULL;
+  node->wide = NULL;
+  node->node = NULL;
+  node->type = 0;
+  node->head = NULL;
+  node->tail = NULL;
+  node->soap = soap;
+}
+
+/******************************************************************************/
+
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_default_xsd__anyAttribute(struct soap *soap, struct soap_dom_attribute *node)
+{ node->next = NULL;
+  node->nstr = NULL;
+  node->name = NULL;
+  node->data = NULL;
+  node->wide = NULL;
+  node->soap = soap;
+}
+
+/******************************************************************************/
+
+static int 
+out_element(struct soap *soap, const struct soap_dom_element *node, const char *prefix, const char *name)
+{ if (node->head && soap_send(soap, node->head))
+    return soap->error;
+  if (node->type && node->node)
+  { if (prefix && *prefix)
+    { char *s = (char*)SOAP_MALLOC(soap, strlen(prefix) + strlen(name) + 2);
+      if (!s)
+        return soap->error = SOAP_EOM;
+      sprintf(s, "%s:%s", prefix, name);
+      soap_putelement(soap, node->node, s, 0, node->type);
+      SOAP_FREE(soap, s);
+    }
+    else
+      return soap_putelement(soap, node->node, name, 0, node->type);
+  }
+  else if (prefix && *prefix)
+  { char *s;
+    if (strlen(prefix) + strlen(name) < sizeof(soap->msgbuf))
+      s = soap->msgbuf;
+    else
+    { s = (char*)SOAP_MALLOC(soap, strlen(prefix) + strlen(name) + 2);
+      if (!s)
+        return soap->error = SOAP_EOM;
+    }
+    sprintf(s, "%s:%s", prefix, name);
+    soap_element(soap, s, 0, NULL); /* element() */
+    if (s != soap->msgbuf)
+      SOAP_FREE(soap, s);
+  }
+  else if (*name != '-')
+  { soap_mode m = soap->mode;
+    if ((soap->mode & SOAP_DOM_ASIS))
+      soap->mode &= ~SOAP_XML_INDENT;
+    soap_element(soap, name, 0, NULL); /* element() */
+    soap->mode = m;
+  }
+  return soap->error;
+}
+
+/******************************************************************************/
+
+static int
+out_attribute(struct soap *soap, const char *prefix, const char *name, const char *data, const wchar_t *wide, int flag)
+{ char *s;
+  const char *t;
+  int err;
+  if (wide)
+    data = soap_wchar2s(soap, wide);
+  if (!prefix || !*prefix)
+  { if (wide)
+      return soap_set_attr(soap, name, data, 2);
+    if (flag)
+      return soap_set_attr(soap, name, data, 1);
+    return soap_attribute(soap, name, data);
+  }
+  t = strchr(name, ':');
+  if (t)
+    t++;
+  else
+    t = name;
+  if (strlen(prefix) + strlen(t) < sizeof(soap->msgbuf))
+    s = soap->msgbuf;
+  else
+  { s = (char*)SOAP_MALLOC(soap, strlen(prefix) + strlen(t) + 2);
+    if (!s)
+      return soap->error = SOAP_EOM;
+  } 
+  sprintf(s, "%s:%s", prefix, t);
+  if (wide)
+    err = soap_set_attr(soap, s, data, 2);
+  else if (flag)
+    err = soap_set_attr(soap, s, data, 1);
+  else
+    err = soap_attribute(soap, s, data);
+  if (s != soap->msgbuf)
+    SOAP_FREE(soap, s);
+  return err;
+}
+
+/******************************************************************************/
+
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_out_xsd__anyType(struct soap *soap, const char *tag, int id, const struct soap_dom_element *node, const char *type)
+{ if (node)
+  { const char *prefix; /* namespace prefix, if namespace is present */
+    size_t colon;
+    if (!(soap->mode & SOAP_DOM_ASIS))
+    { const struct soap_dom_attribute *att;
+      for (att = node->atts; att; att = att->next)
+      { if (att->name && att->data && !strncmp(att->name, "xmlns:", 6))
+	{ if (soap_push_namespace(soap, att->name + 6, att->data) == NULL)
+            return soap->error;
+	}
+        else if (att->name && att->data && !strcmp(att->name, "xmlns"))
+	{ if (soap_push_namespace(soap, "", att->data) == NULL)
+            return soap->error;
+	}
+      }
+    }
+    if (node->name)
+      tag = node->name;
+    else if (!tag)
+      tag = "-";
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM node '%s' output at level %u\n", tag, soap->level));
+    if ((prefix = strchr(tag, ':')))
+    { colon = prefix - tag + 1;
+      if (colon > sizeof(soap->tag))
+        colon = sizeof(soap->tag);
+    }
+    else
+      colon = 0;
+    prefix = NULL;
+    if (node->nstr && *node->nstr && !(soap->mode & SOAP_DOM_ASIS))
+    { if (colon)
+      { strncpy(soap->tag, tag, colon - 1);
+        soap->tag[colon - 1] = '\0';
+        if ((prefix = soap_push_ns_prefix(soap, soap->tag, node->nstr, 1)) == NULL
+         || out_element(soap, node, prefix, tag + colon))
+          return soap->error;
+      }
+      else
+      { if ((prefix = soap_lookup_ns_prefix(soap, node->nstr)))
+        { if (out_element(soap, node, prefix, tag + colon))
+            return soap->error;
+        }
+        else
+	{ if ((prefix = soap_push_ns_prefix(soap, NULL, node->nstr, 1)) == NULL
+           || out_element(soap, node, prefix, tag + colon))
+            return soap->error;
+        }
+      }
+    }
+    else
+    { colon = 0;
+      if (out_element(soap, node, NULL, tag))
+        return soap->error;
+    }
+    if (!node->type || !node->node)
+    { struct soap_dom_attribute *att;
+      struct soap_dom_element *elt;
+      for (att = node->atts; att; att = att->next)
+      { if (att->name)
+        { if (att->nstr && !(soap->mode & SOAP_DOM_ASIS))
+          { const char *p;
+            if ((att->nstr == node->nstr || (node->nstr && !strcmp(att->nstr, node->nstr))) && prefix)
+	    { if (out_attribute(soap, prefix, att->name, att->data, att->wide, 0))
+	        return soap->error;
+	    }
+	    else if ((p = soap_lookup_ns_prefix(soap, att->nstr)))
+	    { if (out_attribute(soap, p, att->name, att->data, att->wide, 0))
+	        return soap->error;
+	    }
+	    else if (!strncmp(att->name, "xml", 3))
+	    { if (out_attribute(soap, NULL, att->name, att->data, att->wide, 0))
+                return soap->error;
+	    }
+	    else if ((p = soap_push_ns_prefix(soap, NULL, att->nstr, 0)) == NULL
+	          || out_attribute(soap, p, att->name, att->data, att->wide, 0))
+              return soap->error;
+          }
+	  else if (soap_attribute(soap, att->name, att->wide ? soap_wchar2s(soap, att->wide) : att->data))
+            return soap->error;
+        }
+      }
+      if ((soap->mode & SOAP_DOM_ASIS) && !node->data && !node->wide && !node->elts && !node->tail)
+      { soap_mode m = soap->mode;
+        soap->mode &= ~SOAP_XML_INDENT;
+	if (*tag != '-' && soap_element_start_end_out(soap, tag))
+          return soap->error;
+        soap->mode = m;
+      }
+      else
+      { if (*tag != '-' && soap_element_start_end_out(soap, NULL))
+          return soap->error;
+        if (*tag != '-' && node->data)
+        { if (soap_string_out(soap, node->data, 0))
+            return soap->error;
+        }
+        else if (node->data)
+        { if (soap_send(soap, node->data))
+            return soap->error;
+        }
+        else if (node->wide)
+        { if (soap_wstring_out(soap, node->wide, 0))
+            return soap->error;
+        }
+        for (elt = node->elts; elt; elt = elt->next)
+        { if (soap_out_xsd__anyType(soap, NULL, 0, elt, NULL))
+            return soap->error;
+        }
+        if (node->tail && soap_send(soap, node->tail))
+          return soap->error;
+        if (!prefix || !*prefix)
+        { soap_mode m = soap->mode;
+	  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "End of DOM node '%s'\n", tag + colon));
+          if ((soap->mode & SOAP_DOM_ASIS))
+	    soap->mode &= ~SOAP_XML_INDENT;
+          if (soap_element_end_out(soap, tag + colon))
+            return soap->error;
+	  soap->mode = m;
+        }
+        else
+        { char *s;
+          if (strlen(prefix) + strlen(tag + colon) < sizeof(soap->msgbuf))
+	    s = soap->msgbuf;
+	  else
+	  { s = (char*)SOAP_MALLOC(soap, strlen(prefix) + strlen(tag + colon) + 2);
+            if (!s)
+              return soap->error = SOAP_EOM;
+	  }
+          DBGLOG(TEST, SOAP_MESSAGE(fdebug, "End of DOM node '%s'\n", tag));
+	  sprintf(s, "%s:%s", prefix, tag + colon);
+	  soap_pop_namespace(soap);
+          if (soap_element_end_out(soap, s))
+            return soap->error;
+          if (s != soap->msgbuf)
+	    SOAP_FREE(soap, s);
+        }
+      }
+    }
+  }
+  return SOAP_OK;
+}
+
+/******************************************************************************/
+
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_out_xsd__anyAttribute(struct soap *soap, const char *tag, int id, const struct soap_dom_attribute *node, const char *type)
+{ if (!(soap->mode & SOAP_DOM_ASIS))
+  { const struct soap_dom_attribute *att;
+    for (att = node; att; att = att->next)
+    { if (att->name && att->data && !strncmp(att->name, "xmlns:", 6))
+      { if (soap_push_namespace(soap, att->name + 6, att->data) == NULL)
+          return soap->error;
+      }
+      else if (att->name && att->data && !strcmp(att->name, "xmlns"))
+      { if (soap_push_namespace(soap, "", att->data) == NULL)
+          return soap->error;
+      }
+    }
+  }
+  while (node)
+  { if (node->name)
+    { if (node->nstr && !(soap->mode & SOAP_DOM_ASIS) && strncmp(node->name, "xml", 3) && !strchr(node->name, ':'))
+      { const char *p;
+        p = soap_lookup_ns_prefix(soap, node->nstr);
+	if (!p && !(p = soap_push_ns_prefix(soap, NULL, node->nstr, 1)))
+          return soap->error;
+        if (out_attribute(soap, p, node->name, node->data, node->wide, 1))
+          return soap->error;
+      }
+      else
+        out_attribute(soap, NULL, node->name, node->data, node->wide, 1);
+    }
+    node = node->next;
+  }
+  return SOAP_OK;
+}
+
+/******************************************************************************/
+
+SOAP_FMAC1
+struct soap_dom_element *
+SOAP_FMAC2
+soap_in_xsd__anyType(struct soap *soap, const char *tag, struct soap_dom_element *node, const char *type)
+{ register struct soap_attribute *tp;
+  register struct soap_dom_attribute **att;
+  if (soap_peek_element(soap))
+  { if (soap->error != SOAP_NO_TAG)
+      return NULL;
+    if (!node)
+    { if (!(node = (struct soap_dom_element*)soap_malloc(soap, sizeof(struct soap_dom_element))))
+      { soap->error = SOAP_EOM;
+        return NULL;
+      }
+    }
+    soap_default_xsd__anyType(soap, node);
+    if (!(node->data = soap_string_in(soap, 1, -1, -1)) || !*node->data)
+      return NULL;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM node with cdata\n"));
+    soap->error = SOAP_OK;
+    return node;
+  }
+  if (!node)
+  { if (!(node = (struct soap_dom_element*)soap_malloc(soap, sizeof(struct soap_dom_element))))
+    { soap->error = SOAP_EOM;
+      return NULL;
+    }
+  }
+  soap_default_xsd__anyType(soap, node);
+  node->nstr = soap_current_namespace(soap, soap->tag);
+  if ((soap->mode & SOAP_DOM_ASIS))
+    node->name = soap_strdup(soap, soap->tag);
+  else
+  { char *s = strchr(soap->tag, ':');
+    if (s)
+      node->name = soap_strdup(soap, s+1);
+    else
+      node->name = soap_strdup(soap, soap->tag);
+  }
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM node '%s' start xmlns='%s'\n", node->name, node->nstr?node->nstr:""));
+  if ((soap->mode & SOAP_DOM_NODE) || (!(soap->mode & SOAP_DOM_TREE) && *soap->id))
+  { if ((node->node = soap_getelement(soap, &node->type)) && node->type)
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM node contains type %d from xsi:type\n", node->type));
+      return node;
+    }
+    if (soap->error == SOAP_TAG_MISMATCH)
+      soap->error = SOAP_OK;
+    else
+      return NULL;
+  }
+  att = &node->atts;
+  for (tp = soap->attributes; tp; tp = tp->next)
+  { if (tp->visible)
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM node attribute='%s'\n", tp->name));
+      *att = (struct soap_dom_attribute*)soap_malloc(soap, sizeof(struct soap_dom_attribute));
+      if (!*att)
+      { soap->error = SOAP_EOM;
+        return NULL;
+      }
+      (*att)->next = NULL;
+      (*att)->nstr = soap_current_namespace(soap, tp->name);
+      if ((soap->mode & SOAP_DOM_ASIS) || !strncmp(tp->name, "xml", 3))
+        (*att)->name = soap_strdup(soap, tp->name);
+      else
+      { char *s = strchr(tp->name, ':');
+        if (s)
+          (*att)->name = soap_strdup(soap, s+1);
+        else
+          (*att)->name = soap_strdup(soap, tp->name);
+      }
+      if (tp->visible == 2)
+        (*att)->data = soap_strdup(soap, tp->value);
+      else
+        (*att)->data = NULL;
+      (*att)->wide = NULL;
+      (*att)->soap = soap;
+      att = &(*att)->next;
+      tp->visible = 0;
+    }
+  }
+  soap_element_begin_in(soap, NULL, 1, NULL);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM node '%s' pulled\n", node->name));
+  if (soap->body)
+  { if (!soap_peek_element(soap))
+    { struct soap_dom_element **elt;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM node '%s' has subelements\n", node->name));
+      elt = &node->elts;
+      for (;;)
+      { if (!(*elt = soap_in_xsd__anyType(soap, NULL, NULL, NULL)))
+        { if (soap->error != SOAP_NO_TAG)
+            return NULL;
+          soap->error = SOAP_OK;
+          break;
+        }
+	(*elt)->prnt = node;
+        elt = &(*elt)->next;
+      }
+    }
+    else if (soap->error == SOAP_NO_TAG)
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM node '%s' has cdata\n", node->name));
+      if ((soap->mode & SOAP_C_UTFSTRING) || (soap->mode & SOAP_C_MBSTRING))
+      { if (!(node->data = soap_string_in(soap, 1, -1, -1)))
+          return NULL;
+      }
+      else if (!(node->wide = soap_wstring_in(soap, 1, -1, -1)))
+        return NULL;
+    }
+    else
+      return NULL;
+    if (soap_element_end_in(soap, node->name))
+      return NULL;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM node end '%s'\n", node->name));
+  }
+  return node;
+}
+
+/******************************************************************************/
+
+SOAP_FMAC1
+struct soap_dom_attribute *
+SOAP_FMAC2
+soap_in_xsd__anyAttribute(struct soap *soap, const char *tag, struct soap_dom_attribute *node, const char *type)
+{ register struct soap_attribute *tp;
+  struct soap_dom_attribute *tmp = node;
+  struct soap_dom_attribute *att = node;
+  for (tp = soap->attributes; tp; tp = tp->next)
+  { if (tp->visible)
+    { if (!att)
+      { att = (struct soap_dom_attribute*)soap_malloc(soap, sizeof(struct soap_dom_attribute));
+        if (tmp)
+	  tmp->next = att;
+	else
+	  node = att;
+        tmp = att;
+      }
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM node attribute='%s'\n", tp->name));
+      if (!att)
+      { soap->error = SOAP_EOM;
+        return NULL;
+      }
+      att->next = NULL;
+      att->nstr = soap_current_namespace(soap, tp->name);
+      if ((soap->mode & SOAP_DOM_ASIS) || !strncmp(tp->name, "xml", 3))
+        att->name = soap_strdup(soap, tp->name);
+      else
+      { char *s = strchr(tp->name, ':');
+        if (s)
+          att->name = soap_strdup(soap, s+1);
+	else
+          att->name = soap_strdup(soap, tp->name);
+      }
+      if (tp->visible == 2)
+        att->data = soap_strdup(soap, tp->value);
+      else
+        att->data = NULL;
+      att->wide = NULL;
+      att->soap = soap;
+      att = NULL;
+    }
+  }
+  return node;
+}
+
+/******************************************************************************\
+ *
+ *	DOM traversing
+ *
+\******************************************************************************/
+
+SOAP_FMAC1
+struct soap_dom_element *
+SOAP_FMAC2
+soap_dom_next_element(struct soap_dom_element *elt)
+{ if (elt->elts)
+    return elt->elts;
+  if (elt->next)
+    return elt->next;
+  do elt = elt->prnt;
+  while (elt && !elt->next);
+  if (elt)
+    elt = elt->next;
+  return elt;
+}
+
+/******************************************************************************/
+
+struct soap_dom_attribute *
+soap_dom_next_attribute(struct soap_dom_attribute *att)
+{ return att->next;
+}
+
+/******************************************************************************\
+ *
+ *	Namespace prefix lookup/store
+ *
+\******************************************************************************/
+
+static const char *
+soap_lookup_ns_prefix(struct soap *soap, const char *ns)
+{ register struct soap_nlist *np;
+  for (np = soap->nlist; np; np = np->next)
+  { if (np->ns && !strcmp(np->ns, ns)) 
+      return np->id;
+  }
+  return NULL;
+}
+
+/******************************************************************************/
+
+static const char *
+soap_push_ns_prefix(struct soap *soap, const char *id, const char *ns, int flag)
+{ register struct soap_nlist *np;
+  if (!id)
+  { struct Namespace *n;
+    for (n = soap->local_namespaces; n && n->id; n++)
+    { if (n->ns && !strcmp(n->ns, ns))
+      { id = n->id;
+        break;
+      }
+    }
+    if (!id)
+    { sprintf(soap->tag, SOAP_DOMID_FORMAT, soap->idnum++);
+      id = soap->tag;
+    }
+  }
+  /* fix advance generation of xmlns, when element (level) is not output yet */
+  if (flag)
+    soap->level++;
+  np = soap_push_namespace(soap, id, ns);
+  if (flag)
+    soap->level--;
+  if (!np)
+    return NULL;
+  if (!np->ns)
+  { np->ns = soap->local_namespaces[np->index].out;
+    if (!np->ns)
+      np->ns = soap->local_namespaces[np->index].ns;
+  }
+  np->index = 0; /* for C14N utilized mark */
+  if (*np->id)
+  { sprintf(soap->msgbuf, "xmlns:%s", np->id);
+    out_attribute(soap, NULL, soap->msgbuf, ns, NULL, flag);
+  }
+  else
+    out_attribute(soap, NULL, "xmlns", ns, NULL, flag);
+  return np->id;
+}
+
+#ifdef __cplusplus
+
+/******************************************************************************\
+ *
+ *	soap_dom_element class
+ *
+\******************************************************************************/
+
+soap_dom_element::soap_dom_element()
+{ soap_default_xsd__anyType(NULL, this);
+}
+
+/******************************************************************************/
+
+soap_dom_element::soap_dom_element(struct soap *soap)
+{ soap_default_xsd__anyType(soap, this);
+}
+
+/******************************************************************************/
+
+soap_dom_element::soap_dom_element(struct soap *soap, const char *nstr, const char *name)
+{ soap_default_xsd__anyType(soap, this);
+  this->nstr = soap_strdup(soap, nstr);
+  this->name = soap_strdup(soap, name);
+}
+
+/******************************************************************************/
+
+soap_dom_element::soap_dom_element(struct soap *soap, const char *nstr, const char *name, const char *data)
+{ soap_default_xsd__anyType(soap, this);
+  this->nstr = soap_strdup(soap, nstr);
+  this->name = soap_strdup(soap, name);
+  this->data = soap_strdup(soap, data);
+}
+
+/******************************************************************************/
+
+soap_dom_element::soap_dom_element(struct soap *soap, const char *nstr, const char *name, void *node, int type)
+{ soap_default_xsd__anyType(soap, this);
+  this->nstr = soap_strdup(soap, nstr);
+  this->name = soap_strdup(soap, name);
+  this->node = node;
+  this->type = type;
+}
+
+/******************************************************************************/
+
+soap_dom_element::~soap_dom_element()
+{ }
+
+/******************************************************************************/
+
+soap_dom_element &soap_dom_element::set(const char *nstr, const char *name)
+{ this->nstr = soap_strdup(soap, nstr);
+  this->name = soap_strdup(soap, name);
+  return *this;
+}
+
+/******************************************************************************/
+
+soap_dom_element &soap_dom_element::set(const char *data)
+{ this->data = soap_strdup(soap, data);
+  return *this;
+}
+
+/******************************************************************************/
+
+soap_dom_element &soap_dom_element::set(void *node, int type)
+{ this->node = node;
+  this->type = type;
+  return *this;
+}
+
+/******************************************************************************/
+
+soap_dom_element &soap_dom_element::add(struct soap_dom_element *elt)
+{ elt->prnt = this;
+  for (struct soap_dom_element *e = elts; e; e = e->next)
+  { if (!e->next)
+    { e->next = elt;
+      return *this;
+    }
+  }
+  elts = elt;
+  return *this;
+}
+
+/******************************************************************************/
+
+soap_dom_element &soap_dom_element::add(struct soap_dom_element &elt)
+{ return add(&elt);
+}
+
+/******************************************************************************/
+
+soap_dom_element &soap_dom_element::add(struct soap_dom_attribute *att)
+{ for (struct soap_dom_attribute *a = atts; a; a = a->next)
+  { if (!a->next)
+    { a->next = att;
+      return *this;
+    }
+  }
+  atts = att;
+  return *this;
+}
+
+/******************************************************************************/
+
+soap_dom_element &soap_dom_element::add(struct soap_dom_attribute &att)
+{ return add(&att);
+}
+
+/******************************************************************************/
+
+soap_dom_element_iterator soap_dom_element::begin()
+{ soap_dom_element_iterator iter(this);
+  return iter;
+}
+
+/******************************************************************************/
+
+soap_dom_element_iterator soap_dom_element::end()
+{ soap_dom_element_iterator iter(NULL);
+  return iter;
+}
+
+/******************************************************************************/
+
+soap_dom_element_iterator soap_dom_element::find(const char *nstr, const char *name)
+{ soap_dom_element_iterator iter(this);
+  iter.nstr = nstr;
+  iter.name = name;
+  if (name && soap_tag_cmp(this->name, name))
+    return ++iter;
+  if (nstr && this->nstr && soap_tag_cmp(this->nstr, nstr))
+    return ++iter;
+  return iter;
+}
+
+/******************************************************************************/
+
+soap_dom_element_iterator soap_dom_element::find(int type)
+{ soap_dom_element_iterator iter(this);
+  iter.type = type;
+  if (this->type != type)
+    return ++iter;
+  return iter;
+}
+
+/******************************************************************************/
+
+void soap_dom_element::unlink()
+{ soap_unlink(soap, this);
+  soap_unlink(soap, nstr);
+  soap_unlink(soap, name);
+  soap_unlink(soap, data);
+  soap_unlink(soap, wide);
+  if (elts)
+    elts->unlink();
+  if (atts)
+    atts->unlink();
+  if (next)
+    next->unlink();
+  node = NULL;
+  type = 0;
+}
+
+/******************************************************************************\
+ *
+ *	soap_dom_attribute class
+ *
+\******************************************************************************/
+
+soap_dom_attribute::soap_dom_attribute()
+{ this->soap = NULL;
+  this->next = NULL;
+  this->nstr = NULL;
+  this->name = NULL;
+  this->data = NULL;
+  this->wide = NULL;
+}
+
+/******************************************************************************/
+
+soap_dom_attribute::soap_dom_attribute(struct soap *soap)
+{ this->soap = soap;
+  this->next = NULL;
+  this->nstr = NULL;
+  this->name = NULL;
+  this->data = NULL;
+  this->wide = NULL;
+}
+
+/******************************************************************************/
+
+soap_dom_attribute::soap_dom_attribute(struct soap *soap, const char *nstr, const char *name, const char *data)
+{ this->soap = soap;
+  this->next = NULL;
+  this->nstr = soap_strdup(soap, nstr);
+  this->name = soap_strdup(soap, name);
+  this->data = soap_strdup(soap, data);
+  this->wide = NULL;
+}
+
+/******************************************************************************/
+
+soap_dom_attribute::~soap_dom_attribute()
+{ }
+
+/******************************************************************************/
+
+soap_dom_attribute &soap_dom_attribute::set(const char *nstr, const char *name)
+{ this->nstr = soap_strdup(soap, nstr);
+  this->name = soap_strdup(soap, name);
+  return *this;
+}
+
+/******************************************************************************/
+
+soap_dom_attribute &soap_dom_attribute::set(const char *data)
+{ this->data = soap_strdup(soap, data);
+  return *this;
+}
+
+/******************************************************************************/
+
+soap_dom_attribute_iterator soap_dom_attribute::begin()
+{ soap_dom_attribute_iterator iter(this);
+  return iter;
+}
+
+/******************************************************************************/
+
+soap_dom_attribute_iterator soap_dom_attribute::end()
+{ soap_dom_attribute_iterator iter(NULL);
+  return iter;
+}
+
+/******************************************************************************/
+
+soap_dom_attribute_iterator soap_dom_attribute::find(const char *nstr, const char *name)
+{ soap_dom_attribute_iterator iter(this);
+  iter.nstr = nstr;
+  iter.name = name;
+  if (name && soap_tag_cmp(this->name, name))
+    return ++iter;
+  if (nstr && this->nstr && soap_tag_cmp(this->nstr, nstr))
+    return ++iter;
+  return iter;
+}
+
+/******************************************************************************/
+
+void soap_dom_attribute::unlink()
+{ soap_unlink(soap, this);
+  soap_unlink(soap, nstr);
+  soap_unlink(soap, name);
+  soap_unlink(soap, data);
+  soap_unlink(soap, wide);
+  if (next)
+    next->unlink();
+}
+
+/******************************************************************************\
+ *
+ *	soap_dom_element_iterator class
+ *
+\******************************************************************************/
+
+soap_dom_element_iterator::soap_dom_element_iterator()
+{ elt = NULL;
+  nstr = NULL;
+  name = NULL;
+  type = 0;
+}
+
+/******************************************************************************/
+
+soap_dom_element_iterator::soap_dom_element_iterator(struct soap_dom_element *elt)
+{ this->elt = elt;
+  nstr = NULL;
+  name = NULL;
+  type = 0;
+}
+
+/******************************************************************************/
+
+soap_dom_element_iterator::~soap_dom_element_iterator()
+{ }
+
+/******************************************************************************/
+
+bool soap_dom_element_iterator::operator==(const soap_dom_element_iterator &iter) const
+{ return this->elt == iter.elt;
+}
+
+/******************************************************************************/
+
+bool soap_dom_element_iterator::operator!=(const soap_dom_element_iterator &iter) const
+{ return this->elt != iter.elt;
+}
+
+/******************************************************************************/
+
+struct soap_dom_element &soap_dom_element_iterator::operator*() const
+{ return *this->elt;
+}
+
+/******************************************************************************/
+
+soap_dom_element_iterator &soap_dom_element_iterator::operator++()
+{ while (elt)
+  { elt = soap_dom_next_element(elt);
+    if (!elt)
+      break;
+    if (name && elt->name)
+    { if (!soap_tag_cmp(elt->name, name))
+      { if (nstr && elt->nstr)
+        { if (!soap_tag_cmp(elt->nstr, nstr))
+	    break;
+        }
+        else
+          break;
+      }
+    }
+    else if (type)
+    { if (elt->type == type)
+        break;
+    }
+    else
+      break;
+  }
+  return *this;
+}
+
+/******************************************************************************\
+ *
+ *	soap_dom_attribute_iterator class
+ *
+\******************************************************************************/
+
+soap_dom_attribute_iterator::soap_dom_attribute_iterator()
+{ att = NULL;
+  nstr = NULL;
+  name = NULL;
+}
+
+/******************************************************************************/
+
+soap_dom_attribute_iterator::soap_dom_attribute_iterator(struct soap_dom_attribute *att)
+{ this->att = att;
+  nstr = NULL;
+  name = NULL;
+}
+
+/******************************************************************************/
+
+soap_dom_attribute_iterator::~soap_dom_attribute_iterator()
+{ }
+
+/******************************************************************************/
+
+bool soap_dom_attribute_iterator::operator==(const soap_dom_attribute_iterator &iter) const
+{ return this->att == iter.att;
+}
+
+/******************************************************************************/
+
+bool soap_dom_attribute_iterator::operator!=(const soap_dom_attribute_iterator &iter) const
+{ return this->att != iter.att;
+}
+
+/******************************************************************************/
+
+struct soap_dom_attribute &soap_dom_attribute_iterator::operator*() const
+{ return *this->att;
+}
+
+/******************************************************************************/
+
+soap_dom_attribute_iterator &soap_dom_attribute_iterator::operator++()
+{ while (att)
+  { att = soap_dom_next_attribute(att);
+    if (!att)
+      break;
+    if (name && att->name)
+    { if (!soap_tag_cmp(att->name, name))
+      { if (nstr && att->nstr)
+        { if (!soap_tag_cmp(att->nstr, nstr))
+	    break;
+        }
+        else
+          break;
+      }
+    }
+    else
+      break;
+  }
+  return *this;
+}
+
+/******************************************************************************\
+ *
+ *	I/O
+ *
+\******************************************************************************/
+
+#ifndef UNDER_CE
+
+std::ostream &operator<<(std::ostream &o, const struct soap_dom_element &e)
+{ if (!e.soap)
+  { struct soap soap;
+    soap_init2(&soap, SOAP_IO_DEFAULT, SOAP_XML_GRAPH);
+    soap_serialize_xsd__anyType(&soap, &e);
+    soap_begin_send(&soap);
+    soap.ns = 2; /* do not dump namespace table */
+    soap_out_xsd__anyType(&soap, NULL, 0, &e, NULL);
+    soap_end_send(&soap);
+    soap_end(&soap);
+    soap_done(&soap);
+  }
+  else
+  { std::ostream *os = e.soap->os;
+    e.soap->os = &o;
+    soap_mode omode = e.soap->omode;
+    soap_set_omode(e.soap, SOAP_XML_GRAPH);
+    soap_serialize_xsd__anyType(e.soap, &e);
+    soap_begin_send(e.soap);
+    e.soap->ns = 2; /* do not dump namespace table */
+    soap_out_xsd__anyType(e.soap, NULL, 0, &e, NULL);
+    soap_end_send(e.soap);
+    e.soap->os = os;
+    e.soap->omode = omode;
+  }
+  return o;
+}
+
+/******************************************************************************/
+
+std::istream &operator>>(std::istream &i, struct soap_dom_element &e)
+{ if (!e.soap)
+    e.soap = soap_new();
+  std::istream *is = e.soap->is;
+  e.soap->is = &i;
+  if (soap_begin_recv(e.soap)
+   || !soap_in_xsd__anyType(e.soap, NULL, &e, NULL)
+   || soap_end_recv(e.soap))
+  { /* handle error? Note: e.soap->error is set and app should check */
+  }
+  e.soap->is = is;
+  return i;
+}
+
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/extras/README.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,15 @@
+
+The 'extras' directory contains useful additions.
+
+All contributions are covered by the gSOAP public license, unless specifically
+stated otherwise in the source. The following authors provided the
+contributions included in this directory:
+
+ckdb.h ckdb.c			Simple Cookie database manager (store/load)
+ckdbtest.h ckdbtest.c		Test code for Simple Cookie database manager
+fault.cpp			Print SOAP Fault messages to C++ streams
+logging.cpp			Log send, receive, and trace messages on streams
+soapdefs.h			To enable logging
+
+fault.cpp contributed by A. Kelly
+logging.cpp contributed by M. Helmick
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/extras/ckdb.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,89 @@
+/*
+	ckdb.c
+
+	HTTP cookie database manager.
+
+	The contents of this file are subject to the gSOAP Public License
+	Version 1.0 (the "License"); you may not use this file except in
+	compliance with the License. You may obtain a copy of the License at
+	http://www.cs.fsu.edu/~engelen/soaplicense.html Software distributed
+	under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY
+	OF ANY KIND, either express or implied. See the License for the
+	specific language governing rights and limitations under the License.
+
+	The Initial Developer of the Original Code is Robert A. van Engelen.
+	Copyright (C) 2000-2002 Robert A. van Engelen. All Rights Reserved.
+
+1. Compile ckdb.h:
+   soapcpp2 -cpckdb ckdb.h
+2. Compile ckdb.c:
+   gcc -DWITH_COOKIES -DWITH_NOGLOBAL -c ckdb.c
+3. Compile and link with main program, e.g. ckdbtest.c:
+   soapcpp2 -c ckdbtest.h
+   gcc -DWITH_COOKIES ckdbtest.c ckdb.o stdsoap2.c soapC.c soapClient.c
+
+*/
+
+#include <sys/stat.h>
+#include "stdsoap2.h"
+#define WITH_NOGLOBAL
+#undef SOAP_FMAC3
+#define SOAP_FMAC3 static
+#include "ckdbC.c"
+
+int soap_save_cookies(struct soap *soap, const char *pathname)
+{ int socket = soap->socket;
+  int sendfd = soap->sendfd;
+  soap_begin(soap);
+  soap->socket = -1;	/* make sure plain I/O is used */
+  soap->sendfd = open(pathname, O_CREAT|O_TRUNC|O_WRONLY, S_IREAD|S_IWRITE);
+  if (soap->sendfd >= 0)
+  { soap_serialize_cookie(soap, (struct cookie*)soap->cookies);
+    soap_begin_send(soap);
+    soap_put_cookie(soap, (struct cookie*)soap->cookies, "jar", NULL);
+    soap_end_send(soap);
+    close(soap->sendfd);
+    soap->socket = socket;
+    soap->sendfd = sendfd;
+    return SOAP_OK;
+  }
+  soap->socket = socket;
+  soap->sendfd = sendfd;
+  return SOAP_EOF;
+}
+
+int soap_load_cookies(struct soap *soap, const char *pathname)
+{ int socket = soap->socket;
+  int recvfd = soap->recvfd;
+  soap_begin(soap);
+  soap->socket = -1;	/* make sure plain I/O is used */
+  soap->recvfd = open(pathname, O_RDONLY);
+  if (soap->recvfd >= 0)
+  { if (soap_begin_recv(soap))
+    { close(soap->recvfd);
+      soap->socket = socket;
+      soap->recvfd = recvfd;
+      return soap->error;
+    }
+    soap->cookies = (struct soap_cookie*)soap_get_cookie(soap, NULL, "jar", NULL);
+    if (!soap->cookies && soap->error)
+    { close(soap->recvfd);
+      soap->socket = socket;
+      soap->recvfd = recvfd;
+      return soap->error;
+    }
+    if (soap_end_recv(soap))
+    { close(soap->recvfd);
+      soap->socket = socket;
+      soap->recvfd = recvfd;
+      return soap->error;
+    }
+    close(soap->recvfd);
+    soap->socket = socket;
+    soap->recvfd = recvfd;
+    return SOAP_OK;
+  }
+  soap->socket = socket;
+  soap->recvfd = recvfd;
+  return SOAP_EOF;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/extras/ckdb.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,34 @@
+/*
+	ckdb.h
+
+	HTTP cookie database manager. See ckdb.c for more details.
+
+	The contents of this file are subject to the gSOAP Public License
+	Version 1.0 (the "License"); you may not use this file except in
+	compliance with the License. You may obtain a copy of the License at
+	http://www.cs.fsu.edu/~engelen/soaplicense.html Software distributed
+	under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY
+	OF ANY KIND, either express or implied. See the License for the
+	specific language governing rights and limitations under the License.
+
+	The Initial Developer of the Original Code is Robert A. van Engelen.
+	Copyright (C) 2000-2002 Robert A. van Engelen. All Rights Reserved.
+
+*/
+
+/* struct cookie must be a mirror image of struct soap_cookie in stdsoap2.h */
+struct cookie
+{ struct cookie *next;
+  char *name;
+  char *value;
+  char *domain;
+  char *path;
+  long expire;
+  unsigned int version;
+  short secure;
+  [
+  short session;	/* transient: do not (de)serialize */
+  short env;		/* transient: do not (de)serialize */
+  short modified;	/* transient: do not (de)serialize */
+  ]
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/extras/ckdbtest.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,53 @@
+/*
+	ckdbtest.c
+
+	Test client for HTTP cookie database manager.
+
+	Copyright (C) 2000-2002 Robert A. van Engelen. All Rights Reserved.
+
+1. Compile ckdb.h:
+   soapcpp2 -cnpckdb ckdb.h
+2. Compile ckdb.c:
+   gcc -DWITH_COOKIES -c ckdb.c
+3. Compile and link ckdbtest.c:
+   soapcpp2 -c ckdbtest.h
+   gcc -DWITH_COOKIES ckdbtest.c ckdb.o stdsoap2.c soapC.c soapClient.c
+4. Execute
+   Cookies will be stored in 'jar.xml'
+
+*/
+
+#include "soapH.h"
+#include "ckdbtest.nsmap"
+
+char ckserver[] = "http://www.cs.fsu.edu/~engelen/ck.cgi";
+
+int main()
+{ struct soap soap;
+  char *r;
+  soap_init(&soap);
+  if (soap_call_ck__demo(&soap, ckserver, NULL, &r))
+  { soap_print_fault(&soap, stderr);
+    soap_print_fault_location(&soap, stderr);
+    exit(-1);
+  }
+  printf("The server responded with: %s\n", r);
+  if (soap_save_cookies(&soap, "jar.xml"))
+    fprintf(stderr, "Cannot store cookies\n");
+  soap_free_cookies(&soap);
+  if (soap_load_cookies(&soap, "jar.xml"))
+    fprintf(stderr, "Cannot restore cookies\n");
+  else
+    printf("Got cookies (%s=%s)\n", soap.cookies->name, soap.cookies->value);
+  if (soap_call_ck__demo(&soap, ckserver, NULL, &r))
+  { soap_print_fault(&soap, stderr);
+    soap_print_fault_location(&soap, stderr);
+    exit(-1);
+  }
+  printf("The server responded with: %s\n", r);
+  if (soap_save_cookies(&soap, "jar.xml"))
+    fprintf(stderr, "Cannot store cookies\n");
+  soap_end(&soap);	/* This will delete the deserialized cookies too! */
+  soap.cookies = NULL;	/* so make sure this is NULL */
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/extras/ckdbtest.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,6 @@
+//gsoap ck service name: ckdbtest
+//gsoap ck service location: http://www.cs.fsu.edu/~engelen
+//gsoap ck service namespace: http://www.cs.fsu.edu/~engelen/ck.wsdl
+//gsoap ck service encoding: encoded
+//gsoap ck schema  namespace: urn:ck
+int ck__demo(char **r);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/extras/fault.cpp	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,50 @@
+/*
+	Contributed by Allan Kelly, June 17, 2002
+	Provides C++ alternatives for
+	soap_print_fault and soap_print_fault_location functions
+
+	Note: soap_stream_fault in stdsoap2.cpp provides similar functionality
+*/
+
+/******************************************************************************/
+
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_print_fault(struct soap *soap, std::ostream& msg)
+{ if (soap->error)
+  { if (!*soap_faultcode(soap))
+      soap_set_fault(soap);
+    if (!*soap_faultstring(soap))
+      *soap_faultstring(soap) = "";
+    msg << "SOAP FAULT: "
+        << *soap_faultcode(soap) << std::endl
+        << "\"" << *soap_faultstring(soap) << "\"" << std::endl;
+    if (*soap_faultdetail(soap))
+      msg << "Detail: " << *soap_faultdetail(soap) << std::endl;
+  }
+}
+
+/******************************************************************************/
+
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_print_fault_location(struct soap *soap, std::ostream& msg)
+{ int c;
+  if (soap->error && soap->buflen > 0)
+  { if (soap->bufidx == 0)
+      soap->bufidx = 1;
+    c = soap->buf[soap->bufidx-1];
+    soap->buf[soap->bufidx-1] = '\0';
+    if (soap->bufidx < soap->buflen)
+      msg << soap->buf << static_cast<char> (c) << std::endl
+          << "** HERE **" << std::endl << soap->buf+soap->bufidx
+          << std::endl;
+    else
+      msg << soap->buf << static_cast<char> (c) << std::endl
+          << "** HERE **" << std::endl;
+  }
+}
+
+/******************************************************************************/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/extras/logging.cpp	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,64 @@
+//	logging.cpp
+//
+//	Place this file in the same direcory as stdsoap2.h
+//	Requires soapdefs.h (compile stdsoap2.cpp with -DWITH_SOAPDEFS_H
+//	and -DDEBUG_CALLBACKS)
+//
+//	Runtime/Customer logging by Mike Helmick
+//	Copyright (c) 2002 - Mike Helmick. Convergys IMG. All Rights Reserved.
+//	This contributed code is covered under the MPL 1.1 license
+
+#include "stdsoap2.h"	// includes "soapdefs.h" when compiled with -DWITH_SOAPDEFS_H
+
+void soap_recv_callback(struct soap*, const char*, size_t len);
+void soap_sent_callback(struct soap*, const char*, size_t len);
+void soap_test_callback(struct soap*, const char*, size_t len);
+
+void
+soap_dispatch_callback(struct soap *soap, int idx, const char *msg, size_t len)
+{	if (!soap->user)
+	{	// you can set stuff up here, streams etc.
+		// soap->user is used to pass user-defined data
+		// soap->user is never set nor cleared by gSOAP
+		soap->user = (void*)&cout;
+		// don't forget to clean up the streams in the main code
+		// (before discarding the soap runtime environment)
+	}
+	switch (idx)
+	{	case SOAP_INDEX_RECV:
+			soap_recv_callback(soap, msg, len);
+			break;
+	 	case SOAP_INDEX_SENT:
+			soap_sent_callback(soap, msg, len);
+			break;
+	 	case SOAP_INDEX_TEST:
+			soap_test_callback(soap, msg, len);
+			break;
+	}
+}
+
+// Note: 'msg' is not 0-terminated!
+void
+soap_recv_callback(struct soap *soap, const char *msg, size_t len)
+{ ostream& os = *(ostream*)soap->user;
+  os << endl
+	<< "Received:" << endl
+	<< "----------------------------------------" << endl;
+  os.write(msg, len);
+  os << "----------------------------------------" << endl;
+}
+
+void
+soap_sent_callback(struct soap *soap, const char *msg, size_t len)
+{ ostream& os = *(ostream*)soap->user;
+  os << endl
+	<< "Sent:" << endl
+	<< "----------------------------------------" << endl;
+  os.write(msg, len);
+  os << "----------------------------------------" << endl;
+}
+
+void
+soap_test_callback(struct soap *soap, const char *msg, size_t len)
+{ (*(ostream*)soap->user << "Trace: ").write(msg, len);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/extras/soapdefs.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,28 @@
+//	soapdefs.h
+//	Place this file in the same directory as stdsoap2.h
+//	This file will be included in stdsoap2.h when compiling with
+//	-DWITH_SOAPDEFS_H (see stdsoap2.h line 16)
+//	See extras/logging.cpp for customer logging
+//	
+//	Runtime/Customer logging by Mike Helmick
+//	Copyright (c) 2002 - Mike Helmick. Convergys IMG. All Rights Reserved.
+//	This contributed code si covered under the MPL 1.1 license
+
+#ifndef SOAPDEFS_H
+#define SOAPDEFS_H
+
+#ifdef DEBUG_CALLBACKS
+#ifndef DEBUG
+#define DEBUG
+#endif
+#define SOAP_MESSAGE sprintf
+#define DBGLOG(DBGFILE, CMD) \
+{ char fdebug[SOAP_BUFLEN+1];\
+  CMD;\
+  soap_dispatch_callback(soap, SOAP_INDEX_##DBGFILE, fdebug, strlen(fdebug));\
+}
+#define DBGMSG(DBGFILE, MSG, LEN) soap_dispatch_callback(soap, SOAP_INDEX_##DBGFILE, MSG, LEN);
+void soap_dispatch_callback(struct soap*, int, const char*, size_t);
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/src/.deps/soapcpp2-error2.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/src/.deps/soapcpp2-init2.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/src/.deps/soapcpp2-soapcpp2.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/src/.deps/soapcpp2-soapcpp2_lex.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/src/.deps/soapcpp2-soapcpp2_yacc.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/src/.deps/soapcpp2-symbol2.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/src/Makefile	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,569 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# gsoap/src/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006  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.
+
+
+
+####### This is the input file for automake, which will generate Makefile.in ##########
+
+
+pkgdatadir = $(datadir)/gsoap
+pkglibdir = $(libdir)/gsoap
+pkgincludedir = $(includedir)/gsoap
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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 = i386-apple-darwin13.1.0
+host_triplet = i386-apple-darwin13.1.0
+bin_PROGRAMS = soapcpp2$(EXEEXT)
+subdir = gsoap/src
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	soapcpp2_lex.c soapcpp2_yacc.c soapcpp2_yacc.h
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_soapcpp2_OBJECTS = soapcpp2-soapcpp2_yacc.$(OBJEXT) \
+	soapcpp2-soapcpp2_lex.$(OBJEXT) soapcpp2-symbol2.$(OBJEXT) \
+	soapcpp2-error2.$(OBJEXT) soapcpp2-init2.$(OBJEXT) \
+	soapcpp2-soapcpp2.$(OBJEXT)
+soapcpp2_OBJECTS = $(am_soapcpp2_OBJECTS)
+am__DEPENDENCIES_1 =
+soapcpp2_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+soapcpp2_LINK = $(CCLD) $(soapcpp2_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I. -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS)
+YLWRAP = $(top_srcdir)/ylwrap
+YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
+SOURCES = $(soapcpp2_SOURCES)
+DIST_SOURCES = $(soapcpp2_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /Users/kotone/dev/build/gsoap-2.8/missing --run aclocal-1.10
+AMTAR = ${SHELL} /Users/kotone/dev/build/gsoap-2.8/missing --run tar
+AUTOCONF = ${SHELL} /Users/kotone/dev/build/gsoap-2.8/missing --run autoconf
+AUTOHEADER = ${SHELL} /Users/kotone/dev/build/gsoap-2.8/missing --run autoheader
+AUTOMAKE = ${SHELL} /Users/kotone/dev/build/gsoap-2.8/missing --run automake-1.10
+AWK = awk
+BISON_DEFINE = -DWITH_BISON
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -Wno-deprecated-declarations
+CPP = gcc -E
+CPPFLAGS = 
+CXX = g++
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -Wno-deprecated-declarations
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO_C = \c
+ECHO_N = 
+ECHO_T = 
+EGREP = /usr/bin/grep -E
+ENABLE_SAMPLES = 
+EXEEXT = 
+GREP = /usr/bin/grep
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+LDFLAGS = 
+LEX = flex
+LEXLIB = -ll
+LEX_DEFINE = -DWITH_FLEX
+LEX_FLAGS = -l
+LEX_OUTPUT_ROOT = lex.yy
+LIBOBJS =  ${LIBOBJDIR}mktime$U.o
+LIBS = 
+LN_S = ln -s
+LTLIBOBJS =  ${LIBOBJDIR}mktime$U.lo
+MAKEINFO = ${SHELL} /Users/kotone/dev/build/gsoap-2.8/missing --run makeinfo
+MKDIR_P = ../.././install-sh -c -d
+OBJEXT = o
+PACKAGE = gsoap
+PACKAGE_BUGREPORT = 
+PACKAGE_NAME = gsoap
+PACKAGE_STRING = gsoap 2.8
+PACKAGE_TARNAME = gsoap
+PACKAGE_VERSION = 2.8
+PATH_SEPARATOR = :
+RANLIB = ranlib
+SAMPLE_DIRS = 
+SAMPLE_EXTRA_LIBS = -lm
+SAMPLE_SSL_LIBS = -lssl -lcrypto -lz
+SET_MAKE = 
+SHELL = /bin/sh
+SOAPCPP2_DEBUG = 
+SOAPCPP2_IMPORTPATH = -DSOAPCPP_IMPORT_PATH="\"${datarootdir}/gsoap/import\""
+SOAPCPP2_IPV6 = 
+SOAPCPP2_NONAMESPACES = 
+STRIP = 
+VERSION = 2.8
+WSDL2H_EXTRA_FLAGS = -DWITH_OPENSSL -DWITH_GZIP
+WSDL2H_EXTRA_LIBS = ../plugin/httpda.c ../plugin/md5evp.c -lssl -lcrypto -lz
+WSDL2H_IMPORTPATH = -DWSDL_IMPORT_PATH="\"${datarootdir}/gsoap/WS\""
+WSDL2H_SOAP_CPP_LIB = libgsoapssl++.a
+YACC = bison -y
+YACC_LIB = 
+YFLAGS = 
+abs_builddir = /Users/kotone/dev/build/gsoap-2.8/gsoap/src
+abs_srcdir = /Users/kotone/dev/build/gsoap-2.8/gsoap/src
+abs_top_builddir = /Users/kotone/dev/build/gsoap-2.8
+abs_top_srcdir = /Users/kotone/dev/build/gsoap-2.8
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i386-apple-darwin13.1.0
+build_alias = 
+build_cpu = i386
+build_os = darwin13.1.0
+build_vendor = apple
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+host = i386-apple-darwin13.1.0
+host_alias = 
+host_cpu = i386
+host_os = darwin13.1.0
+host_vendor = apple
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = $(SHELL) /Users/kotone/dev/build/gsoap-2.8/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = $(top_builddir)/./install-sh -c -d
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+platform = MACOSX
+prefix = /usr/local
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target_alias = 
+top_builddir = ../..
+top_srcdir = ../..
+AUTOMAKE_OPTIONS = foreign 1.4
+
+#LIBS=
+AM_YFLAGS = -d -v
+AM_LFLAGS = $(LEX_FLAGS)
+soapcpp2_CFLAGS = $(BISON_DEFINE) $(LEX_DEFINE) $(C_DEBUG_FLAGS) $(SOAPCPP2_IMPORTPATH) -D$(platform)
+soapcpp2_LDADD = $(YACC_LIB) $(LEXLIB)
+soapcpp2_SOURCES = soapcpp2_yacc.y soapcpp2_lex.l symbol2.c error2.c init2.c soapcpp2.c
+CLEANFILES = *~ soapcpp2_lex.c soapcpp2_yacc.c soapcpp2_yacc.h y.output soapcpp2_yacc.output
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .l .o .obj .y
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(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  gsoap/src/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  gsoap/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:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+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 \
+	  ; then \
+	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+	   echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	   $(INSTALL_PROGRAM_ENV) $(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:
+	-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+soapcpp2_yacc.h: soapcpp2_yacc.c
+	@if test ! -f $@; then \
+	  rm -f soapcpp2_yacc.c; \
+	  $(MAKE) $(AM_MAKEFLAGS) soapcpp2_yacc.c; \
+	else :; fi
+soapcpp2$(EXEEXT): $(soapcpp2_OBJECTS) $(soapcpp2_DEPENDENCIES) 
+	@rm -f soapcpp2$(EXEEXT)
+	$(soapcpp2_LINK) $(soapcpp2_OBJECTS) $(soapcpp2_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+include ./$(DEPDIR)/soapcpp2-error2.Po
+include ./$(DEPDIR)/soapcpp2-init2.Po
+include ./$(DEPDIR)/soapcpp2-soapcpp2.Po
+include ./$(DEPDIR)/soapcpp2-soapcpp2_lex.Po
+include ./$(DEPDIR)/soapcpp2-soapcpp2_yacc.Po
+include ./$(DEPDIR)/soapcpp2-symbol2.Po
+
+.c.o:
+	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(COMPILE) -c $<
+
+.c.obj:
+	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+soapcpp2-soapcpp2_yacc.o: soapcpp2_yacc.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-soapcpp2_yacc.o -MD -MP -MF $(DEPDIR)/soapcpp2-soapcpp2_yacc.Tpo -c -o soapcpp2-soapcpp2_yacc.o `test -f 'soapcpp2_yacc.c' || echo '$(srcdir)/'`soapcpp2_yacc.c
+	mv -f $(DEPDIR)/soapcpp2-soapcpp2_yacc.Tpo $(DEPDIR)/soapcpp2-soapcpp2_yacc.Po
+#	source='soapcpp2_yacc.c' object='soapcpp2-soapcpp2_yacc.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-soapcpp2_yacc.o `test -f 'soapcpp2_yacc.c' || echo '$(srcdir)/'`soapcpp2_yacc.c
+
+soapcpp2-soapcpp2_yacc.obj: soapcpp2_yacc.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-soapcpp2_yacc.obj -MD -MP -MF $(DEPDIR)/soapcpp2-soapcpp2_yacc.Tpo -c -o soapcpp2-soapcpp2_yacc.obj `if test -f 'soapcpp2_yacc.c'; then $(CYGPATH_W) 'soapcpp2_yacc.c'; else $(CYGPATH_W) '$(srcdir)/soapcpp2_yacc.c'; fi`
+	mv -f $(DEPDIR)/soapcpp2-soapcpp2_yacc.Tpo $(DEPDIR)/soapcpp2-soapcpp2_yacc.Po
+#	source='soapcpp2_yacc.c' object='soapcpp2-soapcpp2_yacc.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-soapcpp2_yacc.obj `if test -f 'soapcpp2_yacc.c'; then $(CYGPATH_W) 'soapcpp2_yacc.c'; else $(CYGPATH_W) '$(srcdir)/soapcpp2_yacc.c'; fi`
+
+soapcpp2-soapcpp2_lex.o: soapcpp2_lex.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-soapcpp2_lex.o -MD -MP -MF $(DEPDIR)/soapcpp2-soapcpp2_lex.Tpo -c -o soapcpp2-soapcpp2_lex.o `test -f 'soapcpp2_lex.c' || echo '$(srcdir)/'`soapcpp2_lex.c
+	mv -f $(DEPDIR)/soapcpp2-soapcpp2_lex.Tpo $(DEPDIR)/soapcpp2-soapcpp2_lex.Po
+#	source='soapcpp2_lex.c' object='soapcpp2-soapcpp2_lex.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-soapcpp2_lex.o `test -f 'soapcpp2_lex.c' || echo '$(srcdir)/'`soapcpp2_lex.c
+
+soapcpp2-soapcpp2_lex.obj: soapcpp2_lex.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-soapcpp2_lex.obj -MD -MP -MF $(DEPDIR)/soapcpp2-soapcpp2_lex.Tpo -c -o soapcpp2-soapcpp2_lex.obj `if test -f 'soapcpp2_lex.c'; then $(CYGPATH_W) 'soapcpp2_lex.c'; else $(CYGPATH_W) '$(srcdir)/soapcpp2_lex.c'; fi`
+	mv -f $(DEPDIR)/soapcpp2-soapcpp2_lex.Tpo $(DEPDIR)/soapcpp2-soapcpp2_lex.Po
+#	source='soapcpp2_lex.c' object='soapcpp2-soapcpp2_lex.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-soapcpp2_lex.obj `if test -f 'soapcpp2_lex.c'; then $(CYGPATH_W) 'soapcpp2_lex.c'; else $(CYGPATH_W) '$(srcdir)/soapcpp2_lex.c'; fi`
+
+soapcpp2-symbol2.o: symbol2.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-symbol2.o -MD -MP -MF $(DEPDIR)/soapcpp2-symbol2.Tpo -c -o soapcpp2-symbol2.o `test -f 'symbol2.c' || echo '$(srcdir)/'`symbol2.c
+	mv -f $(DEPDIR)/soapcpp2-symbol2.Tpo $(DEPDIR)/soapcpp2-symbol2.Po
+#	source='symbol2.c' object='soapcpp2-symbol2.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-symbol2.o `test -f 'symbol2.c' || echo '$(srcdir)/'`symbol2.c
+
+soapcpp2-symbol2.obj: symbol2.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-symbol2.obj -MD -MP -MF $(DEPDIR)/soapcpp2-symbol2.Tpo -c -o soapcpp2-symbol2.obj `if test -f 'symbol2.c'; then $(CYGPATH_W) 'symbol2.c'; else $(CYGPATH_W) '$(srcdir)/symbol2.c'; fi`
+	mv -f $(DEPDIR)/soapcpp2-symbol2.Tpo $(DEPDIR)/soapcpp2-symbol2.Po
+#	source='symbol2.c' object='soapcpp2-symbol2.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-symbol2.obj `if test -f 'symbol2.c'; then $(CYGPATH_W) 'symbol2.c'; else $(CYGPATH_W) '$(srcdir)/symbol2.c'; fi`
+
+soapcpp2-error2.o: error2.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-error2.o -MD -MP -MF $(DEPDIR)/soapcpp2-error2.Tpo -c -o soapcpp2-error2.o `test -f 'error2.c' || echo '$(srcdir)/'`error2.c
+	mv -f $(DEPDIR)/soapcpp2-error2.Tpo $(DEPDIR)/soapcpp2-error2.Po
+#	source='error2.c' object='soapcpp2-error2.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-error2.o `test -f 'error2.c' || echo '$(srcdir)/'`error2.c
+
+soapcpp2-error2.obj: error2.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-error2.obj -MD -MP -MF $(DEPDIR)/soapcpp2-error2.Tpo -c -o soapcpp2-error2.obj `if test -f 'error2.c'; then $(CYGPATH_W) 'error2.c'; else $(CYGPATH_W) '$(srcdir)/error2.c'; fi`
+	mv -f $(DEPDIR)/soapcpp2-error2.Tpo $(DEPDIR)/soapcpp2-error2.Po
+#	source='error2.c' object='soapcpp2-error2.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-error2.obj `if test -f 'error2.c'; then $(CYGPATH_W) 'error2.c'; else $(CYGPATH_W) '$(srcdir)/error2.c'; fi`
+
+soapcpp2-init2.o: init2.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-init2.o -MD -MP -MF $(DEPDIR)/soapcpp2-init2.Tpo -c -o soapcpp2-init2.o `test -f 'init2.c' || echo '$(srcdir)/'`init2.c
+	mv -f $(DEPDIR)/soapcpp2-init2.Tpo $(DEPDIR)/soapcpp2-init2.Po
+#	source='init2.c' object='soapcpp2-init2.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-init2.o `test -f 'init2.c' || echo '$(srcdir)/'`init2.c
+
+soapcpp2-init2.obj: init2.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-init2.obj -MD -MP -MF $(DEPDIR)/soapcpp2-init2.Tpo -c -o soapcpp2-init2.obj `if test -f 'init2.c'; then $(CYGPATH_W) 'init2.c'; else $(CYGPATH_W) '$(srcdir)/init2.c'; fi`
+	mv -f $(DEPDIR)/soapcpp2-init2.Tpo $(DEPDIR)/soapcpp2-init2.Po
+#	source='init2.c' object='soapcpp2-init2.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-init2.obj `if test -f 'init2.c'; then $(CYGPATH_W) 'init2.c'; else $(CYGPATH_W) '$(srcdir)/init2.c'; fi`
+
+soapcpp2-soapcpp2.o: soapcpp2.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-soapcpp2.o -MD -MP -MF $(DEPDIR)/soapcpp2-soapcpp2.Tpo -c -o soapcpp2-soapcpp2.o `test -f 'soapcpp2.c' || echo '$(srcdir)/'`soapcpp2.c
+	mv -f $(DEPDIR)/soapcpp2-soapcpp2.Tpo $(DEPDIR)/soapcpp2-soapcpp2.Po
+#	source='soapcpp2.c' object='soapcpp2-soapcpp2.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-soapcpp2.o `test -f 'soapcpp2.c' || echo '$(srcdir)/'`soapcpp2.c
+
+soapcpp2-soapcpp2.obj: soapcpp2.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-soapcpp2.obj -MD -MP -MF $(DEPDIR)/soapcpp2-soapcpp2.Tpo -c -o soapcpp2-soapcpp2.obj `if test -f 'soapcpp2.c'; then $(CYGPATH_W) 'soapcpp2.c'; else $(CYGPATH_W) '$(srcdir)/soapcpp2.c'; fi`
+	mv -f $(DEPDIR)/soapcpp2-soapcpp2.Tpo $(DEPDIR)/soapcpp2-soapcpp2.Po
+#	source='soapcpp2.c' object='soapcpp2-soapcpp2.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-soapcpp2.obj `if test -f 'soapcpp2.c'; then $(CYGPATH_W) 'soapcpp2.c'; else $(CYGPATH_W) '$(srcdir)/soapcpp2.c'; fi`
+
+.l.c:
+	$(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE)
+
+.y.c:
+	$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE)
+
+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)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	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; }'`; \
+	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)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	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; }'`; \
+	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)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    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: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+	for dir in "$(DESTDIR)$(bindir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: 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."
+	-rm -f soapcpp2_lex.c
+	-rm -f soapcpp2_yacc.c
+	-rm -f soapcpp2_yacc.h
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+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
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+	clean-generic ctags distclean distclean-compile \
+	distclean-generic distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-binPROGRAMS \
+	install-data install-data-am install-dvi install-dvi-am \
+	install-exec install-exec-am install-html install-html-am \
+	install-info install-info-am install-man install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+	uninstall-am uninstall-binPROGRAMS
+
+# 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:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/src/Makefile.am	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,22 @@
+####### This is the input file for automake, which will generate Makefile.in ##########
+
+
+## not a GNU package. You can remove this line, if
+## you have all needed files, that a GNU package needs
+AUTOMAKE_OPTIONS = foreign 1.4
+
+
+#LIBS=
+AM_YFLAGS=-d -v
+AM_LFLAGS=$(LEX_FLAGS)
+
+bin_PROGRAMS=soapcpp2
+
+soapcpp2_CFLAGS=$(BISON_DEFINE) $(LEX_DEFINE) $(C_DEBUG_FLAGS) $(SOAPCPP2_IMPORTPATH) -D$(platform)
+soapcpp2_LDADD=$(YACC_LIB) $(LEXLIB)
+soapcpp2_SOURCES= soapcpp2_yacc.y soapcpp2_lex.l symbol2.c error2.c init2.c soapcpp2.c
+
+CLEANFILES= *~ soapcpp2_lex.c soapcpp2_yacc.c soapcpp2_yacc.h y.output soapcpp2_yacc.output
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/src/Makefile.in	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,569 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006  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@
+
+####### This is the input file for automake, which will generate Makefile.in ##########
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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 = soapcpp2$(EXEEXT)
+subdir = gsoap/src
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	soapcpp2_lex.c soapcpp2_yacc.c soapcpp2_yacc.h
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_soapcpp2_OBJECTS = soapcpp2-soapcpp2_yacc.$(OBJEXT) \
+	soapcpp2-soapcpp2_lex.$(OBJEXT) soapcpp2-symbol2.$(OBJEXT) \
+	soapcpp2-error2.$(OBJEXT) soapcpp2-init2.$(OBJEXT) \
+	soapcpp2-soapcpp2.$(OBJEXT)
+soapcpp2_OBJECTS = $(am_soapcpp2_OBJECTS)
+am__DEPENDENCIES_1 =
+soapcpp2_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+soapcpp2_LINK = $(CCLD) $(soapcpp2_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS)
+YLWRAP = $(top_srcdir)/ylwrap
+YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
+SOURCES = $(soapcpp2_SOURCES)
+DIST_SOURCES = $(soapcpp2_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BISON_DEFINE = @BISON_DEFINE@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_SAMPLES = @ENABLE_SAMPLES@
+EXEEXT = @EXEEXT@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LEX = @LEX@
+LEXLIB = @LEXLIB@
+LEX_DEFINE = @LEX_DEFINE@
+LEX_FLAGS = @LEX_FLAGS@
+LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SAMPLE_DIRS = @SAMPLE_DIRS@
+SAMPLE_EXTRA_LIBS = @SAMPLE_EXTRA_LIBS@
+SAMPLE_SSL_LIBS = @SAMPLE_SSL_LIBS@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOAPCPP2_DEBUG = @SOAPCPP2_DEBUG@
+SOAPCPP2_IMPORTPATH = @SOAPCPP2_IMPORTPATH@
+SOAPCPP2_IPV6 = @SOAPCPP2_IPV6@
+SOAPCPP2_NONAMESPACES = @SOAPCPP2_NONAMESPACES@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WSDL2H_EXTRA_FLAGS = @WSDL2H_EXTRA_FLAGS@
+WSDL2H_EXTRA_LIBS = @WSDL2H_EXTRA_LIBS@
+WSDL2H_IMPORTPATH = @WSDL2H_IMPORTPATH@
+WSDL2H_SOAP_CPP_LIB = @WSDL2H_SOAP_CPP_LIB@
+YACC = @YACC@
+YACC_LIB = @YACC_LIB@
+YFLAGS = @YFLAGS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+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@
+builddir = @builddir@
+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@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+platform = @platform@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = foreign 1.4
+
+#LIBS=
+AM_YFLAGS = -d -v
+AM_LFLAGS = $(LEX_FLAGS)
+soapcpp2_CFLAGS = $(BISON_DEFINE) $(LEX_DEFINE) $(C_DEBUG_FLAGS) $(SOAPCPP2_IMPORTPATH) -D$(platform)
+soapcpp2_LDADD = $(YACC_LIB) $(LEXLIB)
+soapcpp2_SOURCES = soapcpp2_yacc.y soapcpp2_lex.l symbol2.c error2.c init2.c soapcpp2.c
+CLEANFILES = *~ soapcpp2_lex.c soapcpp2_yacc.c soapcpp2_yacc.h y.output soapcpp2_yacc.output
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .l .o .obj .y
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(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  gsoap/src/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  gsoap/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:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+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 \
+	  ; then \
+	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+	   echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	   $(INSTALL_PROGRAM_ENV) $(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:
+	-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+soapcpp2_yacc.h: soapcpp2_yacc.c
+	@if test ! -f $@; then \
+	  rm -f soapcpp2_yacc.c; \
+	  $(MAKE) $(AM_MAKEFLAGS) soapcpp2_yacc.c; \
+	else :; fi
+soapcpp2$(EXEEXT): $(soapcpp2_OBJECTS) $(soapcpp2_DEPENDENCIES) 
+	@rm -f soapcpp2$(EXEEXT)
+	$(soapcpp2_LINK) $(soapcpp2_OBJECTS) $(soapcpp2_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soapcpp2-error2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soapcpp2-init2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soapcpp2-soapcpp2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soapcpp2-soapcpp2_lex.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soapcpp2-soapcpp2_yacc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soapcpp2-symbol2.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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) '$<'`
+
+soapcpp2-soapcpp2_yacc.o: soapcpp2_yacc.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-soapcpp2_yacc.o -MD -MP -MF $(DEPDIR)/soapcpp2-soapcpp2_yacc.Tpo -c -o soapcpp2-soapcpp2_yacc.o `test -f 'soapcpp2_yacc.c' || echo '$(srcdir)/'`soapcpp2_yacc.c
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/soapcpp2-soapcpp2_yacc.Tpo $(DEPDIR)/soapcpp2-soapcpp2_yacc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='soapcpp2_yacc.c' object='soapcpp2-soapcpp2_yacc.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) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-soapcpp2_yacc.o `test -f 'soapcpp2_yacc.c' || echo '$(srcdir)/'`soapcpp2_yacc.c
+
+soapcpp2-soapcpp2_yacc.obj: soapcpp2_yacc.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-soapcpp2_yacc.obj -MD -MP -MF $(DEPDIR)/soapcpp2-soapcpp2_yacc.Tpo -c -o soapcpp2-soapcpp2_yacc.obj `if test -f 'soapcpp2_yacc.c'; then $(CYGPATH_W) 'soapcpp2_yacc.c'; else $(CYGPATH_W) '$(srcdir)/soapcpp2_yacc.c'; fi`
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/soapcpp2-soapcpp2_yacc.Tpo $(DEPDIR)/soapcpp2-soapcpp2_yacc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='soapcpp2_yacc.c' object='soapcpp2-soapcpp2_yacc.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) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-soapcpp2_yacc.obj `if test -f 'soapcpp2_yacc.c'; then $(CYGPATH_W) 'soapcpp2_yacc.c'; else $(CYGPATH_W) '$(srcdir)/soapcpp2_yacc.c'; fi`
+
+soapcpp2-soapcpp2_lex.o: soapcpp2_lex.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-soapcpp2_lex.o -MD -MP -MF $(DEPDIR)/soapcpp2-soapcpp2_lex.Tpo -c -o soapcpp2-soapcpp2_lex.o `test -f 'soapcpp2_lex.c' || echo '$(srcdir)/'`soapcpp2_lex.c
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/soapcpp2-soapcpp2_lex.Tpo $(DEPDIR)/soapcpp2-soapcpp2_lex.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='soapcpp2_lex.c' object='soapcpp2-soapcpp2_lex.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) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-soapcpp2_lex.o `test -f 'soapcpp2_lex.c' || echo '$(srcdir)/'`soapcpp2_lex.c
+
+soapcpp2-soapcpp2_lex.obj: soapcpp2_lex.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-soapcpp2_lex.obj -MD -MP -MF $(DEPDIR)/soapcpp2-soapcpp2_lex.Tpo -c -o soapcpp2-soapcpp2_lex.obj `if test -f 'soapcpp2_lex.c'; then $(CYGPATH_W) 'soapcpp2_lex.c'; else $(CYGPATH_W) '$(srcdir)/soapcpp2_lex.c'; fi`
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/soapcpp2-soapcpp2_lex.Tpo $(DEPDIR)/soapcpp2-soapcpp2_lex.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='soapcpp2_lex.c' object='soapcpp2-soapcpp2_lex.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) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-soapcpp2_lex.obj `if test -f 'soapcpp2_lex.c'; then $(CYGPATH_W) 'soapcpp2_lex.c'; else $(CYGPATH_W) '$(srcdir)/soapcpp2_lex.c'; fi`
+
+soapcpp2-symbol2.o: symbol2.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-symbol2.o -MD -MP -MF $(DEPDIR)/soapcpp2-symbol2.Tpo -c -o soapcpp2-symbol2.o `test -f 'symbol2.c' || echo '$(srcdir)/'`symbol2.c
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/soapcpp2-symbol2.Tpo $(DEPDIR)/soapcpp2-symbol2.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='symbol2.c' object='soapcpp2-symbol2.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) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-symbol2.o `test -f 'symbol2.c' || echo '$(srcdir)/'`symbol2.c
+
+soapcpp2-symbol2.obj: symbol2.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-symbol2.obj -MD -MP -MF $(DEPDIR)/soapcpp2-symbol2.Tpo -c -o soapcpp2-symbol2.obj `if test -f 'symbol2.c'; then $(CYGPATH_W) 'symbol2.c'; else $(CYGPATH_W) '$(srcdir)/symbol2.c'; fi`
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/soapcpp2-symbol2.Tpo $(DEPDIR)/soapcpp2-symbol2.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='symbol2.c' object='soapcpp2-symbol2.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) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-symbol2.obj `if test -f 'symbol2.c'; then $(CYGPATH_W) 'symbol2.c'; else $(CYGPATH_W) '$(srcdir)/symbol2.c'; fi`
+
+soapcpp2-error2.o: error2.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-error2.o -MD -MP -MF $(DEPDIR)/soapcpp2-error2.Tpo -c -o soapcpp2-error2.o `test -f 'error2.c' || echo '$(srcdir)/'`error2.c
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/soapcpp2-error2.Tpo $(DEPDIR)/soapcpp2-error2.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='error2.c' object='soapcpp2-error2.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) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-error2.o `test -f 'error2.c' || echo '$(srcdir)/'`error2.c
+
+soapcpp2-error2.obj: error2.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-error2.obj -MD -MP -MF $(DEPDIR)/soapcpp2-error2.Tpo -c -o soapcpp2-error2.obj `if test -f 'error2.c'; then $(CYGPATH_W) 'error2.c'; else $(CYGPATH_W) '$(srcdir)/error2.c'; fi`
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/soapcpp2-error2.Tpo $(DEPDIR)/soapcpp2-error2.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='error2.c' object='soapcpp2-error2.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) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-error2.obj `if test -f 'error2.c'; then $(CYGPATH_W) 'error2.c'; else $(CYGPATH_W) '$(srcdir)/error2.c'; fi`
+
+soapcpp2-init2.o: init2.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-init2.o -MD -MP -MF $(DEPDIR)/soapcpp2-init2.Tpo -c -o soapcpp2-init2.o `test -f 'init2.c' || echo '$(srcdir)/'`init2.c
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/soapcpp2-init2.Tpo $(DEPDIR)/soapcpp2-init2.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='init2.c' object='soapcpp2-init2.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) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-init2.o `test -f 'init2.c' || echo '$(srcdir)/'`init2.c
+
+soapcpp2-init2.obj: init2.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-init2.obj -MD -MP -MF $(DEPDIR)/soapcpp2-init2.Tpo -c -o soapcpp2-init2.obj `if test -f 'init2.c'; then $(CYGPATH_W) 'init2.c'; else $(CYGPATH_W) '$(srcdir)/init2.c'; fi`
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/soapcpp2-init2.Tpo $(DEPDIR)/soapcpp2-init2.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='init2.c' object='soapcpp2-init2.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) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-init2.obj `if test -f 'init2.c'; then $(CYGPATH_W) 'init2.c'; else $(CYGPATH_W) '$(srcdir)/init2.c'; fi`
+
+soapcpp2-soapcpp2.o: soapcpp2.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-soapcpp2.o -MD -MP -MF $(DEPDIR)/soapcpp2-soapcpp2.Tpo -c -o soapcpp2-soapcpp2.o `test -f 'soapcpp2.c' || echo '$(srcdir)/'`soapcpp2.c
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/soapcpp2-soapcpp2.Tpo $(DEPDIR)/soapcpp2-soapcpp2.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='soapcpp2.c' object='soapcpp2-soapcpp2.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) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-soapcpp2.o `test -f 'soapcpp2.c' || echo '$(srcdir)/'`soapcpp2.c
+
+soapcpp2-soapcpp2.obj: soapcpp2.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soapcpp2_CFLAGS) $(CFLAGS) -MT soapcpp2-soapcpp2.obj -MD -MP -MF $(DEPDIR)/soapcpp2-soapcpp2.Tpo -c -o soapcpp2-soapcpp2.obj `if test -f 'soapcpp2.c'; then $(CYGPATH_W) 'soapcpp2.c'; else $(CYGPATH_W) '$(srcdir)/soapcpp2.c'; fi`
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/soapcpp2-soapcpp2.Tpo $(DEPDIR)/soapcpp2-soapcpp2.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='soapcpp2.c' object='soapcpp2-soapcpp2.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) $(soapcpp2_CFLAGS) $(CFLAGS) -c -o soapcpp2-soapcpp2.obj `if test -f 'soapcpp2.c'; then $(CYGPATH_W) 'soapcpp2.c'; else $(CYGPATH_W) '$(srcdir)/soapcpp2.c'; fi`
+
+.l.c:
+	$(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE)
+
+.y.c:
+	$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE)
+
+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)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	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; }'`; \
+	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)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	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; }'`; \
+	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)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    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: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+	for dir in "$(DESTDIR)$(bindir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: 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."
+	-rm -f soapcpp2_lex.c
+	-rm -f soapcpp2_yacc.c
+	-rm -f soapcpp2_yacc.h
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+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
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+	clean-generic ctags distclean distclean-compile \
+	distclean-generic distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-binPROGRAMS \
+	install-data install-data-am install-dvi install-dvi-am \
+	install-exec install-exec-am install-html install-html-am \
+	install-info install-info-am install-man install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+	uninstall-am uninstall-binPROGRAMS
+
+# 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:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/src/MakefileManual	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,47 @@
+#       gSOAP soapcpp2 Makefile by Robert van Engelen, Genivia Inc.
+#	Use this to build the soapcpp2 tool when autoconf/automake are not
+#	available.
+#
+#	Dependences:
+#	Flex (or Lex)
+#	Bison
+#
+#	Mac OS X universal binary:
+#	CC=gcc -arch i386 -arch ppc
+CC=gcc
+#       use LEX=flex -l or LEX=lex
+LEX=flex -l
+#       use YACC=bison or YACC=yacc -d -v -s soapcpp2_yacc
+YACC=bison
+#	For static linkage with Flex use:
+LIBS=/usr/lib/libfl.a
+#	For static linkage with Lex use:
+#	LIBS=/usr/lib/libl.a
+COFLAGS=-O1
+#       For static linking use:
+#	COFLAGS=-O1 -static
+#       For debugging use:
+#	COFLAGS=-g
+CWFLAGS=-Wall
+#
+CIFLAGS=
+#       use -DWITH_BISON or -DWITH_YACC
+#       use -DWITH_FLEX or -DWITH_LEX
+CMFLAGS=-DWITH_BISON -DWITH_FLEX
+#
+CFLAGS= $(CWFLAGS) $(COFLAGS) $(CIFLAGS) $(CMFLAGS)
+#
+soapcpp2:	soapcpp2.h soapcpp2_yacc.tab.o symbol2.o error2.o lex.yy.o init2.o soapcpp2.o
+		$(CC) $(CFLAGS) symbol2.o error2.o soapcpp2_yacc.tab.o lex.yy.o init2.o soapcpp2.o $(LIBS) -o $@
+		cp -f soapcpp2 ../bin
+soapcpp2_yacc.tab.c:	soapcpp2_yacc.y soapcpp2.h error2.h
+		$(YACC) -d -v soapcpp2_yacc.y
+lex.yy.c:	soapcpp2_yacc.tab.h soapcpp2_yacc.tab.c soapcpp2_lex.l
+		$(LEX) soapcpp2_lex.l
+.c.o:		soapcpp2.h soapcpp2_yacc.tab.h error2.h
+		$(CC) $(CFLAGS) -c $<
+.PHONY:		clean distclean
+clean:		
+		rm -f *.o
+distclean:		
+		rm -f soapcpp2 *.o lex.yy.* soapcpp2_yacc.tab.h soapcpp2_yacc.tab.c y.tab.* *.output
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/src/README.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,116 @@
+The gSOAP 'soapcpp2' source-to-source code compiler
+
+INSTRUCTIONS
+
+The gSOAP soapcpp2 tool translates annotated C/C++ header files with interface
+defitions for services and clients to service and client implementation code.
+It also maps the C/C++ types to XML types, with the ability to generate XML
+schema and WSDL documents.
+
+When starting from WSDL and/or XML schemas, first use the gSOAP 'wsdl2h' tool
+to translate these into C/C++ header file with interface definitions. Then use
+'soapcpp2' to translate these into implementation code.
+
+See also the README.txt in the 'wsdl' directory and documentation on the use of
+'wsdl2h' with 'soapcpp2'.
+
+CONTENTS
+
+This part of the distribution contains the following files:
+
+README.txt	This file
+MakefileManual	Extra makefile when autoconf/automake fail to produce one
+soapcpp2.h	Main header file
+soapcpp2.c	Main application
+symbol2.c	Symbol table handling and code generation module
+error2.h	Header file for error2.c
+error2.c	Error handling routines
+init2.c		Compiler symbol table initialization
+soapcpp2_lex.l	Flex/Lex tokens
+soapcpp2_yacc.y	Yacc/Bison grammar
+
+INSTALLATION
+
+Use './configure' and 'make' in the root directory, as explained in the
+installation instructions.
+
+To build 'soapcpp2' when autoconf/automake fail, use:
+
+	make -f MakefileManual
+
+The above command assumes you have Bison and Flex installed. For Yacc, please
+edit MakefileManual and change as follows:
+
+YACC=yacc -d -v -s soapcpp2_yacc
+CMFLAGS=-DWITH_YACC -DWITH_FLEX
+
+QNX INSTALLATION
+
+On QNX the bison.simple file is located in $QNX_HOST/usr/share/bison.simple
+Update your .profile to include:
+
+export BISON_SIMPLE=$QNX_HOST/usr/share/bison/bison.simple 
+export BISON_HAIRY=$QNX_HOST/usr/share/bison/bison.hairy 
+
+WIN32 INSTALLATION
+
+You need to install Flex and Bison to build soapcpp2.
+
+An MSN article explains how to do this with MS VS2005:
+
+http://msdn.microsoft.com/en-us/library/aa730877(VS.80).aspx#vccustombr_topic3
+
+The older Bison v1.6 can crash on Win32 systems if YYINITDEPTH is too small:
+Compile with /DYYINITDEPTH=5000
+
+COMMAND LINE OPTIONS
+
+-1      generate SOAP 1.1 bindings
+-2      generate SOAP 1.2 bindings
+-0      remove SOAP bindings, use REST
+-C	generate client-side code only
+-S	generate server-side code only
+-T	generate server auto-test code
+-L	don't generate soapClientLib/soapServerLib
+-a	use SOAPAction with WS-Addressing to invoke server-side operations
+-A	require SOAPAction to invoke server-side operations
+-b	serialize byte arrays char[N] as string
+-c      generate C source code
+-dpath  use path to save files
+-e	generate SOAP RPC encoding style bindings
+-fN	file split of N XML serializer implementations per file (N>=10)
+-h	display help info
+-Ipath  use path(s) for #import (paths separated with ':', or ';' for windows)
+-i      generate C++ service proxies and objects inherited from soap struct
+-j      generate C++ service proxies and objects that share a soap struct
+-k      generate data structure walkers (experimental)
+-l      generate linkable modules (experimental)
+-m      generate Matlab(tm) code for MEX compiler
+-n      use service name to rename service functions and namespace table
+-pname  save files with new prefix name instead of 'soap'
+-Qname  use name as the C++ namespace for decls, including custom serializers
+-qname  use name as the C++ namespace of all declarations
+-s      generate deserialization code with strict XML validation checks
+-t      generate code for fully xsi:type typed SOAP/XML messaging
+-u	uncomment comments in WSDL/schema output by suppressing XML comments
+-v	display version info
+-w	don't generate WSDL and schema files
+-x	don't generate sample XML message files
+-y	include C/C++ type access information in sample XML messages
+-z1	generate deprecated old-style C++ service proxies and objects
+infile	header file to parse (or stdin)
+
+DOCUMENTATION
+
+See soapdoc2.pdf for documentation.
+
+LICENSE
+
+The gSOAP 'soapcpp2' tool and (generated) source code are released under GPL or
+a commercial license. The commercial license is available from Genivia.
+Please visit http://genivia.com/Products/gsoap/contract.html
+
+COPYRIGHT NOTICE
+
+gSOAP XML Web services tools
+Copyright (C) 2000-2011, Robert van Engelen, Genivia, Inc. All Rights Reserved.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/src/error2.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,152 @@
+/*
+	error2.c
+
+	Error handling.
+
+gSOAP XML Web services tools
+Copyright (C) 2000-2008, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This part of the software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+#include "soapcpp2.h"
+
+#ifdef HAVE_CONFIG_H
+#include "soapcpp2_yacc.h"
+#else
+#include "soapcpp2_yacc.tab.h"
+#endif
+
+#define	MAXERR 10
+
+extern char yytext[];	/* lexeme found by the lexical analyzer */
+
+static int lexerrno = 0;
+static int synerrno = 0;
+static int semerrno = 0;
+static int semwarno = 0;
+
+char errbuf[1024];	/* to hold error messages */
+
+/*
+yyerror - called by parser from an error production with nonterminal `error'
+*/
+void yyerror(char *s)
+{	fprintf(stderr, "%s(%d): %s\n", filename, yylineno, s);
+}
+
+/*
+lexerror - called by lexical analyzer upon failure to recognize a token
+*/
+void lexerror(const char *s)
+{	fprintf(stderr, "%s(%d): %s: %s\n", filename, yylineno, s, yytext);
+	if (lexerrno++ >= MAXERR)
+		execerror("too many syntactic errors, bailing out");
+}
+
+/*
+synerror - called by a semantic action in the yacc grammar
+*/
+void synerror(const char *s)
+{	fprintf(stderr, "%s(%d): Syntax error: %s\n", filename, yylineno-1, s);
+	if (synerrno++ >= MAXERR)
+		execerror("too many syntactic errors, bailing out");
+}
+
+/*
+semerror - report semantic error from static checking
+*/
+void semerror(const char *s)
+{	fprintf(stderr, "\n%s(%d): **ERROR**: %s\n\n", filename, yylineno, s);
+	if (semerrno++ >= MAXERR)
+		execerror("too many semantic errors, bailing out");
+}
+
+/*
+semwarn - report semantic warning from static checking
+*/
+void semwarn(const char *s)
+{	fprintf(stderr, "\n%s(%d): *WARNING*: %s\n\n", filename, yylineno, s);
+	semwarno++;
+}
+
+/*
+compliancewarn - report compliance warning
+*/
+void compliancewarn(const char *s)
+{	fprintf(stderr, "Compliance warning: %s\n", s);
+}
+
+/*
+typerror - report type error (a semantic error)
+*/
+void typerror(const char *s)
+{	fprintf(stderr, "%s(%d): Type error: %s\n", filename, yylineno, s);
+	if (semerrno++ >= MAXERR)
+		execerror("too many semantic errors, bailing out");
+}
+
+/*
+execerror - print error message and terminate execution
+*/
+void execerror(const char *s)
+{	fprintf(stderr, "Critical error: %s\n", s);
+	exit(1);
+}
+
+/*
+progerror - called when check(expr) failed, i.e. upon programming error
+*/
+void progerror(const char *s, const char *f, int l)
+{	fprintf(stderr, "Program failure: %s in file %s line %d\n", s, f, l);
+	exit(1);
+}
+
+/*
+errstat - show error statistics
+*/
+int errstat(void)
+{	if (!lexerrno && !synerrno && !semerrno)
+	{	fprintf(stderr, "\nCompilation successful ");
+		if (semwarno)
+			fprintf(stderr, "(%d warning%s)\n\n", semwarno, semwarno>1?"s":"");
+		else
+			fprintf(stderr, "\n\n");
+		return 0;
+	}
+	fprintf(stderr, "\nThere were errors:\n");
+	if (lexerrno)
+		fprintf(stderr, "%d lexical error%s\n", lexerrno, lexerrno>1?"s":"");
+	if (synerrno)
+		fprintf(stderr, "%d syntax error%s\n", synerrno, synerrno>1?"s":"");
+	if (semerrno)
+		fprintf(stderr, "%d semantic error%s\n", semerrno, semerrno>1?"s":"");
+	if (semwarno)
+		fprintf(stderr, "%d warning%s\n", semwarno, semwarno>1?"s":"");
+	fprintf(stderr, "\n");
+	return -1;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/src/error2.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,52 @@
+/*
+	error2.h
+
+	Error handling.
+
+gSOAP XML Web services tools
+Copyright (C) 2000-2008, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This part of the software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+extern char errbuf[];
+
+#ifdef WIN32_WITHOUT_SOLARIS_FLEX
+extern void soapcpp2error(char*);
+#else
+extern void yyerror(char*);
+#endif
+
+extern void lexerror(const char*);
+extern void synerror(const char *);
+extern void semerror(const char *);
+extern void semwarn(const char *);
+extern void compliancewarn(const char *);
+extern void typerror(const char*);
+extern void execerror(const char*);
+extern void progerror(const char*, const char*, int);
+extern int errstat(void);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/src/init2.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,206 @@
+/*
+	init2.c
+
+	Symbol table initialization.
+
+gSOAP XML Web services tools
+Copyright (C) 2000-2008, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This part of the software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+#include "soapcpp2.h"
+
+#ifdef HAVE_CONFIG_H
+#include "soapcpp2_yacc.h"
+#else
+#include "soapcpp2_yacc.tab.h"
+#endif
+
+typedef	struct Keyword
+{ char *s;	/* name */
+  Token t;	/* token */
+} Keyword;
+
+static Keyword keywords[] =
+{	{ "asm",		NONE },
+	{ "auto",		AUTO },
+	{ "bool",		BOOL },
+	{ "break",		BREAK },
+	{ "case",		CASE },
+	{ "catch",		NONE },
+	{ "char",		CHAR },
+	{ "class",		CLASS },
+	{ "const",		CONST },
+	{ "const_cast",		NONE },
+	{ "continue",		CONTINUE },
+	{ "default",		DEFAULT },
+	{ "delete",		NONE },
+	{ "do",			DO },
+	{ "double",		DOUBLE },
+	{ "dynamic_cast",	NONE },
+	{ "else",		ELSE },
+	{ "enum",		ENUM },
+	{ "errno",		NONE },
+	{ "explicit",		EXPLICIT },
+	{ "export",		NONE },
+	{ "extern",		EXTERN },
+	{ "false",		CFALSE },
+	{ "float",		FLOAT },
+	{ "for",		FOR },
+	{ "friend",		FRIEND },
+	{ "goto",		GOTO },
+	{ "if",			IF },
+	{ "inline",		INLINE },
+	{ "int",		INT },
+	{ "int8_t",		CHAR },
+	{ "int16_t",		SHORT },
+	{ "int32_t",		INT },
+	{ "int64_t",		LLONG },
+	{ "long",		LONG },
+	{ "LONG64",		LLONG },
+	{ "mutable",		NONE },
+	{ "namespace",		NAMESPACE },
+	{ "new",		NONE },
+	{ "NULL",		null },
+	{ "operator",		OPERATOR },
+	{ "private",		PRIVATE },
+	{ "protected",		PROTECTED },
+	{ "public",		PUBLIC },
+	{ "register",		REGISTER },
+	{ "reinterpret_cast",	NONE },
+	{ "restrict",		NONE },
+	{ "return",		RETURN },
+	{ "short",		SHORT },
+	{ "signed",		SIGNED },
+	{ "size_t",		SIZE },
+	{ "sizeof",		SIZEOF },
+	{ "static",		STATIC },
+	{ "static_cast",	NONE },
+	{ "struct",		STRUCT },
+	{ "switch",		SWITCH },
+	{ "template",		TEMPLATE },
+	{ "this",		NONE },
+	{ "throw",		NONE },
+	{ "time_t",		TIME },
+	{ "true",		CTRUE },
+	{ "typedef",		TYPEDEF },
+	{ "typeid",		NONE },
+	{ "typename",		TYPENAME },
+	{ "uint8_t",		UCHAR },
+	{ "uint16_t",		USHORT },
+	{ "uint32_t",		UINT },
+	{ "uint64_t",		ULLONG },
+	{ "ULONG64",		ULLONG },
+	{ "union",		UNION },
+	{ "unsigned",		UNSIGNED },
+	{ "using",		USING },
+	{ "virtual",		VIRTUAL },
+	{ "void",		VOID },
+	{ "volatile",		VOLATILE },
+	{ "wchar_t",		WCHAR },
+	{ "while",		WHILE },
+
+	{ "operator!",		NONE },
+	{ "operator~",		NONE },
+	{ "operator=",		NONE },
+	{ "operator+=",		NONE },
+	{ "operator-=",		NONE },
+	{ "operator*=",		NONE },
+	{ "operator/=",		NONE },
+	{ "operator%=",		NONE },
+	{ "operator&=",		NONE },
+	{ "operator^=",		NONE },
+	{ "operator|=",		NONE },
+	{ "operator<<=",	NONE },
+	{ "operator>>=",	NONE },
+	{ "operator||",		NONE },
+	{ "operator&&",		NONE },
+	{ "operator|",		NONE },
+	{ "operator^",		NONE },
+	{ "operator&",		NONE },
+	{ "operator==",		NONE },
+	{ "operator!=",		NONE },
+	{ "operator<",		NONE },
+	{ "operator<=",		NONE },
+	{ "operator>",		NONE },
+	{ "operator>=",		NONE },
+	{ "operator<<",		NONE },
+	{ "operator>>",		NONE },
+	{ "operator+",		NONE },
+	{ "operator-",		NONE },
+	{ "operator*",		NONE },
+	{ "operator/",		NONE },
+	{ "operator%",		NONE },
+	{ "operator++",		NONE },
+	{ "operator--",		NONE },
+	{ "operator->",		NONE },
+	{ "operator[]",		NONE },
+	{ "operator()",		NONE },
+
+	{ "mustUnderstand",	MUSTUNDERSTAND },
+
+	{ "soap",		ID },
+	{ "SOAP_ENV__Header",	ID },
+	{ "dummy",		ID },
+	{ "soap_header",	ID },
+
+	{ "SOAP_ENV__Fault",	ID },
+	{ "SOAP_ENV__Code",	ID },
+	{ "SOAP_ENV__Subcode",	ID },
+	{ "SOAP_ENV__Reason",	ID },
+	{ "SOAP_ENV__Text",	ID },
+	{ "SOAP_ENV__Detail",	ID },
+	{ "SOAP_ENV__Value",	ID },
+	{ "SOAP_ENV__Node",	ID },
+	{ "SOAP_ENV__Role",	ID },
+	{ "faultcode",		ID },
+	{ "faultstring",	ID },
+	{ "faultactor",		ID },
+	{ "detail",		ID },
+	{ "__type",		ID },
+	{ "fault",		ID },
+	{ "__any",		ID },
+
+	{ "_QName",		ID },
+	{ "_XML",		ID },
+	{ "std::string",	TYPE },
+	{ "std::wstring",	TYPE },
+
+	{ "/*?*/",		NONE },
+
+	{ 0,			0 }
+};
+
+/*
+init - initialize symbol table with predefined keywords
+*/
+void init(void)
+{ struct Keyword *k;
+  for (k = keywords; k->s; k++)
+    install(k->s, k->t);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/src/soapcpp2.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,329 @@
+/*
+	soapcpp2.c
+
+	Main compiler and code generator batch program.
+
+gSOAP XML Web services tools
+Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This part of the software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+#include "soapcpp2.h"
+
+#ifndef SOAPCPP2_IMPORT_PATH
+#define SOAPCPP2_IMPORT_PATH (NULL)
+#endif
+
+extern void init(void);
+extern int yyparse(void);
+extern FILE *yyin;
+
+extern char *ns_cname(char*, char*);
+
+FILE *fmsg;		/* fd to flush compiler messages */
+
+int vflag = 0;		/* SOAP version, -1=no SOAP, 0=not set, 1=1.1, 2=1.2 */
+int wflag = 0;		/* when set, don't generate WSDL and schema files */
+int Cflag = 0;		/* when set, generate only files for clients */
+int cflag = 0;		/* when set, generate files with .c extension */
+int aflag = 0;		/* when set, use value of SOAP Action to dispatch method at server side */
+int Aflag = 0;		/* when set, require SOAP Action to dispatch method at server side */
+int bflag = 0;		/* when set, serialize byte arrays char[N] as string */
+int eflag = 0;		/* when set, use SOAP RPC encoding by default */
+unsigned long fflag = 0;/* multi-file split for each bundle of -fN defs */
+int iflag = 0;		/* when set, generate new style proxy/object classes inherited from soap struct */
+int jflag = 0;		/* when set, generate new style proxy/object classes */
+int kflag = 0;		/* when set, generate data traversal/walker routines */
+int mflag = 0;		/* when set, generate code that requires array/binary classes to explicitly remove malloced array */
+int nflag = 0;		/* when set, names the namespaces global struct '%NAME%_namespaces */
+int lflag = 0;		/* when set, create library */
+int Lflag = 0;		/* when set, don't generate soapClientLib/soapServerLib */
+int Qflag = 0;		/* when set, use C++ namespaces for custom serializers */
+int sflag = 0;		/* when set, generate strict validation checks */
+int Sflag = 0;		/* when set, generate only files for servers */
+int Tflag = 0;		/* when set, generates server auto-test code */
+int tflag = 0;		/* when set, generates typed messsages (with xsi:type attributes) */
+int uflag = 0;		/* when set, uncomment WSDL and schema output */
+int xflag = 0;		/* when set, don't generate sample XML message files */
+int yflag = 0;		/* when set, add C/C++ info in sample XML messages */
+int zflag = 0;		/* when set, use backward compatibility option */
+
+int stop_flag = 0;
+
+char dirpath[1024];	/* directory path for generated source files */
+char *prefix = "soap";	/* file name prefix for generated source files */
+char filename[1024];	/* current file name */
+char *importpath = SOAPCPP2_IMPORT_PATH; /* default file import path */
+
+/*
+IMPORTANT:
+
+The terms and conditions of use of this software do not allow for the removal
+of the copyright notice from the main program for visual display. For
+integrations with other software, a similar copyright notice must be produced
+that is visible to users of the software.
+*/
+
+int
+main(int argc, char **argv)
+{	int i, g;
+	char *a, *s;
+	fmsg = stderr;
+	strcpy(filename, "<stdin>");
+	for (i = 1; i < argc; i++)
+	{	a = argv[i];
+		if (*a == '-'
+#ifdef WIN32
+		 || *a == '/'
+#endif
+		)
+		{	g = 1;
+			while (g && *++a)
+				switch (*a)
+				{	case 'C':
+						Cflag = 1;
+						if (Sflag)
+            					  fprintf(stderr, "soapcpp2: using both options -C and -S omits client/server code\n");
+						break;
+					case 'c':
+						cflag = 1;
+						break;
+					case 'd':
+						a++;
+						g = 0;
+						if (*a)
+							strcpy(dirpath, a);
+						else if (i < argc && argv[++i])
+							strcpy(dirpath, argv[i]);
+						else
+							execerror("Option -d requires a directory path");
+						if (*dirpath && dirpath[strlen(dirpath)-1] != '/' && dirpath[strlen(dirpath)-1] != '\\')
+							strcat(dirpath, SOAP_PATHCAT);
+						break;
+					case 'e':
+						eflag = 1;
+						break;
+					case 'f':
+						a++;
+						g = 0;
+						if (*a)
+							fflag = strtoul(a, NULL, 10);
+						else if (i < argc && argv[++i])
+							fflag = strtoul(argv[i], NULL, 10);
+						if (!fflag)
+							execerror("Option -f requires a value");
+						if (fflag < 10)
+						  fflag = 10;
+						break;
+					case 'a':
+						aflag = 1;
+						break;
+					case 'A':
+						aflag = 1;
+						Aflag = 1;
+						break;
+					case 'b':
+						bflag = 1;
+						break;
+					case '?':
+					case 'h':
+						fprintf(stderr, "Usage: soapcpp2 [-0|-1|-2] [-C|-S] [-T] [-L] [-a] [-A] [-b] [-c] [-d path] [-e] [-f N] [-h] [-i] [-I path"SOAP_PATHSEP"path"SOAP_PATHSEP"...] [-k] [-l] [-m] [-n] [-p name] [-s] [-t] [-u] [-v] [-w] [-x] [-y] [-z#] [infile]\n\n");
+						fprintf(stderr, "\
+-1      generate SOAP 1.1 bindings\n\
+-2      generate SOAP 1.2 bindings\n\
+-0      remove SOAP bindings, use REST\n\
+-C	generate client-side code only\n\
+-S	generate server-side code only\n\
+-T	generate server auto-test code\n\
+-L	don't generate soapClientLib/soapServerLib\n\
+-a	use SOAPAction with WS-Addressing to invoke server-side operations\n\
+-A	require SOAPAction to invoke server-side operations\n\
+-b	serialize byte arrays char[N] as string\n\
+-c      generate C source code\n\
+-dpath  use path to save files\n\
+-e	generate SOAP RPC encoding style bindings\n\
+-fN	file split of N XML serializer implementations per file (N>=10)\n\
+-h	display help info\n\
+-Ipath  use path(s) for #import (paths separated with '"SOAP_PATHSEP"')\n\
+-i      generate C++ service proxies and objects inherited from soap struct\n\
+-j      generate C++ service proxies and objects that share a soap struct\n\
+-k      generate data structure walkers (experimental)\n\
+-l      generate linkable modules (experimental)\n\
+-m      generate Matlab(tm) code for MEX compiler\n\
+-n      use service name to rename service functions and namespace table\n\
+-pname  save files with new prefix name instead of 'soap'\n\
+-Qname  use name as the C++ namespace for decls, including custom serializers\n\
+-qname  use name as the C++ namespace for decls, excluding custom serializers\n\
+-s      generate deserialization code with strict XML validation checks\n\
+-t      generate code for fully xsi:type typed SOAP/XML messaging\n\
+-u	uncomment comments in WSDL/schema output by suppressing XML comments\n\
+-v	display version info\n\
+-w	don't generate WSDL and schema files\n\
+-x	don't generate sample XML message files\n\
+-y	include C/C++ type access information in sample XML messages\n\
+-z1	generate deprecated old-style C++ service proxies and objects\n\
+infile	header file to parse (or stdin)\n\
+\n");
+						exit(0);
+					case 'I':
+						a++;
+						g = 0;
+						s = NULL;
+						if (*a)
+							s = a;
+						else if (i < argc && argv[++i])
+							s = argv[i];
+						else
+							execerror("Option -I requires an import path");
+						if (importpath && s)
+						{	char *t	= emalloc(strlen(importpath) + strlen(s) + 2);
+							strcpy(t, importpath);
+							strcat(t, SOAP_PATHSEP);
+							strcat(t, s);
+							importpath = t;
+						}
+						else
+							importpath = s;
+						break;
+					case 'i':
+						iflag = 1;
+						break;
+					case 'j':
+						jflag = 1;
+						break;
+					case 'k':
+						kflag = 1;
+						break;
+					case 'm':
+						mflag = 1;
+						break;
+					case 'n':
+						nflag = 1;
+						break;
+					case 'l':
+						lflag = 1;
+						break;
+					case 'L':
+						Lflag = 1;
+						break;
+					case 's':
+						sflag = 1;
+						break;
+					case 'S':
+						Sflag = 1;
+						if (Cflag)
+            					  fprintf(stderr, "soapcpp2: using both options -C and -S omits client/server code\n");
+						break;
+					case 'T':
+						Tflag = 1;
+						break;
+					case 't':
+						tflag = 1;
+						break;
+					case 'u':
+						uflag = 1;
+						break;
+					case 'w':
+						wflag = 1;
+						break;
+					case 'x':
+						xflag = 1;
+						break;
+					case 'y':
+						yflag = 1;
+						break;
+					case 'p':
+						a++;
+						g = 0;
+						if (*a)
+							prefix = ns_cname(a, NULL);
+						else if (i < argc && argv[++i])
+							prefix = ns_cname(argv[i], NULL);
+						else
+							execerror("Option -p requires an output file name prefix");
+						break;
+					case 'Q':
+						Qflag = 1;
+						/* fall through */
+					case 'q':
+						a++;
+						g = 0;
+						if (*a)
+							namespaceid = ns_cname(a, NULL);
+						else if (i < argc && argv[++i])
+							namespaceid = ns_cname(argv[i], NULL);
+						else
+							execerror("Option -q requires a namespace name");
+						break;
+					case '0':
+						vflag = -1;
+						break;
+					case '1':
+						vflag = 1;
+						envURI = "http://schemas.xmlsoap.org/soap/envelope/";
+						encURI = "http://schemas.xmlsoap.org/soap/encoding/";
+						break;
+					case '2':
+						vflag = 2;
+						envURI = "http://www.w3.org/2003/05/soap-envelope";
+						encURI = "http://www.w3.org/2003/05/soap-encoding";
+						rpcURI = "http://www.w3.org/2003/05/soap-rpc";
+						break;
+					case 'v':
+						stop_flag = 1;
+						break;
+					case 'z':
+						a++;
+						g = 0;
+						if (*a)
+							zflag = *a - '0';
+						else if (i < argc && argv[++i])
+							zflag = *argv[i] - '0';
+						else
+							execerror("Option -z requires a digit");
+						break;
+					default:
+            					fprintf(stderr, "soapcpp2: Unknown option %s\n", a);
+            					exit(1);
+				}
+		}
+		else if (!(yyin = fopen(argv[i], "r")))
+		{	sprintf(errbuf, "Cannot open file \"%s\" for reading", argv[i]);
+			execerror(errbuf);
+		}
+		else
+			strcpy(filename, argv[i]);
+	}
+	fprintf(fmsg, "\n**  The gSOAP code generator for C and C++, soapcpp2 release "VERSION"\n**  Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc.\n**  All Rights Reserved. This product is provided \"as is\", without any warranty.\n**  The soapcpp2 tool is released under one of the following licenses:\n**  GPL or the commercial license by Genivia Inc.\n\n");
+	if (stop_flag)
+	  exit(0);
+	init();
+	if (yyparse())
+		synerror("skipping the remaining part of the input");
+	return errstat();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/src/soapcpp2.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,414 @@
+/*
+	soapcpp2.h
+
+	Common declarations.
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2000-2012, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This part of the software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <string.h>
+#include <ctype.h>
+#include <time.h>
+#include "error2.h"
+
+#ifndef VERSION
+# define VERSION "2.8.17r" /* Current version */
+# define GSOAP_VERSION 20817
+#endif
+
+#ifdef WIN32
+# pragma warning(disable : 4996)
+# ifndef WITH_BISON
+#  define WITH_BISON
+# endif
+#endif
+
+/* #define DEBUG */ /* uncomment to debug */
+
+#ifdef DEBUG
+# define	check(expr, msg) (void)((expr) ? 0 : (progerror(msg, __FILE__, __LINE__), 0))
+# define DBGLOG(DBGCMD) { DBGCMD; }
+#else
+# define check(expr, msg) (void)(expr)
+# define DBGLOG(DBGCMD)
+#endif
+
+#ifdef WIN32
+# ifdef WITH_BISON
+#  ifdef WIN32_WITHOUT_SOLARIS_FLEX
+#   define yyparse soapcpp2parse
+#   define yylex soapcpp2lex
+#   define yyerror soapcpp2error
+#   define yylval soapcpp2lval
+#   define yychar soapcpp2char
+#   define yydebug soapcpp2debug
+#   define yynerrs soapcpp2nerrs
+#   define yylineno soapcpp2lineno
+#   define yytext soapcpp2text
+#   define yyin soapcpp2in
+#   define yywrap soapcpp2wrap
+#  endif
+# endif
+#endif
+
+#ifdef WIN32
+# define SOAP_PATHCAT "\\"
+# define SOAP_PATHSEP ";"
+# define LONG64 __int64
+#else
+# define SOAP_PATHCAT "/"
+# define SOAP_PATHSEP ":"
+# define LONG64 long long
+#endif
+
+#if defined(WIN32)
+# define SOAP_LONG_FORMAT "%I64d"
+# define SOAP_ULONG_FORMAT "%I64u"
+# define SOAP_XLONG_FORMAT "%I64x"
+#elif defined(TRU64)
+# define SOAP_LONG_FORMAT "%ld"
+# define SOAP_ULONG_FORMAT "%lu"
+# define SOAP_XLONG_FORMAT "%lx"
+#endif
+
+#ifndef SOAP_LONG_FORMAT
+# define SOAP_LONG_FORMAT "%lld"	/* printf format for 64 bit ints */
+#endif
+#ifndef SOAP_ULONG_FORMAT
+# define SOAP_ULONG_FORMAT "%llu"	/* printf format for unsigned 64 bit ints */
+#endif
+#ifndef SOAP_XLONG_FORMAT
+# define SOAP_XLONG_FORMAT "%llx"	/* printf format for unsigned 64 bit hex ints */
+#endif
+
+extern int yylineno;
+
+typedef	enum Bool {False, True} Bool;
+
+typedef	int Token;
+
+typedef	enum Type
+{	Tnone,
+	Tvoid,		/* primitive types */
+	Tchar,
+	Twchar,
+	Tshort,
+	Tint,
+	Tlong,
+	Tllong,
+	Tfloat,
+	Tdouble,
+	Tldouble,
+	Tuchar,
+	Tushort,
+	Tuint,
+	Tulong,
+	Tullong,
+	Ttime,
+	Tenum,
+	Tclass,		/* compound types */
+	Tstruct,
+	Tunion,
+	Tpointer,
+	Treference,
+	Tarray,
+	Ttemplate,
+	Tfun
+} Type;
+
+#define	TYPES (Tfun+1)	/* number of type (operators) enumerated above */
+
+typedef	enum Storage
+{	Snone		= 0,
+	Sauto		= 0x000001,
+	Sregister	= 0x000002,
+	Sstatic		= 0x000004,
+	Sextern		= 0x000008,
+	Stypedef	= 0x000010,
+	Svirtual	= 0x000020,
+	Sconst		= 0x000040,
+	Sconstobj	= 0x000080,
+	Sconstptr	= 0x000100,
+	Sfriend		= 0x000200,
+	Sinline		= 0x000400,
+	Sabstract	= 0x000800,
+	SmustUnderstand	= 0x001000,
+	Sreturn		= 0x002000,
+	Sattribute	= 0x004000,
+	Sspecial	= 0x008000,
+	Sexplicit	= 0x010000,
+	Sprivate	= 0x020000,
+	Sprotected	= 0x040000
+} Storage;
+
+typedef	enum Level { INTERNAL, GLOBAL, PARAM, LOCAL } Level;
+
+#define mknone()	mktype(Tnone,     NULL, 0)
+#define mkvoid()	mktype(Tvoid,     NULL, 0)
+#define mkbool()	mktype(Tenum,     booltable, 4)
+#define mkchar()	mktype(Tchar,     NULL, 1)
+#define mkwchart()	mktype(Twchar,    NULL, 4)
+#define mkshort()	mktype(Tshort,    NULL, 2)
+#define mkint()		mktype(Tint,      NULL, 4)
+#define mklong()	mktype(Tlong,     NULL, 8)
+#define mkllong()	mktype(Tllong,    NULL, 8)
+#define mkfloat()	mktype(Tfloat,    NULL, 4)
+#define mkdouble()	mktype(Tdouble,   NULL, 8)
+#define mkldouble()	mktype(Tldouble,  NULL, 16)	/* long double */
+#define mkuchar()	mktype(Tuchar,    NULL, 1)	/* unsigned char */
+#define mkushort()	mktype(Tushort,   NULL, 2)	/* unsigned short */
+#define mkuint()	mktype(Tuint,     NULL, 4)	/* unsigned int */
+#define mkulong()	mktype(Tulong,    NULL, 8)	/* unsigned long */
+#define mkullong()	mktype(Tullong,   NULL, 8)	/* unsigned long */
+#define mktimet()	mktype(Ttime,     NULL, 4)
+#define mkenum(t)	mktype(Tenum,	  t,    4)
+#define mkmask(t)	mktype(Tenum,	  t,    8)
+#define	mkpointer(t)	mktype(Tpointer,  t,    4)
+#define	mkreference(t)	mktype(Treference,t,    4)
+#define	mkclass(t, w)	mktype(Tclass,    t,    w)
+#define	mkstruct(t, w)	mktype(Tstruct,   t,    w)
+#define	mkunion(t, w)	mktype(Tunion,    t,    w)
+#define	mkarray(t, w)	mktype(Tarray,    t,    w)
+#define	mkfun(t)	mktype(Tfun,      t,    0)
+#define mkstring()	mkpointer(mkchar())
+
+#define MINLONG64 (0x8000000000000000LL)
+#define MAXLONG64 (0x7FFFFFFFFFFFFFFFLL)
+
+typedef struct Symbol
+{	char	*name;
+	Token	token;
+	struct	Symbol *next;
+} Symbol;
+
+Symbol	*install(const char*, Token), *lookup(const char*), *gensym(const char*), *gensymidx(const char*, int);
+
+typedef	struct Tnode
+{	Type	type;
+	void	*ref;
+	Symbol	*id;	/* struct/class/union/enum name */
+	Symbol	*base;	/* base class name */
+	Symbol	*sym;	/* typedef name */
+	struct	Entry *response; /* funcs only: points to response struct */
+	int	width;
+	int	transient;
+	const char *imported;
+	struct	Tnode *next;
+        Bool	generated;
+        Bool	classed;	/* class qualified */
+        Bool	wsdl;
+	int	num;
+	char	*pattern;
+	LONG64	minLength;
+	LONG64	maxLength;
+} Tnode;
+
+typedef	union Value {
+	LONG64	i;
+	double	r;
+	const char *s;
+} Value;
+
+typedef	struct IDinfo {
+	Tnode	*typ;
+	Storage	sto;
+	Bool	hasval;		/* if true, identifier is constant */
+	Value	val;		/* ... with this value */
+	int	offset;
+	LONG64	minOccurs;
+	LONG64	maxOccurs;
+} IDinfo;
+
+typedef	struct Entry {
+	Symbol	*sym;
+	char	*tag;
+	IDinfo	info;
+	Level	level;
+	int	lineno;
+	struct	Entry *next;
+} Entry;
+
+typedef	struct Table {
+	Symbol	*sym;
+	Level	level;
+	Entry	*list;
+	struct	Table *prev;
+} Table;
+
+typedef struct FNinfo {
+	Tnode	*ret;
+	Table	*args;
+} FNinfo;
+
+typedef	struct Node {
+	Tnode	*typ;
+	Storage	sto;
+	Bool	hasval;		/* if true, this node has a constant value */
+	Value	val;		/* ... this is the value */
+	LONG64	minOccurs;
+	LONG64	maxOccurs;
+	char	*pattern;
+	LONG64	minLength;
+	LONG64	maxLength;
+} Node;
+
+#define ACTION		        0x0000
+#define REQUEST_ACTION	        0x0001
+#define RESPONSE_ACTION	        0x0002
+#define FAULT_ACTION	        0x0004
+#define HDRIN		        0x0010	
+#define HDROUT		        0x0020
+#define MIMEIN		        0x0040
+#define MIMEOUT		        0x0080
+#define COMMENT		        0x0100
+#define ENCODING	        0x0200
+#define RESPONSE_ENCODING       0x0400
+#define STYLE                   0x0800
+#define FAULT                   0x1000
+#define PROTOCOL                0x2000
+
+typedef struct Data
+{	struct Data *next;
+	char *name;
+	char *text;
+} Data;
+
+typedef struct Method
+{	struct Method *next;
+	char *name;
+	short mess; /* see #defines above */
+	char *part;
+} Method;
+
+typedef struct Service
+{	struct Service *next;
+	char *ns;
+	char *name;
+	char *porttype;
+	char *portname;
+	char *binding;
+	char *definitions;
+	char *transport;
+	char *URL;
+	char *executable;
+	char *import;
+	char *URI;
+	char *URI2;
+	char *WSDL;
+	char *style;
+	char *encoding;
+	char *protocol;
+	int xsi_type;
+	char *elementForm;
+	char *attributeForm;
+	char *documentation;
+	struct Method *list;
+	struct Data *data;
+} Service;
+
+typedef struct Pragma
+{	struct Pragma *next;
+	char *pragma;
+} Pragma;
+
+extern Entry *enter(Table*, Symbol*), *entry(Table*, Symbol*), *reenter(Table*, Symbol*), *enumentry(Symbol*);
+
+extern int merge(Table*, Table*);
+
+extern Table *mktable(Table*);
+
+extern Tnode *mkmethod(Tnode*, Table*);
+
+extern char *emalloc(size_t);
+
+extern Tnode *mktype(Type, void*, int);
+extern Tnode *mksymtype(Tnode*, Symbol*);
+extern Tnode *mktemplate(Tnode*, Symbol*);
+
+extern int is_transient(Tnode*);
+extern int is_response(Tnode*);
+
+extern Table *typetable, *enumtable, *classtable, *booltable, *templatetable;
+
+extern void compile(Table*);
+extern void freetable(Table*);
+extern Entry *unlinklast(Table*); 
+
+extern FILE *fmsg;
+
+extern int aflag;
+extern int Aflag;
+extern int bflag;
+extern int vflag;
+extern int wflag;
+extern int cflag;
+extern int Cflag;
+extern int eflag;
+extern unsigned long fflag;
+extern int iflag;
+extern int jflag;
+extern int kflag;
+extern int mflag;
+extern int nflag;
+extern int nflag;
+extern int lflag;
+extern int Lflag;
+extern int Qflag;
+extern int sflag;
+extern int Sflag;
+extern int Tflag;
+extern int tflag;
+extern int uflag;
+extern int xflag;
+extern int yflag;
+extern int zflag;
+extern char dirpath[1024];
+extern char filename[1024];
+extern char *prefix;
+extern char *importpath;
+extern int custom_header;
+extern int custom_fault;
+extern Pragma *pragmas;
+extern Service *services;
+extern char *namespaceid;
+extern int transient;
+extern int imports;
+extern char *imported;
+extern int typeNO;
+
+extern char *envURI;
+extern char *encURI;
+extern char *rpcURI;
+extern char *xsiURI;
+extern char *xsdURI;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/src/soapcpp2_lex.l	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1064 @@
+/*
+	soapcpp2_lex.l
+
+	Flex/Lex tokenizer.
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This part of the software is released under ONE of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+%{
+#include "soapcpp2.h"
+
+#ifdef HAVE_CONFIG_H
+#include "soapcpp2_yacc.h"
+#else
+#include "soapcpp2_yacc.tab.h"
+#endif
+
+#ifdef WITH_BISON
+YYSTYPE yylval;
+#undef YY_INPUT
+#define YY_INPUT(buf, result, max_size) \
+	{ \
+	int c = getc(yyin); \
+	result = (c == EOF) ? YY_NULL : (buf[0] = c, 1); \
+	}
+#endif
+
+#ifndef WITH_LEX
+#define MAX_IMPORT_DEPTH 16
+static struct importlist { struct importlist *next; char name[1]; } *importlist = NULL;
+static char fnstk[MAX_IMPORT_DEPTH][1024];
+static int lnstk[MAX_IMPORT_DEPTH];
+static char *imstk[MAX_IMPORT_DEPTH];
+static YY_BUFFER_STATE instk[MAX_IMPORT_DEPTH];
+#endif
+int imports = 0;
+char *imported = NULL;
+static void check_id(const char*);
+static Token install_id(void);
+static Token install_tag(void);
+static Token install_int(void);
+static Token install_hex(void);
+static Token install_num(void);
+static Token install_chr(void);
+static Token install_str(void);
+static Token install_pragma(void);
+static void directive(void), option(void);
+static Token error_chr(void);
+static Token error_str(void);
+static int convchar(int*);
+static int hexchar(int*);
+static int octchar(int*);
+static void module(const char *name, const char *fullname);
+static void import(const char *file);
+static int magic(const char *name);
+%}
+ws		[ \t\v\r\f\n\x1A\xA0]
+digit		[0-9]
+alpha		[a-zA-Z_]
+id		({alpha}|:{alpha})({alpha}|{digit}|::|:{alpha})*
+tag		`[^`\t\v\r\f\n>]+`
+int		{digit}+
+hex		0[xX][0-9a-fA-F]+
+num		{int}(\.{int}([Ee][+-]?{int})?|(\.{int})?[Ee][+-]?{int})
+chr		'(\\'|[^'\n])*'
+str		L?\"(\\\"|\\\n|[^"])*\"
+module		#module{ws}+.*\n
+import		#import{ws}+.*\n
+%x MLCOMMENT
+%%
+{ws}			{ /* skip white space */ }
+"/*"			{ BEGIN(MLCOMMENT); }
+<MLCOMMENT>.|\n		{ }
+<MLCOMMENT>"*/"		{ BEGIN(INITIAL); }
+<MLCOMMENT><<EOF>>	{ execerror("Unclosed multiline comment at the end of file"); }
+"//"\/*"gsoapopt".*\n	{ option(); }
+"//"\/*"gsoap".*\n	{ directive(); }
+"//".*\n		{ /* skip single line comment */ }
+"+="			{ return PA; }
+"-="			{ return NA; }
+"*="			{ return TA; }
+"/="			{ return DA; }
+"%="			{ return MA; }
+"&="			{ return AA; }
+"^="			{ return XA; }
+"|="			{ return OA; }
+"<<="			{ return LA; }
+">>="			{ return RA; }
+"||"			{ return OR; }
+"&&"			{ return AN; }
+"=="			{ return EQ; }
+"!="			{ return NE; }
+"<="			{ return LE; }
+">="			{ return GE; }
+"<<"			{ return LS; }
+">>"			{ return RS; }
+"++"			{ return PP; }
+"--"			{ return NN; }
+"->"			{ return AR; }
+[;,:=|^&<>+\-*/%!?~(){}\[\].@$]	{ return yytext[0]; }
+{id}			{ return install_id(); }
+{tag}			{ return install_tag(); }
+{int}			{ return install_int(); }
+{hex}			{ return install_hex(); }
+{num}			{ return install_num(); }
+{chr}			{ return install_chr(); }
+{str}			{ return install_str(); }
+{module}		{ char *s, *t, buf[1024];
+			  s = strchr(yytext, '"');
+			  if (!s)
+			    t = yytext+7;
+			  else
+			  { strcpy(buf, s+1);
+			    s = strchr(buf, '"');
+			    *s = '\0';
+			    t = strchr(s+1, '"');
+			    if (t)
+			    { t++;
+			      s = strchr(t+1, '"');
+			      if (s)
+			        *s = '\0';
+			    }
+			  }
+			  module(buf, t);
+			}
+{import}		{ char *s, buf[1024];
+			  s = strchr(yytext, '"');
+			  if (s)
+			  { strcpy(buf, s+1);
+			    s = strchr(buf, '"');
+			    *s = '\0';
+			    import(buf);
+			  }
+			  else
+		            lexerror("Invalid import directive");
+			}
+#.*\n			{ return install_pragma(); }
+'[^'\n]*/\n		{ return error_chr(); }
+\"[^"\n]*/\n		{ return error_str(); }
+.			{ lexerror("Skipping unknown symbol"); }
+<<EOF>>			{ /* when Lex complains: remove this line and below */
+#ifndef WITH_LEX
+			  if (--imports < 0)
+			    yyterminate();
+			  else
+			  { yy_delete_buffer(YY_CURRENT_BUFFER);
+			    yy_switch_to_buffer(instk[imports]);
+			    strcpy(filename, fnstk[imports]);
+			    yylineno = lnstk[imports];
+			    imported = imstk[imports];
+			  }
+#endif
+			}
+%%
+
+/*
+	install_id - lookup identifier in symbol table. If found, return token
+	and symbol table entry. If not found, create entry in symbol table and
+	return ID token.
+*/ 
+static Token
+install_id()
+{	Symbol *p = lookup(yytext);
+	if (!p)
+	{	int i, flag = 0;
+		p = install(yytext, ID);
+		/* [_](x|X)(m|M)(l|L)__ is OK */
+		/* [_](x|X)(m|M)(l|L).* is not OK */
+		/* .*__(x|X)(m|M)(l|L) is not OK */
+		/* .*::(x|X)(m|M)(l|L) is not OK */
+		for (i = 0; i < yyleng; i++)
+		{	if ((yytext[i] == '_' && yytext[i+1] == '_')
+			 || (yytext[i] == ':' && yytext[i+1] == ':'))
+			{	flag = 1;
+				check_id(yytext + i + 2);
+			}
+		}
+		if (!flag && strcmp(yytext, "XML"))
+			check_id(yytext);
+	}
+	yylval.sym = p;
+	return p->token;
+}
+
+/*
+	install_tag - 
+	return TAG token.
+*/ 
+static Token
+install_tag()
+{	yylval.s = emalloc(yyleng-1);	/* yyleng = length(yytext) */
+	strcpy(yylval.s, yytext+1);
+	yylval.s[yyleng-2] = '\0';
+	return TAG;
+}
+
+/*
+	check_id - check for (x|X)(m|M)(l|L)
+*/
+static void
+check_id(const char *s)
+{	while (*s == '_')
+		s++;
+	if ((s[0] == 'x' || s[0] == 'X')
+	 && (s[1] == 'm' || s[1] == 'M')
+	 && (s[2] == 'l' || s[2] == 'L'))
+	{	sprintf(errbuf, "identifier '%s' starts with or embeds '%3.3s' character sequence exclusively reserved for the XML standard (for enum constants: please ignore this warning)", yytext, s);
+		semwarn(errbuf);
+	}
+}
+
+/*
+	install_int - convert digits to integer and return LNG token.
+*/
+static Token
+install_int(void)
+{
+	sscanf(yytext, SOAP_ULONG_FORMAT, &yylval.i);
+	return LNG;
+}
+
+/*
+	install_hex - convert hexadecimal digits to integer and return LNG
+*/
+static Token
+install_hex(void)
+{
+	sscanf(yytext, SOAP_XLONG_FORMAT, &yylval.i);
+	return LNG;
+}
+
+/*
+	install_num - convert digits to floating point number and return DBL
+*/
+static Token
+install_num(void)
+{	sscanf(yytext, "%lf", &yylval.r);
+	return DBL;
+}
+
+/*
+	install_chr - convert character constant and return CHR.
+*/
+static Token
+install_chr(void)
+{	int i = 2;
+	if (yytext[1] == '\\')
+		yylval.c = convchar(&i);
+	else	yylval.c = yytext[i-1];
+	if (yytext[i] != '\'')
+		lexerror("Illegal character constant");
+	return CHR;
+}
+
+/*
+	install_str - convert and store string in memory. Return STR.
+*/
+static Token
+install_str(void)
+{	int i, j = 0;
+	yylval.s = emalloc(yyleng-1);	/* yyleng = length(yytext) */
+	for (i = 1 + (yytext[0] == 'L'); i < yyleng-1; i++)
+		if (yytext[i] == '\\')
+		{	if (yytext[++i] != '\n')
+			{	yylval.s[j++] = convchar(&i);
+				i--;
+			}
+		}
+		else
+			yylval.s[j++] = yytext[i];
+	yylval.s[j] = '\0';
+	return STR;
+}
+
+/*
+	install_pragma - store pragma in string. Return PRAGMA.
+*/
+static Token
+install_pragma(void)
+{	yylval.s = emalloc(yyleng);	/* yyleng = length(yytext) */
+	strncpy(yylval.s, yytext, strlen(yytext)-1);
+	yylval.s[strlen(yytext)-1] = '\0';
+	return PRAGMA;
+}
+
+static void directive(void)
+{	int i, j, k;
+	char *s;
+	Service *sp;
+	Method *m;
+	Data *d;
+	int service;
+	for (i = 7; yytext[i]; i++)
+		if (yytext[i] > 32)
+			break;
+	for (j = i; yytext[j]; j++)
+		if (yytext[j] <= 32)
+			break;
+	if (i == j)
+		return;
+	s = (char*)emalloc(j-i+1);
+	for (k = 0; k < j-i; k++)
+	{ s[k] = yytext[k+i];
+	  if (s[k] == '_')
+	    s[k] = '-';
+	}
+	s[k] = '\0';
+	for (sp = services; sp; sp = sp->next)
+		if (!strcmp(sp->ns, s))
+			break;
+	if (!sp)
+	{	sp = (Service*)emalloc(sizeof(Service));
+		sp->next = services;
+		sp->ns = s;
+		sp->name = NULL;
+		sp->porttype = NULL;
+		sp->portname = NULL;
+		sp->binding = NULL;
+		sp->definitions = NULL;
+		sp->transport = NULL;
+		sp->URL = NULL;
+		sp->URI = NULL;
+		sp->URI2 = NULL;
+		sp->WSDL = NULL;
+		sp->style = NULL;
+		sp->encoding = NULL;
+		sp->protocol = NULL;
+		sp->xsi_type = 0;
+		sp->elementForm = NULL;
+		sp->attributeForm = NULL;
+		sp->executable = NULL;
+		sp->import = NULL;
+		sp->documentation = NULL;
+		sp->list = NULL;
+		sp->data = NULL;
+		services = sp;
+	}
+	for (i = j; yytext[i]; i++)
+		if (yytext[i] > 32)
+			break;
+	if (!strncmp(yytext+i, "service", 7) || !strncmp(yytext+i, "schema", 6))
+	{	service = strncmp(yytext+i, "schema", 6);
+		for (i += 7; yytext[i]; i++)
+			if (yytext[i] > 32)
+				break;
+		for (j = i; yytext[j]; j++)
+			if (yytext[j] <= 32)
+				break;
+		for (; yytext[j]; j++)
+			if (yytext[j] > 32)
+				break;
+		for (k = j; yytext[k]; k++)
+			if (yytext[k] <= 32)
+				break;
+		/*
+		if (j == k)
+			return;
+		*/
+		s = (char*)emalloc(k-j+1);
+		strncpy(s, yytext+j, k-j);
+		s[k-j] = '\0';
+		if (!strncmp(yytext+i, "name:", 5))
+		{	sp->name = s;
+			for (j = k; yytext[j]; j++)
+				if (yytext[j] > 32)
+					break;
+			for (k = j; yytext[k]; k++)
+				if (yytext[k] == 10 || yytext[k] == 13)
+					break;
+			if (j == k)
+				return;
+			s = (char*)emalloc(k-j+1);
+			strncpy(s, yytext+j, k-j);
+			s[k-j] = '\0';
+			sp->documentation = s;
+		}
+		else if (!strncmp(yytext+i, "type:", 5) || !strncmp(yytext+i, "portType:", 9) || !strncmp(yytext+i, "interface:", 10))
+			sp->porttype = s;
+		else if (!strncmp(yytext+i, "portName:", 9))
+			sp->portname = s;
+		else if (!strncmp(yytext+i, "binding:", 8))
+			sp->binding = s;
+		else if (!strncmp(yytext+i, "definitions:", 12))
+			sp->definitions = s;
+		else if (!strncmp(yytext+i, "documentation:", 14))
+		{	for (k = j; yytext[k]; k++)
+				if (yytext[k] == 10 || yytext[k] == 13)
+					break;
+			if (j == k)
+				return;
+			s = (char*)emalloc(k-j+1);
+			strncpy(s, yytext+j, k-j);
+			s[k-j] = '\0';
+			sp->documentation = s;
+		}
+		else if (!strncmp(yytext+i, "transport:", 10))
+			sp->transport = s;
+		else if (!strncmp(yytext+i, "location:", 9) || !strncmp(yytext+i, "endpoint:", 9) || !strncmp(yytext+i, "port:", 5))
+		{	if (sp->URL)
+			{	char *t = (char*)emalloc(strlen(sp->URL) + strlen(s) + 2);
+				strcpy(t, sp->URL);
+				strcat(t, " ");
+				strcat(t, s);
+				sp->URL = t;
+			}
+			else
+				sp->URL = s;
+			if (!service && !sp->import)
+				sp->import = s;
+		}
+		else if (!strncmp(yytext+i, "executable:", 11))
+			sp->executable = s;
+		else if (!strncmp(yytext+i, "namespace:", 10))
+		{	if (service)
+			{	if (!sp->URI)
+					sp->URI = s;
+				sp->WSDL = s;
+			}
+			else if (!strcmp(sp->ns, "SOAP-ENV"))
+			{	if (vflag > 0)
+					semwarn("option -1 or -2 overrides SOAP-ENV namespace");
+				else
+					envURI = s;
+				sp->URI = envURI;
+			}
+			else if (!strcmp(sp->ns, "SOAP-ENC"))
+			{	if (vflag > 0)
+					semwarn("option -1 or -2 overrides SOAP-ENC namespace");
+				else
+					encURI = s;
+				sp->URI = encURI;
+			}
+			else
+				sp->URI = s;
+		}
+		else if (!strncmp(yytext+i, "namespace2:", 11))
+		{	sp->URI2 = s;
+		}
+		else if (!strncmp(yytext+i, "typed:", 6))
+		{	sp->xsi_type = (*s == 'y');
+		}
+		else if (!strncmp(yytext+i, "form:", 5))
+		{	sp->elementForm = s;
+			sp->attributeForm = s;
+		}
+		else if (!strncmp(yytext+i, "elementForm:", 12))
+			sp->elementForm = s;
+		else if (!strncmp(yytext+i, "attributeForm:", 14))
+			sp->attributeForm = s;
+		else if (!strncmp(yytext+i, "import:", 7))
+		{	if (!sp->URI)
+				sp->URI = s;
+			sp->import = s;
+		}
+		else if (!strncmp(yytext+i, "encoding:", 9))
+		{	if (!strcmp(s, "encoded"))
+				sp->encoding = "";
+			else
+				sp->encoding = s;
+		}
+		else if (!strncmp(yytext+i, "style:", 6))
+			sp->style = s;
+		else if (!strncmp(yytext+i, "protocol:", 9))
+			sp->protocol = s;
+		else if (!strncmp(yytext+i, "method-protocol:", 16))
+		{	m = (Method*)emalloc(sizeof(Method));
+			m->name = s;
+			m->mess = PROTOCOL;
+			m->part = NULL;
+			m->next = sp->list;
+			sp->list = m;
+			for (j = k; yytext[j]; j++)
+				if (yytext[j] > 32)
+					break;
+			for (k = j; yytext[k]; k++)
+				if (yytext[k] == 10 || yytext[k] == 13)
+					break;
+			if (j == k)
+				return;
+			s = (char*)emalloc(k-j+1);
+			strncpy(s, yytext+j, k-j);
+			s[k-j] = '\0';
+			m->part = s;
+		}
+		else if (!strncmp(yytext+i, "method-style:", 13))
+		{	m = (Method*)emalloc(sizeof(Method));
+			m->name = s;
+			m->mess = STYLE;
+			m->part = NULL;
+			m->next = sp->list;
+			sp->list = m;
+			for (j = k; yytext[j]; j++)
+				if (yytext[j] > 32)
+					break;
+			for (k = j; yytext[k]; k++)
+				if (yytext[k] == 10 || yytext[k] == 13)
+					break;
+			if (j == k)
+				return;
+			s = (char*)emalloc(k-j+1);
+			strncpy(s, yytext+j, k-j);
+			s[k-j] = '\0';
+			m->part = s;
+		}
+		else if (!strncmp(yytext+i, "method-encoding:", 16))
+		{	m = (Method*)emalloc(sizeof(Method));
+			m->name = s;
+			m->mess = ENCODING;
+			m->part = NULL;
+			m->next = sp->list;
+			sp->list = m;
+			for (j = k; yytext[j]; j++)
+				if (yytext[j] > 32)
+					break;
+			for (k = j; yytext[k]; k++)
+				if (yytext[k] == 10 || yytext[k] == 13)
+					break;
+			if (j == k)
+				return;
+			s = (char*)emalloc(k-j+1);
+			strncpy(s, yytext+j, k-j);
+			s[k-j] = '\0';
+		 	if (strcmp(s, "encoded"))
+				m->part = s;
+			else
+				m->part = "";
+		}
+		else if (!strncmp(yytext+i, "method-response-encoding:", 25))
+		{	m = (Method*)emalloc(sizeof(Method));
+			m->name = s;
+			m->mess = RESPONSE_ENCODING;
+			m->part = NULL;
+			m->next = sp->list;
+			sp->list = m;
+			for (j = k; yytext[j]; j++)
+				if (yytext[j] > 32)
+					break;
+			for (k = j; yytext[k]; k++)
+				if (yytext[k] == 10 || yytext[k] == 13)
+					break;
+			if (j == k)
+				return;
+			s = (char*)emalloc(k-j+1);
+			strncpy(s, yytext+j, k-j);
+			s[k-j] = '\0';
+		 	if (strcmp(s, "encoded"))
+				m->part = s;
+			else
+				m->part = "";
+		}
+		else if (!strncmp(yytext+i, "method-documentation:", 21))
+		{	m = (Method*)emalloc(sizeof(Method));
+			m->name = s;
+			m->mess = COMMENT;
+			m->part = NULL;
+			m->next = sp->list;
+			sp->list = m;
+			for (j = k; yytext[j]; j++)
+				if (yytext[j] > 32)
+					break;
+			for (k = j; yytext[k]; k++)
+				if (yytext[k] == 10 || yytext[k] == 13)
+					break;
+			if (j == k)
+				return;
+			s = (char*)emalloc(k-j+1);
+			strncpy(s, yytext+j, k-j);
+			s[k-j] = '\0';
+			m->part = s;
+		}
+		else if (!strncmp(yytext+i, "method-action:", 14))
+		{	m = (Method*)emalloc(sizeof(Method));
+			m->name = s;
+			m->mess = ACTION;
+			m->part = NULL;
+			m->next = sp->list;
+			sp->list = m;
+			for (j = k; yytext[j]; j++)
+				if (yytext[j] > 32)
+					break;
+			for (k = j; yytext[k]; k++)
+				if (yytext[k] == 10 || yytext[k] == 13)
+					break;
+			if (j == k)
+				return;
+			s = (char*)emalloc(k-j+1);
+			strncpy(s, yytext+j, k-j);
+			s[k-j] = '\0';
+			m->part = s;
+		}
+		else if (!strncmp(yytext+i, "method-input-action:", 20))
+		{	m = (Method*)emalloc(sizeof(Method));
+			m->name = s;
+			m->mess = REQUEST_ACTION;
+			m->part = NULL;
+			m->next = sp->list;
+			sp->list = m;
+			for (j = k; yytext[j]; j++)
+				if (yytext[j] > 32)
+					break;
+			for (k = j; yytext[k]; k++)
+				if (yytext[k] == 10 || yytext[k] == 13)
+					break;
+			if (j == k)
+				return;
+			s = (char*)emalloc(k-j+1);
+			strncpy(s, yytext+j, k-j);
+			s[k-j] = '\0';
+			m->part = s;
+		}
+		else if (!strncmp(yytext+i, "method-output-action:", 21))
+		{	m = (Method*)emalloc(sizeof(Method));
+			m->name = s;
+			m->mess = RESPONSE_ACTION;
+			m->part = NULL;
+			m->next = sp->list;
+			sp->list = m;
+			for (j = k; yytext[j]; j++)
+				if (yytext[j] > 32)
+					break;
+			for (k = j; yytext[k]; k++)
+				if (yytext[k] == 10 || yytext[k] == 13)
+					break;
+			if (j == k)
+				return;
+			s = (char*)emalloc(k-j+1);
+			strncpy(s, yytext+j, k-j);
+			s[k-j] = '\0';
+			m->part = s;
+		}
+		else if (!strncmp(yytext+i, "method-fault-action:", 20))
+		{	m = (Method*)emalloc(sizeof(Method));
+			m->name = s;
+			m->mess = FAULT_ACTION;
+			m->part = NULL;
+			m->next = sp->list;
+			sp->list = m;
+			for (j = k; yytext[j]; j++)
+				if (yytext[j] > 32)
+					break;
+			for (k = j; yytext[k]; k++)
+				if (yytext[k] == 10 || yytext[k] == 13)
+					break;
+			if (j == k)
+				return;
+			s = (char*)emalloc(k-j+1);
+			strncpy(s, yytext+j, k-j);
+			s[k-j] = '\0';
+			m->part = s;
+		}
+		else if (!strncmp(yytext+i, "method-mime-type:", 17))
+		{	m = (Method*)emalloc(sizeof(Method));
+			m->name = s;
+			m->mess = MIMEIN | MIMEOUT;
+			m->part = NULL;
+			m->next = sp->list;
+			sp->list = m;
+			for (j = k; yytext[j]; j++)
+				if (yytext[j] > 32)
+					break;
+			for (k = j; yytext[k]; k++)
+				if (yytext[k] <= 32)
+					break;
+			if (j == k)
+				return;
+			s = (char*)emalloc(k-j+1);
+			strncpy(s, yytext+j, k-j);
+			s[k-j] = '\0';
+			m->part = s;
+		}
+		else if (!strncmp(yytext+i, "method-input-mime-type:", 23))
+		{	m = (Method*)emalloc(sizeof(Method));
+			m->name = s;
+			m->mess = MIMEIN;
+			m->part = NULL;
+			m->next = sp->list;
+			sp->list = m;
+			for (j = k; yytext[j]; j++)
+				if (yytext[j] > 32)
+					break;
+			for (k = j; yytext[k]; k++)
+				if (yytext[k] <= 32)
+					break;
+			if (j == k)
+				return;
+			s = (char*)emalloc(k-j+1);
+			strncpy(s, yytext+j, k-j);
+			s[k-j] = '\0';
+			m->part = s;
+		}
+		else if (!strncmp(yytext+i, "method-output-mime-type:", 24))
+		{	m = (Method*)emalloc(sizeof(Method));
+			m->name = s;
+			m->mess = MIMEOUT;
+			m->part = NULL;
+			m->next = sp->list;
+			sp->list = m;
+			for (j = k; yytext[j]; j++)
+				if (yytext[j] > 32)
+					break;
+			for (k = j; yytext[k]; k++)
+				if (yytext[k] <= 32)
+					break;
+			if (j == k)
+				return;
+			s = (char*)emalloc(k-j+1);
+			strncpy(s, yytext+j, k-j);
+			s[k-j] = '\0';
+			m->part = s;
+		}
+		else if (!strncmp(yytext+i, "method-header-part:", 19))
+		{	m = (Method*)emalloc(sizeof(Method));
+			m->name = s;
+			m->mess = HDRIN | HDROUT;
+			m->part = NULL;
+			m->next = sp->list;
+			sp->list = m;
+			for (j = k; yytext[j]; j++)
+				if (yytext[j] > 32)
+					break;
+			for (k = j; yytext[k]; k++)
+				if (yytext[k] <= 32)
+					break;
+			if (j == k)
+				return;
+			s = (char*)emalloc(k-j+1);
+			strncpy(s, yytext+j, k-j);
+			s[k-j] = '\0';
+			m->part = s;
+		}
+		else if (!strncmp(yytext+i, "method-input-header-part:", 25))
+		{	m = (Method*)emalloc(sizeof(Method));
+			m->name = s;
+			m->mess = HDRIN;
+			m->part = NULL;
+			m->next = sp->list;
+			sp->list = m;
+			for (j = k; yytext[j]; j++)
+				if (yytext[j] > 32)
+					break;
+			for (k = j; yytext[k]; k++)
+				if (yytext[k] <= 32)
+					break;
+			if (j == k)
+				return;
+			s = (char*)emalloc(k-j+1);
+			strncpy(s, yytext+j, k-j);
+			s[k-j] = '\0';
+			m->part = s;
+		}
+		else if (!strncmp(yytext+i, "method-output-header-part:", 26))
+		{	m = (Method*)emalloc(sizeof(Method));
+			m->name = s;
+			m->mess = HDROUT;
+			m->part = NULL;
+			m->next = sp->list;
+			sp->list = m;
+			for (j = k; yytext[j]; j++)
+				if (yytext[j] > 32)
+					break;
+			for (k = j; yytext[k]; k++)
+				if (yytext[k] <= 32)
+					break;
+			if (j == k)
+				return;
+			s = (char*)emalloc(k-j+1);
+			strncpy(s, yytext+j, k-j);
+			s[k-j] = '\0';
+			m->part = s;
+		}
+		else if (!strncmp(yytext+i, "method-fault:", 13))
+		{	m = (Method*)emalloc(sizeof(Method));
+			m->name = s;
+			m->mess = FAULT;
+			m->part = NULL;
+			m->next = sp->list;
+			sp->list = m;
+			for (j = k; yytext[j]; j++)
+				if (yytext[j] > 32)
+					break;
+			for (k = j; yytext[k]; k++)
+				if (yytext[k] <= 32)
+					break;
+			if (j == k)
+				return;
+			s = (char*)emalloc(k-j+1);
+			strncpy(s, yytext+j, k-j);
+			s[k-j] = '\0';
+			m->part = s;
+		}
+		else if (!strncmp(yytext+i, "type-documentation:", 19))
+		{	d = (Data*)emalloc(sizeof(Data));
+			d->name = s;
+			d->text = NULL;
+			d->next = sp->data;
+			sp->data = d;
+			for (j = k; yytext[j]; j++)
+				if (yytext[j] > 32)
+					break;
+			for (k = j; yytext[k]; k++)
+				if (yytext[k] == 10 || yytext[k] == 13)
+					break;
+			if (j == k)
+				return;
+			s = (char*)emalloc(k-j+1);
+			strncpy(s, yytext+j, k-j);
+			s[k-j] = '\0';
+			d->text = s;
+		}
+		else
+                {	sprintf(errbuf, "unrecognized gsoap directive: %s", yytext+i);
+			semwarn(errbuf);
+		}
+	}
+	else
+        {	sprintf(errbuf, "unrecognized gsoap directive: %s", yytext);
+		semwarn(errbuf);
+	}
+}
+
+static void option(void)
+{	int i;
+	if (imports)
+        {	sprintf(errbuf, "options directive: %s ignored in imported file(s)", yytext);
+		semwarn(errbuf);
+		return;
+	}
+	for (i = 10; yytext[i]; i++)
+		if (yytext[i] > 32)
+			break;
+	for (; yytext[i]; i++)
+		switch (yytext[i])
+		{	case 'a':
+				aflag = 1;
+				break;
+			case 'c':
+				cflag = 1;
+				break;
+		 	case 'e':
+				eflag = 1;
+				break;
+		 	case 'n':
+				nflag = 1;
+				break;
+		 	case 'l':
+				lflag = 1;
+				break;
+		 	case 't':
+				tflag = 1;
+				break;
+		 	case 'w':
+				wflag = 1;
+				break;
+			default:
+				if (yytext[i] <= 32)
+					return;
+		}
+}
+
+/*
+	error_chr - lexical error in character constant. Return character 0 to
+	allow parsing to continue
+*/
+static Token
+error_chr(void)
+{	lexerror("Ending-' missing in character constant");
+	yylval.c = '\0';
+	return CHR;
+}
+
+/*
+	error_str - lexical error in string. Return empty string to allow
+	parsing to continue
+*/
+static Token
+error_str(void)
+{	lexerror("Ending-\" missing in string");
+	yylval.s = "";
+	return STR;
+}
+
+/*
+	Character conversion functions
+*/
+static int
+convchar(int *p)
+{	switch (yytext[(*p)++])
+	{	case 'a':	return '\a';
+		case 'b':	return '\b';
+		case 'f':	return '\f';
+		case 'n':	return '\n';
+		case 'r':	return '\r';
+		case 't':	return '\t';
+		case 'v':	return '\v';
+		case 'x':	return hexchar(p);
+		case '0':
+		case '1':
+		case '2':
+		case '3':
+		case '4':
+		case '5':
+		case '6':
+		case '7':	(*p)--;
+				return octchar(p);
+		default:	return yytext[*p-1];
+	}
+}
+
+static int
+hexchar(int *p)
+{	int i, d, c = 0;
+	for (i = 0; isxdigit(d = yytext[*p]) && i < 2; i++)
+	{	c = (c << 4) + (d <= '9' ? d - '0' : toupper(d) - '7');
+		(*p)++;
+	}
+	return c;
+}
+
+static int
+octchar(int *p)
+{	int i, d, c = 0;
+	for (i = 0; (d = yytext[*p]) >= '0' && d <= '7' && i < 3; i++)
+	{	c = (c << 3) + d - '0';
+		(*p)++;
+	}
+	return c;
+}
+
+static void module(const char *name, const char *fullname)
+{ if (!fullname)
+    fullname = name;
+  if (imports)
+  { Pragma **pp;
+    char *s = emalloc(strlen(fullname)+15);
+    sprintf(s, "#include \"%sH.h\"", fullname);
+    for (pp = &pragmas; *pp; pp = &(*pp)->next)
+      if (!strcmp((*pp)->pragma, s))
+        break;
+    if (!*pp)
+    { *pp = (Pragma*)emalloc(sizeof(Pragma));
+      (*pp)->pragma = s;
+      (*pp)->next = NULL;
+    }
+    imported = (char*)emalloc(strlen(fullname)+1);
+    strcpy(imported, fullname);
+    fprintf(stderr, "Importing module '%s'\n\n", fullname);
+  }
+  else
+  { lflag = 1;
+    typeNO = magic(name);
+    prefix = (char*)emalloc(strlen(fullname)+1);
+    strcpy(prefix, fullname);
+    fprintf(stderr, "Compiling module '%s' (magic number = %d)\n\n", fullname, typeNO);
+  }
+}
+
+static int magic(const char *name)
+{ size_t i;
+  int n;
+  if (strlen(name) > 4)
+    semerror("#module name length must not exceed four characters");
+  n = 0;
+  for (i = 0; i < strlen(name); i++)
+    if (name[i] >= 'a' && name[i] <= 'z')
+      n = 26*n + name[i] - 'a';
+    else if (name[i] >= 'A' && name[i] <= 'Z')
+      n = 26*n + name[i] - 'A';
+    else
+      semerror("#module name must be alphabetic and the length must not exceed four characters.\nUse '#module name longname' for longer names.");
+  return 4699*n + 153424;
+}
+
+#ifdef WITH_LEX
+static void import(const char *file)
+{ execerror("Cannot #import: soapcpp2 not compiled with flex (replace lex with flex)");
+}
+#else
+static void import(const char *file)
+{ char buf[1024];
+  struct importlist *p;
+  for (p = importlist; p; p = p->next)
+    if (!strcmp(p->name, file))
+      return;
+  if (imports >= MAX_IMPORT_DEPTH)
+    execerror("Imports nested too deep");
+  instk[imports] = YY_CURRENT_BUFFER;
+  strcpy(fnstk[imports], filename);
+  lnstk[imports] = yylineno;
+  imstk[imports] = imported;
+  yylineno = 1;
+  /* imported = NULL; this is useful to change the semantics of #import to NOT consider non-module imports to be part of the current module */
+  imports++;
+  if (!(yyin = fopen(file, "r")))
+  { if (importpath)
+    { char *s, *t;
+      s = importpath;
+      do
+      { size_t n;
+        t = strstr(s, SOAP_PATHSEP);
+        if (t)
+        { if (t - s >= sizeof(buf))
+	    t = s + sizeof(buf) - 1;
+	  strncpy(buf, s, t - s);
+	  buf[t - s] = '\0';
+	  s = t + sizeof(SOAP_PATHSEP) - 1;
+	}
+	else
+        { strcpy(buf, s);
+          s = NULL;
+	}
+        n = strlen(buf) - 1;
+#ifdef __VMS
+        if (buf[n] != ']' && buf[n] != ':')
+          strcat(buf, ":");
+#else
+        if (buf[n] != SOAP_PATHCAT[0])
+	  strcat(buf, SOAP_PATHCAT);
+#endif
+        strcat(buf, file);
+        yyin = fopen(buf, "r");
+      }
+      while (s && !yyin);
+    }
+    if (!yyin)
+    { sprintf(errbuf, "#import: Cannot open file \"%s\" for reading.\nHint: use option -I<path> (for example -Igsoap/import"SOAP_PATHSEP"gsoap/custom:.)", file);
+      execerror(errbuf);
+    }
+  }
+  p = (struct importlist*)malloc(sizeof(struct importlist) + strlen(file)); /* has already + 1 byte size */
+  strcpy(p->name, file);
+  p->next = importlist;
+  importlist = p;
+  strcpy(filename, file);
+  yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE));
+}
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/src/soapcpp2_yacc.y	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1927 @@
+/*
+	soapcpp2_yacc.y
+
+	Yacc/Bison grammar.
+
+	Build notes:
+
+	1. Bison 1.6 is known to crash on Win32 systems if YYINITDEPTH is too
+	small Compile with -DYYINITDEPTH=5000
+
+	2. This grammar has one shift/reduce conflict related to the use of a
+	class declaration with a base class (e.g. class Y : public X) and the
+	use of a maxOccurs (class Y :10). Internally the conflict is resolved
+	in favor of a shift by Bison/Yacc, which leads to the correct parsing
+	behavior. Therefore, the warning can be ignored. If this leads to an
+	error, then please enable the following directive (around line 121):
+
+%expect 1 // Bison: ignore one shift/reduce conflict
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2000-2011, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This part of the software is released under ONE of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+%{
+
+#include "soapcpp2.h"
+
+#ifdef WIN32
+#ifndef __STDC__
+#define __STDC__
+#endif
+#define YYINCLUDED_STDLIB_H
+#ifdef WIN32_WITHOUT_SOLARIS_FLEX
+extern int soapcpp2lex(void);
+#else
+extern int yylex(void);
+#endif
+#else
+extern int yylex(void);
+#endif
+
+extern int is_XML(Tnode*);
+
+#define MAXNEST 16	/* max. nesting depth of scopes */
+
+struct Scope
+{	Table	*table;
+	Entry	*entry;
+	Node	node;
+	LONG64	val;
+	int	offset;
+	Bool	grow;	/* true if offset grows with declarations */
+	Bool	mask;	/* true if enum is mask */
+}	stack[MAXNEST],	/* stack of tables and offsets */
+	*sp;		/* current scope stack pointer */
+
+Table	*classtable = (Table*)0,
+	*enumtable = (Table*)0,
+	*typetable = (Table*)0,
+	*booltable = (Table*)0,
+	*templatetable = (Table*)0;
+
+char	*namespaceid = NULL;
+int	transient = 0;
+int	permission = 0;
+int	custom_header = 1;
+int	custom_fault = 1;
+Pragma	*pragmas = NULL;
+Tnode	*qname = NULL;
+Tnode	*xml = NULL;
+
+/* function prototypes for support routine section */
+static Entry	*undefined(Symbol*);
+static Tnode	*mgtype(Tnode*, Tnode*);
+static Node	op(const char*, Node, Node), iop(const char*, Node, Node), relop(const char*, Node, Node);
+static void	mkscope(Table*, int), enterscope(Table*, int), exitscope(void);
+static int	integer(Tnode*), real(Tnode*), numeric(Tnode*);
+static void	add_soap(void), add_XML(void), add_qname(void), add_header(Table*), add_fault(Table*), add_response(Entry*, Entry*), add_result(Tnode*);
+extern char	*c_storage(Storage), *c_type(Tnode*), *c_ident(Tnode*);
+extern int	is_primitive_or_string(Tnode*), is_stdstr(Tnode*), is_binary(Tnode*), is_external(Tnode*), is_mutable(Tnode*), has_attachment(Tnode*);
+
+/* Temporaries used in semantic rules */
+int	i;
+char	*s, *s1, *s2;
+Symbol	*sym;
+Entry	*p, *q;
+Tnode	*t;
+Node	tmp, c;
+Pragma	**pp;
+
+%}
+
+/* We expect one shift-reduce conflict, see build notes in the header above */
+/* %expect 1 */ /* directive is not compatible with Yacc */
+/* If Yacc complains then remove the line above to allow Yacc to proceed */
+
+%union
+{	Symbol	*sym;
+	LONG64	i;
+	double	r;
+	char	c;
+	char	*s;
+	Tnode	*typ;
+	Storage	sto;
+	Node	rec;
+	Entry	*e;
+}
+
+/* pragmas */
+%token	<s> PRAGMA
+/* keywords */
+%token	<sym> AUTO     DOUBLE  INT       STRUCT
+%token	<sym> BREAK    ELSE    LONG      SWITCH
+%token	<sym> CASE     ENUM    REGISTER  TYPEDEF
+%token	<sym> CHAR     EXTERN  RETURN    UNION
+%token	<sym> CONST    FLOAT   SHORT     UNSIGNED
+%token	<sym> CONTINUE FOR     SIGNED    VOID
+%token	<sym> DEFAULT  GOTO    SIZEOF    VOLATILE
+%token	<sym> DO       IF      STATIC    WHILE
+%token	<sym> CLASS    PRIVATE PROTECTED PUBLIC
+%token	<sym> VIRTUAL  INLINE  OPERATOR  LLONG
+%token	<sym> BOOL     CFALSE  CTRUE	 WCHAR
+%token	<sym> TIME     USING   NAMESPACE ULLONG
+%token	<sym> MUSTUNDERSTAND   SIZE      FRIEND
+%token	<sym> TEMPLATE EXPLICIT		 TYPENAME
+%token	<sym> RESTRICT null
+%token	<sym> UCHAR    USHORT  UINT      ULONG
+/* */
+%token	NONE
+/* identifiers (TYPE = typedef identifier) */
+%token	<sym> ID LAB TYPE
+/* constants */
+%token	<i> LNG
+%token	<r> DBL
+%token	<c> CHR
+%token	<s> TAG STR
+/* types and related */
+%type	<typ> type
+%type	<sto> store virtual constobj abstract
+%type	<e> fname struct class base enum
+%type	<sym> id arg name
+%type	<s> tag patt
+%type	<i> cint
+/* expressions and statements */
+%type	<rec> expr cexp oexp obex aexp abex rexp lexp pexp init spec tspec ptrs array arrayck texp qexp occurs
+/* terminals */
+%left	','
+%right	'=' PA NA TA DA MA AA XA OA LA RA  /* += -= *= /= %= &= ^= |= <<= >>= */
+%right	'?'
+%right	':'
+%left	OR		/* || */
+%left	AN		/* && */
+%left	'|'
+%left	'^'
+%left	'&'
+%left	EQ NE		/* == != */
+%left	'<' LE '>' GE	/* <= >= */
+%left	LS RS		/* << >> */
+%left	'+' '-'
+%left	'*' '/' '%'
+%left	AR		/* -> */
+%token	PP NN		/* ++ -- */
+
+%%
+
+/******************************************************************************\
+
+	Program syntax
+
+\******************************************************************************/
+
+prog	: s1 exts	{ if (lflag)
+    			  {	custom_header = 0;
+    			  	custom_fault = 0;
+			  }
+			  else
+			  {	add_header(sp->table);
+			  	add_fault(sp->table);
+			  }
+			  compile(sp->table);
+			  freetable(classtable);
+			  freetable(enumtable);
+			  freetable(typetable);
+			  freetable(booltable);
+			  freetable(templatetable);
+			}
+	;
+s1	: /* empty */	{ classtable = mktable((Table*)0);
+			  enumtable = mktable((Table*)0);
+			  typetable = mktable((Table*)0);
+			  booltable = mktable((Table*)0);
+			  templatetable = mktable((Table*)0);
+			  p = enter(booltable, lookup("false"));
+			  p->info.typ = mkint();
+			  p->info.val.i = 0;
+			  p = enter(booltable, lookup("true"));
+			  p->info.typ = mkint();
+			  p->info.val.i = 1;
+			  mkscope(mktable(mktable((Table*)0)), 0);
+			}
+	;
+exts	: NAMESPACE ID '{' exts1 '}'
+			{ namespaceid = $2->name; }
+	| exts1		{ }
+	;
+exts1	: /* empty */	{ add_soap();
+			  add_qname();
+			  add_XML();
+			}
+	| exts1 ext	{ }
+	;
+ext	: dclrs ';'	{ }
+	| pragma	{ }
+	| error ';'	{ synerror("input before ; skipped");
+			  while (sp > stack)
+			  {	freetable(sp->table);
+			  	exitscope();
+			  }
+			  yyerrok;
+			}
+	| t1		{ }
+	| t2		{ }
+	;
+pragma	: PRAGMA	{ if ($1[1] >= 'a' && $1[1] <= 'z')
+			  {	for (pp = &pragmas; *pp; pp = &(*pp)->next)
+			          ;
+				*pp = (Pragma*)emalloc(sizeof(Pragma));
+				(*pp)->pragma = (char*)emalloc(strlen($1)+1);
+				strcpy((*pp)->pragma, $1);
+				(*pp)->next = NULL;
+			  }
+			  else if ((i = atoi($1+2)) > 0)
+				yylineno = i;
+			  else
+			  {	sprintf(errbuf, "directive '%s' ignored (use #import to import files)", $1);
+			  	semwarn(errbuf);
+			  }
+			}
+	;
+
+/******************************************************************************\
+
+	Declarations
+
+\******************************************************************************/
+
+decls	: /* empty */	{ transient &= ~6;
+			  permission = 0;
+			}
+	| dclrs ';' decls
+			{ }
+	| PRIVATE ':' t3 decls
+			{ }
+	| PROTECTED ':' t4 decls
+			{ }
+	| PUBLIC ':' t5 decls
+			{ }
+	| t1 decls t2 decls
+			{ }
+	| error ';' 	{ synerror("declaration expected"); yyerrok; }
+	;
+t1	: '['		{ transient |= 1;
+			}
+	;
+t2	: ']'		{ transient &= ~1;
+			}
+	;
+t3	:		{ permission = Sprivate;
+			}
+	;
+t4	:		{ permission = Sprotected;
+			}
+	;
+t5	:		{ permission = 0;
+			}
+	;
+dclrs	: spec		{ }
+	| spec dclr	{ }
+	| spec fdclr func
+			{ }
+	| constr func	{ }
+	| destr func	{ }
+	| dclrs ',' dclr{ }
+	| dclrs ',' fdclr func
+			{ }
+	;
+dclr	: ptrs ID arrayck tag occurs init
+			{ if (($3.sto & Stypedef) && sp->table->level == GLOBAL)
+			  {	if (($3.typ->type != Tstruct && $3.typ->type != Tunion && $3.typ->type != Tenum) || strcmp($2->name, $3.typ->id->name))
+				{	p = enter(typetable, $2);
+					p->info.typ = mksymtype($3.typ, $2);
+			  		if ($3.sto & Sextern)
+						p->info.typ->transient = -1;
+					else
+						p->info.typ->transient = $3.typ->transient;
+			  		p->info.sto = $3.sto;
+					p->info.typ->pattern = $5.pattern;
+					p->info.typ->minLength = $5.minLength;
+					p->info.typ->maxLength = $5.maxLength;
+				}
+				$2->token = TYPE;
+			  }
+			  else
+			  {	p = enter(sp->table, $2);
+			  	p->tag = $4;
+			  	p->info.typ = $3.typ;
+			  	p->info.sto = (Storage)((int)$3.sto | permission);
+				if ($6.hasval)
+				{	p->info.hasval = True;
+					switch ($3.typ->type)
+					{	case Tchar:
+						case Tuchar:
+						case Tshort:
+						case Tushort:
+						case Tint:
+						case Tuint:
+						case Tlong:
+						case Tulong:
+						case Tllong:
+						case Tullong:
+						case Tenum:
+						case Ttime:
+							if ($6.typ->type == Tint || $6.typ->type == Tchar || $6.typ->type == Tenum)
+								sp->val = p->info.val.i = $6.val.i;
+							else
+							{	semerror("type error in initialization constant");
+								p->info.hasval = False;
+							}
+							break;
+						case Tfloat:
+						case Tdouble:
+						case Tldouble:
+							if ($6.typ->type == Tfloat || $6.typ->type == Tdouble || $6.typ->type == Tldouble)
+								p->info.val.r = $6.val.r;
+							else if ($6.typ->type == Tint)
+								p->info.val.r = (double)$6.val.i;
+							else
+							{	semerror("type error in initialization constant");
+								p->info.hasval = False;
+							}
+							break;
+						default:
+							if ($3.typ->type == Tpointer
+							 && (((Tnode*)$3.typ->ref)->type == Tchar || ((Tnode*)$3.typ->ref)->type == Twchar)
+							 && $6.typ->type == Tpointer
+							 && ((Tnode*)$6.typ->ref)->type == Tchar)
+								p->info.val.s = $6.val.s;
+							else if (bflag
+							 && $3.typ->type == Tarray
+							 && ((Tnode*)$3.typ->ref)->type == Tchar
+							 && $6.typ->type == Tpointer
+							 && ((Tnode*)$6.typ->ref)->type == Tchar)
+							{	if ($3.typ->width / ((Tnode*)$3.typ->ref)->width - 1 < strlen($6.val.s))
+								{	semerror("char[] initialization constant too long");
+									p->info.val.s = "";
+								}
+
+								else
+									p->info.val.s = $6.val.s;
+							}
+							else if ($3.typ->type == Tpointer
+							      && (((Tnode*)$3.typ->ref)->id == lookup("std::string") || ((Tnode*)$3.typ->ref)->id == lookup("std::wstring")))
+							      	p->info.val.s = $6.val.s;
+							else if ($3.typ->id == lookup("std::string") || $3.typ->id == lookup("std::wstring"))
+							      	p->info.val.s = $6.val.s;
+							else if ($3.typ->type == Tpointer
+							      && $6.typ->type == Tint
+							      && $6.val.i == 0)
+								p->info.val.i = 0;
+							else
+							{	semerror("type error in initialization constant");
+								p->info.hasval = False;
+							}
+							break;
+					}
+				}
+				else
+					p->info.val.i = sp->val;
+			        if ($5.minOccurs < 0)
+			        {	if ($6.hasval || ($3.sto & Sattribute) || $3.typ->type == Tpointer || $3.typ->type == Ttemplate || !strncmp($2->name, "__size", 6))
+			        		p->info.minOccurs = 0;
+			        	else
+			        		p->info.minOccurs = 1;
+				}
+				else
+					p->info.minOccurs = $5.minOccurs;
+				p->info.maxOccurs = $5.maxOccurs;
+				if (sp->mask)
+					sp->val <<= 1;
+				else
+					sp->val++;
+			  	p->info.offset = sp->offset;
+				if ($3.sto & Sextern)
+					p->level = GLOBAL;
+				else if ($3.sto & Stypedef)
+					;
+			  	else if (sp->grow)
+					sp->offset += p->info.typ->width;
+				else if (p->info.typ->width > sp->offset)
+					sp->offset = p->info.typ->width;
+			  }
+			  sp->entry = p;
+			}
+	;
+fdclr	: ptrs name	{ if ($1.sto & Stypedef)
+			  {	sprintf(errbuf, "invalid typedef qualifier for '%s'", $2->name);
+				semwarn(errbuf);
+			  }
+			  p = enter(sp->table, $2);
+			  p->info.typ = $1.typ;
+			  p->info.sto = $1.sto;
+			  p->info.hasval = False;
+			  p->info.offset = sp->offset;
+			  if (sp->grow)
+				sp->offset += p->info.typ->width;
+			  else if (p->info.typ->width > sp->offset)
+				sp->offset = p->info.typ->width;
+			  sp->entry = p;
+			}
+	;
+id	: ID		{ $$ = $1; }
+	| TYPE		{ $$ = $1; }
+	;
+name	: ID		{ $$ = $1; }
+	| OPERATOR '!'	{ $$ = lookup("operator!"); }
+	| OPERATOR '~'	{ $$ = lookup("operator~"); }
+	| OPERATOR '='	{ $$ = lookup("operator="); }
+	| OPERATOR PA	{ $$ = lookup("operator+="); }
+	| OPERATOR NA	{ $$ = lookup("operator-="); }
+	| OPERATOR TA	{ $$ = lookup("operator*="); }
+	| OPERATOR DA	{ $$ = lookup("operator/="); }
+	| OPERATOR MA	{ $$ = lookup("operator%="); }
+	| OPERATOR AA	{ $$ = lookup("operator&="); }
+	| OPERATOR XA	{ $$ = lookup("operator^="); }
+	| OPERATOR OA	{ $$ = lookup("operator|="); }
+	| OPERATOR LA	{ $$ = lookup("operator<<="); }
+	| OPERATOR RA	{ $$ = lookup("operator>>="); }
+	| OPERATOR OR	{ $$ = lookup("operator||"); }
+	| OPERATOR AN	{ $$ = lookup("operator&&"); }
+	| OPERATOR '|'	{ $$ = lookup("operator|"); }
+	| OPERATOR '^'	{ $$ = lookup("operator^"); }
+	| OPERATOR '&'	{ $$ = lookup("operator&"); }
+	| OPERATOR EQ	{ $$ = lookup("operator=="); }
+	| OPERATOR NE	{ $$ = lookup("operator!="); }
+	| OPERATOR '<'	{ $$ = lookup("operator<"); }
+	| OPERATOR LE	{ $$ = lookup("operator<="); }
+	| OPERATOR '>'	{ $$ = lookup("operator>"); }
+	| OPERATOR GE	{ $$ = lookup("operator>="); }
+	| OPERATOR LS	{ $$ = lookup("operator<<"); }
+	| OPERATOR RS	{ $$ = lookup("operator>>"); }
+	| OPERATOR '+'	{ $$ = lookup("operator+"); }
+	| OPERATOR '-'	{ $$ = lookup("operator-"); }
+	| OPERATOR '*'	{ $$ = lookup("operator*"); }
+	| OPERATOR '/'	{ $$ = lookup("operator/"); }
+	| OPERATOR '%'	{ $$ = lookup("operator%"); }
+	| OPERATOR PP	{ $$ = lookup("operator++"); }
+	| OPERATOR NN	{ $$ = lookup("operator--"); }
+	| OPERATOR AR   { $$ = lookup("operator->"); }
+	| OPERATOR'['']'{ $$ = lookup("operator[]"); }
+	| OPERATOR'('')'{ $$ = lookup("operator()"); }
+	| OPERATOR texp { s1 = c_storage($2.sto);
+			  s2 = c_type($2.typ);
+			  s = (char*)emalloc(strlen(s1) + strlen(s2) + 10);
+			  strcpy(s, "operator ");
+			  strcat(s, s1);
+			  strcat(s, s2);
+			  $$ = lookup(s);
+			  if (!$$)
+				$$ = install(s, ID);
+			}
+	;
+constr	: TYPE		{ if (!(p = entry(classtable, $1)))
+			  	semerror("invalid constructor");
+			  sp->entry = enter(sp->table, $1);
+			  sp->entry->info.typ = mknone();
+			  sp->entry->info.sto = Snone;
+			  sp->entry->info.offset = sp->offset;
+			  sp->node.typ = mkvoid();
+			  sp->node.sto = Snone;
+			}
+	;
+destr	: virtual '~' TYPE
+			{ if (!(p = entry(classtable, $3)))
+			  	semerror("invalid destructor");
+			  s = (char*)emalloc(strlen($3->name) + 2);
+			  strcpy(s, "~");
+			  strcat(s, $3->name);
+			  sym = lookup(s);
+			  if (!sym)
+				sym = install(s, ID);
+			  sp->entry = enter(sp->table, sym);
+			  sp->entry->info.typ = mknone();
+			  sp->entry->info.sto = $1;
+			  sp->entry->info.offset = sp->offset;
+			  sp->node.typ = mkvoid();
+			  sp->node.sto = Snone;
+			}
+	;
+func	: fname '(' s6 fargso ')' constobj abstract
+			{ if ($1->level == GLOBAL)
+			  {	if (!($1->info.sto & Sextern) && sp->entry && sp->entry->info.typ->type == Tpointer && ((Tnode*)sp->entry->info.typ->ref)->type == Tchar)
+			  	{	sprintf(errbuf, "last output parameter of remote method function prototype '%s' is a pointer to a char which will only return one byte: use char** instead to return a string", $1->sym->name);
+					semwarn(errbuf);
+				}
+				if ($1->info.sto & Sextern)
+				 	$1->info.typ = mkmethod($1->info.typ, sp->table);
+			  	else if (sp->entry && (sp->entry->info.typ->type == Tpointer || sp->entry->info.typ->type == Treference || sp->entry->info.typ->type == Tarray || is_transient(sp->entry->info.typ)))
+				{	if ($1->info.typ->type == Tint)
+					{	sp->entry->info.sto = (Storage)((int)sp->entry->info.sto | (int)Sreturn);
+						$1->info.typ = mkfun(sp->entry);
+						$1->info.typ->id = $1->sym;
+						if (!is_transient(sp->entry->info.typ))
+						{	if (!is_response(sp->entry->info.typ))
+							{	if (!is_XML(sp->entry->info.typ))
+									add_response($1, sp->entry);
+							}
+							else
+								add_result(sp->entry->info.typ);
+						}
+					}
+					else
+					{	sprintf(errbuf, "return type of remote method function prototype '%s' must be integer", $1->sym->name);
+						semerror(errbuf);
+					}
+				}
+			  	else
+			  	{	sprintf(errbuf, "last output parameter of remote method function prototype '%s' is a return parameter and must be a pointer or reference, or use %s(..., void) for one-way sends", $1->sym->name, $1->sym->name);
+					semerror(errbuf);
+			  	}
+				if (!($1->info.sto & Sextern))
+			  	{	unlinklast(sp->table);
+			  		if ((p = entry(classtable, $1->sym)))
+					{	if (p->info.typ->ref)
+						{	sprintf(errbuf, "remote method name clash: struct/class '%s' already declared at line %d", $1->sym->name, p->lineno);
+							semerror(errbuf);
+						}
+						else
+						{	p->info.typ->ref = sp->table;
+							p->info.typ->width = sp->offset;
+						}
+					}
+			  		else
+			  		{	p = enter(classtable, $1->sym);
+						p->info.typ = mkstruct(sp->table, sp->offset);
+						p->info.typ->id = $1->sym;
+			  		}
+			  	}
+			  }
+			  else if ($1->level == INTERNAL)
+			  {	$1->info.typ = mkmethod($1->info.typ, sp->table);
+				$1->info.sto = (Storage)((int)$1->info.sto | (int)$6 | (int)$7);
+			  	transient &= ~1;
+			  }
+			  exitscope();
+			}
+	;
+fname	:		{ $$ = sp->entry; }
+	;
+fargso	: /* empty */	{ }
+	| fargs		{ }
+	;
+fargs	: farg		{ }
+	| farg ',' fargs{ }
+	;
+farg	: tspec ptrs arg arrayck occurs init
+			{ if ($4.sto & Stypedef)
+			  	semwarn("typedef in function argument");
+			  p = enter(sp->table, $3);
+			  p->info.typ = $4.typ;
+			  p->info.sto = $4.sto;
+			  if ($5.minOccurs < 0)
+			  {	if ($6.hasval || ($4.sto & Sattribute) || $4.typ->type == Tpointer)
+			        	p->info.minOccurs = 0;
+			       	else
+			        	p->info.minOccurs = 1;
+			  }
+			  else
+				p->info.minOccurs = $5.minOccurs;
+			  p->info.maxOccurs = $5.maxOccurs;
+			  if ($6.hasval)
+			  {	p->info.hasval = True;
+				switch ($4.typ->type)
+				{	case Tchar:
+					case Tuchar:
+					case Tshort:
+					case Tushort:
+					case Tint:
+					case Tuint:
+					case Tlong:
+					case Tulong:
+					case Tenum:
+					case Ttime:
+						if ($6.typ->type == Tint || $6.typ->type == Tchar || $6.typ->type == Tenum)
+							sp->val = p->info.val.i = $6.val.i;
+						else
+						{	semerror("type error in initialization constant");
+							p->info.hasval = False;
+						}
+						break;
+					case Tfloat:
+					case Tdouble:
+					case Tldouble:
+						if ($6.typ->type == Tfloat || $6.typ->type == Tdouble || $6.typ->type == Tldouble)
+							p->info.val.r = $6.val.r;
+						else if ($6.typ->type == Tint)
+							p->info.val.r = (double)$6.val.i;
+						else
+						{	semerror("type error in initialization constant");
+							p->info.hasval = False;
+						}
+						break;
+					default:
+						if ($4.typ->type == Tpointer
+						 && (((Tnode*)$4.typ->ref)->type == Tchar || ((Tnode*)$4.typ->ref)->type == Twchar)
+						 && $6.typ->type == Tpointer
+						 && ((Tnode*)$6.typ->ref)->type == Tchar)
+							p->info.val.s = $6.val.s;
+						else if ($4.typ->type == Tpointer
+						      && (((Tnode*)$4.typ->ref)->id == lookup("std::string") || ((Tnode*)$4.typ->ref)->id == lookup("std::wstring")))
+						      	p->info.val.s = $6.val.s;
+						else if ($4.typ->id == lookup("std::string") || $4.typ->id == lookup("std::wstring"))
+						      	p->info.val.s = $6.val.s;
+						else if ($4.typ->type == Tpointer
+						      && $6.typ->type == Tint
+						      && $6.val.i == 0)
+							p->info.val.i = 0;
+						else
+						{	semerror("type error in initialization constant");
+							p->info.hasval = False;
+						}
+						break;
+				}
+			  }
+			  p->info.offset = sp->offset;
+			  if ($4.sto & Sextern)
+				p->level = GLOBAL;
+			  else if (sp->grow)
+				sp->offset += p->info.typ->width;
+			  else if (p->info.typ->width > sp->offset)
+				sp->offset = p->info.typ->width;
+			  sp->entry = p;
+			}
+	;
+arg	: /* empty */	{ if (sp->table->level != PARAM)
+			    $$ = gensymidx("param", (int)++sp->val);
+			  else if (eflag)
+				$$ = gensymidx("_param", (int)++sp->val);
+			  else
+				$$ = gensym("_param");
+			}
+	| ID		{ if (vflag == 2 && *$1->name == '_' && sp->table->level == GLOBAL)
+			  { sprintf(errbuf, "SOAP 1.2 does not support anonymous parameters '%s'", $1->name);
+			    semwarn(errbuf);
+			  }
+			  $$ = $1;
+			}
+	;
+
+/******************************************************************************\
+
+	Type specification
+
+\******************************************************************************/
+
+/* texp : type expression (subset of C) */
+texp	: tspec ptrs array
+			{ $$ = $3; }
+	| tspec ptrs ID array
+			{ $$ = $4; }
+	;
+spec	: /*empty */	{ $$.typ = mkint();
+			  $$.sto = Snone;
+			  sp->node = $$;
+			}
+	| store spec	{ if (($1 & Stypedef) && is_external($2.typ) && $2.typ->type != Tstruct && $2.typ->type != Tclass)
+			  	$$.typ = mktype($2.typ->type, $2.typ->ref, $2.typ->width);
+			  else
+			  	$$.typ = $2.typ;
+			  $$.sto = (Storage)((int)$1 | ((int)($2.sto)));
+			  if (($$.sto & Sattribute) && !is_primitive_or_string($2.typ) && !is_stdstr($2.typ) && !is_binary($2.typ) && !is_external($2.typ))
+			  {	semwarn("invalid attribute type");
+			  	$$.sto = (Storage)((int)$$.sto & ~Sattribute);
+			  }
+			  sp->node = $$;
+			  if ($1 & Sextern)
+				transient = 0;
+			}
+	| type spec	{ if ($1->type == Tint)
+				switch ($2.typ->type)
+				{ case Tchar:	$$.typ = $2.typ; break;
+				  case Tshort:	$$.typ = $2.typ; break;
+				  case Tint:	$$.typ = $1; break;
+				  case Tlong:	$$.typ = $2.typ; break;
+				  case Tllong:	$$.typ = $2.typ; break;
+				  default:	semwarn("illegal use of 'signed'");
+						$$.typ = $2.typ;
+				}
+			  else if ($1->type == Tuint)
+				switch ($2.typ->type)
+				{ case Tchar:	$$.typ = mkuchar(); break;
+				  case Tshort:	$$.typ = mkushort(); break;
+				  case Tint:	$$.typ = $1; break;
+				  case Tlong:	$$.typ = mkulong(); break;
+				  case Tllong:	$$.typ = mkullong(); break;
+				  default:	semwarn("illegal use of 'unsigned'");
+						$$.typ = $2.typ;
+				}
+			  else if ($1->type == Tlong)
+				switch ($2.typ->type)
+				{ case Tint:	$$.typ = $1; break;
+				  case Tlong:	$$.typ = mkllong(); break;
+				  case Tuint:	$$.typ = mkulong(); break;
+				  case Tulong:	$$.typ = mkullong(); break;
+				  case Tdouble:	$$.typ = mkldouble(); break;
+				  default:	semwarn("illegal use of 'long'");
+						$$.typ = $2.typ;
+				}
+			  else if ($1->type == Tulong)
+				switch ($2.typ->type)
+				{ case Tint:	$$.typ = $1; break;
+				  case Tlong:	$$.typ = mkullong(); break;
+				  case Tuint:	$$.typ = $1; break;
+				  case Tulong:	$$.typ = mkullong(); break;
+				  default:	semwarn("illegal use of 'long'");
+						$$.typ = $2.typ;
+				}
+			  else if ($2.typ->type == Tint)
+				$$.typ = $1;
+			  else
+			  	semwarn("invalid type (missing ';' or type name used as non-type identifier?)");
+			  $$.sto = $2.sto;
+			  sp->node = $$;
+			}
+	;
+tspec	: store		{ $$.typ = mkint();
+			  $$.sto = $1;
+			  sp->node = $$;
+			  if ($1 & Sextern)
+				transient = 0;
+			}
+	| type		{ $$.typ = $1;
+			  $$.sto = Snone;
+			  sp->node = $$;
+			}
+	| store tspec	{ $$.typ = $2.typ;
+			  $$.sto = (Storage)((int)$1 | (int)$2.sto);
+			  if (($$.sto & Sattribute) && !is_primitive_or_string($2.typ) && !is_stdstr($2.typ) && !is_binary($2.typ) && !is_external($2.typ))
+			  {	semwarn("invalid attribute type");
+			  	$$.sto = (Storage)((int)$$.sto & ~Sattribute);
+			  }
+			  sp->node = $$;
+			  if ($1 & Sextern)
+				transient = 0;
+			}
+	| type tspec	{ if ($1->type == Tint)
+				switch ($2.typ->type)
+				{ case Tchar:	$$.typ = $2.typ; break;
+				  case Tshort:	$$.typ = $2.typ; break;
+				  case Tint:	$$.typ = $1; break;
+				  case Tlong:	$$.typ = $2.typ; break;
+				  case Tllong:	$$.typ = $2.typ; break;
+				  default:	semwarn("illegal use of 'signed'");
+						$$.typ = $2.typ;
+				}
+			  else if ($1->type == Tuint)
+				switch ($2.typ->type)
+				{ case Tchar:	$$.typ = mkuchar(); break;
+				  case Tshort:	$$.typ = mkushort(); break;
+				  case Tint:	$$.typ = $1; break;
+				  case Tlong:	$$.typ = mkulong(); break;
+				  case Tllong:	$$.typ = mkullong(); break;
+				  default:	semwarn("illegal use of 'unsigned'");
+						$$.typ = $2.typ;
+				}
+			  else if ($1->type == Tlong)
+				switch ($2.typ->type)
+				{ case Tint:	$$.typ = $1; break;
+				  case Tlong:	$$.typ = mkllong(); break;
+				  case Tuint:	$$.typ = mkulong(); break;
+				  case Tulong:	$$.typ = mkullong(); break;
+				  case Tdouble:	$$.typ = mkldouble(); break;
+				  default:	semwarn("illegal use of 'long'");
+						$$.typ = $2.typ;
+				}
+			  else if ($1->type == Tulong)
+				switch ($2.typ->type)
+				{ case Tint:	$$.typ = $1; break;
+				  case Tlong:	$$.typ = mkullong(); break;
+				  case Tuint:	$$.typ = $1; break;
+				  case Tulong:	$$.typ = mkullong(); break;
+				  default:	semwarn("illegal use of 'long'");
+						$$.typ = $2.typ;
+				}
+			  else if ($2.typ->type == Tint)
+				$$.typ = $1;
+			  else
+			  	semwarn("invalid type");
+			  $$.sto = $2.sto;
+			  sp->node = $$;
+			}
+	;
+type	: VOID		{ $$ = mkvoid(); }
+	| BOOL		{ $$ = mkbool(); }
+	| CHAR		{ $$ = mkchar(); }
+	| WCHAR		{ $$ = mkwchart(); }
+	| SHORT		{ $$ = mkshort(); }
+	| INT		{ $$ = mkint(); }
+	| LONG		{ $$ = mklong(); }
+	| LLONG		{ $$ = mkllong(); }
+	| ULLONG	{ $$ = mkullong(); }
+	| SIZE		{ $$ = mkulong(); }
+	| FLOAT		{ $$ = mkfloat(); }
+	| DOUBLE	{ $$ = mkdouble(); }
+	| SIGNED	{ $$ = mkint(); }
+	| UNSIGNED	{ $$ = mkuint(); }
+	| UCHAR		{ $$ = mkuchar(); }
+	| USHORT	{ $$ = mkushort(); }
+	| UINT		{ $$ = mkuint(); }
+	| ULONG		{ $$ = mkulong(); }
+	| TIME		{ $$ = mktimet(); }
+	| TEMPLATE '<' tname id '>' CLASS id
+			{ if (!(p = entry(templatetable, $7)))
+			  {	p = enter(templatetable, $7);
+			  	p->info.typ = mktemplate(NULL, $7);
+			  	$7->token = TYPE;
+			  }
+			  $$ = p->info.typ;
+			}
+	| CLASS '{' s2 decls '}'
+			{ sym = gensym("_Struct");
+			  sprintf(errbuf, "anonymous class will be named '%s'", sym->name);
+			  semwarn(errbuf);
+			  if ((p = entry(classtable, sym)))
+			  {	if (p->info.typ->ref || p->info.typ->type != Tclass)
+				{	sprintf(errbuf, "class '%s' already declared at line %d", sym->name, p->lineno);
+					semerror(errbuf);
+				}
+			  }
+			  else
+			  {	p = enter(classtable, sym);
+				p->info.typ = mkclass((Table*)0, 0);
+			  }
+			  sym->token = TYPE;
+			  sp->table->sym = sym;
+			  p->info.typ->ref = sp->table;
+			  p->info.typ->width = sp->offset;
+			  p->info.typ->id = sym;
+			  $$ = p->info.typ;
+			  exitscope();
+			}
+	| class '{' s2 decls '}'
+			{ p = reenter(classtable, $1->sym);
+			  sp->table->sym = p->sym;
+			  p->info.typ->ref = sp->table;
+			  p->info.typ->width = sp->offset;
+			  p->info.typ->id = p->sym;
+			  if (p->info.typ->base)
+			  	sp->table->prev = (Table*)entry(classtable, p->info.typ->base)->info.typ->ref;
+			  $$ = p->info.typ;
+			  exitscope();
+			}
+	| class ':' base '{' s2 decls '}'
+			{ p = reenter(classtable, $1->sym);
+			  sp->table->sym = p->sym;
+			  if (!$3)
+				semerror("invalid base class");
+			  else
+			  {	sp->table->prev = (Table*)$3->info.typ->ref;
+				if (!sp->table->prev && !$3->info.typ->transient)
+				{	sprintf(errbuf, "class '%s' has incomplete type", $3->sym->name);
+					semerror(errbuf);
+				}
+			  	p->info.typ->base = $3->info.typ->id;
+			  }
+			  p->info.typ->ref = sp->table;
+			  p->info.typ->width = sp->offset;
+			  p->info.typ->id = p->sym;
+			  $$ = p->info.typ;
+			  exitscope();
+			}
+	| class		{ $1->info.typ->id = $1->sym;
+			  $$ = $1->info.typ;
+			}
+	| class ':' base
+			{ if (!$3)
+				semerror("invalid base class");
+			  else
+			  {	if (!$3->info.typ->ref && !$3->info.typ->transient)
+				{	sprintf(errbuf, "class '%s' has incomplete type", $3->sym->name);
+					semerror(errbuf);
+				}
+			  	$1->info.typ->base = $3->info.typ->id;
+			  }
+			  $1->info.typ->id = $1->sym;
+			  $$ = $1->info.typ;
+			}
+	| STRUCT '{' s2 decls '}'
+			{ sym = gensym("_Struct");
+			  sprintf(errbuf, "anonymous struct will be named '%s'", sym->name);
+			  semwarn(errbuf);
+			  if ((p = entry(classtable, sym)))
+			  {	if (p->info.typ->ref || p->info.typ->type != Tstruct)
+				{	sprintf(errbuf, "struct '%s' already declared at line %d", sym->name, p->lineno);
+					semerror(errbuf);
+				}
+				else
+				{	p->info.typ->ref = sp->table;
+					p->info.typ->width = sp->offset;
+				}
+			  }
+			  else
+			  {	p = enter(classtable, sym);
+				p->info.typ = mkstruct(sp->table, sp->offset);
+			  }
+			  p->info.typ->id = sym;
+			  $$ = p->info.typ;
+			  exitscope();
+			}
+	| struct '{' s2 decls '}'
+			{ if ((p = entry(classtable, $1->sym)) && p->info.typ->ref)
+			  {	if (is_mutable(p->info.typ))
+			  	{	if (merge((Table*)p->info.typ->ref, sp->table))
+					{	sprintf(errbuf, "member name clash in struct '%s' declared at line %d", $1->sym->name, p->lineno);
+						semerror(errbuf);
+					}
+			  		p->info.typ->width += sp->offset;
+				}
+			  }
+			  else
+			  {	p = reenter(classtable, $1->sym);
+			  	p->info.typ->ref = sp->table;
+			  	p->info.typ->width = sp->offset;
+			  	p->info.typ->id = p->sym;
+			  }
+			  $$ = p->info.typ;
+			  exitscope();
+			}
+	| STRUCT ID	{ if ((p = entry(classtable, $2)))
+			  {	if (p->info.typ->type == Tstruct)
+			  		$$ = p->info.typ;
+			  	else
+				{	sprintf(errbuf, "'struct %s' redeclaration (line %d)", $2->name, p->lineno);
+			  		semerror(errbuf);
+			  		$$ = mkint();
+				}
+			  }
+			  else
+			  {	p = enter(classtable, $2);
+			  	$$ = p->info.typ = mkstruct((Table*)0, 0);
+				p->info.typ->id = $2;
+			  }
+			}
+	| STRUCT TYPE	{ if ((p = entry(classtable, $2)))
+			  {	if (p->info.typ->type == Tstruct)
+					$$ = p->info.typ;
+			  	else
+				{	sprintf(errbuf, "'struct %s' redeclaration (line %d)", $2->name, p->lineno);
+			  		semerror(errbuf);
+			  		$$ = mkint();
+				}
+			  }
+			  else
+			  {	p = enter(classtable, $2);
+			  	$$ = p->info.typ = mkstruct((Table*)0, 0);
+				p->info.typ->id = $2;
+			  }
+			}
+	| UNION '{' s3 decls '}'
+			{ sym = gensym("_Union");
+			  sprintf(errbuf, "anonymous union will be named '%s'", sym->name);
+			  semwarn(errbuf);
+			  $$ = mkunion(sp->table, sp->offset);
+			  if ((p = entry(classtable, sym)))
+			  {	if (p->info.typ->ref)
+				{	sprintf(errbuf, "union or struct '%s' already declared at line %d", sym->name, p->lineno);
+					semerror(errbuf);
+				}
+				else
+				{	p->info.typ->ref = sp->table;
+					p->info.typ->width = sp->offset;
+				}
+			  }
+			  else
+			  {	p = enter(classtable, sym);
+				p->info.typ = mkunion(sp->table, sp->offset);
+			  }
+			  p->info.typ->id = sym;
+			  $$ = p->info.typ;
+			  exitscope();
+			}
+	| UNION id '{' s3 decls '}'
+			{ if ((p = entry(classtable, $2)))
+			  {	if (p->info.typ->ref || p->info.typ->type != Tunion)
+			  	{	sprintf(errbuf, "union '%s' already declared at line %d", $2->name, p->lineno);
+					semerror(errbuf);
+				}
+				else
+				{	p = reenter(classtable, $2);
+					p->info.typ->ref = sp->table;
+					p->info.typ->width = sp->offset;
+				}
+			  }
+			  else
+			  {	p = enter(classtable, $2);
+				p->info.typ = mkunion(sp->table, sp->offset);
+			  }
+			  p->info.typ->id = $2;
+			  $$ = p->info.typ;
+			  exitscope();
+			}
+	| UNION ID	{ if ((p = entry(classtable, $2)))
+			  {	if (p->info.typ->type == Tunion)
+					$$ = p->info.typ;
+			  	else
+				{	sprintf(errbuf, "'union %s' redeclaration (line %d)", $2->name, p->lineno);
+			  		semerror(errbuf);
+			  		$$ = mkint();
+				}
+			  }
+			  else
+			  {	p = enter(classtable, $2);
+			  	$$ = p->info.typ = mkunion((Table*) 0, 0);
+				p->info.typ->id = $2;
+			  }
+			}
+	| UNION TYPE	{ if ((p = entry(classtable, $2)))
+			  {	if (p->info.typ->type == Tunion)
+					$$ = p->info.typ;
+			  	else
+				{	sprintf(errbuf, "'union %s' redeclaration (line %d)", $2->name, p->lineno);
+			  		semerror(errbuf);
+			  		$$ = mkint();
+				}
+			  }
+			  else
+			  {	p = enter(classtable, $2);
+			  	$$ = p->info.typ = mkunion((Table*) 0, 0);
+				p->info.typ->id = $2;
+			  }
+			}
+	| ENUM '{' s2 dclrs s5 '}'
+			{ sym = gensym("_Enum");
+			  sprintf(errbuf, "anonymous enum will be named '%s'", sym->name);
+			  semwarn(errbuf);
+			  if ((p = entry(enumtable, sym)))
+			  {	if (p->info.typ->ref)
+				{	sprintf(errbuf, "enum '%s' already declared at line %d", sym->name, p->lineno);
+					semerror(errbuf);
+				}
+				else
+				{	p->info.typ->ref = sp->table;
+					p->info.typ->width = 4; /* 4 = enum */
+				}
+			  }
+			  else
+			  {	p = enter(enumtable, sym);
+				p->info.typ = mkenum(sp->table);
+			  }
+			  p->info.typ->id = sym;
+			  $$ = p->info.typ;
+			  exitscope();
+			}
+	| enum '{' s2 dclrs s5 '}'
+			{ if ((p = entry(enumtable, $1->sym)))
+			  {	if (p->info.typ->ref)
+				{	sprintf(errbuf, "enum '%s' already declared at line %d", $1->sym->name, p->lineno);
+					semerror(errbuf);
+				}
+				else
+				{	p->info.typ->ref = sp->table;
+					p->info.typ->width = 4; /* 4 = enum */
+				}
+			  }
+			  else
+			  {	p = enter(enumtable, $1->sym);
+				p->info.typ = mkenum(sp->table);
+			  }
+			  p->info.typ->id = $1->sym;
+			  $$ = p->info.typ;
+			  exitscope();
+			}
+	| ENUM '*' id '{' s4 dclrs s5 '}'
+			{ if ((p = entry(enumtable, $3)))
+			  {	if (p->info.typ->ref)
+				{	sprintf(errbuf, "enum '%s' already declared at line %d", $3->name, p->lineno);
+					semerror(errbuf);
+				}
+				else
+				{	p->info.typ->ref = sp->table;
+					p->info.typ->width = 8; /* 8 = mask */
+				}
+			  }
+			  else
+			  {	p = enter(enumtable, $3);
+				p->info.typ = mkmask(sp->table);
+			  }
+			  p->info.typ->id = $3;
+			  $$ = p->info.typ;
+			  exitscope();
+			}
+	| ENUM ID	{ if ((p = entry(enumtable, $2)))
+			  	$$ = p->info.typ;
+			  else
+			  {	p = enter(enumtable, $2);
+			  	$$ = p->info.typ = mkenum((Table*)0);
+				p->info.typ->id = $2;
+			  }
+			}
+	| ENUM TYPE	{ if ((p = entry(enumtable, $2)))
+				$$ = p->info.typ;
+			  else
+			  {	p = enter(enumtable, $2);
+			  	$$ = p->info.typ = mkenum((Table*)0);
+				p->info.typ->id = $2;
+			  }
+			}
+	| TYPE		{ if ((p = entry(typetable, $1)))
+			  	$$ = p->info.typ;
+			  else if ((p = entry(classtable, $1)))
+			  	$$ = p->info.typ;
+			  else if ((p = entry(enumtable, $1)))
+			  	$$ = p->info.typ;
+			  else if ($1 == lookup("std::string") || $1 == lookup("std::wstring"))
+			  {	p = enter(classtable, $1);
+				$$ = p->info.typ = mkclass((Table*)0, 0);
+			  	p->info.typ->id = $1;
+				if (cflag)
+			  		p->info.typ->transient = 1;	/* make std::string transient in C */
+				else
+			  		p->info.typ->transient = -2;
+			  }
+			  else
+			  {	sprintf(errbuf, "unknown type '%s'", $1->name);
+				semerror(errbuf);
+				$$ = mkint();
+			  }
+			}
+	| TYPE '<' texp '>'
+			{ if ((p = entry(templatetable, $1)))
+			  {	$$ = mktemplate($3.typ, $1);
+			  	if (has_attachment($3.typ))
+				{	sprintf(errbuf, "template type '%s<%s>' of attachment objects may lead to deserialization failures, use '%s<*%s>' instead", $1->name, $3.typ->id ? $3.typ->id->name : "", $1->name, $3.typ->id ? $3.typ->id->name : "");
+					semwarn(errbuf);
+				}
+			  }
+			  else
+			  {	sprintf(errbuf, "invalid template '%s'", $1->name);
+				semerror(errbuf);
+				$$ = mkint();
+			  }
+			}
+	| CLASS error '}'
+			{ synerror("malformed class definition (use spacing around ':' to separate derived : base)");
+			  yyerrok;
+			  $$ = mkint();
+			}
+	| STRUCT error '}'
+			{ synerror("malformed struct definition");
+			  yyerrok;
+			  $$ = mkint();
+			}
+	| UNION error '}'
+			{ synerror("malformed union definition");
+			  yyerrok;
+			  $$ = mkint();
+			}
+	| ENUM error '}'
+			{ synerror("malformed enum definition");
+			  yyerrok;
+			  $$ = mkint();
+			}
+	;
+struct	: STRUCT id	{ if ((p = entry(classtable, $2)))
+			  {	if (p->info.typ->ref)
+			   	{	if (!is_mutable(p->info.typ))
+					{	sprintf(errbuf, "struct '%s' already declared at line %d", $2->name, p->lineno);
+						semerror(errbuf);
+					}
+				}
+				else
+					p = reenter(classtable, $2);
+			  }
+			  else
+			  {	p = enter(classtable, $2);
+				p->info.typ = mkstruct((Table*)0, 0);
+			  }
+			  $$ = p;
+			}
+	;
+class	: CLASS id	{ if ((p = entry(classtable, $2)))
+			  {	if (p->info.typ->ref)
+			   	{	if (!is_mutable(p->info.typ))
+					{	sprintf(errbuf, "class '%s' already declared at line %d (redundant 'class' specifier here?)", $2->name, p->lineno);
+						semerror(errbuf);
+					}
+				}
+				else
+					p = reenter(classtable, $2);
+			  }
+			  else
+			  {	p = enter(classtable, $2);
+				p->info.typ = mkclass((Table*)0, 0);
+				p->info.typ->id = p->sym;
+			  }
+			  $2->token = TYPE;
+			  $$ = p;
+			}
+	;
+enum	: ENUM id	{ if ((p = entry(enumtable, $2)))
+			  {	if (p->info.typ->ref)
+				{	sprintf(errbuf, "enum '%s' already declared at line %d", $2->name, p->lineno);
+					semerror(errbuf);
+				}
+				/*
+				else
+					p = reenter(classtable, $2);
+			  	*/
+			  }
+			  else
+			  {	p = enter(enumtable, $2);
+				p->info.typ = mkenum(0);
+			  }
+			  $$ = p;
+			}
+	;
+tname	: CLASS		{ }
+	| TYPENAME	{ }
+	;
+base	: PROTECTED base{ $$ = $2; }
+	| PRIVATE base	{ $$ = $2; }
+	| PUBLIC base	{ $$ = $2; }
+	| TYPE		{ $$ = entry(classtable, $1);
+			  if (!$$)
+			  {	p = entry(typetable, $1);
+			  	if (p && (p->info.typ->type == Tclass || p->info.typ->type == Tstruct))
+					$$ = p;
+			  }
+			}
+	| STRUCT ID	{ $$ = entry(classtable, $2); }
+	;
+s2	: /* empty */	{ if (transient == -2)
+			  	transient = 0;
+			  permission = 0;
+			  enterscope(mktable(NULL), 0);
+			  sp->entry = NULL;
+			}
+	;
+s3	: /* empty */	{ if (transient == -2)
+			  	transient = 0;
+			  permission = 0;
+			  enterscope(mktable(NULL), 0);
+			  sp->entry = NULL;
+			  sp->grow = False;
+			}
+	;
+s4	: /* empty */	{ enterscope(mktable(NULL), 0);
+			  sp->entry = NULL;
+			  sp->mask = True;
+			  sp->val = 1;
+			}
+	;
+s5	: /* empty */	{ }
+	| ','		{ }
+	;
+s6	: /* empty */	{ if (sp->table->level == INTERNAL)
+			  	transient |= 1;
+			  permission = 0;
+			  enterscope(mktable(NULL), 0);
+			  sp->entry = NULL;
+			  sp->table->level = PARAM;
+			}
+	;
+store	: AUTO		{ $$ = Sauto; }
+	| REGISTER	{ $$ = Sregister; }
+	| STATIC	{ $$ = Sstatic; }
+	| EXPLICIT	{ $$ = Sexplicit; }
+	| EXTERN	{ $$ = Sextern; transient = 1; }
+	| TYPEDEF	{ $$ = Stypedef; }
+	| VIRTUAL	{ $$ = Svirtual; }
+	| CONST		{ $$ = Sconst; }
+	| FRIEND	{ $$ = Sfriend; }
+	| INLINE	{ $$ = Sinline; }
+	| MUSTUNDERSTAND{ $$ = SmustUnderstand; }
+	| RETURN	{ $$ = Sreturn; }
+	| '@'		{ $$ = Sattribute;
+			  if (eflag)
+			   	semwarn("SOAP RPC encoding does not support XML attributes");
+			}
+	| '$'		{ $$ = Sspecial; }
+	| VOLATILE	{ $$ = Sextern; transient = -2; }
+	;
+constobj: /* empty */	{ $$ = Snone; }
+	| CONST		{ $$ = Sconstobj; }
+	;
+abstract: /* empty */	{ $$ = Snone; }
+	| '=' LNG	{ $$ = Sabstract; }
+	;
+virtual : /* empty */	{ $$ = Snone; }
+	| VIRTUAL	{ $$ = Svirtual; }
+	;
+ptrs	: /* empty */	{ $$ = tmp = sp->node; }
+	| ptrs '*'	{ /* handle const pointers, such as const char* */
+			  if ((tmp.sto & Sconst))
+			  	tmp.sto = (Storage)(((int)tmp.sto & ~Sconst) | Sconstptr);
+			  tmp.typ = mkpointer(tmp.typ);
+			  tmp.typ->transient = transient;
+			  $$ = tmp;
+			}
+	| ptrs '&'	{ tmp.typ = mkreference(tmp.typ);
+			  tmp.typ->transient = transient;
+			  $$ = tmp;
+			}
+	;
+array	: /* empty */ 	{ $$ = tmp;	/* tmp is inherited */
+			}
+	| '[' cexp ']' array
+			{ if (!bflag && $4.typ->type == Tchar)
+			  {	sprintf(errbuf, "char[" SOAP_LONG_FORMAT "] will be serialized as an array of " SOAP_LONG_FORMAT " bytes: use soapcpp2 option -b to enable char[] string serialization or use char* for strings", $2.val.i, $2.val.i);
+			  	semwarn(errbuf);
+			  }
+			  if ($2.hasval && $2.typ->type == Tint && $2.val.i > 0 && $4.typ->width > 0)
+				$$.typ = mkarray($4.typ, (int) $2.val.i * $4.typ->width);
+			  else
+			  {	$$.typ = mkarray($4.typ, 0);
+			  	semerror("undetermined array size");
+			  }
+			  $$.sto = $4.sto;
+			}
+	| '[' ']' array	{ $$.typ = mkpointer($3.typ); /* zero size array = pointer */
+			  $$.sto = $3.sto;
+			}
+	;
+arrayck	: array		{ if ($1.typ->type == Tstruct || $1.typ->type == Tclass)
+				if (!$1.typ->ref && !$1.typ->transient && !($1.sto & Stypedef))
+			   	{	sprintf(errbuf, "struct/class '%s' has incomplete type", $1.typ->id->name);
+					semerror(errbuf);
+				}
+			  $$ = $1;
+			}
+	;
+init	: /* empty */   { $$.hasval = False; }
+	| '=' cexp      { if ($2.hasval)
+			  {	$$.typ = $2.typ;
+				$$.hasval = True;
+				$$.val = $2.val;
+			  }
+			  else
+			  {	$$.hasval = False;
+				semerror("initialization expression not constant");
+			  }
+			}
+	;
+tag	: /* empty */	{ $$ = NULL; }
+	| TAG		{ $$ = $1; }
+	;
+occurs	: patt
+			{ $$.minOccurs = -1;
+			  $$.maxOccurs = 1;
+			  $$.minLength = MINLONG64;
+			  $$.maxLength = MAXLONG64;
+			  $$.pattern = $1;
+			}
+	| patt cint
+			{ $$.minOccurs = (LONG64)$2;
+			  $$.maxOccurs = 1;
+			  $$.minLength = (LONG64)$2;
+			  $$.maxLength = MAXLONG64;
+			  $$.pattern = $1;
+			}
+	| patt cint ':'
+			{ $$.minOccurs = (LONG64)$2;
+			  $$.maxOccurs = 1;
+			  $$.minLength = (LONG64)$2;
+			  $$.maxLength = MAXLONG64;
+			  $$.pattern = $1;
+			}
+	| patt cint ':' cint
+			{ $$.minOccurs = (LONG64)$2;
+			  $$.maxOccurs = (LONG64)$4;
+			  $$.minLength = (LONG64)$2;
+			  $$.maxLength = (LONG64)$4;
+			  $$.pattern = $1;
+			}
+	| patt ':' cint
+			{ $$.minOccurs = -1;
+			  $$.maxOccurs = (LONG64)$3;
+			  $$.minLength = MINLONG64;
+			  $$.maxLength = (LONG64)$3;
+			  $$.pattern = $1;
+			}
+	;
+patt	: /* empty */	{ $$ = NULL; }
+	| STR		{ $$ = $1; }
+	;
+cint	: LNG		{ $$ = $1; }
+	| '+' LNG	{ $$ = $2; }
+	| '-' LNG	{ $$ = -$2; }
+	;
+
+/******************************************************************************\
+
+	Expressions
+
+\******************************************************************************/
+
+expr	: expr ',' expr	{ $$ = $3; }
+	| cexp		{ $$ = $1; }
+	;
+/* cexp : conditional expression */
+cexp	: obex '?' qexp ':' cexp
+			{ $$.typ = $3.typ;
+			  $$.sto = Snone;
+			  $$.hasval = False;
+			}
+	| oexp
+	;
+/* qexp : true-branch of ? : conditional expression */
+qexp	: expr		{ $$ = $1; }
+	;
+/* oexp : or-expression */
+oexp	: obex OR aexp	{ $$.hasval = False;
+			  $$.typ = mkint();
+			}
+	| aexp		{ $$ = $1; }
+	;
+obex	: oexp		{ $$ = $1; }
+	;
+/* aexp : and-expression */
+aexp	: abex AN rexp	{ $$.hasval = False;
+			  $$.typ = mkint();
+			}
+	| rexp		{ $$ = $1; }
+	;
+abex	: aexp		{ $$ = $1; }
+	;
+/* rexp : relational expression */
+rexp	: rexp '|' rexp	{ $$ = iop("|", $1, $3); }
+	| rexp '^' rexp	{ $$ = iop("^", $1, $3); }
+	| rexp '&' rexp	{ $$ = iop("&", $1, $3); }
+	| rexp EQ  rexp	{ $$ = relop("==", $1, $3); }
+	| rexp NE  rexp	{ $$ = relop("!=", $1, $3); }
+	| rexp '<' rexp	{ $$ = relop("<", $1, $3); }
+	| rexp LE  rexp	{ $$ = relop("<=", $1, $3); }
+	| rexp '>' rexp	{ $$ = relop(">", $1, $3); }
+	| rexp GE  rexp	{ $$ = relop(">=", $1, $3); }
+	| rexp LS  rexp	{ $$ = iop("<<", $1, $3); }
+	| rexp RS  rexp	{ $$ = iop(">>", $1, $3); }
+	| rexp '+' rexp	{ $$ = op("+", $1, $3); }
+	| rexp '-' rexp	{ $$ = op("-", $1, $3); }
+	| rexp '*' rexp	{ $$ = op("*", $1, $3); }
+	| rexp '/' rexp	{ $$ = op("/", $1, $3); }
+	| rexp '%' rexp	{ $$ = iop("%", $1, $3); }
+	| lexp		{ $$ = $1; }
+	;
+/* lexp : lvalue kind of expression with optional prefix contructs */
+lexp	: '!' lexp	{ if ($2.hasval)
+				$$.val.i = !$2.val.i;
+			  $$.typ = $2.typ;
+			  $$.hasval = $2.hasval;
+			}
+	| '~' lexp	{ if ($2.hasval)
+				$$.val.i = ~$2.val.i;
+			  $$.typ = $2.typ;
+			  $$.hasval = $2.hasval;
+			}
+	| '-' lexp	{ if ($2.hasval) {
+				if (integer($2.typ))
+					$$.val.i = -$2.val.i;
+				else if (real($2.typ))
+					$$.val.r = -$2.val.r;
+				else	typerror("string?");
+			  }
+			  $$.typ = $2.typ;
+			  $$.hasval = $2.hasval;
+			}
+	| '+' lexp	{ $$ = $2; }
+	| '*' lexp	{ if ($2.typ->type == Tpointer) {
+			  	$$.typ = (Tnode*)$2.typ->ref;
+			  } else
+			  	typerror("dereference of non-pointer type");
+			  $$.sto = Snone;
+			  $$.hasval = False;
+			}
+	| '&' lexp	{ $$.typ = mkpointer($2.typ);
+			  $$.sto = Snone;
+			  $$.hasval = False;
+			}
+	| SIZEOF '(' texp ')'
+			{ $$.hasval = True;
+			  $$.typ = mkint();
+			  $$.val.i = $3.typ->width;
+			}
+	| pexp		{ $$ = $1; }
+	;
+/* pexp : primitive expression with optional postfix constructs */
+pexp	: '(' expr ')'	{ $$ = $2; }
+	| ID		{ if ((p = enumentry($1)) == (Entry*) 0)
+				p = undefined($1);
+			  else
+			  	$$.hasval = True;
+			  $$.typ = p->info.typ;
+			  $$.val = p->info.val;
+			}
+	| LNG		{ $$.typ = mkint();
+			  $$.hasval = True;
+			  $$.val.i = $1;
+			}
+	| null		{ $$.typ = mkint();
+			  $$.hasval = True;
+			  $$.val.i = 0;
+			}
+	| DBL		{ $$.typ = mkfloat();
+			  $$.hasval = True;
+			  $$.val.r = $1;
+			}
+	| CHR		{ $$.typ = mkchar();
+			  $$.hasval = True;
+			  $$.val.i = $1;
+			}
+	| STR		{ $$.typ = mkstring();
+			  $$.hasval = True;
+			  $$.val.s = $1;
+			}
+	| CFALSE	{ $$.typ = mkbool();
+			  $$.hasval = True;
+			  $$.val.i = 0;
+			}
+	| CTRUE		{ $$.typ = mkbool();
+			  $$.hasval = True;
+			  $$.val.i = 1;
+			}
+	;
+
+%%
+
+/*
+ * ???
+ */
+int
+yywrap(void)
+{	return 1;
+}
+
+/******************************************************************************\
+
+	Support routines
+
+\******************************************************************************/
+
+static Node
+op(const char *op, Node p, Node q)
+{	Node	r;
+	Tnode	*typ;
+	r.typ = p.typ;
+	r.sto = Snone;
+	if (p.hasval && q.hasval) {
+		if (integer(p.typ) && integer(q.typ))
+			switch (op[0]) {
+			case '|':	r.val.i = p.val.i |  q.val.i; break;
+			case '^':	r.val.i = p.val.i ^  q.val.i; break;
+			case '&':	r.val.i = p.val.i &  q.val.i; break;
+			case '<':	r.val.i = p.val.i << q.val.i; break;
+			case '>':	r.val.i = p.val.i >> q.val.i; break;
+			case '+':	r.val.i = p.val.i +  q.val.i; break;
+			case '-':	r.val.i = p.val.i -  q.val.i; break;
+			case '*':	r.val.i = p.val.i *  q.val.i; break;
+			case '/':	r.val.i = p.val.i /  q.val.i; break;
+			case '%':	r.val.i = p.val.i %  q.val.i; break;
+			default:	typerror(op);
+			}
+		else if (real(p.typ) && real(q.typ))
+			switch (op[0]) {
+			case '+':	r.val.r = p.val.r + q.val.r; break;
+			case '-':	r.val.r = p.val.r - q.val.r; break;
+			case '*':	r.val.r = p.val.r * q.val.r; break;
+			case '/':	r.val.r = p.val.r / q.val.r; break;
+			default:	typerror(op);
+			}
+		else	semerror("illegal constant operation");
+		r.hasval = True;
+	} else {
+		typ = mgtype(p.typ, q.typ);
+		r.hasval = False;
+	}
+	return r;
+}
+
+static Node
+iop(const char *iop, Node p, Node q)
+{	if (integer(p.typ) && integer(q.typ))
+		return op(iop, p, q);
+	typerror("integer operands only");
+	return p;
+}
+
+static Node
+relop(const char *op, Node p, Node q)
+{	Node	r;
+	Tnode	*typ;
+	r.typ = mkint();
+	r.sto = Snone;
+	r.hasval = False;
+	if (p.typ->type != Tpointer || p.typ != q.typ)
+		typ = mgtype(p.typ, q.typ);
+	return r;
+}
+
+/******************************************************************************\
+
+	Scope management
+
+\******************************************************************************/
+
+/*
+mkscope - initialize scope stack with a new table and offset
+*/
+static void
+mkscope(Table *table, int offset)
+{	sp = stack-1;
+	enterscope(table, offset);
+}
+
+/*
+enterscope - enter a new scope by pushing a new table and offset on the stack
+*/
+static void
+enterscope(Table *table, int offset)
+{	if (++sp == stack+MAXNEST)
+		execerror("maximum scope depth exceeded");
+	sp->table = table;
+	sp->val = 0;
+	sp->offset = offset;
+	sp->grow = True;	/* by default, offset grows */
+	sp->mask = False;
+}
+
+/*
+exitscope - exit a scope by popping the table and offset from the stack
+*/
+static void
+exitscope(void)
+{	check(sp-- != stack, "exitscope() has no matching enterscope()");
+}
+
+/******************************************************************************\
+
+	Undefined symbol
+
+\******************************************************************************/
+
+static Entry*
+undefined(Symbol *sym)
+{	Entry	*p;
+	sprintf(errbuf, "undefined identifier '%s'", sym->name);
+	semwarn(errbuf);
+	p = enter(sp->table, sym);
+	p->level = GLOBAL;
+	p->info.typ = mkint();
+	p->info.sto = Sextern;
+	p->info.hasval = False;
+	return p;
+}
+
+/*
+mgtype - return most general type among two numerical types
+*/
+Tnode*
+mgtype(Tnode *typ1, Tnode *typ2)
+{	if (numeric(typ1) && numeric(typ2)) {
+		if (typ1->type < typ2->type)
+			return typ2;
+	} else	typerror("non-numeric type");
+	return typ1;
+}
+
+/******************************************************************************\
+
+	Type checks
+
+\******************************************************************************/
+
+static int
+integer(Tnode *typ)
+{	switch (typ->type) {
+	case Tchar:
+	case Tshort:
+	case Tint:
+	case Tlong:	return True;
+	default:	break;
+	}
+	return False;
+}
+
+static int
+real(Tnode *typ)
+{	switch (typ->type) {
+	case Tfloat:
+	case Tdouble:
+	case Tldouble:	return True;
+	default:	break;
+	}
+	return False;
+}
+
+static int
+numeric(Tnode *typ)
+{	return integer(typ) || real(typ);
+}
+
+static void
+add_fault(Table *gt)
+{ Table *t;
+  Entry *p1, *p2, *p3, *p4;
+  Symbol *s1, *s2, *s3, *s4;
+  imported = NULL;
+  s1 = lookup("SOAP_ENV__Code");
+  p1 = entry(classtable, s1);
+  if (!p1 || !p1->info.typ->ref)
+  { t = mktable((Table*)0);
+    if (!p1)
+    { p1 = enter(classtable, s1);
+      p1->info.typ = mkstruct(t, 3*4);
+      p1->info.typ->id = s1;
+    }
+    else
+      p1->info.typ->ref = t;
+    p2 = enter(t, lookup("SOAP_ENV__Value"));
+    p2->info.typ = qname;
+    p2->info.minOccurs = 0;
+    p2 = enter(t, lookup("SOAP_ENV__Subcode"));
+    p2->info.typ = mkpointer(p1->info.typ);
+    p2->info.minOccurs = 0;
+  }
+  s2 = lookup("SOAP_ENV__Detail");
+  p2 = entry(classtable, s2);
+  if (!p2 || !p2->info.typ->ref)
+  { t = mktable((Table*)0);
+    if (!p2)
+    { p2 = enter(classtable, s2);
+      p2->info.typ = mkstruct(t, 3*4);
+      p2->info.typ->id = s2;
+    }
+    else
+      p2->info.typ->ref = t;
+    p3 = enter(t, lookup("__any"));
+    p3->info.typ = xml;
+    p3->info.minOccurs = 0;
+    p3 = enter(t, lookup("__type"));
+    p3->info.typ = mkint();
+    p3->info.minOccurs = 0;
+    p3 = enter(t, lookup("fault"));
+    p3->info.typ = mkpointer(mkvoid());
+    p3->info.minOccurs = 0;
+    custom_fault = 0;
+  }
+  s4 = lookup("SOAP_ENV__Reason");
+  p4 = entry(classtable, s4);
+  if (!p4 || !p4->info.typ->ref)
+  { t = mktable((Table*)0);
+    if (!p4)
+    { p4 = enter(classtable, s4);
+      p4->info.typ = mkstruct(t, 4);
+      p4->info.typ->id = s4;
+    }
+    else
+      p4->info.typ->ref = t;
+    p3 = enter(t, lookup("SOAP_ENV__Text"));
+    p3->info.typ = mkstring();
+    p3->info.minOccurs = 0;
+  }
+  s3 = lookup("SOAP_ENV__Fault");
+  p3 = entry(classtable, s3);
+  if (!p3 || !p3->info.typ->ref)
+  { t = mktable(NULL);
+    if (!p3)
+    { p3 = enter(classtable, s3);
+      p3->info.typ = mkstruct(t, 9*4);
+      p3->info.typ->id = s3;
+    }
+    else
+      p3->info.typ->ref = t;
+    p3 = enter(t, lookup("faultcode"));
+    p3->info.typ = qname;
+    p3->info.minOccurs = 0;
+    p3 = enter(t, lookup("faultstring"));
+    p3->info.typ = mkstring();
+    p3->info.minOccurs = 0;
+    p3 = enter(t, lookup("faultactor"));
+    p3->info.typ = mkstring();
+    p3->info.minOccurs = 0;
+    p3 = enter(t, lookup("detail"));
+    p3->info.typ = mkpointer(p2->info.typ);
+    p3->info.minOccurs = 0;
+    p3 = enter(t, s1);
+    p3->info.typ = mkpointer(p1->info.typ);
+    p3->info.minOccurs = 0;
+    p3 = enter(t, s4);
+    p3->info.typ = mkpointer(p4->info.typ);
+    p3->info.minOccurs = 0;
+    p3 = enter(t, lookup("SOAP_ENV__Node"));
+    p3->info.typ = mkstring();
+    p3->info.minOccurs = 0;
+    p3 = enter(t, lookup("SOAP_ENV__Role"));
+    p3->info.typ = mkstring();
+    p3->info.minOccurs = 0;
+    p3 = enter(t, lookup("SOAP_ENV__Detail"));
+    p3->info.typ = mkpointer(p2->info.typ);
+    p3->info.minOccurs = 0;
+  }
+}
+
+static void
+add_soap(void)
+{ Symbol *s = lookup("soap");
+  p = enter(classtable, s);
+  p->info.typ = mkstruct(NULL, 0);
+  p->info.typ->transient = -2;
+  p->info.typ->id = s;
+}
+
+static void
+add_XML(void)
+{ Symbol *s = lookup("_XML");
+  s->token = TYPE;
+  p = enter(typetable, s);
+  xml = p->info.typ = mksymtype(mkstring(), s);
+  p->info.sto = Stypedef;
+}
+
+static void
+add_qname(void)
+{ Symbol *s = lookup("_QName");
+  s->token = TYPE;
+  p = enter(typetable, s);
+  qname = p->info.typ = mksymtype(mkstring(), s);
+  p->info.sto = Stypedef;
+}
+
+static void
+add_header(Table *gt)
+{ Table *t;
+  Entry *p;
+  Symbol *s = lookup("SOAP_ENV__Header");
+  imported = NULL;
+  p = entry(classtable, s);
+  if (!p || !p->info.typ->ref)
+  { t = mktable((Table*)0);
+    if (!p)
+      p = enter(classtable, s);
+    p->info.typ = mkstruct(t, 0);
+    p->info.typ->id = s;
+    custom_header = 0;
+  }
+}
+
+static void
+add_response(Entry *fun, Entry *ret)
+{ Table *t;
+  Entry *p, *q;
+  Symbol *s;
+  size_t i = 0, j, n = strlen(fun->sym->name);
+  char *r = (char*)emalloc(n+100);
+  strcpy(r, fun->sym->name);
+  strcat(r, "Response");
+  do
+  { for (j = 0; j < i; j++)
+      r[n+j+8] = '_';
+    r[n+i+8] = '\0';
+    if (!(s = lookup(r)))
+      s = install(r, ID);
+    i++;
+  } while (entry(classtable, s));
+  free(r);
+  t = mktable((Table*)0);
+  q = enter(t, ret->sym);
+  q->info = ret->info;
+  if (q->info.typ->type == Treference)
+    q->info.typ = (Tnode*)q->info.typ->ref;
+  p = enter(classtable, s);
+  p->info.typ = mkstruct(t, 4);
+  p->info.typ->id = s;
+  fun->info.typ->response = p;
+}
+
+static void
+add_result(Tnode *typ)
+{ Entry *p;
+  if (!typ->ref || !((Tnode*)typ->ref)->ref)
+  { semwarn("response struct/class must be declared before used in function prototype");
+    return;
+  }
+  for (p = ((Table*)((Tnode*)typ->ref)->ref)->list; p; p = p->next)
+    if (p->info.sto & Sreturn)
+      return;
+  for (p = ((Table*)((Tnode*)typ->ref)->ref)->list; p; p = p->next)
+  { if (p->info.typ->type != Tfun && !(p->info.sto & Sattribute) && !is_transient(p->info.typ) && !(p->info.sto & (Sprivate|Sprotected)))
+      p->info.sto = (Storage)((int)p->info.sto | (int)Sreturn);
+      return;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/src/symbol2.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,12970 @@
+/*
+	symbol2.c
+
+	Symbol table handling, type analysis, and code generation.
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This part of the software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+#include "soapcpp2.h"
+
+#ifdef HAVE_CONFIG_H
+#include "soapcpp2_yacc.h"
+#else
+#include "soapcpp2_yacc.tab.h"
+#endif
+
+char *envURI = "http://schemas.xmlsoap.org/soap/envelope/";
+char *encURI = "http://schemas.xmlsoap.org/soap/encoding/";
+char *rpcURI = "http://www.w3.org/2003/05/soap-rpc";
+char *xsiURI = "http://www.w3.org/2001/XMLSchema-instance";
+char *xsdURI = "http://www.w3.org/2001/XMLSchema";
+char *tmpURI = "http://tempuri.org";
+
+static	Symbol *symlist = (Symbol*) 0;	/* pointer to linked list of symbols */
+static	Symbol *nslist = (Symbol*) 0;	/* pointer to linked list of namespace prefix symbols */
+
+static Tnode *Tptr[TYPES];
+
+Service *services = NULL;
+
+FILE *fout, *fhead, *fclient, *fserver, *fheader, *flib, *fmatlab, *fmheader;
+
+int partnum = 0;
+
+int typeNO = 1;	/* unique no. assigned to all types */
+
+static int is_anytype_flag = 0; /* anytype is used */
+static int has_nsmap = 0;
+
+int tagcmp(const char *s, const char *t);
+int tagncmp(const char *s, const char *t, size_t n);
+
+long minlen(Tnode *typ);
+long maxlen(Tnode *typ);
+
+int is_soap12(const char*);
+int has_detail_string(void);
+int has_Detail_string(void);
+
+void needs_lang(Entry *e);
+
+int is_mutable(Tnode *typ);
+int is_header_or_fault(Tnode *typ);
+int is_body(Tnode *typ);
+int is_volatile(Tnode* typ);
+int is_untyped(Tnode* typ);
+int is_primclass(Tnode* typ);
+int is_imported(Tnode* typ);
+int is_template(Tnode* typ);
+int is_mask(Tnode* typ);
+int is_attachment(Tnode* typ);
+int has_attachment(Tnode* typ);
+int is_void(Tnode* typ);
+int has_external(Tnode *typ);
+int has_volatile(Tnode *typ);
+
+int is_invisible(const char *name);
+int is_invisible_empty(Tnode *p);
+
+int is_eq_nons(const char *s, const char *t);
+int is_eq(const char *s, const char *t);
+
+int is_item(Entry *p);
+int is_self(Entry *p);
+
+const char *cstring(const char*);
+const char *xstring(const char*);
+
+/*
+install - add new symbol
+*/
+Symbol *
+install(const char *name, Token token)
+{ Symbol *p;
+  p = (Symbol*)emalloc(sizeof(Symbol));
+  p->name = emalloc(strlen(name)+1);
+  strcpy(p->name, name);
+  p->token = token;
+  p->next = symlist;
+  symlist = p;
+  return p;
+}
+
+/*
+lookup - search for an identifier's name. If found, return pointer to symbol table entry. Return pointer 0 if not found.
+*/
+Symbol *
+lookup(const char *name)
+{ Symbol *p;
+  for (p = symlist; p; p = p->next)
+    if (!strcmp(p->name, name))
+      return p;
+  return NULL;
+}
+
+/*
+gensymidx - generate new symbol from base name and index
+*/
+Symbol *
+gensymidx(const char *base, int idx)
+{ char buf[1024];
+  Symbol *s;
+  sprintf(buf, "%s_%d", base, idx);
+  s = lookup(buf);
+  if (s)
+    return s;
+  return install(buf, ID);
+}
+
+/*
+gensym - generate new symbol from base name
+*/
+Symbol *
+gensym(const char *base)
+{ static int num = 1;
+  return gensymidx(base, num++);
+}
+
+/*
+mktable - make a new symbol table with a pointer to a previous table
+*/
+Table *
+mktable(Table *table)
+{	Table	*p;
+	p = (Table*)emalloc(sizeof(Table));
+	p->sym = lookup("/*?*/");
+	p->list = (Entry*) 0;
+	if (table == (Table*) 0)
+		p->level = INTERNAL;
+	else	p->level = table->level+1;
+	p->prev = table;
+	return p;
+}
+
+/*
+mkmethod - make a new method by calling mktype
+*/
+Tnode *
+mkmethod(Tnode *ret, Table *args)
+{	FNinfo *fn = (FNinfo*)emalloc(sizeof(FNinfo));
+	fn->ret = ret;
+	fn->args = args;
+	return mktype(Tfun, fn, 0);
+}
+
+/*
+freetable - free space by removing a table
+*/
+void
+freetable(Table *table)
+{	Entry	*p, *q;
+	if (table == (Table*) 0)
+		return;
+	for (p = table->list; p != (Entry*) 0; p = q) {
+		q = p->next;
+		free(p);
+	}
+	free(table);
+}
+
+/*
+unlinklast - unlink last entry added to table
+*/
+Entry *
+unlinklast(Table *table)
+{	Entry	**p, *q;
+	if (table == (Table*)0)
+		return (Entry*)0;
+	for (p = &table->list; *p != (Entry*)0 && (*p)->next != (Entry*)0;
+	     p = &(*p)->next);
+	q = *p;
+	*p = (Entry*)0;
+	return q;
+}
+
+/*
+enter - enter a symbol in a table. Error if already in the table
+*/
+Entry *
+enter(Table *table, Symbol *sym)
+{ Entry	*p, *q = NULL;
+again:
+  for (p = table->list; p; q = p, p = p->next)
+  { if (p->sym == sym && p->info.typ->type != Tfun)
+    { char *s;
+      sprintf(errbuf, "Duplicate declaration of '%s' (already declared at line %d), changing conflicting identifier name to new name '%s_'. Note: this problem may be caused by importing invalid XML schemas", sym->name, p->lineno, sym->name);
+      semwarn(errbuf);
+      s = (char*)emalloc(strlen(sym->name) + 2);
+      strcpy(s, sym->name);
+      strcat(s, "_");
+      sym = lookup(s);
+      if (!sym)
+        sym = install(s, ID);
+      free(s);
+      goto again;
+    }
+  }
+  p = (Entry*)emalloc(sizeof(Entry));
+  p->sym = sym;
+  p->tag = NULL;
+  p->info.typ = NULL;
+  p->info.sto = Snone;
+  p->info.hasval = False;
+  p->info.minOccurs = 1;
+  p->info.maxOccurs = 1;
+  p->info.offset = 0;
+  p->level = table->level;
+  p->lineno = yylineno;
+  p->next = NULL;
+  if (!q)
+    table->list = p;
+  else
+    q->next = p;
+  return p;
+}
+
+/*
+entry - return pointer to table entry of a symbol
+*/
+Entry *
+entry(Table *table, Symbol *sym)
+{ Table	*t;
+  Entry	*p;
+  for (t = table; t; t = t->prev)
+    for (p = t->list; p; p = p->next)
+      if (p->sym == sym)
+	return p;
+  return NULL;
+}
+
+/*
+reenter - re-enter a symbol in a table.
+*/
+Entry *
+reenter(Table *table, Symbol *sym)
+{ Entry	*p, *q = NULL;
+  for (p = table->list; p; q = p, p = p->next)
+    if (p->sym == sym)
+      break;
+  if (p && p->next)
+  { if (q)
+      q->next = p->next;
+    else
+      table->list = p->next;
+    for (q = p->next; q->next; q = q->next)
+      ;
+    q->next = p;
+    p->next = NULL;
+  }
+  return p;
+}
+
+/*
+merge - append two tables if members are not duplicated
+*/
+int
+merge(Table *dest, Table *src)
+{ Entry *p, *q;
+  for (p = src->list; p; p = p->next)
+  { q = entry(dest, p->sym);
+    if (!q || q->info.typ != p->info.typ)
+    { q = enter(dest, p->sym);
+      q->info = p->info;
+    }
+  }
+  return 0;
+}
+
+Entry *
+enumentry(Symbol *sym)
+{ Table	*t;
+  Entry	*p, *q;
+  for (t = enumtable; t; t = t->prev)
+  { for (p = t->list; p; p = p->next)
+    { q = entry((Table*)p->info.typ->ref, sym);
+      if (q)
+	return q;
+    }
+  }
+  return NULL;
+}
+
+char *get_mxClassID(Tnode*);
+char *t_ident(Tnode*);
+char *c_ident(Tnode*);
+char *ident(char*);
+char *soap_type(Tnode*);
+char *c_storage(Storage);
+char *c_init(Entry*);
+char *c_type(Tnode*);
+char *c_type_id(Tnode*, char*);
+char *xsi_type_cond(Tnode*, int);
+char *xsi_type(Tnode*);
+char *xsi_type_cond_u(Tnode*, int);
+char *xsi_type_u(Tnode*);
+char *the_type(Tnode*);
+char *wsdl_type(Tnode*, char*);
+char *base_type(Tnode*, char*);
+char *xml_tag(Tnode*);
+char *ns_qualifiedElement(Tnode*);
+char *ns_qualifiedAttribute(Tnode*);
+char *ns_convert(char*);
+char *field(Entry *p, char *ns);
+char *field_overridden(Table *t, Entry *p, char *ns);
+char *ns_add(Entry *p, char *ns);
+char *ns_addx(char *tag, char *ns);
+char *ns_add_overridden(Table *t, Entry *p, char *ns);
+char *ns_remove(char*);
+char *ns_remove1(char*);
+char *ns_remove2(char*);
+char *res_remove(char*);
+char *ns_name(char*);
+char *ns_cname(char*, char*);
+char *ns_fname(char*);
+
+int has_class(Tnode*);
+int has_constructor(Tnode*);
+int has_destructor(Tnode*);
+int has_getter(Tnode*);
+int has_setter(Tnode*);
+int has_ns(Tnode*);
+int has_ns_t(Tnode*);
+int has_ns_eq(char*, char*);
+char *strict_check(void);
+char *ns_of(char*);
+int eq_ns(char*, char*);
+char *prefix_of(char*);
+int has_offset(Tnode*);
+int reflevel(Tnode *typ);
+Tnode* reftype(Tnode *typ);
+int is_response(Tnode*);
+int is_XML(Tnode*);
+int is_stdXML(Tnode *p);
+Entry *get_response(Tnode*);
+int is_primitive_or_string(Tnode*);
+int is_primitive(Tnode*);
+Entry *is_discriminant(Tnode*);
+Entry *is_dynamic_array(Tnode*);
+int is_transient(Tnode*);
+int is_external(Tnode*);
+int is_anyType(Tnode*);
+int is_anyAttribute(Tnode*);
+int is_binary(Tnode*);
+int is_hexBinary(Tnode*);
+int is_fixedstring(Tnode*);
+int is_string(Tnode*);
+int is_wstring(Tnode*);
+int is_stdstring(Tnode*);
+int is_stdwstring(Tnode*);
+int is_stdstr(Tnode*);
+int is_typedef(Tnode*);
+int get_dimension(Tnode*);
+char *has_soapref(Tnode*);
+int is_document(const char*);
+int is_literal(const char*);
+int is_keyword(const char *);
+
+int is_repetition(Entry*);
+int is_choice(Entry*);
+int is_sequence(Entry*);
+int is_anytype(Entry*);
+
+char *xsi_type_Tarray(Tnode*);    
+char *xsi_type_Darray(Tnode*);    
+
+void matlab_def_table(Table*);
+void def_table(Table*);
+void generate(Tnode *);
+int no_of_var(Tnode*);
+char *pointer_stuff(Tnode*);
+void in_defs(Table*);
+void in_defs2(Table*);
+void in_defs3(Table*);
+void out_defs(Table*);
+void mark_defs(Table*);
+void in_attach(Table*);
+void out_attach(Table*);
+void soap_serialize(Tnode*);
+void soap_traverse(Tnode*);
+void soap_default(Tnode*);
+void soap_put(Tnode*);
+void soap_out(Tnode*);
+void soap_out_Darray(Tnode *);
+void soap_get(Tnode*);
+void soap_in(Tnode*); 
+void soap_in_Darray(Tnode *);
+void soap_instantiate_class(Tnode *);
+int get_Darraydims(Tnode *typ);
+const char *nillable(Tnode *typ);
+
+void soap_serve(Table*);
+void generate_proto(Table*, Entry*);
+/*
+void generate_call(Table*, Entry*);
+void generate_server(Table*, Entry*);
+*/
+void generate_header(Table*);
+void get_namespace_prefixes(void);
+void generate_schema(Table*);
+void gen_schema(FILE*,Table*,char*,char*,int,int,char*,char*,char*,char*);
+void gen_type_documentation(FILE *fd, Entry *type, char *ns);
+int gen_member_documentation(FILE *fd, Symbol *type, Entry *member, char *ns);
+void gen_schema_elements_attributes(FILE *fd, Table *t, char *ns, char *ns1, char *encoding, char *style);
+void gen_schema_elements(FILE *fd, Tnode *p, char *ns, char *ns1);
+int gen_schema_element(FILE *fd, Tnode *p, Entry *q, char *ns, char *ns1);
+void gen_schema_attributes(FILE *fd, Tnode *p, char *ns, char *ns1);
+void gen_wsdl(FILE*,Table*,char*,char*,char*,char*,char*,char*,char*,char*);
+void gen_nsmap(FILE*,Symbol*,char*);
+
+void gen_proxy(FILE*,Table*,Symbol*,char*,char*,char*,char*,char*);
+void gen_object(FILE*,Table*,Symbol*,char*,char*,char*,char*,char*);
+void gen_proxy_header(FILE*,Table*,Symbol*,char*,char*,char*,char*,char*);
+void gen_proxy_code(FILE*,Table*,Symbol*,char*,char*,char*,char*,char*);
+void gen_object_header(FILE*,Table*,Symbol*,char*,char*,char*,char*,char*);
+void gen_object_code(FILE*,Table*,Symbol*,char*,char*,char*,char*,char*);
+void gen_method(FILE *fd, Table *table, Entry *method, int server);
+void gen_params(FILE *fd, Table *params, Entry *result, int flag);
+void gen_args(FILE *fd, Table *params, Entry *result, int flag);
+void gen_query_url(FILE *fd, Table *params);
+void gen_query_form(FILE *fd, Table *params);
+const char* gen_format(FILE *fd, Tnode *typ);
+void gen_call_method(FILE *fd, Table *table, Entry *method, char *name);
+void gen_serve_method(FILE *fd, Table *table, Entry *param, char *name);
+
+void gen_data(char*,Table*,char*,char*,char*,char*,char*,char*);
+FILE *gen_env(char*,char*,int,Table*,char*,char*,char*,char*,char*,char*,int);
+void gen_xmlns(FILE*);
+void gen_field(FILE*,int,Entry*,char*,char*,char*);
+void gen_val(FILE*,int,Tnode*,char*,char*,char*);
+void gen_atts(FILE*,int,Table*,char*);
+
+/*
+mktype - make a (new) type with a reference to additional information and the
+width in bytes required to store objects of that type. A pointer to the
+type is returned which can be compared to check if types are identical.
+*/
+Tnode *
+mktype(Type type, void *ref, int width)
+{	Tnode	*p;
+	int t = 0;
+	if (transient != -2 || type > Ttime)
+	  t = transient;
+	if (type != Tstruct && type != Tclass && type != Tunion && (type != Tenum || ref))
+	{	for (p = Tptr[type]; p; p = p->next)
+		{	if (p->ref == ref && p->sym == (Symbol*) 0 && p->width == width && p->transient == t)
+			{	if (imported && !p->imported)
+					p->imported = imported;
+				return p;	/* type alrady exists in table */
+			}
+		}
+	}
+	p = (Tnode*)emalloc(sizeof(Tnode));	/* install new type */
+	p->type = type;
+	p->ref = ref;
+	p->id = lookup("/*?*/");
+	p->base = NULL;
+	p->sym = (Symbol*)0;
+	p->response = (Entry*)0;
+	p->width = width;
+	p->generated = False;
+	p->classed = False;
+	p->wsdl = False;
+	p->next = Tptr[type];
+	p->transient = t;
+	p->imported = imported;
+	p->pattern = NULL;
+	p->minLength = MINLONG64;
+	p->maxLength = MAXLONG64;
+	p->num = typeNO++;
+	Tptr[type] = p;
+	DBGLOG(fprintf(stderr, "New type %s %s\n", c_type(p), p->imported));
+	if (type == Tpointer && ((Tnode*)ref)->imported && (((Tnode*)ref)->type == Tenum || ((Tnode*)ref)->type == Tstruct || ((Tnode*)ref)->type == Tclass))
+	  p->imported = ((Tnode*)ref)->imported;
+	else if (lflag && !is_transient(p) && (type == Tenum || type == Tstruct || type == Tclass))
+	  mkpointer(p);
+	return p;
+}
+
+Tnode *
+mksymtype(Tnode *typ, Symbol *sym)
+{	Tnode *p;
+	p = (Tnode*)emalloc(sizeof(Tnode));	/* install new type */
+	p->type = typ->type;
+	p->ref = typ->ref;
+	if (typ->id == lookup("/*?*/"))
+	  p->id = sym;
+	else
+	  p->id = typ->id;
+	p->sym = sym;
+	p->response = (Entry*)0;
+	p->width = typ->width;
+	p->generated = False;
+	p->classed = True; /* copy of existing (generated) type */
+	p->wsdl = False;
+	p->next = Tptr[typ->type];
+	p->transient = transient;
+	p->imported = imported;
+	p->pattern = NULL;
+	p->minLength = MINLONG64;
+	p->maxLength = MAXLONG64;
+	p->num = typeNO++;
+	Tptr[typ->type] = p;
+	DBGLOG(fprintf(stderr, "New typedef %s %s\n", c_type(p), p->imported));
+	return p;
+}
+
+Tnode *
+mktemplate(Tnode *typ, Symbol *id)
+{	Tnode *p;
+	for (p = Tptr[Ttemplate]; p; p = p->next)
+		if (p->ref == typ && p->id == id && p->transient == transient)
+		{	if (imported && !p->imported)
+				p->imported = imported;
+			return p;	/* type alrady exists in table */
+		}
+	p = (Tnode*)emalloc(sizeof(Tnode));	/* install new type */
+	p->type = Ttemplate;
+	p->ref = typ;
+	p->id = id;
+	p->sym = NULL;
+	p->response = (Entry*)0;
+	p->width = 0;
+	p->generated = False;
+	p->classed = False; /* copy of existing (generated) type */
+	p->wsdl = False;
+	p->next = Tptr[Ttemplate];
+	p->transient = transient;
+	p->imported = imported;
+	p->pattern = NULL;
+	p->minLength = MINLONG64;
+	p->maxLength = MAXLONG64;
+	p->num = typeNO++;
+	Tptr[Ttemplate] = p;
+	return p;
+}
+
+/*	DO NOT REMOVE OR ALTER (SEE LICENCE AGREEMENT AND COPYING.txt)	*/
+void
+copyrightnote(FILE *fd, char *fn)
+{ fprintf(fd, "\
+/* %s\n   Generated by gSOAP "VERSION" from %s\n\
+\n\
+Copyright(C) 2000-2013, Robert van Engelen, Genivia Inc. All Rights Reserved.\n\
+The generated code is released under one of the following licenses:\n\
+GPL or Genivia's license for commercial use.\n\
+This program is released under the GPL with the additional exemption that\n\
+compiling, linking, and/or using OpenSSL is allowed.\n\
+*/", fn, filename);
+}
+
+void
+banner(FILE *fd, const char *text)
+{ int i;
+  fprintf(fd, "\n\n/");
+  for (i = 0; i < 78; i++)
+    fputc('*', fd);
+  fprintf(fd, "\\\n *%76s*\n * %-75s*\n *%76s*\n\\", "", text, "");
+  for (i = 0; i < 78; i++)
+    fputc('*', fd);
+  fprintf(fd, "/\n");
+}
+
+void
+identify(FILE *fd, char *fn)
+{ time_t t = time(NULL), *p = &t;
+  char tmp[256];
+  strftime(tmp, 256, "%Y-%m-%d %H:%M:%S GMT", gmtime(p));
+  fprintf(fd, "\n\nSOAP_SOURCE_STAMP(\"@(#) %s ver "VERSION" %s\")\n", fn, tmp);
+}
+
+void
+compile(Table *table)
+{	Entry *p;
+	Tnode *typ;
+	Pragma *pragma;
+	int classflag = 0;
+	int found;
+	int filenum;
+	char *s;
+	char base[1024];
+	char soapStub[1024];
+	char soapH[1024];
+	char soapC[1024];
+	char soapClient[1024];
+	char soapServer[1024];
+	char soapClientLib[1024];
+	char soapServerLib[1024];
+	char pathsoapStub[1024];
+	char pathsoapH[1024];
+	char pathsoapC[1024];
+	char pathsoapClient[1024];
+	char pathsoapServer[1024];
+	char pathsoapClientLib[1024];
+	char pathsoapServerLib[1024];
+      	char soapMatlab[1024];
+      	char pathsoapMatlab[1024];
+  	char soapMatlabHdr[1024];
+      	char pathsoapMatlabHdr[1024];
+
+	found = 0;
+        for (p = table->list; p; p = p->next)
+          if (p->info.typ->type == Tfun && !(p->info.sto & Sextern))
+	    found = 1;
+        if (!found)
+	  Sflag = Cflag = Lflag = 1; /* no service operations were found */
+
+	if (*dirpath)
+	  fprintf(fmsg, "Using project directory path: %s\n", dirpath);
+
+	if (namespaceid)
+	{ prefix = namespaceid;
+	  fprintf(fmsg, "Using code namespace: %s\n", namespaceid);
+	}
+	strcpy(base, prefix);
+	if (cflag)
+		s = ".c";
+	else
+		s = ".cpp";
+
+  	strcpy(soapMatlab, base);
+  	strcat(soapMatlab, "Matlab.c");
+  	strcpy(pathsoapMatlab, dirpath);
+  	strcat(pathsoapMatlab, soapMatlab );
+  
+  	strcpy(soapMatlabHdr, base);
+  	strcat(soapMatlabHdr, "Matlab.h");
+  	strcpy(pathsoapMatlabHdr, dirpath);
+  	strcat(pathsoapMatlabHdr, soapMatlabHdr);
+
+	strcpy(soapStub, base);
+	strcat(soapStub, "Stub.h");
+	strcpy(pathsoapStub, dirpath);
+	strcat(pathsoapStub, soapStub);
+	strcpy(soapH, base);
+	strcat(soapH, "H.h");
+	strcpy(pathsoapH, dirpath);
+	strcat(pathsoapH, soapH);
+	strcpy(soapC, base);
+	if (fflag)
+	  strcat(soapC, "C_nnn");
+	else
+	  strcat(soapC, "C");
+	strcat(soapC, s);
+	strcpy(pathsoapC, dirpath);
+	strcat(pathsoapC, soapC);
+	strcpy(soapClient, base);
+	strcat(soapClient, "Client");
+	strcat(soapClient, s);
+	strcpy(pathsoapClient, dirpath);
+	strcat(pathsoapClient, soapClient);
+	strcpy(soapServer, base);
+	strcat(soapServer, "Server");
+	strcat(soapServer, s);
+	strcpy(pathsoapServer, dirpath);
+	strcat(pathsoapServer, soapServer);
+	strcpy(soapClientLib, base);
+	strcat(soapClientLib, "ClientLib");
+	strcat(soapClientLib, s);
+	strcpy(pathsoapClientLib, dirpath);
+	strcat(pathsoapClientLib, soapClientLib);
+	strcpy(soapServerLib, base);
+	strcat(soapServerLib, "ServerLib");
+	strcat(soapServerLib, s);
+	strcpy(pathsoapServerLib, dirpath);
+	strcat(pathsoapServerLib, soapServerLib);
+
+	if (mflag)
+ 	{ fprintf(fmsg, "Saving %s Matlab definitions\n", pathsoapMatlab);
+ 	  fmatlab=fopen(pathsoapMatlab, "w");
+ 	  if (!fmatlab)
+ 		execerror("Cannot write to file");
+ 	  copyrightnote(fmatlab, soapMatlab);
+ 	  fprintf(fmatlab,"\n#include \"%s\"\n", soapMatlabHdr);
+ 	  fprintf(fmsg, "Saving %s Matlab definitions\n", pathsoapMatlabHdr);
+ 	  fmheader=fopen(pathsoapMatlabHdr, "w");
+ 	  if (!fmheader)
+		execerror("Cannot write to file");
+ 	  copyrightnote(fmheader, soapMatlabHdr);
+ 	  fprintf(fmheader,"\n#include \"mex.h\"\n#include \"%s\"\n", soapStub);
+	}
+
+	fprintf(fmsg, "Saving %s annotated copy of the source input\n", pathsoapStub);
+	fheader=fopen(pathsoapStub, "w");
+	if (!fheader)
+		execerror("Cannot write to file");
+	copyrightnote(fheader, soapStub);
+	fprintf(fheader,"\n\n#ifndef %sStub_H\n#define %sStub_H", prefix, prefix);
+	for (pragma = pragmas; pragma; pragma = pragma->next)
+	  fprintf(fheader,"\n%s", pragma->pragma);
+	if (nflag)
+	  fprintf(fheader,"\n#ifndef WITH_NONAMESPACES\n#define WITH_NONAMESPACES\n#endif");
+	if (namespaceid)
+	{ fprintf(fheader,"\n#ifndef WITH_NOGLOBAL\n#define WITH_NOGLOBAL\n#endif");
+	}
+	fprintf(fheader,"\n#include \"stdsoap2.h\"");
+	fprintf(fheader,"\n#if GSOAP_VERSION != %d\n# error \"GSOAP VERSION MISMATCH IN GENERATED CODE: PLEASE REINSTALL PACKAGE\"\n#endif\n", GSOAP_VERSION);
+	if (cflag)
+	  fprintf(fheader,"\n#ifdef __cplusplus\nextern \"C\" {\n#endif");
+	if (namespaceid)
+	  fprintf(fheader,"\n\nnamespace %s {", namespaceid);
+
+	fprintf(fmsg, "Saving %s interface declarations\n", pathsoapH);
+	fhead=fopen(pathsoapH,"w");
+	if (!fhead)
+		execerror("Cannot write to file");
+	copyrightnote(fhead, soapH);
+	fprintf(fhead,"\n\n#ifndef %sH_H\n#define %sH_H", prefix, prefix);
+	fprintf(fhead,"\n#include \"%s\"", soapStub);
+	if (cflag)
+	  fprintf(fhead,"\n#ifdef __cplusplus\nextern \"C\" {\n#endif");
+	if (namespaceid)
+	  fprintf(fhead,"\n\nnamespace %s {", namespaceid);
+	fprintf(fhead, "\n#ifndef WITH_NOIDREF");
+	if (!cflag && !namespaceid)
+	  fprintf(fhead,"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif");
+	fprintf(fhead, "\nSOAP_FMAC3 void SOAP_FMAC4 soap_markelement(struct soap*, const void*, int);");
+	if (!cflag && !namespaceid)
+	  fprintf(fhead,"\n\n#ifdef __cplusplus\n}\n#endif");
+	fprintf(fhead, "\nSOAP_FMAC3 int SOAP_FMAC4 soap_putindependent(struct soap*);");
+	fprintf(fhead, "\nSOAP_FMAC3 int SOAP_FMAC4 soap_getindependent(struct soap*);");
+	fprintf(fhead, "\n#endif");
+	if (!cflag && !namespaceid)
+	  fprintf(fhead,"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif");
+	fprintf(fhead, "\nSOAP_FMAC3 void *SOAP_FMAC4 soap_getelement(struct soap*, int*);");
+	fprintf(fhead, "\nSOAP_FMAC3 int SOAP_FMAC4 soap_putelement(struct soap*, const void*, const char*, int, int);");
+	if (!cflag && !namespaceid)
+	  fprintf(fhead,"\n\n#ifdef __cplusplus\n}\n#endif");
+	fprintf(fhead, "\nSOAP_FMAC3 int SOAP_FMAC4 soap_ignore_element(struct soap*);");
+
+	generate_header(table);
+	generate_schema(table);
+
+	if (!Sflag && !iflag && !jflag)
+	{ fprintf(fmsg, "Saving %s client calling stubs\n", pathsoapClient);
+          fclient=fopen(pathsoapClient,"w");
+	  if (!fclient)
+		execerror("Cannot write to file");
+	  copyrightnote(fclient, soapClient);
+          fprintf(fclient,"\n\n#if defined(__BORLANDC__)");
+          fprintf(fclient,"\n#pragma option push -w-8060");
+          fprintf(fclient,"\n#pragma option push -w-8004");
+          fprintf(fclient,"\n#endif");
+          fprintf(fclient,"\n#include \"%sH.h\"", prefix);
+	  if (cflag)
+	    fprintf(fclient,"\n#ifdef __cplusplus\nextern \"C\" {\n#endif");
+          if (namespaceid)
+            fprintf(fclient,"\n\nnamespace %s {", namespaceid);
+	  identify(fclient, soapClient);
+
+	  if (!Lflag)
+	  { flib=fopen(pathsoapClientLib,"w");
+	    if (!flib)
+		execerror("Cannot write to file");
+	    copyrightnote(flib, soapClientLib);
+	    fprintf(fmsg, "Saving %s client stubs with serializers (use only for libs)\n", pathsoapClientLib);
+	    fprintf(flib, "\n\n/** Use this file in your project build instead of the two files %s and %s. This hides the serializer functions and avoids linking problems when linking multiple clients and servers. */\n", soapC, soapClient);
+	    fprintf(flib, "\n#ifndef WITH_NOGLOBAL\n#define WITH_NOGLOBAL\n#endif");
+	    fprintf(flib, "\n#define SOAP_FMAC3 static");
+	    fprintf(flib, "\n#include \"%s\"", soapC);
+	    fprintf(flib, "\n#include \"%s\"", soapClient);
+	    fprintf(flib, "\n\n/* End of %s */\n", soapClientLib);
+	    fclose(flib);
+	  }
+	}
+	if (!Cflag && !iflag && !jflag)
+	{ fprintf(fmsg, "Saving %s server request dispatcher\n", pathsoapServer);
+          fserver=fopen(pathsoapServer,"w");
+	  if (!fserver)
+		execerror("Cannot write to file");
+	  copyrightnote(fserver, soapServer);
+          fprintf(fserver,"\n\n#if defined(__BORLANDC__)");
+          fprintf(fserver,"\n#pragma option push -w-8060");
+          fprintf(fserver,"\n#pragma option push -w-8004");
+          fprintf(fserver,"\n#endif");
+          fprintf(fserver,"\n#include \"%sH.h\"", prefix);
+	  if (cflag)
+	    fprintf(fserver,"\n#ifdef __cplusplus\nextern \"C\" {\n#endif");
+          if (namespaceid)
+            fprintf(fserver,"\n\nnamespace %s {", namespaceid);
+	  identify(fserver, soapServer);
+
+	  if (!Lflag)
+	  { flib = fopen(pathsoapServerLib,"w");
+	    if (!flib)
+		execerror("Cannot write to file");
+	    copyrightnote(flib, soapServerLib);
+	    fprintf(fmsg, "Saving %s server request dispatcher with serializers (use only for libs)\n", pathsoapServerLib);
+	    fprintf(flib, "\n\n/** Use this file in your project build instead of the two files %s and %s. This hides the serializer functions and avoids linking problems when linking multiple clients and servers. */\n", soapC, soapServer);
+	    fprintf(flib, "\n#ifndef WITH_NOGLOBAL\n#define WITH_NOGLOBAL\n#endif");
+	    fprintf(flib, "\n#define SOAP_FMAC3 static");
+	    fprintf(flib, "\n#include \"%s\"", soapC);
+	    fprintf(flib, "\n#include \"%s\"", soapServer);
+	    fprintf(flib, "\n\n/* End of %s */\n", soapServerLib);
+	    fclose(flib);
+	  }
+	}
+
+        if (!iflag && !jflag)
+	  soap_serve(table);
+
+	classflag = 0;
+	for (p = classtable->list; p; p = p->next)
+	{ if (p->info.typ->type == Tclass && p->info.typ->transient <= 0)
+	  { classflag = 1;
+	    break;
+	  }
+	}
+	if (classflag || Tptr[Ttemplate])
+	{ if (cflag)
+	    semwarn("Option -c conflicts with the use of classes");
+	}
+
+  for (filenum = 1; partnum == 0; filenum++)
+  {
+	if (fflag)
+	{ char *t = strrchr(pathsoapC, '.');
+	  sprintf(t-3, "%03d", filenum);
+	  *t = '.';
+	  fprintf(fmsg, "Saving %s serializers (part %d)\n", pathsoapC, filenum);
+	  partnum = fflag; /* number of defs per file */
+	}
+	else
+	{ fprintf(fmsg, "Saving %s serializers\n", pathsoapC);
+	  partnum = 1;
+	}
+	fout=fopen(pathsoapC,"w");
+	if (!fout)
+		execerror("Cannot write to file");
+	copyrightnote(fout, soapC);
+        fprintf(fout,"\n\n#if defined(__BORLANDC__)");
+        fprintf(fout,"\n#pragma option push -w-8060");
+        fprintf(fout,"\n#pragma option push -w-8004");
+        fprintf(fout,"\n#endif");
+
+	fprintf(fout,"\n\n#include \"%sH.h\"", prefix);
+	if (cflag)
+	  fprintf(fout,"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif");
+	if (namespaceid)
+	  fprintf(fout,"\n\nnamespace %s {", namespaceid);
+	identify(fout, soapC);
+
+	if (filenum == 1)
+	{
+
+	if (!lflag)
+	{ 
+	fprintf(fout,"\n\n#ifndef WITH_NOGLOBAL");
+	fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_getheader(struct soap *soap)\n{\n\tsoap->part = SOAP_IN_HEADER;\n\tsoap->header = soap_in_SOAP_ENV__Header(soap, \"SOAP-ENV:Header\", soap->header, NULL);\n\tsoap->part = SOAP_END_HEADER;\n\treturn soap->header == NULL;\n}");
+	fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_putheader(struct soap *soap)\n{\n\tif (soap->version && soap->header)\n\t{\tsoap->part = SOAP_IN_HEADER;\n\t\tif (soap_out_SOAP_ENV__Header(soap, \"SOAP-ENV:Header\", 0, soap->header, NULL))\n\t\t\treturn soap->error;\n\t\tsoap->part = SOAP_END_HEADER;\n\t}\n\treturn SOAP_OK;\n}");
+        if (cflag)
+	{ fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_serializeheader(struct soap *soap)\n{\n\tif (soap->version && soap->header)\n\t\tsoap_serialize_SOAP_ENV__Header(soap, soap->header);\n}");
+	  fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_header(struct soap *soap)\n{\n\tif (soap->header == NULL)\n\t{\tif ((soap->header = (struct SOAP_ENV__Header*)soap_malloc(soap, sizeof(struct SOAP_ENV__Header))))\n\t\t\tsoap_default_SOAP_ENV__Header(soap, soap->header);\n\t}\n}");
+	}
+        else if ((p = entry(classtable, lookup("SOAP_ENV__Header"))) && p->info.typ->type == Tstruct)
+	{ fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_serializeheader(struct soap *soap)\n{\n\tif (soap->version && soap->header)\n\t\tsoap_serialize_SOAP_ENV__Header(soap, soap->header);\n}");
+	  fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_header(struct soap *soap)\n{\n\tif (soap->header == NULL)\n\t{\tif ((soap->header = soap_new_SOAP_ENV__Header(soap, -1)))\n\t\t\tsoap_default_SOAP_ENV__Header(soap, soap->header);\n\t}\n}");
+	}
+	else
+	{ fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_serializeheader(struct soap *soap)\n{\n\tif (soap->version && soap->header)\n\t\tsoap->header->soap_serialize(soap);\n}");
+	  fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_header(struct soap *soap)\n{\n\tif (soap->header == NULL)\n\t{\tif ((soap->header = soap_new_SOAP_ENV__Header(soap, -1)))\n\t\t\tsoap->header->soap_default(soap);\n\t}\n}");
+	}
+        if (cflag)
+	{ fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_fault(struct soap *soap)\n{\n\tif (soap->fault == NULL)\n\t{\tsoap->fault = (struct SOAP_ENV__Fault*)soap_malloc(soap, sizeof(struct SOAP_ENV__Fault));\n\t\tif (soap->fault == NULL)\n\t\t\treturn;\n\t\tsoap_default_SOAP_ENV__Fault(soap, soap->fault);\n\t}\n\tif (soap->version == 2 && !soap->fault->SOAP_ENV__Code)\n\t{\tsoap->fault->SOAP_ENV__Code = (struct SOAP_ENV__Code*)soap_malloc(soap, sizeof(struct SOAP_ENV__Code));\n\t\tsoap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code);\n\t}\n\tif (soap->version == 2 && !soap->fault->SOAP_ENV__Reason)\n\t{\tsoap->fault->SOAP_ENV__Reason = (struct SOAP_ENV__Reason*)soap_malloc(soap, sizeof(struct SOAP_ENV__Reason));\n\t\tsoap_default_SOAP_ENV__Reason(soap, soap->fault->SOAP_ENV__Reason);\n\t}\n}");
+	  fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_serializefault(struct soap *soap)\n{\n\tif (soap->fault)\n\t\tsoap_serialize_SOAP_ENV__Fault(soap, soap->fault);\n}");
+	}
+        else if ((p = entry(classtable, lookup("SOAP_ENV__Fault"))) && p->info.typ->type == Tstruct)
+	{ fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_fault(struct soap *soap)\n{\n\tif (soap->fault == NULL)\n\t{\tsoap->fault = soap_new_SOAP_ENV__Fault(soap, -1);\n\t\tif (soap->fault == NULL)\n\t\t\treturn;\n\t\tsoap_default_SOAP_ENV__Fault(soap, soap->fault);\n\t}\n\tif (soap->version == 2 && !soap->fault->SOAP_ENV__Code)\n\t{\tsoap->fault->SOAP_ENV__Code = soap_new_SOAP_ENV__Code(soap, -1);\n\t\tsoap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code);\n\t}\n\tif (soap->version == 2 && !soap->fault->SOAP_ENV__Reason)\n\t{\tsoap->fault->SOAP_ENV__Reason = soap_new_SOAP_ENV__Reason(soap, -1);\n\t\tsoap_default_SOAP_ENV__Reason(soap, soap->fault->SOAP_ENV__Reason);\n\t}\n}");
+	  fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_serializefault(struct soap *soap)\n{\n\tsoap_fault(soap);\n\tif (soap->fault)\n\t\tsoap_serialize_SOAP_ENV__Fault(soap, soap->fault);\n}");
+	}
+	else
+	{ fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_fault(struct soap *soap)\n{\n\tif (soap->fault == NULL)\n\t{\tsoap->fault = soap_new_SOAP_ENV__Fault(soap, -1);\n\t\tsoap->fault->soap_default(soap);\n\t}\n\tif (soap->version == 2 && !soap->fault->SOAP_ENV__Code)\n\t{\tsoap->fault->SOAP_ENV__Code = soap_new_SOAP_ENV__Code(soap, -1);\n\t\tsoap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code);\n\t}\n\tif (soap->version == 2 && !soap->fault->SOAP_ENV__Reason)\n\t{\tsoap->fault->SOAP_ENV__Reason = soap_new_SOAP_ENV__Reason(soap, -1);\n\t\tsoap_default_SOAP_ENV__Reason(soap, soap->fault->SOAP_ENV__Reason);\n\t}\n}");
+	  fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_serializefault(struct soap *soap)\n{\n\tsoap_fault(soap);\n\tif (soap->fault)\n\t\tsoap->fault->soap_serialize(soap);\n}");
+	}
+        if ((p = entry(classtable, lookup("SOAP_ENV__Fault"))) && p->info.typ->type == Tstruct)
+	{ fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_putfault(struct soap *soap)\n{\n\tif (soap->fault)\n\t\treturn soap_put_SOAP_ENV__Fault(soap, soap->fault, \"SOAP-ENV:Fault\", NULL);\n\treturn SOAP_OK;\n}");
+	  fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_getfault(struct soap *soap)\n{\n\treturn (soap->fault = soap_get_SOAP_ENV__Fault(soap, NULL, \"SOAP-ENV:Fault\", NULL)) == NULL;\n}");
+	}
+	else
+	{ fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_putfault(struct soap *soap)\n{\n\tsoap_fault(soap);\n\tif (soap->fault)\n\t\treturn soap->fault->soap_put(soap, \"SOAP-ENV:Fault\", NULL);\n\treturn SOAP_EOM;\n}");
+	  fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_getfault(struct soap *soap)\n{\n\tsoap_fault(soap);\n\tif (soap->fault)\n\t\treturn soap->fault->soap_get(soap, \"SOAP-ENV:Fault\", NULL) == NULL;\n\treturn SOAP_EOM;\n}");
+	}
+	fprintf(fhead,"\n\nSOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultcode(struct soap *soap);");
+	fprintf(fout,"\n\nSOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultcode(struct soap *soap)\n{\n\tsoap_fault(soap);\n\tif (soap->version == 2 && soap->fault->SOAP_ENV__Code)\n\t\treturn (const char**)&soap->fault->SOAP_ENV__Code->SOAP_ENV__Value;\n\treturn (const char**)&soap->fault->faultcode;\n}");
+	if (cflag)
+	  fprintf(fout,"\n\nSOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultsubcode(struct soap *soap)\n{\n\tsoap_fault(soap);\n\tif (soap->version == 2)\n\t{\tif (soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode == NULL)\n\t\t{\tsoap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode = (struct SOAP_ENV__Code*)soap_malloc(soap, sizeof(struct SOAP_ENV__Code));\n\t\t\tsoap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode);\n\t\t}\n\t\treturn (const char**)&soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode->SOAP_ENV__Value;\n\t}\n\treturn (const char**)&soap->fault->faultcode;\n}");
+        else
+	  fprintf(fout,"\n\nSOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultsubcode(struct soap *soap)\n{\n\tsoap_fault(soap);\n\tif (soap->version == 2)\n\t{\tif (soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode == NULL)\n\t\t{\tsoap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode = soap_new_SOAP_ENV__Code(soap, -1);\n\t\t\tsoap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode);\n\t\t}\n\t\treturn (const char**)&soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode->SOAP_ENV__Value;\n\t}\n\treturn (const char**)&soap->fault->faultcode;\n}");
+	fprintf(fout,"\n\nSOAP_FMAC3 const char * SOAP_FMAC4 soap_check_faultsubcode(struct soap *soap)\n{\n\tsoap_fault(soap);\n\tif (soap->version == 2)\n\t{\tif (soap->fault->SOAP_ENV__Code && soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode && soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode)\n\t\t\treturn soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode->SOAP_ENV__Value;\n\t\treturn NULL;\n\t}\n\treturn soap->fault->faultcode;\n}");
+	fprintf(fout,"\n\nSOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultstring(struct soap *soap)\n{\n\tsoap_fault(soap);\n\tif (soap->version == 2)\n\t\treturn (const char**)&soap->fault->SOAP_ENV__Reason->SOAP_ENV__Text;\n\treturn (const char**)&soap->fault->faultstring;\n}");
+	fprintf(fout,"\n\nSOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultdetail(struct soap *soap)\n{\n\tsoap_fault(soap);");
+	if (has_Detail_string())
+	{ if (cflag)
+	    fprintf(fout,"\n\tif (soap->version == 2)\n\t{\tif (soap->fault->SOAP_ENV__Detail == NULL)\n\t\t{\tsoap->fault->SOAP_ENV__Detail = (struct SOAP_ENV__Detail*)soap_malloc(soap, sizeof(struct SOAP_ENV__Detail));\n\t\t\tsoap_default_SOAP_ENV__Detail(soap, soap->fault->SOAP_ENV__Detail);\n\t\t}\n\t\treturn (const char**)&soap->fault->SOAP_ENV__Detail->__any;\n\t}");
+	  else
+	    fprintf(fout,"\n\tif (soap->version == 2)\n\t{\tif (soap->fault->SOAP_ENV__Detail == NULL)\n\t\t{\tsoap->fault->SOAP_ENV__Detail = soap_new_SOAP_ENV__Detail(soap, -1);\n\t\t\tsoap_default_SOAP_ENV__Detail(soap, soap->fault->SOAP_ENV__Detail);\n\t\t}\n\t\treturn (const char**)&soap->fault->SOAP_ENV__Detail->__any;\n\t}");
+	}
+	if (has_detail_string())
+	{ if (cflag)
+	    fprintf(fout,"\n\tif (soap->fault->detail == NULL)\n\t{\tsoap->fault->detail = (struct SOAP_ENV__Detail*)soap_malloc(soap, sizeof(struct SOAP_ENV__Detail));\n\t\tsoap_default_SOAP_ENV__Detail(soap, soap->fault->detail);\n\t}\n\treturn (const char**)&soap->fault->detail->__any;\n}");
+	  else
+	    fprintf(fout,"\n\tif (soap->fault->detail == NULL)\n\t{\tsoap->fault->detail = soap_new_SOAP_ENV__Detail(soap, -1);\n\t\tsoap_default_SOAP_ENV__Detail(soap, soap->fault->detail);\n\t}\n\treturn (const char**)&soap->fault->detail->__any;\n}");
+	}
+        if (!has_detail_string() && !has_Detail_string())
+	  fprintf(fout,"\n\treturn NULL;\n}");
+	fprintf(fout,"\n\nSOAP_FMAC3 const char * SOAP_FMAC4 soap_check_faultdetail(struct soap *soap)\n{\n\tsoap_fault(soap);");
+	if (has_Detail_string())
+	  fprintf(fout,"\n\tif (soap->version == 2 && soap->fault->SOAP_ENV__Detail)\n\t\treturn soap->fault->SOAP_ENV__Detail->__any;");
+	if (has_detail_string())
+	  fprintf(fout,"\n\tif (soap->fault->detail)\n\t\treturn soap->fault->detail->__any;");
+	fprintf(fout,"\n\treturn NULL;\n}");
+	fprintf(fout,"\n\n#endif");
+
+	fprintf(fout,"\n\n#ifndef WITH_NOIDREF");
+	fprintf(fout,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_getindependent(struct soap *soap)\n{");
+	fprintf(fout,"\n\tint t;\n\tif (soap->version == 1)\n\t{\tfor (;;)\n\t\t{\tif (!soap_getelement(soap, &t))\n\t\t\t\tif (soap->error || soap_ignore_element(soap))\n\t\t\t\t\tbreak;\n\t\t}\n\t}");
+        fprintf(fout,"\n\tif (soap->error == SOAP_NO_TAG || soap->error == SOAP_EOF)");
+        fprintf(fout,"\n\t\tsoap->error = SOAP_OK;");
+        fprintf(fout,"\n\treturn soap->error;");
+        fprintf(fout,"\n}\n#endif");
+
+	if (!cflag && !namespaceid)
+	  fprintf(fout,"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif");
+	fprintf(fout,"\nSOAP_FMAC3 void * SOAP_FMAC4 soap_getelement(struct soap *soap, int *type)\n{\t(void)type;");
+        fprintf(fout,"\n\tif (soap_peek_element(soap))\n\t\treturn NULL;");
+	fprintf(fout,"\n#ifndef WITH_NOIDREF\n\tif (!*soap->id || !(*type = soap_lookup_type(soap, soap->id)))\n\t\t*type = soap_lookup_type(soap, soap->href);");
+	fprintf(fout,"\n\tswitch (*type)\n\t{");
+	DBGLOG(fprintf(stderr,"\n Calling in_defs( )."));
+	fflush(fout);
+	in_defs(table);
+	DBGLOG(fprintf(stderr,"\n Completed in_defs( )."));
+        fprintf(fout,"\n\tdefault:\n#else\n\t*type = 0;\n#endif");
+        fprintf(fout,"\n\t{\tconst char *t = soap->type;\n\t\tif (!*t)\n\t\t\tt = soap->tag;");
+	fflush(fout);
+	in_defs2(table);
+        fprintf(fout,"\n\t\tt = soap->tag;");
+	in_defs3(table);
+        fprintf(fout,"\n#ifndef WITH_NOIDREF\n\t}\n#endif\n\t}\n\tsoap->error = SOAP_TAG_MISMATCH;\n\treturn NULL;\n}");
+	if (!cflag && !namespaceid)
+	  fprintf(fout,"\n\n#ifdef __cplusplus\n}\n#endif");
+
+	fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_ignore_element(struct soap *soap)\n{");
+	fprintf(fout,"\n\tif (!soap_peek_element(soap))");
+	fprintf(fout,"\n\t{\tint t;");
+	fprintf(fout,"\n\t\tDBGLOG(TEST, SOAP_MESSAGE(fdebug, \"Unexpected element '%%s' in input (level=%%u, %%d)\\n\", soap->tag, soap->level, soap->body));");
+	fprintf(fout,"\n\t\tif (soap->mustUnderstand && !soap->other)");
+	fprintf(fout,"\n\t\t\treturn soap->error = SOAP_MUSTUNDERSTAND;");
+	fprintf(fout,"\n\t\tif (((soap->mode & SOAP_XML_STRICT) && soap->part != SOAP_IN_HEADER) || !soap_match_tag(soap, soap->tag, \"SOAP-ENV:\"))\n\t\t{\tDBGLOG(TEST, SOAP_MESSAGE(fdebug, \"REJECTING element '%%s'\\n\", soap->tag));\n\t\t\treturn soap->error = SOAP_TAG_MISMATCH;\n\t\t}");
+	fprintf(fout,"\n\t\tif (!*soap->id || !soap_getelement(soap, &t))");
+	fprintf(fout,"\n\t\t{\tsoap->peeked = 0;");
+	fprintf(fout,"\n\t\t\tif (soap->fignore)\n\t\t\t\tsoap->error = soap->fignore(soap, soap->tag);\n\t\t\telse\n\t\t\t\tsoap->error = SOAP_OK;");
+	fprintf(fout,"\n\t\t\tDBGLOG(TEST, if (!soap->error) SOAP_MESSAGE(fdebug, \"IGNORING element '%%s'\\n\", soap->tag));");
+	fprintf(fout,"\n\t\t\tif (!soap->error && soap->body)");
+	fprintf(fout,"\n\t\t\t{\tsoap->level++;");
+	fprintf(fout,"\n\t\t\t\twhile (!soap_ignore_element(soap))");
+	fprintf(fout,"\n\t\t\t\t\t;");
+	fprintf(fout,"\n\t\t\t\tif (soap->error == SOAP_NO_TAG)");
+	fprintf(fout,"\n\t\t\t\t\tsoap->error = soap_element_end_in(soap, NULL);");
+	fprintf(fout,"\n\t\t\t}");
+	fprintf(fout,"\n\t\t}");
+	fprintf(fout,"\n\t}");
+	fprintf(fout,"\n\treturn soap->error;");
+	fprintf(fout,"\n}");
+
+	fprintf(fout,"\n\n#ifndef WITH_NOIDREF");
+	fprintf(fout,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_putindependent(struct soap *soap)\n{\n\tint i;\n\tstruct soap_plist *pp;");
+	fprintf(fout,"\n\tif (soap->version == 1 && soap->encodingStyle && !(soap->mode & (SOAP_XML_TREE | SOAP_XML_GRAPH)))");
+	fprintf(fout,"\n\t\tfor (i = 0; i < SOAP_PTRHASH; i++)");
+	fprintf(fout,"\n\t\t\tfor (pp = soap->pht[i]; pp; pp = pp->next)");
+	fprintf(fout,"\n\t\t\t\tif (pp->mark1 == 2 || pp->mark2 == 2)");
+	fprintf(fout,"\n\t\t\t\t\tif (soap_putelement(soap, pp->ptr, \"id\", pp->id, pp->type))\n\t\t\t\t\t\treturn soap->error;");
+	fprintf(fout,"\n\treturn SOAP_OK;\n}\n#endif");
+
+	if (!cflag && !namespaceid)
+	  fprintf(fout,"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif");
+	fprintf(fout,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_putelement(struct soap *soap, const void *ptr, const char *tag, int id, int type)\n{\t(void)tag;");
+	fprintf(fout,"\n\tswitch (type)\n\t{");
+	fflush(fout);
+        out_defs(table);
+	fprintf(fout,"\n\t}\n\treturn SOAP_OK;\n}");
+	if (!cflag && !namespaceid)
+	  fprintf(fout,"\n\n#ifdef __cplusplus\n}\n#endif");
+
+	fprintf(fout,"\n\n#ifndef WITH_NOIDREF");
+	if (!cflag && !namespaceid)
+	  fprintf(fout,"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif");
+	if (is_anytype_flag)
+	{ fprintf(fout,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_markelement(struct soap *soap, const void *ptr, int type)\n{");
+	  fprintf(fout,"\n\t(void)soap; (void)ptr; (void)type; /* appease -Wall -Werror */");
+	  fprintf(fout,"\n\tswitch (type)\n\t{");
+	  fflush(fout);
+          mark_defs(table);
+          fprintf(fout,"\n\t}\n}");
+        }
+	else
+	{ fprintf(fout,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_markelement(struct soap *soap, const void *ptr, int type)\n{");
+	  fprintf(fout,"\n\t(void)soap; (void)ptr; (void)type; /* appease -Wall -Werror */");
+          fprintf(fout,"\n}");
+	}
+	if (!cflag && !namespaceid)
+	  fprintf(fout,"\n\n#ifdef __cplusplus\n}\n#endif");
+	fprintf(fout,"\n#endif");
+
+	}
+	
+	if (!cflag)
+	{
+	fprintf(fhead,"\n\nSOAP_FMAC3 void * SOAP_FMAC4 %s_instantiate(struct soap*, int, const char*, const char*, size_t*);", prefix);
+	fprintf(fout,"\n\nSOAP_FMAC3 void * SOAP_FMAC4 %s_instantiate(struct soap *soap, int t, const char *type, const char *arrayType, size_t *n)\n{\t(void)type;\n\tswitch (t)\n\t{", prefix);
+	if (classtable)
+	  for (p = classtable->list; p; p = p->next)
+	    if ((p->info.typ->type == Tclass || p->info.typ->type == Tstruct) && !is_transient(p->info.typ))
+	    { if (is_header_or_fault(p->info.typ) || is_body(p->info.typ))
+                fprintf(fout,"\n#ifndef WITH_NOGLOBAL");
+	      fprintf(fout,"\n\tcase %s:\n\t\treturn (void*)soap_instantiate_%s(soap, -1, type, arrayType, n);", soap_type(p->info.typ), c_ident(p->info.typ));
+	      if (is_header_or_fault(p->info.typ) || is_body(p->info.typ))
+                fprintf(fout,"\n#endif");
+	    }
+	if (typetable)
+	  for (p = typetable->list; p; p = p->next)
+	    if ((p->info.typ->type == Tclass || p->info.typ->type == Tstruct) && !is_transient(p->info.typ))
+	    { if (is_header_or_fault(p->info.typ) || is_body(p->info.typ))
+                fprintf(fout,"\n#ifndef WITH_NOGLOBAL");
+	      fprintf(fout,"\n\tcase %s:\n\t\treturn (void*)soap_instantiate_%s(soap, -1, type, arrayType, n);", soap_type(p->info.typ), c_ident(p->info.typ));
+	      if (is_header_or_fault(p->info.typ) || is_body(p->info.typ))
+                fprintf(fout,"\n#endif");
+	    }
+	for (typ = Tptr[Ttemplate]; typ; typ = typ->next)
+	  if (typ->ref && !is_transient(typ))
+	    fprintf(fout,"\n\tcase %s:\n\t\treturn (void*)soap_instantiate_%s(soap, -1, type, arrayType, n);", soap_type(typ), c_ident(typ));
+
+	fprintf(fout,"\n\t}\n\treturn NULL;\n}");
+
+	fprintf(fhead,"\nSOAP_FMAC3 int SOAP_FMAC4 %s_fdelete(struct soap_clist*);", prefix);
+	fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 %s_fdelete(struct soap_clist *p)", prefix);
+	fprintf(fout,"\n{\tswitch (p->type)\n\t{");
+	if (classtable)
+	{ for (p = classtable->list; p; p = p->next)
+	    if ((p->info.typ->type == Tclass || p->info.typ->type == Tstruct) && !is_transient(p->info.typ))
+	    { if (is_header_or_fault(p->info.typ) || is_body(p->info.typ))
+                fprintf(fout,"\n#ifndef WITH_NOGLOBAL");
+	      fprintf(fout,"\n\tcase %s:", soap_type(p->info.typ));
+	      fprintf(fout,"\n\t\tif (p->size < 0)\n\t\t\tSOAP_DELETE((%s*)p->ptr);\n\t\telse\n\t\t\tSOAP_DELETE_ARRAY((%s*)p->ptr);\n\t\tbreak;", c_type(p->info.typ), c_type(p->info.typ));
+	      if (is_header_or_fault(p->info.typ) || is_body(p->info.typ))
+                fprintf(fout,"\n#endif");
+	    }
+	}
+	if (typetable)
+	{ for (p = typetable->list; p; p = p->next)
+	    if (p->info.typ->type == Tclass || p->info.typ->type == Tstruct) /* && is_external(p->info.typ)) */
+	    { if (is_header_or_fault(p->info.typ) || is_body(p->info.typ))
+                fprintf(fout,"\n#ifndef WITH_NOGLOBAL");
+	      fprintf(fout,"\n\tcase %s:", soap_type(p->info.typ));
+	      fprintf(fout,"\n\t\tif (p->size < 0)\n\t\t\tSOAP_DELETE((%s*)p->ptr);\n\t\telse\n\t\t\tSOAP_DELETE_ARRAY((%s*)p->ptr);\n\t\tbreak;", c_type(p->info.typ), c_type(p->info.typ));
+	      if (is_header_or_fault(p->info.typ) || is_body(p->info.typ))
+                fprintf(fout,"\n#endif");
+	    }
+	}
+	for (typ = Tptr[Ttemplate]; typ; typ = typ->next)
+	{ if (typ->ref && !is_transient(typ))
+	  { fprintf(fout,"\n\tcase %s:", soap_type(typ));
+	    fprintf(fout,"\n\t\tif (p->size < 0)\n\t\t\tSOAP_DELETE((%s*)p->ptr);\n\t\telse\n\t\t\tSOAP_DELETE_ARRAY((%s*)p->ptr);\n\t\tbreak;", c_type(typ), c_type(typ));
+	  }
+	}
+	fprintf(fout,"\n\tdefault:\treturn SOAP_ERR;");
+	fprintf(fout,"\n\t}\n\treturn SOAP_OK;");
+	fprintf(fout,"\n}");
+
+	fprintf(fhead,"\nSOAP_FMAC3 void* SOAP_FMAC4 soap_class_id_enter(struct soap*, const char*, void*, int, size_t, const char*, const char*);");
+	if (!lflag)
+	{
+	fprintf(fout,"\n\nSOAP_FMAC3 void* SOAP_FMAC4 soap_class_id_enter(struct soap *soap, const char *id, void *p, int t, size_t n, const char *type, const char *arrayType)");
+	fprintf(fout, "\n{\treturn soap_id_enter(soap, id, p, t, n, 0, type, arrayType, %s_instantiate);\n}", prefix);
+	}
+
+	if (Tptr[Ttemplate])
+	{
+	fprintf(fhead, "\n\nSOAP_FMAC3 void* SOAP_FMAC4 soap_container_id_forward(struct soap*, const char*, void*, size_t, int, int, size_t, unsigned int);");
+	if (!lflag)
+	{
+	fprintf(fout, "\n\nSOAP_FMAC3 void* SOAP_FMAC4 soap_container_id_forward(struct soap *soap, const char *href, void *p, size_t len, int st, int tt, size_t n, unsigned int k)");
+	fprintf(fout, "\n{\treturn soap_id_forward(soap, href, p, len, st, tt, n, k, %s_container_insert);\n}", prefix);
+	}
+
+	fprintf(fhead, "\n\nSOAP_FMAC3 void SOAP_FMAC4 %s_container_insert(struct soap*, int, int, void*, size_t, const void*, size_t);", prefix);
+	if (!lflag)
+	{
+	fprintf(fout, "\n\nSOAP_FMAC3 void SOAP_FMAC4 %s_container_insert(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)", prefix);
+	fprintf(fout, "\n#ifdef WIN32\n#pragma warning(push)\n#pragma warning(disable:4065)\n#endif");
+        fprintf(fout,"\n{\n\t(void)soap; (void)st; (void)p; (void)len; (void)q; (void)n; /* appease -Wall -Werror */");
+	fprintf(fout, "\n\tswitch (tt)\n\t{");
+	for (typ = Tptr[Ttemplate]; typ; typ = typ->next)
+	{ if (typ->ref && !is_transient(typ))
+	  { fprintf(fout, "\n\tcase %s:", soap_type(typ));
+	    fprintf(fout, "\n\t\tDBGLOG(TEST, SOAP_MESSAGE(fdebug, \"Container %s_container_insert type=%%d in %%d location=%%p object=%%p len=%%lu\\n\", st, tt, p, q, (unsigned long)len));", prefix);
+            if (!strcmp(typ->id->name, "std::vector") || !strcmp(typ->id->name, "std::deque"))
+	      fprintf(fout, "\n\t\t(*(%s)p)[len] = *(%s)q;", c_type_id(typ, "*"), c_type_id((Tnode*)typ->ref, "*"));
+	    else
+	      fprintf(fout, "\n\t\t((%s)p)->insert(((%s)p)->end(), *(%s)q);", c_type_id(typ, "*"), c_type_id(typ, "*"), c_type_id((Tnode*)typ->ref, "*"));
+	    fprintf(fout, "\n\t\tbreak;");
+	  }
+	}
+	fprintf(fout, "\n\tdefault:\n\t\tDBGLOG(TEST, SOAP_MESSAGE(fdebug, \"Could not insert type=%%d in %%d\\n\", st, tt));");
+	fprintf(fout, "\n\t}");
+	fprintf(fout, "\n#ifdef WIN32\n#pragma warning(pop)\n#endif");
+	fprintf(fout, "\n}");
+	}
+	}
+	}
+	}
+
+        def_table(table);
+
+	if (namespaceid)
+	  fprintf(fout,"\n\n} // namespace %s\n", namespaceid);
+	if (cflag)
+	  fprintf(fout,"\n\n#ifdef __cplusplus\n}\n#endif");
+        fprintf(fout,"\n\n#if defined(__BORLANDC__)");
+        fprintf(fout,"\n#pragma option pop");
+        fprintf(fout,"\n#pragma option pop");
+        fprintf(fout,"\n#endif");
+	fprintf(fout, "\n\n/* End of %s */\n", soapC);
+        fclose(fout);
+  }
+
+	if (namespaceid)
+	  fprintf(fhead,"\n\n} // namespace %s\n", namespaceid);
+	if (cflag)
+	  fprintf(fhead,"\n\n#ifdef __cplusplus\n}\n#endif");
+	fprintf(fhead, "\n\n#endif");
+	fprintf(fhead, "\n\n/* End of %s */\n", soapH);
+	fclose(fhead);
+
+	if (namespaceid)
+	  fprintf(fheader,"\n\n} // namespace %s\n", namespaceid);
+	if (cflag)
+	  fprintf(fheader,"\n\n#ifdef __cplusplus\n}\n#endif");
+	fprintf(fheader, "\n\n#endif");
+	fprintf(fheader, "\n\n/* End of %s */\n", soapStub);
+	fclose(fheader);
+
+	if (mflag)
+ 	{ DBGLOG(fprintf(stderr,"\n Calling matlab_def_table( )."));
+	  matlab_def_table(table);
+ 	  DBGLOG(fprintf(stderr,"\n Completed matlab_def_table( )."));
+ 	  fclose(fmatlab);
+ 	  fclose(fmheader);
+	}
+
+	if (!Sflag && !iflag && !jflag)
+	{ if (namespaceid)
+	    fprintf(fclient,"\n\n} // namespace %s\n", namespaceid);
+	  if (cflag)
+	    fprintf(fclient,"\n\n#ifdef __cplusplus\n}\n#endif");
+          fprintf(fclient,"\n\n#if defined(__BORLANDC__)");
+          fprintf(fclient,"\n#pragma option pop");
+          fprintf(fclient,"\n#pragma option pop");
+          fprintf(fclient,"\n#endif");
+	  fprintf(fclient, "\n\n/* End of %s */\n", soapClient);
+          fclose(fclient);
+        }
+
+	if (!Cflag && !iflag && !jflag)
+	{ if (namespaceid)
+	    fprintf(fserver,"\n\n} // namespace %s\n", namespaceid);
+	  if (cflag)
+	    fprintf(fserver,"\n\n#ifdef __cplusplus\n}\n#endif");
+          fprintf(fserver,"\n\n#if defined(__BORLANDC__)");
+          fprintf(fserver,"\n#pragma option pop");
+          fprintf(fserver,"\n#pragma option pop");
+          fprintf(fserver,"\n#endif");
+	  fprintf(fserver, "\n\n/* End of %s */\n", soapServer);
+ 	  fclose(fserver);
+        }
+}
+
+void
+gen_class(FILE *fd, Entry *p)
+{ Entry *Eptr;
+  Tnode *typ = p->info.typ;
+  char *x;
+  x = xsi_type(typ);
+  if (!x || !*x)
+    x = wsdl_type(typ, "");
+  typ->classed = True;
+  if (is_header_or_fault(typ) || is_body(typ))
+    fprintf(fd, "\n\n#ifndef WITH_NOGLOBAL");
+  if (typ->ref)
+  { fprintf(fd, "\n\n#ifndef %s", soap_type(typ));
+    fprintf(fd, "\n#define %s (%d)\n",soap_type(typ),typ->num);	
+  }
+  else
+    fprintf(fd, "\n\n");
+  if (is_volatile(typ))
+    fprintf(fd, "#if 0 /* volatile type: do not declare here, declared elsewhere */\n");
+  else if (is_transient(typ) && typ->ref)
+    fprintf(fd, "/* Transient type: */\n");
+  else if (is_invisible(typ->id->name) && typ->ref)
+    fprintf(fd, "/* Operation wrapper: */\n");
+  else if (is_hexBinary(typ))
+    fprintf(fd, "/* hexBinary schema type: */\n");
+  else if (is_binary(typ))
+    fprintf(fd, "/* Base64 schema type: */\n");
+  else if (is_discriminant(typ))
+    fprintf(fd, "/* Choice: */\n");
+  else if (is_dynamic_array(typ))
+  { Eptr = ((Table*)typ->ref)->list;
+    if (has_ns(typ) || is_untyped(typ))
+      fprintf(fd, "/* Sequence of %s schema type: */\n", x);
+    else
+    { if (!eflag)
+      { sprintf(errbuf, "array '%s' is not compliant with WS-I Basic Profile 1.0a, reason: SOAP encoded array", c_type(typ));
+        compliancewarn(errbuf);
+      }
+      fprintf(fd, "/* SOAP encoded array of %s schema type: */\n", x);
+    }
+  }
+  else if (is_primclass(typ))
+    fprintf(fd, "/* Primitive %s schema type: */\n", x);
+  else if (!strcmp(typ->id->name, "SOAP_ENV__Header"))
+    fprintf(fd, "/* SOAP Header: */\n");
+  else if (!strcmp(typ->id->name, "SOAP_ENV__Fault"))
+    fprintf(fd, "/* SOAP Fault: */\n");
+  else if (!strcmp(typ->id->name, "SOAP_ENV__Code"))
+    fprintf(fd, "/* SOAP Fault Code: */\n");
+  else if (x && *x && typ->ref)
+    fprintf(fd, "/* %s */\n", x);
+  fflush(fd);
+  if (typ->type == Tstruct)
+  {   DBGLOG(fprintf(stderr,"\nstruct %s\n", typ->id->name));
+      if (typ->ref)
+      { int permission = -1;
+        fprintf(fd, "struct %s\n{", ident(typ->id->name));
+        for (Eptr = ((Table*)typ->ref)->list; Eptr; Eptr = Eptr->next)
+        { if (!cflag && permission != (Eptr->info.sto & (Sprivate | Sprotected)))
+          { if (Eptr->info.sto & Sprivate)
+              fprintf(fd, "\nprivate:");
+            else if (Eptr->info.sto & Sprotected)
+              fprintf(fd, "\nprotected:");
+            else
+              fprintf(fd, "\npublic:");
+	    permission = (Eptr->info.sto & (Sprivate | Sprotected));
+	  }
+	  if (cflag && Eptr->info.typ->type == Tfun)
+	    continue;
+	  if (cflag && (Eptr->info.sto & Stypedef))
+	    continue;
+	  fprintf(fd, "\n\t%s", c_storage(Eptr->info.sto));
+	  /*if (Eptr->info.typ->type == Tclass && !is_external(Eptr->info.typ) && Eptr->info.typ->classed == False || (Eptr->info.typ->type == Tpointer || Eptr->info.typ->type == Treference) && Eptr->info.typ->ref && ((Tnode*)Eptr->info.typ->ref)->type == Tclass && !is_external(Eptr->info.typ->ref) && ((Tnode*)Eptr->info.typ->ref)->classed == False)
+	    fprintf(fd, "class ");
+	  */
+	  if (Eptr->sym == typ->id && Eptr->info.typ->type == Tfun) /* a hack to emit constructor in a struct, where constructor has no return value */
+            ((FNinfo*)Eptr->info.typ->ref)->ret = mknone();
+          fprintf(fd, "%s", c_type_id(Eptr->info.typ,Eptr->sym->name));
+	  if (Eptr->info.sto & Sconst)
+            fprintf(fd, "%s;", c_init(Eptr));
+	  else if (Eptr->info.sto & Sconstobj)
+	    fprintf(fd, " const;");
+	  else
+	    fprintf(fd, ";");
+	  if (Eptr->info.sto & Sreturn)
+	    fprintf(fd, "\t/* SOAP 1.2 RPC return element (when namespace qualified) */");
+	  if (is_external(Eptr->info.typ))
+	    fprintf(fd, "\t/* external */");
+	  if (is_transient(Eptr->info.typ))
+	    fprintf(fd, "\t/* transient */");
+	  if (is_imported(Eptr->info.typ))
+	    fprintf(fd, "\t/* type imported from %s */", Eptr->info.typ->imported);
+	  if (Eptr->info.sto & Sattribute)
+	  { if (Eptr->info.minOccurs >= 1)
+	      fprintf(fd, "\t/* required attribute of type %s */", wsdl_type(Eptr->info.typ, ""));
+            else
+	      fprintf(fd, "\t/* optional attribute of type %s */", wsdl_type(Eptr->info.typ, ""));
+	  }
+	  if (Eptr->info.sto & (Sconst | Sprivate | Sprotected))
+	    fprintf(fd, "\t/* not serialized */");
+	  else if (Eptr->info.sto & SmustUnderstand)
+	    fprintf(fd, "\t/* mustUnderstand */");
+	  else if (!is_dynamic_array(typ) && is_repetition(Eptr))
+          { if (Eptr->info.maxOccurs > 1)
+	      fprintf(fd, "\t/* sequence of " SOAP_LONG_FORMAT " to " SOAP_LONG_FORMAT " elements <%s> */", Eptr->info.minOccurs, Eptr->info.maxOccurs, ns_convert(Eptr->next->sym->name));
+	    else
+	      fprintf(fd, "\t/* sequence of elements <%s> */", ns_convert(Eptr->next->sym->name));
+	  }
+	  else if (is_anytype(Eptr))
+	    fprintf(fd, "\t/* any type of element <%s> (defined below) */", ns_convert(Eptr->next->sym->name));
+	  else if (is_choice(Eptr))
+	    fprintf(fd, "\t/* union discriminant (of union defined below) */");
+	  else if (Eptr->info.typ->type != Tfun && !(Eptr->info.sto & (Sconst | Sprivate | Sprotected)) && !(Eptr->info.sto & Sattribute) && !is_transient(Eptr->info.typ) && !is_external(Eptr->info.typ) && strncmp(Eptr->sym->name, "__", 2))
+	  { if (Eptr->info.maxOccurs > 1)
+	      fprintf(fd, "\t/* sequence of " SOAP_LONG_FORMAT " to " SOAP_LONG_FORMAT " elements of type %s */", Eptr->info.minOccurs, Eptr->info.maxOccurs, wsdl_type(Eptr->info.typ, ""));
+	    else if (Eptr->info.minOccurs >= 1)
+	      fprintf(fd, "\t/* required element of type %s */", wsdl_type(Eptr->info.typ, ""));
+            else
+	      fprintf(fd, "\t/* optional element of type %s */", wsdl_type(Eptr->info.typ, ""));
+	  }
+	  if (!is_dynamic_array(typ) && !is_primclass(typ))
+	  { if (!strncmp(Eptr->sym->name, "__size", 6))
+	    { if (!Eptr->next || Eptr->next->info.typ->type != Tpointer)
+              { sprintf(errbuf, "Member field '%s' is not followed by a pointer member field in struct '%s'", Eptr->sym->name, typ->id->name);
+                semwarn(errbuf);
+	      }
+	    }
+	    else if (!strncmp(Eptr->sym->name, "__type", 6))
+	    { if (!Eptr->next || ((Eptr->next->info.typ->type != Tpointer || ((Tnode*)Eptr->next->info.typ->ref)->type != Tvoid)))
+              { sprintf(errbuf, "Member field '%s' is not followed by a void pointer or union member field in struct '%s'", Eptr->sym->name, typ->id->name);
+                semwarn(errbuf);
+	      }
+	    }
+	  }
+	}
+        if (!cflag && !is_transient(typ) && !is_volatile(typ))
+        { fprintf(fd,"\npublic:\n\tint soap_type() const { return %d; } /* = unique type id %s */", typ->num, soap_type(typ));
+#if 0
+	  /* ctor not allowed in unions, so keep things simple for structs */
+	  if (!has_constructor(typ))
+	  { fprintf(fd,"\n\t         %s()", ident(typ->id->name));
+	    fprintf(fd, " { void soap_default_%s(struct soap*, %s); soap_default_%s(NULL, this); }", c_ident(typ), c_type_id(typ, "*"), c_ident(typ));
+	  }
+	  if (!has_destructor(typ))
+	    fprintf(fd,"\n\tvirtual ~%s() { }", ident(typ->id->name));
+#endif
+	}
+        if (!((Table*)typ->ref)->list)
+	{ if (cflag)
+            fprintf(fd, "\n#ifdef WITH_NOEMPTYSTRUCT\n\tchar dummy;\t/* dummy member to enable compilation */\n#endif");
+	  else
+            fprintf(fd, "\n#ifdef WITH_NOEMPTYSTRUCT\nprivate:\n\tchar dummy;\t/* dummy member to enable compilation */\n#endif");
+	}
+        fprintf(fd, "\n};");
+      }
+      else if (!is_transient(typ) && !is_external(typ) && !is_volatile(typ))
+      { sprintf(errbuf, "struct '%s' is empty", typ->id->name);
+        semwarn(errbuf);
+      }
+  }
+  else if (typ->type == Tclass)
+  { DBGLOG(fprintf(stderr,"\nclass %s\n", typ->id->name));
+    if (typ->ref)
+    { int permission = -1;
+      fprintf(fd,"class SOAP_CMAC %s", ident(typ->id->name));
+      if (typ->base)
+        fprintf(fd," : public %s", ident(typ->base->name));
+      fprintf(fd,"\n{");
+      for (Eptr = ((Table*)typ->ref)->list; Eptr; Eptr = Eptr->next)
+      { if (permission != (Eptr->info.sto & (Sprivate | Sprotected)))
+        { if (Eptr->info.sto & Sprivate)
+            fprintf(fd, "\nprivate:");
+          else if (Eptr->info.sto & Sprotected)
+            fprintf(fd, "\nprotected:");
+          else
+            fprintf(fd, "\npublic:");
+	  permission = (Eptr->info.sto & (Sprivate | Sprotected));
+	}
+        fprintf(fd,"\n\t%s", c_storage(Eptr->info.sto));
+	/* if (Eptr->info.typ->type == Tclass && !is_external(Eptr->info.typ) && Eptr->info.typ->classed == False || (Eptr->info.typ->type == Tpointer || Eptr->info.typ->type == Treference) && Eptr->info.typ->ref && ((Tnode*)Eptr->info.typ->ref)->type == Tclass && !is_external(Eptr->info.typ->ref) && ((Tnode*)Eptr->info.typ->ref)->classed == False)
+	  fprintf(fd, "class ");
+	*/
+	fprintf(fd,"%s", c_type_id(Eptr->info.typ,Eptr->sym->name));
+	if (Eptr->info.sto & Sconstobj)
+	  fprintf(fd, " const");
+	if (Eptr->info.sto & Sconst)
+          fprintf(fd, "%s;", c_init(Eptr));
+	else if (Eptr->info.sto & Sabstract)
+	  fprintf(fd, " = 0;");
+	else
+	  fprintf(fd, ";");
+	if (Eptr->info.sto & Sreturn)
+	   fprintf(fd, "\t/* SOAP 1.2 RPC return element (when namespace qualified) */");
+	 if (is_external(Eptr->info.typ))
+	   fprintf(fd, "\t/* external */");
+	 if (is_transient(Eptr->info.typ))
+	   fprintf(fd, "\t/* transient */");
+	 if (is_imported(Eptr->info.typ))
+	   fprintf(fd, "\t/* type imported from %s */", Eptr->info.typ->imported);
+	 if (Eptr->info.sto & Sattribute)
+	 { if (Eptr->info.minOccurs >= 1)
+	     fprintf(fd, "\t/* required attribute */");
+           else
+	     fprintf(fd, "\t/* optional attribute */");
+	 }
+	 if (Eptr->info.sto & (Sconst | Sprivate | Sprotected))
+	   fprintf(fd, "\t/* not serialized */");
+	 else if (Eptr->info.sto & SmustUnderstand)
+	   fprintf(fd, "\t/* mustUnderstand */");
+	 else if (!is_dynamic_array(typ) && is_repetition(Eptr))
+         { if (Eptr->info.maxOccurs > 1)
+	     fprintf(fd, "\t/* sequence of " SOAP_LONG_FORMAT " to " SOAP_LONG_FORMAT " elements <%s> */", Eptr->info.minOccurs, Eptr->info.maxOccurs, ns_convert(Eptr->next->sym->name));
+	   else
+	     fprintf(fd, "\t/* sequence of elements <%s> */", ns_convert(Eptr->next->sym->name));
+	 }
+	 else if (is_anytype(Eptr))
+	   fprintf(fd, "\t/* any type of element <%s> (defined below) */", ns_convert(Eptr->next->sym->name));
+	 else if (is_choice(Eptr))
+	   fprintf(fd, "\t/* union discriminant (of union defined below) */");
+	 else if (Eptr->info.typ->type != Tfun && !(Eptr->info.sto & (Sconst | Sprivate | Sprotected)) && !(Eptr->info.sto & Sattribute) && !is_transient(Eptr->info.typ) && !is_external(Eptr->info.typ) && strncmp(Eptr->sym->name, "__", 2))
+	 { if (Eptr->info.maxOccurs > 1)
+	     fprintf(fd, "\t/* sequence of " SOAP_LONG_FORMAT " to " SOAP_LONG_FORMAT " elements */", Eptr->info.minOccurs, Eptr->info.maxOccurs);
+	   else if (Eptr->info.minOccurs >= 1)
+	     fprintf(fd, "\t/* required element of type %s */", wsdl_type(Eptr->info.typ, ""));
+           else
+	     fprintf(fd, "\t/* optional element of type %s */", wsdl_type(Eptr->info.typ, ""));
+	 }
+	 if (!is_dynamic_array(typ) && !is_primclass(typ))
+	 { if (!strncmp(Eptr->sym->name, "__size", 6))
+	   { if (!Eptr->next || Eptr->next->info.typ->type != Tpointer)
+             { sprintf(errbuf, "Member field '%s' is not followed by a pointer member field in struct '%s'", Eptr->sym->name, typ->id->name);
+               semwarn(errbuf);
+	     }
+	   }
+	   else if (!strncmp(Eptr->sym->name, "__type", 6))
+	   { if (!Eptr->next || ((Eptr->next->info.typ->type != Tpointer || ((Tnode*)Eptr->next->info.typ->ref)->type != Tvoid)))
+             { sprintf(errbuf, "Member field '%s' is not followed by a void pointer or union member field in struct '%s'", Eptr->sym->name, typ->id->name);
+               semwarn(errbuf);
+	     }
+	   }
+	 }
+      }
+      if (!is_transient(typ) && !is_volatile(typ))
+      { fprintf(fd,"\npublic:\n\tvirtual int soap_type() const { return %d; } /* = unique type id %s */", typ->num, soap_type(typ));
+        fprintf(fd,"\n\tvirtual void soap_default(struct soap*);");
+        fprintf(fd,"\n\tvirtual void soap_serialize(struct soap*) const;");
+	if (kflag)
+          fprintf(fd,"\n\tvirtual void soap_traverse(struct soap*, const char *s, soap_walker, soap_walker);");
+        fprintf(fd,"\n\tvirtual int soap_put(struct soap*, const char*, const char*) const;");
+        fprintf(fd,"\n\tvirtual int soap_out(struct soap*, const char*, int, const char*) const;");
+        fprintf(fd,"\n\tvirtual void *soap_get(struct soap*, const char*, const char*);");
+        fprintf(fd,"\n\tvirtual void *soap_in(struct soap*, const char*, const char*);");
+	if (!has_constructor(typ))
+	{ fprintf(fd,"\n\t         %s()", ident(typ->id->name));
+	  fprintf(fd, " { %s::soap_default(NULL); }", ident(typ->id->name));
+	}
+	if (!has_destructor(typ))
+	  fprintf(fd,"\n\tvirtual ~%s() { }", ident(typ->id->name));
+	/* the use of 'friend' causes problems linking static functions. Adding these friends could enable serializing protected/private members (which is not implemented)
+        fprintf(fd,"\n\tfriend %s *soap_instantiate_%s(struct soap*, int, const char*, const char*, size_t*);", typ->id->name, typ->id->name);
+        fprintf(fd,"\n\tfriend %s *soap_in_%s(struct soap*, const char*, %s*, const char*);", typ->id->name, typ->id->name, typ->id->name);
+        fprintf(fd,"\n\tfriend int soap_out_%s(struct soap*, const char*, int, const %s*, const char*);", typ->id->name, typ->id->name);
+        */
+      }
+      else if (!((Table*)typ->ref)->list)
+        fprintf(fd, "\n#ifdef WITH_NOEMPTYSTRUCT\nprivate:\n\tchar dummy;\t/* dummy member to enable compilation */\n#endif");
+      fprintf(fd,"\n};");
+    }
+    else if (!is_transient(typ) && !is_external(typ) && !is_volatile(typ))
+    { sprintf(errbuf, "class '%s' is empty", typ->id->name);
+      semwarn(errbuf);
+    }
+  }
+  else if (typ->type == Tunion)
+  { int i = 1;
+      if (typ->ref)
+      { fprintf(fd, "union %s\n{", ident(typ->id->name));
+        for (Eptr = ((Table*)typ->ref)->list; Eptr; Eptr = Eptr->next)
+	{ fprintf(fd, "\n#define SOAP_UNION_%s_%s\t(%d)", c_ident(typ), ident(Eptr->sym->name), i);
+	  i++;
+	  fprintf(fd, "\n\t%s", c_storage(Eptr->info.sto));
+          fprintf(fd, "%s;", c_type_id(Eptr->info.typ,Eptr->sym->name));
+	  if (Eptr->info.sto & (Sconst | Sprivate | Sprotected))
+	    fprintf(fd, "\t/* const field cannot be deserialized */");
+	  if (is_external(Eptr->info.typ))
+	    fprintf(fd, "\t/* external */");
+	  if (is_transient(Eptr->info.typ))
+	    fprintf(fd, "\t/* transient */");
+	  if (Eptr->info.sto & Sattribute)
+	  { fprintf(fd, "\t/* attribute not allowed in union */");
+            sprintf(errbuf, "union '%s' contains attribute declarations", typ->id->name);
+            semwarn(errbuf);
+	  }
+	  if (Eptr->info.sto & SmustUnderstand)
+	    fprintf(fd, "\t/* mustUnderstand */");
+	}
+        fprintf(fd, "\n};");
+      }
+      else if (!is_transient(typ) && !is_external(typ) && !is_volatile(typ))
+      { sprintf(errbuf, "union '%s' is empty", typ->id->name);
+        semwarn(errbuf);
+      }
+  }
+  if (is_volatile(typ))
+    fprintf(fd, "\n#endif");
+  if ((typ->type == Tstruct || typ->type == Tunion) && p->sym->token == TYPE)
+    fprintf(fd, "\ntypedef %s %s;", c_type(typ), ident(p->sym->name));
+  if (typ->ref)
+    fprintf(fd, "\n#endif");
+  if (is_header_or_fault(typ) || is_body(typ))
+    fprintf(fd, "\n\n#endif");
+  fflush(fd);
+}
+
+void
+generate_header(Table *t)
+{ Entry *p, *q;
+  banner(fheader, "Enumerations");
+  fflush(fheader);
+  if (enumtable)
+    for (p = enumtable->list; p; p = p->next)
+    { char *x;
+      if (is_imported(p->info.typ) || (is_transient(p->info.typ) && !p->info.typ->ref))
+        continue;
+      x = xsi_type(p->info.typ);
+      if (!x || !*x)
+        x = wsdl_type(p->info.typ, "");
+      fprintf(fheader, "\n\n#ifndef %s", soap_type(p->info.typ));
+      fprintf(fheader, "\n#define %s (%d)",soap_type(p->info.typ),p->info.typ->num);	
+      if (is_volatile(p->info.typ))
+        fprintf(fheader, "\n#if 0 /* volatile type: do not redeclare here */");
+      if (is_mask(p->info.typ))
+        fprintf(fheader, "\n/* Bitmask %s */", x);
+      else
+        fprintf(fheader, "\n/* %s */", x);
+      fprintf(fheader, "\nenum %s { ", ident(p->info.typ->id->name));
+      if ((Table*)p->info.typ->ref)
+      { const char *c = "";
+        for (q = ((Table*)p->info.typ->ref)->list; q; q = q->next)
+        { if (q->info.val.i <= 0x7FFFLL && q->info.val.i >= -0x8000LL)
+	    fprintf(fheader, "%s%s = " SOAP_LONG_FORMAT, c, ident(q->sym->name), q->info.val.i);
+	  else
+	    fprintf(fheader, "%s%s = " SOAP_LONG_FORMAT "LL", c, ident(q->sym->name), q->info.val.i);
+	  c = ", ";
+        }
+      }
+      fprintf(fheader, " };");
+      if (p->sym->token == TYPE)
+        fprintf(fheader, "\ntypedef %s %s;", c_type(p->info.typ), ident(p->sym->name));
+      if (is_volatile(p->info.typ))
+        fprintf(fheader, "\n#endif");
+      fprintf(fheader, "\n#endif");
+    }
+  banner(fheader, "Types with Custom Serializers");
+  fflush(fheader);
+  if (typetable)
+    for (p = typetable->list; p; p = p->next)
+    { if (is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_imported(p->info.typ))
+      { fprintf(fheader, "\n#ifndef %s", soap_type(p->info.typ));
+	fprintf(fheader, "\n#define %s (%d)",soap_type(p->info.typ),p->info.typ->num);	
+        fprintf(fheader, "\n%s%s;", c_storage(p->info.sto), c_type_id(p->info.typ, p->sym->name));
+        fprintf(fheader, "\n#endif");
+      }
+    }
+  if (typetable)
+    for (p = typetable->list; p; p = p->next)
+    { if (p->info.typ->type == Tclass && is_eq(p->info.typ->sym->name, "xsd__QName") && !is_external(p->info.typ) && !is_imported(p->info.typ))
+      { fprintf(fheader, "\n#ifndef %s", soap_type(p->info.typ));
+	fprintf(fheader, "\n#define %s (%d)",soap_type(p->info.typ),p->info.typ->num);	
+        fprintf(fheader,"\n%sstd::string %s;", c_storage(p->info.sto), p->sym->name);
+        fprintf(fheader, "\n#endif\n");
+      }
+    }
+  banner(fheader, "Classes and Structs");
+  fflush(fheader);
+  if (classtable)
+    for (p = classtable->list; p; p = p->next)
+    { if (!is_imported(p->info.typ))
+        gen_class(fheader, p);
+    }
+  banner(fheader, "Typedefs");
+  fflush(fheader);
+  if (typetable)
+    for (p = typetable->list; p; p = p->next)
+    { if (!is_primitive_or_string(p->info.typ) && !is_external(p->info.typ) && !is_XML(p->info.typ) && !is_transient(p->info.typ) && !has_ns_t(p->info.typ) && !is_imported(p->info.typ) && !is_template(p->info.typ))
+      { sprintf(errbuf, "typedef '%s' is not namespace qualified: schema definition for '%s' in WSDL file output may be invalid", p->sym->name, p->sym->name);
+        semwarn(errbuf);
+      }
+      if (p->info.typ->type == Tclass && is_eq(p->info.typ->sym->name, "xsd__QName") && !is_external(p->info.typ) && !is_imported(p->info.typ))
+        continue;
+      if (!is_external(p->info.typ) && !is_imported(p->info.typ))
+      { fprintf(fheader, "\n#ifndef %s", soap_type(p->info.typ));
+	fprintf(fheader, "\n#define %s (%d)",soap_type(p->info.typ),p->info.typ->num);	
+        fprintf(fheader,"\n%s%s;", c_storage(p->info.sto), c_type_id(p->info.typ, p->sym->name));
+        fprintf(fheader, "\n#endif\n");
+      }
+    }
+  banner(fheader, "Externals");
+  fflush(fheader);
+  if (t)
+    for (p = t->list; p; p = p->next)
+      if (p->info.typ->type != Tfun || p->info.sto & Sextern)
+      { fprintf(fheader,"\n\nextern %s", c_storage(p->info.sto));
+        fprintf(fheader,"%s;", c_type_id(p->info.typ, p->sym->name));
+      }
+  fflush(fheader);
+}
+
+void
+get_namespace_prefixes(void)
+{ Symbol *p, *q;
+  int i, n;
+  char *s, buf[256];
+  if (nslist)
+    return;
+  for (p = symlist; p; p = p->next)
+  { if (*p->name != '~')
+    { s = p->name;
+      while (*s == '_')
+	s++;
+      n = (int)(strlen(s) - 2);
+      for (i = 1; i < n; i++)
+      { if (s[i] == ':'
+        || (s[i-1] != '_' && s[i] == '_' && s[i+1] == '_' && s[i+2] && s[i+2] != '_') 
+        || (s[i-1] != '_' && (!strncmp(s+i, "___DOT", 6) 
+                             || !strncmp(s+i, "___USCORE", 9)
+                             || (!strncmp(s+i, "___x", 4) && isxdigit(s[i+4]) && isxdigit(s[i+5]) && isxdigit(s[i+6]) && isxdigit(s[i+7])))))
+        { if (s[i+1] == ':')
+	  { i++;
+	    continue;
+	  }
+	  strncpy(buf, s, i);
+          buf[i] = '\0';
+	  if (!strcmp(buf, "SOAP_ENV") || !strcmp(buf, "SOAP_ENC") || !strcmp(buf, "xsd") || !strcmp(buf, "xsi") || !strcmp(buf, "xml") || !strcmp(buf, "std") || !strncmp(buf, "soap_", 5))
+	    goto nsnext;
+          for (q = nslist; q; q = q->next)
+            if (!strcmp(q->name, buf))
+              goto nsnext;
+          q = (Symbol*)emalloc(sizeof(Symbol));
+          q->name = (char*)emalloc(i+1);
+	  strcpy(q->name, buf);
+	  q->name[i] = '\0';
+	  q->next = nslist;
+	  nslist = q;
+	  break;
+        }
+      }
+    }
+nsnext:
+    ;
+  }
+  q = (Symbol*)emalloc(sizeof(Symbol));
+  q->name = "xsd";
+  q->next = nslist;
+  nslist = q;
+  q = (Symbol*)emalloc(sizeof(Symbol));
+  q->name = "xsi";
+  q->next = nslist;
+  nslist = q;
+  q = (Symbol*)emalloc(sizeof(Symbol));
+  q->name = "SOAP-ENC";
+  q->next = nslist;
+  nslist = q;
+  q = (Symbol*)emalloc(sizeof(Symbol));
+  q->name = "SOAP-ENV";
+  q->next = nslist;
+  nslist = q;
+}
+
+void
+generate_schema(Table *t)
+{ Entry *p;
+  Symbol *ns;
+  char *name = NULL;
+  char *URL = NULL;
+  char *executable = NULL;
+  char *URI = NULL;
+  char *style = NULL;
+  char *encoding = NULL;
+  char *protocol = NULL;
+  char *import = NULL;
+  Service *sp = NULL;
+  char buf[1024];
+  FILE *fd;
+  int flag = 0;
+  get_namespace_prefixes();
+  for (ns = nslist; ns; ns = ns->next)
+  { if (!strcmp(ns->name, "SOAP-ENV") || !strcmp(ns->name, "SOAP-ENC") || !strcmp(ns->name, "xsi") || !strcmp(ns->name, "xsd"))
+      continue;
+    name = NULL;
+    URL = NULL;
+    executable = NULL;
+    URI = NULL;
+    style = NULL;
+    encoding = NULL;
+    import = NULL;
+    for (sp = services; sp; sp = sp->next)
+    { if (!tagcmp(sp->ns, ns->name))
+	{	name = ns_cname(sp->name, NULL);
+		URL = sp->URL;
+		executable = sp->executable;
+		URI = sp->URI;
+		style = sp->style;
+		encoding = sp->encoding;
+		protocol = sp->protocol;
+		import = sp->import;
+		break;
+  	}
+    }
+    if (!URI)
+    { URI = emalloc(strlen(tmpURI) + strlen(ns->name) + 6);
+      sprintf(URI, "%s/%s.xsd", tmpURI, ns_convert(ns->name));
+    }
+    if (vflag >= 0 && is_document(style) && encoding && !*encoding)
+    {	semwarn("Cannot use document style with SOAP encoding");
+    	encoding = NULL;
+    }
+    if (!name)
+  	name = "Service";
+    if (!URL)
+  	URL = "http://localhost:80";
+    if (!import)
+      flag = 1;
+    if (t)
+    { for (p = t->list; p; p = p->next)
+      { if (p->info.typ->type == Tfun && !(p->info.sto & Sextern) && has_ns_eq(ns->name, p->sym->name))
+	{ if (name)
+	    fprintf(fmsg, "Using %s service name: %s\n", ns->name, name);
+	  if (protocol)
+	    fprintf(fmsg, "Using %s service protocol: %s\n", ns->name, protocol);
+	  if (style && vflag >= 0)
+	    fprintf(fmsg, "Using %s service style: %s\n", ns->name, style);
+	  else if (!eflag && vflag >= 0)
+	    fprintf(fmsg, "Using %s service style: document\n", ns->name);
+	  if (encoding && *encoding)
+	    fprintf(fmsg, "Using %s service encoding: %s\n", ns->name, encoding);
+	  else if (encoding && !*encoding && vflag >= 0)
+	    fprintf(fmsg, "Using %s service encoding: encoded\n", ns->name);
+	  else if (!eflag && vflag >= 0)
+	    fprintf(fmsg, "Using %s service encoding: literal\n", ns->name);
+	  if (URL)
+	    fprintf(fmsg, "Using %s service location: %s\n", ns->name, URL);
+	  if (executable)
+	    fprintf(fmsg, "Using %s service executable: %s\n", ns->name, executable);
+	  if (import)
+	    fprintf(fmsg, "Using %s schema import: %s\n", ns->name, import);
+	  else if (URI)
+	    fprintf(fmsg, "Using %s schema namespace: %s\n", ns->name, URI);
+          if (sp && sp->name)
+	    sprintf(buf, "%s%s.wsdl", dirpath, ns_cname(name, NULL));
+	  else
+	    sprintf(buf, "%s%s.wsdl", dirpath, ns_cname(ns->name, NULL));
+	  if (!wflag && !import)
+	  { fprintf(fmsg, "Saving %s Web Service description\n", buf);
+            fd = fopen(buf, "w");
+	    if (!fd)
+	      execerror("Cannot write WSDL file");
+            gen_wsdl(fd, t, ns->name, name, URL, executable, URI, style, encoding, protocol);
+            fclose(fd);
+	  }
+	  if (!cflag)
+	  { if (iflag || jflag)
+            { char *sname;
+	      if (sp && sp->name)
+	        sname = sp->name;
+              else
+	        sname = "";
+	      if (!Sflag)
+              { char *name1 = ns_cname(sname, "Proxy");
+	        sprintf(buf, "%s%s%s.h", dirpath, prefix, name1);
+	        fprintf(fmsg, "Saving %s client proxy class\n", buf);
+                fd = fopen(buf, "w");
+	        if (!fd)
+	          execerror("Cannot write proxy class file");
+	        sprintf(buf, "%s%s.h", prefix, name1);
+	        copyrightnote(fd, buf);
+                gen_proxy_header(fd, t, ns, name1, URL, executable, URI, encoding);
+                fclose(fd);
+	        sprintf(buf, "%s%s%s.cpp", dirpath, prefix, name1);
+	        fprintf(fmsg, "Saving %s client proxy class\n", buf);
+                fd = fopen(buf, "w");
+	        if (!fd)
+	          execerror("Cannot write proxy class file");
+	        sprintf(buf, "%s%s.cpp", prefix, name1);
+	        copyrightnote(fd, buf);
+                gen_proxy_code(fd, t, ns, name1, URL, executable, URI, encoding);
+                fclose(fd);
+	      }
+              if (!Cflag)
+              { char *name1 = ns_cname(sname, "Service");
+	        sprintf(buf, "%s%s%s.h", dirpath, prefix, name1);
+	        fprintf(fmsg, "Saving %s service class\n", buf);
+                fd = fopen(buf, "w");
+	        if (!fd)
+	          execerror("Cannot write service class file");
+	        sprintf(buf, "%s%s.h", prefix, name1);
+	        copyrightnote(fd, buf);
+                gen_object_header(fd, t, ns, name1, URL, executable, URI, encoding);
+                fclose(fd);
+	        sprintf(buf, "%s%s%s.cpp", dirpath, prefix, name1);
+	        fprintf(fmsg, "Saving %s service class\n", buf);
+                fd = fopen(buf, "w");
+	        if (!fd)
+	          execerror("Cannot write service class file");
+	        sprintf(buf, "%s%s.cpp", prefix, name1);
+	        copyrightnote(fd, buf);
+                gen_object_code(fd, t, ns, name1, URL, executable, URI, encoding);
+                fclose(fd);
+	      }
+	    }
+	    else if (zflag == 1)
+	    { if (!Sflag && sp && sp->name)
+	      { sprintf(buf, "%s%s%s.h", dirpath, prefix, ns_cname(name, "Proxy"));
+	        fprintf(fmsg, "Saving %s simple client proxy (deprecated)\n", buf);
+                fd = fopen(buf, "w");
+	        if (!fd)
+	          execerror("Cannot write proxy file");
+	        sprintf(buf, "%s%s.h", prefix, ns_cname(name, "Proxy"));
+	        copyrightnote(fd, buf);
+                gen_proxy(fd, t, ns, name, URL, executable, URI, encoding);
+                fclose(fd);
+	      }
+	      else if (!Sflag)
+	      { sprintf(buf, "%s%s.h", dirpath, ns_cname(prefix, "Proxy"));
+	        fprintf(fmsg, "Saving %s simple client proxy (deprecated)\n", buf);
+                fd = fopen(buf, "w");
+	        if (!fd)
+	          execerror("Cannot write proxy file");
+	        sprintf(buf, "%s.h", ns_cname(prefix, "Proxy"));
+	        copyrightnote(fd, buf);
+                gen_proxy(fd, t, ns, "Service", URL, executable, URI, encoding);
+                fclose(fd);
+	      }
+              if (!Cflag && sp && sp->name)
+	      { sprintf(buf, "%s%s%s.h", dirpath, prefix, ns_cname(name, "Object"));
+	        fprintf(fmsg, "Saving %s simple server object (deprecated)\n", buf);
+                fd = fopen(buf, "w");
+	        if (!fd)
+	          execerror("Cannot write server object file");
+	        sprintf(buf, "%s%s.h", prefix, ns_cname(name, "Object"));
+	        copyrightnote(fd, buf);
+                gen_object(fd, t, ns, name, URL, executable, URI, encoding);
+                fclose(fd);
+	      }
+	      else if (!Cflag)
+	      { sprintf(buf, "%s%s.h", dirpath, ns_cname(prefix, "Object"));
+	        fprintf(fmsg, "Saving %s simple server object (deprecated)\n", buf);
+                fd = fopen(buf, "w");
+	        if (!fd)
+	          execerror("Cannot write server object file");
+	        sprintf(buf, "%s.h", ns_cname(prefix, "Object"));
+	        copyrightnote(fd, buf);
+                gen_object(fd, t, ns, "Service", URL, executable, URI, encoding);
+                fclose(fd);
+	      }
+	    }
+	  }
+	  if (!xflag)
+	  { strcpy(buf, dirpath);
+            if (sp && sp->name)
+	      strcat(buf, ns_fname(name));
+	    else
+	      strcat(buf, ns_fname(ns->name));
+	    strcat(buf, ".");
+            gen_data(buf, t, ns->name, name, URL, executable, URI, encoding);
+	  }
+	  break;
+        }
+      }
+      if (sp && sp->name)
+      { has_nsmap = 1;
+        if (nflag)
+	  sprintf(buf, "%s%s.nsmap", dirpath, prefix);
+        else
+	  sprintf(buf, "%s%s.nsmap", dirpath, ns_cname(name, NULL));
+        fprintf(fmsg, "Saving %s namespace mapping table\n", buf);
+        fd = fopen(buf, "w");
+	if (!fd)
+	  execerror("Cannot write nsmap file");
+	fprintf(fd, "\n#include \"%sH.h\"", prefix);
+ 	if (nflag)
+	  fprintf(fd, "\nSOAP_NMAC struct Namespace %s_namespaces[] =\n", prefix);
+ 	else
+ 	  fprintf(fd, "\nSOAP_NMAC struct Namespace namespaces[] =\n"); 
+	gen_nsmap(fd, ns, URI);
+        fclose(fd);
+
+	if (Tflag && !Cflag)
+	{ Entry *method;
+	  char soapTester[1024];
+	  char pathsoapTester[1024];
+	  char *name1 = NULL;
+	  Tflag = 0;
+	  strcpy(soapTester, prefix);
+	  strcat(soapTester, "Tester");
+	  if (cflag)
+	    strcat(soapTester, ".c");
+	  else
+	    strcat(soapTester, ".cpp");
+	  strcpy(pathsoapTester, dirpath);
+	  strcat(pathsoapTester, soapTester);
+	  fprintf(fmsg, "Saving %s server auto-test code\n", pathsoapTester);
+          fd = fopen(pathsoapTester,"w");
+	  if (!fd)
+		execerror("Cannot write to file");
+	  copyrightnote(fd, soapTester);
+	  fprintf(fd, "\n/*\n   Stand-alone server auto-test code:\n   Takes request from standard input or over TCP/IP socket and returns\nresponse to standard output or socket\n\n   Compile:\n   cc soapTester.c soapServer.c soapC.c stdsoap2.c\n\n   Command line usage with redirect over stdin/out:\n   > ./a.out < SomeTest.req.xml\n   > ./a.out 12288 < SomeTest.req.xml\n     Note: 12288 = SOAP_XML_INDENT | SOAP_XML_STRICT (see codes in stdsoap2.h)\n   Command line usage to start server at port 8080:\n   > a.out 12288 8080\n*/\n\n#include \"");
+	  if (iflag || jflag)
+	  { char *sname;
+            if (sp && sp->name)
+              sname = sp->name;
+            else
+              sname = "";                                   
+	    name1 = ns_cname(sname, "Service");
+	    fprintf(fd, "%s%s%s.h\"\n\n#ifndef SOAP_DEFMAIN\n# define SOAP_DEFMAIN main\t/* redefine to use your own main() */\n#endif\n\nint SOAP_DEFMAIN(int argc, char **argv)\n{\n\t%s service(argc > 1 ? atoi(argv[1]) : 0);\n\tif (argc <= 2)\n\t\treturn service.serve();\n\treturn service.run(atoi(argv[2]));\n}\n", dirpath, prefix, name1, name1);
+	  }
+          else
+	    fprintf(fd, "%s%s.nsmap\"\n\n#ifndef SOAP_DEFMAIN\n# define SOAP_DEFMAIN main\t/* redefine to use your own main() */\n#endif\n\nint SOAP_DEFMAIN(int argc, char **argv)\n{\n\tstruct soap *soap = soap_new1(argc > 1 ? atoi(argv[1]) : 0);\n\tif (argc <= 2)\n\t\treturn %s_serve(soap);\n\tif (soap_valid_socket(soap_bind(soap, NULL, atoi(argv[2]), 100)))\n\t\twhile (soap_valid_socket(soap_accept(soap)))\n\t\t{\t%s_serve(soap);\n\t\t\tsoap_destroy(soap);\n\t\t\tsoap_end(soap);\n\t\t}\n\tsoap_free(soap);\n\treturn 0;\n}\n", dirpath, nflag?prefix:ns_cname(name, NULL), nflag?prefix:"soap", nflag?prefix:"soap");
+          for (method = t->list; method; method = method->next)
+          { if (method->info.typ->type == Tfun && !(method->info.sto & Sextern))
+	    { Entry *p, *q = entry(t, method->sym);
+              Table *r;
+              if (q)
+                p = (Entry*)q->info.typ->ref;
+              else
+              { fprintf(stderr, "Internal error: no table entry\n");
+                return;
+              }
+              q = entry(classtable, method->sym);
+              r = (Table*)q->info.typ->ref;
+              if (iflag || jflag)
+	        fprintf(fd, "\n\n/** Auto-test server operation %s */\nint %s::%s(", method->sym->name, name1, ns_cname(method->sym->name, NULL));
+	      else
+	        fprintf(fd, "\n\n/** Auto-test server operation %s */\nint %s(struct soap *soap", method->sym->name, ident(method->sym->name));
+              gen_params(fd, r, p, !iflag && !jflag);
+	      /* single param to single param echo */
+	      if (p && r && r->list && r->list->info.typ == p->info.typ)
+	        fprintf(fd, "\n{\t/* Echo request-response parameter */\n\t*%s = *%s;\n\treturn SOAP_OK;\n}\n", ident(p->sym->name), ident(r->list->sym->name));
+	      else if (p && r && r->list && p->info.typ->type == Tpointer && r->list->info.typ == (Tnode*)p->info.typ->ref)
+	        fprintf(fd, "\n{\t/* Echo request-response parameter */\n\t*%s = %s;\n\treturn SOAP_OK;\n}\n", ident(p->sym->name), ident(r->list->sym->name));
+	      else if (p && r && r->list && p->info.typ->type == Treference && r->list->info.typ == (Tnode*)p->info.typ->ref)
+	        fprintf(fd, "\n{\t/* Echo request-response parameter */\n\t%s = %s;\n\treturn SOAP_OK;\n}\n", ident(p->sym->name), ident(r->list->sym->name));
+	      else if (p && r && r->list && p->info.typ->type == Treference && r->list->info.typ->type == Tpointer && r->list->info.typ->ref == (Tnode*)p->info.typ->ref)
+	        fprintf(fd, "\n{\t/* Echo request-response parameter */\n\t%s = *%s;\n\treturn SOAP_OK;\n}\n", ident(p->sym->name), ident(r->list->sym->name));
+	      /* params to wrapped params echo */
+	      else
+	      { fprintf(fd, "\n{\t");
+	        if (r && p && p->info.typ->ref && ((Tnode*)p->info.typ->ref)->ref && (((Tnode*)p->info.typ->ref)->type == Tstruct || ((Tnode*)p->info.typ->ref)->type == Tclass))
+	        { const char *s, *a;
+		  int d = 1;
+		  s = ident(p->sym->name);
+		  if (p->info.typ->type == Treference)
+		    a = ".";
+		  else
+		    a = "->";
+		  for (p = ((Table*)((Tnode*)p->info.typ->ref)->ref)->list, q = r->list; p && q; p = p->next, q = q->next)
+		  { if (p->info.typ == q->info.typ)
+		      fprintf(fd, "\n\t%s%s%s = %s;", s, a, ident(p->sym->name), ident(q->sym->name));
+		    else if (q->info.typ->type == Tpointer && p->info.typ == (Tnode*)q->info.typ->ref)
+		      fprintf(fd, "\n\t%s%s%s = *%s;", s, a, ident(p->sym->name), ident(q->sym->name));
+		    else
+		      d = 0;
+		  }
+		  if (!d)
+	            fprintf(fd, "\n\t/* Return incomplete response with default data values */");
+		}
+	        fprintf(fd, "\n\treturn SOAP_OK;\n}\n");
+	      }
+	      fflush(fd);
+	    }
+	  }
+	  fclose(fd);
+        }
+      }
+    }
+    if (!wflag && !import)
+    { sprintf(buf, "%s%s.xsd", dirpath, ns_cname(ns->name, NULL));
+      fprintf(fmsg, "Saving %s XML schema\n", buf);
+      fd = fopen(buf, "w");
+      if (!fd)
+        execerror("Cannot write schema file");
+      fprintf(fd, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+      if (t)
+        for (p = t->list; p; p = p->next)
+          if (p->info.typ->type == Tfun && !(p->info.sto & Sextern) && has_ns_eq(ns->name, p->sym->name))
+          { gen_schema(fd, t, ns->name, ns->name, 0, 1, URL, URI, style, encoding);
+	    break;
+          }
+      if (!t || !p)
+        gen_schema(fd, t, ns->name, ns->name, 0, 0, URL, URI, style, encoding);
+      fclose(fd);
+    }
+  }
+  if (!has_nsmap && flag)
+  { if (Tflag && !Cflag && !iflag && !jflag)
+      fprintf(fmsg, "Warning: cannot save soapTester, need directive //gsoap service name\n");
+    for (ns = nslist; ns; ns = ns->next)
+      if (strcmp(ns->name, "SOAP-ENV") && strcmp(ns->name, "SOAP-ENC") && strcmp(ns->name, "xsi") && strcmp(ns->name, "xsd"))
+        break;
+    if (nflag)
+      sprintf(buf, "%s%s.nsmap", dirpath, prefix);
+    else if (ns && ns->name)
+      sprintf(buf, "%s%s.nsmap", dirpath, ns_cname(ns->name, NULL));
+    else
+      sprintf(buf, "%ssoap.nsmap", dirpath);
+    fprintf(fmsg, "Saving %s namespace mapping table\n", buf);
+    fd = fopen(buf, "w");
+    if (!fd)
+      execerror("Cannot write nsmap file");
+    fprintf(fd, "\n#include \"%sH.h\"", prefix);
+    if (nflag)
+      fprintf(fd, "\nSOAP_NMAC struct Namespace %s_namespaces[] =\n", prefix);
+    else
+      fprintf(fd, "\nSOAP_NMAC struct Namespace namespaces[] =\n"); 
+    gen_nsmap(fd, ns, URI);
+    fclose(fd);
+  }
+}
+
+int
+chkhdr(char *part)
+{ Entry *p;
+  p = entry(classtable, lookup("SOAP_ENV__Header"));
+  if (p)
+    for (p = ((Table*)p->info.typ->ref)->list; p; p = p->next)
+      if (has_ns_eq(NULL, p->sym->name) && (!strcmp(part, p->sym->name) || is_eq_nons(part, p->sym->name)))
+        return 1;
+  sprintf(errbuf, "Cannot define method-header-part in WSDL: SOAP_ENV__Header \"%s\" member field is not qualified", part);
+  semwarn(errbuf);
+  return 0;
+}      
+
+void
+gen_wsdl(FILE *fd, Table *t, char *ns, char *name, char *URL, char *executable, char *URI, char *style, char *encoding, char *protocol)
+{ Entry *p, *q, *r;
+  Symbol *s;
+  Service *sp, *sp2;
+  Method *m;
+  const char *mimein = NULL, *mimeout = NULL;
+  int prot, mask = 0x0; /* 0x1 = SOAP, 0x2 = GET, 0x4 = PUT, 0x8 = POST */
+  char *action, *comment, *method_style = NULL, *method_encoding = NULL, *method_response_encoding = NULL;
+  char *portname;
+  char *binding;
+  fprintf(fd, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+  for (sp = services; sp; sp = sp->next)
+    if (!tagcmp(sp->ns, ns))
+      break;
+  if (sp && sp->definitions)
+    fprintf(fd, "<definitions name=\"%s\"\n", sp->definitions);
+  else
+    fprintf(fd, "<definitions name=\"%s\"\n", name);
+  if (sp && sp->WSDL)
+    fprintf(fd, " targetNamespace=\"%s\"\n xmlns:tns=\"%s\"", sp->WSDL, sp->WSDL);
+  else
+    fprintf(fd, " targetNamespace=\"%s/%s.wsdl\"\n xmlns:tns=\"%s/%s.wsdl\"", URI, name, URI, name);
+  if (sp && sp->binding)
+    binding = ns_cname(sp->binding, NULL);
+  else
+    binding = name;
+  if (sp && sp->portname)
+    portname = ns_cname(sp->portname, NULL);
+  else
+    portname = name;
+  for (s = nslist; s; s = s->next)
+  { for (sp2 = services; sp2; sp2 = sp2->next)
+      if (!tagcmp(sp2->ns, s->name) && sp2->URI)
+        break;
+    if (sp2)
+      fprintf(fd, "\n xmlns:%s=\"%s\"", ns_convert(s->name), sp2->URI);
+    else if (!strcmp(s->name, "SOAP-ENV"))
+      fprintf(fd, "\n xmlns:SOAP-ENV=\"%s\"", envURI);
+    else if (!strcmp(s->name, "SOAP-ENC"))
+      fprintf(fd, "\n xmlns:SOAP-ENC=\"%s\"", encURI);
+    else if (!strcmp(s->name, "xsi"))
+      fprintf(fd, "\n xmlns:xsi=\"%s\"", xsiURI);
+    else if (!strcmp(s->name, "xsd"))
+      fprintf(fd, "\n xmlns:xsd=\"%s\"", xsdURI);
+    else
+      fprintf(fd, "\n xmlns:%s=\"%s/%s.xsd\"", ns_convert(s->name), tmpURI, ns_convert(s->name));
+  }
+  if (is_soap12(encoding))
+    fprintf(fd, "\n xmlns:SOAP=\"http://schemas.xmlsoap.org/wsdl/soap12/\"");
+  else
+    fprintf(fd, "\n xmlns:SOAP=\"http://schemas.xmlsoap.org/wsdl/soap/\"");
+  fprintf(fd, "\n xmlns:HTTP=\"http://schemas.xmlsoap.org/wsdl/http/\"");
+  fprintf(fd, "\n xmlns:MIME=\"http://schemas.xmlsoap.org/wsdl/mime/\"");
+  fprintf(fd, "\n xmlns:DIME=\"http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/\"");
+  fprintf(fd, "\n xmlns:WSDL=\"http://schemas.xmlsoap.org/wsdl/\"");
+  fprintf(fd, "\n xmlns=\"http://schemas.xmlsoap.org/wsdl/\">\n\n");
+  fprintf(fd, "<types>\n\n");
+  for (s = nslist; s; s = s->next)
+    gen_schema(fd, t, ns, s->name, !strcmp(s->name, ns), 1, URL, URI, style, encoding);
+  fprintf(fd, "</types>\n\n");
+  fflush(fd);
+  if (t)
+  { for (p = t->list; p; p = p->next)
+    { if (p->info.typ->type == Tfun && !(p->info.sto & Sextern) && has_ns_eq(ns, p->sym->name))
+      { mimein = NULL;
+        mimeout = NULL;
+	comment = NULL;
+        method_style = style;
+	method_encoding = encoding;
+	method_response_encoding = NULL;
+	if (sp)
+	{ for (m = sp->list; m; m = m->next)
+	  { if (is_eq_nons(m->name, p->sym->name))
+	    { if (m->mess&MIMEIN)
+	        mimein = m->part;
+	      if (m->mess&MIMEOUT)
+	        mimeout = m->part;
+              if (m->mess == ENCODING)
+	        method_encoding = m->part;
+              else if (m->mess == RESPONSE_ENCODING)
+	        method_response_encoding = m->part;
+              else if (m->mess == STYLE)
+	        method_style = m->part;
+	      else if (m->mess == COMMENT)
+	        comment = m->part;
+	    }
+	  }
+	}
+        if (!method_response_encoding)
+          method_response_encoding = method_encoding;
+	if (get_response(p->info.typ))
+          fprintf(fd, "<message name=\"%sRequest\">\n", ns_remove(p->sym->name));
+	else
+          fprintf(fd, "<message name=\"%s\">\n", ns_remove(p->sym->name));
+        fflush(fd);
+	if (is_document(method_style))
+	{ if (is_invisible(p->sym->name))
+	  { q = entry(classtable, p->sym);
+	    if (q)
+	    { q = ((Table*)q->info.typ->ref)->list;
+	      if (q)
+	      { if (is_invisible(q->sym->name))
+	        { r = entry(classtable, q->sym);
+		  if (r)
+		  { r = ((Table*)r->info.typ->ref)->list;
+		    if (r)
+		    { fprintf(fd, " <part name=\"Body\" element=\"%s\"", ns_add(r, ns));
+	              if (gen_member_documentation(fd, p->sym, r, ns))
+		        fprintf(fd, " </part>\n");
+		    }
+		  }
+		}
+                else
+	        { fprintf(fd, " <part name=\"Body\" element=\"%s\"", ns_add(q, ns));
+	          if (gen_member_documentation(fd, p->sym, q, ns))
+		    fprintf(fd, " </part>\n");
+	        }
+	      }
+	    }
+	  }
+	  else
+	  { fprintf(fd, " <part name=\"Body\" element=\"%s\"", ns_add(p, ns));
+	    if (gen_member_documentation(fd, p->sym, p, ns))
+	      fprintf(fd, " </part>\n");
+	  }
+	}
+	else
+  	{ q = entry(classtable, p->sym);
+  	  if (q)
+	  { for (q = ((Table*)q->info.typ->ref)->list; q; q = q->next)
+	    { if (!is_transient(q->info.typ) && !(q->info.sto & Sattribute) && q->info.typ->type != Tfun && !is_repetition(q) && !is_anytype(q))
+  	      { if (is_literal(method_encoding))
+	        { fprintf(fd, " <part name=\"%s\" element=\"%s\"", ns_remove(q->sym->name), ns_add(q, ns));
+	          if (gen_member_documentation(fd, p->sym, q, ns))
+	            fprintf(fd, " </part>\n");
+		}
+	        else if (is_XML(q->info.typ) || is_stdXML(q->info.typ))
+	          fprintf(fd, " <part name=\"Body\" type=\"xsd:anyType\"/>\n");
+	        else
+	        { fprintf(fd, " <part name=\"%s\" type=\"%s\"", ns_remove(q->sym->name), wsdl_type(q->info.typ, ns));
+	          if (gen_member_documentation(fd, p->sym, q, ns))
+	            fprintf(fd, " </part>\n");
+	        }
+	      }
+	    }
+	  }
+	}
+	if (mimein)
+          fprintf(fd, " <part name=\"Attachments\" type=\"xsd:base64Binary\"/>\n");
+        fprintf(fd, "</message>\n\n");
+        fflush(fd);
+	q = (Entry*)p->info.typ->ref;
+        for (r = t->list; r; r = r->next)
+          if (r != p && r->info.typ->type == Tfun && !(r->info.sto & Sextern) && q == (Entry*)r->info.typ->ref)
+	    q = NULL;
+	if (q && is_transient(q->info.typ))
+	  ;
+	else if (q && !is_response(q->info.typ))
+        { fprintf(fd, "<message name=\"%sResponse\">\n", ns_remove(p->sym->name));
+	  if (is_document(method_style))
+	    fprintf(fd, " <part name=\"Body\" element=\"%sResponse\"/>\n", ns_add(p, ns));
+  	  else if (is_literal(method_response_encoding))
+	  { fprintf(fd, " <part name=\"%s\" element=\"%s\"", ns_remove(q->sym->name), ns_add(q, ns));
+	    if (gen_member_documentation(fd, p->sym, q, ns))
+	      fprintf(fd, " </part>\n");
+	  }
+	  else if (is_XML((Tnode*)q->info.typ->ref) || is_stdXML((Tnode*)q->info.typ->ref))
+	    fprintf(fd, " <part name=\"Body\" type=\"xsd:anyType\"/>\n");
+	  else
+	  { fprintf(fd, " <part name=\"%s\" type=\"%s\"", ns_remove(q->sym->name), wsdl_type(q->info.typ, ns));
+	    if (gen_member_documentation(fd, p->sym, q, ns))
+	      fprintf(fd, " </part>\n");
+	  }
+	  if (mimeout)
+            fprintf(fd, " <part name=\"Attachments\" type=\"xsd:base64Binary\"/>\n");
+          fprintf(fd, "</message>\n\n");
+	}
+        else if (q && q->info.typ->wsdl == False)
+	{ q->info.typ->wsdl = True;
+	  fprintf(fd, "<message name=\"%s\">\n", ns_remove(((Tnode*)q->info.typ->ref)->id->name));
+	  if (is_document(method_style))
+	  { if (has_ns_eq(NULL, ((Entry*)p->info.typ->ref)->sym->name))
+	      fprintf(fd, " <part name=\"Body\" element=\"%s\"/>\n", ns_convert(((Entry*)p->info.typ->ref)->sym->name));
+            else if (is_invisible(((Tnode*)q->info.typ->ref)->id->name))
+	    { r = ((Table*)((Tnode*)q->info.typ->ref)->ref)->list;
+	      if (r)
+	      { fprintf(fd, " <part name=\"Body\" element=\"%s\"", ns_add(r, ns));
+	        if (gen_member_documentation(fd, p->sym, r, ns))
+	          fprintf(fd, " </part>\n");
+	      }
+	    }
+            else
+	    { fprintf(fd, " <part name=\"Body\" element=\"%s\"", ns_convert(((Tnode*)q->info.typ->ref)->id->name));
+	      if (gen_member_documentation(fd, p->sym, q, ns))
+	        fprintf(fd, " </part>\n");
+	    }
+	  }
+	  else
+	  { if (((Tnode*)q->info.typ->ref)->ref)
+	    { for (q = ((Table*)((Tnode*)q->info.typ->ref)->ref)->list; q; q = q->next)
+	      { if (!is_transient(q->info.typ) && !(q->info.sto & Sattribute) && q->info.typ->type != Tfun && !is_repetition(q) && !is_anytype(q))
+  	        { if (is_literal(method_response_encoding))
+	          { fprintf(fd, " <part name=\"%s\" element=\"%s\"", ns_remove(q->sym->name), ns_add(q, ns));
+	            if (gen_member_documentation(fd, p->sym, q, ns))
+	              fprintf(fd, " </part>\n");
+		  }
+	          else if (is_XML(q->info.typ) || is_stdXML(q->info.typ))
+	            fprintf(fd, " <part name=\"Body\" type=\"xsd:anyType\"/>\n");
+	          else
+	          { fprintf(fd, " <part name=\"%s\" type=\"%s\"", ns_remove(q->sym->name), wsdl_type(q->info.typ, ns));
+	            if (gen_member_documentation(fd, p->sym, q, ns))
+	              fprintf(fd, " </part>\n");
+		  }
+	        }
+	      }
+	    }
+	  }
+	  if (mimeout)
+            fprintf(fd, " <part name=\"Attachments\" type=\"xsd:base64Binary\"/>\n");
+          fprintf(fd, "</message>\n\n");
+	}
+        fflush(fd);
+      }
+    }
+    if (custom_header)
+    { Table *r;
+      fprintf(fd, "<message name=\"%sHeader\">\n", name);
+      r = (Table*)entry(classtable, lookup("SOAP_ENV__Header"))->info.typ->ref;
+      if (r)
+      { for (q = r->list; q; q = q->next)
+	{ if (!is_transient(q->info.typ) && !(q->info.sto & Sattribute) && q->info.typ->type != Tfun && !is_repetition(q) && !is_anytype(q))
+	    fprintf(fd, " <part name=\"%s\" element=\"%s\"/>\n", ns_remove(q->sym->name), ns_add(q, ns));
+        }
+      }
+      fprintf(fd, "</message>\n\n");
+    }
+    if (custom_fault)
+    { Table *r;
+      fprintf(fd, "<message name=\"%sFault\">\n", name);
+      r = (Table*)entry(classtable, lookup("SOAP_ENV__Detail"))->info.typ->ref;
+      if (r)
+        for (q = r->list; q; q = q->next)
+	  if (!is_transient(q->info.typ) && !is_repetition(q) && !is_anytype(q) && !(q->info.sto & Sattribute) && q->info.typ->type != Tfun && has_ns_eq(NULL, q->sym->name))
+	  { fprintf(fd, " <part name=\"%s\" element=\"%s\"", ns_remove(q->sym->name), ns_add(q, ns));
+	    if (gen_member_documentation(fd, q->sym, q, ns))
+	      fprintf(fd, " </part>\n");
+          }
+      fprintf(fd, "</message>\n\n");
+    }
+    if (sp)
+    { for (m = sp->list; m; m = m->next)
+      { if (m->mess&FAULT && m->part)
+        { Method *m2;
+	  int flag = 0;
+	  for (m2 = sp->list; m2 && m2 != m; m2 = m2->next)
+	    if (m2->mess&FAULT && !strcmp(m2->part, m->part))
+	      flag = 1;
+	  if (!flag)
+	  { if (typetable)
+              for (p = typetable->list; p; p = p->next)
+	        if ((m->mess&FAULT) && is_eq(m->part, p->info.typ->sym->name))
+	          break;
+	    if (!p && classtable) 
+              for (p = classtable->list; p; p = p->next)
+	        if ((m->mess&FAULT) && is_eq(m->part, p->info.typ->id->name))
+	          break;
+            if (p)
+            { fprintf(fd, "<message name=\"%sFault\">\n", ns_remove(m->part));
+              fprintf(fd, " <part name=\"Fault\" element=\"%s\"/>\n", ns_convert(m->part));
+              fprintf(fd, "</message>\n\n");
+	      flag = 0;
+	      if (custom_fault)
+	      { Table *r;
+                r = (Table*)entry(classtable, lookup("SOAP_ENV__Detail"))->info.typ->ref;
+                if (r)
+                  for (q = r->list; q; q = q->next)
+	            if (!is_transient(q->info.typ) && !is_repetition(q) && !is_anytype(q) && !(q->info.sto & Sattribute) && q->info.typ->type != Tfun && (!strcmp(q->sym->name, m->part) || !strcmp(q->sym->name + 1, m->part)))
+		    { flag = 1;
+		      break;
+	            }
+	      }
+	      if (!flag)
+	      { sprintf(errbuf, "//gsoap %s method-fault %s %s directive does not refer to a member of struct SOAP_ENV__Detail: suggest to define struct SOAP_ENV__Detail with member %s", sp->ns, m->name, m->part, m->part);
+                semwarn(errbuf);
+	      }
+	    }
+	    else
+            { sprintf(errbuf, "//gsoap %s method-fault %s %s directive does not refer to struct/class or typedef: should globablly define fault %s as type (typedef or struct/class)", sp->ns, m->name, m->part, m->part);
+              semwarn(errbuf);
+	    }
+	  }
+        }
+      }
+    }
+    fflush(fd);
+    if (sp && sp->porttype)
+      fprintf(fd, "<portType name=\"%s\">\n", sp->porttype);
+    else
+      fprintf(fd, "<portType name=\"%s\">\n", ns_cname(name, "PortType"));
+    if (protocol)
+    { if (strncmp(protocol, "SOAP", 4))
+      { if (strstr(protocol, "GET"))
+          mask = 0x2;
+        else if (strstr(protocol, "PUT"))
+          mask = 0x4;
+        else /* POST */
+          mask = 0x8;
+      }
+      else
+        mask = 0x1;
+    }
+    for (p = t->list; p; p = p->next)
+    { if (p->info.typ->type == Tfun && !(p->info.sto & Sextern) && has_ns_eq(ns, p->sym->name))
+      { comment = NULL;
+	if (sp)
+	{ for (m = sp->list; m; m = m->next)
+	  { if (m->mess == COMMENT && is_eq_nons(m->name, p->sym->name))
+	      comment = m->part;
+	    else if (m->mess == PROTOCOL)
+            { if (strncmp(m->part, "SOAP", 4))
+	      { if (strstr(m->part, "GET"))
+		  mask |= 0x2;
+                else if (strstr(m->part, "PUT"))
+		  mask |= 0x4;
+		else /* POST */
+		  mask |= 0x8;
+	      }
+	      else
+		mask |= 0x1;
+	    }
+	  }
+	}
+	if (!mask)
+	{ if (vflag < 0)
+	    mask = 0x8; /* -0 option: use POST */
+	  else
+	    mask = 0x1;
+	}
+        fprintf(fd, " <operation name=\"%s\">\n", ns_remove(p->sym->name));
+        if (comment)
+          fprintf(fd, "  <documentation>%s</documentation>\n", comment);
+        else
+          fprintf(fd, "  <documentation>Service definition of function %s</documentation>\n", p->sym->name);
+	if (get_response(p->info.typ))
+          fprintf(fd, "  <input message=\"tns:%sRequest\"/>\n", ns_remove(p->sym->name));
+	else
+          fprintf(fd, "  <input message=\"tns:%s\"/>\n", ns_remove(p->sym->name));
+	q = (Entry*)p->info.typ->ref;
+	if (q && is_transient(q->info.typ))
+	  ;
+	else if (q && !is_response(q->info.typ))
+	  fprintf(fd, "  <output message=\"tns:%sResponse\"/>\n", ns_remove(p->sym->name));
+        else if (q)
+	  fprintf(fd, "  <output message=\"tns:%s\"/>\n", ns_remove(((Tnode*)q->info.typ->ref)->id->name));
+	if (sp)
+	  for (m = sp->list; m; m = m->next)
+	    if ((m->mess&FAULT) && is_eq_nons(m->name, p->sym->name))
+	      fprintf(fd, "  <fault name=\"%s\" message=\"tns:%sFault\"/>\n", ns_remove(m->part), ns_remove(m->part));
+        fprintf(fd, " </operation>\n");
+      }
+    }
+    fprintf(fd, "</portType>\n\n");
+    for (prot = 0x1; prot <= 0x8; prot <<= 1)
+    { if ((prot & mask))
+      { const char *v = "", *b = "";
+        switch (prot)
+        { case 0x1: v = "";     b = "SOAP"; break;
+          case 0x2: v = "GET";  b = "HTTP"; break;
+          case 0x4: v = "PUT";  b = "HTTP"; break;
+          case 0x8: v = "POST"; b = "HTTP"; break;
+        }
+        fprintf(fd, "<binding name=\"%s%s\" ", binding, v);
+        if (prot == 0x1)
+        { if (is_document(style))
+          { if (sp && sp->porttype)
+              fprintf(fd, "type=\"tns:%s\">\n <SOAP:binding style=\"document\"", sp->porttype);
+            else
+              fprintf(fd, "type=\"tns:%s\">\n <SOAP:binding style=\"document\"", ns_cname(name, "PortType"));
+	  }
+          else
+          { if (sp && sp->porttype)
+              fprintf(fd, "type=\"tns:%s\">\n <SOAP:binding style=\"rpc\"", sp->porttype);
+            else
+              fprintf(fd, "type=\"tns:%s\">\n <SOAP:binding style=\"rpc\"", ns_cname(name, "PortType"));
+	  }
+          if (sp && sp->transport)
+            fprintf(fd, " transport=\"%s\"/>\n", sp->transport);
+          else
+            fprintf(fd, " transport=\"http://schemas.xmlsoap.org/soap/http\"/>\n");
+        }
+        else
+        { if (sp && sp->porttype)
+            fprintf(fd, "type=\"tns:%s\">\n <HTTP:binding verb=\"%s\"/>\n", sp->porttype, v);
+          else
+            fprintf(fd, "type=\"tns:%s\">\n <HTTP:binding verb=\"%s\"/>\n", ns_cname(name, "PortType"), v);
+        }
+        fflush(fd);
+        for (p = t->list; p; p = p->next)
+        { if (p->info.typ->type == Tfun && !(p->info.sto & Sextern) && has_ns_eq(ns, p->sym->name))
+          { action = "";
+	    mimein = NULL;
+	    mimeout = NULL;
+            method_style = style;
+	    method_encoding = encoding;
+	    method_response_encoding = NULL;
+	    if (sp)
+	    { int v = 0x1;
+                  if (sp->protocol)
+		  { if (strncmp(sp->protocol, "SOAP", 4))
+	            { if (strstr(sp->protocol, "GET"))
+		        v = 0x2;
+                      else if (strstr(sp->protocol, "PUT"))
+		        v = 0x4;
+		      else /* POST */
+		        v = 0x8;
+	            }
+	          }
+	      for (m = sp->list; m; m = m->next)
+	      { if (is_eq_nons(m->name, p->sym->name))
+	        { if (m->mess&MIMEIN)
+	            mimein = m->part;
+	          if (m->mess&MIMEOUT)
+	            mimeout = m->part;
+                  if (m->mess == ENCODING)
+	            method_encoding = m->part;
+                  else if (m->mess == RESPONSE_ENCODING)
+	            method_response_encoding = m->part;
+                  else if (m->mess == STYLE)
+	            method_style = m->part;
+	          else if (m->mess == ACTION || m->mess == REQUEST_ACTION)
+	            action = m->part;
+	          else if (m->mess == RESPONSE_ACTION)
+	            action = m->part;
+	          else if (m->mess == PROTOCOL)
+                  { if (strncmp(m->part, "SOAP", 4))
+	            { if (strstr(m->part, "GET"))
+		        v = 0x2;
+                      else if (strstr(m->part, "PUT"))
+		        v = 0x4;
+		      else /* POST */
+		        v = 0x8;
+	            }
+	            else
+		      v = 0x1;
+	          }
+	        }
+	      }
+	      if (vflag < 0)
+	        v = 0x8;
+	      if (prot != v)
+	        continue;
+	    }
+	    if (!method_response_encoding)
+	      method_response_encoding = method_encoding;
+            fprintf(fd, " <operation name=\"%s\">\n", ns_remove(p->sym->name));
+	    if (prot == 0x1)
+            { if (is_document(style))
+	      { if (is_document(method_style))
+                { if (is_soap12(encoding) && !*action)
+	            fprintf(fd, "  <SOAP:operation/>\n");
+	          else if (*action == '"')
+	            fprintf(fd, "  <SOAP:operation soapAction=%s/>\n", action);
+                  else
+	            fprintf(fd, "  <SOAP:operation soapAction=\"%s\"/>\n", action);
+	        }
+	        else if (is_soap12(encoding) && !*action)
+                  fprintf(fd, "  <SOAP:operation style=\"rpc\"/>\n");
+	        else if (*action == '"')
+                  fprintf(fd, "  <SOAP:operation style=\"rpc\" soapAction=%s/>\n", action);
+                else
+                  fprintf(fd, "  <SOAP:operation style=\"rpc\" soapAction=\"%s\"/>\n", action);
+	      }
+              else
+	      { if (is_document(method_style))
+                { if (is_soap12(encoding) && !*action)
+	            fprintf(fd, "  <SOAP:operation style=\"document\"/>\n");
+	          else if (*action == '"')
+	            fprintf(fd, "  <SOAP:operation style=\"document\" soapAction=%s/>\n", action);
+                  else
+	            fprintf(fd, "  <SOAP:operation style=\"document\" soapAction=\"%s\"/>\n", action);
+	        }
+	        else if (is_soap12(encoding) && !*action)
+                  fprintf(fd, "  <SOAP:operation style=\"rpc\"/>\n");
+	        else if (*action == '"')
+                  fprintf(fd, "  <SOAP:operation style=\"rpc\" soapAction=%s/>\n", action);
+                else
+                  fprintf(fd, "  <SOAP:operation style=\"rpc\" soapAction=\"%s\"/>\n", action);
+	      }
+	    }
+	    else
+	    { if (!*action)
+	        fprintf(fd, "  <HTTP:operation/>\n");
+	      else if (*action == '"')
+	        fprintf(fd, "  <HTTP:operation location=%s/>\n", action);
+              else
+	        fprintf(fd, "  <HTTP:operation location=\"%s\"/>\n", action);
+	    }
+	    fprintf(fd, "  <input>\n");
+  	    q = entry(classtable, p->sym);
+	    if (prot == 0x1)
+	    { if (mimein)
+	        fprintf(fd, "   <MIME:multipartRelated>\n    <MIME:part>\n");
+  	      if (is_literal(method_encoding) || (q && (q = (((Table*)q->info.typ->ref)->list)) && q && is_XML(q->info.typ)))
+	      { if (is_document(method_style))
+	          fprintf(fd, "     <SOAP:body parts=\"Body\" use=\"literal\"/>\n");
+                else
+	          fprintf(fd, "     <SOAP:body parts=\"Body\" use=\"literal\" namespace=\"%s\"/>\n", URI);
+	      }
+              else
+	      { if (encoding && *encoding)
+	          fprintf(fd, "     <SOAP:body use=\"encoded\" namespace=\"%s\" encodingStyle=\"%s\"/>\n", URI, encoding);
+                else if (method_encoding && *method_encoding)
+	          fprintf(fd, "     <SOAP:body use=\"encoded\" namespace=\"%s\" encodingStyle=\"%s\"/>\n", URI, method_encoding);
+                else
+	          fprintf(fd, "     <SOAP:body use=\"encoded\" namespace=\"%s\" encodingStyle=\"%s\"/>\n", URI, encURI);
+                if (!eflag)
+                { sprintf(errbuf, "operation '%s' is not compliant with WS-I Basic Profile 1.0a, reason: uses SOAP encoding", p->sym->name);
+                  compliancewarn(errbuf);
+	        }
+	      }
+	      if (custom_header)
+	      { m = NULL;
+	        if (sp)
+	        { for (m = sp->list; m; m = m->next)
+	            if (is_eq_nons(m->name, p->sym->name) && (m->mess&HDRIN))
+	            { if (chkhdr(m->part))
+	                fprintf(fd, "     <SOAP:header use=\"literal\" message=\"tns:%sHeader\" part=\"%s\"/>\n", name, ns_remove(m->part));
+	            }
+	        }
+	      }
+	      if (mimein)
+	      { if (sp)
+	        { for (m = sp->list; m; m = m->next)
+	          { if (is_eq_nons(m->name, p->sym->name) && (m->mess&MIMEIN))
+	              fprintf(fd, "    </MIME:part>\n    <MIME:part>\n     <MIME:content part=\"Attachments\" type=\"%s\"/>\n", m->part);
+	          }
+	        }
+	        fprintf(fd, "    </MIME:part>\n   </MIME:multipartRelated>\n");
+	      }
+	    }
+	    else if (prot == 0x2)
+	      fprintf(fd, "     <HTTP:urlEncoded/>\n");
+	    else
+	    { if (mimein)
+	        fprintf(fd, "     <MIME:content type=\"%s\"/>\n", mimein);
+	      else if (!q || is_document(method_style))
+	        fprintf(fd, "     <MIME:mimeXml part=\"Body\"/>\n");
+	      else
+	        fprintf(fd, "     <MIME:mimeXml part=\"%s\"/>\n", ns_remove(q->sym->name));
+	    }
+	    fprintf(fd, "  </input>\n");
+	
+	    q = (Entry*)p->info.typ->ref;
+	    if (!q || !q->info.typ->ref)
+	    { fprintf(fd, " </operation>\n");
+	      continue;
+	    }
+	    if (prot != 0x4)
+	    { fprintf(fd, "  <output>\n");
+	      if (prot == 0x1)
+	      { if (mimeout)
+	          fprintf(fd, "   <MIME:multipartRelated>\n    <MIME:part>\n");
+	        if (is_literal(method_response_encoding) || is_XML((Tnode*)q->info.typ->ref))
+	        { if (is_document(method_style))
+	            fprintf(fd, "     <SOAP:body parts=\"Body\" use=\"literal\"/>\n");
+                  else
+	            fprintf(fd, "     <SOAP:body parts=\"Body\" use=\"literal\" namespace=\"%s\"/>\n", URI);
+	        }
+	        else if (encoding && *encoding)
+	          fprintf(fd, "     <SOAP:body use=\"encoded\" namespace=\"%s\" encodingStyle=\"%s\"/>\n", URI, encoding);
+	        else if (method_response_encoding && *method_response_encoding)
+	          fprintf(fd, "     <SOAP:body use=\"encoded\" namespace=\"%s\" encodingStyle=\"%s\"/>\n", URI, method_response_encoding);
+	        else
+	          fprintf(fd, "     <SOAP:body use=\"encoded\" namespace=\"%s\" encodingStyle=\"%s\"/>\n", URI, encURI);
+	        if (custom_header)
+	        { if (sp)
+	            for (m = sp->list; m; m = m->next)
+	              if (is_eq_nons(m->name, p->sym->name) && (m->mess&HDROUT))
+	              { if (chkhdr(m->part))
+	                  fprintf(fd, "     <SOAP:header use=\"literal\" message=\"tns:%sHeader\" part=\"%s\"/>\n", name, ns_remove(m->part));
+	              }
+	        }
+	        if (mimeout)
+	        { if (sp)
+	          { for (m = sp->list; m; m = m->next)
+	            { if (is_eq_nons(m->name, p->sym->name) && (m->mess&MIMEOUT))
+	                fprintf(fd, "    </MIME:part>\n    <MIME:part>\n     <MIME:content part=\"Attachments\" type=\"%s\"/>\n", m->part);
+	            }
+	          }
+	          fprintf(fd, "    </MIME:part>\n   </MIME:multipartRelated>\n");
+	        }
+	      }
+	      else
+  	      { q = (Entry*)p->info.typ->ref;
+	        if (is_document(method_style))
+	          fprintf(fd, "     <MIME:mimeXml part=\"Body\"/>\n");
+	        else if (q && !is_transient(q->info.typ) && !is_response(q->info.typ) && is_literal(method_response_encoding))
+	          fprintf(fd, "     <MIME:mimeXml part=\"%s\"/>\n", ns_remove(q->sym->name));
+	        else
+	          fprintf(fd, "     <MIME:mimeXml part=\"Body\"/>\n");
+	      }
+	      fprintf(fd, "  </output>\n");
+	    }
+	    if (sp)
+	      for (m = sp->list; m; m = m->next)
+	        if ((m->mess&FAULT) && is_eq_nons(m->name, p->sym->name))
+	          fprintf(fd, "  <fault name=\"%s\">\n   <SOAP:fault name=\"%s\" use=\"literal\"/>\n  </fault>\n", ns_remove(m->part), ns_remove(m->part));
+	    fprintf(fd, " </operation>\n");
+            fflush(fd);
+          }
+        }
+        fprintf(fd, "</binding>\n\n");
+       }
+    }
+  }
+  fprintf(fd, "<service name=\"%s\">\n", name);
+  if (sp && sp->documentation)
+    fprintf(fd, " <documentation>%s</documentation>\n", sp->documentation);
+  else
+    fprintf(fd, " <documentation>gSOAP "VERSION" generated service definition</documentation>\n");
+  if (executable)
+    fprintf(fd, " <port name=\"%s\" binding=\"tns:%s\">\n  <SOAP:address location=\"%s/%s\"/>\n </port>", portname, binding, URL, executable);
+  for (prot = 0x1; prot <= 0x8; prot <<= 1)
+  { if ((prot & mask))
+    { const char *s, *t, *v = "", *b = "";
+      switch (prot)
+      { case 0x1: v = "";     b = "SOAP"; break;
+        case 0x2: v = "GET";  b = "HTTP"; break;
+        case 0x4: v = "PUT";  b = "HTTP"; break;
+        case 0x8: v = "POST"; b = "HTTP"; break;
+      }
+      fprintf(fd, " <port name=\"%s%s\" binding=\"tns:%s%s\">\n", portname, v, binding, v);
+      for (s = URL; s; s = t)
+      { int n;
+        t = strchr(s, ' ');
+        if (t)
+        { n = (int)(t - s);
+          t++;
+        }
+        else
+          n = (int)strlen(s);
+        fprintf(fd, "  <%s:address location=\"%.*s\"/>\n", b, n, s);
+      }
+      fprintf(fd, " </port>\n");
+    }
+  }
+  fprintf(fd, "</service>\n\n</definitions>\n");
+}
+
+char *
+default_value(Entry *e, const char *a)
+{ Entry *q;
+  static char buf[1024];
+  buf[0] = '\0';
+  if (e->info.hasval)
+    switch (e->info.typ->type)
+    { case Tchar:
+      case Twchar:
+      case Tuchar:
+      case Tshort:
+      case Tushort:
+      case Tint:
+      case Tuint:
+      case Tlong:
+      case Tllong:
+      case Tulong:
+      case Tullong:
+        sprintf(buf, " %s=\"" SOAP_LONG_FORMAT "\"", a, e->info.val.i);
+	break;
+      case Tfloat:
+      case Tdouble:
+      case Tldouble:
+        sprintf(buf, " %s=\"%g\"", a, e->info.val.r);
+	break;
+      case Ttime:
+        break; /* should get value? */
+      case Tenum:
+	for (q = ((Table*)e->info.typ->ref)->list; q; q = q->next)
+	  if (q->info.val.i == e->info.val.i)
+	  { sprintf(buf, " %s=\"%s\"", a, ns_convert(q->sym->name));
+	    break;
+	  }
+        break;
+      default:
+	if (e->info.val.s && strlen(e->info.val.s) < sizeof(buf)-12)
+          sprintf(buf, " %s=\"%s\"", a, xstring(e->info.val.s));
+	break;
+    }
+  return buf;
+}
+
+const char *
+nillable(Tnode *typ)
+{ if (typ->type == Tpointer)
+    return "true";
+  return "false";
+}
+
+void
+gen_schema(FILE *fd, Table *t, char *ns1, char *ns, int all, int wsdl, char *URL, char *URI, char *style, char *encoding)
+{ int i, d;
+  char cbuf[4];
+  Entry *p, *q, *r;
+  Tnode *n;
+  Symbol *s;
+  Service *sp, *sp2;
+  Method *m;
+  int flag;
+  if (!strcmp(ns, "SOAP-ENV") || !strcmp(ns, "SOAP-ENC") || !strcmp(ns, "xsi") || !strcmp(ns, "xsd"))
+    return;
+  for (sp = services; sp; sp = sp->next)
+    if (!tagcmp(sp->ns, ns) && sp->URI)
+      break;
+  if (sp && sp->import)
+     return;
+  fprintf(fd, " <schema ");
+  if (sp)
+    fprintf(fd, "targetNamespace=\"%s\"", sp->URI);
+  else
+    fprintf(fd, "targetNamespace=\"%s/%s.xsd\"", tmpURI, ns_convert(ns));
+  for (s = nslist; s; s = s->next)
+  { for (sp2 = services; sp2; sp2 = sp2->next)
+      if (!tagcmp(sp2->ns, s->name) && sp2->URI)
+        break;
+    if (sp2)
+      fprintf(fd, "\n  xmlns:%s=\"%s\"", ns_convert(s->name), sp2->URI);
+    else if (!strcmp(s->name, "SOAP-ENV"))
+      fprintf(fd, "\n  xmlns:SOAP-ENV=\"%s\"", envURI);
+    else if (!strcmp(s->name, "SOAP-ENC"))
+      fprintf(fd, "\n  xmlns:SOAP-ENC=\"%s\"", encURI);
+    else if (!strcmp(s->name, "xsi"))
+      fprintf(fd, "\n  xmlns:xsi=\"%s\"", xsiURI);
+    else if (!strcmp(s->name, "xsd"))
+      fprintf(fd, "\n  xmlns:xsd=\"%s\"", xsdURI);
+    else
+      fprintf(fd, "\n  xmlns:%s=\"%s/%s.xsd\"", ns_convert(s->name), tmpURI, ns_convert(s->name));
+  }
+  fprintf(fd, "\n  xmlns=\"%s\"\n", xsdURI);
+  if (sp && (sp->elementForm || sp->attributeForm))
+    fprintf(fd, "  elementFormDefault=\"%s\"\n  attributeFormDefault=\"%s\">\n", sp->elementForm?sp->elementForm:"unqualified", sp->attributeForm?sp->attributeForm:"unqualified");
+  else if (style && !strcmp(style, "document"))
+    fprintf(fd, "  elementFormDefault=\"qualified\"\n  attributeFormDefault=\"unqualified\">\n");
+  else
+    fprintf(fd, "  elementFormDefault=\"unqualified\"\n  attributeFormDefault=\"unqualified\">\n");
+  fflush(fd);
+  flag = 0;
+  for (s = nslist; s; s = s->next)
+  { for (sp2 = services; sp2; sp2 = sp2->next)
+      if (sp2 != sp && !tagcmp(sp2->ns, s->name) && sp2->URI)
+        break;
+    if (sp2)
+    { fprintf(fd, "  <import namespace=\"%s\"", sp2->URI);
+      if (sp2->import)
+        fprintf(fd, " schemaLocation=\"%s\"", sp2->import);
+      fprintf(fd, "/>\n");
+      if (!strcmp(sp2->URI, encURI))
+        flag = 1;
+    }
+  }
+  if (!flag)
+    fprintf(fd, "  <import namespace=\"%s\"/>", encURI);
+  fprintf(fd, "\n");
+  fflush(fd);
+  if (typetable)
+  { for (p = typetable->list; p; p = p->next)
+    { if (p->info.typ->type != Ttemplate && !is_transient(p->info.typ) && !is_invisible(p->sym->name) && (!is_external(p->info.typ) || is_volatile(p->info.typ)) && ((has_ns_eq(ns, p->sym->name))))
+      { /* typedefs that are used for SOAP Fault details */
+        m = NULL;
+	if (p->info.typ->type != Tstruct && p->info.typ->type != Tclass)
+        { for (sp2 = services; sp2 && !m; sp2 = sp2->next)
+	  { for (m = sp2->list; m; m = m->next)
+	    { if ((m->mess&FAULT) && m->part && is_eq(m->part, p->sym->name))
+	        break;
+	    }
+	  }
+	}
+        if (m)
+        { if (!uflag)
+	    fprintf(fd, "  <!-- fault element -->\n");
+          fprintf(fd, "  <element name=\"%s\" type=\"%s\">\n", ns_remove(p->sym->name), base_type(p->info.typ, ns1));
+          gen_type_documentation(fd, p, ns);
+          fprintf(fd, "  </element>\n");
+          continue;
+        }
+        if (is_primitive_or_string(p->info.typ) || (p->info.typ->type == Tpointer && is_primitive_or_string((Tnode*)p->info.typ->ref)))
+	{ fprintf(fd, "  <simpleType name=\"%s\">", ns_remove(p->sym->name));
+          gen_type_documentation(fd, p, ns);
+	  fprintf(fd, "   <restriction base=\"%s\">\n", base_type(p->info.typ, ns1));
+	  if (p->info.typ->pattern)
+            fprintf(fd, "    <pattern value=\"%s\"/>\n", p->info.typ->pattern);
+          if (is_primitive(p->info.typ) || (p->info.typ->type == Tpointer && is_primitive((Tnode*)p->info.typ->ref) && !is_string(p->info.typ) && !is_wstring(p->info.typ)))
+	  { if (p->info.typ->minLength != MINLONG64)
+              fprintf(fd, "    <minInclusive value=\"" SOAP_LONG_FORMAT "\"/>\n", p->info.typ->minLength);
+	    if (p->info.typ->maxLength != MAXLONG64)
+              fprintf(fd, "    <maxInclusive value=\"" SOAP_LONG_FORMAT "\"/>\n", p->info.typ->maxLength);
+	  }
+	  else
+	  { if (p->info.typ->maxLength > 0 && p->info.typ->minLength == p->info.typ->maxLength)
+              fprintf(fd, "    <length value=\"" SOAP_LONG_FORMAT "\"/>\n", p->info.typ->minLength);
+	    else
+	    { if (p->info.typ->minLength > 0)
+                fprintf(fd, "    <minLength value=\"" SOAP_LONG_FORMAT "\"/>\n", p->info.typ->minLength);
+	      if (p->info.typ->maxLength != MAXLONG64)
+                fprintf(fd, "    <maxLength value=\"" SOAP_LONG_FORMAT "\"/>\n", p->info.typ->maxLength);
+	    }
+	  }
+          fprintf(fd, "   </restriction>\n  </simpleType>\n");
+        }
+        else
+	{ fprintf(fd, "  <complexType name=\"%s\">", ns_remove(p->sym->name));
+	  gen_type_documentation(fd, p, ns);
+	  fprintf(fd, "   <complexContent>\n    <restriction base=\"%s\">\n", base_type(p->info.typ, ns1));
+          fprintf(fd, "    </restriction>\n   </complexContent>\n  </complexType>\n");
+        }
+      }
+    }
+  }
+  fflush(fd);
+  if (enumtable)
+  { for (p = enumtable->list; p; p = p->next)
+    { if (!is_transient(p->info.typ) && !is_invisible(p->sym->name) && ((!has_ns(p->info.typ) && all) || has_ns_eq(ns, p->sym->name)))
+      { if (is_mask(p->info.typ))
+        { fprintf(fd, "  <simpleType name=\"%s\">", wsdl_type(p->info.typ, NULL));
+          gen_type_documentation(fd, p, ns);
+          fprintf(fd, "   <list>\n");
+	  q = p;
+	  if ((Table*)p->info.typ->ref)
+	  { for (q = ((Table*)p->info.typ->ref)->list; q; q = q->next)
+	      if (!has_ns_eq(NULL, ns_remove1(((Table*)p->info.typ->ref)->list->sym->name)))
+	        break;
+	  }
+	  if (q)
+            fprintf(fd, "    <restriction base=\"xsd:string\">\n");
+	  else
+            fprintf(fd, "    <restriction base=\"xsd:QName\">\n");
+          if ((Table*)p->info.typ->ref)
+          { for (q = ((Table*)p->info.typ->ref)->list; q; q = q->next)
+            { fprintf(fd, "     <enumeration value=\"%s\"", ns_remove2(q->sym->name));
+	      if (gen_member_documentation(fd, p->sym, q, ns))
+                fprintf(fd, "     </enumeration>");
+              if (!uflag)
+	        fprintf(fd, "    <!-- = " SOAP_LONG_FORMAT " -->", q->info.val.i);
+	      fprintf(fd, "\n");
+	    }
+	  }
+          fprintf(fd, "    </restriction>\n   </list>\n  </simpleType>\n");
+	}
+	else
+	{ fprintf(fd, "  <simpleType name=\"%s\">", wsdl_type(p->info.typ, NULL));
+          gen_type_documentation(fd, p, ns);
+	  q = p;
+	  if ((Table*)p->info.typ->ref)
+	  { for (q = ((Table*)p->info.typ->ref)->list; q; q = q->next)
+	      if (!has_ns_eq(NULL, ns_remove1(((Table*)p->info.typ->ref)->list->sym->name)))
+	        break;
+	  }
+	  if (q)
+	    fprintf(fd, "   <restriction base=\"xsd:string\">\n");
+	  else
+            fprintf(fd, "   <restriction base=\"xsd:QName\">\n");
+          if ((Table*)p->info.typ->ref)
+          { for (q = ((Table*)p->info.typ->ref)->list; q; q = q->next)
+            { fprintf(fd, "    <enumeration value=\"%s\"", ns_remove2(q->sym->name));
+	      if (gen_member_documentation(fd, p->sym, q, ns))
+                fprintf(fd, "    </enumeration>");
+              if (!uflag)
+	        fprintf(fd, "    <!-- = " SOAP_LONG_FORMAT " -->", q->info.val.i);
+              fprintf(fd, "\n");
+	    }
+	  }
+          fprintf(fd, "   </restriction>\n  </simpleType>\n");
+        }
+      }
+    }
+  }
+  fflush(fd);
+  if (classtable)
+  { for (p = classtable->list; p; p = p->next)
+    { if (is_transient(p->info.typ) || is_invisible(p->sym->name))
+        continue;
+      for (q = t->list; q; q = q->next)
+        if (q->info.typ->type == Tfun && !(q->info.sto & Sextern) && p == get_response(q->info.typ))
+	  break;
+      /* omit the auto-generated and user-defined response struct/class (when necessary) */
+      if (!q)
+        for (q = t->list; q; q = q->next)
+          if (q->info.typ->type == Tfun && !(q->info.sto & Sextern) && !has_ns_eq(NULL, ((Entry*)q->info.typ->ref)->sym->name))
+          { r = entry(t, q->sym);
+            if (r && r->info.typ->ref && is_response(((Entry*)r->info.typ->ref)->info.typ) && p->info.typ == (Tnode*)((Entry*)r->info.typ->ref)->info.typ->ref)
+              break;
+	  }
+      if (q)
+        continue;
+      /* classes that are used for SOAP Fault details */
+      m = NULL;
+      for (sp2 = services; sp2 && !m; sp2 = sp2->next)
+	for (m = sp2->list; m; m = m->next)
+	  if ((m->mess&FAULT) && m->part && is_eq(m->part, p->sym->name))
+	    break;
+      if (m)
+      { if ((!has_ns(p->info.typ) && all) || has_ns_eq(ns, p->sym->name))
+        { if (!uflag)
+	    fprintf(fd, "  <!-- fault element and type -->\n");
+          fprintf(fd, "  <element name=\"%s\" type=\"%s\">\n", ns_remove(p->sym->name), base_type(p->info.typ, ns1));
+          gen_type_documentation(fd, p, ns);
+          fprintf(fd, "  </element>\n");
+	}
+      }
+      if (p->info.typ->ref && is_binary(p->info.typ))
+      { if ((!has_ns(p->info.typ) && all) || has_ns_eq(ns, p->sym->name))
+	{ if (is_attachment(p->info.typ))
+	  { fprintf(fd, "  <complexType name=\"%s\">", ns_remove(p->sym->name));
+	    gen_type_documentation(fd, p, ns);
+	    fprintf(fd, "   <simpleContent>\n    <extension base=\"xsd:base64Binary\">\n");
+	    if (!eflag)
+              fprintf(fd, "     <attribute name=\"href\" type=\"xsd:anyURI\" use=\"optional\"/>\n");
+	    gen_schema_attributes(fd, p->info.typ, ns, ns1);
+            fprintf(fd, "    </extension>\n   </simpleContent>\n  </complexType>\n");
+	  }
+	  else
+	  { fprintf(fd, "  <simpleType name=\"%s\">", ns_remove(p->sym->name));
+	    gen_type_documentation(fd, p, ns);
+	    fprintf(fd, "   <restriction base=\"xsd:base64Binary\">\n");
+	    if (p->info.typ->maxLength > 0 && p->info.typ->minLength == p->info.typ->maxLength)
+              fprintf(fd, "    <length value=\"" SOAP_LONG_FORMAT "\"/>\n", p->info.typ->minLength);
+	    else
+	    { if (p->info.typ->minLength > 0)
+                fprintf(fd, "    <minLength value=\"" SOAP_LONG_FORMAT "\"/>\n", p->info.typ->minLength);
+	      if (p->info.typ->maxLength != MAXLONG64)
+                fprintf(fd, "    <maxLength value=\"" SOAP_LONG_FORMAT "\"/>\n", p->info.typ->maxLength);
+	    }
+            fprintf(fd, "   </restriction>\n  </simpleType>\n");
+	  }
+        }
+      }
+      else if (p->info.typ->ref && !is_transient(p->info.typ) && is_primclass(p->info.typ))
+      { if ((!has_ns(p->info.typ) && all) || has_ns_eq(ns, p->sym->name))
+        { q = ((Table*)p->info.typ->ref)->list;
+	  if (q && strncmp(q->sym->name, "xsd__anyType", 12))
+	  { if (is_string(q->info.typ) || is_wstring(q->info.typ) || is_stdstring(q->info.typ) || is_stdwstring(q->info.typ))
+            { fprintf(fd, "  <complexType name=\"%s\" mixed=\"true\">", ns_remove(p->sym->name));
+	      gen_type_documentation(fd, p, ns);
+              fprintf(fd, "   <simpleContent>\n    <extension base=\"%s\">\n", wsdl_type(q->info.typ, ns1));
+	      gen_schema_attributes(fd, p->info.typ, ns, ns1);
+              fprintf(fd, "    </extension>\n   </simpleContent>\n  </complexType>\n");
+	    }
+	    else if (is_primitive(q->info.typ))
+            { fprintf(fd, "  <complexType name=\"%s\">", ns_remove(p->sym->name));
+	      gen_type_documentation(fd, p, ns);
+              fprintf(fd, "   <simpleContent>\n    <extension base=\"%s\">\n", wsdl_type(q->info.typ, ns1));
+	      gen_schema_attributes(fd, p->info.typ, ns, ns1);
+              fprintf(fd, "    </extension>\n   </simpleContent>\n  </complexType>\n");
+	    }
+	    else
+            { fprintf(fd, "  <complexType name=\"%s\">", ns_remove(p->sym->name));
+	      gen_type_documentation(fd, p, ns);
+              fprintf(fd, "   <complexContent>\n    <extension base=\"%s\">\n", wsdl_type(q->info.typ, ns1));
+	      gen_schema_attributes(fd, p->info.typ, ns, ns1);
+              fprintf(fd, "    </extension>\n   </complexContent>\n  </complexType>\n");
+	    }
+	  }
+        }
+      }
+      else if (p->info.typ->ref && !is_transient(p->info.typ))
+      { q = ((Table*)p->info.typ->ref)->list;
+        if (entry(t, p->sym) && (!q || !is_XML(q->info.typ)))
+          ;
+        else if (is_dynamic_array(p->info.typ))
+        { if (eflag || (!has_ns(p->info.typ) && !is_untyped(p->info.typ)))
+          { if (all)
+	      { d = get_Darraydims(p->info.typ)-1;
+	        for (i = 0; i < d; i++)
+	          cbuf[i] = ',';
+	        cbuf[i] = '\0';
+		if (q->info.maxOccurs == 1)
+	          fprintf(fd, "  <complexType name=\"%s\">\n   <complexContent>\n    <restriction base=\"SOAP-ENC:Array\">\n     <sequence>\n      <element name=\"%s\" type=\"%s\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"%s\"/>\n     </sequence>\n     <attribute ref=\"SOAP-ENC:arrayType\" WSDL:arrayType=\"%s[%s]\"/>\n    </restriction>\n   </complexContent>\n  </complexType>\n", wsdl_type(p->info.typ, NULL), q->sym->name[5]?ns_remove(q->sym->name+5):"item", wsdl_type(q->info.typ, ns1), nillable((Tnode*)q->info.typ->ref), wsdl_type(q->info.typ, ns1), cbuf);
+                else
+	          fprintf(fd, "  <complexType name=\"%s\">\n   <complexContent>\n    <restriction base=\"SOAP-ENC:Array\">\n     <sequence>\n      <element name=\"%s\" type=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"" SOAP_LONG_FORMAT "\" nillable=\"%s\"/>\n     </sequence>\n     <attribute ref=\"SOAP-ENC:arrayType\" WSDL:arrayType=\"%s[%s]\"/>\n    </restriction>\n   </complexContent>\n  </complexType>\n", wsdl_type(p->info.typ, NULL), q->sym->name[5]?ns_remove(q->sym->name+5):"item", wsdl_type(q->info.typ, ns1), q->info.minOccurs, q->info.maxOccurs, nillable((Tnode*)q->info.typ->ref), wsdl_type(q->info.typ, ns1), cbuf);
+	    }
+          }
+	  else if (p->info.typ->ref && ((Table*)p->info.typ->ref)->prev && !is_transient(entry(classtable, ((Table*)p->info.typ->ref)->prev->sym)->info.typ) && strncmp(((Table*)p->info.typ->ref)->prev->sym->name, "xsd__anyType", 12))
+	  { if (q->info.maxOccurs == 1)
+            { fprintf(fd, "  <complexType name=\"%s\">", ns_remove(p->sym->name));
+	      gen_type_documentation(fd, p, ns);
+              fprintf(fd, "   <complexContent>\n    <extension base=\"%s\">\n     <sequence>\n", ns_convert(((Table*)p->info.typ->ref)->prev->sym->name));
+	      fprintf(fd, "      <element name=\"%s\" type=\"%s\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\"/>\n", q->sym->name[5]?ns_remove(q->sym->name+5):"item", wsdl_type(q->info.typ, ns1));
+              fprintf(fd, "     </sequence>\n    </extension>\n   </complexContent>\n");
+	      gen_schema_attributes(fd, p->info.typ, ns, ns1);
+              fprintf(fd, "  </complexType>\n");
+	    }
+	    else
+            { fprintf(fd, "  <complexType name=\"%s\">", ns_remove(p->sym->name));
+	      gen_type_documentation(fd, p, ns);
+              fprintf(fd, "   <complexContent>\n    <extension base=\"%s\">\n     <sequence>\n", ns_convert(((Table*)p->info.typ->ref)->prev->sym->name));
+	      fprintf(fd, "      <element name=\"%s\" type=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"" SOAP_LONG_FORMAT "\" nillable=\"%s\"/>\n", q->sym->name[5]?ns_remove(q->sym->name+5):"item", wsdl_type(q->info.typ, ns1), q->info.minOccurs, q->info.maxOccurs, nillable((Tnode*)q->info.typ->ref));
+              fprintf(fd, "     </sequence>\n    </extension>\n   </complexContent>\n");
+	      gen_schema_attributes(fd, p->info.typ, ns, ns1);
+              fprintf(fd, "  </complexType>\n");
+	    }
+	  }
+	  else
+	  { if (q->info.maxOccurs == 1)
+	    { fprintf(fd, "  <complexType name=\"%s\">", ns_remove(p->sym->name));
+	      gen_type_documentation(fd, p, ns);
+	      fprintf(fd, "   <sequence>\n    <element name=\"%s\" type=\"%s\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"%s\"/>\n   </sequence>\n  </complexType>\n", q->sym->name[5]?ns_remove(q->sym->name+5):"item", wsdl_type(q->info.typ, ns1), nillable((Tnode*)q->info.typ->ref));
+	    }
+            else
+	    { fprintf(fd, "  <complexType name=\"%s\">", ns_remove(p->sym->name));
+	      gen_type_documentation(fd, p, ns);
+	      fprintf(fd, "   <sequence>\n    <element name=\"%s\" type=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"" SOAP_LONG_FORMAT "\" nillable=\"%s\"/>\n   </sequence>\n  </complexType>\n", q->sym->name[5]?ns_remove(q->sym->name+5):"item", wsdl_type(q->info.typ, ns1), q->info.minOccurs, q->info.maxOccurs, nillable((Tnode*)q->info.typ->ref));
+	    }
+	  }
+	}
+        else if (is_discriminant(p->info.typ) && ((!has_ns(p->info.typ) && all) || has_ns_eq(ns, p->sym->name)))
+        { if (p->info.typ->ref)
+          { fprintf(fd, "  <complexType name=\"%s\">\n", ns_remove(p->sym->name));
+	    gen_schema_elements(fd, p->info.typ, ns, ns1);
+            fprintf(fd, "  </complexType>\n");
+	  }
+        }
+        else if (p->info.typ->type == Tstruct && ((!has_ns(p->info.typ) && all) || has_ns_eq(ns, p->sym->name)))
+        { if (p->info.typ->ref)
+          { fprintf(fd, "  <complexType name=\"%s\">", ns_remove(p->sym->name));
+	    gen_type_documentation(fd, p, ns);
+            fprintf(fd, "   <sequence>\n");
+	    gen_schema_elements(fd, p->info.typ, ns, ns1);
+            fprintf(fd, "   </sequence>\n");
+	    gen_schema_attributes(fd, p->info.typ, ns, ns1);
+            fprintf(fd, "  </complexType>\n");
+          }
+        }
+        else if (p->info.typ->type == Tclass && ((!has_ns(p->info.typ) && all) || has_ns_eq(ns, p->sym->name)))
+        { if (p->info.typ->ref)
+          { if (((Table*)p->info.typ->ref)->prev && !is_transient(entry(classtable, ((Table*)p->info.typ->ref)->prev->sym)->info.typ) && strncmp(((Table*)p->info.typ->ref)->prev->sym->name, "xsd__anyType", 12))
+            { fprintf(fd, "  <complexType name=\"%s\">", ns_remove(p->sym->name));
+	      gen_type_documentation(fd, p, ns);
+              fprintf(fd, "   <complexContent>\n    <extension base=\"%s\">\n     <sequence>\n", ns_convert(((Table*)p->info.typ->ref)->prev->sym->name));
+	      gen_schema_elements(fd, p->info.typ, ns, ns1);
+              fprintf(fd, "     </sequence>\n    </extension>\n   </complexContent>\n");
+	      gen_schema_attributes(fd, p->info.typ, ns, ns1);
+              fprintf(fd, "  </complexType>\n");
+	    }
+	    else
+            { fprintf(fd, "  <complexType name=\"%s\">", ns_remove(p->sym->name));
+	      gen_type_documentation(fd, p, ns);
+              fprintf(fd, "   <sequence>\n");
+	      gen_schema_elements(fd, p->info.typ, ns, ns1);
+              fprintf(fd, "   </sequence>\n");
+	      gen_schema_attributes(fd, p->info.typ, ns, ns1);
+              fprintf(fd, "  </complexType>\n");
+            }
+	  }
+        }
+      }
+    }
+  }
+  fflush(fd);
+  for (n = Tptr[Tarray]; n; n = n->next)
+  { if (is_transient(n) || is_fixedstring(n))
+      continue;
+    if (1 /* wsdl */)
+      fprintf(fd, "  <complexType name=\"%s\">\n   <complexContent>\n    <restriction base=\"SOAP-ENC:Array\">\n     <attribute ref=\"SOAP-ENC:arrayType\" WSDL:arrayType=\"%s[]\"/>\n    </restriction>\n   </complexContent>\n  </complexType>\n", c_ident(n), wsdl_type((Tnode*)n->ref, ns1));
+    else
+      fprintf(fd, "  <complexType name=\"%s\">\n   <complexContent>\n    <restriction base=\"SOAP-ENC:Array\">\n     <element name=\"item\" type=\"%s\" maxOccurs=\"unbounded\"/>\n    </restriction>\n   </complexContent>\n  </complexType>\n", c_ident(n), xsi_type((Tnode*)n->ref));
+    fflush(fd);
+  }
+  gen_schema_elements_attributes(fd, t, ns, ns1, style, encoding);
+  fprintf(fd, " </schema>\n\n");
+}
+
+void
+gen_schema_elements(FILE *fd, Tnode *p, char *ns, char *ns1)
+{ Entry *q;
+  for (q = ((Table*)p->ref)->list; q; q = q->next)
+    if (gen_schema_element(fd, p, q, ns, ns1))
+      q = q->next;
+}
+
+int
+gen_schema_element(FILE *fd, Tnode *p, Entry *q, char *ns, char *ns1)
+{ char *s, *t;
+      if (is_transient(q->info.typ) || (q->info.sto & Sattribute) || q->info.typ->type == Tfun || q->info.typ->type == Tunion)
+        return 0;
+      if (is_repetition(q))
+      { if (is_sequence(q->next))
+        { fprintf(fd, "    <sequence minOccurs=\"0\" maxOccurs=\"unbounded\">\n");
+	  if (q->next->info.typ->ref)
+	    gen_schema_elements(fd, (Tnode*)q->next->info.typ->ref, ns, ns1);
+          fprintf(fd, "    </sequence>\n");
+          return 1;
+        }
+        t = ns_convert(q->next->sym->name);
+        if (*t == '-')
+	  fprintf(fd, "     <any processContents=\"lax\" minOccurs=\"0\" maxOccurs=\"unbounded\"/><!-- %s -->\n", q->next->sym->name);
+        else if ((s = strchr(t+1, ':')) && (!strchr(q->next->sym->name+1, ':') || !has_ns_eq(ns, q->next->sym->name)))
+	{ if (((Tnode*)q->next->info.typ->ref)->type == Tpointer)
+            if (q->info.maxOccurs == 1)
+	      fprintf(fd, "     <element ref=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"unbounded\"", t, q->info.minOccurs);
+            else
+	      fprintf(fd, "     <element ref=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"" SOAP_LONG_FORMAT "\"", t, q->info.minOccurs, q->info.maxOccurs);
+          else if (q->info.maxOccurs == 1)
+              fprintf(fd, "     <element ref=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"unbounded\"", t, q->info.minOccurs);
+	    else
+              fprintf(fd, "     <element ref=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"" SOAP_LONG_FORMAT "\"", t, q->info.minOccurs, q->info.maxOccurs);
+	  if (gen_member_documentation(fd, p->id, q, ns))
+            fprintf(fd, "     </element>\n");
+	}
+	else
+        { const char *form = "";
+	  if (!s)
+          { s = t;
+	    if (*s == ':')
+	    { s++;
+	      form = " form=\"unqualified\"";
+	    }
+	  }
+          else
+	  { s++;
+	    form = " form=\"qualified\"";
+	  }
+	  if (((Tnode*)q->next->info.typ->ref)->type == Tpointer)
+            if (q->info.maxOccurs == 1)
+	      fprintf(fd, "     <element name=\"%s\" type=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"unbounded\" nillable=\"true\"%s", s, wsdl_type((Tnode*)q->next->info.typ->ref, ns1), q->info.minOccurs, form);
+            else
+	      fprintf(fd, "     <element name=\"%s\" type=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"" SOAP_LONG_FORMAT "\" nillable=\"true\"%s", s, wsdl_type((Tnode*)q->next->info.typ->ref, ns1), q->info.minOccurs, q->info.maxOccurs, form);
+          else if (q->info.maxOccurs == 1)
+              fprintf(fd, "     <element name=\"%s\" type=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"unbounded\"%s", s, wsdl_type((Tnode*)q->next->info.typ->ref, ns1), q->info.minOccurs, form);
+	    else
+              fprintf(fd, "     <element name=\"%s\" type=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"" SOAP_LONG_FORMAT "\"%s", s, wsdl_type((Tnode*)q->next->info.typ->ref, ns1), q->info.minOccurs, q->info.maxOccurs, form);
+	  if (gen_member_documentation(fd, p->id, q, ns))
+            fprintf(fd, "     </element>\n");
+	}
+        return 1;
+      }
+      else if (q->info.typ->type == Ttemplate || (q->info.typ->type == Tpointer && ((Tnode*)q->info.typ->ref)->type == Ttemplate) || (q->info.typ->type == Treference && ((Tnode*)q->info.typ->ref)->type == Ttemplate))
+      { t = ns_convert(q->sym->name);
+        if (*t == '-')
+	  fprintf(fd, "     <any processContents=\"lax\" minOccurs=\"0\" maxOccurs=\"unbounded\"/><!-- %s -->\n", q->sym->name);
+        else if ((s = strchr(t+1, ':')) && (!strchr(q->sym->name+1, ':') || !has_ns_eq(ns, q->sym->name)))
+	{ if (((Tnode*)q->info.typ->ref)->type == Tpointer)
+            if (q->info.maxOccurs == 1)
+	      fprintf(fd, "     <element ref=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"unbounded\"", t, q->info.minOccurs);
+            else
+	      fprintf(fd, "     <element ref=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"" SOAP_LONG_FORMAT "\"", t, q->info.minOccurs, q->info.maxOccurs);
+          else if (q->info.maxOccurs == 1)
+              fprintf(fd, "     <element ref=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"unbounded\"", t, q->info.minOccurs);
+	    else
+              fprintf(fd, "     <element ref=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"" SOAP_LONG_FORMAT "\"", t, q->info.minOccurs, q->info.maxOccurs);
+	  if (gen_member_documentation(fd, p->id, q, ns))
+            fprintf(fd, "     </element>\n");
+	}
+	else
+        { const char *form = "";
+	  if (!s)
+          { s = t;
+	    if (*s == ':')
+	    { s++;
+	      form = " form=\"unqualified\"";
+	    }
+	  }
+          else
+	  { s++;
+	    form = " form=\"qualified\"";
+	  }
+	  if (((Tnode*)q->info.typ->ref)->type == Tpointer)
+            if (q->info.maxOccurs == 1)
+	      fprintf(fd, "     <element name=\"%s\" type=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"unbounded\" nillable=\"true\"%s", s, wsdl_type((Tnode*)q->info.typ->ref, ns1), q->info.minOccurs, form);
+            else
+	      fprintf(fd, "     <element name=\"%s\" type=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"" SOAP_LONG_FORMAT "\" nillable=\"true\"%s", s, wsdl_type((Tnode*)q->info.typ->ref, ns1), q->info.minOccurs, q->info.maxOccurs, form);
+          else if (q->info.maxOccurs == 1)
+              fprintf(fd, "     <element name=\"%s\" type=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"unbounded\"%s", s, wsdl_type((Tnode*)q->info.typ->ref, ns1), q->info.minOccurs, form);
+	    else
+              fprintf(fd, "     <element name=\"%s\" type=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"" SOAP_LONG_FORMAT "\"%s", s, wsdl_type((Tnode*)q->info.typ->ref, ns1), q->info.minOccurs, q->info.maxOccurs, form);
+	  if (gen_member_documentation(fd, p->id, q, ns))
+            fprintf(fd, "     </element>\n");
+	}
+      }
+      else if (is_anytype(q)) /* ... maybe need to show all possible types rather than xsd:anyType */
+      { fprintf(fd, "     <element name=\"%s\" type=\"xsd:anyType\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"" SOAP_LONG_FORMAT "\" nillable=\"true\"/>\n", ns_convert(q->next->sym->name), q->info.minOccurs, q->info.maxOccurs);
+        return 1;
+      }
+      else if (is_choice(q))
+      { if (q->info.minOccurs == 0)
+          fprintf(fd, "    <choice minOccurs=\"0\" maxOccurs=\"1\">\n");
+        else
+          fprintf(fd, "    <choice>\n");
+	if (q->next->info.typ->ref)
+	  gen_schema_elements(fd, q->next->info.typ, ns, ns1);
+        fprintf(fd, "    </choice>\n");
+        return 1;
+      }
+      else if (is_sequence(q))
+      { if (q->info.minOccurs == 0)
+          fprintf(fd, "    <sequence minOccurs=\"0\" maxOccurs=\"1\">\n");
+        else
+          fprintf(fd, "    <sequence>\n");
+	if (q->info.typ->type == Tpointer)
+	  gen_schema_elements(fd, (Tnode*)q->info.typ->ref, ns, ns1);
+	else if (q->info.typ->ref)
+	  gen_schema_elements(fd, q->info.typ, ns, ns1);
+        fprintf(fd, "    </sequence>\n");
+        return 0;
+      }
+      else
+      { t = ns_convert(q->sym->name);
+        if (*t == '-')
+	  fprintf(fd, "     <any processContents=\"lax\" minOccurs=\"0\" maxOccurs=\"1\"/><!-- %s -->\n", q->sym->name);
+        else if ((s = strchr(t+1, ':')) && (!strchr(q->sym->name+1, ':') || !has_ns_eq(ns, q->sym->name)))
+	{ if (q->info.typ->type == Tpointer || q->info.typ->type == Tarray || is_dynamic_array(q->info.typ))
+            fprintf(fd, "     <element ref=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"" SOAP_LONG_FORMAT "\"", t, q->info.minOccurs, q->info.maxOccurs);
+          else
+            fprintf(fd, "     <element ref=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"" SOAP_LONG_FORMAT "\"", t, q->info.minOccurs, q->info.maxOccurs);
+	  if (gen_member_documentation(fd, p->id, q, ns))
+            fprintf(fd, "     </element>\n");
+	}
+        else
+        { const char *form = "";
+	  if (!s)
+          { s = t;
+	    if (*s == ':')
+	    { s++;
+	      form = " form=\"unqualified\"";
+	    }
+	  }
+          else
+	  { s++;
+	    form = " form=\"qualified\"";
+	  }
+	  if (q->info.typ->type == Tpointer || q->info.typ->type == Tarray || is_dynamic_array(q->info.typ))
+            fprintf(fd, "     <element name=\"%s\" type=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"" SOAP_LONG_FORMAT "\" nillable=\"true\"%s%s", s, wsdl_type(q->info.typ, ns1), q->info.minOccurs, q->info.maxOccurs, default_value(q, "default"), form);
+          else
+            fprintf(fd, "     <element name=\"%s\" type=\"%s\" minOccurs=\"" SOAP_LONG_FORMAT "\" maxOccurs=\"" SOAP_LONG_FORMAT "\"%s%s", s, wsdl_type(q->info.typ, ns1), q->info.minOccurs, q->info.maxOccurs, default_value(q, "default"), form);
+	  if (gen_member_documentation(fd, p->id, q, ns))
+            fprintf(fd, "     </element>\n");
+        }
+      }
+      fflush(fd);
+  return 0;
+}
+
+void
+gen_schema_elements_attributes(FILE *fd, Table *t, char *ns, char *ns1, char *style, char *encoding)
+{ Entry *p, *q, *e;
+  Table *r;
+  Service *sp;
+  Method *m;
+  char *method_style, *method_encoding, *method_response_encoding;
+  int all = !strcmp(ns, ns1);
+  r = mktable(NULL);
+  for (p = classtable->list; p; p = p->next)
+  { if (!p->info.typ->ref || /* is_invisible(p->info.typ->id->name) || */ is_transient(p->info.typ) || is_primclass(p->info.typ) || is_dynamic_array(p->info.typ))
+      continue;
+    for (q = ((Table*)p->info.typ->ref)->list; q; q = q->next)
+    { if (!is_repetition(q) && !is_anytype(q) && (!strchr(q->sym->name+1, ':') || !eq_ns(p->sym->name, q->sym->name)) && has_ns_eq(ns, q->sym->name) && !is_transient(q->info.typ) && q->info.typ->type != Tfun)
+      { Service *sp2;
+        Method *m;
+        m = NULL;
+        for (sp2 = services; sp2 && !m; sp2 = sp2->next)
+	  for (m = sp2->list; m; m = m->next)
+	    if ((m->mess&FAULT) && m->part && is_eq(m->part, q->sym->name))
+	      break;
+	if (m)
+	  continue; /* already generated element for fault */
+        e = entry(r, q->sym);
+        if (e)
+	{ if ((e->info.sto & Sattribute) != (q->info.sto & Sattribute) || reftype(e->info.typ) != reftype(q->info.typ))
+          { sprintf(errbuf, "Field '%s' of type '%s' at line %d has a type that does not correspond to the required unique type '%s' defined for elements '<%s>' in the WSDL namespace based on literal encoding: use SOAP RPC encoding or rename or use a namespace qualifier", q->sym->name, c_type(q->info.typ), q->lineno, c_type(e->info.typ), ns_convert(q->sym->name));
+            semwarn(errbuf);
+	  }
+	}
+        else
+	{ if (q->info.sto & Sattribute)
+	    fprintf(fd, "  <attribute name=\"%s\" type=\"%s\"/>\n", ns_remove(q->sym->name), wsdl_type(q->info.typ, ns1));
+	  else	
+	    fprintf(fd, "  <element name=\"%s\" type=\"%s\"/>\n", ns_remove(q->sym->name), wsdl_type(q->info.typ, ns1));
+	  e = enter(r, q->sym);
+	  e->info = q->info;
+        }
+      }
+    }
+  }
+  if (t && all)
+  { for (p = t->list; p; p = p->next)
+    { if (p->info.typ->type == Tfun && !is_invisible(p->sym->name) && !(p->info.sto & Sextern) && has_ns_eq(ns, p->sym->name))
+      { method_encoding = encoding;
+	method_response_encoding = NULL;
+	method_style = style;
+	for (sp = services; sp; sp = sp->next)
+	{ if (!tagcmp(sp->ns, ns))
+	  { for (m = sp->list; m; m = m->next)
+	    { if (is_eq_nons(m->name, p->sym->name))
+              { if (m->mess == ENCODING)
+	          method_encoding = m->part;
+                else if (m->mess == RESPONSE_ENCODING)
+	          method_response_encoding = m->part;
+                else if (m->mess == STYLE)
+	          method_style = m->part;
+	      }
+	    }
+	  }
+	}
+	if (!eflag)
+	{ if (!method_response_encoding)
+            method_response_encoding = method_encoding;
+          q = entry(classtable, p->sym);
+          if (q)
+	  { if (is_document(method_style))
+            { if (!uflag)
+	        fprintf(fd, "  <!-- operation request element -->\n");
+	      fprintf(fd, "  <element name=\"%s\">\n   <complexType>\n    <sequence>\n", ns_remove(p->sym->name));
+	      gen_schema_elements(fd, q->info.typ, ns, ns1);
+	      fprintf(fd, "    </sequence>\n");
+	      gen_schema_attributes(fd, q->info.typ, ns, ns1);
+	      fprintf(fd, "   </complexType>\n  </element>\n");
+	    }
+	    else if (is_literal(method_encoding))
+	    { for (q = ((Table*)q->info.typ->ref)->list; q; q = q->next)
+              { if (!is_repetition(q) && !is_anytype(q) && !has_ns_eq(NULL, q->sym->name) && !is_transient(q->info.typ) && q->info.typ->type != Tfun && !(q->info.sto & Sattribute))
+                { e = entry(r, q->sym);
+                  if (e)
+	          { if ((e->info.sto & Sattribute) != (q->info.sto & Sattribute)|| reftype(e->info.typ) != reftype(q->info.typ))
+                    { sprintf(errbuf, "Parameter '%s' of type '%s' at line %d has a type that does not correspond to the required unique type '%s' defined for elements '<%s>' in the WSDL namespace based on literal encoding: use SOAP RPC encoding or rename or use a namespace qualifier", q->sym->name, c_type(q->info.typ), q->lineno, c_type(e->info.typ), ns_convert(q->sym->name));
+                      semwarn(errbuf);
+	            }
+	          }
+                  else
+                  { if (!uflag)
+		      fprintf(fd, "  <!-- operation request element -->\n");
+	            fprintf(fd, "  <element name=\"%s\" type=\"%s\"/>\n", ns_remove(q->sym->name), wsdl_type(q->info.typ, ns1));
+	            e = enter(r, q->sym);
+		    e->info = q->info;
+	          }
+	        }
+	      }
+	    }
+            q = (Entry*)p->info.typ->ref;
+            for (e = t->list; e; e = e->next)
+              if (e != p && e->info.typ->type == Tfun && !(e->info.sto & Sextern) && q == (Entry*)e->info.typ->ref)
+	        q = NULL;
+            if (q && !is_transient(q->info.typ))
+            { if (!is_response(q->info.typ))
+	      { if (is_document(method_style))
+                { if (!uflag)
+		    fprintf(fd, "  <!-- operation response element -->\n");
+	          fprintf(fd, "  <element name=\"%sResponse\">\n   <complexType>\n", ns_remove(p->sym->name));
+	          fprintf(fd, "    <sequence>\n");
+	          gen_schema_element(fd, p->info.typ, q, ns, ns1);
+	          fprintf(fd, "    </sequence>\n");
+	          fprintf(fd, "   </complexType>\n  </element>\n");
+		}
+  	        else if (is_literal(method_response_encoding))
+                { e = entry(r, q->sym);
+                  if (e)
+	          { if ((e->info.sto & Sattribute) != (q->info.sto & Sattribute)|| reftype(e->info.typ) != reftype(q->info.typ))
+                    { sprintf(errbuf, "Qualified member field '%s' has a type that does not correspond to the unique type '%s' defined for elements '<%s>'", q->sym->name, c_type(q->info.typ), ns_convert(q->sym->name));
+                      semwarn(errbuf);
+	            }
+	          }
+                  else
+                  { if (!uflag)
+		      fprintf(fd, "  <!-- operation response element -->\n");
+	            fprintf(fd, "  <element name=\"%s\" type=\"%s\"/>\n", ns_remove(q->sym->name), wsdl_type(q->info.typ, ns1));
+	            e = enter(r, q->sym);
+		    e->info = q->info;
+	          }
+	        }
+	      }
+              else if (((Tnode*)q->info.typ->ref)->ref)
+	      { if (is_document(method_style))
+	        { if (!has_ns_eq(NULL, q->sym->name))
+		  { e = entry(r, ((Tnode*)q->info.typ->ref)->id);
+		    if (!e)
+                    { if (!uflag)
+		        fprintf(fd, "  <!-- operation response element -->\n");
+		      fprintf(fd, "  <element name=\"%s\">\n   <complexType>\n", ns_remove(((Tnode*)q->info.typ->ref)->id->name));
+	              fprintf(fd, "    <sequence>\n");
+	              gen_schema_elements(fd, (Tnode*)q->info.typ->ref, ns, ns1);
+	              fprintf(fd, "    </sequence>\n");
+	              gen_schema_attributes(fd, (Tnode*)q->info.typ->ref, ns, ns1);
+	              fprintf(fd, "   </complexType>\n  </element>\n");
+		      e = enter(r, ((Tnode*)q->info.typ->ref)->id);
+		      e->info = q->info;
+		    }
+		  }
+		}
+		else if (is_literal(method_response_encoding))
+	        { for (q = ((Table*)((Tnode*)q->info.typ->ref)->ref)->list; q; q = q->next)
+  	          { if (!is_repetition(q) && !is_anytype(q) && !has_ns_eq(NULL, q->sym->name) && !is_transient(q->info.typ) && q->info.typ->type != Tfun && !(q->info.sto & Sattribute))
+                    { e = entry(r, q->sym);
+                      if (e)
+	              { if ((e->info.sto & Sattribute) != (q->info.sto & Sattribute)|| reftype(e->info.typ) != reftype(q->info.typ))
+                        { sprintf(errbuf, "Qualified member field '%s' has a type that does not correspond to the unique type '%s' defined for elements '<%s>'", q->sym->name, c_type(q->info.typ), ns_convert(q->sym->name));
+                          semwarn(errbuf);
+	                }
+	              }
+                      else
+                      { if (!uflag)
+		          fprintf(fd, "  <!-- operation response element -->\n");
+	                fprintf(fd, "  <element name=\"%s\" type=\"%s\"/>\n", ns_remove(q->sym->name), wsdl_type(q->info.typ, ns1));
+	                e = enter(r, q->sym);
+		        e->info = q->info;
+	              }
+	            }
+	          }
+	        }
+	      }
+            }
+          }
+        }
+      }
+    }
+  }
+  if (t)
+  { for (p = t->list; p; p = p->next)
+    { if (p->info.typ->type == Tfun && !(p->info.sto & Sextern) && !eflag)
+      { q = (Entry*)p->info.typ->ref;
+        if (q && !is_transient(q->info.typ))
+        { if (is_response(q->info.typ))
+	  { if (has_ns_eq(ns, q->sym->name))
+            { e = entry(r, q->sym);
+              if (!e)
+              { if (!uflag)
+	          fprintf(fd, "  <!-- operation response element -->\n");
+	        fprintf(fd, "  <element name=\"%s\" type=\"%s\"/>\n", ns_remove(q->sym->name), wsdl_type(q->info.typ, ns1));
+	        e = enter(r, q->sym);
+		e->info = q->info;
+	      }
+	    }
+	  }
+        }
+      }
+    }
+  }
+  freetable(r);
+}
+
+void
+gen_schema_attributes(FILE *fd, Tnode *p, char *ns, char *ns1)
+{ Entry *q;
+  char *t, *s, *r;
+  for (q = ((Table*)p->ref)->list; q; q = q->next)
+  { if (q->info.sto & Sattribute)
+    { r = default_value(q, "default");
+      t = ns_convert(q->sym->name);
+      if (*t == '-' || is_anyAttribute(q->info.typ))
+        fprintf(fd, "     <anyAttribute processContents=\"lax\"/><!-- %s -->\n", q->sym->name);
+      else if ((s = strchr(t+1, ':')) && (!strchr(q->sym->name+1, ':') || !has_ns_eq(ns, q->sym->name)))
+      { if (r && *r)
+          fprintf(fd, "     <attribute ref=\"%s\" use=\"default\"%s/>\n", t, r);
+	else if (q->info.typ->type != Tpointer || q->info.minOccurs)
+          fprintf(fd, "     <attribute ref=\"%s\" use=\"required\"/>\n", t);
+	else if (q->info.maxOccurs == 0)
+          fprintf(fd, "     <attribute ref=\"%s\" use=\"prohibited\"/>\n", t);
+	else
+          fprintf(fd, "     <attribute ref=\"%s\" use=\"optional\"/>\n", t);
+      }
+      else
+      { const char *form = "";
+        if (!s)
+	{ s = t;
+	  if (*s == ':')
+	  { s++;
+	    form = " form=\"unqualified\"";
+	  }
+	}
+        else
+	{ s++;
+	  form = " form=\"qualified\"";
+	}
+	if (r && *r)
+          fprintf(fd, "     <attribute name=\"%s\" type=\"%s\" use=\"default\"%s%s", s, wsdl_type(q->info.typ, ns1), r, form);
+	else if ((q->info.typ->type != Tpointer && !is_stdstring(q->info.typ) && !is_stdwstring(q->info.typ)) || q->info.minOccurs)
+          fprintf(fd, "     <attribute name=\"%s\" type=\"%s\" use=\"required\"%s", s, wsdl_type(q->info.typ, ns1), form);
+	else if (q->info.maxOccurs == 0)
+          fprintf(fd, "     <attribute name=\"%s\" type=\"%s\" use=\"prohibited\"", s, wsdl_type(q->info.typ, ns1));
+	else
+          fprintf(fd, "     <attribute name=\"%s\" type=\"%s\" use=\"optional\"%s", s, wsdl_type(q->info.typ, ns1), form);
+	if (gen_member_documentation(fd, p->id, q, ns))
+          fprintf(fd, "     </attribute>\n");
+      }
+      fflush(fd);
+    }
+  }
+}
+
+void
+gen_type_documentation(FILE *fd, Entry *type, char *ns)
+{ Service *sp;
+  Data *d;
+  if (!type->sym)
+  { fprintf(fd, "\n");
+    return;
+  }
+  for (sp = services; sp; sp = sp->next)
+  { if (!tagcmp(sp->ns, ns))
+    { for (d = sp->data; d; d = d->next)
+      { if (!strstr(d->name, "::") && is_eq_nons(d->name, type->sym->name))
+        { fprintf(fd, "\n   <annotation>\n    <documentation>%s</documentation>\n   </annotation>\n", d->text);
+	  return;
+        }
+      }
+    }
+  }
+  if (!uflag)
+    fprintf(fd, "<!-- %s -->\n", type->sym->name);
+  fprintf(fd, "\n");
+}
+
+int
+gen_member_documentation(FILE *fd, Symbol *type, Entry *member, char *ns)
+{ Service *sp;
+  Data *d;
+  char *t;
+  if (!type || !member->sym)
+  { fprintf(fd, "/>\n");
+    return 0;
+  }
+  t = ns_remove(type->name);
+  for (sp = services; sp; sp = sp->next)
+  { if (!tagcmp(sp->ns, ns))
+    { for (d = sp->data; d; d = d->next)
+      { char *s = strstr(d->name, "::");
+        if (s && !strncmp(t, d->name, s-d->name) && !strcmp(s + 2, member->sym->name))
+        { fprintf(fd, ">\n     <annotation>\n      <documentation>%s</documentation>\n     </annotation>\n", d->text);
+	  return 1;
+        }
+      }
+    }
+  }
+  fprintf(fd, "/>");
+  if (!uflag)
+    fprintf(fd, "<!-- %s::%s -->", type->name, member->sym->name);
+  fprintf(fd, "\n");
+  return 0;
+}
+
+void
+gen_nsmap(FILE *fd, Symbol *ns, char *URI)
+{ Symbol *ns1;
+  Service *sp;
+  fprintf(fd, "{\n");
+  for (ns1 = nslist; ns1; ns1 = ns1->next)
+    { for (sp = services; sp; sp = sp->next)
+        if (!tagcmp(sp->ns, ns1->name) && sp->URI)
+	  break;
+        if (sp)
+        { if (!strcmp(ns1->name, "SOAP-ENV"))
+	  { if (vflag < 0)
+	      fprintf(fd, "\t{\"SOAP-ENV\", NULL, NULL, NULL},\n");
+	    else
+	      fprintf(fd, "\t{\"%s\", \"%s\", \"%s\", NULL},\n", ns_convert(ns1->name), sp->URI, sp->URI2 ? sp->URI2 : envURI);
+	  }
+          else if (!strcmp(ns1->name, "SOAP-ENC"))
+	  { if (vflag < 0)
+	      fprintf(fd, "\t{\"SOAP-ENC\", NULL, NULL, NULL},\n");
+	    else
+	      fprintf(fd, "\t{\"%s\", \"%s\", \"%s\", NULL},\n", ns_convert(ns1->name), sp->URI, sp->URI2 ? sp->URI2 : encURI);
+	  }
+          else if (sp->URI2)
+	    fprintf(fd, "\t{\"%s\", \"%s\", \"%s\", NULL},\n", ns_convert(ns1->name), sp->URI, sp->URI2);
+	  else
+	    fprintf(fd, "\t{\"%s\", \"%s\", NULL, NULL},\n", ns_convert(ns1->name), sp->URI);
+        }
+        else if (!strcmp(ns1->name, "SOAP-ENV"))
+	{ if (vflag < 0)
+	    fprintf(fd, "\t{\"SOAP-ENV\", NULL, NULL, NULL},\n");
+	  else if (is_soap12(NULL))
+	    fprintf(fd, "\t{\"SOAP-ENV\", \"%s\", \"http://schemas.xmlsoap.org/soap/envelope/\", NULL},\n", envURI);
+	  else
+	    fprintf(fd, "\t{\"SOAP-ENV\", \"%s\", \"http://www.w3.org/*/soap-envelope\", NULL},\n", envURI);
+	}
+        else if (!strcmp(ns1->name, "SOAP-ENC"))
+	{ if (vflag < 0)
+	    fprintf(fd, "\t{\"SOAP-ENC\", NULL, NULL, NULL},\n");
+	  else if (is_soap12(NULL))
+	    fprintf(fd, "\t{\"SOAP-ENC\", \"%s\", \"http://schemas.xmlsoap.org/soap/encoding/\", NULL},\n", encURI);
+	  else
+	    fprintf(fd, "\t{\"SOAP-ENC\", \"%s\", \"http://www.w3.org/*/soap-encoding\", NULL},\n", encURI);
+	}
+        else if (!strcmp(ns1->name, "xsi"))
+	  fprintf(fd, "\t{\"xsi\", \"%s\", \"http://www.w3.org/*/XMLSchema-instance\", NULL},\n", xsiURI);
+        else if (!strcmp(ns1->name, "xsd"))
+	  fprintf(fd, "\t{\"xsd\", \"%s\", \"http://www.w3.org/*/XMLSchema\", NULL},\n", xsdURI);
+        else
+	  fprintf(fd, "\t{\"%s\", \"%s/%s.xsd\", NULL, NULL},\n", ns_convert(ns1->name), tmpURI, ns_convert(ns1->name)); 
+    }
+    fprintf(fd, "\t{NULL, NULL, NULL, NULL}\n};\n");
+}
+
+void
+gen_proxy(FILE *fd, Table *table, Symbol *ns, char *name, char *URL, char *executable, char *URI, char *encoding)
+{ Entry *p, *q, *r;
+  Table *t, *output;
+  Service *sp;
+  int flag;
+  char *name1;
+  name1 = ns_cname(name, NULL);
+  for (sp = services; sp; sp = sp->next)
+    if (!tagcmp(sp->ns, ns->name))
+      break;
+  fprintf(fd, "\n\n#ifndef %s%sProxy_H\n#define %s%sProxy_H\n#include \"%sH.h\"", prefix, name1, prefix, name1, prefix);
+  if (nflag)
+    fprintf(fd, "\nextern SOAP_NMAC struct Namespace %s_namespaces[];", prefix);
+  if (namespaceid)
+    fprintf(fd,"\n\nnamespace %s {", namespaceid);
+  fprintf(fd, "\nclass %s\n{   public:\n\t/// Runtime engine context allocated in constructor\n\tstruct soap *soap;\n\t/// Endpoint URL of service '%s' (change as needed)\n\tconst char *endpoint;\n\t/// Constructor allocates soap engine context, sets default endpoint URL, and sets namespace mapping table\n", name1, name);
+  if (nflag)
+    fprintf(fd, "\t%s() { soap = soap_new(); if (soap) soap->namespaces = %s_namespaces; endpoint = \"%s\"; };\n", name1, prefix, URL);
+  else
+  { fprintf(fd, "\t%s()\n\t{ soap = soap_new(); endpoint = \"%s\"; if (soap && !soap->namespaces) { static const struct Namespace namespaces[] = \n", name1, URL);
+    gen_nsmap(fd, ns, URI);
+    fprintf(fd, "\tsoap->namespaces = namespaces; } };\n");
+  }
+  fprintf(fd, "\t/// Destructor frees deserialized data and soap engine context\n\tvirtual ~%s() { if (soap) { soap_destroy(soap); soap_end(soap); soap_free(soap); } };\n", name1);
+  fflush(fd);
+  for (r = table->list; r; r = r->next)
+    if (r->info.typ->type == Tfun && !(r->info.sto & Sextern) && has_ns_eq(ns->name, r->sym->name))
+    { p = entry(table, r->sym);
+      if (p)
+        q = (Entry*)p->info.typ->ref;
+      else
+      { fprintf(stderr, "Internal error: no table entry\n");
+        return;
+      }
+      p = entry(classtable, r->sym);
+      if (!p)
+      { fprintf(stderr, "Internal error: no parameter table entry\n");
+        return;
+      }
+      output = (Table*)p->info.typ->ref;
+      /*
+      if ((s = strstr(r->sym->name, "__")))
+        s += 2;
+      else
+        s = r->sym->name;
+      fprintf(fd, "\tvirtual int %s(", s);
+      */
+      fprintf(fd, "\t/// Invoke '%s' of service '%s' and return error code (or SOAP_OK)\n", ns_remove(r->sym->name), name);
+      fprintf(fd, "\tvirtual int %s(", ident(r->sym->name));
+      flag = 0;
+      for (t = output; t; t = t->prev)
+      { p = t->list;
+        if (p)
+        { fprintf(fd, "%s%s", c_storage(p->info.sto), c_type_id(p->info.typ, p->sym->name));
+          for (p = p->next; p; p = p->next)
+            fprintf(fd, ", %s%s", c_storage(p->info.sto), c_type_id(p->info.typ, p->sym->name));
+	  flag = 1;
+        }
+      }
+      if (is_transient(q->info.typ))
+        fprintf(fd,") { return soap ? soap_send_%s(soap, endpoint, NULL", ident(r->sym->name));
+      else if (flag)
+        fprintf(fd,", %s%s) { return soap ? soap_call_%s(soap, endpoint, NULL", c_storage(q->info.sto), c_type_id(q->info.typ, q->sym->name), ident(r->sym->name));
+      else
+        fprintf(fd,"%s%s) { return soap ? soap_call_%s(soap, endpoint, NULL", c_storage(q->info.sto), c_type_id(q->info.typ, q->sym->name), ident(r->sym->name));
+      /* the action is now handled by the soap_call/soap_send operation when we pass NULL */
+      #if 0
+      m = NULL;
+      if (sp && (s = strstr(r->sym->name, "__")))
+        for (m = sp->list; m; m = m->next)
+          if (m->part && m->mess == ACTION && !strcmp(m->name, s+2))
+          { if (*m->part == '"')
+	      fprintf(fd, "%s", m->part);
+            else
+	      fprintf(fd, "\"%s\"", m->part);
+	    break;
+	  }
+      if (!m)
+        fprintf(fd, "NULL");
+      #endif
+      for (t = output; t; t = t->prev)
+        for (p = t->list; p; p = p->next)
+          fprintf(fd, ", %s", ident(p->sym->name));
+      if (is_transient(q->info.typ))
+        fprintf(fd,") : SOAP_EOM; };\n");
+      else
+        fprintf(fd,", %s) : SOAP_EOM; };\n", ident(q->sym->name));
+      fflush(fd);
+    }
+  fprintf(fd, "};");
+  if (namespaceid)
+    fprintf(fd,"\n\n} // namespace %s\n", namespaceid);
+  fprintf(fd, "\n#endif\n");
+}
+
+void
+gen_object(FILE *fd, Table *table, Symbol *ns, char *name, char *URL, char *executable, char *URI, char *encoding)
+{ char *name1;
+  Entry *method;
+  name1 = ns_cname(name, NULL);
+  fprintf(fd, "\n\n#ifndef %s%sObject_H\n#define %s%sObject_H\n#include \"%sH.h\"", prefix, name1, prefix, name1, prefix);
+  banner(fd, "Service Object");
+  if (namespaceid)
+    fprintf(fd,"\n\nnamespace %s {", namespaceid);
+  fprintf(fd, "\nclass %sService : public soap\n{    public:", name1);
+  fprintf(fd, "\n\t%sService()\n\t{ static const struct Namespace namespaces[] =\n", name1);
+  gen_nsmap(fd, ns, URI);
+  fprintf(fd, "\n\tthis->namespaces = namespaces; };");
+  fprintf(fd, "\n\tvirtual ~%sService() { };", name1);
+  fprintf(fd, "\n\t/// Bind service to port (returns master socket or SOAP_INVALID_SOCKET)");
+  fprintf(fd, "\n\tvirtual\tSOAP_SOCKET bind(const char *host, int port, int backlog) { return soap_bind(this, host, port, backlog); };");
+  fprintf(fd, "\n\t/// Accept next request (returns socket or SOAP_INVALID_SOCKET)");
+  fprintf(fd, "\n\tvirtual\tSOAP_SOCKET accept() { return soap_accept(this); };");
+  fprintf(fd, "\n#if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)");
+  fprintf(fd, "\n\t/// Then accept SSL handshake, when SSL is used");
+  fprintf(fd, "\n\tvirtual\tint ssl_accept() { return soap_ssl_accept(this); };");
+  fprintf(fd, "\n#endif");
+  fprintf(fd, "\n\t/// Serve this request (returns error code or SOAP_OK)");
+  if (nflag)
+    fprintf(fd, "\n\tvirtual\tint serve() { return %s_serve(this); };", prefix);
+  else
+    fprintf(fd, "\n\tvirtual\tint serve() { return soap_serve(this); };");
+  fprintf(fd, "\n};");
+  banner(fd, "Service Operations (you should define these globally)");
+  for (method = table->list; method; method = method->next)
+  { if (method->info.typ->type == Tfun && !(method->info.sto & Sextern))
+    { Entry *p, *q=entry(table, method->sym);
+      Table *output;
+      if (q)
+        p = (Entry*)q->info.typ->ref;
+      else
+      { fprintf(stderr, "Internal error: no table entry\n");
+        return;
+      }
+      q = entry(classtable, method->sym);
+      output = (Table*)q->info.typ->ref;
+      fprintf(fd, "\n\nSOAP_FMAC5 int SOAP_FMAC6 %s(struct soap*", ident(method->sym->name));
+      gen_params(fd, output, p, 1);
+      fprintf(fd, ";");
+    }
+  }
+  if (namespaceid)
+    fprintf(fd,"\n\n} // namespace %s\n", namespaceid);
+  fprintf(fd, "\n\n#endif\n");
+}
+
+void
+gen_proxy_header(FILE *fd, Table *table, Symbol *ns, char *name, char *URL, char *executable, char *URI, char *encoding)
+{ Entry *p, *method;
+  Table *t;
+  fprintf(fd, "\n\n#ifndef %s%s_H\n#define %s%s_H\n#include \"%sH.h\"", prefix, name, prefix, name, prefix);
+  if (namespaceid)
+    fprintf(fd,"\n\nnamespace %s {", namespaceid);
+  if (iflag)
+    fprintf(fd, "\n\nclass SOAP_CMAC %s : public soap\n{ public:", name);
+  else
+    fprintf(fd, "\n\nclass SOAP_CMAC %s\n{ public:", name);
+  if (!iflag)
+    fprintf(fd, "\n\tstruct soap *soap;\n\tbool own;");
+  fprintf(fd, "\n\t/// Endpoint URL of service '%s' (change as needed)", name);
+  fprintf(fd, "\n\tconst char *soap_endpoint;");
+  fprintf(fd, "\n\t/// Constructor");
+  fprintf(fd, "\n\t%s();", name);
+  if (iflag)
+  { fprintf(fd, "\n\t/// Construct from another engine state");
+    fprintf(fd, "\n\t%s(const struct soap&);", name);
+  }
+  else
+  { fprintf(fd, "\n\t/// Constructor to use/share an engine state");
+    fprintf(fd, "\n\t%s(struct soap*);", name);
+  }
+  fprintf(fd, "\n\t/// Constructor with endpoint URL");
+  fprintf(fd, "\n\t%s(const char *url);", name);
+  fprintf(fd, "\n\t/// Constructor with engine input+output mode control");
+  fprintf(fd, "\n\t%s(soap_mode iomode);", name);
+  fprintf(fd, "\n\t/// Constructor with URL and input+output mode control");
+  fprintf(fd, "\n\t%s(const char *url, soap_mode iomode);", name);
+  fprintf(fd, "\n\t/// Constructor with engine input and output mode control");
+  fprintf(fd, "\n\t%s(soap_mode imode, soap_mode omode);", name);
+  fprintf(fd, "\n\t/// Destructor frees deserialized data");
+  fprintf(fd, "\n\tvirtual\t~%s();", name);
+  fprintf(fd, "\n\t/// Initializer used by constructors");
+  fprintf(fd, "\n\tvirtual\tvoid %s_init(soap_mode imode, soap_mode omode);", name);
+  fprintf(fd, "\n\t/// Delete all deserialized data (with soap_destroy and soap_end)");
+  fprintf(fd, "\n\tvirtual\tvoid destroy();");
+  fprintf(fd, "\n\t/// Delete all deserialized data and reset to default");
+  fprintf(fd, "\n\tvirtual\tvoid reset();");
+  fprintf(fd, "\n\t/// Disables and removes SOAP Header from message");
+  fprintf(fd, "\n\tvirtual\tvoid soap_noheader();");
+  if (!namespaceid)
+  {
+  p = entry(classtable, lookup("SOAP_ENV__Header"));
+  if (p)
+  { t = (Table*)p->info.typ->ref;
+    if (t && t->list && !is_void(t->list->info.typ))
+    { fprintf(fd, "\n\t/// Put SOAP Header in message");
+      fprintf(fd, "\n\tvirtual\tvoid soap_header(");
+      gen_params(fd, t, NULL, 0);
+      fprintf(fd, ";");
+    }
+  }
+  }
+  fprintf(fd, "\n\t/// Get SOAP Header structure (NULL when absent)");
+  fprintf(fd, "\n\tvirtual\tconst SOAP_ENV__Header *soap_header();");
+  fprintf(fd, "\n\t/// Get SOAP Fault structure (NULL when absent)");
+  fprintf(fd, "\n\tvirtual\tconst SOAP_ENV__Fault *soap_fault();");
+  fprintf(fd, "\n\t/// Get SOAP Fault string (NULL when absent)");
+  fprintf(fd, "\n\tvirtual\tconst char *soap_fault_string();");
+  fprintf(fd, "\n\t/// Get SOAP Fault detail as string (NULL when absent)");
+  fprintf(fd, "\n\tvirtual\tconst char *soap_fault_detail();");
+  fprintf(fd, "\n\t/// Close connection (normally automatic, except for send_X ops)");
+  fprintf(fd, "\n\tvirtual\tint soap_close_socket();");
+  fprintf(fd, "\n\t/// Force close connection (can kill a thread blocked on IO)");
+  fprintf(fd, "\n\tvirtual\tint soap_force_close_socket();");
+  fprintf(fd, "\n\t/// Print fault");
+  fprintf(fd, "\n\tvirtual\tvoid soap_print_fault(FILE*);");
+  fprintf(fd, "\n#ifndef WITH_LEAN\n\t/// Print fault to stream");
+  fprintf(fd, "\n#ifndef WITH_COMPAT");
+  fprintf(fd, "\n\tvirtual\tvoid soap_stream_fault(std::ostream&);");
+  fprintf(fd, "\n#endif\n");
+  fprintf(fd, "\n\t/// Put fault into buffer");
+  fprintf(fd, "\n\tvirtual\tchar *soap_sprint_fault(char *buf, size_t len);\n#endif");
+  for (method = table->list; method; method = method->next)
+    if (method->info.typ->type == Tfun && !(method->info.sto & Sextern) && has_ns_eq(ns->name, method->sym->name))
+      gen_method(fd, table, method, 0);
+  fprintf(fd, "\n};");
+  if (namespaceid)
+    fprintf(fd,"\n\n} // namespace %s\n", namespaceid);
+  fprintf(fd, "\n#endif\n");
+}
+
+void
+gen_proxy_code(FILE *fd, Table *table, Symbol *ns, char *name, char *URL, char *executable, char *URI, char *encoding)
+{ Entry *p, *method, *param;
+  Table *t;
+  char *soap;
+  if (iflag)
+    soap = "this";
+  else
+    soap = "this->soap";
+  fprintf(fd, "\n\n#include \"%s%s.h\"", prefix, name);
+  if (namespaceid)
+    fprintf(fd,"\n\nnamespace %s {", namespaceid);
+  if (iflag)
+  { fprintf(fd, "\n\n%s::%s()\n{\t%s_init(SOAP_IO_DEFAULT, SOAP_IO_DEFAULT);\n}", name, name, name);
+    fprintf(fd, "\n\n%s::%s(const struct soap &_soap) : soap(_soap)\n{ }", name, name);
+    fprintf(fd, "\n\n%s::%s(const char *url)\n{\t%s_init(SOAP_IO_DEFAULT, SOAP_IO_DEFAULT);\n\tsoap_endpoint = url;\n}", name, name, name);
+    fprintf(fd, "\n\n%s::%s(soap_mode iomode)\n{\t%s_init(iomode, iomode);\n}", name, name, name);
+    fprintf(fd, "\n\n%s::%s(const char *url, soap_mode iomode)\n{\t%s_init(iomode, iomode);\n\tsoap_endpoint = url;\n}", name, name, name);
+    fprintf(fd, "\n\n%s::%s(soap_mode imode, soap_mode omode)\n{\t%s_init(imode, omode);\n}", name, name, name);
+    fprintf(fd, "\n\n%s::~%s()\n{ }", name, name);
+  }
+  else
+  { fprintf(fd, "\n\n%s::%s()\n{\tthis->soap = soap_new();\n\tthis->own = true;\n\t%s_init(SOAP_IO_DEFAULT, SOAP_IO_DEFAULT);\n}", name, name, name);
+    fprintf(fd, "\n\n%s::%s(struct soap *_soap)\n{\tthis->soap = _soap;\n\tthis->own = false;\n\t%s_init(_soap->imode, _soap->omode);\n}", name, name, name);
+    fprintf(fd, "\n\n%s::%s(const char *url)\n{\tthis->soap = soap_new();\n\tthis->own = true;\n\t%s_init(SOAP_IO_DEFAULT, SOAP_IO_DEFAULT);\n\tsoap_endpoint = url;\n}", name, name, name);
+    fprintf(fd, "\n\n%s::%s(soap_mode iomode)\n{\tthis->soap = soap_new();\n\tthis->own = true;\n\t%s_init(iomode, iomode);\n}", name, name, name);
+    fprintf(fd, "\n\n%s::%s(const char *url, soap_mode iomode)\n{\tthis->soap = soap_new();\n\tthis->own = true;\n\t%s_init(iomode, iomode);\n\tsoap_endpoint = url;\n}", name, name, name);
+    fprintf(fd, "\n\n%s::%s(soap_mode imode, soap_mode omode)\n{\tthis->soap = soap_new();\n\tthis->own = true;\n\t%s_init(imode, omode);\n}", name, name, name);
+    fprintf(fd, "\n\n%s::~%s()\n{\tif (this->own)\n\t\tsoap_free(this->soap);\n}", name, name);
+  }
+  fprintf(fd, "\n\nvoid %s::%s_init(soap_mode imode, soap_mode omode)\n{\tsoap_imode(%s, imode);\n\tsoap_omode(%s, omode);\n\tsoap_endpoint = NULL;\n\tstatic const struct Namespace namespaces[] =\n", name, name, soap, soap);
+  gen_nsmap(fd, ns, URI);
+  fprintf(fd, "\tsoap_set_namespaces(%s, namespaces);\n}", soap);
+  fprintf(fd, "\n\nvoid %s::destroy()\n{\tsoap_destroy(%s);\n\tsoap_end(%s);\n}", name, soap, soap);
+  fprintf(fd, "\n\nvoid %s::reset()\n{\tdestroy();\n\tsoap_done(%s);\n\tsoap_initialize(%s);\n\t%s_init(SOAP_IO_DEFAULT, SOAP_IO_DEFAULT);\n}", name, soap, soap, name);
+  fprintf(fd, "\n\nvoid %s::soap_noheader()\n{\t%s->header = NULL;\n}", name, soap);
+  if (!namespaceid)
+  {
+  p = entry(classtable, lookup("SOAP_ENV__Header"));
+  if (p)
+  { t = (Table*)p->info.typ->ref;
+    if (t && t->list && !is_void(t->list->info.typ))
+    { fprintf(fd, "\n\nvoid %s::soap_header(", name);
+      gen_params(fd, t, NULL, 0);
+      fprintf(fd, "\n{\t::soap_header(%s);", soap);
+      for (param = t->list; param; param = param->next)
+      { if (namespaceid)
+          fprintf(fd, "\n\t((%s::SOAP_ENV__Header*)%s->header)->%s = %s;", namespaceid, soap, ident(param->sym->name), ident(param->sym->name));
+        else
+          fprintf(fd, "\n\t%s->header->%s = %s;", soap, ident(param->sym->name), ident(param->sym->name));
+      }
+      fprintf(fd, "\n}");
+    }
+  }
+  }
+  fprintf(fd, "\n\nconst SOAP_ENV__Header *%s::soap_header()\n{\treturn %s->header;\n}", name, soap);
+  fprintf(fd, "\n\nconst SOAP_ENV__Fault *%s::soap_fault()\n{\treturn %s->fault;\n}", name, soap);
+  fprintf(fd, "\n\nconst char *%s::soap_fault_string()\n{\treturn *soap_faultstring(%s);\n}", name, soap);
+  fprintf(fd, "\n\nconst char *%s::soap_fault_detail()\n{\treturn *soap_faultdetail(%s);\n}", name, soap);
+  fprintf(fd, "\n\nint %s::soap_close_socket()\n{\treturn soap_closesock(%s);\n}", name, soap);
+  fprintf(fd, "\n\nint %s::soap_force_close_socket()\n{\treturn soap_force_closesock(%s);\n}", name, soap);
+  fprintf(fd, "\n\nvoid %s::soap_print_fault(FILE *fd)\n{\t::soap_print_fault(%s, fd);\n}", name, soap);
+  fprintf(fd, "\n\n#ifndef WITH_LEAN\n#ifndef WITH_COMPAT\nvoid %s::soap_stream_fault(std::ostream& os)\n{\t::soap_stream_fault(%s, os);\n}\n#endif", name, soap);
+  fprintf(fd, "\n\nchar *%s::soap_sprint_fault(char *buf, size_t len)\n{\treturn ::soap_sprint_fault(%s, buf, len);\n}\n#endif", name, soap);
+  for (method = table->list; method; method = method->next)
+    if (method->info.typ->type == Tfun && !(method->info.sto & Sextern) && !is_imported(method->info.typ) && has_ns_eq(ns->name, method->sym->name))
+      gen_call_method(fd, table, method, name);
+  if (namespaceid)
+    fprintf(fd,"\n\n} // namespace %s\n", namespaceid);
+  fprintf(fd,"\n/* End of client proxy code */\n");
+}
+
+void
+gen_object_header(FILE *fd, Table *table, Symbol *ns, char *name, char *URL, char *executable, char *URI, char *encoding)
+{ Entry *p, *method;
+  Table *t;
+  fprintf(fd, "\n\n#ifndef %s%s_H\n#define %s%s_H\n#include \"%sH.h\"", prefix, name, prefix, name, prefix);
+  if (namespaceid)
+    fprintf(fd,"\n\nnamespace %s {", namespaceid);
+  if (iflag)
+    fprintf(fd, "\nclass SOAP_CMAC %s : public soap\n{ public:", name);
+  else
+  { fprintf(fd, "\nclass SOAP_CMAC %s\n{ public:", name);
+    fprintf(fd, "\n\tstruct soap *soap;\n\tbool own;");
+  }
+  fprintf(fd, "\n\t/// Constructor");
+  fprintf(fd, "\n\t%s();", name);
+  if (iflag)
+  { fprintf(fd, "\n\t/// Construct from another engine state");
+    fprintf(fd, "\n\t%s(const struct soap&);", name);
+  }
+  else
+  { fprintf(fd, "\n\t/// Constructor to use/share an engine state");
+    fprintf(fd, "\n\t%s(struct soap*);", name);
+  }
+  fprintf(fd, "\n\t/// Constructor with engine input+output mode control");
+  fprintf(fd, "\n\t%s(soap_mode iomode);", name);
+  fprintf(fd, "\n\t/// Constructor with engine input and output mode control");
+  fprintf(fd, "\n\t%s(soap_mode imode, soap_mode omode);", name);
+  fprintf(fd, "\n\t/// Destructor, also frees all deserialized data");
+  fprintf(fd, "\n\tvirtual ~%s();", name);
+  fprintf(fd, "\n\t/// Delete all deserialized data (with soap_destroy and soap_end)");
+  fprintf(fd, "\n\tvirtual\tvoid destroy();");
+  fprintf(fd, "\n\t/// Delete all deserialized data and reset to defaults");
+  fprintf(fd, "\n\tvirtual\tvoid reset();");
+  fprintf(fd, "\n\t/// Initializer used by constructor");
+  fprintf(fd, "\n\tvirtual\tvoid %s_init(soap_mode imode, soap_mode omode);", name);
+  fprintf(fd, "\n\t/// Create a copy");
+  fprintf(fd, "\n\tvirtual\t%s *copy() SOAP_PURE_VIRTUAL;", name);
+  fprintf(fd, "\n\t/// Close connection (normally automatic)");
+  fprintf(fd, "\n\tvirtual\tint soap_close_socket();");
+  fprintf(fd, "\n\t/// Force close connection (can kill a thread blocked on IO)");
+  fprintf(fd, "\n\tvirtual\tint soap_force_close_socket();");
+  fprintf(fd, "\n\t/// Return sender-related fault to sender");
+  fprintf(fd, "\n\tvirtual\tint soap_senderfault(const char *string, const char *detailXML);");
+  fprintf(fd, "\n\t/// Return sender-related fault with SOAP 1.2 subcode to sender");
+  fprintf(fd, "\n\tvirtual\tint soap_senderfault(const char *subcodeQName, const char *string, const char *detailXML);");
+  fprintf(fd, "\n\t/// Return receiver-related fault to sender");
+  fprintf(fd, "\n\tvirtual\tint soap_receiverfault(const char *string, const char *detailXML);");
+  fprintf(fd, "\n\t/// Return receiver-related fault with SOAP 1.2 subcode to sender");
+  fprintf(fd, "\n\tvirtual\tint soap_receiverfault(const char *subcodeQName, const char *string, const char *detailXML);");
+  fprintf(fd, "\n\t/// Print fault");
+  fprintf(fd, "\n\tvirtual\tvoid soap_print_fault(FILE*);");
+  fprintf(fd, "\n#ifndef WITH_LEAN\n\t/// Print fault to stream");
+  fprintf(fd, "\n#ifndef WITH_COMPAT");
+  fprintf(fd, "\n\tvirtual\tvoid soap_stream_fault(std::ostream&);");
+  fprintf(fd, "\n#endif");
+  fprintf(fd, "\n\t/// Put fault into buffer");
+  fprintf(fd, "\n\tvirtual\tchar *soap_sprint_fault(char *buf, size_t len);\n#endif");
+  fprintf(fd, "\n\t/// Disables and removes SOAP Header from message");
+  fprintf(fd, "\n\tvirtual\tvoid soap_noheader();");
+  if (!namespaceid)
+  {
+  p = entry(classtable, lookup("SOAP_ENV__Header"));
+  if (p)
+  { t = (Table*)p->info.typ->ref;
+    if (t && t->list && !is_void(t->list->info.typ))
+    { fprintf(fd, "\n\t/// Put SOAP Header in message");
+      fprintf(fd, "\n\tvirtual\tvoid soap_header(");
+      gen_params(fd, t, NULL, 0);
+      fprintf(fd, ";");
+    }
+  }
+  }
+  fprintf(fd, "\n\t/// Get SOAP Header structure (NULL when absent)");
+  fprintf(fd, "\n\tvirtual\tconst SOAP_ENV__Header *soap_header();");
+  fprintf(fd, "\n\t/// Run simple single-thread iterative service on port until a connection error occurs (returns error code or SOAP_OK), use this->bind_flag = SO_REUSEADDR to rebind for a rerun");
+  fprintf(fd, "\n\tvirtual\tint run(int port);");
+  fprintf(fd, "\n\t/// Bind service to port (returns master socket or SOAP_INVALID_SOCKET)");
+  fprintf(fd, "\n\tvirtual\tSOAP_SOCKET bind(const char *host, int port, int backlog);");
+  fprintf(fd, "\n\t/// Accept next request (returns socket or SOAP_INVALID_SOCKET)");
+  fprintf(fd, "\n\tvirtual\tSOAP_SOCKET accept();");
+  fprintf(fd, "\n#if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)");
+  fprintf(fd, "\n\t/// Then accept SSL handshake, when SSL is used");
+  fprintf(fd, "\n\tvirtual\tint ssl_accept();");
+  fprintf(fd, "\n#endif");
+  fprintf(fd, "\n\t/// Serve this request (returns error code or SOAP_OK)");
+  fprintf(fd, "\n\tvirtual\tint serve();");
+  fprintf(fd, "\n\t/// Used by serve() to dispatch a request (returns error code or SOAP_OK)");
+  fprintf(fd, "\n\tvirtual\tint dispatch();");
+  fprintf(fd, "\n\n\t///\n\t/// Service operations (you should define these):\n\t/// Note: compile with -DWITH_PURE_VIRTUAL for pure virtual methods\n\t///");
+  for (method = table->list; method; method = method->next)
+    if (method->info.typ->type == Tfun && !(method->info.sto & Sextern) && has_ns_eq(ns->name, method->sym->name))
+      gen_method(fd, table, method, 1);
+  fprintf(fd, "\n};");
+  if (namespaceid)
+    fprintf(fd,"\n\n} // namespace %s\n", namespaceid);
+  fprintf(fd, "\n#endif\n");
+}
+
+void
+gen_method(FILE *fd, Table *table, Entry *method, int server)
+{ Table *params;
+  Entry *result, *p; 
+  char *soap;
+  if (iflag)
+    soap = "this";
+  else
+    soap = "this->soap";
+  result = (Entry*)method->info.typ->ref;
+  p = entry(classtable, method->sym);
+  if (!p)
+    execerror("no table entry");
+  params = (Table*)p->info.typ->ref;
+  if (server || !is_transient(result->info.typ))
+  { if (is_transient(result->info.typ))
+      fprintf(fd, "\n\n\t/// Web service one-way operation '%s' (return error code, SOAP_OK (no response), or send_%s_empty_response())", ns_remove(method->sym->name), ns_remove(method->sym->name));
+    else
+      fprintf(fd, "\n\n\t/// Web service operation '%s' (returns error code or SOAP_OK)", ns_remove(method->sym->name));
+    fprintf(fd, "\n\tvirtual\tint %s(", ns_cname(method->sym->name, NULL));
+    gen_params(fd, params, result, 0);
+    if (!server)
+    { fprintf(fd, " { return this->%s(NULL, NULL", ns_cname(method->sym->name, NULL));
+      gen_args(fd, params, result, 1);
+      fprintf(fd, "; }");
+      fprintf(fd, "\n\tvirtual\tint %s(const char *endpoint, const char *soap_action", ns_cname(method->sym->name, NULL));
+    gen_params(fd, params, result, 1);
+    }
+    if (server)
+      fprintf(fd, " SOAP_PURE_VIRTUAL;");
+    else
+      fprintf(fd, ";");
+    if (is_transient(result->info.typ))
+      fprintf(fd, "\n\tvirtual\tint send_%s_empty_response(int httpcode) { return soap_send_empty_response(%s, httpcode); }", ns_cname(method->sym->name, NULL), soap);
+  }
+  else
+  { fprintf(fd, "\n\n\t/// Web service one-way send operation 'send_%s' (returns error code or SOAP_OK)", ns_remove(method->sym->name));
+    fprintf(fd, "\n\tvirtual\tint send_%s(", ns_cname(method->sym->name, NULL));
+    gen_params(fd, params, result, 0);
+    fprintf(fd, " { return this->send_%s(NULL, NULL", ns_cname(method->sym->name, NULL));
+    gen_args(fd, params, result, 1);
+    fprintf(fd, "; }");
+    fprintf(fd, "\n\tvirtual\tint send_%s(const char *endpoint, const char *soap_action", ns_cname(method->sym->name, NULL));
+    gen_params(fd, params, result, 1);
+    fprintf(fd, ";\n\t/// Web service one-way receive operation 'recv_%s' (returns error code or SOAP_OK)", ns_remove(method->sym->name));
+    fprintf(fd, ";\n\tvirtual\tint recv_%s(", ns_cname(method->sym->name, NULL));
+    fprintf(fd, "struct %s&);", ident(method->sym->name));
+    fprintf(fd, "\n\t/// Web service receive of HTTP Accept acknowledgment for one-way send operation 'send_%s' (returns error code or SOAP_OK)", ns_remove(method->sym->name));
+    fprintf(fd, "\n\tvirtual\tint recv_%s_empty_response() { return soap_recv_empty_response(%s); }", ns_cname(method->sym->name, NULL), soap);
+    fprintf(fd, "\n\t/// Web service one-way synchronous send operation '%s' with HTTP Accept/OK response receive (returns error code or SOAP_OK)", ns_remove(method->sym->name));
+    fprintf(fd, "\n\tvirtual\tint %s(", ns_cname(method->sym->name, NULL));
+    gen_params(fd, params, result, 0);
+    fprintf(fd, " { return this->%s(NULL, NULL", ns_cname(method->sym->name, NULL));
+    gen_args(fd, params, result, 1);
+    fprintf(fd, "; }");
+    fprintf(fd, "\n\tvirtual\tint %s(const char *endpoint, const char *soap_action", ns_cname(method->sym->name, NULL));
+    gen_params(fd, params, result, 1);
+    fprintf(fd, " { if (this->send_%s(endpoint, soap_action", ns_cname(method->sym->name, NULL));
+    gen_args(fd, params, result, 1);
+    fprintf(fd, " || soap_recv_empty_response(%s)) return %s->error; return SOAP_OK; }", soap, soap);
+  }
+}
+
+void
+gen_params(FILE *fd, Table *params, Entry *result, int flag)
+{ Entry *param;
+  for (param = params->list; param; param = param->next)
+    fprintf(fd, "%s%s%s", flag || param != params->list ? ", " : "", c_storage(param->info.sto), c_type_id(param->info.typ, param->sym->name));
+  if (!result || is_transient(result->info.typ))
+    fprintf(fd, ")");
+  else
+    fprintf(fd, "%s%s%s)", flag || params->list ? ", " : "", c_storage(result->info.sto), c_type_id(result->info.typ, result->sym->name));
+}
+
+void
+gen_args(FILE *fd, Table *params, Entry *result, int flag)
+{ Entry *param;
+  for (param = params->list; param; param = param->next)
+    fprintf(fd, "%s%s", flag || param != params->list ? ", " : "", param->sym->name);
+  if (!result || is_transient(result->info.typ))
+    fprintf(fd, ")");
+  else
+    fprintf(fd, "%s%s)", flag || params->list ? ", " : "", result->sym->name);
+}
+
+void
+gen_query_url(FILE *fd, Table *params)
+{ Entry *param;
+  int flag = 0;
+  fprintf(fd, "\n\tif (\n#ifdef HAVE_SNPRINTF\n\tsoap_snprintf(soap->msgbuf, sizeof(soap->msgbuf),\n#else\n\tsprintf(soap->msgbuf,\n#endif\n\t\t\"%%s?");
+  for (param = params->list; param; param = param->next)
+    if (!is_transient(param->info.typ) && is_primitive_or_string(param->info.typ))
+      fprintf(fd, "%s%s=%s", flag++ ? "&" : "", ns_remove(param->sym->name), gen_format(fd, param->info.typ));
+  fprintf(fd, "\", soap_endpoint");
+  for (param = params->list; param; param = param->next)
+  { if (!is_transient(param->info.typ) && is_primitive_or_string(param->info.typ))
+    { if (is_stdstring(param->info.typ))
+        fprintf(fd, ", soap_encode_url_string(soap, %s.c_str())", ident(param->sym->name));
+      else if (is_string(param->info.typ))
+        fprintf(fd, ", soap_encode_url_string(soap, %s)", ident(param->sym->name));
+      else if (is_primitive(param->info.typ))
+        fprintf(fd, ", %s", ident(param->sym->name));
+    }
+  }
+  fprintf(fd, ") < 0)\n\t{\tsoap->error = SOAP_EOM;\n\t\treturn soap_closesock(soap);\n\t}");
+}
+
+void
+gen_query_form(FILE *fd, Table *params)
+{ Entry *param;
+  int flag = 0;
+  fprintf(fd, "\n\tif (");
+  for (param = params->list; param; param = param->next)
+  { if (!is_transient(param->info.typ) && is_primitive_or_string(param->info.typ))
+    { fprintf(fd, "soap_send(soap, \"%s%s=\")", flag++ ? "&" : "", ns_remove(param->sym->name));
+      if (is_stdstring(param->info.typ))
+        fprintf(fd, " || soap_send(soap, soap_encode_url_string(soap, %s.c_str()))\n\t || ", ident(param->sym->name));
+      else if (is_string(param->info.typ))
+        fprintf(fd, " || soap_send(soap_encode_url_string(soap, %s))\n\t || ", ident(param->sym->name));
+      else if (is_primitive(param->info.typ))
+        fprintf(fd, " || soap_send(soap, soap_%s2s(soap, %s))\n\t || ", c_ident(param->info.typ), ident(param->sym->name));
+    }
+  }
+}
+
+const char*
+gen_format(FILE *fd, Tnode *typ)
+{ if (is_string(typ) || is_stdstring(typ))
+    return "%s";
+  switch (typ->type)
+  { case Tchar:   return "%hhd";
+    case Tshort:  return "%hd";
+    case Tint:    return "%d";
+    case Tlong:   return "%ld";
+    case Tllong:  return SOAP_LONG_FORMAT;
+    case Tfloat:  return "%.9G";
+    case Tdouble: return "%.17lG";
+    case Tuchar:  return "%hhu";
+    case Tushort: return "%hu";
+    case Tuint:   return "%u";
+    case Tulong:  return "%lu";
+    case Tullong: return SOAP_ULONG_FORMAT;
+    default:      return "";
+  }
+}
+
+void
+gen_call_method(FILE *fd, Table *table, Entry *method, char *name)
+{ Service *sp;
+  Method *m;
+  int soap = (vflag >= 0);
+  int version = vflag;
+  int get = 0;
+  int put = 0;
+  int post = 0;
+  int mime = 0;
+  const char *style, *encoding;
+  const char *xtag, *xtyp;
+  const char *action = NULL, *method_encoding = NULL, *method_response_encoding = NULL;
+  Table *params;
+  Entry *param, *result, *p, *response = NULL; 
+  result = (Entry*)method->info.typ->ref;
+  p = entry(classtable, method->sym);
+  if (!p)
+    execerror("no table entry");
+  params = (Table*)p->info.typ->ref;
+  if (!is_response(result->info.typ) && !is_XML(result->info.typ))
+    response = get_response(method->info.typ);
+  if (name)
+  { if (!is_transient(result->info.typ))
+      fprintf(fd, "\n\nint %s::%s(const char *endpoint, const char *soap_action", name, ns_cname(method->sym->name, NULL));
+    else
+      fprintf(fd, "\n\nint %s::send_%s(const char *endpoint, const char *soap_action", name, ns_cname(method->sym->name, NULL));
+    gen_params(fd, params, result, 1);
+  }
+  else if (!is_transient(result->info.typ))
+  { fprintf(fheader, "\n\nSOAP_FMAC5 int SOAP_FMAC6 soap_call_%s(struct soap *soap, const char *soap_endpoint, const char *soap_action", ident(method->sym->name));
+    gen_params(fheader, params, result, 1);
+    fprintf(fd, "\n\nSOAP_FMAC5 int SOAP_FMAC6 soap_call_%s(struct soap *soap, const char *soap_endpoint, const char *soap_action", ident(method->sym->name));
+    gen_params(fd, params, result, 1);
+  }
+  else
+  { fprintf(fheader, "\n\nSOAP_FMAC5 int SOAP_FMAC6 soap_send_%s(struct soap *soap, const char *soap_endpoint, const char *soap_action", ident(method->sym->name));
+    gen_params(fheader, params, result, 1);
+    fprintf(fd, "\n\nSOAP_FMAC5 int SOAP_FMAC6 soap_send_%s(struct soap *soap, const char *soap_endpoint, const char *soap_action", ident(method->sym->name));
+    gen_params(fd, params, result, 1);
+  }
+  if (name)
+  { if (iflag)
+      fprintf(fd, "\n{\tstruct soap *soap = this;\n");
+    else
+      fprintf(fd, "\n{\tstruct soap *soap = this->soap;\n");
+  }
+  else
+  { fprintf(fheader, ";");
+    fprintf(fd, "\n{");
+  }
+  for (sp = services; sp; sp = sp->next)
+  { if (has_ns_eq(sp->ns, method->sym->name))
+    { style = sp->style;
+      encoding = sp->encoding;
+      method_encoding = encoding;
+      method_response_encoding = NULL;
+      if (sp->protocol)
+          { if (strstr(sp->protocol, "GET"))
+	      get = 1;
+            else if (strstr(sp->protocol, "POST"))
+	      post = 1;
+            else if (strstr(sp->protocol, "PUT"))
+	      put = 1;
+            if (strncmp(sp->protocol, "SOAP", 4))
+	      soap = 0;
+	    else if (strlen(sp->protocol) > 6)
+	      version = sp->protocol[6] - '0';
+	  }
+      for (m = sp->list; m; m = m->next)
+      { if (is_eq_nons(m->name, method->sym->name))
+        { if (m->mess == ACTION || m->mess == REQUEST_ACTION)
+            action = m->part;
+          else if (m->mess == ENCODING)
+            method_encoding = m->part;
+          else if (m->mess == RESPONSE_ENCODING)
+            method_response_encoding = m->part;
+          else if (m->mess == PROTOCOL)
+          { if (strstr(m->part, "GET"))
+	      get = 1;
+            else if (strstr(m->part, "POST"))
+	      post = 1;
+            else if (strstr(m->part, "PUT"))
+	      put = 1;
+            if (strncmp(m->part, "SOAP", 4))
+	      soap = 0;
+	    else if (strlen(m->part) > 6)
+	      version = m->part[6] - '0';
+	  }
+	  else if (m->mess&MIMEIN && !strcmp(m->part, "application/x-www-form-urlencoded"))
+            mime = 1;
+        }
+      }
+      break;
+    }
+  }
+  if (!get && !mime)
+    fprintf(fd, "\tstruct %s soap_tmp_%s;", ident(method->sym->name), ident(method->sym->name));
+  if (response)
+    fprintf(fd, "\n\tstruct %s *soap_tmp_%s;", c_ident(response->info.typ), c_ident(response->info.typ));
+  if (name)
+    fprintf(fd, "\n\tif (endpoint)\n\t\tsoap_endpoint = endpoint;");
+  if (sp && sp->URL)
+    fprintf(fd, "\n\tif (soap_endpoint == NULL)\n\t\tsoap_endpoint = \"%s\";", sp->URL);
+  if (action)
+  { fprintf(fd, "\n\tif (soap_action == NULL)\n\t\tsoap_action = ");
+    if (*action == '"')
+      fprintf(fd, "%s;", action);
+    else
+      fprintf(fd, "\"%s\";", action);
+  }
+  if (!method_response_encoding)
+    method_response_encoding = method_encoding;
+  if (!get && !mime)
+  { fprintf(fd, "\n\tsoap_begin(soap);");
+    if (soap && sp && sp->URI && method_encoding)
+    { if (is_literal(method_encoding))
+        fprintf(fd, "\n\tsoap->encodingStyle = NULL;");
+      else if (method_encoding)
+        fprintf(fd, "\n\tsoap->encodingStyle = \"%s\";", method_encoding);
+    }
+    else if (!soap || !eflag)
+      fprintf(fd, "\n\tsoap->encodingStyle = NULL;");
+    for (param = params->list; param; param = param->next)
+    { if (param->info.typ->type == Tarray)
+        fprintf(fd, "\n\tmemcpy(soap_tmp_%s.%s, %s, sizeof(%s));", ident(method->sym->name), ident(param->sym->name), ident(param->sym->name), c_type(param->info.typ));
+      else
+        fprintf(fd, "\n\tsoap_tmp_%s.%s = %s;", ident(method->sym->name), ident(param->sym->name), ident(param->sym->name));
+    }	
+    if (!soap)
+      fprintf(fd, "\n\tsoap_set_version(soap, 0); /* no SOAP */");
+    else if (version)
+      fprintf(fd, "\n\tsoap_set_version(soap, %d); /* SOAP1.%d */", version, version);
+    if (soap)
+      fprintf(fd, "\n\tsoap_serializeheader(soap);");
+    fprintf(fd, "\n\tsoap_serialize_%s(soap, &soap_tmp_%s);", ident(method->sym->name), ident(method->sym->name));
+    fprintf(fd, "\n\tif (soap_begin_count(soap))\n\t\treturn soap->error;");
+    fprintf(fd, "\n\tif (soap->mode & SOAP_IO_LENGTH)");
+    fprintf(fd, "\n\t{\tif (soap_envelope_begin_out(soap)");
+    if (soap)
+    { fprintf(fd, "\n\t\t || soap_putheader(soap)");
+      fprintf(fd, "\n\t\t || soap_body_begin_out(soap)");
+    }
+    fprintf(fd, "\n\t\t || soap_put_%s(soap, &soap_tmp_%s, \"%s\", NULL)", ident(method->sym->name), ident(method->sym->name), ns_convert(method->sym->name)); 
+    if (soap)
+      fprintf(fd, "\n\t\t || soap_body_end_out(soap)");
+    fprintf(fd, "\n\t\t || soap_envelope_end_out(soap))");
+    fprintf(fd, "\n\t\t\t return soap->error;");
+    fprintf(fd, "\n\t}");
+    fprintf(fd, "\n\tif (soap_end_count(soap))\n\t\treturn soap->error;");
+    if (soap)
+      fprintf(fd, "\n\tif (soap_connect(soap, soap_url(soap, soap_endpoint, NULL), soap_action)");
+    else
+    { fprintf(fd, "\n\tsoap->http_content = \"text/xml\";");
+      if (put)
+        fprintf(fd, "\n\tif (soap_connect_command(soap, SOAP_PUT, soap_url(soap, soap_endpoint, soap_action), soap_action)");
+      else
+        fprintf(fd, "\n\tif (soap_connect_command(soap, SOAP_POST_FILE, soap_url(soap, soap_endpoint, soap_action), soap_action)");
+    }
+    fprintf(fd, "\n\t || soap_envelope_begin_out(soap)");
+    if (soap)
+    { fprintf(fd, "\n\t || soap_putheader(soap)");
+      fprintf(fd, "\n\t || soap_body_begin_out(soap)");
+    }
+    fprintf(fd, "\n\t || soap_put_%s(soap, &soap_tmp_%s, \"%s\", NULL)", ident(method->sym->name), ident(method->sym->name), ns_convert(method->sym->name)); 
+    if (soap)
+      fprintf(fd, "\n\t || soap_body_end_out(soap)");
+    fprintf(fd, "\n\t || soap_envelope_end_out(soap)");
+    fprintf(fd, "\n\t || soap_end_send(soap))");
+    fprintf(fd, "\n\t\treturn soap_closesock(soap);");
+  }
+  else if (get)
+  { if (params->list)
+    { gen_query_url(fd, params);
+      fprintf(fd, "\n\tif (soap_connect_command(soap, SOAP_GET, soap->msgbuf, soap_action))");
+    }
+    else if (soap)
+      fprintf(fd, "\n\tif (soap_connect_command(soap, SOAP_GET, soap_url(soap, soap_endpoint, NULL), soap_action))");
+    else
+      fprintf(fd, "\n\tif (soap_connect_command(soap, SOAP_GET, soap_url(soap, soap_endpoint, soap_action), soap_action))");
+    fprintf(fd, "\n\t\treturn soap_closesock(soap);");
+  }
+  else if (mime)
+  { fprintf(fd, "\n\tsoap->http_content = \"application/x-www-form-urlencoded\";");
+    if (post)
+      fprintf(fd, "\n\tif (soap_connect_command(soap, SOAP_POST_FILE, soap_url(soap, soap_endpoint, soap_action), soap_action))");
+    else if (put)
+      fprintf(fd, "\n\tif (soap_connect_command(soap, SOAP_PUT, soap_url(soap, soap_endpoint, soap_action), soap_action))");
+    fprintf(fd, "\n\t\treturn soap_closesock(soap);");
+    gen_query_form(fd, params);
+    fprintf(fd, "soap_end_send(soap))\n\t\treturn soap_closesock(soap);");
+  }
+  if (is_transient(result->info.typ))
+  { fprintf(fd, "\n\treturn SOAP_OK;\n}");
+    if (name)
+    { fprintf(fd, "\n\nint %s::recv_%s(", name, ns_cname(method->sym->name, NULL));
+      fprintf(fd, "struct %s& tmp)", ident(method->sym->name));
+      if (iflag)
+        fprintf(fd, "\n{\tstruct soap *soap = this;\n");
+      else
+        fprintf(fd, "\n{\tstruct soap *soap = this->soap;\n");
+      fprintf(fd, "\n\tstruct %s *%s = &tmp;", ident(method->sym->name), ident(result->sym->name));
+    }
+    else
+    { fprintf(fheader, "\n\nSOAP_FMAC5 int SOAP_FMAC6 soap_recv_%s(struct soap *soap, ", ident(method->sym->name));
+      fprintf(fd, "\n\nSOAP_FMAC5 int SOAP_FMAC6 soap_recv_%s(struct soap *soap, ", ident(method->sym->name));
+      fprintf(fheader, "struct %s *%s);\n", ident(method->sym->name), ident(result->sym->name));
+      fprintf(fd, "struct %s *%s)\n{", ident(method->sym->name), ident(result->sym->name));
+    }
+    fprintf(fd, "\n\tsoap_default_%s(soap, %s);", ident(method->sym->name), ident(result->sym->name));
+    fprintf(fd, "\n\tsoap_begin(soap);");
+  }
+  else if (result->info.typ->type == Tarray)
+    fprintf(fd, "\n\tsoap_default_%s(soap, %s);", c_ident(result->info.typ), ident(result->sym->name));
+  else if (result->info.typ->type == Treference && ((Tnode*)result->info.typ->ref)->type == Tclass && !is_external((Tnode*)result->info.typ->ref) && !is_volatile((Tnode*)result->info.typ->ref))
+    fprintf(fd, "\n\tif (!&%s)\n\t\treturn soap_closesock(soap);\n\t%s.soap_default(soap);", ident(result->sym->name), ident(result->sym->name));
+  else if (((Tnode*)result->info.typ->ref)->type == Tclass && !is_external((Tnode*)result->info.typ->ref) && !is_volatile((Tnode*)result->info.typ->ref))
+    fprintf(fd, "\n\tif (!%s)\n\t\treturn soap_closesock(soap);\n\t%s->soap_default(soap);", ident(result->sym->name), ident(result->sym->name));
+  else if (result->info.typ->type == Treference && ((Tnode*)result->info.typ->ref)->type == Tpointer)
+    fprintf(fd, "\n\t%s = NULL;", ident(result->sym->name));
+  else if (((Tnode*)result->info.typ->ref)->type == Tpointer)
+    fprintf(fd, "\n\tif (!%s)\n\t\treturn soap_closesock(soap);\n\t*%s = NULL;", ident(result->sym->name), ident(result->sym->name));
+  else if (result->info.typ->type == Treference)
+    fprintf(fd, "\n\tif (!&%s)\n\t\treturn soap_closesock(soap);\n\tsoap_default_%s(soap, &%s);", ident(result->sym->name), c_ident((Tnode*)result->info.typ->ref), ident(result->sym->name));
+  else if (!is_void(result->info.typ))
+    fprintf(fd, "\n\tif (!%s)\n\t\treturn soap_closesock(soap);\n\tsoap_default_%s(soap, %s);", ident(result->sym->name), c_ident((Tnode*)result->info.typ->ref), ident(result->sym->name));
+  fprintf(fd,"\n\tif (soap_begin_recv(soap)");
+  fprintf(fd,"\n\t || soap_envelope_begin_in(soap)");
+  fprintf(fd,"\n\t || soap_recv_header(soap)");
+  fprintf(fd,"\n\t || soap_body_begin_in(soap))");
+  fprintf(fd,"\n\t\treturn soap_closesock(soap);");
+  if (is_transient(result->info.typ))
+  { fprintf(fd,"\n\tsoap_get_%s(soap, %s, \"%s\", NULL);", ident(method->sym->name), ident(result->sym->name), ns_convert(method->sym->name));
+    fprintf(fd,"\n\tif (soap->error == SOAP_TAG_MISMATCH && soap->level == 2)\n\t\tsoap->error = SOAP_OK;");
+    fprintf(fd,"\n\tif (soap->error");
+    fprintf(fd,"\n\t || soap_body_end_in(soap)");
+    fprintf(fd,"\n\t || soap_envelope_end_in(soap)");
+    fprintf(fd,"\n\t || soap_end_recv(soap))");
+    fprintf(fd,"\n\t\treturn soap_closesock(soap);");
+    fprintf(fd,"\n\treturn soap_closesock(soap);\n}");
+    fflush(fd);
+    return;
+  }
+  /* With RPC encoded responses, try to parse the fault first */
+  if (!is_literal(method_response_encoding))
+  { fprintf(fd,"\n\tif (soap_recv_fault(soap, 1))\n\t\treturn soap->error;");
+    xtag = xtyp = "";
+  }
+  else if (has_ns_eq(NULL, result->sym->name))
+  { if (response)
+      xtag = xml_tag(response->info.typ);
+    else
+      xtag = ns_convert(result->sym->name);
+    xtyp = xsi_type(result->info.typ);
+  }
+  else
+  { if (response)
+      xtag = xml_tag(response->info.typ);
+    else
+      xtag = xml_tag(result->info.typ);
+    xtyp = "";
+  }
+  if (response)
+  { fprintf(fd,"\n\tsoap_tmp_%s = soap_get_%s(soap, NULL, \"%s\", \"%s\");", c_ident(response->info.typ), c_ident(response->info.typ), xtag, xtyp);
+    fprintf(fd,"\n\tif (!soap_tmp_%s || soap->error)\n\t\treturn soap_recv_fault(soap, 0);", c_ident(response->info.typ));
+  }
+  else if ((result->info.typ->type == Treference || result->info.typ->type == Tpointer) && !is_invisible_empty(result->info.typ->ref))
+  { if (result->info.typ->type == Treference && ((Tnode *) result->info.typ->ref)->type == Tclass && !is_external((Tnode*)result->info.typ->ref) && !is_volatile((Tnode*)result->info.typ->ref) && !is_dynamic_array((Tnode*)result->info.typ->ref))
+      fprintf(fd,"\n\t%s.soap_get(soap, \"%s\", \"%s\");", ident(result->sym->name), xtag, xtyp);
+    else if (result->info.typ->type == Tpointer && ((Tnode *) result->info.typ->ref)->type == Tclass && !is_external((Tnode*)result->info.typ->ref) && !is_volatile((Tnode*)result->info.typ->ref) && !is_dynamic_array((Tnode*)result->info.typ->ref))
+      fprintf(fd,"\n\t%s->soap_get(soap, \"%s\", \"%s\");", ident(result->sym->name), xtag, xtyp);
+    else if (result->info.typ->type == Treference && ((Tnode *) result->info.typ->ref)->type == Tstruct && !is_external((Tnode*)result->info.typ->ref) && !is_volatile((Tnode*)result->info.typ->ref) && !is_dynamic_array((Tnode*)result->info.typ->ref))
+    { fprintf(fd,"\n\tsoap_get_%s(soap, &%s, \"%s\", \"%s\");", c_ident((Tnode*)result->info.typ->ref), ident(result->sym->name), xtag, xtyp);
+    }
+    else if (result->info.typ->type == Tpointer && ((Tnode *) result->info.typ->ref)->type == Tstruct && !is_dynamic_array((Tnode*)result->info.typ->ref))
+    { 
+      fprintf(fd,"\n\tsoap_get_%s(soap, %s, \"%s\", \"%s\");", c_ident((Tnode*)result->info.typ->ref), ident(result->sym->name), xtag, xtyp);
+    }
+    else if (result->info.typ->type == Tpointer && is_XML((Tnode*)result->info.typ->ref) && is_string((Tnode*)result->info.typ->ref))
+    { fprintf(fd,"\n\tsoap_inliteral(soap, NULL, %s);", ident(result->sym->name));
+    }
+    else if (result->info.typ->type == Treference && is_XML((Tnode*)result->info.typ->ref) && is_string((Tnode*)result->info.typ->ref))
+    { fprintf(fd,"\n\tsoap_inliteral(soap, NULL, &%s);", ident(result->sym->name));
+    }
+    else if (result->info.typ->type == Tpointer && is_XML((Tnode*)result->info.typ->ref) && is_wstring((Tnode*)result->info.typ->ref))
+    { fprintf(fd,"\n\tsoap_inwliteral(soap, NULL, %s);", ident(result->sym->name));
+    }
+    else if (result->info.typ->type == Treference && is_XML((Tnode*)result->info.typ->ref) && is_wstring((Tnode*)result->info.typ->ref))
+    { fprintf(fd,"\n\tsoap_inwliteral(soap, NULL, &%s);", ident(result->sym->name));
+    }
+    else if (result->info.typ->type == Treference)
+    { fprintf(fd,"\n\tsoap_get_%s(soap, &%s, \"%s\", \"%s\");", c_ident(result->info.typ), ident(result->sym->name), xtag, xtyp);
+    }
+    else
+    { fprintf(fd,"\n\tsoap_get_%s(soap, %s, \"%s\", \"%s\");", c_ident(result->info.typ), ident(result->sym->name), xtag, xtyp);
+    }
+    fprintf(fd,"\n\tif (soap->error)\n\t\treturn soap_recv_fault(soap, 0);");
+  }
+  fflush(fd);
+  fprintf(fd,"\n\tif (soap_body_end_in(soap)");
+  fprintf(fd,"\n\t || soap_envelope_end_in(soap)");
+  fprintf(fd,"\n\t || soap_end_recv(soap))");
+  fprintf(fd,"\n\t\treturn soap_closesock(soap);");
+  if (response)
+  { if (result->info.typ->type == Tarray)
+      fprintf(fd,"\n\tmemcpy(%s, soap_tmp_%s->%s, sizeof(%s));", ident(result->sym->name), c_ident(response->info.typ), ident(result->sym->name), ident(result->sym->name));
+    else if (result->info.typ->type == Treference)
+      fprintf(fd,"\n\t%s = soap_tmp_%s->%s;", ident(result->sym->name), c_ident(response->info.typ), ident(result->sym->name));
+    else if (!is_external((Tnode*)result->info.typ->ref))
+    { fprintf(fd,"\n\tif (%s && soap_tmp_%s->%s)", ident(result->sym->name), c_ident(response->info.typ), ident(result->sym->name));
+      fprintf(fd,"\n\t\t*%s = *soap_tmp_%s->%s;", ident(result->sym->name), c_ident(response->info.typ), ident(result->sym->name));
+    }
+  }
+  fprintf(fd,"\n\treturn soap_closesock(soap);");
+  fprintf(fd ,"\n}");
+  fflush(fd);
+}
+
+void
+gen_serve_method(FILE *fd, Table *table, Entry *param, char *name)
+{ Service *sp = NULL;
+  char *style, *encoding;
+  Entry *result, *p, *q, *pin, *pout, *response = NULL;
+  Table *input;
+  char *xtag;
+  Method *m;
+  char *method_encoding = NULL, *method_response_encoding = NULL;
+  result = (Entry*)param->info.typ->ref;
+  p = entry(classtable, param->sym);
+  if (!p)
+    execerror("no table entry");
+  if (!is_response(result->info.typ) && !is_XML(result->info.typ))
+    response = get_response(param->info.typ);
+  q = entry(table, param->sym);
+  if (!q)
+    execerror("no table entry");
+  pout = (Entry*)q->info.typ->ref;
+  if (name)
+  { if (iflag)
+      fprintf(fd, "\n\nstatic int serve_%s(%s *soap)\n{", ident(param->sym->name), name);
+    else
+      fprintf(fd, "\n\nstatic int serve_%s(%s *service)\n{\tstruct soap *soap = service->soap;\n", ident(param->sym->name), name);
+  }
+  else
+  { fprintf(fheader, "\n\nSOAP_FMAC5 int SOAP_FMAC6 soap_serve_%s(struct soap*);", ident(param->sym->name));
+    fprintf(fd, "\n\nSOAP_FMAC5 int SOAP_FMAC6 soap_serve_%s(struct soap *soap)\n{", ident(param->sym->name));
+  }
+  fprintf(fd, "\tstruct %s soap_tmp_%s;", ident(param->sym->name), ident(param->sym->name));
+  for (sp = services; sp; sp = sp->next)
+    if (has_ns_eq(sp->ns, param->sym->name))
+    { style = sp->style;
+      encoding = sp->encoding;
+      method_encoding = encoding;
+      method_response_encoding = NULL;
+      for (m = sp->list; m; m = m->next)
+      { if (is_eq_nons(m->name, param->sym->name))
+	{ if (m->mess == ENCODING)
+	    method_encoding = m->part;
+	  else if (m->mess == RESPONSE_ENCODING)
+	    method_response_encoding = m->part;
+        }
+      }
+      break;
+    }
+  if (!method_response_encoding)
+    method_response_encoding = method_encoding;
+  fflush(fd);
+  if (!is_transient(pout->info.typ))
+  { if (pout->info.typ->type == Tarray && response)
+    { fprintf(fd,"\n\tstruct %s soap_tmp_%s;", c_ident(response->info.typ), c_ident(response->info.typ));
+      fprintf(fd,"\n\tsoap_default_%s(soap, &soap_tmp_%s);", c_ident(response->info.typ), c_ident(response->info.typ));
+    }
+    else if (pout->info.typ->type == Tpointer && !is_stdstring(pout->info.typ) && !is_stdwstring(pout->info.typ) && response)
+    { fprintf(fd,"\n\tstruct %s soap_tmp_%s;", c_ident(response->info.typ), c_ident(response->info.typ));
+      fprintf(fd,"\n\t%s soap_tmp_%s;", c_type((Tnode*)pout->info.typ->ref), c_ident((Tnode*)pout->info.typ->ref));
+      fprintf(fd,"\n\tsoap_default_%s(soap, &soap_tmp_%s);", c_ident(response->info.typ), c_ident(response->info.typ));
+      if (((Tnode*)pout->info.typ->ref)->type == Tclass && !is_external((Tnode*)pout->info.typ->ref) && !is_volatile((Tnode*)pout->info.typ->ref) && !is_typedef((Tnode*)pout->info.typ->ref))
+        fprintf(fd,"\n\tsoap_tmp_%s.soap_default(soap);", c_ident((Tnode*)pout->info.typ->ref));
+      else if (((Tnode*)pout->info.typ->ref)->type == Tpointer)
+        fprintf(fd,"\n\tsoap_tmp_%s = NULL;", c_ident((Tnode*)pout->info.typ->ref));
+      else
+        fprintf(fd,"\n\tsoap_default_%s(soap, &soap_tmp_%s);", c_ident((Tnode*)pout->info.typ->ref), c_ident((Tnode*)pout->info.typ->ref));
+      fprintf(fd,"\n\tsoap_tmp_%s.%s = &soap_tmp_%s;", c_ident(response->info.typ), ident(pout->sym->name), c_ident((Tnode*)pout->info.typ->ref));
+    }
+    else if (response)
+    { fprintf(fd,"\n\tstruct %s soap_tmp_%s;", c_ident(response->info.typ), c_ident(response->info.typ));
+      fprintf(fd,"\n\tsoap_default_%s(soap, &soap_tmp_%s);", c_ident(response->info.typ), c_ident(response->info.typ));
+    }
+    else if (((Tnode *)pout->info.typ->ref)->type == Tclass && !is_stdstring((Tnode*)pout->info.typ->ref) && !is_stdwstring((Tnode*)pout->info.typ->ref) && (is_external((Tnode*)pout->info.typ->ref) || is_volatile((Tnode*)pout->info.typ->ref) || is_typedef((Tnode*)pout->info.typ->ref)) && !is_dynamic_array((Tnode*)pout->info.typ->ref))
+    { fprintf(fd, "\n\t%s %s;", c_type((Tnode*)pout->info.typ->ref), ident(pout->sym->name));
+      fprintf(fd,"\n\tsoap_default_%s(soap, &%s);", c_ident((Tnode*)pout->info.typ->ref), ident(pout->sym->name));
+    }
+    else if (((Tnode *)pout->info.typ->ref)->type == Tclass && !is_stdstring((Tnode*)pout->info.typ->ref) && !is_stdwstring((Tnode*)pout->info.typ->ref) && !is_dynamic_array((Tnode*)pout->info.typ->ref))
+    { fprintf(fd, "\n\t%s %s;", c_type((Tnode*)pout->info.typ->ref), ident(pout->sym->name));
+      fprintf(fd,"\n\t%s.soap_default(soap);", ident(pout->sym->name));
+    }
+    else if (((Tnode *)pout->info.typ->ref)->type == Tstruct && !is_dynamic_array((Tnode*)pout->info.typ->ref))
+    { fprintf(fd, "\n\t%s %s;", c_type((Tnode*)pout->info.typ->ref), ident(pout->sym->name));
+      fprintf(fd,"\n\tsoap_default_%s(soap, &%s);", c_ident((Tnode *)pout->info.typ->ref), ident(pout->sym->name));
+    }
+    else
+    { fprintf(fd,"\n\t%s soap_tmp_%s;", c_type((Tnode*)pout->info.typ->ref), c_ident((Tnode*)pout->info.typ->ref));
+      if (is_string((Tnode*)pout->info.typ->ref) || is_wstring((Tnode*)pout->info.typ->ref))
+        fprintf(fd,"\n\tsoap_tmp_%s = NULL;", c_ident((Tnode*)pout->info.typ->ref));
+      else
+        fprintf(fd,"\n\tsoap_default_%s(soap, &soap_tmp_%s);", c_ident((Tnode*)pout->info.typ->ref), c_ident((Tnode*)pout->info.typ->ref));
+    }
+  }
+  fprintf(fd,"\n\tsoap_default_%s(soap, &soap_tmp_%s);", ident(param->sym->name), ident(param->sym->name));
+  fflush(fd);
+  q = entry(classtable, param->sym);
+  if (!is_invisible_empty(q->info.typ))
+  { fprintf(fd,"\n\tif (!soap_get_%s(soap, &soap_tmp_%s, \"%s\", NULL))", ident(param->sym->name), ident(param->sym->name), ns_convert(param->sym->name));
+    fprintf(fd,"\n\t\treturn soap->error;");
+  }
+  fprintf(fd,"\n\tif (soap_body_end_in(soap)");
+  fprintf(fd,"\n\t || soap_envelope_end_in(soap)");
+  fprintf(fd,"\n\t || soap_end_recv(soap))\n\t\treturn soap->error;");
+  if (name)
+  { if (iflag)
+      fprintf(fd, "\n\tsoap->error = soap->%s(", ns_cname(param->sym->name, NULL));
+    else
+      fprintf(fd, "\n\tsoap->error = service->%s(", ns_cname(param->sym->name, NULL));
+  }
+  else
+    fprintf(fd, "\n\tsoap->error = %s(soap", ident(param->sym->name));
+  fflush(fd);
+  input = (Table*) q->info.typ->ref;
+  for (pin = input->list; pin; pin = pin->next)
+    fprintf(fd, "%ssoap_tmp_%s.%s", !name || pin != input->list ? ", " : "", ident(param->sym->name), ident(pin->sym->name));
+  if (is_transient(pout->info.typ))
+    fprintf(fd, ");");
+  else
+  { if (!name || input->list)
+      fprintf(fd, ", ");
+    if (response)
+      fprintf(fd, "soap_tmp_%s.%s);", c_ident(response->info.typ), ident(pout->sym->name));
+    else if (pout->info.typ->type == Treference && (((Tnode*)pout->info.typ->ref)->type == Tstruct || ((Tnode*)pout->info.typ->ref)->type == Tclass) && !is_stdstring((Tnode*)pout->info.typ->ref) && !is_stdwstring((Tnode*)pout->info.typ->ref) && !is_dynamic_array((Tnode*)pout->info.typ->ref))
+      fprintf(fd, "%s);", ident(pout->sym->name));
+    else if ((((Tnode*)pout->info.typ->ref)->type == Tstruct || ((Tnode*)pout->info.typ->ref)->type == Tclass) && !is_stdstring((Tnode*)pout->info.typ->ref) && !is_stdwstring((Tnode*)pout->info.typ->ref) && !is_dynamic_array((Tnode*)pout->info.typ->ref))
+      fprintf(fd, "&%s);", ident(pout->sym->name));
+    else if(pout->info.typ->type == Treference)
+      fprintf(fd, "soap_tmp_%s);", c_ident((Tnode*)pout->info.typ->ref));
+    else
+      fprintf(fd, "&soap_tmp_%s);", c_ident((Tnode*)pout->info.typ->ref));
+  }
+  fprintf(fd,"\n\tif (soap->error)\n\t\treturn soap->error;");
+  if (!is_transient(pout->info.typ))
+  { if (sp && sp->URI && method_response_encoding)
+    { if (is_literal(method_response_encoding))
+        fprintf(fd, "\n\tsoap->encodingStyle = NULL;");
+      else if (sp->encoding)
+        fprintf(fd, "\n\tsoap->encodingStyle = \"%s\";", sp->encoding);
+      else if (method_response_encoding)
+        fprintf(fd, "\n\tsoap->encodingStyle = \"%s\";", method_response_encoding);
+      else if (!eflag)
+        fprintf(fd, "\n\tsoap->encodingStyle = NULL;");
+    }
+    else if (!eflag)
+      fprintf(fd, "\n\tsoap->encodingStyle = NULL;");
+    fprintf(fd,"\n\tsoap_serializeheader(soap);");
+    if (pout->info.typ->type == Tarray && response)
+      fprintf(fd, "\n\tsoap_serialize_%s(soap, &soap_tmp_%s);", c_ident(response->info.typ), c_ident(response->info.typ));
+    else if (response)
+      fprintf(fd, "\n\tsoap_serialize_%s(soap, &soap_tmp_%s);", c_ident(response->info.typ), c_ident(response->info.typ));
+    else if (((Tnode *)pout->info.typ->ref)->type == Tclass && !is_stdstring((Tnode*)pout->info.typ->ref) && !is_stdwstring((Tnode*)pout->info.typ->ref) && (is_external((Tnode*)pout->info.typ->ref) || is_volatile((Tnode*)pout->info.typ->ref) || is_typedef((Tnode*)pout->info.typ->ref)) && !is_dynamic_array((Tnode*)pout->info.typ->ref))
+      fprintf(fd, "\n\tsoap_serialize_%s(soap, &%s);", c_ident((Tnode*)pout->info.typ->ref), ident(pout->sym->name));
+    else if(((Tnode *)pout->info.typ->ref)->type == Tclass && !is_stdstring((Tnode*)pout->info.typ->ref) && !is_stdwstring((Tnode*)pout->info.typ->ref) && !is_dynamic_array((Tnode*)pout->info.typ->ref))
+      fprintf(fd, "\n\t%s.soap_serialize(soap);", ident(pout->sym->name));
+    else if(((Tnode *)pout->info.typ->ref)->type == Tstruct && !is_dynamic_array((Tnode*)pout->info.typ->ref))
+      fprintf(fd, "\n\tsoap_serialize_%s(soap, &%s);", c_ident((Tnode*)pout->info.typ->ref), ident(pout->sym->name));
+    else if (!is_XML((Tnode*)pout->info.typ->ref))
+      fprintf(fd, "\n\tsoap_serialize_%s(soap, &soap_tmp_%s);", c_ident((Tnode*)pout->info.typ->ref), c_ident((Tnode*)pout->info.typ->ref));
+    if (has_ns_eq(NULL, pout->sym->name))
+      xtag = ns_convert(pout->sym->name);
+    else
+      xtag = xml_tag(pout->info.typ);
+    fprintf(fd, "\n\tif (soap_begin_count(soap))\n\t\treturn soap->error;");
+    fprintf(fd, "\n\tif (soap->mode & SOAP_IO_LENGTH)");
+    fprintf(fd, "\n\t{\tif (soap_envelope_begin_out(soap)");
+    fprintf(fd,"\n\t\t || soap_putheader(soap)");
+    fprintf(fd,"\n\t\t || soap_body_begin_out(soap)");
+    if (response)
+      fprintf(fd,"\n\t\t || soap_put_%s(soap, &soap_tmp_%s, \"%s\", NULL)", c_ident(response->info.typ), c_ident(response->info.typ), xml_tag(response->info.typ));
+    else if (((Tnode*)pout->info.typ->ref)->type == Tclass && !is_stdstring((Tnode*)pout->info.typ->ref) && !is_stdwstring((Tnode*)pout->info.typ->ref) && (is_external((Tnode*)pout->info.typ->ref) || is_volatile((Tnode*)pout->info.typ->ref) || is_typedef((Tnode*)pout->info.typ->ref)) && !is_dynamic_array((Tnode*)pout->info.typ->ref))
+      fprintf(fd, "\n\t\t || soap_put_%s(soap, &%s, \"%s\", NULL)", c_ident((Tnode*)pout->info.typ->ref), ident(pout->sym->name), ns_convert(pout->sym->name));
+    else if (((Tnode*)pout->info.typ->ref)->type == Tclass && !is_stdstring((Tnode*)pout->info.typ->ref) && !is_stdwstring((Tnode*)pout->info.typ->ref) && !is_dynamic_array((Tnode*)pout->info.typ->ref))
+      fprintf(fd, "\n\t\t || %s.soap_put(soap, \"%s\", \"\")", ident(pout->sym->name), xtag);
+    else if (((Tnode*)pout->info.typ->ref)->type == Tstruct && !is_dynamic_array((Tnode*)pout->info.typ->ref))
+      fprintf(fd, "\n\t\t || soap_put_%s(soap, &%s, \"%s\", NULL)", c_ident((Tnode*)pout->info.typ->ref), ident(pout->sym->name), xtag);
+    else if (is_XML((Tnode*)pout->info.typ->ref) && is_string((Tnode*)pout->info.typ->ref))
+      fprintf(fd,"\n\t\t || soap_outliteral(soap, \"%s\", &soap_tmp_%s, NULL)", ns_convert(pout->sym->name), c_ident((Tnode*)pout->info.typ->ref));
+    else if (is_XML((Tnode*)pout->info.typ->ref) && is_wstring((Tnode*)pout->info.typ->ref))
+      fprintf(fd,"\n\t\t || soap_outwliteral(soap, \"%s\", &soap_tmp_%s, NULL)", ns_convert(pout->sym->name), c_ident((Tnode*)pout->info.typ->ref));
+    else
+      fprintf(fd,"\n\t\t || soap_put_%s(soap, &soap_tmp_%s, \"%s\", NULL)", c_ident(pout->info.typ), c_ident((Tnode*)pout->info.typ->ref), ns_convert(pout->sym->name));
+    fprintf(fd,"\n\t\t || soap_body_end_out(soap)");
+    fprintf(fd,"\n\t\t || soap_envelope_end_out(soap))");
+    fprintf(fd,"\n\t\t\t return soap->error;");
+    fprintf(fd,"\n\t};");
+    fprintf(fd,"\n\tif (soap_end_count(soap)");
+    fprintf(fd,"\n\t || soap_response(soap, SOAP_OK)");
+    fprintf(fd,"\n\t || soap_envelope_begin_out(soap)");
+    fprintf(fd,"\n\t || soap_putheader(soap)");
+    fprintf(fd,"\n\t || soap_body_begin_out(soap)");
+    if (response)
+      fprintf(fd,"\n\t || soap_put_%s(soap, &soap_tmp_%s, \"%s\", NULL)", c_ident(response->info.typ), c_ident(response->info.typ), xml_tag(response->info.typ));
+    else if (((Tnode *)pout->info.typ->ref)->type == Tclass && !is_stdstring((Tnode*)pout->info.typ->ref) && !is_stdwstring((Tnode*)pout->info.typ->ref) && (is_external((Tnode*)pout->info.typ->ref) || is_volatile((Tnode*)pout->info.typ->ref) || is_typedef((Tnode*)pout->info.typ->ref)) && !is_dynamic_array((Tnode*)pout->info.typ->ref))
+      fprintf(fd, "\n\t || soap_put_%s(soap, &%s, \"%s\", NULL)", c_ident((Tnode*)pout->info.typ->ref), ident(pout->sym->name), ns_convert(pout->sym->name));
+    else if(((Tnode *)pout->info.typ->ref)->type == Tclass && !is_stdstring((Tnode*)pout->info.typ->ref) && !is_stdwstring((Tnode*)pout->info.typ->ref) && !is_dynamic_array((Tnode*)pout->info.typ->ref))
+      fprintf(fd, "\n\t || %s.soap_put(soap, \"%s\", \"\")", ident(pout->sym->name), xtag);
+    else if(((Tnode *)pout->info.typ->ref)->type == Tstruct && !is_dynamic_array((Tnode*)pout->info.typ->ref))
+      fprintf(fd, "\n\t || soap_put_%s(soap, &%s, \"%s\", NULL)", c_ident((Tnode*)pout->info.typ->ref), ident(pout->sym->name), xtag);
+    else if (is_XML((Tnode*)pout->info.typ->ref) && is_string((Tnode*)pout->info.typ->ref))
+      fprintf(fd,"\n\t || soap_outliteral(soap, \"%s\", &soap_tmp_%s, NULL)", ns_convert(pout->sym->name), c_ident((Tnode*)pout->info.typ->ref));
+    else if (is_XML((Tnode*)pout->info.typ->ref) && is_wstring((Tnode*)pout->info.typ->ref))
+      fprintf(fd,"\n\t || soap_outwliteral(soap, \"%s\", &soap_tmp_%s, NULL)", ns_convert(pout->sym->name), c_ident((Tnode*)pout->info.typ->ref));
+    else
+      fprintf(fd,"\n\t || soap_put_%s(soap, &soap_tmp_%s, \"%s\", NULL)", c_ident(pout->info.typ), c_ident((Tnode*)pout->info.typ->ref), ns_convert(pout->sym->name));
+    fprintf(fd,"\n\t || soap_body_end_out(soap)");
+    fprintf(fd,"\n\t || soap_envelope_end_out(soap)");
+    fprintf(fd,"\n\t || soap_end_send(soap))");
+    fprintf(fd, "\n\t\treturn soap->error;");
+  }
+  fprintf(fd,"\n\treturn soap_closesock(soap);");
+  fprintf(fd,"\n}");
+  fflush(fd);
+}
+
+void
+gen_object_code(FILE *fd, Table *table, Symbol *ns, char *name, char *URL, char *executable, char *URI, char *encoding)
+{ Entry *p, *method, *catch_method, *param;
+  Table *t;
+  char *soap, *catch_action;
+  if (iflag)
+    soap = "this";
+  else
+    soap = "this->soap";
+  fprintf(fd, "\n\n#include \"%s%s.h\"", prefix, name);
+  if (namespaceid)
+    fprintf(fd,"\n\nnamespace %s {", namespaceid);
+  if (iflag)
+  { fprintf(fd, "\n\n%s::%s()\n{\t%s_init(SOAP_IO_DEFAULT, SOAP_IO_DEFAULT);\n}", name, name, name);
+    fprintf(fd, "\n\n%s::%s(const struct soap &_soap) : soap(_soap)\n{ }", name, name);
+    fprintf(fd, "\n\n%s::%s(soap_mode iomode)\n{\t%s_init(iomode, iomode);\n}", name, name, name);
+    fprintf(fd, "\n\n%s::%s(soap_mode imode, soap_mode omode)\n{\t%s_init(imode, omode);\n}", name, name, name);
+    fprintf(fd, "\n\n%s::~%s()\n{ }", name, name);
+  }
+  else
+  { fprintf(fd, "\n\n%s::%s()\n{\tthis->soap = soap_new();\n\tthis->own = true;\n\t%s_init(SOAP_IO_DEFAULT, SOAP_IO_DEFAULT);\n}", name, name, name);
+    fprintf(fd, "\n\n%s::%s(struct soap *_soap)\n{\tthis->soap = _soap;\n\tthis->own = false;\n\t%s_init(_soap->imode, _soap->omode);\n}", name, name, name);
+    fprintf(fd, "\n\n%s::%s(soap_mode iomode)\n{\tthis->soap = soap_new();\n\tthis->own = true;\n\t%s_init(iomode, iomode);\n}", name, name, name);
+    fprintf(fd, "\n\n%s::%s(soap_mode imode, soap_mode omode)\n{\tthis->soap = soap_new();\n\tthis->own = true;\n\t%s_init(imode, omode);\n}", name, name, name);
+    fprintf(fd, "\n\n%s::~%s()\n{\tif (this->own)\n\t\tsoap_free(this->soap);\n}", name, name);
+  }
+  fprintf(fd, "\n\nvoid %s::%s_init(soap_mode imode, soap_mode omode)\n{\tsoap_imode(%s, imode);\n\tsoap_omode(%s, omode);\n\tstatic const struct Namespace namespaces[] =\n", name, name, soap, soap);
+  gen_nsmap(fd, ns, URI);
+  fprintf(fd, "\tsoap_set_namespaces(%s, namespaces);\n}", soap);
+  fprintf(fd, "\n\nvoid %s::destroy()\n{\tsoap_destroy(%s);\n\tsoap_end(%s);\n}", name, soap, soap);
+  fprintf(fd, "\n\nvoid %s::reset()\n{\tdestroy();\n\tsoap_done(%s);\n\tsoap_initialize(%s);\n\t%s_init(SOAP_IO_DEFAULT, SOAP_IO_DEFAULT);\n}", name, soap, soap, name);
+  if (iflag)
+    fprintf(fd, "\n\n#ifndef WITH_PURE_VIRTUAL\n%s *%s::copy()\n{\t%s *dup = SOAP_NEW_COPY(%s(*(struct soap*)%s));\n\treturn dup;\n}\n#endif", name, name, name, name, soap);
+  else
+    fprintf(fd, "\n\n#ifndef WITH_PURE_VIRTUAL\n%s *%s::copy()\n{\t%s *dup = SOAP_NEW_COPY(%s);\n\tif (dup)\n\t\tsoap_copy_context(dup->soap, this->soap);\n\treturn dup;\n}\n#endif", name, name, name, name);
+  fprintf(fd, "\n\nint %s::soap_close_socket()\n{\treturn soap_closesock(%s);\n}", name, soap);
+  fprintf(fd, "\n\nint %s::soap_force_close_socket()\n{\treturn soap_force_closesock(%s);\n}", name, soap);
+  fprintf(fd, "\n\nint %s::soap_senderfault(const char *string, const char *detailXML)\n{\treturn ::soap_sender_fault(%s, string, detailXML);\n}", name, soap);
+  fprintf(fd, "\n\nint %s::soap_senderfault(const char *subcodeQName, const char *string, const char *detailXML)\n{\treturn ::soap_sender_fault_subcode(%s, subcodeQName, string, detailXML);\n}", name, soap);
+  fprintf(fd, "\n\nint %s::soap_receiverfault(const char *string, const char *detailXML)\n{\treturn ::soap_receiver_fault(%s, string, detailXML);\n}", name, soap);
+  fprintf(fd, "\n\nint %s::soap_receiverfault(const char *subcodeQName, const char *string, const char *detailXML)\n{\treturn ::soap_receiver_fault_subcode(%s, subcodeQName, string, detailXML);\n}", name, soap);
+  fprintf(fd, "\n\nvoid %s::soap_print_fault(FILE *fd)\n{\t::soap_print_fault(%s, fd);\n}", name, soap);
+  fprintf(fd, "\n\n#ifndef WITH_LEAN\n#ifndef WITH_COMPAT\nvoid %s::soap_stream_fault(std::ostream& os)\n{\t::soap_stream_fault(%s, os);\n}\n#endif", name, soap);
+  fprintf(fd, "\n\nchar *%s::soap_sprint_fault(char *buf, size_t len)\n{\treturn ::soap_sprint_fault(%s, buf, len);\n}\n#endif", name, soap);
+  fprintf(fd, "\n\nvoid %s::soap_noheader()\n{\t%s->header = NULL;\n}", name, soap);
+  if (!namespaceid)
+  {
+  p = entry(classtable, lookup("SOAP_ENV__Header"));
+  if (p)
+  { t = (Table*)p->info.typ->ref;
+    if (t && t->list && !is_void(t->list->info.typ))
+    { fprintf(fd, "\n\nvoid %s::soap_header(", name);
+      gen_params(fd, t, NULL, 0);
+      fprintf(fd, "\n{\t::soap_header(%s);", soap);
+      for (param = t->list; param; param = param->next)
+      { if (namespaceid)
+          fprintf(fd, "\n\t((%s::SOAP_ENV__Header*)%s->header)->%s = %s;", namespaceid, soap, ident(param->sym->name), ident(param->sym->name));
+        else
+          fprintf(fd, "\n\t%s->header->%s = %s;", soap, ident(param->sym->name), ident(param->sym->name));
+      }
+      fprintf(fd, "\n}");
+    }
+  }
+  }
+  fprintf(fd, "\n\nconst SOAP_ENV__Header *%s::soap_header()\n{\treturn %s->header;\n}", name, soap);
+  fprintf(fd, "\n\nint %s::run(int port)\n{\tif (soap_valid_socket(%s->master) || soap_valid_socket(bind(NULL, port, 100)))\n\t{\tfor (;;)\n\t\t{\tif (!soap_valid_socket(accept()) || serve())\n\t\t\t\treturn %s->error;\n\t\t\tsoap_destroy(%s);\n\t\t\tsoap_end(%s);\n\t\t}\n\t}\n\telse\n\t\treturn %s->error;\n\treturn SOAP_OK;\n}", name, soap, soap, soap, soap, soap);
+  fprintf(fd, "\n\nSOAP_SOCKET %s::bind(const char *host, int port, int backlog)\n{\treturn soap_bind(%s, host, port, backlog);\n}", name, soap);
+  fprintf(fd, "\n\nSOAP_SOCKET %s::accept()\n{\treturn soap_accept(%s);\n}", name, soap);
+  fprintf(fd, "\n\n#if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)");
+  fprintf(fd, "\nint %s::ssl_accept()\n{\treturn soap_ssl_accept(%s);\n}", name, soap);
+  fprintf(fd, "\n#endif");
+  fprintf(fd, "\n\nint %s::serve()", name);
+  fprintf(fd, "\n{\n#ifndef WITH_FASTCGI\n\tunsigned int k = %s->max_keep_alive;\n#endif\n\tdo\n\t{", soap);
+  fprintf(fd,"\n\n#ifndef WITH_FASTCGI\n\t\tif (%s->max_keep_alive > 0 && !--k)\n\t\t\t%s->keep_alive = 0;\n#endif", soap, soap);
+  fprintf(fd,"\n\n\t\tif (soap_begin_serve(%s))\n\t\t{\tif (%s->error >= SOAP_STOP)\n\t\t\t\tcontinue;\n\t\t\treturn %s->error;\n\t\t}", soap, soap, soap);
+  fprintf(fd,"\n\t\tif (dispatch() || (%s->fserveloop && %s->fserveloop(%s)))\n\t\t{\n#ifdef WITH_FASTCGI\n\t\t\tsoap_send_fault(%s);\n#else\n\t\t\treturn soap_send_fault(%s);\n#endif\n\t\t}", soap, soap, soap, soap, soap);
+  fprintf(fd,"\n\n#ifdef WITH_FASTCGI\n\t\tsoap_destroy(%s);\n\t\tsoap_end(%s);\n\t} while (1);\n#else\n\t} while (%s->keep_alive);\n#endif", soap, soap, soap);
+  fprintf(fd, "\n\treturn SOAP_OK;");
+  fprintf(fd, "\n}\n");
+  for (method = table->list; method; method = method->next)
+    if (method->info.typ->type == Tfun && !(method->info.sto & Sextern) && has_ns_eq(ns->name, method->sym->name))
+      fprintf(fd, "\nstatic int serve_%s(%s*);", ident(method->sym->name), name);
+  fprintf(fd, "\n\nint %s::dispatch()\n{", name);
+  if (!iflag)
+    fprintf(fd, "\t%s_init(this->soap->imode, this->soap->omode);\n", name);
+  fprintf(fd, "\tsoap_peek_element(%s);", soap);
+  catch_method = NULL;
+  catch_action = NULL;
+  for (method = table->list; method; method = method->next)
+  { char *action = NULL;
+    if (method->info.typ->type == Tfun && !(method->info.sto & Sextern) && has_ns_eq(ns->name, method->sym->name))
+    { if (aflag)
+      { Service *sp;
+        for (sp = services; sp; sp = sp->next)
+        { if (has_ns_eq(sp->ns, method->sym->name))
+	  { Method *m;
+	    for (m = sp->list; m; m = m->next)
+            { if (is_eq_nons(m->name, method->sym->name))
+	      { if (m->mess == ACTION || m->mess == REQUEST_ACTION)
+	          action = m->part;
+	      }
+	    }
+  	  }
+        }
+      }
+      if (is_invisible(method->sym->name))
+      { Entry *param = entry(classtable, method->sym);
+        if (param)
+          param = ((Table*)param->info.typ->ref)->list;
+        if (action)
+        { if (*action == '"')
+          { fprintf(fd, "\n\tif (");
+            if (param && !Aflag)
+              fprintf(fd, "(!%s->action && !soap_match_tag(%s, %s->tag, \"%s\")) || ", soap, soap, soap, ns_convert(param->sym->name));
+            else
+            { catch_method = method;
+              catch_action = action;
+	    }
+            fprintf(fd, "(%s->action && !strcmp(%s->action, %s))", soap, soap, action);
+          }
+          else
+          { fprintf(fd, "\n\tif (");
+            if (param && !Aflag)
+              fprintf(fd, "(!%s->action && !soap_match_tag(%s, %s->tag, \"%s\")) || ", soap, soap, soap, ns_convert(param->sym->name));
+            else
+            { catch_method = method;
+              catch_action = action;
+	    }
+            fprintf(fd, "(%s->action && !strcmp(%s->action, \"%s\"))", soap, soap, action);
+          }
+          fprintf(fd, ")\n\t\treturn serve_%s(this);", ident(method->sym->name));
+        }
+        else
+        { if (Aflag)
+            compliancewarn("Option -A requires a SOAPAction where none is defined");
+          if (param)
+          { fprintf(fd, "\n\tif (!soap_match_tag(%s, %s->tag, \"%s\")", soap, soap, ns_convert(param->sym->name));
+            fprintf(fd, ")\n\t\treturn serve_%s(this);", ident(method->sym->name));
+          }
+          else
+          { catch_method = method;
+            catch_action = action;
+	  }
+        }
+      }
+      else
+      { if (action)
+        { if (*action == '"')
+	  { fprintf(fd, "\n\tif (");
+	    if (!Aflag)
+	      fprintf(fd, "(!%s->action && !soap_match_tag(%s, %s->tag, \"%s\")) || ", soap, soap, soap, ns_convert(method->sym->name));
+	    fprintf(fd, "(%s->action && !strcmp(%s->action, %s))", soap, soap, action);
+	  }
+          else
+	  { fprintf(fd, "\n\tif (");
+	    if (!Aflag)
+	      fprintf(fd, "(!%s->action && !soap_match_tag(%s, %s->tag, \"%s\")) || ", soap, soap, soap, ns_convert(method->sym->name));
+	    fprintf(fd, "(%s->action && !strcmp(%s->action, \"%s\"))", soap, soap, action);
+	  }
+	}
+	else
+	{ if (Aflag)
+	    compliancewarn("Option -A requires a SOAPAction where none is defined");
+          fprintf(fd, "\n\tif (!soap_match_tag(%s, %s->tag, \"%s\")", soap, soap, ns_convert(method->sym->name));
+	}
+        fprintf(fd, ")\n\t\treturn serve_%s(this);", ident(method->sym->name));
+      }
+    }
+  }
+  if (catch_method)
+  { if (Aflag && catch_action)
+    { if (*catch_action == '"')
+      { fprintf(fd, "\n\tif (");
+        fprintf(fd, "(%s->action && !strcmp(%s->action, %s))", soap, soap, catch_action);
+        fprintf(fd, ")\n\t\treturn serve_%s(this);", ident(catch_method->sym->name));
+      }
+      else
+      { fprintf(fd, "\n\tif (");
+        fprintf(fd, "(%s->action && !strcmp(%s->action, \"%s\"))", soap, soap, catch_action);
+        fprintf(fd, ")\n\t\treturn serve_%s(this);", ident(catch_method->sym->name));
+      }
+      fprintf(fd,"\n\treturn %s->error = SOAP_NO_METHOD;", soap);
+    }
+    fprintf(fd, "\n\treturn serve_%s(this);\n}", ident(catch_method->sym->name));
+  }
+  else
+    fprintf(fd, "\n\treturn %s->error = SOAP_NO_METHOD;\n}", soap);
+  for (method = table->list; method; method = method->next)
+    if (method->info.typ->type == Tfun && !(method->info.sto & Sextern) && !is_imported(method->info.typ) && has_ns_eq(ns->name, method->sym->name))
+      gen_serve_method(fd, table, method, name);
+  if (namespaceid)
+    fprintf(fd,"\n\n} // namespace %s\n", namespaceid);
+  fprintf(fd,"\n/* End of server object code */\n");
+}
+
+void
+gen_response_begin(FILE *fd, int n, char *s)
+{ if (!is_invisible(s))
+  { fprintf(fd, "%*s<%sResponse", n, "", s);
+    if (vflag < 0)
+      gen_xmlns(fd);
+    fprintf(fd, ">\n");
+  }
+}
+
+void
+gen_response_end(FILE *fd, int n, char *s)
+{ if (!is_invisible(s))
+    fprintf(fd, "%*s</%sResponse>\n", n, "", s);
+}
+
+void
+gen_element_begin(FILE *fd, int n, char *s, char *t)
+{ if (!is_invisible(s))
+  { if (tflag && t && *t)
+      fprintf(fd, "%*s<%s xsi:type=\"%s\"", n, "", s, t);
+    else
+      fprintf(fd, "%*s<%s", n, "", s);
+  }
+}
+
+void
+gen_element_end(FILE *fd, int n, char *s)
+{ if (!is_invisible(s))
+    fprintf(fd, "%*s</%s>\n", n, "", s);
+  else
+    fprintf(fd, "\n");
+}
+
+void
+gen_data(char *buf, Table *t, char *ns, char *name, char *URL, char *executable, char *URI, char *encoding)
+{ Entry *p, *q, *r;
+  FILE *fd;
+  char *method_encoding = NULL;
+  char *method_response_encoding = NULL;
+  if (t)
+  { for (p = t->list; p; p = p->next)
+      if (p->info.typ->type == Tfun && !(p->info.sto & Sextern) && has_ns_eq(ns, p->sym->name))
+      { int get = 0, soap = 1, mime = 0;
+        Service *sp;
+        Method *m;
+	char *nse = ns_qualifiedElement(p->info.typ);
+	char *nsa = ns_qualifiedAttribute(p->info.typ);
+        method_encoding = encoding;
+	method_response_encoding = NULL;
+	for (sp = services; sp; sp = sp->next)
+	{ if (!tagcmp(sp->ns, ns))
+	  { for (m = sp->list; m; m = m->next)
+	    { if (is_eq_nons(m->name, p->sym->name))
+              { if (m->mess == ENCODING)
+	          method_encoding = m->part;
+                else if (m->mess == RESPONSE_ENCODING)
+	          method_response_encoding = m->part;
+	        else if (m->mess&MIMEIN && !strcmp(m->part, "application/x-www-form-urlencoded"))
+                  mime = 1;
+                else if (m->mess == PROTOCOL)
+		{ if (strncmp(m->part, "SOAP", 4))
+	            soap = 0;
+                  if (strstr(m->part, "GET"))
+	            get = 1;
+	        }
+	      }
+	    }
+	  }
+	}
+	if (!method_response_encoding)
+	  method_response_encoding = method_encoding;
+	/* request */
+	if (!get && !mime)
+        { fd = gen_env(buf, ns_remove(p->sym->name), 0, t, ns, name, URL, executable, URI, method_encoding, soap);
+	  if (!fd)
+	    return;
+  	  q = entry(classtable, p->sym);
+          if (yflag)
+          { fprintf(fd, "%*s<!-- %s(...", 2, "", ident(p->sym->name));
+	    if (q)
+            { Table *r = (Table*)q->info.typ->ref;
+	      while (r)
+              { Entry *e;
+                for (e = r->list; e; e = e->next)
+                  fprintf(fd, ", %s", c_type_id(e->info.typ, e->sym->name));
+	        r = r->prev;
+              }
+	    }
+	    fprintf(fd, ", ...) -->\n");
+	  }
+	  gen_element_begin(fd, 2, ns_convert(p->sym->name), NULL);
+  	  if (q)
+	  { if (!is_invisible(p->sym->name))
+	    { if (soap && vflag < 0)
+	        gen_xmlns(fd);
+	      gen_atts(fd, 2, (Table*)q->info.typ->ref, nsa);
+              fprintf(fd, "\n");
+	    }
+	    for (q = ((Table*)q->info.typ->ref)->list; q; q = q->next)
+	      gen_field(fd, 3, q, nse, nsa, method_encoding);
+	  }
+          gen_element_end(fd, 2, ns_convert(p->sym->name));
+	  if (soap && vflag >= 0)
+            fprintf(fd, " </SOAP-ENV:Body>\n</SOAP-ENV:Envelope>\n");
+          fclose(fd);
+	}
+	/* response */
+	q = (Entry*)p->info.typ->ref;
+	if (!mime && q && !is_transient(q->info.typ))
+        { fd = gen_env(buf, ns_remove(p->sym->name), 1, t, ns, name, URL, executable, URI, method_response_encoding, soap);
+	  if (!fd)
+	    return;
+	  if (q && !is_response(q->info.typ))
+	  { if (is_XML((Tnode*)q->info.typ->ref))
+	    { gen_response_begin(fd, 2, ns_convert(p->sym->name));
+	      gen_response_end(fd, 2, ns_convert(p->sym->name));
+	    }
+	    else
+	    { gen_response_begin(fd, 2, ns_convert(p->sym->name));
+	      gen_field(fd, 3, q, nse, nsa, method_response_encoding);
+	      gen_response_end(fd, 2, ns_convert(p->sym->name));
+	    }
+	  }
+          else if (q && q->info.typ->ref && ((Tnode*)q->info.typ->ref)->ref)
+          { char *xtag;
+	    nse = ns_qualifiedElement((Tnode*)q->info.typ->ref);
+	    nsa = ns_qualifiedAttribute((Tnode*)q->info.typ->ref);
+	    if (has_ns_eq(NULL, q->sym->name))
+              xtag = q->sym->name;
+            else
+              xtag = ((Tnode*)q->info.typ->ref)->id->name;
+            if (yflag)
+              fprintf(fd, "%*s<!-- %s(..., %s) -->\n", 2, "", ident(p->sym->name), c_type_id(q->info.typ, q->sym->name));
+	    gen_element_begin(fd, 2, ns_addx(xtag, nse), NULL);
+	    if (!is_invisible(xtag))
+	    { if (soap && vflag < 0)
+	        gen_xmlns(fd);
+	      gen_atts(fd, 2, ((Tnode*)q->info.typ->ref)->ref, nsa);
+              fprintf(fd, "\n");
+	    }
+	    for (r = ((Table*)((Tnode*)q->info.typ->ref)->ref)->list; r; r = r->next)
+	      gen_field(fd, 3, r, nse, nsa, method_response_encoding);
+	    gen_element_end(fd, 2, ns_addx(xtag, nse));
+	  }
+          fflush(fd);
+	  if (soap && vflag >= 0)
+            fprintf(fd, " </SOAP-ENV:Body>\n</SOAP-ENV:Envelope>\n");
+          fclose(fd);
+	}
+      }
+  }
+}
+
+void
+gen_field(FILE *fd, int n, Entry *p, char *nse, char *nsa, char *encoding)
+{ Entry *q;
+  char tmp[32];
+  LONG64 i;
+  int d;
+  if (!(p->info.sto & (Sattribute | Sconst | Sprivate | Sprotected)) && !is_transient(p->info.typ) && p->info.typ->type != Tfun && strncmp(p->sym->name, "__size", 6) && strncmp(p->sym->name, "__type", 6) && !is_choice(p))
+  { if (is_soap12(encoding) && (p->info.sto & Sreturn) && (nse || has_ns_eq(NULL, p->sym->name)) && !is_literal(encoding))
+      fprintf(fd, "%*s<SOAP-RPC:result xmlns:SOAP-RPC=\"%s\">%s</SOAP-RPC:result>\n", n, "", rpcURI, ns_add(p, nse));
+    if (is_XML(p->info.typ))
+    { if (yflag)
+        fprintf(fd, "%*s<!-- %s -->\n", n, "", c_type_id(p->info.typ, p->sym->name));
+      gen_element_begin(fd, n, ns_add(p, nse), NULL);
+      if (!is_invisible(p->sym->name))
+        fprintf(fd, ">");
+      else
+        fprintf(fd, "%*s<!-- extensibility element(s) -->\n", n, "");
+      gen_element_end(fd, n, ns_add(p, nse));
+    }
+    else
+    { if (!is_string(p->info.typ) && n >= 10 && p->info.minOccurs <= 0)
+      { /* Do not generate nil, since some tools don't accept it:
+        if (!is_invisible(p->sym->name))
+        { gen_element_begin(fd, n, ns_add(p->sym->name, nse), NULL);
+          fprintf(fd, " xsi:nil=\"true\"/>");
+        }
+	*/
+	return;
+      }
+      else if (n >= 20)
+      { fprintf(fd, "%*s<!-- WARNING max depth exceeded: schema appears to incorrectly define infinitely large documents in recursion over mandatory elements with minOccurs>0 -->\n", n, "");
+        return;
+      }
+      else if (is_fixedstring(p->info.typ))
+      { if (yflag)
+          fprintf(fd, "%*s<!-- %s -->\n", n, "", c_type_id(p->info.typ, p->sym->name));
+        gen_element_begin(fd, n, ns_add(p, nse), xsi_type(p->info.typ));
+        fprintf(fd, ">");
+        fflush(fd);
+	if (p->info.hasval)
+	   fprintf(fd, "%s", xstring(p->info.val.s));
+	else
+	  gen_val(fd, n, p->info.typ, nse, nsa, encoding);
+      }
+      else if (p->info.typ->type == Tarray)
+      { i = ((Tnode*) p->info.typ->ref)->width;
+        if (i)
+        { i = p->info.typ->width / i;
+          if (i > 4)
+            i = 2;
+	}
+        if (yflag)
+          fprintf(fd, "%*s<!-- %s -->\n", n, "", c_type_id(p->info.typ, p->sym->name));
+	gen_element_begin(fd, n, ns_add(p, nse), "SOAP-ENC:Array");
+	fprintf(fd, " SOAP-ENC:arrayType=\"%s[" SOAP_LONG_FORMAT "]\">", xsi_type_Tarray(p->info.typ), i);
+        fflush(fd);
+	gen_val(fd, n, p->info.typ, nse, nsa, encoding);
+      }
+      else if (is_dynamic_array(p->info.typ) && !is_binary(p->info.typ))
+      { if (!eflag && (has_ns(p->info.typ) || is_untyped(p->info.typ)))
+        { if (yflag)
+            fprintf(fd, "%*s<!-- %s -->\n", n, "", c_type_id(p->info.typ, p->sym->name));
+          gen_element_begin(fd, n, ns_add(p, nse), xsi_type(p->info.typ));
+          gen_atts(fd, n, (Table*)p->info.typ->ref, nsa);
+	}
+        else
+	{ d = get_Darraydims(p->info.typ);
+	  if (d)
+	  { for (i = 0; i < d-1; i++)
+	    { tmp[2*i] = ',';
+	      tmp[2*i+1] = '1';
+	    }
+	    tmp[2*d-2] = '\0';
+	  }
+	  else
+	    *tmp = '\0';
+          if (yflag)
+            fprintf(fd, "%*s<!-- %s -->\n", n, "", c_type_id(p->info.typ, p->sym->name));
+	  gen_element_begin(fd, n, ns_add(p, nse), "SOAP-ENC:Array");
+	  if (((Table*)p->info.typ->ref)->list->info.minOccurs > 0)
+	    fprintf(fd, " SOAP-ENC:arrayType=\"%s[" SOAP_LONG_FORMAT "%s]\">", wsdl_type(((Table*)p->info.typ->ref)->list->info.typ, ""), ((Table*)p->info.typ->ref)->list->info.minOccurs, tmp);
+	  else
+	    fprintf(fd, " SOAP-ENC:arrayType=\"%s[1%s]\">", wsdl_type(((Table*)p->info.typ->ref)->list->info.typ, ""), tmp);
+	}
+        fflush(fd);
+        gen_val(fd, n, p->info.typ, nse, nsa, encoding);
+      }
+      else if ((p->info.typ->type == Tpointer || p->info.typ->type == Treference) && is_dynamic_array((Tnode*)p->info.typ->ref) && !is_binary((Tnode*)p->info.typ->ref))
+      { if (!eflag && (has_ns((Tnode*)p->info.typ->ref) || is_untyped((Tnode*)p->info.typ->ref)))
+        { if (yflag)
+            fprintf(fd, "%*s<!-- %s -->\n", n, "", c_type_id(p->info.typ, p->sym->name));
+          gen_element_begin(fd, n, ns_add(p, nse), xsi_type((Tnode*)p->info.typ->ref));
+          gen_atts(fd, n, (Table*)((Tnode*)p->info.typ->ref)->ref, nsa);
+	}
+        else
+	{ d = get_Darraydims((Tnode*)p->info.typ->ref);
+	  if (d)
+	  { for (i = 0; i < d-1; i++)
+	    { tmp[2*i] = ',';
+	      tmp[2*i+1] = '1';
+	    }
+	    tmp[2*d-2] = '\0';
+	  }
+	  else
+	    *tmp = '\0';
+          if (yflag)
+            fprintf(fd, "%*s<!-- %s -->\n", n, "", c_type_id(p->info.typ, p->sym->name));
+	  gen_element_begin(fd, n, ns_add(p, nse), "SOAP-ENC:Array");
+	  if ((((Tnode*)p->info.typ->ref)->type == Tstruct || ((Tnode*)p->info.typ->ref)->type == Tclass) && ((Table*)((Tnode*)p->info.typ->ref)->ref)->list->info.minOccurs > 0)
+	    fprintf(fd, " SOAP-ENC:arrayType=\"%s[" SOAP_LONG_FORMAT "%s]\">", wsdl_type(((Table*)((Tnode*)p->info.typ->ref)->ref)->list->info.typ, ""), ((Table*)((Tnode*)p->info.typ->ref)->ref)->list->info.minOccurs, tmp);
+	  else
+	    fprintf(fd, " SOAP-ENC:arrayType=\"%s[1%s]\">", wsdl_type(((Table*)((Tnode*)p->info.typ->ref)->ref)->list->info.typ, ""), tmp);
+	}
+        fflush(fd);
+        gen_val(fd, n, (Tnode*)p->info.typ->ref, nse, nsa, encoding);
+      }
+      else if (p->info.typ->type == Tstruct || p->info.typ->type == Tclass)
+      { /*
+        if (!is_primclass(p->info.typ))
+        { char *nse1 = ns_qualifiedElement(p->info.typ);
+  	  char *nsa1 = ns_qualifiedAttribute(p->info.typ);
+	  if (nse1)
+	    nse = nse1;
+	  if (nsa1)
+	    nsa = nsa1;
+	}
+	*/
+        if (!is_invisible(p->sym->name))
+        { if (yflag)
+            fprintf(fd, "%*s<!-- %s -->\n", n, "", c_type_id(p->info.typ, p->sym->name));
+          gen_element_begin(fd, n, ns_add(p, nse), xsi_type_u(p->info.typ));
+          gen_atts(fd, n, (Table*)p->info.typ->ref, nsa);
+        }
+	else if (is_anyType(p->info.typ))
+          fprintf(fd, "%*s<!-- extensibility element(s) -->\n", n, "");
+      }
+      else if ((p->info.typ->type == Tpointer || p->info.typ->type == Treference)
+             && (((Tnode*)p->info.typ->ref)->type == Tstruct || ((Tnode*)p->info.typ->ref)->type == Tclass))
+      { /*
+        if (!is_primclass(p->info.typ->ref))
+        { char *nse1 = ns_qualifiedElement(p->info.typ->ref);
+	  char *nsa1 = ns_qualifiedAttribute(p->info.typ->ref);
+	  if (nse1)
+	    nse = nse1;
+	  if (nsa1)
+	    nsa = nsa1;
+	}
+	*/
+        if (!is_invisible(p->sym->name))
+        { if (yflag)
+            fprintf(fd, "%*s<!-- %s -->\n", n, "", c_type_id(p->info.typ, p->sym->name));
+          gen_element_begin(fd, n, ns_add(p, nse), xsi_type_u(p->info.typ));
+          gen_atts(fd, n, (Table*)((Tnode*)p->info.typ->ref)->ref, nsa);
+        }
+	else if (is_anyType(p->info.typ))
+          fprintf(fd, "%*s<!-- extensibility element(s) -->\n", n, "");
+      }
+      else if (p->info.typ->type != Tunion)
+      { if (!is_invisible(p->sym->name))
+        { if (yflag)
+            fprintf(fd, "%*s<!-- %s -->\n", n, "", c_type_id(p->info.typ, p->sym->name));
+          gen_element_begin(fd, n, ns_add(p, nse), xsi_type_u(p->info.typ));
+	  if (p->info.typ->type == Ttemplate)
+	  { if (((Tnode*)p->info.typ->ref)->type == Tpointer
+	     && (((Tnode*)((Tnode*)p->info.typ->ref)->ref)->type == Tclass
+	      || ((Tnode*)((Tnode*)p->info.typ->ref)->ref)->type == Tstruct))
+              gen_atts(fd, n, (Table*)((Tnode*)((Tnode*)p->info.typ->ref)->ref)->ref, nsa);
+	    else if (((Tnode*)p->info.typ->ref)->type == Tclass
+	     || ((Tnode*)p->info.typ->ref)->type == Tstruct)
+              gen_atts(fd, n, (Table*)((Tnode*)p->info.typ->ref)->ref, nsa);
+	    else
+	      fprintf(fd, ">");
+	  }
+	  else
+	    fprintf(fd, ">");
+        }
+      }
+      switch (p->info.typ->type)
+      { case Tchar:
+        case Tshort:
+        case Tint:
+        case Tlong:
+        case Tllong:
+        case Tuchar:
+        case Tushort:
+        case Tuint:
+        case Tulong:
+        case Tullong:
+          if (p->info.hasval)
+	    fprintf(fd, SOAP_LONG_FORMAT, p->info.val.i);
+	  else
+	    fprintf(fd, "0");
+	  break;
+        case Tfloat:
+        case Tdouble:
+        case Tldouble:
+          if (p->info.hasval)
+	    fprintf(fd, "%g", p->info.val.r);
+	  else
+	    fprintf(fd, "0.0");
+          break;
+        case Ttime:
+          { char tmp[256];
+            time_t t = time(NULL), *p = &t;
+            strftime(tmp, 256, "%Y-%m-%dT%H:%M:%SZ", gmtime(p));
+	    fprintf(fd, "%s", tmp);
+	  }
+          break;
+        case Tenum:
+	  if (p->info.hasval && p->info.typ->ref)
+	  { for (q = ((Table*)p->info.typ->ref)->list; q; q = q->next)
+	      if (p->info.val.i == q->info.val.i)
+	      { fprintf(fd, "%s", ns_remove2(q->sym->name));
+		break;
+	      }
+	  }
+	  else
+	    gen_val(fd, n+1, p->info.typ, nse, nsa, encoding);
+	  break;
+        case Tpointer:
+        case Treference:
+	  if (is_string(p->info.typ) || is_wstring(p->info.typ))
+	  { if (p->info.hasval)
+	      fprintf(fd, "%s", xstring(p->info.val.s));
+	    else
+	      gen_val(fd, n, p->info.typ, nse, nsa, encoding);
+	  }
+	  else
+	    gen_val(fd, n, (Tnode*)p->info.typ->ref, nse, nsa, encoding);
+	  break;
+        case Tclass:
+	  if (is_stdstr(p->info.typ))
+	  { if (p->info.hasval)
+	      fprintf(fd, "%s", xstring(p->info.val.s));
+	    else
+	      gen_val(fd, n, p->info.typ, nse, nsa, encoding);
+	    break;
+	  }
+        case Tstruct:
+	  if (!is_dynamic_array(p->info.typ))
+	    gen_val(fd, n, p->info.typ, nse, nsa, encoding);
+	  break;
+        case Tunion:
+	  gen_val(fd, n, p->info.typ, nse, nsa, encoding);
+	  break;
+	case Ttemplate:
+	  i = p->info.maxOccurs;
+	  if (i <= 1 || i > 4)
+	    i = p->info.minOccurs;
+          if (i <= 1)
+	    i = 2;
+	  do
+	  { /* a bit of a hack, I don't like the copy of the code above */
+	    { gen_val(fd, n, p->info.typ, nse, nsa, encoding);
+	      if  (i > 1)
+	      { gen_element_end(fd, 0, ns_add(p, nse));
+                if (!is_invisible(p->sym->name))
+                { if (yflag)
+                    fprintf(fd, "%*s<!-- %s -->\n", n, "", c_type_id(p->info.typ, p->sym->name));
+                  gen_element_begin(fd, n, ns_add(p, nse), xsi_type_u(p->info.typ));
+	          if (p->info.typ->type == Ttemplate)
+	          { if (((Tnode*)p->info.typ->ref)->type == Tpointer
+	             && (((Tnode*)((Tnode*)p->info.typ->ref)->ref)->type == Tclass
+	              || ((Tnode*)((Tnode*)p->info.typ->ref)->ref)->type == Tstruct))
+                      gen_atts(fd, n, (Table*)((Tnode*)((Tnode*)p->info.typ->ref)->ref)->ref, nsa);
+	            else if (((Tnode*)p->info.typ->ref)->type == Tclass
+	             || ((Tnode*)p->info.typ->ref)->type == Tstruct)
+                      gen_atts(fd, n, (Table*)((Tnode*)p->info.typ->ref)->ref, nsa);
+	            else
+	              fprintf(fd, ">");
+	          }
+	          else
+	            fprintf(fd, ">");
+	        }
+	      }
+              fflush(fd);
+	    }
+	  } while (--i);
+	  break;
+	default:
+	  break;
+        }
+        if (p->info.typ->type != Tunion)
+	  gen_element_end(fd, 0, ns_add(p, nse));
+        fflush(fd);
+    }
+  }
+}
+
+void
+gen_atts(FILE *fd, int n, Table *t, char *nsa)
+{ static unsigned long idnum = 0;
+  Entry *q, *r;
+  Tnode *p;
+  int i;
+  for (; t; t = t->prev)
+  {
+  for (q = t->list; q; q = q->next)
+  { if (q->info.sto & Sattribute && !is_invisible(q->sym->name) && q->info.maxOccurs != 0)
+    { fprintf(fd, " %s=\"", ns_add(q, nsa));
+      if ((q->info.typ->type == Tpointer || q->info.typ->type == Treference) && !is_string(q->info.typ))
+        p = (Tnode*)q->info.typ->ref;
+      else
+        p = q->info.typ;
+      if (is_eq(q->sym->name, "id"))
+        fprintf(fd, "%lu", ++idnum); /* id="#" should be unique */
+      else
+      switch (p->type)
+      { case Tchar:
+        case Tshort:
+        case Tint:
+        case Tuchar:
+        case Tushort:
+        case Tuint:
+        case Tlong:
+        case Tulong:
+        case Tllong:
+        case Tullong:
+          if (q->info.hasval)
+	    fprintf(fd, SOAP_LONG_FORMAT, q->info.val.i);
+          else
+            fprintf(fd, "0");
+          break;
+        case Tfloat:
+        case Tdouble:
+        case Tldouble:
+          if (q->info.hasval)
+	    fprintf(fd, "%g", q->info.val.r);
+	  else
+	    fprintf(fd, "0.0");
+          break;
+        case Ttime:
+          { char tmp[256];
+            time_t T = time(NULL);
+            strftime(tmp, 256, "%Y-%m-%dT%H:%M:%SZ", gmtime(&T));
+	    fprintf(fd, "%s", tmp);
+	  }
+	  break;
+        case Tenum:
+	  if (q->info.hasval && p->ref)
+	  { for (r = ((Table*)p->ref)->list; r; r = r->next)
+	    { if (r->info.val.i == q->info.val.i)
+	      { fprintf(fd, "%s", ns_remove2(r->sym->name));
+		break;
+	      }
+	    }
+	  }
+	  else if (p->ref)
+	    fprintf(fd, "%s", ns_remove2((((Table*)p->ref)->list)->sym->name));
+	  else
+	    fprintf(fd, "0");
+	  break;
+        case Tpointer:
+        case Treference:
+	  if (is_string(p))
+	  { if (q->info.hasval)
+	      fprintf(fd, "%s", xstring(q->info.val.s));
+	    else if (q->info.typ->minLength > 0 && q->info.typ->minLength < 10000)
+	      for (i = 0; i < (int)q->info.typ->minLength; i++)
+	        fprintf(fd, "X");
+	  }
+	  break;
+        case Tclass:
+	  if (is_stdstr(p))
+	  { if (q->info.hasval)
+	      fprintf(fd, "%s", xstring(q->info.val.s));
+	    else if (q->info.typ->minLength > 0 && q->info.typ->minLength < 10000)
+	      for (i = 0; i < (int)q->info.typ->minLength; i++)
+	        fprintf(fd, "X");
+          }
+	  break;
+	default:
+	  break;
+      }
+      if (yflag)
+        fprintf(fd, " // %s //", c_type_id(q->info.typ, q->sym->name));
+      fprintf(fd, "\"");
+    }
+  }
+  }
+  fprintf(fd, ">");
+  fflush(fd);
+}
+
+void
+gen_val(FILE *fd, int n, Tnode *p, char *nse, char *nsa, char *encoding)
+{ Entry *q;
+  LONG64 i;
+  if (!is_transient(p) && p->type != Tfun && !is_XML(p)) 
+  { if (is_fixedstring(p))
+    { for (i = 0; i < p->width / ((Tnode*)p->ref)->width - 1; i++)
+        fprintf(fd, "X");
+    } 
+    else if (p->type == Tarray)
+    { i = ((Tnode*) p->ref)->width;
+      if (i)
+      { i = p->width / i;
+        if (i > 4)
+          i = 2;
+        fprintf(fd, "\n");
+        for (; i > 0; i--)
+        { fprintf(fd, "%*s<item>", n+1, "");
+          gen_val(fd, n+1, (Tnode*)p->ref, nse, nsa, encoding);
+          fprintf(fd, "</item>\n");
+        }
+        fprintf(fd, "%*s", n, "");
+      }
+    }
+    else if (is_dynamic_array(p))
+    { if (!is_binary(p))
+      { Table *t;
+        fprintf(fd, "\n");
+	for (t = (Table*)p->ref; t && !t->list; t = t->prev)
+	  ;
+        if (t)
+	  gen_field(fd, n+1, t->list, nse, nsa, encoding);
+        fprintf(fd, "%*s", n, "");
+      }
+    }
+    switch (p->type)
+    { case Tchar:
+      case Tshort:
+      case Tint:
+      case Tlong:
+      case Tllong:
+      case Tuchar:
+      case Tushort:
+      case Tuint:
+      case Tulong:
+      case Tullong:
+	fprintf(fd, "0");
+	break;
+      case Tfloat:
+      case Tdouble:
+      case Tldouble:
+	fprintf(fd, "0.0");
+        break;
+      case Ttime:
+        { char tmp[256];
+          time_t T = time(NULL);
+          strftime(tmp, 256, "%Y-%m-%dT%H:%M:%SZ", gmtime(&T));
+	  fprintf(fd, "%s", tmp);
+	}
+	break;
+      case Tenum:
+        if (p->ref && (q = ((Table*)p->ref)->list))
+          fprintf(fd, "%s", ns_remove2(q->sym->name));
+        else
+          fprintf(fd, "0");
+        break;
+      case Tpointer:
+      case Treference:
+	if (is_string(p) || is_wstring(p))
+	{ if (p->minLength > 0 && p->minLength < 10000)
+	    for (i = 0; i < (int)p->minLength; i++)
+	      fprintf(fd, "X");
+	}
+        else
+	  gen_val(fd, n, (Tnode*)p->ref, nse, nsa, encoding);
+	break;
+      case Tclass:
+      case Tstruct:
+	nse = ns_qualifiedElement(p);
+  	nsa = ns_qualifiedAttribute(p);
+	if (is_stdstr(p))
+	{ if (p->minLength > 0 && p->minLength < 10000)
+	    for (i = 0; i < (int)p->minLength; i++)
+	      fprintf(fd, "X");
+	}
+	else if (is_primclass(p))
+	{ Table *t;
+	  for (t = (Table*)p->ref; t; t = t->prev)
+	  { Entry *r = entry(classtable, t->sym);
+	    r = t->list;
+	    if (r && is_item(r))
+	    { gen_val(fd, n, r->info.typ, nse, nsa, encoding);
+	      return;
+	    }
+	  }
+        }
+	else if (!is_dynamic_array(p) && p->ref)
+        { Table *t;
+	  fprintf(fd, "\n");
+	  for (t = (Table*)p->ref; t; t = t->prev)
+	  { for (q = t->list; q; q = q->next)
+	    { if (is_repetition(q))
+	      { i = q->info.maxOccurs;
+		if (i <= 1 || i > 4)
+		  i = q->info.minOccurs;
+		if (i <= 1)
+		  i = 2;
+		do
+		  gen_field(fd, n+1, q->next, nse, nsa, encoding);
+	        while (--i);
+	        q = q->next;
+	      }
+	      else
+	        gen_field(fd, n+1, q, nse, nsa, encoding);
+	    }
+	  }
+	  fprintf(fd, "%*s", n, "");
+        }
+        break;
+      case Tunion:
+        if (((Table*)p->ref)->list)
+          gen_field(fd, n, ((Table*)p->ref)->list, nse, nsa, encoding);
+	break;
+      case Ttemplate:
+        gen_val(fd, n, (Tnode*)p->ref, nse, nsa, encoding);
+        break;
+      default:
+        break;
+    }
+  }
+}
+
+void
+gen_header(FILE *fd, char *method, int response, char *encoding)
+{ if (custom_header)
+  { Service *sp;
+    Method *m = NULL;
+    Entry *q;
+    Table *r;
+    if (yflag)
+    { if (cflag)
+        fprintf(fd, " <!-- struct SOAP_ENV__Header -->\n");
+      else
+        fprintf(fd, " <!-- SOAP_ENV__Header *soap::header -->\n");
+    }
+    fprintf(fd, " <SOAP-ENV:Header>\n");
+    q = entry(classtable, lookup("SOAP_ENV__Header"));
+    if (q)
+    { r = (Table*)q->info.typ->ref;
+      if (r)
+      { for (q = r->list; q; q = q->next)
+        { if (!is_transient(q->info.typ) && !(q->info.sto & Sattribute) && q->info.typ->type != Tfun)
+          { for (sp = services; sp; sp = sp->next)
+              for (m = sp->list; m; m = m->next)
+	        if (is_eq(m->name, method) && (!strcmp(m->part, q->sym->name) || is_eq_nons(m->part, q->sym->name)) && ((!response && (m->mess&HDRIN)) || (response && (m->mess&HDROUT))))
+	        { gen_field(fd, 2, q, NULL, NULL, encoding);
+	          break;
+                }
+          }
+	}
+        fprintf(fd, " </SOAP-ENV:Header>\n");
+      }
+    }
+  }
+}
+
+FILE *
+gen_env(char *buf, char *method, int response, Table *t, char *ns, char *name, char *URL, char *executable, char *URI, char *encoding, int soap)
+{ char tmp[1024];
+  FILE *fd;
+  strcpy(tmp, buf);
+  if (!soap)
+    strcat(tmp, "REST.");
+#ifdef __vms
+  if (!response)
+  { sprintf(strrchr(tmp, '.'), "_%s_req.xml", method);
+    fprintf(fmsg, "Saving %s sample SOAP/XML request\n", tmp);
+  }
+  else
+  { sprintf(strrchr(tmp, '.'), "_%s_res.xml", method);
+    fprintf(fmsg, "Saving %s sample SOAP/XML response\n", tmp);
+  }
+#else
+  strcpy(strrchr(tmp, '.')+1, method);
+  if (!response)
+  { strcat(tmp, ".req.xml");
+    fprintf(fmsg, "Saving %s sample SOAP/XML request\n", tmp);
+  }
+  else
+  { strcat(tmp, ".res.xml");
+    fprintf(fmsg, "Saving %s sample SOAP/XML response\n", tmp);
+  }
+#endif
+  fd = fopen(tmp, "w");
+  if (!fd)
+    execerror("Cannot write XML file");
+  fprintf(fd, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+  if (soap && vflag >= 0)
+  { fprintf(fd, "<SOAP-ENV:Envelope");
+    gen_xmlns(fd);
+    fprintf(fd, ">\n");
+    gen_header(fd, method, response, encoding);
+    fprintf(fd, " <SOAP-ENV:Body");
+    if (eflag && !encoding)
+      fprintf(fd, "  SOAP-ENV:encodingStyle=\"%s\"", encURI);
+    else if (encoding && !*encoding)
+      fprintf(fd, "  SOAP-ENV:encodingStyle=\"%s\"", encURI);
+    else if (encoding && strcmp(encoding, "literal"))
+      fprintf(fd, "  SOAP-ENV:encodingStyle=\"%s\"", encoding);
+    fprintf(fd, ">\n");
+  }
+  return fd;
+}
+
+void
+gen_xmlns(FILE *fd)
+{ Symbol *s;
+  Service *sp = NULL;
+  for (s = nslist; s; s = s->next)
+  { for (sp = services; sp; sp = sp->next)
+      if (!tagcmp(sp->ns, s->name) && sp->URI)
+        break;
+    if (sp)
+      fprintf(fd, "\n  xmlns:%s=\"%s\"", ns_convert(s->name), sp->URI);
+    else if (!strcmp(s->name, "SOAP-ENV"))
+    { if (vflag >= 0)
+        fprintf(fd, "\n  xmlns:SOAP-ENV=\"%s\"", envURI);
+    }
+    else if (!strcmp(s->name, "SOAP-ENC"))
+    { if (vflag >= 0)
+      fprintf(fd, "\n  xmlns:SOAP-ENC=\"%s\"", encURI);
+    }
+    else if (!strcmp(s->name, "xsi"))
+      fprintf(fd, "\n  xmlns:xsi=\"%s\"", xsiURI);
+    else if (!strcmp(s->name, "xsd"))
+      fprintf(fd, "\n  xmlns:xsd=\"%s\"", xsdURI);
+    else
+      fprintf(fd, "\n  xmlns:%s=\"%s/%s.xsd\"", ns_convert(s->name), tmpURI, ns_convert(s->name));
+  }
+}
+
+char *
+emalloc(size_t n)
+{ char	*p;
+  if ((p = (char*)malloc(n)) == NULL)
+    execerror("out of memory");
+  return p;
+}
+
+void
+soap_serve(Table *table)
+{ Entry *method, *catch_method = NULL;
+  char *catch_action = NULL;
+  if (!Cflag)
+  {
+  fprintf(fserver,"\n\n");
+  if (!cflag && !namespaceid)
+    fprintf(fserver,"extern \"C\" ");
+  fprintf(fserver,"SOAP_FMAC5 int SOAP_FMAC6 %s_serve(struct soap *soap)", nflag?prefix:"soap"); 
+
+  fprintf(fserver,"\n{\n#ifndef WITH_FASTCGI\n\tunsigned int k = soap->max_keep_alive;\n#endif\n\tdo\n\t{");
+  fprintf(fserver,"\n#ifndef WITH_FASTCGI\n\t\tif (soap->max_keep_alive > 0 && !--k)\n\t\t\tsoap->keep_alive = 0;\n#endif");
+  fprintf(fserver,"\n\t\tif (soap_begin_serve(soap))\n\t\t{\tif (soap->error >= SOAP_STOP)\n\t\t\t\tcontinue;\n\t\t\treturn soap->error;\n\t\t}");
+  if (namespaceid)
+    fprintf(fserver,"\n\t\tif (%s::%s_serve_request(soap) || (soap->fserveloop && soap->fserveloop(soap)))\n\t\t{\n#ifdef WITH_FASTCGI\n\t\t\tsoap_send_fault(soap);\n#else\n\t\t\treturn soap_send_fault(soap);\n#endif\n\t\t}", namespaceid, nflag?prefix:"soap");
+  else
+    fprintf(fserver,"\n\t\tif (%s_serve_request(soap) || (soap->fserveloop && soap->fserveloop(soap)))\n\t\t{\n#ifdef WITH_FASTCGI\n\t\t\tsoap_send_fault(soap);\n#else\n\t\t\treturn soap_send_fault(soap);\n#endif\n\t\t}", nflag?prefix:"soap");
+  fprintf(fserver,"\n\n#ifdef WITH_FASTCGI\n\t\tsoap_destroy(soap);\n\t\tsoap_end(soap);\n\t} while (1);\n#else\n\t} while (soap->keep_alive);\n#endif");
+
+  fprintf(fserver,"\n\treturn SOAP_OK;");
+  fprintf(fserver,"\n}");
+
+  fprintf(fserver,"\n\n#ifndef WITH_NOSERVEREQUEST\n");
+  if (!cflag && !namespaceid)
+    fprintf(fserver,"extern \"C\" ");
+  fprintf(fserver,"SOAP_FMAC5 int SOAP_FMAC6 %s_serve_request(struct soap *soap)\n{", nflag?prefix:"soap");
+  fprintf(fserver, "\n\tsoap_peek_element(soap);");
+  for (method = table->list; method; method = method->next)
+  { char *action = NULL;
+    if (method->info.typ->type == Tfun && !(method->info.sto & Sextern))
+    { if (aflag)
+      { Service *sp;
+        for (sp = services; sp; sp = sp->next)
+        { if (has_ns_eq(sp->ns, method->sym->name))
+	  { Method *m;
+	    for (m = sp->list; m; m = m->next)
+	    { if (is_eq_nons(m->name, method->sym->name))
+	      { if (m->mess == ACTION || m->mess == REQUEST_ACTION)
+	          action = m->part;
+	      }
+	    }
+  	  }
+        }
+      }
+      if (is_invisible(method->sym->name))
+      { Entry *param = entry(classtable, method->sym);
+        if (param)
+          param = ((Table*)param->info.typ->ref)->list;
+        if (action)
+        { if (*action == '"')
+          { fprintf(fserver, "\n\tif (");
+            if (param && !Aflag)
+              fprintf(fserver, "(soap->action == NULL && !soap_match_tag(soap, soap->tag, \"%s\")) || ", ns_convert(param->sym->name));
+            else
+            { catch_method = method;
+	      catch_action = action;
+	    }
+            fprintf(fserver, "(soap->action && !strcmp(soap->action, %s))", action);
+          }
+          else
+          { fprintf(fserver, "\n\tif (");
+            if (param && !Aflag)
+              fprintf(fserver, "(soap->action == NULL && !soap_match_tag(soap, soap->tag, \"%s\")) || ", ns_convert(param->sym->name));
+            else
+            { catch_method = method;
+	      catch_action = action;
+	    }
+            fprintf(fserver, "(soap->action && !strcmp(soap->action, \"%s\"))", action);
+          }
+          fprintf(fserver, ")\n\t\treturn soap_serve_%s(soap);", ident(method->sym->name));
+        }
+        else
+        { if (Aflag)
+            compliancewarn("Option -A requires a SOAPAction where none is defined");
+          if (param)
+          { fprintf(fserver, "\n\tif (!soap_match_tag(soap, soap->tag, \"%s\")", ns_convert(param->sym->name));
+            fprintf(fserver, ")\n\t\treturn soap_serve_%s(soap);", ident(method->sym->name));
+          }
+          else
+          { catch_method = method;
+	    catch_action = action;
+	  }
+        }
+      }
+      else
+      { if (action)
+        { if (*action == '"')
+	  { fprintf(fserver, "\n\tif (");
+	    if (!Aflag)
+	      fprintf(fserver, "(soap->action == NULL && !soap_match_tag(soap, soap->tag, \"%s\")) || ", ns_convert(method->sym->name));
+	    fprintf(fserver, "(soap->action && !strcmp(soap->action, %s))", action);
+	  }
+          else
+	  { fprintf(fserver, "\n\tif (");
+	    if (!Aflag)
+	      fprintf(fserver, "(soap->action == NULL && !soap_match_tag(soap, soap->tag, \"%s\")) || ", ns_convert(method->sym->name));
+	    fprintf(fserver, "(soap->action && !strcmp(soap->action, \"%s\"))", action);
+	  }
+	}
+	else
+	{ if (Aflag)
+	    compliancewarn("Option -A requires a SOAPAction where none is defined");
+          fprintf(fserver, "\n\tif (!soap_match_tag(soap, soap->tag, \"%s\")", ns_convert(method->sym->name));
+	}
+        fprintf(fserver, ")\n\t\treturn soap_serve_%s(soap);", ident(method->sym->name));
+      }
+    }
+  }
+  if (catch_method)
+  { if (Aflag && catch_action)
+    { if (*catch_action == '"')
+      { fprintf(fserver, "\n\tif (");
+        fprintf(fserver, "(soap->action && !strcmp(soap->action, %s))", catch_action);
+        fprintf(fserver, ")\n\t\treturn soap_serve_%s(soap);", ident(catch_method->sym->name));
+      }
+      else
+      { fprintf(fserver, "\n\tif (");
+        fprintf(fserver, "(soap->action && !strcmp(soap->action, \"%s\"))", catch_action);
+        fprintf(fserver, ")\n\t\treturn soap_serve_%s(soap);", ident(catch_method->sym->name));
+      }
+      fprintf(fserver,"\n\treturn soap->error = SOAP_NO_METHOD;");
+    }
+    else
+      fprintf(fserver, "\n\treturn soap_serve_%s(soap);", ident(catch_method->sym->name));
+  }
+  else
+    fprintf(fserver,"\n\treturn soap->error = SOAP_NO_METHOD;");
+
+  fprintf(fserver,"\n}\n#endif");
+
+  banner(fheader, "Server-Side Operations");
+  for (method = table->list; method; method = method->next)
+    if (method->info.typ->type == Tfun && !(method->info.sto & Sextern))
+	generate_proto(table, method);
+
+  banner(fheader, "Server-Side Skeletons to Invoke Service Operations");
+  fprintf(fheader, "\n");
+  if (!cflag && !namespaceid)
+    fprintf(fheader,"extern \"C\" ");
+  fprintf(fheader, "SOAP_FMAC5 int SOAP_FMAC6 %s_serve(struct soap*);", nflag?prefix:"soap");
+  fprintf(fheader, "\n\n");
+  if (!cflag && !namespaceid)
+    fprintf(fheader,"extern \"C\" ");
+  fprintf(fheader, "SOAP_FMAC5 int SOAP_FMAC6 %s_serve_request(struct soap*);", nflag?prefix:"soap");
+  for (method = table->list; method; method = method->next)
+    if (method->info.typ->type == Tfun && !(method->info.sto & Sextern) && !is_imported(method->info.typ))
+      gen_serve_method(fserver, table, method, NULL);
+
+  }
+
+  if (!Sflag)
+  { banner(fheader, "Client-Side Call Stubs");
+    for (method = table->list; method; method = method->next)
+      if (method->info.typ->type == Tfun && !(method->info.sto & Sextern) && !is_imported(method->info.typ))
+	gen_call_method(fclient, table, method, NULL);
+  }
+
+}
+
+void
+generate_proto(Table *table, Entry *param)
+{ Entry *q, *pout;
+  Table *output;
+  q = entry(table, param->sym);
+  if (q)
+    pout = (Entry*)q->info.typ->ref;
+  else
+  { fprintf(stderr, "Internal error: no table entry\n");
+    return;
+  }
+  q = entry(classtable, param->sym);
+  output = (Table*)q->info.typ->ref;
+  fprintf(fheader, "\n\nSOAP_FMAC5 int SOAP_FMAC6 %s(struct soap*", ident(param->sym->name));
+  gen_params(fheader, output, pout, 1);
+  fprintf(fheader, ";");
+}
+
+int
+tagcmp(const char *s, const char *t)
+{ size_t i, n;
+  n = strlen(s);
+  for (i = 0; i < n; i++)
+  { int c = t[i];
+    if (c == '_' && s[i] != '_')
+      c = '-';
+    if (s[i] > c)
+      return 1;
+    if (s[i] < c)
+      return -1;
+  }
+  return -(t[i] != 0);
+}
+
+int
+tagncmp(const char *s, const char *t, size_t n)
+{ size_t i;
+  for (i = 0; i < n; i++)
+  { int c = t[i];
+    if (c == '_' && s[i] != '_')
+      c = '-';
+    if (s[i] > c)
+      return 1;
+    if (s[i] < c)
+      return -1;
+  }
+  return 0;
+}
+
+int
+is_qname(Tnode *p)
+{ if (p->sym && is_string(p) && (is_eq(p->sym->name, "xsd__QName") || is_eq(p->sym->name, "QName")))
+    return 1;
+  return p->id && is_string(p) && (is_eq(p->id->name, "xsd__QName") || is_eq(p->id->name, "QName"));
+}
+
+int
+is_stdqname(Tnode *p)
+{ if (p->sym && p->type == Tclass && is_volatile(p) && (is_eq(p->sym->name, "xsd__QName") || is_eq(p->sym->name, "QName")))
+    return 1;
+  return p->id && p->type == Tclass && is_volatile(p) && (is_eq(p->id->name, "xsd__QName") || is_eq(p->id->name, "QName"));
+}
+
+int
+is_XML(Tnode *p)
+{ return (p->sym && (is_string(p) || is_wstring(p)) && is_eq(p->sym->name, "XML")) || ((p->type == Tpointer || p->type == Treference) && is_XML((Tnode*)p->ref));
+}
+
+int
+is_stdXML(Tnode *p)
+{ return p->sym && (is_stdstring(p) || is_stdwstring(p)) && is_eq(p->sym->name, "XML");
+}
+
+int
+is_response(Tnode *p)
+{ return (p->type == Tpointer || p->type == Treference)
+	&& p->ref
+	&& has_ns((Tnode*)p->ref)
+	&& ((((Tnode*)p->ref)->type == Tstruct || ((Tnode*)p->ref)->type == Tclass) && !is_primclass((Tnode*)p->ref) && !is_dynamic_array((Tnode*)p->ref) && !is_stdstring((Tnode*)p->ref) && !is_stdwstring((Tnode*)p->ref));
+}
+
+Entry*
+get_response(Tnode *p)
+{ if (p->type == Tfun)
+    return p->response;
+  return 0;
+}
+
+int
+is_unmatched(Symbol *sym)
+{ return sym->name[0] == '_'
+      && sym->name[1] != '_'
+      && strncmp(sym->name, "_DOT", 4) 
+      && strncmp(sym->name, "_USCORE", 7)
+      && (strncmp(sym->name, "_x", 2) || !isxdigit(sym->name[2]) || !isxdigit(sym->name[3]) || !isxdigit(sym->name[4]) || !isxdigit(sym->name[5]));
+}
+
+int
+is_invisible(const char *name)
+{ return name[0] == '-' || (name[0] == '_' && name[1] == '_' && strncmp(name, "__ptr", 5));
+}
+
+int
+is_invisible_empty(Tnode *p)
+{ if (p->type == Tstruct || p->type == Tclass)
+    if (is_invisible(p->id->name))
+      if (!p->ref || !((Table*)p->ref)->list)
+        return 1;
+  return 0;
+}
+
+int
+is_element(Tnode *typ)
+{ if (is_XML(typ) || is_stdXML(typ) || is_qname(typ) || is_stdqname(typ))
+    return 0;
+  if (typ->sym)
+    return is_unmatched(typ->sym);
+  if (typ->type == Tstruct || typ->type == Tclass)
+    return is_unmatched(typ->id);
+  return 0;
+}
+
+int
+is_untyped(Tnode *typ)
+{ Tnode *p;
+  if (typ->sym)
+    return is_unmatched(typ->sym);
+  if (typ->type == Tpointer || typ->type == Treference || typ->type == Tarray)
+    return is_untyped((Tnode*)typ->ref);
+  if (typ->type == Tstruct || typ->type == Tclass)
+  { if (is_dynamic_array(typ) && !has_ns(typ) && !is_binary(typ))
+    { p = (Tnode*)((Table*)typ->ref)->list->info.typ->ref;
+      return is_untyped(p);
+    }
+    else
+      return is_unmatched(typ->id);
+  }
+  return 0;
+}
+
+int
+is_primclass(Tnode *typ)
+{ Table *t;
+  if (typ->type == Tstruct || typ->type == Tclass)
+  { if (!is_dynamic_array(typ))
+    { t = (Table*)typ->ref;
+      while (t)
+      { if (t->list && is_item(t->list))
+          break;
+	t = t->prev;
+      }
+      if (!t)
+        return 0;
+      t = (Table*)typ->ref;
+      while (t)
+      { Entry *p;
+        for (p = t->list; p; p = p->next)
+	  if (!is_item(p))
+	    if (p->info.typ->type != Tfun && !is_transient(p->info.typ) && p->info.sto != Sattribute && p->info.sto != Sprivate && p->info.sto != Sprotected)
+	      return 0;
+        t = t->prev;
+      }
+      return 1;
+    }
+  }
+  else if (typ->type == Tpointer || typ->type == Treference)
+    return is_primclass((Tnode*)typ->ref);
+  return 0;
+}
+
+int
+is_mask(Tnode *typ)
+{ return (typ->type == Tenum && typ->width == 8);
+}
+
+int
+is_void(Tnode *typ)
+{ if (!typ)
+    return 1;
+  if (typ->type == Tvoid)
+    return 1;
+  if (typ->type == Tpointer)
+    return is_void((Tnode*)typ->ref); 
+  if (typ->type == Treference)
+    return is_void((Tnode*)typ->ref); 
+  if (typ->type == Tarray)
+    return is_void((Tnode*)typ->ref); 
+  if (typ->type == Ttemplate)
+    return is_void((Tnode*)typ->ref); 
+  return 0;
+}
+
+int
+is_transient(Tnode *typ)
+{ if (!typ)
+    return 1;
+  if (typ->type == Tstruct && typ->id == lookup("soap"))
+    return 1;
+  if (is_external(typ) || is_volatile(typ))
+    return 0;
+  if (typ->transient > 0)
+    return 1;
+  switch (typ->type)
+  { case Tpointer:
+    case Treference:
+    case Tarray:
+    case Ttemplate:
+      return is_transient((Tnode*)typ->ref);
+    case Tnone:
+    case Tvoid:
+      return 1;
+    default:
+      break;
+  }
+  return 0;
+}
+
+int
+is_imported(Tnode* typ)
+{ return typ->imported != NULL;
+}
+
+int
+is_external(Tnode* typ)
+{ return typ->transient == -1;
+}
+
+int
+is_anyType(Tnode* typ)
+{ if (typ->type == Tpointer)
+    return is_anyType((Tnode*)typ->ref);
+  return is_external(typ) && typ->type == Tstruct && !strcmp(typ->id->name, "soap_dom_element");
+}
+
+int
+is_anyAttribute(Tnode* typ)
+{ if (typ->type == Tpointer)
+    return is_anyAttribute((Tnode*)typ->ref);
+  return is_external(typ) && typ->type == Tstruct && !strcmp(typ->id->name, "soap_dom_attribute");
+}
+
+int
+is_volatile(Tnode* typ)
+{ return typ->transient == -2;
+}
+
+int
+is_template(Tnode *p)
+{ if (p->type == Tpointer)
+    return is_template((Tnode*)p->ref);
+  return p->type == Ttemplate;
+}
+
+int
+is_repetition(Entry *p)
+{ if (p)
+    return p->next && p->next->info.typ->type == Tpointer && (p->info.typ->type == Tint || p->info.typ->type == Tuint) && ((p->info.sto & Sspecial) || !strncmp(p->sym->name, "__size", 6));
+  return 0;
+} 
+
+int
+is_item(Entry *p)
+{ if (p)
+    return !strcmp(p->sym->name, "__item");
+  return 0;
+}
+
+int
+is_self(Entry *p)
+{ if (p)
+    return !strcmp(p->sym->name, "__self");
+  return 0;
+}
+
+int
+is_choice(Entry *p)
+{ if (p)
+    if (p->next && p->next->info.typ->type == Tunion && p->info.typ->type == Tint && ((p->info.sto & Sspecial) || !strncmp(p->sym->name, "__union", 7)))
+      return 1;
+  return 0;
+} 
+
+int
+is_sequence(Entry *p)
+{ if (p)
+  { Tnode *q = p->info.typ;
+    if (q->type == Tpointer)
+      q = (Tnode*)q->ref;
+    if (q->type == Tstruct && is_invisible(p->sym->name) && is_invisible(q->id->name) && !is_transient(q))
+      return 1;
+  }
+  return 0;
+} 
+
+
+int
+is_anytype(Entry *p)
+{ if (p)
+    if (p->next && p->next->info.typ->type == Tpointer && ((Tnode*)p->next->info.typ->ref)->type == Tvoid && p->info.typ->type == Tint && !strncmp(p->sym->name, "__type", 6))
+    { is_anytype_flag = 1;
+      return 1;
+    }
+  return 0;
+} 
+
+int
+is_keyword(const char *name)
+{ Symbol *s = lookup(name);
+  if (s)
+    return s->token != ID;
+  return 0;
+}
+
+
+int
+has_ptr(Tnode *typ)
+{ Tnode	*p;
+  if (typ->type == Tpointer || typ->type == Treference)
+    return 0;
+  for (p = Tptr[Tpointer]; p; p = p->next)
+    if ((Tnode*)p->ref == typ && p->transient != 1)
+      return 1;
+  return 0;
+}
+
+int
+has_detail_string(void)
+{ Entry *p = entry(classtable, lookup("SOAP_ENV__Fault"));
+  if (p && p->info.typ->ref && (p->info.typ->type == Tstruct || p->info.typ->type == Tclass))
+  { Entry *e = entry((Table*)p->info.typ->ref, lookup("detail"));
+    if (e && e->info.typ->ref && e->info.typ->type == Tpointer && ((Tnode*)e->info.typ->ref)->type == Tstruct)
+    { Entry *e2 = entry((Table*)((Tnode*)e->info.typ->ref)->ref, lookup("__any"));
+      return e2 && is_string(e2->info.typ);
+    }
+  }
+  return 0;
+}
+
+int
+has_Detail_string(void)
+{ Entry *p = entry(classtable, lookup("SOAP_ENV__Fault"));
+  if (p && p->info.typ->ref && (p->info.typ->type == Tstruct || p->info.typ->type == Tclass))
+  { Entry *e = entry((Table*)p->info.typ->ref, lookup("SOAP_ENV__Detail"));
+    if (e && e->info.typ->ref && e->info.typ->type == Tpointer && ((Tnode*)e->info.typ->ref)->type == Tstruct)
+    { Entry *e2 = entry((Table*)((Tnode*)e->info.typ->ref)->ref, lookup("__any"));
+      return e2 && is_string(e2->info.typ);
+    }
+  }
+  return 0;
+}
+
+int
+has_class(Tnode *typ)
+{ Entry *p;
+  if (typ->type == Tstruct && typ->ref)
+  { for (p = ((Table*)typ->ref)->list; p; p = p->next)
+    { if (p->info.sto & Stypedef)
+        continue;
+      if (p->info.typ->type == Tclass || p->info.typ->type == Ttemplate)
+        return 1;
+      if (p->info.typ->type == Tstruct && has_class(p->info.typ))
+        return 1;
+    }
+  }
+  return 0;
+}
+
+int
+has_external(Tnode *typ)
+{ Entry *p;
+  if ((typ->type == Tstruct || typ->type == Tclass) && typ->ref)
+  { for (p = ((Table*)typ->ref)->list; p; p = p->next)
+    { if (p->info.typ->type == Tstruct || p->info.typ->type == Tclass)
+      { if (is_external(p->info.typ) || has_external(p->info.typ))
+          return 1;
+      }
+    }
+  }
+  return 0;
+}
+
+int
+has_volatile(Tnode *typ)
+{ Entry *p;
+  if ((typ->type == Tstruct || typ->type == Tclass) && typ->ref)
+  { for (p = ((Table*)typ->ref)->list; p; p = p->next)
+    { if (p->info.typ->type == Tstruct || p->info.typ->type == Tclass)
+      { if (is_volatile(p->info.typ) || has_volatile(p->info.typ))
+	  if (!is_stdstr(p->info.typ))
+            return 1;
+      }
+    }
+  }
+  return 0;
+}
+
+int
+has_ns(Tnode *typ)
+{ if (typ->type == Tstruct || typ->type == Tclass || typ->type == Tenum)
+    return has_ns_eq(NULL, typ->id->name);
+  return 0;
+}
+
+int
+has_ns_t(Tnode *typ)
+{ char *s;
+  if (typ->sym)
+  { s = strstr(typ->sym->name + 1, "__");
+    if (!s)
+    { s = strchr(typ->sym->name, ':');
+      if (s && s[1] == ':')
+        s = NULL;
+    }
+    return s && s[1] && s[2] && (s[2] != '_'
+     || (s[2] == '_' && s[3] == 'x' && isxdigit(s[4]) && isxdigit(s[5]) && isxdigit(s[6]) && isxdigit(s[7]))
+     || !strncmp(s+2, "_DOT", 4) 
+     || !strncmp(s+2, "_USCORE", 7));
+  }
+  return has_ns(typ);
+}
+
+/* needs_lang adds xml:lang attribute to matching struct/class member name
+   we should use an annotation for soapcpp2's input this in the future instead
+   of a hard-coded member name */
+void
+needs_lang(Entry *e)
+{ if (!strcmp(e->sym->name, "SOAP_ENV__Text"))
+    fprintf(fout, "\n\tif (soap->lang)\n\t\tsoap_set_attr(soap, \"xml:lang\", soap->lang, 1);");
+}
+
+int
+is_eq_nons(const char *s, const char *t)
+{ size_t n, m;
+  char *r;
+  while (*s == '_' || *s == ':')
+    s++;
+  while (*t == '_' || *t == ':')
+    t++;
+  if (!*s || !*t)
+    return 0;
+  r = strstr(t, "__");
+  if (r)
+    t = r + 2;
+  n = strlen(s) - 1;
+  m = strlen(t) - 1;
+#ifdef SOAP_OLD_DIRECTIVE_NAME_MATCHING
+  while (n > 0 && s[n] == '_')
+    n--;
+  while (m > 0 && t[m] == '_')
+    m--;
+#endif
+  if (n != m)
+    return 0;
+  return !strncmp(s, t, n + 1);
+}
+
+int
+is_eq(const char *s, const char *t)
+{ size_t n, m;
+  while (*s == '_' || *s == ':')
+    s++;
+  while (*t == '_' || *t == ':')
+    t++;
+  if (!*s || !*t)
+    return 0;
+  for (n = strlen(s) - 1; n && s[n] == '_'; n--)
+    ;
+  for (m = strlen(t) - 1; m && t[m] == '_'; m--)
+    ;
+  if (n != m)
+    return 0;
+  return !strncmp(s, t, n + 1);
+}
+
+int
+has_ns_eq(char *ns, char *s)
+{ size_t n;
+  while (*s == '_' || *s == ':')
+    s++;
+  if (!ns)
+  { char *t = strstr(s + 1, "__");
+    if (!t
+     || (t[2] == 'x' && isxdigit(t[3]) && isxdigit(t[4]) && isxdigit(t[5]) && isxdigit(t[6]))
+     || !strncmp(t+2, "DOT", 3) 
+     || !strncmp(t+2, "USCORE", 6))
+    { t = strchr(s, ':');
+      if (t && t[1] == ':')
+        t = NULL;
+    }
+    return t && t[1] && t[2] && t[2] != '_';
+  }
+  if ((n = strlen(ns)) < strlen(s))
+    return ((s[n] == '_' && s[n+1] == '_') || (s[n] == ':' && s[n+1] != ':')) && !tagncmp(ns, s, n);
+  return 0;
+}
+
+char *
+strict_check(void)
+{ if (sflag)
+    return "";
+  return "(soap->mode & SOAP_XML_STRICT) && ";
+}
+
+char *
+ns_of(char *name)
+{ Service *sp;
+  for (sp = services; sp; sp = sp->next)
+    if (has_ns_eq(sp->ns, name))
+      break;
+  if (sp)
+    return sp->URI;
+  return NULL;
+}
+
+int
+eq_ns(char *s, char *t)
+{ return ns_of(s) == ns_of(t);
+}
+
+char *
+prefix_of(char *s)
+{ char *t;
+  while (*s == '_' || *s == ':')
+    s++;
+  t = strstr(s + 1, "__");
+  if (!t)
+  { t = strchr(s, ':');
+    if (t && t[1] == ':')
+      t = NULL;
+  }
+  if (t && t[1] && t[2] && t[2] != '_')
+  { char *r  = (char*)emalloc(t - s + 1);
+    strncpy(r, s, t - s);
+    r[t - s] = '\0';
+    return r;
+  }
+  return s;
+}
+
+char *
+ns_add_overridden(Table *t, Entry *p, char *ns)
+{ Entry *q;
+  Symbol *s = t->sym;
+  if (s)
+  { do
+    { for (q = t->list; q; q = q->next)
+        if (!strcmp(q->sym->name, p->sym->name))
+	  return ns_add(p, ns ? prefix_of(t->sym->name) : NULL);
+    } while ((t = t->prev) != NULL);
+  }
+  return ns_add(p, ns);
+}
+
+
+char *
+c_ident(Tnode *typ)
+{ if (typ->sym && strcmp(typ->sym->name, "/*?*/"))
+    return res_remove(typ->sym->name);
+  return t_ident(typ);
+}
+
+char *
+soap_type(Tnode *typ)
+{ char *s, *t = c_ident(typ);
+  if (namespaceid)
+  { s = (char*)emalloc(strlen(t) + strlen(namespaceid) + 12);
+    strcpy(s, "SOAP_TYPE_");
+    strcat(s, namespaceid);
+    strcat(s, "_");
+  }
+  else
+  { s = (char*)emalloc(strlen(t) + 11);
+    strcpy(s, "SOAP_TYPE_");
+  }
+  strcat(s, t);
+  return s;
+}
+
+char *
+ident(char *name)
+{ char *s = strrchr(name, ':');
+  if (s && *(s+1) && *(s-1) != ':')
+    return s+1;
+  return name;
+}
+
+/*t_ident gives the name of a type in identifier format*/
+char *
+t_ident(Tnode *typ)
+{ char *p, *q;
+  switch(typ->type)
+  {
+  case Tnone:
+    return "";
+  case Tvoid:
+    return "void";
+  case Tchar:
+    return "byte";
+  case Twchar:
+    return "wchar";
+  case Tshort:
+    return "short";
+  case Tint:
+    return "int";
+  case Tlong:
+    return "long";
+  case Tllong:
+    return "LONG64";
+  case Tfloat:
+    return "float";
+  case Tdouble:
+    return "double";
+  case Tldouble:
+    return "decimal";
+  case Tuchar:
+    return "unsignedByte";
+  case Tushort:
+    return "unsignedShort";
+  case Tuint:
+    return "unsignedInt";
+  case Tulong:
+    return "unsignedLong";
+  case Tullong:
+    return "unsignedLONG64";
+  case Ttime:
+    return "time";
+  case Tstruct:
+  case Tclass:
+  case Tunion:
+  case Tenum:
+    if ((Table*)typ->ref == booltable)
+      return "bool";
+    return res_remove(typ->id->name);
+  case Treference:
+    return c_ident((Tnode*)typ->ref);
+  case Tpointer:
+    if (is_string(typ))
+	return "string";
+    if (is_wstring(typ))
+	return "wstring";
+    p=(char*) emalloc((10+strlen(q = c_ident((Tnode*)typ->ref)))*sizeof(char));
+    strcpy(p,"PointerTo");
+    strcat(p,q);
+    return p;
+  case Tarray:
+    p=(char*) emalloc((16+strlen(c_ident((Tnode*)typ->ref)))*sizeof(char));
+    if (((Tnode*)typ->ref)->width)
+      sprintf(p, "Array%dOf%s",typ->width / ((Tnode*) typ->ref)->width,c_ident(typ->ref));
+    else
+      sprintf(p, "ArrayOf%s", c_ident((Tnode*)typ->ref));
+    return p;
+  case Ttemplate:
+    if (typ->ref)
+    { p=(char*) emalloc((11+strlen(res_remove(typ->id->name))+strlen(q = c_ident((Tnode*)typ->ref)))*sizeof(char));
+      strcpy(p, res_remove(typ->id->name));
+      strcat(p, "TemplateOf");
+      strcat(p, q);
+      return p;
+    }
+  case Tfun:
+    return "Function";
+  }
+  return "anyType";
+}
+
+void
+utf8(char **t, long c)
+{ if (c < 0x0080)
+    *(*t)++ = (char)c;
+  else
+  { if (c < 0x0800)
+      *(*t)++ = (char)(0xC0 | ((c >> 6) & 0x1F));
+    else
+    { if (c < 0x010000)
+        *(*t)++ = (char)(0xE0 | ((c >> 12) & 0x0F));
+      else
+      { if (c < 0x200000)
+          *(*t)++ = (char)(0xF0 | ((c >> 18) & 0x07));
+        else
+        { if (c < 0x04000000)
+            *(*t)++ = (char)(0xF8 | ((c >> 24) & 0x03));
+          else
+          { *(*t)++ = (char)(0xFC | ((c >> 30) & 0x01));
+            *(*t)++ = (char)(0x80 | ((c >> 24) & 0x3F));
+          }
+          *(*t)++ = (char)(0x80 | ((c >> 18) & 0x3F));
+        }     
+        *(*t)++ = (char)(0x80 | ((c >> 12) & 0x3F));
+      }
+      *(*t)++ = (char)(0x80 | ((c >> 6) & 0x3F));
+    }
+    *(*t)++ = (char)(0x80 | (c & 0x3F));
+  }
+  *(*t) = '\0';
+}
+
+char *
+ns_convert(char *tag)
+{ char *t, *s;
+  size_t i, n;
+  if (*tag == '_')
+  { if (!strncmp(tag, "__ptr", 5))
+    { if (tag[5])
+        tag += 5;
+      else
+        tag = "item";
+    }
+    else if (strncmp(tag, "_DOT", 4) 
+          && strncmp(tag, "_USCORE", 7)
+          && (strncmp(tag, "_x", 2) || !isxdigit(tag[2]) || !isxdigit(tag[3]) || !isxdigit(tag[4]) || !isxdigit(tag[5])))
+      tag++; /* skip leading _ */
+  }
+  for (n = strlen(tag); n > 0; n--)
+  { if (tag[n-1] != '_')
+      break;
+  }
+  s = t = (char*)emalloc(n+1);
+  for (i = 0; i < n; i++)
+  { if (tag[i] == '_')
+    { if (tag[i+1] == '_' && !(tag[i+2] == 'x' && isxdigit(tag[i+3]) && isxdigit(tag[i+4]) && isxdigit(tag[i+5]) && isxdigit(tag[i+6])))
+        break;
+      else if (!strncmp(tag+i, "_DOT", 4))
+      { *s++ = '.';
+        i += 3;
+      }
+      else if (!strncmp(tag+i, "_USCORE", 7))
+      { *s++ = '_';
+        i += 6;
+      }
+      else if (!strncmp(tag+i, "_x", 2) && isxdigit(tag[i+2]) && isxdigit(tag[i+3]) && isxdigit(tag[i+4]) && isxdigit(tag[i+5]))
+      { char d[5];
+	strncpy(d, tag+i+2, 4);
+	d[4] = '\0';
+        utf8(&s, strtoul(d, NULL, 16));
+        i += 5;
+      }
+      else
+        *s++ = '-';
+    }
+    else if (tag[i] == ':' && tag[i+1] == ':')
+      break;
+    else
+      *s++ = tag[i];
+  }
+  if (i < n)
+  { *s++ = ':';
+    for (i += 2; i < n; i++)
+    { if (tag[i] == '_')
+      { if (!strncmp(tag+i, "_DOT", 4))
+        { *s++ = '.';
+          i += 3;
+        }
+        else if (!strncmp(tag+i, "_USCORE", 7))
+        { *s++ = '_';
+          i += 6;
+        }
+        else if (!strncmp(tag+i, "_x", 2) && isxdigit(tag[i+2]) && isxdigit(tag[i+3]) && isxdigit(tag[i+4]) && isxdigit(tag[i+5]))
+        { char d[5];
+	  strncpy(d, tag+i+2, 4);
+	  d[4] = '\0';
+          utf8(&s, strtoul(d, NULL, 16));
+          i += 5;
+        }
+	else
+	  *s++ = '-';
+      }
+      else
+        *s++ = tag[i];
+    }
+  }
+  *s = '\0';
+  return t;
+}
+
+char *
+res_remove(char *tag)
+{ char *s, *t;
+  if (!(s = strchr(tag, ':')))
+    return tag;
+  if (s[1] != ':')
+    tag = s + 1;
+  if (!strchr(tag, ':'))
+    return tag;
+  s = emalloc(strlen(tag) + 1);
+  strcpy(s, tag);
+  while ((t = strchr(s, ':')))
+    *t = '_';
+  return s;
+}
+
+char *
+ns_qualifiedElement(Tnode *typ)
+{ Service *sp;
+  char *s = NULL;
+  if (typ->sym)
+    s = prefix_of(typ->sym->name);
+  if (!s && typ->id)
+    s = prefix_of(typ->id->name);
+  if (!s)
+    return NULL;
+  for (sp = services; sp; sp = sp->next)
+  { if (sp->elementForm && !tagcmp(sp->ns, s))
+    { if (!strcmp(sp->elementForm, "qualified"))
+        return s;
+      return NULL;
+    }
+  }
+  for (sp = services; sp; sp = sp->next)
+    if (!tagcmp(sp->ns, s))
+      if (sp->style && !strcmp(sp->style, "document"))
+        return s;
+  return NULL;
+}
+
+char *
+ns_qualifiedAttribute(Tnode *typ)
+{ Service *sp;
+  char *s = NULL;
+  if (typ->sym)
+    s = prefix_of(typ->sym->name);
+  if (!s && typ->id)
+    s = prefix_of(typ->id->name);
+  if (!s)
+    return NULL;
+  for (sp = services; sp; sp = sp->next)
+  { if (sp->attributeForm && !tagcmp(sp->ns, s))
+    { if (!strcmp(sp->attributeForm, "qualified"))
+        return s;
+      return NULL;
+    }
+  }
+  return NULL;
+}
+
+char *
+field(Entry *p, char *ns)
+{ char *r, *s;
+  if (is_self(p))
+    return "tag";
+  r = ns_add(p, ns);
+  s = emalloc(strlen(r) + 3);
+  strcpy(s, "\"");
+  strcat(s, r);
+  strcat(s, "\"");
+  return s;
+}
+
+char *
+field_overridden(Table *t, Entry *p, char *ns)
+{ char *r, *s;
+  if (is_self(p))
+    return "tag";
+  r = ns_add_overridden(t, p, ns);
+  s = emalloc(strlen(r) + 3);
+  strcpy(s, "\"");
+  strcat(s, r);
+  strcat(s, "\"");
+  return s;
+}
+
+char *
+ns_add(Entry *p, char *ns)
+{ if (p->tag)
+    return ns_addx(p->tag, ns);
+  return ns_addx(p->sym->name, ns);
+}
+
+char *
+ns_addx(char *tag, char *ns)
+{ char *n, *t, *s = ns_convert(tag);
+  if (*s == ':')
+    return s+1;
+  if (!ns || *s == '-' || (t = strchr(s, ':')))
+    return s;
+  n = ns_convert(ns);
+  t = emalloc(strlen(n) + strlen(s) + 2);
+  strcpy(t, n);
+  strcat(t, ":");
+  strcat(t, s);
+  return t;
+}
+
+char *
+ns_name(char *tag)
+{ char *t, *r, *s = tag;
+  if (*s)
+  { for (r = s+strlen(s)-1; r > s; r--)
+      if (*r != '_')
+        break;
+    for (t = s + 1; t < r; t++)
+    { if (t[0] == '_' && t[1] == '_')
+      { s = t + 2;
+        t++;
+      }
+      else if (t[0] == ':' && t[1] != ':')
+      { s = t + 1;
+	t++;
+      }
+    }
+  }
+  return s;
+}
+
+char *
+ns_cname(char *tag, char *suffix)
+{ char *s, *t;
+  size_t i, n;
+  if (!tag)
+    return NULL;
+  t = ns_name(tag);
+  n = strlen(t);
+  if (suffix)
+    s = emalloc(n + strlen(suffix) + 2);
+  else
+    s = emalloc(n + 2);
+  for (i = 0; i < n; i++)
+  { if (!isalnum(t[i]))
+      s[i] = '_';
+    else
+      s[i] = t[i];
+  }
+  s[i] = '\0';
+  if (suffix)
+    strcat(s, suffix);
+  if (is_keyword(t))
+    strcat(s, "_");
+  return s;
+}
+
+char *
+ns_fname(char *tag)
+{ char *s;
+  size_t i;
+  s = emalloc(strlen(tag) + 1);
+  strcpy(s, tag);
+  for (i = 0; s[i]; i++)
+    if (!isalnum(s[i]))
+      s[i] = '_';
+  return s;
+}
+
+char *
+ns_remove(char *tag)
+{ return ns_convert(ns_name(tag));
+}
+
+char *
+ns_remove1(char *tag)
+{ char *t, *s = tag;
+  int n = 2;
+  /* handle 'enum_xx__yy' generated by wsdl2h
+  if (!strncmp(s, "enum_", 5))
+    n = 1;
+  */
+  if (*s)
+  { for (t = s + 1; *t && n; t++)
+      if (t[0] == '_' && t[1] == '_')
+      { s = t + 2;
+        t++;
+	n--;
+      }
+    if (n || (s[0] == '_' && s[1] != 'x' && strncmp(s, "_USCORE", 7)) || !*s)
+      s = tag;
+  }
+  return s;
+}
+
+char *
+ns_remove2(char *tag)
+{ return ns_convert(ns_remove1(tag));
+}
+
+char *
+xsi_type_cond(Tnode *typ, int flag)
+{ if (flag)
+    return xsi_type(typ);
+  return "";
+}
+
+char *
+xsi_type_cond_u(Tnode *typ, int flag)
+{ if (flag)
+    return xsi_type_u(typ);
+  return "";
+}
+
+char *
+xsi_type_u(Tnode *typ)
+{ Service *sp;
+  char *s = NULL;
+  if (tflag)
+    return xsi_type(typ);
+  if (typ->sym)
+    s = prefix_of(typ->sym->name);
+  if (!s && typ->id)
+    s = prefix_of(typ->id->name);
+  if (!s)
+    return "";
+  s = xsi_type(typ);
+  for (sp = services; sp; sp = sp->next)
+    if (sp->xsi_type && has_ns_eq(sp->ns, s))
+      return s;
+  return "";
+}
+
+char *
+xsi_type(Tnode *typ)
+{ if (!typ)
+    return "NULL";
+  if (is_dynamic_array(typ) && !has_ns(typ))
+    return xsi_type_Darray(typ);
+  if (typ->type == Tarray)
+    return xsi_type_Tarray(typ);
+  if (is_untyped(typ))
+    return "";
+  if (typ->sym)
+  { if (!strncmp(typ->sym->name, "SOAP_ENV__", 10))
+      return "";
+    if (is_XML(typ))
+      return "xsd:anyType";
+    if (typ->type != Ttemplate)
+      return ns_convert(typ->sym->name);
+  }
+  if (is_string(typ) || is_wstring(typ) || is_stdstring(typ) || is_stdwstring(typ))
+    return "xsd:string";
+  switch(typ->type){
+  case Tchar:
+    return "xsd:byte";
+  case Twchar:
+    return "wchar";
+  case Tshort:
+    return "xsd:short";
+  case Tint:
+    return "xsd:int";
+  case Tlong:
+  case Tllong:
+    return "xsd:long";
+  case Tfloat:
+    return "xsd:float";
+  case Tdouble:
+    return "xsd:double";
+  case Tldouble:
+    return "xsd:decimal";
+  case Tuchar:
+    return "xsd:unsignedByte";
+  case Tushort:
+    return "xsd:unsignedShort";
+  case Tuint:
+    return "xsd:unsignedInt";
+  case Tulong:
+  case Tullong:
+    return "xsd:unsignedLong";
+  case Ttime:
+    return "xsd:dateTime";
+  case Tpointer:
+  case Treference:
+    return xsi_type((Tnode*)typ->ref);
+  case Tenum:
+    if ((Table*)typ->ref == booltable)
+      return "xsd:boolean";
+  case Tstruct:
+  case Tclass:
+    if (!strncmp(typ->id->name, "SOAP_ENV__", 10))
+      return "";
+    return ns_convert(typ->id->name);
+  case Ttemplate:
+    if ((Tnode*)typ->ref)
+      return xsi_type((Tnode*)typ->ref);
+    break;
+  default:
+    break;
+  }
+  return "";
+}
+
+char *
+xml_tag(Tnode *typ)
+{ if (!typ)
+    return "NULL";
+  if (typ->type == Tpointer || typ->type == Treference)
+    return xml_tag((Tnode*)typ->ref);
+  if (typ->sym)
+    return ns_convert(typ->sym->name);
+  return the_type(typ);
+}
+
+char *
+wsdl_type(Tnode *typ, char *ns)
+{ if (!typ)
+    return "NULL";
+  if ((is_qname(typ) || is_stdqname(typ)) && ns)
+      return "xsd:QName";
+  if (typ->sym)
+  { if (is_XML(typ))
+      return "xsd:anyType";
+    else if (ns)
+      return ns_convert(typ->sym->name);
+    else
+      return ns_remove(typ->sym->name);
+  }
+  return base_type(typ, ns);
+}
+
+char *
+base_type(Tnode *typ, char *ns)
+{ int d;
+  char *s, *t;
+  if (is_string(typ) || is_wstring(typ) || is_stdstring(typ) || is_stdwstring(typ))
+  { if (ns)
+      return "xsd:string";
+    return "string";
+  }
+  if (is_dynamic_array(typ) && !is_binary(typ) && !has_ns(typ) && !is_untyped(typ))
+  { s = ns_remove(wsdl_type(((Table*)typ->ref)->list->info.typ, NULL));
+    if (ns && *ns)
+    { t = (char*)emalloc(strlen(s)+strlen(ns_convert(ns))+13);
+      strcpy(t, ns_convert(ns));
+      strcat(t, ":");
+      strcat(t, "ArrayOf");
+    }
+    else
+    { t = (char*)emalloc(strlen(s)+12);
+      strcpy(t, "ArrayOf");
+    }
+    strcat(t, s);
+    d = get_Darraydims(typ);
+    if (d)
+      sprintf(t+strlen(t), "%dD", d);
+    return t;
+  }
+  switch (typ->type){
+  case Tchar :
+    if (ns)
+      return "xsd:byte";
+    return "byte";
+  case Twchar :
+    if (ns)
+      return "xsd:wchar";
+    return "wchar";
+  case Tshort :
+    if (ns)
+      return "xsd:short";
+    return "short";
+  case Tint  :
+    if (ns)
+      return "xsd:int";
+    return "int";
+  case Tlong  :
+  case Tllong  :
+    if (ns)
+      return "xsd:long";
+    return "long";
+  case Tfloat:
+    if (ns)
+      return "xsd:float";
+    return "float";
+  case Tdouble:
+    if (ns)
+      return "xsd:double";
+    return "double";
+  case Tldouble:
+    if (ns)
+      return "xsd:decimal";
+    return "decimal";
+  case Tuchar:
+    if (ns)
+      return "xsd:unsignedByte";
+    return "unsignedByte";
+  case Tushort:
+    if (ns)
+      return "xsd:unsignedShort";
+    return "unsignedShort";
+  case Tuint:
+    if (ns)
+      return "xsd:unsignedInt";
+    return "unsignedInt";
+  case Tulong:
+  case Tullong:
+    if (ns)
+      return "xsd:unsignedLong";
+    return "unsignedLong";
+  case Ttime:
+    if (ns)
+      return "xsd:dateTime";
+    return "dateTime";
+  case Tpointer:
+  case Treference:
+    return wsdl_type((Tnode*)typ->ref, ns);
+  case Tarray:
+    if (is_fixedstring(typ))
+    { if (typ->sym)
+      { if (ns)
+	  return ns_convert(typ->sym->name);
+	return ns_remove(typ->sym->name);
+      }
+      if (ns)
+        return "xsd:string";
+      return "string";
+    }
+    if (ns && *ns)
+    { s = (char*)emalloc((strlen(ns_convert(ns))+strlen(c_ident(typ))+2)*sizeof(char));
+      strcpy(s, ns_convert(ns));
+      strcat(s, ":");
+      strcat(s, c_ident(typ));
+      return s;
+    }
+    else
+      return c_ident(typ);
+  case Tenum:
+    if ((Table*)typ->ref == booltable)
+    { if (ns)
+        return "xsd:boolean";
+      return "boolean";
+    }
+  case Tstruct:
+  case Tclass:
+    if (!has_ns(typ) && ns && *ns)
+    { s = (char*)emalloc((strlen(ns_convert(ns))+strlen(typ->id->name)+2)*sizeof(char));
+      strcpy(s, ns_convert(ns));
+      strcat(s, ":");
+      strcat(s, ns_convert(typ->id->name));
+      return s;
+    }
+    else if (ns)
+      return ns_convert(typ->id->name);
+    else
+      return ns_remove(typ->id->name);
+  case Tunion:
+    if (ns)
+      return "xsd:choice";
+    return "choice";
+  case Ttemplate:
+    if ((Tnode*)typ->ref)
+      return wsdl_type((Tnode*)typ->ref, ns);
+    break;
+  default:
+    break;
+  }
+  return "";
+}
+
+char *
+the_type(Tnode *typ)
+{ if (!typ)
+    return "NULL";
+  if (typ->type == Tarray || (is_dynamic_array(typ) && (eflag || (!has_ns(typ) && !is_untyped(typ)))))
+    return "SOAP-ENC:Array";
+  if (is_string(typ) || is_wstring(typ) || is_stdstring(typ) || is_stdwstring(typ))
+    return "string";
+  switch (typ->type)
+  {
+  case Tchar:
+    return "byte";
+  case Twchar:
+    return "wchar";
+  case Tshort:
+    return "short";
+  case Tint :
+    return "int";
+  case Tlong :
+  case Tllong :
+    return "long";
+  case Tfloat:
+    return "float";
+  case Tdouble:
+    return "double";
+  case Tldouble:
+    return "decimal";
+  case Tuchar:
+    return "unsignedByte";
+  case Tushort:
+    return "unsignedShort";
+  case Tuint:
+    return "unsignedInt";
+  case Tulong:
+  case Tullong:
+    return "unsignedLong";
+  case Ttime:
+    return "dateTime";
+  case Tpointer:
+  case Treference:
+    return the_type((Tnode*)typ->ref);
+  case Tarray:
+    return "SOAP-ENC:Array";
+  case Tenum:
+    if ((Table*)typ->ref == booltable)
+      return "boolean";
+  case Tstruct:
+  case Tclass:
+    return ns_convert(typ->id->name);
+  default:
+    break;
+  }
+  return "";
+}
+
+/* c_type returns the type to be used in parameter declaration*/
+char *
+c_type(Tnode *typ)
+{
+  char *p, *q, tempBuf[10];
+  Tnode *temp;
+  if (typ==0)
+    return "NULL";
+  switch(typ->type){
+  case Tnone:
+    return "";
+  case Tvoid:
+    return "void";
+  case Tchar:
+    return "char";
+  case Twchar:
+    return "wchar_t";
+  case Tshort:
+    return "short";
+  case Tint  :
+    return "int";
+  case Tlong  :
+    return "long";
+  case Tllong  :
+    return "LONG64";
+  case Tfloat:
+    return "float";
+  case Tdouble:
+    return "double";
+  case Tldouble:
+    return "long double";
+  case Tuchar:
+    return "unsigned char";
+  case Tushort:
+    return "unsigned short";
+  case Tuint:
+    return "unsigned int";
+  case Tulong:
+    return "unsigned long";
+  case Tullong:
+    return "ULONG64";
+  case Ttime:
+    return "time_t";
+  case Tstruct:
+    p = (char*) emalloc((8+strlen(ident(typ->id->name))) *sizeof(char));
+    strcpy(p, "struct ");
+    strcat(p, ident(typ->id->name));
+    break;
+  case Tclass:
+     p = ident(typ->id->name);
+   break;
+  case Tunion: p=(char*) emalloc((7+strlen(ident(typ->id->name))) *sizeof(char));
+    strcpy(p, "union ");
+    strcat(p, ident(typ->id->name));
+    break;
+  case Tenum:
+    if ((Table*)typ->ref == booltable)
+      return "bool";
+    p=(char*) emalloc((6+strlen(ident(typ->id->name))) *sizeof(char));
+    strcpy(p, "enum ");
+    strcat(p, ident(typ->id->name));
+    break;
+  case Tpointer:
+    p = c_type_id((Tnode*)typ->ref, "*");
+    break;
+  case Treference:
+    p = c_type_id((Tnode*)typ->ref, "&");
+    break;
+  case Tarray:
+    temp = typ;
+    while(((Tnode*) (typ->ref))->type==Tarray){
+      typ = (Tnode*)typ->ref;
+    }
+    p=(char*) emalloc((12+strlen(q = c_type((Tnode*)typ->ref))) *sizeof(char));
+    if (((Tnode*)typ->ref)->type == Tpointer)
+      sprintf(p,"%s",c_type((Tnode*)typ->ref));
+    else
+      strcpy(p, q);
+    typ = temp;
+    while(typ->type==Tarray){
+      if (((Tnode*) typ->ref)->width)
+      { sprintf(tempBuf,"[%d]",(typ->width / ((Tnode*) typ->ref)->width));
+        strcat(p,tempBuf);
+      }
+      typ = (Tnode*)typ->ref;
+    }
+    break;
+  case Ttemplate:
+    if (typ->ref)
+    { p=(char*)emalloc((strlen(q = c_type((Tnode*)typ->ref))+strlen(ident(typ->id->name))+4) *sizeof(char));
+      strcpy(p, ident(typ->id->name));
+      strcat(p, "<");
+      strcat(p, q);
+      strcat(p, " >");
+      break;
+    }
+  default:
+    return "UnknownType";   
+  }
+  return p;
+}
+
+char *
+c_storage(Storage sto)
+{ char *p;
+  static char buf[256];
+  if (sto & Sconst)
+  { p = c_storage(sto & ~Sconst);
+    strcat(p, "const ");
+    return p;
+  }
+  if (sto & Sconstptr)
+  { p = c_storage(sto & ~Sconstptr);
+    strcat(p, "const ");
+    return p;
+  }
+  if (sto & Sauto)
+  { p = c_storage(sto & ~Sauto);
+    strcat(p, "auto ");
+    return p;
+  }
+  if (sto & Sregister)
+  { p = c_storage(sto & ~Sregister);
+    strcat(p, "register ");
+    return p;
+  }
+  if (sto & Sstatic)
+  { p = c_storage(sto & ~Sstatic);
+    strcat(p, "static ");
+    return p;
+  }
+  if (sto & Sexplicit)
+  { p = c_storage(sto & ~Sexplicit);
+    strcat(p, "explicit ");
+    return p;
+  }
+  if (sto & Sextern)
+  { p = c_storage(sto & ~Sextern);
+    return p;
+  }
+  if (sto & Stypedef)
+  { p = c_storage(sto & ~Stypedef);
+    strcat(p, "typedef ");
+    return p;
+  }
+  if (sto & Svirtual)
+  { p = c_storage(sto & ~Svirtual);
+    strcat(p, "virtual ");
+    return p;
+  }
+  if (sto & Sfriend)
+  { p = c_storage(sto & ~Sfriend);
+    strcat(p, "friend ");
+    return p;
+  }
+  if (sto & Sinline)
+  { p = c_storage(sto & ~Sinline);
+    strcat(p, "inline ");
+    return p;
+  }
+  buf[0]= '\0';
+  return buf;
+}
+
+char *
+c_init(Entry *e)
+{ static char buf[1024];
+  buf[0] = '\0';
+  if (e && e->info.hasval)
+  { switch (e->info.typ->type)
+    { case Tchar:
+      case Twchar:
+      case Tuchar:
+      case Tshort:
+      case Tushort:
+      case Tint:
+      case Tuint:
+      case Ttime:
+        sprintf(buf, " = " SOAP_LONG_FORMAT, e->info.val.i);
+	break;
+      case Tlong:
+        sprintf(buf, " = " SOAP_LONG_FORMAT "L", e->info.val.i);
+	break;
+      case Tulong:
+        sprintf(buf, " = " SOAP_LONG_FORMAT "UL", e->info.val.i);
+	break;
+      case Tllong:
+        sprintf(buf, " = " SOAP_LONG_FORMAT "LL", e->info.val.i);
+	break;
+      case Tullong:
+        sprintf(buf, " = " SOAP_LONG_FORMAT "ULL", e->info.val.i);
+	break;
+      case Tfloat:
+      case Tdouble:
+        sprintf(buf, " = %g", e->info.val.r);
+	break;
+      case Tldouble:
+        sprintf(buf, " = %gL", e->info.val.r);
+	break;
+      case Tenum:
+	if (e->info.val.i <= 0x7FFFLL && e->info.val.i >= -0x8000LL)
+          sprintf(buf, " = (%s)" SOAP_LONG_FORMAT, c_type(e->info.typ), e->info.val.i);
+	else
+          sprintf(buf, " = (%s)" SOAP_LONG_FORMAT "LL", c_type(e->info.typ), e->info.val.i);
+	break;
+      default:
+	if (is_stdstring(e->info.typ) && e->info.val.s && strlen(e->info.val.s) < sizeof(buf)-6)
+          sprintf(buf, " = \"%s\"", cstring(e->info.val.s));
+	else if (is_stdwstring(e->info.typ) && e->info.val.s && strlen(e->info.val.s) < sizeof(buf)-6)
+          sprintf(buf, " = L\"%s\"", cstring(e->info.val.s));
+	else if (is_wstring(e->info.typ) && e->info.val.s && strlen(e->info.val.s) < sizeof(buf)-6)
+          sprintf(buf, " = (wchar_t*)L\"%s\"", cstring(e->info.val.s));
+	else if (e->info.val.s && strlen(e->info.val.s) < sizeof(buf)-6)
+          sprintf(buf, " = (char*)\"%s\"", cstring(e->info.val.s));
+	else if (e->info.typ->type == Tpointer)
+          sprintf(buf, " = NULL");
+	break;
+    }
+  }
+  return buf;
+}
+
+/* c_type_id returns the type to be used in parameter declaration */
+char *
+c_type_id(Tnode *typ, char *name)
+{
+  char *id,*p,*q,tempBuf[10];
+  Tnode *temp;
+  Entry *e;
+  if (!typ)
+    return "NULL";
+  id = ident(name);  
+  switch(typ->type)
+  {
+  case Tnone:
+    p = id;
+    break;
+  case Tvoid:
+    p = (char*)emalloc(6+strlen(id));
+    strcpy(p, "void ");
+    strcat(p, id);
+    break;
+  case Tchar:
+    p = (char*)emalloc(6+strlen(id));
+    strcpy(p, "char ");
+    strcat(p, id);
+    break;
+  case Twchar:
+    p = (char*)emalloc(9+strlen(id));
+    strcpy(p, "wchar_t ");
+    strcat(p, id);
+    break;
+  case Tshort:
+    p = (char*)emalloc(7+strlen(id));
+    strcpy(p, "short ");
+    strcat(p, id);
+    break;
+  case Tint  :
+    p = (char*)emalloc(5+strlen(id));
+    strcpy(p, "int ");
+    strcat(p, id);
+    break;
+  case Tlong  :
+    p = (char*)emalloc(6+strlen(id));
+    strcpy(p, "long ");
+    strcat(p, id);
+    break;
+  case Tllong  :
+    p = (char*)emalloc(8+strlen(id));
+    strcpy(p, "LONG64 ");
+    strcat(p, id);
+    break;
+  case Tfloat:
+    p = (char*)emalloc(7+strlen(id));
+    strcpy(p, "float ");
+    strcat(p, id);
+    break;
+  case Tdouble:
+    p = (char*)emalloc(8+strlen(id));
+    strcpy(p, "double ");
+    strcat(p, id);
+    break;
+  case Tldouble:
+    p = (char*)emalloc(13+strlen(id));
+    strcpy(p, "long double ");
+    strcat(p, id);
+    break;
+  case Tuchar:
+    p = (char*)emalloc(15+strlen(id));
+    strcpy(p, "unsigned char ");
+    strcat(p, id);
+    break;
+  case Tushort:
+    p = (char*)emalloc(16+strlen(id));
+    strcpy(p, "unsigned short ");
+    strcat(p, id);
+    break;
+  case Tuint:
+    p = (char*)emalloc(14+strlen(id));
+    strcpy(p, "unsigned int ");
+    strcat(p, id);
+    break;
+  case Tulong:
+    p = (char*)emalloc(15+strlen(id));
+    strcpy(p, "unsigned long ");
+    strcat(p, id);
+    break;
+  case Tullong:
+    p = (char*)emalloc(9+strlen(id));
+    strcpy(p, "ULONG64 ");
+    strcat(p, id);
+    break;
+  case Ttime:
+    p = (char*)emalloc(8+strlen(id));
+    strcpy(p, "time_t ");
+    strcat(p, id);
+    break;
+  case Tstruct:
+    p=(char*) emalloc((9+strlen(ident(typ->id->name))+strlen(id)) *sizeof(char));
+    strcpy(p, "struct ");
+    strcat(p, ident(typ->id->name));
+    strcat(p, " ");
+    strcat(p, id);
+    break;
+  case Tclass:
+    if (!typ->classed && !is_imported(typ))
+    { p=(char*) emalloc((8+strlen(ident(typ->id->name))+strlen(id)) *sizeof(char));
+      strcpy(p, "class ");
+      strcat(p, ident(typ->id->name));
+      typ->classed = True;
+    }
+    else
+    { p=(char*) emalloc((2+strlen(ident(typ->id->name))+strlen(id)) *sizeof(char));
+      strcpy(p, ident(typ->id->name));
+    }
+    strcat(p, " ");
+    strcat(p, id);
+    break;
+  case Tunion:
+    p=(char*) emalloc((8+strlen(ident(typ->id->name))+strlen(id)) *sizeof(char));
+    strcpy(p, "union ");
+    strcat(p, ident(typ->id->name));
+    strcat(p, " ");
+    strcat(p, id);
+    break;
+  case Tenum:
+    if ((Table*)typ->ref == booltable)
+    { p = (char*)emalloc((strlen(id)+6)*sizeof(char));
+      strcpy(p, "bool ");
+      strcat(p, id);
+      return p;
+    }
+    p=(char*) emalloc((7+strlen(ident(typ->id->name))+strlen(id)) *sizeof(char));
+    strcpy(p, "enum ");
+    strcat(p, ident(typ->id->name));
+    strcat(p, " ");
+    strcat(p, id);
+    break;
+  case Tpointer:
+    p = (char*)emalloc(strlen(id)+2);
+    strcpy(p+1, id);
+    p[0] = '*';
+    p = c_type_id((Tnode*)typ->ref, p);
+    break;
+  case Treference:
+    p = (char*)emalloc(strlen(id)+2);
+    strcpy(p+1, id);
+    p[0] = '&';
+    p = c_type_id((Tnode*)typ->ref, p);
+    break;
+  case Tarray:
+    temp = typ;
+    while(((Tnode*) (typ->ref))->type==Tarray){
+      typ = (Tnode*)typ->ref;
+    }
+    p=(char*) emalloc((12+strlen(q = c_type_id((Tnode*)typ->ref, id))) *sizeof(char));
+    strcpy(p, q);
+    typ = temp;
+    while(typ->type==Tarray){
+      if (((Tnode*) typ->ref)->width)
+      { sprintf(tempBuf,"[%d]",(typ->width / ((Tnode*) typ->ref)->width));
+        strcat(p,tempBuf);
+      }
+      typ = (Tnode*)typ->ref;
+    }
+    /*if(((Tnode*) (typ->ref))->type==Tarray){
+      sprintf(p,"%s [%d]",c_type((Tnode*)typ->ref),(typ->width / ((Tnode*) typ->ref)->width));
+    }else
+    sprintf(p,"%s a[%d]",c_type((Tnode*)typ->ref),(typ->width /((Tnode*) typ->ref)->width));*/
+    break;
+  case Tfun:
+    if (strncmp(id, "operator ", 9))
+      q = c_type_id(((FNinfo*)typ->ref)->ret, id);
+    else
+      q = id;
+    p = (char*)emalloc(1024);
+    strcpy(p, q);
+    strcat(p, "(");
+    for (e = ((FNinfo*)typ->ref)->args->list; e; e = e->next)
+    { strcat(p, c_storage(e->info.sto));
+      if (e->info.typ->type != Tvoid)
+      { strcat(p, c_type_id(e->info.typ, e->sym->name));
+        strcat(p, c_init(e));
+      }
+      else
+        strcat(p, "void");
+      if (e->next)
+        strcat(p, ", ");
+    }
+    strcat(p, ")");
+    break;
+  case Ttemplate:
+    if (typ->ref)
+    { p=(char*)emalloc((strlen(q = c_type((Tnode*)typ->ref))+strlen(ident(typ->id->name))+strlen(id)+4) *sizeof(char));
+      strcpy(p, ident(typ->id->name));
+      strcat(p, "<");
+      strcat(p, q);
+      strcat(p, " >");
+      strcat(p, id);
+      break;
+    }
+  default:
+    return "UnknownType";   
+  }
+  return p;
+}
+
+char *
+xsi_type_Tarray(Tnode *typ)
+{ Tnode *t;
+  int cardinality;
+  char *p, *s;
+  t = (Tnode*)typ->ref;
+  if (is_fixedstring(typ))
+  { if (typ->sym)
+      return ns_convert(typ->sym->name);
+    return "xsd:string";
+  }
+  cardinality = 1;
+  while (t->type == Tarray || (is_dynamic_array(t) && !has_ns(t) && !is_untyped(typ)))
+  { if( t->type == Tarray)
+      t = (Tnode*)t->ref;
+    else
+      t = (Tnode*)((Table*)t->ref)->list->info.typ->ref;
+    cardinality++;
+  }
+  s = xsi_type(t);
+  if (!*s)
+    s = wsdl_type(t, "");
+  p = (char*)emalloc(strlen(s)+cardinality+3);
+  strcpy(p, s);
+  if (cardinality > 1)
+  { strcat(p, "[");
+    for (; cardinality > 2; cardinality--)
+      strcat(p, ",");
+    strcat(p, "]");
+  }
+  return p;
+}
+
+char *
+xsi_type_Darray(Tnode *typ)
+{ Tnode *t;
+  Entry *q;
+  int cardinality;
+  char *p, *s;
+  if (!typ->ref)
+    return "";
+  q = ((Table*)typ->ref)->list;
+  while (q && q->info.typ->type == Tfun)
+    q = q->next;
+  t = (Tnode*)q->info.typ->ref;
+  cardinality = 1;
+  while (t->type == Tarray || (is_dynamic_array(t) && !has_ns(t) && !is_untyped(typ)))
+  { if (t->type == Tarray)
+      t = (Tnode*)t->ref;
+    else
+    { q = ((Table*)t->ref)->list;
+      while (q && q->info.typ->type == Tfun)
+        q = q->next;
+      t = (Tnode*)q->info.typ->ref;
+    }
+    cardinality++;
+  }
+  s = xsi_type(t);
+  if (!*s)
+    s = wsdl_type(t, "");
+  p = (char*)emalloc(strlen(s)+cardinality*2+1);
+  strcpy(p, s);
+  if (cardinality > 1)
+  { strcat(p, "[");
+    for (; cardinality > 2; cardinality--)
+      strcat(p, ",");
+    strcat(p, "]");
+  }
+  return p;
+}
+
+void
+generate(Tnode *typ)
+{
+  if (kflag && is_XML(typ))
+  { soap_traverse(typ);
+    return;
+  }
+  if (is_transient(typ) || typ->type == Twchar || is_XML(typ) || is_void(typ))
+    return;
+
+	if (lflag && typ->type == Tint && !typ->sym)
+	{ fprintf(fhead,"\n\n#ifndef %s",soap_type(typ));	
+	  fprintf(fhead,"\n#define %s (%d)",soap_type(typ),typ->num);	
+	  fprintf(fhead,"\n#endif");	
+          fprintf(fhead,"\n\nSOAP_FMAC1 void SOAP_FMAC2 soap_default_int(struct soap*, int*);"); 
+          fprintf(fhead,"\nSOAP_FMAC1 int SOAP_FMAC2 soap_out_int(struct soap*, const char*, int, const int*, const char*);"); 
+          fprintf(fhead,"\nSOAP_FMAC1 int* SOAP_FMAC2 soap_in_int(struct soap*, const char*, int*, const char*);"); 
+	  return; /* do not generate int serializers in libs */
+	}
+	else if (is_imported(typ) && (typ->type != Tint || typ->sym))
+	  return;
+        if (is_typedef(typ) && is_element(typ))
+          fprintf(fhead,"\n\n/* %s is a typedef element/attribute synonym for %s */", c_ident(typ), t_ident(typ));	
+	if (is_primitive(typ) || is_string(typ) || is_wstring(typ))
+	{   if (!Qflag && is_external(typ) && namespaceid)
+	    { char *id = namespaceid;
+	      fprintf(fhead,"\n\n}");
+	      fprintf(fout,"\n\n}");
+	      namespaceid = NULL;
+	      fprintf(fhead,"\n\n#ifndef %s",soap_type(typ));	
+	      fprintf(fhead,"\n#define %s (%d)",soap_type(typ),typ->num);	
+	      fprintf(fhead,"\n#endif");	
+	      namespaceid = id;
+	    }
+	    fprintf(fhead,"\n\n#ifndef %s",soap_type(typ));	
+	    fprintf(fhead,"\n#define %s (%d)",soap_type(typ),typ->num);	
+	    fprintf(fhead,"\n#endif");	
+	    fflush(fhead);
+	    soap_default(typ);
+	    soap_serialize(typ);
+	    if (kflag)
+	      soap_traverse(typ);
+	    soap_out(typ);
+	    soap_in(typ);
+	    if (!Qflag && is_external(typ) && namespaceid)
+	    { fprintf(fhead,"\n\nnamespace %s {", namespaceid);
+	      fprintf(fout,"\n\nnamespace %s {", namespaceid);
+	    }
+	    soap_put(typ);
+	    soap_get(typ);
+	    return;
+	}
+        switch(typ->type)
+        {
+	  case Ttemplate:
+	  case Tenum:
+          case Tpointer:
+          case Tarray:
+          case Tstruct:
+	  case Tclass:
+          case Tunion:
+  			if (is_header_or_fault(typ) || is_body(typ))
+			{ fprintf(fhead,"\n\n#ifndef WITH_NOGLOBAL");
+			  fprintf(fout,"\n\n#ifndef WITH_NOGLOBAL");
+		        }
+	    if (!Qflag && is_external(typ) && namespaceid)
+	    { char *id = namespaceid;
+	      fprintf(fhead,"\n\n}");
+	      fprintf(fout,"\n\n}");
+	      namespaceid = NULL;
+	      fprintf(fhead,"\n\n#ifndef %s",soap_type(typ));	
+	      fprintf(fhead,"\n#define %s (%d)",soap_type(typ),typ->num);	
+	      fprintf(fhead,"\n#endif");	
+	      namespaceid = id;
+	    }
+		      fprintf(fhead,"\n\n#ifndef %s",soap_type(typ));	
+		      fprintf(fhead,"\n#define %s (%d)",soap_type(typ),typ->num);	
+		      fprintf(fhead,"\n#endif");	
+		      fflush(fhead);
+		      soap_default(typ);	
+                      soap_serialize(typ);
+		      if (kflag)
+                        soap_traverse(typ);
+		      soap_out(typ);
+		      soap_in(typ);
+	    if (!Qflag && is_external(typ) && namespaceid)
+	    { fprintf(fhead,"\n\nnamespace %s {", namespaceid);
+	      fprintf(fout,"\n\nnamespace %s {", namespaceid);
+	    }
+		      soap_put(typ);
+		      soap_get(typ);	
+		      if (typ->type == Tstruct || typ->type == Tclass || typ->type == Ttemplate)
+		        soap_instantiate_class(typ);
+  		      if (is_header_or_fault(typ) || is_body(typ))
+    		      { fprintf(fhead,"\n\n#endif");
+    		        fprintf(fout,"\n\n#endif");
+		      }
+            break;
+	    default:
+	    break;
+       }
+}
+
+void
+matlab_gen_sparseStruct(void)
+{
+  fprintf(fmheader,"\nstruct soapSparseArray{\n");
+  fprintf(fmheader,"  int *ir;\n");
+  fprintf(fmheader,"  int *jc;\n");
+  fprintf(fmheader,"  double *pr;\n");
+  fprintf(fmheader,"  int num_columns;\n");
+  fprintf(fmheader,"  int num_rows;\n");
+  fprintf(fmheader,"  int nzmax;\n");
+  fprintf(fmheader,"};\n");
+}
+
+void
+matlab_c_to_mx_sparse(void)
+{
+  fprintf(fmheader,"\nmxArray* c_to_mx_soapSparseArray(struct soapSparseArray);\n");
+  fprintf(fmatlab,"\nmxArray* c_to_mx_soapSparseArray(struct soapSparseArray a)\n");
+  fprintf(fmatlab,"{\n");
+  fprintf(fmatlab,"  mxArray *b;\n");
+  fprintf(fmatlab,"  b = mxCreateSparse(a.num_rows, a.num_columns, a.nzmax, mxREAL);\n");
+  fprintf(fmatlab,"  mxSetIr(b,a.ir);\n");
+  fprintf(fmatlab,"  mxSetJc(b,a.jc);\n");
+  fprintf(fmatlab,"  mxSetPr(b,a.pr);\n");
+  fprintf(fmatlab,"  return b;\n");
+  fprintf(fmatlab,"}\n");
+}
+
+void 
+matlab_mx_to_c_sparse(void)
+{
+  fprintf(fmheader,"\nmxArray* mx_to_c_soapSparseArray(const mxArray *, struct soapSparseArray *);\n");
+  fprintf(fmatlab,"\nmxArray* mx_to_c_soapSparseArray(const mxArray *a, struct soapSparseArray *b)\n");
+  fprintf(fmatlab,"{\n");
+  fprintf(fmatlab,"  if(!mxIsSparse(a))\n");
+  fprintf(fmatlab,"    {\n");
+  fprintf(fmatlab,"      mexErrMsgTxt(\"Input should be a sparse array.\");\n");
+  fprintf(fmatlab,"    }\n");
+  
+  fprintf(fmatlab,"  /* Get the starting positions of the data in the sparse array. */  \n");
+  fprintf(fmatlab,"  b->pr = mxGetPr(a);\n");
+  fprintf(fmatlab,"  b->ir = mxGetIr(a);\n");
+  fprintf(fmatlab,"  b->jc = mxGetJc(a);\n");
+  fprintf(fmatlab,"  b->num_columns = mxGetN(a);\n");
+  fprintf(fmatlab,"  b->num_rows = mxGetM(a);\n");
+  fprintf(fmatlab,"  b->nzmax = mxGetNzmax(a);\n");
+  fprintf(fmatlab,"}\n");
+}
+
+void
+matlab_mx_to_c_dynamicArray(Tnode* typ)
+{  
+  int d;
+  Entry *p;
+
+  p = is_dynamic_array(typ);
+
+  fprintf(fmatlab,"{\n");  
+  fprintf(fmatlab,"\tint i, numdims;\n");
+  fprintf(fmatlab,"\tconst int *dims;\n");
+  fprintf(fmatlab,"\tdouble *temp;\n");
+  fprintf(fmatlab,"\tint size = 1;\n");
+  fprintf(fmatlab,"\tint ret;\n");
+  fprintf(fmatlab,"\tnumdims = mxGetNumberOfDimensions(a);\n");
+  fprintf(fmatlab,"\tdims = mxGetDimensions(a);\n");
+
+  d = get_Darraydims(typ);
+  fprintf(fmatlab,"\tif (numdims != %d)\n", d);
+  fprintf(fmatlab,"\t\tmexErrMsgTxt(\"Incompatible array specifications in C and mx.\");\n");
+  
+  /*
+  fprintf(fmatlab,"\tfor(i=0;i<numdims; i++) {\n");
+  fprintf(fmatlab,"\t  b->__size[i] = dims[i];\n");
+  fprintf(fmatlab,"\t}\n");
+  */
+
+  if((((Tnode *)p->info.typ->ref)->type != Tchar) && (((Tnode *)p->info.typ->ref)->type != Tuchar))
+    {
+      fprintf(fmatlab,"\ttemp = (double*)mxGetPr(a);\n");
+      fprintf(fmatlab,"\tif (!temp)\n\t\tmexErrMsgTxt(\"mx_to_c_ArrayOfdouble: Pointer to data is NULL\");\n");
+    }
+
+  fprintf(fmatlab,"\tfor (i = 0; i < numdims; i++) {\n");
+  fprintf(fmatlab,"\t\tif (b->__size[i] < dims[i])\n");
+  fprintf(fmatlab,"\t\t\tmexErrMsgTxt(\"Incompatible array dimensions in C and mx.\");\n");
+  fprintf(fmatlab,"\t\tsize *= dims[i];\n");
+  fprintf(fmatlab,"\t}\n");
+
+  if((((Tnode *)p->info.typ->ref)->type != Tchar) && (((Tnode *)p->info.typ->ref)->type != Tuchar))
+    { 
+      fprintf(fmatlab,"\tfor (i = 0; i < size; i++)\n");
+      fprintf(fmatlab,"\t\tb->__ptr[i] = (%s)*temp++;\n", c_type((Tnode*)p->info.typ->ref));
+    }
+  else
+    {
+      fprintf(fmatlab,"\tret = mxGetString(a, b->__ptr, size + 1);\n");
+      fprintf(fmatlab,"\tmexPrintf(\"ret = %%d, b->__ptr = %%s, size = %%d\", ret, b->__ptr, size);\n");
+    }
+  fprintf(fmatlab,"\n}\n");
+
+  fflush(fmatlab);
+}
+
+
+void
+matlab_c_to_mx_dynamicArray(Tnode* typ)
+{  
+  int d,i;
+  Entry *p;
+
+  p = is_dynamic_array(typ);
+
+  fprintf(fmatlab,"{\n");  
+  fprintf(fmatlab,"\tmxArray *out;\n");
+  fprintf(fmatlab,"\t%s;\n",c_type_id((Tnode*)p->info.typ->ref,"*temp"));
+  d = get_Darraydims(typ);
+  fprintf(fmatlab,"\tint i;\n");
+
+  fprintf(fmatlab,"\tint ndim = %d, dims[%d] = {", d, d);
+  for (i = 0; i < d; i++)
+    { 
+      if(i==0)
+	fprintf(fmatlab,"a.__size[%d]",i);
+      else
+	fprintf(fmatlab,", a.__size[%d]",i);
+    }
+  fprintf(fmatlab,"};\n");
+
+  fprintf(fmatlab,"\tint size = ");
+   for (i = 0; i < d; i++)
+    { 
+      if(i==0)
+	fprintf(fmatlab,"dims[%d]",i);
+      else
+	fprintf(fmatlab,"*dims[%d]",i);
+    }
+   fprintf(fmatlab,";\n");
+   if((((Tnode *)p->info.typ->ref)->type != Tchar) && (((Tnode *)p->info.typ->ref)->type != Tuchar))
+     {
+       fprintf(fmatlab,"\tout = mxCreateNumericArray(ndim, dims, %s, mxREAL);\n",get_mxClassID((Tnode*)p->info.typ->ref));
+       fprintf(fmatlab,"\tif (!out)\n\t\tmexErrMsgTxt(\"Could not create mxArray.\");\n");
+       fprintf(fmatlab,"\ttemp = (%s) mxGetPr(out);\n",c_type_id((Tnode*)p->info.typ->ref,"*"));
+       fprintf(fmatlab,"\tif (!temp)\n\t\tmexErrMsgTxt(\"matlab_array_c_to_mx: Pointer to data is NULL\");\n");
+
+       fprintf(fmatlab,"\tfor (i = 0; i < size; i++)\n");
+       fprintf(fmatlab,"\t\t*temp++ = a.__ptr[i];\n");
+     }
+   else
+     {
+       fprintf(fmatlab,"\tout = mxCreateString(a.__ptr);\n");
+       fprintf(fmatlab,"\tif (!out)\n\t\tmexErrMsgTxt(\"Could not create mxArray.\");\n");
+     }
+  fprintf(fmatlab,"\treturn out;\n}\n");
+  fflush(fmatlab);
+}
+
+char* 
+get_mxClassID(Tnode* typ)
+{
+  
+  switch(typ->type)
+    {
+    case Tdouble: 
+      return "mxDOUBLE_CLASS";
+    case Tfloat:
+      return "mxSINGLE_CLASS";
+    case Tshort:
+      return "mxINT16_CLASS";
+    case Tushort:
+      return "mxUINT16_CLASS";
+    case Tint:
+      return "mxINT32_CLASS";
+    case Tuint:
+      return "mxUINT32_CLASS";
+    case Tlong:
+      return "mxINT32_CLASS";
+    case Tulong:
+      return "mxUINT32_CLASS";
+    case Tllong:
+      return "mxINT64_CLASS";
+    case Tullong:
+      return "mxUINT64_CLASS";
+    case Tchar:
+      return "mxCHAR_CLASS";
+    case Tuchar:
+      return "mxCHAR_CLASS";
+    default:
+      return "";
+    };
+}
+
+/*Function not in use.*/
+void 
+matlab_array_c_to_mx(Tnode* typ)
+{
+  Tnode* temp;
+  int d,i;
+  
+  fprintf(fmatlab,"{\n\tint rows, r, cols, c;\n");
+  fprintf(fmatlab,"\tmxArray* out;\n");
+  fprintf(fmatlab,"\tdouble* temp;\n");
+  d = get_dimension(typ);
+  fprintf(fmatlab,"\tint ndim = %d, dims[%d] = {",d,d);
+  temp=typ;
+  for(i=0;i<d; i++)
+    {
+      if(i==0)
+	fprintf(fmatlab,"%d",temp->width / ((Tnode*) temp->ref)->width);
+      else
+	fprintf(fmatlab,",%d",temp->width / ((Tnode*) temp->ref)->width);
+      temp=(Tnode*)typ->ref;
+    }
+  fprintf(fmatlab,"};\n");
+
+  fprintf(fmatlab,"\tout = mxCreateNumericArray(ndim, dims, mxDOUBLE_CLASS, mxREAL);\n");
+  fprintf(fmatlab,"\ttemp = (double *) mxGetPr(out);\n");
+  fprintf(fmatlab,"\tif (!out)\n\t\tmexErrMsgTxt(\"Could not create mxArray.\");\n");
+  fprintf(fmatlab,"\tif (!temp)\n\t\tmexErrMsgTxt(\"matlab_array_c_to_mx: Pointer to data is NULL\");\n");
+  fprintf(fmatlab,"\trows = mxGetM(out);\n");
+  fprintf(fmatlab,"\tif (!rows)\n\t\tmexErrMsgTxt(\"matlab_array_c_to_mx: Data has zero rows\");\n");
+  fprintf(fmatlab,"\tcols = mxGetN(out);\n");
+  fprintf(fmatlab,"\tif (!cols)\n\t\tmexErrMsgTxt(\"matlab_array_c_to_mx: Data has zero columns\");\n");
+  fprintf(fmatlab,"\tfor (c = 0; c < cols; c++)\n");
+  fprintf(fmatlab,"\t\tfor (r = 0; r < rows; r++)\n");
+  fprintf(fmatlab,"\t\t\t*temp++ = z->a[r][c];\n");
+  fprintf(fmatlab,"\treturn out;\n}\n");
+  fflush(fmatlab);
+}
+
+
+void matlab_c_to_mx_pointer(Tnode* typ)
+{
+  if (!typ->ref)
+    return;
+
+  fprintf(fmheader,"\nmxArray* c_to_mx_%s(%s);\n",c_ident(typ),c_type_id(typ, ""));
+  fprintf(fmatlab,"\nmxArray* c_to_mx_%s(%s)\n",c_ident(typ),c_type_id(typ, "a"));
+  fprintf(fmatlab,"{\n");
+  fprintf(fmatlab,"\tmxArray  *fout;\n");
+  fprintf(fmatlab,"\tfout = c_to_mx_%s(*a);\n",c_ident((Tnode*)typ->ref));
+  fprintf(fmatlab,"\treturn fout;\n");
+  fprintf(fmatlab,"}\n");
+}
+
+void matlab_mx_to_c_pointer(Tnode* typ)
+{
+  if (!typ->ref)
+    return;
+  fprintf(fmheader,"\nvoid mx_to_c_%s(const mxArray*,%s);\n",c_ident(typ),c_type_id(typ, "*"));
+  fprintf(fmatlab,"\nvoid mx_to_c_%s(const mxArray* a,%s)\n",c_ident(typ),c_type_id(typ, "*b"));
+  fprintf(fmatlab,"{\n\tmx_to_c_%s(a,*b);\n",c_ident((Tnode*)typ->ref));
+  fprintf(fmatlab,"\n}\n");
+}
+
+void func2(Tnode* typ)
+{
+  Table *table,*t;
+  Entry *p;
+
+  fprintf(fmatlab,"\tif(!mxIsStruct(a))\n\t\tmexErrMsgTxt(\"Input must be a structure.\");\n");
+
+  table=(Table*)typ->ref;
+  for (t = table; t != (Table *) 0; t = t->prev) { 
+    for (p = t->list; p != (Entry*) 0; p = p->next) {
+      if (p->info.typ->type != Tfun && !is_void(p->info.typ) && !is_XML(p->info.typ))
+	{
+	  fprintf(fmatlab,"\t{mxArray *tmp = mxGetField(a,0,\"%s\");\n",ident(p->sym->name));
+	  fprintf(fmatlab,"\tif (!tmp) {\n");
+	  fprintf(fmatlab,"\t\tmexErrMsgTxt(\"Above member field is empty!\");\n\t}\n");   
+	  fprintf(fmatlab,"\tmx_to_c_%s(tmp,&(b->%s));}\n",c_ident(p->info.typ),ident(p->sym->name));
+	}
+    }
+  }
+}
+
+void 
+matlab_mx_to_c_struct(Tnode* typ)
+{
+  if (!typ->ref)
+    return;
+
+  
+  if (is_dynamic_array(typ))
+    {
+      fprintf(fmheader,"\nvoid mx_to_c_%s(const mxArray*, %s);\n",c_ident(typ),c_type_id(typ, "*"));
+      fprintf(fmatlab,"\nvoid mx_to_c_%s(const mxArray* a, %s)\n",c_ident(typ),c_type_id(typ, "*b"));
+      matlab_mx_to_c_dynamicArray(typ);
+      return;
+    }
+  else if(strstr(c_type_id(typ, ""),"soapSparseArray"))
+    {
+      return;
+    }
+
+  fprintf(fmheader,"\nvoid mx_to_c_%s(const mxArray*, %s);\n",c_ident(typ),c_type_id(typ, "*"));
+  fprintf(fmatlab,"\nvoid mx_to_c_%s(const mxArray* a, %s)\n",c_ident(typ),c_type_id(typ, "*b"));
+  fprintf(fmatlab,"{\n");
+  
+  func2(typ);
+  fprintf(fmatlab,"\n}\n");
+  
+  return;
+}
+
+
+
+void
+matlab_c_to_mx_struct(Tnode* typ)
+{
+  Table *table,*t;
+  Entry *p;
+  int number_of_fields=0;
+
+  if (!typ->ref)
+    return;
+
+  if (is_dynamic_array(typ))
+    {
+      fprintf(fmheader,"\nmxArray* c_to_mx_%s(%s);\n",c_ident(typ),c_type_id(typ, ""));
+      fprintf(fmatlab,"\nmxArray* c_to_mx_%s(%s)\n",c_ident(typ),c_type_id(typ, "a"));
+      matlab_c_to_mx_dynamicArray(typ);
+      return;
+    }
+  else if(strstr(c_type_id(typ, ""),"soapSparseArray"))
+    {
+      return;
+    }
+  
+  fprintf(fmheader,"\nmxArray* c_to_mx_%s(%s);\n",c_ident(typ),c_type_id(typ, ""));
+  fprintf(fmatlab,"\nmxArray* c_to_mx_%s(%s)\n",c_ident(typ),c_type_id(typ, "a"));
+  table=(Table*)typ->ref;	
+  fprintf(fmatlab,"{\n\tconst char* fnames[] = {"); 
+  for (t = table; t != (Table *) 0; t = t->prev) { 
+    for (p = t->list; p != (Entry*) 0; p = p->next) {
+      if (p->info.typ->type != Tfun && !is_void(p->info.typ) && !is_XML(p->info.typ))
+	{
+	  if(number_of_fields)
+	    fprintf(fmatlab,",\"%s\"",ident(p->sym->name));
+	  else 
+	    fprintf(fmatlab,"\"%s\"",ident(p->sym->name));
+	  number_of_fields++;
+	}
+    }
+  }	
+  fprintf(fmatlab,"}; /* pointers to member field names */\n"); 
+  
+  fprintf(fmatlab,"\tint rows = 1, cols = 1;\n\tint index = 0;\n\tint number_of_fields = %d;\n\tmxArray *struct_array_ptr;\n",number_of_fields);
+  fprintf(fmatlab,"\t/* Create a 1x1 struct matrix for output  */\n");
+  fprintf(fmatlab,"\tstruct_array_ptr = mxCreateStructMatrix(rows, cols, number_of_fields, fnames);\n\tmexPrintf(\"6\");\n\tif(struct_array_ptr == NULL) {\n\t\tmexPrintf(\"COULDNT CREATE A MATRIX\");}\n\tmexPrintf(\"7\");\n");
+  
+  
+  for (t = table; t != (Table *) 0; t = t->prev) { 
+    for (p = t->list; p != (Entry*) 0; p = p->next) {
+      if (p->info.typ->type != Tfun && !is_void(p->info.typ) && !is_XML(p->info.typ))
+	{
+	  fprintf(fmatlab,"\t{mxArray *fout = c_to_mx_%s(a.%s);\n",c_ident(p->info.typ), ident(p->sym->name));
+	  fprintf(fmatlab,"\tmxSetField(struct_array_ptr, index,\"%s\" , fout);}\n", ident(p->sym->name));
+	}
+    }
+  }
+  fprintf(fmatlab,"\treturn struct_array_ptr;\n}\n");
+  return;
+}
+
+void
+matlab_c_to_mx_primitive(Tnode *typ)
+{
+  fprintf(fmheader,"\nmxArray* c_to_mx_%s(%s);",c_ident(typ),c_type_id(typ, ""));
+  fprintf(fmatlab,"\nmxArray* c_to_mx_%s(%s)\n",c_ident(typ),c_type_id(typ, "a"));
+
+  fprintf(fmatlab,"{\n\tmxArray  *fout;\n");
+  if((typ->type == Tchar) || (typ->type == Tuchar))
+    {
+      fprintf(fmatlab,"\tchar buf[2];\n");
+      fprintf(fmatlab,"\tbuf[0] = a;\n");
+      fprintf(fmatlab,"\tbuf[1] = \'\\0\';\n");
+      fprintf(fmatlab,"\tfout = mxCreateString(buf);\n");
+      fprintf(fmatlab,"\tif (!fout)\n");
+      fprintf(fmatlab,"\t\tmexErrMsgTxt(\"Could not create mxArray.\");\n");
+    }
+  else
+    {
+      fprintf(fmatlab,"\tint ndim = 1, dims[1] = {1};\n");
+      fprintf(fmatlab,"\tfout = mxCreateNumericArray(ndim, dims, %s, mxREAL);\n",get_mxClassID(typ));
+      fprintf(fmatlab,"\t%s = (%s)mxGetPr(fout);\n",c_type_id(typ,"*temp"),c_type_id(typ,"*"));
+      fprintf(fmatlab,"\tif (!fout)\n");
+      fprintf(fmatlab,"\t\tmexErrMsgTxt(\"Could not create mxArray.\");\n");
+      fprintf(fmatlab,"\tif (!temp) \n");
+      fprintf(fmatlab,"\t\tmexErrMsgTxt(\"matlab_array_c_to_mx: Pointer to data is NULL\");\n");
+      fprintf(fmatlab,"\t*temp++= a;\n");
+    }
+  fprintf(fmatlab,"\treturn fout;\n}\n");
+}
+
+void
+matlab_mx_to_c_primitive(Tnode *typ)
+{
+  fprintf(fmheader, "\nvoid mx_to_c_%s(const mxArray *, %s);\n",c_ident(typ),c_type_id(typ, "*"));
+  fprintf(fmatlab, "\nvoid mx_to_c_%s(const mxArray *a, %s)\n",c_ident(typ),c_type_id(typ, "*b"));
+  if((typ->type == Tchar) || (typ->type == Tuchar))
+    {
+      fprintf(fmatlab,"{\n\tint ret;\n");
+      fprintf(fmatlab,"\tchar buf[2];\n");
+      fprintf(fmatlab,"\tret = mxGetString(a, buf, 2);\n");
+      fprintf(fmatlab,"\tmexPrintf(\"ret = %%d, buf = %%s\", ret, buf);\n");
+      fprintf(fmatlab,"\t*b = buf[0];\n");
+    }
+  else
+    {
+      fprintf(fmatlab,"{\n\tdouble* data = (double*)mxGetData(a);\n");
+      fprintf(fmatlab,"\t*b = (%s)*data;\n",c_type(typ));
+    }
+      fprintf(fmatlab,"\n}\n");
+}
+
+void
+matlab_out_generate(Tnode *typ)
+{
+
+  if (is_transient(typ) || typ->type == Twchar || is_XML(typ))
+    return;
+
+  /*
+  typeNO++;
+  if (typeNO>=1024)
+    execerror("Too many user-defined data types");
+    */
+
+  if(is_primitive(typ))
+    {
+      matlab_c_to_mx_primitive(typ);
+      matlab_mx_to_c_primitive(typ);
+      return;
+    }
+
+  switch(typ->type)
+    {
+    case Tstruct:
+      matlab_c_to_mx_struct(typ);
+      matlab_mx_to_c_struct(typ);
+      break;
+    case Tpointer:
+      matlab_c_to_mx_pointer(typ);
+      matlab_mx_to_c_pointer(typ);
+      break;
+    case Tarray:
+      break;
+    default:break;
+    }
+}
+
+/*his function is called first it first generates all routines
+  and then in the second pass calls all routines to generate
+  matlab_out for the table*/
+
+void
+func1(Table *table, Entry *param)
+{ Entry *q,*pout,*response=NULL;
+  q=entry(table, param->sym);
+  if (q)
+    pout = (Entry*)q->info.typ->ref;
+  else
+  { fprintf(stderr, "Internal error: no table entry\n");
+    return;
+  }
+  q=entry(classtable, param->sym);
+  if (!is_response(pout->info.typ))
+  { response = get_response(param->info.typ);
+  }
+  fprintf(fmheader,"\n\toutside loop struct %s soap_tmp_%s;",param->sym->name,param->sym->name);
+  if (!is_response(pout->info.typ) && response)
+  { fprintf(fmheader,"\n\tif..inside loop struct %s *soap_tmp_%s;",c_ident(response->info.typ), c_ident(response->info.typ));
+  } 
+  fflush(fmheader);
+}
+
+void
+matlab_def_table(Table *table)
+{
+  Entry *q,*pout,*e,*response=NULL;
+  int i;
+  Tnode *p;
+
+  /*  for (q1 = table->list; q1 != (Entry*) 0; q1 = q1->next)
+    if (q1->info.typ->type==Tfun)
+      func1(table, q1);
+  */
+
+  /* Sparse matrix code will be present by default */
+  matlab_gen_sparseStruct();
+  matlab_c_to_mx_sparse();
+  matlab_mx_to_c_sparse();  
+
+  for(i=0;i<TYPES;i++)
+    for(p=Tptr[i];p!=(Tnode*) 0;p=p->next)
+      {
+	/* This is generated for everything declared in the ".h" file. To make
+	   sure that it doesnt get generated for functions do a comparison with
+	   p->sym->name, so that its not generated for functions.
+	*/
+	if(is_XML(p))
+	  continue;
+	if(strstr(c_ident(p),"SOAP_ENV_") != NULL)
+	  continue;
+	for(q = table->list; q != (Entry*) 0; q = q->next)
+	  {
+	    if(strcmp(c_ident(p),q->sym->name) == 0)
+	      break;
+	    e=entry(table, q->sym);
+	    if (e)
+	      pout = (Entry*)e->info.typ->ref;
+	    else
+	    { fprintf(stderr, "Internal error: no table entry\n");
+	      return;
+	    }
+	    if (!is_response(pout->info.typ))
+	    { response = get_response(q->info.typ);
+	    }
+	    if (!is_response(pout->info.typ) && response)
+	    {
+	      if(strcmp(c_ident(p),c_ident(response->info.typ)) == 0)
+		 break;
+	    }
+	  }
+	if(q == (Entry*) 0)
+	  matlab_out_generate(p);	  
+      }
+}
+
+void
+def_table(Table *table)
+{ int i;  
+  Tnode *p; 
+  for (i = 0; i < TYPES; i++)
+  { for (p = Tptr[i]; p; p = p->next)
+    { if (!p->generated && !is_transient(p) && p->type != Twchar && !is_void(p))
+      { p->generated = True;
+        generate(p);
+        if (fflag)
+          if (--partnum == 0)
+	    return;
+      }
+    }
+  }
+}
+
+         
+int 
+no_of_var(Tnode *typ)
+{
+  Entry *p;
+  Table *t;
+  int i=0;
+  if(typ->type==Tstruct || typ->type==Tclass)
+    {
+      t=(Table*)typ->ref;
+      for (p = t->list; p != (Entry*) 0; p = p->next) {
+	if(p->info.typ->type==Tpointer)
+	  i++;
+      }
+    }
+  if((((Tnode *)(typ->ref))->type==Tstruct) ||
+     (((Tnode *)(typ->ref))->type==Tclass) )
+    {
+      t=(Table*)((Tnode*)(typ->ref))->ref;
+      for (p = t->list; p != (Entry*) 0; p = p->next) {
+	if(p->info.typ->type==Tpointer)
+	  i++;
+      }
+    }
+  return i;
+}      
+
+void
+in_defs(Table *table)
+{ int i;  
+  Tnode *p;
+  for (i = 0; i < TYPES; i++)
+  { for (p = Tptr[i]; p; p = p->next)
+    { if (!is_element(p) && !is_transient(p) && p->type != Twchar && p->type != Tfun && p->type != Treference && p->type != Tunion && !is_XML(p) && !is_header_or_fault(p) && !is_body(p) && !is_template(p))
+      { char *s = xsi_type(p);
+        if (!*s)
+          s = wsdl_type(p, "");
+        if (*s == '-')
+          continue;
+	if (is_string(p))
+          fprintf(fout,"\n\tcase %s:\n\t{\tchar **s;\n\t\ts = soap_in_%s(soap, NULL, NULL, \"%s\");\n\t\treturn s ? *s : NULL;\n\t}", soap_type(p), c_ident(p), s);
+	else if (is_wstring(p))
+          fprintf(fout,"\n\tcase %s:\n\t{\twchar_t **s;\n\t\ts = soap_in_%s(soap, NULL, NULL, \"%s\");\n\t\treturn s ? *s : NULL;\n\t}", soap_type(p), c_ident(p), s);
+	else
+          fprintf(fout,"\n\tcase %s:\n\t\treturn soap_in_%s(soap, NULL, NULL, \"%s\");", soap_type(p), c_ident(p), s);
+      }
+    }
+  }
+}
+
+void
+in_defs2(Table *table)
+{ int i, j;
+  Tnode *p;
+  char *s;
+  for (i = 0; i < TYPES; i++)
+  { /* make sure (wrapper) classes are checked first */
+    if (i == 0)
+      j = Tclass;
+    else if (i == Tclass)
+      continue;
+    else
+      j = i;
+    for (p = Tptr[j]; p; p = p->next)
+    { if (!is_element(p) && !is_transient(p) && !is_template(p) && p->type != Twchar && p->type != Tfun && p->type != Treference && p->type != Tunion && !is_XML(p) && !is_header_or_fault(p) && !is_body(p))
+      { s = xsi_type(p);
+	if (!*s)
+	  s = wsdl_type(p, "");
+	if (*s == '-')
+	  continue;
+	if (*s)
+	{ if (is_dynamic_array(p) && !is_binary(p) && !has_ns(p) && !is_untyped(p))
+	    fprintf(fout,"\n\t\tif (*soap->arrayType && !soap_match_array(soap, \"%s\"))\n\t\t{\t*type = %s;\n\t\t\treturn soap_in_%s(soap, NULL, NULL, NULL);\n\t\t}", s, soap_type(p), c_ident(p));
+	  else if (is_string(p))
+	    fprintf(fout,"\n\t\tif (!soap_match_tag(soap, t, \"%s\"))\n\t\t{\tchar **s;\n\t\t\t*type = %s;\n\t\t\ts = soap_in_%s(soap, NULL, NULL, NULL);\n\t\t\treturn s ? *s : NULL;\n\t\t}", s, soap_type(p), c_ident(p));
+	  else if (is_wstring(p))
+	    fprintf(fout,"\n\t\tif (!soap_match_tag(soap, t, \"%s\"))\n\t\t{\twchar_t **s;\n\t\t\t*type = %s;\n\t\t\ts = soap_in_%s(soap, NULL, NULL, NULL);\n\t\t\treturn s ? *s : NULL;\n\t\t}", s, soap_type(p), c_ident(p));
+          else if (p->type != Tpointer)
+	    fprintf(fout,"\n\t\tif (!soap_match_tag(soap, t, \"%s\"))\n\t\t{\t*type = %s;\n\t\t\treturn soap_in_%s(soap, NULL, NULL, NULL);\n\t\t}", s, soap_type(p), c_ident(p));
+        }
+      }
+    }
+  }
+}
+
+void
+in_defs3(Table *table)
+{ int i;
+  Tnode *p;
+  char *s;
+  for (i = 0; i < TYPES; i++)
+  { for (p = Tptr[i]; p; p = p->next)
+    { if (is_element(p) && !is_transient(p) && !is_template(p) && p->type != Twchar && p->type != Tfun && p->type != Treference && p->type != Tunion && !is_XML(p) && !is_header_or_fault(p) && !is_body(p))
+      { s = xsi_type(p);
+	if (!*s)
+	  s = wsdl_type(p, "");
+	if (*s == '-')
+	  continue;
+	if (*s)
+	{ if (is_dynamic_array(p) && !is_binary(p) && !has_ns(p) && !is_untyped(p))
+	    fprintf(fout,"\n\t\tif (*soap->arrayType && !soap_match_array(soap, \"%s\"))\n\t\t{\t*type = %s;\n\t\t\treturn soap_in_%s(soap, NULL, NULL, NULL);\n\t\t}", s, soap_type(p), c_ident(p));
+	  else if (is_string(p))
+	    fprintf(fout,"\n\t\tif (!soap_match_tag(soap, t, \"%s\"))\n\t\t{\tchar **s;\n\t\t\t*type = %s;\n\t\t\ts = soap_in_%s(soap, NULL, NULL, NULL);\n\t\t\treturn s ? *s : NULL;\n\t\t}", s, soap_type(p), c_ident(p));
+	  else if (is_wstring(p))
+	    fprintf(fout,"\n\t\tif (!soap_match_tag(soap, t, \"%s\"))\n\t\t{\twchar_t **s;\n\t\t\t*type = %s;\n\t\t\ts = soap_in_%s(soap, NULL, NULL, NULL);\n\t\t\treturn s ? *s : NULL;\n\t\t}", s, soap_type(p), c_ident(p));
+          else if (p->type != Tpointer)
+	    fprintf(fout,"\n\t\tif (!soap_match_tag(soap, t, \"%s\"))\n\t\t{\t*type = %s;\n\t\t\treturn soap_in_%s(soap, NULL, NULL, NULL);\n\t\t}", s, soap_type(p), c_ident(p));
+        }
+      }
+    }
+  }
+}
+
+void
+out_defs(Table *table)
+{ int i;  
+  char *s;
+  Tnode *p;
+  for (i = 0; i < TYPES; i++)
+  { for (p = Tptr[i]; p; p = p->next)
+    { if (is_transient(p) || is_template(p) || is_XML(p) || is_header_or_fault(p) || is_body(p))
+        continue;
+      if (is_element(p))
+      { s = wsdl_type(p, "");
+	if (*s == '-')
+	  continue;
+        if (p->type == Tarray)
+          fprintf(fout,"\n\tcase %s:\n\t\treturn soap_out_%s(soap, \"%s\", id, (%s)ptr, NULL);", soap_type(p),c_ident(p),s,c_type_id((Tnode*)p->ref, "(*)"));
+        else if(p->type == Tclass && !is_external(p) && !is_volatile(p) && !is_typedef(p))
+          fprintf(fout,"\n\tcase %s:\n\t\treturn ((%s)ptr)->soap_out(soap, \"%s\", id, NULL);", soap_type(p), c_type_id(p, "*"),s);
+        else if (is_string(p))
+          fprintf(fout,"\n\tcase %s:\n\t\treturn soap_out_string(soap, \"%s\", id, (char*const*)&ptr, NULL);", soap_type(p),s);
+        else if (is_wstring(p))
+          fprintf(fout,"\n\tcase %s:\n\t\treturn soap_out_wstring(soap, \"%s\", id, (wchar_t*const*)&ptr, NULL);", soap_type(p),s);
+        else if (p->type == Tpointer)
+          fprintf(fout,"\n\tcase %s:\n\t\treturn soap_out_%s(soap, \"%s\", id, (%s)ptr, NULL);", soap_type(p),c_ident(p),s,c_type_id(p, "const*"));
+        else if(p->type != Tnone && p->type != Ttemplate && p->type != Twchar && !is_void(p) && p->type != Tfun && p->type != Treference && p->type != Tunion)
+          fprintf(fout,"\n\tcase %s:\n\t\treturn soap_out_%s(soap, \"%s\", id, (const %s)ptr, NULL);", soap_type(p),c_ident(p),s,c_type_id(p, "*"));
+      }
+      else
+      { s = xsi_type(p);
+        if (!*s)
+          s = wsdl_type(p, "");
+        if (*s == '-')
+          continue;
+        if (p->type == Tarray)
+          fprintf(fout,"\n\tcase %s:\n\t\treturn soap_out_%s(soap, tag, id, (%s)ptr, \"%s\");", soap_type(p), c_ident(p),c_type_id((Tnode*)p->ref, "(*)"), s);
+        else if(p->type == Tclass && !is_external(p) && !is_volatile(p) && !is_typedef(p))
+          fprintf(fout,"\n\tcase %s:\n\t\treturn ((%s)ptr)->soap_out(soap, tag, id, \"%s\");", soap_type(p), c_type_id(p, "*"), s);
+        else if (is_string(p))
+          fprintf(fout,"\n\tcase %s:\n\t\treturn soap_out_string(soap, tag, id, (char*const*)&ptr, \"%s\");", soap_type(p), s);
+        else if (is_wstring(p))
+          fprintf(fout,"\n\tcase %s:\n\t\treturn soap_out_wstring(soap, tag, id, (wchar_t*const*)&ptr, \"%s\");", soap_type(p), s);
+        else if (p->type == Tpointer)
+          fprintf(fout,"\n\tcase %s:\n\t\treturn soap_out_%s(soap, tag, id, (%s)ptr, \"%s\");", soap_type(p), c_ident(p),c_type_id(p, "const*"), s);
+        else if(p->type != Tnone && p->type != Ttemplate && p->type != Twchar && !is_void(p) && p->type != Tfun && p->type != Treference && p->type != Tunion)
+          fprintf(fout,"\n\tcase %s:\n\t\treturn soap_out_%s(soap, tag, id, (const %s)ptr, \"%s\");", soap_type(p), c_ident(p),c_type_id(p, "*"), s);
+      }
+    }
+  }
+}
+
+void
+mark_defs(Table *table)
+{ int i;  
+  Tnode *p;
+  for (i = 0; i < TYPES; i++)
+  { for (p = Tptr[i]; p; p = p->next)
+    { if (is_transient(p) || is_template(p) || is_XML(p) || is_header_or_fault(p) || is_body(p) || is_void(p))
+        continue;
+      if (p->type == Tarray)
+        fprintf(fout,"\n\tcase %s:\n\t\tsoap_serialize_%s(soap, (%s)ptr);\n\t\tbreak;", soap_type(p), c_ident(p),c_type_id((Tnode*)p->ref, "(*)"));
+      else if(p->type == Tclass && !is_external(p) && !is_volatile(p) && !is_typedef(p))
+        fprintf(fout,"\n\tcase %s:\n\t\t((%s)ptr)->soap_serialize(soap);\n\t\tbreak;", soap_type(p), c_type_id(p, "*"));
+      else if (is_string(p))
+        fprintf(fout,"\n\tcase %s:\n\t\tsoap_serialize_string(soap, (char*const*)&ptr);\n\t\tbreak;", soap_type(p));
+      else if (is_wstring(p))
+        fprintf(fout,"\n\tcase %s:\n\t\tsoap_serialize_wstring(soap, (wchar_t*const*)&ptr);\n\t\tbreak;", soap_type(p));
+      else if (p->type == Tpointer)
+        fprintf(fout,"\n\tcase %s:\n\t\tsoap_serialize_%s(soap, (%s)ptr);\n\t\tbreak;", soap_type(p), c_ident(p),c_type_id(p, "const*"));
+      else if(p->type == Ttemplate && p->ref)
+        fprintf(fout,"\n\tcase %s:\n\t\tsoap_serialize_%s(soap, (const %s)ptr);\n\t\tbreak;", soap_type(p), c_ident(p),c_type_id(p, "*"));
+      else if(!is_primitive(p) && p->type != Tnone && p->type != Ttemplate && !is_void(p) && p->type != Tfun && p->type != Treference && p->type != Tunion)
+        fprintf(fout,"\n\tcase %s:\n\t\tsoap_serialize_%s(soap, (const %s)ptr);\n\t\tbreak;", soap_type(p), c_ident(p),c_type_id(p, "*"));
+    }
+  }
+}
+
+void
+in_attach(Table *table)
+{ int i;  
+  Tnode *p;
+  for (i = 0; i < TYPES; i++)
+  { for (p = Tptr[i]; p; p = p->next)
+    { if (is_attachment(p))
+      { if (p->type == Tclass)
+	  fprintf(fout,"\n\t\tcase %s:\n\t\t{\t%s a;\n\t\t\ta = (%s)soap_class_id_enter(soap, soap->dime.id, NULL, %s, sizeof(%s), NULL, NULL);\n\t\t\tif (a)\n\t\t\t{\ta->__ptr = (unsigned char*)soap->dime.ptr;\n\t\t\t\ta->__size = soap->dime.size;\n\t\t\t\ta->id = (char*)soap->dime.id;\n\t\t\t\ta->type = (char*)soap->dime.type;\n\t\t\t\ta->options = (char*)soap->dime.options;\n\t\t\t}\n\t\t\telse\n\t\t\t\treturn soap->error;\n\t\t\tbreak;\n\t\t}", soap_type(p), c_type_id(p, "*"), c_type_id(p, "*"), soap_type(p), c_type(p));
+	else
+	  fprintf(fout,"\n\t\tcase %s:\n\t\t{\t%s a;\n\t\t\ta = (%s)soap_id_enter(soap, soap->dime.id, NULL, %s, sizeof(%s), 0, NULL, NULL, NULL);\n\t\t\tif (!a)\n\t\t\t\treturn soap->error;\n\t\t\ta->__ptr = (unsigned char*)soap->dime.ptr;\n\t\t\ta->__size = soap->dime.size;\n\t\t\ta->id = (char*)soap->dime.id;\n\t\t\ta->type = (char*)soap->dime.type;\n\t\t\ta->options = (char*)soap->dime.options;\n\t\t\tbreak;\n\t\t}", soap_type(p), c_type_id(p, "*"), c_type_id(p, "*"), soap_type(p), c_type(p));
+      }
+      else if (is_binary(p) && !is_transient(p))
+      { if (p->type == Tclass)
+	  fprintf(fout,"\n\t\tcase %s:\n\t\t{\t%s a;\n\t\t\ta = (%s)soap_class_id_enter(soap, soap->dime.id, NULL, %s, sizeof(%s), NULL, NULL);\n\t\t\tif (!a)\n\t\t\t\treturn soap->error;\n\t\t\ta->__ptr = (unsigned char*)soap->dime.ptr;\n\t\t\ta->__size = soap->dime.size;\n\t\t\tbreak;\n\t\t}", soap_type(p), c_type_id(p, "*"), c_type_id(p, "*"), soap_type(p), c_type(p));
+	else
+	  fprintf(fout,"\n\t\tcase %s:\n\t\t{\t%s a;\n\t\t\ta = (%s)soap_id_enter(soap, soap->dime.id, NULL, %s, sizeof(%s), 0, NULL, NULL, NULL);\n\t\t\tif (!a)\n\t\t\t\treturn soap->error;\n\t\t\ta->__ptr = (unsigned char*)soap->dime.ptr;\n\t\t\ta->__size = soap->dime.size;\n\t\t\tbreak;\n\t\t}", soap_type(p), c_type_id(p, "*"), c_type_id(p, "*"), soap_type(p), c_type(p));
+      }
+    }
+  }
+}
+
+void
+soap_instantiate_class(Tnode *typ)
+{ Table *Tptr;
+  Entry *Eptr;
+  int derclass = 0, flag = 0;
+  char *s;
+  
+  if (cflag)
+    return;
+
+  if (typ->type != Tclass || !typ->sym || !is_eq(typ->sym->name, "xsd__QName") || is_imported(typ))
+    if (is_typedef(typ) && !is_external(typ))
+    { fprintf(fhead, "\n\n#define soap_instantiate_%s soap_instantiate_%s\n", c_ident(typ), t_ident(typ));
+      fprintf(fhead, "\n\n#define soap_copy_%s soap_copy_%s", c_ident(typ), t_ident(typ));
+      return;
+    }
+
+  fprintf(fhead,"\nSOAP_FMAC1 %s * SOAP_FMAC2 soap_instantiate_%s(struct soap*, int, const char*, const char*, size_t*);", c_type(typ), c_ident(typ));
+
+  fprintf(fhead, "\n\ninline %s * soap_new_%s(struct soap *soap, int n = -1) { return soap_instantiate_%s(soap, n, NULL, NULL, NULL); }", c_type(typ), c_ident(typ), c_ident(typ));
+
+  if (typ->type == Tclass || typ->type == Tstruct)
+  { fprintf(fhead, "\n\ninline %s * soap_new_req_%s(struct soap *soap", c_type(typ), c_ident(typ));
+    if (!is_dynamic_array(typ))
+    { for (Tptr = (Table*)typ->ref, derclass = 0; Tptr; Tptr = Tptr->prev, derclass++)
+      { for (Eptr = Tptr->list; Eptr; Eptr = Eptr->next)
+        { if (Eptr->info.sto & (Stypedef | Sstatic))
+            continue;
+          if (is_repetition(Eptr) || is_anytype(Eptr))
+	    flag = 2;
+          if ((Eptr->info.minOccurs > 0 || flag) && !(Eptr->info.sto & (Sprivate | Sprotected)) && Eptr->info.typ->type != Tfun && strcmp(Eptr->sym->name, "soap"))
+	  { if (flag)
+	      flag--;
+	    if (Eptr->info.typ->type == Tclass || Eptr->info.typ->type == Tstruct || Eptr->info.typ->type == Tunion || Eptr->info.typ->type == Ttemplate)
+	      fprintf(fhead, ", %s& %s", c_type(Eptr->info.typ), ident(Eptr->sym->name));
+	    else
+	      fprintf(fhead, ", %s", c_type_id(Eptr->info.typ, Eptr->sym->name));
+	    if (derclass)
+	      fprintf(fhead, "%d", derclass);
+          }
+        }
+      }
+    }
+    fprintf(fhead, ") { %s = soap_instantiate_%s(soap, -1, NULL, NULL, NULL); if (_p) { ", c_type_id(typ, "*_p"), c_ident(typ));
+    if (!is_external(typ))
+    { if (typ->type == Tclass && !is_volatile(typ))
+        fprintf(fhead, "_p->soap_default(soap); ");
+      else
+        fprintf(fhead, "soap_default_%s(soap, _p); ", c_ident(typ));
+    }
+    flag = 0;
+    if (!is_dynamic_array(typ))
+    { for (Tptr = (Table*)typ->ref, derclass = 0; Tptr; Tptr = Tptr->prev, derclass++)
+      { for (Eptr = Tptr->list; Eptr; Eptr = Eptr->next)
+        { if (Eptr->info.sto & (Stypedef | Sstatic))
+            continue;
+          if (is_repetition(Eptr) || is_anytype(Eptr))
+	    flag = 2;
+          if ((Eptr->info.minOccurs > 0 || flag) && !(Eptr->info.sto & (Sprivate | Sprotected)) && Eptr->info.typ->type != Tfun && strcmp(Eptr->sym->name, "soap"))
+	  { if (flag)
+	      flag--;
+	    if (typ->type == Tclass)
+	      fprintf(fhead, "_p->%s::%s = %s", ident(Tptr->sym->name), ident(Eptr->sym->name), ident(Eptr->sym->name));
+	    else
+	      fprintf(fhead, "_p->%s = %s", ident(Eptr->sym->name), ident(Eptr->sym->name));
+	    if (derclass)
+	      fprintf(fhead, "%d; ", derclass);
+	    else
+	      fprintf(fhead, "; ");
+          }
+        }
+      }
+    }
+    fprintf(fhead, "} return _p; }");
+    fprintf(fhead, "\n\ninline %s * soap_new_set_%s(struct soap *soap", c_type(typ), c_ident(typ));
+    for (Tptr = (Table*)typ->ref, derclass = 0; Tptr; Tptr = Tptr->prev, derclass++)
+    { for (Eptr = Tptr->list; Eptr; Eptr = Eptr->next)
+      { if (Eptr->info.sto & (Stypedef | Sstatic))
+          continue;
+        if (!(Eptr->info.sto & (Sprivate | Sprotected)) && Eptr->info.typ->type != Tfun && strcmp(Eptr->sym->name, "soap"))
+	{ if (Eptr->info.typ->type == Tclass || Eptr->info.typ->type == Tstruct || Eptr->info.typ->type == Tunion || Eptr->info.typ->type == Ttemplate)
+	    fprintf(fhead, ", %s& %s", c_type(Eptr->info.typ), ident(Eptr->sym->name));
+	  else
+	    fprintf(fhead, ", %s", c_type_id(Eptr->info.typ, Eptr->sym->name));
+	  if (derclass)
+	    fprintf(fhead, "%d", derclass);
+        }
+      }
+    }
+    fprintf(fhead, ") { %s = soap_instantiate_%s(soap, -1, NULL, NULL, NULL); if (_p) { ", c_type_id(typ, "*_p"), c_ident(typ));
+    if (!is_external(typ))
+    { if (typ->type == Tclass && !is_volatile(typ))
+        fprintf(fhead, "_p->soap_default(soap); ");
+      else
+        fprintf(fhead, "soap_default_%s(soap, _p); ", c_ident(typ));
+    }
+    for (Tptr = (Table*)typ->ref, derclass = 0; Tptr; Tptr = Tptr->prev, derclass++)
+    { for (Eptr = Tptr->list; Eptr; Eptr = Eptr->next)
+      { if (Eptr->info.sto & (Stypedef | Sstatic))
+          continue;
+        if (!(Eptr->info.sto & (Sprivate | Sprotected)) && Eptr->info.typ->type != Tfun && strcmp(Eptr->sym->name, "soap"))
+	{ if (typ->type == Tclass)
+	    fprintf(fhead, "_p->%s::%s = %s", ident(Tptr->sym->name), ident(Eptr->sym->name), ident(Eptr->sym->name));
+	  else if (Eptr->info.typ->type == Tarray)
+	    fprintf(fhead, "memcpy(_p->%s, %s, sizeof(%s))", ident(Eptr->sym->name), ident(Eptr->sym->name), c_type(Eptr->info.typ));
+	  else
+	    fprintf(fhead, "_p->%s = %s", ident(Eptr->sym->name), ident(Eptr->sym->name));
+	  if (derclass)
+	    fprintf(fhead, "%d; ", derclass);
+	  else
+	    fprintf(fhead, "; ");
+        }
+      }
+    }
+    fprintf(fhead, "} return _p; }");
+  }
+
+  fprintf(fhead, "\n\ninline void soap_delete_%s(struct soap *soap, %s) { soap_delete(soap, p); }", c_ident(typ), c_type_id(typ, "*p"));
+
+  /* extern "C" causes C++ namespace linking issues */
+  /* fprintf(fhead,"\n#ifdef __cplusplus\nextern \"C\" {\n#endif"); */
+  fprintf(fhead,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_copy_%s(struct soap*, int, int, void*, size_t, const void*, size_t);", c_ident(typ));
+  /* fprintf(fhead,"\n#ifdef __cplusplus\n}\n#endif"); */
+
+  fprintf(fout,"\n\nSOAP_FMAC1 %s * SOAP_FMAC2 soap_instantiate_%s(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)", c_type(typ), c_ident(typ));
+  fprintf(fout,"\n{");
+  fprintf(fout,"\n\t(void)type; (void)arrayType; /* appease -Wall -Werror */");
+  fprintf(fout, "\n\tDBGLOG(TEST, SOAP_MESSAGE(fdebug, \"soap_instantiate_%s(%%d, %%s, %%s)\\n\", n, type?type:\"\", arrayType?arrayType:\"\"));", c_ident(typ));
+
+  fprintf(fout,"\n\tstruct soap_clist *cp = soap_link(soap, NULL, %s, n, %s_fdelete);", soap_type(typ), prefix);
+  fprintf(fout,"\n\tif (!cp)\n\t\treturn NULL;");
+  for (Eptr = classtable->list; Eptr; Eptr = Eptr->next)
+  {
+    Tptr = ((Table *) Eptr->info.typ->ref);
+    if(Tptr == ((Table *) typ->ref)){
+      continue;
+    }
+    
+    derclass = 0;
+    while(Tptr)
+    {
+      if(Tptr == (Table*)typ->ref){
+	derclass = 1;
+      }
+
+      Tptr = Tptr->prev;
+    }
+
+    if(derclass == 1 && !is_transient(Eptr->info.typ)){
+      if (is_dynamic_array(Eptr->info.typ) && !is_binary(Eptr->info.typ) && !has_ns(Eptr->info.typ) && !is_untyped(Eptr->info.typ))
+        fprintf(fout,"\n\tif (arrayType && !soap_match_tag(soap, arrayType, \"%s\"))", xsi_type(Eptr->info.typ));
+      else
+        fprintf(fout,"\n\tif (type && !soap_match_tag(soap, type, \"%s\"))", the_type(Eptr->info.typ));
+      fprintf(fout,"\n\t{\tcp->type = %s;", soap_type(Eptr->info.typ));
+      fprintf(fout,"\n\t\tif (n < 0)");
+      fprintf(fout,"\n\t\t{\tcp->ptr = (void*)SOAP_NEW(%s);", c_type(Eptr->info.typ));
+      fprintf(fout,"\n\t\t\tif (size)\n\t\t\t\t*size = sizeof(%s);", c_type(Eptr->info.typ));
+      if ((s = has_soapref(Eptr->info.typ)))
+        fprintf(fout,"\n\t\t\t((%s*)cp->ptr)->%s = soap;", c_type(Eptr->info.typ), s);
+      fprintf(fout,"\n\t\t}\n\t\telse");
+      fprintf(fout,"\n\t\t{\tcp->ptr = (void*)SOAP_NEW_ARRAY(%s, n);", c_type(Eptr->info.typ));
+      fprintf(fout,"\n\t\t\tif (size)\n\t\t\t\t*size = n * sizeof(%s);", c_type(Eptr->info.typ));
+      if (s)
+        fprintf(fout,"\n\t\t\tif (cp->ptr)\n\t\t\t\tfor (int i = 0; i < n; i++)\n\t\t\t\t\t((%s*)cp->ptr)[i].%s = soap;", c_type(Eptr->info.typ), s);
+      fprintf(fout,"\n\t\t}");
+      fprintf(fout,"\n\t\tDBGLOG(TEST, SOAP_MESSAGE(fdebug, \"Instantiated location=%%p\\n\", cp->ptr));");
+      fprintf(fout,"\n\t\tif (!cp->ptr)\n\t\t\tsoap->error = SOAP_EOM;");
+      fprintf(fout,"\n\t\treturn (%s*)cp->ptr;", c_type(Eptr->info.typ));
+      fprintf(fout,"\n\t}");
+
+      derclass = 0;
+    }
+  }
+
+  fprintf(fout,"\n\tif (n < 0)");
+  fprintf(fout,"\n\t{\tcp->ptr = (void*)SOAP_NEW(%s);", c_type(typ));
+  fprintf(fout,"\n\t\tif (size)\n\t\t\t*size = sizeof(%s);", c_type(typ));
+  if ((s = has_soapref(typ)))
+    fprintf(fout,"\n\t\t((%s*)cp->ptr)->%s = soap;", c_type(typ), s);
+  fprintf(fout,"\n\t}\n\telse");
+  fprintf(fout,"\n\t{\tcp->ptr = (void*)SOAP_NEW_ARRAY(%s, n);", c_type(typ));
+  fprintf(fout,"\n\t\tif (size)\n\t\t\t*size = n * sizeof(%s);", c_type(typ));
+  if (s)
+    fprintf(fout,"\n\t\tif (cp->ptr)\n\t\t\tfor (int i = 0; i < n; i++)\n\t\t\t\t((%s*)cp->ptr)[i].%s = soap;", c_type(typ), s);
+  fprintf(fout,"\n\t}");
+  fprintf(fout,"\n\tDBGLOG(TEST, SOAP_MESSAGE(fdebug, \"Instantiated location=%%p\\n\", cp->ptr));");
+  fprintf(fout,"\n\tif (!cp->ptr)\n\t\tsoap->error = SOAP_EOM;");
+  fprintf(fout,"\n\treturn (%s*)cp->ptr;", c_type(typ));
+  
+  fprintf(fout,"\n}");
+
+  /* fprintf(fout,"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif"); */
+  fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_copy_%s(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)", c_ident(typ));
+  fprintf(fout,"\n{\n\t(void)soap; (void)tt; (void)st; (void)len; (void)n; /* appease -Wall -Werror */");
+  fprintf(fout,"\n\tDBGLOG(TEST, SOAP_MESSAGE(fdebug, \"Copying %s %%p -> %%p\\n\", q, p));", c_type(typ));
+  fprintf(fout,"\n\t*(%s*)p = *(%s*)q;\n}", c_type(typ), c_type(typ));
+  /* fprintf(fout,"\n#ifdef __cplusplus\n}\n#endif"); */
+}
+
+int
+get_dimension(Tnode *typ)
+{ if (((Tnode*)typ->ref)->width)
+    return typ->width / ((Tnode*) typ->ref)->width;
+  return 0;
+}
+
+
+void
+soap_serialize(Tnode *typ)
+{ int d;
+  Table *table,*t;
+  Entry *p;
+  Tnode* temp;
+  int cardinality;
+  const char *self;
+
+  if (is_primitive(typ))
+    return;
+
+  if (is_typedef(typ) && is_element(typ) && !is_external(typ))
+  { if (typ->type == Tclass && !is_stdstring(typ) && !is_stdwstring(typ) && !is_volatile(typ))
+      fprintf(fhead, "\n\n#define soap_serialize_%s(soap, a) (a)->soap_serialize(soap)\n",c_ident(typ));
+    else
+      fprintf(fhead, "\n\n#define soap_serialize_%s soap_serialize_%s\n", c_ident(typ), t_ident(typ));
+    return;
+  }
+
+  if (is_typedef(typ) && !is_external(typ))
+  { if (is_imported(typ))
+    { fprintf(fhead, "\n\n#define soap_serialize_%s(soap, a) soap_serialize_%s(soap, a)\n", c_ident(typ), t_ident(typ));
+      return;
+    }
+    if (typ->type == Tclass && !is_stdstring(typ) && !is_stdwstring(typ) && !is_volatile(typ))
+    { fprintf(fhead, "\n\n#define soap_serialize_%s(soap, a) (a)->soap_serialize(soap)\n",c_ident(typ));
+      return;
+    }
+    /* enabling this will not allow multi-ref detection of these typedef types
+    else if (typ->type == Tclass && is_eq(typ->sym->name, "xsd__QName"))
+    { fprintf(fhead, "\n\n#define soap_serialize_%s(soap, a) soap_serialize_std__string(soap, a)\n", c_ident(typ));
+      return;
+    }
+    else if (typ->type != Tclass)
+    { fprintf(fhead, "\n\n#define soap_serialize_%s(soap, a) soap_serialize_%s(soap, a)\n", c_ident(typ), t_ident(typ));
+      return;
+    }
+    */
+  }
+
+  if ((p = is_dynamic_array(typ)))
+  { if (typ->type == Tclass && !is_typedef(typ) && !is_volatile(typ))
+    { if (is_external(typ))
+          return;
+        fprintf(fout,"\n\nvoid %s::soap_serialize(struct soap *soap) const\n{\n#ifndef WITH_NOIDREF",c_ident(typ));
+        if (is_binary(typ))
+	{ if (is_attachment(typ))
+          { fprintf(fout,"\n\tif (this->__ptr && !soap_array_reference(soap, this, (struct soap_array*)&this->__ptr, 1, %s))", soap_type(typ));
+            fprintf(fout,"\n\t\tif (this->id || this->type)\n\t\t\tsoap->mode |= SOAP_ENC_DIME;");
+	  }
+          else
+            fprintf(fout,"\n\tif (this->__ptr)\n\t\tsoap_array_reference(soap, this, (struct soap_array*)&this->%s, 1, %s);", ident(p->sym->name), soap_type(typ));
+          fprintf(fout,"\n#endif\n}");
+      fflush(fout);
+      return;
+	}
+	else
+	{
+      d = get_Darraydims(typ);
+      if (d)
+      { fprintf(fout,"\n\tif (this->%s && !soap_array_reference(soap, this, (struct soap_array*)&this->%s, %d, %s))", ident(p->sym->name), ident(p->sym->name), d, soap_type(typ));
+        fprintf(fout,"\n\t\tfor (int i = 0; i < soap_size(this->__size, %d); i++)", d);
+      }
+      else
+      { fprintf(fout,"\n\tif (this->%s && !soap_array_reference(soap, this, (struct soap_array*)&this->%s, 1, %s))", ident(p->sym->name), ident(p->sym->name), soap_type(typ));
+        fprintf(fout,"\n\t\tfor (int i = 0; i < this->__size; i++)");
+      }
+      fprintf(fout,"\n\t\t{");
+      if (has_ptr((Tnode*)p->info.typ->ref))
+        fprintf(fout,"\tsoap_embedded(soap, this->%s + i, %s);", ident(p->sym->name), soap_type((Tnode*)p->info.typ->ref));
+      if (((Tnode*)p->info.typ->ref)->type == Tclass && !is_XML((Tnode*)p->info.typ->ref) && !is_external(p->info.typ->ref) && !is_volatile((Tnode*)p->info.typ->ref) && !is_typedef((Tnode*)p->info.typ->ref))
+        fprintf(fout,"\n\t\t\tthis->%s[i].soap_serialize(soap);", ident(p->sym->name));
+      else if (!is_XML((Tnode*)p->info.typ->ref) &&!is_primitive((Tnode*)p->info.typ->ref))
+        fprintf(fout,"\n\t\t\tsoap_serialize_%s(soap, this->%s + i);", c_ident((Tnode*)p->info.typ->ref), ident(p->sym->name));
+      fprintf(fout,"\n\t\t}\n#endif\n}");
+      return;
+      }
+    }
+    else
+    { if (is_external(typ))
+        { fprintf(fhead,"\nSOAP_FMAC1 void SOAP_FMAC2 soap_serialize_%s(struct soap*, %s);",c_ident(typ),c_type_id(typ, "const*")); 
+          return;
+	}
+        fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_%s(struct soap*, %s);",c_ident(typ),c_type_id(typ, "const*")); 
+        fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_%s(struct soap *soap, %s)\n{\n#ifndef WITH_NOIDREF",c_ident(typ),c_type_id(typ, "const*a")); 
+        if (is_binary(typ))
+	{ if (is_attachment(typ))
+          { fprintf(fout,"\n\tif (a->%s && !soap_array_reference(soap, a, (struct soap_array*)&a->%s, 1, %s))", ident(p->sym->name), ident(p->sym->name), soap_type(typ));
+            fprintf(fout,"\n\t\tif (a->id || a->type)\n\t\t\tsoap->mode |= SOAP_ENC_DIME;");
+	  }
+          else
+            fprintf(fout,"\n\tif (a->%s)\n\t\tsoap_array_reference(soap, a, (struct soap_array*)&a->%s, 1, %s);", ident(p->sym->name), ident(p->sym->name), soap_type(typ));
+      fprintf(fout,"\n#endif\n}");
+      fflush(fout);
+      return;
+	}
+	else
+	{
+      fprintf(fout,"\n\tint i;");
+      d = get_Darraydims(typ);
+      if (d)
+      { fprintf(fout,"\n\tif (a->%s && !soap_array_reference(soap, a, (struct soap_array*)&a->%s, %d, %s))", ident(p->sym->name), ident(p->sym->name), d, soap_type(typ));
+        fprintf(fout,"\n\t\tfor (i = 0; i < soap_size(a->__size, %d); i++)", d);
+      }
+      else
+      { fprintf(fout,"\n\tif (a->%s && !soap_array_reference(soap, a, (struct soap_array*)&a->%s, 1, %s))", ident(p->sym->name), ident(p->sym->name), soap_type(typ));
+        fprintf(fout,"\n\t\tfor (i = 0; i < a->__size; i++)");
+      }
+      fprintf(fout,"\n\t\t{");
+      if (has_ptr((Tnode*)p->info.typ->ref))
+        fprintf(fout,"\tsoap_embedded(soap, a->%s + i, %s);", ident(p->sym->name), soap_type((Tnode*)p->info.typ->ref));
+      if (((Tnode*)p->info.typ->ref)->type == Tclass && !is_XML((Tnode*)p->info.typ->ref) && !is_external((Tnode*)p->info.typ->ref) && !is_volatile((Tnode*)p->info.typ->ref) && !is_typedef((Tnode*)p->info.typ->ref))
+        fprintf(fout,"\n\t\t\ta->%s[i].soap_serialize(soap);", ident(p->sym->name));
+      else if (!is_XML((Tnode*)p->info.typ->ref) && !is_primitive((Tnode*)p->info.typ->ref))
+        fprintf(fout,"\n\t\t\tsoap_serialize_%s(soap, a->%s + i);", c_ident((Tnode*)p->info.typ->ref), ident(p->sym->name));
+      fprintf(fout,"\n\t\t}\n#endif\n}");
+      fflush(fout);
+      return;
+      }
+    }
+  }
+  if (is_stdstring(typ) || is_stdwstring(typ))
+  { fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_%s(struct soap*, const %s);",c_ident(typ),c_type_id(typ, "*")); 
+    fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_%s(struct soap *soap, const %s)\n{\t(void)soap; (void)a; /* appease -Wall -Werror */\n}",c_ident(typ),c_type_id(typ, "*a")); 
+    return;
+  }
+  switch(typ->type)
+  {	
+    case Tclass:
+      if (!is_volatile(typ))
+      {
+      if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 void SOAP_FMAC2 soap_serialize_%s(struct soap*, const %s);",c_ident(typ),c_type_id(typ, "*")); 
+        return;
+      }
+      table=(Table*)typ->ref;
+      if (!table)
+        return;
+      if (!is_typedef(typ))
+      { self = "this";
+        fprintf(fout,"\n\nvoid %s::soap_serialize(struct soap *soap) const\n{\n#ifndef WITH_NOIDREF", ident(typ->id->name)); 
+      }
+      else
+      { self = "p";
+        fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_%s(struct soap*, const %s);",c_ident(typ),c_type_id(typ, "*")); 
+        fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_%s(struct soap *soap, const %s)\n{\n#ifndef WITH_NOIDREF", c_ident(typ), c_type_id(typ, "*p"));
+      }
+      fprintf(fout, "\n\t(void)soap; /* appease -Wall -Werror */");
+      for (p = table->list; p; p = p->next)
+      {
+	  if (p->info.sto & (Sconst | Sprivate | Sprotected))
+	    fprintf(fout, "\n\t/* non-serializable %s skipped */", ident(p->sym->name));
+	  else if (is_transient(p->info.typ))
+	    fprintf(fout, "\n\t/* transient %s skipped */", ident(p->sym->name));
+	  else if (p->info.sto & Sattribute)
+	    ;
+	  else if (is_repetition(p))
+	  { 
+      if (!is_XML(p->next->info.typ))
+      {
+      fprintf(fout,"\n\tif (%s->%s::%s)", self, ident(table->sym->name), ident(p->next->sym->name));
+      fprintf(fout,"\n\t{\tint i;\n\t\tfor (i = 0; i < %s->%s::%s; i++)\n\t\t{", self, ident(table->sym->name), ident(p->sym->name));
+      if (!is_invisible(p->next->sym->name))
+        if (has_ptr((Tnode*)p->next->info.typ->ref))
+          fprintf(fout,"\n\t\t\tsoap_embedded(soap, %s->%s::%s + i, %s);", self, ident(table->sym->name), ident(p->next->sym->name), soap_type((Tnode*)p->next->info.typ->ref));
+      if (((Tnode*)p->next->info.typ->ref)->type == Tclass && !is_external((Tnode*)p->next->info.typ->ref) && !is_volatile((Tnode*)p->next->info.typ->ref) && !is_typedef((Tnode*)p->next->info.typ->ref))
+        fprintf(fout,"\n\t\t\t%s->%s::%s[i].soap_serialize(soap);", self, ident(table->sym->name), ident(p->next->sym->name));
+      else if (!is_primitive((Tnode*)p->next->info.typ->ref))
+        fprintf(fout,"\n\t\t\tsoap_serialize_%s(soap, %s->%s::%s + i);", c_ident((Tnode*)p->next->info.typ->ref), self, ident(table->sym->name), ident(p->next->sym->name));
+      fprintf(fout,"\n\t\t}\n\t}");
+	  }
+          p = p->next;
+	  }
+	  else if (is_anytype(p))
+	  { fprintf(fout,"\n\tsoap_markelement(soap, %s->%s, %s->%s);", self, ident(p->next->sym->name), self, ident(p->sym->name));
+            p = p->next;
+	  }
+	  else if (is_choice(p))
+	  { fprintf(fout,"\n\tsoap_serialize_%s(soap, %s->%s::%s, &%s->%s::%s);", c_ident(p->next->info.typ), self, ident(table->sym->name), ident(p->sym->name), self, ident(table->sym->name), ident(p->next->sym->name));
+            p = p->next;
+	  }
+	  else if(p->info.typ->type==Tarray)
+	    {
+              if (has_ptr(p->info.typ))
+	        fprintf(fout,"\n\tsoap_embedded(soap, %s->%s::%s, %s);", self, ident(table->sym->name), ident(p->sym->name), soap_type(p->info.typ));
+	      fprintf(fout,"\n\tsoap_serialize_%s(soap, %s->%s::%s);", c_ident(p->info.typ), self, ident(table->sym->name), ident(p->sym->name));
+	    }
+	  else if(p->info.typ->type==Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ))
+	    {
+              if (has_ptr(p->info.typ))
+	        fprintf(fout,"\n\tsoap_embedded(soap, &%s->%s::%s, %s);", self, ident(table->sym->name), ident(p->sym->name), soap_type(p->info.typ));
+	      fprintf(fout,"\n\t%s->%s::%s.soap_serialize(soap);", self, ident(table->sym->name), ident(p->sym->name));
+	    }
+	  else if (p->info.typ->type != Tfun && !is_void(p->info.typ) && !is_XML(p->info.typ))
+	  {
+	    if (!is_template(p->info.typ))
+              if (has_ptr(p->info.typ))
+	        fprintf(fout,"\n\tsoap_embedded(soap, &%s->%s::%s, %s);", self, ident(table->sym->name), ident(p->sym->name), soap_type(p->info.typ));
+	    if (!is_primitive(p->info.typ))
+	      fprintf(fout,"\n\tsoap_serialize_%s(soap, &%s->%s::%s);", c_ident(p->info.typ), self, ident(table->sym->name), ident(p->sym->name));
+	  }
+      }
+      t = table->prev;
+      if (t)
+        fprintf(fout,"\n\t%s->%s::soap_serialize(soap);", self, ident(t->sym->name));
+      fprintf(fout,"\n#endif\n}");	 
+      break;
+      }
+    case Tstruct:
+
+      if (is_external(typ) && !is_volatile(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 void SOAP_FMAC2 soap_serialize_%s(struct soap*, const %s);",c_ident(typ),c_type_id(typ, "*")); 
+        return;
+      }
+      fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_%s(struct soap*, const %s);",c_ident(typ),c_type_id(typ, "*")); 
+      if (!typ->ref)
+        return;
+      fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_%s(struct soap *soap, const %s)\n{\n#ifndef WITH_NOIDREF",c_ident(typ),c_type_id(typ, "*a")); 
+      /* DYNAMIC ARRAY */
+      
+      fprintf(fout, "\n\t(void)soap; (void)a; /* appease -Wall -Werror */");
+      table=(Table*)typ->ref;
+      for (t = table; t; t = t->prev)
+      { for (p = t->list; p; p = p->next)
+        { if (p->info.sto & (Sconst | Sprivate | Sprotected))
+	    fprintf(fout, "\n\t/* non-serializable %s skipped */", ident(p->sym->name));
+	  else if (is_transient(p->info.typ))
+	    fprintf(fout, "\n\t/* transient %s skipped */", ident(p->sym->name));
+	  else if (p->info.sto & Sattribute)
+	    ;
+	  else if (is_repetition(p))
+	  { 
+      if (!is_XML(p->next->info.typ)) {
+      fprintf(fout,"\n\tif (a->%s)", ident(p->next->sym->name));
+      fprintf(fout,"\n\t{\tint i;\n\t\tfor (i = 0; i < a->%s; i++)\n\t\t{", ident(p->sym->name));
+      if (!is_invisible(p->next->sym->name))
+        if (has_ptr((Tnode*)p->next->info.typ->ref))
+          fprintf(fout,"\n\t\t\tsoap_embedded(soap, a->%s + i, %s);", ident(p->next->sym->name), soap_type((Tnode*)p->next->info.typ->ref));
+      if (((Tnode*)p->next->info.typ->ref)->type == Tclass && !is_external((Tnode*)p->next->info.typ->ref) && !is_volatile((Tnode*)p->next->info.typ->ref) && !is_typedef((Tnode*)p->next->info.typ->ref))
+        fprintf(fout,"\n\t\t\ta->%s[i].soap_serialize(soap);", ident(p->next->sym->name));
+      else if (!is_primitive((Tnode*)p->next->info.typ->ref))
+        fprintf(fout,"\n\t\t\tsoap_serialize_%s(soap, a->%s + i);", c_ident((Tnode*)p->next->info.typ->ref), ident(p->next->sym->name));
+      fprintf(fout,"\n\t\t}\n\t}");
+	  }
+          p = p->next;
+	  }
+	  else if (is_anytype(p))
+	  { fprintf(fout,"\n\tsoap_markelement(soap, a->%s, a->%s);", ident(p->next->sym->name), ident(p->sym->name));
+            p = p->next;
+	  }
+	  else if (is_choice(p))
+	  { fprintf(fout,"\n\tsoap_serialize_%s(soap, a->%s, &a->%s);", c_ident(p->next->info.typ), ident(p->sym->name), ident(p->next->sym->name));
+            p = p->next;
+	  }
+	  else if(p->info.typ->type==Tarray)
+	    {
+              if (has_ptr(p->info.typ))
+	        fprintf(fout,"\n\tsoap_embedded(soap, a->%s, %s);", ident(p->sym->name), soap_type(p->info.typ));
+	      fprintf(fout,"\n\tsoap_serialize_%s(soap, a->%s);", c_ident(p->info.typ), ident(p->sym->name));
+	    }
+	  else if(p->info.typ->type == Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ))
+	    {
+              if (has_ptr(p->info.typ))
+	        fprintf(fout,"\n\tsoap_embedded(soap, &a->%s, %s);", ident(p->sym->name), soap_type(p->info.typ));
+	      fprintf(fout,"\n\ta->%s.soap_serialize(soap);", ident(p->sym->name));
+	    }
+	  else if (p->info.typ->type != Tfun && !is_void(p->info.typ) && !is_XML(p->info.typ))
+	    {
+	      if (!is_template(p->info.typ))
+                if (has_ptr(p->info.typ))
+	          fprintf(fout,"\n\tsoap_embedded(soap, &a->%s, %s);", ident(p->sym->name), soap_type(p->info.typ));
+	      if (!is_primitive(p->info.typ))
+	        fprintf(fout,"\n\tsoap_serialize_%s(soap, &a->%s);", c_ident(p->info.typ), ident(p->sym->name));
+	    }
+	}
+      }
+      fprintf(fout,"\n#endif\n}");	 
+      break;
+      
+    case Tunion:
+      if (is_external(typ) && !is_volatile(typ))
+      { fprintf(fhead, "\nSOAP_FMAC1 void SOAP_FMAC2 soap_serialize_%s(struct soap*, int, const %s);", c_ident(typ), c_type_id(typ, "*")); 
+        return;
+      }
+      table=(Table*)typ->ref;
+      fprintf(fhead, "\nSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_%s(struct soap*, int, const %s);", c_ident(typ), c_type_id(typ, "*")); 
+      fprintf(fout, "\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_%s(struct soap *soap, int choice, const %s)\n{\n#ifndef WITH_NOIDREF", c_ident(typ), c_type_id(typ, "*a")); 
+      fprintf(fout, "\n\t(void)soap; (void)a; /* appease -Wall -Werror */");
+      fprintf(fout, "\n\tswitch (choice)\n\t{");
+      for (t = table; t; t = t->prev)
+      { for (p = t->list; p; p = p->next)
+	{ if (p->info.sto & (Sconst | Sprivate | Sprotected))
+	    fprintf(fout, "\n\t/* non-serializable %s skipped */", ident(p->sym->name));
+	  else if (is_transient(p->info.typ))
+	    fprintf(fout, "\n\t/* transient %s skipped */", ident(p->sym->name));
+	  else if (p->info.sto & Sattribute)
+	    ;
+	  else if (is_repetition(p))
+	    ;
+	  else if (is_anytype(p))
+	    ;
+	  else if (p->info.typ->type==Tarray)
+	    {
+	      fprintf(fout, "\n\tcase SOAP_UNION_%s_%s:", c_ident(typ), ident(p->sym->name));
+              if (has_ptr(p->info.typ))
+	        fprintf(fout,"\n\t\tsoap_embedded(soap, a->%s, %s);", ident(p->sym->name), soap_type(p->info.typ));
+	      fprintf(fout,"\n\t\tsoap_serialize_%s(soap, a->%s);", c_ident(p->info.typ), ident(p->sym->name));
+	      fprintf(fout, "\n\t\tbreak;");
+	    }
+	  else if(p->info.typ->type == Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ))
+	    {
+	      fprintf(fout, "\n\tcase SOAP_UNION_%s_%s:", c_ident(typ), ident(p->sym->name));
+              if (has_ptr(p->info.typ))
+	        fprintf(fout,"\n\t\tsoap_embedded(soap, &a->%s, %s);", ident(p->sym->name), soap_type(p->info.typ));
+	      fprintf(fout,"\n\t\ta->%s.soap_serialize(soap);", ident(p->sym->name));
+	      fprintf(fout, "\n\t\tbreak;");
+	    }
+	  else if (p->info.typ->type != Tfun && !is_void(p->info.typ) && !is_XML(p->info.typ))
+	    {
+	      fprintf(fout, "\n\tcase SOAP_UNION_%s_%s:", c_ident(typ), ident(p->sym->name));
+              if (has_ptr(p->info.typ))
+	        fprintf(fout,"\n\t\tsoap_embedded(soap, &a->%s, %s);", ident(p->sym->name), soap_type(p->info.typ));
+	      if (!is_primitive(p->info.typ))
+	        fprintf(fout,"\n\t\tsoap_serialize_%s(soap, &a->%s);", c_ident(p->info.typ), ident(p->sym->name));
+	      fprintf(fout, "\n\t\tbreak;");
+	    }
+	}
+      }
+      fprintf(fout,"\n\tdefault:\n\t\tbreak;\n\t}\n#endif\n}");	 
+      break;
+    case Tpointer:
+      if (((Tnode*)typ->ref)->type == Tclass && !is_external((Tnode*)typ->ref) && !is_volatile((Tnode*)typ->ref) && !is_typedef((Tnode*)typ->ref))
+      { if (is_external(typ))
+        { fprintf(fhead,"\nSOAP_FMAC1 void SOAP_FMAC2 soap_serialize_%s(struct soap*, %s);", c_ident(typ),c_type_id(typ, "const*"));
+          return;
+	}
+        fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_%s(struct soap*, %s);", c_ident(typ),c_type_id(typ, "const*"));
+	fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_%s(struct soap *soap, %s)\n{\n#ifndef WITH_NOIDREF", c_ident(typ),c_type_id(typ, "const*a"));
+	p = is_dynamic_array((Tnode*)typ->ref);
+	if (p)
+        { d = get_Darraydims((Tnode*)typ->ref);
+          if (d)
+	    fprintf(fout,"\n\tif (*a)");
+	  else
+	    fprintf(fout,"\n\tif (*a)");
+	}
+	else
+	  fprintf(fout,"\n\tif (!soap_reference(soap, *a, %s))", soap_type((Tnode*)typ->ref));
+	fprintf(fout,"\n\t\t(*a)->soap_serialize(soap);\n#endif\n}");
+	break;	
+      }
+      else
+      {
+        if (is_external(typ))
+	{ fprintf(fhead,"\nSOAP_FMAC1 void SOAP_FMAC2 soap_serialize_%s(struct soap*, %s);", c_ident(typ),c_type_id(typ, "const*"));
+          return;
+	}
+	fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_%s(struct soap*, %s);", c_ident(typ),c_type_id(typ, "const*"));
+	fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_%s(struct soap *soap, %s)\n{\n#ifndef WITH_NOIDREF", c_ident(typ),c_type_id(typ, "const*a"));
+	if (is_string(typ) || is_wstring(typ))
+	  fprintf(fout,"\n\tsoap_reference(soap, *a, %s);", soap_type(typ));
+	else if (is_primitive((Tnode*)typ->ref))
+	  fprintf(fout,"\n\tsoap_reference(soap, *a, %s);", soap_type((Tnode*)typ->ref));
+	else if ((p = is_dynamic_array((Tnode*)typ->ref)) != NULL)
+        { d = get_Darraydims((Tnode*)typ->ref);
+          if (d)
+	    fprintf(fout,"\n\tif (*a)");
+	  else
+	    fprintf(fout,"\n\tif (*a)");
+	  fprintf(fout,"\n\t\tsoap_serialize_%s(soap, *a);", c_ident((Tnode*)typ->ref));
+	}
+	else
+	{ fprintf(fout,"\n\tif (!soap_reference(soap, *a, %s))", soap_type((Tnode*)typ->ref));
+	  fprintf(fout,"\n\t\tsoap_serialize_%s(soap, *a);", c_ident((Tnode*)typ->ref));
+	}
+	fprintf(fout,"\n#endif\n}");
+	break;
+      }
+    case Tarray:
+      if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 void SOAP_FMAC2 soap_serialize_%s(struct soap*, %s);", c_ident(typ),c_type_id(typ, "const"));
+        return;
+      }
+      fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_%s(struct soap*, %s);", c_ident(typ),c_type_id(typ, "const"));
+      fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_%s(struct soap *soap, %s)\n{\n#ifndef WITH_NOIDREF", c_ident(typ),c_type_id(typ, "const a"));
+      if (is_primitive((Tnode*)typ->ref))
+        fprintf(fout, "\n\t(void)soap; (void)a; /* appease -Wall -Werror */");
+      else
+      { fprintf(fout,"\n\tint i;");
+        fprintf(fout,"\n\tfor(i = 0; i < %d; i++)", get_dimension(typ));
+	
+        temp=(Tnode*)typ->ref;;
+        cardinality = 1;
+        while(temp->type==Tarray)
+	{
+	  temp=(Tnode*)temp->ref;
+	  cardinality++;
+	}
+        fprintf(fout,"\n\t{");
+        if (has_ptr((Tnode*)typ->ref))
+	{
+          fprintf(fout,"\tsoap_embedded(soap, a");
+          if(cardinality > 1)
+	    fprintf(fout,"[i]");
+          else
+	    fprintf(fout,"+i");
+          fprintf(fout,", %s);", soap_type((Tnode*)typ->ref));
+        }
+	if (((Tnode *)typ->ref)->type == Tclass && !is_external((Tnode*)typ->ref) && !is_volatile((Tnode*)typ->ref) && !is_typedef((Tnode*)typ->ref))
+      	{	fprintf(fout,"\n\ta[i].soap_serialize(soap)");
+	}
+	else if (!is_primitive((Tnode*)typ->ref))
+      	{	fprintf(fout,"\n\tsoap_serialize_%s(soap, a",c_ident((Tnode*)typ->ref));
+      		if(cardinality > 1){
+		fprintf(fout,"[i])");
+      		}else {
+	  	fprintf(fout,"+i)");
+      		}
+	}
+        fprintf(fout,";\n\t}");
+      }
+      fprintf(fout,"\n#endif\n}");
+      break;	
+    case Ttemplate:
+      if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 void SOAP_FMAC2 soap_serialize_%s(struct soap*, const %s);",c_ident(typ),c_type_id(typ, "*")); 
+        return;
+      }
+      fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_%s(struct soap*, const %s);",c_ident(typ),c_type_id(typ, "*")); 
+      temp = (Tnode*)typ->ref;
+      if (!temp)
+        return;
+      fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_%s(struct soap *soap, const %s)\n{\n#ifndef WITH_NOIDREF",c_ident(typ),c_type_id(typ, "*a")); 
+      if (!is_primitive(temp) && !is_XML(temp) && temp->type != Tfun && !is_void(temp))
+      { fprintf(fout, "\n\tfor (%s::const_iterator i = a->begin(); i != a->end(); ++i)", c_type(typ));
+        if (temp->type==Tclass && !is_external(temp) && !is_volatile(temp) && !is_typedef(temp))
+	  fprintf(fout,"\n\t\t(*i).soap_serialize(soap);");
+        else
+          fprintf(fout,"\n\t\tsoap_serialize_%s(soap, &(*i));", c_ident(temp));
+      }
+      fprintf(fout, "\n#endif\n}");
+    default:     break;
+    }
+}
+
+void
+soap_default(Tnode* typ)
+{ int i, d;
+  Table *table,*t;
+  Entry *p;
+  Tnode *temp;
+  char *s;
+  int cardinality;
+
+  if (typ->type == Tpointer && !is_string(typ))
+    return;
+
+  if (typ->type != Tclass || !(typ->sym && (is_stdstring(typ) || is_stdwstring(typ)) && is_eq(typ->sym->name, "xsd__QName")) || is_external(typ) || is_imported(typ))
+  { if (is_typedef(typ) && !is_external(typ))
+    { if (typ->type == Tclass && !is_stdstring(typ) && !is_stdwstring(typ) && !is_volatile(typ))
+        fprintf(fhead, "\n\n#define soap_default_%s(soap, a) (a)->%s::soap_default(soap)\n", c_ident(typ), t_ident(typ));
+      else if (typ->type == Tclass && is_eq(typ->sym->name, "xsd__QName"))
+        fprintf(fhead, "\n\n#define soap_default_%s(soap, a) soap_default_std__string(soap, a)\n", c_ident(typ));
+      else
+        fprintf(fhead, "\n\n#define soap_default_%s(soap, a) soap_default_%s(soap, a)\n", c_ident(typ), t_ident(typ));
+      return;
+    }
+  }
+  p = is_dynamic_array(typ);
+  if (p)
+  { if (typ->type == Tclass && !is_volatile(typ))
+    { if (is_external(typ))
+        return;
+        fprintf(fout,"\n\nvoid %s::soap_default(struct soap *soap)\n{", c_ident(typ)); 
+        if ((s = has_soapref(typ)))
+          fprintf(fout,"\n\tthis->%s = soap;", s);
+	else
+	  fprintf(fout,"\n\t(void)soap; /* appease -Wall -Werror */");
+	d = get_Darraydims(typ);
+        if (d)
+	{ fprintf(fout,"\n\tthis->%s = NULL;", ident(p->sym->name));
+	  for (i = 0; i < d; i++)
+	  { fprintf(fout,"\n\tthis->__size[%d] = 0;", i);
+            if (has_offset(typ) && (((Table*)typ->ref)->list->next->next->info.sto & Sconst) == 0)
+              fprintf(fout, "\n\tthis->__offset[%d] = 0;", i);
+	  }
+	}
+	else
+	{ fprintf(fout,"\n\tthis->__size = 0;\n\tthis->%s = NULL;", ident(p->sym->name));
+          if (has_offset(typ) && (((Table*)typ->ref)->list->next->next->info.sto & Sconst) == 0)
+            fprintf(fout, "\n\tthis->__offset = 0;");
+	}
+	if (is_attachment(typ))
+          fprintf(fout,"\n\tthis->id = NULL;\n\tthis->type = NULL;\n\tthis->options = NULL;");
+        fprintf(fout,"\n}");
+      }
+      else
+      { if (is_external(typ))
+        { fprintf(fhead,"\nSOAP_FMAC1 void SOAP_FMAC2 soap_default_%s(struct soap*, %s);",c_ident(typ),c_type_id(typ, "*")); 
+          return;
+	}
+        fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_default_%s(struct soap*, %s);",c_ident(typ),c_type_id(typ, "*")); 
+        fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_default_%s(struct soap *soap, %s)\n{\t(void)soap;", c_ident(typ),c_type_id(typ, "*a")); 
+        if ((s = has_soapref(typ)))
+          fprintf(fout,"\n\ta->%s = soap;", s);
+	else
+	  fprintf(fout,"\n\t(void)soap; /* appease -Wall -Werror */");
+	d = get_Darraydims(typ);
+        if (d)
+	{ fprintf(fout,"\n\ta->%s = NULL;", ident(p->sym->name));
+	  for (i = 0; i < d; i++)
+	  { fprintf(fout,"\n\ta->__size[%d] = 0;", i);
+            if (has_offset(typ) && (((Table*)typ->ref)->list->next->next->info.sto & Sconst) == 0)
+              fprintf(fout, "\n\ta->__offset[%d] = 0;", i);
+	  }
+	}
+	else
+	{ fprintf(fout,"\n\ta->__size = 0;\n\ta->%s = NULL;", ident(p->sym->name));
+          if (has_offset(typ) && (((Table*)typ->ref)->list->next->next->info.sto & Sconst) == 0)
+            fprintf(fout, "\n\ta->__offset = 0;");
+	}
+	if (is_attachment(typ))
+          fprintf(fout,"\n\ta->id = NULL;\n\ta->type = NULL;\n\ta->options = NULL;");
+        fprintf(fout,"\n}");
+      }
+      fflush(fout);
+      return;
+  }
+  if (is_primitive(typ) || is_string(typ))
+  {   if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 void SOAP_FMAC2 soap_default_%s(struct soap*, %s);",c_ident(typ),c_type_id(typ, "*"));
+        return;
+      }
+      fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_default_%s(struct soap*, %s);",c_ident(typ),c_type_id(typ, "*"));
+      fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_default_%s(struct soap *soap, %s)\n{\n\t(void)soap; /* appease -Wall -Werror */\n#ifdef SOAP_DEFAULT_%s\n\t*a = SOAP_DEFAULT_%s;\n#else\n\t*a = (%s)0;\n#endif\n}",c_ident(typ),c_type_id(typ, "*a"), c_ident(typ), c_ident(typ), c_type(typ));
+      return;
+  }
+  if (is_fixedstring(typ))
+  { fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_default_%s(struct soap*, char[]);",c_ident(typ));
+    fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_default_%s(struct soap *soap, char a[])\n{\n\t(void)soap; /* appease -Wall -Werror */\n\ta[0] = '\\0';\n}",c_ident(typ));
+    return;
+  }
+  if (is_stdstring(typ) || is_stdwstring(typ))
+  { fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_default_%s(struct soap*, %s);",c_ident(typ),c_type_id(typ, "*")); 
+    fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_default_%s(struct soap *soap, %s)\n{\n\t(void)soap; /* appease -Wall -Werror */\n\tp->erase();\n}",c_ident(typ),c_type_id(typ, "*p")); 
+    return;
+  }
+  switch(typ->type)
+    {
+    case Tclass:
+      /* CLASS */
+      if (!is_volatile(typ))
+      {
+      if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 void SOAP_FMAC2 soap_default_%s(struct soap*, %s);",c_ident(typ),c_type_id(typ, "*")); 
+        return;
+      }
+      table=(Table*)typ->ref;
+      fprintf(fout,"\n\nvoid %s::soap_default(struct soap *soap)\n{", ident(typ->id->name));
+      if ((s = has_soapref(typ)))
+        fprintf(fout,"\n\tthis->%s = soap;", s);
+      else
+        fprintf(fout, "\n\t(void)soap; /* appease -Wall -Werror */");
+	
+      fflush(fout);
+      if (table)
+      {
+      t = table->prev;
+      if (t)
+        fprintf(fout,"\n\tthis->%s::soap_default(soap);", ident(t->sym->name));
+      for (p = table->list; p; p = p->next)
+      { if (p->info.typ->type == Tfun)
+          continue;
+        if (p->info.sto & Sconst)
+          fprintf(fout, "\n\t/* const %s skipped */", ident(p->sym->name));
+        else if (is_choice(p))
+        { fprintf(fout, "\n\tthis->%s::%s = 0;", ident(table->sym->name), ident(p->sym->name));
+          p = p->next;
+        }
+        else if (is_repetition(p) || is_anytype(p))
+        { fprintf(fout, "\n\tthis->%s::%s = 0;\n\tthis->%s::%s = NULL;", ident(table->sym->name), ident(p->sym->name), ident(table->sym->name), ident(p->next->sym->name));
+          p = p->next;
+        }
+        else
+        {
+        if (is_fixedstring(p->info.typ))
+        { if (p->info.hasval)
+            fprintf(fout,"\n\tstrcpy(this->%s::%s, \"%s\");", ident(table->sym->name), ident(p->sym->name), cstring(p->info.val.s));
+          else
+            fprintf(fout,"\n\tthis->%s::%s[0] = '\\0';", ident(table->sym->name), ident(p->sym->name));
+        }
+        else if (p->info.typ->type == Tarray){
+          fprintf(fout,"\n\tsoap_default_%s(soap, this->%s::%s);", c_ident(p->info.typ), ident(table->sym->name), ident(p->sym->name));
+        }
+        else if (p->info.typ->type == Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ) && !is_transient(p->info.typ))
+          fprintf(fout,"\n\tthis->%s::%s.%s::soap_default(soap);", ident(table->sym->name), ident(p->sym->name), c_ident(p->info.typ));
+        else if (p->info.hasval)
+        { if (p->info.typ->type == Tpointer && is_stdstring((Tnode*)p->info.typ->ref))
+            fprintf(fout,"\n\tstatic std::string soap_tmp_%s(\"%s\");\n\tthis->%s::%s = &soap_tmp_%s;", ident(p->sym->name), p->info.val.s, ident(table->sym->name), ident(p->sym->name), ident(p->sym->name));
+          else
+            fprintf(fout,"\n\tthis->%s::%s%s;", ident(table->sym->name), ident(p->sym->name), c_init(p));
+        }
+        else if (is_transient(p->info.typ) || is_void(p->info.typ))
+          fprintf(fout, "\n\t/* transient %s skipped */", ident(p->sym->name));
+        else if (p->info.typ->type == Tpointer && (!is_string(p->info.typ) || is_XML(p->info.typ)))
+          fprintf(fout,"\n\tthis->%s::%s = NULL;", ident(table->sym->name), ident(p->sym->name));
+        else if (p->info.sto & (Sprivate | Sprotected))
+        { if (p->info.typ->type == Tpointer)
+            fprintf(fout,"\n\tthis->%s::%s = NULL;", ident(table->sym->name), ident(p->sym->name));
+          else if (p->info.typ->type >= Tchar && p->info.typ->type < Tenum)
+            fprintf(fout,"\n\tthis->%s::%s = 0;", ident(table->sym->name), ident(p->sym->name));
+          else if (p->info.typ->type == Tenum)
+            fprintf(fout,"\n\tthis->%s::%s = (%s)0;", ident(table->sym->name), ident(p->sym->name), c_type(p->info.typ));
+          else
+            fprintf(fout, "\n\t/* private/protected %s skipped */", ident(p->sym->name));
+        }
+        else
+          fprintf(fout,"\n\tsoap_default_%s(soap, &this->%s::%s);", c_ident(p->info.typ), ident(table->sym->name), ident(p->sym->name));
+      }
+      }
+      }
+      fprintf(fout,"\n}");	 
+      fflush(fout);
+      break;
+      }
+      
+    case Tstruct:
+      table=(Table*)typ->ref;
+
+      if (is_external(typ) && !is_volatile(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 void SOAP_FMAC2 soap_default_%s(struct soap*, %s);",c_ident(typ),c_type_id(typ, "*")); 
+        return;
+      }
+      fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_default_%s(struct soap*, %s);",c_ident(typ),c_type_id(typ, "*")); 
+      fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_default_%s(struct soap *soap, %s)\n{", c_ident(typ),c_type_id(typ, "*a")); 
+      fflush(fout);
+      if ((s = has_soapref(typ)))
+        fprintf(fout,"\n\ta->%s = soap;", s);
+      else
+        fprintf(fout, "\n\t(void)soap; (void)a; /* appease -Wall -Werror */");
+      if (table)
+      {
+      for (t = table; t; t = t->prev)
+      { for (p = t->list; p; p = p->next)
+	{ if (p->info.typ->type == Tfun)
+	    continue;
+	  if (p->info.sto & Sconst)
+	    fprintf(fout, "\n\t/* const %s skipped */", ident(p->sym->name));
+	  else if (p->info.sto & (Sprivate | Sprotected))
+	    fprintf(fout, "\n\t/* private/protected %s skipped */", ident(p->sym->name));
+	  else if (is_choice(p))
+	  { fprintf(fout, "\n\ta->%s = 0;", ident(p->sym->name));
+	    p = p->next;
+	  }
+	  else if (is_repetition(p) || is_anytype(p))
+	  { fprintf(fout, "\n\ta->%s = 0;\n\ta->%s = NULL;", ident(p->sym->name), ident(p->next->sym->name));
+	    p = p->next;
+	  }
+	  else
+	  {
+	  if (is_fixedstring(p->info.typ))
+	  { if (p->info.hasval)
+	      fprintf(fout,"\n\tstrcpy(a->%s, \"%s\");", ident(p->sym->name), cstring(p->info.val.s));
+	    else
+	      fprintf(fout,"\n\ta->%s[0] = '\\0';", ident(p->sym->name));
+	  }
+	  else if (p->info.typ->type==Tarray)
+	    fprintf(fout,"\n\tsoap_default_%s(soap, a->%s);", c_ident(p->info.typ), ident(p->sym->name));
+	  else if (p->info.typ->type == Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ) && !is_transient(p->info.typ))
+	    fprintf(fout,"\n\ta->%s.%s::soap_default(soap);", ident(p->sym->name), c_ident(p->info.typ));
+	  else if (p->info.hasval)
+	  { if (p->info.typ->type == Tpointer && is_stdstring((Tnode*)p->info.typ->ref))
+	      fprintf(fout,"\n\tstatic std::string soap_tmp_%s(\"%s\");\n\ta->%s = &soap_tmp_%s;", ident(p->sym->name), p->info.val.s, ident(p->sym->name), ident(p->sym->name));
+	    else
+	      fprintf(fout,"\n\ta->%s%s;", ident(p->sym->name), c_init(p));
+	  }
+	  else if (is_transient(p->info.typ) || is_void(p->info.typ))
+	    fprintf(fout, "\n\t/* transient %s skipped */", ident(p->sym->name));
+	  else if (p->info.typ->type == Tpointer && (!is_string(p->info.typ) || is_XML(p->info.typ)))
+	    fprintf(fout,"\n\ta->%s = NULL;", ident(p->sym->name));
+	  else
+	    fprintf(fout,"\n\tsoap_default_%s(soap, &a->%s);", c_ident(p->info.typ), ident(p->sym->name));
+	}
+       }
+      }
+      }
+      fprintf(fout,"\n}");	 
+      fflush(fout);
+      break;
+    case Tarray:
+      if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 void SOAP_FMAC2 soap_default_%s(struct soap*, %s);",c_ident(typ),c_type(typ));
+        return;
+      }
+      fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_default_%s(struct soap*, %s);",c_ident(typ),c_type(typ));
+      fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_default_%s(struct soap *soap, %s)\n{", c_ident(typ),c_type_id(typ, "a"));
+      fprintf(fout,"\n\tint i;");
+      fprintf(fout,"\n\t(void)soap; /* appease -Wall -Werror */");
+      fprintf(fout,"\n\tfor (i = 0; i < %d; i++)",get_dimension(typ));
+      temp = (Tnode*)typ->ref;
+      cardinality = 1;
+      while(temp->type==Tarray)
+      {
+	  temp=(Tnode*)temp->ref;
+	  cardinality++;
+      }
+      if (((Tnode *)typ->ref)->type == Tclass && !is_external((Tnode*)typ->ref) && !is_volatile((Tnode*)typ->ref))
+      {
+      	if (cardinality>1)
+		fprintf(fout,"a[i].%s::soap_default(soap)", t_ident((Tnode*)typ->ref));
+     	else
+		fprintf(fout,"(a+i)->soap_default(soap)");
+      }
+      else if (((Tnode*)typ->ref)->type == Tpointer)
+      	fprintf(fout,"\n\ta[i] = NULL");
+      else
+      {
+      	fprintf(fout,"\n\tsoap_default_%s(soap, a",c_ident((Tnode*)typ->ref));
+      	if (cardinality>1)
+		fprintf(fout,"[i])");
+     	 else
+		fprintf(fout,"+i)");
+      }
+      fprintf(fout,";\n}");
+      break;	
+      
+    case Ttemplate:
+      if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 void SOAP_FMAC2 soap_default_%s(struct soap*, %s);",c_ident(typ),c_type_id(typ, "*"));
+        return;
+      }
+      fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_default_%s(struct soap*, %s);",c_ident(typ),c_type_id(typ, "*"));
+      fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_default_%s(struct soap *soap, %s)\n{",c_ident(typ),c_type_id(typ, "*p"));
+      fprintf(fout,"\n\tp->clear();");
+      fprintf(fout,"\n}");
+      fflush(fout);
+      break;
+    default    :break;
+    }
+}
+
+void
+soap_traverse(Tnode* typ)
+{ int d;
+  Table *table,*t;
+  Entry *p;
+  Tnode* temp;
+  int cardinality;
+  if (is_primitive_or_string(typ) || is_fixedstring(typ))
+  { fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_traverse_%s(struct soap*, %s, const char *s, soap_walker p, soap_walker q);",c_ident(typ),c_type_id(typ, "*")); 
+    fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_traverse_%s(struct soap *soap, %s, const char *s, soap_walker p, soap_walker q)\n{\t(void)soap; (void)q; /* appease -Wall -Werror */",c_ident(typ),c_type_id(typ, "*a")); 
+    fprintf(fout,"\n\tif (p) p(soap, (void*)a, %s, s, \"%s\");", soap_type(typ), c_type(typ));
+    fprintf(fout,"\n\tif (q) q(soap, (void*)a, %s, s, \"%s\");\n}", soap_type(typ), c_type(typ));
+    return;
+  }
+  if (typ->type != Tclass || !(typ->sym && (is_stdstring(typ) || is_stdwstring(typ)) && is_eq(typ->sym->name, "xsd__QName")) || is_external(typ) || is_imported(typ))
+    if (is_typedef(typ) && !is_external(typ))
+    { if (typ->type == Tclass && !is_stdstring(typ) && !is_stdwstring(typ) && !is_volatile(typ))
+        fprintf(fhead, "\n\n#define soap_traverse_%s(soap, a, s, p, q) (a)->soap_traverse(soap, s, p, q)\n",c_ident(typ));
+      else if (typ->type == Tclass && is_eq(typ->sym->name, "xsd__QName"))
+        fprintf(fhead, "\n\n#define soap_traverse_%s(soap, a, s, p, q) soap_traverse_std__string(soap, a, s, p, q)\n", c_ident(typ));
+      else
+        fprintf(fhead, "\n\n#define soap_traverse_%s(soap, a, s, p, q) soap_traverse_%s(soap, a, s, p, q)\n", c_ident(typ), t_ident(typ));
+      return;
+    }
+  if (is_XML(typ))
+  { fprintf(fhead, "\n\n#define soap_traverse_%s(soap, a, s, p, q) soap_traverse_%s(soap, a, s, p, q)\n", c_ident(typ), t_ident(typ));
+    return;
+  }
+  if ((p = is_dynamic_array(typ)))
+  { if (typ->type == Tclass && !is_volatile(typ))
+    { if (is_external(typ))
+          return;
+        fprintf(fout,"\n\nvoid %s::soap_traverse(struct soap *soap, const char *s, soap_walker p, soap_walker q)\n{",c_ident(typ));
+        if (is_binary(typ))
+        { fprintf(fout,"\n\tif (this->%s && !soap_array_reference(soap, this, (struct soap_array*)&this->%s, 1, %s))\n\t{", ident(p->sym->name), ident(p->sym->name), soap_type(typ));
+          fprintf(fout,"\n\t\tif (p) p(soap, (void*)this, %s, s, \"%s\");", soap_type(typ), c_type(typ));
+          fprintf(fout,"\n\t\tif (p) p(soap, (void*)this->%s, 0, \"%s\", NULL);", ident(p->sym->name), p->sym->name);
+	  if (is_attachment(typ))
+          { fprintf(fout,"\n\t\tif (this->id || this->type)\n\t\t\tsoap->mode |= SOAP_ENC_DIME;\n}");
+            fprintf(fout,"\n\t\tif (p) p(soap, (void*)this->id, SOAP_TYPE_string, \"id\", NULL);");
+            fprintf(fout,"\n\t\tif (q) q(soap, (void*)this->id, SOAP_TYPE_string, \"id\", NULL);");
+            fprintf(fout,"\n\t\tif (p) p(soap, (void*)this->type, SOAP_TYPE_string, \"type\", NULL);");
+            fprintf(fout,"\n\t\tif (q) q(soap, (void*)this->type, SOAP_TYPE_string, \"type\", NULL);");
+            fprintf(fout,"\n\t\tif (p) p(soap, (void*)this->options, 0, \"options\", NULL);");
+            fprintf(fout,"\n\t\tif (q) q(soap, (void*)this->options, 0, \"options\", NULL);");
+	  }
+          fprintf(fout,"\n\t\tif (q) q(soap, (void*)this->%s, 0, \"%s\", NULL);", ident(p->sym->name), p->sym->name);
+          fprintf(fout,"\n\t\tif (q) q(soap, (void*)this, %s, s, \"%s\");\n\t}\n}", soap_type(typ), c_type(typ));
+          fflush(fout);
+          return;
+	}
+	else
+	{
+      d = get_Darraydims(typ);
+      if (d)
+      { fprintf(fout,"\n\tif (this->%s && !soap_array_reference(soap, this, (struct soap_array*)&this->%s, %d, %s))\n\t{", ident(p->sym->name), ident(p->sym->name), d, soap_type(typ));
+        fprintf(fout,"\n\t\tif (p) p(soap, (void*)this, %s, s, \"%s\");", soap_type(typ), c_type(typ));
+        fprintf(fout,"\n\t\tfor (int i = 0; i < soap_size(this->__size, %d); i++)", d);
+      }
+      else
+      { fprintf(fout,"\n\tif (this->%s && !soap_array_reference(soap, this, (struct soap_array*)&this->%s, 1, %s))\n\t{", ident(p->sym->name), ident(p->sym->name), soap_type(typ));
+        fprintf(fout,"\n\t\tif (p) p(soap, (void*)this, %s, s, \"%s\");", soap_type(typ), c_type(typ));
+        fprintf(fout,"\n\t\tfor (int i = 0; i < this->__size; i++)");
+      }
+      fprintf(fout,"\n\t\t{");
+      if (has_ptr((Tnode*)p->info.typ->ref))
+        fprintf(fout,"\tsoap_embedded(soap, this->%s + i, %s);", ident(p->sym->name), soap_type((Tnode*)p->info.typ->ref));
+      if (((Tnode*)p->info.typ->ref)->type == Tclass && !is_external(p->info.typ->ref) && !is_volatile((Tnode*)p->info.typ->ref) && !is_typedef((Tnode*)p->info.typ->ref))
+        fprintf(fout,"\n\t\t\tthis->%s[i].soap_traverse(soap, \"%s\", p, q);", ident(p->sym->name), p->sym->name);
+      else
+        fprintf(fout,"\n\t\t\tsoap_traverse_%s(soap, this->%s + i, \"%s\", p, q);", c_ident((Tnode*)p->info.typ->ref), ident(p->sym->name), ident(p->sym->name));
+      fprintf(fout,"\n\t\t}\n\t\tif (q) q(soap, (void*)this, %s, s, \"%s\");", soap_type(typ), c_type(typ));
+      fprintf(fout,"\n\t}\n}");
+      return;
+      }
+    }
+    else
+    { if (is_external(typ))
+        { fprintf(fhead,"\nSOAP_FMAC1 void SOAP_FMAC2 soap_traverse_%s(struct soap*, %s, const char *s, soap_walker p, soap_walker q);",c_ident(typ),c_type_id(typ, "*")); 
+          return;
+	}
+        fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_traverse_%s(struct soap*, %s, const char *s, soap_walker p, soap_walker q);",c_ident(typ),c_type_id(typ, "*")); 
+        fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_traverse_%s(struct soap *soap, %s, const char *s, soap_walker p, soap_walker q)\n{",c_ident(typ),c_type_id(typ, "*a")); 
+        if (is_binary(typ))
+        { fprintf(fout,"\n\tif (a->%s && !soap_array_reference(soap, a, (struct soap_array*)&a->%s, 1, %s))\n\t{", ident(p->sym->name), ident(p->sym->name), soap_type(typ));
+          fprintf(fout,"\n\t\tif (p) p(soap, (void*)a, %s, s, \"%s\");", soap_type(typ), c_type(typ));
+          fprintf(fout,"\n\t\tif (p) p(soap, (void*)a->%s, 0, \"%s\", NULL);", ident(p->sym->name), p->sym->name);
+	  if (is_attachment(typ))
+          { fprintf(fout,"\n\t\tif (a->id || a->type)\n\t\t\tsoap->mode |= SOAP_ENC_DIME;\n}");
+            fprintf(fout,"\n\t\tif (p) p(soap, (void*)a->id, SOAP_TYPE_string, \"id\", NULL);");
+            fprintf(fout,"\n\t\tif (q) q(soap, (void*)a->id, SOAP_TYPE_string, \"id\", NULL);");
+            fprintf(fout,"\n\t\tif (p) p(soap, (void*)a->type, SOAP_TYPE_string, \"type\", NULL);");
+            fprintf(fout,"\n\t\tif (q) q(soap, (void*)a->type, SOAP_TYPE_string, \"type\", NULL);");
+            fprintf(fout,"\n\t\tif (p) p(soap, (void*)a->options, 0, \"options\", NULL);");
+            fprintf(fout,"\n\t\tif (q) q(soap, (void*)a->options, 0, \"options\", NULL);");
+	  }
+          fprintf(fout,"\n\t\tif (q) q(soap, (void*)a->%s, 0, \"%s\", NULL);", ident(p->sym->name), p->sym->name);
+          fprintf(fout,"\n\t\tif (q) q(soap, (void*)a, %s, s, \"%s\");\n\t}\n}", soap_type(typ), c_type(typ));
+          fflush(fout);
+          return;
+	}
+	else
+	{
+      fprintf(fout,"\n\tint i;");
+      d = get_Darraydims(typ);
+      if (d)
+      { fprintf(fout,"\n\tif (a->%s && !soap_array_reference(soap, a, (struct soap_array*)&a->%s, %d, %s))\n\t{", ident(p->sym->name), ident(p->sym->name), d, soap_type(typ));
+        fprintf(fout,"\n\t\tif (p) p(soap, (void*)a, %s, s, \"%s\");", soap_type(typ), c_type(typ));
+        fprintf(fout,"\n\t\tfor (i = 0; i < soap_size(a->__size, %d); i++)", d);
+      }
+      else
+      { fprintf(fout,"\n\tif (a->%s && !soap_array_reference(soap, a, (struct soap_array*)&a->%s, 1, %s))\n\t{", ident(p->sym->name), ident(p->sym->name), soap_type(typ));
+        fprintf(fout,"\n\t\tif (p) p(soap, (void*)a, %s, s, \"%s\");", soap_type(typ), c_type(typ));
+        fprintf(fout,"\n\t\tfor (i = 0; i < a->__size; i++)");
+      }
+      fprintf(fout,"\n\t\t{");
+      if (has_ptr((Tnode*)p->info.typ->ref))
+        fprintf(fout,"\tsoap_embedded(soap, a->%s + i, %s);", ident(p->sym->name), soap_type((Tnode*)p->info.typ->ref));
+      if (((Tnode*)p->info.typ->ref)->type == Tclass && !is_external((Tnode*)p->info.typ->ref) && !is_volatile((Tnode*)p->info.typ->ref) && !is_typedef((Tnode*)p->info.typ->ref))
+        fprintf(fout,"\n\t\t\ta->%s[i].soap_traverse(soap, \"%s\", p, q);", ident(p->sym->name), p->sym->name);
+      else
+        fprintf(fout,"\n\t\t\tsoap_traverse_%s(soap, a->%s + i, \"%s\", p, q);", c_ident((Tnode*)p->info.typ->ref), ident(p->sym->name), p->sym->name);
+      fprintf(fout,"\n\t\t}\n\t\tif (q) q(soap, (void*)a, %s, s, \"%s\");", soap_type(typ), c_type(typ));
+      fprintf(fout,"\n\t}\n}");
+      fflush(fout);
+      return;
+      }
+    }
+  }
+  switch(typ->type)
+  {	
+    case Tclass:
+      if (!is_volatile(typ))
+      {
+      if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 void SOAP_FMAC2 soap_traverse_%s(struct soap*, %s, const char *s, soap_walker p, soap_walker q);",c_ident(typ),c_type_id(typ, "*")); 
+        return;
+      }
+      table=(Table*)typ->ref;
+      fprintf(fout,"\n\nvoid %s::soap_traverse(struct soap *soap, const char *s, soap_walker p, soap_walker q)\n{", ident(typ->id->name)); 
+      fprintf(fout, "\n\t(void)soap; /* appease -Wall -Werror */");
+      fprintf(fout,"\n\tif (p) p(soap, (void*)this, %s, s, \"%s\");", soap_type(typ), c_type(typ));
+      for (t = table; t; t = t->prev)
+      { 
+	for (p = t->list; p; p = p->next) {
+	  if (p->info.sto & (Sconst | Sprivate | Sprotected))
+	    fprintf(fout, "\n\t/* non-serializable %s skipped */", ident(p->sym->name));
+	  else if (is_transient(p->info.typ))
+	    fprintf(fout, "\n\t/* transient %s skipped */", ident(p->sym->name));
+	  else if (p->info.sto & Sattribute)
+	    ;
+	  else if (is_repetition(p))
+	  { 
+      fprintf(fout,"\n\tif (this->%s::%s)", ident(t->sym->name), ident(p->next->sym->name));
+      fprintf(fout,"\n\t{\tint i;\n\t\tfor (i = 0; i < this->%s::%s; i++)\n\t\t{", ident(t->sym->name), ident(p->sym->name));
+      if (!is_invisible(p->next->sym->name))
+        if (has_ptr((Tnode*)p->next->info.typ->ref))
+          fprintf(fout,"\n\t\t\tsoap_embedded(soap, this->%s::%s + i, %s);", ident(t->sym->name), ident(p->next->sym->name), soap_type((Tnode*)p->next->info.typ->ref));
+      if (((Tnode*)p->next->info.typ->ref)->type == Tclass && !is_external((Tnode*)p->next->info.typ->ref) && !is_volatile((Tnode*)p->next->info.typ->ref) && !is_typedef((Tnode*)p->next->info.typ->ref))
+        fprintf(fout,"\n\t\t\tthis->%s::%s[i].soap_traverse(soap, \"%s\", p, q);", ident(t->sym->name), ident(p->next->sym->name), p->next->sym->name);
+      else
+        fprintf(fout,"\n\t\t\tsoap_traverse_%s(soap, this->%s::%s + i, \"%s\", p, q);", c_ident((Tnode*)p->next->info.typ->ref), ident(t->sym->name), ident(p->next->sym->name), p->next->sym->name);
+      fprintf(fout,"\n\t\t}\n\t}");
+          p = p->next;
+	  }
+	  else if (is_anytype(p))
+	  { p = p->next;
+	  }
+	  else if (is_choice(p))
+	  { fprintf(fout,"\n\tsoap_traverse_%s(soap, this->%s::%s, &this->%s::%s, \"%s\", p, q);", c_ident(p->next->info.typ), ident(t->sym->name), ident(p->sym->name), ident(t->sym->name), ident(p->next->sym->name), p->next->sym->name);
+            p = p->next;
+	  }
+	  else if(p->info.typ->type==Tarray)
+	    {
+              if (has_ptr(p->info.typ))
+	        fprintf(fout,"\n\tsoap_embedded(soap, this->%s::%s, %s);", ident(t->sym->name), ident(p->sym->name), soap_type(p->info.typ));
+	      fprintf(fout,"\n\tsoap_traverse_%s(soap, this->%s::%s, \"%s\", p, q);", c_ident(p->info.typ), ident(t->sym->name), ident(p->sym->name), p->sym->name);
+	    }
+	  else if(p->info.typ->type==Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ))
+	    {
+              if (has_ptr(p->info.typ))
+	        fprintf(fout,"\n\tsoap_embedded(soap, &this->%s::%s, %s);", ident(t->sym->name), ident(p->sym->name), soap_type(p->info.typ));
+	      fprintf(fout,"\n\tthis->%s::%s.soap_traverse(soap, \"%s\", p, q);", ident(t->sym->name), ident(p->sym->name), p->sym->name);
+	    }
+	  else if (p->info.typ->type != Tfun && !is_void(p->info.typ))
+	  {
+	    if (!is_template(p->info.typ))
+              if (has_ptr(p->info.typ))
+	        fprintf(fout,"\n\tsoap_embedded(soap, &this->%s::%s, %s);", ident(t->sym->name), ident(p->sym->name), soap_type(p->info.typ));
+	    fprintf(fout,"\n\tsoap_traverse_%s(soap, &this->%s::%s, \"%s\", p, q);", c_ident(p->info.typ), ident(t->sym->name), ident(p->sym->name), p->sym->name);
+	  }
+	}
+      }
+      fprintf(fout,"\n\tif (q) q(soap, (void*)this, %s, s, \"%s\");", soap_type(typ), c_type(typ));
+      fprintf(fout,"\n}");	 
+      break;
+      }
+    case Tstruct:
+      if (is_external(typ) && !is_volatile(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 void SOAP_FMAC2 soap_traverse_%s(struct soap*, %s, const char *s, soap_walker p, soap_walker q);",c_ident(typ),c_type_id(typ, "*")); 
+        return;
+      }
+      fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_traverse_%s(struct soap*, %s, const char *s, soap_walker p, soap_walker q);",c_ident(typ),c_type_id(typ, "*")); 
+      if (!typ->ref)
+        return;
+      fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_traverse_%s(struct soap *soap, %s, const char *s, soap_walker p, soap_walker q)\n{",c_ident(typ),c_type_id(typ, "*a")); 
+      fprintf(fout, "\n\t(void)soap; (void)a; /* appease -Wall -Werror */");
+      fprintf(fout,"\n\tif (p) p(soap, (void*)a, %s, s, \"%s\");", soap_type(typ), c_type(typ));
+      table=(Table*)typ->ref;
+      for (t = table; t; t = t->prev)
+      { for (p = t->list; p; p = p->next)
+        { if (p->info.sto & (Sconst | Sprivate | Sprotected))
+	    fprintf(fout, "\n\t/* non-serializable %s skipped */", ident(p->sym->name));
+	  else if (is_transient(p->info.typ))
+	    fprintf(fout, "\n\t/* transient %s skipped */", ident(p->sym->name));
+	  else if (p->info.sto & Sattribute)
+	    ;
+	  else if (is_repetition(p))
+	  { 
+      fprintf(fout,"\n\tif (a->%s)", ident(p->next->sym->name));
+      fprintf(fout,"\n\t{\tint i;\n\t\tfor (i = 0; i < a->%s; i++)\n\t\t{", ident(p->sym->name));
+      if (!is_invisible(p->next->sym->name))
+        if (has_ptr((Tnode*)p->next->info.typ->ref))
+          fprintf(fout,"\n\t\t\tsoap_embedded(soap, a->%s + i, %s);", ident(p->next->sym->name), soap_type((Tnode*)p->next->info.typ->ref));
+      if (((Tnode*)p->next->info.typ->ref)->type == Tclass && !is_external((Tnode*)p->next->info.typ->ref) && !is_volatile((Tnode*)p->next->info.typ->ref) && !is_typedef((Tnode*)p->next->info.typ->ref))
+        fprintf(fout,"\n\t\t\ta->%s[i].soap_traverse(soap, \"%s\", p, q);", ident(p->next->sym->name), p->next->sym->name);
+      else
+        fprintf(fout,"\n\t\t\tsoap_traverse_%s(soap, a->%s + i, \"%s\", p, q);", c_ident((Tnode*)p->next->info.typ->ref), ident(p->next->sym->name), p->next->sym->name);
+      fprintf(fout,"\n\t\t}\n\t}");
+          p = p->next;
+	  }
+	  else if (is_anytype(p))
+	  { p = p->next;
+	  }
+	  else if (is_choice(p))
+	  { fprintf(fout,"\n\tsoap_traverse_%s(soap, a->%s, &a->%s, \"%s\", p, q);", c_ident(p->next->info.typ), ident(p->sym->name), ident(p->next->sym->name), p->next->sym->name);
+            p = p->next;
+	  }
+	  else if(p->info.typ->type==Tarray)
+	    {
+              if (has_ptr(p->info.typ))
+	        fprintf(fout,"\n\tsoap_embedded(soap, a->%s, %s);", ident(p->sym->name), soap_type(p->info.typ));
+	      fprintf(fout,"\n\tsoap_traverse_%s(soap, a->%s, \"%s\", p, q);", c_ident(p->info.typ), ident(p->sym->name), p->sym->name);
+	    }
+	  else if(p->info.typ->type == Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ))
+	    {
+              if (has_ptr(p->info.typ))
+	        fprintf(fout,"\n\tsoap_embedded(soap, &a->%s, %s);", ident(p->sym->name), soap_type(p->info.typ));
+	      fprintf(fout,"\n\ta->%s.soap_traverse(soap, \"%s\", p, q);", ident(p->sym->name), p->sym->name);
+	    }
+	  else if (p->info.typ->type != Tfun && !is_void(p->info.typ))
+	    {
+	      if (!is_template(p->info.typ))
+                if (has_ptr(p->info.typ))
+	          fprintf(fout,"\n\tsoap_embedded(soap, &a->%s, %s);", ident(p->sym->name), soap_type(p->info.typ));
+	      fprintf(fout,"\n\tsoap_traverse_%s(soap, &a->%s, \"%s\", p, q);", c_ident(p->info.typ), ident(p->sym->name), p->sym->name);
+	    }
+	}
+      }
+      fprintf(fout,"\n\tif (q) q(soap, (void*)a, %s, s, \"%s\");", soap_type(typ), c_type(typ));
+      fprintf(fout,"\n}");
+      break;
+    case Tunion:
+      if (is_external(typ) && !is_volatile(typ))
+      { fprintf(fhead, "\nSOAP_FMAC1 void SOAP_FMAC2 soap_traverse_%s(struct soap*, int, %s, const char *s, soap_walker p, soap_walker q);", c_ident(typ), c_type_id(typ, "*")); 
+        return;
+      }
+      table=(Table*)typ->ref;
+      fprintf(fhead, "\nSOAP_FMAC3 void SOAP_FMAC4 soap_traverse_%s(struct soap*, int, %s, const char *s, soap_walker p, soap_walker q);", c_ident(typ), c_type_id(typ, "*")); 
+      fprintf(fout, "\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_traverse_%s(struct soap *soap, int choice, %s, const char *s, soap_walker p, soap_walker q)\n{", c_ident(typ), c_type_id(typ, "*a")); 
+      fprintf(fout, "\n\t(void)soap; (void)a; /* appease -Wall -Werror */");
+      fprintf(fout, "\n\tif (p) p(soap, (void*)a, %s, s, \"%s\");", soap_type(typ), c_type(typ));
+      fprintf(fout, "\n\tswitch (choice)\n\t{");
+      for (t = table; t; t = t->prev)
+      { for (p = t->list; p; p = p->next)
+	{ if (p->info.sto & (Sconst | Sprivate | Sprotected))
+	    fprintf(fout, "\n\t/* non-serializable %s skipped */", ident(p->sym->name));
+	  else if (is_transient(p->info.typ))
+	    fprintf(fout, "\n\t/* transient %s skipped */", ident(p->sym->name));
+	  else if (p->info.sto & Sattribute)
+	    ;
+	  else if (is_repetition(p))
+	    ;
+	  else if (is_anytype(p))
+	    ;
+	  else if (p->info.typ->type==Tarray)
+	    {
+	      fprintf(fout, "\n\tcase SOAP_UNION_%s_%s:", c_ident(typ), ident(p->sym->name));
+              if (has_ptr(p->info.typ))
+	        fprintf(fout,"\n\t\tsoap_embedded(soap, a->%s, %s);", ident(p->sym->name), soap_type(p->info.typ));
+	      fprintf(fout,"\n\t\tsoap_traverse_%s(soap, a->%s, \"%s\", p, q);", c_ident(p->info.typ), ident(p->sym->name), p->sym->name);
+	      fprintf(fout, "\n\t\tbreak;");
+	    }
+	  else if(p->info.typ->type == Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ))
+	    {
+	      fprintf(fout, "\n\tcase SOAP_UNION_%s_%s:", c_ident(typ), ident(p->sym->name));
+              if (has_ptr(p->info.typ))
+	        fprintf(fout,"\n\t\tsoap_embedded(soap, &a->%s, %s);", ident(p->sym->name), soap_type(p->info.typ));
+	      fprintf(fout,"\n\t\ta->%s.soap_traverse(soap, \"%s\", p, q);", ident(p->sym->name), p->sym->name);
+	      fprintf(fout, "\n\t\tbreak;");
+	    }
+	  else if (p->info.typ->type != Tfun && !is_void(p->info.typ))
+	    {
+	      fprintf(fout, "\n\tcase SOAP_UNION_%s_%s:", c_ident(typ), ident(p->sym->name));
+              if (has_ptr(p->info.typ))
+	        fprintf(fout,"\n\t\tsoap_embedded(soap, &a->%s, %s);", ident(p->sym->name), soap_type(p->info.typ));
+	      fprintf(fout,"\n\t\tsoap_traverse_%s(soap, &a->%s, \"%s\", p, q);", c_ident(p->info.typ), ident(p->sym->name), p->sym->name);
+	      fprintf(fout, "\n\t\tbreak;");
+	    }
+	}
+      }
+      fprintf(fout,"\n\tdefault:\n\t\tbreak;\n\t}");	 
+      fprintf(fout,"\n\tif (q) q(soap, (void*)a, %s, s, \"%s\");", soap_type(typ), c_type(typ));
+      fprintf(fout,"\n}");	 
+      break;
+    case Tpointer:
+      if (((Tnode*)typ->ref)->type == Tclass && !is_external((Tnode*)typ->ref) && !is_volatile((Tnode*)typ->ref) && !is_typedef((Tnode*)typ->ref))
+      { if (is_external(typ))
+        { fprintf(fhead,"\nSOAP_FMAC1 void SOAP_FMAC2 soap_traverse_%s(struct soap*, %s, const char *s, soap_walker p, soap_walker q);", c_ident(typ),c_type_id(typ, "*"));
+          return;
+	}
+        fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_traverse_%s(struct soap*, %s, const char *s, soap_walker p, soap_walker q);", c_ident(typ),c_type_id(typ, "*"));
+	fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_traverse_%s(struct soap *soap, %s, const char *s, soap_walker p, soap_walker q)\n{", c_ident(typ),c_type_id(typ, "*a"));
+	p = is_dynamic_array((Tnode*)typ->ref);
+	if (p)
+        { d = get_Darraydims((Tnode*)typ->ref);
+          if (d)
+	    fprintf(fout,"\n\tif (*a)");
+	  else
+	    fprintf(fout,"\n\tif (*a)");
+	}
+	else
+	  fprintf(fout,"\n\tif (!soap_reference(soap, *a, %s))", soap_type((Tnode*)typ->ref));
+	fprintf(fout,"\n\t\t(*a)->soap_traverse(soap, s, p, q);\n}");
+	break;	
+      }
+      else
+      {
+        if (is_external(typ))
+	{ fprintf(fhead,"\nSOAP_FMAC1 void SOAP_FMAC2 soap_traverse_%s(struct soap*, %s, const char *s, soap_walker p, soap_walker q);", c_ident(typ),c_type_id(typ, "*"));
+          return;
+	}
+	fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_traverse_%s(struct soap*, %s, const char *s, soap_walker p, soap_walker q);", c_ident(typ),c_type_id(typ, "*"));
+	fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_traverse_%s(struct soap *soap, %s, const char *s, soap_walker p, soap_walker q)\n{", c_ident(typ),c_type_id(typ, "*a"));
+	if (is_primitive((Tnode*)typ->ref))
+	{ fprintf(fout,"\n\tif (!soap_reference(soap, *a, %s))\n\t{", soap_type(typ));
+          fprintf(fout,"\n\t\tif (p) p(soap, (void*)*a, %s, s, \"%s\");", soap_type(typ->ref), c_type(typ->ref));
+          fprintf(fout,"\n\t\tif (q) q(soap, (void*)*a, %s, s, \"%s\");\n\t}\n}", soap_type(typ->ref), c_type(typ->ref));
+	}
+	else if ((p = is_dynamic_array((Tnode*)typ->ref)) != NULL)
+        { d = get_Darraydims((Tnode*)typ->ref);
+          if (d)
+	    fprintf(fout,"\n\tif (*a)");
+	  else
+	    fprintf(fout,"\n\tif (*a)");
+	  fprintf(fout,"\n\t\tsoap_traverse_%s(soap, *a, s, p, q);\n}", c_ident((Tnode*)typ->ref));
+	}
+	else
+	{ fprintf(fout,"\n\tif (!soap_reference(soap, *a, %s))", soap_type((Tnode*)typ->ref));
+	  fprintf(fout,"\n\t\tsoap_traverse_%s(soap, *a, s, p, q);\n}", c_ident((Tnode*)typ->ref));
+	}
+	break;
+      }
+    case Tarray:
+      if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 void SOAP_FMAC2 soap_traverse_%s(struct soap*, %s, const char *s, soap_walker p, soap_walker q);", c_ident(typ),c_type(typ));
+        return;
+      }
+      fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_traverse_%s(struct soap*, %s, const char *s, soap_walker p, soap_walker q);", c_ident(typ),c_type(typ));
+      fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_traverse_%s(struct soap *soap, %s, const char *s, soap_walker p, soap_walker q)", c_ident(typ),c_type_id(typ, "a"));
+      if (is_primitive((Tnode*)typ->ref))
+      { fprintf(fout, "\n{");
+        fprintf(fout, "\n\t(void)soap; (void)a; /* appease -Wall -Werror */");
+        fprintf(fout,"\n\tif (p) p(soap, (void*)a, %s, s, \"%s\");", soap_type(typ), c_type(typ));
+      }
+      else
+      { fprintf(fout,"\n{\tint i;");
+        fprintf(fout,"\n\tif (p) p(soap, (void*)a, %s, s, \"%s\");", soap_type(typ), c_type(typ));
+        fprintf(fout,"\n\tfor(i = 0; i < %d; i++)", get_dimension(typ));
+	
+        temp=(Tnode*)typ->ref;;
+        cardinality = 1;
+        while(temp->type==Tarray)
+	{
+	  temp=(Tnode*)temp->ref;
+	  cardinality++;
+	}
+        fprintf(fout,"\n\t{");
+        if (has_ptr((Tnode*)typ->ref))
+	{
+          fprintf(fout,"\tsoap_embedded(soap, a");
+          if(cardinality > 1)
+	    fprintf(fout,"[i]");
+          else
+	    fprintf(fout,"+i");
+          fprintf(fout,", %s);", soap_type((Tnode*)typ->ref));
+        }
+	if (((Tnode *)typ->ref)->type == Tclass && !is_external((Tnode*)typ->ref) && !is_volatile((Tnode*)typ->ref) && !is_typedef((Tnode*)typ->ref))
+      	{	fprintf(fout,"\n\ta[i].soap_traverse(soap, s, p, q)");
+	}
+	else if (!is_primitive((Tnode*)typ->ref))
+      	{	fprintf(fout,"\n\tsoap_traverse_%s(soap, a",c_ident((Tnode*)typ->ref));
+      		if(cardinality > 1)
+		 fprintf(fout,"[i], s, p, q)");
+      		else
+	  	 fprintf(fout,"+i, s, p, q)");
+	}
+        fprintf(fout,";\n\t}");
+      }
+      fprintf(fout,"\n\tif (q) q(soap, (void*)a, %s, s, \"%s\");", soap_type(typ), c_type(typ));
+      fprintf(fout,"\n}");
+      break;	
+    case Ttemplate:
+      if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 void SOAP_FMAC2 soap_traverse_%s(struct soap*, %s, const char *s, soap_walker p, soap_walker q);",c_ident(typ),c_type_id(typ, "*")); 
+        return;
+      }
+      fprintf(fhead,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_traverse_%s(struct soap*, %s, const char *s, soap_walker p, soap_walker q);",c_ident(typ),c_type_id(typ, "*")); 
+      temp = (Tnode*)typ->ref;
+      if (!temp)
+        return;
+      fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_traverse_%s(struct soap *soap, %s, const char *s, soap_walker p, soap_walker q)\n{",c_ident(typ),c_type_id(typ, "*a")); 
+      if (!is_primitive(temp) && temp->type != Tfun && !is_void(temp))
+      { fprintf(fout, "\n\tif (p) p(soap, (void*)a, %s, s, \"%s\");", soap_type(typ), c_type(typ));
+        fprintf(fout, "\n\tfor (%s::iterator i = a->begin(); i != a->end(); ++i)", c_type(typ));
+        if (temp->type==Tclass && !is_external(temp) && !is_volatile(temp) && !is_typedef(temp))
+	  fprintf(fout,"\n\t\t(*i).soap_traverse(soap, s, p, q);");
+        else
+          fprintf(fout,"\n\t\tsoap_traverse_%s(soap, &(*i), s, p, q);", c_ident(temp));
+        fprintf(fout, "\n\tif (q) q(soap, (void*)a, %s, s, \"%s\");", soap_type(typ), c_type(typ));
+      }
+      fprintf(fout, "\n}");
+    default:     break;
+    }
+}
+
+void
+soap_put(Tnode *typ)
+{ int d;
+  Entry *p;
+  char *ci = c_ident(typ);
+  char *ct = c_type(typ);
+  char *ctp = c_type_id(typ, "*");
+  char *ctpa = c_type_id(typ, "*a");
+  char *ctc = c_type_id(typ, "const");
+  char *ctca = c_type_id(typ, "const a");
+  char *ctcp = c_type_id(typ, "const*");
+  char *ctcpa = c_type_id(typ, "const*a");
+
+  if (typ->type == Ttemplate || typ->type == Tunion)
+    return;
+
+  if (is_typedef(typ) && is_element(typ))
+  { fprintf(fhead, "\n\n#define soap_put_%s soap_put_%s\n", c_ident(typ), t_ident(typ));
+    return;
+  }
+
+  if (typ->type == Tarray)
+  { fprintf(fhead,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_put_%s(struct soap*, %s, const char*, const char*);", ci,ctc);
+    fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_put_%s(struct soap *soap, %s, const char *tag, const char *type)\n{", ci,ctca);
+  }
+  else if (typ->type == Tclass && !is_external(typ) && !is_volatile(typ) && !is_typedef(typ))
+    fprintf(fout,"\n\nint %s::soap_put(struct soap *soap, const char *tag, const  char *type) const\n{", ct);
+  else if (typ->type == Tpointer)
+  { fprintf(fhead,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_put_%s(struct soap*, %s, const char*, const char*);", ci,ctcp);
+    fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_put_%s(struct soap *soap, %s, const char *tag, const char *type)\n{", ci,ctcpa);
+  }
+  else
+  { fprintf(fhead,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_put_%s(struct soap*, const %s, const char*, const char*);", ci,ctp);
+    fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_put_%s(struct soap *soap, const %s, const char *tag, const char *type)\n{", ci,ctpa);
+  }
+  fflush(fout);
+    fprintf(fout,"\n\tregister int id = ");
+    if (is_invisible(typ->id->name))
+      fprintf(fout,"0;");
+    else if ((p = is_dynamic_array(typ)) != NULL)
+    { d = get_Darraydims(typ);
+      if (typ->type == Tclass && !is_external(typ) && !is_volatile(typ) && !is_typedef(typ))
+      { if (d)
+          fprintf(fout,"soap_embed(soap, (void*)this, (struct soap_array*)&this->%s, %d, tag, %s);", ident(p->sym->name), d, soap_type(typ));
+        else
+          fprintf(fout,"soap_embed(soap, (void*)this, (struct soap_array*)&this->%s, 1, tag, %s);", ident(p->sym->name), soap_type(typ));
+      }
+      else if (d)
+        fprintf(fout,"soap_embed(soap, (void*)a, (struct soap_array*)&a->%s, %d, tag, %s);", ident(p->sym->name), d, soap_type(typ));
+      else
+        fprintf(fout,"soap_embed(soap, (void*)a, (struct soap_array*)&a->%s, 1, tag, %s);", ident(p->sym->name), soap_type(typ));
+    }
+    else if (typ->type == Tclass && !is_external(typ) && !is_volatile(typ) && !is_typedef(typ))
+      fprintf(fout,"soap_embed(soap, (void*)this, NULL, 0, tag, %s);", soap_type(typ));
+    else
+      fprintf(fout,"soap_embed(soap, (void*)a, NULL, 0, tag, %s);", soap_type(typ));
+  if (typ->type == Tclass && !is_external(typ) && !is_volatile(typ) && !is_typedef(typ))
+    fprintf(fout,"\n\tif (this->soap_out(soap, tag?tag:\"%s\", id, type))\n\t\treturn soap->error;", xml_tag(typ));
+  else
+    fprintf(fout,"\n\tif (soap_out_%s(soap, tag?tag:\"%s\", id, a, type))\n\t\treturn soap->error;", ci, xml_tag(typ));
+  if (!is_invisible(typ->id->name))
+    fprintf(fout,"\n\treturn soap_putindependent(soap);\n}");
+  else
+    fprintf(fout,"\n\treturn SOAP_OK;\n}");
+#if 0
+  /* some compilers cannot handle this inlined function */
+  if (typ->type == Tclass && !is_external(typ) && !is_volatile(typ))
+    fprintf(fhead, "\n\ninline int soap_write_%s(struct soap *soap, %s) { if (p->soap_put(soap, \"%s\", NULL) || soap_end_send(soap)) return soap->error; return SOAP_OK; }\n", c_ident(typ), c_type_id(typ, "*p"), xml_tag(typ));
+  else if (typ->type != Treference)
+    fprintf(fhead, "\n\ninline int soap_write_%s(struct soap *soap, %s) { if (soap_begin_send(soap) || soap_put_%s(soap, p, \"%s\", NULL) || soap_end_send(soap)) return soap->error; return SOAP_OK; }\n", c_ident(typ), c_type_id(typ, "*p"), c_ident(typ), xml_tag(typ));
+#endif
+  if (typ->type == Tclass && !is_external(typ) && !is_volatile(typ))
+    fprintf(fhead, "\n\n#ifndef soap_write_%s\n#define soap_write_%s(soap, data) ( soap_free_temp(soap), soap_begin_send(soap) || ((data)->soap_serialize(soap),0) || (data)->soap_put(soap, \"%s\", NULL) || soap_end_send(soap), (soap)->error )\n#endif\n", c_ident(typ), c_ident(typ), xml_tag(typ));
+  else if (is_primitive(typ))
+  { if ((!is_external(typ) || Qflag) && namespaceid)
+      fprintf(fhead, "\n\n#ifndef soap_write_%s\n#define soap_write_%s(soap, data) ( soap_free_temp(soap), soap_begin_send(soap) || (%s::soap_serialize_%s(soap, data),0) || %s::soap_put_%s(soap, data, \"%s\", NULL) || soap_end_send(soap), (soap)->error )\n#endif\n", c_ident(typ), c_ident(typ), namespaceid, c_ident(typ), namespaceid, c_ident(typ), xml_tag(typ));
+    else
+      fprintf(fhead, "\n\n#ifndef soap_write_%s\n#define soap_write_%s(soap, data) ( soap_free_temp(soap), soap_begin_send(soap) || (soap_serialize_%s(soap, data),0) || soap_put_%s(soap, data, \"%s\", NULL) || soap_end_send(soap), (soap)->error )\n#endif\n", c_ident(typ), c_ident(typ), c_ident(typ), c_ident(typ), xml_tag(typ));
+  }
+  else if (typ->type != Treference)
+  { if (((!is_external(typ) && !is_volatile(typ)) || Qflag) && namespaceid)
+      fprintf(fhead, "\n\n#ifndef soap_write_%s\n#define soap_write_%s(soap, data) ( soap_free_temp(soap), soap_begin_send(soap) || (%s::soap_serialize_%s(soap, data),0) || %s::soap_put_%s(soap, data, \"%s\", NULL) || soap_end_send(soap), (soap)->error )\n#endif\n", c_ident(typ), c_ident(typ), namespaceid, c_ident(typ), namespaceid, c_ident(typ), xml_tag(typ));
+    else
+      fprintf(fhead, "\n\n#ifndef soap_write_%s\n#define soap_write_%s(soap, data) ( soap_free_temp(soap), soap_begin_send(soap) || (soap_serialize_%s(soap, data),0) || soap_put_%s(soap, data, \"%s\", NULL) || soap_end_send(soap), (soap)->error )\n#endif\n", c_ident(typ), c_ident(typ), c_ident(typ), c_ident(typ), xml_tag(typ));
+  }
+  fflush(fout);
+}
+
+Entry *
+is_dynamic_array(Tnode *typ)
+{ Entry *p;
+  Table *t;
+  if ((typ->type == Tstruct || typ->type == Tclass) && typ->ref)
+  { for (t = (Table*)typ->ref; t; t = t->prev)
+    { p = t->list;
+      while (p && p->info.typ->type == Tfun)
+        p = p->next;
+      if (p && p->info.typ->type == Tpointer && !strncmp(ident(p->sym->name), "__ptr", 5))
+        if (p->next && (p->next->info.typ->type == Tint || p->next->info.typ->type == Tulong || (p->next->info.typ->type == Tarray && (((Tnode*)p->next->info.typ->ref)->type == Tint || ((Tnode*)p->next->info.typ->ref)->type == Tuint))) && !strcmp(ident(p->next->sym->name), "__size"))
+	  return p;
+    }
+  }
+  return 0;
+}
+
+Entry *
+is_discriminant(Tnode *typ)
+{ Entry *p;
+  Table *t;
+  if ((typ->type == Tstruct || typ->type == Tclass) && typ->ref)
+  { t = (Table*)typ->ref;
+    /* only if this struct/class has a union and is not derived */
+    if (t && !t->prev)
+    { p = t->list;
+      if (p && p->info.typ->type == Tint && ((p->info.sto & Sspecial) || !strncmp(ident(p->sym->name), "__union", 7)))
+        if (p->next && p->next->info.typ->type == Tunion)
+	{ Entry *q;
+	  for (q = p->next->next; q; q = q->next)
+	  { if (q->info.typ->type != Tfun
+	     && !is_void(q->info.typ)
+	     && !is_transient(q->info.typ))
+	    return NULL;
+	  }
+	  return p;
+        }
+    }
+  }
+  return NULL;
+}
+
+int
+get_Darraydims(Tnode *typ)
+{ Entry *p;
+  Table *t;
+  if ((typ->type == Tstruct || typ->type == Tclass) && typ->ref)
+  { for (t = (Table*)typ->ref; t; t = t->prev)
+    { p = t->list;
+      while (p && p->info.typ->type == Tfun)
+        p = p->next;
+      if (p && p->info.typ->type == Tpointer && !strncmp(ident(p->sym->name), "__ptr", 5))
+        if (p->next && p->next->info.typ->type == Tarray && (((Tnode*)p->next->info.typ->ref)->type == Tint || ((Tnode*)p->next->info.typ->ref)->type == Tuint) && !strcmp(ident(p->next->sym->name), "__size"))
+          return get_dimension(p->next->info.typ);
+    }
+  }
+  return 0;
+}
+
+int
+has_offset(Tnode *typ)
+{ Entry *p;
+  Table *t;
+  if (typ->type == Tstruct || typ->type == Tclass)
+  { for (t = (Table*)typ->ref; t; t = t->prev)
+    { for (p = t->list; p; p = p->next)
+      { if ((p->info.typ->type == Tint || (p->info.typ->type == Tarray && ((Tnode*)p->info.typ->ref)->type == Tint)) && !strcmp(ident(p->sym->name), "__offset"))
+          return 1;
+      }
+    }
+  }
+  return 0;
+}
+
+int
+is_boolean(Tnode *typ)
+{ if (typ->type == Tenum)
+  { if ((Table*)typ->ref == booltable)
+      return 1;
+    else
+    { size_t n = strlen(ident(typ->id->name));
+      return n >= 7 && is_eq(ident(typ->id->name) + n - 7, "boolean");
+    }
+  }
+  return 0;
+}
+
+int
+is_hexBinary(Tnode *typ)
+{ Entry *p;
+  Table *t;
+  size_t n = strlen(ident(typ->id->name));
+  if ((typ->type == Tstruct || typ->type == Tclass) && n >= 9 && is_eq(ident(typ->id->name) + n - 9, "hexBinary"))
+  { for (t = (Table*)typ->ref; t; t = t->prev)
+    { p = t->list;
+      while (p && p->info.typ->type == Tfun)
+        p = p->next;
+      if (p && p->info.typ->type == Tpointer && ((Tnode*)p->info.typ->ref)->type == Tuchar && !strcmp(ident(p->sym->name), "__ptr"))
+      { p = p->next;
+        return p && (p->info.typ->type == Tint || p->info.typ->type == Tuint) && !strcmp(ident(p->sym->name), "__size");
+      }
+    }
+  }
+  return 0;
+}
+
+int
+is_binary(Tnode *typ)
+{ Entry *p;
+  Table *t;
+  if (!has_ns(typ) && !is_element(typ))
+    return 0;
+  if (typ->type == Tstruct || typ->type == Tclass) 
+  { for (t = (Table*)typ->ref; t; t = t->prev)
+    { p = t->list;
+      while (p && p->info.typ->type == Tfun)
+        p = p->next;
+      if (p && p->info.typ->type == Tpointer && ((Tnode*)p->info.typ->ref)->type == Tuchar && !strcmp(ident(p->sym->name), "__ptr"))
+      { p = p->next;
+        return p && (p->info.typ->type == Tint || p->info.typ->type == Tuint) && !strcmp(ident(p->sym->name), "__size");
+      }
+    }
+  }
+  return 0;
+}
+
+int
+is_attachment(Tnode *typ)
+{ Entry *p;
+  Table *t;
+  if (!is_binary(typ) || is_transient(typ))
+    return 0;
+  for (t = (Table*)typ->ref; t; t = t->prev)
+  { for (p = t->list; p; p = p->next)
+    { if (is_string(p->info.typ) && !strcmp(p->sym->name, "id"))
+      { p = p->next;
+        if (!p || !is_string(p->info.typ) || strcmp(p->sym->name, "type"))
+          break;
+        p = p->next;
+        if (!p || !is_string(p->info.typ) || strcmp(p->sym->name, "options"))
+          break;
+        return 1;
+      }
+    }
+  }
+  return 0;
+}
+
+int
+has_attachment(Tnode *typ)
+{ if (is_attachment(typ))
+    return 1;
+  if (typ->type == Tstruct || typ->type == Tclass) 
+  { Entry *p;
+    Table *t;
+    for (t = (Table*)typ->ref; t; t = t->prev)
+    { for (p = t->list; p; p = p->next)
+        if (has_attachment(p->info.typ))
+          return 1;
+    }
+  }
+  return 0;
+}
+
+int
+is_mutable(Tnode *typ)
+{ return is_header_or_fault(typ);
+}
+
+int
+is_header_or_fault(Tnode *typ)
+{ if (typ->type == Tpointer || typ->type == Treference)
+    return is_header_or_fault((Tnode*)typ->ref);
+  return (typ->type == Tstruct || typ->type == Tclass) && (!strcmp(ident(typ->id->name), "SOAP_ENV__Header") || !strcmp(ident(typ->id->name), "SOAP_ENV__Fault") || !strcmp(ident(typ->id->name), "SOAP_ENV__Code") || !strcmp(ident(typ->id->name), "SOAP_ENV__Detail") || !strcmp(ident(typ->id->name), "SOAP_ENV__Reason"));
+}
+
+int
+is_body(Tnode *typ)
+{ if (typ->type == Tpointer || typ->type == Treference)
+    return is_body((Tnode*)typ->ref);
+  return (typ->type == Tstruct || typ->type == Tclass) && !strcmp(ident(typ->id->name), "SOAP_ENV__Body");
+}
+
+long
+minlen(Tnode *typ)
+{ if (typ->minLength < 0 || (typ->maxLength >> 31) != 0)
+    return 0;
+  return (long)typ->minLength;
+}
+
+long
+maxlen(Tnode *typ)
+{ if (typ->maxLength < 0 || (typ->maxLength >> 31) != 0)
+    return -1;
+  return (long)typ->maxLength;
+}
+
+int
+is_soap12(const char *enc)
+{ return !strcmp(envURI, "http://www.w3.org/2003/05/soap-envelope") || (enc && !strcmp(enc, "http://www.w3.org/2003/05/soap-encoding"));
+}
+
+int
+is_document(const char *style)
+{ return vflag < 0 || (!eflag && !style) || (style && !strcmp(style, "document"));
+}
+
+int
+is_literal(const char *encoding)
+{ return vflag < 0 || (!eflag && !encoding) || (encoding && !strcmp(encoding, "literal"));
+}
+
+char *
+has_soapref(Tnode *typ)
+{ Entry *p;
+  Table *t;
+  if (typ->type == Tstruct || typ->type == Tclass) 
+  { for (t = (Table*)typ->ref; t; t = t->prev)
+    { for (p = t->list; p; p = p->next)
+        if (p->info.typ->type == Tpointer && ((Tnode*)p->info.typ->ref)->type == Tstruct && ((Tnode*)p->info.typ->ref)->id == lookup("soap"))
+          return ident(p->sym->name);
+    }
+  }
+  return NULL;
+}
+
+int
+has_constructor(Tnode *typ)
+{ Entry *p, *q;
+  Table *t;
+  if (typ->type == Tclass || typ->type == Tstruct)
+    for (t = (Table*)typ->ref; t; t = t->prev)
+      for (p = t->list; p; p = p->next)
+        if (p->info.typ->type == Tfun && !strcmp(p->sym->name, typ->id->name) && ((FNinfo *)p->info.typ->ref)->ret->type == Tnone)
+	{ q = ((FNinfo*)p->info.typ->ref)->args->list;
+          if (!q)
+	    return 1;
+        }
+  return 0;
+}
+
+int
+has_destructor(Tnode *typ)
+{ Entry *p;
+  Table *t;
+  if (typ->type == Tclass || typ->type == Tstruct)
+    for (t = (Table*)typ->ref; t; t = t->prev)
+      for (p = t->list; p; p = p->next)
+        if (p->info.typ->type == Tfun && *p->sym->name == '~')
+	  return 1;
+  return 0;
+}
+
+int
+has_getter(Tnode *typ)
+{ Entry *p, *q;
+  Table *t;
+  if (typ->type == Tclass) 
+    for (t = (Table*)typ->ref; t; t = t->prev)
+      for (p = t->list; p; p = p->next)
+        if (p->info.typ->type == Tfun && !strcmp(p->sym->name, "get") && ((FNinfo *)p->info.typ->ref)->ret->type == Tint)
+	{ q = ((FNinfo*)p->info.typ->ref)->args->list;
+          if (q && q->info.typ->type == Tpointer && ((Tnode*)q->info.typ->ref)->type == Tstruct && ((Tnode*)q->info.typ->ref)->id == lookup("soap"))
+	    return 1;
+        }
+  return 0;
+}
+
+int
+has_setter(Tnode *typ)
+{ Entry *p, *q;
+  Table *t;
+  if (typ->type == Tclass) 
+    for (t = (Table*)typ->ref; t; t = t->prev)
+      for (p = t->list; p; p = p->next)
+        if (p->info.typ->type == Tfun && !strcmp(p->sym->name, "set") && ((FNinfo *)p->info.typ->ref)->ret->type == Tint)
+	{ q = ((FNinfo*)p->info.typ->ref)->args->list;
+          if (q && q->info.typ->type == Tpointer && ((Tnode*)q->info.typ->ref)->type == Tstruct && ((Tnode*)q->info.typ->ref)->id == lookup("soap"))
+	    return 1;
+        }
+  return 0;
+}
+
+int
+is_primitive_or_string(Tnode *typ)
+{ return is_primitive(typ) || is_string(typ) || is_wstring(typ) || is_stdstring(typ) || is_stdwstring(typ) || is_qname(typ) || is_stdqname(typ); 
+}
+
+int
+is_primitive(Tnode *typ)
+{ return typ->type <= Tenum; 
+}
+
+int
+is_string(Tnode *typ)
+{ return typ->type == Tpointer && ((Tnode*)typ->ref)->type == Tchar && !((Tnode*)typ->ref)->sym;
+}
+
+int
+is_fixedstring(Tnode *typ)
+{ return bflag && typ->type == Tarray && ((Tnode*)typ->ref)->type == Tchar;
+}
+
+int
+is_wstring(Tnode *typ)
+{ return typ->type == Tpointer && ((Tnode*)typ->ref)->type == Twchar && !((Tnode*)typ->ref)->sym;
+}
+
+int
+is_stdstring(Tnode *typ)
+{ return typ->type == Tclass && typ->id == lookup("std::string");
+}
+
+int
+is_stdwstring(Tnode *typ)
+{ return typ->type == Tclass && typ->id == lookup("std::wstring");
+}
+
+int
+is_stdstr(Tnode *typ)
+{ if (typ->type == Tpointer)
+    return is_stdstring((Tnode*)typ->ref) || is_stdwstring((Tnode*)typ->ref);
+  return is_stdstring(typ) || is_stdwstring(typ);
+}
+
+int
+is_typedef(Tnode *typ)
+{ return typ->sym && !is_transient(typ);
+}
+
+int
+reflevel(Tnode *typ)
+{ int level;
+  for (level = 0; typ->type == Tpointer; level++)
+    typ = (Tnode*)typ->ref;
+  return level;
+}
+
+Tnode *
+reftype(Tnode *typ)
+{ while ((typ->type == Tpointer && !is_string(typ) && !is_wstring(typ)) || typ->type == Treference)
+    typ = (Tnode*)typ->ref;
+  return typ;
+}
+
+void
+soap_set_attr(Entry *p, char *obj, char *name, char *tag)
+{ Tnode *typ = p->info.typ;
+  int flag = (p->info.minOccurs == 0);
+  if (is_external(typ) && !is_anyAttribute(typ))
+    fprintf(fout, "\n\tsoap_set_attr(soap, \"%s\", soap_%s2s(soap, %s->%s), 1);", tag, c_ident(typ), obj, name);
+  else if (is_qname(typ))
+    fprintf(fout, "\n\tif (%s->%s)\n\t\tsoap_set_attr(soap, \"%s\", soap_QName2s(soap, %s->%s), 1);", obj, name, tag, obj, name);
+  else if (is_string(typ))
+    fprintf(fout, "\n\tif (%s->%s)\n\t\tsoap_set_attr(soap, \"%s\", %s->%s, 1);", obj, name, tag, obj, name);
+  else if (is_wstring(typ))
+    fprintf(fout, "\n\tif (%s->%s)\n\t\tsoap_set_attr(soap, \"%s\", soap_wchar2s(soap, %s->%s), 2);", obj, name, tag, obj, name);
+  else if (is_stdqname(typ))
+    fprintf(fout, "\n\tif (!%s->%s.empty())\n\t\tsoap_set_attr(soap, \"%s\", soap_QName2s(soap, %s->%s.c_str()), 1);", obj, name, tag, obj, name);
+  else if (is_stdstring(typ))
+  { if (flag)
+      fprintf(fout, "\n\tif (!%s->%s.empty())", obj, name);
+    fprintf(fout, "\n\tsoap_set_attr(soap, \"%s\", %s->%s.c_str(), 1);", tag, obj, name);
+  }
+  else if (is_stdwstring(typ))
+  { if (flag)
+      fprintf(fout, "\n\tif (!%s->%s.empty())", obj, name);
+    fprintf(fout, "\n\tsoap_set_attr(soap, \"%s\", soap_wchar2s(soap, %s->%s.c_str()), 2);", tag, obj, name);
+  }
+  else if (typ->type == Tllong || typ->type == Tullong)
+    fprintf(fout, "\n\tsoap_set_attr(soap, \"%s\", soap_%s2s(soap, %s->%s), 1);", tag, c_type(typ), obj, name);
+  else if (typ->type == Tenum)
+    fprintf(fout, "\n\tsoap_set_attr(soap, \"%s\", soap_%s2s(soap, %s->%s), 1);", tag, c_ident(typ), obj, name);
+  else if (typ->type == Tpointer)
+  { Tnode *ptr = (Tnode*)typ->ref;
+    fprintf(fout, "\n\tif (%s->%s)", obj, name);
+    if (is_external(ptr) && !is_anyAttribute(ptr))
+      fprintf(fout, "\n\t\tsoap_set_attr(soap, \"%s\", soap_%s2s(soap, *%s->%s), 1);", tag, c_ident(ptr), obj, name);
+    else if (is_qname(ptr))
+      fprintf(fout, "\n\t\tif (*%s->%s)\n\t\t\tsoap_set_attr(soap, \"%s\", soap_QName2s(soap, *%s->%s), 1);", obj, name, tag, obj, name);
+    else if (is_string(ptr))
+      fprintf(fout, "\n\t\tif (*%s->%s)\n\t\t\tsoap_set_attr(soap, \"%s\", *%s->%s, 1);", obj, name, tag, obj, name);
+    else if (ptr->type == Tllong || ptr->type == Tullong)
+      fprintf(fout, "\n\t\tsoap_set_attr(soap, \"%s\", soap_%s2s(soap, *%s->%s), 1);", tag, c_type(ptr), obj, name);
+    else if (ptr->type == Tenum)
+      fprintf(fout, "\n\t\tsoap_set_attr(soap, \"%s\", soap_%s2s(soap, *%s->%s), 1);", tag, c_ident(ptr), obj, name);
+    else if (is_stdqname(ptr))
+      fprintf(fout, "\n\t\tsoap_set_attr(soap, \"%s\", soap_QName2s(soap, %s->%s->c_str()), 1);", tag, obj, name);
+    else if (is_stdstring(ptr))
+      fprintf(fout, "\n\t\tsoap_set_attr(soap, \"%s\", %s->%s->c_str(), 1);", tag, obj, name);
+    else if (is_stdwstring(ptr))
+      fprintf(fout, "\n\t\tsoap_set_attr(soap, \"%s\", soap_wchar2s(soap, %s->%s->c_str()), 2);", tag, obj, name);
+    else if (is_primitive(ptr))
+      fprintf(fout, "\n\t\tsoap_set_attr(soap, \"%s\", soap_%s2s(soap, *%s->%s), 1);", tag, the_type(ptr), obj, name);
+    else if (is_hexBinary(ptr))
+      fprintf(fout, "\n\t\tif (%s->%s->__ptr)\n\t\t\tsoap_set_attr(soap, \"%s\", soap_s2hex(soap, %s->%s->__ptr, NULL, %s->%s->__size), 1);", obj, name, tag, obj, name, obj, name);
+    else if (is_binary(ptr))
+      fprintf(fout, "\n\t\tif (%s->%s->__ptr)\n\t\t\tsoap_set_attr(soap, \"%s\", soap_s2base64(soap, %s->%s->__ptr, NULL, %s->%s->__size), 1);", obj, name, tag, obj, name, obj, name);
+    else if (is_anyAttribute(ptr))
+      fprintf(fout, "\n\t\tif (soap_out_%s(soap, \"%s\", -1, %s->%s, \"%s\"))\n\t\t\treturn soap->error;", c_ident(ptr), tag, obj, name, xsi_type_u(ptr));
+    else
+    { sprintf(errbuf, "Field '%s' cannot be serialized as an XML attribute", name);
+      semwarn(errbuf);
+    }
+  }
+  else if (is_primitive(typ))
+    fprintf(fout, "\n\tsoap_set_attr(soap, \"%s\", soap_%s2s(soap, %s->%s), 1);", tag, the_type(typ), obj, name);
+  else if (is_hexBinary(typ))
+    fprintf(fout, "\n\tif (%s->%s.__ptr)\n\t\tsoap_set_attr(soap, \"%s\", soap_s2hex(soap, %s->%s.__ptr, NULL, %s->%s.__size), 1);", obj, name, tag, obj, name, obj, name);
+  else if (is_binary(typ))
+    fprintf(fout, "\n\tif (%s->%s.__ptr)\n\t\tsoap_set_attr(soap, \"%s\", soap_s2base64(soap, %s->%s.__ptr, NULL, %s->%s.__size), 1);", obj, name, tag, obj, name, obj, name);
+  else if (is_anyAttribute(typ))
+    fprintf(fout, "\n\tif (soap_out_%s(soap, \"%s\", -1, &%s->%s, \"%s\"))\n\t\treturn soap->error;", c_ident(typ), tag, obj, name, xsi_type_u(typ));
+  else
+  { sprintf(errbuf, "Field '%s' cannot be serialized as an XML attribute", name);
+    semwarn(errbuf);
+  }
+}
+
+void
+soap_attr_value(Entry *p, char *obj, char *name, char *tag)
+{ int flag = 0;
+  Tnode *typ = p->info.typ;
+  if (p->info.maxOccurs == 0)
+    flag = 2; /* prohibited */
+  else if (p->info.minOccurs >= 1 && !p->info.hasval)
+    flag = 1; /* required */
+  if (is_external(typ) && !is_anyAttribute(typ))
+    fprintf(fout, "\n\tif (soap_s2%s(soap, soap_attr_value(soap, \"%s\", %d), &%s->%s))\n\t\treturn NULL;", c_ident(typ), tag, flag, obj, name);
+  else if (typ->type == Tllong || typ->type == Tullong)
+    fprintf(fout, "\n\tif (soap_s2%s(soap, soap_attr_value(soap, \"%s\", %d), &%s->%s))\n\t\treturn NULL;", c_type(typ), tag, flag, obj, name);
+  else if (typ->type == Tenum)
+    fprintf(fout, "\n\tif (soap_s2%s(soap, soap_attr_value(soap, \"%s\", %d), &%s->%s))\n\t\treturn NULL;", c_ident(typ), tag, flag, obj, name);
+  else if (is_qname(typ))
+    fprintf(fout, "\n\tif (soap_s2QName(soap, soap_attr_value(soap, \"%s\", %d), &%s->%s, %ld, %ld))\n\t\treturn NULL;", tag, flag, obj, name, minlen(typ), maxlen(typ));
+  else if (is_string(typ))
+    fprintf(fout, "\n\tif (soap_s2string(soap, soap_attr_value(soap, \"%s\", %d), &%s->%s, %ld, %ld))\n\t\treturn NULL;", tag, flag, obj, name, minlen(typ), maxlen(typ));
+  else if (is_wstring(typ))
+    fprintf(fout, "\n\tif (soap_s2wchar(soap, soap_attr_value(soap, \"%s\", %d), &%s->%s, %ld, %ld))\n\t\treturn NULL;", tag, flag, obj, name, minlen(typ), maxlen(typ));
+  else if (is_stdqname(typ))
+    fprintf(fout, "\n\t{\tconst char *t = soap_attr_value(soap, \"%s\", %d);\n\t\tif (t)\n\t\t{\tchar *s;\n\t\t\tif (soap_s2QName(soap, t, &s, %ld, %ld))\n\t\t\t\treturn NULL;\n\t\t\t%s->%s.assign(s);\n\t\t}\n\t\telse if (soap->error)\n\t\t\treturn NULL;\n\t}", tag, flag, minlen(typ), maxlen(typ), obj, name);
+  else if (is_stdstring(typ))
+    fprintf(fout, "\n\t{\tconst char *t = soap_attr_value(soap, \"%s\", %d);\n\t\tif (t)\n\t\t{\tchar *s;\n\t\t\tif (soap_s2string(soap, t, &s, %ld, %ld))\n\t\t\t\treturn NULL;\n\t\t\t%s->%s.assign(s);\n\t\t}\n\t\telse if (soap->error)\n\t\t\treturn NULL;\n\t}", tag, flag, minlen(typ), maxlen(typ), obj, name);
+  else if (is_stdwstring(typ))
+    fprintf(fout, "\n\t{\tconst char *t = soap_attr_value(soap, \"%s\", %d);\n\t\tif (t)\n\t\t{\twchar_t *s;\n\t\t\tif (soap_s2wchar(soap, t, &s, %ld, %ld))\n\t\t\t\treturn NULL;\n\t\t\t%s->%s.assign(s);\n\t\t}\n\t\telse if (soap->error)\n\t\t\treturn NULL;\n\t}", tag, flag, minlen(typ), maxlen(typ), obj, name);
+  else if (typ->type == Tpointer)
+  { Tnode *ptr = (Tnode*)typ->ref;
+    if (!is_anyAttribute(ptr))
+      fprintf(fout, "\n\t{\tconst char *t = soap_attr_value(soap, \"%s\", %d);\n\t\tif (t)\n\t\t{", tag, flag);
+    if (!is_stdstring(ptr))
+      fprintf(fout, "\n\t\t\tif (!(%s->%s = (%s)soap_malloc(soap, sizeof(%s))))\n\t\t\t{\tsoap->error = SOAP_EOM;\n\t\t\t\treturn NULL;\n\t\t\t}", obj, name, c_type(typ), c_type(ptr));
+    if (is_external(ptr) && !is_anyAttribute(ptr))
+      fprintf(fout, "\n\t\t\tif (soap_s2%s(soap, t, %s->%s))\n\t\t\t\treturn NULL;", c_ident(ptr), obj, name);
+    else if (ptr->type == Tllong || ptr->type == Tullong)
+      fprintf(fout, "\n\t\t\tif (soap_s2%s(soap, t, %s->%s))\n\t\t\treturn NULL;", c_type(ptr), obj, name);
+    else if (ptr->type == Tenum)
+      fprintf(fout, "\n\t\t\tif (soap_s2%s(soap, t, %s->%s))\n\t\t\treturn NULL;", c_ident(ptr), obj, name);
+    else if (is_qname(ptr))
+      fprintf(fout, "\n\t\t\tif (soap_s2QName(soap, t, %s->%s, %ld, %ld))\n\t\t\t\treturn NULL;", obj, name, minlen(ptr), maxlen(ptr));
+    else if (is_string(ptr))
+      fprintf(fout, "\n\t\t\tif (soap_s2string(soap, t, %s->%s, %ld, %ld))\n\t\t\t\treturn NULL;", obj, name, minlen(ptr), maxlen(ptr));
+    else if (is_stdqname(ptr))
+      fprintf(fout, "\n\t\t\tchar *s = NULL;\n\t\t\tif (soap_s2QName(soap, t, &s, %ld, %ld))\n\t\t\t\treturn NULL;\n\t\t\tif (s)\n\t\t\t{\t%s->%s = soap_new_std__string(soap, -1);\n\t\t\t\t%s->%s->assign(s);\n\t\t\t}", minlen(ptr), maxlen(ptr), obj, name, obj, name);
+    else if (is_stdstring(ptr))
+      fprintf(fout, "\n\t\t\tchar *s = NULL;\n\t\t\tif (soap_s2string(soap, t, &s, %ld, %ld))\n\t\t\t\treturn NULL;\n\t\t\tif (s)\n\t\t\t{\t%s->%s = soap_new_std__string(soap, -1);\n\t\t\t\t%s->%s->assign(s);\n\t\t\t}", minlen(ptr), maxlen(ptr), obj, name, obj, name);
+    else if (is_stdwstring(ptr))
+      fprintf(fout, "\n\t\t\twchar_t *s = NULL;\n\t\t\tif (soap_s2wchar(soap, t, &s, %ld, %ld))\n\t\t\t\treturn NULL;\n\t\t\tif (s)\n\t\t\t{\t%s->%s = soap_new_std__wstring(soap, -1);\n\t\t\t\t%s->%s->assign(s);\n\t\t\t}", minlen(ptr), maxlen(ptr), obj, name, obj, name);
+    else if (is_hexBinary(ptr))
+      fprintf(fout, "\n\t\t\tif (!(%s->%s->__ptr = (unsigned char*)soap_hex2s(soap, soap_attr_value(soap, \"%s\", %d), NULL, 0, &%s->%s->__size)))\n\t\t\t\treturn NULL;", obj, name, tag, flag, obj, name);
+    else if (is_binary(ptr))
+      fprintf(fout, "\n\t\t\tif (!(%s->%s->__ptr = (unsigned char*)soap_base642s(soap, soap_attr_value(soap, \"%s\", %d), NULL, 0, &%s->%s->__size)))\n\t\t\t\treturn NULL;", obj, name, tag, flag, obj, name);
+    else if (is_anyAttribute(ptr))
+      fprintf(fout, "\n\t\t\t%s->%s = soap_in_%s(soap, \"%s\", %s->%s, \"%s\");", obj, name, c_ident(ptr), tag, obj, name, xsi_type(ptr));
+    else
+      fprintf(fout, "\n\t\t\tif (soap_s2%s(soap, t, %s->%s))\n\t\t\t\treturn NULL;", the_type(ptr), obj, name);
+    if (!is_anyAttribute(ptr))
+      fprintf(fout, "\n\t\t}\n\t\telse if (soap->error)\n\t\t\treturn NULL;\n\t}");
+  }
+  else if (is_hexBinary(typ))
+    fprintf(fout, "\n\tif (!(%s->%s.__ptr = (unsigned char*)soap_hex2s(soap, soap_attr_value(soap, \"%s\", %d), NULL, 0, &%s->%s.__size)))\n\t\treturn NULL;", obj, name, tag, flag, obj, name);
+  else if (is_binary(typ))
+    fprintf(fout, "\n\tif (!(%s->%s.__ptr = (unsigned char*)soap_base642s(soap, soap_attr_value(soap, \"%s\", %d), NULL, 0, &%s->%s.__size)))\n\t\treturn NULL;", obj, name, tag, flag, obj, name);
+  else if (is_anyAttribute(typ))
+    fprintf(fout, "\n\tsoap_in_%s(soap, \"%s\", &%s->%s, \"%s\");", c_ident(typ), tag, obj, name, xsi_type(typ));
+  else if (is_primitive(typ))
+    fprintf(fout, "\n\tif (soap_s2%s(soap, soap_attr_value(soap, \"%s\", %d), &%s->%s))\n\t\treturn NULL;", the_type(typ), tag, flag, obj, name);
+  if (typ->type == Tpointer)
+  { if (!is_string(typ) && !is_wstring(typ) && !is_stdstr(typ->ref))
+    { Tnode *ptr = (Tnode*)typ->ref;
+      if (ptr->type <= Tenum)
+      { if (ptr->minLength != MINLONG64 && (ptr->minLength > 0 || ptr->type < Tuchar || ptr->type > Tullong))
+          fprintf(fout,"\n\tif (%s->%s && *%s->%s < " SOAP_LONG_FORMAT ")\n\t{\tsoap->error = SOAP_LENGTH;\n\t\treturn NULL;\n\t}", obj, name, obj, name, ptr->minLength);
+        if (ptr->maxLength != MAXLONG64)
+          fprintf(fout,"\n\tif (%s->%s && *%s->%s > " SOAP_LONG_FORMAT ")\n\t{\tsoap->error = SOAP_LENGTH;\n\t\treturn NULL;\n\t}", obj, name, obj, name, ptr->maxLength);
+      }
+    }
+  }
+  else if (typ->type <= Tenum)
+  { if (typ->minLength != MINLONG64 && (typ->minLength > 0 || typ->type < Tuchar || typ->type > Tullong))
+      fprintf(fout,"\n\tif (%s->%s < " SOAP_LONG_FORMAT ")\n\t{\tsoap->error = SOAP_LENGTH;\n\t\treturn NULL;\n\t}", obj, name, typ->minLength);
+    if (typ->maxLength != MAXLONG64)
+      fprintf(fout,"\n\tif (%s->%s > " SOAP_LONG_FORMAT ")\n\t{\tsoap->error = SOAP_LENGTH;\n\t\treturn NULL;\n\t}", obj, name, typ->maxLength);
+  }
+}
+
+char *
+ptr_cast(Table *t, char *name)
+{ char *s = emalloc(strlen(t->sym->name) + strlen(name) + 6);
+  sprintf(s, "((%s*)%s)", t->sym->name, name);
+  return s;
+}
+
+void
+soap_out(Tnode *typ)
+{ Table *table,*t;
+  Entry *p = NULL;
+  int cardinality,i,j,d;
+  Tnode *n;
+  char *nse = ns_qualifiedElement(typ);
+  char *nsa = ns_qualifiedAttribute(typ);
+
+  if (is_dynamic_array(typ))
+  { soap_out_Darray(typ);
+    return;
+  }
+
+  if (is_external(typ))
+    fprintf(fhead, "\n\nSOAP_FMAC3S const char* SOAP_FMAC4S soap_%s2s(struct soap*, %s);", c_ident(typ), c_type(typ));
+
+  if (is_typedef(typ) && is_element(typ) && !is_external(typ))
+  { fprintf(fhead, "\n\n#define soap_out_%s soap_out_%s\n", c_ident(typ), t_ident(typ));
+    return;
+  }
+
+  if (is_primitive(typ) && typ->type != Tenum)
+  { if (is_external(typ))
+    { fprintf(fhead,"\nSOAP_FMAC1 int SOAP_FMAC2 soap_out_%s(struct soap*, const char*, int, const %s, const char*);", c_ident(typ), c_type_id(typ, "*")); 
+      return;
+    }
+    fprintf(fhead,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap*, const char*, int, const %s, const char*);", c_ident(typ), c_type_id(typ, "*")); 
+    fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap *soap, const char *tag, int id, const %s, const char *type)\n{\t(void)soap; (void)type; (void)tag; (void)id;", c_ident(typ), c_type_id(typ, "*a")); 
+    if (typ->type == Tllong || typ->type == Tullong)
+      fprintf(fout,"\n\treturn soap_out%s(soap, tag, id, a, type, %s);\n}", c_type(typ), soap_type(typ)); 
+    else
+      fprintf(fout,"\n\treturn soap_out%s(soap, tag, id, a, type, %s);\n}", the_type(typ), soap_type(typ)); 
+    return;
+  }
+  if (is_fixedstring(typ))
+  { fprintf(fhead,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap*, const char*, int, const char[], const char*);", c_ident(typ)); 
+    fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap *soap, const char *tag, int id, const char a[], const char *type)\n{", c_ident(typ)); 
+    fprintf(fout,"\n\treturn soap_outstring(soap, tag, id, (char*const*)&a, type, %s);\n}", soap_type(typ)); 
+    return;
+  }
+  if (is_string(typ))
+  { if (is_external(typ))
+    { fprintf(fhead,"\nSOAP_FMAC1 int SOAP_FMAC2 soap_out_%s(struct soap*, const char*, int, char*const*, const char*);", c_ident(typ));
+      return;
+    }
+    fprintf(fhead,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap*, const char*, int, char*const*, const char*);", c_ident(typ));
+    fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap *soap, const char *tag, int id, char *const*a, const char *type)\n{", c_ident(typ));
+    fprintf(fout,"\n\treturn soap_outstring(soap, tag, id, a, type, %s);\n}", soap_type(typ)); 
+    return;
+  }
+  if (is_wstring(typ))
+  { if (is_external(typ))
+    { fprintf(fhead,"\nSOAP_FMAC1 int SOAP_FMAC2 soap_out_%s(struct soap*, const char*, int, wchar_t*const*, const char*);", c_ident(typ));
+        return;
+    }
+    fprintf(fhead,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap*, const char*, int, wchar_t*const*, const char*);", c_ident(typ));
+    fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap *soap, const char *tag, int id, wchar_t *const*a, const char *type)\n{", c_ident(typ));
+    fprintf(fout,"\n\treturn soap_outwstring(soap, tag, id, a, type, %s);\n}", soap_type(typ)); 
+    return;
+  }
+  if (is_stdstring(typ))
+  { if (is_external(typ))
+    { fprintf(fhead,"\nSOAP_FMAC1 int SOAP_FMAC2 soap_out_%s(struct soap*, const char*, int, const std::string*, const char*);", c_ident(typ));
+        return;
+    }
+    fprintf(fhead,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap*, const char*, int, const std::string*, const char*);", c_ident(typ)); 
+    if (is_stdXML(typ))
+      fprintf(fout,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap *soap, const char *tag, int id, const std::string *s, const char *type)\n{\n\tconst char *t = s->c_str();\n\treturn soap_outliteral(soap, tag, (char*const*)&t, type);\n}", c_ident(typ));
+    else
+      fprintf(fout,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap *soap, const char *tag, int id, const std::string *s, const char *type)\n{\n\tif ((soap->mode & SOAP_C_NILSTRING) && s->empty())\n\t\treturn soap_element_null(soap, tag, id, type);\n\tif (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, s, %s), type) || soap_string_out(soap, s->c_str(), 0) || soap_element_end_out(soap, tag))\n\t\treturn soap->error;\n\treturn SOAP_OK;\n}", c_ident(typ), soap_type(typ));
+    return;
+  }
+  if (is_stdwstring(typ))
+  { if (is_external(typ))
+    { fprintf(fhead,"\nSOAP_FMAC1 int SOAP_FMAC2 soap_out_%s(struct soap*, const char*, int, const std::wstring*, const char*);", c_ident(typ));
+        return;
+    }
+    fprintf(fhead,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap*, const char*, int, const std::wstring*, const char*);", c_ident(typ)); 
+    if (is_stdXML(typ))
+      fprintf(fout,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap *soap, const char *tag, int id, const std::wstring *s, const char *type)\n{\n\tconst wchar_t *t = s->c_str();\n\treturn soap_outwliteral(soap, tag, (wchar_t*const*)&t, type);\n}", c_ident(typ));
+    else
+      fprintf(fout,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap *soap, const char *tag, int id, const std::wstring *s, const char *type)\n{\n\tif ((soap->mode & SOAP_C_NILSTRING) && s->empty())\n\t\treturn soap_element_null(soap, tag, id, type);\n\tif (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, s, %s), type) || soap_wstring_out(soap, s->c_str(), 0) || soap_element_end_out(soap, tag))\n\t\treturn soap->error;\n\treturn SOAP_OK;\n}", c_ident(typ), soap_type(typ));
+    return;
+  }
+  switch(typ->type)
+  { case Tstruct:
+      if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 int SOAP_FMAC2 soap_out_%s(struct soap*, const char*, int, const %s, const char*);", c_ident(typ),c_type_id(typ, "*")); 
+        return;
+      }
+      table=(Table*)typ->ref;
+      fprintf(fhead,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap*, const char*, int, const %s, const char*);", c_ident(typ),c_type_id(typ, "*")); 
+      fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap *soap, const char *tag, int id, const %s, const char *type)\n{", c_ident(typ),c_type_id(typ, "*a")); 
+      for (t = table; t; t = t->prev)
+      {	for (p = t->list; p; p = p->next)
+	{ if (is_repetition(p))
+	    p = p->next;
+	  else if (p->info.sto & Sattribute)
+	    soap_set_attr(p, "a", ident(p->sym->name), ns_add(p, nsa));
+	  else if (is_qname(p->info.typ))
+            fprintf(fout,"\n\tconst char *soap_tmp_%s = soap_QName2s(soap, a->%s);", ident(p->sym->name), ident(p->sym->name));
+	  else if (is_stdqname(p->info.typ))
+            fprintf(fout,"\n\tstd::string soap_tmp_%s(soap_QName2s(soap, a->%s.c_str()));", ident(p->sym->name), ident(p->sym->name));
+	  else if (p->info.typ->type == Tpointer && is_qname((Tnode*)p->info.typ->ref))
+            fprintf(fout,"\n\tconst char *soap_tmp_%s = a->%s ? soap_QName2s(soap, *a->%s) : NULL;", ident(p->sym->name), ident(p->sym->name), ident(p->sym->name));
+	  else if (p->info.typ->type == Tpointer && is_stdqname((Tnode*)p->info.typ->ref))
+            fprintf(fout,"\n\tstd::string soap_temp_%s(a->%s ? soap_QName2s(soap, a->%s->c_str()) : \"\"), *soap_tmp_%s = a->%s ? &soap_temp_%s : NULL;", ident(p->sym->name), ident(p->sym->name), ident(p->sym->name), ident(p->sym->name), ident(p->sym->name), ident(p->sym->name));
+        }
+      }
+     fprintf(fout,"\n\t(void)soap; (void)tag; (void)id; (void)type;");
+     if (is_primclass(typ))
+     {
+	for (table = (Table*)typ->ref; table; table = table->prev)
+	{ p = table->list;
+	  if (p && is_item(p))
+	    break;
+        }
+	  if ((p->info.sto & SmustUnderstand) && !(p->info.sto & (Sconst | Sprivate | Sprotected)) && !(p->info.sto & Sattribute) && !is_transient(p->info.typ) && !is_void(p->info.typ) && p->info.typ->type != Tfun)
+	    fprintf(fout, "\n\tsoap->mustUnderstand = 1;");
+	  if(p->info.typ->type==Tarray)
+	    fprintf(fout,"\n\treturn soap_out_%s(soap, tag, id, a->%s, \"%s\");", c_ident(p->info.typ), ident(p->sym->name), xsi_type_u(typ));
+	  else if(p->info.typ->type==Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ))
+	    fprintf(fout,"\n\treturn a->%s.soap_out(soap, tag, id, \"%s\");", ident(p->sym->name), xsi_type_u(typ));
+	  else if (is_qname(p->info.typ))
+	    fprintf(fout,"\n\treturn soap_out_%s(soap, tag, id, (char*const*)&soap_tmp_%s, \"%s\");", c_ident(p->info.typ), ident(p->sym->name), xsi_type_u(typ));
+	  else if (is_stdqname(p->info.typ))
+	    fprintf(fout,"\n\treturn soap_out_%s(soap, tag, id, &soap_tmp_%s, \"%s\");", c_ident(p->info.typ), ident(p->sym->name), xsi_type_u(typ));
+	  else if (p->info.typ->type == Tpointer && is_qname((Tnode*)p->info.typ->ref))
+	    fprintf(fout,"\n\treturn soap_out_%s(soap, tag, id, (char*const*)soap_tmp_%s, \"%s\");", c_ident((Tnode*)p->info.typ->ref), ident(p->sym->name), xsi_type_u(typ));
+	  else if (p->info.typ->type == Tpointer && is_stdqname((Tnode*)p->info.typ->ref))
+	    fprintf(fout,"\n\treturn soap_out_%s(soap, tag, id, &soap_tmp_%s, \"%s\");", c_ident(p->info.typ), ident(p->sym->name), xsi_type_u(typ));
+	  else if (is_XML(p->info.typ) && is_string(p->info.typ))
+	    fprintf(fout,"\n\treturn soap_outliteral(soap, tag, &a->%s, NULL);", ident(p->sym->name));
+	  else if (is_XML(p->info.typ) && is_wstring(p->info.typ))
+	    fprintf(fout,"\n\treturn soap_outwliteral(soap, tag, &a->%s, NULL);", ident(p->sym->name));
+	  else if (p->info.typ->type != Tfun && !is_void(p->info.typ))
+	    fprintf(fout,"\n\treturn soap_out_%s(soap, tag, id, &a->%s, \"%s\");", c_ident(p->info.typ), ident(p->sym->name), xsi_type_u(typ));
+	  else
+            fprintf(fout,"\n\treturn SOAP_OK;");	 
+      fprintf(fout,"\n}");	 
+   }
+   else
+   {  if (!is_invisible(typ->id->name))
+        fprintf(fout,"\n\tif (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, %s), type))\n\t\treturn soap->error;", soap_type(typ));
+      fflush(fout);
+      for (t = table; t; t = t->prev)
+      {	for (p = t->list; p; p = p->next)
+	{ if (p->info.sto & Sreturn)
+	  { if (nse || has_ns_eq(NULL, p->sym->name))
+	    { if (p->info.typ->type == Tpointer)
+	        fprintf(fout,"\n\tif (a->%s)\n\t\tsoap_element_result(soap, \"%s\");", ident(p->sym->name), ns_add(p, nse));
+              else
+	        fprintf(fout,"\n\tsoap_element_result(soap, \"%s\");", ns_add(p, nse));
+	    }
+	  }
+	  if ((p->info.sto & SmustUnderstand) && !(p->info.sto & (Sconst | Sprivate | Sprotected)) && !is_transient(p->info.typ) && !is_void(p->info.typ) && p->info.typ->type != Tfun)
+	    fprintf(fout, "\n\tsoap->mustUnderstand = 1;");
+	  needs_lang(p);
+	  if (p->info.sto & (Sconst | Sprivate | Sprotected))
+	    fprintf(fout, "\n\t/* non-serializable %s skipped */", ident(p->sym->name));
+	  else if (is_transient(p->info.typ))
+	    fprintf(fout, "\n\t/* transient %s skipped */", ident(p->sym->name));
+	  else if (p->info.sto & Sattribute)
+	    ;
+	  else if (is_repetition(p))
+	  { fprintf(fout,"\n\tif (a->%s)", ident(p->next->sym->name));
+            fprintf(fout,"\n\t{\tint i;\n\t\tfor (i = 0; i < a->%s; i++)", ident(p->sym->name));
+            if (((Tnode*)p->next->info.typ->ref)->type == Tclass && !is_external((Tnode*)p->next->info.typ->ref) && !is_volatile((Tnode*)p->next->info.typ->ref) && !is_typedef((Tnode*)p->next->info.typ->ref))
+              fprintf(fout,"\n\t\t\tif (a->%s[i].soap_out(soap, \"%s\", -1, \"%s\"))\n\t\t\t\treturn soap->error;", ident(p->next->sym->name), ns_add(p->next, nse),xsi_type_cond_u((Tnode*)p->next->info.typ->ref, !has_ns_eq(NULL, p->next->sym->name)));
+	    else if (is_qname((Tnode*)p->next->info.typ->ref))
+              fprintf(fout,"\n\t\t{\tconst char *soap_tmp_%s = soap_QName2s(soap, a->%s[i]);\n\t\t\tif (soap_out_%s(soap, \"%s\", -1, (char*const*)&soap_tmp_%s, \"%s\"))\n\t\t\t\treturn soap->error;\n\t\t}", ident(p->next->sym->name), ident(p->next->sym->name), c_ident((Tnode*)p->next->info.typ->ref), ns_add(p->next, nse), ident(p->next->sym->name), xsi_type_cond_u((Tnode*)p->next->info.typ->ref, !has_ns_eq(NULL, p->next->sym->name)));
+            else if (is_XML((Tnode*)p->next->info.typ->ref) && is_string((Tnode*)p->next->info.typ->ref))
+	      fprintf(fout,"\n\t\t\tsoap_outliteral(soap, \"%s\", a->%s + i, NULL);", ns_add(p->next, nse), ident(p->next->sym->name));
+            else if (is_XML((Tnode*)p->next->info.typ->ref) && is_wstring((Tnode*)p->next->info.typ->ref))
+	      fprintf(fout,"\n\t\t\tsoap_outwliteral(soap, \"%s\", a->%s + i, NULL);", ns_add(p->next, nse), ident(p->next->sym->name));
+	    else
+              fprintf(fout,"\n\t\t\tif (soap_out_%s(soap, \"%s\", -1, a->%s + i, \"%s\"))\n\t\t\t\treturn soap->error;", c_ident((Tnode*)p->next->info.typ->ref), ns_add(p->next, nse), ident(p->next->sym->name), xsi_type_cond_u((Tnode*)p->next->info.typ->ref, !has_ns_eq(NULL, p->next->sym->name)));
+            fprintf(fout,"\n\t}");
+            p = p->next;
+	  }
+	  else if (is_anytype(p) && is_invisible(p->next->sym->name))
+	  { fprintf(fout,"\n\tif (soap_putelement(soap, a->%s, tag, -1, a->%s))\n\t\treturn soap->error;", ident(p->next->sym->name), ident(p->sym->name));
+            p = p->next;
+	  }
+	  else if (is_anytype(p))
+	  { fprintf(fout,"\n\tif (soap_putelement(soap, a->%s, \"%s\", -1, a->%s))\n\t\treturn soap->error;", ident(p->next->sym->name), ns_add(p->next, nse), ident(p->sym->name));
+            p = p->next;
+	  }
+	  else if (is_choice(p))
+	  { fprintf(fout,"\n\tif (soap_out_%s(soap, a->%s, &a->%s))\n\t\treturn soap->error;", c_ident(p->next->info.typ), ident(p->sym->name), ident(p->next->sym->name));
+            p = p->next;
+	  }
+	  else if (p->info.typ->type==Tarray)
+	    fprintf(fout,"\n\tsoap_out_%s(soap, %s, -1, a->%s, \"%s\");", c_ident(p->info.typ), field(p, nse), ident(p->sym->name), xsi_type_cond_u(p->info.typ, !has_ns_eq(NULL, p->sym->name)));
+	  else if (p->info.typ->type==Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ))
+	    fprintf(fout,"\n\tif (a->%s.soap_out(soap, %s, -1, \"%s\"))\n\t\treturn soap->error;", ident(p->sym->name), field(p, nse), xsi_type_cond_u(p->info.typ, !has_ns_eq(NULL, p->sym->name)));
+	  else if (is_qname(p->info.typ))
+	    fprintf(fout,"\n\tif (soap_out_%s(soap, %s, -1, (char*const*)&soap_tmp_%s, \"%s\"))\n\t\treturn soap->error;", c_ident(p->info.typ), field(p, nse), ident(p->sym->name), xsi_type_cond_u(p->info.typ, !has_ns_eq(NULL, p->sym->name)));
+	  else if (is_stdqname(p->info.typ))
+	    fprintf(fout,"\n\tif (soap_out_%s(soap, %s, -1, &soap_tmp_%s, \"%s\"))\n\t\treturn soap->error;", c_ident(p->info.typ), field(p, nse), ident(p->sym->name), xsi_type_cond_u(p->info.typ, !has_ns_eq(NULL, p->sym->name)));
+	  else if (p->info.typ->type == Tpointer && is_qname((Tnode*)p->info.typ->ref))
+	    fprintf(fout,"\n\tif (soap_out_%s(soap, %s, -1, (char*const*)&soap_tmp_%s, \"%s\"))\n\t\treturn soap->error;", c_ident((Tnode*)p->info.typ->ref), field(p, nse), ident(p->sym->name), xsi_type_cond_u(p->info.typ, !has_ns_eq(NULL, p->sym->name)));
+	  else if (p->info.typ->type == Tpointer && is_stdqname((Tnode*)p->info.typ->ref))
+	    fprintf(fout,"\n\tif (soap_out_%s(soap, %s, -1, &soap_tmp_%s, \"%s\"))\n\t\treturn soap->error;", c_ident(p->info.typ), field(p, nse), ident(p->sym->name), xsi_type_cond_u(p->info.typ, !has_ns_eq(NULL, p->sym->name)));
+	  else if (is_XML(p->info.typ) && is_string(p->info.typ))
+	    fprintf(fout,"\n\tsoap_outliteral(soap, %s, &a->%s, NULL);", field(p, nse), ident(p->sym->name));
+	  else if (is_XML(p->info.typ) && is_wstring(p->info.typ))
+	    fprintf(fout,"\n\tsoap_outwliteral(soap, %s, &a->%s, NULL);", field(p, nse), ident(p->sym->name));
+	  else if (p->info.typ->type == Tpointer && !is_void(p->info.typ) && p->info.minOccurs > 0)
+	    fprintf(fout,"\n\tif (a->%s)\n\t{\tif (soap_out_%s(soap, %s, -1, &a->%s, \"%s\"))\n\t\t\treturn soap->error;\n\t}\n\telse if (soap_element_nil(soap, %s))\n\t\treturn soap->error;", ident(p->sym->name), c_ident(p->info.typ), field(p, nse), ident(p->sym->name), xsi_type_cond_u(p->info.typ, !has_ns_eq(NULL, p->sym->name)), field(p, nse));
+	  else if (p->info.typ->type != Tfun && !is_void(p->info.typ))
+	    fprintf(fout,"\n\tif (soap_out_%s(soap, %s, -1, &a->%s, \"%s\"))\n\t\treturn soap->error;", c_ident(p->info.typ), field(p, nse), ident(p->sym->name), xsi_type_cond_u(p->info.typ, !has_ns_eq(NULL, p->sym->name)));
+	}
+      }	
+      if (!is_invisible(typ->id->name))
+        fprintf(fout,"\n\treturn soap_element_end_out(soap, tag);\n}");
+      else
+        fprintf(fout,"\n\treturn SOAP_OK;\n}");
+    }
+    fflush(fout);
+    break;
+      
+    case Tclass:
+      if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 int SOAP_FMAC2 soap_out_%s(struct soap*, const char*, int, const %s, const char*);", c_ident(typ),c_type_id(typ, "*")); 
+        return;
+      }
+      table=(Table*)typ->ref;
+      if (!is_volatile(typ) && !is_typedef(typ))
+      { 
+        if (is_external(typ))
+        { fprintf(fhead,"\nSOAP_FMAC1 int SOAP_FMAC2 soap_out_%s(struct soap*, const char*, int, const %s, const char*);", c_ident(typ),c_type_id(typ, "*")); 
+          return;
+        }
+        fprintf(fout,"\n\nint %s::soap_out(struct soap *soap, const char *tag, int id, const char *type) const", ident(typ->id->name)); 
+        fprintf(fout,"\n{\n\treturn soap_out_%s(soap, tag, id, this, type);\n}", c_ident(typ)); 
+      }
+      fprintf(fhead,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap*, const char*, int, const %s, const char*);", c_ident(typ), c_type_id(typ, "*")); 
+      fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap *soap, const char *tag, int id, const %s, const char *type)\n{", c_ident(typ), c_type_id(typ, "*a")); 
+      fflush(fout);
+      if (has_setter(typ))
+        fprintf(fout, "\n\t((%s)a)->set(soap);", c_type_id(typ, "*"));
+      for (t = table; t; t = t->prev)
+      { Entry *e = entry(classtable, t->sym);
+        char *nsa1 = e ? ns_qualifiedAttribute(e->info.typ) : nsa;
+        for (p = t->list; p; p = p->next)
+	{ if (is_repetition(p))
+	    p = p->next;
+	  else if (p->info.sto & Sattribute)
+	    soap_set_attr(p, ptr_cast(t, "a"), ident(p->sym->name), ns_add(p, nsa1));
+	  else if (is_qname(p->info.typ))
+            fprintf(fout,"\n\tconst char *soap_tmp_%s = soap_QName2s(soap, a->%s);", ident(p->sym->name), ident(p->sym->name));
+	  else if (is_stdqname(p->info.typ))
+            fprintf(fout,"\n\tstd::string soap_tmp_%s(soap_QName2s(soap, a->%s.c_str()));", ident(p->sym->name), ident(p->sym->name));
+	  else if (p->info.typ->type == Tpointer && is_qname((Tnode*)p->info.typ->ref))
+            fprintf(fout,"\n\tconst char *soap_tmp_%s = a->%s ? soap_QName2s(soap, *a->%s) : NULL;", ident(p->sym->name), ident(p->sym->name), ident(p->sym->name));
+	  else if (p->info.typ->type == Tpointer && is_stdqname((Tnode*)p->info.typ->ref))
+            fprintf(fout,"\n\tstd::string soap_temp_%s(a->%s ? soap_QName2s(soap, a->%s->c_str()) : \"\"), *soap_tmp_%s = a->%s ? &soap_temp_%s : NULL;", ident(p->sym->name), ident(p->sym->name), ident(p->sym->name), ident(p->sym->name), ident(p->sym->name), ident(p->sym->name));
+        }
+     }
+     if (is_primclass(typ))
+     {
+	for (t = table; t; t = t->prev)
+	{ p = t->list;
+	  if (p && is_item(p))
+	    break;
+        }
+	  if ((p->info.sto & SmustUnderstand) && !(p->info.sto & (Sconst | Sprivate | Sprotected)) && !(p->info.sto & Sattribute) && !is_transient(p->info.typ) && !is_void(p->info.typ) && p->info.typ->type != Tfun)
+	    fprintf(fout, "\n\tsoap->mustUnderstand = 1;");
+	  if (table->prev)
+	  {
+	    if (is_XML(p->info.typ) && is_string(p->info.typ))
+	      fprintf(fout,"\n\treturn soap_outliteral(soap, tag, &(a->%s::%s), \"%s\");", ident(t->sym->name), ident(p->sym->name), xsi_type(typ));
+	    else if (is_XML(p->info.typ) && is_wstring(p->info.typ))
+	      fprintf(fout,"\n\treturn soap_outwliteral(soap, tag, &(a->%s::%s), \"%s\");", ident(t->sym->name), ident(p->sym->name), xsi_type(typ));
+	    else if(p->info.typ->type==Tarray)
+	      fprintf(fout,"\n\treturn soap_out_%s(soap, tag, id, a->%s::%s, \"%s\");", c_ident(p->info.typ), ident(t->sym->name), ident(p->sym->name), xsi_type(typ));
+	    else if(p->info.typ->type==Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ))
+	      fprintf(fout,"\n\treturn (a->%s::%s).soap_out(soap, tag, id, \"%s\");", ident(t->sym->name), ident(p->sym->name), xsi_type(typ));
+	    else if (is_qname(p->info.typ))
+	      fprintf(fout,"\n\treturn soap_out_%s(soap, tag, id, (char*const*)&soap_tmp_%s, \"%s\");", c_ident(p->info.typ), ident(p->sym->name), xsi_type(typ));
+	    else if (is_stdqname(p->info.typ))
+	      fprintf(fout,"\n\treturn soap_out_%s(soap, tag, id, &soap_tmp_%s, \"%s\");", c_ident(p->info.typ), ident(p->sym->name), xsi_type(typ));
+	    else if (p->info.typ->type == Tpointer && is_qname((Tnode*)p->info.typ->ref))
+	      fprintf(fout,"\n\treturn soap_out_%s(soap, tag, id, (char*const*)&soap_tmp_%s, \"%s\");", c_ident((Tnode*)p->info.typ->ref), ident(p->sym->name), xsi_type_u(typ));
+	    else if (p->info.typ->type == Tpointer && is_stdqname((Tnode*)p->info.typ->ref))
+	      fprintf(fout,"\n\treturn soap_out_%s(soap, tag, id, &soap_tmp_%s, \"%s\");", c_ident(p->info.typ), ident(p->sym->name), xsi_type_u(typ));
+	    else if (p->info.typ->type != Tfun && !is_void(p->info.typ))
+	      fprintf(fout,"\n\treturn soap_out_%s(soap, tag, id, &(a->%s::%s), \"%s\");", c_ident(p->info.typ), ident(t->sym->name), ident(p->sym->name), xsi_type(typ));
+	    else
+              fprintf(fout,"\n\treturn SOAP_OK;");	 
+	  }
+	  else
+	  { if (is_XML(p->info.typ) && is_string(p->info.typ))
+	      fprintf(fout,"\n\treturn soap_outliteral(soap, tag, &(a->%s::%s), NULL);", ident(t->sym->name), ident(p->sym->name));
+	    else if (is_XML(p->info.typ) && is_wstring(p->info.typ))
+	      fprintf(fout,"\n\treturn soap_outwliteral(soap, tag, &(a->%s::%s), NULL);", ident(t->sym->name), ident(p->sym->name));
+	    else if(p->info.typ->type==Tarray)
+	      fprintf(fout,"\n\treturn soap_out_%s(soap, tag, id, a->%s::%s, \"%s\");", c_ident(p->info.typ), ident(t->sym->name), ident(p->sym->name), xsi_type_u(typ));
+	    else if(p->info.typ->type==Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ))
+	      fprintf(fout,"\n\treturn (a->%s::%s).soap_out(soap, tag, id, \"%s\");", ident(t->sym->name), ident(p->sym->name), xsi_type_u(typ));
+	    else if (is_qname(p->info.typ))
+	      fprintf(fout,"\n\treturn soap_out_%s(soap, tag, id, (char*const*)&soap_tmp_%s, \"%s\");", c_ident(p->info.typ), ident(p->sym->name), xsi_type_u(typ));
+	    else if (is_stdqname(p->info.typ))
+	      fprintf(fout,"\n\treturn soap_out_%s(soap, tag, id, &soap_tmp_%s, \"%s\");", c_ident(p->info.typ), ident(p->sym->name), xsi_type_u(typ));
+	    else if (p->info.typ->type == Tpointer && is_qname((Tnode*)p->info.typ->ref))
+	      fprintf(fout,"\n\treturn soap_out_%s(soap, tag, id, (char*const*)&soap_tmp_%s, \"%s\");", c_ident((Tnode*)p->info.typ->ref), ident(p->sym->name), xsi_type_u(typ));
+	    else if (p->info.typ->type == Tpointer && is_stdqname((Tnode*)p->info.typ->ref))
+	      fprintf(fout,"\n\treturn soap_out_%s(soap, tag, id, &soap_tmp_%s, \"%s\");", c_ident((Tnode*)p->info.typ->ref), ident(p->sym->name), xsi_type_u(typ));
+	    else if (p->info.typ->type != Tfun && !is_void(p->info.typ))
+	      fprintf(fout,"\n\treturn soap_out_%s(soap, tag, id, &a->%s::%s, \"%s\");", c_ident(p->info.typ), ident(t->sym->name), ident(p->sym->name), xsi_type_u(typ));
+	    else
+              fprintf(fout,"\n\treturn SOAP_OK;");	 
+	  }
+       fprintf(fout,"\n}");	 
+     }
+     else
+     { if (!is_invisible(typ->id->name))
+       { if (table && table->prev)
+           fprintf(fout,"\n\tif (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, %s), \"%s\"))\n\t\treturn soap->error;", soap_type(typ), xsi_type(typ));
+         else
+           fprintf(fout,"\n\tif (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, %s), type))\n\t\treturn soap->error;", soap_type(typ));
+       }
+       fflush(fout);
+      
+      i=0;
+      /* Get the depth of the inheritance hierarchy */
+      for (t = table; t; t = t->prev)
+	i++;
+
+      /* Call routines to output the member data of the class */
+      /* Data members of the Base Classes are outputed first
+	 followed by the data members of the Derived classes.
+	 Overridden data members are output twice once for the base class
+	 they are defined in and once for the derived class that overwrites
+	 them */
+      
+      for (; i > 0; i--)
+      { Entry *e;
+        char *nse1;
+        t = table;
+	for (j = 0; j< i-1; j++)
+	  t = t->prev;
+        e = entry(classtable, t->sym);
+        nse1 = e ? ns_qualifiedElement(e->info.typ) : nse;
+	for (p = t->list; p != (Entry*) 0; p = p->next)
+	{ if (p->info.sto & Sreturn)
+	  { if (nse1 || has_ns_eq(NULL, p->sym->name))
+	    { if (p->info.typ->type == Tpointer)
+	        fprintf(fout,"\n\tif (a->%s)\n\t\tsoap_element_result(soap, \"%s\");", ident(p->sym->name), ns_add(p, nse1));
+              else
+	        fprintf(fout,"\n\tsoap_element_result(soap, \"%s\");", ns_add(p, nse1));
+	    }
+	  }
+	  if ((p->info.sto & SmustUnderstand) && !(p->info.sto & (Sconst | Sprivate | Sprotected)) && !(p->info.sto & Sattribute) && !is_transient(p->info.typ) && !is_void(p->info.typ) && p->info.typ->type != Tfun)
+	    fprintf(fout, "\n\tsoap->mustUnderstand = 1;");
+	  needs_lang(p);
+	  if (is_item(p))
+	    ;
+	  else if (p->info.sto & (Sconst | Sprivate | Sprotected))
+	    fprintf(fout, "\n\t/* non-serializable %s skipped */", ident(p->sym->name));
+	  else if (is_transient(p->info.typ))
+	    fprintf(fout, "\n\t/* transient %s skipped */", ident(p->sym->name));
+	  else if (p->info.sto & Sattribute)
+	    ;
+	  else if (is_repetition(p))
+	  { fprintf(fout,"\n\tif (a->%s::%s)", ident(t->sym->name), ident(p->next->sym->name));
+            fprintf(fout,"\n\t{\tint i;\n\t\tfor (i = 0; i < a->%s::%s; i++)", ident(t->sym->name), ident(p->sym->name));
+            if (((Tnode*)p->next->info.typ->ref)->type == Tclass && !is_external((Tnode*)p->next->info.typ->ref) && !is_volatile((Tnode*)p->next->info.typ->ref) && !is_typedef((Tnode*)p->next->info.typ->ref))
+              fprintf(fout,"\n\t\t\tif (a->%s::%s[i].soap_out(soap, %s, -1, \"%s\"))\n\t\t\t\treturn soap->error;", ident(t->sym->name), ident(p->next->sym->name), field_overridden(t, p->next, nse1),xsi_type_cond_u((Tnode*)p->next->info.typ->ref, !has_ns_eq(NULL, p->next->sym->name)));
+	    else if (is_qname((Tnode*)p->next->info.typ->ref))
+              fprintf(fout,"\n\t\t{\tconst char *soap_tmp_%s = soap_QName2s(soap, a->%s[i]);\n\t\t\tif (soap_out_%s(soap, %s, -1, (char*const*)&soap_tmp_%s, \"%s\"))\n\t\t\t\treturn soap->error;\n\t\t}", ident(p->next->sym->name), ident(p->next->sym->name), c_ident((Tnode*)p->next->info.typ->ref), field_overridden(t, p->next, nse1), ident(p->next->sym->name), xsi_type_cond_u((Tnode*)p->next->info.typ->ref, !has_ns_eq(NULL, p->next->sym->name)));
+            else if (is_XML((Tnode*)p->next->info.typ->ref) && is_string((Tnode*)p->next->info.typ->ref))
+	      fprintf(fout,"\n\t\t\tsoap_outliteral(soap, %s, a->%s::%s + i, NULL);", field_overridden(t, p->next, nse1), ident(t->sym->name), ident(p->next->sym->name));
+            else if (is_XML((Tnode*)p->next->info.typ->ref) && is_wstring((Tnode*)p->next->info.typ->ref))
+              fprintf(fout,"\n\t\t\tsoap_outwliteral(soap, %s, a->%s::%s + i, NULL);", field_overridden(t, p->next, nse1), ident(t->sym->name), ident(p->next->sym->name));
+            else
+              fprintf(fout,"\n\t\t\tif (soap_out_%s(soap, %s, -1, a->%s::%s + i, \"%s\"))\n\t\t\t\treturn soap->error;", c_ident((Tnode*)p->next->info.typ->ref), field_overridden(t, p->next, nse1), ident(t->sym->name), ident(p->next->sym->name), xsi_type_cond_u((Tnode*)p->next->info.typ->ref, !has_ns_eq(NULL, p->next->sym->name)));
+            fprintf(fout,"\n\t}");
+            p = p->next;
+	  }
+	  else if (is_anytype(p) && is_invisible(p->next->sym->name))
+	  { fprintf(fout,"\n\tif (soap_putelement(soap, a->%s::%s, tag, -1, a->%s::%s))\n\t\treturn soap->error;", ident(t->sym->name), ident(p->next->sym->name), ident(t->sym->name), ident(p->sym->name));
+            p = p->next;
+	  }
+	  else if (is_anytype(p))
+	  { fprintf(fout,"\n\tif (soap_putelement(soap, a->%s::%s, %s, -1, a->%s::%s))\n\t\treturn soap->error;", ident(t->sym->name), ident(p->next->sym->name), field_overridden(t, p, nse1), ident(t->sym->name), ident(p->sym->name));
+            p = p->next;
+	  }
+	  else if (is_choice(p))
+	  { fprintf(fout,"\n\tif (soap_out_%s(soap, a->%s::%s, &a->%s::%s))\n\t\treturn soap->error;", c_ident(p->next->info.typ), ident(t->sym->name), ident(p->sym->name), ident(t->sym->name), ident(p->next->sym->name));
+            p = p->next;
+	  }
+	  else if (p->info.typ->type==Tarray)
+	    fprintf(fout,"\n\tsoap_out_%s(soap, %s, -1, a->%s::%s, \"%s\");", c_ident(p->info.typ),field_overridden(t, p, nse1), ident(t->sym->name), ident(p->sym->name), xsi_type_cond_u(p->info.typ, !has_ns_eq(NULL, p->sym->name)));
+	  else if (p->info.typ->type==Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ))
+	    fprintf(fout,"\n\tif ((a->%s::%s).soap_out(soap, %s, -1, \"%s\"))\n\t\treturn soap->error;", ident(t->sym->name), ident(p->sym->name), field_overridden(t, p, nse1),xsi_type_cond_u(p->info.typ, !has_ns_eq(NULL, p->sym->name)));
+	  else if (is_qname(p->info.typ))
+	    fprintf(fout,"\n\tif (soap_out_%s(soap, %s, -1, (char*const*)&soap_tmp_%s, \"%s\"))\n\t\treturn soap->error;", c_ident(p->info.typ),field_overridden(t, p, nse1), ident(p->sym->name), xsi_type_cond_u(p->info.typ, !has_ns_eq(NULL, p->sym->name)));
+	  else if (is_stdqname(p->info.typ))
+	    fprintf(fout,"\n\tif (soap_out_%s(soap, %s, -1, &soap_tmp_%s, \"%s\"))\n\t\treturn soap->error;", c_ident(p->info.typ),field_overridden(t, p, nse1), ident(p->sym->name), xsi_type_cond_u(p->info.typ, !has_ns_eq(NULL, p->sym->name)));
+	  else if (p->info.typ->type == Tpointer && is_qname((Tnode*)p->info.typ->ref))
+	    fprintf(fout,"\n\tif (soap_out_%s(soap, %s, -1, (char*const*)&soap_tmp_%s, \"%s\"))\n\t\treturn soap->error;", c_ident((Tnode*)p->info.typ->ref), field_overridden(t, p, nse1), ident(p->sym->name), xsi_type_cond_u(p->info.typ, !has_ns_eq(NULL, p->sym->name)));
+	  else if (p->info.typ->type == Tpointer && is_stdqname((Tnode*)p->info.typ->ref))
+	    fprintf(fout,"\n\tif (soap_out_%s(soap, %s, -1, &soap_tmp_%s, \"%s\"))\n\t\treturn soap->error;", c_ident(p->info.typ), field_overridden(t, p, nse1), ident(p->sym->name), xsi_type_cond_u(p->info.typ, !has_ns_eq(NULL, p->sym->name)));
+	  else if (is_XML(p->info.typ) && is_string(p->info.typ))
+	    fprintf(fout,"\n\tsoap_outliteral(soap, %s, &(a->%s::%s), NULL);", field_overridden(t, p, nse1), ident(t->sym->name), ident(p->sym->name));
+	  else if (is_XML(p->info.typ) && is_wstring(p->info.typ))
+	    fprintf(fout,"\n\tsoap_outwliteral(soap, %s, &(a->%s::%s), NULL);", field_overridden(t, p, nse1), ident(t->sym->name), ident(p->sym->name));
+	  else if (p->info.typ->type == Tpointer && !is_void(p->info.typ) && p->info.minOccurs > 0)
+	    fprintf(fout,"\n\tif (a->%s::%s)\n\t{\tif (soap_out_%s(soap, %s, -1, &a->%s::%s, \"%s\"))\n\t\t\treturn soap->error;\n\t}\n\telse if (soap_element_nil(soap, %s))\n\t\treturn soap->error;", ident(t->sym->name), ident(p->sym->name), c_ident(p->info.typ), field_overridden(t, p, nse1), ident(t->sym->name), ident(p->sym->name), xsi_type_cond_u(p->info.typ, !has_ns_eq(NULL, p->sym->name)), field_overridden(t, p, nse1));
+	  else if (p->info.typ->type != Tfun && !is_void(p->info.typ))
+	    fprintf(fout,"\n\tif (soap_out_%s(soap, %s, -1, &(a->%s::%s), \"%s\"))\n\t\treturn soap->error;", c_ident(p->info.typ),field_overridden(t, p, nse1), ident(t->sym->name), ident(p->sym->name), xsi_type_cond_u(p->info.typ, !has_ns_eq(NULL, p->sym->name)));
+  	  fflush(fout);
+	}
+       }
+       if (!is_invisible(typ->id->name))
+         fprintf(fout,"\n\treturn soap_element_end_out(soap, tag);\n}");
+       else
+         fprintf(fout,"\n\treturn SOAP_OK;\n}");
+      }
+      fflush(fout);
+      break;
+      
+    case Tunion:
+      if (is_external(typ))
+      { fprintf(fhead, "\nSOAP_FMAC1 int SOAP_FMAC2 soap_out_%s(struct soap*, int, const %s);", c_ident(typ), c_type_id(typ, "*")); 
+        return;
+      }
+      fprintf(fhead, "\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap*, int, const %s);", c_ident(typ), c_type_id(typ, "*")); 
+      fprintf(fout, "\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap *soap, int choice, const %s)\n{", c_ident(typ), c_type_id(typ, "*a")); 
+      table = (Table*)typ->ref;
+      fprintf(fout, "\n\tswitch (choice)\n\t{");
+      for (p = table->list; p; p = p->next)
+      { if (p->info.sto & (Sconst | Sprivate | Sprotected))
+	  fprintf(fout, "\n\t/* non-serializable %s skipped */", ident(p->sym->name));
+	else if (is_transient(p->info.typ))
+	  fprintf(fout, "\n\t/* transient %s skipped */", ident(p->sym->name));
+	else if (p->info.sto & Sattribute)
+	  ;
+	else if (is_repetition(p))
+	  ;
+	else if (is_anytype(p))
+	  ;
+	else if (p->info.typ->type == Tarray)
+	{ fprintf(fout, "\n\tcase SOAP_UNION_%s_%s:", c_ident(typ), ident(p->sym->name));
+	  fprintf(fout, "\n\t\treturn soap_out_%s(soap, \"%s\", -1, a->%s, \"%s\");", c_ident(p->info.typ), ns_add(p, nse), ident(p->sym->name), xsi_type_cond_u(p->info.typ, !has_ns_eq(NULL, p->sym->name)));
+	}
+	else if (p->info.typ->type == Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ))
+	{ fprintf(fout, "\n\tcase SOAP_UNION_%s_%s:", c_ident(typ), ident(p->sym->name));
+	  fprintf(fout, "\n\t\treturn a->%s.soap_out(soap, \"%s\", -1, \"%s\");", ident(p->sym->name), ns_add(p, nse), xsi_type_cond_u(p->info.typ, !has_ns_eq(NULL, p->sym->name)));
+	}
+	else if (is_qname(p->info.typ) || is_stdqname(p->info.typ))
+	{ fprintf(fout, "\n\tcase SOAP_UNION_%s_%s:", c_ident(typ), ident(p->sym->name));
+          fprintf(fout,"\n\t{\tconst char *soap_tmp_%s = soap_QName2s(soap, a->%s);", ident(p->sym->name), ident(p->sym->name));
+	  fprintf(fout,"\n\t\treturn soap_out_%s(soap, \"%s\", -1, (char*const*)&soap_tmp_%s, \"%s\");\n\t}", c_ident(p->info.typ),ns_add(p, nse), ident(p->sym->name), xsi_type_cond_u(p->info.typ, !has_ns_eq(NULL, p->sym->name)));
+	}
+	else if (is_XML(p->info.typ) && is_string(p->info.typ))
+	{ fprintf(fout, "\n\tcase SOAP_UNION_%s_%s:", c_ident(typ), ident(p->sym->name));
+	  fprintf(fout,"\n\t\treturn soap_outliteral(soap, \"%s\", &a->%s, NULL);", ns_add(p, nse), ident(p->sym->name));
+	}
+	else if (is_XML(p->info.typ) && is_wstring(p->info.typ))
+	{ fprintf(fout, "\n\tcase SOAP_UNION_%s_%s:", c_ident(typ), ident(p->sym->name));
+	  fprintf(fout,"\n\t\treturn soap_outwliteral(soap, \"%s\", &a->%s, NULL);", ns_add(p, nse), ident(p->sym->name));
+	}
+	else if (p->info.typ->type != Tfun && !is_void(p->info.typ))
+	{ fprintf(fout, "\n\tcase SOAP_UNION_%s_%s:", c_ident(typ), ident(p->sym->name));
+	  fprintf(fout,"\n\t\treturn soap_out_%s(soap, \"%s\", -1, &a->%s, \"%s\");", c_ident(p->info.typ),ns_add(p, nse), ident(p->sym->name), xsi_type_cond_u(p->info.typ, !has_ns_eq(NULL, p->sym->name)));
+        }
+      }	
+      fprintf(fout, "\n\tdefault:\n\t\tbreak;\n\t}\n\treturn SOAP_OK;\n}");
+      fflush(fout);
+      break;
+
+    case Tpointer:
+      if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 int SOAP_FMAC2 soap_out_%s(struct soap*, const char *, int, %s, const char *);", c_ident(typ),c_type_id(typ, "const*")); 
+        return;
+      }
+      fprintf(fhead,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap*, const char *, int, %s, const char *);", c_ident(typ),c_type_id(typ, "const*")); 
+      fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap *soap, const char *tag, int id, %s, const char *type)\n{", c_ident(typ),c_type_id(typ, "const*a")); 
+      if (is_template(typ))
+      { fprintf(fout,"\n\tif (!*a)");
+        fprintf(fout,"\n\t\treturn soap_element_null(soap, tag, id, type);");
+        fprintf(fout,"\n\treturn soap_out_%s(soap, tag, id, *a, type);", c_ident((Tnode*)typ->ref));
+      }
+      else
+      { p = is_dynamic_array((Tnode*)typ->ref);
+        if (p)
+        { d = get_Darraydims((Tnode*)typ->ref);
+	  if (d)
+            fprintf(fout,"\n\tid = soap_element_id(soap, tag, id, *a, (struct soap_array*)&(*a)->%s, %d, type, %s);", ident(p->sym->name), d, soap_type((Tnode*)typ->ref));
+	  else
+            fprintf(fout,"\n\tid = soap_element_id(soap, tag, id, *a, (struct soap_array*)&(*a)->%s, 1, type, %s);", ident(p->sym->name), soap_type((Tnode*)typ->ref));
+        }
+	else
+          fprintf(fout,"\n\tid = soap_element_id(soap, tag, id, *a, NULL, 0, type, %s);", soap_type((Tnode*)typ->ref));
+	fprintf(fout,"\n\tif (id < 0)\n\t\treturn soap->error;");
+        if (((Tnode *) typ->ref)->type == Tclass && !is_external((Tnode*)typ->ref) && !is_volatile((Tnode*)typ->ref) && !is_typedef((Tnode*)typ->ref))
+	  fprintf(fout,"\n\treturn (*a)->soap_out(soap, tag, id, type);");
+        else
+	  fprintf(fout,"\n\treturn soap_out_%s(soap, tag, id, *a, type);",c_ident((Tnode*)typ->ref));
+      }
+      fprintf(fout,"\n}");
+      break;
+
+    case Tarray:
+      if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 int SOAP_FMAC2 soap_out_%s(struct soap*, const char*, int, %s, const char*);", c_ident(typ),c_type_id(typ, "const")); 
+        return;
+      }
+      fprintf(fhead,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap*, const char*, int, %s, const char*);", c_ident(typ),c_type_id(typ, "const")); 
+      fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap *soap, const char *tag, int id, %s, const char *type)\n{", c_ident(typ),c_type_id(typ, "const a")); 
+      fprintf(fout,"\n\tint i;");
+        fprintf(fout,"\n\tsoap_array_begin_out(soap, tag, soap_embedded_id(soap, id, a, %s), \"%s[%d]\", 0);", soap_type(typ), xsi_type_Tarray(typ), get_dimension(typ));
+      n=(Tnode*)typ->ref;
+      cardinality = 1;
+      while(n->type==Tarray)
+	{
+	  n=(Tnode*)n->ref;
+	  cardinality++;
+	}
+
+      fprintf(fout,"\n\tfor (i = 0; i < %d; i++)\n\t{",get_dimension(typ));
+     if (((Tnode *)typ->ref)->type == Tclass && !is_external((Tnode*)typ->ref) && !is_volatile((Tnode*)typ->ref) && !is_typedef((Tnode*)typ->ref))
+     { if(cardinality>1)
+         fprintf(fout,"\n\t\ta[i].soap_out(soap, \"item\", -1, \"%s\")", xsi_type_u((Tnode*)typ->ref));
+       else fprintf(fout,"\n\t\t(a+i)->soap_out(soap, \"item\", -1, \"%s\")", xsi_type_u((Tnode*)typ->ref));
+     }
+     else
+     { if(((Tnode *)typ->ref)->type != Tarray)
+       { if(((Tnode *)typ->ref)->type == Tpointer)
+	  fprintf(fout,"\n\t\tsoap->position = 1;\n\t\tsoap->positions[0] = i;\n\t\tsoap_out_%s(soap, \"item\", -1, a", c_ident((Tnode*)typ->ref));
+	 else
+	  fprintf(fout,"\n\t\tsoap_out_%s(soap, \"item\", -1, a",c_ident((Tnode*)typ->ref));
+       }
+       else
+         fprintf(fout,"\n\t\tsoap_out_%s(soap, \"item\", -1, a",c_ident((Tnode*)typ->ref));
+       if(cardinality>1)
+         fprintf(fout,"[i], \"%s\")", xsi_type_u((Tnode*)typ->ref));
+       else
+         fprintf(fout,"+i, \"%s\")", xsi_type_u((Tnode*)typ->ref));
+      }
+      if(((Tnode *)typ->ref)->type == Tpointer)
+        fprintf(fout,";\n\t}\n\tsoap->position = 0;\n\treturn soap_element_end_out(soap, tag);\n}");
+      else
+        fprintf(fout,";\n\t}\n\treturn soap_element_end_out(soap, tag);\n}");		
+      break;
+
+    case Tenum:
+      if (is_external(typ))
+      { fprintf(fhead, "\nSOAP_FMAC1 int SOAP_FMAC2 soap_out_%s(struct soap*, const char*, int, const %s, const char*);", c_ident(typ), c_type_id(typ, "*"));
+        return;
+      }
+      fprintf(fhead, "\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap*, const char*, int, const %s, const char*);", c_ident(typ), c_type_id(typ, "*"));
+      if (!is_typedef(typ))
+      { fprintf(fout, "\n\nstatic const struct soap_code_map soap_codes_%s[] =\n{", c_ident(typ));
+        for (t = (Table*)typ->ref; t; t = t->prev)
+        { for (p = t->list; p; p = p->next)
+	    fprintf(fout, "\t{ (long)%s, \"%s\" },\n", ident(p->sym->name), ns_remove2(p->sym->name));
+        }	
+        fprintf(fout, "\t{ 0, NULL }\n");
+        fprintf(fout, "};");
+      }
+      fprintf(fhead, "\n\nSOAP_FMAC3S const char* SOAP_FMAC4S soap_%s2s(struct soap*, %s);", c_ident(typ), c_type(typ));
+      fprintf(fout, "\n\nSOAP_FMAC3S const char* SOAP_FMAC4S soap_%s2s(struct soap *soap, %s)", c_ident(typ), c_type_id(typ, "n"));
+      if (is_typedef(typ))
+        fprintf(fout, "\n{\treturn soap_%s2s(soap, n);\n}", t_ident(typ));
+      else if (is_boolean(typ))
+        fprintf(fout, "\n{\n\t(void)soap; /* appease -Wall -Werror */\nreturn soap_code_str(soap_codes_%s, n!=0);\n}", c_ident(typ));
+      else if (!is_mask(typ))
+      { fprintf(fout, "\n{\tconst char *s = soap_code_str(soap_codes_%s, (long)n);", c_ident(typ));
+        fprintf(fout, "\n\tif (s)\n\t\treturn s;");
+        fprintf(fout, "\n\treturn soap_long2s(soap, (long)n);");
+        fprintf(fout, "\n}");
+      }
+      else
+        fprintf(fout, "\n{\n\treturn soap_code_list(soap, soap_codes_%s, (long)n);\n}", c_ident(typ));
+      fprintf(fout, "\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap *soap, const char *tag, int id, const %s, const char *type)", c_ident(typ), c_type_id(typ, "*a"));
+      fprintf(fout, "\n{\tif (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, %s), type)", soap_type(typ));
+      fprintf(fout, " || soap_send(soap, soap_%s2s(soap, *a)))\n\t\treturn soap->error;", c_ident(typ));
+      fprintf(fout, "\n\treturn soap_element_end_out(soap, tag);\n}");
+      break;
+    case Ttemplate:
+      if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 int SOAP_FMAC2 soap_out_%s(struct soap*, const char*, int, const %s, const char*);", c_ident(typ),c_type_id(typ, "*"));
+        return;
+      }
+      if (is_typedef(typ))
+      { fprintf(fhead, "\n\n#define soap_out_%s soap_out_%s\n", c_ident(typ), t_ident(typ));
+        return;
+      }
+      fprintf(fhead,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap*, const char*, int, const %s, const char*);", c_ident(typ),c_type_id(typ, "*"));
+      n = typ->ref;
+      if (!n)
+        return;
+      fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap *soap, const char *tag, int id, const %s, const char *type)\n{", c_ident(typ),c_type_id(typ, "*a")); 
+
+      fprintf(fout, "\n\tfor (%s::const_iterator i = a->begin(); i != a->end(); ++i)\n\t{", c_type(typ));
+      if (n->type==Tarray)
+	fprintf(fout,"\n\t\tif (soap_out_%s(soap, tag, id, *i, \"%s\"))", c_ident(n), xsi_type_u(typ));
+      else if (n->type==Tclass && !is_external(n) && !is_volatile(n) && !is_typedef(n))
+	fprintf(fout,"\n\t\tif ((*i).soap_out(soap, tag, id, \"%s\"))", xsi_type_u(typ));
+      else if (is_qname(n))
+        fprintf(fout,"\n\t\tconst char *soap_tmp = soap_QName2s(soap, *i);\n\t\tif (soap_out_%s(soap, tag, id, (char*const*)&soap_tmp, \"%s\"))", c_ident(n), xsi_type_u(typ));
+      else if (is_stdqname(n))
+        fprintf(fout,"\n\t\tstd::string soap_tmp(soap_QName2s(soap, (*i).c_str()));\n\t\tif (soap_out_%s(soap, tag, id, &soap_tmp, \"%s\"))", c_ident(n), xsi_type_u(typ));
+      else if (is_XML(n) && is_string(n))
+        fprintf(fout,"\n\t\tif (soap_outliteral(soap, tag, &(*i), NULL))");
+      else if (is_XML(n) && is_wstring(n))
+        fprintf(fout,"\n\t\tif (soap_outwliteral(soap, tag, &(*i), NULL))");
+      else if (n->type == Tenum && (Table*)n->ref == booltable)
+	fprintf(fout,"\n\t\tbool b = (*i);\n\t\tif (soap_out_%s(soap, tag, id, &b, \"%s\"))", c_ident(n), xsi_type_u(typ));
+      else
+	fprintf(fout,"\n\t\tif (soap_out_%s(soap, tag, id, &(*i), \"%s\"))", c_ident(n), xsi_type_u(typ));
+      fprintf(fout, "\n\t\t\treturn soap->error;");
+      fprintf(fout, "\n\t}\n\treturn SOAP_OK;\n}");
+      break;
+    default: break;
+    }
+}	  
+
+void
+soap_out_Darray(Tnode *typ)
+{ int i, j, d = 0;
+  Table *t, *table;
+  Entry *p;
+  char *nse = ns_qualifiedElement(typ);
+  char *nsa = ns_qualifiedAttribute(typ);
+  char *item;
+
+  table=(Table*)typ->ref;
+  fprintf(fhead,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap*, const char*, int, const %s, const char*);", c_ident(typ),c_type_id(typ, "*")); 
+      if (is_external(typ))
+        return;
+  if (typ->type == Tclass && !is_volatile(typ) && !is_typedef(typ))
+  { fprintf(fout,"\n\nint %s::soap_out(struct soap *soap, const char *tag, int id, const char *type) const", c_type(typ)); 
+    fprintf(fout,"\n{\treturn soap_out_%s(soap, tag, id, this, type);\n}", c_ident(typ)); 
+  }
+  fflush(fout);
+  fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_out_%s(struct soap *soap, const char *tag, int id, const %s, const char *type)\n{", c_ident(typ),c_type_id(typ, "*a")); 
+  if (has_setter(typ))
+    fprintf(fout, "\n\t((%s)a)->set(soap);", c_type_id(typ, "*"));
+  if (!is_binary(typ))
+  { d = get_Darraydims(typ);
+    if (d)
+      fprintf(fout,"\n\tint i, n = soap_size(a->__size, %d);", d);
+    else
+      fprintf(fout,"\n\tint i, n = a->__size;");
+  }
+  if (typ->type == Tclass)
+  { for (t = table; t; t = t->prev)
+    {	for (p = t->list; p; p = p->next)
+	{ if (p->info.sto & Sattribute)
+	    soap_set_attr(p, ptr_cast(t, "a"), ident(p->sym->name), ns_add(p, nsa));
+        }
+    }
+  }
+  else
+  { for (t = table; t; t = t->prev)
+    {	for (p = t->list; p; p = p->next)
+	{ if (p->info.sto & Sattribute)
+	    soap_set_attr(p, "a", ident(p->sym->name), ns_add(p, nsa));
+        }
+    }
+  }
+  p = is_dynamic_array(typ);
+  if (p->sym->name[5])
+    item = ns_addx(p->sym->name + 5, nse);
+  else
+    item = ns_addx("item", nse);
+  if (!has_ns(typ) && !is_untyped(typ) && !is_binary(typ))
+  { if (is_untyped(p->info.typ))
+    { if (has_offset(typ))
+        if (d)
+          fprintf(fout,"\n\tchar *t = a->%s ? soap_putsizesoffsets(soap, \"%s\", a->__size, a->__offset, %d) : NULL;", ident(p->sym->name), wsdl_type(p->info.typ, "xsd"), d); 
+        else
+          fprintf(fout,"\n\tchar *t = a->%s ? soap_putsize(soap, \"%s\", n + a->__offset) : NULL;", ident(p->sym->name), wsdl_type(p->info.typ, "xsd"));
+      else if (d)
+	fprintf(fout,"\n\tchar *t = a->%s ? soap_putsizes(soap, \"%s\", a->__size, %d) : NULL;", ident(p->sym->name), wsdl_type(p->info.typ, "xsd"), d);
+      else
+        fprintf(fout,"\n\tchar *t = a->%s ? soap_putsize(soap, \"%s\", n) : NULL;", ident(p->sym->name), wsdl_type(p->info.typ, "xsd"));
+    }
+    else
+    { if (has_offset(typ))
+        if (d)
+          fprintf(fout,"\n\tchar *t = a->%s ? soap_putsizesoffsets(soap, \"%s\", a->__size, a->__offset, %d) : NULL;", ident(p->sym->name), xsi_type(typ), d);
+        else
+          fprintf(fout,"\n\tchar *t = a->%s ? soap_putsize(soap, \"%s\", n + a->__offset) : NULL;", ident(p->sym->name), xsi_type(typ));
+      else if (d)
+        fprintf(fout,"\n\tchar *t = a->%s ? soap_putsizes(soap, \"%s\", a->__size, %d) : NULL;", ident(p->sym->name), xsi_type(typ),d);
+      else
+        fprintf(fout,"\n\tchar *t = a->%s ? soap_putsize(soap, \"%s\", a->__size) : NULL;", ident(p->sym->name), xsi_type(typ));
+    }
+  }
+  if (d)
+    fprintf(fout,"\n\tid = soap_element_id(soap, tag, id, a, (struct soap_array*)&a->%s, %d, type, %s);", ident(p->sym->name), d, soap_type(typ));
+  else if (is_attachment(typ))
+  { fprintf(fout,"\n#ifndef WITH_LEANER\n\tid = soap_attachment(soap, tag, id, a, (struct soap_array*)&a->%s, a->id, a->type, a->options, 1, type, %s);", ident(p->sym->name), soap_type(typ));
+    fprintf(fout,"\n#else\n\tid = soap_element_id(soap, tag, id, a, (struct soap_array*)&a->%s, 1, type, %s);\n#endif", ident(p->sym->name), soap_type(typ));
+  }
+  else
+    fprintf(fout,"\n\tid = soap_element_id(soap, tag, id, a, (struct soap_array*)&a->%s, 1, type, %s);", ident(p->sym->name), soap_type(typ));
+  fprintf(fout,"\n\tif (id < 0)\n\t\treturn soap->error;");
+  fprintf(fout,"\n\tif (");
+  if (has_ns(typ) || is_untyped(typ) || is_binary(typ))
+  { if (table->prev)
+      fprintf(fout,"soap_element_begin_out(soap, tag, id, \"%s\")", xsi_type(typ));
+    else
+      fprintf(fout,"soap_element_begin_out(soap, tag, id, type)");
+  }
+  else if (has_offset(typ))
+  { if (d)
+      fprintf(fout,"soap_array_begin_out(soap, tag, id, t, soap_putoffsets(soap, a->__offset, %d))", d);
+    else
+      fprintf(fout,"soap_array_begin_out(soap, tag, id, t, soap_putoffset(soap, a->__offset))");
+  }
+  else
+    fprintf(fout,"soap_array_begin_out(soap, tag, id, t, NULL)");
+  fprintf(fout, ")\n\t\treturn soap->error;");
+  if (is_binary(typ) && !is_hexBinary(typ))
+    fprintf(fout, "\n\tif (soap_putbase64(soap, a->__ptr, a->__size))\n\t\treturn soap->error;");
+  else if (is_hexBinary(typ))
+    fprintf(fout, "\n\tif (soap_puthex(soap, a->__ptr, a->__size))\n\t\treturn soap->error;");
+  else
+  { fprintf(fout,"\n\tfor (i = 0; i < n; i++)\n\t{");
+    if (!has_ns(typ) && !is_untyped(typ))
+    { if (d)
+      { fprintf(fout,"\n\t\tsoap->position = %d;", d);
+        for (i = 0; i < d; i++)
+	{ fprintf(fout, "\n\t\tsoap->positions[%d] = i", i);
+          for (j = i+1; j < d; j++)
+	    fprintf(fout, "/a->__size[%d]", j);
+	  fprintf(fout, "%%a->__size[%d];", i);
+        }
+        if (is_XML((Tnode*)p->info.typ->ref) && is_string((Tnode*)p->info.typ->ref))
+          fprintf(fout,"\n\t\tsoap_outliteral(soap, \"%s\", &a->%s[i], NULL);", item, ident(p->sym->name));
+        else if (is_XML((Tnode*)p->info.typ->ref) && is_wstring((Tnode*)p->info.typ->ref))
+          fprintf(fout,"\n\t\tsoap_outwliteral(soap, \"%s\", &a->%s[i], NULL);", item, ident(p->sym->name));
+        else if (((Tnode *)p->info.typ->ref)->type == Tclass && !is_external((Tnode*)p->info.typ->ref) && !is_volatile((Tnode*)p->info.typ->ref) && !is_typedef((Tnode*)p->info.typ->ref))
+          fprintf(fout,"\n\t\ta->%s[i].soap_out(soap, \"item\", -1, \"%s\");", ident(p->sym->name), xsi_type_u(((Tnode *)p->info.typ->ref)));
+	else
+	  fprintf(fout, "\n\t\tsoap_out_%s(soap, \"%s\", -1, &a->%s[i], \"%s\");",c_ident(((Tnode *)p->info.typ->ref)), item, ident(p->sym->name), xsi_type_u(((Tnode *)p->info.typ->ref)));
+      }
+      else
+      { fprintf(fout,"\n\t\tsoap->position = 1;\n\t\tsoap->positions[0] = i;");
+        if (is_XML((Tnode*)p->info.typ->ref) && is_string((Tnode*)p->info.typ->ref))
+          fprintf(fout,"\n\t\tsoap_outliteral(soap, \"%s\", &a->%s[i], NULL);", item, ident(p->sym->name));
+        else if (is_XML((Tnode*)p->info.typ->ref) && is_wstring((Tnode*)p->info.typ->ref))
+          fprintf(fout,"\n\t\tsoap_outwliteral(soap, \"%s\", &a->%s[i], NULL);", item, ident(p->sym->name));
+        else if (((Tnode *)p->info.typ->ref)->type == Tclass && !is_external((Tnode*)p->info.typ->ref) && !is_volatile((Tnode*)p->info.typ->ref) && !is_typedef((Tnode*)p->info.typ->ref))
+          fprintf(fout,"\n\t\ta->%s[i].soap_out(soap, \"%s\", -1, \"%s\");", ident(p->sym->name), item, xsi_type_u(((Tnode *)p->info.typ->ref)));
+	else
+          fprintf(fout,"\n\t\tsoap_out_%s(soap, \"%s\", -1, &a->%s[i], \"%s\");",c_ident(((Tnode *)p->info.typ->ref)), item, ident(p->sym->name), xsi_type_u(((Tnode *)p->info.typ->ref)));
+      }
+    }
+    else
+    { if (is_XML((Tnode*)p->info.typ->ref) && is_string((Tnode*)p->info.typ->ref))
+        fprintf(fout,"\n\t\tsoap_outliteral(soap, \"%s\", &a->%s[i], NULL);", item, ident(p->sym->name));
+      else if (is_XML((Tnode*)p->info.typ->ref) && is_wstring((Tnode*)p->info.typ->ref))
+        fprintf(fout,"\n\t\tsoap_outwliteral(soap, \"%s\", &a->%s[i], NULL);", item, ident(p->sym->name));
+      else if (((Tnode *)p->info.typ->ref)->type == Tclass && !is_external((Tnode*)p->info.typ->ref) && !is_volatile((Tnode*)p->info.typ->ref) && !is_typedef((Tnode*)p->info.typ->ref))
+        fprintf(fout,"\n\t\ta->%s[i].soap_out(soap, \"%s\", -1, \"%s\");", ident(p->sym->name), item, xsi_type_u(((Tnode *)p->info.typ->ref)));
+      else
+        fprintf(fout,"\n\t\tsoap_out_%s(soap, \"%s\", -1, &a->%s[i], \"%s\");",c_ident(((Tnode *)p->info.typ->ref)), item, ident(p->sym->name), xsi_type_u(((Tnode *)p->info.typ->ref)));
+    }
+  }
+  if (is_binary(typ))
+    fprintf(fout,"\n\treturn soap_element_end_out(soap, tag);\n}");
+  else if (!has_ns(typ) && !is_untyped(typ))
+    fprintf(fout,"\n\t}\n\tsoap->position = 0;\n\treturn soap_element_end_out(soap, tag);\n}");
+  else
+    fprintf(fout,"\n\t}\n\treturn soap_element_end_out(soap, tag);\n}");
+}
+
+void
+soap_get(Tnode *typ)
+{
+  Tnode *temp;
+  
+  if (typ->type == Ttemplate || typ->type == Tunion)
+    return;
+
+  if (is_typedef(typ) && is_element(typ))
+  { fprintf(fhead, "\n\n#define soap_get_%s soap_get_%s\n", c_ident(typ), t_ident(typ));
+    return;
+  }
+
+  if(typ->type==Tarray)
+  {
+      /* ARRAY */
+      temp = typ;
+      while(temp->type == Tarray){
+	temp = (Tnode*)temp->ref;
+      }
+      fprintf(fhead,"\nSOAP_FMAC3 %s * SOAP_FMAC4 soap_get_%s(struct soap*, %s, const char*, const char*);", c_type(temp),c_ident(typ),c_type(typ));
+      fprintf(fout,"\n\nSOAP_FMAC3 %s * SOAP_FMAC4 soap_get_%s(struct soap *soap, %s, const char *tag, const char *type)", c_type(temp),c_ident(typ),c_type_id(typ, "a"));
+      fprintf(fout,"\n{\t%s;",c_type_id(temp, "(*p)"));
+      fprintf(fout,"\n\tif ((p = soap_in_%s(soap, tag, a, type)))", c_ident(typ));
+  }
+  else if (typ->type==Tclass && !is_external(typ) && !is_volatile(typ) && !is_typedef(typ))
+  {
+      /* CLASS  */
+      fprintf(fout,"\n\nvoid *%s::soap_get(struct soap *soap, const char *tag, const char *type)", c_type(typ));
+      fprintf(fout,"\n{\n\treturn soap_get_%s(soap, this, tag, type);\n}", c_ident(typ));
+      fprintf(fhead,"\nSOAP_FMAC3 %s SOAP_FMAC4 soap_get_%s(struct soap*, %s, const char*, const char*);", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*"));
+      fprintf(fout,"\n\nSOAP_FMAC3 %s SOAP_FMAC4 soap_get_%s(struct soap *soap, %s, const char *tag, const char *type)\n{", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*p"));
+      fprintf(fout,"\n\tif ((p = soap_in_%s(soap, tag, p, type)))", c_ident(typ));
+  }
+  else 
+  {
+      fprintf(fhead,"\nSOAP_FMAC3 %s SOAP_FMAC4 soap_get_%s(struct soap*, %s, const char*, const char*);", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*"));
+      fprintf(fout,"\n\nSOAP_FMAC3 %s SOAP_FMAC4 soap_get_%s(struct soap *soap, %s, const char *tag, const char *type)\n{", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*p"));
+      fprintf(fout,"\n\tif ((p = soap_in_%s(soap, tag, p, type)))", c_ident(typ));
+  }
+  fprintf(fout,"\n\t\tif (soap_getindependent(soap))\n\t\t\treturn NULL;");
+  fprintf(fout,"\n\treturn p;\n}");
+#if 0
+  /* some compilers cannot handle this inlined function */
+  if (typ->type != Treference)
+    fprintf(fhead, "\n\ninline int soap_read_%s(struct soap *soap, %s) { if (soap_begin_recv(soap) || !soap_get_%s(soap, p, NULL, NULL) || soap_end_recv(soap)) return soap->error; return SOAP_OK; }\n", c_ident(typ), c_type_id(typ, "*p"), c_ident(typ));
+#endif
+  if (typ->type != Treference)
+  { if (((!is_external(typ) && !is_volatile(typ)) || Qflag) && namespaceid)
+      fprintf(fhead, "\n\n#ifndef soap_read_%s\n#define soap_read_%s(soap, data) ( soap_begin_recv(soap) || !%s::soap_get_%s(soap, data, NULL, NULL) || soap_end_recv(soap), (soap)->error )\n#endif\n", c_ident(typ), c_ident(typ), namespaceid, c_ident(typ));
+    else
+      fprintf(fhead, "\n\n#ifndef soap_read_%s\n#define soap_read_%s(soap, data) ( soap_begin_recv(soap) || !soap_get_%s(soap, data, NULL, NULL) || soap_end_recv(soap), (soap)->error )\n#endif\n", c_ident(typ), c_ident(typ), c_ident(typ));
+  }
+  fflush(fout);
+}
+
+void
+soap_in(Tnode *typ)
+{ Entry *p = NULL;
+  Table *table, *t;
+  int total, a, f, cardinality, i, j;
+  long min, max;
+  Tnode *n, *temp;
+  char *nse = ns_qualifiedElement(typ);
+  char *nsa = ns_qualifiedAttribute(typ);
+
+  if (is_dynamic_array(typ))
+  { soap_in_Darray(typ);
+    return;
+  }
+
+  if (is_external(typ))
+    fprintf(fhead,"\n\nSOAP_FMAC3S int SOAP_FMAC4S soap_s2%s(struct soap*, const char*, %s);",c_ident(typ),c_type_id(typ, "*"));  
+
+  if (is_typedef(typ) && is_element(typ) && !is_external(typ))
+  { fprintf(fhead, "\n\n#define soap_in_%s soap_in_%s\n", c_ident(typ), t_ident(typ));
+    return;
+  }
+
+  if (is_primitive_or_string(typ) && typ->type != Tenum)
+  {
+      if (is_stdqname(typ))
+      { fprintf(fhead,"\nSOAP_FMAC3 std::string * SOAP_FMAC4 soap_in_%s(struct soap*, const char*, std::string*, const char*);", c_ident(typ));
+        fprintf(fout,"\n\nSOAP_FMAC1 std::string * SOAP_FMAC2 soap_in_%s(struct soap *soap, const char *tag, std::string *s, const char *type)\n{\n\tif (soap_element_begin_in(soap, tag, 1, type))\n\t\treturn NULL;\n\tif (!s)\n\t\ts = soap_new_std__string(soap, -1);\n\tif (soap->null)\n\t\tif (s)\n\t\t\ts->erase();", c_ident(typ));
+        fprintf(fout,"\n\tif (soap->body && !*soap->href)\n\t{\tchar *t;\n\t\ts = (std::string*)soap_class_id_enter(soap, soap->id, s, %s, sizeof(std::string), soap->type, soap->arrayType);\n\t\tif (s)\n\t\t{\tif (!(t = soap_string_in(soap, 2, %ld, %ld)))\n\t\t\t\treturn NULL;\n\t\t\ts->assign(t);\n\t\t}\n\t}\n\telse\n\t\ts = (std::string*)soap_id_forward(soap, soap->href, soap_class_id_enter(soap, soap->id, s, %s, sizeof(std::string), soap->type, soap->arrayType), 0, %s, 0, sizeof(std::string), 0, soap_copy_%s);\n\tif (soap->body && soap_element_end_in(soap, tag))\n\t\treturn NULL;\n\treturn s;\n}", soap_type(typ), minlen(typ), maxlen(typ), soap_type(typ), soap_type(typ), c_ident(typ));
+        return;
+      }
+      if (is_stdstring(typ))
+      { if (is_external(typ))
+        { fprintf(fhead,"\nSOAP_FMAC1 std::string * SOAP_FMAC2 soap_in_%s(struct soap*, const char*, std::string*, const char*);", c_ident(typ));
+	  return;
+	}
+        fprintf(fhead,"\nSOAP_FMAC3 std::string * SOAP_FMAC4 soap_in_%s(struct soap*, const char*, std::string*, const char*);", c_ident(typ));
+	if (is_stdXML(typ))
+          fprintf(fout,"\n\nSOAP_FMAC3 std::string * SOAP_FMAC4 soap_in_%s(struct soap *soap, const char *tag, std::string *s, const char *type)\n{\n\tchar *t;\n\t(void)type; /* appease -Wall -Werror */\n\tif (soap_inliteral(soap, tag, &t))\n\t{\tif (!s)\n\t\t\ts = soap_new_std__string(soap, -1);\n\t\ts->assign(t);\n\t\treturn s;\n\t}\n\treturn NULL;\n}", c_ident(typ));
+	else
+        { fprintf(fout,"\n\nSOAP_FMAC3 std::string * SOAP_FMAC4 soap_in_%s(struct soap *soap, const char *tag, std::string *s, const char *type)\n{\n\t(void)type; /* appease -Wall -Werror */\n\tif (soap_element_begin_in(soap, tag, 1, NULL))\n\t\treturn NULL;\n\tif (!s)\n\t\ts = soap_new_std__string(soap, -1);\n\tif (soap->null)\n\t\tif (s)\n\t\t\ts->erase();", c_ident(typ));
+          fprintf(fout,"\n\tif (soap->body && !*soap->href)\n\t{\tchar *t;\n\t\ts = (std::string*)soap_class_id_enter(soap, soap->id, s, %s, sizeof(std::string), soap->type, soap->arrayType);\n\t\tif (s)\n\t\t{\tif (!(t = soap_string_in(soap, 1, %ld, %ld)))\n\t\t\t\treturn NULL;\n\t\t\ts->assign(t);\n\t\t}\n\t}\n\telse\n\t\ts = (std::string*)soap_id_forward(soap, soap->href, soap_class_id_enter(soap, soap->id, s, %s, sizeof(std::string), soap->type, soap->arrayType), 0, %s, 0, sizeof(std::string), 0, soap_copy_%s);\n\tif (soap->body && soap_element_end_in(soap, tag))\n\t\treturn NULL;\n\treturn s;\n}", soap_type(typ), minlen(typ), maxlen(typ), soap_type(typ), soap_type(typ), c_ident(typ));
+	}
+        return;
+      }
+      if (is_stdwstring(typ))
+      { if (is_external(typ))
+        { fprintf(fhead,"\nSOAP_FMAC3 std::wstring * SOAP_FMAC4 soap_in_%s(struct soap*, const char*, std::wstring*, const char*);", c_ident(typ));
+	  return;
+	}
+	if (is_stdXML(typ))
+          fprintf(fout,"\n\nSOAP_FMAC3 std::wstring * SOAP_FMAC4 soap_in_%s(struct soap *soap, const char *tag, std::wstring *s, const char *type)\n{\n\twchar_t *t;\n\t(void)type; /* appease -Wall -Werror */\n\tif (soap_inwliteral(soap, tag, &t))\n\t{\tif (!s)\n\t\t\ts = soap_new_std__wstring(soap, -1);\n\t\ts->assign(t);\n\t\treturn s;\n\t}\n\treturn NULL;\n}", c_ident(typ));
+	else
+        { fprintf(fhead,"\nSOAP_FMAC3 std::wstring * SOAP_FMAC4 soap_in_%s(struct soap*, const char*, std::wstring*, const char*);", c_ident(typ));
+          fprintf(fout,"\n\nSOAP_FMAC3 std::wstring * SOAP_FMAC4 soap_in_%s(struct soap *soap, const char *tag, std::wstring *s, const char *type)\n{\n\t(void)type; /* appease -Wall -Werror */\n\tif (soap_element_begin_in(soap, tag, 1, NULL))\n\t\treturn NULL;\n\tif (!s)\n\t\ts = soap_new_std__wstring(soap, -1);\n\tif (soap->null)\n\t\tif (s)\n\t\t\ts->erase();", c_ident(typ));
+          fprintf(fout,"\n\tif (soap->body && !*soap->href)\n\t{\twchar_t *t;\n\t\ts = (std::wstring*)soap_class_id_enter(soap, soap->id, s, %s, sizeof(std::wstring), soap->type, soap->arrayType);\n\t\tif (s)\n\t\t{\tif (!(t = soap_wstring_in(soap, 1, %ld, %ld)))\n\t\t\t\treturn NULL;\n\t\t\ts->assign(t);\n\t\t}\n\t}\n\telse\n\t\ts = (std::wstring*)soap_id_forward(soap, soap->href, soap_class_id_enter(soap, soap->id, s, %s, sizeof(std::wstring), soap->type, soap->arrayType), 0, %s, 0, sizeof(std::wstring), 0, soap_copy_%s);\n\tif (soap->body && soap_element_end_in(soap, tag))\n\t\treturn NULL;\n\treturn s;\n}", soap_type(typ), minlen(typ), maxlen(typ), soap_type(typ), soap_type(typ), c_ident(typ));
+	}
+        return;
+      }
+    if (is_external(typ))
+    { fprintf(fhead,"\nSOAP_FMAC1 %s * SOAP_FMAC2 soap_in_%s(struct soap*, const char*, %s, const char*);", c_type(typ), c_ident(typ),c_type_id(typ, "*")); 
+      return;
+    }
+    fprintf(fhead,"\nSOAP_FMAC3 %s * SOAP_FMAC4 soap_in_%s(struct soap*, const char*, %s, const char*);", c_type(typ), c_ident(typ),c_type_id(typ, "*")); 
+    fprintf(fout,"\n\nSOAP_FMAC3 %s * SOAP_FMAC4 soap_in_%s(struct soap *soap, const char *tag, %s, const char *type)\n{\t%s;", c_type(typ), c_ident(typ), c_type_id(typ, "*a"), c_type_id(typ, "*p")); 
+    if (is_wstring(typ))
+      fprintf(fout,"\n\tp = soap_inwstring(soap, tag, a, type, %s, %ld, %ld);", soap_type(typ), minlen(typ), maxlen(typ));
+    else if (is_string(typ))
+      fprintf(fout,"\n\tp = soap_instring(soap, tag, a, type, %s, %d, %ld, %ld);", soap_type(typ), is_qname(typ)+1, minlen(typ), maxlen(typ));
+    else
+    { if (typ->type == Tllong || typ->type == Tullong)
+        fprintf(fout,"\n\tp = soap_in%s(soap, tag, a, type, %s);", c_type(typ), soap_type(typ));
+      else
+        fprintf(fout,"\n\tp = soap_in%s(soap, tag, a, type, %s);", the_type(typ), soap_type(typ));
+      if (typ->type <= Tenum)
+      { if (typ->minLength != MINLONG64 && (typ->minLength > 0 || typ->type < Tuchar || typ->type > Tullong))
+          fprintf(fout,"\n\tif (p && *p < " SOAP_LONG_FORMAT ")\n\t{\tsoap->error = SOAP_LENGTH;\n\t\treturn NULL;\n\t}", typ->minLength);
+        if (typ->maxLength != MAXLONG64)
+          fprintf(fout,"\n\tif (p && *p > " SOAP_LONG_FORMAT ")\n\t{\tsoap->error = SOAP_LENGTH;\n\t\treturn NULL;\n\t}", typ->maxLength);
+      }
+    }
+    fprintf(fout,"\n\treturn p;\n}");
+    fflush(fout);
+    return;
+  }
+  if (is_fixedstring(typ))
+  { fprintf(fhead,"\nSOAP_FMAC3 char* SOAP_FMAC4 soap_in_%s(struct soap*, const char*, char[], const char*);", c_ident(typ)); 
+    fprintf(fout,"\n\nSOAP_FMAC3 char* SOAP_FMAC4 soap_in_%s(struct soap *soap, const char *tag, char a[], const char *type)\n{\tchar *p;\n\tif (soap_instring(soap, tag, &p, type, %s, 1, 0, %d))\n\t\treturn strcpy(a, p);\n\treturn NULL;\n}", c_ident(typ), soap_type(typ), typ->width / ((Tnode*)typ->ref)->width - 1);
+    return;
+  }
+  switch(typ->type)
+  { case Tstruct:
+      if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 %s SOAP_FMAC2 soap_in_%s(struct soap*, const char*, %s, const char*);", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*"));
+        return;
+      }
+      fprintf(fhead,"\nSOAP_FMAC3 %s SOAP_FMAC4 soap_in_%s(struct soap*, const char*, %s, const char*);", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*"));
+      fprintf(fout,"\n\nSOAP_FMAC3 %s SOAP_FMAC4 soap_in_%s(struct soap *soap, const char *tag, %s, const char *type)\n{", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*a"));
+      table = (Table *)typ->ref;
+      if (is_primclass(typ))
+      { fprintf(fout, "\n\t(void)type; /* appease -Wall -Werror */\n\tif (soap_element_begin_in(soap, tag, 1, NULL))\n\t\treturn NULL;");
+	if (!cflag || has_class(typ))
+          fprintf(fout,"\n\tif (!(a = (%s)soap_class_id_enter(soap, soap->id, a, %s, sizeof(%s), soap->type, soap->arrayType)))\n\t\treturn NULL;", c_type_id(typ, "*"), soap_type(typ), c_type(typ));
+	else
+          fprintf(fout,"\n\tif (!(a = (%s)soap_id_enter(soap, soap->id, a, %s, sizeof(%s), 0, NULL, NULL, NULL)))\n\t\treturn NULL;", c_type_id(typ, "*"), soap_type(typ), c_type(typ));
+        fprintf(fout,"\n\tsoap_revert(soap);\n\t*soap->id = '\\0';");
+	/* fprintf(fout,"\n\tif (soap->alloced)"); */
+        fprintf(fout,"\n\tsoap_default_%s(soap, a);",c_ident(typ));
+          for (t = (Table*)typ->ref; t; t = t->prev)
+          { for (p = t->list; p; p = p->next) 
+	      if (p->info.sto & Sattribute)
+		soap_attr_value(p, "a", ident(p->sym->name), ns_add(p, nsa));
+	  }
+      fflush(fout);
+	for (table = (Table*)typ->ref; table; table = table->prev)
+	{ p = table->list;
+	  if (p && is_item(p))
+	    break;
+        }
+	    if (is_XML(p->info.typ) && is_string(p->info.typ))
+	    { fprintf(fout,"\n\tif (!soap_inliteral(soap, tag, &a->%s))", ident(p->sym->name));
+	    }
+	    else if (is_XML(p->info.typ) && is_wstring(p->info.typ))
+	    { fprintf(fout,"\n\tif (!soap_inwliteral(soap, tag, &a->%s))", ident(p->sym->name));
+	    }
+	    else if(p->info.typ->type==Tarray) {
+	      fprintf(fout,"\n\tif (!soap_in_%s(soap, tag, a->%s, \"%s\"))", c_ident(p->info.typ), ident(p->sym->name), xsi_type(typ));
+	    }
+	    else if(p->info.typ->type==Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ)) {
+	      fprintf(fout,"\n\tif (!a->%s.soap_in(soap, tag, \"%s\"))", ident(p->sym->name), xsi_type(typ));
+	    }
+	    else if (p->info.typ->type != Tfun && !is_void(p->info.typ)) {
+	      fprintf(fout,"\n\tif (!soap_in_%s(soap, tag, &a->%s, \"%s\"))", c_ident(p->info.typ), ident(p->sym->name), xsi_type(typ));
+	    }
+           fprintf(fout,"\n\t\treturn NULL;");
+           fprintf(fout, "\n\treturn a;\n}");
+      }
+      else
+      { table = (Table*)typ->ref;
+	if (!is_discriminant(typ))
+        { for (t = table; t; t = t->prev)
+	  { for (p = t->list; p; p = p->next)
+	    { if (!(p->info.sto & (Sconst | Sprivate | Sprotected)) && !(p->info.sto & Sattribute) && p->info.typ->type != Tfun && !is_void(p->info.typ) && !is_transient(p->info.typ) && !is_template(p->info.typ))
+	      { if (is_anytype(p) || is_choice(p))
+	          p = p->next;
+		if (is_repetition(p))
+	        { fprintf(fout,"\n\tstruct soap_blist *soap_blist_%s = NULL;", ident(p->next->sym->name));
+		  p = p->next;
+		}
+		else
+	          fprintf(fout,"\n\tsize_t soap_flag_%s = " SOAP_LONG_FORMAT ";", ident(p->sym->name), p->info.maxOccurs);
+	      }
+	    }
+	  }
+	}
+          if (!is_invisible(typ->id->name))
+          { fprintf(fout,"\n\tif (soap_element_begin_in(soap, tag, 0, type))\n\t\treturn NULL;");
+	  }
+	  else if (!is_discriminant(typ))
+          { if (table && (table->prev || table->list))
+	      fprintf(fout,"\n\tshort soap_flag;");
+	  }
+	  if (has_class(typ))
+	  { if (is_invisible(typ->id->name))
+              fprintf(fout,"\n\ta = (%s)soap_class_id_enter(soap, \"\", a, %s, sizeof(%s), soap->type, soap->arrayType);",c_type_id(typ, "*"), soap_type(typ), c_type(typ));
+	    else
+              fprintf(fout,"\n\ta = (%s)soap_class_id_enter(soap, soap->id, a, %s, sizeof(%s), soap->type, soap->arrayType);",c_type_id(typ, "*"), soap_type(typ), c_type(typ));
+	  }
+	  else if (is_invisible(typ->id->name))
+            fprintf(fout,"\n\ta = (%s)soap_id_enter(soap, \"\", a, %s, sizeof(%s), 0, NULL, NULL, NULL);",c_type_id(typ, "*"), soap_type(typ), c_type(typ));
+	  else
+            fprintf(fout,"\n\ta = (%s)soap_id_enter(soap, soap->id, a, %s, sizeof(%s), 0, NULL, NULL, NULL);",c_type_id(typ, "*"), soap_type(typ), c_type(typ));
+	  fprintf(fout,"\n\tif (!a)\n\t\treturn NULL;");
+          /* fprintf(fout,"\n\tif (soap->alloced)"); */
+          fprintf(fout,"\n\tsoap_default_%s(soap, a);",c_ident(typ));
+          for (t = table; t; t = t->prev)
+          { for (p = t->list; p; p = p->next) 
+	      if (p->info.sto & Sattribute)
+		soap_attr_value(p, "a", ident(p->sym->name), ns_add(p, nsa));
+	  }
+        if (!is_invisible(typ->id->name))
+	{ if (!is_discriminant(typ))
+	  { fprintf(fout,"\n\tif (soap->body && !*soap->href)\n\t{");
+            fprintf(fout,"\n\t\tfor (;;)\n\t\t{\tsoap->error = SOAP_TAG_MISMATCH;");
+	  }
+	  else
+	    fprintf(fout,"\n\tif (!tag || *tag == '-' || (soap->body && !*soap->href))\n\t{");
+	}
+	else if (!is_discriminant(typ))
+        { if (table->prev || table->list)
+            fprintf(fout,"\n\t\tfor (soap_flag = 0;; soap_flag = 1)\n\t\t{\tsoap->error = SOAP_TAG_MISMATCH;");
+	}
+        a=0;
+	f=0;
+        for (t = table; t; t = t->prev)
+	{ for (p = t->list; p; p = p->next) 
+	  { if (p->info.sto & (Sconst | Sprivate | Sprotected))
+	      fprintf(fout, "\n\t\t/* non-serializable %s skipped */", ident(p->sym->name));
+	    else if (is_transient(p->info.typ))
+	      fprintf(fout, "\n\t\t/* transient %s skipped */", ident(p->sym->name));
+	    else if (p->info.sto & Sattribute)
+	      ;
+	    else if (is_repetition(p))
+	    { if (is_unmatched(p->next->sym) || is_invisible(p->next->sym->name))
+	      { p = p->next;
+	        continue;
+	      }
+	      f=1;
+              fprintf(fout,"\n\t\t\tif (soap->error == SOAP_TAG_MISMATCH && ");
+              fprintf(fout,"!soap_element_begin_in(soap, %s, 1, NULL))", field(p->next, nse));
+              fprintf(fout,"\n\t\t\t{\tif (a->%s == NULL)\n\t\t\t\t{\tif (soap_blist_%s == NULL)\n\t\t\t\t\t\tsoap_blist_%s = soap_new_block(soap);\n\t\t\t\t\ta->%s = (%s)soap_push_block(soap, soap_blist_%s, sizeof(%s));\n\t\t\t\t\tif (a->%s == NULL)\n\t\t\t\t\t\treturn NULL;", ident(p->next->sym->name), ident(p->next->sym->name), ident(p->next->sym->name), ident(p->next->sym->name), c_type(p->next->info.typ), ident(p->next->sym->name), c_type((Tnode*)p->next->info.typ->ref), ident(p->next->sym->name));
+              if (((Tnode*)p->next->info.typ->ref)->type == Tclass || has_class((Tnode*)p->next->info.typ->ref) || (!cflag && ((Tnode*)p->next->info.typ->ref)->type == Tstruct))
+                fprintf(fout,"\n\t\t\t\t\tSOAP_PLACEMENT_NEW(a->%s, %s);", ident(p->next->sym->name), c_type((Tnode*)p->next->info.typ->ref));
+              if (((Tnode*)p->next->info.typ->ref)->type == Tclass && !is_external((Tnode*)p->next->info.typ->ref) && !is_volatile((Tnode*)p->next->info.typ->ref) && !is_typedef((Tnode*)p->next->info.typ->ref))
+                fprintf(fout,"\n\t\t\t\t\ta->%s->soap_default(soap);", ident(p->next->sym->name));
+              else if (((Tnode*)p->next->info.typ->ref)->type != Tpointer  && !is_XML((Tnode*)p->next->info.typ->ref))
+                fprintf(fout,"\n\t\t\t\t\tsoap_default_%s(soap, a->%s);", c_ident((Tnode*)p->next->info.typ->ref), ident(p->next->sym->name));
+              else
+                fprintf(fout,"\n\t\t\t\t\t*a->%s = NULL;", ident(p->next->sym->name));
+              fprintf(fout,"\n\t\t\t\t}");
+              fprintf(fout,"\n\t\t\t\tsoap_revert(soap);");
+	      if (is_XML((Tnode*)p->next->info.typ->ref) && is_string((Tnode*)p->next->info.typ->ref))
+                fprintf(fout,"\n\t\t\t\tif (soap_inliteral(soap, %s, a->%s))", field(p->next, nse), ident(p->next->sym->name));
+              else if (is_XML((Tnode*)p->next->info.typ->ref) && is_wstring((Tnode*)p->next->info.typ->ref))
+                fprintf(fout,"\n\t\t\t\tif (soap_inwliteral(soap, %s, a->%s))", field(p->next, nse), ident(p->next->sym->name));
+              else
+                fprintf(fout,"\n\t\t\t\tif (soap_in_%s(soap, %s, a->%s, \"%s\"))", c_ident((Tnode*)p->next->info.typ->ref), field(p->next, nse), ident(p->next->sym->name), xsi_type((Tnode*)p->next->info.typ->ref));
+              fprintf(fout,"\n\t\t\t\t{\ta->%s++;\n\t\t\t\t\ta->%s = NULL;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}", ident(p->sym->name), ident(p->next->sym->name));
+            p = p->next;
+	  }
+	  else if (is_anytype(p))
+	  { f=1;
+            fprintf(fout,"\n\t\t\tif (soap_flag_%s && soap->error == SOAP_TAG_MISMATCH)", ident(p->next->sym->name));
+	    fprintf(fout,"\n\t\t\t\tif ((a->%s = soap_getelement(soap, &a->%s)))", ident(p->next->sym->name), ident(p->sym->name));
+	    fprintf(fout,"\n\t\t\t\t{\tsoap_flag_%s = 0;", ident(p->next->sym->name));
+	    fprintf(fout,"\n\t\t\t\t\tcontinue;");
+	    fprintf(fout,"\n\t\t\t\t}");
+            p = p->next;
+	  }
+          else if (is_discriminant(typ) && p->next)
+	  { f=1;
+            fprintf(fout,"\n\t\tif (!soap_in_%s(soap, &a->%s, &a->%s))", c_ident(p->next->info.typ), ident(p->sym->name), ident(p->next->sym->name));
+            fprintf(fout,"\n\t\t\treturn NULL;");
+            break;
+	  }
+	  else if (is_choice(p))
+	  { f=1;
+	    fprintf(fout,"\n\t\t\tif (soap_flag_%s && soap->error == SOAP_TAG_MISMATCH)", ident(p->next->sym->name));
+	    fprintf(fout,"\n\t\t\t\tif (soap_in_%s(soap, &a->%s, &a->%s))", c_ident(p->next->info.typ), ident(p->sym->name), ident(p->next->sym->name));
+	    fprintf(fout,"\n\t\t\t\t{\tsoap_flag_%s = 0;", ident(p->next->sym->name));
+	    fprintf(fout,"\n\t\t\t\t\tcontinue;");
+	    fprintf(fout,"\n\t\t\t\t}");
+            p = p->next;
+	  }
+	  else
+	  { f=1;
+	   if (!is_invisible(p->sym->name) && !is_primclass(typ) && p->info.typ->type != Tfun && !is_void(p->info.typ))
+	   { if (is_string(p->info.typ) || is_wstring(p->info.typ) || is_stdstr(p->info.typ))
+	       fprintf(fout,"\n\t\t\tif (soap_flag_%s && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))", ident(p->sym->name));
+	     else if (is_template(p->info.typ))
+	       fprintf(fout,"\n\t\t\tif (soap->error == SOAP_TAG_MISMATCH)");
+             else
+	       fprintf(fout,"\n\t\t\tif (soap_flag_%s && soap->error == SOAP_TAG_MISMATCH)", ident(p->sym->name));
+	   }
+	   if (is_unmatched(p->sym))
+	   {
+	    if (is_XML(p->info.typ) && is_string(p->info.typ)) {
+	      fprintf(fout,"\n\t\t\t\tif (soap_inliteral(soap, NULL, &a->%s))", ident(p->sym->name));
+	    } else if (is_XML(p->info.typ) && is_wstring(p->info.typ)) {
+	      fprintf(fout,"\n\t\t\t\tif (soap_inwliteral(soap, NULL, &a->%s))", ident(p->sym->name));
+	    } else if(p->info.typ->type==Tarray) {
+	      fprintf(fout,"\n\t\t\t\tif (soap_in_%s(soap, NULL, a->%s, \"%s\"))", c_ident(p->info.typ), ident(p->sym->name), xsi_type(p->info.typ));
+	    } else if(p->info.typ->type==Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ)) {
+	      fprintf(fout,"\n\t\t\t\tif (a->%s.soap_in(soap, NULL, \"%s\"))", ident(p->sym->name), xsi_type(p->info.typ));
+	    } else if (p->info.typ->type != Tfun && !is_void(p->info.typ)) {
+	      fprintf(fout,"\n\t\t\t\tif (soap_in_%s(soap, NULL, &a->%s, \"%s\"))", c_ident(p->info.typ), ident(p->sym->name), xsi_type(p->info.typ));
+	    }
+	   }
+	   else if (!is_invisible(p->sym->name))
+	   {
+	    if (is_XML(p->info.typ) && is_string(p->info.typ)) {
+	      fprintf(fout,"\n\t\t\t\tif (soap_inliteral(soap, %s, &a->%s))", field(p, nse), ident(p->sym->name));
+	    } else if (is_XML(p->info.typ) && is_wstring(p->info.typ)) {
+	      fprintf(fout,"\n\t\t\t\tif (soap_inwliteral(soap, %s, &a->%s))", field(p, nse), ident(p->sym->name));
+	    } else if(p->info.typ->type==Tarray) {
+	      fprintf(fout,"\n\t\t\t\tif (soap_in_%s(soap, %s, a->%s, \"%s\"))", c_ident(p->info.typ), field(p, nse), ident(p->sym->name), xsi_type(p->info.typ));
+	    } else if(p->info.typ->type==Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ)) {
+	      fprintf(fout,"\n\t\t\t\tif (a->%s.soap_in(soap, %s, \"%s\"))", ident(p->sym->name), field(p, nse),xsi_type(p->info.typ));
+	    } else if (p->info.typ->type != Tfun && !is_void(p->info.typ)) {
+	      fprintf(fout,"\n\t\t\t\tif (soap_in_%s(soap, %s, &a->%s, \"%s\"))", c_ident(p->info.typ), field(p, nse), ident(p->sym->name), xsi_type(p->info.typ));
+	    }
+	   }
+	    if (!is_invisible(p->sym->name) && !is_primclass(typ) && p->info.typ->type != Tfun && !is_void(p->info.typ))
+	    { if (is_template(p->info.typ))
+	        fprintf(fout,"\n\t\t\t\t\tcontinue;");
+	      else
+	      { fprintf(fout,"\n\t\t\t\t{\tsoap_flag_%s--;", ident(p->sym->name));
+	        fprintf(fout,"\n\t\t\t\t\tcontinue;");
+	        fprintf(fout,"\n\t\t\t\t}");
+	      }
+	    }
+	  }
+	  fflush(fout);
+	}
+      }
+      if (!is_discriminant(typ))
+      { for (t = table; t; t = t->prev)
+	{ for (p = t->list; p; p = p->next) 
+	  { if (is_repetition(p) && (is_unmatched(p->next->sym) || (is_invisible(p->next->sym->name))))
+	    { f=1;
+	      fprintf(fout,"\n\t\t\tif (soap->error == SOAP_TAG_MISMATCH && ");
+	      if (is_unmatched(p->next->sym))
+                fprintf(fout,"!soap_element_begin_in(soap, NULL, 1, NULL))");
+	      else if (is_invisible(p->next->sym->name))
+                fprintf(fout,"!soap_peek_element(soap))");
+              fprintf(fout,"\n\t\t\t{\tif (a->%s == NULL)\n\t\t\t\t{\tif (soap_blist_%s == NULL)\n\t\t\t\t\t\tsoap_blist_%s = soap_new_block(soap);\n\t\t\t\t\ta->%s = (%s)soap_push_block(soap, soap_blist_%s, sizeof(%s));\n\t\t\t\t\tif (a->%s == NULL)\n\t\t\t\t\t\treturn NULL;", ident(p->next->sym->name), ident(p->next->sym->name), ident(p->next->sym->name), ident(p->next->sym->name), c_type(p->next->info.typ), ident(p->next->sym->name), c_type((Tnode*)p->next->info.typ->ref), ident(p->next->sym->name));
+              if (((Tnode*)p->next->info.typ->ref)->type == Tclass || has_class((Tnode*)p->next->info.typ->ref) || (!cflag && ((Tnode*)p->next->info.typ->ref)->type == Tstruct))
+                fprintf(fout,"\n\t\t\t\t\tSOAP_PLACEMENT_NEW(a->%s, %s);", ident(p->next->sym->name), c_type((Tnode*)p->next->info.typ->ref));
+              if (((Tnode*)p->next->info.typ->ref)->type == Tclass && !is_external((Tnode*)p->next->info.typ->ref) && !is_volatile((Tnode*)p->next->info.typ->ref) && !is_typedef((Tnode*)p->next->info.typ->ref))
+                fprintf(fout,"\n\t\t\t\t\ta->%s->soap_default(soap);", ident(p->next->sym->name));
+              else if (((Tnode*)p->next->info.typ->ref)->type != Tpointer  && !is_XML((Tnode*)p->next->info.typ->ref))
+                fprintf(fout,"\n\t\t\t\t\tsoap_default_%s(soap, a->%s);", c_ident((Tnode*)p->next->info.typ->ref), ident(p->next->sym->name));
+              else
+                fprintf(fout,"\n\t\t\t\t\t*a->%s = NULL;", ident(p->next->sym->name));
+              fprintf(fout,"\n\t\t\t\t}");
+	      if (!is_invisible(p->next->sym->name))
+                fprintf(fout,"\n\t\t\t\tsoap_revert(soap);");
+	      if (is_unmatched(p->next->sym))
+	      { if (is_XML((Tnode*)p->next->info.typ->ref) && is_string((Tnode*)p->next->info.typ->ref))
+                  fprintf(fout,"\n\t\t\t\tif (soap_inliteral(soap, NULL, a->%s))", ident(p->next->sym->name));
+                else if (is_XML((Tnode*)p->next->info.typ->ref) && is_wstring((Tnode*)p->next->info.typ->ref))
+                  fprintf(fout,"\n\t\t\t\tif (soap_inwliteral(soap, NULL, a->%s))", ident(p->next->sym->name));
+                else
+                  fprintf(fout,"\n\t\t\t\tif (soap_in_%s(soap, NULL, a->%s, \"%s\"))", c_ident((Tnode*)p->next->info.typ->ref), ident(p->next->sym->name), xsi_type((Tnode*)p->next->info.typ->ref));
+	      }
+	      else
+	      { if (is_XML((Tnode*)p->next->info.typ->ref) && is_string((Tnode*)p->next->info.typ->ref))
+                  fprintf(fout,"\n\t\t\t\tif (soap_inliteral(soap, %s, a->%s))", field(p->next, nse), ident(p->next->sym->name));
+                else if (is_XML((Tnode*)p->next->info.typ->ref) && is_wstring((Tnode*)p->next->info.typ->ref))
+                  fprintf(fout,"\n\t\t\t\tif (soap_inwliteral(soap, %s, a->%s))", field(p->next, nse), ident(p->next->sym->name));
+                else
+                  fprintf(fout,"\n\t\t\t\tif (soap_in_%s(soap, %s, a->%s, \"%s\"))", c_ident((Tnode*)p->next->info.typ->ref), field(p->next, nse), ident(p->next->sym->name), xsi_type((Tnode*)p->next->info.typ->ref));
+	      }
+              fprintf(fout,"\n\t\t\t\t{\ta->%s++;\n\t\t\t\t\ta->%s = NULL;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}", ident(p->sym->name), ident(p->next->sym->name));
+            p = p->next;
+	  }
+	  else if (is_repetition(p) || is_anytype(p) || is_choice(p))
+	    { p = p->next;
+	      continue;
+	    }
+	    else if (is_invisible(p->sym->name)
+	      && !(p->info.sto & (Sconst | Sprivate | Sprotected)) && !is_transient(p->info.typ) && !(p->info.sto & Sattribute))
+	    { f=1;
+	      if (is_string(p->info.typ) || is_wstring(p->info.typ) || is_stdstr(p->info.typ))
+	        fprintf(fout,"\n\t\t\tif (soap_flag_%s && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))", ident(p->sym->name));
+              else if (is_template(p->info.typ))
+	        fprintf(fout,"\n\t\t\tif (soap->error == SOAP_TAG_MISMATCH)");
+              else
+	        fprintf(fout,"\n\t\t\tif (soap_flag_%s && soap->error == SOAP_TAG_MISMATCH)", ident(p->sym->name));
+	    if (is_XML(p->info.typ) && is_string(p->info.typ))
+	      fprintf(fout,"\n\t\t\t\tif (soap_inliteral(soap, %s, &a->%s))", field(p, nse), ident(p->sym->name));
+	    else if (is_XML(p->info.typ) && is_wstring(p->info.typ))
+	      fprintf(fout,"\n\t\t\t\tif (soap_inwliteral(soap, %s, &a->%s))", field(p, nse), ident(p->sym->name));
+	    else if(p->info.typ->type==Tarray)
+	      fprintf(fout,"\n\t\t\t\tif (soap_in_%s(soap, %s, a->%s, \"%s\"))", c_ident(p->info.typ), field(p, nse),ident(p->sym->name),xsi_type(p->info.typ));
+	    else if(p->info.typ->type==Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ))
+	      fprintf(fout,"\n\t\t\t\tif (a->%s.soap_in(soap, %s, \"%s\"))", ident(p->sym->name), field(p, nse),xsi_type(p->info.typ));
+	    else if (p->info.typ->type != Tfun && !is_void(p->info.typ))
+	      fprintf(fout,"\n\t\t\t\tif (soap_in_%s(soap, %s, &a->%s, \"%s\"))", c_ident(p->info.typ), field(p, nse),ident(p->sym->name),xsi_type(p->info.typ));
+	    if (is_template(p->info.typ))
+	      fprintf(fout,"\n\t\t\t\t\tcontinue;");
+	    else
+	    { fprintf(fout,"\n\t\t\t\t{\tsoap_flag_%s--;", ident(p->sym->name));
+	      fprintf(fout,"\n\t\t\t\t\tcontinue;");
+	      fprintf(fout,"\n\t\t\t\t}");
+	    }
+	   }
+	  }
+        }
+        for (t = table; t; t = t->prev)
+	  for (p = t->list; p; p = p->next) 
+	    if (p->info.sto & Sreturn)
+	      if (nse || has_ns_eq(NULL, p->sym->name))
+	        fprintf(fout,"\n\t\t\tsoap_check_result(soap, \"%s\");", ns_add(p, nse));
+        if (!f && is_invisible(typ->id->name))
+	  fprintf(fout,"\n\tsoap->error = SOAP_TAG_MISMATCH;\n\ta = NULL;");
+	if (!is_invisible(typ->id->name) || table->prev || table->list)
+        { fprintf(fout,"\n\t\t\tif (soap->error == SOAP_TAG_MISMATCH)");
+          if (!is_invisible(typ->id->name) || is_discriminant(typ))
+            fprintf(fout,"\n\t\t\t\tsoap->error = soap_ignore_element(soap);");
+          else
+            fprintf(fout,"\n\t\t\t\tif (soap_flag)\n\t\t\t\t{\tsoap->error = SOAP_OK;\n\t\t\t\t\tbreak;\n\t\t\t\t}");
+          if (!is_invisible(typ->id->name))
+            fprintf(fout,"\n\t\t\tif (soap->error == SOAP_NO_TAG)");
+	  else
+            fprintf(fout,"\n\t\t\tif (soap_flag && soap->error == SOAP_NO_TAG)");
+          fprintf(fout,"\n\t\t\t\tbreak;");
+          fprintf(fout,"\n\t\t\tif (soap->error)\n\t\t\t\treturn NULL;");
+          fprintf(fout,"\n\t\t}");
+	}
+      }
+	if (table && !is_discriminant(typ))
+	{ for (p = table->list; p; p = p->next)
+	    if (is_repetition(p))
+	    { fprintf(fout, "\n\t\tif (a->%s)\n\t\t\tsoap_pop_block(soap, soap_blist_%s);", ident(p->next->sym->name), ident(p->next->sym->name));
+	      fprintf(fout, "\n\t\tif (a->%s)\n\t\t\ta->%s = (%s)soap_save_block(soap, soap_blist_%s, NULL, 1);\n\t\telse\n\t\t{\ta->%s = NULL;\n\t\t\tif (soap_blist_%s)\n\t\t\t\tsoap_end_block(soap, soap_blist_%s);\n\t\t}", ident(p->sym->name), ident(p->next->sym->name), c_type(p->next->info.typ), ident(p->next->sym->name), ident(p->next->sym->name), ident(p->next->sym->name), ident(p->next->sym->name));
+	      p = p->next;
+	    }
+	}
+      if (!is_invisible(typ->id->name))
+      { fprintf(fout,"\n\t\tif (soap_element_end_in(soap, tag))\n\t\t\treturn NULL;");
+        fprintf(fout,"\n\t}\n\telse\n\t{\t");
+	if (has_class(typ))
+          fprintf(fout,"a = (%s)soap_id_forward(soap, soap->href, (void*)a, 0, %s, 0, sizeof(%s), 0, soap_copy_%s);",c_type_id(typ, "*"), soap_type(typ), c_type(typ), c_ident(typ));
+	else
+          fprintf(fout,"a = (%s)soap_id_forward(soap, soap->href, (void*)a, 0, %s, 0, sizeof(%s), 0, NULL);",c_type_id(typ, "*"), soap_type(typ), c_type(typ));
+        fprintf(fout,"\n\t\tif (soap->body && soap_element_end_in(soap, tag))\n\t\t\treturn NULL;");
+        fprintf(fout, "\n\t}");
+      }
+	a = 0;
+	if (table && !is_discriminant(typ))
+	{ for (p = table->list; p; p = p->next)
+	  { if (p->info.minOccurs > 0 && p->info.maxOccurs >= 0 && !(p->info.sto & (Sconst | Sprivate | Sprotected)) && !(p->info.sto & Sattribute) && p->info.typ->type != Tfun && !is_void(p->info.typ) && !is_transient(p->info.typ) && !is_template(p->info.typ) && !is_repetition(p) && !is_choice(p) && p->info.hasval == False)
+	    { if (is_item(p))
+	        continue;
+	      if (is_anytype(p))
+	        p = p->next;
+	      if (a==0)
+	      { fprintf(fout,"\n\tif (%s(soap_flag_%s > " SOAP_LONG_FORMAT "", strict_check(), ident(p->sym->name), p->info.maxOccurs - p->info.minOccurs);
+	        a=1;
+              }
+	      else
+	        fprintf(fout," || soap_flag_%s > " SOAP_LONG_FORMAT "", ident(p->sym->name), p->info.maxOccurs - p->info.minOccurs);
+	    }
+	    else if (is_template(p->info.typ))
+	    { if (p->info.minOccurs > 0)
+	      { if (p->info.typ->type == Tpointer)
+	        { if (a==0)
+	          { fprintf(fout,"\n\tif (%s(!a->%s || a->%s->size() < " SOAP_LONG_FORMAT, strict_check(), ident(p->sym->name), ident(p->sym->name), p->info.minOccurs);
+	            a=1;
+                  }
+	          else
+	            fprintf(fout," || !a->%s || a->%s->size() < " SOAP_LONG_FORMAT, ident(p->sym->name), ident(p->sym->name), p->info.minOccurs);
+	        }
+	        else
+	        { if (a==0)
+	          { fprintf(fout,"\n\tif (%s(a->%s.size() < " SOAP_LONG_FORMAT, strict_check(), ident(p->sym->name), p->info.minOccurs);
+	            a=1;
+                  }
+	          else
+	            fprintf(fout," || a->%s.size() < " SOAP_LONG_FORMAT, ident(p->sym->name), p->info.minOccurs);
+	        }
+	      }
+	      if ( p->info.maxOccurs > 1)
+	      { if (p->info.typ->type == Tpointer)
+	        { if (a==0)
+	          { fprintf(fout,"\n\tif (%s((a->%s && a->%s->size() > " SOAP_LONG_FORMAT ")", strict_check(), ident(p->sym->name), ident(p->sym->name), p->info.maxOccurs);
+	            a=1;
+                  }
+	          else
+	            fprintf(fout," || (a->%s && a->%s->size() > " SOAP_LONG_FORMAT ")", ident(p->sym->name), ident(p->sym->name), p->info.maxOccurs);
+	        }
+		else
+	        { if (a==0)
+	          { fprintf(fout,"\n\tif (%s(a->%s.size() > " SOAP_LONG_FORMAT, strict_check(), ident(p->sym->name), p->info.maxOccurs);
+	            a=1;
+                  }
+	          else
+	            fprintf(fout," || a->%s.size() > " SOAP_LONG_FORMAT, ident(p->sym->name), p->info.maxOccurs);
+	        }
+	      }
+	    }
+	    else if (is_repetition(p))
+	    { if (p->info.minOccurs > 0)
+	      { if (a==0)
+	        { fprintf(fout,"\n\tif (%s(a->%s < " SOAP_LONG_FORMAT, strict_check(), ident(p->sym->name), p->info.minOccurs);
+	          a=1;
+                }
+	        else
+	          fprintf(fout," || a->%s < " SOAP_LONG_FORMAT, ident(p->sym->name), p->info.minOccurs);
+	      }
+	      if (p->info.maxOccurs > 1)
+	      { if (a==0)
+	        { fprintf(fout,"\n\tif (%s(a->%s > " SOAP_LONG_FORMAT, strict_check(), ident(p->sym->name), p->info.maxOccurs);
+	          a=1;
+                }
+	        else
+	          fprintf(fout," || a->%s > " SOAP_LONG_FORMAT, ident(p->sym->name), p->info.maxOccurs);
+	      }
+	      p = p->next;
+	    }
+	    else if (is_choice(p))
+	    { if (p->info.minOccurs != 0)
+	      { if (a==0)
+	        { fprintf(fout,"\n\tif (%s(soap_flag_%s", strict_check(), ident(p->next->sym->name));
+	          a=1;
+                }
+	        else
+	          fprintf(fout," || soap_flag_%s", ident(p->next->sym->name));
+	      }
+	      p = p->next;
+	    }
+	  }
+	  if (a)
+	    fprintf(fout,"))\n\t{\tsoap->error = SOAP_OCCURS;\n\t\treturn NULL;\n\t}");
+	}
+        fprintf(fout, "\n\treturn a;\n}");
+      }
+      break;
+    
+     case Tclass:
+      if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 %s SOAP_FMAC2 soap_in_%s(struct soap*, const char*, %s, const char*);", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*"));
+        return;
+      }
+      fprintf(fhead,"\nSOAP_FMAC3 %s SOAP_FMAC4 soap_in_%s(struct soap*, const char*, %s, const char*);", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*"));
+      if (!is_volatile(typ) && !is_typedef(typ))
+      { fprintf(fout,"\n\nvoid *%s::soap_in(struct soap *soap, const char *tag, const char *type)", c_type(typ));
+	fprintf(fout,"\n{\treturn soap_in_%s(soap, tag, this, type);\n}",c_ident(typ));
+        fflush(fout);
+      }
+      fprintf(fout,"\n\nSOAP_FMAC3 %s SOAP_FMAC4 soap_in_%s(struct soap *soap, const char *tag, %s, const char *type)\n{", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*a"));
+      if (is_primclass(typ))
+      {
+        fprintf(fout, "\n\t(void)type; /* appease -Wall -Werror */\n\tif (soap_element_begin_in(soap, tag, 1, NULL))\n\t\treturn NULL;");
+        fprintf(fout,"\n\tif (!(a = (%s)soap_class_id_enter(soap, soap->id, a, %s, sizeof(%s), soap->type, soap->arrayType)))\n\t{\tsoap->error = SOAP_TAG_MISMATCH;\n\t\treturn NULL;\n\t}", c_type_id(typ, "*"), soap_type(typ), c_type(typ));
+        fprintf(fout,"\n\tsoap_revert(soap);\n\t*soap->id = '\\0';");
+        fprintf(fout,"\n\tif (soap->alloced)");
+        fprintf(fout,"\n\t{\ta->soap_default(soap);");
+        fprintf(fout,"\n\t\tif (soap->clist->type != %s)", soap_type(typ));
+        fprintf(fout,"\n\t\t\treturn (%s)a->soap_in(soap, tag, type);", c_type_id(typ, "*"));
+        fprintf(fout,"\n\t}");
+          for (t = (Table*)typ->ref; t; t = t->prev)
+          { Entry *e = entry(classtable, t->sym);
+            char *nsa1 = e ? ns_qualifiedAttribute(e->info.typ) : nsa;
+            for (p = t->list; p; p = p->next) 
+	      if (p->info.sto & Sattribute)
+		soap_attr_value(p, ptr_cast(t, "a"), ident(p->sym->name), ns_add(p, nsa1));
+	  }
+      fflush(fout);
+	for (table = (Table*)typ->ref; table; table = table->prev)
+	{ p = table->list;
+	  if (p && is_item(p))
+	    break;
+        }
+	    if (is_XML(p->info.typ) && is_string(p->info.typ))
+	    { fprintf(fout,"\n\tif (!soap_inliteral(soap, tag, &(a->%s::%s)))", ident(table->sym->name), ident(p->sym->name));
+	    }
+	    else if (is_XML(p->info.typ) && is_wstring(p->info.typ))
+	    { fprintf(fout,"\n\tif (!soap_inwliteral(soap, tag, &(a->%s::%s)))", ident(table->sym->name), ident(p->sym->name));
+	    }
+	    else if(p->info.typ->type==Tarray) {
+	      fprintf(fout,"\n\tif (!soap_in_%s(soap, tag, a->%s::%s, \"%s\"))", c_ident(p->info.typ), ident(table->sym->name), ident(p->sym->name), xsi_type(typ));
+	    }
+	    else if(p->info.typ->type==Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ)) {
+	      fprintf(fout,"\n\tif (!(a->%s::%s).soap_in(soap, tag, \"%s\"))", ident(table->sym->name), ident(p->sym->name), xsi_type(typ));
+	    }
+	    else if (p->info.typ->type != Tfun && !is_void(p->info.typ)) {
+	      fprintf(fout,"\n\tif (!soap_in_%s(soap, tag, &(a->%s::%s), \"%s\"))", c_ident(p->info.typ), ident(table->sym->name), ident(p->sym->name), xsi_type(typ));
+	    }
+           fprintf(fout,"\n\t\treturn NULL;");
+           if (has_getter(typ))
+             fprintf(fout,"\n\tif (a->get(soap))\n\t\treturn NULL;");
+           fprintf(fout,"\n\treturn a;\n}");
+      }
+      else
+      {
+        if (!is_invisible(typ->id->name))
+        { fprintf(fout,"\n\t(void)type; /* appease -Wall -Werror */\n\tif (soap_element_begin_in(soap, tag, 0, NULL))\n\t\treturn NULL;");
+          fprintf(fout,"\n\ta = (%s)soap_class_id_enter(soap, soap->id, a, %s, sizeof(%s), soap->type, soap->arrayType);", c_type_id(typ, "*"), soap_type(typ), c_type(typ));
+        }
+        else
+          fprintf(fout,"\n\ta = (%s)soap_class_id_enter(soap, \"\", a, %s, sizeof(%s), soap->type, soap->arrayType);", c_type_id(typ, "*"), soap_type(typ), c_type(typ));
+        fprintf(fout,"\n\tif (!a)\n\t\treturn NULL;");
+	if (!is_discriminant(typ))
+        { fprintf(fout,"\n\tif (soap->alloced)");
+          if (is_volatile(typ) || is_typedef(typ))
+            fprintf(fout,"\n\t{\tsoap_default_%s(soap, a);",c_ident(typ));
+          else
+            fprintf(fout,"\n\t{\ta->soap_default(soap);");
+          if (!is_invisible(typ->id->name))
+          { fprintf(fout,"\n\t\tif (soap->clist->type != %s)", soap_type(typ));
+            fprintf(fout,"\n\t\t{\tsoap_revert(soap);");
+            fprintf(fout,"\n\t\t\t*soap->id = '\\0';");
+            if (is_volatile(typ) || is_typedef(typ))
+              fprintf(fout,"\n\t\t\treturn soap_in_%s(soap, tag, a, type);", c_ident(typ));
+            else
+              fprintf(fout,"\n\t\t\treturn (%s)a->soap_in(soap, tag, type);", c_type_id(typ, "*"));
+            fprintf(fout,"\n\t\t}");
+	  }
+          fprintf(fout,"\n\t}");
+	}
+	else
+          fprintf(fout,"\n\ta->soap_default(soap);");
+        table=(Table *)typ->ref;
+        for (t = table; t; t = t->prev)
+        { Entry *e = entry(classtable, t->sym);
+          char *nsa1 = e ? ns_qualifiedAttribute(e->info.typ) : nsa;
+          for (p = t->list; p; p = p->next) 
+	    if (p->info.sto & Sattribute)
+              soap_attr_value(p, ptr_cast(t, "a"), ident(p->sym->name), ns_add(p, nsa1));
+	}
+        fflush(fout);
+       
+      i=0;
+    if (!is_discriminant(typ))
+    { for (t = table; t; t = t->prev)
+	i++;
+      a=0;
+      for (; i > 0; i--)
+      { t = table;
+	for (j = 0; j < i-1; j++)
+	  t = t->prev;
+	for (p = t->list; p; p = p->next)
+	  { if (!(p->info.sto & (Sconst | Sprivate | Sprotected)) && !(p->info.sto & Sattribute) && p->info.typ->type != Tfun && !is_void(p->info.typ) && !is_transient(p->info.typ) && !is_template(p->info.typ))
+	    { if (is_anytype(p) || is_choice(p))
+	        p = p->next;
+		if (is_repetition(p))
+	        { fprintf(fout,"\n\tstruct soap_blist *soap_blist_%s%d = NULL;", ident(p->next->sym->name), i);
+		  p = p->next;
+		}
+		else
+	          fprintf(fout,"\n\tsize_t soap_flag_%s%d = " SOAP_LONG_FORMAT ";", ident(p->sym->name), i, p->info.maxOccurs);
+	    }
+	  }
+      }
+      if (a)
+        fprintf(fout,";"); 
+    }
+      fflush(fout);
+      if (!is_invisible(typ->id->name))
+      { if (!is_discriminant(typ))
+        { fprintf(fout,"\n\tif (soap->body && !*soap->href)\n\t{");
+          fprintf(fout,"\n\t\tfor (;;)\n\t\t{\tsoap->error = SOAP_TAG_MISMATCH;"); 
+	}
+        else
+          fprintf(fout,"\n\tif (!tag || *tag == '-' || (soap->body && !*soap->href))\n\t{");
+      }
+      else if (!is_discriminant(typ))
+      { if (table->prev || table->list)
+          fprintf(fout,"\n\t\tfor (short soap_flag = 0;; soap_flag = 1)\n\t\t{\tsoap->error = SOAP_TAG_MISMATCH;"); 
+      }
+      table=(Table *)typ->ref;
+      a=0;
+      i=0;
+      f=0;
+      for (t = table; t; t = t->prev)
+	i++;
+      for (; i > 0; i--)
+      { Entry *e;
+        char *nse1;
+        t = table;
+	for (j = 0; j < i-1; j++)
+	  t = t->prev;
+        e = entry(classtable, t->sym);
+        nse1 = e ? ns_qualifiedElement(e->info.typ) : nse;
+	for (p = t->list; p; p = p->next)
+	{ if (is_item(p))
+	    ;
+	  else if (p->info.sto & (Sconst | Sprivate | Sprotected))
+	    fprintf(fout, "\n\t\t\t/* non-serializable %s skipped */", ident(p->sym->name));
+	  else if (is_transient(p->info.typ))
+	    fprintf(fout, "\n\t\t\t/* transient %s skipped */", ident(p->sym->name));
+	  else if (p->info.sto & Sattribute)
+	    ;
+	  else if (is_repetition(p))
+	  { 
+	      if (is_unmatched(p->next->sym) || is_invisible(p->next->sym->name))
+	      { p = p->next;
+	        continue;
+	      }
+	      f=1;
+              fprintf(fout,"\n\t\t\tif (soap->error == SOAP_TAG_MISMATCH && ");
+              fprintf(fout,"!soap_element_begin_in(soap, %s, 1, NULL))", field(p->next, nse1));
+              fprintf(fout,"\n\t\t\t{\tif (a->%s::%s == NULL)\n\t\t\t\t{\tif (soap_blist_%s%d == NULL)\n\t\t\t\t\t\tsoap_blist_%s%d = soap_new_block(soap);\n\t\t\t\t\ta->%s::%s = (%s)soap_push_block(soap, soap_blist_%s%d, sizeof(%s));\n\t\t\t\t\tif (a->%s::%s == NULL)\n\t\t\t\t\t\treturn NULL;", ident(t->sym->name), ident(p->next->sym->name), ident(p->next->sym->name), i, ident(p->next->sym->name), i, ident(t->sym->name), ident(p->next->sym->name), c_type(p->next->info.typ), ident(p->next->sym->name), i, c_type((Tnode*)p->next->info.typ->ref), ident(t->sym->name), ident(p->next->sym->name));
+              if (((Tnode*)p->next->info.typ->ref)->type == Tclass || has_class((Tnode*)p->next->info.typ->ref) || (!cflag && ((Tnode*)p->next->info.typ->ref)->type == Tstruct))
+                fprintf(fout,"\n\t\t\t\t\tSOAP_PLACEMENT_NEW(a->%s::%s, %s);", ident(t->sym->name), ident(p->next->sym->name), c_type((Tnode*)p->next->info.typ->ref));
+              if (((Tnode*)p->next->info.typ->ref)->type == Tclass && !is_external((Tnode*)p->next->info.typ->ref) && !is_volatile((Tnode*)p->next->info.typ->ref) && !is_typedef((Tnode*)p->next->info.typ->ref))
+                fprintf(fout,"\n\t\t\t\t\ta->%s::%s->soap_default(soap);", ident(t->sym->name), ident(p->next->sym->name));
+              else if (((Tnode*)p->next->info.typ->ref)->type != Tpointer  && !is_XML((Tnode*)p->next->info.typ->ref))
+                fprintf(fout,"\n\t\t\t\t\tsoap_default_%s(soap, a->%s::%s);", c_ident((Tnode*)p->next->info.typ->ref), ident(t->sym->name), ident(p->next->sym->name));
+              else
+                fprintf(fout,"\n\t\t\t\t\t*a->%s::%s = NULL;", ident(t->sym->name), ident(p->next->sym->name));
+              fprintf(fout,"\n\t\t\t\t}");
+              fprintf(fout,"\n\t\t\t\tsoap_revert(soap);");
+	      if (is_XML((Tnode*)p->next->info.typ->ref) && is_string((Tnode*)p->next->info.typ->ref))
+                fprintf(fout,"\n\t\t\t\tif (soap_inliteral(soap, %s, a->%s::%s))", field(p->next, nse1), ident(t->sym->name), ident(p->next->sym->name));
+              else if (is_XML((Tnode*)p->next->info.typ->ref) && is_wstring((Tnode*)p->next->info.typ->ref))
+                fprintf(fout,"\n\t\t\t\tif (soap_inwliteral(soap, %s, a->%s::%s))", field(p->next, nse1), ident(t->sym->name), ident(p->next->sym->name));
+              else
+                fprintf(fout,"\n\t\t\t\tif (soap_in_%s(soap, %s, a->%s::%s, \"%s\"))", c_ident((Tnode*)p->next->info.typ->ref), field(p->next, nse1), ident(t->sym->name), ident(p->next->sym->name), xsi_type((Tnode*)p->next->info.typ->ref));
+              fprintf(fout,"\n\t\t\t\t{\ta->%s::%s++;\n\t\t\t\t\ta->%s::%s = NULL;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}", ident(t->sym->name), ident(p->sym->name), ident(t->sym->name), ident(p->next->sym->name));
+              p = p->next;
+	  }
+	  else if (is_anytype(p))
+	  { f=1;
+            fprintf(fout,"\n\t\t\tif (soap_flag_%s%d && soap->error == SOAP_TAG_MISMATCH)", ident(p->next->sym->name), i);
+	    fprintf(fout,"\n\t\t\t\tif ((a->%s::%s = soap_getelement(soap, &a->%s::%s)))", ident(t->sym->name), ident(p->next->sym->name), ident(t->sym->name), ident(p->sym->name));
+	    fprintf(fout,"\n\t\t\t\t{\tsoap_flag_%s%d = 0;", ident(p->next->sym->name), i);
+	    fprintf(fout,"\n\t\t\t\t\tcontinue;");
+	    fprintf(fout,"\n\t\t\t\t}");
+            p = p->next;
+	  }
+          else if (is_discriminant(typ) && p->next)
+	  { f=1;
+            fprintf(fout,"\n\t\tif (!soap_in_%s(soap, &a->%s, &a->%s))", c_ident(p->next->info.typ), ident(p->sym->name), ident(p->next->sym->name));
+            fprintf(fout,"\n\t\t\treturn NULL;");
+	    i = 0;
+            break;
+	  }
+	  else if (is_choice(p))
+	  { f=1;
+            fprintf(fout,"\n\t\t\tif (soap_flag_%s%d && soap->error == SOAP_TAG_MISMATCH)",ident(p->next->sym->name),i);
+	    fprintf(fout,"\n\t\t\t\tif (soap_in_%s(soap, &a->%s::%s, &a->%s::%s))", c_ident(p->next->info.typ), ident(t->sym->name), ident(p->sym->name), ident(t->sym->name), ident(p->next->sym->name));
+	    fprintf(fout,"\n\t\t\t\t{\tsoap_flag_%s%d = 0;", ident(p->next->sym->name), i);
+	    fprintf(fout,"\n\t\t\t\t\tcontinue;");
+	    fprintf(fout,"\n\t\t\t\t}");
+            p = p->next;
+	  }
+	  else
+	  { f=1;
+	    if (!is_invisible(p->sym->name) && !is_primclass(typ) && p->info.typ->type != Tfun && !is_void(p->info.typ))
+	   { if (is_string(p->info.typ) || is_wstring(p->info.typ) || is_stdstr(p->info.typ))
+	       fprintf(fout,"\n\t\t\tif (soap_flag_%s%d && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))",ident(p->sym->name), i);
+             else if (is_template(p->info.typ))
+	      fprintf(fout,"\n\t\t\tif (soap->error == SOAP_TAG_MISMATCH)");
+	     else
+	       fprintf(fout,"\n\t\t\tif (soap_flag_%s%d && soap->error == SOAP_TAG_MISMATCH)",ident(p->sym->name), i);
+	   }
+	   if (is_unmatched(p->sym))
+	   { 
+	    if (is_XML(p->info.typ) && is_string(p->info.typ)) {
+	      fprintf(fout,"\n\t\t\t\tif (soap_inliteral(soap, NULL, &(a->%s::%s)))", ident(t->sym->name), ident(p->sym->name));
+	    } else if (is_XML(p->info.typ) && is_wstring(p->info.typ)) {
+	      fprintf(fout,"\n\t\t\t\tif (soap_inwliteral(soap, NULL, &(a->%s::%s)))", ident(t->sym->name), ident(p->sym->name));
+	    }
+	    else if(p->info.typ->type==Tarray) {
+	      fprintf(fout,"\n\t\t\t\tif (soap_in_%s(soap, NULL, a->%s::%s, \"%s\"))", c_ident(p->info.typ),ident(t->sym->name),ident(p->sym->name),xsi_type(p->info.typ));
+	    } else if(p->info.typ->type==Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ)) {
+	      fprintf(fout,"\n\t\t\t\tif ((a->%s::%s).soap_in(soap, NULL, \"%s\"))", ident(t->sym->name),ident(p->sym->name),xsi_type(p->info.typ));
+	    } else if (p->info.typ->type != Tfun && !is_void(p->info.typ)) {
+	      fprintf(fout,"\n\t\t\t\tif (soap_in_%s(soap, NULL, &(a->%s::%s), \"%s\"))", c_ident(p->info.typ),ident(t->sym->name),ident(p->sym->name),xsi_type(p->info.typ));
+	    }
+           }
+	   else if (!is_invisible(p->sym->name))
+	   { 
+	    if (is_XML(p->info.typ) && is_string(p->info.typ)) {
+	      fprintf(fout,"\n\t\t\t\tif (soap_inliteral(soap, %s, &(a->%s::%s)))", field_overridden(t, p, nse1), ident(t->sym->name),ident(p->sym->name));
+	    } else if (is_XML(p->info.typ) && is_wstring(p->info.typ)) {
+	      fprintf(fout,"\n\t\t\t\tif (soap_inwliteral(soap, %s, &(a->%s::%s)))", field_overridden(t, p, nse1), ident(t->sym->name),ident(p->sym->name));
+	    }
+	    else if(p->info.typ->type==Tarray) {
+	      fprintf(fout,"\n\t\t\t\tif (soap_in_%s(soap, %s, a->%s::%s, \"%s\"))", c_ident(p->info.typ), field_overridden(t, p, nse1),ident(t->sym->name),ident(p->sym->name),xsi_type(p->info.typ));
+	    } else if(p->info.typ->type==Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ)) {
+	      fprintf(fout,"\n\t\t\t\tif ((a->%s::%s).soap_in(soap, %s, \"%s\"))", ident(t->sym->name),ident(p->sym->name), field_overridden(t, p, nse1),xsi_type(p->info.typ));
+	    } else if (p->info.typ->type != Tfun && !is_void(p->info.typ)) {
+	      fprintf(fout,"\n\t\t\t\tif (soap_in_%s(soap, %s, &(a->%s::%s), \"%s\"))", c_ident(p->info.typ), field_overridden(t, p, nse1),ident(t->sym->name),ident(p->sym->name),xsi_type(p->info.typ));
+	    }
+           }
+	    if (!is_invisible(p->sym->name) && !is_primclass(typ) && p->info.typ->type != Tfun && !is_void(p->info.typ))
+	    { if (is_template(p->info.typ))
+	        fprintf(fout,"\n\t\t\t\t\tcontinue;");
+	      else
+	      { fprintf(fout,"\n\t\t\t\t{\tsoap_flag_%s%d--;", ident(p->sym->name), i);
+	        fprintf(fout,"\n\t\t\t\t\tcontinue;");
+	        fprintf(fout,"\n\t\t\t\t}");
+	      }
+	    }
+	    fflush(fout);
+	  }
+        }
+      }
+    if (!is_discriminant(typ))
+    {
+      Entry *e;
+      char *nse1;
+      i=0;
+      for (t = table; t; t = t->prev)
+      { i++;
+        e = entry(classtable, t->sym);
+        nse1 = e ? ns_qualifiedElement(e->info.typ) : nse;
+        for (p = t->list; p; p = p->next)
+	{ if (is_repetition(p) && (is_unmatched(p->next->sym) || is_invisible(p->next->sym->name)))
+          {   f=1;
+	      fprintf(fout,"\n\t\t\tif (soap->error == SOAP_TAG_MISMATCH && ");
+	      if (is_unmatched(p->next->sym))
+                fprintf(fout,"!soap_element_begin_in(soap, NULL, 1, NULL))");
+	      else if (is_invisible(p->next->sym->name))
+                fprintf(fout,"!soap_peek_element(soap))");
+              fprintf(fout,"\n\t\t\t{\tif (a->%s::%s == NULL)\n\t\t\t\t{\tif (soap_blist_%s%d == NULL)\n\t\t\t\t\t\tsoap_blist_%s%d = soap_new_block(soap);\n\t\t\t\t\ta->%s::%s = (%s)soap_push_block(soap, soap_blist_%s%d, sizeof(%s));\n\t\t\t\t\tif (a->%s::%s == NULL)\n\t\t\t\t\t\treturn NULL;", ident(t->sym->name), ident(p->next->sym->name), ident(p->next->sym->name), i, ident(p->next->sym->name), i, ident(t->sym->name), ident(p->next->sym->name), c_type(p->next->info.typ), ident(p->next->sym->name), i, c_type((Tnode*)p->next->info.typ->ref), ident(t->sym->name), ident(p->next->sym->name));
+              if (((Tnode*)p->next->info.typ->ref)->type == Tclass || has_class((Tnode*)p->next->info.typ->ref) || (!cflag && ((Tnode*)p->next->info.typ->ref)->type == Tstruct))
+                fprintf(fout,"\n\t\t\t\t\tSOAP_PLACEMENT_NEW(a->%s::%s, %s);", ident(t->sym->name), ident(p->next->sym->name), c_type((Tnode*)p->next->info.typ->ref));
+              if (((Tnode*)p->next->info.typ->ref)->type == Tclass && !is_external((Tnode*)p->next->info.typ->ref) && !is_volatile((Tnode*)p->next->info.typ->ref) && !is_typedef((Tnode*)p->next->info.typ->ref))
+                fprintf(fout,"\n\t\t\t\t\ta->%s::%s->soap_default(soap);", ident(t->sym->name), ident(p->next->sym->name));
+              else if (((Tnode*)p->next->info.typ->ref)->type != Tpointer  && !is_XML((Tnode*)p->next->info.typ->ref))
+                fprintf(fout,"\n\t\t\t\t\tsoap_default_%s(soap, a->%s::%s);", c_ident((Tnode*)p->next->info.typ->ref), ident(t->sym->name), ident(p->next->sym->name));
+              else
+                fprintf(fout,"\n\t\t\t\t\t*a->%s::%s = NULL;", ident(t->sym->name), ident(p->next->sym->name));
+              fprintf(fout,"\n\t\t\t\t}");
+	      if (!is_invisible(p->next->sym->name))
+                fprintf(fout,"\n\t\t\t\tsoap_revert(soap);");
+	      if (is_unmatched(p->next->sym))
+	      { if (is_XML((Tnode*)p->next->info.typ->ref) && is_string((Tnode*)p->next->info.typ->ref))
+                  fprintf(fout,"\n\t\t\t\tif (soap_inliteral(soap, NULL, a->%s::%s))", ident(t->sym->name), ident(p->next->sym->name));
+                else if (is_XML((Tnode*)p->next->info.typ->ref) && is_wstring((Tnode*)p->next->info.typ->ref))
+                  fprintf(fout,"\n\t\t\t\tif (soap_inwliteral(soap, NULL, a->%s::%s))", ident(t->sym->name), ident(p->next->sym->name));
+                else
+                  fprintf(fout,"\n\t\t\t\tif (soap_in_%s(soap, NULL, a->%s::%s, \"%s\"))", c_ident((Tnode*)p->next->info.typ->ref), ident(t->sym->name), ident(p->next->sym->name), xsi_type((Tnode*)p->next->info.typ->ref));
+	      }
+	      else
+	      { if (is_XML((Tnode*)p->next->info.typ->ref) && is_string((Tnode*)p->next->info.typ->ref))
+                  fprintf(fout,"\n\t\t\t\tif (soap_inliteral(soap, %s, a->%s::%s))", field(p->next, nse1), ident(t->sym->name), ident(p->next->sym->name));
+                else if (is_XML((Tnode*)p->next->info.typ->ref) && is_wstring((Tnode*)p->next->info.typ->ref))
+                  fprintf(fout,"\n\t\t\t\tif (soap_inwliteral(soap, %s, a->%s::%s))", field(p->next, nse1), ident(t->sym->name), ident(p->next->sym->name));
+                else
+                  fprintf(fout,"\n\t\t\t\tif (soap_in_%s(soap, %s, a->%s::%s, \"%s\"))", c_ident((Tnode*)p->next->info.typ->ref), field(p->next, nse1), ident(t->sym->name), ident(p->next->sym->name), xsi_type((Tnode*)p->next->info.typ->ref));
+	      }
+              fprintf(fout,"\n\t\t\t\t{\ta->%s::%s++;\n\t\t\t\t\ta->%s::%s = NULL;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}", ident(t->sym->name), ident(p->sym->name), ident(t->sym->name), ident(p->next->sym->name));
+            p = p->next;
+	  }
+	  else if (is_repetition(p) || is_anytype(p) || is_choice(p))
+	    { p = p->next;
+	      continue;
+	    }
+	    else if (is_invisible(p->sym->name)
+	      && !(p->info.sto & (Sconst | Sprivate | Sprotected)) && !is_transient(p->info.typ) && !(p->info.sto & Sattribute))
+	    { f=1;
+	      if (is_string(p->info.typ) || is_wstring(p->info.typ) || is_stdstr(p->info.typ))
+	       fprintf(fout,"\n\t\t\tif (soap_flag_%s%d && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))",ident(p->sym->name), i);
+             else if (is_template(p->info.typ))
+	       fprintf(fout,"\n\t\t\tif (soap->error == SOAP_TAG_MISMATCH)");
+             else
+	       fprintf(fout,"\n\t\t\tif (soap_flag_%s%d && soap->error == SOAP_TAG_MISMATCH)",ident(p->sym->name), i);
+	    if (is_XML(p->info.typ) && is_string(p->info.typ)) {
+	      fprintf(fout,"\n\t\t\t\tif (soap_inliteral(soap, %s, &(a->%s::%s)))", field_overridden(t, p, nse1), ident(t->sym->name), ident(p->sym->name));
+	    } else if (is_XML(p->info.typ) && is_wstring(p->info.typ)) {
+	      fprintf(fout,"\n\t\t\t\tif (soap_inwliteral(soap, %s, &(a->%s::%s)))", field_overridden(t, p, nse1), ident(t->sym->name), ident(p->sym->name));
+	    }
+	    else if(p->info.typ->type==Tarray) {
+	      fprintf(fout,"\n\t\t\t\tif (soap_in_%s(soap, %s, a->%s::%s, \"%s\"))", c_ident(p->info.typ),field_overridden(t, p, nse1), ident(t->sym->name), ident(p->sym->name) ,xsi_type(p->info.typ));
+	    } else if(p->info.typ->type==Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ)) {
+	      fprintf(fout,"\n\t\t\t\tif ((a->%s::%s).soap_in(soap, %s, \"%s\"))", ident(t->sym->name), ident(p->sym->name), field_overridden(t, p, nse1),xsi_type(p->info.typ));
+	    } else if (p->info.typ->type != Tfun && !is_void(p->info.typ)) {
+	      fprintf(fout,"\n\t\t\t\tif (soap_in_%s(soap, %s, &(a->%s::%s), \"%s\"))", c_ident(p->info.typ),field_overridden(t, p, nse1), ident(t->sym->name), ident(p->sym->name) ,xsi_type(p->info.typ));
+	    }
+	   if (is_template(p->info.typ))
+	      fprintf(fout,"\n\t\t\t\t\tcontinue;");
+	   else
+	   { fprintf(fout,"\n\t\t\t\t{\tsoap_flag_%s%d--;", ident(p->sym->name), i);
+	     fprintf(fout,"\n\t\t\t\t\tcontinue;");
+	     fprintf(fout,"\n\t\t\t\t}");
+	   }
+	  }
+	 }
+      }
+      for (t = table; t; t = t->prev)
+	for (p = t->list; p; p = p->next) 
+	  if (p->info.sto & Sreturn)
+	    if (nse || has_ns_eq(NULL, p->sym->name))
+	      fprintf(fout,"\n\t\t\tsoap_check_result(soap, \"%s\");", ns_add(p, nse));
+      if (!f && is_invisible(typ->id->name))
+        fprintf(fout,"\n\tsoap->error = SOAP_TAG_MISMATCH;\n\ta = NULL;"); 
+      if (!is_invisible(typ->id->name) || table->prev || table->list)
+      { fprintf(fout,"\n\t\t\tif (soap->error == SOAP_TAG_MISMATCH)");
+        if (!is_invisible(typ->id->name) || is_discriminant(typ))
+          fprintf(fout,"\n\t\t\t\tsoap->error = soap_ignore_element(soap);");
+        else
+          fprintf(fout,"\n\t\t\t\tif (soap_flag)\n\t\t\t\t{\n\t\t\t\t\tsoap->error = SOAP_OK;\n\t\t\t\t\tbreak;\n\t\t\t\t}");
+        if (!is_invisible(typ->id->name))
+          fprintf(fout,"\n\t\t\tif (soap->error == SOAP_NO_TAG)");
+	else
+          fprintf(fout,"\n\t\t\tif (soap_flag && soap->error == SOAP_NO_TAG)");
+        fprintf(fout,"\n\t\t\t\tbreak;");
+        fprintf(fout,"\n\t\t\tif (soap->error)\n\t\t\t\treturn NULL;");
+        fprintf(fout,"\n\t\t}");
+      }
+    }
+    if (!is_discriminant(typ))
+    { i=0;
+      for (t = table; t; t = t->prev)
+	i++;
+      for (; i > 0; i--)
+      { t = table;
+	for (j = 0; j < i-1; j++)
+	  t = t->prev;
+	for (p = t->list; p; p = p->next)
+	{   if (is_repetition(p))
+	    { fprintf(fout, "\n\t\tif (a->%s::%s)\n\t\t\tsoap_pop_block(soap, soap_blist_%s%d);", ident(t->sym->name), ident(p->next->sym->name), ident(p->next->sym->name), i);
+	      fprintf(fout, "\n\t\tif (a->%s::%s)\n\t\t\ta->%s::%s = (%s)soap_save_block(soap, soap_blist_%s%d, NULL, 1);\n\t\telse\n\t\t{\ta->%s::%s = NULL;\n\t\t\tif (soap_blist_%s%d)\n\t\t\t\tsoap_end_block(soap, soap_blist_%s%d);\n\t\t}", ident(t->sym->name), ident(p->sym->name), ident(t->sym->name), ident(p->next->sym->name), c_type(p->next->info.typ), ident(p->next->sym->name), i, ident(t->sym->name), ident(p->next->sym->name), ident(p->next->sym->name), i, ident(p->next->sym->name), i);
+	      p = p->next;
+	    }
+	}
+       }
+      }
+      if (has_getter(typ))
+        fprintf(fout,"\n\t\tif (a->get(soap))\n\t\t\treturn NULL;");
+      if (!is_invisible(typ->id->name))
+      { fprintf(fout, "\n\t\tif (soap_element_end_in(soap, tag))\n\t\t\treturn NULL;");
+        fprintf(fout,"\n\t}\n\telse\n\t{");
+        fprintf(fout,"\ta = (%s)soap_id_forward(soap, soap->href, (void*)a, 0, %s, 0, sizeof(%s), 0, soap_copy_%s);",c_type_id(typ, "*"), soap_type(typ), c_type(typ), c_ident(typ));
+        fprintf(fout, "\n\t\tif (soap->body && soap_element_end_in(soap, tag))\n\t\t\treturn NULL;");
+        fprintf(fout, "\n\t}");
+      }
+    if (!is_discriminant(typ))
+    { a=0;
+      i = 0;
+      for (t = table; t; t = t->prev)
+	i++;
+      for (; i > 0; i--)
+      { t = table;
+	for (j = 0; j < i-1; j++)
+	  t = t->prev;
+	for (p = t->list; p; p = p->next)
+	  { if (p->info.minOccurs > 0 && p->info.maxOccurs >= 0 && !(p->info.sto & (Sconst | Sprivate | Sprotected)) && !(p->info.sto & Sattribute) && p->info.typ->type != Tfun && !is_void(p->info.typ) && !is_transient(p->info.typ) && !is_template(p->info.typ) && !is_repetition(p) && !is_choice(p) && p->info.hasval == False)
+	    { if (is_item(p))
+	        continue;
+	      if (is_anytype(p))
+	        p = p->next;
+	      if (a==0)
+	      { fprintf(fout,"\n\tif (%s(soap_flag_%s%d > " SOAP_LONG_FORMAT, strict_check(), ident(p->sym->name), i, p->info.maxOccurs - p->info.minOccurs);
+	        a=1;
+              }
+	      else
+	        fprintf(fout," || soap_flag_%s%d > " SOAP_LONG_FORMAT, ident(p->sym->name), i, p->info.maxOccurs - p->info.minOccurs);
+	    }
+	    else if (is_template(p->info.typ))
+	    { if (p->info.minOccurs > 0)
+	      { if (p->info.typ->type == Tpointer)
+	        { if (a==0)
+	          { fprintf(fout,"\n\tif (%s(!a->%s::%s || a->%s::%s->size() < " SOAP_LONG_FORMAT, strict_check(), ident(t->sym->name), ident(p->sym->name), ident(t->sym->name), ident(p->sym->name), p->info.minOccurs);
+	            a=1;
+                  }
+	          else
+	            fprintf(fout," || !a->%s::%s || a->%s::%s->size() < " SOAP_LONG_FORMAT, ident(t->sym->name), ident(p->sym->name), ident(t->sym->name), ident(p->sym->name), p->info.minOccurs);
+	        }
+	        else
+	        { if (a==0)
+	          { fprintf(fout,"\n\tif (%s(a->%s::%s.size() < " SOAP_LONG_FORMAT, strict_check(), ident(t->sym->name), ident(p->sym->name), p->info.minOccurs);
+	            a=1;
+                  }
+	          else
+	            fprintf(fout," || a->%s::%s.size() < " SOAP_LONG_FORMAT, ident(t->sym->name), ident(p->sym->name), p->info.minOccurs);
+	        }
+	      }
+	      if ( p->info.maxOccurs > 1)
+	      { if (p->info.typ->type == Tpointer)
+	        { if (a==0)
+	          { fprintf(fout,"\n\tif (%s((a->%s::%s && a->%s::%s->size() > " SOAP_LONG_FORMAT ")", strict_check(), ident(t->sym->name), ident(p->sym->name), ident(t->sym->name), ident(p->sym->name), p->info.maxOccurs);
+	            a=1;
+                  }
+	          else
+	            fprintf(fout," || (a->%s::%s && a->%s::%s->size() > " SOAP_LONG_FORMAT ")", ident(t->sym->name), ident(p->sym->name), ident(t->sym->name), ident(p->sym->name), p->info.maxOccurs);
+	        }
+		else
+	        { if (a==0)
+	          { fprintf(fout,"\n\tif (%s(a->%s::%s.size() > " SOAP_LONG_FORMAT, strict_check(), ident(t->sym->name), ident(p->sym->name), p->info.maxOccurs);
+	            a=1;
+                  }
+	          else
+	            fprintf(fout," || a->%s::%s.size() > " SOAP_LONG_FORMAT, ident(t->sym->name), ident(p->sym->name), p->info.maxOccurs);
+	        }
+	      }
+	    }
+	    else if (is_repetition(p))
+	    { if (p->info.minOccurs > 0)
+	      { if (a==0)
+	        { fprintf(fout,"\n\tif (%s(a->%s::%s < " SOAP_LONG_FORMAT, strict_check(), ident(t->sym->name), ident(p->sym->name), p->info.minOccurs);
+	          a=1;
+                }
+	        else
+	          fprintf(fout," || a->%s::%s < " SOAP_LONG_FORMAT, ident(t->sym->name), ident(p->sym->name), p->info.minOccurs);
+	      }
+	      if (p->info.maxOccurs > 1)
+	      { if (a==0)
+	        { fprintf(fout,"\n\tif (%s(a->%s::%s > " SOAP_LONG_FORMAT, strict_check(), ident(t->sym->name), ident(p->sym->name), p->info.maxOccurs);
+	          a=1;
+                }
+	        else
+	          fprintf(fout," || a->%s::%s > " SOAP_LONG_FORMAT, ident(t->sym->name), ident(p->sym->name), p->info.maxOccurs);
+	      }
+	      p = p->next;
+	    }
+	    else if (is_choice(p))
+	    { if (p->info.minOccurs != 0)
+	      { if (a==0)
+	        { fprintf(fout,"\n\tif (%s(soap_flag_%s%d", strict_check(), ident(p->next->sym->name), i);
+	          a=1;
+                }
+	        else
+	          fprintf(fout," || soap_flag_%s%d", ident(p->next->sym->name), i);
+	      }
+	      p = p->next;
+	    }
+	  }
+       }
+       if (a)
+         fprintf(fout,"))\n\t{\tsoap->error = SOAP_OCCURS;\n\t\treturn NULL;\n\t}");
+      }
+      fprintf(fout,"\n\treturn a;\n}");
+      }
+
+      break;   
+           
+    case Tunion:
+      if (is_external(typ))
+      { fprintf(fhead, "\nSOAP_FMAC1 %s SOAP_FMAC2 soap_in_%s(struct soap*, int*, %s);", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*"));
+        return;
+      }
+      fprintf(fhead, "\nSOAP_FMAC3 %s SOAP_FMAC4 soap_in_%s(struct soap*, int*, %s);", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*"));
+      fprintf(fout, "\n\nSOAP_FMAC3 %s SOAP_FMAC4 soap_in_%s(struct soap *soap, int *choice, %s)\n{", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*a"));
+      fprintf(fout, "\tsoap->error = SOAP_TAG_MISMATCH;");
+      table = (Table *)typ->ref;
+      for (p = table->list; p; p = p->next) 
+	{ if (p->info.sto & (Sconst | Sprivate | Sprotected))
+	    fprintf(fout, "\n\t/* non-serializable %s skipped */", ident(p->sym->name));
+	  else if (is_transient(p->info.typ))
+	    fprintf(fout, "\n\t/* transient %s skipped */", ident(p->sym->name));
+	  else if (p->info.sto & Sattribute)
+	    ;
+	  else if (is_repetition(p))
+	    ;
+	  else if (is_anytype(p))
+	    ;
+	  else if (!is_invisible(p->sym->name))
+	  { if (is_unmatched(p->sym))
+	    { if (is_XML(p->info.typ) && is_string(p->info.typ))
+	        fprintf(fout, "\n\tif (soap->error == SOAP_TAG_MISMATCH && soap_inliteral(soap, NULL, &a->%s))", ident(p->sym->name));
+	      else if (is_XML(p->info.typ) && is_wstring(p->info.typ))
+	        fprintf(fout, "\n\tif (soap->error == SOAP_TAG_MISMATCH && soap_inwliteral(soap, NULL, &a->%s))", ident(p->sym->name));
+	      else if (p->info.typ->type == Tarray)
+	        fprintf(fout, "\n\tif (soap->error == SOAP_TAG_MISMATCH && soap_in_%s(soap, NULL, a->%s, \"%s\"))", c_ident(p->info.typ),ident(p->sym->name),xsi_type(p->info.typ));
+	      else if (p->info.typ->type == Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ))
+	        fprintf(fout, "\n\tif (soap->error == SOAP_TAG_MISMATCH && a->%s.soap_in(soap, NULL, \"%s\"))", ident(p->sym->name), xsi_type(p->info.typ));
+	      else if (p->info.typ->type != Tfun && !is_void(p->info.typ))
+	      { if (p->info.typ->type == Tpointer)
+	          fprintf(fout, "\n\ta->%s = NULL;", ident(p->sym->name));
+	        fprintf(fout, "\n\tif (soap->error == SOAP_TAG_MISMATCH && soap_in_%s(soap, NULL, &a->%s, \"%s\"))", c_ident(p->info.typ),ident(p->sym->name),xsi_type(p->info.typ));
+	      }
+	    }
+	    else
+	    { if (is_XML(p->info.typ) && is_string(p->info.typ))
+	        fprintf(fout, "\n\tif (soap->error == SOAP_TAG_MISMATCH && soap_inliteral(soap, \"%s\", &a->%s))", ns_add(p, nse), ident(p->sym->name));
+	      else if (is_XML(p->info.typ) && is_wstring(p->info.typ))
+	        fprintf(fout, "\n\tif (soap->error == SOAP_TAG_MISMATCH && soap_inwliteral(soap, \"%s\", &a->%s))", ns_add(p, nse), ident(p->sym->name));
+	      else if (p->info.typ->type == Tarray)
+	        fprintf(fout, "\n\tif (soap->error == SOAP_TAG_MISMATCH && soap_in_%s(soap, \"%s\", a->%s, \"%s\"))", c_ident(p->info.typ),ns_add(p, nse),ident(p->sym->name),xsi_type(p->info.typ));
+	      else if (p->info.typ->type == Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ))
+	        fprintf(fout, "\n\tif (soap->error == SOAP_TAG_MISMATCH && a->%s.soap_in(soap, \"%s\", \"%s\"))", ident(p->sym->name),ns_add(p, nse),xsi_type(p->info.typ));
+	      else if (p->info.typ->type != Tfun && !is_void(p->info.typ))
+	      { if (p->info.typ->type == Tpointer)
+	          fprintf(fout, "\n\ta->%s = NULL;", ident(p->sym->name));
+	        fprintf(fout, "\n\tif (soap->error == SOAP_TAG_MISMATCH && soap_in_%s(soap, \"%s\", &a->%s, \"%s\"))", c_ident(p->info.typ),ns_add(p, nse),ident(p->sym->name),xsi_type(p->info.typ));
+	      }
+	    }
+	    fprintf(fout, "\n\t{\t*choice = SOAP_UNION_%s_%s;", c_ident(typ), ident(p->sym->name));
+	    fprintf(fout, "\n\t\treturn a;");
+	    fprintf(fout, "\n\t}");
+	    fflush(fout);
+	  }
+        }
+      table = (Table *)typ->ref;
+      for (p = table->list; p; p = p->next) 
+	{ if (p->info.sto & (Sconst | Sprivate | Sprotected))
+	    ;
+	  else if (is_transient(p->info.typ))
+	    ;
+	  else if (p->info.sto & Sattribute)
+	    ;
+	  else if (is_repetition(p))
+	    ;
+	  else if (is_anytype(p))
+	    ;
+	  else if (is_invisible(p->sym->name))
+	  { if (is_XML(p->info.typ) && is_string(p->info.typ))
+	        fprintf(fout, "\n\tif (soap->error == SOAP_TAG_MISMATCH && soap_inliteral(soap, \"%s\", &a->%s))", ns_add(p, nse), ident(p->sym->name));
+	      else if (is_XML(p->info.typ) && is_wstring(p->info.typ))
+	        fprintf(fout, "\n\tif (soap->error == SOAP_TAG_MISMATCH && soap_inwliteral(soap, \"%s\", &a->%s))", ns_add(p, nse), ident(p->sym->name));
+	      else if (p->info.typ->type == Tarray)
+	        fprintf(fout, "\n\tif (soap->error == SOAP_TAG_MISMATCH && soap_in_%s(soap, \"%s\", a->%s, NULL))", c_ident(p->info.typ),ns_add(p, nse),ident(p->sym->name));
+	      else if (p->info.typ->type == Tclass && !is_external(p->info.typ) && !is_volatile(p->info.typ) && !is_typedef(p->info.typ))
+	        fprintf(fout, "\n\tif (soap->error == SOAP_TAG_MISMATCH && a->%s.soap_in(soap, \"%s\", NULL))", ident(p->sym->name),ns_add(p, nse));
+	      else if (p->info.typ->type != Tfun && !is_void(p->info.typ))
+	      { if (p->info.typ->type == Tpointer)
+	          fprintf(fout, "\n\ta->%s = NULL;", ident(p->sym->name));
+	        fprintf(fout, "\n\tif (soap->error == SOAP_TAG_MISMATCH && soap_in_%s(soap, \"%s\", &a->%s, NULL))", c_ident(p->info.typ),ns_add(p, nse),ident(p->sym->name));
+	      }
+	    fprintf(fout, "\n\t{\t*choice = SOAP_UNION_%s_%s;", c_ident(typ), ident(p->sym->name));
+	    fprintf(fout, "\n\t\treturn a;");
+	    fprintf(fout, "\n\t}");
+	    fflush(fout);
+	  }
+        }
+      fprintf(fout, "\n\t*choice = -1;\n\tif (!soap->error)\n\t\tsoap->error = SOAP_TAG_MISMATCH;\n\treturn NULL;\n}");
+      break;
+ 
+    case Tpointer:
+      
+      if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 %s SOAP_FMAC2 soap_in_%s(struct soap*, const char*, %s, const char*);", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*"));
+        return;
+      }
+      fprintf(fhead,"\nSOAP_FMAC3 %s SOAP_FMAC4 soap_in_%s(struct soap*, const char*, %s, const char*);", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*"));
+      fprintf(fout,"\n\nSOAP_FMAC3 %s SOAP_FMAC4 soap_in_%s(struct soap *soap, const char *tag, %s, const char *type)\n{", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*a"));
+      fprintf(fout,"\n\tif (soap_element_begin_in(soap, tag, 1, NULL))");
+      fprintf(fout,"\n\t\treturn NULL;");
+
+      if (is_template(typ))
+      { fprintf(fout,"\n\tsoap_revert(soap);");
+	fprintf(fout,"\n\tif (!a)\n\t{\tif (!(a = (%s)soap_malloc(soap, sizeof(%s))))\n\t\t\treturn NULL;\n\t\t*a = NULL;\n\t}", c_type_id(typ, "*"), c_type(typ));
+	fprintf(fout,"\n\tif (!(*a = soap_in_%s(soap, tag, *a, type)))\n\t\treturn NULL;", c_ident((Tnode*)typ->ref));
+	fprintf(fout,"\n\treturn a;\n}");
+      }
+      else if(((Tnode *) typ->ref)->type == Tclass && !is_external((Tnode*)typ->ref) && !is_volatile((Tnode*)typ->ref) && !is_typedef((Tnode*)typ->ref))
+      {
+	fprintf(fout,"\n\tif (!a)\n\t\tif (!(a = (%s)soap_malloc(soap, sizeof(%s))))\n\t\t\treturn NULL;", c_type_id(typ, "*"), c_type(typ));
+	fprintf(fout,"\n\t*a = NULL;\n\tif (!soap->null && *soap->href != '#')");
+	fprintf(fout,"\n\t{\tsoap_revert(soap);");
+	fprintf(fout, "\n\t\tif (!(*a = (%s)soap_instantiate_%s(soap, -1, soap->type, soap->arrayType, NULL)))", c_type(typ), c_ident((Tnode*)typ->ref));
+	fprintf(fout, "\n\t\t\treturn NULL;");
+	fprintf(fout, "\n\t\t(*a)->soap_default(soap);");
+	fprintf(fout, "\n\t\tif (!(*a)->soap_in(soap, tag, NULL))"); 
+	fprintf(fout, "\n\t\t\treturn NULL;");
+	fprintf(fout,"\n\t}\n\telse\n\t{\t%s p = (%s)soap_id_lookup(soap, soap->href, (void**)a, %s, sizeof(%s), %d);", c_type_id(typ, "*"), c_type_id(typ, "*"), soap_type((Tnode*)typ->ref), c_type((Tnode*)typ->ref), reflevel((Tnode*)typ->ref) );
+	if (((Tnode*)typ->ref)->type == Tclass)
+	{ table = (Table*)((Tnode*)typ->ref)->ref;
+	  for (p = classtable->list; p; p = p->next)
+	  { if (p->info.typ->type == Tclass)
+	    { Table *q = (Table*)p->info.typ->ref;
+	      if (q)
+	        for (q = q->prev; q; q = q->prev)
+                  if (q == table)
+		    fprintf(fout, "\n\t\tif (!p && soap->error == SOAP_HREF)\n\t\t{\tsoap->error = SOAP_OK;\n\t\t\tp = (%s)soap_id_lookup(soap, soap->href, (void**)a, %s, sizeof(%s), 0);\n\t\t}", c_type_id(typ, "*"), soap_type(p->info.typ), c_type(p->info.typ));
+	    }
+          }
+	}
+	fprintf(fout,"\n\t\ta = p;");
+	fprintf(fout,"\n\t\tif (soap->body && soap_element_end_in(soap, tag))\n\t\t\treturn NULL;");
+	fprintf(fout,"\n\t}\n\treturn a;\n}");
+      }
+      else
+      {
+	fprintf(fout,"\n\tif (!a)\n\t\tif (!(a = (%s)soap_malloc(soap, sizeof(%s))))\n\t\t\treturn NULL;", c_type_id(typ, "*"), c_type(typ));
+	fprintf(fout,"\n\t*a = NULL;\n\tif (!soap->null && *soap->href != '#')");
+	fprintf(fout,"\n\t{\tsoap_revert(soap);");
+	fprintf(fout,"\n\t\tif (!(*a = soap_in_%s(soap, tag, *a, type)))", c_ident((Tnode*)typ->ref));
+	fprintf(fout,"\n\t\t\treturn NULL;");
+
+	fprintf(fout,"\n\t}\n\telse\n\t{\ta = (%s)soap_id_lookup(soap, soap->href, (void**)a, %s, sizeof(%s), %d);", c_type_id(typ, "*"), soap_type((Tnode*)typ->ref), c_type((Tnode*)typ->ref), reflevel((Tnode*)typ->ref) );
+	fprintf(fout,"\n\t\tif (soap->body && soap_element_end_in(soap, tag))\n\t\t\treturn NULL;");
+	fprintf(fout,"\n\t}\n\treturn a;\n}");
+      }
+    
+      break;
+  
+    case Tarray:
+      temp = typ;
+      while(temp->type == Tarray){
+	temp = (Tnode*)temp->ref;
+      }
+      if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 %s SOAP_FMAC2 soap_in_%s(struct soap*, const char*, %s, const char*);",c_type_id(temp, "*"),c_ident(typ),c_type(typ));  
+        return;
+      }
+      fprintf(fhead,"\nSOAP_FMAC3 %s SOAP_FMAC4 soap_in_%s(struct soap*, const char*, %s, const char*);",c_type_id(temp, "*"),c_ident(typ),c_type(typ));  
+      fprintf(fout,"\n\nSOAP_FMAC3 %s SOAP_FMAC4 soap_in_%s(struct soap *soap, const char *tag, %s, const char *type)\n{",c_type_id(temp, "*"),c_ident(typ),c_type_id(typ, "a"));  
+      fprintf(fout,"\n\tif (soap_element_begin_in(soap, tag, 0, NULL))");
+      fprintf(fout,"\n\t\treturn NULL;");
+      fprintf(fout,"\n\tif (soap_match_array(soap, type))");
+      fprintf(fout,"\n\t{\tsoap->error = SOAP_TYPE;\n\t\treturn NULL;\n\t}");
+      fprintf(fout,"\n\ta = (%s)soap_id_enter(soap, soap->id, a, %s, sizeof(%s), 0, NULL, NULL, NULL);", c_type_id((Tnode*)typ->ref, "(*)"), soap_type(typ), c_type(typ));
+      fprintf(fout,"\n\tif (!a)\n\t\treturn NULL;");
+      fprintf(fout,"\n\tsoap_default_%s(soap, a);",c_ident(typ));
+      fprintf(fout,"\n\tif (soap->body && !*soap->href)");
+      total=get_dimension(typ);  
+      n=(Tnode*)typ->ref;
+      cardinality = 1;
+      while(n->type==Tarray)
+	{
+	  total=total*get_dimension(n);
+	  n = (Tnode*)n->ref;
+	  cardinality++;
+	}
+      fprintf(fout,"\n\t{\tint i;\n\t\tfor (i = 0; i < %d; i++)",get_dimension(typ));
+  fprintf(fout,"\n\t\t{\tsoap_peek_element(soap);\n\t\t\tif (soap->position)\n\t\t\t{\ti = soap->positions[0];\n\t\t\t\tif (i < 0 || i >= %d)\n\t\t\t\t{\tsoap->error = SOAP_IOB;\n\t\t\t\t\treturn NULL;\n\t\t\t\t}\n\t\t\t}", get_dimension(typ));
+	fprintf(fout,"\n\t\t\tif (!soap_in_%s(soap, NULL, a", c_ident((Tnode*)typ->ref));
+
+      if(cardinality > 1){
+	fprintf(fout,"[i]");
+      }else {
+	fprintf(fout,"+i");
+      }
+      fprintf(fout,", \"%s\"))", xsi_type((Tnode*)typ->ref));
+      fprintf(fout,"\n\t\t\t{\tif (soap->error != SOAP_NO_TAG)\n\t\t\t\t\treturn NULL;");
+      fprintf(fout,"\n\t\t\t\tsoap->error = SOAP_OK;");
+      fprintf(fout,"\n\t\t\t\tbreak;");
+      fprintf(fout,"\n\t\t\t}");
+      fprintf(fout,"\n\t\t}");
+      fprintf(fout,"\n\t\tif (soap->mode & SOAP_C_NOIOB)\n\t\t\twhile (soap_element_end_in(soap, tag) == SOAP_SYNTAX_ERROR)\n\t\t\t{\tsoap->peeked = 1;\n\t\t\t\tsoap_ignore_element(soap);\n\t\t\t}");
+      fprintf(fout,"\n\t\telse if (soap_element_end_in(soap, tag))\n\t\t{\tif (soap->error == SOAP_SYNTAX_ERROR)\n\t\t\t\tsoap->error = SOAP_IOB;\n\t\t\treturn NULL;\n\t\t}");
+      fprintf(fout,"\n\t}\n\telse\n\t{\ta = (%s)soap_id_forward(soap, soap->href, (void*)soap_id_enter(soap, soap->id, a, %s, sizeof(%s), 0, NULL, NULL, NULL), 0, %s, 0, sizeof(%s), 0, NULL);", c_type_id((Tnode*)typ->ref, "(*)"), soap_type(typ), c_type(typ), soap_type(typ), c_type(typ));
+      fprintf(fout,"\n\t\tif (soap->body && soap_element_end_in(soap, tag))\n\t\t\treturn NULL;");
+      fprintf(fout,"\n\t}\n\treturn (%s)a;\n}", c_type_id(temp, "*"));
+      break;
+
+    case Tenum:
+      if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 %s SOAP_FMAC2 soap_in_%s(struct soap*, const char*, %s, const char*);",c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*"));  
+        return;
+      }
+      fprintf(fhead,"\nSOAP_FMAC3 %s SOAP_FMAC4 soap_in_%s(struct soap*, const char*, %s, const char*);",c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*"));  
+      fprintf(fhead,"\n\nSOAP_FMAC3S int SOAP_FMAC4S soap_s2%s(struct soap*, const char*, %s);",c_ident(typ),c_type_id(typ, "*"));  
+      fprintf(fout,"\n\nSOAP_FMAC3S int SOAP_FMAC4S soap_s2%s(struct soap *soap, const char *s, %s)\n{",c_ident(typ),c_type_id(typ, "*a"));  
+      if (is_typedef(typ))
+        fprintf(fout, "\n\treturn soap_s2%s(soap, s, a);\n}", t_ident(typ));
+      else if (!is_mask(typ))
+	{ fprintf(fout, "\n\tconst struct soap_code_map *map;");
+          t = (Table*)typ->ref;
+          if (t && t->list && has_ns_eq(NULL, ns_remove1(t->list->sym->name)))
+	  { fprintf(fout, "\n\tchar *t;");
+	    fprintf(fout, "\n\tif (!s)\n\t\treturn soap->error;");
+	    fprintf(fout, "\n\tsoap_s2QName(soap, s, &t, %ld, %ld);", minlen(typ), maxlen(typ));
+	    fprintf(fout, "\n\tmap = soap_code(soap_codes_%s, t);", c_ident(typ));
+          } 
+          else
+	  { fprintf(fout, "\n\tif (!s)\n\t\treturn soap->error;");
+	    fprintf(fout, "\n\tmap = soap_code(soap_codes_%s, s);", c_ident(typ));
+	  }
+	  min = 0;
+	  max = 0;
+          for (t = (Table*)typ->ref; t; t = t->prev)
+          { for (p = t->list; p; p = p->next)
+	    { if (p->info.val.i < min)
+	        min = (unsigned long)p->info.val.i;
+	      if (p->info.val.i > max)
+	        max = (unsigned long)p->info.val.i;
+	    }
+	  }
+	  if (is_boolean(typ))
+	    fprintf(fout, "\n\tif (map)\n\t\t*a = (%s)(map->code != 0);\n\telse\n\t{\tlong n;\n\t\tif (soap_s2long(soap, s, &n) || n < 0 || n > 1)\n\t\t\treturn soap->error = SOAP_TYPE;\n\t\t*a = (%s)(n != 0);\n\t}\n\treturn SOAP_OK;\n}", c_type(typ), c_type(typ));
+	  else if (sflag)
+	    fprintf(fout, "\n\tif (map)\n\t\t*a = (%s)map->code;\n\telse\n\t\treturn soap->error = SOAP_TYPE;\n\treturn SOAP_OK;\n}", c_type(typ));
+          else
+	    fprintf(fout, "\n\tif (map)\n\t\t*a = (%s)map->code;\n\telse\n\t{\tlong n;\n\t\tif (soap_s2long(soap, s, &n) || ((soap->mode & SOAP_XML_STRICT) && (n < %ld || n > %ld)))\n\t\t\treturn soap->error = SOAP_TYPE;\n\t\t*a = (%s)n;\n\t}\n\treturn SOAP_OK;\n}", c_type(typ), min, max, c_type(typ));
+        }
+	else
+	{ t = (Table*)typ->ref;
+          if (t && t->list && has_ns_eq(NULL, ns_remove1(t->list->sym->name)))
+	  { fprintf(fout, "\n\tchar *t;");
+	    fprintf(fout, "\n\tsoap_s2QName(soap, s, &t, %ld, %ld);", minlen(typ), maxlen(typ));
+	    fprintf(fout, "\n\t*a = (%s)soap_code_bits(soap_codes_%s, t);", c_type(typ), c_ident(typ));
+          } 
+          else
+	    fprintf(fout, "\n\t*a = (%s)soap_code_bits(soap_codes_%s, s);", c_type(typ), c_ident(typ));
+	  fprintf(fout, "\n\treturn SOAP_OK;\n}");
+	}
+      fprintf(fout,"\n\nSOAP_FMAC3 %s SOAP_FMAC4 soap_in_%s(struct soap *soap, const char *tag, %s, const char *type)\n{",c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*a"));  
+      if (is_boolean(typ))
+      { fprintf(fout,"\n\tif (soap_element_begin_in(soap, tag, 0, NULL))");
+        fprintf(fout,"\n\t\treturn NULL;");
+        fprintf(fout,"\n\tif (*soap->type && soap_match_tag(soap, soap->type, type) && soap_match_tag(soap, soap->type, \":boolean\"))");
+        fprintf(fout,"\n\t{\tsoap->error = SOAP_TYPE;\n\t\treturn NULL;\n\t}");
+      }
+      else if (typ->sym)
+      { fprintf(fout,"\n\tif (soap_element_begin_in(soap, tag, 0, NULL))");
+        fprintf(fout,"\n\t\treturn NULL;");
+        fprintf(fout,"\n\tif (*soap->type && soap_match_tag(soap, soap->type, type) && soap_match_tag(soap, soap->type, \"%s\"))", base_type(typ, ""));
+        fprintf(fout,"\n\t{\tsoap->error = SOAP_TYPE;\n\t\treturn NULL;\n\t}");
+      }
+      else
+      { fprintf(fout,"\n\tif (soap_element_begin_in(soap, tag, 0, type))");
+        fprintf(fout,"\n\t\treturn NULL;");
+      }
+      fprintf(fout,"\n\ta = (%s)soap_id_enter(soap, soap->id, a, %s, sizeof(%s), 0, NULL, NULL, NULL);", c_type_id(typ, "*"), soap_type(typ), c_type(typ));
+      fprintf(fout,"\n\tif (!a)\n\t\treturn NULL;");
+      fprintf(fout,"\n\tif (soap->body && !*soap->href)\n\t{");
+      fprintf(fout,"\tif (!a || soap_s2%s(soap, soap_value(soap), a) || soap_element_end_in(soap, tag))\n\t\t\treturn NULL;", c_ident(typ));
+      fprintf(fout, "\n\t}\n\telse\n\t{\ta = (%s)soap_id_forward(soap, soap->href, (void*)a, 0, %s, 0, sizeof(%s), 0, NULL);", c_type_id(typ, "*"), soap_type(typ), c_type(typ));
+      fprintf(fout, "\n\t\tif (soap->body && soap_element_end_in(soap, tag))\n\t\t\treturn NULL;");
+      fprintf(fout,"\n\t}\n\treturn a;\n}");
+      break;
+
+    case Ttemplate:
+      if (is_external(typ))
+      { fprintf(fhead,"\nSOAP_FMAC1 %s SOAP_FMAC2 soap_in_%s(struct soap*, const char*, %s, const char*);", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*")); 
+        return;
+      }
+      if (is_typedef(typ))
+      { fprintf(fhead, "\n\n#define soap_in_%s soap_in_%s\n", c_ident(typ), t_ident(typ));
+        return;
+      }
+      fprintf(fhead,"\nSOAP_FMAC3 %s SOAP_FMAC4 soap_in_%s(struct soap*, const char*, %s, const char*);", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*")); 
+      fprintf(fout, "\n\nSOAP_FMAC3 %s SOAP_FMAC4 soap_in_%s(struct soap *soap, const char *tag, %s, const char *type)\n{", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*a")); 
+      n = (Tnode*)typ->ref;
+      fprintf(fout, "\n\t(void)type; /* appease -Wall -Werror */");
+      fprintf(fout, "\n\tshort soap_flag;");
+      fprintf(fout, "\n\tfor (soap_flag = 0;; soap_flag = 1)\n\t{\t%s;", c_type_id(n, "n"));
+      fprintf(fout, "\n\t\tif (tag && *tag != '-')\n\t\t{\tif (soap_element_begin_in(soap, tag, 1, NULL))\n\t\t\t\tbreak;\n\t\t\tsoap_revert(soap);\n\t\t}\n\t\t");
+      if (n->type == Tpointer)
+	fprintf(fout,"n = NULL;");
+      else if (n->type == Tarray)
+	fprintf(fout,"soap_default_%s(soap, &n);", c_ident(n));
+      else if (n->type==Tclass && !is_external(n) && !is_volatile(n) && !is_typedef(n))
+	fprintf(fout,"n.soap_default(soap);");
+      else if (n->type != Tfun && !is_void(n) && !is_XML(n))
+        fprintf(fout,"soap_default_%s(soap, &n);", c_ident(n));
+      fprintf(fout, "\n\t\tif (tag && *tag != '-' && (*soap->id || *soap->href))");
+      fprintf(fout, "\n\t\t{\tif (!soap_container_id_forward(soap, *soap->id?soap->id:soap->href, a, (size_t)a->size(), %s, %s, sizeof(%s), %d))\n\t\t\t\tbreak;\n\t\t\t", soap_type(reftype(n)), soap_type(typ), c_type(reftype(n)), reflevel(n));
+      if (is_XML(n) && is_string(n))
+        fprintf(fout, "if (!soap_inliteral(soap, tag, NULL))");
+      else if (is_XML(n) && is_wstring(n))
+        fprintf(fout, "if (!soap_inwliteral(soap, tag, NULL))");
+      else if (n->type==Tarray)
+        fprintf(fout, "if (!soap_in_%s(soap, tag, NULL, \"%s\"))", c_ident(n),xsi_type(n));
+      else if (n->type != Tfun && !is_void(n))
+        fprintf(fout, "if (!soap_in_%s(soap, tag, NULL, \"%s\"))", c_ident(n),xsi_type(n));
+      fprintf(fout, "\n\t\t\t\tbreak;\n\t\t}\n\t\telse ");
+      if (is_XML(n) && is_string(n))
+        fprintf(fout, "if (!soap_inliteral(soap, tag, &n))");
+      else if (is_XML(n) && is_wstring(n))
+        fprintf(fout, "if (!soap_inwliteral(soap, tag, &n))");
+      else if (n->type==Tarray)
+        fprintf(fout, "if (!soap_in_%s(soap, tag, &n, \"%s\"))", c_ident(n),xsi_type(n));
+      else if (n->type != Tfun && !is_void(n))
+        fprintf(fout, "if (!soap_in_%s(soap, tag, &n, \"%s\"))", c_ident(n),xsi_type(n));
+      fprintf(fout, "\n\t\t\tbreak;");
+      fprintf(fout, "\n\t\tif (!a && !(a = soap_new_%s(soap, -1)))\n\t\t\treturn NULL;", c_ident(typ));
+      if ((!strcmp(typ->id->name, "std::vector") || !strcmp(typ->id->name, "std::deque")) && (is_primitive(n) || n->type == Tpointer))
+        fprintf(fout, "\n\t\ta->push_back(n);");
+      else
+      {
+	if (is_primitive(n) || n->type == Tpointer)
+          fprintf(fout, "\n\t\ta->insert(a->end(), n);");
+	else
+          fprintf(fout, "\n\t\tsoap_update_pointers(soap, (char*)&n, (char*)&n + sizeof(n), (char*)&(*a->insert(a->end(), n)), (char*)&n);");
+      }
+      fprintf(fout, "\n\t\tif (!tag || *tag == '-')\n\t\t\treturn a;\n\t}\n\tif (soap_flag && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))\n\t{\tsoap->error = SOAP_OK;\n\t\treturn a;\n\t}\n\treturn NULL;\n}");
+      break;
+    default: break;
+    }
+  fflush(fout);
+}
+
+
+void
+soap_in_Darray(Tnode *typ)
+{ int i, j, d;
+  Entry *p;
+  Table *t, *table;
+  char *nsa = ns_qualifiedAttribute(typ);
+
+  table=(Table *)typ->ref;
+  p = is_dynamic_array(typ);
+  d = get_Darraydims(typ);
+  
+  if (is_external(typ))
+  { fprintf(fhead,"\nSOAP_FMAC1 %s SOAP_FMAC2 soap_in_%s(struct soap*, const char*, %s, const char*);", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*"));
+    return;
+  }
+  fprintf(fhead,"\nSOAP_FMAC3 %s SOAP_FMAC4 soap_in_%s(struct soap*, const char*, %s, const char*);", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*"));
+  if (typ->type == Tclass && !is_volatile(typ) && !is_typedef(typ))
+  { fprintf(fout,"\n\nvoid *%s::soap_in(struct soap *soap, const char *tag, const char *type)", c_type(typ));
+    fprintf(fout,"\n{\treturn soap_in_%s(soap, tag, this, type);\n}", c_ident(typ));
+  }
+  fflush(fout);
+  fprintf(fout,"\n\nSOAP_FMAC3 %s SOAP_FMAC4 soap_in_%s(struct soap *soap, const char *tag, %s, const char *type)", c_type_id(typ, "*"),c_ident(typ),c_type_id(typ, "*a"));
+  if ((has_ns(typ) || is_untyped(typ)) && is_binary(typ))
+    fprintf(fout,"\n{\n\t(void)type; /* appease -Wall -Werror */");
+  else if (d)
+    fprintf(fout,"\n{\tint i, j, n;\n\t%s;", c_type_id(p->info.typ, "p"));
+  else
+    fprintf(fout,"\n{\tint i, j;\n\t%s;", c_type_id(p->info.typ, "p"));
+  fprintf(fout,"\n\tif (soap_element_begin_in(soap, tag, 1, NULL))\n\t\treturn NULL;");
+  if (has_ns(typ) || is_untyped(typ))
+  { if (is_hexBinary(typ))
+      fprintf(fout,"\n\tif (*soap->type && soap_match_tag(soap, soap->type, type) && soap_match_tag(soap, soap->type, \":hexBinary\"))");
+    else if (is_binary(typ))
+      fprintf(fout,"\n\tif (*soap->type && soap_match_tag(soap, soap->type, type) && soap_match_tag(soap, soap->type, \":base64Binary\") && soap_match_tag(soap, soap->type, \":base64\"))");
+    else
+      fprintf(fout,"\n\tif (*soap->type && soap_match_array(soap, \"%s\") && soap_match_tag(soap, soap->type, type))", xsi_type((Tnode*)p->info.typ->ref));
+  }
+  else
+    fprintf(fout,"\n\tif (soap_match_array(soap, type))");
+  fprintf(fout,"\n\t{\tsoap->error = SOAP_TYPE;\n\t\treturn NULL;\n\t}");
+  if (typ->type == Tclass)
+  { fprintf(fout,"\n\ta = (%s)soap_class_id_enter(soap, soap->id, a, %s, sizeof(%s), soap->type, soap->arrayType);",c_type_id(typ, "*"), soap_type(typ), c_type(typ)); 
+    fprintf(fout,"\n\tif (!a)\n\t\treturn NULL;");
+    fprintf(fout,"\n\tif (soap->alloced)\n\t\ta->soap_default(soap);");
+    for (t = (Table*)typ->ref; t; t = t->prev)
+    { for (p = t->list; p; p = p->next) 
+	if (p->info.sto & Sattribute)
+          soap_attr_value(p, ptr_cast(t, "a"), ident(p->sym->name), ns_add(p, nsa));
+    }
+  }
+  else
+  { fprintf(fout,"\n\ta = (%s)soap_id_enter(soap, soap->id, a, %s, sizeof(%s), 0, NULL, NULL, NULL);",c_type_id(typ, "*"), soap_type(typ), c_type(typ));
+    fprintf(fout,"\n\tif (!a)\n\t\treturn NULL;");
+    /*fprintf(fout,"\n\tif (soap->alloced)");*/
+    fprintf(fout,"\n\tsoap_default_%s(soap, a);", c_ident(typ));
+    for (t = (Table*)typ->ref; t; t = t->prev)
+    { for (p = t->list; p; p = p->next) 
+	if (p->info.sto & Sattribute)
+          soap_attr_value(p, "a", ident(p->sym->name), ns_add(p, nsa));
+    }
+  }
+  fprintf(fout,"\n\tif (soap->body && !*soap->href)\n\t{");
+  p = is_dynamic_array(typ);
+  if ((has_ns(typ) || is_untyped(typ)) && is_binary(typ))
+  { if (is_hexBinary(typ))
+      fprintf(fout,"\n\t\ta->__ptr = soap_gethex(soap, &a->__size);");
+    else
+    { fprintf(fout,"\n\t\ta->__ptr = soap_getbase64(soap, &a->__size, 0);");
+      if (is_attachment(typ))
+        fprintf(fout,"\n#ifndef WITH_LEANER\n\t\tif (soap_xop_forward(soap, &a->__ptr, &a->__size, &a->id, &a->type, &a->options))\n\t\t\treturn NULL;\n#endif");
+    }
+    fprintf(fout,"\n\t\tif ((!a->__ptr && soap->error) || soap_element_end_in(soap, tag))\n\t\t\treturn NULL;");
+  }
+  else
+  { if (d)
+    { fprintf(fout,"\n\t\tn = soap_getsizes(soap->arraySize, a->__size, %d);", d);
+      if (has_offset(typ))
+        fprintf(fout,"\n\t\tn -= j = soap_getoffsets(soap->arrayOffset, a->__size, a->__offset, %d);", d);
+      else
+        fprintf(fout,"\n\t\tn -= j = soap_getoffsets(soap->arrayOffset, a->__size, NULL, %d);", d);
+      if (p->info.minOccurs > 0)
+        fprintf(fout,"\n\t\tif (%sn >= 0 && n < " SOAP_LONG_FORMAT ")\n\t\t{\tsoap->error = SOAP_OCCURS;\n\t\t\treturn NULL;\n\t\t}", strict_check(), p->info.minOccurs);
+      if (p->info.maxOccurs > 1)
+        fprintf(fout,"\n\t\tif (%sn > " SOAP_LONG_FORMAT ")\n\t\t{\tsoap->error = SOAP_OCCURS;\n\t\t\treturn NULL;\n\t\t}", strict_check(), p->info.maxOccurs);
+      fprintf(fout,"\n\t\tif (n >= 0)");
+      if (((Tnode*)p->info.typ->ref)->type == Tclass
+       || (((Tnode*)p->info.typ->ref)->type == Tstruct && !cflag))
+      { fprintf(fout,"\n\t\t{\ta->%s = soap_new_%s(soap, n);", ident(p->sym->name), c_ident((Tnode*)p->info.typ->ref));
+        if (!is_external((Tnode*)p->info.typ->ref) && !is_volatile((Tnode*)p->info.typ->ref) && !is_typedef((Tnode*)p->info.typ->ref) && ((Tnode*)p->info.typ->ref)->type == Tclass)
+          fprintf(fout, "\n\t\t\tfor (i = 0; i < n; i++)\n\t\t\t\t(a->%s+i)->%s::soap_default(soap);", ident(p->sym->name), c_type((Tnode*)p->info.typ->ref));
+        else if (((Tnode*)p->info.typ->ref)->type == Tpointer)
+          fprintf(fout, "\n\t\t\tfor (i = 0; i < n; i++)\n\t\t\t\tsoap_default_%s(soap, a->%s+i);", c_ident((Tnode*)p->info.typ->ref), ident(p->sym->name));
+      }
+      else if (has_class((Tnode*)p->info.typ->ref))
+      { fprintf(fout,"\n\t\t{\ta->%s = soap_new_%s(soap, n);", ident(p->sym->name), c_ident((Tnode*)p->info.typ->ref));
+        fprintf(fout, "\n\t\t\tfor (i = 0; i < n; i++)\n\t\t\t\tsoap_default_%s(soap, a->%s+i);", c_ident((Tnode*)p->info.typ->ref), ident(p->sym->name));
+      }
+      else
+      { fprintf(fout,"\n\t\t{\ta->%s = (%s)soap_malloc(soap, n*sizeof(%s));", ident(p->sym->name), c_type_id((Tnode*)p->info.typ->ref, "*"),  c_type((Tnode*)p->info.typ->ref));
+        if (((Tnode*)p->info.typ->ref)->type == Tpointer)
+          fprintf(fout, "\n\t\t\tfor (i = 0; i < n; i++)\n\t\t\t\ta->%s[i] = NULL;", ident(p->sym->name));
+	else if (!is_XML((Tnode*)p->info.typ->ref))
+          fprintf(fout, "\n\t\t\tfor (i = 0; i < n; i++)\n\t\t\t\tsoap_default_%s(soap, a->%s+i);", c_ident((Tnode*)p->info.typ->ref), ident(p->sym->name));
+      }
+      fprintf(fout,"\n\t\t\tfor (i = 0; i < n; i++)");
+      fprintf(fout,"\n\t\t\t{\tsoap_peek_element(soap);\n\t\t\t\tif (soap->position == %d)", d);
+      fprintf(fout,"\n\t\t\t\t{\ti = ");
+	for (i = 0; i < d; i++)
+	{ fprintf(fout,"soap->positions[%d]", i);
+	  for (j = 1; j < d-i; j++)
+	    fprintf(fout,"*a->__size[%d]", j);
+	  if (i < d-1)
+	    fprintf(fout,"+");
+	}
+	fprintf(fout,"-j;");
+	fprintf(fout,"\n\t\t\t\t\tif (i < 0 || i >= n)\n\t\t\t\t\t{\tsoap->error = SOAP_IOB;\n\t\t\t\t\t\treturn NULL;\n\t\t\t\t\t}\n\t\t\t\t}");
+        fprintf(fout,"\n\t\t\t\tif (!soap_in_%s(soap, NULL, a->%s + i, \"%s\"))", c_ident((Tnode*)p->info.typ->ref), ident(p->sym->name), xsi_type((Tnode*)p->info.typ->ref));
+      fprintf(fout,"\n\t\t\t\t{\tif (soap->error != SOAP_NO_TAG)\n\t\t\t\t\t\treturn NULL;");
+      fprintf(fout,"\n\t\t\t\t\tsoap->error = SOAP_OK;");
+      fprintf(fout,"\n\t\t\t\t\tbreak;");
+      fprintf(fout,"\n\t\t\t\t}");
+    }
+    else
+    { fprintf(fout,"\n\t\ta->__size = soap_getsize(soap->arraySize, soap->arrayOffset, &j);");
+      if (has_offset(typ) && (p->next->next->info.sto & Sconst) == 0)
+      { fprintf(fout,"\n\t\ta->__offset = j;");
+      }
+      if (p->info.minOccurs > 0)
+        fprintf(fout,"\n\t\tif (%sa->__size >= 0 && a->__size < " SOAP_LONG_FORMAT ")\n\t\t{\tsoap->error = SOAP_OCCURS;\n\t\t\treturn NULL;\n\t\t}", strict_check(), p->info.minOccurs);
+      if (p->info.maxOccurs > 1)
+        fprintf(fout,"\n\t\tif (%sa->__size > " SOAP_LONG_FORMAT ")\n\t\t{\tsoap->error = SOAP_OCCURS;\n\t\t\treturn NULL;\n\t\t}", strict_check(), p->info.maxOccurs);
+      fprintf(fout,"\n\t\tif (a->__size >= 0)");
+      if (((Tnode*)p->info.typ->ref)->type == Tclass
+       || (((Tnode*)p->info.typ->ref)->type == Tstruct && !cflag))
+      { fprintf(fout,"\n\t\t{\ta->%s = soap_new_%s(soap, a->__size);", ident(p->sym->name), c_ident((Tnode*)p->info.typ->ref));
+        if (!is_external((Tnode*)p->info.typ->ref) && !is_volatile((Tnode*)p->info.typ->ref) && !is_typedef((Tnode*)p->info.typ->ref) && ((Tnode*)p->info.typ->ref)->type == Tclass)
+          fprintf(fout, "\n\t\t\tfor (i = 0; i < a->__size; i++)\n\t\t\t\t(a->%s+i)->%s::soap_default(soap);", ident(p->sym->name), c_type((Tnode*)p->info.typ->ref));
+        else
+          fprintf(fout, "\n\t\t\tfor (i = 0; i < a->__size; i++)\n\t\t\t\tsoap_default_%s(soap, a->%s+i);", c_ident((Tnode*)p->info.typ->ref), ident(p->sym->name));
+      }
+      else if (has_class((Tnode*)p->info.typ->ref))
+      { fprintf(fout,"\n\t\t{\ta->%s = soap_new_%s(soap, a->__size);", ident(p->sym->name), c_ident((Tnode*)p->info.typ->ref));
+        fprintf(fout, "\n\t\t\tfor (i = 0; i < a->__size; i++)\n\t\t\t\tsoap_default_%s(soap, a->%s+i);", c_ident((Tnode*)p->info.typ->ref), ident(p->sym->name));
+      }
+      else
+      { fprintf(fout,"\n\t\t{\ta->%s = (%s)soap_malloc(soap, sizeof(%s) * a->__size);", ident(p->sym->name), c_type_id((Tnode*)p->info.typ->ref, "*"),  c_type((Tnode*)p->info.typ->ref));
+	if (((Tnode*)p->info.typ->ref)->type == Tpointer)
+          fprintf(fout, "\n\t\t\tfor (i = 0; i < a->__size; i++)\n\t\t\t\ta->%s[i] = NULL;", ident(p->sym->name));
+	else if (!is_XML((Tnode*)p->info.typ->ref))
+          fprintf(fout, "\n\t\t\tfor (i = 0; i < a->__size; i++)\n\t\t\t\tsoap_default_%s(soap, a->%s+i);", c_ident((Tnode*)p->info.typ->ref), ident(p->sym->name));
+      }
+      fprintf(fout,"\n\t\t\tfor (i = 0; i < a->__size; i++)");
+      fprintf(fout,"\n\t\t\t{\tsoap_peek_element(soap);\n\t\t\t\tif (soap->position)\n\t\t\t\t{\ti = soap->positions[0]-j;\n\t\t\t\t\tif (i < 0 || i >= a->__size)\n\t\t\t\t\t{\tsoap->error = SOAP_IOB;\n\t\t\t\t\t\treturn NULL;\n\t\t\t\t\t}\n\t\t\t\t}");
+      if (is_XML((Tnode*)p->info.typ->ref) && is_string((Tnode*)p->info.typ->ref))
+        fprintf(fout,"\n\t\t\t\tif (!soap_inliteral(soap, NULL, a->%s + i))", ident(p->sym->name));
+      else if (is_XML((Tnode*)p->info.typ->ref) && is_wstring((Tnode*)p->info.typ->ref))
+        fprintf(fout,"\n\t\t\t\tif (!soap_inwliteral(soap, NULL, a->%s + i))", ident(p->sym->name));
+      else
+        fprintf(fout,"\n\t\t\t\tif (!soap_in_%s(soap, NULL, a->%s + i, \"%s\"))", c_ident((Tnode*)p->info.typ->ref), ident(p->sym->name), xsi_type((Tnode*)p->info.typ->ref));
+      fprintf(fout,"\n\t\t\t\t{\tif (soap->error != SOAP_NO_TAG)\n\t\t\t\t\t\treturn NULL;");
+      fprintf(fout,"\n\t\t\t\t\tsoap->error = SOAP_OK;");
+      fprintf(fout,"\n\t\t\t\t\tbreak;");
+      fprintf(fout,"\n\t\t\t\t}");
+    }
+    fprintf(fout,"\n\t\t\t}\n\t\t}\n\t\telse");
+    fprintf(fout,"\n\t\t{\tif (soap_new_block(soap) == NULL)\n\t\t\t\treturn NULL;");
+    if (p->info.maxOccurs > 1)
+    { if (d)
+        fprintf(fout,"\n\t\t\tfor (a->__size[0] = 0; a->__size[0] <= " SOAP_LONG_FORMAT "; a->__size[0]++)", p->info.maxOccurs);
+      else
+        fprintf(fout,"\n\t\t\tfor (a->__size = 0; a->__size <= " SOAP_LONG_FORMAT "; a->__size++)", p->info.maxOccurs);
+    }
+    else
+    { if (d)
+        fprintf(fout,"\n\t\t\tfor (a->__size[0] = 0; ; a->__size[0]++)");
+      else
+        fprintf(fout,"\n\t\t\tfor (a->__size = 0; ; a->__size++)");
+    }
+    fprintf(fout,"\n\t\t\t{\tp = (%s)soap_push_block(soap, NULL, sizeof(%s));\n\t\t\t\tif (!p)\n\t\t\t\t\treturn NULL;", c_type(p->info.typ), c_type((Tnode*)p->info.typ->ref));
+    if (((Tnode*)p->info.typ->ref)->type == Tclass || has_class((Tnode*)p->info.typ->ref) || (!cflag && ((Tnode*)p->info.typ->ref)->type == Tstruct))
+      fprintf(fout,"\n\t\t\t\tSOAP_PLACEMENT_NEW(p, %s);", c_type((Tnode*)p->info.typ->ref));
+    if (((Tnode*)p->info.typ->ref)->type == Tclass && !is_external((Tnode*)p->info.typ->ref) && !is_volatile((Tnode*)p->info.typ->ref) && !is_typedef((Tnode*)p->info.typ->ref))
+      fprintf(fout,"\n\t\t\t\tp->soap_default(soap);");
+    else if (((Tnode*)p->info.typ->ref)->type == Tpointer)
+      fprintf(fout,"\n\t\t\t\t*p = NULL;");
+    else if (!is_XML((Tnode*)p->info.typ->ref))
+      fprintf(fout,"\n\t\t\t\tsoap_default_%s(soap, p);", c_ident((Tnode*)p->info.typ->ref));
+    if (is_XML((Tnode*)p->info.typ->ref) && is_string((Tnode*)p->info.typ->ref))
+      fprintf(fout,"\n\t\t\t\tif (!soap_inliteral(soap, NULL, p))");
+    else if (is_XML((Tnode*)p->info.typ->ref) && is_wstring((Tnode*)p->info.typ->ref))
+      fprintf(fout,"\n\t\t\t\tif (!soap_inwliteral(soap, NULL, p))");
+    else
+      fprintf(fout,"\n\t\t\t\tif (!soap_in_%s(soap, NULL, p, \"%s\"))", c_ident((Tnode*)p->info.typ->ref), xsi_type((Tnode*)p->info.typ->ref));
+    fprintf(fout,"\n\t\t\t\t{\tif (soap->error != SOAP_NO_TAG)\n\t\t\t\t\t\treturn NULL;");
+    fprintf(fout,"\n\t\t\t\t\tsoap->error = SOAP_OK;");
+    fprintf(fout,"\n\t\t\t\t\tbreak;");
+    fprintf(fout,"\n\t\t\t\t}");
+    fprintf(fout,"\n\t\t\t}");
+    fprintf(fout,"\n\t\t\tsoap_pop_block(soap, NULL);");
+    if (p->info.minOccurs > 0)
+      fprintf(fout,"\n\t\t\tif (%sa->__size < " SOAP_LONG_FORMAT ")\n\t\t\t{\tsoap->error = SOAP_OCCURS;\n\t\t\t\treturn NULL;\n\t\t\t}", strict_check(), p->info.minOccurs);
+    if (p->info.maxOccurs > 1)
+      fprintf(fout,"\n\t\t\tif (%sa->__size > " SOAP_LONG_FORMAT ")\n\t\t\t{\tsoap->error = SOAP_OCCURS;\n\t\t\t\treturn NULL;\n\t\t\t}", strict_check(), p->info.maxOccurs);
+    if (((Tnode*)p->info.typ->ref)->type == Tclass
+     || has_class((Tnode*)p->info.typ->ref)
+     || (((Tnode*)p->info.typ->ref)->type == Tstruct && !cflag))
+      fprintf(fout,"\n\t\t\tif (soap->blist->size)\n\t\t\t\ta->%s = soap_new_%s(soap, soap->blist->size/sizeof(%s));\n\t\t\telse\n\t\t\t\ta->%s = NULL;", ident(p->sym->name), c_ident((Tnode*)p->info.typ->ref), c_type((Tnode*)p->info.typ->ref), ident(p->sym->name));
+    else
+      fprintf(fout,"\n\t\t\ta->%s = (%s)soap_malloc(soap, soap->blist->size);", ident(p->sym->name), c_type(p->info.typ));
+    fprintf(fout,"\n\t\t\tsoap_save_block(soap, NULL, (char*)a->%s, 1);", ident(p->sym->name));
+    fprintf(fout,"\n\t\t}");
+    fprintf(fout,"\n\t\tif (soap_element_end_in(soap, tag))\n\t\t\treturn NULL;");
+  }
+  if (has_getter(typ))
+    fprintf(fout,"\n\t\tif (a->get(soap))\n\t\t\treturn NULL;");
+  fprintf(fout,"\n\t}\n\telse\n\t{\t");
+  if (is_attachment(typ))
+    fprintf(fout,"\n#ifndef WITH_LEANER\n\t\tif (*soap->href != '#')\n\t\t{\tif (soap_dime_forward(soap, &a->__ptr, &a->__size, &a->id, &a->type, &a->options))\n\t\t\t\treturn NULL;\n\t\t}\n\t\telse\n#endif\n\t\t\t");
+  if (typ->type == Tclass)
+    fprintf(fout,"a = (%s)soap_id_forward(soap, soap->href, (void*)a, 0, %s, 0, sizeof(%s), 0, soap_copy_%s);", c_type_id(typ, "*"), soap_type(typ), c_type(typ), c_ident(typ));
+  else
+    fprintf(fout,"a = (%s)soap_id_forward(soap, soap->href, (void*)a, 0, %s, 0, sizeof(%s), 0, NULL);", c_type_id(typ, "*"), soap_type(typ), c_type(typ));
+  fprintf(fout,"\n\t\tif (soap->body && soap_element_end_in(soap, tag))\n\t\t\treturn NULL;");
+  fprintf(fout,"\n\t}");
+  fprintf(fout,"\n\treturn a;\n}");
+}
+
+const char *
+cstring(const char *s)
+{ size_t n;
+  char *t;
+  const char *r;
+  for (n = 0, r = s; *r; n++, r++)
+    if (*r == '"' || *r == '\\')
+      n++;
+    else if (*r < 32)
+      n += 3;
+  r = t = (char*)emalloc(n + 1);
+  for (; *s; s++)
+  { if (*s == '"' || *s == '\\')
+    { *t++ = '\\';
+      *t++ = *s;
+    }
+    else if (*s < 32)
+    { sprintf(t, "\\%03o", (unsigned int)(unsigned char)*s);
+      t += 4;
+    }
+    else
+      *t++ = *s;
+  }
+  *t = '\0';
+  return r;
+}
+
+const char *
+xstring(const char *s)
+{ size_t n;
+  char *t;
+  const char *r;
+  for (n = 0, r = s; *r; n++, r++)
+  { if (*r < 32 || *r >= 127)
+      n += 4;
+    else if (*r == '<' || *r == '>')
+      n += 3;
+    else if (*r == '&')
+      n += 4;
+    else if (*r == '"')
+      n += 5;
+    else if (*r == '\\')
+      n += 1;
+  }
+  r = t = (char*)emalloc(n + 1);
+  for (; *s; s++)
+  { if (*s < 32 || *s >= 127)
+    { sprintf(t, "&#%.2x;", (unsigned char)*s);
+      t += 5;
+    }
+    else if (*s == '<')
+    { strcpy(t, "&lt;");
+      t += 4;
+    }
+    else if (*s == '>')
+    { strcpy(t, "&gt;");
+      t += 4;
+    }
+    else if (*s == '&')
+    { strcpy(t, "&amp;");
+      t += 5;
+    }
+    else if (*s == '"')
+    { strcpy(t, "&quot;");
+      t += 6;
+    }
+    else if (*s == '\\')
+    { strcpy(t, "\\\\");
+      t += 2;
+    }
+    else
+      *t++ = *s;
+  }
+  *t = '\0';
+  return r;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/stdsoap2.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,16999 @@
+/*
+	stdsoap2.c[pp] 2.8.17r
+
+	gSOAP runtime engine
+
+gSOAP XML Web services tools
+Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc., All Rights Reserved.
+This part of the software is released under ONE of the following licenses:
+GPL, or the gSOAP public license, or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+Contributors:
+
+Wind River Systems Inc., for the following additions under gSOAP public license:
+  - vxWorks compatible options
+--------------------------------------------------------------------------------
+gSOAP public license.
+
+The contents of this file are subject to the gSOAP Public License Version 1.3
+(the "License"); you may not use this file except in compliance with the
+License. You may obtain a copy of the License at
+http://www.cs.fsu.edu/~engelen/soaplicense.html
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the License.
+
+The Initial Developer of the Original Code is Robert A. van Engelen.
+Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc., All Rights Reserved.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+#define GSOAP_LIB_VERSION 20817
+
+#ifdef AS400
+# pragma convert(819)	/* EBCDIC to ASCII */
+#endif
+
+#include "stdsoap2.h"
+#if defined(VXWORKS) && defined(WM_SECURE_KEY_STORAGE)
+#include <ipcom_key_db.h>
+#endif
+#if GSOAP_VERSION != GSOAP_LIB_VERSION
+# error "GSOAP VERSION MISMATCH IN LIBRARY: PLEASE REINSTALL PACKAGE"
+#endif
+
+#ifdef __BORLANDC__
+# pragma warn -8060
+#else
+# ifdef WIN32
+#  ifdef UNDER_CE
+#   pragma comment(lib, "ws2.lib")	/* WinCE */
+#  else
+#   pragma comment(lib, "ws2_32.lib")
+#  endif
+#  pragma warning(disable : 4996) /* disable deprecation warnings */
+# endif
+#endif
+
+#ifdef __cplusplus
+SOAP_SOURCE_STAMP("@(#) stdsoap2.cpp ver 2.8.17r 2013-12-18 00:00:00 GMT")
+extern "C" {
+#else
+SOAP_SOURCE_STAMP("@(#) stdsoap2.c ver 2.8.17r 2013-12-18 00:00:00 GMT")
+#endif
+
+/* 8bit character representing unknown/nonrepresentable character data (e.g. not supported by current locale with multibyte support enabled) */
+#ifndef SOAP_UNKNOWN_CHAR
+#define SOAP_UNKNOWN_CHAR (127)
+#endif
+
+/*      EOF=-1 */
+#define SOAP_LT (soap_wchar)(-2) /* XML-specific '<' */
+#define SOAP_TT (soap_wchar)(-3) /* XML-specific '</' */
+#define SOAP_GT (soap_wchar)(-4) /* XML-specific '>' */
+#define SOAP_QT (soap_wchar)(-5) /* XML-specific '"' */
+#define SOAP_AP (soap_wchar)(-6) /* XML-specific ''' */
+
+#define soap_blank(c)		((c)+1 > 0 && (c) <= 32)
+#define soap_notblank(c)	((c) > 32)
+
+#if defined(WIN32) && !defined(UNDER_CE)
+#define soap_hash_ptr(p)	((PtrToUlong(p) >> 3) & (SOAP_PTRHASH - 1))
+#else
+#define soap_hash_ptr(p)	((size_t)(((unsigned long)(p) >> 3) & (SOAP_PTRHASH-1)))
+#endif
+
+#if !defined(WITH_LEAN) || defined(SOAP_DEBUG)
+static void soap_init_logs(struct soap*);
+#endif
+#ifdef SOAP_DEBUG
+static void soap_close_logfile(struct soap*, int);
+static void soap_set_logfile(struct soap*, int, const char*);
+#endif
+
+#ifdef SOAP_MEM_DEBUG
+static void soap_init_mht(struct soap*);
+static void soap_free_mht(struct soap*);
+static void soap_track_unlink(struct soap*, const void*);
+#endif
+
+#ifndef PALM_2
+static int soap_set_error(struct soap*, const char*, const char*, const char*, const char*, int);
+static int soap_copy_fault(struct soap*, const char*, const char*, const char*, const char*);
+static int soap_getattrval(struct soap*, char*, size_t, soap_wchar);
+#endif
+
+#ifndef PALM_1
+static void soap_free_ns(struct soap *soap);
+static soap_wchar soap_char(struct soap*);
+static soap_wchar soap_get_pi(struct soap*);
+static int soap_isxdigit(int);
+static void *fplugin(struct soap*, const char*);
+static size_t soap_count_attachments(struct soap *soap);
+static int soap_try_connect_command(struct soap*, int http_command, const char *endpoint, const char *action);
+#ifdef WITH_NTLM
+static int soap_ntlm_handshake(struct soap *soap, int command, const char *endpoint, const char *host, int port);
+#endif
+#ifndef WITH_NOIDREF
+static int soap_has_copies(struct soap*, const char*, const char*);
+static void soap_init_iht(struct soap*);
+static void soap_free_iht(struct soap*);
+static void soap_init_pht(struct soap*);
+static void soap_free_pht(struct soap*);
+#endif
+#endif
+
+#ifndef WITH_LEAN
+static const char *soap_set_validation_fault(struct soap*, const char*, const char*);
+static int soap_isnumeric(struct soap*, const char*);
+static struct soap_nlist *soap_push_ns(struct soap *soap, const char *id, const char *ns, short utilized);
+static void soap_utilize_ns(struct soap *soap, const char *tag);
+#endif
+
+#ifndef WITH_LEANER
+#ifndef PALM_1
+static struct soap_multipart *soap_new_multipart(struct soap*, struct soap_multipart**, struct soap_multipart**, char*, size_t);
+static int soap_putdimefield(struct soap*, const char*, size_t);
+static char *soap_getdimefield(struct soap*, size_t);
+static void soap_select_mime_boundary(struct soap*);
+static int soap_valid_mime_boundary(struct soap*);
+static void soap_resolve_attachment(struct soap*, struct soap_multipart*);
+#endif
+#endif
+
+#ifdef WITH_GZIP
+static int soap_getgziphdr(struct soap*);
+#endif
+
+#ifdef WITH_OPENSSL
+# ifndef SOAP_SSL_RSA_BITS
+#  define SOAP_SSL_RSA_BITS 2048
+# endif
+static int soap_ssl_init_done = 0;
+static int ssl_auth_init(struct soap*);
+static int ssl_verify_callback(int, X509_STORE_CTX*);
+static int ssl_verify_callback_allow_expired_certificate(int, X509_STORE_CTX*);
+static int ssl_password(char*, int, int, void *);
+#endif
+
+#ifdef WITH_GNUTLS
+# ifndef SOAP_SSL_RSA_BITS
+#  define SOAP_SSL_RSA_BITS 2048
+# endif
+static int soap_ssl_init_done = 0;
+static const char *ssl_verify(struct soap *soap, const char *host);
+# if defined(HAVE_PTHREAD_H)
+#  include <pthread.h>
+   /* make GNUTLS thread safe with pthreads */
+   GCRY_THREAD_OPTION_PTHREAD_IMPL;
+# elif defined(HAVE_PTH_H)
+   #include <pth.h>
+   /* make GNUTLS thread safe with PTH */
+   GCRY_THREAD_OPTION_PTH_IMPL;
+# endif
+#endif
+
+#if !defined(WITH_NOHTTP) || !defined(WITH_LEANER)
+#ifndef PALM_1
+static const char *soap_decode(char*, size_t, const char*, const char*);
+#endif
+#endif
+
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static soap_wchar soap_getchunkchar(struct soap*);
+static const char *http_error(struct soap*, int);
+static int http_get(struct soap*);
+static int http_405(struct soap*);
+static int http_200(struct soap*);
+static int http_post(struct soap*, const char*, const char*, int, const char*, const char*, size_t);
+static int http_send_header(struct soap*, const char*);
+static int http_post_header(struct soap*, const char*, const char*);
+static int http_response(struct soap*, int, size_t);
+static int http_parse(struct soap*);
+static int http_parse_header(struct soap*, const char*, const char*);
+#endif
+#endif
+
+#ifndef WITH_NOIO
+
+#ifndef PALM_1
+static int fsend(struct soap*, const char*, size_t);
+static size_t frecv(struct soap*, char*, size_t);
+static int tcp_init(struct soap*);
+static const char *tcp_error(struct soap*);
+#ifndef WITH_IPV6
+static int tcp_gethost(struct soap*, const char *addr, struct in_addr *inaddr);
+#endif
+static SOAP_SOCKET tcp_connect(struct soap*, const char *endpoint, const char *host, int port);
+static SOAP_SOCKET tcp_accept(struct soap*, SOAP_SOCKET, struct sockaddr*, int*);
+static int tcp_select(struct soap*, SOAP_SOCKET, int, int);
+static int tcp_disconnect(struct soap*);
+static int tcp_closesocket(struct soap*, SOAP_SOCKET);
+static int tcp_shutdownsocket(struct soap*, SOAP_SOCKET, int);
+static const char *soap_strerror(struct soap*);
+#endif
+
+#define SOAP_TCP_SELECT_RCV 0x1
+#define SOAP_TCP_SELECT_SND 0x2
+#define SOAP_TCP_SELECT_ERR 0x4
+#define SOAP_TCP_SELECT_ALL 0x7
+
+#if defined(WIN32)
+  #define SOAP_SOCKBLOCK(fd) \
+  { u_long blocking = 0; \
+    ioctlsocket(fd, FIONBIO, &blocking); \
+  }
+  #define SOAP_SOCKNONBLOCK(fd) \
+  { u_long nonblocking = 1; \
+    ioctlsocket(fd, FIONBIO, &nonblocking); \
+  }
+#elif defined(VXWORKS)
+  #define SOAP_SOCKBLOCK(fd) \
+  { u_long blocking = 0; \
+    ioctl(fd, FIONBIO, (int)(&blocking)); \
+  }
+  #define SOAP_SOCKNONBLOCK(fd) \
+  { u_long nonblocking = 1; \
+    ioctl(fd, FIONBIO, (int)(&nonblocking)); \
+  }
+#elif defined(__VMS)
+  #define SOAP_SOCKBLOCK(fd) \
+  { int blocking = 0; \
+    ioctl(fd, FIONBIO, &blocking); \
+  }
+  #define SOAP_SOCKNONBLOCK(fd) \
+  { int nonblocking = 1; \
+    ioctl(fd, FIONBIO, &nonblocking); \
+  }
+#elif defined(PALM)
+  #define SOAP_SOCKBLOCK(fd) fcntl(fd, F_SETFL, fcntl(fd, F_GETFL, 0)&~O_NONBLOCK);
+  #define SOAP_SOCKNONBLOCK(fd) fcntl(fd, F_SETFL, fcntl(fd, F_GETFL, 0)|O_NONBLOCK);
+#elif defined(SYMBIAN)
+  #define SOAP_SOCKBLOCK(fd) \
+  { long blocking = 0; \
+    ioctl(fd, 0/*FIONBIO*/, &blocking); \
+  }
+  #define SOAP_SOCKNONBLOCK(fd) \
+  { long nonblocking = 1; \
+    ioctl(fd, 0/*FIONBIO*/, &nonblocking); \
+  }
+#else
+  #define SOAP_SOCKBLOCK(fd) fcntl(fd, F_SETFL, fcntl(fd, F_GETFL)&~O_NONBLOCK);
+  #define SOAP_SOCKNONBLOCK(fd) fcntl(fd, F_SETFL, fcntl(fd, F_GETFL)|O_NONBLOCK);
+#endif
+
+#endif
+
+#if defined(PALM) && !defined(PALM_2)
+unsigned short errno;
+#endif
+
+#ifndef PALM_1
+static const char soap_env1[42] = "http://schemas.xmlsoap.org/soap/envelope/";
+static const char soap_enc1[42] = "http://schemas.xmlsoap.org/soap/encoding/";
+static const char soap_env2[40] = "http://www.w3.org/2003/05/soap-envelope";
+static const char soap_enc2[40] = "http://www.w3.org/2003/05/soap-encoding";
+static const char soap_rpc[35] = "http://www.w3.org/2003/05/soap-rpc";
+#endif
+
+#ifndef PALM_1
+const union soap_double_nan soap_double_nan = {{0xFFFFFFFF, 0xFFFFFFFF}};
+const char soap_base64o[65] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+const char soap_base64i[81] = "\76XXX\77\64\65\66\67\70\71\72\73\74\75XXXXXXX\00\01\02\03\04\05\06\07\10\11\12\13\14\15\16\17\20\21\22\23\24\25\26\27\30\31XXXXXX\32\33\34\35\36\37\40\41\42\43\44\45\46\47\50\51\52\53\54\55\56\57\60\61\62\63";
+#endif
+
+#ifndef WITH_LEAN
+static const char soap_indent[11] = "\n\t\t\t\t\t\t\t\t\t";
+/* Alternative indentation form for SOAP_XML_INDENT:
+static const char soap_indent[21] = "\n                   ";
+*/
+#endif
+
+#ifndef SOAP_CANARY
+# define SOAP_CANARY (0xC0DE)
+#endif
+
+static const char soap_padding[4] = "\0\0\0";
+#define SOAP_STR_PADDING (soap_padding)
+#define SOAP_STR_EOS (soap_padding)
+#define SOAP_NON_NULL (soap_padding)
+
+#ifndef WITH_LEAN
+static const struct soap_code_map html_entity_codes[] = /* entities for XHTML parsing */
+{ { 160, "nbsp" },
+  { 161, "iexcl" },
+  { 162, "cent" },
+  { 163, "pound" },
+  { 164, "curren" },
+  { 165, "yen" },
+  { 166, "brvbar" },
+  { 167, "sect" },
+  { 168, "uml" },
+  { 169, "copy" },
+  { 170, "ordf" },
+  { 171, "laquo" },
+  { 172, "not" },
+  { 173, "shy" },
+  { 174, "reg" },
+  { 175, "macr" },
+  { 176, "deg" },
+  { 177, "plusmn" },
+  { 178, "sup2" },
+  { 179, "sup3" },
+  { 180, "acute" },
+  { 181, "micro" },
+  { 182, "para" },
+  { 183, "middot" },
+  { 184, "cedil" },
+  { 185, "sup1" },
+  { 186, "ordm" },
+  { 187, "raquo" },
+  { 188, "frac14" },
+  { 189, "frac12" },
+  { 190, "frac34" },
+  { 191, "iquest" },
+  { 192, "Agrave" },
+  { 193, "Aacute" },
+  { 194, "Acirc" },
+  { 195, "Atilde" },
+  { 196, "Auml" },
+  { 197, "Aring" },
+  { 198, "AElig" },
+  { 199, "Ccedil" },
+  { 200, "Egrave" },
+  { 201, "Eacute" },
+  { 202, "Ecirc" },
+  { 203, "Euml" },
+  { 204, "Igrave" },
+  { 205, "Iacute" },
+  { 206, "Icirc" },
+  { 207, "Iuml" },
+  { 208, "ETH" },
+  { 209, "Ntilde" },
+  { 210, "Ograve" },
+  { 211, "Oacute" },
+  { 212, "Ocirc" },
+  { 213, "Otilde" },
+  { 214, "Ouml" },
+  { 215, "times" },
+  { 216, "Oslash" },
+  { 217, "Ugrave" },
+  { 218, "Uacute" },
+  { 219, "Ucirc" },
+  { 220, "Uuml" },
+  { 221, "Yacute" },
+  { 222, "THORN" },
+  { 223, "szlig" },
+  { 224, "agrave" },
+  { 225, "aacute" },
+  { 226, "acirc" },
+  { 227, "atilde" },
+  { 228, "auml" },
+  { 229, "aring" },
+  { 230, "aelig" },
+  { 231, "ccedil" },
+  { 232, "egrave" },
+  { 233, "eacute" },
+  { 234, "ecirc" },
+  { 235, "euml" },
+  { 236, "igrave" },
+  { 237, "iacute" },
+  { 238, "icirc" },
+  { 239, "iuml" },
+  { 240, "eth" },
+  { 241, "ntilde" },
+  { 242, "ograve" },
+  { 243, "oacute" },
+  { 244, "ocirc" },
+  { 245, "otilde" },
+  { 246, "ouml" },
+  { 247, "divide" },
+  { 248, "oslash" },
+  { 249, "ugrave" },
+  { 250, "uacute" },
+  { 251, "ucirc" },
+  { 252, "uuml" },
+  { 253, "yacute" },
+  { 254, "thorn" },
+  { 255, "yuml" },
+  {   0, NULL }
+};
+#endif
+
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+static const struct soap_code_map h_error_codes[] =
+{
+#ifdef HOST_NOT_FOUND
+  { HOST_NOT_FOUND, "Host not found" },
+#endif
+#ifdef TRY_AGAIN
+  { TRY_AGAIN, "Try Again" },
+#endif
+#ifdef NO_RECOVERY
+  { NO_RECOVERY, "No Recovery" },
+#endif
+#ifdef NO_DATA
+  { NO_DATA, "No Data" },
+#endif
+#ifdef NO_ADDRESS
+  { NO_ADDRESS, "No Address" },
+#endif
+  { 0, NULL }
+};
+#endif
+#endif
+
+#ifndef WITH_NOHTTP
+#ifndef WITH_LEAN
+static const struct soap_code_map h_http_error_codes[] =
+{ { 200, "OK" },
+  { 201, "Created" },
+  { 202, "Accepted" },
+  { 203, "Non-Authoritative Information" },
+  { 204, "No Content" },
+  { 205, "Reset Content" },
+  { 206, "Partial Content" },
+  { 300, "Multiple Choices" },
+  { 301, "Moved Permanently" },
+  { 302, "Found" },
+  { 303, "See Other" },
+  { 304, "Not Modified" },
+  { 305, "Use Proxy" },
+  { 307, "Temporary Redirect" },
+  { 400, "Bad Request" },
+  { 401, "Unauthorized" },
+  { 402, "Payment Required" },
+  { 403, "Forbidden" },
+  { 404, "Not Found" },
+  { 405, "Method Not Allowed" },
+  { 406, "Not Acceptable" },
+  { 407, "Proxy Authentication Required" },
+  { 408, "Request Time-out" },
+  { 409, "Conflict" },
+  { 410, "Gone" },
+  { 411, "Length Required" },
+  { 412, "Precondition Failed" },
+  { 413, "Request Entity Too Large" },
+  { 414, "Request-URI Too Large" },
+  { 415, "Unsupported Media Type" },
+  { 416, "Requested range not satisfiable" },
+  { 417, "Expectation Failed" },
+  { 500, "Internal Server Error" },
+  { 501, "Not Implemented" },
+  { 502, "Bad Gateway" },
+  { 503, "Service Unavailable" },
+  { 504, "Gateway Time-out" },
+  { 505, "HTTP Version not supported" },
+  {   0, NULL }
+};
+#endif
+#endif
+
+#ifdef WITH_OPENSSL
+static const struct soap_code_map h_ssl_error_codes[] =
+{
+#define _SSL_ERROR(e) { e, #e }
+  _SSL_ERROR(SSL_ERROR_SSL),
+  _SSL_ERROR(SSL_ERROR_ZERO_RETURN),
+  _SSL_ERROR(SSL_ERROR_WANT_READ),
+  _SSL_ERROR(SSL_ERROR_WANT_WRITE),
+  _SSL_ERROR(SSL_ERROR_WANT_CONNECT),
+  _SSL_ERROR(SSL_ERROR_WANT_X509_LOOKUP),
+  _SSL_ERROR(SSL_ERROR_SYSCALL),
+  { 0, NULL }
+};
+#endif
+
+#ifndef WITH_LEANER
+static const struct soap_code_map mime_codes[] =
+{ { SOAP_MIME_7BIT,		"7bit" },
+  { SOAP_MIME_8BIT,		"8bit" },
+  { SOAP_MIME_BINARY,		"binary" },
+  { SOAP_MIME_QUOTED_PRINTABLE, "quoted-printable" },
+  { SOAP_MIME_BASE64,		"base64" },
+  { SOAP_MIME_IETF_TOKEN,	"ietf-token" },
+  { SOAP_MIME_X_TOKEN,		"x-token" },
+  { 0,				NULL }
+};
+#endif
+
+#ifdef WIN32
+static int tcp_done = 0;
+#endif
+
+#if defined(HP_UX) && defined(HAVE_GETHOSTBYNAME_R)
+extern int h_errno;
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static int
+fsend(struct soap *soap, const char *s, size_t n)
+{ register int nwritten, err;
+  SOAP_SOCKET sk;
+#if defined(__cplusplus) && !defined(WITH_LEAN) && !defined(WITH_COMPAT)
+  if (soap->os)
+  { soap->os->write(s, (std::streamsize)n);
+    if (soap->os->good())
+      return SOAP_OK;
+    soap->errnum = 0;
+    return SOAP_EOF;
+  }
+#endif
+  sk = soap->sendsk;
+  if (!soap_valid_socket(sk))
+    sk = soap->socket;
+  while (n)
+  { if (soap_valid_socket(sk))
+    {
+      if (soap->send_timeout)
+      { for (;;)
+        { register int r;
+#ifdef WITH_OPENSSL
+          if (soap->ssl)
+            r = tcp_select(soap, sk, SOAP_TCP_SELECT_ALL, soap->send_timeout);
+          else
+#endif
+#ifdef WITH_GNUTLS
+          if (soap->session)
+            r = tcp_select(soap, sk, SOAP_TCP_SELECT_ALL, soap->send_timeout);
+          else
+#endif
+            r = tcp_select(soap, sk, SOAP_TCP_SELECT_SND | SOAP_TCP_SELECT_ERR, soap->send_timeout);
+          if (r > 0)
+            break;
+          if (!r)
+            return SOAP_EOF;
+          err = soap->errnum;
+          if (!err)
+            return soap->error;
+          if (err != SOAP_EAGAIN && err != SOAP_EWOULDBLOCK)
+            return SOAP_EOF;
+        }
+      }
+#ifdef WITH_OPENSSL
+      if (soap->ssl)
+        nwritten = SSL_write(soap->ssl, s, (int)n);
+      else if (soap->bio)
+        nwritten = BIO_write(soap->bio, s, (int)n);
+      else
+#endif
+#ifdef WITH_GNUTLS
+      if (soap->session)
+        nwritten = gnutls_record_send(soap->session, s, n);
+      else
+#endif
+#ifndef WITH_LEAN
+      if ((soap->omode & SOAP_IO_UDP))
+      { if (soap->peerlen)
+          nwritten = sendto(sk, (char*)s, (SOAP_WINSOCKINT)n, soap->socket_flags, (struct sockaddr*)&soap->peer, (SOAP_WINSOCKINT)soap->peerlen);
+        else
+          nwritten = send(sk, s, (SOAP_WINSOCKINT)n, soap->socket_flags);
+        /* retry and back-off algorithm */
+        /* TODO: this is not very clear from specs so verify and limit conditions under which we should loop (e.g. ENOBUFS) */
+        if (nwritten < 0)
+        { int udp_repeat;
+          int udp_delay;
+          if ((soap->connect_flags & SO_BROADCAST))
+            udp_repeat = 2; /* SOAP-over-UDP MULTICAST_UDP_REPEAT - 1 */
+          else
+            udp_repeat = 1; /* SOAP-over-UDP UNICAST_UDP_REPEAT - 1 */
+          udp_delay = ((unsigned int)soap_random % 201) + 50; /* UDP_MIN_DELAY .. UDP_MAX_DELAY */
+          do
+          { tcp_select(soap, sk, SOAP_TCP_SELECT_ERR, -1000 * udp_delay);
+            if (soap->peerlen)
+              nwritten = sendto(sk, (char*)s, (SOAP_WINSOCKINT)n, soap->socket_flags, (struct sockaddr*)&soap->peer, (SOAP_WINSOCKINT)soap->peerlen);
+            else
+              nwritten = send(sk, s, (SOAP_WINSOCKINT)n, soap->socket_flags);
+            udp_delay <<= 1;
+            if (udp_delay > 500) /* UDP_UPPER_DELAY */
+              udp_delay = 500;
+          }
+          while (nwritten < 0 && --udp_repeat > 0);
+        }
+        if (nwritten < 0)
+        { err = soap_socket_errno(sk);
+          if (err && err != SOAP_EINTR)
+          { soap->errnum = err;
+            return SOAP_EOF;
+          }
+          nwritten = 0; /* and call write() again */
+        }
+      }
+      else
+#endif
+#if !defined(PALM) && !defined(AS400)
+        nwritten = send(sk, s, (int)n, soap->socket_flags);
+#else
+        nwritten = send(sk, (void*)s, n, soap->socket_flags);
+#endif
+      if (nwritten <= 0)
+      {
+        register int r = 0;
+        err = soap_socket_errno(sk);
+#ifdef WITH_OPENSSL
+        if (soap->ssl && (r = SSL_get_error(soap->ssl, nwritten)) != SSL_ERROR_NONE && r != SSL_ERROR_WANT_READ && r != SSL_ERROR_WANT_WRITE)
+        { soap->errnum = err;
+          return SOAP_EOF;
+        }
+#endif
+#ifdef WITH_GNUTLS
+        if (soap->session)
+        { if (nwritten == GNUTLS_E_INTERRUPTED)
+            err = SOAP_EINTR;
+          else if (nwritten == GNUTLS_E_AGAIN)
+            err = SOAP_EAGAIN;
+        }
+#endif
+        if (err == SOAP_EWOULDBLOCK || err == SOAP_EAGAIN)
+        {
+#if defined(WITH_OPENSSL)
+          if (soap->ssl && r == SSL_ERROR_WANT_READ)
+            r = tcp_select(soap, sk, SOAP_TCP_SELECT_RCV | SOAP_TCP_SELECT_ERR, soap->send_timeout ? soap->send_timeout : -10000);
+          else
+#elif defined(WITH_GNUTLS)
+          if (soap->session && !gnutls_record_get_direction(soap->session))
+            r = tcp_select(soap, sk, SOAP_TCP_SELECT_RCV | SOAP_TCP_SELECT_ERR, soap->send_timeout ? soap->send_timeout : -10000);
+          else
+#endif
+            r = tcp_select(soap, sk, SOAP_TCP_SELECT_SND | SOAP_TCP_SELECT_ERR, soap->send_timeout ? soap->send_timeout : -10000);
+          if (!r && soap->send_timeout)
+            return SOAP_EOF;
+          if (r < 0)
+            return SOAP_EOF;
+        }
+        else if (err && err != SOAP_EINTR)
+        { soap->errnum = err;
+          return SOAP_EOF;
+        }
+        nwritten = 0; /* and call write() again */
+      }
+    }
+    else
+    {
+#ifdef WITH_FASTCGI
+      nwritten = fwrite((void*)s, 1, n, stdout);
+      fflush(stdout);
+#else
+#ifdef UNDER_CE
+      nwritten = fwrite(s, 1, n, soap->sendfd);
+#else
+#ifdef VXWORKS
+#ifdef WMW_RPM_IO
+      if (soap->rpmreqid)
+        nwritten = (httpBlockPut(soap->rpmreqid, (char*)s, n) == 0) ? n : -1;
+      else
+#endif
+        nwritten = fwrite(s, sizeof(char), n, fdopen(soap->sendfd, "w"));
+#else
+#ifdef WIN32
+      nwritten = _write(soap->sendfd, s, (unsigned int)n);
+#else
+      nwritten = write(soap->sendfd, s, (unsigned int)n);
+#endif
+#endif
+#endif
+#endif
+      if (nwritten <= 0)
+      {
+#ifndef WITH_FASTCGI
+        err = soap_errno;
+#else
+        err = EOF;
+#endif
+        if (err && err != SOAP_EINTR && err != SOAP_EWOULDBLOCK && err != SOAP_EAGAIN)
+        { soap->errnum = err;
+          return SOAP_EOF;
+        }
+        nwritten = 0; /* and call write() again */
+      }
+    }
+    n -= nwritten;
+    s += nwritten;
+  }
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_send_raw(struct soap *soap, const char *s, size_t n)
+{ if (!n)
+    return SOAP_OK;
+#ifndef WITH_LEANER
+  if (soap->fpreparesend && (soap->mode & SOAP_IO) != SOAP_IO_STORE && (soap->mode & SOAP_IO_LENGTH) && (soap->error = soap->fpreparesend(soap, s, n)))
+    return soap->error;
+  if (soap->ffiltersend && (soap->error = soap->ffiltersend(soap, &s, &n)))
+    return soap->error;
+#endif
+  if (soap->mode & SOAP_IO_LENGTH)
+    soap->count += n;
+  else if (soap->mode & SOAP_IO)
+  { register size_t i = SOAP_BUFLEN - soap->bufidx;
+    while (n >= i)
+    { memcpy(soap->buf + soap->bufidx, s, i);
+      soap->bufidx = SOAP_BUFLEN;
+      if (soap_flush(soap))
+        return soap->error;
+      s += i;
+      n -= i;
+      i = SOAP_BUFLEN;
+    }
+    memcpy(soap->buf + soap->bufidx, s, n);
+    soap->bufidx += n;
+  }
+  else
+    return soap_flush_raw(soap, s, n);
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_flush(struct soap *soap)
+{ register size_t n = soap->bufidx;
+  if (n)
+  {
+#ifndef WITH_LEANER
+    if ((soap->mode & SOAP_IO) == SOAP_IO_STORE)
+    { register int r;
+      if (soap->fpreparesend && (r = soap->fpreparesend(soap, soap->buf, n)))
+        return soap->error = r;
+    }
+#endif
+    soap->bufidx = 0;
+#ifdef WITH_ZLIB
+    if (soap->mode & SOAP_ENC_ZLIB)
+    { soap->d_stream->next_in = (Byte*)soap->buf;
+      soap->d_stream->avail_in = (unsigned int)n;
+#ifdef WITH_GZIP
+      soap->z_crc = crc32(soap->z_crc, (Byte*)soap->buf, (unsigned int)n);
+#endif
+      do
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Deflating %u bytes\n", soap->d_stream->avail_in));
+        if (deflate(soap->d_stream, Z_NO_FLUSH) != Z_OK)
+        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unable to deflate: %s\n", soap->d_stream->msg ? soap->d_stream->msg : SOAP_STR_EOS));
+          return soap->error = SOAP_ZLIB_ERROR;
+        }
+        if (!soap->d_stream->avail_out)
+        { if (soap_flush_raw(soap, soap->z_buf, SOAP_BUFLEN))
+            return soap->error;
+          soap->d_stream->next_out = (Byte*)soap->z_buf;
+          soap->d_stream->avail_out = SOAP_BUFLEN;
+        }
+      } while (soap->d_stream->avail_in);
+    }
+    else
+#endif
+      return soap_flush_raw(soap, soap->buf, n);
+  }
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_flush_raw(struct soap *soap, const char *s, size_t n)
+{ if ((soap->mode & SOAP_IO) == SOAP_IO_STORE)
+  { register char *t;
+    if (!(t = (char*)soap_push_block(soap, NULL, n)))
+      return soap->error = SOAP_EOM;
+    memcpy(t, s, n);
+    return SOAP_OK;
+  }
+#ifndef WITH_LEANER
+  if ((soap->mode & SOAP_IO) == SOAP_IO_CHUNK)
+  { char t[16];
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(t, sizeof(t), &"\r\n%lX\r\n"[soap->chunksize ? 0 : 2], (unsigned long)n);
+#else
+    sprintf(t, &"\r\n%lX\r\n"[soap->chunksize ? 0 : 2], (unsigned long)n);
+#endif
+    DBGMSG(SENT, t, strlen(t));
+    if ((soap->error = soap->fsend(soap, t, strlen(t))))
+      return soap->error;
+    soap->chunksize += n;
+  }
+  DBGMSG(SENT, s, n);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Send %u bytes to socket=%d/fd=%d\n", (unsigned int)n, soap->socket, soap->sendfd));
+#endif
+  return soap->error = soap->fsend(soap, s, n);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_send(struct soap *soap, const char *s)
+{ if (s)
+    return soap_send_raw(soap, s, strlen(s));
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_send2(struct soap *soap, const char *s1, const char *s2)
+{ if (soap_send(soap, s1))
+    return soap->error;
+  return soap_send(soap, s2);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_send3(struct soap *soap, const char *s1, const char *s2, const char *s3)
+{ if (soap_send(soap, s1)
+   || soap_send(soap, s2))
+    return soap->error;
+  return soap_send(soap, s3);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static size_t
+frecv(struct soap *soap, char *s, size_t n)
+{ register int r;
+  register int retries = 100; /* max 100 retries with non-blocking sockets */
+  SOAP_SOCKET sk;
+  soap->errnum = 0;
+#if defined(__cplusplus) && !defined(WITH_LEAN) && !defined(WITH_COMPAT)
+  if (soap->is)
+  { if (soap->is->good())
+      return soap->is->read(s, (std::streamsize)n).gcount();
+    return 0;
+  }
+#endif
+  sk = soap->recvsk;
+  if (!soap_valid_socket(sk))
+    sk = soap->socket;
+  if (soap_valid_socket(sk))
+  { for (;;)
+    {
+#ifdef WITH_OPENSSL
+      register int err = 0;
+#endif
+#ifdef WITH_OPENSSL
+      if (soap->recv_timeout && !soap->ssl) /* SSL: sockets are nonblocking */
+#else
+      if (soap->recv_timeout)
+#endif
+      { for (;;)
+        { r = tcp_select(soap, sk, SOAP_TCP_SELECT_RCV | SOAP_TCP_SELECT_ERR, soap->recv_timeout);
+          if (r > 0)
+            break;
+          if (!r)
+            return 0;
+          r = soap->errnum;
+          if (r != SOAP_EAGAIN && r != SOAP_EWOULDBLOCK)
+            return 0;
+        }
+      }
+#ifdef WITH_OPENSSL
+      if (soap->ssl)
+      { r = SSL_read(soap->ssl, s, (int)n);
+        if (r > 0)
+          return (size_t)r;
+        err = SSL_get_error(soap->ssl, r);
+        if (err != SSL_ERROR_NONE && err != SSL_ERROR_WANT_READ && err != SSL_ERROR_WANT_WRITE)
+          return 0;
+      }
+      else if (soap->bio)
+      { r = BIO_read(soap->bio, s, (int)n);
+        if (r > 0)
+          return (size_t)r;
+        return 0;
+      }
+      else
+#endif
+#ifdef WITH_GNUTLS
+      if (soap->session)
+      { r = (int)gnutls_record_recv(soap->session, s, n);
+        if (r >= 0)
+          return (size_t)r;
+      }
+      else
+#endif
+      {
+#ifndef WITH_LEAN
+        if ((soap->omode & SOAP_IO_UDP))
+        { SOAP_SOCKLEN_T k = (SOAP_SOCKLEN_T)sizeof(soap->peer);
+          memset((void*)&soap->peer, 0, sizeof(soap->peer));
+          r = recvfrom(sk, s, (SOAP_WINSOCKINT)n, soap->socket_flags, (struct sockaddr*)&soap->peer, &k);	/* portability note: see SOAP_SOCKLEN_T definition in stdsoap2.h */
+          soap->peerlen = (size_t)k;
+#ifndef WITH_IPV6
+          soap->ip = ntohl(soap->peer.sin_addr.s_addr);
+#endif
+        }
+        else
+#endif
+          r = recv(sk, s, (int)n, soap->socket_flags);
+#ifdef PALM
+        /* CycleSyncDisplay(curStatusMsg); */
+#endif
+        if (r >= 0)
+          return (size_t)r;
+        r = soap_socket_errno(sk);
+        if (r != SOAP_EINTR && r != SOAP_EAGAIN && r != SOAP_EWOULDBLOCK)
+        { soap->errnum = r;
+          return 0;
+        }
+      }
+#if defined(WITH_OPENSSL)
+      if (soap->ssl && err == SSL_ERROR_WANT_WRITE)
+        r = tcp_select(soap, sk, SOAP_TCP_SELECT_SND | SOAP_TCP_SELECT_ERR, soap->recv_timeout ? soap->recv_timeout : 5);
+      else
+#elif defined(WITH_GNUTLS)
+      if (soap->session && gnutls_record_get_direction(soap->session))
+        r = tcp_select(soap, sk, SOAP_TCP_SELECT_SND | SOAP_TCP_SELECT_ERR, soap->recv_timeout ? soap->recv_timeout : 5);
+      else
+#endif
+        r = tcp_select(soap, sk, SOAP_TCP_SELECT_RCV | SOAP_TCP_SELECT_ERR, soap->recv_timeout ? soap->recv_timeout : 5);
+      if (!r && soap->recv_timeout)
+        return 0;
+      if (r < 0)
+      { r = soap->errnum;
+        if (r != SOAP_EAGAIN && r != SOAP_EWOULDBLOCK)
+          return 0;
+      }
+      if (retries-- <= 0)
+        return 0;
+#ifdef PALM
+      r = soap_socket_errno(sk);
+      if (r != SOAP_EINTR && retries-- <= 0)
+      { soap->errnum = r;
+        return 0;
+      }
+#endif
+    }
+  }
+#ifdef WITH_FASTCGI
+  return fread(s, 1, n, stdin);
+#else
+#ifdef UNDER_CE
+  return fread(s, 1, n, soap->recvfd);
+#else
+#ifdef WMW_RPM_IO
+  if (soap->rpmreqid)
+    r = httpBlockRead(soap->rpmreqid, s, n);
+  else
+#endif
+#ifdef WIN32
+    r = _read(soap->recvfd, s, (unsigned int)n);
+#else
+    r = read(soap->recvfd, s, (unsigned int)n);
+#endif
+  if (r >= 0)
+    return (size_t)r;
+  soap->errnum = soap_errno;
+  return 0;
+#endif
+#endif
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static soap_wchar
+soap_getchunkchar(struct soap *soap)
+{ if (soap->bufidx < soap->buflen)
+    return soap->buf[soap->bufidx++];
+  soap->bufidx = 0;
+  soap->buflen = soap->chunkbuflen = soap->frecv(soap, soap->buf, SOAP_BUFLEN);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Read %u bytes from socket=%d/fd=%d\n", (unsigned int)soap->buflen, soap->socket, soap->recvfd));
+  DBGMSG(RECV, soap->buf, soap->buflen);
+  if (soap->buflen)
+    return soap->buf[soap->bufidx++];
+  return EOF;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+static int
+soap_isxdigit(int c)
+{ return (c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f');
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_recv_raw(struct soap *soap)
+{ register size_t ret;
+#if !defined(WITH_LEANER) || defined(WITH_ZLIB)
+  register int r;
+#endif
+#ifdef WITH_ZLIB
+  if (soap->mode & SOAP_ENC_ZLIB)
+  { if (soap->d_stream->next_out == Z_NULL)
+    { soap->bufidx = soap->buflen = 0;
+      return EOF;
+    }
+    if (soap->d_stream->avail_in || !soap->d_stream->avail_out)
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Inflating\n"));
+      soap->d_stream->next_out = (Byte*)soap->buf;
+      soap->d_stream->avail_out = SOAP_BUFLEN;
+      r = inflate(soap->d_stream, Z_NO_FLUSH);
+      if (r == Z_NEED_DICT && soap->z_dict)
+        r = inflateSetDictionary(soap->d_stream, (const Bytef*)soap->z_dict, soap->z_dict_len);
+      if (r == Z_OK || r == Z_STREAM_END)
+      { soap->bufidx = 0;
+        ret = soap->buflen = SOAP_BUFLEN - soap->d_stream->avail_out;
+        if (soap->zlib_in == SOAP_ZLIB_GZIP)
+          soap->z_crc = crc32(soap->z_crc, (Byte*)soap->buf, (unsigned int)ret);
+        if (r == Z_STREAM_END)
+        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Inflated %lu->%lu bytes\n", soap->d_stream->total_in, soap->d_stream->total_out));
+          soap->z_ratio_in = (float)soap->d_stream->total_in / (float)soap->d_stream->total_out;
+          soap->d_stream->next_out = Z_NULL;
+        }
+        if (ret)
+        { soap->count += ret;
+          DBGLOG(RECV, SOAP_MESSAGE(fdebug, "\n---- decompressed ----\n"));
+          DBGMSG(RECV, soap->buf, ret);
+          DBGLOG(RECV, SOAP_MESSAGE(fdebug, "\n----\n"));
+#ifndef WITH_LEANER
+          if (soap->fpreparerecv && (r = soap->fpreparerecv(soap, soap->buf, ret)))
+            return soap->error = r;
+#endif
+          return SOAP_OK;
+        }
+      }
+      else if (r != Z_BUF_ERROR)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Inflate error: %s\n", soap->d_stream->msg ? soap->d_stream->msg : SOAP_STR_EOS));
+        soap->d_stream->next_out = Z_NULL;
+        return soap->error = SOAP_ZLIB_ERROR;
+      }
+    }
+zlib_again:
+    if ((soap->mode & SOAP_IO) == SOAP_IO_CHUNK && !soap->chunksize)
+    { memcpy(soap->buf, soap->z_buf, SOAP_BUFLEN);
+      soap->buflen = soap->z_buflen;
+    }
+    DBGLOG(RECV, SOAP_MESSAGE(fdebug, "\n---- compressed ----\n"));
+  }
+#endif
+#ifndef WITH_NOHTTP
+  if ((soap->mode & SOAP_IO) == SOAP_IO_CHUNK) /* read HTTP chunked transfer */
+  { for (;;)
+    { register soap_wchar c;
+      char *t, tmp[17];
+      if (soap->chunksize)
+      { soap->buflen = ret = soap->frecv(soap, soap->buf, soap->chunksize > SOAP_BUFLEN ? SOAP_BUFLEN : soap->chunksize);
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Getting chunk: read %u bytes\n", (unsigned int)ret));
+        DBGMSG(RECV, soap->buf, ret);
+        soap->bufidx = 0;
+        soap->chunksize -= ret;
+        break;
+      }
+      t = tmp;
+      if (!soap->chunkbuflen)
+      { soap->chunkbuflen = ret = soap->frecv(soap, soap->buf, SOAP_BUFLEN);
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Read %u bytes (chunked) from socket=%d\n", (unsigned int)ret, soap->socket));
+        DBGMSG(RECV, soap->buf, ret);
+        soap->bufidx = 0;
+        if (!ret)
+        { soap->ahead = EOF;
+          return EOF;
+        }
+      }
+      else
+        soap->bufidx = soap->buflen;
+      soap->buflen = soap->chunkbuflen;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Getting chunk size (idx=%u len=%u)\n", (unsigned int)soap->bufidx, (unsigned int)soap->buflen));
+      while (!soap_isxdigit((int)(c = soap_getchunkchar(soap))))
+      { if ((int)c == EOF)
+        { soap->ahead = EOF;
+          return EOF;
+        }
+      }
+      do
+        *t++ = (char)c;
+      while (soap_isxdigit((int)(c = soap_getchunkchar(soap))) && (size_t)(t - tmp) < sizeof(tmp)-1);
+      while ((int)c != EOF && c != '\n')
+        c = soap_getchunkchar(soap);
+      if ((int)c == EOF)
+      { soap->ahead = EOF;
+        return EOF;
+      }
+      *t = '\0';
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Chunk size = %s (hex)\n", tmp));
+      soap->chunksize = (size_t)soap_strtoul(tmp, &t, 16);
+      if (!soap->chunksize)
+      { soap->bufidx = soap->buflen = soap->chunkbuflen = 0;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "End of chunked message\n"));
+        while ((int)c != EOF && c != '\n')
+          c = soap_getchunkchar(soap);
+        ret = 0;
+        soap->ahead = EOF;
+        break;
+      }
+      soap->buflen = soap->bufidx + soap->chunksize;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Moving buf len to idx=%u len=%u (%s)\n", (unsigned int)soap->bufidx, (unsigned int)soap->buflen, tmp));
+      if (soap->buflen > soap->chunkbuflen)
+      { soap->buflen = soap->chunkbuflen;
+        soap->chunksize -= soap->buflen - soap->bufidx;
+        soap->chunkbuflen = 0;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Passed end of buffer for chunked HTTP (%u bytes left)\n", (unsigned int)(soap->buflen - soap->bufidx)));
+      }
+      else if (soap->chunkbuflen)
+        soap->chunksize = 0;
+      ret = soap->buflen - soap->bufidx;
+      if (ret)
+        break;
+    }
+  }
+  else
+#endif
+  { soap->bufidx = 0;
+    soap->buflen = ret = soap->frecv(soap, soap->buf, SOAP_BUFLEN);
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Read %u bytes from socket=%d/fd=%d\n", (unsigned int)ret, soap->socket, soap->recvfd));
+    DBGMSG(RECV, soap->buf, ret);
+  }
+#ifdef WITH_ZLIB
+  if (soap->mode & SOAP_ENC_ZLIB)
+  { memcpy(soap->z_buf, soap->buf, SOAP_BUFLEN);
+    soap->d_stream->next_in = (Byte*)(soap->z_buf + soap->bufidx);
+    soap->d_stream->avail_in = (unsigned int)ret;
+    soap->d_stream->next_out = (Byte*)soap->buf;
+    soap->d_stream->avail_out = SOAP_BUFLEN;
+    r = inflate(soap->d_stream, Z_NO_FLUSH);
+    if (r == Z_NEED_DICT && soap->z_dict)
+      r = inflateSetDictionary(soap->d_stream, (const Bytef*)soap->z_dict, soap->z_dict_len);
+    if (r == Z_OK || r == Z_STREAM_END)
+    { soap->bufidx = 0;
+      soap->z_buflen = soap->buflen;
+      soap->buflen = SOAP_BUFLEN - soap->d_stream->avail_out;
+      if (soap->zlib_in == SOAP_ZLIB_GZIP)
+        soap->z_crc = crc32(soap->z_crc, (Byte*)soap->buf, (unsigned int)soap->buflen);
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Inflated %u bytes\n", (unsigned int)soap->buflen));
+      if (ret && !soap->buflen && r != Z_STREAM_END)
+        goto zlib_again;
+      ret = soap->buflen;
+      if (r == Z_STREAM_END)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Inflated total %lu->%lu bytes\n", soap->d_stream->total_in, soap->d_stream->total_out));
+        soap->z_ratio_in = (float)soap->d_stream->total_in / (float)soap->d_stream->total_out;
+        soap->d_stream->next_out = Z_NULL;
+      }
+      DBGLOG(RECV, SOAP_MESSAGE(fdebug, "\n---- decompressed ----\n"));
+      DBGMSG(RECV, soap->buf, ret);
+#ifndef WITH_LEANER
+      if (soap->fpreparerecv && (r = soap->fpreparerecv(soap, soap->buf, ret)))
+        return soap->error = r;
+#endif
+    }
+    else
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unable to inflate: (%d) %s\n", r, soap->d_stream->msg ? soap->d_stream->msg : SOAP_STR_EOS));
+      soap->d_stream->next_out = Z_NULL;
+      return soap->error = SOAP_ZLIB_ERROR;
+    }
+  }
+#endif
+#ifndef WITH_LEANER
+  if (soap->fpreparerecv
+#ifdef WITH_ZLIB
+   && soap->zlib_in == SOAP_ZLIB_NONE
+#endif
+   && (r = soap->fpreparerecv(soap, soap->buf + soap->bufidx, ret)))
+    return soap->error = r;
+#endif
+  soap->count += ret;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Read count=%lu (+%lu)\n", (unsigned long)soap->count, (unsigned long)ret));
+  return !ret;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_recv(struct soap *soap)
+{
+#ifndef WITH_LEANER
+  if (soap->mode & SOAP_ENC_DIME)
+  { if (soap->dime.buflen)
+    { char *s;
+      int i;
+      unsigned char tmp[12];
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DIME hdr for chunked DIME is in buffer\n"));
+      soap->count += soap->dime.buflen - soap->buflen;
+      soap->buflen = soap->dime.buflen;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Skip padding (%ld bytes)\n", -(long)soap->dime.size&3));
+      for (i = -(long)soap->dime.size&3; i > 0; i--)
+      { soap->bufidx++;
+        if (soap->bufidx >= soap->buflen)
+          if (soap_recv_raw(soap))
+            return EOF;
+      }
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Get DIME hdr for next chunk\n"));
+      s = (char*)tmp;
+      for (i = 12; i > 0; i--)
+      { *s++ = soap->buf[soap->bufidx++];
+        if (soap->bufidx >= soap->buflen)
+          if (soap_recv_raw(soap))
+            return EOF;
+      }
+      soap->dime.flags = tmp[0] & 0x7;
+      soap->dime.size = ((size_t)tmp[8] << 24) | ((size_t)tmp[9] << 16) | ((size_t)tmp[10] << 8) | ((size_t)tmp[11]);
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Get DIME chunk (%u bytes)\n", (unsigned int)soap->dime.size));
+      if (soap->dime.flags & SOAP_DIME_CF)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "More chunking\n"));
+        soap->dime.chunksize = soap->dime.size;
+        if (soap->buflen - soap->bufidx >= soap->dime.size)
+        { soap->dime.buflen = soap->buflen;
+          soap->buflen = soap->bufidx + soap->dime.chunksize;
+        }
+        else
+          soap->dime.chunksize -= soap->buflen - soap->bufidx;
+      }
+      else
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Last chunk\n"));
+        soap->dime.buflen = 0;
+        soap->dime.chunksize = 0;
+      }
+      soap->count = soap->buflen - soap->bufidx;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%u bytes remaining\n", (unsigned int)soap->count));
+      return SOAP_OK;
+    }
+    if (soap->dime.chunksize)
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Get next DIME hdr for chunked DIME (%u bytes chunk)\n", (unsigned int)soap->dime.chunksize));
+      if (soap_recv_raw(soap))
+        return EOF;
+      if (soap->buflen - soap->bufidx >= soap->dime.chunksize)
+      { soap->dime.buflen = soap->buflen;
+        soap->count -= soap->buflen - soap->bufidx - soap->dime.chunksize;
+        soap->buflen = soap->bufidx + soap->dime.chunksize;
+      }
+      else
+        soap->dime.chunksize -= soap->buflen - soap->bufidx;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%lu bytes remaining, count=%lu\n", (unsigned long)(soap->buflen-soap->bufidx), (unsigned long)soap->count));
+      return SOAP_OK;
+    }
+  }
+  while (soap->ffilterrecv)
+  { int err, last = soap->filterstop;
+    if (last)
+      soap->bufidx = soap->buflen = 0;
+    if ((err = soap->ffilterrecv(soap, soap->buf, &soap->buflen, sizeof(soap->buf))))
+      return soap->error = err;
+    if (soap->buflen)
+    { soap->bufidx = 0;
+      soap->filterstop = last;
+      return SOAP_OK;
+    }
+    if (last)
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Returning postponed error %d\n", last));
+      soap->filterstop = SOAP_OK;
+      return last;
+    }
+    soap->filterstop = soap_recv_raw(soap); /* do not call again after EOF */
+  }
+#endif
+  return soap_recv_raw(soap);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+soap_wchar
+SOAP_FMAC2
+soap_getchar(struct soap *soap)
+{ register soap_wchar c;
+  c = soap->ahead;
+  if (c)
+  { if (c != EOF)
+      soap->ahead = 0;
+    return c;
+  }
+  return soap_get1(soap);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+const struct soap_code_map*
+SOAP_FMAC2
+soap_code(const struct soap_code_map *code_map, const char *str)
+{ if (code_map && str)
+  { while (code_map->string)
+    { if (!strcmp(str, code_map->string)) /* case sensitive */
+        return code_map;
+      code_map++;
+    }
+  }
+  return NULL;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+long
+SOAP_FMAC2
+soap_code_int(const struct soap_code_map *code_map, const char *str, long other)
+{ if (code_map)
+  { while (code_map->string)
+    { if (!soap_tag_cmp(str, code_map->string)) /* case insensitive */
+        return code_map->code;
+      code_map++;
+    }
+  }
+  return other;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_code_str(const struct soap_code_map *code_map, long code)
+{ if (!code_map)
+    return NULL;
+  while (code_map->code != code && code_map->string)
+    code_map++;
+  return code_map->string;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+long
+SOAP_FMAC2
+soap_code_bits(const struct soap_code_map *code_map, const char *str)
+{ register long bits = 0;
+  if (code_map)
+  { while (str && *str)
+    { const struct soap_code_map *p;
+      for (p = code_map; p->string; p++)
+      { register size_t n = strlen(p->string);
+        if (!strncmp(p->string, str, n) && soap_blank((soap_wchar)str[n]))
+        { bits |= p->code;
+          str += n;
+          while (*str > 0 && *str <= 32)
+            str++;
+          break;
+        }
+      }
+      if (!p->string)
+        return 0;
+    }
+  }
+  return bits;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_code_list(struct soap *soap, const struct soap_code_map *code_map, long code)
+{ register char *t = soap->tmpbuf;
+  if (code_map)
+  { while (code_map->string)
+    { if (code_map->code & code)
+      { register const char *s = code_map->string;
+        if (t != soap->tmpbuf)
+          *t++ = ' ';
+        while (*s && t < soap->tmpbuf + sizeof(soap->tmpbuf) - 1)
+          *t++ = *s++;
+        if (t == soap->tmpbuf + sizeof(soap->tmpbuf) - 1)
+          break;
+      }
+      code_map++;
+    }
+  }
+  *t = '\0';
+  return soap->tmpbuf;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+static soap_wchar
+soap_char(struct soap *soap)
+{ char tmp[8];
+  register int i;
+  register soap_wchar c;
+  register char *s = tmp;
+  for (i = 0; i < 7; i++)
+  { c = soap_get1(soap);
+    if (c == ';' || (int)c == EOF)
+      break;
+    *s++ = (char)c;
+  }
+  *s = '\0';
+  if (*tmp == '#')
+  { if (tmp[1] == 'x' || tmp[1] == 'X')
+      return (soap_wchar)soap_strtol(tmp + 2, NULL, 16);
+    return (soap_wchar)soap_strtol(tmp + 1, NULL, 10);
+  }
+  if (!strcmp(tmp, "lt"))
+    return '<';
+  if (!strcmp(tmp, "gt"))
+    return '>';
+  if (!strcmp(tmp, "amp"))
+    return '&';
+  if (!strcmp(tmp, "quot"))
+    return '"';
+  if (!strcmp(tmp, "apos"))
+    return '\'';
+#ifndef WITH_LEAN
+  return (soap_wchar)soap_code_int(html_entity_codes, tmp, SOAP_UNKNOWN_CHAR);
+#else
+  return SOAP_UNKNOWN_CHAR; /* use this to represent unknown code */
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifdef WITH_LEAN
+#ifndef PALM_1
+soap_wchar
+soap_get0(struct soap *soap)
+{ if (soap->bufidx >= soap->buflen && soap_recv(soap))
+    return EOF;
+  return (unsigned char)soap->buf[soap->bufidx];
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifdef WITH_LEAN
+#ifndef PALM_1
+soap_wchar
+soap_get1(struct soap *soap)
+{ if (soap->bufidx >= soap->buflen && soap_recv(soap))
+    return EOF;
+  return (unsigned char)soap->buf[soap->bufidx++];
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+soap_wchar
+SOAP_FMAC2
+soap_get(struct soap *soap)
+{ register soap_wchar c;
+  c = soap->ahead;
+  if (c)
+  { if ((int)c != EOF)
+      soap->ahead = 0;
+  }
+  else
+    c = soap_get1(soap);
+  while ((int)c != EOF)
+  { if (soap->cdata)
+    { if (c == ']')
+      { c = soap_get1(soap);
+        if (c == ']')
+        { c = soap_get0(soap);
+          if (c == '>')
+          { soap->cdata = 0;
+            c = soap_get1(soap);
+            c = soap_get1(soap);
+          }
+          else
+          { soap_unget(soap, ']');
+            return ']';
+          }
+        }
+        else
+        { soap_revget1(soap);
+          return ']';
+        }
+      }
+      else
+        return c;
+    }
+    switch (c)
+    { case '<':
+        do c = soap_get1(soap);
+        while (soap_blank(c));
+        if (c == '!' || c == '?' || c == '%')
+        { register int k = 1;
+          if (c == '!')
+          { c = soap_get1(soap);
+            if (c == '[')
+            { do c = soap_get1(soap);
+              while ((int)c != EOF && c != '[');
+              if ((int)c == EOF)
+                break;
+              soap->cdata = 1;
+              c = soap_get1(soap);
+              continue;
+            }
+            if (c == '-' && (c = soap_get1(soap)) == '-')
+            { do
+              { c = soap_get1(soap);
+                if (c == '-' && (c = soap_get1(soap)) == '-')
+                  break;
+              } while ((int)c != EOF);
+            }
+          }
+          else if (c == '?')
+            c = soap_get_pi(soap);
+          while ((int)c != EOF)
+          { if (c == '<')
+              k++;
+            else if (c == '>')
+            { if (--k <= 0)
+                break;
+            }
+            c = soap_get1(soap);
+          }
+          if ((int)c == EOF)
+            break;
+          c = soap_get1(soap);
+          continue;
+        }
+        if (c == '/')
+          return SOAP_TT;
+        soap_revget1(soap);
+        return SOAP_LT;
+      case '>':
+        return SOAP_GT;
+      case '"':
+        return SOAP_QT;
+      case '\'':
+        return SOAP_AP;
+      case '&':
+        return soap_char(soap) | 0x80000000;
+    }
+    break;
+  }
+  return c;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+static soap_wchar
+soap_get_pi(struct soap *soap)
+{ char buf[64];
+  register char *s = buf;
+  register int i = sizeof(buf);
+  register soap_wchar c = soap_getchar(soap);
+  /* This is a quick way to parse XML PI and we could use a callback instead to
+   * enable applications to intercept processing instructions */
+  while ((int)c != EOF && c != '?')
+  { if (--i > 0)
+    { if (soap_blank(c))
+        c = ' ';
+      *s++ = (char)c;
+    }
+    c = soap_getchar(soap);
+  }
+  *s = '\0';
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "XML PI <?%s?>\n", buf));
+  if (!strncmp(buf, "xml ", 4))
+  { s = strstr(buf, " encoding=");
+    if (s && s[10])
+    { if (!soap_tag_cmp(s + 11, "iso-8859-1*")
+       || !soap_tag_cmp(s + 11, "latin1*"))
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Switching to latin1 encoding\n"));
+        soap->mode |= SOAP_ENC_LATIN;
+      }
+      else if (!soap_tag_cmp(s + 11, "utf-8*"))
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Switching to utf-8 encoding\n"));
+        soap->mode &= ~SOAP_ENC_LATIN;
+      }
+    }
+  }
+  if ((int)c != EOF)
+    c = soap_getchar(soap);
+  return c;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_move(struct soap *soap, size_t n)
+{ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Moving %lu bytes forward\n", (unsigned long)n));
+  for (; n; n--)
+    if ((int)soap_getchar(soap) == EOF)
+      return SOAP_EOF;
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+size_t
+SOAP_FMAC2
+soap_tell(struct soap *soap)
+{ return soap->count - soap->buflen + soap->bufidx - (soap->ahead != 0);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_pututf8(struct soap *soap, register unsigned long c)
+{ char tmp[16];
+  if (c < 0x80 && c > 0)
+  { *tmp = (char)c;
+    return soap_send_raw(soap, tmp, 1);
+  }
+#ifndef WITH_LEAN
+  if (c >= 0x80)
+  { register char *t = tmp;
+    if (c < 0x0800)
+      *t++ = (char)(0xC0 | ((c >> 6) & 0x1F));
+    else
+    { if (c < 0x010000)
+        *t++ = (char)(0xE0 | ((c >> 12) & 0x0F));
+      else
+      { if (c < 0x200000)
+          *t++ = (char)(0xF0 | ((c >> 18) & 0x07));
+        else
+        { if (c < 0x04000000)
+            *t++ = (char)(0xF8 | ((c >> 24) & 0x03));
+          else
+          { *t++ = (char)(0xFC | ((c >> 30) & 0x01));
+            *t++ = (char)(0x80 | ((c >> 24) & 0x3F));
+          }
+          *t++ = (char)(0x80 | ((c >> 18) & 0x3F));
+        }
+        *t++ = (char)(0x80 | ((c >> 12) & 0x3F));
+      }
+      *t++ = (char)(0x80 | ((c >> 6) & 0x3F));
+    }
+    *t++ = (char)(0x80 | (c & 0x3F));
+    *t = '\0';
+  }
+  else
+#endif
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(tmp, sizeof(tmp), "&#%lu;", c);
+#else
+    sprintf(tmp, "&#%lu;", c);
+#endif
+  return soap_send(soap, tmp);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+soap_wchar
+SOAP_FMAC2
+soap_getutf8(struct soap *soap)
+{ register soap_wchar c, c1, c2, c3, c4;
+  c = soap->ahead;
+  if (c >= 0x80)
+    soap->ahead = 0;
+  else
+    c = soap_get(soap);
+  if (c < 0x80 || c > 0xFF || (soap->mode & SOAP_ENC_LATIN))
+    return c;
+  c1 = soap_get1(soap);
+  if (c1 < 0x80)
+  { soap_revget1(soap); /* doesn't look like this is UTF8 */
+    return c;
+  }
+  c1 &= 0x3F;
+  if (c < 0xE0)
+    return ((soap_wchar)(c & 0x1F) << 6) | c1;
+  c2 = (soap_wchar)soap_get1(soap) & 0x3F;
+  if (c < 0xF0)
+    return ((soap_wchar)(c & 0x0F) << 12) | (c1 << 6) | c2;
+  c3 = (soap_wchar)soap_get1(soap) & 0x3F;
+  if (c < 0xF8)
+    return ((soap_wchar)(c & 0x07) << 18) | (c1 << 12) | (c2 << 6) | c3;
+  c4 = (soap_wchar)soap_get1(soap) & 0x3F;
+  if (c < 0xFC)
+    return ((soap_wchar)(c & 0x03) << 24) | (c1 << 18) | (c2 << 12) | (c3 << 6) | c4;
+  return ((soap_wchar)(c & 0x01) << 30) | (c1 << 24) | (c2 << 18) | (c3 << 12) | (c4 << 6) | (soap_wchar)(soap_get1(soap) & 0x3F);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_puthex(struct soap *soap, const unsigned char *s, int n)
+{ char d[2];
+  register int i;
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+  { if (!(soap->dom->data = soap_s2hex(soap, s, NULL, n)))
+      return soap->error;
+    return SOAP_OK;
+  }
+#endif
+  for (i = 0; i < n; i++)
+  { register int m = *s++;
+    d[0] = (char)((m >> 4) + (m > 159 ? '7' : '0'));
+    m &= 0x0F;
+    d[1] = (char)(m + (m > 9 ? '7' : '0'));
+    if (soap_send_raw(soap, d, 2))
+      return soap->error;
+  }
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+unsigned char*
+SOAP_FMAC2
+soap_gethex(struct soap *soap, int *n)
+{
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+  { soap->dom->data = soap_string_in(soap, 0, -1, -1);
+    return (unsigned char*)soap_hex2s(soap, soap->dom->data, NULL, 0, n);
+  }
+#endif
+#ifdef WITH_FAST
+  soap->labidx = 0;
+  for (;;)
+  { register char *s;
+    register size_t i, k;
+    if (soap_append_lab(soap, NULL, 0))
+      return NULL;
+    s = soap->labbuf + soap->labidx;
+    k = soap->lablen - soap->labidx;
+    soap->labidx = soap->lablen;
+    for (i = 0; i < k; i++)
+    { register char d1, d2;
+      register soap_wchar c;
+      c = soap_get(soap);
+      if (soap_isxdigit(c))
+      { d1 = (char)c;
+        c = soap_get(soap);
+        if (soap_isxdigit(c))
+          d2 = (char)c;
+        else
+        { soap->error = SOAP_TYPE;
+          return NULL;
+        }
+      }
+      else
+      { unsigned char *p;
+        soap_unget(soap, c);
+        if (n)
+          *n = (int)(soap->lablen + i - k);
+        p = (unsigned char*)soap_malloc(soap, soap->lablen + i - k);
+        if (p)
+          memcpy(p, soap->labbuf, soap->lablen + i - k);
+        return p;
+      }
+      *s++ = (char)(((d1 >= 'A' ? (d1 & 0x7) + 9 : d1 - '0') << 4) + (d2 >= 'A' ? (d2 & 0x7) + 9 : d2 - '0'));
+    }
+  }
+#else
+  if (soap_new_block(soap) == NULL)
+    return NULL;
+  for (;;)
+  { register int i;
+    register char *s = (char*)soap_push_block(soap, NULL, SOAP_BLKLEN);
+    if (!s)
+    { soap_end_block(soap, NULL);
+      return NULL;
+    }
+    for (i = 0; i < SOAP_BLKLEN; i++)
+    { register char d1, d2;
+      register soap_wchar c = soap_get(soap);
+      if (soap_isxdigit(c))
+      { d1 = (char)c;
+        c = soap_get(soap);
+        if (soap_isxdigit(c))
+          d2 = (char)c;
+        else
+        { soap_end_block(soap, NULL);
+          soap->error = SOAP_TYPE;
+          return NULL;
+        }
+      }
+      else
+      { unsigned char *p;
+        soap_unget(soap, c);
+        if (n)
+          *n = (int)soap_size_block(soap, NULL, i);
+        p = (unsigned char*)soap_save_block(soap, NULL, 0);
+        return p;
+      }
+      *s++ = ((d1 >= 'A' ? (d1 & 0x7) + 9 : d1 - '0') << 4) + (d2 >= 'A' ? (d2 & 0x7) + 9 : d2 - '0');
+    }
+  }
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_putbase64(struct soap *soap, const unsigned char *s, int n)
+{ register int i;
+  register unsigned long m;
+  char d[4];
+  if (!s)
+    return SOAP_OK;
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+  { if (!(soap->dom->data = soap_s2base64(soap, s, NULL, n)))
+      return soap->error;
+    return SOAP_OK;
+  }
+#endif
+  for (; n > 2; n -= 3, s += 3)
+  { m = s[0];
+    m = (m << 8) | s[1];
+    m = (m << 8) | s[2];
+    for (i = 4; i > 0; m >>= 6)
+      d[--i] = soap_base64o[m & 0x3F];
+    if (soap_send_raw(soap, d, 4))
+      return soap->error;
+  }
+  if (n > 0)
+  { m = 0;
+    for (i = 0; i < n; i++)
+      m = (m << 8) | *s++;
+    for (; i < 3; i++)
+      m <<= 8;
+    for (i++; i > 0; m >>= 6)
+      d[--i] = soap_base64o[m & 0x3F];
+    for (i = 3; i > n; i--)
+      d[i] = '=';
+    if (soap_send_raw(soap, d, 4))
+      return soap->error;
+  }
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+unsigned char*
+SOAP_FMAC2
+soap_getbase64(struct soap *soap, int *n, int malloc_flag)
+{ (void)malloc_flag;
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+  { soap->dom->data = soap_string_in(soap, 0, -1, -1);
+    return (unsigned char*)soap_base642s(soap, soap->dom->data, NULL, 0, n);
+  }
+#endif
+#ifdef WITH_FAST
+  soap->labidx = 0;
+  for (;;)
+  { register size_t i, k;
+    register char *s;
+    if (soap_append_lab(soap, NULL, 2))
+      return NULL;
+    s = soap->labbuf + soap->labidx;
+    k = soap->lablen - soap->labidx;
+    soap->labidx = 3 * (soap->lablen / 3);
+    if (!s)
+      return NULL;
+    if (k > 2)
+    { for (i = 0; i < k - 2; i += 3)
+      { register unsigned long m = 0;
+        register int j = 0;
+        do
+        { register soap_wchar c = soap_get(soap);
+          if (c < SOAP_AP)
+            c &= 0x7FFFFFFF;
+          if (c == '=' || c < 0)
+          { unsigned char *p;
+            switch (j)
+            { case 2:
+                *s++ = (char)((m >> 4) & 0xFF);
+                i++;
+                break;
+              case 3:
+                *s++ = (char)((m >> 10) & 0xFF);
+                *s++ = (char)((m >> 2) & 0xFF);
+                i += 2;
+            }
+            if (n)
+              *n = (int)(soap->lablen + i - k);
+            p = (unsigned char*)soap_malloc(soap, soap->lablen + i - k);
+            if (p)
+              memcpy(p, soap->labbuf, soap->lablen + i - k);
+            if (c >= 0)
+            { while ((int)((c = soap_get(soap)) != EOF) && c != SOAP_LT && c != SOAP_TT)
+                ;
+            }
+            soap_unget(soap, c);
+            return p;
+          }
+          c -= '+';
+          if (c >= 0 && c <= 79)
+          { register int b = soap_base64i[c];
+            if (b >= 64)
+            { soap->error = SOAP_TYPE;
+              return NULL;
+            }
+            m = (m << 6) + b;
+            j++;
+          }
+          else if (!soap_blank(c + '+'))
+          { soap->error = SOAP_TYPE;
+            return NULL;
+          }
+        } while (j < 4);
+        *s++ = (char)((m >> 16) & 0xFF);
+        *s++ = (char)((m >> 8) & 0xFF);
+        *s++ = (char)(m & 0xFF);
+      }
+    }
+  }
+#else
+  if (soap_new_block(soap) == NULL)
+    return NULL;
+  for (;;)
+  { register int i;
+    register char *s = (char*)soap_push_block(soap, NULL, 3 * SOAP_BLKLEN); /* must be multiple of 3 */
+    if (!s)
+    { soap_end_block(soap, NULL);
+      return NULL;
+    }
+    for (i = 0; i < SOAP_BLKLEN; i++)
+    { register unsigned long m = 0;
+      register int j = 0;
+      do
+      { register soap_wchar c = soap_get(soap);
+        if (c == '=' || c < 0)
+        { unsigned char *p;
+          i *= 3;
+          switch (j)
+          { case 2:
+              *s++ = (char)((m >> 4) & 0xFF);
+              i++;
+              break;
+            case 3:
+              *s++ = (char)((m >> 10) & 0xFF);
+              *s++ = (char)((m >> 2) & 0xFF);
+              i += 2;
+          }
+          if (n)
+            *n = (int)soap_size_block(soap, NULL, i);
+          p = (unsigned char*)soap_save_block(soap, NULL, 0);
+          if (c >= 0)
+          { while ((int)((c = soap_get(soap)) != EOF) && c != SOAP_LT && c != SOAP_TT)
+              ;
+          }
+          soap_unget(soap, c);
+          return p;
+        }
+        c -= '+';
+        if (c >= 0 && c <= 79)
+        { int b = soap_base64i[c];
+          if (b >= 64)
+          { soap->error = SOAP_TYPE;
+            return NULL;
+          }
+          m = (m << 6) + b;
+          j++;
+        }
+        else if (!soap_blank(c))
+        { soap->error = SOAP_TYPE;
+          return NULL;
+        }
+      } while (j < 4);
+      *s++ = (char)((m >> 16) & 0xFF);
+      *s++ = (char)((m >> 8) & 0xFF);
+      *s++ = (char)(m & 0xFF);
+    }
+  }
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_xop_forward(struct soap *soap, unsigned char **ptr, int *size, char **id, char **type, char **options)
+{ /* Check MTOM xop:Include element (within hex/base64Binary) */
+  /* TODO: this code to be obsoleted with new import/xop.h conventions */
+  short body = soap->body; /* should save type too? */
+  if (!soap_peek_element(soap))
+  { if (!soap_element_begin_in(soap, "xop:Include", 0, NULL))
+    { if (soap_dime_forward(soap, ptr, size, id, type, options)
+       || (soap->body && soap_element_end_in(soap, "xop:Include")))
+        return soap->error;
+    }
+  }
+  soap->body = body;
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_dime_forward(struct soap *soap, unsigned char **ptr, int *size, char **id, char **type, char **options)
+{ struct soap_xlist *xp;
+  *ptr = NULL;
+  *size = 0;
+  *id = NULL;
+  *type = NULL;
+  *options = NULL;
+  if (!*soap->href)
+    return SOAP_OK;
+  *id = soap_strdup(soap, soap->href);
+  xp = (struct soap_xlist*)SOAP_MALLOC(soap, sizeof(struct soap_xlist));
+  if (!xp)
+    return soap->error = SOAP_EOM;
+  xp->next = soap->xlist;
+  xp->ptr = ptr;
+  xp->size = size;
+  xp->id = *id;
+  xp->type = type;
+  xp->options = options;
+  soap->xlist = xp;
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_strdup(struct soap *soap, const char *s)
+{ char *t = NULL;
+  if (s && (t = (char*)soap_malloc(soap, strlen(s) + 1)))
+    strcpy(t, s);
+  return t;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+wchar_t *
+SOAP_FMAC2
+soap_wstrdup(struct soap *soap, const wchar_t *s)
+{ wchar_t *t = NULL;
+  if (s)
+  { size_t n = 0;
+    while (s[n])
+      n++;
+    if ((t = (wchar_t*)soap_malloc(soap, sizeof(wchar_t)*(n+1))))
+      memcpy(t, s, sizeof(wchar_t)*(n+1));
+  }
+  return t;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+struct soap_blist*
+SOAP_FMAC2
+soap_new_block(struct soap *soap)
+{ struct soap_blist *p;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "New block sequence (prev=%p)\n", soap->blist));
+  if (!(p = (struct soap_blist*)SOAP_MALLOC(soap, sizeof(struct soap_blist))))
+  { soap->error = SOAP_EOM;
+    return NULL;
+  }
+  p->next = soap->blist;
+  p->ptr = NULL;
+  p->size = 0;
+  soap->blist = p;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void*
+SOAP_FMAC2
+soap_push_block(struct soap *soap, struct soap_blist *b, size_t n)
+{ char *p;
+  if (!b)
+    b = soap->blist;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Push block of %u bytes (%u bytes total)\n", (unsigned int)n, (unsigned int)b->size + (unsigned int)n));
+  if (!(p = (char*)SOAP_MALLOC(soap, n + sizeof(char*) + sizeof(size_t))))
+  { soap->error = SOAP_EOM;
+    return NULL;
+  }
+  *(char**)p = b->ptr;
+  *(size_t*)(p + sizeof(char*)) = n;
+  b->ptr = p;
+  b->size += n;
+  return p + sizeof(char*) + sizeof(size_t);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_pop_block(struct soap *soap, struct soap_blist *b)
+{ char *p;
+  if (!b)
+    b = soap->blist;
+  if (!b->ptr)
+    return;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Pop block\n"));
+  p = b->ptr;
+  b->size -= *(size_t*)(p + sizeof(char*));
+  b->ptr = *(char**)p;
+  SOAP_FREE(soap, p);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_update_pointers(struct soap *soap, char *start, char *end, char *p1, char *p2)
+{
+#ifndef WITH_NOIDREF
+  int i;
+  register struct soap_ilist *ip = NULL;
+  register struct soap_flist *fp = NULL;
+#ifndef WITH_LEANER
+  register struct soap_xlist *xp = NULL;
+#endif
+  register void *p, **q;
+  for (i = 0; i < SOAP_IDHASH; i++)
+  { for (ip = soap->iht[i]; ip; ip = ip->next)
+    { if (ip->ptr && (char*)ip->ptr >= start && (char*)ip->ptr < end)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Update id='%s' %p -> %p\n", ip->id, ip->ptr, (char*)ip->ptr + (p1-p2)));
+        ip->ptr = (char*)ip->ptr + (p1-p2);
+      }
+      for (q = &ip->link; q; q = (void**)p)
+      { p = *q;
+        if (p && (char*)p >= start && (char*)p < end)
+        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Link update id='%s' %p\n", ip->id, p));
+          *q = (char*)p + (p1-p2);
+        }
+      }
+      for (q = &ip->copy; q; q = (void**)p)
+      { p = *q;
+        if (p && (char*)p >= start && (char*)p < end)
+        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy chain update id='%s' %p\n", ip->id, p));
+          *q = (char*)p + (p1-p2);
+        }
+      }
+      for (fp = ip->flist; fp; fp = fp->next)
+      { if ((char*)fp->ptr >= start && (char*)fp->ptr < end)
+        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy list update id='%s' %p\n", ip->id, fp));
+          fp->ptr = (char*)fp->ptr + (p1-p2);
+        }
+      }
+    }
+  }
+#ifndef WITH_LEANER
+  for (xp = soap->xlist; xp; xp = xp->next)
+  { if (xp->ptr && (char*)xp->ptr >= start && (char*)xp->ptr < end)
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Update id='%s' %p -> %p\n", xp->id ? xp->id : SOAP_STR_EOS, xp->ptr, (char*)xp->ptr + (p1-p2)));
+      xp->ptr = (unsigned char**)((char*)xp->ptr + (p1-p2));
+      xp->size = (int*)((char*)xp->size + (p1-p2));
+      xp->type = (char**)((char*)xp->type + (p1-p2));
+      xp->options = (char**)((char*)xp->options + (p1-p2));
+    }
+  }
+#endif
+#else
+  (void)soap; (void)start; (void)end; (void)p1; (void)p2;
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_1
+static int
+soap_has_copies(struct soap *soap, register const char *start, register const char *end)
+{ register int i;
+  register struct soap_ilist *ip = NULL;
+  register struct soap_flist *fp = NULL;
+  register const char *p;
+  for (i = 0; i < SOAP_IDHASH; i++)
+  { for (ip = soap->iht[i]; ip; ip = ip->next)
+    { for (p = (const char*)ip->copy; p; p = *(const char**)p)
+        if (p >= start && p < end)
+          return SOAP_ERR;
+      for (fp = ip->flist; fp; fp = fp->next)
+        if ((const char*)fp->ptr >= start && (const char*)fp->ptr < end)
+          return SOAP_ERR;
+    }
+  }
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_resolve(struct soap *soap)
+{ register int i;
+  register struct soap_ilist *ip = NULL;
+  register struct soap_flist *fp = NULL;
+  short flag;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Resolving forwarded data\n"));
+  for (i = 0; i < SOAP_IDHASH; i++)
+  { for (ip = soap->iht[i]; ip; ip = ip->next)
+    { if (ip->ptr)
+      { register void *p, **q, *r;
+        q = (void**)ip->link;
+        ip->link = NULL;
+        r = ip->ptr;
+        DBGLOG(TEST, if (q) SOAP_MESSAGE(fdebug, "Traversing link chain to resolve id='%s'\n", ip->id));
+        while (q)
+        { p = *q;
+          *q = r;
+          DBGLOG(TEST,SOAP_MESSAGE(fdebug, "... link %p -> %p\n", q, r));
+          q = (void**)p;
+        }
+      }
+      else if (*ip->id == '#')
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Missing data for id='%s'\n", ip->id));
+        strcpy(soap->id, ip->id + 1);
+        return soap->error = SOAP_MISSING_ID;
+      }
+    }
+  }
+  do
+  { flag = 0;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Resolution phase\n"));
+    for (i = 0; i < SOAP_IDHASH; i++)
+    { for (ip = soap->iht[i]; ip; ip = ip->next)
+      { if (ip->ptr && !soap_has_copies(soap, (const char*)ip->ptr, (const char*)ip->ptr + ip->size))
+        { if (ip->copy)
+          { register void *p, **q = (void**)ip->copy;
+            DBGLOG(TEST, if (q) SOAP_MESSAGE(fdebug, "Traversing copy chain to resolve id='%s'\n", ip->id));
+            ip->copy = NULL;
+            do
+            { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "... copy %p -> %p (%u bytes)\n", ip->ptr, q, (unsigned int)ip->size));
+              p = *q;
+              memcpy(q, ip->ptr, ip->size);
+              q = (void**)p;
+            } while (q);
+            flag = 1;
+          }
+          for (fp = ip->flist; fp; fp = ip->flist)
+          { register unsigned int k = fp->level;
+            register void *p = ip->ptr;
+            DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Resolving forwarded data type=%d location=%p level=%u,%u id='%s'\n", ip->type, p, ip->level, fp->level, ip->id));
+            while (ip->level < k)
+            { register void **q = (void**)soap_malloc(soap, sizeof(void*));
+              if (!q)
+                return soap->error;
+              *q = p;
+              DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Descending one level, new location=%p holds=%p...\n", q, *q));
+              p = (void*)q;
+              k--;
+            }
+            if (fp->fcopy)
+              fp->fcopy(soap, ip->type, fp->type, fp->ptr, fp->len, p, ip->size);
+            else
+              soap_fcopy(soap, ip->type, fp->type, fp->ptr, fp->len, p, ip->size);
+            ip->flist = fp->next;
+            SOAP_FREE(soap, fp);
+            flag = 1;
+          }
+        }
+      }
+    }
+  } while (flag);
+#ifdef SOAP_DEBUG
+  for (i = 0; i < SOAP_IDHASH; i++)
+  { for (ip = soap->iht[i]; ip; ip = ip->next)
+    { if (ip->copy || ip->flist)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Resolution error: forwarded data for id='%s' could not be propagated, please report this problem to the developers\n", ip->id));
+      }
+    }
+  }
+#endif
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Resolution done\n"));
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+size_t
+SOAP_FMAC2
+soap_size_block(struct soap *soap, struct soap_blist *b, size_t n)
+{ if (!b)
+    b = soap->blist;
+  if (b->ptr)
+  { b->size -= *(size_t*)(b->ptr + sizeof(char*)) - n;
+    *(size_t*)(b->ptr + sizeof(char*)) = n;
+  }
+  return b->size;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+char*
+SOAP_FMAC2
+soap_first_block(struct soap *soap, struct soap_blist *b)
+{ char *p, *q, *r;
+  if (!b)
+    b = soap->blist;
+  p = b->ptr;
+  if (!p)
+    return NULL;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "First block\n"));
+  r = NULL;
+  do
+  { q = *(char**)p;
+    *(char**)p = r;
+    r = p;
+    p = q;
+  } while (p);
+  b->ptr = r;
+  return r + sizeof(char*) + sizeof(size_t);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+char*
+SOAP_FMAC2
+soap_next_block(struct soap *soap, struct soap_blist *b)
+{ char *p;
+  if (!b)
+    b = soap->blist;
+  p = b->ptr;
+  if (p)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Next block\n"));
+    b->ptr = *(char**)p;
+    SOAP_FREE(soap, p);
+    if (b->ptr)
+      return b->ptr + sizeof(char*) + sizeof(size_t);
+  }
+  return NULL;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+size_t
+SOAP_FMAC2
+soap_block_size(struct soap *soap, struct soap_blist *b)
+{ if (!b)
+    b = soap->blist;
+  return *(size_t*)(b->ptr + sizeof(char*));
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_end_block(struct soap *soap, struct soap_blist *b)
+{ char *p, *q;
+  if (!b)
+    b = soap->blist;
+  if (b)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "End of block sequence, free all remaining blocks\n"));
+    for (p = b->ptr; p; p = q)
+    { q = *(char**)p;
+      SOAP_FREE(soap, p);
+    }
+    if (soap->blist == b)
+      soap->blist = b->next;
+    else
+    { struct soap_blist *bp;
+      for (bp = soap->blist; bp; bp = bp->next)
+      { if (bp->next == b)
+        { bp->next = b->next;
+          break;
+        }
+      }
+    }
+    SOAP_FREE(soap, b);
+  }
+  DBGLOG(TEST, if (soap->blist) SOAP_MESSAGE(fdebug, "Restore previous block sequence\n"));
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+char*
+SOAP_FMAC2
+soap_save_block(struct soap *soap, struct soap_blist *b, char *p, int flag)
+{ register size_t n;
+  register char *q, *s;
+  if (!b)
+    b = soap->blist;
+  if (b->size)
+  { if (!p)
+      p = (char*)soap_malloc(soap, b->size);
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Save all blocks in contiguous memory space of %u bytes (%p->%p)\n", (unsigned int)b->size, b->ptr, p));
+    if (p)
+    { for (s = p, q = soap_first_block(soap, b); q; q = soap_next_block(soap, b))
+      { n = soap_block_size(soap, b);
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy %u bytes from %p to %p\n", (unsigned int)n, q, s));
+#ifndef WITH_NOIDREF
+        if (flag)
+          soap_update_pointers(soap, q, q + n, s, q);
+#endif
+        memcpy(s, q, n);
+        s += n;
+      }
+    }
+    else
+      soap->error = SOAP_EOM;
+  }
+  soap_end_block(soap, b);
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_putsize(struct soap *soap, const char *type, int size)
+{ return soap_putsizes(soap, type, &size, 1);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_putsizes(struct soap *soap, const char *type, const int *size, int dim)
+{ return soap_putsizesoffsets(soap, type, size, NULL, dim);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_putsizesoffsets(struct soap *soap, const char *type, const int *size, const int *offset, int dim)
+{ register int i;
+  register size_t l;
+  if (!type || strlen(type) + 13 > sizeof(soap->type)) /* prevent overruns */
+    return NULL;
+  if (soap->version == 2)
+  { 
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->type, sizeof(soap->type) - 1, "%s[%d", type, size[0]);
+#else
+    sprintf(soap->type, "%s[%d", type, size[0]);
+#endif
+    for (i = 1; i < dim; i++)
+    { 
+#ifdef HAVE_SNPRINTF
+      l = strlen(soap->type);
+      soap_snprintf(soap->type + l, sizeof(soap->type) - l - 1, " %d", size[i]);
+#else
+      if ((l = strlen(soap->type)) + 13 > sizeof(soap->type))
+        return NULL;
+      sprintf(soap->type + l, " %d", size[i]);
+#endif
+    }
+  }
+  else
+  { if (offset)
+    {
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->type, sizeof(soap->type) - 1, "%s[%d", type, size[0] + offset[0]);
+#else
+      sprintf(soap->type, "%s[%d", type, size[0] + offset[0]);
+#endif
+      for (i = 1; i < dim; i++)
+      {
+#ifdef HAVE_SNPRINTF
+        l = strlen(soap->type);
+        soap_snprintf(soap->type + l, sizeof(soap->type) - l - 1, ",%d", size[i] + offset[i]);
+#else
+        if ((l = strlen(soap->type)) + 13 > sizeof(soap->type))
+          return NULL;
+        sprintf(soap->type + l, ",%d", size[i] + offset[i]);
+#endif
+      }
+    }
+    else
+    { 
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->type, sizeof(soap->type) - 1, "%s[%d", type, size[0]);
+#else
+      sprintf(soap->type, "%s[%d", type, size[0]);
+#endif
+      for (i = 1; i < dim; i++)
+      {
+#ifdef HAVE_SNPRINTF
+        l = strlen(soap->type);
+        soap_snprintf(soap->type + l, sizeof(soap->type) - l - 1, ",%d", size[i]);
+#else
+        if ((l = strlen(soap->type)) + 13 > sizeof(soap->type))
+          return NULL;
+        sprintf(soap->type + l, ",%d", size[i]);
+#endif
+      }
+    }
+  }
+  strcat(soap->type, "]");
+  return soap->type;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_putoffset(struct soap *soap, int offset)
+{ return soap_putoffsets(soap, &offset, 1);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_putoffsets(struct soap *soap, const int *offset, int dim)
+{ register int i;
+  register size_t l;
+#ifdef HAVE_SNPRINTF
+  soap_snprintf(soap->arrayOffset, sizeof(soap->arrayOffset) - 1, "[%d", offset[0]);
+#else
+  if (sizeof(soap->arrayOffset) < 13) /* prevent overruns */
+    return NULL;
+  sprintf(soap->arrayOffset, "[%d", offset[0]);
+#endif
+  for (i = 1; i < dim; i++)
+  {
+#ifdef HAVE_SNPRINTF
+    l = strlen(soap->arrayOffset);
+    soap_snprintf(soap->arrayOffset + l, sizeof(soap->arrayOffset) - l - 1, ",%d", offset[i]);
+#else
+    if ((l = strlen(soap->arrayOffset)) + 13 > sizeof(soap->arrayOffset))
+      return NULL;
+    sprintf(soap->arrayOffset + l, ",%d", offset[i]);
+#endif
+  }
+  strcat(soap->arrayOffset, "]");
+  return soap->arrayOffset;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_size(const int *size, int dim)
+{ register int i, n = size[0];
+  for (i = 1; i < dim; i++)
+    n *= size[i];
+  return n;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_getoffsets(const char *attr, const int *size, int *offset, int dim)
+{ register int i, j = 0;
+  if (offset)
+    for (i = 0; i < dim && attr && *attr; i++)
+    { attr++;
+      j *= size[i];
+      j += offset[i] = (int)soap_strtol(attr, NULL, 10);
+      attr = strchr(attr, ',');
+    }
+  else
+    for (i = 0; i < dim && attr && *attr; i++)
+    { attr++;
+      j *= size[i];
+      j += (int)soap_strtol(attr, NULL, 10);
+      attr = strchr(attr, ',');
+    }
+  return j;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_getsize(const char *attr1, const char *attr2, int *j)
+{ register int n, k;
+  char *s;
+  *j = 0;
+  if (!*attr1)
+    return -1;
+  if (*attr1 == '[')
+    attr1++;
+  n = 1;
+  for (;;)
+  { k = (int)soap_strtol(attr1, &s, 10);
+    n *= k;
+    if (k < 0 || n > SOAP_MAXARRAYSIZE || s == attr1)
+      return -1;
+    attr1 = strchr(s, ',');
+    if (!attr1)
+      attr1 = strchr(s, ' ');
+    if (attr2 && *attr2)
+    { attr2++;
+      *j *= k;
+      k = (int)soap_strtol(attr2, &s, 10);
+      *j += k;
+      if (k < 0)
+        return -1;
+      attr2 = s;
+    }
+    if (!attr1)
+      break;
+    attr1++;
+  }
+  return n - *j;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_getsizes(const char *attr, int *size, int dim)
+{ register int i, k, n;
+  if (!*attr)
+    return -1;
+  i = (int)strlen(attr);
+  n = 1;
+  do
+  { for (i = i-1; i >= 0; i--)
+      if (attr[i] == '[' || attr[i] == ',' || attr[i] == ' ')
+        break;
+    k = (int)soap_strtol(attr + i + 1, NULL, 10);
+    n *= size[--dim] = k;
+    if (k < 0 || n > SOAP_MAXARRAYSIZE)
+      return -1;
+  } while (i >= 0 && attr[i] != '[');
+  return n;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_getposition(const char *attr, int *pos)
+{ register int i, n;
+  if (!*attr)
+    return -1;
+  n = 0;
+  i = 1;
+  do
+  { pos[n++] = (int)soap_strtol(attr + i, NULL, 10);
+    while (attr[i] && attr[i] != ',' && attr[i] != ']')
+      i++;
+    if (attr[i] == ',')
+      i++;
+  } while (n < SOAP_MAXDIMS && attr[i] && attr[i] != ']');
+  return n;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+struct soap_nlist *
+SOAP_FMAC2
+soap_push_namespace(struct soap *soap, const char *id, const char *ns)
+{ register struct soap_nlist *np;
+  register struct Namespace *p;
+  register short i = -1;
+  register size_t n, k;
+  n = strlen(id);
+  k = strlen(ns) + 1;
+  p = soap->local_namespaces;
+  if (p)
+  { for (i = 0; p->id; p++, i++)
+    { if (p->ns && !strcmp(ns, p->ns))
+        break;
+      if (p->out)
+      { if (!strcmp(ns, p->out))
+          break;
+      }
+      else if (p->in)
+      { if (!soap_tag_cmp(ns, p->in))
+        { if ((p->out = (char*)SOAP_MALLOC(soap, k)))
+            strcpy(p->out, ns);
+          break;
+        }
+      }
+    }
+    if (!p || !p->id)
+      i = -1;
+  }
+  if (i >= 0)
+    k = 0;
+  np = (struct soap_nlist*)SOAP_MALLOC(soap, sizeof(struct soap_nlist) + n + k);
+  if (!np)
+  { soap->error = SOAP_EOM;
+    return NULL;
+  }
+  np->next = soap->nlist;
+  soap->nlist = np;
+  np->level = soap->level;
+  np->index = i;
+  strcpy((char*)np->id, id);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Push namespace binding (level=%u) '%s' '%s'\n", soap->level, id, ns));
+  if (i < 0)
+  { np->ns = strcpy((char*)np->id + n + 1, ns);
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Push NOT OK: no match found for '%s' in namespace mapping table (added to stack anyway)\n", ns));
+  }
+  else
+  { np->ns = NULL;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Push OK ('%s' matches '%s' in namespace table)\n", id, p->id));
+  }
+  return np;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_pop_namespace(struct soap *soap)
+{ register struct soap_nlist *np, *nq;
+  for (np = soap->nlist; np && np->level >= soap->level; np = nq)
+  { nq = np->next;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Pop namespace binding (level=%u) '%s'\n", soap->level, np->id));
+    SOAP_FREE(soap, np);
+  }
+  soap->nlist = np;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_match_namespace(struct soap *soap, const char *id1, const char *id2, size_t n1, size_t n2)
+{ register struct soap_nlist *np = soap->nlist;
+  const char *s;
+  while (np && (strncmp(np->id, id1, n1) || np->id[n1]))
+    np = np->next;
+  if (np)
+  { if (!(soap->mode & SOAP_XML_IGNORENS))
+      if (np->index < 0
+       || ((s = soap->local_namespaces[np->index].id) && (strncmp(s, id2, n2) || (s[n2] && s[n2] != '_'))))
+        return SOAP_NAMESPACE;
+    return SOAP_OK;
+  }
+  if (n1 == 0)
+    return (soap->mode & SOAP_XML_IGNORENS) ? SOAP_OK : SOAP_NAMESPACE;
+  if ((n1 == 3 && n1 == n2 && !strncmp(id1, "xml", 3) && !strncmp(id1, id2, 3))
+   || (soap->mode & SOAP_XML_IGNORENS))
+    return SOAP_OK;
+  return soap->error = SOAP_SYNTAX_ERROR;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_current_namespace(struct soap *soap, const char *tag)
+{ register struct soap_nlist *np;
+  register const char *s;
+  if (!tag || !strncmp(tag, "xml", 3))
+    return NULL;
+  np = soap->nlist;
+  if (!(s = strchr(tag, ':')))
+  { while (np && *np->id) /* find default namespace, if present */
+      np = np->next;
+  }
+  else
+  { while (np && (strncmp(np->id, tag, s - tag) || np->id[s - tag]))
+      np = np->next;
+    if (!np)
+      soap->error = SOAP_NAMESPACE;
+  }
+  if (np)
+  { if (np->index >= 0)
+      return soap->namespaces[np->index].ns;
+    if (np->ns)
+      return soap_strdup(soap, np->ns);
+  }
+  return NULL;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_tag_cmp(const char *s, const char *t)
+{ for (;;)
+  { register int c1 = *s;
+    register int c2 = *t;
+    if (!c1 || c1 == '"')
+      break;
+    if (c2 != '-')
+    { if (c1 != c2)
+      { if (c1 >= 'A' && c1 <= 'Z')
+          c1 += 'a' - 'A';
+        if (c2 >= 'A' && c2 <= 'Z')
+          c2 += 'a' - 'A';
+      }
+      if (c1 != c2)
+      { if (c2 != '*')
+          return 1;
+        c2 = *++t;
+        if (!c2)
+          return 0;
+        if (c2 >= 'A' && c2 <= 'Z')
+          c2 += 'a' - 'A';
+        for (;;)
+        { c1 = *s;
+          if (!c1 || c1 == '"')
+            break;
+          if (c1 >= 'A' && c1 <= 'Z')
+            c1 += 'a' - 'A';
+          if (c1 == c2 && !soap_tag_cmp(s + 1, t + 1))
+            return 0;
+          s++;
+        }
+        break;
+      }
+    }
+    s++;
+    t++;
+  }
+  if (*t == '*' && !t[1])
+    return 0;
+  return *t;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_match_tag(struct soap *soap, const char *tag1, const char *tag2)
+{ register const char *s, *t;
+  register int err;
+  if (!tag1 || !tag2 || !*tag2)
+    return SOAP_OK;
+  s = strchr(tag1, ':');
+  t = strchr(tag2, ':');
+  if (t)
+  { if (s)
+    { if (t[1] && SOAP_STRCMP(s + 1, t + 1))
+        return SOAP_TAG_MISMATCH;
+      if (t != tag2 && (err = soap_match_namespace(soap, tag1, tag2, s - tag1, t - tag2)))
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Tags '%s' and '%s' match but namespaces differ\n", tag1, tag2));
+        if (err == SOAP_NAMESPACE)
+          return SOAP_TAG_MISMATCH;
+        return err;
+      }
+    }
+    else if (!t[1])
+    { err = soap_match_namespace(soap, tag1, tag2, 0, t - tag2);
+      if (err == SOAP_NAMESPACE)
+        return SOAP_TAG_MISMATCH;
+    }
+    else if (SOAP_STRCMP(tag1, t + 1))
+    { return SOAP_TAG_MISMATCH;
+    }
+    else if (t != tag2 && (err = soap_match_namespace(soap, tag1, tag2, 0, t - tag2)))
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Tags '%s' and '%s' match but namespaces differ\n", tag1, tag2));
+      if (err == SOAP_NAMESPACE)
+        return SOAP_TAG_MISMATCH;
+      return err;
+    }
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Tags and (default) namespaces match: '%s' '%s'\n", tag1, tag2));
+    return SOAP_OK;
+  }
+  if (s)
+  { if (SOAP_STRCMP(s + 1, tag2))
+      return SOAP_TAG_MISMATCH;
+  }
+  else if (SOAP_STRCMP(tag1, tag2))
+    return SOAP_TAG_MISMATCH;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Tags match: '%s' '%s'\n", tag1, tag2));
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_match_array(struct soap *soap, const char *type)
+{ if (*soap->arrayType)
+    if (soap_match_tag(soap, soap->arrayType, type)
+     && soap_match_tag(soap, soap->arrayType, "xsd:anyType")
+     && soap_match_tag(soap, soap->arrayType, "xsd:ur-type")
+    )
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Array type mismatch: '%s' '%s'\n", soap->arrayType, type));
+      return SOAP_TAG_MISMATCH;
+    }
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************\
+ *
+ *	SSL/TLS
+ *
+\******************************************************************************/
+
+/******************************************************************************/
+#ifdef WITH_OPENSSL
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_rand()
+{ unsigned char buf[4];
+  if (!soap_ssl_init_done)
+    soap_ssl_init();
+  RAND_pseudo_bytes(buf, 4);
+  return *(int*)buf;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+#if defined(VXWORKS) && defined(WM_SECURE_KEY_STORAGE)
+soap_ssl_server_context(struct soap *soap, unsigned short flags, const char *keyfile, const char *keyid, const char *password, const char *cafile, const char *capath, const char *dhfile, const char *randfile, const char *sid)
+#else
+soap_ssl_server_context(struct soap *soap, unsigned short flags, const char *keyfile, const char *password, const char *cafile, const char *capath, const char *dhfile, const char *randfile, const char *sid)
+#endif
+{ int err;
+  soap->keyfile = keyfile;
+#if defined(VXWORKS) && defined(WM_SECURE_KEY_STORAGE)
+  soap->keyid = keyid;
+#endif
+  soap->password = password;
+  soap->cafile = cafile;
+  soap->capath = capath;
+  soap->crlfile = NULL;
+#ifdef WITH_OPENSSL
+  soap->dhfile = dhfile;
+  soap->randfile = randfile;
+#endif
+  soap->ssl_flags = flags | (dhfile == NULL ? SOAP_SSL_RSA : 0);
+#ifdef WITH_GNUTLS
+  if (dhfile)
+  { char *s;
+    int n = (int)soap_strtoul(dhfile, &s, 10);
+    if (!soap->dh_params)
+      gnutls_dh_params_init(&soap->dh_params);
+    /* if dhfile is numeric, treat it as a key length to generate DH params which can take a while */
+    if (n >= 512 && s && *s == '\0')
+      gnutls_dh_params_generate2(soap->dh_params, (unsigned int)n);
+    else
+    { unsigned int dparams_len;
+      unsigned char dparams_buf[1024];
+      FILE *fd = fopen(dhfile, "r");
+      if (!fd)
+        return soap_set_receiver_error(soap, "SSL/TLS error", "Invalid DH file", SOAP_SSL_ERROR);
+      dparams_len = (unsigned int)fread(dparams_buf, 1, sizeof(dparams_buf), fd);
+      fclose(fd);
+      gnutls_datum_t dparams = { dparams_buf, dparams_len };
+      if (gnutls_dh_params_import_pkcs3(soap->dh_params, &dparams, GNUTLS_X509_FMT_PEM))
+        return soap_set_receiver_error(soap, "SSL/TLS error", "Invalid DH file", SOAP_SSL_ERROR);
+    }
+  }
+  else
+  { if (!soap->rsa_params)
+      gnutls_rsa_params_init(&soap->rsa_params);
+    gnutls_rsa_params_generate2(soap->rsa_params, SOAP_SSL_RSA_BITS);
+  }
+  if (soap->session)
+  { gnutls_deinit(soap->session);
+    soap->session = NULL;
+  }
+  if (soap->xcred)
+  { gnutls_certificate_free_credentials(soap->xcred);
+    soap->xcred = NULL;
+  }
+#endif
+  err = soap->fsslauth(soap);
+#ifdef WITH_OPENSSL
+  if (!err)
+  { if (sid)
+      SSL_CTX_set_session_id_context(soap->ctx, (unsigned char*)sid, (unsigned int)strlen(sid));
+    else
+      SSL_CTX_set_session_cache_mode(soap->ctx, SSL_SESS_CACHE_OFF);
+  }
+#endif
+  return err;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+#if defined(VXWORKS) && defined(WM_SECURE_KEY_STORAGE)
+soap_ssl_client_context(struct soap *soap, unsigned short flags, const char *keyfile, const char *keyid, const char *password, const char *cafile, const char *capath, const char *randfile)
+#else
+soap_ssl_client_context(struct soap *soap, unsigned short flags, const char *keyfile, const char *password, const char *cafile, const char *capath, const char *randfile)
+#endif
+{ soap->keyfile = keyfile;
+#if defined(VXWORKS) && defined(WM_SECURE_KEY_STORAGE)
+  soap->keyid = keyid;
+#endif
+  soap->password = password;
+  soap->cafile = cafile;
+  soap->capath = capath;
+  soap->ssl_flags = SOAP_SSL_CLIENT | flags;
+#ifdef WITH_OPENSSL
+  soap->dhfile = NULL;
+  soap->randfile = randfile;
+  soap->fsslverify = (flags & SOAP_SSL_ALLOW_EXPIRED_CERTIFICATE) == 0 ? ssl_verify_callback : ssl_verify_callback_allow_expired_certificate;
+#endif
+#ifdef WITH_GNUTLS
+  if (soap->session)
+  { gnutls_deinit(soap->session);
+    soap->session = NULL;
+  }
+  if (soap->xcred)
+  { gnutls_certificate_free_credentials(soap->xcred);
+    soap->xcred = NULL;
+  }
+#endif
+  return soap->fsslauth(soap);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_ssl_init()
+{ /* Note: for MT systems, the main program MUST call soap_ssl_init() before any threads are started */
+  if (!soap_ssl_init_done)
+  { soap_ssl_init_done = 1;
+#ifdef WITH_OPENSSL
+    SSL_library_init();
+    OpenSSL_add_all_algorithms(); /* 2.8.1 change (wsseapi.c) */
+    OpenSSL_add_all_digests();
+#ifndef WITH_LEAN
+    SSL_load_error_strings();
+#endif
+    if (!RAND_load_file("/dev/urandom", 1024))
+    { char buf[1024];
+      RAND_seed(buf, sizeof(buf));
+      while (!RAND_status())
+      { int r = rand();
+        RAND_seed(&r, sizeof(int));
+      }
+    }
+#endif
+#ifdef WITH_GNUTLS
+# if defined(HAVE_PTHREAD_H)
+    gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
+# elif defined(HAVE_PTH_H)
+    gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pth);
+# endif
+    gcry_control(GCRYCTL_ENABLE_QUICK_RANDOM, 0);
+    gcry_control(GCRYCTL_DISABLE_SECMEM, 0);
+    gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0); /* libgcrypt init done */
+    gnutls_global_init();
+#endif
+  }
+}
+#endif
+#endif
+
+/******************************************************************************/
+#if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
+#ifndef PALM_1
+SOAP_FMAC1
+const char *
+SOAP_FMAC2
+soap_ssl_error(struct soap *soap, int ret)
+{
+#ifdef WITH_OPENSSL
+  int err = SSL_get_error(soap->ssl, ret);
+  const char *msg = soap_code_str(h_ssl_error_codes, err);
+  if (msg)
+    strcpy(soap->msgbuf, msg);
+  else
+    return ERR_error_string(err, soap->msgbuf);
+  if (ERR_peek_error())
+  { unsigned long r;
+    strcat(soap->msgbuf, "\n");
+    while ((r = ERR_get_error()))
+      ERR_error_string_n(r, soap->msgbuf + strlen(soap->msgbuf), sizeof(soap->msgbuf) - strlen(soap->msgbuf));
+  }
+  else
+  { switch (ret)
+    { case 0:
+        strcpy(soap->msgbuf, "EOF was observed that violates the SSL/TLS protocol. The client probably provided invalid authentication information.");
+        break;
+      case -1:
+#ifdef HAVE_SNPRINTF
+        soap_snprintf(soap->msgbuf, sizeof(soap->msgbuf), "Error observed by underlying SSL/TLS BIO: %s", strerror(errno));
+#else
+        { const char *s = strerror(errno);
+          size_t l = strlen(s);
+          sprintf(soap->msgbuf, "Error observed by underlying SSL/TLS BIO: %s", l + 44 < sizeof(soap->msgbuf) ? s : SOAP_STR_EOS);
+        }
+#endif
+        break;
+    }
+  }
+  return soap->msgbuf;
+#endif
+#ifdef WITH_GNUTLS
+  return gnutls_strerror(ret);
+#endif
+}
+#endif
+#endif
+
+/******************************************************************************/
+#if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
+#ifndef PALM_1
+static int
+ssl_auth_init(struct soap *soap)
+{
+#ifdef WITH_OPENSSL
+  long flags;
+  int mode;
+#if defined(VXWORKS) && defined(WM_SECURE_KEY_STORAGE)
+  EVP_PKEY* pkey;
+#endif
+  if (!soap_ssl_init_done)
+    soap_ssl_init();
+  ERR_clear_error();
+  if (!soap->ctx)
+  { if (!(soap->ctx = SSL_CTX_new(SSLv23_method())))
+      return soap_set_receiver_error(soap, "SSL/TLS error", "Can't setup context", SOAP_SSL_ERROR);
+    /* The following alters the behavior of SSL read/write: */
+#if 0
+    SSL_CTX_set_mode(soap->ctx, SSL_MODE_ENABLE_PARTIAL_WRITE | SSL_MODE_AUTO_RETRY);
+#endif
+  }
+  if (soap->randfile)
+  { if (!RAND_load_file(soap->randfile, -1))
+      return soap_set_receiver_error(soap, "SSL/TLS error", "Can't load randomness", SOAP_SSL_ERROR);
+  }
+  if (soap->cafile || soap->capath)
+  { if (!SSL_CTX_load_verify_locations(soap->ctx, soap->cafile, soap->capath))
+      return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read CA file", SOAP_SSL_ERROR);
+    if (soap->cafile && (soap->ssl_flags & SOAP_SSL_REQUIRE_CLIENT_AUTHENTICATION))
+      SSL_CTX_set_client_CA_list(soap->ctx, SSL_load_client_CA_file(soap->cafile));
+  }
+  if (!(soap->ssl_flags & SOAP_SSL_NO_DEFAULT_CA_PATH))
+  { if (!SSL_CTX_set_default_verify_paths(soap->ctx))
+      return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read default CA file and/or directory", SOAP_SSL_ERROR);
+  }
+/* This code assumes a typical scenario, see alternative code below */
+  if (soap->keyfile)
+  { if (!SSL_CTX_use_certificate_chain_file(soap->ctx, soap->keyfile))
+      return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read certificate key file", SOAP_SSL_ERROR);
+    if (soap->password)
+    { SSL_CTX_set_default_passwd_cb_userdata(soap->ctx, (void*)soap->password);
+      SSL_CTX_set_default_passwd_cb(soap->ctx, ssl_password);
+    }
+    if (!SSL_CTX_use_PrivateKey_file(soap->ctx, soap->keyfile, SSL_FILETYPE_PEM))
+      return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read key file", SOAP_SSL_ERROR);
+#ifndef WM_SECURE_KEY_STORAGE
+    if (!SSL_CTX_use_PrivateKey_file(soap->ctx, soap->keyfile, SSL_FILETYPE_PEM))
+      return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read key file", SOAP_SSL_ERROR);
+#endif
+  }
+#if defined(VXWORKS) && defined(WM_SECURE_KEY_STORAGE)
+  if (NULL == (pkey = ipcom_key_db_pkey_get(soap->keyid)))
+    return soap_set_receiver_error(soap, "SSL error", "Can't find key", SOAP_SSL_ERROR);
+  if (0 == SSL_CTX_use_PrivateKey(soap->ctx, pkey))
+    return soap_set_receiver_error(soap, "SSL error", "Can't read key", SOAP_SSL_ERROR);
+#endif
+/* Suggested alternative approach to check the key file for certs (cafile=NULL):*/
+#if 0
+  if (soap->password)
+  { SSL_CTX_set_default_passwd_cb_userdata(soap->ctx, (void*)soap->password);
+    SSL_CTX_set_default_passwd_cb(soap->ctx, ssl_password);
+  }
+  if (!soap->cafile || !SSL_CTX_use_certificate_chain_file(soap->ctx, soap->cafile))
+  { if (soap->keyfile)
+    { if (!SSL_CTX_use_certificate_chain_file(soap->ctx, soap->keyfile))
+        return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read certificate or key file", SOAP_SSL_ERROR);
+      if (!SSL_CTX_use_PrivateKey_file(soap->ctx, soap->keyfile, SSL_FILETYPE_PEM))
+        return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read key file", SOAP_SSL_ERROR);
+    }
+  }
+#endif
+  if ((soap->ssl_flags & SOAP_SSL_RSA))
+  { RSA *rsa = RSA_generate_key(SOAP_SSL_RSA_BITS, RSA_F4, NULL, NULL);
+    if (!SSL_CTX_set_tmp_rsa(soap->ctx, rsa))
+    { if (rsa)
+        RSA_free(rsa);
+      return soap_set_receiver_error(soap, "SSL/TLS error", "Can't set RSA key", SOAP_SSL_ERROR);
+    }
+    RSA_free(rsa);
+  }
+  else if (soap->dhfile)
+  { DH *dh = 0;
+    char *s;
+    int n = (int)soap_strtoul(soap->dhfile, &s, 10);
+    /* if dhfile is numeric, treat it as a key length to generate DH params which can take a while */
+    if (n >= 512 && s && *s == '\0')
+#if defined(VXWORKS)
+      DH_generate_parameters_ex(dh, n, 2/*or 5*/, NULL);
+#else
+      dh = DH_generate_parameters(n, 2/*or 5*/, NULL, NULL);
+#endif
+    else
+    { BIO *bio;
+      bio = BIO_new_file(soap->dhfile, "r");
+      if (!bio)
+        return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read DH file", SOAP_SSL_ERROR);
+      dh = PEM_read_bio_DHparams(bio, NULL, NULL, NULL);
+      BIO_free(bio);
+    }
+    if (!dh || DH_check(dh, &n) != 1 || SSL_CTX_set_tmp_dh(soap->ctx, dh) < 0)
+    { if (dh)
+        DH_free(dh);
+      return soap_set_receiver_error(soap, "SSL/TLS error", "Can't set DH parameters", SOAP_SSL_ERROR);
+    }
+    DH_free(dh);
+  }
+  flags = (SSL_OP_ALL | SSL_OP_NO_SSLv2); /* disable SSL v2 */
+  if ((soap->ssl_flags & SOAP_SSLv3))
+    flags |= SSL_OP_NO_TLSv1;
+  if ((soap->ssl_flags & SOAP_TLSv1))
+    flags |= SSL_OP_NO_SSLv3;
+#ifdef SSL_OP_NO_TICKET
+  /* TLS extension is enabled by default in OPENSSL v0.9.8k
+     Disable it by adding SSL_OP_NO_TICKET */
+  flags |= SSL_OP_NO_TICKET;
+#endif
+  SSL_CTX_set_options(soap->ctx, flags);
+  if ((soap->ssl_flags & SOAP_SSL_REQUIRE_CLIENT_AUTHENTICATION))
+    mode = (SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
+  else if ((soap->ssl_flags & SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION))
+    mode = SSL_VERIFY_PEER;
+  else
+    mode = SSL_VERIFY_NONE;
+  SSL_CTX_set_verify(soap->ctx, mode, soap->fsslverify);
+#if (OPENSSL_VERSION_NUMBER < 0x00905100L)
+  SSL_CTX_set_verify_depth(soap->ctx, 1);
+#else
+  SSL_CTX_set_verify_depth(soap->ctx, 9);
+#endif
+#endif
+#ifdef WITH_GNUTLS
+  int ret;
+  if (!soap_ssl_init_done)
+    soap_ssl_init();
+  if (!soap->xcred)
+  { gnutls_certificate_allocate_credentials(&soap->xcred);
+    if (soap->cafile)
+    { if (gnutls_certificate_set_x509_trust_file(soap->xcred, soap->cafile, GNUTLS_X509_FMT_PEM) < 0)
+        return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read CA file", SOAP_SSL_ERROR);
+    }
+    if (soap->crlfile)
+    { if (gnutls_certificate_set_x509_crl_file(soap->xcred, soap->crlfile, GNUTLS_X509_FMT_PEM) < 0)
+        return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read CRL file", SOAP_SSL_ERROR);
+    }
+    if (soap->keyfile)
+    { if (gnutls_certificate_set_x509_key_file(soap->xcred, soap->keyfile, soap->keyfile, GNUTLS_X509_FMT_PEM) < 0) /* TODO: GNUTLS need to concat cert and key in single key file */
+        return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read key file", SOAP_SSL_ERROR);
+    }
+  }
+  if ((soap->ssl_flags & SOAP_SSL_CLIENT))
+  { gnutls_init(&soap->session, GNUTLS_CLIENT);
+    if (soap->cafile || soap->crlfile || soap->keyfile)
+    { ret = gnutls_priority_set_direct(soap->session, "PERFORMANCE", NULL);
+      if (ret < 0)
+        return soap_set_receiver_error(soap, soap_ssl_error(soap, ret), "SSL/TLS set priority error", SOAP_SSL_ERROR);
+      gnutls_credentials_set(soap->session, GNUTLS_CRD_CERTIFICATE, soap->xcred);
+    }
+    else
+    { if (!soap->acred)
+        gnutls_anon_allocate_client_credentials(&soap->acred);
+      gnutls_init(&soap->session, GNUTLS_CLIENT);
+      gnutls_priority_set_direct(soap->session, "PERFORMANCE:+ANON-DH:!ARCFOUR-128", NULL);
+      gnutls_credentials_set(soap->session, GNUTLS_CRD_ANON, soap->acred);
+    }
+  }
+  else
+  { if (!soap->keyfile)
+      return soap_set_receiver_error(soap, "SSL/TLS error", "No key file: anonymous server authentication not supported in this release", SOAP_SSL_ERROR);
+    if ((soap->ssl_flags & SOAP_SSL_RSA) && soap->rsa_params)
+      gnutls_certificate_set_rsa_export_params(soap->xcred, soap->rsa_params);
+    else if (soap->dh_params)
+      gnutls_certificate_set_dh_params(soap->xcred, soap->dh_params);
+    if (!soap->cache)
+      gnutls_priority_init(&soap->cache, "NORMAL", NULL);
+    gnutls_init(&soap->session, GNUTLS_SERVER);
+    gnutls_priority_set(soap->session, soap->cache);
+    gnutls_credentials_set(soap->session, GNUTLS_CRD_CERTIFICATE, soap->xcred);
+    if ((soap->ssl_flags & SOAP_SSL_REQUIRE_CLIENT_AUTHENTICATION))
+      gnutls_certificate_server_set_request(soap->session, GNUTLS_CERT_REQUEST);
+    gnutls_session_enable_compatibility_mode(soap->session);
+    if ((soap->ssl_flags & SOAP_TLSv1))
+    { int protocol_priority[] = { GNUTLS_TLS1_0, 0 };
+      if (gnutls_protocol_set_priority(soap->session, protocol_priority) != GNUTLS_E_SUCCESS)
+        return soap_set_receiver_error(soap, "SSL/TLS error", "Can't set TLS v1.0 protocol", SOAP_SSL_ERROR);
+    }
+  }
+#endif
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifdef WITH_OPENSSL
+#ifndef PALM_1
+static int
+ssl_password(char *buf, int num, int rwflag, void *userdata)
+{ if (num < (int)strlen((char*)userdata) + 1)
+    return 0;
+  return (int)strlen(strcpy(buf, (char*)userdata));
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifdef WITH_OPENSSL
+#ifndef PALM_1
+static int
+ssl_verify_callback(int ok, X509_STORE_CTX *store)
+{
+#ifdef SOAP_DEBUG
+  if (!ok)
+  { char buf[1024];
+    int err = X509_STORE_CTX_get_error(store);
+    X509 *cert = X509_STORE_CTX_get_current_cert(store);
+    fprintf(stderr, "SSL verify error or warning with certificate at depth %d: %s\n", X509_STORE_CTX_get_error_depth(store), X509_verify_cert_error_string(err));
+    X509_NAME_oneline(X509_get_issuer_name(cert), buf, sizeof(buf));
+    fprintf(stderr, "certificate issuer %s\n", buf);
+    X509_NAME_oneline(X509_get_subject_name(cert), buf, sizeof(buf));
+    fprintf(stderr, "certificate subject %s\n", buf);
+    /* accept self signed certificates and certificates out of date */
+    switch (err)
+    { case X509_V_ERR_CERT_NOT_YET_VALID:
+      case X509_V_ERR_CERT_HAS_EXPIRED:
+      case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT:
+      case X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN:
+        X509_STORE_CTX_set_error(store, X509_V_OK);
+        ok = 1;
+    }
+  }
+#endif
+  /* Note: return 1 to continue, but unsafe progress will be terminated by OpenSSL */
+  return ok;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifdef WITH_OPENSSL
+#ifndef PALM_1
+static int
+ssl_verify_callback_allow_expired_certificate(int ok, X509_STORE_CTX *store)
+{ ok = ssl_verify_callback(ok, store);
+  if (!ok)
+  { /* accept self signed certificates and certificates out of date */
+    switch (X509_STORE_CTX_get_error(store))
+    { case X509_V_ERR_CERT_NOT_YET_VALID:
+      case X509_V_ERR_CERT_HAS_EXPIRED:
+      case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT:
+      case X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN:
+        X509_STORE_CTX_set_error(store, X509_V_OK);
+        ok = 1;
+    }
+  }
+  /* Note: return 1 to continue, but unsafe progress will be terminated by SSL */
+  return ok;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifdef WITH_GNUTLS
+static const char *
+ssl_verify(struct soap *soap, const char *host)
+{ unsigned int status;
+  const char *err = NULL;
+  int r = gnutls_certificate_verify_peers2(soap->session, &status);
+  if (r < 0)
+    err = "Certificate verify error";
+  else if ((status & GNUTLS_CERT_INVALID))
+    err = "The certificate is not trusted";
+  else if ((status & GNUTLS_CERT_SIGNER_NOT_FOUND))
+    err = "The certificate hasn't got a known issuer";
+  else if ((status & GNUTLS_CERT_REVOKED))
+    err = "The certificate has been revoked";
+  else if (gnutls_certificate_type_get(soap->session) == GNUTLS_CRT_X509)
+  { gnutls_x509_crt_t cert;
+    const gnutls_datum_t *cert_list;
+    unsigned int cert_list_size;
+    if (gnutls_x509_crt_init(&cert) < 0)
+      err = "Could not get X509 certificates";
+    else if ((cert_list = gnutls_certificate_get_peers(soap->session, &cert_list_size)) == NULL)
+      err = "Could not get X509 certificates";
+    else if (gnutls_x509_crt_import(cert, &cert_list[0], GNUTLS_X509_FMT_DER) < 0)
+      err = "Error parsing X509 certificate";
+    else if (!(soap->ssl_flags & SOAP_SSL_ALLOW_EXPIRED_CERTIFICATE) && gnutls_x509_crt_get_expiration_time(cert) < time(NULL))
+      err = "The certificate has expired";
+    else if (!(soap->ssl_flags & SOAP_SSL_ALLOW_EXPIRED_CERTIFICATE) && gnutls_x509_crt_get_activation_time(cert) > time(NULL))
+      err = "The certificate is not yet activated";
+    else if (host && !(soap->ssl_flags & SOAP_SSL_SKIP_HOST_CHECK))
+    { if (!gnutls_x509_crt_check_hostname(cert, host))
+        err = "Certificate host name mismatch";
+    }
+    gnutls_x509_crt_deinit(cert);
+  }
+  return err;
+}
+#endif
+
+/******************************************************************************/
+#if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
+#ifndef WITH_NOIO
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_ssl_accept(struct soap *soap)
+{ SOAP_SOCKET sk = soap->socket;
+#ifdef WITH_OPENSSL
+  BIO *bio;
+  int retries, r, s;
+  if (!soap_valid_socket(sk))
+    return soap_set_receiver_error(soap, "SSL/TLS error", "No socket in soap_ssl_accept()", SOAP_SSL_ERROR);
+  soap->ssl_flags &= ~SOAP_SSL_CLIENT;
+  if (!soap->ctx && (soap->error = soap->fsslauth(soap)))
+    return soap->error;
+  if (!soap->ssl)
+  { soap->ssl = SSL_new(soap->ctx);
+    if (!soap->ssl)
+      return soap_set_receiver_error(soap, "SSL/TLS error", "SSL_new() failed in soap_ssl_accept()", SOAP_SSL_ERROR);
+  }
+  else
+    SSL_clear(soap->ssl);
+  bio = BIO_new_socket((int)sk, BIO_NOCLOSE);
+  SSL_set_bio(soap->ssl, bio, bio);
+  /* Set SSL sockets to non-blocking */
+  retries = 0;
+  if (soap->accept_timeout)
+  { SOAP_SOCKNONBLOCK(sk)
+    retries = 10*soap->accept_timeout;
+  }
+  if (retries <= 0)
+    retries = 100; /* timeout: 10 sec retries, 100 times 0.1 sec */
+  while ((r = SSL_accept(soap->ssl)) <= 0)
+  { int err;
+    if (retries-- <= 0)
+      break;
+    err = SSL_get_error(soap->ssl, r);
+    if (err == SSL_ERROR_WANT_ACCEPT || err == SSL_ERROR_WANT_READ || err == SSL_ERROR_WANT_WRITE)
+    { if (err == SSL_ERROR_WANT_READ)
+        s = tcp_select(soap, sk, SOAP_TCP_SELECT_RCV | SOAP_TCP_SELECT_ERR, -100000);
+      else
+        s = tcp_select(soap, sk, SOAP_TCP_SELECT_SND | SOAP_TCP_SELECT_ERR, -100000);
+      if (s < 0)
+        break;
+    }
+    else
+    { soap->errnum = soap_socket_errno(sk);
+      break;
+    }
+  }
+  if (r <= 0)
+  { soap_set_receiver_error(soap, soap_ssl_error(soap, r), "SSL_accept() failed in soap_ssl_accept()", SOAP_SSL_ERROR);
+    soap_closesock(soap);
+    return SOAP_SSL_ERROR;
+  }
+  if ((soap->ssl_flags & SOAP_SSL_REQUIRE_CLIENT_AUTHENTICATION))
+  { X509 *peer;
+    int err;
+    if ((err = SSL_get_verify_result(soap->ssl)) != X509_V_OK)
+    { soap_closesock(soap);
+      return soap_set_sender_error(soap, X509_verify_cert_error_string(err), "SSL certificate presented by peer cannot be verified in soap_ssl_accept()", SOAP_SSL_ERROR);
+    }
+    peer = SSL_get_peer_certificate(soap->ssl);
+    if (!peer)
+    { soap_closesock(soap);
+      return soap_set_sender_error(soap, "SSL/TLS error", "No SSL certificate was presented by the peer in soap_ssl_accept()", SOAP_SSL_ERROR);
+    }
+    X509_free(peer);
+  }
+#endif
+#ifdef WITH_GNUTLS
+  int retries = 0, r;
+  if (!soap_valid_socket(sk))
+    return soap_set_receiver_error(soap, "SSL/TLS error", "No socket in soap_ssl_accept()", SOAP_SSL_ERROR);
+  soap->ssl_flags &= ~SOAP_SSL_CLIENT;
+  if (!soap->session && (soap->error = soap->fsslauth(soap)))
+  { soap_closesock(soap);
+    return soap->error;
+  }
+  gnutls_transport_set_ptr(soap->session, (gnutls_transport_ptr_t)(long)sk);
+  /* Set SSL sockets to non-blocking */
+  if (soap->accept_timeout)
+  { SOAP_SOCKNONBLOCK(sk)
+    retries = 10*soap->accept_timeout;
+  }
+  if (retries <= 0)
+    retries = 100; /* timeout: 10 sec retries, 100 times 0.1 sec */
+  while ((r = gnutls_handshake(soap->session)))
+  { int s;
+    /* GNUTLS repeat handhake when GNUTLS_E_AGAIN */
+    if (retries-- <= 0)
+      break;
+    if (r == GNUTLS_E_AGAIN || r == GNUTLS_E_INTERRUPTED)
+    { if (!gnutls_record_get_direction(soap->session))
+        s = tcp_select(soap, sk, SOAP_TCP_SELECT_RCV | SOAP_TCP_SELECT_ERR, -100000);
+      else
+        s = tcp_select(soap, sk, SOAP_TCP_SELECT_SND | SOAP_TCP_SELECT_ERR, -100000);
+      if (s < 0)
+        break;
+    }
+    else
+    { soap->errnum = soap_socket_errno(sk);
+      break;
+    }
+  }
+  if (r)
+  { soap_closesock(soap);
+    return soap_set_receiver_error(soap, soap_ssl_error(soap, r), "SSL/TLS handshake failed", SOAP_SSL_ERROR);
+  }
+  if ((soap->ssl_flags & SOAP_SSL_REQUIRE_CLIENT_AUTHENTICATION))
+  { const char *err = ssl_verify(soap, NULL);
+    if (err)
+    { soap_closesock(soap);
+      return soap_set_receiver_error(soap, "SSL/TLS error", err, SOAP_SSL_ERROR);
+    }
+  }
+#endif
+  if (soap->recv_timeout || soap->send_timeout)
+    SOAP_SOCKNONBLOCK(sk)
+  else
+    SOAP_SOCKBLOCK(sk)
+  soap->imode |= SOAP_ENC_SSL;
+  soap->omode |= SOAP_ENC_SSL;
+  return SOAP_OK;
+}
+#endif
+#endif
+#endif
+
+/******************************************************************************\
+ *
+ *	TCP/UDP [SSL/TLS] IPv4 and IPv6
+ *
+\******************************************************************************/
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static int
+tcp_init(struct soap *soap)
+{ soap->errmode = 1;
+#ifdef WIN32
+  if (tcp_done)
+    return 0;
+  else
+  { WSADATA w;
+    if (WSAStartup(MAKEWORD(1, 1), &w))
+      return -1;
+    tcp_done = 1;
+  }
+#endif
+  return 0;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static const char*
+tcp_error(struct soap *soap)
+{ register const char *msg = NULL;
+  switch (soap->errmode)
+  { case 0:
+      msg = soap_strerror(soap);
+      break;
+    case 1:
+      msg = "WSAStartup failed";
+      break;
+    case 2:
+    {
+#ifndef WITH_LEAN
+      msg = soap_code_str(h_error_codes, soap->errnum);
+      if (!msg)
+#endif
+      {
+#ifdef HAVE_SNPRINTF
+        soap_snprintf(soap->msgbuf, sizeof(soap->msgbuf), "TCP/UDP IP error %d", soap->errnum);
+#else
+        sprintf(soap->msgbuf, "TCP/UDP IP error %d", soap->errnum);
+#endif
+        msg = soap->msgbuf;
+      }
+    }
+  }
+  return msg;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_IPV6
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static int
+tcp_gethost(struct soap *soap, const char *addr, struct in_addr *inaddr)
+{ soap_int32 iadd = -1;
+  struct hostent hostent, *host = &hostent;
+#ifdef VXWORKS
+  int hostint;
+  /* inet_addr(), and hostGetByName() expect "char *"; addr is a "const char *". */
+  iadd = inet_addr((char*)addr);
+#else
+#if defined(_AIX43) || ((defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R))
+  struct hostent_data ht_data;
+#endif
+#ifdef AS400
+  iadd = inet_addr((void*)addr);
+#else
+  iadd = inet_addr(addr);
+#endif
+#endif
+  if (iadd != -1)
+  { memcpy(inaddr, &iadd, sizeof(iadd));
+    return SOAP_OK;
+  }
+#if defined(__GLIBC__) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__)
+  if (gethostbyname_r(addr, &hostent, soap->buf, SOAP_BUFLEN, &host, &soap->errnum) < 0)
+    host = NULL;
+#elif defined(_AIX43) || ((defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R))
+  memset((void*)&ht_data, 0, sizeof(ht_data));
+  if (gethostbyname_r(addr, &hostent, &ht_data) < 0)
+  { host = NULL;
+    soap->errnum = h_errno;
+  }
+#elif defined(HAVE_GETHOSTBYNAME_R)
+  host = gethostbyname_r(addr, &hostent, soap->buf, SOAP_BUFLEN, &soap->errnum);
+#elif defined(VXWORKS)
+  /* If the DNS resolver library resolvLib has been configured in the vxWorks
+   * image, a query for the host IP address is sent to the DNS server, if the
+   * name was not found in the local host table. */
+  hostint = hostGetByName((char*)addr);
+  if (hostint == ERROR)
+  { host = NULL;
+    soap->errnum = soap_errno;
+  }
+#else
+#ifdef AS400
+  if (!(host = gethostbyname((void*)addr)))
+    soap->errnum = h_errno;
+#else
+  if (!(host = gethostbyname(addr)))
+    soap->errnum = h_errno;
+#endif
+#endif
+  if (!host)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Host name not found\n"));
+    return SOAP_ERR;
+  }
+#ifdef VXWORKS
+  inaddr->s_addr = hostint;
+#else
+  memcpy(inaddr, host->h_addr, host->h_length);
+#endif
+  return SOAP_OK;
+}
+#endif
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static SOAP_SOCKET
+tcp_connect(struct soap *soap, const char *endpoint, const char *host, int port)
+{
+#ifdef WITH_IPV6
+  struct addrinfo hints, *res, *ressave;
+#endif
+  SOAP_SOCKET sk;
+  int err = 0;
+#ifndef WITH_LEAN
+#ifndef WIN32
+  int len = SOAP_BUFLEN;
+#else
+  int len = SOAP_BUFLEN + 1; /* speeds up windows xfer */
+#endif
+  int set = 1;
+#endif
+#if !defined(WITH_LEAN) || defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
+  int retries;
+#endif
+  if (soap_valid_socket(soap->socket))
+    soap->fclosesocket(soap, soap->socket);
+  soap->socket = SOAP_INVALID_SOCKET;
+  if (tcp_init(soap))
+  { soap->errnum = 0;
+    soap_set_sender_error(soap, tcp_error(soap), "TCP init failed in tcp_connect()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+  soap->errmode = 0;
+#ifdef WITH_IPV6
+  memset((void*)&hints, 0, sizeof(hints));
+  hints.ai_family = PF_UNSPEC;
+#ifndef WITH_LEAN
+  if ((soap->omode & SOAP_IO_UDP))
+    hints.ai_socktype = SOCK_DGRAM;
+  else
+#endif
+    hints.ai_socktype = SOCK_STREAM;
+  soap->errmode = 2;
+  if (soap->proxy_host)
+    err = getaddrinfo(soap->proxy_host, soap_int2s(soap, soap->proxy_port), &hints, &res);
+  else
+    err = getaddrinfo(host, soap_int2s(soap, port), &hints, &res);
+  if (err)
+  { soap_set_sender_error(soap, SOAP_GAI_STRERROR(err), "getaddrinfo failed in tcp_connect()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+  ressave = res;
+again:
+  sk = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
+  soap->errmode = 0;
+#else
+#ifndef WITH_LEAN
+again:
+#endif
+#ifndef WITH_LEAN
+  if ((soap->omode & SOAP_IO_UDP))
+    sk = socket(AF_INET, SOCK_DGRAM, 0);
+  else
+#endif
+    sk = socket(AF_INET, SOCK_STREAM, 0);
+#endif
+  if (!soap_valid_socket(sk))
+  {
+#ifdef WITH_IPV6
+    if (res->ai_next)
+    { res = res->ai_next;
+      goto again;
+    }
+#endif
+    soap->errnum = soap_socket_errno(sk);
+    soap_set_sender_error(soap, tcp_error(soap), "socket failed in tcp_connect()", SOAP_TCP_ERROR);
+#ifdef WITH_IPV6
+    freeaddrinfo(ressave);
+#endif
+    return SOAP_INVALID_SOCKET;
+  }
+#ifdef SOCKET_CLOSE_ON_EXEC
+#ifdef WIN32
+#ifndef UNDER_CE
+  SetHandleInformation((HANDLE)sk, HANDLE_FLAG_INHERIT, 0);
+#endif
+#else
+  fcntl(sk, F_SETFD, 1);
+#endif
+#endif
+#ifndef WITH_LEAN
+  if (soap->connect_flags == SO_LINGER)
+  { struct linger linger;
+    memset((void*)&linger, 0, sizeof(linger));
+    linger.l_onoff = 1;
+    linger.l_linger = soap->linger_time;
+    if (setsockopt(sk, SOL_SOCKET, SO_LINGER, (char*)&linger, sizeof(struct linger)))
+    { soap->errnum = soap_socket_errno(sk);
+      soap_set_sender_error(soap, tcp_error(soap), "setsockopt SO_LINGER failed in tcp_connect()", SOAP_TCP_ERROR);
+      soap->fclosesocket(soap, sk);
+#ifdef WITH_IPV6
+      freeaddrinfo(ressave);
+#endif
+      return SOAP_INVALID_SOCKET;
+    }
+  }
+  else if (soap->connect_flags && setsockopt(sk, SOL_SOCKET, soap->connect_flags, (char*)&set, sizeof(int)))
+  { soap->errnum = soap_socket_errno(sk);
+    soap_set_sender_error(soap, tcp_error(soap), "setsockopt failed in tcp_connect()", SOAP_TCP_ERROR);
+    soap->fclosesocket(soap, sk);
+#ifdef WITH_IPV6
+    freeaddrinfo(ressave);
+#endif
+    return SOAP_INVALID_SOCKET;
+  }
+  if ((soap->keep_alive || soap->tcp_keep_alive) && setsockopt(sk, SOL_SOCKET, SO_KEEPALIVE, (char*)&set, sizeof(int)))
+  { soap->errnum = soap_socket_errno(sk);
+    soap_set_sender_error(soap, tcp_error(soap), "setsockopt SO_KEEPALIVE failed in tcp_connect()", SOAP_TCP_ERROR);
+    soap->fclosesocket(soap, sk);
+#ifdef WITH_IPV6
+    freeaddrinfo(ressave);
+#endif
+    return SOAP_INVALID_SOCKET;
+  }
+  if (setsockopt(sk, SOL_SOCKET, SO_SNDBUF, (char*)&len, sizeof(int)))
+  { soap->errnum = soap_socket_errno(sk);
+    soap_set_sender_error(soap, tcp_error(soap), "setsockopt SO_SNDBUF failed in tcp_connect()", SOAP_TCP_ERROR);
+    soap->fclosesocket(soap, sk);
+#ifdef WITH_IPV6
+    freeaddrinfo(ressave);
+#endif
+    return SOAP_INVALID_SOCKET;
+  }
+  if (setsockopt(sk, SOL_SOCKET, SO_RCVBUF, (char*)&len, sizeof(int)))
+  { soap->errnum = soap_socket_errno(sk);
+    soap_set_sender_error(soap, tcp_error(soap), "setsockopt SO_RCVBUF failed in tcp_connect()", SOAP_TCP_ERROR);
+    soap->fclosesocket(soap, sk);
+#ifdef WITH_IPV6
+    freeaddrinfo(ressave);
+#endif
+    return SOAP_INVALID_SOCKET;
+  }
+#ifdef TCP_KEEPIDLE
+  if (soap->tcp_keep_idle && setsockopt((SOAP_SOCKET)sk, IPPROTO_TCP, TCP_KEEPIDLE, (char*)&(soap->tcp_keep_idle), sizeof(int)))
+  { soap->errnum = soap_socket_errno(sk);
+    soap_set_sender_error(soap, tcp_error(soap), "setsockopt TCP_KEEPIDLE failed in tcp_connect()", SOAP_TCP_ERROR);
+    soap->fclosesocket(soap, (SOAP_SOCKET)sk);
+#ifdef WITH_IPV6
+    freeaddrinfo(ressave);
+#endif
+    return SOAP_INVALID_SOCKET;
+  }
+#endif
+#ifdef TCP_KEEPINTVL
+  if (soap->tcp_keep_intvl && setsockopt((SOAP_SOCKET)sk, IPPROTO_TCP, TCP_KEEPINTVL, (char*)&(soap->tcp_keep_intvl), sizeof(int)))
+  { soap->errnum = soap_socket_errno(sk);
+    soap_set_sender_error(soap, tcp_error(soap), "setsockopt TCP_KEEPINTVL failed in tcp_connect()", SOAP_TCP_ERROR);
+    soap->fclosesocket(soap, (SOAP_SOCKET)sk);
+#ifdef WITH_IPV6
+    freeaddrinfo(ressave);
+#endif
+    return SOAP_INVALID_SOCKET;
+  }
+#endif
+#ifdef TCP_KEEPCNT
+  if (soap->tcp_keep_cnt && setsockopt((SOAP_SOCKET)sk, IPPROTO_TCP, TCP_KEEPCNT, (char*)&(soap->tcp_keep_cnt), sizeof(int)))
+  { soap->errnum = soap_socket_errno(sk);
+    soap_set_sender_error(soap, tcp_error(soap), "setsockopt TCP_KEEPCNT failed in tcp_connect()", SOAP_TCP_ERROR);
+    soap->fclosesocket(soap, (SOAP_SOCKET)sk);
+#ifdef WITH_IPV6
+    freeaddrinfo(ressave);
+#endif
+    return SOAP_INVALID_SOCKET;
+  }
+#endif
+#ifdef TCP_NODELAY
+  if (!(soap->omode & SOAP_IO_UDP) && setsockopt(sk, IPPROTO_TCP, TCP_NODELAY, (char*)&set, sizeof(int)))
+  { soap->errnum = soap_socket_errno(sk);
+    soap_set_sender_error(soap, tcp_error(soap), "setsockopt TCP_NODELAY failed in tcp_connect()", SOAP_TCP_ERROR);
+    soap->fclosesocket(soap, sk);
+#ifdef WITH_IPV6
+    freeaddrinfo(ressave);
+#endif
+    return SOAP_INVALID_SOCKET;
+  }
+#endif
+#ifdef WITH_IPV6
+  if ((soap->omode & SOAP_IO_UDP) && soap->ipv6_multicast_if)
+  { struct sockaddr_in6 *in6addr = (struct sockaddr_in6*)res->ai_addr;
+    in6addr->sin6_scope_id = soap->ipv6_multicast_if;
+  }
+#endif
+#ifdef IP_MULTICAST_TTL
+  if ((soap->omode & SOAP_IO_UDP))
+  { if (soap->ipv4_multicast_ttl)
+    { unsigned char ttl = soap->ipv4_multicast_ttl;
+      if (setsockopt(sk, IPPROTO_IP, IP_MULTICAST_TTL, (char*)&ttl, sizeof(ttl)))
+      { soap->errnum = soap_socket_errno(sk);
+        soap_set_sender_error(soap, tcp_error(soap), "setsockopt IP_MULTICAST_TTL failed in tcp_connect()", SOAP_TCP_ERROR);
+        soap->fclosesocket(soap, sk);
+        return SOAP_INVALID_SOCKET;
+      }
+    }
+    if ((soap->omode & SOAP_IO_UDP) && soap->ipv4_multicast_if && !soap->ipv6_multicast_if)
+    { if (setsockopt(sk, IPPROTO_IP, IP_MULTICAST_IF, (char*)soap->ipv4_multicast_if, sizeof(struct in_addr)))
+#ifndef WINDOWS
+      { soap->errnum = soap_socket_errno(sk);
+        soap_set_sender_error(soap, tcp_error(soap), "setsockopt IP_MULTICAST_IF failed in tcp_connect()", SOAP_TCP_ERROR);
+        soap->fclosesocket(soap, sk);
+        return SOAP_INVALID_SOCKET;
+      }
+#else
+#ifndef IP_MULTICAST_IF
+#define IP_MULTICAST_IF 2
+#endif
+      if (setsockopt(sk, IPPROTO_IP, IP_MULTICAST_IF, (char*)soap->ipv4_multicast_if, sizeof(struct in_addr)))
+      { soap->errnum = soap_socket_errno(sk);
+        soap_set_sender_error(soap, tcp_error(soap), "setsockopt IP_MULTICAST_IF failed in tcp_connect()", SOAP_TCP_ERROR);
+        soap->fclosesocket(soap, sk);
+        return SOAP_INVALID_SOCKET;
+      }
+#endif
+    }
+  }
+#endif
+#endif
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Opening socket=%d to host='%s' port=%d\n", sk, host, port));
+#ifndef WITH_IPV6
+  soap->peerlen = sizeof(soap->peer);
+  memset((void*)&soap->peer, 0, sizeof(soap->peer));
+  soap->peer.sin_family = AF_INET;
+  soap->errmode = 2;
+  if (soap->proxy_host)
+  { if (soap->fresolve(soap, soap->proxy_host, &soap->peer.sin_addr))
+    { soap_set_sender_error(soap, tcp_error(soap), "get proxy host by name failed in tcp_connect()", SOAP_TCP_ERROR);
+      soap->fclosesocket(soap, sk);
+      return SOAP_INVALID_SOCKET;
+    }
+    soap->peer.sin_port = htons((short)soap->proxy_port);
+  }
+  else
+  { if (soap->fresolve(soap, host, &soap->peer.sin_addr))
+    { soap_set_sender_error(soap, tcp_error(soap), "get host by name failed in tcp_connect()", SOAP_TCP_ERROR);
+      soap->fclosesocket(soap, sk);
+      return SOAP_INVALID_SOCKET;
+    }
+    soap->peer.sin_port = htons((short)port);
+  }
+  soap->errmode = 0;
+#ifndef WITH_LEAN
+  if ((soap->omode & SOAP_IO_UDP))
+    return sk;
+#endif
+#else
+  if ((soap->omode & SOAP_IO_UDP))
+  { memcpy(&soap->peer, res->ai_addr, res->ai_addrlen);
+    soap->peerlen = res->ai_addrlen;
+    freeaddrinfo(ressave);
+    return sk;
+  }
+#endif
+#ifndef WITH_LEAN
+  if (soap->connect_timeout)
+    SOAP_SOCKNONBLOCK(sk)
+  else
+    SOAP_SOCKBLOCK(sk)
+  retries = 10;
+#endif
+  for (;;)
+  {
+#ifdef WITH_IPV6
+    if (connect(sk, res->ai_addr, (int)res->ai_addrlen))
+#else
+    if (connect(sk, (struct sockaddr*)&soap->peer, sizeof(soap->peer)))
+#endif
+    { err = soap_socket_errno(sk);
+#ifndef WITH_LEAN
+      if (err == SOAP_EADDRINUSE)
+      { soap->fclosesocket(soap, sk);
+        if (retries-- > 0)
+          goto again;
+      }
+      else if (soap->connect_timeout && (err == SOAP_EINPROGRESS || err == SOAP_EAGAIN || err == SOAP_EWOULDBLOCK))
+      {
+        SOAP_SOCKLEN_T k;
+        for (;;)
+        { register int r;
+          r = tcp_select(soap, sk, SOAP_TCP_SELECT_SND, soap->connect_timeout);
+          if (r > 0)
+            break;
+          if (!r)
+          { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Connect timeout\n"));
+            soap_set_sender_error(soap, "Timeout", "connect failed in tcp_connect()", SOAP_TCP_ERROR);
+            soap->fclosesocket(soap, sk);
+#ifdef WITH_IPV6
+            freeaddrinfo(ressave);
+#endif
+            return SOAP_INVALID_SOCKET;
+          }
+          r = soap->errnum = soap_socket_errno(sk);
+          if (r != SOAP_EINTR)
+          { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not connect to host\n"));
+            soap_set_sender_error(soap, tcp_error(soap), "connect failed in tcp_connect()", SOAP_TCP_ERROR);
+            soap->fclosesocket(soap, sk);
+#ifdef WITH_IPV6
+            freeaddrinfo(ressave);
+#endif
+            return SOAP_INVALID_SOCKET;
+          }
+        }
+        k = (SOAP_SOCKLEN_T)sizeof(soap->errnum);
+        if (!getsockopt(sk, SOL_SOCKET, SO_ERROR, (char*)&soap->errnum, &k) && !soap->errnum)	/* portability note: see SOAP_SOCKLEN_T definition in stdsoap2.h */
+          break;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not connect to host\n"));
+        if (!soap->errnum)
+          soap->errnum = soap_socket_errno(sk);
+        soap_set_sender_error(soap, tcp_error(soap), "connect failed in tcp_connect()", SOAP_TCP_ERROR);
+        soap->fclosesocket(soap, sk);
+#ifdef WITH_IPV6
+        freeaddrinfo(ressave);
+#endif
+        return SOAP_INVALID_SOCKET;
+      }
+#endif
+#ifdef WITH_IPV6
+      if (res->ai_next)
+      { res = res->ai_next;
+        soap->fclosesocket(soap, sk);
+        goto again;
+      }
+#endif
+      if (err && err != SOAP_EINTR)
+      { soap->errnum = err;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not connect to host\n"));
+        soap_set_sender_error(soap, tcp_error(soap), "connect failed in tcp_connect()", SOAP_TCP_ERROR);
+        soap->fclosesocket(soap, sk);
+#ifdef WITH_IPV6
+        freeaddrinfo(ressave);
+#endif
+        return SOAP_INVALID_SOCKET;
+      }
+    }
+    else
+      break;
+  }
+#ifdef WITH_IPV6
+  soap->peerlen = 0; /* IPv6: already connected so use send() */
+  freeaddrinfo(ressave);
+#endif
+  soap->socket = sk;
+  soap->imode &= ~SOAP_ENC_SSL;
+  soap->omode &= ~SOAP_ENC_SSL;
+  if (!soap_tag_cmp(endpoint, "https:*"))
+  {
+#if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
+#ifdef WITH_OPENSSL
+    BIO *bio;
+#endif
+    int r;
+    if (soap->proxy_host)
+    { soap_mode m = soap->mode; /* preserve settings */
+      soap_mode om = soap->omode; /* make sure we only parse HTTP */
+      size_t n = soap->count; /* save the content length */
+      const char *userid, *passwd;
+      int status = soap->status; /* save the current status/command */
+      short keep_alive = soap->keep_alive; /* save the KA status */
+      soap->omode &= ~SOAP_ENC; /* mask IO and ENC */
+      soap->omode |= SOAP_IO_BUFFER;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Connecting to %s proxy server %s for destination endpoint %s\n", soap->proxy_http_version, soap->proxy_host, endpoint));
+#ifdef WITH_NTLM
+      if (soap->ntlm_challenge)
+      { if (soap_ntlm_handshake(soap, SOAP_CONNECT, endpoint, host, port))
+          return soap->error;
+      }
+#endif
+      if (soap_begin_send(soap))
+      { soap->fclosesocket(soap, sk);
+        return SOAP_INVALID_SOCKET;
+      }
+      soap->status = SOAP_CONNECT;
+      soap->keep_alive = 1;
+      if ((soap->error = soap->fpost(soap, endpoint, host, port, NULL, NULL, 0))
+       || soap_end_send_flush(soap))
+      { soap->fclosesocket(soap, sk);
+        return SOAP_INVALID_SOCKET;
+      }
+      soap->keep_alive = keep_alive;
+      soap->omode = om;
+      om = soap->imode;
+      soap->imode &= ~SOAP_ENC; /* mask IO and ENC */
+      userid = soap->userid; /* preserve */
+      passwd = soap->passwd; /* preserve */
+      if ((soap->error = soap->fparse(soap)))
+      { soap->fclosesocket(soap, sk);
+        return SOAP_INVALID_SOCKET;
+      }
+      soap->status = status; /* restore */
+      soap->userid = userid; /* restore */
+      soap->passwd = passwd; /* restore */
+      soap->imode = om; /* restore */
+      soap->count = n; /* restore */
+      if (soap_begin_send(soap))
+      { soap->fclosesocket(soap, sk);
+        return SOAP_INVALID_SOCKET;
+      }
+      if (endpoint)
+      { strncpy(soap->endpoint, endpoint, sizeof(soap->endpoint)); /* restore */
+        soap->endpoint[sizeof(soap->endpoint) - 1] = '\0';
+      }
+      soap->mode = m;
+    }
+#ifdef WITH_OPENSSL
+    soap->ssl_flags |= SOAP_SSL_CLIENT;
+    if (!soap->ctx && (soap->error = soap->fsslauth(soap)))
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "SSL required, but no ctx set\n"));
+      soap->fclosesocket(soap, sk);
+      soap->error = SOAP_SSL_ERROR;
+      return SOAP_INVALID_SOCKET;
+    }
+    if (!soap->ssl)
+    { soap->ssl = SSL_new(soap->ctx);
+      if (!soap->ssl)
+      { soap->fclosesocket(soap, sk);
+        soap->error = SOAP_SSL_ERROR;
+        return SOAP_INVALID_SOCKET;
+      }
+    }
+    else
+      SSL_clear(soap->ssl);
+    if (soap->session)
+    { if (!strcmp(soap->session_host, host) && soap->session_port == port)
+        SSL_set_session(soap->ssl, soap->session);
+      SSL_SESSION_free(soap->session);
+      soap->session = NULL;
+    }
+    soap->imode |= SOAP_ENC_SSL;
+    soap->omode |= SOAP_ENC_SSL;
+    bio = BIO_new_socket((int)sk, BIO_NOCLOSE);
+    SSL_set_bio(soap->ssl, bio, bio);
+    /* Connect timeout: set SSL sockets to non-blocking */
+    retries = 0;
+    if (soap->connect_timeout)
+    { SOAP_SOCKNONBLOCK(sk)
+      retries = 10*soap->connect_timeout;
+    }
+    else
+      SOAP_SOCKBLOCK(sk)
+    if (retries <= 0)
+      retries = 100; /* timeout: 10 sec retries, 100 times 0.1 sec */
+    /* Try connecting until success or timeout (when nonblocking) */
+    do
+    { if ((r = SSL_connect(soap->ssl)) <= 0)
+      { int err = SSL_get_error(soap->ssl, r);
+        if (err == SSL_ERROR_WANT_CONNECT || err == SSL_ERROR_WANT_READ || err == SSL_ERROR_WANT_WRITE)
+        { register int s;
+          if (err == SSL_ERROR_WANT_READ)
+            s = tcp_select(soap, sk, SOAP_TCP_SELECT_RCV | SOAP_TCP_SELECT_ERR, -100000);
+          else
+            s = tcp_select(soap, sk, SOAP_TCP_SELECT_SND | SOAP_TCP_SELECT_ERR, -100000);
+          if (s < 0)
+          { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "SSL_connect/select error in tcp_connect\n"));
+            soap_set_sender_error(soap, soap_ssl_error(soap, r), "SSL_connect failed in tcp_connect()", SOAP_TCP_ERROR);
+            soap->fclosesocket(soap, sk);
+            return SOAP_INVALID_SOCKET;
+          }
+          if (s == 0 && retries-- <= 0)
+          { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "SSL/TLS connect timeout\n"));
+            soap_set_sender_error(soap, "Timeout", "SSL_connect failed in tcp_connect()", SOAP_TCP_ERROR);
+            soap->fclosesocket(soap, sk);
+            return SOAP_INVALID_SOCKET;
+          }
+        }
+        else
+        { soap_set_sender_error(soap, soap_ssl_error(soap, r), "SSL_connect error in tcp_connect()", SOAP_SSL_ERROR);
+          soap->fclosesocket(soap, sk);
+          return SOAP_INVALID_SOCKET;
+        }
+      }
+    } while (!SSL_is_init_finished(soap->ssl));
+    /* Set SSL sockets to nonblocking */
+    SOAP_SOCKNONBLOCK(sk)
+    /* Check server credentials when required */
+    if ((soap->ssl_flags & SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION))
+    { int err;
+      if ((err = SSL_get_verify_result(soap->ssl)) != X509_V_OK)
+      { soap_set_sender_error(soap, X509_verify_cert_error_string(err), "SSL/TLS certificate presented by peer cannot be verified in tcp_connect()", SOAP_SSL_ERROR);
+        soap->fclosesocket(soap, sk);
+        return SOAP_INVALID_SOCKET;
+      }
+      if (!(soap->ssl_flags & SOAP_SSL_SKIP_HOST_CHECK))
+      { X509_NAME *subj;
+        STACK_OF(CONF_VALUE) *val = NULL;
+#if (OPENSSL_VERSION_NUMBER >= 0x0090800fL)
+        GENERAL_NAMES *names = NULL;
+#else
+        int ext_count;
+#endif
+        int ok = 0;
+        X509 *peer = SSL_get_peer_certificate(soap->ssl);
+        if (!peer)
+        { soap_set_sender_error(soap, "SSL/TLS error", "No SSL/TLS certificate was presented by the peer in tcp_connect()", SOAP_SSL_ERROR);
+          soap->fclosesocket(soap, sk);
+          return SOAP_INVALID_SOCKET;
+        }
+#if (OPENSSL_VERSION_NUMBER < 0x0090800fL)
+        ext_count = X509_get_ext_count(peer);
+        if (ext_count > 0)
+        { int i;
+          for (i = 0; i < ext_count; i++)
+          { X509_EXTENSION *ext = X509_get_ext(peer, i);
+            const char *ext_str = OBJ_nid2sn(OBJ_obj2nid(X509_EXTENSION_get_object(ext)));
+            if (ext_str && !strcmp(ext_str, "subjectAltName"))
+            { X509V3_EXT_METHOD *meth = (X509V3_EXT_METHOD*)X509V3_EXT_get(ext);
+              unsigned char *data;
+              if (!meth)
+                break;
+              data = ext->value->data;
+              if (data)
+              {
+#if (OPENSSL_VERSION_NUMBER > 0x00907000L)
+                void *ext_data;
+                if (meth->it)
+                  ext_data = ASN1_item_d2i(NULL, &data, ext->value->length, ASN1_ITEM_ptr(meth->it));
+                else
+                { /* OpenSSL is not portable at this point (?):
+                     Some compilers appear to prefer
+                       meth->d2i(NULL, (const unsigned char**)&data, ...
+                     and others prefer
+                       meth->d2i(NULL, &data, ext->value->length);
+                  */
+                  ext_data = meth->d2i(NULL, &data, ext->value->length);
+                }
+                if (ext_data)
+                  val = meth->i2v(meth, ext_data, NULL);
+        	else
+        	  val = NULL;
+                if (meth->it)
+                  ASN1_item_free((ASN1_VALUE*)ext_data, ASN1_ITEM_ptr(meth->it));
+                else
+                  meth->ext_free(ext_data);
+#else
+                void *ext_data = meth->d2i(NULL, &data, ext->value->length);
+                if (ext_data)
+                  val = meth->i2v(meth, ext_data, NULL);
+                meth->ext_free(ext_data);
+#endif
+        	if (val)
+                { int j;
+                  for (j = 0; j < sk_CONF_VALUE_num(val); j++)
+                  { CONF_VALUE *nval = sk_CONF_VALUE_value(val, j);
+                    if (nval && !strcmp(nval->name, "DNS") && !strcmp(nval->value, host))
+                    { ok = 1;
+                      break;
+                    }
+                  }
+                  sk_CONF_VALUE_pop_free(val, X509V3_conf_free);
+                }
+              }
+            }
+            if (ok)
+              break;
+          }
+        }
+#else
+        names = (GENERAL_NAMES*)X509_get_ext_d2i(peer, NID_subject_alt_name, NULL, NULL);
+        if (names)
+        { val = i2v_GENERAL_NAMES(NULL, names, val);
+          sk_GENERAL_NAME_pop_free(names, GENERAL_NAME_free);
+        }
+        if (val)
+        { int j;
+          for (j = 0; j < sk_CONF_VALUE_num(val); j++)
+          { CONF_VALUE *nval = sk_CONF_VALUE_value(val, j);
+            if (nval && !strcmp(nval->name, "DNS") && !strcmp(nval->value, host))
+            { ok = 1;
+              break;
+            }
+          }
+          sk_CONF_VALUE_pop_free(val, X509V3_conf_free);
+        }
+#endif
+        if (!ok && (subj = X509_get_subject_name(peer)))
+        { int i = -1;
+          do
+          { ASN1_STRING *name;
+            i = X509_NAME_get_index_by_NID(subj, NID_commonName, i);
+            if (i == -1)
+              break;
+            name = X509_NAME_ENTRY_get_data(X509_NAME_get_entry(subj, i));
+            if (name)
+            { if (!soap_tag_cmp(host, (const char*)M_ASN1_STRING_data(name)))
+                ok = 1;
+              else
+              { unsigned char *tmp = NULL;
+                ASN1_STRING_to_UTF8(&tmp, name);
+                if (tmp)
+                { if (!soap_tag_cmp(host, (const char*)tmp))
+                    ok = 1;
+                  else if (tmp[0] == '*') /* wildcard domain */
+                  { const char *t = strchr(host, '.');
+                    if (t && !soap_tag_cmp(t, (const char*)tmp+1))
+                      ok = 1;
+                  }
+                  OPENSSL_free(tmp);
+                }
+              }
+            }
+          } while (!ok);
+        }
+        X509_free(peer);
+        if (!ok)
+        { soap_set_sender_error(soap, "SSL/TLS error", "SSL/TLS certificate host name mismatch in tcp_connect()", SOAP_SSL_ERROR);
+          soap->fclosesocket(soap, sk);
+          return SOAP_INVALID_SOCKET;
+        }
+      }
+    }
+#endif
+#ifdef WITH_GNUTLS
+    soap->ssl_flags |= SOAP_SSL_CLIENT;
+    if (!soap->session && (soap->error = soap->fsslauth(soap)))
+    { soap->fclosesocket(soap, sk);
+      return SOAP_INVALID_SOCKET;
+    }
+    gnutls_transport_set_ptr(soap->session, (gnutls_transport_ptr_t)(long)sk);
+    /* Set SSL sockets to non-blocking */
+    if (soap->connect_timeout)
+    { SOAP_SOCKNONBLOCK(sk)
+      retries = 10*soap->connect_timeout;
+    }
+    else
+      SOAP_SOCKBLOCK(sk)
+    if (retries <= 0)
+      retries = 100; /* timeout: 10 sec retries, 100 times 0.1 sec */
+    while ((r = gnutls_handshake(soap->session)))
+    { int s;
+      /* GNUTLS repeat handhake when GNUTLS_E_AGAIN */
+      if (retries-- <= 0)
+        break;
+      if (r == GNUTLS_E_AGAIN || r == GNUTLS_E_INTERRUPTED)
+      { if (!gnutls_record_get_direction(soap->session))
+          s = tcp_select(soap, sk, SOAP_TCP_SELECT_RCV | SOAP_TCP_SELECT_ERR, -100000);
+        else
+          s = tcp_select(soap, sk, SOAP_TCP_SELECT_SND | SOAP_TCP_SELECT_ERR, -100000);
+        if (s < 0)
+          break;
+      }
+      else
+      { soap->errnum = soap_socket_errno(sk);
+        break;
+      }
+    }
+    if (r)
+    { soap_set_sender_error(soap, soap_ssl_error(soap, r), "SSL/TLS handshake failed", SOAP_SSL_ERROR);
+      soap->fclosesocket(soap, sk);
+      return SOAP_INVALID_SOCKET;
+    }
+    if ((soap->ssl_flags & SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION))
+    { const char *err = ssl_verify(soap, host);
+      if (err)
+      { soap->fclosesocket(soap, sk);
+        soap->error = soap_set_sender_error(soap, "SSL/TLS error", err, SOAP_SSL_ERROR);
+        return SOAP_INVALID_SOCKET;
+      }
+    }
+#endif
+#else
+    soap->fclosesocket(soap, sk);
+    soap->error = SOAP_SSL_ERROR;
+    return SOAP_INVALID_SOCKET;
+#endif
+  }
+  if (soap->recv_timeout || soap->send_timeout)
+    SOAP_SOCKNONBLOCK(sk)
+  else
+    SOAP_SOCKBLOCK(sk)
+  return sk;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static int
+tcp_select(struct soap *soap, SOAP_SOCKET sk, int flags, int timeout)
+{ int r;
+  struct timeval tv;
+  fd_set fd[3], *rfd, *sfd, *efd;
+  int retries = 0;
+  int eintr = SOAP_MAXEINTR;
+  soap->errnum = 0;
+#ifndef WIN32
+#if !defined(FD_SETSIZE) || defined(__QNX__) || defined(QNX)
+  /* no FD_SETSIZE or select() is not MT safe on some QNX: always poll */
+  if (1)
+#else
+  /* if fd max set size exceeded, use poll() */
+  if ((int)sk >= (int)FD_SETSIZE)
+#endif
+#ifdef HAVE_POLL
+  { struct pollfd pollfd;
+    pollfd.fd = (int)sk;
+    pollfd.events = 0;
+    if (flags & SOAP_TCP_SELECT_RCV)
+      pollfd.events |= POLLIN;
+    if (flags & SOAP_TCP_SELECT_SND)
+      pollfd.events |= POLLOUT;
+    if (flags & SOAP_TCP_SELECT_ERR)
+      pollfd.events |= POLLERR;
+    if (timeout <= 0)
+      timeout /= -1000; /* -usec -> ms */
+    else
+    { retries = timeout - 1;
+      timeout = 1000;
+    }
+    do
+    { r = poll(&pollfd, 1, timeout);
+      if (r < 0 && (soap->errnum = soap_socket_errno(sk)) == SOAP_EINTR && eintr--)
+        continue;
+    } while (r == 0 && retries--);
+    if (r > 0)
+    { r = 0;
+      if ((flags & SOAP_TCP_SELECT_RCV) && (pollfd.revents & POLLIN))
+        r |= SOAP_TCP_SELECT_RCV;
+      if ((flags & SOAP_TCP_SELECT_SND) && (pollfd.revents & POLLOUT))
+        r |= SOAP_TCP_SELECT_SND;
+      if ((flags & SOAP_TCP_SELECT_ERR) && (pollfd.revents & POLLERR))
+        r |= SOAP_TCP_SELECT_ERR;
+    }
+    return r;
+  }
+#else
+  { soap->error = SOAP_FD_EXCEEDED;
+    return -1;
+  }
+#endif
+#endif
+  if (timeout > 0)
+    retries = timeout - 1;
+  do
+  { rfd = sfd = efd = NULL;
+    if (flags & SOAP_TCP_SELECT_RCV)
+    { rfd = &fd[0];
+      FD_ZERO(rfd);
+      FD_SET(sk, rfd);
+    }
+    if (flags & SOAP_TCP_SELECT_SND)
+    { sfd = &fd[1];
+      FD_ZERO(sfd);
+      FD_SET(sk, sfd);
+    }
+    if (flags & SOAP_TCP_SELECT_ERR)
+    { efd = &fd[2];
+      FD_ZERO(efd);
+      FD_SET(sk, efd);
+    }
+    if (timeout <= 0)
+    { tv.tv_sec = -timeout / 1000000;
+      tv.tv_usec = -timeout % 1000000;
+    }
+    else
+    { tv.tv_sec = 1;
+      tv.tv_usec = 0;
+    }
+    r = select((int)sk + 1, rfd, sfd, efd, &tv);
+    if (r < 0 && (soap->errnum = soap_socket_errno(sk)) == SOAP_EINTR && eintr--)
+      continue;
+  } while (r == 0 && retries--);
+  if (r > 0)
+  { r = 0;
+    if ((flags & SOAP_TCP_SELECT_RCV) && FD_ISSET(sk, rfd))
+      r |= SOAP_TCP_SELECT_RCV;
+    if ((flags & SOAP_TCP_SELECT_SND) && FD_ISSET(sk, sfd))
+      r |= SOAP_TCP_SELECT_SND;
+    if ((flags & SOAP_TCP_SELECT_ERR) && FD_ISSET(sk, efd))
+      r |= SOAP_TCP_SELECT_ERR;
+  }
+  return r;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static SOAP_SOCKET
+tcp_accept(struct soap *soap, SOAP_SOCKET s, struct sockaddr *a, int *n)
+{ SOAP_SOCKET sk;
+  (void)soap;
+  sk = accept(s, a, (SOAP_SOCKLEN_T*)n); /* portability note: see SOAP_SOCKLEN_T definition in stdsoap2.h */
+#ifdef SOCKET_CLOSE_ON_EXEC
+#ifdef WIN32
+#ifndef UNDER_CE
+  SetHandleInformation((HANDLE)sk, HANDLE_FLAG_INHERIT, 0);
+#endif
+#else
+  fcntl(sk, F_SETFD, FD_CLOEXEC);
+#endif
+#endif
+  return sk;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static int
+tcp_disconnect(struct soap *soap)
+{
+#ifdef WITH_OPENSSL
+  if (soap->ssl)
+  { int r, s = 0;
+    if (soap->session)
+    { SSL_SESSION_free(soap->session);
+      soap->session = NULL;
+    }
+    if (*soap->host)
+    { soap->session = SSL_get1_session(soap->ssl);
+      if (soap->session)
+      { strcpy(soap->session_host, soap->host);
+        soap->session_port = soap->port;
+      }
+    }
+    r = SSL_shutdown(soap->ssl);
+    /* SSL shutdown does not work when reads are pending, non-blocking */
+    if (r == 0)
+    { while (SSL_want_read(soap->ssl))
+      { if (SSL_read(soap->ssl, NULL, 0)
+         || soap_socket_errno(soap->socket) != SOAP_EAGAIN)
+        { r = SSL_shutdown(soap->ssl);
+          break;
+        }
+      }
+    }
+    if (r == 0)
+    { if (soap_valid_socket(soap->socket))
+      { if (!soap->fshutdownsocket(soap, soap->socket, SOAP_SHUT_WR))
+        {
+#if !defined(WITH_LEAN) && !defined(WIN32)
+          /*
+          wait up to 5 seconds for close_notify to be sent by peer (if peer not
+          present, this avoids calling SSL_shutdown() which has a lengthy return
+          timeout)
+          */
+          r = tcp_select(soap, soap->socket, SOAP_TCP_SELECT_RCV | SOAP_TCP_SELECT_ERR, 5);
+          if (r <= 0)
+          { soap->errnum = 0;
+            DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Connection lost...\n"));
+            soap->fclosesocket(soap, soap->socket);
+            soap->socket = SOAP_INVALID_SOCKET;
+            ERR_remove_state(0);
+            SSL_free(soap->ssl);
+            soap->ssl = NULL;
+            return SOAP_OK;
+          }
+#else
+          r = SSL_shutdown(soap->ssl);
+#endif
+        }
+      }
+    }
+    if (r != 1)
+    { s = ERR_get_error();
+      if (s)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Shutdown failed: %d\n", SSL_get_error(soap->ssl, r)));
+        if (soap_valid_socket(soap->socket) && !(soap->omode & SOAP_IO_UDP))
+        { soap->fclosesocket(soap, soap->socket);
+          soap->socket = SOAP_INVALID_SOCKET;
+        }
+      }
+    }
+    SSL_free(soap->ssl);
+    soap->ssl = NULL;
+    if (s)
+      return SOAP_SSL_ERROR;
+    ERR_remove_state(0);
+  }
+#endif
+#ifdef WITH_GNUTLS
+  if (soap->session)
+  { gnutls_bye(soap->session, GNUTLS_SHUT_RDWR);
+    gnutls_deinit(soap->session);
+    soap->session = NULL;
+  }
+#endif
+  if (soap_valid_socket(soap->socket) && !(soap->omode & SOAP_IO_UDP))
+  { soap->fshutdownsocket(soap, soap->socket, SOAP_SHUT_RDWR);
+    soap->fclosesocket(soap, soap->socket);
+    soap->socket = SOAP_INVALID_SOCKET;
+  }
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static int
+tcp_closesocket(struct soap *soap, SOAP_SOCKET sk)
+{ (void)soap;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Close socket=%d\n", (int)sk));
+  return soap_closesocket(sk);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static int
+tcp_shutdownsocket(struct soap *soap, SOAP_SOCKET sk, int how)
+{ (void)soap;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Shutdown socket=%d how=%d\n", (int)sk, how));
+  return shutdown(sk, how);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+SOAP_FMAC1
+SOAP_SOCKET
+SOAP_FMAC2
+soap_bind(struct soap *soap, const char *host, int port, int backlog)
+{
+#ifdef WITH_IPV6
+  struct addrinfo *addrinfo = NULL;
+  struct addrinfo hints;
+  struct addrinfo res;
+  int err;
+#ifdef WITH_NO_IPV6_V6ONLY
+  int unset = 0;
+#endif
+#endif
+#ifndef WITH_LEAN
+#ifndef WIN32
+  int len = SOAP_BUFLEN;
+#else
+  int len = SOAP_BUFLEN + 1; /* speeds up windows xfer */
+#endif
+  int set = 1;
+#endif
+  if (soap_valid_socket(soap->master))
+  { soap->fclosesocket(soap, soap->master);
+    soap->master = SOAP_INVALID_SOCKET;
+  }
+  soap->socket = SOAP_INVALID_SOCKET;
+  soap->errmode = 1;
+  if (tcp_init(soap))
+  { soap_set_receiver_error(soap, tcp_error(soap), "TCP init failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+#ifdef WITH_IPV6
+  memset((void*)&hints, 0, sizeof(hints));
+  hints.ai_family = PF_UNSPEC;
+#ifndef WITH_LEAN
+  if ((soap->omode & SOAP_IO_UDP))
+    hints.ai_socktype = SOCK_DGRAM;
+  else
+#endif
+    hints.ai_socktype = SOCK_STREAM;
+  hints.ai_flags = AI_PASSIVE;
+  soap->errmode = 2;
+  err = getaddrinfo(host, soap_int2s(soap, port), &hints, &addrinfo);
+  if (err || !addrinfo)
+  { soap_set_receiver_error(soap, SOAP_GAI_STRERROR(err), "getaddrinfo failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+  res = *addrinfo;
+  memcpy(&soap->peer, addrinfo->ai_addr, addrinfo->ai_addrlen);
+  soap->peerlen = addrinfo->ai_addrlen;
+  res.ai_addr = (struct sockaddr*)&soap->peer;
+  res.ai_addrlen = soap->peerlen;
+  freeaddrinfo(addrinfo);
+  soap->master = (int)socket(res.ai_family, res.ai_socktype, res.ai_protocol);
+#else
+#ifndef WITH_LEAN
+  if ((soap->omode & SOAP_IO_UDP))
+    soap->master = (int)socket(AF_INET, SOCK_DGRAM, 0);
+  else
+#endif
+    soap->master = (int)socket(AF_INET, SOCK_STREAM, 0);
+#endif
+  soap->errmode = 0;
+  if (!soap_valid_socket(soap->master))
+  { soap->errnum = soap_socket_errno(soap->master);
+    soap_set_receiver_error(soap, tcp_error(soap), "socket failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+  soap->port = port;
+#ifndef WITH_LEAN
+  if ((soap->omode & SOAP_IO_UDP))
+    soap->socket = soap->master;
+#endif
+#ifdef SOCKET_CLOSE_ON_EXEC
+#ifdef WIN32
+#ifndef UNDER_CE
+  SetHandleInformation((HANDLE)soap->master, HANDLE_FLAG_INHERIT, 0);
+#endif
+#else
+  fcntl(soap->master, F_SETFD, 1);
+#endif
+#endif
+#ifndef WITH_LEAN
+  if (soap->bind_flags && setsockopt(soap->master, SOL_SOCKET, soap->bind_flags, (char*)&set, sizeof(int)))
+  { soap->errnum = soap_socket_errno(soap->master);
+    soap_set_receiver_error(soap, tcp_error(soap), "setsockopt failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+  if (((soap->imode | soap->omode) & SOAP_IO_KEEPALIVE) && (!((soap->imode | soap->omode) & SOAP_IO_UDP)) && setsockopt(soap->master, SOL_SOCKET, SO_KEEPALIVE, (char*)&set, sizeof(int)))
+  { soap->errnum = soap_socket_errno(soap->master);
+    soap_set_receiver_error(soap, tcp_error(soap), "setsockopt SO_KEEPALIVE failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+  if (setsockopt(soap->master, SOL_SOCKET, SO_SNDBUF, (char*)&len, sizeof(int)))
+  { soap->errnum = soap_socket_errno(soap->master);
+    soap_set_receiver_error(soap, tcp_error(soap), "setsockopt SO_SNDBUF failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+  if (setsockopt(soap->master, SOL_SOCKET, SO_RCVBUF, (char*)&len, sizeof(int)))
+  { soap->errnum = soap_socket_errno(soap->master);
+    soap_set_receiver_error(soap, tcp_error(soap), "setsockopt SO_RCVBUF failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+#ifdef TCP_NODELAY
+  if (!(soap->omode & SOAP_IO_UDP) && setsockopt(soap->master, IPPROTO_TCP, TCP_NODELAY, (char*)&set, sizeof(int)))
+  { soap->errnum = soap_socket_errno(soap->master);
+    soap_set_receiver_error(soap, tcp_error(soap), "setsockopt TCP_NODELAY failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+#endif
+#endif
+#ifdef WITH_IPV6
+#ifdef WITH_IPV6_V6ONLY
+  if (setsockopt(soap->master, IPPROTO_IPV6, IPV6_V6ONLY, (char*)&set, sizeof(int)))
+  { soap->errnum = soap_socket_errno(soap->master);
+    soap_set_receiver_error(soap, tcp_error(soap), "setsockopt set IPV6_V6ONLY failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+#endif
+#ifdef WITH_NO_IPV6_V6ONLY
+  if (setsockopt(soap->master, IPPROTO_IPV6, IPV6_V6ONLY, (char*)&unset, sizeof(int)))
+  { soap->errnum = soap_socket_errno(soap->master);
+    soap_set_receiver_error(soap, tcp_error(soap), "setsockopt unset IPV6_V6ONLY failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+#endif
+  soap->errmode = 0;
+  if (bind(soap->master, res.ai_addr, (int)res.ai_addrlen))
+  { soap->errnum = soap_socket_errno(soap->master);
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not bind to host\n"));
+    soap_closesock(soap);
+    soap_set_receiver_error(soap, tcp_error(soap), "bind failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+#else
+  soap->peerlen = sizeof(soap->peer);
+  memset((void*)&soap->peer, 0, sizeof(soap->peer));
+  soap->peer.sin_family = AF_INET;
+  soap->errmode = 2;
+  if (host)
+  { if (soap->fresolve(soap, host, &soap->peer.sin_addr))
+    { soap_set_receiver_error(soap, tcp_error(soap), "get host by name failed in soap_bind()", SOAP_TCP_ERROR);
+      return SOAP_INVALID_SOCKET;
+    }
+  }
+  else
+    soap->peer.sin_addr.s_addr = htonl(INADDR_ANY);
+  soap->peer.sin_port = htons((short)port);
+  soap->errmode = 0;
+  if (bind(soap->master, (struct sockaddr*)&soap->peer, (int)soap->peerlen))
+  { soap->errnum = soap_socket_errno(soap->master);
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not bind to host\n"));
+    soap_closesock(soap);
+    soap_set_receiver_error(soap, tcp_error(soap), "bind failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+#endif
+  if (!(soap->omode & SOAP_IO_UDP) && listen(soap->master, backlog))
+  { soap->errnum = soap_socket_errno(soap->master);
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not bind to host\n"));
+    soap_closesock(soap);
+    soap_set_receiver_error(soap, tcp_error(soap), "listen failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+  return soap->master;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_poll(struct soap *soap)
+{
+#ifndef WITH_LEAN
+  register int r;
+  if (soap_valid_socket(soap->socket))
+  { r = tcp_select(soap, soap->socket, SOAP_TCP_SELECT_ALL, 0);
+    if (r > 0 && (r & SOAP_TCP_SELECT_ERR))
+      r = -1;
+  }
+  else if (soap_valid_socket(soap->master))
+    r = tcp_select(soap, soap->master, SOAP_TCP_SELECT_SND, 0);
+  else
+    return SOAP_OK; /* OK when no socket! */
+  if (r > 0)
+  {
+#ifdef WITH_OPENSSL
+    if (soap->imode & SOAP_ENC_SSL)
+    {
+      if (soap_valid_socket(soap->socket)
+       && (r & SOAP_TCP_SELECT_SND)
+       && (!(r & SOAP_TCP_SELECT_RCV)
+        || SSL_peek(soap->ssl, soap->tmpbuf, 1) > 0))
+        return SOAP_OK;
+    }
+    else
+#endif
+    { int t;
+      if (soap_valid_socket(soap->socket)
+       && (r & SOAP_TCP_SELECT_SND)
+       && (!(r & SOAP_TCP_SELECT_RCV)
+        || recv(soap->socket, (char*)&t, 1, MSG_PEEK) > 0))
+        return SOAP_OK;
+    }
+  }
+  else if (r < 0)
+  { if ((soap_valid_socket(soap->master) || soap_valid_socket(soap->socket)) && soap_socket_errno(soap->master) != SOAP_EINTR)
+    { soap_set_receiver_error(soap, tcp_error(soap), "select failed in soap_poll()", SOAP_TCP_ERROR);
+      return soap->error = SOAP_TCP_ERROR;
+    }
+  }
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Polling: other end down on socket=%d select=%d\n", soap->socket, r));
+  return SOAP_EOF;
+#else
+  return SOAP_OK;
+#endif
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+SOAP_FMAC1
+SOAP_SOCKET
+SOAP_FMAC2
+soap_accept(struct soap *soap)
+{ int n = (int)sizeof(soap->peer);
+  register int err;
+#ifndef WITH_LEAN
+#ifndef WIN32
+  int len = SOAP_BUFLEN;
+#else
+  int len = SOAP_BUFLEN + 1; /* speeds up windows xfer */
+#endif
+  int set = 1;
+#endif
+  soap->error = SOAP_OK;
+  memset((void*)&soap->peer, 0, sizeof(soap->peer));
+  soap->socket = SOAP_INVALID_SOCKET;
+  soap->errmode = 0;
+  soap->keep_alive = 0;
+  if (!soap_valid_socket(soap->master))
+  { soap->errnum = 0;
+    soap_set_receiver_error(soap, tcp_error(soap), "no master socket in soap_accept()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+#ifndef WITH_LEAN
+  if ((soap->omode & SOAP_IO_UDP))
+    return soap->socket = soap->master;
+#endif
+  for (;;)
+  { if (soap->accept_timeout || soap->send_timeout || soap->recv_timeout)
+    { for (;;)
+      { register int r;
+        r = tcp_select(soap, soap->master, SOAP_TCP_SELECT_ALL, soap->accept_timeout ? soap->accept_timeout : 60);
+        if (r > 0)
+          break;
+        if (!r && soap->accept_timeout)
+        { soap_set_receiver_error(soap, "Timeout", "accept failed in soap_accept()", SOAP_TCP_ERROR);
+          return SOAP_INVALID_SOCKET;
+        }
+        if (r < 0)
+        { r = soap->errnum;
+          if (r != SOAP_EINTR)
+          { soap_closesock(soap);
+            soap_set_sender_error(soap, tcp_error(soap), "accept failed in soap_accept()", SOAP_TCP_ERROR);
+            return SOAP_INVALID_SOCKET;
+          }
+        }
+      }
+    }
+    if (soap->accept_timeout)
+      SOAP_SOCKNONBLOCK(soap->master)
+    else
+      SOAP_SOCKBLOCK(soap->master)
+    soap->socket = soap->faccept(soap, soap->master, (struct sockaddr*)&soap->peer, &n);
+    soap->peerlen = (size_t)n;
+    if (soap_valid_socket(soap->socket))
+    {
+#ifdef WITH_IPV6
+      unsigned int ip1, ip2, ip3, ip4;
+      char port[16];
+      getnameinfo((struct sockaddr*)&soap->peer, n, soap->host, sizeof(soap->host), port, 16, NI_NUMERICHOST | NI_NUMERICSERV);
+      sscanf(soap->host, "%u.%u.%u.%u", &ip1, &ip2, &ip3, &ip4);
+      soap->ip = (unsigned long)ip1 << 24 | (unsigned long)ip2 << 16 | (unsigned long)ip3 << 8 | (unsigned long)ip4;
+      soap->port = soap_strtol(port, NULL, 10);
+#else
+      soap->ip = ntohl(soap->peer.sin_addr.s_addr);
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->host, sizeof(soap->host), "%u.%u.%u.%u", (int)(soap->ip>>24)&0xFF, (int)(soap->ip>>16)&0xFF, (int)(soap->ip>>8)&0xFF, (int)soap->ip&0xFF);
+#else
+      sprintf(soap->host, "%u.%u.%u.%u", (int)(soap->ip>>24)&0xFF, (int)(soap->ip>>16)&0xFF, (int)(soap->ip>>8)&0xFF, (int)soap->ip&0xFF);
+#endif
+      soap->port = (int)ntohs(soap->peer.sin_port); /* does not return port number on some systems */
+#endif
+      DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Accept socket=%d at port=%d from IP='%s'\n", soap->socket, soap->port, soap->host));
+#ifndef WITH_LEAN
+      if (soap->accept_flags == SO_LINGER)
+      { struct linger linger;
+        memset((void*)&linger, 0, sizeof(linger));
+        linger.l_onoff = 1;
+        linger.l_linger = soap->linger_time;
+        if (setsockopt(soap->socket, SOL_SOCKET, SO_LINGER, (char*)&linger, sizeof(struct linger)))
+        { soap->errnum = soap_socket_errno(soap->socket);
+          soap_set_receiver_error(soap, tcp_error(soap), "setsockopt SO_LINGER failed in soap_accept()", SOAP_TCP_ERROR);
+          soap_closesock(soap);
+          return SOAP_INVALID_SOCKET;
+        }
+      }
+      else if (soap->accept_flags && setsockopt(soap->socket, SOL_SOCKET, soap->accept_flags, (char*)&set, sizeof(int)))
+      { soap->errnum = soap_socket_errno(soap->socket);
+        soap_set_receiver_error(soap, tcp_error(soap), "setsockopt failed in soap_accept()", SOAP_TCP_ERROR);
+        soap_closesock(soap);
+        return SOAP_INVALID_SOCKET;
+      }
+      if (((soap->imode | soap->omode) & SOAP_IO_KEEPALIVE) && setsockopt(soap->socket, SOL_SOCKET, SO_KEEPALIVE, (char*)&set, sizeof(int)))
+      { soap->errnum = soap_socket_errno(soap->socket);
+        soap_set_receiver_error(soap, tcp_error(soap), "setsockopt SO_KEEPALIVE failed in soap_accept()", SOAP_TCP_ERROR);
+        soap_closesock(soap);
+        return SOAP_INVALID_SOCKET;
+      }
+      if (setsockopt(soap->socket, SOL_SOCKET, SO_SNDBUF, (char*)&len, sizeof(int)))
+      { soap->errnum = soap_socket_errno(soap->socket);
+        soap_set_receiver_error(soap, tcp_error(soap), "setsockopt SO_SNDBUF failed in soap_accept()", SOAP_TCP_ERROR);
+        soap_closesock(soap);
+        return SOAP_INVALID_SOCKET;
+      }
+      if (setsockopt(soap->socket, SOL_SOCKET, SO_RCVBUF, (char*)&len, sizeof(int)))
+      { soap->errnum = soap_socket_errno(soap->socket);
+        soap_set_receiver_error(soap, tcp_error(soap), "setsockopt SO_RCVBUF failed in soap_accept()", SOAP_TCP_ERROR);
+        soap_closesock(soap);
+        return SOAP_INVALID_SOCKET;
+      }
+#ifdef TCP_NODELAY
+      if (setsockopt(soap->socket, IPPROTO_TCP, TCP_NODELAY, (char*)&set, sizeof(int)))
+      { soap->errnum = soap_socket_errno(soap->socket);
+        soap_set_receiver_error(soap, tcp_error(soap), "setsockopt TCP_NODELAY failed in soap_accept()", SOAP_TCP_ERROR);
+        soap_closesock(soap);
+        return SOAP_INVALID_SOCKET;
+      }
+#endif
+#endif
+      soap->keep_alive = (((soap->imode | soap->omode) & SOAP_IO_KEEPALIVE) != 0);
+      if (soap->send_timeout || soap->recv_timeout)
+        SOAP_SOCKNONBLOCK(soap->socket)
+      else
+        SOAP_SOCKBLOCK(soap->socket)
+      return soap->socket;
+    }
+    err = soap_socket_errno(soap->socket);
+    if (err != 0 && err != SOAP_EINTR && err != SOAP_EAGAIN && err != SOAP_EWOULDBLOCK)
+    { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Accept failed from %s\n", soap->host));
+      soap->errnum = err;
+      soap_set_receiver_error(soap, tcp_error(soap), "accept failed in soap_accept()", SOAP_TCP_ERROR);
+      soap_closesock(soap);
+      return SOAP_INVALID_SOCKET;
+    }
+  }
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_closesock(struct soap *soap)
+{ register int status = soap->error;
+#ifndef WITH_LEANER
+  if (status) /* close on error: attachment state is not to be trusted */
+  { soap->mime.first = NULL;
+    soap->mime.last = NULL;
+    soap->dime.first = NULL;
+    soap->dime.last = NULL;
+  }
+#endif
+  if (soap->fdisconnect && (soap->error = soap->fdisconnect(soap)))
+    return soap->error;
+  if (status == SOAP_EOF || status == SOAP_TCP_ERROR || status == SOAP_SSL_ERROR || !soap->keep_alive)
+  { if (soap->fclose && (soap->error = soap->fclose(soap)))
+      return soap->error;
+    soap->keep_alive = 0;
+  }
+#ifdef WITH_ZLIB
+  if (!(soap->mode & SOAP_MIME_POSTCHECK))
+  { if (soap->zlib_state == SOAP_ZLIB_DEFLATE)
+      deflateEnd(soap->d_stream);
+    else if (soap->zlib_state == SOAP_ZLIB_INFLATE)
+      inflateEnd(soap->d_stream);
+    soap->zlib_state = SOAP_ZLIB_NONE;
+  }
+#endif
+  return soap->error = status;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_force_closesock(struct soap *soap)
+{ soap->keep_alive = 0;
+  if (soap_valid_socket(soap->socket))
+    return soap_closesocket(soap->socket);
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_cleanup(struct soap *soap)
+{ soap_done(soap);
+#ifdef WIN32
+  if (!tcp_done)
+    return;
+  tcp_done = 0;
+  WSACleanup();
+#endif
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_done(struct soap *soap)
+{
+#ifdef SOAP_DEBUG
+  int i;
+#endif
+  if (soap_check_state(soap))
+    return;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Done with context%s\n", soap->state == SOAP_COPY ? " copy" : ""));
+  soap_free_temp(soap);
+  while (soap->clist)
+  { struct soap_clist *p = soap->clist->next;
+    SOAP_FREE(soap, soap->clist);
+    soap->clist = p;
+  }
+  if (soap->state == SOAP_INIT)
+    soap->omode &= ~SOAP_IO_UDP; /* to force close the socket */
+  soap->keep_alive = 0; /* to force close the socket */
+  if (soap->master == soap->socket) /* do not close twice */
+    soap->master = SOAP_INVALID_SOCKET;
+  soap_closesock(soap);
+#ifdef WITH_COOKIES
+  soap_free_cookies(soap);
+#endif
+  while (soap->plugins)
+  { register struct soap_plugin *p = soap->plugins->next;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Removing plugin '%s'\n", soap->plugins->id));
+    if (soap->plugins->fcopy || soap->state == SOAP_INIT)
+      soap->plugins->fdelete(soap, soap->plugins);
+    SOAP_FREE(soap, soap->plugins);
+    soap->plugins = p;
+  }
+  soap->fplugin = fplugin;
+  soap->fmalloc = NULL;
+#ifndef WITH_NOHTTP
+  soap->fpost = http_post;
+  soap->fget = http_get;
+  soap->fput = http_405;
+  soap->fdel = http_405;
+  soap->fopt = http_200;
+  soap->fhead = http_200;
+  soap->fform = NULL;
+  soap->fposthdr = http_post_header;
+  soap->fresponse = http_response;
+  soap->fparse = http_parse;
+  soap->fparsehdr = http_parse_header;
+#endif
+  soap->fheader = NULL;
+#ifndef WITH_NOIO
+#ifndef WITH_IPV6
+  soap->fresolve = tcp_gethost;
+#else
+  soap->fresolve = NULL;
+#endif
+  soap->faccept = tcp_accept;
+  soap->fopen = tcp_connect;
+  soap->fclose = tcp_disconnect;
+  soap->fclosesocket = tcp_closesocket;
+  soap->fshutdownsocket = tcp_shutdownsocket;
+  soap->fsend = fsend;
+  soap->frecv = frecv;
+  soap->fpoll = soap_poll;
+#else
+  soap->fopen = NULL;
+  soap->fclose = NULL;
+  soap->fpoll = NULL;
+#endif
+#ifndef WITH_LEANER
+  soap->feltbegin = NULL;
+  soap->feltendin = NULL;
+  soap->feltbegout = NULL;
+  soap->feltendout = NULL;
+  soap->fprepareinitsend = NULL;
+  soap->fprepareinitrecv = NULL;
+  soap->fpreparesend = NULL;
+  soap->fpreparerecv = NULL;
+  soap->fpreparefinalsend = NULL;
+  soap->fpreparefinalrecv = NULL;
+  soap->ffiltersend = NULL;
+  soap->ffilterrecv = NULL;
+#endif
+  soap->fseterror = NULL;
+  soap->fignore = NULL;
+  soap->fserveloop = NULL;
+#ifdef WITH_OPENSSL
+  if (soap->session)
+  { SSL_SESSION_free(soap->session);
+    soap->session = NULL;
+  }
+#endif
+  if (soap->state == SOAP_INIT)
+  { if (soap_valid_socket(soap->master))
+    { soap->fclosesocket(soap, soap->master);
+      soap->master = SOAP_INVALID_SOCKET;
+    }
+  }
+#ifdef WITH_OPENSSL
+  if (soap->ssl)
+  { SSL_free(soap->ssl);
+    soap->ssl = NULL;
+  }
+  if (soap->state == SOAP_INIT)
+  { if (soap->ctx)
+    { SSL_CTX_free(soap->ctx);
+      soap->ctx = NULL;
+    }
+  }
+  ERR_remove_state(0);
+#endif
+#ifdef WITH_GNUTLS
+  if (soap->state == SOAP_INIT)
+  { if (soap->xcred)
+    { gnutls_certificate_free_credentials(soap->xcred);
+      soap->xcred = NULL;
+    }
+    if (soap->acred)
+    { gnutls_anon_free_client_credentials(soap->acred);
+      soap->acred = NULL;
+    }
+    if (soap->cache)
+    { gnutls_priority_deinit(soap->cache);
+      soap->cache = NULL;
+    }
+    if (soap->dh_params)
+    { gnutls_dh_params_deinit(soap->dh_params);
+      soap->dh_params = NULL;
+    }
+    if (soap->rsa_params)
+    { gnutls_rsa_params_deinit(soap->rsa_params);
+      soap->rsa_params = NULL;
+    }
+  }
+  if (soap->session)
+  { gnutls_deinit(soap->session);
+    soap->session = NULL;
+  }
+#endif
+#ifdef WITH_C_LOCALE
+# ifdef WIN32
+  _free_locale(soap->c_locale);
+# else
+  freelocale(soap->c_locale);
+# endif
+#endif
+#ifdef WITH_ZLIB
+  if (soap->d_stream)
+  { SOAP_FREE(soap, (void*)soap->d_stream);
+    soap->d_stream = NULL;
+  }
+  if (soap->z_buf)
+  { SOAP_FREE(soap, (void*)soap->z_buf);
+    soap->z_buf = NULL;
+  }
+#endif
+#ifdef SOAP_DEBUG
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Free logfiles\n"));
+  for (i = 0; i < SOAP_MAXLOGS; i++)
+  { if (soap->logfile[i])
+    { SOAP_FREE(soap, (void*)soap->logfile[i]);
+      soap->logfile[i] = NULL;
+    }
+    soap_close_logfile(soap, i);
+  }
+  soap->state = SOAP_NONE;
+#endif
+#ifdef SOAP_MEM_DEBUG
+  soap_free_mht(soap);
+#endif
+}
+#endif
+
+/******************************************************************************\
+ *
+ *	HTTP
+ *
+\******************************************************************************/
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static int
+http_parse(struct soap *soap)
+{ char header[SOAP_HDRLEN], *s;
+  unsigned short httpcmd = 0;
+  int status = 0;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Waiting for HTTP request/response...\n"));
+  *soap->endpoint = '\0';
+#ifdef WITH_NTLM
+  if (!soap->ntlm_challenge)
+#endif
+  { soap->userid = NULL;
+    soap->passwd = NULL;
+    soap->authrealm = NULL;
+  }
+#ifdef WITH_NTLM
+  soap->ntlm_challenge = NULL;
+#endif
+  soap->proxy_from = NULL;
+  do
+  { soap->length = 0;
+    soap->http_content = NULL;
+    soap->action = NULL;
+    soap->status = 0;
+    soap->body = 1;
+    if (soap_getline(soap, soap->msgbuf, sizeof(soap->msgbuf)))
+    { if (soap->error == SOAP_EOF)
+        return SOAP_EOF;
+      return soap->error = 414;
+    }
+    if ((s = strchr(soap->msgbuf, ' ')))
+    { soap->status = (unsigned short)soap_strtoul(s, &s, 10);
+      if (!soap_blank((soap_wchar)*s))
+        soap->status = 0;
+    }
+    else
+      soap->status = 0;
+    DBGLOG(TEST,SOAP_MESSAGE(fdebug, "HTTP status: %s\n", soap->msgbuf));
+    for (;;)
+    { if (soap_getline(soap, header, SOAP_HDRLEN))
+      { if (soap->error == SOAP_EOF)
+        { soap->error = SOAP_OK;
+          DBGLOG(TEST,SOAP_MESSAGE(fdebug, "EOF in HTTP header, continue anyway\n"));
+          break;
+        }
+        return soap->error;
+      }
+      if (!*header)
+        break;
+      DBGLOG(TEST,SOAP_MESSAGE(fdebug, "HTTP header: %s\n", header));
+      s = strchr(header, ':');
+      if (s)
+      { char *t;
+        *s = '\0';
+        do s++;
+        while (*s && *s <= 32);
+        if (*s == '"')
+          s++;
+        t = s + strlen(s) - 1;
+        while (t > s && *t <= 32)
+          t--;
+        if (t >= s && *t == '"')
+          t--;
+        t[1] = '\0';
+        if ((soap->error = soap->fparsehdr(soap, header, s)))
+        { if (soap->error < SOAP_STOP)
+            return soap->error;
+          status = soap->error;
+          soap->error = SOAP_OK;
+        }
+      }
+    }
+  } while (soap->status == 100);
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Finished HTTP header parsing, status = %d\n", soap->status));
+  s = strstr(soap->msgbuf, "HTTP/");
+  if (s && s[7] != '1')
+  { if (soap->keep_alive == 1)
+      soap->keep_alive = 0;
+    if (soap->status == 0 && (soap->omode & SOAP_IO) == SOAP_IO_CHUNK) /* soap->status == 0 for HTTP request */
+      soap->omode = (soap->omode & ~SOAP_IO) | SOAP_IO_STORE; /* HTTP 1.0 does not support chunked transfers */
+  }
+  if (soap->keep_alive < 0)
+    soap->keep_alive = 1;
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Keep alive connection = %d\n", soap->keep_alive));
+  if (soap->status == 0)
+  { size_t l = 0;
+    if (s)
+    { if (!strncmp(soap->msgbuf, "POST ", l = 5))
+        httpcmd = 1;
+      else if (!strncmp(soap->msgbuf, "PUT ", l = 4))
+        httpcmd = 2;
+      else if (!strncmp(soap->msgbuf, "GET ", l = 4))
+        httpcmd = 3;
+      else if (!strncmp(soap->msgbuf, "DELETE ", l = 7))
+        httpcmd = 4;
+      else if (!strncmp(soap->msgbuf, "OPTIONS ", l = 8))
+        httpcmd = 5;
+      else if (!strncmp(soap->msgbuf, "HEAD ", l = 5))
+        httpcmd = 6;
+    }
+    if (s && httpcmd)
+    { size_t m = strlen(soap->endpoint);
+      size_t n = m + (s - soap->msgbuf) - l - 1;
+      size_t k;
+      if (n >= sizeof(soap->endpoint))
+        n = sizeof(soap->endpoint) - 1;
+      if (m > n)
+        m = n;
+      k = n - m + 1;
+      if (k > sizeof(soap->path))
+        k = sizeof(soap->path);
+      strncpy(soap->path, soap->msgbuf + l, k);
+      soap->path[k - 1] = '\0';
+      if (*soap->path && *soap->path != '/')
+        *soap->endpoint = '\0';
+      strcat(soap->endpoint, soap->path);
+      DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Target endpoint='%s'\n", soap->endpoint));
+      if (httpcmd > 1)
+      { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "HTTP %s handler\n", soap->msgbuf));
+        switch (httpcmd)
+        { case  2: soap->error = soap->fput(soap); break;
+          case  3: soap->error = soap->fget(soap); break;
+          case  4: soap->error = soap->fdel(soap); break;
+          case  5: soap->error = soap->fopt(soap); break;
+          case  6: soap->error = soap->fhead(soap); break;
+          default: soap->error = 405; break;
+        }
+        DBGLOG(TEST,SOAP_MESSAGE(fdebug, "HTTP handler return = %d\n", soap->error));
+        if (soap->error == SOAP_OK)
+          soap->error = SOAP_STOP; /* prevents further processing */
+        return soap->error;
+      }
+      if (status)
+        return soap->error = status;
+    }
+    else if (status)
+      return soap->error = status;
+    else if (s)
+      return soap->error = 405;
+    return SOAP_OK;
+  }
+#if 0
+  if (soap->length > 0 || (soap->http_content && (!soap->keep_alive || soap->recv_timeout)) || (soap->imode & SOAP_IO) == SOAP_IO_CHUNK)
+#endif
+  if (soap->body)
+  { if ((soap->status >= 200 && soap->status <= 299) /* OK, Accepted, etc */
+     || soap->status == 400                          /* Bad Request */
+     || soap->status == 500)                         /* Internal Server Error */
+      return SOAP_OK;
+    /* force close afterwards in soap_closesock() */
+    soap->keep_alive = 0;
+#ifndef WITH_LEAN
+    /* read HTTP body for error details */
+    s = soap_get_http_body(soap, NULL);
+    if (s)
+      return soap_set_receiver_error(soap, soap->msgbuf, s, soap->status);
+#endif
+  }
+  else if (soap->status >= 200 && soap->status <= 299)
+    return soap->error = soap->status;
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "HTTP error %d\n", soap->status));
+  return soap_set_receiver_error(soap, "HTTP Error", soap->msgbuf, soap->status);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static int
+http_parse_header(struct soap *soap, const char *key, const char *val)
+{ if (!soap_tag_cmp(key, "Host"))
+  {
+#if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
+    if (soap->imode & SOAP_ENC_SSL)
+      strcpy(soap->endpoint, "https://");
+    else
+#endif
+      strcpy(soap->endpoint, "http://");
+    strncat(soap->endpoint, val, sizeof(soap->endpoint) - 8);
+  }
+#ifndef WITH_LEANER
+  else if (!soap_tag_cmp(key, "Content-Type"))
+  { const char *action;
+    soap->http_content = soap_strdup(soap, val);
+    if (soap_get_header_attribute(soap, val, "application/dime"))
+      soap->imode |= SOAP_ENC_DIME;
+    else if (soap_get_header_attribute(soap, val, "multipart/related")
+          || soap_get_header_attribute(soap, val, "multipart/form-data"))
+    { soap->mime.boundary = soap_strdup(soap, soap_get_header_attribute(soap, val, "boundary"));
+      soap->mime.start = soap_strdup(soap, soap_get_header_attribute(soap, val, "start"));
+      soap->imode |= SOAP_ENC_MIME;
+    }
+    action = soap_get_header_attribute(soap, val, "action");
+    if (action)
+    { if (*action == '"')
+      { soap->action = soap_strdup(soap, action + 1);
+        if (*soap->action)
+          soap->action[strlen(soap->action) - 1] = '\0';
+      }
+      else
+        soap->action = soap_strdup(soap, action);
+    }
+  }
+#endif
+  else if (!soap_tag_cmp(key, "Content-Length"))
+  { soap->length = soap_strtoul(val, NULL, 10);
+    if (!soap->length)
+      soap->body = 0;
+  }
+  else if (!soap_tag_cmp(key, "Content-Encoding"))
+  { if (!soap_tag_cmp(val, "deflate"))
+#ifdef WITH_ZLIB
+      soap->zlib_in = SOAP_ZLIB_DEFLATE;
+#else
+      return SOAP_ZLIB_ERROR;
+#endif
+    else if (!soap_tag_cmp(val, "gzip"))
+#ifdef WITH_GZIP
+      soap->zlib_in = SOAP_ZLIB_GZIP;
+#else
+      return SOAP_ZLIB_ERROR;
+#endif
+  }
+#ifdef WITH_ZLIB
+  else if (!soap_tag_cmp(key, "Accept-Encoding"))
+  {
+#ifdef WITH_GZIP
+    if (strchr(val, '*') || soap_get_header_attribute(soap, val, "gzip"))
+      soap->zlib_out = SOAP_ZLIB_GZIP;
+    else
+#endif
+    if (strchr(val, '*') || soap_get_header_attribute(soap, val, "deflate"))
+      soap->zlib_out = SOAP_ZLIB_DEFLATE;
+    else
+      soap->zlib_out = SOAP_ZLIB_NONE;
+  }
+#endif
+  else if (!soap_tag_cmp(key, "Transfer-Encoding"))
+  { soap->imode &= ~SOAP_IO;
+    if (!soap_tag_cmp(val, "chunked"))
+      soap->imode |= SOAP_IO_CHUNK;
+  }
+  else if (!soap_tag_cmp(key, "Connection"))
+  { if (!soap_tag_cmp(val, "keep-alive"))
+      soap->keep_alive = -soap->keep_alive;
+    else if (!soap_tag_cmp(val, "close"))
+      soap->keep_alive = 0;
+  }
+#ifndef WITH_LEAN
+  else if (!soap_tag_cmp(key, "Authorization") || !soap_tag_cmp(key, "Proxy-Authorization"))
+  {
+#ifdef WITH_NTLM
+    if (!soap_tag_cmp(val, "NTLM*"))
+      soap->ntlm_challenge = soap_strdup(soap, val + 4);
+    else
+#endif
+    if (!soap_tag_cmp(val, "Basic *"))
+    { int n;
+      char *s;
+      soap_base642s(soap, val + 6, soap->tmpbuf, sizeof(soap->tmpbuf) - 1, &n);
+      soap->tmpbuf[n] = '\0';
+      if ((s = strchr(soap->tmpbuf, ':')))
+      { *s = '\0';
+        soap->userid = soap_strdup(soap, soap->tmpbuf);
+        soap->passwd = soap_strdup(soap, s + 1);
+      }
+    }
+  }
+  else if (!soap_tag_cmp(key, "WWW-Authenticate") || !soap_tag_cmp(key, "Proxy-Authenticate"))
+  {
+#ifdef WITH_NTLM
+    if (!soap_tag_cmp(val, "NTLM*"))
+      soap->ntlm_challenge = soap_strdup(soap, val + 4);
+    else
+#endif
+      soap->authrealm = soap_strdup(soap, soap_get_header_attribute(soap, val + 6, "realm"));
+  }
+  else if (!soap_tag_cmp(key, "Expect"))
+  { if (!soap_tag_cmp(val, "100-continue"))
+    { if ((soap->error = soap->fposthdr(soap, "HTTP/1.1 100 Continue", NULL))
+       || (soap->error = soap->fposthdr(soap, NULL, NULL)))
+        return soap->error;
+    }
+  }
+#endif
+  else if (!soap_tag_cmp(key, "SOAPAction"))
+  { if (*val == '"')
+    { soap->action = soap_strdup(soap, val + 1);
+      if (*soap->action)
+        soap->action[strlen(soap->action) - 1] = '\0';
+    }
+    else
+      soap->action = soap_strdup(soap, val);
+  }
+  else if (!soap_tag_cmp(key, "Location"))
+  { strncpy(soap->endpoint, val, sizeof(soap->endpoint));
+    soap->endpoint[sizeof(soap->endpoint) - 1] = '\0';
+  }
+  else if (!soap_tag_cmp(key, "X-Forwarded-For"))
+  { soap->proxy_from = soap_strdup(soap, val);
+  }
+#ifdef WITH_COOKIES
+  else if (!soap_tag_cmp(key, "Cookie")
+   || !soap_tag_cmp(key, "Cookie2")
+   || !soap_tag_cmp(key, "Set-Cookie")
+   || !soap_tag_cmp(key, "Set-Cookie2"))
+  { soap_getcookies(soap, val);
+  }
+#endif
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#if !defined(WITH_NOHTTP) || !defined(WITH_LEANER)
+#ifndef PALM_1
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_get_header_attribute(struct soap *soap, const char *line, const char *key)
+{ register const char *s = line;
+  if (s)
+  { while (*s)
+    { register short flag;
+      s = soap_decode_key(soap->tmpbuf, sizeof(soap->tmpbuf), s);
+      flag = soap_tag_cmp(soap->tmpbuf, key);
+      s = soap_decode_val(soap->tmpbuf, sizeof(soap->tmpbuf), s);
+      if (!flag)
+        return soap->tmpbuf;
+    }
+  }
+  return NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#if !defined(WITH_NOHTTP) || !defined(WITH_LEANER)
+#ifndef PALM_1
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_decode_key(char *buf, size_t len, const char *val)
+{ return soap_decode(buf, len, val, "=,;");
+}
+#endif
+#endif
+
+/******************************************************************************/
+#if !defined(WITH_NOHTTP) || !defined(WITH_LEANER)
+#ifndef PALM_1
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_decode_val(char *buf, size_t len, const char *val)
+{ if (*val != '=')
+  { *buf = '\0';
+    return val;
+  }
+  return soap_decode(buf, len, val + 1, ",;");
+}
+#endif
+#endif
+
+/******************************************************************************/
+#if !defined(WITH_NOHTTP) || !defined(WITH_LEANER)
+#ifndef PALM_1
+static const char*
+soap_decode(char *buf, size_t len, const char *val, const char *sep)
+{ const char *s;
+  char *t = buf;
+  size_t i = len;
+  for (s = val; *s; s++)
+    if (*s != ' ' && *s != '\t' && !strchr(sep, *s))
+      break;
+  if (len > 0)
+  { if (*s == '"')
+    { s++;
+      while (*s && *s != '"' && --i)
+        *t++ = *s++;
+    }
+    else
+    { while (*s && !soap_blank((soap_wchar)*s) && !strchr(sep, *s) && --i)
+      { if (*s == '%' && s[1] && s[2])
+        { *t++ = ((s[1] >= 'A' ? (s[1] & 0x7) + 9 : s[1] - '0') << 4)
+                + (s[2] >= 'A' ? (s[2] & 0x7) + 9 : s[2] - '0');
+          s += 3;
+        }
+        else
+          *t++ = *s++;
+      }
+    }
+    buf[len - 1] = '\0'; /* appease */
+  }
+  *t = '\0';
+  while (*s && !strchr(sep, *s))
+    s++;
+  return s;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static const char*
+http_error(struct soap *soap, int status)
+{ register const char *msg = SOAP_STR_EOS;
+  (void)soap;
+#ifndef WITH_LEAN
+  msg = soap_code_str(h_http_error_codes, status);
+  if (!msg)
+    msg = SOAP_STR_EOS;
+#endif
+  return msg;
+}
+#endif
+#endif
+
+/******************************************************************************/
+
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static int
+http_get(struct soap *soap)
+{ (void)soap;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "HTTP GET request\n"));
+  return SOAP_GET_METHOD;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static int
+http_405(struct soap *soap)
+{ (void)soap;
+  return 405;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static int
+http_200(struct soap *soap)
+{ return soap_send_empty_response(soap, 200);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static int
+http_post(struct soap *soap, const char *endpoint, const char *host, int port, const char *path, const char *action, size_t count)
+{ register const char *s;
+  register int err;
+  switch (soap->status)
+  { case SOAP_GET: 
+      s = "GET";
+      break;
+    case SOAP_PUT: 
+      s = "PUT";
+      break;
+    case SOAP_DEL: 
+      s = "DELETE";
+      break;
+    case SOAP_CONNECT:
+      s = "CONNECT";
+      break;
+    default:
+      s = "POST";
+  }
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "HTTP %s to %s\n", s, endpoint ? endpoint : "(null)"));
+#ifdef PALM
+  if (!endpoint || (soap_tag_cmp(endpoint, "http:*") && soap_tag_cmp(endpoint, "https:*") && strncmp(endpoint, "httpg:", 6)) && strncmp(endpoint, "_beam:", 6) && strncmp(endpoint, "_local:", 7) && strncmp(endpoint, "_btobex:", 8))
+#else
+  if (!endpoint || (soap_tag_cmp(endpoint, "http:*") && soap_tag_cmp(endpoint, "https:*") && strncmp(endpoint, "httpg:", 6)))
+#endif
+    return SOAP_OK;
+  if (strlen(endpoint) + strlen(soap->http_version) > sizeof(soap->tmpbuf) - 80
+   || strlen(host) + strlen(soap->http_version) > sizeof(soap->tmpbuf) - 80)
+    return soap->error = SOAP_EOM; /* prevent overrun (note that 'host' and 'soap->host' are substrings of 'endpoint') */
+  if (soap->status == SOAP_CONNECT)
+  {
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "%s %s:%d HTTP/%s", s, soap->host, soap->port, soap->http_version);
+#else
+    sprintf(soap->tmpbuf, "%s %s:%d HTTP/%s", s, soap->host, soap->port, soap->http_version);
+#endif
+  }
+  else if (soap->proxy_host && endpoint)
+  {
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "%s %s HTTP/%s", s, endpoint, soap->http_version);
+#else
+    sprintf(soap->tmpbuf, "%s %s HTTP/%s", s, endpoint, soap->http_version);
+#endif
+  }
+  else
+  {
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "%s /%s HTTP/%s", s, (*path == '/' ? path + 1 : path), soap->http_version);
+#else
+    sprintf(soap->tmpbuf, "%s /%s HTTP/%s", s, (*path == '/' ? path + 1 : path), soap->http_version);
+#endif
+  }
+  if ((err = soap->fposthdr(soap, soap->tmpbuf, NULL)))
+    return err;
+#ifdef WITH_OPENSSL
+  if ((soap->ssl && port != 443) || (!soap->ssl && port != 80))
+#else
+  if (port != 80)
+#endif
+  {
+#ifdef WITH_IPV6
+    if (*host != '[' && strchr(host, ':'))
+    {
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "[%s]:%d", host, port); /* RFC 2732 */
+#else
+      sprintf(soap->tmpbuf, "[%s]:%d", host, port); /* RFC 2732 */
+#endif
+    }
+    else
+#endif
+    {
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "%s:%d", host, port);
+#else
+      sprintf(soap->tmpbuf, "%s:%d", host, port);
+#endif
+    }
+  }
+  else
+  {
+#ifdef WITH_IPV6
+    if (*host != '[' && strchr(host, ':'))
+    {
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "[%s]", host); /* RFC 2732 */
+#else
+      sprintf(soap->tmpbuf, "[%s]", host); /* RFC 2732 */
+#endif
+    }
+    else
+#endif
+      strcpy(soap->tmpbuf, host);
+  }
+  if ((err = soap->fposthdr(soap, "Host", soap->tmpbuf)))
+    return err;
+  if ((err = soap->fposthdr(soap, "User-Agent", "gSOAP/2.8")))
+    return err;
+  if ((err = soap_puthttphdr(soap, SOAP_OK, count)))
+    return err;
+#ifdef WITH_ZLIB
+#ifdef WITH_GZIP
+  if ((err = soap->fposthdr(soap, "Accept-Encoding", "gzip, deflate")))
+#else
+  if ((err = soap->fposthdr(soap, "Accept-Encoding", "deflate")))
+#endif
+    return err;
+#endif
+#ifndef WITH_LEAN
+#ifdef WITH_NTLM
+  if (soap->ntlm_challenge && strlen(soap->ntlm_challenge) + 6 < sizeof(soap->tmpbuf))
+  { if (*soap->ntlm_challenge)
+    { 
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "NTLM %s", soap->ntlm_challenge);
+#else
+      sprintf(soap->tmpbuf, "NTLM %s", soap->ntlm_challenge);
+#endif
+      if (soap->proxy_host)
+      { if ((err = soap->fposthdr(soap, "Proxy-Authorization", soap->tmpbuf)))
+          return err;
+      }
+      else if ((err = soap->fposthdr(soap, "Authorization", soap->tmpbuf)))
+        return err;
+    }
+  }
+  else
+  {
+#endif
+  if (soap->userid && soap->passwd && strlen(soap->userid) + strlen(soap->passwd) < 761)
+  { strcpy(soap->tmpbuf, "Basic ");
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf + 262, sizeof(soap->tmpbuf) - 262, "%s:%s", soap->userid, soap->passwd);
+#else
+    sprintf(soap->tmpbuf + 262, "%s:%s", soap->userid, soap->passwd);
+#endif
+    soap_s2base64(soap, (const unsigned char*)(soap->tmpbuf + 262), soap->tmpbuf + 6, (int)strlen(soap->tmpbuf + 262));
+    if ((err = soap->fposthdr(soap, "Authorization", soap->tmpbuf)))
+      return err;
+  }
+  if (soap->proxy_userid && soap->proxy_passwd && strlen(soap->proxy_userid) + strlen(soap->proxy_passwd) < 761)
+  { strcpy(soap->tmpbuf, "Basic ");
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf + 262, sizeof(soap->tmpbuf) - 262, "%s:%s", soap->proxy_userid, soap->proxy_passwd);
+#else
+    sprintf(soap->tmpbuf + 262, "%s:%s", soap->proxy_userid, soap->proxy_passwd);
+#endif
+    soap_s2base64(soap, (const unsigned char*)(soap->tmpbuf + 262), soap->tmpbuf + 6, (int)strlen(soap->tmpbuf + 262));
+    if ((err = soap->fposthdr(soap, "Proxy-Authorization", soap->tmpbuf)))
+      return err;
+  }
+#ifdef WITH_NTLM
+  }
+#endif
+#endif
+#ifdef WITH_COOKIES
+#ifdef WITH_OPENSSL
+  if (soap_putcookies(soap, host, path, soap->ssl != NULL))
+    return soap->error;
+#else
+  if (soap_putcookies(soap, host, path, 0))
+    return soap->error;
+#endif
+#endif
+  if (action && soap->status != SOAP_GET && soap->status != SOAP_DEL)
+  {
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "\"%s\"", action);
+#else
+    sprintf(soap->tmpbuf, "\"%s\"", strlen(action) < sizeof(soap->tmpbuf) - 3 ? action : SOAP_STR_EOS);
+#endif
+    if ((err = soap->fposthdr(soap, "SOAPAction", soap->tmpbuf)))
+      return err;
+  }
+  return soap->fposthdr(soap, NULL, NULL);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static int
+http_send_header(struct soap *soap, const char *s)
+{ register const char *t;
+  do
+  { t = strchr(s, '\n'); /* disallow \n in HTTP headers */
+    if (!t)
+      t = s + strlen(s);
+    if (soap_send_raw(soap, s, t - s))
+      return soap->error;
+    s = t + 1;
+  } while (*t);
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static int
+http_post_header(struct soap *soap, const char *key, const char *val)
+{ if (key)
+  { if (http_send_header(soap, key))
+      return soap->error;
+    if (val && (soap_send_raw(soap, ": ", 2) || http_send_header(soap, val)))
+      return soap->error;
+  }
+  return soap_send_raw(soap, "\r\n", 2);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static int
+http_response(struct soap *soap, int status, size_t count)
+{ register int err;
+  char http[10];
+  int code = status;
+  const char *line;
+#ifdef WMW_RPM_IO
+  if (soap->rpmreqid)
+    httpOutputEnable(soap->rpmreqid);
+#endif
+  if (!soap->http_version || strlen(soap->http_version) > 4)
+    return soap->error = SOAP_EOM;
+#ifdef WMW_RPM_IO
+  if (soap->rpmreqid || soap_valid_socket(soap->master) || soap_valid_socket(soap->socket)) /* RPM behaves as if standalone */
+#else
+  if (soap_valid_socket(soap->master) || soap_valid_socket(soap->socket)) /* standalone application (socket) or CGI (stdin/out)? */
+#endif
+  {
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(http, sizeof(http), "HTTP/%s", soap->http_version);
+#else
+    sprintf(http, "HTTP/%s", soap->http_version);
+#endif
+  }
+  else
+    strcpy(http, "Status:");
+  if (!status || status == SOAP_HTML || status == SOAP_FILE)
+  { if (count || ((soap->omode & SOAP_IO) == SOAP_IO_CHUNK))
+      code = 200;
+    else
+      code = 202;
+  }
+  else if (status < 200 || status >= 600)
+  { const char *s = *soap_faultcode(soap);
+    if (status >= SOAP_GET_METHOD && status <= SOAP_HTTP_METHOD)
+      code = 405;
+    else if (soap->version == 2 && (!s || !strcmp(s, "SOAP-ENV:Sender")))
+      code = 400;
+    else
+      code = 500;
+  }
+  line = http_error(soap, code);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "HTTP Status = %d %s\n", code, line));
+#ifdef HAVE_SNPRINTF
+  soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "%s %d %s", http, code, line);
+#else
+  sprintf(soap->tmpbuf, "%s %d %s", http, code, line);
+#endif
+  if ((err = soap->fposthdr(soap, soap->tmpbuf, NULL)))
+    return err;
+#ifndef WITH_LEAN
+  if (status == 401)
+  {
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "Basic realm=\"%s\"", (soap->authrealm && strlen(soap->authrealm) < sizeof(soap->tmpbuf) - 14) ? soap->authrealm : "gSOAP Web Service");
+#else
+    sprintf(soap->tmpbuf, "Basic realm=\"%s\"", (soap->authrealm && strlen(soap->authrealm) < sizeof(soap->tmpbuf) - 14) ? soap->authrealm : "gSOAP Web Service");
+#endif
+    if ((err = soap->fposthdr(soap, "WWW-Authenticate", soap->tmpbuf)))
+      return err;
+  }
+  else if ((status >= 301 && status <= 303) || status == 307)
+  { if ((err = soap->fposthdr(soap, "Location", soap->endpoint)))
+      return err;
+  }
+#endif
+  if ((err = soap->fposthdr(soap, "Server", "gSOAP/2.8"))
+   || (err = soap_puthttphdr(soap, status, count)))
+    return err;
+#ifdef WITH_COOKIES
+  if (soap_putsetcookies(soap))
+    return soap->error;
+#endif
+  return soap->fposthdr(soap, NULL, NULL);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_response(struct soap *soap, int status)
+{ register size_t count;
+  if (!(soap->omode & (SOAP_ENC_XML | SOAP_IO_STORE /* this tests for chunking too */))
+   && (status == SOAP_HTML || status == SOAP_FILE))
+    soap->omode = (soap->omode & ~SOAP_IO) | SOAP_IO_STORE;
+  soap->status = status;
+  count = soap_count_attachments(soap);
+  if (soap_begin_send(soap))
+    return soap->error;
+#ifndef WITH_NOHTTP
+  if ((soap->mode & SOAP_IO) != SOAP_IO_STORE && !(soap->mode & SOAP_ENC_XML))
+  { register int n = soap->mode;
+    soap->mode &= ~(SOAP_IO | SOAP_ENC_ZLIB);
+    if ((n & SOAP_IO) != SOAP_IO_FLUSH)
+      soap->mode |= SOAP_IO_BUFFER;
+    if ((soap->error = soap->fresponse(soap, status, count)))
+      return soap->error;
+#ifndef WITH_LEANER
+    if ((n & SOAP_IO) == SOAP_IO_CHUNK)
+    { if (soap_flush(soap))
+        return soap->error;
+    }
+#endif
+    soap->mode = n;
+  }
+#endif
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_url(struct soap *soap, const char *s, const char *t)
+{ if (!t || (*t != '/' && *t != '?') || strlen(s) + strlen(t) >= sizeof(soap->msgbuf))
+    return s;
+  strcpy(soap->msgbuf, s);
+  strcat(soap->msgbuf, t);
+  return soap->msgbuf;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+size_t
+SOAP_FMAC2
+soap_encode_url(const char *s, char *t, size_t len)
+{ register int c;
+  register size_t n = len;
+  while ((c = *s++) && --n > 0)
+  { if (c > ' ' && c < 128 && !strchr("()<>@,;:\\\"/[]?={}#!$&'*+", c))
+      *t++ = c;
+    else if (n > 2)
+    { *t++ = '%';
+      *t++ = (c >> 4) + (c > 159 ? '7' : '0');
+      c &= 0xF;
+      *t++ = c + (c > 9 ? '7' : '0');
+      n -= 2;
+    }
+    else
+      break;
+  }
+  *t = '\0';
+  return len - n;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_encode_url_string(struct soap *soap, const char *s)
+{ if (s)
+  { size_t n = 3*strlen(s)+1;
+    char *t = (char*)soap_malloc(soap, n);
+    if (t)
+    { soap_encode_url(s, t, n);
+      return t;
+    }
+  }
+  return SOAP_STR_EOS;
+}
+#endif
+
+/******************************************************************************\
+ *
+ *	HTTP Cookies
+ *
+\******************************************************************************/
+
+#ifdef WITH_COOKIES
+/******************************************************************************/
+SOAP_FMAC1
+struct soap_cookie*
+SOAP_FMAC2
+soap_cookie(struct soap *soap, const char *name, const char *domain, const char *path)
+{ struct soap_cookie *p;
+  if (!domain)
+    domain = soap->cookie_domain;
+  if (!path)
+    path = soap->cookie_path;
+  if (!path)
+    path = SOAP_STR_EOS;
+  else if (*path == '/')
+    path++;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Search cookie='%s' domain='%s' path='%s'\n", name, domain ? domain : "(null)", path ? path : "(null)"));
+  for (p = soap->cookies; p; p = p->next)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Cookie in database: %s='%s' domain='%s' path='%s' env=%hd\n", p->name, p->value ? p->value : "(null)", p->domain ? p->domain : "(null)", p->path ? p->path : "(null)", p->env));
+    if (!strcmp(p->name, name)
+     && p->domain
+     && p->path
+     && !strcmp(p->domain, domain)
+     && (!*p->path || !strncmp(p->path, path, strlen(p->path))))
+      break;
+  }
+  return p;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+struct soap_cookie*
+SOAP_FMAC2
+soap_set_cookie(struct soap *soap, const char *name, const char *value, const char *domain, const char *path)
+{ struct soap_cookie **p, *q;
+  int n;
+  if (!domain)
+    domain = soap->cookie_domain;
+  if (!path)
+    path = soap->cookie_path;
+  if (!path)
+    path = SOAP_STR_EOS;
+  else if (*path == '/')
+    path++;
+  q = soap_cookie(soap, name, domain, path);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Set %scookie: %s='%s' domain='%s' path='%s'\n", q ? SOAP_STR_EOS : "new ", name, value ? value : "(null)", domain ? domain : "(null)", path ? path : "(null)"));
+  if (!q)
+  { if ((q = (struct soap_cookie*)SOAP_MALLOC(soap, sizeof(struct soap_cookie))))
+    { if ((q->name = (char*)SOAP_MALLOC(soap, strlen(name)+1)))
+        strcpy(q->name, name);
+      q->value = NULL;
+      q->domain = NULL;
+      q->path = NULL;
+      q->expire = 0;
+      q->maxage = -1;
+      q->version = 1;
+      q->secure = 0;
+      q->modified = 0;
+      for (p = &soap->cookies, n = soap->cookie_max; *p && n; p = &(*p)->next, n--)
+        if (!strcmp((*p)->name, name) && (*p)->path && path && strcmp((*p)->path, path) < 0)
+          break;
+      if (n)
+      { q->next = *p;
+        *p = q;
+      }
+      else
+      { SOAP_FREE(soap, q->name);
+        SOAP_FREE(soap, q);
+        q = NULL;
+      }
+    }
+  }
+  else
+    q->modified = 1;
+  if (q)
+  { if (q->value)
+    { if (!value || strcmp(value, q->value))
+      { SOAP_FREE(soap, q->value);
+        q->value = NULL;
+      }
+    }
+    if (value && *value && !q->value && (q->value = (char*)SOAP_MALLOC(soap, strlen(value)+1)))
+      strcpy(q->value, value);
+    if (q->domain)
+    { if (!domain || strcmp(domain, q->domain))
+      { SOAP_FREE(soap, q->domain);
+        q->domain = NULL;
+      }
+    }
+    if (domain && !q->domain && (q->domain = (char*)SOAP_MALLOC(soap, strlen(domain)+1)))
+      strcpy(q->domain, domain);
+    if (q->path)
+    { if (!path || strncmp(path, q->path, strlen(q->path)))
+      { SOAP_FREE(soap, q->path);
+        q->path = NULL;
+      }
+    }
+    if (path && !q->path && (q->path = (char*)SOAP_MALLOC(soap, strlen(path)+1)))
+      strcpy(q->path, path);
+    q->session = 1;
+    q->env = 0;
+  }
+  return q;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_clr_cookie(struct soap *soap, const char *name, const char *domain, const char *path)
+{ struct soap_cookie **p, *q;
+  if (!domain)
+    domain = soap->cookie_domain;
+  if (!domain)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Error in clear cookie='%s': cookie domain not set\n", name ? name : "(null)"));
+    return;
+  }
+  if (!path)
+    path = soap->cookie_path;
+  if (!path)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Error in clear cookie='%s': cookie path not set\n", name ? name : "(null)"));
+    return;
+  }
+  if (*path == '/')
+    path++;
+  for (p = &soap->cookies, q = *p; q; q = *p)
+  { if (!strcmp(q->name, name) && !strcmp(q->domain, domain) && !strncmp(q->path, path, strlen(q->path)))
+    { if (q->value)
+        SOAP_FREE(soap, q->value);
+      if (q->domain)
+        SOAP_FREE(soap, q->domain);
+      if (q->path)
+        SOAP_FREE(soap, q->path);
+      *p = q->next;
+      SOAP_FREE(soap, q);
+    }
+    else
+      p = &q->next;
+  }
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_cookie_value(struct soap *soap, const char *name, const char *domain, const char *path)
+{ struct soap_cookie *p;
+  if ((p = soap_cookie(soap, name, domain, path)))
+    return p->value;
+  return NULL;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_env_cookie_value(struct soap *soap, const char *name, const char *domain, const char *path)
+{ struct soap_cookie *p;
+  if ((p = soap_cookie(soap, name, domain, path)) && p->env)
+    return p->value;
+  return NULL;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+time_t
+SOAP_FMAC2
+soap_cookie_expire(struct soap *soap, const char *name, const char *domain, const char *path)
+{ struct soap_cookie *p;
+  if ((p = soap_cookie(soap, name, domain, path)))
+    return p->expire;
+  return -1;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_set_cookie_expire(struct soap *soap, const char *name, long expire, const char *domain, const char *path)
+{ struct soap_cookie *p;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Set cookie expiration max-age=%ld: cookie='%s' domain='%s' path='%s'\n", expire, name, domain ? domain : "(null)", path ? path : "(null)"));
+  if ((p = soap_cookie(soap, name, domain, path)))
+  { p->maxage = expire;
+    p->modified = 1;
+    return SOAP_OK;
+  }
+  return SOAP_ERR;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_set_cookie_session(struct soap *soap, const char *name, const char *domain, const char *path)
+{ struct soap_cookie *p;
+  if ((p = soap_cookie(soap, name, domain, path)))
+  { p->session = 1;
+    p->modified = 1;
+    return SOAP_OK;
+  }
+  return SOAP_ERR;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_clr_cookie_session(struct soap *soap, const char *name, const char *domain, const char *path)
+{ struct soap_cookie *p;
+  if ((p = soap_cookie(soap, name, domain, path)))
+  { p->session = 0;
+    p->modified = 1;
+    return SOAP_OK;
+  }
+  return SOAP_ERR;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_putsetcookies(struct soap *soap)
+{ struct soap_cookie *p;
+  char *s, tmp[4096];
+  const char *t;
+  for (p = soap->cookies; p; p = p->next)
+  {
+    if (p->modified
+#ifdef WITH_OPENSSL
+     || (!p->env && !soap->ssl == !p->secure)
+#endif
+       )
+    { s = tmp;
+      if (p->name)
+        s += soap_encode_url(p->name, s, tmp-s+4064);
+      if (p->value && *p->value)
+      { *s++ = '=';
+        s += soap_encode_url(p->value, s, tmp-s+4064);
+      }
+      if (p->domain && (int)strlen(p->domain) < tmp-s+4064)
+      { strcpy(s, ";Domain=");
+        strcat(s, p->domain);
+      }
+      else if (soap->cookie_domain && (int)strlen(soap->cookie_domain) < tmp-s+4064)
+      { strcpy(s, ";Domain=");
+        strcat(s, soap->cookie_domain);
+      }
+      strcat(s, ";Path=/");
+      s += strlen(s);
+      if (p->path)
+        t = p->path;
+      else
+        t = soap->cookie_path;
+      if (t)
+      { if (*t == '/')
+          t++;
+        if ((int)strlen(t) < tmp-s+4064)
+        { if (strchr(t, '%'))	/* already URL encoded? */
+          { strcpy(s, t);
+            s += strlen(s);
+          }
+          else
+            s += soap_encode_url(t, s, tmp-s+4064);
+        }
+      }
+      if (p->version > 0 && s-tmp < 4060)
+      { 
+#ifdef HAVE_SNPRINTF
+        soap_snprintf(s, 4096 - (s-tmp), ";Version=%u", p->version);
+#else
+        sprintf(s, ";Version=%u", p->version);
+#endif
+        s += strlen(s);
+      }
+      if (p->maxage >= 0 && s-tmp < 4060)
+      {
+#ifdef HAVE_SNPRINTF
+        soap_snprintf(s, 4096 - (s-tmp), ";Max-Age=%ld", p->maxage);
+#else
+        sprintf(s, ";Max-Age=%ld", p->maxage);
+#endif
+        s += strlen(s);
+      }
+      if (s-tmp < 4073
+       && (p->secure
+#ifdef WITH_OPENSSL
+       || soap->ssl
+#endif
+         ))
+        strcpy(s, ";Secure");
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Set-Cookie: %s\n", tmp));
+      if ((soap->error = soap->fposthdr(soap, "Set-Cookie", tmp)))
+        return soap->error;
+    }
+  }
+  return SOAP_OK;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_putcookies(struct soap *soap, const char *domain, const char *path, int secure)
+{ struct soap_cookie **p, *q;
+  unsigned int version = 0;
+  time_t now = time(NULL);
+  char *s, tmp[4096];
+  if (!domain || !path)
+    return SOAP_OK;
+  s = tmp;
+  p = &soap->cookies;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Sending cookies for domain='%s' path='%s'\n", domain, path));
+  if (*path == '/')
+    path++;
+  while ((q = *p))
+  { if (q->expire && now > q->expire)
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Cookie %s expired\n", q->name));
+      SOAP_FREE(soap, q->name);
+      if (q->value)
+        SOAP_FREE(soap, q->value);
+      if (q->domain)
+        SOAP_FREE(soap, q->domain);
+      if (q->path)
+        SOAP_FREE(soap, q->path);
+      *p = q->next;
+      SOAP_FREE(soap, q);
+    }
+    else
+    { int flag;
+      char *t = q->domain;
+      size_t n = 0;
+      if (!t)
+        flag = 1;
+      else
+      { const char *r = strchr(t, ':');
+        if (r)
+          n = r - t;
+        else
+          n = strlen(t);
+        flag = !strncmp(t, domain, n);
+      }
+      /* domain-level cookies, cannot compile when WITH_NOIO set */
+#ifndef WITH_NOIO
+      if (!flag)
+      { struct hostent *hostent = gethostbyname((char*)domain);
+        if (hostent)
+        { const char *r = strchr(hostent->h_name, '.');
+          if (!r)
+            r = hostent->h_name;
+          flag = !strncmp(t, r, n);
+        }
+      }
+#endif
+      if (flag
+          && (!q->path || !strncmp(q->path, path, strlen(q->path)))
+          && (!q->secure || secure))
+      { size_t n = 12;
+        if (q->name)
+          n += 3*strlen(q->name);
+        if (q->value && *q->value)
+          n += 3*strlen(q->value) + 1;
+        if (q->path && *q->path)
+          n += strlen(q->path) + 9;
+        if (q->domain)
+          n += strlen(q->domain) + 11;
+        if (tmp - s + n > sizeof(tmp))
+        { if (s == tmp)
+            return SOAP_OK; /* HTTP header size overflow */
+          DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Cookie: %s\n", tmp));
+          if ((soap->error = soap->fposthdr(soap, "Cookie", tmp)))
+            return soap->error;
+          s = tmp;
+        }
+        else if (s != tmp)
+        { strcat(s, " ");
+          s++;
+        }
+        if (q->version != version && s-tmp < 4060)
+        {
+#ifdef HAVE_SNPRINTF
+          soap_snprintf(s, 4096 - (s-tmp), "$Version=%u;", q->version);
+#else
+          sprintf(s, "$Version=%u;", q->version);
+#endif
+          version = q->version;
+          s += strlen(s);
+        }
+        if (q->name)
+          s += soap_encode_url(q->name, s, tmp+sizeof(tmp)-s-16);
+        if (q->value && *q->value)
+        { *s++ = '=';
+          s += soap_encode_url(q->value, s, tmp+sizeof(tmp)-s-16);
+        }
+        if (q->path && (s-tmp) + strlen(q->path) < 4060)
+        {
+#ifdef HAVE_SNPRINTF
+          soap_snprintf(s, 4096 - (s-tmp), ";$Path=\"/%s\"", (*q->path == '/' ? q->path + 1 : q->path));
+#else
+          sprintf(s, ";$Path=\"/%s\"", (*q->path == '/' ? q->path + 1 : q->path));
+#endif
+          s += strlen(s);
+        }
+        if (q->domain && (s-tmp) + strlen(q->domain) < 4060)
+        {
+#ifdef HAVE_SNPRINTF
+          soap_snprintf(s, 4096 - (s-tmp), ";$Domain=\"%s\"", q->domain);
+#else
+          sprintf(s, ";$Domain=\"%s\"", q->domain);
+#endif
+          s += strlen(s);
+        }
+      }
+      p = &q->next;
+    }
+  }
+  if (s != tmp)
+    if ((soap->error = soap->fposthdr(soap, "Cookie", tmp)))
+      return soap->error;
+  return SOAP_OK;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_getcookies(struct soap *soap, const char *val)
+{ struct soap_cookie *p = NULL, *q;
+  const char *s;
+  char *t, tmp[4096]; /* cookie size is up to 4096 bytes [RFC2109] */
+  char *domain = NULL;
+  char *path = NULL;
+  unsigned int version = 0;
+  time_t now = time(NULL);
+  if (!val)
+    return;
+  s = val;
+  while (*s)
+  { s = soap_decode_key(tmp, sizeof(tmp), s);
+    if (!soap_tag_cmp(tmp, "$Version"))
+    { if ((s = soap_decode_val(tmp, sizeof(tmp), s)))
+      { if (p)
+          p->version = (int)soap_strtol(tmp, NULL, 10);
+        else
+          version = (int)soap_strtol(tmp, NULL, 10);
+      }
+    }
+    else if (!soap_tag_cmp(tmp, "$Path"))
+    { s = soap_decode_val(tmp, sizeof(tmp), s);
+      if (*tmp)
+      { if ((t = (char*)SOAP_MALLOC(soap, strlen(tmp)+1)))
+          strcpy(t, tmp);
+      }
+      else
+        t = NULL;
+      if (p)
+      { if (p->path)
+          SOAP_FREE(soap, p->path);
+        p->path = t;
+      }
+      else
+      { if (path)
+          SOAP_FREE(soap, path);
+        path = t;
+      }
+    }
+    else if (!soap_tag_cmp(tmp, "$Domain"))
+    { s = soap_decode_val(tmp, sizeof(tmp), s);
+      if (*tmp)
+      { if ((t = (char*)SOAP_MALLOC(soap, strlen(tmp)+1)))
+          strcpy(t, tmp);
+      }
+      else
+        t = NULL;
+      if (p)
+      { if (p->domain)
+          SOAP_FREE(soap, p->domain);
+        p->domain = t;
+      }
+      else
+      { if (domain)
+          SOAP_FREE(soap, domain);
+        domain = t;
+      }
+    }
+    else if (p && !soap_tag_cmp(tmp, "Path"))
+    { if (p->path)
+        SOAP_FREE(soap, p->path);
+      s = soap_decode_val(tmp, sizeof(tmp), s);
+      if (*tmp)
+      { if ((p->path = (char*)SOAP_MALLOC(soap, strlen(tmp)+1)))
+          strcpy(p->path, tmp);
+      }
+      else
+        p->path = NULL;
+    }
+    else if (p && !soap_tag_cmp(tmp, "Domain"))
+    { if (p->domain)
+        SOAP_FREE(soap, p->domain);
+      s = soap_decode_val(tmp, sizeof(tmp), s);
+      if (*tmp)
+      { if ((p->domain = (char*)SOAP_MALLOC(soap, strlen(tmp)+1)))
+          strcpy(p->domain, tmp);
+      }
+      else
+        p->domain = NULL;
+    }
+    else if (p && !soap_tag_cmp(tmp, "Version"))
+    { s = soap_decode_val(tmp, sizeof(tmp), s);
+      p->version = (unsigned int)soap_strtoul(tmp, NULL, 10);
+    }
+    else if (p && !soap_tag_cmp(tmp, "Max-Age"))
+    { s = soap_decode_val(tmp, sizeof(tmp), s);
+      p->expire = now + soap_strtol(tmp, NULL, 10);
+    }
+    else if (p && !soap_tag_cmp(tmp, "Expires"))
+    { struct tm T;
+      char a[3];
+      static const char mns[] = "anebarprayunulugepctovec";
+      s = soap_decode_val(tmp, sizeof(tmp), s);
+      if (strlen(tmp) > 20)
+      { memset((void*)&T, 0, sizeof(T));
+        a[0] = tmp[4];
+        a[1] = tmp[5];
+        a[2] = '\0';
+        T.tm_mday = (int)soap_strtol(a, NULL, 10);
+        a[0] = tmp[8];
+        a[1] = tmp[9];
+        T.tm_mon = (int)(strstr(mns, a) - mns) / 2;
+        a[0] = tmp[11];
+        a[1] = tmp[12];
+        T.tm_year = 100 + (int)soap_strtol(a, NULL, 10);
+        a[0] = tmp[13];
+        a[1] = tmp[14];
+        T.tm_hour = (int)soap_strtol(a, NULL, 10);
+        a[0] = tmp[16];
+        a[1] = tmp[17];
+        T.tm_min = (int)soap_strtol(a, NULL, 10);
+        a[0] = tmp[19];
+        a[1] = tmp[20];
+        T.tm_sec = (int)soap_strtol(a, NULL, 10);
+        p->expire = soap_timegm(&T);
+      }
+    }
+    else if (p && !soap_tag_cmp(tmp, "Secure"))
+      p->secure = 1;
+    else
+    { if (p)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Got environment cookie='%s' value='%s' domain='%s' path='%s' expire=%ld secure=%d\n", p->name, p->value ? p->value : "(null)", p->domain ? p->domain : "(null)", p->path ? p->path : "(null)", p->expire, p->secure));
+        if ((q = soap_set_cookie(soap, p->name, p->value, p->domain, p->path)))
+        { q->version = p->version;
+          q->expire = p->expire;
+          q->secure = p->secure;
+          q->env = 1;
+        }
+        if (p->name)
+          SOAP_FREE(soap, p->name);
+        if (p->value)
+          SOAP_FREE(soap, p->value);
+        if (p->domain)
+          SOAP_FREE(soap, p->domain);
+        if (p->path)
+          SOAP_FREE(soap, p->path);
+        SOAP_FREE(soap, p);
+      }
+      if ((p = (struct soap_cookie*)SOAP_MALLOC(soap, sizeof(struct soap_cookie))))
+      { p->name = (char*)SOAP_MALLOC(soap, strlen(tmp)+1);
+        strcpy(p->name, tmp);
+        s = soap_decode_val(tmp, sizeof(tmp), s);
+        if (*tmp)
+        { p->value = (char*)SOAP_MALLOC(soap, strlen(tmp)+1);
+          strcpy(p->value, tmp);
+        }
+        else
+          p->value = NULL;
+        if (domain)
+          p->domain = domain;
+        else if (*soap->host)
+        { p->domain = (char*)SOAP_MALLOC(soap, strlen(soap->host)+1);
+          strcpy(p->domain, soap->host);
+        }
+        else
+          p->domain = NULL;
+        if (path)
+          p->path = path;
+        else if (soap->path && *soap->path)
+        { p->path = (char*)SOAP_MALLOC(soap, strlen(soap->path)+1);
+          strcpy(p->path, soap->path);
+        }
+        else
+        { p->path = (char*)SOAP_MALLOC(soap, 2);
+          strcpy(p->path, "/");
+        }
+        p->expire = 0;
+        p->secure = 0;
+        p->version = version;
+      }
+    }
+  }
+  if (p)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Got environment cookie='%s' value='%s' domain='%s' path='%s' expire=%ld secure=%d\n", p->name, p->value ? p->value : "(null)", p->domain ? p->domain : "(null)", p->path ? p->path : "(null)", p->expire, p->secure));
+    if ((q = soap_set_cookie(soap, p->name, p->value, p->domain, p->path)))
+    { q->version = p->version;
+      q->expire = p->expire;
+      q->secure = p->secure;
+      q->env = 1;
+    }
+    if (p->name)
+      SOAP_FREE(soap, p->name);
+    if (p->value)
+      SOAP_FREE(soap, p->value);
+    if (p->domain)
+      SOAP_FREE(soap, p->domain);
+    if (p->path)
+      SOAP_FREE(soap, p->path);
+    SOAP_FREE(soap, p);
+  }
+  if (domain)
+    SOAP_FREE(soap, domain);
+  if (path)
+    SOAP_FREE(soap, path);
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_getenv_cookies(struct soap *soap)
+{ struct soap_cookie *p;
+  const char *s;
+  char key[4096], val[4096]; /* cookie size is up to 4096 bytes [RFC2109] */
+  if (!(s = getenv("HTTP_COOKIE")))
+    return SOAP_ERR;
+  do
+  { s = soap_decode_key(key, sizeof(key), s);
+    s = soap_decode_val(val, sizeof(val), s);
+    p = soap_set_cookie(soap, key, val, NULL, NULL);
+    if (p)
+      p->env = 1;
+  } while (*s);
+  return SOAP_OK;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+struct soap_cookie*
+SOAP_FMAC2
+soap_copy_cookies(struct soap *copy, const struct soap *soap)
+{ struct soap_cookie *p, **q, *r;
+  q = &r;
+  for (p = soap->cookies; p; p = p->next)
+  { if (!(*q = (struct soap_cookie*)SOAP_MALLOC(copy, sizeof(struct soap_cookie))))
+      return r;
+    **q = *p;
+    if (p->name)
+    { if (((*q)->name = (char*)SOAP_MALLOC(copy, strlen(p->name)+1)))
+        strcpy((*q)->name, p->name);
+    }
+    if (p->value)
+    { if (((*q)->value = (char*)SOAP_MALLOC(copy, strlen(p->value)+1)))
+        strcpy((*q)->value, p->value);
+    }
+    if (p->domain)
+    { if (((*q)->domain = (char*)SOAP_MALLOC(copy, strlen(p->domain)+1)))
+        strcpy((*q)->domain, p->domain);
+    }
+    if (p->path)
+    { if (((*q)->path = (char*)SOAP_MALLOC(copy, strlen(p->path)+1)))
+        strcpy((*q)->path, p->path);
+    }
+    q = &(*q)->next;
+  }
+  *q = NULL;
+  return r;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_free_cookies(struct soap *soap)
+{ struct soap_cookie *p;
+  for (p = soap->cookies; p; p = soap->cookies)
+  { soap->cookies = p->next;
+    SOAP_FREE(soap, p->name);
+    if (p->value)
+      SOAP_FREE(soap, p->value);
+    if (p->domain)
+      SOAP_FREE(soap, p->domain);
+    if (p->path)
+      SOAP_FREE(soap, p->path);
+    SOAP_FREE(soap, p);
+  }
+}
+
+/******************************************************************************/
+#endif /* WITH_COOKIES */
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+size_t
+SOAP_FMAC2
+soap_hash(register const char *s)
+{ register size_t h = 0;
+  while (*s)
+    h = 65599*h + *s++;
+  return h % SOAP_IDHASH;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_1
+static void
+soap_init_pht(struct soap *soap)
+{ register int i;
+  soap->pblk = NULL;
+  soap->pidx = 0;
+  for (i = 0; i < (int)SOAP_PTRHASH; i++)
+    soap->pht[i] = NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+struct soap*
+SOAP_FMAC2
+soap_versioning(soap_new)(soap_mode imode, soap_mode omode)
+{ struct soap *soap = (struct soap*)malloc(sizeof(struct soap));
+  if (soap)
+    soap_versioning(soap_init)(soap, imode, omode);
+  return soap;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_free(struct soap *soap)
+{ soap_done(soap);
+  free(soap);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_del(struct soap *soap)
+{ free(soap);
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_1
+static void
+soap_free_pht(struct soap *soap)
+{ register struct soap_pblk *pb, *next;
+  register int i;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Free pointer hashtable\n"));
+  for (pb = soap->pblk; pb; pb = next)
+  { next = pb->next;
+    SOAP_FREE(soap, pb);
+  }
+  soap->pblk = NULL;
+  soap->pidx = 0;
+  for (i = 0; i < (int)SOAP_PTRHASH; i++)
+    soap->pht[i] = NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_embed(struct soap *soap, const void *p, const struct soap_array *a, int n, const char *tag, int type)
+{ register int i;
+  struct soap_plist *pp;
+  (void)soap;
+  if (soap->version == 2)
+    soap->encoding = 1;
+  if (a)
+    i = soap_array_pointer_lookup(soap, p, a, n, type, &pp);
+  else
+    i = soap_pointer_lookup(soap, p, type, &pp);
+  if (i)
+  { if (soap_is_embedded(soap, pp)
+     || soap_is_single(soap, pp))
+      return 0;
+    soap_set_embedded(soap, pp);
+  }
+  return i;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_pointer_lookup(struct soap *soap, const void *p, int type, struct soap_plist **ppp)
+{ register struct soap_plist *pp;
+  *ppp = NULL;
+  if (p)
+  { for (pp = soap->pht[soap_hash_ptr(p)]; pp; pp = pp->next)
+    { if (pp->ptr == p && pp->type == type)
+      { *ppp = pp;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Lookup location=%p type=%d id=%d\n", p, type, pp->id));
+        return pp->id;
+      }
+    }
+  }
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Lookup location=%p type=%d: not found\n", p, type));
+  return 0;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_pointer_enter(struct soap *soap, const void *p, const struct soap_array *a, int n, int type, struct soap_plist **ppp)
+{ register size_t h;
+  register struct soap_plist *pp;
+  (void)n;
+  if (!soap->pblk || soap->pidx >= SOAP_PTRBLK)
+  { register struct soap_pblk *pb = (struct soap_pblk*)SOAP_MALLOC(soap, sizeof(struct soap_pblk));
+    if (!pb)
+    { soap->error = SOAP_EOM;
+      return 0;
+    }
+    pb->next = soap->pblk;
+    soap->pblk = pb;
+    soap->pidx = 0;
+  }
+  *ppp = pp = &soap->pblk->plist[soap->pidx++];
+  if (a)
+    h = soap_hash_ptr(a->__ptr);
+  else
+    h = soap_hash_ptr(p);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Pointer enter location=%p array=%p size=%d dim=%d type=%d id=%d\n", p, a ? a->__ptr : NULL, a ? a->__size : 0, n, type, soap->idnum+1));
+  pp->next = soap->pht[h];
+  pp->type = type;
+  pp->mark1 = 0;
+  pp->mark2 = 0;
+  pp->ptr = p;
+  pp->array = a;
+  soap->pht[h] = pp;
+  pp->id = ++soap->idnum;
+  return pp->id;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_array_pointer_lookup(struct soap *soap, const void *p, const struct soap_array *a, int n, int type, struct soap_plist **ppp)
+{ register struct soap_plist *pp;
+  *ppp = NULL;
+  if (!p || !a->__ptr)
+    return 0;
+  for (pp = soap->pht[soap_hash_ptr(a->__ptr)]; pp; pp = pp->next)
+  { if (pp->type == type && pp->array && pp->array->__ptr == a->__ptr)
+    { register int i;
+      for (i = 0; i < n; i++)
+        if (((const int*)&pp->array->__size)[i] != ((const int*)&a->__size)[i])
+          break;
+      if (i == n)
+      { *ppp = pp;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Array lookup location=%p type=%d id=%d\n", a->__ptr, type, pp->id));
+        return pp->id;
+      }
+    }
+  }
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Array lookup location=%p type=%d: not found\n", a->__ptr, type));
+  return 0;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_begin_count(struct soap *soap)
+{ soap_free_ns(soap);
+#ifndef WITH_LEANER
+  if ((soap->mode & SOAP_ENC_DIME) || (soap->omode & SOAP_ENC_DIME))
+    soap->mode = soap->omode | SOAP_IO_LENGTH | SOAP_ENC_DIME;
+  else
+#endif
+  { soap->mode = soap->omode;
+    if ((soap->mode & SOAP_IO_UDP))
+      soap->mode |= SOAP_ENC_XML;
+    if ((soap->mode & SOAP_IO) == SOAP_IO_STORE
+     || (((soap->mode & SOAP_IO) == SOAP_IO_CHUNK || (soap->mode & SOAP_ENC_XML))
+#ifndef WITH_LEANER
+      && !soap->fpreparesend
+#endif
+      ))
+      soap->mode &= ~SOAP_IO_LENGTH;
+    else
+      soap->mode |= SOAP_IO_LENGTH;
+  }
+#ifdef WITH_ZLIB
+  if ((soap->mode & SOAP_ENC_ZLIB) && (soap->mode & SOAP_IO) == SOAP_IO_FLUSH)
+  { if (!(soap->mode & SOAP_ENC_DIME))
+      soap->mode &= ~SOAP_IO_LENGTH;
+    if (soap->mode & SOAP_ENC_XML)
+      soap->mode |= SOAP_IO_BUFFER;
+    else
+      soap->mode |= SOAP_IO_STORE;
+  }
+#endif
+#ifndef WITH_LEANER
+  if ((soap->mode & SOAP_ENC_MTOM) && (soap->mode & SOAP_ENC_DIME))
+    soap->mode |= SOAP_ENC_MIME;
+  else if (!(soap->mode & SOAP_ENC_MIME))
+    soap->mode &= ~SOAP_ENC_MTOM;
+  if (soap->mode & SOAP_ENC_MIME)
+    soap_select_mime_boundary(soap);
+  soap->dime.list = soap->dime.last;	/* keep track of last DIME attachment */
+#endif
+  soap->count = 0;
+  soap->ns = 0;
+  soap->null = 0;
+  soap->position = 0;
+  soap->mustUnderstand = 0;
+  soap->encoding = 0;
+  soap->part = SOAP_BEGIN;
+  soap->event = 0;
+  soap->evlev = 0;
+  soap->idnum = 0;
+  soap_clr_attr(soap);
+  soap_set_local_namespaces(soap);
+#ifndef WITH_LEANER
+  soap->dime.count = 0; /* count # of attachments */
+  soap->dime.size = 0; /* accumulate total size of attachments */
+  if (soap->fprepareinitsend && (soap->mode & SOAP_IO) != SOAP_IO_STORE && (soap->error = soap->fprepareinitsend(soap)))
+    return soap->error;
+#endif
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Begin count phase (socket=%d mode=0x%x count=%lu)\n", soap->socket, (unsigned int)soap->mode, (unsigned long)soap->count));
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_end_count(struct soap *soap)
+{ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "End of count phase\n"));
+#ifndef WITH_LEANER
+  if ((soap->mode & SOAP_IO_LENGTH))
+  { if (soap->fpreparefinalsend && (soap->error = soap->fpreparefinalsend(soap)))
+      return soap->error;
+  }
+#endif
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_begin_send(struct soap *soap)
+{ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Initializing for output to socket=%d/fd=%d\n", soap->socket, soap->sendfd));
+  soap_free_ns(soap);
+  soap->error = SOAP_OK;
+  soap->mode = soap->omode | (soap->mode & (SOAP_IO_LENGTH | SOAP_ENC_DIME));
+#ifdef WITH_ZLIB
+  if ((soap->mode & SOAP_ENC_ZLIB) && (soap->mode & SOAP_IO) == SOAP_IO_FLUSH)
+  { if (soap->mode & SOAP_ENC_XML)
+      soap->mode |= SOAP_IO_BUFFER;
+    else
+      soap->mode |= SOAP_IO_STORE;
+  }
+#endif
+#ifndef WITH_LEAN
+  if ((soap->mode & SOAP_IO_UDP))
+  { soap->mode |= SOAP_ENC_XML;
+    if (soap->count > SOAP_BUFLEN)
+      return soap->error = SOAP_UDP_ERROR;
+  }
+#endif
+  if ((soap->mode & SOAP_IO) == SOAP_IO_FLUSH && soap_valid_socket(soap->socket))
+  { if (soap->count || (soap->mode & SOAP_IO_LENGTH) || (soap->mode & SOAP_ENC_XML))
+      soap->mode |= SOAP_IO_BUFFER;
+    else
+      soap->mode |= SOAP_IO_STORE;
+  }
+  soap->mode &= ~SOAP_IO_LENGTH;
+  if ((soap->mode & SOAP_IO) == SOAP_IO_STORE)
+    if (soap_new_block(soap) == NULL)
+      return soap->error;
+  if (!(soap->mode & SOAP_IO_KEEPALIVE))
+    soap->keep_alive = 0;
+#ifndef WITH_LEANER
+  if ((soap->mode & SOAP_ENC_MTOM) && (soap->mode & SOAP_ENC_DIME))
+  { soap->mode |= SOAP_ENC_MIME;
+    soap->mode &= ~SOAP_ENC_DIME;
+  }
+  else if (!(soap->mode & SOAP_ENC_MIME))
+    soap->mode &= ~SOAP_ENC_MTOM;
+  if (soap->mode & SOAP_ENC_MIME)
+    soap_select_mime_boundary(soap);
+#ifdef WIN32
+#ifndef UNDER_CE
+#ifndef WITH_FASTCGI
+  if (!soap_valid_socket(soap->socket) && !soap->os) /* Set win32 stdout or soap->sendfd to BINARY, e.g. to support DIME */
+#ifdef __BORLANDC__
+    setmode(soap->sendfd, _O_BINARY);
+#else
+    _setmode(soap->sendfd, _O_BINARY);
+#endif
+#endif
+#endif
+#endif
+#endif
+  if (soap->mode & SOAP_IO)
+  { soap->bufidx = 0;
+    soap->buflen = 0;
+  }
+  soap->chunksize = 0;
+  soap->ns = 0;
+  soap->null = 0;
+  soap->position = 0;
+  soap->mustUnderstand = 0;
+  soap->encoding = 0;
+  soap->idnum = 0;
+  soap->level = 0;
+  soap_clr_attr(soap);
+  soap_set_local_namespaces(soap);
+#ifdef WITH_ZLIB
+  soap->z_ratio_out = 1.0;
+  if ((soap->mode & SOAP_ENC_ZLIB) && soap->zlib_state != SOAP_ZLIB_DEFLATE)
+  { if (!soap->z_buf)
+      soap->z_buf = (char*)SOAP_MALLOC(soap, SOAP_BUFLEN);
+    soap->d_stream->next_out = (Byte*)soap->z_buf;
+    soap->d_stream->avail_out = SOAP_BUFLEN;
+#ifdef WITH_GZIP
+    if (soap->zlib_out != SOAP_ZLIB_DEFLATE)
+    { memcpy(soap->z_buf, "\37\213\10\0\0\0\0\0\0\377", 10);
+      soap->d_stream->next_out = (Byte*)soap->z_buf + 10;
+      soap->d_stream->avail_out = SOAP_BUFLEN - 10;
+      soap->z_crc = crc32(0L, NULL, 0);
+      soap->zlib_out = SOAP_ZLIB_GZIP;
+      if (soap->z_dict)
+        *((Byte*)soap->z_buf + 2) = 0xff;
+      if (deflateInit2(soap->d_stream, soap->z_level, Z_DEFLATED, -MAX_WBITS, 8, Z_DEFAULT_STRATEGY) != Z_OK)
+        return soap->error = SOAP_ZLIB_ERROR;
+    }
+    else
+#endif
+    if (deflateInit(soap->d_stream, soap->z_level) != Z_OK)
+      return soap->error = SOAP_ZLIB_ERROR;
+    if (soap->z_dict)
+    { if (deflateSetDictionary(soap->d_stream, (const Bytef*)soap->z_dict, soap->z_dict_len) != Z_OK)
+        return soap->error = SOAP_ZLIB_ERROR;
+    }
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Deflate initialized\n"));
+    soap->zlib_state = SOAP_ZLIB_DEFLATE;
+  }
+#endif
+#ifdef WITH_OPENSSL
+  if (soap->ssl)
+    ERR_clear_error();
+#endif
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Begin send phase (socket=%d mode=0x%x count=%lu)\n", soap->socket, soap->mode, (unsigned long)soap->count));
+  soap->part = SOAP_BEGIN;
+#ifndef WITH_LEANER
+  if (soap->fprepareinitsend && (soap->mode & SOAP_IO) == SOAP_IO_STORE && (soap->error = soap->fprepareinitsend(soap)))
+    return soap->error;
+#endif
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_embedded(struct soap *soap, const void *p, int t)
+{ struct soap_plist *pp;
+  if (soap_pointer_lookup(soap, p, t, &pp))
+  { pp->mark1 = 1;
+    pp->mark2 = 1;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Embedded %p type=%d mark set to 1\n", p, t));
+  }
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_reference(struct soap *soap, const void *p, int t)
+{ struct soap_plist *pp;
+  if (!p || (!soap->encodingStyle && !(soap->omode & (SOAP_ENC_DIME|SOAP_ENC_MIME|SOAP_ENC_MTOM|SOAP_XML_GRAPH))) || (soap->omode & SOAP_XML_TREE))
+    return 1;
+  if (soap_pointer_lookup(soap, p, t, &pp))
+  { if (pp->mark1 == 0)
+    { pp->mark1 = 2;
+      pp->mark2 = 2;
+    }
+  }
+  else if (!soap_pointer_enter(soap, p, NULL, 0, t, &pp))
+    return 1;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Reference %p type=%d (%d %d)\n", p, t, (int)pp->mark1, (int)pp->mark2));
+  return pp->mark1;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_array_reference(struct soap *soap, const void *p, const struct soap_array *a, int n, int t)
+{ struct soap_plist *pp;
+  if (!p || !a->__ptr || (!soap->encodingStyle && !(soap->omode & (SOAP_ENC_DIME|SOAP_ENC_MIME|SOAP_ENC_MTOM|SOAP_XML_GRAPH))) || (soap->omode & SOAP_XML_TREE))
+    return 1;
+  if (soap_array_pointer_lookup(soap, p, a, n, t, &pp))
+  { if (pp->mark1 == 0)
+    { pp->mark1 = 2;
+      pp->mark2 = 2;
+    }
+  }
+  else if (!soap_pointer_enter(soap, p, a, n, t, &pp))
+    return 1;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Array reference %p ptr=%p dim=%d type=%d (%d %d)\n", p, a->__ptr, n, t, (int)pp->mark1, (int)pp->mark2));
+  return pp->mark1;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_embedded_id(struct soap *soap, int id, const void *p, int t)
+{ struct soap_plist *pp = NULL;
+  if (!id || (!soap->encodingStyle && !(soap->omode & SOAP_XML_GRAPH)) || (soap->omode & SOAP_XML_TREE))
+    return id;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Embedded_id %p type=%d id=%d\n", p, t, id));
+  if (soap->version == 1 && soap->part != SOAP_IN_HEADER)
+  { if (id < 0)
+    { id = soap_pointer_lookup(soap, p, t, &pp);
+      if (id)
+      { if (soap->mode & SOAP_IO_LENGTH)
+          pp->mark1 = 2;
+        else
+          pp->mark2 = 2;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Embedded_id multiref id=%d %p type=%d = (%d %d)\n", id, p, t, (int)pp->mark1, (int)pp->mark2));
+      }
+      return -1;
+    }
+    return id;
+  }
+  if (id < 0)
+    id = soap_pointer_lookup(soap, p, t, &pp);
+  else if (id && !soap_pointer_lookup(soap, p, t, &pp))
+    return 0;
+  if (id && pp)
+  { if (soap->mode & SOAP_IO_LENGTH)
+      pp->mark1 = 1;
+    else
+      pp->mark2 = 1;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Embedded_id embedded ref id=%d %p type=%d = (%d %d)\n", id, p, t, (int)pp->mark1, (int)pp->mark2));
+  }
+  return id;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_is_embedded(struct soap *soap, struct soap_plist *pp)
+{ if (!pp)
+    return 0;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Is embedded? %d %d\n", (int)pp->mark1, (int)pp->mark2));
+  if (soap->version == 1 && soap->encodingStyle && !(soap->mode & SOAP_XML_GRAPH) && soap->part != SOAP_IN_HEADER)
+  { if (soap->mode & SOAP_IO_LENGTH)
+      return pp->mark1 != 0;
+    return pp->mark2 != 0;
+  }
+  if (soap->mode & SOAP_IO_LENGTH)
+    return pp->mark1 == 1;
+  return pp->mark2 == 1;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_is_single(struct soap *soap, struct soap_plist *pp)
+{ if (soap->part == SOAP_IN_HEADER)
+    return 1;
+  if (!pp)
+    return 0;
+  if (soap->mode & SOAP_IO_LENGTH)
+    return pp->mark1 == 0;
+  return pp->mark2 == 0;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_set_embedded(struct soap *soap, struct soap_plist *pp)
+{ if (!pp)
+    return;
+  if (soap->mode & SOAP_IO_LENGTH)
+    pp->mark1 = 1;
+  else
+    pp->mark2 = 1;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_attachment(struct soap *soap, const char *tag, int id, const void *p, const struct soap_array *a, const char *aid, const char *atype, const char *aoptions, int n, const char *type, int t)
+{
+#ifndef WITH_NOIDREF
+  struct soap_plist *pp;
+  int i;
+  if (!p || !a->__ptr || (!aid && !atype))
+    return soap_element_id(soap, tag, id, p, a, n, type, t);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Attachment tag='%s' id='%s' (%d) type='%s'\n", tag, aid ? aid : SOAP_STR_EOS, id, atype ? atype : SOAP_STR_EOS));
+  i = soap_array_pointer_lookup(soap, p, a, n, t, &pp);
+  if (!i)
+  { i = soap_pointer_enter(soap, p, a, n, t, &pp);
+    if (!i)
+    { soap->error = SOAP_EOM;
+      return -1;
+    }
+  }
+  if (id <= 0)
+    id = i;
+  if (!aid)
+  {
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), soap->dime_id_format, id);
+#else
+    sprintf(soap->tmpbuf, soap->dime_id_format, id);
+#endif
+    aid = soap_strdup(soap, soap->tmpbuf);
+  }
+  /* Add MTOM xop:Include element when necessary */
+  /* TODO: this code to be obsoleted with new import/xop.h conventions */
+  if ((soap->mode & SOAP_ENC_MTOM) && strcmp(tag, "xop:Include"))
+  { if (soap_element_begin_out(soap, tag, 0, type)
+     || soap_element_href(soap, "xop:Include", 0, "xmlns:xop=\"http://www.w3.org/2004/08/xop/include\" href", aid)
+     || soap_element_end_out(soap, tag))
+      return soap->error;
+  }
+  else if (soap_element_href(soap, tag, 0, "href", aid))
+    return soap->error;
+  if (soap->mode & SOAP_IO_LENGTH)
+  { if (pp->mark1 != 3)
+    { struct soap_multipart *content;
+      if (soap->mode & SOAP_ENC_MTOM)
+        content = soap_new_multipart(soap, &soap->mime.first, &soap->mime.last, (char*)a->__ptr, a->__size);
+      else
+        content = soap_new_multipart(soap, &soap->dime.first, &soap->dime.last, (char*)a->__ptr, a->__size);
+      if (!content)
+      { soap->error = SOAP_EOM;
+        return -1;
+      }
+      if (!strncmp(aid, "cid:", 4)) /* RFC 2111 */
+      { if (soap->mode & SOAP_ENC_MTOM)
+        { char *s = (char*)soap_malloc(soap, strlen(aid) - 1);
+          if (s)
+          { *s = '<';
+            strcpy(s + 1, aid + 4);
+            strcat(s, ">");
+            content->id = s;
+          }
+        }
+        else
+          content->id = aid + 4;
+      }
+      else
+        content->id = aid;
+      content->type = atype;
+      content->options = aoptions;
+      content->encoding = SOAP_MIME_BINARY;
+      pp->mark1 = 3;
+    }
+  }
+  else
+    pp->mark2 = 3;
+#endif
+  return -1;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_1
+static void
+soap_init_iht(struct soap *soap)
+{ register int i;
+  for (i = 0; i < SOAP_IDHASH; i++)
+    soap->iht[i] = NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_1
+static void
+soap_free_iht(struct soap *soap)
+{ register int i;
+  register struct soap_ilist *ip = NULL, *p = NULL;
+  register struct soap_flist *fp = NULL, *fq = NULL;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Free ID hashtable\n"));
+  for (i = 0; i < SOAP_IDHASH; i++)
+  { for (ip = soap->iht[i]; ip; ip = p)
+    { for (fp = ip->flist; fp; fp = fq)
+      { fq = fp->next;
+        SOAP_FREE(soap, fp);
+      }
+      p = ip->next;
+      SOAP_FREE(soap, ip);
+    }
+    soap->iht[i] = NULL;
+  }
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+struct soap_ilist *
+SOAP_FMAC2
+soap_lookup(struct soap *soap, const char *id)
+{ register struct soap_ilist *ip = NULL;
+  for (ip = soap->iht[soap_hash(id)]; ip; ip = ip->next)
+    if (!strcmp(ip->id, id))
+      return ip;
+  return NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+struct soap_ilist *
+SOAP_FMAC2
+soap_enter(struct soap *soap, const char *id)
+{ register size_t h;
+  register struct soap_ilist *ip;
+  ip = (struct soap_ilist*)SOAP_MALLOC(soap, sizeof(struct soap_ilist) + strlen(id));
+  if (ip)
+  { strcpy((char*)ip->id, id);
+    h = soap_hash(id); /* h = (HASH(id) % SOAP_IDHASH) so soap->iht[h] is safe */
+    ip->next = soap->iht[h];
+    soap->iht[h] = ip;
+  }
+  return ip;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void*
+SOAP_FMAC2
+soap_malloc(struct soap *soap, size_t n)
+{ register char *p;
+  if (!n)
+    return (void*)SOAP_NON_NULL;
+  if (!soap)
+    return SOAP_MALLOC(soap, n);
+  if (soap->fmalloc)
+    p = (char*)soap->fmalloc(soap, n);
+  else
+  { n += sizeof(short);
+    n += (-(long)n) & (sizeof(void*)-1); /* align at 4-, 8- or 16-byte boundary */
+    if (!(p = (char*)SOAP_MALLOC(soap, n + sizeof(void*) + sizeof(size_t))))
+    { soap->error = SOAP_EOM;
+      return NULL;
+    }
+    /* set the canary to detect corruption */
+    *(unsigned short*)(p + n - sizeof(unsigned short)) = (unsigned short)SOAP_CANARY;
+    /* keep chain of alloced cells for destruction */
+    *(void**)(p + n) = soap->alist;
+    *(size_t*)(p + n + sizeof(void*)) = n;
+    soap->alist = p + n;
+  }
+  soap->alloced = 1;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifdef SOAP_MEM_DEBUG
+static void
+soap_init_mht(struct soap *soap)
+{ register int i;
+  for (i = 0; i < (int)SOAP_PTRHASH; i++)
+    soap->mht[i] = NULL;
+}
+#endif
+
+/******************************************************************************/
+#ifdef SOAP_MEM_DEBUG
+static void
+soap_free_mht(struct soap *soap)
+{ register int i;
+  register struct soap_mlist *mp, *mq;
+  for (i = 0; i < (int)SOAP_PTRHASH; i++)
+  { for (mp = soap->mht[i]; mp; mp = mq)
+    { mq = mp->next;
+      if (mp->live)
+        fprintf(stderr, "%s(%d): malloc() = %p not freed (memory leak or forgot to call soap_end()?)\n", mp->file, mp->line, mp->ptr);
+      free(mp);
+    }
+    soap->mht[i] = NULL;
+  }
+}
+#endif
+
+/******************************************************************************/
+#ifdef SOAP_MEM_DEBUG
+SOAP_FMAC1
+void*
+SOAP_FMAC2
+soap_track_malloc(struct soap *soap, const char *file, int line, size_t size)
+{ register void *p = malloc(size);
+  if (soap)
+  { register size_t h = soap_hash_ptr(p);
+    register struct soap_mlist *mp = (struct soap_mlist*)malloc(sizeof(struct soap_mlist));
+    if (soap->fdebug[SOAP_INDEX_TEST])
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): malloc(%lu) = %p\n", file, line, (unsigned long)size, p));
+    }
+    mp->next = soap->mht[h];
+    mp->ptr = p;
+    mp->file = file;
+    mp->line = line;
+    mp->live = 1;
+    soap->mht[h] = mp;
+  }
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifdef SOAP_MEM_DEBUG
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_track_free(struct soap *soap, const char *file, int line, void *p)
+{ register size_t h = soap_hash_ptr(p);
+  register struct soap_mlist *mp;
+  for (mp = soap->mht[h]; mp; mp = mp->next)
+    if (mp->ptr == p)
+      break;
+  if (mp)
+  { if (mp->live)
+    { free(p);
+      if (soap->fdebug[SOAP_INDEX_TEST])
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): free(%p)\n", file, line, p));
+      }
+      mp->live = 0;
+    }
+    else
+      fprintf(stderr, "%s(%d): free(%p) double free of pointer malloced at %s(%d)\n", file, line, p, mp->file, mp->line);
+  }
+  else
+    fprintf(stderr, "%s(%d): free(%p) pointer not malloced\n", file, line, p);
+}
+#endif
+
+/******************************************************************************/
+#ifdef SOAP_MEM_DEBUG
+static void
+soap_track_unlink(struct soap *soap, const void *p)
+{ register size_t h = soap_hash_ptr(p);
+  register struct soap_mlist *mp;
+  for (mp = soap->mht[h]; mp; mp = mp->next)
+    if (mp->ptr == p)
+      break;
+  if (mp)
+    mp->live = 0;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_dealloc(struct soap *soap, void *p)
+{ if (soap_check_state(soap))
+    return;
+  if (p)
+  { register char **q;
+    for (q = (char**)&soap->alist; *q; q = *(char***)q)
+    {
+      if (*(unsigned short*)(char*)(*q - sizeof(unsigned short)) != (unsigned short)SOAP_CANARY)
+      {
+#ifdef SOAP_MEM_DEBUG
+        fprintf(stderr, "Data corruption in dynamic allocation (see logs)\n");
+#endif
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Data corruption:\n"));
+        DBGHEX(TEST, *q - 200, 200);
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "\n"));
+        soap->error = SOAP_MOE;
+        return;
+      }
+      if (p == (void*)(*q - *(size_t*)(*q + sizeof(void*))))
+      { *q = **(char***)q;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Freed data at %p\n", p));
+        SOAP_FREE(soap, p);
+        return;
+      }
+    }
+    soap_delete(soap, p);
+  }
+  else
+  { register char *q;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Free all soap_malloc() data\n"));
+    while (soap->alist)
+    { q = (char*)soap->alist;
+      if (*(unsigned short*)(char*)(q - sizeof(unsigned short)) != (unsigned short)SOAP_CANARY)
+      {
+#ifdef SOAP_MEM_DEBUG
+        fprintf(stderr, "Data corruption in dynamic allocation (see logs)\n");
+#endif
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Data corruption:\n"));
+        DBGHEX(TEST, q - 200, 200);
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "\n"));
+        soap->error = SOAP_MOE;
+        return;
+      }
+      soap->alist = *(void**)q;
+      q -= *(size_t*)(q + sizeof(void*));
+      SOAP_FREE(soap, q);
+    }
+    /* we must assume these were deallocated: */
+    soap->http_content = NULL;
+    soap->action = NULL;
+    soap->fault = NULL;
+    soap->header = NULL;
+    soap->userid = NULL;
+    soap->passwd = NULL;
+    soap->authrealm = NULL;
+#ifdef WITH_NTLM
+    soap->ntlm_challenge = NULL;
+#endif
+#ifndef WITH_LEANER
+    soap_clr_mime(soap);
+#endif
+  }
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_delete(struct soap *soap, void *p)
+{ register struct soap_clist **cp;
+  if (soap_check_state(soap))
+    return;
+  cp = &soap->clist;
+  if (p)
+  { while (*cp)
+    { if (p == (*cp)->ptr)
+      { register struct soap_clist *q = *cp;
+        *cp = q->next;
+        if (q->fdelete(q))
+        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not dealloc data %p: deletion callback failed for object type %d\n", q->ptr, q->type));
+#ifdef SOAP_MEM_DEBUG
+          fprintf(stderr, "new(object type = %d) = %p not freed: deletion callback failed\n", q->type, q->ptr);
+#endif
+        }
+        SOAP_FREE(soap, q);
+        return;
+      }
+      cp = &(*cp)->next;
+    }
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not dealloc data %p: address not in list\n", p));
+  }
+  else
+  { while (*cp)
+    { register struct soap_clist *q = *cp;
+      *cp = q->next;
+      if (q->fdelete(q))
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not dealloc data %p: deletion callback failed for object type %d\n", q->ptr, q->type));
+#ifdef SOAP_MEM_DEBUG
+        fprintf(stderr, "new(object type = %d) = %p not freed: deletion callback failed\n", q->type, q->ptr);
+#endif
+      }
+      SOAP_FREE(soap, q);
+    }
+  }
+  soap->fault = NULL; /* this was possibly deallocated */
+  soap->header = NULL; /* this was possibly deallocated */
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_delegate_deletion(struct soap *soap, struct soap *soap_to)
+{ register struct soap_clist *cp;
+  register char **q;
+#ifdef SOAP_MEM_DEBUG
+  register void *p;
+  register struct soap_mlist **mp, *mq;
+  size_t h;
+#endif
+  for (q = (char**)&soap->alist; *q; q = *(char***)q)
+  {
+    if (*(unsigned short*)(char*)(*q - sizeof(unsigned short)) != (unsigned short)SOAP_CANARY)
+    {
+#ifdef SOAP_MEM_DEBUG
+      fprintf(stderr, "Data corruption in dynamic allocation (see logs)\n");
+#endif
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Data corruption:\n"));
+      DBGHEX(TEST, *q - 200, 200);
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "\n"));
+      soap->error = SOAP_MOE;
+      return;
+    }
+#ifdef SOAP_MEM_DEBUG
+    p = (void*)(*q - *(size_t*)(*q + sizeof(void*)));
+    h = soap_hash_ptr(p);
+    for (mp = &soap->mht[h]; *mp; mp = &(*mp)->next)
+    { if ((*mp)->ptr == p)
+      { mq = *mp;
+        *mp = mq->next;
+        mq->next = soap_to->mht[h];
+        soap_to->mht[h] = mq;
+        break;
+      }
+    }
+#endif
+  }
+  *q = (char*)soap_to->alist;
+  soap_to->alist = soap->alist;
+  soap->alist = NULL;
+#ifdef SOAP_MEM_DEBUG
+  cp = soap->clist;
+  while (cp)
+  { h = soap_hash_ptr(cp);
+    for (mp = &soap->mht[h]; *mp; mp = &(*mp)->next)
+    { if ((*mp)->ptr == cp)
+      { mq = *mp;
+        *mp = mq->next;
+        mq->next = soap_to->mht[h];
+        soap_to->mht[h] = mq;
+        break;
+      }
+    }
+    cp = cp->next;
+  }
+#endif
+  cp = soap_to->clist;
+  if (cp)
+  { while (cp->next)
+      cp = cp->next;
+    cp->next = soap->clist;
+  }
+  else
+    soap_to->clist = soap->clist;
+  soap->clist = NULL;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+struct soap_clist *
+SOAP_FMAC2
+soap_link(struct soap *soap, void *p, int t, int n, int (*fdelete)(struct soap_clist*))
+{ register struct soap_clist *cp;
+  if ((cp = (struct soap_clist*)SOAP_MALLOC(soap, sizeof(struct soap_clist))))
+  { cp->next = soap->clist;
+    cp->type = t;
+    cp->size = n;
+    cp->ptr = p;
+    cp->fdelete = fdelete;
+    soap->clist = cp;
+  }
+  return cp;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_unlink(struct soap *soap, const void *p)
+{ register char **q;
+  register struct soap_clist **cp;
+  if (soap && p)
+  { for (q = (char**)&soap->alist; *q; q = *(char***)q)
+    { if (p == (void*)(*q - *(size_t*)(*q + sizeof(void*))))
+      { *q = **(char***)q;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unlinked data %p\n", p));
+#ifdef SOAP_MEM_DEBUG
+        soap_track_unlink(soap, p);
+#endif
+        return SOAP_OK;		/* found and removed from dealloc chain */
+      }
+    }
+    for (cp = &soap->clist; *cp; cp = &(*cp)->next)
+    { if (p == (*cp)->ptr)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unlinked class instance %p\n", p));
+        q = (char**)*cp;
+        *cp = (*cp)->next;
+        SOAP_FREE(soap, q);
+        return SOAP_OK;		/* found and removed from dealloc chain */
+      }
+    }
+  }
+  return SOAP_ERR;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_lookup_type(struct soap *soap, const char *id)
+{ register struct soap_ilist *ip;
+  if (id && *id)
+  { ip = soap_lookup(soap, id);
+    if (ip)
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Lookup id='%s' type=%d\n", id, ip->type));
+      return ip->type;
+    }
+  }
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "lookup type id='%s' NOT FOUND! Need to get it from xsi:type\n", id));
+  return 0;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+void*
+SOAP_FMAC2
+soap_id_lookup(struct soap *soap, const char *id, void **p, int t, size_t n, unsigned int k)
+{ struct soap_ilist *ip;
+  void **q;
+  if (!p || !id || !*id)
+    return p;
+  ip = soap_lookup(soap, id); /* lookup pointer to hash table entry for string id */
+  if (!ip)
+  { if (!(ip = soap_enter(soap, id))) /* new hash table entry for string id */
+      return NULL;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Forwarding first href='%s' type=%d %p (%u bytes)\n", id, t, p, (unsigned int)n));
+    ip->type = t;
+    ip->size = n;
+    ip->link = p;
+    ip->copy = NULL;
+    ip->flist = NULL;
+    ip->ptr = NULL;
+    ip->level = k;
+    *p = NULL;
+  }
+  else if (ip->ptr)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Resolved href='%s' type=%d location=%p (%u bytes)\n", id, t, ip->ptr, (unsigned int)n));
+    if (ip->type != t)
+    { strcpy(soap->id, id);
+      soap->error = SOAP_HREF;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Type incompatibility: href='%s' id-type=%d href-type=%d\n", id, ip->type, t));
+      return NULL;
+    }
+    while (ip->level < k)
+    { q = (void**)soap_malloc(soap, sizeof(void*));
+      if (!q)
+        return NULL;
+      *p = (void*)q;
+      p = q;
+      k--;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Descending one level...\n"));
+    }
+    *p = ip->ptr;
+  }
+  else if (ip->level > k)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Resolving level %u pointers to href='%s'\n", ip->level, id));
+    while (ip->level > k)
+    { void *s, **r = &ip->link;
+      q = (void**)ip->link;
+      while (q)
+      { *r = (void*)soap_malloc(soap, sizeof(void*));
+        if (!*r)
+          return NULL;
+        s = *q;
+        *q = *r;
+        r = (void**)*r;
+        q = (void**)s;
+      }
+      *r = NULL;
+      ip->size = n;
+      ip->copy = NULL;
+      ip->level = ip->level - 1;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Descending one level...\n"));
+    }
+    q = (void**)ip->link;
+    ip->link = p;
+    *p = (void*)q;
+  }
+  else
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Forwarded href='%s' type=%d location=%p (%u bytes)\n", id, t, p, (unsigned int)n));
+    while (ip->level < k)
+    { q = (void**)soap_malloc(soap, sizeof(void*));
+      if (!q)
+        return NULL;
+      *p = q;
+      p = q;
+      k--;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Descending one level...\n"));
+    }
+    q = (void**)ip->link;
+    ip->link = p;
+    *p = (void*)q;
+  }
+  return p;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+void*
+SOAP_FMAC2
+soap_id_forward(struct soap *soap, const char *href, void *p, size_t len, int st, int tt, size_t n, unsigned int k, void (*fcopy)(struct soap*, int, int, void*, size_t, const void*, size_t))
+{ struct soap_ilist *ip;
+  if (!p || !href || !*href)
+    return p;
+  ip = soap_lookup(soap, href); /* lookup pointer to hash table entry for string id */
+  if (!ip)
+  { if (!(ip = soap_enter(soap, href))) /* new hash table entry for string id */
+      return NULL;
+    ip->type = st;
+    ip->size = n;
+    ip->link = NULL;
+    ip->copy = NULL;
+    ip->ptr = NULL;
+    ip->level = 0;
+    ip->flist = NULL;
+    DBGLOG(TEST,SOAP_MESSAGE(fdebug, "New entry href='%s' type=%d size=%lu level=%d location=%p\n", href, st, (unsigned long)n, k, p));
+  }
+  else if (ip->type != st || (ip->level == k && ip->size != n))
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Type incompatibility id='%s' expect type=%d size=%lu level=%u got type=%d size=%lu\n", href, ip->type, (unsigned long)ip->size, k, st, (unsigned long)n));
+    strcpy(soap->id, href);
+    soap->error = SOAP_HREF;
+    return NULL;
+  }
+  if (fcopy || n < sizeof(void*) || *href != '#')
+  { register struct soap_flist *fp = (struct soap_flist*)SOAP_MALLOC(soap, sizeof(struct soap_flist));
+    if (!fp)
+    { soap->error = SOAP_EOM;
+      return NULL;
+    }
+    fp->next = ip->flist;
+    fp->type = tt;
+    fp->ptr = p;
+    fp->level = k;
+    fp->len = len;
+    if (fcopy)
+      fp->fcopy = fcopy;
+    else
+      fp->fcopy = soap_fcopy;
+    ip->flist = fp;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Forwarding type=%d (target type=%d) size=%lu location=%p level=%u len=%lu href='%s'\n", st, tt, (unsigned long)n, p, k, (unsigned long)len, href));
+  }
+  else
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Forwarding copying address %p for type=%d href='%s'\n", p, st, href));
+    *(void**)p = ip->copy;
+    ip->copy = p;
+  }
+  return p;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void*
+SOAP_FMAC2
+soap_id_enter(struct soap *soap, const char *id, void *p, int t, size_t n, unsigned int k, const char *type, const char *arrayType, void *(*finstantiate)(struct soap*, int, const char*, const char*, size_t*))
+{
+#ifndef WITH_NOIDREF
+  struct soap_ilist *ip;
+#endif
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Enter id='%s' type=%d loc=%p size=%lu level=%u\n", id, t, p, (unsigned long)n, k));
+  soap->alloced = 0;
+  if (!p)
+  { if (finstantiate)
+      p = finstantiate(soap, t, type, arrayType, &n);
+    else
+      p = soap_malloc(soap, n);
+    if (p)
+      soap->alloced = 1;
+  }
+#ifndef WITH_NOIDREF
+  if (!id || !*id)
+#endif
+    return p;
+#ifndef WITH_NOIDREF
+  ip = soap_lookup(soap, id); /* lookup pointer to hash table entry for string id */
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Lookup entry id='%s for location=%p'\n", id, p));
+  if (!ip)
+  { if (!(ip = soap_enter(soap, id))) /* new hash table entry for string id */
+      return NULL;
+    ip->type = t;
+    ip->link = NULL;
+    ip->copy = NULL;
+    ip->flist = NULL;
+    ip->size = n;
+    ip->ptr = p;
+    ip->level = k;
+    DBGLOG(TEST,SOAP_MESSAGE(fdebug, "New entry id='%s' type=%d size=%lu level=%u location=%p\n", id, t, (unsigned long)n, k, p));
+  }
+  else if ((ip->type != t || (ip->level == k && ip->size != n)) && (ip->copy || ip->flist))
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Type incompatibility id='%s' expect type=%d size=%lu level=%u got type=%d size=%lu\n", id, ip->type, (unsigned long)ip->size, k, t, (unsigned long)n));
+    strcpy(soap->id, id);
+    soap->error = SOAP_HREF;
+    return NULL;
+  }
+  else if (ip->ptr)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Multiply defined id='%s'\n", id));
+    strcpy(soap->id, id);
+    soap->error = SOAP_DUPLICATE_ID;
+    return NULL;
+  }
+  else
+  { ip->size = n;
+    ip->ptr = p;
+    ip->level = k;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Update entry id='%s' type=%d location=%p size=%lu level=%u\n", id, t, p, (unsigned long)n, k));
+  }
+  return ip->ptr;
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_fcopy(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+{ DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Copying data type=%d (target type=%d) %p -> %p (%lu bytes)\n", st, tt, q, p, (unsigned long)n));
+  memcpy(p, q, n);
+  (void)soap; (void)st; (void)tt; (void)len;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_end_send(struct soap *soap)
+{
+#ifndef WITH_LEANER
+  int err;
+  if (soap->dime.list)
+  { /* SOAP body referenced attachments must appear first */
+    soap->dime.last->next = soap->dime.first;
+    soap->dime.first = soap->dime.list->next;
+    soap->dime.list->next = NULL;
+    soap->dime.last = soap->dime.list;
+  }
+  if (!(err = soap_putdime(soap)))
+    err = soap_putmime(soap);
+  soap->mime.list = NULL;
+  soap->mime.first = NULL;
+  soap->mime.last = NULL;
+  soap->dime.list = NULL;
+  soap->dime.first = NULL;
+  soap->dime.last = NULL;
+  if (err)
+    return err;
+#endif
+  return soap_end_send_flush(soap);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_end_send_flush(struct soap *soap)
+{ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "End send mode=0x%x\n", soap->mode));
+  if (soap->mode & SOAP_IO) /* need to flush the remaining data in buffer */
+  { if (soap_flush(soap))
+#ifdef WITH_ZLIB
+    { if (soap->mode & SOAP_ENC_ZLIB && soap->zlib_state == SOAP_ZLIB_DEFLATE)
+      { soap->zlib_state = SOAP_ZLIB_NONE;
+        deflateEnd(soap->d_stream);
+      }
+      return soap->error;
+    }
+#else
+      return soap->error;
+#endif
+#ifdef WITH_ZLIB
+    if (soap->mode & SOAP_ENC_ZLIB)
+    { int r;
+      soap->d_stream->avail_in = 0;
+      do
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Deflating remainder\n"));
+        r = deflate(soap->d_stream, Z_FINISH);
+        if (soap->d_stream->avail_out != SOAP_BUFLEN)
+        { if (soap_flush_raw(soap, soap->z_buf, SOAP_BUFLEN - soap->d_stream->avail_out))
+          { soap->zlib_state = SOAP_ZLIB_NONE;
+            deflateEnd(soap->d_stream);
+            return soap->error;
+          }
+          soap->d_stream->next_out = (Byte*)soap->z_buf;
+          soap->d_stream->avail_out = SOAP_BUFLEN;
+        }
+      } while (r == Z_OK);
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Deflated total %lu->%lu bytes\n", soap->d_stream->total_in, soap->d_stream->total_out));
+      soap->z_ratio_out = (float)soap->d_stream->total_out / (float)soap->d_stream->total_in;
+      soap->mode &= ~SOAP_ENC_ZLIB;
+      soap->zlib_state = SOAP_ZLIB_NONE;
+      if (deflateEnd(soap->d_stream) != Z_OK || r != Z_STREAM_END)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unable to end deflate: %s\n", soap->d_stream->msg ? soap->d_stream->msg : SOAP_STR_EOS));
+        return soap->error = SOAP_ZLIB_ERROR;
+      }
+#ifdef WITH_GZIP
+      if (soap->zlib_out != SOAP_ZLIB_DEFLATE)
+      { soap->z_buf[0] = soap->z_crc & 0xFF;
+        soap->z_buf[1] = (soap->z_crc >> 8) & 0xFF;
+        soap->z_buf[2] = (soap->z_crc >> 16) & 0xFF;
+        soap->z_buf[3] = (soap->z_crc >> 24) & 0xFF;
+        soap->z_buf[4] = soap->d_stream->total_in & 0xFF;
+        soap->z_buf[5] = (soap->d_stream->total_in >> 8) & 0xFF;
+        soap->z_buf[6] = (soap->d_stream->total_in >> 16) & 0xFF;
+        soap->z_buf[7] = (soap->d_stream->total_in >> 24) & 0xFF;
+        if (soap_flush_raw(soap, soap->z_buf, 8))
+          return soap->error;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "gzip crc32=%lu\n", (unsigned long)soap->z_crc));
+      }
+#endif
+    }
+#endif
+    if ((soap->mode & SOAP_IO) == SOAP_IO_STORE)
+    { char *p;
+#ifndef WITH_NOHTTP
+      if (!(soap->mode & SOAP_ENC_XML))
+      { soap->mode--;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Sending buffered message of length %u\n", (unsigned int)soap->blist->size));
+        if (soap->status >= SOAP_POST)
+          soap->error = soap->fpost(soap, soap->endpoint, soap->host, soap->port, soap->path, soap->action, soap->blist->size);
+        else if (soap->status != SOAP_STOP)
+          soap->error = soap->fresponse(soap, soap->status, soap->blist->size);
+        if (soap->error || soap_flush(soap))
+          return soap->error;
+        soap->mode++;
+      }
+#endif
+      for (p = soap_first_block(soap, NULL); p; p = soap_next_block(soap, NULL))
+      { DBGMSG(SENT, p, soap_block_size(soap, NULL));
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Send %u bytes to socket=%d/fd=%d\n", (unsigned int)soap_block_size(soap, NULL), soap->socket, soap->sendfd));
+        if ((soap->error = soap->fsend(soap, p, soap_block_size(soap, NULL))))
+        { soap_end_block(soap, NULL);
+          return soap->error;
+        }
+      }
+      soap_end_block(soap, NULL);
+      if (soap->fpreparefinalsend && (soap->error = soap->fpreparefinalsend(soap)))
+        return soap->error;
+    }
+#ifndef WITH_LEANER
+    else if ((soap->mode & SOAP_IO) == SOAP_IO_CHUNK)
+    { DBGMSG(SENT, "\r\n0\r\n\r\n", 7);
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Send 7 bytes to socket=%d/fd=%d\n", soap->socket, soap->sendfd));
+      if ((soap->error = soap->fsend(soap, "\r\n0\r\n\r\n", 7)))
+        return soap->error;
+    }
+#endif
+  }
+#ifdef WITH_TCPFIN
+#ifdef WITH_OPENSSL
+  if (!soap->ssl && soap_valid_socket(soap->socket) && !soap->keep_alive && !(soap->omode & SOAP_IO_UDP))
+    soap->fshutdownsocket(soap, soap->socket, SOAP_SHUT_WR); /* Send TCP FIN */
+#else
+  if (soap_valid_socket(soap->socket) && !soap->keep_alive && !(soap->omode & SOAP_IO_UDP))
+    soap->fshutdownsocket(soap, soap->socket, SOAP_SHUT_WR); /* Send TCP FIN */
+#endif
+#endif
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "End of send phase\n"));
+  soap->omode &= ~SOAP_SEC_WSUID;
+  soap->count = 0;
+  soap->part = SOAP_END;
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_end_recv(struct soap *soap)
+{ soap->part = SOAP_END;
+#ifndef WITH_LEAN
+  soap->wsuid = NULL;		/* reset before next send */
+  soap->c14nexclude = NULL;	/* reset before next send */
+#endif
+#ifndef WITH_LEANER
+  soap->ffilterrecv = NULL;
+  if ((soap->mode & SOAP_ENC_DIME) && soap_getdime(soap))
+  { soap->dime.first = NULL;
+    soap->dime.last = NULL;
+    return soap->error;
+  }
+  soap->dime.list = soap->dime.first;
+  soap->dime.first = NULL;
+  soap->dime.last = NULL;
+  /* Check if MIME attachments and mime-post-check flag is set, if so call soap_resolve() and return */
+  if (soap->mode & SOAP_ENC_MIME)
+  { if (soap->mode & SOAP_MIME_POSTCHECK)
+    { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Post checking MIME attachments\n"));
+      if (!soap->keep_alive)
+        soap->keep_alive = -1;
+#ifndef WITH_NOIDREF
+      soap_resolve(soap);
+#endif
+      return SOAP_OK;
+    }
+    if (soap_getmime(soap))
+      return soap->error;
+  }
+  soap->mime.list = soap->mime.first;
+  soap->mime.first = NULL;
+  soap->mime.last = NULL;
+  soap->mime.boundary = NULL;
+  if (soap->xlist)
+  { struct soap_multipart *content;
+    for (content = soap->mime.list; content; content = content->next)
+      soap_resolve_attachment(soap, content);
+  }
+#endif
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "End of receive message ok\n"));
+#ifdef WITH_ZLIB
+  if (soap->mode & SOAP_ENC_ZLIB)
+  { /* Make sure end of compressed content is reached */
+    while (soap->d_stream->next_out != Z_NULL)
+      if ((int)soap_get1(soap) == EOF)
+        break;
+    soap->mode &= ~SOAP_ENC_ZLIB;
+    memcpy(soap->buf, soap->z_buf, SOAP_BUFLEN);
+    soap->bufidx = (char*)soap->d_stream->next_in - soap->z_buf;
+    soap->buflen = soap->z_buflen;
+    soap->zlib_state = SOAP_ZLIB_NONE;
+    if (inflateEnd(soap->d_stream) != Z_OK)
+      return soap->error = SOAP_ZLIB_ERROR;
+    DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Inflate end ok\n"));
+#ifdef WITH_GZIP
+    if (soap->zlib_in == SOAP_ZLIB_GZIP)
+    { soap_wchar c;
+      short i;
+      DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Inflate gzip crc check\n"));
+      for (i = 0; i < 8; i++)
+      { if ((int)(c = soap_get1(soap)) == EOF)
+        { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Gzip error: unable to read crc value\n"));
+          return soap->error = SOAP_ZLIB_ERROR;
+        }
+        soap->z_buf[i] = (char)c;
+      }
+      if (soap->z_crc != ((uLong)(unsigned char)soap->z_buf[0] | ((uLong)(unsigned char)soap->z_buf[1] << 8) | ((uLong)(unsigned char)soap->z_buf[2] << 16) | ((uLong)(unsigned char)soap->z_buf[3] << 24)))
+      { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Gzip inflate error: crc check failed, message corrupted? (crc32=%lu)\n", (unsigned long)soap->z_crc));
+        return soap->error = SOAP_ZLIB_ERROR;
+      }
+      if (soap->d_stream->total_out != ((uLong)(unsigned char)soap->z_buf[4] | ((uLong)(unsigned char)soap->z_buf[5] << 8) | ((uLong)(unsigned char)soap->z_buf[6] << 16) | ((uLong)(unsigned char)soap->z_buf[7] << 24)))
+      { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Gzip inflate error: incorrect message length\n"));
+        return soap->error = SOAP_ZLIB_ERROR;
+      }
+    }
+    soap->zlib_in = SOAP_ZLIB_NONE;
+#endif
+  }
+#endif
+  if ((soap->mode & SOAP_IO) == SOAP_IO_CHUNK)
+    while (soap->ahead != EOF && !soap_recv_raw(soap))
+      ;
+#ifndef WITH_NOIDREF
+  if (soap_resolve(soap))
+    return soap->error;
+#endif
+#ifndef WITH_LEANER
+  if (soap->xlist)
+  { if (soap->mode & SOAP_ENC_MTOM)
+      return soap->error = SOAP_MIME_HREF;
+    return soap->error = SOAP_DIME_HREF;
+  }
+#endif
+  soap_free_ns(soap);
+#ifndef WITH_LEANER
+  if (soap->fpreparefinalrecv)
+    return soap->error = soap->fpreparefinalrecv(soap);
+#endif
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_free_temp(struct soap *soap)
+{ register struct soap_attribute *tp, *tq;
+  register struct Namespace *ns;
+  soap_free_ns(soap);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Free any remaining temp blocks\n"));
+  while (soap->blist)
+    soap_end_block(soap, NULL);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Free attribute storage\n"));
+  for (tp = soap->attributes; tp; tp = tq)
+  { tq = tp->next;
+    if (tp->value)
+      SOAP_FREE(soap, tp->value);
+    SOAP_FREE(soap, tp);
+  }
+  soap->attributes = NULL;
+#ifdef WITH_FAST
+  if (soap->labbuf)
+    SOAP_FREE(soap, soap->labbuf);
+  soap->labbuf = NULL;
+  soap->lablen = 0;
+  soap->labidx = 0;
+#endif
+  ns = soap->local_namespaces;
+  if (ns)
+  { for (; ns->id; ns++)
+    { if (ns->out)
+      { SOAP_FREE(soap, ns->out);
+        ns->out = NULL;
+      }
+    }
+    SOAP_FREE(soap, soap->local_namespaces);
+    soap->local_namespaces = NULL;
+  }
+#ifndef WITH_LEANER
+  while (soap->xlist)
+  { struct soap_xlist *xp = soap->xlist->next;
+    SOAP_FREE(soap, soap->xlist);
+    soap->xlist = xp;
+  }
+#endif
+#ifndef WITH_NOIDREF
+  soap_free_pht(soap);
+  soap_free_iht(soap);
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+static void
+soap_free_ns(struct soap *soap)
+{ register struct soap_nlist *np, *nq;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Free namespace stack\n"));
+  for (np = soap->nlist; np; np = nq)
+  { nq = np->next;
+    SOAP_FREE(soap, np);
+  }
+  soap->nlist = NULL;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+#if !defined(WITH_LEAN) || defined(SOAP_DEBUG)
+static void
+soap_init_logs(struct soap *soap)
+{ int i;
+  for (i = 0; i < SOAP_MAXLOGS; i++)
+  { soap->logfile[i] = NULL;
+    soap->fdebug[i] = NULL;
+  }
+}
+#endif
+#endif
+
+/******************************************************************************/
+#if !defined(WITH_LEAN) || defined(SOAP_DEBUG)
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_open_logfile(struct soap *soap, int i)
+{ if (soap->logfile[i])
+    soap->fdebug[i] = fopen(soap->logfile[i], i < 2 ? "ab" : "a");
+}
+#endif
+
+/******************************************************************************/
+#ifdef SOAP_DEBUG
+static void
+soap_close_logfile(struct soap *soap, int i)
+{ if (soap->fdebug[i])
+  { fclose(soap->fdebug[i]);
+    soap->fdebug[i] = NULL;
+  }
+}
+#endif
+
+/******************************************************************************/
+#ifdef SOAP_DEBUG
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_close_logfiles(struct soap *soap)
+{ int i;
+  for (i = 0; i < SOAP_MAXLOGS; i++)
+    soap_close_logfile(soap, i);
+}
+#endif
+
+/******************************************************************************/
+#ifdef SOAP_DEBUG
+static void
+soap_set_logfile(struct soap *soap, int i, const char *logfile)
+{ const char *s;
+  char *t = NULL;
+  soap_close_logfile(soap, i);
+  s = soap->logfile[i];
+  soap->logfile[i] = logfile;
+  if (s)
+    SOAP_FREE(soap, (void*)s);
+  if (logfile)
+    if ((t = (char*)SOAP_MALLOC(soap, strlen(logfile) + 1)))
+      strcpy(t, logfile);
+  soap->logfile[i] = t;
+}
+#endif
+
+/******************************************************************************/
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_set_recv_logfile(struct soap *soap, const char *logfile)
+{
+#ifdef SOAP_DEBUG
+  soap_set_logfile(soap, SOAP_INDEX_RECV, logfile);
+#endif
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_set_sent_logfile(struct soap *soap, const char *logfile)
+{
+#ifdef SOAP_DEBUG
+  soap_set_logfile(soap, SOAP_INDEX_SENT, logfile);
+#endif
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_set_test_logfile(struct soap *soap, const char *logfile)
+{
+#ifdef SOAP_DEBUG
+  soap_set_logfile(soap, SOAP_INDEX_TEST, logfile);
+#endif
+}
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+struct soap*
+SOAP_FMAC2
+soap_copy(const struct soap *soap)
+{ return soap_copy_context((struct soap*)malloc(sizeof(struct soap)), soap);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+struct soap*
+SOAP_FMAC2
+soap_copy_context(struct soap *copy, const struct soap *soap)
+{ if (copy == soap)
+    return copy;
+  if (soap_check_state(soap))
+    return NULL;
+  if (copy)
+  { register struct soap_plugin *p = NULL;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying context\n"));
+#ifdef __cplusplus
+    *copy = *soap;
+#else
+    memcpy(copy, soap, sizeof(struct soap));
+#endif
+    copy->state = SOAP_COPY;
+    copy->error = SOAP_OK;
+    copy->userid = NULL;
+    copy->passwd = NULL;
+#ifdef WITH_NTLM
+    copy->ntlm_challenge = NULL;
+#endif
+    copy->nlist = NULL;
+    copy->blist = NULL;
+    copy->clist = NULL;
+    copy->alist = NULL;
+    copy->attributes = NULL;
+    copy->labbuf = NULL;
+    copy->lablen = 0;
+    copy->labidx = 0;
+#ifdef SOAP_MEM_DEBUG
+    soap_init_mht(copy);
+#endif
+#if !defined(WITH_LEAN) || defined(SOAP_DEBUG)
+    soap_init_logs(copy);
+#endif
+#ifdef SOAP_DEBUG
+    soap_set_test_logfile(copy, soap->logfile[SOAP_INDEX_TEST]);
+    soap_set_sent_logfile(copy, soap->logfile[SOAP_INDEX_SENT]);
+    soap_set_recv_logfile(copy, soap->logfile[SOAP_INDEX_RECV]);
+#endif
+    copy->namespaces = soap->local_namespaces;
+    copy->local_namespaces = NULL;
+    soap_set_local_namespaces(copy); /* copy content of soap->local_namespaces */
+    copy->namespaces = soap->namespaces; /* point to shared read-only namespaces table */
+#ifdef WITH_C_LOCALE
+# ifdef WIN32
+    copy->c_locale = _create_locale(LC_ALL, "C");
+# else
+    copy->c_locale = duplocale(soap->c_locale);
+# endif
+#else
+    copy->c_locale = NULL;
+#endif
+#ifdef WITH_OPENSSL
+    copy->bio = NULL;
+    copy->ssl = NULL;
+    copy->session = NULL;
+#endif
+#ifdef WITH_GNUTLS
+    copy->session = NULL;
+#endif
+#ifdef WITH_ZLIB
+    copy->d_stream = (z_stream*)SOAP_MALLOC(copy, sizeof(z_stream));
+    copy->d_stream->zalloc = Z_NULL;
+    copy->d_stream->zfree = Z_NULL;
+    copy->d_stream->opaque = Z_NULL;
+    copy->z_buf = NULL;
+#endif
+#ifndef WITH_NOIDREF
+    soap_init_iht(copy);
+    soap_init_pht(copy);
+#endif
+    copy->header = NULL;
+    copy->fault = NULL;
+    copy->action = NULL;
+#ifndef WITH_LEAN
+#ifdef WITH_COOKIES
+    copy->cookies = soap_copy_cookies(copy, soap);
+#else
+    copy->cookies = NULL;
+#endif
+#endif
+    copy->plugins = NULL;
+    for (p = soap->plugins; p; p = p->next)
+    { register struct soap_plugin *q = (struct soap_plugin*)SOAP_MALLOC(copy, sizeof(struct soap_plugin));
+      if (!q)
+        return NULL;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying plugin '%s'\n", p->id));
+      *q = *p;
+      if (p->fcopy && p->fcopy(copy, q, p))
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not copy plugin '%s'\n", p->id));
+        SOAP_FREE(copy, q);
+        return NULL;
+      }
+      q->next = copy->plugins;
+      copy->plugins = q;
+    }
+  }
+  return copy;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_copy_stream(struct soap *copy, struct soap *soap)
+{ struct soap_attribute *tp = NULL, *tq;
+  if (copy == soap)
+    return;
+  copy->header = soap->header;
+  copy->mode = soap->mode;
+  copy->imode = soap->imode;
+  copy->omode = soap->omode;
+  copy->master = soap->master;
+  copy->socket = soap->socket;
+  copy->sendsk = soap->sendsk;
+  copy->recvsk = soap->recvsk;
+  copy->recv_timeout = soap->recv_timeout;
+  copy->send_timeout = soap->send_timeout;
+#if defined(__cplusplus) && !defined(WITH_LEAN)
+  copy->os = soap->os;
+  copy->is = soap->is;
+#endif
+  copy->sendfd = soap->sendfd;
+  copy->recvfd = soap->recvfd;
+  copy->bufidx = soap->bufidx;
+  copy->buflen = soap->buflen;
+  copy->ahead = soap->ahead;
+  copy->cdata = soap->cdata;
+  copy->chunksize = soap->chunksize;
+  copy->chunkbuflen = soap->chunkbuflen;
+  copy->keep_alive = soap->keep_alive;
+  copy->tcp_keep_alive = soap->tcp_keep_alive;
+  copy->tcp_keep_idle = soap->tcp_keep_idle;
+  copy->tcp_keep_intvl = soap->tcp_keep_intvl;
+  copy->tcp_keep_cnt = soap->tcp_keep_cnt;
+  copy->max_keep_alive = soap->max_keep_alive;
+#ifndef WITH_NOIO
+  copy->peer = soap->peer;
+  copy->peerlen = soap->peerlen;
+  copy->ip = soap->ip;
+  copy->port = soap->port;
+  memcpy(copy->host, soap->host, sizeof(soap->host));
+  memcpy(copy->endpoint, soap->endpoint, sizeof(soap->endpoint));
+#endif
+#ifdef WITH_OPENSSL
+  copy->bio = soap->bio;
+  copy->ctx = soap->ctx;
+  copy->ssl = soap->ssl;
+#endif
+#ifdef WITH_GNUTLS
+  copy->session = soap->session;
+#endif
+#ifdef WITH_ZLIB
+  copy->zlib_state = soap->zlib_state;
+  copy->zlib_in = soap->zlib_in;
+  copy->zlib_out = soap->zlib_out;
+  if (!copy->d_stream)
+    copy->d_stream = (z_stream*)SOAP_MALLOC(copy, sizeof(z_stream));
+  if (copy->d_stream)
+    memcpy(copy->d_stream, soap->d_stream, sizeof(z_stream));
+  copy->z_crc = soap->z_crc;
+  copy->z_ratio_in = soap->z_ratio_in;
+  copy->z_ratio_out = soap->z_ratio_out;
+  copy->z_buf = NULL;
+  copy->z_buflen = soap->z_buflen;
+  copy->z_level = soap->z_level;
+  if (soap->z_buf && soap->zlib_state != SOAP_ZLIB_NONE)
+  { copy->z_buf = (char*)SOAP_MALLOC(copy, SOAP_BUFLEN);
+    if (copy->z_buf)
+      memcpy(copy->z_buf, soap->z_buf, SOAP_BUFLEN);
+  }
+  copy->z_dict = soap->z_dict;
+  copy->z_dict_len = soap->z_dict_len;
+#endif
+  memcpy(copy->buf, soap->buf, sizeof(soap->buf));
+  /* copy XML parser state */
+  soap_free_ns(copy);
+  soap_set_local_namespaces(copy);
+  copy->version = soap->version;
+  if (soap->nlist && soap->local_namespaces)
+  { register struct soap_nlist *np = NULL, *nq;
+    /* copy reversed nlist */
+    for (nq = soap->nlist; nq; nq = nq->next)
+    { register struct soap_nlist *nr = np;
+      size_t n = sizeof(struct soap_nlist) + strlen(nq->id);
+      np = (struct soap_nlist*)SOAP_MALLOC(copy, n);
+      if (!np)
+        break;
+      memcpy(np, nq, n);
+      np->next = nr;
+    }
+    while (np)
+    { register const char *s = np->ns;
+      copy->level = np->level; /* preserve element nesting level */
+      if (!s && np->index >= 0)
+      { s = soap->local_namespaces[np->index].out;
+        if (!s)
+          s = soap->local_namespaces[np->index].ns;
+      }
+      if (s && soap_push_namespace(copy, np->id, s) == NULL)
+        break;
+      nq = np;
+      np = np->next;
+      SOAP_FREE(copy, nq);
+    }
+  }
+  memcpy(copy->tag, soap->tag, sizeof(copy->tag));
+  memcpy(copy->id, soap->id, sizeof(copy->id));
+  memcpy(copy->href, soap->href, sizeof(copy->href));
+  memcpy(copy->type, soap->type, sizeof(copy->type));
+  copy->other = soap->other;
+  copy->root = soap->root;
+  copy->null = soap->null;
+  copy->body = soap->body;
+  copy->part = soap->part;
+  copy->mustUnderstand = soap->mustUnderstand;
+  copy->level = soap->level;
+  copy->peeked = soap->peeked;
+  /* copy attributes */
+  for (tq = soap->attributes; tq; tq = tq->next)
+  { struct soap_attribute *tr = tp;
+    size_t n = sizeof(struct soap_attribute) + strlen(tq->name);
+    tp = (struct soap_attribute*)SOAP_MALLOC(copy, n);
+    memcpy(tp, tq, n);
+    if (tp->size)
+    { tp->value = (char*)SOAP_MALLOC(copy, tp->size);
+      if (tp->value)
+        strcpy(tp->value, tq->value);
+    }
+    tp->ns = NULL;
+    tp->next = tr;
+  }
+  copy->attributes = tp;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_free_stream(struct soap *soap)
+{ soap->socket = SOAP_INVALID_SOCKET;
+  soap->sendsk = SOAP_INVALID_SOCKET;
+  soap->recvsk = SOAP_INVALID_SOCKET;
+#ifdef WITH_OPENSSL
+  soap->bio = NULL;
+  soap->ctx = NULL;
+  soap->ssl = NULL;
+#endif
+#ifdef WITH_GNUTLS
+  soap->xcred = NULL;
+  soap->acred = NULL;
+  soap->cache = NULL;
+  soap->session = NULL;
+  soap->dh_params = NULL;
+  soap->rsa_params = NULL;
+#endif
+#ifdef WITH_ZLIB
+  if (soap->z_buf)
+    SOAP_FREE(soap, soap->z_buf);
+  soap->z_buf = NULL;
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_initialize(struct soap *soap)
+{ soap_versioning(soap_init)(soap, SOAP_IO_DEFAULT, SOAP_IO_DEFAULT);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_versioning(soap_init)(struct soap *soap, soap_mode imode, soap_mode omode)
+{ size_t i;
+  soap->state = SOAP_INIT;
+#ifdef SOAP_MEM_DEBUG
+  soap_init_mht(soap);
+#endif
+#if !defined(WITH_LEAN) || defined(SOAP_DEBUG)
+  soap_init_logs(soap);
+#endif
+#ifdef SOAP_DEBUG
+#ifdef TANDEM_NONSTOP
+  soap_set_test_logfile(soap, "TESTLOG");
+  soap_set_sent_logfile(soap, "SENTLOG");
+  soap_set_recv_logfile(soap, "RECVLOG");
+#else
+  soap_set_test_logfile(soap, "TEST.log");
+  soap_set_sent_logfile(soap, "SENT.log");
+  soap_set_recv_logfile(soap, "RECV.log");
+#endif
+#endif
+  soap->version = 0;
+  soap_mode(soap, imode);
+  soap_imode(soap, imode);
+  soap_omode(soap, omode);
+  soap->plugins = NULL;
+  soap->user = NULL;
+  for (i = 0; i < sizeof(soap->data)/sizeof(*soap->data); i++)
+    soap->data[i] = NULL;
+  soap->userid = NULL;
+  soap->passwd = NULL;
+  soap->authrealm = NULL;
+#ifdef WITH_NTLM
+  soap->ntlm_challenge = NULL;
+#endif
+#ifndef WITH_NOHTTP
+  soap->fpost = http_post;
+  soap->fget = http_get;
+  soap->fput = http_405;
+  soap->fdel = http_405;
+  soap->fopt = http_200;
+  soap->fhead = http_200;
+  soap->fform = NULL;
+  soap->fposthdr = http_post_header;
+  soap->fresponse = http_response;
+  soap->fparse = http_parse;
+  soap->fparsehdr = http_parse_header;
+#endif
+  soap->fheader = NULL;
+  soap->fconnect = NULL;
+  soap->fdisconnect = NULL;
+#ifndef WITH_NOIO
+  soap->ipv6_multicast_if = 0; /* in_addr_t value */
+  soap->ipv4_multicast_if = NULL; /* points to struct in_addr or in_addr_t */
+  soap->ipv4_multicast_ttl = 0; /* 0: use default */
+#ifndef WITH_IPV6
+  soap->fresolve = tcp_gethost;
+#else
+  soap->fresolve = NULL;
+#endif
+  soap->faccept = tcp_accept;
+  soap->fopen = tcp_connect;
+  soap->fclose = tcp_disconnect;
+  soap->fclosesocket = tcp_closesocket;
+  soap->fshutdownsocket = tcp_shutdownsocket;
+  soap->fsend = fsend;
+  soap->frecv = frecv;
+  soap->fpoll = soap_poll;
+#else
+  soap->fopen = NULL;
+  soap->fclose = NULL;
+  soap->fpoll = NULL;
+#endif
+  soap->fseterror = NULL;
+  soap->fignore = NULL;
+  soap->fserveloop = NULL;
+  soap->fplugin = fplugin;
+  soap->fmalloc = NULL;
+#ifndef WITH_LEANER
+  soap->feltbegin = NULL;
+  soap->feltendin = NULL;
+  soap->feltbegout = NULL;
+  soap->feltendout = NULL;
+  soap->fprepareinitsend = NULL;
+  soap->fprepareinitrecv = NULL;
+  soap->fpreparesend = NULL;
+  soap->fpreparerecv = NULL;
+  soap->fpreparefinalsend = NULL;
+  soap->fpreparefinalrecv = NULL;
+  soap->ffiltersend = NULL;
+  soap->ffilterrecv = NULL;
+  soap->fdimereadopen = NULL;
+  soap->fdimewriteopen = NULL;
+  soap->fdimereadclose = NULL;
+  soap->fdimewriteclose = NULL;
+  soap->fdimeread = NULL;
+  soap->fdimewrite = NULL;
+  soap->fmimereadopen = NULL;
+  soap->fmimewriteopen = NULL;
+  soap->fmimereadclose = NULL;
+  soap->fmimewriteclose = NULL;
+  soap->fmimeread = NULL;
+  soap->fmimewrite = NULL;
+#endif
+  soap->float_format = "%.9G"; /* Alternative: use "%G" */
+  soap->double_format = "%.17lG"; /* Alternative: use "%lG" */
+  soap->dime_id_format = "cid:id%d"; /* default DIME id format */
+  soap->http_version = "1.1";
+  soap->proxy_http_version = "1.0";
+  soap->http_content = NULL;
+  soap->actor = NULL;
+  soap->lang = "en";
+  soap->keep_alive = 0;
+  soap->tcp_keep_alive = 0;
+  soap->tcp_keep_idle = 0;
+  soap->tcp_keep_intvl = 0;
+  soap->tcp_keep_cnt = 0;
+  soap->max_keep_alive = SOAP_MAXKEEPALIVE;
+  soap->recv_timeout = 0;
+  soap->send_timeout = 0;
+  soap->connect_timeout = 0;
+  soap->accept_timeout = 0;
+  soap->socket_flags = 0;
+  soap->connect_flags = 0;
+  soap->bind_flags = 0;
+  soap->accept_flags = 0;
+  soap->linger_time = 0;
+  soap->ip = 0;
+  soap->labbuf = NULL;
+  soap->lablen = 0;
+  soap->labidx = 0;
+  soap->encodingStyle = NULL;
+#ifndef WITH_NONAMESPACES
+  soap->namespaces = namespaces;
+#else
+  soap->namespaces = NULL;
+#endif
+  soap->local_namespaces = NULL;
+  soap->nlist = NULL;
+  soap->blist = NULL;
+  soap->clist = NULL;
+  soap->alist = NULL;
+  soap->attributes = NULL;
+  soap->header = NULL;
+  soap->fault = NULL;
+  soap->master = SOAP_INVALID_SOCKET;
+  soap->socket = SOAP_INVALID_SOCKET;
+  soap->sendsk = SOAP_INVALID_SOCKET;
+  soap->recvsk = SOAP_INVALID_SOCKET;
+  soap->os = NULL;
+  soap->is = NULL;
+#ifndef WITH_LEANER
+  soap->dom = NULL;
+  soap->dime.list = NULL;
+  soap->dime.first = NULL;
+  soap->dime.last = NULL;
+  soap->mime.list = NULL;
+  soap->mime.first = NULL;
+  soap->mime.last = NULL;
+  soap->mime.boundary = NULL;
+  soap->mime.start = NULL;
+  soap->xlist = NULL;
+#endif
+#ifndef UNDER_CE
+  soap->recvfd = 0;
+  soap->sendfd = 1;
+#else
+  soap->recvfd = stdin;
+  soap->sendfd = stdout;
+#endif
+  soap->host[0] = '\0';
+  soap->port = 0;
+  soap->action = NULL;
+  soap->proxy_host = NULL;
+  soap->proxy_port = 8080;
+  soap->proxy_userid = NULL;
+  soap->proxy_passwd = NULL;
+  soap->prolog = NULL;
+#ifdef WITH_ZLIB
+  soap->zlib_state = SOAP_ZLIB_NONE;
+  soap->zlib_in = SOAP_ZLIB_NONE;
+  soap->zlib_out = SOAP_ZLIB_NONE;
+  soap->d_stream = (z_stream*)SOAP_MALLOC(soap, sizeof(z_stream));
+  soap->d_stream->zalloc = Z_NULL;
+  soap->d_stream->zfree = Z_NULL;
+  soap->d_stream->opaque = Z_NULL;
+  soap->z_buf = NULL;
+  soap->z_level = 6;
+  soap->z_dict = NULL;
+  soap->z_dict_len = 0;
+#endif
+#ifndef WITH_LEAN
+  soap->wsuid = NULL;
+  soap->c14nexclude = NULL;
+  soap->cookies = NULL;
+  soap->cookie_domain = NULL;
+  soap->cookie_path = NULL;
+  soap->cookie_max = 32;
+#endif
+#ifdef WMW_RPM_IO
+  soap->rpmreqid = NULL;
+#endif
+#ifdef PALM
+  palmNetLibOpen();
+#endif
+#ifndef WITH_NOIDREF
+  soap_init_iht(soap);
+  soap_init_pht(soap);
+#endif
+#ifdef WITH_OPENSSL
+  if (!soap_ssl_init_done)
+    soap_ssl_init();
+  soap->fsslauth = ssl_auth_init;
+  soap->fsslverify = ssl_verify_callback;
+  soap->bio = NULL;
+  soap->ssl = NULL;
+  soap->ctx = NULL;
+  soap->session = NULL;
+  soap->ssl_flags = SOAP_SSL_DEFAULT;
+  soap->keyfile = NULL;
+  soap->keyid = NULL;
+  soap->password = NULL;
+  soap->cafile = NULL;
+  soap->capath = NULL;
+  soap->crlfile = NULL;
+  soap->dhfile = NULL;
+  soap->randfile = NULL;
+#endif
+#ifdef WITH_GNUTLS
+  if (!soap_ssl_init_done)
+    soap_ssl_init();
+  soap->fsslauth = ssl_auth_init;
+  soap->fsslverify = NULL;
+  soap->xcred = NULL;
+  soap->acred = NULL;
+  soap->cache = NULL;
+  soap->session = NULL;
+  soap->ssl_flags = SOAP_SSL_DEFAULT;
+  soap->keyfile = NULL;
+  soap->keyid = NULL;
+  soap->password = NULL;
+  soap->cafile = NULL;
+  soap->capath = NULL;
+  soap->crlfile = NULL;
+  soap->dh_params = NULL;
+  soap->rsa_params = NULL;
+#endif
+#ifdef WITH_C_LOCALE
+# ifdef WIN32
+  soap->c_locale = _create_locale(LC_ALL, "C");
+# else
+  soap->c_locale = newlocale(LC_ALL_MASK, "C", NULL);
+# endif
+#else
+  soap->c_locale = NULL;
+#endif
+  soap->buflen = 0;
+  soap->bufidx = 0;
+#ifndef WITH_LEANER
+  soap->dime.chunksize = 0;
+  soap->dime.buflen = 0;
+#endif
+  soap->null = 0;
+  soap->position = 0;
+  soap->encoding = 0;
+  soap->mustUnderstand = 0;
+  soap->ns = 0;
+  soap->part = SOAP_END;
+  soap->event = 0;
+  soap->evlev = 0;
+  soap->alloced = 0;
+  soap->count = 0;
+  soap->length = 0;
+  soap->cdata = 0;
+  soap->peeked = 0;
+  soap->ahead = 0;
+  soap->idnum = 0;
+  soap->level = 0;
+  soap->endpoint[0] = '\0';
+  soap->error = SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_begin(struct soap *soap)
+{ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Reinitializing context\n"));
+  if (!soap->keep_alive)
+  { soap->buflen = 0;
+    soap->bufidx = 0;
+  }
+  soap->null = 0;
+  soap->position = 0;
+  soap->encoding = 0;
+  soap->mustUnderstand = 0;
+  soap->mode = 0;
+  soap->ns = 0;
+  soap->part = SOAP_END;
+  soap->event = 0;
+  soap->evlev = 0;
+  soap->alloced = 0;
+  soap->count = 0;
+  soap->length = 0;
+  soap->cdata = 0;
+  soap->error = SOAP_OK;
+  soap->peeked = 0;
+  soap->ahead = 0;
+  soap->idnum = 0;
+  soap->level = 0;
+  soap->endpoint[0] = '\0';
+  soap->encodingStyle = SOAP_STR_EOS;
+#ifndef WITH_LEANER
+  soap->dime.chunksize = 0;
+  soap->dime.buflen = 0;
+#endif
+  soap_free_temp(soap);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_end(struct soap *soap)
+{ if (soap_check_state(soap))
+    return;
+  soap_free_temp(soap);
+  soap_dealloc(soap, NULL);
+  while (soap->clist)
+  { register struct soap_clist *cp = soap->clist->next;
+    SOAP_FREE(soap, soap->clist);
+    soap->clist = cp;
+  }
+  soap_closesock(soap);
+#ifdef SOAP_DEBUG
+  soap_close_logfiles(soap);
+#endif
+#ifdef PALM
+  palmNetLibClose();
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_set_version(struct soap *soap, short version)
+{ soap_set_local_namespaces(soap);
+  if (soap->version != version)
+  { if (version == 1)
+    { soap->local_namespaces[0].ns = soap_env1;
+      soap->local_namespaces[1].ns = soap_enc1;
+    }
+    else if (version == 2)
+    { soap->local_namespaces[0].ns = soap_env2;
+      soap->local_namespaces[1].ns = soap_enc2;
+    }
+    soap->version = version;
+  }
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_set_namespaces(struct soap *soap, const struct Namespace *p)
+{ register struct Namespace *ns = soap->local_namespaces;
+  register struct soap_nlist *np, *nq, *nr;
+  register unsigned int level = soap->level;
+  soap->namespaces = p;
+  soap->local_namespaces = NULL;
+  soap_set_local_namespaces(soap);
+  /* reverse the namespace list */
+  np = soap->nlist;
+  soap->nlist = NULL;
+  if (np)
+  { nq = np->next;
+    np->next = NULL;
+    while (nq)
+    { nr = nq->next;
+      nq->next = np;
+      np = nq;
+      nq = nr;
+    }
+  }
+  /* then push on new stack */
+  while (np)
+  { register const char *s;
+    soap->level = np->level; /* preserve element nesting level */
+    s = np->ns;
+    if (!s && np->index >= 0 && ns)
+    { s = ns[np->index].out;
+      if (!s)
+        s = ns[np->index].ns;
+    }
+    if (s && soap_push_namespace(soap, np->id, s) == NULL)
+      return soap->error;
+    nq = np;
+    np = np->next;
+    SOAP_FREE(soap, nq);
+  }
+  if (ns)
+  { register int i;
+    for (i = 0; ns[i].id; i++)
+    { if (ns[i].out)
+      { SOAP_FREE(soap, ns[i].out);
+        ns[i].out = NULL;
+      }
+    }
+    SOAP_FREE(soap, ns);
+  }
+  soap->level = level; /* restore level */
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_set_local_namespaces(struct soap *soap)
+{ if (soap->namespaces && !soap->local_namespaces)
+  { register const struct Namespace *ns1;
+    register struct Namespace *ns2;
+    register size_t n = 1;
+    for (ns1 = soap->namespaces; ns1->id; ns1++)
+      n++;
+    n *= sizeof(struct Namespace);
+    ns2 = (struct Namespace*)SOAP_MALLOC(soap, n);
+    if (ns2)
+    { memcpy(ns2, soap->namespaces, n);
+      if (ns2[0].ns)
+      { if (!strcmp(ns2[0].ns, soap_env1))
+          soap->version = 1;
+        else if (!strcmp(ns2[0].ns, soap_env2))
+          soap->version = 2;
+      }
+      soap->local_namespaces = ns2;
+      for (; ns2->id; ns2++)
+        ns2->out = NULL;
+    }
+  }
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+#ifndef PALM_1
+SOAP_FMAC1
+const char *
+SOAP_FMAC2
+soap_tagsearch(const char *big, const char *little)
+{ if (little)
+  { register size_t n = strlen(little);
+    register const char *s = big;
+    while (s)
+    { register const char *t = s;
+      register size_t i;
+      for (i = 0; i < n; i++, t++)
+      { if (*t != little[i])
+          break;
+      }
+      if (*t == '\0' || *t == ' ')
+      { if (i == n || (i && little[i-1] == ':'))
+          return s;
+      }
+      s = strchr(t, ' ');
+      if (s)
+        s++;
+    }
+  }
+  return NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+#ifndef PALM_1
+SOAP_FMAC1
+struct soap_nlist *
+SOAP_FMAC2
+soap_lookup_ns(struct soap *soap, const char *tag, size_t n)
+{ register struct soap_nlist *np;
+  for (np = soap->nlist; np; np = np->next)
+  { if (!strncmp(np->id, tag, n) && !np->id[n])
+      return np;
+  }
+  return NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+static struct soap_nlist *
+soap_push_ns(struct soap *soap, const char *id, const char *ns, short utilized)
+{ register struct soap_nlist *np;
+  size_t n, k;
+  if (soap_tagsearch(soap->c14nexclude, id))
+    return NULL;
+  if (!utilized)
+  { for (np = soap->nlist; np; np = np->next)
+    { if (!strcmp(np->id, id) && (!np->ns || !strcmp(np->ns, ns)))
+        break;
+    }
+    if (np)
+    { if ((np->level < soap->level || !np->ns) && np->index == 1)
+        utilized = 1;
+      else
+        return NULL;
+    }
+  }
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Adding namespace binding (level=%u) '%s' '%s' utilized=%d\n", soap->level, id, ns ? ns : "(null)", utilized));
+  n = strlen(id);
+  if (ns)
+    k = strlen(ns);
+  else
+    k = 0;
+  np = (struct soap_nlist*)SOAP_MALLOC(soap, sizeof(struct soap_nlist) + n + k + 1);
+  if (!np)
+  { soap->error = SOAP_EOM;
+    return NULL;
+  }
+  np->next = soap->nlist;
+  soap->nlist = np;
+  strcpy((char*)np->id, id);
+  if (ns)
+    np->ns = strcpy((char*)np->id + n + 1, ns);
+  else
+    np->ns = NULL;
+  np->level = soap->level;
+  np->index = utilized;
+  return np;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+static void
+soap_utilize_ns(struct soap *soap, const char *tag)
+{ register struct soap_nlist *np;
+  size_t n = 0;
+  const char *t = strchr(tag, ':');
+  if (t)
+  { n = t - tag;
+    if (n >= sizeof(soap->tmpbuf))
+      n = sizeof(soap->tmpbuf) - 1;
+  }
+  np = soap_lookup_ns(soap, tag, n);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Utilizing namespace of '%s'\n", tag));
+  if (np)
+  { if (np->index <= 0)
+      soap_push_ns(soap, np->id, np->ns, 1);
+  }
+  else if (strncmp(tag, "xml", 3))
+  { strncpy(soap->tmpbuf, tag, n);
+    soap->tmpbuf[n] = '\0';
+    soap_push_ns(soap, soap->tmpbuf, NULL, 1);
+  }
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element(struct soap *soap, const char *tag, int id, const char *type)
+{
+#ifndef WITH_LEAN
+  register const char *s;
+#endif
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Element begin tag='%s' level='%u' id='%d' type='%s'\n", tag, soap->level, id, type ? type : SOAP_STR_EOS));
+  soap->level++;
+#ifdef WITH_DOM
+#ifndef WITH_LEAN
+  if (soap->wsuid && soap_tagsearch(soap->wsuid, tag))
+  { size_t i;
+    for (s = tag, i = 0; *s && i < sizeof(soap->tag) - 1; s++, i++)
+      soap->tag[i] = *s == ':' ? '-' : *s;
+    soap->tag[i] = '\0';
+    if (soap_set_attr(soap, "wsu:Id", soap->tag, 1))
+      return soap->error;
+  }
+  if ((soap->mode & SOAP_XML_CANONICAL) && !(soap->mode & SOAP_DOM_ASIS))
+  { if (soap->evlev >= soap->level)
+      soap->evlev = 0;
+    if (soap->event == SOAP_SEC_BEGIN && !soap->evlev)
+    { register struct soap_nlist *np;
+      /* non-nested wsu:Id found: clear xmlns, re-emit them for exc-c14n */
+      for (np = soap->nlist; np; np = np->next)
+      { if (np->index == 2)
+        { struct soap_nlist *np1 = soap_push_ns(soap, np->id, np->ns, 1);
+          if (np1)
+            np1->index = 0;
+        }
+      }
+      soap->evlev = soap->level;
+    }
+  }
+#endif
+  if (soap->mode & SOAP_XML_DOM)
+  { register struct soap_dom_element *elt = (struct soap_dom_element*)soap_malloc(soap, sizeof(struct soap_dom_element));
+    if (!elt)
+      return soap->error;
+    elt->soap = soap;
+    elt->next = NULL;
+    elt->prnt = soap->dom;
+    elt->name = soap_strdup(soap, tag);
+    elt->elts = NULL;
+    elt->atts = NULL;
+    elt->nstr = NULL;
+    elt->data = NULL;
+    elt->wide = NULL;
+    elt->node = NULL;
+    elt->type = 0;
+    elt->head = NULL;
+    elt->tail = NULL;
+    if (soap->dom)
+    { struct soap_dom_element *p = soap->dom->elts;
+      if (p)
+      { while (p->next)
+          p = p->next;
+        p->next = elt;
+      }
+      else
+        soap->dom->elts = elt;
+    }
+    soap->dom = elt;
+  }
+  else
+  {
+#endif
+#ifndef WITH_LEAN
+    if (!soap->ns)
+    { if (!(soap->mode & SOAP_XML_CANONICAL)
+       && soap_send(soap, soap->prolog ? soap->prolog : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"))
+        return soap->error;
+    }
+    else if (soap->mode & SOAP_XML_INDENT)
+    { if (soap->ns == 1 && soap_send_raw(soap, soap_indent, soap->level < sizeof(soap_indent) ? soap->level : sizeof(soap_indent) - 1))
+        return soap->error;
+      soap->body = 1;
+    }
+    if ((soap->mode & SOAP_XML_DEFAULTNS) && (s = strchr(tag, ':')))
+    { struct Namespace *ns = soap->local_namespaces;
+      size_t n = s - tag;
+      if (soap_send_raw(soap, "<", 1)
+       || soap_send(soap, s + 1))
+        return soap->error;
+      if (soap->nlist && !strncmp(soap->nlist->id, tag, n) && !soap->nlist->id[n])
+        ns = NULL;
+      for (; ns && ns->id; ns++)
+      { if (*ns->id && (ns->out || ns->ns) && !strncmp(ns->id, tag, n) && !ns->id[n])
+        { soap_push_ns(soap, ns->id, ns->out ? ns->out : ns->ns, 0);
+          if (soap_attribute(soap, "xmlns", ns->out ? ns->out : ns->ns))
+            return soap->error;
+          break;
+        }
+      }
+    }
+    else
+#endif
+    if (soap_send_raw(soap, "<", 1)
+     || soap_send(soap, tag))
+      return soap->error;
+#ifdef WITH_DOM
+  }
+#endif
+  if (!soap->ns)
+  { struct Namespace *ns = soap->local_namespaces;
+    int k = -1;
+    if (ns)
+    {
+#ifndef WITH_LEAN
+      if ((soap->mode & SOAP_XML_DEFAULTNS))
+      { if (soap->version)
+          k = 4; /* first four required entries */
+        else if (!(soap->mode & SOAP_XML_NOTYPE) || (soap->mode & SOAP_XML_NIL))
+        { ns += 2;
+          k = 2; /* next two entries */
+        }
+        else
+          k = 0; /* no entries */
+      }
+#endif
+      while (k-- && ns->id)
+      { if (*ns->id && (ns->out || ns->ns))
+        {
+#ifdef HAVE_SNPRINTF
+          soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "xmlns:%s", ns->id);
+#else
+          sprintf(soap->tmpbuf, "xmlns:%s", ns->id);
+#endif
+          if (soap_attribute(soap, soap->tmpbuf, ns->out ? ns->out : ns->ns))
+            return soap->error;
+        }
+        ns++;
+      }
+    }
+  }
+  soap->ns = 1; /* namespace table control: ns = 0 or 2 to start, then 1 to stop dumping the table  */
+#ifndef WITH_LEAN
+  if (soap->mode & SOAP_XML_CANONICAL)
+    soap_utilize_ns(soap, tag);
+#endif
+  if (id > 0)
+  {
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "_%d", id);
+#else
+    sprintf(soap->tmpbuf, "_%d", id);
+#endif
+    if (soap->version == 2)
+    { if (soap_attribute(soap, "SOAP-ENC:id", soap->tmpbuf))
+        return soap->error;
+    }
+    else if (soap_attribute(soap, "id", soap->tmpbuf))
+      return soap->error;
+  }
+  if (type && *type && !(soap->mode & SOAP_XML_NOTYPE) && soap->part != SOAP_IN_HEADER)
+  { const char *t = type;
+#ifndef WITH_LEAN
+    if (soap->mode & SOAP_XML_DEFAULTNS)
+    { t = strchr(type, ':');
+      if (t)
+        t++;
+      else
+        t = type;
+    }
+#endif
+    if (soap->attributes ? soap_set_attr(soap, "xsi:type", t, 1) : soap_attribute(soap, "xsi:type", t))
+      return soap->error;
+#ifndef WITH_LEAN
+    if (soap->mode & SOAP_XML_CANONICAL)
+      soap_utilize_ns(soap, type);
+#endif
+  }
+  if (soap->null && soap->position > 0)
+  { register int i;
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf) - 1, "[%d", soap->positions[0]);
+#else
+    sprintf(soap->tmpbuf, "[%d", soap->positions[0]);
+#endif
+    for (i = 1; i < soap->position; i++)
+    { register size_t l = strlen(soap->tmpbuf);
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->tmpbuf + l, sizeof(soap->tmpbuf)-l-1, ",%d", soap->positions[i]);
+#else
+      if (l + 13 < sizeof(soap->tmpbuf))
+        sprintf(soap->tmpbuf + l, ",%d", soap->positions[i]);
+#endif
+    }
+    strcat(soap->tmpbuf, "]");
+    if (soap_attribute(soap, "SOAP-ENC:position", soap->tmpbuf))
+      return soap->error;
+  }
+  if (soap->mustUnderstand)
+  { if (soap->actor && *soap->actor)
+    { if (soap_attribute(soap, soap->version == 2 ? "SOAP-ENV:role" : "SOAP-ENV:actor", soap->actor))
+        return soap->error;
+    }
+    if (soap_attribute(soap, "SOAP-ENV:mustUnderstand", soap->version == 2 ? "true" : "1"))
+      return soap->error;
+    soap->mustUnderstand = 0;
+  }
+  if (soap->encoding)
+  { if (soap->encodingStyle && soap->local_namespaces && soap->local_namespaces[0].id && soap->local_namespaces[1].id)
+    { if (!*soap->encodingStyle)
+      { if (soap->local_namespaces[1].out)
+          soap->encodingStyle = soap->local_namespaces[1].out;
+        else
+          soap->encodingStyle = soap->local_namespaces[1].ns;
+      }
+      if (soap->encodingStyle && soap_attribute(soap, "SOAP-ENV:encodingStyle", soap->encodingStyle))
+        return soap->error;
+    }
+    else
+      soap->encodingStyle = NULL;
+    soap->encoding = 0;
+  }
+  soap->null = 0;
+  soap->position = 0;
+  if (soap->event == SOAP_SEC_BEGIN)
+    soap->event = 0;
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_begin_out(struct soap *soap, const char *tag, int id, const char *type)
+{ if (*tag == '-')
+    return SOAP_OK;
+  if (soap_element(soap, tag, id, type))
+    return soap->error;
+#ifdef WITH_DOM
+  if (soap_element_start_end_out(soap, NULL))
+    return soap->error;
+  if (soap->feltbegout)
+    return soap->error = soap->feltbegout(soap, tag);
+  return SOAP_OK;
+#else
+  return soap_element_start_end_out(soap, NULL);
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+#ifndef HAVE_STRRCHR
+SOAP_FMAC1
+char*
+SOAP_FMAC2
+soap_strrchr(const char *s, int t)
+{ register char *r = NULL;
+  while (*s)
+    if (*s++ == t)
+      r = (char*)s - 1;
+  return r;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+#ifndef HAVE_STRTOL
+SOAP_FMAC1
+long
+SOAP_FMAC2
+soap_strtol(const char *s, char **t, int b)
+{ register long n = 0;
+  register int c;
+  while (*s > 0 && *s <= 32)
+    s++;
+  if (b == 10)
+  { short neg = 0;
+    if (*s == '-')
+    { s++;
+      neg = 1;
+    }
+    else if (*s == '+')
+      s++;
+    while ((c = *s) && c >= '0' && c <= '9')
+    { if (n >= 214748364 && (n > 214748364 || c >= '8'))
+        break;
+      n *= 10;
+      n += c - '0';
+      s++;
+    }
+    if (neg)
+      n = -n;
+  }
+  else /* assume b == 16 and value is always positive */
+  { while ((c = *s))
+    { if (c >= '0' && c <= '9')
+        c -= '0';
+      else if (c >= 'A' && c <= 'F')
+        c -= 'A' - 10;
+      else if (c >= 'a' && c <= 'f')
+        c -= 'a' - 10;
+      if (n > 0x07FFFFFF)
+        break;
+      n <<= 4;
+      n += c;
+      s++;
+    }
+  }
+  if (t)
+    *t = (char*)s;
+  return n;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+#ifndef HAVE_STRTOUL
+SOAP_FMAC1
+unsigned long
+SOAP_FMAC2
+soap_strtoul(const char *s, char **t, int b)
+{ unsigned long n = 0;
+  register int c;
+  while (*s > 0 && *s <= 32)
+    s++;
+  if (b == 10)
+  { if (*s == '+')
+      s++;
+    while ((c = *s) && c >= '0' && c <= '9')
+    { if (n >= 429496729 && (n > 429496729 || c >= '6'))
+        break;
+      n *= 10;
+      n += c - '0';
+      s++;
+    }
+  }
+  else /* b == 16 */
+  { while ((c = *s))
+    { if (c >= '0' && c <= '9')
+        c -= '0';
+      else if (c >= 'A' && c <= 'F')
+        c -= 'A' - 10;
+      else if (c >= 'a' && c <= 'f')
+        c -= 'a' - 10;
+      if (n > 0x0FFFFFFF)
+        break;
+      n <<= 4;
+      n += c;
+      s++;
+    }
+  }
+  if (t)
+    *t = (char*)s;
+  return n;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_array_begin_out(struct soap *soap, const char *tag, int id, const char *type, const char *offset)
+{ if (!type || !*type)
+    return soap_element_begin_out(soap, tag, id, NULL);
+  if (soap_element(soap, tag, id, "SOAP-ENC:Array"))
+    return soap->error;
+  if (soap->version == 2)
+  { const char *s;
+    s = soap_strrchr(type, '[');
+    if (s && (size_t)(s - type) < sizeof(soap->tmpbuf))
+    { strncpy(soap->tmpbuf, type, s - type);
+      soap->tmpbuf[s - type] = '\0';
+      if (soap_attribute(soap, "SOAP-ENC:itemType", soap->tmpbuf))
+        return soap->error;
+      s++;
+      if (*s)
+      { strncpy(soap->tmpbuf, s, sizeof(soap->tmpbuf));
+        soap->tmpbuf[sizeof(soap->tmpbuf) - 1] = '\0';
+        soap->tmpbuf[strlen(soap->tmpbuf) - 1] = '\0';
+        if (soap_attribute(soap, "SOAP-ENC:arraySize", soap->tmpbuf))
+          return soap->error;
+      }
+    }
+  }
+  else
+  { if (offset && soap_attribute(soap, "SOAP-ENC:offset", offset))
+      return soap->error;
+    if (soap_attribute(soap, "SOAP-ENC:arrayType", type))
+      return soap->error;
+  }
+#ifndef WITH_LEAN
+  if ((soap->mode & SOAP_XML_CANONICAL))
+    soap_utilize_ns(soap, type);
+#endif
+  return soap_element_start_end_out(soap, NULL);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_start_end_out(struct soap *soap, const char *tag)
+{ register struct soap_attribute *tp;
+#ifndef WITH_LEAN
+  if (soap->mode & SOAP_XML_CANONICAL)
+  { struct soap_nlist *np;
+    for (tp = soap->attributes; tp; tp = tp->next)
+    { if (tp->visible && tp->name)
+        soap_utilize_ns(soap, tp->name);
+    }
+    for (np = soap->nlist; np; np = np->next)
+    { if (np->index == 1 && np->ns)
+      { if (*(np->id))
+        {
+#ifdef HAVE_SNPRINTF
+          soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "xmlns:%s", np->id);
+#else
+          sprintf(soap->tmpbuf, "xmlns:%s", np->id);
+#endif
+        }
+        else
+          strcpy(soap->tmpbuf, "xmlns");
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Enabling utilized binding (level=%u) %s='%s'\n", np->level, soap->tmpbuf, np->ns));
+        soap_set_attr(soap, soap->tmpbuf, np->ns, 1);
+        np->index = 2;
+      }
+    }
+  }
+#endif
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+  { register struct soap_dom_attribute **att;
+    att = &soap->dom->atts;
+    for (tp = soap->attributes; tp; tp = tp->next)
+    { if (tp->visible)
+      { *att = (struct soap_dom_attribute*)soap_malloc(soap, sizeof(struct soap_dom_attribute));
+        if (!*att)
+          return soap->error;
+        (*att)->next = NULL;
+        (*att)->nstr = NULL;
+        (*att)->name = soap_strdup(soap, tp->name);
+        (*att)->data = soap_strdup(soap, tp->value);
+        (*att)->wide = NULL;
+        (*att)->soap = soap;
+        att = &(*att)->next;
+        tp->visible = 0;
+      }
+    }
+    return SOAP_OK;
+  }
+#endif
+  for (tp = soap->attributes; tp; tp = tp->next)
+  { if (tp->visible)
+    {
+#ifndef WITH_LEAN
+      const char *s;
+      if ((soap->mode & SOAP_XML_DEFAULTNS) && (s = strchr(tp->name, ':')))
+      { size_t n = s - tp->name;
+        if (soap->nlist && !strncmp(soap->nlist->id, tp->name, n) && !soap->nlist->id[n])
+          s++;
+        else
+          s = tp->name;
+        if (soap_send(soap, " ") || soap_send(soap, s))
+          return soap->error;
+      }
+      else
+#endif
+      if (soap_send(soap, " ") || soap_send(soap, tp->name))
+        return soap->error;
+      if (tp->visible == 2 && tp->value)
+        if (soap_send_raw(soap, "=\"", 2)
+         || soap_string_out(soap, tp->value, tp->flag)
+         || soap_send_raw(soap, "\"", 1))
+          return soap->error;
+      tp->visible = 0;
+    }
+  }
+  if (tag)
+  {
+#ifndef WITH_LEAN
+    if (soap->mode & SOAP_XML_CANONICAL)
+    { if (soap_send_raw(soap, ">", 1)
+       || soap_element_end_out(soap, tag))
+        return soap->error;
+      return SOAP_OK;
+    }
+#endif
+    soap->level--;	/* decrement level just before /> */
+    return soap_send_raw(soap, "/>", 2);
+  }
+  return soap_send_raw(soap, ">", 1);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_end_out(struct soap *soap, const char *tag)
+{
+#ifndef WITH_LEAN
+  const char *s;
+#endif
+  if (*tag == '-')
+    return SOAP_OK;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Element ending tag='%s'\n", tag));
+#ifdef WITH_DOM
+  if (soap->feltendout && (soap->error = soap->feltendout(soap, tag)))
+    return soap->error;
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+  { if (soap->dom->prnt)
+      soap->dom = soap->dom->prnt;
+    return SOAP_OK;
+  }
+#endif
+#ifndef WITH_LEAN
+  if (soap->mode & SOAP_XML_CANONICAL)
+    soap_pop_namespace(soap);
+  if (soap->mode & SOAP_XML_INDENT)
+  { if (!soap->body)
+    { if (soap_send_raw(soap, soap_indent, soap->level < sizeof(soap_indent) ? soap->level : sizeof(soap_indent) - 1))
+        return soap->error;
+    }
+    soap->body = 0;
+  }
+  if ((soap->mode & SOAP_XML_DEFAULTNS) && (s = strchr(tag, ':')))
+  { soap_pop_namespace(soap);
+    tag = s + 1;
+  }
+#endif
+  if (soap_send_raw(soap, "</", 2)
+   || soap_send(soap, tag))
+    return soap->error;
+  soap->level--;	/* decrement level just before > */
+  return soap_send_raw(soap, ">", 1);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_ref(struct soap *soap, const char *tag, int id, int href)
+{ register const char *s = "ref";
+  register int n = 1;
+  if (soap->version == 1)
+  { s = "href";
+    n = 0;
+  }
+  else if (soap->version == 2)
+    s = "SOAP-ENC:ref";
+#ifdef HAVE_SNPRINTF
+  soap_snprintf(soap->href, sizeof(soap->href), "#_%d", href);
+#else
+  sprintf(soap->href, "#_%d", href);
+#endif
+  return soap_element_href(soap, tag, id, s, soap->href + n);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_href(struct soap *soap, const char *tag, int id, const char *ref, const char *val)
+{ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Element '%s' reference %s='%s'\n", tag, ref, val));
+  if (soap_element(soap, tag, id, NULL)
+   || soap_attribute(soap, ref, val)
+   || soap_element_start_end_out(soap, tag))
+    return soap->error;
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_null(struct soap *soap, const char *tag, int id, const char *type)
+{ struct soap_attribute *tp = NULL;
+  for (tp = soap->attributes; tp; tp = tp->next)
+    if (tp->visible)
+      break;
+  if (tp || (soap->version == 2 && soap->position > 0) || id > 0 || (soap->mode & SOAP_XML_NIL))
+  { if (soap_element(soap, tag, id, type)
+     || (!tp && soap_attribute(soap, "xsi:nil", "true")))
+      return soap->error;
+    return soap_element_start_end_out(soap, tag);
+  }
+  soap->null = 1;
+  soap->position = 0;
+  soap->mustUnderstand = 0;
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_nil(struct soap *soap, const char *tag)
+{ if (soap_element(soap, tag, -1, NULL)
+   || ((soap->mode & SOAP_XML_NIL) && soap_attribute(soap, "xsi:nil", "true")))
+    return soap->error;
+  return soap_element_start_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_id(struct soap *soap, const char *tag, int id, const void *p, const struct soap_array *a, int n, const char *type, int t)
+{ if (!p)
+  { soap->error = soap_element_null(soap, tag, id, type);
+    return -1;
+  }
+#ifndef WITH_NOIDREF
+  if ((!soap->encodingStyle && !(soap->omode & SOAP_XML_GRAPH)) || (soap->omode & SOAP_XML_TREE))
+    return 0;
+  if (id < 0)
+  { struct soap_plist *pp;
+    if (a)
+      id = soap_array_pointer_lookup(soap, p, a, n, t, &pp);
+    else
+      id = soap_pointer_lookup(soap, p, t, &pp);
+    if (id)
+    { if (soap_is_embedded(soap, pp))
+      { soap_element_ref(soap, tag, 0, id);
+        return -1;
+      }
+      if (soap_is_single(soap, pp))
+        return 0;
+      soap_set_embedded(soap, pp);
+    }
+  }
+  return id;
+#else
+  return 0;
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_result(struct soap *soap, const char *tag)
+{ if (soap->version == 2 && soap->encodingStyle)
+  { if (soap_element(soap, "SOAP-RPC:result", 0, NULL)
+     || soap_attribute(soap, "xmlns:SOAP-RPC", soap_rpc)
+     || soap_element_start_end_out(soap, NULL)
+     || soap_string_out(soap, tag, 0)
+     || soap_element_end_out(soap, "SOAP-RPC:result"))
+      return soap->error;
+  }
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_check_result(struct soap *soap, const char *tag)
+{ if (soap->version == 2 && soap->encodingStyle)
+  { soap_instring(soap, ":result", NULL, NULL, 0, 2, -1, -1);
+    /* just ignore content for compliance reasons, but should compare tag to element's QName value? */
+  }
+  (void)tag;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_attribute(struct soap *soap, const char *name, const char *value)
+{
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Attribute '%s'='%s'\n", name, value));
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && !(soap->mode & SOAP_XML_CANONICAL) && soap->dom)
+  { register struct soap_dom_attribute *a = (struct soap_dom_attribute*)soap_malloc(soap, sizeof(struct soap_dom_attribute));
+    if (!a)
+      return soap->error;
+    a->next = soap->dom->atts;
+    a->nstr = NULL;
+    a->name = soap_strdup(soap, name);
+    a->data = soap_strdup(soap, value);
+    a->wide = NULL;
+    a->soap = soap;
+    soap->dom->atts = a;
+    return SOAP_OK;
+  }
+#endif
+#ifndef WITH_LEAN
+  if (soap->mode & SOAP_XML_CANONICAL)
+  { /* push namespace */
+    if (!strncmp(name, "xmlns", 5) && (name[5] == ':' || name[5] == '\0'))
+      soap_push_ns(soap, name + 5 + (name[5] == ':'), value, 0);
+    else if (soap_set_attr(soap, name, value, 1))
+      return soap->error;
+  }
+  else
+#endif
+  { if (soap_send(soap, " ") || soap_send(soap, name))
+      return soap->error;
+    if (value)
+      if (soap_send_raw(soap, "=\"", 2)
+       || soap_string_out(soap, value, 1)
+       || soap_send_raw(soap, "\"", 1))
+        return soap->error;
+  }
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_begin_in(struct soap *soap, const char *tag, int nillable, const char *type)
+{ if (!soap_peek_element(soap))
+  { if (soap->other)
+      return soap->error = SOAP_TAG_MISMATCH;
+    if (tag && *tag == '-')
+      return SOAP_OK;
+    if (!(soap->error = soap_match_tag(soap, soap->tag, tag)))
+    { soap->peeked = 0;
+      if (type && *soap->type && soap_match_tag(soap, soap->type, type))
+        return soap->error = SOAP_TYPE;
+      if (!nillable && soap->null && (soap->mode & SOAP_XML_STRICT))
+        return soap->error = SOAP_NULL;
+      if (soap->body)
+        soap->level++;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Begin element found (level=%u) '%s'='%s'\n", soap->level, soap->tag, tag ? tag : SOAP_STR_EOS ));
+      soap->error = SOAP_OK;
+    }
+  }
+  else if (soap->error == SOAP_NO_TAG && tag && *tag == '-')
+    soap->error = SOAP_OK;
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_end_in(struct soap *soap, const char *tag)
+{ register soap_wchar c;
+  register char *s;
+  register int n = 0;
+  if (tag && *tag == '-')
+    return SOAP_OK;
+  if (soap->error == SOAP_NO_TAG)
+    soap->error = SOAP_OK;
+#ifdef WITH_DOM
+  /* this whitespace or mixed content is significant for DOM */
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+  { if (!soap->peeked && !soap_string_in(soap, 3, -1, -1))
+      return soap->error;
+    if (soap->dom->prnt)
+      soap->dom = soap->dom->prnt;
+  }
+#endif
+  if (soap->peeked)
+  { if (*soap->tag)
+      n++;
+    soap->peeked = 0;
+  }
+  do
+  { while (((c = soap_get(soap)) != SOAP_TT))
+    { if ((int)c == EOF)
+        return soap->error = SOAP_CHK_EOF;
+      if (c == SOAP_LT)
+        n++;
+      else if (c == '/')
+      { c = soap_get(soap);
+        if (c == SOAP_GT)
+          n--;
+        else
+          soap_unget(soap, c);
+      }
+    }
+  } while (n--);
+  s = soap->tag;
+  n = sizeof(soap->tag);
+  while (soap_notblank(c = soap_get(soap)))
+  { if (--n > 0)
+      *s++ = (char)c;
+  }
+  *s = '\0';
+  if ((int)c == EOF)
+    return soap->error = SOAP_CHK_EOF;
+  while (soap_blank(c))
+    c = soap_get(soap);
+  if (c != SOAP_GT)
+    return soap->error = SOAP_SYNTAX_ERROR;
+#ifndef WITH_LEAN
+#ifdef WITH_DOM
+  if (soap->feltendin)
+  { soap->level--;
+    return soap->error = soap->feltendin(soap, soap->tag, tag);
+  }
+#endif
+  if (tag && (soap->mode & SOAP_XML_STRICT))
+  { soap_pop_namespace(soap);
+    if (soap_match_tag(soap, soap->tag, tag))
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "End element tag '%s' does not match '%s'\n", soap->tag, tag ? tag : SOAP_STR_EOS));
+      return soap->error = SOAP_SYNTAX_ERROR;
+    }
+  }
+#endif
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "End element found (level=%u) '%s'='%s'\n", soap->level, soap->tag, tag ? tag : SOAP_STR_EOS));
+  soap->level--;
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char *
+SOAP_FMAC2
+soap_attr_value(struct soap *soap, const char *name, int flag)
+{ register struct soap_attribute *tp;
+  if (*name == '-')
+    return SOAP_STR_EOS;
+  for (tp = soap->attributes; tp; tp = tp->next)
+  { if (tp->visible && !soap_match_tag(soap, tp->name, name))
+      break;
+  }
+  if (tp)
+  { if (flag == 2 && (soap->mode & SOAP_XML_STRICT))
+      soap->error = SOAP_PROHIBITED;
+    else
+      return tp->value;
+  }
+  else if (flag == 1 && (soap->mode & SOAP_XML_STRICT))
+    soap->error = SOAP_REQUIRED;
+  else
+    soap->error = SOAP_OK;
+  return NULL;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_set_attr(struct soap *soap, const char *name, const char *value, int flag)
+{ register struct soap_attribute *tp;
+  if (*name == '-')
+    return SOAP_OK;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Set attribute %s='%s'\n", name, value ? value : SOAP_STR_EOS));
+  for (tp = soap->attributes; tp; tp = tp->next)
+  { if (!strcmp(tp->name, name))
+      break;
+  }
+  if (!tp)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Allocate attribute %s\n", name));
+    if (!(tp = (struct soap_attribute*)SOAP_MALLOC(soap, sizeof(struct soap_attribute) + strlen(name))))
+      return soap->error = SOAP_EOM;
+    tp->ns = NULL;
+#ifndef WITH_LEAN
+    if ((soap->mode & SOAP_XML_CANONICAL))
+    { struct soap_attribute **tpp = &soap->attributes;
+      const char *s = strchr(name, ':');
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Inserting attribute %s for c14n\n", name));
+      if (!strncmp(name, "xmlns", 5))
+      { for (; *tpp; tpp = &(*tpp)->next)
+          if (strncmp((*tpp)->name, "xmlns", 5) || strcmp((*tpp)->name + 5, name + 5) > 0)
+            break;
+      }
+      else if (!s)
+      { for (; *tpp; tpp = &(*tpp)->next)
+          if (strncmp((*tpp)->name, "xmlns", 5) && ((*tpp)->ns || strcmp((*tpp)->name, name) > 0))
+            break;
+      }
+      else
+      { struct soap_nlist *np = soap_lookup_ns(soap, name, s - name);
+        if (np)
+          tp->ns = np->ns;
+        else
+        { struct soap_attribute *tq;
+          for (tq = soap->attributes; tq; tq = tq->next)
+          { if (!strncmp(tq->name, "xmlns:", 6) && !strncmp(tq->name + 6, name, s - name) && !tq->name[6 + s - name])
+            { tp->ns = tq->ns;
+              break;
+            }
+          }
+        }
+        for (; *tpp; tpp = &(*tpp)->next)
+        { int k;
+          if (strncmp((*tpp)->name, "xmlns", 5) && (*tpp)->ns && tp->ns && ((k = strcmp((*tpp)->ns, tp->ns)) > 0 || (!k && strcmp((*tpp)->name, name) > 0)))
+            break;
+        }
+      }
+      tp->next = *tpp;
+      *tpp = tp;
+    }
+    else
+#endif
+    { tp->next = soap->attributes;
+      soap->attributes = tp;
+    }
+    strcpy((char*)tp->name, name);
+    tp->value = NULL;
+  }
+  else if (tp->visible)
+  { return SOAP_OK;
+  }
+  else if (value && tp->value && tp->size <= strlen(value))
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Free attribute value of %s (free %p)\n", name, tp->value));
+    SOAP_FREE(soap, tp->value);
+    tp->value = NULL;
+    tp->ns = NULL;
+  }
+  if (value)
+  { if (!tp->value)
+    { tp->size = strlen(value) + 1;
+      if (!(tp->value = (char*)SOAP_MALLOC(soap, tp->size)))
+        return soap->error = SOAP_EOM;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Allocate attribute value for %s (%p)\n", tp->name, tp->value));
+    }
+    strcpy(tp->value, value);
+    if (!strncmp(tp->name, "xmlns:", 6))
+      tp->ns = tp->value;
+    tp->visible = 2;
+    tp->flag = (short)flag;
+#ifndef WITH_LEAN
+    if (!strcmp(name, "wsu:Id"))
+    { soap->event = SOAP_SEC_BEGIN;
+      strncpy(soap->id, value, sizeof(soap->id));
+      soap->id[sizeof(soap->id) - 1] = '\0';
+    }
+#endif
+  }
+  else
+    tp->visible = 1;
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_clr_attr(struct soap *soap)
+{ register struct soap_attribute *tp;
+#ifndef WITH_LEAN
+  if ((soap->mode & SOAP_XML_CANONICAL))
+  { while (soap->attributes)
+    { tp = soap->attributes->next;
+      if (soap->attributes->value)
+        SOAP_FREE(soap, soap->attributes->value);
+      SOAP_FREE(soap, soap->attributes);
+      soap->attributes = tp;
+    }
+  }
+  else
+#endif
+  { for (tp = soap->attributes; tp; tp = tp->next)
+      tp->visible = 0;
+  }
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+static int
+soap_getattrval(struct soap *soap, char *s, size_t n, soap_wchar d)
+{ register size_t i;
+  for (i = 0; i < n; i++)
+  { register soap_wchar c = soap_get(soap);
+    switch (c)
+    {
+    case SOAP_TT:
+      *s++ = '<';
+      soap_unget(soap, '/');
+      break;
+    case SOAP_LT:
+      *s++ = '<';
+      break;
+    case SOAP_GT:
+      if (d == ' ')
+      { soap_unget(soap, c);
+        *s = '\0';
+        return SOAP_OK;
+      }
+      *s++ = '>';
+      break;
+    case SOAP_QT:
+      if (c == d)
+      { *s = '\0';
+        return SOAP_OK;
+      }
+      *s++ = '"';
+      break;
+    case SOAP_AP:
+      if (c == d)
+      { *s = '\0';
+        return SOAP_OK;
+      }
+      *s++ = '\'';
+      break;
+    case '\t':
+    case '\n':
+    case '\r':
+    case ' ':
+    case '/':
+      if (d == ' ')
+      { soap_unget(soap, c);
+        *s = '\0';
+        return SOAP_OK;
+      }
+    default:
+      if ((int)c == EOF)
+      { *s = '\0';
+        return soap->error = SOAP_CHK_EOF;
+      }
+      *s++ = (char)c;
+    }
+  }
+  return soap->error = SOAP_EOM;
+}
+#endif
+
+/******************************************************************************/
+#ifdef WITH_FAST
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_store_lab(struct soap *soap, const char *s, size_t n)
+{ soap->labidx = 0;
+  return soap_append_lab(soap, s, n);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifdef WITH_FAST
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_append_lab(struct soap *soap, const char *s, size_t n)
+{ if (soap->labidx + n >= soap->lablen)
+  { register char *t = soap->labbuf;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Enlarging look-aside buffer to append data, size=%lu\n", (unsigned long)soap->lablen));
+    if (soap->lablen == 0)
+      soap->lablen = SOAP_LABLEN;
+    while (soap->labidx + n >= soap->lablen)
+      soap->lablen <<= 1;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "New look-aside buffer size=%lu\n", (unsigned long)soap->lablen));
+    soap->labbuf = (char*)SOAP_MALLOC(soap, soap->lablen);
+    if (!soap->labbuf)
+    { if (t)
+        SOAP_FREE(soap, t);
+      return soap->error = SOAP_EOM;
+    }
+    if (t)
+    { memcpy(soap->labbuf, t, soap->labidx);
+      SOAP_FREE(soap, t);
+    }
+  }
+  if (s)
+  { memcpy(soap->labbuf + soap->labidx, s, n);
+    soap->labidx += n;
+  }
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_peek_element(struct soap *soap)
+{
+#ifdef WITH_DOM
+  register struct soap_dom_attribute **att = NULL;
+  register char *lead = NULL;
+#endif
+  register struct soap_attribute *tp, *tq = NULL;
+  register const char *t;
+  register char *s;
+  register soap_wchar c;
+  register int i;
+  if (soap->peeked)
+  { if (!*soap->tag)
+      return soap->error = SOAP_NO_TAG;
+    return SOAP_OK;
+  }
+  soap->peeked = 1;
+  soap->id[0] = '\0';
+  soap->href[0] = '\0';
+  soap->type[0] = '\0';
+  soap->arrayType[0] = '\0';
+  soap->arraySize[0] = '\0';
+  soap->arrayOffset[0] = '\0';
+  soap->other = 0;
+  soap->root = -1;
+  soap->position = 0;
+  soap->null = 0;
+  soap->mustUnderstand = 0;
+  /* UTF-8 BOM? */
+  c = soap_getchar(soap);
+  if (c == 0xEF && soap_get0(soap) == 0xBB)
+  { c = soap_get1(soap);
+    if ((c = soap_get1(soap)) == 0xBF)
+      soap->mode &= ~SOAP_ENC_LATIN;
+    else
+      soap_unget(soap, (0x0F << 12) | (0xBB << 6) | (c & 0x3F)); /* UTF-8 */
+  }
+  else if ((c == 0xFE && soap_get0(soap) == 0xFF)  /* UTF-16 BE */
+        || (c == 0xFF && soap_get0(soap) == 0xFE)) /* UTF-16 LE */
+    return soap->error = SOAP_UTF_ERROR;
+  else
+    soap_unget(soap, c);
+  c = soap_get(soap);
+#ifdef WITH_DOM
+  /* whitespace leading to tag is not insignificant for DOM */
+  if (soap_blank(c))
+  { soap->labidx = 0;
+    do
+    { if (soap_append_lab(soap, NULL, 0))
+        return soap->error;
+      s = soap->labbuf + soap->labidx;
+      i = soap->lablen - soap->labidx;
+      soap->labidx = soap->lablen;
+      while (soap_blank(c) && i--)
+      { *s++ = c;
+        c = soap_get(soap);
+      }
+    }
+    while (soap_blank(c));
+    *s = '\0';
+    lead = soap->labbuf;
+  }
+#else
+  /* skip space */
+  while (soap_blank(c))
+    c = soap_get(soap);
+#endif
+  if (c != SOAP_LT)
+  { *soap->tag = '\0';
+    if ((int)c == EOF)
+      return soap->error = SOAP_CHK_EOF;
+    soap_unget(soap, c);
+#ifdef WITH_DOM
+    /* whitespace leading to end tag is significant for DOM */
+    if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+    { if (lead && *lead)
+        soap->dom->tail = soap_strdup(soap, lead);
+      else
+        soap->dom->tail = (char*)SOAP_STR_EOS;
+    }
+#endif
+    return soap->error = SOAP_NO_TAG;
+  }
+  do c = soap_get1(soap);
+  while (soap_blank(c));
+  s = soap->tag;
+  i = sizeof(soap->tag);
+  while (c != '>' && c != '/' && soap_notblank(c) && (int)c != EOF)
+  { if (--i > 0)
+      *s++ = (char)c;
+    c = soap_get1(soap);
+  }
+  *s = '\0';
+  while (soap_blank(c))
+    c = soap_get1(soap);
+#ifdef WITH_DOM
+  if (soap->mode & SOAP_XML_DOM)
+  { register struct soap_dom_element *elt;
+    elt = (struct soap_dom_element*)soap_malloc(soap, sizeof(struct soap_dom_element));
+    if (!elt)
+      return soap->error;
+    elt->next = NULL;
+    elt->nstr = NULL;
+    elt->name = soap_strdup(soap, soap->tag);
+    elt->prnt = soap->dom;
+    elt->elts = NULL;
+    elt->atts = NULL;
+    elt->data = NULL;
+    elt->wide = NULL;
+    elt->type = 0;
+    elt->node = NULL;
+    elt->head = soap_strdup(soap, lead);
+    elt->tail = NULL;
+    elt->soap = soap;
+    if (soap->dom)
+    { struct soap_dom_element *p = soap->dom->elts;
+      if (p)
+      { while (p->next)
+          p = p->next;
+        p->next = elt;
+      }
+      else
+        soap->dom->elts = elt;
+    }
+    soap->dom = elt;
+    att = &elt->atts;
+  }
+#endif
+  soap_pop_namespace(soap);
+  for (tp = soap->attributes; tp; tp = tp->next)
+    tp->visible = 0;
+  while ((int)c != EOF && c != '>' && c != '/')
+  { s = soap->tmpbuf;
+    i = sizeof(soap->tmpbuf);
+    while (c != '=' && c != '>' && c != '/' && soap_notblank(c) && (int)c != EOF)
+    { if (--i > 0)
+        *s++ = (char)c;
+      c = soap_get1(soap);
+    }
+    *s = '\0';
+    if (i == sizeof(soap->tmpbuf))
+      return soap->error = SOAP_SYNTAX_ERROR;
+#ifdef WITH_DOM
+    /* add attribute name to dom */
+    if (att)
+    { *att = (struct soap_dom_attribute*)soap_malloc(soap, sizeof(struct soap_dom_attribute));
+       if (!*att)
+         return soap->error;
+       (*att)->next = NULL;
+       (*att)->nstr = NULL;
+       (*att)->name = soap_strdup(soap, soap->tmpbuf);
+       (*att)->data = NULL;
+       (*att)->wide = NULL;
+       (*att)->soap = soap;
+    }
+#endif
+    if (!strncmp(soap->tmpbuf, "xmlns", 5))
+    { if (soap->tmpbuf[5] == ':')
+        t = soap->tmpbuf + 6;
+      else if (soap->tmpbuf[5])
+        t = NULL;
+      else
+        t = SOAP_STR_EOS;
+    }
+    else
+      t = NULL;
+    tq = NULL;
+    for (tp = soap->attributes; tp; tq = tp, tp = tp->next)
+    { if (!SOAP_STRCMP(tp->name, soap->tmpbuf))
+        break;
+    }
+    if (!tp)
+    { tp = (struct soap_attribute*)SOAP_MALLOC(soap, sizeof(struct soap_attribute) + strlen(soap->tmpbuf));
+      if (!tp)
+        return soap->error = SOAP_EOM;
+      strcpy((char*)tp->name, soap->tmpbuf);
+      tp->value = NULL;
+      tp->size = 0;
+      tp->ns = NULL;
+      /* if attribute name is qualified, append it to the end of the list */
+      if (tq && strchr(soap->tmpbuf, ':'))
+      { tq->next = tp;
+        tp->next = NULL;
+      }
+      else
+      { tp->next = soap->attributes;
+        soap->attributes = tp;
+      }
+    }
+    while (soap_blank(c))
+      c = soap_get1(soap);
+    if (c == '=')
+    { do c = soap_getutf8(soap);
+      while (soap_blank(c));
+      if (c != SOAP_QT && c != SOAP_AP)
+      { soap_unget(soap, c);
+        c = ' '; /* blank delimiter */
+      }
+      if (soap_getattrval(soap, tp->value, tp->size, c))
+      {
+#ifdef WITH_FAST
+        if (soap->error != SOAP_EOM)
+          return soap->error;
+        soap->error = SOAP_OK;
+        if (soap_store_lab(soap, tp->value, tp->size))
+          return soap->error;
+        if (tp->value)
+          SOAP_FREE(soap, tp->value);
+        tp->value = NULL;
+        for (;;)
+        { if (soap_getattrval(soap, soap->labbuf + soap->labidx, soap->lablen - soap->labidx, c))
+          { if (soap->error != SOAP_EOM)
+              return soap->error;
+            soap->error = SOAP_OK;
+            soap->labidx = soap->lablen;
+            if (soap_append_lab(soap, NULL, 0))
+              return soap->error;
+          }
+          else
+            break;
+        }
+        if (soap->labidx)
+          tp->size = soap->lablen;
+        else
+        { tp->size = strlen(soap->labbuf) + 1;
+          if (tp->size < SOAP_LABLEN)
+            tp->size = SOAP_LABLEN;
+        }
+        if (!(tp->value = (char*)SOAP_MALLOC(soap, tp->size)))
+          return soap->error = SOAP_EOM;
+        strcpy(tp->value, soap->labbuf);
+#else
+        size_t n;
+        if (soap->error != SOAP_EOM)
+          return soap->error;
+        soap->error = SOAP_OK;
+        if (soap_new_block(soap) == NULL)
+          return soap->error;
+        for (;;)
+        { if (!(s = (char*)soap_push_block(soap, NULL, SOAP_BLKLEN)))
+            return soap->error;
+          if (soap_getattrval(soap, s, SOAP_BLKLEN, c))
+          { if (soap->error != SOAP_EOM)
+              return soap->error;
+            soap->error = SOAP_OK;
+          }
+          else
+            break;
+        }
+        n = tp->size + soap->blist->size;
+        if (!(s = (char*)SOAP_MALLOC(soap, n)))
+          return soap->error = SOAP_EOM;
+        if (tp->value)
+        { memcpy(s, tp->value, tp->size);
+          SOAP_FREE(soap, tp->value);
+        }
+        soap_save_block(soap, NULL, s + tp->size, 0);
+        tp->value = s;
+        tp->size = n;
+#endif
+      }
+      do c = soap_get1(soap);
+      while (soap_blank(c));
+      tp->visible = 2; /* seen this attribute w/ value */
+#ifdef WITH_DOM
+      if (att)
+        (*att)->data = soap_strdup(soap, tp->value);
+#endif
+    }
+    else
+      tp->visible = 1; /* seen this attribute w/o value */
+#ifdef WITH_DOM
+    if (att)
+      att = &(*att)->next;
+#endif
+    if (t && tp->value)
+    { if (soap_push_namespace(soap, t, tp->value) == NULL)
+        return soap->error;
+    }
+  }
+#ifdef WITH_DOM
+  if (att)
+  { soap->dom->nstr = soap_current_namespace(soap, soap->tag);
+    for (att = &soap->dom->atts; *att; att = &(*att)->next)
+      (*att)->nstr = soap_current_namespace(soap, (*att)->name);
+  }
+#endif
+  if ((int)c == EOF)
+    return soap->error = SOAP_CHK_EOF;
+  if (!(soap->body = (c != '/')))
+    do c = soap_get1(soap);
+    while (soap_blank(c));
+#ifdef WITH_DOM
+  if (soap->mode & SOAP_XML_DOM)
+  { if (!soap->body && soap->dom->prnt)
+      soap->dom = soap->dom->prnt;
+  }
+#endif
+  for (tp = soap->attributes; tp; tp = tp->next)
+  { if (tp->visible && tp->value)
+    {
+#ifndef WITH_NOIDREF
+      if (!strcmp(tp->name, "id"))
+      { if ((soap->version > 0 && !(soap->imode & SOAP_XML_TREE))
+         || (soap->mode & SOAP_XML_GRAPH))
+        { *soap->id = '#';
+          strncpy(soap->id + 1, tp->value, sizeof(soap->id) - 2);
+          soap->id[sizeof(soap->id) - 1] = '\0';
+        }
+      }
+      else if (!strcmp(tp->name, "href"))
+      { if ((soap->version == 1 && !(soap->imode & SOAP_XML_TREE))
+         || (soap->mode & SOAP_XML_GRAPH)
+         || (soap->mode & SOAP_ENC_MTOM)
+         || (soap->mode & SOAP_ENC_DIME))
+        { strncpy(soap->href, tp->value, sizeof(soap->href) - 1);
+          soap->href[sizeof(soap->href) - 1] = '\0';
+        }
+      }
+      else if (!strcmp(tp->name, "ref"))
+      { if ((soap->version == 2 && !(soap->imode & SOAP_XML_TREE))
+         || (soap->mode & SOAP_XML_GRAPH))
+        { *soap->href = '#';
+          strncpy(soap->href + (*tp->value != '#'), tp->value, sizeof(soap->href) - 2);
+          soap->href[sizeof(soap->href) - 1] = '\0';
+        }
+      }
+      else
+#endif
+      if (!soap_match_tag(soap, tp->name, "xsi:type"))
+      { strncpy(soap->type, tp->value, sizeof(soap->type) - 1);
+        soap->type[sizeof(soap->type) - 1] = '\0';
+      }
+      else if ((!soap_match_tag(soap, tp->name, "xsi:null")
+             || !soap_match_tag(soap, tp->name, "xsi:nil"))
+            && (!strcmp(tp->value, "1")
+             || !strcmp(tp->value, "true")))
+      { soap->null = 1;
+      }
+      else if (soap->version == 1)
+      { if (!soap_match_tag(soap, tp->name, "SOAP-ENC:arrayType"))
+        { s = soap_strrchr(tp->value, '[');
+          if (s && (size_t)(s - tp->value) < sizeof(soap->arrayType))
+          { strncpy(soap->arrayType, tp->value, s - tp->value);
+            soap->arrayType[s - tp->value] = '\0';
+            strncpy(soap->arraySize, s, sizeof(soap->arraySize));
+          }
+          else
+            strncpy(soap->arrayType, tp->value, sizeof(soap->arrayType));
+          soap->arraySize[sizeof(soap->arraySize) - 1] = '\0';
+          soap->arrayType[sizeof(soap->arrayType) - 1] = '\0';
+        }
+        else if (!soap_match_tag(soap, tp->name, "SOAP-ENC:offset"))
+          strncpy(soap->arrayOffset, tp->value, sizeof(soap->arrayOffset));
+        else if (!soap_match_tag(soap, tp->name, "SOAP-ENC:position"))
+          soap->position = soap_getposition(tp->value, soap->positions);
+        else if (!soap_match_tag(soap, tp->name, "SOAP-ENC:root"))
+          soap->root = ((!strcmp(tp->value, "1") || !strcmp(tp->value, "true")));
+        else if (!soap_match_tag(soap, tp->name, "SOAP-ENV:mustUnderstand")
+              && (!strcmp(tp->value, "1") || !strcmp(tp->value, "true")))
+          soap->mustUnderstand = 1;
+        else if (!soap_match_tag(soap, tp->name, "SOAP-ENV:actor"))
+        { if ((!soap->actor || strcmp(soap->actor, tp->value))
+           && strcmp(tp->value, "http://schemas.xmlsoap.org/soap/actor/next"))
+            soap->other = 1;
+        }
+      }
+      else if (soap->version == 2)
+      {
+#ifndef WITH_NOIDREF
+        if (!soap_match_tag(soap, tp->name, "SOAP-ENC:id"))
+        { *soap->id = '#';
+          strncpy(soap->id + 1, tp->value, sizeof(soap->id) - 2);
+          soap->id[sizeof(soap->id) - 1] = '\0';
+        }
+        else if (!soap_match_tag(soap, tp->name, "SOAP-ENC:ref"))
+        { *soap->href = '#';
+          strncpy(soap->href + (*tp->value != '#'), tp->value, sizeof(soap->href) - 2);
+          soap->href[sizeof(soap->href) - 1] = '\0';
+        }
+        else
+#endif
+        if (!soap_match_tag(soap, tp->name, "SOAP-ENC:itemType"))
+          strncpy(soap->arrayType, tp->value, sizeof(soap->arrayType) - 1);
+        else if (!soap_match_tag(soap, tp->name, "SOAP-ENC:arraySize"))
+          strncpy(soap->arraySize, tp->value, sizeof(soap->arraySize) - 1);
+        else if (!soap_match_tag(soap, tp->name, "SOAP-ENV:mustUnderstand")
+              && (!strcmp(tp->value, "1") || !strcmp(tp->value, "true")))
+          soap->mustUnderstand = 1;
+        else if (!soap_match_tag(soap, tp->name, "SOAP-ENV:role"))
+        { if ((!soap->actor || strcmp(soap->actor, tp->value))
+           && strcmp(tp->value, "http://www.w3.org/2003/05/soap-envelope/role/next"))
+            soap->other = 1;
+        }
+      }
+      else
+      { if (!soap_match_tag(soap, tp->name, "wsdl:required") && !strcmp(tp->value, "true"))
+          soap->mustUnderstand = 1;
+      }
+    }
+  }
+#ifdef WITH_DOM
+  if (soap->feltbegin)
+    return soap->error = soap->feltbegin(soap, soap->tag);
+#endif
+  return soap->error = SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_retry(struct soap *soap)
+{ soap->error = SOAP_OK;
+  soap_revert(soap);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_revert(struct soap *soap)
+{ if (!soap->peeked)
+  { soap->peeked = 1;
+    if (soap->body)
+      soap->level--;
+  }
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Reverting to last element '%s' (level=%u)\n", soap->tag, soap->level));
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_string_out(struct soap *soap, const char *s, int flag)
+{ register const char *t;
+  register soap_wchar c;
+  register soap_wchar mask = (soap_wchar)0xFFFFFF80UL;
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+  { soap->dom->data = soap_strdup(soap, s);
+    return SOAP_OK;
+  }
+#endif
+  if (flag == 2 || soap->mode & SOAP_C_UTFSTRING)
+    mask = 0;
+  t = s;
+  while ((c = *t++))
+  { switch (c)
+    {
+    case 0x09:
+      if (flag)
+      { if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&#x9;", 5))
+          return soap->error;
+        s = t;
+      }
+      break;
+    case 0x0A:
+      if (flag || !(soap->mode & SOAP_XML_CANONICAL))
+      { if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&#xA;", 5))
+          return soap->error;
+        s = t;
+      }
+      break;
+    case 0x0D:
+      if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&#xD;", 5))
+        return soap->error;
+      s = t;
+      break;
+    case '&':
+      if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&amp;", 5))
+        return soap->error;
+      s = t;
+      break;
+    case '<':
+      if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&lt;", 4))
+        return soap->error;
+      s = t;
+      break;
+    case '>':
+      if (!flag)
+      { if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&gt;", 4))
+          return soap->error;
+        s = t;
+      }
+      break;
+    case '"':
+      if (flag)
+      { if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&quot;", 6))
+          return soap->error;
+        s = t;
+      }
+      break;
+    default:
+#ifndef WITH_LEANER
+#ifdef HAVE_MBTOWC
+      if (soap->mode & SOAP_C_MBSTRING)
+      { wchar_t wc;
+        register int m = mbtowc(&wc, t - 1, MB_CUR_MAX);
+        if (m > 0 && !((soap_wchar)wc == c && m == 1 && c < 0x80))
+        { if (soap_send_raw(soap, s, t - s - 1) || soap_pututf8(soap, (unsigned long)wc))
+            return soap->error;
+          s = t += m - 1;
+          continue;
+        }
+      }
+#endif
+#endif
+#ifndef WITH_NOSTRINGTOUTF8
+      if ((c & mask) || !(c & 0xFFFFFFE0UL))
+      { if (soap_send_raw(soap, s, t - s - 1) || soap_pututf8(soap, (unsigned char)c))
+          return soap->error;
+        s = t;
+      }
+#endif
+    }
+  }
+  return soap_send_raw(soap, s, t - s - 1);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_string_in(struct soap *soap, int flag, long minlen, long maxlen)
+{ register char *s;
+  char *t = NULL;
+  register size_t i;
+  register long l = 0;
+  register int n = 0, f = 0, m = 0;
+  register soap_wchar c;
+#if !defined(WITH_LEANER) && defined(HAVE_WCTOMB)
+  char buf[MB_LEN_MAX > 8 ? MB_LEN_MAX : 8];
+#else
+  char buf[8];
+#endif
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Reading string content, flag=%d\n", flag));
+  if (soap->peeked && *soap->tag)
+  {
+#ifndef WITH_LEAN
+    struct soap_attribute *tp;
+    DBGLOG(TEST,SOAP_MESSAGE(fdebug, "String content includes tag '%s' and attributes\n", soap->tag));
+    t = soap->tmpbuf;
+    *t = '<';
+    strncpy(t + 1, soap->tag, sizeof(soap->tmpbuf) - 2);
+    t[sizeof(soap->tmpbuf) - 1] = '\0';
+    t += strlen(t);
+    for (tp = soap->attributes; tp; tp = tp->next)
+    { if (tp->visible)
+      { if (t >= soap->tmpbuf + sizeof(soap->tmpbuf) - 2)
+          break;
+        *t++ = ' ';
+        strcpy(t, tp->name);
+        t += strlen(t);
+        if (t >= soap->tmpbuf + sizeof(soap->tmpbuf) - 2)
+          break; /* too many or large attribute values */
+        if (tp->value)
+        { *t++ = '=';
+          *t++ = '"';
+          strcpy(t, tp->value);
+          t += strlen(t);
+          *t++ = '"';
+        }
+      }
+    }
+    if (!soap->body)
+      *t++ = '/';
+    *t++ = '>';
+    *t = '\0';
+    t = soap->tmpbuf;
+    m = (int)strlen(soap->tmpbuf);
+#endif
+    if (soap->body)
+      n = 1;
+    f = 1;
+    soap->peeked = 0;
+  }
+#ifdef WITH_CDATA
+  if (!flag)
+  { register int state = 0;
+#ifdef WITH_FAST
+    soap->labidx = 0;			/* use look-aside buffer */
+#else
+    if (soap_new_block(soap) == NULL)
+      return NULL;
+#endif
+    for (;;)
+    {
+#ifdef WITH_FAST
+      register size_t k;
+      if (soap_append_lab(soap, NULL, 0))	/* allocate more space in look-aside buffer if necessary */
+        return NULL;
+      s = soap->labbuf + soap->labidx;	/* space to populate */
+      k = soap->lablen - soap->labidx;	/* number of bytes available */
+      soap->labidx = soap->lablen;	/* claim this space */
+#else
+      register size_t k = SOAP_BLKLEN;
+      if (!(s = (char*)soap_push_block(soap, NULL, k)))
+        return NULL;
+#endif
+      for (i = 0; i < k; i++)
+      { if (m > 0)
+        { *s++ = *t++;	/* copy multibyte characters */
+          m--;
+          continue;
+        }
+        c = soap_getchar(soap);
+        if ((int)c == EOF)
+          goto end;
+        if ((c >= 0x80 || c < SOAP_AP) && state != 1 && !(soap->mode & SOAP_ENC_LATIN))
+        { if ((c & 0x7FFFFFFF) >= 0x80)
+          { soap_unget(soap, c);
+            c = soap_getutf8(soap);
+          }
+          if ((c & 0x7FFFFFFF) >= 0x80 && (!flag || (soap->mode & SOAP_C_UTFSTRING)))
+          { c &= 0x7FFFFFFF;
+            t = buf;
+            if (c < 0x0800)
+              *t++ = (char)(0xC0 | ((c >> 6) & 0x1F));
+            else
+            { if (c < 0x010000)
+                *t++ = (char)(0xE0 | ((c >> 12) & 0x0F));
+              else
+              { if (c < 0x200000)
+                  *t++ = (char)(0xF0 | ((c >> 18) & 0x07));
+                else
+                { if (c < 0x04000000)
+                    *t++ = (char)(0xF8 | ((c >> 24) & 0x03));
+                  else
+                  { *t++ = (char)(0xFC | ((c >> 30) & 0x01));
+                    *t++ = (char)(0x80 | ((c >> 24) & 0x3F));
+                  }
+                  *t++ = (char)(0x80 | ((c >> 18) & 0x3F));
+                }
+                *t++ = (char)(0x80 | ((c >> 12) & 0x3F));
+              }
+              *t++ = (char)(0x80 | ((c >> 6) & 0x3F));
+            }
+            *t++ = (char)(0x80 | (c & 0x3F));
+            m = (int)(t - buf) - 1;
+            t = buf;
+            *s++ = *t++;
+            continue;
+          }
+        }
+        switch (state)
+        { case 1:
+            if (c == ']')
+              state = 4;
+            *s++ = (char)c;
+            continue;
+          case 2:
+            if (c == '-')
+              state = 6;
+            *s++ = (char)c;
+            continue;
+          case 3:
+            if (c == '?')
+              state = 8;
+            *s++ = (char)c;
+            continue;
+          /* CDATA */
+          case 4:
+            if (c == ']')
+              state = 5;
+            else
+              state = 1;
+            *s++ = (char)c;
+            continue;
+          case 5:
+            if (c == '>')
+              state = 0;
+	    else if (c != ']')
+              state = 1;
+            *s++ = (char)c;
+            continue;
+          /* comment */
+          case 6:
+            if (c == '-')
+              state = 7;
+            else
+              state = 2;
+            *s++ = (char)c;
+            continue;
+          case 7:
+            if (c == '>')
+              state = 0;
+            else if (c != '-')
+              state = 2;
+            *s++ = (char)c;
+            continue;
+          /* PI */
+          case 8:
+            if (c == '>')
+              state = 0;
+            else if (c != '?')
+              state = 3;
+            *s++ = (char)c;
+            continue;
+        }
+        switch (c)
+        {
+        case SOAP_TT:
+          if (n == 0)
+            goto end;
+          n--;
+          *s++ = '<';
+          t = (char*)"/";
+          m = 1;
+          break;
+        case SOAP_LT:
+          if (f && n == 0)
+            goto end;
+          n++;
+          *s++ = '<';
+          break;
+        case SOAP_GT:
+          *s++ = '>';
+          break;
+        case SOAP_QT:
+          *s++ = '"';
+          break;
+        case SOAP_AP:
+          *s++ = '\'';
+          break;
+        case '/':
+          if (n > 0)
+          { c = soap_getchar(soap);
+            if (c == '>')
+              n--;
+            soap_unget(soap, c);
+          }
+          *s++ = '/';
+          break;
+        case '<':
+          c = soap_getchar(soap);
+          if (c == '/')
+          { if (n == 0)
+            { c = SOAP_TT;
+              goto end;
+            }
+            n--;
+          }
+          else if (c == '!')
+          { c = soap_getchar(soap);
+            if (c == '[')
+            { do c = soap_getchar(soap);
+              while ((int)c != EOF && c != '[');
+              if ((int)c == EOF)
+                 goto end;
+              t = (char*)"![CDATA[";
+              m = 8;
+              state = 1;
+            }
+            else if (c == '-')
+            { if ((c = soap_getchar(soap)) == '-')
+                state = 2;
+              t = (char*)"!-";
+              m = 2;
+              soap_unget(soap, c);
+            }
+            else
+            { t = (char*)"!";
+              m = 1;
+              soap_unget(soap, c);
+            }
+            *s++ = '<';
+            break;
+          }
+          else if (c == '?')
+            state = 3;
+          else if (f && n == 0)
+          { soap_revget1(soap);
+            c = '<';
+            goto end;
+          }
+          else
+            n++;
+          soap_unget(soap, c);
+          *s++ = '<';
+          break;
+        case '>':
+          *s++ = '>';
+          break;
+        case '"':
+          *s++ = '"';
+          break;
+        default:
+#ifndef WITH_LEANER
+#ifdef HAVE_WCTOMB
+          if (soap->mode & SOAP_C_MBSTRING)
+          { m = wctomb(buf, (wchar_t)(c & 0x7FFFFFFF));
+            if (m >= 1 && m <= (int)MB_CUR_MAX)
+            { t = buf;
+              *s++ = *t++;
+              m--;
+            }
+            else
+            { *s++ = SOAP_UNKNOWN_CHAR;
+              m = 0;
+            }
+          }
+          else
+#endif
+#endif
+            *s++ = (char)(c & 0xFF);
+        }
+        l++;
+        if (maxlen >= 0 && l > maxlen)
+        { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "String too long: maxlen=%ld\n", maxlen));
+          soap->error = SOAP_LENGTH;
+          return NULL;
+        }
+      }
+    }
+  }
+#endif
+#ifdef WITH_FAST
+  soap->labidx = 0;			/* use look-aside buffer */
+#else
+  if (soap_new_block(soap) == NULL)
+    return NULL;
+#endif
+  for (;;)
+  {
+#ifdef WITH_FAST
+    register size_t k;
+    if (soap_append_lab(soap, NULL, 0))	/* allocate more space in look-aside buffer if necessary */
+      return NULL;
+    s = soap->labbuf + soap->labidx;	/* space to populate */
+    k = soap->lablen - soap->labidx;	/* number of bytes available */
+    soap->labidx = soap->lablen;	/* claim this space */
+#else
+    register size_t k = SOAP_BLKLEN;
+    if (!(s = (char*)soap_push_block(soap, NULL, k)))
+      return NULL;
+#endif
+    for (i = 0; i < k; i++)
+    { if (m > 0)
+      { *s++ = *t++;	/* copy multibyte characters */
+        m--;
+        continue;
+      }
+#ifndef WITH_CDATA
+      if (!flag)
+        c = soap_getchar(soap);
+      else
+#endif
+      if ((soap->mode & SOAP_C_UTFSTRING))
+      { if (((c = soap_get(soap)) & 0x80000000) && c >= -0x7FFFFF80 && c < SOAP_AP)
+        { c &= 0x7FFFFFFF;
+          t = buf;
+          if (c < 0x0800)
+            *t++ = (char)(0xC0 | ((c >> 6) & 0x1F));
+          else
+          { if (c < 0x010000)
+              *t++ = (char)(0xE0 | ((c >> 12) & 0x0F));
+            else
+            { if (c < 0x200000)
+                *t++ = (char)(0xF0 | ((c >> 18) & 0x07));
+              else
+              { if (c < 0x04000000)
+                  *t++ = (char)(0xF8 | ((c >> 24) & 0x03));
+                else
+                { *t++ = (char)(0xFC | ((c >> 30) & 0x01));
+                  *t++ = (char)(0x80 | ((c >> 24) & 0x3F));
+                }
+                *t++ = (char)(0x80 | ((c >> 18) & 0x3F));
+              }
+              *t++ = (char)(0x80 | ((c >> 12) & 0x3F));
+            }
+            *t++ = (char)(0x80 | ((c >> 6) & 0x3F));
+          }
+          *t++ = (char)(0x80 | (c & 0x3F));
+          m = (int)(t - buf) - 1;
+          t = buf;
+          *s++ = *t++;
+          continue;
+        }
+      }
+      else
+        c = soap_getutf8(soap);
+      switch (c)
+      {
+      case SOAP_TT:
+        if (n == 0)
+          goto end;
+        n--;
+        *s++ = '<';
+        t = (char*)"/";
+        m = 1;
+        break;
+      case SOAP_LT:
+        if (f && n == 0)
+          goto end;
+        n++;
+        *s++ = '<';
+        break;
+      case SOAP_GT:
+        *s++ = '>';
+        break;
+      case SOAP_QT:
+        *s++ = '"';
+        break;
+      case SOAP_AP:
+        *s++ = '\'';
+        break;
+      case '/':
+        if (n > 0)
+        { if (!flag)
+	  { c = soap_getchar(soap);
+            if (c == '>')
+              n--;
+	  }
+	  else
+	  { c = soap_get(soap);
+            if (c == SOAP_GT)
+              n--;
+	  }
+          soap_unget(soap, c);
+        }
+        *s++ = '/';
+        break;
+      case (soap_wchar)('<' | 0x80000000):
+        if (flag)
+          *s++ = '<';
+        else
+        { *s++ = '&';
+          t = (char*)"lt;";
+          m = 3;
+        }
+        break;
+      case (soap_wchar)('>' | 0x80000000):
+        if (flag)
+          *s++ = '>';
+        else
+        { *s++ = '&';
+          t = (char*)"gt;";
+          m = 3;
+        }
+        break;
+      case (soap_wchar)('&' | 0x80000000):
+        if (flag)
+          *s++ = '&';
+        else
+        { *s++ = '&';
+          t = (char*)"amp;";
+          m = 4;
+        }
+        break;
+      case (soap_wchar)('"' | 0x80000000):
+        if (flag)
+          *s++ = '"';
+        else
+        { *s++ = '&';
+          t = (char*)"quot;";
+          m = 5;
+        }
+        break;
+      case (soap_wchar)('\'' | 0x80000000):
+        if (flag)
+          *s++ = '\'';
+        else
+        { *s++ = '&';
+          t = (char*)"apos;";
+          m = 5;
+        }
+        break;
+      default:
+        if ((int)c == EOF)
+          goto end;
+#ifndef WITH_CDATA
+        if (c == '<' && !flag)
+        {   if (f && n == 0)
+              goto end;
+            c = soap_getchar(soap);
+            soap_unget(soap, c);
+            if (c == '/')
+            { c = SOAP_TT;
+	      if (n == 0)
+                goto end;
+              n--;
+            }
+            else
+              n++;
+            *s++ = '<';
+            break;
+        }
+        else
+#endif
+#ifndef WITH_LEANER
+#ifdef HAVE_WCTOMB
+        if (soap->mode & SOAP_C_MBSTRING)
+        { m = wctomb(buf, (wchar_t)(c & 0x7FFFFFFF));
+          if (m >= 1 && m <= (int)MB_CUR_MAX)
+          { t = buf;
+            *s++ = *t++;
+            m--;
+          }
+          else
+          { *s++ = SOAP_UNKNOWN_CHAR;
+            m = 0;
+          }
+        }
+        else
+#endif
+#endif
+          *s++ = (char)(c & 0xFF);
+      }
+      l++;
+      if (maxlen >= 0 && l > maxlen)
+      { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "String too long: maxlen=%ld\n", maxlen));
+        soap->error = SOAP_LENGTH;
+        return NULL;
+      }
+    }
+  }
+end:
+  soap_unget(soap, c);
+  *s = '\0';
+#ifdef WITH_FAST
+  t = soap_strdup(soap, soap->labbuf);
+#else
+  soap_size_block(soap, NULL, i + 1);
+  t = soap_save_block(soap, NULL, 0);
+#endif
+  if (l < minlen)
+  { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "String too short: %ld chars, minlen=%ld\n", l, minlen));
+    soap->error = SOAP_LENGTH;
+    return NULL;
+  }
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+  { if (flag == 3)
+      soap->dom->tail = t;
+    else
+      soap->dom->data = t;
+  }
+#endif
+  if (flag == 2)
+    if (soap_s2QName(soap, t, &t, minlen, maxlen))
+      return NULL;
+  return t;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_wstring_out(struct soap *soap, const wchar_t *s, int flag)
+{ const char *t;
+  char tmp;
+  register soap_wchar c;
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+  { wchar_t *r = (wchar_t*)s;
+    int n = 1;
+    while (*r++)
+      n++;
+    soap->dom->wide = r = (wchar_t*)soap_malloc(soap, n * sizeof(wchar_t));
+    while (n--)
+      *r++ = *s++;
+    return SOAP_OK;
+  }
+#endif
+  while ((c = *s++))
+  { switch (c)
+    {
+    case 0x09:
+      if (flag)
+        t = "&#x9;";
+      else
+        t = "\t";
+      break;
+    case 0x0A:
+      if (flag || !(soap->mode & SOAP_XML_CANONICAL))
+        t = "&#xA;";
+      else
+        t = "\n";
+      break;
+    case 0x0D:
+      t = "&#xD;";
+      break;
+    case '&':
+      t = "&amp;";
+      break;
+    case '<':
+      t = "&lt;";
+      break;
+    case '>':
+      if (flag)
+        t = ">";
+      else
+        t = "&gt;";
+      break;
+    case '"':
+      if (flag)
+        t = "&quot;";
+      else
+        t = "\"";
+      break;
+    default:
+      if (c >= 0x20 && c < 0x80)
+      { tmp = (char)c;
+        if (soap_send_raw(soap, &tmp, 1))
+          return soap->error;
+      }
+      else
+      { /* check for UTF16 encoding when wchar_t is too small to hold UCS */
+        if (sizeof(wchar_t) < 4 && (c & 0xFC00) == 0xD800)
+        { register soap_wchar d = *s++;
+          if ((d & 0xFC00) == 0xDC00)
+            c = ((c - 0xD800) << 10) + (d - 0xDC00) + 0x10000;
+          else
+            c = 0xFFFD; /* Malformed */
+        }
+        if (soap_pututf8(soap, (unsigned long)c))
+          return soap->error;
+      }
+      continue;
+    }
+    if (soap_send(soap, t))
+      return soap->error;
+  }
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_2
+SOAP_FMAC1
+wchar_t *
+SOAP_FMAC2
+soap_wstring_in(struct soap *soap, int flag, long minlen, long maxlen)
+{ wchar_t *s;
+  register int i, n = 0, f = 0;
+  register long l = 0;
+  register soap_wchar c;
+  char *t = NULL;
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Reading wide string content\n"));
+  if (soap->peeked)
+  { if (*soap->tag)
+    {
+#ifndef WITH_LEAN
+      struct soap_attribute *tp;
+      t = soap->tmpbuf;
+      *t = '<';
+      strncpy(t + 1, soap->tag, sizeof(soap->tmpbuf) - 2);
+      t[sizeof(soap->tmpbuf) - 1] = '\0';
+      t += strlen(t);
+      for (tp = soap->attributes; tp; tp = tp->next)
+      { if (tp->visible)
+        { if (t >= soap->tmpbuf + sizeof(soap->tmpbuf) - 2)
+            break;
+          *t++ = ' ';
+          strcpy(t, tp->name);
+          t += strlen(t);
+          if (t >= soap->tmpbuf + sizeof(soap->tmpbuf) - 2)
+            break;
+          if (tp->value)
+          { *t++ = '=';
+            *t++ = '"';
+            strcpy(t, tp->value);
+            t += strlen(t);
+            *t++ = '"';
+          }
+        }
+      }
+      if (!soap->body)
+        *t++ = '/';
+      *t++ = '>';
+      *t = '\0';
+      t = soap->tmpbuf;
+#endif
+      if (soap->body)
+        n = 1;
+      f = 1;
+      soap->peeked = 0;
+    }
+  }
+  if (soap_new_block(soap) == NULL)
+    return NULL;
+  for (;;)
+  { if (!(s = (wchar_t*)soap_push_block(soap, NULL, sizeof(wchar_t)*SOAP_BLKLEN)))
+      return NULL;
+    for (i = 0; i < SOAP_BLKLEN; i++)
+    { if (t)
+      { *s++ = (wchar_t)*t++;
+        if (!*t)
+          t = NULL;
+        continue;
+      }
+      c = soap_getutf8(soap);
+      switch (c)
+      {
+      case SOAP_TT:
+        if (n == 0)
+          goto end;
+        n--;
+        *s++ = '<';
+        soap_unget(soap, '/');
+        break;
+      case SOAP_LT:
+        if (f && n == 0)
+          goto end;
+        n++;
+        *s++ = '<';
+        break;
+      case SOAP_GT:
+        *s++ = '>';
+        break;
+      case SOAP_QT:
+        *s++ = '"';
+        break;
+      case SOAP_AP:
+        *s++ = '\'';
+        break;
+      case '/':
+        if (n > 0)
+        { c = soap_getutf8(soap);
+          if (c == SOAP_GT)
+            n--;
+          soap_unget(soap, c);
+        }
+        *s++ = '/';
+        break;
+      case '<':
+        if (flag)
+          *s++ = (soap_wchar)'<';
+        else
+        { *s++ = (soap_wchar)'&';
+          t = (char*)"lt;";
+        }
+        break;
+      case '>':
+        if (flag)
+          *s++ = (soap_wchar)'>';
+        else
+        { *s++ = (soap_wchar)'&';
+          t = (char*)"gt;";
+        }
+        break;
+      case '"':
+        if (flag)
+          *s++ = (soap_wchar)'"';
+        else
+        { *s++ = (soap_wchar)'&';
+          t = (char*)"quot;";
+        }
+        break;
+      default:
+        if ((int)c == EOF)
+          goto end;
+        /* use UTF16 encoding when wchar_t is too small to hold UCS */
+        if (sizeof(wchar_t) < 4 && c > 0xFFFF)
+        { register soap_wchar c1, c2;
+          c1 = 0xD800 - (0x10000 >> 10) + (c >> 10);
+          c2 = 0xDC00 + (c & 0x3FF);
+          c = c1;
+          soap_unget(soap, c2);
+        }
+        *s++ = (wchar_t)c & 0x7FFFFFFF;
+      }
+      l++;
+      if (maxlen >= 0 && l > maxlen)
+      { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "String too long: maxlen=%ld\n", maxlen));
+        soap->error = SOAP_LENGTH;
+        return NULL;
+      }
+    }
+  }
+end:
+  soap_unget(soap, c);
+  *s = '\0';
+  soap_size_block(soap, NULL, sizeof(wchar_t) * (i + 1));
+  if (l < minlen)
+  { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "String too short: %ld chars, minlen=%ld\n", l, minlen));
+    soap->error = SOAP_LENGTH;
+    return NULL;
+  }
+  s = (wchar_t*)soap_save_block(soap, NULL, NULL, 0);
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+    soap->dom->wide = s;
+#endif
+  return s;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_int2s(struct soap *soap, int n)
+{ return soap_long2s(soap, (long)n);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outint(struct soap *soap, const char *tag, int id, const int *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_long2s(soap, (long)*p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2int(struct soap *soap, const char *s, int *p)
+{ if (s)
+  { long n;
+    char *r;
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+    soap_reset_errno;
+#endif
+#endif
+    n = soap_strtol(s, &r, 10);
+    if (s == r || *r
+#ifndef WITH_LEAN
+     || n != (int)n
+#endif
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+     || soap_errno == SOAP_ERANGE
+#endif
+#endif
+    )
+      soap->error = SOAP_TYPE;
+    *p = (int)n;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int *
+SOAP_FMAC2
+soap_inint(struct soap *soap, const char *tag, int *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":int")
+   && soap_match_tag(soap, soap->type, ":short")
+   && soap_match_tag(soap, soap->type, ":byte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+#endif
+  p = (int*)soap_id_enter(soap, soap->id, p, t, sizeof(int), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (int*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(int), 0, NULL);
+  else if (p)
+  { if (soap_s2int(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_long2s(struct soap *soap, long n)
+{
+#ifdef HAVE_SNPRINTF
+  soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "%ld", n);
+#else
+  sprintf(soap->tmpbuf, "%ld", n);
+#endif
+  return soap->tmpbuf;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outlong(struct soap *soap, const char *tag, int id, const long *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_long2s(soap, *p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2long(struct soap *soap, const char *s, long *p)
+{ if (s)
+  { char *r;
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+    soap_reset_errno;
+#endif
+#endif
+    *p = soap_strtol(s, &r, 10);
+    if (s == r || *r
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+     || soap_errno == SOAP_ERANGE
+#endif
+#endif
+    )
+      soap->error = SOAP_TYPE;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+long *
+SOAP_FMAC2
+soap_inlong(struct soap *soap, const char *tag, long *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":int")
+   && soap_match_tag(soap, soap->type, ":short")
+   && soap_match_tag(soap, soap->type, ":byte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+#endif
+  p = (long*)soap_id_enter(soap, soap->id, p, t, sizeof(long), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (long*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(long), 0, NULL);
+  else if (p)
+  { if (soap_s2long(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_LONG642s(struct soap *soap, LONG64 n)
+{
+#ifdef HAVE_SNPRINTF
+  soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), SOAP_LONG_FORMAT, n);
+#else
+  sprintf(soap->tmpbuf, SOAP_LONG_FORMAT, n);
+#endif
+  return soap->tmpbuf;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outLONG64(struct soap *soap, const char *tag, int id, const LONG64 *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_LONG642s(soap, *p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2LONG64(struct soap *soap, const char *s, LONG64 *p)
+{ if (s)
+  {
+#ifdef HAVE_STRTOLL
+    char *r;
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+    soap_reset_errno;
+#endif
+#endif
+    *p = soap_strtoll(s, &r, 10);
+    if (s == r || *r
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+       || soap_errno == SOAP_ERANGE
+#endif
+#endif
+      )
+#else
+# ifdef HAVE_SSCANF
+    if (sscanf(s, SOAP_LONG_FORMAT, p) != 1)
+# endif
+#endif
+      soap->error = SOAP_TYPE;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+LONG64 *
+SOAP_FMAC2
+soap_inLONG64(struct soap *soap, const char *tag, LONG64 *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":integer")
+   && soap_match_tag(soap, soap->type, ":positiveInteger")
+   && soap_match_tag(soap, soap->type, ":negativeInteger")
+   && soap_match_tag(soap, soap->type, ":nonPositiveInteger")
+   && soap_match_tag(soap, soap->type, ":nonNegativeInteger")
+   && soap_match_tag(soap, soap->type, ":long")
+   && soap_match_tag(soap, soap->type, ":int")
+   && soap_match_tag(soap, soap->type, ":short")
+   && soap_match_tag(soap, soap->type, ":byte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+#endif
+  p = (LONG64*)soap_id_enter(soap, soap->id, p, t, sizeof(LONG64), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (LONG64*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(LONG64), 0, NULL);
+  else if (p)
+  { if (soap_s2LONG64(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_byte2s(struct soap *soap, char n)
+{ return soap_long2s(soap, (long)n);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outbyte(struct soap *soap, const char *tag, int id, const char *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_long2s(soap, (long)*p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2byte(struct soap *soap, const char *s, char *p)
+{ if (s)
+  { long n;
+    char *r;
+    n = soap_strtol(s, &r, 10);
+    if (s == r || *r || n < -128 || n > 127)
+      soap->error = SOAP_TYPE;
+    *p = (char)n;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_inbyte(struct soap *soap, const char *tag, char *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":byte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+#endif
+  p = (char*)soap_id_enter(soap, soap->id, p, t, sizeof(char), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (char*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(char), 0, NULL);
+  else if (p)
+  { if (soap_s2byte(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_short2s(struct soap *soap, short n)
+{ return soap_long2s(soap, (long)n);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outshort(struct soap *soap, const char *tag, int id, const short *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_long2s(soap, (long)*p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2short(struct soap *soap, const char *s, short *p)
+{ if (s)
+  { long n;
+    char *r;
+    n = soap_strtol(s, &r, 10);
+    if (s == r || *r || n < -32768 || n > 32767)
+      soap->error = SOAP_TYPE;
+    *p = (short)n;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+short *
+SOAP_FMAC2
+soap_inshort(struct soap *soap, const char *tag, short *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":short")
+   && soap_match_tag(soap, soap->type, ":byte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+#endif
+  p = (short*)soap_id_enter(soap, soap->id, p, t, sizeof(short), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (short*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(short), 0, NULL);
+  else if (p)
+  { if (soap_s2short(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_float2s(struct soap *soap, float n)
+{ char *s;
+  if (soap_isnan((double)n))
+    return "NaN";
+  if (soap_ispinff(n))
+    return "INF";
+  if (soap_isninff(n))
+    return "-INF";
+#if defined(HAVE_SPRINTF_L)
+# ifdef WIN32
+  _sprintf_s_l(soap->tmpbuf, _countof(soap->tmpbuf), soap->float_format, soap->c_locale, n);
+# else
+  sprintf_l(soap->tmpbuf, soap->c_locale, soap->float_format, n);
+# endif
+#else
+# ifdef HAVE_SNPRINTF
+  soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), soap->float_format, n);
+# else
+  sprintf(soap->tmpbuf, soap->float_format, n);
+# endif
+  s = strchr(soap->tmpbuf, ',');	/* convert decimal comma to DP */
+  if (s)
+    *s = '.';
+#endif
+  return soap->tmpbuf;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outfloat(struct soap *soap, const char *tag, int id, const float *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_float2s(soap, *p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2float(struct soap *soap, const char *s, float *p)
+{ if (s)
+  { if (!*s)
+      return soap->error = SOAP_TYPE;
+    if (!soap_tag_cmp(s, "INF"))
+      *p = FLT_PINFTY;
+    else if (!soap_tag_cmp(s, "+INF"))
+      *p = FLT_PINFTY;
+    else if (!soap_tag_cmp(s, "-INF"))
+      *p = FLT_NINFTY;
+    else if (!soap_tag_cmp(s, "NaN"))
+      *p = FLT_NAN;
+    else
+    {
+/* On some systems strtof requires -std=c99 or does not even link: so we try to use strtod first */
+#if defined(HAVE_STRTOD_L)
+      char *r;
+# ifdef WIN32
+      *p = (float)_strtod_l(s, &r, soap->c_locale);
+# else
+      *p = (float)strtod_l(s, &r, soap->c_locale);
+# endif
+      if (*r)
+#elif defined(HAVE_STRTOD)
+      char *r;
+      *p = (float)strtod(s, &r);
+      if (*r)
+#elif defined(HAVE_STRTOF_L)
+      char *r;
+      *p = strtof_l((char*)s, &r, soap->c_locale);
+      if (*r)
+#elif defined(HAVE_STRTOF)
+      char *r;
+      *p = strtof((char*)s, &r);
+      if (*r)
+#endif
+      {
+#if defined(HAVE_SSCANF_L) && !defined(HAVE_STRTOF_L) && !defined(HAVE_STRTOD_L)
+        if (sscanf_l(s, soap->c_locale, "%f", p) != 1)
+          soap->error = SOAP_TYPE;
+#elif defined(HAVE_SSCANF)
+        if (sscanf(s, "%f", p) != 1)
+          soap->error = SOAP_TYPE;
+#else
+        soap->error = SOAP_TYPE;
+#endif
+      }
+    }
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+static int soap_isnumeric(struct soap *soap, const char *type)
+{ if (soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":float")
+   && soap_match_tag(soap, soap->type, ":double")
+   && soap_match_tag(soap, soap->type, ":decimal")
+   && soap_match_tag(soap, soap->type, ":integer")
+   && soap_match_tag(soap, soap->type, ":positiveInteger")
+   && soap_match_tag(soap, soap->type, ":negativeInteger")
+   && soap_match_tag(soap, soap->type, ":nonPositiveInteger")
+   && soap_match_tag(soap, soap->type, ":nonNegativeInteger")
+   && soap_match_tag(soap, soap->type, ":long")
+   && soap_match_tag(soap, soap->type, ":int")
+   && soap_match_tag(soap, soap->type, ":short")
+   && soap_match_tag(soap, soap->type, ":byte")
+   && soap_match_tag(soap, soap->type, ":unsignedLong")
+   && soap_match_tag(soap, soap->type, ":unsignedInt")
+   && soap_match_tag(soap, soap->type, ":unsignedShort")
+   && soap_match_tag(soap, soap->type, ":unsignedByte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return SOAP_ERR;
+  }
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+float *
+SOAP_FMAC2
+soap_infloat(struct soap *soap, const char *tag, float *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type != '\0' && soap_isnumeric(soap, type))
+    return NULL;
+#endif
+  p = (float*)soap_id_enter(soap, soap->id, p, t, sizeof(float), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (float*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(float), 0, NULL);
+  else if (p)
+  { if (soap_s2float(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_double2s(struct soap *soap, double n)
+{ char *s;
+  if (soap_isnan(n))
+    return "NaN";
+  if (soap_ispinfd(n))
+    return "INF";
+  if (soap_isninfd(n))
+    return "-INF";
+#if defined(HAVE_SPRINTF_L)
+# ifdef WIN32
+  _sprintf_s_l(soap->tmpbuf, _countof(soap->tmpbuf), soap->double_format, soap->c_locale, n);
+# else
+  sprintf_l(soap->tmpbuf, soap->c_locale, soap->double_format, n);
+# endif
+#else
+# ifdef HAVE_SNPRINTF
+  soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), soap->double_format, n);
+#else
+  sprintf(soap->tmpbuf, soap->double_format, n);
+#endif
+  s = strchr(soap->tmpbuf, ',');	/* convert decimal comma to DP */
+  if (s)
+    *s = '.';
+#endif
+  return soap->tmpbuf;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outdouble(struct soap *soap, const char *tag, int id, const double *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_double2s(soap, *p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2double(struct soap *soap, const char *s, double *p)
+{ if (s)
+  { if (!*s)
+      return soap->error = SOAP_TYPE;
+    if (!soap_tag_cmp(s, "INF"))
+      *p = DBL_PINFTY;
+    else if (!soap_tag_cmp(s, "+INF"))
+      *p = DBL_PINFTY;
+    else if (!soap_tag_cmp(s, "-INF"))
+      *p = DBL_NINFTY;
+    else if (!soap_tag_cmp(s, "NaN"))
+      *p = DBL_NAN;
+    else
+    {
+#if defined(HAVE_STRTOD_L)
+      char *r;
+# ifdef WIN32
+      *p = _strtod_l(s, &r, soap->c_locale);
+# else
+      *p = strtod_l(s, &r, soap->c_locale);
+# endif
+      if (*r)
+#elif defined(HAVE_STRTOD)
+      char *r;
+      *p = strtod(s, &r);
+      if (*r)
+#endif
+      {
+#if defined(HAVE_SSCANF_L) && !defined(HAVE_STRTOF_L) && !defined(HAVE_STRTOD_L)
+        if (sscanf_l(s, soap->c_locale, "%lf", p) != 1)
+          soap->error = SOAP_TYPE;
+#elif defined(HAVE_SSCANF)
+        if (sscanf(s, "%lf", p) != 1)
+          soap->error = SOAP_TYPE;
+#else
+        soap->error = SOAP_TYPE;
+#endif
+      }
+    }
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+double *
+SOAP_FMAC2
+soap_indouble(struct soap *soap, const char *tag, double *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type != '\0' && soap_isnumeric(soap, type))
+    return NULL;
+#endif
+  p = (double*)soap_id_enter(soap, soap->id, p, t, sizeof(double), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (double*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(double), 0, NULL);
+  else if (p)
+  { if (soap_s2double(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_unsignedByte2s(struct soap *soap, unsigned char n)
+{ return soap_unsignedLong2s(soap, (unsigned long)n);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outunsignedByte(struct soap *soap, const char *tag, int id, const unsigned char *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_unsignedLong2s(soap, (unsigned long)*p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2unsignedByte(struct soap *soap, const char *s, unsigned char *p)
+{ if (s)
+  { unsigned long n;
+    char *r;
+    n = soap_strtoul(s, &r, 10);
+    if (s == r || *r || n > 255)
+      soap->error = SOAP_TYPE;
+    *p = (unsigned char)n;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+unsigned char *
+SOAP_FMAC2
+soap_inunsignedByte(struct soap *soap, const char *tag, unsigned char *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":unsignedByte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+#endif
+  p = (unsigned char*)soap_id_enter(soap, soap->id, p, t, sizeof(unsigned char), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (unsigned char*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(unsigned char), 0, NULL);
+  else if (p)
+  { if (soap_s2unsignedByte(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_unsignedShort2s(struct soap *soap, unsigned short n)
+{ return soap_unsignedLong2s(soap, (unsigned long)n);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outunsignedShort(struct soap *soap, const char *tag, int id, const unsigned short *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_unsignedLong2s(soap, (unsigned long)*p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2unsignedShort(struct soap *soap, const char *s, unsigned short *p)
+{ if (s)
+  { unsigned long n;
+    char *r;
+    n = soap_strtoul(s, &r, 10);
+    if (s == r || *r || n > 65535)
+      soap->error = SOAP_TYPE;
+    *p = (unsigned short)n;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+unsigned short *
+SOAP_FMAC2
+soap_inunsignedShort(struct soap *soap, const char *tag, unsigned short *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":unsignedShort")
+   && soap_match_tag(soap, soap->type, ":unsignedByte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+#endif
+  p = (unsigned short*)soap_id_enter(soap, soap->id, p, t, sizeof(unsigned short), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (unsigned short*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(unsigned short), 0, NULL);
+  else if (p)
+  { if (soap_s2unsignedShort(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_unsignedInt2s(struct soap *soap, unsigned int n)
+{ return soap_unsignedLong2s(soap, (unsigned long)n);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outunsignedInt(struct soap *soap, const char *tag, int id, const unsigned int *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_unsignedLong2s(soap, (unsigned long)*p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2unsignedInt(struct soap *soap, const char *s, unsigned int *p)
+{ if (s)
+  { char *r;
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+    soap_reset_errno;
+#endif
+#endif
+    *p = (unsigned int)soap_strtoul(s, &r, 10);
+    if ((s == r && (soap->mode & SOAP_XML_STRICT)) || *r
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+     || soap_errno == SOAP_ERANGE
+#endif
+#endif
+    )
+      soap->error = SOAP_TYPE;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+unsigned int *
+SOAP_FMAC2
+soap_inunsignedInt(struct soap *soap, const char *tag, unsigned int *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":unsignedInt")
+   && soap_match_tag(soap, soap->type, ":unsignedShort")
+   && soap_match_tag(soap, soap->type, ":unsignedByte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+#endif
+  p = (unsigned int*)soap_id_enter(soap, soap->id, p, t, sizeof(unsigned int), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (unsigned int*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(unsigned int), 0, NULL);
+  else if (p)
+  { if (soap_s2unsignedInt(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_unsignedLong2s(struct soap *soap, unsigned long n)
+{
+#ifdef HAVE_SNPRINTF
+  soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "%lu", n);
+#else
+  sprintf(soap->tmpbuf, "%lu", n);
+#endif
+  return soap->tmpbuf;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outunsignedLong(struct soap *soap, const char *tag, int id, const unsigned long *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_unsignedLong2s(soap, *p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2unsignedLong(struct soap *soap, const char *s, unsigned long *p)
+{ if (s)
+  { char *r;
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+    soap_reset_errno;
+#endif
+#endif
+    *p = soap_strtoul(s, &r, 10);
+    if ((s == r && (soap->mode & SOAP_XML_STRICT)) || *r
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+     || soap_errno == SOAP_ERANGE
+#endif
+#endif
+    )
+      soap->error = SOAP_TYPE;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+unsigned long *
+SOAP_FMAC2
+soap_inunsignedLong(struct soap *soap, const char *tag, unsigned long *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":unsignedInt")
+   && soap_match_tag(soap, soap->type, ":unsignedShort")
+   && soap_match_tag(soap, soap->type, ":unsignedByte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+#endif
+  p = (unsigned long*)soap_id_enter(soap, soap->id, p, t, sizeof(unsigned long), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (unsigned long*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(unsigned long), 0, NULL);
+  else if (p)
+  { if (soap_s2unsignedLong(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_ULONG642s(struct soap *soap, ULONG64 n)
+{
+#ifdef HAVE_SNPRINTF
+  soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), SOAP_ULONG_FORMAT, n);
+#else
+  sprintf(soap->tmpbuf, SOAP_ULONG_FORMAT, n);
+#endif
+  return soap->tmpbuf;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outULONG64(struct soap *soap, const char *tag, int id, const ULONG64 *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_ULONG642s(soap, *p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2ULONG64(struct soap *soap, const char *s, ULONG64 *p)
+{ if (s)
+  {
+#ifdef HAVE_STRTOULL
+    char *r;
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+    soap_reset_errno;
+#endif
+#endif
+    *p = soap_strtoull(s, &r, 10);
+    if ((s == r && (soap->mode & SOAP_XML_STRICT)) || *r
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+       || soap_errno == SOAP_ERANGE
+#endif
+#endif
+      )
+#else
+#ifdef HAVE_SSCANF
+    if (sscanf(s, SOAP_ULONG_FORMAT, p) != 1)
+#endif
+#endif
+      soap->error = SOAP_TYPE;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+ULONG64 *
+SOAP_FMAC2
+soap_inULONG64(struct soap *soap, const char *tag, ULONG64 *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":positiveInteger")
+   && soap_match_tag(soap, soap->type, ":nonNegativeInteger")
+   && soap_match_tag(soap, soap->type, ":unsignedLong")
+   && soap_match_tag(soap, soap->type, ":unsignedInt")
+   && soap_match_tag(soap, soap->type, ":unsignedShort")
+   && soap_match_tag(soap, soap->type, ":unsignedByte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+  p = (ULONG64*)soap_id_enter(soap, soap->id, p, t, sizeof(ULONG64), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (ULONG64*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(ULONG64), 0, NULL);
+  else if (p)
+  { if (soap_s2ULONG64(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2string(struct soap *soap, const char *s, char **t, long minlen, long maxlen)
+{ if (s)
+  { long l = (long)strlen(s);
+    if ((maxlen >= 0 && l > maxlen) || l < minlen)
+      return soap->error = SOAP_LENGTH;
+    if (!(*t = soap_strdup(soap, s)))
+      return soap->error = SOAP_EOM;
+    if (!(soap->mode & (SOAP_ENC_LATIN | SOAP_C_UTFSTRING)))
+    { char *r = *t;
+      /* remove non-ASCII chars */
+      for (s = *t; *s; s++)
+        if (!(*s & 0x80))
+          *r++ = *s;
+      *r = '\0';
+    }
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2QName(struct soap *soap, const char *s, char **t, long minlen, long maxlen)
+{ if (s)
+  { long l = (long)strlen(s);
+    if ((maxlen >= 0 && l > maxlen) || l < minlen)
+      return soap->error = SOAP_LENGTH;
+    soap->labidx = 0;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Normalized namespace(s) of QNames '%s'", s));
+    /* convert (by prefix normalize prefix) all QNames in s */
+    for (;;)
+    { size_t n;
+      struct soap_nlist *np;
+      register const char *p;
+      /* skip blanks */
+      while (*s && soap_blank((soap_wchar)*s))
+        s++;
+      if (!*s)
+        break;
+      /* find next QName */
+      n = 1;
+      while (s[n] && !soap_blank((soap_wchar)s[n]))
+        n++;
+      np = soap->nlist;
+      /* if there is no namespace stack, or prefix is "#" or "xml" then copy string */
+      if (!np || *s == '#' || !strncmp(s, "xml:", 4))
+      { soap_append_lab(soap, s, n);
+      }
+      else /* we normalize the QName by replacing its prefix */
+      { const char *q;
+        for (p = s; *p && p < s + n; p++)
+          if (*p == ':')
+            break;
+        if (*p == ':')
+        { size_t k = p - s;
+          while (np && (strncmp(np->id, s, k) || np->id[k]))
+            np = np->next;
+          p++;
+        }
+        else
+        { while (np && *np->id)
+            np = np->next;
+          p = s;
+        }
+        /* replace prefix */
+        if (np)
+        { if (np->index >= 0 && soap->local_namespaces && (q = soap->local_namespaces[np->index].id))
+          { size_t k = strlen(q);
+            if (q[k-1] != '_')
+              soap_append_lab(soap, q, k);
+            else
+            { soap_append_lab(soap, "\"", 1);
+              soap_append_lab(soap, soap->local_namespaces[np->index].ns, strlen(soap->local_namespaces[np->index].ns));
+              soap_append_lab(soap, "\"", 1);
+            }
+          }
+          else if (np->ns)
+          { soap_append_lab(soap, "\"", 1);
+            soap_append_lab(soap, np->ns, strlen(np->ns));
+            soap_append_lab(soap, "\"", 1);
+          }
+          else
+          { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "\nNamespace prefix of '%s' not defined (index=%d, URI='%s')\n", s, np->index, np->ns ? np->ns : SOAP_STR_EOS));
+            return soap->error = SOAP_NAMESPACE;
+          }
+        }
+        else if (s[n]) /* no namespace, part of string */
+        { soap_append_lab(soap, s, n);
+        }
+        else /* no namespace: assume "" namespace */
+        { soap_append_lab(soap, "\"\"", 2);
+        }
+        soap_append_lab(soap, ":", 1);
+        soap_append_lab(soap, p, n - (p-s));
+      }
+      /* advance to next and add spacing */
+      s += n;
+      if (*s)
+        soap_append_lab(soap, " ", 1);
+    }
+    soap_append_lab(soap, SOAP_STR_EOS, 1);
+    *t = soap_strdup(soap, soap->labbuf);
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, " into '%s'\n", *t));
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_QName2s(struct soap *soap, const char *s)
+{ const char *t = NULL;
+  if (s)
+  { soap->labidx = 0;
+    for (;;)
+    { size_t n;
+      /* skip blanks */
+      while (*s && soap_blank((soap_wchar)*s))
+        s++;
+      if (!*s)
+        break;
+      /* find next QName */
+      n = 1;
+      while (s[n] && !soap_blank((soap_wchar)s[n]))
+        n++;
+      /* normal prefix: pass string as is */
+      if (*s != '"')
+      {
+#ifndef WITH_LEAN
+        if ((soap->mode & SOAP_XML_CANONICAL))
+          soap_utilize_ns(soap, s);
+        if ((soap->mode & SOAP_XML_DEFAULTNS))
+        { const char *r = strchr(s, ':');
+          if (r && soap->nlist && !strncmp(soap->nlist->id, s, r-s) && !soap->nlist->id[r-s])
+          { n -= r-s + 1;
+            s = r + 1;
+          }
+        }
+#endif
+        soap_append_lab(soap, s, n);
+      }
+      else /* URL-based string prefix */
+      { const char *q;
+        s++;
+        q = strchr(s, '"');
+        if (q)
+        { struct Namespace *p = soap->local_namespaces;
+          if (p)
+          { for (; p->id; p++)
+            { if (p->ns)
+                if (!soap_tag_cmp(s, p->ns))
+                  break;
+              if (p->in)
+                if (!soap_tag_cmp(s, p->in))
+                  break;
+            }
+          }
+          /* URL is in the namespace table? */
+          if (p && p->id)
+          { const char *r = p->id;
+#ifndef WITH_LEAN
+            if ((soap->mode & SOAP_XML_DEFAULTNS) && soap->nlist && !strcmp(soap->nlist->id, r))
+              q++;
+            else
+#endif
+              soap_append_lab(soap, r, strlen(r));
+          }
+          else /* not in namespace table: create xmlns binding */
+          { char *r = soap_strdup(soap, s);
+            r[q-s] = '\0';
+#ifdef HAVE_SNPRINTF
+            soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "xmlns:_%d", soap->idnum++);
+#else
+            sprintf(soap->tmpbuf, "xmlns:_%d", soap->idnum++);
+#endif
+            soap_set_attr(soap, soap->tmpbuf, r, 1);
+            soap_append_lab(soap, soap->tmpbuf + 6, strlen(soap->tmpbuf + 6));
+          }
+          soap_append_lab(soap, q + 1, n - (q-s) - 1);
+        }
+      }
+      /* advance to next and add spacing */
+      s += n;
+      if (*s)
+        soap_append_lab(soap, " ", 1);
+    }
+    soap_append_lab(soap, SOAP_STR_EOS, 1);
+    t = soap_strdup(soap, soap->labbuf);
+  }
+  return t;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2wchar(struct soap *soap, const char *s, wchar_t **t, long minlen, long maxlen)
+{ if (s)
+  { long l;
+    wchar_t *r;
+    *t = r = (wchar_t*)soap_malloc(soap, sizeof(wchar_t) * (strlen(s) + 1));
+    if (!r)
+      return soap->error = SOAP_EOM;
+    if (soap->mode & SOAP_ENC_LATIN)
+    { while (*s)
+        *r++ = (wchar_t)*s++;
+    }
+    else
+    { /* Convert UTF8 to wchar */
+      while (*s)
+      { register soap_wchar c, c1, c2, c3, c4;
+        c = (unsigned char)*s++;
+        if (c < 0x80)
+          *r++ = (wchar_t)c;
+        else
+        { c1 = (soap_wchar)*s++ & 0x3F;
+          if (c < 0xE0)
+            *r++ = (wchar_t)(((soap_wchar)(c & 0x1F) << 6) | c1);
+          else
+          { c2 = (soap_wchar)*s++ & 0x3F;
+            if (c < 0xF0)
+              *r++ = (wchar_t)(((soap_wchar)(c & 0x0F) << 12) | (c1 << 6) | c2);
+            else
+            { c3 = (soap_wchar)*s++ & 0x3F;
+              if (c < 0xF8)
+                *r++ = (wchar_t)(((soap_wchar)(c & 0x07) << 18) | (c1 << 12) | (c2 << 6) | c3);
+              else
+              { c4 = (soap_wchar)*s++ & 0x3F;
+                if (c < 0xFC)
+                  *r++ = (wchar_t)(((soap_wchar)(c & 0x03) << 24) | (c1 << 18) | (c2 << 12) | (c3 << 6) | c4);
+                else
+                  *r++ = (wchar_t)(((soap_wchar)(c & 0x01) << 30) | (c1 << 24) | (c2 << 18) | (c3 << 12) | (c4 << 6) | (soap_wchar)(*s++ & 0x3F));
+              }
+            }
+          }
+        }
+      }
+    }
+    *r = L'\0';
+    l = (long)(r - *t);
+    if ((maxlen >= 0 && l > maxlen) || l < minlen)
+      return soap->error = SOAP_LENGTH;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_wchar2s(struct soap *soap, const wchar_t *s)
+{ register soap_wchar c;
+  register char *r, *t;
+  const wchar_t *q = s;
+  size_t n = 0;
+  while ((c = *q++))
+  { if (c > 0 && c < 0x80)
+      n++;
+    else
+      n += 6;
+  }
+  r = t = (char*)soap_malloc(soap, n + 1);
+  if (r)
+  { /* Convert wchar to UTF8 */
+    while ((c = *s++))
+    { if (c > 0 && c < 0x80)
+        *t++ = (char)c;
+      else
+      { if (c < 0x0800)
+          *t++ = (char)(0xC0 | ((c >> 6) & 0x1F));
+        else
+        { if (c < 0x010000)
+            *t++ = (char)(0xE0 | ((c >> 12) & 0x0F));
+          else
+          { if (c < 0x200000)
+              *t++ = (char)(0xF0 | ((c >> 18) & 0x07));
+            else
+            { if (c < 0x04000000)
+                *t++ = (char)(0xF8 | ((c >> 24) & 0x03));
+              else
+              { *t++ = (char)(0xFC | ((c >> 30) & 0x01));
+                *t++ = (char)(0x80 | ((c >> 24) & 0x3F));
+              }
+              *t++ = (char)(0x80 | ((c >> 18) & 0x3F));
+            }
+            *t++ = (char)(0x80 | ((c >> 12) & 0x3F));
+          }
+          *t++ = (char)(0x80 | ((c >> 6) & 0x3F));
+        }
+        *t++ = (char)(0x80 | (c & 0x3F));
+      }
+    }
+    *t = '\0';
+  }
+  return r;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outstring(struct soap *soap, const char *tag, int id, char *const*p, const char *type, int n)
+{ id = soap_element_id(soap, tag, id, *p, NULL, 0, type, n);
+  if (id < 0)
+    return soap->error;
+  if (!**p && (soap->mode & SOAP_C_NILSTRING))
+    return soap_element_null(soap, tag, id, type);
+  if (soap_element_begin_out(soap, tag, id, type)
+   || soap_string_out(soap, *p, 0)
+   || soap_element_end_out(soap, tag))
+    return soap->error;
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+char **
+SOAP_FMAC2
+soap_instring(struct soap *soap, const char *tag, char **p, const char *type, int t, int flag, long minlen, long maxlen)
+{ (void)type;
+  if (soap_element_begin_in(soap, tag, 1, NULL))
+  { if (!tag || *tag != '-' || soap->error != SOAP_NO_TAG)
+      return NULL;
+    soap->error = SOAP_OK;
+  }
+  if (!p)
+  { if (!(p = (char**)soap_malloc(soap, sizeof(char*))))
+      return NULL;
+  }
+  if (soap->null)
+    *p = NULL;
+  else if (soap->body)
+  { *p = soap_string_in(soap, flag, minlen, maxlen);
+    if (!*p || !(char*)soap_id_enter(soap, soap->id, *p, t, sizeof(char*), 0, NULL, NULL, NULL))
+      return NULL;
+    if (!**p && tag && *tag == '-')
+    { soap->error = SOAP_NO_TAG;
+      return NULL;
+    }
+  }
+  else if (tag && *tag == '-')
+  { soap->error = SOAP_NO_TAG;
+    return NULL;
+  }
+  else if (!*soap->href && minlen > 0)
+  { soap->error = SOAP_LENGTH;
+    return NULL;
+  }
+  else
+    *p = soap_strdup(soap, SOAP_STR_EOS);
+  if (*soap->href)
+    p = (char**)soap_id_lookup(soap, soap->href, (void**)p, t, sizeof(char**), 0);
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outwstring(struct soap *soap, const char *tag, int id, wchar_t *const*p, const char *type, int n)
+{ id = soap_element_id(soap, tag, id, *p, NULL, 0, type, n);
+  if (id < 0)
+    return soap->error;
+  if (!**p && (soap->mode & SOAP_C_NILSTRING))
+    return soap_element_null(soap, tag, id, type);
+  if (soap_element_begin_out(soap, tag, id, type)
+   || soap_wstring_out(soap, *p, 0)
+   || soap_element_end_out(soap, tag))
+    return soap->error;
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_2
+SOAP_FMAC1
+wchar_t **
+SOAP_FMAC2
+soap_inwstring(struct soap *soap, const char *tag, wchar_t **p, const char *type, int t, long minlen, long maxlen)
+{ (void)type;
+  if (soap_element_begin_in(soap, tag, 1, NULL))
+  { if (!tag || *tag != '-' || soap->error != SOAP_NO_TAG)
+      return NULL;
+    soap->error = SOAP_OK;
+  }
+  if (!p)
+  { if (!(p = (wchar_t**)soap_malloc(soap, sizeof(wchar_t*))))
+      return NULL;
+  }
+  if (soap->body)
+  { *p = soap_wstring_in(soap, 1, minlen, maxlen);
+    if (!*p || !(wchar_t*)soap_id_enter(soap, soap->id, *p, t, sizeof(wchar_t*), 0, NULL, NULL, NULL))
+      return NULL;
+    if (!**p && tag && *tag == '-')
+    { soap->error = SOAP_NO_TAG;
+      return NULL;
+    }
+  }
+  else if (tag && *tag == '-')
+  { soap->error = SOAP_NO_TAG;
+    return NULL;
+  }
+  else if (soap->null)
+    *p = NULL;
+  else
+    *p = soap_wstrdup(soap, (wchar_t*)SOAP_STR_EOS);
+  if (*soap->href)
+    p = (wchar_t**)soap_id_lookup(soap, soap->href, (void**)p, t, sizeof(wchar_t**), 0);
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+time_t
+SOAP_FMAC2
+soap_timegm(struct tm *T)
+{
+#if defined(HAVE_TIMEGM)
+  return timegm(T);
+#else
+  time_t t, g, z;
+  struct tm tm;
+  t = mktime(T);
+  if (t == (time_t)-1)
+    return (time_t)-1;
+#ifdef HAVE_GMTIME_R
+  gmtime_r(&t, &tm);
+#else
+  tm = *gmtime(&t);
+#endif
+  tm.tm_isdst = 0;
+  g = mktime(&tm);
+  if (g == (time_t)-1)
+    return (time_t)-1;
+  z = g - t;
+  return t - z;
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_dateTime2s(struct soap *soap, time_t n)
+{ struct tm T, *pT = &T;
+#if defined(HAVE_GMTIME_R)
+  if (gmtime_r(&n, pT))
+    strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%SZ", pT);
+#elif defined(HAVE_GMTIME)
+  if ((pT = gmtime(&n)))
+    strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%SZ", pT);
+#elif defined(HAVE_TM_GMTOFF) || defined(HAVE_STRUCT_TM_TM_GMTOFF) || defined(HAVE_STRUCT_TM___TM_GMTOFF)
+#if defined(HAVE_LOCALTIME_R)
+  if (localtime_r(&n, pT))
+  { strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%S%z", pT);
+    memmove(soap->tmpbuf + 23, soap->tmpbuf + 22, 3); /* 2000-03-01T02:00:00+0300 */
+    soap->tmpbuf[22] = ':';                           /* 2000-03-01T02:00:00+03:00 */
+  }
+#else
+  if ((pT = localtime(&n)))
+  { strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%S%z", pT);
+    memmove(soap->tmpbuf + 23, soap->tmpbuf + 22, 3); /* 2000-03-01T02:00:00+0300 */
+    soap->tmpbuf[22] = ':';                           /* 2000-03-01T02:00:00+03:00 */
+  }
+#endif
+#elif defined(HAVE_GETTIMEOFDAY)
+  struct timezone tz;
+  memset((void*)&tz, 0, sizeof(tz));
+#if defined(HAVE_LOCALTIME_R)
+  if (localtime_r(&n, pT))
+  { struct timeval tv;
+    gettimeofday(&tv, &tz);
+    strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%S", pT);
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf + strlen(soap->tmpbuf), sizeof(soap->tmpbuf) - strlen(soap->tmpbuf), "%+03d:%02d", -tz.tz_minuteswest/60+(pT->tm_isdst!=0), abs(tz.tz_minuteswest)%60);
+#else
+    sprintf(soap->tmpbuf + strlen(soap->tmpbuf), "%+03d:%02d", -tz.tz_minuteswest/60+(pT->tm_isdst!=0), abs(tz.tz_minuteswest)%60);
+#endif
+  }
+#else
+  if ((pT = localtime(&n)))
+  { struct timeval tv;
+    gettimeofday(&tv, &tz);
+    strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%S", pT);
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf + strlen(soap->tmpbuf), sizeof(soap->tmpbuf) - strlen(soap->tmpbuf), "%+03d:%02d", -tz.tz_minuteswest/60+(pT->tm_isdst!=0), abs(tz.tz_minuteswest)%60);
+#else
+    sprintf(soap->tmpbuf + strlen(soap->tmpbuf), "%+03d:%02d", -tz.tz_minuteswest/60+(pT->tm_isdst!=0), abs(tz.tz_minuteswest)%60);
+#endif
+  }
+#endif
+#elif defined(HAVE_FTIME)
+  struct timeb t;
+  memset((void*)&t, 0, sizeof(t));
+#if defined(HAVE_LOCALTIME_R)
+  if (localtime_r(&n, pT))
+  {
+#ifdef __BORLANDC__
+    ::ftime(&t);
+#else
+    ftime(&t);
+#endif
+    strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%S", pT);
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf + strlen(soap->tmpbuf), sizeof(soap->tmpbuf) - strlen(soap->tmpbuf), "%+03d:%02d", -t.timezone/60+(pT->tm_isdst!=0), abs(t.timezone)%60);
+#else
+    sprintf(soap->tmpbuf + strlen(soap->tmpbuf), "%+03d:%02d", -t.timezone/60+(pT->tm_isdst!=0), abs(t.timezone)%60);
+#endif
+  }
+#else
+  if ((pT = localtime(&n)))
+  {
+#ifdef __BORLANDC__
+    ::ftime(&t);
+#else
+    ftime(&t);
+#endif
+    strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%S", pT);
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf + strlen(soap->tmpbuf), sizeof(soap->tmpbuf) - strlen(soap->tmpbuf), "%+03d:%02d", -t.timezone/60+(pT->tm_isdst!=0), abs(t.timezone)%60);
+#else
+    sprintf(soap->tmpbuf + strlen(soap->tmpbuf), "%+03d:%02d", -t.timezone/60+(pT->tm_isdst!=0), abs(t.timezone)%60);
+#endif
+  }
+#endif
+#elif defined(HAVE_LOCALTIME_R)
+  if (localtime_r(&n, pT))
+    strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%S", pT);
+#else
+  if ((pT = localtime(&n)))
+    strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%S", pT);
+#endif
+  else
+    strcpy(soap->tmpbuf, "1969-12-31T23:59:59Z");
+  return soap->tmpbuf;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outdateTime(struct soap *soap, const char *tag, int id, const time_t *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_dateTime2s(soap, *p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2dateTime(struct soap *soap, const char *s, time_t *p)
+{ if (s)
+  { char zone[32];
+    struct tm T;
+    const char *t;
+    *zone = '\0';
+    memset((void*)&T, 0, sizeof(T));
+    if (strchr(s, '-'))
+      t = "%d-%d-%dT%d:%d:%d%31s";
+    else if (strchr(s, ':'))
+      t = "%4d%2d%2dT%d:%d:%d%31s";
+    else /* parse non-XSD-standard alternative ISO 8601 format */
+      t = "%4d%2d%2dT%2d%2d%2d%31s";
+    if (sscanf(s, t, &T.tm_year, &T.tm_mon, &T.tm_mday, &T.tm_hour, &T.tm_min, &T.tm_sec, zone) < 6)
+      return soap->error = SOAP_TYPE;
+    if (T.tm_year == 1)
+      T.tm_year = 70;
+    else
+      T.tm_year -= 1900;
+    T.tm_mon--;
+    if (*zone == '.')
+    { for (s = zone + 1; *s; s++)
+        if (*s < '0' || *s > '9')
+          break;
+    }
+    else
+      s = zone;
+    if (*s)
+    {
+#ifndef WITH_NOZONE
+      if (*s == '+' || *s == '-')
+      { int h = 0, m = 0;
+        if (s[3] == ':')
+        { /* +hh:mm */
+          sscanf(s, "%d:%d", &h, &m);
+          if (h < 0)
+            m = -m;
+        }
+        else /* +hhmm */
+        { m = (int)soap_strtol(s, NULL, 10);
+          h = m / 100;
+          m = m % 100;
+        }
+        T.tm_min -= m;
+        T.tm_hour -= h;
+        /* put hour and min in range */
+        T.tm_hour += T.tm_min / 60;
+        T.tm_min %= 60;
+        if (T.tm_min < 0)
+        { T.tm_min += 60;
+          T.tm_hour--;
+        }
+        T.tm_mday += T.tm_hour / 24;
+        T.tm_hour %= 24;
+        if (T.tm_hour < 0)
+        { T.tm_hour += 24;
+          T.tm_mday--;
+        }
+        /* note: day of the month may be out of range, timegm() handles it */
+      }
+#endif
+      *p = soap_timegm(&T);
+    }
+    else /* no UTC or timezone, so assume we got a localtime */
+    { T.tm_isdst = -1;
+      *p = mktime(&T);
+    }
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+time_t *
+SOAP_FMAC2
+soap_indateTime(struct soap *soap, const char *tag, time_t *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":dateTime"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+  p = (time_t*)soap_id_enter(soap, soap->id, p, t, sizeof(time_t), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (time_t*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(time_t), 0, NULL);
+  else if (p)
+  { if (soap_s2dateTime(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outliteral(struct soap *soap, const char *tag, char *const*p, const char *type)
+{ int i;
+  const char *t = NULL;
+  if (tag && *tag != '-')
+  { if (soap->local_namespaces && (t = strchr(tag, ':')))
+    { size_t n = t - tag;
+      if (n >= sizeof(soap->tmpbuf))
+        n = sizeof(soap->tmpbuf) - 1;
+      strncpy(soap->tmpbuf, tag, n);
+      soap->tmpbuf[n] = '\0';
+      for (i = 0; soap->local_namespaces[i].id; i++)
+        if (!strcmp(soap->tmpbuf, soap->local_namespaces[i].id))
+          break;
+      t++;
+      if (soap_element(soap, t, 0, type)
+       || soap_attribute(soap, "xmlns", soap->local_namespaces[i].ns ? soap->local_namespaces[i].ns : SOAP_STR_EOS)
+       || soap_element_start_end_out(soap, NULL))
+        return soap->error;
+    }
+    else
+    { t = tag;
+      if (soap_element_begin_out(soap, t, 0, type))
+        return soap->error;
+    }
+  }
+  if (p && *p)
+  { if (soap_send(soap, *p)) /* send as-is */
+      return soap->error;
+  }
+  if (t)
+    return soap_element_end_out(soap, t);
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+char **
+SOAP_FMAC2
+soap_inliteral(struct soap *soap, const char *tag, char **p)
+{ if (soap_element_begin_in(soap, tag, 1, NULL))
+  { if (soap->error != SOAP_NO_TAG || soap_unget(soap, soap_get(soap)) == SOAP_TT)
+      return NULL;
+    soap->error = SOAP_OK;
+  }
+  if (!p)
+  { if (!(p = (char**)soap_malloc(soap, sizeof(char*))))
+      return NULL;
+  }
+  if (soap->body || (tag && *tag == '-'))
+  { *p = soap_string_in(soap, 0, -1, -1);
+    if (!*p)
+      return NULL;
+    if (!**p && tag && *tag == '-')
+    { soap->error = SOAP_NO_TAG;
+      return NULL;
+    }
+  }
+  else if (soap->null)
+    *p = NULL;
+  else
+    *p = soap_strdup(soap, SOAP_STR_EOS);
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outwliteral(struct soap *soap, const char *tag, wchar_t *const*p, const char *type)
+{ int i;
+  const char *t = NULL;
+  if (tag && *tag != '-')
+  { if (soap->local_namespaces && (t = strchr(tag, ':')))
+    { size_t n = t - tag;
+      if (n >= sizeof(soap->tmpbuf))
+        n = sizeof(soap->tmpbuf) - 1;
+      strncpy(soap->tmpbuf, tag, n);
+      soap->tmpbuf[n] = '\0';
+      for (i = 0; soap->local_namespaces[i].id; i++)
+        if (!strcmp(soap->tmpbuf, soap->local_namespaces[i].id))
+          break;
+      t++;
+      if (soap_element(soap, t, 0, type)
+       || soap_attribute(soap, "xmlns", soap->local_namespaces[i].ns ? soap->local_namespaces[i].ns : SOAP_STR_EOS)
+       || soap_element_start_end_out(soap, NULL))
+        return soap->error;
+    }
+    else
+    { t = tag;
+      if (soap_element_begin_out(soap, t, 0, type))
+        return soap->error;
+    }
+  }
+  if (p)
+  { wchar_t c;
+    const wchar_t *s = *p;
+    while ((c = *s++))
+    { if (soap_pututf8(soap, (unsigned long)c)) /* send as-is in UTF8 */
+        return soap->error;
+    }
+  }
+  if (t)
+    return soap_element_end_out(soap, t);
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_2
+SOAP_FMAC1
+wchar_t **
+SOAP_FMAC2
+soap_inwliteral(struct soap *soap, const char *tag, wchar_t **p)
+{ if (soap_element_begin_in(soap, tag, 1, NULL))
+  { if (soap->error != SOAP_NO_TAG || soap_unget(soap, soap_get(soap)) == SOAP_TT)
+      return NULL;
+    soap->error = SOAP_OK;
+  }
+  if (!p)
+  { if (!(p = (wchar_t**)soap_malloc(soap, sizeof(wchar_t*))))
+      return NULL;
+  }
+  if (soap->body)
+  { *p = soap_wstring_in(soap, 0, -1, -1);
+    if (!*p)
+      return NULL;
+    if (!**p && tag && *tag == '-')
+    { soap->error = SOAP_NO_TAG;
+      return NULL;
+    }
+  }
+  else if (tag && *tag == '-')
+  { soap->error = SOAP_NO_TAG;
+    return NULL;
+  }
+  else if (soap->null)
+    *p = NULL;
+  else
+    *p = soap_wstrdup(soap, (wchar_t*)SOAP_STR_EOS);
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char *
+SOAP_FMAC2
+soap_value(struct soap *soap)
+{ register size_t i;
+  register soap_wchar c = 0;
+  register char *s = soap->tmpbuf;
+  if (!soap->body)
+    return SOAP_STR_EOS;
+  do c = soap_get(soap);
+  while (soap_blank(c));
+  for (i = 0; i < sizeof(soap->tmpbuf) - 1; i++)
+  { if (c == SOAP_TT || c == SOAP_LT || (int)c == EOF)
+      break;
+    *s++ = (char)c;
+    c = soap_get(soap);
+  }
+  for (s--; i > 0; i--, s--)
+  { if (!soap_blank((soap_wchar)*s))
+      break;
+  }
+  s[1] = '\0';
+  soap->tmpbuf[sizeof(soap->tmpbuf) - 1] = '\0'; /* appease */
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Element content value='%s'\n", soap->tmpbuf));
+  if (c == SOAP_TT || c == SOAP_LT || (int)c == EOF)
+    soap_unget(soap, c);
+  else if (soap->mode & SOAP_XML_STRICT)
+  { soap->error = SOAP_LENGTH;
+    return NULL;
+  }
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+    soap->dom->data = soap_strdup(soap, soap->tmpbuf);
+#endif
+  return soap->tmpbuf; /* return non-null pointer */
+}
+#endif
+
+/******************************************************************************/
+#if !defined(WITH_LEANER) || !defined(WITH_NOHTTP)
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_getline(struct soap *soap, char *s, int len)
+{ int i = len;
+  soap_wchar c = 0;
+  for (;;)
+  { while (--i > 0)
+    { c = soap_getchar(soap);
+      if (c == '\r' || c == '\n')
+        break;
+      if ((int)c == EOF)
+        return soap->error = SOAP_CHK_EOF;
+      *s++ = (char)c;
+    }
+    *s = '\0';
+    if (c != '\n')
+      c = soap_getchar(soap); /* got \r or something else, now get \n */
+    if (c == '\n')
+    { if (i + 1 == len) /* empty line: end of HTTP/MIME header */
+        break;
+      c = soap_get0(soap);
+      if (c != ' ' && c != '\t') /* HTTP line continuation? */
+        break;
+    }
+    else if ((int)c == EOF)
+      return soap->error = SOAP_CHK_EOF;
+    if (i <= 0)
+      return soap->error = SOAP_HDR;
+  }
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+static size_t
+soap_count_attachments(struct soap *soap)
+{
+#ifndef WITH_LEANER
+  register struct soap_multipart *content;
+  register size_t count = soap->count;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Calculating the message size with attachments, current count=%lu\n", (unsigned long)count));
+  if ((soap->mode & SOAP_ENC_DIME) && !(soap->mode & SOAP_ENC_MTOM))
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Calculating the size of DIME attachments\n"));
+    for (content = soap->dime.first; content; content = content->next)
+    { count += 12 + ((content->size+3)&(~3));
+      if (content->id)
+        count += ((strlen(content->id)+3)&(~3));
+      if (content->type)
+        count += ((strlen(content->type)+3)&(~3));
+      if (content->options)
+        count += ((((unsigned char)content->options[2] << 8) | ((unsigned char)content->options[3]))+7)&(~3);
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Size of DIME attachment content is %lu bytes\n", (unsigned long)content->size));
+    }
+  }
+  if ((soap->mode & SOAP_ENC_MIME) && soap->mime.boundary)
+  { register size_t n = strlen(soap->mime.boundary);
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Calculating the size of MIME attachments\n"));
+    for (content = soap->mime.first; content; content = content->next)
+    { register const char *s;
+      /* count \r\n--boundary\r\n */
+      count += 6 + n;
+      /* count Content-Type: ...\r\n */
+      if (content->type)
+        count += 16 + strlen(content->type);
+      /* count Content-Transfer-Encoding: ...\r\n */
+      s = soap_code_str(mime_codes, content->encoding);
+      if (s)
+        count += 29 + strlen(s);
+      /* count Content-ID: ...\r\n */
+      if (content->id)
+        count += 14 + strlen(content->id);
+      /* count Content-Location: ...\r\n */
+      if (content->location)
+        count += 20 + strlen(content->location);
+      /* count Content-Description: ...\r\n */
+      if (content->description)
+        count += 23 + strlen(content->description);
+      /* count \r\n...content */
+      count += 2 + content->size;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Size of MIME attachment content is %lu bytes\n", (unsigned long)content->size));
+    }
+    /* count \r\n--boundary-- */
+    count += 6 + n;
+  }
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "New count=%lu\n", (unsigned long)count));
+  return count;
+#else
+  return soap->count;
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+static int
+soap_putdimefield(struct soap *soap, const char *s, size_t n)
+{ if (soap_send_raw(soap, s, n))
+    return soap->error;
+  return soap_send_raw(soap, SOAP_STR_PADDING, -(long)n&3);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_dime_option(struct soap *soap, unsigned short optype, const char *option)
+{ size_t n;
+  char *s = NULL;
+  if (option)
+  { n = strlen(option);
+    s = (char*)soap_malloc(soap, n + 5);
+    if (s)
+    { s[0] = (char)(optype >> 8);
+      s[1] = (char)(optype & 0xFF);
+      s[2] = (char)(n >> 8);
+      s[3] = (char)(n & 0xFF);
+      strcpy(s + 4, option);
+    }
+  }
+  return s;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_putdimehdr(struct soap *soap)
+{ unsigned char tmp[12];
+  size_t optlen = 0, idlen = 0, typelen = 0;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Put DIME header id='%s'\n", soap->dime.id ? soap->dime.id : SOAP_STR_EOS));
+  if (soap->dime.options)
+    optlen = (((unsigned char)soap->dime.options[2] << 8) | ((unsigned char)soap->dime.options[3])) + 4;
+  if (soap->dime.id)
+  { idlen = strlen(soap->dime.id);
+    if (idlen > 0x0000FFFF)
+      idlen = 0x0000FFFF;
+  }
+  if (soap->dime.type)
+  { typelen = strlen(soap->dime.type);
+    if (typelen > 0x0000FFFF)
+      typelen = 0x0000FFFF;
+  }
+  tmp[0] = SOAP_DIME_VERSION | (soap->dime.flags & 0x7);
+  tmp[1] = soap->dime.flags & 0xF0;
+  tmp[2] = (char)(optlen >> 8);
+  tmp[3] = (char)(optlen & 0xFF);
+  tmp[4] = (char)(idlen >> 8);
+  tmp[5] = (char)(idlen & 0xFF);
+  tmp[6] = (char)(typelen >> 8);
+  tmp[7] = (char)(typelen & 0xFF);
+  tmp[8] = (char)(soap->dime.size >> 24);
+  tmp[9] = (char)((soap->dime.size >> 16) & 0xFF);
+  tmp[10] = (char)((soap->dime.size >> 8) & 0xFF);
+  tmp[11] = (char)(soap->dime.size & 0xFF);
+  if (soap_send_raw(soap, (char*)tmp, 12)
+   || soap_putdimefield(soap, soap->dime.options, optlen)
+   || soap_putdimefield(soap, soap->dime.id, idlen)
+   || soap_putdimefield(soap, soap->dime.type, typelen))
+    return soap->error;
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_putdime(struct soap *soap)
+{ struct soap_multipart *content;
+  if (!(soap->mode & SOAP_ENC_DIME))
+    return SOAP_OK;
+  for (content = soap->dime.first; content; content = content->next)
+  { void *handle;
+    soap->dime.size = content->size;
+    soap->dime.id = content->id;
+    soap->dime.type = content->type;
+    soap->dime.options = content->options;
+    soap->dime.flags = SOAP_DIME_VERSION | SOAP_DIME_MEDIA;
+    if (soap->fdimereadopen && ((handle = soap->fdimereadopen(soap, (void*)content->ptr, content->id, content->type, content->options)) || soap->error))
+    { size_t size = content->size;
+      if (!handle)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "fdimereadopen failed\n"));
+        return soap->error;
+      }
+      if (!size && ((soap->mode & SOAP_ENC_XML) || (soap->mode & SOAP_IO) == SOAP_IO_CHUNK || (soap->mode & SOAP_IO) == SOAP_IO_STORE))
+      { size_t chunksize = sizeof(soap->tmpbuf);
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Chunked streaming DIME\n"));
+        do
+        { size = soap->fdimeread(soap, handle, soap->tmpbuf, chunksize);
+          DBGLOG(TEST, SOAP_MESSAGE(fdebug, "fdimeread returned %lu bytes\n", (unsigned long)size));
+          if (size < chunksize)
+          { soap->dime.flags &= ~SOAP_DIME_CF;
+            if (!content->next)
+              soap->dime.flags |= SOAP_DIME_ME;
+          }
+          else
+            soap->dime.flags |= SOAP_DIME_CF;
+          soap->dime.size = size;
+          if (soap_putdimehdr(soap)
+           || soap_putdimefield(soap, soap->tmpbuf, size))
+            break;
+          if (soap->dime.id)
+          { soap->dime.flags &= ~(SOAP_DIME_MB | SOAP_DIME_MEDIA);
+            soap->dime.id = NULL;
+            soap->dime.type = NULL;
+            soap->dime.options = NULL;
+          }
+        } while (size >= chunksize);
+      }
+      else
+      { if (!content->next)
+          soap->dime.flags |= SOAP_DIME_ME;
+        if (soap_putdimehdr(soap))
+          return soap->error;
+        do
+        { size_t bufsize;
+          if (size < sizeof(soap->tmpbuf))
+            bufsize = size;
+          else
+            bufsize = sizeof(soap->tmpbuf);
+          if (!(bufsize = soap->fdimeread(soap, handle, soap->tmpbuf, bufsize)))
+          { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "fdimeread failed: insufficient data (%lu bytes remaining from %lu bytes)\n", (unsigned long)size, (unsigned long)content->size));
+            soap->error = SOAP_CHK_EOF;
+            break;
+          }
+          if (soap_send_raw(soap, soap->tmpbuf, bufsize))
+            break;
+          size -= bufsize;
+        } while (size);
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "fdimereadclose\n"));
+        soap_send_raw(soap, SOAP_STR_PADDING, -(long)soap->dime.size&3);
+      }
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "fdimereadclose\n"));
+      if (soap->fdimereadclose)
+        soap->fdimereadclose(soap, handle);
+    }
+    else
+    { if (!content->next)
+        soap->dime.flags |= SOAP_DIME_ME;
+      if (soap_putdimehdr(soap)
+       || soap_putdimefield(soap, (char*)content->ptr, content->size))
+        return soap->error;
+    }
+  }
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+static char *
+soap_getdimefield(struct soap *soap, size_t n)
+{ register soap_wchar c;
+  register size_t i;
+  register char *s;
+  register char *p = NULL;
+  if (n)
+  { p = (char*)soap_malloc(soap, n + 1);
+    if (p)
+    { s = p;
+      for (i = n; i > 0; i--)
+      { if ((int)(c = soap_get1(soap)) == EOF)
+        { soap->error = SOAP_CHK_EOF;
+          return NULL;
+        }
+        *s++ = (char)c;
+      }
+      *s = '\0';
+      if ((soap->error = soap_move(soap, (size_t)(-(long)n&3))))
+        return NULL;
+    }
+    else
+      soap->error = SOAP_EOM;
+  }
+  return p;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_getdimehdr(struct soap *soap)
+{ register soap_wchar c;
+  register char *s;
+  register int i;
+  unsigned char tmp[12];
+  size_t optlen, idlen, typelen;
+  if (!(soap->mode & SOAP_ENC_DIME))
+    return soap->error = SOAP_DIME_END;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Get DIME header\n"));
+  if (soap->dime.buflen || soap->dime.chunksize)
+  { if (soap_move(soap, soap->dime.size - soap_tell(soap)))
+      return soap->error = SOAP_CHK_EOF;
+    soap_unget(soap, soap_getchar(soap)); /* skip padding and get hdr */
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "... From chunked\n"));
+    return SOAP_OK;
+  }
+  s = (char*)tmp;
+  for (i = 12; i > 0; i--)
+  { if ((int)(c = soap_getchar(soap)) == EOF)
+      return soap->error = SOAP_CHK_EOF;
+    *s++ = (char)c;
+  }
+  if ((tmp[0] & 0xF8) != SOAP_DIME_VERSION)
+    return soap->error = SOAP_DIME_MISMATCH;
+  soap->dime.flags = (tmp[0] & 0x7) | (tmp[1] & 0xF0);
+  optlen = (tmp[2] << 8) | tmp[3];
+  idlen = (tmp[4] << 8) | tmp[5];
+  typelen = (tmp[6] << 8) | tmp[7];
+  soap->dime.size = ((size_t)tmp[8] << 24) | ((size_t)tmp[9] << 16) | ((size_t)tmp[10] << 8) | ((size_t)tmp[11]);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DIME size=%lu flags=0x%X\n", (unsigned long)soap->dime.size, soap->dime.flags));
+  if (!(soap->dime.options = soap_getdimefield(soap, optlen)) && soap->error)
+    return soap->error;
+  if (!(soap->dime.id = soap_getdimefield(soap, idlen)) && soap->error)
+    return soap->error;
+  if (!(soap->dime.type = soap_getdimefield(soap, typelen)) && soap->error)
+    return soap->error;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DIME id='%s', type='%s', options='%s'\n", soap->dime.id ? soap->dime.id : SOAP_STR_EOS, soap->dime.type ? soap->dime.type : "", soap->dime.options ? soap->dime.options+4 : SOAP_STR_EOS));
+  if (soap->dime.flags & SOAP_DIME_ME)
+    soap->mode &= ~SOAP_ENC_DIME;
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_getdime(struct soap *soap)
+{ while (soap->dime.flags & SOAP_DIME_CF)
+  { if (soap_getdimehdr(soap))
+      return soap->error;
+    if (soap_move(soap, soap->dime.size))
+      return soap->error = SOAP_EOF;
+  }
+  if (soap_move(soap, (size_t)(((soap->dime.size+3)&(~3)) - soap_tell(soap))))
+    return soap->error = SOAP_EOF;
+  for (;;)
+  { register struct soap_multipart *content;
+    if (soap_getdimehdr(soap))
+      break;
+    if (soap->fdimewriteopen && ((soap->dime.ptr = (char*)soap->fdimewriteopen(soap, soap->dime.id, soap->dime.type, soap->dime.options)) || soap->error))
+    { const char *id, *type, *options;
+      size_t size, n;
+      if (!soap->dime.ptr)
+        return soap->error;
+      id = soap->dime.id;
+      type = soap->dime.type;
+      options = soap->dime.options;
+      for (;;)
+      { size = soap->dime.size;
+        for (;;)
+        { n = soap->buflen - soap->bufidx;
+          if (size < n)
+            n = size;
+          if ((soap->error = soap->fdimewrite(soap, (void*)soap->dime.ptr, soap->buf + soap->bufidx, n)))
+            break;
+          size -= n;
+          if (!size)
+          { soap->bufidx += n;
+            break;
+          }
+          if (soap_recv(soap))
+          { soap->error = SOAP_EOF;
+            goto end;
+          }
+        }
+        if (soap_move(soap, (size_t)(-(long)soap->dime.size&3)))
+        { soap->error = SOAP_EOF;
+          break;
+        }
+        if (!(soap->dime.flags & SOAP_DIME_CF))
+          break;
+        if (soap_getdimehdr(soap))
+          break;
+      }
+end:
+      if (soap->fdimewriteclose)
+        soap->fdimewriteclose(soap, (void*)soap->dime.ptr);
+      soap->dime.size = 0;
+      soap->dime.id = id;
+      soap->dime.type = type;
+      soap->dime.options = options;
+    }
+    else if (soap->dime.flags & SOAP_DIME_CF)
+    { const char *id, *type, *options;
+      id = soap->dime.id;
+      type = soap->dime.type;
+      options = soap->dime.options;
+      if (soap_new_block(soap) == NULL)
+        return SOAP_EOM;
+      for (;;)
+      { register soap_wchar c;
+        register size_t i;
+        register char *s;
+        if (soap->dime.size > SOAP_MAXDIMESIZE)
+        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DIME size=%lu exceeds SOAP_MAXDIMESIZE=%lu\n", (unsigned long)soap->dime.size, (unsigned long)SOAP_MAXDIMESIZE));
+          return soap->error = SOAP_DIME_ERROR;
+        }
+        s = (char*)soap_push_block(soap, NULL, soap->dime.size);
+        if (!s)
+          return soap->error = SOAP_EOM;
+        for (i = soap->dime.size; i > 0; i--)
+        { if ((int)(c = soap_get1(soap)) == EOF)
+            return soap->error = SOAP_EOF;
+          *s++ = (char)c;
+        }
+        if (soap_move(soap, (size_t)(-(long)soap->dime.size&3)))
+          return soap->error = SOAP_EOF;
+        if (!(soap->dime.flags & SOAP_DIME_CF))
+          break;
+        if (soap_getdimehdr(soap))
+          return soap->error;
+      }
+      soap->dime.size = soap->blist->size++; /* allocate one more byte in blist for the terminating '\0' */
+      if (!(soap->dime.ptr = soap_save_block(soap, NULL, NULL, 0)))
+        return soap->error;
+      soap->dime.ptr[soap->dime.size] = '\0'; /* make 0-terminated */
+      soap->dime.id = id;
+      soap->dime.type = type;
+      soap->dime.options = options;
+    }
+    else
+      soap->dime.ptr = soap_getdimefield(soap, soap->dime.size);
+    content = soap_new_multipart(soap, &soap->dime.first, &soap->dime.last, soap->dime.ptr, soap->dime.size);
+    if (!content)
+      return soap->error = SOAP_EOM;
+    content->id = soap->dime.id;
+    content->type = soap->dime.type;
+    content->options = soap->dime.options;
+    if (soap->error)
+      return soap->error;
+    soap_resolve_attachment(soap, content);
+  }
+  if (soap->error != SOAP_DIME_END)
+    return soap->error;
+  return soap->error = SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_getmimehdr(struct soap *soap)
+{ struct soap_multipart *content;
+  do
+  { if (soap_getline(soap, soap->msgbuf, sizeof(soap->msgbuf)))
+      return soap->error;
+  }
+  while (!*soap->msgbuf);
+  if (soap->msgbuf[0] == '-' && soap->msgbuf[1] == '-')
+  { char *s = soap->msgbuf + strlen(soap->msgbuf) - 1;
+    /* remove white space */
+    while (soap_blank((soap_wchar)*s))
+      s--;
+    s[1] = '\0';
+    if (soap->mime.boundary)
+    { if (strcmp(soap->msgbuf + 2, soap->mime.boundary))
+        return soap->error = SOAP_MIME_ERROR;
+    }
+    else
+      soap->mime.boundary = soap_strdup(soap, soap->msgbuf + 2);
+    if (soap_getline(soap, soap->msgbuf, sizeof(soap->msgbuf)))
+      return soap->error;
+  }
+  if (soap_set_mime_attachment(soap, NULL, 0, SOAP_MIME_NONE, NULL, NULL, NULL, NULL))
+    return soap->error = SOAP_EOM;
+  content = soap->mime.last;
+  for (;;)
+  { register char *key = soap->msgbuf;
+    register char *val;
+    if (!*key)
+      break;
+    DBGLOG(TEST,SOAP_MESSAGE(fdebug, "MIME header: %s\n", key));
+    val = strchr(soap->msgbuf, ':');
+    if (val)
+    { *val = '\0';
+      do val++;
+      while (*val && *val <= 32);
+      if (!soap_tag_cmp(key, "Content-ID"))
+        content->id = soap_strdup(soap, val);
+      else if (!soap_tag_cmp(key, "Content-Location"))
+        content->location = soap_strdup(soap, val);
+      else if (!soap_tag_cmp(key, "Content-Disposition"))
+        content->id = soap_strdup(soap, soap_get_header_attribute(soap, val, "name"));
+      else if (!soap_tag_cmp(key, "Content-Type"))
+        content->type = soap_strdup(soap, val);
+      else if (!soap_tag_cmp(key, "Content-Description"))
+        content->description = soap_strdup(soap, val);
+      else if (!soap_tag_cmp(key, "Content-Transfer-Encoding"))
+        content->encoding = (enum soap_mime_encoding)soap_code_int(mime_codes, val, (long)SOAP_MIME_NONE);
+    }
+    if (soap_getline(soap, key, sizeof(soap->msgbuf)))
+      return soap->error;
+  }
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_getmime(struct soap *soap)
+{ while (soap_get_mime_attachment(soap, NULL))
+    ;
+  return soap->error;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_post_check_mime_attachments(struct soap *soap)
+{ soap->imode |= SOAP_MIME_POSTCHECK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_check_mime_attachments(struct soap *soap)
+{ if (soap->mode & SOAP_MIME_POSTCHECK)
+    return soap_get_mime_attachment(soap, NULL) != NULL;
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+struct soap_multipart *
+SOAP_FMAC2
+soap_get_mime_attachment(struct soap *soap, void *handle)
+{ register soap_wchar c = 0;
+  register size_t i, m = 0;
+  register char *s, *t = NULL;
+  register struct soap_multipart *content;
+  register short flag = 0;
+  if (!(soap->mode & SOAP_ENC_MIME))
+    return NULL;
+  content = soap->mime.last;
+  if (!content)
+  { if (soap_getmimehdr(soap))
+      return NULL;
+    content = soap->mime.last;
+  }
+  else if (content != soap->mime.first)
+  { if (soap->fmimewriteopen && ((content->ptr = (char*)soap->fmimewriteopen(soap, (void*)handle, content->id, content->type, content->description, content->encoding)) || soap->error))
+    { if (!content->ptr)
+        return NULL;
+    }
+  }
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Parsing MIME content id='%s' type='%s'\n", content->id ? content->id : SOAP_STR_EOS, content->type ? content->type : SOAP_STR_EOS));
+  if (!content->ptr && soap_new_block(soap) == NULL)
+  { soap->error = SOAP_EOM;
+    return NULL;
+  }
+  for (;;)
+  { if (content->ptr)
+      s = soap->tmpbuf;
+    else if (!(s = (char*)soap_push_block(soap, NULL, sizeof(soap->tmpbuf))))
+    { soap->error = SOAP_EOM;
+      return NULL;
+    }
+    for (i = 0; i < sizeof(soap->tmpbuf); i++)
+    { if (m > 0)
+      { *s++ = *t++;
+        m--;
+      }
+      else
+      { if (!flag)
+        { c = soap_get1(soap);
+          if ((int)c == EOF)
+          { if (content->ptr && soap->fmimewriteclose)
+              soap->fmimewriteclose(soap, (void*)content->ptr);
+            soap->error = SOAP_CHK_EOF;
+            return NULL;
+          }
+        }
+        if (flag || c == '\r')
+        { t = soap->msgbuf;
+          memset(t, 0, sizeof(soap->msgbuf));
+          strcpy(t, "\n--");
+          if (soap->mime.boundary)
+            strncat(t, soap->mime.boundary, sizeof(soap->msgbuf)-4);
+          do c = soap_getchar(soap);
+          while (c == *t++);
+          if ((int)c == EOF)
+          { if (content->ptr && soap->fmimewriteclose)
+              soap->fmimewriteclose(soap, (void*)content->ptr);
+            soap->error = SOAP_CHK_EOF;
+            return NULL;
+          }
+          if (!*--t)
+            goto end;
+          *t = (char)c;
+          flag = (c == '\r');
+          m = t - soap->msgbuf + 1 - flag;
+          t = soap->msgbuf;
+          c = '\r';
+        }
+        *s++ = (char)c;
+      }
+    }
+    if (content->ptr && soap->fmimewrite)
+    { if ((soap->error = soap->fmimewrite(soap, (void*)content->ptr, soap->tmpbuf, i)))
+        break;
+    }
+  }
+end:
+  *s = '\0'; /* make 0-terminated */
+  if (content->ptr)
+  { if (!soap->error && soap->fmimewrite)
+      soap->error = soap->fmimewrite(soap, (void*)content->ptr, soap->tmpbuf, i);
+    if (soap->fmimewriteclose)
+      soap->fmimewriteclose(soap, (void*)content->ptr);
+    if (soap->error)
+      return NULL;
+  }
+  else
+  { content->size = soap_size_block(soap, NULL, i+1) - 1; /* last block with '\0' */
+    content->ptr = soap_save_block(soap, NULL, NULL, 0);
+  }
+  soap_resolve_attachment(soap, content);
+  if (c == '-' && soap_getchar(soap) == '-')
+  { soap->mode &= ~SOAP_ENC_MIME;
+    if ((soap->mode & SOAP_MIME_POSTCHECK) && soap_end_recv(soap))
+    { if (soap->keep_alive < 0)
+        soap->keep_alive = 0;
+      soap_closesock(soap);
+      return NULL;
+    }
+  }
+  else
+  { while (c != '\r' && (int)c != EOF && soap_blank(c))
+      c = soap_getchar(soap);
+    if (c != '\r' || soap_getchar(soap) != '\n')
+    { soap->error = SOAP_MIME_ERROR;
+      return NULL;
+    }
+    if (soap_getmimehdr(soap))
+      return NULL;
+  }
+  return content;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_match_cid(struct soap *soap, const char *s, const char *t)
+{ register size_t n;
+  if (!s)
+    return 1;
+  if (!strcmp(s, t))
+    return 0;
+  if (!strncmp(s, "cid:", 4))
+    s += 4;
+  n = strlen(t);
+  if (*t == '<')
+  { t++;
+    n -= 2;
+  }
+  if (!strncmp(s, t, n) && !s[n])
+    return 0;
+  soap_decode(soap->tmpbuf, sizeof(soap->tmpbuf), s, SOAP_STR_EOS);
+  if (!strncmp(soap->tmpbuf, t, n) && !soap->tmpbuf[n])
+    return 0;
+  return 1;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+static void
+soap_resolve_attachment(struct soap *soap, struct soap_multipart *content)
+{ if (content->id)
+  { register struct soap_xlist **xp = &soap->xlist;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Resolving attachment data for id='%s'\n", content->id));
+    while (*xp)
+    { register struct soap_xlist *xq = *xp;
+      if (!soap_match_cid(soap, xq->id, content->id))
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Found matching attachment id='%s' for content id='%s'\n", xq->id, content->id));
+        *xp = xq->next;
+        *xq->ptr = (unsigned char*)content->ptr;
+        *xq->size = (int)content->size;
+        *xq->type = (char*)content->type;
+        if (content->options)
+          *xq->options = (char*)content->options;
+        else
+          *xq->options = (char*)content->description;
+        SOAP_FREE(soap, xq);
+      }
+      else
+        xp = &(*xp)->next;
+    }
+  }
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_putmimehdr(struct soap *soap, struct soap_multipart *content)
+{ const char *s;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "MIME attachment type='%s'\n", content->type ? content->type : SOAP_STR_EOS));
+  if (soap_send3(soap, "\r\n--", soap->mime.boundary, "\r\n"))
+    return soap->error;
+  if (content->type && soap_send3(soap, "Content-Type: ", content->type, "\r\n"))
+    return soap->error;
+  s = soap_code_str(mime_codes, content->encoding);
+  if (s && soap_send3(soap, "Content-Transfer-Encoding: ", s, "\r\n"))
+    return soap->error;
+  if (content->id && soap_send3(soap, "Content-ID: ", content->id, "\r\n"))
+    return soap->error;
+  if (content->location && soap_send3(soap, "Content-Location: ", content->location, "\r\n"))
+    return soap->error;
+  if (content->description && soap_send3(soap, "Content-Description: ", content->description, "\r\n"))
+    return soap->error;
+  return soap_send_raw(soap, "\r\n", 2);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_putmime(struct soap *soap)
+{ struct soap_multipart *content;
+  if (!(soap->mode & SOAP_ENC_MIME) || !soap->mime.boundary)
+    return SOAP_OK;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Sending MIME attachments\n"));
+  for (content = soap->mime.first; content; content = content->next)
+  { void *handle;
+    if (soap->fmimereadopen && ((handle = soap->fmimereadopen(soap, (void*)content->ptr, content->id, content->type, content->description)) || soap->error))
+    { size_t size = content->size;
+      if (!handle)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "fmimereadopen failed\n"));
+        return soap->error;
+      }
+      if (soap_putmimehdr(soap, content))
+        return soap->error;
+      if (!size)
+      { if ((soap->mode & SOAP_ENC_XML) || (soap->mode & SOAP_IO) == SOAP_IO_CHUNK || (soap->mode & SOAP_IO) == SOAP_IO_STORE)
+        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Chunked streaming MIME\n"));
+          do
+          { size = soap->fmimeread(soap, handle, soap->tmpbuf, sizeof(soap->tmpbuf));
+            DBGLOG(TEST, SOAP_MESSAGE(fdebug, "fmimeread returned %lu bytes\n", (unsigned long)size));
+            if (soap_send_raw(soap, soap->tmpbuf, size))
+              break;
+          } while (size);
+        }
+        else
+        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Error: cannot chunk streaming MIME (no HTTP chunking)\n"));
+        }
+      }
+      else
+      { do
+        { size_t bufsize;
+          if (size < sizeof(soap->tmpbuf))
+            bufsize = size;
+          else
+            bufsize = sizeof(soap->tmpbuf);
+          if (!(bufsize = soap->fmimeread(soap, handle, soap->tmpbuf, bufsize)))
+          { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "fmimeread failed: insufficient data (%lu bytes remaining from %lu bytes)\n", (unsigned long)size, (unsigned long)content->size));
+            soap->error = SOAP_EOF;
+            break;
+          }
+          if (soap_send_raw(soap, soap->tmpbuf, bufsize))
+            break;
+          size -= bufsize;
+        } while (size);
+      }
+      if (soap->fmimereadclose)
+        soap->fmimereadclose(soap, handle);
+    }
+    else
+    { if (soap_putmimehdr(soap, content)
+       || soap_send_raw(soap, content->ptr, content->size))
+        return soap->error;
+    }
+  }
+  return soap_send3(soap, "\r\n--", soap->mime.boundary, "--");
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_set_dime(struct soap *soap)
+{ soap->omode |= SOAP_ENC_DIME;
+  soap->dime.first = NULL;
+  soap->dime.last = NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_set_mime(struct soap *soap, const char *boundary, const char *start)
+{ soap->omode |= SOAP_ENC_MIME;
+  soap->mime.first = NULL;
+  soap->mime.last = NULL;
+  soap->mime.boundary = soap_strdup(soap, boundary);
+  soap->mime.start = soap_strdup(soap, start);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_clr_dime(struct soap *soap)
+{ soap->omode &= ~SOAP_ENC_DIME;
+  soap->dime.first = NULL;
+  soap->dime.last = NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_clr_mime(struct soap *soap)
+{ soap->omode &= ~SOAP_ENC_MIME;
+  soap->mime.first = NULL;
+  soap->mime.last = NULL;
+  soap->mime.boundary = NULL;
+  soap->mime.start = NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+static struct soap_multipart*
+soap_new_multipart(struct soap *soap, struct soap_multipart **first, struct soap_multipart **last, char *ptr, size_t size)
+{ struct soap_multipart *content;
+  content = (struct soap_multipart*)soap_malloc(soap, sizeof(struct soap_multipart));
+  if (content)
+  { content->next = NULL;
+    content->ptr = ptr;
+    content->size = size;
+    content->id = NULL;
+    content->type = NULL;
+    content->options = NULL;
+    content->encoding = SOAP_MIME_NONE;
+    content->location = NULL;
+    content->description = NULL;
+    if (!*first)
+      *first = content;
+    if (*last)
+      (*last)->next = content;
+    *last = content;
+  }
+  return content;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_set_dime_attachment(struct soap *soap, char *ptr, size_t size, const char *type, const char *id, unsigned short optype, const char *option)
+{ struct soap_multipart *content = soap_new_multipart(soap, &soap->dime.first, &soap->dime.last, ptr, size);
+  if (!content)
+    return SOAP_EOM;
+  content->id = soap_strdup(soap, id);
+  content->type = soap_strdup(soap, type);
+  content->options = soap_dime_option(soap, optype, option);
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_set_mime_attachment(struct soap *soap, char *ptr, size_t size, enum soap_mime_encoding encoding, const char *type, const char *id, const char *location, const char *description)
+{ struct soap_multipart *content = soap_new_multipart(soap, &soap->mime.first, &soap->mime.last, ptr, size);
+  if (!content)
+    return SOAP_EOM;
+  content->id = soap_strdup(soap, id);
+  content->type = soap_strdup(soap, type);
+  content->encoding = encoding;
+  content->location = soap_strdup(soap, location);
+  content->description = soap_strdup(soap, description);
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+struct soap_multipart*
+SOAP_FMAC2
+soap_next_multipart(struct soap_multipart *content)
+{ if (content)
+    return content->next;
+  return NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+static void
+soap_select_mime_boundary(struct soap *soap)
+{ while (!soap->mime.boundary || soap_valid_mime_boundary(soap))
+  { register char *s = soap->mime.boundary;
+    register size_t n = 0;
+    if (s)
+      n = strlen(s);
+    if (n < 16)
+    { n = 64;
+      s = soap->mime.boundary = (char*)soap_malloc(soap, n + 1);
+      if (!s)
+        return;
+    }
+    strcpy(s, "==");
+    s += 2;
+    n -= 4;
+    while (n)
+    { *s++ = soap_base64o[soap_random & 0x3F];
+      n--;
+    }
+    strcpy(s, "==");
+  }
+  if (!soap->mime.start)
+    soap->mime.start = "<SOAP-ENV:Envelope>";
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+static int
+soap_valid_mime_boundary(struct soap *soap)
+{ register struct soap_multipart *content;
+  register size_t k;
+  if (soap->fmimeread)
+    return SOAP_OK;
+  k = strlen(soap->mime.boundary);
+  for (content = soap->mime.first; content; content = content->next)
+  { if (content->ptr && content->size >= k)
+    { register const char *p = (const char*)content->ptr;
+      register size_t i;
+      for (i = 0; i < content->size - k; i++, p++)
+      { if (!strncmp(p, soap->mime.boundary, k))
+          return SOAP_ERR;
+      }
+    }
+  }
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifdef WITH_GZIP
+#ifndef PALM_1
+static int
+soap_getgziphdr(struct soap *soap)
+{ int i;
+  soap_wchar c = 0, f = 0;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Get gzip header\n"));
+  for (i = 0; i < 9; i++)
+  { if ((int)(c = soap_get1(soap) == EOF))
+      return soap->error = SOAP_ZLIB_ERROR;
+    if (i == 1 && c == 8)
+      soap->z_dict = 0;
+    if (i == 2)
+      f = c;
+  }
+  if (f & 0x04) /* FEXTRA */
+  { for (i = soap_get1(soap) | (soap_get1(soap) << 8); i; i--)
+    { if ((int)soap_get1(soap) == EOF)
+        return soap->error = SOAP_ZLIB_ERROR;
+    }
+  }
+  if (f & 0x08) /* skip FNAME */
+  { do
+      c = soap_get1(soap);
+    while (c && (int)c != EOF);
+  }
+  if ((int)c != EOF && (f & 0x10)) /* skip FCOMMENT */
+  { do
+      c = soap_get1(soap);
+    while (c && (int)c != EOF);
+  }
+  if ((int)c != EOF && (f & 0x02)) /* skip FHCRC (CRC32 is used) */
+  { if ((int)(c = soap_get1(soap)) != EOF)
+      c = soap_get1(soap);
+  }
+  if ((int)c == EOF)
+    return soap->error = SOAP_ZLIB_ERROR;
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_begin_serve(struct soap *soap)
+{
+#ifdef WITH_FASTCGI
+  if (FCGI_Accept() < 0)
+  { soap->error = SOAP_EOF;
+    return soap_send_fault(soap);
+  }
+#endif
+  soap_begin(soap);
+  if (soap_begin_recv(soap)
+   || soap_envelope_begin_in(soap)
+   || soap_recv_header(soap)
+   || soap_body_begin_in(soap))
+  { if (soap->error < SOAP_STOP)
+    {
+#ifdef WITH_FASTCGI
+      soap_send_fault(soap);
+#else
+      return soap_send_fault(soap);
+#endif
+    }
+    return soap_closesock(soap);
+  }
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_begin_recv(struct soap *soap)
+{ register soap_wchar c;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Initializing for input from socket=%d/fd=%d\n", soap->socket, soap->recvfd));
+  soap->error = SOAP_OK;
+  soap->filterstop = SOAP_OK;
+  soap_free_temp(soap);
+  soap_set_local_namespaces(soap);
+  soap->version = 0;	/* don't assume we're parsing SOAP content by default */
+#ifndef WITH_NOIDREF
+  soap_free_iht(soap);
+#endif
+  if ((soap->imode & SOAP_IO) == SOAP_IO_CHUNK)
+    soap->omode |= SOAP_IO_CHUNK;
+  soap->imode &= ~(SOAP_IO | SOAP_ENC_MIME);
+  soap->mode = soap->imode;
+  if (!soap->keep_alive)
+  { soap->buflen = 0;
+    soap->bufidx = 0;
+  }
+  if (!(soap->mode & SOAP_IO_KEEPALIVE))
+    soap->keep_alive = 0;
+  soap->ahead = 0;
+  soap->peeked = 0;
+  soap->level = 0;
+  soap->part = SOAP_BEGIN;
+  soap->alloced = 0;
+  soap->body = 1;
+  soap->count = 0;
+  soap->length = 0;
+  soap->cdata = 0;
+  *soap->endpoint = '\0';
+  soap->action = NULL;
+  soap->header = NULL;
+  soap->fault = NULL;
+  soap->status = 0;
+  soap->fform = NULL;
+#ifndef WITH_LEANER
+  soap->dom = NULL;
+  soap->dime.chunksize = 0;
+  soap->dime.buflen = 0;
+  soap->dime.list = NULL;
+  soap->dime.first = NULL;
+  soap->dime.last = NULL;
+  soap->mime.list = NULL;
+  soap->mime.first = NULL;
+  soap->mime.last = NULL;
+  soap->mime.boundary = NULL;
+  soap->mime.start = NULL;
+#endif
+#ifdef WIN32
+#ifndef UNDER_CE
+#ifndef WITH_FASTCGI
+  if (!soap_valid_socket(soap->socket) && !soap->is) /* Set win32 stdout or soap->sendfd to BINARY, e.g. to support DIME */
+#ifdef __BORLANDC__
+    setmode(soap->recvfd, _O_BINARY);
+#else
+    _setmode(soap->recvfd, _O_BINARY);
+#endif
+#endif
+#endif
+#endif
+#ifdef WITH_ZLIB
+  soap->mode &= ~SOAP_ENC_ZLIB;
+  soap->zlib_in = SOAP_ZLIB_NONE;
+  soap->zlib_out = SOAP_ZLIB_NONE;
+  soap->d_stream->next_in = Z_NULL;
+  soap->d_stream->avail_in = 0;
+  soap->d_stream->next_out = (Byte*)soap->buf;
+  soap->d_stream->avail_out = SOAP_BUFLEN;
+  soap->z_ratio_in = 1.0;
+#endif
+#ifdef WITH_OPENSSL
+  if (soap->ssl)
+    ERR_clear_error();
+#endif
+#ifndef WITH_LEANER
+  if (soap->fprepareinitrecv && (soap->error = soap->fprepareinitrecv(soap)))
+    return soap->error;
+#endif
+  c = soap_getchar(soap);
+#ifdef WITH_GZIP
+  if (c == 0x1F)
+  { if (soap_getgziphdr(soap))
+      return soap->error;
+    if (inflateInit2(soap->d_stream, -MAX_WBITS) != Z_OK)
+      return soap->error = SOAP_ZLIB_ERROR;
+    if (soap->z_dict)
+    { if (inflateSetDictionary(soap->d_stream, (const Bytef*)soap->z_dict, soap->z_dict_len) != Z_OK)
+        return soap->error = SOAP_ZLIB_ERROR;
+    }
+    soap->zlib_state = SOAP_ZLIB_INFLATE;
+    soap->mode |= SOAP_ENC_ZLIB;
+    soap->zlib_in = SOAP_ZLIB_GZIP;
+    soap->z_crc = crc32(0L, NULL, 0);
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "gzip initialized\n"));
+    if (!soap->z_buf)
+      soap->z_buf = (char*)SOAP_MALLOC(soap, SOAP_BUFLEN);
+    memcpy(soap->z_buf, soap->buf, SOAP_BUFLEN);
+    /* should not chunk over plain transport, so why bother to check? */
+    /* if ((soap->mode & SOAP_IO) == SOAP_IO_CHUNK) */
+    /*   soap->z_buflen = soap->bufidx; */
+    /* else */
+    soap->d_stream->next_in = (Byte*)(soap->z_buf + soap->bufidx);
+    soap->d_stream->avail_in = (unsigned int)(soap->buflen - soap->bufidx);
+    soap->z_buflen = soap->buflen;
+    soap->buflen = soap->bufidx;
+    c = ' ';
+  }
+#endif
+  while (soap_blank(c))
+    c = soap_getchar(soap);
+#ifndef WITH_LEANER
+  if (c == '-' && soap_get0(soap) == '-')
+    soap->mode |= SOAP_ENC_MIME;
+  else if ((c & 0xFFFC) == (SOAP_DIME_VERSION | SOAP_DIME_MB) && (soap_get0(soap) & 0xFFF0) == 0x20)
+    soap->mode |= SOAP_ENC_DIME;
+  else
+#endif
+  { /* skip BOM */
+    if (c == 0xEF && soap_get0(soap) == 0xBB)
+    { c = soap_get1(soap);
+      if ((c = soap_get1(soap)) == 0xBF)
+      { soap->mode &= ~SOAP_ENC_LATIN;
+        c = soap_getchar(soap);
+      }
+      else
+        c = (0x0F << 12) | (0xBB << 6) | (c & 0x3F); /* UTF-8 */
+    }
+    else if ((c == 0xFE && soap_get0(soap) == 0xFF)  /* UTF-16 BE */
+          || (c == 0xFF && soap_get0(soap) == 0xFE)) /* UTF-16 LE */
+      return soap->error = SOAP_UTF_ERROR;
+    /* skip space */
+    while (soap_blank(c))
+      c = soap_getchar(soap);
+  }
+  if ((int)c == EOF)
+    return soap->error = SOAP_CHK_EOF;
+  soap_unget(soap, c);
+#ifndef WITH_NOHTTP
+  /* if not XML/MIME/DIME/ZLIB, assume HTTP method or status line */
+  if (((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')) && !(soap->mode & (SOAP_ENC_MIME | SOAP_ENC_DIME | SOAP_ENC_ZLIB | SOAP_ENC_XML)))
+  { soap_mode m = soap->imode;
+    soap->mode &= ~SOAP_IO;
+    soap->error = soap->fparse(soap);
+    if (soap->error && soap->error < SOAP_STOP)
+    { soap->keep_alive = 0; /* force close later */
+      return soap->error;
+    }
+    if (soap->error == SOAP_STOP)
+    { if (soap->fform)
+      { soap->error = soap->fform(soap);
+        if (soap->error == SOAP_OK)
+          soap->error = SOAP_STOP; /* prevents further processing */
+      }
+      return soap->error;
+    }
+    soap->mode = soap->imode; /* if imode is changed, effectuate */
+    soap->imode = m; /* restore imode */
+#ifdef WITH_ZLIB
+    soap->mode &= ~SOAP_ENC_ZLIB;
+#endif
+    if ((soap->mode & SOAP_IO) == SOAP_IO_CHUNK)
+    { soap->chunkbuflen = soap->buflen;
+      soap->buflen = soap->bufidx;
+      soap->chunksize = 0;
+    }
+    /* Note: fparse should not use soap_unget to push back last char */
+#if 0
+    if (soap->status > 200 && soap->length == 0 && !(soap->http_content && (!soap->keep_alive || soap->recv_timeout)) && (soap->imode & SOAP_IO) != SOAP_IO_CHUNK)
+#endif
+    if (soap->status && !soap->body)
+      return soap->error = soap->status;
+#ifdef WITH_ZLIB
+    if (soap->zlib_in != SOAP_ZLIB_NONE)
+    {
+#ifdef WITH_GZIP
+      if (soap->zlib_in != SOAP_ZLIB_DEFLATE)
+      { c = soap_get1(soap);
+        if (c == (int)EOF)
+          return soap->error = SOAP_EOF;
+        if (c == 0x1F)
+        { if (soap_getgziphdr(soap))
+            return soap->error;
+          if (inflateInit2(soap->d_stream, -MAX_WBITS) != Z_OK)
+            return soap->error = SOAP_ZLIB_ERROR;
+          soap->z_crc = crc32(0L, NULL, 0);
+          DBGLOG(TEST, SOAP_MESSAGE(fdebug, "gzip initialized\n"));
+        }
+        else
+        { soap_revget1(soap);
+          if (inflateInit(soap->d_stream) != Z_OK)
+            return soap->error = SOAP_ZLIB_ERROR;
+          soap->zlib_in = SOAP_ZLIB_DEFLATE;
+        }
+      }
+      else
+#endif
+      if (inflateInit(soap->d_stream) != Z_OK)
+        return soap->error = SOAP_ZLIB_ERROR;
+      if (soap->z_dict)
+      { if (inflateSetDictionary(soap->d_stream, (const Bytef*)soap->z_dict, soap->z_dict_len) != Z_OK)
+          return soap->error = SOAP_ZLIB_ERROR;
+      }
+      soap->zlib_state = SOAP_ZLIB_INFLATE;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Inflate initialized\n"));
+      soap->mode |= SOAP_ENC_ZLIB;
+      if (!soap->z_buf)
+        soap->z_buf = (char*)SOAP_MALLOC(soap, SOAP_BUFLEN);
+      memcpy(soap->z_buf, soap->buf, SOAP_BUFLEN);
+      soap->d_stream->next_in = (Byte*)(soap->z_buf + soap->bufidx);
+      soap->d_stream->avail_in = (unsigned int)(soap->buflen - soap->bufidx);
+      soap->z_buflen = soap->buflen;
+      soap->buflen = soap->bufidx;
+    }
+#endif
+#ifndef WITH_LEANER
+    if (soap->fpreparerecv && (soap->mode & SOAP_IO) != SOAP_IO_CHUNK && soap->buflen > soap->bufidx)
+    { int r;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Invoking fpreparerecv\n"));
+      if ((r = soap->fpreparerecv(soap, soap->buf + soap->bufidx, soap->buflen - soap->bufidx)))
+        return soap->error = r;
+    }
+#endif
+    if (soap_get0(soap) == (int)EOF)
+    { if (soap->status == 0 || soap->status == 200)
+        return soap->error = SOAP_NO_DATA; /* HTTP OK: always expect data */
+      return soap->error = soap->status;
+    }
+    if (soap->error)
+    { if (soap->error == SOAP_FORM && soap->fform)
+      { soap->error = soap->fform(soap);
+        if (soap->error == SOAP_OK)
+          soap->error = SOAP_STOP; /* prevents further processing */
+      }
+      return soap->error;
+    }
+  }
+#endif
+#ifndef WITH_LEANER
+  if (soap->mode & SOAP_ENC_MIME)
+  { do /* skip preamble */
+    { if ((int)(c = soap_getchar(soap)) == EOF)
+        return soap->error = SOAP_CHK_EOF;
+    } while (c != '-' || soap_get0(soap) != '-');
+    soap_unget(soap, c);
+    if (soap_getmimehdr(soap))
+      return soap->error;
+    if (soap->mime.start)
+    { do
+      { if (!soap->mime.last->id)
+          break;
+        if (!soap_match_cid(soap, soap->mime.start, soap->mime.last->id))
+          break;
+      } while (soap_get_mime_attachment(soap, NULL));
+    }
+    if (soap_get_header_attribute(soap, soap->mime.first->type, "application/dime"))
+      soap->mode |= SOAP_ENC_DIME;
+  }
+  if (soap->mode & SOAP_ENC_DIME)
+  { if (soap_getdimehdr(soap))
+      return soap->error;
+    if (soap->dime.flags & SOAP_DIME_CF)
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Chunked DIME SOAP message\n"));
+      soap->dime.chunksize = soap->dime.size;
+      if (soap->buflen - soap->bufidx >= soap->dime.chunksize)
+      { soap->dime.buflen = soap->buflen;
+        soap->buflen = soap->bufidx + soap->dime.chunksize;
+      }
+      else
+        soap->dime.chunksize -= soap->buflen - soap->bufidx;
+    }
+    soap->count = soap->buflen - soap->bufidx;
+  }
+#endif
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_envelope_begin_out(struct soap *soap)
+{
+#ifndef WITH_LEANER
+  size_t n = 0;
+  if ((soap->mode & SOAP_ENC_MIME) && soap->mime.boundary && soap->mime.start && strlen(soap->mime.boundary) + strlen(soap->mime.start) < sizeof(soap->tmpbuf) - 80 )
+  { const char *s;
+    if ((soap->mode & SOAP_ENC_DIME) && !(soap->mode & SOAP_ENC_MTOM))
+      s = "application/dime";
+    else if (soap->version == 2)
+    { if (soap->mode & SOAP_ENC_MTOM)
+        s = "application/xop+xml; charset=utf-8; type=\"application/soap+xml\"";
+      else
+        s = "application/soap+xml; charset=utf-8";
+    }
+    else if (soap->mode & SOAP_ENC_MTOM)
+      s = "application/xop+xml; charset=utf-8; type=\"text/xml\"";
+    else
+      s = "text/xml; charset=utf-8";
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "--%s\r\nContent-Type: %s\r\nContent-Transfer-Encoding: binary\r\nContent-ID: %s\r\n\r\n", soap->mime.boundary, s, soap->mime.start);
+#else
+    sprintf(soap->tmpbuf, "--%s\r\nContent-Type: %s\r\nContent-Transfer-Encoding: binary\r\nContent-ID: %s\r\n\r\n", soap->mime.boundary, s, soap->mime.start);
+#endif
+    n = strlen(soap->tmpbuf);
+    if (soap_send_raw(soap, soap->tmpbuf, n))
+      return soap->error;
+  }
+  if (soap->mode & SOAP_IO_LENGTH)
+    soap->dime.size = soap->count;	/* DIME in MIME correction */
+  if (!(soap->mode & SOAP_IO_LENGTH) && (soap->mode & SOAP_ENC_DIME))
+  { if (soap_putdimehdr(soap))
+      return soap->error;
+  }
+#endif
+  if (soap->version == 0)
+    return SOAP_OK;
+  soap->part = SOAP_IN_ENVELOPE;
+  return soap_element_begin_out(soap, "SOAP-ENV:Envelope", 0, NULL);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_envelope_end_out(struct soap *soap)
+{ if (soap->version == 0)
+    return SOAP_OK;
+  if (soap_element_end_out(soap, "SOAP-ENV:Envelope")
+   || soap_send_raw(soap, "\r\n", 2))	/* 2.8: always emit \r\n */
+    return soap->error;
+#ifndef WITH_LEANER
+  if ((soap->mode & SOAP_IO_LENGTH) && (soap->mode & SOAP_ENC_DIME) && !(soap->mode & SOAP_ENC_MTOM))
+  { soap->dime.size = soap->count - soap->dime.size;	/* DIME in MIME correction */
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->id, sizeof(soap->id), soap->dime_id_format, 0);
+#else
+    sprintf(soap->id, soap->dime_id_format, 0);
+#endif
+    soap->dime.id = soap->id;
+    if (soap->local_namespaces)
+    { if (soap->local_namespaces[0].out)
+        soap->dime.type = (char*)soap->local_namespaces[0].out;
+      else
+        soap->dime.type = (char*)soap->local_namespaces[0].ns;
+    }
+    soap->dime.options = NULL;
+    soap->dime.flags = SOAP_DIME_MB | SOAP_DIME_ABSURI;
+    if (!soap->dime.first)
+      soap->dime.flags |= SOAP_DIME_ME;
+    soap->count += 12 + ((strlen(soap->dime.id)+3)&(~3)) + (soap->dime.type ? ((strlen(soap->dime.type)+3)&(~3)) : 0);
+  }
+  if ((soap->mode & SOAP_ENC_DIME) && !(soap->mode & SOAP_ENC_MTOM))
+    return soap_send_raw(soap, SOAP_STR_PADDING, -(long)soap->dime.size&3);
+#endif
+  soap->part = SOAP_END_ENVELOPE;
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+#ifndef PALM_1
+SOAP_FMAC1
+char*
+SOAP_FMAC2
+soap_get_http_body(struct soap *soap, size_t *len)
+{ if (len)
+    *len = 0;
+#ifndef WITH_LEAN
+  register size_t l = 0, n = 0;
+  register char *s;
+  /* get HTTP body length */
+  if (!(soap->mode & SOAP_ENC_ZLIB) && (soap->mode & SOAP_IO) != SOAP_IO_CHUNK)
+  { n = soap->length;
+    if (!n)
+      return NULL;
+  }
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Parsing HTTP body (mode=0x%x,len=%lu)\n", soap->mode, (unsigned long)n));
+#ifdef WITH_FAST
+  soap->labidx = 0;			/* use look-aside buffer */
+#else
+  if (soap_new_block(soap) == NULL)
+    return NULL;
+#endif
+  for (;;)
+  {
+#ifdef WITH_FAST
+    register size_t i, k;
+    if (soap_append_lab(soap, NULL, 0))	/* allocate more space in look-aside buffer if necessary */
+      return NULL;
+    s = soap->labbuf + soap->labidx;	/* space to populate */
+    k = soap->lablen - soap->labidx;	/* number of bytes available */
+    soap->labidx = soap->lablen;	/* claim this space */
+#else
+    register size_t i, k = SOAP_BLKLEN;
+    if (!(s = (char*)soap_push_block(soap, NULL, k)))
+      return NULL;
+#endif
+    for (i = 0; i < k; i++)
+    { register soap_wchar c;
+      l++;
+      if (n > 0 && l > n)
+        goto end;
+      c = soap_get1(soap);
+      if ((int)c == EOF)
+        goto end;
+      *s++ = (char)(c & 0xFF);
+    }
+  }
+end:
+  *s = '\0';
+  if (len)
+    *len = l - 1; /* len excludes terminating \0 */
+#ifdef WITH_FAST
+  if ((s = (char*)soap_malloc(soap, l)))
+    memcpy(s, soap->labbuf, l);
+#else
+  soap_size_block(soap, NULL, i+1);
+  s = soap_save_block(soap, NULL, 0);
+#endif
+  return s;
+#else
+  return NULL;
+#endif
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_envelope_begin_in(struct soap *soap)
+{ register struct Namespace *p;
+  soap->part = SOAP_IN_ENVELOPE;
+  if (soap_element_begin_in(soap, "SOAP-ENV:Envelope", 0, NULL))
+  { if (soap->error == SOAP_TAG_MISMATCH)
+    { if (!soap_element_begin_in(soap, "Envelope", 0, NULL))
+        soap->error = SOAP_VERSIONMISMATCH;
+      else if (soap->status == 0 || (soap->status >= 200 && soap->status <= 299))
+        return SOAP_OK; /* allow non-SOAP XML content to be captured */
+      soap->error = soap->status;
+    }
+    else if (soap->status)
+      soap->error = soap->status;
+    return soap->error;
+  }
+  p = soap->local_namespaces;
+  if (p)
+  { const char *ns = p[0].out;
+    if (!ns)
+      ns = p[0].ns;
+    if (!strcmp(ns, soap_env1))
+    { soap->version = 1; /* make sure we use SOAP 1.1 */
+      if (p[1].out)
+        SOAP_FREE(soap, p[1].out);
+      if ((p[1].out = (char*)SOAP_MALLOC(soap, sizeof(soap_enc1))))
+        strcpy(p[1].out, soap_enc1);
+    }
+    else if (!strcmp(ns, soap_env2))
+    { soap->version = 2; /* make sure we use SOAP 1.2 */
+      if (p[1].out)
+        SOAP_FREE(soap, p[1].out);
+      if ((p[1].out = (char*)SOAP_MALLOC(soap, sizeof(soap_enc2))))
+        strcpy(p[1].out, soap_enc2);
+    }
+  }
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_envelope_end_in(struct soap *soap)
+{ if (soap->version == 0)
+    return SOAP_OK;
+  soap->part = SOAP_END_ENVELOPE;
+  return soap_element_end_in(soap, "SOAP-ENV:Envelope");
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_body_begin_out(struct soap *soap)
+{ if (soap->version == 1)
+    soap->encoding = 1;
+#ifndef WITH_LEAN
+  if ((soap->mode & SOAP_SEC_WSUID) && soap_set_attr(soap, "wsu:Id", "Body", 1))
+    return soap->error;
+#endif
+  if (soap->version == 0)
+    return SOAP_OK;
+  soap->part = SOAP_IN_BODY;
+  return soap_element_begin_out(soap, "SOAP-ENV:Body", 0, NULL);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_body_end_out(struct soap *soap)
+{ if (soap->version == 0)
+    return SOAP_OK;
+  if (soap_element_end_out(soap, "SOAP-ENV:Body"))
+    return soap->error;
+  soap->part = SOAP_END_BODY;
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_body_begin_in(struct soap *soap)
+{ if (soap->version == 0)
+    return SOAP_OK;
+  soap->part = SOAP_IN_BODY;
+  if (soap_element_begin_in(soap, "SOAP-ENV:Body", 0, NULL))
+    return soap->error;
+  if (!soap->body)
+    soap->part = SOAP_NO_BODY;
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_body_end_in(struct soap *soap)
+{ if (soap->version == 0)
+    return SOAP_OK;
+  if (soap->part == SOAP_NO_BODY)
+    return soap->error = SOAP_OK;
+  soap->part = SOAP_END_BODY;
+  return soap_element_end_in(soap, "SOAP-ENV:Body");
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_recv_header(struct soap *soap)
+{ if (soap_getheader(soap) && soap->error == SOAP_TAG_MISMATCH)
+    soap->error = SOAP_OK;
+  if (soap->error == SOAP_OK && soap->fheader)
+    soap->error = soap->fheader(soap);
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_set_endpoint(struct soap *soap, const char *endpoint)
+{ register const char *s;
+  register size_t i, n;
+  soap->endpoint[0] = '\0';
+  soap->host[0] = '\0';
+  soap->path[0] = '/';
+  soap->path[1] = '\0';
+  soap->port = 80;
+  if (!endpoint || !*endpoint)
+    return;
+#ifdef WITH_OPENSSL
+  if (!soap_tag_cmp(endpoint, "https:*"))
+    soap->port = 443;
+#endif
+  strncpy(soap->endpoint, endpoint, sizeof(soap->endpoint));
+  soap->endpoint[sizeof(soap->endpoint) - 1] = '\0';
+  s = strchr(endpoint, ':');
+  if (s && s[1] == '/' && s[2] == '/')
+    s += 3;
+  else
+    s = endpoint;
+  n = strlen(s);
+  if (n >= sizeof(soap->host))
+    n = sizeof(soap->host) - 1;
+#ifdef WITH_IPV6
+  if (s[0] == '[')
+  { s++;
+    for (i = 0; i < n; i++)
+    { if (s[i] == ']')
+      { s++;
+        --n;
+        break;
+      }
+      soap->host[i] = s[i];
+    }
+  }
+  else
+  { for (i = 0; i < n; i++)
+    { soap->host[i] = s[i];
+      if (s[i] == '/' || s[i] == ':')
+        break;
+    }
+  }
+#else
+  for (i = 0; i < n; i++)
+  { soap->host[i] = s[i];
+    if (s[i] == '/' || s[i] == ':')
+      break;
+  }
+#endif
+  soap->host[i] = '\0';
+  if (s[i] == ':')
+  { soap->port = (int)soap_strtol(s + i + 1, NULL, 10);
+    for (i++; i < n; i++)
+      if (s[i] == '/')
+        break;
+  }
+  if (i < n && s[i])
+  { strncpy(soap->path, s + i, sizeof(soap->path));
+    soap->path[sizeof(soap->path) - 1] = '\0';
+  }
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_connect(struct soap *soap, const char *endpoint, const char *action)
+{ return soap_connect_command(soap, SOAP_POST, endpoint, action);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_connect_command(struct soap *soap, int http_command, const char *endpoints, const char *action)
+{ char *endpoint;
+  const char *s;
+  if (endpoints && (s = strchr(endpoints, ' ')))
+  { endpoint = (char*)SOAP_MALLOC(soap, strlen(endpoints) + 1);
+    for (;;)
+    { strncpy(endpoint, endpoints, s - endpoints);
+      endpoint[s - endpoints] = '\0';
+      if (soap_try_connect_command(soap, http_command, endpoint, action) != SOAP_TCP_ERROR)
+        break;
+      if (!*s)
+        break;
+      soap->error = SOAP_OK;
+      while (*s == ' ')
+        s++;
+      endpoints = s;
+      s = strchr(endpoints, ' ');
+      if (!s)
+        s = endpoints + strlen(endpoints);
+    }
+    SOAP_FREE(soap, endpoint);
+  }
+  else
+    soap_try_connect_command(soap, http_command, endpoints, action);
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+static int
+soap_try_connect_command(struct soap *soap, int http_command, const char *endpoint, const char *action)
+{ char host[sizeof(soap->host)];
+  int port;
+  size_t count;
+  soap->error = SOAP_OK;
+  strcpy(host, soap->host); /* save previous host name: if != then reconnect */
+  port = soap->port; /* save previous port to compare */
+  soap->status = http_command;
+  soap_set_endpoint(soap, endpoint);
+#ifndef WITH_LEANER
+  if (soap->fconnect)
+  { if ((soap->error = soap->fconnect(soap, endpoint, soap->host, soap->port)))
+      return soap->error;
+  }
+  else
+#endif
+  soap->action = soap_strdup(soap, action);
+  if (soap->fopen && *soap->host)
+  { if (!soap->keep_alive || !soap_valid_socket(soap->socket) || strcmp(soap->host, host) || soap->port != port || !soap->fpoll || soap->fpoll(soap))
+    { soap->error = SOAP_OK;
+#ifndef WITH_LEAN
+      if (!strncmp(endpoint, "soap.udp:", 9))
+        soap->omode |= SOAP_IO_UDP;
+      else
+#endif
+      { soap->keep_alive = 0; /* to force close */
+        soap->omode &= ~SOAP_IO_UDP; /* to force close */
+      }
+      soap_closesock(soap);
+      DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Connect/reconnect to '%s' host='%s' path='%s' port=%d\n", endpoint?endpoint:"(null)", soap->host, soap->path, soap->port));
+      if (!soap->keep_alive || !soap_valid_socket(soap->socket))
+      { soap->socket = soap->fopen(soap, endpoint, soap->host, soap->port);
+        if (soap->error)
+          return soap->error;
+        soap->keep_alive = ((soap->omode & SOAP_IO_KEEPALIVE) != 0);
+      }
+    }
+  }
+#ifdef WITH_NTLM
+  if (soap_ntlm_handshake(soap, SOAP_GET, endpoint, soap->host, soap->port))
+    return soap->error;
+#endif
+  count = soap_count_attachments(soap);
+  if (soap_begin_send(soap))
+    return soap->error;
+  if (http_command == SOAP_GET)
+  { soap->mode &= ~SOAP_IO;
+    soap->mode |= SOAP_IO_BUFFER;
+  }
+#ifndef WITH_NOHTTP
+  if ((soap->mode & SOAP_IO) != SOAP_IO_STORE && !(soap->mode & SOAP_ENC_XML) && endpoint)
+  { unsigned int k = soap->mode;
+    soap->mode &= ~(SOAP_IO | SOAP_ENC_ZLIB);
+    if ((k & SOAP_IO) != SOAP_IO_FLUSH)
+      soap->mode |= SOAP_IO_BUFFER;
+    if ((soap->error = soap->fpost(soap, endpoint, soap->host, soap->port, soap->path, action, count)))
+      return soap->error;
+#ifndef WITH_LEANER
+    if ((k & SOAP_IO) == SOAP_IO_CHUNK)
+    { if (soap_flush(soap))
+        return soap->error;
+    }
+#endif
+    soap->mode = k;
+  }
+  if (http_command == SOAP_GET || http_command == SOAP_DEL)
+    return soap_end_send_flush(soap);
+#endif
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifdef WITH_NTLM
+#ifndef PALM_1
+static int
+soap_ntlm_handshake(struct soap *soap, int command, const char *endpoint, const char *host, int port)
+{ /* requires libntlm from http://www.nongnu.org/libntlm/ */
+  const char *userid = (soap->proxy_userid ? soap->proxy_userid : soap->userid);
+  const char *passwd = (soap->proxy_passwd ? soap->proxy_passwd : soap->passwd);
+  struct SOAP_ENV__Header *oldheader;
+  if (soap->ntlm_challenge && userid && passwd && soap->authrealm)
+  { tSmbNtlmAuthRequest req;  
+    tSmbNtlmAuthResponse res;
+    tSmbNtlmAuthChallenge ch;
+    short k = soap->keep_alive;
+    size_t l = soap->length;
+    size_t c = soap->count;
+    soap_mode m = soap->mode, o = soap->omode;
+    int s = soap->status;
+    char *a = soap->action;
+    short v = soap->version;
+    DBGLOG(TEST,SOAP_MESSAGE(fdebug, "NTLM '%s'\n", soap->ntlm_challenge));
+    if (!*soap->ntlm_challenge)
+    { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "NTLM S->C Type 1: received NTLM authentication challenge from server\n"));
+      /* S -> C   401 Unauthorized
+                  WWW-Authenticate: NTLM
+      */
+      buildSmbNtlmAuthRequest(&req, userid, soap->authrealm);
+      soap->ntlm_challenge = soap_s2base64(soap, (unsigned char*)&req, NULL, SmbLength(&req));
+      DBGLOG(TEST,SOAP_MESSAGE(fdebug, "NTLM C->S Type 2: sending NTLM authorization to server\nAuthorization: NTLM %s\n", soap->ntlm_challenge));
+      /* C -> S   GET ...
+                  Authorization: NTLM TlRMTVNTUAABAAAAA7IAAAoACgApAAAACQAJACAAAABMSUdIVENJVFlVUlNBLU1JTk9S
+      */
+      soap->omode = SOAP_IO_BUFFER;
+      if (soap_begin_send(soap))
+        return soap->error;
+      soap->keep_alive = 1;
+      soap->status = command;
+      if (soap->fpost(soap, endpoint, host, port, soap->path, soap->action, 0)
+       || soap_end_send_flush(soap))
+        return soap->error;
+      soap->mode = m;
+      soap->keep_alive = k;
+      DBGLOG(TEST,SOAP_MESSAGE(fdebug, "NTLM S->C Type 2: waiting on server NTLM response\n"));
+      oldheader = soap->header;
+      if (soap_begin_recv(soap))
+        if (soap->error == SOAP_EOF)
+          return soap->error;
+      soap_end_recv(soap);
+      soap->header = oldheader;
+      soap->length = l;
+      if (soap->status != 401 && soap->status != 407)
+        return soap->error = SOAP_NTLM_ERROR;
+      soap->error = SOAP_OK;
+    }
+    /* S -> C   401 Unauthorized
+                WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAAAAACgAAAABggAAU3J2Tm9uY2UAAAAAAAAAAA==
+    */
+    soap_base642s(soap, soap->ntlm_challenge, (char*)&ch, sizeof(tSmbNtlmAuthChallenge), NULL);
+    buildSmbNtlmAuthResponse(&ch, &res, userid, passwd);
+    soap->ntlm_challenge = soap_s2base64(soap, (unsigned char*)&res, NULL, SmbLength(&res));
+    DBGLOG(TEST,SOAP_MESSAGE(fdebug, "NTLM C->S Type 3: sending NTLM authorization to server\nAuthorization: NTLM %s\n", soap->ntlm_challenge));
+    /* C -> S   GET ...
+                Authorization: NTLM TlRMTVNTUAADAAAAGAAYAHIAAAAYABgAigAAABQAFABAAAAADAAMAFQAAAASABIAYAAAAAAAAACiAAAAAYIAAFUAUgBTAEEALQBNAEkATgBPAFIAWgBhAHAAaABvAGQATABJAEcASABUAEMASQBUAFkArYfKbe/jRoW5xDxHeoxC1gBmfWiS5+iX4OAN4xBKG/IFPwfH3agtPEia6YnhsADT
+    */
+    soap->userid = NULL;
+    soap->passwd = NULL;
+    soap->proxy_userid = NULL;
+    soap->proxy_passwd = NULL;
+    soap->keep_alive = k;
+    soap->length = l;
+    soap->count = c;
+    soap->mode = m;
+    soap->omode = o;
+    soap->status = s;
+    soap->action = a;
+    soap->version = v;
+  }
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+char*
+SOAP_FMAC2
+soap_s2base64(struct soap *soap, const unsigned char *s, char *t, int n)
+{ register int i;
+  register unsigned long m;
+  register char *p;
+  if (!t)
+    t = (char*)soap_malloc(soap, (n + 2) / 3 * 4 + 1);
+  if (!t)
+    return NULL;
+  p = t;
+  t[0] = '\0';
+  if (!s)
+    return p;
+  for (; n > 2; n -= 3, s += 3)
+  { m = s[0];
+    m = (m << 8) | s[1];
+    m = (m << 8) | s[2];
+    for (i = 4; i > 0; m >>= 6)
+      t[--i] = soap_base64o[m & 0x3F];
+    t += 4;
+  }
+  t[0] = '\0';
+  if (n > 0) /* 0 < n <= 2 implies that t[0..4] is allocated (base64 scaling formula) */
+  { m = 0;
+    for (i = 0; i < n; i++)
+      m = (m << 8) | *s++;
+    for (; i < 3; i++)
+      m <<= 8;
+    for (i = 4; i > 0; m >>= 6)
+      t[--i] = soap_base64o[m & 0x3F];
+    for (i = 3; i > n; i--)
+      t[i] = '=';
+    t[4] = '\0';
+  }
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_base642s(struct soap *soap, const char *s, char *t, size_t l, int *n)
+{ register size_t i, j;
+  register soap_wchar c;
+  register unsigned long m;
+  register const char *p;
+  if (!s || !*s)
+  { if (n)
+      *n = 0;
+    if (soap->error)
+      return NULL;
+    return SOAP_NON_NULL;
+  }
+  if (!t)
+  { l = (strlen(s) + 3) / 4 * 3 + 1;	/* make sure enough space for \0 */
+    t = (char*)soap_malloc(soap, l);
+  }
+  if (!t)
+    return NULL;
+  p = t;
+  if (n)
+    *n = 0;
+  for (i = 0; ; i += 3, l -= 3)
+  { m = 0;
+    j = 0;
+    while (j < 4)
+    { c = *s++;
+      if (c == '=' || !c)
+      { if (l >= j - 1)
+        { switch (j)
+          { case 2:
+              *t++ = (char)((m >> 4) & 0xFF);
+              i++;
+              l--;
+              break;
+            case 3:
+              *t++ = (char)((m >> 10) & 0xFF);
+              *t++ = (char)((m >> 2) & 0xFF);
+              i += 2;
+              l -= 2;
+          }
+        }
+        if (n)
+          *n = (int)i;
+        if (l)
+          *t = '\0';
+        return p;
+      }
+      c -= '+';
+      if (c >= 0 && c <= 79)
+      { int b = soap_base64i[c];
+        if (b >= 64)
+        { soap->error = SOAP_TYPE;
+          return NULL;
+        }
+        m = (m << 6) + b;
+        j++;
+      }
+      else if (!soap_blank(c + '+'))
+      { soap->error = SOAP_TYPE;
+        return NULL;
+      }
+    }
+    if (l < 3)
+    { if (n)
+        *n = (int)i;
+      if (l)
+        *t = '\0';
+      return p;
+    }
+    *t++ = (char)((m >> 16) & 0xFF);
+    *t++ = (char)((m >> 8) & 0xFF);
+    *t++ = (char)(m & 0xFF);
+  }
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+char*
+SOAP_FMAC2
+soap_s2hex(struct soap *soap, const unsigned char *s, char *t, int n)
+{ register char *p;
+  if (!t)
+    t = (char*)soap_malloc(soap, 2 * n + 1);
+  if (!t)
+    return NULL;
+  p = t;
+  t[0] = '\0';
+  if (s)
+  { for (; n > 0; n--)
+    { register int m = *s++;
+      *t++ = (char)((m >> 4) + (m > 159 ? 'a' - 10 : '0'));
+      m &= 0x0F;
+      *t++ = (char)(m + (m > 9 ? 'a' - 10 : '0'));
+    }
+  }
+  *t++ = '\0';
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_hex2s(struct soap *soap, const char *s, char *t, size_t l, int *n)
+{ register const char *p;
+  if (!s || !*s)
+  { if (n)
+      *n = 0;
+    if (soap->error)
+      return NULL;
+    return SOAP_NON_NULL;
+  }
+  if (!t)
+  { l = strlen(s) / 2 + 1;	/* make sure enough space for \0 */
+    t = (char*)soap_malloc(soap, l);
+  }
+  if (!t)
+    return NULL;
+  p = t;
+  while (l)
+  { register int d1, d2;
+    d1 = *s++;
+    if (!d1)
+      break;
+    d2 = *s++;
+    if (!d2)
+      break;
+    *t++ = (char)(((d1 >= 'A' ? (d1 & 0x7) + 9 : d1 - '0') << 4) + (d2 >= 'A' ? (d2 & 0x7) + 9 : d2 - '0'));
+    l--;
+  }
+  if (n)
+    *n = (int)(t - p);
+  if (l)
+    *t = '\0';
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_puthttphdr(struct soap *soap, int status, size_t count)
+{ if (soap->status != SOAP_GET && soap->status != SOAP_DEL && soap->status != SOAP_CONNECT)
+  { register const char *s = "text/xml; charset=utf-8";
+    register int err = SOAP_OK;
+#ifndef WITH_LEANER
+    register const char *r = NULL;
+#endif
+    if ((status == SOAP_FILE || soap->status == SOAP_PUT || soap->status == SOAP_POST_FILE) && soap->http_content && !strchr(s, 10) && !strchr(s, 13))
+      s = soap->http_content;
+    else if (status == SOAP_HTML)
+      s = "text/html; charset=utf-8";
+    else if (count || ((soap->omode & SOAP_IO) == SOAP_IO_CHUNK))
+    { if (soap->version == 2)
+        s = "application/soap+xml; charset=utf-8";
+    }
+#ifndef WITH_LEANER
+    if (soap->mode & (SOAP_ENC_DIME | SOAP_ENC_MTOM))
+    { if (soap->mode & SOAP_ENC_MTOM)
+      { if (soap->version == 2)
+          r = "application/soap+xml";
+        else
+          r = "text/xml";
+        s = "application/xop+xml";
+      }
+      else
+        s = "application/dime";
+    }
+    if ((soap->mode & SOAP_ENC_MIME) && soap->mime.boundary && strlen(soap->mime.boundary) + strlen(soap->mime.start ? soap->mime.start : SOAP_STR_EOS) < sizeof(soap->tmpbuf) - 80)
+    { register const char *t;
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "multipart/related; charset=utf-8; boundary=\"%s\"; type=\"", soap->mime.boundary);
+#else
+      sprintf(soap->tmpbuf, "multipart/related; charset=utf-8; boundary=\"%s\"; type=\"", soap->mime.boundary);
+#endif
+      t = strchr(s, ';');
+      if (t)
+        strncat(soap->tmpbuf, s, t - s);
+      else
+        strcat(soap->tmpbuf, s);
+      if (soap->mime.start && strlen(soap->tmpbuf) + strlen(soap->mime.start) + 11 < sizeof(soap->tmpbuf))
+      { strcat(soap->tmpbuf, "\"; start=\"");
+        strcat(soap->tmpbuf, soap->mime.start);
+      }
+      strcat(soap->tmpbuf, "\"");
+      if (r && strlen(soap->tmpbuf) + strlen(r) + 15 < sizeof(soap->tmpbuf))
+      { strcat(soap->tmpbuf, "; start-info=\"");
+        strcat(soap->tmpbuf, r);
+        strcat(soap->tmpbuf, "\"");
+      }
+    }
+    else
+      strncpy(soap->tmpbuf, s, sizeof(soap->tmpbuf));
+    soap->tmpbuf[sizeof(soap->tmpbuf) - 1] = '\0';
+    s = soap->tmpbuf;
+    if (status == SOAP_OK && soap->version == 2 && soap->action && strlen(soap->action) + strlen(s) < sizeof(soap->tmpbuf) - 80)
+    {
+#ifdef HAVE_SNPRINTF
+      size_t l = strlen(s);
+      soap_snprintf(soap->tmpbuf + l, sizeof(soap->tmpbuf) - l, "; action=\"%s\"", soap->action);
+#else
+      sprintf(soap->tmpbuf + strlen(s), "; action=\"%s\"", soap->action);
+#endif
+    }
+#endif
+    if ((err = soap->fposthdr(soap, "Content-Type", s)))
+      return err;
+#ifdef WITH_ZLIB
+    if ((soap->omode & SOAP_ENC_ZLIB))
+    {
+#ifdef WITH_GZIP
+      err = soap->fposthdr(soap, "Content-Encoding", soap->zlib_out == SOAP_ZLIB_DEFLATE ? "deflate" : "gzip");
+#else
+      err = soap->fposthdr(soap, "Content-Encoding", "deflate");
+#endif
+      if (err)
+        return err;
+    }
+#endif
+#ifndef WITH_LEANER
+    if ((soap->omode & SOAP_IO) == SOAP_IO_CHUNK)
+      err = soap->fposthdr(soap, "Transfer-Encoding", "chunked");
+    else
+#endif
+    if (s)
+    {
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "%lu", (unsigned long)count);
+#else
+      sprintf(soap->tmpbuf, "%lu", (unsigned long)count);
+#endif
+      err = soap->fposthdr(soap, "Content-Length", soap->tmpbuf);
+    }
+    if (err)
+      return err;
+  }
+  return soap->fposthdr(soap, "Connection", soap->keep_alive ? "keep-alive" : "close");
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+static const char*
+soap_set_validation_fault(struct soap *soap, const char *s, const char *t)
+{ if (!t)
+    t = SOAP_STR_EOS;
+  if (*soap->tag)
+  {
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->msgbuf, sizeof(soap->msgbuf), "Validation constraint violation: %s%s in element '%s'", s, t ? t : SOAP_STR_EOS, soap->tag);
+#else
+    if (strlen(soap->tag) + strlen(t) < sizeof(soap->msgbuf) - 100)
+      sprintf(soap->msgbuf, "Validation constraint violation: %s%s in element '%s'", s, t, soap->tag);
+    else
+      sprintf(soap->msgbuf, "Validation constraint violation: %s", s);
+#endif
+  }
+  else
+  {
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->msgbuf, sizeof(soap->msgbuf), "Validation constraint violation: %s%s", s, t ? t : SOAP_STR_EOS);
+#else
+    if (strlen(soap->tag) + strlen(t) < sizeof(soap->msgbuf) - 100)
+      sprintf(soap->msgbuf, "Validation constraint violation: %s%s", s, t);
+    else
+      sprintf(soap->msgbuf, "Validation constraint violation: %s", s);
+#endif
+  }
+  return soap->msgbuf;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_set_fault(struct soap *soap)
+{ const char **c = soap_faultcode(soap);
+  const char **s = soap_faultstring(soap);
+  if (soap->fseterror)
+    soap->fseterror(soap, c, s);
+  if (!*c)
+  { if (soap->version == 2)
+      *c = "SOAP-ENV:Sender";
+    else
+      *c = "SOAP-ENV:Client";
+  }
+  if (*s)
+    return;
+  switch (soap->error)
+  {
+#ifndef WITH_LEAN
+    case SOAP_CLI_FAULT:
+      *s = "Client fault";
+      break;
+    case SOAP_SVR_FAULT:
+      *s = "Server fault";
+      break;
+    case SOAP_TAG_MISMATCH:
+      *s = soap_set_validation_fault(soap, "tag name or namespace mismatch", NULL);
+      break;
+    case SOAP_TYPE:
+      *s = soap_set_validation_fault(soap, "data type mismatch ", soap->type);
+      break;
+    case SOAP_SYNTAX_ERROR:
+      *s = "Well-formedness violation";
+      break;
+    case SOAP_NO_TAG:
+      *s = "No tag: no XML root element or missing SOAP message body element";
+      break;
+    case SOAP_MUSTUNDERSTAND:
+      *c = "SOAP-ENV:MustUnderstand";
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->msgbuf, sizeof(soap->msgbuf), "The data in element '%s' must be understood but cannot be handled", soap->tag);
+#else
+      strncpy(soap->msgbuf, soap->tag, sizeof(soap->msgbuf));
+      soap->msgbuf[sizeof(soap->msgbuf) - 1] = '\0';
+#endif
+      *s = soap->msgbuf;
+      break;
+    case SOAP_VERSIONMISMATCH:
+      *c = "SOAP-ENV:VersionMismatch";
+      *s = "Invalid SOAP message or SOAP version mismatch";
+      break;
+    case SOAP_DATAENCODINGUNKNOWN:
+      *c = "SOAP-ENV:DataEncodingUnknown";
+      *s = "Unsupported SOAP data encoding";
+      break;
+    case SOAP_NAMESPACE:
+      *s = soap_set_validation_fault(soap, "namespace error", NULL);
+      break;
+    case SOAP_USER_ERROR:
+      *s = "User data error";
+      break;
+    case SOAP_FATAL_ERROR:
+      *s = "Fatal error";
+      break;
+    case SOAP_NO_METHOD:
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->msgbuf, sizeof(soap->msgbuf), "Method '%s' not implemented: method name or namespace not recognized", soap->tag);
+#else
+      sprintf(soap->msgbuf, "Method '%s' not implemented: method name or namespace not recognized", soap->tag);
+#endif
+      *s = soap->msgbuf;
+      break;
+    case SOAP_NO_DATA:
+      *s = "Data required for operation";
+      break;
+    case SOAP_GET_METHOD:
+      *s = "HTTP GET method not implemented";
+      break;
+    case SOAP_PUT_METHOD:
+      *s = "HTTP PUT method not implemented";
+      break;
+    case SOAP_HTTP_METHOD:
+      *s = "HTTP method not implemented";
+      break;
+    case SOAP_EOM:
+      *s = "Out of memory";
+      break;
+    case SOAP_MOE:
+      *s = "Memory overflow or memory corruption error";
+      break;
+    case SOAP_HDR:
+      *s = "Header line too long";
+      break;
+    case SOAP_IOB:
+      *s = "Array index out of bounds";
+      break;
+    case SOAP_NULL:
+      *s = soap_set_validation_fault(soap, "nil not allowed", NULL);
+      break;
+    case SOAP_DUPLICATE_ID:
+      *s = soap_set_validation_fault(soap, "multiple elements (use the SOAP_XML_TREE flag) with duplicate id ", soap->id);
+      if (soap->version == 2)
+        *soap_faultsubcode(soap) = "SOAP-ENC:DuplicateID";
+      break;
+    case SOAP_MISSING_ID:
+      *s = soap_set_validation_fault(soap, "missing id for ref ", soap->id);
+      if (soap->version == 2)
+        *soap_faultsubcode(soap) = "SOAP-ENC:MissingID";
+      break;
+    case SOAP_HREF:
+      *s = soap_set_validation_fault(soap, "incompatible object type id-ref ", soap->id);
+      break;
+    case SOAP_FAULT:
+      break;
+#ifndef WITH_NOIO
+    case SOAP_UDP_ERROR:
+      *s = "Message too large for UDP packet";
+      break;
+    case SOAP_TCP_ERROR:
+      *s = tcp_error(soap);
+      break;
+#endif
+    case SOAP_HTTP_ERROR:
+      *s = "An HTTP processing error occurred";
+      break;
+    case SOAP_NTLM_ERROR:
+      *s = "An HTTP NTLM authentication error occurred";
+      break;
+    case SOAP_SSL_ERROR:
+#ifdef WITH_OPENSSL
+      *s = "SSL/TLS error";
+#else
+      *s = "OpenSSL not installed: recompile with -DWITH_OPENSSL";
+#endif
+      break;
+    case SOAP_PLUGIN_ERROR:
+      *s = "Plugin registry error";
+      break;
+    case SOAP_DIME_ERROR:
+      *s = "DIME format error or max DIME size exceeds SOAP_MAXDIMESIZE";
+      break;
+    case SOAP_DIME_HREF:
+      *s = "DIME href to missing attachment";
+      break;
+    case SOAP_DIME_MISMATCH:
+      *s = "DIME version/transmission error";
+      break;
+    case SOAP_DIME_END:
+      *s = "End of DIME error";
+      break;
+    case SOAP_MIME_ERROR:
+      *s = "MIME format error";
+      break;
+    case SOAP_MIME_HREF:
+      *s = "MIME href to missing attachment";
+      break;
+    case SOAP_MIME_END:
+      *s = "End of MIME error";
+      break;
+    case SOAP_ZLIB_ERROR:
+#ifdef WITH_ZLIB
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->msgbuf, sizeof(soap->msgbuf), "Zlib/gzip error: '%s'", soap->d_stream->msg ? soap->d_stream->msg : SOAP_STR_EOS);
+#else
+      sprintf(soap->msgbuf, "Zlib/gzip error: '%s'", soap->d_stream->msg ? soap->d_stream->msg : SOAP_STR_EOS);
+#endif
+      *s = soap->msgbuf;
+#else
+      *s = "Zlib/gzip not installed for (de)compression: recompile with -DWITH_GZIP";
+#endif
+      break;
+    case SOAP_REQUIRED:
+      *s = soap_set_validation_fault(soap, "missing required attribute", NULL);
+      break;
+    case SOAP_PROHIBITED:
+      *s = soap_set_validation_fault(soap, "prohibited attribute present", NULL);
+      break;
+    case SOAP_OCCURS:
+      *s = soap_set_validation_fault(soap, "occurrence violation", NULL);
+      break;
+    case SOAP_LENGTH:
+      *s = soap_set_validation_fault(soap, "content range or length violation", NULL);
+      break;
+    case SOAP_FD_EXCEEDED:
+      *s = "Maximum number of open connections was reached (no define HAVE_POLL): increase FD_SETSIZE";
+      break;
+    case SOAP_UTF_ERROR:
+      *s = "UTF content encoding error";
+      break;
+    case SOAP_STOP:
+      *s = "Stopped: no response sent or received (informative)";
+      break;
+#endif
+    case SOAP_EOF:
+#ifndef WITH_NOIO
+      *s = soap_strerror(soap); /* *s = soap->msgbuf */
+#ifndef WITH_LEAN
+      if (strlen(soap->msgbuf) + 25 < sizeof(soap->msgbuf))
+      { memmove(soap->msgbuf + 25, soap->msgbuf, strlen(soap->msgbuf) + 1);
+        memcpy(soap->msgbuf, "End of file or no input: ", 25);
+      }
+#endif
+      break;
+#else
+      *s = "End of file or no input";
+      break;
+#endif
+    default:
+#ifndef WITH_NOHTTP
+#ifndef WITH_LEAN
+      if (soap->error > 200 && soap->error < 600)
+      { 
+#ifdef HAVE_SNPRINTF
+        soap_snprintf(soap->msgbuf, sizeof(soap->msgbuf), "HTTP Error: %d %s", soap->error, http_error(soap, soap->error));
+#else
+        sprintf(soap->msgbuf, "HTTP Error: %d %s", soap->error, http_error(soap, soap->error));
+#endif
+        *s = soap->msgbuf;
+      }
+      else
+#endif
+#endif
+      {
+#ifdef HAVE_SNPRINTF
+        soap_snprintf(soap->msgbuf, sizeof(soap->msgbuf), "Error %d", soap->error);
+#else
+        sprintf(soap->msgbuf, "Error %d", soap->error);
+#endif
+        *s = soap->msgbuf;
+      }
+    }
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_send_fault(struct soap *soap)
+{ register int status = soap->error;
+  if (status == SOAP_OK || status == SOAP_STOP)
+    return soap_closesock(soap);
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Sending back fault struct for error code %d\n", soap->error));
+  soap->keep_alive = 0; /* to terminate connection */
+  soap_set_fault(soap);
+  if (soap->error < 200 && soap->error != SOAP_FAULT)
+    soap->header = NULL;
+  if (status != SOAP_EOF || (!soap->recv_timeout && !soap->send_timeout))
+  { register int r = 1;
+#ifndef WITH_NOIO
+    if (soap->fpoll && soap->fpoll(soap))
+      r = 0;
+#ifndef WITH_LEAN
+    else if (soap_valid_socket(soap->socket))
+    { r = tcp_select(soap, soap->socket, SOAP_TCP_SELECT_RCV | SOAP_TCP_SELECT_SND, 0);
+      if (r > 0)
+      { int t;
+        if (!(r & SOAP_TCP_SELECT_SND)
+         || ((r & SOAP_TCP_SELECT_RCV)
+          && recv(soap->socket, (char*)&t, 1, MSG_PEEK) < 0))
+          r = 0;
+      }
+    }
+#endif
+#endif
+    if (r > 0)
+    { soap->error = SOAP_OK;
+      soap->encodingStyle = NULL; /* no encodingStyle in Faults */
+      soap_serializeheader(soap);
+      soap_serializefault(soap);
+      soap_begin_count(soap);
+      if (soap->mode & SOAP_IO_LENGTH)
+      { soap_envelope_begin_out(soap);
+        soap_putheader(soap);
+        soap_body_begin_out(soap);
+        soap_putfault(soap);
+        soap_body_end_out(soap);
+        soap_envelope_end_out(soap);
+      }
+      soap_end_count(soap);
+      if (soap_response(soap, status)
+       || soap_envelope_begin_out(soap)
+       || soap_putheader(soap)
+       || soap_body_begin_out(soap)
+       || soap_putfault(soap)
+       || soap_body_end_out(soap)
+       || soap_envelope_end_out(soap))
+        return soap_closesock(soap);
+      soap_end_send(soap);
+    }
+  }
+  soap->error = status;
+  return soap_closesock(soap);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_recv_fault(struct soap *soap, int check)
+{ register int status = soap->error;
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Check if receiving SOAP Fault\n"));
+  if (!check)
+  { /* try getfault when no tag or tag mismatched at level 2, otherwise ret */
+    if (soap->error != SOAP_NO_TAG
+     && (soap->error != SOAP_TAG_MISMATCH || soap->level != 2))
+      return soap->error;
+  }
+  else if (soap->version == 0) /* check == 1 but no SOAP: do not parse SOAP Fault */
+    return SOAP_OK;
+  soap->error = SOAP_OK;
+  if (soap_getfault(soap))
+  { /* check flag set: check if SOAP Fault is present, if not just return */
+    if (check && soap->error == SOAP_TAG_MISMATCH && soap->level == 2)
+      return soap->error = SOAP_OK;
+    DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Error: soap_get_soapfault() failed at level %u tag '%s'\n", soap->level, soap->tag));
+    *soap_faultcode(soap) = (soap->version == 2 ? "SOAP-ENV:Sender" : "SOAP-ENV:Client");
+    soap->error = status;
+    soap_set_fault(soap);
+  }
+  else
+  { register const char *s = *soap_faultcode(soap);
+    if (!soap_match_tag(soap, s, "SOAP-ENV:Server") || !soap_match_tag(soap, s, "SOAP-ENV:Receiver"))
+      status = SOAP_SVR_FAULT;
+    else if (!soap_match_tag(soap, s, "SOAP-ENV:Client") || !soap_match_tag(soap, s, "SOAP-ENV:Sender"))
+      status = SOAP_CLI_FAULT;
+    else if (!soap_match_tag(soap, s, "SOAP-ENV:MustUnderstand"))
+      status = SOAP_MUSTUNDERSTAND;
+    else if (!soap_match_tag(soap, s, "SOAP-ENV:VersionMismatch"))
+      status = SOAP_VERSIONMISMATCH;
+    else
+    { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Received SOAP Fault code %s\n", s));
+      status = SOAP_FAULT;
+    }
+    if (!soap_body_end_in(soap))
+      soap_envelope_end_in(soap);
+  }
+  soap_end_recv(soap);
+  soap->error = status;
+  return soap_closesock(soap);
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_send_empty_response(struct soap *soap, int httpstatuscode)
+{ register soap_mode m = soap->omode;
+  if (!(m & SOAP_IO_UDP))
+  { soap->count = 0;
+    if ((m & SOAP_IO) == SOAP_IO_CHUNK)
+      soap->omode = (m & ~SOAP_IO) | SOAP_IO_BUFFER;
+    soap_response(soap, httpstatuscode);
+    soap_end_send(soap); /* force end of sends */
+    soap->error = SOAP_STOP; /* stops the server (from returning a response) */
+    soap->omode = m;
+  }
+  return soap_closesock(soap);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_recv_empty_response(struct soap *soap)
+{ if (!(soap->omode & SOAP_IO_UDP))
+  { if (!soap_begin_recv(soap))
+    {
+#ifndef WITH_LEAN
+      if (soap->body)
+        soap_get_http_body(soap, NULL); /* read (empty?) HTTP body and discard */
+#endif
+      soap_end_recv(soap);
+    }
+    else if (soap->error == SOAP_NO_DATA || soap->error == 202)
+      soap->error = SOAP_OK;
+  }
+  return soap_closesock(soap);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static const char*
+soap_strerror(struct soap *soap)
+{ register int err = soap->errnum;
+  *soap->msgbuf = '\0';
+  if (err)
+  {
+#ifndef WIN32
+# ifdef HAVE_STRERROR_R
+#  ifdef _GNU_SOURCE
+    return strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* GNU-specific */
+#  else
+    strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */
+#  endif
+# else
+    return strerror(err);
+# endif
+#else
+#ifndef UNDER_CE
+    DWORD len;
+    *soap->msgbuf = '\0';
+    len = FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, err, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)soap->msgbuf, (DWORD)sizeof(soap->msgbuf), NULL);
+#else
+    DWORD i, len;
+    *soap->msgbuf = '\0';
+    len = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, err, 0, (LPTSTR)soap->msgbuf, (DWORD)(sizeof(soap->msgbuf)/sizeof(TCHAR)), NULL);
+    for (i = 0; i <= len; i++)
+    { if (((TCHAR*)soap->msgbuf)[i] < 0x80)
+        soap->msgbuf[i] = (char)((TCHAR*)soap->msgbuf)[i];
+      else
+        soap->msgbuf[i] = '?';
+    }
+#endif
+#endif
+  }
+  else
+  { char *s = soap->msgbuf;
+#ifndef WITH_LEAN
+    int rt = soap->recv_timeout, st = soap->send_timeout;
+    int ru = ' ', su = ' ';
+#endif
+    strcpy(s, "Operation interrupted or timed out");
+#ifndef WITH_LEAN
+    if (rt < 0)
+    { rt = -rt;
+      ru = 'u';
+    }
+    if (st < 0)
+    { st = -st;
+      su = 'u';
+    }
+    if (rt)
+    {
+#ifdef HAVE_SNPRINTF
+      size_t l = strlen(s);
+      soap_snprintf(s + l, sizeof(soap->msgbuf) - l, " (%d%cs recv delay)", rt, ru);
+#else
+      sprintf(s + strlen(s), " (%d%cs recv delay)", rt, ru);
+#endif
+    }
+    if (st)
+    {
+#ifdef HAVE_SNPRINTF
+      size_t l = strlen(s);
+      soap_snprintf(s + l, sizeof(soap->msgbuf) - l, " (%d%cs send delay)", st, su);
+#else
+      sprintf(s + strlen(s), " (%d%cs send delay)", st, su);
+#endif
+    }
+#endif
+  }
+  return soap->msgbuf;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+static int
+soap_set_error(struct soap *soap, const char *faultcode, const char *faultsubcodeQName, const char *faultstring, const char *faultdetailXML, int soaperror)
+{ *soap_faultcode(soap) = faultcode;
+  if (faultsubcodeQName)
+    *soap_faultsubcode(soap) = faultsubcodeQName;
+  *soap_faultstring(soap) = faultstring;
+  if (faultdetailXML && *faultdetailXML)
+  { register const char **s = soap_faultdetail(soap);
+    if (s)
+      *s = faultdetailXML;
+  }
+  return soap->error = soaperror;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_set_sender_error(struct soap *soap, const char *faultstring, const char *faultdetailXML, int soaperror)
+{ return soap_set_error(soap, soap->version == 2 ? "SOAP-ENV:Sender" : "SOAP-ENV:Client", NULL, faultstring, faultdetailXML, soaperror);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_set_receiver_error(struct soap *soap, const char *faultstring, const char *faultdetailXML, int soaperror)
+{ return soap_set_error(soap, soap->version == 2 ? "SOAP-ENV:Receiver" : "SOAP-ENV:Server", NULL, faultstring, faultdetailXML, soaperror);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+static int
+soap_copy_fault(struct soap *soap, const char *faultcode, const char *faultsubcodeQName, const char *faultstring, const char *faultdetailXML)
+{ char *r = NULL, *s = NULL, *t = NULL;
+  if (faultsubcodeQName)
+    r = soap_strdup(soap, faultsubcodeQName);
+  if (faultstring)
+    s = soap_strdup(soap, faultstring);
+  if (faultdetailXML)
+    t = soap_strdup(soap, faultdetailXML);
+  return soap_set_error(soap, faultcode, r, s, t, SOAP_FAULT);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_sender_fault(struct soap *soap, const char *faultstring, const char *faultdetailXML)
+{ return soap_sender_fault_subcode(soap, NULL, faultstring, faultdetailXML);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_sender_fault_subcode(struct soap *soap, const char *faultsubcodeQName, const char *faultstring, const char *faultdetailXML)
+{ return soap_copy_fault(soap, soap->version == 2 ? "SOAP-ENV:Sender" : "SOAP-ENV:Client", faultsubcodeQName, faultstring, faultdetailXML);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_receiver_fault(struct soap *soap, const char *faultstring, const char *faultdetailXML)
+{ return soap_receiver_fault_subcode(soap, NULL, faultstring, faultdetailXML);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_receiver_fault_subcode(struct soap *soap, const char *faultsubcodeQName, const char *faultstring, const char *faultdetailXML)
+{ return soap_copy_fault(soap, soap->version == 2 ? "SOAP-ENV:Receiver" : "SOAP-ENV:Server", faultsubcodeQName, faultstring, faultdetailXML);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+#ifndef WITH_NOSTDLIB
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_print_fault(struct soap *soap, FILE *fd)
+{ if (soap_check_state(soap))
+    fprintf(fd, "Error: soap struct state not initialized\n");
+  else if (soap->error)
+  { const char **c, *v = NULL, *s, *d;
+    c = soap_faultcode(soap);
+    if (!*c)
+      soap_set_fault(soap);
+    if (soap->version == 2)
+      v = soap_check_faultsubcode(soap);
+    s = *soap_faultstring(soap);
+    d = soap_check_faultdetail(soap);
+    fprintf(fd, "%s%d fault: %s [%s]\n\"%s\"\nDetail: %s\n", soap->version ? "SOAP 1." : "Error ", soap->version ? (int)soap->version : soap->error, *c, v ? v : "no subcode", s ? s : "[no reason]", d ? d : "[no detail]");
+  }
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifdef __cplusplus
+#ifndef WITH_LEAN
+#ifndef WITH_NOSTDLIB
+#ifndef WITH_COMPAT
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_stream_fault(struct soap *soap, std::ostream& os)
+{ if (soap_check_state(soap))
+    os << "Error: soap struct state not initialized\n";
+  else if (soap->error)
+  { const char **c, *v = NULL, *s, *d;
+    c = soap_faultcode(soap);
+    if (!*c)
+      soap_set_fault(soap);
+    if (soap->version == 2)
+      v = soap_check_faultsubcode(soap);
+    s = *soap_faultstring(soap);
+    d = soap_check_faultdetail(soap);
+    os << (soap->version ? "SOAP 1." : "Error ")
+       << (soap->version ? (int)soap->version : soap->error)
+       << " fault: " << *c
+       << "[" << (v ? v : "no subcode") << "]"
+       << std::endl
+       << "\"" << (s ? s : "[no reason]") << "\""
+       << std::endl
+       << "Detail: " << (d ? d : "[no detail]")
+       << std::endl;
+  }
+}
+#endif
+#endif
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+#ifndef WITH_NOSTDLIB
+SOAP_FMAC1
+char*
+SOAP_FMAC2
+soap_sprint_fault(struct soap *soap, char *buf, size_t len)
+{ if (soap_check_state(soap))
+  { strncpy(buf, "Error: soap struct not initialized", len);
+    buf[len - 1] = '\0';
+  }
+  else if (soap->error)
+  { const char **c, *v = NULL, *s, *d;
+    c = soap_faultcode(soap);
+    if (!*c)
+      soap_set_fault(soap);
+    if (soap->version == 2)
+      v = *soap_faultsubcode(soap);
+    s = *soap_faultstring(soap);
+    d = soap_check_faultdetail(soap);
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(buf, len, "%s%d fault: %s [%s]\n\"%s\"\nDetail: %s\n", soap->version ? "SOAP 1." : "Error ", soap->version ? (int)soap->version : soap->error, *c, v ? v : "no subcode", s ? s : "[no reason]", d ? d : "[no detail]");
+#else
+    if (len > 40 + (v ? strlen(v) : 0) + (s ? strlen(s) : 0) + (d ? strlen(d) : 0))
+      sprintf(buf, "%s%d fault: %s [%s]\n\"%s\"\nDetail: %s\n", soap->version ? "SOAP 1." : "Error ", soap->version ? (int)soap->version : soap->error, *c, v ? v : "no subcode", s ? s : "[no reason]", d ? d : "[no detail]");
+    else if (len > 40)
+      sprintf(buf, "%s%d fault: %s\n", soap->version ? "SOAP 1." : "Error ", soap->version ? (int)soap->version : soap->error, *c);
+    else
+      buf[0] = '\0';
+#endif
+  }
+  return buf;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+#ifndef WITH_NOSTDLIB
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_print_fault_location(struct soap *soap, FILE *fd)
+{
+#ifndef WITH_LEAN
+  int i, j, c1, c2;
+  if (soap->error && soap->error != SOAP_STOP && soap->bufidx <= soap->buflen && soap->buflen > 0 && soap->buflen <= SOAP_BUFLEN)
+  { i = (int)soap->bufidx - 1;
+    if (i <= 0)
+      i = 0;
+    c1 = soap->buf[i];
+    soap->buf[i] = '\0';
+    if ((int)soap->buflen >= i + 1024)
+      j = i + 1023;
+    else
+      j = (int)soap->buflen - 1;
+    c2 = soap->buf[j];
+    soap->buf[j] = '\0';
+    fprintf(fd, "%s%c\n<!-- ** HERE ** -->\n", soap->buf, c1);
+    if (soap->bufidx < soap->buflen)
+      fprintf(fd, "%s\n", soap->buf + soap->bufidx);
+    soap->buf[i] = (char)c1;
+    soap->buf[j] = (char)c2;
+  }
+#endif
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_register_plugin_arg(struct soap *soap, int (*fcreate)(struct soap*, struct soap_plugin*, void*), void *arg)
+{ register struct soap_plugin *p;
+  register int r;
+  if (!(p = (struct soap_plugin*)SOAP_MALLOC(soap, sizeof(struct soap_plugin))))
+    return soap->error = SOAP_EOM;
+  p->id = NULL;
+  p->data = NULL;
+  p->fcopy = NULL;
+  p->fdelete = NULL;
+  r = fcreate(soap, p, arg);
+  if (!r && p->fdelete)
+  { p->next = soap->plugins;
+    soap->plugins = p;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Registered '%s' plugin\n", p->id));
+    return SOAP_OK;
+  }
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not register plugin '%s': plugin returned error %d (or fdelete callback not set)\n", p->id ? p->id : "?", r));
+  SOAP_FREE(soap, p);
+  return r;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+static void *
+fplugin(struct soap *soap, const char *id)
+{ register struct soap_plugin *p;
+  for (p = soap->plugins; p; p = p->next)
+    if (p->id == id || !strcmp(p->id, id))
+      return p->data;
+  return NULL;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void *
+SOAP_FMAC2
+soap_lookup_plugin(struct soap *soap, const char *id)
+{ return soap->fplugin(soap, id);
+}
+#endif
+
+/******************************************************************************/
+#ifdef __cplusplus
+}
+#endif
+
+/******************************************************************************\
+ *
+ *	C++ soap struct methods
+ *
+\******************************************************************************/
+
+#ifdef __cplusplus
+soap::soap()
+{ soap_init(this);
+}
+#endif
+
+/******************************************************************************/
+#ifdef __cplusplus
+soap::soap(soap_mode m)
+{ soap_init1(this, m);
+}
+#endif
+
+/******************************************************************************/
+#ifdef __cplusplus
+soap::soap(soap_mode im, soap_mode om)
+{ soap_init2(this, im, om);
+}
+#endif
+
+/******************************************************************************/
+#ifdef __cplusplus
+soap::soap(const struct soap& soap)
+{ soap_copy_context(this, &soap);
+}
+#endif
+
+/******************************************************************************/
+#ifdef __cplusplus
+soap::~soap()
+{ soap_destroy(this);
+  soap_end(this);
+  soap_done(this);
+}
+#endif
+
+/******************************************************************************/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/stdsoap2.cpp	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,16999 @@
+/*
+	stdsoap2.c[pp] 2.8.17r
+
+	gSOAP runtime engine
+
+gSOAP XML Web services tools
+Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc., All Rights Reserved.
+This part of the software is released under ONE of the following licenses:
+GPL, or the gSOAP public license, or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+Contributors:
+
+Wind River Systems Inc., for the following additions under gSOAP public license:
+  - vxWorks compatible options
+--------------------------------------------------------------------------------
+gSOAP public license.
+
+The contents of this file are subject to the gSOAP Public License Version 1.3
+(the "License"); you may not use this file except in compliance with the
+License. You may obtain a copy of the License at
+http://www.cs.fsu.edu/~engelen/soaplicense.html
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the License.
+
+The Initial Developer of the Original Code is Robert A. van Engelen.
+Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc., All Rights Reserved.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+#define GSOAP_LIB_VERSION 20817
+
+#ifdef AS400
+# pragma convert(819)	/* EBCDIC to ASCII */
+#endif
+
+#include "stdsoap2.h"
+#if defined(VXWORKS) && defined(WM_SECURE_KEY_STORAGE)
+#include <ipcom_key_db.h>
+#endif
+#if GSOAP_VERSION != GSOAP_LIB_VERSION
+# error "GSOAP VERSION MISMATCH IN LIBRARY: PLEASE REINSTALL PACKAGE"
+#endif
+
+#ifdef __BORLANDC__
+# pragma warn -8060
+#else
+# ifdef WIN32
+#  ifdef UNDER_CE
+#   pragma comment(lib, "ws2.lib")	/* WinCE */
+#  else
+#   pragma comment(lib, "ws2_32.lib")
+#  endif
+#  pragma warning(disable : 4996) /* disable deprecation warnings */
+# endif
+#endif
+
+#ifdef __cplusplus
+SOAP_SOURCE_STAMP("@(#) stdsoap2.cpp ver 2.8.17r 2013-12-18 00:00:00 GMT")
+extern "C" {
+#else
+SOAP_SOURCE_STAMP("@(#) stdsoap2.c ver 2.8.17r 2013-12-18 00:00:00 GMT")
+#endif
+
+/* 8bit character representing unknown/nonrepresentable character data (e.g. not supported by current locale with multibyte support enabled) */
+#ifndef SOAP_UNKNOWN_CHAR
+#define SOAP_UNKNOWN_CHAR (127)
+#endif
+
+/*      EOF=-1 */
+#define SOAP_LT (soap_wchar)(-2) /* XML-specific '<' */
+#define SOAP_TT (soap_wchar)(-3) /* XML-specific '</' */
+#define SOAP_GT (soap_wchar)(-4) /* XML-specific '>' */
+#define SOAP_QT (soap_wchar)(-5) /* XML-specific '"' */
+#define SOAP_AP (soap_wchar)(-6) /* XML-specific ''' */
+
+#define soap_blank(c)		((c)+1 > 0 && (c) <= 32)
+#define soap_notblank(c)	((c) > 32)
+
+#if defined(WIN32) && !defined(UNDER_CE)
+#define soap_hash_ptr(p)	((PtrToUlong(p) >> 3) & (SOAP_PTRHASH - 1))
+#else
+#define soap_hash_ptr(p)	((size_t)(((unsigned long)(p) >> 3) & (SOAP_PTRHASH-1)))
+#endif
+
+#if !defined(WITH_LEAN) || defined(SOAP_DEBUG)
+static void soap_init_logs(struct soap*);
+#endif
+#ifdef SOAP_DEBUG
+static void soap_close_logfile(struct soap*, int);
+static void soap_set_logfile(struct soap*, int, const char*);
+#endif
+
+#ifdef SOAP_MEM_DEBUG
+static void soap_init_mht(struct soap*);
+static void soap_free_mht(struct soap*);
+static void soap_track_unlink(struct soap*, const void*);
+#endif
+
+#ifndef PALM_2
+static int soap_set_error(struct soap*, const char*, const char*, const char*, const char*, int);
+static int soap_copy_fault(struct soap*, const char*, const char*, const char*, const char*);
+static int soap_getattrval(struct soap*, char*, size_t, soap_wchar);
+#endif
+
+#ifndef PALM_1
+static void soap_free_ns(struct soap *soap);
+static soap_wchar soap_char(struct soap*);
+static soap_wchar soap_get_pi(struct soap*);
+static int soap_isxdigit(int);
+static void *fplugin(struct soap*, const char*);
+static size_t soap_count_attachments(struct soap *soap);
+static int soap_try_connect_command(struct soap*, int http_command, const char *endpoint, const char *action);
+#ifdef WITH_NTLM
+static int soap_ntlm_handshake(struct soap *soap, int command, const char *endpoint, const char *host, int port);
+#endif
+#ifndef WITH_NOIDREF
+static int soap_has_copies(struct soap*, const char*, const char*);
+static void soap_init_iht(struct soap*);
+static void soap_free_iht(struct soap*);
+static void soap_init_pht(struct soap*);
+static void soap_free_pht(struct soap*);
+#endif
+#endif
+
+#ifndef WITH_LEAN
+static const char *soap_set_validation_fault(struct soap*, const char*, const char*);
+static int soap_isnumeric(struct soap*, const char*);
+static struct soap_nlist *soap_push_ns(struct soap *soap, const char *id, const char *ns, short utilized);
+static void soap_utilize_ns(struct soap *soap, const char *tag);
+#endif
+
+#ifndef WITH_LEANER
+#ifndef PALM_1
+static struct soap_multipart *soap_new_multipart(struct soap*, struct soap_multipart**, struct soap_multipart**, char*, size_t);
+static int soap_putdimefield(struct soap*, const char*, size_t);
+static char *soap_getdimefield(struct soap*, size_t);
+static void soap_select_mime_boundary(struct soap*);
+static int soap_valid_mime_boundary(struct soap*);
+static void soap_resolve_attachment(struct soap*, struct soap_multipart*);
+#endif
+#endif
+
+#ifdef WITH_GZIP
+static int soap_getgziphdr(struct soap*);
+#endif
+
+#ifdef WITH_OPENSSL
+# ifndef SOAP_SSL_RSA_BITS
+#  define SOAP_SSL_RSA_BITS 2048
+# endif
+static int soap_ssl_init_done = 0;
+static int ssl_auth_init(struct soap*);
+static int ssl_verify_callback(int, X509_STORE_CTX*);
+static int ssl_verify_callback_allow_expired_certificate(int, X509_STORE_CTX*);
+static int ssl_password(char*, int, int, void *);
+#endif
+
+#ifdef WITH_GNUTLS
+# ifndef SOAP_SSL_RSA_BITS
+#  define SOAP_SSL_RSA_BITS 2048
+# endif
+static int soap_ssl_init_done = 0;
+static const char *ssl_verify(struct soap *soap, const char *host);
+# if defined(HAVE_PTHREAD_H)
+#  include <pthread.h>
+   /* make GNUTLS thread safe with pthreads */
+   GCRY_THREAD_OPTION_PTHREAD_IMPL;
+# elif defined(HAVE_PTH_H)
+   #include <pth.h>
+   /* make GNUTLS thread safe with PTH */
+   GCRY_THREAD_OPTION_PTH_IMPL;
+# endif
+#endif
+
+#if !defined(WITH_NOHTTP) || !defined(WITH_LEANER)
+#ifndef PALM_1
+static const char *soap_decode(char*, size_t, const char*, const char*);
+#endif
+#endif
+
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static soap_wchar soap_getchunkchar(struct soap*);
+static const char *http_error(struct soap*, int);
+static int http_get(struct soap*);
+static int http_405(struct soap*);
+static int http_200(struct soap*);
+static int http_post(struct soap*, const char*, const char*, int, const char*, const char*, size_t);
+static int http_send_header(struct soap*, const char*);
+static int http_post_header(struct soap*, const char*, const char*);
+static int http_response(struct soap*, int, size_t);
+static int http_parse(struct soap*);
+static int http_parse_header(struct soap*, const char*, const char*);
+#endif
+#endif
+
+#ifndef WITH_NOIO
+
+#ifndef PALM_1
+static int fsend(struct soap*, const char*, size_t);
+static size_t frecv(struct soap*, char*, size_t);
+static int tcp_init(struct soap*);
+static const char *tcp_error(struct soap*);
+#ifndef WITH_IPV6
+static int tcp_gethost(struct soap*, const char *addr, struct in_addr *inaddr);
+#endif
+static SOAP_SOCKET tcp_connect(struct soap*, const char *endpoint, const char *host, int port);
+static SOAP_SOCKET tcp_accept(struct soap*, SOAP_SOCKET, struct sockaddr*, int*);
+static int tcp_select(struct soap*, SOAP_SOCKET, int, int);
+static int tcp_disconnect(struct soap*);
+static int tcp_closesocket(struct soap*, SOAP_SOCKET);
+static int tcp_shutdownsocket(struct soap*, SOAP_SOCKET, int);
+static const char *soap_strerror(struct soap*);
+#endif
+
+#define SOAP_TCP_SELECT_RCV 0x1
+#define SOAP_TCP_SELECT_SND 0x2
+#define SOAP_TCP_SELECT_ERR 0x4
+#define SOAP_TCP_SELECT_ALL 0x7
+
+#if defined(WIN32)
+  #define SOAP_SOCKBLOCK(fd) \
+  { u_long blocking = 0; \
+    ioctlsocket(fd, FIONBIO, &blocking); \
+  }
+  #define SOAP_SOCKNONBLOCK(fd) \
+  { u_long nonblocking = 1; \
+    ioctlsocket(fd, FIONBIO, &nonblocking); \
+  }
+#elif defined(VXWORKS)
+  #define SOAP_SOCKBLOCK(fd) \
+  { u_long blocking = 0; \
+    ioctl(fd, FIONBIO, (int)(&blocking)); \
+  }
+  #define SOAP_SOCKNONBLOCK(fd) \
+  { u_long nonblocking = 1; \
+    ioctl(fd, FIONBIO, (int)(&nonblocking)); \
+  }
+#elif defined(__VMS)
+  #define SOAP_SOCKBLOCK(fd) \
+  { int blocking = 0; \
+    ioctl(fd, FIONBIO, &blocking); \
+  }
+  #define SOAP_SOCKNONBLOCK(fd) \
+  { int nonblocking = 1; \
+    ioctl(fd, FIONBIO, &nonblocking); \
+  }
+#elif defined(PALM)
+  #define SOAP_SOCKBLOCK(fd) fcntl(fd, F_SETFL, fcntl(fd, F_GETFL, 0)&~O_NONBLOCK);
+  #define SOAP_SOCKNONBLOCK(fd) fcntl(fd, F_SETFL, fcntl(fd, F_GETFL, 0)|O_NONBLOCK);
+#elif defined(SYMBIAN)
+  #define SOAP_SOCKBLOCK(fd) \
+  { long blocking = 0; \
+    ioctl(fd, 0/*FIONBIO*/, &blocking); \
+  }
+  #define SOAP_SOCKNONBLOCK(fd) \
+  { long nonblocking = 1; \
+    ioctl(fd, 0/*FIONBIO*/, &nonblocking); \
+  }
+#else
+  #define SOAP_SOCKBLOCK(fd) fcntl(fd, F_SETFL, fcntl(fd, F_GETFL)&~O_NONBLOCK);
+  #define SOAP_SOCKNONBLOCK(fd) fcntl(fd, F_SETFL, fcntl(fd, F_GETFL)|O_NONBLOCK);
+#endif
+
+#endif
+
+#if defined(PALM) && !defined(PALM_2)
+unsigned short errno;
+#endif
+
+#ifndef PALM_1
+static const char soap_env1[42] = "http://schemas.xmlsoap.org/soap/envelope/";
+static const char soap_enc1[42] = "http://schemas.xmlsoap.org/soap/encoding/";
+static const char soap_env2[40] = "http://www.w3.org/2003/05/soap-envelope";
+static const char soap_enc2[40] = "http://www.w3.org/2003/05/soap-encoding";
+static const char soap_rpc[35] = "http://www.w3.org/2003/05/soap-rpc";
+#endif
+
+#ifndef PALM_1
+const union soap_double_nan soap_double_nan = {{0xFFFFFFFF, 0xFFFFFFFF}};
+const char soap_base64o[65] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+const char soap_base64i[81] = "\76XXX\77\64\65\66\67\70\71\72\73\74\75XXXXXXX\00\01\02\03\04\05\06\07\10\11\12\13\14\15\16\17\20\21\22\23\24\25\26\27\30\31XXXXXX\32\33\34\35\36\37\40\41\42\43\44\45\46\47\50\51\52\53\54\55\56\57\60\61\62\63";
+#endif
+
+#ifndef WITH_LEAN
+static const char soap_indent[11] = "\n\t\t\t\t\t\t\t\t\t";
+/* Alternative indentation form for SOAP_XML_INDENT:
+static const char soap_indent[21] = "\n                   ";
+*/
+#endif
+
+#ifndef SOAP_CANARY
+# define SOAP_CANARY (0xC0DE)
+#endif
+
+static const char soap_padding[4] = "\0\0\0";
+#define SOAP_STR_PADDING (soap_padding)
+#define SOAP_STR_EOS (soap_padding)
+#define SOAP_NON_NULL (soap_padding)
+
+#ifndef WITH_LEAN
+static const struct soap_code_map html_entity_codes[] = /* entities for XHTML parsing */
+{ { 160, "nbsp" },
+  { 161, "iexcl" },
+  { 162, "cent" },
+  { 163, "pound" },
+  { 164, "curren" },
+  { 165, "yen" },
+  { 166, "brvbar" },
+  { 167, "sect" },
+  { 168, "uml" },
+  { 169, "copy" },
+  { 170, "ordf" },
+  { 171, "laquo" },
+  { 172, "not" },
+  { 173, "shy" },
+  { 174, "reg" },
+  { 175, "macr" },
+  { 176, "deg" },
+  { 177, "plusmn" },
+  { 178, "sup2" },
+  { 179, "sup3" },
+  { 180, "acute" },
+  { 181, "micro" },
+  { 182, "para" },
+  { 183, "middot" },
+  { 184, "cedil" },
+  { 185, "sup1" },
+  { 186, "ordm" },
+  { 187, "raquo" },
+  { 188, "frac14" },
+  { 189, "frac12" },
+  { 190, "frac34" },
+  { 191, "iquest" },
+  { 192, "Agrave" },
+  { 193, "Aacute" },
+  { 194, "Acirc" },
+  { 195, "Atilde" },
+  { 196, "Auml" },
+  { 197, "Aring" },
+  { 198, "AElig" },
+  { 199, "Ccedil" },
+  { 200, "Egrave" },
+  { 201, "Eacute" },
+  { 202, "Ecirc" },
+  { 203, "Euml" },
+  { 204, "Igrave" },
+  { 205, "Iacute" },
+  { 206, "Icirc" },
+  { 207, "Iuml" },
+  { 208, "ETH" },
+  { 209, "Ntilde" },
+  { 210, "Ograve" },
+  { 211, "Oacute" },
+  { 212, "Ocirc" },
+  { 213, "Otilde" },
+  { 214, "Ouml" },
+  { 215, "times" },
+  { 216, "Oslash" },
+  { 217, "Ugrave" },
+  { 218, "Uacute" },
+  { 219, "Ucirc" },
+  { 220, "Uuml" },
+  { 221, "Yacute" },
+  { 222, "THORN" },
+  { 223, "szlig" },
+  { 224, "agrave" },
+  { 225, "aacute" },
+  { 226, "acirc" },
+  { 227, "atilde" },
+  { 228, "auml" },
+  { 229, "aring" },
+  { 230, "aelig" },
+  { 231, "ccedil" },
+  { 232, "egrave" },
+  { 233, "eacute" },
+  { 234, "ecirc" },
+  { 235, "euml" },
+  { 236, "igrave" },
+  { 237, "iacute" },
+  { 238, "icirc" },
+  { 239, "iuml" },
+  { 240, "eth" },
+  { 241, "ntilde" },
+  { 242, "ograve" },
+  { 243, "oacute" },
+  { 244, "ocirc" },
+  { 245, "otilde" },
+  { 246, "ouml" },
+  { 247, "divide" },
+  { 248, "oslash" },
+  { 249, "ugrave" },
+  { 250, "uacute" },
+  { 251, "ucirc" },
+  { 252, "uuml" },
+  { 253, "yacute" },
+  { 254, "thorn" },
+  { 255, "yuml" },
+  {   0, NULL }
+};
+#endif
+
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+static const struct soap_code_map h_error_codes[] =
+{
+#ifdef HOST_NOT_FOUND
+  { HOST_NOT_FOUND, "Host not found" },
+#endif
+#ifdef TRY_AGAIN
+  { TRY_AGAIN, "Try Again" },
+#endif
+#ifdef NO_RECOVERY
+  { NO_RECOVERY, "No Recovery" },
+#endif
+#ifdef NO_DATA
+  { NO_DATA, "No Data" },
+#endif
+#ifdef NO_ADDRESS
+  { NO_ADDRESS, "No Address" },
+#endif
+  { 0, NULL }
+};
+#endif
+#endif
+
+#ifndef WITH_NOHTTP
+#ifndef WITH_LEAN
+static const struct soap_code_map h_http_error_codes[] =
+{ { 200, "OK" },
+  { 201, "Created" },
+  { 202, "Accepted" },
+  { 203, "Non-Authoritative Information" },
+  { 204, "No Content" },
+  { 205, "Reset Content" },
+  { 206, "Partial Content" },
+  { 300, "Multiple Choices" },
+  { 301, "Moved Permanently" },
+  { 302, "Found" },
+  { 303, "See Other" },
+  { 304, "Not Modified" },
+  { 305, "Use Proxy" },
+  { 307, "Temporary Redirect" },
+  { 400, "Bad Request" },
+  { 401, "Unauthorized" },
+  { 402, "Payment Required" },
+  { 403, "Forbidden" },
+  { 404, "Not Found" },
+  { 405, "Method Not Allowed" },
+  { 406, "Not Acceptable" },
+  { 407, "Proxy Authentication Required" },
+  { 408, "Request Time-out" },
+  { 409, "Conflict" },
+  { 410, "Gone" },
+  { 411, "Length Required" },
+  { 412, "Precondition Failed" },
+  { 413, "Request Entity Too Large" },
+  { 414, "Request-URI Too Large" },
+  { 415, "Unsupported Media Type" },
+  { 416, "Requested range not satisfiable" },
+  { 417, "Expectation Failed" },
+  { 500, "Internal Server Error" },
+  { 501, "Not Implemented" },
+  { 502, "Bad Gateway" },
+  { 503, "Service Unavailable" },
+  { 504, "Gateway Time-out" },
+  { 505, "HTTP Version not supported" },
+  {   0, NULL }
+};
+#endif
+#endif
+
+#ifdef WITH_OPENSSL
+static const struct soap_code_map h_ssl_error_codes[] =
+{
+#define _SSL_ERROR(e) { e, #e }
+  _SSL_ERROR(SSL_ERROR_SSL),
+  _SSL_ERROR(SSL_ERROR_ZERO_RETURN),
+  _SSL_ERROR(SSL_ERROR_WANT_READ),
+  _SSL_ERROR(SSL_ERROR_WANT_WRITE),
+  _SSL_ERROR(SSL_ERROR_WANT_CONNECT),
+  _SSL_ERROR(SSL_ERROR_WANT_X509_LOOKUP),
+  _SSL_ERROR(SSL_ERROR_SYSCALL),
+  { 0, NULL }
+};
+#endif
+
+#ifndef WITH_LEANER
+static const struct soap_code_map mime_codes[] =
+{ { SOAP_MIME_7BIT,		"7bit" },
+  { SOAP_MIME_8BIT,		"8bit" },
+  { SOAP_MIME_BINARY,		"binary" },
+  { SOAP_MIME_QUOTED_PRINTABLE, "quoted-printable" },
+  { SOAP_MIME_BASE64,		"base64" },
+  { SOAP_MIME_IETF_TOKEN,	"ietf-token" },
+  { SOAP_MIME_X_TOKEN,		"x-token" },
+  { 0,				NULL }
+};
+#endif
+
+#ifdef WIN32
+static int tcp_done = 0;
+#endif
+
+#if defined(HP_UX) && defined(HAVE_GETHOSTBYNAME_R)
+extern int h_errno;
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static int
+fsend(struct soap *soap, const char *s, size_t n)
+{ register int nwritten, err;
+  SOAP_SOCKET sk;
+#if defined(__cplusplus) && !defined(WITH_LEAN) && !defined(WITH_COMPAT)
+  if (soap->os)
+  { soap->os->write(s, (std::streamsize)n);
+    if (soap->os->good())
+      return SOAP_OK;
+    soap->errnum = 0;
+    return SOAP_EOF;
+  }
+#endif
+  sk = soap->sendsk;
+  if (!soap_valid_socket(sk))
+    sk = soap->socket;
+  while (n)
+  { if (soap_valid_socket(sk))
+    {
+      if (soap->send_timeout)
+      { for (;;)
+        { register int r;
+#ifdef WITH_OPENSSL
+          if (soap->ssl)
+            r = tcp_select(soap, sk, SOAP_TCP_SELECT_ALL, soap->send_timeout);
+          else
+#endif
+#ifdef WITH_GNUTLS
+          if (soap->session)
+            r = tcp_select(soap, sk, SOAP_TCP_SELECT_ALL, soap->send_timeout);
+          else
+#endif
+            r = tcp_select(soap, sk, SOAP_TCP_SELECT_SND | SOAP_TCP_SELECT_ERR, soap->send_timeout);
+          if (r > 0)
+            break;
+          if (!r)
+            return SOAP_EOF;
+          err = soap->errnum;
+          if (!err)
+            return soap->error;
+          if (err != SOAP_EAGAIN && err != SOAP_EWOULDBLOCK)
+            return SOAP_EOF;
+        }
+      }
+#ifdef WITH_OPENSSL
+      if (soap->ssl)
+        nwritten = SSL_write(soap->ssl, s, (int)n);
+      else if (soap->bio)
+        nwritten = BIO_write(soap->bio, s, (int)n);
+      else
+#endif
+#ifdef WITH_GNUTLS
+      if (soap->session)
+        nwritten = gnutls_record_send(soap->session, s, n);
+      else
+#endif
+#ifndef WITH_LEAN
+      if ((soap->omode & SOAP_IO_UDP))
+      { if (soap->peerlen)
+          nwritten = sendto(sk, (char*)s, (SOAP_WINSOCKINT)n, soap->socket_flags, (struct sockaddr*)&soap->peer, (SOAP_WINSOCKINT)soap->peerlen);
+        else
+          nwritten = send(sk, s, (SOAP_WINSOCKINT)n, soap->socket_flags);
+        /* retry and back-off algorithm */
+        /* TODO: this is not very clear from specs so verify and limit conditions under which we should loop (e.g. ENOBUFS) */
+        if (nwritten < 0)
+        { int udp_repeat;
+          int udp_delay;
+          if ((soap->connect_flags & SO_BROADCAST))
+            udp_repeat = 2; /* SOAP-over-UDP MULTICAST_UDP_REPEAT - 1 */
+          else
+            udp_repeat = 1; /* SOAP-over-UDP UNICAST_UDP_REPEAT - 1 */
+          udp_delay = ((unsigned int)soap_random % 201) + 50; /* UDP_MIN_DELAY .. UDP_MAX_DELAY */
+          do
+          { tcp_select(soap, sk, SOAP_TCP_SELECT_ERR, -1000 * udp_delay);
+            if (soap->peerlen)
+              nwritten = sendto(sk, (char*)s, (SOAP_WINSOCKINT)n, soap->socket_flags, (struct sockaddr*)&soap->peer, (SOAP_WINSOCKINT)soap->peerlen);
+            else
+              nwritten = send(sk, s, (SOAP_WINSOCKINT)n, soap->socket_flags);
+            udp_delay <<= 1;
+            if (udp_delay > 500) /* UDP_UPPER_DELAY */
+              udp_delay = 500;
+          }
+          while (nwritten < 0 && --udp_repeat > 0);
+        }
+        if (nwritten < 0)
+        { err = soap_socket_errno(sk);
+          if (err && err != SOAP_EINTR)
+          { soap->errnum = err;
+            return SOAP_EOF;
+          }
+          nwritten = 0; /* and call write() again */
+        }
+      }
+      else
+#endif
+#if !defined(PALM) && !defined(AS400)
+        nwritten = send(sk, s, (int)n, soap->socket_flags);
+#else
+        nwritten = send(sk, (void*)s, n, soap->socket_flags);
+#endif
+      if (nwritten <= 0)
+      {
+        register int r = 0;
+        err = soap_socket_errno(sk);
+#ifdef WITH_OPENSSL
+        if (soap->ssl && (r = SSL_get_error(soap->ssl, nwritten)) != SSL_ERROR_NONE && r != SSL_ERROR_WANT_READ && r != SSL_ERROR_WANT_WRITE)
+        { soap->errnum = err;
+          return SOAP_EOF;
+        }
+#endif
+#ifdef WITH_GNUTLS
+        if (soap->session)
+        { if (nwritten == GNUTLS_E_INTERRUPTED)
+            err = SOAP_EINTR;
+          else if (nwritten == GNUTLS_E_AGAIN)
+            err = SOAP_EAGAIN;
+        }
+#endif
+        if (err == SOAP_EWOULDBLOCK || err == SOAP_EAGAIN)
+        {
+#if defined(WITH_OPENSSL)
+          if (soap->ssl && r == SSL_ERROR_WANT_READ)
+            r = tcp_select(soap, sk, SOAP_TCP_SELECT_RCV | SOAP_TCP_SELECT_ERR, soap->send_timeout ? soap->send_timeout : -10000);
+          else
+#elif defined(WITH_GNUTLS)
+          if (soap->session && !gnutls_record_get_direction(soap->session))
+            r = tcp_select(soap, sk, SOAP_TCP_SELECT_RCV | SOAP_TCP_SELECT_ERR, soap->send_timeout ? soap->send_timeout : -10000);
+          else
+#endif
+            r = tcp_select(soap, sk, SOAP_TCP_SELECT_SND | SOAP_TCP_SELECT_ERR, soap->send_timeout ? soap->send_timeout : -10000);
+          if (!r && soap->send_timeout)
+            return SOAP_EOF;
+          if (r < 0)
+            return SOAP_EOF;
+        }
+        else if (err && err != SOAP_EINTR)
+        { soap->errnum = err;
+          return SOAP_EOF;
+        }
+        nwritten = 0; /* and call write() again */
+      }
+    }
+    else
+    {
+#ifdef WITH_FASTCGI
+      nwritten = fwrite((void*)s, 1, n, stdout);
+      fflush(stdout);
+#else
+#ifdef UNDER_CE
+      nwritten = fwrite(s, 1, n, soap->sendfd);
+#else
+#ifdef VXWORKS
+#ifdef WMW_RPM_IO
+      if (soap->rpmreqid)
+        nwritten = (httpBlockPut(soap->rpmreqid, (char*)s, n) == 0) ? n : -1;
+      else
+#endif
+        nwritten = fwrite(s, sizeof(char), n, fdopen(soap->sendfd, "w"));
+#else
+#ifdef WIN32
+      nwritten = _write(soap->sendfd, s, (unsigned int)n);
+#else
+      nwritten = write(soap->sendfd, s, (unsigned int)n);
+#endif
+#endif
+#endif
+#endif
+      if (nwritten <= 0)
+      {
+#ifndef WITH_FASTCGI
+        err = soap_errno;
+#else
+        err = EOF;
+#endif
+        if (err && err != SOAP_EINTR && err != SOAP_EWOULDBLOCK && err != SOAP_EAGAIN)
+        { soap->errnum = err;
+          return SOAP_EOF;
+        }
+        nwritten = 0; /* and call write() again */
+      }
+    }
+    n -= nwritten;
+    s += nwritten;
+  }
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_send_raw(struct soap *soap, const char *s, size_t n)
+{ if (!n)
+    return SOAP_OK;
+#ifndef WITH_LEANER
+  if (soap->fpreparesend && (soap->mode & SOAP_IO) != SOAP_IO_STORE && (soap->mode & SOAP_IO_LENGTH) && (soap->error = soap->fpreparesend(soap, s, n)))
+    return soap->error;
+  if (soap->ffiltersend && (soap->error = soap->ffiltersend(soap, &s, &n)))
+    return soap->error;
+#endif
+  if (soap->mode & SOAP_IO_LENGTH)
+    soap->count += n;
+  else if (soap->mode & SOAP_IO)
+  { register size_t i = SOAP_BUFLEN - soap->bufidx;
+    while (n >= i)
+    { memcpy(soap->buf + soap->bufidx, s, i);
+      soap->bufidx = SOAP_BUFLEN;
+      if (soap_flush(soap))
+        return soap->error;
+      s += i;
+      n -= i;
+      i = SOAP_BUFLEN;
+    }
+    memcpy(soap->buf + soap->bufidx, s, n);
+    soap->bufidx += n;
+  }
+  else
+    return soap_flush_raw(soap, s, n);
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_flush(struct soap *soap)
+{ register size_t n = soap->bufidx;
+  if (n)
+  {
+#ifndef WITH_LEANER
+    if ((soap->mode & SOAP_IO) == SOAP_IO_STORE)
+    { register int r;
+      if (soap->fpreparesend && (r = soap->fpreparesend(soap, soap->buf, n)))
+        return soap->error = r;
+    }
+#endif
+    soap->bufidx = 0;
+#ifdef WITH_ZLIB
+    if (soap->mode & SOAP_ENC_ZLIB)
+    { soap->d_stream->next_in = (Byte*)soap->buf;
+      soap->d_stream->avail_in = (unsigned int)n;
+#ifdef WITH_GZIP
+      soap->z_crc = crc32(soap->z_crc, (Byte*)soap->buf, (unsigned int)n);
+#endif
+      do
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Deflating %u bytes\n", soap->d_stream->avail_in));
+        if (deflate(soap->d_stream, Z_NO_FLUSH) != Z_OK)
+        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unable to deflate: %s\n", soap->d_stream->msg ? soap->d_stream->msg : SOAP_STR_EOS));
+          return soap->error = SOAP_ZLIB_ERROR;
+        }
+        if (!soap->d_stream->avail_out)
+        { if (soap_flush_raw(soap, soap->z_buf, SOAP_BUFLEN))
+            return soap->error;
+          soap->d_stream->next_out = (Byte*)soap->z_buf;
+          soap->d_stream->avail_out = SOAP_BUFLEN;
+        }
+      } while (soap->d_stream->avail_in);
+    }
+    else
+#endif
+      return soap_flush_raw(soap, soap->buf, n);
+  }
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_flush_raw(struct soap *soap, const char *s, size_t n)
+{ if ((soap->mode & SOAP_IO) == SOAP_IO_STORE)
+  { register char *t;
+    if (!(t = (char*)soap_push_block(soap, NULL, n)))
+      return soap->error = SOAP_EOM;
+    memcpy(t, s, n);
+    return SOAP_OK;
+  }
+#ifndef WITH_LEANER
+  if ((soap->mode & SOAP_IO) == SOAP_IO_CHUNK)
+  { char t[16];
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(t, sizeof(t), &"\r\n%lX\r\n"[soap->chunksize ? 0 : 2], (unsigned long)n);
+#else
+    sprintf(t, &"\r\n%lX\r\n"[soap->chunksize ? 0 : 2], (unsigned long)n);
+#endif
+    DBGMSG(SENT, t, strlen(t));
+    if ((soap->error = soap->fsend(soap, t, strlen(t))))
+      return soap->error;
+    soap->chunksize += n;
+  }
+  DBGMSG(SENT, s, n);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Send %u bytes to socket=%d/fd=%d\n", (unsigned int)n, soap->socket, soap->sendfd));
+#endif
+  return soap->error = soap->fsend(soap, s, n);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_send(struct soap *soap, const char *s)
+{ if (s)
+    return soap_send_raw(soap, s, strlen(s));
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_send2(struct soap *soap, const char *s1, const char *s2)
+{ if (soap_send(soap, s1))
+    return soap->error;
+  return soap_send(soap, s2);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_send3(struct soap *soap, const char *s1, const char *s2, const char *s3)
+{ if (soap_send(soap, s1)
+   || soap_send(soap, s2))
+    return soap->error;
+  return soap_send(soap, s3);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static size_t
+frecv(struct soap *soap, char *s, size_t n)
+{ register int r;
+  register int retries = 100; /* max 100 retries with non-blocking sockets */
+  SOAP_SOCKET sk;
+  soap->errnum = 0;
+#if defined(__cplusplus) && !defined(WITH_LEAN) && !defined(WITH_COMPAT)
+  if (soap->is)
+  { if (soap->is->good())
+      return soap->is->read(s, (std::streamsize)n).gcount();
+    return 0;
+  }
+#endif
+  sk = soap->recvsk;
+  if (!soap_valid_socket(sk))
+    sk = soap->socket;
+  if (soap_valid_socket(sk))
+  { for (;;)
+    {
+#ifdef WITH_OPENSSL
+      register int err = 0;
+#endif
+#ifdef WITH_OPENSSL
+      if (soap->recv_timeout && !soap->ssl) /* SSL: sockets are nonblocking */
+#else
+      if (soap->recv_timeout)
+#endif
+      { for (;;)
+        { r = tcp_select(soap, sk, SOAP_TCP_SELECT_RCV | SOAP_TCP_SELECT_ERR, soap->recv_timeout);
+          if (r > 0)
+            break;
+          if (!r)
+            return 0;
+          r = soap->errnum;
+          if (r != SOAP_EAGAIN && r != SOAP_EWOULDBLOCK)
+            return 0;
+        }
+      }
+#ifdef WITH_OPENSSL
+      if (soap->ssl)
+      { r = SSL_read(soap->ssl, s, (int)n);
+        if (r > 0)
+          return (size_t)r;
+        err = SSL_get_error(soap->ssl, r);
+        if (err != SSL_ERROR_NONE && err != SSL_ERROR_WANT_READ && err != SSL_ERROR_WANT_WRITE)
+          return 0;
+      }
+      else if (soap->bio)
+      { r = BIO_read(soap->bio, s, (int)n);
+        if (r > 0)
+          return (size_t)r;
+        return 0;
+      }
+      else
+#endif
+#ifdef WITH_GNUTLS
+      if (soap->session)
+      { r = (int)gnutls_record_recv(soap->session, s, n);
+        if (r >= 0)
+          return (size_t)r;
+      }
+      else
+#endif
+      {
+#ifndef WITH_LEAN
+        if ((soap->omode & SOAP_IO_UDP))
+        { SOAP_SOCKLEN_T k = (SOAP_SOCKLEN_T)sizeof(soap->peer);
+          memset((void*)&soap->peer, 0, sizeof(soap->peer));
+          r = recvfrom(sk, s, (SOAP_WINSOCKINT)n, soap->socket_flags, (struct sockaddr*)&soap->peer, &k);	/* portability note: see SOAP_SOCKLEN_T definition in stdsoap2.h */
+          soap->peerlen = (size_t)k;
+#ifndef WITH_IPV6
+          soap->ip = ntohl(soap->peer.sin_addr.s_addr);
+#endif
+        }
+        else
+#endif
+          r = recv(sk, s, (int)n, soap->socket_flags);
+#ifdef PALM
+        /* CycleSyncDisplay(curStatusMsg); */
+#endif
+        if (r >= 0)
+          return (size_t)r;
+        r = soap_socket_errno(sk);
+        if (r != SOAP_EINTR && r != SOAP_EAGAIN && r != SOAP_EWOULDBLOCK)
+        { soap->errnum = r;
+          return 0;
+        }
+      }
+#if defined(WITH_OPENSSL)
+      if (soap->ssl && err == SSL_ERROR_WANT_WRITE)
+        r = tcp_select(soap, sk, SOAP_TCP_SELECT_SND | SOAP_TCP_SELECT_ERR, soap->recv_timeout ? soap->recv_timeout : 5);
+      else
+#elif defined(WITH_GNUTLS)
+      if (soap->session && gnutls_record_get_direction(soap->session))
+        r = tcp_select(soap, sk, SOAP_TCP_SELECT_SND | SOAP_TCP_SELECT_ERR, soap->recv_timeout ? soap->recv_timeout : 5);
+      else
+#endif
+        r = tcp_select(soap, sk, SOAP_TCP_SELECT_RCV | SOAP_TCP_SELECT_ERR, soap->recv_timeout ? soap->recv_timeout : 5);
+      if (!r && soap->recv_timeout)
+        return 0;
+      if (r < 0)
+      { r = soap->errnum;
+        if (r != SOAP_EAGAIN && r != SOAP_EWOULDBLOCK)
+          return 0;
+      }
+      if (retries-- <= 0)
+        return 0;
+#ifdef PALM
+      r = soap_socket_errno(sk);
+      if (r != SOAP_EINTR && retries-- <= 0)
+      { soap->errnum = r;
+        return 0;
+      }
+#endif
+    }
+  }
+#ifdef WITH_FASTCGI
+  return fread(s, 1, n, stdin);
+#else
+#ifdef UNDER_CE
+  return fread(s, 1, n, soap->recvfd);
+#else
+#ifdef WMW_RPM_IO
+  if (soap->rpmreqid)
+    r = httpBlockRead(soap->rpmreqid, s, n);
+  else
+#endif
+#ifdef WIN32
+    r = _read(soap->recvfd, s, (unsigned int)n);
+#else
+    r = read(soap->recvfd, s, (unsigned int)n);
+#endif
+  if (r >= 0)
+    return (size_t)r;
+  soap->errnum = soap_errno;
+  return 0;
+#endif
+#endif
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static soap_wchar
+soap_getchunkchar(struct soap *soap)
+{ if (soap->bufidx < soap->buflen)
+    return soap->buf[soap->bufidx++];
+  soap->bufidx = 0;
+  soap->buflen = soap->chunkbuflen = soap->frecv(soap, soap->buf, SOAP_BUFLEN);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Read %u bytes from socket=%d/fd=%d\n", (unsigned int)soap->buflen, soap->socket, soap->recvfd));
+  DBGMSG(RECV, soap->buf, soap->buflen);
+  if (soap->buflen)
+    return soap->buf[soap->bufidx++];
+  return EOF;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+static int
+soap_isxdigit(int c)
+{ return (c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f');
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_recv_raw(struct soap *soap)
+{ register size_t ret;
+#if !defined(WITH_LEANER) || defined(WITH_ZLIB)
+  register int r;
+#endif
+#ifdef WITH_ZLIB
+  if (soap->mode & SOAP_ENC_ZLIB)
+  { if (soap->d_stream->next_out == Z_NULL)
+    { soap->bufidx = soap->buflen = 0;
+      return EOF;
+    }
+    if (soap->d_stream->avail_in || !soap->d_stream->avail_out)
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Inflating\n"));
+      soap->d_stream->next_out = (Byte*)soap->buf;
+      soap->d_stream->avail_out = SOAP_BUFLEN;
+      r = inflate(soap->d_stream, Z_NO_FLUSH);
+      if (r == Z_NEED_DICT && soap->z_dict)
+        r = inflateSetDictionary(soap->d_stream, (const Bytef*)soap->z_dict, soap->z_dict_len);
+      if (r == Z_OK || r == Z_STREAM_END)
+      { soap->bufidx = 0;
+        ret = soap->buflen = SOAP_BUFLEN - soap->d_stream->avail_out;
+        if (soap->zlib_in == SOAP_ZLIB_GZIP)
+          soap->z_crc = crc32(soap->z_crc, (Byte*)soap->buf, (unsigned int)ret);
+        if (r == Z_STREAM_END)
+        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Inflated %lu->%lu bytes\n", soap->d_stream->total_in, soap->d_stream->total_out));
+          soap->z_ratio_in = (float)soap->d_stream->total_in / (float)soap->d_stream->total_out;
+          soap->d_stream->next_out = Z_NULL;
+        }
+        if (ret)
+        { soap->count += ret;
+          DBGLOG(RECV, SOAP_MESSAGE(fdebug, "\n---- decompressed ----\n"));
+          DBGMSG(RECV, soap->buf, ret);
+          DBGLOG(RECV, SOAP_MESSAGE(fdebug, "\n----\n"));
+#ifndef WITH_LEANER
+          if (soap->fpreparerecv && (r = soap->fpreparerecv(soap, soap->buf, ret)))
+            return soap->error = r;
+#endif
+          return SOAP_OK;
+        }
+      }
+      else if (r != Z_BUF_ERROR)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Inflate error: %s\n", soap->d_stream->msg ? soap->d_stream->msg : SOAP_STR_EOS));
+        soap->d_stream->next_out = Z_NULL;
+        return soap->error = SOAP_ZLIB_ERROR;
+      }
+    }
+zlib_again:
+    if ((soap->mode & SOAP_IO) == SOAP_IO_CHUNK && !soap->chunksize)
+    { memcpy(soap->buf, soap->z_buf, SOAP_BUFLEN);
+      soap->buflen = soap->z_buflen;
+    }
+    DBGLOG(RECV, SOAP_MESSAGE(fdebug, "\n---- compressed ----\n"));
+  }
+#endif
+#ifndef WITH_NOHTTP
+  if ((soap->mode & SOAP_IO) == SOAP_IO_CHUNK) /* read HTTP chunked transfer */
+  { for (;;)
+    { register soap_wchar c;
+      char *t, tmp[17];
+      if (soap->chunksize)
+      { soap->buflen = ret = soap->frecv(soap, soap->buf, soap->chunksize > SOAP_BUFLEN ? SOAP_BUFLEN : soap->chunksize);
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Getting chunk: read %u bytes\n", (unsigned int)ret));
+        DBGMSG(RECV, soap->buf, ret);
+        soap->bufidx = 0;
+        soap->chunksize -= ret;
+        break;
+      }
+      t = tmp;
+      if (!soap->chunkbuflen)
+      { soap->chunkbuflen = ret = soap->frecv(soap, soap->buf, SOAP_BUFLEN);
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Read %u bytes (chunked) from socket=%d\n", (unsigned int)ret, soap->socket));
+        DBGMSG(RECV, soap->buf, ret);
+        soap->bufidx = 0;
+        if (!ret)
+        { soap->ahead = EOF;
+          return EOF;
+        }
+      }
+      else
+        soap->bufidx = soap->buflen;
+      soap->buflen = soap->chunkbuflen;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Getting chunk size (idx=%u len=%u)\n", (unsigned int)soap->bufidx, (unsigned int)soap->buflen));
+      while (!soap_isxdigit((int)(c = soap_getchunkchar(soap))))
+      { if ((int)c == EOF)
+        { soap->ahead = EOF;
+          return EOF;
+        }
+      }
+      do
+        *t++ = (char)c;
+      while (soap_isxdigit((int)(c = soap_getchunkchar(soap))) && (size_t)(t - tmp) < sizeof(tmp)-1);
+      while ((int)c != EOF && c != '\n')
+        c = soap_getchunkchar(soap);
+      if ((int)c == EOF)
+      { soap->ahead = EOF;
+        return EOF;
+      }
+      *t = '\0';
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Chunk size = %s (hex)\n", tmp));
+      soap->chunksize = (size_t)soap_strtoul(tmp, &t, 16);
+      if (!soap->chunksize)
+      { soap->bufidx = soap->buflen = soap->chunkbuflen = 0;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "End of chunked message\n"));
+        while ((int)c != EOF && c != '\n')
+          c = soap_getchunkchar(soap);
+        ret = 0;
+        soap->ahead = EOF;
+        break;
+      }
+      soap->buflen = soap->bufidx + soap->chunksize;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Moving buf len to idx=%u len=%u (%s)\n", (unsigned int)soap->bufidx, (unsigned int)soap->buflen, tmp));
+      if (soap->buflen > soap->chunkbuflen)
+      { soap->buflen = soap->chunkbuflen;
+        soap->chunksize -= soap->buflen - soap->bufidx;
+        soap->chunkbuflen = 0;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Passed end of buffer for chunked HTTP (%u bytes left)\n", (unsigned int)(soap->buflen - soap->bufidx)));
+      }
+      else if (soap->chunkbuflen)
+        soap->chunksize = 0;
+      ret = soap->buflen - soap->bufidx;
+      if (ret)
+        break;
+    }
+  }
+  else
+#endif
+  { soap->bufidx = 0;
+    soap->buflen = ret = soap->frecv(soap, soap->buf, SOAP_BUFLEN);
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Read %u bytes from socket=%d/fd=%d\n", (unsigned int)ret, soap->socket, soap->recvfd));
+    DBGMSG(RECV, soap->buf, ret);
+  }
+#ifdef WITH_ZLIB
+  if (soap->mode & SOAP_ENC_ZLIB)
+  { memcpy(soap->z_buf, soap->buf, SOAP_BUFLEN);
+    soap->d_stream->next_in = (Byte*)(soap->z_buf + soap->bufidx);
+    soap->d_stream->avail_in = (unsigned int)ret;
+    soap->d_stream->next_out = (Byte*)soap->buf;
+    soap->d_stream->avail_out = SOAP_BUFLEN;
+    r = inflate(soap->d_stream, Z_NO_FLUSH);
+    if (r == Z_NEED_DICT && soap->z_dict)
+      r = inflateSetDictionary(soap->d_stream, (const Bytef*)soap->z_dict, soap->z_dict_len);
+    if (r == Z_OK || r == Z_STREAM_END)
+    { soap->bufidx = 0;
+      soap->z_buflen = soap->buflen;
+      soap->buflen = SOAP_BUFLEN - soap->d_stream->avail_out;
+      if (soap->zlib_in == SOAP_ZLIB_GZIP)
+        soap->z_crc = crc32(soap->z_crc, (Byte*)soap->buf, (unsigned int)soap->buflen);
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Inflated %u bytes\n", (unsigned int)soap->buflen));
+      if (ret && !soap->buflen && r != Z_STREAM_END)
+        goto zlib_again;
+      ret = soap->buflen;
+      if (r == Z_STREAM_END)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Inflated total %lu->%lu bytes\n", soap->d_stream->total_in, soap->d_stream->total_out));
+        soap->z_ratio_in = (float)soap->d_stream->total_in / (float)soap->d_stream->total_out;
+        soap->d_stream->next_out = Z_NULL;
+      }
+      DBGLOG(RECV, SOAP_MESSAGE(fdebug, "\n---- decompressed ----\n"));
+      DBGMSG(RECV, soap->buf, ret);
+#ifndef WITH_LEANER
+      if (soap->fpreparerecv && (r = soap->fpreparerecv(soap, soap->buf, ret)))
+        return soap->error = r;
+#endif
+    }
+    else
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unable to inflate: (%d) %s\n", r, soap->d_stream->msg ? soap->d_stream->msg : SOAP_STR_EOS));
+      soap->d_stream->next_out = Z_NULL;
+      return soap->error = SOAP_ZLIB_ERROR;
+    }
+  }
+#endif
+#ifndef WITH_LEANER
+  if (soap->fpreparerecv
+#ifdef WITH_ZLIB
+   && soap->zlib_in == SOAP_ZLIB_NONE
+#endif
+   && (r = soap->fpreparerecv(soap, soap->buf + soap->bufidx, ret)))
+    return soap->error = r;
+#endif
+  soap->count += ret;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Read count=%lu (+%lu)\n", (unsigned long)soap->count, (unsigned long)ret));
+  return !ret;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_recv(struct soap *soap)
+{
+#ifndef WITH_LEANER
+  if (soap->mode & SOAP_ENC_DIME)
+  { if (soap->dime.buflen)
+    { char *s;
+      int i;
+      unsigned char tmp[12];
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DIME hdr for chunked DIME is in buffer\n"));
+      soap->count += soap->dime.buflen - soap->buflen;
+      soap->buflen = soap->dime.buflen;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Skip padding (%ld bytes)\n", -(long)soap->dime.size&3));
+      for (i = -(long)soap->dime.size&3; i > 0; i--)
+      { soap->bufidx++;
+        if (soap->bufidx >= soap->buflen)
+          if (soap_recv_raw(soap))
+            return EOF;
+      }
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Get DIME hdr for next chunk\n"));
+      s = (char*)tmp;
+      for (i = 12; i > 0; i--)
+      { *s++ = soap->buf[soap->bufidx++];
+        if (soap->bufidx >= soap->buflen)
+          if (soap_recv_raw(soap))
+            return EOF;
+      }
+      soap->dime.flags = tmp[0] & 0x7;
+      soap->dime.size = ((size_t)tmp[8] << 24) | ((size_t)tmp[9] << 16) | ((size_t)tmp[10] << 8) | ((size_t)tmp[11]);
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Get DIME chunk (%u bytes)\n", (unsigned int)soap->dime.size));
+      if (soap->dime.flags & SOAP_DIME_CF)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "More chunking\n"));
+        soap->dime.chunksize = soap->dime.size;
+        if (soap->buflen - soap->bufidx >= soap->dime.size)
+        { soap->dime.buflen = soap->buflen;
+          soap->buflen = soap->bufidx + soap->dime.chunksize;
+        }
+        else
+          soap->dime.chunksize -= soap->buflen - soap->bufidx;
+      }
+      else
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Last chunk\n"));
+        soap->dime.buflen = 0;
+        soap->dime.chunksize = 0;
+      }
+      soap->count = soap->buflen - soap->bufidx;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%u bytes remaining\n", (unsigned int)soap->count));
+      return SOAP_OK;
+    }
+    if (soap->dime.chunksize)
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Get next DIME hdr for chunked DIME (%u bytes chunk)\n", (unsigned int)soap->dime.chunksize));
+      if (soap_recv_raw(soap))
+        return EOF;
+      if (soap->buflen - soap->bufidx >= soap->dime.chunksize)
+      { soap->dime.buflen = soap->buflen;
+        soap->count -= soap->buflen - soap->bufidx - soap->dime.chunksize;
+        soap->buflen = soap->bufidx + soap->dime.chunksize;
+      }
+      else
+        soap->dime.chunksize -= soap->buflen - soap->bufidx;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%lu bytes remaining, count=%lu\n", (unsigned long)(soap->buflen-soap->bufidx), (unsigned long)soap->count));
+      return SOAP_OK;
+    }
+  }
+  while (soap->ffilterrecv)
+  { int err, last = soap->filterstop;
+    if (last)
+      soap->bufidx = soap->buflen = 0;
+    if ((err = soap->ffilterrecv(soap, soap->buf, &soap->buflen, sizeof(soap->buf))))
+      return soap->error = err;
+    if (soap->buflen)
+    { soap->bufidx = 0;
+      soap->filterstop = last;
+      return SOAP_OK;
+    }
+    if (last)
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Returning postponed error %d\n", last));
+      soap->filterstop = SOAP_OK;
+      return last;
+    }
+    soap->filterstop = soap_recv_raw(soap); /* do not call again after EOF */
+  }
+#endif
+  return soap_recv_raw(soap);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+soap_wchar
+SOAP_FMAC2
+soap_getchar(struct soap *soap)
+{ register soap_wchar c;
+  c = soap->ahead;
+  if (c)
+  { if (c != EOF)
+      soap->ahead = 0;
+    return c;
+  }
+  return soap_get1(soap);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+const struct soap_code_map*
+SOAP_FMAC2
+soap_code(const struct soap_code_map *code_map, const char *str)
+{ if (code_map && str)
+  { while (code_map->string)
+    { if (!strcmp(str, code_map->string)) /* case sensitive */
+        return code_map;
+      code_map++;
+    }
+  }
+  return NULL;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+long
+SOAP_FMAC2
+soap_code_int(const struct soap_code_map *code_map, const char *str, long other)
+{ if (code_map)
+  { while (code_map->string)
+    { if (!soap_tag_cmp(str, code_map->string)) /* case insensitive */
+        return code_map->code;
+      code_map++;
+    }
+  }
+  return other;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_code_str(const struct soap_code_map *code_map, long code)
+{ if (!code_map)
+    return NULL;
+  while (code_map->code != code && code_map->string)
+    code_map++;
+  return code_map->string;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+long
+SOAP_FMAC2
+soap_code_bits(const struct soap_code_map *code_map, const char *str)
+{ register long bits = 0;
+  if (code_map)
+  { while (str && *str)
+    { const struct soap_code_map *p;
+      for (p = code_map; p->string; p++)
+      { register size_t n = strlen(p->string);
+        if (!strncmp(p->string, str, n) && soap_blank((soap_wchar)str[n]))
+        { bits |= p->code;
+          str += n;
+          while (*str > 0 && *str <= 32)
+            str++;
+          break;
+        }
+      }
+      if (!p->string)
+        return 0;
+    }
+  }
+  return bits;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_code_list(struct soap *soap, const struct soap_code_map *code_map, long code)
+{ register char *t = soap->tmpbuf;
+  if (code_map)
+  { while (code_map->string)
+    { if (code_map->code & code)
+      { register const char *s = code_map->string;
+        if (t != soap->tmpbuf)
+          *t++ = ' ';
+        while (*s && t < soap->tmpbuf + sizeof(soap->tmpbuf) - 1)
+          *t++ = *s++;
+        if (t == soap->tmpbuf + sizeof(soap->tmpbuf) - 1)
+          break;
+      }
+      code_map++;
+    }
+  }
+  *t = '\0';
+  return soap->tmpbuf;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+static soap_wchar
+soap_char(struct soap *soap)
+{ char tmp[8];
+  register int i;
+  register soap_wchar c;
+  register char *s = tmp;
+  for (i = 0; i < 7; i++)
+  { c = soap_get1(soap);
+    if (c == ';' || (int)c == EOF)
+      break;
+    *s++ = (char)c;
+  }
+  *s = '\0';
+  if (*tmp == '#')
+  { if (tmp[1] == 'x' || tmp[1] == 'X')
+      return (soap_wchar)soap_strtol(tmp + 2, NULL, 16);
+    return (soap_wchar)soap_strtol(tmp + 1, NULL, 10);
+  }
+  if (!strcmp(tmp, "lt"))
+    return '<';
+  if (!strcmp(tmp, "gt"))
+    return '>';
+  if (!strcmp(tmp, "amp"))
+    return '&';
+  if (!strcmp(tmp, "quot"))
+    return '"';
+  if (!strcmp(tmp, "apos"))
+    return '\'';
+#ifndef WITH_LEAN
+  return (soap_wchar)soap_code_int(html_entity_codes, tmp, SOAP_UNKNOWN_CHAR);
+#else
+  return SOAP_UNKNOWN_CHAR; /* use this to represent unknown code */
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifdef WITH_LEAN
+#ifndef PALM_1
+soap_wchar
+soap_get0(struct soap *soap)
+{ if (soap->bufidx >= soap->buflen && soap_recv(soap))
+    return EOF;
+  return (unsigned char)soap->buf[soap->bufidx];
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifdef WITH_LEAN
+#ifndef PALM_1
+soap_wchar
+soap_get1(struct soap *soap)
+{ if (soap->bufidx >= soap->buflen && soap_recv(soap))
+    return EOF;
+  return (unsigned char)soap->buf[soap->bufidx++];
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+soap_wchar
+SOAP_FMAC2
+soap_get(struct soap *soap)
+{ register soap_wchar c;
+  c = soap->ahead;
+  if (c)
+  { if ((int)c != EOF)
+      soap->ahead = 0;
+  }
+  else
+    c = soap_get1(soap);
+  while ((int)c != EOF)
+  { if (soap->cdata)
+    { if (c == ']')
+      { c = soap_get1(soap);
+        if (c == ']')
+        { c = soap_get0(soap);
+          if (c == '>')
+          { soap->cdata = 0;
+            c = soap_get1(soap);
+            c = soap_get1(soap);
+          }
+          else
+          { soap_unget(soap, ']');
+            return ']';
+          }
+        }
+        else
+        { soap_revget1(soap);
+          return ']';
+        }
+      }
+      else
+        return c;
+    }
+    switch (c)
+    { case '<':
+        do c = soap_get1(soap);
+        while (soap_blank(c));
+        if (c == '!' || c == '?' || c == '%')
+        { register int k = 1;
+          if (c == '!')
+          { c = soap_get1(soap);
+            if (c == '[')
+            { do c = soap_get1(soap);
+              while ((int)c != EOF && c != '[');
+              if ((int)c == EOF)
+                break;
+              soap->cdata = 1;
+              c = soap_get1(soap);
+              continue;
+            }
+            if (c == '-' && (c = soap_get1(soap)) == '-')
+            { do
+              { c = soap_get1(soap);
+                if (c == '-' && (c = soap_get1(soap)) == '-')
+                  break;
+              } while ((int)c != EOF);
+            }
+          }
+          else if (c == '?')
+            c = soap_get_pi(soap);
+          while ((int)c != EOF)
+          { if (c == '<')
+              k++;
+            else if (c == '>')
+            { if (--k <= 0)
+                break;
+            }
+            c = soap_get1(soap);
+          }
+          if ((int)c == EOF)
+            break;
+          c = soap_get1(soap);
+          continue;
+        }
+        if (c == '/')
+          return SOAP_TT;
+        soap_revget1(soap);
+        return SOAP_LT;
+      case '>':
+        return SOAP_GT;
+      case '"':
+        return SOAP_QT;
+      case '\'':
+        return SOAP_AP;
+      case '&':
+        return soap_char(soap) | 0x80000000;
+    }
+    break;
+  }
+  return c;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+static soap_wchar
+soap_get_pi(struct soap *soap)
+{ char buf[64];
+  register char *s = buf;
+  register int i = sizeof(buf);
+  register soap_wchar c = soap_getchar(soap);
+  /* This is a quick way to parse XML PI and we could use a callback instead to
+   * enable applications to intercept processing instructions */
+  while ((int)c != EOF && c != '?')
+  { if (--i > 0)
+    { if (soap_blank(c))
+        c = ' ';
+      *s++ = (char)c;
+    }
+    c = soap_getchar(soap);
+  }
+  *s = '\0';
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "XML PI <?%s?>\n", buf));
+  if (!strncmp(buf, "xml ", 4))
+  { s = strstr(buf, " encoding=");
+    if (s && s[10])
+    { if (!soap_tag_cmp(s + 11, "iso-8859-1*")
+       || !soap_tag_cmp(s + 11, "latin1*"))
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Switching to latin1 encoding\n"));
+        soap->mode |= SOAP_ENC_LATIN;
+      }
+      else if (!soap_tag_cmp(s + 11, "utf-8*"))
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Switching to utf-8 encoding\n"));
+        soap->mode &= ~SOAP_ENC_LATIN;
+      }
+    }
+  }
+  if ((int)c != EOF)
+    c = soap_getchar(soap);
+  return c;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_move(struct soap *soap, size_t n)
+{ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Moving %lu bytes forward\n", (unsigned long)n));
+  for (; n; n--)
+    if ((int)soap_getchar(soap) == EOF)
+      return SOAP_EOF;
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+size_t
+SOAP_FMAC2
+soap_tell(struct soap *soap)
+{ return soap->count - soap->buflen + soap->bufidx - (soap->ahead != 0);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_pututf8(struct soap *soap, register unsigned long c)
+{ char tmp[16];
+  if (c < 0x80 && c > 0)
+  { *tmp = (char)c;
+    return soap_send_raw(soap, tmp, 1);
+  }
+#ifndef WITH_LEAN
+  if (c >= 0x80)
+  { register char *t = tmp;
+    if (c < 0x0800)
+      *t++ = (char)(0xC0 | ((c >> 6) & 0x1F));
+    else
+    { if (c < 0x010000)
+        *t++ = (char)(0xE0 | ((c >> 12) & 0x0F));
+      else
+      { if (c < 0x200000)
+          *t++ = (char)(0xF0 | ((c >> 18) & 0x07));
+        else
+        { if (c < 0x04000000)
+            *t++ = (char)(0xF8 | ((c >> 24) & 0x03));
+          else
+          { *t++ = (char)(0xFC | ((c >> 30) & 0x01));
+            *t++ = (char)(0x80 | ((c >> 24) & 0x3F));
+          }
+          *t++ = (char)(0x80 | ((c >> 18) & 0x3F));
+        }
+        *t++ = (char)(0x80 | ((c >> 12) & 0x3F));
+      }
+      *t++ = (char)(0x80 | ((c >> 6) & 0x3F));
+    }
+    *t++ = (char)(0x80 | (c & 0x3F));
+    *t = '\0';
+  }
+  else
+#endif
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(tmp, sizeof(tmp), "&#%lu;", c);
+#else
+    sprintf(tmp, "&#%lu;", c);
+#endif
+  return soap_send(soap, tmp);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+soap_wchar
+SOAP_FMAC2
+soap_getutf8(struct soap *soap)
+{ register soap_wchar c, c1, c2, c3, c4;
+  c = soap->ahead;
+  if (c >= 0x80)
+    soap->ahead = 0;
+  else
+    c = soap_get(soap);
+  if (c < 0x80 || c > 0xFF || (soap->mode & SOAP_ENC_LATIN))
+    return c;
+  c1 = soap_get1(soap);
+  if (c1 < 0x80)
+  { soap_revget1(soap); /* doesn't look like this is UTF8 */
+    return c;
+  }
+  c1 &= 0x3F;
+  if (c < 0xE0)
+    return ((soap_wchar)(c & 0x1F) << 6) | c1;
+  c2 = (soap_wchar)soap_get1(soap) & 0x3F;
+  if (c < 0xF0)
+    return ((soap_wchar)(c & 0x0F) << 12) | (c1 << 6) | c2;
+  c3 = (soap_wchar)soap_get1(soap) & 0x3F;
+  if (c < 0xF8)
+    return ((soap_wchar)(c & 0x07) << 18) | (c1 << 12) | (c2 << 6) | c3;
+  c4 = (soap_wchar)soap_get1(soap) & 0x3F;
+  if (c < 0xFC)
+    return ((soap_wchar)(c & 0x03) << 24) | (c1 << 18) | (c2 << 12) | (c3 << 6) | c4;
+  return ((soap_wchar)(c & 0x01) << 30) | (c1 << 24) | (c2 << 18) | (c3 << 12) | (c4 << 6) | (soap_wchar)(soap_get1(soap) & 0x3F);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_puthex(struct soap *soap, const unsigned char *s, int n)
+{ char d[2];
+  register int i;
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+  { if (!(soap->dom->data = soap_s2hex(soap, s, NULL, n)))
+      return soap->error;
+    return SOAP_OK;
+  }
+#endif
+  for (i = 0; i < n; i++)
+  { register int m = *s++;
+    d[0] = (char)((m >> 4) + (m > 159 ? '7' : '0'));
+    m &= 0x0F;
+    d[1] = (char)(m + (m > 9 ? '7' : '0'));
+    if (soap_send_raw(soap, d, 2))
+      return soap->error;
+  }
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+unsigned char*
+SOAP_FMAC2
+soap_gethex(struct soap *soap, int *n)
+{
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+  { soap->dom->data = soap_string_in(soap, 0, -1, -1);
+    return (unsigned char*)soap_hex2s(soap, soap->dom->data, NULL, 0, n);
+  }
+#endif
+#ifdef WITH_FAST
+  soap->labidx = 0;
+  for (;;)
+  { register char *s;
+    register size_t i, k;
+    if (soap_append_lab(soap, NULL, 0))
+      return NULL;
+    s = soap->labbuf + soap->labidx;
+    k = soap->lablen - soap->labidx;
+    soap->labidx = soap->lablen;
+    for (i = 0; i < k; i++)
+    { register char d1, d2;
+      register soap_wchar c;
+      c = soap_get(soap);
+      if (soap_isxdigit(c))
+      { d1 = (char)c;
+        c = soap_get(soap);
+        if (soap_isxdigit(c))
+          d2 = (char)c;
+        else
+        { soap->error = SOAP_TYPE;
+          return NULL;
+        }
+      }
+      else
+      { unsigned char *p;
+        soap_unget(soap, c);
+        if (n)
+          *n = (int)(soap->lablen + i - k);
+        p = (unsigned char*)soap_malloc(soap, soap->lablen + i - k);
+        if (p)
+          memcpy(p, soap->labbuf, soap->lablen + i - k);
+        return p;
+      }
+      *s++ = (char)(((d1 >= 'A' ? (d1 & 0x7) + 9 : d1 - '0') << 4) + (d2 >= 'A' ? (d2 & 0x7) + 9 : d2 - '0'));
+    }
+  }
+#else
+  if (soap_new_block(soap) == NULL)
+    return NULL;
+  for (;;)
+  { register int i;
+    register char *s = (char*)soap_push_block(soap, NULL, SOAP_BLKLEN);
+    if (!s)
+    { soap_end_block(soap, NULL);
+      return NULL;
+    }
+    for (i = 0; i < SOAP_BLKLEN; i++)
+    { register char d1, d2;
+      register soap_wchar c = soap_get(soap);
+      if (soap_isxdigit(c))
+      { d1 = (char)c;
+        c = soap_get(soap);
+        if (soap_isxdigit(c))
+          d2 = (char)c;
+        else
+        { soap_end_block(soap, NULL);
+          soap->error = SOAP_TYPE;
+          return NULL;
+        }
+      }
+      else
+      { unsigned char *p;
+        soap_unget(soap, c);
+        if (n)
+          *n = (int)soap_size_block(soap, NULL, i);
+        p = (unsigned char*)soap_save_block(soap, NULL, 0);
+        return p;
+      }
+      *s++ = ((d1 >= 'A' ? (d1 & 0x7) + 9 : d1 - '0') << 4) + (d2 >= 'A' ? (d2 & 0x7) + 9 : d2 - '0');
+    }
+  }
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_putbase64(struct soap *soap, const unsigned char *s, int n)
+{ register int i;
+  register unsigned long m;
+  char d[4];
+  if (!s)
+    return SOAP_OK;
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+  { if (!(soap->dom->data = soap_s2base64(soap, s, NULL, n)))
+      return soap->error;
+    return SOAP_OK;
+  }
+#endif
+  for (; n > 2; n -= 3, s += 3)
+  { m = s[0];
+    m = (m << 8) | s[1];
+    m = (m << 8) | s[2];
+    for (i = 4; i > 0; m >>= 6)
+      d[--i] = soap_base64o[m & 0x3F];
+    if (soap_send_raw(soap, d, 4))
+      return soap->error;
+  }
+  if (n > 0)
+  { m = 0;
+    for (i = 0; i < n; i++)
+      m = (m << 8) | *s++;
+    for (; i < 3; i++)
+      m <<= 8;
+    for (i++; i > 0; m >>= 6)
+      d[--i] = soap_base64o[m & 0x3F];
+    for (i = 3; i > n; i--)
+      d[i] = '=';
+    if (soap_send_raw(soap, d, 4))
+      return soap->error;
+  }
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+unsigned char*
+SOAP_FMAC2
+soap_getbase64(struct soap *soap, int *n, int malloc_flag)
+{ (void)malloc_flag;
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+  { soap->dom->data = soap_string_in(soap, 0, -1, -1);
+    return (unsigned char*)soap_base642s(soap, soap->dom->data, NULL, 0, n);
+  }
+#endif
+#ifdef WITH_FAST
+  soap->labidx = 0;
+  for (;;)
+  { register size_t i, k;
+    register char *s;
+    if (soap_append_lab(soap, NULL, 2))
+      return NULL;
+    s = soap->labbuf + soap->labidx;
+    k = soap->lablen - soap->labidx;
+    soap->labidx = 3 * (soap->lablen / 3);
+    if (!s)
+      return NULL;
+    if (k > 2)
+    { for (i = 0; i < k - 2; i += 3)
+      { register unsigned long m = 0;
+        register int j = 0;
+        do
+        { register soap_wchar c = soap_get(soap);
+          if (c < SOAP_AP)
+            c &= 0x7FFFFFFF;
+          if (c == '=' || c < 0)
+          { unsigned char *p;
+            switch (j)
+            { case 2:
+                *s++ = (char)((m >> 4) & 0xFF);
+                i++;
+                break;
+              case 3:
+                *s++ = (char)((m >> 10) & 0xFF);
+                *s++ = (char)((m >> 2) & 0xFF);
+                i += 2;
+            }
+            if (n)
+              *n = (int)(soap->lablen + i - k);
+            p = (unsigned char*)soap_malloc(soap, soap->lablen + i - k);
+            if (p)
+              memcpy(p, soap->labbuf, soap->lablen + i - k);
+            if (c >= 0)
+            { while ((int)((c = soap_get(soap)) != EOF) && c != SOAP_LT && c != SOAP_TT)
+                ;
+            }
+            soap_unget(soap, c);
+            return p;
+          }
+          c -= '+';
+          if (c >= 0 && c <= 79)
+          { register int b = soap_base64i[c];
+            if (b >= 64)
+            { soap->error = SOAP_TYPE;
+              return NULL;
+            }
+            m = (m << 6) + b;
+            j++;
+          }
+          else if (!soap_blank(c + '+'))
+          { soap->error = SOAP_TYPE;
+            return NULL;
+          }
+        } while (j < 4);
+        *s++ = (char)((m >> 16) & 0xFF);
+        *s++ = (char)((m >> 8) & 0xFF);
+        *s++ = (char)(m & 0xFF);
+      }
+    }
+  }
+#else
+  if (soap_new_block(soap) == NULL)
+    return NULL;
+  for (;;)
+  { register int i;
+    register char *s = (char*)soap_push_block(soap, NULL, 3 * SOAP_BLKLEN); /* must be multiple of 3 */
+    if (!s)
+    { soap_end_block(soap, NULL);
+      return NULL;
+    }
+    for (i = 0; i < SOAP_BLKLEN; i++)
+    { register unsigned long m = 0;
+      register int j = 0;
+      do
+      { register soap_wchar c = soap_get(soap);
+        if (c == '=' || c < 0)
+        { unsigned char *p;
+          i *= 3;
+          switch (j)
+          { case 2:
+              *s++ = (char)((m >> 4) & 0xFF);
+              i++;
+              break;
+            case 3:
+              *s++ = (char)((m >> 10) & 0xFF);
+              *s++ = (char)((m >> 2) & 0xFF);
+              i += 2;
+          }
+          if (n)
+            *n = (int)soap_size_block(soap, NULL, i);
+          p = (unsigned char*)soap_save_block(soap, NULL, 0);
+          if (c >= 0)
+          { while ((int)((c = soap_get(soap)) != EOF) && c != SOAP_LT && c != SOAP_TT)
+              ;
+          }
+          soap_unget(soap, c);
+          return p;
+        }
+        c -= '+';
+        if (c >= 0 && c <= 79)
+        { int b = soap_base64i[c];
+          if (b >= 64)
+          { soap->error = SOAP_TYPE;
+            return NULL;
+          }
+          m = (m << 6) + b;
+          j++;
+        }
+        else if (!soap_blank(c))
+        { soap->error = SOAP_TYPE;
+          return NULL;
+        }
+      } while (j < 4);
+      *s++ = (char)((m >> 16) & 0xFF);
+      *s++ = (char)((m >> 8) & 0xFF);
+      *s++ = (char)(m & 0xFF);
+    }
+  }
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_xop_forward(struct soap *soap, unsigned char **ptr, int *size, char **id, char **type, char **options)
+{ /* Check MTOM xop:Include element (within hex/base64Binary) */
+  /* TODO: this code to be obsoleted with new import/xop.h conventions */
+  short body = soap->body; /* should save type too? */
+  if (!soap_peek_element(soap))
+  { if (!soap_element_begin_in(soap, "xop:Include", 0, NULL))
+    { if (soap_dime_forward(soap, ptr, size, id, type, options)
+       || (soap->body && soap_element_end_in(soap, "xop:Include")))
+        return soap->error;
+    }
+  }
+  soap->body = body;
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_dime_forward(struct soap *soap, unsigned char **ptr, int *size, char **id, char **type, char **options)
+{ struct soap_xlist *xp;
+  *ptr = NULL;
+  *size = 0;
+  *id = NULL;
+  *type = NULL;
+  *options = NULL;
+  if (!*soap->href)
+    return SOAP_OK;
+  *id = soap_strdup(soap, soap->href);
+  xp = (struct soap_xlist*)SOAP_MALLOC(soap, sizeof(struct soap_xlist));
+  if (!xp)
+    return soap->error = SOAP_EOM;
+  xp->next = soap->xlist;
+  xp->ptr = ptr;
+  xp->size = size;
+  xp->id = *id;
+  xp->type = type;
+  xp->options = options;
+  soap->xlist = xp;
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_strdup(struct soap *soap, const char *s)
+{ char *t = NULL;
+  if (s && (t = (char*)soap_malloc(soap, strlen(s) + 1)))
+    strcpy(t, s);
+  return t;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+wchar_t *
+SOAP_FMAC2
+soap_wstrdup(struct soap *soap, const wchar_t *s)
+{ wchar_t *t = NULL;
+  if (s)
+  { size_t n = 0;
+    while (s[n])
+      n++;
+    if ((t = (wchar_t*)soap_malloc(soap, sizeof(wchar_t)*(n+1))))
+      memcpy(t, s, sizeof(wchar_t)*(n+1));
+  }
+  return t;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+struct soap_blist*
+SOAP_FMAC2
+soap_new_block(struct soap *soap)
+{ struct soap_blist *p;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "New block sequence (prev=%p)\n", soap->blist));
+  if (!(p = (struct soap_blist*)SOAP_MALLOC(soap, sizeof(struct soap_blist))))
+  { soap->error = SOAP_EOM;
+    return NULL;
+  }
+  p->next = soap->blist;
+  p->ptr = NULL;
+  p->size = 0;
+  soap->blist = p;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void*
+SOAP_FMAC2
+soap_push_block(struct soap *soap, struct soap_blist *b, size_t n)
+{ char *p;
+  if (!b)
+    b = soap->blist;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Push block of %u bytes (%u bytes total)\n", (unsigned int)n, (unsigned int)b->size + (unsigned int)n));
+  if (!(p = (char*)SOAP_MALLOC(soap, n + sizeof(char*) + sizeof(size_t))))
+  { soap->error = SOAP_EOM;
+    return NULL;
+  }
+  *(char**)p = b->ptr;
+  *(size_t*)(p + sizeof(char*)) = n;
+  b->ptr = p;
+  b->size += n;
+  return p + sizeof(char*) + sizeof(size_t);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_pop_block(struct soap *soap, struct soap_blist *b)
+{ char *p;
+  if (!b)
+    b = soap->blist;
+  if (!b->ptr)
+    return;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Pop block\n"));
+  p = b->ptr;
+  b->size -= *(size_t*)(p + sizeof(char*));
+  b->ptr = *(char**)p;
+  SOAP_FREE(soap, p);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_update_pointers(struct soap *soap, char *start, char *end, char *p1, char *p2)
+{
+#ifndef WITH_NOIDREF
+  int i;
+  register struct soap_ilist *ip = NULL;
+  register struct soap_flist *fp = NULL;
+#ifndef WITH_LEANER
+  register struct soap_xlist *xp = NULL;
+#endif
+  register void *p, **q;
+  for (i = 0; i < SOAP_IDHASH; i++)
+  { for (ip = soap->iht[i]; ip; ip = ip->next)
+    { if (ip->ptr && (char*)ip->ptr >= start && (char*)ip->ptr < end)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Update id='%s' %p -> %p\n", ip->id, ip->ptr, (char*)ip->ptr + (p1-p2)));
+        ip->ptr = (char*)ip->ptr + (p1-p2);
+      }
+      for (q = &ip->link; q; q = (void**)p)
+      { p = *q;
+        if (p && (char*)p >= start && (char*)p < end)
+        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Link update id='%s' %p\n", ip->id, p));
+          *q = (char*)p + (p1-p2);
+        }
+      }
+      for (q = &ip->copy; q; q = (void**)p)
+      { p = *q;
+        if (p && (char*)p >= start && (char*)p < end)
+        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy chain update id='%s' %p\n", ip->id, p));
+          *q = (char*)p + (p1-p2);
+        }
+      }
+      for (fp = ip->flist; fp; fp = fp->next)
+      { if ((char*)fp->ptr >= start && (char*)fp->ptr < end)
+        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy list update id='%s' %p\n", ip->id, fp));
+          fp->ptr = (char*)fp->ptr + (p1-p2);
+        }
+      }
+    }
+  }
+#ifndef WITH_LEANER
+  for (xp = soap->xlist; xp; xp = xp->next)
+  { if (xp->ptr && (char*)xp->ptr >= start && (char*)xp->ptr < end)
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Update id='%s' %p -> %p\n", xp->id ? xp->id : SOAP_STR_EOS, xp->ptr, (char*)xp->ptr + (p1-p2)));
+      xp->ptr = (unsigned char**)((char*)xp->ptr + (p1-p2));
+      xp->size = (int*)((char*)xp->size + (p1-p2));
+      xp->type = (char**)((char*)xp->type + (p1-p2));
+      xp->options = (char**)((char*)xp->options + (p1-p2));
+    }
+  }
+#endif
+#else
+  (void)soap; (void)start; (void)end; (void)p1; (void)p2;
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_1
+static int
+soap_has_copies(struct soap *soap, register const char *start, register const char *end)
+{ register int i;
+  register struct soap_ilist *ip = NULL;
+  register struct soap_flist *fp = NULL;
+  register const char *p;
+  for (i = 0; i < SOAP_IDHASH; i++)
+  { for (ip = soap->iht[i]; ip; ip = ip->next)
+    { for (p = (const char*)ip->copy; p; p = *(const char**)p)
+        if (p >= start && p < end)
+          return SOAP_ERR;
+      for (fp = ip->flist; fp; fp = fp->next)
+        if ((const char*)fp->ptr >= start && (const char*)fp->ptr < end)
+          return SOAP_ERR;
+    }
+  }
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_resolve(struct soap *soap)
+{ register int i;
+  register struct soap_ilist *ip = NULL;
+  register struct soap_flist *fp = NULL;
+  short flag;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Resolving forwarded data\n"));
+  for (i = 0; i < SOAP_IDHASH; i++)
+  { for (ip = soap->iht[i]; ip; ip = ip->next)
+    { if (ip->ptr)
+      { register void *p, **q, *r;
+        q = (void**)ip->link;
+        ip->link = NULL;
+        r = ip->ptr;
+        DBGLOG(TEST, if (q) SOAP_MESSAGE(fdebug, "Traversing link chain to resolve id='%s'\n", ip->id));
+        while (q)
+        { p = *q;
+          *q = r;
+          DBGLOG(TEST,SOAP_MESSAGE(fdebug, "... link %p -> %p\n", q, r));
+          q = (void**)p;
+        }
+      }
+      else if (*ip->id == '#')
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Missing data for id='%s'\n", ip->id));
+        strcpy(soap->id, ip->id + 1);
+        return soap->error = SOAP_MISSING_ID;
+      }
+    }
+  }
+  do
+  { flag = 0;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Resolution phase\n"));
+    for (i = 0; i < SOAP_IDHASH; i++)
+    { for (ip = soap->iht[i]; ip; ip = ip->next)
+      { if (ip->ptr && !soap_has_copies(soap, (const char*)ip->ptr, (const char*)ip->ptr + ip->size))
+        { if (ip->copy)
+          { register void *p, **q = (void**)ip->copy;
+            DBGLOG(TEST, if (q) SOAP_MESSAGE(fdebug, "Traversing copy chain to resolve id='%s'\n", ip->id));
+            ip->copy = NULL;
+            do
+            { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "... copy %p -> %p (%u bytes)\n", ip->ptr, q, (unsigned int)ip->size));
+              p = *q;
+              memcpy(q, ip->ptr, ip->size);
+              q = (void**)p;
+            } while (q);
+            flag = 1;
+          }
+          for (fp = ip->flist; fp; fp = ip->flist)
+          { register unsigned int k = fp->level;
+            register void *p = ip->ptr;
+            DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Resolving forwarded data type=%d location=%p level=%u,%u id='%s'\n", ip->type, p, ip->level, fp->level, ip->id));
+            while (ip->level < k)
+            { register void **q = (void**)soap_malloc(soap, sizeof(void*));
+              if (!q)
+                return soap->error;
+              *q = p;
+              DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Descending one level, new location=%p holds=%p...\n", q, *q));
+              p = (void*)q;
+              k--;
+            }
+            if (fp->fcopy)
+              fp->fcopy(soap, ip->type, fp->type, fp->ptr, fp->len, p, ip->size);
+            else
+              soap_fcopy(soap, ip->type, fp->type, fp->ptr, fp->len, p, ip->size);
+            ip->flist = fp->next;
+            SOAP_FREE(soap, fp);
+            flag = 1;
+          }
+        }
+      }
+    }
+  } while (flag);
+#ifdef SOAP_DEBUG
+  for (i = 0; i < SOAP_IDHASH; i++)
+  { for (ip = soap->iht[i]; ip; ip = ip->next)
+    { if (ip->copy || ip->flist)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Resolution error: forwarded data for id='%s' could not be propagated, please report this problem to the developers\n", ip->id));
+      }
+    }
+  }
+#endif
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Resolution done\n"));
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+size_t
+SOAP_FMAC2
+soap_size_block(struct soap *soap, struct soap_blist *b, size_t n)
+{ if (!b)
+    b = soap->blist;
+  if (b->ptr)
+  { b->size -= *(size_t*)(b->ptr + sizeof(char*)) - n;
+    *(size_t*)(b->ptr + sizeof(char*)) = n;
+  }
+  return b->size;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+char*
+SOAP_FMAC2
+soap_first_block(struct soap *soap, struct soap_blist *b)
+{ char *p, *q, *r;
+  if (!b)
+    b = soap->blist;
+  p = b->ptr;
+  if (!p)
+    return NULL;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "First block\n"));
+  r = NULL;
+  do
+  { q = *(char**)p;
+    *(char**)p = r;
+    r = p;
+    p = q;
+  } while (p);
+  b->ptr = r;
+  return r + sizeof(char*) + sizeof(size_t);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+char*
+SOAP_FMAC2
+soap_next_block(struct soap *soap, struct soap_blist *b)
+{ char *p;
+  if (!b)
+    b = soap->blist;
+  p = b->ptr;
+  if (p)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Next block\n"));
+    b->ptr = *(char**)p;
+    SOAP_FREE(soap, p);
+    if (b->ptr)
+      return b->ptr + sizeof(char*) + sizeof(size_t);
+  }
+  return NULL;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+size_t
+SOAP_FMAC2
+soap_block_size(struct soap *soap, struct soap_blist *b)
+{ if (!b)
+    b = soap->blist;
+  return *(size_t*)(b->ptr + sizeof(char*));
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_end_block(struct soap *soap, struct soap_blist *b)
+{ char *p, *q;
+  if (!b)
+    b = soap->blist;
+  if (b)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "End of block sequence, free all remaining blocks\n"));
+    for (p = b->ptr; p; p = q)
+    { q = *(char**)p;
+      SOAP_FREE(soap, p);
+    }
+    if (soap->blist == b)
+      soap->blist = b->next;
+    else
+    { struct soap_blist *bp;
+      for (bp = soap->blist; bp; bp = bp->next)
+      { if (bp->next == b)
+        { bp->next = b->next;
+          break;
+        }
+      }
+    }
+    SOAP_FREE(soap, b);
+  }
+  DBGLOG(TEST, if (soap->blist) SOAP_MESSAGE(fdebug, "Restore previous block sequence\n"));
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+char*
+SOAP_FMAC2
+soap_save_block(struct soap *soap, struct soap_blist *b, char *p, int flag)
+{ register size_t n;
+  register char *q, *s;
+  if (!b)
+    b = soap->blist;
+  if (b->size)
+  { if (!p)
+      p = (char*)soap_malloc(soap, b->size);
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Save all blocks in contiguous memory space of %u bytes (%p->%p)\n", (unsigned int)b->size, b->ptr, p));
+    if (p)
+    { for (s = p, q = soap_first_block(soap, b); q; q = soap_next_block(soap, b))
+      { n = soap_block_size(soap, b);
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy %u bytes from %p to %p\n", (unsigned int)n, q, s));
+#ifndef WITH_NOIDREF
+        if (flag)
+          soap_update_pointers(soap, q, q + n, s, q);
+#endif
+        memcpy(s, q, n);
+        s += n;
+      }
+    }
+    else
+      soap->error = SOAP_EOM;
+  }
+  soap_end_block(soap, b);
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_putsize(struct soap *soap, const char *type, int size)
+{ return soap_putsizes(soap, type, &size, 1);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_putsizes(struct soap *soap, const char *type, const int *size, int dim)
+{ return soap_putsizesoffsets(soap, type, size, NULL, dim);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_putsizesoffsets(struct soap *soap, const char *type, const int *size, const int *offset, int dim)
+{ register int i;
+  register size_t l;
+  if (!type || strlen(type) + 13 > sizeof(soap->type)) /* prevent overruns */
+    return NULL;
+  if (soap->version == 2)
+  { 
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->type, sizeof(soap->type) - 1, "%s[%d", type, size[0]);
+#else
+    sprintf(soap->type, "%s[%d", type, size[0]);
+#endif
+    for (i = 1; i < dim; i++)
+    { 
+#ifdef HAVE_SNPRINTF
+      l = strlen(soap->type);
+      soap_snprintf(soap->type + l, sizeof(soap->type) - l - 1, " %d", size[i]);
+#else
+      if ((l = strlen(soap->type)) + 13 > sizeof(soap->type))
+        return NULL;
+      sprintf(soap->type + l, " %d", size[i]);
+#endif
+    }
+  }
+  else
+  { if (offset)
+    {
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->type, sizeof(soap->type) - 1, "%s[%d", type, size[0] + offset[0]);
+#else
+      sprintf(soap->type, "%s[%d", type, size[0] + offset[0]);
+#endif
+      for (i = 1; i < dim; i++)
+      {
+#ifdef HAVE_SNPRINTF
+        l = strlen(soap->type);
+        soap_snprintf(soap->type + l, sizeof(soap->type) - l - 1, ",%d", size[i] + offset[i]);
+#else
+        if ((l = strlen(soap->type)) + 13 > sizeof(soap->type))
+          return NULL;
+        sprintf(soap->type + l, ",%d", size[i] + offset[i]);
+#endif
+      }
+    }
+    else
+    { 
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->type, sizeof(soap->type) - 1, "%s[%d", type, size[0]);
+#else
+      sprintf(soap->type, "%s[%d", type, size[0]);
+#endif
+      for (i = 1; i < dim; i++)
+      {
+#ifdef HAVE_SNPRINTF
+        l = strlen(soap->type);
+        soap_snprintf(soap->type + l, sizeof(soap->type) - l - 1, ",%d", size[i]);
+#else
+        if ((l = strlen(soap->type)) + 13 > sizeof(soap->type))
+          return NULL;
+        sprintf(soap->type + l, ",%d", size[i]);
+#endif
+      }
+    }
+  }
+  strcat(soap->type, "]");
+  return soap->type;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_putoffset(struct soap *soap, int offset)
+{ return soap_putoffsets(soap, &offset, 1);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_putoffsets(struct soap *soap, const int *offset, int dim)
+{ register int i;
+  register size_t l;
+#ifdef HAVE_SNPRINTF
+  soap_snprintf(soap->arrayOffset, sizeof(soap->arrayOffset) - 1, "[%d", offset[0]);
+#else
+  if (sizeof(soap->arrayOffset) < 13) /* prevent overruns */
+    return NULL;
+  sprintf(soap->arrayOffset, "[%d", offset[0]);
+#endif
+  for (i = 1; i < dim; i++)
+  {
+#ifdef HAVE_SNPRINTF
+    l = strlen(soap->arrayOffset);
+    soap_snprintf(soap->arrayOffset + l, sizeof(soap->arrayOffset) - l - 1, ",%d", offset[i]);
+#else
+    if ((l = strlen(soap->arrayOffset)) + 13 > sizeof(soap->arrayOffset))
+      return NULL;
+    sprintf(soap->arrayOffset + l, ",%d", offset[i]);
+#endif
+  }
+  strcat(soap->arrayOffset, "]");
+  return soap->arrayOffset;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_size(const int *size, int dim)
+{ register int i, n = size[0];
+  for (i = 1; i < dim; i++)
+    n *= size[i];
+  return n;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_getoffsets(const char *attr, const int *size, int *offset, int dim)
+{ register int i, j = 0;
+  if (offset)
+    for (i = 0; i < dim && attr && *attr; i++)
+    { attr++;
+      j *= size[i];
+      j += offset[i] = (int)soap_strtol(attr, NULL, 10);
+      attr = strchr(attr, ',');
+    }
+  else
+    for (i = 0; i < dim && attr && *attr; i++)
+    { attr++;
+      j *= size[i];
+      j += (int)soap_strtol(attr, NULL, 10);
+      attr = strchr(attr, ',');
+    }
+  return j;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_getsize(const char *attr1, const char *attr2, int *j)
+{ register int n, k;
+  char *s;
+  *j = 0;
+  if (!*attr1)
+    return -1;
+  if (*attr1 == '[')
+    attr1++;
+  n = 1;
+  for (;;)
+  { k = (int)soap_strtol(attr1, &s, 10);
+    n *= k;
+    if (k < 0 || n > SOAP_MAXARRAYSIZE || s == attr1)
+      return -1;
+    attr1 = strchr(s, ',');
+    if (!attr1)
+      attr1 = strchr(s, ' ');
+    if (attr2 && *attr2)
+    { attr2++;
+      *j *= k;
+      k = (int)soap_strtol(attr2, &s, 10);
+      *j += k;
+      if (k < 0)
+        return -1;
+      attr2 = s;
+    }
+    if (!attr1)
+      break;
+    attr1++;
+  }
+  return n - *j;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_getsizes(const char *attr, int *size, int dim)
+{ register int i, k, n;
+  if (!*attr)
+    return -1;
+  i = (int)strlen(attr);
+  n = 1;
+  do
+  { for (i = i-1; i >= 0; i--)
+      if (attr[i] == '[' || attr[i] == ',' || attr[i] == ' ')
+        break;
+    k = (int)soap_strtol(attr + i + 1, NULL, 10);
+    n *= size[--dim] = k;
+    if (k < 0 || n > SOAP_MAXARRAYSIZE)
+      return -1;
+  } while (i >= 0 && attr[i] != '[');
+  return n;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_getposition(const char *attr, int *pos)
+{ register int i, n;
+  if (!*attr)
+    return -1;
+  n = 0;
+  i = 1;
+  do
+  { pos[n++] = (int)soap_strtol(attr + i, NULL, 10);
+    while (attr[i] && attr[i] != ',' && attr[i] != ']')
+      i++;
+    if (attr[i] == ',')
+      i++;
+  } while (n < SOAP_MAXDIMS && attr[i] && attr[i] != ']');
+  return n;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+struct soap_nlist *
+SOAP_FMAC2
+soap_push_namespace(struct soap *soap, const char *id, const char *ns)
+{ register struct soap_nlist *np;
+  register struct Namespace *p;
+  register short i = -1;
+  register size_t n, k;
+  n = strlen(id);
+  k = strlen(ns) + 1;
+  p = soap->local_namespaces;
+  if (p)
+  { for (i = 0; p->id; p++, i++)
+    { if (p->ns && !strcmp(ns, p->ns))
+        break;
+      if (p->out)
+      { if (!strcmp(ns, p->out))
+          break;
+      }
+      else if (p->in)
+      { if (!soap_tag_cmp(ns, p->in))
+        { if ((p->out = (char*)SOAP_MALLOC(soap, k)))
+            strcpy(p->out, ns);
+          break;
+        }
+      }
+    }
+    if (!p || !p->id)
+      i = -1;
+  }
+  if (i >= 0)
+    k = 0;
+  np = (struct soap_nlist*)SOAP_MALLOC(soap, sizeof(struct soap_nlist) + n + k);
+  if (!np)
+  { soap->error = SOAP_EOM;
+    return NULL;
+  }
+  np->next = soap->nlist;
+  soap->nlist = np;
+  np->level = soap->level;
+  np->index = i;
+  strcpy((char*)np->id, id);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Push namespace binding (level=%u) '%s' '%s'\n", soap->level, id, ns));
+  if (i < 0)
+  { np->ns = strcpy((char*)np->id + n + 1, ns);
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Push NOT OK: no match found for '%s' in namespace mapping table (added to stack anyway)\n", ns));
+  }
+  else
+  { np->ns = NULL;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Push OK ('%s' matches '%s' in namespace table)\n", id, p->id));
+  }
+  return np;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_pop_namespace(struct soap *soap)
+{ register struct soap_nlist *np, *nq;
+  for (np = soap->nlist; np && np->level >= soap->level; np = nq)
+  { nq = np->next;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Pop namespace binding (level=%u) '%s'\n", soap->level, np->id));
+    SOAP_FREE(soap, np);
+  }
+  soap->nlist = np;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_match_namespace(struct soap *soap, const char *id1, const char *id2, size_t n1, size_t n2)
+{ register struct soap_nlist *np = soap->nlist;
+  const char *s;
+  while (np && (strncmp(np->id, id1, n1) || np->id[n1]))
+    np = np->next;
+  if (np)
+  { if (!(soap->mode & SOAP_XML_IGNORENS))
+      if (np->index < 0
+       || ((s = soap->local_namespaces[np->index].id) && (strncmp(s, id2, n2) || (s[n2] && s[n2] != '_'))))
+        return SOAP_NAMESPACE;
+    return SOAP_OK;
+  }
+  if (n1 == 0)
+    return (soap->mode & SOAP_XML_IGNORENS) ? SOAP_OK : SOAP_NAMESPACE;
+  if ((n1 == 3 && n1 == n2 && !strncmp(id1, "xml", 3) && !strncmp(id1, id2, 3))
+   || (soap->mode & SOAP_XML_IGNORENS))
+    return SOAP_OK;
+  return soap->error = SOAP_SYNTAX_ERROR;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_current_namespace(struct soap *soap, const char *tag)
+{ register struct soap_nlist *np;
+  register const char *s;
+  if (!tag || !strncmp(tag, "xml", 3))
+    return NULL;
+  np = soap->nlist;
+  if (!(s = strchr(tag, ':')))
+  { while (np && *np->id) /* find default namespace, if present */
+      np = np->next;
+  }
+  else
+  { while (np && (strncmp(np->id, tag, s - tag) || np->id[s - tag]))
+      np = np->next;
+    if (!np)
+      soap->error = SOAP_NAMESPACE;
+  }
+  if (np)
+  { if (np->index >= 0)
+      return soap->namespaces[np->index].ns;
+    if (np->ns)
+      return soap_strdup(soap, np->ns);
+  }
+  return NULL;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_tag_cmp(const char *s, const char *t)
+{ for (;;)
+  { register int c1 = *s;
+    register int c2 = *t;
+    if (!c1 || c1 == '"')
+      break;
+    if (c2 != '-')
+    { if (c1 != c2)
+      { if (c1 >= 'A' && c1 <= 'Z')
+          c1 += 'a' - 'A';
+        if (c2 >= 'A' && c2 <= 'Z')
+          c2 += 'a' - 'A';
+      }
+      if (c1 != c2)
+      { if (c2 != '*')
+          return 1;
+        c2 = *++t;
+        if (!c2)
+          return 0;
+        if (c2 >= 'A' && c2 <= 'Z')
+          c2 += 'a' - 'A';
+        for (;;)
+        { c1 = *s;
+          if (!c1 || c1 == '"')
+            break;
+          if (c1 >= 'A' && c1 <= 'Z')
+            c1 += 'a' - 'A';
+          if (c1 == c2 && !soap_tag_cmp(s + 1, t + 1))
+            return 0;
+          s++;
+        }
+        break;
+      }
+    }
+    s++;
+    t++;
+  }
+  if (*t == '*' && !t[1])
+    return 0;
+  return *t;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_match_tag(struct soap *soap, const char *tag1, const char *tag2)
+{ register const char *s, *t;
+  register int err;
+  if (!tag1 || !tag2 || !*tag2)
+    return SOAP_OK;
+  s = strchr(tag1, ':');
+  t = strchr(tag2, ':');
+  if (t)
+  { if (s)
+    { if (t[1] && SOAP_STRCMP(s + 1, t + 1))
+        return SOAP_TAG_MISMATCH;
+      if (t != tag2 && (err = soap_match_namespace(soap, tag1, tag2, s - tag1, t - tag2)))
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Tags '%s' and '%s' match but namespaces differ\n", tag1, tag2));
+        if (err == SOAP_NAMESPACE)
+          return SOAP_TAG_MISMATCH;
+        return err;
+      }
+    }
+    else if (!t[1])
+    { err = soap_match_namespace(soap, tag1, tag2, 0, t - tag2);
+      if (err == SOAP_NAMESPACE)
+        return SOAP_TAG_MISMATCH;
+    }
+    else if (SOAP_STRCMP(tag1, t + 1))
+    { return SOAP_TAG_MISMATCH;
+    }
+    else if (t != tag2 && (err = soap_match_namespace(soap, tag1, tag2, 0, t - tag2)))
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Tags '%s' and '%s' match but namespaces differ\n", tag1, tag2));
+      if (err == SOAP_NAMESPACE)
+        return SOAP_TAG_MISMATCH;
+      return err;
+    }
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Tags and (default) namespaces match: '%s' '%s'\n", tag1, tag2));
+    return SOAP_OK;
+  }
+  if (s)
+  { if (SOAP_STRCMP(s + 1, tag2))
+      return SOAP_TAG_MISMATCH;
+  }
+  else if (SOAP_STRCMP(tag1, tag2))
+    return SOAP_TAG_MISMATCH;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Tags match: '%s' '%s'\n", tag1, tag2));
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_match_array(struct soap *soap, const char *type)
+{ if (*soap->arrayType)
+    if (soap_match_tag(soap, soap->arrayType, type)
+     && soap_match_tag(soap, soap->arrayType, "xsd:anyType")
+     && soap_match_tag(soap, soap->arrayType, "xsd:ur-type")
+    )
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Array type mismatch: '%s' '%s'\n", soap->arrayType, type));
+      return SOAP_TAG_MISMATCH;
+    }
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************\
+ *
+ *	SSL/TLS
+ *
+\******************************************************************************/
+
+/******************************************************************************/
+#ifdef WITH_OPENSSL
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_rand()
+{ unsigned char buf[4];
+  if (!soap_ssl_init_done)
+    soap_ssl_init();
+  RAND_pseudo_bytes(buf, 4);
+  return *(int*)buf;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+#if defined(VXWORKS) && defined(WM_SECURE_KEY_STORAGE)
+soap_ssl_server_context(struct soap *soap, unsigned short flags, const char *keyfile, const char *keyid, const char *password, const char *cafile, const char *capath, const char *dhfile, const char *randfile, const char *sid)
+#else
+soap_ssl_server_context(struct soap *soap, unsigned short flags, const char *keyfile, const char *password, const char *cafile, const char *capath, const char *dhfile, const char *randfile, const char *sid)
+#endif
+{ int err;
+  soap->keyfile = keyfile;
+#if defined(VXWORKS) && defined(WM_SECURE_KEY_STORAGE)
+  soap->keyid = keyid;
+#endif
+  soap->password = password;
+  soap->cafile = cafile;
+  soap->capath = capath;
+  soap->crlfile = NULL;
+#ifdef WITH_OPENSSL
+  soap->dhfile = dhfile;
+  soap->randfile = randfile;
+#endif
+  soap->ssl_flags = flags | (dhfile == NULL ? SOAP_SSL_RSA : 0);
+#ifdef WITH_GNUTLS
+  if (dhfile)
+  { char *s;
+    int n = (int)soap_strtoul(dhfile, &s, 10);
+    if (!soap->dh_params)
+      gnutls_dh_params_init(&soap->dh_params);
+    /* if dhfile is numeric, treat it as a key length to generate DH params which can take a while */
+    if (n >= 512 && s && *s == '\0')
+      gnutls_dh_params_generate2(soap->dh_params, (unsigned int)n);
+    else
+    { unsigned int dparams_len;
+      unsigned char dparams_buf[1024];
+      FILE *fd = fopen(dhfile, "r");
+      if (!fd)
+        return soap_set_receiver_error(soap, "SSL/TLS error", "Invalid DH file", SOAP_SSL_ERROR);
+      dparams_len = (unsigned int)fread(dparams_buf, 1, sizeof(dparams_buf), fd);
+      fclose(fd);
+      gnutls_datum_t dparams = { dparams_buf, dparams_len };
+      if (gnutls_dh_params_import_pkcs3(soap->dh_params, &dparams, GNUTLS_X509_FMT_PEM))
+        return soap_set_receiver_error(soap, "SSL/TLS error", "Invalid DH file", SOAP_SSL_ERROR);
+    }
+  }
+  else
+  { if (!soap->rsa_params)
+      gnutls_rsa_params_init(&soap->rsa_params);
+    gnutls_rsa_params_generate2(soap->rsa_params, SOAP_SSL_RSA_BITS);
+  }
+  if (soap->session)
+  { gnutls_deinit(soap->session);
+    soap->session = NULL;
+  }
+  if (soap->xcred)
+  { gnutls_certificate_free_credentials(soap->xcred);
+    soap->xcred = NULL;
+  }
+#endif
+  err = soap->fsslauth(soap);
+#ifdef WITH_OPENSSL
+  if (!err)
+  { if (sid)
+      SSL_CTX_set_session_id_context(soap->ctx, (unsigned char*)sid, (unsigned int)strlen(sid));
+    else
+      SSL_CTX_set_session_cache_mode(soap->ctx, SSL_SESS_CACHE_OFF);
+  }
+#endif
+  return err;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+#if defined(VXWORKS) && defined(WM_SECURE_KEY_STORAGE)
+soap_ssl_client_context(struct soap *soap, unsigned short flags, const char *keyfile, const char *keyid, const char *password, const char *cafile, const char *capath, const char *randfile)
+#else
+soap_ssl_client_context(struct soap *soap, unsigned short flags, const char *keyfile, const char *password, const char *cafile, const char *capath, const char *randfile)
+#endif
+{ soap->keyfile = keyfile;
+#if defined(VXWORKS) && defined(WM_SECURE_KEY_STORAGE)
+  soap->keyid = keyid;
+#endif
+  soap->password = password;
+  soap->cafile = cafile;
+  soap->capath = capath;
+  soap->ssl_flags = SOAP_SSL_CLIENT | flags;
+#ifdef WITH_OPENSSL
+  soap->dhfile = NULL;
+  soap->randfile = randfile;
+  soap->fsslverify = (flags & SOAP_SSL_ALLOW_EXPIRED_CERTIFICATE) == 0 ? ssl_verify_callback : ssl_verify_callback_allow_expired_certificate;
+#endif
+#ifdef WITH_GNUTLS
+  if (soap->session)
+  { gnutls_deinit(soap->session);
+    soap->session = NULL;
+  }
+  if (soap->xcred)
+  { gnutls_certificate_free_credentials(soap->xcred);
+    soap->xcred = NULL;
+  }
+#endif
+  return soap->fsslauth(soap);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_ssl_init()
+{ /* Note: for MT systems, the main program MUST call soap_ssl_init() before any threads are started */
+  if (!soap_ssl_init_done)
+  { soap_ssl_init_done = 1;
+#ifdef WITH_OPENSSL
+    SSL_library_init();
+    OpenSSL_add_all_algorithms(); /* 2.8.1 change (wsseapi.c) */
+    OpenSSL_add_all_digests();
+#ifndef WITH_LEAN
+    SSL_load_error_strings();
+#endif
+    if (!RAND_load_file("/dev/urandom", 1024))
+    { char buf[1024];
+      RAND_seed(buf, sizeof(buf));
+      while (!RAND_status())
+      { int r = rand();
+        RAND_seed(&r, sizeof(int));
+      }
+    }
+#endif
+#ifdef WITH_GNUTLS
+# if defined(HAVE_PTHREAD_H)
+    gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
+# elif defined(HAVE_PTH_H)
+    gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pth);
+# endif
+    gcry_control(GCRYCTL_ENABLE_QUICK_RANDOM, 0);
+    gcry_control(GCRYCTL_DISABLE_SECMEM, 0);
+    gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0); /* libgcrypt init done */
+    gnutls_global_init();
+#endif
+  }
+}
+#endif
+#endif
+
+/******************************************************************************/
+#if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
+#ifndef PALM_1
+SOAP_FMAC1
+const char *
+SOAP_FMAC2
+soap_ssl_error(struct soap *soap, int ret)
+{
+#ifdef WITH_OPENSSL
+  int err = SSL_get_error(soap->ssl, ret);
+  const char *msg = soap_code_str(h_ssl_error_codes, err);
+  if (msg)
+    strcpy(soap->msgbuf, msg);
+  else
+    return ERR_error_string(err, soap->msgbuf);
+  if (ERR_peek_error())
+  { unsigned long r;
+    strcat(soap->msgbuf, "\n");
+    while ((r = ERR_get_error()))
+      ERR_error_string_n(r, soap->msgbuf + strlen(soap->msgbuf), sizeof(soap->msgbuf) - strlen(soap->msgbuf));
+  }
+  else
+  { switch (ret)
+    { case 0:
+        strcpy(soap->msgbuf, "EOF was observed that violates the SSL/TLS protocol. The client probably provided invalid authentication information.");
+        break;
+      case -1:
+#ifdef HAVE_SNPRINTF
+        soap_snprintf(soap->msgbuf, sizeof(soap->msgbuf), "Error observed by underlying SSL/TLS BIO: %s", strerror(errno));
+#else
+        { const char *s = strerror(errno);
+          size_t l = strlen(s);
+          sprintf(soap->msgbuf, "Error observed by underlying SSL/TLS BIO: %s", l + 44 < sizeof(soap->msgbuf) ? s : SOAP_STR_EOS);
+        }
+#endif
+        break;
+    }
+  }
+  return soap->msgbuf;
+#endif
+#ifdef WITH_GNUTLS
+  return gnutls_strerror(ret);
+#endif
+}
+#endif
+#endif
+
+/******************************************************************************/
+#if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
+#ifndef PALM_1
+static int
+ssl_auth_init(struct soap *soap)
+{
+#ifdef WITH_OPENSSL
+  long flags;
+  int mode;
+#if defined(VXWORKS) && defined(WM_SECURE_KEY_STORAGE)
+  EVP_PKEY* pkey;
+#endif
+  if (!soap_ssl_init_done)
+    soap_ssl_init();
+  ERR_clear_error();
+  if (!soap->ctx)
+  { if (!(soap->ctx = SSL_CTX_new(SSLv23_method())))
+      return soap_set_receiver_error(soap, "SSL/TLS error", "Can't setup context", SOAP_SSL_ERROR);
+    /* The following alters the behavior of SSL read/write: */
+#if 0
+    SSL_CTX_set_mode(soap->ctx, SSL_MODE_ENABLE_PARTIAL_WRITE | SSL_MODE_AUTO_RETRY);
+#endif
+  }
+  if (soap->randfile)
+  { if (!RAND_load_file(soap->randfile, -1))
+      return soap_set_receiver_error(soap, "SSL/TLS error", "Can't load randomness", SOAP_SSL_ERROR);
+  }
+  if (soap->cafile || soap->capath)
+  { if (!SSL_CTX_load_verify_locations(soap->ctx, soap->cafile, soap->capath))
+      return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read CA file", SOAP_SSL_ERROR);
+    if (soap->cafile && (soap->ssl_flags & SOAP_SSL_REQUIRE_CLIENT_AUTHENTICATION))
+      SSL_CTX_set_client_CA_list(soap->ctx, SSL_load_client_CA_file(soap->cafile));
+  }
+  if (!(soap->ssl_flags & SOAP_SSL_NO_DEFAULT_CA_PATH))
+  { if (!SSL_CTX_set_default_verify_paths(soap->ctx))
+      return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read default CA file and/or directory", SOAP_SSL_ERROR);
+  }
+/* This code assumes a typical scenario, see alternative code below */
+  if (soap->keyfile)
+  { if (!SSL_CTX_use_certificate_chain_file(soap->ctx, soap->keyfile))
+      return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read certificate key file", SOAP_SSL_ERROR);
+    if (soap->password)
+    { SSL_CTX_set_default_passwd_cb_userdata(soap->ctx, (void*)soap->password);
+      SSL_CTX_set_default_passwd_cb(soap->ctx, ssl_password);
+    }
+    if (!SSL_CTX_use_PrivateKey_file(soap->ctx, soap->keyfile, SSL_FILETYPE_PEM))
+      return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read key file", SOAP_SSL_ERROR);
+#ifndef WM_SECURE_KEY_STORAGE
+    if (!SSL_CTX_use_PrivateKey_file(soap->ctx, soap->keyfile, SSL_FILETYPE_PEM))
+      return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read key file", SOAP_SSL_ERROR);
+#endif
+  }
+#if defined(VXWORKS) && defined(WM_SECURE_KEY_STORAGE)
+  if (NULL == (pkey = ipcom_key_db_pkey_get(soap->keyid)))
+    return soap_set_receiver_error(soap, "SSL error", "Can't find key", SOAP_SSL_ERROR);
+  if (0 == SSL_CTX_use_PrivateKey(soap->ctx, pkey))
+    return soap_set_receiver_error(soap, "SSL error", "Can't read key", SOAP_SSL_ERROR);
+#endif
+/* Suggested alternative approach to check the key file for certs (cafile=NULL):*/
+#if 0
+  if (soap->password)
+  { SSL_CTX_set_default_passwd_cb_userdata(soap->ctx, (void*)soap->password);
+    SSL_CTX_set_default_passwd_cb(soap->ctx, ssl_password);
+  }
+  if (!soap->cafile || !SSL_CTX_use_certificate_chain_file(soap->ctx, soap->cafile))
+  { if (soap->keyfile)
+    { if (!SSL_CTX_use_certificate_chain_file(soap->ctx, soap->keyfile))
+        return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read certificate or key file", SOAP_SSL_ERROR);
+      if (!SSL_CTX_use_PrivateKey_file(soap->ctx, soap->keyfile, SSL_FILETYPE_PEM))
+        return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read key file", SOAP_SSL_ERROR);
+    }
+  }
+#endif
+  if ((soap->ssl_flags & SOAP_SSL_RSA))
+  { RSA *rsa = RSA_generate_key(SOAP_SSL_RSA_BITS, RSA_F4, NULL, NULL);
+    if (!SSL_CTX_set_tmp_rsa(soap->ctx, rsa))
+    { if (rsa)
+        RSA_free(rsa);
+      return soap_set_receiver_error(soap, "SSL/TLS error", "Can't set RSA key", SOAP_SSL_ERROR);
+    }
+    RSA_free(rsa);
+  }
+  else if (soap->dhfile)
+  { DH *dh = 0;
+    char *s;
+    int n = (int)soap_strtoul(soap->dhfile, &s, 10);
+    /* if dhfile is numeric, treat it as a key length to generate DH params which can take a while */
+    if (n >= 512 && s && *s == '\0')
+#if defined(VXWORKS)
+      DH_generate_parameters_ex(dh, n, 2/*or 5*/, NULL);
+#else
+      dh = DH_generate_parameters(n, 2/*or 5*/, NULL, NULL);
+#endif
+    else
+    { BIO *bio;
+      bio = BIO_new_file(soap->dhfile, "r");
+      if (!bio)
+        return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read DH file", SOAP_SSL_ERROR);
+      dh = PEM_read_bio_DHparams(bio, NULL, NULL, NULL);
+      BIO_free(bio);
+    }
+    if (!dh || DH_check(dh, &n) != 1 || SSL_CTX_set_tmp_dh(soap->ctx, dh) < 0)
+    { if (dh)
+        DH_free(dh);
+      return soap_set_receiver_error(soap, "SSL/TLS error", "Can't set DH parameters", SOAP_SSL_ERROR);
+    }
+    DH_free(dh);
+  }
+  flags = (SSL_OP_ALL | SSL_OP_NO_SSLv2); /* disable SSL v2 */
+  if ((soap->ssl_flags & SOAP_SSLv3))
+    flags |= SSL_OP_NO_TLSv1;
+  if ((soap->ssl_flags & SOAP_TLSv1))
+    flags |= SSL_OP_NO_SSLv3;
+#ifdef SSL_OP_NO_TICKET
+  /* TLS extension is enabled by default in OPENSSL v0.9.8k
+     Disable it by adding SSL_OP_NO_TICKET */
+  flags |= SSL_OP_NO_TICKET;
+#endif
+  SSL_CTX_set_options(soap->ctx, flags);
+  if ((soap->ssl_flags & SOAP_SSL_REQUIRE_CLIENT_AUTHENTICATION))
+    mode = (SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
+  else if ((soap->ssl_flags & SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION))
+    mode = SSL_VERIFY_PEER;
+  else
+    mode = SSL_VERIFY_NONE;
+  SSL_CTX_set_verify(soap->ctx, mode, soap->fsslverify);
+#if (OPENSSL_VERSION_NUMBER < 0x00905100L)
+  SSL_CTX_set_verify_depth(soap->ctx, 1);
+#else
+  SSL_CTX_set_verify_depth(soap->ctx, 9);
+#endif
+#endif
+#ifdef WITH_GNUTLS
+  int ret;
+  if (!soap_ssl_init_done)
+    soap_ssl_init();
+  if (!soap->xcred)
+  { gnutls_certificate_allocate_credentials(&soap->xcred);
+    if (soap->cafile)
+    { if (gnutls_certificate_set_x509_trust_file(soap->xcred, soap->cafile, GNUTLS_X509_FMT_PEM) < 0)
+        return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read CA file", SOAP_SSL_ERROR);
+    }
+    if (soap->crlfile)
+    { if (gnutls_certificate_set_x509_crl_file(soap->xcred, soap->crlfile, GNUTLS_X509_FMT_PEM) < 0)
+        return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read CRL file", SOAP_SSL_ERROR);
+    }
+    if (soap->keyfile)
+    { if (gnutls_certificate_set_x509_key_file(soap->xcred, soap->keyfile, soap->keyfile, GNUTLS_X509_FMT_PEM) < 0) /* TODO: GNUTLS need to concat cert and key in single key file */
+        return soap_set_receiver_error(soap, "SSL/TLS error", "Can't read key file", SOAP_SSL_ERROR);
+    }
+  }
+  if ((soap->ssl_flags & SOAP_SSL_CLIENT))
+  { gnutls_init(&soap->session, GNUTLS_CLIENT);
+    if (soap->cafile || soap->crlfile || soap->keyfile)
+    { ret = gnutls_priority_set_direct(soap->session, "PERFORMANCE", NULL);
+      if (ret < 0)
+        return soap_set_receiver_error(soap, soap_ssl_error(soap, ret), "SSL/TLS set priority error", SOAP_SSL_ERROR);
+      gnutls_credentials_set(soap->session, GNUTLS_CRD_CERTIFICATE, soap->xcred);
+    }
+    else
+    { if (!soap->acred)
+        gnutls_anon_allocate_client_credentials(&soap->acred);
+      gnutls_init(&soap->session, GNUTLS_CLIENT);
+      gnutls_priority_set_direct(soap->session, "PERFORMANCE:+ANON-DH:!ARCFOUR-128", NULL);
+      gnutls_credentials_set(soap->session, GNUTLS_CRD_ANON, soap->acred);
+    }
+  }
+  else
+  { if (!soap->keyfile)
+      return soap_set_receiver_error(soap, "SSL/TLS error", "No key file: anonymous server authentication not supported in this release", SOAP_SSL_ERROR);
+    if ((soap->ssl_flags & SOAP_SSL_RSA) && soap->rsa_params)
+      gnutls_certificate_set_rsa_export_params(soap->xcred, soap->rsa_params);
+    else if (soap->dh_params)
+      gnutls_certificate_set_dh_params(soap->xcred, soap->dh_params);
+    if (!soap->cache)
+      gnutls_priority_init(&soap->cache, "NORMAL", NULL);
+    gnutls_init(&soap->session, GNUTLS_SERVER);
+    gnutls_priority_set(soap->session, soap->cache);
+    gnutls_credentials_set(soap->session, GNUTLS_CRD_CERTIFICATE, soap->xcred);
+    if ((soap->ssl_flags & SOAP_SSL_REQUIRE_CLIENT_AUTHENTICATION))
+      gnutls_certificate_server_set_request(soap->session, GNUTLS_CERT_REQUEST);
+    gnutls_session_enable_compatibility_mode(soap->session);
+    if ((soap->ssl_flags & SOAP_TLSv1))
+    { int protocol_priority[] = { GNUTLS_TLS1_0, 0 };
+      if (gnutls_protocol_set_priority(soap->session, protocol_priority) != GNUTLS_E_SUCCESS)
+        return soap_set_receiver_error(soap, "SSL/TLS error", "Can't set TLS v1.0 protocol", SOAP_SSL_ERROR);
+    }
+  }
+#endif
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifdef WITH_OPENSSL
+#ifndef PALM_1
+static int
+ssl_password(char *buf, int num, int rwflag, void *userdata)
+{ if (num < (int)strlen((char*)userdata) + 1)
+    return 0;
+  return (int)strlen(strcpy(buf, (char*)userdata));
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifdef WITH_OPENSSL
+#ifndef PALM_1
+static int
+ssl_verify_callback(int ok, X509_STORE_CTX *store)
+{
+#ifdef SOAP_DEBUG
+  if (!ok)
+  { char buf[1024];
+    int err = X509_STORE_CTX_get_error(store);
+    X509 *cert = X509_STORE_CTX_get_current_cert(store);
+    fprintf(stderr, "SSL verify error or warning with certificate at depth %d: %s\n", X509_STORE_CTX_get_error_depth(store), X509_verify_cert_error_string(err));
+    X509_NAME_oneline(X509_get_issuer_name(cert), buf, sizeof(buf));
+    fprintf(stderr, "certificate issuer %s\n", buf);
+    X509_NAME_oneline(X509_get_subject_name(cert), buf, sizeof(buf));
+    fprintf(stderr, "certificate subject %s\n", buf);
+    /* accept self signed certificates and certificates out of date */
+    switch (err)
+    { case X509_V_ERR_CERT_NOT_YET_VALID:
+      case X509_V_ERR_CERT_HAS_EXPIRED:
+      case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT:
+      case X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN:
+        X509_STORE_CTX_set_error(store, X509_V_OK);
+        ok = 1;
+    }
+  }
+#endif
+  /* Note: return 1 to continue, but unsafe progress will be terminated by OpenSSL */
+  return ok;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifdef WITH_OPENSSL
+#ifndef PALM_1
+static int
+ssl_verify_callback_allow_expired_certificate(int ok, X509_STORE_CTX *store)
+{ ok = ssl_verify_callback(ok, store);
+  if (!ok)
+  { /* accept self signed certificates and certificates out of date */
+    switch (X509_STORE_CTX_get_error(store))
+    { case X509_V_ERR_CERT_NOT_YET_VALID:
+      case X509_V_ERR_CERT_HAS_EXPIRED:
+      case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT:
+      case X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN:
+        X509_STORE_CTX_set_error(store, X509_V_OK);
+        ok = 1;
+    }
+  }
+  /* Note: return 1 to continue, but unsafe progress will be terminated by SSL */
+  return ok;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifdef WITH_GNUTLS
+static const char *
+ssl_verify(struct soap *soap, const char *host)
+{ unsigned int status;
+  const char *err = NULL;
+  int r = gnutls_certificate_verify_peers2(soap->session, &status);
+  if (r < 0)
+    err = "Certificate verify error";
+  else if ((status & GNUTLS_CERT_INVALID))
+    err = "The certificate is not trusted";
+  else if ((status & GNUTLS_CERT_SIGNER_NOT_FOUND))
+    err = "The certificate hasn't got a known issuer";
+  else if ((status & GNUTLS_CERT_REVOKED))
+    err = "The certificate has been revoked";
+  else if (gnutls_certificate_type_get(soap->session) == GNUTLS_CRT_X509)
+  { gnutls_x509_crt_t cert;
+    const gnutls_datum_t *cert_list;
+    unsigned int cert_list_size;
+    if (gnutls_x509_crt_init(&cert) < 0)
+      err = "Could not get X509 certificates";
+    else if ((cert_list = gnutls_certificate_get_peers(soap->session, &cert_list_size)) == NULL)
+      err = "Could not get X509 certificates";
+    else if (gnutls_x509_crt_import(cert, &cert_list[0], GNUTLS_X509_FMT_DER) < 0)
+      err = "Error parsing X509 certificate";
+    else if (!(soap->ssl_flags & SOAP_SSL_ALLOW_EXPIRED_CERTIFICATE) && gnutls_x509_crt_get_expiration_time(cert) < time(NULL))
+      err = "The certificate has expired";
+    else if (!(soap->ssl_flags & SOAP_SSL_ALLOW_EXPIRED_CERTIFICATE) && gnutls_x509_crt_get_activation_time(cert) > time(NULL))
+      err = "The certificate is not yet activated";
+    else if (host && !(soap->ssl_flags & SOAP_SSL_SKIP_HOST_CHECK))
+    { if (!gnutls_x509_crt_check_hostname(cert, host))
+        err = "Certificate host name mismatch";
+    }
+    gnutls_x509_crt_deinit(cert);
+  }
+  return err;
+}
+#endif
+
+/******************************************************************************/
+#if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
+#ifndef WITH_NOIO
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_ssl_accept(struct soap *soap)
+{ SOAP_SOCKET sk = soap->socket;
+#ifdef WITH_OPENSSL
+  BIO *bio;
+  int retries, r, s;
+  if (!soap_valid_socket(sk))
+    return soap_set_receiver_error(soap, "SSL/TLS error", "No socket in soap_ssl_accept()", SOAP_SSL_ERROR);
+  soap->ssl_flags &= ~SOAP_SSL_CLIENT;
+  if (!soap->ctx && (soap->error = soap->fsslauth(soap)))
+    return soap->error;
+  if (!soap->ssl)
+  { soap->ssl = SSL_new(soap->ctx);
+    if (!soap->ssl)
+      return soap_set_receiver_error(soap, "SSL/TLS error", "SSL_new() failed in soap_ssl_accept()", SOAP_SSL_ERROR);
+  }
+  else
+    SSL_clear(soap->ssl);
+  bio = BIO_new_socket((int)sk, BIO_NOCLOSE);
+  SSL_set_bio(soap->ssl, bio, bio);
+  /* Set SSL sockets to non-blocking */
+  retries = 0;
+  if (soap->accept_timeout)
+  { SOAP_SOCKNONBLOCK(sk)
+    retries = 10*soap->accept_timeout;
+  }
+  if (retries <= 0)
+    retries = 100; /* timeout: 10 sec retries, 100 times 0.1 sec */
+  while ((r = SSL_accept(soap->ssl)) <= 0)
+  { int err;
+    if (retries-- <= 0)
+      break;
+    err = SSL_get_error(soap->ssl, r);
+    if (err == SSL_ERROR_WANT_ACCEPT || err == SSL_ERROR_WANT_READ || err == SSL_ERROR_WANT_WRITE)
+    { if (err == SSL_ERROR_WANT_READ)
+        s = tcp_select(soap, sk, SOAP_TCP_SELECT_RCV | SOAP_TCP_SELECT_ERR, -100000);
+      else
+        s = tcp_select(soap, sk, SOAP_TCP_SELECT_SND | SOAP_TCP_SELECT_ERR, -100000);
+      if (s < 0)
+        break;
+    }
+    else
+    { soap->errnum = soap_socket_errno(sk);
+      break;
+    }
+  }
+  if (r <= 0)
+  { soap_set_receiver_error(soap, soap_ssl_error(soap, r), "SSL_accept() failed in soap_ssl_accept()", SOAP_SSL_ERROR);
+    soap_closesock(soap);
+    return SOAP_SSL_ERROR;
+  }
+  if ((soap->ssl_flags & SOAP_SSL_REQUIRE_CLIENT_AUTHENTICATION))
+  { X509 *peer;
+    int err;
+    if ((err = SSL_get_verify_result(soap->ssl)) != X509_V_OK)
+    { soap_closesock(soap);
+      return soap_set_sender_error(soap, X509_verify_cert_error_string(err), "SSL certificate presented by peer cannot be verified in soap_ssl_accept()", SOAP_SSL_ERROR);
+    }
+    peer = SSL_get_peer_certificate(soap->ssl);
+    if (!peer)
+    { soap_closesock(soap);
+      return soap_set_sender_error(soap, "SSL/TLS error", "No SSL certificate was presented by the peer in soap_ssl_accept()", SOAP_SSL_ERROR);
+    }
+    X509_free(peer);
+  }
+#endif
+#ifdef WITH_GNUTLS
+  int retries = 0, r;
+  if (!soap_valid_socket(sk))
+    return soap_set_receiver_error(soap, "SSL/TLS error", "No socket in soap_ssl_accept()", SOAP_SSL_ERROR);
+  soap->ssl_flags &= ~SOAP_SSL_CLIENT;
+  if (!soap->session && (soap->error = soap->fsslauth(soap)))
+  { soap_closesock(soap);
+    return soap->error;
+  }
+  gnutls_transport_set_ptr(soap->session, (gnutls_transport_ptr_t)(long)sk);
+  /* Set SSL sockets to non-blocking */
+  if (soap->accept_timeout)
+  { SOAP_SOCKNONBLOCK(sk)
+    retries = 10*soap->accept_timeout;
+  }
+  if (retries <= 0)
+    retries = 100; /* timeout: 10 sec retries, 100 times 0.1 sec */
+  while ((r = gnutls_handshake(soap->session)))
+  { int s;
+    /* GNUTLS repeat handhake when GNUTLS_E_AGAIN */
+    if (retries-- <= 0)
+      break;
+    if (r == GNUTLS_E_AGAIN || r == GNUTLS_E_INTERRUPTED)
+    { if (!gnutls_record_get_direction(soap->session))
+        s = tcp_select(soap, sk, SOAP_TCP_SELECT_RCV | SOAP_TCP_SELECT_ERR, -100000);
+      else
+        s = tcp_select(soap, sk, SOAP_TCP_SELECT_SND | SOAP_TCP_SELECT_ERR, -100000);
+      if (s < 0)
+        break;
+    }
+    else
+    { soap->errnum = soap_socket_errno(sk);
+      break;
+    }
+  }
+  if (r)
+  { soap_closesock(soap);
+    return soap_set_receiver_error(soap, soap_ssl_error(soap, r), "SSL/TLS handshake failed", SOAP_SSL_ERROR);
+  }
+  if ((soap->ssl_flags & SOAP_SSL_REQUIRE_CLIENT_AUTHENTICATION))
+  { const char *err = ssl_verify(soap, NULL);
+    if (err)
+    { soap_closesock(soap);
+      return soap_set_receiver_error(soap, "SSL/TLS error", err, SOAP_SSL_ERROR);
+    }
+  }
+#endif
+  if (soap->recv_timeout || soap->send_timeout)
+    SOAP_SOCKNONBLOCK(sk)
+  else
+    SOAP_SOCKBLOCK(sk)
+  soap->imode |= SOAP_ENC_SSL;
+  soap->omode |= SOAP_ENC_SSL;
+  return SOAP_OK;
+}
+#endif
+#endif
+#endif
+
+/******************************************************************************\
+ *
+ *	TCP/UDP [SSL/TLS] IPv4 and IPv6
+ *
+\******************************************************************************/
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static int
+tcp_init(struct soap *soap)
+{ soap->errmode = 1;
+#ifdef WIN32
+  if (tcp_done)
+    return 0;
+  else
+  { WSADATA w;
+    if (WSAStartup(MAKEWORD(1, 1), &w))
+      return -1;
+    tcp_done = 1;
+  }
+#endif
+  return 0;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static const char*
+tcp_error(struct soap *soap)
+{ register const char *msg = NULL;
+  switch (soap->errmode)
+  { case 0:
+      msg = soap_strerror(soap);
+      break;
+    case 1:
+      msg = "WSAStartup failed";
+      break;
+    case 2:
+    {
+#ifndef WITH_LEAN
+      msg = soap_code_str(h_error_codes, soap->errnum);
+      if (!msg)
+#endif
+      {
+#ifdef HAVE_SNPRINTF
+        soap_snprintf(soap->msgbuf, sizeof(soap->msgbuf), "TCP/UDP IP error %d", soap->errnum);
+#else
+        sprintf(soap->msgbuf, "TCP/UDP IP error %d", soap->errnum);
+#endif
+        msg = soap->msgbuf;
+      }
+    }
+  }
+  return msg;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_IPV6
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static int
+tcp_gethost(struct soap *soap, const char *addr, struct in_addr *inaddr)
+{ soap_int32 iadd = -1;
+  struct hostent hostent, *host = &hostent;
+#ifdef VXWORKS
+  int hostint;
+  /* inet_addr(), and hostGetByName() expect "char *"; addr is a "const char *". */
+  iadd = inet_addr((char*)addr);
+#else
+#if defined(_AIX43) || ((defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R))
+  struct hostent_data ht_data;
+#endif
+#ifdef AS400
+  iadd = inet_addr((void*)addr);
+#else
+  iadd = inet_addr(addr);
+#endif
+#endif
+  if (iadd != -1)
+  { memcpy(inaddr, &iadd, sizeof(iadd));
+    return SOAP_OK;
+  }
+#if defined(__GLIBC__) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__)
+  if (gethostbyname_r(addr, &hostent, soap->buf, SOAP_BUFLEN, &host, &soap->errnum) < 0)
+    host = NULL;
+#elif defined(_AIX43) || ((defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R))
+  memset((void*)&ht_data, 0, sizeof(ht_data));
+  if (gethostbyname_r(addr, &hostent, &ht_data) < 0)
+  { host = NULL;
+    soap->errnum = h_errno;
+  }
+#elif defined(HAVE_GETHOSTBYNAME_R)
+  host = gethostbyname_r(addr, &hostent, soap->buf, SOAP_BUFLEN, &soap->errnum);
+#elif defined(VXWORKS)
+  /* If the DNS resolver library resolvLib has been configured in the vxWorks
+   * image, a query for the host IP address is sent to the DNS server, if the
+   * name was not found in the local host table. */
+  hostint = hostGetByName((char*)addr);
+  if (hostint == ERROR)
+  { host = NULL;
+    soap->errnum = soap_errno;
+  }
+#else
+#ifdef AS400
+  if (!(host = gethostbyname((void*)addr)))
+    soap->errnum = h_errno;
+#else
+  if (!(host = gethostbyname(addr)))
+    soap->errnum = h_errno;
+#endif
+#endif
+  if (!host)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Host name not found\n"));
+    return SOAP_ERR;
+  }
+#ifdef VXWORKS
+  inaddr->s_addr = hostint;
+#else
+  memcpy(inaddr, host->h_addr, host->h_length);
+#endif
+  return SOAP_OK;
+}
+#endif
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static SOAP_SOCKET
+tcp_connect(struct soap *soap, const char *endpoint, const char *host, int port)
+{
+#ifdef WITH_IPV6
+  struct addrinfo hints, *res, *ressave;
+#endif
+  SOAP_SOCKET sk;
+  int err = 0;
+#ifndef WITH_LEAN
+#ifndef WIN32
+  int len = SOAP_BUFLEN;
+#else
+  int len = SOAP_BUFLEN + 1; /* speeds up windows xfer */
+#endif
+  int set = 1;
+#endif
+#if !defined(WITH_LEAN) || defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
+  int retries;
+#endif
+  if (soap_valid_socket(soap->socket))
+    soap->fclosesocket(soap, soap->socket);
+  soap->socket = SOAP_INVALID_SOCKET;
+  if (tcp_init(soap))
+  { soap->errnum = 0;
+    soap_set_sender_error(soap, tcp_error(soap), "TCP init failed in tcp_connect()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+  soap->errmode = 0;
+#ifdef WITH_IPV6
+  memset((void*)&hints, 0, sizeof(hints));
+  hints.ai_family = PF_UNSPEC;
+#ifndef WITH_LEAN
+  if ((soap->omode & SOAP_IO_UDP))
+    hints.ai_socktype = SOCK_DGRAM;
+  else
+#endif
+    hints.ai_socktype = SOCK_STREAM;
+  soap->errmode = 2;
+  if (soap->proxy_host)
+    err = getaddrinfo(soap->proxy_host, soap_int2s(soap, soap->proxy_port), &hints, &res);
+  else
+    err = getaddrinfo(host, soap_int2s(soap, port), &hints, &res);
+  if (err)
+  { soap_set_sender_error(soap, SOAP_GAI_STRERROR(err), "getaddrinfo failed in tcp_connect()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+  ressave = res;
+again:
+  sk = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
+  soap->errmode = 0;
+#else
+#ifndef WITH_LEAN
+again:
+#endif
+#ifndef WITH_LEAN
+  if ((soap->omode & SOAP_IO_UDP))
+    sk = socket(AF_INET, SOCK_DGRAM, 0);
+  else
+#endif
+    sk = socket(AF_INET, SOCK_STREAM, 0);
+#endif
+  if (!soap_valid_socket(sk))
+  {
+#ifdef WITH_IPV6
+    if (res->ai_next)
+    { res = res->ai_next;
+      goto again;
+    }
+#endif
+    soap->errnum = soap_socket_errno(sk);
+    soap_set_sender_error(soap, tcp_error(soap), "socket failed in tcp_connect()", SOAP_TCP_ERROR);
+#ifdef WITH_IPV6
+    freeaddrinfo(ressave);
+#endif
+    return SOAP_INVALID_SOCKET;
+  }
+#ifdef SOCKET_CLOSE_ON_EXEC
+#ifdef WIN32
+#ifndef UNDER_CE
+  SetHandleInformation((HANDLE)sk, HANDLE_FLAG_INHERIT, 0);
+#endif
+#else
+  fcntl(sk, F_SETFD, 1);
+#endif
+#endif
+#ifndef WITH_LEAN
+  if (soap->connect_flags == SO_LINGER)
+  { struct linger linger;
+    memset((void*)&linger, 0, sizeof(linger));
+    linger.l_onoff = 1;
+    linger.l_linger = soap->linger_time;
+    if (setsockopt(sk, SOL_SOCKET, SO_LINGER, (char*)&linger, sizeof(struct linger)))
+    { soap->errnum = soap_socket_errno(sk);
+      soap_set_sender_error(soap, tcp_error(soap), "setsockopt SO_LINGER failed in tcp_connect()", SOAP_TCP_ERROR);
+      soap->fclosesocket(soap, sk);
+#ifdef WITH_IPV6
+      freeaddrinfo(ressave);
+#endif
+      return SOAP_INVALID_SOCKET;
+    }
+  }
+  else if (soap->connect_flags && setsockopt(sk, SOL_SOCKET, soap->connect_flags, (char*)&set, sizeof(int)))
+  { soap->errnum = soap_socket_errno(sk);
+    soap_set_sender_error(soap, tcp_error(soap), "setsockopt failed in tcp_connect()", SOAP_TCP_ERROR);
+    soap->fclosesocket(soap, sk);
+#ifdef WITH_IPV6
+    freeaddrinfo(ressave);
+#endif
+    return SOAP_INVALID_SOCKET;
+  }
+  if ((soap->keep_alive || soap->tcp_keep_alive) && setsockopt(sk, SOL_SOCKET, SO_KEEPALIVE, (char*)&set, sizeof(int)))
+  { soap->errnum = soap_socket_errno(sk);
+    soap_set_sender_error(soap, tcp_error(soap), "setsockopt SO_KEEPALIVE failed in tcp_connect()", SOAP_TCP_ERROR);
+    soap->fclosesocket(soap, sk);
+#ifdef WITH_IPV6
+    freeaddrinfo(ressave);
+#endif
+    return SOAP_INVALID_SOCKET;
+  }
+  if (setsockopt(sk, SOL_SOCKET, SO_SNDBUF, (char*)&len, sizeof(int)))
+  { soap->errnum = soap_socket_errno(sk);
+    soap_set_sender_error(soap, tcp_error(soap), "setsockopt SO_SNDBUF failed in tcp_connect()", SOAP_TCP_ERROR);
+    soap->fclosesocket(soap, sk);
+#ifdef WITH_IPV6
+    freeaddrinfo(ressave);
+#endif
+    return SOAP_INVALID_SOCKET;
+  }
+  if (setsockopt(sk, SOL_SOCKET, SO_RCVBUF, (char*)&len, sizeof(int)))
+  { soap->errnum = soap_socket_errno(sk);
+    soap_set_sender_error(soap, tcp_error(soap), "setsockopt SO_RCVBUF failed in tcp_connect()", SOAP_TCP_ERROR);
+    soap->fclosesocket(soap, sk);
+#ifdef WITH_IPV6
+    freeaddrinfo(ressave);
+#endif
+    return SOAP_INVALID_SOCKET;
+  }
+#ifdef TCP_KEEPIDLE
+  if (soap->tcp_keep_idle && setsockopt((SOAP_SOCKET)sk, IPPROTO_TCP, TCP_KEEPIDLE, (char*)&(soap->tcp_keep_idle), sizeof(int)))
+  { soap->errnum = soap_socket_errno(sk);
+    soap_set_sender_error(soap, tcp_error(soap), "setsockopt TCP_KEEPIDLE failed in tcp_connect()", SOAP_TCP_ERROR);
+    soap->fclosesocket(soap, (SOAP_SOCKET)sk);
+#ifdef WITH_IPV6
+    freeaddrinfo(ressave);
+#endif
+    return SOAP_INVALID_SOCKET;
+  }
+#endif
+#ifdef TCP_KEEPINTVL
+  if (soap->tcp_keep_intvl && setsockopt((SOAP_SOCKET)sk, IPPROTO_TCP, TCP_KEEPINTVL, (char*)&(soap->tcp_keep_intvl), sizeof(int)))
+  { soap->errnum = soap_socket_errno(sk);
+    soap_set_sender_error(soap, tcp_error(soap), "setsockopt TCP_KEEPINTVL failed in tcp_connect()", SOAP_TCP_ERROR);
+    soap->fclosesocket(soap, (SOAP_SOCKET)sk);
+#ifdef WITH_IPV6
+    freeaddrinfo(ressave);
+#endif
+    return SOAP_INVALID_SOCKET;
+  }
+#endif
+#ifdef TCP_KEEPCNT
+  if (soap->tcp_keep_cnt && setsockopt((SOAP_SOCKET)sk, IPPROTO_TCP, TCP_KEEPCNT, (char*)&(soap->tcp_keep_cnt), sizeof(int)))
+  { soap->errnum = soap_socket_errno(sk);
+    soap_set_sender_error(soap, tcp_error(soap), "setsockopt TCP_KEEPCNT failed in tcp_connect()", SOAP_TCP_ERROR);
+    soap->fclosesocket(soap, (SOAP_SOCKET)sk);
+#ifdef WITH_IPV6
+    freeaddrinfo(ressave);
+#endif
+    return SOAP_INVALID_SOCKET;
+  }
+#endif
+#ifdef TCP_NODELAY
+  if (!(soap->omode & SOAP_IO_UDP) && setsockopt(sk, IPPROTO_TCP, TCP_NODELAY, (char*)&set, sizeof(int)))
+  { soap->errnum = soap_socket_errno(sk);
+    soap_set_sender_error(soap, tcp_error(soap), "setsockopt TCP_NODELAY failed in tcp_connect()", SOAP_TCP_ERROR);
+    soap->fclosesocket(soap, sk);
+#ifdef WITH_IPV6
+    freeaddrinfo(ressave);
+#endif
+    return SOAP_INVALID_SOCKET;
+  }
+#endif
+#ifdef WITH_IPV6
+  if ((soap->omode & SOAP_IO_UDP) && soap->ipv6_multicast_if)
+  { struct sockaddr_in6 *in6addr = (struct sockaddr_in6*)res->ai_addr;
+    in6addr->sin6_scope_id = soap->ipv6_multicast_if;
+  }
+#endif
+#ifdef IP_MULTICAST_TTL
+  if ((soap->omode & SOAP_IO_UDP))
+  { if (soap->ipv4_multicast_ttl)
+    { unsigned char ttl = soap->ipv4_multicast_ttl;
+      if (setsockopt(sk, IPPROTO_IP, IP_MULTICAST_TTL, (char*)&ttl, sizeof(ttl)))
+      { soap->errnum = soap_socket_errno(sk);
+        soap_set_sender_error(soap, tcp_error(soap), "setsockopt IP_MULTICAST_TTL failed in tcp_connect()", SOAP_TCP_ERROR);
+        soap->fclosesocket(soap, sk);
+        return SOAP_INVALID_SOCKET;
+      }
+    }
+    if ((soap->omode & SOAP_IO_UDP) && soap->ipv4_multicast_if && !soap->ipv6_multicast_if)
+    { if (setsockopt(sk, IPPROTO_IP, IP_MULTICAST_IF, (char*)soap->ipv4_multicast_if, sizeof(struct in_addr)))
+#ifndef WINDOWS
+      { soap->errnum = soap_socket_errno(sk);
+        soap_set_sender_error(soap, tcp_error(soap), "setsockopt IP_MULTICAST_IF failed in tcp_connect()", SOAP_TCP_ERROR);
+        soap->fclosesocket(soap, sk);
+        return SOAP_INVALID_SOCKET;
+      }
+#else
+#ifndef IP_MULTICAST_IF
+#define IP_MULTICAST_IF 2
+#endif
+      if (setsockopt(sk, IPPROTO_IP, IP_MULTICAST_IF, (char*)soap->ipv4_multicast_if, sizeof(struct in_addr)))
+      { soap->errnum = soap_socket_errno(sk);
+        soap_set_sender_error(soap, tcp_error(soap), "setsockopt IP_MULTICAST_IF failed in tcp_connect()", SOAP_TCP_ERROR);
+        soap->fclosesocket(soap, sk);
+        return SOAP_INVALID_SOCKET;
+      }
+#endif
+    }
+  }
+#endif
+#endif
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Opening socket=%d to host='%s' port=%d\n", sk, host, port));
+#ifndef WITH_IPV6
+  soap->peerlen = sizeof(soap->peer);
+  memset((void*)&soap->peer, 0, sizeof(soap->peer));
+  soap->peer.sin_family = AF_INET;
+  soap->errmode = 2;
+  if (soap->proxy_host)
+  { if (soap->fresolve(soap, soap->proxy_host, &soap->peer.sin_addr))
+    { soap_set_sender_error(soap, tcp_error(soap), "get proxy host by name failed in tcp_connect()", SOAP_TCP_ERROR);
+      soap->fclosesocket(soap, sk);
+      return SOAP_INVALID_SOCKET;
+    }
+    soap->peer.sin_port = htons((short)soap->proxy_port);
+  }
+  else
+  { if (soap->fresolve(soap, host, &soap->peer.sin_addr))
+    { soap_set_sender_error(soap, tcp_error(soap), "get host by name failed in tcp_connect()", SOAP_TCP_ERROR);
+      soap->fclosesocket(soap, sk);
+      return SOAP_INVALID_SOCKET;
+    }
+    soap->peer.sin_port = htons((short)port);
+  }
+  soap->errmode = 0;
+#ifndef WITH_LEAN
+  if ((soap->omode & SOAP_IO_UDP))
+    return sk;
+#endif
+#else
+  if ((soap->omode & SOAP_IO_UDP))
+  { memcpy(&soap->peer, res->ai_addr, res->ai_addrlen);
+    soap->peerlen = res->ai_addrlen;
+    freeaddrinfo(ressave);
+    return sk;
+  }
+#endif
+#ifndef WITH_LEAN
+  if (soap->connect_timeout)
+    SOAP_SOCKNONBLOCK(sk)
+  else
+    SOAP_SOCKBLOCK(sk)
+  retries = 10;
+#endif
+  for (;;)
+  {
+#ifdef WITH_IPV6
+    if (connect(sk, res->ai_addr, (int)res->ai_addrlen))
+#else
+    if (connect(sk, (struct sockaddr*)&soap->peer, sizeof(soap->peer)))
+#endif
+    { err = soap_socket_errno(sk);
+#ifndef WITH_LEAN
+      if (err == SOAP_EADDRINUSE)
+      { soap->fclosesocket(soap, sk);
+        if (retries-- > 0)
+          goto again;
+      }
+      else if (soap->connect_timeout && (err == SOAP_EINPROGRESS || err == SOAP_EAGAIN || err == SOAP_EWOULDBLOCK))
+      {
+        SOAP_SOCKLEN_T k;
+        for (;;)
+        { register int r;
+          r = tcp_select(soap, sk, SOAP_TCP_SELECT_SND, soap->connect_timeout);
+          if (r > 0)
+            break;
+          if (!r)
+          { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Connect timeout\n"));
+            soap_set_sender_error(soap, "Timeout", "connect failed in tcp_connect()", SOAP_TCP_ERROR);
+            soap->fclosesocket(soap, sk);
+#ifdef WITH_IPV6
+            freeaddrinfo(ressave);
+#endif
+            return SOAP_INVALID_SOCKET;
+          }
+          r = soap->errnum = soap_socket_errno(sk);
+          if (r != SOAP_EINTR)
+          { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not connect to host\n"));
+            soap_set_sender_error(soap, tcp_error(soap), "connect failed in tcp_connect()", SOAP_TCP_ERROR);
+            soap->fclosesocket(soap, sk);
+#ifdef WITH_IPV6
+            freeaddrinfo(ressave);
+#endif
+            return SOAP_INVALID_SOCKET;
+          }
+        }
+        k = (SOAP_SOCKLEN_T)sizeof(soap->errnum);
+        if (!getsockopt(sk, SOL_SOCKET, SO_ERROR, (char*)&soap->errnum, &k) && !soap->errnum)	/* portability note: see SOAP_SOCKLEN_T definition in stdsoap2.h */
+          break;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not connect to host\n"));
+        if (!soap->errnum)
+          soap->errnum = soap_socket_errno(sk);
+        soap_set_sender_error(soap, tcp_error(soap), "connect failed in tcp_connect()", SOAP_TCP_ERROR);
+        soap->fclosesocket(soap, sk);
+#ifdef WITH_IPV6
+        freeaddrinfo(ressave);
+#endif
+        return SOAP_INVALID_SOCKET;
+      }
+#endif
+#ifdef WITH_IPV6
+      if (res->ai_next)
+      { res = res->ai_next;
+        soap->fclosesocket(soap, sk);
+        goto again;
+      }
+#endif
+      if (err && err != SOAP_EINTR)
+      { soap->errnum = err;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not connect to host\n"));
+        soap_set_sender_error(soap, tcp_error(soap), "connect failed in tcp_connect()", SOAP_TCP_ERROR);
+        soap->fclosesocket(soap, sk);
+#ifdef WITH_IPV6
+        freeaddrinfo(ressave);
+#endif
+        return SOAP_INVALID_SOCKET;
+      }
+    }
+    else
+      break;
+  }
+#ifdef WITH_IPV6
+  soap->peerlen = 0; /* IPv6: already connected so use send() */
+  freeaddrinfo(ressave);
+#endif
+  soap->socket = sk;
+  soap->imode &= ~SOAP_ENC_SSL;
+  soap->omode &= ~SOAP_ENC_SSL;
+  if (!soap_tag_cmp(endpoint, "https:*"))
+  {
+#if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
+#ifdef WITH_OPENSSL
+    BIO *bio;
+#endif
+    int r;
+    if (soap->proxy_host)
+    { soap_mode m = soap->mode; /* preserve settings */
+      soap_mode om = soap->omode; /* make sure we only parse HTTP */
+      size_t n = soap->count; /* save the content length */
+      const char *userid, *passwd;
+      int status = soap->status; /* save the current status/command */
+      short keep_alive = soap->keep_alive; /* save the KA status */
+      soap->omode &= ~SOAP_ENC; /* mask IO and ENC */
+      soap->omode |= SOAP_IO_BUFFER;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Connecting to %s proxy server %s for destination endpoint %s\n", soap->proxy_http_version, soap->proxy_host, endpoint));
+#ifdef WITH_NTLM
+      if (soap->ntlm_challenge)
+      { if (soap_ntlm_handshake(soap, SOAP_CONNECT, endpoint, host, port))
+          return soap->error;
+      }
+#endif
+      if (soap_begin_send(soap))
+      { soap->fclosesocket(soap, sk);
+        return SOAP_INVALID_SOCKET;
+      }
+      soap->status = SOAP_CONNECT;
+      soap->keep_alive = 1;
+      if ((soap->error = soap->fpost(soap, endpoint, host, port, NULL, NULL, 0))
+       || soap_end_send_flush(soap))
+      { soap->fclosesocket(soap, sk);
+        return SOAP_INVALID_SOCKET;
+      }
+      soap->keep_alive = keep_alive;
+      soap->omode = om;
+      om = soap->imode;
+      soap->imode &= ~SOAP_ENC; /* mask IO and ENC */
+      userid = soap->userid; /* preserve */
+      passwd = soap->passwd; /* preserve */
+      if ((soap->error = soap->fparse(soap)))
+      { soap->fclosesocket(soap, sk);
+        return SOAP_INVALID_SOCKET;
+      }
+      soap->status = status; /* restore */
+      soap->userid = userid; /* restore */
+      soap->passwd = passwd; /* restore */
+      soap->imode = om; /* restore */
+      soap->count = n; /* restore */
+      if (soap_begin_send(soap))
+      { soap->fclosesocket(soap, sk);
+        return SOAP_INVALID_SOCKET;
+      }
+      if (endpoint)
+      { strncpy(soap->endpoint, endpoint, sizeof(soap->endpoint)); /* restore */
+        soap->endpoint[sizeof(soap->endpoint) - 1] = '\0';
+      }
+      soap->mode = m;
+    }
+#ifdef WITH_OPENSSL
+    soap->ssl_flags |= SOAP_SSL_CLIENT;
+    if (!soap->ctx && (soap->error = soap->fsslauth(soap)))
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "SSL required, but no ctx set\n"));
+      soap->fclosesocket(soap, sk);
+      soap->error = SOAP_SSL_ERROR;
+      return SOAP_INVALID_SOCKET;
+    }
+    if (!soap->ssl)
+    { soap->ssl = SSL_new(soap->ctx);
+      if (!soap->ssl)
+      { soap->fclosesocket(soap, sk);
+        soap->error = SOAP_SSL_ERROR;
+        return SOAP_INVALID_SOCKET;
+      }
+    }
+    else
+      SSL_clear(soap->ssl);
+    if (soap->session)
+    { if (!strcmp(soap->session_host, host) && soap->session_port == port)
+        SSL_set_session(soap->ssl, soap->session);
+      SSL_SESSION_free(soap->session);
+      soap->session = NULL;
+    }
+    soap->imode |= SOAP_ENC_SSL;
+    soap->omode |= SOAP_ENC_SSL;
+    bio = BIO_new_socket((int)sk, BIO_NOCLOSE);
+    SSL_set_bio(soap->ssl, bio, bio);
+    /* Connect timeout: set SSL sockets to non-blocking */
+    retries = 0;
+    if (soap->connect_timeout)
+    { SOAP_SOCKNONBLOCK(sk)
+      retries = 10*soap->connect_timeout;
+    }
+    else
+      SOAP_SOCKBLOCK(sk)
+    if (retries <= 0)
+      retries = 100; /* timeout: 10 sec retries, 100 times 0.1 sec */
+    /* Try connecting until success or timeout (when nonblocking) */
+    do
+    { if ((r = SSL_connect(soap->ssl)) <= 0)
+      { int err = SSL_get_error(soap->ssl, r);
+        if (err == SSL_ERROR_WANT_CONNECT || err == SSL_ERROR_WANT_READ || err == SSL_ERROR_WANT_WRITE)
+        { register int s;
+          if (err == SSL_ERROR_WANT_READ)
+            s = tcp_select(soap, sk, SOAP_TCP_SELECT_RCV | SOAP_TCP_SELECT_ERR, -100000);
+          else
+            s = tcp_select(soap, sk, SOAP_TCP_SELECT_SND | SOAP_TCP_SELECT_ERR, -100000);
+          if (s < 0)
+          { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "SSL_connect/select error in tcp_connect\n"));
+            soap_set_sender_error(soap, soap_ssl_error(soap, r), "SSL_connect failed in tcp_connect()", SOAP_TCP_ERROR);
+            soap->fclosesocket(soap, sk);
+            return SOAP_INVALID_SOCKET;
+          }
+          if (s == 0 && retries-- <= 0)
+          { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "SSL/TLS connect timeout\n"));
+            soap_set_sender_error(soap, "Timeout", "SSL_connect failed in tcp_connect()", SOAP_TCP_ERROR);
+            soap->fclosesocket(soap, sk);
+            return SOAP_INVALID_SOCKET;
+          }
+        }
+        else
+        { soap_set_sender_error(soap, soap_ssl_error(soap, r), "SSL_connect error in tcp_connect()", SOAP_SSL_ERROR);
+          soap->fclosesocket(soap, sk);
+          return SOAP_INVALID_SOCKET;
+        }
+      }
+    } while (!SSL_is_init_finished(soap->ssl));
+    /* Set SSL sockets to nonblocking */
+    SOAP_SOCKNONBLOCK(sk)
+    /* Check server credentials when required */
+    if ((soap->ssl_flags & SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION))
+    { int err;
+      if ((err = SSL_get_verify_result(soap->ssl)) != X509_V_OK)
+      { soap_set_sender_error(soap, X509_verify_cert_error_string(err), "SSL/TLS certificate presented by peer cannot be verified in tcp_connect()", SOAP_SSL_ERROR);
+        soap->fclosesocket(soap, sk);
+        return SOAP_INVALID_SOCKET;
+      }
+      if (!(soap->ssl_flags & SOAP_SSL_SKIP_HOST_CHECK))
+      { X509_NAME *subj;
+        STACK_OF(CONF_VALUE) *val = NULL;
+#if (OPENSSL_VERSION_NUMBER >= 0x0090800fL)
+        GENERAL_NAMES *names = NULL;
+#else
+        int ext_count;
+#endif
+        int ok = 0;
+        X509 *peer = SSL_get_peer_certificate(soap->ssl);
+        if (!peer)
+        { soap_set_sender_error(soap, "SSL/TLS error", "No SSL/TLS certificate was presented by the peer in tcp_connect()", SOAP_SSL_ERROR);
+          soap->fclosesocket(soap, sk);
+          return SOAP_INVALID_SOCKET;
+        }
+#if (OPENSSL_VERSION_NUMBER < 0x0090800fL)
+        ext_count = X509_get_ext_count(peer);
+        if (ext_count > 0)
+        { int i;
+          for (i = 0; i < ext_count; i++)
+          { X509_EXTENSION *ext = X509_get_ext(peer, i);
+            const char *ext_str = OBJ_nid2sn(OBJ_obj2nid(X509_EXTENSION_get_object(ext)));
+            if (ext_str && !strcmp(ext_str, "subjectAltName"))
+            { X509V3_EXT_METHOD *meth = (X509V3_EXT_METHOD*)X509V3_EXT_get(ext);
+              unsigned char *data;
+              if (!meth)
+                break;
+              data = ext->value->data;
+              if (data)
+              {
+#if (OPENSSL_VERSION_NUMBER > 0x00907000L)
+                void *ext_data;
+                if (meth->it)
+                  ext_data = ASN1_item_d2i(NULL, &data, ext->value->length, ASN1_ITEM_ptr(meth->it));
+                else
+                { /* OpenSSL is not portable at this point (?):
+                     Some compilers appear to prefer
+                       meth->d2i(NULL, (const unsigned char**)&data, ...
+                     and others prefer
+                       meth->d2i(NULL, &data, ext->value->length);
+                  */
+                  ext_data = meth->d2i(NULL, &data, ext->value->length);
+                }
+                if (ext_data)
+                  val = meth->i2v(meth, ext_data, NULL);
+        	else
+        	  val = NULL;
+                if (meth->it)
+                  ASN1_item_free((ASN1_VALUE*)ext_data, ASN1_ITEM_ptr(meth->it));
+                else
+                  meth->ext_free(ext_data);
+#else
+                void *ext_data = meth->d2i(NULL, &data, ext->value->length);
+                if (ext_data)
+                  val = meth->i2v(meth, ext_data, NULL);
+                meth->ext_free(ext_data);
+#endif
+        	if (val)
+                { int j;
+                  for (j = 0; j < sk_CONF_VALUE_num(val); j++)
+                  { CONF_VALUE *nval = sk_CONF_VALUE_value(val, j);
+                    if (nval && !strcmp(nval->name, "DNS") && !strcmp(nval->value, host))
+                    { ok = 1;
+                      break;
+                    }
+                  }
+                  sk_CONF_VALUE_pop_free(val, X509V3_conf_free);
+                }
+              }
+            }
+            if (ok)
+              break;
+          }
+        }
+#else
+        names = (GENERAL_NAMES*)X509_get_ext_d2i(peer, NID_subject_alt_name, NULL, NULL);
+        if (names)
+        { val = i2v_GENERAL_NAMES(NULL, names, val);
+          sk_GENERAL_NAME_pop_free(names, GENERAL_NAME_free);
+        }
+        if (val)
+        { int j;
+          for (j = 0; j < sk_CONF_VALUE_num(val); j++)
+          { CONF_VALUE *nval = sk_CONF_VALUE_value(val, j);
+            if (nval && !strcmp(nval->name, "DNS") && !strcmp(nval->value, host))
+            { ok = 1;
+              break;
+            }
+          }
+          sk_CONF_VALUE_pop_free(val, X509V3_conf_free);
+        }
+#endif
+        if (!ok && (subj = X509_get_subject_name(peer)))
+        { int i = -1;
+          do
+          { ASN1_STRING *name;
+            i = X509_NAME_get_index_by_NID(subj, NID_commonName, i);
+            if (i == -1)
+              break;
+            name = X509_NAME_ENTRY_get_data(X509_NAME_get_entry(subj, i));
+            if (name)
+            { if (!soap_tag_cmp(host, (const char*)M_ASN1_STRING_data(name)))
+                ok = 1;
+              else
+              { unsigned char *tmp = NULL;
+                ASN1_STRING_to_UTF8(&tmp, name);
+                if (tmp)
+                { if (!soap_tag_cmp(host, (const char*)tmp))
+                    ok = 1;
+                  else if (tmp[0] == '*') /* wildcard domain */
+                  { const char *t = strchr(host, '.');
+                    if (t && !soap_tag_cmp(t, (const char*)tmp+1))
+                      ok = 1;
+                  }
+                  OPENSSL_free(tmp);
+                }
+              }
+            }
+          } while (!ok);
+        }
+        X509_free(peer);
+        if (!ok)
+        { soap_set_sender_error(soap, "SSL/TLS error", "SSL/TLS certificate host name mismatch in tcp_connect()", SOAP_SSL_ERROR);
+          soap->fclosesocket(soap, sk);
+          return SOAP_INVALID_SOCKET;
+        }
+      }
+    }
+#endif
+#ifdef WITH_GNUTLS
+    soap->ssl_flags |= SOAP_SSL_CLIENT;
+    if (!soap->session && (soap->error = soap->fsslauth(soap)))
+    { soap->fclosesocket(soap, sk);
+      return SOAP_INVALID_SOCKET;
+    }
+    gnutls_transport_set_ptr(soap->session, (gnutls_transport_ptr_t)(long)sk);
+    /* Set SSL sockets to non-blocking */
+    if (soap->connect_timeout)
+    { SOAP_SOCKNONBLOCK(sk)
+      retries = 10*soap->connect_timeout;
+    }
+    else
+      SOAP_SOCKBLOCK(sk)
+    if (retries <= 0)
+      retries = 100; /* timeout: 10 sec retries, 100 times 0.1 sec */
+    while ((r = gnutls_handshake(soap->session)))
+    { int s;
+      /* GNUTLS repeat handhake when GNUTLS_E_AGAIN */
+      if (retries-- <= 0)
+        break;
+      if (r == GNUTLS_E_AGAIN || r == GNUTLS_E_INTERRUPTED)
+      { if (!gnutls_record_get_direction(soap->session))
+          s = tcp_select(soap, sk, SOAP_TCP_SELECT_RCV | SOAP_TCP_SELECT_ERR, -100000);
+        else
+          s = tcp_select(soap, sk, SOAP_TCP_SELECT_SND | SOAP_TCP_SELECT_ERR, -100000);
+        if (s < 0)
+          break;
+      }
+      else
+      { soap->errnum = soap_socket_errno(sk);
+        break;
+      }
+    }
+    if (r)
+    { soap_set_sender_error(soap, soap_ssl_error(soap, r), "SSL/TLS handshake failed", SOAP_SSL_ERROR);
+      soap->fclosesocket(soap, sk);
+      return SOAP_INVALID_SOCKET;
+    }
+    if ((soap->ssl_flags & SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION))
+    { const char *err = ssl_verify(soap, host);
+      if (err)
+      { soap->fclosesocket(soap, sk);
+        soap->error = soap_set_sender_error(soap, "SSL/TLS error", err, SOAP_SSL_ERROR);
+        return SOAP_INVALID_SOCKET;
+      }
+    }
+#endif
+#else
+    soap->fclosesocket(soap, sk);
+    soap->error = SOAP_SSL_ERROR;
+    return SOAP_INVALID_SOCKET;
+#endif
+  }
+  if (soap->recv_timeout || soap->send_timeout)
+    SOAP_SOCKNONBLOCK(sk)
+  else
+    SOAP_SOCKBLOCK(sk)
+  return sk;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static int
+tcp_select(struct soap *soap, SOAP_SOCKET sk, int flags, int timeout)
+{ int r;
+  struct timeval tv;
+  fd_set fd[3], *rfd, *sfd, *efd;
+  int retries = 0;
+  int eintr = SOAP_MAXEINTR;
+  soap->errnum = 0;
+#ifndef WIN32
+#if !defined(FD_SETSIZE) || defined(__QNX__) || defined(QNX)
+  /* no FD_SETSIZE or select() is not MT safe on some QNX: always poll */
+  if (1)
+#else
+  /* if fd max set size exceeded, use poll() */
+  if ((int)sk >= (int)FD_SETSIZE)
+#endif
+#ifdef HAVE_POLL
+  { struct pollfd pollfd;
+    pollfd.fd = (int)sk;
+    pollfd.events = 0;
+    if (flags & SOAP_TCP_SELECT_RCV)
+      pollfd.events |= POLLIN;
+    if (flags & SOAP_TCP_SELECT_SND)
+      pollfd.events |= POLLOUT;
+    if (flags & SOAP_TCP_SELECT_ERR)
+      pollfd.events |= POLLERR;
+    if (timeout <= 0)
+      timeout /= -1000; /* -usec -> ms */
+    else
+    { retries = timeout - 1;
+      timeout = 1000;
+    }
+    do
+    { r = poll(&pollfd, 1, timeout);
+      if (r < 0 && (soap->errnum = soap_socket_errno(sk)) == SOAP_EINTR && eintr--)
+        continue;
+    } while (r == 0 && retries--);
+    if (r > 0)
+    { r = 0;
+      if ((flags & SOAP_TCP_SELECT_RCV) && (pollfd.revents & POLLIN))
+        r |= SOAP_TCP_SELECT_RCV;
+      if ((flags & SOAP_TCP_SELECT_SND) && (pollfd.revents & POLLOUT))
+        r |= SOAP_TCP_SELECT_SND;
+      if ((flags & SOAP_TCP_SELECT_ERR) && (pollfd.revents & POLLERR))
+        r |= SOAP_TCP_SELECT_ERR;
+    }
+    return r;
+  }
+#else
+  { soap->error = SOAP_FD_EXCEEDED;
+    return -1;
+  }
+#endif
+#endif
+  if (timeout > 0)
+    retries = timeout - 1;
+  do
+  { rfd = sfd = efd = NULL;
+    if (flags & SOAP_TCP_SELECT_RCV)
+    { rfd = &fd[0];
+      FD_ZERO(rfd);
+      FD_SET(sk, rfd);
+    }
+    if (flags & SOAP_TCP_SELECT_SND)
+    { sfd = &fd[1];
+      FD_ZERO(sfd);
+      FD_SET(sk, sfd);
+    }
+    if (flags & SOAP_TCP_SELECT_ERR)
+    { efd = &fd[2];
+      FD_ZERO(efd);
+      FD_SET(sk, efd);
+    }
+    if (timeout <= 0)
+    { tv.tv_sec = -timeout / 1000000;
+      tv.tv_usec = -timeout % 1000000;
+    }
+    else
+    { tv.tv_sec = 1;
+      tv.tv_usec = 0;
+    }
+    r = select((int)sk + 1, rfd, sfd, efd, &tv);
+    if (r < 0 && (soap->errnum = soap_socket_errno(sk)) == SOAP_EINTR && eintr--)
+      continue;
+  } while (r == 0 && retries--);
+  if (r > 0)
+  { r = 0;
+    if ((flags & SOAP_TCP_SELECT_RCV) && FD_ISSET(sk, rfd))
+      r |= SOAP_TCP_SELECT_RCV;
+    if ((flags & SOAP_TCP_SELECT_SND) && FD_ISSET(sk, sfd))
+      r |= SOAP_TCP_SELECT_SND;
+    if ((flags & SOAP_TCP_SELECT_ERR) && FD_ISSET(sk, efd))
+      r |= SOAP_TCP_SELECT_ERR;
+  }
+  return r;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static SOAP_SOCKET
+tcp_accept(struct soap *soap, SOAP_SOCKET s, struct sockaddr *a, int *n)
+{ SOAP_SOCKET sk;
+  (void)soap;
+  sk = accept(s, a, (SOAP_SOCKLEN_T*)n); /* portability note: see SOAP_SOCKLEN_T definition in stdsoap2.h */
+#ifdef SOCKET_CLOSE_ON_EXEC
+#ifdef WIN32
+#ifndef UNDER_CE
+  SetHandleInformation((HANDLE)sk, HANDLE_FLAG_INHERIT, 0);
+#endif
+#else
+  fcntl(sk, F_SETFD, FD_CLOEXEC);
+#endif
+#endif
+  return sk;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static int
+tcp_disconnect(struct soap *soap)
+{
+#ifdef WITH_OPENSSL
+  if (soap->ssl)
+  { int r, s = 0;
+    if (soap->session)
+    { SSL_SESSION_free(soap->session);
+      soap->session = NULL;
+    }
+    if (*soap->host)
+    { soap->session = SSL_get1_session(soap->ssl);
+      if (soap->session)
+      { strcpy(soap->session_host, soap->host);
+        soap->session_port = soap->port;
+      }
+    }
+    r = SSL_shutdown(soap->ssl);
+    /* SSL shutdown does not work when reads are pending, non-blocking */
+    if (r == 0)
+    { while (SSL_want_read(soap->ssl))
+      { if (SSL_read(soap->ssl, NULL, 0)
+         || soap_socket_errno(soap->socket) != SOAP_EAGAIN)
+        { r = SSL_shutdown(soap->ssl);
+          break;
+        }
+      }
+    }
+    if (r == 0)
+    { if (soap_valid_socket(soap->socket))
+      { if (!soap->fshutdownsocket(soap, soap->socket, SOAP_SHUT_WR))
+        {
+#if !defined(WITH_LEAN) && !defined(WIN32)
+          /*
+          wait up to 5 seconds for close_notify to be sent by peer (if peer not
+          present, this avoids calling SSL_shutdown() which has a lengthy return
+          timeout)
+          */
+          r = tcp_select(soap, soap->socket, SOAP_TCP_SELECT_RCV | SOAP_TCP_SELECT_ERR, 5);
+          if (r <= 0)
+          { soap->errnum = 0;
+            DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Connection lost...\n"));
+            soap->fclosesocket(soap, soap->socket);
+            soap->socket = SOAP_INVALID_SOCKET;
+            ERR_remove_state(0);
+            SSL_free(soap->ssl);
+            soap->ssl = NULL;
+            return SOAP_OK;
+          }
+#else
+          r = SSL_shutdown(soap->ssl);
+#endif
+        }
+      }
+    }
+    if (r != 1)
+    { s = ERR_get_error();
+      if (s)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Shutdown failed: %d\n", SSL_get_error(soap->ssl, r)));
+        if (soap_valid_socket(soap->socket) && !(soap->omode & SOAP_IO_UDP))
+        { soap->fclosesocket(soap, soap->socket);
+          soap->socket = SOAP_INVALID_SOCKET;
+        }
+      }
+    }
+    SSL_free(soap->ssl);
+    soap->ssl = NULL;
+    if (s)
+      return SOAP_SSL_ERROR;
+    ERR_remove_state(0);
+  }
+#endif
+#ifdef WITH_GNUTLS
+  if (soap->session)
+  { gnutls_bye(soap->session, GNUTLS_SHUT_RDWR);
+    gnutls_deinit(soap->session);
+    soap->session = NULL;
+  }
+#endif
+  if (soap_valid_socket(soap->socket) && !(soap->omode & SOAP_IO_UDP))
+  { soap->fshutdownsocket(soap, soap->socket, SOAP_SHUT_RDWR);
+    soap->fclosesocket(soap, soap->socket);
+    soap->socket = SOAP_INVALID_SOCKET;
+  }
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static int
+tcp_closesocket(struct soap *soap, SOAP_SOCKET sk)
+{ (void)soap;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Close socket=%d\n", (int)sk));
+  return soap_closesocket(sk);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static int
+tcp_shutdownsocket(struct soap *soap, SOAP_SOCKET sk, int how)
+{ (void)soap;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Shutdown socket=%d how=%d\n", (int)sk, how));
+  return shutdown(sk, how);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+SOAP_FMAC1
+SOAP_SOCKET
+SOAP_FMAC2
+soap_bind(struct soap *soap, const char *host, int port, int backlog)
+{
+#ifdef WITH_IPV6
+  struct addrinfo *addrinfo = NULL;
+  struct addrinfo hints;
+  struct addrinfo res;
+  int err;
+#ifdef WITH_NO_IPV6_V6ONLY
+  int unset = 0;
+#endif
+#endif
+#ifndef WITH_LEAN
+#ifndef WIN32
+  int len = SOAP_BUFLEN;
+#else
+  int len = SOAP_BUFLEN + 1; /* speeds up windows xfer */
+#endif
+  int set = 1;
+#endif
+  if (soap_valid_socket(soap->master))
+  { soap->fclosesocket(soap, soap->master);
+    soap->master = SOAP_INVALID_SOCKET;
+  }
+  soap->socket = SOAP_INVALID_SOCKET;
+  soap->errmode = 1;
+  if (tcp_init(soap))
+  { soap_set_receiver_error(soap, tcp_error(soap), "TCP init failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+#ifdef WITH_IPV6
+  memset((void*)&hints, 0, sizeof(hints));
+  hints.ai_family = PF_UNSPEC;
+#ifndef WITH_LEAN
+  if ((soap->omode & SOAP_IO_UDP))
+    hints.ai_socktype = SOCK_DGRAM;
+  else
+#endif
+    hints.ai_socktype = SOCK_STREAM;
+  hints.ai_flags = AI_PASSIVE;
+  soap->errmode = 2;
+  err = getaddrinfo(host, soap_int2s(soap, port), &hints, &addrinfo);
+  if (err || !addrinfo)
+  { soap_set_receiver_error(soap, SOAP_GAI_STRERROR(err), "getaddrinfo failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+  res = *addrinfo;
+  memcpy(&soap->peer, addrinfo->ai_addr, addrinfo->ai_addrlen);
+  soap->peerlen = addrinfo->ai_addrlen;
+  res.ai_addr = (struct sockaddr*)&soap->peer;
+  res.ai_addrlen = soap->peerlen;
+  freeaddrinfo(addrinfo);
+  soap->master = (int)socket(res.ai_family, res.ai_socktype, res.ai_protocol);
+#else
+#ifndef WITH_LEAN
+  if ((soap->omode & SOAP_IO_UDP))
+    soap->master = (int)socket(AF_INET, SOCK_DGRAM, 0);
+  else
+#endif
+    soap->master = (int)socket(AF_INET, SOCK_STREAM, 0);
+#endif
+  soap->errmode = 0;
+  if (!soap_valid_socket(soap->master))
+  { soap->errnum = soap_socket_errno(soap->master);
+    soap_set_receiver_error(soap, tcp_error(soap), "socket failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+  soap->port = port;
+#ifndef WITH_LEAN
+  if ((soap->omode & SOAP_IO_UDP))
+    soap->socket = soap->master;
+#endif
+#ifdef SOCKET_CLOSE_ON_EXEC
+#ifdef WIN32
+#ifndef UNDER_CE
+  SetHandleInformation((HANDLE)soap->master, HANDLE_FLAG_INHERIT, 0);
+#endif
+#else
+  fcntl(soap->master, F_SETFD, 1);
+#endif
+#endif
+#ifndef WITH_LEAN
+  if (soap->bind_flags && setsockopt(soap->master, SOL_SOCKET, soap->bind_flags, (char*)&set, sizeof(int)))
+  { soap->errnum = soap_socket_errno(soap->master);
+    soap_set_receiver_error(soap, tcp_error(soap), "setsockopt failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+  if (((soap->imode | soap->omode) & SOAP_IO_KEEPALIVE) && (!((soap->imode | soap->omode) & SOAP_IO_UDP)) && setsockopt(soap->master, SOL_SOCKET, SO_KEEPALIVE, (char*)&set, sizeof(int)))
+  { soap->errnum = soap_socket_errno(soap->master);
+    soap_set_receiver_error(soap, tcp_error(soap), "setsockopt SO_KEEPALIVE failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+  if (setsockopt(soap->master, SOL_SOCKET, SO_SNDBUF, (char*)&len, sizeof(int)))
+  { soap->errnum = soap_socket_errno(soap->master);
+    soap_set_receiver_error(soap, tcp_error(soap), "setsockopt SO_SNDBUF failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+  if (setsockopt(soap->master, SOL_SOCKET, SO_RCVBUF, (char*)&len, sizeof(int)))
+  { soap->errnum = soap_socket_errno(soap->master);
+    soap_set_receiver_error(soap, tcp_error(soap), "setsockopt SO_RCVBUF failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+#ifdef TCP_NODELAY
+  if (!(soap->omode & SOAP_IO_UDP) && setsockopt(soap->master, IPPROTO_TCP, TCP_NODELAY, (char*)&set, sizeof(int)))
+  { soap->errnum = soap_socket_errno(soap->master);
+    soap_set_receiver_error(soap, tcp_error(soap), "setsockopt TCP_NODELAY failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+#endif
+#endif
+#ifdef WITH_IPV6
+#ifdef WITH_IPV6_V6ONLY
+  if (setsockopt(soap->master, IPPROTO_IPV6, IPV6_V6ONLY, (char*)&set, sizeof(int)))
+  { soap->errnum = soap_socket_errno(soap->master);
+    soap_set_receiver_error(soap, tcp_error(soap), "setsockopt set IPV6_V6ONLY failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+#endif
+#ifdef WITH_NO_IPV6_V6ONLY
+  if (setsockopt(soap->master, IPPROTO_IPV6, IPV6_V6ONLY, (char*)&unset, sizeof(int)))
+  { soap->errnum = soap_socket_errno(soap->master);
+    soap_set_receiver_error(soap, tcp_error(soap), "setsockopt unset IPV6_V6ONLY failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+#endif
+  soap->errmode = 0;
+  if (bind(soap->master, res.ai_addr, (int)res.ai_addrlen))
+  { soap->errnum = soap_socket_errno(soap->master);
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not bind to host\n"));
+    soap_closesock(soap);
+    soap_set_receiver_error(soap, tcp_error(soap), "bind failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+#else
+  soap->peerlen = sizeof(soap->peer);
+  memset((void*)&soap->peer, 0, sizeof(soap->peer));
+  soap->peer.sin_family = AF_INET;
+  soap->errmode = 2;
+  if (host)
+  { if (soap->fresolve(soap, host, &soap->peer.sin_addr))
+    { soap_set_receiver_error(soap, tcp_error(soap), "get host by name failed in soap_bind()", SOAP_TCP_ERROR);
+      return SOAP_INVALID_SOCKET;
+    }
+  }
+  else
+    soap->peer.sin_addr.s_addr = htonl(INADDR_ANY);
+  soap->peer.sin_port = htons((short)port);
+  soap->errmode = 0;
+  if (bind(soap->master, (struct sockaddr*)&soap->peer, (int)soap->peerlen))
+  { soap->errnum = soap_socket_errno(soap->master);
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not bind to host\n"));
+    soap_closesock(soap);
+    soap_set_receiver_error(soap, tcp_error(soap), "bind failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+#endif
+  if (!(soap->omode & SOAP_IO_UDP) && listen(soap->master, backlog))
+  { soap->errnum = soap_socket_errno(soap->master);
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not bind to host\n"));
+    soap_closesock(soap);
+    soap_set_receiver_error(soap, tcp_error(soap), "listen failed in soap_bind()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+  return soap->master;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_poll(struct soap *soap)
+{
+#ifndef WITH_LEAN
+  register int r;
+  if (soap_valid_socket(soap->socket))
+  { r = tcp_select(soap, soap->socket, SOAP_TCP_SELECT_ALL, 0);
+    if (r > 0 && (r & SOAP_TCP_SELECT_ERR))
+      r = -1;
+  }
+  else if (soap_valid_socket(soap->master))
+    r = tcp_select(soap, soap->master, SOAP_TCP_SELECT_SND, 0);
+  else
+    return SOAP_OK; /* OK when no socket! */
+  if (r > 0)
+  {
+#ifdef WITH_OPENSSL
+    if (soap->imode & SOAP_ENC_SSL)
+    {
+      if (soap_valid_socket(soap->socket)
+       && (r & SOAP_TCP_SELECT_SND)
+       && (!(r & SOAP_TCP_SELECT_RCV)
+        || SSL_peek(soap->ssl, soap->tmpbuf, 1) > 0))
+        return SOAP_OK;
+    }
+    else
+#endif
+    { int t;
+      if (soap_valid_socket(soap->socket)
+       && (r & SOAP_TCP_SELECT_SND)
+       && (!(r & SOAP_TCP_SELECT_RCV)
+        || recv(soap->socket, (char*)&t, 1, MSG_PEEK) > 0))
+        return SOAP_OK;
+    }
+  }
+  else if (r < 0)
+  { if ((soap_valid_socket(soap->master) || soap_valid_socket(soap->socket)) && soap_socket_errno(soap->master) != SOAP_EINTR)
+    { soap_set_receiver_error(soap, tcp_error(soap), "select failed in soap_poll()", SOAP_TCP_ERROR);
+      return soap->error = SOAP_TCP_ERROR;
+    }
+  }
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Polling: other end down on socket=%d select=%d\n", soap->socket, r));
+  return SOAP_EOF;
+#else
+  return SOAP_OK;
+#endif
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+SOAP_FMAC1
+SOAP_SOCKET
+SOAP_FMAC2
+soap_accept(struct soap *soap)
+{ int n = (int)sizeof(soap->peer);
+  register int err;
+#ifndef WITH_LEAN
+#ifndef WIN32
+  int len = SOAP_BUFLEN;
+#else
+  int len = SOAP_BUFLEN + 1; /* speeds up windows xfer */
+#endif
+  int set = 1;
+#endif
+  soap->error = SOAP_OK;
+  memset((void*)&soap->peer, 0, sizeof(soap->peer));
+  soap->socket = SOAP_INVALID_SOCKET;
+  soap->errmode = 0;
+  soap->keep_alive = 0;
+  if (!soap_valid_socket(soap->master))
+  { soap->errnum = 0;
+    soap_set_receiver_error(soap, tcp_error(soap), "no master socket in soap_accept()", SOAP_TCP_ERROR);
+    return SOAP_INVALID_SOCKET;
+  }
+#ifndef WITH_LEAN
+  if ((soap->omode & SOAP_IO_UDP))
+    return soap->socket = soap->master;
+#endif
+  for (;;)
+  { if (soap->accept_timeout || soap->send_timeout || soap->recv_timeout)
+    { for (;;)
+      { register int r;
+        r = tcp_select(soap, soap->master, SOAP_TCP_SELECT_ALL, soap->accept_timeout ? soap->accept_timeout : 60);
+        if (r > 0)
+          break;
+        if (!r && soap->accept_timeout)
+        { soap_set_receiver_error(soap, "Timeout", "accept failed in soap_accept()", SOAP_TCP_ERROR);
+          return SOAP_INVALID_SOCKET;
+        }
+        if (r < 0)
+        { r = soap->errnum;
+          if (r != SOAP_EINTR)
+          { soap_closesock(soap);
+            soap_set_sender_error(soap, tcp_error(soap), "accept failed in soap_accept()", SOAP_TCP_ERROR);
+            return SOAP_INVALID_SOCKET;
+          }
+        }
+      }
+    }
+    if (soap->accept_timeout)
+      SOAP_SOCKNONBLOCK(soap->master)
+    else
+      SOAP_SOCKBLOCK(soap->master)
+    soap->socket = soap->faccept(soap, soap->master, (struct sockaddr*)&soap->peer, &n);
+    soap->peerlen = (size_t)n;
+    if (soap_valid_socket(soap->socket))
+    {
+#ifdef WITH_IPV6
+      unsigned int ip1, ip2, ip3, ip4;
+      char port[16];
+      getnameinfo((struct sockaddr*)&soap->peer, n, soap->host, sizeof(soap->host), port, 16, NI_NUMERICHOST | NI_NUMERICSERV);
+      sscanf(soap->host, "%u.%u.%u.%u", &ip1, &ip2, &ip3, &ip4);
+      soap->ip = (unsigned long)ip1 << 24 | (unsigned long)ip2 << 16 | (unsigned long)ip3 << 8 | (unsigned long)ip4;
+      soap->port = soap_strtol(port, NULL, 10);
+#else
+      soap->ip = ntohl(soap->peer.sin_addr.s_addr);
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->host, sizeof(soap->host), "%u.%u.%u.%u", (int)(soap->ip>>24)&0xFF, (int)(soap->ip>>16)&0xFF, (int)(soap->ip>>8)&0xFF, (int)soap->ip&0xFF);
+#else
+      sprintf(soap->host, "%u.%u.%u.%u", (int)(soap->ip>>24)&0xFF, (int)(soap->ip>>16)&0xFF, (int)(soap->ip>>8)&0xFF, (int)soap->ip&0xFF);
+#endif
+      soap->port = (int)ntohs(soap->peer.sin_port); /* does not return port number on some systems */
+#endif
+      DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Accept socket=%d at port=%d from IP='%s'\n", soap->socket, soap->port, soap->host));
+#ifndef WITH_LEAN
+      if (soap->accept_flags == SO_LINGER)
+      { struct linger linger;
+        memset((void*)&linger, 0, sizeof(linger));
+        linger.l_onoff = 1;
+        linger.l_linger = soap->linger_time;
+        if (setsockopt(soap->socket, SOL_SOCKET, SO_LINGER, (char*)&linger, sizeof(struct linger)))
+        { soap->errnum = soap_socket_errno(soap->socket);
+          soap_set_receiver_error(soap, tcp_error(soap), "setsockopt SO_LINGER failed in soap_accept()", SOAP_TCP_ERROR);
+          soap_closesock(soap);
+          return SOAP_INVALID_SOCKET;
+        }
+      }
+      else if (soap->accept_flags && setsockopt(soap->socket, SOL_SOCKET, soap->accept_flags, (char*)&set, sizeof(int)))
+      { soap->errnum = soap_socket_errno(soap->socket);
+        soap_set_receiver_error(soap, tcp_error(soap), "setsockopt failed in soap_accept()", SOAP_TCP_ERROR);
+        soap_closesock(soap);
+        return SOAP_INVALID_SOCKET;
+      }
+      if (((soap->imode | soap->omode) & SOAP_IO_KEEPALIVE) && setsockopt(soap->socket, SOL_SOCKET, SO_KEEPALIVE, (char*)&set, sizeof(int)))
+      { soap->errnum = soap_socket_errno(soap->socket);
+        soap_set_receiver_error(soap, tcp_error(soap), "setsockopt SO_KEEPALIVE failed in soap_accept()", SOAP_TCP_ERROR);
+        soap_closesock(soap);
+        return SOAP_INVALID_SOCKET;
+      }
+      if (setsockopt(soap->socket, SOL_SOCKET, SO_SNDBUF, (char*)&len, sizeof(int)))
+      { soap->errnum = soap_socket_errno(soap->socket);
+        soap_set_receiver_error(soap, tcp_error(soap), "setsockopt SO_SNDBUF failed in soap_accept()", SOAP_TCP_ERROR);
+        soap_closesock(soap);
+        return SOAP_INVALID_SOCKET;
+      }
+      if (setsockopt(soap->socket, SOL_SOCKET, SO_RCVBUF, (char*)&len, sizeof(int)))
+      { soap->errnum = soap_socket_errno(soap->socket);
+        soap_set_receiver_error(soap, tcp_error(soap), "setsockopt SO_RCVBUF failed in soap_accept()", SOAP_TCP_ERROR);
+        soap_closesock(soap);
+        return SOAP_INVALID_SOCKET;
+      }
+#ifdef TCP_NODELAY
+      if (setsockopt(soap->socket, IPPROTO_TCP, TCP_NODELAY, (char*)&set, sizeof(int)))
+      { soap->errnum = soap_socket_errno(soap->socket);
+        soap_set_receiver_error(soap, tcp_error(soap), "setsockopt TCP_NODELAY failed in soap_accept()", SOAP_TCP_ERROR);
+        soap_closesock(soap);
+        return SOAP_INVALID_SOCKET;
+      }
+#endif
+#endif
+      soap->keep_alive = (((soap->imode | soap->omode) & SOAP_IO_KEEPALIVE) != 0);
+      if (soap->send_timeout || soap->recv_timeout)
+        SOAP_SOCKNONBLOCK(soap->socket)
+      else
+        SOAP_SOCKBLOCK(soap->socket)
+      return soap->socket;
+    }
+    err = soap_socket_errno(soap->socket);
+    if (err != 0 && err != SOAP_EINTR && err != SOAP_EAGAIN && err != SOAP_EWOULDBLOCK)
+    { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Accept failed from %s\n", soap->host));
+      soap->errnum = err;
+      soap_set_receiver_error(soap, tcp_error(soap), "accept failed in soap_accept()", SOAP_TCP_ERROR);
+      soap_closesock(soap);
+      return SOAP_INVALID_SOCKET;
+    }
+  }
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_closesock(struct soap *soap)
+{ register int status = soap->error;
+#ifndef WITH_LEANER
+  if (status) /* close on error: attachment state is not to be trusted */
+  { soap->mime.first = NULL;
+    soap->mime.last = NULL;
+    soap->dime.first = NULL;
+    soap->dime.last = NULL;
+  }
+#endif
+  if (soap->fdisconnect && (soap->error = soap->fdisconnect(soap)))
+    return soap->error;
+  if (status == SOAP_EOF || status == SOAP_TCP_ERROR || status == SOAP_SSL_ERROR || !soap->keep_alive)
+  { if (soap->fclose && (soap->error = soap->fclose(soap)))
+      return soap->error;
+    soap->keep_alive = 0;
+  }
+#ifdef WITH_ZLIB
+  if (!(soap->mode & SOAP_MIME_POSTCHECK))
+  { if (soap->zlib_state == SOAP_ZLIB_DEFLATE)
+      deflateEnd(soap->d_stream);
+    else if (soap->zlib_state == SOAP_ZLIB_INFLATE)
+      inflateEnd(soap->d_stream);
+    soap->zlib_state = SOAP_ZLIB_NONE;
+  }
+#endif
+  return soap->error = status;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_force_closesock(struct soap *soap)
+{ soap->keep_alive = 0;
+  if (soap_valid_socket(soap->socket))
+    return soap_closesocket(soap->socket);
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_cleanup(struct soap *soap)
+{ soap_done(soap);
+#ifdef WIN32
+  if (!tcp_done)
+    return;
+  tcp_done = 0;
+  WSACleanup();
+#endif
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_done(struct soap *soap)
+{
+#ifdef SOAP_DEBUG
+  int i;
+#endif
+  if (soap_check_state(soap))
+    return;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Done with context%s\n", soap->state == SOAP_COPY ? " copy" : ""));
+  soap_free_temp(soap);
+  while (soap->clist)
+  { struct soap_clist *p = soap->clist->next;
+    SOAP_FREE(soap, soap->clist);
+    soap->clist = p;
+  }
+  if (soap->state == SOAP_INIT)
+    soap->omode &= ~SOAP_IO_UDP; /* to force close the socket */
+  soap->keep_alive = 0; /* to force close the socket */
+  if (soap->master == soap->socket) /* do not close twice */
+    soap->master = SOAP_INVALID_SOCKET;
+  soap_closesock(soap);
+#ifdef WITH_COOKIES
+  soap_free_cookies(soap);
+#endif
+  while (soap->plugins)
+  { register struct soap_plugin *p = soap->plugins->next;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Removing plugin '%s'\n", soap->plugins->id));
+    if (soap->plugins->fcopy || soap->state == SOAP_INIT)
+      soap->plugins->fdelete(soap, soap->plugins);
+    SOAP_FREE(soap, soap->plugins);
+    soap->plugins = p;
+  }
+  soap->fplugin = fplugin;
+  soap->fmalloc = NULL;
+#ifndef WITH_NOHTTP
+  soap->fpost = http_post;
+  soap->fget = http_get;
+  soap->fput = http_405;
+  soap->fdel = http_405;
+  soap->fopt = http_200;
+  soap->fhead = http_200;
+  soap->fform = NULL;
+  soap->fposthdr = http_post_header;
+  soap->fresponse = http_response;
+  soap->fparse = http_parse;
+  soap->fparsehdr = http_parse_header;
+#endif
+  soap->fheader = NULL;
+#ifndef WITH_NOIO
+#ifndef WITH_IPV6
+  soap->fresolve = tcp_gethost;
+#else
+  soap->fresolve = NULL;
+#endif
+  soap->faccept = tcp_accept;
+  soap->fopen = tcp_connect;
+  soap->fclose = tcp_disconnect;
+  soap->fclosesocket = tcp_closesocket;
+  soap->fshutdownsocket = tcp_shutdownsocket;
+  soap->fsend = fsend;
+  soap->frecv = frecv;
+  soap->fpoll = soap_poll;
+#else
+  soap->fopen = NULL;
+  soap->fclose = NULL;
+  soap->fpoll = NULL;
+#endif
+#ifndef WITH_LEANER
+  soap->feltbegin = NULL;
+  soap->feltendin = NULL;
+  soap->feltbegout = NULL;
+  soap->feltendout = NULL;
+  soap->fprepareinitsend = NULL;
+  soap->fprepareinitrecv = NULL;
+  soap->fpreparesend = NULL;
+  soap->fpreparerecv = NULL;
+  soap->fpreparefinalsend = NULL;
+  soap->fpreparefinalrecv = NULL;
+  soap->ffiltersend = NULL;
+  soap->ffilterrecv = NULL;
+#endif
+  soap->fseterror = NULL;
+  soap->fignore = NULL;
+  soap->fserveloop = NULL;
+#ifdef WITH_OPENSSL
+  if (soap->session)
+  { SSL_SESSION_free(soap->session);
+    soap->session = NULL;
+  }
+#endif
+  if (soap->state == SOAP_INIT)
+  { if (soap_valid_socket(soap->master))
+    { soap->fclosesocket(soap, soap->master);
+      soap->master = SOAP_INVALID_SOCKET;
+    }
+  }
+#ifdef WITH_OPENSSL
+  if (soap->ssl)
+  { SSL_free(soap->ssl);
+    soap->ssl = NULL;
+  }
+  if (soap->state == SOAP_INIT)
+  { if (soap->ctx)
+    { SSL_CTX_free(soap->ctx);
+      soap->ctx = NULL;
+    }
+  }
+  ERR_remove_state(0);
+#endif
+#ifdef WITH_GNUTLS
+  if (soap->state == SOAP_INIT)
+  { if (soap->xcred)
+    { gnutls_certificate_free_credentials(soap->xcred);
+      soap->xcred = NULL;
+    }
+    if (soap->acred)
+    { gnutls_anon_free_client_credentials(soap->acred);
+      soap->acred = NULL;
+    }
+    if (soap->cache)
+    { gnutls_priority_deinit(soap->cache);
+      soap->cache = NULL;
+    }
+    if (soap->dh_params)
+    { gnutls_dh_params_deinit(soap->dh_params);
+      soap->dh_params = NULL;
+    }
+    if (soap->rsa_params)
+    { gnutls_rsa_params_deinit(soap->rsa_params);
+      soap->rsa_params = NULL;
+    }
+  }
+  if (soap->session)
+  { gnutls_deinit(soap->session);
+    soap->session = NULL;
+  }
+#endif
+#ifdef WITH_C_LOCALE
+# ifdef WIN32
+  _free_locale(soap->c_locale);
+# else
+  freelocale(soap->c_locale);
+# endif
+#endif
+#ifdef WITH_ZLIB
+  if (soap->d_stream)
+  { SOAP_FREE(soap, (void*)soap->d_stream);
+    soap->d_stream = NULL;
+  }
+  if (soap->z_buf)
+  { SOAP_FREE(soap, (void*)soap->z_buf);
+    soap->z_buf = NULL;
+  }
+#endif
+#ifdef SOAP_DEBUG
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Free logfiles\n"));
+  for (i = 0; i < SOAP_MAXLOGS; i++)
+  { if (soap->logfile[i])
+    { SOAP_FREE(soap, (void*)soap->logfile[i]);
+      soap->logfile[i] = NULL;
+    }
+    soap_close_logfile(soap, i);
+  }
+  soap->state = SOAP_NONE;
+#endif
+#ifdef SOAP_MEM_DEBUG
+  soap_free_mht(soap);
+#endif
+}
+#endif
+
+/******************************************************************************\
+ *
+ *	HTTP
+ *
+\******************************************************************************/
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static int
+http_parse(struct soap *soap)
+{ char header[SOAP_HDRLEN], *s;
+  unsigned short httpcmd = 0;
+  int status = 0;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Waiting for HTTP request/response...\n"));
+  *soap->endpoint = '\0';
+#ifdef WITH_NTLM
+  if (!soap->ntlm_challenge)
+#endif
+  { soap->userid = NULL;
+    soap->passwd = NULL;
+    soap->authrealm = NULL;
+  }
+#ifdef WITH_NTLM
+  soap->ntlm_challenge = NULL;
+#endif
+  soap->proxy_from = NULL;
+  do
+  { soap->length = 0;
+    soap->http_content = NULL;
+    soap->action = NULL;
+    soap->status = 0;
+    soap->body = 1;
+    if (soap_getline(soap, soap->msgbuf, sizeof(soap->msgbuf)))
+    { if (soap->error == SOAP_EOF)
+        return SOAP_EOF;
+      return soap->error = 414;
+    }
+    if ((s = strchr(soap->msgbuf, ' ')))
+    { soap->status = (unsigned short)soap_strtoul(s, &s, 10);
+      if (!soap_blank((soap_wchar)*s))
+        soap->status = 0;
+    }
+    else
+      soap->status = 0;
+    DBGLOG(TEST,SOAP_MESSAGE(fdebug, "HTTP status: %s\n", soap->msgbuf));
+    for (;;)
+    { if (soap_getline(soap, header, SOAP_HDRLEN))
+      { if (soap->error == SOAP_EOF)
+        { soap->error = SOAP_OK;
+          DBGLOG(TEST,SOAP_MESSAGE(fdebug, "EOF in HTTP header, continue anyway\n"));
+          break;
+        }
+        return soap->error;
+      }
+      if (!*header)
+        break;
+      DBGLOG(TEST,SOAP_MESSAGE(fdebug, "HTTP header: %s\n", header));
+      s = strchr(header, ':');
+      if (s)
+      { char *t;
+        *s = '\0';
+        do s++;
+        while (*s && *s <= 32);
+        if (*s == '"')
+          s++;
+        t = s + strlen(s) - 1;
+        while (t > s && *t <= 32)
+          t--;
+        if (t >= s && *t == '"')
+          t--;
+        t[1] = '\0';
+        if ((soap->error = soap->fparsehdr(soap, header, s)))
+        { if (soap->error < SOAP_STOP)
+            return soap->error;
+          status = soap->error;
+          soap->error = SOAP_OK;
+        }
+      }
+    }
+  } while (soap->status == 100);
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Finished HTTP header parsing, status = %d\n", soap->status));
+  s = strstr(soap->msgbuf, "HTTP/");
+  if (s && s[7] != '1')
+  { if (soap->keep_alive == 1)
+      soap->keep_alive = 0;
+    if (soap->status == 0 && (soap->omode & SOAP_IO) == SOAP_IO_CHUNK) /* soap->status == 0 for HTTP request */
+      soap->omode = (soap->omode & ~SOAP_IO) | SOAP_IO_STORE; /* HTTP 1.0 does not support chunked transfers */
+  }
+  if (soap->keep_alive < 0)
+    soap->keep_alive = 1;
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Keep alive connection = %d\n", soap->keep_alive));
+  if (soap->status == 0)
+  { size_t l = 0;
+    if (s)
+    { if (!strncmp(soap->msgbuf, "POST ", l = 5))
+        httpcmd = 1;
+      else if (!strncmp(soap->msgbuf, "PUT ", l = 4))
+        httpcmd = 2;
+      else if (!strncmp(soap->msgbuf, "GET ", l = 4))
+        httpcmd = 3;
+      else if (!strncmp(soap->msgbuf, "DELETE ", l = 7))
+        httpcmd = 4;
+      else if (!strncmp(soap->msgbuf, "OPTIONS ", l = 8))
+        httpcmd = 5;
+      else if (!strncmp(soap->msgbuf, "HEAD ", l = 5))
+        httpcmd = 6;
+    }
+    if (s && httpcmd)
+    { size_t m = strlen(soap->endpoint);
+      size_t n = m + (s - soap->msgbuf) - l - 1;
+      size_t k;
+      if (n >= sizeof(soap->endpoint))
+        n = sizeof(soap->endpoint) - 1;
+      if (m > n)
+        m = n;
+      k = n - m + 1;
+      if (k > sizeof(soap->path))
+        k = sizeof(soap->path);
+      strncpy(soap->path, soap->msgbuf + l, k);
+      soap->path[k - 1] = '\0';
+      if (*soap->path && *soap->path != '/')
+        *soap->endpoint = '\0';
+      strcat(soap->endpoint, soap->path);
+      DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Target endpoint='%s'\n", soap->endpoint));
+      if (httpcmd > 1)
+      { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "HTTP %s handler\n", soap->msgbuf));
+        switch (httpcmd)
+        { case  2: soap->error = soap->fput(soap); break;
+          case  3: soap->error = soap->fget(soap); break;
+          case  4: soap->error = soap->fdel(soap); break;
+          case  5: soap->error = soap->fopt(soap); break;
+          case  6: soap->error = soap->fhead(soap); break;
+          default: soap->error = 405; break;
+        }
+        DBGLOG(TEST,SOAP_MESSAGE(fdebug, "HTTP handler return = %d\n", soap->error));
+        if (soap->error == SOAP_OK)
+          soap->error = SOAP_STOP; /* prevents further processing */
+        return soap->error;
+      }
+      if (status)
+        return soap->error = status;
+    }
+    else if (status)
+      return soap->error = status;
+    else if (s)
+      return soap->error = 405;
+    return SOAP_OK;
+  }
+#if 0
+  if (soap->length > 0 || (soap->http_content && (!soap->keep_alive || soap->recv_timeout)) || (soap->imode & SOAP_IO) == SOAP_IO_CHUNK)
+#endif
+  if (soap->body)
+  { if ((soap->status >= 200 && soap->status <= 299) /* OK, Accepted, etc */
+     || soap->status == 400                          /* Bad Request */
+     || soap->status == 500)                         /* Internal Server Error */
+      return SOAP_OK;
+    /* force close afterwards in soap_closesock() */
+    soap->keep_alive = 0;
+#ifndef WITH_LEAN
+    /* read HTTP body for error details */
+    s = soap_get_http_body(soap, NULL);
+    if (s)
+      return soap_set_receiver_error(soap, soap->msgbuf, s, soap->status);
+#endif
+  }
+  else if (soap->status >= 200 && soap->status <= 299)
+    return soap->error = soap->status;
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "HTTP error %d\n", soap->status));
+  return soap_set_receiver_error(soap, "HTTP Error", soap->msgbuf, soap->status);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static int
+http_parse_header(struct soap *soap, const char *key, const char *val)
+{ if (!soap_tag_cmp(key, "Host"))
+  {
+#if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
+    if (soap->imode & SOAP_ENC_SSL)
+      strcpy(soap->endpoint, "https://");
+    else
+#endif
+      strcpy(soap->endpoint, "http://");
+    strncat(soap->endpoint, val, sizeof(soap->endpoint) - 8);
+  }
+#ifndef WITH_LEANER
+  else if (!soap_tag_cmp(key, "Content-Type"))
+  { const char *action;
+    soap->http_content = soap_strdup(soap, val);
+    if (soap_get_header_attribute(soap, val, "application/dime"))
+      soap->imode |= SOAP_ENC_DIME;
+    else if (soap_get_header_attribute(soap, val, "multipart/related")
+          || soap_get_header_attribute(soap, val, "multipart/form-data"))
+    { soap->mime.boundary = soap_strdup(soap, soap_get_header_attribute(soap, val, "boundary"));
+      soap->mime.start = soap_strdup(soap, soap_get_header_attribute(soap, val, "start"));
+      soap->imode |= SOAP_ENC_MIME;
+    }
+    action = soap_get_header_attribute(soap, val, "action");
+    if (action)
+    { if (*action == '"')
+      { soap->action = soap_strdup(soap, action + 1);
+        if (*soap->action)
+          soap->action[strlen(soap->action) - 1] = '\0';
+      }
+      else
+        soap->action = soap_strdup(soap, action);
+    }
+  }
+#endif
+  else if (!soap_tag_cmp(key, "Content-Length"))
+  { soap->length = soap_strtoul(val, NULL, 10);
+    if (!soap->length)
+      soap->body = 0;
+  }
+  else if (!soap_tag_cmp(key, "Content-Encoding"))
+  { if (!soap_tag_cmp(val, "deflate"))
+#ifdef WITH_ZLIB
+      soap->zlib_in = SOAP_ZLIB_DEFLATE;
+#else
+      return SOAP_ZLIB_ERROR;
+#endif
+    else if (!soap_tag_cmp(val, "gzip"))
+#ifdef WITH_GZIP
+      soap->zlib_in = SOAP_ZLIB_GZIP;
+#else
+      return SOAP_ZLIB_ERROR;
+#endif
+  }
+#ifdef WITH_ZLIB
+  else if (!soap_tag_cmp(key, "Accept-Encoding"))
+  {
+#ifdef WITH_GZIP
+    if (strchr(val, '*') || soap_get_header_attribute(soap, val, "gzip"))
+      soap->zlib_out = SOAP_ZLIB_GZIP;
+    else
+#endif
+    if (strchr(val, '*') || soap_get_header_attribute(soap, val, "deflate"))
+      soap->zlib_out = SOAP_ZLIB_DEFLATE;
+    else
+      soap->zlib_out = SOAP_ZLIB_NONE;
+  }
+#endif
+  else if (!soap_tag_cmp(key, "Transfer-Encoding"))
+  { soap->imode &= ~SOAP_IO;
+    if (!soap_tag_cmp(val, "chunked"))
+      soap->imode |= SOAP_IO_CHUNK;
+  }
+  else if (!soap_tag_cmp(key, "Connection"))
+  { if (!soap_tag_cmp(val, "keep-alive"))
+      soap->keep_alive = -soap->keep_alive;
+    else if (!soap_tag_cmp(val, "close"))
+      soap->keep_alive = 0;
+  }
+#ifndef WITH_LEAN
+  else if (!soap_tag_cmp(key, "Authorization") || !soap_tag_cmp(key, "Proxy-Authorization"))
+  {
+#ifdef WITH_NTLM
+    if (!soap_tag_cmp(val, "NTLM*"))
+      soap->ntlm_challenge = soap_strdup(soap, val + 4);
+    else
+#endif
+    if (!soap_tag_cmp(val, "Basic *"))
+    { int n;
+      char *s;
+      soap_base642s(soap, val + 6, soap->tmpbuf, sizeof(soap->tmpbuf) - 1, &n);
+      soap->tmpbuf[n] = '\0';
+      if ((s = strchr(soap->tmpbuf, ':')))
+      { *s = '\0';
+        soap->userid = soap_strdup(soap, soap->tmpbuf);
+        soap->passwd = soap_strdup(soap, s + 1);
+      }
+    }
+  }
+  else if (!soap_tag_cmp(key, "WWW-Authenticate") || !soap_tag_cmp(key, "Proxy-Authenticate"))
+  {
+#ifdef WITH_NTLM
+    if (!soap_tag_cmp(val, "NTLM*"))
+      soap->ntlm_challenge = soap_strdup(soap, val + 4);
+    else
+#endif
+      soap->authrealm = soap_strdup(soap, soap_get_header_attribute(soap, val + 6, "realm"));
+  }
+  else if (!soap_tag_cmp(key, "Expect"))
+  { if (!soap_tag_cmp(val, "100-continue"))
+    { if ((soap->error = soap->fposthdr(soap, "HTTP/1.1 100 Continue", NULL))
+       || (soap->error = soap->fposthdr(soap, NULL, NULL)))
+        return soap->error;
+    }
+  }
+#endif
+  else if (!soap_tag_cmp(key, "SOAPAction"))
+  { if (*val == '"')
+    { soap->action = soap_strdup(soap, val + 1);
+      if (*soap->action)
+        soap->action[strlen(soap->action) - 1] = '\0';
+    }
+    else
+      soap->action = soap_strdup(soap, val);
+  }
+  else if (!soap_tag_cmp(key, "Location"))
+  { strncpy(soap->endpoint, val, sizeof(soap->endpoint));
+    soap->endpoint[sizeof(soap->endpoint) - 1] = '\0';
+  }
+  else if (!soap_tag_cmp(key, "X-Forwarded-For"))
+  { soap->proxy_from = soap_strdup(soap, val);
+  }
+#ifdef WITH_COOKIES
+  else if (!soap_tag_cmp(key, "Cookie")
+   || !soap_tag_cmp(key, "Cookie2")
+   || !soap_tag_cmp(key, "Set-Cookie")
+   || !soap_tag_cmp(key, "Set-Cookie2"))
+  { soap_getcookies(soap, val);
+  }
+#endif
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#if !defined(WITH_NOHTTP) || !defined(WITH_LEANER)
+#ifndef PALM_1
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_get_header_attribute(struct soap *soap, const char *line, const char *key)
+{ register const char *s = line;
+  if (s)
+  { while (*s)
+    { register short flag;
+      s = soap_decode_key(soap->tmpbuf, sizeof(soap->tmpbuf), s);
+      flag = soap_tag_cmp(soap->tmpbuf, key);
+      s = soap_decode_val(soap->tmpbuf, sizeof(soap->tmpbuf), s);
+      if (!flag)
+        return soap->tmpbuf;
+    }
+  }
+  return NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#if !defined(WITH_NOHTTP) || !defined(WITH_LEANER)
+#ifndef PALM_1
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_decode_key(char *buf, size_t len, const char *val)
+{ return soap_decode(buf, len, val, "=,;");
+}
+#endif
+#endif
+
+/******************************************************************************/
+#if !defined(WITH_NOHTTP) || !defined(WITH_LEANER)
+#ifndef PALM_1
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_decode_val(char *buf, size_t len, const char *val)
+{ if (*val != '=')
+  { *buf = '\0';
+    return val;
+  }
+  return soap_decode(buf, len, val + 1, ",;");
+}
+#endif
+#endif
+
+/******************************************************************************/
+#if !defined(WITH_NOHTTP) || !defined(WITH_LEANER)
+#ifndef PALM_1
+static const char*
+soap_decode(char *buf, size_t len, const char *val, const char *sep)
+{ const char *s;
+  char *t = buf;
+  size_t i = len;
+  for (s = val; *s; s++)
+    if (*s != ' ' && *s != '\t' && !strchr(sep, *s))
+      break;
+  if (len > 0)
+  { if (*s == '"')
+    { s++;
+      while (*s && *s != '"' && --i)
+        *t++ = *s++;
+    }
+    else
+    { while (*s && !soap_blank((soap_wchar)*s) && !strchr(sep, *s) && --i)
+      { if (*s == '%' && s[1] && s[2])
+        { *t++ = ((s[1] >= 'A' ? (s[1] & 0x7) + 9 : s[1] - '0') << 4)
+                + (s[2] >= 'A' ? (s[2] & 0x7) + 9 : s[2] - '0');
+          s += 3;
+        }
+        else
+          *t++ = *s++;
+      }
+    }
+    buf[len - 1] = '\0'; /* appease */
+  }
+  *t = '\0';
+  while (*s && !strchr(sep, *s))
+    s++;
+  return s;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static const char*
+http_error(struct soap *soap, int status)
+{ register const char *msg = SOAP_STR_EOS;
+  (void)soap;
+#ifndef WITH_LEAN
+  msg = soap_code_str(h_http_error_codes, status);
+  if (!msg)
+    msg = SOAP_STR_EOS;
+#endif
+  return msg;
+}
+#endif
+#endif
+
+/******************************************************************************/
+
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static int
+http_get(struct soap *soap)
+{ (void)soap;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "HTTP GET request\n"));
+  return SOAP_GET_METHOD;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static int
+http_405(struct soap *soap)
+{ (void)soap;
+  return 405;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static int
+http_200(struct soap *soap)
+{ return soap_send_empty_response(soap, 200);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static int
+http_post(struct soap *soap, const char *endpoint, const char *host, int port, const char *path, const char *action, size_t count)
+{ register const char *s;
+  register int err;
+  switch (soap->status)
+  { case SOAP_GET: 
+      s = "GET";
+      break;
+    case SOAP_PUT: 
+      s = "PUT";
+      break;
+    case SOAP_DEL: 
+      s = "DELETE";
+      break;
+    case SOAP_CONNECT:
+      s = "CONNECT";
+      break;
+    default:
+      s = "POST";
+  }
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "HTTP %s to %s\n", s, endpoint ? endpoint : "(null)"));
+#ifdef PALM
+  if (!endpoint || (soap_tag_cmp(endpoint, "http:*") && soap_tag_cmp(endpoint, "https:*") && strncmp(endpoint, "httpg:", 6)) && strncmp(endpoint, "_beam:", 6) && strncmp(endpoint, "_local:", 7) && strncmp(endpoint, "_btobex:", 8))
+#else
+  if (!endpoint || (soap_tag_cmp(endpoint, "http:*") && soap_tag_cmp(endpoint, "https:*") && strncmp(endpoint, "httpg:", 6)))
+#endif
+    return SOAP_OK;
+  if (strlen(endpoint) + strlen(soap->http_version) > sizeof(soap->tmpbuf) - 80
+   || strlen(host) + strlen(soap->http_version) > sizeof(soap->tmpbuf) - 80)
+    return soap->error = SOAP_EOM; /* prevent overrun (note that 'host' and 'soap->host' are substrings of 'endpoint') */
+  if (soap->status == SOAP_CONNECT)
+  {
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "%s %s:%d HTTP/%s", s, soap->host, soap->port, soap->http_version);
+#else
+    sprintf(soap->tmpbuf, "%s %s:%d HTTP/%s", s, soap->host, soap->port, soap->http_version);
+#endif
+  }
+  else if (soap->proxy_host && endpoint)
+  {
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "%s %s HTTP/%s", s, endpoint, soap->http_version);
+#else
+    sprintf(soap->tmpbuf, "%s %s HTTP/%s", s, endpoint, soap->http_version);
+#endif
+  }
+  else
+  {
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "%s /%s HTTP/%s", s, (*path == '/' ? path + 1 : path), soap->http_version);
+#else
+    sprintf(soap->tmpbuf, "%s /%s HTTP/%s", s, (*path == '/' ? path + 1 : path), soap->http_version);
+#endif
+  }
+  if ((err = soap->fposthdr(soap, soap->tmpbuf, NULL)))
+    return err;
+#ifdef WITH_OPENSSL
+  if ((soap->ssl && port != 443) || (!soap->ssl && port != 80))
+#else
+  if (port != 80)
+#endif
+  {
+#ifdef WITH_IPV6
+    if (*host != '[' && strchr(host, ':'))
+    {
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "[%s]:%d", host, port); /* RFC 2732 */
+#else
+      sprintf(soap->tmpbuf, "[%s]:%d", host, port); /* RFC 2732 */
+#endif
+    }
+    else
+#endif
+    {
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "%s:%d", host, port);
+#else
+      sprintf(soap->tmpbuf, "%s:%d", host, port);
+#endif
+    }
+  }
+  else
+  {
+#ifdef WITH_IPV6
+    if (*host != '[' && strchr(host, ':'))
+    {
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "[%s]", host); /* RFC 2732 */
+#else
+      sprintf(soap->tmpbuf, "[%s]", host); /* RFC 2732 */
+#endif
+    }
+    else
+#endif
+      strcpy(soap->tmpbuf, host);
+  }
+  if ((err = soap->fposthdr(soap, "Host", soap->tmpbuf)))
+    return err;
+  if ((err = soap->fposthdr(soap, "User-Agent", "gSOAP/2.8")))
+    return err;
+  if ((err = soap_puthttphdr(soap, SOAP_OK, count)))
+    return err;
+#ifdef WITH_ZLIB
+#ifdef WITH_GZIP
+  if ((err = soap->fposthdr(soap, "Accept-Encoding", "gzip, deflate")))
+#else
+  if ((err = soap->fposthdr(soap, "Accept-Encoding", "deflate")))
+#endif
+    return err;
+#endif
+#ifndef WITH_LEAN
+#ifdef WITH_NTLM
+  if (soap->ntlm_challenge && strlen(soap->ntlm_challenge) + 6 < sizeof(soap->tmpbuf))
+  { if (*soap->ntlm_challenge)
+    { 
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "NTLM %s", soap->ntlm_challenge);
+#else
+      sprintf(soap->tmpbuf, "NTLM %s", soap->ntlm_challenge);
+#endif
+      if (soap->proxy_host)
+      { if ((err = soap->fposthdr(soap, "Proxy-Authorization", soap->tmpbuf)))
+          return err;
+      }
+      else if ((err = soap->fposthdr(soap, "Authorization", soap->tmpbuf)))
+        return err;
+    }
+  }
+  else
+  {
+#endif
+  if (soap->userid && soap->passwd && strlen(soap->userid) + strlen(soap->passwd) < 761)
+  { strcpy(soap->tmpbuf, "Basic ");
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf + 262, sizeof(soap->tmpbuf) - 262, "%s:%s", soap->userid, soap->passwd);
+#else
+    sprintf(soap->tmpbuf + 262, "%s:%s", soap->userid, soap->passwd);
+#endif
+    soap_s2base64(soap, (const unsigned char*)(soap->tmpbuf + 262), soap->tmpbuf + 6, (int)strlen(soap->tmpbuf + 262));
+    if ((err = soap->fposthdr(soap, "Authorization", soap->tmpbuf)))
+      return err;
+  }
+  if (soap->proxy_userid && soap->proxy_passwd && strlen(soap->proxy_userid) + strlen(soap->proxy_passwd) < 761)
+  { strcpy(soap->tmpbuf, "Basic ");
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf + 262, sizeof(soap->tmpbuf) - 262, "%s:%s", soap->proxy_userid, soap->proxy_passwd);
+#else
+    sprintf(soap->tmpbuf + 262, "%s:%s", soap->proxy_userid, soap->proxy_passwd);
+#endif
+    soap_s2base64(soap, (const unsigned char*)(soap->tmpbuf + 262), soap->tmpbuf + 6, (int)strlen(soap->tmpbuf + 262));
+    if ((err = soap->fposthdr(soap, "Proxy-Authorization", soap->tmpbuf)))
+      return err;
+  }
+#ifdef WITH_NTLM
+  }
+#endif
+#endif
+#ifdef WITH_COOKIES
+#ifdef WITH_OPENSSL
+  if (soap_putcookies(soap, host, path, soap->ssl != NULL))
+    return soap->error;
+#else
+  if (soap_putcookies(soap, host, path, 0))
+    return soap->error;
+#endif
+#endif
+  if (action && soap->status != SOAP_GET && soap->status != SOAP_DEL)
+  {
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "\"%s\"", action);
+#else
+    sprintf(soap->tmpbuf, "\"%s\"", strlen(action) < sizeof(soap->tmpbuf) - 3 ? action : SOAP_STR_EOS);
+#endif
+    if ((err = soap->fposthdr(soap, "SOAPAction", soap->tmpbuf)))
+      return err;
+  }
+  return soap->fposthdr(soap, NULL, NULL);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static int
+http_send_header(struct soap *soap, const char *s)
+{ register const char *t;
+  do
+  { t = strchr(s, '\n'); /* disallow \n in HTTP headers */
+    if (!t)
+      t = s + strlen(s);
+    if (soap_send_raw(soap, s, t - s))
+      return soap->error;
+    s = t + 1;
+  } while (*t);
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static int
+http_post_header(struct soap *soap, const char *key, const char *val)
+{ if (key)
+  { if (http_send_header(soap, key))
+      return soap->error;
+    if (val && (soap_send_raw(soap, ": ", 2) || http_send_header(soap, val)))
+      return soap->error;
+  }
+  return soap_send_raw(soap, "\r\n", 2);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+static int
+http_response(struct soap *soap, int status, size_t count)
+{ register int err;
+  char http[10];
+  int code = status;
+  const char *line;
+#ifdef WMW_RPM_IO
+  if (soap->rpmreqid)
+    httpOutputEnable(soap->rpmreqid);
+#endif
+  if (!soap->http_version || strlen(soap->http_version) > 4)
+    return soap->error = SOAP_EOM;
+#ifdef WMW_RPM_IO
+  if (soap->rpmreqid || soap_valid_socket(soap->master) || soap_valid_socket(soap->socket)) /* RPM behaves as if standalone */
+#else
+  if (soap_valid_socket(soap->master) || soap_valid_socket(soap->socket)) /* standalone application (socket) or CGI (stdin/out)? */
+#endif
+  {
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(http, sizeof(http), "HTTP/%s", soap->http_version);
+#else
+    sprintf(http, "HTTP/%s", soap->http_version);
+#endif
+  }
+  else
+    strcpy(http, "Status:");
+  if (!status || status == SOAP_HTML || status == SOAP_FILE)
+  { if (count || ((soap->omode & SOAP_IO) == SOAP_IO_CHUNK))
+      code = 200;
+    else
+      code = 202;
+  }
+  else if (status < 200 || status >= 600)
+  { const char *s = *soap_faultcode(soap);
+    if (status >= SOAP_GET_METHOD && status <= SOAP_HTTP_METHOD)
+      code = 405;
+    else if (soap->version == 2 && (!s || !strcmp(s, "SOAP-ENV:Sender")))
+      code = 400;
+    else
+      code = 500;
+  }
+  line = http_error(soap, code);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "HTTP Status = %d %s\n", code, line));
+#ifdef HAVE_SNPRINTF
+  soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "%s %d %s", http, code, line);
+#else
+  sprintf(soap->tmpbuf, "%s %d %s", http, code, line);
+#endif
+  if ((err = soap->fposthdr(soap, soap->tmpbuf, NULL)))
+    return err;
+#ifndef WITH_LEAN
+  if (status == 401)
+  {
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "Basic realm=\"%s\"", (soap->authrealm && strlen(soap->authrealm) < sizeof(soap->tmpbuf) - 14) ? soap->authrealm : "gSOAP Web Service");
+#else
+    sprintf(soap->tmpbuf, "Basic realm=\"%s\"", (soap->authrealm && strlen(soap->authrealm) < sizeof(soap->tmpbuf) - 14) ? soap->authrealm : "gSOAP Web Service");
+#endif
+    if ((err = soap->fposthdr(soap, "WWW-Authenticate", soap->tmpbuf)))
+      return err;
+  }
+  else if ((status >= 301 && status <= 303) || status == 307)
+  { if ((err = soap->fposthdr(soap, "Location", soap->endpoint)))
+      return err;
+  }
+#endif
+  if ((err = soap->fposthdr(soap, "Server", "gSOAP/2.8"))
+   || (err = soap_puthttphdr(soap, status, count)))
+    return err;
+#ifdef WITH_COOKIES
+  if (soap_putsetcookies(soap))
+    return soap->error;
+#endif
+  return soap->fposthdr(soap, NULL, NULL);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_response(struct soap *soap, int status)
+{ register size_t count;
+  if (!(soap->omode & (SOAP_ENC_XML | SOAP_IO_STORE /* this tests for chunking too */))
+   && (status == SOAP_HTML || status == SOAP_FILE))
+    soap->omode = (soap->omode & ~SOAP_IO) | SOAP_IO_STORE;
+  soap->status = status;
+  count = soap_count_attachments(soap);
+  if (soap_begin_send(soap))
+    return soap->error;
+#ifndef WITH_NOHTTP
+  if ((soap->mode & SOAP_IO) != SOAP_IO_STORE && !(soap->mode & SOAP_ENC_XML))
+  { register int n = soap->mode;
+    soap->mode &= ~(SOAP_IO | SOAP_ENC_ZLIB);
+    if ((n & SOAP_IO) != SOAP_IO_FLUSH)
+      soap->mode |= SOAP_IO_BUFFER;
+    if ((soap->error = soap->fresponse(soap, status, count)))
+      return soap->error;
+#ifndef WITH_LEANER
+    if ((n & SOAP_IO) == SOAP_IO_CHUNK)
+    { if (soap_flush(soap))
+        return soap->error;
+    }
+#endif
+    soap->mode = n;
+  }
+#endif
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_url(struct soap *soap, const char *s, const char *t)
+{ if (!t || (*t != '/' && *t != '?') || strlen(s) + strlen(t) >= sizeof(soap->msgbuf))
+    return s;
+  strcpy(soap->msgbuf, s);
+  strcat(soap->msgbuf, t);
+  return soap->msgbuf;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+size_t
+SOAP_FMAC2
+soap_encode_url(const char *s, char *t, size_t len)
+{ register int c;
+  register size_t n = len;
+  while ((c = *s++) && --n > 0)
+  { if (c > ' ' && c < 128 && !strchr("()<>@,;:\\\"/[]?={}#!$&'*+", c))
+      *t++ = c;
+    else if (n > 2)
+    { *t++ = '%';
+      *t++ = (c >> 4) + (c > 159 ? '7' : '0');
+      c &= 0xF;
+      *t++ = c + (c > 9 ? '7' : '0');
+      n -= 2;
+    }
+    else
+      break;
+  }
+  *t = '\0';
+  return len - n;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_encode_url_string(struct soap *soap, const char *s)
+{ if (s)
+  { size_t n = 3*strlen(s)+1;
+    char *t = (char*)soap_malloc(soap, n);
+    if (t)
+    { soap_encode_url(s, t, n);
+      return t;
+    }
+  }
+  return SOAP_STR_EOS;
+}
+#endif
+
+/******************************************************************************\
+ *
+ *	HTTP Cookies
+ *
+\******************************************************************************/
+
+#ifdef WITH_COOKIES
+/******************************************************************************/
+SOAP_FMAC1
+struct soap_cookie*
+SOAP_FMAC2
+soap_cookie(struct soap *soap, const char *name, const char *domain, const char *path)
+{ struct soap_cookie *p;
+  if (!domain)
+    domain = soap->cookie_domain;
+  if (!path)
+    path = soap->cookie_path;
+  if (!path)
+    path = SOAP_STR_EOS;
+  else if (*path == '/')
+    path++;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Search cookie='%s' domain='%s' path='%s'\n", name, domain ? domain : "(null)", path ? path : "(null)"));
+  for (p = soap->cookies; p; p = p->next)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Cookie in database: %s='%s' domain='%s' path='%s' env=%hd\n", p->name, p->value ? p->value : "(null)", p->domain ? p->domain : "(null)", p->path ? p->path : "(null)", p->env));
+    if (!strcmp(p->name, name)
+     && p->domain
+     && p->path
+     && !strcmp(p->domain, domain)
+     && (!*p->path || !strncmp(p->path, path, strlen(p->path))))
+      break;
+  }
+  return p;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+struct soap_cookie*
+SOAP_FMAC2
+soap_set_cookie(struct soap *soap, const char *name, const char *value, const char *domain, const char *path)
+{ struct soap_cookie **p, *q;
+  int n;
+  if (!domain)
+    domain = soap->cookie_domain;
+  if (!path)
+    path = soap->cookie_path;
+  if (!path)
+    path = SOAP_STR_EOS;
+  else if (*path == '/')
+    path++;
+  q = soap_cookie(soap, name, domain, path);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Set %scookie: %s='%s' domain='%s' path='%s'\n", q ? SOAP_STR_EOS : "new ", name, value ? value : "(null)", domain ? domain : "(null)", path ? path : "(null)"));
+  if (!q)
+  { if ((q = (struct soap_cookie*)SOAP_MALLOC(soap, sizeof(struct soap_cookie))))
+    { if ((q->name = (char*)SOAP_MALLOC(soap, strlen(name)+1)))
+        strcpy(q->name, name);
+      q->value = NULL;
+      q->domain = NULL;
+      q->path = NULL;
+      q->expire = 0;
+      q->maxage = -1;
+      q->version = 1;
+      q->secure = 0;
+      q->modified = 0;
+      for (p = &soap->cookies, n = soap->cookie_max; *p && n; p = &(*p)->next, n--)
+        if (!strcmp((*p)->name, name) && (*p)->path && path && strcmp((*p)->path, path) < 0)
+          break;
+      if (n)
+      { q->next = *p;
+        *p = q;
+      }
+      else
+      { SOAP_FREE(soap, q->name);
+        SOAP_FREE(soap, q);
+        q = NULL;
+      }
+    }
+  }
+  else
+    q->modified = 1;
+  if (q)
+  { if (q->value)
+    { if (!value || strcmp(value, q->value))
+      { SOAP_FREE(soap, q->value);
+        q->value = NULL;
+      }
+    }
+    if (value && *value && !q->value && (q->value = (char*)SOAP_MALLOC(soap, strlen(value)+1)))
+      strcpy(q->value, value);
+    if (q->domain)
+    { if (!domain || strcmp(domain, q->domain))
+      { SOAP_FREE(soap, q->domain);
+        q->domain = NULL;
+      }
+    }
+    if (domain && !q->domain && (q->domain = (char*)SOAP_MALLOC(soap, strlen(domain)+1)))
+      strcpy(q->domain, domain);
+    if (q->path)
+    { if (!path || strncmp(path, q->path, strlen(q->path)))
+      { SOAP_FREE(soap, q->path);
+        q->path = NULL;
+      }
+    }
+    if (path && !q->path && (q->path = (char*)SOAP_MALLOC(soap, strlen(path)+1)))
+      strcpy(q->path, path);
+    q->session = 1;
+    q->env = 0;
+  }
+  return q;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_clr_cookie(struct soap *soap, const char *name, const char *domain, const char *path)
+{ struct soap_cookie **p, *q;
+  if (!domain)
+    domain = soap->cookie_domain;
+  if (!domain)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Error in clear cookie='%s': cookie domain not set\n", name ? name : "(null)"));
+    return;
+  }
+  if (!path)
+    path = soap->cookie_path;
+  if (!path)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Error in clear cookie='%s': cookie path not set\n", name ? name : "(null)"));
+    return;
+  }
+  if (*path == '/')
+    path++;
+  for (p = &soap->cookies, q = *p; q; q = *p)
+  { if (!strcmp(q->name, name) && !strcmp(q->domain, domain) && !strncmp(q->path, path, strlen(q->path)))
+    { if (q->value)
+        SOAP_FREE(soap, q->value);
+      if (q->domain)
+        SOAP_FREE(soap, q->domain);
+      if (q->path)
+        SOAP_FREE(soap, q->path);
+      *p = q->next;
+      SOAP_FREE(soap, q);
+    }
+    else
+      p = &q->next;
+  }
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_cookie_value(struct soap *soap, const char *name, const char *domain, const char *path)
+{ struct soap_cookie *p;
+  if ((p = soap_cookie(soap, name, domain, path)))
+    return p->value;
+  return NULL;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_env_cookie_value(struct soap *soap, const char *name, const char *domain, const char *path)
+{ struct soap_cookie *p;
+  if ((p = soap_cookie(soap, name, domain, path)) && p->env)
+    return p->value;
+  return NULL;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+time_t
+SOAP_FMAC2
+soap_cookie_expire(struct soap *soap, const char *name, const char *domain, const char *path)
+{ struct soap_cookie *p;
+  if ((p = soap_cookie(soap, name, domain, path)))
+    return p->expire;
+  return -1;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_set_cookie_expire(struct soap *soap, const char *name, long expire, const char *domain, const char *path)
+{ struct soap_cookie *p;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Set cookie expiration max-age=%ld: cookie='%s' domain='%s' path='%s'\n", expire, name, domain ? domain : "(null)", path ? path : "(null)"));
+  if ((p = soap_cookie(soap, name, domain, path)))
+  { p->maxage = expire;
+    p->modified = 1;
+    return SOAP_OK;
+  }
+  return SOAP_ERR;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_set_cookie_session(struct soap *soap, const char *name, const char *domain, const char *path)
+{ struct soap_cookie *p;
+  if ((p = soap_cookie(soap, name, domain, path)))
+  { p->session = 1;
+    p->modified = 1;
+    return SOAP_OK;
+  }
+  return SOAP_ERR;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_clr_cookie_session(struct soap *soap, const char *name, const char *domain, const char *path)
+{ struct soap_cookie *p;
+  if ((p = soap_cookie(soap, name, domain, path)))
+  { p->session = 0;
+    p->modified = 1;
+    return SOAP_OK;
+  }
+  return SOAP_ERR;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_putsetcookies(struct soap *soap)
+{ struct soap_cookie *p;
+  char *s, tmp[4096];
+  const char *t;
+  for (p = soap->cookies; p; p = p->next)
+  {
+    if (p->modified
+#ifdef WITH_OPENSSL
+     || (!p->env && !soap->ssl == !p->secure)
+#endif
+       )
+    { s = tmp;
+      if (p->name)
+        s += soap_encode_url(p->name, s, tmp-s+4064);
+      if (p->value && *p->value)
+      { *s++ = '=';
+        s += soap_encode_url(p->value, s, tmp-s+4064);
+      }
+      if (p->domain && (int)strlen(p->domain) < tmp-s+4064)
+      { strcpy(s, ";Domain=");
+        strcat(s, p->domain);
+      }
+      else if (soap->cookie_domain && (int)strlen(soap->cookie_domain) < tmp-s+4064)
+      { strcpy(s, ";Domain=");
+        strcat(s, soap->cookie_domain);
+      }
+      strcat(s, ";Path=/");
+      s += strlen(s);
+      if (p->path)
+        t = p->path;
+      else
+        t = soap->cookie_path;
+      if (t)
+      { if (*t == '/')
+          t++;
+        if ((int)strlen(t) < tmp-s+4064)
+        { if (strchr(t, '%'))	/* already URL encoded? */
+          { strcpy(s, t);
+            s += strlen(s);
+          }
+          else
+            s += soap_encode_url(t, s, tmp-s+4064);
+        }
+      }
+      if (p->version > 0 && s-tmp < 4060)
+      { 
+#ifdef HAVE_SNPRINTF
+        soap_snprintf(s, 4096 - (s-tmp), ";Version=%u", p->version);
+#else
+        sprintf(s, ";Version=%u", p->version);
+#endif
+        s += strlen(s);
+      }
+      if (p->maxage >= 0 && s-tmp < 4060)
+      {
+#ifdef HAVE_SNPRINTF
+        soap_snprintf(s, 4096 - (s-tmp), ";Max-Age=%ld", p->maxage);
+#else
+        sprintf(s, ";Max-Age=%ld", p->maxage);
+#endif
+        s += strlen(s);
+      }
+      if (s-tmp < 4073
+       && (p->secure
+#ifdef WITH_OPENSSL
+       || soap->ssl
+#endif
+         ))
+        strcpy(s, ";Secure");
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Set-Cookie: %s\n", tmp));
+      if ((soap->error = soap->fposthdr(soap, "Set-Cookie", tmp)))
+        return soap->error;
+    }
+  }
+  return SOAP_OK;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_putcookies(struct soap *soap, const char *domain, const char *path, int secure)
+{ struct soap_cookie **p, *q;
+  unsigned int version = 0;
+  time_t now = time(NULL);
+  char *s, tmp[4096];
+  if (!domain || !path)
+    return SOAP_OK;
+  s = tmp;
+  p = &soap->cookies;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Sending cookies for domain='%s' path='%s'\n", domain, path));
+  if (*path == '/')
+    path++;
+  while ((q = *p))
+  { if (q->expire && now > q->expire)
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Cookie %s expired\n", q->name));
+      SOAP_FREE(soap, q->name);
+      if (q->value)
+        SOAP_FREE(soap, q->value);
+      if (q->domain)
+        SOAP_FREE(soap, q->domain);
+      if (q->path)
+        SOAP_FREE(soap, q->path);
+      *p = q->next;
+      SOAP_FREE(soap, q);
+    }
+    else
+    { int flag;
+      char *t = q->domain;
+      size_t n = 0;
+      if (!t)
+        flag = 1;
+      else
+      { const char *r = strchr(t, ':');
+        if (r)
+          n = r - t;
+        else
+          n = strlen(t);
+        flag = !strncmp(t, domain, n);
+      }
+      /* domain-level cookies, cannot compile when WITH_NOIO set */
+#ifndef WITH_NOIO
+      if (!flag)
+      { struct hostent *hostent = gethostbyname((char*)domain);
+        if (hostent)
+        { const char *r = strchr(hostent->h_name, '.');
+          if (!r)
+            r = hostent->h_name;
+          flag = !strncmp(t, r, n);
+        }
+      }
+#endif
+      if (flag
+          && (!q->path || !strncmp(q->path, path, strlen(q->path)))
+          && (!q->secure || secure))
+      { size_t n = 12;
+        if (q->name)
+          n += 3*strlen(q->name);
+        if (q->value && *q->value)
+          n += 3*strlen(q->value) + 1;
+        if (q->path && *q->path)
+          n += strlen(q->path) + 9;
+        if (q->domain)
+          n += strlen(q->domain) + 11;
+        if (tmp - s + n > sizeof(tmp))
+        { if (s == tmp)
+            return SOAP_OK; /* HTTP header size overflow */
+          DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Cookie: %s\n", tmp));
+          if ((soap->error = soap->fposthdr(soap, "Cookie", tmp)))
+            return soap->error;
+          s = tmp;
+        }
+        else if (s != tmp)
+        { strcat(s, " ");
+          s++;
+        }
+        if (q->version != version && s-tmp < 4060)
+        {
+#ifdef HAVE_SNPRINTF
+          soap_snprintf(s, 4096 - (s-tmp), "$Version=%u;", q->version);
+#else
+          sprintf(s, "$Version=%u;", q->version);
+#endif
+          version = q->version;
+          s += strlen(s);
+        }
+        if (q->name)
+          s += soap_encode_url(q->name, s, tmp+sizeof(tmp)-s-16);
+        if (q->value && *q->value)
+        { *s++ = '=';
+          s += soap_encode_url(q->value, s, tmp+sizeof(tmp)-s-16);
+        }
+        if (q->path && (s-tmp) + strlen(q->path) < 4060)
+        {
+#ifdef HAVE_SNPRINTF
+          soap_snprintf(s, 4096 - (s-tmp), ";$Path=\"/%s\"", (*q->path == '/' ? q->path + 1 : q->path));
+#else
+          sprintf(s, ";$Path=\"/%s\"", (*q->path == '/' ? q->path + 1 : q->path));
+#endif
+          s += strlen(s);
+        }
+        if (q->domain && (s-tmp) + strlen(q->domain) < 4060)
+        {
+#ifdef HAVE_SNPRINTF
+          soap_snprintf(s, 4096 - (s-tmp), ";$Domain=\"%s\"", q->domain);
+#else
+          sprintf(s, ";$Domain=\"%s\"", q->domain);
+#endif
+          s += strlen(s);
+        }
+      }
+      p = &q->next;
+    }
+  }
+  if (s != tmp)
+    if ((soap->error = soap->fposthdr(soap, "Cookie", tmp)))
+      return soap->error;
+  return SOAP_OK;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_getcookies(struct soap *soap, const char *val)
+{ struct soap_cookie *p = NULL, *q;
+  const char *s;
+  char *t, tmp[4096]; /* cookie size is up to 4096 bytes [RFC2109] */
+  char *domain = NULL;
+  char *path = NULL;
+  unsigned int version = 0;
+  time_t now = time(NULL);
+  if (!val)
+    return;
+  s = val;
+  while (*s)
+  { s = soap_decode_key(tmp, sizeof(tmp), s);
+    if (!soap_tag_cmp(tmp, "$Version"))
+    { if ((s = soap_decode_val(tmp, sizeof(tmp), s)))
+      { if (p)
+          p->version = (int)soap_strtol(tmp, NULL, 10);
+        else
+          version = (int)soap_strtol(tmp, NULL, 10);
+      }
+    }
+    else if (!soap_tag_cmp(tmp, "$Path"))
+    { s = soap_decode_val(tmp, sizeof(tmp), s);
+      if (*tmp)
+      { if ((t = (char*)SOAP_MALLOC(soap, strlen(tmp)+1)))
+          strcpy(t, tmp);
+      }
+      else
+        t = NULL;
+      if (p)
+      { if (p->path)
+          SOAP_FREE(soap, p->path);
+        p->path = t;
+      }
+      else
+      { if (path)
+          SOAP_FREE(soap, path);
+        path = t;
+      }
+    }
+    else if (!soap_tag_cmp(tmp, "$Domain"))
+    { s = soap_decode_val(tmp, sizeof(tmp), s);
+      if (*tmp)
+      { if ((t = (char*)SOAP_MALLOC(soap, strlen(tmp)+1)))
+          strcpy(t, tmp);
+      }
+      else
+        t = NULL;
+      if (p)
+      { if (p->domain)
+          SOAP_FREE(soap, p->domain);
+        p->domain = t;
+      }
+      else
+      { if (domain)
+          SOAP_FREE(soap, domain);
+        domain = t;
+      }
+    }
+    else if (p && !soap_tag_cmp(tmp, "Path"))
+    { if (p->path)
+        SOAP_FREE(soap, p->path);
+      s = soap_decode_val(tmp, sizeof(tmp), s);
+      if (*tmp)
+      { if ((p->path = (char*)SOAP_MALLOC(soap, strlen(tmp)+1)))
+          strcpy(p->path, tmp);
+      }
+      else
+        p->path = NULL;
+    }
+    else if (p && !soap_tag_cmp(tmp, "Domain"))
+    { if (p->domain)
+        SOAP_FREE(soap, p->domain);
+      s = soap_decode_val(tmp, sizeof(tmp), s);
+      if (*tmp)
+      { if ((p->domain = (char*)SOAP_MALLOC(soap, strlen(tmp)+1)))
+          strcpy(p->domain, tmp);
+      }
+      else
+        p->domain = NULL;
+    }
+    else if (p && !soap_tag_cmp(tmp, "Version"))
+    { s = soap_decode_val(tmp, sizeof(tmp), s);
+      p->version = (unsigned int)soap_strtoul(tmp, NULL, 10);
+    }
+    else if (p && !soap_tag_cmp(tmp, "Max-Age"))
+    { s = soap_decode_val(tmp, sizeof(tmp), s);
+      p->expire = now + soap_strtol(tmp, NULL, 10);
+    }
+    else if (p && !soap_tag_cmp(tmp, "Expires"))
+    { struct tm T;
+      char a[3];
+      static const char mns[] = "anebarprayunulugepctovec";
+      s = soap_decode_val(tmp, sizeof(tmp), s);
+      if (strlen(tmp) > 20)
+      { memset((void*)&T, 0, sizeof(T));
+        a[0] = tmp[4];
+        a[1] = tmp[5];
+        a[2] = '\0';
+        T.tm_mday = (int)soap_strtol(a, NULL, 10);
+        a[0] = tmp[8];
+        a[1] = tmp[9];
+        T.tm_mon = (int)(strstr(mns, a) - mns) / 2;
+        a[0] = tmp[11];
+        a[1] = tmp[12];
+        T.tm_year = 100 + (int)soap_strtol(a, NULL, 10);
+        a[0] = tmp[13];
+        a[1] = tmp[14];
+        T.tm_hour = (int)soap_strtol(a, NULL, 10);
+        a[0] = tmp[16];
+        a[1] = tmp[17];
+        T.tm_min = (int)soap_strtol(a, NULL, 10);
+        a[0] = tmp[19];
+        a[1] = tmp[20];
+        T.tm_sec = (int)soap_strtol(a, NULL, 10);
+        p->expire = soap_timegm(&T);
+      }
+    }
+    else if (p && !soap_tag_cmp(tmp, "Secure"))
+      p->secure = 1;
+    else
+    { if (p)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Got environment cookie='%s' value='%s' domain='%s' path='%s' expire=%ld secure=%d\n", p->name, p->value ? p->value : "(null)", p->domain ? p->domain : "(null)", p->path ? p->path : "(null)", p->expire, p->secure));
+        if ((q = soap_set_cookie(soap, p->name, p->value, p->domain, p->path)))
+        { q->version = p->version;
+          q->expire = p->expire;
+          q->secure = p->secure;
+          q->env = 1;
+        }
+        if (p->name)
+          SOAP_FREE(soap, p->name);
+        if (p->value)
+          SOAP_FREE(soap, p->value);
+        if (p->domain)
+          SOAP_FREE(soap, p->domain);
+        if (p->path)
+          SOAP_FREE(soap, p->path);
+        SOAP_FREE(soap, p);
+      }
+      if ((p = (struct soap_cookie*)SOAP_MALLOC(soap, sizeof(struct soap_cookie))))
+      { p->name = (char*)SOAP_MALLOC(soap, strlen(tmp)+1);
+        strcpy(p->name, tmp);
+        s = soap_decode_val(tmp, sizeof(tmp), s);
+        if (*tmp)
+        { p->value = (char*)SOAP_MALLOC(soap, strlen(tmp)+1);
+          strcpy(p->value, tmp);
+        }
+        else
+          p->value = NULL;
+        if (domain)
+          p->domain = domain;
+        else if (*soap->host)
+        { p->domain = (char*)SOAP_MALLOC(soap, strlen(soap->host)+1);
+          strcpy(p->domain, soap->host);
+        }
+        else
+          p->domain = NULL;
+        if (path)
+          p->path = path;
+        else if (soap->path && *soap->path)
+        { p->path = (char*)SOAP_MALLOC(soap, strlen(soap->path)+1);
+          strcpy(p->path, soap->path);
+        }
+        else
+        { p->path = (char*)SOAP_MALLOC(soap, 2);
+          strcpy(p->path, "/");
+        }
+        p->expire = 0;
+        p->secure = 0;
+        p->version = version;
+      }
+    }
+  }
+  if (p)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Got environment cookie='%s' value='%s' domain='%s' path='%s' expire=%ld secure=%d\n", p->name, p->value ? p->value : "(null)", p->domain ? p->domain : "(null)", p->path ? p->path : "(null)", p->expire, p->secure));
+    if ((q = soap_set_cookie(soap, p->name, p->value, p->domain, p->path)))
+    { q->version = p->version;
+      q->expire = p->expire;
+      q->secure = p->secure;
+      q->env = 1;
+    }
+    if (p->name)
+      SOAP_FREE(soap, p->name);
+    if (p->value)
+      SOAP_FREE(soap, p->value);
+    if (p->domain)
+      SOAP_FREE(soap, p->domain);
+    if (p->path)
+      SOAP_FREE(soap, p->path);
+    SOAP_FREE(soap, p);
+  }
+  if (domain)
+    SOAP_FREE(soap, domain);
+  if (path)
+    SOAP_FREE(soap, path);
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_getenv_cookies(struct soap *soap)
+{ struct soap_cookie *p;
+  const char *s;
+  char key[4096], val[4096]; /* cookie size is up to 4096 bytes [RFC2109] */
+  if (!(s = getenv("HTTP_COOKIE")))
+    return SOAP_ERR;
+  do
+  { s = soap_decode_key(key, sizeof(key), s);
+    s = soap_decode_val(val, sizeof(val), s);
+    p = soap_set_cookie(soap, key, val, NULL, NULL);
+    if (p)
+      p->env = 1;
+  } while (*s);
+  return SOAP_OK;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+struct soap_cookie*
+SOAP_FMAC2
+soap_copy_cookies(struct soap *copy, const struct soap *soap)
+{ struct soap_cookie *p, **q, *r;
+  q = &r;
+  for (p = soap->cookies; p; p = p->next)
+  { if (!(*q = (struct soap_cookie*)SOAP_MALLOC(copy, sizeof(struct soap_cookie))))
+      return r;
+    **q = *p;
+    if (p->name)
+    { if (((*q)->name = (char*)SOAP_MALLOC(copy, strlen(p->name)+1)))
+        strcpy((*q)->name, p->name);
+    }
+    if (p->value)
+    { if (((*q)->value = (char*)SOAP_MALLOC(copy, strlen(p->value)+1)))
+        strcpy((*q)->value, p->value);
+    }
+    if (p->domain)
+    { if (((*q)->domain = (char*)SOAP_MALLOC(copy, strlen(p->domain)+1)))
+        strcpy((*q)->domain, p->domain);
+    }
+    if (p->path)
+    { if (((*q)->path = (char*)SOAP_MALLOC(copy, strlen(p->path)+1)))
+        strcpy((*q)->path, p->path);
+    }
+    q = &(*q)->next;
+  }
+  *q = NULL;
+  return r;
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_free_cookies(struct soap *soap)
+{ struct soap_cookie *p;
+  for (p = soap->cookies; p; p = soap->cookies)
+  { soap->cookies = p->next;
+    SOAP_FREE(soap, p->name);
+    if (p->value)
+      SOAP_FREE(soap, p->value);
+    if (p->domain)
+      SOAP_FREE(soap, p->domain);
+    if (p->path)
+      SOAP_FREE(soap, p->path);
+    SOAP_FREE(soap, p);
+  }
+}
+
+/******************************************************************************/
+#endif /* WITH_COOKIES */
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+size_t
+SOAP_FMAC2
+soap_hash(register const char *s)
+{ register size_t h = 0;
+  while (*s)
+    h = 65599*h + *s++;
+  return h % SOAP_IDHASH;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_1
+static void
+soap_init_pht(struct soap *soap)
+{ register int i;
+  soap->pblk = NULL;
+  soap->pidx = 0;
+  for (i = 0; i < (int)SOAP_PTRHASH; i++)
+    soap->pht[i] = NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+struct soap*
+SOAP_FMAC2
+soap_versioning(soap_new)(soap_mode imode, soap_mode omode)
+{ struct soap *soap = (struct soap*)malloc(sizeof(struct soap));
+  if (soap)
+    soap_versioning(soap_init)(soap, imode, omode);
+  return soap;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_free(struct soap *soap)
+{ soap_done(soap);
+  free(soap);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_del(struct soap *soap)
+{ free(soap);
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_1
+static void
+soap_free_pht(struct soap *soap)
+{ register struct soap_pblk *pb, *next;
+  register int i;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Free pointer hashtable\n"));
+  for (pb = soap->pblk; pb; pb = next)
+  { next = pb->next;
+    SOAP_FREE(soap, pb);
+  }
+  soap->pblk = NULL;
+  soap->pidx = 0;
+  for (i = 0; i < (int)SOAP_PTRHASH; i++)
+    soap->pht[i] = NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_embed(struct soap *soap, const void *p, const struct soap_array *a, int n, const char *tag, int type)
+{ register int i;
+  struct soap_plist *pp;
+  (void)soap;
+  if (soap->version == 2)
+    soap->encoding = 1;
+  if (a)
+    i = soap_array_pointer_lookup(soap, p, a, n, type, &pp);
+  else
+    i = soap_pointer_lookup(soap, p, type, &pp);
+  if (i)
+  { if (soap_is_embedded(soap, pp)
+     || soap_is_single(soap, pp))
+      return 0;
+    soap_set_embedded(soap, pp);
+  }
+  return i;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_pointer_lookup(struct soap *soap, const void *p, int type, struct soap_plist **ppp)
+{ register struct soap_plist *pp;
+  *ppp = NULL;
+  if (p)
+  { for (pp = soap->pht[soap_hash_ptr(p)]; pp; pp = pp->next)
+    { if (pp->ptr == p && pp->type == type)
+      { *ppp = pp;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Lookup location=%p type=%d id=%d\n", p, type, pp->id));
+        return pp->id;
+      }
+    }
+  }
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Lookup location=%p type=%d: not found\n", p, type));
+  return 0;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_pointer_enter(struct soap *soap, const void *p, const struct soap_array *a, int n, int type, struct soap_plist **ppp)
+{ register size_t h;
+  register struct soap_plist *pp;
+  (void)n;
+  if (!soap->pblk || soap->pidx >= SOAP_PTRBLK)
+  { register struct soap_pblk *pb = (struct soap_pblk*)SOAP_MALLOC(soap, sizeof(struct soap_pblk));
+    if (!pb)
+    { soap->error = SOAP_EOM;
+      return 0;
+    }
+    pb->next = soap->pblk;
+    soap->pblk = pb;
+    soap->pidx = 0;
+  }
+  *ppp = pp = &soap->pblk->plist[soap->pidx++];
+  if (a)
+    h = soap_hash_ptr(a->__ptr);
+  else
+    h = soap_hash_ptr(p);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Pointer enter location=%p array=%p size=%d dim=%d type=%d id=%d\n", p, a ? a->__ptr : NULL, a ? a->__size : 0, n, type, soap->idnum+1));
+  pp->next = soap->pht[h];
+  pp->type = type;
+  pp->mark1 = 0;
+  pp->mark2 = 0;
+  pp->ptr = p;
+  pp->array = a;
+  soap->pht[h] = pp;
+  pp->id = ++soap->idnum;
+  return pp->id;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_array_pointer_lookup(struct soap *soap, const void *p, const struct soap_array *a, int n, int type, struct soap_plist **ppp)
+{ register struct soap_plist *pp;
+  *ppp = NULL;
+  if (!p || !a->__ptr)
+    return 0;
+  for (pp = soap->pht[soap_hash_ptr(a->__ptr)]; pp; pp = pp->next)
+  { if (pp->type == type && pp->array && pp->array->__ptr == a->__ptr)
+    { register int i;
+      for (i = 0; i < n; i++)
+        if (((const int*)&pp->array->__size)[i] != ((const int*)&a->__size)[i])
+          break;
+      if (i == n)
+      { *ppp = pp;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Array lookup location=%p type=%d id=%d\n", a->__ptr, type, pp->id));
+        return pp->id;
+      }
+    }
+  }
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Array lookup location=%p type=%d: not found\n", a->__ptr, type));
+  return 0;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_begin_count(struct soap *soap)
+{ soap_free_ns(soap);
+#ifndef WITH_LEANER
+  if ((soap->mode & SOAP_ENC_DIME) || (soap->omode & SOAP_ENC_DIME))
+    soap->mode = soap->omode | SOAP_IO_LENGTH | SOAP_ENC_DIME;
+  else
+#endif
+  { soap->mode = soap->omode;
+    if ((soap->mode & SOAP_IO_UDP))
+      soap->mode |= SOAP_ENC_XML;
+    if ((soap->mode & SOAP_IO) == SOAP_IO_STORE
+     || (((soap->mode & SOAP_IO) == SOAP_IO_CHUNK || (soap->mode & SOAP_ENC_XML))
+#ifndef WITH_LEANER
+      && !soap->fpreparesend
+#endif
+      ))
+      soap->mode &= ~SOAP_IO_LENGTH;
+    else
+      soap->mode |= SOAP_IO_LENGTH;
+  }
+#ifdef WITH_ZLIB
+  if ((soap->mode & SOAP_ENC_ZLIB) && (soap->mode & SOAP_IO) == SOAP_IO_FLUSH)
+  { if (!(soap->mode & SOAP_ENC_DIME))
+      soap->mode &= ~SOAP_IO_LENGTH;
+    if (soap->mode & SOAP_ENC_XML)
+      soap->mode |= SOAP_IO_BUFFER;
+    else
+      soap->mode |= SOAP_IO_STORE;
+  }
+#endif
+#ifndef WITH_LEANER
+  if ((soap->mode & SOAP_ENC_MTOM) && (soap->mode & SOAP_ENC_DIME))
+    soap->mode |= SOAP_ENC_MIME;
+  else if (!(soap->mode & SOAP_ENC_MIME))
+    soap->mode &= ~SOAP_ENC_MTOM;
+  if (soap->mode & SOAP_ENC_MIME)
+    soap_select_mime_boundary(soap);
+  soap->dime.list = soap->dime.last;	/* keep track of last DIME attachment */
+#endif
+  soap->count = 0;
+  soap->ns = 0;
+  soap->null = 0;
+  soap->position = 0;
+  soap->mustUnderstand = 0;
+  soap->encoding = 0;
+  soap->part = SOAP_BEGIN;
+  soap->event = 0;
+  soap->evlev = 0;
+  soap->idnum = 0;
+  soap_clr_attr(soap);
+  soap_set_local_namespaces(soap);
+#ifndef WITH_LEANER
+  soap->dime.count = 0; /* count # of attachments */
+  soap->dime.size = 0; /* accumulate total size of attachments */
+  if (soap->fprepareinitsend && (soap->mode & SOAP_IO) != SOAP_IO_STORE && (soap->error = soap->fprepareinitsend(soap)))
+    return soap->error;
+#endif
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Begin count phase (socket=%d mode=0x%x count=%lu)\n", soap->socket, (unsigned int)soap->mode, (unsigned long)soap->count));
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_end_count(struct soap *soap)
+{ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "End of count phase\n"));
+#ifndef WITH_LEANER
+  if ((soap->mode & SOAP_IO_LENGTH))
+  { if (soap->fpreparefinalsend && (soap->error = soap->fpreparefinalsend(soap)))
+      return soap->error;
+  }
+#endif
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_begin_send(struct soap *soap)
+{ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Initializing for output to socket=%d/fd=%d\n", soap->socket, soap->sendfd));
+  soap_free_ns(soap);
+  soap->error = SOAP_OK;
+  soap->mode = soap->omode | (soap->mode & (SOAP_IO_LENGTH | SOAP_ENC_DIME));
+#ifdef WITH_ZLIB
+  if ((soap->mode & SOAP_ENC_ZLIB) && (soap->mode & SOAP_IO) == SOAP_IO_FLUSH)
+  { if (soap->mode & SOAP_ENC_XML)
+      soap->mode |= SOAP_IO_BUFFER;
+    else
+      soap->mode |= SOAP_IO_STORE;
+  }
+#endif
+#ifndef WITH_LEAN
+  if ((soap->mode & SOAP_IO_UDP))
+  { soap->mode |= SOAP_ENC_XML;
+    if (soap->count > SOAP_BUFLEN)
+      return soap->error = SOAP_UDP_ERROR;
+  }
+#endif
+  if ((soap->mode & SOAP_IO) == SOAP_IO_FLUSH && soap_valid_socket(soap->socket))
+  { if (soap->count || (soap->mode & SOAP_IO_LENGTH) || (soap->mode & SOAP_ENC_XML))
+      soap->mode |= SOAP_IO_BUFFER;
+    else
+      soap->mode |= SOAP_IO_STORE;
+  }
+  soap->mode &= ~SOAP_IO_LENGTH;
+  if ((soap->mode & SOAP_IO) == SOAP_IO_STORE)
+    if (soap_new_block(soap) == NULL)
+      return soap->error;
+  if (!(soap->mode & SOAP_IO_KEEPALIVE))
+    soap->keep_alive = 0;
+#ifndef WITH_LEANER
+  if ((soap->mode & SOAP_ENC_MTOM) && (soap->mode & SOAP_ENC_DIME))
+  { soap->mode |= SOAP_ENC_MIME;
+    soap->mode &= ~SOAP_ENC_DIME;
+  }
+  else if (!(soap->mode & SOAP_ENC_MIME))
+    soap->mode &= ~SOAP_ENC_MTOM;
+  if (soap->mode & SOAP_ENC_MIME)
+    soap_select_mime_boundary(soap);
+#ifdef WIN32
+#ifndef UNDER_CE
+#ifndef WITH_FASTCGI
+  if (!soap_valid_socket(soap->socket) && !soap->os) /* Set win32 stdout or soap->sendfd to BINARY, e.g. to support DIME */
+#ifdef __BORLANDC__
+    setmode(soap->sendfd, _O_BINARY);
+#else
+    _setmode(soap->sendfd, _O_BINARY);
+#endif
+#endif
+#endif
+#endif
+#endif
+  if (soap->mode & SOAP_IO)
+  { soap->bufidx = 0;
+    soap->buflen = 0;
+  }
+  soap->chunksize = 0;
+  soap->ns = 0;
+  soap->null = 0;
+  soap->position = 0;
+  soap->mustUnderstand = 0;
+  soap->encoding = 0;
+  soap->idnum = 0;
+  soap->level = 0;
+  soap_clr_attr(soap);
+  soap_set_local_namespaces(soap);
+#ifdef WITH_ZLIB
+  soap->z_ratio_out = 1.0;
+  if ((soap->mode & SOAP_ENC_ZLIB) && soap->zlib_state != SOAP_ZLIB_DEFLATE)
+  { if (!soap->z_buf)
+      soap->z_buf = (char*)SOAP_MALLOC(soap, SOAP_BUFLEN);
+    soap->d_stream->next_out = (Byte*)soap->z_buf;
+    soap->d_stream->avail_out = SOAP_BUFLEN;
+#ifdef WITH_GZIP
+    if (soap->zlib_out != SOAP_ZLIB_DEFLATE)
+    { memcpy(soap->z_buf, "\37\213\10\0\0\0\0\0\0\377", 10);
+      soap->d_stream->next_out = (Byte*)soap->z_buf + 10;
+      soap->d_stream->avail_out = SOAP_BUFLEN - 10;
+      soap->z_crc = crc32(0L, NULL, 0);
+      soap->zlib_out = SOAP_ZLIB_GZIP;
+      if (soap->z_dict)
+        *((Byte*)soap->z_buf + 2) = 0xff;
+      if (deflateInit2(soap->d_stream, soap->z_level, Z_DEFLATED, -MAX_WBITS, 8, Z_DEFAULT_STRATEGY) != Z_OK)
+        return soap->error = SOAP_ZLIB_ERROR;
+    }
+    else
+#endif
+    if (deflateInit(soap->d_stream, soap->z_level) != Z_OK)
+      return soap->error = SOAP_ZLIB_ERROR;
+    if (soap->z_dict)
+    { if (deflateSetDictionary(soap->d_stream, (const Bytef*)soap->z_dict, soap->z_dict_len) != Z_OK)
+        return soap->error = SOAP_ZLIB_ERROR;
+    }
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Deflate initialized\n"));
+    soap->zlib_state = SOAP_ZLIB_DEFLATE;
+  }
+#endif
+#ifdef WITH_OPENSSL
+  if (soap->ssl)
+    ERR_clear_error();
+#endif
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Begin send phase (socket=%d mode=0x%x count=%lu)\n", soap->socket, soap->mode, (unsigned long)soap->count));
+  soap->part = SOAP_BEGIN;
+#ifndef WITH_LEANER
+  if (soap->fprepareinitsend && (soap->mode & SOAP_IO) == SOAP_IO_STORE && (soap->error = soap->fprepareinitsend(soap)))
+    return soap->error;
+#endif
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_embedded(struct soap *soap, const void *p, int t)
+{ struct soap_plist *pp;
+  if (soap_pointer_lookup(soap, p, t, &pp))
+  { pp->mark1 = 1;
+    pp->mark2 = 1;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Embedded %p type=%d mark set to 1\n", p, t));
+  }
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_reference(struct soap *soap, const void *p, int t)
+{ struct soap_plist *pp;
+  if (!p || (!soap->encodingStyle && !(soap->omode & (SOAP_ENC_DIME|SOAP_ENC_MIME|SOAP_ENC_MTOM|SOAP_XML_GRAPH))) || (soap->omode & SOAP_XML_TREE))
+    return 1;
+  if (soap_pointer_lookup(soap, p, t, &pp))
+  { if (pp->mark1 == 0)
+    { pp->mark1 = 2;
+      pp->mark2 = 2;
+    }
+  }
+  else if (!soap_pointer_enter(soap, p, NULL, 0, t, &pp))
+    return 1;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Reference %p type=%d (%d %d)\n", p, t, (int)pp->mark1, (int)pp->mark2));
+  return pp->mark1;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_array_reference(struct soap *soap, const void *p, const struct soap_array *a, int n, int t)
+{ struct soap_plist *pp;
+  if (!p || !a->__ptr || (!soap->encodingStyle && !(soap->omode & (SOAP_ENC_DIME|SOAP_ENC_MIME|SOAP_ENC_MTOM|SOAP_XML_GRAPH))) || (soap->omode & SOAP_XML_TREE))
+    return 1;
+  if (soap_array_pointer_lookup(soap, p, a, n, t, &pp))
+  { if (pp->mark1 == 0)
+    { pp->mark1 = 2;
+      pp->mark2 = 2;
+    }
+  }
+  else if (!soap_pointer_enter(soap, p, a, n, t, &pp))
+    return 1;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Array reference %p ptr=%p dim=%d type=%d (%d %d)\n", p, a->__ptr, n, t, (int)pp->mark1, (int)pp->mark2));
+  return pp->mark1;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_embedded_id(struct soap *soap, int id, const void *p, int t)
+{ struct soap_plist *pp = NULL;
+  if (!id || (!soap->encodingStyle && !(soap->omode & SOAP_XML_GRAPH)) || (soap->omode & SOAP_XML_TREE))
+    return id;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Embedded_id %p type=%d id=%d\n", p, t, id));
+  if (soap->version == 1 && soap->part != SOAP_IN_HEADER)
+  { if (id < 0)
+    { id = soap_pointer_lookup(soap, p, t, &pp);
+      if (id)
+      { if (soap->mode & SOAP_IO_LENGTH)
+          pp->mark1 = 2;
+        else
+          pp->mark2 = 2;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Embedded_id multiref id=%d %p type=%d = (%d %d)\n", id, p, t, (int)pp->mark1, (int)pp->mark2));
+      }
+      return -1;
+    }
+    return id;
+  }
+  if (id < 0)
+    id = soap_pointer_lookup(soap, p, t, &pp);
+  else if (id && !soap_pointer_lookup(soap, p, t, &pp))
+    return 0;
+  if (id && pp)
+  { if (soap->mode & SOAP_IO_LENGTH)
+      pp->mark1 = 1;
+    else
+      pp->mark2 = 1;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Embedded_id embedded ref id=%d %p type=%d = (%d %d)\n", id, p, t, (int)pp->mark1, (int)pp->mark2));
+  }
+  return id;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_is_embedded(struct soap *soap, struct soap_plist *pp)
+{ if (!pp)
+    return 0;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Is embedded? %d %d\n", (int)pp->mark1, (int)pp->mark2));
+  if (soap->version == 1 && soap->encodingStyle && !(soap->mode & SOAP_XML_GRAPH) && soap->part != SOAP_IN_HEADER)
+  { if (soap->mode & SOAP_IO_LENGTH)
+      return pp->mark1 != 0;
+    return pp->mark2 != 0;
+  }
+  if (soap->mode & SOAP_IO_LENGTH)
+    return pp->mark1 == 1;
+  return pp->mark2 == 1;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_is_single(struct soap *soap, struct soap_plist *pp)
+{ if (soap->part == SOAP_IN_HEADER)
+    return 1;
+  if (!pp)
+    return 0;
+  if (soap->mode & SOAP_IO_LENGTH)
+    return pp->mark1 == 0;
+  return pp->mark2 == 0;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_set_embedded(struct soap *soap, struct soap_plist *pp)
+{ if (!pp)
+    return;
+  if (soap->mode & SOAP_IO_LENGTH)
+    pp->mark1 = 1;
+  else
+    pp->mark2 = 1;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_attachment(struct soap *soap, const char *tag, int id, const void *p, const struct soap_array *a, const char *aid, const char *atype, const char *aoptions, int n, const char *type, int t)
+{
+#ifndef WITH_NOIDREF
+  struct soap_plist *pp;
+  int i;
+  if (!p || !a->__ptr || (!aid && !atype))
+    return soap_element_id(soap, tag, id, p, a, n, type, t);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Attachment tag='%s' id='%s' (%d) type='%s'\n", tag, aid ? aid : SOAP_STR_EOS, id, atype ? atype : SOAP_STR_EOS));
+  i = soap_array_pointer_lookup(soap, p, a, n, t, &pp);
+  if (!i)
+  { i = soap_pointer_enter(soap, p, a, n, t, &pp);
+    if (!i)
+    { soap->error = SOAP_EOM;
+      return -1;
+    }
+  }
+  if (id <= 0)
+    id = i;
+  if (!aid)
+  {
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), soap->dime_id_format, id);
+#else
+    sprintf(soap->tmpbuf, soap->dime_id_format, id);
+#endif
+    aid = soap_strdup(soap, soap->tmpbuf);
+  }
+  /* Add MTOM xop:Include element when necessary */
+  /* TODO: this code to be obsoleted with new import/xop.h conventions */
+  if ((soap->mode & SOAP_ENC_MTOM) && strcmp(tag, "xop:Include"))
+  { if (soap_element_begin_out(soap, tag, 0, type)
+     || soap_element_href(soap, "xop:Include", 0, "xmlns:xop=\"http://www.w3.org/2004/08/xop/include\" href", aid)
+     || soap_element_end_out(soap, tag))
+      return soap->error;
+  }
+  else if (soap_element_href(soap, tag, 0, "href", aid))
+    return soap->error;
+  if (soap->mode & SOAP_IO_LENGTH)
+  { if (pp->mark1 != 3)
+    { struct soap_multipart *content;
+      if (soap->mode & SOAP_ENC_MTOM)
+        content = soap_new_multipart(soap, &soap->mime.first, &soap->mime.last, (char*)a->__ptr, a->__size);
+      else
+        content = soap_new_multipart(soap, &soap->dime.first, &soap->dime.last, (char*)a->__ptr, a->__size);
+      if (!content)
+      { soap->error = SOAP_EOM;
+        return -1;
+      }
+      if (!strncmp(aid, "cid:", 4)) /* RFC 2111 */
+      { if (soap->mode & SOAP_ENC_MTOM)
+        { char *s = (char*)soap_malloc(soap, strlen(aid) - 1);
+          if (s)
+          { *s = '<';
+            strcpy(s + 1, aid + 4);
+            strcat(s, ">");
+            content->id = s;
+          }
+        }
+        else
+          content->id = aid + 4;
+      }
+      else
+        content->id = aid;
+      content->type = atype;
+      content->options = aoptions;
+      content->encoding = SOAP_MIME_BINARY;
+      pp->mark1 = 3;
+    }
+  }
+  else
+    pp->mark2 = 3;
+#endif
+  return -1;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_1
+static void
+soap_init_iht(struct soap *soap)
+{ register int i;
+  for (i = 0; i < SOAP_IDHASH; i++)
+    soap->iht[i] = NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_1
+static void
+soap_free_iht(struct soap *soap)
+{ register int i;
+  register struct soap_ilist *ip = NULL, *p = NULL;
+  register struct soap_flist *fp = NULL, *fq = NULL;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Free ID hashtable\n"));
+  for (i = 0; i < SOAP_IDHASH; i++)
+  { for (ip = soap->iht[i]; ip; ip = p)
+    { for (fp = ip->flist; fp; fp = fq)
+      { fq = fp->next;
+        SOAP_FREE(soap, fp);
+      }
+      p = ip->next;
+      SOAP_FREE(soap, ip);
+    }
+    soap->iht[i] = NULL;
+  }
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+struct soap_ilist *
+SOAP_FMAC2
+soap_lookup(struct soap *soap, const char *id)
+{ register struct soap_ilist *ip = NULL;
+  for (ip = soap->iht[soap_hash(id)]; ip; ip = ip->next)
+    if (!strcmp(ip->id, id))
+      return ip;
+  return NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+struct soap_ilist *
+SOAP_FMAC2
+soap_enter(struct soap *soap, const char *id)
+{ register size_t h;
+  register struct soap_ilist *ip;
+  ip = (struct soap_ilist*)SOAP_MALLOC(soap, sizeof(struct soap_ilist) + strlen(id));
+  if (ip)
+  { strcpy((char*)ip->id, id);
+    h = soap_hash(id); /* h = (HASH(id) % SOAP_IDHASH) so soap->iht[h] is safe */
+    ip->next = soap->iht[h];
+    soap->iht[h] = ip;
+  }
+  return ip;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void*
+SOAP_FMAC2
+soap_malloc(struct soap *soap, size_t n)
+{ register char *p;
+  if (!n)
+    return (void*)SOAP_NON_NULL;
+  if (!soap)
+    return SOAP_MALLOC(soap, n);
+  if (soap->fmalloc)
+    p = (char*)soap->fmalloc(soap, n);
+  else
+  { n += sizeof(short);
+    n += (-(long)n) & (sizeof(void*)-1); /* align at 4-, 8- or 16-byte boundary */
+    if (!(p = (char*)SOAP_MALLOC(soap, n + sizeof(void*) + sizeof(size_t))))
+    { soap->error = SOAP_EOM;
+      return NULL;
+    }
+    /* set the canary to detect corruption */
+    *(unsigned short*)(p + n - sizeof(unsigned short)) = (unsigned short)SOAP_CANARY;
+    /* keep chain of alloced cells for destruction */
+    *(void**)(p + n) = soap->alist;
+    *(size_t*)(p + n + sizeof(void*)) = n;
+    soap->alist = p + n;
+  }
+  soap->alloced = 1;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifdef SOAP_MEM_DEBUG
+static void
+soap_init_mht(struct soap *soap)
+{ register int i;
+  for (i = 0; i < (int)SOAP_PTRHASH; i++)
+    soap->mht[i] = NULL;
+}
+#endif
+
+/******************************************************************************/
+#ifdef SOAP_MEM_DEBUG
+static void
+soap_free_mht(struct soap *soap)
+{ register int i;
+  register struct soap_mlist *mp, *mq;
+  for (i = 0; i < (int)SOAP_PTRHASH; i++)
+  { for (mp = soap->mht[i]; mp; mp = mq)
+    { mq = mp->next;
+      if (mp->live)
+        fprintf(stderr, "%s(%d): malloc() = %p not freed (memory leak or forgot to call soap_end()?)\n", mp->file, mp->line, mp->ptr);
+      free(mp);
+    }
+    soap->mht[i] = NULL;
+  }
+}
+#endif
+
+/******************************************************************************/
+#ifdef SOAP_MEM_DEBUG
+SOAP_FMAC1
+void*
+SOAP_FMAC2
+soap_track_malloc(struct soap *soap, const char *file, int line, size_t size)
+{ register void *p = malloc(size);
+  if (soap)
+  { register size_t h = soap_hash_ptr(p);
+    register struct soap_mlist *mp = (struct soap_mlist*)malloc(sizeof(struct soap_mlist));
+    if (soap->fdebug[SOAP_INDEX_TEST])
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): malloc(%lu) = %p\n", file, line, (unsigned long)size, p));
+    }
+    mp->next = soap->mht[h];
+    mp->ptr = p;
+    mp->file = file;
+    mp->line = line;
+    mp->live = 1;
+    soap->mht[h] = mp;
+  }
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifdef SOAP_MEM_DEBUG
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_track_free(struct soap *soap, const char *file, int line, void *p)
+{ register size_t h = soap_hash_ptr(p);
+  register struct soap_mlist *mp;
+  for (mp = soap->mht[h]; mp; mp = mp->next)
+    if (mp->ptr == p)
+      break;
+  if (mp)
+  { if (mp->live)
+    { free(p);
+      if (soap->fdebug[SOAP_INDEX_TEST])
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): free(%p)\n", file, line, p));
+      }
+      mp->live = 0;
+    }
+    else
+      fprintf(stderr, "%s(%d): free(%p) double free of pointer malloced at %s(%d)\n", file, line, p, mp->file, mp->line);
+  }
+  else
+    fprintf(stderr, "%s(%d): free(%p) pointer not malloced\n", file, line, p);
+}
+#endif
+
+/******************************************************************************/
+#ifdef SOAP_MEM_DEBUG
+static void
+soap_track_unlink(struct soap *soap, const void *p)
+{ register size_t h = soap_hash_ptr(p);
+  register struct soap_mlist *mp;
+  for (mp = soap->mht[h]; mp; mp = mp->next)
+    if (mp->ptr == p)
+      break;
+  if (mp)
+    mp->live = 0;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_dealloc(struct soap *soap, void *p)
+{ if (soap_check_state(soap))
+    return;
+  if (p)
+  { register char **q;
+    for (q = (char**)&soap->alist; *q; q = *(char***)q)
+    {
+      if (*(unsigned short*)(char*)(*q - sizeof(unsigned short)) != (unsigned short)SOAP_CANARY)
+      {
+#ifdef SOAP_MEM_DEBUG
+        fprintf(stderr, "Data corruption in dynamic allocation (see logs)\n");
+#endif
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Data corruption:\n"));
+        DBGHEX(TEST, *q - 200, 200);
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "\n"));
+        soap->error = SOAP_MOE;
+        return;
+      }
+      if (p == (void*)(*q - *(size_t*)(*q + sizeof(void*))))
+      { *q = **(char***)q;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Freed data at %p\n", p));
+        SOAP_FREE(soap, p);
+        return;
+      }
+    }
+    soap_delete(soap, p);
+  }
+  else
+  { register char *q;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Free all soap_malloc() data\n"));
+    while (soap->alist)
+    { q = (char*)soap->alist;
+      if (*(unsigned short*)(char*)(q - sizeof(unsigned short)) != (unsigned short)SOAP_CANARY)
+      {
+#ifdef SOAP_MEM_DEBUG
+        fprintf(stderr, "Data corruption in dynamic allocation (see logs)\n");
+#endif
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Data corruption:\n"));
+        DBGHEX(TEST, q - 200, 200);
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "\n"));
+        soap->error = SOAP_MOE;
+        return;
+      }
+      soap->alist = *(void**)q;
+      q -= *(size_t*)(q + sizeof(void*));
+      SOAP_FREE(soap, q);
+    }
+    /* we must assume these were deallocated: */
+    soap->http_content = NULL;
+    soap->action = NULL;
+    soap->fault = NULL;
+    soap->header = NULL;
+    soap->userid = NULL;
+    soap->passwd = NULL;
+    soap->authrealm = NULL;
+#ifdef WITH_NTLM
+    soap->ntlm_challenge = NULL;
+#endif
+#ifndef WITH_LEANER
+    soap_clr_mime(soap);
+#endif
+  }
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_delete(struct soap *soap, void *p)
+{ register struct soap_clist **cp;
+  if (soap_check_state(soap))
+    return;
+  cp = &soap->clist;
+  if (p)
+  { while (*cp)
+    { if (p == (*cp)->ptr)
+      { register struct soap_clist *q = *cp;
+        *cp = q->next;
+        if (q->fdelete(q))
+        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not dealloc data %p: deletion callback failed for object type %d\n", q->ptr, q->type));
+#ifdef SOAP_MEM_DEBUG
+          fprintf(stderr, "new(object type = %d) = %p not freed: deletion callback failed\n", q->type, q->ptr);
+#endif
+        }
+        SOAP_FREE(soap, q);
+        return;
+      }
+      cp = &(*cp)->next;
+    }
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not dealloc data %p: address not in list\n", p));
+  }
+  else
+  { while (*cp)
+    { register struct soap_clist *q = *cp;
+      *cp = q->next;
+      if (q->fdelete(q))
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not dealloc data %p: deletion callback failed for object type %d\n", q->ptr, q->type));
+#ifdef SOAP_MEM_DEBUG
+        fprintf(stderr, "new(object type = %d) = %p not freed: deletion callback failed\n", q->type, q->ptr);
+#endif
+      }
+      SOAP_FREE(soap, q);
+    }
+  }
+  soap->fault = NULL; /* this was possibly deallocated */
+  soap->header = NULL; /* this was possibly deallocated */
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_delegate_deletion(struct soap *soap, struct soap *soap_to)
+{ register struct soap_clist *cp;
+  register char **q;
+#ifdef SOAP_MEM_DEBUG
+  register void *p;
+  register struct soap_mlist **mp, *mq;
+  size_t h;
+#endif
+  for (q = (char**)&soap->alist; *q; q = *(char***)q)
+  {
+    if (*(unsigned short*)(char*)(*q - sizeof(unsigned short)) != (unsigned short)SOAP_CANARY)
+    {
+#ifdef SOAP_MEM_DEBUG
+      fprintf(stderr, "Data corruption in dynamic allocation (see logs)\n");
+#endif
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Data corruption:\n"));
+      DBGHEX(TEST, *q - 200, 200);
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "\n"));
+      soap->error = SOAP_MOE;
+      return;
+    }
+#ifdef SOAP_MEM_DEBUG
+    p = (void*)(*q - *(size_t*)(*q + sizeof(void*)));
+    h = soap_hash_ptr(p);
+    for (mp = &soap->mht[h]; *mp; mp = &(*mp)->next)
+    { if ((*mp)->ptr == p)
+      { mq = *mp;
+        *mp = mq->next;
+        mq->next = soap_to->mht[h];
+        soap_to->mht[h] = mq;
+        break;
+      }
+    }
+#endif
+  }
+  *q = (char*)soap_to->alist;
+  soap_to->alist = soap->alist;
+  soap->alist = NULL;
+#ifdef SOAP_MEM_DEBUG
+  cp = soap->clist;
+  while (cp)
+  { h = soap_hash_ptr(cp);
+    for (mp = &soap->mht[h]; *mp; mp = &(*mp)->next)
+    { if ((*mp)->ptr == cp)
+      { mq = *mp;
+        *mp = mq->next;
+        mq->next = soap_to->mht[h];
+        soap_to->mht[h] = mq;
+        break;
+      }
+    }
+    cp = cp->next;
+  }
+#endif
+  cp = soap_to->clist;
+  if (cp)
+  { while (cp->next)
+      cp = cp->next;
+    cp->next = soap->clist;
+  }
+  else
+    soap_to->clist = soap->clist;
+  soap->clist = NULL;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+struct soap_clist *
+SOAP_FMAC2
+soap_link(struct soap *soap, void *p, int t, int n, int (*fdelete)(struct soap_clist*))
+{ register struct soap_clist *cp;
+  if ((cp = (struct soap_clist*)SOAP_MALLOC(soap, sizeof(struct soap_clist))))
+  { cp->next = soap->clist;
+    cp->type = t;
+    cp->size = n;
+    cp->ptr = p;
+    cp->fdelete = fdelete;
+    soap->clist = cp;
+  }
+  return cp;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_unlink(struct soap *soap, const void *p)
+{ register char **q;
+  register struct soap_clist **cp;
+  if (soap && p)
+  { for (q = (char**)&soap->alist; *q; q = *(char***)q)
+    { if (p == (void*)(*q - *(size_t*)(*q + sizeof(void*))))
+      { *q = **(char***)q;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unlinked data %p\n", p));
+#ifdef SOAP_MEM_DEBUG
+        soap_track_unlink(soap, p);
+#endif
+        return SOAP_OK;		/* found and removed from dealloc chain */
+      }
+    }
+    for (cp = &soap->clist; *cp; cp = &(*cp)->next)
+    { if (p == (*cp)->ptr)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unlinked class instance %p\n", p));
+        q = (char**)*cp;
+        *cp = (*cp)->next;
+        SOAP_FREE(soap, q);
+        return SOAP_OK;		/* found and removed from dealloc chain */
+      }
+    }
+  }
+  return SOAP_ERR;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_lookup_type(struct soap *soap, const char *id)
+{ register struct soap_ilist *ip;
+  if (id && *id)
+  { ip = soap_lookup(soap, id);
+    if (ip)
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Lookup id='%s' type=%d\n", id, ip->type));
+      return ip->type;
+    }
+  }
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "lookup type id='%s' NOT FOUND! Need to get it from xsi:type\n", id));
+  return 0;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+void*
+SOAP_FMAC2
+soap_id_lookup(struct soap *soap, const char *id, void **p, int t, size_t n, unsigned int k)
+{ struct soap_ilist *ip;
+  void **q;
+  if (!p || !id || !*id)
+    return p;
+  ip = soap_lookup(soap, id); /* lookup pointer to hash table entry for string id */
+  if (!ip)
+  { if (!(ip = soap_enter(soap, id))) /* new hash table entry for string id */
+      return NULL;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Forwarding first href='%s' type=%d %p (%u bytes)\n", id, t, p, (unsigned int)n));
+    ip->type = t;
+    ip->size = n;
+    ip->link = p;
+    ip->copy = NULL;
+    ip->flist = NULL;
+    ip->ptr = NULL;
+    ip->level = k;
+    *p = NULL;
+  }
+  else if (ip->ptr)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Resolved href='%s' type=%d location=%p (%u bytes)\n", id, t, ip->ptr, (unsigned int)n));
+    if (ip->type != t)
+    { strcpy(soap->id, id);
+      soap->error = SOAP_HREF;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Type incompatibility: href='%s' id-type=%d href-type=%d\n", id, ip->type, t));
+      return NULL;
+    }
+    while (ip->level < k)
+    { q = (void**)soap_malloc(soap, sizeof(void*));
+      if (!q)
+        return NULL;
+      *p = (void*)q;
+      p = q;
+      k--;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Descending one level...\n"));
+    }
+    *p = ip->ptr;
+  }
+  else if (ip->level > k)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Resolving level %u pointers to href='%s'\n", ip->level, id));
+    while (ip->level > k)
+    { void *s, **r = &ip->link;
+      q = (void**)ip->link;
+      while (q)
+      { *r = (void*)soap_malloc(soap, sizeof(void*));
+        if (!*r)
+          return NULL;
+        s = *q;
+        *q = *r;
+        r = (void**)*r;
+        q = (void**)s;
+      }
+      *r = NULL;
+      ip->size = n;
+      ip->copy = NULL;
+      ip->level = ip->level - 1;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Descending one level...\n"));
+    }
+    q = (void**)ip->link;
+    ip->link = p;
+    *p = (void*)q;
+  }
+  else
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Forwarded href='%s' type=%d location=%p (%u bytes)\n", id, t, p, (unsigned int)n));
+    while (ip->level < k)
+    { q = (void**)soap_malloc(soap, sizeof(void*));
+      if (!q)
+        return NULL;
+      *p = q;
+      p = q;
+      k--;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Descending one level...\n"));
+    }
+    q = (void**)ip->link;
+    ip->link = p;
+    *p = (void*)q;
+  }
+  return p;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIDREF
+#ifndef PALM_2
+SOAP_FMAC1
+void*
+SOAP_FMAC2
+soap_id_forward(struct soap *soap, const char *href, void *p, size_t len, int st, int tt, size_t n, unsigned int k, void (*fcopy)(struct soap*, int, int, void*, size_t, const void*, size_t))
+{ struct soap_ilist *ip;
+  if (!p || !href || !*href)
+    return p;
+  ip = soap_lookup(soap, href); /* lookup pointer to hash table entry for string id */
+  if (!ip)
+  { if (!(ip = soap_enter(soap, href))) /* new hash table entry for string id */
+      return NULL;
+    ip->type = st;
+    ip->size = n;
+    ip->link = NULL;
+    ip->copy = NULL;
+    ip->ptr = NULL;
+    ip->level = 0;
+    ip->flist = NULL;
+    DBGLOG(TEST,SOAP_MESSAGE(fdebug, "New entry href='%s' type=%d size=%lu level=%d location=%p\n", href, st, (unsigned long)n, k, p));
+  }
+  else if (ip->type != st || (ip->level == k && ip->size != n))
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Type incompatibility id='%s' expect type=%d size=%lu level=%u got type=%d size=%lu\n", href, ip->type, (unsigned long)ip->size, k, st, (unsigned long)n));
+    strcpy(soap->id, href);
+    soap->error = SOAP_HREF;
+    return NULL;
+  }
+  if (fcopy || n < sizeof(void*) || *href != '#')
+  { register struct soap_flist *fp = (struct soap_flist*)SOAP_MALLOC(soap, sizeof(struct soap_flist));
+    if (!fp)
+    { soap->error = SOAP_EOM;
+      return NULL;
+    }
+    fp->next = ip->flist;
+    fp->type = tt;
+    fp->ptr = p;
+    fp->level = k;
+    fp->len = len;
+    if (fcopy)
+      fp->fcopy = fcopy;
+    else
+      fp->fcopy = soap_fcopy;
+    ip->flist = fp;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Forwarding type=%d (target type=%d) size=%lu location=%p level=%u len=%lu href='%s'\n", st, tt, (unsigned long)n, p, k, (unsigned long)len, href));
+  }
+  else
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Forwarding copying address %p for type=%d href='%s'\n", p, st, href));
+    *(void**)p = ip->copy;
+    ip->copy = p;
+  }
+  return p;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void*
+SOAP_FMAC2
+soap_id_enter(struct soap *soap, const char *id, void *p, int t, size_t n, unsigned int k, const char *type, const char *arrayType, void *(*finstantiate)(struct soap*, int, const char*, const char*, size_t*))
+{
+#ifndef WITH_NOIDREF
+  struct soap_ilist *ip;
+#endif
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Enter id='%s' type=%d loc=%p size=%lu level=%u\n", id, t, p, (unsigned long)n, k));
+  soap->alloced = 0;
+  if (!p)
+  { if (finstantiate)
+      p = finstantiate(soap, t, type, arrayType, &n);
+    else
+      p = soap_malloc(soap, n);
+    if (p)
+      soap->alloced = 1;
+  }
+#ifndef WITH_NOIDREF
+  if (!id || !*id)
+#endif
+    return p;
+#ifndef WITH_NOIDREF
+  ip = soap_lookup(soap, id); /* lookup pointer to hash table entry for string id */
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Lookup entry id='%s for location=%p'\n", id, p));
+  if (!ip)
+  { if (!(ip = soap_enter(soap, id))) /* new hash table entry for string id */
+      return NULL;
+    ip->type = t;
+    ip->link = NULL;
+    ip->copy = NULL;
+    ip->flist = NULL;
+    ip->size = n;
+    ip->ptr = p;
+    ip->level = k;
+    DBGLOG(TEST,SOAP_MESSAGE(fdebug, "New entry id='%s' type=%d size=%lu level=%u location=%p\n", id, t, (unsigned long)n, k, p));
+  }
+  else if ((ip->type != t || (ip->level == k && ip->size != n)) && (ip->copy || ip->flist))
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Type incompatibility id='%s' expect type=%d size=%lu level=%u got type=%d size=%lu\n", id, ip->type, (unsigned long)ip->size, k, t, (unsigned long)n));
+    strcpy(soap->id, id);
+    soap->error = SOAP_HREF;
+    return NULL;
+  }
+  else if (ip->ptr)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Multiply defined id='%s'\n", id));
+    strcpy(soap->id, id);
+    soap->error = SOAP_DUPLICATE_ID;
+    return NULL;
+  }
+  else
+  { ip->size = n;
+    ip->ptr = p;
+    ip->level = k;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Update entry id='%s' type=%d location=%p size=%lu level=%u\n", id, t, p, (unsigned long)n, k));
+  }
+  return ip->ptr;
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_fcopy(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+{ DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Copying data type=%d (target type=%d) %p -> %p (%lu bytes)\n", st, tt, q, p, (unsigned long)n));
+  memcpy(p, q, n);
+  (void)soap; (void)st; (void)tt; (void)len;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_end_send(struct soap *soap)
+{
+#ifndef WITH_LEANER
+  int err;
+  if (soap->dime.list)
+  { /* SOAP body referenced attachments must appear first */
+    soap->dime.last->next = soap->dime.first;
+    soap->dime.first = soap->dime.list->next;
+    soap->dime.list->next = NULL;
+    soap->dime.last = soap->dime.list;
+  }
+  if (!(err = soap_putdime(soap)))
+    err = soap_putmime(soap);
+  soap->mime.list = NULL;
+  soap->mime.first = NULL;
+  soap->mime.last = NULL;
+  soap->dime.list = NULL;
+  soap->dime.first = NULL;
+  soap->dime.last = NULL;
+  if (err)
+    return err;
+#endif
+  return soap_end_send_flush(soap);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_end_send_flush(struct soap *soap)
+{ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "End send mode=0x%x\n", soap->mode));
+  if (soap->mode & SOAP_IO) /* need to flush the remaining data in buffer */
+  { if (soap_flush(soap))
+#ifdef WITH_ZLIB
+    { if (soap->mode & SOAP_ENC_ZLIB && soap->zlib_state == SOAP_ZLIB_DEFLATE)
+      { soap->zlib_state = SOAP_ZLIB_NONE;
+        deflateEnd(soap->d_stream);
+      }
+      return soap->error;
+    }
+#else
+      return soap->error;
+#endif
+#ifdef WITH_ZLIB
+    if (soap->mode & SOAP_ENC_ZLIB)
+    { int r;
+      soap->d_stream->avail_in = 0;
+      do
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Deflating remainder\n"));
+        r = deflate(soap->d_stream, Z_FINISH);
+        if (soap->d_stream->avail_out != SOAP_BUFLEN)
+        { if (soap_flush_raw(soap, soap->z_buf, SOAP_BUFLEN - soap->d_stream->avail_out))
+          { soap->zlib_state = SOAP_ZLIB_NONE;
+            deflateEnd(soap->d_stream);
+            return soap->error;
+          }
+          soap->d_stream->next_out = (Byte*)soap->z_buf;
+          soap->d_stream->avail_out = SOAP_BUFLEN;
+        }
+      } while (r == Z_OK);
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Deflated total %lu->%lu bytes\n", soap->d_stream->total_in, soap->d_stream->total_out));
+      soap->z_ratio_out = (float)soap->d_stream->total_out / (float)soap->d_stream->total_in;
+      soap->mode &= ~SOAP_ENC_ZLIB;
+      soap->zlib_state = SOAP_ZLIB_NONE;
+      if (deflateEnd(soap->d_stream) != Z_OK || r != Z_STREAM_END)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unable to end deflate: %s\n", soap->d_stream->msg ? soap->d_stream->msg : SOAP_STR_EOS));
+        return soap->error = SOAP_ZLIB_ERROR;
+      }
+#ifdef WITH_GZIP
+      if (soap->zlib_out != SOAP_ZLIB_DEFLATE)
+      { soap->z_buf[0] = soap->z_crc & 0xFF;
+        soap->z_buf[1] = (soap->z_crc >> 8) & 0xFF;
+        soap->z_buf[2] = (soap->z_crc >> 16) & 0xFF;
+        soap->z_buf[3] = (soap->z_crc >> 24) & 0xFF;
+        soap->z_buf[4] = soap->d_stream->total_in & 0xFF;
+        soap->z_buf[5] = (soap->d_stream->total_in >> 8) & 0xFF;
+        soap->z_buf[6] = (soap->d_stream->total_in >> 16) & 0xFF;
+        soap->z_buf[7] = (soap->d_stream->total_in >> 24) & 0xFF;
+        if (soap_flush_raw(soap, soap->z_buf, 8))
+          return soap->error;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "gzip crc32=%lu\n", (unsigned long)soap->z_crc));
+      }
+#endif
+    }
+#endif
+    if ((soap->mode & SOAP_IO) == SOAP_IO_STORE)
+    { char *p;
+#ifndef WITH_NOHTTP
+      if (!(soap->mode & SOAP_ENC_XML))
+      { soap->mode--;
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Sending buffered message of length %u\n", (unsigned int)soap->blist->size));
+        if (soap->status >= SOAP_POST)
+          soap->error = soap->fpost(soap, soap->endpoint, soap->host, soap->port, soap->path, soap->action, soap->blist->size);
+        else if (soap->status != SOAP_STOP)
+          soap->error = soap->fresponse(soap, soap->status, soap->blist->size);
+        if (soap->error || soap_flush(soap))
+          return soap->error;
+        soap->mode++;
+      }
+#endif
+      for (p = soap_first_block(soap, NULL); p; p = soap_next_block(soap, NULL))
+      { DBGMSG(SENT, p, soap_block_size(soap, NULL));
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Send %u bytes to socket=%d/fd=%d\n", (unsigned int)soap_block_size(soap, NULL), soap->socket, soap->sendfd));
+        if ((soap->error = soap->fsend(soap, p, soap_block_size(soap, NULL))))
+        { soap_end_block(soap, NULL);
+          return soap->error;
+        }
+      }
+      soap_end_block(soap, NULL);
+      if (soap->fpreparefinalsend && (soap->error = soap->fpreparefinalsend(soap)))
+        return soap->error;
+    }
+#ifndef WITH_LEANER
+    else if ((soap->mode & SOAP_IO) == SOAP_IO_CHUNK)
+    { DBGMSG(SENT, "\r\n0\r\n\r\n", 7);
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Send 7 bytes to socket=%d/fd=%d\n", soap->socket, soap->sendfd));
+      if ((soap->error = soap->fsend(soap, "\r\n0\r\n\r\n", 7)))
+        return soap->error;
+    }
+#endif
+  }
+#ifdef WITH_TCPFIN
+#ifdef WITH_OPENSSL
+  if (!soap->ssl && soap_valid_socket(soap->socket) && !soap->keep_alive && !(soap->omode & SOAP_IO_UDP))
+    soap->fshutdownsocket(soap, soap->socket, SOAP_SHUT_WR); /* Send TCP FIN */
+#else
+  if (soap_valid_socket(soap->socket) && !soap->keep_alive && !(soap->omode & SOAP_IO_UDP))
+    soap->fshutdownsocket(soap, soap->socket, SOAP_SHUT_WR); /* Send TCP FIN */
+#endif
+#endif
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "End of send phase\n"));
+  soap->omode &= ~SOAP_SEC_WSUID;
+  soap->count = 0;
+  soap->part = SOAP_END;
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_end_recv(struct soap *soap)
+{ soap->part = SOAP_END;
+#ifndef WITH_LEAN
+  soap->wsuid = NULL;		/* reset before next send */
+  soap->c14nexclude = NULL;	/* reset before next send */
+#endif
+#ifndef WITH_LEANER
+  soap->ffilterrecv = NULL;
+  if ((soap->mode & SOAP_ENC_DIME) && soap_getdime(soap))
+  { soap->dime.first = NULL;
+    soap->dime.last = NULL;
+    return soap->error;
+  }
+  soap->dime.list = soap->dime.first;
+  soap->dime.first = NULL;
+  soap->dime.last = NULL;
+  /* Check if MIME attachments and mime-post-check flag is set, if so call soap_resolve() and return */
+  if (soap->mode & SOAP_ENC_MIME)
+  { if (soap->mode & SOAP_MIME_POSTCHECK)
+    { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Post checking MIME attachments\n"));
+      if (!soap->keep_alive)
+        soap->keep_alive = -1;
+#ifndef WITH_NOIDREF
+      soap_resolve(soap);
+#endif
+      return SOAP_OK;
+    }
+    if (soap_getmime(soap))
+      return soap->error;
+  }
+  soap->mime.list = soap->mime.first;
+  soap->mime.first = NULL;
+  soap->mime.last = NULL;
+  soap->mime.boundary = NULL;
+  if (soap->xlist)
+  { struct soap_multipart *content;
+    for (content = soap->mime.list; content; content = content->next)
+      soap_resolve_attachment(soap, content);
+  }
+#endif
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "End of receive message ok\n"));
+#ifdef WITH_ZLIB
+  if (soap->mode & SOAP_ENC_ZLIB)
+  { /* Make sure end of compressed content is reached */
+    while (soap->d_stream->next_out != Z_NULL)
+      if ((int)soap_get1(soap) == EOF)
+        break;
+    soap->mode &= ~SOAP_ENC_ZLIB;
+    memcpy(soap->buf, soap->z_buf, SOAP_BUFLEN);
+    soap->bufidx = (char*)soap->d_stream->next_in - soap->z_buf;
+    soap->buflen = soap->z_buflen;
+    soap->zlib_state = SOAP_ZLIB_NONE;
+    if (inflateEnd(soap->d_stream) != Z_OK)
+      return soap->error = SOAP_ZLIB_ERROR;
+    DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Inflate end ok\n"));
+#ifdef WITH_GZIP
+    if (soap->zlib_in == SOAP_ZLIB_GZIP)
+    { soap_wchar c;
+      short i;
+      DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Inflate gzip crc check\n"));
+      for (i = 0; i < 8; i++)
+      { if ((int)(c = soap_get1(soap)) == EOF)
+        { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Gzip error: unable to read crc value\n"));
+          return soap->error = SOAP_ZLIB_ERROR;
+        }
+        soap->z_buf[i] = (char)c;
+      }
+      if (soap->z_crc != ((uLong)(unsigned char)soap->z_buf[0] | ((uLong)(unsigned char)soap->z_buf[1] << 8) | ((uLong)(unsigned char)soap->z_buf[2] << 16) | ((uLong)(unsigned char)soap->z_buf[3] << 24)))
+      { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Gzip inflate error: crc check failed, message corrupted? (crc32=%lu)\n", (unsigned long)soap->z_crc));
+        return soap->error = SOAP_ZLIB_ERROR;
+      }
+      if (soap->d_stream->total_out != ((uLong)(unsigned char)soap->z_buf[4] | ((uLong)(unsigned char)soap->z_buf[5] << 8) | ((uLong)(unsigned char)soap->z_buf[6] << 16) | ((uLong)(unsigned char)soap->z_buf[7] << 24)))
+      { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Gzip inflate error: incorrect message length\n"));
+        return soap->error = SOAP_ZLIB_ERROR;
+      }
+    }
+    soap->zlib_in = SOAP_ZLIB_NONE;
+#endif
+  }
+#endif
+  if ((soap->mode & SOAP_IO) == SOAP_IO_CHUNK)
+    while (soap->ahead != EOF && !soap_recv_raw(soap))
+      ;
+#ifndef WITH_NOIDREF
+  if (soap_resolve(soap))
+    return soap->error;
+#endif
+#ifndef WITH_LEANER
+  if (soap->xlist)
+  { if (soap->mode & SOAP_ENC_MTOM)
+      return soap->error = SOAP_MIME_HREF;
+    return soap->error = SOAP_DIME_HREF;
+  }
+#endif
+  soap_free_ns(soap);
+#ifndef WITH_LEANER
+  if (soap->fpreparefinalrecv)
+    return soap->error = soap->fpreparefinalrecv(soap);
+#endif
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_free_temp(struct soap *soap)
+{ register struct soap_attribute *tp, *tq;
+  register struct Namespace *ns;
+  soap_free_ns(soap);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Free any remaining temp blocks\n"));
+  while (soap->blist)
+    soap_end_block(soap, NULL);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Free attribute storage\n"));
+  for (tp = soap->attributes; tp; tp = tq)
+  { tq = tp->next;
+    if (tp->value)
+      SOAP_FREE(soap, tp->value);
+    SOAP_FREE(soap, tp);
+  }
+  soap->attributes = NULL;
+#ifdef WITH_FAST
+  if (soap->labbuf)
+    SOAP_FREE(soap, soap->labbuf);
+  soap->labbuf = NULL;
+  soap->lablen = 0;
+  soap->labidx = 0;
+#endif
+  ns = soap->local_namespaces;
+  if (ns)
+  { for (; ns->id; ns++)
+    { if (ns->out)
+      { SOAP_FREE(soap, ns->out);
+        ns->out = NULL;
+      }
+    }
+    SOAP_FREE(soap, soap->local_namespaces);
+    soap->local_namespaces = NULL;
+  }
+#ifndef WITH_LEANER
+  while (soap->xlist)
+  { struct soap_xlist *xp = soap->xlist->next;
+    SOAP_FREE(soap, soap->xlist);
+    soap->xlist = xp;
+  }
+#endif
+#ifndef WITH_NOIDREF
+  soap_free_pht(soap);
+  soap_free_iht(soap);
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+static void
+soap_free_ns(struct soap *soap)
+{ register struct soap_nlist *np, *nq;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Free namespace stack\n"));
+  for (np = soap->nlist; np; np = nq)
+  { nq = np->next;
+    SOAP_FREE(soap, np);
+  }
+  soap->nlist = NULL;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+#if !defined(WITH_LEAN) || defined(SOAP_DEBUG)
+static void
+soap_init_logs(struct soap *soap)
+{ int i;
+  for (i = 0; i < SOAP_MAXLOGS; i++)
+  { soap->logfile[i] = NULL;
+    soap->fdebug[i] = NULL;
+  }
+}
+#endif
+#endif
+
+/******************************************************************************/
+#if !defined(WITH_LEAN) || defined(SOAP_DEBUG)
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_open_logfile(struct soap *soap, int i)
+{ if (soap->logfile[i])
+    soap->fdebug[i] = fopen(soap->logfile[i], i < 2 ? "ab" : "a");
+}
+#endif
+
+/******************************************************************************/
+#ifdef SOAP_DEBUG
+static void
+soap_close_logfile(struct soap *soap, int i)
+{ if (soap->fdebug[i])
+  { fclose(soap->fdebug[i]);
+    soap->fdebug[i] = NULL;
+  }
+}
+#endif
+
+/******************************************************************************/
+#ifdef SOAP_DEBUG
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_close_logfiles(struct soap *soap)
+{ int i;
+  for (i = 0; i < SOAP_MAXLOGS; i++)
+    soap_close_logfile(soap, i);
+}
+#endif
+
+/******************************************************************************/
+#ifdef SOAP_DEBUG
+static void
+soap_set_logfile(struct soap *soap, int i, const char *logfile)
+{ const char *s;
+  char *t = NULL;
+  soap_close_logfile(soap, i);
+  s = soap->logfile[i];
+  soap->logfile[i] = logfile;
+  if (s)
+    SOAP_FREE(soap, (void*)s);
+  if (logfile)
+    if ((t = (char*)SOAP_MALLOC(soap, strlen(logfile) + 1)))
+      strcpy(t, logfile);
+  soap->logfile[i] = t;
+}
+#endif
+
+/******************************************************************************/
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_set_recv_logfile(struct soap *soap, const char *logfile)
+{
+#ifdef SOAP_DEBUG
+  soap_set_logfile(soap, SOAP_INDEX_RECV, logfile);
+#endif
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_set_sent_logfile(struct soap *soap, const char *logfile)
+{
+#ifdef SOAP_DEBUG
+  soap_set_logfile(soap, SOAP_INDEX_SENT, logfile);
+#endif
+}
+
+/******************************************************************************/
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_set_test_logfile(struct soap *soap, const char *logfile)
+{
+#ifdef SOAP_DEBUG
+  soap_set_logfile(soap, SOAP_INDEX_TEST, logfile);
+#endif
+}
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+struct soap*
+SOAP_FMAC2
+soap_copy(const struct soap *soap)
+{ return soap_copy_context((struct soap*)malloc(sizeof(struct soap)), soap);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+struct soap*
+SOAP_FMAC2
+soap_copy_context(struct soap *copy, const struct soap *soap)
+{ if (copy == soap)
+    return copy;
+  if (soap_check_state(soap))
+    return NULL;
+  if (copy)
+  { register struct soap_plugin *p = NULL;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying context\n"));
+#ifdef __cplusplus
+    *copy = *soap;
+#else
+    memcpy(copy, soap, sizeof(struct soap));
+#endif
+    copy->state = SOAP_COPY;
+    copy->error = SOAP_OK;
+    copy->userid = NULL;
+    copy->passwd = NULL;
+#ifdef WITH_NTLM
+    copy->ntlm_challenge = NULL;
+#endif
+    copy->nlist = NULL;
+    copy->blist = NULL;
+    copy->clist = NULL;
+    copy->alist = NULL;
+    copy->attributes = NULL;
+    copy->labbuf = NULL;
+    copy->lablen = 0;
+    copy->labidx = 0;
+#ifdef SOAP_MEM_DEBUG
+    soap_init_mht(copy);
+#endif
+#if !defined(WITH_LEAN) || defined(SOAP_DEBUG)
+    soap_init_logs(copy);
+#endif
+#ifdef SOAP_DEBUG
+    soap_set_test_logfile(copy, soap->logfile[SOAP_INDEX_TEST]);
+    soap_set_sent_logfile(copy, soap->logfile[SOAP_INDEX_SENT]);
+    soap_set_recv_logfile(copy, soap->logfile[SOAP_INDEX_RECV]);
+#endif
+    copy->namespaces = soap->local_namespaces;
+    copy->local_namespaces = NULL;
+    soap_set_local_namespaces(copy); /* copy content of soap->local_namespaces */
+    copy->namespaces = soap->namespaces; /* point to shared read-only namespaces table */
+#ifdef WITH_C_LOCALE
+# ifdef WIN32
+    copy->c_locale = _create_locale(LC_ALL, "C");
+# else
+    copy->c_locale = duplocale(soap->c_locale);
+# endif
+#else
+    copy->c_locale = NULL;
+#endif
+#ifdef WITH_OPENSSL
+    copy->bio = NULL;
+    copy->ssl = NULL;
+    copy->session = NULL;
+#endif
+#ifdef WITH_GNUTLS
+    copy->session = NULL;
+#endif
+#ifdef WITH_ZLIB
+    copy->d_stream = (z_stream*)SOAP_MALLOC(copy, sizeof(z_stream));
+    copy->d_stream->zalloc = Z_NULL;
+    copy->d_stream->zfree = Z_NULL;
+    copy->d_stream->opaque = Z_NULL;
+    copy->z_buf = NULL;
+#endif
+#ifndef WITH_NOIDREF
+    soap_init_iht(copy);
+    soap_init_pht(copy);
+#endif
+    copy->header = NULL;
+    copy->fault = NULL;
+    copy->action = NULL;
+#ifndef WITH_LEAN
+#ifdef WITH_COOKIES
+    copy->cookies = soap_copy_cookies(copy, soap);
+#else
+    copy->cookies = NULL;
+#endif
+#endif
+    copy->plugins = NULL;
+    for (p = soap->plugins; p; p = p->next)
+    { register struct soap_plugin *q = (struct soap_plugin*)SOAP_MALLOC(copy, sizeof(struct soap_plugin));
+      if (!q)
+        return NULL;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying plugin '%s'\n", p->id));
+      *q = *p;
+      if (p->fcopy && p->fcopy(copy, q, p))
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not copy plugin '%s'\n", p->id));
+        SOAP_FREE(copy, q);
+        return NULL;
+      }
+      q->next = copy->plugins;
+      copy->plugins = q;
+    }
+  }
+  return copy;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_copy_stream(struct soap *copy, struct soap *soap)
+{ struct soap_attribute *tp = NULL, *tq;
+  if (copy == soap)
+    return;
+  copy->header = soap->header;
+  copy->mode = soap->mode;
+  copy->imode = soap->imode;
+  copy->omode = soap->omode;
+  copy->master = soap->master;
+  copy->socket = soap->socket;
+  copy->sendsk = soap->sendsk;
+  copy->recvsk = soap->recvsk;
+  copy->recv_timeout = soap->recv_timeout;
+  copy->send_timeout = soap->send_timeout;
+#if defined(__cplusplus) && !defined(WITH_LEAN)
+  copy->os = soap->os;
+  copy->is = soap->is;
+#endif
+  copy->sendfd = soap->sendfd;
+  copy->recvfd = soap->recvfd;
+  copy->bufidx = soap->bufidx;
+  copy->buflen = soap->buflen;
+  copy->ahead = soap->ahead;
+  copy->cdata = soap->cdata;
+  copy->chunksize = soap->chunksize;
+  copy->chunkbuflen = soap->chunkbuflen;
+  copy->keep_alive = soap->keep_alive;
+  copy->tcp_keep_alive = soap->tcp_keep_alive;
+  copy->tcp_keep_idle = soap->tcp_keep_idle;
+  copy->tcp_keep_intvl = soap->tcp_keep_intvl;
+  copy->tcp_keep_cnt = soap->tcp_keep_cnt;
+  copy->max_keep_alive = soap->max_keep_alive;
+#ifndef WITH_NOIO
+  copy->peer = soap->peer;
+  copy->peerlen = soap->peerlen;
+  copy->ip = soap->ip;
+  copy->port = soap->port;
+  memcpy(copy->host, soap->host, sizeof(soap->host));
+  memcpy(copy->endpoint, soap->endpoint, sizeof(soap->endpoint));
+#endif
+#ifdef WITH_OPENSSL
+  copy->bio = soap->bio;
+  copy->ctx = soap->ctx;
+  copy->ssl = soap->ssl;
+#endif
+#ifdef WITH_GNUTLS
+  copy->session = soap->session;
+#endif
+#ifdef WITH_ZLIB
+  copy->zlib_state = soap->zlib_state;
+  copy->zlib_in = soap->zlib_in;
+  copy->zlib_out = soap->zlib_out;
+  if (!copy->d_stream)
+    copy->d_stream = (z_stream*)SOAP_MALLOC(copy, sizeof(z_stream));
+  if (copy->d_stream)
+    memcpy(copy->d_stream, soap->d_stream, sizeof(z_stream));
+  copy->z_crc = soap->z_crc;
+  copy->z_ratio_in = soap->z_ratio_in;
+  copy->z_ratio_out = soap->z_ratio_out;
+  copy->z_buf = NULL;
+  copy->z_buflen = soap->z_buflen;
+  copy->z_level = soap->z_level;
+  if (soap->z_buf && soap->zlib_state != SOAP_ZLIB_NONE)
+  { copy->z_buf = (char*)SOAP_MALLOC(copy, SOAP_BUFLEN);
+    if (copy->z_buf)
+      memcpy(copy->z_buf, soap->z_buf, SOAP_BUFLEN);
+  }
+  copy->z_dict = soap->z_dict;
+  copy->z_dict_len = soap->z_dict_len;
+#endif
+  memcpy(copy->buf, soap->buf, sizeof(soap->buf));
+  /* copy XML parser state */
+  soap_free_ns(copy);
+  soap_set_local_namespaces(copy);
+  copy->version = soap->version;
+  if (soap->nlist && soap->local_namespaces)
+  { register struct soap_nlist *np = NULL, *nq;
+    /* copy reversed nlist */
+    for (nq = soap->nlist; nq; nq = nq->next)
+    { register struct soap_nlist *nr = np;
+      size_t n = sizeof(struct soap_nlist) + strlen(nq->id);
+      np = (struct soap_nlist*)SOAP_MALLOC(copy, n);
+      if (!np)
+        break;
+      memcpy(np, nq, n);
+      np->next = nr;
+    }
+    while (np)
+    { register const char *s = np->ns;
+      copy->level = np->level; /* preserve element nesting level */
+      if (!s && np->index >= 0)
+      { s = soap->local_namespaces[np->index].out;
+        if (!s)
+          s = soap->local_namespaces[np->index].ns;
+      }
+      if (s && soap_push_namespace(copy, np->id, s) == NULL)
+        break;
+      nq = np;
+      np = np->next;
+      SOAP_FREE(copy, nq);
+    }
+  }
+  memcpy(copy->tag, soap->tag, sizeof(copy->tag));
+  memcpy(copy->id, soap->id, sizeof(copy->id));
+  memcpy(copy->href, soap->href, sizeof(copy->href));
+  memcpy(copy->type, soap->type, sizeof(copy->type));
+  copy->other = soap->other;
+  copy->root = soap->root;
+  copy->null = soap->null;
+  copy->body = soap->body;
+  copy->part = soap->part;
+  copy->mustUnderstand = soap->mustUnderstand;
+  copy->level = soap->level;
+  copy->peeked = soap->peeked;
+  /* copy attributes */
+  for (tq = soap->attributes; tq; tq = tq->next)
+  { struct soap_attribute *tr = tp;
+    size_t n = sizeof(struct soap_attribute) + strlen(tq->name);
+    tp = (struct soap_attribute*)SOAP_MALLOC(copy, n);
+    memcpy(tp, tq, n);
+    if (tp->size)
+    { tp->value = (char*)SOAP_MALLOC(copy, tp->size);
+      if (tp->value)
+        strcpy(tp->value, tq->value);
+    }
+    tp->ns = NULL;
+    tp->next = tr;
+  }
+  copy->attributes = tp;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_free_stream(struct soap *soap)
+{ soap->socket = SOAP_INVALID_SOCKET;
+  soap->sendsk = SOAP_INVALID_SOCKET;
+  soap->recvsk = SOAP_INVALID_SOCKET;
+#ifdef WITH_OPENSSL
+  soap->bio = NULL;
+  soap->ctx = NULL;
+  soap->ssl = NULL;
+#endif
+#ifdef WITH_GNUTLS
+  soap->xcred = NULL;
+  soap->acred = NULL;
+  soap->cache = NULL;
+  soap->session = NULL;
+  soap->dh_params = NULL;
+  soap->rsa_params = NULL;
+#endif
+#ifdef WITH_ZLIB
+  if (soap->z_buf)
+    SOAP_FREE(soap, soap->z_buf);
+  soap->z_buf = NULL;
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_initialize(struct soap *soap)
+{ soap_versioning(soap_init)(soap, SOAP_IO_DEFAULT, SOAP_IO_DEFAULT);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_versioning(soap_init)(struct soap *soap, soap_mode imode, soap_mode omode)
+{ size_t i;
+  soap->state = SOAP_INIT;
+#ifdef SOAP_MEM_DEBUG
+  soap_init_mht(soap);
+#endif
+#if !defined(WITH_LEAN) || defined(SOAP_DEBUG)
+  soap_init_logs(soap);
+#endif
+#ifdef SOAP_DEBUG
+#ifdef TANDEM_NONSTOP
+  soap_set_test_logfile(soap, "TESTLOG");
+  soap_set_sent_logfile(soap, "SENTLOG");
+  soap_set_recv_logfile(soap, "RECVLOG");
+#else
+  soap_set_test_logfile(soap, "TEST.log");
+  soap_set_sent_logfile(soap, "SENT.log");
+  soap_set_recv_logfile(soap, "RECV.log");
+#endif
+#endif
+  soap->version = 0;
+  soap_mode(soap, imode);
+  soap_imode(soap, imode);
+  soap_omode(soap, omode);
+  soap->plugins = NULL;
+  soap->user = NULL;
+  for (i = 0; i < sizeof(soap->data)/sizeof(*soap->data); i++)
+    soap->data[i] = NULL;
+  soap->userid = NULL;
+  soap->passwd = NULL;
+  soap->authrealm = NULL;
+#ifdef WITH_NTLM
+  soap->ntlm_challenge = NULL;
+#endif
+#ifndef WITH_NOHTTP
+  soap->fpost = http_post;
+  soap->fget = http_get;
+  soap->fput = http_405;
+  soap->fdel = http_405;
+  soap->fopt = http_200;
+  soap->fhead = http_200;
+  soap->fform = NULL;
+  soap->fposthdr = http_post_header;
+  soap->fresponse = http_response;
+  soap->fparse = http_parse;
+  soap->fparsehdr = http_parse_header;
+#endif
+  soap->fheader = NULL;
+  soap->fconnect = NULL;
+  soap->fdisconnect = NULL;
+#ifndef WITH_NOIO
+  soap->ipv6_multicast_if = 0; /* in_addr_t value */
+  soap->ipv4_multicast_if = NULL; /* points to struct in_addr or in_addr_t */
+  soap->ipv4_multicast_ttl = 0; /* 0: use default */
+#ifndef WITH_IPV6
+  soap->fresolve = tcp_gethost;
+#else
+  soap->fresolve = NULL;
+#endif
+  soap->faccept = tcp_accept;
+  soap->fopen = tcp_connect;
+  soap->fclose = tcp_disconnect;
+  soap->fclosesocket = tcp_closesocket;
+  soap->fshutdownsocket = tcp_shutdownsocket;
+  soap->fsend = fsend;
+  soap->frecv = frecv;
+  soap->fpoll = soap_poll;
+#else
+  soap->fopen = NULL;
+  soap->fclose = NULL;
+  soap->fpoll = NULL;
+#endif
+  soap->fseterror = NULL;
+  soap->fignore = NULL;
+  soap->fserveloop = NULL;
+  soap->fplugin = fplugin;
+  soap->fmalloc = NULL;
+#ifndef WITH_LEANER
+  soap->feltbegin = NULL;
+  soap->feltendin = NULL;
+  soap->feltbegout = NULL;
+  soap->feltendout = NULL;
+  soap->fprepareinitsend = NULL;
+  soap->fprepareinitrecv = NULL;
+  soap->fpreparesend = NULL;
+  soap->fpreparerecv = NULL;
+  soap->fpreparefinalsend = NULL;
+  soap->fpreparefinalrecv = NULL;
+  soap->ffiltersend = NULL;
+  soap->ffilterrecv = NULL;
+  soap->fdimereadopen = NULL;
+  soap->fdimewriteopen = NULL;
+  soap->fdimereadclose = NULL;
+  soap->fdimewriteclose = NULL;
+  soap->fdimeread = NULL;
+  soap->fdimewrite = NULL;
+  soap->fmimereadopen = NULL;
+  soap->fmimewriteopen = NULL;
+  soap->fmimereadclose = NULL;
+  soap->fmimewriteclose = NULL;
+  soap->fmimeread = NULL;
+  soap->fmimewrite = NULL;
+#endif
+  soap->float_format = "%.9G"; /* Alternative: use "%G" */
+  soap->double_format = "%.17lG"; /* Alternative: use "%lG" */
+  soap->dime_id_format = "cid:id%d"; /* default DIME id format */
+  soap->http_version = "1.1";
+  soap->proxy_http_version = "1.0";
+  soap->http_content = NULL;
+  soap->actor = NULL;
+  soap->lang = "en";
+  soap->keep_alive = 0;
+  soap->tcp_keep_alive = 0;
+  soap->tcp_keep_idle = 0;
+  soap->tcp_keep_intvl = 0;
+  soap->tcp_keep_cnt = 0;
+  soap->max_keep_alive = SOAP_MAXKEEPALIVE;
+  soap->recv_timeout = 0;
+  soap->send_timeout = 0;
+  soap->connect_timeout = 0;
+  soap->accept_timeout = 0;
+  soap->socket_flags = 0;
+  soap->connect_flags = 0;
+  soap->bind_flags = 0;
+  soap->accept_flags = 0;
+  soap->linger_time = 0;
+  soap->ip = 0;
+  soap->labbuf = NULL;
+  soap->lablen = 0;
+  soap->labidx = 0;
+  soap->encodingStyle = NULL;
+#ifndef WITH_NONAMESPACES
+  soap->namespaces = namespaces;
+#else
+  soap->namespaces = NULL;
+#endif
+  soap->local_namespaces = NULL;
+  soap->nlist = NULL;
+  soap->blist = NULL;
+  soap->clist = NULL;
+  soap->alist = NULL;
+  soap->attributes = NULL;
+  soap->header = NULL;
+  soap->fault = NULL;
+  soap->master = SOAP_INVALID_SOCKET;
+  soap->socket = SOAP_INVALID_SOCKET;
+  soap->sendsk = SOAP_INVALID_SOCKET;
+  soap->recvsk = SOAP_INVALID_SOCKET;
+  soap->os = NULL;
+  soap->is = NULL;
+#ifndef WITH_LEANER
+  soap->dom = NULL;
+  soap->dime.list = NULL;
+  soap->dime.first = NULL;
+  soap->dime.last = NULL;
+  soap->mime.list = NULL;
+  soap->mime.first = NULL;
+  soap->mime.last = NULL;
+  soap->mime.boundary = NULL;
+  soap->mime.start = NULL;
+  soap->xlist = NULL;
+#endif
+#ifndef UNDER_CE
+  soap->recvfd = 0;
+  soap->sendfd = 1;
+#else
+  soap->recvfd = stdin;
+  soap->sendfd = stdout;
+#endif
+  soap->host[0] = '\0';
+  soap->port = 0;
+  soap->action = NULL;
+  soap->proxy_host = NULL;
+  soap->proxy_port = 8080;
+  soap->proxy_userid = NULL;
+  soap->proxy_passwd = NULL;
+  soap->prolog = NULL;
+#ifdef WITH_ZLIB
+  soap->zlib_state = SOAP_ZLIB_NONE;
+  soap->zlib_in = SOAP_ZLIB_NONE;
+  soap->zlib_out = SOAP_ZLIB_NONE;
+  soap->d_stream = (z_stream*)SOAP_MALLOC(soap, sizeof(z_stream));
+  soap->d_stream->zalloc = Z_NULL;
+  soap->d_stream->zfree = Z_NULL;
+  soap->d_stream->opaque = Z_NULL;
+  soap->z_buf = NULL;
+  soap->z_level = 6;
+  soap->z_dict = NULL;
+  soap->z_dict_len = 0;
+#endif
+#ifndef WITH_LEAN
+  soap->wsuid = NULL;
+  soap->c14nexclude = NULL;
+  soap->cookies = NULL;
+  soap->cookie_domain = NULL;
+  soap->cookie_path = NULL;
+  soap->cookie_max = 32;
+#endif
+#ifdef WMW_RPM_IO
+  soap->rpmreqid = NULL;
+#endif
+#ifdef PALM
+  palmNetLibOpen();
+#endif
+#ifndef WITH_NOIDREF
+  soap_init_iht(soap);
+  soap_init_pht(soap);
+#endif
+#ifdef WITH_OPENSSL
+  if (!soap_ssl_init_done)
+    soap_ssl_init();
+  soap->fsslauth = ssl_auth_init;
+  soap->fsslverify = ssl_verify_callback;
+  soap->bio = NULL;
+  soap->ssl = NULL;
+  soap->ctx = NULL;
+  soap->session = NULL;
+  soap->ssl_flags = SOAP_SSL_DEFAULT;
+  soap->keyfile = NULL;
+  soap->keyid = NULL;
+  soap->password = NULL;
+  soap->cafile = NULL;
+  soap->capath = NULL;
+  soap->crlfile = NULL;
+  soap->dhfile = NULL;
+  soap->randfile = NULL;
+#endif
+#ifdef WITH_GNUTLS
+  if (!soap_ssl_init_done)
+    soap_ssl_init();
+  soap->fsslauth = ssl_auth_init;
+  soap->fsslverify = NULL;
+  soap->xcred = NULL;
+  soap->acred = NULL;
+  soap->cache = NULL;
+  soap->session = NULL;
+  soap->ssl_flags = SOAP_SSL_DEFAULT;
+  soap->keyfile = NULL;
+  soap->keyid = NULL;
+  soap->password = NULL;
+  soap->cafile = NULL;
+  soap->capath = NULL;
+  soap->crlfile = NULL;
+  soap->dh_params = NULL;
+  soap->rsa_params = NULL;
+#endif
+#ifdef WITH_C_LOCALE
+# ifdef WIN32
+  soap->c_locale = _create_locale(LC_ALL, "C");
+# else
+  soap->c_locale = newlocale(LC_ALL_MASK, "C", NULL);
+# endif
+#else
+  soap->c_locale = NULL;
+#endif
+  soap->buflen = 0;
+  soap->bufidx = 0;
+#ifndef WITH_LEANER
+  soap->dime.chunksize = 0;
+  soap->dime.buflen = 0;
+#endif
+  soap->null = 0;
+  soap->position = 0;
+  soap->encoding = 0;
+  soap->mustUnderstand = 0;
+  soap->ns = 0;
+  soap->part = SOAP_END;
+  soap->event = 0;
+  soap->evlev = 0;
+  soap->alloced = 0;
+  soap->count = 0;
+  soap->length = 0;
+  soap->cdata = 0;
+  soap->peeked = 0;
+  soap->ahead = 0;
+  soap->idnum = 0;
+  soap->level = 0;
+  soap->endpoint[0] = '\0';
+  soap->error = SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_begin(struct soap *soap)
+{ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Reinitializing context\n"));
+  if (!soap->keep_alive)
+  { soap->buflen = 0;
+    soap->bufidx = 0;
+  }
+  soap->null = 0;
+  soap->position = 0;
+  soap->encoding = 0;
+  soap->mustUnderstand = 0;
+  soap->mode = 0;
+  soap->ns = 0;
+  soap->part = SOAP_END;
+  soap->event = 0;
+  soap->evlev = 0;
+  soap->alloced = 0;
+  soap->count = 0;
+  soap->length = 0;
+  soap->cdata = 0;
+  soap->error = SOAP_OK;
+  soap->peeked = 0;
+  soap->ahead = 0;
+  soap->idnum = 0;
+  soap->level = 0;
+  soap->endpoint[0] = '\0';
+  soap->encodingStyle = SOAP_STR_EOS;
+#ifndef WITH_LEANER
+  soap->dime.chunksize = 0;
+  soap->dime.buflen = 0;
+#endif
+  soap_free_temp(soap);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_end(struct soap *soap)
+{ if (soap_check_state(soap))
+    return;
+  soap_free_temp(soap);
+  soap_dealloc(soap, NULL);
+  while (soap->clist)
+  { register struct soap_clist *cp = soap->clist->next;
+    SOAP_FREE(soap, soap->clist);
+    soap->clist = cp;
+  }
+  soap_closesock(soap);
+#ifdef SOAP_DEBUG
+  soap_close_logfiles(soap);
+#endif
+#ifdef PALM
+  palmNetLibClose();
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_set_version(struct soap *soap, short version)
+{ soap_set_local_namespaces(soap);
+  if (soap->version != version)
+  { if (version == 1)
+    { soap->local_namespaces[0].ns = soap_env1;
+      soap->local_namespaces[1].ns = soap_enc1;
+    }
+    else if (version == 2)
+    { soap->local_namespaces[0].ns = soap_env2;
+      soap->local_namespaces[1].ns = soap_enc2;
+    }
+    soap->version = version;
+  }
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_set_namespaces(struct soap *soap, const struct Namespace *p)
+{ register struct Namespace *ns = soap->local_namespaces;
+  register struct soap_nlist *np, *nq, *nr;
+  register unsigned int level = soap->level;
+  soap->namespaces = p;
+  soap->local_namespaces = NULL;
+  soap_set_local_namespaces(soap);
+  /* reverse the namespace list */
+  np = soap->nlist;
+  soap->nlist = NULL;
+  if (np)
+  { nq = np->next;
+    np->next = NULL;
+    while (nq)
+    { nr = nq->next;
+      nq->next = np;
+      np = nq;
+      nq = nr;
+    }
+  }
+  /* then push on new stack */
+  while (np)
+  { register const char *s;
+    soap->level = np->level; /* preserve element nesting level */
+    s = np->ns;
+    if (!s && np->index >= 0 && ns)
+    { s = ns[np->index].out;
+      if (!s)
+        s = ns[np->index].ns;
+    }
+    if (s && soap_push_namespace(soap, np->id, s) == NULL)
+      return soap->error;
+    nq = np;
+    np = np->next;
+    SOAP_FREE(soap, nq);
+  }
+  if (ns)
+  { register int i;
+    for (i = 0; ns[i].id; i++)
+    { if (ns[i].out)
+      { SOAP_FREE(soap, ns[i].out);
+        ns[i].out = NULL;
+      }
+    }
+    SOAP_FREE(soap, ns);
+  }
+  soap->level = level; /* restore level */
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_set_local_namespaces(struct soap *soap)
+{ if (soap->namespaces && !soap->local_namespaces)
+  { register const struct Namespace *ns1;
+    register struct Namespace *ns2;
+    register size_t n = 1;
+    for (ns1 = soap->namespaces; ns1->id; ns1++)
+      n++;
+    n *= sizeof(struct Namespace);
+    ns2 = (struct Namespace*)SOAP_MALLOC(soap, n);
+    if (ns2)
+    { memcpy(ns2, soap->namespaces, n);
+      if (ns2[0].ns)
+      { if (!strcmp(ns2[0].ns, soap_env1))
+          soap->version = 1;
+        else if (!strcmp(ns2[0].ns, soap_env2))
+          soap->version = 2;
+      }
+      soap->local_namespaces = ns2;
+      for (; ns2->id; ns2++)
+        ns2->out = NULL;
+    }
+  }
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+#ifndef PALM_1
+SOAP_FMAC1
+const char *
+SOAP_FMAC2
+soap_tagsearch(const char *big, const char *little)
+{ if (little)
+  { register size_t n = strlen(little);
+    register const char *s = big;
+    while (s)
+    { register const char *t = s;
+      register size_t i;
+      for (i = 0; i < n; i++, t++)
+      { if (*t != little[i])
+          break;
+      }
+      if (*t == '\0' || *t == ' ')
+      { if (i == n || (i && little[i-1] == ':'))
+          return s;
+      }
+      s = strchr(t, ' ');
+      if (s)
+        s++;
+    }
+  }
+  return NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+#ifndef PALM_1
+SOAP_FMAC1
+struct soap_nlist *
+SOAP_FMAC2
+soap_lookup_ns(struct soap *soap, const char *tag, size_t n)
+{ register struct soap_nlist *np;
+  for (np = soap->nlist; np; np = np->next)
+  { if (!strncmp(np->id, tag, n) && !np->id[n])
+      return np;
+  }
+  return NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+static struct soap_nlist *
+soap_push_ns(struct soap *soap, const char *id, const char *ns, short utilized)
+{ register struct soap_nlist *np;
+  size_t n, k;
+  if (soap_tagsearch(soap->c14nexclude, id))
+    return NULL;
+  if (!utilized)
+  { for (np = soap->nlist; np; np = np->next)
+    { if (!strcmp(np->id, id) && (!np->ns || !strcmp(np->ns, ns)))
+        break;
+    }
+    if (np)
+    { if ((np->level < soap->level || !np->ns) && np->index == 1)
+        utilized = 1;
+      else
+        return NULL;
+    }
+  }
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Adding namespace binding (level=%u) '%s' '%s' utilized=%d\n", soap->level, id, ns ? ns : "(null)", utilized));
+  n = strlen(id);
+  if (ns)
+    k = strlen(ns);
+  else
+    k = 0;
+  np = (struct soap_nlist*)SOAP_MALLOC(soap, sizeof(struct soap_nlist) + n + k + 1);
+  if (!np)
+  { soap->error = SOAP_EOM;
+    return NULL;
+  }
+  np->next = soap->nlist;
+  soap->nlist = np;
+  strcpy((char*)np->id, id);
+  if (ns)
+    np->ns = strcpy((char*)np->id + n + 1, ns);
+  else
+    np->ns = NULL;
+  np->level = soap->level;
+  np->index = utilized;
+  return np;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+static void
+soap_utilize_ns(struct soap *soap, const char *tag)
+{ register struct soap_nlist *np;
+  size_t n = 0;
+  const char *t = strchr(tag, ':');
+  if (t)
+  { n = t - tag;
+    if (n >= sizeof(soap->tmpbuf))
+      n = sizeof(soap->tmpbuf) - 1;
+  }
+  np = soap_lookup_ns(soap, tag, n);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Utilizing namespace of '%s'\n", tag));
+  if (np)
+  { if (np->index <= 0)
+      soap_push_ns(soap, np->id, np->ns, 1);
+  }
+  else if (strncmp(tag, "xml", 3))
+  { strncpy(soap->tmpbuf, tag, n);
+    soap->tmpbuf[n] = '\0';
+    soap_push_ns(soap, soap->tmpbuf, NULL, 1);
+  }
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element(struct soap *soap, const char *tag, int id, const char *type)
+{
+#ifndef WITH_LEAN
+  register const char *s;
+#endif
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Element begin tag='%s' level='%u' id='%d' type='%s'\n", tag, soap->level, id, type ? type : SOAP_STR_EOS));
+  soap->level++;
+#ifdef WITH_DOM
+#ifndef WITH_LEAN
+  if (soap->wsuid && soap_tagsearch(soap->wsuid, tag))
+  { size_t i;
+    for (s = tag, i = 0; *s && i < sizeof(soap->tag) - 1; s++, i++)
+      soap->tag[i] = *s == ':' ? '-' : *s;
+    soap->tag[i] = '\0';
+    if (soap_set_attr(soap, "wsu:Id", soap->tag, 1))
+      return soap->error;
+  }
+  if ((soap->mode & SOAP_XML_CANONICAL) && !(soap->mode & SOAP_DOM_ASIS))
+  { if (soap->evlev >= soap->level)
+      soap->evlev = 0;
+    if (soap->event == SOAP_SEC_BEGIN && !soap->evlev)
+    { register struct soap_nlist *np;
+      /* non-nested wsu:Id found: clear xmlns, re-emit them for exc-c14n */
+      for (np = soap->nlist; np; np = np->next)
+      { if (np->index == 2)
+        { struct soap_nlist *np1 = soap_push_ns(soap, np->id, np->ns, 1);
+          if (np1)
+            np1->index = 0;
+        }
+      }
+      soap->evlev = soap->level;
+    }
+  }
+#endif
+  if (soap->mode & SOAP_XML_DOM)
+  { register struct soap_dom_element *elt = (struct soap_dom_element*)soap_malloc(soap, sizeof(struct soap_dom_element));
+    if (!elt)
+      return soap->error;
+    elt->soap = soap;
+    elt->next = NULL;
+    elt->prnt = soap->dom;
+    elt->name = soap_strdup(soap, tag);
+    elt->elts = NULL;
+    elt->atts = NULL;
+    elt->nstr = NULL;
+    elt->data = NULL;
+    elt->wide = NULL;
+    elt->node = NULL;
+    elt->type = 0;
+    elt->head = NULL;
+    elt->tail = NULL;
+    if (soap->dom)
+    { struct soap_dom_element *p = soap->dom->elts;
+      if (p)
+      { while (p->next)
+          p = p->next;
+        p->next = elt;
+      }
+      else
+        soap->dom->elts = elt;
+    }
+    soap->dom = elt;
+  }
+  else
+  {
+#endif
+#ifndef WITH_LEAN
+    if (!soap->ns)
+    { if (!(soap->mode & SOAP_XML_CANONICAL)
+       && soap_send(soap, soap->prolog ? soap->prolog : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"))
+        return soap->error;
+    }
+    else if (soap->mode & SOAP_XML_INDENT)
+    { if (soap->ns == 1 && soap_send_raw(soap, soap_indent, soap->level < sizeof(soap_indent) ? soap->level : sizeof(soap_indent) - 1))
+        return soap->error;
+      soap->body = 1;
+    }
+    if ((soap->mode & SOAP_XML_DEFAULTNS) && (s = strchr(tag, ':')))
+    { struct Namespace *ns = soap->local_namespaces;
+      size_t n = s - tag;
+      if (soap_send_raw(soap, "<", 1)
+       || soap_send(soap, s + 1))
+        return soap->error;
+      if (soap->nlist && !strncmp(soap->nlist->id, tag, n) && !soap->nlist->id[n])
+        ns = NULL;
+      for (; ns && ns->id; ns++)
+      { if (*ns->id && (ns->out || ns->ns) && !strncmp(ns->id, tag, n) && !ns->id[n])
+        { soap_push_ns(soap, ns->id, ns->out ? ns->out : ns->ns, 0);
+          if (soap_attribute(soap, "xmlns", ns->out ? ns->out : ns->ns))
+            return soap->error;
+          break;
+        }
+      }
+    }
+    else
+#endif
+    if (soap_send_raw(soap, "<", 1)
+     || soap_send(soap, tag))
+      return soap->error;
+#ifdef WITH_DOM
+  }
+#endif
+  if (!soap->ns)
+  { struct Namespace *ns = soap->local_namespaces;
+    int k = -1;
+    if (ns)
+    {
+#ifndef WITH_LEAN
+      if ((soap->mode & SOAP_XML_DEFAULTNS))
+      { if (soap->version)
+          k = 4; /* first four required entries */
+        else if (!(soap->mode & SOAP_XML_NOTYPE) || (soap->mode & SOAP_XML_NIL))
+        { ns += 2;
+          k = 2; /* next two entries */
+        }
+        else
+          k = 0; /* no entries */
+      }
+#endif
+      while (k-- && ns->id)
+      { if (*ns->id && (ns->out || ns->ns))
+        {
+#ifdef HAVE_SNPRINTF
+          soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "xmlns:%s", ns->id);
+#else
+          sprintf(soap->tmpbuf, "xmlns:%s", ns->id);
+#endif
+          if (soap_attribute(soap, soap->tmpbuf, ns->out ? ns->out : ns->ns))
+            return soap->error;
+        }
+        ns++;
+      }
+    }
+  }
+  soap->ns = 1; /* namespace table control: ns = 0 or 2 to start, then 1 to stop dumping the table  */
+#ifndef WITH_LEAN
+  if (soap->mode & SOAP_XML_CANONICAL)
+    soap_utilize_ns(soap, tag);
+#endif
+  if (id > 0)
+  {
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "_%d", id);
+#else
+    sprintf(soap->tmpbuf, "_%d", id);
+#endif
+    if (soap->version == 2)
+    { if (soap_attribute(soap, "SOAP-ENC:id", soap->tmpbuf))
+        return soap->error;
+    }
+    else if (soap_attribute(soap, "id", soap->tmpbuf))
+      return soap->error;
+  }
+  if (type && *type && !(soap->mode & SOAP_XML_NOTYPE) && soap->part != SOAP_IN_HEADER)
+  { const char *t = type;
+#ifndef WITH_LEAN
+    if (soap->mode & SOAP_XML_DEFAULTNS)
+    { t = strchr(type, ':');
+      if (t)
+        t++;
+      else
+        t = type;
+    }
+#endif
+    if (soap->attributes ? soap_set_attr(soap, "xsi:type", t, 1) : soap_attribute(soap, "xsi:type", t))
+      return soap->error;
+#ifndef WITH_LEAN
+    if (soap->mode & SOAP_XML_CANONICAL)
+      soap_utilize_ns(soap, type);
+#endif
+  }
+  if (soap->null && soap->position > 0)
+  { register int i;
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf) - 1, "[%d", soap->positions[0]);
+#else
+    sprintf(soap->tmpbuf, "[%d", soap->positions[0]);
+#endif
+    for (i = 1; i < soap->position; i++)
+    { register size_t l = strlen(soap->tmpbuf);
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->tmpbuf + l, sizeof(soap->tmpbuf)-l-1, ",%d", soap->positions[i]);
+#else
+      if (l + 13 < sizeof(soap->tmpbuf))
+        sprintf(soap->tmpbuf + l, ",%d", soap->positions[i]);
+#endif
+    }
+    strcat(soap->tmpbuf, "]");
+    if (soap_attribute(soap, "SOAP-ENC:position", soap->tmpbuf))
+      return soap->error;
+  }
+  if (soap->mustUnderstand)
+  { if (soap->actor && *soap->actor)
+    { if (soap_attribute(soap, soap->version == 2 ? "SOAP-ENV:role" : "SOAP-ENV:actor", soap->actor))
+        return soap->error;
+    }
+    if (soap_attribute(soap, "SOAP-ENV:mustUnderstand", soap->version == 2 ? "true" : "1"))
+      return soap->error;
+    soap->mustUnderstand = 0;
+  }
+  if (soap->encoding)
+  { if (soap->encodingStyle && soap->local_namespaces && soap->local_namespaces[0].id && soap->local_namespaces[1].id)
+    { if (!*soap->encodingStyle)
+      { if (soap->local_namespaces[1].out)
+          soap->encodingStyle = soap->local_namespaces[1].out;
+        else
+          soap->encodingStyle = soap->local_namespaces[1].ns;
+      }
+      if (soap->encodingStyle && soap_attribute(soap, "SOAP-ENV:encodingStyle", soap->encodingStyle))
+        return soap->error;
+    }
+    else
+      soap->encodingStyle = NULL;
+    soap->encoding = 0;
+  }
+  soap->null = 0;
+  soap->position = 0;
+  if (soap->event == SOAP_SEC_BEGIN)
+    soap->event = 0;
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_begin_out(struct soap *soap, const char *tag, int id, const char *type)
+{ if (*tag == '-')
+    return SOAP_OK;
+  if (soap_element(soap, tag, id, type))
+    return soap->error;
+#ifdef WITH_DOM
+  if (soap_element_start_end_out(soap, NULL))
+    return soap->error;
+  if (soap->feltbegout)
+    return soap->error = soap->feltbegout(soap, tag);
+  return SOAP_OK;
+#else
+  return soap_element_start_end_out(soap, NULL);
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+#ifndef HAVE_STRRCHR
+SOAP_FMAC1
+char*
+SOAP_FMAC2
+soap_strrchr(const char *s, int t)
+{ register char *r = NULL;
+  while (*s)
+    if (*s++ == t)
+      r = (char*)s - 1;
+  return r;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+#ifndef HAVE_STRTOL
+SOAP_FMAC1
+long
+SOAP_FMAC2
+soap_strtol(const char *s, char **t, int b)
+{ register long n = 0;
+  register int c;
+  while (*s > 0 && *s <= 32)
+    s++;
+  if (b == 10)
+  { short neg = 0;
+    if (*s == '-')
+    { s++;
+      neg = 1;
+    }
+    else if (*s == '+')
+      s++;
+    while ((c = *s) && c >= '0' && c <= '9')
+    { if (n >= 214748364 && (n > 214748364 || c >= '8'))
+        break;
+      n *= 10;
+      n += c - '0';
+      s++;
+    }
+    if (neg)
+      n = -n;
+  }
+  else /* assume b == 16 and value is always positive */
+  { while ((c = *s))
+    { if (c >= '0' && c <= '9')
+        c -= '0';
+      else if (c >= 'A' && c <= 'F')
+        c -= 'A' - 10;
+      else if (c >= 'a' && c <= 'f')
+        c -= 'a' - 10;
+      if (n > 0x07FFFFFF)
+        break;
+      n <<= 4;
+      n += c;
+      s++;
+    }
+  }
+  if (t)
+    *t = (char*)s;
+  return n;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+#ifndef HAVE_STRTOUL
+SOAP_FMAC1
+unsigned long
+SOAP_FMAC2
+soap_strtoul(const char *s, char **t, int b)
+{ unsigned long n = 0;
+  register int c;
+  while (*s > 0 && *s <= 32)
+    s++;
+  if (b == 10)
+  { if (*s == '+')
+      s++;
+    while ((c = *s) && c >= '0' && c <= '9')
+    { if (n >= 429496729 && (n > 429496729 || c >= '6'))
+        break;
+      n *= 10;
+      n += c - '0';
+      s++;
+    }
+  }
+  else /* b == 16 */
+  { while ((c = *s))
+    { if (c >= '0' && c <= '9')
+        c -= '0';
+      else if (c >= 'A' && c <= 'F')
+        c -= 'A' - 10;
+      else if (c >= 'a' && c <= 'f')
+        c -= 'a' - 10;
+      if (n > 0x0FFFFFFF)
+        break;
+      n <<= 4;
+      n += c;
+      s++;
+    }
+  }
+  if (t)
+    *t = (char*)s;
+  return n;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_array_begin_out(struct soap *soap, const char *tag, int id, const char *type, const char *offset)
+{ if (!type || !*type)
+    return soap_element_begin_out(soap, tag, id, NULL);
+  if (soap_element(soap, tag, id, "SOAP-ENC:Array"))
+    return soap->error;
+  if (soap->version == 2)
+  { const char *s;
+    s = soap_strrchr(type, '[');
+    if (s && (size_t)(s - type) < sizeof(soap->tmpbuf))
+    { strncpy(soap->tmpbuf, type, s - type);
+      soap->tmpbuf[s - type] = '\0';
+      if (soap_attribute(soap, "SOAP-ENC:itemType", soap->tmpbuf))
+        return soap->error;
+      s++;
+      if (*s)
+      { strncpy(soap->tmpbuf, s, sizeof(soap->tmpbuf));
+        soap->tmpbuf[sizeof(soap->tmpbuf) - 1] = '\0';
+        soap->tmpbuf[strlen(soap->tmpbuf) - 1] = '\0';
+        if (soap_attribute(soap, "SOAP-ENC:arraySize", soap->tmpbuf))
+          return soap->error;
+      }
+    }
+  }
+  else
+  { if (offset && soap_attribute(soap, "SOAP-ENC:offset", offset))
+      return soap->error;
+    if (soap_attribute(soap, "SOAP-ENC:arrayType", type))
+      return soap->error;
+  }
+#ifndef WITH_LEAN
+  if ((soap->mode & SOAP_XML_CANONICAL))
+    soap_utilize_ns(soap, type);
+#endif
+  return soap_element_start_end_out(soap, NULL);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_start_end_out(struct soap *soap, const char *tag)
+{ register struct soap_attribute *tp;
+#ifndef WITH_LEAN
+  if (soap->mode & SOAP_XML_CANONICAL)
+  { struct soap_nlist *np;
+    for (tp = soap->attributes; tp; tp = tp->next)
+    { if (tp->visible && tp->name)
+        soap_utilize_ns(soap, tp->name);
+    }
+    for (np = soap->nlist; np; np = np->next)
+    { if (np->index == 1 && np->ns)
+      { if (*(np->id))
+        {
+#ifdef HAVE_SNPRINTF
+          soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "xmlns:%s", np->id);
+#else
+          sprintf(soap->tmpbuf, "xmlns:%s", np->id);
+#endif
+        }
+        else
+          strcpy(soap->tmpbuf, "xmlns");
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Enabling utilized binding (level=%u) %s='%s'\n", np->level, soap->tmpbuf, np->ns));
+        soap_set_attr(soap, soap->tmpbuf, np->ns, 1);
+        np->index = 2;
+      }
+    }
+  }
+#endif
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+  { register struct soap_dom_attribute **att;
+    att = &soap->dom->atts;
+    for (tp = soap->attributes; tp; tp = tp->next)
+    { if (tp->visible)
+      { *att = (struct soap_dom_attribute*)soap_malloc(soap, sizeof(struct soap_dom_attribute));
+        if (!*att)
+          return soap->error;
+        (*att)->next = NULL;
+        (*att)->nstr = NULL;
+        (*att)->name = soap_strdup(soap, tp->name);
+        (*att)->data = soap_strdup(soap, tp->value);
+        (*att)->wide = NULL;
+        (*att)->soap = soap;
+        att = &(*att)->next;
+        tp->visible = 0;
+      }
+    }
+    return SOAP_OK;
+  }
+#endif
+  for (tp = soap->attributes; tp; tp = tp->next)
+  { if (tp->visible)
+    {
+#ifndef WITH_LEAN
+      const char *s;
+      if ((soap->mode & SOAP_XML_DEFAULTNS) && (s = strchr(tp->name, ':')))
+      { size_t n = s - tp->name;
+        if (soap->nlist && !strncmp(soap->nlist->id, tp->name, n) && !soap->nlist->id[n])
+          s++;
+        else
+          s = tp->name;
+        if (soap_send(soap, " ") || soap_send(soap, s))
+          return soap->error;
+      }
+      else
+#endif
+      if (soap_send(soap, " ") || soap_send(soap, tp->name))
+        return soap->error;
+      if (tp->visible == 2 && tp->value)
+        if (soap_send_raw(soap, "=\"", 2)
+         || soap_string_out(soap, tp->value, tp->flag)
+         || soap_send_raw(soap, "\"", 1))
+          return soap->error;
+      tp->visible = 0;
+    }
+  }
+  if (tag)
+  {
+#ifndef WITH_LEAN
+    if (soap->mode & SOAP_XML_CANONICAL)
+    { if (soap_send_raw(soap, ">", 1)
+       || soap_element_end_out(soap, tag))
+        return soap->error;
+      return SOAP_OK;
+    }
+#endif
+    soap->level--;	/* decrement level just before /> */
+    return soap_send_raw(soap, "/>", 2);
+  }
+  return soap_send_raw(soap, ">", 1);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_end_out(struct soap *soap, const char *tag)
+{
+#ifndef WITH_LEAN
+  const char *s;
+#endif
+  if (*tag == '-')
+    return SOAP_OK;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Element ending tag='%s'\n", tag));
+#ifdef WITH_DOM
+  if (soap->feltendout && (soap->error = soap->feltendout(soap, tag)))
+    return soap->error;
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+  { if (soap->dom->prnt)
+      soap->dom = soap->dom->prnt;
+    return SOAP_OK;
+  }
+#endif
+#ifndef WITH_LEAN
+  if (soap->mode & SOAP_XML_CANONICAL)
+    soap_pop_namespace(soap);
+  if (soap->mode & SOAP_XML_INDENT)
+  { if (!soap->body)
+    { if (soap_send_raw(soap, soap_indent, soap->level < sizeof(soap_indent) ? soap->level : sizeof(soap_indent) - 1))
+        return soap->error;
+    }
+    soap->body = 0;
+  }
+  if ((soap->mode & SOAP_XML_DEFAULTNS) && (s = strchr(tag, ':')))
+  { soap_pop_namespace(soap);
+    tag = s + 1;
+  }
+#endif
+  if (soap_send_raw(soap, "</", 2)
+   || soap_send(soap, tag))
+    return soap->error;
+  soap->level--;	/* decrement level just before > */
+  return soap_send_raw(soap, ">", 1);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_ref(struct soap *soap, const char *tag, int id, int href)
+{ register const char *s = "ref";
+  register int n = 1;
+  if (soap->version == 1)
+  { s = "href";
+    n = 0;
+  }
+  else if (soap->version == 2)
+    s = "SOAP-ENC:ref";
+#ifdef HAVE_SNPRINTF
+  soap_snprintf(soap->href, sizeof(soap->href), "#_%d", href);
+#else
+  sprintf(soap->href, "#_%d", href);
+#endif
+  return soap_element_href(soap, tag, id, s, soap->href + n);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_href(struct soap *soap, const char *tag, int id, const char *ref, const char *val)
+{ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Element '%s' reference %s='%s'\n", tag, ref, val));
+  if (soap_element(soap, tag, id, NULL)
+   || soap_attribute(soap, ref, val)
+   || soap_element_start_end_out(soap, tag))
+    return soap->error;
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_null(struct soap *soap, const char *tag, int id, const char *type)
+{ struct soap_attribute *tp = NULL;
+  for (tp = soap->attributes; tp; tp = tp->next)
+    if (tp->visible)
+      break;
+  if (tp || (soap->version == 2 && soap->position > 0) || id > 0 || (soap->mode & SOAP_XML_NIL))
+  { if (soap_element(soap, tag, id, type)
+     || (!tp && soap_attribute(soap, "xsi:nil", "true")))
+      return soap->error;
+    return soap_element_start_end_out(soap, tag);
+  }
+  soap->null = 1;
+  soap->position = 0;
+  soap->mustUnderstand = 0;
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_nil(struct soap *soap, const char *tag)
+{ if (soap_element(soap, tag, -1, NULL)
+   || ((soap->mode & SOAP_XML_NIL) && soap_attribute(soap, "xsi:nil", "true")))
+    return soap->error;
+  return soap_element_start_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_id(struct soap *soap, const char *tag, int id, const void *p, const struct soap_array *a, int n, const char *type, int t)
+{ if (!p)
+  { soap->error = soap_element_null(soap, tag, id, type);
+    return -1;
+  }
+#ifndef WITH_NOIDREF
+  if ((!soap->encodingStyle && !(soap->omode & SOAP_XML_GRAPH)) || (soap->omode & SOAP_XML_TREE))
+    return 0;
+  if (id < 0)
+  { struct soap_plist *pp;
+    if (a)
+      id = soap_array_pointer_lookup(soap, p, a, n, t, &pp);
+    else
+      id = soap_pointer_lookup(soap, p, t, &pp);
+    if (id)
+    { if (soap_is_embedded(soap, pp))
+      { soap_element_ref(soap, tag, 0, id);
+        return -1;
+      }
+      if (soap_is_single(soap, pp))
+        return 0;
+      soap_set_embedded(soap, pp);
+    }
+  }
+  return id;
+#else
+  return 0;
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_result(struct soap *soap, const char *tag)
+{ if (soap->version == 2 && soap->encodingStyle)
+  { if (soap_element(soap, "SOAP-RPC:result", 0, NULL)
+     || soap_attribute(soap, "xmlns:SOAP-RPC", soap_rpc)
+     || soap_element_start_end_out(soap, NULL)
+     || soap_string_out(soap, tag, 0)
+     || soap_element_end_out(soap, "SOAP-RPC:result"))
+      return soap->error;
+  }
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_check_result(struct soap *soap, const char *tag)
+{ if (soap->version == 2 && soap->encodingStyle)
+  { soap_instring(soap, ":result", NULL, NULL, 0, 2, -1, -1);
+    /* just ignore content for compliance reasons, but should compare tag to element's QName value? */
+  }
+  (void)tag;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_attribute(struct soap *soap, const char *name, const char *value)
+{
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Attribute '%s'='%s'\n", name, value));
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && !(soap->mode & SOAP_XML_CANONICAL) && soap->dom)
+  { register struct soap_dom_attribute *a = (struct soap_dom_attribute*)soap_malloc(soap, sizeof(struct soap_dom_attribute));
+    if (!a)
+      return soap->error;
+    a->next = soap->dom->atts;
+    a->nstr = NULL;
+    a->name = soap_strdup(soap, name);
+    a->data = soap_strdup(soap, value);
+    a->wide = NULL;
+    a->soap = soap;
+    soap->dom->atts = a;
+    return SOAP_OK;
+  }
+#endif
+#ifndef WITH_LEAN
+  if (soap->mode & SOAP_XML_CANONICAL)
+  { /* push namespace */
+    if (!strncmp(name, "xmlns", 5) && (name[5] == ':' || name[5] == '\0'))
+      soap_push_ns(soap, name + 5 + (name[5] == ':'), value, 0);
+    else if (soap_set_attr(soap, name, value, 1))
+      return soap->error;
+  }
+  else
+#endif
+  { if (soap_send(soap, " ") || soap_send(soap, name))
+      return soap->error;
+    if (value)
+      if (soap_send_raw(soap, "=\"", 2)
+       || soap_string_out(soap, value, 1)
+       || soap_send_raw(soap, "\"", 1))
+        return soap->error;
+  }
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_begin_in(struct soap *soap, const char *tag, int nillable, const char *type)
+{ if (!soap_peek_element(soap))
+  { if (soap->other)
+      return soap->error = SOAP_TAG_MISMATCH;
+    if (tag && *tag == '-')
+      return SOAP_OK;
+    if (!(soap->error = soap_match_tag(soap, soap->tag, tag)))
+    { soap->peeked = 0;
+      if (type && *soap->type && soap_match_tag(soap, soap->type, type))
+        return soap->error = SOAP_TYPE;
+      if (!nillable && soap->null && (soap->mode & SOAP_XML_STRICT))
+        return soap->error = SOAP_NULL;
+      if (soap->body)
+        soap->level++;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Begin element found (level=%u) '%s'='%s'\n", soap->level, soap->tag, tag ? tag : SOAP_STR_EOS ));
+      soap->error = SOAP_OK;
+    }
+  }
+  else if (soap->error == SOAP_NO_TAG && tag && *tag == '-')
+    soap->error = SOAP_OK;
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_element_end_in(struct soap *soap, const char *tag)
+{ register soap_wchar c;
+  register char *s;
+  register int n = 0;
+  if (tag && *tag == '-')
+    return SOAP_OK;
+  if (soap->error == SOAP_NO_TAG)
+    soap->error = SOAP_OK;
+#ifdef WITH_DOM
+  /* this whitespace or mixed content is significant for DOM */
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+  { if (!soap->peeked && !soap_string_in(soap, 3, -1, -1))
+      return soap->error;
+    if (soap->dom->prnt)
+      soap->dom = soap->dom->prnt;
+  }
+#endif
+  if (soap->peeked)
+  { if (*soap->tag)
+      n++;
+    soap->peeked = 0;
+  }
+  do
+  { while (((c = soap_get(soap)) != SOAP_TT))
+    { if ((int)c == EOF)
+        return soap->error = SOAP_CHK_EOF;
+      if (c == SOAP_LT)
+        n++;
+      else if (c == '/')
+      { c = soap_get(soap);
+        if (c == SOAP_GT)
+          n--;
+        else
+          soap_unget(soap, c);
+      }
+    }
+  } while (n--);
+  s = soap->tag;
+  n = sizeof(soap->tag);
+  while (soap_notblank(c = soap_get(soap)))
+  { if (--n > 0)
+      *s++ = (char)c;
+  }
+  *s = '\0';
+  if ((int)c == EOF)
+    return soap->error = SOAP_CHK_EOF;
+  while (soap_blank(c))
+    c = soap_get(soap);
+  if (c != SOAP_GT)
+    return soap->error = SOAP_SYNTAX_ERROR;
+#ifndef WITH_LEAN
+#ifdef WITH_DOM
+  if (soap->feltendin)
+  { soap->level--;
+    return soap->error = soap->feltendin(soap, soap->tag, tag);
+  }
+#endif
+  if (tag && (soap->mode & SOAP_XML_STRICT))
+  { soap_pop_namespace(soap);
+    if (soap_match_tag(soap, soap->tag, tag))
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "End element tag '%s' does not match '%s'\n", soap->tag, tag ? tag : SOAP_STR_EOS));
+      return soap->error = SOAP_SYNTAX_ERROR;
+    }
+  }
+#endif
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "End element found (level=%u) '%s'='%s'\n", soap->level, soap->tag, tag ? tag : SOAP_STR_EOS));
+  soap->level--;
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char *
+SOAP_FMAC2
+soap_attr_value(struct soap *soap, const char *name, int flag)
+{ register struct soap_attribute *tp;
+  if (*name == '-')
+    return SOAP_STR_EOS;
+  for (tp = soap->attributes; tp; tp = tp->next)
+  { if (tp->visible && !soap_match_tag(soap, tp->name, name))
+      break;
+  }
+  if (tp)
+  { if (flag == 2 && (soap->mode & SOAP_XML_STRICT))
+      soap->error = SOAP_PROHIBITED;
+    else
+      return tp->value;
+  }
+  else if (flag == 1 && (soap->mode & SOAP_XML_STRICT))
+    soap->error = SOAP_REQUIRED;
+  else
+    soap->error = SOAP_OK;
+  return NULL;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_set_attr(struct soap *soap, const char *name, const char *value, int flag)
+{ register struct soap_attribute *tp;
+  if (*name == '-')
+    return SOAP_OK;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Set attribute %s='%s'\n", name, value ? value : SOAP_STR_EOS));
+  for (tp = soap->attributes; tp; tp = tp->next)
+  { if (!strcmp(tp->name, name))
+      break;
+  }
+  if (!tp)
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Allocate attribute %s\n", name));
+    if (!(tp = (struct soap_attribute*)SOAP_MALLOC(soap, sizeof(struct soap_attribute) + strlen(name))))
+      return soap->error = SOAP_EOM;
+    tp->ns = NULL;
+#ifndef WITH_LEAN
+    if ((soap->mode & SOAP_XML_CANONICAL))
+    { struct soap_attribute **tpp = &soap->attributes;
+      const char *s = strchr(name, ':');
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Inserting attribute %s for c14n\n", name));
+      if (!strncmp(name, "xmlns", 5))
+      { for (; *tpp; tpp = &(*tpp)->next)
+          if (strncmp((*tpp)->name, "xmlns", 5) || strcmp((*tpp)->name + 5, name + 5) > 0)
+            break;
+      }
+      else if (!s)
+      { for (; *tpp; tpp = &(*tpp)->next)
+          if (strncmp((*tpp)->name, "xmlns", 5) && ((*tpp)->ns || strcmp((*tpp)->name, name) > 0))
+            break;
+      }
+      else
+      { struct soap_nlist *np = soap_lookup_ns(soap, name, s - name);
+        if (np)
+          tp->ns = np->ns;
+        else
+        { struct soap_attribute *tq;
+          for (tq = soap->attributes; tq; tq = tq->next)
+          { if (!strncmp(tq->name, "xmlns:", 6) && !strncmp(tq->name + 6, name, s - name) && !tq->name[6 + s - name])
+            { tp->ns = tq->ns;
+              break;
+            }
+          }
+        }
+        for (; *tpp; tpp = &(*tpp)->next)
+        { int k;
+          if (strncmp((*tpp)->name, "xmlns", 5) && (*tpp)->ns && tp->ns && ((k = strcmp((*tpp)->ns, tp->ns)) > 0 || (!k && strcmp((*tpp)->name, name) > 0)))
+            break;
+        }
+      }
+      tp->next = *tpp;
+      *tpp = tp;
+    }
+    else
+#endif
+    { tp->next = soap->attributes;
+      soap->attributes = tp;
+    }
+    strcpy((char*)tp->name, name);
+    tp->value = NULL;
+  }
+  else if (tp->visible)
+  { return SOAP_OK;
+  }
+  else if (value && tp->value && tp->size <= strlen(value))
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Free attribute value of %s (free %p)\n", name, tp->value));
+    SOAP_FREE(soap, tp->value);
+    tp->value = NULL;
+    tp->ns = NULL;
+  }
+  if (value)
+  { if (!tp->value)
+    { tp->size = strlen(value) + 1;
+      if (!(tp->value = (char*)SOAP_MALLOC(soap, tp->size)))
+        return soap->error = SOAP_EOM;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Allocate attribute value for %s (%p)\n", tp->name, tp->value));
+    }
+    strcpy(tp->value, value);
+    if (!strncmp(tp->name, "xmlns:", 6))
+      tp->ns = tp->value;
+    tp->visible = 2;
+    tp->flag = (short)flag;
+#ifndef WITH_LEAN
+    if (!strcmp(name, "wsu:Id"))
+    { soap->event = SOAP_SEC_BEGIN;
+      strncpy(soap->id, value, sizeof(soap->id));
+      soap->id[sizeof(soap->id) - 1] = '\0';
+    }
+#endif
+  }
+  else
+    tp->visible = 1;
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_clr_attr(struct soap *soap)
+{ register struct soap_attribute *tp;
+#ifndef WITH_LEAN
+  if ((soap->mode & SOAP_XML_CANONICAL))
+  { while (soap->attributes)
+    { tp = soap->attributes->next;
+      if (soap->attributes->value)
+        SOAP_FREE(soap, soap->attributes->value);
+      SOAP_FREE(soap, soap->attributes);
+      soap->attributes = tp;
+    }
+  }
+  else
+#endif
+  { for (tp = soap->attributes; tp; tp = tp->next)
+      tp->visible = 0;
+  }
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+static int
+soap_getattrval(struct soap *soap, char *s, size_t n, soap_wchar d)
+{ register size_t i;
+  for (i = 0; i < n; i++)
+  { register soap_wchar c = soap_get(soap);
+    switch (c)
+    {
+    case SOAP_TT:
+      *s++ = '<';
+      soap_unget(soap, '/');
+      break;
+    case SOAP_LT:
+      *s++ = '<';
+      break;
+    case SOAP_GT:
+      if (d == ' ')
+      { soap_unget(soap, c);
+        *s = '\0';
+        return SOAP_OK;
+      }
+      *s++ = '>';
+      break;
+    case SOAP_QT:
+      if (c == d)
+      { *s = '\0';
+        return SOAP_OK;
+      }
+      *s++ = '"';
+      break;
+    case SOAP_AP:
+      if (c == d)
+      { *s = '\0';
+        return SOAP_OK;
+      }
+      *s++ = '\'';
+      break;
+    case '\t':
+    case '\n':
+    case '\r':
+    case ' ':
+    case '/':
+      if (d == ' ')
+      { soap_unget(soap, c);
+        *s = '\0';
+        return SOAP_OK;
+      }
+    default:
+      if ((int)c == EOF)
+      { *s = '\0';
+        return soap->error = SOAP_CHK_EOF;
+      }
+      *s++ = (char)c;
+    }
+  }
+  return soap->error = SOAP_EOM;
+}
+#endif
+
+/******************************************************************************/
+#ifdef WITH_FAST
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_store_lab(struct soap *soap, const char *s, size_t n)
+{ soap->labidx = 0;
+  return soap_append_lab(soap, s, n);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifdef WITH_FAST
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_append_lab(struct soap *soap, const char *s, size_t n)
+{ if (soap->labidx + n >= soap->lablen)
+  { register char *t = soap->labbuf;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Enlarging look-aside buffer to append data, size=%lu\n", (unsigned long)soap->lablen));
+    if (soap->lablen == 0)
+      soap->lablen = SOAP_LABLEN;
+    while (soap->labidx + n >= soap->lablen)
+      soap->lablen <<= 1;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "New look-aside buffer size=%lu\n", (unsigned long)soap->lablen));
+    soap->labbuf = (char*)SOAP_MALLOC(soap, soap->lablen);
+    if (!soap->labbuf)
+    { if (t)
+        SOAP_FREE(soap, t);
+      return soap->error = SOAP_EOM;
+    }
+    if (t)
+    { memcpy(soap->labbuf, t, soap->labidx);
+      SOAP_FREE(soap, t);
+    }
+  }
+  if (s)
+  { memcpy(soap->labbuf + soap->labidx, s, n);
+    soap->labidx += n;
+  }
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_peek_element(struct soap *soap)
+{
+#ifdef WITH_DOM
+  register struct soap_dom_attribute **att = NULL;
+  register char *lead = NULL;
+#endif
+  register struct soap_attribute *tp, *tq = NULL;
+  register const char *t;
+  register char *s;
+  register soap_wchar c;
+  register int i;
+  if (soap->peeked)
+  { if (!*soap->tag)
+      return soap->error = SOAP_NO_TAG;
+    return SOAP_OK;
+  }
+  soap->peeked = 1;
+  soap->id[0] = '\0';
+  soap->href[0] = '\0';
+  soap->type[0] = '\0';
+  soap->arrayType[0] = '\0';
+  soap->arraySize[0] = '\0';
+  soap->arrayOffset[0] = '\0';
+  soap->other = 0;
+  soap->root = -1;
+  soap->position = 0;
+  soap->null = 0;
+  soap->mustUnderstand = 0;
+  /* UTF-8 BOM? */
+  c = soap_getchar(soap);
+  if (c == 0xEF && soap_get0(soap) == 0xBB)
+  { c = soap_get1(soap);
+    if ((c = soap_get1(soap)) == 0xBF)
+      soap->mode &= ~SOAP_ENC_LATIN;
+    else
+      soap_unget(soap, (0x0F << 12) | (0xBB << 6) | (c & 0x3F)); /* UTF-8 */
+  }
+  else if ((c == 0xFE && soap_get0(soap) == 0xFF)  /* UTF-16 BE */
+        || (c == 0xFF && soap_get0(soap) == 0xFE)) /* UTF-16 LE */
+    return soap->error = SOAP_UTF_ERROR;
+  else
+    soap_unget(soap, c);
+  c = soap_get(soap);
+#ifdef WITH_DOM
+  /* whitespace leading to tag is not insignificant for DOM */
+  if (soap_blank(c))
+  { soap->labidx = 0;
+    do
+    { if (soap_append_lab(soap, NULL, 0))
+        return soap->error;
+      s = soap->labbuf + soap->labidx;
+      i = soap->lablen - soap->labidx;
+      soap->labidx = soap->lablen;
+      while (soap_blank(c) && i--)
+      { *s++ = c;
+        c = soap_get(soap);
+      }
+    }
+    while (soap_blank(c));
+    *s = '\0';
+    lead = soap->labbuf;
+  }
+#else
+  /* skip space */
+  while (soap_blank(c))
+    c = soap_get(soap);
+#endif
+  if (c != SOAP_LT)
+  { *soap->tag = '\0';
+    if ((int)c == EOF)
+      return soap->error = SOAP_CHK_EOF;
+    soap_unget(soap, c);
+#ifdef WITH_DOM
+    /* whitespace leading to end tag is significant for DOM */
+    if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+    { if (lead && *lead)
+        soap->dom->tail = soap_strdup(soap, lead);
+      else
+        soap->dom->tail = (char*)SOAP_STR_EOS;
+    }
+#endif
+    return soap->error = SOAP_NO_TAG;
+  }
+  do c = soap_get1(soap);
+  while (soap_blank(c));
+  s = soap->tag;
+  i = sizeof(soap->tag);
+  while (c != '>' && c != '/' && soap_notblank(c) && (int)c != EOF)
+  { if (--i > 0)
+      *s++ = (char)c;
+    c = soap_get1(soap);
+  }
+  *s = '\0';
+  while (soap_blank(c))
+    c = soap_get1(soap);
+#ifdef WITH_DOM
+  if (soap->mode & SOAP_XML_DOM)
+  { register struct soap_dom_element *elt;
+    elt = (struct soap_dom_element*)soap_malloc(soap, sizeof(struct soap_dom_element));
+    if (!elt)
+      return soap->error;
+    elt->next = NULL;
+    elt->nstr = NULL;
+    elt->name = soap_strdup(soap, soap->tag);
+    elt->prnt = soap->dom;
+    elt->elts = NULL;
+    elt->atts = NULL;
+    elt->data = NULL;
+    elt->wide = NULL;
+    elt->type = 0;
+    elt->node = NULL;
+    elt->head = soap_strdup(soap, lead);
+    elt->tail = NULL;
+    elt->soap = soap;
+    if (soap->dom)
+    { struct soap_dom_element *p = soap->dom->elts;
+      if (p)
+      { while (p->next)
+          p = p->next;
+        p->next = elt;
+      }
+      else
+        soap->dom->elts = elt;
+    }
+    soap->dom = elt;
+    att = &elt->atts;
+  }
+#endif
+  soap_pop_namespace(soap);
+  for (tp = soap->attributes; tp; tp = tp->next)
+    tp->visible = 0;
+  while ((int)c != EOF && c != '>' && c != '/')
+  { s = soap->tmpbuf;
+    i = sizeof(soap->tmpbuf);
+    while (c != '=' && c != '>' && c != '/' && soap_notblank(c) && (int)c != EOF)
+    { if (--i > 0)
+        *s++ = (char)c;
+      c = soap_get1(soap);
+    }
+    *s = '\0';
+    if (i == sizeof(soap->tmpbuf))
+      return soap->error = SOAP_SYNTAX_ERROR;
+#ifdef WITH_DOM
+    /* add attribute name to dom */
+    if (att)
+    { *att = (struct soap_dom_attribute*)soap_malloc(soap, sizeof(struct soap_dom_attribute));
+       if (!*att)
+         return soap->error;
+       (*att)->next = NULL;
+       (*att)->nstr = NULL;
+       (*att)->name = soap_strdup(soap, soap->tmpbuf);
+       (*att)->data = NULL;
+       (*att)->wide = NULL;
+       (*att)->soap = soap;
+    }
+#endif
+    if (!strncmp(soap->tmpbuf, "xmlns", 5))
+    { if (soap->tmpbuf[5] == ':')
+        t = soap->tmpbuf + 6;
+      else if (soap->tmpbuf[5])
+        t = NULL;
+      else
+        t = SOAP_STR_EOS;
+    }
+    else
+      t = NULL;
+    tq = NULL;
+    for (tp = soap->attributes; tp; tq = tp, tp = tp->next)
+    { if (!SOAP_STRCMP(tp->name, soap->tmpbuf))
+        break;
+    }
+    if (!tp)
+    { tp = (struct soap_attribute*)SOAP_MALLOC(soap, sizeof(struct soap_attribute) + strlen(soap->tmpbuf));
+      if (!tp)
+        return soap->error = SOAP_EOM;
+      strcpy((char*)tp->name, soap->tmpbuf);
+      tp->value = NULL;
+      tp->size = 0;
+      tp->ns = NULL;
+      /* if attribute name is qualified, append it to the end of the list */
+      if (tq && strchr(soap->tmpbuf, ':'))
+      { tq->next = tp;
+        tp->next = NULL;
+      }
+      else
+      { tp->next = soap->attributes;
+        soap->attributes = tp;
+      }
+    }
+    while (soap_blank(c))
+      c = soap_get1(soap);
+    if (c == '=')
+    { do c = soap_getutf8(soap);
+      while (soap_blank(c));
+      if (c != SOAP_QT && c != SOAP_AP)
+      { soap_unget(soap, c);
+        c = ' '; /* blank delimiter */
+      }
+      if (soap_getattrval(soap, tp->value, tp->size, c))
+      {
+#ifdef WITH_FAST
+        if (soap->error != SOAP_EOM)
+          return soap->error;
+        soap->error = SOAP_OK;
+        if (soap_store_lab(soap, tp->value, tp->size))
+          return soap->error;
+        if (tp->value)
+          SOAP_FREE(soap, tp->value);
+        tp->value = NULL;
+        for (;;)
+        { if (soap_getattrval(soap, soap->labbuf + soap->labidx, soap->lablen - soap->labidx, c))
+          { if (soap->error != SOAP_EOM)
+              return soap->error;
+            soap->error = SOAP_OK;
+            soap->labidx = soap->lablen;
+            if (soap_append_lab(soap, NULL, 0))
+              return soap->error;
+          }
+          else
+            break;
+        }
+        if (soap->labidx)
+          tp->size = soap->lablen;
+        else
+        { tp->size = strlen(soap->labbuf) + 1;
+          if (tp->size < SOAP_LABLEN)
+            tp->size = SOAP_LABLEN;
+        }
+        if (!(tp->value = (char*)SOAP_MALLOC(soap, tp->size)))
+          return soap->error = SOAP_EOM;
+        strcpy(tp->value, soap->labbuf);
+#else
+        size_t n;
+        if (soap->error != SOAP_EOM)
+          return soap->error;
+        soap->error = SOAP_OK;
+        if (soap_new_block(soap) == NULL)
+          return soap->error;
+        for (;;)
+        { if (!(s = (char*)soap_push_block(soap, NULL, SOAP_BLKLEN)))
+            return soap->error;
+          if (soap_getattrval(soap, s, SOAP_BLKLEN, c))
+          { if (soap->error != SOAP_EOM)
+              return soap->error;
+            soap->error = SOAP_OK;
+          }
+          else
+            break;
+        }
+        n = tp->size + soap->blist->size;
+        if (!(s = (char*)SOAP_MALLOC(soap, n)))
+          return soap->error = SOAP_EOM;
+        if (tp->value)
+        { memcpy(s, tp->value, tp->size);
+          SOAP_FREE(soap, tp->value);
+        }
+        soap_save_block(soap, NULL, s + tp->size, 0);
+        tp->value = s;
+        tp->size = n;
+#endif
+      }
+      do c = soap_get1(soap);
+      while (soap_blank(c));
+      tp->visible = 2; /* seen this attribute w/ value */
+#ifdef WITH_DOM
+      if (att)
+        (*att)->data = soap_strdup(soap, tp->value);
+#endif
+    }
+    else
+      tp->visible = 1; /* seen this attribute w/o value */
+#ifdef WITH_DOM
+    if (att)
+      att = &(*att)->next;
+#endif
+    if (t && tp->value)
+    { if (soap_push_namespace(soap, t, tp->value) == NULL)
+        return soap->error;
+    }
+  }
+#ifdef WITH_DOM
+  if (att)
+  { soap->dom->nstr = soap_current_namespace(soap, soap->tag);
+    for (att = &soap->dom->atts; *att; att = &(*att)->next)
+      (*att)->nstr = soap_current_namespace(soap, (*att)->name);
+  }
+#endif
+  if ((int)c == EOF)
+    return soap->error = SOAP_CHK_EOF;
+  if (!(soap->body = (c != '/')))
+    do c = soap_get1(soap);
+    while (soap_blank(c));
+#ifdef WITH_DOM
+  if (soap->mode & SOAP_XML_DOM)
+  { if (!soap->body && soap->dom->prnt)
+      soap->dom = soap->dom->prnt;
+  }
+#endif
+  for (tp = soap->attributes; tp; tp = tp->next)
+  { if (tp->visible && tp->value)
+    {
+#ifndef WITH_NOIDREF
+      if (!strcmp(tp->name, "id"))
+      { if ((soap->version > 0 && !(soap->imode & SOAP_XML_TREE))
+         || (soap->mode & SOAP_XML_GRAPH))
+        { *soap->id = '#';
+          strncpy(soap->id + 1, tp->value, sizeof(soap->id) - 2);
+          soap->id[sizeof(soap->id) - 1] = '\0';
+        }
+      }
+      else if (!strcmp(tp->name, "href"))
+      { if ((soap->version == 1 && !(soap->imode & SOAP_XML_TREE))
+         || (soap->mode & SOAP_XML_GRAPH)
+         || (soap->mode & SOAP_ENC_MTOM)
+         || (soap->mode & SOAP_ENC_DIME))
+        { strncpy(soap->href, tp->value, sizeof(soap->href) - 1);
+          soap->href[sizeof(soap->href) - 1] = '\0';
+        }
+      }
+      else if (!strcmp(tp->name, "ref"))
+      { if ((soap->version == 2 && !(soap->imode & SOAP_XML_TREE))
+         || (soap->mode & SOAP_XML_GRAPH))
+        { *soap->href = '#';
+          strncpy(soap->href + (*tp->value != '#'), tp->value, sizeof(soap->href) - 2);
+          soap->href[sizeof(soap->href) - 1] = '\0';
+        }
+      }
+      else
+#endif
+      if (!soap_match_tag(soap, tp->name, "xsi:type"))
+      { strncpy(soap->type, tp->value, sizeof(soap->type) - 1);
+        soap->type[sizeof(soap->type) - 1] = '\0';
+      }
+      else if ((!soap_match_tag(soap, tp->name, "xsi:null")
+             || !soap_match_tag(soap, tp->name, "xsi:nil"))
+            && (!strcmp(tp->value, "1")
+             || !strcmp(tp->value, "true")))
+      { soap->null = 1;
+      }
+      else if (soap->version == 1)
+      { if (!soap_match_tag(soap, tp->name, "SOAP-ENC:arrayType"))
+        { s = soap_strrchr(tp->value, '[');
+          if (s && (size_t)(s - tp->value) < sizeof(soap->arrayType))
+          { strncpy(soap->arrayType, tp->value, s - tp->value);
+            soap->arrayType[s - tp->value] = '\0';
+            strncpy(soap->arraySize, s, sizeof(soap->arraySize));
+          }
+          else
+            strncpy(soap->arrayType, tp->value, sizeof(soap->arrayType));
+          soap->arraySize[sizeof(soap->arraySize) - 1] = '\0';
+          soap->arrayType[sizeof(soap->arrayType) - 1] = '\0';
+        }
+        else if (!soap_match_tag(soap, tp->name, "SOAP-ENC:offset"))
+          strncpy(soap->arrayOffset, tp->value, sizeof(soap->arrayOffset));
+        else if (!soap_match_tag(soap, tp->name, "SOAP-ENC:position"))
+          soap->position = soap_getposition(tp->value, soap->positions);
+        else if (!soap_match_tag(soap, tp->name, "SOAP-ENC:root"))
+          soap->root = ((!strcmp(tp->value, "1") || !strcmp(tp->value, "true")));
+        else if (!soap_match_tag(soap, tp->name, "SOAP-ENV:mustUnderstand")
+              && (!strcmp(tp->value, "1") || !strcmp(tp->value, "true")))
+          soap->mustUnderstand = 1;
+        else if (!soap_match_tag(soap, tp->name, "SOAP-ENV:actor"))
+        { if ((!soap->actor || strcmp(soap->actor, tp->value))
+           && strcmp(tp->value, "http://schemas.xmlsoap.org/soap/actor/next"))
+            soap->other = 1;
+        }
+      }
+      else if (soap->version == 2)
+      {
+#ifndef WITH_NOIDREF
+        if (!soap_match_tag(soap, tp->name, "SOAP-ENC:id"))
+        { *soap->id = '#';
+          strncpy(soap->id + 1, tp->value, sizeof(soap->id) - 2);
+          soap->id[sizeof(soap->id) - 1] = '\0';
+        }
+        else if (!soap_match_tag(soap, tp->name, "SOAP-ENC:ref"))
+        { *soap->href = '#';
+          strncpy(soap->href + (*tp->value != '#'), tp->value, sizeof(soap->href) - 2);
+          soap->href[sizeof(soap->href) - 1] = '\0';
+        }
+        else
+#endif
+        if (!soap_match_tag(soap, tp->name, "SOAP-ENC:itemType"))
+          strncpy(soap->arrayType, tp->value, sizeof(soap->arrayType) - 1);
+        else if (!soap_match_tag(soap, tp->name, "SOAP-ENC:arraySize"))
+          strncpy(soap->arraySize, tp->value, sizeof(soap->arraySize) - 1);
+        else if (!soap_match_tag(soap, tp->name, "SOAP-ENV:mustUnderstand")
+              && (!strcmp(tp->value, "1") || !strcmp(tp->value, "true")))
+          soap->mustUnderstand = 1;
+        else if (!soap_match_tag(soap, tp->name, "SOAP-ENV:role"))
+        { if ((!soap->actor || strcmp(soap->actor, tp->value))
+           && strcmp(tp->value, "http://www.w3.org/2003/05/soap-envelope/role/next"))
+            soap->other = 1;
+        }
+      }
+      else
+      { if (!soap_match_tag(soap, tp->name, "wsdl:required") && !strcmp(tp->value, "true"))
+          soap->mustUnderstand = 1;
+      }
+    }
+  }
+#ifdef WITH_DOM
+  if (soap->feltbegin)
+    return soap->error = soap->feltbegin(soap, soap->tag);
+#endif
+  return soap->error = SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_retry(struct soap *soap)
+{ soap->error = SOAP_OK;
+  soap_revert(soap);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_revert(struct soap *soap)
+{ if (!soap->peeked)
+  { soap->peeked = 1;
+    if (soap->body)
+      soap->level--;
+  }
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Reverting to last element '%s' (level=%u)\n", soap->tag, soap->level));
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_string_out(struct soap *soap, const char *s, int flag)
+{ register const char *t;
+  register soap_wchar c;
+  register soap_wchar mask = (soap_wchar)0xFFFFFF80UL;
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+  { soap->dom->data = soap_strdup(soap, s);
+    return SOAP_OK;
+  }
+#endif
+  if (flag == 2 || soap->mode & SOAP_C_UTFSTRING)
+    mask = 0;
+  t = s;
+  while ((c = *t++))
+  { switch (c)
+    {
+    case 0x09:
+      if (flag)
+      { if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&#x9;", 5))
+          return soap->error;
+        s = t;
+      }
+      break;
+    case 0x0A:
+      if (flag || !(soap->mode & SOAP_XML_CANONICAL))
+      { if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&#xA;", 5))
+          return soap->error;
+        s = t;
+      }
+      break;
+    case 0x0D:
+      if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&#xD;", 5))
+        return soap->error;
+      s = t;
+      break;
+    case '&':
+      if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&amp;", 5))
+        return soap->error;
+      s = t;
+      break;
+    case '<':
+      if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&lt;", 4))
+        return soap->error;
+      s = t;
+      break;
+    case '>':
+      if (!flag)
+      { if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&gt;", 4))
+          return soap->error;
+        s = t;
+      }
+      break;
+    case '"':
+      if (flag)
+      { if (soap_send_raw(soap, s, t - s - 1) || soap_send_raw(soap, "&quot;", 6))
+          return soap->error;
+        s = t;
+      }
+      break;
+    default:
+#ifndef WITH_LEANER
+#ifdef HAVE_MBTOWC
+      if (soap->mode & SOAP_C_MBSTRING)
+      { wchar_t wc;
+        register int m = mbtowc(&wc, t - 1, MB_CUR_MAX);
+        if (m > 0 && !((soap_wchar)wc == c && m == 1 && c < 0x80))
+        { if (soap_send_raw(soap, s, t - s - 1) || soap_pututf8(soap, (unsigned long)wc))
+            return soap->error;
+          s = t += m - 1;
+          continue;
+        }
+      }
+#endif
+#endif
+#ifndef WITH_NOSTRINGTOUTF8
+      if ((c & mask) || !(c & 0xFFFFFFE0UL))
+      { if (soap_send_raw(soap, s, t - s - 1) || soap_pututf8(soap, (unsigned char)c))
+          return soap->error;
+        s = t;
+      }
+#endif
+    }
+  }
+  return soap_send_raw(soap, s, t - s - 1);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_string_in(struct soap *soap, int flag, long minlen, long maxlen)
+{ register char *s;
+  char *t = NULL;
+  register size_t i;
+  register long l = 0;
+  register int n = 0, f = 0, m = 0;
+  register soap_wchar c;
+#if !defined(WITH_LEANER) && defined(HAVE_WCTOMB)
+  char buf[MB_LEN_MAX > 8 ? MB_LEN_MAX : 8];
+#else
+  char buf[8];
+#endif
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Reading string content, flag=%d\n", flag));
+  if (soap->peeked && *soap->tag)
+  {
+#ifndef WITH_LEAN
+    struct soap_attribute *tp;
+    DBGLOG(TEST,SOAP_MESSAGE(fdebug, "String content includes tag '%s' and attributes\n", soap->tag));
+    t = soap->tmpbuf;
+    *t = '<';
+    strncpy(t + 1, soap->tag, sizeof(soap->tmpbuf) - 2);
+    t[sizeof(soap->tmpbuf) - 1] = '\0';
+    t += strlen(t);
+    for (tp = soap->attributes; tp; tp = tp->next)
+    { if (tp->visible)
+      { if (t >= soap->tmpbuf + sizeof(soap->tmpbuf) - 2)
+          break;
+        *t++ = ' ';
+        strcpy(t, tp->name);
+        t += strlen(t);
+        if (t >= soap->tmpbuf + sizeof(soap->tmpbuf) - 2)
+          break; /* too many or large attribute values */
+        if (tp->value)
+        { *t++ = '=';
+          *t++ = '"';
+          strcpy(t, tp->value);
+          t += strlen(t);
+          *t++ = '"';
+        }
+      }
+    }
+    if (!soap->body)
+      *t++ = '/';
+    *t++ = '>';
+    *t = '\0';
+    t = soap->tmpbuf;
+    m = (int)strlen(soap->tmpbuf);
+#endif
+    if (soap->body)
+      n = 1;
+    f = 1;
+    soap->peeked = 0;
+  }
+#ifdef WITH_CDATA
+  if (!flag)
+  { register int state = 0;
+#ifdef WITH_FAST
+    soap->labidx = 0;			/* use look-aside buffer */
+#else
+    if (soap_new_block(soap) == NULL)
+      return NULL;
+#endif
+    for (;;)
+    {
+#ifdef WITH_FAST
+      register size_t k;
+      if (soap_append_lab(soap, NULL, 0))	/* allocate more space in look-aside buffer if necessary */
+        return NULL;
+      s = soap->labbuf + soap->labidx;	/* space to populate */
+      k = soap->lablen - soap->labidx;	/* number of bytes available */
+      soap->labidx = soap->lablen;	/* claim this space */
+#else
+      register size_t k = SOAP_BLKLEN;
+      if (!(s = (char*)soap_push_block(soap, NULL, k)))
+        return NULL;
+#endif
+      for (i = 0; i < k; i++)
+      { if (m > 0)
+        { *s++ = *t++;	/* copy multibyte characters */
+          m--;
+          continue;
+        }
+        c = soap_getchar(soap);
+        if ((int)c == EOF)
+          goto end;
+        if ((c >= 0x80 || c < SOAP_AP) && state != 1 && !(soap->mode & SOAP_ENC_LATIN))
+        { if ((c & 0x7FFFFFFF) >= 0x80)
+          { soap_unget(soap, c);
+            c = soap_getutf8(soap);
+          }
+          if ((c & 0x7FFFFFFF) >= 0x80 && (!flag || (soap->mode & SOAP_C_UTFSTRING)))
+          { c &= 0x7FFFFFFF;
+            t = buf;
+            if (c < 0x0800)
+              *t++ = (char)(0xC0 | ((c >> 6) & 0x1F));
+            else
+            { if (c < 0x010000)
+                *t++ = (char)(0xE0 | ((c >> 12) & 0x0F));
+              else
+              { if (c < 0x200000)
+                  *t++ = (char)(0xF0 | ((c >> 18) & 0x07));
+                else
+                { if (c < 0x04000000)
+                    *t++ = (char)(0xF8 | ((c >> 24) & 0x03));
+                  else
+                  { *t++ = (char)(0xFC | ((c >> 30) & 0x01));
+                    *t++ = (char)(0x80 | ((c >> 24) & 0x3F));
+                  }
+                  *t++ = (char)(0x80 | ((c >> 18) & 0x3F));
+                }
+                *t++ = (char)(0x80 | ((c >> 12) & 0x3F));
+              }
+              *t++ = (char)(0x80 | ((c >> 6) & 0x3F));
+            }
+            *t++ = (char)(0x80 | (c & 0x3F));
+            m = (int)(t - buf) - 1;
+            t = buf;
+            *s++ = *t++;
+            continue;
+          }
+        }
+        switch (state)
+        { case 1:
+            if (c == ']')
+              state = 4;
+            *s++ = (char)c;
+            continue;
+          case 2:
+            if (c == '-')
+              state = 6;
+            *s++ = (char)c;
+            continue;
+          case 3:
+            if (c == '?')
+              state = 8;
+            *s++ = (char)c;
+            continue;
+          /* CDATA */
+          case 4:
+            if (c == ']')
+              state = 5;
+            else
+              state = 1;
+            *s++ = (char)c;
+            continue;
+          case 5:
+            if (c == '>')
+              state = 0;
+	    else if (c != ']')
+              state = 1;
+            *s++ = (char)c;
+            continue;
+          /* comment */
+          case 6:
+            if (c == '-')
+              state = 7;
+            else
+              state = 2;
+            *s++ = (char)c;
+            continue;
+          case 7:
+            if (c == '>')
+              state = 0;
+            else if (c != '-')
+              state = 2;
+            *s++ = (char)c;
+            continue;
+          /* PI */
+          case 8:
+            if (c == '>')
+              state = 0;
+            else if (c != '?')
+              state = 3;
+            *s++ = (char)c;
+            continue;
+        }
+        switch (c)
+        {
+        case SOAP_TT:
+          if (n == 0)
+            goto end;
+          n--;
+          *s++ = '<';
+          t = (char*)"/";
+          m = 1;
+          break;
+        case SOAP_LT:
+          if (f && n == 0)
+            goto end;
+          n++;
+          *s++ = '<';
+          break;
+        case SOAP_GT:
+          *s++ = '>';
+          break;
+        case SOAP_QT:
+          *s++ = '"';
+          break;
+        case SOAP_AP:
+          *s++ = '\'';
+          break;
+        case '/':
+          if (n > 0)
+          { c = soap_getchar(soap);
+            if (c == '>')
+              n--;
+            soap_unget(soap, c);
+          }
+          *s++ = '/';
+          break;
+        case '<':
+          c = soap_getchar(soap);
+          if (c == '/')
+          { if (n == 0)
+            { c = SOAP_TT;
+              goto end;
+            }
+            n--;
+          }
+          else if (c == '!')
+          { c = soap_getchar(soap);
+            if (c == '[')
+            { do c = soap_getchar(soap);
+              while ((int)c != EOF && c != '[');
+              if ((int)c == EOF)
+                 goto end;
+              t = (char*)"![CDATA[";
+              m = 8;
+              state = 1;
+            }
+            else if (c == '-')
+            { if ((c = soap_getchar(soap)) == '-')
+                state = 2;
+              t = (char*)"!-";
+              m = 2;
+              soap_unget(soap, c);
+            }
+            else
+            { t = (char*)"!";
+              m = 1;
+              soap_unget(soap, c);
+            }
+            *s++ = '<';
+            break;
+          }
+          else if (c == '?')
+            state = 3;
+          else if (f && n == 0)
+          { soap_revget1(soap);
+            c = '<';
+            goto end;
+          }
+          else
+            n++;
+          soap_unget(soap, c);
+          *s++ = '<';
+          break;
+        case '>':
+          *s++ = '>';
+          break;
+        case '"':
+          *s++ = '"';
+          break;
+        default:
+#ifndef WITH_LEANER
+#ifdef HAVE_WCTOMB
+          if (soap->mode & SOAP_C_MBSTRING)
+          { m = wctomb(buf, (wchar_t)(c & 0x7FFFFFFF));
+            if (m >= 1 && m <= (int)MB_CUR_MAX)
+            { t = buf;
+              *s++ = *t++;
+              m--;
+            }
+            else
+            { *s++ = SOAP_UNKNOWN_CHAR;
+              m = 0;
+            }
+          }
+          else
+#endif
+#endif
+            *s++ = (char)(c & 0xFF);
+        }
+        l++;
+        if (maxlen >= 0 && l > maxlen)
+        { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "String too long: maxlen=%ld\n", maxlen));
+          soap->error = SOAP_LENGTH;
+          return NULL;
+        }
+      }
+    }
+  }
+#endif
+#ifdef WITH_FAST
+  soap->labidx = 0;			/* use look-aside buffer */
+#else
+  if (soap_new_block(soap) == NULL)
+    return NULL;
+#endif
+  for (;;)
+  {
+#ifdef WITH_FAST
+    register size_t k;
+    if (soap_append_lab(soap, NULL, 0))	/* allocate more space in look-aside buffer if necessary */
+      return NULL;
+    s = soap->labbuf + soap->labidx;	/* space to populate */
+    k = soap->lablen - soap->labidx;	/* number of bytes available */
+    soap->labidx = soap->lablen;	/* claim this space */
+#else
+    register size_t k = SOAP_BLKLEN;
+    if (!(s = (char*)soap_push_block(soap, NULL, k)))
+      return NULL;
+#endif
+    for (i = 0; i < k; i++)
+    { if (m > 0)
+      { *s++ = *t++;	/* copy multibyte characters */
+        m--;
+        continue;
+      }
+#ifndef WITH_CDATA
+      if (!flag)
+        c = soap_getchar(soap);
+      else
+#endif
+      if ((soap->mode & SOAP_C_UTFSTRING))
+      { if (((c = soap_get(soap)) & 0x80000000) && c >= -0x7FFFFF80 && c < SOAP_AP)
+        { c &= 0x7FFFFFFF;
+          t = buf;
+          if (c < 0x0800)
+            *t++ = (char)(0xC0 | ((c >> 6) & 0x1F));
+          else
+          { if (c < 0x010000)
+              *t++ = (char)(0xE0 | ((c >> 12) & 0x0F));
+            else
+            { if (c < 0x200000)
+                *t++ = (char)(0xF0 | ((c >> 18) & 0x07));
+              else
+              { if (c < 0x04000000)
+                  *t++ = (char)(0xF8 | ((c >> 24) & 0x03));
+                else
+                { *t++ = (char)(0xFC | ((c >> 30) & 0x01));
+                  *t++ = (char)(0x80 | ((c >> 24) & 0x3F));
+                }
+                *t++ = (char)(0x80 | ((c >> 18) & 0x3F));
+              }
+              *t++ = (char)(0x80 | ((c >> 12) & 0x3F));
+            }
+            *t++ = (char)(0x80 | ((c >> 6) & 0x3F));
+          }
+          *t++ = (char)(0x80 | (c & 0x3F));
+          m = (int)(t - buf) - 1;
+          t = buf;
+          *s++ = *t++;
+          continue;
+        }
+      }
+      else
+        c = soap_getutf8(soap);
+      switch (c)
+      {
+      case SOAP_TT:
+        if (n == 0)
+          goto end;
+        n--;
+        *s++ = '<';
+        t = (char*)"/";
+        m = 1;
+        break;
+      case SOAP_LT:
+        if (f && n == 0)
+          goto end;
+        n++;
+        *s++ = '<';
+        break;
+      case SOAP_GT:
+        *s++ = '>';
+        break;
+      case SOAP_QT:
+        *s++ = '"';
+        break;
+      case SOAP_AP:
+        *s++ = '\'';
+        break;
+      case '/':
+        if (n > 0)
+        { if (!flag)
+	  { c = soap_getchar(soap);
+            if (c == '>')
+              n--;
+	  }
+	  else
+	  { c = soap_get(soap);
+            if (c == SOAP_GT)
+              n--;
+	  }
+          soap_unget(soap, c);
+        }
+        *s++ = '/';
+        break;
+      case (soap_wchar)('<' | 0x80000000):
+        if (flag)
+          *s++ = '<';
+        else
+        { *s++ = '&';
+          t = (char*)"lt;";
+          m = 3;
+        }
+        break;
+      case (soap_wchar)('>' | 0x80000000):
+        if (flag)
+          *s++ = '>';
+        else
+        { *s++ = '&';
+          t = (char*)"gt;";
+          m = 3;
+        }
+        break;
+      case (soap_wchar)('&' | 0x80000000):
+        if (flag)
+          *s++ = '&';
+        else
+        { *s++ = '&';
+          t = (char*)"amp;";
+          m = 4;
+        }
+        break;
+      case (soap_wchar)('"' | 0x80000000):
+        if (flag)
+          *s++ = '"';
+        else
+        { *s++ = '&';
+          t = (char*)"quot;";
+          m = 5;
+        }
+        break;
+      case (soap_wchar)('\'' | 0x80000000):
+        if (flag)
+          *s++ = '\'';
+        else
+        { *s++ = '&';
+          t = (char*)"apos;";
+          m = 5;
+        }
+        break;
+      default:
+        if ((int)c == EOF)
+          goto end;
+#ifndef WITH_CDATA
+        if (c == '<' && !flag)
+        {   if (f && n == 0)
+              goto end;
+            c = soap_getchar(soap);
+            soap_unget(soap, c);
+            if (c == '/')
+            { c = SOAP_TT;
+	      if (n == 0)
+                goto end;
+              n--;
+            }
+            else
+              n++;
+            *s++ = '<';
+            break;
+        }
+        else
+#endif
+#ifndef WITH_LEANER
+#ifdef HAVE_WCTOMB
+        if (soap->mode & SOAP_C_MBSTRING)
+        { m = wctomb(buf, (wchar_t)(c & 0x7FFFFFFF));
+          if (m >= 1 && m <= (int)MB_CUR_MAX)
+          { t = buf;
+            *s++ = *t++;
+            m--;
+          }
+          else
+          { *s++ = SOAP_UNKNOWN_CHAR;
+            m = 0;
+          }
+        }
+        else
+#endif
+#endif
+          *s++ = (char)(c & 0xFF);
+      }
+      l++;
+      if (maxlen >= 0 && l > maxlen)
+      { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "String too long: maxlen=%ld\n", maxlen));
+        soap->error = SOAP_LENGTH;
+        return NULL;
+      }
+    }
+  }
+end:
+  soap_unget(soap, c);
+  *s = '\0';
+#ifdef WITH_FAST
+  t = soap_strdup(soap, soap->labbuf);
+#else
+  soap_size_block(soap, NULL, i + 1);
+  t = soap_save_block(soap, NULL, 0);
+#endif
+  if (l < minlen)
+  { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "String too short: %ld chars, minlen=%ld\n", l, minlen));
+    soap->error = SOAP_LENGTH;
+    return NULL;
+  }
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+  { if (flag == 3)
+      soap->dom->tail = t;
+    else
+      soap->dom->data = t;
+  }
+#endif
+  if (flag == 2)
+    if (soap_s2QName(soap, t, &t, minlen, maxlen))
+      return NULL;
+  return t;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_wstring_out(struct soap *soap, const wchar_t *s, int flag)
+{ const char *t;
+  char tmp;
+  register soap_wchar c;
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+  { wchar_t *r = (wchar_t*)s;
+    int n = 1;
+    while (*r++)
+      n++;
+    soap->dom->wide = r = (wchar_t*)soap_malloc(soap, n * sizeof(wchar_t));
+    while (n--)
+      *r++ = *s++;
+    return SOAP_OK;
+  }
+#endif
+  while ((c = *s++))
+  { switch (c)
+    {
+    case 0x09:
+      if (flag)
+        t = "&#x9;";
+      else
+        t = "\t";
+      break;
+    case 0x0A:
+      if (flag || !(soap->mode & SOAP_XML_CANONICAL))
+        t = "&#xA;";
+      else
+        t = "\n";
+      break;
+    case 0x0D:
+      t = "&#xD;";
+      break;
+    case '&':
+      t = "&amp;";
+      break;
+    case '<':
+      t = "&lt;";
+      break;
+    case '>':
+      if (flag)
+        t = ">";
+      else
+        t = "&gt;";
+      break;
+    case '"':
+      if (flag)
+        t = "&quot;";
+      else
+        t = "\"";
+      break;
+    default:
+      if (c >= 0x20 && c < 0x80)
+      { tmp = (char)c;
+        if (soap_send_raw(soap, &tmp, 1))
+          return soap->error;
+      }
+      else
+      { /* check for UTF16 encoding when wchar_t is too small to hold UCS */
+        if (sizeof(wchar_t) < 4 && (c & 0xFC00) == 0xD800)
+        { register soap_wchar d = *s++;
+          if ((d & 0xFC00) == 0xDC00)
+            c = ((c - 0xD800) << 10) + (d - 0xDC00) + 0x10000;
+          else
+            c = 0xFFFD; /* Malformed */
+        }
+        if (soap_pututf8(soap, (unsigned long)c))
+          return soap->error;
+      }
+      continue;
+    }
+    if (soap_send(soap, t))
+      return soap->error;
+  }
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_2
+SOAP_FMAC1
+wchar_t *
+SOAP_FMAC2
+soap_wstring_in(struct soap *soap, int flag, long minlen, long maxlen)
+{ wchar_t *s;
+  register int i, n = 0, f = 0;
+  register long l = 0;
+  register soap_wchar c;
+  char *t = NULL;
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Reading wide string content\n"));
+  if (soap->peeked)
+  { if (*soap->tag)
+    {
+#ifndef WITH_LEAN
+      struct soap_attribute *tp;
+      t = soap->tmpbuf;
+      *t = '<';
+      strncpy(t + 1, soap->tag, sizeof(soap->tmpbuf) - 2);
+      t[sizeof(soap->tmpbuf) - 1] = '\0';
+      t += strlen(t);
+      for (tp = soap->attributes; tp; tp = tp->next)
+      { if (tp->visible)
+        { if (t >= soap->tmpbuf + sizeof(soap->tmpbuf) - 2)
+            break;
+          *t++ = ' ';
+          strcpy(t, tp->name);
+          t += strlen(t);
+          if (t >= soap->tmpbuf + sizeof(soap->tmpbuf) - 2)
+            break;
+          if (tp->value)
+          { *t++ = '=';
+            *t++ = '"';
+            strcpy(t, tp->value);
+            t += strlen(t);
+            *t++ = '"';
+          }
+        }
+      }
+      if (!soap->body)
+        *t++ = '/';
+      *t++ = '>';
+      *t = '\0';
+      t = soap->tmpbuf;
+#endif
+      if (soap->body)
+        n = 1;
+      f = 1;
+      soap->peeked = 0;
+    }
+  }
+  if (soap_new_block(soap) == NULL)
+    return NULL;
+  for (;;)
+  { if (!(s = (wchar_t*)soap_push_block(soap, NULL, sizeof(wchar_t)*SOAP_BLKLEN)))
+      return NULL;
+    for (i = 0; i < SOAP_BLKLEN; i++)
+    { if (t)
+      { *s++ = (wchar_t)*t++;
+        if (!*t)
+          t = NULL;
+        continue;
+      }
+      c = soap_getutf8(soap);
+      switch (c)
+      {
+      case SOAP_TT:
+        if (n == 0)
+          goto end;
+        n--;
+        *s++ = '<';
+        soap_unget(soap, '/');
+        break;
+      case SOAP_LT:
+        if (f && n == 0)
+          goto end;
+        n++;
+        *s++ = '<';
+        break;
+      case SOAP_GT:
+        *s++ = '>';
+        break;
+      case SOAP_QT:
+        *s++ = '"';
+        break;
+      case SOAP_AP:
+        *s++ = '\'';
+        break;
+      case '/':
+        if (n > 0)
+        { c = soap_getutf8(soap);
+          if (c == SOAP_GT)
+            n--;
+          soap_unget(soap, c);
+        }
+        *s++ = '/';
+        break;
+      case '<':
+        if (flag)
+          *s++ = (soap_wchar)'<';
+        else
+        { *s++ = (soap_wchar)'&';
+          t = (char*)"lt;";
+        }
+        break;
+      case '>':
+        if (flag)
+          *s++ = (soap_wchar)'>';
+        else
+        { *s++ = (soap_wchar)'&';
+          t = (char*)"gt;";
+        }
+        break;
+      case '"':
+        if (flag)
+          *s++ = (soap_wchar)'"';
+        else
+        { *s++ = (soap_wchar)'&';
+          t = (char*)"quot;";
+        }
+        break;
+      default:
+        if ((int)c == EOF)
+          goto end;
+        /* use UTF16 encoding when wchar_t is too small to hold UCS */
+        if (sizeof(wchar_t) < 4 && c > 0xFFFF)
+        { register soap_wchar c1, c2;
+          c1 = 0xD800 - (0x10000 >> 10) + (c >> 10);
+          c2 = 0xDC00 + (c & 0x3FF);
+          c = c1;
+          soap_unget(soap, c2);
+        }
+        *s++ = (wchar_t)c & 0x7FFFFFFF;
+      }
+      l++;
+      if (maxlen >= 0 && l > maxlen)
+      { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "String too long: maxlen=%ld\n", maxlen));
+        soap->error = SOAP_LENGTH;
+        return NULL;
+      }
+    }
+  }
+end:
+  soap_unget(soap, c);
+  *s = '\0';
+  soap_size_block(soap, NULL, sizeof(wchar_t) * (i + 1));
+  if (l < minlen)
+  { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "String too short: %ld chars, minlen=%ld\n", l, minlen));
+    soap->error = SOAP_LENGTH;
+    return NULL;
+  }
+  s = (wchar_t*)soap_save_block(soap, NULL, NULL, 0);
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+    soap->dom->wide = s;
+#endif
+  return s;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_int2s(struct soap *soap, int n)
+{ return soap_long2s(soap, (long)n);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outint(struct soap *soap, const char *tag, int id, const int *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_long2s(soap, (long)*p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2int(struct soap *soap, const char *s, int *p)
+{ if (s)
+  { long n;
+    char *r;
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+    soap_reset_errno;
+#endif
+#endif
+    n = soap_strtol(s, &r, 10);
+    if (s == r || *r
+#ifndef WITH_LEAN
+     || n != (int)n
+#endif
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+     || soap_errno == SOAP_ERANGE
+#endif
+#endif
+    )
+      soap->error = SOAP_TYPE;
+    *p = (int)n;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int *
+SOAP_FMAC2
+soap_inint(struct soap *soap, const char *tag, int *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":int")
+   && soap_match_tag(soap, soap->type, ":short")
+   && soap_match_tag(soap, soap->type, ":byte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+#endif
+  p = (int*)soap_id_enter(soap, soap->id, p, t, sizeof(int), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (int*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(int), 0, NULL);
+  else if (p)
+  { if (soap_s2int(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_long2s(struct soap *soap, long n)
+{
+#ifdef HAVE_SNPRINTF
+  soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "%ld", n);
+#else
+  sprintf(soap->tmpbuf, "%ld", n);
+#endif
+  return soap->tmpbuf;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outlong(struct soap *soap, const char *tag, int id, const long *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_long2s(soap, *p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2long(struct soap *soap, const char *s, long *p)
+{ if (s)
+  { char *r;
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+    soap_reset_errno;
+#endif
+#endif
+    *p = soap_strtol(s, &r, 10);
+    if (s == r || *r
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+     || soap_errno == SOAP_ERANGE
+#endif
+#endif
+    )
+      soap->error = SOAP_TYPE;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+long *
+SOAP_FMAC2
+soap_inlong(struct soap *soap, const char *tag, long *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":int")
+   && soap_match_tag(soap, soap->type, ":short")
+   && soap_match_tag(soap, soap->type, ":byte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+#endif
+  p = (long*)soap_id_enter(soap, soap->id, p, t, sizeof(long), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (long*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(long), 0, NULL);
+  else if (p)
+  { if (soap_s2long(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_LONG642s(struct soap *soap, LONG64 n)
+{
+#ifdef HAVE_SNPRINTF
+  soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), SOAP_LONG_FORMAT, n);
+#else
+  sprintf(soap->tmpbuf, SOAP_LONG_FORMAT, n);
+#endif
+  return soap->tmpbuf;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outLONG64(struct soap *soap, const char *tag, int id, const LONG64 *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_LONG642s(soap, *p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2LONG64(struct soap *soap, const char *s, LONG64 *p)
+{ if (s)
+  {
+#ifdef HAVE_STRTOLL
+    char *r;
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+    soap_reset_errno;
+#endif
+#endif
+    *p = soap_strtoll(s, &r, 10);
+    if (s == r || *r
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+       || soap_errno == SOAP_ERANGE
+#endif
+#endif
+      )
+#else
+# ifdef HAVE_SSCANF
+    if (sscanf(s, SOAP_LONG_FORMAT, p) != 1)
+# endif
+#endif
+      soap->error = SOAP_TYPE;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+LONG64 *
+SOAP_FMAC2
+soap_inLONG64(struct soap *soap, const char *tag, LONG64 *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":integer")
+   && soap_match_tag(soap, soap->type, ":positiveInteger")
+   && soap_match_tag(soap, soap->type, ":negativeInteger")
+   && soap_match_tag(soap, soap->type, ":nonPositiveInteger")
+   && soap_match_tag(soap, soap->type, ":nonNegativeInteger")
+   && soap_match_tag(soap, soap->type, ":long")
+   && soap_match_tag(soap, soap->type, ":int")
+   && soap_match_tag(soap, soap->type, ":short")
+   && soap_match_tag(soap, soap->type, ":byte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+#endif
+  p = (LONG64*)soap_id_enter(soap, soap->id, p, t, sizeof(LONG64), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (LONG64*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(LONG64), 0, NULL);
+  else if (p)
+  { if (soap_s2LONG64(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_byte2s(struct soap *soap, char n)
+{ return soap_long2s(soap, (long)n);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outbyte(struct soap *soap, const char *tag, int id, const char *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_long2s(soap, (long)*p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2byte(struct soap *soap, const char *s, char *p)
+{ if (s)
+  { long n;
+    char *r;
+    n = soap_strtol(s, &r, 10);
+    if (s == r || *r || n < -128 || n > 127)
+      soap->error = SOAP_TYPE;
+    *p = (char)n;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_inbyte(struct soap *soap, const char *tag, char *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":byte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+#endif
+  p = (char*)soap_id_enter(soap, soap->id, p, t, sizeof(char), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (char*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(char), 0, NULL);
+  else if (p)
+  { if (soap_s2byte(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_short2s(struct soap *soap, short n)
+{ return soap_long2s(soap, (long)n);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outshort(struct soap *soap, const char *tag, int id, const short *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_long2s(soap, (long)*p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2short(struct soap *soap, const char *s, short *p)
+{ if (s)
+  { long n;
+    char *r;
+    n = soap_strtol(s, &r, 10);
+    if (s == r || *r || n < -32768 || n > 32767)
+      soap->error = SOAP_TYPE;
+    *p = (short)n;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+short *
+SOAP_FMAC2
+soap_inshort(struct soap *soap, const char *tag, short *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":short")
+   && soap_match_tag(soap, soap->type, ":byte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+#endif
+  p = (short*)soap_id_enter(soap, soap->id, p, t, sizeof(short), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (short*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(short), 0, NULL);
+  else if (p)
+  { if (soap_s2short(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_float2s(struct soap *soap, float n)
+{ char *s;
+  if (soap_isnan((double)n))
+    return "NaN";
+  if (soap_ispinff(n))
+    return "INF";
+  if (soap_isninff(n))
+    return "-INF";
+#if defined(HAVE_SPRINTF_L)
+# ifdef WIN32
+  _sprintf_s_l(soap->tmpbuf, _countof(soap->tmpbuf), soap->float_format, soap->c_locale, n);
+# else
+  sprintf_l(soap->tmpbuf, soap->c_locale, soap->float_format, n);
+# endif
+#else
+# ifdef HAVE_SNPRINTF
+  soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), soap->float_format, n);
+# else
+  sprintf(soap->tmpbuf, soap->float_format, n);
+# endif
+  s = strchr(soap->tmpbuf, ',');	/* convert decimal comma to DP */
+  if (s)
+    *s = '.';
+#endif
+  return soap->tmpbuf;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outfloat(struct soap *soap, const char *tag, int id, const float *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_float2s(soap, *p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2float(struct soap *soap, const char *s, float *p)
+{ if (s)
+  { if (!*s)
+      return soap->error = SOAP_TYPE;
+    if (!soap_tag_cmp(s, "INF"))
+      *p = FLT_PINFTY;
+    else if (!soap_tag_cmp(s, "+INF"))
+      *p = FLT_PINFTY;
+    else if (!soap_tag_cmp(s, "-INF"))
+      *p = FLT_NINFTY;
+    else if (!soap_tag_cmp(s, "NaN"))
+      *p = FLT_NAN;
+    else
+    {
+/* On some systems strtof requires -std=c99 or does not even link: so we try to use strtod first */
+#if defined(HAVE_STRTOD_L)
+      char *r;
+# ifdef WIN32
+      *p = (float)_strtod_l(s, &r, soap->c_locale);
+# else
+      *p = (float)strtod_l(s, &r, soap->c_locale);
+# endif
+      if (*r)
+#elif defined(HAVE_STRTOD)
+      char *r;
+      *p = (float)strtod(s, &r);
+      if (*r)
+#elif defined(HAVE_STRTOF_L)
+      char *r;
+      *p = strtof_l((char*)s, &r, soap->c_locale);
+      if (*r)
+#elif defined(HAVE_STRTOF)
+      char *r;
+      *p = strtof((char*)s, &r);
+      if (*r)
+#endif
+      {
+#if defined(HAVE_SSCANF_L) && !defined(HAVE_STRTOF_L) && !defined(HAVE_STRTOD_L)
+        if (sscanf_l(s, soap->c_locale, "%f", p) != 1)
+          soap->error = SOAP_TYPE;
+#elif defined(HAVE_SSCANF)
+        if (sscanf(s, "%f", p) != 1)
+          soap->error = SOAP_TYPE;
+#else
+        soap->error = SOAP_TYPE;
+#endif
+      }
+    }
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+static int soap_isnumeric(struct soap *soap, const char *type)
+{ if (soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":float")
+   && soap_match_tag(soap, soap->type, ":double")
+   && soap_match_tag(soap, soap->type, ":decimal")
+   && soap_match_tag(soap, soap->type, ":integer")
+   && soap_match_tag(soap, soap->type, ":positiveInteger")
+   && soap_match_tag(soap, soap->type, ":negativeInteger")
+   && soap_match_tag(soap, soap->type, ":nonPositiveInteger")
+   && soap_match_tag(soap, soap->type, ":nonNegativeInteger")
+   && soap_match_tag(soap, soap->type, ":long")
+   && soap_match_tag(soap, soap->type, ":int")
+   && soap_match_tag(soap, soap->type, ":short")
+   && soap_match_tag(soap, soap->type, ":byte")
+   && soap_match_tag(soap, soap->type, ":unsignedLong")
+   && soap_match_tag(soap, soap->type, ":unsignedInt")
+   && soap_match_tag(soap, soap->type, ":unsignedShort")
+   && soap_match_tag(soap, soap->type, ":unsignedByte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return SOAP_ERR;
+  }
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+float *
+SOAP_FMAC2
+soap_infloat(struct soap *soap, const char *tag, float *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type != '\0' && soap_isnumeric(soap, type))
+    return NULL;
+#endif
+  p = (float*)soap_id_enter(soap, soap->id, p, t, sizeof(float), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (float*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(float), 0, NULL);
+  else if (p)
+  { if (soap_s2float(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_double2s(struct soap *soap, double n)
+{ char *s;
+  if (soap_isnan(n))
+    return "NaN";
+  if (soap_ispinfd(n))
+    return "INF";
+  if (soap_isninfd(n))
+    return "-INF";
+#if defined(HAVE_SPRINTF_L)
+# ifdef WIN32
+  _sprintf_s_l(soap->tmpbuf, _countof(soap->tmpbuf), soap->double_format, soap->c_locale, n);
+# else
+  sprintf_l(soap->tmpbuf, soap->c_locale, soap->double_format, n);
+# endif
+#else
+# ifdef HAVE_SNPRINTF
+  soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), soap->double_format, n);
+#else
+  sprintf(soap->tmpbuf, soap->double_format, n);
+#endif
+  s = strchr(soap->tmpbuf, ',');	/* convert decimal comma to DP */
+  if (s)
+    *s = '.';
+#endif
+  return soap->tmpbuf;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outdouble(struct soap *soap, const char *tag, int id, const double *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_double2s(soap, *p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2double(struct soap *soap, const char *s, double *p)
+{ if (s)
+  { if (!*s)
+      return soap->error = SOAP_TYPE;
+    if (!soap_tag_cmp(s, "INF"))
+      *p = DBL_PINFTY;
+    else if (!soap_tag_cmp(s, "+INF"))
+      *p = DBL_PINFTY;
+    else if (!soap_tag_cmp(s, "-INF"))
+      *p = DBL_NINFTY;
+    else if (!soap_tag_cmp(s, "NaN"))
+      *p = DBL_NAN;
+    else
+    {
+#if defined(HAVE_STRTOD_L)
+      char *r;
+# ifdef WIN32
+      *p = _strtod_l(s, &r, soap->c_locale);
+# else
+      *p = strtod_l(s, &r, soap->c_locale);
+# endif
+      if (*r)
+#elif defined(HAVE_STRTOD)
+      char *r;
+      *p = strtod(s, &r);
+      if (*r)
+#endif
+      {
+#if defined(HAVE_SSCANF_L) && !defined(HAVE_STRTOF_L) && !defined(HAVE_STRTOD_L)
+        if (sscanf_l(s, soap->c_locale, "%lf", p) != 1)
+          soap->error = SOAP_TYPE;
+#elif defined(HAVE_SSCANF)
+        if (sscanf(s, "%lf", p) != 1)
+          soap->error = SOAP_TYPE;
+#else
+        soap->error = SOAP_TYPE;
+#endif
+      }
+    }
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+double *
+SOAP_FMAC2
+soap_indouble(struct soap *soap, const char *tag, double *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type != '\0' && soap_isnumeric(soap, type))
+    return NULL;
+#endif
+  p = (double*)soap_id_enter(soap, soap->id, p, t, sizeof(double), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (double*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(double), 0, NULL);
+  else if (p)
+  { if (soap_s2double(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_unsignedByte2s(struct soap *soap, unsigned char n)
+{ return soap_unsignedLong2s(soap, (unsigned long)n);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outunsignedByte(struct soap *soap, const char *tag, int id, const unsigned char *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_unsignedLong2s(soap, (unsigned long)*p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2unsignedByte(struct soap *soap, const char *s, unsigned char *p)
+{ if (s)
+  { unsigned long n;
+    char *r;
+    n = soap_strtoul(s, &r, 10);
+    if (s == r || *r || n > 255)
+      soap->error = SOAP_TYPE;
+    *p = (unsigned char)n;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+unsigned char *
+SOAP_FMAC2
+soap_inunsignedByte(struct soap *soap, const char *tag, unsigned char *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":unsignedByte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+#endif
+  p = (unsigned char*)soap_id_enter(soap, soap->id, p, t, sizeof(unsigned char), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (unsigned char*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(unsigned char), 0, NULL);
+  else if (p)
+  { if (soap_s2unsignedByte(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_unsignedShort2s(struct soap *soap, unsigned short n)
+{ return soap_unsignedLong2s(soap, (unsigned long)n);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outunsignedShort(struct soap *soap, const char *tag, int id, const unsigned short *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_unsignedLong2s(soap, (unsigned long)*p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2unsignedShort(struct soap *soap, const char *s, unsigned short *p)
+{ if (s)
+  { unsigned long n;
+    char *r;
+    n = soap_strtoul(s, &r, 10);
+    if (s == r || *r || n > 65535)
+      soap->error = SOAP_TYPE;
+    *p = (unsigned short)n;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+unsigned short *
+SOAP_FMAC2
+soap_inunsignedShort(struct soap *soap, const char *tag, unsigned short *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":unsignedShort")
+   && soap_match_tag(soap, soap->type, ":unsignedByte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+#endif
+  p = (unsigned short*)soap_id_enter(soap, soap->id, p, t, sizeof(unsigned short), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (unsigned short*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(unsigned short), 0, NULL);
+  else if (p)
+  { if (soap_s2unsignedShort(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_unsignedInt2s(struct soap *soap, unsigned int n)
+{ return soap_unsignedLong2s(soap, (unsigned long)n);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outunsignedInt(struct soap *soap, const char *tag, int id, const unsigned int *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_unsignedLong2s(soap, (unsigned long)*p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2unsignedInt(struct soap *soap, const char *s, unsigned int *p)
+{ if (s)
+  { char *r;
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+    soap_reset_errno;
+#endif
+#endif
+    *p = (unsigned int)soap_strtoul(s, &r, 10);
+    if ((s == r && (soap->mode & SOAP_XML_STRICT)) || *r
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+     || soap_errno == SOAP_ERANGE
+#endif
+#endif
+    )
+      soap->error = SOAP_TYPE;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+unsigned int *
+SOAP_FMAC2
+soap_inunsignedInt(struct soap *soap, const char *tag, unsigned int *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":unsignedInt")
+   && soap_match_tag(soap, soap->type, ":unsignedShort")
+   && soap_match_tag(soap, soap->type, ":unsignedByte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+#endif
+  p = (unsigned int*)soap_id_enter(soap, soap->id, p, t, sizeof(unsigned int), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (unsigned int*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(unsigned int), 0, NULL);
+  else if (p)
+  { if (soap_s2unsignedInt(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_unsignedLong2s(struct soap *soap, unsigned long n)
+{
+#ifdef HAVE_SNPRINTF
+  soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "%lu", n);
+#else
+  sprintf(soap->tmpbuf, "%lu", n);
+#endif
+  return soap->tmpbuf;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outunsignedLong(struct soap *soap, const char *tag, int id, const unsigned long *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_unsignedLong2s(soap, *p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2unsignedLong(struct soap *soap, const char *s, unsigned long *p)
+{ if (s)
+  { char *r;
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+    soap_reset_errno;
+#endif
+#endif
+    *p = soap_strtoul(s, &r, 10);
+    if ((s == r && (soap->mode & SOAP_XML_STRICT)) || *r
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+     || soap_errno == SOAP_ERANGE
+#endif
+#endif
+    )
+      soap->error = SOAP_TYPE;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+unsigned long *
+SOAP_FMAC2
+soap_inunsignedLong(struct soap *soap, const char *tag, unsigned long *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+#ifndef WITH_LEAN
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":unsignedInt")
+   && soap_match_tag(soap, soap->type, ":unsignedShort")
+   && soap_match_tag(soap, soap->type, ":unsignedByte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+#endif
+  p = (unsigned long*)soap_id_enter(soap, soap->id, p, t, sizeof(unsigned long), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (unsigned long*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(unsigned long), 0, NULL);
+  else if (p)
+  { if (soap_s2unsignedLong(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_ULONG642s(struct soap *soap, ULONG64 n)
+{
+#ifdef HAVE_SNPRINTF
+  soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), SOAP_ULONG_FORMAT, n);
+#else
+  sprintf(soap->tmpbuf, SOAP_ULONG_FORMAT, n);
+#endif
+  return soap->tmpbuf;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outULONG64(struct soap *soap, const char *tag, int id, const ULONG64 *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_ULONG642s(soap, *p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2ULONG64(struct soap *soap, const char *s, ULONG64 *p)
+{ if (s)
+  {
+#ifdef HAVE_STRTOULL
+    char *r;
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+    soap_reset_errno;
+#endif
+#endif
+    *p = soap_strtoull(s, &r, 10);
+    if ((s == r && (soap->mode & SOAP_XML_STRICT)) || *r
+#ifndef WITH_NOIO
+#ifndef WITH_LEAN
+       || soap_errno == SOAP_ERANGE
+#endif
+#endif
+      )
+#else
+#ifdef HAVE_SSCANF
+    if (sscanf(s, SOAP_ULONG_FORMAT, p) != 1)
+#endif
+#endif
+      soap->error = SOAP_TYPE;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+ULONG64 *
+SOAP_FMAC2
+soap_inULONG64(struct soap *soap, const char *tag, ULONG64 *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":positiveInteger")
+   && soap_match_tag(soap, soap->type, ":nonNegativeInteger")
+   && soap_match_tag(soap, soap->type, ":unsignedLong")
+   && soap_match_tag(soap, soap->type, ":unsignedInt")
+   && soap_match_tag(soap, soap->type, ":unsignedShort")
+   && soap_match_tag(soap, soap->type, ":unsignedByte"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+  p = (ULONG64*)soap_id_enter(soap, soap->id, p, t, sizeof(ULONG64), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (ULONG64*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(ULONG64), 0, NULL);
+  else if (p)
+  { if (soap_s2ULONG64(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2string(struct soap *soap, const char *s, char **t, long minlen, long maxlen)
+{ if (s)
+  { long l = (long)strlen(s);
+    if ((maxlen >= 0 && l > maxlen) || l < minlen)
+      return soap->error = SOAP_LENGTH;
+    if (!(*t = soap_strdup(soap, s)))
+      return soap->error = SOAP_EOM;
+    if (!(soap->mode & (SOAP_ENC_LATIN | SOAP_C_UTFSTRING)))
+    { char *r = *t;
+      /* remove non-ASCII chars */
+      for (s = *t; *s; s++)
+        if (!(*s & 0x80))
+          *r++ = *s;
+      *r = '\0';
+    }
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2QName(struct soap *soap, const char *s, char **t, long minlen, long maxlen)
+{ if (s)
+  { long l = (long)strlen(s);
+    if ((maxlen >= 0 && l > maxlen) || l < minlen)
+      return soap->error = SOAP_LENGTH;
+    soap->labidx = 0;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Normalized namespace(s) of QNames '%s'", s));
+    /* convert (by prefix normalize prefix) all QNames in s */
+    for (;;)
+    { size_t n;
+      struct soap_nlist *np;
+      register const char *p;
+      /* skip blanks */
+      while (*s && soap_blank((soap_wchar)*s))
+        s++;
+      if (!*s)
+        break;
+      /* find next QName */
+      n = 1;
+      while (s[n] && !soap_blank((soap_wchar)s[n]))
+        n++;
+      np = soap->nlist;
+      /* if there is no namespace stack, or prefix is "#" or "xml" then copy string */
+      if (!np || *s == '#' || !strncmp(s, "xml:", 4))
+      { soap_append_lab(soap, s, n);
+      }
+      else /* we normalize the QName by replacing its prefix */
+      { const char *q;
+        for (p = s; *p && p < s + n; p++)
+          if (*p == ':')
+            break;
+        if (*p == ':')
+        { size_t k = p - s;
+          while (np && (strncmp(np->id, s, k) || np->id[k]))
+            np = np->next;
+          p++;
+        }
+        else
+        { while (np && *np->id)
+            np = np->next;
+          p = s;
+        }
+        /* replace prefix */
+        if (np)
+        { if (np->index >= 0 && soap->local_namespaces && (q = soap->local_namespaces[np->index].id))
+          { size_t k = strlen(q);
+            if (q[k-1] != '_')
+              soap_append_lab(soap, q, k);
+            else
+            { soap_append_lab(soap, "\"", 1);
+              soap_append_lab(soap, soap->local_namespaces[np->index].ns, strlen(soap->local_namespaces[np->index].ns));
+              soap_append_lab(soap, "\"", 1);
+            }
+          }
+          else if (np->ns)
+          { soap_append_lab(soap, "\"", 1);
+            soap_append_lab(soap, np->ns, strlen(np->ns));
+            soap_append_lab(soap, "\"", 1);
+          }
+          else
+          { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "\nNamespace prefix of '%s' not defined (index=%d, URI='%s')\n", s, np->index, np->ns ? np->ns : SOAP_STR_EOS));
+            return soap->error = SOAP_NAMESPACE;
+          }
+        }
+        else if (s[n]) /* no namespace, part of string */
+        { soap_append_lab(soap, s, n);
+        }
+        else /* no namespace: assume "" namespace */
+        { soap_append_lab(soap, "\"\"", 2);
+        }
+        soap_append_lab(soap, ":", 1);
+        soap_append_lab(soap, p, n - (p-s));
+      }
+      /* advance to next and add spacing */
+      s += n;
+      if (*s)
+        soap_append_lab(soap, " ", 1);
+    }
+    soap_append_lab(soap, SOAP_STR_EOS, 1);
+    *t = soap_strdup(soap, soap->labbuf);
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, " into '%s'\n", *t));
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_QName2s(struct soap *soap, const char *s)
+{ const char *t = NULL;
+  if (s)
+  { soap->labidx = 0;
+    for (;;)
+    { size_t n;
+      /* skip blanks */
+      while (*s && soap_blank((soap_wchar)*s))
+        s++;
+      if (!*s)
+        break;
+      /* find next QName */
+      n = 1;
+      while (s[n] && !soap_blank((soap_wchar)s[n]))
+        n++;
+      /* normal prefix: pass string as is */
+      if (*s != '"')
+      {
+#ifndef WITH_LEAN
+        if ((soap->mode & SOAP_XML_CANONICAL))
+          soap_utilize_ns(soap, s);
+        if ((soap->mode & SOAP_XML_DEFAULTNS))
+        { const char *r = strchr(s, ':');
+          if (r && soap->nlist && !strncmp(soap->nlist->id, s, r-s) && !soap->nlist->id[r-s])
+          { n -= r-s + 1;
+            s = r + 1;
+          }
+        }
+#endif
+        soap_append_lab(soap, s, n);
+      }
+      else /* URL-based string prefix */
+      { const char *q;
+        s++;
+        q = strchr(s, '"');
+        if (q)
+        { struct Namespace *p = soap->local_namespaces;
+          if (p)
+          { for (; p->id; p++)
+            { if (p->ns)
+                if (!soap_tag_cmp(s, p->ns))
+                  break;
+              if (p->in)
+                if (!soap_tag_cmp(s, p->in))
+                  break;
+            }
+          }
+          /* URL is in the namespace table? */
+          if (p && p->id)
+          { const char *r = p->id;
+#ifndef WITH_LEAN
+            if ((soap->mode & SOAP_XML_DEFAULTNS) && soap->nlist && !strcmp(soap->nlist->id, r))
+              q++;
+            else
+#endif
+              soap_append_lab(soap, r, strlen(r));
+          }
+          else /* not in namespace table: create xmlns binding */
+          { char *r = soap_strdup(soap, s);
+            r[q-s] = '\0';
+#ifdef HAVE_SNPRINTF
+            soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "xmlns:_%d", soap->idnum++);
+#else
+            sprintf(soap->tmpbuf, "xmlns:_%d", soap->idnum++);
+#endif
+            soap_set_attr(soap, soap->tmpbuf, r, 1);
+            soap_append_lab(soap, soap->tmpbuf + 6, strlen(soap->tmpbuf + 6));
+          }
+          soap_append_lab(soap, q + 1, n - (q-s) - 1);
+        }
+      }
+      /* advance to next and add spacing */
+      s += n;
+      if (*s)
+        soap_append_lab(soap, " ", 1);
+    }
+    soap_append_lab(soap, SOAP_STR_EOS, 1);
+    t = soap_strdup(soap, soap->labbuf);
+  }
+  return t;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2wchar(struct soap *soap, const char *s, wchar_t **t, long minlen, long maxlen)
+{ if (s)
+  { long l;
+    wchar_t *r;
+    *t = r = (wchar_t*)soap_malloc(soap, sizeof(wchar_t) * (strlen(s) + 1));
+    if (!r)
+      return soap->error = SOAP_EOM;
+    if (soap->mode & SOAP_ENC_LATIN)
+    { while (*s)
+        *r++ = (wchar_t)*s++;
+    }
+    else
+    { /* Convert UTF8 to wchar */
+      while (*s)
+      { register soap_wchar c, c1, c2, c3, c4;
+        c = (unsigned char)*s++;
+        if (c < 0x80)
+          *r++ = (wchar_t)c;
+        else
+        { c1 = (soap_wchar)*s++ & 0x3F;
+          if (c < 0xE0)
+            *r++ = (wchar_t)(((soap_wchar)(c & 0x1F) << 6) | c1);
+          else
+          { c2 = (soap_wchar)*s++ & 0x3F;
+            if (c < 0xF0)
+              *r++ = (wchar_t)(((soap_wchar)(c & 0x0F) << 12) | (c1 << 6) | c2);
+            else
+            { c3 = (soap_wchar)*s++ & 0x3F;
+              if (c < 0xF8)
+                *r++ = (wchar_t)(((soap_wchar)(c & 0x07) << 18) | (c1 << 12) | (c2 << 6) | c3);
+              else
+              { c4 = (soap_wchar)*s++ & 0x3F;
+                if (c < 0xFC)
+                  *r++ = (wchar_t)(((soap_wchar)(c & 0x03) << 24) | (c1 << 18) | (c2 << 12) | (c3 << 6) | c4);
+                else
+                  *r++ = (wchar_t)(((soap_wchar)(c & 0x01) << 30) | (c1 << 24) | (c2 << 18) | (c3 << 12) | (c4 << 6) | (soap_wchar)(*s++ & 0x3F));
+              }
+            }
+          }
+        }
+      }
+    }
+    *r = L'\0';
+    l = (long)(r - *t);
+    if ((maxlen >= 0 && l > maxlen) || l < minlen)
+      return soap->error = SOAP_LENGTH;
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_wchar2s(struct soap *soap, const wchar_t *s)
+{ register soap_wchar c;
+  register char *r, *t;
+  const wchar_t *q = s;
+  size_t n = 0;
+  while ((c = *q++))
+  { if (c > 0 && c < 0x80)
+      n++;
+    else
+      n += 6;
+  }
+  r = t = (char*)soap_malloc(soap, n + 1);
+  if (r)
+  { /* Convert wchar to UTF8 */
+    while ((c = *s++))
+    { if (c > 0 && c < 0x80)
+        *t++ = (char)c;
+      else
+      { if (c < 0x0800)
+          *t++ = (char)(0xC0 | ((c >> 6) & 0x1F));
+        else
+        { if (c < 0x010000)
+            *t++ = (char)(0xE0 | ((c >> 12) & 0x0F));
+          else
+          { if (c < 0x200000)
+              *t++ = (char)(0xF0 | ((c >> 18) & 0x07));
+            else
+            { if (c < 0x04000000)
+                *t++ = (char)(0xF8 | ((c >> 24) & 0x03));
+              else
+              { *t++ = (char)(0xFC | ((c >> 30) & 0x01));
+                *t++ = (char)(0x80 | ((c >> 24) & 0x3F));
+              }
+              *t++ = (char)(0x80 | ((c >> 18) & 0x3F));
+            }
+            *t++ = (char)(0x80 | ((c >> 12) & 0x3F));
+          }
+          *t++ = (char)(0x80 | ((c >> 6) & 0x3F));
+        }
+        *t++ = (char)(0x80 | (c & 0x3F));
+      }
+    }
+    *t = '\0';
+  }
+  return r;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outstring(struct soap *soap, const char *tag, int id, char *const*p, const char *type, int n)
+{ id = soap_element_id(soap, tag, id, *p, NULL, 0, type, n);
+  if (id < 0)
+    return soap->error;
+  if (!**p && (soap->mode & SOAP_C_NILSTRING))
+    return soap_element_null(soap, tag, id, type);
+  if (soap_element_begin_out(soap, tag, id, type)
+   || soap_string_out(soap, *p, 0)
+   || soap_element_end_out(soap, tag))
+    return soap->error;
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+char **
+SOAP_FMAC2
+soap_instring(struct soap *soap, const char *tag, char **p, const char *type, int t, int flag, long minlen, long maxlen)
+{ (void)type;
+  if (soap_element_begin_in(soap, tag, 1, NULL))
+  { if (!tag || *tag != '-' || soap->error != SOAP_NO_TAG)
+      return NULL;
+    soap->error = SOAP_OK;
+  }
+  if (!p)
+  { if (!(p = (char**)soap_malloc(soap, sizeof(char*))))
+      return NULL;
+  }
+  if (soap->null)
+    *p = NULL;
+  else if (soap->body)
+  { *p = soap_string_in(soap, flag, minlen, maxlen);
+    if (!*p || !(char*)soap_id_enter(soap, soap->id, *p, t, sizeof(char*), 0, NULL, NULL, NULL))
+      return NULL;
+    if (!**p && tag && *tag == '-')
+    { soap->error = SOAP_NO_TAG;
+      return NULL;
+    }
+  }
+  else if (tag && *tag == '-')
+  { soap->error = SOAP_NO_TAG;
+    return NULL;
+  }
+  else if (!*soap->href && minlen > 0)
+  { soap->error = SOAP_LENGTH;
+    return NULL;
+  }
+  else
+    *p = soap_strdup(soap, SOAP_STR_EOS);
+  if (*soap->href)
+    p = (char**)soap_id_lookup(soap, soap->href, (void**)p, t, sizeof(char**), 0);
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outwstring(struct soap *soap, const char *tag, int id, wchar_t *const*p, const char *type, int n)
+{ id = soap_element_id(soap, tag, id, *p, NULL, 0, type, n);
+  if (id < 0)
+    return soap->error;
+  if (!**p && (soap->mode & SOAP_C_NILSTRING))
+    return soap_element_null(soap, tag, id, type);
+  if (soap_element_begin_out(soap, tag, id, type)
+   || soap_wstring_out(soap, *p, 0)
+   || soap_element_end_out(soap, tag))
+    return soap->error;
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_2
+SOAP_FMAC1
+wchar_t **
+SOAP_FMAC2
+soap_inwstring(struct soap *soap, const char *tag, wchar_t **p, const char *type, int t, long minlen, long maxlen)
+{ (void)type;
+  if (soap_element_begin_in(soap, tag, 1, NULL))
+  { if (!tag || *tag != '-' || soap->error != SOAP_NO_TAG)
+      return NULL;
+    soap->error = SOAP_OK;
+  }
+  if (!p)
+  { if (!(p = (wchar_t**)soap_malloc(soap, sizeof(wchar_t*))))
+      return NULL;
+  }
+  if (soap->body)
+  { *p = soap_wstring_in(soap, 1, minlen, maxlen);
+    if (!*p || !(wchar_t*)soap_id_enter(soap, soap->id, *p, t, sizeof(wchar_t*), 0, NULL, NULL, NULL))
+      return NULL;
+    if (!**p && tag && *tag == '-')
+    { soap->error = SOAP_NO_TAG;
+      return NULL;
+    }
+  }
+  else if (tag && *tag == '-')
+  { soap->error = SOAP_NO_TAG;
+    return NULL;
+  }
+  else if (soap->null)
+    *p = NULL;
+  else
+    *p = soap_wstrdup(soap, (wchar_t*)SOAP_STR_EOS);
+  if (*soap->href)
+    p = (wchar_t**)soap_id_lookup(soap, soap->href, (void**)p, t, sizeof(wchar_t**), 0);
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+time_t
+SOAP_FMAC2
+soap_timegm(struct tm *T)
+{
+#if defined(HAVE_TIMEGM)
+  return timegm(T);
+#else
+  time_t t, g, z;
+  struct tm tm;
+  t = mktime(T);
+  if (t == (time_t)-1)
+    return (time_t)-1;
+#ifdef HAVE_GMTIME_R
+  gmtime_r(&t, &tm);
+#else
+  tm = *gmtime(&t);
+#endif
+  tm.tm_isdst = 0;
+  g = mktime(&tm);
+  if (g == (time_t)-1)
+    return (time_t)-1;
+  z = g - t;
+  return t - z;
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_dateTime2s(struct soap *soap, time_t n)
+{ struct tm T, *pT = &T;
+#if defined(HAVE_GMTIME_R)
+  if (gmtime_r(&n, pT))
+    strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%SZ", pT);
+#elif defined(HAVE_GMTIME)
+  if ((pT = gmtime(&n)))
+    strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%SZ", pT);
+#elif defined(HAVE_TM_GMTOFF) || defined(HAVE_STRUCT_TM_TM_GMTOFF) || defined(HAVE_STRUCT_TM___TM_GMTOFF)
+#if defined(HAVE_LOCALTIME_R)
+  if (localtime_r(&n, pT))
+  { strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%S%z", pT);
+    memmove(soap->tmpbuf + 23, soap->tmpbuf + 22, 3); /* 2000-03-01T02:00:00+0300 */
+    soap->tmpbuf[22] = ':';                           /* 2000-03-01T02:00:00+03:00 */
+  }
+#else
+  if ((pT = localtime(&n)))
+  { strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%S%z", pT);
+    memmove(soap->tmpbuf + 23, soap->tmpbuf + 22, 3); /* 2000-03-01T02:00:00+0300 */
+    soap->tmpbuf[22] = ':';                           /* 2000-03-01T02:00:00+03:00 */
+  }
+#endif
+#elif defined(HAVE_GETTIMEOFDAY)
+  struct timezone tz;
+  memset((void*)&tz, 0, sizeof(tz));
+#if defined(HAVE_LOCALTIME_R)
+  if (localtime_r(&n, pT))
+  { struct timeval tv;
+    gettimeofday(&tv, &tz);
+    strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%S", pT);
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf + strlen(soap->tmpbuf), sizeof(soap->tmpbuf) - strlen(soap->tmpbuf), "%+03d:%02d", -tz.tz_minuteswest/60+(pT->tm_isdst!=0), abs(tz.tz_minuteswest)%60);
+#else
+    sprintf(soap->tmpbuf + strlen(soap->tmpbuf), "%+03d:%02d", -tz.tz_minuteswest/60+(pT->tm_isdst!=0), abs(tz.tz_minuteswest)%60);
+#endif
+  }
+#else
+  if ((pT = localtime(&n)))
+  { struct timeval tv;
+    gettimeofday(&tv, &tz);
+    strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%S", pT);
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf + strlen(soap->tmpbuf), sizeof(soap->tmpbuf) - strlen(soap->tmpbuf), "%+03d:%02d", -tz.tz_minuteswest/60+(pT->tm_isdst!=0), abs(tz.tz_minuteswest)%60);
+#else
+    sprintf(soap->tmpbuf + strlen(soap->tmpbuf), "%+03d:%02d", -tz.tz_minuteswest/60+(pT->tm_isdst!=0), abs(tz.tz_minuteswest)%60);
+#endif
+  }
+#endif
+#elif defined(HAVE_FTIME)
+  struct timeb t;
+  memset((void*)&t, 0, sizeof(t));
+#if defined(HAVE_LOCALTIME_R)
+  if (localtime_r(&n, pT))
+  {
+#ifdef __BORLANDC__
+    ::ftime(&t);
+#else
+    ftime(&t);
+#endif
+    strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%S", pT);
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf + strlen(soap->tmpbuf), sizeof(soap->tmpbuf) - strlen(soap->tmpbuf), "%+03d:%02d", -t.timezone/60+(pT->tm_isdst!=0), abs(t.timezone)%60);
+#else
+    sprintf(soap->tmpbuf + strlen(soap->tmpbuf), "%+03d:%02d", -t.timezone/60+(pT->tm_isdst!=0), abs(t.timezone)%60);
+#endif
+  }
+#else
+  if ((pT = localtime(&n)))
+  {
+#ifdef __BORLANDC__
+    ::ftime(&t);
+#else
+    ftime(&t);
+#endif
+    strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%S", pT);
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf + strlen(soap->tmpbuf), sizeof(soap->tmpbuf) - strlen(soap->tmpbuf), "%+03d:%02d", -t.timezone/60+(pT->tm_isdst!=0), abs(t.timezone)%60);
+#else
+    sprintf(soap->tmpbuf + strlen(soap->tmpbuf), "%+03d:%02d", -t.timezone/60+(pT->tm_isdst!=0), abs(t.timezone)%60);
+#endif
+  }
+#endif
+#elif defined(HAVE_LOCALTIME_R)
+  if (localtime_r(&n, pT))
+    strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%S", pT);
+#else
+  if ((pT = localtime(&n)))
+    strftime(soap->tmpbuf, sizeof(soap->tmpbuf), "%Y-%m-%dT%H:%M:%S", pT);
+#endif
+  else
+    strcpy(soap->tmpbuf, "1969-12-31T23:59:59Z");
+  return soap->tmpbuf;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outdateTime(struct soap *soap, const char *tag, int id, const time_t *p, const char *type, int n)
+{ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, p, n), type)
+   || soap_string_out(soap, soap_dateTime2s(soap, *p), 0))
+    return soap->error;
+  return soap_element_end_out(soap, tag);
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_s2dateTime(struct soap *soap, const char *s, time_t *p)
+{ if (s)
+  { char zone[32];
+    struct tm T;
+    const char *t;
+    *zone = '\0';
+    memset((void*)&T, 0, sizeof(T));
+    if (strchr(s, '-'))
+      t = "%d-%d-%dT%d:%d:%d%31s";
+    else if (strchr(s, ':'))
+      t = "%4d%2d%2dT%d:%d:%d%31s";
+    else /* parse non-XSD-standard alternative ISO 8601 format */
+      t = "%4d%2d%2dT%2d%2d%2d%31s";
+    if (sscanf(s, t, &T.tm_year, &T.tm_mon, &T.tm_mday, &T.tm_hour, &T.tm_min, &T.tm_sec, zone) < 6)
+      return soap->error = SOAP_TYPE;
+    if (T.tm_year == 1)
+      T.tm_year = 70;
+    else
+      T.tm_year -= 1900;
+    T.tm_mon--;
+    if (*zone == '.')
+    { for (s = zone + 1; *s; s++)
+        if (*s < '0' || *s > '9')
+          break;
+    }
+    else
+      s = zone;
+    if (*s)
+    {
+#ifndef WITH_NOZONE
+      if (*s == '+' || *s == '-')
+      { int h = 0, m = 0;
+        if (s[3] == ':')
+        { /* +hh:mm */
+          sscanf(s, "%d:%d", &h, &m);
+          if (h < 0)
+            m = -m;
+        }
+        else /* +hhmm */
+        { m = (int)soap_strtol(s, NULL, 10);
+          h = m / 100;
+          m = m % 100;
+        }
+        T.tm_min -= m;
+        T.tm_hour -= h;
+        /* put hour and min in range */
+        T.tm_hour += T.tm_min / 60;
+        T.tm_min %= 60;
+        if (T.tm_min < 0)
+        { T.tm_min += 60;
+          T.tm_hour--;
+        }
+        T.tm_mday += T.tm_hour / 24;
+        T.tm_hour %= 24;
+        if (T.tm_hour < 0)
+        { T.tm_hour += 24;
+          T.tm_mday--;
+        }
+        /* note: day of the month may be out of range, timegm() handles it */
+      }
+#endif
+      *p = soap_timegm(&T);
+    }
+    else /* no UTC or timezone, so assume we got a localtime */
+    { T.tm_isdst = -1;
+      *p = mktime(&T);
+    }
+  }
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+time_t *
+SOAP_FMAC2
+soap_indateTime(struct soap *soap, const char *tag, time_t *p, const char *type, int t)
+{ if (soap_element_begin_in(soap, tag, 0, NULL))
+    return NULL;
+  if (*soap->type
+   && soap_match_tag(soap, soap->type, type)
+   && soap_match_tag(soap, soap->type, ":dateTime"))
+  { soap->error = SOAP_TYPE;
+    soap_revert(soap);
+    return NULL;
+  }
+  p = (time_t*)soap_id_enter(soap, soap->id, p, t, sizeof(time_t), 0, NULL, NULL, NULL);
+  if (*soap->href)
+    p = (time_t*)soap_id_forward(soap, soap->href, p, 0, t, 0, sizeof(time_t), 0, NULL);
+  else if (p)
+  { if (soap_s2dateTime(soap, soap_value(soap), p))
+      return NULL;
+  }
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outliteral(struct soap *soap, const char *tag, char *const*p, const char *type)
+{ int i;
+  const char *t = NULL;
+  if (tag && *tag != '-')
+  { if (soap->local_namespaces && (t = strchr(tag, ':')))
+    { size_t n = t - tag;
+      if (n >= sizeof(soap->tmpbuf))
+        n = sizeof(soap->tmpbuf) - 1;
+      strncpy(soap->tmpbuf, tag, n);
+      soap->tmpbuf[n] = '\0';
+      for (i = 0; soap->local_namespaces[i].id; i++)
+        if (!strcmp(soap->tmpbuf, soap->local_namespaces[i].id))
+          break;
+      t++;
+      if (soap_element(soap, t, 0, type)
+       || soap_attribute(soap, "xmlns", soap->local_namespaces[i].ns ? soap->local_namespaces[i].ns : SOAP_STR_EOS)
+       || soap_element_start_end_out(soap, NULL))
+        return soap->error;
+    }
+    else
+    { t = tag;
+      if (soap_element_begin_out(soap, t, 0, type))
+        return soap->error;
+    }
+  }
+  if (p && *p)
+  { if (soap_send(soap, *p)) /* send as-is */
+      return soap->error;
+  }
+  if (t)
+    return soap_element_end_out(soap, t);
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+char **
+SOAP_FMAC2
+soap_inliteral(struct soap *soap, const char *tag, char **p)
+{ if (soap_element_begin_in(soap, tag, 1, NULL))
+  { if (soap->error != SOAP_NO_TAG || soap_unget(soap, soap_get(soap)) == SOAP_TT)
+      return NULL;
+    soap->error = SOAP_OK;
+  }
+  if (!p)
+  { if (!(p = (char**)soap_malloc(soap, sizeof(char*))))
+      return NULL;
+  }
+  if (soap->body || (tag && *tag == '-'))
+  { *p = soap_string_in(soap, 0, -1, -1);
+    if (!*p)
+      return NULL;
+    if (!**p && tag && *tag == '-')
+    { soap->error = SOAP_NO_TAG;
+      return NULL;
+    }
+  }
+  else if (soap->null)
+    *p = NULL;
+  else
+    *p = soap_strdup(soap, SOAP_STR_EOS);
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_outwliteral(struct soap *soap, const char *tag, wchar_t *const*p, const char *type)
+{ int i;
+  const char *t = NULL;
+  if (tag && *tag != '-')
+  { if (soap->local_namespaces && (t = strchr(tag, ':')))
+    { size_t n = t - tag;
+      if (n >= sizeof(soap->tmpbuf))
+        n = sizeof(soap->tmpbuf) - 1;
+      strncpy(soap->tmpbuf, tag, n);
+      soap->tmpbuf[n] = '\0';
+      for (i = 0; soap->local_namespaces[i].id; i++)
+        if (!strcmp(soap->tmpbuf, soap->local_namespaces[i].id))
+          break;
+      t++;
+      if (soap_element(soap, t, 0, type)
+       || soap_attribute(soap, "xmlns", soap->local_namespaces[i].ns ? soap->local_namespaces[i].ns : SOAP_STR_EOS)
+       || soap_element_start_end_out(soap, NULL))
+        return soap->error;
+    }
+    else
+    { t = tag;
+      if (soap_element_begin_out(soap, t, 0, type))
+        return soap->error;
+    }
+  }
+  if (p)
+  { wchar_t c;
+    const wchar_t *s = *p;
+    while ((c = *s++))
+    { if (soap_pututf8(soap, (unsigned long)c)) /* send as-is in UTF8 */
+        return soap->error;
+    }
+  }
+  if (t)
+    return soap_element_end_out(soap, t);
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_2
+SOAP_FMAC1
+wchar_t **
+SOAP_FMAC2
+soap_inwliteral(struct soap *soap, const char *tag, wchar_t **p)
+{ if (soap_element_begin_in(soap, tag, 1, NULL))
+  { if (soap->error != SOAP_NO_TAG || soap_unget(soap, soap_get(soap)) == SOAP_TT)
+      return NULL;
+    soap->error = SOAP_OK;
+  }
+  if (!p)
+  { if (!(p = (wchar_t**)soap_malloc(soap, sizeof(wchar_t*))))
+      return NULL;
+  }
+  if (soap->body)
+  { *p = soap_wstring_in(soap, 0, -1, -1);
+    if (!*p)
+      return NULL;
+    if (!**p && tag && *tag == '-')
+    { soap->error = SOAP_NO_TAG;
+      return NULL;
+    }
+  }
+  else if (tag && *tag == '-')
+  { soap->error = SOAP_NO_TAG;
+    return NULL;
+  }
+  else if (soap->null)
+    *p = NULL;
+  else
+    *p = soap_wstrdup(soap, (wchar_t*)SOAP_STR_EOS);
+  if (soap->body && soap_element_end_in(soap, tag))
+    return NULL;
+  return p;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+const char *
+SOAP_FMAC2
+soap_value(struct soap *soap)
+{ register size_t i;
+  register soap_wchar c = 0;
+  register char *s = soap->tmpbuf;
+  if (!soap->body)
+    return SOAP_STR_EOS;
+  do c = soap_get(soap);
+  while (soap_blank(c));
+  for (i = 0; i < sizeof(soap->tmpbuf) - 1; i++)
+  { if (c == SOAP_TT || c == SOAP_LT || (int)c == EOF)
+      break;
+    *s++ = (char)c;
+    c = soap_get(soap);
+  }
+  for (s--; i > 0; i--, s--)
+  { if (!soap_blank((soap_wchar)*s))
+      break;
+  }
+  s[1] = '\0';
+  soap->tmpbuf[sizeof(soap->tmpbuf) - 1] = '\0'; /* appease */
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Element content value='%s'\n", soap->tmpbuf));
+  if (c == SOAP_TT || c == SOAP_LT || (int)c == EOF)
+    soap_unget(soap, c);
+  else if (soap->mode & SOAP_XML_STRICT)
+  { soap->error = SOAP_LENGTH;
+    return NULL;
+  }
+#ifdef WITH_DOM
+  if ((soap->mode & SOAP_XML_DOM) && soap->dom)
+    soap->dom->data = soap_strdup(soap, soap->tmpbuf);
+#endif
+  return soap->tmpbuf; /* return non-null pointer */
+}
+#endif
+
+/******************************************************************************/
+#if !defined(WITH_LEANER) || !defined(WITH_NOHTTP)
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_getline(struct soap *soap, char *s, int len)
+{ int i = len;
+  soap_wchar c = 0;
+  for (;;)
+  { while (--i > 0)
+    { c = soap_getchar(soap);
+      if (c == '\r' || c == '\n')
+        break;
+      if ((int)c == EOF)
+        return soap->error = SOAP_CHK_EOF;
+      *s++ = (char)c;
+    }
+    *s = '\0';
+    if (c != '\n')
+      c = soap_getchar(soap); /* got \r or something else, now get \n */
+    if (c == '\n')
+    { if (i + 1 == len) /* empty line: end of HTTP/MIME header */
+        break;
+      c = soap_get0(soap);
+      if (c != ' ' && c != '\t') /* HTTP line continuation? */
+        break;
+    }
+    else if ((int)c == EOF)
+      return soap->error = SOAP_CHK_EOF;
+    if (i <= 0)
+      return soap->error = SOAP_HDR;
+  }
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+static size_t
+soap_count_attachments(struct soap *soap)
+{
+#ifndef WITH_LEANER
+  register struct soap_multipart *content;
+  register size_t count = soap->count;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Calculating the message size with attachments, current count=%lu\n", (unsigned long)count));
+  if ((soap->mode & SOAP_ENC_DIME) && !(soap->mode & SOAP_ENC_MTOM))
+  { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Calculating the size of DIME attachments\n"));
+    for (content = soap->dime.first; content; content = content->next)
+    { count += 12 + ((content->size+3)&(~3));
+      if (content->id)
+        count += ((strlen(content->id)+3)&(~3));
+      if (content->type)
+        count += ((strlen(content->type)+3)&(~3));
+      if (content->options)
+        count += ((((unsigned char)content->options[2] << 8) | ((unsigned char)content->options[3]))+7)&(~3);
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Size of DIME attachment content is %lu bytes\n", (unsigned long)content->size));
+    }
+  }
+  if ((soap->mode & SOAP_ENC_MIME) && soap->mime.boundary)
+  { register size_t n = strlen(soap->mime.boundary);
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Calculating the size of MIME attachments\n"));
+    for (content = soap->mime.first; content; content = content->next)
+    { register const char *s;
+      /* count \r\n--boundary\r\n */
+      count += 6 + n;
+      /* count Content-Type: ...\r\n */
+      if (content->type)
+        count += 16 + strlen(content->type);
+      /* count Content-Transfer-Encoding: ...\r\n */
+      s = soap_code_str(mime_codes, content->encoding);
+      if (s)
+        count += 29 + strlen(s);
+      /* count Content-ID: ...\r\n */
+      if (content->id)
+        count += 14 + strlen(content->id);
+      /* count Content-Location: ...\r\n */
+      if (content->location)
+        count += 20 + strlen(content->location);
+      /* count Content-Description: ...\r\n */
+      if (content->description)
+        count += 23 + strlen(content->description);
+      /* count \r\n...content */
+      count += 2 + content->size;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Size of MIME attachment content is %lu bytes\n", (unsigned long)content->size));
+    }
+    /* count \r\n--boundary-- */
+    count += 6 + n;
+  }
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "New count=%lu\n", (unsigned long)count));
+  return count;
+#else
+  return soap->count;
+#endif
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+static int
+soap_putdimefield(struct soap *soap, const char *s, size_t n)
+{ if (soap_send_raw(soap, s, n))
+    return soap->error;
+  return soap_send_raw(soap, SOAP_STR_PADDING, -(long)n&3);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+char *
+SOAP_FMAC2
+soap_dime_option(struct soap *soap, unsigned short optype, const char *option)
+{ size_t n;
+  char *s = NULL;
+  if (option)
+  { n = strlen(option);
+    s = (char*)soap_malloc(soap, n + 5);
+    if (s)
+    { s[0] = (char)(optype >> 8);
+      s[1] = (char)(optype & 0xFF);
+      s[2] = (char)(n >> 8);
+      s[3] = (char)(n & 0xFF);
+      strcpy(s + 4, option);
+    }
+  }
+  return s;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_putdimehdr(struct soap *soap)
+{ unsigned char tmp[12];
+  size_t optlen = 0, idlen = 0, typelen = 0;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Put DIME header id='%s'\n", soap->dime.id ? soap->dime.id : SOAP_STR_EOS));
+  if (soap->dime.options)
+    optlen = (((unsigned char)soap->dime.options[2] << 8) | ((unsigned char)soap->dime.options[3])) + 4;
+  if (soap->dime.id)
+  { idlen = strlen(soap->dime.id);
+    if (idlen > 0x0000FFFF)
+      idlen = 0x0000FFFF;
+  }
+  if (soap->dime.type)
+  { typelen = strlen(soap->dime.type);
+    if (typelen > 0x0000FFFF)
+      typelen = 0x0000FFFF;
+  }
+  tmp[0] = SOAP_DIME_VERSION | (soap->dime.flags & 0x7);
+  tmp[1] = soap->dime.flags & 0xF0;
+  tmp[2] = (char)(optlen >> 8);
+  tmp[3] = (char)(optlen & 0xFF);
+  tmp[4] = (char)(idlen >> 8);
+  tmp[5] = (char)(idlen & 0xFF);
+  tmp[6] = (char)(typelen >> 8);
+  tmp[7] = (char)(typelen & 0xFF);
+  tmp[8] = (char)(soap->dime.size >> 24);
+  tmp[9] = (char)((soap->dime.size >> 16) & 0xFF);
+  tmp[10] = (char)((soap->dime.size >> 8) & 0xFF);
+  tmp[11] = (char)(soap->dime.size & 0xFF);
+  if (soap_send_raw(soap, (char*)tmp, 12)
+   || soap_putdimefield(soap, soap->dime.options, optlen)
+   || soap_putdimefield(soap, soap->dime.id, idlen)
+   || soap_putdimefield(soap, soap->dime.type, typelen))
+    return soap->error;
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_putdime(struct soap *soap)
+{ struct soap_multipart *content;
+  if (!(soap->mode & SOAP_ENC_DIME))
+    return SOAP_OK;
+  for (content = soap->dime.first; content; content = content->next)
+  { void *handle;
+    soap->dime.size = content->size;
+    soap->dime.id = content->id;
+    soap->dime.type = content->type;
+    soap->dime.options = content->options;
+    soap->dime.flags = SOAP_DIME_VERSION | SOAP_DIME_MEDIA;
+    if (soap->fdimereadopen && ((handle = soap->fdimereadopen(soap, (void*)content->ptr, content->id, content->type, content->options)) || soap->error))
+    { size_t size = content->size;
+      if (!handle)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "fdimereadopen failed\n"));
+        return soap->error;
+      }
+      if (!size && ((soap->mode & SOAP_ENC_XML) || (soap->mode & SOAP_IO) == SOAP_IO_CHUNK || (soap->mode & SOAP_IO) == SOAP_IO_STORE))
+      { size_t chunksize = sizeof(soap->tmpbuf);
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Chunked streaming DIME\n"));
+        do
+        { size = soap->fdimeread(soap, handle, soap->tmpbuf, chunksize);
+          DBGLOG(TEST, SOAP_MESSAGE(fdebug, "fdimeread returned %lu bytes\n", (unsigned long)size));
+          if (size < chunksize)
+          { soap->dime.flags &= ~SOAP_DIME_CF;
+            if (!content->next)
+              soap->dime.flags |= SOAP_DIME_ME;
+          }
+          else
+            soap->dime.flags |= SOAP_DIME_CF;
+          soap->dime.size = size;
+          if (soap_putdimehdr(soap)
+           || soap_putdimefield(soap, soap->tmpbuf, size))
+            break;
+          if (soap->dime.id)
+          { soap->dime.flags &= ~(SOAP_DIME_MB | SOAP_DIME_MEDIA);
+            soap->dime.id = NULL;
+            soap->dime.type = NULL;
+            soap->dime.options = NULL;
+          }
+        } while (size >= chunksize);
+      }
+      else
+      { if (!content->next)
+          soap->dime.flags |= SOAP_DIME_ME;
+        if (soap_putdimehdr(soap))
+          return soap->error;
+        do
+        { size_t bufsize;
+          if (size < sizeof(soap->tmpbuf))
+            bufsize = size;
+          else
+            bufsize = sizeof(soap->tmpbuf);
+          if (!(bufsize = soap->fdimeread(soap, handle, soap->tmpbuf, bufsize)))
+          { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "fdimeread failed: insufficient data (%lu bytes remaining from %lu bytes)\n", (unsigned long)size, (unsigned long)content->size));
+            soap->error = SOAP_CHK_EOF;
+            break;
+          }
+          if (soap_send_raw(soap, soap->tmpbuf, bufsize))
+            break;
+          size -= bufsize;
+        } while (size);
+        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "fdimereadclose\n"));
+        soap_send_raw(soap, SOAP_STR_PADDING, -(long)soap->dime.size&3);
+      }
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "fdimereadclose\n"));
+      if (soap->fdimereadclose)
+        soap->fdimereadclose(soap, handle);
+    }
+    else
+    { if (!content->next)
+        soap->dime.flags |= SOAP_DIME_ME;
+      if (soap_putdimehdr(soap)
+       || soap_putdimefield(soap, (char*)content->ptr, content->size))
+        return soap->error;
+    }
+  }
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+static char *
+soap_getdimefield(struct soap *soap, size_t n)
+{ register soap_wchar c;
+  register size_t i;
+  register char *s;
+  register char *p = NULL;
+  if (n)
+  { p = (char*)soap_malloc(soap, n + 1);
+    if (p)
+    { s = p;
+      for (i = n; i > 0; i--)
+      { if ((int)(c = soap_get1(soap)) == EOF)
+        { soap->error = SOAP_CHK_EOF;
+          return NULL;
+        }
+        *s++ = (char)c;
+      }
+      *s = '\0';
+      if ((soap->error = soap_move(soap, (size_t)(-(long)n&3))))
+        return NULL;
+    }
+    else
+      soap->error = SOAP_EOM;
+  }
+  return p;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_getdimehdr(struct soap *soap)
+{ register soap_wchar c;
+  register char *s;
+  register int i;
+  unsigned char tmp[12];
+  size_t optlen, idlen, typelen;
+  if (!(soap->mode & SOAP_ENC_DIME))
+    return soap->error = SOAP_DIME_END;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Get DIME header\n"));
+  if (soap->dime.buflen || soap->dime.chunksize)
+  { if (soap_move(soap, soap->dime.size - soap_tell(soap)))
+      return soap->error = SOAP_CHK_EOF;
+    soap_unget(soap, soap_getchar(soap)); /* skip padding and get hdr */
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "... From chunked\n"));
+    return SOAP_OK;
+  }
+  s = (char*)tmp;
+  for (i = 12; i > 0; i--)
+  { if ((int)(c = soap_getchar(soap)) == EOF)
+      return soap->error = SOAP_CHK_EOF;
+    *s++ = (char)c;
+  }
+  if ((tmp[0] & 0xF8) != SOAP_DIME_VERSION)
+    return soap->error = SOAP_DIME_MISMATCH;
+  soap->dime.flags = (tmp[0] & 0x7) | (tmp[1] & 0xF0);
+  optlen = (tmp[2] << 8) | tmp[3];
+  idlen = (tmp[4] << 8) | tmp[5];
+  typelen = (tmp[6] << 8) | tmp[7];
+  soap->dime.size = ((size_t)tmp[8] << 24) | ((size_t)tmp[9] << 16) | ((size_t)tmp[10] << 8) | ((size_t)tmp[11]);
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DIME size=%lu flags=0x%X\n", (unsigned long)soap->dime.size, soap->dime.flags));
+  if (!(soap->dime.options = soap_getdimefield(soap, optlen)) && soap->error)
+    return soap->error;
+  if (!(soap->dime.id = soap_getdimefield(soap, idlen)) && soap->error)
+    return soap->error;
+  if (!(soap->dime.type = soap_getdimefield(soap, typelen)) && soap->error)
+    return soap->error;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DIME id='%s', type='%s', options='%s'\n", soap->dime.id ? soap->dime.id : SOAP_STR_EOS, soap->dime.type ? soap->dime.type : "", soap->dime.options ? soap->dime.options+4 : SOAP_STR_EOS));
+  if (soap->dime.flags & SOAP_DIME_ME)
+    soap->mode &= ~SOAP_ENC_DIME;
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_getdime(struct soap *soap)
+{ while (soap->dime.flags & SOAP_DIME_CF)
+  { if (soap_getdimehdr(soap))
+      return soap->error;
+    if (soap_move(soap, soap->dime.size))
+      return soap->error = SOAP_EOF;
+  }
+  if (soap_move(soap, (size_t)(((soap->dime.size+3)&(~3)) - soap_tell(soap))))
+    return soap->error = SOAP_EOF;
+  for (;;)
+  { register struct soap_multipart *content;
+    if (soap_getdimehdr(soap))
+      break;
+    if (soap->fdimewriteopen && ((soap->dime.ptr = (char*)soap->fdimewriteopen(soap, soap->dime.id, soap->dime.type, soap->dime.options)) || soap->error))
+    { const char *id, *type, *options;
+      size_t size, n;
+      if (!soap->dime.ptr)
+        return soap->error;
+      id = soap->dime.id;
+      type = soap->dime.type;
+      options = soap->dime.options;
+      for (;;)
+      { size = soap->dime.size;
+        for (;;)
+        { n = soap->buflen - soap->bufidx;
+          if (size < n)
+            n = size;
+          if ((soap->error = soap->fdimewrite(soap, (void*)soap->dime.ptr, soap->buf + soap->bufidx, n)))
+            break;
+          size -= n;
+          if (!size)
+          { soap->bufidx += n;
+            break;
+          }
+          if (soap_recv(soap))
+          { soap->error = SOAP_EOF;
+            goto end;
+          }
+        }
+        if (soap_move(soap, (size_t)(-(long)soap->dime.size&3)))
+        { soap->error = SOAP_EOF;
+          break;
+        }
+        if (!(soap->dime.flags & SOAP_DIME_CF))
+          break;
+        if (soap_getdimehdr(soap))
+          break;
+      }
+end:
+      if (soap->fdimewriteclose)
+        soap->fdimewriteclose(soap, (void*)soap->dime.ptr);
+      soap->dime.size = 0;
+      soap->dime.id = id;
+      soap->dime.type = type;
+      soap->dime.options = options;
+    }
+    else if (soap->dime.flags & SOAP_DIME_CF)
+    { const char *id, *type, *options;
+      id = soap->dime.id;
+      type = soap->dime.type;
+      options = soap->dime.options;
+      if (soap_new_block(soap) == NULL)
+        return SOAP_EOM;
+      for (;;)
+      { register soap_wchar c;
+        register size_t i;
+        register char *s;
+        if (soap->dime.size > SOAP_MAXDIMESIZE)
+        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DIME size=%lu exceeds SOAP_MAXDIMESIZE=%lu\n", (unsigned long)soap->dime.size, (unsigned long)SOAP_MAXDIMESIZE));
+          return soap->error = SOAP_DIME_ERROR;
+        }
+        s = (char*)soap_push_block(soap, NULL, soap->dime.size);
+        if (!s)
+          return soap->error = SOAP_EOM;
+        for (i = soap->dime.size; i > 0; i--)
+        { if ((int)(c = soap_get1(soap)) == EOF)
+            return soap->error = SOAP_EOF;
+          *s++ = (char)c;
+        }
+        if (soap_move(soap, (size_t)(-(long)soap->dime.size&3)))
+          return soap->error = SOAP_EOF;
+        if (!(soap->dime.flags & SOAP_DIME_CF))
+          break;
+        if (soap_getdimehdr(soap))
+          return soap->error;
+      }
+      soap->dime.size = soap->blist->size++; /* allocate one more byte in blist for the terminating '\0' */
+      if (!(soap->dime.ptr = soap_save_block(soap, NULL, NULL, 0)))
+        return soap->error;
+      soap->dime.ptr[soap->dime.size] = '\0'; /* make 0-terminated */
+      soap->dime.id = id;
+      soap->dime.type = type;
+      soap->dime.options = options;
+    }
+    else
+      soap->dime.ptr = soap_getdimefield(soap, soap->dime.size);
+    content = soap_new_multipart(soap, &soap->dime.first, &soap->dime.last, soap->dime.ptr, soap->dime.size);
+    if (!content)
+      return soap->error = SOAP_EOM;
+    content->id = soap->dime.id;
+    content->type = soap->dime.type;
+    content->options = soap->dime.options;
+    if (soap->error)
+      return soap->error;
+    soap_resolve_attachment(soap, content);
+  }
+  if (soap->error != SOAP_DIME_END)
+    return soap->error;
+  return soap->error = SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_getmimehdr(struct soap *soap)
+{ struct soap_multipart *content;
+  do
+  { if (soap_getline(soap, soap->msgbuf, sizeof(soap->msgbuf)))
+      return soap->error;
+  }
+  while (!*soap->msgbuf);
+  if (soap->msgbuf[0] == '-' && soap->msgbuf[1] == '-')
+  { char *s = soap->msgbuf + strlen(soap->msgbuf) - 1;
+    /* remove white space */
+    while (soap_blank((soap_wchar)*s))
+      s--;
+    s[1] = '\0';
+    if (soap->mime.boundary)
+    { if (strcmp(soap->msgbuf + 2, soap->mime.boundary))
+        return soap->error = SOAP_MIME_ERROR;
+    }
+    else
+      soap->mime.boundary = soap_strdup(soap, soap->msgbuf + 2);
+    if (soap_getline(soap, soap->msgbuf, sizeof(soap->msgbuf)))
+      return soap->error;
+  }
+  if (soap_set_mime_attachment(soap, NULL, 0, SOAP_MIME_NONE, NULL, NULL, NULL, NULL))
+    return soap->error = SOAP_EOM;
+  content = soap->mime.last;
+  for (;;)
+  { register char *key = soap->msgbuf;
+    register char *val;
+    if (!*key)
+      break;
+    DBGLOG(TEST,SOAP_MESSAGE(fdebug, "MIME header: %s\n", key));
+    val = strchr(soap->msgbuf, ':');
+    if (val)
+    { *val = '\0';
+      do val++;
+      while (*val && *val <= 32);
+      if (!soap_tag_cmp(key, "Content-ID"))
+        content->id = soap_strdup(soap, val);
+      else if (!soap_tag_cmp(key, "Content-Location"))
+        content->location = soap_strdup(soap, val);
+      else if (!soap_tag_cmp(key, "Content-Disposition"))
+        content->id = soap_strdup(soap, soap_get_header_attribute(soap, val, "name"));
+      else if (!soap_tag_cmp(key, "Content-Type"))
+        content->type = soap_strdup(soap, val);
+      else if (!soap_tag_cmp(key, "Content-Description"))
+        content->description = soap_strdup(soap, val);
+      else if (!soap_tag_cmp(key, "Content-Transfer-Encoding"))
+        content->encoding = (enum soap_mime_encoding)soap_code_int(mime_codes, val, (long)SOAP_MIME_NONE);
+    }
+    if (soap_getline(soap, key, sizeof(soap->msgbuf)))
+      return soap->error;
+  }
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_getmime(struct soap *soap)
+{ while (soap_get_mime_attachment(soap, NULL))
+    ;
+  return soap->error;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_post_check_mime_attachments(struct soap *soap)
+{ soap->imode |= SOAP_MIME_POSTCHECK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_check_mime_attachments(struct soap *soap)
+{ if (soap->mode & SOAP_MIME_POSTCHECK)
+    return soap_get_mime_attachment(soap, NULL) != NULL;
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+struct soap_multipart *
+SOAP_FMAC2
+soap_get_mime_attachment(struct soap *soap, void *handle)
+{ register soap_wchar c = 0;
+  register size_t i, m = 0;
+  register char *s, *t = NULL;
+  register struct soap_multipart *content;
+  register short flag = 0;
+  if (!(soap->mode & SOAP_ENC_MIME))
+    return NULL;
+  content = soap->mime.last;
+  if (!content)
+  { if (soap_getmimehdr(soap))
+      return NULL;
+    content = soap->mime.last;
+  }
+  else if (content != soap->mime.first)
+  { if (soap->fmimewriteopen && ((content->ptr = (char*)soap->fmimewriteopen(soap, (void*)handle, content->id, content->type, content->description, content->encoding)) || soap->error))
+    { if (!content->ptr)
+        return NULL;
+    }
+  }
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Parsing MIME content id='%s' type='%s'\n", content->id ? content->id : SOAP_STR_EOS, content->type ? content->type : SOAP_STR_EOS));
+  if (!content->ptr && soap_new_block(soap) == NULL)
+  { soap->error = SOAP_EOM;
+    return NULL;
+  }
+  for (;;)
+  { if (content->ptr)
+      s = soap->tmpbuf;
+    else if (!(s = (char*)soap_push_block(soap, NULL, sizeof(soap->tmpbuf))))
+    { soap->error = SOAP_EOM;
+      return NULL;
+    }
+    for (i = 0; i < sizeof(soap->tmpbuf); i++)
+    { if (m > 0)
+      { *s++ = *t++;
+        m--;
+      }
+      else
+      { if (!flag)
+        { c = soap_get1(soap);
+          if ((int)c == EOF)
+          { if (content->ptr && soap->fmimewriteclose)
+              soap->fmimewriteclose(soap, (void*)content->ptr);
+            soap->error = SOAP_CHK_EOF;
+            return NULL;
+          }
+        }
+        if (flag || c == '\r')
+        { t = soap->msgbuf;
+          memset(t, 0, sizeof(soap->msgbuf));
+          strcpy(t, "\n--");
+          if (soap->mime.boundary)
+            strncat(t, soap->mime.boundary, sizeof(soap->msgbuf)-4);
+          do c = soap_getchar(soap);
+          while (c == *t++);
+          if ((int)c == EOF)
+          { if (content->ptr && soap->fmimewriteclose)
+              soap->fmimewriteclose(soap, (void*)content->ptr);
+            soap->error = SOAP_CHK_EOF;
+            return NULL;
+          }
+          if (!*--t)
+            goto end;
+          *t = (char)c;
+          flag = (c == '\r');
+          m = t - soap->msgbuf + 1 - flag;
+          t = soap->msgbuf;
+          c = '\r';
+        }
+        *s++ = (char)c;
+      }
+    }
+    if (content->ptr && soap->fmimewrite)
+    { if ((soap->error = soap->fmimewrite(soap, (void*)content->ptr, soap->tmpbuf, i)))
+        break;
+    }
+  }
+end:
+  *s = '\0'; /* make 0-terminated */
+  if (content->ptr)
+  { if (!soap->error && soap->fmimewrite)
+      soap->error = soap->fmimewrite(soap, (void*)content->ptr, soap->tmpbuf, i);
+    if (soap->fmimewriteclose)
+      soap->fmimewriteclose(soap, (void*)content->ptr);
+    if (soap->error)
+      return NULL;
+  }
+  else
+  { content->size = soap_size_block(soap, NULL, i+1) - 1; /* last block with '\0' */
+    content->ptr = soap_save_block(soap, NULL, NULL, 0);
+  }
+  soap_resolve_attachment(soap, content);
+  if (c == '-' && soap_getchar(soap) == '-')
+  { soap->mode &= ~SOAP_ENC_MIME;
+    if ((soap->mode & SOAP_MIME_POSTCHECK) && soap_end_recv(soap))
+    { if (soap->keep_alive < 0)
+        soap->keep_alive = 0;
+      soap_closesock(soap);
+      return NULL;
+    }
+  }
+  else
+  { while (c != '\r' && (int)c != EOF && soap_blank(c))
+      c = soap_getchar(soap);
+    if (c != '\r' || soap_getchar(soap) != '\n')
+    { soap->error = SOAP_MIME_ERROR;
+      return NULL;
+    }
+    if (soap_getmimehdr(soap))
+      return NULL;
+  }
+  return content;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_match_cid(struct soap *soap, const char *s, const char *t)
+{ register size_t n;
+  if (!s)
+    return 1;
+  if (!strcmp(s, t))
+    return 0;
+  if (!strncmp(s, "cid:", 4))
+    s += 4;
+  n = strlen(t);
+  if (*t == '<')
+  { t++;
+    n -= 2;
+  }
+  if (!strncmp(s, t, n) && !s[n])
+    return 0;
+  soap_decode(soap->tmpbuf, sizeof(soap->tmpbuf), s, SOAP_STR_EOS);
+  if (!strncmp(soap->tmpbuf, t, n) && !soap->tmpbuf[n])
+    return 0;
+  return 1;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+static void
+soap_resolve_attachment(struct soap *soap, struct soap_multipart *content)
+{ if (content->id)
+  { register struct soap_xlist **xp = &soap->xlist;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Resolving attachment data for id='%s'\n", content->id));
+    while (*xp)
+    { register struct soap_xlist *xq = *xp;
+      if (!soap_match_cid(soap, xq->id, content->id))
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Found matching attachment id='%s' for content id='%s'\n", xq->id, content->id));
+        *xp = xq->next;
+        *xq->ptr = (unsigned char*)content->ptr;
+        *xq->size = (int)content->size;
+        *xq->type = (char*)content->type;
+        if (content->options)
+          *xq->options = (char*)content->options;
+        else
+          *xq->options = (char*)content->description;
+        SOAP_FREE(soap, xq);
+      }
+      else
+        xp = &(*xp)->next;
+    }
+  }
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_putmimehdr(struct soap *soap, struct soap_multipart *content)
+{ const char *s;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "MIME attachment type='%s'\n", content->type ? content->type : SOAP_STR_EOS));
+  if (soap_send3(soap, "\r\n--", soap->mime.boundary, "\r\n"))
+    return soap->error;
+  if (content->type && soap_send3(soap, "Content-Type: ", content->type, "\r\n"))
+    return soap->error;
+  s = soap_code_str(mime_codes, content->encoding);
+  if (s && soap_send3(soap, "Content-Transfer-Encoding: ", s, "\r\n"))
+    return soap->error;
+  if (content->id && soap_send3(soap, "Content-ID: ", content->id, "\r\n"))
+    return soap->error;
+  if (content->location && soap_send3(soap, "Content-Location: ", content->location, "\r\n"))
+    return soap->error;
+  if (content->description && soap_send3(soap, "Content-Description: ", content->description, "\r\n"))
+    return soap->error;
+  return soap_send_raw(soap, "\r\n", 2);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_putmime(struct soap *soap)
+{ struct soap_multipart *content;
+  if (!(soap->mode & SOAP_ENC_MIME) || !soap->mime.boundary)
+    return SOAP_OK;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Sending MIME attachments\n"));
+  for (content = soap->mime.first; content; content = content->next)
+  { void *handle;
+    if (soap->fmimereadopen && ((handle = soap->fmimereadopen(soap, (void*)content->ptr, content->id, content->type, content->description)) || soap->error))
+    { size_t size = content->size;
+      if (!handle)
+      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "fmimereadopen failed\n"));
+        return soap->error;
+      }
+      if (soap_putmimehdr(soap, content))
+        return soap->error;
+      if (!size)
+      { if ((soap->mode & SOAP_ENC_XML) || (soap->mode & SOAP_IO) == SOAP_IO_CHUNK || (soap->mode & SOAP_IO) == SOAP_IO_STORE)
+        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Chunked streaming MIME\n"));
+          do
+          { size = soap->fmimeread(soap, handle, soap->tmpbuf, sizeof(soap->tmpbuf));
+            DBGLOG(TEST, SOAP_MESSAGE(fdebug, "fmimeread returned %lu bytes\n", (unsigned long)size));
+            if (soap_send_raw(soap, soap->tmpbuf, size))
+              break;
+          } while (size);
+        }
+        else
+        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Error: cannot chunk streaming MIME (no HTTP chunking)\n"));
+        }
+      }
+      else
+      { do
+        { size_t bufsize;
+          if (size < sizeof(soap->tmpbuf))
+            bufsize = size;
+          else
+            bufsize = sizeof(soap->tmpbuf);
+          if (!(bufsize = soap->fmimeread(soap, handle, soap->tmpbuf, bufsize)))
+          { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "fmimeread failed: insufficient data (%lu bytes remaining from %lu bytes)\n", (unsigned long)size, (unsigned long)content->size));
+            soap->error = SOAP_EOF;
+            break;
+          }
+          if (soap_send_raw(soap, soap->tmpbuf, bufsize))
+            break;
+          size -= bufsize;
+        } while (size);
+      }
+      if (soap->fmimereadclose)
+        soap->fmimereadclose(soap, handle);
+    }
+    else
+    { if (soap_putmimehdr(soap, content)
+       || soap_send_raw(soap, content->ptr, content->size))
+        return soap->error;
+    }
+  }
+  return soap_send3(soap, "\r\n--", soap->mime.boundary, "--");
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_set_dime(struct soap *soap)
+{ soap->omode |= SOAP_ENC_DIME;
+  soap->dime.first = NULL;
+  soap->dime.last = NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_set_mime(struct soap *soap, const char *boundary, const char *start)
+{ soap->omode |= SOAP_ENC_MIME;
+  soap->mime.first = NULL;
+  soap->mime.last = NULL;
+  soap->mime.boundary = soap_strdup(soap, boundary);
+  soap->mime.start = soap_strdup(soap, start);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_clr_dime(struct soap *soap)
+{ soap->omode &= ~SOAP_ENC_DIME;
+  soap->dime.first = NULL;
+  soap->dime.last = NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_clr_mime(struct soap *soap)
+{ soap->omode &= ~SOAP_ENC_MIME;
+  soap->mime.first = NULL;
+  soap->mime.last = NULL;
+  soap->mime.boundary = NULL;
+  soap->mime.start = NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+static struct soap_multipart*
+soap_new_multipart(struct soap *soap, struct soap_multipart **first, struct soap_multipart **last, char *ptr, size_t size)
+{ struct soap_multipart *content;
+  content = (struct soap_multipart*)soap_malloc(soap, sizeof(struct soap_multipart));
+  if (content)
+  { content->next = NULL;
+    content->ptr = ptr;
+    content->size = size;
+    content->id = NULL;
+    content->type = NULL;
+    content->options = NULL;
+    content->encoding = SOAP_MIME_NONE;
+    content->location = NULL;
+    content->description = NULL;
+    if (!*first)
+      *first = content;
+    if (*last)
+      (*last)->next = content;
+    *last = content;
+  }
+  return content;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_set_dime_attachment(struct soap *soap, char *ptr, size_t size, const char *type, const char *id, unsigned short optype, const char *option)
+{ struct soap_multipart *content = soap_new_multipart(soap, &soap->dime.first, &soap->dime.last, ptr, size);
+  if (!content)
+    return SOAP_EOM;
+  content->id = soap_strdup(soap, id);
+  content->type = soap_strdup(soap, type);
+  content->options = soap_dime_option(soap, optype, option);
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_set_mime_attachment(struct soap *soap, char *ptr, size_t size, enum soap_mime_encoding encoding, const char *type, const char *id, const char *location, const char *description)
+{ struct soap_multipart *content = soap_new_multipart(soap, &soap->mime.first, &soap->mime.last, ptr, size);
+  if (!content)
+    return SOAP_EOM;
+  content->id = soap_strdup(soap, id);
+  content->type = soap_strdup(soap, type);
+  content->encoding = encoding;
+  content->location = soap_strdup(soap, location);
+  content->description = soap_strdup(soap, description);
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+SOAP_FMAC1
+struct soap_multipart*
+SOAP_FMAC2
+soap_next_multipart(struct soap_multipart *content)
+{ if (content)
+    return content->next;
+  return NULL;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+static void
+soap_select_mime_boundary(struct soap *soap)
+{ while (!soap->mime.boundary || soap_valid_mime_boundary(soap))
+  { register char *s = soap->mime.boundary;
+    register size_t n = 0;
+    if (s)
+      n = strlen(s);
+    if (n < 16)
+    { n = 64;
+      s = soap->mime.boundary = (char*)soap_malloc(soap, n + 1);
+      if (!s)
+        return;
+    }
+    strcpy(s, "==");
+    s += 2;
+    n -= 4;
+    while (n)
+    { *s++ = soap_base64o[soap_random & 0x3F];
+      n--;
+    }
+    strcpy(s, "==");
+  }
+  if (!soap->mime.start)
+    soap->mime.start = "<SOAP-ENV:Envelope>";
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEANER
+#ifndef PALM_1
+static int
+soap_valid_mime_boundary(struct soap *soap)
+{ register struct soap_multipart *content;
+  register size_t k;
+  if (soap->fmimeread)
+    return SOAP_OK;
+  k = strlen(soap->mime.boundary);
+  for (content = soap->mime.first; content; content = content->next)
+  { if (content->ptr && content->size >= k)
+    { register const char *p = (const char*)content->ptr;
+      register size_t i;
+      for (i = 0; i < content->size - k; i++, p++)
+      { if (!strncmp(p, soap->mime.boundary, k))
+          return SOAP_ERR;
+      }
+    }
+  }
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifdef WITH_GZIP
+#ifndef PALM_1
+static int
+soap_getgziphdr(struct soap *soap)
+{ int i;
+  soap_wchar c = 0, f = 0;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Get gzip header\n"));
+  for (i = 0; i < 9; i++)
+  { if ((int)(c = soap_get1(soap) == EOF))
+      return soap->error = SOAP_ZLIB_ERROR;
+    if (i == 1 && c == 8)
+      soap->z_dict = 0;
+    if (i == 2)
+      f = c;
+  }
+  if (f & 0x04) /* FEXTRA */
+  { for (i = soap_get1(soap) | (soap_get1(soap) << 8); i; i--)
+    { if ((int)soap_get1(soap) == EOF)
+        return soap->error = SOAP_ZLIB_ERROR;
+    }
+  }
+  if (f & 0x08) /* skip FNAME */
+  { do
+      c = soap_get1(soap);
+    while (c && (int)c != EOF);
+  }
+  if ((int)c != EOF && (f & 0x10)) /* skip FCOMMENT */
+  { do
+      c = soap_get1(soap);
+    while (c && (int)c != EOF);
+  }
+  if ((int)c != EOF && (f & 0x02)) /* skip FHCRC (CRC32 is used) */
+  { if ((int)(c = soap_get1(soap)) != EOF)
+      c = soap_get1(soap);
+  }
+  if ((int)c == EOF)
+    return soap->error = SOAP_ZLIB_ERROR;
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_begin_serve(struct soap *soap)
+{
+#ifdef WITH_FASTCGI
+  if (FCGI_Accept() < 0)
+  { soap->error = SOAP_EOF;
+    return soap_send_fault(soap);
+  }
+#endif
+  soap_begin(soap);
+  if (soap_begin_recv(soap)
+   || soap_envelope_begin_in(soap)
+   || soap_recv_header(soap)
+   || soap_body_begin_in(soap))
+  { if (soap->error < SOAP_STOP)
+    {
+#ifdef WITH_FASTCGI
+      soap_send_fault(soap);
+#else
+      return soap_send_fault(soap);
+#endif
+    }
+    return soap_closesock(soap);
+  }
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_begin_recv(struct soap *soap)
+{ register soap_wchar c;
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Initializing for input from socket=%d/fd=%d\n", soap->socket, soap->recvfd));
+  soap->error = SOAP_OK;
+  soap->filterstop = SOAP_OK;
+  soap_free_temp(soap);
+  soap_set_local_namespaces(soap);
+  soap->version = 0;	/* don't assume we're parsing SOAP content by default */
+#ifndef WITH_NOIDREF
+  soap_free_iht(soap);
+#endif
+  if ((soap->imode & SOAP_IO) == SOAP_IO_CHUNK)
+    soap->omode |= SOAP_IO_CHUNK;
+  soap->imode &= ~(SOAP_IO | SOAP_ENC_MIME);
+  soap->mode = soap->imode;
+  if (!soap->keep_alive)
+  { soap->buflen = 0;
+    soap->bufidx = 0;
+  }
+  if (!(soap->mode & SOAP_IO_KEEPALIVE))
+    soap->keep_alive = 0;
+  soap->ahead = 0;
+  soap->peeked = 0;
+  soap->level = 0;
+  soap->part = SOAP_BEGIN;
+  soap->alloced = 0;
+  soap->body = 1;
+  soap->count = 0;
+  soap->length = 0;
+  soap->cdata = 0;
+  *soap->endpoint = '\0';
+  soap->action = NULL;
+  soap->header = NULL;
+  soap->fault = NULL;
+  soap->status = 0;
+  soap->fform = NULL;
+#ifndef WITH_LEANER
+  soap->dom = NULL;
+  soap->dime.chunksize = 0;
+  soap->dime.buflen = 0;
+  soap->dime.list = NULL;
+  soap->dime.first = NULL;
+  soap->dime.last = NULL;
+  soap->mime.list = NULL;
+  soap->mime.first = NULL;
+  soap->mime.last = NULL;
+  soap->mime.boundary = NULL;
+  soap->mime.start = NULL;
+#endif
+#ifdef WIN32
+#ifndef UNDER_CE
+#ifndef WITH_FASTCGI
+  if (!soap_valid_socket(soap->socket) && !soap->is) /* Set win32 stdout or soap->sendfd to BINARY, e.g. to support DIME */
+#ifdef __BORLANDC__
+    setmode(soap->recvfd, _O_BINARY);
+#else
+    _setmode(soap->recvfd, _O_BINARY);
+#endif
+#endif
+#endif
+#endif
+#ifdef WITH_ZLIB
+  soap->mode &= ~SOAP_ENC_ZLIB;
+  soap->zlib_in = SOAP_ZLIB_NONE;
+  soap->zlib_out = SOAP_ZLIB_NONE;
+  soap->d_stream->next_in = Z_NULL;
+  soap->d_stream->avail_in = 0;
+  soap->d_stream->next_out = (Byte*)soap->buf;
+  soap->d_stream->avail_out = SOAP_BUFLEN;
+  soap->z_ratio_in = 1.0;
+#endif
+#ifdef WITH_OPENSSL
+  if (soap->ssl)
+    ERR_clear_error();
+#endif
+#ifndef WITH_LEANER
+  if (soap->fprepareinitrecv && (soap->error = soap->fprepareinitrecv(soap)))
+    return soap->error;
+#endif
+  c = soap_getchar(soap);
+#ifdef WITH_GZIP
+  if (c == 0x1F)
+  { if (soap_getgziphdr(soap))
+      return soap->error;
+    if (inflateInit2(soap->d_stream, -MAX_WBITS) != Z_OK)
+      return soap->error = SOAP_ZLIB_ERROR;
+    if (soap->z_dict)
+    { if (inflateSetDictionary(soap->d_stream, (const Bytef*)soap->z_dict, soap->z_dict_len) != Z_OK)
+        return soap->error = SOAP_ZLIB_ERROR;
+    }
+    soap->zlib_state = SOAP_ZLIB_INFLATE;
+    soap->mode |= SOAP_ENC_ZLIB;
+    soap->zlib_in = SOAP_ZLIB_GZIP;
+    soap->z_crc = crc32(0L, NULL, 0);
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "gzip initialized\n"));
+    if (!soap->z_buf)
+      soap->z_buf = (char*)SOAP_MALLOC(soap, SOAP_BUFLEN);
+    memcpy(soap->z_buf, soap->buf, SOAP_BUFLEN);
+    /* should not chunk over plain transport, so why bother to check? */
+    /* if ((soap->mode & SOAP_IO) == SOAP_IO_CHUNK) */
+    /*   soap->z_buflen = soap->bufidx; */
+    /* else */
+    soap->d_stream->next_in = (Byte*)(soap->z_buf + soap->bufidx);
+    soap->d_stream->avail_in = (unsigned int)(soap->buflen - soap->bufidx);
+    soap->z_buflen = soap->buflen;
+    soap->buflen = soap->bufidx;
+    c = ' ';
+  }
+#endif
+  while (soap_blank(c))
+    c = soap_getchar(soap);
+#ifndef WITH_LEANER
+  if (c == '-' && soap_get0(soap) == '-')
+    soap->mode |= SOAP_ENC_MIME;
+  else if ((c & 0xFFFC) == (SOAP_DIME_VERSION | SOAP_DIME_MB) && (soap_get0(soap) & 0xFFF0) == 0x20)
+    soap->mode |= SOAP_ENC_DIME;
+  else
+#endif
+  { /* skip BOM */
+    if (c == 0xEF && soap_get0(soap) == 0xBB)
+    { c = soap_get1(soap);
+      if ((c = soap_get1(soap)) == 0xBF)
+      { soap->mode &= ~SOAP_ENC_LATIN;
+        c = soap_getchar(soap);
+      }
+      else
+        c = (0x0F << 12) | (0xBB << 6) | (c & 0x3F); /* UTF-8 */
+    }
+    else if ((c == 0xFE && soap_get0(soap) == 0xFF)  /* UTF-16 BE */
+          || (c == 0xFF && soap_get0(soap) == 0xFE)) /* UTF-16 LE */
+      return soap->error = SOAP_UTF_ERROR;
+    /* skip space */
+    while (soap_blank(c))
+      c = soap_getchar(soap);
+  }
+  if ((int)c == EOF)
+    return soap->error = SOAP_CHK_EOF;
+  soap_unget(soap, c);
+#ifndef WITH_NOHTTP
+  /* if not XML/MIME/DIME/ZLIB, assume HTTP method or status line */
+  if (((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')) && !(soap->mode & (SOAP_ENC_MIME | SOAP_ENC_DIME | SOAP_ENC_ZLIB | SOAP_ENC_XML)))
+  { soap_mode m = soap->imode;
+    soap->mode &= ~SOAP_IO;
+    soap->error = soap->fparse(soap);
+    if (soap->error && soap->error < SOAP_STOP)
+    { soap->keep_alive = 0; /* force close later */
+      return soap->error;
+    }
+    if (soap->error == SOAP_STOP)
+    { if (soap->fform)
+      { soap->error = soap->fform(soap);
+        if (soap->error == SOAP_OK)
+          soap->error = SOAP_STOP; /* prevents further processing */
+      }
+      return soap->error;
+    }
+    soap->mode = soap->imode; /* if imode is changed, effectuate */
+    soap->imode = m; /* restore imode */
+#ifdef WITH_ZLIB
+    soap->mode &= ~SOAP_ENC_ZLIB;
+#endif
+    if ((soap->mode & SOAP_IO) == SOAP_IO_CHUNK)
+    { soap->chunkbuflen = soap->buflen;
+      soap->buflen = soap->bufidx;
+      soap->chunksize = 0;
+    }
+    /* Note: fparse should not use soap_unget to push back last char */
+#if 0
+    if (soap->status > 200 && soap->length == 0 && !(soap->http_content && (!soap->keep_alive || soap->recv_timeout)) && (soap->imode & SOAP_IO) != SOAP_IO_CHUNK)
+#endif
+    if (soap->status && !soap->body)
+      return soap->error = soap->status;
+#ifdef WITH_ZLIB
+    if (soap->zlib_in != SOAP_ZLIB_NONE)
+    {
+#ifdef WITH_GZIP
+      if (soap->zlib_in != SOAP_ZLIB_DEFLATE)
+      { c = soap_get1(soap);
+        if (c == (int)EOF)
+          return soap->error = SOAP_EOF;
+        if (c == 0x1F)
+        { if (soap_getgziphdr(soap))
+            return soap->error;
+          if (inflateInit2(soap->d_stream, -MAX_WBITS) != Z_OK)
+            return soap->error = SOAP_ZLIB_ERROR;
+          soap->z_crc = crc32(0L, NULL, 0);
+          DBGLOG(TEST, SOAP_MESSAGE(fdebug, "gzip initialized\n"));
+        }
+        else
+        { soap_revget1(soap);
+          if (inflateInit(soap->d_stream) != Z_OK)
+            return soap->error = SOAP_ZLIB_ERROR;
+          soap->zlib_in = SOAP_ZLIB_DEFLATE;
+        }
+      }
+      else
+#endif
+      if (inflateInit(soap->d_stream) != Z_OK)
+        return soap->error = SOAP_ZLIB_ERROR;
+      if (soap->z_dict)
+      { if (inflateSetDictionary(soap->d_stream, (const Bytef*)soap->z_dict, soap->z_dict_len) != Z_OK)
+          return soap->error = SOAP_ZLIB_ERROR;
+      }
+      soap->zlib_state = SOAP_ZLIB_INFLATE;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Inflate initialized\n"));
+      soap->mode |= SOAP_ENC_ZLIB;
+      if (!soap->z_buf)
+        soap->z_buf = (char*)SOAP_MALLOC(soap, SOAP_BUFLEN);
+      memcpy(soap->z_buf, soap->buf, SOAP_BUFLEN);
+      soap->d_stream->next_in = (Byte*)(soap->z_buf + soap->bufidx);
+      soap->d_stream->avail_in = (unsigned int)(soap->buflen - soap->bufidx);
+      soap->z_buflen = soap->buflen;
+      soap->buflen = soap->bufidx;
+    }
+#endif
+#ifndef WITH_LEANER
+    if (soap->fpreparerecv && (soap->mode & SOAP_IO) != SOAP_IO_CHUNK && soap->buflen > soap->bufidx)
+    { int r;
+      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Invoking fpreparerecv\n"));
+      if ((r = soap->fpreparerecv(soap, soap->buf + soap->bufidx, soap->buflen - soap->bufidx)))
+        return soap->error = r;
+    }
+#endif
+    if (soap_get0(soap) == (int)EOF)
+    { if (soap->status == 0 || soap->status == 200)
+        return soap->error = SOAP_NO_DATA; /* HTTP OK: always expect data */
+      return soap->error = soap->status;
+    }
+    if (soap->error)
+    { if (soap->error == SOAP_FORM && soap->fform)
+      { soap->error = soap->fform(soap);
+        if (soap->error == SOAP_OK)
+          soap->error = SOAP_STOP; /* prevents further processing */
+      }
+      return soap->error;
+    }
+  }
+#endif
+#ifndef WITH_LEANER
+  if (soap->mode & SOAP_ENC_MIME)
+  { do /* skip preamble */
+    { if ((int)(c = soap_getchar(soap)) == EOF)
+        return soap->error = SOAP_CHK_EOF;
+    } while (c != '-' || soap_get0(soap) != '-');
+    soap_unget(soap, c);
+    if (soap_getmimehdr(soap))
+      return soap->error;
+    if (soap->mime.start)
+    { do
+      { if (!soap->mime.last->id)
+          break;
+        if (!soap_match_cid(soap, soap->mime.start, soap->mime.last->id))
+          break;
+      } while (soap_get_mime_attachment(soap, NULL));
+    }
+    if (soap_get_header_attribute(soap, soap->mime.first->type, "application/dime"))
+      soap->mode |= SOAP_ENC_DIME;
+  }
+  if (soap->mode & SOAP_ENC_DIME)
+  { if (soap_getdimehdr(soap))
+      return soap->error;
+    if (soap->dime.flags & SOAP_DIME_CF)
+    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Chunked DIME SOAP message\n"));
+      soap->dime.chunksize = soap->dime.size;
+      if (soap->buflen - soap->bufidx >= soap->dime.chunksize)
+      { soap->dime.buflen = soap->buflen;
+        soap->buflen = soap->bufidx + soap->dime.chunksize;
+      }
+      else
+        soap->dime.chunksize -= soap->buflen - soap->bufidx;
+    }
+    soap->count = soap->buflen - soap->bufidx;
+  }
+#endif
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_envelope_begin_out(struct soap *soap)
+{
+#ifndef WITH_LEANER
+  size_t n = 0;
+  if ((soap->mode & SOAP_ENC_MIME) && soap->mime.boundary && soap->mime.start && strlen(soap->mime.boundary) + strlen(soap->mime.start) < sizeof(soap->tmpbuf) - 80 )
+  { const char *s;
+    if ((soap->mode & SOAP_ENC_DIME) && !(soap->mode & SOAP_ENC_MTOM))
+      s = "application/dime";
+    else if (soap->version == 2)
+    { if (soap->mode & SOAP_ENC_MTOM)
+        s = "application/xop+xml; charset=utf-8; type=\"application/soap+xml\"";
+      else
+        s = "application/soap+xml; charset=utf-8";
+    }
+    else if (soap->mode & SOAP_ENC_MTOM)
+      s = "application/xop+xml; charset=utf-8; type=\"text/xml\"";
+    else
+      s = "text/xml; charset=utf-8";
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "--%s\r\nContent-Type: %s\r\nContent-Transfer-Encoding: binary\r\nContent-ID: %s\r\n\r\n", soap->mime.boundary, s, soap->mime.start);
+#else
+    sprintf(soap->tmpbuf, "--%s\r\nContent-Type: %s\r\nContent-Transfer-Encoding: binary\r\nContent-ID: %s\r\n\r\n", soap->mime.boundary, s, soap->mime.start);
+#endif
+    n = strlen(soap->tmpbuf);
+    if (soap_send_raw(soap, soap->tmpbuf, n))
+      return soap->error;
+  }
+  if (soap->mode & SOAP_IO_LENGTH)
+    soap->dime.size = soap->count;	/* DIME in MIME correction */
+  if (!(soap->mode & SOAP_IO_LENGTH) && (soap->mode & SOAP_ENC_DIME))
+  { if (soap_putdimehdr(soap))
+      return soap->error;
+  }
+#endif
+  if (soap->version == 0)
+    return SOAP_OK;
+  soap->part = SOAP_IN_ENVELOPE;
+  return soap_element_begin_out(soap, "SOAP-ENV:Envelope", 0, NULL);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_envelope_end_out(struct soap *soap)
+{ if (soap->version == 0)
+    return SOAP_OK;
+  if (soap_element_end_out(soap, "SOAP-ENV:Envelope")
+   || soap_send_raw(soap, "\r\n", 2))	/* 2.8: always emit \r\n */
+    return soap->error;
+#ifndef WITH_LEANER
+  if ((soap->mode & SOAP_IO_LENGTH) && (soap->mode & SOAP_ENC_DIME) && !(soap->mode & SOAP_ENC_MTOM))
+  { soap->dime.size = soap->count - soap->dime.size;	/* DIME in MIME correction */
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->id, sizeof(soap->id), soap->dime_id_format, 0);
+#else
+    sprintf(soap->id, soap->dime_id_format, 0);
+#endif
+    soap->dime.id = soap->id;
+    if (soap->local_namespaces)
+    { if (soap->local_namespaces[0].out)
+        soap->dime.type = (char*)soap->local_namespaces[0].out;
+      else
+        soap->dime.type = (char*)soap->local_namespaces[0].ns;
+    }
+    soap->dime.options = NULL;
+    soap->dime.flags = SOAP_DIME_MB | SOAP_DIME_ABSURI;
+    if (!soap->dime.first)
+      soap->dime.flags |= SOAP_DIME_ME;
+    soap->count += 12 + ((strlen(soap->dime.id)+3)&(~3)) + (soap->dime.type ? ((strlen(soap->dime.type)+3)&(~3)) : 0);
+  }
+  if ((soap->mode & SOAP_ENC_DIME) && !(soap->mode & SOAP_ENC_MTOM))
+    return soap_send_raw(soap, SOAP_STR_PADDING, -(long)soap->dime.size&3);
+#endif
+  soap->part = SOAP_END_ENVELOPE;
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+#ifndef PALM_1
+SOAP_FMAC1
+char*
+SOAP_FMAC2
+soap_get_http_body(struct soap *soap, size_t *len)
+{ if (len)
+    *len = 0;
+#ifndef WITH_LEAN
+  register size_t l = 0, n = 0;
+  register char *s;
+  /* get HTTP body length */
+  if (!(soap->mode & SOAP_ENC_ZLIB) && (soap->mode & SOAP_IO) != SOAP_IO_CHUNK)
+  { n = soap->length;
+    if (!n)
+      return NULL;
+  }
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Parsing HTTP body (mode=0x%x,len=%lu)\n", soap->mode, (unsigned long)n));
+#ifdef WITH_FAST
+  soap->labidx = 0;			/* use look-aside buffer */
+#else
+  if (soap_new_block(soap) == NULL)
+    return NULL;
+#endif
+  for (;;)
+  {
+#ifdef WITH_FAST
+    register size_t i, k;
+    if (soap_append_lab(soap, NULL, 0))	/* allocate more space in look-aside buffer if necessary */
+      return NULL;
+    s = soap->labbuf + soap->labidx;	/* space to populate */
+    k = soap->lablen - soap->labidx;	/* number of bytes available */
+    soap->labidx = soap->lablen;	/* claim this space */
+#else
+    register size_t i, k = SOAP_BLKLEN;
+    if (!(s = (char*)soap_push_block(soap, NULL, k)))
+      return NULL;
+#endif
+    for (i = 0; i < k; i++)
+    { register soap_wchar c;
+      l++;
+      if (n > 0 && l > n)
+        goto end;
+      c = soap_get1(soap);
+      if ((int)c == EOF)
+        goto end;
+      *s++ = (char)(c & 0xFF);
+    }
+  }
+end:
+  *s = '\0';
+  if (len)
+    *len = l - 1; /* len excludes terminating \0 */
+#ifdef WITH_FAST
+  if ((s = (char*)soap_malloc(soap, l)))
+    memcpy(s, soap->labbuf, l);
+#else
+  soap_size_block(soap, NULL, i+1);
+  s = soap_save_block(soap, NULL, 0);
+#endif
+  return s;
+#else
+  return NULL;
+#endif
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_envelope_begin_in(struct soap *soap)
+{ register struct Namespace *p;
+  soap->part = SOAP_IN_ENVELOPE;
+  if (soap_element_begin_in(soap, "SOAP-ENV:Envelope", 0, NULL))
+  { if (soap->error == SOAP_TAG_MISMATCH)
+    { if (!soap_element_begin_in(soap, "Envelope", 0, NULL))
+        soap->error = SOAP_VERSIONMISMATCH;
+      else if (soap->status == 0 || (soap->status >= 200 && soap->status <= 299))
+        return SOAP_OK; /* allow non-SOAP XML content to be captured */
+      soap->error = soap->status;
+    }
+    else if (soap->status)
+      soap->error = soap->status;
+    return soap->error;
+  }
+  p = soap->local_namespaces;
+  if (p)
+  { const char *ns = p[0].out;
+    if (!ns)
+      ns = p[0].ns;
+    if (!strcmp(ns, soap_env1))
+    { soap->version = 1; /* make sure we use SOAP 1.1 */
+      if (p[1].out)
+        SOAP_FREE(soap, p[1].out);
+      if ((p[1].out = (char*)SOAP_MALLOC(soap, sizeof(soap_enc1))))
+        strcpy(p[1].out, soap_enc1);
+    }
+    else if (!strcmp(ns, soap_env2))
+    { soap->version = 2; /* make sure we use SOAP 1.2 */
+      if (p[1].out)
+        SOAP_FREE(soap, p[1].out);
+      if ((p[1].out = (char*)SOAP_MALLOC(soap, sizeof(soap_enc2))))
+        strcpy(p[1].out, soap_enc2);
+    }
+  }
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_envelope_end_in(struct soap *soap)
+{ if (soap->version == 0)
+    return SOAP_OK;
+  soap->part = SOAP_END_ENVELOPE;
+  return soap_element_end_in(soap, "SOAP-ENV:Envelope");
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_body_begin_out(struct soap *soap)
+{ if (soap->version == 1)
+    soap->encoding = 1;
+#ifndef WITH_LEAN
+  if ((soap->mode & SOAP_SEC_WSUID) && soap_set_attr(soap, "wsu:Id", "Body", 1))
+    return soap->error;
+#endif
+  if (soap->version == 0)
+    return SOAP_OK;
+  soap->part = SOAP_IN_BODY;
+  return soap_element_begin_out(soap, "SOAP-ENV:Body", 0, NULL);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_body_end_out(struct soap *soap)
+{ if (soap->version == 0)
+    return SOAP_OK;
+  if (soap_element_end_out(soap, "SOAP-ENV:Body"))
+    return soap->error;
+  soap->part = SOAP_END_BODY;
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_body_begin_in(struct soap *soap)
+{ if (soap->version == 0)
+    return SOAP_OK;
+  soap->part = SOAP_IN_BODY;
+  if (soap_element_begin_in(soap, "SOAP-ENV:Body", 0, NULL))
+    return soap->error;
+  if (!soap->body)
+    soap->part = SOAP_NO_BODY;
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_body_end_in(struct soap *soap)
+{ if (soap->version == 0)
+    return SOAP_OK;
+  if (soap->part == SOAP_NO_BODY)
+    return soap->error = SOAP_OK;
+  soap->part = SOAP_END_BODY;
+  return soap_element_end_in(soap, "SOAP-ENV:Body");
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_recv_header(struct soap *soap)
+{ if (soap_getheader(soap) && soap->error == SOAP_TAG_MISMATCH)
+    soap->error = SOAP_OK;
+  if (soap->error == SOAP_OK && soap->fheader)
+    soap->error = soap->fheader(soap);
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_set_endpoint(struct soap *soap, const char *endpoint)
+{ register const char *s;
+  register size_t i, n;
+  soap->endpoint[0] = '\0';
+  soap->host[0] = '\0';
+  soap->path[0] = '/';
+  soap->path[1] = '\0';
+  soap->port = 80;
+  if (!endpoint || !*endpoint)
+    return;
+#ifdef WITH_OPENSSL
+  if (!soap_tag_cmp(endpoint, "https:*"))
+    soap->port = 443;
+#endif
+  strncpy(soap->endpoint, endpoint, sizeof(soap->endpoint));
+  soap->endpoint[sizeof(soap->endpoint) - 1] = '\0';
+  s = strchr(endpoint, ':');
+  if (s && s[1] == '/' && s[2] == '/')
+    s += 3;
+  else
+    s = endpoint;
+  n = strlen(s);
+  if (n >= sizeof(soap->host))
+    n = sizeof(soap->host) - 1;
+#ifdef WITH_IPV6
+  if (s[0] == '[')
+  { s++;
+    for (i = 0; i < n; i++)
+    { if (s[i] == ']')
+      { s++;
+        --n;
+        break;
+      }
+      soap->host[i] = s[i];
+    }
+  }
+  else
+  { for (i = 0; i < n; i++)
+    { soap->host[i] = s[i];
+      if (s[i] == '/' || s[i] == ':')
+        break;
+    }
+  }
+#else
+  for (i = 0; i < n; i++)
+  { soap->host[i] = s[i];
+    if (s[i] == '/' || s[i] == ':')
+      break;
+  }
+#endif
+  soap->host[i] = '\0';
+  if (s[i] == ':')
+  { soap->port = (int)soap_strtol(s + i + 1, NULL, 10);
+    for (i++; i < n; i++)
+      if (s[i] == '/')
+        break;
+  }
+  if (i < n && s[i])
+  { strncpy(soap->path, s + i, sizeof(soap->path));
+    soap->path[sizeof(soap->path) - 1] = '\0';
+  }
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_connect(struct soap *soap, const char *endpoint, const char *action)
+{ return soap_connect_command(soap, SOAP_POST, endpoint, action);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_connect_command(struct soap *soap, int http_command, const char *endpoints, const char *action)
+{ char *endpoint;
+  const char *s;
+  if (endpoints && (s = strchr(endpoints, ' ')))
+  { endpoint = (char*)SOAP_MALLOC(soap, strlen(endpoints) + 1);
+    for (;;)
+    { strncpy(endpoint, endpoints, s - endpoints);
+      endpoint[s - endpoints] = '\0';
+      if (soap_try_connect_command(soap, http_command, endpoint, action) != SOAP_TCP_ERROR)
+        break;
+      if (!*s)
+        break;
+      soap->error = SOAP_OK;
+      while (*s == ' ')
+        s++;
+      endpoints = s;
+      s = strchr(endpoints, ' ');
+      if (!s)
+        s = endpoints + strlen(endpoints);
+    }
+    SOAP_FREE(soap, endpoint);
+  }
+  else
+    soap_try_connect_command(soap, http_command, endpoints, action);
+  return soap->error;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+static int
+soap_try_connect_command(struct soap *soap, int http_command, const char *endpoint, const char *action)
+{ char host[sizeof(soap->host)];
+  int port;
+  size_t count;
+  soap->error = SOAP_OK;
+  strcpy(host, soap->host); /* save previous host name: if != then reconnect */
+  port = soap->port; /* save previous port to compare */
+  soap->status = http_command;
+  soap_set_endpoint(soap, endpoint);
+#ifndef WITH_LEANER
+  if (soap->fconnect)
+  { if ((soap->error = soap->fconnect(soap, endpoint, soap->host, soap->port)))
+      return soap->error;
+  }
+  else
+#endif
+  soap->action = soap_strdup(soap, action);
+  if (soap->fopen && *soap->host)
+  { if (!soap->keep_alive || !soap_valid_socket(soap->socket) || strcmp(soap->host, host) || soap->port != port || !soap->fpoll || soap->fpoll(soap))
+    { soap->error = SOAP_OK;
+#ifndef WITH_LEAN
+      if (!strncmp(endpoint, "soap.udp:", 9))
+        soap->omode |= SOAP_IO_UDP;
+      else
+#endif
+      { soap->keep_alive = 0; /* to force close */
+        soap->omode &= ~SOAP_IO_UDP; /* to force close */
+      }
+      soap_closesock(soap);
+      DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Connect/reconnect to '%s' host='%s' path='%s' port=%d\n", endpoint?endpoint:"(null)", soap->host, soap->path, soap->port));
+      if (!soap->keep_alive || !soap_valid_socket(soap->socket))
+      { soap->socket = soap->fopen(soap, endpoint, soap->host, soap->port);
+        if (soap->error)
+          return soap->error;
+        soap->keep_alive = ((soap->omode & SOAP_IO_KEEPALIVE) != 0);
+      }
+    }
+  }
+#ifdef WITH_NTLM
+  if (soap_ntlm_handshake(soap, SOAP_GET, endpoint, soap->host, soap->port))
+    return soap->error;
+#endif
+  count = soap_count_attachments(soap);
+  if (soap_begin_send(soap))
+    return soap->error;
+  if (http_command == SOAP_GET)
+  { soap->mode &= ~SOAP_IO;
+    soap->mode |= SOAP_IO_BUFFER;
+  }
+#ifndef WITH_NOHTTP
+  if ((soap->mode & SOAP_IO) != SOAP_IO_STORE && !(soap->mode & SOAP_ENC_XML) && endpoint)
+  { unsigned int k = soap->mode;
+    soap->mode &= ~(SOAP_IO | SOAP_ENC_ZLIB);
+    if ((k & SOAP_IO) != SOAP_IO_FLUSH)
+      soap->mode |= SOAP_IO_BUFFER;
+    if ((soap->error = soap->fpost(soap, endpoint, soap->host, soap->port, soap->path, action, count)))
+      return soap->error;
+#ifndef WITH_LEANER
+    if ((k & SOAP_IO) == SOAP_IO_CHUNK)
+    { if (soap_flush(soap))
+        return soap->error;
+    }
+#endif
+    soap->mode = k;
+  }
+  if (http_command == SOAP_GET || http_command == SOAP_DEL)
+    return soap_end_send_flush(soap);
+#endif
+  return SOAP_OK;
+}
+#endif
+
+/******************************************************************************/
+#ifdef WITH_NTLM
+#ifndef PALM_1
+static int
+soap_ntlm_handshake(struct soap *soap, int command, const char *endpoint, const char *host, int port)
+{ /* requires libntlm from http://www.nongnu.org/libntlm/ */
+  const char *userid = (soap->proxy_userid ? soap->proxy_userid : soap->userid);
+  const char *passwd = (soap->proxy_passwd ? soap->proxy_passwd : soap->passwd);
+  struct SOAP_ENV__Header *oldheader;
+  if (soap->ntlm_challenge && userid && passwd && soap->authrealm)
+  { tSmbNtlmAuthRequest req;  
+    tSmbNtlmAuthResponse res;
+    tSmbNtlmAuthChallenge ch;
+    short k = soap->keep_alive;
+    size_t l = soap->length;
+    size_t c = soap->count;
+    soap_mode m = soap->mode, o = soap->omode;
+    int s = soap->status;
+    char *a = soap->action;
+    short v = soap->version;
+    DBGLOG(TEST,SOAP_MESSAGE(fdebug, "NTLM '%s'\n", soap->ntlm_challenge));
+    if (!*soap->ntlm_challenge)
+    { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "NTLM S->C Type 1: received NTLM authentication challenge from server\n"));
+      /* S -> C   401 Unauthorized
+                  WWW-Authenticate: NTLM
+      */
+      buildSmbNtlmAuthRequest(&req, userid, soap->authrealm);
+      soap->ntlm_challenge = soap_s2base64(soap, (unsigned char*)&req, NULL, SmbLength(&req));
+      DBGLOG(TEST,SOAP_MESSAGE(fdebug, "NTLM C->S Type 2: sending NTLM authorization to server\nAuthorization: NTLM %s\n", soap->ntlm_challenge));
+      /* C -> S   GET ...
+                  Authorization: NTLM TlRMTVNTUAABAAAAA7IAAAoACgApAAAACQAJACAAAABMSUdIVENJVFlVUlNBLU1JTk9S
+      */
+      soap->omode = SOAP_IO_BUFFER;
+      if (soap_begin_send(soap))
+        return soap->error;
+      soap->keep_alive = 1;
+      soap->status = command;
+      if (soap->fpost(soap, endpoint, host, port, soap->path, soap->action, 0)
+       || soap_end_send_flush(soap))
+        return soap->error;
+      soap->mode = m;
+      soap->keep_alive = k;
+      DBGLOG(TEST,SOAP_MESSAGE(fdebug, "NTLM S->C Type 2: waiting on server NTLM response\n"));
+      oldheader = soap->header;
+      if (soap_begin_recv(soap))
+        if (soap->error == SOAP_EOF)
+          return soap->error;
+      soap_end_recv(soap);
+      soap->header = oldheader;
+      soap->length = l;
+      if (soap->status != 401 && soap->status != 407)
+        return soap->error = SOAP_NTLM_ERROR;
+      soap->error = SOAP_OK;
+    }
+    /* S -> C   401 Unauthorized
+                WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAAAAACgAAAABggAAU3J2Tm9uY2UAAAAAAAAAAA==
+    */
+    soap_base642s(soap, soap->ntlm_challenge, (char*)&ch, sizeof(tSmbNtlmAuthChallenge), NULL);
+    buildSmbNtlmAuthResponse(&ch, &res, userid, passwd);
+    soap->ntlm_challenge = soap_s2base64(soap, (unsigned char*)&res, NULL, SmbLength(&res));
+    DBGLOG(TEST,SOAP_MESSAGE(fdebug, "NTLM C->S Type 3: sending NTLM authorization to server\nAuthorization: NTLM %s\n", soap->ntlm_challenge));
+    /* C -> S   GET ...
+                Authorization: NTLM TlRMTVNTUAADAAAAGAAYAHIAAAAYABgAigAAABQAFABAAAAADAAMAFQAAAASABIAYAAAAAAAAACiAAAAAYIAAFUAUgBTAEEALQBNAEkATgBPAFIAWgBhAHAAaABvAGQATABJAEcASABUAEMASQBUAFkArYfKbe/jRoW5xDxHeoxC1gBmfWiS5+iX4OAN4xBKG/IFPwfH3agtPEia6YnhsADT
+    */
+    soap->userid = NULL;
+    soap->passwd = NULL;
+    soap->proxy_userid = NULL;
+    soap->proxy_passwd = NULL;
+    soap->keep_alive = k;
+    soap->length = l;
+    soap->count = c;
+    soap->mode = m;
+    soap->omode = o;
+    soap->status = s;
+    soap->action = a;
+    soap->version = v;
+  }
+  return SOAP_OK;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+char*
+SOAP_FMAC2
+soap_s2base64(struct soap *soap, const unsigned char *s, char *t, int n)
+{ register int i;
+  register unsigned long m;
+  register char *p;
+  if (!t)
+    t = (char*)soap_malloc(soap, (n + 2) / 3 * 4 + 1);
+  if (!t)
+    return NULL;
+  p = t;
+  t[0] = '\0';
+  if (!s)
+    return p;
+  for (; n > 2; n -= 3, s += 3)
+  { m = s[0];
+    m = (m << 8) | s[1];
+    m = (m << 8) | s[2];
+    for (i = 4; i > 0; m >>= 6)
+      t[--i] = soap_base64o[m & 0x3F];
+    t += 4;
+  }
+  t[0] = '\0';
+  if (n > 0) /* 0 < n <= 2 implies that t[0..4] is allocated (base64 scaling formula) */
+  { m = 0;
+    for (i = 0; i < n; i++)
+      m = (m << 8) | *s++;
+    for (; i < 3; i++)
+      m <<= 8;
+    for (i = 4; i > 0; m >>= 6)
+      t[--i] = soap_base64o[m & 0x3F];
+    for (i = 3; i > n; i--)
+      t[i] = '=';
+    t[4] = '\0';
+  }
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_base642s(struct soap *soap, const char *s, char *t, size_t l, int *n)
+{ register size_t i, j;
+  register soap_wchar c;
+  register unsigned long m;
+  register const char *p;
+  if (!s || !*s)
+  { if (n)
+      *n = 0;
+    if (soap->error)
+      return NULL;
+    return SOAP_NON_NULL;
+  }
+  if (!t)
+  { l = (strlen(s) + 3) / 4 * 3 + 1;	/* make sure enough space for \0 */
+    t = (char*)soap_malloc(soap, l);
+  }
+  if (!t)
+    return NULL;
+  p = t;
+  if (n)
+    *n = 0;
+  for (i = 0; ; i += 3, l -= 3)
+  { m = 0;
+    j = 0;
+    while (j < 4)
+    { c = *s++;
+      if (c == '=' || !c)
+      { if (l >= j - 1)
+        { switch (j)
+          { case 2:
+              *t++ = (char)((m >> 4) & 0xFF);
+              i++;
+              l--;
+              break;
+            case 3:
+              *t++ = (char)((m >> 10) & 0xFF);
+              *t++ = (char)((m >> 2) & 0xFF);
+              i += 2;
+              l -= 2;
+          }
+        }
+        if (n)
+          *n = (int)i;
+        if (l)
+          *t = '\0';
+        return p;
+      }
+      c -= '+';
+      if (c >= 0 && c <= 79)
+      { int b = soap_base64i[c];
+        if (b >= 64)
+        { soap->error = SOAP_TYPE;
+          return NULL;
+        }
+        m = (m << 6) + b;
+        j++;
+      }
+      else if (!soap_blank(c + '+'))
+      { soap->error = SOAP_TYPE;
+        return NULL;
+      }
+    }
+    if (l < 3)
+    { if (n)
+        *n = (int)i;
+      if (l)
+        *t = '\0';
+      return p;
+    }
+    *t++ = (char)((m >> 16) & 0xFF);
+    *t++ = (char)((m >> 8) & 0xFF);
+    *t++ = (char)(m & 0xFF);
+  }
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+char*
+SOAP_FMAC2
+soap_s2hex(struct soap *soap, const unsigned char *s, char *t, int n)
+{ register char *p;
+  if (!t)
+    t = (char*)soap_malloc(soap, 2 * n + 1);
+  if (!t)
+    return NULL;
+  p = t;
+  t[0] = '\0';
+  if (s)
+  { for (; n > 0; n--)
+    { register int m = *s++;
+      *t++ = (char)((m >> 4) + (m > 159 ? 'a' - 10 : '0'));
+      m &= 0x0F;
+      *t++ = (char)(m + (m > 9 ? 'a' - 10 : '0'));
+    }
+  }
+  *t++ = '\0';
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+SOAP_FMAC1
+const char*
+SOAP_FMAC2
+soap_hex2s(struct soap *soap, const char *s, char *t, size_t l, int *n)
+{ register const char *p;
+  if (!s || !*s)
+  { if (n)
+      *n = 0;
+    if (soap->error)
+      return NULL;
+    return SOAP_NON_NULL;
+  }
+  if (!t)
+  { l = strlen(s) / 2 + 1;	/* make sure enough space for \0 */
+    t = (char*)soap_malloc(soap, l);
+  }
+  if (!t)
+    return NULL;
+  p = t;
+  while (l)
+  { register int d1, d2;
+    d1 = *s++;
+    if (!d1)
+      break;
+    d2 = *s++;
+    if (!d2)
+      break;
+    *t++ = (char)(((d1 >= 'A' ? (d1 & 0x7) + 9 : d1 - '0') << 4) + (d2 >= 'A' ? (d2 & 0x7) + 9 : d2 - '0'));
+    l--;
+  }
+  if (n)
+    *n = (int)(t - p);
+  if (l)
+    *t = '\0';
+  return p;
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_puthttphdr(struct soap *soap, int status, size_t count)
+{ if (soap->status != SOAP_GET && soap->status != SOAP_DEL && soap->status != SOAP_CONNECT)
+  { register const char *s = "text/xml; charset=utf-8";
+    register int err = SOAP_OK;
+#ifndef WITH_LEANER
+    register const char *r = NULL;
+#endif
+    if ((status == SOAP_FILE || soap->status == SOAP_PUT || soap->status == SOAP_POST_FILE) && soap->http_content && !strchr(s, 10) && !strchr(s, 13))
+      s = soap->http_content;
+    else if (status == SOAP_HTML)
+      s = "text/html; charset=utf-8";
+    else if (count || ((soap->omode & SOAP_IO) == SOAP_IO_CHUNK))
+    { if (soap->version == 2)
+        s = "application/soap+xml; charset=utf-8";
+    }
+#ifndef WITH_LEANER
+    if (soap->mode & (SOAP_ENC_DIME | SOAP_ENC_MTOM))
+    { if (soap->mode & SOAP_ENC_MTOM)
+      { if (soap->version == 2)
+          r = "application/soap+xml";
+        else
+          r = "text/xml";
+        s = "application/xop+xml";
+      }
+      else
+        s = "application/dime";
+    }
+    if ((soap->mode & SOAP_ENC_MIME) && soap->mime.boundary && strlen(soap->mime.boundary) + strlen(soap->mime.start ? soap->mime.start : SOAP_STR_EOS) < sizeof(soap->tmpbuf) - 80)
+    { register const char *t;
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "multipart/related; charset=utf-8; boundary=\"%s\"; type=\"", soap->mime.boundary);
+#else
+      sprintf(soap->tmpbuf, "multipart/related; charset=utf-8; boundary=\"%s\"; type=\"", soap->mime.boundary);
+#endif
+      t = strchr(s, ';');
+      if (t)
+        strncat(soap->tmpbuf, s, t - s);
+      else
+        strcat(soap->tmpbuf, s);
+      if (soap->mime.start && strlen(soap->tmpbuf) + strlen(soap->mime.start) + 11 < sizeof(soap->tmpbuf))
+      { strcat(soap->tmpbuf, "\"; start=\"");
+        strcat(soap->tmpbuf, soap->mime.start);
+      }
+      strcat(soap->tmpbuf, "\"");
+      if (r && strlen(soap->tmpbuf) + strlen(r) + 15 < sizeof(soap->tmpbuf))
+      { strcat(soap->tmpbuf, "; start-info=\"");
+        strcat(soap->tmpbuf, r);
+        strcat(soap->tmpbuf, "\"");
+      }
+    }
+    else
+      strncpy(soap->tmpbuf, s, sizeof(soap->tmpbuf));
+    soap->tmpbuf[sizeof(soap->tmpbuf) - 1] = '\0';
+    s = soap->tmpbuf;
+    if (status == SOAP_OK && soap->version == 2 && soap->action && strlen(soap->action) + strlen(s) < sizeof(soap->tmpbuf) - 80)
+    {
+#ifdef HAVE_SNPRINTF
+      size_t l = strlen(s);
+      soap_snprintf(soap->tmpbuf + l, sizeof(soap->tmpbuf) - l, "; action=\"%s\"", soap->action);
+#else
+      sprintf(soap->tmpbuf + strlen(s), "; action=\"%s\"", soap->action);
+#endif
+    }
+#endif
+    if ((err = soap->fposthdr(soap, "Content-Type", s)))
+      return err;
+#ifdef WITH_ZLIB
+    if ((soap->omode & SOAP_ENC_ZLIB))
+    {
+#ifdef WITH_GZIP
+      err = soap->fposthdr(soap, "Content-Encoding", soap->zlib_out == SOAP_ZLIB_DEFLATE ? "deflate" : "gzip");
+#else
+      err = soap->fposthdr(soap, "Content-Encoding", "deflate");
+#endif
+      if (err)
+        return err;
+    }
+#endif
+#ifndef WITH_LEANER
+    if ((soap->omode & SOAP_IO) == SOAP_IO_CHUNK)
+      err = soap->fposthdr(soap, "Transfer-Encoding", "chunked");
+    else
+#endif
+    if (s)
+    {
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->tmpbuf, sizeof(soap->tmpbuf), "%lu", (unsigned long)count);
+#else
+      sprintf(soap->tmpbuf, "%lu", (unsigned long)count);
+#endif
+      err = soap->fposthdr(soap, "Content-Length", soap->tmpbuf);
+    }
+    if (err)
+      return err;
+  }
+  return soap->fposthdr(soap, "Connection", soap->keep_alive ? "keep-alive" : "close");
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+static const char*
+soap_set_validation_fault(struct soap *soap, const char *s, const char *t)
+{ if (!t)
+    t = SOAP_STR_EOS;
+  if (*soap->tag)
+  {
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->msgbuf, sizeof(soap->msgbuf), "Validation constraint violation: %s%s in element '%s'", s, t ? t : SOAP_STR_EOS, soap->tag);
+#else
+    if (strlen(soap->tag) + strlen(t) < sizeof(soap->msgbuf) - 100)
+      sprintf(soap->msgbuf, "Validation constraint violation: %s%s in element '%s'", s, t, soap->tag);
+    else
+      sprintf(soap->msgbuf, "Validation constraint violation: %s", s);
+#endif
+  }
+  else
+  {
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(soap->msgbuf, sizeof(soap->msgbuf), "Validation constraint violation: %s%s", s, t ? t : SOAP_STR_EOS);
+#else
+    if (strlen(soap->tag) + strlen(t) < sizeof(soap->msgbuf) - 100)
+      sprintf(soap->msgbuf, "Validation constraint violation: %s%s", s, t);
+    else
+      sprintf(soap->msgbuf, "Validation constraint violation: %s", s);
+#endif
+  }
+  return soap->msgbuf;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_set_fault(struct soap *soap)
+{ const char **c = soap_faultcode(soap);
+  const char **s = soap_faultstring(soap);
+  if (soap->fseterror)
+    soap->fseterror(soap, c, s);
+  if (!*c)
+  { if (soap->version == 2)
+      *c = "SOAP-ENV:Sender";
+    else
+      *c = "SOAP-ENV:Client";
+  }
+  if (*s)
+    return;
+  switch (soap->error)
+  {
+#ifndef WITH_LEAN
+    case SOAP_CLI_FAULT:
+      *s = "Client fault";
+      break;
+    case SOAP_SVR_FAULT:
+      *s = "Server fault";
+      break;
+    case SOAP_TAG_MISMATCH:
+      *s = soap_set_validation_fault(soap, "tag name or namespace mismatch", NULL);
+      break;
+    case SOAP_TYPE:
+      *s = soap_set_validation_fault(soap, "data type mismatch ", soap->type);
+      break;
+    case SOAP_SYNTAX_ERROR:
+      *s = "Well-formedness violation";
+      break;
+    case SOAP_NO_TAG:
+      *s = "No tag: no XML root element or missing SOAP message body element";
+      break;
+    case SOAP_MUSTUNDERSTAND:
+      *c = "SOAP-ENV:MustUnderstand";
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->msgbuf, sizeof(soap->msgbuf), "The data in element '%s' must be understood but cannot be handled", soap->tag);
+#else
+      strncpy(soap->msgbuf, soap->tag, sizeof(soap->msgbuf));
+      soap->msgbuf[sizeof(soap->msgbuf) - 1] = '\0';
+#endif
+      *s = soap->msgbuf;
+      break;
+    case SOAP_VERSIONMISMATCH:
+      *c = "SOAP-ENV:VersionMismatch";
+      *s = "Invalid SOAP message or SOAP version mismatch";
+      break;
+    case SOAP_DATAENCODINGUNKNOWN:
+      *c = "SOAP-ENV:DataEncodingUnknown";
+      *s = "Unsupported SOAP data encoding";
+      break;
+    case SOAP_NAMESPACE:
+      *s = soap_set_validation_fault(soap, "namespace error", NULL);
+      break;
+    case SOAP_USER_ERROR:
+      *s = "User data error";
+      break;
+    case SOAP_FATAL_ERROR:
+      *s = "Fatal error";
+      break;
+    case SOAP_NO_METHOD:
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->msgbuf, sizeof(soap->msgbuf), "Method '%s' not implemented: method name or namespace not recognized", soap->tag);
+#else
+      sprintf(soap->msgbuf, "Method '%s' not implemented: method name or namespace not recognized", soap->tag);
+#endif
+      *s = soap->msgbuf;
+      break;
+    case SOAP_NO_DATA:
+      *s = "Data required for operation";
+      break;
+    case SOAP_GET_METHOD:
+      *s = "HTTP GET method not implemented";
+      break;
+    case SOAP_PUT_METHOD:
+      *s = "HTTP PUT method not implemented";
+      break;
+    case SOAP_HTTP_METHOD:
+      *s = "HTTP method not implemented";
+      break;
+    case SOAP_EOM:
+      *s = "Out of memory";
+      break;
+    case SOAP_MOE:
+      *s = "Memory overflow or memory corruption error";
+      break;
+    case SOAP_HDR:
+      *s = "Header line too long";
+      break;
+    case SOAP_IOB:
+      *s = "Array index out of bounds";
+      break;
+    case SOAP_NULL:
+      *s = soap_set_validation_fault(soap, "nil not allowed", NULL);
+      break;
+    case SOAP_DUPLICATE_ID:
+      *s = soap_set_validation_fault(soap, "multiple elements (use the SOAP_XML_TREE flag) with duplicate id ", soap->id);
+      if (soap->version == 2)
+        *soap_faultsubcode(soap) = "SOAP-ENC:DuplicateID";
+      break;
+    case SOAP_MISSING_ID:
+      *s = soap_set_validation_fault(soap, "missing id for ref ", soap->id);
+      if (soap->version == 2)
+        *soap_faultsubcode(soap) = "SOAP-ENC:MissingID";
+      break;
+    case SOAP_HREF:
+      *s = soap_set_validation_fault(soap, "incompatible object type id-ref ", soap->id);
+      break;
+    case SOAP_FAULT:
+      break;
+#ifndef WITH_NOIO
+    case SOAP_UDP_ERROR:
+      *s = "Message too large for UDP packet";
+      break;
+    case SOAP_TCP_ERROR:
+      *s = tcp_error(soap);
+      break;
+#endif
+    case SOAP_HTTP_ERROR:
+      *s = "An HTTP processing error occurred";
+      break;
+    case SOAP_NTLM_ERROR:
+      *s = "An HTTP NTLM authentication error occurred";
+      break;
+    case SOAP_SSL_ERROR:
+#ifdef WITH_OPENSSL
+      *s = "SSL/TLS error";
+#else
+      *s = "OpenSSL not installed: recompile with -DWITH_OPENSSL";
+#endif
+      break;
+    case SOAP_PLUGIN_ERROR:
+      *s = "Plugin registry error";
+      break;
+    case SOAP_DIME_ERROR:
+      *s = "DIME format error or max DIME size exceeds SOAP_MAXDIMESIZE";
+      break;
+    case SOAP_DIME_HREF:
+      *s = "DIME href to missing attachment";
+      break;
+    case SOAP_DIME_MISMATCH:
+      *s = "DIME version/transmission error";
+      break;
+    case SOAP_DIME_END:
+      *s = "End of DIME error";
+      break;
+    case SOAP_MIME_ERROR:
+      *s = "MIME format error";
+      break;
+    case SOAP_MIME_HREF:
+      *s = "MIME href to missing attachment";
+      break;
+    case SOAP_MIME_END:
+      *s = "End of MIME error";
+      break;
+    case SOAP_ZLIB_ERROR:
+#ifdef WITH_ZLIB
+#ifdef HAVE_SNPRINTF
+      soap_snprintf(soap->msgbuf, sizeof(soap->msgbuf), "Zlib/gzip error: '%s'", soap->d_stream->msg ? soap->d_stream->msg : SOAP_STR_EOS);
+#else
+      sprintf(soap->msgbuf, "Zlib/gzip error: '%s'", soap->d_stream->msg ? soap->d_stream->msg : SOAP_STR_EOS);
+#endif
+      *s = soap->msgbuf;
+#else
+      *s = "Zlib/gzip not installed for (de)compression: recompile with -DWITH_GZIP";
+#endif
+      break;
+    case SOAP_REQUIRED:
+      *s = soap_set_validation_fault(soap, "missing required attribute", NULL);
+      break;
+    case SOAP_PROHIBITED:
+      *s = soap_set_validation_fault(soap, "prohibited attribute present", NULL);
+      break;
+    case SOAP_OCCURS:
+      *s = soap_set_validation_fault(soap, "occurrence violation", NULL);
+      break;
+    case SOAP_LENGTH:
+      *s = soap_set_validation_fault(soap, "content range or length violation", NULL);
+      break;
+    case SOAP_FD_EXCEEDED:
+      *s = "Maximum number of open connections was reached (no define HAVE_POLL): increase FD_SETSIZE";
+      break;
+    case SOAP_UTF_ERROR:
+      *s = "UTF content encoding error";
+      break;
+    case SOAP_STOP:
+      *s = "Stopped: no response sent or received (informative)";
+      break;
+#endif
+    case SOAP_EOF:
+#ifndef WITH_NOIO
+      *s = soap_strerror(soap); /* *s = soap->msgbuf */
+#ifndef WITH_LEAN
+      if (strlen(soap->msgbuf) + 25 < sizeof(soap->msgbuf))
+      { memmove(soap->msgbuf + 25, soap->msgbuf, strlen(soap->msgbuf) + 1);
+        memcpy(soap->msgbuf, "End of file or no input: ", 25);
+      }
+#endif
+      break;
+#else
+      *s = "End of file or no input";
+      break;
+#endif
+    default:
+#ifndef WITH_NOHTTP
+#ifndef WITH_LEAN
+      if (soap->error > 200 && soap->error < 600)
+      { 
+#ifdef HAVE_SNPRINTF
+        soap_snprintf(soap->msgbuf, sizeof(soap->msgbuf), "HTTP Error: %d %s", soap->error, http_error(soap, soap->error));
+#else
+        sprintf(soap->msgbuf, "HTTP Error: %d %s", soap->error, http_error(soap, soap->error));
+#endif
+        *s = soap->msgbuf;
+      }
+      else
+#endif
+#endif
+      {
+#ifdef HAVE_SNPRINTF
+        soap_snprintf(soap->msgbuf, sizeof(soap->msgbuf), "Error %d", soap->error);
+#else
+        sprintf(soap->msgbuf, "Error %d", soap->error);
+#endif
+        *s = soap->msgbuf;
+      }
+    }
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_send_fault(struct soap *soap)
+{ register int status = soap->error;
+  if (status == SOAP_OK || status == SOAP_STOP)
+    return soap_closesock(soap);
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Sending back fault struct for error code %d\n", soap->error));
+  soap->keep_alive = 0; /* to terminate connection */
+  soap_set_fault(soap);
+  if (soap->error < 200 && soap->error != SOAP_FAULT)
+    soap->header = NULL;
+  if (status != SOAP_EOF || (!soap->recv_timeout && !soap->send_timeout))
+  { register int r = 1;
+#ifndef WITH_NOIO
+    if (soap->fpoll && soap->fpoll(soap))
+      r = 0;
+#ifndef WITH_LEAN
+    else if (soap_valid_socket(soap->socket))
+    { r = tcp_select(soap, soap->socket, SOAP_TCP_SELECT_RCV | SOAP_TCP_SELECT_SND, 0);
+      if (r > 0)
+      { int t;
+        if (!(r & SOAP_TCP_SELECT_SND)
+         || ((r & SOAP_TCP_SELECT_RCV)
+          && recv(soap->socket, (char*)&t, 1, MSG_PEEK) < 0))
+          r = 0;
+      }
+    }
+#endif
+#endif
+    if (r > 0)
+    { soap->error = SOAP_OK;
+      soap->encodingStyle = NULL; /* no encodingStyle in Faults */
+      soap_serializeheader(soap);
+      soap_serializefault(soap);
+      soap_begin_count(soap);
+      if (soap->mode & SOAP_IO_LENGTH)
+      { soap_envelope_begin_out(soap);
+        soap_putheader(soap);
+        soap_body_begin_out(soap);
+        soap_putfault(soap);
+        soap_body_end_out(soap);
+        soap_envelope_end_out(soap);
+      }
+      soap_end_count(soap);
+      if (soap_response(soap, status)
+       || soap_envelope_begin_out(soap)
+       || soap_putheader(soap)
+       || soap_body_begin_out(soap)
+       || soap_putfault(soap)
+       || soap_body_end_out(soap)
+       || soap_envelope_end_out(soap))
+        return soap_closesock(soap);
+      soap_end_send(soap);
+    }
+  }
+  soap->error = status;
+  return soap_closesock(soap);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_recv_fault(struct soap *soap, int check)
+{ register int status = soap->error;
+  DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Check if receiving SOAP Fault\n"));
+  if (!check)
+  { /* try getfault when no tag or tag mismatched at level 2, otherwise ret */
+    if (soap->error != SOAP_NO_TAG
+     && (soap->error != SOAP_TAG_MISMATCH || soap->level != 2))
+      return soap->error;
+  }
+  else if (soap->version == 0) /* check == 1 but no SOAP: do not parse SOAP Fault */
+    return SOAP_OK;
+  soap->error = SOAP_OK;
+  if (soap_getfault(soap))
+  { /* check flag set: check if SOAP Fault is present, if not just return */
+    if (check && soap->error == SOAP_TAG_MISMATCH && soap->level == 2)
+      return soap->error = SOAP_OK;
+    DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Error: soap_get_soapfault() failed at level %u tag '%s'\n", soap->level, soap->tag));
+    *soap_faultcode(soap) = (soap->version == 2 ? "SOAP-ENV:Sender" : "SOAP-ENV:Client");
+    soap->error = status;
+    soap_set_fault(soap);
+  }
+  else
+  { register const char *s = *soap_faultcode(soap);
+    if (!soap_match_tag(soap, s, "SOAP-ENV:Server") || !soap_match_tag(soap, s, "SOAP-ENV:Receiver"))
+      status = SOAP_SVR_FAULT;
+    else if (!soap_match_tag(soap, s, "SOAP-ENV:Client") || !soap_match_tag(soap, s, "SOAP-ENV:Sender"))
+      status = SOAP_CLI_FAULT;
+    else if (!soap_match_tag(soap, s, "SOAP-ENV:MustUnderstand"))
+      status = SOAP_MUSTUNDERSTAND;
+    else if (!soap_match_tag(soap, s, "SOAP-ENV:VersionMismatch"))
+      status = SOAP_VERSIONMISMATCH;
+    else
+    { DBGLOG(TEST,SOAP_MESSAGE(fdebug, "Received SOAP Fault code %s\n", s));
+      status = SOAP_FAULT;
+    }
+    if (!soap_body_end_in(soap))
+      soap_envelope_end_in(soap);
+  }
+  soap_end_recv(soap);
+  soap->error = status;
+  return soap_closesock(soap);
+}
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_send_empty_response(struct soap *soap, int httpstatuscode)
+{ register soap_mode m = soap->omode;
+  if (!(m & SOAP_IO_UDP))
+  { soap->count = 0;
+    if ((m & SOAP_IO) == SOAP_IO_CHUNK)
+      soap->omode = (m & ~SOAP_IO) | SOAP_IO_BUFFER;
+    soap_response(soap, httpstatuscode);
+    soap_end_send(soap); /* force end of sends */
+    soap->error = SOAP_STOP; /* stops the server (from returning a response) */
+    soap->omode = m;
+  }
+  return soap_closesock(soap);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOHTTP
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_recv_empty_response(struct soap *soap)
+{ if (!(soap->omode & SOAP_IO_UDP))
+  { if (!soap_begin_recv(soap))
+    {
+#ifndef WITH_LEAN
+      if (soap->body)
+        soap_get_http_body(soap, NULL); /* read (empty?) HTTP body and discard */
+#endif
+      soap_end_recv(soap);
+    }
+    else if (soap->error == SOAP_NO_DATA || soap->error == 202)
+      soap->error = SOAP_OK;
+  }
+  return soap_closesock(soap);
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_NOIO
+#ifndef PALM_1
+static const char*
+soap_strerror(struct soap *soap)
+{ register int err = soap->errnum;
+  *soap->msgbuf = '\0';
+  if (err)
+  {
+#ifndef WIN32
+# ifdef HAVE_STRERROR_R
+#  ifdef _GNU_SOURCE
+    return strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* GNU-specific */
+#  else
+    strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */
+#  endif
+# else
+    return strerror(err);
+# endif
+#else
+#ifndef UNDER_CE
+    DWORD len;
+    *soap->msgbuf = '\0';
+    len = FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, err, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)soap->msgbuf, (DWORD)sizeof(soap->msgbuf), NULL);
+#else
+    DWORD i, len;
+    *soap->msgbuf = '\0';
+    len = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, err, 0, (LPTSTR)soap->msgbuf, (DWORD)(sizeof(soap->msgbuf)/sizeof(TCHAR)), NULL);
+    for (i = 0; i <= len; i++)
+    { if (((TCHAR*)soap->msgbuf)[i] < 0x80)
+        soap->msgbuf[i] = (char)((TCHAR*)soap->msgbuf)[i];
+      else
+        soap->msgbuf[i] = '?';
+    }
+#endif
+#endif
+  }
+  else
+  { char *s = soap->msgbuf;
+#ifndef WITH_LEAN
+    int rt = soap->recv_timeout, st = soap->send_timeout;
+    int ru = ' ', su = ' ';
+#endif
+    strcpy(s, "Operation interrupted or timed out");
+#ifndef WITH_LEAN
+    if (rt < 0)
+    { rt = -rt;
+      ru = 'u';
+    }
+    if (st < 0)
+    { st = -st;
+      su = 'u';
+    }
+    if (rt)
+    {
+#ifdef HAVE_SNPRINTF
+      size_t l = strlen(s);
+      soap_snprintf(s + l, sizeof(soap->msgbuf) - l, " (%d%cs recv delay)", rt, ru);
+#else
+      sprintf(s + strlen(s), " (%d%cs recv delay)", rt, ru);
+#endif
+    }
+    if (st)
+    {
+#ifdef HAVE_SNPRINTF
+      size_t l = strlen(s);
+      soap_snprintf(s + l, sizeof(soap->msgbuf) - l, " (%d%cs send delay)", st, su);
+#else
+      sprintf(s + strlen(s), " (%d%cs send delay)", st, su);
+#endif
+    }
+#endif
+  }
+  return soap->msgbuf;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+static int
+soap_set_error(struct soap *soap, const char *faultcode, const char *faultsubcodeQName, const char *faultstring, const char *faultdetailXML, int soaperror)
+{ *soap_faultcode(soap) = faultcode;
+  if (faultsubcodeQName)
+    *soap_faultsubcode(soap) = faultsubcodeQName;
+  *soap_faultstring(soap) = faultstring;
+  if (faultdetailXML && *faultdetailXML)
+  { register const char **s = soap_faultdetail(soap);
+    if (s)
+      *s = faultdetailXML;
+  }
+  return soap->error = soaperror;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_set_sender_error(struct soap *soap, const char *faultstring, const char *faultdetailXML, int soaperror)
+{ return soap_set_error(soap, soap->version == 2 ? "SOAP-ENV:Sender" : "SOAP-ENV:Client", NULL, faultstring, faultdetailXML, soaperror);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_set_receiver_error(struct soap *soap, const char *faultstring, const char *faultdetailXML, int soaperror)
+{ return soap_set_error(soap, soap->version == 2 ? "SOAP-ENV:Receiver" : "SOAP-ENV:Server", NULL, faultstring, faultdetailXML, soaperror);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+static int
+soap_copy_fault(struct soap *soap, const char *faultcode, const char *faultsubcodeQName, const char *faultstring, const char *faultdetailXML)
+{ char *r = NULL, *s = NULL, *t = NULL;
+  if (faultsubcodeQName)
+    r = soap_strdup(soap, faultsubcodeQName);
+  if (faultstring)
+    s = soap_strdup(soap, faultstring);
+  if (faultdetailXML)
+    t = soap_strdup(soap, faultdetailXML);
+  return soap_set_error(soap, faultcode, r, s, t, SOAP_FAULT);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_sender_fault(struct soap *soap, const char *faultstring, const char *faultdetailXML)
+{ return soap_sender_fault_subcode(soap, NULL, faultstring, faultdetailXML);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_sender_fault_subcode(struct soap *soap, const char *faultsubcodeQName, const char *faultstring, const char *faultdetailXML)
+{ return soap_copy_fault(soap, soap->version == 2 ? "SOAP-ENV:Sender" : "SOAP-ENV:Client", faultsubcodeQName, faultstring, faultdetailXML);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_receiver_fault(struct soap *soap, const char *faultstring, const char *faultdetailXML)
+{ return soap_receiver_fault_subcode(soap, NULL, faultstring, faultdetailXML);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_receiver_fault_subcode(struct soap *soap, const char *faultsubcodeQName, const char *faultstring, const char *faultdetailXML)
+{ return soap_copy_fault(soap, soap->version == 2 ? "SOAP-ENV:Receiver" : "SOAP-ENV:Server", faultsubcodeQName, faultstring, faultdetailXML);
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+#ifndef WITH_NOSTDLIB
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_print_fault(struct soap *soap, FILE *fd)
+{ if (soap_check_state(soap))
+    fprintf(fd, "Error: soap struct state not initialized\n");
+  else if (soap->error)
+  { const char **c, *v = NULL, *s, *d;
+    c = soap_faultcode(soap);
+    if (!*c)
+      soap_set_fault(soap);
+    if (soap->version == 2)
+      v = soap_check_faultsubcode(soap);
+    s = *soap_faultstring(soap);
+    d = soap_check_faultdetail(soap);
+    fprintf(fd, "%s%d fault: %s [%s]\n\"%s\"\nDetail: %s\n", soap->version ? "SOAP 1." : "Error ", soap->version ? (int)soap->version : soap->error, *c, v ? v : "no subcode", s ? s : "[no reason]", d ? d : "[no detail]");
+  }
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifdef __cplusplus
+#ifndef WITH_LEAN
+#ifndef WITH_NOSTDLIB
+#ifndef WITH_COMPAT
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_stream_fault(struct soap *soap, std::ostream& os)
+{ if (soap_check_state(soap))
+    os << "Error: soap struct state not initialized\n";
+  else if (soap->error)
+  { const char **c, *v = NULL, *s, *d;
+    c = soap_faultcode(soap);
+    if (!*c)
+      soap_set_fault(soap);
+    if (soap->version == 2)
+      v = soap_check_faultsubcode(soap);
+    s = *soap_faultstring(soap);
+    d = soap_check_faultdetail(soap);
+    os << (soap->version ? "SOAP 1." : "Error ")
+       << (soap->version ? (int)soap->version : soap->error)
+       << " fault: " << *c
+       << "[" << (v ? v : "no subcode") << "]"
+       << std::endl
+       << "\"" << (s ? s : "[no reason]") << "\""
+       << std::endl
+       << "Detail: " << (d ? d : "[no detail]")
+       << std::endl;
+  }
+}
+#endif
+#endif
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef WITH_LEAN
+#ifndef WITH_NOSTDLIB
+SOAP_FMAC1
+char*
+SOAP_FMAC2
+soap_sprint_fault(struct soap *soap, char *buf, size_t len)
+{ if (soap_check_state(soap))
+  { strncpy(buf, "Error: soap struct not initialized", len);
+    buf[len - 1] = '\0';
+  }
+  else if (soap->error)
+  { const char **c, *v = NULL, *s, *d;
+    c = soap_faultcode(soap);
+    if (!*c)
+      soap_set_fault(soap);
+    if (soap->version == 2)
+      v = *soap_faultsubcode(soap);
+    s = *soap_faultstring(soap);
+    d = soap_check_faultdetail(soap);
+#ifdef HAVE_SNPRINTF
+    soap_snprintf(buf, len, "%s%d fault: %s [%s]\n\"%s\"\nDetail: %s\n", soap->version ? "SOAP 1." : "Error ", soap->version ? (int)soap->version : soap->error, *c, v ? v : "no subcode", s ? s : "[no reason]", d ? d : "[no detail]");
+#else
+    if (len > 40 + (v ? strlen(v) : 0) + (s ? strlen(s) : 0) + (d ? strlen(d) : 0))
+      sprintf(buf, "%s%d fault: %s [%s]\n\"%s\"\nDetail: %s\n", soap->version ? "SOAP 1." : "Error ", soap->version ? (int)soap->version : soap->error, *c, v ? v : "no subcode", s ? s : "[no reason]", d ? d : "[no detail]");
+    else if (len > 40)
+      sprintf(buf, "%s%d fault: %s\n", soap->version ? "SOAP 1." : "Error ", soap->version ? (int)soap->version : soap->error, *c);
+    else
+      buf[0] = '\0';
+#endif
+  }
+  return buf;
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+#ifndef WITH_NOSTDLIB
+SOAP_FMAC1
+void
+SOAP_FMAC2
+soap_print_fault_location(struct soap *soap, FILE *fd)
+{
+#ifndef WITH_LEAN
+  int i, j, c1, c2;
+  if (soap->error && soap->error != SOAP_STOP && soap->bufidx <= soap->buflen && soap->buflen > 0 && soap->buflen <= SOAP_BUFLEN)
+  { i = (int)soap->bufidx - 1;
+    if (i <= 0)
+      i = 0;
+    c1 = soap->buf[i];
+    soap->buf[i] = '\0';
+    if ((int)soap->buflen >= i + 1024)
+      j = i + 1023;
+    else
+      j = (int)soap->buflen - 1;
+    c2 = soap->buf[j];
+    soap->buf[j] = '\0';
+    fprintf(fd, "%s%c\n<!-- ** HERE ** -->\n", soap->buf, c1);
+    if (soap->bufidx < soap->buflen)
+      fprintf(fd, "%s\n", soap->buf + soap->bufidx);
+    soap->buf[i] = (char)c1;
+    soap->buf[j] = (char)c2;
+  }
+#endif
+}
+#endif
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+SOAP_FMAC1
+int
+SOAP_FMAC2
+soap_register_plugin_arg(struct soap *soap, int (*fcreate)(struct soap*, struct soap_plugin*, void*), void *arg)
+{ register struct soap_plugin *p;
+  register int r;
+  if (!(p = (struct soap_plugin*)SOAP_MALLOC(soap, sizeof(struct soap_plugin))))
+    return soap->error = SOAP_EOM;
+  p->id = NULL;
+  p->data = NULL;
+  p->fcopy = NULL;
+  p->fdelete = NULL;
+  r = fcreate(soap, p, arg);
+  if (!r && p->fdelete)
+  { p->next = soap->plugins;
+    soap->plugins = p;
+    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Registered '%s' plugin\n", p->id));
+    return SOAP_OK;
+  }
+  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not register plugin '%s': plugin returned error %d (or fdelete callback not set)\n", p->id ? p->id : "?", r));
+  SOAP_FREE(soap, p);
+  return r;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_1
+static void *
+fplugin(struct soap *soap, const char *id)
+{ register struct soap_plugin *p;
+  for (p = soap->plugins; p; p = p->next)
+    if (p->id == id || !strcmp(p->id, id))
+      return p->data;
+  return NULL;
+}
+#endif
+
+/******************************************************************************/
+#ifndef PALM_2
+SOAP_FMAC1
+void *
+SOAP_FMAC2
+soap_lookup_plugin(struct soap *soap, const char *id)
+{ return soap->fplugin(soap, id);
+}
+#endif
+
+/******************************************************************************/
+#ifdef __cplusplus
+}
+#endif
+
+/******************************************************************************\
+ *
+ *	C++ soap struct methods
+ *
+\******************************************************************************/
+
+#ifdef __cplusplus
+soap::soap()
+{ soap_init(this);
+}
+#endif
+
+/******************************************************************************/
+#ifdef __cplusplus
+soap::soap(soap_mode m)
+{ soap_init1(this, m);
+}
+#endif
+
+/******************************************************************************/
+#ifdef __cplusplus
+soap::soap(soap_mode im, soap_mode om)
+{ soap_init2(this, im, om);
+}
+#endif
+
+/******************************************************************************/
+#ifdef __cplusplus
+soap::soap(const struct soap& soap)
+{ soap_copy_context(this, &soap);
+}
+#endif
+
+/******************************************************************************/
+#ifdef __cplusplus
+soap::~soap()
+{ soap_destroy(this);
+  soap_end(this);
+  soap_done(this);
+}
+#endif
+
+/******************************************************************************/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/stdsoap2.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,2780 @@
+/*
+	stdsoap2.h 2.8.17r
+
+	gSOAP runtime engine
+
+gSOAP XML Web services tools
+Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc., All Rights Reserved.
+This part of the software is released under ONE of the following licenses:
+GPL, or the gSOAP public license, or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+Contributors:
+
+Wind River Systems, Inc., for the following additions
+  - vxWorks compatible
+--------------------------------------------------------------------------------
+gSOAP public license.
+
+The contents of this file are subject to the gSOAP Public License Version 1.3
+(the "License"); you may not use this file except in compliance with the
+License. You may obtain a copy of the License at
+http://www.cs.fsu.edu/~engelen/soaplicense.html
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the License.
+
+The Initial Developer of the Original Code is Robert A. van Engelen.
+Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc., All Rights Reserved.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+#define GSOAP_VERSION 20817
+
+#ifdef WITH_SOAPDEFS_H
+# include "soapdefs.h"		/* include user-defined stuff */
+#endif
+
+#ifndef _THREAD_SAFE
+# define _THREAD_SAFE
+#endif
+
+#ifndef OPENSERVER
+# ifndef _REENTRANT
+#  define _REENTRANT
+# endif
+#endif
+
+#ifndef SOAP_FMAC1	/* stdsoap2.h declaration macro */
+# define SOAP_FMAC1
+#endif
+
+#ifndef SOAP_FMAC2	/* stdsoap2.h declaration macro */
+# define SOAP_FMAC2
+#endif
+
+#ifndef SOAP_FMAC3	/* (de)serializer declaration macro */
+# define SOAP_FMAC3
+#endif
+
+#ifndef SOAP_FMAC3S	/* string converter for (de)serializer declaration macro */
+# define SOAP_FMAC3S SOAP_FMAC3
+#endif
+
+#ifndef SOAP_FMAC4	/* (de)serializer declaration macro */
+# define SOAP_FMAC4
+#endif
+
+#ifndef SOAP_FMAC4S	/* string converter for (de)serializer declaration macro */
+# define SOAP_FMAC4S SOAP_FMAC4
+#endif
+
+#ifndef SOAP_FMAC5	/* stub/skeleton declaration macro */
+# define SOAP_FMAC5
+#endif
+
+#ifndef SOAP_FMAC6	/* stub/skeleton declaration macro */
+# define SOAP_FMAC6
+#endif
+
+#ifndef SOAP_CMAC	/* class declaration macro */
+# define SOAP_CMAC
+#endif
+
+#ifndef SOAP_NMAC	/* namespace table declaration macro */
+# define SOAP_NMAC
+#endif
+
+#ifndef SOAP_SOURCE_STAMP
+# define SOAP_SOURCE_STAMP(str)
+#endif
+
+/* gSOAP 2.7.4 and higher: fast look-aside buffering is stable */
+#ifndef WITH_FAST
+# define WITH_FAST
+#endif
+
+#ifndef STDSOAP_H
+#define STDSOAP_H
+
+#if defined(__vxworks) || defined(__VXWORKS__)
+# ifndef VXWORKS
+#  define VXWORKS
+# endif
+#endif
+
+#ifdef _WIN32
+# ifndef WIN32
+#  define WIN32
+# endif
+#endif
+
+/* for legacy purposes we use WIN32 macro even though 64 bit is supported */
+#ifdef _WIN64
+# ifndef WIN32
+#  define WIN32
+# endif
+#endif
+
+#ifdef _WIN32_WCE
+# ifndef UNDER_CE
+#  define UNDER_CE _WIN32_WCE
+# endif
+#endif
+
+#ifdef UNDER_CE
+# ifndef WIN32
+#  define WIN32
+# endif
+#endif
+
+#ifdef __BORLANDC__
+# ifdef __WIN32__
+#  ifndef WIN32
+#   define WIN32
+#  endif
+# endif
+#endif
+
+#ifdef __CYGWIN__
+# ifndef CYGWIN
+#  define CYGWIN
+# endif
+#endif
+
+#ifdef __SYMBIAN32__ 
+# define SYMBIAN
+# undef WIN32
+#endif
+
+#if defined(__palmos__) || defined(PALM_GCC) || defined(__PALMOS_TRAPS__)
+# ifndef PALM
+#  define PALM
+# endif
+#endif
+
+#if defined(__hpux)
+# ifndef HP_UX
+#  define HP_UX
+# endif
+#endif
+
+#if defined(__digital__) && defined(__unix__)
+# ifndef TRU64
+#  define TRU64 
+# endif
+#endif
+
+#ifdef __MVS__
+# ifndef OS390
+#  define OS390
+# endif
+#endif
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+# if defined(WITH_OPENSSL)
+#  ifndef HAVE_OPENSSL_SSL_H
+#   undef WITH_OPENSSL
+#  endif
+# endif
+# if defined(WITH_GNUTLS)
+#  ifndef HAVE_GNUTLS_GNUTLS_H
+#   undef WITH_GNUTLS
+#  endif
+# endif
+# if defined(WITH_ZLIB) || defined(WITH_GZIP)
+#  ifndef HAVE_ZLIB_H
+#   undef WITH_ZLIB
+#   undef WITH_GZIP
+#  endif
+# endif
+#else
+# if defined(UNDER_CE)
+#  define WITH_LEAN
+#  define HAVE_SSCANF
+# elif defined(WIN32)
+#  if _MSC_VER >= 1400
+#   define HAVE_SNPRINTF
+#  endif
+#  define HAVE_STRRCHR
+#  define HAVE_STRTOD
+#  define HAVE_SSCANF
+#  define HAVE_STRTOD_L
+#  define HAVE_SPRINTF_L
+#  define HAVE_STRTOL
+#  define HAVE_STRTOUL
+#  if _MSC_VER >= 1300
+#   define HAVE_STRTOLL		/* use _strtoi64 */
+#   define HAVE_STRTOULL	/* use _strtoui64 */
+#  endif
+#  define HAVE_SYS_TIMEB_H
+#  define HAVE_FTIME
+#  define HAVE_GMTIME
+#  define HAVE_WCTOMB
+#  define HAVE_MBTOWC
+#  define SOAP_LONG_FORMAT "%I64d"
+#  define SOAP_ULONG_FORMAT "%I64u"
+# elif defined(CYGWIN)
+#  define HAVE_POLL
+#  define HAVE_SNPRINTF
+#  define HAVE_STRRCHR
+#  define HAVE_STRTOD
+#  define HAVE_SSCANF
+#  define HAVE_STRTOL
+#  define HAVE_STRTOUL
+#  define HAVE_SYS_TIMEB_H
+#  define HAVE_FTIME
+#  define HAVE_RAND_R
+#  define HAVE_GMTIME_R
+#  define HAVE_LOCALTIME_R
+#  define HAVE_STRERROR_R
+#  define HAVE_WCTOMB
+#  define HAVE_MBTOWC
+# elif defined(__APPLE__)
+#  define HAVE_POLL
+#  define HAVE_SNPRINTF
+#  define HAVE_STRRCHR
+#  define HAVE_STRTOD
+#  define HAVE_SSCANF
+#  define HAVE_STRTOD_L
+#  define HAVE_SSCANF_L
+#  define HAVE_SPRINTF_L
+#  define HAVE_STRTOL
+#  define HAVE_STRTOUL
+#  define HAVE_RAND_R
+#  define HAVE_GMTIME_R
+#  define HAVE_TM_GMTOFF
+#  define HAVE_GETTIMEOFDAY
+#  define HAVE_LOCALTIME_R
+#  define HAVE_STRERROR_R
+#  define HAVE_TIMEGM
+#  define HAVE_WCTOMB
+#  define HAVE_MBTOWC
+#  define HAVE_INTTYPES_H
+# elif defined(_AIX43)
+#  define HAVE_SNPRINTF
+#  define HAVE_STRRCHR
+#  define HAVE_STRTOD
+#  define HAVE_SSCANF
+#  define HAVE_STRTOL
+#  define HAVE_STRTOUL
+#  define HAVE_SYS_TIMEB_H
+#  define HAVE_FTIME
+#  define HAVE_RAND_R
+#  define HAVE_GMTIME_R
+#  define HAVE_LOCALTIME_R
+#  define HAVE_WCTOMB
+#  define HAVE_MBTOWC
+# elif defined(_AIX41)
+#  define HAVE_SNPRINTF
+#  define HAVE_STRRCHR
+#  define HAVE_STRTOD
+#  define HAVE_SSCANF
+#  define HAVE_STRTOL
+#  define HAVE_STRTOUL
+#  define HAVE_SYS_TIMEB_H
+#  define HAVE_WCTOMB
+#  define HAVE_MBTOWC
+# elif defined(HP_UX)
+#  define HAVE_SNPRINTF
+#  define HAVE_STRRCHR
+#  define HAVE_STRTOD
+#  define HAVE_SSCANF
+#  define HAVE_STRTOL
+#  define HAVE_STRTOUL
+#  define HAVE_SYS_TIMEB_H
+#  define HAVE_FTIME
+#  define HAVE_RAND_R
+#  define HAVE_GMTIME_R
+#  define HAVE_LOCALTIME_R
+#  define HAVE_WCTOMB
+#  define HAVE_MBTOWC
+#  define HAVE_ISNAN
+# elif defined(FREEBSD) || defined(__FreeBSD__) || defined(OPENBSD)
+#  define HAVE_POLL
+#  define HAVE_SNPRINTF
+#  define HAVE_STRRCHR
+#  define HAVE_STRTOD
+#  define HAVE_SSCANF
+#  define HAVE_STRTOD_L
+#  define HAVE_SSCANF_L
+#  define HAVE_SPRINTF_L
+#  define HAVE_STRTOL
+#  define HAVE_STRTOUL
+#  define HAVE_STRTOLL
+#  define HAVE_STRTOULL
+#  define HAVE_GETTIMEOFDAY
+#  define HAVE_RAND_R
+#  define HAVE_GMTIME_R
+#  define HAVE_LOCALTIME_R
+#  define HAVE_STRERROR_R
+#  define HAVE_WCTOMB
+#  define HAVE_MBTOWC
+#  define SOAP_LONG_FORMAT "%qd"
+#  define SOAP_ULONG_FORMAT "%qu"
+#  define HAVE_ISNAN
+#  define HAVE_ISINF
+# elif defined(__VMS)
+#  include <ioctl.h>
+#  define HAVE_SNPRINTF
+#  define HAVE_STRRCHR
+#  define HAVE_STRTOD
+#  define HAVE_SSCANF
+#  define HAVE_STRTOL
+#  define HAVE_STRTOUL
+#  define HAVE_SYS_TIMEB_H
+#  define HAVE_FTIME
+#  define HAVE_RAND_R
+#  define HAVE_GMTIME_R
+#  define HAVE_LOCALTIME_R
+#  define HAVE_WCTOMB
+#  define HAVE_MBTOWC
+# elif defined(__GLIBC__) || defined(__GNU__)
+#  define HAVE_POLL
+#  define HAVE_SNPRINTF
+#  define HAVE_STRRCHR
+#  define HAVE_STRTOD
+#  define HAVE_SSCANF
+#  define HAVE_STRTOD_L
+#  define HAVE_SSCANF_L
+#  define HAVE_SPRINTF_L
+#  define HAVE_STRTOL
+#  define HAVE_STRTOUL
+#  define HAVE_STRTOLL
+#  define HAVE_STRTOULL
+#  define HAVE_SYS_TIMEB_H
+#  define HAVE_FTIME
+#  define HAVE_RAND_R
+#  define HAVE_GMTIME_R
+#  define HAVE_LOCALTIME_R
+#  define HAVE_STRERROR_R
+#  define HAVE_TIMEGM
+#  define HAVE_WCTOMB
+#  define HAVE_MBTOWC
+#  define HAVE_ISNAN
+#  define HAVE_ISINF
+# elif defined(TRU64)
+#  define HAVE_SNPRINTF
+#  define HAVE_STRRCHR
+#  define HAVE_STRTOD
+#  define HAVE_SSCANF
+#  define HAVE_STRTOL
+#  define HAVE_STRTOUL
+#  define HAVE_GETTIMEOFDAY
+#  define HAVE_SYS_TIMEB_H
+#  define HAVE_RAND_R
+#  define HAVE_GMTIME_R
+#  define HAVE_LOCALTIME_R
+#  define __USE_STD_IOSTREAM
+#  define HAVE_WCTOMB
+#  define HAVE_MBTOWC
+#  define SOAP_LONG_FORMAT "%ld"
+#  define SOAP_ULONG_FORMAT "%lu"
+# elif defined(MAC_CARBON)
+#  define WITH_NOIO
+#  define HAVE_SNPRINTF
+#  define HAVE_STRRCHR
+#  define HAVE_STRTOD
+#  define HAVE_SSCANF
+#  define HAVE_STRTOD_L
+#  define HAVE_SSCANF_L
+#  define HAVE_SPRINTF_L
+#  define HAVE_STRTOL
+#  define HAVE_STRTOUL
+#  define HAVE_FTIME
+#  define HAVE_RAND_R
+#  define HAVE_GETHOSTBYNAME_R
+#  define HAVE_GMTIME_R
+#  define HAVE_LOCALTIME_R
+#  define HAVE_STRERROR_R
+#  define HAVE_WCTOMB
+#  define HAVE_MBTOWC
+# elif defined(PALM)
+#  define WITH_LEAN
+#  define HAVE_STRTOD   /* strtod() is defined in palmFunctions.h */
+#  include <stdlib.h>	/* Needs to be included before unix headers */
+#  include <sys_types.h>
+#  define IGNORE_STDIO_STUBS
+#  include <StdIOPalm.h>
+#  define O_NONBLOCK FNONBIO
+#  include <sys_socket.h>
+#  include "palmFunctions.h"
+# elif defined(SYMBIAN)
+#  define WITH_LEAN
+#  define WITH_NONAMESPACES
+#  define HAVE_STRTOD	/* use STRTOD since sscanf doesn't seem to work */
+#  include <e32def.h>
+#  include <sys/ioctl.h>
+# elif defined(VXWORKS)
+#  ifdef _WRS_KERNEL
+#   define _POSIX_THREADS 1
+#  endif
+#  define HAVE_STRRCHR
+#  define HAVE_STRTOD
+#  define HAVE_SSCANF
+#  define HAVE_STRTOL
+#  define HAVE_STRTOUL
+#  define HAVE_GMTIME
+#  define HAVE_LOCALTIME
+#  define HAVE_MKTIME
+# elif defined(OS390)
+#  define HAVE_SNPRINTF
+#  define HAVE_STRRCHR
+#  define HAVE_STRTOD
+#  define HAVE_SSCANF
+#  define HAVE_STRTOL
+#  define HAVE_STRTOUL
+#  define HAVE_SYS_TIMEB_H
+#  define HAVE_FTIME
+#  define HAVE_RAND_R
+#  define HAVE_GMTIME_R
+#  define HAVE_LOCALTIME_R
+#  define HAVE_WCTOMB
+#  define HAVE_MBTOWC
+# elif defined(AS400)
+#  define HAVE_SNPRINTF
+#  define HAVE_STRRCHR
+#  define HAVE_STRTOD
+#  define HAVE_SSCANF
+#  define HAVE_STRTOL
+#  define HAVE_STRTOUL
+#  define HAVE_SYS_TIMEB_H
+#  define HAVE_FTIME
+#  define HAVE_RAND_R
+#  define HAVE_GMTIME_R
+#  define HAVE_LOCALTIME_R
+#  define HAVE_WCTOMB
+#  define HAVE_MBTOWC
+# elif defined(__QNX__) || defined(QNX)
+/* QNX does not have a working version of strtof */
+#  undef HAVE_STRTOF
+#  define HAVE_POLL
+#  define HAVE_SNPRINTF
+#  define HAVE_STRRCHR
+#  define HAVE_STRTOD
+#  define HAVE_SSCANF
+#  define HAVE_STRTOL
+#  define HAVE_STRTOUL
+#  define HAVE_SYS_TIMEB_H
+#  define HAVE_FTIME
+#  define HAVE_RAND_R
+#  define HAVE_GETHOSTBYNAME_R
+#  define HAVE_GMTIME_R
+#  define HAVE_LOCALTIME_R
+#  define HAVE_STRERROR_R
+#  define HAVE_WCTOMB
+#  define HAVE_MBTOWC
+# elif defined(SUN_OS)
+#  define HAVE_SNPRINTF
+#  define HAVE_STRRCHR
+#  define HAVE_STRTOD
+#  define HAVE_SSCANF
+#  define HAVE_STRTOL
+#  define HAVE_STRTOUL
+#  define HAVE_SYS_TIMEB_H
+#  define HAVE_FTIME
+#  define HAVE_RAND_R
+#  define HAVE_GETHOSTBYNAME_R
+#  define HAVE_GMTIME_R
+#  define HAVE_LOCALTIME_R
+# else
+/* Default assumptions for supported functions */
+#  define HAVE_SNPRINTF
+#  define HAVE_STRRCHR
+#  define HAVE_STRTOD
+#  define HAVE_SSCANF
+#  define HAVE_STRTOL
+#  define HAVE_STRTOUL
+#  define HAVE_SYS_TIMEB_H
+#  define HAVE_FTIME
+#  define HAVE_RAND_R
+#  define HAVE_GETHOSTBYNAME_R
+#  define HAVE_GMTIME_R
+#  define HAVE_LOCALTIME_R
+#  define HAVE_STRERROR_R
+#  ifdef MB_LEN_MAX
+#   define HAVE_WCTOMB
+#   define HAVE_MBTOWC
+#  endif
+# endif
+#endif
+
+/* gSOAP 2.7.15 and higher: always retain CDATA in literal XML, unless WITH_LEAN or WITH_NOCDATA */
+#ifndef WITH_LEAN
+# ifndef WITH_NOCDATA
+#  ifndef WITH_CDATA
+#   define WITH_CDATA
+#  endif
+# endif
+#endif
+
+#ifdef WITH_LEANER
+# ifndef WITH_LEAN
+#  define WITH_LEAN
+# endif
+#endif
+
+#ifdef WITH_LEAN
+# ifdef WITH_COOKIES
+#  error "Cannot build WITH_LEAN code WITH_COOKIES enabled"
+# endif
+#endif
+
+/* native Win, HP-UX, and AIX compilers don't like empty structs */
+#if defined(WIN32) || defined(HP_UX) || defined(_AIX) || defined(AIX) || defined(VXWORKS)
+# define WITH_NOEMPTYSTRUCT
+#endif
+
+#ifdef WITH_PURE_VIRTUAL
+# define SOAP_PURE_VIRTUAL = 0
+#else
+# define SOAP_PURE_VIRTUAL
+#endif
+
+#ifdef HP_UX
+# undef HAVE_STRTOLL
+# undef HAVE_STRTOULL
+#endif
+
+/* older OpenVMS TCP/IP stacks cannot handle 65536 bytes */
+#ifdef __VMS
+# ifndef SOAP_BUFLEN
+#  define SOAP_BUFLEN (65535)
+# endif
+#endif
+
+/* if we have xlocale.h we use it to avoid decimal point conversion issues */
+#ifdef WITH_C_LOCALE
+# ifdef WIN32
+#  include <locale.h>
+# else
+#  include <xlocale.h>
+# endif
+#else
+# undef HAVE_STRTOF_L
+# undef HAVE_STRTOD_L
+# undef HAVE_SSCANF_L
+# undef HAVE_SPRINTF_L
+#endif
+
+#ifdef TANDEM_NONSTOP /* Support for Guardian */
+# define SOAP_BUFLEN (32767)
+/*# define WITH_NOSTDLIB */ /* uncommment to remove stdlib dependences */
+# define WITH_NOIO      /* no IO dependences, e.g. remove TCP/IP */
+# define int32_t int
+# define int64_t long long
+# define LONG64 long long
+# define ULONG64 long long
+# define DBL_PINFTY (1.1579208923716189e77)
+# define WITH_NOEMPTYSTRUCT
+# undef HAVE_WCTOMB
+# undef HAVE_MBTOWC
+# undef HAVE_GMTIME_R
+# undef HAVE_LOCALTIME_R
+# undef HAVE_SNPRINTF
+# define SOAP_BUFLEN (32767)
+# define SOAP_SOCKET short
+#pragma nolist
+# include <sys\param.h>
+# include <sys\socket.h>
+# include <netinet\in.h>
+# include <netdb.h>
+# include <stdio.h>
+# include <fcntl.h>                                           
+# include <string.h>                                          
+# include <stdlib.h>                                          
+# include <memory.h>                                          
+# include <errno.h>                                           
+# include <cextdecs.h(TIME,FILE_CLOSE_,AWAITIOX,DELAY,FILEINFO,FILE_GETINFO_)>
+# define INET_ERROR 4294967295                                
+#pragma list                                                  
+#elif defined(__TANDEM) /* Support for OSS */
+# define int32_t int
+# define SOAP_BUFLEN (32767)
+#endif                                                        
+
+#ifndef WITH_NOSTDLIB
+# include <stdlib.h>
+# ifndef PALM
+#  include <stdio.h>
+#  include <string.h>
+# endif
+# include <ctype.h>
+# include <limits.h>
+#endif
+
+#ifdef WITH_NTLM
+# include <ntlm.h>
+#endif
+
+#ifdef HAVE_POLL
+# include <poll.h>
+#endif
+
+#if defined(__cplusplus) && !defined(WITH_LEAN) && !defined(WITH_COMPAT)
+# include <string>
+# include <iostream>
+#endif
+
+#ifdef WITH_NOHTTP
+# ifndef WITH_NOIO
+#  define WITH_NOIO
+#  undef WITH_COOKIES
+# endif
+#endif
+
+/* Suggestion when SOAP_FD_EXCEEDED error occurs:
+   Some systems allow increasing FD_SETSIZE before including sys/types.h:
+#define FD_SETSIZE (2048)
+*/
+
+#ifndef UNDER_CE
+# ifndef PALM
+#  ifndef WITH_NOIO
+#   include <errno.h>
+#   include <sys/types.h>
+#  endif
+#  ifndef WITH_LEAN
+#   ifdef HAVE_SYS_TIMEB_H
+#    include <sys/timeb.h>		/* for ftime() */
+#   endif
+#   include <time.h>
+#  endif
+# endif
+#endif
+
+#ifdef OPENSERVER
+# include <sys/socket.h>
+# include <sys/stream.h>
+# include <sys/protosw.h>
+  extern int h_errno;
+#endif
+
+#ifndef WITH_NOIO
+# ifndef WIN32
+#  ifndef PALM
+#   include <sys/socket.h>
+#   ifdef VXWORKS
+#    include <sockLib.h>
+#    include <selectLib.h>
+#    ifndef _WRS_KERNEL
+#     include <strings.h>
+#    endif
+#   else
+#    ifndef SYMBIAN
+#     include <strings.h>
+#    endif
+#   endif
+#   ifdef SUN_OS
+#    include <sys/stream.h>		/* SUN */
+#    include <sys/socketvar.h>		/* SUN < 2.8 (?) */
+#   endif
+#   ifdef VXWORKS
+#    ifdef _WRS_KERNEL
+#     include <sys/times.h>
+#    endif
+#   else
+#    include <sys/time.h>
+#   endif
+#   include <netinet/in.h>
+#   ifdef OS390
+#    include <netinet/tcp_var.h>
+#   else
+#    include <netinet/tcp.h>          /* TCP_NODELAY */
+#   endif
+#   include <arpa/inet.h>
+#  endif
+# endif
+#endif
+
+#ifdef WIN32
+# define SOAP_WINSOCKINT int
+#else
+# define SOAP_WINSOCKINT size_t
+#endif
+
+#if defined(WITH_IPV6_V6ONLY) || defined(WITH_NO_IPV6_V6ONLY)
+# ifndef WITH_IPV6
+#  define WITH_IPV6
+# endif
+#endif
+
+#ifdef WIN32
+# ifndef UNDER_CE
+#  include <io.h>
+#  include <fcntl.h>
+# endif
+// When you get macro redefinition errors when compiling the code below, then:
+// a) try arrange your includes so <windows.h> is included after "stdsoap2.h"
+// b) or define _WINSOCKAPI_ first:
+//    #define _WINSOCKAPI_    // stops windows.h including winsock.h
+//    #include <windows.h>
+//    #include "stdsoap2.h"
+// c) or compile with the -DWIN32_LEAN_AND_MEAN switch
+# include <winsock2.h> // Visual Studio 2005 users: install Platform SDK (R2)
+# include <ws2tcpip.h>
+// # define _WSPIAPI_COUNTOF // DEV NOTE: enble to fix problems with VC6
+// # include <wspiapi.h>
+# include <ws2spi.h> // DEV NOTE: replaces older wspiapi.h above
+# ifdef WITH_IPV6
+#  define SOAP_GAI_STRERROR gai_strerrorA
+# endif
+#else
+# ifdef VXWORKS
+#  include <hostLib.h>
+#  include <ioctl.h>
+#  include <ioLib.h>
+# endif
+# ifndef WITH_NOIO
+#  ifndef PALM
+#   include <netdb.h>
+#   include <netinet/in.h>
+#   include <unistd.h>
+#   include <fcntl.h>
+#   ifdef _AIX41
+#    include <sys/select.h>
+#   endif
+#  endif
+# endif
+#endif
+
+#ifdef WITH_FASTCGI
+# include <fcgi_stdio.h>
+#endif
+
+#ifdef WITH_OPENSSL
+# ifdef __VMS
+#  pragma names save
+#  pragma names uppercase
+# endif
+# undef WITH_GNUTLS
+# define OPENSSL_NO_KRB5
+# include <openssl/bio.h>
+# include <openssl/err.h>
+# include <openssl/rand.h>
+# include <openssl/ssl.h>
+# include <openssl/x509v3.h>
+# ifndef ALLOW_OLD_VERSIONS
+#  if (OPENSSL_VERSION_NUMBER < 0x00905100L)
+#   error "Must use OpenSSL 0.9.6 or later"
+#  endif
+# endif
+# ifdef __VMS
+#  pragma names restore
+# endif
+#endif
+
+#ifdef WITH_GNUTLS
+# include <gnutls/gnutls.h>
+# include <gnutls/x509.h>
+# include <gcrypt.h>
+# ifndef HAVE_PTHREAD_H
+#  ifdef _POSIX_THREADS
+#   define HAVE_PTHREAD_H /* make GNUTLS thread safe */
+#  endif
+# endif
+#endif
+
+#ifdef WITH_GZIP
+# ifndef WITH_ZLIB
+#  define WITH_ZLIB
+# endif
+#endif
+
+#ifdef WITH_CASEINSENSITIVETAGS
+# define SOAP_STRCMP soap_tag_cmp	/* case insensitve XML element/attribute names */
+#else
+# define SOAP_STRCMP strcmp		/* case sensitive XML element/attribute names */
+#endif
+
+#ifdef WITH_ZLIB
+# include <zlib.h>
+#endif
+
+#ifndef WITH_NOSTDLIB
+# ifndef PALM
+#  include <math.h>	/* for isnan() */
+# endif
+#endif
+
+/* #define DEBUG */ /* Uncomment to debug sending (in file SENT.log) receiving (in file RECV.log) and internal operations (in file TEST.log) */
+
+/* #define DEBUG_STAMP */ /* Uncomment to debug sending (in file SENT.log) receiving (in file RECV.log) and time-stamped operations (in file TEST.log) */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Portability: define SOAP_SOCKLEN_T */
+#if defined(_AIX) || defined(AIX)
+# if defined(_AIX43)
+#  define SOAP_SOCKLEN_T socklen_t
+# else
+#  define SOAP_SOCKLEN_T int
+# endif
+#elif defined(SOCKLEN_T)
+# define SOAP_SOCKLEN_T SOCKLEN_T
+#elif defined(__socklen_t_defined) || defined(_SOCKLEN_T) || defined(CYGWIN) || defined(FREEBSD) || defined(__FreeBSD__) || defined(OPENBSD) || defined(__QNX__) || defined(QNX) || defined(OS390) || defined(__ANDROID__)
+# define SOAP_SOCKLEN_T socklen_t
+#elif defined(IRIX) || defined(WIN32) || defined(__APPLE__) || defined(SUN_OS) || defined(OPENSERVER) || defined(TRU64) || defined(VXWORKS) || defined(HP_UX)
+# define SOAP_SOCKLEN_T int
+#else
+# define SOAP_SOCKLEN_T size_t
+#endif
+
+#ifndef SOAP_SOCKET
+# ifdef WIN32
+#  define SOAP_SOCKET SOCKET
+#  define soap_closesocket(n) closesocket(n)
+# else
+#  define SOAP_SOCKET int
+#  define soap_closesocket(n) close(n)
+# endif
+#endif
+
+#define SOAP_INVALID_SOCKET ((SOAP_SOCKET)-1)
+#define soap_valid_socket(n) ((n) != SOAP_INVALID_SOCKET)
+
+#define SOAP_SHUT_WR 1
+#define SOAP_SHUT_RDWR 2
+
+#ifndef SOAP_GAI_STRERROR
+# define SOAP_GAI_STRERROR gai_strerror
+#endif
+
+#ifndef FD_SETSIZE
+# define FD_SETSIZE (1024)
+#endif
+
+#ifdef WITH_LEAN
+# define SOAP_CHK_EOF SOAP_EOF
+#else
+# define SOAP_CHK_EOF (soap->error ? soap->error : SOAP_EOF)
+#endif
+
+#ifdef __cplusplus
+# ifndef __STDC_FORMAT_MACROS
+#  define __STDC_FORMAT_MACROS
+# endif
+#endif
+
+#if defined(SYMBIAN)
+# define LONG64 long
+# define ULONG64 unsigned LONG64
+#elif !defined(WIN32) || defined(CYGWIN) || defined(__GLIBC__) || defined(__GNU__)
+# ifndef LONG64
+#  if defined(HAVE_INTTYPES_H)
+#   ifdef HAVE_STDINT_H
+#    include <stdint.h>
+#   endif
+#   include <inttypes.h>
+#   define LONG64 int64_t
+#   define ULONG64 uint64_t
+#  elif defined(HAVE_SYS_INTTYPES_H)
+#   include <sys/inttypes.h>
+#   define LONG64 int64_t
+#   define ULONG64 uint64_t
+#  elif defined(HAVE_STDINT_H)
+#   include <stdint.h>
+#   define LONG64 int64_t
+#   define ULONG64 uint64_t
+#  elif defined(__GLIBC__)
+#   include <bits/wordsize.h>
+#   if (__WORDSIZE == 64)
+#    define LONG64 int64_t
+#    define ULONG64 uint64_t
+#    ifndef SOAP_LONG_FORMAT
+#     define SOAP_LONG_FORMAT "%ld"
+#    endif
+#    ifndef SOAP_ULONG_FORMAT
+#     define SOAP_ULONG_FORMAT "%lu"
+#    endif
+#   else
+#    define LONG64 long long
+#    define ULONG64 unsigned LONG64
+#   endif
+#  else
+#   define LONG64 long long
+#   define ULONG64 unsigned LONG64
+#  endif
+# endif
+#elif defined(UNDER_CE)
+# define LONG64 __int64
+# define ULONG64 unsigned LONG64
+#elif defined(__BORLANDC__)
+# define LONG64 __int64
+# define ULONG64 unsigned LONG64
+#endif
+
+#ifdef PRId64
+# ifndef SOAP_LONG_FORMAT
+#  define SOAP_LONG_FORMAT "%" PRId64
+# endif
+#endif
+
+#ifdef PRIu64
+# ifndef SOAP_ULONG_FORMAT
+#  define SOAP_ULONG_FORMAT "%" PRIu64
+# endif
+#endif
+
+#ifndef SOAP_LONG_FORMAT
+# define SOAP_LONG_FORMAT "%lld"	/* printf format for 64 bit ints */
+#endif
+
+#ifndef SOAP_ULONG_FORMAT
+# define SOAP_ULONG_FORMAT "%llu"	/* printf format for unsigned 64 bit ints */
+#endif
+
+#if defined(WIN32) && !defined(CYGWIN)
+# define soap_int32 __int32
+#elif defined(SYMBIAN)
+# define soap_int32 long
+#elif defined(PALM)
+# define soap_int32 Int32
+#elif defined(_AIX) || defined(AIX)
+# if defined(_AIX43)
+#  define soap_int32 int32_t
+# else
+#  define soap_int32 signed int
+# endif
+#else
+# define soap_int32 int32_t
+#endif
+
+#ifdef WIN32
+# define SOAP_ERANGE ERANGE
+# define SOAP_EINTR WSAEINTR
+# define SOAP_EAGAIN WSAEWOULDBLOCK
+# define SOAP_EWOULDBLOCK WSAEWOULDBLOCK
+# define SOAP_EINPROGRESS WSAEINPROGRESS
+# define SOAP_EADDRINUSE WSAEADDRINUSE
+#else
+# define SOAP_ERANGE ERANGE
+# define SOAP_EINTR EINTR
+# define SOAP_EAGAIN EAGAIN
+# define SOAP_EADDRINUSE EADDRINUSE
+# ifdef SYMBIAN
+#  define SOAP_EWOULDBLOCK 9898
+#  define SOAP_EINPROGRESS 9899
+# else
+#  define SOAP_EWOULDBLOCK EWOULDBLOCK
+#  define SOAP_EINPROGRESS EINPROGRESS
+# endif
+#endif
+
+#ifdef WIN32
+# ifdef UNDER_CE
+#  define soap_errno GetLastError()
+#  define soap_socket_errno(s) GetLastError()
+#  define soap_reset_errno SetLastError(0)
+# else
+#  define soap_errno GetLastError()
+#  define soap_socket_errno(s) WSAGetLastError()
+#  define soap_reset_errno SetLastError(0)
+# endif
+#else
+# ifndef WITH_NOIO
+#  define soap_errno errno
+#  define soap_socket_errno(s) errno
+#  define soap_reset_errno (errno = 0)
+# else
+#  define soap_errno 0
+#  define soap_socket_errno(s) 0
+#  define soap_reset_errno
+# endif
+#endif
+
+#ifndef SOAP_BUFLEN
+# if !defined(WITH_LEAN)
+#  define SOAP_BUFLEN (65536) /* buffer length for socket packets, also used by gethostbyname_r and UDP messages, so don't make this too small */
+# else
+#  define SOAP_BUFLEN  (2048) /* lean size */
+# endif
+#endif
+#ifndef SOAP_LABLEN
+# define SOAP_LABLEN     (256) /* initial look-aside buffer length */
+#endif
+#ifndef SOAP_PTRBLK
+# define SOAP_PTRBLK     (32) /* block allocation for pointer hash table chains */
+#endif
+#ifndef SOAP_PTRHASH
+# ifndef WITH_LEAN
+#  define SOAP_PTRHASH (4096) /* size of pointer analysis hash table (must be power of 2) */
+# else
+#  define SOAP_PTRHASH   (32)
+# endif
+#endif
+#ifndef SOAP_IDHASH
+# ifndef WITH_LEAN
+#  define SOAP_IDHASH  (1999) /* prime size of hash table for parsed id/ref */
+# else
+#  define SOAP_IDHASH    (19) /* 19, 199 */
+# endif
+#endif
+#ifndef SOAP_BLKLEN
+# ifndef WITH_LEAN
+#  define SOAP_BLKLEN   (256) /* to collect long strings and XML attributes */
+# else
+#  define SOAP_BLKLEN    (32)
+# endif
+#endif
+#ifndef SOAP_TAGLEN
+# ifndef WITH_LEAN
+#  define SOAP_TAGLEN  (1024) /* maximum length of XML element tag/attribute name or host/path name + 1 */
+# else
+#  define SOAP_TAGLEN    (128)
+# endif
+#endif
+#ifndef SOAP_HDRLEN
+# ifndef WITH_LEAN
+#  define SOAP_HDRLEN  (8192) /* maximum length of HTTP header line (must be >4096 to read cookies) */
+# else
+#  define SOAP_HDRLEN  (1024)
+# endif
+#endif
+#ifndef SOAP_MAXDIMS
+# ifndef WITH_LEAN
+#  define SOAP_MAXDIMS	 (16) /* maximum array dimensions (array nestings) must be less than 64 to protect soap->tmpbuf */
+# else
+#  define SOAP_MAXDIMS	  (4)
+# endif
+#endif
+
+#ifndef SOAP_MAXLOGS
+# define SOAP_MAXLOGS	  (3) /* max number of debug logs per struct soap environment */
+# define SOAP_INDEX_RECV  (0)
+# define SOAP_INDEX_SENT  (1)
+# define SOAP_INDEX_TEST  (2)
+#endif
+
+/* Max number of EINTR while poll/select on a socket */
+/* Each EINTR can lengthen the I/O blocking time by at most one second */
+#ifndef SOAP_MAXEINTR
+# define SOAP_MAXEINTR (10)
+#endif
+
+/* Max iterations in soap_serve() to keep server connection alive */
+#ifndef SOAP_MAXKEEPALIVE
+# define SOAP_MAXKEEPALIVE (100)
+#endif
+
+/* Trusted max size of inbound SOAP array for compound array allocation.
+   Increase if necessary to allow larger arrays.
+*/
+#ifndef SOAP_MAXARRAYSIZE
+# define SOAP_MAXARRAYSIZE (1000000)
+#endif
+
+/* Trusted max size of inbound DIME data.
+   Increase if necessary to allow larger attachments, or decrease when server
+   resources are limited.
+*/
+#ifndef SOAP_MAXDIMESIZE
+# define SOAP_MAXDIMESIZE (8388608) /* 8 MB */
+#endif
+
+#ifdef VXWORKS
+# ifdef WMW_RPM_IO
+#  include "httpLib.h"
+# endif
+# ifdef __INCmathh 
+#  include <private/mathP.h>
+#  ifndef HAVE_ISNAN
+#   define HAVE_ISNAN
+#  endif
+#  ifndef soap_isnan
+#   define soap_isnan(num) isNan(num)
+#  endif
+# endif
+# ifdef WM_SECURE_KEY_STORAGE
+#  include <ipcom_key_db.h>
+# endif
+#endif
+
+#ifdef WIN32 
+# include <float.h>
+# ifndef HAVE_ISNAN
+#  define HAVE_ISNAN
+# endif
+# define soap_isnan(n) _isnan(n)
+# ifndef HAVE_ISINF
+#  define HAVE_ISINF
+# endif
+# define soap_isinf(n) (!_finite(n))
+#endif
+
+#ifdef SUN_OS
+# define HAVE_ISNAN
+#endif
+
+#ifdef __APPLE__
+# ifdef __cplusplus
+#  ifndef isnan
+extern "C" int isnan(double);
+extern "C" int isinf(double);
+#  endif
+# endif
+# ifndef HAVE_ISNAN
+#  define HAVE_ISNAN
+# endif
+# ifndef HAVE_ISINF
+#  define HAVE_ISINF
+# endif
+#endif
+
+#if !defined(HAVE_ISNAN) && (defined(_MATH_H) || defined(_MATH_INCLUDED))
+# define HAVE_ISNAN
+#endif
+
+union soap_double_nan {struct {unsigned int n1, n2;} iv; double dv; float fv;};
+extern const union soap_double_nan soap_double_nan;
+extern const char soap_base64o[], soap_base64i[];
+
+#ifdef VXWORKS
+# ifndef FLT_MAX
+#  define FLT_MAX _ARCH_FLT_MAX
+# endif
+# ifndef DBL_MAX
+#  define DBL_MAX _ARCH_DBL_MAX
+# endif
+#endif
+
+#ifndef FLT_NAN
+# define FLT_NAN (soap_double_nan.fv)
+#endif
+
+#ifndef FLT_PINFTY
+# if defined(FLT_MAX)
+#  define FLT_PINFTY FLT_MAX
+# elif defined(HUGE_VALF)
+#  define FLT_PINFTY (float)HUGE_VALF
+# elif defined(HUGE_VAL)
+#  define FLT_PINFTY (float)HUGE_VAL
+# elif defined(FLOAT_MAX)
+#  define FLT_PINFTY FLOAT_MAX
+# else
+#  define FLT_PINFTY (3.40282347e+38F)
+# endif
+#endif
+
+#ifndef FLT_NINFTY
+# define FLT_NINFTY (-FLT_PINFTY)
+#endif
+
+#ifndef DBL_NAN
+# define DBL_NAN (soap_double_nan.dv)
+#endif
+
+#ifndef DBL_PINFTY
+# if defined(DBL_MAX)
+#  define DBL_PINFTY DBL_MAX
+# elif defined(HUGE_VALF)
+#  define DBL_PINFTY (double)HUGE_VALF
+# elif defined(HUGE_VAL)
+#  define DBL_PINFTY (double)HUGE_VAL
+# elif defined(DOUBLE_MAX)
+#  define DBL_PINFTY DOUBLE_MAX
+# else
+#  define DBL_PINFTY (1.7976931348623157e+308)
+# endif
+#endif
+
+#ifndef DBL_NINFTY
+# define DBL_NINFTY (-DBL_PINFTY)
+#endif
+
+#ifndef soap_isnan
+# ifdef HAVE_ISNAN
+#  define soap_isnan(n) isnan(n)
+# else
+#  define soap_isnan(n) ((n) != (n))
+# endif
+#endif
+
+#ifndef soap_isinf
+# ifdef HAVE_ISINF
+#  define soap_isinf(n) isinf(n)
+# else
+#  define soap_isinf(n) (!soap_isnan(n) && soap_isnan((n) - (n)))
+# endif
+#endif
+
+#define soap_ispinfd(n) ((n) > 0 && soap_isinf(n))
+#define soap_ispinff(n) ((n) > 0 && soap_isinf(n))
+#define soap_isninfd(n) ((n) < 0 && soap_isinf(n))
+#define soap_isninff(n) ((n) < 0 && soap_isinf(n))
+
+#ifdef HAVE_SNPRINTF
+# ifdef WIN32
+#  define soap_snprintf(buf, len, ...) (_snprintf((buf), (len), __VA_ARGS__), (buf)[(len)-1] = '\0')
+# else
+#  define soap_snprintf snprintf
+# endif
+#endif
+
+/* gSOAP status/error codes */
+
+typedef soap_int32 soap_status;
+
+#define SOAP_EOF			EOF
+#define SOAP_ERR			EOF
+#define SOAP_OK				0
+#define SOAP_CLI_FAULT			1
+#define SOAP_SVR_FAULT			2
+#define SOAP_TAG_MISMATCH		3
+#define SOAP_TYPE			4
+#define SOAP_SYNTAX_ERROR		5
+#define SOAP_NO_TAG			6
+#define SOAP_IOB			7
+#define SOAP_MUSTUNDERSTAND		8
+#define SOAP_NAMESPACE			9
+#define SOAP_USER_ERROR			10
+#define SOAP_FATAL_ERROR		11
+#define SOAP_FAULT			12
+#define SOAP_NO_METHOD			13
+#define SOAP_NO_DATA			14
+#define SOAP_GET_METHOD			15
+#define SOAP_PUT_METHOD			16
+#define SOAP_DEL_METHOD			17	/* deprecated */
+#define SOAP_HEAD_METHOD		18	/* deprecated */
+#define SOAP_HTTP_METHOD		19
+#define SOAP_EOM			20
+#define SOAP_MOE			21
+#define SOAP_HDR			22
+#define SOAP_NULL			23
+#define SOAP_DUPLICATE_ID		24
+#define SOAP_MISSING_ID			25
+#define SOAP_HREF			26
+#define SOAP_UDP_ERROR			27
+#define SOAP_TCP_ERROR			28
+#define SOAP_HTTP_ERROR			29
+#define SOAP_SSL_ERROR			30
+#define SOAP_ZLIB_ERROR			31
+#define SOAP_DIME_ERROR			32
+#define SOAP_DIME_HREF			33
+#define SOAP_DIME_MISMATCH		34
+#define SOAP_DIME_END			35
+#define SOAP_MIME_ERROR			36
+#define SOAP_MIME_HREF			37
+#define SOAP_MIME_END			38
+#define SOAP_VERSIONMISMATCH		39
+#define SOAP_PLUGIN_ERROR		40
+#define SOAP_DATAENCODINGUNKNOWN	41
+#define SOAP_REQUIRED			42
+#define SOAP_PROHIBITED			43
+#define SOAP_OCCURS			44
+#define SOAP_LENGTH			45
+#define SOAP_FD_EXCEEDED		46
+#define SOAP_UTF_ERROR			47
+#define SOAP_NTLM_ERROR			48
+
+#define soap_xml_error_check(e) ((e) == SOAP_TAG_MISMATCH || (e) == SOAP_NO_TAG || (e) == SOAP_SYNTAX_ERROR || (e) == SOAP_NAMESPACE || (e) == SOAP_DUPLICATE_ID || (e) == SOAP_MISSING_ID || (e) == SOAP_REQUIRED || (e) == SOAP_PROHIBITED || (e) == SOAP_OCCURS || (e) == SOAP_LENGTH || (e) == SOAP_NULL || (e) == SOAP_HREF)
+#define soap_soap_error_check(e) ((e) == SOAP_CLI_FAULT || (e) == SOAP_SVR_FAULT || (e) == SOAP_VERSIONMISMATCH || (e) == SOAP_MUSTUNDERSTAND || (e) == SOAP_FAULT || (e) == SOAP_NO_METHOD)
+#define soap_tcp_error_check(e) ((e) == SOAP_EOF || (e) == SOAP_TCP_ERROR)
+#define soap_ssl_error_check(e) ((e) == SOAP_SSL_ERROR)
+#define soap_zlib_error_check(e) ((e) == SOAP_ZLIB_ERROR)
+#define soap_http_error_check(e) ((e) == SOAP_HTTP_ERROR || (e) == SOAP_NO_DATA || ((e) >= SOAP_GET_METHOD && (e) <= SOAP_HTTP_METHOD) || ((e) >= 100 && (e) < 600))
+
+/* gSOAP HTTP response status codes 100 to 599 are reserved */
+
+/* Codes 600 to 999 are user definable */
+
+/* Exceptional gSOAP HTTP server response status codes >= 1000 */
+
+#define SOAP_STOP		1000	/* No HTTP response */
+#define SOAP_FORM		1001	/* Request (form) data is present, no HTTP response */
+#define SOAP_HTML		1002	/* Custom HTML response */
+#define SOAP_FILE		1003	/* Custom file-based response */
+
+/* gSOAP HTTP method codes (client) */
+
+#define SOAP_POST		2000	/* POST request */
+#define SOAP_POST_FILE		2001	/* Custom file-based POST request */
+#define SOAP_GET		2002	/* GET request */
+#define SOAP_PUT		2003	/* PUT request */
+#define SOAP_DEL		2004	/* DELETE request */
+#define SOAP_CONNECT		2005	/* CONNECT request */
+
+/* gSOAP DIME */
+
+#define SOAP_DIME_CF		0x01
+#define SOAP_DIME_ME		0x02
+#define SOAP_DIME_MB		0x04
+#define SOAP_DIME_VERSION	0x08 /* DIME version 1 */
+#define SOAP_DIME_MEDIA		0x10
+#define SOAP_DIME_ABSURI	0x20
+
+/* gSOAP ZLIB */
+
+#define SOAP_ZLIB_NONE		0x00
+#define SOAP_ZLIB_DEFLATE	0x01
+#define SOAP_ZLIB_INFLATE	0x02
+#define SOAP_ZLIB_GZIP		0x02
+
+/* gSOAP transport, connection, and content encoding modes */
+
+typedef soap_int32 soap_mode;
+
+#define SOAP_IO			0x00000003	/* IO mask */
+#define SOAP_IO_FLUSH		0x00000000	/* flush output immediately, no buffering */
+#define SOAP_IO_BUFFER		0x00000001	/* buffer output in packets of size SOAP_BUFLEN */
+#define SOAP_IO_STORE		0x00000002	/* store entire output to determine length for transport */
+#define SOAP_IO_CHUNK		0x00000003	/* use HTTP chunked transfer AND buffer packets */
+
+#define SOAP_IO_UDP		0x00000004	/* TCP or UDP */
+#define SOAP_IO_LENGTH		0x00000008	/* calc message length (internal) */
+#define SOAP_IO_KEEPALIVE	0x00000010	/* keep connection alive */
+
+#define SOAP_ENC		0x00000FFF	/* IO and ENC mask */
+#define SOAP_ENC_LATIN		0x00000020	/* in: accept iso-8859-1 */
+#define SOAP_ENC_XML		0x00000040	/* out: plain XML encoding, no HTTP header */
+#define SOAP_ENC_DIME		0x00000080
+#define SOAP_ENC_MIME		0x00000100
+#define SOAP_ENC_MTOM		0x00000200
+#define SOAP_ENC_ZLIB		0x00000400
+#define SOAP_ENC_SSL		0x00000800
+
+#define SOAP_XML_STRICT		0x00001000	/* in:  strict validation */
+#define SOAP_XML_INDENT		0x00002000	/* out: emit indented XML */
+#define SOAP_XML_IGNORENS	0x00004000	/* in:  ignore namespaces */
+#define SOAP_XML_DEFAULTNS	0x00008000	/* out: emit xmlns="..." */
+#define SOAP_XML_CANONICAL	0x00010000	/* out: excC14N canonical XML */
+#define SOAP_XML_TREE		0x00020000	/* in/out: XML tree (no id/ref) */
+#define SOAP_XML_NIL		0x00040000	/* out: NULLs as xsi:nil */
+#define SOAP_XML_NOTYPE		0x00080000	/* out: do not add xsi:type */
+
+#define SOAP_DOM_TREE		0x00100000      /* see DOM manual */
+#define SOAP_DOM_NODE		0x00200000
+#define SOAP_DOM_ASIS		0x00400000
+
+#define SOAP_C_NOIOB		0x01000000	/* don't fault on array index out of bounds (just ignore) */
+#define SOAP_C_UTFSTRING	0x02000000	/* (de)serialize strings with UTF8 content */
+#define SOAP_C_MBSTRING		0x04000000	/* (de)serialize strings with multi-byte content */
+#define SOAP_C_NILSTRING	0x08000000	/* serialize empty strings as nil (omitted) */
+
+#define SOAP_XML_DOM		0x10000000      /* enable internal DOM */
+#define SOAP_XML_GRAPH		0x20000000	/* force id-ref XML graph */
+
+#define SOAP_MIME_POSTCHECK	0x40000000	/* MIME flag (internal) */
+
+#define SOAP_SEC_WSUID		0x80000000	/* Add Body wsu:Id */
+
+/* WITH_XMLNS backward compatibility: always use XML default namespaces */
+#ifdef WITH_XMLNS
+# define SOAP_IO_DEFAULT		(SOAP_IO_FLUSH | SOAP_XML_DEFAULTNS)
+#else
+# define SOAP_IO_DEFAULT		SOAP_IO_FLUSH
+#endif
+
+/* SSL client/server authentication settings */
+
+#define SOAP_SSL_NO_AUTHENTICATION		0x00	/* for testing purposes */
+#define SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION	0x01	/* client requires server to authenticate */
+#define SOAP_SSL_REQUIRE_CLIENT_AUTHENTICATION	0x02	/* server requires client to authenticate */
+#define SOAP_SSL_SKIP_HOST_CHECK		0x04	/* client does not check the common name of the host in certificate */
+#define SOAP_SSL_ALLOW_EXPIRED_CERTIFICATE	0x08	/* client does not check the expiration date of the host certificate */
+#define SOAP_SSL_NO_DEFAULT_CA_PATH		0x10	/* don't use default_verify_paths */
+#define SOAP_SSL_RSA				0x20	/* use RSA */
+#define SOAP_SSLv3				0x40	/* SSL v3 only */
+#define SOAP_TLSv1				0x80	/* TLS v1 only */
+#define SOAP_SSLv3_TLSv1			0x00	/* SSL v3 and TLS v1 support by default (no SSL v1/v2) */
+#define SOAP_SSL_CLIENT				0x100	/* client context */
+
+#define SOAP_SSL_DEFAULT			(SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION | SOAP_SSLv3_TLSv1)
+
+/* state */
+
+#define SOAP_NONE	0
+#define SOAP_INIT	1
+#define SOAP_COPY	2
+
+#define soap_check_state(soap) (!(soap) || ((soap)->state != SOAP_INIT && (soap)->state != SOAP_COPY))
+
+/* parts */
+
+#define SOAP_BEGIN		0
+#define SOAP_IN_ENVELOPE	2
+#define SOAP_IN_HEADER		3
+#define SOAP_END_HEADER		4
+#define SOAP_NO_BODY		5
+#define SOAP_IN_BODY		6
+#define SOAP_END_BODY		7
+#define SOAP_END_ENVELOPE	8
+#define SOAP_END		9
+
+/* events */
+
+#define SOAP_SEC_BEGIN		1
+#define SOAP_SEC_SIGN		2
+#define SOAP_SEC_DECRYPT	3
+
+/* DEBUG macros */
+
+#ifndef WITH_LEAN
+# ifdef DEBUG_STAMP
+#  ifndef DEBUG
+#   define DEBUG
+#  endif
+# endif
+# ifdef DEBUG
+#  ifndef SOAP_DEBUG
+#   define SOAP_DEBUG
+#  endif
+#  ifndef SOAP_MEM_DEBUG
+#   define SOAP_MEM_DEBUG
+#  endif
+# endif
+#endif
+
+#ifdef SOAP_MEM_DEBUG
+# ifndef SOAP_MALLOC
+#  define SOAP_MALLOC(soap, size) soap_track_malloc(soap, __FILE__, __LINE__, size)
+# endif
+# ifndef SOAP_FREE
+#  define SOAP_FREE(soap, ptr) soap_track_free(soap, __FILE__, __LINE__, ptr)
+# endif
+#endif
+
+#ifndef SOAP_MALLOC			/* use libc malloc */
+# define SOAP_MALLOC(soap, size) malloc(size)
+#endif
+
+#ifndef SOAP_FREE			/* use libc free */
+# define SOAP_FREE(soap, ptr) free(ptr)
+#endif
+
+#if defined(__GNUC__) && (__GNUC__ <= 2)
+# define SOAP_NOTHROW
+#elif !defined(WITH_LEAN) && !defined(WITH_COMPAT) && !defined(SOAP_NOTHROW)
+# define SOAP_NOTHROW (std::nothrow)
+#else
+# define SOAP_NOTHROW
+#endif
+
+#if (defined(__GNUC__) && (__GNUC__ <= 2) && !defined(__BORLANDC__)) || defined(__clang__) || defined(_AIX) || defined(AIX)
+/* old form w/o parenthesis */
+# ifndef SOAP_NEW
+#  define SOAP_NEW(type) new SOAP_NOTHROW type
+# endif
+# ifndef SOAP_NEW_ARRAY
+#  define SOAP_NEW_ARRAY(type, n) new SOAP_NOTHROW type[n]
+# endif
+# ifndef SOAP_PLACEMENT_NEW
+#  define SOAP_PLACEMENT_NEW(buf, type) new (buf) type
+# endif
+#else
+/* new form with parenthesis */
+# ifndef SOAP_NEW
+#  define SOAP_NEW(type) new SOAP_NOTHROW (type)
+# endif
+# ifndef SOAP_NEW_ARRAY
+#  define SOAP_NEW_ARRAY(type, n) new SOAP_NOTHROW type[n]
+# endif
+# ifndef SOAP_PLACEMENT_NEW
+#  define SOAP_PLACEMENT_NEW(buf, type) new (buf) (type)
+# endif
+#endif
+
+#ifndef SOAP_NEW_COPY			/* use C++ new operator for ::copy() */
+# define SOAP_NEW_COPY(clas) new SOAP_NOTHROW clas
+#endif
+
+#ifndef SOAP_DELETE			/* use C++ delete operator */
+# define SOAP_DELETE(obj) delete obj
+#endif
+
+#ifndef SOAP_DELETE_ARRAY		/* use C++ delete[] operator */
+# define SOAP_DELETE_ARRAY(obj) delete[] obj
+#endif
+
+#ifdef SOAP_DEBUG
+# ifndef SOAP_MESSAGE
+#  define SOAP_MESSAGE fprintf
+# endif
+# ifndef DBGLOG
+#  ifdef DEBUG_STAMP
+#   ifdef WIN32
+#    define DBGLOG(DBGFILE, CMD) \
+{ if (soap)\
+  { if (!soap->fdebug[SOAP_INDEX_##DBGFILE])\
+      soap_open_logfile((struct soap*)soap, SOAP_INDEX_##DBGFILE);\
+    if (soap->fdebug[SOAP_INDEX_##DBGFILE])\
+    { FILE *fdebug = soap->fdebug[SOAP_INDEX_##DBGFILE];\
+      SYSTEMTIME _localTime;\
+      ::GetLocalTime(&_localTime); \
+      fprintf(fdebug, "%02d%02d%02d %02d:%02d:%02d.%03d|", _localTime.wYear%100, _localTime.wMonth, _localTime.wDay, _localTime.wHour, _localTime.wMinute, _localTime.wSecond, _localTime.wMilliseconds);\
+      CMD;\
+      fflush(fdebug);\
+    }\
+  }\
+}
+#   else
+#    define DBGLOG(DBGFILE, CMD) \
+{ if (soap)\
+  { if (!soap->fdebug[SOAP_INDEX_##DBGFILE])\
+      soap_open_logfile((struct soap*)soap, SOAP_INDEX_##DBGFILE);\
+    if (soap->fdebug[SOAP_INDEX_##DBGFILE])\
+    { FILE *fdebug = soap->fdebug[SOAP_INDEX_##DBGFILE];\
+      struct timeval _tv;\
+      struct tm _tm;\
+      gettimeofday(&_tv, NULL);\
+      localtime_r(&_tv.tv_sec, &_tm);\
+      fprintf(fdebug, "%02d%02d%02d %02d:%02d:%02d.%06d|", _tm.tm_year%100, _tm.tm_mon+1, _tm.tm_mday, _tm.tm_hour, _tm.tm_min, _tm.tm_sec, _tv.tv_usec);\
+      CMD;\
+      fflush(fdebug);\
+    }\
+  }\
+}
+#   endif
+#  else
+#   define DBGLOG(DBGFILE, CMD) \
+{ if (soap)\
+  { if (!soap->fdebug[SOAP_INDEX_##DBGFILE])\
+      soap_open_logfile((struct soap*)soap, SOAP_INDEX_##DBGFILE);\
+    if (soap->fdebug[SOAP_INDEX_##DBGFILE])\
+    { FILE *fdebug = soap->fdebug[SOAP_INDEX_##DBGFILE];\
+      CMD;\
+      fflush(fdebug);\
+    }\
+  }\
+}
+#  endif
+# endif
+# ifndef DBGMSG
+#  define DBGMSG(DBGFILE, MSG, LEN) \
+{ if (soap)\
+  { if (!soap->fdebug[SOAP_INDEX_##DBGFILE])\
+      soap_open_logfile((struct soap*)soap, SOAP_INDEX_##DBGFILE);\
+    if (soap->fdebug[SOAP_INDEX_##DBGFILE])\
+    { fwrite((MSG), 1, (LEN), soap->fdebug[SOAP_INDEX_##DBGFILE]);\
+      fflush(soap->fdebug[SOAP_INDEX_##DBGFILE]);\
+    }\
+  }\
+}
+# endif
+# ifndef DBGFUN
+#  define DBGFUN(FNAME) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s()\n", __FILE__, __LINE__, FNAME))
+#  define DBGFUN1(FNAME, FMT, ARG) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s(" FMT ")\n", __FILE__, __LINE__, FNAME, (ARG)))
+#  define DBGFUN2(FNAME, FMT1, ARG1, FMT2, ARG2) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s(" FMT1 ", " FMT2 ")\n", __FILE__, __LINE__, FNAME, (ARG1), (ARG2)))
+#  define DBGFUN3(FNAME, FMT1, ARG1, FMT2, ARG2, FMT3, ARG3) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s(" FMT1 ", " FMT2 ", " FMT3 ")\n", __FILE__, __LINE__, FNAME, (ARG1), (ARG2), (ARG3)))
+# endif
+# ifndef DBGHEX
+#  define DBGHEX(DBGFILE, MSG, LEN) \
+{ if (soap)\
+  { if (!soap->fdebug[SOAP_INDEX_##DBGFILE])\
+      soap_open_logfile(soap, SOAP_INDEX_##DBGFILE);\
+    if (soap->fdebug[SOAP_INDEX_##DBGFILE])\
+    { int i; char *s;\
+      for (s = (char*)(MSG), i = (LEN); i; i--)\
+        fprintf(soap->fdebug[SOAP_INDEX_##DBGFILE], "%2.2X  ", (int)*s++&0xFF);\
+      fflush(soap->fdebug[SOAP_INDEX_##DBGFILE]);\
+    }\
+  }\
+}
+# endif
+#else
+# define DBGLOG(DBGFILE, CMD)
+# define DBGMSG(DBGFILE, MSG, LEN)
+# define DBGFUN(FNAME)
+# define DBGFUN1(FNAME, FMT, ARG)
+# define DBGFUN2(FNAME, FMT1, ARG1, FMT2, ARG2)
+# define DBGFUN3(FNAME, FMT1, ARG1, FMT2, ARG2, FMT3, ARG3)
+# define DBGHEX(DBGFILE, MSG, LEN)
+#endif
+
+/* UCS-4 requires 32 bits (0-7FFFFFFF, the sign bit is used by gSOAP to distinguish XML entities) */
+typedef soap_int32 soap_wchar;
+
+/* namespace table row */
+struct Namespace
+{ const char *id;
+  const char *ns;
+  const char *in;
+  char *out;
+};
+
+/* namespace stack */
+struct soap_nlist
+{ struct soap_nlist *next;
+  unsigned int level; /* nesting depth level */
+  short index; /* corresponding entry in ns mapping table */
+  const char *ns; /* only set when parsed ns URI is not in the ns mapping table */
+  char id[1]; /* the actual string value flows into the allocated region below this struct */
+};
+
+/* block stack for nested block allocations */
+struct soap_blist
+{ struct soap_blist *next;
+  char *ptr;
+  size_t size;
+};
+
+/* array layout */
+struct soap_array
+{ void *__ptr;
+  int __size;
+};
+
+/* pointer serialization management */
+struct soap_plist
+{ struct soap_plist *next;
+  const void *ptr;
+  const struct soap_array *array;
+  int type;
+  int id;
+  char mark1; /* 0=single-ref, 1=embedded-multi-ref (SOAP1.1), 2=multi-ref, 3=attachment */
+  char mark2;
+};
+
+/* block allocation for pointer serialization management */
+struct soap_pblk
+{ struct soap_pblk *next;
+  struct soap_plist plist[SOAP_PTRBLK];
+};
+
+#ifdef SOAP_MEM_DEBUG
+/* malloc/free tracking for debugging */
+struct soap_mlist
+{ struct soap_mlist *next;
+  const void *ptr;
+  const char *file;
+  int line;
+  short live;
+};
+#endif
+
+/* class allocation list */
+struct soap_clist
+{ struct soap_clist *next;
+  void *ptr;
+  int type;
+  int size;
+  int (*fdelete)(struct soap_clist*);
+};
+
+/* attributes */
+struct soap_attribute
+{ struct soap_attribute *next;
+  short flag;	/* soap_set_attr: 1 = normal, 2 = utf content */
+  char *value;
+  size_t size;
+  const char *ns;
+  short visible;
+  char name[1]; /* the actual name string flows into the allocated region below this struct */
+};
+
+#ifndef WITH_LEAN
+struct soap_cookie
+{ struct soap_cookie *next;
+  char *name;
+  char *value;
+  char *domain;
+  char *path;
+  time_t expire;	/* client-side: local time to expire */
+  long maxage;		/* server-side: seconds to expire */
+  unsigned int version;
+  short secure;
+  short session;	/* server-side */
+  short env;		/* server-side: got cookie from client and should not be (re)send */
+  short modified;	/* server-side: client cookie was modified and should be send */
+};
+#endif
+
+SOAP_FMAC1 struct soap_multipart* SOAP_FMAC2 soap_next_multipart(struct soap_multipart*);
+
+#ifdef __cplusplus
+
+class soap_multipart_iterator
+{ public:
+  struct soap_multipart *content;
+  bool operator==(const soap_multipart_iterator& iter) const
+    { return (bool)(content == iter.content); }
+  bool operator!=(const soap_multipart_iterator& iter) const
+    { return (bool)(content != iter.content); }
+  struct soap_multipart &operator*() const
+    { return *content; }
+  soap_multipart_iterator &operator++()
+    { content = soap_next_multipart(content); return *this; }
+  soap_multipart_iterator() : content(NULL)
+    { }
+  soap_multipart_iterator(struct soap_multipart *p) : content(p)
+    { }
+};
+#endif
+
+#ifndef WITH_LEANER
+struct soap_dime
+{ size_t count;
+  size_t size;
+  size_t chunksize;
+  size_t buflen;
+  char flags;
+  char *ptr;
+  const char *id;
+  const char *type;
+  const char *options;
+  struct soap_multipart *list;		/* list of DIME attachments received */
+  struct soap_multipart *first, *last;	/* temporary in/out queue */
+#ifdef __cplusplus
+  soap_multipart_iterator begin()
+    { soap_multipart_iterator iter(list); return iter; };
+  soap_multipart_iterator end()
+    { soap_multipart_iterator iter(NULL); return iter; };
+#endif
+};
+#endif
+
+#ifndef WITH_LEANER
+struct soap_mime
+{ char *boundary;			/* MIME boundary */
+  const char *start;			/* MIME start ID */
+  struct soap_multipart *list;		/* list of MIME attachments received */
+  struct soap_multipart *first, *last;	/* temporary in/out queue */
+#ifdef __cplusplus
+  soap_multipart_iterator begin()
+    { soap_multipart_iterator iter(list); return iter; };
+  soap_multipart_iterator end()
+    { soap_multipart_iterator iter(NULL); return iter; };
+#endif
+};
+#endif
+
+#ifndef WITH_LEANER
+/* RFC2045 MIME content transfer encodings */
+enum soap_mime_encoding
+{ SOAP_MIME_NONE,
+  SOAP_MIME_7BIT,
+  SOAP_MIME_8BIT,
+  SOAP_MIME_BINARY,
+  SOAP_MIME_QUOTED_PRINTABLE,
+  SOAP_MIME_BASE64,
+  SOAP_MIME_IETF_TOKEN,
+  SOAP_MIME_X_TOKEN
+};
+#endif
+
+#ifndef WITH_LEANER
+/* DIME/MIME multipart list */
+struct soap_multipart
+{ struct soap_multipart *next;
+  char *ptr;				/* points to raw data content */
+  size_t size;				/* size of data content */
+  const char *id;			/* DIME/MIME content ID or form data name */
+  const char *type;			/* DIME/MIME type (MIME type format) */
+  const char *options;			/* DIME options */
+  enum soap_mime_encoding encoding;	/* MIME Content-Transfer-Encoding */
+  const char *location;			/* MIME Content-Location (optional) */
+  const char *description;		/* MIME Content-Description (optional) */
+#ifdef __cplusplus
+  typedef soap_multipart_iterator iterator;
+#endif
+};
+#endif
+
+#ifndef WITH_LEANER
+/* attachment DIME and MTOM XOP forwarding */
+struct soap_xlist
+{ struct soap_xlist *next;
+  unsigned char **ptr;
+  int *size;
+  char *id;
+  char **type;
+  char **options;
+};
+#endif
+
+/******************************************************************************/
+
+#ifndef WITH_LEANER
+#ifdef __cplusplus
+class soap_dom_attribute_iterator
+{ public:
+  struct soap_dom_attribute *att;
+  const char *nstr;
+  const char *name;
+  bool operator==(const soap_dom_attribute_iterator&) const;
+  bool operator!=(const soap_dom_attribute_iterator&) const;
+  struct soap_dom_attribute &operator*() const;
+  soap_dom_attribute_iterator &operator++();
+  soap_dom_attribute_iterator();
+  soap_dom_attribute_iterator(struct soap_dom_attribute*);
+  ~soap_dom_attribute_iterator();
+};
+#endif
+#endif
+
+#ifndef WITH_LEANER
+struct soap_dom_attribute
+{ struct soap_dom_attribute *next;
+  const char *nstr;
+  char *name;
+  char *data;
+  wchar_t *wide;
+  struct soap *soap;
+#ifdef __cplusplus
+  typedef soap_dom_attribute_iterator iterator;
+  struct soap_dom_attribute &set(const char *nstr, const char *name);	/* set namespace and name */
+  struct soap_dom_attribute &set(const char *data);		/* set data */
+  soap_dom_attribute_iterator begin();
+  soap_dom_attribute_iterator end();
+  soap_dom_attribute_iterator find(const char *nstr, const char *name);
+  void unlink();
+  soap_dom_attribute();
+  soap_dom_attribute(struct soap *soap);
+  soap_dom_attribute(struct soap *soap, const char *nstr, const char *name, const char *data);
+  ~soap_dom_attribute();
+#endif
+};
+#endif
+
+#ifndef WITH_LEANER
+#ifdef __cplusplus
+class soap_dom_element_iterator
+{ public:
+  struct soap_dom_element *elt;
+  const char *nstr;
+  const char *name;
+  int type;
+  bool operator==(const soap_dom_element_iterator&) const;
+  bool operator!=(const soap_dom_element_iterator&) const;
+  struct soap_dom_element &operator*() const;
+  soap_dom_element_iterator &operator++();
+  soap_dom_element_iterator();
+  soap_dom_element_iterator(struct soap_dom_element*);
+  ~soap_dom_element_iterator();
+};
+#endif
+#endif
+
+#ifndef WITH_LEANER
+struct soap_dom_element
+{ struct soap_dom_element *next;	/* next sibling */
+  struct soap_dom_element *prnt;	/* parent */
+  struct soap_dom_element *elts;	/* list of child elements */
+  struct soap_dom_attribute *atts;	/* list of attributes */
+  const char *nstr;			/* namespace string */
+  char *name;				/* element tag name */
+  char *data;				/* element content data (with SOAP_C_UTFSTRING flag set) */
+  wchar_t *wide;			/* element content data */
+  int type;				/* optional: serialized C/C++ data type */
+  void *node;				/* optional: pointer to serialized C/C++ data */
+  char *head;				/* leading content before start tag */
+  char *tail;				/* leading content before end tag */
+  struct soap *soap;			/* soap context that manages this node */
+#ifdef __cplusplus
+  typedef soap_dom_element_iterator iterator;
+  struct soap_dom_element &set(const char *nstr, const char *name);
+  struct soap_dom_element &set(const char *data);
+  struct soap_dom_element &set(void *node, int type);
+  struct soap_dom_element &add(struct soap_dom_element*);
+  struct soap_dom_element &add(struct soap_dom_element&);
+  struct soap_dom_element &add(struct soap_dom_attribute*);
+  struct soap_dom_element &add(struct soap_dom_attribute&);
+  soap_dom_element_iterator begin();
+  soap_dom_element_iterator end();
+  soap_dom_element_iterator find(const char *nstr, const char *name);
+  soap_dom_element_iterator find(int type);
+  void unlink();
+  soap_dom_element();
+  soap_dom_element(struct soap *soap);
+  soap_dom_element(struct soap *soap, const char *nstr, const char *name);
+  soap_dom_element(struct soap *soap, const char *nstr, const char *name, const char *data);
+  soap_dom_element(struct soap *soap, const char *nstr, const char *name, void *node, int type);
+  ~soap_dom_element();
+#endif
+};
+SOAP_FMAC1 struct soap_dom_element * SOAP_FMAC2 soap_dom_next_element(struct soap_dom_element *elt);
+SOAP_FMAC1 struct soap_dom_attribute * SOAP_FMAC2 soap_dom_next_attribute(struct soap_dom_attribute *att);
+#endif
+
+#if defined(__cplusplus) && !defined(WITH_LEAN) && !defined(WITH_COMPAT)
+}
+extern std::ostream &operator<<(std::ostream&, const struct soap_dom_element&);
+extern std::istream &operator>>(std::istream&, struct soap_dom_element&);
+extern "C" {
+#endif
+
+/******************************************************************************/
+
+#ifdef WIN32
+# ifdef SOAP_STD_EXPORTS
+#  define SOAP_STD_API __declspec(dllexport)
+# else
+#  define SOAP_STD_API
+# endif
+#else
+# define SOAP_STD_API
+#endif
+
+struct SOAP_STD_API soap
+{ short state;			/* 0 = uninitialized, 1 = initialized, 2 = copy of another soap struct */
+  short version;		/* 1 = SOAP1.1 and 2 = SOAP1.2 (set automatically from namespace URI in nsmap table), 0 indicates non-SOAP content */
+  soap_mode mode;
+  soap_mode imode;
+  soap_mode omode;
+  const char *float_format;	/* user-definable format string for floats (<1024 chars) */
+  const char *double_format;	/* user-definable format string for doubles (<1024 chars) */
+  const char *dime_id_format;	/* user-definable format string for integer DIME id (<SOAP_TAGLEN chars) */
+  const char *http_version;	/* HTTP version used "1.0" or "1.1" */
+  const char *http_content;	/* optional custom response content type (with SOAP_FILE) */
+  const char *encodingStyle;	/* default = "" which means that SOAP encoding is used */
+  const char *actor;		/* SOAP-ENV:actor or role attribute value */
+  const char *lang;		/* xml:lang attribute value of SOAP-ENV:Text */
+  int recv_timeout;		/* when > 0, gives socket recv timeout in seconds, < 0 in usec */
+  int send_timeout;		/* when > 0, gives socket send timeout in seconds, < 0 in usec */
+  int connect_timeout;		/* when > 0, gives socket connect() timeout in seconds, < 0 in usec */
+  int accept_timeout;		/* when > 0, gives socket accept() timeout in seconds, < 0 in usec */
+  int socket_flags;		/* socket recv() and send() flags, e.g. set to MSG_NOSIGNAL to disable sigpipe */
+  int connect_flags;		/* connect() SOL_SOCKET sockopt flags, e.g. set to SO_DEBUG to debug socket */
+  int bind_flags;		/* bind() SOL_SOCKET sockopt flags, e.g. set to SO_REUSEADDR to enable reuse */
+  int accept_flags;		/* accept() SOL_SOCKET sockopt flags */
+  unsigned short linger_time;	/* linger time for SO_LINGER option */
+  const struct Namespace *namespaces;	/* Pointer to global namespace mapping table */
+  struct Namespace *local_namespaces;	/* Local namespace mapping table */
+  struct soap_nlist *nlist;	/* namespace stack */
+  struct soap_blist *blist;	/* block allocation stack */
+  struct soap_clist *clist;	/* class instance allocation list */
+  void *alist;			/* memory allocation (malloc) list */
+#if !defined(WITH_LEAN) || !defined(WITH_NOIDREF)
+  struct soap_ilist *iht[SOAP_IDHASH];
+  struct soap_plist *pht[SOAP_PTRHASH];
+  struct soap_pblk *pblk;	/* plist block allocation */
+  short pidx;			/* plist block allocation */
+#endif
+  struct SOAP_ENV__Header *header;
+  struct SOAP_ENV__Fault *fault;
+  int idnum;
+  void *user;			/* for user to pass user-defined data */
+  void *data[4];		/* extension data = {smdevp, mecevp, ...} */
+  struct soap_plugin *plugins;	/* linked list of plug-in data */
+  const char *userid;		/* HTTP Basic authorization userid */
+  const char *passwd;		/* HTTP Basic authorization passwd */
+  const char *authrealm;	/* HTTP authentication realm (NTLM domain) */
+#if !defined(WITH_LEAN) || defined(WITH_NTLM)
+  const char *ntlm_challenge;	/* HTTP NTLM challenge key string */
+  short	ntlm_auth;		/* HTTP NTLM authentication type */
+  short	ntlm_stage;		/* HTTP NTLM stage 0..3 */
+#endif
+  int (*fpost)(struct soap*, const char*, const char*, int, const char*, const char*, size_t);
+  int (*fget)(struct soap*);	/* HTTP GET hook (not set by default) */
+  int (*fput)(struct soap*);	/* HTTP PUT hook (handled as POST by default) */
+  int (*fdel)(struct soap*);	/* HTTP DELETE hook (not set by default) */
+  int (*fopt)(struct soap*);	/* HTTP OPTIONS hook (not set by default) */
+  int (*fhead)(struct soap*);	/* HTTP HEAD hook (not set by default) */
+  int (*fform)(struct soap*);	/* HTTP/HTML form handler for plugins */
+  int (*fposthdr)(struct soap*, const char*, const char*);
+  int (*fresponse)(struct soap*, int, size_t);
+  int (*fparse)(struct soap*);
+  int (*fparsehdr)(struct soap*, const char*, const char*);
+  int (*fheader)(struct soap*);
+  int (*fresolve)(struct soap*, const char*, struct in_addr* inaddr);
+  int (*fconnect)(struct soap*, const char*, const char*, int);
+  int (*fdisconnect)(struct soap*);
+  int (*fclosesocket)(struct soap*, SOAP_SOCKET);
+  int (*fshutdownsocket)(struct soap*, SOAP_SOCKET, int);
+  SOAP_SOCKET (*fopen)(struct soap*, const char*, const char*, int);
+  SOAP_SOCKET (*faccept)(struct soap*, SOAP_SOCKET, struct sockaddr*, int *n);
+  int (*fclose)(struct soap*);
+  int (*fsend)(struct soap*, const char*, size_t);
+  size_t (*frecv)(struct soap*, char*, size_t);
+  int (*fpoll)(struct soap*);
+  void (*fseterror)(struct soap*, const char **c, const char **s);
+  int (*fignore)(struct soap*, const char*);
+  int (*fserveloop)(struct soap*);
+  void *(*fplugin)(struct soap*, const char*);
+  void *(*fmalloc)(struct soap*, size_t);
+#ifndef WITH_LEANER
+  int (*feltbegin)(struct soap*, const char*);
+  int (*feltendin)(struct soap*, const char*, const char*);
+  int (*feltbegout)(struct soap*, const char*);
+  int (*feltendout)(struct soap*, const char*);
+  int (*fprepareinitsend)(struct soap*);
+  int (*fprepareinitrecv)(struct soap*);
+  int (*fpreparesend)(struct soap*, const char*, size_t);
+  int (*fpreparerecv)(struct soap*, const char*, size_t);
+  int (*fpreparefinalsend)(struct soap*);
+  int (*fpreparefinalrecv)(struct soap*);
+  int filterstop;
+  int (*ffiltersend)(struct soap*, const char**, size_t*);
+  int (*ffilterrecv)(struct soap*, char*, size_t*, size_t);
+  void *(*fdimereadopen)(struct soap*, void*, const char*, const char*, const char*);
+  void *(*fdimewriteopen)(struct soap*, const char*, const char*, const char*);
+  void (*fdimereadclose)(struct soap*, void*);
+  void (*fdimewriteclose)(struct soap*, void*);
+  size_t (*fdimeread)(struct soap*, void*, char*, size_t);
+  int (*fdimewrite)(struct soap*, void*, const char*, size_t);
+  void *(*fmimereadopen)(struct soap*, void*, const char*, const char*, const char*);
+  void *(*fmimewriteopen)(struct soap*, void*, const char*, const char*, const char*, enum soap_mime_encoding);
+  void (*fmimereadclose)(struct soap*, void*);
+  void (*fmimewriteclose)(struct soap*, void*);
+  size_t (*fmimeread)(struct soap*, void*, char*, size_t);
+  int (*fmimewrite)(struct soap*, void*, const char*, size_t);
+#endif
+  SOAP_SOCKET master;	/* socket bound to TCP/IP port */
+  SOAP_SOCKET socket;	/* socket to send and receive */
+  SOAP_SOCKET sendsk;	/* socket to send (overrides ::socket) */
+  SOAP_SOCKET recvsk;	/* socket to receive (overrides ::socket) */
+#if defined(__cplusplus) && !defined(WITH_LEAN) && !defined(WITH_COMPAT)
+  std::ostream *os;	/* stream to send */
+  std::istream *is;	/* stream to receive */
+#else
+  void *os;		/* preserve struct size */
+  void *is;		/* preserve struct size */
+#endif
+#ifndef UNDER_CE
+  int sendfd;		/* WinCE FD to send */
+  int recvfd;		/* WinCE FD to receive */
+#else
+  FILE *sendfd;		/* FD to send */
+  FILE *recvfd;		/* FD to receive */
+#endif
+  size_t bufidx;	/* index in soap.buf[] */
+  size_t buflen;	/* length of soap.buf[] content */
+  soap_wchar ahead;	/* parser lookahead */
+  short cdata;		/* CDATA parser state */
+  short body;		/* HTTP or XML element has a body (1) or not (0) */
+  unsigned int level;	/* XML nesting level */
+  size_t count;		/* message length counter */
+  size_t length;	/* message length as set by HTTP header */
+  char *labbuf;		/* look-aside buffer */
+  size_t lablen;	/* look-aside buffer allocated length */
+  size_t labidx;	/* look-aside buffer index to available part */
+  char buf[SOAP_BUFLEN];/* send and receive buffer */
+  char msgbuf[1024];	/* in/out buffer for HTTP/MIME headers >=1024 bytes */
+  char tmpbuf[1024];	/* in/out buffer for HTTP/MIME headers, simpleType values, element and attribute tag names, and DIME must be >=1024 bytes */
+  char tag[SOAP_TAGLEN];
+  char id[SOAP_TAGLEN];
+  char href[SOAP_TAGLEN];
+  char type[SOAP_TAGLEN];
+  char arrayType[SOAP_TAGLEN];
+  char arraySize[SOAP_TAGLEN];
+  char arrayOffset[SOAP_TAGLEN];
+  short other;
+  short root;
+  int position;
+  int positions[SOAP_MAXDIMS];
+  struct soap_attribute *attributes;	/* attribute list */
+  short encoding;	/* when set, output encodingStyle */
+  short mustUnderstand;	/* a mustUnderstand element was parsed or is output */
+  short null;		/* parsed XML is xsi:nil */
+  short ns;		/* when not set, output full xmlns bindings */
+  short part;		/* SOAP part state (header or body) */
+  short event;		/* engine events and states for use by plugins */
+  unsigned int evlev;	/* event level */
+  short alloced;
+  short peeked;
+  size_t chunksize;
+  size_t chunkbuflen;
+  char endpoint[SOAP_TAGLEN];
+  char path[SOAP_TAGLEN];
+  char host[SOAP_TAGLEN];
+  char *action;
+  char *prolog;			/* XML declaration prolog */
+  unsigned long ip;		/* IP number */
+  int port;			/* port number */
+  short keep_alive;		/* connection should be kept open */
+  short tcp_keep_alive;		/* enable SO_KEEPALIVE */
+  unsigned int tcp_keep_idle; 	/* set TCP_KEEPIDLE */
+  unsigned int tcp_keep_intvl; 	/* set TCP_KEEPINTVL */
+  unsigned int tcp_keep_cnt; 	/* set TCP_KEEPCNT */
+  unsigned int max_keep_alive;  /* maximum keep-alive session (default=100) */
+  const char *proxy_http_version;/* HTTP version of proxy "1.0" or "1.1" */
+  const char *proxy_host;	/* Proxy Server host name */
+  int proxy_port;		/* Proxy Server port (default = 8080) */
+  const char *proxy_userid;	/* Proxy Authorization user name */
+  const char *proxy_passwd;	/* Proxy Authorization password */
+  const char *proxy_from;	/* X-Forwarding-For header returned by proxy */
+  int status;			/* -1 when request, else error code to be returned by server */
+  int error;
+  int errmode;
+  int errnum;
+#ifndef WITH_LEANER
+  struct soap_dom_element *dom;
+  struct soap_dime dime;
+  struct soap_mime mime;
+  struct soap_xlist *xlist;
+#endif
+#if !defined(WITH_LEAN) || defined(SOAP_DEBUG)
+  const char *logfile[SOAP_MAXLOGS];
+  FILE *fdebug[SOAP_MAXLOGS];
+  struct soap_mlist *mht[SOAP_PTRHASH];
+#endif
+#ifndef WITH_LEAN
+  const char *wsuid;		/* space-separated string of element tags */
+  const char *c14nexclude;	/* space-separated string of prefixes */
+  struct soap_cookie *cookies;
+  const char *cookie_domain;
+  const char *cookie_path;
+  int cookie_max;
+#endif
+#ifndef WITH_NOIO
+  unsigned int ipv6_multicast_if; /* in_addr_t in6addr->sin6_scope_id IPv6 value */
+  char* ipv4_multicast_if; /* IP_MULTICAST_IF IPv4 setsockopt interface_addr */
+  unsigned char ipv4_multicast_ttl; /* IP_MULTICAST_TTL value 0..255 */
+#ifdef WITH_IPV6
+  struct sockaddr_storage peer;	/* IPv6: set by soap_accept and by UDP recv */
+#else
+  struct sockaddr_in peer;	/* IPv4: set by soap_connect/soap_accept and by UDP recv */
+#endif
+#endif
+  size_t peerlen;
+#if defined(WITH_OPENSSL)	/* OpenSSL */
+  int (*fsslauth)(struct soap*);
+  int (*fsslverify)(int, X509_STORE_CTX*);
+  BIO *bio;
+  SSL *ssl;
+  SSL_CTX *ctx;
+  SSL_SESSION *session;
+  const char *dhfile;
+  const char *randfile;
+#elif defined(WITH_GNUTLS)		/* GNUTLS */
+  int (*fsslauth)(struct soap*);
+  void *fsslverify;
+  gnutls_certificate_credentials_t xcred;	/* cert pointer */
+  gnutls_anon_client_credentials_t acred;	/* anon pointer */
+  gnutls_priority_t cache;			/* priority cache pointer */
+  gnutls_session_t session;			/* session pointer */
+  gnutls_dh_params_t dh_params;
+  gnutls_rsa_params_t rsa_params;
+#else				/* No SSL/TLS */
+  void *fsslauth;		/* dummy members, to preserve struct size */
+  void *fsslverify;
+  void *bio;
+  void *ssl;
+  void *ctx;
+  void *session;
+  void *dh_params;
+  void *rsa_params;
+#endif
+  unsigned short ssl_flags;
+  const char *keyfile;
+  const char *keyid;
+  const char *password;
+  const char *cafile;
+  const char *capath;
+  const char *crlfile;
+  char session_host[SOAP_TAGLEN];
+  int session_port;
+#ifdef WITH_C_LOCALE
+# ifdef WIN32
+  _locale_t c_locale;		/* set to C locale by default */
+# else
+  locale_t c_locale;		/* set to C locale by default */
+# endif
+#else
+  void *c_locale;
+#endif
+#ifdef WITH_ZLIB
+  z_stream *d_stream;		/* decompression stream */
+  uLong z_crc;			/* internal gzip crc */
+#else
+  void *d_stream;		/* dummy members, to preserve struct size */
+  soap_int32 z_crc;
+#endif
+  const char *z_dict;		/* support for zlib static dictionaries */
+  unsigned int z_dict_len;
+  short zlib_state;		/* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_INFLATE */
+  short zlib_in;		/* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_GZIP */
+  short zlib_out;		/* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_GZIP */
+  char *z_buf;			/* buffer */
+  size_t z_buflen;
+  unsigned short z_level;	/* compression level to be used (0=none, 1=fast to 9=best) */
+  float z_ratio_in;		/* detected compression ratio compressed_length/length of inbound message */
+  float z_ratio_out;		/* detected compression ratio compressed_length/length of outbound message */
+#ifdef WMW_RPM_IO		/* VxWorks */
+  void *rpmreqid;
+#endif
+#ifdef __cplusplus
+  soap();
+  soap(soap_mode);
+  soap(soap_mode, soap_mode);
+  soap(const struct soap&);
+  virtual ~soap();
+#else
+  void (*dummy)(void);
+#endif
+};
+
+struct soap_code_map
+{ long code;
+  const char *string;
+};
+
+/* forwarding list */
+struct soap_flist
+{ struct soap_flist *next;
+  int type;
+  void *ptr;
+  unsigned int level;
+  size_t len;
+  void (*fcopy)(struct soap*, int, int, void*, size_t, const void*, size_t);
+};
+
+/* id-ref forwarding list */
+struct soap_ilist
+{ struct soap_ilist *next;
+  int type;
+  size_t size;
+  void *link;
+  void *copy;
+  struct soap_flist *flist;
+  void *ptr;
+  unsigned int level;
+  char id[1]; /* the actual id string value flows into the allocated region below this struct */
+};
+
+struct soap_plugin
+{ struct soap_plugin *next;
+  const char *id;
+  void *data;
+  int (*fcopy)(struct soap *soap, struct soap_plugin *dst, struct soap_plugin *src);
+  void (*fdelete)(struct soap *soap, struct soap_plugin *p); /* should delete fields of plugin only and not free(p) */
+};
+
+extern SOAP_NMAC struct Namespace namespaces[];
+
+#ifndef WITH_LEAN
+# define soap_get0(soap) (((soap)->bufidx>=(soap)->buflen && soap_recv(soap)) ? EOF : (unsigned char)(soap)->buf[(soap)->bufidx])
+# define soap_get1(soap) (((soap)->bufidx>=(soap)->buflen && soap_recv(soap)) ? EOF : (unsigned char)(soap)->buf[(soap)->bufidx++])
+#else
+soap_wchar soap_get0(struct soap*);
+soap_wchar soap_get1(struct soap*);
+#endif
+
+#define SOAP_XSTRINGIFY(s) SOAP_STRINGIFY(s)
+#define SOAP_STRINGIFY(s) #s
+
+#define soap_versioning_paste(name, ext) name##_LIBRARY_VERSION_REQUIRED_##ext
+#define soap_versioning_ext(name, ext) soap_versioning_paste(name, ext)
+#define soap_versioning(name) soap_versioning_ext(name, GSOAP_VERSION)
+
+#define soap_init(soap) soap_init1(soap, SOAP_IO_DEFAULT)
+#define soap_init1(soap, mode) soap_init2(soap, mode, mode)
+#define soap_init2(soap, imode, omode) soap_versioning(soap_init)(soap, imode, omode)
+
+#define soap_new() soap_new1(SOAP_IO_DEFAULT)
+#define soap_new1(mode) soap_new2(mode, mode)
+#define soap_new2(imode, omode) soap_versioning(soap_new)(imode, omode)
+
+#define soap_revget1(soap) ((soap)->bufidx--)
+#define soap_unget(soap, c) ((soap)->ahead = c)
+#define soap_register_plugin(soap, plugin) soap_register_plugin_arg(soap, plugin, NULL)
+#define soap_mode(soap, n) ((soap)->mode = (soap)->imode = (soap)->omode = (n))
+#define soap_imode(soap, n) ((soap)->imode = (n))
+#define soap_omode(soap, n) ((soap)->omode = (n))
+#define soap_set_imode(soap, n) ((soap)->imode |= (n))
+#define soap_clr_imode(soap, n) ((soap)->imode &= ~(n))
+#define soap_set_omode(soap, n) ((soap)->omode |= (n))
+#define soap_clr_omode(soap, n) ((soap)->omode &= ~(n))
+#define soap_set_mode(soap, n) ((soap)->imode |= (n), (soap)->omode |= (n))
+#define soap_clr_mode(soap, n) ((soap)->imode &= ~(n), (soap)->omode &= ~(n))
+#define soap_destroy(soap) soap_delete((soap), NULL)
+
+#ifdef HAVE_STRRCHR
+# define soap_strrchr(s, t) strrchr(s, t)
+#else
+ SOAP_FMAC1 char* SOAP_FMAC2 soap_strrchr(const char *s, int t);
+#endif
+
+#ifdef HAVE_STRTOL
+# define soap_strtol(s, t, b) strtol(s, t, b)
+#else
+ SOAP_FMAC1 long SOAP_FMAC2 soap_strtol(const char *s, char **t, int b);
+#endif
+
+#ifdef HAVE_STRTOUL
+# define soap_strtoul(s, t, b) strtoul(s, t, b)
+#else
+ SOAP_FMAC1 unsigned long SOAP_FMAC2 soap_strtoul(const char *s, char **t, int b);
+#endif
+
+#if defined(WIN32) && !defined(__MINGW32__)
+# define soap_strtoll _strtoi64
+#else
+# define soap_strtoll strtoll
+#endif
+
+#if defined(WIN32) && !defined(__MINGW32__)
+# define soap_strtoull _strtoui64
+#else
+# define soap_strtoull strtoull
+#endif
+
+#if defined(WITH_OPENSSL)
+# define soap_random soap_rand()
+SOAP_FMAC1 int SOAP_FMAC2 soap_rand(void);
+#elif defined(HAVE_RANDOM)
+# define soap_random (int)random()
+#else
+# define soap_random rand()
+#endif
+
+#ifdef WITH_NOIDREF
+# define soap_embedded(s, p, t) (0)
+# define soap_id_lookup(s, i, p, t, n, k) (p)
+# define soap_id_forward(s, h, p, len, st, tt, n, k, fc) (p)
+# define soap_reference(s, a, t) (1)
+# define soap_array_reference(s, p, a, n, t) (1)
+# define soap_embed(s, p, a, n, t, pp) (0)
+# define soap_embedded_id(s, i, p, t) (i)
+# define soap_is_embedded(s, p) (0)
+# define soap_is_single(s, p) (1)
+# define soap_lookup_type(s, i) (0)
+# define soap_getindependent(s) (0)
+# define soap_putindependent(s) (0)
+# define soap_markelement(s, p, n) (0)
+#endif
+
+/* soap_traverse() traversal/walker routines take walker function arguments */
+typedef void soap_walker(struct soap*, void*, int, const char*, const char*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve(struct soap *soap);
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_request(struct soap *soap);
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_header(struct soap*);
+SOAP_FMAC3 void SOAP_FMAC4 soap_fault(struct soap*);
+SOAP_FMAC3 const char** SOAP_FMAC4 soap_faultcode(struct soap*);
+SOAP_FMAC3 const char** SOAP_FMAC4 soap_faultsubcode(struct soap*);
+SOAP_FMAC3 const char** SOAP_FMAC4 soap_faultstring(struct soap*);
+SOAP_FMAC3 const char** SOAP_FMAC4 soap_faultdetail(struct soap*);
+SOAP_FMAC3 const char* SOAP_FMAC4 soap_check_faultsubcode(struct soap*);
+SOAP_FMAC3 const char* SOAP_FMAC4 soap_check_faultdetail(struct soap*);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serializefault(struct soap*);
+
+SOAP_FMAC1 void SOAP_FMAC2 soap_serializeheader(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_getheader(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_putheader(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_getfault(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_putfault(struct soap*);
+
+SOAP_FMAC1 void SOAP_FMAC2 soap_ssl_init(void);
+SOAP_FMAC1 int SOAP_FMAC2 soap_poll(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_connect_command(struct soap*, int, const char*, const char*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_connect(struct soap*, const char*, const char*);
+SOAP_FMAC1 SOAP_SOCKET SOAP_FMAC2 soap_bind(struct soap*, const char*, int, int);
+SOAP_FMAC1 SOAP_SOCKET SOAP_FMAC2 soap_accept(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_ssl_accept(struct soap*);
+SOAP_FMAC1 const char * SOAP_FMAC2 soap_ssl_error(struct soap*, int);
+
+#if defined(VXWORKS) && defined(WM_SECURE_KEY_STORAGE)
+SOAP_FMAC1 int SOAP_FMAC2 soap_ssl_server_context(struct soap *soap, unsigned short flags, const char *keyfile, const char *keyid, const char *password, const char *cafile, const char *capath, const char *dhfile, const char *randfile, const char *sid);
+#else
+SOAP_FMAC1 int SOAP_FMAC2 soap_ssl_server_context(struct soap *soap, unsigned short flags, const char *keyfile, const char *password, const char *cafile, const char *capath, const char *dhfile, const char *randfile, const char *sid);
+#endif
+#if defined(VXWORKS) && defined(WM_SECURE_KEY_STORAGE)
+SOAP_FMAC1 int SOAP_FMAC2 soap_ssl_client_context(struct soap *soap, unsigned short flags, const char *keyfile, const char *keyid, const char *password, const char *cafile, const char *capath, const char *randfile);
+#else
+SOAP_FMAC1 int SOAP_FMAC2 soap_ssl_client_context(struct soap *soap, unsigned short flags, const char *keyfile, const char *password, const char *cafile, const char *capath, const char *randfile);
+#endif
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_puthttphdr(struct soap*, int status, size_t count);
+
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_get_header_attribute(struct soap*, const char*, const char*);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_decode_key(char*, size_t, const char*);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_decode_val(char*, size_t, const char*);
+
+SOAP_FMAC1 size_t SOAP_FMAC2 soap_hash(const char*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_set_endpoint(struct soap*, const char*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_flush_raw(struct soap*, const char*, size_t);
+SOAP_FMAC1 int SOAP_FMAC2 soap_flush(struct soap*);
+SOAP_FMAC1 soap_wchar SOAP_FMAC2 soap_get(struct soap*);
+SOAP_FMAC1 soap_wchar SOAP_FMAC2 soap_getchar(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_tag_cmp(const char*, const char*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_set_fault(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_sender_fault(struct soap*, const char*, const char*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_sender_fault_subcode(struct soap*, const char*, const char*, const char*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_receiver_fault(struct soap*, const char*, const char*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_receiver_fault_subcode(struct soap*, const char*, const char*, const char*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_set_sender_error(struct soap*, const char*, const char*, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_set_receiver_error(struct soap*, const char*, const char*, int);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_send_raw(struct soap*, const char*, size_t);
+SOAP_FMAC1 int SOAP_FMAC2 soap_recv_raw(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_recv(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_send(struct soap*, const char*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_send2(struct soap*, const char*, const char*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_send3(struct soap*, const char*, const char*, const char*);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_pututf8(struct soap*, unsigned long);
+SOAP_FMAC1 soap_wchar SOAP_FMAC2 soap_getutf8(struct soap*);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_putbase64(struct soap*, const unsigned char*, int);
+SOAP_FMAC1 unsigned char* SOAP_FMAC2 soap_getbase64(struct soap*, int*, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_puthex(struct soap*, const unsigned char*, int);
+SOAP_FMAC1 unsigned char* SOAP_FMAC2 soap_gethex(struct soap*, int*);
+
+#ifndef WITH_LEANER
+SOAP_FMAC1 int SOAP_FMAC2 soap_xop_forward(struct soap*, unsigned char**, int*, char**, char**, char**);
+SOAP_FMAC1 int SOAP_FMAC2 soap_dime_forward(struct soap*, unsigned char**, int*, char**, char**, char**);
+#endif
+
+#ifndef WITH_NOIDREF
+SOAP_FMAC1 int SOAP_FMAC2 soap_pointer_lookup_id(struct soap*, void *p, int t, struct soap_plist**);
+SOAP_FMAC1 int SOAP_FMAC2 soap_pointer_lookup(struct soap*, const void *p, int t, struct soap_plist**);
+SOAP_FMAC1 int SOAP_FMAC2 soap_pointer_enter(struct soap*, const void *p, const struct soap_array *a, int n, int t, struct soap_plist**);
+SOAP_FMAC1 int SOAP_FMAC2 soap_array_pointer_lookup(struct soap*, const void *p, const struct soap_array *a, int n, int t, struct soap_plist**);
+SOAP_FMAC1 int SOAP_FMAC2 soap_embed(struct soap *soap, const void *p, const struct soap_array *a, int n, const char *tag, int type);
+SOAP_FMAC1 struct soap_ilist* SOAP_FMAC2 soap_lookup(struct soap*, const char*);
+SOAP_FMAC1 struct soap_ilist* SOAP_FMAC2 soap_enter(struct soap*, const char*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_resolve(struct soap*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_embedded(struct soap*, const void *p, int t);
+SOAP_FMAC1 int SOAP_FMAC2 soap_reference(struct soap*, const void *p, int t);
+SOAP_FMAC1 int SOAP_FMAC2 soap_array_reference(struct soap*, const void *p, const struct soap_array *a, int n, int t);
+SOAP_FMAC1 int SOAP_FMAC2 soap_embedded_id(struct soap*, int id, const void *p, int t);
+SOAP_FMAC1 int SOAP_FMAC2 soap_is_embedded(struct soap*, struct soap_plist*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_is_single(struct soap*, struct soap_plist*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_set_embedded(struct soap*, struct soap_plist*);
+#endif
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_begin_count(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_end_count(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_begin_send(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_end_send(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_end_send_flush(struct soap*);
+
+SOAP_FMAC1 const struct soap_code_map* SOAP_FMAC2 soap_code(const struct soap_code_map*, const char*);
+SOAP_FMAC1 long SOAP_FMAC2 soap_code_int(const struct soap_code_map*, const char*, long);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_code_str(const struct soap_code_map*, long);
+SOAP_FMAC1 long SOAP_FMAC2 soap_code_bits(const struct soap_code_map*, const char*);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_code_list(struct soap*, const struct soap_code_map*, long);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_getline(struct soap*, char*, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_begin_serve(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_begin_recv(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_end_recv(struct soap*);
+
+SOAP_FMAC1 void* SOAP_FMAC2 soap_malloc(struct soap*, size_t);
+SOAP_FMAC1 void SOAP_FMAC2 soap_dealloc(struct soap*, void*);
+SOAP_FMAC1 struct soap_clist * SOAP_FMAC2 soap_link(struct soap*, void*, int, int, int (*fdelete)(struct soap_clist*));
+SOAP_FMAC1 int SOAP_FMAC2 soap_unlink(struct soap*, const void*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_free_temp(struct soap*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_del(struct soap*);
+
+SOAP_FMAC1 void* SOAP_FMAC2 soap_track_malloc(struct soap*, const char*, int, size_t);
+SOAP_FMAC1 void SOAP_FMAC2 soap_track_free(struct soap*, const char*, int, void*);
+
+#ifndef WITH_NOIDREF
+SOAP_FMAC1 int SOAP_FMAC2 soap_lookup_type(struct soap*, const char *id);
+SOAP_FMAC1 void* SOAP_FMAC2 soap_id_lookup(struct soap*, const char *id, void **p, int t, size_t n, unsigned int k);
+SOAP_FMAC1 void* SOAP_FMAC2 soap_id_forward(struct soap*, const char *id, void *p, size_t len, int st, int tt, size_t n, unsigned int k, void(*fcopy)(struct soap*, int, int, void*, size_t, const void*, size_t));
+#endif
+SOAP_FMAC1 void* SOAP_FMAC2 soap_id_enter(struct soap*, const char *id, void *p, int t, size_t n, unsigned int k, const char *type, const char *arrayType, void *(*finstantiate)(struct soap*, int, const char*, const char*, size_t*));
+SOAP_FMAC1 void SOAP_FMAC2 soap_fcopy(struct soap *soap, int st, int tt, void *p, size_t, const void *q, size_t n);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_size(const int *, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_getoffsets(const char *, const int *, int *, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_getsize(const char *, const char *, int *);
+SOAP_FMAC1 int SOAP_FMAC2 soap_getsizes(const char *, int *, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_getposition(const char *, int *);
+
+SOAP_FMAC1 char* SOAP_FMAC2 soap_putsize(struct soap*, const char *, int);
+SOAP_FMAC1 char* SOAP_FMAC2 soap_putsizesoffsets(struct soap*, const char *, const int *, const int *, int);
+SOAP_FMAC1 char* SOAP_FMAC2 soap_putsizes(struct soap*, const char *, const int *, int);
+SOAP_FMAC1 char* SOAP_FMAC2 soap_putoffset(struct soap*, int);
+SOAP_FMAC1 char* SOAP_FMAC2 soap_putoffsets(struct soap*, const int *, int);
+ 
+SOAP_FMAC1 int SOAP_FMAC2 soap_closesock(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_force_closesock(struct soap*);
+
+SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_versioning(soap_new)(soap_mode, soap_mode);
+SOAP_FMAC1 void SOAP_FMAC2 soap_free(struct soap*);
+SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_copy(const struct soap*);
+SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_copy_context(struct soap*, const struct soap*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_copy_stream(struct soap*, struct soap*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_free_stream(struct soap*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_versioning(soap_init)(struct soap*, soap_mode, soap_mode);
+SOAP_FMAC1 void SOAP_FMAC2 soap_initialize(struct soap*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_done(struct soap*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_cleanup(struct soap*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_begin(struct soap*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_end(struct soap*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_delete(struct soap*, void*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_delegate_deletion(struct soap*, struct soap*);
+
+/* API functions available with DEBUG or SOAP_DEBUG defined: */
+SOAP_FMAC1 void SOAP_FMAC2 soap_set_recv_logfile(struct soap*, const char*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_set_sent_logfile(struct soap*, const char*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_set_test_logfile(struct soap*, const char*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_close_logfiles(struct soap*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_open_logfile(struct soap*, int);
+/* */
+
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_value(struct soap*);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_match_tag(struct soap*, const char*, const char *);
+SOAP_FMAC1 int SOAP_FMAC2 soap_match_array(struct soap*, const char*);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_element(struct soap*, const char*, int, const char*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_element_begin_out(struct soap*, const char *tag, int id, const char *type);
+SOAP_FMAC1 int SOAP_FMAC2 soap_array_begin_out(struct soap*, const char *tag, int id, const char *type, const char *offset);
+SOAP_FMAC1 int SOAP_FMAC2 soap_element_ref(struct soap*, const char *tag, int id, int href);
+SOAP_FMAC1 int SOAP_FMAC2 soap_element_href(struct soap*, const char *tag, int id, const char *ref, const char *val);
+SOAP_FMAC1 int SOAP_FMAC2 soap_element_null(struct soap*, const char *tag, int id, const char *type);
+SOAP_FMAC1 int SOAP_FMAC2 soap_element_nil(struct soap*, const char *tag);
+SOAP_FMAC1 int SOAP_FMAC2 soap_element_id(struct soap*, const char *tag, int id, const void *p, const struct soap_array *a, int d, const char *type, int n);
+SOAP_FMAC1 int SOAP_FMAC2 soap_element_result(struct soap*, const char *tag);
+SOAP_FMAC1 void SOAP_FMAC2 soap_check_result(struct soap*, const char *tag);
+SOAP_FMAC1 int SOAP_FMAC2 soap_element_end_out(struct soap*, const char *tag);
+SOAP_FMAC1 int SOAP_FMAC2 soap_element_start_end_out(struct soap*, const char *tag);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_attribute(struct soap*, const char*, const char*);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_element_begin_in(struct soap*, const char *tag, int nillable, const char *type);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_element_end_in(struct soap*, const char *tag);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_peek_element(struct soap*);
+
+SOAP_FMAC1 void SOAP_FMAC2 soap_retry(struct soap*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_revert(struct soap*);
+
+SOAP_FMAC1 char* SOAP_FMAC2 soap_strdup(struct soap*, const char*);
+SOAP_FMAC1 wchar_t* SOAP_FMAC2 soap_wstrdup(struct soap*, const wchar_t*);
+SOAP_FMAC1 const char * SOAP_FMAC2 soap_tagsearch(const char *big, const char *little);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_string_out(struct soap*, const char *s, int flag);
+SOAP_FMAC1 char* SOAP_FMAC2 soap_string_in(struct soap*, int, long, long);
+
+#ifndef WITH_LEANER
+SOAP_FMAC1 int SOAP_FMAC2 soap_wstring_out(struct soap*, const wchar_t *s, int flag);
+SOAP_FMAC1 wchar_t* SOAP_FMAC2 soap_wstring_in(struct soap*, int, long, long);
+#endif
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_match_namespace(struct soap*, const char *, const char*, size_t n1, size_t n2);
+
+SOAP_FMAC1 void SOAP_FMAC2 soap_set_version(struct soap*, short);
+SOAP_FMAC1 int SOAP_FMAC2 soap_set_namespaces(struct soap*, const struct Namespace*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_set_local_namespaces(struct soap*);
+
+SOAP_FMAC1 void SOAP_FMAC2 soap_pop_namespace(struct soap*);
+SOAP_FMAC1 struct soap_nlist* SOAP_FMAC2 soap_push_namespace(struct soap*, const char *,const char *);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_current_namespace(struct soap *soap, const char *tag);
+
+SOAP_FMAC1 struct soap_nlist* SOAP_FMAC2 soap_lookup_ns(struct soap *soap, const char *tag, size_t n);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_store_lab(struct soap*, const char*, size_t);
+SOAP_FMAC1 int SOAP_FMAC2 soap_append_lab(struct soap*, const char*, size_t);
+
+SOAP_FMAC1 struct soap_blist* SOAP_FMAC2 soap_new_block(struct soap*);
+SOAP_FMAC1 void* SOAP_FMAC2 soap_push_block(struct soap*, struct soap_blist*, size_t);
+SOAP_FMAC1 void SOAP_FMAC2 soap_pop_block(struct soap*, struct soap_blist*);
+SOAP_FMAC1 size_t SOAP_FMAC2 soap_size_block(struct soap*, struct soap_blist*, size_t);
+SOAP_FMAC1 char* SOAP_FMAC2 soap_first_block(struct soap*, struct soap_blist*);
+SOAP_FMAC1 char* SOAP_FMAC2 soap_next_block(struct soap*, struct soap_blist*);
+SOAP_FMAC1 size_t SOAP_FMAC2 soap_block_size(struct soap*, struct soap_blist*);
+SOAP_FMAC1 char* SOAP_FMAC2 soap_save_block(struct soap*, struct soap_blist*, char*, int);
+SOAP_FMAC1 void SOAP_FMAC2 soap_end_block(struct soap*, struct soap_blist*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_update_pointers(struct soap *soap, char *start, char *end, char *p1, char *p2);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_envelope_begin_out(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_envelope_end_out(struct soap*);
+
+SOAP_FMAC1 char * SOAP_FMAC2 soap_get_http_body(struct soap*, size_t *len);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_envelope_begin_in(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_envelope_end_in(struct soap*);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_body_begin_out(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_body_end_out(struct soap*);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_body_begin_in(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_body_end_in(struct soap*);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_recv_header(struct soap*);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_response(struct soap*, int);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_send_empty_response(struct soap*, int status);
+SOAP_FMAC1 int SOAP_FMAC2 soap_recv_empty_response(struct soap*);
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_send_fault(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_recv_fault(struct soap*, int check);
+
+#ifndef WITH_NOSTDLIB
+SOAP_FMAC1 void SOAP_FMAC2 soap_print_fault(struct soap*, FILE*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_print_fault_location(struct soap*, FILE*);
+# ifndef WITH_LEAN
+#  ifndef WITH_COMPAT
+#   ifdef __cplusplus
+SOAP_FMAC1 void SOAP_FMAC2 soap_stream_fault(struct soap*, std::ostream&);
+#   endif
+#  endif
+SOAP_FMAC1 char* SOAP_FMAC2 soap_sprint_fault(struct soap*, char*, size_t);
+# endif
+#endif
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_s2byte(struct soap*, const char*, char*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_s2short(struct soap*, const char*, short*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_s2int(struct soap*, const char*, int*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_s2long(struct soap*, const char*, long*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_s2LONG64(struct soap*, const char*, LONG64*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_s2float(struct soap*, const char*, float*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_s2double(struct soap*, const char*, double*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_s2unsignedByte(struct soap*, const char*, unsigned char*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_s2unsignedShort(struct soap*, const char*, unsigned short*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_s2unsignedInt(struct soap*, const char*, unsigned int*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_s2unsignedLong(struct soap*, const char*, unsigned long*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_s2ULONG64(struct soap*, const char*, ULONG64*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_s2string(struct soap*, const char*, char**, long minlen, long maxlen);
+SOAP_FMAC1 int SOAP_FMAC2 soap_s2QName(struct soap*, const char*, char**, long minlen, long maxlen);
+
+#ifndef WITH_LEAN
+SOAP_FMAC1 int SOAP_FMAC2 soap_s2wchar(struct soap*, const char*, wchar_t**, long minlen, long maxlen);
+SOAP_FMAC1 int SOAP_FMAC2 soap_s2dateTime(struct soap*, const char*, time_t*);
+SOAP_FMAC1 char* SOAP_FMAC2 soap_s2base64(struct soap*, const unsigned char*, char*, int);
+SOAP_FMAC1 char* SOAP_FMAC2 soap_s2hex(struct soap*, const unsigned char*, char*, int);
+#endif
+
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_byte2s(struct soap*, char);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_short2s(struct soap*, short);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_int2s(struct soap*, int);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_long2s(struct soap*, long);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_LONG642s(struct soap*, LONG64);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_float2s(struct soap*, float);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_double2s(struct soap*, double);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_unsignedByte2s(struct soap*, unsigned char);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_unsignedShort2s(struct soap*, unsigned short);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_unsignedInt2s(struct soap*, unsigned int);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_unsignedLong2s(struct soap*, unsigned long);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_ULONG642s(struct soap*, ULONG64);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_QName2s(struct soap*, const char*);
+
+#ifndef WITH_LEAN
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_wchar2s(struct soap*, const wchar_t*);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_dateTime2s(struct soap*, time_t);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_base642s(struct soap*, const char*, char*, size_t, int*);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_hex2s(struct soap*, const char*, char*, size_t, int*);
+#endif
+
+
+SOAP_FMAC1 int* SOAP_FMAC2 soap_inint(struct soap*, const char *tag, int *p, const char *, int);
+SOAP_FMAC1 char* SOAP_FMAC2 soap_inbyte(struct soap*, const char *tag, char *p, const char *, int);
+SOAP_FMAC1 long* SOAP_FMAC2 soap_inlong(struct soap*, const char *tag, long *p, const char *, int);
+SOAP_FMAC1 LONG64* SOAP_FMAC2 soap_inLONG64(struct soap*, const char *tag, LONG64 *p, const char *, int);
+SOAP_FMAC1 short* SOAP_FMAC2 soap_inshort(struct soap*, const char *tag, short *p, const char *, int);
+SOAP_FMAC1 float* SOAP_FMAC2 soap_infloat(struct soap*, const char *tag, float *p, const char *, int);
+SOAP_FMAC1 double* SOAP_FMAC2 soap_indouble(struct soap*, const char *tag, double *p, const char *, int);
+SOAP_FMAC1 unsigned char* SOAP_FMAC2 soap_inunsignedByte(struct soap*, const char *tag, unsigned char *p, const char *, int);
+SOAP_FMAC1 unsigned short* SOAP_FMAC2 soap_inunsignedShort(struct soap*, const char *tag, unsigned short *p, const char *, int);
+SOAP_FMAC1 unsigned int* SOAP_FMAC2 soap_inunsignedInt(struct soap*, const char *tag, unsigned int *p, const char *, int);
+SOAP_FMAC1 unsigned long* SOAP_FMAC2 soap_inunsignedLong(struct soap*, const char *tag, unsigned long *p, const char *, int);
+SOAP_FMAC1 ULONG64* SOAP_FMAC2 soap_inULONG64(struct soap*, const char *tag, ULONG64 *p, const char *, int);
+SOAP_FMAC1 char** SOAP_FMAC2 soap_instring(struct soap*, const char *tag, char **p, const char *, int, int, long, long);
+SOAP_FMAC1 char** SOAP_FMAC2 soap_inliteral(struct soap*, const char *tag, char **p);
+
+#ifndef WITH_LEAN
+SOAP_FMAC1 time_t* SOAP_FMAC2 soap_indateTime(struct soap*, const char *tag, time_t *p, const char *, int);
+SOAP_FMAC1 time_t SOAP_FMAC2 soap_timegm(struct tm*);
+#endif
+
+#ifndef WITH_LEANER
+SOAP_FMAC1 wchar_t** SOAP_FMAC2 soap_inwstring(struct soap*, const char *tag, wchar_t **p, const char *, int, long, long);
+SOAP_FMAC1 wchar_t** SOAP_FMAC2 soap_inwliteral(struct soap*, const char *tag, wchar_t **p);
+#endif
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_outbyte(struct soap*, const char *tag, int id, const char *p, const char *, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_outshort(struct soap*, const char *tag, int id, const short *p, const char *, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_outint(struct soap*, const char *tag, int id, const int *p, const char *, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_outlong(struct soap*, const char *tag, int id, const long *p, const char *, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_outLONG64(struct soap*, const char *tag, int id, const LONG64 *p, const char *, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_outfloat(struct soap*, const char *tag, int id, const float *p, const char *, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_outdouble(struct soap*, const char *tag, int id, const double *p, const char *, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_outunsignedByte(struct soap*, const char *tag, int id, const unsigned char *p, const char *, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_outunsignedShort(struct soap*, const char *tag, int id, const unsigned short *p, const char *, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_outunsignedInt(struct soap*, const char *tag, int id, const unsigned int *p, const char *, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_outunsignedLong(struct soap*, const char *tag, int id, const unsigned long *p, const char *, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_outULONG64(struct soap*, const char *tag, int id, const ULONG64 *p, const char *, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_outstring(struct soap*, const char *tag, int id, char *const*p, const char *, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_outliteral(struct soap*, const char *tag, char *const*p, const char *type);
+
+#ifndef WITH_LEAN
+SOAP_FMAC1 int SOAP_FMAC2 soap_outdateTime(struct soap*, const char *tag, int id, const time_t *p, const char *, int);
+#endif
+
+#ifndef WITH_LEANER
+SOAP_FMAC1 int SOAP_FMAC2 soap_outwstring(struct soap*, const char *tag, int id, wchar_t *const*p, const char *, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_outwliteral(struct soap*, const char *tag, wchar_t *const*p, const char *type);
+#endif
+
+#ifndef WITH_LEANER
+SOAP_FMAC1 int SOAP_FMAC2 soap_attachment(struct soap *, const char*, int, const void*, const struct soap_array*, const char*, const char*, const char*, int, const char*, int);
+SOAP_FMAC1 int SOAP_FMAC2 soap_move(struct soap*, size_t);
+SOAP_FMAC1 size_t SOAP_FMAC2 soap_tell(struct soap*);
+SOAP_FMAC1 char* SOAP_FMAC2 soap_dime_option(struct soap*, unsigned short, const char*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_getdimehdr(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_getdime(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_putdimehdr(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_putdime(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_getmimehdr(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_getmime(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_putmimehdr(struct soap*, struct soap_multipart*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_putmime(struct soap*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_set_dime(struct soap*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_set_mime(struct soap*, const char *boundary, const char *start);
+SOAP_FMAC1 void SOAP_FMAC2 soap_clr_dime(struct soap*);
+SOAP_FMAC1 void SOAP_FMAC2 soap_clr_mime(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_set_dime_attachment(struct soap*, char *ptr, size_t size, const char *type, const char *id, unsigned short optype, const char *option);
+SOAP_FMAC1 int SOAP_FMAC2 soap_set_mime_attachment(struct soap*, char *ptr, size_t size, enum soap_mime_encoding encoding, const char *type, const char *id, const char *location, const char *description);
+SOAP_FMAC1 void SOAP_FMAC2 soap_post_check_mime_attachments(struct soap *soap);
+SOAP_FMAC1 int SOAP_FMAC2 soap_check_mime_attachments(struct soap *soap);
+SOAP_FMAC1 struct soap_multipart* SOAP_FMAC2 soap_get_mime_attachment(struct soap *soap, void *handle);
+SOAP_FMAC1 int SOAP_FMAC2 soap_match_cid(struct soap*, const char*, const char*);
+#endif
+
+SOAP_FMAC1 int SOAP_FMAC2 soap_register_plugin_arg(struct soap*, int (*fcreate)(struct soap*, struct soap_plugin*, void*), void*);
+SOAP_FMAC1 void* SOAP_FMAC2 soap_lookup_plugin(struct soap*, const char*);
+
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_attr_value(struct soap *soap, const char *name, int flag);
+SOAP_FMAC1 int SOAP_FMAC2 soap_set_attr(struct soap *soap, const char *name, const char *value, int flag);
+SOAP_FMAC1 void SOAP_FMAC2 soap_clr_attr(struct soap *soap);
+
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_url(struct soap *soap, const char*, const char*);
+SOAP_FMAC1 size_t SOAP_FMAC2 soap_encode_url(const char*, char*, size_t);
+SOAP_FMAC1 const char* SOAP_FMAC2 soap_encode_url_string(struct soap*, const char*);
+#ifdef WITH_COOKIES
+SOAP_FMAC1 void SOAP_FMAC2 soap_getcookies(struct soap *soap, const char *val);
+SOAP_FMAC1 extern struct soap_cookie* SOAP_FMAC2 soap_set_cookie(struct soap*, const char*, const char*, const char*, const char*);
+SOAP_FMAC1 extern struct soap_cookie* SOAP_FMAC2 soap_cookie(struct soap*, const char*, const char*, const char*);
+SOAP_FMAC1 extern char* SOAP_FMAC2 soap_cookie_value(struct soap*, const char*, const char*, const char*);
+SOAP_FMAC1 extern char* SOAP_FMAC2 soap_env_cookie_value(struct soap*, const char*, const char*, const char*);
+SOAP_FMAC1 extern time_t SOAP_FMAC2 soap_cookie_expire(struct soap*, const char*, const char*, const char*);
+SOAP_FMAC1 extern int SOAP_FMAC2 soap_set_cookie_expire(struct soap*, const char*, long, const char*, const char*);
+SOAP_FMAC1 extern int SOAP_FMAC2 soap_set_cookie_session(struct soap*, const char*, const char*, const char*);
+SOAP_FMAC1 extern int SOAP_FMAC2 soap_clr_cookie_session(struct soap*, const char*, const char*, const char*);
+SOAP_FMAC1 extern void SOAP_FMAC2 soap_clr_cookie(struct soap*, const char*, const char*, const char*);
+SOAP_FMAC1 extern int SOAP_FMAC2 soap_getenv_cookies(struct soap*);
+SOAP_FMAC1 extern struct soap_cookie* SOAP_FMAC2 soap_copy_cookies(struct soap*, const struct soap*);
+SOAP_FMAC1 extern void SOAP_FMAC2 soap_free_cookies(struct soap*);
+SOAP_FMAC1 int SOAP_FMAC2 soap_putsetcookies(struct soap *soap);
+SOAP_FMAC1 int SOAP_FMAC2 soap_putcookies(struct soap *soap, const char *domain, const char *path, int secure);
+#endif
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* STDSOAP_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/typemap.dat	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,393 @@
+#	typemap.dat
+#
+#	Use this file to define namespace prefix and type bindings for
+#	the generated header files by the 'wsdl2h' tool.  typemap.dat is the
+#	default file processed by 'wsdl2h' to customize its output. You can use
+#	wsdl2h option -t to specify an alternate file.
+#
+#	XML namespace prefix bindings can be provided to override the default
+#	choice of the ns1, ns2, ... prefixes generated by wsdl2h.  It is highly
+#	recommended to provide namespace prefixes for your project's XML
+#	namespaces. In this way, changes to the WSDL (or newer releases of
+#	wsdl2h) will have a minimal impact on coding.
+#	Bindings for namespace prefixes are of the form:
+#		prefix = "URI"
+#
+#	Type bindings can be provided to bind XML schema types to C/C++
+#	types for your project.
+#	Type bindings are of the form:
+#		prefix__type = declaration | use | ptr-use
+#	where 'prefix__type' is the C/C++-translation of the schema type,
+#	'declaration' introduces the type in the header file, the optional
+#	'use' specifies how the type is used directly, and the optional
+#	'ptr-use' specifies how the type is used as a pointer type.
+#	For example:
+#		xsd__string = | char* | char*
+#	or using wide strings:
+#		xsd__string = | wchar_t* | wchar_t*
+#	or using C++ strings, which need a pointer (added by default):
+#		xsd__string = | std::string
+#	or using C++ wstrings:
+#		xsd__string = | std::wstring
+#	After enabling this line, all XSD strings will be mapped to char* or
+#	std::wstring, respectively to support Unicode. Note that the
+#	'declaration' part is empty in this case.
+#
+#	When a type binding requires only the usage to be changed, the
+#	declaration part can be replaced by elipsis ..., as in:
+#		prefix__type = ... | use | ptr-use
+#	This ensure that the wsdl2h-generated type definition is preserved,
+#	while the use and ptr-use are remapped.
+#	For example, this is useful to map schema polymorphic types to C types,
+#	where we need to be able to both handle a base type and its extensions
+#	as per schema extensibility. Say base type ns:base allows derived
+#	extensions and we need to map this to C types as follows:
+#		ns__base = ... | int __type_base; void*
+#	where __type_base and void* are used to (de)serialize any data type,
+#	including base and its derived types.
+#
+#	Additional data and function members can be provided to extend a
+#	generated struct or class.
+#	Class and struct extensions are of the form:
+#		prefix__type = $ member-declaration
+#	For example, to add a constructor and destructor to class myns__record:
+#		myns__record = $ myns__record();
+#		myns__record = $ ~myns__record();
+#	
+#	Type remappings can be given to map a type to another type:
+#		prefix__type1 == prefix__type2
+#	which replaces 'prefix__type1' by 'prefix__type2' in the wsdl2h output.
+#	For example:
+#		SOAP_ENC__boolean == xsd__boolean
+#
+#	Any other material to be included in the generated header file can be
+#	provided by enclosing the text within brackets [ and ]. Brackets MUST
+#	appear at the start of a new line.
+#	For example, to include a note:
+#[
+#// TODO: Don't forget to bind the namespace prefixes!
+#]
+#	This comment appears as the first line in the generated header file.
+#
+#-------------------------------------------------------------------------------
+#gSOAP XML Web services tools
+#Copyright (C) 2000-2012, Robert van Engelen, Genivia Inc. All Rights Reserved.
+#This software is released under one of the following two licenses:
+#GPL or Genivia's license for commercial use.
+#-------------------------------------------------------------------------------
+#GPL license.
+#
+#This program is free software; you can redistribute it and/or modify it under
+#the terms of the GNU General Public License as published by the Free Software
+#Foundation; either version 2 of the License, or (at your option) any later
+#version.
+#
+#This program is distributed in the hope that it will be useful, but WITHOUT ANY
+#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+#PARTICULAR PURPOSE. See the GNU General Public License for more details.
+#
+#You should have received a copy of the GNU General Public License along with
+#this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+#Place, Suite 330, Boston, MA 02111-1307 USA
+#
+#Author contact information:
+#engelen@genivia.com / engelen@acm.org
+#-------------------------------------------------------------------------------
+#A commercial use license is available from Genivia, Inc., contact@genivia.com
+#-------------------------------------------------------------------------------
+
+[
+// Reminder: Modify typemap.dat to customize the header file generated by wsdl2h
+]
+
+#	Remember: type bindings are given on a single line (use \ to continue
+#	with the next line). Here is an example binding for the XSD int type
+#	that maps to an 'int':
+# xsd__int	= | int
+
+#	To use regular char* strings instead of std::string, use:
+# xsd__string	= | char* | char*
+
+#	For char* serialized with xsi:type when using soapcpp2 option -t, use:
+# xsd__string	= typedef char *xsd__string; | xsd__string | xsd__string
+
+#	More examples:
+# xsd__boolean	= enum xsd__boolean { false_, true_ }; | enum xsd__boolean
+
+#	Uncomment the line below to use struct tm instead of time_t xsd:dateTime
+#	Must compile and link custom/struct_tm.c with the project
+# xsd__dateTime = #import "custom/struct_tm.h" | xsd__dateTime
+
+#	Uncomment the line below to use timeval with usec precision xsd:dateTime
+#	Must compile and link custom/struct_timeval.c with the project
+# xsd__dateTime = #import "custom/struct_timeval.h" | xsd__dateTime
+
+#	When compiling WITH_LEAN there is no hexBinary serializer. You can
+#	remap the hexBinary type to a string as follows:
+# xsd__hexBinary = | char*
+
+#	Uncomment the line below to use LONG64 int for xsd:duration
+#	(with high ms precision)
+#	Must compile and link custom/duration.c with the project
+xsd__duration = #import "custom/duration.h" | xsd__duration
+
+#	SOAP-ENV mapping (note: SOAP Body content is mapped to an XML string)
+
+SOAP_ENV__Envelope	= struct SOAP_ENV__Envelope { struct SOAP_ENV__Header *SOAP_ENV__Header; _XML SOAP_ENV__Body; }; | struct SOAP_ENV__Envelope
+SOAP_ENV__Header	= | struct SOAP_ENV__Header
+SOAP_ENV__Fault		= | struct SOAP_ENV__Fault
+SOAP_ENV__Detail	= | struct SOAP_ENV__Detail
+SOAP_ENV__Code		= | struct SOAP_ENV__Code
+SOAP_ENV__Subcode	= | struct SOAP_ENV__Subcode
+SOAP_ENV__Reason	= | struct SOAP_ENV__Reason
+
+#	Temporary URI
+
+tempuri	= "http://tempuri.org/"
+
+#	Empty URI
+
+empty	= ""
+
+#	.NET WCF DataContract Serialization Schema
+
+ser	= <http://schemas.microsoft.com/2003/10/Serialization/>
+arr	= "http://schemas.microsoft.com/2003/10/Serialization/Arrays"
+
+#	.NET WCF DataContract Serialization Schema remappings
+
+_ser__anyURI		== xsd__anyURI
+_ser__boolean		== xsd__boolean
+_ser__base64Binary	== xsd__base64Binary
+_ser__byte		== xsd__byte
+_ser__dateTime		== xsd__dateTime
+_ser__decimal		== xsd__decimal
+_ser__double		== xsd__double
+_ser__float		== xsd__float
+_ser__int		== xsd__int
+_ser__long		== xsd__long
+_ser__QName		== xsd__QName
+_ser__short		== xsd__short
+_ser__string		== xsd__string
+_ser__unsignedByte	== xsd__unsignedByte
+_ser__unsignedInt	== xsd__unsignedInt
+_ser__unsignedLong	== xsd__unsignedLong
+_ser__unsignedShort	== xsd__unsignedShort
+
+#	.NET WCF ser:anyType represents an object (see import/ser.h):
+
+_ser__anyType	= | struct __ser__anyType | struct __ser__anyType
+
+#	.NET WCF ser:char element and type represents a Unicode character
+
+_ser__char	= | int
+ser__char	= | int
+
+#	.NET WCF ser:duration element and type maps to xsd:duration
+
+_ser__duration	== xsd__duration
+ser__duration	== xsd__duration
+
+#	.NET WCF ser:guid pattern = "[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}"
+
+_ser__guid	= | char*
+ser__guid	= | char*
+
+#	.NET WCF samples
+
+mssamh	= "http://Microsoft.Samples.Http"
+mssamhi	= "http://Microsoft.Samples.Http/Imports"
+
+mssamt	= "http://Microsoft.Samples.TransportSecurity"
+mssamti	= "http://Microsoft.Samples.TransportSecurity/Imports"
+
+mssamm	= "http://Microsoft.Samples.MessageSecurity"
+mssammi	= "http://Microsoft.Samples.MessageSecurity/Imports"
+
+mssadh  = "http://Microsoft.Samples.DualHttp"
+mssadhi = "http://Microsoft.Samples.DualHttp/Imports"
+
+#	MTOM xop and xmime are imported from xop.h, xmime.h, and xmlmime.h:
+#	Note: changed xmlmime to xmime to avoid other MTOM tools from
+#	complaining that 'xml' is reserved.
+
+xop	= <http://www.w3.org/2004/08/xop/include>
+xmime	= <http://www.w3.org/2004/06/xmlmime>
+xmime4	= <http://www.w3.org/2004/11/xmlmime>
+xmime5  = <http://www.w3.org/2005/05/xmlmime>
+
+#	xop:Include is imported from xop.h and redefined as _xop__Include:
+
+xop__Include = #import "xop.h" | _xop__Include
+
+#	xmime/xmlmime:contentType attribute is a string:
+
+_xmime__contentType	= | char* | char*
+_xmime4__contentType	= | char* | char*
+_xmime5__contentType	= | char* | char*
+
+#	exc-c14n
+
+c14n	= <http://www.w3.org/2001/10/xml-exc-c14n#>
+
+#	WS-Addressing (2003, 2004, and 2005 schemas)
+#	See import/wsa.h, import/wsa3.h etc for definitions and code examples
+#	The API is defined in plugin/wsaapi.c, plugin/wsaapi3.c, etc.
+
+wsa	= <http://schemas.xmlsoap.org/ws/2004/08/addressing>
+wsa3	= <http://schemas.xmlsoap.org/ws/2003/03/addressing>
+wsa4	= <http://schemas.xmlsoap.org/ws/2004/03/addressing>
+wsa5	= <http://www.w3.org/2005/08/addressing>
+
+#	The types below should not use pointers, so we add a 3rd column:
+
+_wsa__Action    = | | _wsa__Action
+_wsa__MessageID = | | _wsa__MessageID
+_wsa__To        = | | _wsa__To
+
+_wsa3__Action    = | | _wsa3__Action
+_wsa3__MessageID = | | _wsa3__MessageID
+_wsa3__To        = | | _wsa3__To
+
+_wsa4__Action    = | | _wsa4__Action
+_wsa4__MessageID = | | _wsa4__MessageID
+_wsa4__To        = | | _wsa4__To
+
+_wsa5__Action    = | | _wsa5__Action
+_wsa5__MessageID = | | _wsa5__MessageID
+_wsa5__To        = | | _wsa5__To
+
+#	WS-ReliableMessaging 1.1 and 1.0 (and obsolete WS-Reliability 2004)
+
+wsrm	= <http://docs.oasis-open.org/ws-rx/wsrm/200702>
+wsrm5	= <http://schemas.xmlsoap.org/ws/2005/02/rm>
+wsrm4	= <http://docs.oasis-open.org/wsrm/2004/06/ws-reliability-1.1.xsd>
+
+#	WS-Discovery 1.1 and 1.0
+
+wsdd	= <http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01>
+wsdd10	= <http://schemas.xmlsoap.org/ws/2005/04/discovery>
+
+wsdd10__HelloType		= | wsdd__HelloType
+wsdd10__ByeType			= | wsdd__ByeType
+wsdd10__ProbeType		= | wsdd__ProbeType
+wsdd10__ProbeMatchesType	= | wsdd__ProbeMatchesType
+wsdd10__ProbeMatchType		= | wsdd__ProbeMatchType
+wsdd10__ResolveType		= | wsdd__ResolveType
+wsdd10__ResolveMatchesType	= | wsdd__ResolveMatchesType
+wsdd10__ResolveMatchType	= | wsdd__ResolveMatchType
+wsdd10__ScopesType		= | wsdd__ScopesType
+wsdd10__SecurityType		= | wsdd__SecurityType
+wsdd10__SigType			= | wsdd__SigType
+wsdd10__AppSequenceType		= | wsdd__AppSequenceType
+
+#	WS-Policy
+
+wsp	= <http://schemas.xmlsoap.org/ws/2004/09/policy>
+
+#	WS-SecureConversation
+
+wsc	= <http://schemas.xmlsoap.org/ws/2005/02/sc>
+
+#	WS-Trust 1.0
+
+wst	= <http://schemas.xmlsoap.org/ws/2005/02/trust>
+
+#	WS-Security wsse 2004 v1.0 and 1.1 and old wsse 2002 schema
+
+wsse11	= <http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd>
+wsse	= <http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd>
+wsse2	= <http://schemas.xmlsoap.org/ws/2002/12/secext>
+
+_wsse2__Security == _wsse__Security
+wsse2__Security == wsse__Security
+
+#	wsu 2004
+
+wsu	= <http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd>
+
+_wsu__Id		= | char*
+_wsu__Created		= | time_t
+_wsu__Expires		= | time_t
+
+wsu__AttributedDateTime	= | time_t
+wsu__AttributedURI	= | char*
+
+#	Bindings for ds and xenc for WS-Security protocols:
+
+ds	= <http://www.w3.org/2000/09/xmldsig#>
+xenc	= <http://www.w3.org/2001/04/xmlenc#>
+
+#	xlink
+
+xlink	= <http://www.w3.org/1999/xlink>
+
+_xlink__actuate		= | char*
+_xlink__arcrole		= | char*
+_xlink__from		= | char*
+_xlink__href		= | char*
+_xlink__label		= | char*
+_xlink__role		= | char*
+_xlink__show		= | char*
+_xlink__to		= | char*
+_xlink__title		= | char*
+_xlink__type		= | char*
+
+#	wsrp routing protocol (deprecated)
+
+wsrp	= <http://schemas.xmlsoap.org/rp/>
+
+#	ONVIF recommended prefixes as per 8/20/12
+#	http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl
+#	http://www.onvif.org/onvif/ver10/event/wsdl/event.wsdl
+#	http://www.onvif.org/onvif/ver10/display.wsdl
+#	http://www.onvif.org/onvif/ver10/deviceio.wsdl
+#	http://www.onvif.org/onvif/ver20/imaging/wsdl/imaging.wsdl
+#	http://www.onvif.org/onvif/ver10/media/wsdl/media.wsdl
+#	http://www.onvif.org/onvif/ver20/ptz/wsdl/ptz.wsdl
+#	http://www.onvif.org/onvif/ver10/receiver.wsdl
+#	http://www.onvif.org/onvif/ver10/recording.wsdl
+#	http://www.onvif.org/onvif/ver10/search.wsdl
+#	http://www.onvif.org/onvif/ver10/network/wsdl/remotediscovery.wsdl
+#	http://www.onvif.org/onvif/ver10/replay.wsdl
+#	http://www.onvif.org/onvif/ver20/analytics/wsdl/analytics.wsdl
+#	http://www.onvif.org/onvif/ver10/analyticsdevice.wsdl	
+#	http://www.onvif.org/onvif/ver10/schema/onvif.xsd
+
+tds	= "http://www.onvif.org/ver10/device/wsdl"
+tev	= "http://www.onvif.org/ver10/events/wsdl"
+tls	= "http://www.onvif.org/ver10/display/wsdl"
+tmd	= "http://www.onvif.org/ver10/deviceIO/wsdl"
+timg	= "http://www.onvif.org/ver20/imaging/wsdl"
+trt	= "http://www.onvif.org/ver10/media/wsdl"
+tptz	= "http://www.onvif.org/ver20/ptz/wsdl"
+trv	= "http://www.onvif.org/ver10/receiver/wsdl"
+trc	= "http://www.onvif.org/ver10/recording/wsdl"
+tse	= "http://www.onvif.org/ver10/search/wsdl"
+trp	= "http://www.onvif.org/ver10/replay/wsdl"
+tan	= "http://www.onvif.org/ver20/analytics/wsdl"
+tad	= "http://www.onvif.org/ver10/analyticsdevice/wsdl"
+tdn	= "http://www.onvif.org/ver10/network/wsdl"
+tt	= "http://www.onvif.org/ver10/schema"
+
+#	OASIS recommended prefixes
+
+wsnt	= "http://docs.oasis-open.org/wsn/b-2"
+wsntw	= "http://docs.oasis-open.org/wsn/bw-2"
+wsrfbf	= "http://docs.oasis-open.org/wsrf/bf-2"
+wsrfr	= "http://docs.oasis-open.org/wsrf/r-2"
+wsrfrw  = "http://docs.oasis-open.org/wsrf/rw-2"
+wstop	= "http://docs.oasis-open.org/wsn/t-1"
+
+#	Prefix bindings for WhiteMesa interoperability testing round 2:
+
+i	= "http://soapinterop.org/"
+s	= "http://soapinterop.org/xsd"
+
+#	Prefix binding for Amazon Web Services:
+
+aws	= "urn:PI/DevCentral/SoapService"
+
+#	Prefix binding for Mappoint Web services:
+
+mpt	= "http://s.mappoint.net/mappoint-30/"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/.deps/wsdl2h-mime.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/.deps/wsdl2h-schema.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/.deps/wsdl2h-service.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/.deps/wsdl2h-soap.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/.deps/wsdl2h-types.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/.deps/wsdl2h-wsdl.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/.deps/wsdl2h-wsdl2h.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/.deps/wsdl2h-wsdlC.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/.deps/wsdl2h-wsp.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/Makefile	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,616 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# gsoap/wsdl/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006  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.
+
+
+
+####### This is the input file for automake, which will generate Makefile.in ##########
+
+
+pkgdatadir = $(datadir)/gsoap
+pkglibdir = $(libdir)/gsoap
+pkgincludedir = $(includedir)/gsoap
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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 = i386-apple-darwin13.1.0
+host_triplet = i386-apple-darwin13.1.0
+bin_PROGRAMS = wsdl2h$(EXEEXT)
+subdir = gsoap/wsdl
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am__objects_1 = wsdl2h-wsdlC.$(OBJEXT)
+am_wsdl2h_OBJECTS = wsdl2h-wsdl2h.$(OBJEXT) wsdl2h-wsdl.$(OBJEXT) \
+	wsdl2h-schema.$(OBJEXT) wsdl2h-types.$(OBJEXT) \
+	wsdl2h-service.$(OBJEXT) wsdl2h-soap.$(OBJEXT) \
+	wsdl2h-mime.$(OBJEXT) wsdl2h-wsp.$(OBJEXT) $(am__objects_1)
+wsdl2h_OBJECTS = $(am_wsdl2h_OBJECTS)
+am__DEPENDENCIES_1 =
+wsdl2h_DEPENDENCIES = $(SOAP_CPP_LIB) $(am__DEPENDENCIES_1)
+wsdl2h_LINK = $(CXXLD) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I. -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+	-o $@
+SOURCES = $(wsdl2h_SOURCES)
+DIST_SOURCES = $(wsdl2h_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /Users/kotone/dev/build/gsoap-2.8/missing --run aclocal-1.10
+AMTAR = ${SHELL} /Users/kotone/dev/build/gsoap-2.8/missing --run tar
+AUTOCONF = ${SHELL} /Users/kotone/dev/build/gsoap-2.8/missing --run autoconf
+AUTOHEADER = ${SHELL} /Users/kotone/dev/build/gsoap-2.8/missing --run autoheader
+AUTOMAKE = ${SHELL} /Users/kotone/dev/build/gsoap-2.8/missing --run automake-1.10
+AWK = awk
+BISON_DEFINE = -DWITH_BISON
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -Wno-deprecated-declarations
+CPP = gcc -E
+CPPFLAGS = 
+CXX = g++
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -Wno-deprecated-declarations
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO_C = \c
+ECHO_N = 
+ECHO_T = 
+EGREP = /usr/bin/grep -E
+ENABLE_SAMPLES = 
+EXEEXT = 
+GREP = /usr/bin/grep
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+LDFLAGS = 
+LEX = flex
+LEXLIB = -ll
+LEX_DEFINE = -DWITH_FLEX
+LEX_FLAGS = -l
+LEX_OUTPUT_ROOT = lex.yy
+LIBOBJS =  ${LIBOBJDIR}mktime$U.o
+LIBS = 
+LN_S = ln -s
+LTLIBOBJS =  ${LIBOBJDIR}mktime$U.lo
+MAKEINFO = ${SHELL} /Users/kotone/dev/build/gsoap-2.8/missing --run makeinfo
+MKDIR_P = ../.././install-sh -c -d
+OBJEXT = o
+PACKAGE = gsoap
+PACKAGE_BUGREPORT = 
+PACKAGE_NAME = gsoap
+PACKAGE_STRING = gsoap 2.8
+PACKAGE_TARNAME = gsoap
+PACKAGE_VERSION = 2.8
+PATH_SEPARATOR = :
+RANLIB = ranlib
+SAMPLE_DIRS = 
+SAMPLE_EXTRA_LIBS = -lm
+SAMPLE_SSL_LIBS = -lssl -lcrypto -lz
+SET_MAKE = 
+SHELL = /bin/sh
+SOAPCPP2_DEBUG = 
+SOAPCPP2_IMPORTPATH = -DSOAPCPP_IMPORT_PATH="\"${datarootdir}/gsoap/import\""
+SOAPCPP2_IPV6 = 
+SOAPCPP2_NONAMESPACES = 
+STRIP = 
+VERSION = 2.8
+WSDL2H_EXTRA_FLAGS = -DWITH_OPENSSL -DWITH_GZIP
+WSDL2H_EXTRA_LIBS = ../plugin/httpda.c ../plugin/md5evp.c -lssl -lcrypto -lz
+WSDL2H_IMPORTPATH = -DWSDL_IMPORT_PATH="\"${datarootdir}/gsoap/WS\""
+WSDL2H_SOAP_CPP_LIB = libgsoapssl++.a
+YACC = bison -y
+YACC_LIB = 
+YFLAGS = 
+abs_builddir = /Users/kotone/dev/build/gsoap-2.8/gsoap/wsdl
+abs_srcdir = /Users/kotone/dev/build/gsoap-2.8/gsoap/wsdl
+abs_top_builddir = /Users/kotone/dev/build/gsoap-2.8
+abs_top_srcdir = /Users/kotone/dev/build/gsoap-2.8
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i386-apple-darwin13.1.0
+build_alias = 
+build_cpu = i386
+build_os = darwin13.1.0
+build_vendor = apple
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+host = i386-apple-darwin13.1.0
+host_alias = 
+host_cpu = i386
+host_os = darwin13.1.0
+host_vendor = apple
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = $(SHELL) /Users/kotone/dev/build/gsoap-2.8/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = $(top_builddir)/./install-sh -c -d
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+platform = MACOSX
+prefix = /usr/local
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target_alias = 
+top_builddir = ../..
+top_srcdir = ../..
+AUTOMAKE_OPTIONS = foreign 1.4
+
+# INCLUDES=-I$(top_srcdir)/gsoap
+# AM_LDFLAGS=$(INCLUDES) -I$(srcdir) -L$(srcdir)
+AM_LDFLAGS = -L$(srcdir) -I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin
+AM_CPPFLAGS = -I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin
+SOAP = $(top_builddir)/gsoap/src/soapcpp2
+SOAP_CPP_LIB = $(top_builddir)/gsoap/$(WSDL2H_SOAP_CPP_LIB)
+SOAP_CPP_SRC = wsdlC.cpp
+SOAPHEADER = $(srcdir)/wsdl.h
+SOAP_FLAGS = -SC -pwsdl -I$(srcdir) -I$(top_srcdir)/gsoap/import
+BUILT_SOURCES = $(SOAP_CPP_SRC)
+wsdl2h_CFLAGS = $(C_DEBUG_FLAGS) $(WSDL2H_EXTRA_FLAGS)
+wsdl2h_CXXFLAGS = $(C_DEBUG_FLAGS) $(WSDL2H_EXTRA_FLAGS)
+wsdl2h_CPPFLAGS = $(AM_CPPFLAGS) $(SOAPCPP2_NONAMESPACES) -D$(platform)
+wsdl2h_SOURCES = wsdl2h.cpp wsdl.cpp schema.cpp types.cpp service.cpp soap.cpp mime.cpp wsp.cpp $(SOAP_CPP_SRC)
+wsdl2h_LDADD = $(SOAP_CPP_LIB) $(WSDL2H_EXTRA_LIBS)
+CLEANFILES = *~ *C.cpp *H.h *Stub.h *.nsmap
+all: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(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  gsoap/wsdl/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  gsoap/wsdl/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:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+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 \
+	  ; then \
+	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+	   echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	   $(INSTALL_PROGRAM_ENV) $(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:
+	-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+wsdl2h$(EXEEXT): $(wsdl2h_OBJECTS) $(wsdl2h_DEPENDENCIES) 
+	@rm -f wsdl2h$(EXEEXT)
+	$(wsdl2h_LINK) $(wsdl2h_OBJECTS) $(wsdl2h_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+include ./$(DEPDIR)/wsdl2h-mime.Po
+include ./$(DEPDIR)/wsdl2h-schema.Po
+include ./$(DEPDIR)/wsdl2h-service.Po
+include ./$(DEPDIR)/wsdl2h-soap.Po
+include ./$(DEPDIR)/wsdl2h-types.Po
+include ./$(DEPDIR)/wsdl2h-wsdl.Po
+include ./$(DEPDIR)/wsdl2h-wsdl2h.Po
+include ./$(DEPDIR)/wsdl2h-wsdlC.Po
+include ./$(DEPDIR)/wsdl2h-wsp.Po
+
+.cpp.o:
+	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+wsdl2h-wsdl2h.o: wsdl2h.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-wsdl2h.o -MD -MP -MF $(DEPDIR)/wsdl2h-wsdl2h.Tpo -c -o wsdl2h-wsdl2h.o `test -f 'wsdl2h.cpp' || echo '$(srcdir)/'`wsdl2h.cpp
+	mv -f $(DEPDIR)/wsdl2h-wsdl2h.Tpo $(DEPDIR)/wsdl2h-wsdl2h.Po
+#	source='wsdl2h.cpp' object='wsdl2h-wsdl2h.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-wsdl2h.o `test -f 'wsdl2h.cpp' || echo '$(srcdir)/'`wsdl2h.cpp
+
+wsdl2h-wsdl2h.obj: wsdl2h.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-wsdl2h.obj -MD -MP -MF $(DEPDIR)/wsdl2h-wsdl2h.Tpo -c -o wsdl2h-wsdl2h.obj `if test -f 'wsdl2h.cpp'; then $(CYGPATH_W) 'wsdl2h.cpp'; else $(CYGPATH_W) '$(srcdir)/wsdl2h.cpp'; fi`
+	mv -f $(DEPDIR)/wsdl2h-wsdl2h.Tpo $(DEPDIR)/wsdl2h-wsdl2h.Po
+#	source='wsdl2h.cpp' object='wsdl2h-wsdl2h.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-wsdl2h.obj `if test -f 'wsdl2h.cpp'; then $(CYGPATH_W) 'wsdl2h.cpp'; else $(CYGPATH_W) '$(srcdir)/wsdl2h.cpp'; fi`
+
+wsdl2h-wsdl.o: wsdl.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-wsdl.o -MD -MP -MF $(DEPDIR)/wsdl2h-wsdl.Tpo -c -o wsdl2h-wsdl.o `test -f 'wsdl.cpp' || echo '$(srcdir)/'`wsdl.cpp
+	mv -f $(DEPDIR)/wsdl2h-wsdl.Tpo $(DEPDIR)/wsdl2h-wsdl.Po
+#	source='wsdl.cpp' object='wsdl2h-wsdl.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-wsdl.o `test -f 'wsdl.cpp' || echo '$(srcdir)/'`wsdl.cpp
+
+wsdl2h-wsdl.obj: wsdl.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-wsdl.obj -MD -MP -MF $(DEPDIR)/wsdl2h-wsdl.Tpo -c -o wsdl2h-wsdl.obj `if test -f 'wsdl.cpp'; then $(CYGPATH_W) 'wsdl.cpp'; else $(CYGPATH_W) '$(srcdir)/wsdl.cpp'; fi`
+	mv -f $(DEPDIR)/wsdl2h-wsdl.Tpo $(DEPDIR)/wsdl2h-wsdl.Po
+#	source='wsdl.cpp' object='wsdl2h-wsdl.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-wsdl.obj `if test -f 'wsdl.cpp'; then $(CYGPATH_W) 'wsdl.cpp'; else $(CYGPATH_W) '$(srcdir)/wsdl.cpp'; fi`
+
+wsdl2h-schema.o: schema.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-schema.o -MD -MP -MF $(DEPDIR)/wsdl2h-schema.Tpo -c -o wsdl2h-schema.o `test -f 'schema.cpp' || echo '$(srcdir)/'`schema.cpp
+	mv -f $(DEPDIR)/wsdl2h-schema.Tpo $(DEPDIR)/wsdl2h-schema.Po
+#	source='schema.cpp' object='wsdl2h-schema.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-schema.o `test -f 'schema.cpp' || echo '$(srcdir)/'`schema.cpp
+
+wsdl2h-schema.obj: schema.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-schema.obj -MD -MP -MF $(DEPDIR)/wsdl2h-schema.Tpo -c -o wsdl2h-schema.obj `if test -f 'schema.cpp'; then $(CYGPATH_W) 'schema.cpp'; else $(CYGPATH_W) '$(srcdir)/schema.cpp'; fi`
+	mv -f $(DEPDIR)/wsdl2h-schema.Tpo $(DEPDIR)/wsdl2h-schema.Po
+#	source='schema.cpp' object='wsdl2h-schema.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-schema.obj `if test -f 'schema.cpp'; then $(CYGPATH_W) 'schema.cpp'; else $(CYGPATH_W) '$(srcdir)/schema.cpp'; fi`
+
+wsdl2h-types.o: types.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-types.o -MD -MP -MF $(DEPDIR)/wsdl2h-types.Tpo -c -o wsdl2h-types.o `test -f 'types.cpp' || echo '$(srcdir)/'`types.cpp
+	mv -f $(DEPDIR)/wsdl2h-types.Tpo $(DEPDIR)/wsdl2h-types.Po
+#	source='types.cpp' object='wsdl2h-types.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-types.o `test -f 'types.cpp' || echo '$(srcdir)/'`types.cpp
+
+wsdl2h-types.obj: types.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-types.obj -MD -MP -MF $(DEPDIR)/wsdl2h-types.Tpo -c -o wsdl2h-types.obj `if test -f 'types.cpp'; then $(CYGPATH_W) 'types.cpp'; else $(CYGPATH_W) '$(srcdir)/types.cpp'; fi`
+	mv -f $(DEPDIR)/wsdl2h-types.Tpo $(DEPDIR)/wsdl2h-types.Po
+#	source='types.cpp' object='wsdl2h-types.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-types.obj `if test -f 'types.cpp'; then $(CYGPATH_W) 'types.cpp'; else $(CYGPATH_W) '$(srcdir)/types.cpp'; fi`
+
+wsdl2h-service.o: service.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-service.o -MD -MP -MF $(DEPDIR)/wsdl2h-service.Tpo -c -o wsdl2h-service.o `test -f 'service.cpp' || echo '$(srcdir)/'`service.cpp
+	mv -f $(DEPDIR)/wsdl2h-service.Tpo $(DEPDIR)/wsdl2h-service.Po
+#	source='service.cpp' object='wsdl2h-service.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-service.o `test -f 'service.cpp' || echo '$(srcdir)/'`service.cpp
+
+wsdl2h-service.obj: service.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-service.obj -MD -MP -MF $(DEPDIR)/wsdl2h-service.Tpo -c -o wsdl2h-service.obj `if test -f 'service.cpp'; then $(CYGPATH_W) 'service.cpp'; else $(CYGPATH_W) '$(srcdir)/service.cpp'; fi`
+	mv -f $(DEPDIR)/wsdl2h-service.Tpo $(DEPDIR)/wsdl2h-service.Po
+#	source='service.cpp' object='wsdl2h-service.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-service.obj `if test -f 'service.cpp'; then $(CYGPATH_W) 'service.cpp'; else $(CYGPATH_W) '$(srcdir)/service.cpp'; fi`
+
+wsdl2h-soap.o: soap.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-soap.o -MD -MP -MF $(DEPDIR)/wsdl2h-soap.Tpo -c -o wsdl2h-soap.o `test -f 'soap.cpp' || echo '$(srcdir)/'`soap.cpp
+	mv -f $(DEPDIR)/wsdl2h-soap.Tpo $(DEPDIR)/wsdl2h-soap.Po
+#	source='soap.cpp' object='wsdl2h-soap.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-soap.o `test -f 'soap.cpp' || echo '$(srcdir)/'`soap.cpp
+
+wsdl2h-soap.obj: soap.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-soap.obj -MD -MP -MF $(DEPDIR)/wsdl2h-soap.Tpo -c -o wsdl2h-soap.obj `if test -f 'soap.cpp'; then $(CYGPATH_W) 'soap.cpp'; else $(CYGPATH_W) '$(srcdir)/soap.cpp'; fi`
+	mv -f $(DEPDIR)/wsdl2h-soap.Tpo $(DEPDIR)/wsdl2h-soap.Po
+#	source='soap.cpp' object='wsdl2h-soap.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-soap.obj `if test -f 'soap.cpp'; then $(CYGPATH_W) 'soap.cpp'; else $(CYGPATH_W) '$(srcdir)/soap.cpp'; fi`
+
+wsdl2h-mime.o: mime.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-mime.o -MD -MP -MF $(DEPDIR)/wsdl2h-mime.Tpo -c -o wsdl2h-mime.o `test -f 'mime.cpp' || echo '$(srcdir)/'`mime.cpp
+	mv -f $(DEPDIR)/wsdl2h-mime.Tpo $(DEPDIR)/wsdl2h-mime.Po
+#	source='mime.cpp' object='wsdl2h-mime.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-mime.o `test -f 'mime.cpp' || echo '$(srcdir)/'`mime.cpp
+
+wsdl2h-mime.obj: mime.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-mime.obj -MD -MP -MF $(DEPDIR)/wsdl2h-mime.Tpo -c -o wsdl2h-mime.obj `if test -f 'mime.cpp'; then $(CYGPATH_W) 'mime.cpp'; else $(CYGPATH_W) '$(srcdir)/mime.cpp'; fi`
+	mv -f $(DEPDIR)/wsdl2h-mime.Tpo $(DEPDIR)/wsdl2h-mime.Po
+#	source='mime.cpp' object='wsdl2h-mime.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-mime.obj `if test -f 'mime.cpp'; then $(CYGPATH_W) 'mime.cpp'; else $(CYGPATH_W) '$(srcdir)/mime.cpp'; fi`
+
+wsdl2h-wsp.o: wsp.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-wsp.o -MD -MP -MF $(DEPDIR)/wsdl2h-wsp.Tpo -c -o wsdl2h-wsp.o `test -f 'wsp.cpp' || echo '$(srcdir)/'`wsp.cpp
+	mv -f $(DEPDIR)/wsdl2h-wsp.Tpo $(DEPDIR)/wsdl2h-wsp.Po
+#	source='wsp.cpp' object='wsdl2h-wsp.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-wsp.o `test -f 'wsp.cpp' || echo '$(srcdir)/'`wsp.cpp
+
+wsdl2h-wsp.obj: wsp.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-wsp.obj -MD -MP -MF $(DEPDIR)/wsdl2h-wsp.Tpo -c -o wsdl2h-wsp.obj `if test -f 'wsp.cpp'; then $(CYGPATH_W) 'wsp.cpp'; else $(CYGPATH_W) '$(srcdir)/wsp.cpp'; fi`
+	mv -f $(DEPDIR)/wsdl2h-wsp.Tpo $(DEPDIR)/wsdl2h-wsp.Po
+#	source='wsp.cpp' object='wsdl2h-wsp.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-wsp.obj `if test -f 'wsp.cpp'; then $(CYGPATH_W) 'wsp.cpp'; else $(CYGPATH_W) '$(srcdir)/wsp.cpp'; fi`
+
+wsdl2h-wsdlC.o: wsdlC.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-wsdlC.o -MD -MP -MF $(DEPDIR)/wsdl2h-wsdlC.Tpo -c -o wsdl2h-wsdlC.o `test -f 'wsdlC.cpp' || echo '$(srcdir)/'`wsdlC.cpp
+	mv -f $(DEPDIR)/wsdl2h-wsdlC.Tpo $(DEPDIR)/wsdl2h-wsdlC.Po
+#	source='wsdlC.cpp' object='wsdl2h-wsdlC.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-wsdlC.o `test -f 'wsdlC.cpp' || echo '$(srcdir)/'`wsdlC.cpp
+
+wsdl2h-wsdlC.obj: wsdlC.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-wsdlC.obj -MD -MP -MF $(DEPDIR)/wsdl2h-wsdlC.Tpo -c -o wsdl2h-wsdlC.obj `if test -f 'wsdlC.cpp'; then $(CYGPATH_W) 'wsdlC.cpp'; else $(CYGPATH_W) '$(srcdir)/wsdlC.cpp'; fi`
+	mv -f $(DEPDIR)/wsdl2h-wsdlC.Tpo $(DEPDIR)/wsdl2h-wsdlC.Po
+#	source='wsdlC.cpp' object='wsdl2h-wsdlC.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-wsdlC.obj `if test -f 'wsdlC.cpp'; then $(CYGPATH_W) 'wsdlC.cpp'; else $(CYGPATH_W) '$(srcdir)/wsdlC.cpp'; fi`
+
+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)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	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; }'`; \
+	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)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	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; }'`; \
+	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)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    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)
+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 mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+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
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+	clean-generic ctags distclean distclean-compile \
+	distclean-generic distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-binPROGRAMS \
+	install-data install-data-am install-dvi install-dvi-am \
+	install-exec install-exec-am install-html install-html-am \
+	install-info install-info-am install-man install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+	uninstall-am uninstall-binPROGRAMS
+
+# WSDL2H_EXTRA_FLAGS=-DWITH_OPENSSL -DWITH_GZIP # defined in configure.in
+# WSDL2H_EXTRA_LIBS=-lssl -lcrypto -lz # defined in configure.in
+
+$(SOAP_CPP_SRC) : $(SOAPHEADER)
+	$(SOAP) $(SOAP_FLAGS) $(SOAPHEADER)
+# 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:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/Makefile.am	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,34 @@
+####### This is the input file for automake, which will generate Makefile.in ##########
+
+
+## not a GNU package. You can remove this line, if
+## you have all needed files, that a GNU package needs
+AUTOMAKE_OPTIONS = foreign 1.4
+
+# INCLUDES=-I$(top_srcdir)/gsoap
+# AM_LDFLAGS=$(INCLUDES) -I$(srcdir) -L$(srcdir)
+AM_LDFLAGS=-L$(srcdir) -I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin
+AM_CPPFLAGS=-I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin
+SOAP=$(top_builddir)/gsoap/src/soapcpp2
+SOAP_CPP_LIB=$(top_builddir)/gsoap/$(WSDL2H_SOAP_CPP_LIB)
+SOAP_CPP_SRC=wsdlC.cpp
+SOAPHEADER=$(srcdir)/wsdl.h
+SOAP_FLAGS=-SC -pwsdl -I$(srcdir) -I$(top_srcdir)/gsoap/import
+BUILT_SOURCES=$(SOAP_CPP_SRC)
+# WSDL2H_EXTRA_FLAGS=-DWITH_OPENSSL -DWITH_GZIP # defined in configure.in
+# WSDL2H_EXTRA_LIBS=-lssl -lcrypto -lz # defined in configure.in
+
+$(SOAP_CPP_SRC) : $(SOAPHEADER)
+	$(SOAP) $(SOAP_FLAGS) $(SOAPHEADER)
+
+#LIBS=
+
+bin_PROGRAMS=wsdl2h
+
+wsdl2h_CFLAGS=$(C_DEBUG_FLAGS) $(WSDL2H_EXTRA_FLAGS)
+wsdl2h_CXXFLAGS=$(C_DEBUG_FLAGS) $(WSDL2H_EXTRA_FLAGS)
+wsdl2h_CPPFLAGS=$(AM_CPPFLAGS) $(SOAPCPP2_NONAMESPACES) -D$(platform)
+wsdl2h_SOURCES=wsdl2h.cpp wsdl.cpp schema.cpp types.cpp service.cpp soap.cpp mime.cpp wsp.cpp $(SOAP_CPP_SRC)
+wsdl2h_LDADD=$(SOAP_CPP_LIB) $(WSDL2H_EXTRA_LIBS)
+
+CLEANFILES= *~ *C.cpp *H.h *Stub.h *.nsmap
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/Makefile.in	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,616 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006  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@
+
+####### This is the input file for automake, which will generate Makefile.in ##########
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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 = wsdl2h$(EXEEXT)
+subdir = gsoap/wsdl
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am__objects_1 = wsdl2h-wsdlC.$(OBJEXT)
+am_wsdl2h_OBJECTS = wsdl2h-wsdl2h.$(OBJEXT) wsdl2h-wsdl.$(OBJEXT) \
+	wsdl2h-schema.$(OBJEXT) wsdl2h-types.$(OBJEXT) \
+	wsdl2h-service.$(OBJEXT) wsdl2h-soap.$(OBJEXT) \
+	wsdl2h-mime.$(OBJEXT) wsdl2h-wsp.$(OBJEXT) $(am__objects_1)
+wsdl2h_OBJECTS = $(am_wsdl2h_OBJECTS)
+am__DEPENDENCIES_1 =
+wsdl2h_DEPENDENCIES = $(SOAP_CPP_LIB) $(am__DEPENDENCIES_1)
+wsdl2h_LINK = $(CXXLD) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+	-o $@
+SOURCES = $(wsdl2h_SOURCES)
+DIST_SOURCES = $(wsdl2h_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BISON_DEFINE = @BISON_DEFINE@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_SAMPLES = @ENABLE_SAMPLES@
+EXEEXT = @EXEEXT@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LEX = @LEX@
+LEXLIB = @LEXLIB@
+LEX_DEFINE = @LEX_DEFINE@
+LEX_FLAGS = @LEX_FLAGS@
+LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SAMPLE_DIRS = @SAMPLE_DIRS@
+SAMPLE_EXTRA_LIBS = @SAMPLE_EXTRA_LIBS@
+SAMPLE_SSL_LIBS = @SAMPLE_SSL_LIBS@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOAPCPP2_DEBUG = @SOAPCPP2_DEBUG@
+SOAPCPP2_IMPORTPATH = @SOAPCPP2_IMPORTPATH@
+SOAPCPP2_IPV6 = @SOAPCPP2_IPV6@
+SOAPCPP2_NONAMESPACES = @SOAPCPP2_NONAMESPACES@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WSDL2H_EXTRA_FLAGS = @WSDL2H_EXTRA_FLAGS@
+WSDL2H_EXTRA_LIBS = @WSDL2H_EXTRA_LIBS@
+WSDL2H_IMPORTPATH = @WSDL2H_IMPORTPATH@
+WSDL2H_SOAP_CPP_LIB = @WSDL2H_SOAP_CPP_LIB@
+YACC = @YACC@
+YACC_LIB = @YACC_LIB@
+YFLAGS = @YFLAGS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+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@
+builddir = @builddir@
+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@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+platform = @platform@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = foreign 1.4
+
+# INCLUDES=-I$(top_srcdir)/gsoap
+# AM_LDFLAGS=$(INCLUDES) -I$(srcdir) -L$(srcdir)
+AM_LDFLAGS = -L$(srcdir) -I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin
+AM_CPPFLAGS = -I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin
+SOAP = $(top_builddir)/gsoap/src/soapcpp2
+SOAP_CPP_LIB = $(top_builddir)/gsoap/$(WSDL2H_SOAP_CPP_LIB)
+SOAP_CPP_SRC = wsdlC.cpp
+SOAPHEADER = $(srcdir)/wsdl.h
+SOAP_FLAGS = -SC -pwsdl -I$(srcdir) -I$(top_srcdir)/gsoap/import
+BUILT_SOURCES = $(SOAP_CPP_SRC)
+wsdl2h_CFLAGS = $(C_DEBUG_FLAGS) $(WSDL2H_EXTRA_FLAGS)
+wsdl2h_CXXFLAGS = $(C_DEBUG_FLAGS) $(WSDL2H_EXTRA_FLAGS)
+wsdl2h_CPPFLAGS = $(AM_CPPFLAGS) $(SOAPCPP2_NONAMESPACES) -D$(platform)
+wsdl2h_SOURCES = wsdl2h.cpp wsdl.cpp schema.cpp types.cpp service.cpp soap.cpp mime.cpp wsp.cpp $(SOAP_CPP_SRC)
+wsdl2h_LDADD = $(SOAP_CPP_LIB) $(WSDL2H_EXTRA_LIBS)
+CLEANFILES = *~ *C.cpp *H.h *Stub.h *.nsmap
+all: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(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  gsoap/wsdl/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  gsoap/wsdl/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:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+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 \
+	  ; then \
+	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+	   echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	   $(INSTALL_PROGRAM_ENV) $(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:
+	-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+wsdl2h$(EXEEXT): $(wsdl2h_OBJECTS) $(wsdl2h_DEPENDENCIES) 
+	@rm -f wsdl2h$(EXEEXT)
+	$(wsdl2h_LINK) $(wsdl2h_OBJECTS) $(wsdl2h_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl2h-mime.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl2h-schema.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl2h-service.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl2h-soap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl2h-types.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl2h-wsdl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl2h-wsdl2h.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl2h-wsdlC.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl2h-wsp.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+wsdl2h-wsdl2h.o: wsdl2h.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-wsdl2h.o -MD -MP -MF $(DEPDIR)/wsdl2h-wsdl2h.Tpo -c -o wsdl2h-wsdl2h.o `test -f 'wsdl2h.cpp' || echo '$(srcdir)/'`wsdl2h.cpp
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wsdl2h-wsdl2h.Tpo $(DEPDIR)/wsdl2h-wsdl2h.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='wsdl2h.cpp' object='wsdl2h-wsdl2h.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-wsdl2h.o `test -f 'wsdl2h.cpp' || echo '$(srcdir)/'`wsdl2h.cpp
+
+wsdl2h-wsdl2h.obj: wsdl2h.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-wsdl2h.obj -MD -MP -MF $(DEPDIR)/wsdl2h-wsdl2h.Tpo -c -o wsdl2h-wsdl2h.obj `if test -f 'wsdl2h.cpp'; then $(CYGPATH_W) 'wsdl2h.cpp'; else $(CYGPATH_W) '$(srcdir)/wsdl2h.cpp'; fi`
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wsdl2h-wsdl2h.Tpo $(DEPDIR)/wsdl2h-wsdl2h.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='wsdl2h.cpp' object='wsdl2h-wsdl2h.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-wsdl2h.obj `if test -f 'wsdl2h.cpp'; then $(CYGPATH_W) 'wsdl2h.cpp'; else $(CYGPATH_W) '$(srcdir)/wsdl2h.cpp'; fi`
+
+wsdl2h-wsdl.o: wsdl.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-wsdl.o -MD -MP -MF $(DEPDIR)/wsdl2h-wsdl.Tpo -c -o wsdl2h-wsdl.o `test -f 'wsdl.cpp' || echo '$(srcdir)/'`wsdl.cpp
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wsdl2h-wsdl.Tpo $(DEPDIR)/wsdl2h-wsdl.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='wsdl.cpp' object='wsdl2h-wsdl.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-wsdl.o `test -f 'wsdl.cpp' || echo '$(srcdir)/'`wsdl.cpp
+
+wsdl2h-wsdl.obj: wsdl.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-wsdl.obj -MD -MP -MF $(DEPDIR)/wsdl2h-wsdl.Tpo -c -o wsdl2h-wsdl.obj `if test -f 'wsdl.cpp'; then $(CYGPATH_W) 'wsdl.cpp'; else $(CYGPATH_W) '$(srcdir)/wsdl.cpp'; fi`
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wsdl2h-wsdl.Tpo $(DEPDIR)/wsdl2h-wsdl.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='wsdl.cpp' object='wsdl2h-wsdl.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-wsdl.obj `if test -f 'wsdl.cpp'; then $(CYGPATH_W) 'wsdl.cpp'; else $(CYGPATH_W) '$(srcdir)/wsdl.cpp'; fi`
+
+wsdl2h-schema.o: schema.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-schema.o -MD -MP -MF $(DEPDIR)/wsdl2h-schema.Tpo -c -o wsdl2h-schema.o `test -f 'schema.cpp' || echo '$(srcdir)/'`schema.cpp
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wsdl2h-schema.Tpo $(DEPDIR)/wsdl2h-schema.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='schema.cpp' object='wsdl2h-schema.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-schema.o `test -f 'schema.cpp' || echo '$(srcdir)/'`schema.cpp
+
+wsdl2h-schema.obj: schema.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-schema.obj -MD -MP -MF $(DEPDIR)/wsdl2h-schema.Tpo -c -o wsdl2h-schema.obj `if test -f 'schema.cpp'; then $(CYGPATH_W) 'schema.cpp'; else $(CYGPATH_W) '$(srcdir)/schema.cpp'; fi`
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wsdl2h-schema.Tpo $(DEPDIR)/wsdl2h-schema.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='schema.cpp' object='wsdl2h-schema.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-schema.obj `if test -f 'schema.cpp'; then $(CYGPATH_W) 'schema.cpp'; else $(CYGPATH_W) '$(srcdir)/schema.cpp'; fi`
+
+wsdl2h-types.o: types.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-types.o -MD -MP -MF $(DEPDIR)/wsdl2h-types.Tpo -c -o wsdl2h-types.o `test -f 'types.cpp' || echo '$(srcdir)/'`types.cpp
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wsdl2h-types.Tpo $(DEPDIR)/wsdl2h-types.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='types.cpp' object='wsdl2h-types.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-types.o `test -f 'types.cpp' || echo '$(srcdir)/'`types.cpp
+
+wsdl2h-types.obj: types.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-types.obj -MD -MP -MF $(DEPDIR)/wsdl2h-types.Tpo -c -o wsdl2h-types.obj `if test -f 'types.cpp'; then $(CYGPATH_W) 'types.cpp'; else $(CYGPATH_W) '$(srcdir)/types.cpp'; fi`
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wsdl2h-types.Tpo $(DEPDIR)/wsdl2h-types.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='types.cpp' object='wsdl2h-types.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-types.obj `if test -f 'types.cpp'; then $(CYGPATH_W) 'types.cpp'; else $(CYGPATH_W) '$(srcdir)/types.cpp'; fi`
+
+wsdl2h-service.o: service.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-service.o -MD -MP -MF $(DEPDIR)/wsdl2h-service.Tpo -c -o wsdl2h-service.o `test -f 'service.cpp' || echo '$(srcdir)/'`service.cpp
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wsdl2h-service.Tpo $(DEPDIR)/wsdl2h-service.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='service.cpp' object='wsdl2h-service.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-service.o `test -f 'service.cpp' || echo '$(srcdir)/'`service.cpp
+
+wsdl2h-service.obj: service.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-service.obj -MD -MP -MF $(DEPDIR)/wsdl2h-service.Tpo -c -o wsdl2h-service.obj `if test -f 'service.cpp'; then $(CYGPATH_W) 'service.cpp'; else $(CYGPATH_W) '$(srcdir)/service.cpp'; fi`
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wsdl2h-service.Tpo $(DEPDIR)/wsdl2h-service.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='service.cpp' object='wsdl2h-service.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-service.obj `if test -f 'service.cpp'; then $(CYGPATH_W) 'service.cpp'; else $(CYGPATH_W) '$(srcdir)/service.cpp'; fi`
+
+wsdl2h-soap.o: soap.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-soap.o -MD -MP -MF $(DEPDIR)/wsdl2h-soap.Tpo -c -o wsdl2h-soap.o `test -f 'soap.cpp' || echo '$(srcdir)/'`soap.cpp
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wsdl2h-soap.Tpo $(DEPDIR)/wsdl2h-soap.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='soap.cpp' object='wsdl2h-soap.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-soap.o `test -f 'soap.cpp' || echo '$(srcdir)/'`soap.cpp
+
+wsdl2h-soap.obj: soap.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-soap.obj -MD -MP -MF $(DEPDIR)/wsdl2h-soap.Tpo -c -o wsdl2h-soap.obj `if test -f 'soap.cpp'; then $(CYGPATH_W) 'soap.cpp'; else $(CYGPATH_W) '$(srcdir)/soap.cpp'; fi`
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wsdl2h-soap.Tpo $(DEPDIR)/wsdl2h-soap.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='soap.cpp' object='wsdl2h-soap.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-soap.obj `if test -f 'soap.cpp'; then $(CYGPATH_W) 'soap.cpp'; else $(CYGPATH_W) '$(srcdir)/soap.cpp'; fi`
+
+wsdl2h-mime.o: mime.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-mime.o -MD -MP -MF $(DEPDIR)/wsdl2h-mime.Tpo -c -o wsdl2h-mime.o `test -f 'mime.cpp' || echo '$(srcdir)/'`mime.cpp
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wsdl2h-mime.Tpo $(DEPDIR)/wsdl2h-mime.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='mime.cpp' object='wsdl2h-mime.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-mime.o `test -f 'mime.cpp' || echo '$(srcdir)/'`mime.cpp
+
+wsdl2h-mime.obj: mime.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-mime.obj -MD -MP -MF $(DEPDIR)/wsdl2h-mime.Tpo -c -o wsdl2h-mime.obj `if test -f 'mime.cpp'; then $(CYGPATH_W) 'mime.cpp'; else $(CYGPATH_W) '$(srcdir)/mime.cpp'; fi`
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wsdl2h-mime.Tpo $(DEPDIR)/wsdl2h-mime.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='mime.cpp' object='wsdl2h-mime.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-mime.obj `if test -f 'mime.cpp'; then $(CYGPATH_W) 'mime.cpp'; else $(CYGPATH_W) '$(srcdir)/mime.cpp'; fi`
+
+wsdl2h-wsp.o: wsp.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-wsp.o -MD -MP -MF $(DEPDIR)/wsdl2h-wsp.Tpo -c -o wsdl2h-wsp.o `test -f 'wsp.cpp' || echo '$(srcdir)/'`wsp.cpp
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wsdl2h-wsp.Tpo $(DEPDIR)/wsdl2h-wsp.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='wsp.cpp' object='wsdl2h-wsp.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-wsp.o `test -f 'wsp.cpp' || echo '$(srcdir)/'`wsp.cpp
+
+wsdl2h-wsp.obj: wsp.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-wsp.obj -MD -MP -MF $(DEPDIR)/wsdl2h-wsp.Tpo -c -o wsdl2h-wsp.obj `if test -f 'wsp.cpp'; then $(CYGPATH_W) 'wsp.cpp'; else $(CYGPATH_W) '$(srcdir)/wsp.cpp'; fi`
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wsdl2h-wsp.Tpo $(DEPDIR)/wsdl2h-wsp.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='wsp.cpp' object='wsdl2h-wsp.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-wsp.obj `if test -f 'wsp.cpp'; then $(CYGPATH_W) 'wsp.cpp'; else $(CYGPATH_W) '$(srcdir)/wsp.cpp'; fi`
+
+wsdl2h-wsdlC.o: wsdlC.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-wsdlC.o -MD -MP -MF $(DEPDIR)/wsdl2h-wsdlC.Tpo -c -o wsdl2h-wsdlC.o `test -f 'wsdlC.cpp' || echo '$(srcdir)/'`wsdlC.cpp
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wsdl2h-wsdlC.Tpo $(DEPDIR)/wsdl2h-wsdlC.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='wsdlC.cpp' object='wsdl2h-wsdlC.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-wsdlC.o `test -f 'wsdlC.cpp' || echo '$(srcdir)/'`wsdlC.cpp
+
+wsdl2h-wsdlC.obj: wsdlC.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -MT wsdl2h-wsdlC.obj -MD -MP -MF $(DEPDIR)/wsdl2h-wsdlC.Tpo -c -o wsdl2h-wsdlC.obj `if test -f 'wsdlC.cpp'; then $(CYGPATH_W) 'wsdlC.cpp'; else $(CYGPATH_W) '$(srcdir)/wsdlC.cpp'; fi`
+@am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wsdl2h-wsdlC.Tpo $(DEPDIR)/wsdl2h-wsdlC.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='wsdlC.cpp' object='wsdl2h-wsdlC.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(wsdl2h_CPPFLAGS) $(CPPFLAGS) $(wsdl2h_CXXFLAGS) $(CXXFLAGS) -c -o wsdl2h-wsdlC.obj `if test -f 'wsdlC.cpp'; then $(CYGPATH_W) 'wsdlC.cpp'; else $(CYGPATH_W) '$(srcdir)/wsdlC.cpp'; fi`
+
+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)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	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; }'`; \
+	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)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	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; }'`; \
+	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)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    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)
+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 mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+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
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+	clean-generic ctags distclean distclean-compile \
+	distclean-generic distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-binPROGRAMS \
+	install-data install-data-am install-dvi install-dvi-am \
+	install-exec install-exec-am install-html install-html-am \
+	install-info install-info-am install-man install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+	uninstall-am uninstall-binPROGRAMS
+
+# WSDL2H_EXTRA_FLAGS=-DWITH_OPENSSL -DWITH_GZIP # defined in configure.in
+# WSDL2H_EXTRA_LIBS=-lssl -lcrypto -lz # defined in configure.in
+
+$(SOAP_CPP_SRC) : $(SOAPHEADER)
+	$(SOAP) $(SOAP_FLAGS) $(SOAPHEADER)
+# 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:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/MakefileManual	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,63 @@
+#       gSOAP wsdl2h Makefile by Robert van Engelen, Genivia Inc.
+#       Use this to build the soapcpp2 tool when autoconf/automake are not
+#       available.
+#
+#	Dependences:
+#       Build soapcpp2 first (should be in ../bin/soapcpp2)
+#
+#	Use 'make secure' to build SSL-capable wsdlh2 tool (requires OpenSSL)
+#
+#	Mac OS X universal binary:
+#	CPP=g++ -arch i386 -arch ppc
+CPP=g++
+#
+GSOAP=../bin/soapcpp2
+SOAPH=../stdsoap2.h
+SOAPC=../stdsoap2.c
+SOAPCPP=../stdsoap2.cpp
+#
+LIBS=-lm
+#
+COFLAGS=-O1
+#	For static linking use:
+#	COFLAGS=-O1 -static
+#	For debugging use:
+#	COFLAGS=-DDEBUG -g
+#	COFLAGS=-g
+CWFLAGS=-Wall
+#
+CIFLAGS=-I.. -I../plugin
+#
+CMFLAGS=
+#
+CFLAGS= $(CWFLAGS) $(COFLAGS) $(CIFLAGS) $(CMFLAGS)
+#
+wsdl2h:		wsdlC.o wsdl.o schema.o soap.o mime.o wsp.o types.o service.o wsdl2h.cpp $(SOAPCPP)
+		$(CPP) $(CFLAGS) -o wsdl2h wsdl2h.cpp wsdlC.o wsdl.o schema.o soap.o mime.o wsp.o types.o service.o $(SOAPCPP) $(LIBS)
+		cp -f wsdl2h ../bin
+wsdlC.o:	wsdlC.cpp
+		$(CPP) -c $(CFLAGS) wsdlC.cpp
+wsdlC.cpp:	schema.h soap.h mime.h dime.h http.h wsdl.h includes.h imports.h wsp.h sp.h wsam.h wsrmp.h wsu.h wst.h
+		$(GSOAP) -I../import -SC -pwsdl wsdl.h
+types.o:	types.h types.cpp
+		$(CPP) -c $(CFLAGS) types.cpp
+service.o:	types.h service.h service.cpp
+		$(CPP) -c $(CFLAGS) service.cpp
+wsdl.o:		wsdl.h wsdl.cpp includes.h imports.h
+		$(CPP) -c $(CFLAGS) wsdl.cpp
+schema.o:	schema.h schema.cpp includes.h imports.h
+		$(CPP) -c $(CFLAGS) schema.cpp
+soap.o:		soap.h soap.cpp includes.h imports.h
+		$(CPP) -c $(CFLAGS) soap.cpp
+mime.o:		mime.h mime.cpp includes.h imports.h
+		$(CPP) -c $(CFLAGS) mime.cpp
+wsp.o:		wsp.h wsp.cpp includes.h imports.h
+		$(CPP) -c $(CFLAGS) wsp.cpp
+secure:
+		rm -f *.o
+		make CMFLAGS=-DWITH_OPENSSL LIBS="../plugin/httpda.c ../plugin/md5evp.c -lcrypto -lssl -lm" wsdl2h
+.PHONY:		clean distclean
+clean:		
+		rm -f *.o wsdlH.h wsdlStub.h wsdlC.cpp wsdlClient.cpp wsdlServer.cpp wsdlClientLib.cpp wsdlServerLib.cpp
+distclean:		
+		rm -f *.o *.wsdl. *.xsd *.xml *.nsmap wsdl2h wsdlH.h wsdlStub.h wsdlC.cpp wsdlClient.cpp wsdlServer.cpp wsdlClientLib.cpp wsdlServerLib.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/README.txt	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,215 @@
+The gSOAP WSDL parser 'wsdl2h'
+
+INSTRUCTIONS
+
+The gSOAP WSDL parser converts one or more WSDLs into a gSOAP header file for
+processing with the gSOAP soapcpp2 compiler to generate client stubs/proxies
+and server skeletons/objects to access services or build new services.
+
+For example:
+
+$ wsdl2h -o XMethodsQuery.h http://www.xmethods.net/wsdl/query.wsdl
+
+Note: if an error occurs when running wsdl2h, please try again later. The
+XMethods site is very popular and suffers under load. It may also be the case
+that XMethods removed certain services. In that case, try another on-line WSDL.
+
+This generates the XMethodsQuery.h header file with Web service operations
+and C++ data types. This header file is intended to be processed with soapcpp2
+to generate the stub and/or skeleton code.
+
+You need to have stlvector.h present in the current directory (stlvector.h is
+in the package) to support STL vectors. To build without STL, use option -s:
+
+$ wsdl2h -s -o XMethodsQuery.h http://www.xmethods.net/wsdl/query.wsdl
+
+Or to build a pure C application, use option -c:
+
+$ wsdl2h -c -o XMethodsQuery.h http://www.xmethods.net/wsdl/query.wsdl
+
+Other useful options to control the output are -e and -y (see below).
+
+The above commands are to be followed by the soapcpp2 compilation phase:
+
+$ soapcpp2 -C XMethodsQuery.h
+
+Where option -C indicates client-side only files (soapcpp2 generates both
+client and server stubs and skeletons by default).
+
+The generated XMethodsQuery.h includes the definitions of data types and
+service operations of the XMethods Query Web service. To develop a C++ client
+application, you can use the generated 'soapXMethodsQuerySoapProxy' class and
+'XMethodsQuerySoap.nsmap' XML namespace table to access the Web service. Both
+need to be '#include'd in your source. Then compile and link the soapC.cpp,
+soapClient.cpp, and stdsoap2.cpp sources to complete the build. More
+information on this process can be found in the gSOAP documentation.
+
+When parsing a WSDL, the output file name is the WSDL input file name with
+extension '.h' instead of '.wsdl'. When an input file is absent or a WSDL file
+from a Web location is accessed, the header output will be produced on the
+standard output. Input may also consist of schema files, which is useful when
+you to need to generate code for serializing schema instances.
+
+USING A TYPEMAP FILE TO CONTROL THE INPUT AND OUTPUT
+
+The typemap.dat is the default file processed by 'wsdl2h' to customize the
+generated header file output. The default typemap.dat file is located in the
+'WS' directory. Use wsdl2h option -t to specify an alternate file.
+
+The typemap.dat file can be used to define namespace prefix and type bindings
+for the generated header files by the 'wsdl2h' tool. XML namespace prefix
+bindings can be provided to override the default choice of the ns1, ns2, ...
+prefixes generated by 'wsdl2h'. It is highly recommended to provide namespace
+prefixes for your project's XML namespaces. In this way, changes to the WSDL
+(or newer releases of wsdl2h) will have a minimal impact on coding.
+
+Bindings for namespace prefixes in typemap.dat are of the form:
+	prefix = "URI"
+
+For example, to bind the 'google' prefix to the Google API's namespace:
+	google = "urn:GoogleSearch"
+
+Type bindings can by provided to bind XML schema types to C/C++ types for your
+project.
+
+Type bindings are of the form:
+	prefix__type = declaration | use | ptr-use
+where 'declaration' introduces the type in the header file, 'use' specifies how
+the type is used directly, 'ptr-use' specifies how the type is used as a
+pointer type.
+
+For example:
+	xsd__string = | char* | char*
+After enabling this line, all XSD strings will be mapped to char* and since
+char* is already a pointer type, the 'ptr-use' part is the same as 'use' part.
+Note that the 'declaration' part is empty in these cases.
+
+Member data and functions can be provided to extend a generated struct or
+class.
+
+Class and struct extensions are of the form:
+	prefix__type = $ member-declaration
+
+For example, to add a constructor and destructor to class myns__record:
+	myns__record = $ myns__record();
+	myns__record = $ ~myns__record();
+
+To specify a set of input files in typemap.dat for wsdl2h to process, use '<':
+< infile1.wsdl
+< infile2.xsd
+< http://www.example.com/example.wsdl
+
+To specify the default output file, use '>', for example:
+> example.h
+
+Any other material to be included in the generated header file can be provided
+by enclosing the text within brackets [ and ]. Brackets MUST appear at the
+start of a new line.
+
+For example, to include a note:
+[
+// TODO: Don't forget to bind the namespace prefixes!
+]
+This comment appears as the first line in the generated header file.
+
+INPUT FORMATS
+
+wsdl2h reads from standard input or the files provided at the command line:
+
+wsdl2h [options] [-o outfile.h] [infile1.wsdl infile2.wsdl infile3.xsd ... ]
+
+Valid input file formats are .wsdl and .xsd (schema) files.
+
+Multiple wsdl and schema files can be given, which results in a consolidated
+header file with all definitions combined.
+
+OUTPUT FORMAT
+
+The output file is a gSOAP-formatted header file. The header file syntax is
+augmented with annotations reflecting WSDL and schema-specific bindings and
+validation constraints.
+
+We suggest the use of Doxygen (www.doxygen.org) to produce documented for the
+generated header file. However, we STRONGLY recommend user to inspect the
+generated header file first for warnings and other annotations (which do not
+appear in Doxygen's output) indicating potential problems.
+
+Note that Doxygen's license model does not infinge on your ownership of the
+generated gSOAP source code output when you purchased a commercial license.
+
+COMMAND LINE OPTIONS
+
+-a      generate indexed struct names for local elements with anonymous types
+-b	bi-directional operations to serve one-way response messages (duplex)
+-c      generate C source code
+-d      use DOM to populate xs:any and xsd:anyType elements
+-e      don't qualify enum names
+-f      generate flat C++ class hierarchy
+-g      generate global top-level element declarations
+-h      display help info
+-Ipath  use path to find files
+-i      don't import (advanced option)
+-j	don't generate SOAP_ENV__Header and SOAP_ENV__Detail definitions
+-k	don't generate SOAP_ENV__Header mustUnderstand qualifiers
+-l      include license information in output
+-m      use xsd.h module to import primitive types
+-Nname  use name for service prefixes to produce a service for each binding
+-nname  use name as the base namespace prefix instead of 'ns'
+-ofile  output to file
+-P      don't create polymorphic types with C++ inheritance from xsd__anyType
+-p      create polymorphic types with C++ inheritance from base xsd__anyType
+-qname  use name for the C++ namespace for all service declarations
+-rhost[:port[:uid:pwd]]
+        connect via proxy host, port, and proxy credentials
+-r:uid:pwd
+        connect with authentication credentials (digest auth requires SSL)
+-R      generate REST operations for REST bindings in the WSDL
+-s      don't generate STL code (no std::string and no std::vector)
+-tfile  use type map file instead of the default file typemap.dat
+-u      don't generate unions
+-v      verbose output
+-W      suppress warnings
+-w      always wrap response parameters in a response struct (<=1.1.4 behavior)
+-x      don't generate _XML any/anyAttribute extensibility elements
+-y      generate typedef synonyms for structs and enums
+-z1     compatibility with 2.7.6e: generate pointer-based arrays
+-z2     compatibility with 2.7.15: qualify element/attribute referenced members
+-z3     compatibility with 2.7.16 to 2.8.7: qualify element/attribute references
+-z4     compatibility up to 2.8.11: don't generate union structs in std::vector
+-z5     compatibility up to 2.8.15
+-_      don't generate _USCORE (replace with UNICODE _x005f)
+infile.wsdl infile.xsd http://www... list of input sources (if none use stdin)
+
+DOCUMENTATION
+
+See soapdoc2.pdf for documentation.
+
+INSTALLATION
+
+Use './configure' and 'make' in the root directory, as explained in the 
+installation instructions.
+
+To build 'wsdl2h' when autoconf/automake fail, use:
+
+	make -f MakefileManual
+
+ENABLING HTTPS SSL/TLS CONNECTIVITY AND HTTP DIGEST AUTHENTICATION
+
+To build 'wsdl2h' with secure features, use:
+
+	make -f MakefileManual secure
+
+If you don't have OpenSSL installed, you cannot build an SSL-secure version of
+wsdl2h. In that case we recommend downloading the WSDL and schema files for
+processing with the non-SSL-enabled wsdl2h tool.
+
+LICENSE
+
+The gSOAP WSDL parser 'wsdl2h' and source code are released under GPL or
+a commercial license. The commercial license is available from Genivia.
+Please visit http://genivia.com/Products/gsoap/contract.html
+
+COPYRIGHT NOTICE
+
+gSOAP XML Web services tools
+Copyright (C) 2000-2013, Robert van Engelen, Genivia, Inc. All Rights Reserved.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/dime.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,44 @@
+/*
+	dime.h
+
+	WSDL/DIME binding schema
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2001-2008, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+
+*/
+
+//gsoap dime schema documentation:	WSDL/DIME binding schema
+//gsoap dime schema namespace:		http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/
+
+#import "imports.h"
+
+class dime__message
+{ public:
+	@xsd__anyURI			layout;
+//	@xsd__boolean			wsdl__required;
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/gwsdl.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,73 @@
+/*
+	gwsdl.h
+
+	OGSI GWSDL binding schema interface
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2001-2008, Robert van Engelen, Genivia, Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+
+*/
+
+//gsoap gwsdl schema documentation:	OGSI GWSDL binding schema
+//gsoap gwsdl schema namespace:		http://www.gridforum.org/namespaces/2003/03/gridWSDLExtensions
+//gsoap sd schema namespace:		http://www.gridforum.org/namespaces/2003/03/serviceData
+
+#import "schema.h"
+
+class wsdl__operation;
+
+enum sd__mutability { static_, constant, extendable, mutable_ };
+
+class sd__serviceData
+{ public:
+	@xsd__NMTOKEN			name;
+	@xsd__QName			type;
+	@xsd__boolean			nillable		= false;
+	@xsd__string			minOccurs;		// xsd:nonNegativeInteger
+	@xsd__string			maxOccurs;		// xsd:nonNegativeInteger|unbounded
+	@enum sd__mutability		mutability		= extendable;
+	@xsd__boolean			modifiable		= false;
+	/* has any content */
+  public:
+};
+
+class sd__staticServiceDataValues
+{ public:
+	int				__type; /* any content, probably should use DOM */
+	void*				_any;
+};
+
+class gwsdl__portType
+{ public:
+	@xsd__NMTOKEN			name;
+	@xsd__QName			extends;		// a list of QNames
+	xsd__string			documentation;		// <wsdl:documentation>?
+	std::vector<wsdl__operation*>	operation;		// <wsdl:operation>*
+	std::vector<sd__serviceData>	sd__serviceData_;
+	sd__staticServiceDataValues	*sd__staticServiceDataValues_;
+  public:
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/http.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,62 @@
+/*
+	http.h
+
+	WSDL/HTTP binding schema interface
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2000-2012, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+//gsoap http schema documentation:	WSDL 1.1 HTTP binding schema
+//gsoap http schema namespace:		http://schemas.xmlsoap.org/wsdl/http/
+
+//gsoap whttp schema documentation:	WSDL 2.0 HTTP binding schema
+//gsoap whttp schema namespace:		http://www.w3.org/ns/wsdl/http
+
+#import "imports.h"
+
+class http__address
+{ public:
+	@xsd__anyURI		location;
+};
+
+class http__binding
+{ public:
+	@xsd__NMTOKEN		verb;
+};
+
+class http__operation
+{ public:
+	@xsd__anyURI		location;
+};
+
+class whttp__header
+{ public:
+	@xsd__string		name;
+	@xsd__QName		type;
+	@xsd__boolean		required = false;
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/imports.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,51 @@
+/*
+	imports.h
+
+	Common XSD types and externs for gSOAP header file import
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2001-2008, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+
+*/
+
+#import "stlvector.h"
+
+typedef char	*xsd__anyURI,
+		*xsd__ID,
+		*xsd__NCName,
+		*xsd__NMTOKEN,
+		*xsd__NMTOKENS,
+		*xsd__QName,
+		*xsd__string;
+typedef bool	xsd__boolean;
+
+extern class ostream;
+extern class istream;
+
+#include "includes.h"
+
+extern class SetOfString;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/includes.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,162 @@
+/*
+	includes.h
+
+	Common project definitions
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2001-2012, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+
+*/
+
+#ifndef INCLUDES_H
+#define INCLUDES_H
+
+#include "stdsoap2.h"
+
+#ifdef WITH_OPENSSL
+#include "httpda.h"
+#endif
+
+#define WSDL2H_VERSION "2.8.17r"
+
+#ifdef WIN32
+# pragma warning(disable : 4996)
+#endif
+
+#include <utility>
+#include <iterator>
+#include <vector>
+#include <set>
+#include <map>
+
+using namespace std;
+
+struct ltstr
+{ bool operator()(const char *s1, const char *s2) const
+  { return strcmp(s1, s2) < 0;
+  }
+}; 
+
+struct eqstr
+{ const char *s;
+  eqstr(const char *s) : s(s) { }
+  bool operator()(const char *t) const
+  { return strcmp(s, t) == 0;
+  }
+}; 
+
+typedef set<const char*, ltstr> SetOfString;
+
+typedef pair<const char*, const char*> Pair;
+
+struct ltpair
+{ bool operator()(Pair s1, Pair s2) const
+  { int cmp = strcmp(s1.first, s2.first);
+    if (cmp == 0)
+      cmp = strcmp(s1.second, s2.second);
+    return cmp < 0;
+  }
+};
+
+typedef map<const char*, const char*, ltstr> MapOfStringToString;
+
+typedef map<Pair, const char*, ltpair> MapOfPairToString;
+
+typedef map<const char*, size_t, ltstr> MapOfStringToNum;
+
+typedef vector<const char*> VectorOfString;
+
+extern int _flag,
+           aflag,
+           bflag,
+	   cflag,
+	   dflag,
+	   eflag,
+	   fflag,
+	   gflag,
+	   iflag,
+	   jflag,
+	   kflag,
+	   mflag,
+	   pflag,
+	   Pflag,
+	   Rflag,
+	   sflag,
+	   uflag,
+	   vflag,
+	   wflag,
+	   Wflag,
+	   xflag,
+	   yflag,
+	   zflag;
+
+extern FILE *stream;
+
+extern SetOfString exturis;
+
+#define MAXINFILES (1000)
+
+extern int infiles;
+extern char *infile[MAXINFILES], *outfile, *proxy_host, *proxy_userid, *proxy_passwd, *auth_userid, *auth_passwd;
+extern const char *mapfile, *import_path, *cwd_path, *cppnamespace;
+
+extern int proxy_port;
+
+extern const char *service_prefix;
+extern const char *schema_prefix;
+
+extern const char elementformat[];
+extern const char pointerformat[];
+extern const char attributeformat[];
+extern const char vectorformat_open[];
+extern const char vectorformat[];
+extern const char pointervectorformat[];
+extern const char arrayformat[];
+extern const char arraysizeformat[];
+extern const char arrayoffsetformat[];
+extern const char sizeformat[];
+extern const char choiceformat[];
+extern const char schemaformat[];
+extern const char serviceformat[];
+extern const char paraformat[];
+extern const char anonformat[];
+extern const char copyrightnotice[];
+extern const char licensenotice[];
+
+extern void *emalloc(size_t size);
+extern char *estrdup(const char *s);
+extern char *estrdupf(const char *s);
+
+extern void text(const char*);
+
+class Types;
+class Message;
+class Operation;
+class Service;
+class Definitions;
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/mime.cpp	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,66 @@
+/*
+	mime.cpp
+
+	WSDL/MIME binding schema
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2001-2008, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+
+*/
+
+#include "wsdlH.h"		// cannot include "schemaH.h"
+#include "includes.h"
+
+extern const char *qname_token(const char*, const char*);
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	mime:multipartRelated
+//
+////////////////////////////////////////////////////////////////////////////////
+
+int mime__multipartRelated::traverse(wsdl__definitions& definitions)
+{ if (vflag)
+    cerr << "Analyzing mime multpartRelated " << endl;
+  for (vector<mime__part>::iterator pt = part.begin(); pt != part.end(); ++pt)
+    (*pt).traverse(definitions);
+  return SOAP_OK;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	mime:part
+//
+////////////////////////////////////////////////////////////////////////////////
+
+int mime__part::traverse(wsdl__definitions& definitions)
+{ if (vflag)
+    cerr << "Analyzing mime part " << endl;
+  for (vector<soap__header>::iterator hd = soap__header_.begin(); hd != soap__header_.end(); ++hd)
+    (*hd).traverse(definitions);
+  return SOAP_OK;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/mime.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,69 @@
+/*
+	mime.h
+
+	mime and xmime binding schema
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2001-2008, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+
+*/
+
+//gsoap mime schema documentation:	WSDL/MIME binding schema
+//gsoap mime schema namespace:		http://schemas.xmlsoap.org/wsdl/mime/
+
+//gsoap xmime schema documentation:	xmime binding schema
+//gsoap xmime schema namespace:		http://www.w3.org/2005/05/xmlmime
+
+#import "imports.h"
+#import "soap.h"
+
+class mime__content
+{ public:
+ 	@xsd__NMTOKEN			part;
+	@xsd__string			type;
+};
+
+class mime__part
+{ public:
+	soap__body			*soap__body_;
+	std::vector<soap__header>	soap__header_;
+	std::vector<mime__content>	content;
+  public:
+  	int				traverse(wsdl__definitions&);
+};
+
+class mime__multipartRelated
+{ public:
+	std::vector<mime__part>		part;
+  public:
+  	int				traverse(wsdl__definitions&);
+};
+
+class mime__mimeXml
+{ public:
+	@xsd__NMTOKEN			part;
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/schema.cpp	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1699 @@
+/*
+	schema.cpp
+
+	XSD binding schema implementation
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2000-2012, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+
+*/
+
+#include "wsdlH.h"		// cannot include "schemaH.h"
+#include "includes.h"
+
+extern struct Namespace namespaces[];
+
+extern "C" {
+extern int warn_ignore(struct soap*, const char*);
+}
+
+extern const char *qname_token(const char*, const char*);
+extern int is_builtin_qname(const char*);
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	schema
+//
+////////////////////////////////////////////////////////////////////////////////
+
+xs__schema::xs__schema()
+{ soap = soap_new1(SOAP_XML_TREE | SOAP_C_UTFSTRING);
+#ifdef HTTPDA_H
+  soap_register_plugin(soap, http_da);
+#endif
+#ifdef WITH_OPENSSL
+  soap_ssl_client_context(soap, SOAP_SSL_NO_AUTHENTICATION, NULL, NULL, NULL, NULL, NULL);
+#endif
+  soap_set_namespaces(soap, namespaces);
+  soap_default(soap);
+  soap->fignore = warn_ignore;
+  soap->encodingStyle = NULL;
+  soap->proxy_host = proxy_host;
+  soap->proxy_port = proxy_port;
+  soap->proxy_userid = proxy_userid;
+  soap->proxy_passwd = proxy_passwd;
+  targetNamespace = NULL;
+  version = NULL;
+  updated = false;
+  location = NULL;
+  redirs = 0;
+}
+
+xs__schema::xs__schema(struct soap *copy)
+{ soap = soap_copy(copy);
+  soap->socket = SOAP_INVALID_SOCKET;
+  soap->recvfd = 0;
+  soap->sendfd = 1;
+  soap_default(soap);
+  soap->fignore = warn_ignore;
+  soap->encodingStyle = NULL;
+  targetNamespace = NULL;
+  version = NULL;
+  updated = false;
+  location = NULL;
+  redirs = 0;
+}
+
+xs__schema::xs__schema(struct soap *copy, const char *cwd, const char *loc)
+{ soap = soap_copy(copy);
+  soap->socket = SOAP_INVALID_SOCKET;
+  soap->recvfd = 0;
+  soap->sendfd = 1;
+  /* no longer required, since we keep the host name:
+  strcpy(soap->host, copy->host);
+  */
+  soap_default(soap);
+  soap->fignore = warn_ignore;
+  soap->encodingStyle = NULL;
+  targetNamespace = NULL;
+  version = NULL;
+  updated = false;
+  location = NULL;
+  redirs = 0;
+  read(cwd, loc);
+}
+
+xs__schema::~xs__schema()
+{ }
+
+int xs__schema::get(struct soap *soap)
+{ return preprocess();
+}
+
+int xs__schema::preprocess()
+{ // process xs:include recursively
+  // NOTE: includes are context sensitive (take context info), so keep including
+  for (vector<xs__include>::iterator in = include.begin(); in != include.end(); ++in)
+  { (*in).preprocess(*this); // read schema and recurse over <include>
+    if ((*in).schemaPtr())
+      insert(*(*in).schemaPtr());
+  }
+  for (vector<xs__redefine>::iterator re = redefine.begin(); re != redefine.end(); ++re)
+  { (*re).preprocess(*this); // read schema and recurse over <redefine>
+    if ((*re).schemaPtr())
+      insert(*(*re).schemaPtr());
+  }
+  return SOAP_OK;
+}
+
+int xs__schema::insert(xs__schema& schema)
+{ bool found;
+  if (targetNamespace && schema.targetNamespace && strcmp(targetNamespace, schema.targetNamespace))
+    if (!Wflag)
+      fprintf(stderr, "Warning: attempt to include schema with mismatching targetNamespace '%s' in schema '%s'\n", schema.targetNamespace, targetNamespace);
+  if (elementFormDefault != schema.elementFormDefault)
+    if (!Wflag)
+      fprintf(stderr, "Warning: attempt to include schema with mismatching elementFormDefault in schema '%s'\n", targetNamespace?targetNamespace:"");
+  if (attributeFormDefault != schema.attributeFormDefault)
+    if (!Wflag)
+      fprintf(stderr, "Warning: attempt to include schema with mismatching attributeFormDefault in schema '%s'\n", targetNamespace?targetNamespace:"");
+  // insert imports, but only add imports with new namespace
+  for (vector<xs__import>::const_iterator im = schema.import.begin(); im != schema.import.end(); ++im)
+  { found = false;
+    if ((*im).namespace_)
+    { for (vector<xs__import>::const_iterator i = import.begin(); i != import.end(); ++i)
+      { if ((*i).namespace_ && !strcmp((*im).namespace_, (*i).namespace_))
+        { found = true;
+          break;
+        }
+      }
+    }
+    if (!found)
+      import.push_back(*im);
+  }
+  // insert attributes, but only add attributes with new name (limited conflict check)
+  for (vector<xs__attribute>::const_iterator at = schema.attribute.begin(); at != schema.attribute.end(); ++at)
+  { found = false;
+    if ((*at).name)
+    { for (vector<xs__attribute>::const_iterator a = attribute.begin(); a != attribute.end(); ++a)
+      { if ((*a).name && !strcmp((*at).name, (*a).name))
+        { found = true;
+          if ((*at).type && (*a).type && strcmp((*at).type, (*a).type))
+            if (!Wflag)
+	      fprintf(stderr, "Warning: attempt to redefine attribute '%s' with type '%s' in schema '%s'\n", (*at).name, (*at).type, targetNamespace?targetNamespace:"");
+          break;
+        }
+      }
+    }
+    if (!found)
+    { attribute.push_back(*at);
+      attribute.back().schemaPtr(this);
+    }
+  }
+  // insert elements, but only add elements with new name (limited conflict check)
+  for (vector<xs__element>::const_iterator el = schema.element.begin(); el != schema.element.end(); ++el)
+  { found = false;
+    if ((*el).name)
+    { for (vector<xs__element>::const_iterator e = element.begin(); e != element.end(); ++e)
+      { if ((*e).name && !strcmp((*el).name, (*e).name))
+        { found = true;
+          if ((*el).type && (*e).type && strcmp((*el).type, (*e).type))
+            if (!Wflag)
+	      fprintf(stderr, "Warning: attempt to redefine element '%s' with type '%s' in schema '%s'\n", (*el).name, (*el).type, targetNamespace?targetNamespace:"");
+          break;
+        }
+      }
+    }
+    if (!found)
+    { element.push_back(*el);
+      element.back().schemaPtr(this);
+    }
+  }
+  // insert groups, but only add groups with new name (no conflict check)
+  for (vector<xs__group>::const_iterator gp = schema.group.begin(); gp != schema.group.end(); ++gp)
+  { found = false;
+    if ((*gp).name)
+    { for (vector<xs__group>::const_iterator g = group.begin(); g != group.end(); ++g)
+      { if ((*g).name && !strcmp((*gp).name, (*g).name))
+        { found = true;
+          break;
+        }
+      }
+    }
+    if (!found)
+    { group.push_back(*gp);
+      group.back().schemaPtr(this);
+    }
+  }
+  // insert attributeGroups, but only add attributeGroups with new name (no conflict check)
+  for (vector<xs__attributeGroup>::const_iterator ag = schema.attributeGroup.begin(); ag != schema.attributeGroup.end(); ++ag)
+  { found = false;
+    if ((*ag).name)
+    { for (vector<xs__attributeGroup>::const_iterator g = attributeGroup.begin(); g != attributeGroup.end(); ++g)
+      { if ((*g).name && !strcmp((*ag).name, (*g).name))
+        { found = true;
+          break;
+        }
+      }
+    }
+    if (!found)
+    { attributeGroup.push_back(*ag);
+      attributeGroup.back().schemaPtr(this);
+    }
+  }
+  // insert simpleTypes, but only add simpleTypes with new name (no conflict check)
+  for (vector<xs__simpleType>::const_iterator st = schema.simpleType.begin(); st != schema.simpleType.end(); ++st)
+  { found = false;
+    if ((*st).name)
+    { for (vector<xs__simpleType>::const_iterator s = simpleType.begin(); s != simpleType.end(); ++s)
+      { if ((*s).name && !strcmp((*st).name, (*s).name))
+        { found = true;
+          break;
+        }
+      }
+    }
+    if (!found)
+    { simpleType.push_back(*st);
+      simpleType.back().schemaPtr(this);
+    }
+  }
+  // insert complexTypes, but only add complexTypes with new name (no conflict check)
+  for (vector<xs__complexType>::const_iterator ct = schema.complexType.begin(); ct != schema.complexType.end(); ++ct)
+  { found = false;
+    if ((*ct).name)
+    { for (vector<xs__complexType>::const_iterator c = complexType.begin(); c != complexType.end(); ++c)
+      { if ((*c).name && !strcmp((*ct).name, (*c).name))
+        { found = true;
+          break;
+        }
+      }
+    }
+    if (!found)
+    { complexType.push_back(*ct);
+      complexType.back().schemaPtr(this);
+    }
+  }
+  return SOAP_OK;
+}
+
+int xs__schema::traverse()
+{ if (updated)
+    return SOAP_OK;
+  if (vflag)
+    cerr << "  Analyzing schema '" << (targetNamespace?targetNamespace:"") << "'" << endl;
+  updated = true;
+  if (!targetNamespace)
+  { if (vflag)
+      fprintf(stderr, "Warning: Schema has no targetNamespace\n");
+    targetNamespace = soap_strdup(soap, "");
+  }
+  else if (exturis.find(targetNamespace) != exturis.end())
+  { if (vflag)
+      fprintf(stderr, "Warning: Built-in schema '%s' content encountered\n", targetNamespace);
+  }
+  // process import
+  for (vector<xs__import>::iterator im = import.begin(); im != import.end(); ++im)
+    (*im).traverse(*this);
+  // process attributes
+  for (vector<xs__attribute>::iterator at = attribute.begin(); at != attribute.end(); ++at)
+    (*at).traverse(*this);
+  // process elements
+  for (vector<xs__element>::iterator el = element.begin(); el != element.end(); 
+++el)
+    (*el).traverse(*this);
+  // process simpleTypes, check conflicts with complexTypes
+  for (vector<xs__simpleType>::iterator st = simpleType.begin(); st != simpleType.end(); ++st)
+  { (*st).traverse(*this);
+    if ((*st).name)
+    { for (vector<xs__complexType>::iterator ct = complexType.begin(); ct != complexType.end(); ++ct)
+        if ((*ct).name && !strcmp((*st).name, (*ct).name))
+          if (!Wflag)
+	    fprintf(stderr, "Warning: top-level simpleType name and complexType name '%s' clash in schema '%s'\n", (*st).name, targetNamespace?targetNamespace:"");
+    }
+  }
+  // process complexTypes
+  for (vector<xs__complexType>::iterator ct = complexType.begin(); ct != complexType.end(); ++ct)
+    (*ct).traverse(*this);
+  // process groups
+  for (vector<xs__group>::iterator gp = group.begin(); gp != group.end(); ++gp)
+    (*gp).traverse(*this);
+  // process attributeGroups
+  for (vector<xs__attributeGroup>::iterator ag = attributeGroup.begin(); ag != attributeGroup.end(); ++ag)
+    (*ag).traverse(*this);
+  if (vflag)
+    cerr << "  End of schema '" << (targetNamespace?targetNamespace:"") << "'" << endl;
+  return SOAP_OK;
+}
+
+int xs__schema::read(const char *cwd, const char *loc)
+{ const char *cwd_temp;
+  if (!cwd)
+    cwd = cwd_path;
+  if (vflag)
+    fprintf(stderr, "\nOpening schema '%s' from '%s'\n", loc?loc:"", cwd?cwd:"");
+  if (loc)
+  { if (soap->recvfd > 2)
+    { soap_end_recv(soap);
+      close(soap->recvfd);
+      soap->recvfd = -1;
+    }
+    else if (soap_valid_socket(soap->socket))
+    { soap_end_recv(soap);
+      soap_closesock(soap);
+    }
+#ifdef WITH_OPENSSL
+    if (!strncmp(loc, "http://", 7) || !strncmp(loc, "https://", 8))
+#else
+    if (!strncmp(loc, "https://", 8))
+    { fprintf(stderr, "\nCannot connect to https site: no SSL support, please rebuild with SSL (default) or download the files and rerun wsdl2h\n");
+      exit(1);
+    }
+    else if (!strncmp(loc, "http://", 7))
+#endif
+    { fprintf(stderr, "\nConnecting to '%s' to retrieve schema...\n", loc);
+      location = soap_strdup(soap, loc);
+      if (soap_connect_command(soap, SOAP_GET, location, NULL))
+      { fprintf(stderr, "\nConnection failed\n");
+        exit(1);
+      }
+      fprintf(stderr, "Connected, receiving...\n");
+    }
+    else if (cwd && (!strncmp(cwd, "http://", 7) || !strncmp(cwd, "https://", 8)))
+    { char *s;
+      location = (char*)soap_malloc(soap, strlen(cwd) + strlen(loc) + 2);
+      strcpy(location, cwd);
+      s = strrchr(location, '/');
+      if (s)
+        *s = '\0';
+      strcat(location, "/");
+      strcat(location, loc);
+      fprintf(stderr, "\nConnecting to '%s' to retrieve relative path '%s' schema...\n", location, loc);
+      if (soap_connect_command(soap, SOAP_GET, location, NULL))
+      { fprintf(stderr, "\nConnection failed\n");
+        exit(1);
+      }
+      fprintf(stderr, "Connected, receiving...\n");
+    }
+    else
+    { soap->recvfd = open(loc, O_RDONLY, 0);
+      if (soap->recvfd < 0)
+      { if (cwd)
+        { char *s;
+          location = (char*)soap_malloc(soap, strlen(cwd) + strlen(loc) + 2);
+          strcpy(location, cwd);
+          s = strrchr(location, '/');
+#ifdef WIN32
+          if (!s)
+            s = strrchr(location, '\\');
+#endif
+          if (s)
+            *s = '\0';
+          strcat(location, "/");
+          strcat(location, loc);
+          if (!strncmp(location, "file://", 7))
+            location += 7;
+          soap->recvfd = open(location, O_RDONLY, 0);
+        }
+        if (soap->recvfd < 0 && import_path)
+        { location = (char*)soap_malloc(soap, strlen(import_path) + strlen(loc) + 2);
+          strcpy(location, import_path);
+          strcat(location, "/");
+          strcat(location, loc);
+          if (!strncmp(location, "file://", 7))
+            location += 7;
+          soap->recvfd = open(location, O_RDONLY, 0);
+        }
+        if (soap->recvfd < 0)
+        { fprintf(stderr, "\nCannot open '%s' to retrieve schema\n", loc);
+          exit(1);
+        }
+      }
+      else
+        location = soap_strdup(soap, loc);
+      fprintf(stderr, "\nReading schema file '%s'...\n", location);
+    }
+  }
+  cwd_temp = cwd_path;
+  cwd_path = location;
+  if (!soap_begin_recv(soap))
+    this->soap_in(soap, "xs:schema", NULL);
+  if ((soap->error >= 301 && soap->error <= 303) || soap->error == 307) // HTTP redirect, socket was closed
+  { int r = SOAP_ERR;
+    fprintf(stderr, "Redirected to '%s'...\n", soap->endpoint);
+    if (redirs++ < 10)
+      r = read(cwd, soap->endpoint);
+    else
+      fprintf(stderr, "\nMax redirects exceeded\n");
+    redirs--;
+    return r;
+  }
+  else if (soap->error == 401)
+  { int r = SOAP_ERR;
+    fprintf(stderr, "Authenticating to '%s' realm '%s'...\n", loc, soap->authrealm);
+    if (auth_userid && auth_passwd && redirs++ < 1)
+    { 
+#ifdef HTTPDA_H
+      struct http_da_info info;
+      http_da_save(soap, &info, soap->authrealm, auth_userid, auth_passwd);
+#else
+      soap->userid = auth_userid;
+      soap->passwd = auth_passwd;
+#endif
+      r = read(cwd, loc);
+#ifdef HTTPDA_H
+      http_da_release(soap, &info);
+#endif
+      redirs--;
+    }
+    else
+      fprintf(stderr, "Authentication failed, use option -r:uid:pwd and (re)build with OpenSSL to enable digest authentication\n");
+    return r;
+  }
+  if (soap->error)
+  { fprintf(stderr, "\nAn error occurred while parsing schema from '%s'\n", loc?loc:"");
+    soap_print_fault(soap, stderr);
+    if (soap->error < 200)
+      soap_print_fault_location(soap, stderr);
+    fprintf(stderr, "\nIf this schema namespace is considered \"built-in\", then add\n  namespaceprefix = <namespaceURI>\nto typemap.dat.\n");
+    exit(1);
+  }
+  fprintf(stderr, "Done reading '%s'\n", loc?loc:"");
+  soap_end_recv(soap);
+  if (soap->recvfd > 2)
+  { close(soap->recvfd);
+    soap->recvfd = -1;
+  }
+  else
+    soap_closesock(soap);
+  cwd_path = cwd_temp;
+  return SOAP_OK;
+}
+
+void xs__schema::sourceLocation(const char *loc)
+{ location = soap_strdup(soap, loc);
+}
+
+const char *xs__schema::sourceLocation()
+{ return location;
+}
+
+int xs__schema::error()
+{ return soap->error;
+}
+
+void xs__schema::print_fault()
+{ soap_print_fault(soap, stderr);
+  if (soap->error < 200)
+    soap_print_fault_location(soap, stderr);
+}
+
+void xs__schema::builtinType(const char *type)
+{ builtinTypeSet.insert(type);
+}
+
+void xs__schema::builtinElement(const char *element)
+{ builtinElementSet.insert(element);
+}
+
+void xs__schema::builtinAttribute(const char *attribute)
+{ builtinAttributeSet.insert(attribute);
+}
+
+const SetOfString& xs__schema::builtinTypes() const
+{ return builtinTypeSet;
+}
+
+const SetOfString& xs__schema::builtinElements() const
+{ return builtinElementSet;
+}
+
+const SetOfString& xs__schema::builtinAttributes() const
+{ return builtinAttributeSet;
+}
+
+bool xs__schema::empty() const
+{ return include.empty() && redefine.empty() && import.empty() && attribute.empty() && element.empty() && group.empty() && attributeGroup.empty() && simpleType.empty() && complexType.empty();
+}
+
+xs__include::xs__include()
+{ schemaLocation = NULL;
+  schemaRef = NULL;
+}
+
+int xs__include::preprocess(xs__schema &schema)
+{ if (!schemaRef && schemaLocation)
+  { // only read from include locations not read already, uses static std::map
+    static map<const char*, xs__schema*, ltstr> included;
+    map<const char*, xs__schema*, ltstr>::iterator i = included.end();
+    if (schema.targetNamespace)
+      for (i = included.begin(); i != included.end(); ++i)
+        if ((*i).second->targetNamespace
+         && !strcmp(schemaLocation, (*i).first)
+         && !strcmp(schema.targetNamespace, (*i).second->targetNamespace))
+          break;
+    if (i == included.end())
+    { if (vflag)
+        cerr << "Preprocessing schema include '" << (schemaLocation?schemaLocation:"") << "' into schema '" << (schema.targetNamespace?schema.targetNamespace:"") << "'" << endl;
+      included[schemaLocation] = schemaRef = new xs__schema(schema.soap);
+      schemaRef->read(schema.sourceLocation(), schemaLocation);
+      schemaRef->targetNamespace = schema.targetNamespace;
+    }
+    else
+    { if (vflag)
+        cerr << "Schema '" << (schemaLocation?schemaLocation:"") << "' already included into schema '" << (schema.targetNamespace?schema.targetNamespace:"") << "'" << endl;
+      schemaRef = (*i).second;
+    }
+  }
+  return SOAP_OK;
+}
+
+int xs__include::traverse(xs__schema &schema)
+{ return SOAP_OK;
+}
+
+void xs__include::schemaPtr(xs__schema *schema)
+{ schemaRef = schema;
+}
+
+xs__schema *xs__include::schemaPtr() const
+{ return schemaRef;
+}
+
+xs__redefine::xs__redefine()
+{ schemaLocation = NULL;
+  schemaRef = NULL;
+}
+
+int xs__redefine::preprocess(xs__schema &schema)
+{ if (vflag)
+    cerr << "Preprocessing schema redefine '" << (schemaLocation?schemaLocation:"") << "' into schema '" << (schema.targetNamespace?schema.targetNamespace:"") << "'" << endl;
+  if (!schemaRef)
+  { if (schemaLocation)
+    { schemaRef = new xs__schema(schema.soap, schema.sourceLocation(), schemaLocation);
+      for (vector<xs__group>::iterator gp = schemaRef->group.begin(); gp != schemaRef->group.end(); ++gp)
+      { if ((*gp).name)
+        { for (vector<xs__group>::const_iterator g = group.begin(); g != group.end(); ++g)
+          { if ((*g).name && !strcmp((*gp).name, (*g).name))
+            { *gp = *g;
+              break;
+            }
+          }
+        }
+      }
+      for (vector<xs__attributeGroup>::iterator ag = schemaRef->attributeGroup.begin(); ag != schemaRef->attributeGroup.end(); ++ag)
+      { if ((*ag).name)
+        { for (vector<xs__attributeGroup>::const_iterator g = attributeGroup.begin(); g != attributeGroup.end(); ++g)
+          { if ((*g).name && !strcmp((*ag).name, (*g).name))
+            { *ag = *g;
+              break;
+            }
+          }
+        }
+      }
+      for (vector<xs__simpleType>::iterator st = schemaRef->simpleType.begin(); st != schemaRef->simpleType.end(); ++st)
+      { if ((*st).name)
+        { for (vector<xs__simpleType>::const_iterator s = simpleType.begin(); s != simpleType.end(); ++s)
+          { if ((*s).name && !strcmp((*st).name, (*s).name))
+            { *st = *s;
+              break;
+            }
+          }
+        }
+      }
+      for (vector<xs__complexType>::iterator ct = schemaRef->complexType.begin(); ct != schemaRef->complexType.end(); ++ct)
+      { if ((*ct).name)
+        { for (vector<xs__complexType>::const_iterator c = complexType.begin(); c != complexType.end(); ++c)
+          { if ((*c).name && !strcmp((*ct).name, (*c).name))
+            { *ct = *c;
+              break;
+            }
+          }
+        }
+      }
+    }
+  }
+  return SOAP_OK;
+}
+
+int xs__redefine::traverse(xs__schema &schema)
+{ return SOAP_OK;
+}
+
+void xs__redefine::schemaPtr(xs__schema *schema)
+{ schemaRef = schema;
+}
+
+xs__schema *xs__redefine::schemaPtr() const
+{ return schemaRef;
+}
+
+xs__import::xs__import()
+{ namespace_ = NULL;
+  schemaLocation = NULL;
+  schemaRef = NULL;
+}
+
+int xs__import::traverse(xs__schema &schema)
+{ if (vflag)
+    cerr << "   Analyzing schema import '" << (namespace_?namespace_:"") << "'" << endl;
+  if (!schemaRef)
+  { bool found = false;
+    if (namespace_)
+    { for (SetOfString::const_iterator i = exturis.begin(); i != exturis.end(); ++i)
+      { if (!soap_tag_cmp(namespace_, *i))
+        { found = true;
+          break;
+        }
+      }
+    }
+    else if (!Wflag)
+      fprintf(stderr, "Warning: no namespace in <import>\n");
+    if (!found && !iflag) // don't import any of the schemas in the .nsmap table (or when -i option is used)
+    { const char *s = schemaLocation;
+      if (!s)
+        s = namespace_;
+      // only read from import locations not read already, uses static std::map
+      static map<const char*, xs__schema*, ltstr> included;
+      map<const char*, xs__schema*, ltstr>::iterator i = included.find(s);
+      if (i == included.end())
+      { included[s] = schemaRef = new xs__schema(schema.soap);
+        schemaRef->read(schema.sourceLocation(), s);
+      }
+      else
+        schemaRef = (*i).second;
+      if (schemaRef)
+      { if (!schemaRef->targetNamespace || !*schemaRef->targetNamespace)
+          schemaRef->targetNamespace = namespace_;
+        else
+	  if (!namespace_ || strcmp(schemaRef->targetNamespace, namespace_))
+            if (!Wflag)
+	      fprintf(stderr, "Warning: schema import '%s' with schema targetNamespace '%s' mismatch\n", namespace_?namespace_:"", schemaRef->targetNamespace);
+      }
+    }
+  }
+  if (schemaRef)
+    schemaRef->traverse();
+  return SOAP_OK;
+}
+
+void xs__import::schemaPtr(xs__schema *schema)
+{ schemaRef = schema;
+}
+
+xs__schema *xs__import::schemaPtr() const
+{ return schemaRef;
+}
+
+xs__attribute::xs__attribute()
+{ schemaRef = NULL;
+  attributeRef = NULL;
+  simpleTypeRef = NULL;
+}
+
+int xs__attribute::traverse(xs__schema &schema)
+{ if (vflag)
+    cerr << "   Analyzing schema attribute '" << (name?name:"") << "'" << endl;
+  schemaRef = &schema;
+  const char *token = qname_token(ref, schema.targetNamespace);
+  attributeRef = NULL;
+  if (token)
+  { for (vector<xs__attribute>::iterator i = schema.attribute.begin(); i != schema.attribute.end(); ++i)
+      if (!strcmp((*i).name, token))
+      { attributeRef = &(*i);
+        if (vflag)
+          cerr << "    Found attribute '" << (name?name:"") << "' ref '" << (token?token:"") << "'" << endl;
+        break;
+      }
+  }
+  if (!attributeRef)
+  { for (vector<xs__import>::iterator i = schema.import.begin(); i != schema.import.end(); ++i)
+    { xs__schema *s = (*i).schemaPtr();
+      if (s)
+      { token = qname_token(ref, s->targetNamespace);
+        if (token)
+        { for (vector<xs__attribute>::iterator j = s->attribute.begin(); j != s->attribute.end(); ++j)
+          { if (!strcmp((*j).name, token))
+            { attributeRef = &(*j);
+              if (vflag)
+                cerr << "    Found attribute '" << (name?name:"") << "' ref '" << (token?token:"") << "'" << endl;
+              break;
+            }
+	  }
+          if (attributeRef)
+	    break;
+        }
+      }
+    }
+  }
+  if (simpleType)
+  { simpleType->traverse(schema);
+    simpleTypeRef = simpleType;
+  }
+  else
+  { token = qname_token(type, schema.targetNamespace);
+    simpleTypeRef = NULL;
+    if (token)
+    { for (vector<xs__simpleType>::iterator i = schema.simpleType.begin(); i != schema.simpleType.end(); ++i)
+        if (!strcmp((*i).name, token))
+        { simpleTypeRef = &(*i);
+          if (vflag)
+            cerr << "    Found attribute '" << (name?name:"") << "' type '" << (token?token:"") << "'" << endl;
+          break;
+        }
+    }
+    if (!simpleTypeRef)
+    { for (vector<xs__import>::iterator i = schema.import.begin(); i != schema.import.end(); ++i)
+      { xs__schema *s = (*i).schemaPtr();
+        if (s)
+        { token = qname_token(type, s->targetNamespace);
+          if (token)
+          { for (vector<xs__simpleType>::iterator j = s->simpleType.begin(); j != s->simpleType.end(); ++j)
+            { if (!strcmp((*j).name, token))
+              { simpleTypeRef = &(*j);
+                if (vflag)
+                  cerr << "    Found attribute '" << (name?name:"") << "' type '" << (token?token:"") << "'" << endl;
+                break;
+              }
+	    }
+	    if (simpleTypeRef)
+              break;
+          }
+        }
+      }
+    }
+  }
+  if (!attributeRef && !simpleTypeRef)
+  { if (ref)
+    { if (is_builtin_qname(ref))
+        schema.builtinAttribute(ref);
+      else if (!Wflag)
+	cerr << "Warning: could not find attribute '" << (name?name:"") << "' ref '" << ref << "' in schema '" << (schema.targetNamespace?schema.targetNamespace:"") << "'" << endl;
+    }
+    else if (type)
+    { if (is_builtin_qname(type))
+        schema.builtinType(type);
+      else if (!Wflag)
+	cerr << "Warning: could not find attribute '" << (name?name:"") << "' type '" << type << "' in schema '" << (schema.targetNamespace?schema.targetNamespace:"") << "'" << endl;
+    }
+  }
+  return SOAP_OK;
+}
+
+void xs__attribute::schemaPtr(xs__schema *schema)
+{ schemaRef = schema;
+}
+
+xs__schema* xs__attribute::schemaPtr() const
+{ return schemaRef;
+}
+
+void xs__attribute::attributePtr(xs__attribute *attribute)
+{ attributeRef = attribute;
+}
+
+void xs__attribute::simpleTypePtr(xs__simpleType *simpleType)
+{ simpleTypeRef = simpleType;
+}
+
+xs__attribute *xs__attribute::attributePtr() const
+{ return attributeRef;
+}
+
+xs__simpleType *xs__attribute::simpleTypePtr() const
+{ return simpleTypeRef;
+}
+
+xs__element::xs__element()
+{ schemaRef = NULL;
+  elementRef = NULL;
+  simpleTypeRef = NULL;
+  complexTypeRef = NULL;
+}
+
+int xs__element::traverse(xs__schema &schema)
+{ if (vflag)
+    cerr << "   Analyzing schema element '" << (name?name:"") << "'" << endl;
+  schemaRef = &schema;
+  const char *token = qname_token(ref, schema.targetNamespace);
+  elementRef = NULL;
+  if (token)
+  { for (vector<xs__element>::iterator i = schema.element.begin(); i != schema.element.end(); ++i)
+    { if ((*i).name && !strcmp((*i).name, token))
+      { elementRef = &(*i);
+        if (vflag)
+          cerr << "    Found element '" << (name?name:"") << "' ref '" << (token?token:"") << "'" << endl;
+        break;
+      }
+    }
+  }
+  if (!elementRef)
+  { for (vector<xs__import>::const_iterator i = schema.import.begin(); i != schema.import.end(); ++i)
+    { xs__schema *s = (*i).schemaPtr();
+      if (s)
+      { token = qname_token(ref, s->targetNamespace);
+        if (token)
+        { for (vector<xs__element>::iterator j = s->element.begin(); j != s->element.end(); ++j)
+          { if ((*j).name && !strcmp((*j).name, token))
+            { elementRef = &(*j);
+              if (vflag)
+                cerr << "    Found element '" << (name?name:"") << "' ref '" << (token?token:"") << "'" << endl;
+              break;
+            }
+          }
+	  if (elementRef)
+            break;
+        }
+      }
+    }
+  }
+  if (simpleType)
+  { simpleType->traverse(schema);
+    simpleTypeRef = simpleType;
+  }
+  else
+  { token = qname_token(type, schema.targetNamespace);
+    simpleTypeRef = NULL;
+    if (token)
+    { for (vector<xs__simpleType>::iterator i = schema.simpleType.begin(); i != schema.simpleType.end(); ++i)
+        if ((*i).name && !strcmp((*i).name, token))
+        { simpleTypeRef = &(*i);
+          if (vflag)
+            cerr << "    Found element '" << (name?name:"") << "' simpleType '" << (token?token:"") << "'" << endl;
+          break;
+        }
+    }
+    if (!simpleTypeRef)
+    { for (vector<xs__import>::const_iterator i = schema.import.begin(); i != schema.import.end(); ++i)
+      { xs__schema *s = (*i).schemaPtr();
+        if (s)
+        { token = qname_token(type, s->targetNamespace);
+          if (token)
+          { for (vector<xs__simpleType>::iterator j = s->simpleType.begin(); j != s->simpleType.end(); ++j)
+            { if ((*j).name && !strcmp((*j).name, token))
+              { simpleTypeRef = &(*j);
+                if (vflag)
+                  cerr << "    Found element '" << (name?name:"") << "' simpleType '" << (token?token:"") << "'" << endl;
+                break;
+              }
+            }
+	    if (simpleTypeRef)
+              break;
+          }
+        }
+      }
+    }
+  }
+  if (complexType)
+  { complexType->traverse(schema);
+    complexTypeRef = complexType;
+  }
+  else
+  { token = qname_token(type, schema.targetNamespace);
+    complexTypeRef = NULL;
+    if (token)
+    { for (vector<xs__complexType>::iterator i = schema.complexType.begin(); i != schema.complexType.end(); ++i)
+        if ((*i).name && !strcmp((*i).name, token))
+        { complexTypeRef = &(*i);
+          if (vflag)
+            cerr << "    Found element '" << (name?name:"") << "' complexType '" << (token?token:"") << "'" << endl;
+          break;
+        }
+    }
+    if (!complexTypeRef)
+    { for (vector<xs__import>::const_iterator i = schema.import.begin(); i != schema.import.end(); ++i)
+      { xs__schema *s = (*i).schemaPtr();
+        if (s)
+        { token = qname_token(type, s->targetNamespace);
+          if (token)
+          { for (vector<xs__complexType>::iterator j = s->complexType.begin(); j != s->complexType.end(); ++j)
+            { if ((*j).name && !strcmp((*j).name, token))
+              { complexTypeRef = &(*j);
+                if (vflag)
+                  cerr << "    Found element '" << (name?name:"") << "' complexType '" << (token?token:"") << "'" << endl;
+                break;
+              }
+            }
+	    if (complexTypeRef)
+              break;
+          }
+        }
+      }
+    }
+  }
+  token = qname_token(substitutionGroup, schema.targetNamespace);
+  if (token)
+  { for (vector<xs__element>::iterator i = schema.element.begin(); i != schema.element.end(); ++i)
+      if (!strcmp((*i).name, token))
+      { (*i).substitutions.push_back(this);
+        if (vflag)
+          cerr << "    Found substitutionGroup element '" << (name?name:"") << "' for abstract element '" << (token?token:"") << "'" << endl;
+        break;
+      }
+  }
+  for (vector<xs__import>::const_iterator i = schema.import.begin(); i != schema.import.end(); ++i)
+  { xs__schema *s = (*i).schemaPtr();
+    if (s)
+    { token = qname_token(substitutionGroup, s->targetNamespace);
+      if (token)
+      { for (vector<xs__element>::iterator j = s->element.begin(); j != s->element.end(); ++j)
+        { if (!strcmp((*j).name, token))
+          { (*j).substitutions.push_back(this);
+            if (vflag)
+              cerr << "    Found substitutionGroup element '" << (name?name:"") << "' for abstract element '" << (token?token:"") << "'" << endl;
+            break;
+          }
+        }
+      }
+    }
+  }
+  if (!elementRef && !simpleTypeRef && !complexTypeRef)
+  { if (ref)
+    { if (is_builtin_qname(ref))
+        schema.builtinElement(ref);
+      else if (!Wflag)
+	cerr << "Warning: could not find element '" << (name?name:"") << "' ref '" << ref << "' in schema '" << (schema.targetNamespace?schema.targetNamespace:"") << "'" << endl;
+    }
+    else if (type)
+    { if (is_builtin_qname(type))
+        schema.builtinType(type);
+      else if (!Wflag)
+	cerr << "Warning: could not find element '" << (name?name:"") << "' type '" << type << "' in schema '" << (schema.targetNamespace?schema.targetNamespace:"") << "'" << endl;
+    }
+  }
+  return SOAP_OK;
+}
+
+void xs__element::schemaPtr(xs__schema *schema)
+{ schemaRef = schema;
+}
+
+xs__schema* xs__element::schemaPtr() const
+{ return schemaRef;
+}
+
+void xs__element::elementPtr(xs__element *element)
+{ elementRef = element;
+}
+
+void xs__element::simpleTypePtr(xs__simpleType *simpleType)
+{ simpleTypeRef = simpleType;
+}
+
+void xs__element::complexTypePtr(xs__complexType *complexType)
+{ complexTypeRef = complexType;
+}
+
+xs__element *xs__element::elementPtr() const
+{ return elementRef;
+}
+
+const std::vector<xs__element*>* xs__element::substitutionsPtr() const
+{ return &substitutions;
+}
+
+xs__simpleType *xs__element::simpleTypePtr() const
+{ return simpleTypeRef;
+}
+
+xs__complexType *xs__element::complexTypePtr() const
+{ return complexTypeRef;
+}
+
+xs__simpleType::xs__simpleType()
+{ schemaRef = NULL;
+  level = 0;
+}
+
+int xs__simpleType::traverse(xs__schema &schema)
+{ if (vflag)
+    cerr << "   Analyzing schema simpleType '" << (name?name:"") << "'" << endl;
+  schemaRef = &schema;
+  if (list)
+    list->traverse(schema);
+  else if (restriction)
+    restriction->traverse(schema);
+  else if (union_)
+    union_->traverse(schema);
+  return SOAP_OK;
+}
+
+void xs__simpleType::schemaPtr(xs__schema *schema)
+{ schemaRef = schema;
+}
+
+xs__schema *xs__simpleType::schemaPtr() const
+{ return schemaRef;
+}
+
+int xs__simpleType::baseLevel()
+{ if (!level)
+  { if (restriction)
+    { level = -1;
+      if (restriction->simpleTypePtr())
+        level = restriction->simpleTypePtr()->baseLevel() + 1;
+      else
+        level = 2;
+    }
+    else if (list && list->restriction)
+    { level = -1;
+      if (list->restriction->simpleTypePtr())
+        level = list->restriction->simpleTypePtr()->baseLevel() + 1;
+      else
+        level = 2;
+    }
+    else
+      level = 1;
+  }
+  else if (level < 0)
+  { cerr << "Error: cyclic simpleType restriction/extension base dependency in '" << (name?name:"") << "'" << endl;
+  }
+  return level;
+}
+
+xs__complexType::xs__complexType()
+{ schemaRef = NULL;
+  level = 0;
+}
+
+int xs__complexType::traverse(xs__schema &schema)
+{ if (vflag)
+    cerr << "   Analyzing schema complexType '" << (name?name:"") << "'" << endl;
+  schemaRef = &schema;
+  if (simpleContent)
+    simpleContent->traverse(schema);
+  else if (complexContent)
+    complexContent->traverse(schema);
+  else if (all)
+    all->traverse(schema);
+  else if (choice)
+    choice->traverse(schema);
+  else if (sequence)
+    sequence->traverse(schema);
+  else if (any)
+    any->traverse(schema);
+  for (vector<xs__attribute>::iterator at = attribute.begin(); at != attribute.end(); ++at)
+    (*at).traverse(schema);
+  for (vector<xs__attributeGroup>::iterator ag = attributeGroup.begin(); ag != attributeGroup.end(); ++ag)
+    (*ag).traverse(schema);
+  return SOAP_OK;
+}
+
+void xs__complexType::schemaPtr(xs__schema *schema)
+{ schemaRef = schema;
+}
+
+xs__schema *xs__complexType::schemaPtr() const
+{ return schemaRef;
+}
+
+int xs__complexType::baseLevel()
+{ if (!level)
+  { if (simpleContent)
+    { if (simpleContent->restriction)
+      { level = -1;
+        if (simpleContent->restriction->simpleTypePtr())
+          level = simpleContent->restriction->simpleTypePtr()->baseLevel() + 1;
+        else if (simpleContent->restriction->complexTypePtr())
+          level = simpleContent->restriction->complexTypePtr()->baseLevel() + 1;
+        else
+          level = 2;
+      }
+      else if (simpleContent->extension)
+      { level = -1;
+        if (simpleContent->extension->simpleTypePtr())
+          level = simpleContent->extension->simpleTypePtr()->baseLevel() + 1;
+        else if (simpleContent->extension->complexTypePtr())
+          level = simpleContent->extension->complexTypePtr()->baseLevel() + 1;
+        else
+          level = 2;
+      }
+    }
+    else if (complexContent)
+    { if (complexContent->restriction)
+      { level = -1;
+        if (complexContent->restriction->simpleTypePtr())
+          level = complexContent->restriction->simpleTypePtr()->baseLevel() + 1;
+        else if (complexContent->restriction->complexTypePtr())
+          level = complexContent->restriction->complexTypePtr()->baseLevel() + 1;
+        else
+          level = 2;
+      }
+      else if (complexContent->extension)
+      { level = -1;
+        if (complexContent->extension->simpleTypePtr())
+          level = complexContent->extension->simpleTypePtr()->baseLevel() + 1;
+        else if (complexContent->extension->complexTypePtr())
+          level = complexContent->extension->complexTypePtr()->baseLevel() + 1;
+        else
+          level = 2;
+      }
+    }
+    else
+      level = 1;
+  }
+  else if (level < 0)
+  { cerr << "Error: cyclic complexType restriction/extension base dependency in '" << (name?name:"") << "'" << endl;
+  }
+  return level;
+}
+
+int xs__simpleContent::traverse(xs__schema &schema)
+{ if (vflag)
+    cerr << "   Analyzing schema simpleContent" << endl;
+  if (extension)
+    extension->traverse(schema);
+  else if (restriction)
+    restriction->traverse(schema);
+  return SOAP_OK;
+}
+
+int xs__complexContent::traverse(xs__schema &schema)
+{ if (vflag)
+    cerr << "   Analyzing schema complexContent" << endl;
+  if (extension)
+    extension->traverse(schema);
+  else if (restriction)
+    restriction->traverse(schema);
+  return SOAP_OK;
+}
+
+xs__extension::xs__extension()
+{ simpleTypeRef = NULL;
+  complexTypeRef = NULL;
+}
+
+int xs__extension::traverse(xs__schema &schema)
+{ if (vflag)
+    cerr << "   Analyzing schema extension '" << (base?base:"") << "'" << endl;
+  if (group)
+    group->traverse(schema);
+  else if (all)
+    all->traverse(schema);
+  else if (choice)
+    choice->traverse(schema);
+  else if (sequence)
+    sequence->traverse(schema);
+  for (vector<xs__attribute>::iterator at = attribute.begin(); at != attribute.end(); ++at)
+    (*at).traverse(schema);
+  for (vector<xs__attributeGroup>::iterator ag = attributeGroup.begin(); ag != attributeGroup.end(); ++ag)
+    (*ag).traverse(schema);
+  const char *token = qname_token(base, schema.targetNamespace);
+  simpleTypeRef = NULL;
+  if (token)
+  { for (vector<xs__simpleType>::iterator i = schema.simpleType.begin(); i != schema.simpleType.end(); ++i)
+      if (!strcmp((*i).name, token))
+      { simpleTypeRef = &(*i);
+        if (vflag)
+          cerr << "    Found extension base type '" << (token?token:"") << "'" << endl;
+        break;
+      }
+  }
+  if (!simpleTypeRef)
+  { for (vector<xs__import>::const_iterator i = schema.import.begin(); i != schema.import.end(); ++i)
+    { xs__schema *s = (*i).schemaPtr();
+      if (s)
+      { token = qname_token(base, s->targetNamespace);
+        if (token)
+        { for (vector<xs__simpleType>::iterator j = s->simpleType.begin(); j != s->simpleType.end(); ++j)
+          { if (!strcmp((*j).name, token))
+            { simpleTypeRef = &(*j);
+              if (vflag)
+                cerr << "    Found extension base type '" << (token?token:"") << "'" << endl;
+              break;
+            }
+	  }
+	  if (simpleTypeRef)
+            break;
+        }
+      }
+    }
+  }
+  token = qname_token(base, schema.targetNamespace);
+  complexTypeRef = NULL;
+  if (token)
+  { for (vector<xs__complexType>::iterator i = schema.complexType.begin(); i != schema.complexType.end(); ++i)
+      if ((*i).name && !strcmp((*i).name, token))
+      { complexTypeRef = &(*i);
+        if (vflag)
+          cerr << "    Found extension base type '" << (token?token:"") << "'" << endl;
+        break;
+      }
+  }
+  if (!complexTypeRef)
+  { for (vector<xs__import>::const_iterator i = schema.import.begin(); i != schema.import.end(); ++i)
+    { xs__schema *s = (*i).schemaPtr();
+      if (s)
+      { token = qname_token(base, s->targetNamespace);
+        if (token)
+        { for (vector<xs__complexType>::iterator j = s->complexType.begin(); j != s->complexType.end(); ++j)
+          { if ((*j).name && !strcmp((*j).name, token))
+            { complexTypeRef = &(*j);
+              if (vflag)
+                cerr << "    Found extension base type '" << (token?token:"") << "'" << endl;
+              break;
+            }
+	  }
+	  if (complexTypeRef)
+            break;
+        }
+      }
+    }
+  }
+  if (!simpleTypeRef && !complexTypeRef)
+  { if (base)
+    { if (is_builtin_qname(base))
+        schema.builtinType(base);
+      else if (!Wflag)
+	cerr << "Warning: could not find extension base type '" << base << "' in schema '" << (schema.targetNamespace?schema.targetNamespace:"") << "'" << endl;
+    }
+    else
+      cerr << "Extension has no base" << endl;
+  }
+  return SOAP_OK;
+}
+
+void xs__extension::simpleTypePtr(xs__simpleType *simpleType)
+{ simpleTypeRef = simpleType;
+}
+
+void xs__extension::complexTypePtr(xs__complexType *complexType)
+{ complexTypeRef = complexType;
+}
+
+xs__simpleType *xs__extension::simpleTypePtr() const
+{ return simpleTypeRef;
+}
+
+xs__complexType *xs__extension::complexTypePtr() const
+{ return complexTypeRef;
+}
+
+xs__restriction::xs__restriction()
+{ simpleTypeRef = NULL;
+  complexTypeRef = NULL;
+}
+
+int xs__restriction::traverse(xs__schema &schema)
+{ if (vflag)
+    cerr << "   Analyzing schema restriction '" << (base?base:"") << "'" << endl;
+  if (simpleType)
+    simpleType->traverse(schema);
+  if (attributeGroup)
+    attributeGroup->traverse(schema);
+  if (group)
+    group->traverse(schema);
+  else if (all)
+    all->traverse(schema);
+  else if (choice)
+    choice->traverse(schema);
+  else if (sequence)
+    sequence->traverse(schema);
+  else
+  { for (vector<xs__enumeration>::iterator en = enumeration.begin(); en != enumeration.end(); ++en)
+      (*en).traverse(schema);
+    for (vector<xs__pattern>::iterator pn = pattern.begin(); pn != pattern.end(); ++pn)
+      (*pn).traverse(schema);
+  }
+  for (vector<xs__attribute>::iterator at = attribute.begin(); at != attribute.end(); ++at)
+    (*at).traverse(schema);
+  const char *token = qname_token(base, schema.targetNamespace);
+  simpleTypeRef = NULL;
+  if (token)
+  { for (vector<xs__simpleType>::iterator i = schema.simpleType.begin(); i != schema.simpleType.end(); ++i)
+      if (!strcmp((*i).name, token))
+      { simpleTypeRef = &(*i);
+        if (vflag)
+          cerr << "    Found restriction base type '" << (token?token:"") << "'" << endl;
+        break;
+      }
+  }
+  if (!simpleTypeRef)
+  { for (vector<xs__import>::const_iterator i = schema.import.begin(); i != schema.import.end(); ++i)
+    { xs__schema *s = (*i).schemaPtr();
+      if (s)
+      { token = qname_token(base, s->targetNamespace);
+        if (token)
+        { for (vector<xs__simpleType>::iterator j = s->simpleType.begin(); j != s->simpleType.end(); ++j)
+          { if (!strcmp((*j).name, token))
+            { simpleTypeRef = &(*j);
+              if (vflag)
+                cerr << "    Found restriction base type '" << (token?token:"") << "'" << endl;
+              break;
+            }
+	  }
+	  if (simpleTypeRef)
+            break;
+        }
+      }
+    }
+  }
+  token = qname_token(base, schema.targetNamespace);
+  complexTypeRef = NULL;
+  if (token)
+  { for (vector<xs__complexType>::iterator i = schema.complexType.begin(); i != schema.complexType.end(); ++i)
+      if ((*i).name && !strcmp((*i).name, token))
+      { complexTypeRef = &(*i);
+        if (vflag)
+          cerr << "    Found restriction base type '" << (token?token:"") << "'" << endl;
+        break;
+      }
+  }
+  if (!complexTypeRef)
+  { for (vector<xs__import>::const_iterator i = schema.import.begin(); i != schema.import.end(); ++i)
+    { xs__schema *s = (*i).schemaPtr();
+      if (s)
+      { token = qname_token(base, s->targetNamespace);
+        if (token)
+        { for (vector<xs__complexType>::iterator j = s->complexType.begin(); j != s->complexType.end(); ++j)
+          { if ((*j).name && !strcmp((*j).name, token))
+            { complexTypeRef = &(*j);
+              if (vflag)
+                cerr << "    Found restriction base type '" << (token?token:"") << "'" << endl;
+              break;
+            }
+	  }
+	  if (complexTypeRef)
+            break;
+        }
+      }
+    }
+  }
+  if (!simpleTypeRef && !complexTypeRef)
+  { if (base)
+    { if (is_builtin_qname(base))
+        schema.builtinType(base);
+      else if (!Wflag)
+	cerr << "Warning: could not find restriction base type '" << base << "' in schema '" << (schema.targetNamespace?schema.targetNamespace:"") << "'" << endl;
+    }
+    else if (!simpleType)
+      cerr << "Restriction has no base" << endl;
+  }
+  return SOAP_OK;
+}
+
+void xs__restriction::simpleTypePtr(xs__simpleType *simpleType)
+{ simpleTypeRef = simpleType;
+}
+
+void xs__restriction::complexTypePtr(xs__complexType *complexType)
+{ complexTypeRef = complexType;
+}
+
+xs__simpleType *xs__restriction::simpleTypePtr() const
+{ return simpleTypeRef;
+}
+
+xs__complexType *xs__restriction::complexTypePtr() const
+{ return complexTypeRef;
+}
+
+xs__list::xs__list()
+{ itemTypeRef = NULL;
+}
+
+int xs__list::traverse(xs__schema &schema)
+{ if (vflag)
+    cerr << "   Analyzing schema list" << endl;
+  if (restriction)
+    restriction->traverse(schema);
+  for (vector<xs__simpleType>::iterator i = simpleType.begin(); i != simpleType.end(); ++i)
+    (*i).traverse(schema);
+  itemTypeRef = NULL;
+  const char *token = qname_token(itemType, schema.targetNamespace);
+  if (token)
+  { for (vector<xs__simpleType>::iterator i = schema.simpleType.begin(); i != schema.simpleType.end(); ++i)
+      if (!strcmp((*i).name, token))
+      { itemTypeRef = &(*i);
+        if (vflag)
+          cerr << "    Found list itemType '" << (token?token:"") << "'" << endl;
+        break;
+      }
+  }
+  if (!itemTypeRef)
+  { for (vector<xs__import>::const_iterator i = schema.import.begin(); i != schema.import.end(); ++i)
+    { xs__schema *s = (*i).schemaPtr();
+      if (s)
+      { token = qname_token(itemType, s->targetNamespace);
+        if (token)
+        { for (vector<xs__simpleType>::iterator j = s->simpleType.begin(); j != s->simpleType.end(); ++j)
+          { if (!strcmp((*j).name, token))
+            { itemTypeRef = &(*j);
+              if (vflag)
+                cerr << "    Found list itemType '" << (token?token:"") << "'" << endl;
+              break;
+            }
+	  }
+	  if (itemTypeRef)
+            break;
+        }
+      }
+    }
+  }
+  if (itemType && !itemTypeRef)
+  { if (is_builtin_qname(itemType))
+      schema.builtinType(itemType);
+    else if (!Wflag)
+      cerr << "Warning: could not find list itemType '" << itemType << "' in schema '" << (schema.targetNamespace?schema.targetNamespace:"") << "'" << endl;
+  }
+  return SOAP_OK;
+}
+
+void xs__list::itemTypePtr(xs__simpleType *simpleType)
+{ itemTypeRef = simpleType;
+}
+
+xs__simpleType *xs__list::itemTypePtr() const
+{ return itemTypeRef;
+}
+
+int xs__union::traverse(xs__schema &schema)
+{ if (vflag)
+    cerr << "   Analyzing schema union" << endl;
+  for (vector<xs__simpleType>::iterator i = simpleType.begin(); i != simpleType.end(); ++i)
+    (*i).traverse(schema);
+  return SOAP_OK;
+}
+
+int xs__all::traverse(xs__schema &schema)
+{ if (vflag)
+    cerr << "   Analyzing schema all" << endl;
+  for (vector<xs__element>::iterator i = element.begin(); i != element.end(); ++i)
+    (*i).traverse(schema);
+  return SOAP_OK;
+}
+
+int xs__contents::traverse(xs__schema &schema)
+{ switch (__union)
+  { case SOAP_UNION_xs__union_content_element:
+      if (__content.element)
+        __content.element->traverse(schema);
+      break;
+    case SOAP_UNION_xs__union_content_group:
+      if (__content.group)
+        __content.group->traverse(schema);
+      break;
+    case SOAP_UNION_xs__union_content_choice:
+      if (__content.choice)
+        __content.choice->traverse(schema);
+      break;
+    case SOAP_UNION_xs__union_content_sequence:
+      if (__content.sequence)
+        __content.sequence->traverse(schema);
+      break;
+    case SOAP_UNION_xs__union_content_any:
+      if (__content.any)
+        __content.any->traverse(schema);
+      break;
+  }
+  return SOAP_OK;
+}
+
+xs__seqchoice::xs__seqchoice()
+{ schemaRef = NULL;
+}
+
+int xs__seqchoice::traverse(xs__schema &schema)
+{ if (vflag)
+    cerr << "   Analyzing schema sequence/choice" << endl;
+  schemaRef = &schema;
+  for (vector<xs__contents>::iterator c = __contents.begin(); c != __contents.end(); ++c)
+    (*c).traverse(schema);
+  return SOAP_OK;
+}
+
+void xs__seqchoice::schemaPtr(xs__schema *schema)
+{ schemaRef = schema;
+}
+
+xs__schema *xs__seqchoice::schemaPtr() const
+{ return schemaRef;
+}
+
+xs__attributeGroup::xs__attributeGroup()
+{ schemaRef = NULL;
+  attributeGroupRef = NULL;
+}
+
+int xs__attributeGroup::traverse(xs__schema& schema)
+{ if (vflag)
+    cerr << "   Analyzing schema attributeGroup" << endl;
+  schemaRef = &schema;
+  for (vector<xs__attribute>::iterator at = attribute.begin(); at != attribute.end(); ++at)
+    (*at).traverse(schema);
+  for (vector<xs__attributeGroup>::iterator ag = attributeGroup.begin(); ag != attributeGroup.end(); ++ag)
+    (*ag).traverse(schema);
+  attributeGroupRef = NULL;
+  if (ref)
+  { const char *token = qname_token(ref, schema.targetNamespace);
+    if (token)
+    { for (vector<xs__attributeGroup>::iterator i = schema.attributeGroup.begin(); i != schema.attributeGroup.end(); ++i)
+        if (!strcmp((*i).name, token))
+        { attributeGroupRef = &(*i);
+          if (vflag)
+              cerr << "    Found attributeGroup '" << (name?name:"") << "' ref '" << (token?token:"") << "'" << endl;
+          break;
+        }
+    }
+    if (!attributeGroupRef)
+    { for (vector<xs__import>::const_iterator i = schema.import.begin(); i != schema.import.end(); ++i)
+      { xs__schema *s = (*i).schemaPtr();
+        if (s)
+        { token = qname_token(ref, s->targetNamespace);
+          if (token)
+          { for (vector<xs__attributeGroup>::iterator j = s->attributeGroup.begin(); j != s->attributeGroup.end(); ++j)
+            { if (!strcmp((*j).name, token))
+              { attributeGroupRef = &(*j);
+                if (vflag)
+                    cerr << "    Found attribute Group '" << (name?name:"") << "' ref '" << (token?token:"") << "'" << endl;
+                break;
+              }
+	    }
+	    if (attributeGroupRef)
+              break;
+          }
+        }
+      }
+    }
+    if (!attributeGroupRef)
+      if (!Wflag)
+        cerr << "Warning: could not find attributeGroup '" << (name?name:"") << "' ref '" << (ref?ref:"") << "' in schema '" << (schema.targetNamespace?schema.targetNamespace:"") << "'" << endl;
+  }
+  return SOAP_OK;
+}
+
+void xs__attributeGroup::schemaPtr(xs__schema *schema)
+{ schemaRef = schema;
+}
+
+void xs__attributeGroup::attributeGroupPtr(xs__attributeGroup *attributeGroup)
+{ attributeGroupRef = attributeGroup;
+}
+
+xs__schema *xs__attributeGroup::schemaPtr() const
+{ return schemaRef;
+}
+
+xs__attributeGroup *xs__attributeGroup::attributeGroupPtr() const
+{ return attributeGroupRef;
+}
+
+int xs__any::traverse(xs__schema &schema)
+{ if (vflag)
+    cerr << "   Analyzing schema any" << endl;
+  for (vector<xs__element>::iterator i = element.begin(); i != element.end(); ++i)
+    (*i).traverse(schema);
+  return SOAP_OK;
+}
+
+xs__group::xs__group()
+{ schemaRef = NULL;
+  groupRef = NULL;
+}
+
+int xs__group::traverse(xs__schema &schema)
+{ if (vflag)
+    cerr << "   Analyzing schema group" << endl;
+  schemaRef = &schema;
+  if (all)
+    all->traverse(schema);
+  else if (choice)
+    choice->traverse(schema);
+  else if (sequence)
+    sequence->traverse(schema);
+  groupRef = NULL;
+  if (ref)
+  { const char *token = qname_token(ref, schema.targetNamespace);
+    if (token)
+    { for (vector<xs__group>::iterator i = schema.group.begin(); i != schema.group.end(); ++i)
+        if (!strcmp((*i).name, token))
+        { groupRef = &(*i);
+          if (vflag)
+              cerr << "    Found group '" << (name?name:"") << "' ref '" << (token?token:"") << "'" << endl;
+          break;
+        }
+    }
+    if (!groupRef)
+    { for (vector<xs__import>::const_iterator i = schema.import.begin(); i != schema.import.end(); ++i)
+      { xs__schema *s = (*i).schemaPtr();
+        if (s)
+        { token = qname_token(ref, s->targetNamespace);
+          if (token)
+          { for (vector<xs__group>::iterator j = s->group.begin(); j != s->group.end(); ++j)
+            { if (!strcmp((*j).name, token))
+              { groupRef = &(*j);
+                if (vflag)
+                    cerr << "    Found group '" << (name?name:"") << "' ref '" << (token?token:"") << "'" << endl;
+                break;
+              }
+	    }
+	    if (groupRef)
+              break;
+          }
+        }
+      }
+    }
+    if (!groupRef)
+      if (!Wflag)
+        cerr << "Warning: could not find group '" << (name?name:"") << "' ref '" << (ref?ref:"") << "' in schema '" << (schema.targetNamespace?schema.targetNamespace:"") << "'" << endl;
+  }
+  return SOAP_OK;
+}
+
+void xs__group::schemaPtr(xs__schema *schema)
+{ schemaRef = schema;
+}
+
+xs__schema* xs__group::schemaPtr() const
+{ return schemaRef;
+}
+
+void xs__group::groupPtr(xs__group *group)
+{ groupRef = group;
+}
+
+xs__group* xs__group::groupPtr() const
+{ return groupRef;
+}
+
+int xs__enumeration::traverse(xs__schema &schema)
+{ if (vflag)
+    cerr << "   Analyzing schema enumeration '" << (value?value:"") << "'" << endl;
+  return SOAP_OK;
+}
+
+int xs__pattern::traverse(xs__schema &schema)
+{ if (vflag)
+    cerr << "   Analyzing schema pattern" << endl;
+  return SOAP_OK;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	I/O
+//
+////////////////////////////////////////////////////////////////////////////////
+
+ostream &operator<<(ostream &o, const xs__schema &e)
+{ if (!e.soap)
+  { struct soap soap;
+    soap_init2(&soap, SOAP_IO_DEFAULT, SOAP_XML_TREE | SOAP_C_UTFSTRING);
+    soap_set_namespaces(&soap, namespaces);
+    e.soap_serialize(&soap);
+    soap_begin_send(&soap);
+    e.soap_out(&soap, "xs:schema", 0, NULL);
+    soap_end_send(&soap);
+    soap_end(&soap);
+    soap_done(&soap);
+  }
+  else
+  { ostream *os = e.soap->os;
+    e.soap->os = &o;
+    e.soap_serialize(e.soap);
+    soap_begin_send(e.soap);
+    e.soap_out(e.soap, "xs:schema", 0, NULL);
+    soap_end_send(e.soap);
+    e.soap->os = os;
+  }
+  return o;
+}
+
+istream &operator>>(istream &i, xs__schema &e)
+{ if (!e.soap)
+  { e.soap = soap_new();
+    soap_set_namespaces(e.soap, namespaces);
+  }
+  istream *is = e.soap->is;
+  e.soap->is = &i;
+  if (soap_begin_recv(e.soap)
+   || !e.soap_in(e.soap, "xs:schema", NULL)
+   || soap_end_recv(e.soap))
+  { // handle error? Note: e.soap->error is set and app should check
+  }
+  e.soap->is = is;
+  return i;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/schema.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,498 @@
+/*
+	schema.h
+
+	XSD binding schema interface
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+
+*/
+
+//gsoap xs schema documentation:	XSD binding schema
+//gsoap xs schema namespace:		http://www.w3.org/2001/XMLSchema
+//gsoap xs schema elementForm:		qualified
+//gsoap xs schema attributeForm:	unqualified
+
+/* For the wsdl:arrayType attribute to support old style SOAP arrays: */
+//gsoap wsdl schema namespace:		http://schemas.xmlsoap.org/wsdl/
+
+#import "imports.h"
+
+class xs__schema;			// forward declaration
+class xs__simpleType;			// forward declaration
+class xs__complexType;			// forward declaration
+class xs__extension;			// forward declaration
+class xs__restriction;			// forward declaration
+class xs__seqchoice;			// forward declaration
+class xs__group;			// forward declaration
+class xs__list;				// forward declaration
+class xs__union;			// forward declaration
+
+class xs__annotation
+{ public:
+	char				*documentation;
+};
+
+enum xs__formChoice { unqualified, qualified };
+
+class xs__element
+{ public:
+	// @xsd__ID			id;
+	@xsd__NCName			name;
+	@xsd__QName			ref;
+	@xsd__QName			type;
+	@xsd__string			default_;
+	@xsd__QName			default__;		// also get QName value if element type is QName
+	@xsd__string			fixed;
+	@xsd__QName			fixed_;			// also get QName value if element type is QName
+	@enum xs__formChoice		*form;
+	@xsd__boolean			nillable		= false;
+	@xsd__boolean			abstract		= false;
+	@xsd__QName			substitutionGroup;
+	@xsd__string			minOccurs;		// xsd:nonNegativeInteger
+	@xsd__string			maxOccurs;		// xsd:nonNegativeInteger|unbounded
+	@xsd__string			xmime__expectedContentTypes;
+	xs__annotation			*annotation;
+	xs__simpleType			*simpleType;		// choice
+	xs__complexType			*complexType;		// choice
+	xsd__string			unique;			// dummy, not used
+  private:
+	xs__schema			*schemaRef;		// schema to which this belongs
+  	xs__element			*elementRef;		// traverse() finds ref
+  	xs__simpleType			*simpleTypeRef;		// traverse() finds type or = simpleType above
+  	xs__complexType			*complexTypeRef;	// traverse() finds type or = complexType above
+	std::vector<xs__element*>	substitutions;		// traverse() finds substitutionGroup elements for this abstract element
+  public:
+					xs__element();
+  	int				traverse(xs__schema&);
+	void				schemaPtr(xs__schema*);
+	void				elementPtr(xs__element*);
+	void				simpleTypePtr(xs__simpleType*);
+	void				complexTypePtr(xs__complexType*);
+	xs__schema			*schemaPtr() const;
+	xs__element			*elementPtr() const;
+	xs__simpleType			*simpleTypePtr() const;
+	xs__complexType			*complexTypePtr() const;
+	const std::vector<xs__element*>	*substitutionsPtr() const;
+};
+
+enum xs__attribute_use { optional, prohibited, required, default_, fixed_ };
+
+class xs__attribute
+{ public:
+	@xsd__NCName			name;
+	@xsd__QName			ref;
+	@xsd__QName			type;
+	@enum xs__attribute_use		use			= optional;
+	@xsd__string			default_;
+	@xsd__QName			default__;		// also get QName value if attribute type is QName
+	@xsd__string			fixed;
+	@xsd__QName			fixed_;			// also get QName value if attribute type is QName
+	@enum xs__formChoice		*form;
+	@xsd__QName			wsdl__arrayType;	// extensibility attribute added to simplify WSDL parsing
+	xs__annotation			*annotation;
+	xs__simpleType			*simpleType;
+  private:
+	xs__schema			*schemaRef;		// schema to which this belongs
+  	xs__attribute			*attributeRef;		// traverse() finds ref
+  	xs__simpleType			*simpleTypeRef;		// traverse() finds type or = simpleType above
+  public:
+					xs__attribute();
+  	int				traverse(xs__schema&);
+	void				schemaPtr(xs__schema*);
+	void				attributePtr(xs__attribute*);
+	void				simpleTypePtr(xs__simpleType*);
+	xs__schema			*schemaPtr() const;
+	xs__attribute			*attributePtr() const;
+	xs__simpleType			*simpleTypePtr() const;
+};
+
+class xs__all
+{ public:
+	std::vector<xs__element>	element;
+  public:
+  	int				traverse(xs__schema&);
+};
+
+enum xs__processContents { strict, skip, lax };
+
+typedef char *xs__namespaceList;	// "##any" or "##other" or list of URI, "##targetNamespace", "##local"
+
+class xs__any
+{ public:
+	@xs__namespaceList		namespace_		= "##any";
+	@enum xs__processContents	processContents		= strict;
+	@xsd__string			minOccurs;		// xsd:nonNegativeInteger
+	@xsd__string			maxOccurs;		// xsd:nonNegativeInteger|unbounded
+	std::vector<xs__element>	element;
+  public:
+  	int				traverse(xs__schema&);
+};
+
+class xs__contents
+{ public:
+	$int				__union;			
+	union xs__union_content
+	{	xs__element		*element;
+		xs__group		*group;
+		xs__seqchoice		*choice;
+		xs__seqchoice		*sequence;
+		xs__any			*any;
+	}				__content;
+  public:
+  	int				traverse(xs__schema&);
+};
+
+class xs__seqchoice
+{ public:
+	@xsd__string			minOccurs;		// xsd:nonNegativeInteger
+	@xsd__string			maxOccurs;		// xsd:nonNegativeInteger|unbounded
+	xs__annotation			*annotation;
+	std::vector<xs__contents>	__contents;
+  private:
+	xs__schema			*schemaRef;		// schema to which this belongs
+  public:
+					xs__seqchoice();
+  	int				traverse(xs__schema&);
+	void				schemaPtr(xs__schema*);
+	xs__schema			*schemaPtr() const;
+};
+
+class xs__group
+{ public:
+	@xsd__NCName			name;
+	@xsd__QName			ref;
+	@xsd__string			minOccurs;		// xsd:nonNegativeInteger
+	@xsd__string			maxOccurs;		// xsd:nonNegativeInteger|unbounded
+	xs__annotation			*annotation;
+	xs__all				*all;
+	xs__seqchoice			*choice;
+	xs__seqchoice			*sequence;
+  private:
+	xs__schema			*schemaRef;		// schema to which this belongs
+  	xs__group			*groupRef;		// traverse() finds ref
+  public:
+  					xs__group();
+  	int				traverse(xs__schema&);
+	void				schemaPtr(xs__schema*);
+	void				groupPtr(xs__group*);
+	xs__schema			*schemaPtr() const;
+	xs__group			*groupPtr() const;
+};
+
+class xs__anyAttribute
+{ public:
+	@xs__namespaceList		namespace_		= "##any";
+	@enum xs__processContents	processContents		= strict;
+};
+
+class xs__attributeGroup
+{ public:
+	@xsd__NCName			name;
+	@xsd__QName			ref;
+	xs__annotation			*annotation;
+	std::vector<xs__attribute>	attribute;
+	std::vector<xs__attributeGroup>	attributeGroup;
+	xs__anyAttribute		*anyAttribute;
+  private:
+	xs__schema			*schemaRef;
+  	xs__attributeGroup		*attributeGroupRef;
+  public:
+					xs__attributeGroup();
+  	int				traverse(xs__schema&);
+	void				schemaPtr(xs__schema*);
+	void				attributeGroupPtr(xs__attributeGroup*);
+	xs__schema			*schemaPtr() const;
+	xs__attributeGroup		*attributeGroupPtr() const;
+};
+
+class xs__enumeration
+{ public:
+	@xsd__string			value;
+	@xsd__QName			value_;	// also get QName value if base type is QName
+	xs__annotation			*annotation;
+  public:
+  	int				traverse(xs__schema&);
+};
+
+class xs__pattern
+{ public:
+	@xsd__string			value;
+  public:
+  	int				traverse(xs__schema&);
+};
+
+class xs__simpleContent
+{ public:
+	xs__extension			*extension;	// choice
+ 	xs__restriction			*restriction;	// choice
+  public:
+  	int				traverse(xs__schema&);
+};
+
+class xs__simpleType
+{ public:
+	@xsd__NMTOKEN			name;
+	xs__annotation			*annotation;
+ 	xs__restriction			*restriction;	// choice
+ 	xs__list			*list;		// choice
+ 	xs__union			*union_;	// choice
+  private:
+	xs__schema			*schemaRef;
+	int				level;
+  public:
+					xs__simpleType();
+  	int				traverse(xs__schema&);
+	void				schemaPtr(xs__schema*);
+	xs__schema			*schemaPtr() const;
+	int				baseLevel();
+};
+
+class xs__extension
+{ public:
+	@xsd__QName			base;
+	xs__group			*group;
+	xs__all				*all;
+	xs__seqchoice			*choice;
+	xs__seqchoice			*sequence;
+	std::vector<xs__attribute>	attribute;
+	std::vector<xs__attributeGroup>	attributeGroup;
+	xs__anyAttribute		*anyAttribute;
+  private:
+  	xs__simpleType			*simpleTypeRef;		// traverse() finds type
+  	xs__complexType			*complexTypeRef;	// traverse() finds type
+  public:
+					xs__extension();
+  	int				traverse(xs__schema&);
+	void				simpleTypePtr(xs__simpleType*);
+	void				complexTypePtr(xs__complexType*);
+	xs__simpleType			*simpleTypePtr() const;
+	xs__complexType			*complexTypePtr() const;
+};
+
+class xs__length
+{ public:
+	@xsd__string			value;
+	@xsd__boolean			fixed;
+	xs__annotation			*annotation;
+};
+
+class xs__whiteSpace
+{ public:
+	@xsd__string			value;
+};
+
+class xs__restriction
+{ public:
+	@xsd__QName			base;
+	xs__simpleType			*simpleType;    // used in <simpleType><restriction>
+	xs__attributeGroup		*attributeGroup;// not used in <simpleType><restriction>
+	xs__group			*group;		// not used in <simpleType><restriction>
+	xs__all				*all;		// not used in <simpleType><restriction>
+	xs__seqchoice			*choice;	// not used in <simpleType><restriction>
+	xs__seqchoice			*sequence;	// not used in <simpleType><restriction>
+	std::vector<xs__attribute>	attribute;	// not used in <simpleType><restriction>
+	xs__anyAttribute		*anyAttribute;	// not used in <simpleType><restriction>
+	std::vector<xs__enumeration>	enumeration;
+	std::vector<xs__pattern>	pattern;
+	xs__whiteSpace			*whiteSpace;
+	xs__length			*length;
+	xs__length			*minLength;
+	xs__length			*maxLength;
+	xs__length			*precision;		// 2000 schema
+	xs__length			*scale;			// 2000 schema
+	xs__length			*totalDigits;		// 2001 schema
+	xs__length			*fractionDigits;	// 2001 schema
+	xs__length			*minInclusive;
+	xs__length			*maxInclusive;
+	xs__length			*minExclusive;
+	xs__length			*maxExclusive;
+	xs__annotation			*annotation;
+  private:
+  	xs__simpleType			*simpleTypeRef;		// traverse() finds type
+  	xs__complexType			*complexTypeRef;	// traverse() finds type
+  public:
+					xs__restriction();
+  	int				traverse(xs__schema&);
+	void				simpleTypePtr(xs__simpleType*);
+	void				complexTypePtr(xs__complexType*);
+	xs__simpleType			*simpleTypePtr() const;
+	xs__complexType			*complexTypePtr() const;
+};
+
+class xs__list
+{ public:
+	@xsd__QName			itemType;
+ 	xs__restriction			*restriction;	// choice
+	std::vector<xs__simpleType>	simpleType;	// choice
+  private:
+  	xs__simpleType			*itemTypeRef;
+  public:
+					xs__list();
+  	int				traverse(xs__schema&);
+	void				itemTypePtr(xs__simpleType*);
+	xs__simpleType			*itemTypePtr() const;
+};
+
+class xs__union
+{ public:
+	@xsd__NMTOKENS			memberTypes;	// check if NMTOKENS is ok???
+	std::vector<xs__simpleType>	simpleType;
+  public:
+  	int				traverse(xs__schema&);
+};
+
+class xs__complexContent
+{ public:
+	@xsd__boolean			mixed			= false;
+	xs__extension			*extension;
+ 	xs__restriction			*restriction;
+  public:
+  	int				traverse(xs__schema&);
+};
+
+class xs__complexType
+{ public:
+	@xsd__NMTOKEN			name;
+	@xsd__boolean			abstract		= false;
+	@xsd__boolean			mixed			= false;
+	xs__annotation			*annotation;
+	xs__simpleContent		*simpleContent;
+	xs__complexContent		*complexContent;
+	xs__all				*all;
+	xs__seqchoice			*choice;
+	xs__seqchoice			*sequence;
+	xs__any				*any;
+	std::vector<xs__attribute>	attribute;
+	std::vector<xs__attributeGroup>	attributeGroup;
+	xs__anyAttribute		*anyAttribute;
+  private:
+	xs__schema			*schemaRef;
+  	int				level;
+  public:
+					xs__complexType();
+  	int				traverse(xs__schema&);
+	void				schemaPtr(xs__schema*);
+	xs__schema			*schemaPtr() const;
+	int				baseLevel();
+};
+
+class xs__import
+{ public:
+	@xsd__anyURI			namespace_;
+	@xsd__anyURI			schemaLocation;
+  private:
+  	xs__schema			*schemaRef;		// set by WSDL parser or via schemaLocation
+  public:
+					xs__import();
+  	int				traverse(xs__schema&);
+	void				schemaPtr(xs__schema*);
+	xs__schema			*schemaPtr() const;
+};
+
+class xs__include
+{ public:
+	@xsd__anyURI			schemaLocation;
+  private:
+  	xs__schema			*schemaRef;
+  public:
+					xs__include();
+  	int				preprocess(xs__schema&);
+  	int				traverse(xs__schema&);
+	void				schemaPtr(xs__schema*);
+	xs__schema			*schemaPtr() const;
+};
+	
+class xs__redefine
+{ public:
+	@xsd__anyURI			schemaLocation;
+	std::vector<xs__group>		group;
+	std::vector<xs__attributeGroup>	attributeGroup;
+	std::vector<xs__simpleType>	simpleType;
+	std::vector<xs__complexType>	complexType;
+  private:
+  	xs__schema			*schemaRef;
+  public:
+					xs__redefine();
+  	int				preprocess(xs__schema&);
+  	int				traverse(xs__schema&);
+	void				schemaPtr(xs__schema*);
+	xs__schema			*schemaPtr() const;
+};
+	
+class xs__schema
+{ public:
+	@xsd__anyURI			targetNamespace		= "";
+	@xsd__string			version;
+	@enum xs__formChoice		attributeFormDefault	= unqualified;
+	@enum xs__formChoice		elementFormDefault	= unqualified;
+	xs__annotation			*annotation;
+	std::vector<xs__include>	include;
+	std::vector<xs__redefine>	redefine;
+	std::vector<xs__import>		import;
+	std::vector<xs__attribute>	attribute;
+	std::vector<xs__element>	element;
+	std::vector<xs__group>		group;
+	std::vector<xs__attributeGroup>	attributeGroup;
+	std::vector<xs__simpleType>	simpleType;
+	std::vector<xs__complexType>	complexType;
+  	struct soap			*soap;
+  private:
+	bool				updated;
+	char*				location;
+	int				redirs;
+	SetOfString			builtinTypeSet;
+	SetOfString			builtinElementSet;
+	SetOfString			builtinAttributeSet;
+  public:
+					xs__schema();
+					xs__schema(struct soap*);
+					xs__schema(struct soap*, const char*, const char*);
+	virtual				~xs__schema();
+	int				get(struct soap*);	// gSOAP getter is triggered after parsing
+	int				preprocess();
+	int				insert(xs__schema&);
+	int				traverse();
+	int				read(const char*, const char*);
+	void				sourceLocation(const char*);
+	const char*			sourceLocation();
+	int				error();
+	void				print_fault();
+	void				builtinType(const char*);
+	void				builtinElement(const char*);
+	void				builtinAttribute(const char*);
+	const SetOfString&		builtinTypes() const;
+	const SetOfString&		builtinElements() const;
+	const SetOfString&		builtinAttributes() const;
+	bool				empty() const;
+	friend ostream&			operator<<(ostream&, const xs__schema&);
+	friend istream&			operator>>(istream&, xs__schema&);
+};
+
+extern ostream &operator<<(ostream &o, const xs__schema &e);
+extern istream &operator>>(istream &i, xs__schema &e);
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/service.cpp	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,3039 @@
+/*
+	service.cpp
+
+	Generate gSOAP service structures from WSDL.
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This part of the software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+
+TODO:	consider adding support for non-SOAP HTTP operations
+        add headerfault output definitions
+
+*/
+
+#include "types.h"
+#include "service.h"
+
+#include <algorithm>
+
+#define URI_CHAR(c) (((c) > 32 && (c) != '"' && (c) != '<' && (c) != '>' && (c) != '\\' && (c) != '^' && (c) != '`' && (c) <= 'z') || (c) == '~')
+
+static const char *urienc(struct soap*, const char*);
+static bool imported(const char *tag);
+static void comment(const char *start, const char *middle, const char *end, const char *text);
+static void page(const char *page, const char *title, const char *text);
+static void section(const char *section, const char *title, const char *text);
+static void banner(const char*);
+static void banner(const char*, const char*);
+static void ident();
+static void gen_policy(Service&, const vector<const wsp__Policy*>&, const char*, Types&);
+static void gen_policy_enablers(const Service&);
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	Definitions methods
+//
+////////////////////////////////////////////////////////////////////////////////
+
+Definitions::Definitions()
+{ }
+
+void Definitions::collect(const wsdl__definitions &definitions)
+{ // Collect information: analyze WSDL definitions and imported definitions
+  analyze(definitions);
+  for (vector<wsdl__import>::const_iterator import = definitions.import.begin(); import != definitions.import.end(); ++import)
+    if ((*import).definitionsPtr())
+      analyze(*(*import).definitionsPtr());
+}
+
+void Definitions::analyze(const wsdl__definitions &definitions)
+{ // Analyze WSDL and build Service information
+  int binding_count = 0;
+  // Determine number of relevant SOAP service bindings (service prefix option only)
+  for (vector<wsdl__binding>::const_iterator i = definitions.binding.begin(); i != definitions.binding.end(); ++i)
+  { for (vector<wsdl__ext_operation>::const_iterator j = (*i).operation.begin(); j != (*i).operation.end(); ++j)
+    { if ((*j).operationPtr())
+      { binding_count++;
+        break;
+      }
+    }
+  }
+  if (binding_count == 0 && definitions.name && (!definitions.portType.empty() || !definitions.interface_.empty()))
+    fprintf(stderr, "\nWarning: WSDL \"%s\" has no bindings to implement operations\n", definitions.name);
+  else if (binding_count > 1 && !service_prefix)
+  { // This puts all operations under a single binding
+    fprintf(stderr, "\nWarning: %d service bindings found, but collected as one service (use option -Nname to produce a separate service for each binding)\n", binding_count);
+  }
+  // Analyze and collect service data
+  for (vector<wsdl__binding>::const_iterator binding = definitions.binding.begin(); binding != definitions.binding.end(); ++binding)
+  { // /definitions/binding/documentation
+    const char *binding_documentation = (*binding).documentation;
+    // /definitions/binding/soap:binding
+    soap__binding *soap__binding_ = (*binding).soap__binding_;
+    // /definitions/binding/soap:binding/@transport
+    const char *soap__binding_transport = NULL;
+    int version = 0;
+    if (soap__binding_)
+      soap__binding_transport = soap__binding_->transport;
+    else if ((*binding).wsoap__version && strlen((*binding).wsoap__version) > 2)
+      version = (*binding).wsoap__version[2]-'0'; // WSDL 2.0
+    else if (!(*binding).http__binding_)
+      version = 2; // assume WSDL 2.0
+    if (version == 2)
+      soap12 = true;
+    // /definitions/binding/@soap:protocol
+    if ((*binding).wsoap__protocol)
+      soap__binding_transport = (*binding).wsoap__protocol;
+    // /definitions/binding/@name
+    const char *binding_name = "";
+    if ((*binding).name)
+      binding_name = (*binding).name;
+    else if ((*binding).portTypePtr() && (*binding).portTypePtr()->name)
+    { char *s = (char*)soap_malloc(definitions.soap, strlen((*binding).portTypePtr()->name) + 8);
+      strcpy(s, (*binding).portTypePtr()->name);
+      strcat(s, "Binding");
+      binding_name = s;
+    }
+    // /definitions/binding/@type
+    const char *binding_type = NULL;
+    if ((*binding).type_)
+      binding_type = (*binding).type_;
+    // TODO: need to find the Policy of portType, though never used...
+    // const wsp__Policy *portType_policy = NULL;
+    // /definitions/binding/wsp:Policy and wsp:PolicyReference
+    /*
+    const wsp__Policy *binding_policy = NULL;
+    if ((*binding).wsp__Policy_)
+      binding_policy = (*binding).wsp__Policy_;
+    if ((*binding).wsp__PolicyReference_)
+      binding_policy = (*binding).wsp__PolicyReference_->policyPtr();
+    */
+    // /definitions/binding/http:binding
+    http__binding *http__binding_ = (*binding).http__binding_;
+    const char *http__binding_verb = NULL;
+    if (http__binding_)
+      http__binding_verb = http__binding_->verb; // HTTP POST and GET
+    else if ((*binding).whttp__methodDefault)
+      http__binding_verb = (*binding).whttp__methodDefault; // HTTP POST and GET
+    // /definitions/binding/soap:binding/@style
+    soap__styleChoice soap__binding_style = document;
+    if (soap__binding_ && soap__binding_->style)
+      soap__binding_style = *soap__binding_->style;
+    // /definitions/binding/operation*
+    for (vector<wsdl__ext_operation>::const_iterator operation = (*binding).operation.begin(); operation != (*binding).operation.end(); ++operation)
+    { // /definitions/portType/operation/ associated with /definitions/binding/operation
+      wsdl__operation *wsdl__operation_ = (*operation).operationPtr();
+      // /definitions/binding/operation/soap:operation
+      soap__operation *soap__operation_ = (*operation).soap__operation_;
+      // /definitions/binding/operation/soap:operation/@style
+      soap__styleChoice soap__operation_style = soap__binding_style;
+      if (soap__operation_ && soap__operation_->style)
+        soap__operation_style = *soap__operation_->style;
+      // /definitions/binding/@wsoap:mepDefault
+      const char *soap__operation_mep = (*binding).wsoap__mepDefault;
+      // /definitions/binding/operation/@wsoap:mep
+      if ((*operation).wsoap__mep)
+        soap__operation_mep = (*operation).wsoap__mep;
+      // /definitions/binding/operation/@whttp:method
+      const char *http_method = http__binding_verb;
+      if ((*operation).whttp__method)
+        http_method = (*operation).whttp__method;
+      // /definitions/binding/operation/@wsoap:action
+      const char *soap__operation_action = NULL;
+      if ((*operation).wsoap__action)
+        soap__operation_action = (*operation).wsoap__action;
+      // /definitions/binding/operation/http:operation
+      http__operation *http__operation_ = (*operation).http__operation_;
+      // /definitions/binding/wsp:Policy and wsp:PolicyReference
+      const wsp__Policy *ext_operation_policy = NULL;
+      if ((*operation).wsp__Policy_)
+        ext_operation_policy = (*operation).wsp__Policy_;
+      if ((*operation).wsp__PolicyReference_)
+        ext_operation_policy = (*operation).wsp__PolicyReference_->policyPtr();
+      // /definitions/binding/operation/http:operation/@location
+      const char *http__operation_location = NULL;
+      if (http__operation_)
+        http__operation_location = http__operation_->location;
+      else if ((*operation).whttp__location)
+        http__operation_location = (*operation).whttp__location;
+      // /definitions/binding/operation/input and output
+      wsdl__ext_ioput *ext_input, *ext_output;
+      // /definitions/portType/operation
+      if (wsdl__operation_ && wsdl__operation_->name)
+      { bool reversed = false;
+        wsdl__ioput *input = NULL;
+        wsdl__ioput *output = NULL;
+	// normalize input/output order for solicit-response operations
+	if (wsdl__operation_->__union1 == SOAP_UNION_wsdl__union_ioput_input)
+          input = wsdl__operation_->__ioput1.input;
+	else if (wsdl__operation_->__union1 == SOAP_UNION_wsdl__union_ioput_output)
+	{ reversed = true;
+          input = wsdl__operation_->__ioput1.output;
+	}
+	if (wsdl__operation_->__union2 == SOAP_UNION_wsdl__union_ioput_input)
+	{ reversed = true;
+          output = wsdl__operation_->__ioput2.input;
+	}
+	else if (wsdl__operation_->__union2 == SOAP_UNION_wsdl__union_ioput_output)
+          output = wsdl__operation_->__ioput2.output;
+	else // one input only or one output only (or none)
+	{ reversed = false;
+	  input = NULL;
+	  output = NULL;
+	  if (wsdl__operation_->__union1 == SOAP_UNION_wsdl__union_ioput_input)
+            input = wsdl__operation_->__ioput1.input;
+	  else if (wsdl__operation_->__union1 == SOAP_UNION_wsdl__union_ioput_output)
+            output = wsdl__operation_->__ioput1.output;
+	}
+	if (!reversed)
+        { ext_input = (*operation).input;
+          ext_output = (*operation).output;
+	}
+	else
+        { ext_input = (*operation).output;
+          ext_output = (*operation).input;
+	}
+	if ((http_method && !strcmp(http_method, "GET"))
+	 || (wsdl__operation_->pattern && !strstr(wsdl__operation_->pattern, "in")))
+	  input = NULL;
+	if (wsdl__operation_->pattern && !strstr(wsdl__operation_->pattern, "out"))
+	  output = NULL;
+	if (wsdl__operation_->pattern) // WSDL 2.0
+	{ soap__operation_style = document;
+	  if (wsdl__operation_->style && !strcmp(wsdl__operation_->style, "http://www.w3.org/ns/wsdl/rpc"))
+            soap__operation_style = rpc;
+	  else if ((*binding).portTypePtr() && (*binding).portTypePtr()->styleDefault && !strcmp( (*binding).portTypePtr()->styleDefault, "http://www.w3.org/ns/wsdl/rpc"))
+            soap__operation_style = rpc;
+	}
+        // /definitions/binding/wsp:Policy and wsp:PolicyReference
+        const wsp__Policy *operation_policy = NULL;
+        if (wsdl__operation_->wsp__Policy_)
+          operation_policy = wsdl__operation_->wsp__Policy_;
+        if (wsdl__operation_->wsp__PolicyReference_)
+          operation_policy = wsdl__operation_->wsp__PolicyReference_->policyPtr();
+        if (!Rflag && (http__operation_ || http__operation_location))
+        { // skip WSDL REST HTTP operations
+    	  if (!Wflag)
+	    fprintf(stderr, "\nWarning: ignoring REST operation '%s' in binding '%s' (use option -R to enable REST)\n", wsdl__operation_->name, binding_name);
+        }
+        else if (input)
+        { soap__body *input_body = NULL;
+	  mime__mimeXml *input_mime = NULL;
+	  mime__content *input_mime_content = NULL;
+	  if (!reversed && ext_input)
+	  { input_body = ext_input->soap__body_;
+	    input_mime = ext_input->mime__mimeXml_;
+	    input_mime_content = ext_input->mime__content_;
+            if (ext_input->mime__multipartRelated_)
+            { for (vector<mime__part>::const_iterator part = ext_input->mime__multipartRelated_->part.begin(); part != ext_input->mime__multipartRelated_->part.end(); ++part)
+                if ((*part).soap__body_)
+                { input_body = (*part).soap__body_;
+                  break;
+                }
+	    }
+          }
+	  else if (ext_output)
+	  { input_body = ext_output->soap__body_;
+	    input_mime = ext_output->mime__mimeXml_;
+	    input_mime_content = ext_output->mime__content_;
+            if (ext_output->mime__multipartRelated_)
+            { for (vector<mime__part>::const_iterator part = ext_output->mime__multipartRelated_->part.begin(); part != ext_output->mime__multipartRelated_->part.end(); ++part)
+                if ((*part).soap__body_)
+                { input_body = (*part).soap__body_;
+                  break;
+                }
+	    }
+          }
+	  if (wsdl__operation_->style && !strcmp(wsdl__operation_->style, "http://www.w3.org/ns/wsdl/style/iri"))
+	  { input_mime_content = soap_new_mime__content(definitions.soap);
+	    input_mime_content->soap_default(definitions.soap);
+	    input_mime_content->type = (char*)"application/x-www-form-urlencoded";
+	  }
+          // MUST have an input binding, otherwise can't generate a service operation
+          if (input_body || input_mime || input_mime_content || input->element)
+          { char *URI;
+            if (input_body && soap__operation_style == rpc)
+              URI = input_body->namespace_;
+            else if (binding_count == 1 || !service_prefix)
+              URI = definitions.targetNamespace;
+            else
+            { // multiple service bidings are used, each needs a unique new URI
+              URI = (char*)soap_malloc(definitions.soap, strlen(definitions.targetNamespace) + strlen(binding_name) + 2);
+              strcpy(URI, definitions.targetNamespace);
+              if (*URI && URI[strlen(URI)-1] != '/')
+                strcat(URI, "/");
+              strcat(URI, binding_name);
+            }
+            if (URI)
+            { const char *prefix = types.nsprefix(service_prefix, URI);
+              const char *name = types.aname(NULL, NULL, binding_name); // name of service is binding name
+              Service *service = services[prefix];
+              if (!service)
+              { service = services[prefix] = new Service();
+                service->prefix = prefix;
+                service->URI = urienc(definitions.soap, URI);
+                service->name = name;
+                service->transport = soap__binding_transport;
+                if ((*binding).portTypePtr() && (*binding).portTypePtr()->name)
+                  service->type = types.aname(NULL, NULL, (*binding).portTypePtr()->name);
+                else
+                  service->type = NULL;
+                // collect faults (TODO: this is not used anywhere)
+                for (vector<wsdl__ext_fault>::const_iterator fault = (*binding).fault.begin(); fault != (*binding).fault.end(); ++fault)
+                { Message *f = analyze_fault(definitions, service, *fault);
+                  if (f)
+                    service->fault[f->name] = f;
+                }
+                // collect policies for the bindings
+                for (vector<wsp__Policy>::const_iterator p = (*binding).wsp__Policy_.begin(); p != (*binding).wsp__Policy_.end(); ++p)
+                  service->policy.push_back(&(*p));
+                for (vector<wsp__PolicyReference>::const_iterator r = (*binding).wsp__PolicyReference_.begin(); r != (*binding).wsp__PolicyReference_.end(); ++r)
+                  service->policy.push_back((*r).policyPtr());
+                // collect policies for the service endpoints
+                for (vector<wsdl__service>::const_iterator s = definitions.service.begin(); s != definitions.service.end(); ++s)
+                { for (vector<wsp__Policy>::const_iterator p = (*s).wsp__Policy_.begin(); p != (*s).wsp__Policy_.end(); ++p)
+                    service->policy.push_back(&(*p));
+                  for (vector<wsp__PolicyReference>::const_iterator r = (*s).wsp__PolicyReference_.begin(); r != (*s).wsp__PolicyReference_.end(); ++r)
+                    service->policy.push_back((*r).policyPtr());
+	        }
+              }
+              for (vector<wsdl__service>::const_iterator s = definitions.service.begin(); s != definitions.service.end(); ++s)
+              { for (vector<wsdl__port>::const_iterator port = (*s).port.begin(); port != (*s).port.end(); ++port)
+                { if ((*port).bindingPtr() == &(*binding))
+                  { if ((*port).soap__address_ && (*port).soap__address_->location)
+                      service->location.insert(urienc(definitions.soap, (*port).soap__address_->location));
+		    if ((*port).wsa__EndpointReference && (*port).wsa__EndpointReference->Address)
+                      service->location.insert(urienc(definitions.soap, (*port).wsa__EndpointReference->Address));
+                    if ((*port).http__address_ && (*port).http__address_->location)
+                      service->location.insert(urienc(definitions.soap, (*port).http__address_->location));
+                    // collect service documentation
+                    if ((*s).documentation)
+                      service->service_documentation[(*service).name] = (*s).documentation;
+                    if ((*port).documentation && (*port).name)
+                      service->port_documentation[(*port).name] = (*port).documentation;
+                    if (binding_documentation)
+                      service->binding_documentation[binding_name] = binding_documentation;
+                    // collect policies for the service and endpoints
+                    if ((*port).wsp__Policy_)
+                      service->policy.push_back((*port).wsp__Policy_);
+                    if ((*port).wsp__PolicyReference_ && (*port).wsp__PolicyReference_->policyPtr())
+                      service->policy.push_back((*port).wsp__PolicyReference_->policyPtr());
+                  }
+                }
+                for (vector<wsdl__port>::const_iterator endpoint = (*s).endpoint.begin(); endpoint != (*s).endpoint.end(); ++endpoint)
+                { if ((*endpoint).bindingPtr() == &(*binding))
+                  { if ((*endpoint).address)
+                      service->location.insert(urienc(definitions.soap, (*endpoint).address));
+		    if ((*endpoint).wsa__EndpointReference && (*endpoint).wsa__EndpointReference->Address)
+                      service->location.insert(urienc(definitions.soap, (*endpoint).wsa__EndpointReference->Address));
+                    if ((*endpoint).http__address_ && (*endpoint).http__address_->location)
+                      service->location.insert(urienc(definitions.soap, (*endpoint).http__address_->location));
+		    // TODO: locations need auth
+                    // service->auth_scheme = (*endpoint).whttp__authenticationScheme;
+                    // service->auth_realm = (*endpoint).whttp__authenticationRealm;
+                    // collect service documentation
+                    if ((*s).documentation)
+                      service->service_documentation[(*service).name] = (*s).documentation;
+                    if ((*endpoint).documentation && (*endpoint).name)
+                      service->port_documentation[(*endpoint).name] = (*endpoint).documentation;
+                    if (binding_documentation)
+                      service->binding_documentation[binding_name] = binding_documentation;
+                    // collect policies for the service and endpoints
+                    if ((*endpoint).wsp__Policy_)
+                      service->policy.push_back((*endpoint).wsp__Policy_);
+                    if ((*endpoint).wsp__PolicyReference_ && (*endpoint).wsp__PolicyReference_->policyPtr())
+                      service->policy.push_back((*endpoint).wsp__PolicyReference_->policyPtr());
+                  }
+                }
+              }
+              Operation *op = new Operation();
+              op->name = types.aname(NULL, NULL, wsdl__operation_->name);
+              op->prefix = prefix;
+              op->URI = urienc(definitions.soap, URI);
+              op->style = soap__operation_style;
+	      op->mep = soap__operation_mep;
+              if (soap__binding_transport
+	       && (!strcmp(soap__binding_transport+strlen(soap__binding_transport)-4, "http")
+	        || !strcmp(soap__binding_transport+strlen(soap__binding_transport)-5, "HTTP/")))
+	      { if ((op->mep && strstr(op->mep, "soap-response"))
+	         || (http_method && !strcmp(http_method, "GET")))
+	          op->protocol = "SOAP-GET";
+		else if (version == 1)
+	          op->protocol = "SOAP1.1";
+		else if (version == 2)
+	          op->protocol = "SOAP1.2";
+		else
+	          op->protocol = "SOAP";
+	      }
+	      else
+	      { if (http_method)
+	          op->protocol = http_method;
+		else
+	          op->protocol = "HTTP";
+	      }
+              op->documentation = wsdl__operation_->documentation;
+              op->operation_documentation = (*operation).documentation;
+              op->parameterOrder = wsdl__operation_->parameterOrder;
+	      if (http__operation_location)
+                op->action = http__operation_location; // TODO: for now, store HTTP location in action
+	      else
+              { op->action = soap__operation_action;
+                if ((*operation).soap__operation_)
+                { if ((*operation).soap__operation_->soapActionRequired)
+	            op->action = (*operation).soap__operation_->soapAction;
+	        }
+                else if (version != 2)
+                  op->action = "";
+	      }
+              if (operation_policy)
+                op->policy.push_back(operation_policy);
+              if (ext_operation_policy)
+                op->policy.push_back(ext_operation_policy);
+              op->input = new Message();
+              op->input->name = wsdl__operation_->name;
+              if (input_body && soap__operation_style == rpc && !input_body->namespace_)
+              { op->input->URI = "";
+                fprintf(stderr, "\nError: no soap:body namespace attribute\n");
+              }
+              else if (input_body)
+                op->input->URI = urienc(definitions.soap, input_body->namespace_);
+	      else
+                op->input->URI = service->URI;
+              op->input->style = soap__operation_style;
+	      if (input_body)
+              { op->input->use = input_body->use;
+                op->input->encodingStyle = input_body->encodingStyle;
+	      }
+              if (input->wsa__Action)
+                op->input->action = input->wsa__Action;
+              else if (input->wsam__Action)
+                op->input->action = input->wsam__Action;
+              else if (op->action)
+                op->input->action = op->action;
+              else if (definitions.targetNamespace && (*binding).portTypePtr() && (*binding).portTypePtr()->name)
+              { const char *name = input->name ? input->name : op->name;
+                char *tmp = (char*)soap_malloc(definitions.soap, strlen(definitions.targetNamespace) + strlen((*binding).portTypePtr()->name) + strlen(name) + 3);
+                sprintf(tmp, "%s/%s/%s", definitions.targetNamespace, (*binding).portTypePtr()->name, name);
+                op->input->action = tmp;
+              }
+              op->input->message = input->messagePtr();
+              op->input->element = input->elementPtr();
+              op->input->part = NULL;
+              op->input->mustUnderstand = false;
+              op->input->multipartRelated = NULL;
+              op->input->content = input_mime_content;
+              op->input->body_parts = NULL;
+              op->input->layout = NULL;
+              op->input->ext_documentation = NULL;
+	      if (ext_input)
+              { op->input->multipartRelated = ext_input->mime__multipartRelated_;
+                if (ext_input->mime__multipartRelated_ && !ext_input->mime__multipartRelated_->part.empty())
+                  op->input->header = ext_input->mime__multipartRelated_->part.front().soap__header_;
+                else if (!ext_input->soap__header_.empty())
+                  op->input->header = ext_input->soap__header_;
+                else if (!ext_input->wsoap__header_.empty())
+                  op->input->wheader = ext_input->wsoap__header_;
+                if (ext_input->mime__multipartRelated_ && !ext_input->mime__multipartRelated_->part.empty() && ext_input->mime__multipartRelated_->part.front().soap__body_)
+                  op->input->body_parts = ext_input->mime__multipartRelated_->part.front().soap__body_->parts;
+                else if (input_body)
+                  op->input->body_parts = input_body->parts;
+                if (ext_input->dime__message_)
+                  op->input->layout = ext_input->dime__message_->layout;
+                else
+                  op->input->layout = NULL;
+                op->input->ext_documentation = ext_input->documentation;
+	      }
+              op->input->documentation = input->documentation;
+              // collect input message policies
+	      if (op->input->message)
+              { for (vector<wsp__Policy>::const_iterator p = op->input->message->wsp__Policy_.begin(); p != op->input->message->wsp__Policy_.end(); ++p)
+                  op->input->policy.push_back(&(*p));
+                for (vector<wsp__PolicyReference>::const_iterator r = op->input->message->wsp__PolicyReference_.begin(); r != op->input->message->wsp__PolicyReference_.end(); ++r)
+                  op->input->policy.push_back((*r).policyPtr());
+	      }
+              if (input->wsp__Policy_)
+                op->input->policy.push_back(input->wsp__Policy_);
+              if (input->wsp__PolicyReference_ && input->wsp__PolicyReference_->policyPtr())
+                op->input->policy.push_back(input->wsp__PolicyReference_->policyPtr());
+	      if (ext_input)
+              { if (ext_input->wsp__Policy_)
+                  op->input->policy.push_back(ext_input->wsp__Policy_);
+                if (ext_input->wsp__PolicyReference_ && ext_input->wsp__PolicyReference_->policyPtr())
+                  op->input->policy.push_back(ext_input->wsp__PolicyReference_->policyPtr());
+	      }
+              if (soap__operation_style == document)
+                op->input_name = types.oname("__", op->URI, op->input->name);
+              else
+                op->input_name = types.oname(NULL, op->input->URI, op->input->name);
+              if (output)
+              { soap__body *output_body = NULL;
+	        mime__mimeXml *output_mime = NULL;
+	        mime__content *output_mime_content = NULL;
+	        if (ext_output)
+		{ output_body = ext_output->soap__body_;
+	          output_mime = ext_output->mime__mimeXml_;
+	          output_mime_content = ext_output->mime__content_;
+                  if (ext_output->mime__multipartRelated_)
+                  { for (vector<mime__part>::const_iterator part = ext_output->mime__multipartRelated_->part.begin(); part != ext_output->mime__multipartRelated_->part.end(); ++part)
+                      if ((*part).soap__body_)
+                      { output_body = (*part).soap__body_;
+                        break;
+                      }
+        	  }
+		}
+        	if (ext_output && ext_output->mime__content_)
+                { op->output = new Message();
+                  op->output->name = NULL;
+                  op->output->URI = NULL;
+                  op->output->style = soap__operation_style;
+                  op->output->use = literal;
+                  op->output->encodingStyle = NULL;
+                  op->output->action = NULL;
+                  op->output->body_parts = NULL;
+                  op->output->part = NULL;
+                  op->output->mustUnderstand = false;
+                  op->output->multipartRelated = NULL;
+                  op->output->content = output_mime_content;
+                  op->output->message = output->messagePtr();
+                  op->output->element = output->elementPtr();
+                  op->output->layout = NULL;
+        	}
+        	else if (output_body || output_mime || output_mime_content || output->element)
+                { op->output = new Message();
+                  op->output->name = wsdl__operation_->name; // RPC uses operation/@name with suffix 'Response' as set below
+                  op->output->style = soap__operation_style;
+		  if (output_body)
+                  { op->output->use = output_body->use;
+                    // the code below is a hack around the RPC encoded response message element tag mismatch with Axis:
+                    if (!output_body->namespace_ || output_body->use == encoded)
+                      op->output->URI = op->input->URI; // encoded seems (?) to require the request's namespace
+                    else
+                      op->output->URI = urienc(definitions.soap, output_body->namespace_);
+                    op->output->encodingStyle = output_body->encodingStyle;
+		  }
+		  else
+		    op->output->URI = service->URI;
+                  if (output->wsa__Action)
+                    op->output->action = output->wsa__Action;
+                  else if (output->wsam__Action)
+                    op->output->action = output->wsam__Action;
+	          else if (http__operation_location)
+                    op->output->action = NULL;
+                  else if (op->action)
+                  { const char *name = op->action;
+                    char *tmp = (char*)soap_malloc(definitions.soap, strlen(name) + 9);
+		    strcpy(tmp, name);
+		    strcat(tmp, "Response");
+                    op->output->action = tmp;
+		  }
+                  else if (definitions.targetNamespace && (*binding).portTypePtr() && (*binding).portTypePtr()->name)
+                  { const char *name = output->name ? output->name : op->name;
+                    char *tmp = (char*)soap_malloc(definitions.soap, strlen(definitions.targetNamespace) + strlen((*binding).portTypePtr()->name) + strlen(name) + 11);
+                    sprintf(tmp, "%s/%s/%s%s", definitions.targetNamespace, (*binding).portTypePtr()->name, name, output->name ? "" : "Response");
+                    op->output->action = tmp;
+                  }
+                  op->output->message = output->messagePtr();
+                  op->output->element = output->elementPtr();
+                  op->output->part = NULL;
+                  op->output->content = output_mime_content;
+                  op->output->body_parts = NULL;
+                  op->output->layout = NULL;
+                  op->output->ext_documentation = NULL;
+                  op->output->mustUnderstand = false;
+		}
+		if (ext_output)
+                { op->output->multipartRelated = ext_output->mime__multipartRelated_;
+                  if (ext_output->mime__multipartRelated_ && !ext_output->mime__multipartRelated_->part.empty())
+                    op->output->header = ext_output->mime__multipartRelated_->part.front().soap__header_;
+                  else if (!ext_output->soap__header_.empty())
+                    op->output->header = ext_output->soap__header_;
+                  else if (!ext_output->wsoap__header_.empty())
+                    op->output->wheader = ext_output->wsoap__header_;
+                  if (ext_output->mime__multipartRelated_ && !ext_output->mime__multipartRelated_->part.empty() && ext_output->mime__multipartRelated_->part.front().soap__body_)
+                    op->output->body_parts = ext_output->mime__multipartRelated_->part.front().soap__body_->parts;
+                  else if (output_body)
+                    op->output->body_parts = output_body->parts;
+                  if (ext_output->dime__message_)
+                    op->output->layout = ext_output->dime__message_->layout;
+                  else
+                    op->output->layout = NULL;
+                  op->output->ext_documentation = ext_output->documentation;
+                }
+		if (op->output->name)
+                { char *s = (char*)soap_malloc(definitions.soap, strlen(op->output->name) + 9);
+                  strcpy(s, op->output->name);
+                  strcat(s, "Response");
+                  if (soap__operation_style == document)
+                    op->output_name = types.oname("__", op->URI, s);
+                  else
+                    op->output_name = types.oname(NULL, op->output->URI, s);
+		}
+                op->output->documentation = output->documentation;
+                // collect output message policies
+	        if (op->output->message)
+                { for (vector<wsp__Policy>::const_iterator p = op->output->message->wsp__Policy_.begin(); p != op->output->message->wsp__Policy_.end(); ++p)
+                    op->output->policy.push_back(&(*p));
+                  for (vector<wsp__PolicyReference>::const_iterator r = op->output->message->wsp__PolicyReference_.begin(); r != op->output->message->wsp__PolicyReference_.end(); ++r)
+                    op->output->policy.push_back((*r).policyPtr());
+	        }
+                if (output->wsp__Policy_)
+                  op->output->policy.push_back(output->wsp__Policy_);
+                if (output->wsp__PolicyReference_ && output->wsp__PolicyReference_->policyPtr())
+                  op->output->policy.push_back(output->wsp__PolicyReference_->policyPtr());
+		if (ext_output)
+                { if (ext_output->wsp__Policy_)
+                    op->output->policy.push_back(ext_output->wsp__Policy_);
+                  if (ext_output->wsp__PolicyReference_ && ext_output->wsp__PolicyReference_->policyPtr())
+                    op->output->policy.push_back(ext_output->wsp__PolicyReference_->policyPtr());
+	        }
+              }
+              else
+              { op->output_name = NULL;
+                op->output = NULL;
+              }
+              analyze_headers(definitions, service, ext_input, ext_output);
+              analyze_faults(definitions, service, op, operation);
+    	      service->operation.push_back(op);
+            }
+    	    else
+    	    { if (!Wflag)
+	        fprintf(stderr, "\nWarning: no SOAP RPC operation namespace, operations will be ignored\n");
+	    }
+          }
+          else
+            fprintf(stderr, "\nError: no wsdl:definitions/binding/operation/input\n");
+        }
+        else if (output)
+	{ // This part is similar to the previous clause, limited to one-way output operations
+          soap__body *output_body = NULL;
+	  mime__mimeXml *output_mime = NULL;
+	  mime__content *output_mime_content = NULL;
+	  if (!reversed && ext_output)
+	  { output_body = ext_output->soap__body_;
+	    output_mime = ext_output->mime__mimeXml_;
+	    output_mime_content = ext_output->mime__content_;
+            if (ext_output->mime__multipartRelated_)
+            { for (vector<mime__part>::const_iterator part = ext_output->mime__multipartRelated_->part.begin(); part != ext_output->mime__multipartRelated_->part.end(); ++part)
+                if ((*part).soap__body_)
+                { output_body = (*part).soap__body_;
+                  break;
+                }
+            }
+	  }
+	  else if (ext_input)
+	  { output_body = ext_input->soap__body_;
+	    output_mime = ext_input->mime__mimeXml_;
+	    output_mime_content = ext_input->mime__content_;
+            if (ext_input->mime__multipartRelated_)
+            { for (vector<mime__part>::const_iterator part = ext_input->mime__multipartRelated_->part.begin(); part != ext_input->mime__multipartRelated_->part.end(); ++part)
+                if ((*part).soap__body_)
+                { output_body = (*part).soap__body_;
+                  break;
+                }
+            }
+	  }
+	  if (wsdl__operation_->style && !strcmp(wsdl__operation_->style, "http://www.w3.org/ns/wsdl/style/iri"))
+	  { output_mime_content = soap_new_mime__content(definitions.soap);
+	    output_mime_content->soap_default(definitions.soap);
+	    output_mime_content->type = (char*)"application/x-www-form-urlencoded";
+	  }
+          if (output_body || output_mime || output_mime_content || output->element)
+          { char *URI;
+            if (output_body && soap__operation_style == rpc)
+              URI = output_body->namespace_;
+            else if (binding_count == 1 || !service_prefix)
+              URI = definitions.targetNamespace;
+            else
+            { // multiple service bidings are used, each needs a unique new URI
+              URI = (char*)soap_malloc(definitions.soap, strlen(definitions.targetNamespace) + strlen(binding_name) + 2);
+              strcpy(URI, definitions.targetNamespace);
+              if (*URI && URI[strlen(URI)-1] != '/')
+                strcat(URI, "/");
+              strcat(URI, binding_name);
+            }
+            if (URI)
+            { const char *prefix = types.nsprefix(service_prefix, URI);
+              const char *name = types.aname(NULL, NULL, binding_name); // name of service is binding name
+              Service *service = services[prefix];
+              if (!service)
+              { service = services[prefix] = new Service();
+                service->prefix = prefix;
+                service->URI = urienc(definitions.soap, URI);
+                service->name = name;
+                service->transport = soap__binding_transport;
+                if ((*binding).portTypePtr() && (*binding).portTypePtr()->name)
+                  service->type = types.aname(NULL, NULL, (*binding).portTypePtr()->name);
+                else
+                  service->type = NULL;
+		// collect faults (TODO: this is not used anywhere)
+                for (vector<wsdl__ext_fault>::const_iterator fault = (*binding).fault.begin(); fault != (*binding).fault.end(); ++fault)
+                { Message *f = analyze_fault(definitions, service, *fault);
+                  if (f)
+                    service->fault[f->name] = f;
+                }
+                // collect policies for the bindings
+                for (vector<wsp__Policy>::const_iterator p = (*binding).wsp__Policy_.begin(); p != (*binding).wsp__Policy_.end(); ++p)
+                  service->policy.push_back(&(*p));
+                for (vector<wsp__PolicyReference>::const_iterator r = (*binding).wsp__PolicyReference_.begin(); r != (*binding).wsp__PolicyReference_.end(); ++r)
+                  service->policy.push_back((*r).policyPtr());
+                // collect policies for the service endpoints
+                for (vector<wsdl__service>::const_iterator s = definitions.service.begin(); s != definitions.service.end(); ++s)
+                { for (vector<wsp__Policy>::const_iterator p = (*s).wsp__Policy_.begin(); p != (*s).wsp__Policy_.end(); ++p)
+                    service->policy.push_back(&(*p));
+                  for (vector<wsp__PolicyReference>::const_iterator r = (*s).wsp__PolicyReference_.begin(); r != (*s).wsp__PolicyReference_.end(); ++r)
+                    service->policy.push_back((*r).policyPtr());
+	        }
+              }
+              for (vector<wsdl__service>::const_iterator s = definitions.service.begin(); s != definitions.service.end(); ++s)
+              { for (vector<wsdl__port>::const_iterator port = (*s).port.begin(); port != (*s).port.end(); ++port)
+                { if ((*port).bindingPtr() == &(*binding))
+                  { if ((*port).soap__address_ && (*port).soap__address_->location)
+                      service->location.insert(urienc(definitions.soap, (*port).soap__address_->location));
+		    else if ((*port).wsa__EndpointReference && (*port).wsa__EndpointReference->Address)
+                      service->location.insert(urienc(definitions.soap, (*port).wsa__EndpointReference->Address));
+                    // TODO: HTTP address for HTTP operations
+                    // if ((*port).http__address_)
+                      // http__address_location = http__address_->location;
+                    // collect service documentation
+                    if ((*s).documentation)
+                      service->service_documentation[(*service).name] = (*s).documentation;
+                    if ((*port).documentation && (*port).name)
+                      service->port_documentation[(*port).name] = (*port).documentation;
+                    if (binding_documentation)
+                      service->binding_documentation[binding_name] = binding_documentation;
+                    // collect policies for the service and endpoints
+                    if ((*port).wsp__Policy_)
+                      service->policy.push_back((*port).wsp__Policy_);
+                    if ((*port).wsp__PolicyReference_ && (*port).wsp__PolicyReference_->policyPtr())
+                      service->policy.push_back((*port).wsp__PolicyReference_->policyPtr());
+                  }
+                }
+              }
+              Operation *op = new Operation();
+              op->input_name = NULL;
+              op->input = NULL;
+              op->name = types.aname(NULL, NULL, wsdl__operation_->name);
+              op->prefix = prefix;
+              op->URI = urienc(definitions.soap, URI);
+              op->style = soap__operation_style;
+	      op->mep = soap__operation_mep;
+              if (soap__binding_transport
+	       && (!strcmp(soap__binding_transport+strlen(soap__binding_transport)-4, "http")
+	        || !strcmp(soap__binding_transport+strlen(soap__binding_transport)-5, "HTTP/")))
+	      { if (op->mep && strstr(op->mep, "soap-response")
+	         || (http_method && !strcmp(http_method, "GET")))
+	          op->protocol = "SOAP-GET";
+		else if (version == 1)
+	          op->protocol = "SOAP1.1";
+		else if (version == 2)
+	          op->protocol = "SOAP1.2";
+		else
+	          op->protocol = "SOAP";
+	      }
+	      else
+	      { if (http_method)
+	          op->protocol = http_method;
+		else
+	          op->protocol = "HTTP";
+	      }
+              op->documentation = wsdl__operation_->documentation;
+              op->operation_documentation = (*operation).documentation;
+              op->parameterOrder = wsdl__operation_->parameterOrder;
+	      if (http__operation_location)
+                op->action = http__operation_location; // TODO: for now, store HTTP location in action
+	      else
+              { op->action = soap__operation_action;
+                if ((*operation).soap__operation_)
+                { if ((*operation).soap__operation_->soapActionRequired)
+	            op->action = (*operation).soap__operation_->soapAction;
+	        }
+                else if (version != 2)
+                  op->action = "";
+	      }
+              if (operation_policy)
+                op->policy.push_back(operation_policy);
+              if (ext_operation_policy)
+                op->policy.push_back(ext_operation_policy);
+              op->output = new Message(); // one-way output operation
+              op->output->name = wsdl__operation_->name; // RPC uses operation/@name
+              if (output_body && soap__operation_style == rpc && !output_body->namespace_)
+              { op->output->URI = "";
+                fprintf(stderr, "\nError: no soap:body namespace attribute\n");
+              }
+              else if (output_body)
+                op->output->URI = urienc(definitions.soap, output_body->namespace_);
+	      else
+                op->output->URI = service->URI;
+              op->output->style = soap__operation_style;
+	      if (output_body)
+              { op->output->use = output_body->use;
+                op->output->encodingStyle = output_body->encodingStyle;
+	      }
+              if (output->wsa__Action)
+                op->output->action = output->wsa__Action;
+              else if (output->wsam__Action)
+                op->output->action = output->wsam__Action;
+              else if (op->action)
+                op->output->action = op->action;
+              else if (definitions.targetNamespace && (*binding).portTypePtr() && (*binding).portTypePtr()->name)
+              { const char *name = output->name ? output->name : op->name;
+                char *tmp = (char*)soap_malloc(definitions.soap, strlen(definitions.targetNamespace) + strlen((*binding).portTypePtr()->name) + strlen(name) + 3);
+                sprintf(tmp, "%s/%s/%s", definitions.targetNamespace, (*binding).portTypePtr()->name, name);
+                op->output->action = tmp;
+              }
+              op->output->message = output->messagePtr();
+              op->output->element = output->elementPtr();
+              op->output->part = NULL;
+              op->output->mustUnderstand = false;
+              op->output->multipartRelated = NULL;
+              op->output->content = output_mime_content;
+              op->output->body_parts = NULL;
+              op->output->layout = NULL;
+              op->output->ext_documentation = NULL;
+	      if (ext_output)
+              { op->output->multipartRelated = ext_output->mime__multipartRelated_;
+                if (ext_output->mime__multipartRelated_ && !ext_output->mime__multipartRelated_->part.empty())
+                  op->output->header = ext_output->mime__multipartRelated_->part.front().soap__header_;
+                else if (!ext_output->soap__header_.empty())
+                  op->output->header = ext_output->soap__header_;
+                else if (!ext_output->wsoap__header_.empty())
+                  op->output->wheader = ext_output->wsoap__header_;
+                if (ext_output->mime__multipartRelated_ && !ext_output->mime__multipartRelated_->part.empty() && ext_output->mime__multipartRelated_->part.front().soap__body_)
+                  op->output->body_parts = ext_output->mime__multipartRelated_->part.front().soap__body_->parts;
+                else if (output_body)
+                  op->output->body_parts = output_body->parts;
+                if (ext_output->dime__message_)
+                  op->output->layout = ext_output->dime__message_->layout;
+                else
+                  op->output->layout = NULL;
+                op->output->ext_documentation = ext_output->documentation;
+	      }
+              op->output->documentation = output->documentation;
+              // collect output message policies
+	      if (op->output->message)
+              { for (vector<wsp__Policy>::const_iterator p = op->output->message->wsp__Policy_.begin(); p != op->output->message->wsp__Policy_.end(); ++p)
+                  op->output->policy.push_back(&(*p));
+                for (vector<wsp__PolicyReference>::const_iterator r = op->output->message->wsp__PolicyReference_.begin(); r != op->output->message->wsp__PolicyReference_.end(); ++r)
+                  op->output->policy.push_back((*r).policyPtr());
+	      }
+              if (output->wsp__Policy_)
+                op->output->policy.push_back(output->wsp__Policy_);
+              if (output->wsp__PolicyReference_ && output->wsp__PolicyReference_->policyPtr())
+                op->output->policy.push_back(output->wsp__PolicyReference_->policyPtr());
+	      if (ext_output)
+              { if (ext_output->wsp__Policy_)
+                  op->output->policy.push_back(ext_output->wsp__Policy_);
+                if (ext_output->wsp__PolicyReference_ && ext_output->wsp__PolicyReference_->policyPtr())
+                  op->output->policy.push_back(ext_output->wsp__PolicyReference_->policyPtr());
+	      }
+              if (soap__operation_style == document)
+                op->input_name = types.oname("__", op->URI, op->output->name);
+              else
+                op->input_name = types.oname(NULL, op->output->URI, op->output->name);
+              char *s = (char*)soap_malloc(definitions.soap, strlen(op->output->name) + 9);
+              strcpy(s, op->output->name);
+              strcat(s, "Response");
+              if (soap__operation_style == document)
+                op->output_name = types.oname("__", op->URI, s);
+              else
+                op->output_name = types.oname(NULL, op->output->URI, s);
+              analyze_headers(definitions, service, ext_input, ext_output);
+              analyze_faults(definitions, service, op, operation);
+    	      service->operation.push_back(op);
+            }
+    	    else
+    	    { if (!Wflag)
+	        fprintf(stderr, "\nWarning: no SOAP RPC operation namespace, operations will be ignored\n");
+	    }
+          }
+          else
+            fprintf(stderr, "\nError: no wsdl:definitions/binding/operation/output\n");
+        }
+        else
+          fprintf(stderr, "\nError: no wsdl:definitions/portType/operation/input and output\n");
+      }
+      else
+        fprintf(stderr, "\nError: no wsdl:definitions/portType/operation\n");
+    }
+  }
+}
+
+void Definitions::analyze_headers(const wsdl__definitions &definitions, Service *service, wsdl__ext_ioput *ext_input, wsdl__ext_ioput *ext_output)
+{ // collect input headers and headerfaults
+  if (ext_input)
+  { const vector<soap__header> *soap__header_ = NULL;
+    // check if soap header is in mime:multipartRelated
+    if (ext_input->mime__multipartRelated_)
+    { for (vector<mime__part>::const_iterator part = ext_input->mime__multipartRelated_->part.begin(); part != ext_input->mime__multipartRelated_->part.end(); ++part)
+      if (!(*part).soap__header_.empty())
+      { soap__header_ = &(*part).soap__header_;
+        break;
+      }
+    }
+    if (!soap__header_)
+      soap__header_ = &ext_input->soap__header_;
+    for (vector<soap__header>::const_iterator header = soap__header_->begin(); header != soap__header_->end(); ++header)
+    { Message *h = new Message();
+      h->message = (*header).messagePtr();
+      h->element = NULL;
+      h->body_parts = NULL;
+      h->part = (*header).partPtr();
+      h->URI = urienc(definitions.soap, (*header).namespace_);
+      if (h->part && h->part->element)
+        h->name = types.aname(NULL, NULL, h->part->element);
+      else if (h->URI && h->part && h->part->name && h->part->type)
+        h->name = types.aname(NULL, h->URI, h->part->name);
+      else
+      { fprintf(stderr, "\nError in SOAP Header part definition: input part '%s' missing?\n", h->part && h->part->name ? h->part->name : "?");
+        h->name = "";
+      }
+      h->encodingStyle = (*header).encodingStyle;
+      h->style = document;	// irrelevant
+      h->use = (*header).use;
+      h->mustUnderstand = true;
+      h->multipartRelated = NULL;
+      h->content = NULL;
+      h->layout = NULL;
+      h->ext_documentation = NULL;	// TODO: add document content
+      h->documentation = NULL;	// TODO: add document content
+      service->header[h->name] = h;
+      for (vector<soap__headerfault>::const_iterator headerfault = (*header).headerfault.begin(); headerfault != (*header).headerfault.end(); ++headerfault)
+      { // TODO: headerfault processing. This is practically never used...
+      }
+    }
+    for (vector<wsoap__header>::const_iterator wheader = ext_input->wsoap__header_.begin(); wheader != ext_input->wsoap__header_.end(); ++wheader)
+    { Message *h = new Message();
+      h->message = NULL;
+      h->element = (*wheader).elementPtr();
+      h->body_parts = NULL;
+      h->part = NULL;
+      h->URI = NULL;
+      h->mustUnderstand = (*wheader).mustUnderstand_;
+      h->name = types.aname(NULL, NULL, (*wheader).element);
+      h->encodingStyle = NULL;
+      h->style = document;	// irrelevant
+      h->use = literal;
+      h->multipartRelated = NULL;
+      h->content = NULL;
+      h->layout = NULL;
+      h->ext_documentation = NULL;	// TODO: add document content
+      h->documentation = NULL;	// TODO: add document content
+      service->header[h->name] = h;
+    }
+  }
+  // collect output headers and headerfaults
+  if (ext_output)
+  { const vector<soap__header> *soap__header_ = NULL;
+    // check if soap header is in mime:multipartRelated
+    if (ext_output->mime__multipartRelated_)
+    { for (vector<mime__part>::const_iterator part = ext_output->mime__multipartRelated_->part.begin(); part != ext_output->mime__multipartRelated_->part.end(); ++part)
+      if (!(*part).soap__header_.empty())
+      { soap__header_ = &(*part).soap__header_;
+        break;
+      }
+    }
+    if (!soap__header_)
+      soap__header_ = &ext_output->soap__header_;
+    for (vector<soap__header>::const_iterator header = soap__header_->begin(); header != soap__header_->end(); ++header)
+    { Message *h = new Message();
+      h->message = (*header).messagePtr();
+      h->element = NULL;
+      h->body_parts = NULL;
+      h->part = (*header).partPtr();
+      h->URI = urienc(definitions.soap, (*header).namespace_);
+      if (h->part && h->part->element)
+        h->name = types.aname(NULL, NULL, h->part->element);
+      else if (h->URI && h->part && h->part->name && h->part->type)
+        h->name = types.aname(NULL, h->URI, h->part->name);
+      else
+      { fprintf(stderr, "\nError in SOAP Header part definition: output part '%s' missing?\n", h->part && h->part->name ? h->part->name : "?");
+        h->name = "";
+      }
+      h->encodingStyle = (*header).encodingStyle;
+      h->style = document;	// irrelevant
+      h->use = (*header).use;
+      h->mustUnderstand = false;
+      h->multipartRelated = NULL;
+      h->content = NULL;
+      h->layout = NULL;
+      h->ext_documentation = NULL;	// TODO: add document content?
+      h->documentation = NULL;	// TODO: add document content?
+      service->header[h->name] = h;
+      for (vector<soap__headerfault>::const_iterator headerfault = (*header).headerfault.begin(); headerfault != (*header).headerfault.end(); ++headerfault)
+      { // TODO: headerfault processing. This is practically never used...
+      }
+    }
+    for (vector<wsoap__header>::const_iterator wheader = ext_output->wsoap__header_.begin(); wheader != ext_output->wsoap__header_.end(); ++wheader)
+    { Message *h = new Message();
+      h->message = NULL;
+      h->element = (*wheader).elementPtr();
+      h->body_parts = NULL;
+      h->part = NULL;
+      h->URI = NULL;
+      h->mustUnderstand = (*wheader).mustUnderstand_;
+      h->name = types.aname(NULL, NULL, (*wheader).element);
+      h->encodingStyle = NULL;
+      h->style = document;	// irrelevant
+      h->use = literal;
+      h->multipartRelated = NULL;
+      h->content = NULL;
+      h->layout = NULL;
+      h->ext_documentation = NULL;	// TODO: add document content
+      h->documentation = NULL;	// TODO: add document content
+      service->header[h->name] = h;
+    }
+  }
+}
+
+void Definitions::analyze_faults(const wsdl__definitions &definitions, Service *service, Operation *op, vector<wsdl__ext_operation>::const_iterator& operation)
+{ for (vector<wsdl__ext_fault>::const_iterator fault = (*operation).fault.begin(); fault != (*operation).fault.end(); ++fault)
+  { Message *f = analyze_fault(definitions, service, *fault);
+    if (f)
+    { op->outfault.push_back(f);
+      service->fault[f->name] = f;
+    }
+  }
+  for (vector<wsdl__ext_fault>::const_iterator infault = (*operation).infault.begin(); infault != (*operation).infault.end(); ++infault)
+  { Message *f = analyze_fault(definitions, service, *infault);
+    if (f)
+    { op->infault.push_back(f);
+      service->fault[f->name] = f;
+    }
+  }
+  for (vector<wsdl__ext_fault>::const_iterator outfault = (*operation).outfault.begin(); outfault != (*operation).outfault.end(); ++outfault)
+  { Message *f = analyze_fault(definitions, service, *outfault);
+    if (f)
+    { op->outfault.push_back(f);
+      service->fault[f->name] = f;
+    }
+  }
+}
+
+Message *Definitions::analyze_fault(const wsdl__definitions &definitions, Service *service, const wsdl__ext_fault &ext_fault)
+{ Message *f = NULL;
+  const wsdl__fault *fault = ext_fault.faultPtr();
+  if (fault && (fault->messagePtr() || fault->elementPtr()))
+  { f = new Message();
+    f->message = fault->messagePtr();
+    f->element = fault->elementPtr();
+    f->body_parts = NULL;
+    f->part = NULL;
+    f->encodingStyle = NULL;
+    if (ext_fault.soap__fault_)
+      f->encodingStyle = ext_fault.soap__fault_->encodingStyle;
+    f->action = NULL;
+    if (fault->wsa__Action)
+      f->action = fault->wsa__Action;
+    else
+      f->action = fault->wsam__Action;
+    if (ext_fault.soap__fault_)
+      f->URI = ext_fault.soap__fault_->namespace_;
+    else if (f->element && f->element->schemaPtr())
+      f->URI = f->element->schemaPtr()->targetNamespace;
+    else
+      f->URI = service->URI; // must have a unique URI
+    f->style = document;	// irrelevant
+    f->use = literal;
+    if (ext_fault.soap__fault_)
+      f->use = ext_fault.soap__fault_->use;
+    if (ext_fault.wsoap__code)
+    { char *s = (char*)soap_malloc(definitions.soap, 80 + strlen(ext_fault.wsoap__code) + (ext_fault.wsoap__subcodes ? strlen(ext_fault.wsoap__subcodes) : 0));
+      sprintf(s, "\"%s\" with subcodes \"%s\"", ext_fault.wsoap__code, ext_fault.wsoap__subcodes ? ext_fault.wsoap__subcodes : "");
+      f->body_parts = s;
+    }
+    else
+      f->ext_documentation = ext_fault.documentation;
+    f->mustUnderstand = false;
+    f->multipartRelated = NULL;
+    f->content = NULL;
+    f->layout = NULL;
+    if (f->message)
+    { f->name = types.aname("_", f->URI, f->message->name);
+      f->documentation = f->message->documentation;
+    }
+    else
+    { f->name = types.aname(NULL, f->URI, fault->element);
+      f->documentation = fault->documentation;
+    }
+    // collect fault message policies
+    if (fault->wsp__Policy_)
+      f->policy.push_back(fault->wsp__Policy_);
+    if (fault->wsp__PolicyReference_ && fault->wsp__PolicyReference_->policyPtr())
+      f->policy.push_back(fault->wsp__PolicyReference_->policyPtr());
+    if (ext_fault.wsp__Policy_)
+      f->policy.push_back(ext_fault.wsp__Policy_);
+    if (ext_fault.wsp__PolicyReference_ && ext_fault.wsp__PolicyReference_->policyPtr())
+      f->policy.push_back(ext_fault.wsp__PolicyReference_->policyPtr());
+  }
+  else if (ext_fault.soap__fault_ && ext_fault.soap__fault_->name)
+    fprintf(stderr, "\nError: no wsdl:definitions/binding/operation/fault/soap:fault '%s'\n", ext_fault.soap__fault_->name);
+  else
+    fprintf(stderr, "\nError: no wsdl:definitions/binding/operation/fault/soap:fault\n");
+  return f;
+}
+
+void Definitions::compile(const wsdl__definitions& definitions)
+{ // compile the definitions and generate gSOAP header file
+  const char *defs;
+  if (definitions.name)
+    defs = types.aname(NULL, NULL, definitions.name);
+  else
+    defs = "Service";
+  ident();
+  fprintf(stream, "/** @page page_notes Usage Notes\n\nNOTE:\n\n - Run soapcpp2 on %s to generate the SOAP/XML processing logic.\n   Use soapcpp2 -I to specify paths for #import\n   To build with STL, 'stlvector.h' is imported from 'import' dir in package.\n   Use soapcpp2 -j to generate improved proxy and server classes.\n - Use wsdl2h -c and -s to generate pure C code or C++ code without STL.\n - Use 'typemap.dat' to control namespace bindings and type mappings.\n   It is strongly recommended to customize the names of the namespace prefixes\n   generated by wsdl2h. To do so, modify the prefix bindings in the Namespaces\n   section below and add the modified lines to 'typemap.dat' to rerun wsdl2h.\n - Use Doxygen (www.doxygen.org) on this file to generate documentation.\n - Use wsdl2h -R to generate REST operations.\n - Use wsdl2h -nname to use name as the base namespace prefix instead of 'ns'.\n - Use wsdl2h -Nname for service prefix and produce multiple service bindings\n - Use wsdl2h -d to enable DOM support for xsd:anyType.\n - Use wsdl2h -g to auto-generate readers and writers for root elements.\n - Use wsdl2h -b to auto-generate bi-directional operations (duplex ops).\n - Struct/class members serialized as XML attributes are annotated with a '@'.\n - Struct/class members that have a special role are annotated with a '$'.\n\nWARNING:\n\n   DO NOT INCLUDE THIS ANNOTATED FILE DIRECTLY IN YOUR PROJECT SOURCE CODE.\n   USE THE FILES GENERATED BY soapcpp2 FOR YOUR PROJECT'S SOURCE CODE:\n   THE soapStub.h FILE CONTAINS THIS CONTENT WITHOUT ANNOTATIONS.\n\n", outfile?outfile:"this file");
+  fprintf(stream, "LICENSE:\n\n@verbatim\n%s@endverbatim\n\n*/\n\n", licensenotice);
+  // gsoap compiler options: 'w' disables WSDL/schema output to avoid file collisions
+  if (cflag)
+    fprintf(stream, "\n//gsoapopt cw\n");
+  else
+    fprintf(stream, "\n//gsoapopt w\n");
+  banner("Definitions", definitions.targetNamespace?definitions.targetNamespace:"targetNamespace");
+  // copy documentation from WSDL definitions
+  if (definitions.documentation)
+  { fprintf(stream, "/* WSDL Documentation:\n\n");
+    text(definitions.documentation);
+    fprintf(stream, "*/\n\n");
+  }
+  if (definitions.version)
+  { banner("Version", definitions.version);
+    fprintf(stream, "#define SOAP_WSDL_VERSION \"%s\"\n", definitions.version);
+  }
+  banner("Import");
+  if (dflag)
+  { fprintf(stream, "\n// dom.h declares the DOM xsd__anyType object (compiler and link with dom.cpp)\n");
+    fprintf(stream, "#import \"dom.h\"\n");
+  }
+  if (!cflag && !sflag)
+  { fprintf(stream, "\n// STL vector containers (use option -s to remove STL dependency)\n");
+    fprintf(stream, "#import \"stlvector.h\"\n");
+  }
+  if (mflag)
+  { fprintf(stream, "#import \"");
+    fprintf(stream, "xsd.h\"\t// import primitive XSD types.\n");
+  }
+  for (SetOfString::const_iterator u = exturis.begin(); u != exturis.end(); ++u)
+  { bool found = false;
+    size_t n = strlen(*u);
+    for (SetOfString::const_iterator i = definitions.builtinTypes().begin(); i != definitions.builtinTypes().end(); ++i)
+    { if (**i == '"' && !strncmp(*u, *i + 1, n) && (*i)[n+1] == '"')
+      { found = true;
+        break;
+      }
+    }
+    if (!found)
+    { for (SetOfString::const_iterator j = definitions.builtinElements().begin(); j != definitions.builtinElements().end(); ++j)
+      { if (**j == '"' && !strncmp(*u, *j + 1, n) && (*j)[n+1] == '"')
+        { found = true;
+          break;
+        }
+      }
+    }
+    if (!found)
+    { for (SetOfString::const_iterator k = definitions.builtinAttributes().begin(); k != definitions.builtinAttributes().end(); ++k)
+      { if (**k == '"' && !strncmp(*u, *k + 1, n) && (*k)[n+1] == '"')
+        { found = true;
+          break;
+        }
+      }
+    }
+    if (found)
+    { if (vflag)
+        fprintf(stderr, "import %s\n", *u);
+      fprintf(stream, "#import \"%s.h\"\t// %s = <%s>\n", types.nsprefix(NULL, *u), types.nsprefix(NULL, *u), *u);
+    }
+  }
+  banner("Schema Namespaces");
+  // Determine if bindings use SOAP 1.2
+  soap12 = false;
+  for (Namespace *p = definitions.soap->local_namespaces; p && p->id; p++)
+  { if (p->out && !strcmp(p->id, "soap") && !strcmp(p->out, "http://schemas.xmlsoap.org/wsdl/soap12/"))
+    { soap12 = true;
+      break;
+    }
+  }
+  if (definitions.types)
+  { fprintf(stream, "\n/* NOTE:\n\nIt is strongly recommended to customize the names of the namespace prefixes\ngenerated by wsdl2h. To do so, modify the prefix bindings below and add the\nmodified lines to typemap.dat to rerun wsdl2h:\n\n");
+    if (definitions.targetNamespace && *definitions.targetNamespace)
+      fprintf(stream, "%s = \"%s\"\n", types.nsprefix(service_prefix, definitions.targetNamespace), definitions.targetNamespace);
+    for (vector<xs__schema*>::const_iterator schema1 = definitions.types->xs__schema_.begin(); schema1 != definitions.types->xs__schema_.end(); ++schema1)
+      if (!definitions.targetNamespace || strcmp((*schema1)->targetNamespace, definitions.targetNamespace))
+        fprintf(stream, "%s = \"%s\"\n", types.nsprefix(NULL, (*schema1)->targetNamespace), (*schema1)->targetNamespace);
+    fprintf(stream, "\n*/\n");
+    for (vector<xs__schema*>::const_iterator schema2 = definitions.types->xs__schema_.begin(); schema2 != definitions.types->xs__schema_.end(); ++schema2)
+    { const char *t = types.nsprefix(NULL, (*schema2)->targetNamespace);
+      fprintf(stream, "\n");
+      types.document((*schema2)->annotation);
+      fprintf(stream, "#define SOAP_NAMESPACE_OF_%s\t\"%s\"\n", types.aname(NULL, NULL, t), urienc(definitions.soap, (*schema2)->targetNamespace));
+      fprintf(stream, schemaformat, t, "namespace", urienc(definitions.soap, (*schema2)->targetNamespace));
+      if ((*schema2)->elementFormDefault == (*schema2)->attributeFormDefault)
+        fprintf(stream, schemaformat, types.nsprefix(NULL, (*schema2)->targetNamespace), "form", (*schema2)->elementFormDefault == qualified ? "qualified" : "unqualified");
+      else
+      { fprintf(stream, schemaformat, types.nsprefix(NULL, (*schema2)->targetNamespace), "elementForm", (*schema2)->elementFormDefault == qualified ? "qualified" : "unqualified");
+        fprintf(stream, schemaformat, types.nsprefix(NULL, (*schema2)->targetNamespace), "attributeForm", (*schema2)->attributeFormDefault == qualified ? "qualified" : "unqualified");
+      }
+    }
+  }
+  // generate the prototypes first: these should allow use before def, e.g. class names then generate the defs
+  // check if xsd:anyType is used
+  if (!cflag && !pflag)
+  { for (SetOfString::const_iterator i = definitions.builtinTypes().begin(); i != definitions.builtinTypes().end(); ++i)
+    { if (!cflag && !strcmp(*i, "xs:anyType"))
+      { pflag = 1;
+        break;
+      }
+    }
+  }
+  if (dflag && pflag && !Pflag)
+  { if (!Wflag)
+      fprintf(stderr, "\nWarning -d option: -p option disabled and xsd__anyType base class removed.\nUse run-time SOAP_DOM_NODE flag to deserialize class instances into DOM nodes.\n");
+    fprintf(stream, "\n/*\nWarning -d option used: -p option disabled and xsd:anyType base class removed.\nUse run-time SOAP_DOM_NODE flag to deserialize class instances into DOM nodes.\nA DOM node is represented by the xsd__anyType object implemented in dom.cpp.\n*/\n\n");
+    pflag = 0;
+  }
+  // define xsd:anyType first, if used
+  if (!cflag && pflag)
+  { const char *s, *t;
+    t = types.cname(NULL, NULL, "xs:anyType");
+    s = types.deftypemap[t];
+    if (s)
+    { if (*s)
+      { if (!mflag)
+          fprintf(stream, "%s\n", s);
+      }
+      s = types.usetypemap[t];
+      if (s)
+      { if (mflag)
+          fprintf(stream, "//  xsd.h: should define type %s\n", s);
+        types.knames.insert(s);
+      }
+    }
+    else
+    { fprintf(stderr, "\nError: no xsd__anyType defined in type map\n");
+      pflag = 0;
+    }
+  }
+  if (Pflag)
+    pflag = 0;
+  // produce built-in primitive types, limited to the ones that are used only
+  banner("Built-in Schema Types and Top-Level Elements and Attributes");
+  if (vflag)
+    fprintf(stderr, "\nGenerating built-in types\n");
+  for (SetOfString::const_iterator i = definitions.builtinTypes().begin(); i != definitions.builtinTypes().end(); ++i)
+  { const char *s, *t;
+    if (!cflag && !strcmp(*i, "xs:anyType"))
+      continue;
+    t = types.cname(NULL, NULL, *i);
+    s = types.deftypemap[t];
+    if (s)
+    { if (*s)
+      { if (**i == '"')
+          fprintf(stream, "\n/// Imported type %s from typemap %s.\n", *i, mapfile?mapfile:"");
+        else
+          fprintf(stream, "\n/// Built-in type \"%s\".\n", *i);
+        if (mflag)
+          fprintf(stream, "//  (declaration of %s removed by option -m)\n", t);
+        else if (!iflag && !imported(*i))
+          types.format(s);
+      }
+      s = types.usetypemap[t];
+      if (s && *s)
+      { if (mflag && **i != '"')
+          fprintf(stream, "\n//  xsd.h: typemap override of type %s with %s\n", t, s);
+        if (types.knames.find(s) == types.knames.end())
+          types.knames.insert(s);
+      }
+    }
+  }
+  for (SetOfString::const_iterator i = definitions.builtinTypes().begin(); i != definitions.builtinTypes().end(); ++i)
+  { const char *s, *t;
+    if (!cflag && !strcmp(*i, "xs:anyType"))
+      continue;
+    t = types.cname(NULL, NULL, *i);
+    s = types.deftypemap[t];
+    if (!s)
+    { if (!mflag)
+      { if (**i == '"')
+          fprintf(stream, "\n// Imported type %s defined by %s\n", *i, t);
+        else if (!iflag)
+        { s = types.tname(NULL, NULL, "xsd:string");
+          fprintf(stream, "\n/// Primitive built-in type \"%s\"\n", *i);
+          fprintf(stream, "typedef %s %s;\n", s, t);
+          types.deftname(TYPEDEF, NULL, strchr(s, '*') != NULL, NULL, NULL, *i);
+	  const char *u = types.uri(*i);
+	  if (u && !types.uris[u])
+            fprintf(stream, schemaformat, types.nsprefix(types.prefix(*i), u), "namespace", u);
+        }
+      }
+      else if (**i == '"')
+        fprintf(stream, "\n//  Imported type %s defined by %s\n", *i, t);
+      else
+        fprintf(stream, "\n//  xsd.h: should define type %s\n", t);
+      types.deftname(TYPEDEF, NULL, false, NULL, NULL, *i);
+    }
+    if (pflag && !strncmp(*i, "xs:", 3))		// only xsi types are polymorph
+    { s = types.aname(NULL, NULL, *i);
+      if (!mflag)
+      { fprintf(stream, "\n/// Class wrapper for built-in type \"%s\" derived from xsd__anyType\n/// Use virtual method soap_type() == SOAP_TYPE_%s to check runtime type (see soapStub.h)\n", *i, s);
+        fprintf(stream, "class %s : public xsd__anyType\n{ public:\n", s);
+        fprintf(stream, elementformat, types.tname(NULL, NULL, *i), "__item;");
+        fprintf(stream, "\n};\n");
+      }
+      types.knames.insert(s);
+    }
+  }
+  // produce built-in primitive elements, limited to the ones that are used only
+  if (vflag)
+    fprintf(stderr, "\nGenerating built-in elements\n");
+  for (SetOfString::const_iterator j = definitions.builtinElements().begin(); j != definitions.builtinElements().end(); ++j)
+  { const char *s, *t;
+    t = types.cname("_", NULL, *j);
+    s = types.deftypemap[t];
+    if (s)
+    { if (*s)
+      { if (**j == '"')
+          fprintf(stream, "\n/// Imported element %s from typemap %s.\n", *j, mapfile?mapfile:"");
+        else
+          fprintf(stream, "\n/// Built-in element \"%s\".\n", *j);
+        if (mflag)
+          fprintf(stream, "//  (declaration of %s removed by option -m)\n", t);
+        else if (!iflag && !imported(*j))
+          types.format(s);
+      }
+      s = types.usetypemap[t];
+      if (s && *s)
+      { if (mflag && **j != '"')
+          fprintf(stream, "\n//  xsd.h: typemap override of element %s with %s\n", t, s);
+        if (types.knames.find(s) == types.knames.end())
+          types.knames.insert(s);
+      }
+    }
+    else
+    { if (!mflag)
+      { if (**j == '"')
+          fprintf(stream, "\n// Imported element %s declared as %s\n", *j, t);
+        else if (!iflag && !imported(*j))
+        { s = types.tname(NULL, NULL, "xsd:any");
+          fprintf(stream, "\n/// Built-in element \"%s\".\n", *j);
+          fprintf(stream, "typedef %s %s;\n", s, t);
+          types.deftname(TYPEDEF, NULL, true, "_", NULL, *j);	// already pointer
+	  const char *u = types.uri(*j);
+	  if (u && !types.uris[u])
+            fprintf(stream, schemaformat, types.nsprefix(types.prefix(*j), u), "namespace", u);
+        }
+      }
+      else if (**j == '"')
+        fprintf(stream, "\n//  Imported element %s declared as %s\n", *j, t);
+      else
+        fprintf(stream, "\n//  xsd.h: should define element %s\n", t);
+      types.deftname(TYPEDEF, NULL, false, "_", NULL, *j);
+    }
+  }
+  // produce built-in primitive attributes, limited to the ones that are used only
+  if (vflag)
+    fprintf(stderr, "\nGenerating built-in attributes\n");
+  for (SetOfString::const_iterator k = definitions.builtinAttributes().begin(); k != definitions.builtinAttributes().end(); ++k)
+  { const char *s, *t;
+    t = types.cname("_", NULL, *k);
+    s = types.deftypemap[t];
+    if (s)
+    { if (*s)
+      { if (**k == '"')
+          fprintf(stream, "\n/// Imported attribute %s from typemap %s.\n", *k, mapfile?mapfile:"");
+        else
+          fprintf(stream, "\n/// Built-in attribute \"%s\".\n", *k);
+        if (mflag)
+          fprintf(stream, "//  (declaration of %s removed by option -m)\n", t);
+        else if (!iflag && !imported(*k))
+          types.format(s);
+      }
+      s = types.usetypemap[t];
+      if (s && *s)
+      { if (mflag && **k != '"')
+          fprintf(stream, "\n//  xsd.h: typemap override of attribute %s with %s\n", t, s);
+        if (types.knames.find(s) == types.knames.end())
+          types.knames.insert(s);
+      }
+    }
+    else
+    { s = types.tname(NULL, NULL, "xsd:string");
+      if (!mflag)
+      { if (**k == '"')
+          fprintf(stream, "\n// Imported attribute %s declared as %s\n", *k, t);
+        else if (!iflag && !imported(*k))
+        { fprintf(stream, "\n/// Built-in attribute \"%s\".\n", *k);
+          fprintf(stream, "typedef %s %s;\n", s, t);
+	  const char *u = types.uri(*k);
+	  if (u && !types.uris[u])
+            fprintf(stream, schemaformat, types.nsprefix(types.prefix(*k), u), "namespace", u);
+        }
+      }
+      else if (**k == '"')
+        fprintf(stream, "//  Imported attribute %s declared as %s\n", *k, t);
+      else
+        fprintf(stream, "//  xsd.h: should define attribute %s\n", t);
+      types.deftname(TYPEDEF, NULL, strchr(s, '*') != NULL, "_", NULL, *k);
+    }
+  }
+  // produce types
+  // define class/struct types first
+  if (!cflag)
+    banner("Forward Declarations");
+  if (definitions.types)
+  { comment("Definitions", defs, "types", definitions.types->documentation);
+    fprintf(stream, "\n");
+    for (vector<xs__schema*>::const_iterator schema4 = definitions.types->xs__schema_.begin(); schema4 != definitions.types->xs__schema_.end(); ++schema4)
+    { if (vflag)
+        fprintf(stderr, "\nDefining types in %s\n", (*schema4)->targetNamespace);
+      for (vector<xs__complexType>::const_iterator complexType = (*schema4)->complexType.begin(); complexType != (*schema4)->complexType.end(); ++complexType)
+        types.define((*schema4)->targetNamespace, NULL, *complexType);
+      if (vflag)
+        fprintf(stderr, "\nDefining elements in %s\n", (*schema4)->targetNamespace);
+      for (vector<xs__element>::const_iterator element = (*schema4)->element.begin(); element != (*schema4)->element.end(); ++element)
+      { if (!(*element).type && !(*element).abstract)
+        { if ((*element).complexTypePtr())
+            types.define((*schema4)->targetNamespace, (*element).name, *(*element).complexTypePtr());
+          else if (!(*element).simpleTypePtr())
+          { fprintf(stream, "\n/// Top-level root element \"%s\":%s.\n", (*schema4)->targetNamespace, (*element).name);
+            if (gflag)
+            { const char *t = types.deftname(TYPEDEF, NULL, false, "_", (*schema4)->targetNamespace, (*element).name);
+  	      if (t)
+                fprintf(stream, "typedef _XML %s;\n", t);
+              else
+                fprintf(stream, "// Element definition intentionally left blank.\n");
+            }
+            else
+            { const char *s = types.cname("_", (*schema4)->targetNamespace, (*element).name);
+              types.ptrtypemap[s] = types.usetypemap[s] = "_XML";
+              fprintf(stream, "/// Note: use wsdl2h option -g to auto-generate a top-level root element declaration and processing code.\n");
+            }
+          }
+        }
+      }
+    }  
+    // visit types with lowest base level first
+    int baseLevel = 1;
+    bool found;
+    do
+    { found = (baseLevel == 1);
+      for (vector<xs__schema*>::iterator schema = definitions.types->xs__schema_.begin(); schema != definitions.types->xs__schema_.end(); ++schema)
+      { if (found)
+          banner("Schema Types and Top-Level Elements and Attributes", (*schema)->targetNamespace);
+        for (vector<xs__simpleType>::iterator simpleType = (*schema)->simpleType.begin(); simpleType != (*schema)->simpleType.end(); ++simpleType)
+        { if ((*simpleType).baseLevel() == baseLevel)
+          { found = true;
+            types.gen((*schema)->targetNamespace, NULL, *simpleType, false);
+          }
+        }
+        for (vector<xs__element>::iterator element = (*schema)->element.begin(); element != (*schema)->element.end(); ++element)
+        { if (!(*element).type && (*element).simpleTypePtr() && (*element).simpleTypePtr()->baseLevel() == baseLevel)
+	  { found = true;
+            if ((*element).type)
+              fprintf(stream, "/// Top-level root element \"%s\":%s of simpleType %s.\n", (*schema)->targetNamespace, (*element).name, (*element).type);
+            types.document((*element).annotation);
+            types.gen((*schema)->targetNamespace, (*element).name, *(*element).simpleTypePtr(), false);
+          }
+          if (!(*element).type && (*element).complexTypePtr() && (*element).complexTypePtr()->baseLevel() == baseLevel)
+            found = true;
+        }
+        for (vector<xs__attribute>::const_iterator attribute = (*schema)->attribute.begin(); attribute != (*schema)->attribute.end(); ++attribute)
+        { if (!(*attribute).type && (*attribute).simpleTypePtr() && (*attribute).simpleTypePtr()->baseLevel() == baseLevel)
+          { found = true;
+            if ((*attribute).type)
+              fprintf(stream, "/// Top-level attribute \"%s\":%s of simpleType %s.\n", (*schema)->targetNamespace, (*attribute).name, (*attribute).type);
+            types.document((*attribute).annotation);
+            types.gen((*schema)->targetNamespace, (*attribute).name, *(*attribute).simpleTypePtr(), false); // URI = NULL won't generate type in schema (type without namespace qualifier)
+          }
+        }
+        for (vector<xs__complexType>::iterator complexType = (*schema)->complexType.begin(); complexType != (*schema)->complexType.end(); ++complexType)
+        { if ((*complexType).baseLevel() == baseLevel)
+            found = true;
+        }
+      }
+      ++baseLevel;
+    } while (found);
+    // generate complex type defs. Problem: what if a simpleType restriction/extension depends on a complexType simpleContent restriction/extension?
+    int maxLevel = baseLevel;
+    for (baseLevel = 1; baseLevel < maxLevel; ++baseLevel)
+    { for (vector<xs__schema*>::iterator schema = definitions.types->xs__schema_.begin(); schema != definitions.types->xs__schema_.end(); ++schema)
+      { if (baseLevel == 1)
+          banner("Schema Complex Types and Top-Level Elements", (*schema)->targetNamespace);
+        for (vector<xs__complexType>::iterator complexType = (*schema)->complexType.begin(); complexType != (*schema)->complexType.end(); ++complexType)
+        { if ((*complexType).baseLevel() == baseLevel)
+            types.gen((*schema)->targetNamespace, NULL, *complexType, false);
+        }
+        for (vector<xs__element>::iterator element = (*schema)->element.begin(); element != (*schema)->element.end(); ++element)
+        { if (!(*element).type && (*element).complexTypePtr() && (*element).complexTypePtr()->baseLevel() == baseLevel)
+          { fprintf(stream, "\n\n/// Top-level root element \"%s\":%s\n", (*schema)->targetNamespace, (*element).name);
+            types.document((*element).annotation);
+            types.gen((*schema)->targetNamespace, (*element).name, *(*element).complexTypePtr(), false);
+          }
+        }
+      }
+    }
+    for (vector<xs__schema*>::iterator schema = definitions.types->xs__schema_.begin(); schema != definitions.types->xs__schema_.end(); ++schema)
+    { for (vector<xs__simpleType>::iterator simpleType = (*schema)->simpleType.begin(); simpleType != (*schema)->simpleType.end(); ++simpleType)
+      { if ((*simpleType).baseLevel() <= 0)
+        { fprintf(stream, "\n\n/// Warning: '%s' is a simpleType with cyclic restriction/extension inheritance\n", (*simpleType).name?(*simpleType).name:"");
+          fprintf(stream, "typedef _XML %s;\n", types.deftname(TYPEDEF, NULL, false, NULL, (*schema)->targetNamespace, (*simpleType).name));
+        }
+      }
+      for (vector<xs__complexType>::iterator complexType = (*schema)->complexType.begin(); complexType != (*schema)->complexType.end(); ++complexType)
+      { if ((*complexType).baseLevel() <= 0)
+        { fprintf(stream, "\n\n/// Warning: '%s' is a complexType with cyclic restriction/extension inheritance\n", (*complexType).name?(*complexType).name:"");
+          if (cflag)
+	    fprintf(stream, "typedef _XML %s;\n", types.cname(NULL, (*schema)->targetNamespace, (*complexType).name));
+	  else
+	    fprintf(stream, "class %s { };\n", types.cname(NULL, (*schema)->targetNamespace, (*complexType).name));
+        }
+      }
+    }
+    // option to consider: generate local complexTypes iteratively
+    /*
+    for (MapOfStringToType::const_iterator local = types.locals.begin(); local != types.locals.end(); ++local)
+    { types.gen(NULL, (*local).first, *(*local).second);
+    }
+    */
+    for (vector<xs__schema*>::iterator schema = definitions.types->xs__schema_.begin(); schema != definitions.types->xs__schema_.end(); ++schema)
+    { if (vflag)
+        fprintf(stderr, "\nGenerating elements in %s\n", (*schema)->targetNamespace);
+      banner("Additional Top-Level Elements", (*schema)->targetNamespace);
+      for (vector<xs__element>::iterator element = (*schema)->element.begin(); element != (*schema)->element.end(); ++element)
+      { if ((*element).name && (*element).type && !(*element).abstract)
+        { fprintf(stream, "\n/// Top-level root element \"%s\":%s of type %s.\n", (*schema)->targetNamespace, (*element).name, (*element).type);
+          types.document((*element).annotation);
+          if (!types.is_defined("_", (*schema)->targetNamespace, (*element).name))
+  	  { if (gflag)
+            { const char *s = types.tname(NULL, (*schema)->targetNamespace, (*element).type);
+              const char *t = types.deftname(TYPEDEF, NULL, false, "_", (*schema)->targetNamespace, (*element).name);
+  	      if (strncmp(s, "char", 4) && strchr(s, '*')) // don't want pointer typedef, unless char*
+  	      { size_t n = strlen(s);
+  	        char *r = (char*)malloc(n);
+  	        strncpy(r, s, n - 1);
+  	        r[n - 1] = '\0';
+  	        fprintf(stream, "typedef %s %s;\n", r, t);
+  	        free(r);
+  	      }
+  	      else
+  	        fprintf(stream, "typedef %s %s;\n", s, t);
+  	    }
+  	    else
+              fprintf(stream, "/// Note: use wsdl2h option -g to auto-generate a top-level root element declaration and processing code.\n");
+          }
+          else
+          { const char *s = types.cname("_", (*schema)->targetNamespace, (*element).name);
+            const char *t = types.deftypemap[s];
+            if (t && *t)
+            { fprintf(stream, "/// Imported element %s from typemap %s.\n", s, mapfile?mapfile:"");
+              types.format(t);
+            }
+            else
+              fprintf(stream, "// '%s' element definition intentionally left blank.\n", types.cname("_", (*schema)->targetNamespace, (*element).name));
+          }
+        }
+      }
+      if (vflag)
+        fprintf(stderr, "\nGenerating attributes in %s\n", (*schema)->targetNamespace);
+      banner("Additional Top-Level Attributes", (*schema)->targetNamespace);
+      for (vector<xs__attribute>::iterator attribute = (*schema)->attribute.begin(); attribute != (*schema)->attribute.end(); ++attribute)
+      { if ((*attribute).name && (*attribute).type)
+        { fprintf(stream, "\n/// Top-level attribute \"%s\":%s of simpleType %s.\n", (*schema)->targetNamespace, (*attribute).name, (*attribute).type);
+          types.document((*attribute).annotation);
+          if (!types.is_defined("_", (*schema)->targetNamespace, (*attribute).name))
+  	  { if (gflag)
+            { const char *s = types.tname(NULL, (*schema)->targetNamespace, (*attribute).type);
+              const char *t = types.deftname(TYPEDEF, NULL, false, "_", (*schema)->targetNamespace, (*attribute).name);
+  	      if (strncmp(s, "char", 4) && strchr(s, '*')) // don't want pointer typedef, unless char*
+  	      { size_t n = strlen(s);
+  	        char *r = (char*)malloc(n);
+  	        strncpy(r, s, n - 1);
+  	        r[n - 1] = '\0';
+  	        fprintf(stream, "typedef %s %s;\n", r, t);
+  	        free(r);
+  	      }
+  	      else
+  	        fprintf(stream, "typedef %s %s;\n", s, t);
+  	    }
+  	    else
+              fprintf(stream, "/// Note: use wsdl2h option -g to auto-generate a top-level attribute declaration and processing code.\n");
+          }
+          else
+          { const char *s = types.cname("_", (*schema)->targetNamespace, (*attribute).name);
+            const char *t = types.deftypemap[s];
+            if (t && *t)
+            { fprintf(stream, "/// Imported attribute %s from typemap %s.\n", s, mapfile?mapfile:"");
+              types.format(t);
+            }
+            else
+              fprintf(stream, "// '%s' attribute definition intentionally left blank.\n", types.cname("_", (*schema)->targetNamespace, (*attribute).name));
+          }
+        }
+      }
+    }
+  }
+  if (vflag)
+    fprintf(stderr, "\nCollecting service bindings\n");
+  collect(definitions);
+  if (!services.empty())
+  { banner("Services");
+    if (soap12)
+      fprintf(stream, "// This service supports SOAP 1.2 namespaces:\n#import \"soap12.h\"\n");
+    for (MapOfStringToService::const_iterator service1 = services.begin(); service1 != services.end(); ++service1)
+    { Service *sv = (*service1).second;
+      if (sv && sv->prefix)
+      { fprintf(stream, "\n");
+        if (sv->name)
+          fprintf(stream, serviceformat, sv->prefix, "name", sv->name, "");
+        if (sv->type)
+          fprintf(stream, serviceformat, sv->prefix, "type", sv->type, "");
+        for (SetOfString::const_iterator port = sv->location.begin(); port != sv->location.end(); ++port)
+          fprintf(stream, serviceformat, sv->prefix, "port", (*port), "");
+        if (sv->URI)
+          fprintf(stream, serviceformat, sv->prefix, "namespace", sv->URI, "");
+        if (sv->transport)
+          fprintf(stream, serviceformat, sv->prefix, "transport", sv->transport, "");
+      }
+    }
+    fprintf(stream, "\n/** @mainpage %s Definitions\n", definitions.name?definitions.name:"Service");
+    if (definitions.version)
+    { section(defs, "_version Definitions Version", NULL);
+      text(definitions.version);
+    }
+    if (definitions.documentation)
+    { section(defs, "_documentation Documentation", NULL);
+      text(definitions.documentation);
+    }
+    if (definitions.types && definitions.types->documentation)
+    { section(defs, "_types Schema Type Information", NULL);
+      text(definitions.types->documentation);
+    }
+    section(defs, "_bindings Service Bindings", NULL);
+    for (MapOfStringToService::const_iterator service2 = services.begin(); service2 != services.end(); ++service2)
+    { Service *sv = (*service2).second;
+      if (sv && sv->name)
+        fprintf(stream, "\n  - @ref %s\n", sv->name);
+    }
+    section(defs, "_more More Information", NULL);
+    fprintf(stream, "\n  - @ref page_notes \"Usage Notes\"\n");
+    fprintf(stream, "\n  - @ref page_XMLDataBinding \"XML Data Binding\"\n");
+    if (!jflag)
+      fprintf(stream, "\n  - @ref SOAP_ENV__Header \"SOAP Header Content\" (when applicable)\n");
+    if (!jflag)
+      fprintf(stream, "\n  - @ref SOAP_ENV__Detail \"SOAP Fault Detail Content\" (when applicable)\n");
+    fprintf(stream, "\n\n*/\n");
+    for (MapOfStringToService::const_iterator service3 = services.begin(); service3 != services.end(); ++service3)
+    { Service *sv = (*service3).second;
+      if (sv && sv->name)
+      { fprintf(stream, "\n/**\n");
+        page(sv->name, " Binding", sv->name);
+        for (MapOfStringToString::const_iterator service_doc = sv->service_documentation.begin(); service_doc != sv->service_documentation.end(); ++service_doc)
+        { const char *name = types.aname(NULL, NULL, (*service_doc).first);
+          section(name, "_service Service Documentation", (*service_doc).first);
+          text((*service_doc).second);
+        }
+        for (MapOfStringToString::const_iterator port_doc = sv->port_documentation.begin(); port_doc != sv->port_documentation.end(); ++port_doc)
+        { const char *name = types.aname(NULL, NULL, (*port_doc).first);
+          section(name, "_port Port Documentation", (*port_doc).first);
+          text((*port_doc).second);
+        }
+        for (MapOfStringToString::const_iterator binding_doc = sv->binding_documentation.begin(); binding_doc != sv->binding_documentation.end(); ++binding_doc)
+        { const char *name = types.aname(NULL, NULL, (*binding_doc).first);
+          section(name, "_binding Binding Documentation", (*binding_doc).first);
+          text((*binding_doc).second);
+        }
+        section(sv->name, "_operations Operations of Binding ", sv->name);
+        for (vector<Operation*>::const_iterator op = sv->operation.begin(); op != sv->operation.end(); ++op)
+        { if (*op && (*op)->input && (*op)->input_name)
+            fprintf(stream, "\n  - @ref %s\n", (*op)->input_name);
+          else if (*op && (*op)->output_name)
+            fprintf(stream, "\n  - @ref %s\n", (*op)->output_name);
+        }
+        section(sv->name, "_ports Endpoints of Binding ", sv->name);
+        for (SetOfString::const_iterator port = sv->location.begin(); port != sv->location.end(); ++port)
+          fprintf(stream, "\n  - %s\n", *port);
+        if (!sv->policy.empty())
+        { section(sv->name, "_policy Policy of Binding ", sv->name);
+          fprintf(stream, "\nSee Section @ref %s_policy_enablers\n", sv->name);
+	  gen_policy(*sv, sv->policy, "service endpoint ports", types);
+        }
+	if (!service_prefix)
+          fprintf(stream, "\nNote: use wsdl2h option -Nname to change the service binding prefix name\n");
+        fprintf(stream, "\n\n*/\n");
+      }
+    }
+  }
+  generate();
+  if (definitions.types)
+  { banner("XML Data Binding");
+    fprintf(stream, "\n/**\n");
+    page("page_XMLDataBinding", " XML Data Binding", NULL);
+    fprintf(stream, "\nSOAP/XML services use data bindings contractually bound by WSDL and auto-\ngenerated by wsdl2h and soapcpp2 (see Service Bindings). Plain data bindings\nare adopted from XML schemas as part of the WSDL types section or when running\nwsdl2h on a set of schemas to produce non-SOAP-based XML data bindings.\n\nThe following readers and writers are C/C++ data type (de)serializers auto-\ngenerated by wsdl2h and soapcpp2. Run soapcpp2 on this file to generate the\n(de)serialization code, which is stored in soapC.c[pp]. Include \"soapH.h\" in\nyour code to import these data type and function declarations. Only use the\nsoapcpp2-generated files in your project build. Do not include the wsdl2h-\ngenerated .h file in your code.\n\nData can be read in XML and deserialized from:\n  - a file descriptor, using soap->recvfd = fd\n  - a socket, using soap->socket = ...\n  - a C++ stream, using soap->is = ...\n  - a buffer, using the soap->frecv() callback\n\nData can be serialized in XML and written to:\n  - a file descriptor, using soap->sendfd = fd\n  - a socket, using soap->socket = ...\n  - a C++ stream, using soap->os = ...\n  - a buffer, using the soap->fsend() callback\n\nThe following options are available for (de)serialization control:\n  - soap->encodingStyle = NULL; to remove SOAP 1.1/1.2 encodingStyle\n  - soap_mode(soap, SOAP_XML_TREE); XML without id-ref (no cycles!)\n  - soap_mode(soap, SOAP_XML_GRAPH); XML with id-ref (including cycles)\n  - soap_set_namespaces(soap, struct Namespace *nsmap); to set xmlns bindings\n\n");
+    for (vector<xs__schema*>::const_iterator schema5 = definitions.types->xs__schema_.begin(); schema5 != definitions.types->xs__schema_.end(); ++schema5)
+    { const char *prefix = types.nsprefix(NULL, (*schema5)->targetNamespace);
+      fprintf(stream, "\n@section %s Top-level root elements of schema \"%s\"\n", prefix, (*schema5)->targetNamespace);
+      for (vector<xs__element>::const_iterator element = (*schema5)->element.begin(); element != (*schema5)->element.end(); ++element)
+      { fprintf(stream, "\n  - <%s:%s> ", prefix, (*element).name);
+        if (types.is_defined("_", (*schema5)->targetNamespace, (*element).name))
+        { const char *cname = types.cname("_", (*schema5)->targetNamespace, (*element).name);
+          const char *pname = types.pname(true, "_", (*schema5)->targetNamespace, (*element).name);
+	  fprintf(stream, "@ref %s\n", cname);
+          fprintf(stream, "    @code\n    // Reader (returns SOAP_OK on success):\n    soap_read_%s(struct soap*, %s);\n    // Writer (returns SOAP_OK on success):\n    soap_write_%s(struct soap*, %s);\n    @endcode\n", cname, pname, cname, pname);
+	}
+	else
+          fprintf(stream, "(use wsdl2h option -g to auto-generate)\n");
+      }
+    }
+    fprintf(stream, "\n*/\n");
+  }
+  if (cppnamespace)
+    fprintf(stream, "\n} // namespace %s\n", cppnamespace);
+  fprintf(stream, "\n/* End of %s */\n", outfile?outfile:"file");
+}
+
+void Definitions::generate()
+{ MapOfStringToMessage headers;
+  MapOfStringToMessage faults;
+  const char *t;
+  for (MapOfStringToService::const_iterator service1 = services.begin(); service1 != services.end(); ++service1)
+  { if ((*service1).second)
+    { for (MapOfStringToMessage::const_iterator header = (*service1).second->header.begin(); header != (*service1).second->header.end(); ++header)
+        headers[(*header).first] = (*header).second;
+      for (MapOfStringToMessage::const_iterator fault = (*service1).second->fault.begin(); fault != (*service1).second->fault.end(); ++fault)
+        faults[(*fault).first] = (*fault).second;
+    }
+  }
+  // Generate SOAP Header definition
+  t = types.deftypemap["SOAP_ENV__Header"];
+  if (t && *t)
+  { banner("Custom SOAP Header");
+    types.format(t);
+  }
+  else if (!jflag && !headers.empty())
+  { banner("SOAP Header");
+    fprintf(stream, "/**\n\nThe SOAP Header is part of the gSOAP context and its content is accessed\nthrough the soap.header variable. You may have to set the soap.actor variable\nto serialize SOAP Headers with SOAP-ENV:actor or SOAP-ENV:role attributes.\nUse option -j to remove entire SOAP Header definition.\nUse option -k to remove the mustUnderstand qualifiers.\n\n*/\n");
+    fprintf(stream, "struct SOAP_ENV__Header\n{\n");
+    for (MapOfStringToMessage::const_iterator header = headers.begin(); header != headers.end(); ++header)
+    { if ((*header).second->URI && !types.uris[(*header).second->URI])
+        fprintf(stream, schemaformat, types.nsprefix(NULL, (*header).second->URI), "namespace", (*header).second->URI);
+      comment("Header", (*header).first, "WSDL", (*header).second->ext_documentation);
+      comment("Header", (*header).first, "SOAP", (*header).second->documentation);
+      if ((*header).second->mustUnderstand && !kflag)
+      { fprintf(stream, elementformat, "mustUnderstand", "// must be understood by receiver");
+        fprintf(stream, "\n");
+      }
+      if ((*header).second->part && (*header).second->part->elementPtr())
+      { fprintf(stream, "/// \"%s\" SOAP Header part element\n", (*header).second->part->name);
+	if ((*header).second->part->elementPtr()->type && (*header).second->part->element)
+          fprintf(stream, elementformat, types.pname(true, NULL, NULL, (*header).second->part->elementPtr()->type), types.aname(NULL, NULL, (*header).second->part->element));
+	else if ((*header).second->part->element)
+          fprintf(stream, elementformat, types.pname(true, "_", NULL, (*header).second->part->element), types.aname(NULL, NULL, (*header).second->part->element));
+	else
+          fprintf(stream, elementformat, types.pname(true, "_", NULL, (*header).second->part->elementPtr()->name), (*header).first);
+        fprintf(stream, ";\n");
+      }
+      else if ((*header).second->part && (*header).second->part->type)
+      { fprintf(stream, "/// \"%s\" SOAP Header part type\n", (*header).second->part->type);
+        fprintf(stream, elementformat, types.pname(true, NULL, NULL, (*header).second->part->type), types.aname(NULL, (*header).second->URI, (*header).second->part->name));
+        fprintf(stream, ";\n");
+      }
+      else if ((*header).second->element)
+      { fprintf(stream, "/// \"%s\" SOAP Header element", (*header).second->name);
+        (*header).second->generate(types, ";", false, true, false, true);
+        fprintf(stream, "\n");
+      }
+      else
+      { if ((*header).second->part && (*header).second->part->element)
+          fprintf(stream, elementformat, types.pname(true, "_", NULL, (*header).second->part->element), (*header).first);
+        else
+          fprintf(stream, pointerformat, (*header).first, (*header).first);
+        fprintf(stream, ";\t///< TODO: Please check element name and type (imported type)\n");
+      }
+    }
+    types.modify("SOAP_ENV__Header");
+    fprintf(stream, "\n};\n");
+  }
+  // Generate Fault detail element definitions
+  for (MapOfStringToMessage::const_iterator fault = faults.begin(); fault != faults.end(); ++fault)
+  { if ((*fault).second->use == encoded)
+    { banner("SOAP Fault Detail Message");
+      fprintf(stream, "/// SOAP Fault detail message \"%s:%s\"\n", (*fault).second->URI, (*fault).second->message->name);
+      comment("Fault", (*fault).first, "WSDL", (*fault).second->ext_documentation);
+      comment("Fault", (*fault).first, "SOAP", (*fault).second->documentation);
+      if (cflag)
+        fprintf(stream, "struct %s\n{", (*fault).first);
+      else
+        fprintf(stream, "class %s\n{ public:", (*fault).first);
+      (*fault).second->generate(types, ";", false, true, false, true);
+      if (!cflag)
+      { fprintf(stream, "\n");
+        fprintf(stream, pointerformat, "struct soap", "soap");
+        fprintf(stream, ";");
+      }
+      fprintf(stream, "\n};\n");
+      if (cflag)
+        fprintf(stream, "typedef struct %s %s;\n", (*fault).first, (*fault).first);
+      if ((*fault).second->URI && !types.uris[(*fault).second->URI])
+        fprintf(stream, schemaformat, types.nsprefix(NULL, (*fault).second->URI), "namespace", (*fault).second->URI);
+    }
+  }
+  t = types.deftypemap["SOAP_ENV__Detail"];
+  if (t && *t)
+  { banner("Custom SOAP Fault Detail");
+    types.format(t);
+  }
+  else if (!jflag && !faults.empty())
+  { SetOfString fault_elements;
+    banner("SOAP Fault Detail");
+    fprintf(stream, "/**\n\nThe SOAP Fault is part of the gSOAP context and its content is accessed\nthrough the soap.fault->detail variable (SOAP 1.1) or the\nsoap.fault->SOAP_ENV__Detail variable (SOAP 1.2).\nUse wsdl2h option -j to omit these declarations.\n\n*/\n");
+    fprintf(stream, "struct SOAP_ENV__Detail\n{\n");
+    if (dflag)
+    { const char *t = types.tname(NULL, NULL, "xsd:anyAttribute");
+      fprintf(stream, attributeformat, t, "__anyAttribute");
+      fprintf(stream, ";\t///< Catch any attribute content in DOM.\n");
+    }
+    else
+      fprintf(stream, "// xsd:anyAttribute omitted: to parse attribute content of the Detail element into DOM anyAttribute, use wsdl2h option -d.\n");
+    types.modify("SOAP_ENV__Detail");
+    /* See below */
+    fprintf(stream, elementformat, "_XML", "__any");
+    fprintf(stream, ";\t///< Catch any element content in XML string.\n");
+    /* The DOM representation is not desired since faultdetail is NULL.
+       However, future options may reenable this feature (see keep code here).
+    const char *t = types.tname(NULL, NULL, "xsd:any");
+    fprintf(stream, elementformat, t, "__any");
+    if (dflag)
+      fprintf(stream, ";\t///< Catch any element content in DOM.\n");
+    else
+      fprintf(stream, ";\t///< Catch any element content in XML string.\n");
+    */
+    for (MapOfStringToMessage::const_iterator fault = faults.begin(); fault != faults.end(); ++fault)
+    { if ((*fault).second->URI && !types.uris[(*fault).second->URI])
+        fprintf(stream, schemaformat, types.nsprefix(NULL, (*fault).second->URI), "namespace", (*fault).second->URI);
+      comment("Fault", (*fault).first, "WSDL", (*fault).second->ext_documentation);
+      comment("Fault", (*fault).first, "SOAP", (*fault).second->documentation);
+      if ((*fault).second->message)
+      { if ((*fault).second->use == literal)
+        { for (vector<wsdl__part>::const_iterator part = (*fault).second->message->part.begin(); part != (*fault).second->message->part.end(); ++part)
+          { if ((*part).elementPtr())
+            { if (fault_elements.find((*part).element) == fault_elements.end())
+              { if ((*part).elementPtr()->type)
+                  fprintf(stream, elementformat, types.pname(true, NULL, NULL, (*part).elementPtr()->type), types.aname(NULL, (*fault).second->URI, (*part).element));
+                else
+                  fprintf(stream, elementformat, types.pname(true, "_", NULL, (*part).element), types.aname(NULL, (*fault).second->URI, (*part).element));
+                fprintf(stream, ";\n");
+                fault_elements.insert((*part).element);
+              }
+              fprintf(stream, "///< SOAP Fault element \"%s\" part \"%s\"\n", (*part).element?(*part).element:"", (*part).name?(*part).name:"");
+            }
+            else if ((*part).name && (*part).type)
+            { if (fault_elements.find((*part).name) == fault_elements.end())
+              { fprintf(stream, elementformat, types.pname(true, NULL, NULL, (*part).type), types.aname("_", (*fault).second->URI, (*part).name));
+                fprintf(stream, ";\n");
+                fault_elements.insert((*part).name);
+              }
+              fprintf(stream, "///< SOAP Fault type \"%s\" part \"%s\"\n", (*part).type, (*part).name);
+            }
+            else
+              fprintf(stream, "// Unknown SOAP Fault element \"%s\" part \"%s\"\n", (*fault).second->message->name, (*part).name?(*part).name:"");
+          }
+        }
+        else
+        { fprintf(stream, elementformat, (*fault).first, types.aname(NULL, (*fault).second->URI, (*fault).second->message->name));
+          fprintf(stream, ";\t///< SOAP Fault detail message \"%s\":%s\n", (*fault).second->URI, (*fault).second->message->name);
+        }
+      }
+      else if ((*fault).second->element)
+      { if (fault_elements.find((*fault).second->name) == fault_elements.end())
+        { fprintf(stream, pointerformat, types.pname(true, "_", (*fault).second->URI, (*fault).second->element->name), (*fault).second->name);
+          fprintf(stream, ";\t///< SOAP Fault detail message \"%s\":%s\n", (*fault).second->URI, (*fault).second->element->name);
+          fault_elements.insert((*fault).second->name);
+        }
+      }
+    }
+    fprintf(stream, elementformat, "int", "__type");
+    fprintf(stream, ";\t///< set to SOAP_TYPE_X for a serializable type X\n");
+    fprintf(stream, pointerformat, "void", "fault");
+    fprintf(stream, ";\t///< points to serializable object X or NULL\n");
+    fprintf(stream, "};\n");
+  }
+  /* The SOAP Fault struct below is autogenerated by soapcpp2 (kept here for future mods)
+  if (!mflag && !faults.empty())
+  { fprintf(stream, "struct SOAP_ENV__Code\n{\n"); 
+    fprintf(stream, elementformat, "_QName", "SOAP_ENV__Value");
+    fprintf(stream, ";\n");
+    fprintf(stream, pointerformat, "char", "SOAP_ENV__Node");
+    fprintf(stream, ";\n");
+    fprintf(stream, pointerformat, "char", "SOAP_ENV__Role");
+    fprintf(stream, ";\n};\n");
+    fprintf(stream, "struct SOAP_ENV__Detail\n{\n"); 
+    fprintf(stream, elementformat, "int", "__type");
+    fprintf(stream, ";\n");
+    fprintf(stream, pointerformat, "void", "fault");
+    fprintf(stream, ";\n");
+    fprintf(stream, elementformat, "_XML", "__any");
+    fprintf(stream, ";\n};\n");
+    fprintf(stream, "struct SOAP_ENV__Fault\n{\n"); 
+    fprintf(stream, elementformat, "_QName", "faultcode");
+    fprintf(stream, ";\n");
+    fprintf(stream, pointerformat, "char", "faultstring");
+    fprintf(stream, ";\n");
+    fprintf(stream, pointerformat, "char", "faultactor");
+    fprintf(stream, ";\n");
+    fprintf(stream, pointerformat, "struct SOAP_ENV__Detail", "detail");
+    fprintf(stream, ";\n");
+    fprintf(stream, pointerformat, "struct SOAP_ENV__Code", "SOAP_ENV__Code");
+    fprintf(stream, ";\n");
+    fprintf(stream, pointerformat, "char", "SOAP_ENV__Reason");
+    fprintf(stream, ";\n");
+    fprintf(stream, pointerformat, "struct SOAP_ENV__Detail", "SOAP_ENV__Detail");
+    fprintf(stream, ";\n};\n");
+  }
+  */
+  for (MapOfStringToService::const_iterator service2 = services.begin(); service2 != services.end(); ++service2)
+    if ((*service2).second)
+      (*service2).second->generate(types);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	Service methods
+//
+////////////////////////////////////////////////////////////////////////////////
+
+Service::Service()
+{ prefix = NULL;
+  URI = NULL;
+  name = NULL;
+  type = NULL;
+  transport = NULL;
+}
+
+void Service::generate(Types& types)
+{ const char *method_name;
+  banner("Service Binding", name);
+  for (vector<Operation*>::const_iterator op2 = operation.begin(); op2 != operation.end(); ++op2)
+  { if (*op2 && ((*op2)->input || bflag))
+    { bool flag = false, anonymous = ((*op2)->style != document && (*op2)->parameterOrder != NULL);
+      if (!(*op2)->input)
+        method_name = (*op2)->output_name;
+      else
+        method_name = (*op2)->input_name;
+      banner("Service Operation", method_name);
+      if ((*op2)->output && (*op2)->output_name)
+      { if ((*op2)->style == document)
+          flag = ((*op2)->output->element || ((*op2)->output->message && (*op2)->output->message->part.size() == 1));
+        else if (!wflag)
+          flag = ((*op2)->output->element || ((*op2)->output->message && (*op2)->output->use == encoded && (*op2)->output->message->part.size() == 1 && !(*(*op2)->output->message->part.begin()).simpleTypePtr() && !(*(*op2)->output->message->part.begin()).complexTypePtr()));
+        if (flag && (*op2)->input && (*op2)->output && (*op2)->input->message && (*(*op2)->output->message->part.begin()).element)
+          for (vector<wsdl__part>::const_iterator part = (*op2)->input->message->part.begin(); part != (*op2)->input->message->part.end(); ++part)
+            if ((*part).element && !strcmp((*part).element, (*(*op2)->output->message->part.begin()).element))
+              flag = false;
+	if (!flag)
+	{ if (bflag)
+	    fprintf(stream, "/* soapcpp2 generates the following struct automatically for your use:\n");
+	  fprintf(stream, "/// Operation response struct \"%s\" of operation \"%s\"\n", (*op2)->output_name, method_name);
+          fprintf(stream, "struct %s\n{", (*op2)->output_name);
+          (*op2)->output->generate(types, ";", anonymous, false, false, false);
+          fprintf(stream, "\n};\n");
+	  if (bflag)
+	    fprintf(stream, "*/\n");
+	}
+      }
+      fprintf(stream, "\n/// Operation \"%s\" of service binding \"%s\"\n\n/**\n\nOperation details:\n", method_name, name);
+      if ((*op2)->documentation)
+        text((*op2)->documentation);
+      if ((*op2)->operation_documentation)
+        text((*op2)->operation_documentation);
+      if ((*op2)->input && (*op2)->input->documentation)
+      { fprintf(stream, "Input request:\n");
+        text((*op2)->input->documentation);
+      }
+      if ((*op2)->input && (*op2)->input->ext_documentation)
+      { fprintf(stream, "Input request:\n");
+        text((*op2)->input->ext_documentation);
+      }
+      if ((*op2)->output)
+      { if ((*op2)->output->documentation)
+        { fprintf(stream, "Output response:\n");
+          text((*op2)->output->documentation);
+        }
+        if ((*op2)->output->ext_documentation)
+        { fprintf(stream, "Output response:\n");
+          text((*op2)->output->ext_documentation);
+        }
+      }
+      gen_policy(*this, (*op2)->policy, "operation", types);
+      if ((*op2)->input)
+      { gen_policy(*this, (*op2)->input->policy, "request message", types);
+        if ((*op2)->input->content)
+        { fprintf(stream, "\n  - Request message MIME content");
+          if ((*op2)->input->content->type)
+          { fprintf(stream, " type=\"");
+            text((*op2)->input->content->type);
+            fprintf(stream, "\"");
+          }
+          if ((*op2)->input->content->type && !strcmp((*op2)->input->content->type, "application/x-www-form-urlencoded"))
+	    fprintf(stream, "\n    Use the httpform.c plugin to retrieve key-value pairs from the REST request\n    message form data at the server side (client side is automated).\n");
+	  else
+            fprintf(stream, "\n    TODO: this form of MIME content is not automatically handled.\n");
+        }
+      }
+      if ((*op2)->output)
+      { gen_policy(*this, (*op2)->output->policy, "response message", types);
+        if ((*op2)->output->content)
+        { fprintf(stream, "\n  - Response message MIME content");
+          if ((*op2)->output->content->type)
+          { fprintf(stream, " type=\"");
+            text((*op2)->output->content->type);
+            fprintf(stream, "\"");
+          }
+          fprintf(stream, "\n    TODO: this form of MIME content response is not automatically handled.\n    Use one-way request and implement code to parse response.\n");
+        }
+      }
+      else
+        fprintf(stream, "\n  - One-way service request message\n");
+      if ((*op2)->mep)
+        fprintf(stream, "\n  - SOAP MEP: \"%s\"\n", ((*op2)->mep));
+      if ((*op2)->style == document)
+        fprintf(stream, "\n  - %s %s messaging\n", (*op2)->protocol, (*op2)->input && (*op2)->input->content && (*op2)->input->content->type ? (*op2)->input->content->type : "document/literal style");
+      else if ((*op2)->input)
+      { if ((*op2)->input->use == literal)
+          fprintf(stream, "\n  - %s literal messaging\n", (*op2)->protocol);
+        else if ((*op2)->input->encodingStyle)
+          fprintf(stream, "\n  - %s RPC encodingStyle=\"%s\"\n", (*op2)->input->encodingStyle, (*op2)->protocol);
+        else
+          fprintf(stream, "\n  - %s RPC encoded messaging\n", (*op2)->protocol);
+      }
+      if ((*op2)->output)
+      { if (!(*op2)->input || (*op2)->input->use != (*op2)->output->use)
+        { if ((*op2)->output->use == literal)
+            fprintf(stream, "\n  - %s literal response messages\n", (*op2)->protocol);
+          else if ((*op2)->output->encodingStyle)
+            fprintf(stream, "\n  - %s RPC response encodingStyle=\"%s\"\n", (*op2)->protocol, (*op2)->output->encodingStyle);
+          else
+            fprintf(stream, "\n  - %s RPC encoded response messages\n", (*op2)->protocol);
+        }
+      }
+      if ((*op2)->action)
+      { if (*(*op2)->action)
+          fprintf(stream, "\n  - Action: \"%s\"\n", (*op2)->action);
+      }
+      if ((*op2)->input)
+      { if ((*op2)->input->action)
+          fprintf(stream, "\n  - Addressing input action: \"%s\"\n", (*op2)->input->action);
+      }
+      if ((*op2)->output)
+      { if ((*op2)->output->action)
+          fprintf(stream, "\n  - Addressing output action: \"%s\"\n", (*op2)->output->action);
+      }
+      for (vector<Message*>::const_iterator infault = (*op2)->infault.begin(); infault != (*op2)->infault.end(); ++infault)
+      { if ((*infault)->message)
+        { if ((*infault)->use == literal)
+          { for (vector<wsdl__part>::const_iterator part = (*infault)->message->part.begin(); part != (*infault)->message->part.end(); ++part)
+            { if ((*part).element)
+                fprintf(stream, "\n  - SOAP Input Fault: %s (literal)\n", (*part).element);
+              else if ((*part).name && (*part).type)
+                fprintf(stream, "\n  - SOAP Input Fault: %s (literal)\n", (*part).name);
+            }
+          }
+          else if ((*infault)->message->name)
+            fprintf(stream, "\n  - SOAP Input Fault: %s\n", (*infault)->name);
+          if ((*infault)->message->name && (*infault)->action)
+            fprintf(stream, "    - SOAP Input Fault addressing action: \"%s\"\n", (*infault)->action);
+	}
+        else if ((*infault)->name)
+          fprintf(stream, "\n  - SOAP Input Fault: %s (literal)\n", (*infault)->name);
+	if ((*infault)->body_parts)
+          fprintf(stream, "    SOAP Input Fault code: %s\n", (*infault)->body_parts);
+        text((*infault)->documentation);	
+        text((*infault)->ext_documentation);	
+	gen_policy(*this, (*infault)->policy, "fault message", types);
+      }
+      for (vector<Message*>::const_iterator outfault = (*op2)->outfault.begin(); outfault != (*op2)->outfault.end(); ++outfault)
+      { if ((*outfault)->message)
+        { if ((*outfault)->use == literal)
+          { for (vector<wsdl__part>::const_iterator part = (*outfault)->message->part.begin(); part != (*outfault)->message->part.end(); ++part)
+            { if ((*part).element)
+                fprintf(stream, "\n  - SOAP Output Fault: %s (literal)\n", (*part).element);
+              else if ((*part).name && (*part).type)
+                fprintf(stream, "\n  - SOAP Output Fault: %s (literal)\n", (*part).name);
+            }
+          }
+          else if ((*outfault)->message->name)
+            fprintf(stream, "\n  - SOAP Output Fault: %s\n", (*outfault)->name);
+          if ((*outfault)->message->name && (*outfault)->action)
+            fprintf(stream, "    - SOAP Output Fault addressing action: \"%s\"\n", (*outfault)->action);
+	}
+        else if ((*outfault)->name)
+          fprintf(stream, "\n  - SOAP Output Fault: %s (literal)\n", (*outfault)->name);
+	if ((*outfault)->body_parts)
+          fprintf(stream, "    SOAP Output Fault code: %s\n", (*outfault)->body_parts);
+        text((*outfault)->documentation);	
+        text((*outfault)->ext_documentation);	
+	gen_policy(*this, (*outfault)->policy, "fault message", types);
+      }
+      if ((*op2)->input)
+      { if (!(*op2)->input->header.empty())
+          fprintf(stream, "\n  - Request message has mandatory header part(s) (see @ref SOAP_ENV__Header):\n");
+        for (vector<soap__header>::const_iterator inputheader = (*op2)->input->header.begin(); inputheader != (*op2)->input->header.end(); ++inputheader)
+        { if ((*inputheader).part)
+          { if ((*inputheader).use == encoded && (*inputheader).namespace_)
+              fprintf(stream, "    - %s\n", types.aname(NULL, (*inputheader).namespace_, (*inputheader).part));
+            else if ((*inputheader).partPtr() && (*inputheader).partPtr()->element)
+              fprintf(stream, "    - %s\n", types.aname(NULL, NULL, (*inputheader).partPtr()->element));
+          }
+        }
+      }
+      if ((*op2)->input && (*op2)->input->multipartRelated)
+      { int k = 2;
+        fprintf(stream, "\n  - Request message MIME multipart/related attachments:\n");
+        for (vector<mime__part>::const_iterator part = (*op2)->input->multipartRelated->part.begin(); part != (*op2)->input->multipartRelated->part.end(); ++part)
+        { if ((*part).soap__body_)
+          { fprintf(stream, "    -# MIME attachment with SOAP Body and mandatory header part(s):\n");
+            for (vector<soap__header>::const_iterator header = (*part).soap__header_.begin(); header != (*part).soap__header_.end(); ++header)
+            { if ((*header).part)
+              { if ((*header).use == encoded && (*header).namespace_)
+                  fprintf(stream, "       - %s\n", types.aname(NULL, (*header).namespace_, (*header).part));
+                else if ((*header).partPtr() && (*header).partPtr()->element)
+                  fprintf(stream, "       - %s\n", types.aname(NULL, NULL, (*header).partPtr()->element));
+              }
+            }
+          }
+          else
+          { fprintf(stream, "    -# MIME attachment %d:\n", k++);
+            for (vector<mime__content>::const_iterator content = (*part).content.begin(); content != (*part).content.end(); ++content)
+            { fprintf(stream, "       -");
+              if ((*content).part)
+              { fprintf(stream, " part=\"");
+                text((*content).part);
+                fprintf(stream, "\"");
+              }
+              if ((*content).type)
+              { fprintf(stream, " type=\"");
+                text((*content).type);
+                fprintf(stream, "\"");
+              }
+              fprintf(stream, "\n");
+            }
+          }
+        }
+      }
+      if ((*op2)->input && (*op2)->input->layout)
+        fprintf(stream, "\n  - Request message has DIME attachments in compliance with %s\n", (*op2)->input->layout);
+      if ((*op2)->output)
+      { if (!(*op2)->output->header.empty())
+          fprintf(stream, "\n  - Response message has mandatory header part(s): (see @ref SOAP_ENV__Header)\n");
+        for (vector<soap__header>::const_iterator outputheader = (*op2)->output->header.begin(); outputheader != (*op2)->output->header.end(); ++outputheader)
+        { if ((*outputheader).part)
+          { if ((*outputheader).use == encoded && (*outputheader).namespace_)
+              fprintf(stream, "    - %s\n", types.aname(NULL, (*outputheader).namespace_, (*outputheader).part));
+            else if ((*outputheader).partPtr() && (*outputheader).partPtr()->element)
+              fprintf(stream, "    - %s\n", types.aname(NULL, NULL, (*outputheader).partPtr()->element));
+          }
+        }
+      }
+      if ((*op2)->output && (*op2)->output_name && (*op2)->output->multipartRelated)
+      { int k = 2;
+        fprintf(stream, "\n  - Response message MIME multipart/related attachments\n");
+        for (vector<mime__part>::const_iterator part = (*op2)->output->multipartRelated->part.begin(); part != (*op2)->output->multipartRelated->part.end(); ++part)
+        { if ((*part).soap__body_)
+          { fprintf(stream, "    -# MIME attachment with SOAP Body and mandatory header part(s):\n");
+            for (vector<soap__header>::const_iterator header = (*part).soap__header_.begin(); header != (*part).soap__header_.end(); ++header)
+            { if ((*header).part)
+              { if ((*header).use == encoded && (*header).namespace_)
+                  fprintf(stream, "       - %s\n", types.aname(NULL, (*header).namespace_, (*header).part));
+                else if ((*header).partPtr() && (*header).partPtr()->element)
+                  fprintf(stream, "       - %s\n", types.aname(NULL, NULL, (*header).partPtr()->element));
+              }
+            }
+          }
+          else
+          { fprintf(stream, "    -# MIME attachment %d:\n", k++);
+            for (vector<mime__content>::const_iterator content = (*part).content.begin(); content != (*part).content.end(); ++content)
+            { fprintf(stream, "       -");
+              if ((*content).part)
+              { fprintf(stream, " part=\"");
+                text((*content).part);
+                fprintf(stream, "\"");
+              }
+              if ((*content).type)
+              { fprintf(stream, " type=\"");
+                text((*content).type);
+                fprintf(stream, "\"");
+              }
+              fprintf(stream, "\n");
+            }
+          }
+        }
+      }
+      if ((*op2)->output && (*op2)->output_name && (*op2)->output->layout)
+        fprintf(stream, "\n  - Response message has DIME attachments in compliance with %s\n", (*op2)->output->layout);
+      fprintf(stream, "\nC stub function (defined in soapClient.c[pp] generated by soapcpp2):\n@code\n  int soap_%s_%s(\n    struct soap *soap,\n    NULL, // char *endpoint = NULL selects default endpoint for this operation\n    NULL, // char *action = NULL selects default action for this operation\n    // input parameters:", (*op2)->output?"call":"send", method_name);
+      if ((*op2)->input)
+        (*op2)->input->generate(types, ",", false, false, false, false);
+      if ((*op2)->output && (*op2)->output_name)
+      { fprintf(stream, "\n    // output parameters:");
+        if (flag)
+	{ if ((*op2)->style == rpc && (*op2)->output->message && (*(*op2)->output->message->part.begin()).name)
+          { fprintf(stream, "\n");
+            fprintf(stream, anonymous ? anonformat : paraformat, types.tname(NULL, NULL, (*(*op2)->output->message->part.begin()).type), cflag ? "*" : "&", types.aname(NULL, NULL, (*(*op2)->output->message->part.begin()).name), "");
+          }
+	  else
+            (*op2)->output->generate(types, "", anonymous, false, true, false);
+        }
+        else
+          fprintf(stream, "\n    struct %s%s", (*op2)->output_name, cflag ? "*" : "&");
+      }
+      fprintf(stream, "\n  );\n@endcode\n\nC server function (called from the service dispatcher defined in soapServer.c[pp]):\n@code\n  int %s(\n    struct soap *soap,\n    // input parameters:", method_name);
+      if ((*op2)->input)
+        (*op2)->input->generate(types, ",", false, false, false, false);
+      fprintf(stream, "\n    // output parameters:");
+      if ((*op2)->output && (*op2)->output_name)
+      { if (flag)
+        { if ((*op2)->style == rpc && (*op2)->output->message && (*(*op2)->output->message->part.begin()).name)
+          { fprintf(stream, "\n");
+            fprintf(stream, anonymous ? anonformat : paraformat, types.tname(NULL, NULL, (*(*op2)->output->message->part.begin()).type), cflag ? "*" : "&", types.aname(NULL, NULL, (*(*op2)->output->message->part.begin()).name), "");
+          }
+	  else
+            (*op2)->output->generate(types, "", anonymous, false, true, false);
+        }
+        else
+          fprintf(stream, "\n    struct %s%s", (*op2)->output_name, cflag ? "*" : "&");
+      }
+      fprintf(stream, "\n  );\n@endcode\n\n");
+      if (!cflag)
+      { fprintf(stream, "C++ proxy class (defined in soap%sProxy.h):\n", name);
+        fprintf(stream, "@code\n  class %sProxy;\n@endcode\n", name);
+        fprintf(stream, "Important: use soapcpp2 option '-j' (or '-i') to generate greatly improved and easy-to-use proxy classes;\n\n");
+        fprintf(stream, "C++ service class (defined in soap%sService.h):\n", name);
+        fprintf(stream, "@code\n  class %sService;\n@endcode\n", name);
+        fprintf(stream, "Important: use soapcpp2 option '-j' (or '-i') to generate greatly improved and easy-to-use service classes;\n\n");
+      }
+      fprintf(stream, "*/\n\n");
+      (*op2)->generate(types, *this);
+    }
+    else if (*op2 && (*op2)->output)
+    { if (!(*op2)->input)
+        method_name = (*op2)->output_name;
+      else
+        method_name = (*op2)->input_name;
+      banner("Service Operation", method_name);
+      fprintf(stream, "\n/// Operation \"%s\" of service binding \"%s\"\n\n/**\n\nOperation details:\n", method_name, name);
+      if ((*op2)->documentation)
+        text((*op2)->documentation);
+      if ((*op2)->operation_documentation)
+        text((*op2)->operation_documentation);
+      if ((*op2)->output->documentation)
+      { fprintf(stream, "Output response:\n");
+        text((*op2)->output->documentation);
+      }
+      if ((*op2)->output->ext_documentation)
+      { fprintf(stream, "Output response:\n");
+        text((*op2)->output->ext_documentation);
+      }
+      gen_policy(*this, (*op2)->policy, "operation", types);
+      gen_policy(*this, (*op2)->output->policy, "response message", types);
+      fprintf(stream, "\n  - One-way service response message\n");
+      if ((*op2)->mep)
+        fprintf(stream, "\n  - SOAP MEP: \"%s\"\n", ((*op2)->mep));
+      if ((*op2)->style == document)
+        fprintf(stream, "\n  - %s document/literal style messaging\n", (*op2)->protocol);
+      else
+      { if ((*op2)->output->use == literal)
+          fprintf(stream, "\n  - %s RPC literal messaging\n", (*op2)->protocol);
+        else if ((*op2)->output->encodingStyle)
+          fprintf(stream, "\n  - %s RPC encodingStyle=\"%s\"\n", (*op2)->output->encodingStyle, (*op2)->protocol);
+        else
+          fprintf(stream, "\n  - %s RPC encoded messaging\n", (*op2)->protocol);
+      }
+      if ((*op2)->action)
+      { if (*(*op2)->action)
+          fprintf(stream, "\n  - Action: \"%s\"\n", (*op2)->action);
+      }
+      if ((*op2)->output)
+      { if ((*op2)->output->action)
+          fprintf(stream, "\n  - Addressing output action: \"%s\"\n", (*op2)->output->action);
+      }
+      for (vector<Message*>::const_iterator outfault = (*op2)->outfault.begin(); outfault != (*op2)->outfault.end(); ++outfault)
+      { if ((*outfault)->message)
+        { if ((*outfault)->use == literal)
+          { for (vector<wsdl__part>::const_iterator part = (*outfault)->message->part.begin(); part != (*outfault)->message->part.end(); ++part)
+            { if ((*part).element)
+                fprintf(stream, "\n  - SOAP Output Fault: %s (literal)\n", (*part).element);
+              else if ((*part).name && (*part).type)
+                fprintf(stream, "\n  - SOAP Output Fault: %s (literal)\n", (*part).name);
+            }
+          }
+          else if ((*outfault)->message->name)
+            fprintf(stream, "\n  - SOAP Output Fault: %s\n", (*outfault)->name);
+          if ((*outfault)->message->name && (*outfault)->action)
+            fprintf(stream, "    - SOAP Output Fault addressing action: \"%s\"\n", (*outfault)->action);
+	}
+        else if ((*outfault)->name)
+          fprintf(stream, "\n  - SOAP Output Fault: %s (literal)\n", (*outfault)->name);
+	gen_policy(*this, (*outfault)->policy, "fault message", types);
+      }
+      if (!(*op2)->output->header.empty())
+        fprintf(stream, "\n  - Response message has mandatory header part(s) (see @ref SOAP_ENV__Header):\n");
+      for (vector<soap__header>::const_iterator outputheader = (*op2)->output->header.begin(); outputheader != (*op2)->output->header.end(); ++outputheader)
+      { if ((*outputheader).part)
+        { if ((*outputheader).use == encoded && (*outputheader).namespace_)
+            fprintf(stream, "    - %s\n", types.aname(NULL, (*outputheader).namespace_, (*outputheader).part));
+          else if ((*outputheader).partPtr() && (*outputheader).partPtr()->element)
+            fprintf(stream, "    - %s\n", types.aname(NULL, NULL, (*outputheader).partPtr()->element));
+        }
+      }
+      if ((*op2)->output->multipartRelated)
+      { int k = 2;
+        fprintf(stream, "\n  - Response message MIME multipart/related attachments:\n");
+        for (vector<mime__part>::const_iterator part = (*op2)->output->multipartRelated->part.begin(); part != (*op2)->output->multipartRelated->part.end(); ++part)
+        { if ((*part).soap__body_)
+          { fprintf(stream, "    -# MIME attachment with SOAP Body and mandatory header part(s):\n");
+            for (vector<soap__header>::const_iterator header = (*part).soap__header_.begin(); header != (*part).soap__header_.end(); ++header)
+            { if ((*header).part)
+              { if ((*header).use == encoded && (*header).namespace_)
+                  fprintf(stream, "       - %s\n", types.aname(NULL, (*header).namespace_, (*header).part));
+                else if ((*header).partPtr() && (*header).partPtr()->element)
+                  fprintf(stream, "       - %s\n", types.aname(NULL, NULL, (*header).partPtr()->element));
+              }
+            }
+          }
+          else
+          { fprintf(stream, "    -# MIME attachment %d:\n", k++);
+            for (vector<mime__content>::const_iterator content = (*part).content.begin(); content != (*part).content.end(); ++content)
+            { fprintf(stream, "       -");
+              if ((*content).part)
+              { fprintf(stream, " part=\"");
+                text((*content).part);
+                fprintf(stream, "\"");
+              }
+              if ((*content).type)
+              { fprintf(stream, " type=\"");
+                text((*content).type);
+                fprintf(stream, "\"");
+              }
+              fprintf(stream, "\n");
+            }
+          }
+        }
+      }
+      if ((*op2)->output->layout)
+        fprintf(stream, "\n  - Response message has DIME attachments in compliance with %s\n", (*op2)->output->layout);
+      fprintf(stream, "\nC stub function (defined in soapClient.c[pp] generated by soapcpp2):\n@code\n  int soap_call_%s(\n    struct soap *soap,\n    NULL, // char *endpoint = NULL selects default endpoint for this operation\n    NULL, // char *action = NULL selects default action for this operation\n    // parameters:", method_name);
+      (*op2)->output->generate(types, ",", false, false, false, false);
+      fprintf(stream, "\n  );\n@endcode\n\nC server function (called from the service dispatcher defined in soapServer.c[pp]):\n@code\n  int %s(\n    struct soap *soap,\n    // parameters:", method_name);
+      (*op2)->output->generate(types, ",", false, false, false, false);
+      fprintf(stream, "\n  );\n@endcode\n\n");
+      if (!cflag)
+      { fprintf(stream, "C++ proxy class (defined in soap%sProxy.h):\n", name);
+        fprintf(stream, "@code\n  class %sProxy;\n@endcode\n", name);
+        fprintf(stream, "Important: use soapcpp2 option '-j' (or '-i') to generate greatly improved and easy-to-use proxy classes;\n\n");
+        fprintf(stream, "C++ service class (defined in soap%sService.h):\n", name);
+        fprintf(stream, "@code\n  class %sService;\n@endcode\n", name);
+        fprintf(stream, "Important: use soapcpp2 option '-j' (or '-i') to generate greatly improved and easy-to-use service classes;\n\n");
+      }
+      fprintf(stream, "*/\n\n");
+      (*op2)->generate(types, *this);
+    }
+  }
+  gen_policy_enablers(*this);
+}
+
+void Service::add_import(const char *s)
+{ if (find_if(imports.begin(), imports.end(), eqstr(s)) == imports.end())
+    imports.push_back(s);
+}
+
+void Service::del_import(const char *s)
+{ VectorOfString::iterator i = find_if(imports.begin(), imports.end(), eqstr(s));
+  if (i != imports.end())
+    imports.erase(i);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	Operation methods
+//
+////////////////////////////////////////////////////////////////////////////////
+
+void Operation::generate(Types &types, Service &service)
+{ bool flag = false, anonymous = ((style != document) && parameterOrder != NULL);
+  const char *method_name = NULL;
+  if (output)
+  { if (style == document)
+      flag = (output->element || (output->message && output->message->part.size() == 1));
+    else if (!wflag)
+      flag = (output->element || (output->message && output->use == encoded && output->message->part.size() == 1 && !(*output->message->part.begin()).simpleTypePtr() && !(*output->message->part.begin()).complexTypePtr()));
+    if (flag && input && input->message && (*output->message->part.begin()).element)
+      for (vector<wsdl__part>::const_iterator part = input->message->part.begin(); part != input->message->part.end(); ++part)
+        if ((*part).element && !strcmp((*part).element, (*output->message->part.begin()).element))
+          flag = false;
+  }
+  if (output && output_name && bflag) // (output && (!input || bflag))
+  { if (input)
+    { method_name = strstr(output_name + 1, "__");
+      if (method_name)
+        method_name += 2;
+      else
+        method_name = output_name;
+    }
+    else
+    { method_name = strstr(input_name + 1, "__");
+      if (method_name)
+        method_name += 2;
+      else
+        method_name = input_name;
+    }
+    if (protocol)
+      fprintf(stream, serviceformat, prefix, "method-protocol", method_name, protocol);
+    if (output->content && output->content->type)
+      fprintf(stream, serviceformat, prefix, "method-mime-type", method_name, output->content->type);
+    else if (style == document)
+      fprintf(stream, serviceformat, prefix, "method-style", method_name, "document");
+    else
+      fprintf(stream, serviceformat, prefix, "method-style", method_name, "rpc");
+    if (output->use == literal)
+      fprintf(stream, serviceformat, prefix, "method-encoding", method_name, "literal");
+    else if (output->encodingStyle)
+      fprintf(stream, serviceformat, prefix, "method-encoding", method_name, output->encodingStyle);
+    else
+      fprintf(stream, serviceformat, prefix, "method-encoding", method_name, "encoded");
+    if (output && output->action && *output->action)
+      fprintf(stream, serviceformat, prefix, "method-action", method_name, output->action);
+    else if (action)
+    { if (*action)
+        fprintf(stream, serviceformat, prefix, "method-action", method_name, action);
+      else
+        fprintf(stream, serviceformat, prefix, "method-action", method_name, "\"\"");
+    }
+    for (vector<Message*>::const_iterator message = outfault.begin(); message != outfault.end(); ++message)
+    { if ((*message)->message)
+      { if ((*message)->use == literal)
+        { for (vector<wsdl__part>::const_iterator part = (*message)->message->part.begin(); part != (*message)->message->part.end(); ++part)
+          { if ((*part).element)
+              fprintf(stream, serviceformat, prefix, "method-fault", method_name, types.aname(NULL, NULL, (*part).element));
+            else if ((*part).type)
+              fprintf(stream, serviceformat, prefix, "method-fault", method_name, types.aname(NULL, (*message)->URI, (*part).name));
+          }
+        }
+        else
+        { if ((*message)->message->name)
+            fprintf(stream, serviceformat, prefix, "method-fault", method_name, (*message)->name);
+        }
+        if ((*message)->action)
+          fprintf(stream, serviceformat, prefix, "method-fault-action", method_name, (*message)->action);
+      }
+      else if ((*message)->name)
+        fprintf(stream, serviceformat, prefix, "method-fault", method_name, (*message)->name);
+    }
+    if (output->multipartRelated)
+    { for (vector<mime__part>::const_iterator outputmime = output->multipartRelated->part.begin(); outputmime != output->multipartRelated->part.end(); ++outputmime)
+      { for (vector<soap__header>::const_iterator outputheader = (*outputmime).soap__header_.begin(); outputheader != (*outputmime).soap__header_.end(); ++outputheader)
+        { if ((*outputheader).part)
+          { if ((*outputheader).use == encoded && (*outputheader).namespace_)
+              fprintf(stream, serviceformat, prefix, "method-header-part", method_name, types.aname(NULL, (*outputheader).namespace_, (*outputheader).part));
+            else if ((*outputheader).partPtr() && (*outputheader).partPtr()->element)
+              fprintf(stream, serviceformat, prefix, "method-header-part", method_name, types.aname(NULL, NULL, (*outputheader).partPtr()->element));
+          }
+        }
+        for (vector<mime__content>::const_iterator content = (*outputmime).content.begin(); content != (*outputmime).content.end(); ++content)
+          if ((*content).type)
+            fprintf(stream, serviceformat, prefix, "method-mime-type", method_name, (*content).type);
+      }
+    }
+    // TODO: add headerfault directives
+    for (vector<soap__header>::const_iterator outputheader = output->header.begin(); outputheader != output->header.end(); ++outputheader)
+    { if ((*outputheader).part)
+      { if ((*outputheader).use == encoded && (*outputheader).namespace_)
+          fprintf(stream, serviceformat, prefix, "method-header-part", method_name, types.aname(NULL, (*outputheader).namespace_, (*outputheader).part));
+        else if ((*outputheader).partPtr() && (*outputheader).partPtr()->element)
+          fprintf(stream, serviceformat, prefix, "method-header-part", method_name, types.aname(NULL, NULL, (*outputheader).partPtr()->element));
+      }
+    }
+    for (vector<wsoap__header>::const_iterator outputwheader = output->wheader.begin(); outputwheader != output->wheader.end(); ++outputwheader)
+    { if ((*outputwheader).element)
+        fprintf(stream, serviceformat, prefix, "method-header-part", method_name, types.aname(NULL, NULL, (*outputwheader).element));
+    }
+    if (input)
+    { fprintf(stream, "/// Operation response \"%s\" of operation \"%s\"\n", output_name, input_name);
+      fprintf(stream, "int %s(", output_name);
+    }
+    else
+      fprintf(stream, "int %s(", input_name);
+    output->generate(types, ",", anonymous, true, false, false);
+    fprintf(stream, "\n    void\t///< One-way message: no output parameter\n);\n");
+  }
+  if (!input && output && output_name) // (!input && output && bflag)
+  { method_name = strstr(output_name + 1, "__");
+    if (method_name)
+      method_name += 2;
+    else
+      method_name = output_name;
+    if (protocol)
+      fprintf(stream, serviceformat, prefix, "method-protocol", method_name, protocol);
+    if (output->content && output->content->type)
+      fprintf(stream, serviceformat, prefix, "method-mime-type", method_name, output->content->type);
+    else if (style == document)
+      fprintf(stream, serviceformat, prefix, "method-style", method_name, "document");
+    else
+      fprintf(stream, serviceformat, prefix, "method-style", method_name, "rpc");
+    if (output->use == literal)
+      fprintf(stream, serviceformat, prefix, "method-encoding", method_name, "literal");
+    else if (output->encodingStyle)
+      fprintf(stream, serviceformat, prefix, "method-encoding", method_name, output->encodingStyle);
+    else
+      fprintf(stream, serviceformat, prefix, "method-encoding", method_name, "encoded");
+    if (output && output->action && *output->action)
+      fprintf(stream, serviceformat, prefix, "method-action", method_name, output->action);
+    else if (action)
+    { if (*action)
+        fprintf(stream, serviceformat, prefix, "method-action", method_name, action);
+      else
+        fprintf(stream, serviceformat, prefix, "method-action", method_name, "\"\"");
+    }
+    for (vector<Message*>::const_iterator message = outfault.begin(); message != outfault.end(); ++message)
+    { if ((*message)->message)
+      { if ((*message)->use == literal)
+        { for (vector<wsdl__part>::const_iterator part = (*message)->message->part.begin(); part != (*message)->message->part.end(); ++part)
+          { if ((*part).element)
+              fprintf(stream, serviceformat, prefix, "method-fault", method_name, types.aname(NULL, NULL, (*part).element));
+            else if ((*part).type)
+              fprintf(stream, serviceformat, prefix, "method-fault", method_name, types.aname(NULL, (*message)->URI, (*part).name));
+          }
+        }
+        else
+        { if ((*message)->message->name)
+            fprintf(stream, serviceformat, prefix, "method-fault", method_name, (*message)->name);
+        }
+        if ((*message)->action)
+          fprintf(stream, serviceformat, prefix, "method-fault-action", method_name, (*message)->action);
+      }
+      else if ((*message)->name)
+        fprintf(stream, serviceformat, prefix, "method-fault", method_name, (*message)->name);
+    }
+    if (output->multipartRelated)
+    { for (vector<mime__part>::const_iterator outputmime = output->multipartRelated->part.begin(); outputmime != output->multipartRelated->part.end(); ++outputmime)
+      { for (vector<soap__header>::const_iterator outputheader = (*outputmime).soap__header_.begin(); outputheader != (*outputmime).soap__header_.end(); ++outputheader)
+        { if ((*outputheader).part)
+          { if ((*outputheader).use == encoded && (*outputheader).namespace_)
+              fprintf(stream, serviceformat, prefix, "method-header-part", method_name, types.aname(NULL, (*outputheader).namespace_, (*outputheader).part));
+            else if ((*outputheader).partPtr() && (*outputheader).partPtr()->element)
+              fprintf(stream, serviceformat, prefix, "method-header-part", method_name, types.aname(NULL, NULL, (*outputheader).partPtr()->element));
+          }
+        }
+        for (vector<mime__content>::const_iterator content = (*outputmime).content.begin(); content != (*outputmime).content.end(); ++content)
+          if ((*content).type)
+            fprintf(stream, serviceformat, prefix, "method-mime-type", method_name, (*content).type);
+      }
+    }
+    // TODO: add headerfault directives
+    for (vector<soap__header>::const_iterator outputheader = output->header.begin(); outputheader != output->header.end(); ++outputheader)
+    { if ((*outputheader).part)
+      { if ((*outputheader).use == encoded && (*outputheader).namespace_)
+          fprintf(stream, serviceformat, prefix, "method-header-part", method_name, types.aname(NULL, (*outputheader).namespace_, (*outputheader).part));
+        else if ((*outputheader).partPtr() && (*outputheader).partPtr()->element)
+          fprintf(stream, serviceformat, prefix, "method-header-part", method_name, types.aname(NULL, NULL, (*outputheader).partPtr()->element));
+      }
+    }
+    for (vector<wsoap__header>::const_iterator outputwheader = output->wheader.begin(); outputwheader != output->wheader.end(); ++outputwheader)
+    { if ((*outputwheader).element)
+        fprintf(stream, serviceformat, prefix, "method-header-part", method_name, types.aname(NULL, NULL, (*outputwheader).element));
+    }
+    fprintf(stream, "int %s(", output_name);
+    if (flag)
+    { if (style == rpc && output->message && (*output->message->part.begin()).name)
+      { fprintf(stream, "\n");
+        fprintf(stream, anonymous ? anonformat : paraformat, types.tname(NULL, NULL, (*output->message->part.begin()).type), cflag ? "*" : "&", types.aname(NULL, NULL, (*output->message->part.begin()).name), "");
+        fprintf(stream, "\t///< Output parameter");
+      }
+      else
+        output->generate(types, "", anonymous, true, true, false);
+    }
+    else
+    { fprintf(stream, "\n    struct %-28s%s", output_name, cflag ? "*" : "&");
+      fprintf(stream, "\t///< Output response struct parameter");
+    }
+    fprintf(stream, "\n);\n");
+  }
+  if (input && input_name)
+  { method_name = strstr(input_name + 1, "__");
+    if (method_name)
+      method_name += 2;
+    else
+      method_name = input_name;
+    if (protocol)
+      fprintf(stream, serviceformat, prefix, "method-protocol", method_name, protocol);
+    if (input->content && input->content->type)
+      fprintf(stream, serviceformat, prefix, "method-mime-type", method_name, input->content->type);
+    else if (style == document)
+      fprintf(stream, serviceformat, prefix, "method-style", method_name, "document");
+    else
+      fprintf(stream, serviceformat, prefix, "method-style", method_name, "rpc");
+    if (output && output->content && output->content->type)
+      fprintf(stream, serviceformat, prefix, "method-output-mime-type", method_name, output->content->type);
+    if (!input || input->use == literal)
+      fprintf(stream, serviceformat, prefix, "method-encoding", method_name, "literal");
+    else if (input->encodingStyle)
+      fprintf(stream, serviceformat, prefix, "method-encoding", method_name, input->encodingStyle);
+    else
+      fprintf(stream, serviceformat, prefix, "method-encoding", method_name, "encoded");
+    if (output)
+    { if (!input || input->use != output->use)
+      { if (output->use == literal)
+          fprintf(stream, serviceformat, prefix, "method-response-encoding", method_name, "literal");
+        else if (output->encodingStyle)
+          fprintf(stream, serviceformat, prefix, "method-response-encoding", method_name, output->encodingStyle);
+        else
+          fprintf(stream, serviceformat, prefix, "method-response-encoding", method_name, "encoded");
+      }
+      if (style == rpc && (!input || (input->URI && output->URI && strcmp(input->URI, output->URI))))
+        fprintf(stream, schemaformat, types.nsprefix(NULL, output->URI), "namespace", output->URI);
+    }
+    if (input && input->action && *input->action)
+      fprintf(stream, serviceformat, prefix, "method-input-action", method_name, input->action);
+    else if (action)
+    { if (*action)
+        fprintf(stream, serviceformat, prefix, "method-action", method_name, action);
+      else
+        fprintf(stream, serviceformat, prefix, "method-action", method_name, "\"\"");
+    }
+    if (output && output->action && *output->action)
+      fprintf(stream, serviceformat, prefix, "method-output-action", method_name, output->action);
+    for (vector<Message*>::const_iterator message = outfault.begin(); message != outfault.end(); ++message)
+    { if ((*message)->message)
+      { if ((*message)->use == literal)
+        { for (vector<wsdl__part>::const_iterator part = (*message)->message->part.begin(); part != (*message)->message->part.end(); ++part)
+          { if ((*part).element)
+              fprintf(stream, serviceformat, prefix, "method-fault", method_name, types.aname(NULL, NULL, (*part).element));
+            else if ((*part).type)
+              fprintf(stream, serviceformat, prefix, "method-fault", method_name, types.aname(NULL, (*message)->URI, (*part).name));
+          }
+        }
+        else
+        { if ((*message)->message->name)
+            fprintf(stream, serviceformat, prefix, "method-fault", method_name, (*message)->name);
+        }
+        if ((*message)->action)
+          fprintf(stream, serviceformat, prefix, "method-fault-action", method_name, (*message)->action);
+      }
+      else if ((*message)->name)
+        fprintf(stream, serviceformat, prefix, "method-fault", method_name, (*message)->name);
+    }
+    if (input)
+    { if (input->multipartRelated)
+      { for (vector<mime__part>::const_iterator inputmime = input->multipartRelated->part.begin(); inputmime != input->multipartRelated->part.end(); ++inputmime)
+        { for (vector<soap__header>::const_iterator inputheader = (*inputmime).soap__header_.begin(); inputheader != (*inputmime).soap__header_.end(); ++inputheader)
+          { if ((*inputheader).part)
+            { if ((*inputheader).use == encoded && (*inputheader).namespace_)
+                fprintf(stream, serviceformat, prefix, "method-input-header-part", method_name, types.aname(NULL, (*inputheader).namespace_, (*inputheader).part));
+              else if ((*inputheader).partPtr() && (*inputheader).partPtr()->element)
+                fprintf(stream, serviceformat, prefix, "method-input-header-part", method_name, types.aname(NULL, NULL, (*inputheader).partPtr()->element));
+            }
+          }
+          for (vector<mime__content>::const_iterator content = (*inputmime).content.begin(); content != (*inputmime).content.end(); ++content)
+            if ((*content).type)
+              fprintf(stream, serviceformat, prefix, "method-input-mime-type", method_name, (*content).type);
+        }
+      }
+      // TODO: add headerfault directives
+      for (vector<soap__header>::const_iterator inputheader = input->header.begin(); inputheader != input->header.end(); ++inputheader)
+      { if ((*inputheader).part)
+        { if ((*inputheader).use == encoded && (*inputheader).namespace_)
+            fprintf(stream, serviceformat, prefix, "method-input-header-part", method_name, types.aname(NULL, (*inputheader).namespace_, (*inputheader).part));
+          else if ((*inputheader).partPtr() && (*inputheader).partPtr()->element)
+            fprintf(stream, serviceformat, prefix, "method-input-header-part", method_name, types.aname(NULL, NULL, (*inputheader).partPtr()->element));
+        }
+      }
+      for (vector<wsoap__header>::const_iterator inputwheader = input->wheader.begin(); inputwheader != input->wheader.end(); ++inputwheader)
+      { if ((*inputwheader).element)
+          fprintf(stream, serviceformat, prefix, "method-input-header-part", method_name, types.aname(NULL, NULL, (*inputwheader).element));
+      }
+    }
+    if (output)
+    { if (output->multipartRelated)
+      { for (vector<mime__part>::const_iterator outputmime = output->multipartRelated->part.begin(); outputmime != output->multipartRelated->part.end(); ++outputmime)
+        { for (vector<soap__header>::const_iterator outputheader = (*outputmime).soap__header_.begin(); outputheader != (*outputmime).soap__header_.end(); ++outputheader)
+          { if ((*outputheader).part)
+            { if ((*outputheader).use == encoded && (*outputheader).namespace_)
+                fprintf(stream, serviceformat, prefix, "method-output-header-part", method_name, types.aname(NULL, (*outputheader).namespace_, (*outputheader).part));
+              else if ((*outputheader).partPtr() && (*outputheader).partPtr()->element)
+                fprintf(stream, serviceformat, prefix, "method-output-header-part", method_name, types.aname(NULL, NULL, (*outputheader).partPtr()->element));
+            }
+          }
+          for (vector<mime__content>::const_iterator content = (*outputmime).content.begin(); content != (*outputmime).content.end(); ++content)
+            if ((*content).type)
+              fprintf(stream, serviceformat, prefix, "method-output-mime-type", method_name, (*content).type);
+        }
+      }
+      for (vector<soap__header>::const_iterator outputheader = output->header.begin(); outputheader != output->header.end(); ++outputheader)
+      { if ((*outputheader).part)
+        { if ((*outputheader).use == encoded && (*outputheader).namespace_)
+            fprintf(stream, serviceformat, prefix, "method-output-header-part", method_name, types.aname(NULL, (*outputheader).namespace_, (*outputheader).part));
+          else if ((*outputheader).partPtr() && (*outputheader).partPtr()->element)
+            fprintf(stream, serviceformat, prefix, "method-output-header-part", method_name, types.aname(NULL, NULL, (*outputheader).partPtr()->element));
+        }
+      }
+      for (vector<wsoap__header>::const_iterator outputwheader = output->wheader.begin(); outputwheader != output->wheader.end(); ++outputwheader)
+      { if ((*outputwheader).element)
+          fprintf(stream, serviceformat, prefix, "method-output-header-part", method_name, types.aname(NULL, NULL, (*outputwheader).element));
+      }
+    }
+    if (input)
+      fprintf(stream, "int %s(", input_name);
+    else
+      fprintf(stream, "int %s(", output_name);
+    if (input)
+      input->generate(types, ",", anonymous, true, false, false);
+    if (output)
+    { if (flag)
+      { if (style == rpc && output->message && (*output->message->part.begin()).name)
+        { fprintf(stream, "\n");
+          fprintf(stream, anonymous ? anonformat : paraformat, types.tname(NULL, NULL, (*output->message->part.begin()).type), cflag ? "*" : "&", types.aname(NULL, NULL, (*output->message->part.begin()).name), "");
+          fprintf(stream, "\t///< Output parameter");
+        }
+	else
+          output->generate(types, "", anonymous, true, true, false);
+      }
+      else
+      { fprintf(stream, "\n    struct %-28s%s", output_name, cflag ? "*" : "&");
+        fprintf(stream, "\t///< Output response struct parameter");
+      }
+      fprintf(stream, "\n);\n");
+    }
+    else
+      fprintf(stream, "\n    void\t///< One-way message: no output parameter\n);\n");
+  }
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	Message methods
+//
+////////////////////////////////////////////////////////////////////////////////
+
+void Message::generate(Types &types, const char *sep, bool anonymous, bool remark, bool response, bool optional)
+{ if (message)
+  { for (vector<wsdl__part>::const_iterator part = message->part.begin(); part != message->part.end(); ++part)
+    { if (!(*part).name)
+        fprintf(stderr, "\nError: no part name in message '%s'\n", message->name?message->name:"");
+      else if (!body_parts || soap_tagsearch(body_parts, (*part).name))
+      { if (remark && (*part).documentation)
+          comment("", (*part).name, "parameter", (*part).documentation);
+        else
+          fprintf(stream, "\n");
+        if ((*part).element)
+        { if ((*part).elementPtr())
+          { const char *name, *type, *nameURI = NULL, *typeURI = NULL, *prefix = NULL;
+            if (style == rpc && use == encoded)
+	      name = (*part).name;
+	    else
+	    { name = (*part).elementPtr()->name;
+              if (style == document && (*part).elementPtr()->schemaPtr())
+                nameURI = (*part).elementPtr()->schemaPtr()->targetNamespace;
+	    }
+            if ((*part).elementPtr()->type)
+              type = (*part).elementPtr()->type;
+            else
+            { type = (*part).elementPtr()->name;
+              prefix = "_";
+              if ((*part).elementPtr()->schemaPtr())
+                typeURI = (*part).elementPtr()->schemaPtr()->targetNamespace;
+            }
+            if ((*part).elementPtr()->xmime__expectedContentTypes)
+              fprintf(stream, "    /// MTOM attachment with content types %s\n", (*part).elementPtr()->xmime__expectedContentTypes);
+            if (response)
+            { const char *t = types.tname(prefix, typeURI, type);
+              bool flag = (strchr(t, '*') && strcmp(t, "char*") && strcmp(t, "char *"));
+              fprintf(stream, anonymous ? anonformat : paraformat, t, flag ? " " : cflag ? "*" : "&", types.aname(NULL, nameURI, name), sep);
+              if (remark)
+                fprintf(stream, "\t///< Output parameter");
+            }
+            else
+            { fprintf(stream, anonymous ? anonformat : paraformat, types.pname(optional, prefix, typeURI, type), " ", types.aname(NULL, nameURI, name), sep);
+              if (remark && *sep == ',')
+                fprintf(stream, "\t///< Input parameter");
+            }
+          }
+          else
+          { fprintf(stream, anonymous ? anonformat : paraformat, types.pname(optional, NULL, NULL, (*part).element), " ", types.aname(NULL, NULL, (*part).element), sep);
+            if (remark)
+              fprintf(stream, "\t///< TODO: Check element type (imported type)");
+          }
+        }
+        else if ((*part).type)
+        { if (response)
+          { const char *t = types.tname(NULL, NULL, (*part).type);
+            bool flag = (strchr(t, '*') && strcmp(t, "char*") && strcmp(t, "char *"));
+            fprintf(stream, anonymous ? anonformat : paraformat, t, flag ? " " : cflag ? "*" : "&", types.aname(NULL, NULL, (*part).name), sep);
+            if (remark)
+              fprintf(stream, "\t///< Output parameter");
+          }
+          else
+          { fprintf(stream, anonymous ? anonformat : paraformat, types.pname(optional, NULL, NULL, (*part).type), " ", types.aname(NULL, NULL, (*part).name), sep);
+            if (remark && *sep == ',')
+              fprintf(stream, "\t///< Input parameter");
+          }
+        }
+        else
+          fprintf(stderr, "\nError: no wsdl:definitions/message/part/@type in part '%s'\n", (*part).name);
+      }
+    }
+  }
+  else if (element) // WSDL 2.0
+  { const char *prefix = NULL;
+    const char *URI = NULL;
+    const char *name = element->name;
+    const char *type = element->type;
+    if (!type)
+    { type = name;
+      prefix = "_";
+    }
+    if (element->schemaPtr())
+      URI = element->schemaPtr()->targetNamespace;
+    if (response)
+    { const char *t = types.tname(prefix, URI, type);
+      bool flag = (strchr(t, '*') && strcmp(t, "char*") && strcmp(t, "char *"));
+      fprintf(stream, "\n");
+      fprintf(stream, paraformat, t, flag ? " " : cflag ? "*" : "&", anonymous ? "" : types.aname(NULL, URI, name), sep);
+      if (remark)
+        fprintf(stream, "\t///< Output parameter");
+    }
+    else if (style == document || element->simpleTypePtr())
+    { // WSDL 2.0 document style
+      fprintf(stream, "\n");
+      fprintf(stream, anonymous ? anonformat : paraformat, types.pname(optional, prefix, URI, type), " ", types.aname(NULL, URI, name), sep);
+      if (remark && *sep == ',')
+        fprintf(stream, "\t///< Input parameter");
+    }
+    else if (element->complexTypePtr())
+    { // WSDL 2.0 RPC style
+      xs__seqchoice *seq = element->complexTypePtr()->sequence;
+      for (vector<xs__contents>::const_iterator i = seq->__contents.begin(); i != seq->__contents.end(); ++i)
+      { if ((*i).__union == SOAP_UNION_xs__union_content_element)
+        { name = (*i).__content.element->name;
+          type = (*i).__content.element->type;
+	  if (!type)
+	    type = name;
+          fprintf(stream, "\n");
+	  fprintf(stream, anonymous ? anonformat : paraformat, types.pname(optional, prefix, URI, type), " ", types.aname(NULL, NULL, name), sep);
+          if (remark && *sep == ',')
+            fprintf(stream, "\t///< Input parameter");
+        }
+      }
+    }
+  }
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	Miscellaneous
+//
+////////////////////////////////////////////////////////////////////////////////
+
+static const char *urienc(struct soap *soap, const char *uri)
+{ const char *r, *s;
+  char *t;
+  size_t n = 0;
+  if (!uri)
+    return NULL;
+  for (s = uri; *s; s++)
+    if (!URI_CHAR(*s))
+      n++;
+  if (!n)
+    return uri;
+  n = strlen(uri) + 2*n;
+  r = t = (char*)soap_malloc(soap, n + 1);
+  for (s = uri; *s; s++)
+  { if (URI_CHAR(*s))
+      *t++ = *s;
+    else
+    { sprintf(t, "%%%.2x", *s);
+      t += 3;
+    }
+  }
+  *t = '\0';
+  return r;
+}
+
+static bool imported(const char *tag)
+{ if (!tag || *tag != '"')
+    return false;
+  for (SetOfString::const_iterator u = exturis.begin(); u != exturis.end(); ++u)
+  { size_t n = strlen(*u);
+    if (!strncmp(*u, tag + 1, n) && tag[n+1] == '"')
+      return true;
+  }
+  return false;
+}
+
+static void comment(const char *start, const char *middle, const char *end, const char *text)
+{ if (text)
+  { if (strchr(text, '\r') || strchr(text, '\n'))
+      fprintf(stream, "\n/** %s %s %s documentation:\n%s\n*/\n\n", start, middle, end, text);
+    else
+      fprintf(stream, "\n/// %s %s %s: %s\n", start, middle, end, text);
+  }
+}
+
+static void page(const char *page, const char *title, const char *text)
+{ if (text)
+    fprintf(stream, "\n@page %s%s \"%s\"\n", page, title, text);
+  else
+    fprintf(stream, "\n@page %s%s\n", page, title);
+}
+
+static void section(const char *section, const char *title, const char *text)
+{ if (text)
+    fprintf(stream, "\n@section %s%s \"%s\"\n", section, title, text);
+  else
+    fprintf(stream, "\n@section %s%s\n", section, title);
+}
+
+static void banner(const char *text)
+{ int i;
+  if (!text)
+    return;
+  fprintf(stream, "\n/");
+  for (i = 0; i < 78; i++)
+    fputc('*', stream);
+  fprintf(stream, "\\\n *%76s*\n * %-75s*\n *%76s*\n\\", "", text, "");
+  for (i = 0; i < 78; i++)
+    fputc('*', stream);
+  fprintf(stream, "/\n\n");
+  if (vflag)
+    fprintf(stderr, "\n----<< %s >>----\n\n", text);
+}
+
+static void banner(const char *text1, const char *text2)
+{ int i;
+  if (!text1)
+    return;
+  fprintf(stream, "\n/");
+  for (i = 0; i < 78; i++)
+    fputc('*', stream);
+  if (text2)
+    fprintf(stream, "\\\n *%76s*\n * %-75s*\n *   %-73s*\n *%76s*\n\\", "", text1, text2, "");
+  else
+    fprintf(stream, "\\\n *%76s*\n * %-75s*\n *%76s*\n\\", "", text1, "");
+  for (i = 0; i < 78; i++)
+    fputc('*', stream);
+  fprintf(stream, "/\n\n");
+  if (vflag)
+    fprintf(stderr, "\n----<< %s: %s >>----\n\n", text1, text2?text2:"");
+}
+
+static void ident()
+{ time_t t = time(NULL), *p = &t;
+  char tmp[256];
+  int i;
+  strftime(tmp, 256, "%Y-%m-%d %H:%M:%S GMT", gmtime(p));
+  fprintf(stream, "/* %s\n   Generated by wsdl2h " WSDL2H_VERSION " from ", outfile?outfile:"");
+  if (infiles)
+  { for (i = 0; i < infiles; i++)
+      fprintf(stream, "%s ", infile[i]);
+  }
+  else
+    fprintf(stream, "(stdin) ");
+  fprintf(stream, "and %s\n   %s\n\n   DO NOT INCLUDE THIS FILE DIRECTLY INTO YOUR PROJECT BUILDS\n   USE THE soapcpp2-GENERATED SOURCE CODE FILES FOR YOUR PROJECT BUILDS\n\n   gSOAP XML Web services tools.\n   Copyright (C) 2000-2013 Robert van Engelen, Genivia Inc. All Rights Reserved.\n   Part of this software is released under one of the following licenses:\n   GPL or Genivia's license for commercial use.\n*/\n\n", mapfile, tmp);
+}
+
+void text(const char *text)
+{ const char *s;
+  if (!text)
+    return;
+  size_t k = 0;
+  for (s = text; *s; s++, k++)
+  { switch (*s)
+    { case '\n':
+        if (k)
+	{ fputc('\n', stream);
+	  k = 0;
+	}
+        break;
+      case '\t':
+        k = 8 * ((k + 8) / 8) - 1;
+        fputc('\t', stream);
+        break;
+      case '/':
+        fputc(*s, stream);
+        if (s[1] == '*')
+          fputc(' ', stream);
+        break;
+      case '*':
+        fputc(*s, stream);
+        if (s[1] == '/')
+          fputc(' ', stream);
+        break;
+      case ' ':
+        if (k >= 79)
+	{ fputc('\n', stream);
+	  k = 0;
+        }
+	else
+	  fputc(' ', stream);
+        break;
+      default:
+        if (*s >= 32)
+          fputc(*s, stream);
+    }
+  }
+  if (k)
+    fputc('\n', stream);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	WS-Policy
+//
+////////////////////////////////////////////////////////////////////////////////
+
+static void gen_policy(Service& service, const vector<const wsp__Policy*>& policy, const char *text, Types& types)
+{ if (!policy.empty())
+  { fprintf(stream, "\n  - WS-Policy applicable to the %s:\n", text);
+    for (vector<const wsp__Policy*>::const_iterator p = policy.begin(); p != policy.end(); ++p)
+      if (*p)
+        (*p)->generate(service, types, 0);
+  }
+}
+
+static void gen_policy_enablers(const Service& service)
+{ fprintf(stream, "\n/**\n");
+  page(service.name, " Binding", service.name);
+  section(service.name, "_policy_enablers Policy Enablers of Binding ", service.name);
+  fprintf(stream, "\nBased on policies, this service imports");
+  for (VectorOfString::const_iterator i = service.imports.begin(); i != service.imports.end(); ++i)
+    fprintf(stream, " %s", *i); 
+  fprintf(stream, "\n\n  - WS-Policy reminders and enablers:\n");
+  fprintf(stream, "    - WS-Addressing 1.0 (2005/08, accepts 2004/08):\n\t@code\n\t#import \"wsa5.h\" // to be added to this header file for the soapcpp2 build step\n\t@endcode\n\t@code\n\t#include \"plugin/wsaapi.h\"\n\tsoap_register_plugin(soap, soap_wsa); // register the wsa plugin in your code\n\t// See the user guide gsoap/doc/wsa/html/index.html\n\t@endcode\n");
+  fprintf(stream, "    - WS-Addressing (2004/08):\n\t@code\n\t#import \"wsa.h\" // to be added to this header file for the soapcpp2 build step\n\t@endcode\n\t@code\n\t#include \"plugin/wsaapi.h\"\n\tsoap_register_plugin(soap, soap_wsa); // register the wsa plugin in your code\n\t// See the user guide gsoap/doc/wsa/html/index.html\n\t@endcode\n");
+  fprintf(stream, "    - WS-ReliableMessaging 1.0:\n\t@code\n\t#import \"wsrm5.h\" // to be added to this header file for the soapcpp2 build step\n\t@endcode\n\t@code\n\t#include \"plugin/wsrmapi.h\"\n\tsoap_register_plugin(soap, soap_wsa); // register the wsa plugin in your code\n\tsoap_register_plugin(soap, soap_wsrm); // register the wsrm plugin in your code\n\t// See the user guide gsoap/doc/wsrm/html/index.html\n\t@endcode\n");
+  fprintf(stream, "    - WS-ReliableMessaging 1.1:\n\t@code\n\t#import \"wsrm.h\" // to be added to this header file for the soapcpp2 build step\n\t@endcode\n\t@code\n\t#include \"plugin/wsrmapi.h\"\n\tsoap_register_plugin(soap, soap_wsa); // register the wsa plugin in your code\n\tsoap_register_plugin(soap, soap_wsrm); // register the wsrm plugin in your code\n\t// See the user guide gsoap/doc/wsrm/html/index.html\n\t@endcode\n");
+  fprintf(stream, "    - WS-Security (SOAP Message Security) 1.0 (accepts 1.1):\n\t@code\n\t#import \"wsse.h\" // to be added to this header file for the soapcpp2 build step\n\t@endcode\n\t@code\n\t#include \"plugin/wsseapi.h\"\n\tsoap_register_plugin(soap, soap_wsse); // register the wsse plugin in your code\n\t// See the user guide gsoap/doc/wsse/html/index.html\n\t@endcode\n");
+  fprintf(stream, "    - WS-Security (SOAP Message Security) 1.1 (accepts 1.0):\n\t@code\n\t#import \"wsse11.h\" // to be added to this header file for the soapcpp2 build step\n\t@endcode\n\t@code\n\t#include \"plugin/wsseapi.h\"\n\tsoap_register_plugin(soap, soap_wsse); // register the wsse plugin in your code\n\t// See the user guide gsoap/doc/wsse/html/index.html\n\t@endcode\n");
+  fprintf(stream, "    - HTTP Digest Authentication:\n\t@code\n\t#include \"plugin/httpda.h\"\n\tsoap_register_plugin(soap, soap_http_da); // register the HTTP DA plugin in your code\n\t// See the user guide gsoap/doc/httpda/html/index.html\n\t@endcode\n");
+  fprintf(stream, "*/\n\n");
+  for (VectorOfString::const_iterator i = service.imports.begin(); i != service.imports.end(); ++i)
+    fprintf(stream, "#import \"%s\"\n", *i); 
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/service.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,130 @@
+/*
+	service.h
+
+	Service structures
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2001-2012, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+
+*/
+
+#ifndef SERVICE_H
+#define SERVICE_H
+
+#include "includes.h"
+#include "wsdlH.h"
+
+class Message
+{ public:
+    const char *name;
+    const char *URI;
+    soap__styleChoice style;
+    soap__useChoice use;
+    const char *encodingStyle;
+    const char *action;
+    wsdl__message *message;
+    xs__element *element;
+    const char *body_parts;
+    wsdl__part *part;
+    bool mustUnderstand;
+    vector<soap__header> header;
+    vector<wsoap__header> wheader;
+    mime__multipartRelated *multipartRelated;	// MIME
+    mime__content *content;			// REST/MIME
+    const char *layout;				// DIME
+    const char *documentation;
+    const char *ext_documentation;
+    vector<const wsp__Policy*> policy;
+    void generate(Types&, const char *sep, bool anonymous, bool remark, bool response, bool optional);
+};
+
+typedef map<const char*, Message*, ltstr> MapOfStringToMessage;
+
+class Operation
+{ public:
+    const char *prefix;
+    const char *URI;
+    const char *name;
+    const char *mep;			// WSDL 2.0
+    const char *protocol;
+    soap__styleChoice style;
+    const char *parameterOrder;
+    const char *action;
+    const char *input_name;
+    const char *output_name;
+    Message *input; 			// name, use, and parts
+    Message *output;			// name, use, and parts
+    vector<Message*> infault;
+    vector<Message*> outfault;
+    const char *documentation;
+    const char *operation_documentation;
+    vector<const wsp__Policy*> policy;
+    void generate(Types&, Service&);
+};
+
+class Service
+{ public:
+    const char *prefix;			// a gSOAP service has a unique namespace
+    const char *URI;
+    const char *name;			// binding name
+    const char *type;			// portType
+    const char *transport;		// binding transport
+    SetOfString location;		// WSDL may specify multiple locations via <Port> -> <Binding>
+    vector<Operation*> operation;
+    MapOfStringToMessage header;
+    MapOfStringToMessage headerfault;
+    MapOfStringToMessage fault;
+    MapOfStringToString service_documentation;
+    MapOfStringToString port_documentation;
+    MapOfStringToString binding_documentation;
+    vector<const wsp__Policy*> policy;
+    VectorOfString imports;
+    Service();
+    void generate(Types&);
+    void add_import(const char*);
+    void del_import(const char*);
+};
+
+typedef map<const char*, Service*, ltstr> MapOfStringToService;
+
+class Definitions
+{ public:
+    Types types;				// to process schema type information
+    MapOfStringToService services;		// service information gathered
+    bool soap12;
+    Definitions();
+    void collect(const wsdl__definitions&);
+    void compile(const wsdl__definitions&);
+  private:
+    void analyze(const wsdl__definitions&);
+    void analyze_headers(const wsdl__definitions&, Service*, wsdl__ext_ioput*, wsdl__ext_ioput*);
+    void analyze_faults(const wsdl__definitions&, Service*, Operation*, vector<wsdl__ext_operation>::const_iterator&);
+    Message *analyze_fault(const wsdl__definitions&, Service*, const wsdl__ext_fault&);
+    void generate();
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/soap.cpp	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,231 @@
+/*
+	soap.cpp
+
+	WSDL/SOAP binding schema
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2001-2008, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+
+*/
+
+#include "wsdlH.h"		// cannot include "schemaH.h"
+#include "includes.h"
+
+extern const char *qname_token(const char*, const char*);
+extern int is_builtin_qname(const char*);
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	soap:header
+//
+////////////////////////////////////////////////////////////////////////////////
+
+int soap__header::traverse(wsdl__definitions& definitions)
+{ if (vflag)
+    cerr << "    Analyzing soap header in wsdl namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  messageRef = NULL;
+  partRef = NULL;
+  const char *token = qname_token(message, definitions.targetNamespace);
+  if (token)
+  { for (vector<wsdl__message>::iterator message = definitions.message.begin(); message != definitions.message.end(); ++message)
+    { if ((*message).name && !strcmp((*message).name, token))
+      { messageRef = &(*message);
+        if (vflag)
+	  cerr << "     Found soap header part '" << (part?part:"") << "' message '" << (token?token:"") << "'" << endl;
+        break;
+      }
+    }
+  }
+  if (!messageRef)
+  { for (vector<wsdl__import>::iterator import = definitions.import.begin(); import != definitions.import.end(); ++import)
+    { wsdl__definitions *importdefinitions = (*import).definitionsPtr();
+      if (importdefinitions)
+      { token = qname_token(message, importdefinitions->targetNamespace);
+        if (token)
+        { for (vector<wsdl__message>::iterator message = importdefinitions->message.begin(); message != importdefinitions->message.end(); ++message)
+          { if ((*message).name && !strcmp((*message).name, token))
+            { messageRef = &(*message);
+              if (vflag)
+	        cerr << "     Found soap header part '" << (part?part:"") << "' message '" << (token?token:"") << "'" << endl;
+              break;
+            }
+          }
+	}
+      }
+    }
+  }
+  if (messageRef)
+  { if (part)
+    { for (vector<wsdl__part>::iterator pt = messageRef->part.begin(); pt != messageRef->part.end(); ++pt)
+        if ((*pt).name && !strcmp((*pt).name, part))
+	{ partRef = &(*pt);
+	  break;
+        }
+    }
+    if (!partRef)
+      cerr << "Warning: soap header has no matching part in message '" << (message?message:"") << "' in wsdl definitions '" << definitions.name << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  }
+  else
+    cerr << "Warning: could not find soap header part '" << (part?part:"") << "' message '" << (message?message:"") << "' in wsdl definitions '" << definitions.name << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  for (vector<soap__headerfault>::iterator i = headerfault.begin(); i != headerfault.end(); ++i)
+    (*i).traverse(definitions);
+  return SOAP_OK;
+}
+
+void soap__header::messagePtr(wsdl__message *message)
+{ messageRef = message;
+}
+
+wsdl__message *soap__header::messagePtr() const
+{ return messageRef;
+}
+
+void soap__header::partPtr(wsdl__part *part)
+{ partRef = part;
+}
+
+wsdl__part *soap__header::partPtr() const
+{ return partRef;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	soap:headerfault
+//
+////////////////////////////////////////////////////////////////////////////////
+
+int soap__headerfault::traverse(wsdl__definitions& definitions)
+{ if (vflag)
+    cerr << "    Analyzing soap headerfault in wsdl namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  messageRef = NULL;
+  partRef = NULL;
+  const char *token = qname_token(message, definitions.targetNamespace);
+  if (token)
+  { for (vector<wsdl__message>::iterator message = definitions.message.begin(); message != definitions.message.end(); ++message)
+    { if ((*message).name && !strcmp((*message).name, token))
+      { messageRef = &(*message);
+        if (vflag)
+	  cerr << "     Found soap headerfault part '" << (part?part:"") << "' message '" << (token?token:"") << "'" << endl;
+        break;
+      }
+    }
+  }
+  else
+  { for (vector<wsdl__import>::iterator import = definitions.import.begin(); import != definitions.import.end(); ++import)
+    { wsdl__definitions *importdefinitions = (*import).definitionsPtr();
+      if (importdefinitions)
+      { token = qname_token(message, importdefinitions->targetNamespace);
+        if (token)
+        { for (vector<wsdl__message>::iterator message = importdefinitions->message.begin(); message != importdefinitions->message.end(); ++message)
+          { if ((*message).name && !strcmp((*message).name, token))
+            { messageRef = &(*message);
+              if (vflag)
+	        cerr << "     Found soap headerfault part '" << (part?part:"") << "' message '" << (token?token:"") << "'" << endl;
+              break;
+            }
+          }
+	}
+      }
+    }
+  }
+  if (messageRef)
+  { if (part)
+    { for (vector<wsdl__part>::iterator pt = messageRef->part.begin(); pt != messageRef->part.end(); ++pt)
+        if ((*pt).name && !strcmp((*pt).name, part))
+	{ partRef = &(*pt);
+	  break;
+        }
+    }
+    if (!partRef)
+      cerr << "Warning: soap headerfault has no matching part in message '" << (message?message:"") << "' in wsdl definitions '" << definitions.name << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  }
+  else
+    cerr << "Warning: could not find soap headerfault part '" << (part?part:"") << "' message '" << (message?message:"") << "' in wSDL definitions '" << definitions.name << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  return SOAP_OK;
+}
+
+void soap__headerfault::messagePtr(wsdl__message *message)
+{ messageRef = message;
+}
+
+wsdl__message *soap__headerfault::messagePtr() const
+{ return messageRef;
+}
+
+void soap__headerfault::partPtr(wsdl__part *part)
+{ partRef = part;
+}
+
+wsdl__part *soap__headerfault::partPtr() const
+{ return partRef;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	wsoap:header
+//
+////////////////////////////////////////////////////////////////////////////////
+
+int wsoap__header::traverse(wsdl__definitions& definitions)
+{ if (vflag)
+    cerr << "    Analyzing soap header in wsdl namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  elementRef = NULL;
+  // WSDL 2.0
+  if (element)
+  { if (definitions.types)
+    { for (vector<xs__schema*>::iterator schema = definitions.types->xs__schema_.begin(); schema != definitions.types->xs__schema_.end(); ++schema)
+      { const char *token = qname_token(element, (*schema)->targetNamespace);
+        if (token)
+        { for (vector<xs__element>::iterator element = (*schema)->element.begin(); element != (*schema)->element.end(); ++element)
+          { if ((*element).name && !strcmp((*element).name, token))
+            { elementRef = &(*element);
+              if (vflag)
+                cerr << "   Found soap header element '" << (token?token:"") << "'" << endl;
+              break;
+            }
+          }
+        }
+      }
+    }
+    if (!elementRef)
+    { if (is_builtin_qname(element))
+        definitions.builtinElement(element);
+      else
+        if (!Wflag)
+          cerr << "Warning: no soap header element '" << element << "' in wsdl definitions '" << (definitions.name?definitions.name:"") << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+    }
+  }
+  return SOAP_OK;
+}
+
+void wsoap__header::elementPtr(xs__element *element)
+{ elementRef = element;
+}
+
+xs__element *wsoap__header::elementPtr() const
+{ return elementRef;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/soap.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,140 @@
+/*
+	soap.h
+
+	WSDL/SOAP binding schema
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2000-2012, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+//gsoap soap schema documentation:	WSDL 1.1 SOAP binding schema
+//gsoap soap schema namespace:		http://schemas.xmlsoap.org/wsdl/soap/
+
+//gsoap wsoap schema documentation:	WSDL 2.0 SOAP binding schema
+//gsoap wsoap schema namespace:		http://www.w3.org/ns/wsdl/soap
+
+#import "imports.h"
+
+class wsdl__definitions;		// forward declaration
+class wsdl__message;			// forward declaration
+class wsdl__part;			// forward declaration
+
+enum soap__styleChoice { rpc, document };
+
+class soap__binding
+{ public:
+	@xsd__anyURI			transport;
+ 	@enum soap__styleChoice		*style;
+};
+
+class soap__operation
+{ public:
+	@xsd__anyURI			soapAction;
+	@xsd__boolean			soapActionRequired	= true;
+	@enum soap__styleChoice		*style;
+};
+
+enum soap__useChoice { literal, encoded };
+
+class soap__body
+{ public:
+	@xsd__anyURI			encodingStyle;
+ 	@xsd__NMTOKENS			parts;
+	@enum soap__useChoice		use;
+	@xsd__anyURI			namespace_;
+};
+
+class soap__fault
+{ public:
+	@xsd__NMTOKEN			name;
+	@xsd__anyURI			encodingStyle;
+	@enum soap__useChoice		use;
+	@xsd__anyURI			namespace_;
+};
+
+class soap__headerfault
+{ public:
+	@xsd__QName			message;
+ 	@xsd__NMTOKEN			part;
+	@enum soap__useChoice		use;
+	@xsd__anyURI			encodingStyle;
+	@xsd__anyURI			namespace_;
+  private:
+  	wsdl__message			*messageRef;
+  	wsdl__part			*partRef;
+  public:
+  	int				traverse(wsdl__definitions&);
+	void				messagePtr(wsdl__message*);
+	void				partPtr(wsdl__part*);
+	wsdl__message			*messagePtr() const;
+	wsdl__part			*partPtr() const;
+};
+
+class soap__header
+{ public:
+	@xsd__QName			message;
+ 	@xsd__NMTOKEN			part;
+	@enum soap__useChoice		use;
+	@xsd__anyURI			encodingStyle;
+	@xsd__anyURI			namespace_;
+	std::vector<soap__headerfault>	headerfault;		// <soap:headerfault>*
+  private:
+  	wsdl__message			*messageRef;
+  	wsdl__part			*partRef;
+  public:
+  	int				traverse(wsdl__definitions&);
+	void				messagePtr(wsdl__message*);
+	void				partPtr(wsdl__part*);
+	wsdl__message			*messagePtr() const;
+	wsdl__part			*partPtr() const;
+};
+
+class soap__address
+{ public:
+	@xsd__anyURI			location;
+};
+
+class wsoap__module
+{ public:
+	@xsd__anyURI			ref;
+	@xsd__boolean			required = false;
+};
+
+class wsoap__header
+{ public:
+	@xsd__QName			element;
+	@xsd__boolean			mustUnderstand_ = false;
+	@xsd__boolean			required = false;
+  private:
+  	xs__element			*elementRef;
+  public:
+  	int				traverse(wsdl__definitions&);
+	void				elementPtr(xs__element*);
+	xs__element			*elementPtr() const;
+};
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/sp.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,70 @@
+/*
+	sp.h
+
+	WS-SecurityPolicy 1.2 binding schemas
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2001-2010, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+
+*/
+
+//gsoap sp schema documentation:	WS-SecurityPolicy binding
+//gsoap sp schema namespace:		http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702
+// 1.1 //gsoap sp schema namespace:	http://schemas.xmlsoap.org/ws/2005/07/securitypolicy
+//gsoap sp schema elementForm:		qualified             
+//gsoap sp schema attributeForm:	unqualified           
+
+#import "imports.h"
+#import "wsam.h"
+#import "wst.h"
+
+class sp__Header
+{ public:
+	@xsd__NCName			Name;
+	@xsd__anyURI			Namespace;
+};
+
+class sp__Parts
+{ public:
+	xsd__string			Body;
+	std::vector<sp__Header>		Header;
+	xsd__string			Attachments;
+};
+
+class sp__Elements
+{ public:
+	@xsd__anyURI			XPathVersion;
+	std::vector<xsd__string>	XPath;
+};
+
+class sp__Token : public wsp__Assertion
+{ public:
+	@xsd__anyURI			IncludeToken;
+	wsa__EndpointReferenceType	*Issuer;
+	xsd__anyURI			IssuerName;
+	wst__Claims			*wst__Claims_;
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/typemap.dat	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,393 @@
+#	typemap.dat
+#
+#	Use this file to define namespace prefix and type bindings for
+#	the generated header files by the 'wsdl2h' tool.  typemap.dat is the
+#	default file processed by 'wsdl2h' to customize its output. You can use
+#	wsdl2h option -t to specify an alternate file.
+#
+#	XML namespace prefix bindings can be provided to override the default
+#	choice of the ns1, ns2, ... prefixes generated by wsdl2h.  It is highly
+#	recommended to provide namespace prefixes for your project's XML
+#	namespaces. In this way, changes to the WSDL (or newer releases of
+#	wsdl2h) will have a minimal impact on coding.
+#	Bindings for namespace prefixes are of the form:
+#		prefix = "URI"
+#
+#	Type bindings can be provided to bind XML schema types to C/C++
+#	types for your project.
+#	Type bindings are of the form:
+#		prefix__type = declaration | use | ptr-use
+#	where 'prefix__type' is the C/C++-translation of the schema type,
+#	'declaration' introduces the type in the header file, the optional
+#	'use' specifies how the type is used directly, and the optional
+#	'ptr-use' specifies how the type is used as a pointer type.
+#	For example:
+#		xsd__string = | char* | char*
+#	or using wide strings:
+#		xsd__string = | wchar_t* | wchar_t*
+#	or using C++ strings, which need a pointer (added by default):
+#		xsd__string = | std::string
+#	or using C++ wstrings:
+#		xsd__string = | std::wstring
+#	After enabling this line, all XSD strings will be mapped to char* or
+#	std::wstring, respectively to support Unicode. Note that the
+#	'declaration' part is empty in this case.
+#
+#	When a type binding requires only the usage to be changed, the
+#	declaration part can be replaced by elipsis ..., as in:
+#		prefix__type = ... | use | ptr-use
+#	This ensure that the wsdl2h-generated type definition is preserved,
+#	while the use and ptr-use are remapped.
+#	For example, this is useful to map schema polymorphic types to C types,
+#	where we need to be able to both handle a base type and its extensions
+#	as per schema extensibility. Say base type ns:base allows derived
+#	extensions and we need to map this to C types as follows:
+#		ns__base = ... | int __type_base; void*
+#	where __type_base and void* are used to (de)serialize any data type,
+#	including base and its derived types.
+#
+#	Additional data and function members can be provided to extend a
+#	generated struct or class.
+#	Class and struct extensions are of the form:
+#		prefix__type = $ member-declaration
+#	For example, to add a constructor and destructor to class myns__record:
+#		myns__record = $ myns__record();
+#		myns__record = $ ~myns__record();
+#	
+#	Type remappings can be given to map a type to another type:
+#		prefix__type1 == prefix__type2
+#	which replaces 'prefix__type1' by 'prefix__type2' in the wsdl2h output.
+#	For example:
+#		SOAP_ENC__boolean == xsd__boolean
+#
+#	Any other material to be included in the generated header file can be
+#	provided by enclosing the text within brackets [ and ]. Brackets MUST
+#	appear at the start of a new line.
+#	For example, to include a note:
+#[
+#// TODO: Don't forget to bind the namespace prefixes!
+#]
+#	This comment appears as the first line in the generated header file.
+#
+#-------------------------------------------------------------------------------
+#gSOAP XML Web services tools
+#Copyright (C) 2000-2012, Robert van Engelen, Genivia Inc. All Rights Reserved.
+#This software is released under one of the following two licenses:
+#GPL or Genivia's license for commercial use.
+#-------------------------------------------------------------------------------
+#GPL license.
+#
+#This program is free software; you can redistribute it and/or modify it under
+#the terms of the GNU General Public License as published by the Free Software
+#Foundation; either version 2 of the License, or (at your option) any later
+#version.
+#
+#This program is distributed in the hope that it will be useful, but WITHOUT ANY
+#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+#PARTICULAR PURPOSE. See the GNU General Public License for more details.
+#
+#You should have received a copy of the GNU General Public License along with
+#this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+#Place, Suite 330, Boston, MA 02111-1307 USA
+#
+#Author contact information:
+#engelen@genivia.com / engelen@acm.org
+#-------------------------------------------------------------------------------
+#A commercial use license is available from Genivia, Inc., contact@genivia.com
+#-------------------------------------------------------------------------------
+
+[
+// Reminder: Modify typemap.dat to customize the header file generated by wsdl2h
+]
+
+#	Remember: type bindings are given on a single line (use \ to continue
+#	with the next line). Here is an example binding for the XSD int type
+#	that maps to an 'int':
+# xsd__int	= | int
+
+#	To use regular char* strings instead of std::string, use:
+# xsd__string	= | char* | char*
+
+#	For char* serialized with xsi:type when using soapcpp2 option -t, use:
+# xsd__string	= typedef char *xsd__string; | xsd__string | xsd__string
+
+#	More examples:
+# xsd__boolean	= enum xsd__boolean { false_, true_ }; | enum xsd__boolean
+
+#	Uncomment the line below to use struct tm instead of time_t xsd:dateTime
+#	Must compile and link custom/struct_tm.c with the project
+# xsd__dateTime = #import "custom/struct_tm.h" | xsd__dateTime
+
+#	Uncomment the line below to use timeval with usec precision xsd:dateTime
+#	Must compile and link custom/struct_timeval.c with the project
+# xsd__dateTime = #import "custom/struct_timeval.h" | xsd__dateTime
+
+#	When compiling WITH_LEAN there is no hexBinary serializer. You can
+#	remap the hexBinary type to a string as follows:
+# xsd__hexBinary = | char*
+
+#	Uncomment the line below to use LONG64 int for xsd:duration
+#	(with high ms precision)
+#	Must compile and link custom/duration.c with the project
+xsd__duration = #import "custom/duration.h" | xsd__duration
+
+#	SOAP-ENV mapping (note: SOAP Body content is mapped to an XML string)
+
+SOAP_ENV__Envelope	= struct SOAP_ENV__Envelope { struct SOAP_ENV__Header *SOAP_ENV__Header; _XML SOAP_ENV__Body; }; | struct SOAP_ENV__Envelope
+SOAP_ENV__Header	= | struct SOAP_ENV__Header
+SOAP_ENV__Fault		= | struct SOAP_ENV__Fault
+SOAP_ENV__Detail	= | struct SOAP_ENV__Detail
+SOAP_ENV__Code		= | struct SOAP_ENV__Code
+SOAP_ENV__Subcode	= | struct SOAP_ENV__Subcode
+SOAP_ENV__Reason	= | struct SOAP_ENV__Reason
+
+#	Temporary URI
+
+tempuri	= "http://tempuri.org/"
+
+#	Empty URI
+
+empty	= ""
+
+#	.NET WCF DataContract Serialization Schema
+
+ser	= <http://schemas.microsoft.com/2003/10/Serialization/>
+arr	= "http://schemas.microsoft.com/2003/10/Serialization/Arrays"
+
+#	.NET WCF DataContract Serialization Schema remappings
+
+_ser__anyURI		== xsd__anyURI
+_ser__boolean		== xsd__boolean
+_ser__base64Binary	== xsd__base64Binary
+_ser__byte		== xsd__byte
+_ser__dateTime		== xsd__dateTime
+_ser__decimal		== xsd__decimal
+_ser__double		== xsd__double
+_ser__float		== xsd__float
+_ser__int		== xsd__int
+_ser__long		== xsd__long
+_ser__QName		== xsd__QName
+_ser__short		== xsd__short
+_ser__string		== xsd__string
+_ser__unsignedByte	== xsd__unsignedByte
+_ser__unsignedInt	== xsd__unsignedInt
+_ser__unsignedLong	== xsd__unsignedLong
+_ser__unsignedShort	== xsd__unsignedShort
+
+#	.NET WCF ser:anyType represents an object (see import/ser.h):
+
+_ser__anyType	= | struct __ser__anyType | struct __ser__anyType
+
+#	.NET WCF ser:char element and type represents a Unicode character
+
+_ser__char	= | int
+ser__char	= | int
+
+#	.NET WCF ser:duration element and type maps to xsd:duration
+
+_ser__duration	== xsd__duration
+ser__duration	== xsd__duration
+
+#	.NET WCF ser:guid pattern = "[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}"
+
+_ser__guid	= | char*
+ser__guid	= | char*
+
+#	.NET WCF samples
+
+mssamh	= "http://Microsoft.Samples.Http"
+mssamhi	= "http://Microsoft.Samples.Http/Imports"
+
+mssamt	= "http://Microsoft.Samples.TransportSecurity"
+mssamti	= "http://Microsoft.Samples.TransportSecurity/Imports"
+
+mssamm	= "http://Microsoft.Samples.MessageSecurity"
+mssammi	= "http://Microsoft.Samples.MessageSecurity/Imports"
+
+mssadh  = "http://Microsoft.Samples.DualHttp"
+mssadhi = "http://Microsoft.Samples.DualHttp/Imports"
+
+#	MTOM xop and xmime are imported from xop.h, xmime.h, and xmlmime.h:
+#	Note: changed xmlmime to xmime to avoid other MTOM tools from
+#	complaining that 'xml' is reserved.
+
+xop	= <http://www.w3.org/2004/08/xop/include>
+xmime	= <http://www.w3.org/2004/06/xmlmime>
+xmime4	= <http://www.w3.org/2004/11/xmlmime>
+xmime5  = <http://www.w3.org/2005/05/xmlmime>
+
+#	xop:Include is imported from xop.h and redefined as _xop__Include:
+
+xop__Include = #import "xop.h" | _xop__Include
+
+#	xmime/xmlmime:contentType attribute is a string:
+
+_xmime__contentType	= | char* | char*
+_xmime4__contentType	= | char* | char*
+_xmime5__contentType	= | char* | char*
+
+#	exc-c14n
+
+c14n	= <http://www.w3.org/2001/10/xml-exc-c14n#>
+
+#	WS-Addressing (2003, 2004, and 2005 schemas)
+#	See import/wsa.h, import/wsa3.h etc for definitions and code examples
+#	The API is defined in plugin/wsaapi.c, plugin/wsaapi3.c, etc.
+
+wsa	= <http://schemas.xmlsoap.org/ws/2004/08/addressing>
+wsa3	= <http://schemas.xmlsoap.org/ws/2003/03/addressing>
+wsa4	= <http://schemas.xmlsoap.org/ws/2004/03/addressing>
+wsa5	= <http://www.w3.org/2005/08/addressing>
+
+#	The types below should not use pointers, so we add a 3rd column:
+
+_wsa__Action    = | | _wsa__Action
+_wsa__MessageID = | | _wsa__MessageID
+_wsa__To        = | | _wsa__To
+
+_wsa3__Action    = | | _wsa3__Action
+_wsa3__MessageID = | | _wsa3__MessageID
+_wsa3__To        = | | _wsa3__To
+
+_wsa4__Action    = | | _wsa4__Action
+_wsa4__MessageID = | | _wsa4__MessageID
+_wsa4__To        = | | _wsa4__To
+
+_wsa5__Action    = | | _wsa5__Action
+_wsa5__MessageID = | | _wsa5__MessageID
+_wsa5__To        = | | _wsa5__To
+
+#	WS-ReliableMessaging 1.1 and 1.0 (and obsolete WS-Reliability 2004)
+
+wsrm	= <http://docs.oasis-open.org/ws-rx/wsrm/200702>
+wsrm5	= <http://schemas.xmlsoap.org/ws/2005/02/rm>
+wsrm4	= <http://docs.oasis-open.org/wsrm/2004/06/ws-reliability-1.1.xsd>
+
+#	WS-Discovery 1.1 and 1.0
+
+wsdd	= <http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01>
+wsdd10	= <http://schemas.xmlsoap.org/ws/2005/04/discovery>
+
+wsdd10__HelloType		= | wsdd__HelloType
+wsdd10__ByeType			= | wsdd__ByeType
+wsdd10__ProbeType		= | wsdd__ProbeType
+wsdd10__ProbeMatchesType	= | wsdd__ProbeMatchesType
+wsdd10__ProbeMatchType		= | wsdd__ProbeMatchType
+wsdd10__ResolveType		= | wsdd__ResolveType
+wsdd10__ResolveMatchesType	= | wsdd__ResolveMatchesType
+wsdd10__ResolveMatchType	= | wsdd__ResolveMatchType
+wsdd10__ScopesType		= | wsdd__ScopesType
+wsdd10__SecurityType		= | wsdd__SecurityType
+wsdd10__SigType			= | wsdd__SigType
+wsdd10__AppSequenceType		= | wsdd__AppSequenceType
+
+#	WS-Policy
+
+wsp	= <http://schemas.xmlsoap.org/ws/2004/09/policy>
+
+#	WS-SecureConversation
+
+wsc	= <http://schemas.xmlsoap.org/ws/2005/02/sc>
+
+#	WS-Trust 1.0
+
+wst	= <http://schemas.xmlsoap.org/ws/2005/02/trust>
+
+#	WS-Security wsse 2004 v1.0 and 1.1 and old wsse 2002 schema
+
+wsse11	= <http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd>
+wsse	= <http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd>
+wsse2	= <http://schemas.xmlsoap.org/ws/2002/12/secext>
+
+_wsse2__Security == _wsse__Security
+wsse2__Security == wsse__Security
+
+#	wsu 2004
+
+wsu	= <http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd>
+
+_wsu__Id		= | char*
+_wsu__Created		= | time_t
+_wsu__Expires		= | time_t
+
+wsu__AttributedDateTime	= | time_t
+wsu__AttributedURI	= | char*
+
+#	Bindings for ds and xenc for WS-Security protocols:
+
+ds	= <http://www.w3.org/2000/09/xmldsig#>
+xenc	= <http://www.w3.org/2001/04/xmlenc#>
+
+#	xlink
+
+xlink	= <http://www.w3.org/1999/xlink>
+
+_xlink__actuate		= | char*
+_xlink__arcrole		= | char*
+_xlink__from		= | char*
+_xlink__href		= | char*
+_xlink__label		= | char*
+_xlink__role		= | char*
+_xlink__show		= | char*
+_xlink__to		= | char*
+_xlink__title		= | char*
+_xlink__type		= | char*
+
+#	wsrp routing protocol (deprecated)
+
+wsrp	= <http://schemas.xmlsoap.org/rp/>
+
+#	ONVIF recommended prefixes as per 8/20/12
+#	http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl
+#	http://www.onvif.org/onvif/ver10/event/wsdl/event.wsdl
+#	http://www.onvif.org/onvif/ver10/display.wsdl
+#	http://www.onvif.org/onvif/ver10/deviceio.wsdl
+#	http://www.onvif.org/onvif/ver20/imaging/wsdl/imaging.wsdl
+#	http://www.onvif.org/onvif/ver10/media/wsdl/media.wsdl
+#	http://www.onvif.org/onvif/ver20/ptz/wsdl/ptz.wsdl
+#	http://www.onvif.org/onvif/ver10/receiver.wsdl
+#	http://www.onvif.org/onvif/ver10/recording.wsdl
+#	http://www.onvif.org/onvif/ver10/search.wsdl
+#	http://www.onvif.org/onvif/ver10/network/wsdl/remotediscovery.wsdl
+#	http://www.onvif.org/onvif/ver10/replay.wsdl
+#	http://www.onvif.org/onvif/ver20/analytics/wsdl/analytics.wsdl
+#	http://www.onvif.org/onvif/ver10/analyticsdevice.wsdl	
+#	http://www.onvif.org/onvif/ver10/schema/onvif.xsd
+
+tds	= "http://www.onvif.org/ver10/device/wsdl"
+tev	= "http://www.onvif.org/ver10/events/wsdl"
+tls	= "http://www.onvif.org/ver10/display/wsdl"
+tmd	= "http://www.onvif.org/ver10/deviceIO/wsdl"
+timg	= "http://www.onvif.org/ver20/imaging/wsdl"
+trt	= "http://www.onvif.org/ver10/media/wsdl"
+tptz	= "http://www.onvif.org/ver20/ptz/wsdl"
+trv	= "http://www.onvif.org/ver10/receiver/wsdl"
+trc	= "http://www.onvif.org/ver10/recording/wsdl"
+tse	= "http://www.onvif.org/ver10/search/wsdl"
+trp	= "http://www.onvif.org/ver10/replay/wsdl"
+tan	= "http://www.onvif.org/ver20/analytics/wsdl"
+tad	= "http://www.onvif.org/ver10/analyticsdevice/wsdl"
+tdn	= "http://www.onvif.org/ver10/network/wsdl"
+tt	= "http://www.onvif.org/ver10/schema"
+
+#	OASIS recommended prefixes
+
+wsnt	= "http://docs.oasis-open.org/wsn/b-2"
+wsntw	= "http://docs.oasis-open.org/wsn/bw-2"
+wsrfbf	= "http://docs.oasis-open.org/wsrf/bf-2"
+wsrfr	= "http://docs.oasis-open.org/wsrf/r-2"
+wsrfrw  = "http://docs.oasis-open.org/wsrf/rw-2"
+wstop	= "http://docs.oasis-open.org/wsn/t-1"
+
+#	Prefix bindings for WhiteMesa interoperability testing round 2:
+
+i	= "http://soapinterop.org/"
+s	= "http://soapinterop.org/xsd"
+
+#	Prefix binding for Amazon Web Services:
+
+aws	= "urn:PI/DevCentral/SoapService"
+
+#	Prefix binding for Mappoint Web services:
+
+mpt	= "http://s.mappoint.net/mappoint-30/"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/types.cpp	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,3289 @@
+/*
+	types.cpp
+
+	Generate gSOAP types from XML schemas (e.g. embedded in WSDL).
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2001-2013, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+
+*/
+
+#include "types.h"
+
+static char *getline(char *s, size_t n, FILE *fd);
+static const char *nonblank(const char *s);
+static const char *fill(char *t, int n, const char *s, int e);
+static const char *utf8(char *t, const char *s);
+static const char *cstring(const char *s);
+static const char *xstring(const char *s);
+static bool is_integer(const char *s);
+static LONG64 to_integer(const char *s);
+static void documentation(const char *text);
+static void operations(const char *t);
+
+static int comment_nest = 0; /* keep track of block comments to avoid nesting */
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	Keywords and reserved words
+//
+////////////////////////////////////////////////////////////////////////////////
+
+static const char *keywords[] =
+{ "and",
+  "asm",
+  "auto",
+  "bool",
+  "break",
+  "case",
+  "catch",
+  "char",
+  "class",
+  "const",
+  "const_cast",
+  "continue",
+  "default",
+  "delete",
+  "do",
+  "double",
+  "dynamic_cast",
+  "else",	
+  "enum",
+  "errno",
+  "explicit",
+  "export",
+  "extern",
+  "false",
+  "FILE",
+  "float",
+  "for",
+  "friend",
+  "goto",
+  "if",
+  "inline",
+  "int",
+  "interface",
+  "long",
+  "LONG64",
+  "max",
+  "min",
+  "mustUnderstand",
+  "mutable",
+  "namespace",
+  "new",
+  "not",
+  "NULL",
+  "operator",
+  "or",
+  "private",
+  "protected",
+  "public",
+  "_QName",
+  "register",
+  "reinterpret_cast",
+  "restrict",
+  "return",
+  "short",
+  "signed",
+  "size_t",
+  "sizeof",
+  "soap",
+  "static",
+  "static_cast",
+  "struct",
+  "switch",
+  "template",
+  "this",
+  "throw",
+  "time_t",
+  "true",
+  "typedef",
+  "typeid",
+  "typeof",
+  "typename",
+  "ULONG64",
+  "union",
+  "unsigned",
+  "using",
+  "virtual",
+  "void",
+  "volatile",
+  "wchar_t",
+  "while",
+  "XML",
+  "_XML",
+  "xor",
+};
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	Types methods
+//
+////////////////////////////////////////////////////////////////////////////////
+
+Types::Types()
+{ init();
+}
+
+int Types::read(const char *file)
+{ FILE *fd;
+  char buf[1024], xsd[1024], def[1024], use[1024], ptr[1024], uri[1024];
+  const char *s;
+  short copy = 0;
+  strcpy(buf, file);
+  fd = fopen(buf, "r");
+  if (!fd && import_path)
+  { strcpy(buf, import_path);
+    strcat(buf, "/");
+    strcat(buf, file);
+    fd = fopen(buf, "r");
+  }
+  if (!fd)
+  { fprintf(stderr, "Cannot open file '%s'\n", buf);
+    return SOAP_EOF;
+  }
+  fprintf(stderr, "Reading type definitions from type map file '%s'\n", buf);
+  while (getline(buf, sizeof(buf), fd))
+  { s = buf;
+    if (copy)
+    { if (*s == ']')
+        copy = 0;
+      else
+        fprintf(stream, "%s\n", buf);
+    }
+    else if (*s == '[')
+      copy = 1;
+    else if (*s == '<')
+    { s = fill(uri, sizeof(uri), s+1, -1);
+      infile[infiles++] = estrdup(uri);
+      if (infiles >= MAXINFILES)
+      { fprintf(stderr, "wsdl2h: too many files\n");
+        exit(1);
+      }
+    }
+    else if (*s == '>')
+    { s = fill(uri, sizeof(uri), s+1, -1);
+      if (!outfile)
+      { outfile = estrdup(uri);
+        stream = fopen(outfile, "w");
+        if (!stream)
+        { fprintf(stderr, "Cannot write to %s\n", outfile);
+          exit(1);
+        }
+        if (cppnamespace)
+          fprintf(stream, "namespace %s {\n", cppnamespace);
+        fprintf(stderr, "Saving %s\n\n", outfile);
+      }
+    }
+    else if (*s && *s != '#')
+    { s = fill(xsd, sizeof(xsd), s, '=');
+      if (strstr(xsd, "__"))
+      { if (s && *s == '=')
+        { s = fill(use, sizeof(use), s+1, '|');
+          if (*xsd && *use)
+          { s = estrdup(xsd);
+            eqvtypemap[s] = estrdup(use);
+          }
+        }
+        else
+        { s = fill(def, sizeof(def), s, '|');
+          s = fill(use, sizeof(use), s, '|');
+          s = fill(ptr, sizeof(ptr), s, '|');
+          if (*xsd)
+          { s = estrdup(xsd);
+            if (*def == '$')
+            { const char *t = modtypemap[s];
+              if (t)
+              { char *r = (char*)emalloc(strlen(t) + strlen(def) + 1);
+                strcpy(r, t);
+                strcat(r, def);
+                free((void*)modtypemap[s]);
+                modtypemap[s] = r;
+              }
+              else
+                modtypemap[s] = estrdup(def);
+            }
+            else
+            { if (*def)
+              { if (strcmp(def, "..."))
+                  deftypemap[s] = estrdup(def);
+              }
+              else
+                deftypemap[s] = "";
+              if (*use)
+                usetypemap[s] = estrdupf(use);
+              else
+                usetypemap[s] = estrdupf(xsd);
+              if (*ptr)
+                ptrtypemap[s] = estrdupf(ptr);
+            }
+          }
+        }
+      }
+      else if (*xsd)
+      { s = fill(uri, sizeof(uri), s, 0);
+        if (uri[0] == '"')
+        { uri[strlen(uri) - 1] = '\0';
+          nsprefix(xsd, estrdup(uri + 1));
+        }
+        else if (uri[0] == '<')
+        { uri[strlen(uri) - 1] = '\0';
+          char *s = estrdup(uri + 1);
+          nsprefix(xsd, s);
+          exturis.insert(s);
+        }
+        else
+          nsprefix(xsd, estrdup(uri));
+      }
+    }
+  }
+  fclose(fd);
+  return SOAP_OK;
+}
+
+void Types::init()
+{ snum = 1;
+  unum = 1;
+  gnum = 1;
+  with_union = false;
+  fake_union = false;
+  knames.insert(keywords, keywords + sizeof(keywords)/sizeof(char*));
+  if (cflag)
+  { deftypemap["xsd__ur_type"] = "";
+    if (dflag)
+    { usetypemap["xsd__ur_type"] = "xsd__anyType";
+      ptrtypemap["xsd__ur_type"] = "xsd__anyType*";
+    }
+    else
+    { usetypemap["xsd__ur_type"] = "_XML";
+      ptrtypemap["xsd__ur_type"] = "_XML";
+    }
+  }
+  else
+  { deftypemap["xsd__ur_type"] = "class xsd__ur_type { _XML __item; struct soap *soap; };";
+    usetypemap["xsd__ur_type"] = "xsd__ur_type";
+  }
+  if (cflag)
+  { deftypemap["xsd__anyType"] = "";
+    if (dflag)
+    { usetypemap["xsd__anyType"] = "xsd__anyType";
+      ptrtypemap["xsd__anyType"] = "xsd__anyType*";
+    }
+    else
+    { usetypemap["xsd__anyType"] = "_XML";
+      ptrtypemap["xsd__anyType"] = "_XML";
+    }
+  }
+  else
+  { if (dflag)
+    { deftypemap["xsd__anyType"] = "";
+      usetypemap["xsd__anyType"] = "xsd__anyType";
+      ptrtypemap["xsd__anyType"] = "xsd__anyType*";
+    }
+    else
+    { deftypemap["xsd__anyType"] = "class xsd__anyType { _XML __item; struct soap *soap; };";
+      usetypemap["xsd__anyType"] = "xsd__anyType*";
+    }
+  }
+  deftypemap["xsd__any"] = "";
+  if (dflag)
+  { usetypemap["xsd__any"] = "xsd__anyType";
+    ptrtypemap["xsd__any"] = "xsd__anyType*";
+  }
+  else
+  { usetypemap["xsd__any"] = "_XML";
+    ptrtypemap["xsd__any"] = "_XML";
+  }
+  deftypemap["xsd__anyAttribute"] = "";
+  if (dflag)
+  { usetypemap["xsd__anyAttribute"] = "xsd__anyAttribute";
+    ptrtypemap["xsd__anyAttribute"] = "xsd__anyAttribute*";
+  }
+  else
+  { usetypemap["xsd__anyAttribute"] = "_XML";
+    ptrtypemap["xsd__anyAttribute"] = "_XML";
+  }
+  if (cflag)
+  { deftypemap["xsd__base64Binary"] = "struct xsd__base64Binary\n{\tunsigned char *__ptr;\n\tint __size;\n\tchar *id, *type, *options; // NOTE: non-NULL for DIMEM/MIME/MTOM XOP attachments only\n};";
+    usetypemap["xsd__base64Binary"] = "struct xsd__base64Binary";
+  }
+  else
+  { deftypemap["xsd__base64Binary"] = "class xsd__base64Binary\n{\tunsigned char *__ptr;\n\tint __size;\n\tchar *id, *type, *options; // NOTE: non-NULL for DIMEM/MIME/MTOM XOP attachments only\n\tstruct soap *soap;\n};";
+    usetypemap["xsd__base64Binary"] = "xsd__base64Binary";
+  }
+  if (cflag)
+  { if (eflag)
+      deftypemap["xsd__boolean"] = "enum xsd__boolean { false_, true_ };";
+    else
+      deftypemap["xsd__boolean"] = "enum xsd__boolean { xsd__boolean__false_, xsd__boolean__true_ };";
+    usetypemap["xsd__boolean"] = "enum xsd__boolean";
+  }
+  else
+  { deftypemap["xsd__boolean"] = "";
+    usetypemap["xsd__boolean"] = "bool";
+  }
+  deftypemap["xsd__byte"] = "typedef char xsd__byte;";
+  usetypemap["xsd__byte"] = "xsd__byte";
+  deftypemap["xsd__dateTime"] = "";
+  usetypemap["xsd__dateTime"] = "time_t";
+  deftypemap["xsd__double"] = "";
+  usetypemap["xsd__double"] = "double";
+  deftypemap["xsd__float"] = "";
+  usetypemap["xsd__float"] = "float";
+  if (cflag)
+  { deftypemap["xsd__hexBinary"] = "struct xsd__hexBinary { unsigned char *__ptr; int __size; };";
+    usetypemap["xsd__hexBinary"] = "struct xsd__hexBinary";
+  }
+  else
+  { deftypemap["xsd__hexBinary"] = "class xsd__hexBinary { unsigned char *__ptr; int __size; };";
+    usetypemap["xsd__hexBinary"] = "xsd__hexBinary";
+  }
+  deftypemap["xsd__int"] = "";
+  usetypemap["xsd__int"] = "int";
+  deftypemap["xsd__long"] = "";
+  usetypemap["xsd__long"] = "LONG64";
+  deftypemap["xsd__short"] = "";
+  usetypemap["xsd__short"] = "short";
+  if (cflag || sflag)
+  { deftypemap["xsd__string"] = "";
+    usetypemap["xsd__string"] = "char*";
+  }
+  else
+  { deftypemap["xsd__string"] = "";
+    usetypemap["xsd__string"] = "std::string";
+  }
+  if (cflag || sflag)
+  { deftypemap["xsd__QName"] = "";
+    usetypemap["xsd__QName"] = "_QName";
+    ptrtypemap["xsd__QName"] = "_QName";
+  }
+  else
+  { deftypemap["xsd__QName"] = "typedef std::string xsd__QName;";
+    usetypemap["xsd__QName"] = "xsd__QName";
+  }
+  deftypemap["xsd__unsignedByte"] = "typedef unsigned char xsd__unsignedByte;";
+  usetypemap["xsd__unsignedByte"] = "xsd__unsignedByte";
+  deftypemap["xsd__unsignedInt"] = "";
+  usetypemap["xsd__unsignedInt"] = "unsigned int";
+  deftypemap["xsd__unsignedLong"] = "";
+  usetypemap["xsd__unsignedLong"] = "ULONG64";
+  deftypemap["xsd__unsignedShort"] = "";
+  usetypemap["xsd__unsignedShort"] = "unsigned short";
+  if (cflag)
+  { deftypemap["SOAP_ENC__base64Binary"] = "struct SOAP_ENC__base64Binary { unsigned char *__ptr; int __size; };";
+    usetypemap["SOAP_ENC__base64Binary"] = "struct SOAP_ENC__base64Binary";
+    deftypemap["SOAP_ENC__base64"] = "struct SOAP_ENC__base64 { unsigned char *__ptr; int __size; };";
+    usetypemap["SOAP_ENC__base64"] = "struct SOAP_ENC__base64";
+  }
+  else
+  { deftypemap["SOAP_ENC__base64Binary"] = "class SOAP_ENC__base64Binary { unsigned char *__ptr; int __size; };";
+    usetypemap["SOAP_ENC__base64Binary"] = "SOAP_ENC__base64Binary";
+    deftypemap["SOAP_ENC__base64"] = "class SOAP_ENC__base64 { unsigned char *__ptr; int __size; };";
+    usetypemap["SOAP_ENC__base64"] = "SOAP_ENC__base64";
+  }
+  if (cflag)
+  { deftypemap["SOAP_ENC__boolean"] = "enum SOAP_ENC__boolean { false_, true_ };";
+    usetypemap["SOAP_ENC__boolean"] = "enum SOAP_ENC__boolean";
+  }
+  else
+  { deftypemap["SOAP_ENC__boolean"] = "typedef bool SOAP_ENC__boolean;";
+    usetypemap["SOAP_ENC__boolean"] = "SOAP_ENC__boolean";
+  }
+  deftypemap["SOAP_ENC__byte"] = "typedef char SOAP_ENC__byte;";
+  usetypemap["SOAP_ENC__byte"] = "SOAP_ENC__byte";
+  deftypemap["SOAP_ENC__dateTime"] = "typedef time_t SOAP_ENC__dateTime;";
+  usetypemap["SOAP_ENC__dateTime"] = "SOAP_ENC__dateTime";
+  deftypemap["SOAP_ENC__double"] = "typedef double SOAP_ENC__double;";
+  usetypemap["SOAP_ENC__double"] = "SOAP_ENC__double";
+  deftypemap["SOAP_ENC__float"] = "typedef float SOAP_ENC__float";
+  usetypemap["SOAP_ENC__float"] = "SOAP_ENC__float";
+  if (cflag)
+  { deftypemap["SOAP_ENC__hexBinary"] = "struct SOAP_ENC__hexBinary { unsigned char *__ptr; int __size; };";
+    usetypemap["SOAP_ENC__hexBinary"] = "struct SOAP_ENC__hexBinary";
+  }
+  else
+  { deftypemap["SOAP_ENC__hexBinary"] = "class SOAP_ENC__hexBinary { unsigned char *__ptr; int __size; };";
+    usetypemap["SOAP_ENC__hexBinary"] = "SOAP_ENC__hexBinary";
+  }
+  deftypemap["SOAP_ENC__int"] = "typedef int SOAP_ENC__int;";
+  usetypemap["SOAP_ENC__int"] = "SOAP_ENC__int";
+  deftypemap["SOAP_ENC__long"] = "typedef LONG64 SOAP_ENC__long;";
+  usetypemap["SOAP_ENC__long"] = "SOAP_ENC__long";
+  deftypemap["SOAP_ENC__short"] = "typedef short SOAP_ENC__short;";
+  usetypemap["SOAP_ENC__short"] = "SOAP_ENC__short";
+  if (cflag || sflag)
+  { deftypemap["SOAP_ENC__string"] = "";
+    usetypemap["SOAP_ENC__string"] = "char*";
+  }
+  else
+  { deftypemap["SOAP_ENC__string"] = "";
+    usetypemap["SOAP_ENC__string"] = "std::string";
+  }
+  deftypemap["SOAP_ENC__unsignedByte"] = "typedef unsigned char SOAP_ENC__unsignedByte;";
+  usetypemap["SOAP_ENC__unsignedByte"] = "SOAP_ENC__unsignedByte";
+  deftypemap["SOAP_ENC__unsignedInt"] = "typedef unsigned int SOAP_ENC__unsignedInt;";
+  usetypemap["SOAP_ENC__unsignedInt"] = "SOAP_ENC__unsignedInt";
+  deftypemap["SOAP_ENC__unsignedLong"] = "typedef ULONG64 SOAP_ENC__unsignedLong;";
+  usetypemap["SOAP_ENC__unsignedLong"] = "SOAP_ENC__unsignedLong";
+  deftypemap["SOAP_ENC__unsignedShort"] = "typedef unsigned short SOAP_ENC__unsignedShort;";
+  usetypemap["SOAP_ENC__unsignedShort"] = "SOAP_ENC__unsignedShort";
+  deftypemap["SOAP_ENC__Array"] = "";
+  usetypemap["SOAP_ENC__Array"] = "struct { _XML *__ptr; int __size; }";
+  deftypemap["_SOAP_ENC__arrayType"] = "";
+  deftypemap["SOAP_ENV__Header"] = "";
+  usetypemap["SOAP_ENV__Header"] = "struct SOAP_ENV__Header";
+  deftypemap["_SOAP_ENV__mustUnderstand"] = "";
+  if (cflag || sflag)
+    usetypemap["_SOAP_ENV__mustUnderstand"] = "char*";
+  else
+    usetypemap["_SOAP_ENV__mustUnderstand"] = "std::string";
+  deftypemap["SOAP_ENV__Fault"] = "";
+  usetypemap["SOAP_ENV__Fault"] = "struct SOAP_ENV__Fault";
+  deftypemap["SOAP_ENV__detail"] = "";
+  usetypemap["SOAP_ENV__detail"] = "struct SOAP_ENV__Detail";
+  deftypemap["SOAP_ENV__Detail"] = "";
+  usetypemap["SOAP_ENV__Detail"] = "struct SOAP_ENV__Detail";
+  deftypemap["SOAP_ENV__Code"] = "";
+  usetypemap["SOAP_ENV__Code"] = "struct SOAP_ENV__Code";
+  deftypemap["SOAP_ENV__Reason"] = "";
+  usetypemap["SOAP_ENV__Reason"] = "struct SOAP_ENV__Reason";
+  if (read(mapfile))
+    fprintf(stderr, "Problem reading type map file '%s'.\nUsing internal type definitions for %s instead.\n\n", mapfile, cflag?"C":"C++");
+}
+
+const char *Types::nsprefix(const char *prefix, const char *URI)
+{ if (URI)
+  { const char *s = uris[URI];
+    if (!s)
+    { size_t n;
+      if (!prefix || !*prefix || *prefix == '_')
+        s = schema_prefix;
+      else
+        s = estrdup(prefix);
+      if (!syms[s])
+        n = syms[s] = 1;
+      else
+        n = ++syms[s];
+      if (n != 1 || !prefix || !*prefix || *prefix == '_')
+      { char *t = (char*)emalloc(strlen(s) + 16);
+        sprintf(t, "%s%lu", s, (unsigned long)n);
+        s = t;
+      }
+      uris[URI] = s;
+      if (vflag)
+        fprintf(stderr, "namespace prefix %s = \"%s\"\n", s, URI);
+    }
+    // if *prefix == '_', then add prefix string to s
+    if (prefix && *prefix == '_')
+    { char *t = (char*)emalloc(strlen(s) + 2);
+      *t = '_';
+      strcpy(t + 1, s);
+      s = t;
+    }
+    return s;
+  }
+  return NULL;
+}
+
+const char *Types::prefix(const char *name)
+{ const char *s;
+  char *t;
+  if (*name == '"')
+  { s = strchr(name + 1, '"');
+    t = (char*)emalloc(s - name);
+    strncpy(t, name + 1, s - name - 1);
+    t[s - name - 1] = '\0';
+    return nsprefix(NULL, t);
+  }
+  s = strchr(name, ':');
+  if (s)
+  { t = (char*)emalloc(s - name + 1);
+    strncpy(t, name, s - name);
+    t[s - name] = '\0';
+    return t;
+  }
+  return NULL;
+}
+
+const char *Types::uri(const char *name)
+{ const char *s;
+  char *t;
+  if (*name == '"')
+  { s = strchr(name + 1, '"');
+    t = (char*)emalloc(s - name);
+    strncpy(t, name + 1, s - name - 1);
+    t[s - name - 1] = '\0';
+    return t;
+  }
+  s = strchr(name, ':');
+  if (s)
+  { struct Namespace *p = namespaces;
+    if (p)
+    { for (p += 6; p->id; p++)
+      { if (!strncmp(p->id, name, s - name) && !p->id[s - name])
+        { if (p->in && *p->in)
+            return p->in;
+          return p->ns;
+        }
+      }
+    }
+  }
+  return NULL;
+}
+
+// Find a C name for a QName. If the name has no qualifier, use URI. Suggest prefix for URI
+const char *Types::fname(const char *prefix, const char *URI, const char *qname, SetOfString *reserved, enum Lookup lookup, bool isqname)
+{ char buf[1024], *t;
+  const char *p, *s, *name;
+  if (!qname)
+  { fprintf(stream, "// Warning: internal error, no QName in fname()\n");
+    if (vflag)
+      fprintf(stderr, "Internal error, no QName in fname()\n");
+    qname = "?";
+  }
+  name = qname;
+  if (isqname)
+    s = strrchr(name, ':');
+  else
+    s = NULL;
+  if (s)
+  { name = s + 1;
+    if (qname[0] == '"' && qname[1] == '"')
+      s = NULL;
+    else if (*qname == '"')
+    { t = (char*)emalloc(s - qname - 1);
+      strncpy(t, qname + 1, s - qname - 2);
+      t[s - qname - 2] = '\0';
+      URI = t;
+    }
+    else if (!strncmp(qname, "xs:", 3))	// this hack is necessary since the nsmap table defines "xs" for "xsd"
+    { s = "xsd";
+      URI = NULL;
+    }
+    else
+    { t = (char*)emalloc(s - qname + 1);
+      strncpy(t, qname, s - qname);
+      t[s - qname] = '\0';
+      s = t;
+      URI = NULL;
+    }
+  }
+  if (URI)
+    p = nsprefix(prefix, URI);
+  else if (s)
+    p = s;
+  else
+    p = "";
+  s = NULL;
+  if (lookup == LOOKUP)
+  { if (qnames.find(Pair(p,name)) != qnames.end())
+      s = qnames[Pair(p,name)];
+  }
+  if (!s)
+  { t = buf;
+    if (!prefix || *prefix)
+    { s = p;
+      // no longer add '_' when URI != NULL, since nsprefix() will do this
+      if (prefix && *prefix == ':')
+        *t++ = ':';
+      else if (prefix && *prefix == '_')
+      { if (!URI)
+          *t++ = '_';
+        if (prefix[1] == '_') // ensures ns prefix starts with __
+        { strcpy(t, prefix + 1);
+          t += strlen(prefix + 1);
+        }
+      }
+      if (s && *s)
+      { for (; *s; s++)
+        { if (isalnum(*s))
+            *t++ = *s;
+          else if (*s == '-' && s[1] != '-' && s != p)
+            *t++ = '_';
+          else if (*s == '_')
+          { if (s == p)
+              *t++ = '_';
+            else if (!_flag)
+            { strcpy(t, "_USCORE");
+              t += 7;
+            }
+            else
+            { s = utf8(t, s);
+              t += 6;
+            }
+          }
+          else
+          { s = utf8(t, s);
+            t += 6;
+          }
+        }
+        if (!prefix || *prefix != '*')
+        { *t++ = '_';
+          *t++ = '_';
+        }
+      }
+      else if (isdigit(*name))
+        *t++ = '_';
+    }
+    for (s = name; *s; s++)
+    { if (isalnum(*s))
+        *t++ = *s;
+      else if (*s == '-' && s[1] != '-' && s[1] != '\0' && s != name)
+        *t++ = '_';
+      else if (!_flag && *s == '_')
+      { strcpy(t, "_USCORE");
+        t += 7;
+      }
+      else
+      { s = utf8(t, s);
+        t += 6;
+      }
+      if (t >= buf + sizeof(buf))
+        break;
+    }
+    *t = '\0';
+    while (knames.find(buf) != knames.end() || (reserved && reserved->find(buf) != reserved->end()))
+    { *t++ = '_';
+      *t = '\0';
+    }
+    if (isalpha(*buf) || *buf == '_' || *buf == ':')
+    { t = (char*)emalloc(strlen(buf) + 1);
+      strcpy(t, buf);
+    }
+    else
+    { t = (char*)emalloc(strlen(buf) + 2);
+      *t = '_';
+      strcpy(t + 1, buf);
+    }
+    if (lookup == LOOKUP)
+    { qnames[Pair(p,name)] = t;
+      if (vflag)
+      { cerr << "Mapping '" << p << ":" << name << "' to '" << t << "'" << endl;
+#ifdef DEBUG
+        for (MapOfPairToString::const_iterator i = qnames.begin(); i != qnames.end(); ++i)
+          cerr << "Map[" << (*i).first.first << ":" << (*i).first.second << "]='" << (*i).second << "'" << endl;
+#endif
+      }
+    }
+    s = t;
+  }
+  if (eqvtypemap.find(s) != eqvtypemap.end())
+    s = eqvtypemap[s];
+  return s;
+}
+
+bool Types::is_defined(const char *prefix, const char *URI, const char *qname)
+{ const char *t = fname(prefix, URI, qname, NULL, LOOKUP, true);
+  return usetypemap.find(t) != usetypemap.end();
+}
+
+const char *Types::aname(const char *prefix, const char *URI, const char *qname)
+{ return fname(prefix, URI, qname, NULL, NOLOOKUP, true);
+}
+
+const char *Types::cname(const char *prefix, const char *URI, const char *qname)
+{ return fname(prefix, URI, qname, NULL, LOOKUP, true);
+}
+
+const char *Types::tname(const char *prefix, const char *URI, const char *qname)
+{ const char *s, *t;
+  t = cname(prefix, URI, qname);
+  if (usetypemap.find(t) != usetypemap.end())
+  { s = usetypemap[t];
+    if (vflag)
+      cerr << "Mapping use of '" << t << "' to '" << s << "'" << endl;
+  }
+  else
+  { s = t;
+    fprintf(stream, "\n// Warning: undefined QName '%s' for type '%s' in namespace '%s' (FIXME: check WSDL and schema definitions)\n", qname?qname:"", t, URI?URI:"?");
+    if (vflag)
+      fprintf(stderr, "\nWarning: undefined QName '%s' for type '%s' in namespace '%s'\n", qname?qname:"", t, URI?URI:"?");
+  }
+  return s;
+}
+
+const char *Types::tnameptr(bool flag, const char *prefix, const char *URI, const char *qname)
+{ const char *s = pname(flag, prefix, URI, qname);
+  if (flag)
+  { if (!strncmp(s, "char*", 5))
+      return "char**";
+    if (!strchr(s, '*'))
+    { char *r = (char*)emalloc(strlen(s) + 2);
+      strcpy(r, s);
+      strcat(r, "*");
+      return r;
+    }
+  }
+  return s;
+}
+
+const char *Types::pname(bool flag, const char *prefix, const char *URI, const char *qname)
+{ const char *r, *s = NULL, *t;
+  t = cname(prefix, URI, qname);
+  if (flag)
+  { if (ptrtypemap.find(t) != ptrtypemap.end())
+      s = ptrtypemap[t];
+    else
+    { if (usetypemap.find(t) != usetypemap.end())
+        s = usetypemap[t];
+      if (!s)
+      { s = t;
+        fprintf(stream, "\n// Warning: undefined QName '%s' for pointer to type '%s' (FIXME: check WSDL and schema definitions)\n", qname, t);
+        if (vflag)
+          fprintf(stderr, "\nWarning: undefined QName '%s' for pointer to type '%s' in namespace '%s'\n", qname, t, URI?URI:"?");
+      }
+      r = s;
+      while (r && *r)
+      { r = strchr(r + 1, '*');
+        if (r && *(r-1) != '/' && *(r+1) != '/')
+          break;
+      }
+      if (!r)	// already pointer?
+      { char *p = (char*)emalloc(strlen(s) + 2);
+        strcpy(p, s);
+        strcat(p, "*");
+        s = p;
+      }
+      if (vflag)
+        cerr << "Mapping pointer to '" << t << "' to '" << s << "'" << endl;
+      ptrtypemap[t] = s;
+    }
+  }
+  else if (usetypemap.find(t) != usetypemap.end())
+    s = usetypemap[t];
+  else
+  { s = t;
+    fprintf(stream, "\n// Warning: undefined QName '%s' for type '%s' in namespace '%s' (FIXME: check WSDL and schema definitions)\n", qname, t, URI?URI:"?");
+    if (vflag)
+      fprintf(stderr, "\nWarning: undefined QName '%s' for type '%s' in namespace '%s'\n", qname, t, URI?URI:"?");
+  }
+  return s;
+}
+
+const char *Types::deftname(enum Type type, const char *pointer, bool is_pointer, const char *prefix, const char *URI, const char *qname)
+{ char buf[1024];
+  char *s;
+  const char *q = NULL, *t;
+  t = fname(prefix, URI, qname, NULL, LOOKUP, true);
+  if (deftypemap[t])
+  { if (vflag)
+      fprintf(stderr, "Name %s already defined (probably in %s file)\n", qname, mapfile);
+    return NULL;
+  }
+  if (usetypemap[t])
+  { if (vflag)
+      fprintf(stderr, "Name %s is mapped\n", qname);
+    return t;
+  }
+  switch (type)
+  { case ENUM:
+      q = "enum";
+      if (yflag)
+        knames.insert(t);
+      break;
+    case STRUCT:
+      q = "struct";
+      if (yflag)
+        knames.insert(t);
+      break;
+    case CLASS:
+    case TYPEDEF:
+      knames.insert(t);
+    default:
+      break;
+  }
+  if (q)
+  { strcpy(buf, q);
+    strcat(buf, " ");
+  }
+  else
+    buf[0] = '\0';
+  strcat(buf, t);
+  if (pointer)
+    strcat(buf, pointer);
+  s = (char*)emalloc(strlen(buf) + 1);
+  strcpy(s, buf);
+  usetypemap[t] = s;
+  if (pointer || is_pointer)
+    ptrtypemap[t] = s;
+  if (vflag)
+    cerr <<  "Defined '" << t << "' ('" << qname << "' in namespace '" << (URI?URI:prefix?prefix:"") << "') as '" << s << endl;
+  return t;
+}
+
+// get enumeration value. URI/type refers to the enum simpleType.
+const char *Types::ename(const char *type, const char *value, bool isqname)
+{ const char *s = enames[Pair(type,value)];
+  if (!s)
+  { s = fname(NULL, NULL, value, &rnames, NOLOOKUP, isqname);
+    if (!eflag && type && *type)
+    { // Add prefix to enum
+      if (!*s || (s[0] == '_' && s[1] == '\0'))
+        s = "_x0000";
+      char *buf = (char*)emalloc(strlen(type) + strlen(s) + 3);
+      // _xXXXX is OK here
+      if (s[0] == '_' && s[1] != 'x' && strncmp(s, "_USCORE", 7))
+        sprintf(buf, "%s_%s", type, s);
+      else
+        sprintf(buf, "%s__%s", type, s);
+      s = buf;
+    }
+    else
+      rnames.insert(s);
+    enames[Pair(type,value)] = s;
+  }
+  return s;
+}
+
+// get operation name
+const char *Types::oname(const char *prefix, const char *URI, const char *qname)
+{ const char *s = fname(prefix, URI, qname, NULL, LOOKUP, true);
+  if (s && usetypemap.find(s) != usetypemap.end())
+  { // Avoid name clash with structs/classes of the same name
+    onames.insert(s);
+  }
+  s = fname(prefix, URI, qname, &onames, NOLOOKUP, true);
+  onames.insert(s);
+  return s;
+}
+
+// generate struct name
+const char *Types::sname(const char *URI, const char *name)
+{ const char *s;
+  char *t;
+  if (!aflag && name)
+  { size_t len = 0;
+    for (VectorOfString::const_iterator i = scope.begin(); i != scope.end(); ++i)
+      len += strlen(*i) + 1;
+    t = (char*)emalloc(len + strlen(name) + 1);
+    *t = '\0';
+    for (VectorOfString::const_iterator j = scope.begin(); j != scope.end(); ++j)
+    { strcat(t, *j);
+      strcat(t, "-");
+    }
+    strcat(t, name);
+    s = fname("_", URI, t, &rnames, NOLOOKUP, true);
+    rnames.insert(s);
+  }
+  else if (URI)
+  { s = nsprefix(NULL, URI);
+    t = (char*)emalloc(strlen(s) + 16);
+    sprintf(t, "_%s__struct_%d", s, snum++);
+    s = t;
+  }
+  else
+  { t = (char*)emalloc(16);
+    sprintf(t, "struct_%d", snum++);
+    s = t;
+  }
+  return s;
+}
+
+// generate union name
+const char *Types::uname(const char *URI)
+{ const char *s;
+  char *t;
+  if (!aflag)
+  { size_t len = 0;
+    for (VectorOfString::const_iterator i = scope.begin(); i != scope.end(); ++i)
+      len += strlen(*i) + 1;
+    t = (char*)emalloc(len + 6);
+    strcpy(t, "union");
+    for (VectorOfString::const_iterator j = scope.begin(); j != scope.end(); ++j)
+    { strcat(t, "-");
+      strcat(t, *j);
+    }
+    s = fname("_", URI, t, &rnames, NOLOOKUP, true);
+    rnames.insert(s);
+  }
+  else if (URI)
+  { s = nsprefix(NULL, URI);
+    t = (char*)emalloc(strlen(s) + 16);
+    sprintf(t, "_%s__union_%d", s, unum++);
+    s = t;
+  }
+  else
+  { t = (char*)emalloc(16);
+    sprintf(t, "_union_%d", unum++);
+    s = t;
+  }
+  return s;
+}
+
+// generate enum name
+const char *Types::gname(const char *URI, const char *name)
+{ const char *s;
+  char *t;
+  if (!aflag && name)
+  { size_t len = 0;
+    for (VectorOfString::const_iterator i = scope.begin(); i != scope.end(); ++i)
+      len += strlen(*i) + 1;
+    t = (char*)emalloc(len + strlen(name) + 1);
+    *t = '\0';
+    for (VectorOfString::const_iterator j = scope.begin(); j != scope.end(); ++j)
+    { strcat(t, *j);
+      strcat(t, "-");
+    }
+    strcat(t, name);
+    s = fname("_", URI, t, &rnames, LOOKUP, true);
+    rnames.insert(s);
+  }
+  else if (URI)
+  { s = nsprefix(NULL, URI);
+    t = (char*)emalloc(strlen(s) + 16);
+    sprintf(t, "_%s__enum_%d", s, gnum++);
+    s = t;
+  }
+  else
+  { t = (char*)emalloc(16);
+    sprintf(t, "enum_%d", gnum++);
+    s = t;
+  }
+  return s;
+}
+
+// checks if nillable or minOccurs=0 (and no default value is present)
+bool Types::is_nillable(const xs__element& element)
+{ return !element.default_ && (element.nillable || (element.minOccurs && !strcmp(element.minOccurs, "0")));
+}
+
+bool Types::is_basetypeforunion(const char *prefix, const char *URI, const char *type)
+{ const char *t = tname(prefix, URI, type);
+  if (!strcmp(t, "std::string") || !strcmp(t, "std::wstring"))
+    return false;
+  return is_basetype(prefix, URI, type);
+}
+
+bool Types::is_basetype(const char *prefix, const char *URI, const char *type)
+{ const char *t = tname(prefix, URI, type);
+  if (!strncmp(t, "enum ", 5))
+    return true;
+  if (strstr(t, "__") && strcmp(t, "xsd__byte"))
+    return false;
+  return !strncmp(type, "xs:", 3) || !strncmp(type, "SOAP-ENC:", 9);
+}
+
+void Types::dump(FILE *fd)
+{ fprintf(fd, "\nTypes:\n");
+  for (MapOfStringToString::const_iterator i = usetypemap.begin(); i != usetypemap.end(); ++i)
+    fprintf(fd, "%s=%s\n", (*i).first, (*i).second?(*i).second:"(null)");
+  fprintf(fd, "\nPointers:\n");
+  for (MapOfStringToString::const_iterator j = ptrtypemap.begin(); j != ptrtypemap.end(); ++j)
+    fprintf(fd, "%s=%s\n", (*j).first, (*j).second?(*j).second:"(null)");
+}
+
+void Types::define(const char *URI, const char *name, const xs__complexType& complexType)
+{ // generate prototype for structs/classes and store name
+  const char *prefix = NULL;
+  if (complexType.name)
+    name = complexType.name;
+  else
+    prefix = "_";
+  if (complexType.complexContent
+   && complexType.complexContent->restriction
+   && !strcmp(complexType.complexContent->restriction->base, "SOAP-ENC:Array"))
+  { if (strcmp(schema_prefix, "ns"))
+      prefix = "*";
+    else
+      prefix = "";
+  }
+  if (cflag)
+  { const char *t = deftname(STRUCT, "*", true, prefix, URI, name);
+    if (t)
+    { if (yflag)
+        fprintf(stream, "\n/// Typedef synonym for struct %s.\ntypedef struct %s %s;\n", t, t, t);
+    }
+    else if (name)
+    { t = deftypemap[cname(prefix, URI, name)];
+      if (t)
+      { fprintf(stream, "\n/// Imported complexType \"%s\":%s from typemap %s.\n", URI, name, mapfile?mapfile:"");
+        document(complexType.annotation);
+        if (*t)
+          format(t);
+        else
+          fprintf(stream, "// complexType definition intentionally left blank.\n");
+      }
+    }
+  }
+  else 
+  { const char *t = deftname(CLASS, "*", true, prefix, URI, name);
+    if (t)
+      fprintf(stream, "\n//  Forward declaration of class %s.\nclass %s;\n", t, t);
+    else if (name)
+    { t = deftypemap[cname(prefix, URI, name)];
+      if (t)
+      { fprintf(stream, "\n/// Imported complexType \"%s\":%s from typemap %s.\n", URI, name, mapfile?mapfile:"");
+        document(complexType.annotation);
+        if (*t)
+          format(t);
+        else
+          fprintf(stream, "// complexType definition intentionally left blank.\n");
+      }
+    }
+  }
+}
+
+void Types::gen(const char *URI, const char *name, const xs__simpleType& simpleType, bool anonymous)
+{ const char *t = NULL;
+  const char *prefix = NULL;
+  if (simpleType.name)
+    name = simpleType.name;
+  else
+    prefix = "_";
+  if (!anonymous)
+  { t = deftypemap[cname(NULL, URI, name)];
+    if (t)
+    { fprintf(stream, "\n/// Imported simpleType \"%s\":%s from typemap %s.\n", URI, name, mapfile?mapfile:"");
+      document(simpleType.annotation);
+      if (*t)
+        format(t);
+      else
+        fprintf(stream, "// simpleType definition intentionally left blank.\n");
+      return;
+    }
+  }
+  if (simpleType.restriction)
+  { const char *base = simpleType.restriction->base;
+    if (!base && simpleType.restriction->simpleType)
+    { if (!anonymous)
+      { if (simpleType.restriction->simpleType->list && simpleType.restriction->length && simpleType.restriction->length->value)
+        { fprintf(stream, "\n/// \"%s\":%s is a simpleType restriction list with length %s.", URI?URI:"", name, simpleType.restriction->length->value);
+          document(simpleType.restriction->length->annotation);
+        }
+        else
+          fprintf(stream, "\n/// \"%s\":%s is a simpleType restriction.", URI?URI:"", name);
+      }
+      gen(URI, name, *simpleType.restriction->simpleType, anonymous);
+    }
+    else
+    { if (!base)
+        base = "xsd:string";
+      const char *baseURI = NULL;
+      if (simpleType.restriction->simpleTypePtr() && simpleType.restriction->simpleTypePtr()->schemaPtr())
+        baseURI = simpleType.restriction->simpleTypePtr()->schemaPtr()->targetNamespace;
+      if (!anonymous)
+        fprintf(stream, "\n/// \"%s\":%s is a simpleType restriction of %s.\n", URI?URI:"", name, base);
+      document(simpleType.annotation);
+      document(simpleType.restriction->annotation);
+      if (!simpleType.restriction->enumeration.empty())
+      { bool is_numeric = true; // check if all enumeration values are numeric
+        bool is_qname = !strcmp(base, "xs:QName");
+        if (!anonymous)
+        { t = deftname(ENUM, NULL, false, prefix, URI, name);
+          if (t && !eflag)
+            fprintf(stream, "/// Note: enum values are prefixed with '%s' to avoid name clashes, please use wsdl2h option -e to omit this prefix\n", t);
+        }
+        if (!t)
+          t = gname(URI, name);
+        if (!anonymous)
+          fprintf(stream, "enum %s\n{\n", t);
+        else
+          fprintf(stream, "    enum %s\n    {\n", t);
+        for (vector<xs__enumeration>::const_iterator enumeration1 = simpleType.restriction->enumeration.begin(); enumeration1 != simpleType.restriction->enumeration.end(); ++enumeration1)
+        { const char *s;
+          if ((s = (*enumeration1).value))
+            is_numeric &= is_integer(s);
+        }
+        SetOfString enumvals;
+        for (vector<xs__enumeration>::const_iterator enumeration2 = simpleType.restriction->enumeration.begin(); enumeration2 != simpleType.restriction->enumeration.end(); ++enumeration2)
+        { const char *s;
+          document((*enumeration2).annotation);
+          if ((s = (*enumeration2).value))
+          { if (!enumvals.count(s))
+            { enumvals.insert(s);
+              if (is_numeric)
+                fprintf(stream, "\t%s = %s,\t///< %s value=\"%s\"\n", ename(t, s, false), s, base, s);
+              else if (is_qname && (*enumeration2).value_)
+                fprintf(stream, "\t%s,\t///< %s value=\"%s\"\n", ename(t, (*enumeration2).value_, true), base, (*enumeration2).value_);
+              else
+                fprintf(stream, "\t%s,\t///< %s value=\"%s\"\n", ename(t, s, false), base, s);
+            }
+          }
+          else
+            fprintf(stream, "//\tunrecognized: enumeration '%s' has no value\n", name?name:"");
+        }
+        if (!anonymous)
+        { fprintf(stream, "};\n");
+          if (yflag)
+            fprintf(stream, "/// Typedef synonym for enum %s.\ntypedef enum %s %s;\n", t, t, t);
+          if (pflag && simpleType.name)
+          { const char *s = aname(prefix, URI, name);
+            knames.insert(s);
+            s = aname(prefix, URI, name);
+            fprintf(stream, "\n/// Class wrapper\n");
+            fprintf(stream, "class %s : public xsd__anyType\n{ public:\n", s);
+            fprintf(stream, elementformat, tname(prefix, URI, name), "__item;");
+            modify(s);
+            fprintf(stream, "\n};\n");
+          }
+        }
+        else
+          fprintf(stream, "    }\n");
+      }
+      else
+      { if (simpleType.restriction->length && simpleType.restriction->length->value)
+        { fprintf(stream, "/// Length of this string is exactly %s characters\n", simpleType.restriction->length->value);
+          document(simpleType.restriction->length->annotation);
+        }
+        else
+        { const char *a = NULL, *b = NULL;
+          if (simpleType.restriction->minLength)
+          { a = simpleType.restriction->minLength->value;
+            document(simpleType.restriction->minLength->annotation);
+          }
+          if (simpleType.restriction->maxLength)
+          { b = simpleType.restriction->maxLength->value;
+            document(simpleType.restriction->maxLength->annotation);
+          }
+          if (a || b)
+            fprintf(stream, "/// Length of this string is within %s..%s characters\n", a?a:"0", b?b:"");
+        }
+        if (simpleType.restriction->precision && simpleType.restriction->precision->value)
+          fprintf(stream, "/// %sprecision is %s (note: not automatically enforced)\n", simpleType.restriction->precision->fixed?"fixed ":"", simpleType.restriction->precision->value);
+        if (simpleType.restriction->scale && simpleType.restriction->scale->value)
+          fprintf(stream, "/// %sscale is %s (note: not automatically enforced)\n", simpleType.restriction->scale->fixed?"fixed ":"", simpleType.restriction->scale->value);
+        if (simpleType.restriction->totalDigits && simpleType.restriction->totalDigits->value)
+          fprintf(stream, "/// %snumber of total digits is %s (note: not automatically enforced)\n", simpleType.restriction->totalDigits->fixed?"fixed ":"", simpleType.restriction->totalDigits->value);
+        if (simpleType.restriction->fractionDigits && simpleType.restriction->fractionDigits->value)
+          fprintf(stream, "/// %snumber of fraction digits is %s (note: not automatically enforced)\n", simpleType.restriction->fractionDigits->fixed?"fixed ":"", simpleType.restriction->fractionDigits->value);
+        for (vector<xs__pattern>::const_iterator pattern1 = simpleType.restriction->pattern.begin(); pattern1 != simpleType.restriction->pattern.end(); ++pattern1)
+          fprintf(stream, "/// Content pattern is \"%s\" (note: not automatically enforced)\n", xstring((*pattern1).value));
+        const char *ai = NULL, *ae = NULL, *bi = NULL, *be = NULL;
+        if (simpleType.restriction->minInclusive)
+        { ai = simpleType.restriction->minInclusive->value;
+          document(simpleType.restriction->minInclusive->annotation);
+        }
+        else if (simpleType.restriction->minExclusive)
+        { ae = simpleType.restriction->minExclusive->value;
+          document(simpleType.restriction->minExclusive->annotation);
+        }
+        if (simpleType.restriction->maxInclusive)
+        { bi = simpleType.restriction->maxInclusive->value;
+          document(simpleType.restriction->maxInclusive->annotation);
+        }
+        else if (simpleType.restriction->maxExclusive)
+        { be = simpleType.restriction->maxExclusive->value;
+          document(simpleType.restriction->maxExclusive->annotation);
+        }
+        if (ai || ae || bi || be)
+        { fprintf(stream, "/// Value range is ");
+          if (ai)
+            fprintf(stream, "[%s..", ai);
+          else if (ae)
+            fprintf(stream, "(%s..", ae);
+          else
+            fprintf(stream, "[..");
+          if (bi)
+            fprintf(stream, "%s]\n", bi);
+          else if (be)
+            fprintf(stream, "%s)\n", be);
+          else
+            fprintf(stream, "]\n");
+        }
+        if (!simpleType.restriction->attribute.empty())
+        { if (!Wflag)
+            fprintf(stderr, "\nWarning: simpleType '%s' should not have attributes\n", name?name:"");
+        }
+        const char *s = tname(NULL, baseURI, base);
+        if (!anonymous)
+        { bool is_ptr = false;
+          is_ptr = (strchr(s, '*') != NULL) || (s == pname(true, NULL, baseURI, base));
+          t = deftname(TYPEDEF, NULL, is_ptr, prefix, URI, name);
+          if (t)
+            fprintf(stream, "typedef %s %s", s, t);
+        }
+        else
+        { t = "";
+          fprintf(stream, elementformat, s, "");
+          fprintf(stream, "\n");
+        }
+        if (t)
+        { if (!anonymous && !simpleType.restriction->pattern.empty())
+          { fprintf(stream, " \"");
+            for (vector<xs__pattern>::const_iterator pattern2 = simpleType.restriction->pattern.begin(); pattern2 != simpleType.restriction->pattern.end(); ++pattern2)
+            { if (pattern2 != simpleType.restriction->pattern.begin())
+                fprintf(stream, "|");
+              fprintf(stream, "%s", xstring((*pattern2).value));
+            }
+            fprintf(stream, "\"");
+          }
+          // add range info only when type is numeric
+          bool is_numeric = false, is_float = false;
+          if (!strncmp(s, "unsigned ", 9))
+            s += 9;
+          else if (!strncmp(s, "xsd__unsigned", 13))
+            s += 13;
+          else if (!strncmp(s, "xsd__", 5))
+            s += 5;
+          if (!strcmp(s, "double")
+           || !strcmp(s, "float"))
+            is_numeric = is_float = true;
+          else if (!strcmp(s, "bool")
+           || !strcmp(s, "byte")
+           || !strcmp(s, "Byte")
+           || !strcmp(s, "char")
+           || !strcmp(s, "double")
+           || !strcmp(s, "float")
+           || !strcmp(s, "int")
+           || !strcmp(s, "Int")
+           || !strcmp(s, "long")
+           || !strcmp(s, "Long")
+           || !strcmp(s, "LONG64")
+           || !strcmp(s, "short")
+           || !strcmp(s, "Short")
+           || !strcmp(s, "ULONG64"))
+            is_numeric = true;
+          if (!anonymous
+           && simpleType.restriction->minLength
+           && simpleType.restriction->minLength->value)
+            fprintf(stream, " %s", simpleType.restriction->minLength->value);
+          else if (is_numeric
+                && !anonymous
+                && simpleType.restriction->minInclusive
+                && simpleType.restriction->minInclusive->value
+                && is_integer(simpleType.restriction->minInclusive->value))
+            fprintf(stream, " %s", simpleType.restriction->minInclusive->value);
+          else if (is_float
+                && !anonymous
+                && simpleType.restriction->minExclusive
+                && simpleType.restriction->minExclusive->value
+                && is_integer(simpleType.restriction->minExclusive->value))
+            fprintf(stream, " %s", simpleType.restriction->minExclusive->value);
+          else if (is_numeric
+                && !anonymous
+                && simpleType.restriction->minExclusive
+                && simpleType.restriction->minExclusive->value
+                && is_integer(simpleType.restriction->minExclusive->value))
+            fprintf(stream, " " SOAP_LONG_FORMAT, to_integer(simpleType.restriction->minExclusive->value)+1);
+          if (!anonymous
+           && simpleType.restriction->maxLength
+           && simpleType.restriction->maxLength->value)
+            fprintf(stream, ":%s", simpleType.restriction->maxLength->value);
+          else if (is_numeric
+                && !anonymous
+                && simpleType.restriction->maxInclusive
+                && simpleType.restriction->maxInclusive->value
+                && is_integer(simpleType.restriction->maxInclusive->value))
+            fprintf(stream, ":%s", simpleType.restriction->maxInclusive->value);
+          else if (is_float
+                && !anonymous
+                && simpleType.restriction->maxExclusive
+                && simpleType.restriction->maxExclusive->value
+                && is_integer(simpleType.restriction->maxExclusive->value))
+            fprintf(stream, ":%s", simpleType.restriction->maxExclusive->value);
+          else if (is_numeric
+                && !anonymous
+                && simpleType.restriction->maxExclusive
+                && simpleType.restriction->maxExclusive->value
+                && is_integer(simpleType.restriction->maxExclusive->value))
+            fprintf(stream, ":" SOAP_LONG_FORMAT, to_integer(simpleType.restriction->maxExclusive->value)-1);
+          if (!anonymous)
+          { fprintf(stream, ";\n");
+            if (pflag && simpleType.name)
+            { const char *s = aname(prefix, URI, name);
+              knames.insert(s);
+              s = aname(prefix, URI, name);
+              fprintf(stream, "\n/// Class wrapper\n");
+              fprintf(stream, "class %s : public xsd__anyType\n{ public:\n", s);
+              fprintf(stream, elementformat, tname(prefix, URI, name), "__item;");
+              modify(s);
+              fprintf(stream, "\n};\n");
+            }
+          }
+        }
+      }
+    }
+  }
+  else if (simpleType.list)
+  { if (simpleType.list->restriction && simpleType.list->restriction->base)
+    { if (!anonymous)
+      { fprintf(stream, "\n/// \"%s\":%s is a simpleType list restriction of %s.\n", URI?URI:"", name, simpleType.list->restriction->base);
+        fprintf(stream, "/// Note: this enumeration is a bitmask, so a set of values is supported (using | and & bit-ops on the bit vector).\n");
+      }
+      document(simpleType.annotation);
+      if (!anonymous)
+      { t = deftname(ENUM, NULL, false, prefix, URI, name);
+        if (t)
+          fprintf(stream, "enum * %s\n{\n", t);
+      }
+      else
+      { t = "";
+        fprintf(stream, "enum *\n{\n");
+      }
+      if (t)
+      { for (vector<xs__enumeration>::const_iterator enumeration = simpleType.list->restriction->enumeration.begin(); enumeration != simpleType.list->restriction->enumeration.end(); ++enumeration)
+        { if ((*enumeration).value)
+          { if (!strcmp(simpleType.list->restriction->base, "xs:QName") && (*enumeration).value_)
+              fprintf(stream, "\t%s,\t///< %s value=\"%s\"\n", ename(t, (*enumeration).value_, true), simpleType.list->restriction->base, (*enumeration).value_);
+            else
+              fprintf(stream, "\t%s,\t///< %s value=\"%s\"\n", ename(t, (*enumeration).value, false), simpleType.list->restriction->base, (*enumeration).value);
+          }
+          else
+            fprintf(stream, "//\tunrecognized: bitmask enumeration '%s' has no value\n", t);
+        }
+        if (!anonymous)
+        { fprintf(stream, "};\n");
+          if (yflag)
+            fprintf(stream, "/// Typedef synonym for enum %s.\ntypedef enum %s %s;\n", t, t, t);
+          if (pflag && simpleType.name)
+          { const char *s = aname(prefix, URI, name);
+            knames.insert(s);
+            s = aname(prefix, URI, name);
+            fprintf(stream, "\n/// Class wrapper\n");
+            fprintf(stream, "class %s : public xsd__anyType\n{ public:\n", s);
+            fprintf(stream, elementformat, tname(prefix, URI, name), "__item;");
+            modify(s);
+            fprintf(stream, "\n};\n");
+          }
+        }
+        else
+          fprintf(stream, "}\n");
+      }
+    }
+    else if (simpleType.list->itemType)
+    { const xs__simpleType *p = simpleType.list->itemTypePtr();
+      if (p
+       && p->restriction
+       && p->restriction->base
+       && !p->restriction->enumeration.empty()
+       && p->restriction->enumeration.size() <= 64)
+      { if (!anonymous)
+        { fprintf(stream, "\n/// \"%s\":%s is a simpleType list of %s.\n", URI?URI:"", name, simpleType.list->itemType);
+          fprintf(stream, "/// Note: this enumeration is a bitmask, so a set of values is supported (using | and & bit-ops on the bit vector).\n");
+        }
+        document(simpleType.annotation);
+        if (!anonymous)
+        { t = deftname(ENUM, NULL, false, prefix, URI, name);
+          if (t)
+            fprintf(stream, "enum * %s\n{\n", t);
+        }
+        else
+        { t = "";
+          fprintf(stream, "enum *\n{\n");
+        }
+        if (t)
+        { for (vector<xs__enumeration>::const_iterator enumeration = p->restriction->enumeration.begin(); enumeration != p->restriction->enumeration.end(); ++enumeration)
+          { if ((*enumeration).value)
+            { if (!strcmp(p->restriction->base, "xs:QName") && (*enumeration).value_)
+                fprintf(stream, "\t%s,\t///< %s value=\"%s\"\n", ename(t, (*enumeration).value_, true), p->restriction->base, (*enumeration).value_);
+              else
+                fprintf(stream, "\t%s,\t///< %s value=\"%s\"\n", ename(t, (*enumeration).value, false), p->restriction->base, (*enumeration).value);
+            }
+            else
+              fprintf(stream, "//\tunrecognized: bitmask enumeration '%s' has no value\n", t);
+          }
+          if (!anonymous)
+          { fprintf(stream, "};\n");
+            if (yflag)
+              fprintf(stream, "/// Typedef synonym for enum %s.\ntypedef enum %s %s;\n", t, t, t);
+            if (pflag && simpleType.name)
+            { const char *s = aname(prefix, URI, name);
+              knames.insert(s);
+              s = aname(prefix, URI, name);
+              fprintf(stream, "\n/// Class wrapper.\n");
+              fprintf(stream, "class %s : public xsd__anyType\n{ public:\n", s);
+              fprintf(stream, elementformat, tname(prefix, URI, name), "__item;");
+              modify(s);
+              fprintf(stream, "\n};\n");
+            }
+          }
+          else
+            fprintf(stream, "}\n");
+        }
+      }
+      else
+      { const char *s;
+        if (!strcmp(simpleType.list->itemType, "xs:QName"))
+          s = tname(NULL, NULL, "xsd:QName");
+        else
+          s = tname(NULL, NULL, "xsd:string");
+        if (!anonymous)
+        { fprintf(stream, "\n/// \"%s\":%s is a simpleType containing a whitespace separated list of %s.\n", URI?URI:"", name, simpleType.list->itemType);
+          t = deftname(TYPEDEF, NULL, strchr(s, '*') != NULL, prefix, URI, name);
+        }
+        document(simpleType.annotation);
+        if (t)
+          fprintf(stream, "typedef %s %s;\n", s, t);
+        else
+        { fprintf(stream, elementformat, s, "");
+          fprintf(stream, "\n");
+        }
+      }
+    }
+    else
+    { if (!anonymous)
+      { fprintf(stream, "\n/// \"%s\":%s is a simpleType list.\n", URI?URI:"", name);
+        fprintf(stream, "/// Note: this enumeration is a bitmask, so a set of values is supported (using | and & bit-ops on the bit vector).\n");
+      }
+      document(simpleType.annotation);
+      if (!anonymous)
+      { t = deftname(ENUM, NULL, false, prefix, URI, name);
+        if (t && !eflag)
+          fprintf(stream, "/// Note: enum values are prefixed with '%s' to avoid name clashes, please use wsdl2h option -e to omit this prefix\n", t);
+      }
+      else
+        t = "";
+      if (t)
+      { fprintf(stream, "enum * %s\n{\n", t);
+        for (vector<xs__simpleType>::const_iterator simple = simpleType.list->simpleType.begin(); simple != simpleType.list->simpleType.end(); ++simple)
+        { if ((*simple).restriction && (*simple).restriction->base)
+          { for (vector<xs__enumeration>::const_iterator enumeration = (*simple).restriction->enumeration.begin(); enumeration != (*simple).restriction->enumeration.end(); ++enumeration)
+            { if ((*enumeration).value)
+              { if (!strcmp((*simple).restriction->base, "xs:QName") && (*enumeration).value_)
+                  fprintf(stream, "\t%s,\t///< %s value=\"%s\"\n", ename(t, (*enumeration).value_, true), (*simple).restriction->base, (*enumeration).value_);
+                else
+                  fprintf(stream, "\t%s,\t///< %s value=\"%s\"\n", ename(t, (*enumeration).value, false), (*simple).restriction->base, (*enumeration).value);
+              }
+              else
+                fprintf(stream, "//\tunrecognized: bitmask enumeration '%s' has no value\n", t);
+            }
+          }
+        }
+        if (!anonymous)
+        { fprintf(stream, "};\n");
+          if (yflag)
+            fprintf(stream, "/// Typedef synonym for enum %s.\ntypedef enum %s %s;\n", t, t, t);
+          if (pflag && simpleType.name)
+          { const char *s = aname(prefix, URI, name);
+            knames.insert(s);
+            s = aname(prefix, URI, name);
+            fprintf(stream, "\n/// Class wrapper.\n");
+            fprintf(stream, "class %s : public xsd__anyType\n{ public:\n", s);
+            fprintf(stream, elementformat, tname(prefix, URI, name), "__item;");
+            modify(s);
+            fprintf(stream, "\n};\n");
+          }
+        }
+        else
+          fprintf(stream, "}\n");
+      }
+    }
+  }
+  else if (simpleType.union_)
+  { if (simpleType.union_->memberTypes)
+    { const char *s = tname(NULL, NULL, "xsd:string");
+      if (!anonymous)
+        t = deftname(TYPEDEF, NULL, strchr(s, '*') != NULL, prefix, URI, name);
+      fprintf(stream, "\n/// union of values \"%s\"\n", simpleType.union_->memberTypes);
+      if (t)
+        fprintf(stream, "typedef %s %s;\n", s, t);
+      else
+      { fprintf(stream, elementformat, s, "");
+        fprintf(stream, "\n");
+      }
+    }
+    else if (!simpleType.union_->simpleType.empty())
+    { const char *s = tname(NULL, NULL, "xsd:string");
+      fprintf(stream, "\n");
+      if (!anonymous)
+        t = deftname(TYPEDEF, NULL, strchr(s, '*') != NULL, prefix, URI, name);
+      for (vector<xs__simpleType>::const_iterator simpleType1 = simpleType.union_->simpleType.begin(); simpleType1 != simpleType.union_->simpleType.end(); ++simpleType1)
+        if ((*simpleType1).restriction)
+        { fprintf(stream, "/// union of values from \"%s\"\n", (*simpleType1).restriction->base);
+          // TODO: are there any other types we should report here?
+        }
+      if (t)
+        fprintf(stream, "typedef %s %s;\n", s, t);
+      else
+      { fprintf(stream, elementformat, s, "");
+        fprintf(stream, "\n");
+      }
+    }
+    else
+      fprintf(stream, "//\tunrecognized\n");
+  }
+  else
+    fprintf(stream, "//\tunrecognized simpleType\n");
+}
+
+void Types::gen(const char *URI, const char *name, const xs__complexType& complexType, bool anonymous)
+{ const char *t = NULL;
+  const char *prefix = NULL;
+  bool soapflag = false;
+  if (complexType.name)
+    name = complexType.name;
+  else
+    prefix = "_";
+  if (anonymous && name)
+    t = sname(URI, name);
+  else if (name)
+  { t = cname(prefix, URI, name);
+    if (deftypemap[t])
+      return;
+  }
+  if (name)
+    scope.push_back(name);
+  if (complexType.simpleContent)
+  { if (!anonymous)
+      fprintf(stream, "\n/// \"%s\":%s is a%s complexType with simpleContent.\n", URI?URI:"", name, complexType.abstract?"n abstract":"");
+    document(complexType.annotation);
+    operations(t);
+    if (complexType.simpleContent->restriction)
+    { if (anonymous)
+      { if (cflag)
+          fprintf(stream, "    struct %s\n    {\n", t);
+        else
+          fprintf(stream, "    class %s\n    {\n", t);
+      }
+      else if (cflag)
+        fprintf(stream, "struct %s\n{\n", t);
+      else if (pflag && complexType.name)
+        fprintf(stream, "class %s : public xsd__anyType\n{ public:\n", t);
+      else
+        fprintf(stream, "class %s\n{ public:\n", t);
+      const char *base = "xs:string";
+      const char *baseURI = NULL;
+      const xs__complexType *p = &complexType; 
+      do
+      { if (!p->simpleContent)
+          break;
+        if (p->simpleContent->restriction)
+        { if (p->simpleContent->restriction->complexTypePtr())
+            p = p->simpleContent->restriction->complexTypePtr();
+          else
+          { base = p->simpleContent->restriction->base;   
+            if (p->simpleContent->restriction->simpleTypePtr() && p->simpleContent->restriction->simpleTypePtr()->schemaPtr())
+              baseURI = p->simpleContent->restriction->simpleTypePtr()->schemaPtr()->targetNamespace;
+            break;
+          }
+        }
+        else if (p->simpleContent->extension)
+        { if (p->simpleContent->extension->complexTypePtr())
+            p = p->simpleContent->extension->complexTypePtr();
+          else
+          { base = p->simpleContent->extension->base;   
+            if (p->simpleContent->extension->simpleTypePtr() && p->simpleContent->extension->simpleTypePtr()->schemaPtr())
+              baseURI = p->simpleContent->extension->simpleTypePtr()->schemaPtr()->targetNamespace;
+            break;
+          }
+        }
+        else
+          break;
+      }
+      while (p);
+      fprintf(stream, "/// __item wraps '%s' simpleContent.\n", base);
+      fprintf(stream, elementformat, tname(NULL, baseURI, base), "__item");
+      fprintf(stream, ";\n");
+      p = &complexType; 
+      bool flag = true;
+      do
+      { if (!p->simpleContent)
+          break;
+        if (p->simpleContent->restriction)
+        { // TODO: should only generate attribute when name is different?
+          gen(URI, p->simpleContent->restriction->attribute);
+          if (p->simpleContent->restriction->anyAttribute && flag)
+          { gen(URI, *p->simpleContent->restriction->anyAttribute);
+            flag = false;
+          }
+          if (p->simpleContent->restriction->complexTypePtr())
+            p = p->simpleContent->restriction->complexTypePtr();
+          else
+            break;
+        }
+        else if (p->simpleContent->extension)
+        { gen(URI, p->simpleContent->extension->attribute);
+          gen(URI, p->simpleContent->extension->attributeGroup);
+          if (p->simpleContent->extension->anyAttribute && flag)
+          { gen(URI, *p->simpleContent->extension->anyAttribute);
+            flag = false;
+          }
+          if (p->simpleContent->extension->complexTypePtr())
+            p = p->simpleContent->extension->complexTypePtr();
+          else
+            break;
+        }
+        else
+          break;
+      }
+      while (p);
+    }
+    else if (complexType.simpleContent->extension)
+    { const char *base = "xs:string";
+      const char *baseURI = NULL;
+      if (cflag || fflag || anonymous)
+      { if (anonymous)
+        { if (cflag)
+            fprintf(stream, "    struct %s\n    {\n", t);
+          else
+            fprintf(stream, "    class %s\n    {\n", t);
+        }
+        else if (cflag)
+          fprintf(stream, "struct %s\n{\n", t);
+        else if (pflag && complexType.name)
+          fprintf(stream, "class %s : public xsd__anyType\n{ public:\n", t);
+        else
+          fprintf(stream, "class %s\n{ public:\n", t);
+        const xs__complexType *p = &complexType; 
+        do
+        { if (!p->simpleContent)
+            break;
+          if (p->simpleContent->restriction)
+          { if (p->simpleContent->restriction->complexTypePtr())
+              p = p->simpleContent->restriction->complexTypePtr();
+            else
+            { base = p->simpleContent->restriction->base;   
+              if (p->simpleContent->restriction->simpleTypePtr() && p->simpleContent->restriction->simpleTypePtr()->schemaPtr())
+                baseURI = p->simpleContent->restriction->simpleTypePtr()->schemaPtr()->targetNamespace;
+              break;
+            }
+          }
+          else if (p->simpleContent->extension)
+          { if (p->simpleContent->extension->complexTypePtr())
+              p = p->simpleContent->extension->complexTypePtr();
+            else
+            { base = p->simpleContent->extension->base;   
+              if (p->simpleContent->extension->simpleTypePtr() && p->simpleContent->extension->simpleTypePtr()->schemaPtr())
+                baseURI = p->simpleContent->extension->simpleTypePtr()->schemaPtr()->targetNamespace;
+              break;
+            }
+          }
+          else
+            break;
+        }
+        while (p);
+        fprintf(stream, "/// __item wraps '%s' simpleContent.\n", base);
+        fprintf(stream, elementformat, tname(NULL, baseURI, base), "__item");
+        fprintf(stream, ";\n");
+        p = &complexType; 
+        bool flag = true;
+        do
+        { if (!p->simpleContent)
+            break;
+          if (p->simpleContent->restriction)
+          { gen(URI, p->simpleContent->restriction->attribute);
+            if (p->simpleContent->restriction->anyAttribute && flag)
+              gen(URI, *p->simpleContent->restriction->anyAttribute);
+            break;
+          }
+          else if (p->simpleContent->extension)
+          { gen(URI, p->simpleContent->extension->attribute);
+            gen(URI, p->simpleContent->extension->attributeGroup);
+            if (p->simpleContent->extension->anyAttribute && flag)
+            { gen(URI, *p->simpleContent->extension->anyAttribute);
+              flag = false;
+            }
+            if (p->simpleContent->extension->complexTypePtr())
+              p = p->simpleContent->extension->complexTypePtr();
+            else
+              break;
+          }
+          else
+            break;
+        }
+        while (p);
+      }
+      else
+      { base = complexType.simpleContent->extension->base;
+        if (
+        /* TODO: in future, may want to add check here for base type == class
+          complexType.simpleContent->extension->simpleTypePtr()
+          ||
+        */
+          complexType.simpleContent->extension->complexTypePtr())
+        { if (complexType.simpleContent->extension->complexTypePtr()->schemaPtr())
+            baseURI = complexType.simpleContent->extension->complexTypePtr()->schemaPtr()->targetNamespace;
+          fprintf(stream, "class %s : public %s\n{ public:\n", t, cname(NULL, baseURI, base));
+          soapflag = true;
+        }
+        else
+        { if (complexType.simpleContent->extension->simpleTypePtr() && complexType.simpleContent->extension->simpleTypePtr()->schemaPtr())
+            baseURI = complexType.simpleContent->extension->simpleTypePtr()->schemaPtr()->targetNamespace;
+          else if (complexType.simpleContent->extension->complexTypePtr() && complexType.simpleContent->extension->complexTypePtr()->schemaPtr())
+            baseURI = complexType.simpleContent->extension->complexTypePtr()->schemaPtr()->targetNamespace;
+          if (pflag && complexType.name)
+            fprintf(stream, "class %s : public xsd__anyType\n{ public:\n", t);
+          else
+            fprintf(stream, "class %s\n{ public:\n", t);
+          fprintf(stream, "/// __item wraps '%s' simpleContent.\n", base);
+          fprintf(stream, elementformat, tname(NULL, baseURI, base), "__item");
+          fprintf(stream, ";\n");
+        }
+        gen(URI, complexType.simpleContent->extension->attribute);
+        gen(URI, complexType.simpleContent->extension->attributeGroup);
+        if (complexType.simpleContent->extension->anyAttribute)
+          gen(URI, *complexType.simpleContent->extension->anyAttribute);
+      }
+    }
+    else
+      fprintf(stream, "//\tunrecognized\n");
+  }
+  else if (complexType.complexContent)
+  { if (complexType.complexContent->restriction)
+    { if (!anonymous)
+        fprintf(stream, "\n/// \"%s\":%s is a%s complexType with complexContent restriction of %s.\n", URI?URI:"", name, complexType.abstract?"n abstract":"", complexType.complexContent->restriction->base);
+      document(complexType.annotation);
+      operations(t);
+      if (!strcmp(complexType.complexContent->restriction->base, "SOAP-ENC:Array"))
+      { char *item = NULL, *type = NULL;
+        if (!complexType.complexContent->restriction->attribute.empty())
+        { xs__attribute& attribute = complexType.complexContent->restriction->attribute.front();
+          if (attribute.wsdl__arrayType)
+            type = attribute.wsdl__arrayType;
+        }
+        xs__seqchoice *s = complexType.complexContent->restriction->sequence;
+        if (s
+         && !s->__contents.empty()
+         && s->__contents.front().__union == SOAP_UNION_xs__union_content_element
+         && s->__contents.front().__content.element)
+        { xs__element& element = *s->__contents.front().__content.element;
+          if (!type)
+          { if (element.type)
+              type = element.type;
+            else if (element.simpleTypePtr())
+            { if (element.simpleTypePtr()->name)
+                type = element.simpleTypePtr()->name;
+              else if (element.simpleTypePtr()->restriction)
+                type = element.simpleTypePtr()->restriction->base;
+            }
+            else if (element.complexTypePtr())
+            { if (element.complexTypePtr()->name)
+                type = element.complexTypePtr()->name;
+              else if (element.complexTypePtr()->complexContent && element.complexTypePtr()->complexContent->restriction)
+                type = element.complexTypePtr()->complexContent->restriction->base;
+            }
+          }
+          item = element.name; // <sequence><element name="item" type="..."/></sequence>
+        }
+        gen_soap_array(name, t, item, type);
+      }
+      else
+      { if (anonymous)
+        { if (cflag)
+            fprintf(stream, "    struct %s\n    {\n", t);
+          else
+            fprintf(stream, "    class %s\n    {\n", t);
+        }
+        else if (cflag)
+          fprintf(stream, "struct %s\n{\n", t);
+        else if (pflag && complexType.name)
+          fprintf(stream, "class %s : public xsd__anyType\n{ public:\n", t);
+        else
+          fprintf(stream, "class %s\n{ public:\n", t);
+        if (complexType.complexContent->restriction->group)
+          gen(URI, *complexType.complexContent->restriction->group, NULL, NULL);
+        if (complexType.complexContent->restriction->all)
+          gen(URI, *complexType.complexContent->restriction->all, NULL, NULL);
+        if (complexType.complexContent->restriction->sequence)
+          gen(URI, *complexType.complexContent->restriction->sequence, NULL, NULL);
+        if (complexType.complexContent->restriction->choice)
+          gen(URI, name, *complexType.complexContent->restriction->choice, NULL, NULL);
+        gen(URI, complexType.complexContent->restriction->attribute);
+	bool flag = true;
+        if (complexType.complexContent->restriction->anyAttribute)
+        { gen(URI, *complexType.complexContent->restriction->anyAttribute);
+	  flag = false;
+	}
+        const xs__complexType *p = complexType.complexContent->restriction->complexTypePtr();
+        while (p)
+        { const char *pURI;
+	  if (p->schemaPtr())
+            pURI = p->schemaPtr()->targetNamespace;
+          else
+            pURI = URI;
+          const char *b = cname(NULL, pURI, p->name);
+          if (zflag && zflag <= 5)
+            fprintf(stream, "/// RESTRICTED FROM %s:\n", b);
+          else if (comment_nest == 0)
+            fprintf(stream, "/*  RESTRICTED FROM %s:\n", b);
+          else
+            fprintf(stream, "    RESTRICTED FROM %s:\n", b);
+          comment_nest++;
+          if (p->complexContent && p->complexContent->restriction)
+          { gen(URI, p->complexContent->restriction->attribute);
+            if (p->complexContent->restriction->anyAttribute && flag)
+            { gen(URI, *p->complexContent->restriction->anyAttribute);
+              flag = false;
+            }
+            p = p->complexContent->restriction->complexTypePtr();
+          }
+          else if (p->complexContent && p->complexContent->extension)
+          { gen(URI, p->complexContent->extension->attribute);
+            gen(URI, p->complexContent->extension->attributeGroup);
+            if (p->complexContent->extension->anyAttribute && flag)
+            { gen(URI, *p->complexContent->extension->anyAttribute);
+              flag = false;
+            }
+            p = p->complexContent->extension->complexTypePtr();
+          }
+          else
+          { gen(URI, p->attribute);
+            gen(URI, p->attributeGroup);
+            if (p->anyAttribute && flag)
+              gen(URI, *p->anyAttribute);
+            p = NULL;
+          }
+	  comment_nest--;
+          if (zflag && zflag <= 5)
+            fprintf(stream, "//  END OF RESTRICTED FROM %s\n", b);
+          else if (comment_nest == 0)
+            fprintf(stream, "    END OF RESTRICTED FROM %s */\n", b);
+          else
+            fprintf(stream, "    END OF RESTRICTED FROM %s\n", b);
+        }
+      }
+    }
+    else if (complexType.complexContent->extension)
+    { const char *base = complexType.complexContent->extension->base;
+      xs__complexType *p = complexType.complexContent->extension->complexTypePtr();
+      if (!anonymous)
+        fprintf(stream, "\n/// \"%s\":%s is a%s complexType with complexContent extension of %s.\n", URI?URI:"", name, complexType.abstract?"n abstract":"", base);
+      document(complexType.annotation);
+      operations(t);
+      if (anonymous)
+      { if (cflag)
+          fprintf(stream, "    struct %s\n    {\n", t);
+        else
+          fprintf(stream, "    class %s\n    {\n", t);
+      }
+      else if (cflag)
+        fprintf(stream, "struct %s\n{\n", t);
+      else if (fflag)
+        fprintf(stream, "class %s\n{ public:\n", t);
+      else // TODO: what to do if base class is in another namespace and elements must be qualified in XML payload?
+      { const char *baseURI = NULL;
+        if (p && p->schemaPtr())
+          baseURI = p->schemaPtr()->targetNamespace;
+        fprintf(stream, "class %s : public %s\n{ public:\n", t, cname(NULL, baseURI, base));
+        soapflag = true;
+      }
+      gen_inh(URI, p, anonymous);
+      if (complexType.complexContent->extension->group)
+        gen(URI, *complexType.complexContent->extension->group, NULL, NULL);
+      if (complexType.complexContent->extension->all)
+        gen(URI, *complexType.complexContent->extension->all, NULL, NULL);
+      if (complexType.complexContent->extension->sequence)
+        gen(URI, *complexType.complexContent->extension->sequence, NULL, NULL);
+      if (complexType.complexContent->extension->choice)
+        gen(URI, name, *complexType.complexContent->extension->choice, NULL, NULL);
+      gen(URI, complexType.complexContent->extension->attribute);
+      gen(URI, complexType.complexContent->extension->attributeGroup);
+      if (complexType.complexContent->extension->anyAttribute)
+        gen(URI, *complexType.complexContent->extension->anyAttribute);
+    }
+    else
+      fprintf(stream, "//\tunrecognized\n");
+  }
+  else
+  { if (!anonymous)
+      fprintf(stream, "\n/// \"%s\":%s is a%s complexType.\n", URI?URI:"", name, complexType.abstract?"n abstract":"");
+    document(complexType.annotation);
+    operations(t);
+    if (anonymous)
+    { if (cflag)
+        fprintf(stream, "    struct %s\n    {\n", t);
+      else
+        fprintf(stream, "    class %s\n    {\n", t);
+    }
+    else if (cflag)
+      fprintf(stream, "struct %s\n{\n", t);
+    else if (pflag && complexType.name)
+      fprintf(stream, "class %s : public xsd__anyType\n{ public:\n", t);
+    else
+      fprintf(stream, "class %s\n{ public:\n", t);
+    if (complexType.all)
+      gen(URI, *complexType.all, NULL, NULL);
+    else if (complexType.choice)
+      gen(URI, name, *complexType.choice, NULL, NULL);
+    else if (complexType.sequence)
+      gen(URI, *complexType.sequence, NULL, NULL);
+    else if (complexType.any)
+      gen(URI, *complexType.any, NULL, NULL);
+  }
+  gen(URI, complexType.attribute);
+  gen(URI, complexType.attributeGroup);
+  if (complexType.anyAttribute)
+    gen(URI, *complexType.anyAttribute);
+  if (complexType.mixed
+   || (   complexType.complexContent
+       && complexType.complexContent->extension
+       && complexType.complexContent->extension->complexTypePtr()
+       && complexType.complexContent->extension->complexTypePtr()->mixed
+      ))
+  { fprintf(stream, "/// TODO: this mixed complexType is user-definable.\n///       Consult the protocol documentation to change or insert declarations.\n///       Use wsdl2h option -d for xsd__anyType DOM (soap_dom_element).\n");
+    if (dflag)
+    { if (with_union)
+        fprintf(stream, pointerformat, "xsd__anyType", "__mixed");
+      else
+        fprintf(stream, elementformat, "xsd__anyType", "__mixed");
+      fprintf(stream, "0;\t///< Catch mixed content in DOM soap_dom_element linked node structure.\n");
+    }
+    else
+    { fprintf(stream, elementformat, "_XML", "__mixed");
+      fprintf(stream, "0;\t///< Catch mixed content in XML string\n");
+    }
+  }
+  if (t)
+    modify(t);
+  if (!anonymous)
+  { if (!cflag
+     && !(pflag && complexType.name)
+     && !soapflag)
+    { if (!complexType.complexContent || !complexType.complexContent->extension || !complexType.complexContent->extension->complexTypePtr())
+      { fprintf(stream, "/// A handle to the soap struct that manages this instance (automatically set)\n");
+        fprintf(stream, pointerformat, "struct soap", "soap");
+        fprintf(stream, ";\n");
+      }
+    }
+    fprintf(stream, "};\n");
+  }
+  scope.pop_back();
+}
+
+void Types::gen(const char *URI, const vector<xs__attribute>& attributes)
+{ for (vector<xs__attribute>::const_iterator attribute = attributes.begin(); attribute != attributes.end(); ++attribute)
+    gen(URI, *attribute);
+}
+
+void Types::gen(const char *URI, const xs__attribute& attribute)
+{ const char *name, *type, *nameURI = NULL, *typeURI = NULL, *nameprefix = NULL, *typeprefix = NULL;
+  name = attribute.name;
+  type = attribute.type;
+  bool is_optional = attribute.use != required && attribute.use != default_ && attribute.use != fixed_ && !attribute.default_;
+  document(attribute.annotation);
+  if (!URI)
+    URI = attribute.schemaPtr()->targetNamespace;
+  if (attribute.form)
+  { if (*attribute.form == qualified)
+      nameURI = URI;
+    else
+      nameprefix = ":";
+  }
+  if (URI && attribute.schemaPtr() && attribute.schemaPtr()->targetNamespace && strcmp(URI,  attribute.schemaPtr()->targetNamespace))
+    nameURI = attribute.schemaPtr()->targetNamespace; // handles attributeGroup defined in another namespace
+  if (attribute.attributePtr()) // attribute ref
+  { name = attribute.attributePtr()->name;
+    type = attribute.attributePtr()->type;
+    if (!type)
+    { type = name;
+      typeprefix = "_";
+    }
+    if (attribute.attributePtr()->schemaPtr())
+    { typeURI = attribute.attributePtr()->schemaPtr()->targetNamespace;
+      if (attribute.form && *attribute.form == unqualified)
+        nameprefix = ":";
+      else if (zflag != 3 && zflag != 2
+       && URI
+       && typeURI
+       && attribute.schemaPtr()->elementFormDefault == qualified
+       && !strcmp(URI, typeURI))
+        nameprefix = NULL;
+      else if (zflag == 3
+       && URI
+       && typeURI
+       && attribute.schemaPtr()->attributeFormDefault == unqualified
+       && !strcmp(URI, typeURI))
+        nameprefix = NULL;
+      else
+        nameURI = typeURI;
+    }
+    fprintf(stream, "/// Attribute reference %s.\n", attribute.ref);
+    document(attribute.attributePtr()->annotation);
+    fprintf(stream, attributeformat, pname(is_optional, typeprefix, typeURI, type), aname(nameprefix, nameURI, name)); // make sure no name - type clash
+  }
+  else if (name && type)
+  { fprintf(stream, "/// Attribute %s of type %s.\n", name, type);
+    fprintf(stream, attributeformat, pname(is_optional, NULL, URI, type), aname(nameprefix, nameURI, name)); // make sure no name - type clash
+  }
+  else if (name && attribute.simpleTypePtr())
+  { fprintf(stream, "@");
+    gen(URI, name, *attribute.simpleTypePtr(), true);
+    // 8/1/09 Changed (is_optional && !cflag && !sflag) to is_optional
+    fprintf(stream, is_optional ? pointerformat : elementformat, "", aname(nameprefix, nameURI, name));
+  }
+  else if (attribute.ref)
+  { fprintf(stream, "/// Imported attribute reference %s.\n", attribute.ref);
+    fprintf(stream, attributeformat, pname(is_optional, "_", NULL, attribute.ref), aname(NULL, NULL, attribute.ref));
+  }
+  else
+  { fprintf(stream, "/// Attribute '%s' has no type or ref: assuming string content.\n", name?name:"");
+    fprintf(stream, attributeformat, tname(NULL, NULL, "xs:string"), aname(NULL, nameURI, name));
+  }
+  switch (attribute.use)
+  { case prohibited:
+      fprintf(stream, " 0:0");
+      break;
+    case required:
+      fprintf(stream, " 1");
+      break;
+    default:
+      fprintf(stream, " 0");
+      break;
+  }
+  if (attribute.default_
+   || (attribute.fixed && !is_optional))
+  { const char *value, *QName;
+    if (attribute.default_)
+    { value = attribute.default_;
+      QName = attribute.default__;
+    }
+    else
+    { value = attribute.fixed;
+      QName = attribute.fixed_;
+    }
+    const char *t = NULL;
+    if (!type && attribute.simpleTypePtr())
+    { if (attribute.simpleTypePtr()->restriction && attribute.simpleTypePtr()->restriction->base)
+      { if (!attribute.simpleTypePtr()->restriction->enumeration.empty())
+        { const char *s;
+          if (is_integer(value))
+            fprintf(stream, " = %s", value);
+          else if (!*value)
+            fprintf(stream, " = 0");
+          else if ((s = enames[Pair(gname(URI, name),value)]))
+            fprintf(stream, " = %s", s);
+        }
+        else
+        { const char *baseURI = NULL;
+          if (attribute.simpleTypePtr()->restriction->simpleTypePtr() && attribute.simpleTypePtr()->restriction->simpleTypePtr()->schemaPtr())
+            baseURI = attribute.simpleTypePtr()->restriction->simpleTypePtr()->schemaPtr()->targetNamespace;
+          t = tname(NULL, baseURI, attribute.simpleTypePtr()->restriction->base);
+        }
+      }
+    }
+    if (type && !t)
+      t = tname(NULL, typeURI?typeURI:URI, type);
+    if (t)
+    { if (!strncmp(t, "unsigned ", 9))
+        t += 9;
+      else if (!strncmp(t, "xsd__unsigned", 13))
+        t += 13;
+      else if (!strncmp(t, "xsd__", 5))
+        t += 5;
+      if (!strcmp(t, "bool")
+       || !strcmp(t, "byte")
+       || !strcmp(t, "Byte")
+       || !strcmp(t, "char")
+       || !strcmp(t, "double")
+       || !strcmp(t, "float")
+       || !strcmp(t, "int")
+       || !strcmp(t, "Int")
+       || !strcmp(t, "long")
+       || !strcmp(t, "Long")
+       || !strcmp(t, "LONG64")
+       || !strcmp(t, "short")
+       || !strcmp(t, "Short")
+       || !strcmp(t, "ULONG64"))
+        fprintf(stream, " = %s", value);
+      else if (!strncmp(t, "enum ", 5))
+      { const char *s;
+        if (is_integer(value))
+          fprintf(stream, " = %s", value);
+        else if (!*value)
+          fprintf(stream, " = 0");
+        else if ((s = enames[Pair(t + 5,value)]))
+          fprintf(stream, " = %s", s);
+      }
+      else if (!strcmp(t, "char*")
+            || !strcmp(t, "char *")	// not elegant
+            || !strcmp(t, "std::string")
+            || !strcmp(t, "std::string*")
+            || !strcmp(t, "std::string *"))	// not elegant
+        fprintf(stream, " = \"%s\"", cstring(value));
+      else if (!strcmp(t, "xsd__QName") && QName)	// QName
+        fprintf(stream, " = \"%s\"", cstring(QName));
+    }
+    if (attribute.default_)
+      fprintf(stream, ";\t///< Default value=\"%s\".\n", value);
+    else
+      fprintf(stream, ";\t///< Fixed required value=\"%s\".\n", value);
+  }
+  else if (attribute.fixed) 
+    fprintf(stream, ";\t///< Fixed optional value=\"%s\".\n", attribute.fixed);
+  else if (attribute.use == required)
+    fprintf(stream, ";\t///< Required attribute.\n");
+  else if (attribute.use == prohibited)
+    fprintf(stream, ";\t///< Prohibited attribute.\n");
+  else
+    fprintf(stream, ";\t///< Optional attribute.\n");
+}
+
+void Types::gen(const char *URI, const vector<xs__attributeGroup>& attributeGroups)
+{ for (vector<xs__attributeGroup>::const_iterator attributeGroup = attributeGroups.begin(); attributeGroup != attributeGroups.end(); ++attributeGroup)
+  { const xs__attributeGroup *ag = &*attributeGroup;
+    if (ag->attributeGroupPtr()) // attributeGroup ref
+      ag = ag->attributeGroupPtr();
+    fprintf(stream, "/// Begin attributeGroup %s.\n", ag->name?ag->name:ag->ref?ag->ref:"");
+    gen(URI, ag->attribute);
+    gen(URI, ag->attributeGroup);
+    if (ag->anyAttribute)
+      gen(URI, *ag->anyAttribute);
+    fprintf(stream, "/// End of attributeGroup %s.\n", ag->name?ag->name:ag->ref?ag->ref:"");
+  }
+}
+
+void Types::gen(const char *URI, const vector<xs__all>& alls)
+{ for (vector<xs__all>::const_iterator all = alls.begin(); all != alls.end(); ++all)
+    gen(URI, *all, NULL, NULL);
+}
+
+void Types::gen(const char *URI, const xs__all& all, const char *minOccurs, const char *maxOccurs)
+{ bool tmp_union1 = with_union;
+  bool tmp_union2 = fake_union;
+  with_union = false;
+  fake_union = false;
+  gen(URI, all.element, minOccurs, maxOccurs);
+  with_union = tmp_union1;
+  fake_union = tmp_union2;
+}
+
+void Types::gen(const char *URI, const vector<xs__contents>& contents)
+{ for (vector<xs__contents>::const_iterator content = contents.begin(); content != contents.end(); ++content)
+  { switch ((*content).__union)
+    { case SOAP_UNION_xs__union_content_element:
+        if ((*content).__content.element)
+          gen(URI, *(*content).__content.element, true, NULL, NULL);
+        break;
+      case SOAP_UNION_xs__union_content_group:
+        if ((*content).__content.group)
+          gen(URI, *(*content).__content.group, NULL, NULL);
+        break;
+      case SOAP_UNION_xs__union_content_choice:
+        if ((*content).__content.choice)
+          gen(URI, NULL, *(*content).__content.choice, NULL, NULL);
+        break;
+      case SOAP_UNION_xs__union_content_sequence:
+        if ((*content).__content.sequence)
+          gen(URI, *(*content).__content.sequence, NULL, NULL);
+        break;
+      case SOAP_UNION_xs__union_content_any:
+        if ((*content).__content.any)
+          gen(URI, *(*content).__content.any, NULL, NULL);
+        break;
+    }
+  }
+}
+
+void Types::gen(const char *URI, const xs__seqchoice& sequence, const char *minOccurs, const char *maxOccurs)
+{ const char *s = NULL;
+  char *t = NULL;
+  bool tmp_union = with_union;
+  with_union = false;
+  if (sequence.minOccurs)
+    minOccurs = sequence.minOccurs;
+  if (sequence.maxOccurs)
+    maxOccurs = sequence.maxOccurs;
+  if ((minOccurs && strcmp(minOccurs, "1"))
+   || (maxOccurs && strcmp(maxOccurs, "1")))
+  { fprintf(stream, "/// SEQUENCE <xs:sequence");
+    if (minOccurs)
+      fprintf(stream, " minOccurs=\"%s\"", minOccurs);
+    if (maxOccurs)
+      fprintf(stream, " maxOccurs=\"%s\"", maxOccurs);
+    fprintf(stream, ">\n");
+    document(sequence.annotation);
+    s = sname(URI, "sequence");
+    t = (char*)emalloc(strlen(s)+2);
+    strcpy(t, "_");
+    strcat(t, s);
+    s = strstr(s, "__");
+    if (!s)
+      s = t;
+    if (cflag || sflag || zflag == 2)
+    { fprintf(stream, sizeformat, "int", s + 1);
+      if (!fake_union && minOccurs)
+        fprintf(stream, " %s", minOccurs);
+      if (maxOccurs
+       && strcmp(maxOccurs, "1")
+       && is_integer(maxOccurs))
+        fprintf(stream, ":%s", maxOccurs);
+      fprintf(stream, ";\n");
+    }
+    else
+    { fprintf(stream, elementformat, "std::vector<", "");
+      fprintf(stream, "\n");
+    }
+    if (cflag)
+      fprintf(stream, "    struct %s\n    {\n", t);
+    else
+      fprintf(stream, "    class %s\n    {\n", t);
+  }
+  else
+  { if (fake_union)
+      fprintf(stream, "/// SEQUENCE <xs:sequence>\n");
+    document(sequence.annotation);
+  }
+  gen(URI, sequence.__contents);
+  if (s)
+  { if (cflag || sflag || zflag == 2)
+      fprintf(stream, pointerformat, "}", s);
+    else
+    { fprintf(stream, elementformat, "}>", s);
+      if (!fake_union && minOccurs)
+        fprintf(stream, " %s", minOccurs);
+      if (maxOccurs
+       && strcmp(maxOccurs, "1")
+       && is_integer(maxOccurs))
+        fprintf(stream, ":%s", maxOccurs);
+    }
+    fprintf(stream, ";\n");
+  }
+  if (s || fake_union)
+    fprintf(stream, "//  END OF SEQUENCE\n");
+  with_union = tmp_union;
+}
+
+void Types::gen(const char *URI, const vector<xs__element>& elements, const char *minOccurs, const char *maxOccurs)
+{ for (vector<xs__element>::const_iterator element = elements.begin(); element != elements.end(); ++element)
+    gen(URI, *element, true, minOccurs, maxOccurs);
+}
+
+void Types::gen(const char *URI, const xs__element& element, bool substok, const char *minOccurs, const char *maxOccurs)
+{ const char *name, *type, *nameURI = NULL, *typeURI = NULL, *nameprefix = NULL, *typeprefix = NULL;
+  name = element.name;
+  type = element.type;
+  document(element.annotation);
+  if (!URI)
+    URI = element.schemaPtr()->targetNamespace;
+  if (element.minOccurs)
+    minOccurs = element.minOccurs;
+  if (element.maxOccurs)
+    maxOccurs = element.maxOccurs;
+  if (element.xmime__expectedContentTypes)
+    fprintf(stream, "/// MTOM attachment with content types %s.\n", element.xmime__expectedContentTypes);
+  if (element.form)
+  { if (*element.form == qualified)
+      nameURI = URI;
+    else
+      nameprefix = ":";
+  }
+  if (element.elementPtr()) // element ref
+  { name = element.elementPtr()->name;
+    type = element.elementPtr()->type;
+    if (!type)
+    { type = name;
+      typeprefix = "_";
+    }
+    if (element.elementPtr()->schemaPtr())
+    { typeURI = element.elementPtr()->schemaPtr()->targetNamespace;
+      if (element.form && *element.form == unqualified)
+        nameprefix = ":";
+      else if (zflag != 3 && zflag != 2
+       && URI
+       && typeURI
+       && element.schemaPtr()->elementFormDefault == qualified
+       && !strcmp(URI, typeURI))
+        nameprefix = NULL;
+      else if (zflag == 3
+       && URI
+       && typeURI
+       && element.schemaPtr()->elementFormDefault == unqualified
+       && !strcmp(URI, typeURI))
+        nameprefix = NULL;
+      else
+        nameURI = typeURI;
+    }
+    document(element.elementPtr()->annotation);
+    if (element.elementPtr()->xmime__expectedContentTypes)
+      fprintf(stream, "/// MTOM attachment with content types %s.\n", element.elementPtr()->xmime__expectedContentTypes);
+    if (substok && element.elementPtr()->abstract)
+    { fprintf(stream, "/// Reference %s to abstract element.\n", element.ref);
+      gen_substitutions(URI, element);
+    }
+    else if (substok
+          && element.elementPtr()->substitutionsPtr()
+          && !element.elementPtr()->substitutionsPtr()->empty())
+    { if (vflag)
+        fprintf(stderr, "\nWarning: element ref '%s' stands as the head of a substitutionGroup but is not declared abstract\n", element.ref);
+      gen_substitutions(URI, element);
+    }
+    else if (maxOccurs && strcmp(maxOccurs, "1")) // maxOccurs != "1"
+    { const char *s = tnameptr(cflag && zflag != 1, typeprefix, typeURI, type);
+      if (cflag || sflag)
+      { fprintf(stream, "/// Size of the dynamic array of %s is %s..%s\n", s, minOccurs ? minOccurs : "1", maxOccurs);
+        fprintf(stream, sizeformat, "int", aname(NULL, NULL, name));
+        fprintf(stream, " %s", fake_union ? "0" : minOccurs ? minOccurs : "1");
+        if (is_integer(maxOccurs))
+          fprintf(stream, ":%s", maxOccurs);
+        fprintf(stream, ";\n");
+        if (cflag && zflag != 1)
+        { fprintf(stream, "/// Array %s of length %s..%s\n", s, minOccurs ? minOccurs : "1", maxOccurs);
+          fprintf(stream, elementformat, s, aname(nameprefix, nameURI, name));
+        }
+        else
+        { fprintf(stream, "/// Pointer to array %s of length %s..%s\n", s, minOccurs ? minOccurs : "1", maxOccurs);
+          fprintf(stream, pointerformat, s, aname(nameprefix, nameURI, name));
+        }
+      }
+      else
+      { fprintf(stream, "/// Vector of %s element refs with length %s..%s\n", s, minOccurs ? minOccurs : "1", maxOccurs);
+        if (with_union)
+          fprintf(stream, pointervectorformat, s, aname(nameprefix, nameURI, name));
+        else
+          fprintf(stream, vectorformat, s, aname(nameprefix, nameURI, name));
+      }
+    }
+    else
+    { fprintf(stream, "/// Element reference %s.\n", element.ref);
+      fprintf(stream, elementformat, pname((with_union && !cflag && !is_basetypeforunion(typeprefix, typeURI, type)) || fake_union || is_nillable(element), typeprefix, typeURI, type), aname(nameprefix, nameURI, name));
+    }
+  }
+  else if (name && type)
+  { if (substok && element.abstract)
+    { fprintf(stream, "/// Abstract element %s of type %s.\n", name, type);
+      gen_substitutions(URI, element);
+    }
+    else if (substok
+          && element.substitutionsPtr()
+          && !element.substitutionsPtr()->empty())
+    { if (vflag)
+        fprintf(stderr, "\nWarning: element '%s' stands as the head of a substitutionGroup but is not declared abstract\n", name);
+      gen_substitutions(URI, element);
+    }
+    else if (maxOccurs && strcmp(maxOccurs, "1")) // maxOccurs != "1"
+    { const char *s = tnameptr(cflag && zflag != 1, NULL, URI, type);
+      if (cflag || sflag)
+      { fprintf(stream, "/// Size of array of %s is %s..%s\n", s, minOccurs ? minOccurs : "1", maxOccurs);
+        fprintf(stream, sizeformat, "int", aname(NULL, NULL, name));
+        fprintf(stream, " %s", fake_union ? "0" : minOccurs ? minOccurs : "1");
+        if (is_integer(maxOccurs))
+          fprintf(stream, ":%s", maxOccurs);
+        fprintf(stream, ";\n");
+        if (cflag && zflag != 1)
+        { fprintf(stream, "/// Array %s of length %s..%s\n", s, minOccurs ? minOccurs : "1", maxOccurs);
+          fprintf(stream, elementformat, s, aname(nameprefix, nameURI, name));
+        }
+        else
+        { fprintf(stream, "/// Pointer to array %s of length %s..%s\n", s, minOccurs ? minOccurs : "1", maxOccurs);
+          fprintf(stream, pointerformat, s, aname(nameprefix, nameURI, name));
+        }
+      }
+      else
+      { fprintf(stream, "/// Vector of %s with length %s..%s\n", s, minOccurs ? minOccurs : "1", maxOccurs);
+        if (with_union)
+          fprintf(stream, pointervectorformat, s, aname(nameprefix, nameURI, name));
+        else
+          fprintf(stream, vectorformat, s, aname(nameprefix, nameURI, name));
+      }
+    }
+    else
+    { fprintf(stream, "/// Element %s of type %s.\n", name, type);
+      fprintf(stream, elementformat, pname((with_union && !cflag && !is_basetypeforunion(NULL, URI, type)) || (fake_union && !element.default_) || is_nillable(element), NULL, URI, type), aname(nameprefix, nameURI, name));
+    }
+  }
+  else if (name && element.simpleTypePtr())
+  { const char *s = "";
+    document(element.simpleTypePtr()->annotation);
+    if (maxOccurs && strcmp(maxOccurs, "1")) // maxOccurs != "1"
+    { if (cflag || sflag)
+      { fprintf(stream, "/// Size of %s array is %s..%s\n", name, minOccurs ? minOccurs : "1", maxOccurs);
+        fprintf(stream, sizeformat, "int", aname(NULL, NULL, name));
+        fprintf(stream, " %s", fake_union ? "0" : minOccurs ? minOccurs : "1");
+        if (is_integer(maxOccurs))
+          fprintf(stream, ":%s", maxOccurs);
+        fprintf(stream, ";\n");
+      }
+      else
+      { s = ">";
+        fprintf(stream, "/// Vector of %s with length %s..%s\n", name, minOccurs ? minOccurs : "1", maxOccurs);
+        fprintf(stream, vectorformat_open, "\n");
+      }
+    }
+    gen(URI, name, *element.simpleTypePtr(), true);
+    if (is_nillable(element)
+     || ((cflag || sflag ) && maxOccurs && strcmp(maxOccurs, "1")) // maxOccurs != "1"
+     || (with_union && !cflag)
+     || (fake_union && !element.default_))
+      fprintf(stream, pointerformat, s, aname(nameprefix, nameURI, name));
+    else
+      fprintf(stream, elementformat, s, aname(nameprefix, nameURI, name));
+  }
+  else if (name && element.complexTypePtr())
+  { const char *s = "}";
+    document(element.complexTypePtr()->annotation);
+    if (maxOccurs && strcmp(maxOccurs, "1")) // maxOccurs != "1"
+    { if (cflag || sflag)
+      { fprintf(stream, "/// Size of %s array is %s..%s\n", name, minOccurs ? minOccurs : "1", maxOccurs);
+        fprintf(stream, sizeformat, "int", aname(NULL, NULL, name));
+        fprintf(stream, " %s", fake_union ? "0" : minOccurs ? minOccurs : "1");
+        if (is_integer(maxOccurs))
+          fprintf(stream, ":%s", maxOccurs);
+        fprintf(stream, ";\n");
+      }
+      else
+      { s = "}>";
+        fprintf(stream, "/// Vector of %s with length %s..%s\n", name, minOccurs ? minOccurs : "1", maxOccurs);
+        fprintf(stream, vectorformat_open, "\n");
+      }
+    }
+    gen(URI, name, *element.complexTypePtr(), true);
+    if (is_nillable(element)
+     || ((cflag || sflag ) && maxOccurs && strcmp(maxOccurs, "1")) // maxOccurs != "1"
+     || (with_union && !cflag)
+     || (fake_union && !element.default_))
+      fprintf(stream, pointerformat, s, aname(nameprefix, nameURI, name));
+    else
+      fprintf(stream, elementformat, s, aname(nameprefix, nameURI, name));
+  }
+  else if (element.ref)
+  { fprintf(stream, "/// Imported element reference %s.\n", element.ref);
+    if (maxOccurs && strcmp(maxOccurs, "1")) // maxOccurs != "1"
+    { if (cflag || sflag)
+      { fprintf(stream, "/// Size of %s array is %s..%s\n", element.ref, minOccurs ? minOccurs : "1", maxOccurs);
+        fprintf(stream, sizeformat, "int", aname(NULL, NULL, element.ref));
+        fprintf(stream, " %s", fake_union ? "0" : minOccurs ? minOccurs : "1");
+        if (is_integer(maxOccurs))
+          fprintf(stream, ":%s", maxOccurs);
+        fprintf(stream, ";\n");
+        fprintf(stream, pointerformat, pname(true, "_", NULL, element.ref), aname(nameprefix, nameURI, element.ref));
+      }
+      else
+      { fprintf(stream, "/// Vector of %s with length %s..%s\n", element.ref, minOccurs ? minOccurs : "1", maxOccurs);
+        fprintf(stream, vectorformat, pname(false, "_", NULL, element.ref), aname(nameprefix, nameURI, element.ref));
+      }
+    }
+    else
+      fprintf(stream, elementformat, pname((with_union && !cflag) || fake_union || is_nillable(element), "_", NULL, element.ref), aname(nameprefix, nameURI, element.ref));
+  }
+  else if (name)
+  { fprintf(stream, "/// Element '%s' has no type or ref (empty or with XML content).\n", name?name:"");
+    if (maxOccurs && strcmp(maxOccurs, "1")) // maxOccurs != "1"
+    { if (cflag || sflag)
+      { fprintf(stream, sizeformat, "int", aname(NULL, NULL, name));
+        fprintf(stream, " %s", fake_union ? "0" : minOccurs ? minOccurs : "1");
+        if (is_integer(maxOccurs))
+          fprintf(stream, ":%s", maxOccurs);
+        fprintf(stream, ";\n");
+        fprintf(stream, "/// Pointer to array of XML.\n");
+        fprintf(stream, pointerformat, "_XML", aname(NULL, nameURI, name));
+      }
+      else
+      { fprintf(stream, "/// Vector of XML with length %s..%s\n", minOccurs ? minOccurs : "1", maxOccurs);
+        if (with_union)
+          fprintf(stream, pointervectorformat, "_XML", aname(NULL, nameURI, name));
+        else
+          fprintf(stream, vectorformat, "_XML", aname(NULL, nameURI, name));
+      }
+    }
+    else
+      fprintf(stream, elementformat, "_XML", aname(NULL, nameURI, name));
+  }
+  else
+    fprintf(stream, "/// Element has no name, type, or ref.");
+  if (!substok
+   || (   !(element.elementPtr() && element.elementPtr()->abstract)
+       && !(element.substitutionsPtr() && !element.substitutionsPtr()->empty())
+       && !(element.elementPtr() && element.elementPtr()->substitutionsPtr() && !element.elementPtr()->substitutionsPtr()->empty())
+      ))
+  { if (!fake_union && !minOccurs && !element.nillable && !element.default_ && !element.abstract)
+      fprintf(stream, " 1");
+    else if (!fake_union && minOccurs)
+      fprintf(stream, " %s", minOccurs);
+    if (maxOccurs && strcmp(maxOccurs, "1") && is_integer(maxOccurs))
+      fprintf(stream, ":%s", maxOccurs);
+    if (element.default_
+     || (   element.fixed
+         && !fake_union
+         && (!minOccurs || !strcmp(minOccurs, "1"))
+         && (!maxOccurs || !strcmp(maxOccurs, "1"))
+        ))
+    { // determine whether the element can be assigned a default value, this is dependent on the choice of mapping for primitive types
+      const char *value, *QName;
+      if (element.default_)
+      { value = element.default_;
+        QName = element.default__;
+      }
+      else
+      { value = element.fixed;
+        QName = element.fixed_;
+      }
+      if (type)
+      { const char *t = tname(NULL, typeURI?typeURI:URI, type);
+        if (!strncmp(t, "unsigned ", 9))
+          t += 9;
+        else if (!strncmp(t, "xsd__unsigned", 13))
+          t += 13;
+        else if (!strncmp(t, "xsd__", 5))
+          t += 5;
+        if (!strcmp(t, "bool")
+         || !strcmp(t, "byte")
+         || !strcmp(t, "Byte")
+         || !strcmp(t, "char")
+         || !strcmp(t, "double")
+         || !strcmp(t, "float")
+         || !strcmp(t, "int")
+         || !strcmp(t, "Int")
+         || !strcmp(t, "long")
+         || !strcmp(t, "Long")
+         || !strcmp(t, "LONG64")
+         || !strcmp(t, "short")
+         || !strcmp(t, "Short")
+         || !strcmp(t, "ULONG64"))
+          fprintf(stream, " = %s", value);
+        else if (!strncmp(t, "enum ", 5))
+        { const char *s;
+          if (is_integer(value))
+            fprintf(stream, " = %s", value);
+          else if (!*value)
+            fprintf(stream, " = 0");
+          else if ((s = enames[Pair(t + 5, value)]))
+            fprintf(stream, " = %s", s);
+        }
+        else if (!strcmp(t, "char*")
+              || !strcmp(t, "char *")	// not elegant
+              || !strcmp(t, "std::string")
+              || !strcmp(t, "std::string*")
+              || !strcmp(t, "std::string *"))	// not elegant
+          fprintf(stream, " = \"%s\"", cstring(value));
+        else if (!strcmp(t, "xsd__QName") && QName)	// QName
+          fprintf(stream, " = \"%s\"", cstring(QName));
+      }
+      if (element.default_)
+        fprintf(stream, ";\t///< Default value=\"%s\".\n", value);
+      else
+        fprintf(stream, ";\t///< Fixed required value=\"%s\".\n", value);
+    }
+    else if (element.nillable)
+      fprintf(stream, ";\t///< Nillable pointer.\n");
+    else if (!fake_union && (!minOccurs || !strcmp(minOccurs, "1")) && (!maxOccurs || !strcmp(maxOccurs, "1")))
+      fprintf(stream, ";\t///< Required element.\n");
+    else if (element.fixed)
+      fprintf(stream, ";\t///< Fixed optional value=\"%s\".\n", element.fixed);
+    else if (!fake_union && minOccurs && !strcmp(minOccurs, "0") && (!maxOccurs || !strcmp(maxOccurs, "1")))
+      fprintf(stream, ";\t///< Optional element.\n");
+    else
+      fprintf(stream, ";\n");
+  }
+}
+
+void Types::gen(const char *URI, const vector<xs__group>& groups)
+{ for (vector<xs__group>::const_iterator group = groups.begin(); group != groups.end(); ++group)
+    gen(URI, *group, NULL, NULL);
+}
+
+void Types::gen(const char *URI, const xs__group& group, const char *minOccurs, const char *maxOccurs)
+{ if (group.minOccurs)
+    minOccurs = group.minOccurs;
+  if (group.maxOccurs)
+    maxOccurs = group.maxOccurs;
+  if (group.groupPtr())
+  { if (group.schemaPtr() == group.groupPtr()->schemaPtr())
+      gen(URI, *group.groupPtr(), minOccurs, maxOccurs);
+    else
+      gen(group.groupPtr()->schemaPtr()->targetNamespace, *group.groupPtr(), minOccurs, maxOccurs);
+  }
+  else
+  { fprintf(stream, "/// GROUP <xs:group name=\"%s\"", group.name ? group.name : "");
+    if (minOccurs)
+      fprintf(stream, " minOccurs=\"%s\"", minOccurs);
+    if (maxOccurs)
+      fprintf(stream, " maxOccurs=\"%s\"", maxOccurs);
+    fprintf(stream, ">\n");
+    document(group.annotation);
+    if (group.all)
+      gen(URI, *group.all, minOccurs, maxOccurs);
+    else if (group.choice)
+      gen(URI, NULL, *group.choice, minOccurs, maxOccurs);
+    else if (group.sequence)
+      gen(URI, *group.sequence, minOccurs, maxOccurs);
+    fprintf(stream, "//  END OF GROUP\n");
+  }
+}
+
+void Types::gen(const char *URI, const char *name, const xs__seqchoice& choice, const char *minOccurs, const char *maxOccurs)
+{ const char *r = NULL, *s = NULL, *t = NULL;
+  bool use_union = !uflag;
+  bool wrap_union = false;
+  bool tmp_union;
+  if (!URI && choice.schemaPtr())
+    URI = choice.schemaPtr()->targetNamespace;
+  fprintf(stream, "/// CHOICE <xs:choice");
+  if (choice.minOccurs)
+    minOccurs = choice.minOccurs;
+  if (choice.maxOccurs)
+    maxOccurs = choice.maxOccurs;
+  if (minOccurs)
+    fprintf(stream, " minOccurs=\"%s\"", minOccurs);
+  if (maxOccurs)
+    fprintf(stream, " maxOccurs=\"%s\"", maxOccurs);
+  fprintf(stream, ">\n");
+  document(choice.annotation);
+  for (vector<xs__contents>::const_iterator c1 = choice.__contents.begin(); c1 != choice.__contents.end(); ++c1)
+  { if ((*c1).__union == SOAP_UNION_xs__union_content_group
+     || (*c1).__union == SOAP_UNION_xs__union_content_sequence)
+    { fprintf(stream, "/// Note: <xs:choice> with embedded <xs:sequence> or <xs:group> prevents the use of a union\n");
+      use_union = false;
+      break;
+    }
+  }
+  if (use_union && (cflag || sflag))
+  { for (vector<xs__contents>::const_iterator c2 = choice.__contents.begin(); c2 != choice.__contents.end(); ++c2)
+    { if ((*c2).__union == SOAP_UNION_xs__union_content_element
+       && (*c2).__content.element
+       && (*c2).__content.element->maxOccurs
+       && strcmp((*c2).__content.element->maxOccurs, "1"))
+      { fprintf(stream, "/// Note: <xs:choice> of element with maxOccurs>1 prevents the use of a union\n");
+        use_union = false;
+        break;
+      }
+    }
+  }
+  t = uname(URI);
+  s = strstr(t, "__union");
+  if (s)
+    r = s + 7;
+  if (!r || !*r)
+  { r = t;
+    s = "__union";
+  }
+  if (maxOccurs && strcmp(maxOccurs, "1"))
+  { if (with_union)
+    { // Generate a wrapper when we need a union within a union
+      wrap_union = true;
+      fprintf(stream, "    struct __%s\n    {\n", t);
+    }
+    fprintf(stream, sizeformat, "int", r);
+    fprintf(stream, " %s", minOccurs ? minOccurs : "0");
+    if (is_integer(maxOccurs))
+      fprintf(stream, ":%s", maxOccurs);
+    fprintf(stream, ";\n");
+    if (cflag)
+      fprintf(stream, "    struct _%s\n    {\n", t);
+    else
+      fprintf(stream, "    class _%s\n    {\n", t);
+  }
+  if (use_union)
+  { if (!with_union || wrap_union)
+    { fprintf(stream, choiceformat, "int", r);
+      if (minOccurs)
+        fprintf(stream, " %s", minOccurs);
+      fprintf(stream, ";\t///< Union %s selector: set to SOAP_UNION_%s_<fieldname>%s\n", t, t, minOccurs && !strcmp(minOccurs, "0") ? " or 0" : "");
+      if (name)
+        fprintf(stream, "/// Union for choice in type %s\n", cname(NULL, URI, name));
+      fprintf(stream, "    union %s\n    {\n", t);
+    }
+    tmp_union = with_union;
+    with_union = true;
+  }
+  else
+  { tmp_union = fake_union;
+    fake_union = true;
+  }
+  gen(URI, choice.__contents);
+  if (use_union)
+  { with_union = tmp_union;
+    if (!with_union || wrap_union)
+      fprintf(stream, elementformat, "}", s+2);
+  }
+  else
+    fake_union = tmp_union;
+  if (maxOccurs && strcmp(maxOccurs, "1"))
+  { if (use_union)
+      fprintf(stream, ";\n");
+    fprintf(stream, pointerformat, "}", s);
+  }
+  fprintf(stream, ";\n");
+  if (wrap_union)
+  { fprintf(stream, elementformat, "}", s);
+    fprintf(stream, ";\n");
+  }
+  fprintf(stream, "//  END OF CHOICE\n");
+}
+
+void Types::gen(const char *URI, const vector<xs__any>& anys)
+{ for (vector<xs__any>::const_iterator any = anys.begin(); any != anys.end(); ++any)
+    gen(URI, *any, NULL, NULL);
+}
+
+void Types::gen(const char *URI, const xs__any& any, const char *minOccurs, const char *maxOccurs)
+{ fprintf(stream, "/// TODO: <any");
+  if (any.namespace_)
+    fprintf(stream, " namespace=\"%s\"", any.namespace_);
+  if (any.minOccurs)
+    minOccurs = any.minOccurs;
+  if (any.maxOccurs)
+    maxOccurs = any.maxOccurs;
+  if (minOccurs)
+    fprintf(stream, " minOccurs=\"%s\"", minOccurs);
+  if (maxOccurs)
+    fprintf(stream, " maxOccurs=\"%s\"", maxOccurs);
+  fprintf(stream, ">\n/// TODO: Schema extensibility is user-definable.\n///       Consult the protocol documentation to change or insert declarations.\n///       Use wsdl2h option -x to remove this element.\n///       Use wsdl2h option -d for xsd__anyType DOM (soap_dom_element).\n");
+  if (!xflag)
+  { if (maxOccurs && strcmp(maxOccurs, "1"))
+    { fprintf(stream, "/// Size of the array of XML or DOM nodes is %s..%s\n", minOccurs ? minOccurs : "1", maxOccurs);
+      if (cflag || sflag)
+      { if (!with_union)
+        { fprintf(stream, sizeformat, "int", "");
+          fprintf(stream, "0;\n");
+          fprintf(stream, elementformat, pname(true, NULL, NULL, "xsd:any"), "__any");
+        }
+        else
+          fprintf(stream, elementformat, tname(NULL, NULL, "xsd:any"), "__any");
+      }
+      else if (with_union)
+        fprintf(stream, pointervectorformat, tname(NULL, NULL, "xsd:any"), "__any");
+      else
+        fprintf(stream, vectorformat, tname(NULL, NULL, "xsd:any"), "__any");
+    }
+    else
+      fprintf(stream, elementformat, pname(with_union, NULL, NULL, "xsd:any"), "__any");
+    if (dflag)
+      fprintf(stream, "0;\t///< Catch any element content in DOM.\n");
+    else
+      fprintf(stream, "0;\t///< Catch any element content in XML string.\n");
+  }
+}
+
+void Types::gen(const char *URI, const xs__anyAttribute& anyAttribute)
+{ if (anyAttribute.namespace_)
+    fprintf(stream, "/// <anyAttribute namespace=\"%s\">\n", anyAttribute.namespace_);
+  fprintf(stream, "/// TODO: Schema extensibility is user-definable.\n///       Consult the protocol documentation to change or insert declarations.\n///       Use wsdl2h option -x to remove this attribute.\n///       Use wsdl2h option -d for xsd__anyAttribute DOM (soap_dom_attribute).\n");
+  if (!xflag)
+  { const char *t = tname(NULL, NULL, "xsd:anyAttribute");
+    fprintf(stream, attributeformat, t, "__anyAttribute");
+    if (dflag)
+      fprintf(stream, ";\t///< Store anyAttribute content in DOM soap_dom_attribute linked node structure.\n");
+    else
+      fprintf(stream, ";\t///< A placeholder that has no effect: please see comment.\n");
+  }
+}
+
+void Types::gen_inh(const char *URI, const xs__complexType *complexType, bool anonymous)
+{ const xs__complexType *p = complexType;
+  if (!p)
+    return;
+  const char *pURI;
+  if (p->schemaPtr())
+    pURI = p->schemaPtr()->targetNamespace;
+  else
+    pURI = URI;
+  const char *b = cname(NULL, pURI, p->name);
+  if (p->complexContent && p->complexContent->extension)
+    gen_inh(URI, p->complexContent->extension->complexTypePtr(), anonymous);
+  if (cflag || fflag || anonymous)
+    fprintf(stream, "/// INHERITED FROM %s:\n", b);
+  else if (comment_nest == 0)
+    fprintf(stream, "/*  INHERITED FROM %s:\n", b);
+  else
+    fprintf(stream, "    INHERITED FROM %s:\n", b);
+  comment_nest++;
+  if (cflag || fflag)
+    pURI = URI; // if base ns != derived ns then qualify elts
+  if (p->complexContent && p->complexContent->extension)
+  { if (p->complexContent->extension->group)
+      gen(pURI, *p->complexContent->extension->group, NULL, NULL);
+    if (p->complexContent->extension->all)
+      gen(pURI, *p->complexContent->extension->all, NULL, NULL);
+    if (p->complexContent->extension->sequence)
+      gen(pURI, *p->complexContent->extension->sequence, NULL, NULL);
+    if (p->complexContent->extension->choice)
+      gen(pURI, p->name, *p->complexContent->extension->choice, NULL, NULL);
+    gen(pURI, p->complexContent->extension->attribute);
+    gen(pURI, p->complexContent->extension->attributeGroup);
+    if (p->complexContent->extension->anyAttribute)
+      gen(pURI, *p->complexContent->extension->anyAttribute);
+  }
+  else
+  { if (p->all)
+      gen(pURI, p->all->element, NULL, NULL);
+    else if (p->all)
+      gen(pURI, *p->all, NULL, NULL);
+    else if (p->choice)
+      gen(pURI, p->name, *p->choice, NULL, NULL);
+    else if (p->sequence)
+      gen(pURI, *p->sequence, NULL, NULL);
+    else if (p->any)
+      gen(pURI, *p->any, NULL, NULL);
+    gen(pURI, p->attribute);
+    gen(pURI, p->attributeGroup);
+    if (p->anyAttribute)
+      gen(pURI, *p->anyAttribute);
+  }
+  modify(b);
+  comment_nest--;
+  if (cflag || fflag || anonymous)
+    fprintf(stream, "//  END OF INHERITED FROM %s\n", b);
+  else if (comment_nest == 0)
+    fprintf(stream, "    END OF INHERITED FROM %s */\n", b);
+  else
+    fprintf(stream, "    END OF INHERITED FROM %s\n", b);
+}
+
+void Types::gen_soap_array(const char *name, const char *t, const char *item, const char *type)
+{ char *tmp = NULL, *dims = NULL, size[8];
+  if (type)
+  { tmp = (char*)emalloc(strlen(type) + 1);
+    strcpy(tmp, type);
+  }
+  *size = '\0';
+  if (tmp)
+    dims = strrchr(tmp, '[');
+  if (dims)
+    *dims++ = '\0';
+  fprintf(stream, "/// SOAP encoded array of %s\n", tmp ? tmp : "xs:anyType");
+  if (cflag)
+    fprintf(stream, "struct %s\n{\n", t);
+  else if (pflag)
+    fprintf(stream, "class %s : public xsd__anyType\n{ public:\n", t);
+  else
+    fprintf(stream, "class %s\n{ public:\n", t);
+  if (dims)
+  { char *s = strchr(dims, ']');
+    if (s && s != dims)
+      sprintf(size, "[%d]", (int)(s - dims + 1));
+  }
+  if (tmp)
+  { if (strchr(tmp, '[') != NULL)
+    { gen_soap_array(NULL, "", item, tmp);
+      fprintf(stream, arrayformat, "}", item ? aname(NULL, NULL, item) : "");
+      fprintf(stream, ";\n");
+    }
+    else
+    { const char *s = pname(!is_basetype(NULL, NULL, tmp), NULL, NULL, tmp);
+      fprintf(stream, "/// Pointer to array of %s.\n", s);
+      fprintf(stream, arrayformat, s, item ? aname(NULL, NULL, item) : "");
+      fprintf(stream, ";\n");
+    }
+    if (*size)
+      fprintf(stream, "/// Size of the multidimensional dynamic array with dimensions=%s\n", size);
+    else 
+      fprintf(stream, "/// Size of the dynamic array.\n");
+    fprintf(stream, arraysizeformat, "int", size);
+    fprintf(stream, ";\n/// Offset for partially transmitted arrays (uncomment only when required).\n");
+    fprintf(stream, arrayoffsetformat, "int", size);
+    fprintf(stream, ";\n");
+  }
+  else
+  { // TODO: how to handle generic SOAP array? E.g. as an array of anyType?
+    fprintf(stream, "// TODO: add declarations to handle generic SOAP-ENC:Array (array of anyType)\n");
+  }
+}
+
+void Types::gen_substitutions(const char *URI, const xs__element &element)
+{ const std::vector<xs__element*> *substitutions;
+  const char *name;
+  const char *r = NULL, *s = NULL;
+  bool use_union = !uflag;
+  bool wrap_union = false;
+  bool tmp_union;
+  bool abstract = false;
+  if (!URI && element.schemaPtr())
+    URI = element.schemaPtr()->targetNamespace;
+  if (element.elementPtr())
+  { name = element.elementPtr()->name;
+    substitutions = element.elementPtr()->substitutionsPtr();
+    abstract = element.elementPtr()->abstract;
+    if (!abstract && element.elementPtr()->complexTypePtr())
+      abstract = element.elementPtr()->complexTypePtr()->abstract;
+  }
+  else
+  { name = element.name;
+    substitutions = element.substitutionsPtr();
+    abstract = element.abstract;
+    if (!abstract && element.complexTypePtr())
+      abstract = element.complexTypePtr()->abstract;
+  }
+  fprintf(stream, "/// CHOICE OF SUBSTITUTIONS <xs:element substitutionGroup=\"%s\"", name);
+  if (element.minOccurs)
+    fprintf(stream, " minOccurs=\"%s\"", element.minOccurs);
+  if (element.maxOccurs)
+    fprintf(stream, " maxOccurs=\"%s\"", element.maxOccurs);
+  fprintf(stream, "> with elements");
+  for (std::vector<xs__element*>::const_iterator i1 = substitutions->begin(); i1 != substitutions->end(); ++i1)
+    fprintf(stream, " <%s>", (*i1)->name);
+  fprintf(stream, "\n");
+  if (use_union)
+  { const char *t = uname(URI);
+    // TODO: could reuse the union instead of generating a new one each time!
+    s = strstr(t, "__union");
+    if (!s)
+      s = "__union";
+    r = aname(NULL, NULL, name);
+    if (element.maxOccurs && strcmp(element.maxOccurs, "1"))
+    { if (with_union)
+      { // Generate a wrapper when we need a union within a union
+        wrap_union = true;
+        fprintf(stream, "    struct __%s\n    {\n", t);
+      }
+      fprintf(stream, sizeformat, "int", r);
+      fprintf(stream, " %s", element.minOccurs ? element.minOccurs : "0");
+      if (is_integer(element.maxOccurs))
+        fprintf(stream, ":%s", element.maxOccurs);
+      fprintf(stream, ";\n");
+      if (cflag)
+        fprintf(stream, "    struct _%s\n    {\n", t);
+      else
+        fprintf(stream, "    class _%s\n    {\n", t);
+    }
+    if (!with_union || wrap_union)
+    { fprintf(stream, choiceformat, "int", r);
+      fprintf(stream, " %s", element.minOccurs ? element.minOccurs : "0");
+      fprintf(stream, ";\t///< Union %s selector: set to SOAP_UNION_%s_<fieldname>%s\n", t, t, element.minOccurs && !strcmp(element.minOccurs, "0") ? " or 0" : "");
+      fprintf(stream, "/// Union for substitutionGroup=\"%s\"\n", name);
+      fprintf(stream, "    union %s\n    {\n", t);
+    }
+    tmp_union = with_union;
+    with_union = true;
+  }
+  else
+  { tmp_union = fake_union;
+    fake_union = true;
+  }
+  if (!abstract)
+    gen(URI, element, false, NULL, NULL);
+  for (vector<xs__element*>::const_iterator i2 = substitutions->begin(); i2 != substitutions->end(); ++i2)
+     gen(URI, *(*i2), true, NULL, NULL); // substitutions are recursive?
+  if (use_union)
+  { with_union = tmp_union;
+    if (!with_union || wrap_union)
+    { fprintf(stream, elementformat, "}", s);
+      fprintf(stream, ";\n");
+    }
+    if (element.maxOccurs && strcmp(element.maxOccurs, "1"))
+    { fprintf(stream, ";\n");
+      fprintf(stream, pointerformat, "}", s);
+      fprintf(stream, ";\n");
+    }
+    if (wrap_union)
+    { fprintf(stream, elementformat, "}", s);
+      fprintf(stream, ";\n");
+    }
+  }
+  else
+    fake_union = tmp_union;
+  fprintf(stream, "//  END OF CHOICE OF SUBSTITUTIONS\n");
+}
+
+void Types::document(const xs__annotation *annotation)
+{ if (annotation && annotation->documentation)
+  { fprintf(stream, "/// @brief");
+    documentation(annotation->documentation);
+  }
+}
+
+void Types::modify(const char *name)
+{ // TODO: consider support removal of elements/attributes with ns__X = $- Y
+  const char *s = modtypemap[name];
+  if (s)
+  { while (*s)
+    { if (*s++ == '$')
+        fprintf(stream, "/// Member declared in %s\n   ", mapfile);
+      s = format(s);
+    }
+  }
+}
+
+const char* Types::format(const char *text)
+{ const char *s = text;
+  if (!s)
+    return NULL;
+  while (*s && *s != '$')
+  { if (*s == '\\')
+    { switch (s[1])
+      { case 'n': 
+          fputc('\n', stream);
+          break;
+        case 't': 
+          fputc('\t', stream);
+          break;
+        default:
+          fputc(s[1], stream);
+      }
+      s++;
+    }
+    else
+      fputc(*s, stream);
+    s++;
+  }
+  fputc('\n', stream);
+  return s;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	Type map file parsing
+//
+////////////////////////////////////////////////////////////////////////////////
+
+static char *getline(char *s, size_t n, FILE *fd)
+{ int c;
+  char *t = s;
+  if (n)
+    n--;
+  for (;;)
+  { c = fgetc(fd);
+    if (c == '\r')
+      continue;
+    if (c == '\\')
+    { c = fgetc(fd);
+      if (c == '\r')
+        c = fgetc(fd);
+      if (c < ' ')
+        continue;
+      if (n)
+      { *t++ = '\\';
+        n--;
+      }
+    }
+    if (c == '\n' || c == EOF)
+      break;
+    if (n)
+    { *t++ = c;
+      n--;
+    }
+  }
+  *t++ = '\0';
+  if (!*s && c == EOF)
+    return NULL;
+  return s;
+}
+
+static const char *nonblank(const char *s)
+{ while (*s && isspace(*s))
+    s++;
+  return s;
+}
+
+static const char *fill(char *t, int n, const char *s, int e)
+{ int i = n;
+  s = nonblank(s);
+  while (*s && *s != e && --i)
+    *t++ = *s++;
+  while (*s && *s != e)
+    s++;
+  if (*s)
+    s++;
+  i = n - i;
+  if (i == 0)
+    *t = '\0';
+  else
+  { while (isspace(*--t) && i--)
+      ;
+    t[1] = '\0';
+  }
+  return s;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	Miscellaneous
+//
+////////////////////////////////////////////////////////////////////////////////
+
+static const char *utf8(char *t, const char *s)
+{ unsigned int c = 0;
+  unsigned int c1, c2, c3, c4;
+  c = (unsigned char)*s;
+  if (c >= 0x80)
+  { c1 = (unsigned char)*++s;
+    if (c1 < 0x80)
+      s--;
+    else
+    { c1 &= 0x3F;
+      if (c < 0xE0)
+        c = ((c & 0x1F) << 6) | c1;
+      else
+      { c2 = (unsigned char)*++s & 0x3F;
+        if (c < 0xF0)
+          c = ((c & 0x0F) << 12) | (c1 << 6) | c2;
+        else
+        { c3 = (unsigned char)*++s & 0x3F;
+          if (c < 0xF8)
+            c = ((c & 0x07) << 18) | (c1 << 12) | (c2 << 6) | c3;
+          else
+          { c4 = (unsigned char)*++s & 0x3F;
+            if (c < 0xFC)
+              c = ((c & 0x03) << 24) | (c1 << 18) | (c2 << 12) | (c3 << 6) | c4;
+            else
+              c = ((c & 0x01) << 30) | (c1 << 24) | (c2 << 18) | (c3 << 12) | (c4 << 6) | (*++s & 0x3F);
+          }
+        }
+      }
+    }
+  }
+  sprintf(t, "_x%.4x", c);
+  return s;
+}
+
+static const char *cstring(const char *s)
+{ size_t n;
+  char *t;
+  const char *r;
+  for (n = 0, r = s; *r; n++, r++)
+    if (*r == '"' || *r == '\\')
+      n++;
+    else if (*r < 32)
+      n += 3;
+  r = t = (char*)emalloc(n + 1);
+  for (; *s; s++)
+  { if (*s == '"' || *s == '\\')
+    { *t++ = '\\';
+      *t++ = *s;
+    }
+    else if (*s < 32)
+    { sprintf(t, "\\%03o", (unsigned int)(unsigned char)*s);
+      t += 4;
+    }
+    else
+      *t++ = *s;
+  }
+  *t = '\0';
+  return r;
+}
+
+static const char *xstring(const char *s)
+{ size_t n;
+  char *t;
+  const char *r;
+  for (n = 0, r = s; *r; n++, r++)
+  { if (*r < 32 || *r >= 127)
+      n += 4;
+    else if (*r == '<' || *r == '>')
+      n += 3;
+    else if (*r == '&')
+      n += 4;
+    else if (*r == '"')
+      n += 5;
+    else if (*r == '\\')
+      n += 1;
+  }
+  r = t = (char*)emalloc(n + 1);
+  for (; *s; s++)
+  { if (*s < 32 || *s >= 127)
+    { sprintf(t, "&#%.2x;", (unsigned char)*s);
+      t += 5;
+    }
+    else if (*s == '<')
+    { strcpy(t, "&lt;");
+      t += 4;
+    }
+    else if (*s == '>')
+    { strcpy(t, "&gt;");
+      t += 4;
+    }
+    else if (*s == '&')
+    { strcpy(t, "&amp;");
+      t += 5;
+    }
+    else if (*s == '"')
+    { strcpy(t, "&quot;");
+      t += 6;
+    }
+    else if (*s == '\\')
+    { strcpy(t, "\\\\");
+      t += 2;
+    }
+    else
+      *t++ = *s;
+  }
+  *t = '\0';
+  return r;
+}
+
+static LONG64 to_integer(const char *s)
+{ LONG64 n;
+#ifdef HAVE_STRTOLL
+  char *r;
+  n = soap_strtoll(s, &r, 10);
+#else
+# ifdef HAVE_SSCANF
+  sscanf(s, SOAP_LONG_FORMAT, &n);
+# endif
+#endif
+  return n;
+}
+
+static bool is_integer(const char *s)
+{ if ((*s == '-' || *s == '+') && s[1])
+    s++;
+  if (!*s || strlen(s) > 20)
+    return false;
+  while (*s && isdigit(*s))
+    s++;
+  return *s == '\0';
+}
+
+static void documentation(const char *text)
+{ const char *s = text;
+  bool flag = true;
+  if (!s)
+    return;
+  while (*s)
+  { switch (*s)
+    { case '\n':
+      case '\t':
+      case ' ':
+        flag = true;
+        break;
+      default:
+        if (*s > 32)
+        { if (flag)
+          { fputc(' ', stream);
+            flag = false;
+          }
+          fputc(*s, stream);
+        }
+    }
+    s++;
+  }
+  fputc('\n', stream);
+}
+
+static void operations(const char *t)
+{ if (!cflag)
+    fprintf(stream, "/// class %s operations:\n/// - soap_new_%s(soap*) allocate\n/// - soap_new_%s(soap*, int num) allocate array\n/// - soap_new_req_%s(soap*, ...) allocate, set required members\n/// - soap_new_set_%s(soap*, ...) allocate, set all public members\n/// - int soap_read_%s(soap*, %s*) deserialize from a stream\n/// - int soap_write_%s(soap, %s*) serialize to a stream\n", t, t, t, t, t, t, t, t, t);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	Allocation
+//
+////////////////////////////////////////////////////////////////////////////////
+
+void *emalloc(size_t size)
+{ void *p = malloc(size);
+  if (!p)
+  { fprintf(stderr, "\nError: Malloc failed\n");
+    exit(1);
+  }
+  return p;
+}
+
+char *estrdup(const char *s)
+{ char *t = (char*)emalloc(strlen(s) + 1);
+  strcpy(t, s);
+  return t;
+}
+
+char *estrdupf(const char *s)
+{ char *t = (char*)emalloc(strlen(s) + 1);
+  char *p;
+  for (p = t; *s; s++)
+  { if (s[0] == '/' && s[1] == '*')
+    { for (s += 2; s[0] && s[1]; s++)
+      { if (s[0] == '*' && s[1] == '/')
+        { s++;
+          break;
+        }
+      }
+      continue;
+    }
+    *p++ = *s;
+  }
+  *p = '\0';
+  return t;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/types.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,116 @@
+/*
+	types.h
+
+	WSDL parser and converter to gSOAP header file format
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2000-2012, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+
+*/
+
+#ifndef TYPES_H
+#define TYPES_H
+
+#include "includes.h"
+#include "wsdlH.h"
+
+enum Type { NONE, CLASS, ENUM, STRUCT, TYPEDEF };
+
+enum Lookup { NOLOOKUP, LOOKUP };
+
+class Types
+{ public:
+    SetOfString		knames;	// keywords, reserved words, class names, and typedefs
+    MapOfStringToString modtypemap;
+    MapOfStringToString deftypemap;
+    MapOfStringToString usetypemap;
+    MapOfStringToString ptrtypemap;
+    MapOfStringToString eqvtypemap;
+    MapOfPairToString	qnames;	// (URI,name) -> name
+    MapOfStringToString	uris;	// URI -> prefix
+    MapOfStringToNum	syms;	// prefix -> count (ns1, ns2, ...)
+    SetOfString		rnames;	// reserved symbolic names to avoid clashes
+    SetOfString		onames;	// service operator names
+    MapOfPairToString	enames;	// enum symbolic names
+    VectorOfString	scope;	// de-anonymizer stack
+    int snum; // struct name index, TODO: consider map of URI to count per URI
+    int unum; // union name index, TODO: consider map of URI to count per URI
+    int gnum; // enum name index, TODO: consider map of URI to count per URI
+    bool with_union;
+    bool fake_union;
+    Types();
+    void init();
+    int read(const char *file);
+  private:
+    const char *fname(const char *prefix, const char *URI, const char *qname, SetOfString *reserved, enum Lookup lookup, bool isqname);
+  public:
+    const char *aname(const char *prefix, const char *URI, const char *qname);
+    const char *cname(const char *prefix, const char *URI, const char *qname);
+    const char *tname(const char *prefix, const char *URI, const char *qname);
+    const char *tnameptr(bool, const char *prefix, const char *URI, const char *qname);
+    const char *pname(bool flag, const char *prefix, const char *URI, const char *qname);
+    const char *oname(const char *prefix, const char *URI, const char *qname);
+    const char *ename(const char *type, const char *value, bool isqname);
+    const char *sname(const char *URI, const char *name);
+    const char *gname(const char *URI, const char *name);
+    const char *uname(const char *URI);
+    const char *nsprefix(const char *prefix, const char *URI);
+    const char *prefix(const char *name);
+    const char *uri(const char *name);
+    const char *deftname(enum Type type, const char *pointer, bool is_pointer, const char *prefix, const char *URI, const char *qname);
+    bool is_defined(const char *prefix, const char *URI, const char *qname);
+    bool is_nillable(const xs__element& element);
+    bool is_basetypeforunion(const char *prefix, const char *URI, const char *type);
+    bool is_basetype(const char *prefix, const char *URI, const char *type);
+    void dump(FILE*);
+    void define(const char *URI, const char *name, const xs__complexType&);
+    void gen(const char *URI, const vector<xs__attribute>&);
+    void gen(const char *URI, const vector<xs__attributeGroup>&);
+    void gen(const char *URI, const vector<xs__all>&);
+    void gen(const char *URI, const vector<xs__element>&, const char *minOccurs, const char *maxOccurs);
+    void gen(const char *URI, const vector<xs__group>&);
+    void gen(const char *URI, const vector<xs__any>&);
+    void gen(const char *URI, const vector<xs__contents>&);
+    void gen(const char *URI, const char *name, const xs__simpleType&, bool anonymous);
+    void gen(const char *URI, const char *name, const xs__complexType&, bool anonymous);
+    void gen(const char *URI, const xs__attribute&);
+    void gen(const char *URI, const xs__all&, const char *minOccurs, const char *maxOccurs);
+    void gen(const char *URI, const xs__seqchoice&, const char *minOccurs, const char *maxOccurs);
+    void gen(const char *URI, const char *name, const xs__seqchoice&, const char *minOccurs, const char *maxOccurs);
+    void gen(const char *URI, const xs__element&, bool substok, const char *minOccurs, const char *maxOccurs);
+    void gen(const char *URI, const xs__group&, const char *minOccurs, const char *maxOccurs);
+    void gen(const char *URI, const xs__any&, const char *minOccurs, const char *maxOccurs);
+    void gen(const char *URI, const xs__anyAttribute&);
+    void gen_inh(const char *URI, const xs__complexType *complexType, bool anonymous);
+    void gen_soap_array(const char *name, const char *t, const char *item, const char *type);
+    void gen_substitutions(const char *URI, const xs__element &element);
+    void document(const xs__annotation*);
+    void modify(const char *name);
+    const char *format(const char *text);
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/wsam.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,54 @@
+/*
+	wsam.h
+
+	WS-Addressing and WS-Addressing Metadata
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2001-2010, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+//gsoap wsa schema documentation:	WS-Addressing
+//gsoap wsa schema namespace:		http://www.w3.org/2005/08/addressing
+//gsoap wsa schema elementForm:		qualified
+//gsoap wsa schema attributeForm:	unqualified
+
+//gsoap wsam schema documentation:	WS-Addressing Metadata
+//gsoap wsam schema namespace:		http://www.w3.org/2007/05/addressing/metadata
+//gsoap wsam schema elementForm:	qualified
+//gsoap wsam schema attributeForm:	unqualified
+
+//gsoap wsaw schema documentation:	WS-Addressing WSDL
+//gsoap wsaw schema namespace:		http://www.w3.org/2006/05/addressing/wsdl
+//gsoap wsaw schema elementForm:	qualified
+//gsoap wsaw schema attributeForm:	unqualified
+
+class wsa__EndpointReferenceType
+{ public:
+	xsd__anyURI			Address;
+	_XML				__any;
+};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/wsdl.cpp	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1536 @@
+/*
+	wsdl.cpp
+
+	WSDL 1.1 and WSDL 2.0 binding schema implementation
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2000-2012, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+
+*/
+
+#include "wsdlH.h"
+#include "includes.h"
+
+extern struct Namespace namespaces[];
+
+const char *qname_token(const char *QName, const char *URI)
+{ if (QName && QName[0] == '"' && QName[1] == '"' && QName[2] == ':')
+    return QName + 3;
+  if (QName && URI && *QName == '"') // QNames are stored in the format "URI":name, unless the URI is in the nsmap
+  { size_t n = strlen(URI);
+    if (!strncmp(QName + 1, URI, n) && QName[n + 1] == '"')
+      return QName + n + 3;
+  }
+  return NULL;
+}
+
+int is_builtin_qname(const char *QName)
+{ if (iflag)
+    return 1;
+  if (QName)
+  { if (*QName == '#') // reserved QNames
+      return 0;
+    if (*QName != '"')
+      return 1;	// if the QName does not start with a ", it must be in the nsmap
+    const char *s = strchr(QName + 1, '"');
+    if (s)
+    { size_t n = s - QName - 1;
+      for (SetOfString::const_iterator i = exturis.begin(); i != exturis.end(); ++i)
+        if (strlen(*i) == n && !strncmp(QName + 1, *i, n))
+          return 1; // QName is in exturis
+    }
+  }
+  return 0;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	wsdl
+//
+////////////////////////////////////////////////////////////////////////////////
+
+extern "C" {
+int warn_ignore(struct soap*, const char*);
+int show_ignore(struct soap*, const char*);
+}
+
+wsdl__definitions::wsdl__definitions()
+{ soap = soap_new1(SOAP_XML_TREE | SOAP_C_UTFSTRING);
+#ifdef HTTPDA_H
+  soap_register_plugin(soap, http_da);
+#endif
+#ifdef WITH_OPENSSL
+  soap_ssl_client_context(soap, SOAP_SSL_NO_AUTHENTICATION, NULL, NULL, NULL, NULL, NULL);
+#endif
+  soap_set_namespaces(soap, namespaces);
+  soap_default(soap);
+  if (vflag)
+    soap->fignore = show_ignore;
+  else
+    soap->fignore = warn_ignore;
+  soap->encodingStyle = NULL;
+  soap->proxy_host = proxy_host;
+  soap->proxy_port = proxy_port;
+  soap->proxy_userid = proxy_userid;
+  soap->proxy_passwd = proxy_passwd;
+  name = NULL;
+  targetNamespace = soap_strdup(soap, "");
+  documentation = NULL;
+  types = NULL;
+  updated = false;
+  location = NULL;
+  redirs = 0;
+}
+
+wsdl__definitions::wsdl__definitions(struct soap *copy, const char *cwd, const char *loc)
+{ soap = soap_copy(copy);
+  soap->socket = SOAP_INVALID_SOCKET;
+  soap->recvfd = 0;
+  soap->sendfd = 1;
+  strcpy(soap->host, copy->host);
+  soap_default(soap);
+  soap->fignore = warn_ignore;
+  soap->encodingStyle = NULL;
+  updated = false;
+  location = NULL;
+  redirs = 0;
+  read(cwd, loc);
+}
+
+wsdl__definitions::~wsdl__definitions()
+{ soap_destroy(soap);
+  soap_end(soap);
+  soap_done(soap);
+  free(soap);
+}
+
+int wsdl__definitions::get(struct soap *soap)
+{ return preprocess();
+}
+
+int wsdl__definitions::read(int num, char **loc)
+{ if (num <= 0)
+    return read((const char*)NULL, (const char*)NULL);
+  if (num == 1)
+    return read((const char*)NULL, loc[0]);
+  wsdl__import im;
+  im.namespace_ = NULL;
+  name = soap_strdup(soap, "WSDL");
+  targetNamespace = soap_strdup(soap, "");;
+  for (int i = 0; i < num; i++)
+  { im.location = loc[i];
+    import.push_back(im);
+  }
+  return preprocess();
+}
+
+int wsdl__definitions::read(const char *cwd, const char *loc)
+{ const char *cwd_temp;
+  if (!cwd)
+    cwd = cwd_path;
+  if (vflag)
+    fprintf(stderr, "\nOpening WSDL/XSD '%s' from '%s'\n", loc?loc:"", cwd?cwd:"");
+  if (loc)
+  { if (soap->recvfd > 2)
+    { soap_end_recv(soap);
+      close(soap->recvfd);
+      soap->recvfd = -1;
+    }
+    else if (soap_valid_socket(soap->socket))
+    { soap_end_recv(soap);
+      soap_closesock(soap);
+    }
+#ifdef WITH_OPENSSL
+    if (!strncmp(loc, "http://", 7) || !strncmp(loc, "https://", 8))
+#else
+    if (!strncmp(loc, "https://", 8))
+    { fprintf(stderr, "\nCannot connect to https site: no SSL support, please rebuild wsdl2h with SSL or download the files and rerun wsdl2h\n");
+      exit(1);
+    }
+    else if (!strncmp(loc, "http://", 7))
+#endif
+    { fprintf(stderr, "\nConnecting to '%s' to retrieve WSDL/XSD...\n", loc);
+      location = soap_strdup(soap, loc);
+      if (soap_connect_command(soap, SOAP_GET, location, NULL))
+      { fprintf(stderr, "Connection failed\n");
+        soap_print_fault(soap, stderr);
+        exit(1);
+      }
+      fprintf(stderr, "Connected, receiving...\n");
+    }
+    else if (cwd && (!strncmp(cwd, "http://", 7) || !strncmp(cwd, "https://", 8)))
+    { char *s;
+      location = (char*)soap_malloc(soap, strlen(cwd) + strlen(loc) + 2);
+      strcpy(location, cwd);
+      s = strrchr(location, '/');
+      if (s)
+        *s = '\0';
+      strcat(location, "/");
+      strcat(location, loc);
+      fprintf(stderr, "\nConnecting to '%s' to retrieve relative path '%s' WSDL/XSD...\n", location, loc);
+      if (soap_connect_command(soap, SOAP_GET, location, NULL))
+      { fprintf(stderr, "Connection failed\n");
+        exit(1);
+      }
+      fprintf(stderr, "Connected, receiving...\n");
+    }
+    else
+    { soap->recvfd = open(loc, O_RDONLY, 0);
+      if (soap->recvfd < 0)
+      { if (cwd)
+        { char *s;
+          location = (char*)soap_malloc(soap, strlen(cwd) + strlen(loc) + 2);
+          strcpy(location, cwd);
+          s = strrchr(location, '/');
+#ifdef WIN32
+          if (!s)
+            s = strrchr(location, '\\');
+#endif
+          if (s)
+            *s = '\0';
+          strcat(location, "/");
+          strcat(location, loc);
+          if (!strncmp(location, "file://", 7))
+            location += 7;
+          soap->recvfd = open(location, O_RDONLY, 0);
+        }
+        if (soap->recvfd < 0 && import_path)
+        { location = (char*)soap_malloc(soap, strlen(import_path) + strlen(loc) + 2);
+          strcpy(location, import_path);
+          strcat(location, "/");
+          strcat(location, loc);
+          if (!strncmp(location, "file://", 7))
+            location += 7;
+          soap->recvfd = open(location, O_RDONLY, 0);
+        }
+        if (soap->recvfd < 0)
+        { fprintf(stderr, "\nCannot open '%s'\n", loc);
+          exit(1);
+        }
+      }
+      else
+        location = soap_strdup(soap, loc);
+      fprintf(stderr, "\nReading file '%s'...\n", location);
+    }
+  }
+  cwd_temp = cwd_path;
+  cwd_path = location;
+  if (!soap_begin_recv(soap))
+    this->soap_in(soap, "wsdl:", NULL);
+  if (soap->error)
+  { // handle sloppy WSDLs that import schemas at the top level rather than
+    // importing them in <types>
+    if (soap->error == SOAP_TAG_MISMATCH && soap->level == 0)
+    { soap_retry(soap);
+      xs__schema *schema = soap_new_xs__schema(soap, -1);
+      schema->soap_in(soap, "xs:schema", NULL);
+      if (soap->error)
+      { fprintf(stderr, "\nAn error occurred while parsing WSDL or XSD from '%s'\n", loc?loc:"");
+        soap_print_fault(soap, stderr);
+        if (soap->error < 200)
+          soap_print_fault_location(soap, stderr);
+        exit(1);
+      }
+      name = NULL;
+      targetNamespace = schema->targetNamespace;
+      if (vflag)
+        cerr << "Found schema '" << (targetNamespace?targetNamespace:"") << "' when expecting WSDL" << endl;
+      types = soap_new_wsdl__types(soap, -1);
+      types->documentation = NULL;
+      types->xs__schema_.push_back(schema);
+      types->preprocess(*this);
+    }
+    // check HTTP redirect (socket was closed)
+    else if ((soap->error >= 301 && soap->error <= 303) || soap->error == 307)
+    { int r = SOAP_ERR;
+      fprintf(stderr, "Redirected to '%s'...\n", soap->endpoint);
+      if (redirs++ < 10)
+        r = read(cwd, soap->endpoint);
+      else
+        fprintf(stderr, "\nMax redirects exceeded\n");
+      redirs--;
+      return r;
+    }
+    else if (soap->error == 401)
+    { int r = SOAP_ERR;
+      fprintf(stderr, "Authenticating to '%s' realm '%s'...\n", loc, soap->authrealm);
+      if (auth_userid && auth_passwd && redirs++ < 1)
+      { 
+#ifdef HTTPDA_H
+        struct http_da_info info;
+        http_da_save(soap, &info, soap->authrealm, auth_userid, auth_passwd);
+#else
+        soap->userid = auth_userid;
+        soap->passwd = auth_passwd;
+#endif
+        r = read(cwd, loc);
+#ifdef HTTPDA_H
+        http_da_release(soap, &info);
+#endif
+        redirs--;
+      }
+      else
+        fprintf(stderr, "Authentication failed, use option -r:uid:pwd and (re)build with OpenSSL to enable digest authentication\n");
+      return r;
+    }
+    else
+    { fprintf(stderr, "\nAn error occurred while parsing WSDL from '%s'\n", loc?loc:"");
+      soap_print_fault(soap, stderr);
+      if (soap->error < 200)
+        soap_print_fault_location(soap, stderr);
+      exit(1);
+    }
+  }
+  fprintf(stderr, "Done reading '%s'\n", loc?loc:"");
+  soap_end_recv(soap);
+  if (soap->recvfd > 2)
+  { close(soap->recvfd);
+    soap->recvfd = -1;
+  }
+  else
+    soap_closesock(soap);
+  cwd_path = cwd_temp;
+  return SOAP_OK;
+}
+
+int wsdl__definitions::preprocess()
+{ if (vflag)
+    cerr << "Preprocessing wsdl definitions '" << (location?location:"") << "' namespace '" << (targetNamespace?targetNamespace:"") << "'" << endl;
+  // process import
+  for (vector<wsdl__import>::iterator im1 = import.begin(); im1 != import.end(); ++im1)
+    (*im1).preprocess(*this);
+  // merge nested imported WSDLs into single import list
+again:
+  for (vector<wsdl__import>::iterator im2 = import.begin(); im2 != import.end(); ++im2)
+  { if ((*im2).definitionsPtr())
+    { for (vector<wsdl__import>::iterator i = (*im2).definitionsPtr()->import.begin(); i != (*im2).definitionsPtr()->import.end(); ++i)
+      { if ((*i).definitionsPtr())
+        { bool found = false;
+          if (vflag)
+            cerr << "Import WSDL '" << ((*i).location?(*i).location:"") << endl;
+          for (vector<wsdl__import>::iterator j = import.begin(); j != import.end(); ++j)
+          { if ((*i).definitionsPtr() == (*j).definitionsPtr()
+             || ((*i).location && (*j).location && !strcmp((*i).location, (*j).location)))
+            { found = true;
+              break;
+            }
+          }
+          if (!found)
+          { if (vflag)
+              cerr << "Adding imported WSDL '" << ((*i).location?(*i).location:"") << "' to '" << (location?location:"") << "' ('" << (name?name:"") << "') namespace '" << (targetNamespace?targetNamespace:"") << "'" << endl;
+            import.push_back(*i);
+            goto again;
+          }
+        }
+      }
+    }
+  }
+  // merge <types>
+  for (vector<wsdl__import>::iterator im3 = import.begin(); im3 != import.end(); ++im3)
+  { if ((*im3).definitionsPtr() && (*im3).definitionsPtr()->types)
+    { if (!types)
+      { types = soap_new_wsdl__types(soap, -1);
+        types->soap_default(soap);
+      }
+      // merge <types>, check for duplicates, add namespaces for sloppy imports
+      for (vector<xs__schema*>::const_iterator i = (*im3).definitionsPtr()->types->xs__schema_.begin(); i != (*im3).definitionsPtr()->types->xs__schema_.end(); ++i)
+      { bool found = false;
+        vector<xs__schema*>::const_iterator j;
+        if (!(*i)->targetNamespace)
+        { (*i)->targetNamespace = targetNamespace;
+          if (!Wflag)
+	    cerr << "Warning: schema without namespace, assigning namespace '" << (targetNamespace?targetNamespace:"") << "'" << endl;
+        }
+        for (j = types->xs__schema_.begin(); j != types->xs__schema_.end(); ++j)
+        { if ((*j)->targetNamespace && !strcmp((*i)->targetNamespace, (*j)->targetNamespace))
+          { found = true;
+            break;
+          }
+        }
+        // add new schema only if not already in <types>, otherwise merge schema components
+        if (found)
+        { if (vflag)
+            cerr << "Warning: duplicate schema with namespace '" << ((*i)->targetNamespace?(*i)->targetNamespace:"") << "' merged in WSDL '" << (name?name:"") << "' namespace '" << (targetNamespace?targetNamespace:"") << "'" << endl;
+          (*j)->insert(*(*i));
+        }
+        else
+        { if (vflag)
+            cerr << "Adding schema with namespace '" << ((*i)->targetNamespace?(*i)->targetNamespace:"") << "' to types in WSDL '" << (name?name:"") << "' namespace '" << (targetNamespace?targetNamespace:"") << "'" << endl;
+          types->xs__schema_.push_back(*i);
+        }
+      }
+    }
+  }
+  // process the types
+  if (types)
+    types->preprocess(*this);
+  return SOAP_OK;
+}
+
+int wsdl__definitions::traverse()
+{ if (updated)
+    return SOAP_OK;
+  if (vflag)
+    cerr << "Analyzing definitions '" << (name?name:"") << "' in wsdl namespace '" << (targetNamespace?targetNamespace:"") << "'" << endl;
+  updated = true;
+  if (!targetNamespace)
+  { if (vflag)
+      cerr << "Warning: wsdl '" << (name?name:"") << "' has no targetNamespace" << endl;
+    targetNamespace = soap_strdup(soap, "");
+  }
+  // process import first
+  for (vector<wsdl__import>::iterator im = import.begin(); im != import.end(); ++im)
+    (*im).traverse(*this);
+  // then process the types
+  if (types)
+    types->traverse(*this);
+  // process messages before portType
+  for (vector<wsdl__message>::iterator mg = message.begin(); mg != message.end(); ++mg)
+    (*mg).traverse(*this);
+  // process portType before binding
+  for (vector<wsdl__portType>::iterator pt = portType.begin(); pt != portType.end(); ++pt)
+    (*pt).traverse(*this);
+  // process interface before binding WSDL 2.0
+  for (vector<wsdl__portType>::iterator in = interface_.begin(); in != interface_.end(); ++in)
+    (*in).traverse(*this);
+  // process binding
+  for (vector<wsdl__binding>::iterator bg = binding.begin(); bg != binding.end(); ++bg)
+    (*bg).traverse(*this);
+  // process service
+  for (vector<wsdl__service>::iterator sv = service.begin(); sv != service.end(); ++sv)
+    (*sv).traverse(*this);
+  if (vflag)
+    cerr << "End of definitions '" << (name?name:"") << "' namespace '" << (targetNamespace?targetNamespace:"") << "'" << endl;
+  for (std::vector<wsp__Policy>::iterator p = wsp__Policy_.begin(); p != wsp__Policy_.end(); ++p)
+    (*p).traverse(*this);
+  return SOAP_OK;
+}
+
+const char *wsdl__definitions::sourceLocation()
+{ return location;
+}
+
+int wsdl__definitions::error()
+{ return soap->error;
+}
+
+void wsdl__definitions::print_fault()
+{ soap_print_fault(soap, stderr);
+  if (soap->error < 200)
+    soap_print_fault_location(soap, stderr);
+}
+
+void wsdl__definitions::builtinType(const char *type)
+{ builtinTypeSet.insert(type);
+}
+
+void wsdl__definitions::builtinTypes(const SetOfString& types)
+{ for (SetOfString::const_iterator tp = types.begin(); tp != types.end(); ++tp)
+    builtinTypeSet.insert(*tp);
+}
+
+void wsdl__definitions::builtinElement(const char *element)
+{ builtinElementSet.insert(element);
+}
+
+void wsdl__definitions::builtinElements(const SetOfString& elements)
+{ for (SetOfString::const_iterator el = elements.begin(); el != elements.end(); ++el)
+   builtinElementSet.insert(*el);
+}
+
+void wsdl__definitions::builtinAttribute(const char *attribute)
+{ builtinAttributeSet.insert(attribute);
+}
+
+void wsdl__definitions::builtinAttributes(const SetOfString& attributes)
+{ for (SetOfString::const_iterator at = attributes.begin(); at != attributes.end(); ++at)
+    builtinAttributeSet.insert(*at);
+}
+
+const SetOfString& wsdl__definitions::builtinTypes() const
+{ return builtinTypeSet;
+}
+
+const SetOfString& wsdl__definitions::builtinElements() const
+{ return builtinElementSet;
+}
+
+const SetOfString& wsdl__definitions::builtinAttributes() const
+{ return builtinAttributeSet;
+}
+
+int wsdl__service::traverse(wsdl__definitions& definitions)
+{ if (vflag)
+    cerr << "Analyzing service '" << (name?name:"") << "' in wsdl namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  // process ports
+  for (vector<wsdl__port>::iterator pt = port.begin(); pt != port.end(); ++pt)
+    (*pt).traverse(definitions);
+  for (vector<wsdl__port>::iterator ep = endpoint.begin(); ep != endpoint.end(); ++ep)
+    (*ep).traverse(definitions);
+  for (vector<wsp__Policy>::iterator py = wsp__Policy_.begin(); py != wsp__Policy_.end(); ++py)
+    (*py).traverse(definitions);
+  for (vector<wsp__PolicyReference>::iterator pr = wsp__PolicyReference_.begin(); pr != wsp__PolicyReference_.end(); ++pr)
+    (*pr).traverse(definitions);
+  return SOAP_OK;
+}
+
+wsdl__port::wsdl__port()
+{ bindingRef = NULL;
+}
+
+int wsdl__port::traverse(wsdl__definitions& definitions)
+{ if (vflag)
+    cerr << " Analyzing service port/endpoint in wsdl namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  // search binding name
+  const char *token = qname_token(binding, definitions.targetNamespace);
+  bindingRef = NULL;
+  if (token)
+  { for (vector<wsdl__binding>::iterator binding = definitions.binding.begin(); binding != definitions.binding.end(); ++binding)
+    { if ((*binding).name && !strcmp((*binding).name, token))
+      { bindingRef = &(*binding);
+        if (vflag)
+          cerr << "  Found port/endpoint '" << (name?name:"") << "' binding '" << (token?token:"") << "'" << endl;
+        break;
+      }
+    }
+  }
+  if (!bindingRef)
+  { for (vector<wsdl__import>::iterator import = definitions.import.begin(); import != definitions.import.end(); ++import)
+    { wsdl__definitions *importdefinitions = (*import).definitionsPtr();
+      if (importdefinitions)
+      { token = qname_token(binding, importdefinitions->targetNamespace);
+        if (token)
+        { for (vector<wsdl__binding>::iterator binding = importdefinitions->binding.begin(); binding != importdefinitions->binding.end(); ++binding)
+          { if ((*binding).name && !strcmp((*binding).name, token))
+            { bindingRef = &(*binding);
+              if (vflag)
+                cerr << "  Found port/endpoint '" << (name?name:"") << "' binding '" << (token?token:"") << "'" << endl;
+              break;
+            }
+          }
+        }
+      }
+    }
+  }
+  if (!bindingRef)
+    if (!Wflag)
+      cerr << "Warning: no port/endpoint '" << (name?name:"") << "' binding '" << (binding?binding:"") << "' in wsdl definitions '" << (definitions.name?definitions.name:"") << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  if (wsp__Policy_)
+    wsp__Policy_->traverse(definitions);
+  if (wsp__PolicyReference_)
+    wsp__PolicyReference_->traverse(definitions);
+  return SOAP_OK;
+}
+
+void wsdl__port::bindingPtr(wsdl__binding *binding)
+{ bindingRef = binding;
+  if (!bindingRef && vflag)
+    cerr << "Warning: wsdl__port binding set to NULL" << endl;
+}
+
+wsdl__binding *wsdl__port::bindingPtr() const
+{ return bindingRef;
+}
+
+wsdl__binding::wsdl__binding()
+{ portTypeRef = NULL;
+}
+
+int wsdl__binding::traverse(wsdl__definitions& definitions)
+{ const char *token;
+  if (vflag)
+    cerr << " Analyzing binding '" << (name?name:"") << "' in wsdl namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  portTypeRef = NULL;
+  if (interface_) // WSDL 2.0
+    token = qname_token(interface_, definitions.targetNamespace);
+  else
+    token = qname_token(type, definitions.targetNamespace);
+  if (token)
+  { for (vector<wsdl__portType>::iterator portType = definitions.portType.begin(); portType != definitions.portType.end(); ++portType)
+    { if ((*portType).name && !strcmp((*portType).name, token))
+      { portTypeRef = &(*portType);
+        if (vflag)
+          cerr << "  Found binding '" << (name?name:"") << "' portType '" << (token?token:"") << "'" << endl;
+        break;
+      }
+    }
+    // WSDL 2.0
+    for (vector<wsdl__portType>::iterator i = definitions.interface_.begin(); i != definitions.interface_.end(); ++i)
+    { if ((*i).name && !strcmp((*i).name, token))
+      { portTypeRef = &(*i);
+        if (vflag)
+          cerr << "  Found binding '" << (name?name:"") << "' interface '" << (token?token:"") << "'" << endl;
+        break;
+      }
+    }
+  }
+  if (!portTypeRef)
+  { for (vector<wsdl__import>::iterator import = definitions.import.begin(); import != definitions.import.end(); ++import)
+    { wsdl__definitions *importdefinitions = (*import).definitionsPtr();
+      if (importdefinitions)
+      { if (interface_) // WSDL 2.0
+          token = qname_token(interface_, importdefinitions->targetNamespace);
+	else
+          token = qname_token(type, importdefinitions->targetNamespace);
+        if (token)
+        { for (vector<wsdl__portType>::iterator portType = importdefinitions->portType.begin(); portType != importdefinitions->portType.end(); ++portType)
+          { if ((*portType).name && !strcmp((*portType).name, token))
+            { portTypeRef = &(*portType);
+              if (vflag)
+                cerr << "  Found binding '" << (name?name:"") << "' portType '" << (token?token:"") << "'" << endl;
+              break;
+            }
+          }
+	  // WSDL 2.0
+          for (vector<wsdl__portType>::iterator i = importdefinitions->interface_.begin(); i != importdefinitions->interface_.end(); ++i)
+          { if ((*i).name && !strcmp((*i).name, token))
+            { portTypeRef = &(*i);
+              if (vflag)
+                cerr << "  Found binding '" << (name?name:"") << "' interface '" << (token?token:"") << "'" << endl;
+              break;
+            }
+          }
+        }
+      }
+    }
+  }
+  if (!portTypeRef)
+  { if (!Wflag)
+    { if (interface_)
+        cerr << "Warning: no binding '" << (name?name:"") << "' interface '" << (interface_?interface_:"") << "' in wsdl definitions '" << (definitions.name?definitions.name:"") << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+      else
+        cerr << "Warning: no binding '" << (name?name:"") << "' portType '" << (type?type:"") << "' in wsdl definitions '" << (definitions.name?definitions.name:"") << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+    }
+  }
+  // WSDL 2.0
+  for (vector<wsdl__ext_fault>::iterator f = fault.begin(); f != fault.end(); ++f)
+    (*f).traverse(definitions, portTypeRef);
+  for (vector<wsdl__ext_operation>::iterator i = operation.begin(); i != operation.end(); ++i)
+    (*i).traverse(definitions, portTypeRef);
+  for (vector<wsp__Policy>::iterator p = wsp__Policy_.begin(); p != wsp__Policy_.end(); ++p)
+    (*p).traverse(definitions);
+  for (vector<wsp__PolicyReference>::iterator r = wsp__PolicyReference_.begin(); r != wsp__PolicyReference_.end(); ++r)
+    (*r).traverse(definitions);
+  return SOAP_OK;
+}
+
+void wsdl__binding::portTypePtr(wsdl__portType *portType)
+{ portTypeRef = portType;
+  if (!portTypeRef && vflag)
+    cerr << "Warning: wsdl__binding portType set to NULL" << endl;
+}
+
+wsdl__portType *wsdl__binding::portTypePtr() const
+{ return portTypeRef;
+}
+
+wsdl__ext_operation::wsdl__ext_operation()
+{ operationRef = NULL;
+}
+
+int wsdl__ext_operation::traverse(wsdl__definitions& definitions, wsdl__portType *portTypeRef)
+{ if (vflag)
+    cerr << "  Analyzing binding operation '" << (name?name:ref?ref:"") << "' in wsdl namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  if (input)
+    input->traverse(definitions);
+  if (output)
+    output->traverse(definitions);
+  for (vector<wsdl__ext_fault>::iterator f = fault.begin(); f != fault.end(); ++f)
+    (*f).traverse(definitions, portTypeRef);
+  // WSDL 2.0
+  for (vector<wsdl__ext_fault>::iterator fi = infault.begin(); fi != infault.end(); ++fi)
+    (*fi).traverse(definitions, portTypeRef);
+  for (vector<wsdl__ext_fault>::iterator fo = outfault.begin(); fo != outfault.end(); ++fo)
+    (*fo).traverse(definitions, portTypeRef);
+  operationRef = NULL;
+  if (portTypeRef)
+  { // WSDL 2.0, assumption: ref refers to an operation in the interface for this binding
+    const char *token = NULL;
+    if (ref)
+      token = qname_token(ref, portTypeRef->definitionsPtr()->targetNamespace);
+    for (vector<wsdl__operation>::iterator i = portTypeRef->operation.begin(); i != portTypeRef->operation.end(); ++i)
+    { if (token)
+      { if ((*i).name && !strcmp((*i).name, token))
+        { operationRef = &(*i);
+          if (vflag)
+            cerr << "   Found operation '" << token << "' in interface '" << portTypeRef->name << "'" << endl;
+          break;
+        }
+      }
+      else if (name && (*i).name && !strcmp((*i).name, name))
+      { if ((!input
+	    || !input->name
+	    || ((*i).__union1 == SOAP_UNION_wsdl__union_ioput_input && (*i).__ioput1.input->name && !strcmp((*i).__ioput1.input->name, input->name))
+            || ((*i).__union2 == SOAP_UNION_wsdl__union_ioput_input && (*i).__ioput2.input->name && !strcmp((*i).__ioput2.input->name, input->name))
+	    )
+	 && (!output
+	    || !output->name
+	    || ((*i).__union1 == SOAP_UNION_wsdl__union_ioput_output && (*i).__ioput1.output->name && !strcmp((*i).__ioput1.output->name, output->name))
+            || ((*i).__union2 == SOAP_UNION_wsdl__union_ioput_output && (*i).__ioput2.output->name && !strcmp((*i).__ioput2.output->name, output->name))
+	    ))
+        { operationRef = &(*i);
+          if (vflag)
+            cerr << "   Found operation '" << name << "' in portType '" << portTypeRef->name << "'" << endl;
+          break;
+        }
+      }
+    }
+    if (name && !operationRef)
+    { for (vector<wsdl__operation>::iterator j = portTypeRef->operation.begin(); j != portTypeRef->operation.end(); ++j)
+      { if ((*j).name && !strcmp((*j).name, name))
+        { if (input
+	   && input->name
+	   && (((*j).__union1 == SOAP_UNION_wsdl__union_ioput_input && (*j).__ioput1.input->name && !strcmp((*j).__ioput1.input->name, input->name))
+	    || ((*j).__union2 == SOAP_UNION_wsdl__union_ioput_input && (*j).__ioput2.input->name && !strcmp((*j).__ioput2.input->name, input->name))
+	      ))
+            cerr << "Warning: no matching portType operation input name '" << input->name << "' in wsdl definitions '" << (definitions.name?definitions.name:"") << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+          if (output
+	   && output->name
+	   && (((*j).__union1 == SOAP_UNION_wsdl__union_ioput_output && (*j).__ioput1.output->name && !strcmp((*j).__ioput1.output->name, output->name))
+	    || ((*j).__union2 == SOAP_UNION_wsdl__union_ioput_output && (*j).__ioput2.output->name && !strcmp((*j).__ioput2.output->name, output->name))
+	      ))
+            cerr << "Warning: no matching portType operation output name '" << output->name << "' in wsdl definitions '" << (definitions.name?definitions.name:"") << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+          operationRef = &(*j);
+          if (vflag)
+            cerr << "   Found operation '" << name << "'" << endl;
+          break;
+        }
+      }
+    }
+  }
+  if (!operationRef)
+  { if (!Wflag)
+    { if (ref)
+        cerr << "Warning: no matching interface operation '" << (ref?ref:"") << "' in wsdl definitions '" << (definitions.name?definitions.name:"") << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+      else
+        cerr << "Warning: no matching portType operation '" << (name?name:"") << "' in wsdl definitions '" << (definitions.name?definitions.name:"") << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+    }
+  }
+  else
+  { for (vector<wsdl__ext_fault>::iterator i = fault.begin(); i != fault.end(); ++i)
+    { if ((*i).name)
+      { for (vector<wsdl__fault>::iterator j = operationRef->fault.begin(); j != operationRef->fault.end(); ++j)
+        { if ((*j).name && !strcmp((*j).name, (*i).name))
+          { (*i).faultPtr(&(*j));
+            if (vflag)
+              cerr << "   Found fault '" << (*j).name << "' message" << endl;
+            break;
+          }
+        }
+      }
+      else if ((*i).soap__fault_ && (*i).soap__fault_->name) // try the soap:fault name, this is not elegant, but neither is WSDL 1.1 
+      { for (vector<wsdl__fault>::iterator j = operationRef->fault.begin(); j != operationRef->fault.end(); ++j)
+        { if ((*j).name && !strcmp((*j).name, (*i).soap__fault_->name))
+          { (*i).faultPtr(&(*j));
+            if (vflag)
+              cerr << "   Found fault '" << ((*j).name?(*j).name:"") << "' message" << endl;
+            break;
+          }
+        }
+      }
+      if (!(*i).faultPtr())
+        if (!Wflag)
+	  cerr << "Warning: no soap:fault '" << ((*i).name?(*i).name:"") << "' message in wsdl definitions '" << (definitions.name?definitions.name:"") << "' operation '" << (name?name:"") << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+    }
+  }
+  if (wsp__Policy_)
+    wsp__Policy_->traverse(definitions);
+  if (wsp__PolicyReference_)
+    wsp__PolicyReference_->traverse(definitions);
+  return SOAP_OK;
+}
+
+void wsdl__ext_operation::operationPtr(wsdl__operation *operation)
+{ operationRef = operation;
+  if (!operationRef && vflag)
+    cerr << "Warning: wsdl__ext_operation operation set to NULL" << endl;
+}
+
+wsdl__operation *wsdl__ext_operation::operationPtr() const
+{ return operationRef;
+}
+
+int wsdl__ext_ioput::traverse(wsdl__definitions& definitions)
+{ if (vflag)
+    cerr << "   Analyzing binding operation input/output in wsdl namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  for (vector<soap__header>::iterator hd = soap__header_.begin(); hd != soap__header_.end(); ++hd)
+    (*hd).traverse(definitions);
+  for (vector<wsoap__header>::iterator whd = wsoap__header_.begin(); whd != wsoap__header_.end(); ++whd)
+    (*whd).traverse(definitions);
+  if (mime__multipartRelated_)
+    mime__multipartRelated_->traverse(definitions);
+  if (wsp__Policy_)
+    wsp__Policy_->traverse(definitions);
+  if (wsp__PolicyReference_)
+    wsp__PolicyReference_->traverse(definitions);
+  return SOAP_OK;
+}
+
+wsdl__ext_fault::wsdl__ext_fault()
+{ faultRef = NULL;
+}
+
+int wsdl__ext_fault::traverse(wsdl__definitions& definitions, wsdl__portType *portTypeRef)
+{ if (vflag)
+    cerr << "   Analyzing binding operation fault in wsdl namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  if (ref && portTypeRef)
+  { // WSDL 2.0, assumption: ref refers to a fault in the interface for this binding
+    const char *token = qname_token(ref, portTypeRef->definitionsPtr()->targetNamespace);
+    if (token)
+    { for (vector<wsdl__fault>::iterator fault = portTypeRef->fault.begin(); fault != portTypeRef->fault.end(); ++fault)
+      { if ((*fault).name && !strcmp((*fault).name, token))
+        { faultRef = &(*fault);
+          if (vflag)
+            cerr << "   Found fault '" << (*fault).name << endl;
+          break;
+        }
+      }
+    }
+    if (!faultRef)
+      if (!Wflag)
+        cerr << "Warning: no fault '" << (ref?ref:"") << "' in wsdl definitions '" << (definitions.name?definitions.name:"") << "' interface '" << (portTypeRef->name?portTypeRef->name:"") << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  }
+  if (wsp__Policy_)
+    wsp__Policy_->traverse(definitions);
+  if (wsp__PolicyReference_)
+    wsp__PolicyReference_->traverse(definitions);
+  return SOAP_OK;
+}
+
+void wsdl__ext_fault::faultPtr(wsdl__fault *fault)
+{ faultRef = fault;
+  if (!faultRef && vflag)
+    cerr << "Warning: wsdl__ext_fault fault ref set to NULL" << endl;
+}
+
+wsdl__fault *wsdl__ext_fault::faultPtr() const
+{ return faultRef;
+}
+
+wsdl__portType::wsdl__portType()
+{ definitionsRef = NULL;
+}
+
+int wsdl__portType::traverse(wsdl__definitions& definitions)
+{ if (vflag)
+    cerr << " Analyzing portType/interface '" << (name?name:"") << "' in wsdl namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  definitionsRef = &definitions;
+  // traverse faults before operations, WSDL 2.0
+  for (vector<wsdl__fault>::iterator f = fault.begin(); f != fault.end(); ++f)
+    (*f).traverse(definitions);
+  for (vector<wsdl__operation>::iterator i = operation.begin(); i != operation.end(); ++i)
+    (*i).traverse(definitions);
+  if (wsp__Policy_)
+    wsp__Policy_->traverse(definitions);
+  if (wsp__PolicyReference_)
+    wsp__PolicyReference_->traverse(definitions);
+  return SOAP_OK;
+}
+
+void wsdl__portType::definitionsPtr(wsdl__definitions *definitions)
+{ definitionsRef = definitions;
+}
+
+wsdl__definitions *wsdl__portType::definitionsPtr() const
+{ return definitionsRef;
+}
+
+int wsdl__operation::traverse(wsdl__definitions& definitions)
+{ if (vflag)
+    cerr << "  Analyzing portType/interface operation '" << (name?name:"") << "' in wsdl namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  if (__union1 == SOAP_UNION_wsdl__union_ioput_input)
+    if (__ioput1.input)
+       __ioput1.input->traverse(definitions);
+  if (__union1 == SOAP_UNION_wsdl__union_ioput_output)
+    if (__ioput1.output)
+       __ioput1.output->traverse(definitions);
+  if (__union2 == SOAP_UNION_wsdl__union_ioput_input)
+    if (__ioput2.input)
+       __ioput2.input->traverse(definitions);
+  if (__union2 == SOAP_UNION_wsdl__union_ioput_output)
+    if (__ioput2.output)
+       __ioput2.output->traverse(definitions);
+  for (vector<wsdl__fault>::iterator i = fault.begin(); i != fault.end(); ++i)
+    (*i).traverse(definitions);
+  // WSDL 2.0
+  for (vector<wsdl__fault>::iterator fi = infault.begin(); fi != infault.end(); ++fi)
+    (*fi).traverse(definitions);
+  for (vector<wsdl__fault>::iterator fo = outfault.begin(); fo != outfault.end(); ++fo)
+    (*fo).traverse(definitions);
+  if (wsp__Policy_)
+    wsp__Policy_->traverse(definitions);
+  if (wsp__PolicyReference_)
+    wsp__PolicyReference_->traverse(definitions);
+  return SOAP_OK;
+}
+
+wsdl__ioput::wsdl__ioput()
+{ messageRef = NULL;
+  elementRef = NULL;
+}
+
+int wsdl__ioput::traverse(wsdl__definitions& definitions)
+{ if (vflag)
+    cerr << "   Analyzing portType/interface operation input/output in wsdl namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  messageRef = NULL;
+  elementRef = NULL;
+  // WSDL 2.0
+  if (element)
+  { if (definitions.types)
+    { for (vector<xs__schema*>::iterator schema = definitions.types->xs__schema_.begin(); schema != definitions.types->xs__schema_.end(); ++schema)
+      { const char *token = qname_token(element, (*schema)->targetNamespace);
+        if (token)
+        { for (vector<xs__element>::iterator element = (*schema)->element.begin(); element != (*schema)->element.end(); ++element)
+          { if ((*element).name && !strcmp((*element).name, token))
+            { elementRef = &(*element);
+              if (vflag)
+                cerr << "   Found input/output '" << (messageLabel?messageLabel:"") << "' element '" << (token?token:"") << "'" << endl;
+              break;
+            }
+          }
+        }
+      }
+    }
+    if (*element != '#' && !elementRef)
+    { if (is_builtin_qname(element))
+        definitions.builtinElement(element);
+      else
+        if (!Wflag)
+          cerr << "Warning: no input/output '" << (messageLabel?messageLabel:"") << "' element '" << element << "' in wsdl definitions '" << (definitions.name?definitions.name:"") << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+    }
+  }
+  else
+  { const char *token = qname_token(message, definitions.targetNamespace);
+    if (token)
+    { for (vector<wsdl__message>::iterator message = definitions.message.begin(); message != definitions.message.end(); ++message)
+      { if ((*message).name && !strcmp((*message).name, token))
+        { messageRef = &(*message);
+          if (vflag)
+            cerr << "    Found input/output '" << (name?name:"") << "' message '" << (token?token:"") << "'" << endl;
+          break;
+        }
+      }
+    }
+    if (!messageRef)
+    { for (vector<wsdl__import>::iterator import = definitions.import.begin(); import != definitions.import.end(); ++import)
+      { wsdl__definitions *importdefinitions = (*import).definitionsPtr();
+        if (importdefinitions)
+        { token = qname_token(message, importdefinitions->targetNamespace);
+          if (token)
+          { for (vector<wsdl__message>::iterator message = importdefinitions->message.begin(); message != importdefinitions->message.end(); ++message)
+            { if ((*message).name && !strcmp((*message).name, token))
+              { messageRef = &(*message);
+                if (vflag)
+                  cerr << "    Found input/output '" << (name?name:"") << "' message '" << (token?token:"") << "'" << endl;
+                break;
+              }
+            }
+          }
+        }
+      }
+    }
+    if (!messageRef)
+      if (!Wflag)
+        cerr << "Warning: no input/output '" << (name?name:"") << "' message '" << (message?message:"") << "' in wsdl definitions '" << (definitions.name?definitions.name:"") << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  }
+  if (wsp__Policy_)
+    wsp__Policy_->traverse(definitions);
+  if (wsp__PolicyReference_)
+    wsp__PolicyReference_->traverse(definitions);
+  return SOAP_OK;
+}
+
+void wsdl__ioput::messagePtr(wsdl__message *message)
+{ messageRef = message;
+}
+
+wsdl__message *wsdl__ioput::messagePtr() const
+{ return messageRef;
+}
+
+void wsdl__ioput::elementPtr(xs__element *element)
+{ elementRef = element;
+}
+
+xs__element *wsdl__ioput::elementPtr() const
+{ return elementRef;
+}
+
+wsdl__fault::wsdl__fault()
+{ messageRef = NULL;
+  elementRef = NULL;
+}
+
+int wsdl__fault::traverse(wsdl__definitions& definitions)
+{ if (vflag)
+    cerr << "   Analyzing portType/interface operation faults in wsdl namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  messageRef = NULL;
+  elementRef = NULL;
+  // WSDL 2.0
+  if (ref)
+  { const char *token = qname_token(ref, definitions.targetNamespace);
+    if (token)
+    { for (vector<wsdl__portType>::iterator i = definitions.interface_.begin(); i != definitions.interface_.end(); ++i)
+      { for (vector<wsdl__fault>::iterator fault = (*i).fault.begin(); fault != (*i).fault.end(); ++fault)
+        { if ((*fault).name && !strcmp((*fault).name, token))
+          { elementRef = (*fault).elementPtr();
+            if (vflag)
+              cerr << "   Found fault '" << (ref?ref:"") << "' element '" << (token?token:"") << "'" << endl;
+            break;
+          }
+        }
+      }
+    }
+    if (!elementRef)
+    { for (vector<wsdl__import>::iterator import = definitions.import.begin(); import != definitions.import.end(); ++import)
+      { wsdl__definitions *importdefinitions = (*import).definitionsPtr();
+        if (importdefinitions)
+        { token = qname_token(message, importdefinitions->targetNamespace);
+          if (token)
+          { for (vector<wsdl__portType>::iterator i = importdefinitions->interface_.begin(); i != importdefinitions->interface_.end(); ++i)
+            { for (vector<wsdl__fault>::iterator fault = (*i).fault.begin(); fault != (*i).fault.end(); ++fault)
+              { if ((*fault).name && !strcmp((*fault).name, token))
+                { elementRef = (*fault).elementPtr();
+                  if (vflag)
+                    cerr << "   Found fault '" << (ref?ref:"") << "' element '" << (token?token:"") << "'" << endl;
+                  break;
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+    if (!elementRef)
+    { if (is_builtin_qname(element))
+        definitions.builtinElement(element);
+      else
+        if (!Wflag)
+          cerr << "Warning: no fault '" << (messageLabel?messageLabel:"") << "' ref '" << ref << "' in wsdl definitions '" << (definitions.name?definitions.name:"") << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+    }
+  }
+  else if (element)
+  { if (definitions.types)
+    { for (vector<xs__schema*>::iterator schema = definitions.types->xs__schema_.begin(); schema != definitions.types->xs__schema_.end(); ++schema)
+      { const char *token = qname_token(element, (*schema)->targetNamespace);
+        if (token)
+        { for (vector<xs__element>::iterator element = (*schema)->element.begin(); element != (*schema)->element.end(); ++element)
+          { if ((*element).name && !strcmp((*element).name, token))
+            { elementRef = &(*element);
+              if (vflag)
+                cerr << "   Found fault '" << (messageLabel?messageLabel:"") << "' element '" << (token?token:"") << "'" << endl;
+              break;
+            }
+          }
+        }
+      }
+    }
+    if (!elementRef)
+    { if (is_builtin_qname(element))
+        definitions.builtinElement(element);
+      else
+        if (!Wflag)
+          cerr << "Warning: no fault '" << (messageLabel?messageLabel:"") << "' element '" << element << "' in wsdl definitions '" << (definitions.name?definitions.name:"") << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+    }
+  }
+  else
+  { const char *token = qname_token(message, definitions.targetNamespace);
+    if (token)
+    { for (vector<wsdl__message>::iterator message = definitions.message.begin(); message != definitions.message.end(); ++message)
+      { if ((*message).name && !strcmp((*message).name, token))
+        { messageRef = &(*message);
+          if (vflag)
+            cerr << "    Found operation fault '" << (name?name:"") << "' message '" << (token?token:"") << "'" << endl;
+          break;
+        }
+      }
+    }
+    if (!messageRef)
+    { for (vector<wsdl__import>::iterator import = definitions.import.begin(); import != definitions.import.end(); ++import)
+      { wsdl__definitions *importdefinitions = (*import).definitionsPtr();
+        if (importdefinitions)
+        { token = qname_token(message, importdefinitions->targetNamespace);
+          if (token)
+          { for (vector<wsdl__message>::iterator message = importdefinitions->message.begin(); message != importdefinitions->message.end(); ++message)
+            { if ((*message).name && !strcmp((*message).name, token))
+              { messageRef = &(*message);
+                if (vflag)
+                  cerr << "    Found operation fault '" << (name?name:"") << "' message '" << (token?token:"") << "'" << endl;
+                break;
+              }
+            }
+          }
+        }
+      }
+    }
+    if (!messageRef)
+      if (!Wflag)
+        cerr << "Warning: no operation fault '" << (name?name:"") << "' message '" << (message?message:"") << "' in wsdl definitions '" << (definitions.name?definitions.name:"") << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  }
+  if (wsp__Policy_)
+    wsp__Policy_->traverse(definitions);
+  if (wsp__PolicyReference_)
+    wsp__PolicyReference_->traverse(definitions);
+  return SOAP_OK;
+}
+
+void wsdl__fault::messagePtr(wsdl__message *message)
+{ messageRef = message;
+}
+
+wsdl__message *wsdl__fault::messagePtr() const
+{ return messageRef;
+}
+
+void wsdl__fault::elementPtr(xs__element *element)
+{ elementRef = element;
+}
+
+xs__element *wsdl__fault::elementPtr() const
+{ return elementRef;
+}
+
+int wsdl__message::traverse(wsdl__definitions& definitions)
+{ if (vflag)
+    cerr << " Analyzing message '" << (name?name:"") << "' in wsdl namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  for (vector<wsdl__part>::iterator i = part.begin(); i != part.end(); ++i)
+    (*i).traverse(definitions);
+  for (vector<wsp__Policy>::iterator p = wsp__Policy_.begin(); p != wsp__Policy_.end(); ++p)
+    (*p).traverse(definitions);
+  for (vector<wsp__PolicyReference>::iterator r = wsp__PolicyReference_.begin(); r != wsp__PolicyReference_.end(); ++r)
+    (*r).traverse(definitions);
+  return SOAP_OK;
+}
+
+wsdl__part::wsdl__part()
+{ elementRef = NULL;
+  simpleTypeRef = NULL;
+  complexTypeRef = NULL;
+}
+
+int wsdl__part::traverse(wsdl__definitions& definitions)
+{ if (vflag)
+    cerr << "  Analyzing message parts in wsdl namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  elementRef = NULL;
+  simpleTypeRef = NULL;
+  complexTypeRef = NULL;
+  if (definitions.types)
+  { for (vector<xs__schema*>::iterator schema = definitions.types->xs__schema_.begin(); schema != definitions.types->xs__schema_.end(); ++schema)
+    { const char *token = qname_token(element, (*schema)->targetNamespace);
+      if (token)
+      { for (vector<xs__element>::iterator element = (*schema)->element.begin(); element != (*schema)->element.end(); ++element)
+        { if ((*element).name && !strcmp((*element).name, token))
+          { elementRef = &(*element);
+            if (vflag)
+              cerr << "   Found message part '" << (name?name:"") << "' element '" << (token?token:"") << "'" << endl;
+            break;
+          }
+        }
+      }
+      token = qname_token(type, (*schema)->targetNamespace);
+      if (token)
+      { for (vector<xs__simpleType>::iterator simpleType = (*schema)->simpleType.begin(); simpleType != (*schema)->simpleType.end(); ++simpleType)
+        { if ((*simpleType).name && !strcmp((*simpleType).name, token))
+          { simpleTypeRef = &(*simpleType);
+            if (vflag)
+              cerr << "   Found message part '" << (name?name:"") << "' simpleType '" << (token?token:"") << "'" << endl;
+            break;
+          }
+        }
+      }
+      token = qname_token(type, (*schema)->targetNamespace);
+      if (token)
+      { for (vector<xs__complexType>::iterator complexType = (*schema)->complexType.begin(); complexType != (*schema)->complexType.end(); ++complexType)
+        { if ((*complexType).name && !strcmp((*complexType).name, token))
+          { complexTypeRef = &(*complexType);
+            if (vflag)
+              cerr << "   Found message part '" << (name?name:"") << "' complexType '" << (token?token:"") << "'" << endl;
+            break;
+          }
+        }
+      }
+    }
+  }
+  if (!elementRef && !simpleTypeRef && !complexTypeRef)
+  { if (element)
+    { if (is_builtin_qname(element))
+        definitions.builtinElement(element);
+      else
+        if (!Wflag)
+	  cerr << "Warning: no message part '" << (name?name:"") << "' element '" << element << "' in wsdl definitions '" << (definitions.name?definitions.name:"") << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+    }
+    else if (type)
+    { if (is_builtin_qname(type))
+        definitions.builtinType(type);
+      else
+        if (!Wflag)
+	  cerr << "Warning: no message part '" << (name?name:"") << "' type '" << type << "' in wsdl definitions '" << (definitions.name?definitions.name:"") << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+    }
+    else
+      if (!Wflag)
+        cerr << "Warning: no message part '" << (name?name:"") << "' element or type in wsdl definitions '" << (definitions.name?definitions.name:"") << "' namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  }
+  return SOAP_OK;
+}
+
+void wsdl__part::elementPtr(xs__element *element)
+{ elementRef = element;
+  if (!elementRef && vflag)
+    cerr << "Warning: wsdl__part element set to NULL" << endl;
+}
+
+void wsdl__part::simpleTypePtr(xs__simpleType *simpleType)
+{ simpleTypeRef = simpleType;
+  if (!simpleTypeRef && vflag)
+    cerr << "Warning: wsdl__part simpleType set to NULL" << endl;
+}
+
+void wsdl__part::complexTypePtr(xs__complexType *complexType)
+{ complexTypeRef = complexType;
+  if (!complexTypeRef && vflag)
+    cerr << "Warning: wsdl__part complexType set to NULL" << endl;
+}
+
+xs__element *wsdl__part::elementPtr() const
+{ return elementRef;
+}
+
+xs__simpleType *wsdl__part::simpleTypePtr() const
+{ return simpleTypeRef;
+}
+
+xs__complexType *wsdl__part::complexTypePtr() const
+{ return complexTypeRef;
+}
+
+int wsdl__types::preprocess(wsdl__definitions& definitions)
+{ if (vflag)
+    cerr << "Preprocessing wsdl types" << endl;
+  if (!empty()) // WSDL 2.0 <types>
+  { targetNamespace = definitions.targetNamespace;
+    xs__schema_.push_back(this);
+  }
+  // set the location of each schema in <types> to the WSDL's location
+  for (vector<xs__schema*>::iterator schema0 = xs__schema_.begin(); schema0 != xs__schema_.end(); ++schema0)
+  { if (!(*schema0)->sourceLocation())
+      (*schema0)->sourceLocation(definitions.sourceLocation());
+  }
+again:
+  // link imported schemas, need to repeat when <types> is extended with new imported schema (from inside another schema, etc.)
+  for (vector<xs__schema*>::iterator schema1 = xs__schema_.begin(); schema1 != xs__schema_.end(); ++schema1)
+  { for (vector<xs__import>::iterator import = (*schema1)->import.begin(); import != (*schema1)->import.end(); ++import)
+    { if ((*import).namespace_ && !(*import).schemaPtr() && strcmp((*import).namespace_, targetNamespace))
+      { for (vector<xs__schema*>::const_iterator schema2 = xs__schema_.begin(); schema2 != xs__schema_.end(); ++schema2)
+        { if (schema2 != schema1 && (*schema2)->targetNamespace && !strcmp((*import).namespace_, (*schema2)->targetNamespace))
+          { (*import).schemaPtr(*schema2);
+            break;
+          }
+        }
+      }
+    }
+  }
+  // if a schema is imported but not in <types> then get it
+  for (vector<xs__schema*>::iterator schema2 = xs__schema_.begin(); schema2 != xs__schema_.end(); ++schema2)
+  { for (vector<xs__import>::iterator import = (*schema2)->import.begin(); import != (*schema2)->import.end(); ++import)
+    { bool found = false;
+      if ((*import).schemaPtr())
+        found = true;
+      if (vflag)
+        cerr << "Preprocessing schema '" << (*schema2)->targetNamespace << "' import '" << ((*import).namespace_?(*import).namespace_:"") << "'" << endl; 
+      if (!found && (*import).namespace_)
+      { if ((*import).schemaPtr())
+          found = true;
+        else if (strcmp((*import).namespace_, targetNamespace))
+        { for (vector<xs__schema*>::const_iterator schema3 = xs__schema_.begin(); schema3 != xs__schema_.end(); ++schema3)
+          { if (schema3 != schema2 && (*schema3)->targetNamespace && !strcmp((*import).namespace_, (*schema3)->targetNamespace))
+            { found = true;
+              if (vflag)
+                cerr << "Schema '" << (*schema2)->targetNamespace << "' already found and present" << endl;
+              break;
+            }
+          }
+        }
+        if (!found)
+        { for (SetOfString::const_iterator i = exturis.begin(); i != exturis.end(); ++i)
+          { if (!soap_tag_cmp((*import).namespace_, *i))
+            { found = true;
+              break;
+            }
+          }
+        }
+      }
+      if (!found && !iflag) // don't import any of the schemas in the .nsmap table (or when -i option is used)
+      { xs__schema *importschema;
+        importschema = (*import).schemaPtr();
+        if (!importschema)
+        { const char *s = (*import).schemaLocation;
+          if (!s)
+            s = (*import).namespace_;
+          if (!s)
+            continue;
+          importschema = new xs__schema(definitions.soap, (*schema2)->sourceLocation(), s);
+          if (!(*import).namespace_)
+          { if ((*schema2)->targetNamespace)
+              (*import).namespace_ = (*schema2)->targetNamespace;
+            else if (importschema->targetNamespace)
+              (*import).namespace_ = importschema->targetNamespace;
+            else
+              (*import).namespace_ = soap_strdup(definitions.soap, "");
+          }
+          if (!importschema->targetNamespace || !*importschema->targetNamespace)
+            importschema->targetNamespace = (*import).namespace_;
+          else if ((*import).namespace_ && strcmp(importschema->targetNamespace, (*import).namespace_))
+            cerr << "Schema import namespace '" << ((*import).namespace_?(*import).namespace_:"") << "' does not correspond to imported namespace '" << importschema->targetNamespace << "'" << endl;
+        }
+	if (strcmp((*import).namespace_, targetNamespace))
+        { for (vector<xs__schema*>::const_iterator schema3 = xs__schema_.begin(); schema3 != xs__schema_.end(); ++schema3)
+          { if (schema3 != schema2 && (*schema3)->targetNamespace && !strcmp((*import).namespace_, (*schema3)->targetNamespace))
+            { found = true;
+              (*import).schemaPtr(*schema3);
+              break;
+            }
+          }
+	}
+        if (!found)
+        { (*import).schemaPtr(importschema);
+          xs__schema_.push_back(importschema);
+          if (vflag)
+            cerr << "Adding schema '" << importschema->targetNamespace << "'" << endl;
+          goto again;
+        }
+      }
+    }
+  }
+  return SOAP_OK;
+}
+
+int wsdl__types::traverse(wsdl__definitions& definitions)
+{ if (vflag)
+    cerr << " Analyzing types in wsdl namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+  for (vector<xs__schema*>::iterator schema3 = xs__schema_.begin(); schema3 != xs__schema_.end(); ++schema3)
+  { // artificially extend the <import> of each schema to include others so when we traverse schemas we can resolve references
+    for (vector<xs__schema*>::iterator importschema = xs__schema_.begin(); importschema != xs__schema_.end(); ++importschema)
+    { if (schema3 != importschema && (*importschema)->targetNamespace)
+      { xs__import *import = soap_new_xs__import(definitions.soap, -1);
+        import->namespace_ = (*importschema)->targetNamespace;
+        import->schemaPtr(*importschema);
+        (*schema3)->import.push_back(*import);
+      }
+    }
+    // check and report
+    for (vector<xs__import>::iterator import = (*schema3)->import.begin(); import != (*schema3)->import.end(); ++import)
+    { if ((*import).namespace_)
+      { bool found = false;
+        for (vector<xs__schema*>::const_iterator importschema = xs__schema_.begin(); importschema != xs__schema_.end(); ++importschema)
+        { if ((*importschema)->targetNamespace && !strcmp((*import).namespace_, (*importschema)->targetNamespace))
+          { found = true;
+            break;
+          }
+        }
+        if (!found && vflag)
+          cerr << "Schema import namespace '" << (*import).namespace_ << "' refers to an unknown Schema" << endl;
+      }
+      else if (!Wflag)
+	cerr << "Warning: schema import '" << ((*import).schemaLocation ? (*import).schemaLocation : "") << "' has no namespace" << endl;
+    }
+  }
+  // traverse the schemas
+  for (vector<xs__schema*>::iterator schema4 = xs__schema_.begin(); schema4 != xs__schema_.end(); ++schema4)
+    (*schema4)->traverse();
+  // find all built-in types, elements, and attributes
+  for (vector<xs__schema*>::iterator schema5 = xs__schema_.begin(); schema5 != xs__schema_.end(); ++schema5)
+  { if (vflag)
+      for (SetOfString::const_iterator i = (*schema5)->builtinTypes().begin(); i != (*schema5)->builtinTypes().end(); ++i)
+        cerr << " Built-in schema type '" << (*i) << "'" << endl;
+    definitions.builtinTypes((*schema5)->builtinTypes());
+    definitions.builtinElements((*schema5)->builtinElements());
+    definitions.builtinAttributes((*schema5)->builtinAttributes());
+  }
+  return SOAP_OK;
+}
+
+int wsdl__import::preprocess(wsdl__definitions& definitions)
+{ static map<const char*, wsdl__definitions*, ltstr> included;
+  bool found = false;
+  if (vflag)
+    cerr << "Preprocess wsdl import '" << (location?location:"") << "'" << endl;
+  definitionsRef = NULL;
+  if (namespace_)
+  { for (SetOfString::const_iterator i = exturis.begin(); i != exturis.end(); ++i)
+    { if (!soap_tag_cmp(namespace_, *i))
+      { found = true;
+        break;
+      }
+    }
+  }
+  if (!found && location)
+  { map<const char*, wsdl__definitions*, ltstr>::iterator i = included.find(location);
+    if (i != included.end())
+    { if (vflag)
+        fprintf(stderr, "\nWSDL/XSD '%s' already imported\n", location);
+      found = true;
+      definitionsRef = (*i).second;
+    }
+  }
+  if (!found && location)
+  { // parse imported definitions
+    const char *source = definitions.sourceLocation();
+    if (vflag)
+      cerr << "Importing '" << location << "' into '" << (source?source:"(source location not set)") << "'" << endl;
+    included[location] = definitionsRef = new wsdl__definitions(definitions.soap, source, location);
+    if (!definitionsRef)
+      return SOAP_EOF;
+    if (!namespace_)
+      namespace_ = definitionsRef->targetNamespace;
+    else if (!definitionsRef->targetNamespace || !*definitionsRef->targetNamespace)
+      definitionsRef->targetNamespace = namespace_;
+    else if (strcmp(namespace_, definitionsRef->targetNamespace))
+      cerr << "Error: wsdl definitions/import '" << location << "' namespace '" << namespace_ << "' does not match imported targetNamespace '" << definitionsRef->targetNamespace << "'" << endl;
+  }
+  else if (!location)
+    cerr << "Warning: wsdl definitions/import has no location attribute" << endl;
+  return SOAP_OK;
+}
+
+int wsdl__import::traverse(wsdl__definitions& definitions)
+{ if (definitionsRef)
+  { if (vflag)
+      cerr << " Analyzing imported wsdl namespace '" << (namespace_?namespace_:"") << "' in wsdl namespace '" << (definitions.targetNamespace?definitions.targetNamespace:"") << "'" << endl;
+    // process import first
+    for (vector<wsdl__import>::iterator im = definitionsRef->import.begin(); im != definitionsRef->import.end(); ++im)
+      (*im).traverse(definitions);
+    // then process the types
+    if (definitionsRef->types)
+      definitionsRef->types->traverse(definitions);
+    // process messages before portTypes
+    for (vector<wsdl__message>::iterator mg = definitionsRef->message.begin(); mg != definitionsRef->message.end(); ++mg)
+      (*mg).traverse(definitions);
+    // process portTypes before bindings
+    for (vector<wsdl__portType>::iterator pt = definitionsRef->portType.begin(); pt != definitionsRef->portType.end(); ++pt)
+      (*pt).traverse(definitions);
+    // process bindings
+    for (vector<wsdl__binding>::iterator bg = definitionsRef->binding.begin(); bg != definitionsRef->binding.end(); ++bg)
+      (*bg).traverse(definitions);
+    // process services
+    for (vector<wsdl__service>::iterator sv = definitionsRef->service.begin(); sv != definitionsRef->service.end(); ++sv)
+      (*sv).traverse(definitions);
+    if (vflag)
+      cerr << " End of imported wsdl namespace '" << (namespace_?namespace_:"") << "'" << endl;
+  }
+  return SOAP_OK;
+}
+
+void wsdl__import::definitionsPtr(wsdl__definitions *definitions)
+{ definitionsRef = definitions;
+  if (!definitionsRef && vflag)
+    cerr << "Warning: wsdl__import definitions set to NULL" << endl;
+}
+
+wsdl__definitions *wsdl__import::definitionsPtr() const
+{ return definitionsRef;
+}
+
+wsdl__import::wsdl__import()
+{ definitionsRef = NULL;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	streams
+//
+////////////////////////////////////////////////////////////////////////////////
+
+ostream &operator<<(ostream &o, const wsdl__definitions &e)
+{ if (!e.soap)
+  { struct soap soap;
+    soap_init2(&soap, SOAP_IO_DEFAULT, SOAP_XML_TREE | SOAP_C_UTFSTRING);
+    soap_set_namespaces(&soap, namespaces);
+    e.soap_serialize(&soap);
+    soap_begin_send(&soap);
+    e.soap_out(&soap, "wsdl:definitions", 0, NULL);
+    soap_end_send(&soap);
+    soap_destroy(&soap);
+    soap_end(&soap);
+    soap_done(&soap);
+  }
+  else
+  { ostream *os = e.soap->os;
+    e.soap->os = &o;
+    e.soap_serialize(e.soap);
+    soap_begin_send(e.soap);
+    e.soap_out(e.soap, "wsdl:definitions", 0, NULL);
+    soap_end_send(e.soap);
+    e.soap->os = os;
+  }
+  return o;
+}
+
+istream &operator>>(istream &i, wsdl__definitions &e)
+{ if (!e.soap)
+  { e.soap = soap_new1(SOAP_XML_TREE | SOAP_C_UTFSTRING);
+    soap_set_namespaces(e.soap, namespaces);
+  }
+  istream *is = e.soap->is;
+  e.soap->is = &i;
+  if (soap_begin_recv(e.soap)
+   || !e.soap_in(e.soap, "wsdl:", NULL)
+   || soap_end_recv(e.soap))
+  { // handle error? Note: e.soap->error is set and app should check
+  }
+  e.soap->is = is;
+  return i;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	Miscellaneous
+//
+////////////////////////////////////////////////////////////////////////////////
+
+extern "C" {
+
+int warn_ignore(struct soap *soap, const char *tag)
+{ // We don't warn if the omitted element was an annotation or a documentation in an unexpected place
+  if (soap->mustUnderstand)
+    fprintf(stderr, "Error: element '%s' at level %d must be understood\n", tag, soap->level);
+  if (!Wflag
+   && soap_match_tag(soap, tag, "xs:annotation")
+   && soap_match_tag(soap, tag, "xs:documentation")
+   && soap_match_tag(soap, tag, "xs:appinfo"))
+    fprintf(stderr, "Warning: unexpected element '%s' at level %d is skipped (safe to ignore)\n", tag, soap->level);
+  if (soap->body && !soap_string_in(soap, 0, -1, -1))
+    return soap->error;
+  return SOAP_OK;
+}
+
+int show_ignore(struct soap *soap, const char *tag)
+{ warn_ignore(soap, tag);
+  soap_print_fault_location(soap, stderr);
+  return SOAP_OK;
+}
+
+} // end extern "C"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/wsdl.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,382 @@
+/*
+	wsdl.h
+
+	WSDL 1.1 and WSDL 2.0 schemas
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+//gsoapopt w
+
+//gsoap wsdl schema documentation:	WSDL 1.1/2.0 binding schema
+//gsoap wsdl schema namespace:		http://schemas.xmlsoap.org/wsdl/
+//gsoap wsdl schema namespace2:		http://www.w3.org/ns/wsdl
+//gsoap wsdl schema elementForm:	qualified
+//gsoap wsdl schema attributeForm:	unqualified
+
+#import "imports.h"
+#import "schema.h"
+#import "soap.h"
+#import "mime.h"
+#import "dime.h"
+#import "http.h"
+#import "gwsdl.h"
+#import "wsam.h"
+#import "wsp.h"
+
+class wsdl__definitions;		// forward declaration
+
+class wsdl__import
+{ public:
+	@xsd__anyURI			namespace_;
+	@xsd__anyURI			location;
+  private:
+  	wsdl__definitions		*definitionsRef;
+  public:
+					wsdl__import();
+	int				preprocess(wsdl__definitions&);
+  	int				traverse(wsdl__definitions&);
+	void				definitionsPtr(wsdl__definitions*);
+	wsdl__definitions		*definitionsPtr() const;
+};
+
+class wsdl__types : public xs__schema				// WSDL 2.0 <types> inlined schema
+{ public:
+	xsd__string			documentation;		// <wsdl:documentation>?
+	std::vector<xs__schema*>	xs__schema_; 		// <xs:schema>*
+  public:
+	int				preprocess(wsdl__definitions&);
+	int				traverse(wsdl__definitions&);
+};
+
+class wsdl__part
+{ public:
+	@xsd__NMTOKEN			name;
+	@xsd__QName			element;
+	@xsd__QName			type;
+	xsd__string			documentation;		// <wsdl:documentation>?
+  private:
+  	xs__element			*elementRef;		// traverse() finds element
+  	xs__simpleType			*simpleTypeRef;		// traverse() finds simpleType
+  	xs__complexType			*complexTypeRef;	// traverse() finds complexType
+  public:
+					wsdl__part();
+  	int				traverse(wsdl__definitions&);
+	void				elementPtr(xs__element*);
+	void				simpleTypePtr(xs__simpleType*);
+	void				complexTypePtr(xs__complexType*);
+	xs__element			*elementPtr() const;
+	xs__simpleType			*simpleTypePtr() const;
+	xs__complexType			*complexTypePtr() const;
+};
+
+class wsdl__message
+{ public:
+	@xsd__NMTOKEN			name;
+	xsd__string			documentation;		// <wsdl:documentation>?
+	std::vector<wsp__Policy>	wsp__Policy_;		// <wsp:Policy>*
+	std::vector<wsp__PolicyReference> wsp__PolicyReference_;// <wsp:PolicyReference>*
+	std::vector<wsdl__part>		part;			// <wsdl:part>*
+  public:
+  	int				traverse(wsdl__definitions&);
+};
+
+class wsdl__ioput
+{ public:
+	@xsd__NMTOKEN			name;
+	@xsd__QName			message;
+	@xsd__NMTOKEN			messageLabel;		// WSDL 2.0
+	@xsd__QName			element;		// WSDL 2.0
+	@xsd__anyURI			wsa__Action;
+	@xsd__anyURI			wsam__Action;
+	xsd__string			documentation;		// <wsdl:documentation>?
+	wsp__Policy			*wsp__Policy_;		// <wsp:Policy>?
+	wsp__PolicyReference		*wsp__PolicyReference_;	// <wsp:PolicyReference>?
+  private:
+  	wsdl__message			*messageRef;		// traverse() finds message
+  	xs__element			*elementRef;		// traverse() finds element WSDL 2.0
+  public:
+  					wsdl__ioput();
+  	int				traverse(wsdl__definitions&);
+	void				messagePtr(wsdl__message*);
+	wsdl__message			*messagePtr() const;
+	void				elementPtr(xs__element*);
+	xs__element			*elementPtr() const;
+};
+
+class wsdl__fault
+{ public:
+	@xsd__NMTOKEN			name;
+	@xsd__QName			message;
+	@xsd__QName			ref;			// WSDL 2.0
+	@xsd__NMTOKEN			messageLabel;		// WSDL 2.0
+	@xsd__QName			element;		// WSDL 2.0
+	@xsd__anyURI			wsa__Action;
+	@xsd__anyURI			wsam__Action;
+	xsd__string			documentation;		// <wsdl:documentation>?
+	wsp__Policy			*wsp__Policy_;		// <wsp:Policy>?
+	wsp__PolicyReference		*wsp__PolicyReference_;	// <wsp:PolicyReference>?
+  private:
+  	wsdl__message			*messageRef;		// traverse() finds message
+  	xs__element			*elementRef;		// traverse() finds element WSDL 2.0
+  public:
+  					wsdl__fault();
+  	int				traverse(wsdl__definitions&);
+	void				messagePtr(wsdl__message*);
+	wsdl__message			*messagePtr() const;
+	void				elementPtr(xs__element*);
+	xs__element			*elementPtr() const;
+};
+
+class wsdl__operation
+{ public:
+	@xsd__NMTOKEN			name;
+	@xsd__anyURI			pattern;		// WSDL 2.0
+	@xsd__anyURI			style;			// WSDL 2.0
+	@xsd__string			wrpc__signature;	// WSDL 2.0
+	@xsd__string			parameterOrder;
+	xsd__string			documentation;		// <wsdl:documentation>?
+	wsp__Policy			*wsp__Policy_;		// <wsp:Policy>?
+	wsp__PolicyReference		*wsp__PolicyReference_;	// <wsp:PolicyReference>?
+	$int				__union1;
+	union wsdl__union_ioput					// <wsdl:input>|<wsdl:output>
+	{	wsdl__ioput		*input;
+		wsdl__ioput		*output;
+	}				__ioput1;
+	$int				__union2;
+	union wsdl__union_ioput 	__ioput2;		// <wsdl:input>|<wsdl:output>
+	std::vector<wsdl__fault>	fault;			// <wsdl:fault>*
+	std::vector<wsdl__fault>	infault;		// <wsdl:infault>* WSDL 2.0
+	std::vector<wsdl__fault>	outfault;		// <wsdl:outfault>* WSDL 2.0
+  public:
+  	int				traverse(wsdl__definitions&);
+};
+
+class wsdl__portType			// ... and WSDL 2.0 interface
+{ public:
+	@xsd__NMTOKEN			name;
+	@xsd__QName			extends;		// WSDL 2.0
+	@xsd__anyURI			styleDefault;		// WSDL 2.0
+	xsd__string			documentation;		// <wsdl:documentation>?
+	wsp__Policy			*wsp__Policy_;		// <wsp:Policy>?
+	wsp__PolicyReference		*wsp__PolicyReference_;	// <wsp:PolicyReference>?
+	std::vector<wsdl__fault>	fault;			// <wsdl:fault>* WSDL 2.0
+	std::vector<wsdl__operation>	operation;		// <wsdl:operation>*
+  private:
+	wsdl__definitions		*definitionsRef;
+  public:
+					wsdl__portType();
+  	int				traverse(wsdl__definitions&);
+	void				definitionsPtr(wsdl__definitions*);
+	wsdl__definitions		*definitionsPtr() const;
+};	
+
+class wsdl__ext_ioput			// binding extensibility element
+{ public:
+	@xsd__NMTOKEN			name;
+	@xsd__NMTOKEN			messageLabel;		// WSDL 2.0
+	xsd__string			documentation;		// <wsdl:documentation>?
+	wsp__Policy			*wsp__Policy_;		// <wsp:Policy>?
+	wsp__PolicyReference		*wsp__PolicyReference_;	// <wsp:PolicyReference>?
+	dime__message			*dime__message_;	// <dime:message>?
+	soap__body			*soap__body_;		// <soap:body>?
+	xsd__string			http__urlEncoded;	// <http:urlEncoded>?
+	mime__multipartRelated		*mime__multipartRelated_;// <mime:multipartRelated>?
+	mime__content			*mime__content_;	// <mime:content>?
+	mime__mimeXml			*mime__mimeXml_;	// <mime:mimeXml>?
+	std::vector<soap__header>	soap__header_;		// <soap:header>*
+	std::vector<wsoap__module>	wsoap__module_;		// <wsoap:module>* WSDL 2.0
+	std::vector<wsoap__header>	wsoap__header_;		// <wsoap:header>* WSDL 2.0
+	std::vector<whttp__header>	whttp__header_;		// <whttp:header>* WSDL 2.0
+  public:
+  	int				traverse(wsdl__definitions&);
+};
+
+class wsdl__ext_fault			// binding extensibility element
+{ public:
+	@xsd__NMTOKEN			name;
+	@xsd__QName			ref;			// WSDL 2.0
+	@xsd__NMTOKEN			messageLabel;		// WSDL 2.0
+	@xsd__QName			wsoap__code;		// WSDL 2.0
+	@xsd__QName			wsoap__subcodes;	// WSDL 2.0
+	xsd__string			documentation;		// <wsdl:documentation>?
+	wsp__Policy			*wsp__Policy_;		// <wsp:Policy>?
+	wsp__PolicyReference		*wsp__PolicyReference_;	// <wsp:PolicyReference>?
+	soap__fault			*soap__fault_;		// <soap:fault>?
+	std::vector<wsoap__module>	wsoap__module_;		// <wsoap:module>* WSDL 2.0
+  private:
+	wsdl__fault			*faultRef;
+  public:
+  					wsdl__ext_fault();
+  	int				traverse(wsdl__definitions&, wsdl__portType*);
+	void				faultPtr(wsdl__fault*);
+	wsdl__fault			*faultPtr() const;
+};
+
+class wsdl__ext_operation		// binding extensibility element
+{ public:
+	@xsd__NMTOKEN			name;
+	@xsd__QName			ref;			// WSDL 2.0
+	@xsd__anyURI			wsoap__mep;		// WSDL 2.0
+	@xsd__anyURI			wsoap__action;		// WSDL 2.0
+	@xsd__string			whttp__method;		// WSDL 2.0
+	@xsd__string			whttp__location;	// WSDL 2.0
+	xsd__string			documentation;		// <wsdl:documentation>?
+	wsp__Policy			*wsp__Policy_;		// <wsp:Policy>?
+	wsp__PolicyReference		*wsp__PolicyReference_;	// <wsp:PolicyReference>?
+	soap__operation			*soap__operation_;	// <soap:operation>?
+	http__operation			*http__operation_;	// <http:operation>?
+	wsdl__ext_ioput			*input;			// <wsdl:input>?
+	wsdl__ext_ioput			*output;		// <wsdl:output>?
+	std::vector<wsdl__ext_fault>	fault;			// <wsdl:fault>*
+	std::vector<wsdl__ext_fault>	infault;		// <wsdl:infault>* WSDL 2.0
+	std::vector<wsdl__ext_fault>	outfault;		// <wsdl:outfault>* WSDL 2.0
+  private:
+  	wsdl__operation			*operationRef;		// traverse() finds operation
+  public:
+  					wsdl__ext_operation();
+  	int				traverse(wsdl__definitions&, wsdl__portType*);
+	void				operationPtr(wsdl__operation*);
+	wsdl__operation			*operationPtr() const;
+};
+
+class wsdl__binding
+{ public:
+	@xsd__NMTOKEN			name;
+	@xsd__QName			type;
+	@xsd__anyURI			type_;			// WSDL 2.0
+	@xsd__QName			interface_;		// WSDL 2.0
+	@xsd__boolean			whttp__cookies = false;	// WSDL 2.0
+	@xsd__string			wsoap__version;		// WSDL 2.0
+	@xsd__anyURI			wsoap__protocol;	// WSDL 2.0
+	@xsd__anyURI			wsoap__mepDefault;	// WSDL 2.0
+	@xsd__string			whttp__methodDefault;	// WSDL 2.0
+	xsd__string			documentation;		// <wsdl:documentation>?
+	std::vector<wsp__Policy>	wsp__Policy_;		// <wsp:Policy>*
+	std::vector<wsp__PolicyReference> wsp__PolicyReference_;// <wsp:PolicyReference>*
+	soap__binding			*soap__binding_;	// <soap:binding>?
+	http__binding			*http__binding_;	// <http:binding>?
+	std::vector<wsoap__module>	wsoap__module_;		// <wsoap:module>* WSDL 2.0
+	std::vector<wsdl__ext_fault>	fault;			// <wsdl:fault>* WSDL 2.0
+	std::vector<wsdl__ext_operation> operation;		// <wsdl:operation>*
+  private:
+	wsdl__portType			*portTypeRef;		// traverse() finds portType/interface
+  public:
+					wsdl__binding();
+	int				traverse(wsdl__definitions&);
+	void				portTypePtr(wsdl__portType*);
+	wsdl__portType			*portTypePtr() const;
+};
+
+class wsdl__port			// ... and WSDL 2.0 endpoint
+{ public:
+	@xsd__NMTOKEN			name;
+	@xsd__QName			binding;
+	@xsd__anyURI			address;		// WSDL 2.0
+	@xsd__NMTOKEN			whttp__authenticationScheme; // WSDL 2.0
+	@xsd__NMTOKEN			whttp__authenticationRealm; // WSDL 2.0
+	xsd__string			documentation;		// <wsdl:documentation>?
+	wsp__Policy			*wsp__Policy_;		// <wsp:Policy>?
+	wsp__PolicyReference		*wsp__PolicyReference_;	// <wsp:PolicyReference>?
+	wsa__EndpointReferenceType	*wsa__EndpointReference;// <wsa:EndpointReference>?
+	soap__address			*soap__address_;	// <soap:address>?
+	http__address			*http__address_;	// <http:address>?
+  private:
+	wsdl__binding			*bindingRef;		// traverse() finds binding
+  public:
+  					wsdl__port();
+	int				traverse(wsdl__definitions&);
+	void				bindingPtr(wsdl__binding*);
+	wsdl__binding			*bindingPtr() const;
+};
+
+class wsdl__service
+{ public:
+	@xsd__NMTOKEN			name;
+	@xsd__QName			interface_;		// WSDL 2.0
+	xsd__string			documentation;		// <wsdl:documentation>?
+	std::vector<wsp__Policy>	wsp__Policy_;		// <wsp:Policy>*
+	std::vector<wsp__PolicyReference> wsp__PolicyReference_;// <wsp:PolicyReference>*
+	std::vector<wsdl__port>		port;			// <wsdl:port>* WSDL 1.1
+	std::vector<wsdl__port>		endpoint;		// <wsdl:port>* WSDL 2.0
+  public:
+	int				traverse(wsdl__definitions&);
+};
+
+class wsdl__definitions
+{ public:
+	@xsd__NMTOKEN			name;
+	@xsd__anyURI			targetNamespace		= "";
+	@xsd__NMTOKEN			version;
+	std::vector<wsdl__import>	import;			// <wsdl:import>*
+	xsd__string			documentation;		// <wsdl:documentation>?
+	xsd__string			wsp__UsingPolicy;	// <wsp:UsingPolcy>?
+	std::vector<wsp__Policy>	wsp__Policy_;		// <wsp:Policy>*
+	wsdl__types			*types;			// <wsdl:types>?
+	std::vector<wsdl__message>	message;		// <wsdl:message>*
+	std::vector<wsdl__portType>	portType;		// <wsdl:portType>* WSDL 1.1
+	std::vector<wsdl__portType>	interface_;		// <wsdl:interface>* WSDL 2.0
+	std::vector<wsdl__binding>	binding;		// <wsdl:binding>*
+	std::vector<wsdl__service>	service;		// <wsdl:service>*
+	std::vector<gwsdl__portType>	gwsdl__portType_;	// <gwsdl:portType>* For the moment, we will hardcode this which makes it easier to access. WSDL 1.1 does not allow this to be extended anyway
+	struct soap			*soap;
+  private:
+	bool				soap12;
+	bool				updated;
+	char*				location;
+	int				redirs;
+	SetOfString			builtinTypeSet;
+	SetOfString			builtinElementSet;
+	SetOfString			builtinAttributeSet;
+  public:
+					wsdl__definitions();
+					wsdl__definitions(struct soap*, const char*, const char*);
+	virtual				~wsdl__definitions();
+	int				get(struct soap*);	// gSOAP getter is triggered after parsing
+	int				preprocess();
+	int				traverse();
+	int				read(int, char**);
+	int				read(const char *cwd, const char*);
+	const char*			sourceLocation();
+	int				error();
+	void				print_fault();
+	void				builtinType(const char*);
+	void				builtinTypes(const SetOfString&);
+	void				builtinElement(const char*);
+	void				builtinElements(const SetOfString&);
+	void				builtinAttribute(const char*);
+	void				builtinAttributes(const SetOfString&);
+	const SetOfString&		builtinTypes() const;
+	const SetOfString&		builtinElements() const;
+	const SetOfString&		builtinAttributes() const;
+	friend ostream&			operator<<(ostream&, const wsdl__definitions&);
+	friend istream&			operator>>(istream&, wsdl__definitions&);
+};
+
+extern ostream &operator<<(ostream &o, const wsdl__definitions &e);
+extern istream &operator>>(istream &i, wsdl__definitions &e);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/wsdl2h.cpp	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,527 @@
+/*
+	wsdl2h.cpp
+
+	WSDL parser, translator, and generator (of the gSOAP header file format)
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+
+Build:
+	soapcpp2 -ipwsdl wsdl.h
+	g++ -o wsdl2h wsdl2h.cpp types.cpp service.cpp wsdl.cpp schema.cpp wsdlC.cpp stdsoap2.cpp
+	
+TODO:
+	Resolve relative versus absolute import paths for reading imported WSDL/schema (use URL local addresses)
+	Do not generate abstract complexTypes, but include defs in derived types
+	Handle simpleType derivation from base64
+
+*/
+
+#include "includes.h"
+#include "types.h"
+#include "service.h"
+
+#ifndef WSDL2H_IMPORT_PATH
+#define WSDL2H_IMPORT_PATH (NULL)
+#endif
+
+#ifndef WSDL_TYPEMAP_FILE
+#define WSDL_TYPEMAP_FILE "typemap.dat"
+#endif
+
+static void init();
+static void options(int argc, char **argv);
+
+int _flag = 0,
+    aflag = 0,
+    bflag = 0,
+    cflag = 0,
+    dflag = 0,
+    eflag = 0,
+    fflag = 0,
+    gflag = 0,
+    iflag = 0,
+    jflag = 0,
+    kflag = 0,
+    mflag = 0,
+    pflag = 0,
+    Pflag = 0,
+    Rflag = 0,
+    sflag = 0,
+    uflag = 0,
+    vflag = 0,
+    wflag = 0,
+    Wflag = 0,
+    xflag = 0,
+    yflag = 0,
+    zflag = 0;
+
+int infiles = 0;
+char *infile[MAXINFILES],
+     *outfile = NULL,
+     *proxy_host = NULL,
+     *proxy_userid = NULL,
+     *proxy_passwd = NULL,
+     *auth_userid = NULL,
+     *auth_passwd = NULL;
+const char
+     *mapfile = WSDL_TYPEMAP_FILE,
+     *import_path = WSDL2H_IMPORT_PATH,
+     *cwd_path = NULL,
+     *cppnamespace = NULL;
+
+int proxy_port = 8080;
+
+FILE *stream = stdout;
+
+SetOfString exturis;
+
+extern struct Namespace namespaces[];
+
+const char *service_prefix = NULL;
+const char *schema_prefix = "ns";
+
+const char elementformat[]             = "    %-35s  %-30s";
+const char pointerformat[]             = "    %-35s *%-30s";
+const char attributeformat[]           = "   @%-35s  %-30s";
+const char vectorformat[]              = "    std::vector<%-23s> %-30s";
+const char pointervectorformat[]       = "    std::vector<%-22s> *%-30s";
+const char vectorformat_open[]         = "    std::vector<%s";
+const char arrayformat[]               = "    %-35s *__ptr%-25s";
+const char arraysizeformat[]           = "    %-35s  __size%-24s";
+const char arrayoffsetformat[]         = "//  %-35s  __offset%-22s";
+const char sizeformat[]                = "   $%-35s  __size%-24s";
+const char choiceformat[]              = "   $%-35s  __union%-23s";
+const char schemaformat[]              = "//gsoap %-5s schema %s:\t%s\n";
+const char serviceformat[]             = "//gsoap %-4s service %s:\t%s %s\n";
+const char paraformat[]                = "    %-35s%s%s%s";
+const char anonformat[]                = "    %-35s%s_%s%s";
+
+const char copyrightnotice[] = "\n**  The gSOAP WSDL/Schema processor for C and C++, wsdl2h release " WSDL2H_VERSION "\n**  Copyright (C) 2000-2013 Robert van Engelen, Genivia Inc.\n**  All Rights Reserved. This product is provided \"as is\", without any warranty.\n**  The wsdl2h tool is released under one of the following licenses:\n**  GPL or the commercial license by Genivia Inc. Use option -l for details.\n\n";
+
+const char licensenotice[]   = "\
+--------------------------------------------------------------------------------\n\
+gSOAP XML Web services tools\n\
+Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc. All Rights Reserved.\n\
+\n\
+This software is released under one of the following licenses:\n\
+GPL or Genivia's license for commercial use.\n\
+--------------------------------------------------------------------------------\n\
+GPL license.\n\
+\n\
+This program is free software; you can redistribute it and/or modify it under\n\
+the terms of the GNU General Public License as published by the Free Software\n\
+Foundation; either version 2 of the License, or (at your option) any later\n\
+version.\n\
+\n\
+This program is distributed in the hope that it will be useful, but WITHOUT ANY\n\
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A\n\
+PARTICULAR PURPOSE. See the GNU General Public License for more details.\n\
+\n\
+You should have received a copy of the GNU General Public License along with\n\
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple\n\
+Place, Suite 330, Boston, MA 02111-1307 USA\n\
+\n\
+Author contact information:\n\
+engelen@genivia.com / engelen@acm.org\n\
+\n\
+This program is released under the GPL with the additional exemption that\n\
+compiling, linking, and/or using OpenSSL is allowed.\n\
+--------------------------------------------------------------------------------\n\
+A commercial-use license is available from Genivia, Inc., contact@genivia.com\n\
+--------------------------------------------------------------------------------\n";
+
+int main(int argc, char **argv)
+{ init();
+  fprintf(stderr, "%s", copyrightnotice);
+  options(argc, argv);
+  Definitions def;
+  wsdl__definitions definitions;
+  definitions.read(infiles, infile);
+  if (definitions.error())
+  { definitions.print_fault();
+    exit(1);
+  }
+  definitions.traverse();
+  def.compile(definitions);
+  if (outfile)
+  { fclose(stream);
+    fprintf(stderr, "\nTo complete the process, compile with:\n> soapcpp2 %s\n", outfile);
+    if (!cflag)
+      fprintf(stderr, "or to generate C++ proxy and object classes:\n> soapcpp2 -j %s\n", outfile);
+    fprintf(stderr, "\n");
+  }
+  return 0;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	Initialization
+//
+////////////////////////////////////////////////////////////////////////////////
+
+static void init()
+{ struct Namespace *p = namespaces;
+  if (p)
+  { for (; p->id; p++)
+    { if (p->in && *p->in)
+        exturis.insert(p->in);
+      if (p->ns && *p->ns)
+        exturis.insert(p->ns);
+    }
+  }
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	Parse command line options
+//
+////////////////////////////////////////////////////////////////////////////////
+
+static void options(int argc, char **argv)
+{ int i;
+  infiles = 0;
+  for (i = 1; i < argc; i++)
+  { char *a = argv[i];
+    if (*a == '-'
+#ifdef WIN32
+     || *a == '/'
+#endif
+    )
+    { int g = 1;
+      while (g && *++a)
+      { switch (*a)
+        { case '_':
+            _flag = 1;
+       	    break;
+          case 'a':
+            aflag = 1;
+       	    break;
+          case 'b':
+            bflag = 1;
+       	    break;
+          case 'c':
+            cflag = 1;
+            if (cppnamespace)
+	      fprintf(stderr, "wsdl2h: Options -c and -q clash\n");
+       	    break;
+	  case 'd':
+	    dflag = 1;
+	    break;
+	  case 'e':
+	    eflag = 1;
+	    break;
+	  case 'f':
+	    fflag = 1;
+	    break;
+	  case 'g':
+	    gflag = 1;
+	    break;
+	  case 'i':
+	    iflag = 1;
+	    break;
+	  case 'j':
+	    jflag = 1;
+	    break;
+	  case 'k':
+	    kflag = 1;
+	    break;
+          case 'I':
+            a++;
+            g = 0;
+            if (*a)
+              import_path = a;
+            else if (i < argc && argv[++i])
+              import_path = argv[i];
+            else
+              fprintf(stderr, "wsdl2h: Option -I requires a path argument\n");
+	    break;
+	  case 'l':
+            fprintf(stderr, "%s", licensenotice);
+	    exit(0);
+	    break;
+	  case 'm':
+	    mflag = 1;
+	    break;
+          case 'n':
+            a++;
+            g = 0;
+            if (*a)
+              schema_prefix = a;
+            else if (i < argc && argv[++i])
+              schema_prefix = argv[i];
+            else
+              fprintf(stderr, "wsdl2h: Option -n requires a prefix name argument\n");
+	    break;
+          case 'N':
+            a++;
+            g = 0;
+            if (*a)
+              service_prefix = a;
+            else if (i < argc && argv[++i])
+              service_prefix = argv[i];
+            else
+              fprintf(stderr, "wsdl2h: Option -N requires a prefix name argument\n");
+	    break;
+          case 'o':
+            a++;
+            g = 0;
+            if (*a)
+              outfile = a;
+            else if (i < argc && argv[++i])
+              outfile = argv[i];
+            else
+              fprintf(stderr, "wsdl2h: Option -o requires an output file argument\n");
+	    break;
+	  case 'p':
+	    pflag = 1;
+	    break;
+	  case 'P':
+	    Pflag = 1;
+	    break;
+	  case 'q':
+            a++;
+            g = 0;
+            if (*a)
+	      cppnamespace = a;
+            else if (i < argc && argv[++i])
+              cppnamespace = argv[i];
+            else
+              fprintf(stderr, "wsdl2h: Option -q requires a C++ namespace name argument\n");
+            if (cflag)
+	      fprintf(stderr, "wsdl2h: Options -c and -q clash\n");
+	    break;
+	  case 'r':
+            a++;
+            g = 0;
+            if (*a)
+              proxy_host = a;
+            else if (i < argc && argv[++i])
+              proxy_host = argv[i];
+            else
+              fprintf(stderr, "wsdl2h: Option -r requires proxy host:port:userid:passwd or :userid:passwd authentication argument\n");
+            if (proxy_host)
+	    { char *s = (char*)emalloc(strlen(proxy_host + 1));
+	      strcpy(s, proxy_host);
+	      proxy_host = s;
+	      s = strchr(proxy_host, ':');
+	      if (s)
+	      { *s = '\0';
+		if (*proxy_host)
+	        { proxy_port = soap_strtol(s + 1, &s, 10);
+		  if (s && *s == ':')
+	          { *s = '\0';
+		    proxy_userid = s + 1;
+		    s = strchr(proxy_userid, ':');
+		    if (s && *s == ':')
+		    { *s = '\0';
+		      proxy_passwd = s + 1;
+		    }
+		  }
+	        }
+		else
+		{ s = proxy_host;
+		  proxy_host = NULL;
+		  auth_userid = s + 1;
+                  s = strchr(auth_userid, ':');
+		  if (s && *s == ':')
+		  { *s = '\0';
+		    auth_passwd = s + 1;
+		  }
+		}
+	      }
+	    }
+	    break;
+	  case 'R':
+	    Rflag = 1;
+	    break;
+	  case 's':
+	    sflag = 1;
+	    break;
+          case 't':
+            a++;
+            g = 0;
+            if (*a)
+              mapfile = a;
+            else if (i < argc && argv[++i])
+              mapfile = argv[i];
+            else
+              fprintf(stderr, "wsdl2h: Option -t requires a type map file argument\n");
+	    break;
+	  case 'u':
+	    uflag = 1;
+	    break;
+	  case 'v':
+	    vflag = 1;
+	    break;
+	  case 'w':
+	    wflag = 1;
+	    break;
+	  case 'W':
+	    Wflag = 1;
+	    break;
+	  case 'x':
+	    xflag = 1;
+	    break;
+	  case 'y':
+	    yflag = 1;
+	    break;
+	  case 'z':
+            a++;
+            g = 0;
+            if (*a)
+              zflag = soap_strtol(a, NULL, 10);
+            else if (i < argc && argv[++i])
+              zflag = soap_strtol(argv[i], NULL, 10);
+	    else
+	      zflag = 1;
+	    break;
+          case '?':
+          case 'h':
+            fprintf(stderr, "Usage: wsdl2h [-a] [-b] [-c] [-d] [-e] [-f] [-g] [-h] [-I path] [-i] [-j] [-k] [-l] [-m] [-N name] [-n name] [-P|-p] [-q name] [-R] [-r proxyhost[:port[:uid:pwd]]] [-r:userid:passwd] [-s] [-t typemapfile] [-u] [-v] [-w] [-W] [-x] [-y] [-z#] [-_] [-o outfile.h] infile.wsdl infile.xsd http://www... ...\n\n");
+            fprintf(stderr, "\
+-a      generate indexed struct names for local elements with anonymous types\n\
+-b	bi-directional operations (duplex ops) added to serve one-way responses\n\
+-c      generate C source code\n\
+-d      use DOM to populate xs:any, xs:anyType, and xs:anyAttribute\n\
+-e      don't qualify enum names\n\
+-f      generate flat C++ class hierarchy\n\
+-g      generate global top-level element declarations\n\
+-h      display help info\n\
+-Ipath  use path to find files\n\
+-i      don't import (advanced option)\n\
+-j      don't generate SOAP_ENV__Header and SOAP_ENV__Detail definitions\n\
+-k      don't generate SOAP_ENV__Header mustUnderstand qualifiers\n\
+-l      display license information\n\
+-m      use xsd.h module to import primitive types\n\
+-Nname  use name for service prefixes to produce a service for each binding\n\
+-nname  use name as the base namespace prefix instead of 'ns'\n\
+-ofile  output to file\n\
+-P      don't create polymorphic types inherited from xsd__anyType\n\
+-p      create polymorphic types inherited from base xsd__anyType\n\
+-qname  use name for the C++ namespace of all declarations\n\
+-R      generate REST operations for REST bindings in the WSDL\n\
+-rhost[:port[:uid:pwd]]\n\
+        connect via proxy host, port, and proxy credentials\n\
+-r:uid:pwd\n\
+        connect with authentication credentials (digest auth requires SSL)\n\
+-s      don't generate STL code (no std::string and no std::vector)\n\
+-tfile  use type map file instead of the default file typemap.dat\n\
+-u      don't generate unions\n\
+-v      verbose output\n\
+-W      suppress warnings\n\
+-w      always wrap response parameters in a response struct (<=1.1.4 behavior)\n\
+-x      don't generate _XML any/anyAttribute extensibility elements\n\
+-y      generate typedef synonyms for structs and enums\n\
+-z1     compatibility with 2.7.6e: generate pointer-based arrays\n\
+-z2     compatibility with 2.7.7 to 2.7.15: qualify element/attribute references\n\
+-z3     compatibility with 2.7.16 to 2.8.7: qualify element/attribute references\n\
+-z4     compatibility up to 2.8.11: don't generate union structs in std::vector\n\
+-z5     compatibility up to 2.8.15\n\
+-_      don't generate _USCORE (replace with UNICODE _x005f)\n\
+infile.wsdl infile.xsd http://www... list of input sources (if none: use stdin)\n\
+\n");
+            exit(0);
+          default:
+            fprintf(stderr, "wsdl2h: Unknown option %s\n", a);
+            exit(1);
+        }
+      }
+    }
+    else
+    { infile[infiles++] = argv[i];
+      if (infiles >= MAXINFILES)
+      { fprintf(stderr, "wsdl2h: too many files\n");
+        exit(1);
+      }
+    }
+  }
+  if (infiles)
+  { if (!outfile)
+    { if (strncmp(infile[0], "http://", 7) && strncmp(infile[0], "https://", 8))
+      { const char *s = strrchr(infile[0], '.');
+        if (s && (!soap_tag_cmp(s, ".wsdl") || !soap_tag_cmp(s, ".gwsdl") || !soap_tag_cmp(s, ".xsd")))
+        { outfile = estrdup(infile[0]);
+          outfile[s - infile[0] + 1] = 'h';
+          outfile[s - infile[0] + 2] = '\0';
+        }
+        else
+        { outfile = (char*)emalloc(strlen(infile[0]) + 3);
+          strcpy(outfile, infile[0]);
+          strcat(outfile, ".h");
+        }
+      }
+    }
+    if (outfile)
+    { stream = fopen(outfile, "w");
+      if (!stream)
+      { fprintf(stderr, "Cannot write to %s\n", outfile);
+        exit(1);
+      }
+      if (cppnamespace)
+        fprintf(stream, "namespace %s {\n", cppnamespace);
+      fprintf(stderr, "Saving %s\n\n", outfile);
+    }
+  }
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	Namespaces
+//
+////////////////////////////////////////////////////////////////////////////////
+
+struct Namespace namespaces[] =
+{
+  {"SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/", "http://www.w3.org/*/soap-envelope"},
+  {"SOAP-ENC", "http://schemas.xmlsoap.org/soap/encoding/", "http://www.w3.org/*/soap-encoding"},
+  {"xsi", "http://www.w3.org/2001/XMLSchema-instance"},
+  {"xsd", "-"}, // http://www.w3.org/2001/XMLSchema"}, // don't use this, it might conflict with xs
+  {"xml", "http://www.w3.org/XML/1998/namespace"},
+  {"xs", "http://www.w3.org/2001/XMLSchema", "http://www.w3.org/*/XMLSchema" },
+  {"http", "http://schemas.xmlsoap.org/wsdl/http/"},
+  {"soap", "http://schemas.xmlsoap.org/wsdl/soap/", "http://schemas.xmlsoap.org/wsdl/soap*/"},
+  {"mime", "http://schemas.xmlsoap.org/wsdl/mime/"},
+  {"xmime", "http://www.w3.org/2005/05/xmlmime"},
+  {"dime", "http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/", "http://schemas.xmlsoap.org/ws/*/dime/wsdl/"},
+  {"sp", "http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702", "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"},
+  {"wsdl", "http://schemas.xmlsoap.org/wsdl/", "http://www.w3.org/ns/wsdl"},
+  {"wsdli", "http://www.w3.org/ns/wsdl-instance"},
+  {"wsdlx", "http://www.w3.org/ns/wsdl-extensions"},
+  {"wsoap", "http://www.w3.org/ns/wsdl/soap"},
+  {"whttp", "http://www.w3.org/ns/wsdl/http"},
+  {"wrpc", "http://www.w3.org/ns/wsdl/rpc"},
+  {"wsa_", "http://www.w3.org/2005/08/addressing"},
+  {"wsaw", "http://www.w3.org/2006/05/addressing/wsdl"},
+  {"wsam", "http://www.w3.org/2007/05/addressing/metadata"},
+  {"wsrmp", "http://schemas.xmlsoap.org/ws/2005/02/rm/policy", "http://docs.oasis-open.org/ws-rx/wsrmp/*"},
+  {"wsp", "http://www.w3.org/ns/ws-policy", "http://schemas.xmlsoap.org/ws/2004/09/policy"},
+  {"wst", "http://docs.oasis-open.org/ws-sx/ws-trust/200512"},
+  {"wsu_", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"},
+  {"gwsdl", "http://www.gridforum.org/namespaces/2003/03/gridWSDLExtensions"},
+  {NULL, NULL}
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/wsp.cpp	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,658 @@
+/*
+	wsp.cpp
+
+	WS-Policy 1.2 and 1.5 binding schema
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2001-2010, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+#include "wsdlH.h"
+#include "includes.h"
+#include "types.h"
+#include "service.h"
+
+static wsp__Policy *search(const char *URI, wsdl__definitions& definitions);
+static wsp__Policy *search(const char *URI, wsp__Policy *policy);
+static wsp__Policy *search(const char *URI, wsp__Content *content);
+static void gen_parts(const sp__Parts& parts, Types& types, const char *what, const char *name, int indent);
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	wsp:OperatorContentType
+//
+////////////////////////////////////////////////////////////////////////////////
+
+int wsp__Content::traverse(wsdl__definitions& definitions)
+{ if (vflag)
+    cerr << "  Analyzing wsp Policy" << endl;
+  if (Policy)
+    Policy->traverse(definitions);
+  if (PolicyReference)
+    PolicyReference->traverse(definitions);
+  for (vector<wsp__Content*>::iterator i = All.begin(); i != All.end(); ++i)
+  { if (*i)
+      (*i)->traverse(definitions);
+  }
+  for (vector<wsp__Content*>::iterator j = ExactlyOne.begin(); j != ExactlyOne.end(); ++j)
+  { if (*j)
+      (*j)->traverse(definitions);
+  }
+  return SOAP_OK;
+}
+
+void wsp__Content::generate(Service& service, Types& types, int indent) const
+{ static const char stabs[] = "\t\t\t\t\t\t\t\t\t\t";
+  const char *tabs;
+  if (indent > 8)
+    indent = 8;
+  tabs = stabs + 9 - indent;
+  // Recursive policies and references
+  if (Policy)
+    Policy->generate(service, types, indent);
+  if (PolicyReference && PolicyReference->policyPtr())
+    PolicyReference->policyPtr()->generate(service, types, indent);
+  // WS-Policy All
+  if (!All.empty())
+  { fprintf(stream, "%s- All of the following:\n", tabs);
+    for (vector<wsp__Content*>::const_iterator p = All.begin(); p != All.end(); ++p)
+      if (*p)
+        (*p)->generate(service, types, indent + 1);
+  }
+  // WS-Policy ExactlyOne
+  if (!ExactlyOne.empty())
+  { fprintf(stream, "%s- Exactly one of the following:\n", tabs);
+    for (vector<wsp__Content*>::const_iterator p = ExactlyOne.begin(); p != ExactlyOne.end(); ++p)
+      if (*p)
+        (*p)->generate(service, types, indent + 1);
+  }
+  // WS-SecurityPolicy Parts (TODO: do we need vectors of these?)
+  for (vector<sp__Parts>::const_iterator sp = sp__SignedParts.begin(); sp != sp__SignedParts.end(); ++sp)
+    gen_parts(*sp, types, "sign", "[4.1.1] WS-Security Signed Parts", indent);
+  for (vector<sp__Parts>::const_iterator ep = sp__EncryptedParts.begin(); ep != sp__EncryptedParts.end(); ++ep)
+    gen_parts(*ep, types, "encrypt", "[4.2.1] Security Encrypted Parts", indent);
+  for (vector<sp__Parts>::const_iterator rp = sp__RequiredParts.begin(); rp != sp__RequiredParts.end(); ++rp)
+  { fprintf(stream, "%s- Required Header elements:", tabs);
+    for (vector<sp__Header>::const_iterator h = (*rp).Header.begin(); h != (*rp).Header.end(); ++h)
+      if ((*h).Name)
+        fprintf(stream, " %s", types.aname(NULL, (*h).Namespace, (*h).Name));
+      else if ((*h).Namespace)
+        fprintf(stream, " %s", (*h).Namespace);
+  }
+  // WS-SecurityPolicy Elements
+  sp__Elements *elts = NULL;
+  const char *elts_name = NULL;
+  if (sp__SignedElements)
+  { elts = sp__SignedElements;
+    elts_name = "[4.1.2] Signed";
+  }
+  if (sp__EncryptedElements)
+  { elts = sp__EncryptedElements;
+    elts_name = "[4.2.2] Encrypted";
+  }
+  if (sp__ContentEncryptedElements)
+  { elts = sp__ContentEncryptedElements;
+    elts_name = "[4.2.3] Content Encrypted";
+  }
+  if (sp__RequiredElements)
+  { elts = sp__RequiredElements;
+    elts_name = "[4.3.1] Required";
+  }
+  if (elts)
+  { fprintf(stream, "%s- %s Elements requirements (XPath%s):\n%s  @verbatim\n", tabs, elts_name, elts->XPathVersion?elts->XPathVersion:"", tabs);
+    for (vector<xsd__string>::const_iterator s = elts->XPath.begin(); s != elts->XPath.end(); ++s)
+    { fprintf(stream, "%s  ", tabs);
+      text(*s);
+    }
+    fprintf(stream, "%s  @endverbatim\n", tabs);
+    service.add_import("wsse.h");
+  }
+  // WS-SecurityPolicy Tokens
+  sp__Token *token = NULL;
+  const char *token_name = NULL;
+  if (sp__UsernameToken)
+  { token = sp__UsernameToken;
+    token_name = "[5.4.1] WS-Security Username";
+  }
+  else if (sp__IssuedToken)
+  { token = sp__IssuedToken;
+    token_name = "[5.4.2] WS-Trust Issued";
+  }
+  else if (sp__X509Token)
+  { token = sp__X509Token;
+    token_name = "[5.4.3] WS-Security X509";
+  }
+  else if (sp__KerberosToken)
+  { token = sp__KerberosToken;
+    token_name = "[5.4.4] WS-Security Kerberos";
+  }
+  else if (sp__SpnegoContextToken)
+  { token = sp__SpnegoContextToken;
+    token_name = "[5.4.5] WS-Trust n-leg RST/RSTR SPNEGO binary negotiation protocol (SpnegoContext)";
+  }
+  else if (sp__SecurityContextToken)
+  { token = sp__SecurityContextToken;
+    token_name = "[5.4.6] WS-SecureConversation SecurityContext";
+  }
+  else if (sp__SecureConversationToken)
+  { token = sp__SecureConversationToken;
+    token_name = "[5.4.7] WS-SecureConversation";
+  }
+  else if (sp__SamlToken)
+  { token = sp__SamlToken;
+    token_name = "[5.4.8] SAML";
+  }
+  else if (sp__RelToken)
+  { token = sp__RelToken;
+    token_name = "[5.4.9] WSS-REL";
+  }
+  else if (sp__HttpsToken)
+  { token = sp__HttpsToken;
+    token_name = "[5.4.10] HTTPS";
+  }
+  else if (sp__KeyValueToken)
+  { token = sp__KeyValueToken;
+    token_name = "[5.4.11] XML Signature";
+  }
+  if (token)
+  { fprintf(stream, "%s- %s required:\n", tabs, token_name);
+    if (token->IncludeToken)
+      fprintf(stream, "%s  -# IncludeToken = %s\n", tabs, token->IncludeToken);
+    if (token->Issuer && token->Issuer->Address)
+      fprintf(stream, "%s  -# Issuer       = %s\n", tabs, token->Issuer->Address);
+    if (token->IssuerName)
+      fprintf(stream, "%s  -# Issuer Name  = %s\n", tabs, token->IssuerName);
+    if (token->Policy)
+      token->Policy->generate(service, types, indent + 1);
+    // TODO: add wst:Claims?
+    service.add_import("wsse.h");
+  }
+  // WS-SecurityPolicy
+  if (sp__AlgorithmSuite)
+  { fprintf(stream, "%s- [7.1] Security Binding Algorithm Suite requirements:\n", tabs);
+    if (sp__AlgorithmSuite->Policy)
+      sp__AlgorithmSuite->Policy->generate(service, types, indent + 1);
+  }
+  if (sp__Layout)
+  { fprintf(stream, "%s- [7.2] WS-Security Header Layout requirements:\n", tabs);
+    if (sp__Layout->Policy)
+      sp__Layout->Policy->generate(service, types, indent + 1);
+  }
+  if (sp__TransportBinding)
+  { fprintf(stream, "%s- [7.3] Transport Binding%s requirements:\n", tabs, sp__TransportBinding->Optional ? " (optional)" : sp__TransportBinding->Ignorable ? " (ignorable)" : "");
+    if (sp__TransportBinding->Policy)
+      sp__TransportBinding->Policy->generate(service, types, indent + 1);
+  }
+  if (sp__TransportToken)
+  { fprintf(stream, "%s- Transport%s requirements:\n", tabs, sp__TransportToken->Optional ? " (optional)" : sp__TransportToken->Ignorable ? " (ignorable)" : "");
+    if (sp__TransportToken->Policy)
+      sp__TransportToken->Policy->generate(service, types, indent + 1);
+  }
+  if (sp__SymmetricBinding)
+  { fprintf(stream, "%s- [7.4] WS-Security Symmetric Binding%s requirements:\n", tabs, sp__SymmetricBinding->Optional ? " (optional)" : sp__SymmetricBinding->Ignorable ? " (ignorable)" : "");
+    if (sp__SymmetricBinding->Policy)
+      sp__SymmetricBinding->Policy->generate(service, types, indent + 1);
+    service.add_import("wsse.h");
+  }
+  if (sp__ProtectionToken)
+  { fprintf(stream, "%s- Symmetric Protection%s requirements:\n", tabs, sp__ProtectionToken->Optional ? " (optional)" : sp__ProtectionToken->Ignorable ? " (ignorable)" : "");
+    if (sp__ProtectionToken->Policy)
+      sp__ProtectionToken->Policy->generate(service, types, indent + 1);
+  }
+  if (sp__AsymmetricBinding)
+  { fprintf(stream, "%s- [7.5] WS-Security Asymmetric Binding%s (public key) requirements:\n", tabs, sp__AsymmetricBinding->Optional ? " (optional)" : sp__AsymmetricBinding->Ignorable ? " (ignorable)" : "");
+    if (sp__AsymmetricBinding->Policy)
+      sp__AsymmetricBinding->Policy->generate(service, types, indent + 1);
+    service.add_import("wsse.h");
+  }
+  if (sp__InitiatorToken)
+  { fprintf(stream, "%s- Initiator%s requirements:\n", tabs, sp__InitiatorToken->Optional ? " (optional)" : sp__InitiatorToken->Ignorable ? " (ignorable)" : "");
+    if (sp__InitiatorToken->Policy)
+      sp__InitiatorToken->Policy->generate(service, types, indent + 1);
+  }
+  if (sp__InitiatorSignatureToken)
+  { fprintf(stream, "%s- Initiator Signature%s requirements:\n", tabs, sp__InitiatorSignatureToken->Optional ? " (optional)" : sp__InitiatorSignatureToken->Ignorable ? " (ignorable)" : "");
+    if (sp__InitiatorSignatureToken->Policy)
+      sp__InitiatorSignatureToken->Policy->generate(service, types, indent + 1);
+  }
+  if (sp__InitiatorEncryptionToken)
+  { fprintf(stream, "%s- Initiator Encryption%s requirements:\n", tabs, sp__InitiatorEncryptionToken->Optional ? " (optional)" : sp__InitiatorEncryptionToken->Ignorable ? " (ignorable)" : "");
+    if (sp__InitiatorEncryptionToken->Policy)
+      sp__InitiatorEncryptionToken->Policy->generate(service, types, indent + 1);
+  }
+  if (sp__RecipientToken)
+  { fprintf(stream, "%s- Recipient%s requirements:\n", tabs, sp__RecipientToken->Optional ? " (optional)" : sp__RecipientToken->Ignorable ? " (ignorable)" : "");
+    if (sp__RecipientToken->Policy)
+      sp__RecipientToken->Policy->generate(service, types, indent + 1);
+  }
+  if (sp__SupportingTokens)
+  { fprintf(stream, "%s- [8.1] Supporting Tokens%s requirements:\n", tabs, sp__SupportingTokens->Optional ? " (optional)" : sp__SupportingTokens->Ignorable ? " (ignorable)" : "");
+    if (sp__SupportingTokens->Policy)
+      sp__SupportingTokens->Policy->generate(service, types, indent + 1);
+  }
+  if (sp__SignedSupportingTokens)
+  { fprintf(stream, "%s- [8.2] Signed Supporting Tokens%s requirements:\n", tabs, sp__SignedSupportingTokens->Optional ? " (optional)" : sp__SignedSupportingTokens->Ignorable ? " (ignorable)" : "");
+    if (sp__SignedSupportingTokens->Policy)
+      sp__SignedSupportingTokens->Policy->generate(service, types, indent + 1);
+  }
+  if (sp__EndorsingSupportingTokens)
+  { fprintf(stream, "%s- [8.3] Endorsing Supporting Tokens%s requirements:\n", tabs, sp__EndorsingSupportingTokens->Optional ? " (optional)" : sp__EndorsingSupportingTokens->Ignorable ? " (ignorable)" : "");
+    if (sp__EndorsingSupportingTokens->Policy)
+      sp__EndorsingSupportingTokens->Policy->generate(service, types, indent + 1);
+  }
+  if (sp__SignedEndorsingSupportingTokens)
+  { fprintf(stream, "%s- [8.4] Signed Endorsing Supporting Tokens%s requirements:\n", tabs, sp__SignedEndorsingSupportingTokens->Optional ? " (optional)" : sp__SignedEndorsingSupportingTokens->Ignorable ? " (ignorable)" : "");
+    if (sp__SignedEndorsingSupportingTokens->Policy)
+      sp__SignedEndorsingSupportingTokens->Policy->generate(service, types, indent + 1);
+  }
+  if (sp__SignedEncryptedSupportingTokens)
+  { fprintf(stream, "%s- [8.5] Signed Encrypted Supporting Tokens%s requirements:\n", tabs, sp__SignedEncryptedSupportingTokens->Optional ? " (optional)" : sp__SignedEncryptedSupportingTokens->Ignorable ? " (ignorable)" : "");
+    if (sp__SignedEncryptedSupportingTokens->Policy)
+      sp__SignedEncryptedSupportingTokens->Policy->generate(service, types, indent + 1);
+  }
+  if (sp__EncryptedSupportingTokens)
+  { fprintf(stream, "%s- [8.6] Encrypted Supporting Tokens%s requirements:\n", tabs, sp__EncryptedSupportingTokens->Optional ? " (optional)" : sp__EncryptedSupportingTokens->Ignorable ? " (ignorable)" : "");
+    if (sp__EncryptedSupportingTokens->Policy)
+      sp__EncryptedSupportingTokens->Policy->generate(service, types, indent + 1);
+  }
+  if (sp__EndorsingEncryptedSupportingTokens)
+  { fprintf(stream, "%s- [8.7] Endorsing Encrypted Supporting Tokens%s requirements:\n", tabs, sp__EndorsingEncryptedSupportingTokens->Optional ? " (optional)" : sp__EndorsingEncryptedSupportingTokens->Ignorable ? " (ignorable)" : "");
+    if (sp__EndorsingEncryptedSupportingTokens->Policy)
+      sp__EndorsingEncryptedSupportingTokens->Policy->generate(service, types, indent + 1);
+  }
+  if (sp__SignedEndorsingEncryptedSupportingTokens)
+  { fprintf(stream, "%s- [8.8] Signed Endorsing Encrypted Supporting Tokens%s requirements:\n", tabs, sp__SignedEndorsingEncryptedSupportingTokens->Optional ? " (optional)" : sp__SignedEndorsingEncryptedSupportingTokens->Ignorable ? " (ignorable)" : "");
+    if (sp__SignedEndorsingEncryptedSupportingTokens->Policy)
+      sp__SignedEndorsingEncryptedSupportingTokens->Policy->generate(service, types, indent + 1);
+  }
+  // Wss10 or Wss11
+  if (sp__Wss10)
+  { fprintf(stream, "%s- [9.1] WSS: SOAP Message Security 1.0%s options:\n", tabs, sp__Wss10->Optional ? " (optional)" : sp__Wss10->Ignorable ? " (ignorable)" : "");
+    if (sp__Wss10->Policy)
+      sp__Wss10->Policy->generate(service, types, indent + 1);
+    service.add_import("wsse.h");
+  }
+  else if (sp__Wss11)
+  { fprintf(stream, "%s- [9.2] WSS: SOAP Message Security 1.1%s options:\n", tabs, sp__Wss11->Optional ? " (optional)" : sp__Wss11->Ignorable ? " (ignorable)" : "");
+    if (sp__Wss11->Policy)
+      sp__Wss11->Policy->generate(service, types, indent + 1);
+    service.add_import("wsse.h");
+  }
+  if (sp__MustSupportRefKeyIdentifier)
+    fprintf(stream, "%s- Key Identifier References\n", tabs);
+  if (sp__MustSupportRefIssuerSerial)
+    fprintf(stream, "%s- Issuer Serial References\n", tabs);
+  if (sp__MustSupportRefExternalURI)
+    fprintf(stream, "%s- External URI References\n", tabs);
+  if (sp__MustSupportRefEmbeddedToken)
+    fprintf(stream, "%s- Embedded Token References\n", tabs);
+  if (sp__MustSupportRefThumbprint)
+    fprintf(stream, "%s- Thumbprint References\n", tabs);
+  if (sp__MustSupportRefEncryptedKey)
+    fprintf(stream, "%s- EncryptedKey References\n", tabs);
+  if (sp__RequireSignatureConfirmation)
+    fprintf(stream, "%s- Signature Confirmation\n", tabs);
+  // WS-SecureConversation
+  if (sp__RequireDerivedKeys)
+    fprintf(stream, "%s- Properties   = WS-SecureConversation RequireDerivedKeys\n", tabs);
+  else if (sp__RequireImpliedDerivedKeys)
+    fprintf(stream, "%s- Properties   = WS-SecureConversation RequireImpliedDerivedKeys\n", tabs);
+  else if (sp__RequireExplicitDerivedKeys)
+    fprintf(stream, "%s- Properties   = WS-SecureConversation RequireExplicitDerivedKeys\n", tabs);
+  if (sp__MustNotSendCancel)
+    fprintf(stream, "%s- WS-SecureConversation STS issuing the secure conversation token does not support SCT/Cancel RST messages", tabs);
+  else if (sp__MustNotSendAmend)
+    fprintf(stream, "%s- WS-SecureConversation STS issuing the secure conversation token does not support SCT/Amend RST messages", tabs);
+  else if (sp__MustNotSendRenew)
+    fprintf(stream, "%s- WS-SecureConversation STS issuing the secure conversation token does not support SCT/Renew RST messages", tabs);
+  if (sp__RequireExternalUriReference)
+    fprintf(stream, "%s- WS-SecureConversation external URI reference is required", tabs);
+  if (sp__SC13SecurityContextToken)
+    fprintf(stream, "%s- WS-SecureConversation Security Context Token should be used", tabs);
+  // WS-Security passwords
+  if (sp__NoPassword)
+    fprintf(stream, "%s- No WS-Security password%s required\n", tabs, sp__NoPassword->Optional ? " (optional)" : sp__NoPassword->Ignorable ? " (ignorable)" : "");
+  else if (sp__HashPassword)
+  { fprintf(stream, "%s- Client-side WS-Security password%s should be set:\n\t@code\n\t#include \"plugin/wsseapi.h\"\n\tsoap_wsse_add_UsernameTokenDigest(soap, \"User\", \"<username>\", \"<password>\");\n\t@endcode\n", tabs, sp__HashPassword->Optional ? " (optional)" : sp__HashPassword->Ignorable ? " (ignorable)" : "");
+    fprintf(stream, "%s- Server-side WS-Security password%s verified with:\n\t@code\n\t#include \"plugin/wsseapi.h\"\n\tconst char *username = soap_wsse_get_Username(soap);\n\t...\n\tif (soap_wsse_verify_Password(soap, \"<password>\")) ...<error>...\n\t@endcode\n", tabs, sp__HashPassword->Optional ? " (optional)" : sp__HashPassword->Ignorable ? " (ignorable)" : "");
+    service.add_import("wsse.h");
+  }
+  if (sp__WssUsernameToken10)
+  { fprintf(stream, "%s- Username token should be used as defined in UsernameTokenProfile1.0:\n", tabs);
+    fprintf(stream, "%s  - Client-side WS-Security password should be set:\n\t@code\n\t#include \"plugin/wsseapi.h\"\n\tsoap_wsse_add_UsernameTokenDigest(soap, \"User\", \"<username>\", \"<password>\");\n\t@endcode\n", tabs);
+    fprintf(stream, "%s  - Server-side WS-Security password verified with:\n\t@code\n\t#include \"plugin/wsseapi.h\"\n\tconst char *username = soap_wsse_get_Username(soap);\n\t...\n\tif (soap_wsse_verify_Password(soap, \"<password>\")) <error>\n\t@endcode\n", tabs);
+    service.add_import("wsse.h");
+  }
+  else if (sp__WssUsernameToken11)
+  { fprintf(stream, "%s- Username token should be used as defined in UsernameTokenProfile1.1:\n", tabs);
+    fprintf(stream, "%s  - Client-side WS-Security plain-text password should be set:\n\t@code\n\t#include \"plugin/wsseapi.h\"\n\tsoap_wsse_add_UsernameToken(soap, \"User\", \"<username>\", \"<password>\");\n\t@endcode\n", tabs);
+    fprintf(stream, "%s  - Client-side WS-Security digest password should be set:\n\t@code\n\t#include \"plugin/wsseapi.h\"\n\tsoap_wsse_add_UsernameTokenDigest(soap, \"User\", \"<username>\", \"<password>\");\n\t@endcode\n", tabs);
+    fprintf(stream, "%s  - Server-side WS-Security password verified with:\n\t@code\n\t#include \"plugin/wsseapi.h\"\n\tconst char *username = soap_wsse_get_Username(soap);\n\t...\n\tif (soap_wsse_verify_Password(soap, \"<password>\")) ...\n\t@endcode\n", tabs);
+    service.add_import("wsse.h");
+  }
+  // WS-Trust
+  if (sp__RequireExternalReference)
+    fprintf(stream, "%s- WS-Trust external reference is required when referencing this token\n", tabs);
+  else if (sp__RequireInternalReference)
+    fprintf(stream, "%s- WS-Trust internal reference is required when referencing this token\n", tabs);
+  // WS-Trust 1.0 and 1.3
+  if (sp__Trust10)
+  { fprintf(stream, "%s- [10.1] WS-Trust 1.0%s options:\n", tabs, sp__Trust10->Optional ? " (optional)" : sp__Trust10->Ignorable ? " (ignorable)" : "");
+    if (sp__Trust10->Policy)
+      sp__Trust10->Policy->generate(service, types, indent + 1);
+    service.add_import("wst.h");
+  }
+  else if (sp__Trust13)
+  { fprintf(stream, "%s- [10.1] WS-Trust 1.3%s options:\n", tabs, sp__Trust13->Optional ? " (optional)" : sp__Trust13->Ignorable ? " (ignorable)" : "");
+    if (sp__Trust13->Policy)
+      sp__Trust13->Policy->generate(service, types, indent + 1);
+    service.add_import("wst.h");
+  }
+  if (sp__MustSupportClientChallenge)
+  { fprintf(stream, "%s- Client Challenge\n", tabs);
+    service.add_import("wst.h");
+  }
+  if (sp__MustSupportServerChallenge)
+  { fprintf(stream, "%s- Server Challenge\n", tabs);
+    service.add_import("wst.h");
+  }
+  if (sp__RequireClientEntropy)
+  { fprintf(stream, "%s- Client Entropy\n", tabs);
+    service.add_import("wst.h");
+  }
+  if (sp__RequireServerEntropy)
+  { fprintf(stream, "%s- Server Entropy\n", tabs);
+    service.add_import("wst.h");
+  }
+  if (sp__MustSupportIssuedTokens)
+  { fprintf(stream, "%s- Issued Tokens\n", tabs);
+    service.add_import("wst.h");
+  }
+  if (sp__RequireRequestSecurityTokenCollection)
+  { fprintf(stream, "%s- Collection\n", tabs);
+    service.add_import("wst.h");
+  }
+  if (sp__RequireAppliesTo)
+  { fprintf(stream, "%s-  STS requires the requestor to specify the scope for the issued token using wsp:AppliesTo in the RST\n", tabs);
+    service.add_import("wst.h");
+  }
+  // WS-Security header layout
+  if (sp__IncludeTimestamp)
+  { fprintf(stream, "%s- WS-Security Timestamp%s should be set prior to send:\n\t@code\n\t#include \"plugin/wsseapi.h\"\n\tsoap_wsse_add_Timestamp(soap, \"Timestamp\", <seconds>);\n\t@endcode\n", tabs, sp__IncludeTimestamp->Optional ? " (optional)" : sp__IncludeTimestamp->Ignorable ? " (ignorable)" : "");
+    fprintf(stream, "%s- WS-Security Timestamp%s presence and expiration verified post-receive with:\n\t@code\n\t#include \"plugin/wsseapi.h\"\n\tif (soap_wsse_verify_Timestamp(soap)) ...<error>...\n\t@endcode\n", tabs, sp__IncludeTimestamp->Optional ? " (optional)" : sp__IncludeTimestamp->Ignorable ? " (ignorable)" : "");
+  }
+  if (sp__EncryptBeforeSigning)
+    fprintf(stream, "%s- WS-Security Encrypt Before Signing%s (gSOAP unsupported)\n", tabs, sp__EncryptBeforeSigning->Optional ? " (optional)" : sp__EncryptBeforeSigning->Ignorable ? " (ignorable)" : "");
+  if (sp__EncryptSignature)
+    fprintf(stream, "%s- WS-Security Encrypt Signature%s\n\t@code\n\t#include \"plugin/wsseapi.h\"\n\tsoap_wsse_add_EncryptedKey_encrypt_only(soap, <SOAP_MEC_ENV_ENC_xxx_CBC>, NULL, <cert>, NULL, <issuer>, <serial>, \"ds:Signature SOAP-ENV:Body\");\n\t@endcode\n", tabs, sp__EncryptSignature->Optional ? " (optional)" : sp__EncryptSignature->Ignorable ? " (ignorable)" : "");
+  if (sp__ProtectTokens)
+    fprintf(stream, "%s- WS-Security Token Protection%s required\n", tabs, sp__ProtectTokens->Optional ? " (optional)" : sp__ProtectTokens->Ignorable ? " (ignorable)" : "");
+  if (sp__OnlySignEntireHeadersAndBody)
+  { fprintf(stream, "%s- WS-Security Sign Entire Headers and Body%s:\n\t@code\n\t#include \"plugin/wsseapi.h\"\n\tsoap_wsse_set_wsu_id(soap, \"<ns:tagname1> <ns:tagname2> ...\"); // list each ns:tagname used in SOAP Header\n\tsoap_wsse_sign_body(soap, <algorithm>, <key>, <keylen>);\n\t@endcode\n", tabs, sp__OnlySignEntireHeadersAndBody->Optional ? " (optional)" : sp__OnlySignEntireHeadersAndBody->Ignorable ? " (ignorable)" : "");
+  }
+  if (sp__Strict)
+    fprintf(stream, "%s- WS-Security headers 'declare before use' required (gSOAP default)\n", tabs);
+  else if (sp__Lax)
+    fprintf(stream, "%s- WS-Security headers may occur in any order (gSOAP allows this)\n", tabs);
+  else if (sp__LaxTsFirst)
+    fprintf(stream, "%s- WS-Security Timestamp must appear first (gSOAP default)\n", tabs);
+  else if (sp__LaxTsLast)
+    fprintf(stream, "%s- WS-Security Timestamp must appear last (requires changing the placement of the Timestamp header in SOAP_ENV__Header defined in import/wsse.h)\n", tabs);
+  // HTTP authentication
+  if (sp__HttpBasicAuthentication)
+    fprintf(stream, "%s- HTTP/S Basic Authentication required:\n\t@code\n\tsoap->userid = \"<userid>\"; soap->passwd = \"<passwd>\";\nsoap_call_ns__method(...)\n\t@endcode\n", tabs);
+  else if (sp__HttpDigestAuthentication)
+    fprintf(stream, "%s- HTTP/S Digest Authentication required:\n%sSee plugin/httpda.c plugin for usage details\n", tabs, tabs);
+  if (sp__RequireClientCertificate)
+    fprintf(stream, "%s- HTTPS client must authenticate to server with a certificate:\n\t@code\n\tsoap_ssl_client_context(soap, <sslflags>, \"<certkeyfile>\", \"<certkeypw>\", ...)\n\t@endcode\n", tabs);
+  //  Security token requirements
+  if (sp__RequireKeyIdentifierReference)
+    fprintf(stream, "%s- Key identifier reference is required\n", tabs);
+  if (sp__RequireIssuerSerialReference)
+    fprintf(stream, "%s- Issuer serial reference is required\n", tabs);
+  if (sp__RequireEmbeddedTokenReference)
+    fprintf(stream, "%s- An embedded token reference is required\n", tabs);
+  if (sp__RequireThumbprintReference)
+    fprintf(stream, "%s- A thumbprint reference is required\n", tabs);
+  // Algorithm suite
+  if (sp__Basic256)
+    fprintf(stream, "%s- Basic256\n", tabs);
+  else if (sp__Basic192)
+    fprintf(stream, "%s- Basic192\n", tabs);
+  else if (sp__Basic128)
+    fprintf(stream, "%s- Basic128\n", tabs);
+  else if (sp__TripleDes)
+    fprintf(stream, "%s- TripleDes\n", tabs);
+  else if (sp__Basic256Rsa15)
+    fprintf(stream, "%s- Basic256Rsa15\n", tabs);
+  else if (sp__Basic192Rsa15)
+    fprintf(stream, "%s- Basic192Rsa15\n", tabs);
+  else if (sp__Basic128Rsa15)
+    fprintf(stream, "%s- Basic128Rsa15\n", tabs);
+  else if (sp__TripleDesRsa15)
+    fprintf(stream, "%s- TripleDesRsa15\n", tabs);
+  else if (sp__Basic256Sha256)
+    fprintf(stream, "%s- Basic256Sha256\n", tabs);
+  else if (sp__Basic192Sha256)
+    fprintf(stream, "%s- Basic192Sha256\n", tabs);
+  else if (sp__Basic128Sha256)
+    fprintf(stream, "%s- Basic128Sha256\n", tabs);
+  else if (sp__TripleDesSha256)
+    fprintf(stream, "%s- TripleDesSha256\n", tabs);
+  else if (sp__Basic256Sha256Rsa15)
+    fprintf(stream, "%s- Basic256Sha256Rsa15\n", tabs);
+  else if (sp__Basic192Sha256Rsa15)
+    fprintf(stream, "%s- Basic192Sha256Rsa15\n", tabs);
+  else if (sp__Basic128Sha256Rsa15)
+    fprintf(stream, "%s- Basic128Sha256Rsa15\n", tabs);
+  else if (sp__TripleDesSha256Rsa15)
+    fprintf(stream, "%s- TripleDesSha256Rsa15\n", tabs);
+  if (sp__InclusiveC14N)
+    fprintf(stream, "%s- InclusiveC14N\n", tabs);
+  if (sp__SOAPNormalization10)
+    fprintf(stream, "%s- SOAPNormalization10\n", tabs);
+  if (sp__STRTransform10)
+    fprintf(stream, "%s- STRTransform10\n", tabs);
+  if (sp__Path10)
+    fprintf(stream, "%s- Path10\n", tabs);
+  else if (sp__XPathFilter20)
+    fprintf(stream, "%s- XPathFilter20\n", tabs);
+  else if (sp__AbsXPath)
+    fprintf(stream, "%s- AbsXPath\n", tabs);
+  // WSS
+  if (sp__WssX509V3Token10)
+    fprintf(stream, "%s- An X509 Version 3 token should be used as defined in X509TokenProfile1.0\n", tabs);
+  else if (sp__WssX509Pkcs7Token10)
+    fprintf(stream, "%s- An X509 PKCS7 token should be used as defined in X509TokenProfile1.0\n", tabs);
+  else if (sp__WssX509PkiPathV1Token10)
+    fprintf(stream, "%s- An X509 PKI Path Version 1 token should be used as defined in X509TokenProfile1.0\n", tabs);
+  else if (sp__WssX509V1Token11)
+    fprintf(stream, "%s- An X509 Version 1 token should be used as defined in X509TokenProfile1.1\n", tabs);
+  else if (sp__WssX509V3Token11)
+    fprintf(stream, "%s- An X509 Version 3 token should be used as defined in X509TokenProfile1.1\n", tabs);
+  else if (sp__WssX509Pkcs7Token11)
+    fprintf(stream, "%s- An X509 PKCS7 token should be used as defined in X509TokenProfile1.1\n", tabs);
+  else if (sp__WssX509PkiPathV1Token11)
+    fprintf(stream, "%s- An X509 PKI Path Version 1 token should be used as defined in X509TokenProfile1.1\n", tabs);
+  if (sp__WssKerberosV5ApReqToken11)
+    fprintf(stream, "%s- A Kerberos Version 5 AP-REQ X509 token should be used as defined in KerberosTokenProfile1.1\n", tabs);
+  else if (sp__WssGssKerberosV5ApReqToken11)
+    fprintf(stream, "%s- A GSS Kerberos Version 5 AP-REQ token should be used as defined in KerberosTokenProfile1.1\n", tabs);
+  if (sp__WssRelV10Token10)
+    fprintf(stream, "%s- A REL Version 1.0 token should be used as defined in RELTokenProfile1.0\n", tabs);
+  else if (sp__WssRelV20Token10)
+    fprintf(stream, "%s- A REL Version 2.0 token should be used as defined in RELTokenProfile1.0\n", tabs);
+  else if (sp__WssRelV10Token11)
+    fprintf(stream, "%s- A REL Version 1.0 token should be used as defined in RELTokenProfile1.1\n", tabs);
+  else if (sp__WssRelV20Token11)
+    fprintf(stream, "%s- A REL Version 2.0 token should be used as defined in RELTokenProfile1.1\n", tabs);
+  if (sp__BootstrapPolicy)
+  { fprintf(stream, "%s- SecureConversation BootstrapPolicy\n", tabs);
+    sp__BootstrapPolicy->generate(service, types, indent + 1);
+  }
+  // WS-Addressing WSDL Policy
+  if (wsaw__UsingAddressing)
+  { fprintf(stream, "%s- WS-Addressing is used\n", tabs);
+    service.add_import("wsa5.h");
+  }
+  // WS-Addressing Metadata Policy
+  if (wsam__Addressing)
+  { fprintf(stream, "%s- WS-Addressing%s is used\n", tabs, wsam__Addressing->Optional ? " (optional)" : wsam__Addressing->Ignorable ? " (ignorable)" : "");
+    if (wsam__Addressing->Policy)
+      wsam__Addressing->Policy->generate(service, types, indent + 1);
+    service.add_import("wsa5.h");
+  }
+  if (wsam__AnonymousResponses)
+    fprintf(stream, "%s- WS-Addressing Anonymous Responses\n", tabs);
+  else if (wsam__NonAnonymousResponses)
+    fprintf(stream, "%s- WS-Addressing NonAnonymous Responses\n", tabs);
+  // WS-ReliableMessaging Policy
+  if (wsrmp__RMAssertion_)
+  { fprintf(stream, "%s- WS-ReliableMessaging%s is used\n", tabs, wsrmp__RMAssertion_->Optional ? " (optional)" : wsrmp__RMAssertion_->Ignorable ? " (ignorable)" : "");
+    if (wsrmp__RMAssertion_->InactivityTimeout && wsrmp__RMAssertion_->InactivityTimeout->Milliseconds)
+      fprintf(stream, "%s  - Inactivity Timeout = %s (ms)\n", tabs, wsrmp__RMAssertion_->InactivityTimeout->Milliseconds);
+    if (wsrmp__RMAssertion_->BaseRetransmissionInterval && wsrmp__RMAssertion_->BaseRetransmissionInterval->Milliseconds)
+      fprintf(stream, "%s  - Base Retransmission Interval = %s (ms)\n", tabs, wsrmp__RMAssertion_->BaseRetransmissionInterval->Milliseconds);
+    if (wsrmp__RMAssertion_->AcknowledgementInterval && wsrmp__RMAssertion_->AcknowledgementInterval->Milliseconds)
+      fprintf(stream, "%s  - Acknowledgement Interval = %s (ms)\n", tabs, wsrmp__RMAssertion_->AcknowledgementInterval->Milliseconds);
+    if (wsrmp__RMAssertion_->ExponentialBackoff)
+      fprintf(stream, "%s  - ExponentialBackoff\n", tabs);
+    if (wsrmp__RMAssertion_->Policy)
+      wsrmp__RMAssertion_->Policy->generate(service, types, indent + 1);
+    service.add_import("wsrm.h");
+  }
+  if (wsrmp__DeliveryAssurance)
+  { fprintf(stream, "%s- WS-ReliableMessaging Delivery Assurance%s:\n", tabs, wsrmp__DeliveryAssurance->Optional ? " (optional)" : wsrmp__DeliveryAssurance->Ignorable ? " (ignorable)" : "");
+    if (wsrmp__DeliveryAssurance->Policy)
+      wsrmp__DeliveryAssurance->Policy->generate(service, types, indent + 1);
+    service.add_import("wsrm.h");
+  }
+  if (wsrmp__AtLeastOnce)
+    fprintf(stream, "%s- At Least Once\n", tabs);
+  if (wsrmp__AtMostOnce)
+    fprintf(stream, "%s- At Most Once\n", tabs);
+  if (wsrmp__ExactlyOnce)
+    fprintf(stream, "%s- Exactly Once\n", tabs);
+  if (wsrmp__InOrder)
+    fprintf(stream, "%s- In Order\n", tabs);
+  // All else
+  for (vector<_XML>::const_iterator x = __any.begin(); x != __any.end(); ++x)
+  { if (*x && *(*x))
+    { fprintf(stream, "%s- Other policy requirements:\n\t@verbatim\n", tabs);
+      text(*x);
+      fprintf(stream, "\t@endverbatim\n");
+    }
+  }
+}
+
+static void gen_parts(const sp__Parts& parts, Types& types, const char *what, const char *name, int indent)
+{ static const char stabs[] = "\t\t\t\t\t\t\t\t\t\t";
+  const char *tabs;
+  if (indent > 8)
+    indent = 8;
+  tabs = stabs + 9 - indent;
+  fprintf(stream, "%s- %s requirements:\n", tabs, name);
+  if (parts.Body)
+    fprintf(stream, "%s  -# Body:\n\t@code\n\t#include \"plugin/wsseapi.h\"\n\tsoap_wsse_%s_body(soap, <algorithm>, <key>, <keylen>);\n\t@endcode\n", tabs, what);
+  if (!parts.Header.empty())
+  { fprintf(stream, "%s  -# Header elements:\n\t@code\n\t#include \"plugin/wsseapi.h\"\n\tsoap_wsse_set_wsu_id(soap, \"", tabs);
+    for (vector<sp__Header>::const_iterator h = parts.Header.begin(); h != parts.Header.end(); ++h)
+    { if ((*h).Name)
+        fprintf(stream, "%s ", types.aname(NULL, (*h).Namespace, (*h).Name));
+      else if ((*h).Namespace)
+        fprintf(stream, "%s: ", types.nsprefix(NULL, (*h).Namespace));
+    }
+    fprintf(stream, "\");\n\t@endcode\n");
+  }
+  if (parts.Attachments)
+    fprintf(stream, "%s  -# Attachments as defined in SwAProfile1.1\n", tabs);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
+//	wsp:PolicyReference
+//
+////////////////////////////////////////////////////////////////////////////////
+
+int wsp__PolicyReference::traverse(wsdl__definitions& definitions)
+{ policyRef = NULL;
+  if (!URI || !*URI)
+  { cerr << "PolicyReference has no URI" << endl;
+    return SOAP_OK;
+  }
+  if (*URI == '#')
+  { policyRef = search(URI + 1, definitions);
+    if (!policyRef)
+    { cerr << "PolicyReference URI=\"" << URI << "\" not found" << endl;
+      return SOAP_OK;
+    }
+  }
+  return SOAP_OK;
+}
+
+void wsp__PolicyReference::policyPtr(wsp__Policy *Policy)
+{ policyRef = Policy;
+}
+
+wsp__Policy *wsp__PolicyReference::policyPtr() const
+{ return policyRef;
+}
+
+static wsp__Policy *search(const char *URI, wsdl__definitions& definitions)
+{ for (vector<wsp__Policy>::iterator p = definitions.wsp__Policy_.begin(); p != definitions.wsp__Policy_.end(); ++p)
+  { wsp__Policy *policy = search(URI, &(*p));
+    if (policy)
+      return policy;
+  }
+  return NULL;
+}
+
+static wsp__Policy *search(const char *URI, wsp__Policy *policy)
+{ if (!policy)
+    return NULL;
+  if (policy->wsu__Id && !strcmp(URI, policy->wsu__Id))
+    return policy;
+  return search(URI, (wsp__Content*)policy);
+}
+
+static wsp__Policy *search(const char *URI, wsp__Content *content)
+{ wsp__Policy *policy;
+  policy = search(URI, content->Policy);
+  if (policy)
+    return policy;
+  for (vector<wsp__Content*>::iterator i = content->All.begin(); i != content->All.end(); ++i)
+  { policy = search(URI, *i);
+    if (policy)
+      return policy;
+  }
+  for (vector<wsp__Content*>::iterator j = content->ExactlyOne.begin(); j != content->ExactlyOne.end(); ++j)
+  { policy = search(URI, *j);
+    if (policy)
+      return policy;
+  }
+  return NULL;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/wsp.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,269 @@
+/*
+	wsp.h
+
+	WS-Policy 1.2 and 1.5 binding schema
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2001-2010, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+
+*/
+
+//gsoap wsp schema documentation:	WS-Policy binding
+//gsoap wsp schema namespace:		http://www.w3.org/ns/ws-policy
+// 1.2 //gsoap wsp schema namespace:	http://schemas.xmlsoap.org/ws/2004/09/policy
+//gsoap wsp schema elementForm:		qualified             
+//gsoap wsp schema attributeForm:	unqualified           
+
+#import "imports.h"
+#import "wsu.h"
+
+class wsp__Policy;
+class wsp__Content;
+
+extern class Service;
+extern class Types;
+
+class wsp__PolicyReference
+{ public:
+	@xsd__anyURI			URI;
+	@xsd__string			Digest;
+	@xsd__anyURI			DigestAlgorithm;
+  private:
+	wsp__Policy			*policyRef;
+  public:
+	int				traverse(wsdl__definitions&);
+	void				policyPtr(wsp__Policy*);
+	wsp__Policy			*policyPtr() const;
+};
+
+class wsp__Assertion
+{ public:
+	@bool				Optional = false;
+	@bool				Ignorable = false;
+	wsp__Content			*Policy;
+};
+
+#import "sp.h"
+#import "wsrmp.h"
+#import "wsam.h"
+
+class wsp__Content
+{ public:
+	wsp__Policy			*Policy;
+	wsp__PolicyReference		*PolicyReference;
+	std::vector<wsp__Content*>	All;
+	std::vector<wsp__Content*>	ExactlyOne;
+
+	std::vector<sp__Parts>		sp__SignedParts;
+	std::vector<sp__Parts>		sp__EncryptedParts;
+	std::vector<sp__Parts>		sp__RequiredParts;
+
+	sp__Elements			*sp__SignedElements;
+	sp__Elements			*sp__EncryptedElements;
+	sp__Elements			*sp__ContentEncryptedElements;
+	sp__Elements			*sp__RequiredElements;
+
+	sp__Token			*sp__UsernameToken;
+	sp__Token			*sp__IssuedToken;
+	sp__Token			*sp__X509Token;
+	sp__Token			*sp__KerberosToken;
+	sp__Token			*sp__SpnegoContextToken;
+	sp__Token			*sp__SecurityContextToken;
+	sp__Token			*sp__SecureConversationToken;
+	sp__Token			*sp__SamlToken;
+	sp__Token			*sp__RelToken;
+	sp__Token			*sp__HttpsToken;
+	sp__Token			*sp__KeyValueToken;
+
+	wsp__Assertion			*sp__TransportBinding;
+	wsp__Assertion			*sp__TransportToken;
+	wsp__Assertion			*sp__AlgorithmSuite;
+	wsp__Assertion			*sp__Layout;
+	wsp__Assertion			*sp__SymmetricBinding;
+	wsp__Assertion			*sp__AsymmetricBinding;
+	wsp__Assertion			*sp__ProtectionToken;
+	wsp__Assertion			*sp__InitiatorToken;
+	wsp__Assertion			*sp__InitiatorSignatureToken;
+	wsp__Assertion			*sp__InitiatorEncryptionToken;
+	wsp__Assertion			*sp__RecipientToken;
+
+	wsp__Assertion			*sp__SupportingTokens;
+	wsp__Assertion			*sp__SignedSupportingTokens;
+	wsp__Assertion			*sp__EndorsingSupportingTokens;
+	wsp__Assertion			*sp__SignedEndorsingSupportingTokens;
+	wsp__Assertion			*sp__SignedEncryptedSupportingTokens;
+	wsp__Assertion			*sp__EncryptedSupportingTokens;
+	wsp__Assertion			*sp__EndorsingEncryptedSupportingTokens;
+	wsp__Assertion			*sp__SignedEndorsingEncryptedSupportingTokens;
+	wsp__Assertion			*sp__Wss10;
+	wsp__Assertion			*sp__Wss11;
+	wsp__Assertion			*sp__Trust10;
+	wsp__Assertion			*sp__Trust13;
+
+	wsp__Content			*sp__BootstrapPolicy;
+
+	xsd__string			wsaw__UsingAddressing;
+
+	wsp__Assertion			*wsam__Addressing;
+
+	wsrmp__RMAssertion		*wsrmp__RMAssertion_;
+	wsrmp__RMAssertion		*wsrmp__DeliveryAssurance;
+
+	xsd__string			wsrmp__AtLeastOnce;
+	xsd__string			wsrmp__AtMostOnce;
+	xsd__string			wsrmp__ExactlyOnce;
+	xsd__string			wsrmp__InOrder;
+
+	wsp__Assertion			*sp__NoPassword;
+	wsp__Assertion			*sp__HashPassword;
+
+	wsp__Assertion			*sp__IncludeTimestamp;
+	wsp__Assertion			*sp__EncryptBeforeSigning;
+	wsp__Assertion			*sp__EncryptSignature;
+	wsp__Assertion			*sp__ProtectTokens;
+	wsp__Assertion			*sp__OnlySignEntireHeadersAndBody;
+
+	xsd__string			sp__RequireDerivedKeys;
+	xsd__string			sp__RequireImpliedDerivedKeys;
+	xsd__string			sp__RequireExplicitDerivedKeys;
+
+	xsd__string			sp__WssUsernameToken10;
+	xsd__string			sp__WssUsernameToken11;
+
+	xsd__string			sp__RequireExternalReference;
+	xsd__string			sp__RequireInternalReference;
+
+	xsd__string			sp__RequireKeyIdentifierReference;
+	xsd__string			sp__RequireIssuerSerialReference;
+	xsd__string			sp__RequireEmbeddedTokenReference;
+	xsd__string			sp__RequireThumbprintReference;
+
+	xsd__string			sp__WssX509V3Token10;
+	xsd__string			sp__WssX509Pkcs7Token10;
+	xsd__string			sp__WssX509PkiPathV1Token10;
+	xsd__string			sp__WssX509V1Token11;
+	xsd__string			sp__WssX509V3Token11;
+	xsd__string			sp__WssX509Pkcs7Token11;
+	xsd__string			sp__WssX509PkiPathV1Token11;
+
+	xsd__string			sp__WssKerberosV5ApReqToken11;
+	xsd__string			sp__WssGssKerberosV5ApReqToken11;
+
+	xsd__string			sp__WssRelV10Token10;
+	xsd__string			sp__WssRelV20Token10;
+	xsd__string			sp__WssRelV10Token11;
+	xsd__string			sp__WssRelV20Token11;
+
+	xsd__string			sp__MustNotSendCancel;
+	xsd__string			sp__MustNotSendAmend;
+	xsd__string			sp__MustNotSendRenew;
+
+	xsd__string			sp__MustSupportRefKeyIdentifier;
+	xsd__string			sp__MustSupportRefIssuerSerial;
+	xsd__string			sp__MustSupportRefExternalURI;
+	xsd__string			sp__MustSupportRefEmbeddedToken;
+	xsd__string			sp__MustSupportRefThumbprint;
+	xsd__string			sp__MustSupportRefEncryptedKey;
+	xsd__string			sp__RequireSignatureConfirmation;
+
+	xsd__string			sp__MustSupportClientChallenge;
+	xsd__string			sp__MustSupportServerChallenge;
+	xsd__string			sp__RequireClientEntropy;
+	xsd__string			sp__RequireServerEntropy;
+	xsd__string			sp__MustSupportIssuedTokens;
+	xsd__string			sp__RequireRequestSecurityTokenCollection;
+	xsd__string			sp__RequireAppliesTo;
+
+	xsd__string			sp__RequireExternalUriReference;
+	xsd__string			sp__SC13SecurityContextToken;
+
+	xsd__string			sp__Strict;
+	xsd__string			sp__Lax;
+	xsd__string			sp__LaxTsFirst;
+	xsd__string			sp__LaxTsLast;
+
+	xsd__string			sp__HttpBasicAuthentication;
+	xsd__string			sp__HttpDigestAuthentication;
+	xsd__string			sp__RequireClientCertificate;
+
+	xsd__string			sp__Basic256;
+	xsd__string			sp__Basic192;
+	xsd__string			sp__Basic128;
+	xsd__string			sp__TripleDes;
+	xsd__string			sp__Basic256Rsa15;
+	xsd__string			sp__Basic192Rsa15;
+	xsd__string			sp__Basic128Rsa15;
+	xsd__string			sp__TripleDesRsa15;
+	xsd__string			sp__Basic256Sha256;
+	xsd__string			sp__Basic192Sha256;
+	xsd__string			sp__Basic128Sha256;
+	xsd__string			sp__TripleDesSha256;
+	xsd__string			sp__Basic256Sha256Rsa15;
+	xsd__string			sp__Basic192Sha256Rsa15;
+	xsd__string			sp__Basic128Sha256Rsa15;
+	xsd__string			sp__TripleDesSha256Rsa15;
+
+	xsd__string			sp__InclusiveC14N;
+	xsd__string			sp__SOAPNormalization10;
+	xsd__string			sp__STRTransform10;
+
+	xsd__string			sp__Path10;
+	xsd__string			sp__XPathFilter20;
+	xsd__string			sp__AbsXPath;
+
+	xsd__string			wsam__AnonymousResponses;
+	xsd__string			wsam__NonAnonymousResponses;
+
+	std::vector<_XML>		__any;
+  public:
+	int				traverse(wsdl__definitions&);
+	void				generate(Service& service, Types& types, int indent) const;
+};
+
+class wsp__Policy : public wsp__Content
+{ public:
+	@xsd__anyURI			xml__base;
+	@xsd__string			wsu__Id;
+	@xsd__anyURI			TargetNamespace;
+};
+
+class wsp__Attachment
+{ public:
+	wsp__Policy			*Policy;
+	wsp__PolicyReference		*PolicyReference;
+};
+
+class wsp__AppliesTo
+{ public:
+	_XML				__any;
+};
+
+class wsp__PolicyAttachment
+{ public:
+	wsp__AppliesTo			*AppliesTo;
+	std::vector<wsp__Attachment>	Attachment;
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/wsrmp.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,55 @@
+/*
+	wsrmp.h
+
+	WS-ReliableMessaging Policy
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2001-2010, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+
+*/
+
+//gsoap wsrmp schema documentation:	WS-ReliableMessaging Policy binding
+//gsoap wsrmp schema namespace:		http://schemas.xmlsoap.org/ws/2005/02/rm/policy
+//gsoap wsrmp schema elementForm:	qualified             
+//gsoap wsrmp schema attributeForm:	unqualified           
+
+#import "imports.h"
+
+class wsrmp__Timeout
+{ public:
+  @char *Milliseconds;
+};
+
+class wsrmp__RMAssertion : public wsp__Assertion
+{ public:
+  wsrmp__Timeout *InactivityTimeout;
+  wsrmp__Timeout *BaseRetransmissionInterval;;
+  wsrmp__Timeout *AcknowledgementInterval;
+  char           *ExponentialBackoff;
+// TODO: WCF netrmp extension elements go here, as necessary
+};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/wst.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,43 @@
+/*
+	wst.h
+
+	WS-Trust
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2001-2008, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+//gsoap wst schema documentation:	WS-Trust
+//gsoap wst schema namespace:		http://docs.oasis-open.org/ws-sx/ws-trust/200512
+//gsoap wst schema elementForm:		qualified
+//gsoap wst schema attributeForm:	unqualified
+
+class wst__Claims
+{ public:
+	@xsd__string			Dialect;
+	xsd__string			__item;
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/gsoap/wsdl/wsu.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,37 @@
+/*
+	wsu.h
+
+	WS-Utility (namespace only)
+
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2001-2008, Robert van Engelen, Genivia Inc. All Rights Reserved.
+This software is released under one of the following licenses:
+GPL or Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+--------------------------------------------------------------------------------
+A commercial use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+*/
+
+//gsoap wsu schema documentation:	WS-Utility
+//gsoap wsu schema namespace:		http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
+//gsoap wsu schema elementForm:		qualified
+//gsoap wsu schema attributeForm:	unqualified
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/.deps/gfile.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/.deps/ghttp.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/.deps/gplot.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/.deps/gpost.Po	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1 @@
+# dummy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.B1.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:B1>
+   <sequence></sequence>
+   <params>
+    <method></method>
+   </params>
+  </ns1:B1>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.B1.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:B1Response>
+   <result></result>
+  </ns1:B1Response>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.B2.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:B2>
+   <sequence></sequence>
+  </ns1:B2>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.B2.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:B2Response>
+   <result></result>
+  </ns1:B2Response>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.DoubleHelix.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:DoubleHelix>
+   <sequence></sequence>
+   <params>
+    <speed>0.0</speed>
+   </params>
+  </ns1:DoubleHelix>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.DoubleHelix.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:DoubleHelixResponse>
+   <result></result>
+  </ns1:DoubleHelixResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.Ew.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:Ew>
+   <sequence></sequence>
+   <params>
+    <translate>0</translate>
+    <output></output>
+    <del_key></del_key>
+    <tag></tag>
+   </params>
+  </ns1:Ew>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.Ew.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:EwResponse>
+   <result></result>
+  </ns1:EwResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.P2.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:P2>
+   <sequence></sequence>
+   <params>
+    <output></output>
+    <tag></tag>
+   </params>
+  </ns1:P2>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.P2.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:P2Response>
+   <result></result>
+  </ns1:P2Response>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.S_value.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:S_value>
+   <sequence></sequence>
+   <params>
+    <sharp>0</sharp>
+   </params>
+  </ns1:S_value>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.S_value.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:S_valueResponse>
+   <result></result>
+  </ns1:S_valueResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.aaui.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:aaui>
+   <sequence></sequence>
+   <params>
+    <id></id>
+    <tag></tag>
+   </params>
+  </ns1:aaui>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.aaui.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:aauiResponse>
+   <result></result>
+  </ns1:aauiResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.amino_counter.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:amino_counter>
+   <sequence></sequence>
+   <params>
+    <CDSid></CDSid>
+    <output></output>
+   </params>
+  </ns1:amino_counter>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.amino_counter.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:amino_counterResponse>
+   <result></result>
+  </ns1:amino_counterResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.amino_info.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:amino_info>
+   <sequence></sequence>
+  </ns1:amino_info>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.amino_info.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:amino_infoResponse>
+   <result></result>
+  </ns1:amino_infoResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.base_counter.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:base_counter>
+   <sequence></sequence>
+   <params>
+    <position></position>
+    <PatLen>0</PatLen>
+    <upstream>0</upstream>
+    <downstream>0</downstream>
+   </params>
+  </ns1:base_counter>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.base_counter.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:base_counterResponse>
+   <result></result>
+  </ns1:base_counterResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.base_entropy.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:base_entropy>
+   <sequence></sequence>
+   <params>
+    <upstream>0</upstream>
+    <position></position>
+    <downstream>0</downstream>
+    <output></output>
+    <PatLength>0</PatLength>
+   </params>
+  </ns1:base_entropy>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.base_entropy.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:base_entropyResponse>
+   <result></result>
+  </ns1:base_entropyResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.base_information_content.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:base_information_content>
+   <sequence></sequence>
+   <params>
+    <upstream>0</upstream>
+    <position></position>
+    <downstream>0</downstream>
+    <output></output>
+    <PatLength>0</PatLength>
+   </params>
+  </ns1:base_information_content>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.base_information_content.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:base_information_contentResponse>
+   <result></result>
+  </ns1:base_information_contentResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.base_relative_entropy.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:base_relative_entropy>
+   <sequence></sequence>
+   <params>
+    <upstream>0</upstream>
+    <position></position>
+    <downstream>0</downstream>
+    <output></output>
+    <PatLength>0</PatLength>
+   </params>
+  </ns1:base_relative_entropy>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.base_relative_entropy.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:base_relative_entropyResponse>
+   <result></result>
+  </ns1:base_relative_entropyResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.base_z_value.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:base_z_value>
+   <sequence></sequence>
+   <params>
+    <limit>0</limit>
+    <position></position>
+    <PatLen>0</PatLen>
+    <upstream>0</upstream>
+    <downstream>0</downstream>
+   </params>
+  </ns1:base_z_value>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.base_z_value.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:base_z_valueResponse>
+   <result></result>
+  </ns1:base_z_valueResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.bui.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:bui>
+   <sequence></sequence>
+   <params>
+    <translate>0</translate>
+    <position></position>
+    <id></id>
+    <del_key></del_key>
+    <tag></tag>
+   </params>
+  </ns1:bui>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.bui.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:buiResponse>
+   <result></result>
+  </ns1:buiResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.cai.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:cai>
+   <sequence></sequence>
+   <params>
+    <w_output></w_output>
+    <translate>0</translate>
+    <output></output>
+    <w_filename></w_filename>
+    <w_absent></w_absent>
+    <tag></tag>
+   </params>
+  </ns1:cai>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.cai.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:caiResponse>
+   <result></result>
+  </ns1:caiResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.calc_pI.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:calc_pI>
+   <sequence></sequence>
+  </ns1:calc_pI>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.calc_pI.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:calc_pIResponse>
+   <result></result>
+  </ns1:calc_pIResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.cbi.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:cbi>
+   <sequence></sequence>
+   <params>
+    <translate>0</translate>
+    <id></id>
+    <del_key></del_key>
+    <tag></tag>
+   </params>
+  </ns1:cbi>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.cbi.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:cbiResponse>
+   <result></result>
+  </ns1:cbiResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.cgr.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:cgr>
+   <sequence></sequence>
+   <params>
+    <width>0</width>
+    <level>0</level>
+   </params>
+  </ns1:cgr>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.cgr.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:cgrResponse>
+   <result></result>
+  </ns1:cgrResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.circular_map.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:circular_map>
+   <sequence></sequence>
+   <params>
+    <gmap>0</gmap>
+   </params>
+  </ns1:circular_map>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.circular_map.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:circular_mapResponse>
+   <result></result>
+  </ns1:circular_mapResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.codon_compiler.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:codon_compiler>
+   <sequence></sequence>
+   <params>
+    <translate>0</translate>
+    <id></id>
+    <data></data>
+    <output></output>
+    <del_key></del_key>
+    <startcodon>0</startcodon>
+    <stopcodon>0</stopcodon>
+   </params>
+  </ns1:codon_compiler>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.codon_compiler.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:codon_compilerResponse>
+   <result></result>
+  </ns1:codon_compilerResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.codon_counter.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:codon_counter>
+   <sequence></sequence>
+   <params>
+    <CDSid></CDSid>
+    <output></output>
+   </params>
+  </ns1:codon_counter>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.codon_counter.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:codon_counterResponse>
+   <result></result>
+  </ns1:codon_counterResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.codon_mva.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:codon_mva>
+   <sequence></sequence>
+   <params>
+    <parameter>0</parameter>
+    <naxis>0</naxis>
+    <translate>0</translate>
+    <data>0</data>
+    <method></method>
+    <output></output>
+    <del_key></del_key>
+   </params>
+  </ns1:codon_mva>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.codon_mva.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:codon_mvaResponse>
+   <result></result>
+  </ns1:codon_mvaResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.codon_usage.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:codon_usage>
+   <sequence></sequence>
+   <params>
+    <version>0</version>
+    <CDSid></CDSid>
+    <output></output>
+   </params>
+  </ns1:codon_usage>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.codon_usage.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:codon_usageResponse>
+   <result></result>
+  </ns1:codon_usageResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.complement.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:complement>
+   <sequence></sequence>
+  </ns1:complement>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.complement.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:complementResponse>
+   <result></result>
+  </ns1:complementResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.consensus_z.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:consensus_z>
+   <array_seq SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </array_seq>
+   <params>
+    <high>0</high>
+    <low>0.0</low>
+    <output></output>
+   </params>
+  </ns1:consensus_z>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.consensus_z.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:consensus_zResponse>
+   <result></result>
+  </ns1:consensus_zResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.cor.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:cor>
+   <array1 SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </array1>
+   <array2 SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </array2>
+   <params>
+    <sorted>0</sorted>
+    <method></method>
+   </params>
+  </ns1:cor>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.cor.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:corResponse>
+   <result SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </result>
+  </ns1:corResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.cumulative.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:cumulative>
+   <array SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </array>
+  </ns1:cumulative>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.cumulative.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:cumulativeResponse>
+   <result SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </result>
+  </ns1:cumulativeResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.delta_enc.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:delta_enc>
+   <sequence></sequence>
+  </ns1:delta_enc>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.delta_enc.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:delta_encResponse>
+   <result></result>
+  </ns1:delta_encResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.delta_gcskew.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:delta_gcskew>
+   <sequence></sequence>
+   <params>
+    <method></method>
+    <at>0</at>
+    <purine>0</purine>
+    <keto>0</keto>
+   </params>
+  </ns1:delta_gcskew>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.delta_gcskew.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:delta_gcskewResponse>
+   <result></result>
+  </ns1:delta_gcskewResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.dinuc.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:dinuc>
+   <sequence></sequence>
+   <params>
+    <position></position>
+    <id></id>
+    <output></output>
+    <translate>0</translate>
+    <del_key></del_key>
+   </params>
+  </ns1:dinuc>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.dinuc.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:dinucResponse>
+   <result></result>
+  </ns1:dinucResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.dist_in_cc.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:dist_in_cc>
+   <sequence></sequence>
+   <position1>0</position1>
+   <position2>0</position2>
+  </ns1:dist_in_cc>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.dist_in_cc.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:dist_in_ccResponse>
+   <result></result>
+  </ns1:dist_in_ccResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.dnawalk.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:dnawalk>
+   <sequence></sequence>
+   <params>
+    <gmap>0</gmap>
+   </params>
+  </ns1:dnawalk>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.dnawalk.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:dnawalkResponse>
+   <result></result>
+  </ns1:dnawalkResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.enc.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:enc>
+   <sequence></sequence>
+   <params>
+    <translate>0</translate>
+    <id></id>
+    <del_key></del_key>
+    <tag></tag>
+   </params>
+  </ns1:enc>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.enc.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:encResponse>
+   <result></result>
+  </ns1:encResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.entrez.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:entrez>
+   <database></database>
+   <query></query>
+  </ns1:entrez>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.entrez.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:entrezResponse>
+   <result></result>
+  </ns1:entrezResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.filter_cds_by_atg.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:filter_cds_by_atg>
+   <sequence></sequence>
+   <params>
+    <upstream>0</upstream>
+    <codon></codon>
+    <downstream>0</downstream>
+   </params>
+  </ns1:filter_cds_by_atg>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.filter_cds_by_atg.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:filter_cds_by_atgResponse>
+   <result SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </result>
+  </ns1:filter_cds_by_atgResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.find_dif.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:find_dif>
+   <sequence></sequence>
+   <params>
+    <type></type>
+   </params>
+  </ns1:find_dif>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.find_dif.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:find_difResponse>
+   <result SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </result>
+  </ns1:find_difResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.find_dnaAbox.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:find_dnaAbox>
+   <sequence></sequence>
+   <params>
+    <output></output>
+   </params>
+  </ns1:find_dnaAbox>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.find_dnaAbox.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:find_dnaAboxResponse>
+   <result></result>
+  </ns1:find_dnaAboxResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.find_iteron.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:find_iteron>
+   <sequence></sequence>
+   <params>
+    <output></output>
+   </params>
+  </ns1:find_iteron>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.find_iteron.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:find_iteronResponse>
+   <result></result>
+  </ns1:find_iteronResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.find_ori_ter.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:find_ori_ter>
+   <sequence></sequence>
+   <params>
+    <window>0</window>
+    <purine>0</purine>
+    <filter>0</filter>
+    <keto>0</keto>
+   </params>
+  </ns1:find_ori_ter>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.find_ori_ter.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:find_ori_terResponse>
+   <result></result>
+  </ns1:find_ori_terResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.find_pattern.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:find_pattern>
+   <sequence></sequence>
+   <pattern></pattern>
+   <params>
+    <output></output>
+   </params>
+  </ns1:find_pattern>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.find_pattern.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:find_patternResponse>
+   <result></result>
+  </ns1:find_patternResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.find_ter.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:find_ter>
+   <sequence></sequence>
+   <params>
+>
+   </params>
+  </ns1:find_ter>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.find_ter.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:find_terResponse>
+   <result SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </result>
+  </ns1:find_terResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.fop.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:fop>
+   <sequence></sequence>
+   <params>
+    <translate>0</translate>
+    <output></output>
+    <tag></tag>
+   </params>
+  </ns1:fop>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.fop.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:fopResponse>
+   <result></result>
+  </ns1:fopResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.gcsi.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:gcsi>
+   <sequence></sequence>
+   <params>
+    <p>0</p>
+    <window>0</window>
+    <version>0</version>
+    <purine>0</purine>
+    <at>0</at>
+    <keto>0</keto>
+   </params>
+  </ns1:gcsi>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.gcsi.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:gcsiResponse>
+   <result></result>
+  </ns1:gcsiResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.gcskew.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:gcskew>
+   <sequence></sequence>
+   <params>
+    <window>0</window>
+    <slide>0</slide>
+    <cumulative>0</cumulative>
+    <at>0</at>
+    <purine>0</purine>
+    <keto>0</keto>
+    <output></output>
+   </params>
+  </ns1:gcskew>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.gcskew.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:gcskewResponse>
+   <result></result>
+  </ns1:gcskewResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.gcwin.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:gcwin>
+   <sequence></sequence>
+   <params>
+    <window>0</window>
+    <at>0</at>
+    <purine>0</purine>
+    <application></application>
+    <output></output>
+    <keto>0</keto>
+   </params>
+  </ns1:gcwin>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.gcwin.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:gcwinResponse>
+   <result></result>
+  </ns1:gcwinResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.genes_from_ori.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:genes_from_ori>
+   <sequence></sequence>
+   <direction></direction>
+   <params>
+    <window>0</window>
+    <purine>0</purine>
+    <output></output>
+    <keto>0</keto>
+   </params>
+  </ns1:genes_from_ori>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.genes_from_ori.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:genes_from_oriResponse>
+   <result SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </result>
+  </ns1:genes_from_oriResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.geneskew.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:geneskew>
+   <sequence></sequence>
+   <params>
+    <window>0</window>
+    <slide>0</slide>
+    <cumulative>0</cumulative>
+    <base></base>
+    <gc3>0</gc3>
+    <output></output>
+   </params>
+  </ns1:geneskew>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.geneskew.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:geneskewResponse>
+   <result></result>
+  </ns1:geneskewResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.genome_map.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:genome_map>
+   <sequence></sequence>
+   <params>
+    <window>0</window>
+    <name>0</name>
+    <output></output>
+    <amp>0.0</amp>
+   </params>
+  </ns1:genome_map>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.genome_map.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:genome_mapResponse>
+   <result></result>
+  </ns1:genome_mapResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.genome_map3.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:genome_map3>
+   <sequence></sequence>
+   <params>
+    <width>0</width>
+    <datafilename></datafilename>
+    <gmap>0</gmap>
+    <output></output>
+    <height>0</height>
+   </params>
+  </ns1:genome_map3>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.genome_map3.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:genome_map3Response>
+   <result></result>
+  </ns1:genome_map3Response>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.genomicskew.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:genomicskew>
+   <sequence></sequence>
+   <params>
+    <divide>0</divide>
+    <at>0</at>
+    <output></output>
+   </params>
+  </ns1:genomicskew>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.genomicskew.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:genomicskewResponse>
+   <result></result>
+  </ns1:genomicskewResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.grapher.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://10.6.10.21/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:grapher>
+   <array0 SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </array0>
+   <array1 SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </array1>
+  </ns1:grapher>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.grapher.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://10.6.10.21/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:grapherResponse>
+  </ns1:grapherResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.help.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:help>
+   <keywords></keywords>
+  </ns1:help>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.help.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:helpResponse>
+   <result></result>
+  </ns1:helpResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.hydropathy.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:hydropathy>
+   <sequence></sequence>
+  </ns1:hydropathy>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.hydropathy.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:hydropathyResponse>
+   <result>0.0</result>
+  </ns1:hydropathyResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.icdi.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:icdi>
+   <sequence></sequence>
+   <params>
+    <translate>0</translate>
+    <id></id>
+    <del_key></del_key>
+    <tag></tag>
+   </params>
+  </ns1:icdi>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.icdi.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:icdiResponse>
+   <result></result>
+  </ns1:icdiResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.kmer_table.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:kmer_table>
+   <sequence></sequence>
+   <params>
+    <k>0</k>
+   </params>
+  </ns1:kmer_table>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.kmer_table.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:kmer_tableResponse>
+   <result></result>
+  </ns1:kmer_tableResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.lda_bias.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:lda_bias>
+   <sequence></sequence>
+   <params>
+    <variable></variable>
+    <coefficients>0</coefficients>
+   </params>
+  </ns1:lda_bias>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.lda_bias.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:lda_biasResponse>
+   <result></result>
+  </ns1:lda_biasResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.leading_strand.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:leading_strand>
+   <sequence></sequence>
+  </ns1:leading_strand>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.leading_strand.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:leading_strandResponse>
+   <result SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </result>
+  </ns1:leading_strandResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.least_squares_fit.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:least_squares_fit>
+   <array SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </array>
+  </ns1:least_squares_fit>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.least_squares_fit.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:least_squares_fitResponse>
+   <result SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </result>
+  </ns1:least_squares_fitResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.longest_ORF.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:longest_ORF>
+   <sequence></sequence>
+  </ns1:longest_ORF>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.longest_ORF.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:longest_ORFResponse>
+   <result></result>
+  </ns1:longest_ORFResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.max.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:max>
+   <array SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </array>
+  </ns1:max>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.max.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:maxResponse>
+   <result></result>
+  </ns1:maxResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.maxdex.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:maxdex>
+   <array SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </array>
+  </ns1:maxdex>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.maxdex.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:maxdexResponse>
+   <result></result>
+  </ns1:maxdexResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.mean.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:mean>
+   <array SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </array>
+  </ns1:mean>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.mean.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:meanResponse>
+   <result></result>
+  </ns1:meanResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.median.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:median>
+   <array SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </array>
+  </ns1:median>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.median.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:medianResponse>
+   <result></result>
+  </ns1:medianResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.min.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:min>
+   <array SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </array>
+  </ns1:min>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.min.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:minResponse>
+   <result></result>
+  </ns1:minResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.mindex.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:mindex>
+   <array SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </array>
+  </ns1:mindex>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.mindex.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:mindexResponse>
+   <result></result>
+  </ns1:mindexResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.molecular_weight.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:molecular_weight>
+   <sequence></sequence>
+   <params>
+    <strand></strand>
+   </params>
+  </ns1:molecular_weight>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.molecular_weight.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:molecular_weightResponse>
+   <result></result>
+  </ns1:molecular_weightResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.nsmap	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,11 @@
+
+#include "soapH.h"
+SOAP_NMAC struct Namespace namespaces[] =
+{
+	{"SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/", "http://www.w3.org/*/soap-envelope", NULL},
+	{"SOAP-ENC", "http://schemas.xmlsoap.org/soap/encoding/", "http://www.w3.org/*/soap-encoding", NULL},
+	{"xsi", "http://www.w3.org/2001/XMLSchema-instance", "http://www.w3.org/*/XMLSchema-instance", NULL},
+	{"xsd", "http://www.w3.org/2001/XMLSchema", "http://www.w3.org/*/XMLSchema", NULL},
+	{"ns1", "http://soap.g-language.org/GLANG", NULL, NULL},
+	{NULL, NULL, NULL, NULL}
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.nucleotide_periodicity.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:nucleotide_periodicity>
+   <sequence></sequence>
+   <params>
+    <window>0</window>
+    <nucleotide></nucleotide>
+    <output></output>
+   </params>
+  </ns1:nucleotide_periodicity>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.nucleotide_periodicity.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:nucleotide_periodicityResponse>
+   <result></result>
+  </ns1:nucleotide_periodicityResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.oligomer_counter.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:oligomer_counter>
+   <sequence></sequence>
+   <oligomer></oligomer>
+   <params>
+    <window>0</window>
+   </params>
+  </ns1:oligomer_counter>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.oligomer_counter.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:oligomer_counterResponse>
+   <result></result>
+  </ns1:oligomer_counterResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.oligomer_search.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:oligomer_search>
+   <sequence></sequence>
+   <oligomer></oligomer>
+   <params>
+    <return></return>
+   </params>
+  </ns1:oligomer_search>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.oligomer_search.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:oligomer_searchResponse>
+   <result SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </result>
+  </ns1:oligomer_searchResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.over_lapping_finder.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:over_lapping_finder>
+   <sequence></sequence>
+   <params>
+    <output></output>
+   </params>
+  </ns1:over_lapping_finder>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.over_lapping_finder.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:over_lapping_finderResponse>
+   <result></result>
+  </ns1:over_lapping_finderResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.palindrome.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:palindrome>
+   <sequence></sequence>
+   <params>
+    <gtmatch>0</gtmatch>
+    <output></output>
+    <loop>0</loop>
+    <shortest>0</shortest>
+   </params>
+  </ns1:palindrome>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.palindrome.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:palindromeResponse>
+   <result></result>
+  </ns1:palindromeResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.peptide_mass.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:peptide_mass>
+   <sequence></sequence>
+  </ns1:peptide_mass>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.peptide_mass.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:peptide_massResponse>
+   <result></result>
+  </ns1:peptide_massResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.phx.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:phx>
+   <sequence></sequence>
+   <params>
+    <usage></usage>
+    <translate>0</translate>
+    <output></output>
+    <del_key></del_key>
+    <tag></tag>
+   </params>
+  </ns1:phx>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.phx.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:phxResponse>
+   <result></result>
+  </ns1:phxResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.plasmid_map.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:plasmid_map>
+   <sequence></sequence>
+   <params>
+    <ptt></ptt>
+    <cgi>0</cgi>
+    <output></output>
+   </params>
+  </ns1:plasmid_map>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.plasmid_map.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:plasmid_mapResponse>
+   <result></result>
+  </ns1:plasmid_mapResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.pubmed.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://10.6.10.21/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:pubmed>
+  </ns1:pubmed>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.pubmed.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://10.6.10.21/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:pubmedResponse>
+  </ns1:pubmedResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.query_arm.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:query_arm>
+   <sequence></sequence>
+   <position>0</position>
+  </ns1:query_arm>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.query_arm.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:query_armResponse>
+   <result></result>
+  </ns1:query_armResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.query_strand.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:query_strand>
+   <sequence></sequence>
+   <position>0</position>
+   <params>
+    <direction></direction>
+   </params>
+  </ns1:query_strand>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.query_strand.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:query_strandResponse>
+   <result></result>
+  </ns1:query_strandResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.rep_ori_ter.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:rep_ori_ter>
+   <sequence></sequence>
+   <params>
+    <oriloc>0</oriloc>
+    <gcskew>0</gcskew>
+    <dif-threshold>0</dif-threshold>
+    <dbonly>0</dbonly>
+   </params>
+  </ns1:rep_ori_ter>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.rep_ori_ter.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:rep_ori_terResponse>
+   <result></result>
+  </ns1:rep_ori_terResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.scs.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:scs>
+   <sequence></sequence>
+   <params>
+    <id></id>
+    <translate>0</translate>
+    <del_key></del_key>
+    <tag></tag>
+   </params>
+  </ns1:scs>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.scs.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:scsResponse>
+   <result></result>
+  </ns1:scsResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.seq2png.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:seq2png>
+   <sequence></sequence>
+   <params>
+    <width>0</width>
+    <window>0</window>
+    <output></output>
+   </params>
+  </ns1:seq2png>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.seq2png.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:seq2pngResponse>
+   <result></result>
+  </ns1:seq2pngResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.seqinfo.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:seqinfo>
+   <sequence></sequence>
+  </ns1:seqinfo>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.seqinfo.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:seqinfoResponse>
+   <result></result>
+  </ns1:seqinfoResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.shuffleseq.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:shuffleseq>
+   <sequence></sequence>
+   <params>
+    <k>0</k>
+   </params>
+  </ns1:shuffleseq>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.shuffleseq.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:shuffleseqResponse>
+   <result></result>
+  </ns1:shuffleseqResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.signature.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:signature>
+   <sequence></sequence>
+   <params>
+    <wordlength>0</wordlength>
+    <bothstrand>0</bothstrand>
+    <oe>0</oe>
+    <seq></seq>
+    <memo></memo>
+    <header>0</header>
+   </params>
+  </ns1:signature>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.signature.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:signatureResponse>
+   <result></result>
+  </ns1:signatureResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.splitprintseq.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:splitprintseq>
+   <sequence></sequence>
+  </ns1:splitprintseq>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.splitprintseq.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:splitprintseqResponse>
+   <result></result>
+  </ns1:splitprintseqResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.standard_deviation.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:standard_deviation>
+   <array SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </array>
+  </ns1:standard_deviation>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.standard_deviation.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:standard_deviationResponse>
+   <result></result>
+  </ns1:standard_deviationResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.sum.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:sum>
+   <array SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </array>
+  </ns1:sum>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.sum.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:sumResponse>
+   <result></result>
+  </ns1:sumResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.to_fasta.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:to_fasta>
+   <sequence></sequence>
+   <params>
+    <length>0</length>
+    <name></name>
+    <output></output>
+   </params>
+  </ns1:to_fasta>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.to_fasta.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:to_fastaResponse>
+   <result></result>
+  </ns1:to_fastaResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.togoWS.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:togoWS>
+   <query></query>
+   <params>
+    <search></search>
+    <db></db>
+    <format></format>
+    <field></field>
+   </params>
+  </ns1:togoWS>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.togoWS.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:togoWSResponse>
+   <result></result>
+  </ns1:togoWSResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.translate.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:translate>
+   <sequence></sequence>
+  </ns1:translate>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.translate.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:translateResponse>
+   <result></result>
+  </ns1:translateResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.ttest.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:ttest>
+   <array1 SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </array1>
+   <array2 SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </array2>
+   <params>
+    <paired>0</paired>
+   </params>
+  </ns1:ttest>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.ttest.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:ttestResponse>
+   <result SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </result>
+  </ns1:ttestResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.variance.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:variance>
+   <array SOAP-ENC:arrayType="xsd:string[1]">
+    <item></item>
+   
+    <item></item>
+   </array>
+  </ns1:variance>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.variance.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:varianceResponse>
+   <result></result>
+  </ns1:varianceResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.view_cds.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:view_cds>
+   <sequence></sequence>
+   <params>
+    <length>0</length>
+    <gap>0</gap>
+    <output></output>
+   </params>
+  </ns1:view_cds>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.view_cds.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:view_cdsResponse>
+   <result></result>
+  </ns1:view_cdsResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.w_value.req.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:w_value>
+   <sequence></sequence>
+   <params>
+    <include></include>
+    <output></output>
+    <exclude></exclude>
+    <tag></tag>
+   </params>
+  </ns1:w_value>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/GLANGSoapBinding.w_value.res.xml	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://soap.g-language.org/GLANG">
+ <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <ns1:w_valueResponse>
+   <result></result>
+  </ns1:w_valueResponse>
+ </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/Makefile	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,645 @@
+# Makefile.in generated by automake 1.13.1 from Makefile.am.
+# include/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994-2012 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.
+
+
+
+
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
+pkgdatadir = $(datadir)/GEMBASSY
+pkgincludedir = $(includedir)/GEMBASSY
+pkglibdir = $(libdir)/GEMBASSY
+pkglibexecdir = $(libexecdir)/GEMBASSY
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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 = x86_64-apple-darwin12.3.0
+host_triplet = x86_64-apple-darwin12.3.0
+subdir = include
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+	$(top_srcdir)/depcomp
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/amd64.m4 \
+	$(top_srcdir)/m4/general.m4 $(top_srcdir)/m4/hpdf.m4 \
+	$(top_srcdir)/m4/java.m4 $(top_srcdir)/m4/lf_x11.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)/m4/mysql.m4 \
+	$(top_srcdir)/m4/pngdriver.m4 $(top_srcdir)/m4/postgresql.m4 \
+	$(top_srcdir)/m4/sgi.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/src/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+ARFLAGS = cru
+AM_V_AR = $(am__v_AR_$(V))
+am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
+am__v_AR_0 = @echo "  AR      " $@;
+am__v_AR_1 = 
+libgfile_a_AR = $(AR) $(ARFLAGS)
+libgfile_a_LIBADD =
+am_libgfile_a_OBJECTS = gfile.$(OBJEXT)
+libgfile_a_OBJECTS = $(am_libgfile_a_OBJECTS)
+libghttp_a_AR = $(AR) $(ARFLAGS)
+libghttp_a_LIBADD =
+am_libghttp_a_OBJECTS = ghttp.$(OBJEXT)
+libghttp_a_OBJECTS = $(am_libghttp_a_OBJECTS)
+libgplot_a_AR = $(AR) $(ARFLAGS)
+libgplot_a_LIBADD =
+am_libgplot_a_OBJECTS = gplot.$(OBJEXT)
+libgplot_a_OBJECTS = $(am_libgplot_a_OBJECTS)
+libgpost_a_AR = $(AR) $(ARFLAGS)
+libgpost_a_LIBADD =
+am_libgpost_a_OBJECTS = gpost.$(OBJEXT)
+libgpost_a_OBJECTS = $(am_libgpost_a_OBJECTS)
+AM_V_P = $(am__v_P_$(V))
+am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+am__v_at_1 = 
+DEFAULT_INCLUDES = -I. -I$(top_builddir)/src
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+am__v_lt_1 = 
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
+SOURCES = $(libgfile_a_SOURCES) $(libghttp_a_SOURCES) \
+	$(libgplot_a_SOURCES) $(libgpost_a_SOURCES)
+DIST_SOURCES = $(libgfile_a_SOURCES) $(libghttp_a_SOURCES) \
+	$(libgplot_a_SOURCES) $(libgpost_a_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing aclocal-1.13
+AMTAR = $${TAR-tar}
+AM_DEFAULT_VERBOSITY = 1
+AR = ar
+AUTOCONF = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing autoconf
+AUTOHEADER = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing autoheader
+AUTOMAKE = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing automake-1.13
+AWK = awk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS =   -O2 -I/usr/X11/include -L/usr/X11/lib  -I/usr/X11/include -DNO_AUTH
+CPP = gcc -E
+CPPFLAGS = -DAJ_MACOSXLF 
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+DLLTOOL = false
+DSYMUTIL = dsymutil
+DUMPBIN = 
+ECHO_C = \c
+ECHO_N = 
+ECHO_T = 
+EGREP = /usr/bin/grep -E
+ESYSTEMLIBS = 
+EXEEXT = 
+FGREP = /usr/bin/grep -F
+GREP = /usr/bin/grep
+HAVE_MEMMOVE = 
+HAVE_STRERROR = 
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+ISAIXIA64 = 
+ISCYGWIN = 
+JAVA_OK = 
+LD = /usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld
+LDFLAGS = 
+LIBOBJS = 
+LIBS = -lm  -lgd -lpng -lz -lm
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LIPO = lipo
+LN_S = ln -s
+LTLIBOBJS = 
+MAKEINFO = ${SHELL} /Users/kotone/dev/git/GEMBASSY/missing makeinfo
+MANIFEST_TOOL = :
+MKDIR_P = .././install-sh -c -d
+MYSQL_CFLAGS = 
+MYSQL_CONFIG = no
+MYSQL_CPPFLAGS = 
+MYSQL_LDFLAGS = 
+MYSQL_VERSION = 
+NEEDAJAX = 
+NM = /usr/bin/nm
+NMEDIT = nmedit
+OBJDUMP = false
+OBJEXT = o
+OTOOL = otool
+OTOOL64 = :
+PACKAGE = GEMBASSY
+PACKAGE_BUGREPORT = celery@g-language.org
+PACKAGE_NAME = GEMBASSY
+PACKAGE_STRING = GEMBASSY 1.0.0
+PACKAGE_TARNAME = GEMBASSY
+PACKAGE_URL = http://www.g-language.org/gembassy/
+PACKAGE_VERSION = 1.0.0
+PATH_SEPARATOR = :
+PCRE_DATE = 21-May-2003
+PCRE_LIB_VERSION = 0:1:0
+PCRE_MAJOR = 4
+PCRE_MINOR = 3
+PCRE_POSIXLIB_VERSION = 0:0:0
+PCRE_VERSION = 4.3
+PG_CONFIG = /usr/bin/pg_config
+POSIX_MALLOC_THRESHOLD = -DPOSIX_MALLOC_THRESHOLD=10
+POSTGRESQL_CFLAGS = -I/usr/include
+POSTGRESQL_CPPFLAGS = -I/usr/include
+POSTGRESQL_LDFLAGS = -L/usr/lib -lpq
+POSTGRESQL_VERSION = 9.1.5
+RANLIB = ranlib
+SED = /usr/bin/sed
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = strip
+VERSION = 1.0.0
+XLIB =  -lX11  -lXaw -lXt
+XMKMF = 
+X_CFLAGS =  -I/usr/X11/include
+X_EXTRA_LIBS = 
+X_LIBS = 
+X_PRE_LIBS =  -lSM -lICE
+abs_builddir = /Users/kotone/dev/git/GEMBASSY/include
+abs_srcdir = /Users/kotone/dev/git/GEMBASSY/include
+abs_top_builddir = /Users/kotone/dev/git/GEMBASSY
+abs_top_srcdir = /Users/kotone/dev/git/GEMBASSY
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_DUMPBIN = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = $${TAR-tar} chof - "$$tardir"
+am__untar = $${TAR-tar} xf -
+bindir = ${exec_prefix}/bin
+build = x86_64-apple-darwin12.3.0
+build_alias = 
+build_cpu = x86_64
+build_os = darwin12.3.0
+build_vendor = apple
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+embprefix = /Users/kotone/opt
+exec_prefix = ${prefix}
+havejavac = 
+host = x86_64-apple-darwin12.3.0
+host_alias = 
+host_cpu = x86_64
+host_os = darwin12.3.0
+host_vendor = apple
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = ${SHELL} /Users/kotone/dev/git/GEMBASSY/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = $(MKDIR_P)
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /Users/kotone/opt
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target_alias = 
+top_build_prefix = ../
+top_builddir = ..
+top_srcdir = ..
+INCLUDES = -I../include -I${embprefix}/include -I${embprefix}/include/eplplot -I${embprefix}/include/epcre -I${embprefix}/include/ezlib -I../gsoap
+#INCLUDES = -I../include -I../../../nucleus -I../../../ajax/pcre \
+#	-I../../../ajax/expat -I../../../ajax/zlib \
+#	-I../../../ajax/core -I../../../ajax/graphics \
+#	-I../../../ajax/ensembl -I../../../ajax/ajaxdb \
+#	-I../../../ajax/acd -I../../../plplot -I../gsoap
+
+#AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L${embprefix}/lib -lnucleus -lacd \
+#-lajaxdb -lensembl -lajaxg -lajax -leexpat -lepcre -lezlib -leplplot -lcurl
+
+##AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L../../../plplot/.libs \
+##-L../../../ajax/pcre/.libs -L../../../ajax/expat/.libs \
+##-L../../../ajax/zlib/.libs -L../../../ajax/core/.libs \
+##-L../../../ajax/graphics/.libs -L../../../ajax/ensembl/.libs \
+##-L../../../ajax/ajaxdb/.libs -L../../../ajax/acd/.libs \
+##-L../../../nucleus/.libs \
+##-lnucleus -lacd -lajaxdb -lensembl -lajaxg -lajax -leexpat -lepcre \
+##-lezlib -leplplot -lcurl
+
+AM_CFLAGS = $(AIX_CFLAGS) $(WARN_CFLAGS) $(DEVWARN_CFLAGS)
+noinst_LIBRARIES = libgfile.a libghttp.a libgplot.a libgpost.a
+libgfile_a_SOURCES = gfile.c
+libghttp_a_SOURCES = ghttp.c
+libgplot_a_SOURCES = gplot.c
+libgpost_a_SOURCES = gpost.c
+LDADD = -L${embprefix}/lib -lnucleus -lacd -lajaxdb -lensembl \
+        -lajaxg -lajax -leexpat -lepcre -lezlib -leplplot -lcurl \
+        $(XLIB)
+
+#LDADD = ../../../nucleus/libnucleus.la ../../../ajax/acd/libacd.la \
+#	../../../ajax/ajaxdb/libajaxdb.la \
+#	../../../ajax/ensembl/libensembl.la \
+#	../../../ajax/graphics/libajaxg.la \
+#	../../../ajax/core/libajax.la \
+#	../../../ajax/zlib/libezlib.la \
+#	../../../ajax/expat/libeexpat.la \
+#	../../../ajax/pcre/libepcre.la \
+#	../../../plplot/libeplplot.la \
+#        -lcurl \
+#  $(XLIB)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu include/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:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLIBRARIES:
+	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+libgfile.a: $(libgfile_a_OBJECTS) $(libgfile_a_DEPENDENCIES) $(EXTRA_libgfile_a_DEPENDENCIES) 
+	$(AM_V_at)-rm -f libgfile.a
+	$(AM_V_AR)$(libgfile_a_AR) libgfile.a $(libgfile_a_OBJECTS) $(libgfile_a_LIBADD)
+	$(AM_V_at)$(RANLIB) libgfile.a
+libghttp.a: $(libghttp_a_OBJECTS) $(libghttp_a_DEPENDENCIES) $(EXTRA_libghttp_a_DEPENDENCIES) 
+	$(AM_V_at)-rm -f libghttp.a
+	$(AM_V_AR)$(libghttp_a_AR) libghttp.a $(libghttp_a_OBJECTS) $(libghttp_a_LIBADD)
+	$(AM_V_at)$(RANLIB) libghttp.a
+libgplot.a: $(libgplot_a_OBJECTS) $(libgplot_a_DEPENDENCIES) $(EXTRA_libgplot_a_DEPENDENCIES) 
+	$(AM_V_at)-rm -f libgplot.a
+	$(AM_V_AR)$(libgplot_a_AR) libgplot.a $(libgplot_a_OBJECTS) $(libgplot_a_LIBADD)
+	$(AM_V_at)$(RANLIB) libgplot.a
+libgpost.a: $(libgpost_a_OBJECTS) $(libgpost_a_DEPENDENCIES) $(EXTRA_libgpost_a_DEPENDENCIES) 
+	$(AM_V_at)-rm -f libgpost.a
+	$(AM_V_AR)$(libgpost_a_AR) libgpost.a $(libgpost_a_OBJECTS) $(libgpost_a_LIBADD)
+	$(AM_V_at)$(RANLIB) libgpost.a
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+include ./$(DEPDIR)/gfile.Po
+include ./$(DEPDIR)/ghttp.Po
+include ./$(DEPDIR)/gplot.Po
+include ./$(DEPDIR)/gpost.Po
+
+.c.o:
+	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+#	$(AM_V_CC)source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(COMPILE) -c $<
+
+.c.obj:
+	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+#	$(AM_V_CC)source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+#	$(AM_V_CC)source='$<' object='$@' libtool=yes \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$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: check-am
+all-am: Makefile $(LIBRARIES)
+installdirs:
+install: 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:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+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:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstLIBRARIES cscopelist-am ctags \
+	ctags-am distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am 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 tags-am uninstall uninstall-am
+
+
+# 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:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/gae.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,6762 @@
+/* gae.h
+   Generated by wsdl2h 2.8.6 from http://soap.g-language.org/g-language.wsdl and typemap.dat
+   2013-04-04 13:42:50 GMT
+
+   DO NOT INCLUDE THIS FILE DIRECTLY INTO YOUR PROJECT BUILDS
+   USE THE soapcpp2-GENERATED SOURCE CODE FILES FOR YOUR PROJECT BUILDS
+
+   gSOAP XML Web services tools.
+   Copyright (C) 2001-2010 Robert van Engelen, Genivia Inc. All Rights Reserved.
+   Part of this software is released under one of the following licenses:
+   GPL or Genivia's license for commercial use.
+*/
+
+/** @page page_notes Usage Notes
+
+NOTE:
+
+ - Run soapcpp2 on gae.h to generate the SOAP/XML processing logic.
+   Use soapcpp2 option -I to specify paths for #import
+   To build with STL, 'stlvector.h' is imported from 'import' dir in package.
+   Use soapcpp2 option -i to generate improved proxy and server classes.
+ - Use wsdl2h options -c and -s to generate pure C code or C++ code without STL.
+ - Use 'typemap.dat' to control namespace bindings and type mappings.
+   It is strongly recommended to customize the names of the namespace prefixes
+   generated by wsdl2h. To do so, modify the prefix bindings in the Namespaces
+   section below and add the modified lines to 'typemap.dat' to rerun wsdl2h.
+ - Use Doxygen (www.doxygen.org) on this file to generate documentation.
+ - Use wsdl2h options -nname and -Nname to globally rename the prefix 'ns'.
+ - Use wsdl2h option -d to enable DOM support for xsd:anyType.
+ - Use wsdl2h option -g to auto-generate readers and writers for root elements.
+ - Struct/class members serialized as XML attributes are annotated with a '@'.
+ - Struct/class members that have a special role are annotated with a '$'.
+
+WARNING:
+
+   DO NOT INCLUDE THIS FILE DIRECTLY INTO YOUR PROJECT BUILDS.
+   USE THE SOURCE CODE FILES GENERATED BY soapcpp2 FOR YOUR PROJECT BUILDS:
+   THE soapStub.h FILE CONTAINS THIS CONTENT WITHOUT ANNOTATIONS.
+
+LICENSE:
+
+@verbatim
+--------------------------------------------------------------------------------
+gSOAP XML Web services tools
+Copyright (C) 2000-2011, Robert van Engelen, Genivia Inc. All Rights Reserved.
+
+This software is released under one of the following two licenses:
+1) GPL or 2) Genivia's license for commercial use.
+--------------------------------------------------------------------------------
+1) GPL license.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+
+Author contact information:
+engelen@genivia.com / engelen@acm.org
+
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+--------------------------------------------------------------------------------
+2) A commercial-use license is available from Genivia, Inc., contact@genivia.com
+--------------------------------------------------------------------------------
+@endverbatim
+
+*/
+
+
+//gsoapopt cw
+
+/******************************************************************************\
+ *                                                                            *
+ * Definitions                                                                *
+ *   http://soap.g-language.org/GLANG                                         *
+ *                                                                            *
+\******************************************************************************/
+
+
+/******************************************************************************\
+ *                                                                            *
+ * Import                                                                     *
+ *                                                                            *
+\******************************************************************************/
+
+
+/******************************************************************************\
+ *                                                                            *
+ * Schema Namespaces                                                          *
+ *                                                                            *
+\******************************************************************************/
+
+
+/* NOTE:
+
+It is strongly recommended to customize the names of the namespace prefixes
+generated by wsdl2h. To do so, modify the prefix bindings below and add the
+modified lines to typemap.dat to rerun wsdl2h:
+
+ns1 = "http://soap.g-language.org/GLANG"
+
+*/
+
+#define SOAP_NAMESPACE_OF_ns1	"http://soap.g-language.org/GLANG"
+//gsoap ns1   schema namespace:	http://soap.g-language.org/GLANG
+//gsoap ns1   schema form:	unqualified
+
+/******************************************************************************\
+ *                                                                            *
+ * Built-in Schema Types and Top-Level Elements and Attributes                *
+ *                                                                            *
+\******************************************************************************/
+
+
+
+/******************************************************************************\
+ *                                                                            *
+ * Schema Types and Top-Level Elements and Attributes                         *
+ *   http://soap.g-language.org/GLANG                                         *
+ *                                                                            *
+\******************************************************************************/
+
+
+/******************************************************************************\
+ *                                                                            *
+ * Schema Complex Types and Top-Level Elements                                *
+ *   http://soap.g-language.org/GLANG                                         *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// "http://soap.g-language.org/GLANG":Definition is a complexType.
+struct ns1__Definition
+{
+/// Element entry of type xs:string.
+    char*                                entry                          1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":codon_mvaInputParams is a complexType.
+struct ns1__codon_USCOREmvaInputParams
+{
+/// Element parameter of type xs:int.
+    int                                  parameter                      1;	///< Required element.
+/// Element naxis of type xs:int.
+    int                                  naxis                          1;	///< Required element.
+/// Element translate of type xs:int.
+    int                                  translate                      1;	///< Required element.
+/// Element data of type xs:int.
+    int                                  data                           1;	///< Required element.
+/// Element method of type xs:string.
+    char*                                method                         1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+/// Element del_key of type xs:string.
+    char*                                del_USCOREkey                  1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":P2InputParams is a complexType.
+struct ns1__P2InputParams
+{
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+/// Element tag of type xs:string.
+    char*                                tag                            1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":w_valueInputParams is a complexType.
+struct ns1__w_USCOREvalueInputParams
+{
+/// Element include of type xs:string.
+    char*                                include                        1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+/// Element exclude of type xs:string.
+    char*                                exclude                        1;	///< Required element.
+/// Element tag of type xs:string.
+    char*                                tag                            1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":find_ori_terInputParams is a complexType.
+struct ns1__find_USCOREori_USCOREterInputParams
+{
+/// Element window of type xs:int.
+    int                                  window                         1;	///< Required element.
+/// Element purine of type xs:int.
+    int                                  purine                         1;	///< Required element.
+/// Element filter of type xs:int.
+    int                                  filter                         1;	///< Required element.
+/// Element keto of type xs:int.
+    int                                  keto                           1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":consensus_zInputParams is a complexType.
+struct ns1__consensus_USCOREzInputParams
+{
+/// Element high of type xs:int.
+    int                                  high                           1;	///< Required element.
+/// Element low of type xs:double.
+    double                               low                            1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":genome_mapInputParams is a complexType.
+struct ns1__genome_USCOREmapInputParams
+{
+/// Element window of type xs:int.
+    int                                  window                         1;	///< Required element.
+/// Element name of type xs:int.
+    int                                  name                           1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+/// Element amp of type xs:double.
+    double                               amp                            1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":rep_ori_terInputParams is a complexType.
+struct ns1__rep_USCOREori_USCOREterInputParams
+{
+/// Element oriloc of type xs:int.
+    int                                  oriloc                         1;	///< Required element.
+/// Element gcskew of type xs:int.
+    int                                  gcskew                         1;	///< Required element.
+/// Element dif-threshold of type xs:int.
+    int                                  dif_threshold                  1;	///< Required element.
+/// Element dbonly of type xs:int.
+    int                                  dbonly                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":DoubleHelixInputParams is a complexType.
+struct ns1__DoubleHelixInputParams
+{
+/// Element speed of type xs:double.
+    double                               speed                          1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":plasmid_mapInputParams is a complexType.
+struct ns1__plasmid_USCOREmapInputParams
+{
+/// Element ptt of type xs:string.
+    char*                                ptt                            1;	///< Required element.
+/// Element cgi of type xs:int.
+    int                                  cgi                            1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":base_entropyInputParams is a complexType.
+struct ns1__base_USCOREentropyInputParams
+{
+/// Element upstream of type xs:int.
+    int                                  upstream                       1;	///< Required element.
+/// Element position of type xs:string.
+    char*                                position                       1;	///< Required element.
+/// Element downstream of type xs:int.
+    int                                  downstream                     1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+/// Element PatLength of type xs:int.
+    int                                  PatLength                      1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":nucleotide_periodicityInputParams is a complexType.
+struct ns1__nucleotide_USCOREperiodicityInputParams
+{
+/// Element window of type xs:int.
+    int                                  window                         1;	///< Required element.
+/// Element nucleotide of type xs:string.
+    char*                                nucleotide                     1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":to_fastaInputParams is a complexType.
+struct ns1__to_USCOREfastaInputParams
+{
+/// Element length of type xs:int.
+    int                                  length                         1;	///< Required element.
+/// Element name of type xs:string.
+    char*                                name                           1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":find_difInputParams is a complexType.
+struct ns1__find_USCOREdifInputParams
+{
+/// Element type of type xs:string.
+    char*                                type                           1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":cbiInputParams is a complexType.
+struct ns1__cbiInputParams
+{
+/// Element translate of type xs:int.
+    int                                  translate                      1;	///< Required element.
+/// Element id of type xs:string.
+    char*                                id                             1;	///< Required element.
+/// Element del_key of type xs:string.
+    char*                                del_USCOREkey                  1;	///< Required element.
+/// Element tag of type xs:string.
+    char*                                tag                            1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":genes_from_oriInputParams is a complexType.
+struct ns1__genes_USCOREfrom_USCOREoriInputParams
+{
+/// Element window of type xs:int.
+    int                                  window                         1;	///< Required element.
+/// Element purine of type xs:int.
+    int                                  purine                         1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+/// Element keto of type xs:int.
+    int                                  keto                           1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":geneskewInputParams is a complexType.
+struct ns1__geneskewInputParams
+{
+/// Element window of type xs:int.
+    int                                  window                         1;	///< Required element.
+/// Element slide of type xs:int.
+    int                                  slide                          1;	///< Required element.
+/// Element cumulative of type xs:int.
+    int                                  cumulative                     1;	///< Required element.
+/// Element base of type xs:string.
+    char*                                base                           1;	///< Required element.
+/// Element gc3 of type xs:int.
+    int                                  gc3                            1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":corInputParams is a complexType.
+struct ns1__corInputParams
+{
+/// Element sorted of type xs:int.
+    int                                  sorted                         1;	///< Required element.
+/// Element method of type xs:string.
+    char*                                method                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":delta_gcskewInputParams is a complexType.
+struct ns1__delta_USCOREgcskewInputParams
+{
+/// Element method of type xs:string.
+    char*                                method                         1;	///< Required element.
+/// Element at of type xs:int.
+    int                                  at                             1;	///< Required element.
+/// Element purine of type xs:int.
+    int                                  purine                         1;	///< Required element.
+/// Element keto of type xs:int.
+    int                                  keto                           1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":molecular_weightInputParams is a complexType.
+struct ns1__molecular_USCOREweightInputParams
+{
+/// Element strand of type xs:string.
+    char*                                strand                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":circular_mapInputParams is a complexType.
+struct ns1__circular_USCOREmapInputParams
+{
+/// Element gmap of type xs:int.
+    int                                  gmap                           1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":gcskewInputParams is a complexType.
+struct ns1__gcskewInputParams
+{
+/// Element window of type xs:int.
+    int                                  window                         1;	///< Required element.
+/// Element slide of type xs:int.
+    int                                  slide                          1;	///< Required element.
+/// Element cumulative of type xs:int.
+    int                                  cumulative                     1;	///< Required element.
+/// Element at of type xs:int.
+    int                                  at                             1;	///< Required element.
+/// Element purine of type xs:int.
+    int                                  purine                         1;	///< Required element.
+/// Element keto of type xs:int.
+    int                                  keto                           1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":genome_map3InputParams is a complexType.
+struct ns1__genome_USCOREmap3InputParams
+{
+/// Element width of type xs:int.
+    int                                  width                          1;	///< Required element.
+/// Element datafilename of type xs:string.
+    char*                                datafilename                   1;	///< Required element.
+/// Element gmap of type xs:int.
+    int                                  gmap                           1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+/// Element height of type xs:int.
+    int                                  height                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":togoWSInputParams is a complexType.
+struct ns1__togoWSInputParams
+{
+/// Element search of type xs:string.
+    char*                                search                         1;	///< Required element.
+/// Element db of type xs:string.
+    char*                                db                             1;	///< Required element.
+/// Element format of type xs:string.
+    char*                                format                         1;	///< Required element.
+/// Element field of type xs:string.
+    char*                                field                          1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":base_information_contentInputParams is a complexType.
+struct ns1__base_USCOREinformation_USCOREcontentInputParams
+{
+/// Element upstream of type xs:int.
+    int                                  upstream                       1;	///< Required element.
+/// Element position of type xs:string.
+    char*                                position                       1;	///< Required element.
+/// Element downstream of type xs:int.
+    int                                  downstream                     1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+/// Element PatLength of type xs:int.
+    int                                  PatLength                      1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":dnawalkInputParams is a complexType.
+struct ns1__dnawalkInputParams
+{
+/// Element gmap of type xs:int.
+    int                                  gmap                           1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":find_terInputParams is a complexType.
+struct ns1__find_USCOREterInputParams
+{
+/// Element -type of type xs:string.
+    char*                                _x002dtype                     1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":shuffleseqInputParams is a complexType.
+struct ns1__shuffleseqInputParams
+{
+/// Element k of type xs:int.
+    int                                  k                              1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":phxInputParams is a complexType.
+struct ns1__phxInputParams
+{
+/// Element usage of type xs:string.
+    char*                                usage                          1;	///< Required element.
+/// Element translate of type xs:int.
+    int                                  translate                      1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+/// Element del_key of type xs:string.
+    char*                                del_USCOREkey                  1;	///< Required element.
+/// Element tag of type xs:string.
+    char*                                tag                            1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":oligomer_searchInputParams is a complexType.
+struct ns1__oligomer_USCOREsearchInputParams
+{
+/// Element return of type xs:string.
+    char*                                return_                        1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":find_patternInputParams is a complexType.
+struct ns1__find_USCOREpatternInputParams
+{
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":gcwinInputParams is a complexType.
+struct ns1__gcwinInputParams
+{
+/// Element window of type xs:int.
+    int                                  window                         1;	///< Required element.
+/// Element at of type xs:int.
+    int                                  at                             1;	///< Required element.
+/// Element purine of type xs:int.
+    int                                  purine                         1;	///< Required element.
+/// Element application of type xs:string.
+    char*                                application                    1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+/// Element keto of type xs:int.
+    int                                  keto                           1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":icdiInputParams is a complexType.
+struct ns1__icdiInputParams
+{
+/// Element translate of type xs:int.
+    int                                  translate                      1;	///< Required element.
+/// Element id of type xs:string.
+    char*                                id                             1;	///< Required element.
+/// Element del_key of type xs:string.
+    char*                                del_USCOREkey                  1;	///< Required element.
+/// Element tag of type xs:string.
+    char*                                tag                            1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":encInputParams is a complexType.
+struct ns1__encInputParams
+{
+/// Element translate of type xs:int.
+    int                                  translate                      1;	///< Required element.
+/// Element id of type xs:string.
+    char*                                id                             1;	///< Required element.
+/// Element del_key of type xs:string.
+    char*                                del_USCOREkey                  1;	///< Required element.
+/// Element tag of type xs:string.
+    char*                                tag                            1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":oligomer_counterInputParams is a complexType.
+struct ns1__oligomer_USCOREcounterInputParams
+{
+/// Element window of type xs:int.
+    int                                  window                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":fopInputParams is a complexType.
+struct ns1__fopInputParams
+{
+/// Element translate of type xs:int.
+    int                                  translate                      1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+/// Element tag of type xs:string.
+    char*                                tag                            1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":buiInputParams is a complexType.
+struct ns1__buiInputParams
+{
+/// Element translate of type xs:int.
+    int                                  translate                      1;	///< Required element.
+/// Element position of type xs:string.
+    char*                                position                       1;	///< Required element.
+/// Element id of type xs:string.
+    char*                                id                             1;	///< Required element.
+/// Element del_key of type xs:string.
+    char*                                del_USCOREkey                  1;	///< Required element.
+/// Element tag of type xs:string.
+    char*                                tag                            1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":codon_usageInputParams is a complexType.
+struct ns1__codon_USCOREusageInputParams
+{
+/// Element version of type xs:int.
+    int                                  version                        1;	///< Required element.
+/// Element CDSid of type xs:string.
+    char*                                CDSid                          1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":find_dnaAboxInputParams is a complexType.
+struct ns1__find_USCOREdnaAboxInputParams
+{
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":ttestInputParams is a complexType.
+struct ns1__ttestInputParams
+{
+/// Element paired of type xs:int.
+    int                                  paired                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":seq2pngInputParams is a complexType.
+struct ns1__seq2pngInputParams
+{
+/// Element width of type xs:int.
+    int                                  width                          1;	///< Required element.
+/// Element window of type xs:int.
+    int                                  window                         1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":amino_counterInputParams is a complexType.
+struct ns1__amino_USCOREcounterInputParams
+{
+/// Element CDSid of type xs:string.
+    char*                                CDSid                          1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":aauiInputParams is a complexType.
+struct ns1__aauiInputParams
+{
+/// Element id of type xs:string.
+    char*                                id                             1;	///< Required element.
+/// Element tag of type xs:string.
+    char*                                tag                            1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":codon_compilerInputParams is a complexType.
+struct ns1__codon_USCOREcompilerInputParams
+{
+/// Element translate of type xs:int.
+    int                                  translate                      1;	///< Required element.
+/// Element id of type xs:string.
+    char*                                id                             1;	///< Required element.
+/// Element data of type xs:string.
+    char*                                data                           1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+/// Element del_key of type xs:string.
+    char*                                del_USCOREkey                  1;	///< Required element.
+/// Element startcodon of type xs:int.
+    int                                  startcodon                     1;	///< Required element.
+/// Element stopcodon of type xs:int.
+    int                                  stopcodon                      1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":over_lapping_finderInputParams is a complexType.
+struct ns1__over_USCORElapping_USCOREfinderInputParams
+{
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":find_iteronInputParams is a complexType.
+struct ns1__find_USCOREiteronInputParams
+{
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":EwInputParams is a complexType.
+struct ns1__EwInputParams
+{
+/// Element translate of type xs:int.
+    int                                  translate                      1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+/// Element del_key of type xs:string.
+    char*                                del_USCOREkey                  1;	///< Required element.
+/// Element tag of type xs:string.
+    char*                                tag                            1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":codon_counterInputParams is a complexType.
+struct ns1__codon_USCOREcounterInputParams
+{
+/// Element CDSid of type xs:string.
+    char*                                CDSid                          1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":view_cdsInputParams is a complexType.
+struct ns1__view_USCOREcdsInputParams
+{
+/// Element length of type xs:int.
+    int                                  length                         1;	///< Required element.
+/// Element gap of type xs:int.
+    int                                  gap                            1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":base_relative_entropyInputParams is a complexType.
+struct ns1__base_USCORErelative_USCOREentropyInputParams
+{
+/// Element upstream of type xs:int.
+    int                                  upstream                       1;	///< Required element.
+/// Element position of type xs:string.
+    char*                                position                       1;	///< Required element.
+/// Element downstream of type xs:int.
+    int                                  downstream                     1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+/// Element PatLength of type xs:int.
+    int                                  PatLength                      1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":palindromeInputParams is a complexType.
+struct ns1__palindromeInputParams
+{
+/// Element gtmatch of type xs:int.
+    int                                  gtmatch                        1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+/// Element loop of type xs:int.
+    int                                  loop                           1;	///< Required element.
+/// Element shortest of type xs:int.
+    int                                  shortest                       1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":genomicskewInputParams is a complexType.
+struct ns1__genomicskewInputParams
+{
+/// Element divide of type xs:int.
+    int                                  divide                         1;	///< Required element.
+/// Element at of type xs:int.
+    int                                  at                             1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":query_strandInputParams is a complexType.
+struct ns1__query_USCOREstrandInputParams
+{
+/// Element direction of type xs:string.
+    char*                                direction                      1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":gcsiInputParams is a complexType.
+struct ns1__gcsiInputParams
+{
+/// Element p of type xs:int.
+    int                                  p                              1;	///< Required element.
+/// Element window of type xs:int.
+    int                                  window                         1;	///< Required element.
+/// Element version of type xs:int.
+    int                                  version                        1;	///< Required element.
+/// Element purine of type xs:int.
+    int                                  purine                         1;	///< Required element.
+/// Element at of type xs:int.
+    int                                  at                             1;	///< Required element.
+/// Element keto of type xs:int.
+    int                                  keto                           1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":filter_cds_by_atgInputParams is a complexType.
+struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams
+{
+/// Element upstream of type xs:int.
+    int                                  upstream                       1;	///< Required element.
+/// Element codon of type xs:string.
+    char*                                codon                          1;	///< Required element.
+/// Element downstream of type xs:int.
+    int                                  downstream                     1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":caiInputParams is a complexType.
+struct ns1__caiInputParams
+{
+/// Element w_output of type xs:string.
+    char*                                w_USCOREoutput                 1;	///< Required element.
+/// Element translate of type xs:int.
+    int                                  translate                      1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+/// Element w_filename of type xs:string.
+    char*                                w_USCOREfilename               1;	///< Required element.
+/// Element w_absent of type xs:string.
+    char*                                w_USCOREabsent                 1;	///< Required element.
+/// Element tag of type xs:string.
+    char*                                tag                            1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":dinucInputParams is a complexType.
+struct ns1__dinucInputParams
+{
+/// Element position of type xs:string.
+    char*                                position                       1;	///< Required element.
+/// Element id of type xs:string.
+    char*                                id                             1;	///< Required element.
+/// Element output of type xs:string.
+    char*                                output                         1;	///< Required element.
+/// Element translate of type xs:int.
+    int                                  translate                      1;	///< Required element.
+/// Element del_key of type xs:string.
+    char*                                del_USCOREkey                  1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":cgrInputParams is a complexType.
+struct ns1__cgrInputParams
+{
+/// Element width of type xs:int.
+    int                                  width                          1;	///< Required element.
+/// Element level of type xs:int.
+    int                                  level                          1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":B1InputParams is a complexType.
+struct ns1__B1InputParams
+{
+/// Element method of type xs:string.
+    char*                                method                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":base_counterInputParams is a complexType.
+struct ns1__base_USCOREcounterInputParams
+{
+/// Element position of type xs:string.
+    char*                                position                       1;	///< Required element.
+/// Element PatLen of type xs:int.
+    int                                  PatLen                         1;	///< Required element.
+/// Element upstream of type xs:int.
+    int                                  upstream                       1;	///< Required element.
+/// Element downstream of type xs:int.
+    int                                  downstream                     1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":base_z_valueInputParams is a complexType.
+struct ns1__base_USCOREz_USCOREvalueInputParams
+{
+/// Element limit of type xs:int.
+    int                                  limit                          1;	///< Required element.
+/// Element position of type xs:string.
+    char*                                position                       1;	///< Required element.
+/// Element PatLen of type xs:int.
+    int                                  PatLen                         1;	///< Required element.
+/// Element upstream of type xs:int.
+    int                                  upstream                       1;	///< Required element.
+/// Element downstream of type xs:int.
+    int                                  downstream                     1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":kmer_tableInputParams is a complexType.
+struct ns1__kmer_USCOREtableInputParams
+{
+/// Element k of type xs:int.
+    int                                  k                              1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":lda_biasInputParams is a complexType.
+struct ns1__lda_USCOREbiasInputParams
+{
+/// Element variable of type xs:string.
+    char*                                variable                       1;	///< Required element.
+/// Element coefficients of type xs:int.
+    int                                  coefficients                   1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":signatureInputParams is a complexType.
+struct ns1__signatureInputParams
+{
+/// Element wordlength of type xs:int.
+    int                                  wordlength                     1;	///< Required element.
+/// Element bothstrand of type xs:int.
+    int                                  bothstrand                     1;	///< Required element.
+/// Element oe of type xs:int.
+    int                                  oe                             1;	///< Required element.
+/// Element seq of type xs:string.
+    char*                                seq                            1;	///< Required element.
+/// Element memo of type xs:string.
+    char*                                memo                           1;	///< Required element.
+/// Element header of type xs:int.
+    int                                  header                         1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":scsInputParams is a complexType.
+struct ns1__scsInputParams
+{
+/// Element id of type xs:string.
+    char*                                id                             1;	///< Required element.
+/// Element translate of type xs:int.
+    int                                  translate                      1;	///< Required element.
+/// Element del_key of type xs:string.
+    char*                                del_USCOREkey                  1;	///< Required element.
+/// Element tag of type xs:string.
+    char*                                tag                            1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":S_valueInputParams is a complexType.
+struct ns1__S_USCOREvalueInputParams
+{
+/// Element sharp of type xs:int.
+    int                                  sharp                          1;	///< Required element.
+};
+
+/// "http://soap.g-language.org/GLANG":arrayIn is a complexType with complexContent restriction of SOAP-ENC:Array.
+/// SOAP encoded array of xs:string
+struct arrayIn
+{
+/// Pointer to array of char*.
+    char*                               *__ptr                         ;
+/// Size of the dynamic array.
+    int                                  __size                        ;
+/// Offset for partially transmitted arrays (uncomment only when required).
+//  int                                  __offset                      ;
+};
+
+/// "http://soap.g-language.org/GLANG":arrayOut is a complexType with complexContent restriction of SOAP-ENC:Array.
+/// SOAP encoded array of xs:string
+struct arrayOut
+{
+/// Pointer to array of char*.
+    char*                               *__ptr                         ;
+/// Size of the dynamic array.
+    int                                  __size                        ;
+/// Offset for partially transmitted arrays (uncomment only when required).
+//  int                                  __offset                      ;
+};
+
+/******************************************************************************\
+ *                                                                            *
+ * Additional Top-Level Elements                                              *
+ *   http://soap.g-language.org/GLANG                                         *
+ *                                                                            *
+\******************************************************************************/
+
+
+/******************************************************************************\
+ *                                                                            *
+ * Additional Top-Level Attributes                                            *
+ *   http://soap.g-language.org/GLANG                                         *
+ *                                                                            *
+\******************************************************************************/
+
+
+/******************************************************************************\
+ *                                                                            *
+ * Services                                                                   *
+ *                                                                            *
+\******************************************************************************/
+
+
+//gsoap ns1  service name:	GLANGSoapBinding 
+//gsoap ns1  service type:	GLANG 
+//gsoap ns1  service port:	http://soap.g-language.org/WS/g-language.cgi 
+//gsoap ns1  service namespace:	http://soap.g-language.org/GLANG 
+//gsoap ns1  service transport:	http://schemas.xmlsoap.org/soap/http 
+
+/** @mainpage GLANG Definitions
+
+@section GLANG_bindings Service Bindings
+
+  - @ref GLANGSoapBinding
+
+@section GLANG_more More Information
+
+  - @ref page_notes "Usage Notes"
+
+  - @ref page_XMLDataBinding "XML Data Binding"
+
+  - @ref SOAP_ENV__Header "SOAP Header Content" (when applicable)
+
+  - @ref SOAP_ENV__Detail "SOAP Fault Detail Content" (when applicable)
+
+
+*/
+
+/**
+
+@page GLANGSoapBinding Binding "GLANGSoapBinding"
+
+@section GLANGSoapBinding_operations Operations of Binding  "GLANGSoapBinding"
+
+  - @ref ns1__codon_USCOREmva
+
+  - @ref ns1__P2
+
+  - @ref ns1__w_USCOREvalue
+
+  - @ref ns1__splitprintseq
+
+  - @ref ns1__median
+
+  - @ref ns1__find_USCOREori_USCOREter
+
+  - @ref ns1__plasmid_USCOREmap
+
+  - @ref ns1__sum
+
+  - @ref ns1__nucleotide_USCOREperiodicity
+
+  - @ref ns1__variance
+
+  - @ref ns1__amino_USCOREinfo
+
+  - @ref ns1__circular_USCOREmap
+
+  - @ref ns1__togoWS
+
+  - @ref ns1__translate
+
+  - @ref ns1__phx
+
+  - @ref ns1__icdi
+
+  - @ref ns1__enc
+
+  - @ref ns1__fop
+
+  - @ref ns1__bui
+
+  - @ref ns1__dist_USCOREin_USCOREcc
+
+  - @ref ns1__find_USCOREdnaAbox
+
+  - @ref ns1__ttest
+
+  - @ref ns1__seq2png
+
+  - @ref ns1__amino_USCOREcounter
+
+  - @ref ns1__aaui
+
+  - @ref ns1__codon_USCOREcompiler
+
+  - @ref ns1__over_USCORElapping_USCOREfinder
+
+  - @ref ns1__Ew
+
+  - @ref ns1__base_USCORErelative_USCOREentropy
+
+  - @ref ns1__view_USCOREcds
+
+  - @ref ns1__query_USCOREstrand
+
+  - @ref ns1__genomicskew
+
+  - @ref ns1__filter_USCOREcds_USCOREby_USCOREatg
+
+  - @ref ns1__gcsi
+
+  - @ref ns1__cai
+
+  - @ref ns1__maxdex
+
+  - @ref ns1__max
+
+  - @ref ns1__query_USCOREarm
+
+  - @ref ns1__mindex
+
+  - @ref ns1__consensus_USCOREz
+
+  - @ref ns1__genome_USCOREmap
+
+  - @ref ns1__longest_USCOREORF
+
+  - @ref ns1__rep_USCOREori_USCOREter
+
+  - @ref ns1__calc_USCOREpI
+
+  - @ref ns1__DoubleHelix
+
+  - @ref ns1__base_USCOREentropy
+
+  - @ref ns1__to_USCOREfasta
+
+  - @ref ns1__find_USCOREdif
+
+  - @ref ns1__cbi
+
+  - @ref ns1__genes_USCOREfrom_USCOREori
+
+  - @ref ns1__geneskew
+
+  - @ref ns1__standard_USCOREdeviation
+
+  - @ref ns1__cor
+
+  - @ref ns1__cumulative
+
+  - @ref ns1__delta_USCOREenc
+
+  - @ref ns1__delta_USCOREgcskew
+
+  - @ref ns1__molecular_USCOREweight
+
+  - @ref ns1__gcskew
+
+  - @ref ns1__genome_USCOREmap3
+
+  - @ref ns1__seqinfo
+
+  - @ref ns1__signature
+
+  - @ref ns1__base_USCOREinformation_USCOREcontent
+
+  - @ref ns1__dnawalk
+
+  - @ref ns1__find_USCOREter
+
+  - @ref ns1__shuffleseq
+
+  - @ref ns1__oligomer_USCOREsearch
+
+  - @ref ns1__find_USCOREpattern
+
+  - @ref ns1__gcwin
+
+  - @ref ns1__oligomer_USCOREcounter
+
+  - @ref ns1__codon_USCOREusage
+
+  - @ref ns1__min
+
+  - @ref ns1__find_USCOREiteron
+
+  - @ref ns1__complement
+
+  - @ref ns1__mean
+
+  - @ref ns1__codon_USCOREcounter
+
+  - @ref ns1__entrez
+
+  - @ref ns1__palindrome
+
+  - @ref ns1__least_USCOREsquares_USCOREfit
+
+  - @ref ns1__dinuc
+
+  - @ref ns1__cgr
+
+  - @ref ns1__B1
+
+  - @ref ns1__B2
+
+  - @ref ns1__base_USCOREcounter
+
+  - @ref ns1__base_USCOREz_USCOREvalue
+
+  - @ref ns1__kmer_USCOREtable
+
+  - @ref ns1__lda_USCOREbias
+
+  - @ref ns1__scs
+
+  - @ref ns1__leading_USCOREstrand
+
+  - @ref ns1__S_USCOREvalue
+
+  - @ref ns1__help
+
+  - @ref ns1__hydropathy
+
+@section GLANGSoapBinding_ports Endpoints of Binding  "GLANGSoapBinding"
+
+  - http://soap.g-language.org/WS/g-language.cgi
+
+Note: use wsdl2h option -N to change the service binding prefix name
+
+*/
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Binding                                                            *
+ *   GLANGSoapBinding                                                         *
+ *                                                                            *
+\******************************************************************************/
+
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__codon_USCOREmva                                                     *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__codon_USCOREmva" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#codon_mva"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/codon_mvaRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/codon_mvaResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__codon_USCOREmva(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__codon_USCOREmvaInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__codon_USCOREmva(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__codon_USCOREmvaInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	codon_USCOREmva rpc
+//gsoap ns1  service method-encoding:	codon_USCOREmva http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	codon_USCOREmva http://soap.g-language.org/GLANG#codon_mva
+//gsoap ns1  service method-output-action:	codon_USCOREmva http://soap.g-language.org/GLANG/GLANG/codon_mvaResponse
+int ns1__codon_USCOREmva(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__codon_USCOREmvaInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__P2                                                                  *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__P2" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#P2"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/P2Request"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/P2Response"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__P2(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__P2InputParams*          params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__P2(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__P2InputParams*          params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	P2 rpc
+//gsoap ns1  service method-encoding:	P2 http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	P2 http://soap.g-language.org/GLANG#P2
+//gsoap ns1  service method-output-action:	P2 http://soap.g-language.org/GLANG/GLANG/P2Response
+int ns1__P2(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__P2InputParams*          _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__w_USCOREvalue                                                       *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__w_USCOREvalue" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#w_value"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/w_valueRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/w_valueResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__w_USCOREvalue(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__w_USCOREvalueInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__w_USCOREvalue(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__w_USCOREvalueInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	w_USCOREvalue rpc
+//gsoap ns1  service method-encoding:	w_USCOREvalue http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	w_USCOREvalue http://soap.g-language.org/GLANG#w_value
+//gsoap ns1  service method-output-action:	w_USCOREvalue http://soap.g-language.org/GLANG/GLANG/w_valueResponse
+int ns1__w_USCOREvalue(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__w_USCOREvalueInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__splitprintseq                                                       *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__splitprintseq" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#splitprintseq"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/splitprintseqRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/splitprintseqResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__splitprintseq(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__splitprintseq(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	splitprintseq rpc
+//gsoap ns1  service method-encoding:	splitprintseq http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	splitprintseq http://soap.g-language.org/GLANG#splitprintseq
+//gsoap ns1  service method-output-action:	splitprintseq http://soap.g-language.org/GLANG/GLANG/splitprintseqResponse
+int ns1__splitprintseq(
+    char*                               _sequence,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__median                                                              *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__median" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#median"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/medianRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/medianResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__median(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__median(
+    struct soap *soap,
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	median rpc
+//gsoap ns1  service method-encoding:	median http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	median http://soap.g-language.org/GLANG#median
+//gsoap ns1  service method-output-action:	median http://soap.g-language.org/GLANG/GLANG/medianResponse
+int ns1__median(
+    struct arrayIn*                     _array,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__find_USCOREori_USCOREter                                            *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__find_USCOREori_USCOREter" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#find_ori_ter"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/find_ori_terRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/find_ori_terResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__find_USCOREori_USCOREter(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__find_USCOREori_USCOREterInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__find_USCOREori_USCOREter(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__find_USCOREori_USCOREterInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	find_USCOREori_USCOREter rpc
+//gsoap ns1  service method-encoding:	find_USCOREori_USCOREter http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	find_USCOREori_USCOREter http://soap.g-language.org/GLANG#find_ori_ter
+//gsoap ns1  service method-output-action:	find_USCOREori_USCOREter http://soap.g-language.org/GLANG/GLANG/find_ori_terResponse
+int ns1__find_USCOREori_USCOREter(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__find_USCOREori_USCOREterInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__plasmid_USCOREmap                                                   *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__plasmid_USCOREmap" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#plasmid_map"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/plasmid_mapRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/plasmid_mapResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__plasmid_USCOREmap(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__plasmid_USCOREmapInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__plasmid_USCOREmap(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__plasmid_USCOREmapInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	plasmid_USCOREmap rpc
+//gsoap ns1  service method-encoding:	plasmid_USCOREmap http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	plasmid_USCOREmap http://soap.g-language.org/GLANG#plasmid_map
+//gsoap ns1  service method-output-action:	plasmid_USCOREmap http://soap.g-language.org/GLANG/GLANG/plasmid_mapResponse
+int ns1__plasmid_USCOREmap(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__plasmid_USCOREmapInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__sum                                                                 *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__sum" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#sum"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/sumRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/sumResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__sum(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__sum(
+    struct soap *soap,
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	sum rpc
+//gsoap ns1  service method-encoding:	sum http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	sum http://soap.g-language.org/GLANG#sum
+//gsoap ns1  service method-output-action:	sum http://soap.g-language.org/GLANG/GLANG/sumResponse
+int ns1__sum(
+    struct arrayIn*                     _array,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__nucleotide_USCOREperiodicity                                        *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__nucleotide_USCOREperiodicity" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#nucleotide_periodicity"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/nucleotide_periodicityRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/nucleotide_periodicityResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__nucleotide_USCOREperiodicity(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__nucleotide_USCOREperiodicityInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__nucleotide_USCOREperiodicity(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__nucleotide_USCOREperiodicityInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	nucleotide_USCOREperiodicity rpc
+//gsoap ns1  service method-encoding:	nucleotide_USCOREperiodicity http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	nucleotide_USCOREperiodicity http://soap.g-language.org/GLANG#nucleotide_periodicity
+//gsoap ns1  service method-output-action:	nucleotide_USCOREperiodicity http://soap.g-language.org/GLANG/GLANG/nucleotide_periodicityResponse
+int ns1__nucleotide_USCOREperiodicity(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__nucleotide_USCOREperiodicityInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__variance                                                            *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__variance" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#variance"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/varianceRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/varianceResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__variance(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__variance(
+    struct soap *soap,
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	variance rpc
+//gsoap ns1  service method-encoding:	variance http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	variance http://soap.g-language.org/GLANG#variance
+//gsoap ns1  service method-output-action:	variance http://soap.g-language.org/GLANG/GLANG/varianceResponse
+int ns1__variance(
+    struct arrayIn*                     _array,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__amino_USCOREinfo                                                    *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__amino_USCOREinfo" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#amino_info"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/amino_infoRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/amino_infoResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__amino_USCOREinfo(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__amino_USCOREinfo(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	amino_USCOREinfo rpc
+//gsoap ns1  service method-encoding:	amino_USCOREinfo http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	amino_USCOREinfo http://soap.g-language.org/GLANG#amino_info
+//gsoap ns1  service method-output-action:	amino_USCOREinfo http://soap.g-language.org/GLANG/GLANG/amino_infoResponse
+int ns1__amino_USCOREinfo(
+    char*                               _sequence,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__circular_USCOREmap                                                  *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__circular_USCOREmap" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#circular_map"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/circular_mapRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/circular_mapResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__circular_USCOREmap(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__circular_USCOREmapInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__circular_USCOREmap(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__circular_USCOREmapInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	circular_USCOREmap rpc
+//gsoap ns1  service method-encoding:	circular_USCOREmap http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	circular_USCOREmap http://soap.g-language.org/GLANG#circular_map
+//gsoap ns1  service method-output-action:	circular_USCOREmap http://soap.g-language.org/GLANG/GLANG/circular_mapResponse
+int ns1__circular_USCOREmap(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__circular_USCOREmapInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__togoWS                                                              *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__togoWS" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#togoWS"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/togoWSRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/togoWSResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__togoWS(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               query,
+    struct ns1__togoWSInputParams*      params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__togoWS(
+    struct soap *soap,
+    // request parameters:
+    char*                               query,
+    struct ns1__togoWSInputParams*      params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	togoWS rpc
+//gsoap ns1  service method-encoding:	togoWS http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	togoWS http://soap.g-language.org/GLANG#togoWS
+//gsoap ns1  service method-output-action:	togoWS http://soap.g-language.org/GLANG/GLANG/togoWSResponse
+int ns1__togoWS(
+    char*                               _query,	///< Request parameter
+    struct ns1__togoWSInputParams*      _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__translate                                                           *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__translate" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#translate"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/translateRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/translateResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__translate(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__translate(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	translate rpc
+//gsoap ns1  service method-encoding:	translate http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	translate http://soap.g-language.org/GLANG#translate
+//gsoap ns1  service method-output-action:	translate http://soap.g-language.org/GLANG/GLANG/translateResponse
+int ns1__translate(
+    char*                               _sequence,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__phx                                                                 *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__phx" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#phx"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/phxRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/phxResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__phx(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__phxInputParams*         params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__phx(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__phxInputParams*         params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	phx rpc
+//gsoap ns1  service method-encoding:	phx http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	phx http://soap.g-language.org/GLANG#phx
+//gsoap ns1  service method-output-action:	phx http://soap.g-language.org/GLANG/GLANG/phxResponse
+int ns1__phx(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__phxInputParams*         _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__icdi                                                                *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__icdi" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#icdi"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/icdiRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/icdiResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__icdi(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__icdiInputParams*        params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__icdi(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__icdiInputParams*        params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	icdi rpc
+//gsoap ns1  service method-encoding:	icdi http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	icdi http://soap.g-language.org/GLANG#icdi
+//gsoap ns1  service method-output-action:	icdi http://soap.g-language.org/GLANG/GLANG/icdiResponse
+int ns1__icdi(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__icdiInputParams*        _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__enc                                                                 *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__enc" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#enc"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/encRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/encResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__enc(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__encInputParams*         params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__enc(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__encInputParams*         params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	enc rpc
+//gsoap ns1  service method-encoding:	enc http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	enc http://soap.g-language.org/GLANG#enc
+//gsoap ns1  service method-output-action:	enc http://soap.g-language.org/GLANG/GLANG/encResponse
+int ns1__enc(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__encInputParams*         _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__fop                                                                 *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__fop" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#fop"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/fopRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/fopResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__fop(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__fopInputParams*         params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__fop(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__fopInputParams*         params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	fop rpc
+//gsoap ns1  service method-encoding:	fop http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	fop http://soap.g-language.org/GLANG#fop
+//gsoap ns1  service method-output-action:	fop http://soap.g-language.org/GLANG/GLANG/fopResponse
+int ns1__fop(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__fopInputParams*         _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__bui                                                                 *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__bui" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#bui"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/buiRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/buiResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__bui(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__buiInputParams*         params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__bui(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__buiInputParams*         params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	bui rpc
+//gsoap ns1  service method-encoding:	bui http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	bui http://soap.g-language.org/GLANG#bui
+//gsoap ns1  service method-output-action:	bui http://soap.g-language.org/GLANG/GLANG/buiResponse
+int ns1__bui(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__buiInputParams*         _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__dist_USCOREin_USCOREcc                                              *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__dist_USCOREin_USCOREcc" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#dist_in_cc"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/dist_in_ccRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/dist_in_ccResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__dist_USCOREin_USCOREcc(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    int                                 position1,
+    int                                 position2,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__dist_USCOREin_USCOREcc(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    int                                 position1,
+    int                                 position2,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	dist_USCOREin_USCOREcc rpc
+//gsoap ns1  service method-encoding:	dist_USCOREin_USCOREcc http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	dist_USCOREin_USCOREcc http://soap.g-language.org/GLANG#dist_in_cc
+//gsoap ns1  service method-output-action:	dist_USCOREin_USCOREcc http://soap.g-language.org/GLANG/GLANG/dist_in_ccResponse
+int ns1__dist_USCOREin_USCOREcc(
+    char*                               _sequence,	///< Request parameter
+    int                                 _position1,	///< Request parameter
+    int                                 _position2,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__find_USCOREdnaAbox                                                  *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__find_USCOREdnaAbox" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#find_dnaAbox"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/find_dnaAboxRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/find_dnaAboxResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__find_USCOREdnaAbox(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__find_USCOREdnaAboxInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__find_USCOREdnaAbox(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__find_USCOREdnaAboxInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	find_USCOREdnaAbox rpc
+//gsoap ns1  service method-encoding:	find_USCOREdnaAbox http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	find_USCOREdnaAbox http://soap.g-language.org/GLANG#find_dnaAbox
+//gsoap ns1  service method-output-action:	find_USCOREdnaAbox http://soap.g-language.org/GLANG/GLANG/find_dnaAboxResponse
+int ns1__find_USCOREdnaAbox(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__find_USCOREdnaAboxInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__ttest                                                               *
+ *                                                                            *
+\******************************************************************************/
+
+/// Operation response struct "ns1__ttestResponse" of service binding "GLANGSoapBinding" operation "ns1__ttest"
+struct ns1__ttestResponse
+{
+    struct arrayOut*                    _result;
+};
+
+/// Operation "ns1__ttest" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#ttest"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/ttestRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/ttestResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__ttest(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    struct arrayIn*                     array1,
+    struct arrayIn*                     array2,
+    struct ns1__ttestInputParams*       params,
+    // response parameters:
+    struct ns1__ttestResponse*
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__ttest(
+    struct soap *soap,
+    // request parameters:
+    struct arrayIn*                     array1,
+    struct arrayIn*                     array2,
+    struct ns1__ttestInputParams*       params,
+    // response parameters:
+    struct ns1__ttestResponse*
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	ttest rpc
+//gsoap ns1  service method-encoding:	ttest http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	ttest http://soap.g-language.org/GLANG#ttest
+//gsoap ns1  service method-output-action:	ttest http://soap.g-language.org/GLANG/GLANG/ttestResponse
+int ns1__ttest(
+    struct arrayIn*                     _array1,	///< Request parameter
+    struct arrayIn*                     _array2,	///< Request parameter
+    struct ns1__ttestInputParams*       _params,	///< Request parameter
+    struct ns1__ttestResponse          *	///< Response struct parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__seq2png                                                             *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__seq2png" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#seq2png"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/seq2pngRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/seq2pngResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__seq2png(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__seq2pngInputParams*     params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__seq2png(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__seq2pngInputParams*     params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	seq2png rpc
+//gsoap ns1  service method-encoding:	seq2png http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	seq2png http://soap.g-language.org/GLANG#seq2png
+//gsoap ns1  service method-output-action:	seq2png http://soap.g-language.org/GLANG/GLANG/seq2pngResponse
+int ns1__seq2png(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__seq2pngInputParams*     _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__amino_USCOREcounter                                                 *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__amino_USCOREcounter" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#amino_counter"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/amino_counterRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/amino_counterResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__amino_USCOREcounter(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__amino_USCOREcounterInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__amino_USCOREcounter(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__amino_USCOREcounterInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	amino_USCOREcounter rpc
+//gsoap ns1  service method-encoding:	amino_USCOREcounter http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	amino_USCOREcounter http://soap.g-language.org/GLANG#amino_counter
+//gsoap ns1  service method-output-action:	amino_USCOREcounter http://soap.g-language.org/GLANG/GLANG/amino_counterResponse
+int ns1__amino_USCOREcounter(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__amino_USCOREcounterInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__aaui                                                                *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__aaui" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#aaui"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/aauiRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/aauiResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__aaui(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__aauiInputParams*        params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__aaui(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__aauiInputParams*        params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	aaui rpc
+//gsoap ns1  service method-encoding:	aaui http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	aaui http://soap.g-language.org/GLANG#aaui
+//gsoap ns1  service method-output-action:	aaui http://soap.g-language.org/GLANG/GLANG/aauiResponse
+int ns1__aaui(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__aauiInputParams*        _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__codon_USCOREcompiler                                                *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__codon_USCOREcompiler" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#codon_compiler"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/codon_compilerRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/codon_compilerResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__codon_USCOREcompiler(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__codon_USCOREcompilerInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__codon_USCOREcompiler(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__codon_USCOREcompilerInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	codon_USCOREcompiler rpc
+//gsoap ns1  service method-encoding:	codon_USCOREcompiler http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	codon_USCOREcompiler http://soap.g-language.org/GLANG#codon_compiler
+//gsoap ns1  service method-output-action:	codon_USCOREcompiler http://soap.g-language.org/GLANG/GLANG/codon_compilerResponse
+int ns1__codon_USCOREcompiler(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__codon_USCOREcompilerInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__over_USCORElapping_USCOREfinder                                     *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__over_USCORElapping_USCOREfinder" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#over_lapping_finder"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/over_lapping_finderRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/over_lapping_finderResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__over_USCORElapping_USCOREfinder(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__over_USCORElapping_USCOREfinderInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__over_USCORElapping_USCOREfinder(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__over_USCORElapping_USCOREfinderInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	over_USCORElapping_USCOREfinder rpc
+//gsoap ns1  service method-encoding:	over_USCORElapping_USCOREfinder http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	over_USCORElapping_USCOREfinder http://soap.g-language.org/GLANG#over_lapping_finder
+//gsoap ns1  service method-output-action:	over_USCORElapping_USCOREfinder http://soap.g-language.org/GLANG/GLANG/over_lapping_finderResponse
+int ns1__over_USCORElapping_USCOREfinder(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__over_USCORElapping_USCOREfinderInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__Ew                                                                  *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__Ew" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#Ew"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/EwRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/EwResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__Ew(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__EwInputParams*          params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__Ew(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__EwInputParams*          params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	Ew rpc
+//gsoap ns1  service method-encoding:	Ew http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	Ew http://soap.g-language.org/GLANG#Ew
+//gsoap ns1  service method-output-action:	Ew http://soap.g-language.org/GLANG/GLANG/EwResponse
+int ns1__Ew(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__EwInputParams*          _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__base_USCORErelative_USCOREentropy                                   *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__base_USCORErelative_USCOREentropy" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#base_relative_entropy"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/base_relative_entropyRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/base_relative_entropyResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__base_USCORErelative_USCOREentropy(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__base_USCORErelative_USCOREentropyInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__base_USCORErelative_USCOREentropy(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__base_USCORErelative_USCOREentropyInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	base_USCORErelative_USCOREentropy rpc
+//gsoap ns1  service method-encoding:	base_USCORErelative_USCOREentropy http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	base_USCORErelative_USCOREentropy http://soap.g-language.org/GLANG#base_relative_entropy
+//gsoap ns1  service method-output-action:	base_USCORErelative_USCOREentropy http://soap.g-language.org/GLANG/GLANG/base_relative_entropyResponse
+int ns1__base_USCORErelative_USCOREentropy(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__base_USCORErelative_USCOREentropyInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__view_USCOREcds                                                      *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__view_USCOREcds" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#view_cds"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/view_cdsRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/view_cdsResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__view_USCOREcds(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__view_USCOREcdsInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__view_USCOREcds(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__view_USCOREcdsInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	view_USCOREcds rpc
+//gsoap ns1  service method-encoding:	view_USCOREcds http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	view_USCOREcds http://soap.g-language.org/GLANG#view_cds
+//gsoap ns1  service method-output-action:	view_USCOREcds http://soap.g-language.org/GLANG/GLANG/view_cdsResponse
+int ns1__view_USCOREcds(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__view_USCOREcdsInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__query_USCOREstrand                                                  *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__query_USCOREstrand" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#query_strand"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/query_strandRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/query_strandResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__query_USCOREstrand(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    int                                 position,
+    struct ns1__query_USCOREstrandInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__query_USCOREstrand(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    int                                 position,
+    struct ns1__query_USCOREstrandInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	query_USCOREstrand rpc
+//gsoap ns1  service method-encoding:	query_USCOREstrand http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	query_USCOREstrand http://soap.g-language.org/GLANG#query_strand
+//gsoap ns1  service method-output-action:	query_USCOREstrand http://soap.g-language.org/GLANG/GLANG/query_strandResponse
+int ns1__query_USCOREstrand(
+    char*                               _sequence,	///< Request parameter
+    int                                 _position,	///< Request parameter
+    struct ns1__query_USCOREstrandInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__genomicskew                                                         *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__genomicskew" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#genomicskew"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/genomicskewRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/genomicskewResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__genomicskew(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__genomicskewInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__genomicskew(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__genomicskewInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	genomicskew rpc
+//gsoap ns1  service method-encoding:	genomicskew http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	genomicskew http://soap.g-language.org/GLANG#genomicskew
+//gsoap ns1  service method-output-action:	genomicskew http://soap.g-language.org/GLANG/GLANG/genomicskewResponse
+int ns1__genomicskew(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__genomicskewInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__filter_USCOREcds_USCOREby_USCOREatg                                 *
+ *                                                                            *
+\******************************************************************************/
+
+/// Operation response struct "ns1__filter_USCOREcds_USCOREby_USCOREatgResponse" of service binding "GLANGSoapBinding" operation "ns1__filter_USCOREcds_USCOREby_USCOREatg"
+struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse
+{
+    struct arrayOut*                    _result;
+};
+
+/// Operation "ns1__filter_USCOREcds_USCOREby_USCOREatg" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#filter_cds_by_atg"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/filter_cds_by_atgRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/filter_cds_by_atgResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__filter_USCOREcds_USCOREby_USCOREatg(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams* params,
+    // response parameters:
+    struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse*
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__filter_USCOREcds_USCOREby_USCOREatg(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams* params,
+    // response parameters:
+    struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse*
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	filter_USCOREcds_USCOREby_USCOREatg rpc
+//gsoap ns1  service method-encoding:	filter_USCOREcds_USCOREby_USCOREatg http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	filter_USCOREcds_USCOREby_USCOREatg http://soap.g-language.org/GLANG#filter_cds_by_atg
+//gsoap ns1  service method-output-action:	filter_USCOREcds_USCOREby_USCOREatg http://soap.g-language.org/GLANG/GLANG/filter_cds_by_atgResponse
+int ns1__filter_USCOREcds_USCOREby_USCOREatg(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams* _params,	///< Request parameter
+    struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse*	///< Response struct parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__gcsi                                                                *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__gcsi" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#gcsi"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/gcsiRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/gcsiResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__gcsi(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__gcsiInputParams*        params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__gcsi(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__gcsiInputParams*        params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	gcsi rpc
+//gsoap ns1  service method-encoding:	gcsi http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	gcsi http://soap.g-language.org/GLANG#gcsi
+//gsoap ns1  service method-output-action:	gcsi http://soap.g-language.org/GLANG/GLANG/gcsiResponse
+int ns1__gcsi(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__gcsiInputParams*        _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__cai                                                                 *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__cai" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#cai"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/caiRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/caiResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__cai(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__caiInputParams*         params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__cai(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__caiInputParams*         params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	cai rpc
+//gsoap ns1  service method-encoding:	cai http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	cai http://soap.g-language.org/GLANG#cai
+//gsoap ns1  service method-output-action:	cai http://soap.g-language.org/GLANG/GLANG/caiResponse
+int ns1__cai(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__caiInputParams*         _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__maxdex                                                              *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__maxdex" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#maxdex"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/maxdexRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/maxdexResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__maxdex(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__maxdex(
+    struct soap *soap,
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	maxdex rpc
+//gsoap ns1  service method-encoding:	maxdex http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	maxdex http://soap.g-language.org/GLANG#maxdex
+//gsoap ns1  service method-output-action:	maxdex http://soap.g-language.org/GLANG/GLANG/maxdexResponse
+int ns1__maxdex(
+    struct arrayIn*                     _array,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__max                                                                 *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__max" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#max"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/maxRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/maxResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__max(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__max(
+    struct soap *soap,
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	max rpc
+//gsoap ns1  service method-encoding:	max http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	max http://soap.g-language.org/GLANG#max
+//gsoap ns1  service method-output-action:	max http://soap.g-language.org/GLANG/GLANG/maxResponse
+int ns1__max(
+    struct arrayIn*                     _array,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__query_USCOREarm                                                     *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__query_USCOREarm" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#query_arm"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/query_armRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/query_armResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__query_USCOREarm(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    int                                 position,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__query_USCOREarm(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    int                                 position,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	query_USCOREarm rpc
+//gsoap ns1  service method-encoding:	query_USCOREarm http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	query_USCOREarm http://soap.g-language.org/GLANG#query_arm
+//gsoap ns1  service method-output-action:	query_USCOREarm http://soap.g-language.org/GLANG/GLANG/query_armResponse
+int ns1__query_USCOREarm(
+    char*                               _sequence,	///< Request parameter
+    int                                 _position,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__mindex                                                              *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__mindex" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#mindex"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/mindexRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/mindexResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__mindex(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__mindex(
+    struct soap *soap,
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	mindex rpc
+//gsoap ns1  service method-encoding:	mindex http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	mindex http://soap.g-language.org/GLANG#mindex
+//gsoap ns1  service method-output-action:	mindex http://soap.g-language.org/GLANG/GLANG/mindexResponse
+int ns1__mindex(
+    struct arrayIn*                     _array,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__consensus_USCOREz                                                   *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__consensus_USCOREz" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#consensus_z"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/consensus_zRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/consensus_zResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__consensus_USCOREz(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    struct arrayIn*                     array_USCOREseq,
+    struct ns1__consensus_USCOREzInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__consensus_USCOREz(
+    struct soap *soap,
+    // request parameters:
+    struct arrayIn*                     array_USCOREseq,
+    struct ns1__consensus_USCOREzInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	consensus_USCOREz rpc
+//gsoap ns1  service method-encoding:	consensus_USCOREz http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	consensus_USCOREz http://soap.g-language.org/GLANG#consensus_z
+//gsoap ns1  service method-output-action:	consensus_USCOREz http://soap.g-language.org/GLANG/GLANG/consensus_zResponse
+int ns1__consensus_USCOREz(
+    struct arrayIn*                     _array_USCOREseq,	///< Request parameter
+    struct ns1__consensus_USCOREzInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__genome_USCOREmap                                                    *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__genome_USCOREmap" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#genome_map"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/genome_mapRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/genome_mapResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__genome_USCOREmap(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__genome_USCOREmapInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__genome_USCOREmap(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__genome_USCOREmapInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	genome_USCOREmap rpc
+//gsoap ns1  service method-encoding:	genome_USCOREmap http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	genome_USCOREmap http://soap.g-language.org/GLANG#genome_map
+//gsoap ns1  service method-output-action:	genome_USCOREmap http://soap.g-language.org/GLANG/GLANG/genome_mapResponse
+int ns1__genome_USCOREmap(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__genome_USCOREmapInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__longest_USCOREORF                                                   *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__longest_USCOREORF" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#longest_ORF"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/longest_ORFRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/longest_ORFResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__longest_USCOREORF(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__longest_USCOREORF(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	longest_USCOREORF rpc
+//gsoap ns1  service method-encoding:	longest_USCOREORF http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	longest_USCOREORF http://soap.g-language.org/GLANG#longest_ORF
+//gsoap ns1  service method-output-action:	longest_USCOREORF http://soap.g-language.org/GLANG/GLANG/longest_ORFResponse
+int ns1__longest_USCOREORF(
+    char*                               _sequence,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__rep_USCOREori_USCOREter                                             *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__rep_USCOREori_USCOREter" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#rep_ori_ter"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/rep_ori_terRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/rep_ori_terResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__rep_USCOREori_USCOREter(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__rep_USCOREori_USCOREterInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__rep_USCOREori_USCOREter(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__rep_USCOREori_USCOREterInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	rep_USCOREori_USCOREter rpc
+//gsoap ns1  service method-encoding:	rep_USCOREori_USCOREter http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	rep_USCOREori_USCOREter http://soap.g-language.org/GLANG#rep_ori_ter
+//gsoap ns1  service method-output-action:	rep_USCOREori_USCOREter http://soap.g-language.org/GLANG/GLANG/rep_ori_terResponse
+int ns1__rep_USCOREori_USCOREter(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__rep_USCOREori_USCOREterInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__calc_USCOREpI                                                       *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__calc_USCOREpI" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#calc_pI"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/calc_pIRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/calc_pIResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__calc_USCOREpI(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__calc_USCOREpI(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	calc_USCOREpI rpc
+//gsoap ns1  service method-encoding:	calc_USCOREpI http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	calc_USCOREpI http://soap.g-language.org/GLANG#calc_pI
+//gsoap ns1  service method-output-action:	calc_USCOREpI http://soap.g-language.org/GLANG/GLANG/calc_pIResponse
+int ns1__calc_USCOREpI(
+    char*                               _sequence,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__DoubleHelix                                                         *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__DoubleHelix" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#DoubleHelix"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/DoubleHelixRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/DoubleHelixResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__DoubleHelix(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__DoubleHelixInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__DoubleHelix(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__DoubleHelixInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	DoubleHelix rpc
+//gsoap ns1  service method-encoding:	DoubleHelix http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	DoubleHelix http://soap.g-language.org/GLANG#DoubleHelix
+//gsoap ns1  service method-output-action:	DoubleHelix http://soap.g-language.org/GLANG/GLANG/DoubleHelixResponse
+int ns1__DoubleHelix(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__DoubleHelixInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__base_USCOREentropy                                                  *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__base_USCOREentropy" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#base_entropy"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/base_entropyRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/base_entropyResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__base_USCOREentropy(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__base_USCOREentropyInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__base_USCOREentropy(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__base_USCOREentropyInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	base_USCOREentropy rpc
+//gsoap ns1  service method-encoding:	base_USCOREentropy http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	base_USCOREentropy http://soap.g-language.org/GLANG#base_entropy
+//gsoap ns1  service method-output-action:	base_USCOREentropy http://soap.g-language.org/GLANG/GLANG/base_entropyResponse
+int ns1__base_USCOREentropy(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__base_USCOREentropyInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__to_USCOREfasta                                                      *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__to_USCOREfasta" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#to_fasta"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/to_fastaRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/to_fastaResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__to_USCOREfasta(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__to_USCOREfastaInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__to_USCOREfasta(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__to_USCOREfastaInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	to_USCOREfasta rpc
+//gsoap ns1  service method-encoding:	to_USCOREfasta http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	to_USCOREfasta http://soap.g-language.org/GLANG#to_fasta
+//gsoap ns1  service method-output-action:	to_USCOREfasta http://soap.g-language.org/GLANG/GLANG/to_fastaResponse
+int ns1__to_USCOREfasta(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__to_USCOREfastaInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__find_USCOREdif                                                      *
+ *                                                                            *
+\******************************************************************************/
+
+/// Operation response struct "ns1__find_USCOREdifResponse" of service binding "GLANGSoapBinding" operation "ns1__find_USCOREdif"
+struct ns1__find_USCOREdifResponse
+{
+    struct arrayOut*                    _result;
+};
+
+/// Operation "ns1__find_USCOREdif" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#find_dif"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/find_difRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/find_difResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__find_USCOREdif(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__find_USCOREdifInputParams* params,
+    // response parameters:
+    struct ns1__find_USCOREdifResponse*
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__find_USCOREdif(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__find_USCOREdifInputParams* params,
+    // response parameters:
+    struct ns1__find_USCOREdifResponse*
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	find_USCOREdif rpc
+//gsoap ns1  service method-encoding:	find_USCOREdif http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	find_USCOREdif http://soap.g-language.org/GLANG#find_dif
+//gsoap ns1  service method-output-action:	find_USCOREdif http://soap.g-language.org/GLANG/GLANG/find_difResponse
+int ns1__find_USCOREdif(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__find_USCOREdifInputParams* _params,	///< Request parameter
+    struct ns1__find_USCOREdifResponse *	///< Response struct parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__cbi                                                                 *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__cbi" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#cbi"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/cbiRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/cbiResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__cbi(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__cbiInputParams*         params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__cbi(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__cbiInputParams*         params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	cbi rpc
+//gsoap ns1  service method-encoding:	cbi http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	cbi http://soap.g-language.org/GLANG#cbi
+//gsoap ns1  service method-output-action:	cbi http://soap.g-language.org/GLANG/GLANG/cbiResponse
+int ns1__cbi(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__cbiInputParams*         _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__genes_USCOREfrom_USCOREori                                          *
+ *                                                                            *
+\******************************************************************************/
+
+/// Operation response struct "ns1__genes_USCOREfrom_USCOREoriResponse" of service binding "GLANGSoapBinding" operation "ns1__genes_USCOREfrom_USCOREori"
+struct ns1__genes_USCOREfrom_USCOREoriResponse
+{
+    struct arrayOut*                    _result;
+};
+
+/// Operation "ns1__genes_USCOREfrom_USCOREori" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#genes_from_ori"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/genes_from_oriRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/genes_from_oriResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__genes_USCOREfrom_USCOREori(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    char*                               direction,
+    struct ns1__genes_USCOREfrom_USCOREoriInputParams* params,
+    // response parameters:
+    struct ns1__genes_USCOREfrom_USCOREoriResponse*
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__genes_USCOREfrom_USCOREori(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    char*                               direction,
+    struct ns1__genes_USCOREfrom_USCOREoriInputParams* params,
+    // response parameters:
+    struct ns1__genes_USCOREfrom_USCOREoriResponse*
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	genes_USCOREfrom_USCOREori rpc
+//gsoap ns1  service method-encoding:	genes_USCOREfrom_USCOREori http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	genes_USCOREfrom_USCOREori http://soap.g-language.org/GLANG#genes_from_ori
+//gsoap ns1  service method-output-action:	genes_USCOREfrom_USCOREori http://soap.g-language.org/GLANG/GLANG/genes_from_oriResponse
+int ns1__genes_USCOREfrom_USCOREori(
+    char*                               _sequence,	///< Request parameter
+    char*                               _direction,	///< Request parameter
+    struct ns1__genes_USCOREfrom_USCOREoriInputParams* _params,	///< Request parameter
+    struct ns1__genes_USCOREfrom_USCOREoriResponse*	///< Response struct parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__geneskew                                                            *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__geneskew" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#geneskew"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/geneskewRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/geneskewResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__geneskew(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__geneskewInputParams*    params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__geneskew(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__geneskewInputParams*    params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	geneskew rpc
+//gsoap ns1  service method-encoding:	geneskew http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	geneskew http://soap.g-language.org/GLANG#geneskew
+//gsoap ns1  service method-output-action:	geneskew http://soap.g-language.org/GLANG/GLANG/geneskewResponse
+int ns1__geneskew(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__geneskewInputParams*    _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__standard_USCOREdeviation                                            *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__standard_USCOREdeviation" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#standard_deviation"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/standard_deviationRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/standard_deviationResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__standard_USCOREdeviation(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__standard_USCOREdeviation(
+    struct soap *soap,
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	standard_USCOREdeviation rpc
+//gsoap ns1  service method-encoding:	standard_USCOREdeviation http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	standard_USCOREdeviation http://soap.g-language.org/GLANG#standard_deviation
+//gsoap ns1  service method-output-action:	standard_USCOREdeviation http://soap.g-language.org/GLANG/GLANG/standard_deviationResponse
+int ns1__standard_USCOREdeviation(
+    struct arrayIn*                     _array,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__cor                                                                 *
+ *                                                                            *
+\******************************************************************************/
+
+/// Operation response struct "ns1__corResponse" of service binding "GLANGSoapBinding" operation "ns1__cor"
+struct ns1__corResponse
+{
+    struct arrayOut*                    _result;
+};
+
+/// Operation "ns1__cor" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#cor"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/corRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/corResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__cor(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    struct arrayIn*                     array1,
+    struct arrayIn*                     array2,
+    struct ns1__corInputParams*         params,
+    // response parameters:
+    struct ns1__corResponse*
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__cor(
+    struct soap *soap,
+    // request parameters:
+    struct arrayIn*                     array1,
+    struct arrayIn*                     array2,
+    struct ns1__corInputParams*         params,
+    // response parameters:
+    struct ns1__corResponse*
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	cor rpc
+//gsoap ns1  service method-encoding:	cor http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	cor http://soap.g-language.org/GLANG#cor
+//gsoap ns1  service method-output-action:	cor http://soap.g-language.org/GLANG/GLANG/corResponse
+int ns1__cor(
+    struct arrayIn*                     _array1,	///< Request parameter
+    struct arrayIn*                     _array2,	///< Request parameter
+    struct ns1__corInputParams*         _params,	///< Request parameter
+    struct ns1__corResponse            *	///< Response struct parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__cumulative                                                          *
+ *                                                                            *
+\******************************************************************************/
+
+/// Operation response struct "ns1__cumulativeResponse" of service binding "GLANGSoapBinding" operation "ns1__cumulative"
+struct ns1__cumulativeResponse
+{
+    struct arrayOut*                    _result;
+};
+
+/// Operation "ns1__cumulative" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#cumulative"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/cumulativeRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/cumulativeResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__cumulative(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    struct ns1__cumulativeResponse*
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__cumulative(
+    struct soap *soap,
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    struct ns1__cumulativeResponse*
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	cumulative rpc
+//gsoap ns1  service method-encoding:	cumulative http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	cumulative http://soap.g-language.org/GLANG#cumulative
+//gsoap ns1  service method-output-action:	cumulative http://soap.g-language.org/GLANG/GLANG/cumulativeResponse
+int ns1__cumulative(
+    struct arrayIn*                     _array,	///< Request parameter
+    struct ns1__cumulativeResponse     *	///< Response struct parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__delta_USCOREenc                                                     *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__delta_USCOREenc" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#delta_enc"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/delta_encRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/delta_encResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__delta_USCOREenc(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__delta_USCOREenc(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	delta_USCOREenc rpc
+//gsoap ns1  service method-encoding:	delta_USCOREenc http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	delta_USCOREenc http://soap.g-language.org/GLANG#delta_enc
+//gsoap ns1  service method-output-action:	delta_USCOREenc http://soap.g-language.org/GLANG/GLANG/delta_encResponse
+int ns1__delta_USCOREenc(
+    char*                               _sequence,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__delta_USCOREgcskew                                                  *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__delta_USCOREgcskew" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#delta_gcskew"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/delta_gcskewRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/delta_gcskewResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__delta_USCOREgcskew(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__delta_USCOREgcskewInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__delta_USCOREgcskew(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__delta_USCOREgcskewInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	delta_USCOREgcskew rpc
+//gsoap ns1  service method-encoding:	delta_USCOREgcskew http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	delta_USCOREgcskew http://soap.g-language.org/GLANG#delta_gcskew
+//gsoap ns1  service method-output-action:	delta_USCOREgcskew http://soap.g-language.org/GLANG/GLANG/delta_gcskewResponse
+int ns1__delta_USCOREgcskew(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__delta_USCOREgcskewInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__molecular_USCOREweight                                              *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__molecular_USCOREweight" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#molecular_weight"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/molecular_weightRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/molecular_weightResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__molecular_USCOREweight(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__molecular_USCOREweightInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__molecular_USCOREweight(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__molecular_USCOREweightInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	molecular_USCOREweight rpc
+//gsoap ns1  service method-encoding:	molecular_USCOREweight http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	molecular_USCOREweight http://soap.g-language.org/GLANG#molecular_weight
+//gsoap ns1  service method-output-action:	molecular_USCOREweight http://soap.g-language.org/GLANG/GLANG/molecular_weightResponse
+int ns1__molecular_USCOREweight(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__molecular_USCOREweightInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__gcskew                                                              *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__gcskew" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#gcskew"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/gcskewRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/gcskewResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__gcskew(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__gcskewInputParams*      params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__gcskew(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__gcskewInputParams*      params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	gcskew rpc
+//gsoap ns1  service method-encoding:	gcskew http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	gcskew http://soap.g-language.org/GLANG#gcskew
+//gsoap ns1  service method-output-action:	gcskew http://soap.g-language.org/GLANG/GLANG/gcskewResponse
+int ns1__gcskew(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__gcskewInputParams*      _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__genome_USCOREmap3                                                   *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__genome_USCOREmap3" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#genome_map3"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/genome_map3Request"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/genome_map3Response"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__genome_USCOREmap3(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__genome_USCOREmap3InputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__genome_USCOREmap3(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__genome_USCOREmap3InputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	genome_USCOREmap3 rpc
+//gsoap ns1  service method-encoding:	genome_USCOREmap3 http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	genome_USCOREmap3 http://soap.g-language.org/GLANG#genome_map3
+//gsoap ns1  service method-output-action:	genome_USCOREmap3 http://soap.g-language.org/GLANG/GLANG/genome_map3Response
+int ns1__genome_USCOREmap3(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__genome_USCOREmap3InputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__seqinfo                                                             *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__seqinfo" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#seqinfo"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/seqinfoRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/seqinfoResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__seqinfo(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__seqinfo(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	seqinfo rpc
+//gsoap ns1  service method-encoding:	seqinfo http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	seqinfo http://soap.g-language.org/GLANG#seqinfo
+//gsoap ns1  service method-output-action:	seqinfo http://soap.g-language.org/GLANG/GLANG/seqinfoResponse
+int ns1__seqinfo(
+    char*                               _sequence,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__signature                                                           *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__signature" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#signature"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/signatureRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/signatureResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__signature(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__signatureInputParams*   params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__signature(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__signatureInputParams*   params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	signature rpc
+//gsoap ns1  service method-encoding:	signature http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	signature http://soap.g-language.org/GLANG#signature
+//gsoap ns1  service method-output-action:	signature http://soap.g-language.org/GLANG/GLANG/signatureResponse
+int ns1__signature(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__signatureInputParams*   _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__base_USCOREinformation_USCOREcontent                                *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__base_USCOREinformation_USCOREcontent" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#base_information_content"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/base_information_contentRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/base_information_contentResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__base_USCOREinformation_USCOREcontent(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__base_USCOREinformation_USCOREcontentInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__base_USCOREinformation_USCOREcontent(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__base_USCOREinformation_USCOREcontentInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	base_USCOREinformation_USCOREcontent rpc
+//gsoap ns1  service method-encoding:	base_USCOREinformation_USCOREcontent http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	base_USCOREinformation_USCOREcontent http://soap.g-language.org/GLANG#base_information_content
+//gsoap ns1  service method-output-action:	base_USCOREinformation_USCOREcontent http://soap.g-language.org/GLANG/GLANG/base_information_contentResponse
+int ns1__base_USCOREinformation_USCOREcontent(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__base_USCOREinformation_USCOREcontentInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__dnawalk                                                             *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__dnawalk" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#dnawalk"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/dnawalkRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/dnawalkResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__dnawalk(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__dnawalkInputParams*     params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__dnawalk(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__dnawalkInputParams*     params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	dnawalk rpc
+//gsoap ns1  service method-encoding:	dnawalk http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	dnawalk http://soap.g-language.org/GLANG#dnawalk
+//gsoap ns1  service method-output-action:	dnawalk http://soap.g-language.org/GLANG/GLANG/dnawalkResponse
+int ns1__dnawalk(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__dnawalkInputParams*     _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__find_USCOREter                                                      *
+ *                                                                            *
+\******************************************************************************/
+
+/// Operation response struct "ns1__find_USCOREterResponse" of service binding "GLANGSoapBinding" operation "ns1__find_USCOREter"
+struct ns1__find_USCOREterResponse
+{
+    struct arrayOut*                    _result;
+};
+
+/// Operation "ns1__find_USCOREter" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#find_ter"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/find_terRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/find_terResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__find_USCOREter(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__find_USCOREterInputParams* params,
+    // response parameters:
+    struct ns1__find_USCOREterResponse*
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__find_USCOREter(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__find_USCOREterInputParams* params,
+    // response parameters:
+    struct ns1__find_USCOREterResponse*
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	find_USCOREter rpc
+//gsoap ns1  service method-encoding:	find_USCOREter http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	find_USCOREter http://soap.g-language.org/GLANG#find_ter
+//gsoap ns1  service method-output-action:	find_USCOREter http://soap.g-language.org/GLANG/GLANG/find_terResponse
+int ns1__find_USCOREter(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__find_USCOREterInputParams* _params,	///< Request parameter
+    struct ns1__find_USCOREterResponse *	///< Response struct parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__shuffleseq                                                          *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__shuffleseq" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#shuffleseq"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/shuffleseqRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/shuffleseqResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__shuffleseq(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__shuffleseqInputParams*  params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__shuffleseq(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__shuffleseqInputParams*  params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	shuffleseq rpc
+//gsoap ns1  service method-encoding:	shuffleseq http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	shuffleseq http://soap.g-language.org/GLANG#shuffleseq
+//gsoap ns1  service method-output-action:	shuffleseq http://soap.g-language.org/GLANG/GLANG/shuffleseqResponse
+int ns1__shuffleseq(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__shuffleseqInputParams*  _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__oligomer_USCOREsearch                                               *
+ *                                                                            *
+\******************************************************************************/
+
+/// Operation response struct "ns1__oligomer_USCOREsearchResponse" of service binding "GLANGSoapBinding" operation "ns1__oligomer_USCOREsearch"
+struct ns1__oligomer_USCOREsearchResponse
+{
+    struct arrayOut*                    _result;
+};
+
+/// Operation "ns1__oligomer_USCOREsearch" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#oligomer_search"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/oligomer_searchRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/oligomer_searchResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__oligomer_USCOREsearch(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    char*                               oligomer,
+    struct ns1__oligomer_USCOREsearchInputParams* params,
+    // response parameters:
+    struct ns1__oligomer_USCOREsearchResponse*
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__oligomer_USCOREsearch(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    char*                               oligomer,
+    struct ns1__oligomer_USCOREsearchInputParams* params,
+    // response parameters:
+    struct ns1__oligomer_USCOREsearchResponse*
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	oligomer_USCOREsearch rpc
+//gsoap ns1  service method-encoding:	oligomer_USCOREsearch http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	oligomer_USCOREsearch http://soap.g-language.org/GLANG#oligomer_search
+//gsoap ns1  service method-output-action:	oligomer_USCOREsearch http://soap.g-language.org/GLANG/GLANG/oligomer_searchResponse
+int ns1__oligomer_USCOREsearch(
+    char*                               _sequence,	///< Request parameter
+    char*                               _oligomer,	///< Request parameter
+    struct ns1__oligomer_USCOREsearchInputParams* _params,	///< Request parameter
+    struct ns1__oligomer_USCOREsearchResponse*	///< Response struct parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__find_USCOREpattern                                                  *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__find_USCOREpattern" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#find_pattern"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/find_patternRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/find_patternResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__find_USCOREpattern(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    char*                               pattern,
+    struct ns1__find_USCOREpatternInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__find_USCOREpattern(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    char*                               pattern,
+    struct ns1__find_USCOREpatternInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	find_USCOREpattern rpc
+//gsoap ns1  service method-encoding:	find_USCOREpattern http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	find_USCOREpattern http://soap.g-language.org/GLANG#find_pattern
+//gsoap ns1  service method-output-action:	find_USCOREpattern http://soap.g-language.org/GLANG/GLANG/find_patternResponse
+int ns1__find_USCOREpattern(
+    char*                               _sequence,	///< Request parameter
+    char*                               _pattern,	///< Request parameter
+    struct ns1__find_USCOREpatternInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__gcwin                                                               *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__gcwin" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#gcwin"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/gcwinRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/gcwinResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__gcwin(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__gcwinInputParams*       params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__gcwin(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__gcwinInputParams*       params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	gcwin rpc
+//gsoap ns1  service method-encoding:	gcwin http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	gcwin http://soap.g-language.org/GLANG#gcwin
+//gsoap ns1  service method-output-action:	gcwin http://soap.g-language.org/GLANG/GLANG/gcwinResponse
+int ns1__gcwin(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__gcwinInputParams*       _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__oligomer_USCOREcounter                                              *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__oligomer_USCOREcounter" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#oligomer_counter"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/oligomer_counterRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/oligomer_counterResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__oligomer_USCOREcounter(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    char*                               oligomer,
+    struct ns1__oligomer_USCOREcounterInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__oligomer_USCOREcounter(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    char*                               oligomer,
+    struct ns1__oligomer_USCOREcounterInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	oligomer_USCOREcounter rpc
+//gsoap ns1  service method-encoding:	oligomer_USCOREcounter http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	oligomer_USCOREcounter http://soap.g-language.org/GLANG#oligomer_counter
+//gsoap ns1  service method-output-action:	oligomer_USCOREcounter http://soap.g-language.org/GLANG/GLANG/oligomer_counterResponse
+int ns1__oligomer_USCOREcounter(
+    char*                               _sequence,	///< Request parameter
+    char*                               _oligomer,	///< Request parameter
+    struct ns1__oligomer_USCOREcounterInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__codon_USCOREusage                                                   *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__codon_USCOREusage" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#codon_usage"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/codon_usageRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/codon_usageResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__codon_USCOREusage(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__codon_USCOREusageInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__codon_USCOREusage(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__codon_USCOREusageInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	codon_USCOREusage rpc
+//gsoap ns1  service method-encoding:	codon_USCOREusage http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	codon_USCOREusage http://soap.g-language.org/GLANG#codon_usage
+//gsoap ns1  service method-output-action:	codon_USCOREusage http://soap.g-language.org/GLANG/GLANG/codon_usageResponse
+int ns1__codon_USCOREusage(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__codon_USCOREusageInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__min                                                                 *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__min" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#min"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/minRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/minResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__min(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__min(
+    struct soap *soap,
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	min rpc
+//gsoap ns1  service method-encoding:	min http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	min http://soap.g-language.org/GLANG#min
+//gsoap ns1  service method-output-action:	min http://soap.g-language.org/GLANG/GLANG/minResponse
+int ns1__min(
+    struct arrayIn*                     _array,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__find_USCOREiteron                                                   *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__find_USCOREiteron" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#find_iteron"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/find_iteronRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/find_iteronResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__find_USCOREiteron(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__find_USCOREiteronInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__find_USCOREiteron(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__find_USCOREiteronInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	find_USCOREiteron rpc
+//gsoap ns1  service method-encoding:	find_USCOREiteron http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	find_USCOREiteron http://soap.g-language.org/GLANG#find_iteron
+//gsoap ns1  service method-output-action:	find_USCOREiteron http://soap.g-language.org/GLANG/GLANG/find_iteronResponse
+int ns1__find_USCOREiteron(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__find_USCOREiteronInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__complement                                                          *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__complement" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#complement"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/complementRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/complementResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__complement(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__complement(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	complement rpc
+//gsoap ns1  service method-encoding:	complement http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	complement http://soap.g-language.org/GLANG#complement
+//gsoap ns1  service method-output-action:	complement http://soap.g-language.org/GLANG/GLANG/complementResponse
+int ns1__complement(
+    char*                               _sequence,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__mean                                                                *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__mean" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#mean"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/meanRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/meanResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__mean(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__mean(
+    struct soap *soap,
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	mean rpc
+//gsoap ns1  service method-encoding:	mean http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	mean http://soap.g-language.org/GLANG#mean
+//gsoap ns1  service method-output-action:	mean http://soap.g-language.org/GLANG/GLANG/meanResponse
+int ns1__mean(
+    struct arrayIn*                     _array,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__codon_USCOREcounter                                                 *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__codon_USCOREcounter" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#codon_counter"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/codon_counterRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/codon_counterResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__codon_USCOREcounter(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__codon_USCOREcounterInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__codon_USCOREcounter(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__codon_USCOREcounterInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	codon_USCOREcounter rpc
+//gsoap ns1  service method-encoding:	codon_USCOREcounter http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	codon_USCOREcounter http://soap.g-language.org/GLANG#codon_counter
+//gsoap ns1  service method-output-action:	codon_USCOREcounter http://soap.g-language.org/GLANG/GLANG/codon_counterResponse
+int ns1__codon_USCOREcounter(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__codon_USCOREcounterInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__entrez                                                              *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__entrez" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#entrez"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/entrezRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/entrezResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__entrez(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               database,
+    char*                               query,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__entrez(
+    struct soap *soap,
+    // request parameters:
+    char*                               database,
+    char*                               query,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	entrez rpc
+//gsoap ns1  service method-encoding:	entrez http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	entrez http://soap.g-language.org/GLANG#entrez
+//gsoap ns1  service method-output-action:	entrez http://soap.g-language.org/GLANG/GLANG/entrezResponse
+int ns1__entrez(
+    char*                               _database,	///< Request parameter
+    char*                               _query,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__palindrome                                                          *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__palindrome" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#palindrome"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/palindromeRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/palindromeResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__palindrome(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__palindromeInputParams*  params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__palindrome(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__palindromeInputParams*  params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	palindrome rpc
+//gsoap ns1  service method-encoding:	palindrome http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	palindrome http://soap.g-language.org/GLANG#palindrome
+//gsoap ns1  service method-output-action:	palindrome http://soap.g-language.org/GLANG/GLANG/palindromeResponse
+int ns1__palindrome(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__palindromeInputParams*  _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__least_USCOREsquares_USCOREfit                                       *
+ *                                                                            *
+\******************************************************************************/
+
+/// Operation response struct "ns1__least_USCOREsquares_USCOREfitResponse" of service binding "GLANGSoapBinding" operation "ns1__least_USCOREsquares_USCOREfit"
+struct ns1__least_USCOREsquares_USCOREfitResponse
+{
+    struct arrayOut*                    _result;
+};
+
+/// Operation "ns1__least_USCOREsquares_USCOREfit" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#least_squares_fit"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/least_squares_fitRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/least_squares_fitResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__least_USCOREsquares_USCOREfit(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    struct ns1__least_USCOREsquares_USCOREfitResponse*
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__least_USCOREsquares_USCOREfit(
+    struct soap *soap,
+    // request parameters:
+    struct arrayIn*                     array,
+    // response parameters:
+    struct ns1__least_USCOREsquares_USCOREfitResponse*
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	least_USCOREsquares_USCOREfit rpc
+//gsoap ns1  service method-encoding:	least_USCOREsquares_USCOREfit http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	least_USCOREsquares_USCOREfit http://soap.g-language.org/GLANG#least_squares_fit
+//gsoap ns1  service method-output-action:	least_USCOREsquares_USCOREfit http://soap.g-language.org/GLANG/GLANG/least_squares_fitResponse
+int ns1__least_USCOREsquares_USCOREfit(
+    struct arrayIn*                     _array,	///< Request parameter
+    struct ns1__least_USCOREsquares_USCOREfitResponse*	///< Response struct parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__dinuc                                                               *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__dinuc" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#dinuc"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/dinucRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/dinucResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__dinuc(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__dinucInputParams*       params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__dinuc(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__dinucInputParams*       params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	dinuc rpc
+//gsoap ns1  service method-encoding:	dinuc http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	dinuc http://soap.g-language.org/GLANG#dinuc
+//gsoap ns1  service method-output-action:	dinuc http://soap.g-language.org/GLANG/GLANG/dinucResponse
+int ns1__dinuc(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__dinucInputParams*       _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__cgr                                                                 *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__cgr" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#cgr"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/cgrRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/cgrResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__cgr(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__cgrInputParams*         params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__cgr(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__cgrInputParams*         params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	cgr rpc
+//gsoap ns1  service method-encoding:	cgr http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	cgr http://soap.g-language.org/GLANG#cgr
+//gsoap ns1  service method-output-action:	cgr http://soap.g-language.org/GLANG/GLANG/cgrResponse
+int ns1__cgr(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__cgrInputParams*         _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__B1                                                                  *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__B1" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#B1"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/B1Request"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/B1Response"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__B1(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__B1InputParams*          params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__B1(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__B1InputParams*          params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	B1 rpc
+//gsoap ns1  service method-encoding:	B1 http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	B1 http://soap.g-language.org/GLANG#B1
+//gsoap ns1  service method-output-action:	B1 http://soap.g-language.org/GLANG/GLANG/B1Response
+int ns1__B1(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__B1InputParams*          _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__B2                                                                  *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__B2" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#B2"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/B2Request"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/B2Response"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__B2(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__B2(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	B2 rpc
+//gsoap ns1  service method-encoding:	B2 http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	B2 http://soap.g-language.org/GLANG#B2
+//gsoap ns1  service method-output-action:	B2 http://soap.g-language.org/GLANG/GLANG/B2Response
+int ns1__B2(
+    char*                               _sequence,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__base_USCOREcounter                                                  *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__base_USCOREcounter" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#base_counter"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/base_counterRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/base_counterResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__base_USCOREcounter(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__base_USCOREcounterInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__base_USCOREcounter(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__base_USCOREcounterInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	base_USCOREcounter rpc
+//gsoap ns1  service method-encoding:	base_USCOREcounter http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	base_USCOREcounter http://soap.g-language.org/GLANG#base_counter
+//gsoap ns1  service method-output-action:	base_USCOREcounter http://soap.g-language.org/GLANG/GLANG/base_counterResponse
+int ns1__base_USCOREcounter(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__base_USCOREcounterInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__base_USCOREz_USCOREvalue                                            *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__base_USCOREz_USCOREvalue" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#base_z_value"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/base_z_valueRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/base_z_valueResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__base_USCOREz_USCOREvalue(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__base_USCOREz_USCOREvalueInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__base_USCOREz_USCOREvalue(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__base_USCOREz_USCOREvalueInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	base_USCOREz_USCOREvalue rpc
+//gsoap ns1  service method-encoding:	base_USCOREz_USCOREvalue http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	base_USCOREz_USCOREvalue http://soap.g-language.org/GLANG#base_z_value
+//gsoap ns1  service method-output-action:	base_USCOREz_USCOREvalue http://soap.g-language.org/GLANG/GLANG/base_z_valueResponse
+int ns1__base_USCOREz_USCOREvalue(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__base_USCOREz_USCOREvalueInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__kmer_USCOREtable                                                    *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__kmer_USCOREtable" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#kmer_table"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/kmer_tableRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/kmer_tableResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__kmer_USCOREtable(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__kmer_USCOREtableInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__kmer_USCOREtable(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__kmer_USCOREtableInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	kmer_USCOREtable rpc
+//gsoap ns1  service method-encoding:	kmer_USCOREtable http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	kmer_USCOREtable http://soap.g-language.org/GLANG#kmer_table
+//gsoap ns1  service method-output-action:	kmer_USCOREtable http://soap.g-language.org/GLANG/GLANG/kmer_tableResponse
+int ns1__kmer_USCOREtable(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__kmer_USCOREtableInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__lda_USCOREbias                                                      *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__lda_USCOREbias" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#lda_bias"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/lda_biasRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/lda_biasResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__lda_USCOREbias(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__lda_USCOREbiasInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__lda_USCOREbias(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__lda_USCOREbiasInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	lda_USCOREbias rpc
+//gsoap ns1  service method-encoding:	lda_USCOREbias http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	lda_USCOREbias http://soap.g-language.org/GLANG#lda_bias
+//gsoap ns1  service method-output-action:	lda_USCOREbias http://soap.g-language.org/GLANG/GLANG/lda_biasResponse
+int ns1__lda_USCOREbias(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__lda_USCOREbiasInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__scs                                                                 *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__scs" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#scs"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/scsRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/scsResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__scs(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__scsInputParams*         params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__scs(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__scsInputParams*         params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	scs rpc
+//gsoap ns1  service method-encoding:	scs http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	scs http://soap.g-language.org/GLANG#scs
+//gsoap ns1  service method-output-action:	scs http://soap.g-language.org/GLANG/GLANG/scsResponse
+int ns1__scs(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__scsInputParams*         _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__leading_USCOREstrand                                                *
+ *                                                                            *
+\******************************************************************************/
+
+/// Operation response struct "ns1__leading_USCOREstrandResponse" of service binding "GLANGSoapBinding" operation "ns1__leading_USCOREstrand"
+struct ns1__leading_USCOREstrandResponse
+{
+    struct arrayOut*                    _result;
+};
+
+/// Operation "ns1__leading_USCOREstrand" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#leading_strand"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/leading_strandRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/leading_strandResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__leading_USCOREstrand(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    struct ns1__leading_USCOREstrandResponse*
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__leading_USCOREstrand(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    struct ns1__leading_USCOREstrandResponse*
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	leading_USCOREstrand rpc
+//gsoap ns1  service method-encoding:	leading_USCOREstrand http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	leading_USCOREstrand http://soap.g-language.org/GLANG#leading_strand
+//gsoap ns1  service method-output-action:	leading_USCOREstrand http://soap.g-language.org/GLANG/GLANG/leading_strandResponse
+int ns1__leading_USCOREstrand(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__leading_USCOREstrandResponse*	///< Response struct parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__S_USCOREvalue                                                       *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__S_USCOREvalue" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#S_value"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/S_valueRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/S_valueResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__S_USCOREvalue(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    struct ns1__S_USCOREvalueInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__S_USCOREvalue(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    struct ns1__S_USCOREvalueInputParams* params,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	S_USCOREvalue rpc
+//gsoap ns1  service method-encoding:	S_USCOREvalue http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	S_USCOREvalue http://soap.g-language.org/GLANG#S_value
+//gsoap ns1  service method-output-action:	S_USCOREvalue http://soap.g-language.org/GLANG/GLANG/S_valueResponse
+int ns1__S_USCOREvalue(
+    char*                               _sequence,	///< Request parameter
+    struct ns1__S_USCOREvalueInputParams* _params,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__help                                                                *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__help" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#help"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/helpRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/helpResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__help(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               keywords,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__help(
+    struct soap *soap,
+    // request parameters:
+    char*                               keywords,
+    // response parameters:
+    char*                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	help rpc
+//gsoap ns1  service method-encoding:	help http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	help http://soap.g-language.org/GLANG#help
+//gsoap ns1  service method-output-action:	help http://soap.g-language.org/GLANG/GLANG/helpResponse
+int ns1__help(
+    char*                               _keywords,	///< Request parameter
+    char*                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * Service Operation                                                          *
+ *   ns1__hydropathy                                                          *
+ *                                                                            *
+\******************************************************************************/
+
+
+/// Operation "ns1__hydropathy" of service binding "GLANGSoapBinding"
+
+/**
+
+Operation details:
+
+
+  - SOAP RPC encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
+  - SOAP action: "http://soap.g-language.org/GLANG#hydropathy"
+
+  - Addressing action: "http://soap.g-language.org/GLANG/GLANG/hydropathyRequest"
+
+  - Addressing response action: "http://soap.g-language.org/GLANG/GLANG/hydropathyResponse"
+
+C stub function (defined in soapClient.c[pp] generated by soapcpp2):
+@code
+  int soap_call_ns1__hydropathy(
+    struct soap *soap,
+    NULL, // char *endpoint = NULL selects default endpoint for this operation
+    NULL, // char *action = NULL selects default action for this operation
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    float                              *_result
+  );
+@endcode
+
+C server function (called from the service dispatcher defined in soapServer.c[pp]):
+@code
+  int ns1__hydropathy(
+    struct soap *soap,
+    // request parameters:
+    char*                               sequence,
+    // response parameters:
+    float                              *_result
+  );
+@endcode
+
+*/
+
+//gsoap ns1  service method-style:	hydropathy rpc
+//gsoap ns1  service method-encoding:	hydropathy http://schemas.xmlsoap.org/soap/encoding/
+//gsoap ns1  service method-action:	hydropathy http://soap.g-language.org/GLANG#hydropathy
+//gsoap ns1  service method-output-action:	hydropathy http://soap.g-language.org/GLANG/GLANG/hydropathyResponse
+int ns1__hydropathy(
+    char*                               _sequence,	///< Request parameter
+    float                              *_result	///< Response parameter
+);
+
+/******************************************************************************\
+ *                                                                            *
+ * XML Data Binding                                                           *
+ *                                                                            *
+\******************************************************************************/
+
+
+/**
+
+@page page_XMLDataBinding XML Data Binding
+
+SOAP/XML services use data bindings contractually bound by WSDL and auto-
+generated by wsdl2h and soapcpp2 (see Service Bindings). Plain data bindings
+are adopted from XML schemas as part of the WSDL types section or when running
+wsdl2h on a set of schemas to produce non-SOAP-based XML data bindings.
+
+The following readers and writers are C/C++ data type (de)serializers auto-
+generated by wsdl2h and soapcpp2. Run soapcpp2 on this file to generate the
+(de)serialization code, which is stored in soapC.c[pp]. Include "soapH.h" in
+your code to import these data type and function declarations. Only use the
+soapcpp2-generated files in your project build. Do not include the wsdl2h-
+generated .h file in your code.
+
+XML content can be retrieved from:
+  - a file descriptor, using soap->recvfd = fd
+  - a socket, using soap->socket = ...
+  - a C++ stream, using soap->is = ...
+  - a buffer, using the soap->frecv() callback
+
+XML content can be stored to:
+  - a file descriptor, using soap->sendfd = fd
+  - a socket, using soap->socket = ...
+  - a C++ stream, using soap->os = ...
+  - a buffer, using the soap->fsend() callback
+
+
+@section ns1 Top-level root elements of schema "http://soap.g-language.org/GLANG"
+
+*/
+
+/* End of gae.h */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/gfile.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,430 @@
+/******************************************************************************
+** @source GEMBASSY file routines
+**
+** @version 1.0
+** @modified December 27 2012 Hidetoshi Itaya Created this file
+** @@
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Library General Public
+** License as published by the Free Software Foundation; either
+** version 2 of the License, or (at your option) any later version.
+**
+** This library is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+** Library General Public License for more details.
+**
+** You should have received a copy of the GNU Library General Public
+** License along with this library; if not, write to the
+** Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+** Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "gfile.h"
+
+
+
+
+/* @func gValID ***************************************************************
+**
+** Checks if an input string is a valid ID
+**
+** @param id [r]  [AjPStr] ID to check
+** @return [AjBool]
+** @@
+******************************************************************************/
+
+ajint gValID(AjPStr id){
+  AjPFilebuff buff = NULL;
+  AjPStr      url  = NULL;
+  AjPStr      line = NULL;
+  AjPRegexp   pval = NULL;
+
+  url = ajStrNewC("http://web.sfc.keio.ac.jp/~t11080hi/valID/valID.cgi?id=");
+  url = ajStrNew();
+  ajFmtPrintS(&url, "http://rest.g-language.org/%S", id);
+
+  //ajStrAppendS(&url, id);
+
+  if(!gFilebuffURLS(url, &buff)) {
+    return ajFalse;
+  }
+
+  return ajTrue;
+
+  ajBuffreadLine(buff, &line);
+
+  pval = ajRegCompC("^0");
+
+  if(ajRegExec(pval, line))
+    return ajFalse;
+
+  return ajTrue;
+}
+
+
+
+
+/* @func gStrAppendURLS *******************************************************
+**
+** Downloads file from a specified URL and writes to given output file
+**
+** @param [r] url [AjPStr] URL to download file from
+** @param [r] string [AjPStr] String to write into
+** @return [AjBool] 
+** @@
+******************************************************************************/
+
+AjBool gStrAppendURLS(AjPStr url, AjPStr* string){
+  AjPFilebuff buff = NULL;
+  AjPStr      file = NULL;
+  AjPStr      line = NULL;
+
+  if(!*string)
+    *string = ajStrNew();
+
+  if(!gFilebuffURLS(url, &buff))
+    return ajFalse;
+
+  while(ajBuffreadLine(buff, &line)){
+    ajStrAppendS(string, line);
+  }
+
+  ajFilebuffDel(&buff);
+
+  return ajTrue;
+}
+
+
+
+
+/* @func gStrAppendURLC *******************************************************
+**
+** Downloads file from a specified URL and writes to given output file
+**
+** @param [r] url [char*] URL to download file from
+** @param [r] string [AjPStr] String to write into
+** @return [AjBool] 
+** @@
+******************************************************************************/
+
+AjBool gStrAppendURLC(char* url, AjPStr* string){
+  if(!gStrAppendURLS(ajStrNewC(url), string))
+    {
+      return ajFalse;
+    }
+
+  return ajTrue;
+}
+
+
+
+
+/* @func gFileOutURLS *********************************************************
+**
+** Downloads file from a specified URL and writes to given output file
+**
+** @param [r] url [AjPStr] URL to download file from
+** @param [r] outf [AjPFile] File object to write into
+** @return [AjBool] 
+** @@
+******************************************************************************/
+
+AjBool gFileOutURLS(AjPStr url, AjPFile* outf){
+  AjPFilebuff buff = NULL;
+  AjPStr      file = NULL;
+  AjPStr      line = NULL;
+
+  if(!gFilebuffURLS(url, &buff))
+    return ajFalse;
+
+  while(ajBuffreadLine(buff, &line)){
+    ajWriteline(*outf, line);
+  }
+
+  ajFilebuffDel(&buff);
+
+  return ajTrue;
+}
+
+
+
+
+/* @func gFileOutURLC *********************************************************
+**
+** Downloads file from a specified URL and writes to given output file
+**
+** @param [r] url [char*] URL to download file from
+** @param [r] outf [AjPFile] File object to write into
+** @return [AjBool] 
+** @@
+******************************************************************************/
+
+AjBool gFileOutURLC(char* url, AjPFile* outf){
+  if(!gFileOutURLS(ajStrNewC(url), outf))
+    {
+      return ajFalse;
+    }
+
+  return ajTrue;
+}
+
+
+
+
+/* @func gFilebuffURLS ********************************************************
+**
+** Downloads file from a specified URL and inputs in file buffer
+**
+** @param [r] url [AjPStr] URL to download file from
+** @param [r] buff [AjPFilebuff] File buffer to set
+** @return [AjBool]
+** @@
+******************************************************************************/
+
+AjBool gFilebuffURLS(AjPStr url, AjPFilebuff* buff){
+  AjPStr line = NULL;
+  AjPStr host = NULL;
+  AjPStr path = NULL;
+  ajint  port = 80;
+
+  ajHttpUrlDeconstruct(url, &port, &host, &path);
+
+  *buff = ajHttpRead(NULL, NULL, NULL, host, port, path);
+
+  if(!*buff)
+    return ajFalse;
+
+  ajFilebuffHtmlNoheader(*buff);
+
+  return ajTrue;
+}
+
+
+
+
+/* @func gFilebuffURLC ********************************************************
+**
+** Downloads file from a specified URL and inputs in file buffer
+**
+** @param [r] url [char*] URL to download file from
+** @param [r] buff [AjPFilebuff] File buffer to set
+** @return [AjBool]
+** @@
+******************************************************************************/
+
+AjBool gFilebuffURLC(char* url, AjPFilebuff* buff){
+  gFilebuffURLS(ajStrNewC(url), buff);
+
+  if(!*buff)
+    return ajFalse;
+
+  return ajTrue;
+}
+
+
+
+
+/* @func gAssignUniqueName ****************************************************
+**
+** Creates a unique filename
+**
+** @return [AjPStr] the unique filename
+** @@
+******************************************************************************/
+
+void gAssignUniqueName(AjPStr *string) {
+  static char ext[2] = "A";
+
+  ajFmtPrintS(string, "%08d%s", getpid(), ext);
+
+  if( ++ext[0] > 'Z' ) {
+    ext[0] = 'A';
+  }
+}
+
+
+
+
+/* @func gCreateUniqueName ****************************************************
+**
+** Returns a unique filename
+**
+** @return [AjPStr] the unique filename
+** @@
+******************************************************************************/
+
+AjPStr gCreateUniqueName() {
+  AjPStr string;
+
+  gAssignUniqueName(&string);
+
+  return string;
+}
+
+
+
+
+/* @func gFormatGenbank *******************************************************
+**
+** Creates a genbank format string with sequence and features
+**
+** @param [r] seq [AjPSeq] Sequence object to write
+** @param [r] inseq [AjPStr] String to write to
+** @return [AjBool]
+** @@
+******************************************************************************/
+
+AjBool gFormatGenbank(AjPSeq seq, AjPStr *inseq){
+  AjPSeqout     seqout   = NULL;
+  AjPFeattabOut featout  = NULL;
+  AjPFeattable  feat     = NULL;
+  AjPStr        seqline  = NULL;
+  AjPStr        featline = NULL;
+  AjPFile       seqfile  = NULL;
+  AjPFile       featfile = NULL;
+  AjPStr        filename = NULL;
+  AjBool        hasfeats = ajTrue;
+
+  gAssignUniqueName(&filename);
+  feat = ajSeqGetFeatCopy(seq);
+
+  if(!feat) {
+    hasfeats = ajFalse;
+  }
+
+  seqout = ajSeqoutNew();
+
+  if(!ajSeqoutOpenFilename(seqout,filename))
+    embExitBad();
+
+  ajSeqoutSetFormatS(seqout,ajStrNewC("genbank"));
+  ajSeqoutWriteSeq(seqout,seq);
+  ajSeqoutClose(seqout);
+  ajSeqoutDel(&seqout);
+
+  seqfile = ajFileNewInNameS(filename);
+  ajSysFileUnlinkS(filename);
+
+  if(hasfeats) {
+    featout = ajFeattabOutNew();
+
+    if(!ajFeattabOutOpen(featout,filename))
+      return ajFalse;
+
+    ajFeattableWriteGenbank(featout,feat);
+
+    ajFeattableDel(&feat);
+    //ajFeattabOutDel(&featout);
+    ajFileClose(&(featout->Handle));
+
+    featfile = ajFileNewInNameS(filename);
+    ajSysFileUnlinkS(filename);
+  }
+
+  while(ajReadline(seqfile,&seqline)){
+    if(hasfeats && ajStrMatchC(seqline,"ORIGIN\n")){
+      while(ajReadline(featfile,&featline)){
+        ajStrAppendS(inseq, featline);
+      }
+    }
+    ajStrAppendS(inseq, seqline);
+  }
+
+  ajStrDel(&seqline);
+  ajStrDel(&featline);
+  ajStrDel(&filename);
+  ajFileClose(&seqfile);
+  ajFileClose(&featfile);
+
+  return hasfeats;
+}
+
+
+
+
+/* @func gGetFileContent ******************************************************
+**
+** Reads file content and sets it to string pointer
+**
+** @param [r] content [AjPSeq] String to write to
+** @param [r] filename [AjPSeq] Filename to open
+** @return [AjBool]
+** @@
+******************************************************************************/
+
+AjBool gGetFileContent(AjPStr* content, AjPStr filename){
+  AjPFile file    = NULL;
+  AjPStr  line    = NULL;
+
+  if((file = ajFileNewInNameS(filename)) == NULL)
+    return ajFalse;
+
+  while(ajReadline(file, &line))
+    ajStrAppendS(content, line);
+
+  if(file)
+    ajFileClose(&file);
+
+  ajSysFileUnlinkS(filename);
+
+  return ajTrue;
+}
+
+
+
+
+/* @func gtaiFileOutURLS ******************************************************
+**
+** Downloads file from a specified URL and inputs in file buffer
+**
+** @param [r] url [AjPStr] URL to download file from
+** @param [r] buff [AjPFilebuff] File buffer to set
+** @return [AjBool]
+** @@
+******************************************************************************/
+
+AjBool gtaiFileOutURLS(AjPStr url, AjPFile* outf, AjBool tai){
+  if(tai)
+    {
+      CURL *curl;
+      CURLcode curl_res;
+
+      Memory *mem = malloc(sizeof(Memory*));
+
+      mem->size = 0;
+      mem->memory = NULL;
+
+      curl_global_init(CURL_GLOBAL_ALL);
+
+      curl = curl_easy_init();
+
+      if(curl)
+        {
+          curl_easy_setopt(curl, CURLOPT_URL, ajCharNewS(url));
+          curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
+          curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, curl_write);
+          curl_easy_setopt(curl, CURLOPT_WRITEDATA, mem);
+        }
+
+      curl_res = curl_easy_perform(curl);
+
+      if(CURLE_OK == curl_res)
+        {
+          char* redir;
+          curl_res = curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &redir);
+
+          if((CURLE_OK == curl_res) && redir) {
+            ajStrAssignC(&url, redir);
+            ajStrExchangeCC(&url, "cai.csv", "tai.csv");
+          }
+        }
+
+      free(mem);
+      curl_easy_cleanup(curl);
+      curl_global_cleanup();
+    }
+
+  return gFileOutURLS(url, outf);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/gfile.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,25 @@
+#ifndef gfile_h
+#define gfile_h
+
+#include "emboss.h"
+#include "curl/curl.h"
+#include "curl/easy.h"
+
+#include "gpost.h"
+
+/*
+** Prototype definitions
+*/
+
+AjBool gValID(AjPStr id);
+AjBool gStrAppendURLS(AjPStr url, AjPStr* string);
+AjBool gStrAppendURLC(char* url, AjPStr* string);
+AjBool gFileOutURLS(AjPStr url, AjPFile* outf);
+AjBool gFileOutURLC(char* url, AjPFile* outf);
+AjBool gFilebuffURLS(AjPStr url, AjPFilebuff* buff);
+AjBool gFilebuffURLC(char* url, AjPFilebuff* buff);
+AjBool gFormatGenbank(AjPSeq seq, AjPStr *str);
+void gAssignUniqueName(AjPStr *string);
+AjPStr gCreateUniqueName();
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/ghttp.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,378 @@
+/******************************************************************************
+** @source GEMBASSY http routines
+**
+** @version 1.0
+** @modified December 27 2012 Hidetoshi Itaya Created this file
+** @@
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Library General Public
+** License as published by the Free Software Foundation; either
+** version 2 of the License, or (at your option) any later version.
+**
+** This library is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+** Library General Public License for more details.
+**
+** You should have received a copy of the GNU Library General Public
+** License along with this library; if not, write to the
+** Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+** Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "ghttp.h"
+
+
+
+
+/* @func gHttpConvertS ********************************************************
+**
+** Converts result image to specified format
+**
+** @param [r] url [AjPStr] URL to lookup
+** @param [r] outf [AjPFile*] File to write to
+** @return [AjBool]
+** @@
+******************************************************************************/
+
+AjBool gHttpConvertS(AjPStr url, AjPFile* outf, AjPStr informat, AjPStr outformat)
+{
+  AjPRegexp regexp = NULL;
+  AjPStr jobid = NULL;
+  AjPStr convert = NULL;
+
+  regexp = ajRegCompC("^.+jobid=");
+
+  if(!ajRegExec(regexp, url))
+    {
+      return ajFalse;
+    }
+
+  if(!ajRegPost(regexp, &jobid))
+    {
+      return ajFalse;
+    }
+
+  convert = ajFmtStr("http://soap.g-language.org/WS/convert.cgi?"
+                     "jobid=%S&informat=%S&outformat=%S",
+                     jobid, informat, outformat);
+
+  if(!gHttpGetBinS(convert, outf)) {
+    return ajFalse;
+  }
+
+  return ajTrue;
+}
+
+
+
+
+/* @func gHttpConvertC ********************************************************
+**
+** Converts result image to specified format
+**
+** @param [r] url [AjPStr] URL to lookup
+** @param [r] outf [AjPFile*] File to write to
+** @return [AjBool]
+** @@
+******************************************************************************/
+
+AjBool gHttpConvertC(char* url, AjPFile* outf, AjPStr informat, AjPStr outformat)
+{
+  return gHttpConvertS(ajStrNewC(url), outf, informat, outformat);
+}
+
+
+
+
+/* @func gHttpGetBinS *********************************************************
+**
+** Writes out remote binary file to AjPFile
+**
+** @param [r] url [AjPStr] URL to lookup
+** @param [r] outf [AjPFile*] File to write to
+** @return [AjBool]
+** @@
+******************************************************************************/
+
+AjBool gHttpGetBinS(AjPStr url, AjPFile* outf)
+{
+  AjPFile file = NULL;
+  AjPStr  line = NULL;
+  AjPStr  host = NULL;
+  AjPStr  path = NULL;
+  AjPStr  get  = NULL;
+  ajint   port = 80;
+  ajuint  http = 0;
+  FILE   *fp;
+
+  AjPRegexp crlf = NULL;
+
+  char buf[8];
+
+  AjOSysSocket sock;
+
+  get = ajStrNew();
+
+  ajHttpUrlDeconstruct(url, &port, &host, &path);
+
+  while(file==NULL || gHttpRedirect(file, &host, &port, &path))
+    {
+      if(ajStrGetCharFirst(path) != '/')
+	ajStrInsertK(&path, 0, '/');
+
+      ajFmtPrintS(&get, "GET http://%S:%d%S HTTP/1.1\r\n", host, port, path);
+
+      fp = ajHttpOpen(NULL, host, port, get, &sock);
+
+      file = ajFileNewFromCfile(fp);
+
+      if(!file)
+	return ajFalse;
+    }
+
+  ajStrDel(&get);
+
+  crlf = ajRegCompC("^\r?\n$");
+
+  while(ajReadline(file, &line))
+    {
+      if(ajRegExec(crlf, line))
+	break;
+    }
+
+  while(ajReadbinBinary(file, 1, 1, buf))
+    {
+      ajWritebinBinary(*outf, 1, 1, buf);
+    }
+
+  ajFileClose(outf);
+  ajFileClose(&file);
+
+  return ajTrue;
+}
+
+
+
+
+/* @func gHttpGetBinC *********************************************************
+**
+** Retrives the C file pointer from a given URL
+**
+** @param [r] url [char*] URL to lookup
+** @param [r] outf [AjPFile*] File to write to
+** @return [AjBool]
+** @@
+******************************************************************************/
+
+AjBool gHttpGetBinC(char* url, AjPFile* outf)
+{
+  if(!gHttpGetBinS(ajStrNewC(url), outf))
+    return ajFalse;
+
+  return ajTrue;
+}
+
+
+
+
+/* @func gHttpPostSS **********************************************************
+**
+** Post a file to url
+**
+** @param [r] [AjPStr] URL to POST to
+** @param [r] [AjPStr] content to send
+** @return [AjPFilebuff]
+** @@
+******************************************************************************/
+
+AjPFilebuff gHttpPostFileSS(AjPStr url, AjPStr filename)
+{
+  AjPFilebuff buff = NULL;
+  AjPFile     file = NULL;
+  AjPStr      line = NULL;
+  AjPStr      cont = NULL;
+  AjPStr      host = NULL;
+  AjPStr      path = NULL;
+  AjPStr      post = NULL;
+  AjPStr      body = NULL;
+  ajint       port = 80;
+  ajuint      http = 0;
+  FILE       *fp;
+
+  char crlf[] = "\015\021";
+
+  AjOSysSocket sock;
+  AjOSysTimeout timo;
+
+  post = ajStrNew();
+  body = ajStrNew();
+  cont = ajStrNew();
+
+  file = ajFileNewInNameS(filename);
+
+  while(ajReadline(file, &line))
+    {
+      ajStrAppendS(&cont, line);
+    }
+
+  ajHttpUrlDeconstruct(url, &port, &host, &path);
+
+  while(buff==NULL || ajHttpRedirect(buff, &host, &port, &path, &http))
+    {
+      if(ajStrGetCharFirst(path) != '/')
+	ajStrInsertK(&path, 0, '/');
+
+      ajFmtPrintS(
+        &body,
+        "--xYzZY\015\012"
+        "Content-Disposition: form-data; name=\"file\";"
+        " filename=\"%S\"\015\012"
+        "Content-Type: text/plain\015\012"
+        "%S\015\012"
+        "\015\012--xYzZY--\015\012",
+        filename, cont
+      );
+
+      ajFmtPrintS(
+        &post,
+        "POST http://%S%S\n"
+        "Content-Length: %d\n"
+        "Content-Type: multipart/form-data; boundary=xYzZY\n\n"
+        "%S",
+        host, path,
+        ajStrGetLen(body), body
+      );
+
+      ajFmtPrint("%S", post);
+
+      fp = ajHttpOpen(NULL, host, port, post, &sock);
+
+      buff = ajFilebuffNewFromCfile(fp);
+
+      if(!buff)
+	return NULL;
+    }
+
+  ajStrDel(&post);
+
+  timo.seconds = 180;
+  ajSysTimeoutSet(&timo);
+  ajFilebuffLoadAll(buff);
+  ajSysTimeoutUnset(&timo);
+
+  return buff;
+}
+
+
+
+
+/* @func gHttpPostCS **********************************************************
+**
+** Retrives the C file pointer from a given URL
+**
+** @param [r] [char*] URL to lookup
+** @return [FILE*]
+** @@
+******************************************************************************/
+
+AjPFilebuff gHttpPostFileCS(char* url, AjPStr filename)
+{
+  AjPFilebuff buff = NULL;
+
+  buff = gHttpPostFileSS(ajStrNewC(url), filename);
+
+  if(!buff)
+    return NULL;
+
+  return buff;
+}
+
+
+
+
+/* @func gHttpRedirect ********************************************************
+**
+** Reads the header of http response in given buffer buff,
+** if it includes a redirection response updates the host, port and get
+** parameters using the 'Location' header
+**
+** @param [u] buff [FILE*] file pointer
+** @param [w] host [AjPStr*] Host name
+** @param [w] port [ajint*] Port
+** @param [w] path [AjPStr*] part of URL after port number
+** @return [AjBool] returns true if the header includes a redirection response
+** @@
+******************************************************************************/
+
+AjBool gHttpRedirect(AjPFile file, AjPStr* host, ajint* port, AjPStr* path)
+{
+  AjPFilebuff buff = NULL;
+
+  AjPRegexp httpexp  = NULL;
+  AjPRegexp nullexp  = NULL;
+  AjPRegexp redirexp = NULL;
+
+  AjPStr codestr  = NULL;
+  AjPStr newurl   = NULL;
+  AjPStr newhost  = NULL;
+  AjPStr currline = NULL;
+
+  ajuint httpcode = 0;
+
+  AjBool isheader = ajFalse;
+  AjBool ret = ajFalse;
+
+  httpexp  = ajRegCompC("^HTTP/\\S+\\s+(\\d+)");
+
+  ajReadline(file, &currline);
+
+  ajDebug("gHttpRedirect: First line: '%S'\n", currline);
+
+  if(ajRegExec(httpexp, currline))
+    {
+      isheader = ajTrue;
+      ajRegSubI(httpexp, 1, &codestr);
+      ajStrToUint(codestr, &httpcode);
+      ajDebug("Header: codestr '%S' code '%u'\n", codestr, httpcode);
+      ajStrDel(&codestr);
+    }
+
+  if(isheader)
+    {
+      if(httpcode == 301 || httpcode == 302 || httpcode==307)
+        {
+	  redirexp = ajRegCompC("^Location: (\\S+)");
+	  nullexp  = ajRegCompC("^\r?\n?$");
+
+	  while( ajReadline(file, &currline) &&
+		 !ajRegExec(nullexp, currline))
+            {
+	      ajDebug("gHttpRedirect: header line: '%S'\n", currline);
+
+	      if(ajRegExec(redirexp, currline))
+                {
+		  ajRegSubI(redirexp, 1, &newurl);
+		  ajHttpUrlDeconstruct(newurl, port, &newhost, path);
+
+		  if(ajStrGetLen(newhost))
+		    ajStrAssignS(host, newhost);
+
+		  ajStrDel(&newurl);
+		  ajStrDel(&newhost);
+		  ret = ajTrue;
+		  break;
+                }
+            }
+
+	  ajRegFree(&redirexp);
+	  ajRegFree(&nullexp);
+        }
+    }
+
+  ajRegFree(&httpexp);
+  ajStrDel(&currline);
+
+  return ret;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/ghttp.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,18 @@
+#ifndef ghttp_h
+#define ghttp_h
+
+#include "emboss.h"
+
+/*
+** Prototype definitions
+*/
+
+AjBool gHttpConvertS(AjPStr url, AjPFile* outf, AjPStr informat, AjPStr outformat);
+AjBool gHttpConvertC(char* res, AjPFile* outf, AjPStr informat, AjPStr outformat);
+AjBool gHttpGetBinS(AjPStr url, AjPFile* outf);
+AjBool gHttpGetBinC(char* url, AjPFile* outf);
+AjPFilebuff gHttpPostFileSS(AjPStr url, AjPStr filename);
+AjPFilebuff gHttpPostFileCS(char* url, AjPStr filename);
+AjBool gHttpRedirect(AjPFile file, AjPStr* host, ajint* port, AjPStr* path);
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/glibs.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,11 @@
+#ifndef GLIBS
+#define GLIBS
+#include "../include/gfile.h"
+#include "../include/gfile.c"
+#include "../include/ghttp.h"
+#include "../include/ghttp.c"
+#include "../include/gplot.h"
+#include "../include/gplot.c"
+#include "../include/gpost.h"
+#include "../include/gpost.c"
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/gplot.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,314 @@
+/******************************************************************************
+** @source GEMBASSY plot routines
+**
+** @version 1.0
+** @modified December 27 2012 Hidetoshi Itaya Created this file
+** @@
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Library General Public
+** License as published by the Free Software Foundation; either
+** version 2 of the License, or (at your option) any later version.
+**
+** This library is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+** Library General Public License for more details.
+**
+** You should have received a copy of the GNU Library General Public
+** License along with this library; if not, write to the
+** Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+** Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+
+#include "gplot.h"
+
+
+
+
+/* @funclist gPlotFilebuff ****************************************************
+**
+** Retrieves data from file buffer and plots the data using gPlotData
+**
+******************************************************************************/
+
+AjBool gPlotFilebuff(AjPFilebuff buff, AjPGraph graphs, gPlotParams *gpp)
+{
+  AjPStr  line = NULL;
+  AjPPStr temp = NULL;
+  AjPPStr name = NULL;
+  ajint   i    = 0;
+  ajint   j    = 0;
+  ajint   col  = 0;
+  ajint   flag = 0;
+  float **data = NULL;
+
+  while(ajBuffreadLine(buff, &line))
+    {
+
+    /*
+    ** Allocate first time only
+    */
+
+    if(!col)
+      {
+      col = ajStrCalcCountC(line, ",") + 1;
+
+      if((temp = (AjPPStr)malloc(sizeof(AjPStr) * col)) == NULL)
+	{
+	return ajFalse;
+      }
+
+      if((name = (AjPPStr)malloc(sizeof(AjPStr) * col)) == NULL)
+	{
+	  AJFREE(temp);
+	  return ajFalse;
+	}
+
+      if((data = (float**)malloc(sizeof(float*) * col)) == NULL)
+	{
+	  AJFREE(temp);
+	  AJFREE(name);
+	  return ajFalse;
+	}
+      for(i = 0; i < col; ++i)
+	{
+	  if((data[i] = (float*)malloc(sizeof(float))) == NULL){
+	    {
+	      AJFREE(temp);
+	      AJFREE(name);
+	      for(j = 0; j < i; ++j)
+		{
+		  AJFREE(data[j]);
+		}
+	      AJFREE(data);
+	      return ajFalse;
+	    }
+	  }
+	}
+      }
+    
+    ajStrExchangeCC(&line, ",", "\n");
+    ajStrParseSplit(line, &temp);
+
+    for(i = 0; i < col; ++i)
+      {
+        if((data[i] = (float*)realloc(data[i], sizeof(float) * (j + 1))) == NULL)
+          {
+            AJFREE(temp);
+            AJFREE(name);
+            for(j = 0; j < i; ++j)
+              {
+                AJFREE(data[j]);
+              }
+            AJFREE(data);
+            return ajFalse;
+          }
+
+        ajStrRemoveLastNewline(&(temp[i]));
+        if(ajStrIsFloat(temp[i]))
+          {
+            ajStrToFloat(temp[i], &(data[i][j]));
+            ++flag;
+          }
+        else
+          {
+            name[i] = ajStrNewS(temp[i]);
+          }
+      }
+    j = flag ? j + 1 : j;
+    flag = 0;
+    }
+
+  (*gpp).data    = data;
+  (*gpp).setNum  = 0;
+  (*gpp).dataNum = j;
+  (*gpp).typeNum = col;
+  if(!(*gpp).names)
+    (*gpp).names = name;
+
+  if(j < 2)
+    gPlotFlip(gpp);
+
+  gPlotData(graphs, gpp);
+
+  for(i = 0; i < (*gpp).typeNum; ++i)
+    AJFREE((*gpp).data[i]);
+  AJFREE((*gpp).data);
+
+  data = NULL;
+
+  ajStrDel(&line);
+
+  return ajTrue;
+}
+
+
+
+
+/* @funclist gPlotData ********************************************************
+**
+** Function to plot from given data
+**
+******************************************************************************/
+
+AjBool gPlotData(AjPGraph graphs, gPlotParams *gpp)
+{
+  AjPGraphdata gd = NULL;
+
+  float min = 0.0;
+  float max = 0.0;
+  float dif = 0.0;
+  ajint i;
+  ajint j;
+
+  ajint   setNum  = (*gpp).setNum;
+  ajint   dataNum = (*gpp).dataNum;
+  ajint   typeNum = (*gpp).typeNum;
+  AjPStr  title   = (*gpp).title;
+  AjPStr  xlab    = (*gpp).xlab;
+  AjPStr  ylab    = (*gpp).ylab;
+  AjPPStr names   = (*gpp).names;
+  float **data    = (*gpp).data;
+
+  float x[dataNum];
+  float y[dataNum];
+  float begin = data[0][0];
+  float end   = data[0][dataNum-1];
+  float range = end - begin;
+
+  int c[] = {1,3,9,13};
+
+  for(i = 1; i < typeNum; ++i)
+    {
+    for(j = 0; j < dataNum; ++j)
+      {
+      min = (min < data[i][j]) ? min : data[i][j];
+      max = (max > data[i][j]) ? max : data[i][j];
+    }
+  }
+
+  dif = (min == max) ? 20 : max - min;
+  max += dif / 20;
+  min -= dif / 20;
+
+  for(i = 1; i < typeNum; ++i)
+    {
+    gd = ajGraphdataNewI(dataNum);
+
+    ajGraphdataSetColour(gd, c[i-1]);
+    ajGraphdataSetMinmax(gd, begin, end, min, max);
+    ajGraphdataSetTruescale(gd, begin, end, min, max);
+    ajGraphdataSetTypeC(gd, "Multi 2D Plot");
+      
+    for(j = 0; j <  dataNum; ++j)
+      {
+      x[j] = data[0][j];
+      y[j] = data[i][j];
+    }
+      
+    ajGraphdataAddXY(gd, x, y);
+    ajGraphDataAdd(graphs, gd);
+      
+    if(typeNum > 2)
+      {
+      float len = 0.0;
+
+      for(j = 1; j < typeNum; ++j)
+	len = (len < (float)ajStrGetLen(names[j])) ?
+	  (float)ajStrGetLen(names[j]) : len;
+
+      ajGraphAddLine(graphs,
+		     range * 7.4/8 + begin, dif * (8.6-i*0.3)/8 + min,
+		     range * 7.8/8 + begin, dif * (8.6-i*0.3)/8 + min,
+		     c[i-1]);
+      ajGraphAddTextScaleS(graphs,
+			   range * (7.3/8 - len*1/144) + begin,
+			   dif * (8.6-i*0.3)/8 + min,
+			   0, 0.4,
+			   names[i]);
+    }
+      
+    gd = NULL;
+  }
+
+  ajGraphxySetXstartF(graphs, begin);
+  ajGraphxySetXendF(graphs, end);
+  ajGraphxySetYstartF(graphs, min - ((max - min) / 10));
+  ajGraphxySetYendF(graphs, max + ((max - min) / 10));
+
+  //ajGraphSetTitleS(graphs, title);
+  ajGraphSetXlabelS(graphs, xlab);
+  ajGraphSetYlabelS(graphs, ylab);
+  ajGraphxySetflagOverlay(graphs, ajTrue);
+
+  ajGraphxyDisplay(graphs, AJFALSE);
+  ajGraphicsClose();
+
+  return ajTrue;
+}
+
+
+
+
+/* @funclist gPlotFlip ********************************************************
+**
+** Function to flip x and y data
+**
+******************************************************************************/
+
+AjBool gPlotFlip(gPlotParams *gpp)
+{
+  ajint   setNum  = (*gpp).setNum;
+  ajint   dataNum = (*gpp).typeNum;
+  ajint   typeNum = (*gpp).dataNum;
+  float **data    = (*gpp).data;
+
+  float **newdata;
+  ajint i;
+  ajint j;
+
+  if((newdata = (float**)malloc(sizeof(float*) * typeNum)) == NULL)
+    return ajFalse;
+  else
+    for(i = 0; i < typeNum + 1; ++i)
+      if((newdata[i] = (float*)malloc(sizeof(float))) == NULL)
+	{
+	  AJFREE(newdata);
+	  return ajFalse;
+	}
+
+  for(i = 0; i < dataNum; ++i){
+    if((newdata[0] = (float*)realloc(newdata[0],
+				     sizeof(float) * (i + 1))) == NULL)
+      {
+	for(j = 0; j < i; ++j)
+	    AJFREE(newdata[j]);
+	AJFREE(newdata);
+	return ajFalse;
+      }
+    if((newdata[1] = (float*)realloc(newdata[1],
+				     sizeof(float) * (i + 1))) == NULL)
+      {
+	for(j = 0; j < i; ++j)
+	    AJFREE(newdata[j]);
+	AJFREE(newdata);
+	return ajFalse;
+      }
+    newdata[0][i] = i;
+    newdata[1][i] = data[i][0];
+  }
+
+  for(i = 0; i < dataNum; ++i)
+    {
+      AJFREE((*gpp).data[i]);
+    }
+  AJFREE((*gpp).data);
+
+  (*gpp).dataNum = dataNum;
+  (*gpp).typeNum = 2;
+  (*gpp).data    = newdata;
+
+  return ajTrue;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/gplot.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,45 @@
+#ifndef GPLOT_H
+#define GPLOT_H
+
+#include "emboss.h"
+
+/* @datastatic gPlotParams*****************************************************
+**
+** gPlot plotting parameters
+**
+** @attr data [float**] Data used to plot
+** @attr setNum [size_t] Number of data sets
+** @attr typeNum [size_t] Number of data types
+** @attr dataNum [size_t] Number of data in set
+** @attr height [ajint] Height of graph - To be supported
+** @attr width [ajint] Width of graph - To be supported
+** @attr title [AjPStr] Graph title
+** @attr xlab [AjPStr] Label for X axis
+** @attr ylab [AjPStr] Label for Y axis
+** @attr names [AjPPStr] name of each data type
+** @@
+******************************************************************************/
+
+typedef struct gPlotStruct
+{
+  float **data;
+  size_t  setNum;
+  size_t  typeNum;
+  size_t  dataNum;
+  /*ajint   width  Not supported yet! ;*/
+  /*ajint   height Not supported yet! ;*/
+  AjPStr  title;
+  AjPStr  xlab;
+  AjPStr  ylab;
+  AjPPStr names;
+} gPlotParams;
+
+/*
+** Prototype Definitions
+*/
+
+AjBool gPlotFilebuff(AjPFilebuff buff, AjPGraph graphs, gPlotParams *gpp);
+AjBool gPlotData(AjPGraph graphs, gPlotParams *gpp);
+AjBool gPlotFlip(gPlotParams *gpp);
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/gpost.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,139 @@
+/******************************************************************************
+** @source The last resort for POSTing
+**
+** @version 1.0
+** @modified December 27 2012 Hidetoshi Itaya Created this file
+** @@
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Library General Public
+** License as published by the Free Software Foundation; either
+** version 2 of the License, or (at your option) any later version.
+**
+** This library is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+** Library General Public License for more details.
+**
+** You should have received a copy of the GNU Library General Public
+** License along with this library; if not, write to the
+** Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+** Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "gpost.h"
+
+
+
+
+/* @func gFilePostCC **********************************************************
+**
+** Posts the file to given url
+**
+** @param [r] [char*] URL to lookup
+** @return [AjPFile]
+** @@
+******************************************************************************/
+
+AjBool gFilePostCC(char* url, char* filename, AjPStr* string)
+{
+  CURL *curl;
+  CURLcode res;
+
+  struct curl_httppost *post = NULL;
+  struct curl_httppost *last = NULL;
+
+  Memory *mem = malloc(sizeof(Memory*));
+
+  mem->size = 0;
+  mem->memory = NULL;
+
+  curl = curl_easy_init();
+
+  if(curl)
+    {
+      curl_formadd(&post, &last,
+                   CURLFORM_COPYNAME, "file",
+                   CURLFORM_FILE, filename,
+                   CURLFORM_END);
+
+      curl_easy_setopt(curl, CURLOPT_URL, url);
+      curl_easy_setopt(curl, CURLOPT_HTTPPOST, post);
+      curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, curl_write);
+      curl_easy_setopt(curl, CURLOPT_WRITEDATA, mem);
+
+      res = curl_easy_perform(curl);
+
+      if(res)
+        {
+          return 0;
+        }
+
+      curl_formfree(post);
+    }
+  else
+    {
+      return 0;
+    }
+
+  curl_easy_cleanup(curl);
+
+  ajStrAssignC(string, mem->memory);
+
+  return 1;
+}
+
+size_t curl_write(void* ptr, size_t size, size_t nmemb, void* data)
+{
+  if(size * nmemb == 0)
+    return 0;
+
+  size_t realsize = size * nmemb;
+  Memory* mem = (Memory*)data;
+  mem->memory = (char*)realloc(mem->memory,mem->size + realsize + 1);
+  if(mem->memory){
+    memcpy(&(mem->memory[mem->size]),ptr,realsize);
+    mem->size += realsize;
+    mem->memory[mem->size] = 0;
+  }
+
+  return realsize;
+}
+
+
+
+/* @func gFilePostCS **********************************************************
+**
+** Posts the file to given url
+**
+** @param [r] [char*] URL to lookup
+** @return [AjPFile]
+** @@
+******************************************************************************/
+
+AjBool gFilePostCS(char* url, AjPStr filename, AjPStr* string)
+{
+  if(!gFilePostCC(url, ajCharNewS(filename), string))
+    return ajFalse;
+
+  return ajTrue;
+}
+
+
+
+/* @func gFilePostSS **********************************************************
+**
+** Posts the file to given url
+**
+** @param [r] [char*] URL to lookup
+** @return [AjPFile]
+** @@
+******************************************************************************/
+
+AjBool gFilePostSS(AjPStr url, AjPStr filename, AjPStr* string)
+{
+  if(!gFilePostCC(ajCharNewS(url), ajCharNewS(filename), string))
+    return ajFalse;
+
+  return ajTrue;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/gpost.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,22 @@
+#ifndef gpost_h
+#define gpost_h
+
+#include "emboss.h"
+#include "curl/curl.h"
+#include "curl/easy.h"
+
+typedef struct{
+  char* memory;
+  size_t size;
+} Memory;
+
+/*
+** Prototype definitions
+*/
+
+AjBool gFilePostCC(char* url, char* filename, AjPStr* string);
+AjBool gFilePostCS(char* url, AjPStr filename, AjPStr* string);
+AjBool gFilePostSS(AjPStr url, AjPStr filename, AjPStr* string);
+size_t curl_write(void *ptr, size_t size, size_t nmemb, void *stream);
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/soapC.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,29909 @@
+/* soapC.c
+   Generated by gSOAP 2.8.6 from gae.h
+
+Copyright(C) 2000-2011, Robert van Engelen, Genivia Inc. All Rights Reserved.
+The generated code is released under one of the following licenses:
+1) GPL or 2) Genivia's license for commercial use.
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+*/
+
+#if defined(__BORLANDC__)
+#pragma option push -w-8060
+#pragma option push -w-8004
+#endif
+
+#include "soapH.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SOAP_SOURCE_STAMP("@(#) soapC.c ver 2.8.6 2013-04-04 13:42:58 GMT")
+
+
+#ifndef WITH_NOGLOBAL
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serializeheader(struct soap *soap)
+{
+	if (soap->header)
+		soap_serialize_SOAP_ENV__Header(soap, soap->header);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_putheader(struct soap *soap)
+{
+	if (soap->header)
+	{	soap->part = SOAP_IN_HEADER;
+		if (soap_out_SOAP_ENV__Header(soap, "SOAP-ENV:Header", 0, soap->header, NULL))
+			return soap->error;
+		soap->part = SOAP_END_HEADER;
+	}
+	return SOAP_OK;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_getheader(struct soap *soap)
+{
+	soap->part = SOAP_IN_HEADER;
+	soap->header = soap_in_SOAP_ENV__Header(soap, "SOAP-ENV:Header", NULL, NULL);
+	soap->part = SOAP_END_HEADER;
+	return soap->header == NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_header(struct soap *soap)
+{
+	if (!soap->header)
+	{	if ((soap->header = (struct SOAP_ENV__Header*)soap_malloc(soap, sizeof(struct SOAP_ENV__Header))))
+			soap_default_SOAP_ENV__Header(soap, soap->header);
+	}
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_fault(struct soap *soap)
+{
+	if (!soap->fault)
+	{	soap->fault = (struct SOAP_ENV__Fault*)soap_malloc(soap, sizeof(struct SOAP_ENV__Fault));
+		if (!soap->fault)
+			return;
+		soap_default_SOAP_ENV__Fault(soap, soap->fault);
+	}
+	if (soap->version == 2 && !soap->fault->SOAP_ENV__Code)
+	{	soap->fault->SOAP_ENV__Code = (struct SOAP_ENV__Code*)soap_malloc(soap, sizeof(struct SOAP_ENV__Code));
+		soap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code);
+	}
+	if (soap->version == 2 && !soap->fault->SOAP_ENV__Reason)
+	{	soap->fault->SOAP_ENV__Reason = (struct SOAP_ENV__Reason*)soap_malloc(soap, sizeof(struct SOAP_ENV__Reason));
+		soap_default_SOAP_ENV__Reason(soap, soap->fault->SOAP_ENV__Reason);
+	}
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serializefault(struct soap *soap)
+{
+	if (soap->fault)
+		soap_serialize_SOAP_ENV__Fault(soap, soap->fault);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_putfault(struct soap *soap)
+{
+	if (soap->fault)
+		return soap_put_SOAP_ENV__Fault(soap, soap->fault, "SOAP-ENV:Fault", NULL);
+	return SOAP_OK;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_getfault(struct soap *soap)
+{
+	return (soap->fault = soap_get_SOAP_ENV__Fault(soap, NULL, "SOAP-ENV:Fault", NULL)) == NULL;
+}
+
+SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultcode(struct soap *soap)
+{
+	soap_fault(soap);
+	if (soap->version == 2 && soap->fault->SOAP_ENV__Code)
+		return (const char**)&soap->fault->SOAP_ENV__Code->SOAP_ENV__Value;
+	return (const char**)&soap->fault->faultcode;
+}
+
+SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultsubcode(struct soap *soap)
+{
+	soap_fault(soap);
+	if (soap->version == 2)
+	{	if (!soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode)
+		{	soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode = (struct SOAP_ENV__Code*)soap_malloc(soap, sizeof(struct SOAP_ENV__Code));
+			soap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode);
+		}
+		return (const char**)&soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode->SOAP_ENV__Value;
+	}
+	return (const char**)&soap->fault->faultcode;
+}
+
+SOAP_FMAC3 const char * SOAP_FMAC4 soap_check_faultsubcode(struct soap *soap)
+{
+	soap_fault(soap);
+	if (soap->version == 2)
+	{	if (soap->fault->SOAP_ENV__Code && soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode && soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode)
+			return soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode->SOAP_ENV__Value;
+		return NULL;
+	}
+	return soap->fault->faultcode;
+}
+
+SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultstring(struct soap *soap)
+{
+	soap_fault(soap);
+	if (soap->version == 2)
+		return (const char**)&soap->fault->SOAP_ENV__Reason->SOAP_ENV__Text;
+	return (const char**)&soap->fault->faultstring;
+}
+
+SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultdetail(struct soap *soap)
+{
+	soap_fault(soap);
+	if (soap->version == 1)
+	{	if (!soap->fault->detail)
+		{	soap->fault->detail = (struct SOAP_ENV__Detail*)soap_malloc(soap, sizeof(struct SOAP_ENV__Detail));
+			soap_default_SOAP_ENV__Detail(soap, soap->fault->detail);
+		}
+		return (const char**)&soap->fault->detail->__any;
+	}
+	if (!soap->fault->SOAP_ENV__Detail)
+	{	soap->fault->SOAP_ENV__Detail = (struct SOAP_ENV__Detail*)soap_malloc(soap, sizeof(struct SOAP_ENV__Detail));
+		soap_default_SOAP_ENV__Detail(soap, soap->fault->SOAP_ENV__Detail);
+	}
+	return (const char**)&soap->fault->SOAP_ENV__Detail->__any;
+}
+
+SOAP_FMAC3 const char * SOAP_FMAC4 soap_check_faultdetail(struct soap *soap)
+{
+	soap_fault(soap);
+	if (soap->version == 2 && soap->fault->SOAP_ENV__Detail)
+		return soap->fault->SOAP_ENV__Detail->__any;
+	if (soap->fault->detail)
+		return soap->fault->detail->__any;
+	return NULL;
+}
+
+#endif
+
+#ifndef WITH_NOIDREF
+SOAP_FMAC3 int SOAP_FMAC4 soap_getindependent(struct soap *soap)
+{
+	int t;
+	if (soap->version == 1)
+	{	for (;;)
+		{	if (!soap_getelement(soap, &t))
+				if (soap->error || soap_ignore_element(soap))
+					break;
+		}
+	}
+	if (soap->error == SOAP_NO_TAG || soap->error == SOAP_EOF)
+		soap->error = SOAP_OK;
+	return soap->error;
+}
+#endif
+
+#ifndef WITH_NOIDREF
+SOAP_FMAC3 void * SOAP_FMAC4 soap_getelement(struct soap *soap, int *type)
+{	(void)type;
+	if (soap_peek_element(soap))
+		return NULL;
+	if (!*soap->id || !(*type = soap_lookup_type(soap, soap->id)))
+		*type = soap_lookup_type(soap, soap->href);
+	switch (*type)
+	{
+	case SOAP_TYPE_byte:
+		return soap_in_byte(soap, NULL, NULL, "xsd:byte");
+	case SOAP_TYPE_int:
+		return soap_in_int(soap, NULL, NULL, "xsd:int");
+	case SOAP_TYPE_float:
+		return soap_in_float(soap, NULL, NULL, "xsd:float");
+	case SOAP_TYPE_double:
+		return soap_in_double(soap, NULL, NULL, "xsd:double");
+	case SOAP_TYPE_ns1__hydropathy:
+		return soap_in_ns1__hydropathy(soap, NULL, NULL, "ns1:hydropathy");
+	case SOAP_TYPE_ns1__hydropathyResponse:
+		return soap_in_ns1__hydropathyResponse(soap, NULL, NULL, "ns1:hydropathyResponse");
+	case SOAP_TYPE_ns1__help:
+		return soap_in_ns1__help(soap, NULL, NULL, "ns1:help");
+	case SOAP_TYPE_ns1__helpResponse:
+		return soap_in_ns1__helpResponse(soap, NULL, NULL, "ns1:helpResponse");
+	case SOAP_TYPE_ns1__S_USCOREvalue:
+		return soap_in_ns1__S_USCOREvalue(soap, NULL, NULL, "ns1:S_value");
+	case SOAP_TYPE_ns1__S_USCOREvalueResponse:
+		return soap_in_ns1__S_USCOREvalueResponse(soap, NULL, NULL, "ns1:S_valueResponse");
+	case SOAP_TYPE_ns1__leading_USCOREstrand:
+		return soap_in_ns1__leading_USCOREstrand(soap, NULL, NULL, "ns1:leading_strand");
+	case SOAP_TYPE_ns1__leading_USCOREstrandResponse:
+		return soap_in_ns1__leading_USCOREstrandResponse(soap, NULL, NULL, "ns1:leading_strandResponse");
+	case SOAP_TYPE_ns1__scs:
+		return soap_in_ns1__scs(soap, NULL, NULL, "ns1:scs");
+	case SOAP_TYPE_ns1__scsResponse:
+		return soap_in_ns1__scsResponse(soap, NULL, NULL, "ns1:scsResponse");
+	case SOAP_TYPE_ns1__lda_USCOREbias:
+		return soap_in_ns1__lda_USCOREbias(soap, NULL, NULL, "ns1:lda_bias");
+	case SOAP_TYPE_ns1__lda_USCOREbiasResponse:
+		return soap_in_ns1__lda_USCOREbiasResponse(soap, NULL, NULL, "ns1:lda_biasResponse");
+	case SOAP_TYPE_ns1__kmer_USCOREtable:
+		return soap_in_ns1__kmer_USCOREtable(soap, NULL, NULL, "ns1:kmer_table");
+	case SOAP_TYPE_ns1__kmer_USCOREtableResponse:
+		return soap_in_ns1__kmer_USCOREtableResponse(soap, NULL, NULL, "ns1:kmer_tableResponse");
+	case SOAP_TYPE_ns1__base_USCOREz_USCOREvalue:
+		return soap_in_ns1__base_USCOREz_USCOREvalue(soap, NULL, NULL, "ns1:base_z_value");
+	case SOAP_TYPE_ns1__base_USCOREz_USCOREvalueResponse:
+		return soap_in_ns1__base_USCOREz_USCOREvalueResponse(soap, NULL, NULL, "ns1:base_z_valueResponse");
+	case SOAP_TYPE_ns1__base_USCOREcounter:
+		return soap_in_ns1__base_USCOREcounter(soap, NULL, NULL, "ns1:base_counter");
+	case SOAP_TYPE_ns1__base_USCOREcounterResponse:
+		return soap_in_ns1__base_USCOREcounterResponse(soap, NULL, NULL, "ns1:base_counterResponse");
+	case SOAP_TYPE_ns1__B2:
+		return soap_in_ns1__B2(soap, NULL, NULL, "ns1:B2");
+	case SOAP_TYPE_ns1__B2Response:
+		return soap_in_ns1__B2Response(soap, NULL, NULL, "ns1:B2Response");
+	case SOAP_TYPE_ns1__B1:
+		return soap_in_ns1__B1(soap, NULL, NULL, "ns1:B1");
+	case SOAP_TYPE_ns1__B1Response:
+		return soap_in_ns1__B1Response(soap, NULL, NULL, "ns1:B1Response");
+	case SOAP_TYPE_ns1__cgr:
+		return soap_in_ns1__cgr(soap, NULL, NULL, "ns1:cgr");
+	case SOAP_TYPE_ns1__cgrResponse:
+		return soap_in_ns1__cgrResponse(soap, NULL, NULL, "ns1:cgrResponse");
+	case SOAP_TYPE_ns1__dinuc:
+		return soap_in_ns1__dinuc(soap, NULL, NULL, "ns1:dinuc");
+	case SOAP_TYPE_ns1__dinucResponse:
+		return soap_in_ns1__dinucResponse(soap, NULL, NULL, "ns1:dinucResponse");
+	case SOAP_TYPE_ns1__least_USCOREsquares_USCOREfit:
+		return soap_in_ns1__least_USCOREsquares_USCOREfit(soap, NULL, NULL, "ns1:least_squares_fit");
+	case SOAP_TYPE_ns1__least_USCOREsquares_USCOREfitResponse:
+		return soap_in_ns1__least_USCOREsquares_USCOREfitResponse(soap, NULL, NULL, "ns1:least_squares_fitResponse");
+	case SOAP_TYPE_ns1__palindrome:
+		return soap_in_ns1__palindrome(soap, NULL, NULL, "ns1:palindrome");
+	case SOAP_TYPE_ns1__palindromeResponse:
+		return soap_in_ns1__palindromeResponse(soap, NULL, NULL, "ns1:palindromeResponse");
+	case SOAP_TYPE_ns1__entrez:
+		return soap_in_ns1__entrez(soap, NULL, NULL, "ns1:entrez");
+	case SOAP_TYPE_ns1__entrezResponse:
+		return soap_in_ns1__entrezResponse(soap, NULL, NULL, "ns1:entrezResponse");
+	case SOAP_TYPE_ns1__codon_USCOREcounter:
+		return soap_in_ns1__codon_USCOREcounter(soap, NULL, NULL, "ns1:codon_counter");
+	case SOAP_TYPE_ns1__codon_USCOREcounterResponse:
+		return soap_in_ns1__codon_USCOREcounterResponse(soap, NULL, NULL, "ns1:codon_counterResponse");
+	case SOAP_TYPE_ns1__mean:
+		return soap_in_ns1__mean(soap, NULL, NULL, "ns1:mean");
+	case SOAP_TYPE_ns1__meanResponse:
+		return soap_in_ns1__meanResponse(soap, NULL, NULL, "ns1:meanResponse");
+	case SOAP_TYPE_ns1__complement:
+		return soap_in_ns1__complement(soap, NULL, NULL, "ns1:complement");
+	case SOAP_TYPE_ns1__complementResponse:
+		return soap_in_ns1__complementResponse(soap, NULL, NULL, "ns1:complementResponse");
+	case SOAP_TYPE_ns1__find_USCOREiteron:
+		return soap_in_ns1__find_USCOREiteron(soap, NULL, NULL, "ns1:find_iteron");
+	case SOAP_TYPE_ns1__find_USCOREiteronResponse:
+		return soap_in_ns1__find_USCOREiteronResponse(soap, NULL, NULL, "ns1:find_iteronResponse");
+	case SOAP_TYPE_ns1__min:
+		return soap_in_ns1__min(soap, NULL, NULL, "ns1:min");
+	case SOAP_TYPE_ns1__minResponse:
+		return soap_in_ns1__minResponse(soap, NULL, NULL, "ns1:minResponse");
+	case SOAP_TYPE_ns1__codon_USCOREusage:
+		return soap_in_ns1__codon_USCOREusage(soap, NULL, NULL, "ns1:codon_usage");
+	case SOAP_TYPE_ns1__codon_USCOREusageResponse:
+		return soap_in_ns1__codon_USCOREusageResponse(soap, NULL, NULL, "ns1:codon_usageResponse");
+	case SOAP_TYPE_ns1__oligomer_USCOREcounter:
+		return soap_in_ns1__oligomer_USCOREcounter(soap, NULL, NULL, "ns1:oligomer_counter");
+	case SOAP_TYPE_ns1__oligomer_USCOREcounterResponse:
+		return soap_in_ns1__oligomer_USCOREcounterResponse(soap, NULL, NULL, "ns1:oligomer_counterResponse");
+	case SOAP_TYPE_ns1__gcwin:
+		return soap_in_ns1__gcwin(soap, NULL, NULL, "ns1:gcwin");
+	case SOAP_TYPE_ns1__gcwinResponse:
+		return soap_in_ns1__gcwinResponse(soap, NULL, NULL, "ns1:gcwinResponse");
+	case SOAP_TYPE_ns1__find_USCOREpattern:
+		return soap_in_ns1__find_USCOREpattern(soap, NULL, NULL, "ns1:find_pattern");
+	case SOAP_TYPE_ns1__find_USCOREpatternResponse:
+		return soap_in_ns1__find_USCOREpatternResponse(soap, NULL, NULL, "ns1:find_patternResponse");
+	case SOAP_TYPE_ns1__oligomer_USCOREsearch:
+		return soap_in_ns1__oligomer_USCOREsearch(soap, NULL, NULL, "ns1:oligomer_search");
+	case SOAP_TYPE_ns1__oligomer_USCOREsearchResponse:
+		return soap_in_ns1__oligomer_USCOREsearchResponse(soap, NULL, NULL, "ns1:oligomer_searchResponse");
+	case SOAP_TYPE_ns1__shuffleseq:
+		return soap_in_ns1__shuffleseq(soap, NULL, NULL, "ns1:shuffleseq");
+	case SOAP_TYPE_ns1__shuffleseqResponse:
+		return soap_in_ns1__shuffleseqResponse(soap, NULL, NULL, "ns1:shuffleseqResponse");
+	case SOAP_TYPE_ns1__find_USCOREter:
+		return soap_in_ns1__find_USCOREter(soap, NULL, NULL, "ns1:find_ter");
+	case SOAP_TYPE_ns1__find_USCOREterResponse:
+		return soap_in_ns1__find_USCOREterResponse(soap, NULL, NULL, "ns1:find_terResponse");
+	case SOAP_TYPE_ns1__dnawalk:
+		return soap_in_ns1__dnawalk(soap, NULL, NULL, "ns1:dnawalk");
+	case SOAP_TYPE_ns1__dnawalkResponse:
+		return soap_in_ns1__dnawalkResponse(soap, NULL, NULL, "ns1:dnawalkResponse");
+	case SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontent:
+		return soap_in_ns1__base_USCOREinformation_USCOREcontent(soap, NULL, NULL, "ns1:base_information_content");
+	case SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentResponse:
+		return soap_in_ns1__base_USCOREinformation_USCOREcontentResponse(soap, NULL, NULL, "ns1:base_information_contentResponse");
+	case SOAP_TYPE_ns1__signature:
+		return soap_in_ns1__signature(soap, NULL, NULL, "ns1:signature");
+	case SOAP_TYPE_ns1__signatureResponse:
+		return soap_in_ns1__signatureResponse(soap, NULL, NULL, "ns1:signatureResponse");
+	case SOAP_TYPE_ns1__seqinfo:
+		return soap_in_ns1__seqinfo(soap, NULL, NULL, "ns1:seqinfo");
+	case SOAP_TYPE_ns1__seqinfoResponse:
+		return soap_in_ns1__seqinfoResponse(soap, NULL, NULL, "ns1:seqinfoResponse");
+	case SOAP_TYPE_ns1__genome_USCOREmap3:
+		return soap_in_ns1__genome_USCOREmap3(soap, NULL, NULL, "ns1:genome_map3");
+	case SOAP_TYPE_ns1__genome_USCOREmap3Response:
+		return soap_in_ns1__genome_USCOREmap3Response(soap, NULL, NULL, "ns1:genome_map3Response");
+	case SOAP_TYPE_ns1__gcskew:
+		return soap_in_ns1__gcskew(soap, NULL, NULL, "ns1:gcskew");
+	case SOAP_TYPE_ns1__gcskewResponse:
+		return soap_in_ns1__gcskewResponse(soap, NULL, NULL, "ns1:gcskewResponse");
+	case SOAP_TYPE_ns1__molecular_USCOREweight:
+		return soap_in_ns1__molecular_USCOREweight(soap, NULL, NULL, "ns1:molecular_weight");
+	case SOAP_TYPE_ns1__molecular_USCOREweightResponse:
+		return soap_in_ns1__molecular_USCOREweightResponse(soap, NULL, NULL, "ns1:molecular_weightResponse");
+	case SOAP_TYPE_ns1__delta_USCOREgcskew:
+		return soap_in_ns1__delta_USCOREgcskew(soap, NULL, NULL, "ns1:delta_gcskew");
+	case SOAP_TYPE_ns1__delta_USCOREgcskewResponse:
+		return soap_in_ns1__delta_USCOREgcskewResponse(soap, NULL, NULL, "ns1:delta_gcskewResponse");
+	case SOAP_TYPE_ns1__delta_USCOREenc:
+		return soap_in_ns1__delta_USCOREenc(soap, NULL, NULL, "ns1:delta_enc");
+	case SOAP_TYPE_ns1__delta_USCOREencResponse:
+		return soap_in_ns1__delta_USCOREencResponse(soap, NULL, NULL, "ns1:delta_encResponse");
+	case SOAP_TYPE_ns1__cumulative:
+		return soap_in_ns1__cumulative(soap, NULL, NULL, "ns1:cumulative");
+	case SOAP_TYPE_ns1__cumulativeResponse:
+		return soap_in_ns1__cumulativeResponse(soap, NULL, NULL, "ns1:cumulativeResponse");
+	case SOAP_TYPE_ns1__cor:
+		return soap_in_ns1__cor(soap, NULL, NULL, "ns1:cor");
+	case SOAP_TYPE_ns1__corResponse:
+		return soap_in_ns1__corResponse(soap, NULL, NULL, "ns1:corResponse");
+	case SOAP_TYPE_ns1__standard_USCOREdeviation:
+		return soap_in_ns1__standard_USCOREdeviation(soap, NULL, NULL, "ns1:standard_deviation");
+	case SOAP_TYPE_ns1__standard_USCOREdeviationResponse:
+		return soap_in_ns1__standard_USCOREdeviationResponse(soap, NULL, NULL, "ns1:standard_deviationResponse");
+	case SOAP_TYPE_ns1__geneskew:
+		return soap_in_ns1__geneskew(soap, NULL, NULL, "ns1:geneskew");
+	case SOAP_TYPE_ns1__geneskewResponse:
+		return soap_in_ns1__geneskewResponse(soap, NULL, NULL, "ns1:geneskewResponse");
+	case SOAP_TYPE_ns1__genes_USCOREfrom_USCOREori:
+		return soap_in_ns1__genes_USCOREfrom_USCOREori(soap, NULL, NULL, "ns1:genes_from_ori");
+	case SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriResponse:
+		return soap_in_ns1__genes_USCOREfrom_USCOREoriResponse(soap, NULL, NULL, "ns1:genes_from_oriResponse");
+	case SOAP_TYPE_ns1__cbi:
+		return soap_in_ns1__cbi(soap, NULL, NULL, "ns1:cbi");
+	case SOAP_TYPE_ns1__cbiResponse:
+		return soap_in_ns1__cbiResponse(soap, NULL, NULL, "ns1:cbiResponse");
+	case SOAP_TYPE_ns1__find_USCOREdif:
+		return soap_in_ns1__find_USCOREdif(soap, NULL, NULL, "ns1:find_dif");
+	case SOAP_TYPE_ns1__find_USCOREdifResponse:
+		return soap_in_ns1__find_USCOREdifResponse(soap, NULL, NULL, "ns1:find_difResponse");
+	case SOAP_TYPE_ns1__to_USCOREfasta:
+		return soap_in_ns1__to_USCOREfasta(soap, NULL, NULL, "ns1:to_fasta");
+	case SOAP_TYPE_ns1__to_USCOREfastaResponse:
+		return soap_in_ns1__to_USCOREfastaResponse(soap, NULL, NULL, "ns1:to_fastaResponse");
+	case SOAP_TYPE_ns1__base_USCOREentropy:
+		return soap_in_ns1__base_USCOREentropy(soap, NULL, NULL, "ns1:base_entropy");
+	case SOAP_TYPE_ns1__base_USCOREentropyResponse:
+		return soap_in_ns1__base_USCOREentropyResponse(soap, NULL, NULL, "ns1:base_entropyResponse");
+	case SOAP_TYPE_ns1__DoubleHelix:
+		return soap_in_ns1__DoubleHelix(soap, NULL, NULL, "ns1:DoubleHelix");
+	case SOAP_TYPE_ns1__DoubleHelixResponse:
+		return soap_in_ns1__DoubleHelixResponse(soap, NULL, NULL, "ns1:DoubleHelixResponse");
+	case SOAP_TYPE_ns1__calc_USCOREpI:
+		return soap_in_ns1__calc_USCOREpI(soap, NULL, NULL, "ns1:calc_pI");
+	case SOAP_TYPE_ns1__calc_USCOREpIResponse:
+		return soap_in_ns1__calc_USCOREpIResponse(soap, NULL, NULL, "ns1:calc_pIResponse");
+	case SOAP_TYPE_ns1__rep_USCOREori_USCOREter:
+		return soap_in_ns1__rep_USCOREori_USCOREter(soap, NULL, NULL, "ns1:rep_ori_ter");
+	case SOAP_TYPE_ns1__rep_USCOREori_USCOREterResponse:
+		return soap_in_ns1__rep_USCOREori_USCOREterResponse(soap, NULL, NULL, "ns1:rep_ori_terResponse");
+	case SOAP_TYPE_ns1__longest_USCOREORF:
+		return soap_in_ns1__longest_USCOREORF(soap, NULL, NULL, "ns1:longest_ORF");
+	case SOAP_TYPE_ns1__longest_USCOREORFResponse:
+		return soap_in_ns1__longest_USCOREORFResponse(soap, NULL, NULL, "ns1:longest_ORFResponse");
+	case SOAP_TYPE_ns1__genome_USCOREmap:
+		return soap_in_ns1__genome_USCOREmap(soap, NULL, NULL, "ns1:genome_map");
+	case SOAP_TYPE_ns1__genome_USCOREmapResponse:
+		return soap_in_ns1__genome_USCOREmapResponse(soap, NULL, NULL, "ns1:genome_mapResponse");
+	case SOAP_TYPE_ns1__consensus_USCOREz:
+		return soap_in_ns1__consensus_USCOREz(soap, NULL, NULL, "ns1:consensus_z");
+	case SOAP_TYPE_ns1__consensus_USCOREzResponse:
+		return soap_in_ns1__consensus_USCOREzResponse(soap, NULL, NULL, "ns1:consensus_zResponse");
+	case SOAP_TYPE_ns1__mindex:
+		return soap_in_ns1__mindex(soap, NULL, NULL, "ns1:mindex");
+	case SOAP_TYPE_ns1__mindexResponse:
+		return soap_in_ns1__mindexResponse(soap, NULL, NULL, "ns1:mindexResponse");
+	case SOAP_TYPE_ns1__query_USCOREarm:
+		return soap_in_ns1__query_USCOREarm(soap, NULL, NULL, "ns1:query_arm");
+	case SOAP_TYPE_ns1__query_USCOREarmResponse:
+		return soap_in_ns1__query_USCOREarmResponse(soap, NULL, NULL, "ns1:query_armResponse");
+	case SOAP_TYPE_ns1__max:
+		return soap_in_ns1__max(soap, NULL, NULL, "ns1:max");
+	case SOAP_TYPE_ns1__maxResponse:
+		return soap_in_ns1__maxResponse(soap, NULL, NULL, "ns1:maxResponse");
+	case SOAP_TYPE_ns1__maxdex:
+		return soap_in_ns1__maxdex(soap, NULL, NULL, "ns1:maxdex");
+	case SOAP_TYPE_ns1__maxdexResponse:
+		return soap_in_ns1__maxdexResponse(soap, NULL, NULL, "ns1:maxdexResponse");
+	case SOAP_TYPE_ns1__cai:
+		return soap_in_ns1__cai(soap, NULL, NULL, "ns1:cai");
+	case SOAP_TYPE_ns1__caiResponse:
+		return soap_in_ns1__caiResponse(soap, NULL, NULL, "ns1:caiResponse");
+	case SOAP_TYPE_ns1__gcsi:
+		return soap_in_ns1__gcsi(soap, NULL, NULL, "ns1:gcsi");
+	case SOAP_TYPE_ns1__gcsiResponse:
+		return soap_in_ns1__gcsiResponse(soap, NULL, NULL, "ns1:gcsiResponse");
+	case SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatg:
+		return soap_in_ns1__filter_USCOREcds_USCOREby_USCOREatg(soap, NULL, NULL, "ns1:filter_cds_by_atg");
+	case SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse:
+		return soap_in_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, NULL, NULL, "ns1:filter_cds_by_atgResponse");
+	case SOAP_TYPE_ns1__genomicskew:
+		return soap_in_ns1__genomicskew(soap, NULL, NULL, "ns1:genomicskew");
+	case SOAP_TYPE_ns1__genomicskewResponse:
+		return soap_in_ns1__genomicskewResponse(soap, NULL, NULL, "ns1:genomicskewResponse");
+	case SOAP_TYPE_ns1__query_USCOREstrand:
+		return soap_in_ns1__query_USCOREstrand(soap, NULL, NULL, "ns1:query_strand");
+	case SOAP_TYPE_ns1__query_USCOREstrandResponse:
+		return soap_in_ns1__query_USCOREstrandResponse(soap, NULL, NULL, "ns1:query_strandResponse");
+	case SOAP_TYPE_ns1__view_USCOREcds:
+		return soap_in_ns1__view_USCOREcds(soap, NULL, NULL, "ns1:view_cds");
+	case SOAP_TYPE_ns1__view_USCOREcdsResponse:
+		return soap_in_ns1__view_USCOREcdsResponse(soap, NULL, NULL, "ns1:view_cdsResponse");
+	case SOAP_TYPE_ns1__base_USCORErelative_USCOREentropy:
+		return soap_in_ns1__base_USCORErelative_USCOREentropy(soap, NULL, NULL, "ns1:base_relative_entropy");
+	case SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyResponse:
+		return soap_in_ns1__base_USCORErelative_USCOREentropyResponse(soap, NULL, NULL, "ns1:base_relative_entropyResponse");
+	case SOAP_TYPE_ns1__Ew:
+		return soap_in_ns1__Ew(soap, NULL, NULL, "ns1:Ew");
+	case SOAP_TYPE_ns1__EwResponse:
+		return soap_in_ns1__EwResponse(soap, NULL, NULL, "ns1:EwResponse");
+	case SOAP_TYPE_ns1__over_USCORElapping_USCOREfinder:
+		return soap_in_ns1__over_USCORElapping_USCOREfinder(soap, NULL, NULL, "ns1:over_lapping_finder");
+	case SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderResponse:
+		return soap_in_ns1__over_USCORElapping_USCOREfinderResponse(soap, NULL, NULL, "ns1:over_lapping_finderResponse");
+	case SOAP_TYPE_ns1__codon_USCOREcompiler:
+		return soap_in_ns1__codon_USCOREcompiler(soap, NULL, NULL, "ns1:codon_compiler");
+	case SOAP_TYPE_ns1__codon_USCOREcompilerResponse:
+		return soap_in_ns1__codon_USCOREcompilerResponse(soap, NULL, NULL, "ns1:codon_compilerResponse");
+	case SOAP_TYPE_ns1__aaui:
+		return soap_in_ns1__aaui(soap, NULL, NULL, "ns1:aaui");
+	case SOAP_TYPE_ns1__aauiResponse:
+		return soap_in_ns1__aauiResponse(soap, NULL, NULL, "ns1:aauiResponse");
+	case SOAP_TYPE_ns1__amino_USCOREcounter:
+		return soap_in_ns1__amino_USCOREcounter(soap, NULL, NULL, "ns1:amino_counter");
+	case SOAP_TYPE_ns1__amino_USCOREcounterResponse:
+		return soap_in_ns1__amino_USCOREcounterResponse(soap, NULL, NULL, "ns1:amino_counterResponse");
+	case SOAP_TYPE_ns1__seq2png:
+		return soap_in_ns1__seq2png(soap, NULL, NULL, "ns1:seq2png");
+	case SOAP_TYPE_ns1__seq2pngResponse:
+		return soap_in_ns1__seq2pngResponse(soap, NULL, NULL, "ns1:seq2pngResponse");
+	case SOAP_TYPE_ns1__ttest:
+		return soap_in_ns1__ttest(soap, NULL, NULL, "ns1:ttest");
+	case SOAP_TYPE_ns1__ttestResponse:
+		return soap_in_ns1__ttestResponse(soap, NULL, NULL, "ns1:ttestResponse");
+	case SOAP_TYPE_ns1__find_USCOREdnaAbox:
+		return soap_in_ns1__find_USCOREdnaAbox(soap, NULL, NULL, "ns1:find_dnaAbox");
+	case SOAP_TYPE_ns1__find_USCOREdnaAboxResponse:
+		return soap_in_ns1__find_USCOREdnaAboxResponse(soap, NULL, NULL, "ns1:find_dnaAboxResponse");
+	case SOAP_TYPE_ns1__dist_USCOREin_USCOREcc:
+		return soap_in_ns1__dist_USCOREin_USCOREcc(soap, NULL, NULL, "ns1:dist_in_cc");
+	case SOAP_TYPE_ns1__dist_USCOREin_USCOREccResponse:
+		return soap_in_ns1__dist_USCOREin_USCOREccResponse(soap, NULL, NULL, "ns1:dist_in_ccResponse");
+	case SOAP_TYPE_ns1__bui:
+		return soap_in_ns1__bui(soap, NULL, NULL, "ns1:bui");
+	case SOAP_TYPE_ns1__buiResponse:
+		return soap_in_ns1__buiResponse(soap, NULL, NULL, "ns1:buiResponse");
+	case SOAP_TYPE_ns1__fop:
+		return soap_in_ns1__fop(soap, NULL, NULL, "ns1:fop");
+	case SOAP_TYPE_ns1__fopResponse:
+		return soap_in_ns1__fopResponse(soap, NULL, NULL, "ns1:fopResponse");
+	case SOAP_TYPE_ns1__enc:
+		return soap_in_ns1__enc(soap, NULL, NULL, "ns1:enc");
+	case SOAP_TYPE_ns1__encResponse:
+		return soap_in_ns1__encResponse(soap, NULL, NULL, "ns1:encResponse");
+	case SOAP_TYPE_ns1__icdi:
+		return soap_in_ns1__icdi(soap, NULL, NULL, "ns1:icdi");
+	case SOAP_TYPE_ns1__icdiResponse:
+		return soap_in_ns1__icdiResponse(soap, NULL, NULL, "ns1:icdiResponse");
+	case SOAP_TYPE_ns1__phx:
+		return soap_in_ns1__phx(soap, NULL, NULL, "ns1:phx");
+	case SOAP_TYPE_ns1__phxResponse:
+		return soap_in_ns1__phxResponse(soap, NULL, NULL, "ns1:phxResponse");
+	case SOAP_TYPE_ns1__translate:
+		return soap_in_ns1__translate(soap, NULL, NULL, "ns1:translate");
+	case SOAP_TYPE_ns1__translateResponse:
+		return soap_in_ns1__translateResponse(soap, NULL, NULL, "ns1:translateResponse");
+	case SOAP_TYPE_ns1__togoWS:
+		return soap_in_ns1__togoWS(soap, NULL, NULL, "ns1:togoWS");
+	case SOAP_TYPE_ns1__togoWSResponse:
+		return soap_in_ns1__togoWSResponse(soap, NULL, NULL, "ns1:togoWSResponse");
+	case SOAP_TYPE_ns1__circular_USCOREmap:
+		return soap_in_ns1__circular_USCOREmap(soap, NULL, NULL, "ns1:circular_map");
+	case SOAP_TYPE_ns1__circular_USCOREmapResponse:
+		return soap_in_ns1__circular_USCOREmapResponse(soap, NULL, NULL, "ns1:circular_mapResponse");
+	case SOAP_TYPE_ns1__amino_USCOREinfo:
+		return soap_in_ns1__amino_USCOREinfo(soap, NULL, NULL, "ns1:amino_info");
+	case SOAP_TYPE_ns1__amino_USCOREinfoResponse:
+		return soap_in_ns1__amino_USCOREinfoResponse(soap, NULL, NULL, "ns1:amino_infoResponse");
+	case SOAP_TYPE_ns1__variance:
+		return soap_in_ns1__variance(soap, NULL, NULL, "ns1:variance");
+	case SOAP_TYPE_ns1__varianceResponse:
+		return soap_in_ns1__varianceResponse(soap, NULL, NULL, "ns1:varianceResponse");
+	case SOAP_TYPE_ns1__nucleotide_USCOREperiodicity:
+		return soap_in_ns1__nucleotide_USCOREperiodicity(soap, NULL, NULL, "ns1:nucleotide_periodicity");
+	case SOAP_TYPE_ns1__nucleotide_USCOREperiodicityResponse:
+		return soap_in_ns1__nucleotide_USCOREperiodicityResponse(soap, NULL, NULL, "ns1:nucleotide_periodicityResponse");
+	case SOAP_TYPE_ns1__sum:
+		return soap_in_ns1__sum(soap, NULL, NULL, "ns1:sum");
+	case SOAP_TYPE_ns1__sumResponse:
+		return soap_in_ns1__sumResponse(soap, NULL, NULL, "ns1:sumResponse");
+	case SOAP_TYPE_ns1__plasmid_USCOREmap:
+		return soap_in_ns1__plasmid_USCOREmap(soap, NULL, NULL, "ns1:plasmid_map");
+	case SOAP_TYPE_ns1__plasmid_USCOREmapResponse:
+		return soap_in_ns1__plasmid_USCOREmapResponse(soap, NULL, NULL, "ns1:plasmid_mapResponse");
+	case SOAP_TYPE_ns1__find_USCOREori_USCOREter:
+		return soap_in_ns1__find_USCOREori_USCOREter(soap, NULL, NULL, "ns1:find_ori_ter");
+	case SOAP_TYPE_ns1__find_USCOREori_USCOREterResponse:
+		return soap_in_ns1__find_USCOREori_USCOREterResponse(soap, NULL, NULL, "ns1:find_ori_terResponse");
+	case SOAP_TYPE_ns1__median:
+		return soap_in_ns1__median(soap, NULL, NULL, "ns1:median");
+	case SOAP_TYPE_ns1__medianResponse:
+		return soap_in_ns1__medianResponse(soap, NULL, NULL, "ns1:medianResponse");
+	case SOAP_TYPE_ns1__splitprintseq:
+		return soap_in_ns1__splitprintseq(soap, NULL, NULL, "ns1:splitprintseq");
+	case SOAP_TYPE_ns1__splitprintseqResponse:
+		return soap_in_ns1__splitprintseqResponse(soap, NULL, NULL, "ns1:splitprintseqResponse");
+	case SOAP_TYPE_ns1__w_USCOREvalue:
+		return soap_in_ns1__w_USCOREvalue(soap, NULL, NULL, "ns1:w_value");
+	case SOAP_TYPE_ns1__w_USCOREvalueResponse:
+		return soap_in_ns1__w_USCOREvalueResponse(soap, NULL, NULL, "ns1:w_valueResponse");
+	case SOAP_TYPE_ns1__P2:
+		return soap_in_ns1__P2(soap, NULL, NULL, "ns1:P2");
+	case SOAP_TYPE_ns1__P2Response:
+		return soap_in_ns1__P2Response(soap, NULL, NULL, "ns1:P2Response");
+	case SOAP_TYPE_ns1__codon_USCOREmva:
+		return soap_in_ns1__codon_USCOREmva(soap, NULL, NULL, "ns1:codon_mva");
+	case SOAP_TYPE_ns1__codon_USCOREmvaResponse:
+		return soap_in_ns1__codon_USCOREmvaResponse(soap, NULL, NULL, "ns1:codon_mvaResponse");
+	case SOAP_TYPE_arrayOut:
+		return soap_in_arrayOut(soap, NULL, NULL, "xsd:string");
+	case SOAP_TYPE_arrayIn:
+		return soap_in_arrayIn(soap, NULL, NULL, "xsd:string");
+	case SOAP_TYPE_ns1__S_USCOREvalueInputParams:
+		return soap_in_ns1__S_USCOREvalueInputParams(soap, NULL, NULL, "ns1:S_valueInputParams");
+	case SOAP_TYPE_ns1__scsInputParams:
+		return soap_in_ns1__scsInputParams(soap, NULL, NULL, "ns1:scsInputParams");
+	case SOAP_TYPE_ns1__signatureInputParams:
+		return soap_in_ns1__signatureInputParams(soap, NULL, NULL, "ns1:signatureInputParams");
+	case SOAP_TYPE_ns1__lda_USCOREbiasInputParams:
+		return soap_in_ns1__lda_USCOREbiasInputParams(soap, NULL, NULL, "ns1:lda_biasInputParams");
+	case SOAP_TYPE_ns1__kmer_USCOREtableInputParams:
+		return soap_in_ns1__kmer_USCOREtableInputParams(soap, NULL, NULL, "ns1:kmer_tableInputParams");
+	case SOAP_TYPE_ns1__base_USCOREz_USCOREvalueInputParams:
+		return soap_in_ns1__base_USCOREz_USCOREvalueInputParams(soap, NULL, NULL, "ns1:base_z_valueInputParams");
+	case SOAP_TYPE_ns1__base_USCOREcounterInputParams:
+		return soap_in_ns1__base_USCOREcounterInputParams(soap, NULL, NULL, "ns1:base_counterInputParams");
+	case SOAP_TYPE_ns1__B1InputParams:
+		return soap_in_ns1__B1InputParams(soap, NULL, NULL, "ns1:B1InputParams");
+	case SOAP_TYPE_ns1__cgrInputParams:
+		return soap_in_ns1__cgrInputParams(soap, NULL, NULL, "ns1:cgrInputParams");
+	case SOAP_TYPE_ns1__dinucInputParams:
+		return soap_in_ns1__dinucInputParams(soap, NULL, NULL, "ns1:dinucInputParams");
+	case SOAP_TYPE_ns1__caiInputParams:
+		return soap_in_ns1__caiInputParams(soap, NULL, NULL, "ns1:caiInputParams");
+	case SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams:
+		return soap_in_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, NULL, NULL, "ns1:filter_cds_by_atgInputParams");
+	case SOAP_TYPE_ns1__gcsiInputParams:
+		return soap_in_ns1__gcsiInputParams(soap, NULL, NULL, "ns1:gcsiInputParams");
+	case SOAP_TYPE_ns1__query_USCOREstrandInputParams:
+		return soap_in_ns1__query_USCOREstrandInputParams(soap, NULL, NULL, "ns1:query_strandInputParams");
+	case SOAP_TYPE_ns1__genomicskewInputParams:
+		return soap_in_ns1__genomicskewInputParams(soap, NULL, NULL, "ns1:genomicskewInputParams");
+	case SOAP_TYPE_ns1__palindromeInputParams:
+		return soap_in_ns1__palindromeInputParams(soap, NULL, NULL, "ns1:palindromeInputParams");
+	case SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyInputParams:
+		return soap_in_ns1__base_USCORErelative_USCOREentropyInputParams(soap, NULL, NULL, "ns1:base_relative_entropyInputParams");
+	case SOAP_TYPE_ns1__view_USCOREcdsInputParams:
+		return soap_in_ns1__view_USCOREcdsInputParams(soap, NULL, NULL, "ns1:view_cdsInputParams");
+	case SOAP_TYPE_ns1__codon_USCOREcounterInputParams:
+		return soap_in_ns1__codon_USCOREcounterInputParams(soap, NULL, NULL, "ns1:codon_counterInputParams");
+	case SOAP_TYPE_ns1__EwInputParams:
+		return soap_in_ns1__EwInputParams(soap, NULL, NULL, "ns1:EwInputParams");
+	case SOAP_TYPE_ns1__find_USCOREiteronInputParams:
+		return soap_in_ns1__find_USCOREiteronInputParams(soap, NULL, NULL, "ns1:find_iteronInputParams");
+	case SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderInputParams:
+		return soap_in_ns1__over_USCORElapping_USCOREfinderInputParams(soap, NULL, NULL, "ns1:over_lapping_finderInputParams");
+	case SOAP_TYPE_ns1__codon_USCOREcompilerInputParams:
+		return soap_in_ns1__codon_USCOREcompilerInputParams(soap, NULL, NULL, "ns1:codon_compilerInputParams");
+	case SOAP_TYPE_ns1__aauiInputParams:
+		return soap_in_ns1__aauiInputParams(soap, NULL, NULL, "ns1:aauiInputParams");
+	case SOAP_TYPE_ns1__amino_USCOREcounterInputParams:
+		return soap_in_ns1__amino_USCOREcounterInputParams(soap, NULL, NULL, "ns1:amino_counterInputParams");
+	case SOAP_TYPE_ns1__seq2pngInputParams:
+		return soap_in_ns1__seq2pngInputParams(soap, NULL, NULL, "ns1:seq2pngInputParams");
+	case SOAP_TYPE_ns1__ttestInputParams:
+		return soap_in_ns1__ttestInputParams(soap, NULL, NULL, "ns1:ttestInputParams");
+	case SOAP_TYPE_ns1__find_USCOREdnaAboxInputParams:
+		return soap_in_ns1__find_USCOREdnaAboxInputParams(soap, NULL, NULL, "ns1:find_dnaAboxInputParams");
+	case SOAP_TYPE_ns1__codon_USCOREusageInputParams:
+		return soap_in_ns1__codon_USCOREusageInputParams(soap, NULL, NULL, "ns1:codon_usageInputParams");
+	case SOAP_TYPE_ns1__buiInputParams:
+		return soap_in_ns1__buiInputParams(soap, NULL, NULL, "ns1:buiInputParams");
+	case SOAP_TYPE_ns1__fopInputParams:
+		return soap_in_ns1__fopInputParams(soap, NULL, NULL, "ns1:fopInputParams");
+	case SOAP_TYPE_ns1__oligomer_USCOREcounterInputParams:
+		return soap_in_ns1__oligomer_USCOREcounterInputParams(soap, NULL, NULL, "ns1:oligomer_counterInputParams");
+	case SOAP_TYPE_ns1__encInputParams:
+		return soap_in_ns1__encInputParams(soap, NULL, NULL, "ns1:encInputParams");
+	case SOAP_TYPE_ns1__icdiInputParams:
+		return soap_in_ns1__icdiInputParams(soap, NULL, NULL, "ns1:icdiInputParams");
+	case SOAP_TYPE_ns1__gcwinInputParams:
+		return soap_in_ns1__gcwinInputParams(soap, NULL, NULL, "ns1:gcwinInputParams");
+	case SOAP_TYPE_ns1__find_USCOREpatternInputParams:
+		return soap_in_ns1__find_USCOREpatternInputParams(soap, NULL, NULL, "ns1:find_patternInputParams");
+	case SOAP_TYPE_ns1__oligomer_USCOREsearchInputParams:
+		return soap_in_ns1__oligomer_USCOREsearchInputParams(soap, NULL, NULL, "ns1:oligomer_searchInputParams");
+	case SOAP_TYPE_ns1__phxInputParams:
+		return soap_in_ns1__phxInputParams(soap, NULL, NULL, "ns1:phxInputParams");
+	case SOAP_TYPE_ns1__shuffleseqInputParams:
+		return soap_in_ns1__shuffleseqInputParams(soap, NULL, NULL, "ns1:shuffleseqInputParams");
+	case SOAP_TYPE_ns1__find_USCOREterInputParams:
+		return soap_in_ns1__find_USCOREterInputParams(soap, NULL, NULL, "ns1:find_terInputParams");
+	case SOAP_TYPE_ns1__dnawalkInputParams:
+		return soap_in_ns1__dnawalkInputParams(soap, NULL, NULL, "ns1:dnawalkInputParams");
+	case SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentInputParams:
+		return soap_in_ns1__base_USCOREinformation_USCOREcontentInputParams(soap, NULL, NULL, "ns1:base_information_contentInputParams");
+	case SOAP_TYPE_ns1__togoWSInputParams:
+		return soap_in_ns1__togoWSInputParams(soap, NULL, NULL, "ns1:togoWSInputParams");
+	case SOAP_TYPE_ns1__genome_USCOREmap3InputParams:
+		return soap_in_ns1__genome_USCOREmap3InputParams(soap, NULL, NULL, "ns1:genome_map3InputParams");
+	case SOAP_TYPE_ns1__gcskewInputParams:
+		return soap_in_ns1__gcskewInputParams(soap, NULL, NULL, "ns1:gcskewInputParams");
+	case SOAP_TYPE_ns1__circular_USCOREmapInputParams:
+		return soap_in_ns1__circular_USCOREmapInputParams(soap, NULL, NULL, "ns1:circular_mapInputParams");
+	case SOAP_TYPE_ns1__molecular_USCOREweightInputParams:
+		return soap_in_ns1__molecular_USCOREweightInputParams(soap, NULL, NULL, "ns1:molecular_weightInputParams");
+	case SOAP_TYPE_ns1__delta_USCOREgcskewInputParams:
+		return soap_in_ns1__delta_USCOREgcskewInputParams(soap, NULL, NULL, "ns1:delta_gcskewInputParams");
+	case SOAP_TYPE_ns1__corInputParams:
+		return soap_in_ns1__corInputParams(soap, NULL, NULL, "ns1:corInputParams");
+	case SOAP_TYPE_ns1__geneskewInputParams:
+		return soap_in_ns1__geneskewInputParams(soap, NULL, NULL, "ns1:geneskewInputParams");
+	case SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriInputParams:
+		return soap_in_ns1__genes_USCOREfrom_USCOREoriInputParams(soap, NULL, NULL, "ns1:genes_from_oriInputParams");
+	case SOAP_TYPE_ns1__cbiInputParams:
+		return soap_in_ns1__cbiInputParams(soap, NULL, NULL, "ns1:cbiInputParams");
+	case SOAP_TYPE_ns1__find_USCOREdifInputParams:
+		return soap_in_ns1__find_USCOREdifInputParams(soap, NULL, NULL, "ns1:find_difInputParams");
+	case SOAP_TYPE_ns1__to_USCOREfastaInputParams:
+		return soap_in_ns1__to_USCOREfastaInputParams(soap, NULL, NULL, "ns1:to_fastaInputParams");
+	case SOAP_TYPE_ns1__nucleotide_USCOREperiodicityInputParams:
+		return soap_in_ns1__nucleotide_USCOREperiodicityInputParams(soap, NULL, NULL, "ns1:nucleotide_periodicityInputParams");
+	case SOAP_TYPE_ns1__base_USCOREentropyInputParams:
+		return soap_in_ns1__base_USCOREentropyInputParams(soap, NULL, NULL, "ns1:base_entropyInputParams");
+	case SOAP_TYPE_ns1__plasmid_USCOREmapInputParams:
+		return soap_in_ns1__plasmid_USCOREmapInputParams(soap, NULL, NULL, "ns1:plasmid_mapInputParams");
+	case SOAP_TYPE_ns1__DoubleHelixInputParams:
+		return soap_in_ns1__DoubleHelixInputParams(soap, NULL, NULL, "ns1:DoubleHelixInputParams");
+	case SOAP_TYPE_ns1__rep_USCOREori_USCOREterInputParams:
+		return soap_in_ns1__rep_USCOREori_USCOREterInputParams(soap, NULL, NULL, "ns1:rep_ori_terInputParams");
+	case SOAP_TYPE_ns1__genome_USCOREmapInputParams:
+		return soap_in_ns1__genome_USCOREmapInputParams(soap, NULL, NULL, "ns1:genome_mapInputParams");
+	case SOAP_TYPE_ns1__consensus_USCOREzInputParams:
+		return soap_in_ns1__consensus_USCOREzInputParams(soap, NULL, NULL, "ns1:consensus_zInputParams");
+	case SOAP_TYPE_ns1__find_USCOREori_USCOREterInputParams:
+		return soap_in_ns1__find_USCOREori_USCOREterInputParams(soap, NULL, NULL, "ns1:find_ori_terInputParams");
+	case SOAP_TYPE_ns1__w_USCOREvalueInputParams:
+		return soap_in_ns1__w_USCOREvalueInputParams(soap, NULL, NULL, "ns1:w_valueInputParams");
+	case SOAP_TYPE_ns1__P2InputParams:
+		return soap_in_ns1__P2InputParams(soap, NULL, NULL, "ns1:P2InputParams");
+	case SOAP_TYPE_ns1__codon_USCOREmvaInputParams:
+		return soap_in_ns1__codon_USCOREmvaInputParams(soap, NULL, NULL, "ns1:codon_mvaInputParams");
+	case SOAP_TYPE_ns1__Definition:
+		return soap_in_ns1__Definition(soap, NULL, NULL, "ns1:Definition");
+	case SOAP_TYPE_PointerTofloat:
+		return soap_in_PointerTofloat(soap, NULL, NULL, "xsd:float");
+	case SOAP_TYPE_PointerTons1__S_USCOREvalueInputParams:
+		return soap_in_PointerTons1__S_USCOREvalueInputParams(soap, NULL, NULL, "ns1:S_valueInputParams");
+	case SOAP_TYPE_PointerTons1__leading_USCOREstrandResponse:
+		return soap_in_PointerTons1__leading_USCOREstrandResponse(soap, NULL, NULL, "ns1:leading_strandResponse");
+	case SOAP_TYPE_PointerTons1__scsInputParams:
+		return soap_in_PointerTons1__scsInputParams(soap, NULL, NULL, "ns1:scsInputParams");
+	case SOAP_TYPE_PointerTons1__lda_USCOREbiasInputParams:
+		return soap_in_PointerTons1__lda_USCOREbiasInputParams(soap, NULL, NULL, "ns1:lda_biasInputParams");
+	case SOAP_TYPE_PointerTons1__kmer_USCOREtableInputParams:
+		return soap_in_PointerTons1__kmer_USCOREtableInputParams(soap, NULL, NULL, "ns1:kmer_tableInputParams");
+	case SOAP_TYPE_PointerTons1__base_USCOREz_USCOREvalueInputParams:
+		return soap_in_PointerTons1__base_USCOREz_USCOREvalueInputParams(soap, NULL, NULL, "ns1:base_z_valueInputParams");
+	case SOAP_TYPE_PointerTons1__base_USCOREcounterInputParams:
+		return soap_in_PointerTons1__base_USCOREcounterInputParams(soap, NULL, NULL, "ns1:base_counterInputParams");
+	case SOAP_TYPE_PointerTons1__B1InputParams:
+		return soap_in_PointerTons1__B1InputParams(soap, NULL, NULL, "ns1:B1InputParams");
+	case SOAP_TYPE_PointerTons1__cgrInputParams:
+		return soap_in_PointerTons1__cgrInputParams(soap, NULL, NULL, "ns1:cgrInputParams");
+	case SOAP_TYPE_PointerTons1__dinucInputParams:
+		return soap_in_PointerTons1__dinucInputParams(soap, NULL, NULL, "ns1:dinucInputParams");
+	case SOAP_TYPE_PointerTons1__least_USCOREsquares_USCOREfitResponse:
+		return soap_in_PointerTons1__least_USCOREsquares_USCOREfitResponse(soap, NULL, NULL, "ns1:least_squares_fitResponse");
+	case SOAP_TYPE_PointerTons1__palindromeInputParams:
+		return soap_in_PointerTons1__palindromeInputParams(soap, NULL, NULL, "ns1:palindromeInputParams");
+	case SOAP_TYPE_PointerTons1__codon_USCOREcounterInputParams:
+		return soap_in_PointerTons1__codon_USCOREcounterInputParams(soap, NULL, NULL, "ns1:codon_counterInputParams");
+	case SOAP_TYPE_PointerTons1__find_USCOREiteronInputParams:
+		return soap_in_PointerTons1__find_USCOREiteronInputParams(soap, NULL, NULL, "ns1:find_iteronInputParams");
+	case SOAP_TYPE_PointerTons1__codon_USCOREusageInputParams:
+		return soap_in_PointerTons1__codon_USCOREusageInputParams(soap, NULL, NULL, "ns1:codon_usageInputParams");
+	case SOAP_TYPE_PointerTons1__oligomer_USCOREcounterInputParams:
+		return soap_in_PointerTons1__oligomer_USCOREcounterInputParams(soap, NULL, NULL, "ns1:oligomer_counterInputParams");
+	case SOAP_TYPE_PointerTons1__gcwinInputParams:
+		return soap_in_PointerTons1__gcwinInputParams(soap, NULL, NULL, "ns1:gcwinInputParams");
+	case SOAP_TYPE_PointerTons1__find_USCOREpatternInputParams:
+		return soap_in_PointerTons1__find_USCOREpatternInputParams(soap, NULL, NULL, "ns1:find_patternInputParams");
+	case SOAP_TYPE_PointerTons1__oligomer_USCOREsearchResponse:
+		return soap_in_PointerTons1__oligomer_USCOREsearchResponse(soap, NULL, NULL, "ns1:oligomer_searchResponse");
+	case SOAP_TYPE_PointerTons1__oligomer_USCOREsearchInputParams:
+		return soap_in_PointerTons1__oligomer_USCOREsearchInputParams(soap, NULL, NULL, "ns1:oligomer_searchInputParams");
+	case SOAP_TYPE_PointerTons1__shuffleseqInputParams:
+		return soap_in_PointerTons1__shuffleseqInputParams(soap, NULL, NULL, "ns1:shuffleseqInputParams");
+	case SOAP_TYPE_PointerTons1__find_USCOREterResponse:
+		return soap_in_PointerTons1__find_USCOREterResponse(soap, NULL, NULL, "ns1:find_terResponse");
+	case SOAP_TYPE_PointerTons1__find_USCOREterInputParams:
+		return soap_in_PointerTons1__find_USCOREterInputParams(soap, NULL, NULL, "ns1:find_terInputParams");
+	case SOAP_TYPE_PointerTons1__dnawalkInputParams:
+		return soap_in_PointerTons1__dnawalkInputParams(soap, NULL, NULL, "ns1:dnawalkInputParams");
+	case SOAP_TYPE_PointerTons1__base_USCOREinformation_USCOREcontentInputParams:
+		return soap_in_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(soap, NULL, NULL, "ns1:base_information_contentInputParams");
+	case SOAP_TYPE_PointerTons1__signatureInputParams:
+		return soap_in_PointerTons1__signatureInputParams(soap, NULL, NULL, "ns1:signatureInputParams");
+	case SOAP_TYPE_PointerTons1__genome_USCOREmap3InputParams:
+		return soap_in_PointerTons1__genome_USCOREmap3InputParams(soap, NULL, NULL, "ns1:genome_map3InputParams");
+	case SOAP_TYPE_PointerTons1__gcskewInputParams:
+		return soap_in_PointerTons1__gcskewInputParams(soap, NULL, NULL, "ns1:gcskewInputParams");
+	case SOAP_TYPE_PointerTons1__molecular_USCOREweightInputParams:
+		return soap_in_PointerTons1__molecular_USCOREweightInputParams(soap, NULL, NULL, "ns1:molecular_weightInputParams");
+	case SOAP_TYPE_PointerTons1__delta_USCOREgcskewInputParams:
+		return soap_in_PointerTons1__delta_USCOREgcskewInputParams(soap, NULL, NULL, "ns1:delta_gcskewInputParams");
+	case SOAP_TYPE_PointerTons1__cumulativeResponse:
+		return soap_in_PointerTons1__cumulativeResponse(soap, NULL, NULL, "ns1:cumulativeResponse");
+	case SOAP_TYPE_PointerTons1__corResponse:
+		return soap_in_PointerTons1__corResponse(soap, NULL, NULL, "ns1:corResponse");
+	case SOAP_TYPE_PointerTons1__corInputParams:
+		return soap_in_PointerTons1__corInputParams(soap, NULL, NULL, "ns1:corInputParams");
+	case SOAP_TYPE_PointerTons1__geneskewInputParams:
+		return soap_in_PointerTons1__geneskewInputParams(soap, NULL, NULL, "ns1:geneskewInputParams");
+	case SOAP_TYPE_PointerTons1__genes_USCOREfrom_USCOREoriResponse:
+		return soap_in_PointerTons1__genes_USCOREfrom_USCOREoriResponse(soap, NULL, NULL, "ns1:genes_from_oriResponse");
+	case SOAP_TYPE_PointerTons1__genes_USCOREfrom_USCOREoriInputParams:
+		return soap_in_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(soap, NULL, NULL, "ns1:genes_from_oriInputParams");
+	case SOAP_TYPE_PointerTons1__cbiInputParams:
+		return soap_in_PointerTons1__cbiInputParams(soap, NULL, NULL, "ns1:cbiInputParams");
+	case SOAP_TYPE_PointerTons1__find_USCOREdifResponse:
+		return soap_in_PointerTons1__find_USCOREdifResponse(soap, NULL, NULL, "ns1:find_difResponse");
+	case SOAP_TYPE_PointerTons1__find_USCOREdifInputParams:
+		return soap_in_PointerTons1__find_USCOREdifInputParams(soap, NULL, NULL, "ns1:find_difInputParams");
+	case SOAP_TYPE_PointerTons1__to_USCOREfastaInputParams:
+		return soap_in_PointerTons1__to_USCOREfastaInputParams(soap, NULL, NULL, "ns1:to_fastaInputParams");
+	case SOAP_TYPE_PointerTons1__base_USCOREentropyInputParams:
+		return soap_in_PointerTons1__base_USCOREentropyInputParams(soap, NULL, NULL, "ns1:base_entropyInputParams");
+	case SOAP_TYPE_PointerTons1__DoubleHelixInputParams:
+		return soap_in_PointerTons1__DoubleHelixInputParams(soap, NULL, NULL, "ns1:DoubleHelixInputParams");
+	case SOAP_TYPE_PointerTons1__rep_USCOREori_USCOREterInputParams:
+		return soap_in_PointerTons1__rep_USCOREori_USCOREterInputParams(soap, NULL, NULL, "ns1:rep_ori_terInputParams");
+	case SOAP_TYPE_PointerTons1__genome_USCOREmapInputParams:
+		return soap_in_PointerTons1__genome_USCOREmapInputParams(soap, NULL, NULL, "ns1:genome_mapInputParams");
+	case SOAP_TYPE_PointerTons1__consensus_USCOREzInputParams:
+		return soap_in_PointerTons1__consensus_USCOREzInputParams(soap, NULL, NULL, "ns1:consensus_zInputParams");
+	case SOAP_TYPE_PointerTons1__caiInputParams:
+		return soap_in_PointerTons1__caiInputParams(soap, NULL, NULL, "ns1:caiInputParams");
+	case SOAP_TYPE_PointerTons1__gcsiInputParams:
+		return soap_in_PointerTons1__gcsiInputParams(soap, NULL, NULL, "ns1:gcsiInputParams");
+	case SOAP_TYPE_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse:
+		return soap_in_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, NULL, NULL, "ns1:filter_cds_by_atgResponse");
+	case SOAP_TYPE_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams:
+		return soap_in_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, NULL, NULL, "ns1:filter_cds_by_atgInputParams");
+	case SOAP_TYPE_PointerTons1__genomicskewInputParams:
+		return soap_in_PointerTons1__genomicskewInputParams(soap, NULL, NULL, "ns1:genomicskewInputParams");
+	case SOAP_TYPE_PointerTons1__query_USCOREstrandInputParams:
+		return soap_in_PointerTons1__query_USCOREstrandInputParams(soap, NULL, NULL, "ns1:query_strandInputParams");
+	case SOAP_TYPE_PointerTons1__view_USCOREcdsInputParams:
+		return soap_in_PointerTons1__view_USCOREcdsInputParams(soap, NULL, NULL, "ns1:view_cdsInputParams");
+	case SOAP_TYPE_PointerTons1__base_USCORErelative_USCOREentropyInputParams:
+		return soap_in_PointerTons1__base_USCORErelative_USCOREentropyInputParams(soap, NULL, NULL, "ns1:base_relative_entropyInputParams");
+	case SOAP_TYPE_PointerTons1__EwInputParams:
+		return soap_in_PointerTons1__EwInputParams(soap, NULL, NULL, "ns1:EwInputParams");
+	case SOAP_TYPE_PointerTons1__over_USCORElapping_USCOREfinderInputParams:
+		return soap_in_PointerTons1__over_USCORElapping_USCOREfinderInputParams(soap, NULL, NULL, "ns1:over_lapping_finderInputParams");
+	case SOAP_TYPE_PointerTons1__codon_USCOREcompilerInputParams:
+		return soap_in_PointerTons1__codon_USCOREcompilerInputParams(soap, NULL, NULL, "ns1:codon_compilerInputParams");
+	case SOAP_TYPE_PointerTons1__aauiInputParams:
+		return soap_in_PointerTons1__aauiInputParams(soap, NULL, NULL, "ns1:aauiInputParams");
+	case SOAP_TYPE_PointerTons1__amino_USCOREcounterInputParams:
+		return soap_in_PointerTons1__amino_USCOREcounterInputParams(soap, NULL, NULL, "ns1:amino_counterInputParams");
+	case SOAP_TYPE_PointerTons1__seq2pngInputParams:
+		return soap_in_PointerTons1__seq2pngInputParams(soap, NULL, NULL, "ns1:seq2pngInputParams");
+	case SOAP_TYPE_PointerTons1__ttestResponse:
+		return soap_in_PointerTons1__ttestResponse(soap, NULL, NULL, "ns1:ttestResponse");
+	case SOAP_TYPE_PointerTons1__ttestInputParams:
+		return soap_in_PointerTons1__ttestInputParams(soap, NULL, NULL, "ns1:ttestInputParams");
+	case SOAP_TYPE_PointerToarrayOut:
+		return soap_in_PointerToarrayOut(soap, NULL, NULL, "xsd:string");
+	case SOAP_TYPE_PointerTons1__find_USCOREdnaAboxInputParams:
+		return soap_in_PointerTons1__find_USCOREdnaAboxInputParams(soap, NULL, NULL, "ns1:find_dnaAboxInputParams");
+	case SOAP_TYPE_PointerTons1__buiInputParams:
+		return soap_in_PointerTons1__buiInputParams(soap, NULL, NULL, "ns1:buiInputParams");
+	case SOAP_TYPE_PointerTons1__fopInputParams:
+		return soap_in_PointerTons1__fopInputParams(soap, NULL, NULL, "ns1:fopInputParams");
+	case SOAP_TYPE_PointerTons1__encInputParams:
+		return soap_in_PointerTons1__encInputParams(soap, NULL, NULL, "ns1:encInputParams");
+	case SOAP_TYPE_PointerTons1__icdiInputParams:
+		return soap_in_PointerTons1__icdiInputParams(soap, NULL, NULL, "ns1:icdiInputParams");
+	case SOAP_TYPE_PointerTons1__phxInputParams:
+		return soap_in_PointerTons1__phxInputParams(soap, NULL, NULL, "ns1:phxInputParams");
+	case SOAP_TYPE_PointerTons1__togoWSInputParams:
+		return soap_in_PointerTons1__togoWSInputParams(soap, NULL, NULL, "ns1:togoWSInputParams");
+	case SOAP_TYPE_PointerTons1__circular_USCOREmapInputParams:
+		return soap_in_PointerTons1__circular_USCOREmapInputParams(soap, NULL, NULL, "ns1:circular_mapInputParams");
+	case SOAP_TYPE_PointerTons1__nucleotide_USCOREperiodicityInputParams:
+		return soap_in_PointerTons1__nucleotide_USCOREperiodicityInputParams(soap, NULL, NULL, "ns1:nucleotide_periodicityInputParams");
+	case SOAP_TYPE_PointerTons1__plasmid_USCOREmapInputParams:
+		return soap_in_PointerTons1__plasmid_USCOREmapInputParams(soap, NULL, NULL, "ns1:plasmid_mapInputParams");
+	case SOAP_TYPE_PointerTons1__find_USCOREori_USCOREterInputParams:
+		return soap_in_PointerTons1__find_USCOREori_USCOREterInputParams(soap, NULL, NULL, "ns1:find_ori_terInputParams");
+	case SOAP_TYPE_PointerToarrayIn:
+		return soap_in_PointerToarrayIn(soap, NULL, NULL, "xsd:string");
+	case SOAP_TYPE_PointerTons1__w_USCOREvalueInputParams:
+		return soap_in_PointerTons1__w_USCOREvalueInputParams(soap, NULL, NULL, "ns1:w_valueInputParams");
+	case SOAP_TYPE_PointerTons1__P2InputParams:
+		return soap_in_PointerTons1__P2InputParams(soap, NULL, NULL, "ns1:P2InputParams");
+	case SOAP_TYPE_PointerTons1__codon_USCOREmvaInputParams:
+		return soap_in_PointerTons1__codon_USCOREmvaInputParams(soap, NULL, NULL, "ns1:codon_mvaInputParams");
+	case SOAP_TYPE_PointerTostring:
+		return soap_in_PointerTostring(soap, NULL, NULL, "xsd:string");
+	case SOAP_TYPE__QName:
+	{	char **s;
+		s = soap_in__QName(soap, NULL, NULL, "xsd:QName");
+		return s ? *s : NULL;
+	}
+	case SOAP_TYPE_string:
+	{	char **s;
+		s = soap_in_string(soap, NULL, NULL, "xsd:string");
+		return s ? *s : NULL;
+	}
+	default:
+	{	const char *t = soap->type;
+		if (!*t)
+			t = soap->tag;
+		if (!soap_match_tag(soap, t, "xsd:byte"))
+		{	*type = SOAP_TYPE_byte;
+			return soap_in_byte(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "xsd:int"))
+		{	*type = SOAP_TYPE_int;
+			return soap_in_int(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "xsd:float"))
+		{	*type = SOAP_TYPE_float;
+			return soap_in_float(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "xsd:double"))
+		{	*type = SOAP_TYPE_double;
+			return soap_in_double(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:hydropathy"))
+		{	*type = SOAP_TYPE_ns1__hydropathy;
+			return soap_in_ns1__hydropathy(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:hydropathyResponse"))
+		{	*type = SOAP_TYPE_ns1__hydropathyResponse;
+			return soap_in_ns1__hydropathyResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:help"))
+		{	*type = SOAP_TYPE_ns1__help;
+			return soap_in_ns1__help(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:helpResponse"))
+		{	*type = SOAP_TYPE_ns1__helpResponse;
+			return soap_in_ns1__helpResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:S_value"))
+		{	*type = SOAP_TYPE_ns1__S_USCOREvalue;
+			return soap_in_ns1__S_USCOREvalue(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:S_valueResponse"))
+		{	*type = SOAP_TYPE_ns1__S_USCOREvalueResponse;
+			return soap_in_ns1__S_USCOREvalueResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:leading_strand"))
+		{	*type = SOAP_TYPE_ns1__leading_USCOREstrand;
+			return soap_in_ns1__leading_USCOREstrand(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:leading_strandResponse"))
+		{	*type = SOAP_TYPE_ns1__leading_USCOREstrandResponse;
+			return soap_in_ns1__leading_USCOREstrandResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:scs"))
+		{	*type = SOAP_TYPE_ns1__scs;
+			return soap_in_ns1__scs(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:scsResponse"))
+		{	*type = SOAP_TYPE_ns1__scsResponse;
+			return soap_in_ns1__scsResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:lda_bias"))
+		{	*type = SOAP_TYPE_ns1__lda_USCOREbias;
+			return soap_in_ns1__lda_USCOREbias(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:lda_biasResponse"))
+		{	*type = SOAP_TYPE_ns1__lda_USCOREbiasResponse;
+			return soap_in_ns1__lda_USCOREbiasResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:kmer_table"))
+		{	*type = SOAP_TYPE_ns1__kmer_USCOREtable;
+			return soap_in_ns1__kmer_USCOREtable(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:kmer_tableResponse"))
+		{	*type = SOAP_TYPE_ns1__kmer_USCOREtableResponse;
+			return soap_in_ns1__kmer_USCOREtableResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:base_z_value"))
+		{	*type = SOAP_TYPE_ns1__base_USCOREz_USCOREvalue;
+			return soap_in_ns1__base_USCOREz_USCOREvalue(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:base_z_valueResponse"))
+		{	*type = SOAP_TYPE_ns1__base_USCOREz_USCOREvalueResponse;
+			return soap_in_ns1__base_USCOREz_USCOREvalueResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:base_counter"))
+		{	*type = SOAP_TYPE_ns1__base_USCOREcounter;
+			return soap_in_ns1__base_USCOREcounter(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:base_counterResponse"))
+		{	*type = SOAP_TYPE_ns1__base_USCOREcounterResponse;
+			return soap_in_ns1__base_USCOREcounterResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:B2"))
+		{	*type = SOAP_TYPE_ns1__B2;
+			return soap_in_ns1__B2(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:B2Response"))
+		{	*type = SOAP_TYPE_ns1__B2Response;
+			return soap_in_ns1__B2Response(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:B1"))
+		{	*type = SOAP_TYPE_ns1__B1;
+			return soap_in_ns1__B1(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:B1Response"))
+		{	*type = SOAP_TYPE_ns1__B1Response;
+			return soap_in_ns1__B1Response(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:cgr"))
+		{	*type = SOAP_TYPE_ns1__cgr;
+			return soap_in_ns1__cgr(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:cgrResponse"))
+		{	*type = SOAP_TYPE_ns1__cgrResponse;
+			return soap_in_ns1__cgrResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:dinuc"))
+		{	*type = SOAP_TYPE_ns1__dinuc;
+			return soap_in_ns1__dinuc(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:dinucResponse"))
+		{	*type = SOAP_TYPE_ns1__dinucResponse;
+			return soap_in_ns1__dinucResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:least_squares_fit"))
+		{	*type = SOAP_TYPE_ns1__least_USCOREsquares_USCOREfit;
+			return soap_in_ns1__least_USCOREsquares_USCOREfit(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:least_squares_fitResponse"))
+		{	*type = SOAP_TYPE_ns1__least_USCOREsquares_USCOREfitResponse;
+			return soap_in_ns1__least_USCOREsquares_USCOREfitResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:palindrome"))
+		{	*type = SOAP_TYPE_ns1__palindrome;
+			return soap_in_ns1__palindrome(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:palindromeResponse"))
+		{	*type = SOAP_TYPE_ns1__palindromeResponse;
+			return soap_in_ns1__palindromeResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:entrez"))
+		{	*type = SOAP_TYPE_ns1__entrez;
+			return soap_in_ns1__entrez(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:entrezResponse"))
+		{	*type = SOAP_TYPE_ns1__entrezResponse;
+			return soap_in_ns1__entrezResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:codon_counter"))
+		{	*type = SOAP_TYPE_ns1__codon_USCOREcounter;
+			return soap_in_ns1__codon_USCOREcounter(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:codon_counterResponse"))
+		{	*type = SOAP_TYPE_ns1__codon_USCOREcounterResponse;
+			return soap_in_ns1__codon_USCOREcounterResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:mean"))
+		{	*type = SOAP_TYPE_ns1__mean;
+			return soap_in_ns1__mean(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:meanResponse"))
+		{	*type = SOAP_TYPE_ns1__meanResponse;
+			return soap_in_ns1__meanResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:complement"))
+		{	*type = SOAP_TYPE_ns1__complement;
+			return soap_in_ns1__complement(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:complementResponse"))
+		{	*type = SOAP_TYPE_ns1__complementResponse;
+			return soap_in_ns1__complementResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:find_iteron"))
+		{	*type = SOAP_TYPE_ns1__find_USCOREiteron;
+			return soap_in_ns1__find_USCOREiteron(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:find_iteronResponse"))
+		{	*type = SOAP_TYPE_ns1__find_USCOREiteronResponse;
+			return soap_in_ns1__find_USCOREiteronResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:min"))
+		{	*type = SOAP_TYPE_ns1__min;
+			return soap_in_ns1__min(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:minResponse"))
+		{	*type = SOAP_TYPE_ns1__minResponse;
+			return soap_in_ns1__minResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:codon_usage"))
+		{	*type = SOAP_TYPE_ns1__codon_USCOREusage;
+			return soap_in_ns1__codon_USCOREusage(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:codon_usageResponse"))
+		{	*type = SOAP_TYPE_ns1__codon_USCOREusageResponse;
+			return soap_in_ns1__codon_USCOREusageResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:oligomer_counter"))
+		{	*type = SOAP_TYPE_ns1__oligomer_USCOREcounter;
+			return soap_in_ns1__oligomer_USCOREcounter(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:oligomer_counterResponse"))
+		{	*type = SOAP_TYPE_ns1__oligomer_USCOREcounterResponse;
+			return soap_in_ns1__oligomer_USCOREcounterResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:gcwin"))
+		{	*type = SOAP_TYPE_ns1__gcwin;
+			return soap_in_ns1__gcwin(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:gcwinResponse"))
+		{	*type = SOAP_TYPE_ns1__gcwinResponse;
+			return soap_in_ns1__gcwinResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:find_pattern"))
+		{	*type = SOAP_TYPE_ns1__find_USCOREpattern;
+			return soap_in_ns1__find_USCOREpattern(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:find_patternResponse"))
+		{	*type = SOAP_TYPE_ns1__find_USCOREpatternResponse;
+			return soap_in_ns1__find_USCOREpatternResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:oligomer_search"))
+		{	*type = SOAP_TYPE_ns1__oligomer_USCOREsearch;
+			return soap_in_ns1__oligomer_USCOREsearch(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:oligomer_searchResponse"))
+		{	*type = SOAP_TYPE_ns1__oligomer_USCOREsearchResponse;
+			return soap_in_ns1__oligomer_USCOREsearchResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:shuffleseq"))
+		{	*type = SOAP_TYPE_ns1__shuffleseq;
+			return soap_in_ns1__shuffleseq(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:shuffleseqResponse"))
+		{	*type = SOAP_TYPE_ns1__shuffleseqResponse;
+			return soap_in_ns1__shuffleseqResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:find_ter"))
+		{	*type = SOAP_TYPE_ns1__find_USCOREter;
+			return soap_in_ns1__find_USCOREter(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:find_terResponse"))
+		{	*type = SOAP_TYPE_ns1__find_USCOREterResponse;
+			return soap_in_ns1__find_USCOREterResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:dnawalk"))
+		{	*type = SOAP_TYPE_ns1__dnawalk;
+			return soap_in_ns1__dnawalk(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:dnawalkResponse"))
+		{	*type = SOAP_TYPE_ns1__dnawalkResponse;
+			return soap_in_ns1__dnawalkResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:base_information_content"))
+		{	*type = SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontent;
+			return soap_in_ns1__base_USCOREinformation_USCOREcontent(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:base_information_contentResponse"))
+		{	*type = SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentResponse;
+			return soap_in_ns1__base_USCOREinformation_USCOREcontentResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:signature"))
+		{	*type = SOAP_TYPE_ns1__signature;
+			return soap_in_ns1__signature(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:signatureResponse"))
+		{	*type = SOAP_TYPE_ns1__signatureResponse;
+			return soap_in_ns1__signatureResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:seqinfo"))
+		{	*type = SOAP_TYPE_ns1__seqinfo;
+			return soap_in_ns1__seqinfo(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:seqinfoResponse"))
+		{	*type = SOAP_TYPE_ns1__seqinfoResponse;
+			return soap_in_ns1__seqinfoResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:genome_map3"))
+		{	*type = SOAP_TYPE_ns1__genome_USCOREmap3;
+			return soap_in_ns1__genome_USCOREmap3(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:genome_map3Response"))
+		{	*type = SOAP_TYPE_ns1__genome_USCOREmap3Response;
+			return soap_in_ns1__genome_USCOREmap3Response(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:gcskew"))
+		{	*type = SOAP_TYPE_ns1__gcskew;
+			return soap_in_ns1__gcskew(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:gcskewResponse"))
+		{	*type = SOAP_TYPE_ns1__gcskewResponse;
+			return soap_in_ns1__gcskewResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:molecular_weight"))
+		{	*type = SOAP_TYPE_ns1__molecular_USCOREweight;
+			return soap_in_ns1__molecular_USCOREweight(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:molecular_weightResponse"))
+		{	*type = SOAP_TYPE_ns1__molecular_USCOREweightResponse;
+			return soap_in_ns1__molecular_USCOREweightResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:delta_gcskew"))
+		{	*type = SOAP_TYPE_ns1__delta_USCOREgcskew;
+			return soap_in_ns1__delta_USCOREgcskew(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:delta_gcskewResponse"))
+		{	*type = SOAP_TYPE_ns1__delta_USCOREgcskewResponse;
+			return soap_in_ns1__delta_USCOREgcskewResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:delta_enc"))
+		{	*type = SOAP_TYPE_ns1__delta_USCOREenc;
+			return soap_in_ns1__delta_USCOREenc(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:delta_encResponse"))
+		{	*type = SOAP_TYPE_ns1__delta_USCOREencResponse;
+			return soap_in_ns1__delta_USCOREencResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:cumulative"))
+		{	*type = SOAP_TYPE_ns1__cumulative;
+			return soap_in_ns1__cumulative(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:cumulativeResponse"))
+		{	*type = SOAP_TYPE_ns1__cumulativeResponse;
+			return soap_in_ns1__cumulativeResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:cor"))
+		{	*type = SOAP_TYPE_ns1__cor;
+			return soap_in_ns1__cor(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:corResponse"))
+		{	*type = SOAP_TYPE_ns1__corResponse;
+			return soap_in_ns1__corResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:standard_deviation"))
+		{	*type = SOAP_TYPE_ns1__standard_USCOREdeviation;
+			return soap_in_ns1__standard_USCOREdeviation(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:standard_deviationResponse"))
+		{	*type = SOAP_TYPE_ns1__standard_USCOREdeviationResponse;
+			return soap_in_ns1__standard_USCOREdeviationResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:geneskew"))
+		{	*type = SOAP_TYPE_ns1__geneskew;
+			return soap_in_ns1__geneskew(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:geneskewResponse"))
+		{	*type = SOAP_TYPE_ns1__geneskewResponse;
+			return soap_in_ns1__geneskewResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:genes_from_ori"))
+		{	*type = SOAP_TYPE_ns1__genes_USCOREfrom_USCOREori;
+			return soap_in_ns1__genes_USCOREfrom_USCOREori(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:genes_from_oriResponse"))
+		{	*type = SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriResponse;
+			return soap_in_ns1__genes_USCOREfrom_USCOREoriResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:cbi"))
+		{	*type = SOAP_TYPE_ns1__cbi;
+			return soap_in_ns1__cbi(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:cbiResponse"))
+		{	*type = SOAP_TYPE_ns1__cbiResponse;
+			return soap_in_ns1__cbiResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:find_dif"))
+		{	*type = SOAP_TYPE_ns1__find_USCOREdif;
+			return soap_in_ns1__find_USCOREdif(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:find_difResponse"))
+		{	*type = SOAP_TYPE_ns1__find_USCOREdifResponse;
+			return soap_in_ns1__find_USCOREdifResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:to_fasta"))
+		{	*type = SOAP_TYPE_ns1__to_USCOREfasta;
+			return soap_in_ns1__to_USCOREfasta(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:to_fastaResponse"))
+		{	*type = SOAP_TYPE_ns1__to_USCOREfastaResponse;
+			return soap_in_ns1__to_USCOREfastaResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:base_entropy"))
+		{	*type = SOAP_TYPE_ns1__base_USCOREentropy;
+			return soap_in_ns1__base_USCOREentropy(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:base_entropyResponse"))
+		{	*type = SOAP_TYPE_ns1__base_USCOREentropyResponse;
+			return soap_in_ns1__base_USCOREentropyResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:DoubleHelix"))
+		{	*type = SOAP_TYPE_ns1__DoubleHelix;
+			return soap_in_ns1__DoubleHelix(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:DoubleHelixResponse"))
+		{	*type = SOAP_TYPE_ns1__DoubleHelixResponse;
+			return soap_in_ns1__DoubleHelixResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:calc_pI"))
+		{	*type = SOAP_TYPE_ns1__calc_USCOREpI;
+			return soap_in_ns1__calc_USCOREpI(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:calc_pIResponse"))
+		{	*type = SOAP_TYPE_ns1__calc_USCOREpIResponse;
+			return soap_in_ns1__calc_USCOREpIResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:rep_ori_ter"))
+		{	*type = SOAP_TYPE_ns1__rep_USCOREori_USCOREter;
+			return soap_in_ns1__rep_USCOREori_USCOREter(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:rep_ori_terResponse"))
+		{	*type = SOAP_TYPE_ns1__rep_USCOREori_USCOREterResponse;
+			return soap_in_ns1__rep_USCOREori_USCOREterResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:longest_ORF"))
+		{	*type = SOAP_TYPE_ns1__longest_USCOREORF;
+			return soap_in_ns1__longest_USCOREORF(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:longest_ORFResponse"))
+		{	*type = SOAP_TYPE_ns1__longest_USCOREORFResponse;
+			return soap_in_ns1__longest_USCOREORFResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:genome_map"))
+		{	*type = SOAP_TYPE_ns1__genome_USCOREmap;
+			return soap_in_ns1__genome_USCOREmap(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:genome_mapResponse"))
+		{	*type = SOAP_TYPE_ns1__genome_USCOREmapResponse;
+			return soap_in_ns1__genome_USCOREmapResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:consensus_z"))
+		{	*type = SOAP_TYPE_ns1__consensus_USCOREz;
+			return soap_in_ns1__consensus_USCOREz(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:consensus_zResponse"))
+		{	*type = SOAP_TYPE_ns1__consensus_USCOREzResponse;
+			return soap_in_ns1__consensus_USCOREzResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:mindex"))
+		{	*type = SOAP_TYPE_ns1__mindex;
+			return soap_in_ns1__mindex(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:mindexResponse"))
+		{	*type = SOAP_TYPE_ns1__mindexResponse;
+			return soap_in_ns1__mindexResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:query_arm"))
+		{	*type = SOAP_TYPE_ns1__query_USCOREarm;
+			return soap_in_ns1__query_USCOREarm(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:query_armResponse"))
+		{	*type = SOAP_TYPE_ns1__query_USCOREarmResponse;
+			return soap_in_ns1__query_USCOREarmResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:max"))
+		{	*type = SOAP_TYPE_ns1__max;
+			return soap_in_ns1__max(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:maxResponse"))
+		{	*type = SOAP_TYPE_ns1__maxResponse;
+			return soap_in_ns1__maxResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:maxdex"))
+		{	*type = SOAP_TYPE_ns1__maxdex;
+			return soap_in_ns1__maxdex(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:maxdexResponse"))
+		{	*type = SOAP_TYPE_ns1__maxdexResponse;
+			return soap_in_ns1__maxdexResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:cai"))
+		{	*type = SOAP_TYPE_ns1__cai;
+			return soap_in_ns1__cai(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:caiResponse"))
+		{	*type = SOAP_TYPE_ns1__caiResponse;
+			return soap_in_ns1__caiResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:gcsi"))
+		{	*type = SOAP_TYPE_ns1__gcsi;
+			return soap_in_ns1__gcsi(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:gcsiResponse"))
+		{	*type = SOAP_TYPE_ns1__gcsiResponse;
+			return soap_in_ns1__gcsiResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:filter_cds_by_atg"))
+		{	*type = SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatg;
+			return soap_in_ns1__filter_USCOREcds_USCOREby_USCOREatg(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:filter_cds_by_atgResponse"))
+		{	*type = SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse;
+			return soap_in_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:genomicskew"))
+		{	*type = SOAP_TYPE_ns1__genomicskew;
+			return soap_in_ns1__genomicskew(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:genomicskewResponse"))
+		{	*type = SOAP_TYPE_ns1__genomicskewResponse;
+			return soap_in_ns1__genomicskewResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:query_strand"))
+		{	*type = SOAP_TYPE_ns1__query_USCOREstrand;
+			return soap_in_ns1__query_USCOREstrand(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:query_strandResponse"))
+		{	*type = SOAP_TYPE_ns1__query_USCOREstrandResponse;
+			return soap_in_ns1__query_USCOREstrandResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:view_cds"))
+		{	*type = SOAP_TYPE_ns1__view_USCOREcds;
+			return soap_in_ns1__view_USCOREcds(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:view_cdsResponse"))
+		{	*type = SOAP_TYPE_ns1__view_USCOREcdsResponse;
+			return soap_in_ns1__view_USCOREcdsResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:base_relative_entropy"))
+		{	*type = SOAP_TYPE_ns1__base_USCORErelative_USCOREentropy;
+			return soap_in_ns1__base_USCORErelative_USCOREentropy(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:base_relative_entropyResponse"))
+		{	*type = SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyResponse;
+			return soap_in_ns1__base_USCORErelative_USCOREentropyResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:Ew"))
+		{	*type = SOAP_TYPE_ns1__Ew;
+			return soap_in_ns1__Ew(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:EwResponse"))
+		{	*type = SOAP_TYPE_ns1__EwResponse;
+			return soap_in_ns1__EwResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:over_lapping_finder"))
+		{	*type = SOAP_TYPE_ns1__over_USCORElapping_USCOREfinder;
+			return soap_in_ns1__over_USCORElapping_USCOREfinder(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:over_lapping_finderResponse"))
+		{	*type = SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderResponse;
+			return soap_in_ns1__over_USCORElapping_USCOREfinderResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:codon_compiler"))
+		{	*type = SOAP_TYPE_ns1__codon_USCOREcompiler;
+			return soap_in_ns1__codon_USCOREcompiler(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:codon_compilerResponse"))
+		{	*type = SOAP_TYPE_ns1__codon_USCOREcompilerResponse;
+			return soap_in_ns1__codon_USCOREcompilerResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:aaui"))
+		{	*type = SOAP_TYPE_ns1__aaui;
+			return soap_in_ns1__aaui(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:aauiResponse"))
+		{	*type = SOAP_TYPE_ns1__aauiResponse;
+			return soap_in_ns1__aauiResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:amino_counter"))
+		{	*type = SOAP_TYPE_ns1__amino_USCOREcounter;
+			return soap_in_ns1__amino_USCOREcounter(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:amino_counterResponse"))
+		{	*type = SOAP_TYPE_ns1__amino_USCOREcounterResponse;
+			return soap_in_ns1__amino_USCOREcounterResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:seq2png"))
+		{	*type = SOAP_TYPE_ns1__seq2png;
+			return soap_in_ns1__seq2png(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:seq2pngResponse"))
+		{	*type = SOAP_TYPE_ns1__seq2pngResponse;
+			return soap_in_ns1__seq2pngResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:ttest"))
+		{	*type = SOAP_TYPE_ns1__ttest;
+			return soap_in_ns1__ttest(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:ttestResponse"))
+		{	*type = SOAP_TYPE_ns1__ttestResponse;
+			return soap_in_ns1__ttestResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:find_dnaAbox"))
+		{	*type = SOAP_TYPE_ns1__find_USCOREdnaAbox;
+			return soap_in_ns1__find_USCOREdnaAbox(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:find_dnaAboxResponse"))
+		{	*type = SOAP_TYPE_ns1__find_USCOREdnaAboxResponse;
+			return soap_in_ns1__find_USCOREdnaAboxResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:dist_in_cc"))
+		{	*type = SOAP_TYPE_ns1__dist_USCOREin_USCOREcc;
+			return soap_in_ns1__dist_USCOREin_USCOREcc(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:dist_in_ccResponse"))
+		{	*type = SOAP_TYPE_ns1__dist_USCOREin_USCOREccResponse;
+			return soap_in_ns1__dist_USCOREin_USCOREccResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:bui"))
+		{	*type = SOAP_TYPE_ns1__bui;
+			return soap_in_ns1__bui(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:buiResponse"))
+		{	*type = SOAP_TYPE_ns1__buiResponse;
+			return soap_in_ns1__buiResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:fop"))
+		{	*type = SOAP_TYPE_ns1__fop;
+			return soap_in_ns1__fop(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:fopResponse"))
+		{	*type = SOAP_TYPE_ns1__fopResponse;
+			return soap_in_ns1__fopResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:enc"))
+		{	*type = SOAP_TYPE_ns1__enc;
+			return soap_in_ns1__enc(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:encResponse"))
+		{	*type = SOAP_TYPE_ns1__encResponse;
+			return soap_in_ns1__encResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:icdi"))
+		{	*type = SOAP_TYPE_ns1__icdi;
+			return soap_in_ns1__icdi(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:icdiResponse"))
+		{	*type = SOAP_TYPE_ns1__icdiResponse;
+			return soap_in_ns1__icdiResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:phx"))
+		{	*type = SOAP_TYPE_ns1__phx;
+			return soap_in_ns1__phx(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:phxResponse"))
+		{	*type = SOAP_TYPE_ns1__phxResponse;
+			return soap_in_ns1__phxResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:translate"))
+		{	*type = SOAP_TYPE_ns1__translate;
+			return soap_in_ns1__translate(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:translateResponse"))
+		{	*type = SOAP_TYPE_ns1__translateResponse;
+			return soap_in_ns1__translateResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:togoWS"))
+		{	*type = SOAP_TYPE_ns1__togoWS;
+			return soap_in_ns1__togoWS(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:togoWSResponse"))
+		{	*type = SOAP_TYPE_ns1__togoWSResponse;
+			return soap_in_ns1__togoWSResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:circular_map"))
+		{	*type = SOAP_TYPE_ns1__circular_USCOREmap;
+			return soap_in_ns1__circular_USCOREmap(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:circular_mapResponse"))
+		{	*type = SOAP_TYPE_ns1__circular_USCOREmapResponse;
+			return soap_in_ns1__circular_USCOREmapResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:amino_info"))
+		{	*type = SOAP_TYPE_ns1__amino_USCOREinfo;
+			return soap_in_ns1__amino_USCOREinfo(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:amino_infoResponse"))
+		{	*type = SOAP_TYPE_ns1__amino_USCOREinfoResponse;
+			return soap_in_ns1__amino_USCOREinfoResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:variance"))
+		{	*type = SOAP_TYPE_ns1__variance;
+			return soap_in_ns1__variance(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:varianceResponse"))
+		{	*type = SOAP_TYPE_ns1__varianceResponse;
+			return soap_in_ns1__varianceResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:nucleotide_periodicity"))
+		{	*type = SOAP_TYPE_ns1__nucleotide_USCOREperiodicity;
+			return soap_in_ns1__nucleotide_USCOREperiodicity(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:nucleotide_periodicityResponse"))
+		{	*type = SOAP_TYPE_ns1__nucleotide_USCOREperiodicityResponse;
+			return soap_in_ns1__nucleotide_USCOREperiodicityResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:sum"))
+		{	*type = SOAP_TYPE_ns1__sum;
+			return soap_in_ns1__sum(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:sumResponse"))
+		{	*type = SOAP_TYPE_ns1__sumResponse;
+			return soap_in_ns1__sumResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:plasmid_map"))
+		{	*type = SOAP_TYPE_ns1__plasmid_USCOREmap;
+			return soap_in_ns1__plasmid_USCOREmap(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:plasmid_mapResponse"))
+		{	*type = SOAP_TYPE_ns1__plasmid_USCOREmapResponse;
+			return soap_in_ns1__plasmid_USCOREmapResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:find_ori_ter"))
+		{	*type = SOAP_TYPE_ns1__find_USCOREori_USCOREter;
+			return soap_in_ns1__find_USCOREori_USCOREter(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:find_ori_terResponse"))
+		{	*type = SOAP_TYPE_ns1__find_USCOREori_USCOREterResponse;
+			return soap_in_ns1__find_USCOREori_USCOREterResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:median"))
+		{	*type = SOAP_TYPE_ns1__median;
+			return soap_in_ns1__median(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:medianResponse"))
+		{	*type = SOAP_TYPE_ns1__medianResponse;
+			return soap_in_ns1__medianResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:splitprintseq"))
+		{	*type = SOAP_TYPE_ns1__splitprintseq;
+			return soap_in_ns1__splitprintseq(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:splitprintseqResponse"))
+		{	*type = SOAP_TYPE_ns1__splitprintseqResponse;
+			return soap_in_ns1__splitprintseqResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:w_value"))
+		{	*type = SOAP_TYPE_ns1__w_USCOREvalue;
+			return soap_in_ns1__w_USCOREvalue(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:w_valueResponse"))
+		{	*type = SOAP_TYPE_ns1__w_USCOREvalueResponse;
+			return soap_in_ns1__w_USCOREvalueResponse(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:P2"))
+		{	*type = SOAP_TYPE_ns1__P2;
+			return soap_in_ns1__P2(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:P2Response"))
+		{	*type = SOAP_TYPE_ns1__P2Response;
+			return soap_in_ns1__P2Response(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:codon_mva"))
+		{	*type = SOAP_TYPE_ns1__codon_USCOREmva;
+			return soap_in_ns1__codon_USCOREmva(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:codon_mvaResponse"))
+		{	*type = SOAP_TYPE_ns1__codon_USCOREmvaResponse;
+			return soap_in_ns1__codon_USCOREmvaResponse(soap, NULL, NULL, NULL);
+		}
+		if (*soap->arrayType && !soap_match_array(soap, "xsd:string"))
+		{	*type = SOAP_TYPE_arrayOut;
+			return soap_in_arrayOut(soap, NULL, NULL, NULL);
+		}
+		if (*soap->arrayType && !soap_match_array(soap, "xsd:string"))
+		{	*type = SOAP_TYPE_arrayIn;
+			return soap_in_arrayIn(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:S_valueInputParams"))
+		{	*type = SOAP_TYPE_ns1__S_USCOREvalueInputParams;
+			return soap_in_ns1__S_USCOREvalueInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:scsInputParams"))
+		{	*type = SOAP_TYPE_ns1__scsInputParams;
+			return soap_in_ns1__scsInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:signatureInputParams"))
+		{	*type = SOAP_TYPE_ns1__signatureInputParams;
+			return soap_in_ns1__signatureInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:lda_biasInputParams"))
+		{	*type = SOAP_TYPE_ns1__lda_USCOREbiasInputParams;
+			return soap_in_ns1__lda_USCOREbiasInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:kmer_tableInputParams"))
+		{	*type = SOAP_TYPE_ns1__kmer_USCOREtableInputParams;
+			return soap_in_ns1__kmer_USCOREtableInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:base_z_valueInputParams"))
+		{	*type = SOAP_TYPE_ns1__base_USCOREz_USCOREvalueInputParams;
+			return soap_in_ns1__base_USCOREz_USCOREvalueInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:base_counterInputParams"))
+		{	*type = SOAP_TYPE_ns1__base_USCOREcounterInputParams;
+			return soap_in_ns1__base_USCOREcounterInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:B1InputParams"))
+		{	*type = SOAP_TYPE_ns1__B1InputParams;
+			return soap_in_ns1__B1InputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:cgrInputParams"))
+		{	*type = SOAP_TYPE_ns1__cgrInputParams;
+			return soap_in_ns1__cgrInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:dinucInputParams"))
+		{	*type = SOAP_TYPE_ns1__dinucInputParams;
+			return soap_in_ns1__dinucInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:caiInputParams"))
+		{	*type = SOAP_TYPE_ns1__caiInputParams;
+			return soap_in_ns1__caiInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:filter_cds_by_atgInputParams"))
+		{	*type = SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams;
+			return soap_in_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:gcsiInputParams"))
+		{	*type = SOAP_TYPE_ns1__gcsiInputParams;
+			return soap_in_ns1__gcsiInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:query_strandInputParams"))
+		{	*type = SOAP_TYPE_ns1__query_USCOREstrandInputParams;
+			return soap_in_ns1__query_USCOREstrandInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:genomicskewInputParams"))
+		{	*type = SOAP_TYPE_ns1__genomicskewInputParams;
+			return soap_in_ns1__genomicskewInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:palindromeInputParams"))
+		{	*type = SOAP_TYPE_ns1__palindromeInputParams;
+			return soap_in_ns1__palindromeInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:base_relative_entropyInputParams"))
+		{	*type = SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyInputParams;
+			return soap_in_ns1__base_USCORErelative_USCOREentropyInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:view_cdsInputParams"))
+		{	*type = SOAP_TYPE_ns1__view_USCOREcdsInputParams;
+			return soap_in_ns1__view_USCOREcdsInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:codon_counterInputParams"))
+		{	*type = SOAP_TYPE_ns1__codon_USCOREcounterInputParams;
+			return soap_in_ns1__codon_USCOREcounterInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:EwInputParams"))
+		{	*type = SOAP_TYPE_ns1__EwInputParams;
+			return soap_in_ns1__EwInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:find_iteronInputParams"))
+		{	*type = SOAP_TYPE_ns1__find_USCOREiteronInputParams;
+			return soap_in_ns1__find_USCOREiteronInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:over_lapping_finderInputParams"))
+		{	*type = SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderInputParams;
+			return soap_in_ns1__over_USCORElapping_USCOREfinderInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:codon_compilerInputParams"))
+		{	*type = SOAP_TYPE_ns1__codon_USCOREcompilerInputParams;
+			return soap_in_ns1__codon_USCOREcompilerInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:aauiInputParams"))
+		{	*type = SOAP_TYPE_ns1__aauiInputParams;
+			return soap_in_ns1__aauiInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:amino_counterInputParams"))
+		{	*type = SOAP_TYPE_ns1__amino_USCOREcounterInputParams;
+			return soap_in_ns1__amino_USCOREcounterInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:seq2pngInputParams"))
+		{	*type = SOAP_TYPE_ns1__seq2pngInputParams;
+			return soap_in_ns1__seq2pngInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:ttestInputParams"))
+		{	*type = SOAP_TYPE_ns1__ttestInputParams;
+			return soap_in_ns1__ttestInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:find_dnaAboxInputParams"))
+		{	*type = SOAP_TYPE_ns1__find_USCOREdnaAboxInputParams;
+			return soap_in_ns1__find_USCOREdnaAboxInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:codon_usageInputParams"))
+		{	*type = SOAP_TYPE_ns1__codon_USCOREusageInputParams;
+			return soap_in_ns1__codon_USCOREusageInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:buiInputParams"))
+		{	*type = SOAP_TYPE_ns1__buiInputParams;
+			return soap_in_ns1__buiInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:fopInputParams"))
+		{	*type = SOAP_TYPE_ns1__fopInputParams;
+			return soap_in_ns1__fopInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:oligomer_counterInputParams"))
+		{	*type = SOAP_TYPE_ns1__oligomer_USCOREcounterInputParams;
+			return soap_in_ns1__oligomer_USCOREcounterInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:encInputParams"))
+		{	*type = SOAP_TYPE_ns1__encInputParams;
+			return soap_in_ns1__encInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:icdiInputParams"))
+		{	*type = SOAP_TYPE_ns1__icdiInputParams;
+			return soap_in_ns1__icdiInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:gcwinInputParams"))
+		{	*type = SOAP_TYPE_ns1__gcwinInputParams;
+			return soap_in_ns1__gcwinInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:find_patternInputParams"))
+		{	*type = SOAP_TYPE_ns1__find_USCOREpatternInputParams;
+			return soap_in_ns1__find_USCOREpatternInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:oligomer_searchInputParams"))
+		{	*type = SOAP_TYPE_ns1__oligomer_USCOREsearchInputParams;
+			return soap_in_ns1__oligomer_USCOREsearchInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:phxInputParams"))
+		{	*type = SOAP_TYPE_ns1__phxInputParams;
+			return soap_in_ns1__phxInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:shuffleseqInputParams"))
+		{	*type = SOAP_TYPE_ns1__shuffleseqInputParams;
+			return soap_in_ns1__shuffleseqInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:find_terInputParams"))
+		{	*type = SOAP_TYPE_ns1__find_USCOREterInputParams;
+			return soap_in_ns1__find_USCOREterInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:dnawalkInputParams"))
+		{	*type = SOAP_TYPE_ns1__dnawalkInputParams;
+			return soap_in_ns1__dnawalkInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:base_information_contentInputParams"))
+		{	*type = SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentInputParams;
+			return soap_in_ns1__base_USCOREinformation_USCOREcontentInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:togoWSInputParams"))
+		{	*type = SOAP_TYPE_ns1__togoWSInputParams;
+			return soap_in_ns1__togoWSInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:genome_map3InputParams"))
+		{	*type = SOAP_TYPE_ns1__genome_USCOREmap3InputParams;
+			return soap_in_ns1__genome_USCOREmap3InputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:gcskewInputParams"))
+		{	*type = SOAP_TYPE_ns1__gcskewInputParams;
+			return soap_in_ns1__gcskewInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:circular_mapInputParams"))
+		{	*type = SOAP_TYPE_ns1__circular_USCOREmapInputParams;
+			return soap_in_ns1__circular_USCOREmapInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:molecular_weightInputParams"))
+		{	*type = SOAP_TYPE_ns1__molecular_USCOREweightInputParams;
+			return soap_in_ns1__molecular_USCOREweightInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:delta_gcskewInputParams"))
+		{	*type = SOAP_TYPE_ns1__delta_USCOREgcskewInputParams;
+			return soap_in_ns1__delta_USCOREgcskewInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:corInputParams"))
+		{	*type = SOAP_TYPE_ns1__corInputParams;
+			return soap_in_ns1__corInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:geneskewInputParams"))
+		{	*type = SOAP_TYPE_ns1__geneskewInputParams;
+			return soap_in_ns1__geneskewInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:genes_from_oriInputParams"))
+		{	*type = SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriInputParams;
+			return soap_in_ns1__genes_USCOREfrom_USCOREoriInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:cbiInputParams"))
+		{	*type = SOAP_TYPE_ns1__cbiInputParams;
+			return soap_in_ns1__cbiInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:find_difInputParams"))
+		{	*type = SOAP_TYPE_ns1__find_USCOREdifInputParams;
+			return soap_in_ns1__find_USCOREdifInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:to_fastaInputParams"))
+		{	*type = SOAP_TYPE_ns1__to_USCOREfastaInputParams;
+			return soap_in_ns1__to_USCOREfastaInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:nucleotide_periodicityInputParams"))
+		{	*type = SOAP_TYPE_ns1__nucleotide_USCOREperiodicityInputParams;
+			return soap_in_ns1__nucleotide_USCOREperiodicityInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:base_entropyInputParams"))
+		{	*type = SOAP_TYPE_ns1__base_USCOREentropyInputParams;
+			return soap_in_ns1__base_USCOREentropyInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:plasmid_mapInputParams"))
+		{	*type = SOAP_TYPE_ns1__plasmid_USCOREmapInputParams;
+			return soap_in_ns1__plasmid_USCOREmapInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:DoubleHelixInputParams"))
+		{	*type = SOAP_TYPE_ns1__DoubleHelixInputParams;
+			return soap_in_ns1__DoubleHelixInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:rep_ori_terInputParams"))
+		{	*type = SOAP_TYPE_ns1__rep_USCOREori_USCOREterInputParams;
+			return soap_in_ns1__rep_USCOREori_USCOREterInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:genome_mapInputParams"))
+		{	*type = SOAP_TYPE_ns1__genome_USCOREmapInputParams;
+			return soap_in_ns1__genome_USCOREmapInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:consensus_zInputParams"))
+		{	*type = SOAP_TYPE_ns1__consensus_USCOREzInputParams;
+			return soap_in_ns1__consensus_USCOREzInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:find_ori_terInputParams"))
+		{	*type = SOAP_TYPE_ns1__find_USCOREori_USCOREterInputParams;
+			return soap_in_ns1__find_USCOREori_USCOREterInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:w_valueInputParams"))
+		{	*type = SOAP_TYPE_ns1__w_USCOREvalueInputParams;
+			return soap_in_ns1__w_USCOREvalueInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:P2InputParams"))
+		{	*type = SOAP_TYPE_ns1__P2InputParams;
+			return soap_in_ns1__P2InputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:codon_mvaInputParams"))
+		{	*type = SOAP_TYPE_ns1__codon_USCOREmvaInputParams;
+			return soap_in_ns1__codon_USCOREmvaInputParams(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "ns1:Definition"))
+		{	*type = SOAP_TYPE_ns1__Definition;
+			return soap_in_ns1__Definition(soap, NULL, NULL, NULL);
+		}
+		if (!soap_match_tag(soap, t, "xsd:QName"))
+		{	char **s;
+			*type = SOAP_TYPE__QName;
+			s = soap_in__QName(soap, NULL, NULL, NULL);
+			return s ? *s : NULL;
+		}
+		if (!soap_match_tag(soap, t, "xsd:string"))
+		{	char **s;
+			*type = SOAP_TYPE_string;
+			s = soap_in_string(soap, NULL, NULL, NULL);
+			return s ? *s : NULL;
+		}
+		t = soap->tag;
+	}
+	}
+	soap->error = SOAP_TAG_MISMATCH;
+	return NULL;
+}
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_ignore_element(struct soap *soap)
+{
+	if (!soap_peek_element(soap))
+	{	int t;
+		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unexpected element '%s' in input (level=%u, %d)\n", soap->tag, soap->level, soap->body));
+		if (soap->mustUnderstand && !soap->other)
+			return soap->error = SOAP_MUSTUNDERSTAND;
+		if (((soap->mode & SOAP_XML_STRICT) && soap->part != SOAP_IN_HEADER) || !soap_match_tag(soap, soap->tag, "SOAP-ENV:"))
+		{	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "REJECTING element '%s'\n", soap->tag));
+			return soap->error = SOAP_TAG_MISMATCH;
+		}
+		if (!*soap->id || !soap_getelement(soap, &t))
+		{	soap->peeked = 0;
+			if (soap->fignore)
+				soap->error = soap->fignore(soap, soap->tag);
+			else
+				soap->error = SOAP_OK;
+			DBGLOG(TEST, if (!soap->error) SOAP_MESSAGE(fdebug, "IGNORING element '%s'\n", soap->tag));
+			if (!soap->error && soap->body)
+			{	soap->level++;
+				while (!soap_ignore_element(soap))
+					;
+				if (soap->error == SOAP_NO_TAG)
+					soap->error = soap_element_end_in(soap, NULL);
+			}
+		}
+	}
+	return soap->error;
+}
+
+#ifndef WITH_NOIDREF
+SOAP_FMAC3 int SOAP_FMAC4 soap_putindependent(struct soap *soap)
+{
+	int i;
+	struct soap_plist *pp;
+	if (soap->version == 1 && soap->encodingStyle && !(soap->mode & (SOAP_XML_TREE | SOAP_XML_GRAPH)))
+		for (i = 0; i < SOAP_PTRHASH; i++)
+			for (pp = soap->pht[i]; pp; pp = pp->next)
+				if (pp->mark1 == 2 || pp->mark2 == 2)
+					if (soap_putelement(soap, pp->ptr, "id", pp->id, pp->type))
+						return soap->error;
+	return SOAP_OK;
+}
+#endif
+
+#ifndef WITH_NOIDREF
+SOAP_FMAC3 int SOAP_FMAC4 soap_putelement(struct soap *soap, const void *ptr, const char *tag, int id, int type)
+{	(void)tag;
+	switch (type)
+	{
+	case SOAP_TYPE_byte:
+		return soap_out_byte(soap, tag, id, (const char *)ptr, "xsd:byte");
+	case SOAP_TYPE_int:
+		return soap_out_int(soap, tag, id, (const int *)ptr, "xsd:int");
+	case SOAP_TYPE_float:
+		return soap_out_float(soap, tag, id, (const float *)ptr, "xsd:float");
+	case SOAP_TYPE_double:
+		return soap_out_double(soap, tag, id, (const double *)ptr, "xsd:double");
+	case SOAP_TYPE_ns1__hydropathy:
+		return soap_out_ns1__hydropathy(soap, tag, id, (const struct ns1__hydropathy *)ptr, "ns1:hydropathy");
+	case SOAP_TYPE_ns1__hydropathyResponse:
+		return soap_out_ns1__hydropathyResponse(soap, tag, id, (const struct ns1__hydropathyResponse *)ptr, "ns1:hydropathyResponse");
+	case SOAP_TYPE_ns1__help:
+		return soap_out_ns1__help(soap, tag, id, (const struct ns1__help *)ptr, "ns1:help");
+	case SOAP_TYPE_ns1__helpResponse:
+		return soap_out_ns1__helpResponse(soap, tag, id, (const struct ns1__helpResponse *)ptr, "ns1:helpResponse");
+	case SOAP_TYPE_ns1__S_USCOREvalue:
+		return soap_out_ns1__S_USCOREvalue(soap, tag, id, (const struct ns1__S_USCOREvalue *)ptr, "ns1:S_value");
+	case SOAP_TYPE_ns1__S_USCOREvalueResponse:
+		return soap_out_ns1__S_USCOREvalueResponse(soap, tag, id, (const struct ns1__S_USCOREvalueResponse *)ptr, "ns1:S_valueResponse");
+	case SOAP_TYPE_ns1__leading_USCOREstrand:
+		return soap_out_ns1__leading_USCOREstrand(soap, tag, id, (const struct ns1__leading_USCOREstrand *)ptr, "ns1:leading_strand");
+	case SOAP_TYPE_ns1__leading_USCOREstrandResponse:
+		return soap_out_ns1__leading_USCOREstrandResponse(soap, tag, id, (const struct ns1__leading_USCOREstrandResponse *)ptr, "ns1:leading_strandResponse");
+	case SOAP_TYPE_ns1__scs:
+		return soap_out_ns1__scs(soap, tag, id, (const struct ns1__scs *)ptr, "ns1:scs");
+	case SOAP_TYPE_ns1__scsResponse:
+		return soap_out_ns1__scsResponse(soap, tag, id, (const struct ns1__scsResponse *)ptr, "ns1:scsResponse");
+	case SOAP_TYPE_ns1__lda_USCOREbias:
+		return soap_out_ns1__lda_USCOREbias(soap, tag, id, (const struct ns1__lda_USCOREbias *)ptr, "ns1:lda_bias");
+	case SOAP_TYPE_ns1__lda_USCOREbiasResponse:
+		return soap_out_ns1__lda_USCOREbiasResponse(soap, tag, id, (const struct ns1__lda_USCOREbiasResponse *)ptr, "ns1:lda_biasResponse");
+	case SOAP_TYPE_ns1__kmer_USCOREtable:
+		return soap_out_ns1__kmer_USCOREtable(soap, tag, id, (const struct ns1__kmer_USCOREtable *)ptr, "ns1:kmer_table");
+	case SOAP_TYPE_ns1__kmer_USCOREtableResponse:
+		return soap_out_ns1__kmer_USCOREtableResponse(soap, tag, id, (const struct ns1__kmer_USCOREtableResponse *)ptr, "ns1:kmer_tableResponse");
+	case SOAP_TYPE_ns1__base_USCOREz_USCOREvalue:
+		return soap_out_ns1__base_USCOREz_USCOREvalue(soap, tag, id, (const struct ns1__base_USCOREz_USCOREvalue *)ptr, "ns1:base_z_value");
+	case SOAP_TYPE_ns1__base_USCOREz_USCOREvalueResponse:
+		return soap_out_ns1__base_USCOREz_USCOREvalueResponse(soap, tag, id, (const struct ns1__base_USCOREz_USCOREvalueResponse *)ptr, "ns1:base_z_valueResponse");
+	case SOAP_TYPE_ns1__base_USCOREcounter:
+		return soap_out_ns1__base_USCOREcounter(soap, tag, id, (const struct ns1__base_USCOREcounter *)ptr, "ns1:base_counter");
+	case SOAP_TYPE_ns1__base_USCOREcounterResponse:
+		return soap_out_ns1__base_USCOREcounterResponse(soap, tag, id, (const struct ns1__base_USCOREcounterResponse *)ptr, "ns1:base_counterResponse");
+	case SOAP_TYPE_ns1__B2:
+		return soap_out_ns1__B2(soap, tag, id, (const struct ns1__B2 *)ptr, "ns1:B2");
+	case SOAP_TYPE_ns1__B2Response:
+		return soap_out_ns1__B2Response(soap, tag, id, (const struct ns1__B2Response *)ptr, "ns1:B2Response");
+	case SOAP_TYPE_ns1__B1:
+		return soap_out_ns1__B1(soap, tag, id, (const struct ns1__B1 *)ptr, "ns1:B1");
+	case SOAP_TYPE_ns1__B1Response:
+		return soap_out_ns1__B1Response(soap, tag, id, (const struct ns1__B1Response *)ptr, "ns1:B1Response");
+	case SOAP_TYPE_ns1__cgr:
+		return soap_out_ns1__cgr(soap, tag, id, (const struct ns1__cgr *)ptr, "ns1:cgr");
+	case SOAP_TYPE_ns1__cgrResponse:
+		return soap_out_ns1__cgrResponse(soap, tag, id, (const struct ns1__cgrResponse *)ptr, "ns1:cgrResponse");
+	case SOAP_TYPE_ns1__dinuc:
+		return soap_out_ns1__dinuc(soap, tag, id, (const struct ns1__dinuc *)ptr, "ns1:dinuc");
+	case SOAP_TYPE_ns1__dinucResponse:
+		return soap_out_ns1__dinucResponse(soap, tag, id, (const struct ns1__dinucResponse *)ptr, "ns1:dinucResponse");
+	case SOAP_TYPE_ns1__least_USCOREsquares_USCOREfit:
+		return soap_out_ns1__least_USCOREsquares_USCOREfit(soap, tag, id, (const struct ns1__least_USCOREsquares_USCOREfit *)ptr, "ns1:least_squares_fit");
+	case SOAP_TYPE_ns1__least_USCOREsquares_USCOREfitResponse:
+		return soap_out_ns1__least_USCOREsquares_USCOREfitResponse(soap, tag, id, (const struct ns1__least_USCOREsquares_USCOREfitResponse *)ptr, "ns1:least_squares_fitResponse");
+	case SOAP_TYPE_ns1__palindrome:
+		return soap_out_ns1__palindrome(soap, tag, id, (const struct ns1__palindrome *)ptr, "ns1:palindrome");
+	case SOAP_TYPE_ns1__palindromeResponse:
+		return soap_out_ns1__palindromeResponse(soap, tag, id, (const struct ns1__palindromeResponse *)ptr, "ns1:palindromeResponse");
+	case SOAP_TYPE_ns1__entrez:
+		return soap_out_ns1__entrez(soap, tag, id, (const struct ns1__entrez *)ptr, "ns1:entrez");
+	case SOAP_TYPE_ns1__entrezResponse:
+		return soap_out_ns1__entrezResponse(soap, tag, id, (const struct ns1__entrezResponse *)ptr, "ns1:entrezResponse");
+	case SOAP_TYPE_ns1__codon_USCOREcounter:
+		return soap_out_ns1__codon_USCOREcounter(soap, tag, id, (const struct ns1__codon_USCOREcounter *)ptr, "ns1:codon_counter");
+	case SOAP_TYPE_ns1__codon_USCOREcounterResponse:
+		return soap_out_ns1__codon_USCOREcounterResponse(soap, tag, id, (const struct ns1__codon_USCOREcounterResponse *)ptr, "ns1:codon_counterResponse");
+	case SOAP_TYPE_ns1__mean:
+		return soap_out_ns1__mean(soap, tag, id, (const struct ns1__mean *)ptr, "ns1:mean");
+	case SOAP_TYPE_ns1__meanResponse:
+		return soap_out_ns1__meanResponse(soap, tag, id, (const struct ns1__meanResponse *)ptr, "ns1:meanResponse");
+	case SOAP_TYPE_ns1__complement:
+		return soap_out_ns1__complement(soap, tag, id, (const struct ns1__complement *)ptr, "ns1:complement");
+	case SOAP_TYPE_ns1__complementResponse:
+		return soap_out_ns1__complementResponse(soap, tag, id, (const struct ns1__complementResponse *)ptr, "ns1:complementResponse");
+	case SOAP_TYPE_ns1__find_USCOREiteron:
+		return soap_out_ns1__find_USCOREiteron(soap, tag, id, (const struct ns1__find_USCOREiteron *)ptr, "ns1:find_iteron");
+	case SOAP_TYPE_ns1__find_USCOREiteronResponse:
+		return soap_out_ns1__find_USCOREiteronResponse(soap, tag, id, (const struct ns1__find_USCOREiteronResponse *)ptr, "ns1:find_iteronResponse");
+	case SOAP_TYPE_ns1__min:
+		return soap_out_ns1__min(soap, tag, id, (const struct ns1__min *)ptr, "ns1:min");
+	case SOAP_TYPE_ns1__minResponse:
+		return soap_out_ns1__minResponse(soap, tag, id, (const struct ns1__minResponse *)ptr, "ns1:minResponse");
+	case SOAP_TYPE_ns1__codon_USCOREusage:
+		return soap_out_ns1__codon_USCOREusage(soap, tag, id, (const struct ns1__codon_USCOREusage *)ptr, "ns1:codon_usage");
+	case SOAP_TYPE_ns1__codon_USCOREusageResponse:
+		return soap_out_ns1__codon_USCOREusageResponse(soap, tag, id, (const struct ns1__codon_USCOREusageResponse *)ptr, "ns1:codon_usageResponse");
+	case SOAP_TYPE_ns1__oligomer_USCOREcounter:
+		return soap_out_ns1__oligomer_USCOREcounter(soap, tag, id, (const struct ns1__oligomer_USCOREcounter *)ptr, "ns1:oligomer_counter");
+	case SOAP_TYPE_ns1__oligomer_USCOREcounterResponse:
+		return soap_out_ns1__oligomer_USCOREcounterResponse(soap, tag, id, (const struct ns1__oligomer_USCOREcounterResponse *)ptr, "ns1:oligomer_counterResponse");
+	case SOAP_TYPE_ns1__gcwin:
+		return soap_out_ns1__gcwin(soap, tag, id, (const struct ns1__gcwin *)ptr, "ns1:gcwin");
+	case SOAP_TYPE_ns1__gcwinResponse:
+		return soap_out_ns1__gcwinResponse(soap, tag, id, (const struct ns1__gcwinResponse *)ptr, "ns1:gcwinResponse");
+	case SOAP_TYPE_ns1__find_USCOREpattern:
+		return soap_out_ns1__find_USCOREpattern(soap, tag, id, (const struct ns1__find_USCOREpattern *)ptr, "ns1:find_pattern");
+	case SOAP_TYPE_ns1__find_USCOREpatternResponse:
+		return soap_out_ns1__find_USCOREpatternResponse(soap, tag, id, (const struct ns1__find_USCOREpatternResponse *)ptr, "ns1:find_patternResponse");
+	case SOAP_TYPE_ns1__oligomer_USCOREsearch:
+		return soap_out_ns1__oligomer_USCOREsearch(soap, tag, id, (const struct ns1__oligomer_USCOREsearch *)ptr, "ns1:oligomer_search");
+	case SOAP_TYPE_ns1__oligomer_USCOREsearchResponse:
+		return soap_out_ns1__oligomer_USCOREsearchResponse(soap, tag, id, (const struct ns1__oligomer_USCOREsearchResponse *)ptr, "ns1:oligomer_searchResponse");
+	case SOAP_TYPE_ns1__shuffleseq:
+		return soap_out_ns1__shuffleseq(soap, tag, id, (const struct ns1__shuffleseq *)ptr, "ns1:shuffleseq");
+	case SOAP_TYPE_ns1__shuffleseqResponse:
+		return soap_out_ns1__shuffleseqResponse(soap, tag, id, (const struct ns1__shuffleseqResponse *)ptr, "ns1:shuffleseqResponse");
+	case SOAP_TYPE_ns1__find_USCOREter:
+		return soap_out_ns1__find_USCOREter(soap, tag, id, (const struct ns1__find_USCOREter *)ptr, "ns1:find_ter");
+	case SOAP_TYPE_ns1__find_USCOREterResponse:
+		return soap_out_ns1__find_USCOREterResponse(soap, tag, id, (const struct ns1__find_USCOREterResponse *)ptr, "ns1:find_terResponse");
+	case SOAP_TYPE_ns1__dnawalk:
+		return soap_out_ns1__dnawalk(soap, tag, id, (const struct ns1__dnawalk *)ptr, "ns1:dnawalk");
+	case SOAP_TYPE_ns1__dnawalkResponse:
+		return soap_out_ns1__dnawalkResponse(soap, tag, id, (const struct ns1__dnawalkResponse *)ptr, "ns1:dnawalkResponse");
+	case SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontent:
+		return soap_out_ns1__base_USCOREinformation_USCOREcontent(soap, tag, id, (const struct ns1__base_USCOREinformation_USCOREcontent *)ptr, "ns1:base_information_content");
+	case SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentResponse:
+		return soap_out_ns1__base_USCOREinformation_USCOREcontentResponse(soap, tag, id, (const struct ns1__base_USCOREinformation_USCOREcontentResponse *)ptr, "ns1:base_information_contentResponse");
+	case SOAP_TYPE_ns1__signature:
+		return soap_out_ns1__signature(soap, tag, id, (const struct ns1__signature *)ptr, "ns1:signature");
+	case SOAP_TYPE_ns1__signatureResponse:
+		return soap_out_ns1__signatureResponse(soap, tag, id, (const struct ns1__signatureResponse *)ptr, "ns1:signatureResponse");
+	case SOAP_TYPE_ns1__seqinfo:
+		return soap_out_ns1__seqinfo(soap, tag, id, (const struct ns1__seqinfo *)ptr, "ns1:seqinfo");
+	case SOAP_TYPE_ns1__seqinfoResponse:
+		return soap_out_ns1__seqinfoResponse(soap, tag, id, (const struct ns1__seqinfoResponse *)ptr, "ns1:seqinfoResponse");
+	case SOAP_TYPE_ns1__genome_USCOREmap3:
+		return soap_out_ns1__genome_USCOREmap3(soap, tag, id, (const struct ns1__genome_USCOREmap3 *)ptr, "ns1:genome_map3");
+	case SOAP_TYPE_ns1__genome_USCOREmap3Response:
+		return soap_out_ns1__genome_USCOREmap3Response(soap, tag, id, (const struct ns1__genome_USCOREmap3Response *)ptr, "ns1:genome_map3Response");
+	case SOAP_TYPE_ns1__gcskew:
+		return soap_out_ns1__gcskew(soap, tag, id, (const struct ns1__gcskew *)ptr, "ns1:gcskew");
+	case SOAP_TYPE_ns1__gcskewResponse:
+		return soap_out_ns1__gcskewResponse(soap, tag, id, (const struct ns1__gcskewResponse *)ptr, "ns1:gcskewResponse");
+	case SOAP_TYPE_ns1__molecular_USCOREweight:
+		return soap_out_ns1__molecular_USCOREweight(soap, tag, id, (const struct ns1__molecular_USCOREweight *)ptr, "ns1:molecular_weight");
+	case SOAP_TYPE_ns1__molecular_USCOREweightResponse:
+		return soap_out_ns1__molecular_USCOREweightResponse(soap, tag, id, (const struct ns1__molecular_USCOREweightResponse *)ptr, "ns1:molecular_weightResponse");
+	case SOAP_TYPE_ns1__delta_USCOREgcskew:
+		return soap_out_ns1__delta_USCOREgcskew(soap, tag, id, (const struct ns1__delta_USCOREgcskew *)ptr, "ns1:delta_gcskew");
+	case SOAP_TYPE_ns1__delta_USCOREgcskewResponse:
+		return soap_out_ns1__delta_USCOREgcskewResponse(soap, tag, id, (const struct ns1__delta_USCOREgcskewResponse *)ptr, "ns1:delta_gcskewResponse");
+	case SOAP_TYPE_ns1__delta_USCOREenc:
+		return soap_out_ns1__delta_USCOREenc(soap, tag, id, (const struct ns1__delta_USCOREenc *)ptr, "ns1:delta_enc");
+	case SOAP_TYPE_ns1__delta_USCOREencResponse:
+		return soap_out_ns1__delta_USCOREencResponse(soap, tag, id, (const struct ns1__delta_USCOREencResponse *)ptr, "ns1:delta_encResponse");
+	case SOAP_TYPE_ns1__cumulative:
+		return soap_out_ns1__cumulative(soap, tag, id, (const struct ns1__cumulative *)ptr, "ns1:cumulative");
+	case SOAP_TYPE_ns1__cumulativeResponse:
+		return soap_out_ns1__cumulativeResponse(soap, tag, id, (const struct ns1__cumulativeResponse *)ptr, "ns1:cumulativeResponse");
+	case SOAP_TYPE_ns1__cor:
+		return soap_out_ns1__cor(soap, tag, id, (const struct ns1__cor *)ptr, "ns1:cor");
+	case SOAP_TYPE_ns1__corResponse:
+		return soap_out_ns1__corResponse(soap, tag, id, (const struct ns1__corResponse *)ptr, "ns1:corResponse");
+	case SOAP_TYPE_ns1__standard_USCOREdeviation:
+		return soap_out_ns1__standard_USCOREdeviation(soap, tag, id, (const struct ns1__standard_USCOREdeviation *)ptr, "ns1:standard_deviation");
+	case SOAP_TYPE_ns1__standard_USCOREdeviationResponse:
+		return soap_out_ns1__standard_USCOREdeviationResponse(soap, tag, id, (const struct ns1__standard_USCOREdeviationResponse *)ptr, "ns1:standard_deviationResponse");
+	case SOAP_TYPE_ns1__geneskew:
+		return soap_out_ns1__geneskew(soap, tag, id, (const struct ns1__geneskew *)ptr, "ns1:geneskew");
+	case SOAP_TYPE_ns1__geneskewResponse:
+		return soap_out_ns1__geneskewResponse(soap, tag, id, (const struct ns1__geneskewResponse *)ptr, "ns1:geneskewResponse");
+	case SOAP_TYPE_ns1__genes_USCOREfrom_USCOREori:
+		return soap_out_ns1__genes_USCOREfrom_USCOREori(soap, tag, id, (const struct ns1__genes_USCOREfrom_USCOREori *)ptr, "ns1:genes_from_ori");
+	case SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriResponse:
+		return soap_out_ns1__genes_USCOREfrom_USCOREoriResponse(soap, tag, id, (const struct ns1__genes_USCOREfrom_USCOREoriResponse *)ptr, "ns1:genes_from_oriResponse");
+	case SOAP_TYPE_ns1__cbi:
+		return soap_out_ns1__cbi(soap, tag, id, (const struct ns1__cbi *)ptr, "ns1:cbi");
+	case SOAP_TYPE_ns1__cbiResponse:
+		return soap_out_ns1__cbiResponse(soap, tag, id, (const struct ns1__cbiResponse *)ptr, "ns1:cbiResponse");
+	case SOAP_TYPE_ns1__find_USCOREdif:
+		return soap_out_ns1__find_USCOREdif(soap, tag, id, (const struct ns1__find_USCOREdif *)ptr, "ns1:find_dif");
+	case SOAP_TYPE_ns1__find_USCOREdifResponse:
+		return soap_out_ns1__find_USCOREdifResponse(soap, tag, id, (const struct ns1__find_USCOREdifResponse *)ptr, "ns1:find_difResponse");
+	case SOAP_TYPE_ns1__to_USCOREfasta:
+		return soap_out_ns1__to_USCOREfasta(soap, tag, id, (const struct ns1__to_USCOREfasta *)ptr, "ns1:to_fasta");
+	case SOAP_TYPE_ns1__to_USCOREfastaResponse:
+		return soap_out_ns1__to_USCOREfastaResponse(soap, tag, id, (const struct ns1__to_USCOREfastaResponse *)ptr, "ns1:to_fastaResponse");
+	case SOAP_TYPE_ns1__base_USCOREentropy:
+		return soap_out_ns1__base_USCOREentropy(soap, tag, id, (const struct ns1__base_USCOREentropy *)ptr, "ns1:base_entropy");
+	case SOAP_TYPE_ns1__base_USCOREentropyResponse:
+		return soap_out_ns1__base_USCOREentropyResponse(soap, tag, id, (const struct ns1__base_USCOREentropyResponse *)ptr, "ns1:base_entropyResponse");
+	case SOAP_TYPE_ns1__DoubleHelix:
+		return soap_out_ns1__DoubleHelix(soap, tag, id, (const struct ns1__DoubleHelix *)ptr, "ns1:DoubleHelix");
+	case SOAP_TYPE_ns1__DoubleHelixResponse:
+		return soap_out_ns1__DoubleHelixResponse(soap, tag, id, (const struct ns1__DoubleHelixResponse *)ptr, "ns1:DoubleHelixResponse");
+	case SOAP_TYPE_ns1__calc_USCOREpI:
+		return soap_out_ns1__calc_USCOREpI(soap, tag, id, (const struct ns1__calc_USCOREpI *)ptr, "ns1:calc_pI");
+	case SOAP_TYPE_ns1__calc_USCOREpIResponse:
+		return soap_out_ns1__calc_USCOREpIResponse(soap, tag, id, (const struct ns1__calc_USCOREpIResponse *)ptr, "ns1:calc_pIResponse");
+	case SOAP_TYPE_ns1__rep_USCOREori_USCOREter:
+		return soap_out_ns1__rep_USCOREori_USCOREter(soap, tag, id, (const struct ns1__rep_USCOREori_USCOREter *)ptr, "ns1:rep_ori_ter");
+	case SOAP_TYPE_ns1__rep_USCOREori_USCOREterResponse:
+		return soap_out_ns1__rep_USCOREori_USCOREterResponse(soap, tag, id, (const struct ns1__rep_USCOREori_USCOREterResponse *)ptr, "ns1:rep_ori_terResponse");
+	case SOAP_TYPE_ns1__longest_USCOREORF:
+		return soap_out_ns1__longest_USCOREORF(soap, tag, id, (const struct ns1__longest_USCOREORF *)ptr, "ns1:longest_ORF");
+	case SOAP_TYPE_ns1__longest_USCOREORFResponse:
+		return soap_out_ns1__longest_USCOREORFResponse(soap, tag, id, (const struct ns1__longest_USCOREORFResponse *)ptr, "ns1:longest_ORFResponse");
+	case SOAP_TYPE_ns1__genome_USCOREmap:
+		return soap_out_ns1__genome_USCOREmap(soap, tag, id, (const struct ns1__genome_USCOREmap *)ptr, "ns1:genome_map");
+	case SOAP_TYPE_ns1__genome_USCOREmapResponse:
+		return soap_out_ns1__genome_USCOREmapResponse(soap, tag, id, (const struct ns1__genome_USCOREmapResponse *)ptr, "ns1:genome_mapResponse");
+	case SOAP_TYPE_ns1__consensus_USCOREz:
+		return soap_out_ns1__consensus_USCOREz(soap, tag, id, (const struct ns1__consensus_USCOREz *)ptr, "ns1:consensus_z");
+	case SOAP_TYPE_ns1__consensus_USCOREzResponse:
+		return soap_out_ns1__consensus_USCOREzResponse(soap, tag, id, (const struct ns1__consensus_USCOREzResponse *)ptr, "ns1:consensus_zResponse");
+	case SOAP_TYPE_ns1__mindex:
+		return soap_out_ns1__mindex(soap, tag, id, (const struct ns1__mindex *)ptr, "ns1:mindex");
+	case SOAP_TYPE_ns1__mindexResponse:
+		return soap_out_ns1__mindexResponse(soap, tag, id, (const struct ns1__mindexResponse *)ptr, "ns1:mindexResponse");
+	case SOAP_TYPE_ns1__query_USCOREarm:
+		return soap_out_ns1__query_USCOREarm(soap, tag, id, (const struct ns1__query_USCOREarm *)ptr, "ns1:query_arm");
+	case SOAP_TYPE_ns1__query_USCOREarmResponse:
+		return soap_out_ns1__query_USCOREarmResponse(soap, tag, id, (const struct ns1__query_USCOREarmResponse *)ptr, "ns1:query_armResponse");
+	case SOAP_TYPE_ns1__max:
+		return soap_out_ns1__max(soap, tag, id, (const struct ns1__max *)ptr, "ns1:max");
+	case SOAP_TYPE_ns1__maxResponse:
+		return soap_out_ns1__maxResponse(soap, tag, id, (const struct ns1__maxResponse *)ptr, "ns1:maxResponse");
+	case SOAP_TYPE_ns1__maxdex:
+		return soap_out_ns1__maxdex(soap, tag, id, (const struct ns1__maxdex *)ptr, "ns1:maxdex");
+	case SOAP_TYPE_ns1__maxdexResponse:
+		return soap_out_ns1__maxdexResponse(soap, tag, id, (const struct ns1__maxdexResponse *)ptr, "ns1:maxdexResponse");
+	case SOAP_TYPE_ns1__cai:
+		return soap_out_ns1__cai(soap, tag, id, (const struct ns1__cai *)ptr, "ns1:cai");
+	case SOAP_TYPE_ns1__caiResponse:
+		return soap_out_ns1__caiResponse(soap, tag, id, (const struct ns1__caiResponse *)ptr, "ns1:caiResponse");
+	case SOAP_TYPE_ns1__gcsi:
+		return soap_out_ns1__gcsi(soap, tag, id, (const struct ns1__gcsi *)ptr, "ns1:gcsi");
+	case SOAP_TYPE_ns1__gcsiResponse:
+		return soap_out_ns1__gcsiResponse(soap, tag, id, (const struct ns1__gcsiResponse *)ptr, "ns1:gcsiResponse");
+	case SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatg:
+		return soap_out_ns1__filter_USCOREcds_USCOREby_USCOREatg(soap, tag, id, (const struct ns1__filter_USCOREcds_USCOREby_USCOREatg *)ptr, "ns1:filter_cds_by_atg");
+	case SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse:
+		return soap_out_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, tag, id, (const struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *)ptr, "ns1:filter_cds_by_atgResponse");
+	case SOAP_TYPE_ns1__genomicskew:
+		return soap_out_ns1__genomicskew(soap, tag, id, (const struct ns1__genomicskew *)ptr, "ns1:genomicskew");
+	case SOAP_TYPE_ns1__genomicskewResponse:
+		return soap_out_ns1__genomicskewResponse(soap, tag, id, (const struct ns1__genomicskewResponse *)ptr, "ns1:genomicskewResponse");
+	case SOAP_TYPE_ns1__query_USCOREstrand:
+		return soap_out_ns1__query_USCOREstrand(soap, tag, id, (const struct ns1__query_USCOREstrand *)ptr, "ns1:query_strand");
+	case SOAP_TYPE_ns1__query_USCOREstrandResponse:
+		return soap_out_ns1__query_USCOREstrandResponse(soap, tag, id, (const struct ns1__query_USCOREstrandResponse *)ptr, "ns1:query_strandResponse");
+	case SOAP_TYPE_ns1__view_USCOREcds:
+		return soap_out_ns1__view_USCOREcds(soap, tag, id, (const struct ns1__view_USCOREcds *)ptr, "ns1:view_cds");
+	case SOAP_TYPE_ns1__view_USCOREcdsResponse:
+		return soap_out_ns1__view_USCOREcdsResponse(soap, tag, id, (const struct ns1__view_USCOREcdsResponse *)ptr, "ns1:view_cdsResponse");
+	case SOAP_TYPE_ns1__base_USCORErelative_USCOREentropy:
+		return soap_out_ns1__base_USCORErelative_USCOREentropy(soap, tag, id, (const struct ns1__base_USCORErelative_USCOREentropy *)ptr, "ns1:base_relative_entropy");
+	case SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyResponse:
+		return soap_out_ns1__base_USCORErelative_USCOREentropyResponse(soap, tag, id, (const struct ns1__base_USCORErelative_USCOREentropyResponse *)ptr, "ns1:base_relative_entropyResponse");
+	case SOAP_TYPE_ns1__Ew:
+		return soap_out_ns1__Ew(soap, tag, id, (const struct ns1__Ew *)ptr, "ns1:Ew");
+	case SOAP_TYPE_ns1__EwResponse:
+		return soap_out_ns1__EwResponse(soap, tag, id, (const struct ns1__EwResponse *)ptr, "ns1:EwResponse");
+	case SOAP_TYPE_ns1__over_USCORElapping_USCOREfinder:
+		return soap_out_ns1__over_USCORElapping_USCOREfinder(soap, tag, id, (const struct ns1__over_USCORElapping_USCOREfinder *)ptr, "ns1:over_lapping_finder");
+	case SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderResponse:
+		return soap_out_ns1__over_USCORElapping_USCOREfinderResponse(soap, tag, id, (const struct ns1__over_USCORElapping_USCOREfinderResponse *)ptr, "ns1:over_lapping_finderResponse");
+	case SOAP_TYPE_ns1__codon_USCOREcompiler:
+		return soap_out_ns1__codon_USCOREcompiler(soap, tag, id, (const struct ns1__codon_USCOREcompiler *)ptr, "ns1:codon_compiler");
+	case SOAP_TYPE_ns1__codon_USCOREcompilerResponse:
+		return soap_out_ns1__codon_USCOREcompilerResponse(soap, tag, id, (const struct ns1__codon_USCOREcompilerResponse *)ptr, "ns1:codon_compilerResponse");
+	case SOAP_TYPE_ns1__aaui:
+		return soap_out_ns1__aaui(soap, tag, id, (const struct ns1__aaui *)ptr, "ns1:aaui");
+	case SOAP_TYPE_ns1__aauiResponse:
+		return soap_out_ns1__aauiResponse(soap, tag, id, (const struct ns1__aauiResponse *)ptr, "ns1:aauiResponse");
+	case SOAP_TYPE_ns1__amino_USCOREcounter:
+		return soap_out_ns1__amino_USCOREcounter(soap, tag, id, (const struct ns1__amino_USCOREcounter *)ptr, "ns1:amino_counter");
+	case SOAP_TYPE_ns1__amino_USCOREcounterResponse:
+		return soap_out_ns1__amino_USCOREcounterResponse(soap, tag, id, (const struct ns1__amino_USCOREcounterResponse *)ptr, "ns1:amino_counterResponse");
+	case SOAP_TYPE_ns1__seq2png:
+		return soap_out_ns1__seq2png(soap, tag, id, (const struct ns1__seq2png *)ptr, "ns1:seq2png");
+	case SOAP_TYPE_ns1__seq2pngResponse:
+		return soap_out_ns1__seq2pngResponse(soap, tag, id, (const struct ns1__seq2pngResponse *)ptr, "ns1:seq2pngResponse");
+	case SOAP_TYPE_ns1__ttest:
+		return soap_out_ns1__ttest(soap, tag, id, (const struct ns1__ttest *)ptr, "ns1:ttest");
+	case SOAP_TYPE_ns1__ttestResponse:
+		return soap_out_ns1__ttestResponse(soap, tag, id, (const struct ns1__ttestResponse *)ptr, "ns1:ttestResponse");
+	case SOAP_TYPE_ns1__find_USCOREdnaAbox:
+		return soap_out_ns1__find_USCOREdnaAbox(soap, tag, id, (const struct ns1__find_USCOREdnaAbox *)ptr, "ns1:find_dnaAbox");
+	case SOAP_TYPE_ns1__find_USCOREdnaAboxResponse:
+		return soap_out_ns1__find_USCOREdnaAboxResponse(soap, tag, id, (const struct ns1__find_USCOREdnaAboxResponse *)ptr, "ns1:find_dnaAboxResponse");
+	case SOAP_TYPE_ns1__dist_USCOREin_USCOREcc:
+		return soap_out_ns1__dist_USCOREin_USCOREcc(soap, tag, id, (const struct ns1__dist_USCOREin_USCOREcc *)ptr, "ns1:dist_in_cc");
+	case SOAP_TYPE_ns1__dist_USCOREin_USCOREccResponse:
+		return soap_out_ns1__dist_USCOREin_USCOREccResponse(soap, tag, id, (const struct ns1__dist_USCOREin_USCOREccResponse *)ptr, "ns1:dist_in_ccResponse");
+	case SOAP_TYPE_ns1__bui:
+		return soap_out_ns1__bui(soap, tag, id, (const struct ns1__bui *)ptr, "ns1:bui");
+	case SOAP_TYPE_ns1__buiResponse:
+		return soap_out_ns1__buiResponse(soap, tag, id, (const struct ns1__buiResponse *)ptr, "ns1:buiResponse");
+	case SOAP_TYPE_ns1__fop:
+		return soap_out_ns1__fop(soap, tag, id, (const struct ns1__fop *)ptr, "ns1:fop");
+	case SOAP_TYPE_ns1__fopResponse:
+		return soap_out_ns1__fopResponse(soap, tag, id, (const struct ns1__fopResponse *)ptr, "ns1:fopResponse");
+	case SOAP_TYPE_ns1__enc:
+		return soap_out_ns1__enc(soap, tag, id, (const struct ns1__enc *)ptr, "ns1:enc");
+	case SOAP_TYPE_ns1__encResponse:
+		return soap_out_ns1__encResponse(soap, tag, id, (const struct ns1__encResponse *)ptr, "ns1:encResponse");
+	case SOAP_TYPE_ns1__icdi:
+		return soap_out_ns1__icdi(soap, tag, id, (const struct ns1__icdi *)ptr, "ns1:icdi");
+	case SOAP_TYPE_ns1__icdiResponse:
+		return soap_out_ns1__icdiResponse(soap, tag, id, (const struct ns1__icdiResponse *)ptr, "ns1:icdiResponse");
+	case SOAP_TYPE_ns1__phx:
+		return soap_out_ns1__phx(soap, tag, id, (const struct ns1__phx *)ptr, "ns1:phx");
+	case SOAP_TYPE_ns1__phxResponse:
+		return soap_out_ns1__phxResponse(soap, tag, id, (const struct ns1__phxResponse *)ptr, "ns1:phxResponse");
+	case SOAP_TYPE_ns1__translate:
+		return soap_out_ns1__translate(soap, tag, id, (const struct ns1__translate *)ptr, "ns1:translate");
+	case SOAP_TYPE_ns1__translateResponse:
+		return soap_out_ns1__translateResponse(soap, tag, id, (const struct ns1__translateResponse *)ptr, "ns1:translateResponse");
+	case SOAP_TYPE_ns1__togoWS:
+		return soap_out_ns1__togoWS(soap, tag, id, (const struct ns1__togoWS *)ptr, "ns1:togoWS");
+	case SOAP_TYPE_ns1__togoWSResponse:
+		return soap_out_ns1__togoWSResponse(soap, tag, id, (const struct ns1__togoWSResponse *)ptr, "ns1:togoWSResponse");
+	case SOAP_TYPE_ns1__circular_USCOREmap:
+		return soap_out_ns1__circular_USCOREmap(soap, tag, id, (const struct ns1__circular_USCOREmap *)ptr, "ns1:circular_map");
+	case SOAP_TYPE_ns1__circular_USCOREmapResponse:
+		return soap_out_ns1__circular_USCOREmapResponse(soap, tag, id, (const struct ns1__circular_USCOREmapResponse *)ptr, "ns1:circular_mapResponse");
+	case SOAP_TYPE_ns1__amino_USCOREinfo:
+		return soap_out_ns1__amino_USCOREinfo(soap, tag, id, (const struct ns1__amino_USCOREinfo *)ptr, "ns1:amino_info");
+	case SOAP_TYPE_ns1__amino_USCOREinfoResponse:
+		return soap_out_ns1__amino_USCOREinfoResponse(soap, tag, id, (const struct ns1__amino_USCOREinfoResponse *)ptr, "ns1:amino_infoResponse");
+	case SOAP_TYPE_ns1__variance:
+		return soap_out_ns1__variance(soap, tag, id, (const struct ns1__variance *)ptr, "ns1:variance");
+	case SOAP_TYPE_ns1__varianceResponse:
+		return soap_out_ns1__varianceResponse(soap, tag, id, (const struct ns1__varianceResponse *)ptr, "ns1:varianceResponse");
+	case SOAP_TYPE_ns1__nucleotide_USCOREperiodicity:
+		return soap_out_ns1__nucleotide_USCOREperiodicity(soap, tag, id, (const struct ns1__nucleotide_USCOREperiodicity *)ptr, "ns1:nucleotide_periodicity");
+	case SOAP_TYPE_ns1__nucleotide_USCOREperiodicityResponse:
+		return soap_out_ns1__nucleotide_USCOREperiodicityResponse(soap, tag, id, (const struct ns1__nucleotide_USCOREperiodicityResponse *)ptr, "ns1:nucleotide_periodicityResponse");
+	case SOAP_TYPE_ns1__sum:
+		return soap_out_ns1__sum(soap, tag, id, (const struct ns1__sum *)ptr, "ns1:sum");
+	case SOAP_TYPE_ns1__sumResponse:
+		return soap_out_ns1__sumResponse(soap, tag, id, (const struct ns1__sumResponse *)ptr, "ns1:sumResponse");
+	case SOAP_TYPE_ns1__plasmid_USCOREmap:
+		return soap_out_ns1__plasmid_USCOREmap(soap, tag, id, (const struct ns1__plasmid_USCOREmap *)ptr, "ns1:plasmid_map");
+	case SOAP_TYPE_ns1__plasmid_USCOREmapResponse:
+		return soap_out_ns1__plasmid_USCOREmapResponse(soap, tag, id, (const struct ns1__plasmid_USCOREmapResponse *)ptr, "ns1:plasmid_mapResponse");
+	case SOAP_TYPE_ns1__find_USCOREori_USCOREter:
+		return soap_out_ns1__find_USCOREori_USCOREter(soap, tag, id, (const struct ns1__find_USCOREori_USCOREter *)ptr, "ns1:find_ori_ter");
+	case SOAP_TYPE_ns1__find_USCOREori_USCOREterResponse:
+		return soap_out_ns1__find_USCOREori_USCOREterResponse(soap, tag, id, (const struct ns1__find_USCOREori_USCOREterResponse *)ptr, "ns1:find_ori_terResponse");
+	case SOAP_TYPE_ns1__median:
+		return soap_out_ns1__median(soap, tag, id, (const struct ns1__median *)ptr, "ns1:median");
+	case SOAP_TYPE_ns1__medianResponse:
+		return soap_out_ns1__medianResponse(soap, tag, id, (const struct ns1__medianResponse *)ptr, "ns1:medianResponse");
+	case SOAP_TYPE_ns1__splitprintseq:
+		return soap_out_ns1__splitprintseq(soap, tag, id, (const struct ns1__splitprintseq *)ptr, "ns1:splitprintseq");
+	case SOAP_TYPE_ns1__splitprintseqResponse:
+		return soap_out_ns1__splitprintseqResponse(soap, tag, id, (const struct ns1__splitprintseqResponse *)ptr, "ns1:splitprintseqResponse");
+	case SOAP_TYPE_ns1__w_USCOREvalue:
+		return soap_out_ns1__w_USCOREvalue(soap, tag, id, (const struct ns1__w_USCOREvalue *)ptr, "ns1:w_value");
+	case SOAP_TYPE_ns1__w_USCOREvalueResponse:
+		return soap_out_ns1__w_USCOREvalueResponse(soap, tag, id, (const struct ns1__w_USCOREvalueResponse *)ptr, "ns1:w_valueResponse");
+	case SOAP_TYPE_ns1__P2:
+		return soap_out_ns1__P2(soap, tag, id, (const struct ns1__P2 *)ptr, "ns1:P2");
+	case SOAP_TYPE_ns1__P2Response:
+		return soap_out_ns1__P2Response(soap, tag, id, (const struct ns1__P2Response *)ptr, "ns1:P2Response");
+	case SOAP_TYPE_ns1__codon_USCOREmva:
+		return soap_out_ns1__codon_USCOREmva(soap, tag, id, (const struct ns1__codon_USCOREmva *)ptr, "ns1:codon_mva");
+	case SOAP_TYPE_ns1__codon_USCOREmvaResponse:
+		return soap_out_ns1__codon_USCOREmvaResponse(soap, tag, id, (const struct ns1__codon_USCOREmvaResponse *)ptr, "ns1:codon_mvaResponse");
+	case SOAP_TYPE_arrayOut:
+		return soap_out_arrayOut(soap, tag, id, (const struct arrayOut *)ptr, "xsd:string");
+	case SOAP_TYPE_arrayIn:
+		return soap_out_arrayIn(soap, tag, id, (const struct arrayIn *)ptr, "xsd:string");
+	case SOAP_TYPE_ns1__S_USCOREvalueInputParams:
+		return soap_out_ns1__S_USCOREvalueInputParams(soap, tag, id, (const struct ns1__S_USCOREvalueInputParams *)ptr, "ns1:S_valueInputParams");
+	case SOAP_TYPE_ns1__scsInputParams:
+		return soap_out_ns1__scsInputParams(soap, tag, id, (const struct ns1__scsInputParams *)ptr, "ns1:scsInputParams");
+	case SOAP_TYPE_ns1__signatureInputParams:
+		return soap_out_ns1__signatureInputParams(soap, tag, id, (const struct ns1__signatureInputParams *)ptr, "ns1:signatureInputParams");
+	case SOAP_TYPE_ns1__lda_USCOREbiasInputParams:
+		return soap_out_ns1__lda_USCOREbiasInputParams(soap, tag, id, (const struct ns1__lda_USCOREbiasInputParams *)ptr, "ns1:lda_biasInputParams");
+	case SOAP_TYPE_ns1__kmer_USCOREtableInputParams:
+		return soap_out_ns1__kmer_USCOREtableInputParams(soap, tag, id, (const struct ns1__kmer_USCOREtableInputParams *)ptr, "ns1:kmer_tableInputParams");
+	case SOAP_TYPE_ns1__base_USCOREz_USCOREvalueInputParams:
+		return soap_out_ns1__base_USCOREz_USCOREvalueInputParams(soap, tag, id, (const struct ns1__base_USCOREz_USCOREvalueInputParams *)ptr, "ns1:base_z_valueInputParams");
+	case SOAP_TYPE_ns1__base_USCOREcounterInputParams:
+		return soap_out_ns1__base_USCOREcounterInputParams(soap, tag, id, (const struct ns1__base_USCOREcounterInputParams *)ptr, "ns1:base_counterInputParams");
+	case SOAP_TYPE_ns1__B1InputParams:
+		return soap_out_ns1__B1InputParams(soap, tag, id, (const struct ns1__B1InputParams *)ptr, "ns1:B1InputParams");
+	case SOAP_TYPE_ns1__cgrInputParams:
+		return soap_out_ns1__cgrInputParams(soap, tag, id, (const struct ns1__cgrInputParams *)ptr, "ns1:cgrInputParams");
+	case SOAP_TYPE_ns1__dinucInputParams:
+		return soap_out_ns1__dinucInputParams(soap, tag, id, (const struct ns1__dinucInputParams *)ptr, "ns1:dinucInputParams");
+	case SOAP_TYPE_ns1__caiInputParams:
+		return soap_out_ns1__caiInputParams(soap, tag, id, (const struct ns1__caiInputParams *)ptr, "ns1:caiInputParams");
+	case SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams:
+		return soap_out_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, tag, id, (const struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *)ptr, "ns1:filter_cds_by_atgInputParams");
+	case SOAP_TYPE_ns1__gcsiInputParams:
+		return soap_out_ns1__gcsiInputParams(soap, tag, id, (const struct ns1__gcsiInputParams *)ptr, "ns1:gcsiInputParams");
+	case SOAP_TYPE_ns1__query_USCOREstrandInputParams:
+		return soap_out_ns1__query_USCOREstrandInputParams(soap, tag, id, (const struct ns1__query_USCOREstrandInputParams *)ptr, "ns1:query_strandInputParams");
+	case SOAP_TYPE_ns1__genomicskewInputParams:
+		return soap_out_ns1__genomicskewInputParams(soap, tag, id, (const struct ns1__genomicskewInputParams *)ptr, "ns1:genomicskewInputParams");
+	case SOAP_TYPE_ns1__palindromeInputParams:
+		return soap_out_ns1__palindromeInputParams(soap, tag, id, (const struct ns1__palindromeInputParams *)ptr, "ns1:palindromeInputParams");
+	case SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyInputParams:
+		return soap_out_ns1__base_USCORErelative_USCOREentropyInputParams(soap, tag, id, (const struct ns1__base_USCORErelative_USCOREentropyInputParams *)ptr, "ns1:base_relative_entropyInputParams");
+	case SOAP_TYPE_ns1__view_USCOREcdsInputParams:
+		return soap_out_ns1__view_USCOREcdsInputParams(soap, tag, id, (const struct ns1__view_USCOREcdsInputParams *)ptr, "ns1:view_cdsInputParams");
+	case SOAP_TYPE_ns1__codon_USCOREcounterInputParams:
+		return soap_out_ns1__codon_USCOREcounterInputParams(soap, tag, id, (const struct ns1__codon_USCOREcounterInputParams *)ptr, "ns1:codon_counterInputParams");
+	case SOAP_TYPE_ns1__EwInputParams:
+		return soap_out_ns1__EwInputParams(soap, tag, id, (const struct ns1__EwInputParams *)ptr, "ns1:EwInputParams");
+	case SOAP_TYPE_ns1__find_USCOREiteronInputParams:
+		return soap_out_ns1__find_USCOREiteronInputParams(soap, tag, id, (const struct ns1__find_USCOREiteronInputParams *)ptr, "ns1:find_iteronInputParams");
+	case SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderInputParams:
+		return soap_out_ns1__over_USCORElapping_USCOREfinderInputParams(soap, tag, id, (const struct ns1__over_USCORElapping_USCOREfinderInputParams *)ptr, "ns1:over_lapping_finderInputParams");
+	case SOAP_TYPE_ns1__codon_USCOREcompilerInputParams:
+		return soap_out_ns1__codon_USCOREcompilerInputParams(soap, tag, id, (const struct ns1__codon_USCOREcompilerInputParams *)ptr, "ns1:codon_compilerInputParams");
+	case SOAP_TYPE_ns1__aauiInputParams:
+		return soap_out_ns1__aauiInputParams(soap, tag, id, (const struct ns1__aauiInputParams *)ptr, "ns1:aauiInputParams");
+	case SOAP_TYPE_ns1__amino_USCOREcounterInputParams:
+		return soap_out_ns1__amino_USCOREcounterInputParams(soap, tag, id, (const struct ns1__amino_USCOREcounterInputParams *)ptr, "ns1:amino_counterInputParams");
+	case SOAP_TYPE_ns1__seq2pngInputParams:
+		return soap_out_ns1__seq2pngInputParams(soap, tag, id, (const struct ns1__seq2pngInputParams *)ptr, "ns1:seq2pngInputParams");
+	case SOAP_TYPE_ns1__ttestInputParams:
+		return soap_out_ns1__ttestInputParams(soap, tag, id, (const struct ns1__ttestInputParams *)ptr, "ns1:ttestInputParams");
+	case SOAP_TYPE_ns1__find_USCOREdnaAboxInputParams:
+		return soap_out_ns1__find_USCOREdnaAboxInputParams(soap, tag, id, (const struct ns1__find_USCOREdnaAboxInputParams *)ptr, "ns1:find_dnaAboxInputParams");
+	case SOAP_TYPE_ns1__codon_USCOREusageInputParams:
+		return soap_out_ns1__codon_USCOREusageInputParams(soap, tag, id, (const struct ns1__codon_USCOREusageInputParams *)ptr, "ns1:codon_usageInputParams");
+	case SOAP_TYPE_ns1__buiInputParams:
+		return soap_out_ns1__buiInputParams(soap, tag, id, (const struct ns1__buiInputParams *)ptr, "ns1:buiInputParams");
+	case SOAP_TYPE_ns1__fopInputParams:
+		return soap_out_ns1__fopInputParams(soap, tag, id, (const struct ns1__fopInputParams *)ptr, "ns1:fopInputParams");
+	case SOAP_TYPE_ns1__oligomer_USCOREcounterInputParams:
+		return soap_out_ns1__oligomer_USCOREcounterInputParams(soap, tag, id, (const struct ns1__oligomer_USCOREcounterInputParams *)ptr, "ns1:oligomer_counterInputParams");
+	case SOAP_TYPE_ns1__encInputParams:
+		return soap_out_ns1__encInputParams(soap, tag, id, (const struct ns1__encInputParams *)ptr, "ns1:encInputParams");
+	case SOAP_TYPE_ns1__icdiInputParams:
+		return soap_out_ns1__icdiInputParams(soap, tag, id, (const struct ns1__icdiInputParams *)ptr, "ns1:icdiInputParams");
+	case SOAP_TYPE_ns1__gcwinInputParams:
+		return soap_out_ns1__gcwinInputParams(soap, tag, id, (const struct ns1__gcwinInputParams *)ptr, "ns1:gcwinInputParams");
+	case SOAP_TYPE_ns1__find_USCOREpatternInputParams:
+		return soap_out_ns1__find_USCOREpatternInputParams(soap, tag, id, (const struct ns1__find_USCOREpatternInputParams *)ptr, "ns1:find_patternInputParams");
+	case SOAP_TYPE_ns1__oligomer_USCOREsearchInputParams:
+		return soap_out_ns1__oligomer_USCOREsearchInputParams(soap, tag, id, (const struct ns1__oligomer_USCOREsearchInputParams *)ptr, "ns1:oligomer_searchInputParams");
+	case SOAP_TYPE_ns1__phxInputParams:
+		return soap_out_ns1__phxInputParams(soap, tag, id, (const struct ns1__phxInputParams *)ptr, "ns1:phxInputParams");
+	case SOAP_TYPE_ns1__shuffleseqInputParams:
+		return soap_out_ns1__shuffleseqInputParams(soap, tag, id, (const struct ns1__shuffleseqInputParams *)ptr, "ns1:shuffleseqInputParams");
+	case SOAP_TYPE_ns1__find_USCOREterInputParams:
+		return soap_out_ns1__find_USCOREterInputParams(soap, tag, id, (const struct ns1__find_USCOREterInputParams *)ptr, "ns1:find_terInputParams");
+	case SOAP_TYPE_ns1__dnawalkInputParams:
+		return soap_out_ns1__dnawalkInputParams(soap, tag, id, (const struct ns1__dnawalkInputParams *)ptr, "ns1:dnawalkInputParams");
+	case SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentInputParams:
+		return soap_out_ns1__base_USCOREinformation_USCOREcontentInputParams(soap, tag, id, (const struct ns1__base_USCOREinformation_USCOREcontentInputParams *)ptr, "ns1:base_information_contentInputParams");
+	case SOAP_TYPE_ns1__togoWSInputParams:
+		return soap_out_ns1__togoWSInputParams(soap, tag, id, (const struct ns1__togoWSInputParams *)ptr, "ns1:togoWSInputParams");
+	case SOAP_TYPE_ns1__genome_USCOREmap3InputParams:
+		return soap_out_ns1__genome_USCOREmap3InputParams(soap, tag, id, (const struct ns1__genome_USCOREmap3InputParams *)ptr, "ns1:genome_map3InputParams");
+	case SOAP_TYPE_ns1__gcskewInputParams:
+		return soap_out_ns1__gcskewInputParams(soap, tag, id, (const struct ns1__gcskewInputParams *)ptr, "ns1:gcskewInputParams");
+	case SOAP_TYPE_ns1__circular_USCOREmapInputParams:
+		return soap_out_ns1__circular_USCOREmapInputParams(soap, tag, id, (const struct ns1__circular_USCOREmapInputParams *)ptr, "ns1:circular_mapInputParams");
+	case SOAP_TYPE_ns1__molecular_USCOREweightInputParams:
+		return soap_out_ns1__molecular_USCOREweightInputParams(soap, tag, id, (const struct ns1__molecular_USCOREweightInputParams *)ptr, "ns1:molecular_weightInputParams");
+	case SOAP_TYPE_ns1__delta_USCOREgcskewInputParams:
+		return soap_out_ns1__delta_USCOREgcskewInputParams(soap, tag, id, (const struct ns1__delta_USCOREgcskewInputParams *)ptr, "ns1:delta_gcskewInputParams");
+	case SOAP_TYPE_ns1__corInputParams:
+		return soap_out_ns1__corInputParams(soap, tag, id, (const struct ns1__corInputParams *)ptr, "ns1:corInputParams");
+	case SOAP_TYPE_ns1__geneskewInputParams:
+		return soap_out_ns1__geneskewInputParams(soap, tag, id, (const struct ns1__geneskewInputParams *)ptr, "ns1:geneskewInputParams");
+	case SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriInputParams:
+		return soap_out_ns1__genes_USCOREfrom_USCOREoriInputParams(soap, tag, id, (const struct ns1__genes_USCOREfrom_USCOREoriInputParams *)ptr, "ns1:genes_from_oriInputParams");
+	case SOAP_TYPE_ns1__cbiInputParams:
+		return soap_out_ns1__cbiInputParams(soap, tag, id, (const struct ns1__cbiInputParams *)ptr, "ns1:cbiInputParams");
+	case SOAP_TYPE_ns1__find_USCOREdifInputParams:
+		return soap_out_ns1__find_USCOREdifInputParams(soap, tag, id, (const struct ns1__find_USCOREdifInputParams *)ptr, "ns1:find_difInputParams");
+	case SOAP_TYPE_ns1__to_USCOREfastaInputParams:
+		return soap_out_ns1__to_USCOREfastaInputParams(soap, tag, id, (const struct ns1__to_USCOREfastaInputParams *)ptr, "ns1:to_fastaInputParams");
+	case SOAP_TYPE_ns1__nucleotide_USCOREperiodicityInputParams:
+		return soap_out_ns1__nucleotide_USCOREperiodicityInputParams(soap, tag, id, (const struct ns1__nucleotide_USCOREperiodicityInputParams *)ptr, "ns1:nucleotide_periodicityInputParams");
+	case SOAP_TYPE_ns1__base_USCOREentropyInputParams:
+		return soap_out_ns1__base_USCOREentropyInputParams(soap, tag, id, (const struct ns1__base_USCOREentropyInputParams *)ptr, "ns1:base_entropyInputParams");
+	case SOAP_TYPE_ns1__plasmid_USCOREmapInputParams:
+		return soap_out_ns1__plasmid_USCOREmapInputParams(soap, tag, id, (const struct ns1__plasmid_USCOREmapInputParams *)ptr, "ns1:plasmid_mapInputParams");
+	case SOAP_TYPE_ns1__DoubleHelixInputParams:
+		return soap_out_ns1__DoubleHelixInputParams(soap, tag, id, (const struct ns1__DoubleHelixInputParams *)ptr, "ns1:DoubleHelixInputParams");
+	case SOAP_TYPE_ns1__rep_USCOREori_USCOREterInputParams:
+		return soap_out_ns1__rep_USCOREori_USCOREterInputParams(soap, tag, id, (const struct ns1__rep_USCOREori_USCOREterInputParams *)ptr, "ns1:rep_ori_terInputParams");
+	case SOAP_TYPE_ns1__genome_USCOREmapInputParams:
+		return soap_out_ns1__genome_USCOREmapInputParams(soap, tag, id, (const struct ns1__genome_USCOREmapInputParams *)ptr, "ns1:genome_mapInputParams");
+	case SOAP_TYPE_ns1__consensus_USCOREzInputParams:
+		return soap_out_ns1__consensus_USCOREzInputParams(soap, tag, id, (const struct ns1__consensus_USCOREzInputParams *)ptr, "ns1:consensus_zInputParams");
+	case SOAP_TYPE_ns1__find_USCOREori_USCOREterInputParams:
+		return soap_out_ns1__find_USCOREori_USCOREterInputParams(soap, tag, id, (const struct ns1__find_USCOREori_USCOREterInputParams *)ptr, "ns1:find_ori_terInputParams");
+	case SOAP_TYPE_ns1__w_USCOREvalueInputParams:
+		return soap_out_ns1__w_USCOREvalueInputParams(soap, tag, id, (const struct ns1__w_USCOREvalueInputParams *)ptr, "ns1:w_valueInputParams");
+	case SOAP_TYPE_ns1__P2InputParams:
+		return soap_out_ns1__P2InputParams(soap, tag, id, (const struct ns1__P2InputParams *)ptr, "ns1:P2InputParams");
+	case SOAP_TYPE_ns1__codon_USCOREmvaInputParams:
+		return soap_out_ns1__codon_USCOREmvaInputParams(soap, tag, id, (const struct ns1__codon_USCOREmvaInputParams *)ptr, "ns1:codon_mvaInputParams");
+	case SOAP_TYPE_ns1__Definition:
+		return soap_out_ns1__Definition(soap, tag, id, (const struct ns1__Definition *)ptr, "ns1:Definition");
+	case SOAP_TYPE_PointerTofloat:
+		return soap_out_PointerTofloat(soap, tag, id, (float *const*)ptr, "xsd:float");
+	case SOAP_TYPE_PointerTons1__S_USCOREvalueInputParams:
+		return soap_out_PointerTons1__S_USCOREvalueInputParams(soap, tag, id, (struct ns1__S_USCOREvalueInputParams *const*)ptr, "ns1:S_valueInputParams");
+	case SOAP_TYPE_PointerTons1__leading_USCOREstrandResponse:
+		return soap_out_PointerTons1__leading_USCOREstrandResponse(soap, tag, id, (struct ns1__leading_USCOREstrandResponse *const*)ptr, "ns1:leading_strandResponse");
+	case SOAP_TYPE_PointerTons1__scsInputParams:
+		return soap_out_PointerTons1__scsInputParams(soap, tag, id, (struct ns1__scsInputParams *const*)ptr, "ns1:scsInputParams");
+	case SOAP_TYPE_PointerTons1__lda_USCOREbiasInputParams:
+		return soap_out_PointerTons1__lda_USCOREbiasInputParams(soap, tag, id, (struct ns1__lda_USCOREbiasInputParams *const*)ptr, "ns1:lda_biasInputParams");
+	case SOAP_TYPE_PointerTons1__kmer_USCOREtableInputParams:
+		return soap_out_PointerTons1__kmer_USCOREtableInputParams(soap, tag, id, (struct ns1__kmer_USCOREtableInputParams *const*)ptr, "ns1:kmer_tableInputParams");
+	case SOAP_TYPE_PointerTons1__base_USCOREz_USCOREvalueInputParams:
+		return soap_out_PointerTons1__base_USCOREz_USCOREvalueInputParams(soap, tag, id, (struct ns1__base_USCOREz_USCOREvalueInputParams *const*)ptr, "ns1:base_z_valueInputParams");
+	case SOAP_TYPE_PointerTons1__base_USCOREcounterInputParams:
+		return soap_out_PointerTons1__base_USCOREcounterInputParams(soap, tag, id, (struct ns1__base_USCOREcounterInputParams *const*)ptr, "ns1:base_counterInputParams");
+	case SOAP_TYPE_PointerTons1__B1InputParams:
+		return soap_out_PointerTons1__B1InputParams(soap, tag, id, (struct ns1__B1InputParams *const*)ptr, "ns1:B1InputParams");
+	case SOAP_TYPE_PointerTons1__cgrInputParams:
+		return soap_out_PointerTons1__cgrInputParams(soap, tag, id, (struct ns1__cgrInputParams *const*)ptr, "ns1:cgrInputParams");
+	case SOAP_TYPE_PointerTons1__dinucInputParams:
+		return soap_out_PointerTons1__dinucInputParams(soap, tag, id, (struct ns1__dinucInputParams *const*)ptr, "ns1:dinucInputParams");
+	case SOAP_TYPE_PointerTons1__least_USCOREsquares_USCOREfitResponse:
+		return soap_out_PointerTons1__least_USCOREsquares_USCOREfitResponse(soap, tag, id, (struct ns1__least_USCOREsquares_USCOREfitResponse *const*)ptr, "ns1:least_squares_fitResponse");
+	case SOAP_TYPE_PointerTons1__palindromeInputParams:
+		return soap_out_PointerTons1__palindromeInputParams(soap, tag, id, (struct ns1__palindromeInputParams *const*)ptr, "ns1:palindromeInputParams");
+	case SOAP_TYPE_PointerTons1__codon_USCOREcounterInputParams:
+		return soap_out_PointerTons1__codon_USCOREcounterInputParams(soap, tag, id, (struct ns1__codon_USCOREcounterInputParams *const*)ptr, "ns1:codon_counterInputParams");
+	case SOAP_TYPE_PointerTons1__find_USCOREiteronInputParams:
+		return soap_out_PointerTons1__find_USCOREiteronInputParams(soap, tag, id, (struct ns1__find_USCOREiteronInputParams *const*)ptr, "ns1:find_iteronInputParams");
+	case SOAP_TYPE_PointerTons1__codon_USCOREusageInputParams:
+		return soap_out_PointerTons1__codon_USCOREusageInputParams(soap, tag, id, (struct ns1__codon_USCOREusageInputParams *const*)ptr, "ns1:codon_usageInputParams");
+	case SOAP_TYPE_PointerTons1__oligomer_USCOREcounterInputParams:
+		return soap_out_PointerTons1__oligomer_USCOREcounterInputParams(soap, tag, id, (struct ns1__oligomer_USCOREcounterInputParams *const*)ptr, "ns1:oligomer_counterInputParams");
+	case SOAP_TYPE_PointerTons1__gcwinInputParams:
+		return soap_out_PointerTons1__gcwinInputParams(soap, tag, id, (struct ns1__gcwinInputParams *const*)ptr, "ns1:gcwinInputParams");
+	case SOAP_TYPE_PointerTons1__find_USCOREpatternInputParams:
+		return soap_out_PointerTons1__find_USCOREpatternInputParams(soap, tag, id, (struct ns1__find_USCOREpatternInputParams *const*)ptr, "ns1:find_patternInputParams");
+	case SOAP_TYPE_PointerTons1__oligomer_USCOREsearchResponse:
+		return soap_out_PointerTons1__oligomer_USCOREsearchResponse(soap, tag, id, (struct ns1__oligomer_USCOREsearchResponse *const*)ptr, "ns1:oligomer_searchResponse");
+	case SOAP_TYPE_PointerTons1__oligomer_USCOREsearchInputParams:
+		return soap_out_PointerTons1__oligomer_USCOREsearchInputParams(soap, tag, id, (struct ns1__oligomer_USCOREsearchInputParams *const*)ptr, "ns1:oligomer_searchInputParams");
+	case SOAP_TYPE_PointerTons1__shuffleseqInputParams:
+		return soap_out_PointerTons1__shuffleseqInputParams(soap, tag, id, (struct ns1__shuffleseqInputParams *const*)ptr, "ns1:shuffleseqInputParams");
+	case SOAP_TYPE_PointerTons1__find_USCOREterResponse:
+		return soap_out_PointerTons1__find_USCOREterResponse(soap, tag, id, (struct ns1__find_USCOREterResponse *const*)ptr, "ns1:find_terResponse");
+	case SOAP_TYPE_PointerTons1__find_USCOREterInputParams:
+		return soap_out_PointerTons1__find_USCOREterInputParams(soap, tag, id, (struct ns1__find_USCOREterInputParams *const*)ptr, "ns1:find_terInputParams");
+	case SOAP_TYPE_PointerTons1__dnawalkInputParams:
+		return soap_out_PointerTons1__dnawalkInputParams(soap, tag, id, (struct ns1__dnawalkInputParams *const*)ptr, "ns1:dnawalkInputParams");
+	case SOAP_TYPE_PointerTons1__base_USCOREinformation_USCOREcontentInputParams:
+		return soap_out_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(soap, tag, id, (struct ns1__base_USCOREinformation_USCOREcontentInputParams *const*)ptr, "ns1:base_information_contentInputParams");
+	case SOAP_TYPE_PointerTons1__signatureInputParams:
+		return soap_out_PointerTons1__signatureInputParams(soap, tag, id, (struct ns1__signatureInputParams *const*)ptr, "ns1:signatureInputParams");
+	case SOAP_TYPE_PointerTons1__genome_USCOREmap3InputParams:
+		return soap_out_PointerTons1__genome_USCOREmap3InputParams(soap, tag, id, (struct ns1__genome_USCOREmap3InputParams *const*)ptr, "ns1:genome_map3InputParams");
+	case SOAP_TYPE_PointerTons1__gcskewInputParams:
+		return soap_out_PointerTons1__gcskewInputParams(soap, tag, id, (struct ns1__gcskewInputParams *const*)ptr, "ns1:gcskewInputParams");
+	case SOAP_TYPE_PointerTons1__molecular_USCOREweightInputParams:
+		return soap_out_PointerTons1__molecular_USCOREweightInputParams(soap, tag, id, (struct ns1__molecular_USCOREweightInputParams *const*)ptr, "ns1:molecular_weightInputParams");
+	case SOAP_TYPE_PointerTons1__delta_USCOREgcskewInputParams:
+		return soap_out_PointerTons1__delta_USCOREgcskewInputParams(soap, tag, id, (struct ns1__delta_USCOREgcskewInputParams *const*)ptr, "ns1:delta_gcskewInputParams");
+	case SOAP_TYPE_PointerTons1__cumulativeResponse:
+		return soap_out_PointerTons1__cumulativeResponse(soap, tag, id, (struct ns1__cumulativeResponse *const*)ptr, "ns1:cumulativeResponse");
+	case SOAP_TYPE_PointerTons1__corResponse:
+		return soap_out_PointerTons1__corResponse(soap, tag, id, (struct ns1__corResponse *const*)ptr, "ns1:corResponse");
+	case SOAP_TYPE_PointerTons1__corInputParams:
+		return soap_out_PointerTons1__corInputParams(soap, tag, id, (struct ns1__corInputParams *const*)ptr, "ns1:corInputParams");
+	case SOAP_TYPE_PointerTons1__geneskewInputParams:
+		return soap_out_PointerTons1__geneskewInputParams(soap, tag, id, (struct ns1__geneskewInputParams *const*)ptr, "ns1:geneskewInputParams");
+	case SOAP_TYPE_PointerTons1__genes_USCOREfrom_USCOREoriResponse:
+		return soap_out_PointerTons1__genes_USCOREfrom_USCOREoriResponse(soap, tag, id, (struct ns1__genes_USCOREfrom_USCOREoriResponse *const*)ptr, "ns1:genes_from_oriResponse");
+	case SOAP_TYPE_PointerTons1__genes_USCOREfrom_USCOREoriInputParams:
+		return soap_out_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(soap, tag, id, (struct ns1__genes_USCOREfrom_USCOREoriInputParams *const*)ptr, "ns1:genes_from_oriInputParams");
+	case SOAP_TYPE_PointerTons1__cbiInputParams:
+		return soap_out_PointerTons1__cbiInputParams(soap, tag, id, (struct ns1__cbiInputParams *const*)ptr, "ns1:cbiInputParams");
+	case SOAP_TYPE_PointerTons1__find_USCOREdifResponse:
+		return soap_out_PointerTons1__find_USCOREdifResponse(soap, tag, id, (struct ns1__find_USCOREdifResponse *const*)ptr, "ns1:find_difResponse");
+	case SOAP_TYPE_PointerTons1__find_USCOREdifInputParams:
+		return soap_out_PointerTons1__find_USCOREdifInputParams(soap, tag, id, (struct ns1__find_USCOREdifInputParams *const*)ptr, "ns1:find_difInputParams");
+	case SOAP_TYPE_PointerTons1__to_USCOREfastaInputParams:
+		return soap_out_PointerTons1__to_USCOREfastaInputParams(soap, tag, id, (struct ns1__to_USCOREfastaInputParams *const*)ptr, "ns1:to_fastaInputParams");
+	case SOAP_TYPE_PointerTons1__base_USCOREentropyInputParams:
+		return soap_out_PointerTons1__base_USCOREentropyInputParams(soap, tag, id, (struct ns1__base_USCOREentropyInputParams *const*)ptr, "ns1:base_entropyInputParams");
+	case SOAP_TYPE_PointerTons1__DoubleHelixInputParams:
+		return soap_out_PointerTons1__DoubleHelixInputParams(soap, tag, id, (struct ns1__DoubleHelixInputParams *const*)ptr, "ns1:DoubleHelixInputParams");
+	case SOAP_TYPE_PointerTons1__rep_USCOREori_USCOREterInputParams:
+		return soap_out_PointerTons1__rep_USCOREori_USCOREterInputParams(soap, tag, id, (struct ns1__rep_USCOREori_USCOREterInputParams *const*)ptr, "ns1:rep_ori_terInputParams");
+	case SOAP_TYPE_PointerTons1__genome_USCOREmapInputParams:
+		return soap_out_PointerTons1__genome_USCOREmapInputParams(soap, tag, id, (struct ns1__genome_USCOREmapInputParams *const*)ptr, "ns1:genome_mapInputParams");
+	case SOAP_TYPE_PointerTons1__consensus_USCOREzInputParams:
+		return soap_out_PointerTons1__consensus_USCOREzInputParams(soap, tag, id, (struct ns1__consensus_USCOREzInputParams *const*)ptr, "ns1:consensus_zInputParams");
+	case SOAP_TYPE_PointerTons1__caiInputParams:
+		return soap_out_PointerTons1__caiInputParams(soap, tag, id, (struct ns1__caiInputParams *const*)ptr, "ns1:caiInputParams");
+	case SOAP_TYPE_PointerTons1__gcsiInputParams:
+		return soap_out_PointerTons1__gcsiInputParams(soap, tag, id, (struct ns1__gcsiInputParams *const*)ptr, "ns1:gcsiInputParams");
+	case SOAP_TYPE_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse:
+		return soap_out_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, tag, id, (struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *const*)ptr, "ns1:filter_cds_by_atgResponse");
+	case SOAP_TYPE_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams:
+		return soap_out_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, tag, id, (struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *const*)ptr, "ns1:filter_cds_by_atgInputParams");
+	case SOAP_TYPE_PointerTons1__genomicskewInputParams:
+		return soap_out_PointerTons1__genomicskewInputParams(soap, tag, id, (struct ns1__genomicskewInputParams *const*)ptr, "ns1:genomicskewInputParams");
+	case SOAP_TYPE_PointerTons1__query_USCOREstrandInputParams:
+		return soap_out_PointerTons1__query_USCOREstrandInputParams(soap, tag, id, (struct ns1__query_USCOREstrandInputParams *const*)ptr, "ns1:query_strandInputParams");
+	case SOAP_TYPE_PointerTons1__view_USCOREcdsInputParams:
+		return soap_out_PointerTons1__view_USCOREcdsInputParams(soap, tag, id, (struct ns1__view_USCOREcdsInputParams *const*)ptr, "ns1:view_cdsInputParams");
+	case SOAP_TYPE_PointerTons1__base_USCORErelative_USCOREentropyInputParams:
+		return soap_out_PointerTons1__base_USCORErelative_USCOREentropyInputParams(soap, tag, id, (struct ns1__base_USCORErelative_USCOREentropyInputParams *const*)ptr, "ns1:base_relative_entropyInputParams");
+	case SOAP_TYPE_PointerTons1__EwInputParams:
+		return soap_out_PointerTons1__EwInputParams(soap, tag, id, (struct ns1__EwInputParams *const*)ptr, "ns1:EwInputParams");
+	case SOAP_TYPE_PointerTons1__over_USCORElapping_USCOREfinderInputParams:
+		return soap_out_PointerTons1__over_USCORElapping_USCOREfinderInputParams(soap, tag, id, (struct ns1__over_USCORElapping_USCOREfinderInputParams *const*)ptr, "ns1:over_lapping_finderInputParams");
+	case SOAP_TYPE_PointerTons1__codon_USCOREcompilerInputParams:
+		return soap_out_PointerTons1__codon_USCOREcompilerInputParams(soap, tag, id, (struct ns1__codon_USCOREcompilerInputParams *const*)ptr, "ns1:codon_compilerInputParams");
+	case SOAP_TYPE_PointerTons1__aauiInputParams:
+		return soap_out_PointerTons1__aauiInputParams(soap, tag, id, (struct ns1__aauiInputParams *const*)ptr, "ns1:aauiInputParams");
+	case SOAP_TYPE_PointerTons1__amino_USCOREcounterInputParams:
+		return soap_out_PointerTons1__amino_USCOREcounterInputParams(soap, tag, id, (struct ns1__amino_USCOREcounterInputParams *const*)ptr, "ns1:amino_counterInputParams");
+	case SOAP_TYPE_PointerTons1__seq2pngInputParams:
+		return soap_out_PointerTons1__seq2pngInputParams(soap, tag, id, (struct ns1__seq2pngInputParams *const*)ptr, "ns1:seq2pngInputParams");
+	case SOAP_TYPE_PointerTons1__ttestResponse:
+		return soap_out_PointerTons1__ttestResponse(soap, tag, id, (struct ns1__ttestResponse *const*)ptr, "ns1:ttestResponse");
+	case SOAP_TYPE_PointerTons1__ttestInputParams:
+		return soap_out_PointerTons1__ttestInputParams(soap, tag, id, (struct ns1__ttestInputParams *const*)ptr, "ns1:ttestInputParams");
+	case SOAP_TYPE_PointerToarrayOut:
+		return soap_out_PointerToarrayOut(soap, tag, id, (struct arrayOut *const*)ptr, "xsd:string");
+	case SOAP_TYPE_PointerTons1__find_USCOREdnaAboxInputParams:
+		return soap_out_PointerTons1__find_USCOREdnaAboxInputParams(soap, tag, id, (struct ns1__find_USCOREdnaAboxInputParams *const*)ptr, "ns1:find_dnaAboxInputParams");
+	case SOAP_TYPE_PointerTons1__buiInputParams:
+		return soap_out_PointerTons1__buiInputParams(soap, tag, id, (struct ns1__buiInputParams *const*)ptr, "ns1:buiInputParams");
+	case SOAP_TYPE_PointerTons1__fopInputParams:
+		return soap_out_PointerTons1__fopInputParams(soap, tag, id, (struct ns1__fopInputParams *const*)ptr, "ns1:fopInputParams");
+	case SOAP_TYPE_PointerTons1__encInputParams:
+		return soap_out_PointerTons1__encInputParams(soap, tag, id, (struct ns1__encInputParams *const*)ptr, "ns1:encInputParams");
+	case SOAP_TYPE_PointerTons1__icdiInputParams:
+		return soap_out_PointerTons1__icdiInputParams(soap, tag, id, (struct ns1__icdiInputParams *const*)ptr, "ns1:icdiInputParams");
+	case SOAP_TYPE_PointerTons1__phxInputParams:
+		return soap_out_PointerTons1__phxInputParams(soap, tag, id, (struct ns1__phxInputParams *const*)ptr, "ns1:phxInputParams");
+	case SOAP_TYPE_PointerTons1__togoWSInputParams:
+		return soap_out_PointerTons1__togoWSInputParams(soap, tag, id, (struct ns1__togoWSInputParams *const*)ptr, "ns1:togoWSInputParams");
+	case SOAP_TYPE_PointerTons1__circular_USCOREmapInputParams:
+		return soap_out_PointerTons1__circular_USCOREmapInputParams(soap, tag, id, (struct ns1__circular_USCOREmapInputParams *const*)ptr, "ns1:circular_mapInputParams");
+	case SOAP_TYPE_PointerTons1__nucleotide_USCOREperiodicityInputParams:
+		return soap_out_PointerTons1__nucleotide_USCOREperiodicityInputParams(soap, tag, id, (struct ns1__nucleotide_USCOREperiodicityInputParams *const*)ptr, "ns1:nucleotide_periodicityInputParams");
+	case SOAP_TYPE_PointerTons1__plasmid_USCOREmapInputParams:
+		return soap_out_PointerTons1__plasmid_USCOREmapInputParams(soap, tag, id, (struct ns1__plasmid_USCOREmapInputParams *const*)ptr, "ns1:plasmid_mapInputParams");
+	case SOAP_TYPE_PointerTons1__find_USCOREori_USCOREterInputParams:
+		return soap_out_PointerTons1__find_USCOREori_USCOREterInputParams(soap, tag, id, (struct ns1__find_USCOREori_USCOREterInputParams *const*)ptr, "ns1:find_ori_terInputParams");
+	case SOAP_TYPE_PointerToarrayIn:
+		return soap_out_PointerToarrayIn(soap, tag, id, (struct arrayIn *const*)ptr, "xsd:string");
+	case SOAP_TYPE_PointerTons1__w_USCOREvalueInputParams:
+		return soap_out_PointerTons1__w_USCOREvalueInputParams(soap, tag, id, (struct ns1__w_USCOREvalueInputParams *const*)ptr, "ns1:w_valueInputParams");
+	case SOAP_TYPE_PointerTons1__P2InputParams:
+		return soap_out_PointerTons1__P2InputParams(soap, tag, id, (struct ns1__P2InputParams *const*)ptr, "ns1:P2InputParams");
+	case SOAP_TYPE_PointerTons1__codon_USCOREmvaInputParams:
+		return soap_out_PointerTons1__codon_USCOREmvaInputParams(soap, tag, id, (struct ns1__codon_USCOREmvaInputParams *const*)ptr, "ns1:codon_mvaInputParams");
+	case SOAP_TYPE_PointerTostring:
+		return soap_out_PointerTostring(soap, tag, id, (char **const*)ptr, "xsd:string");
+	case SOAP_TYPE__QName:
+		return soap_out_string(soap, tag, id, (char*const*)&ptr, "xsd:QName");
+	case SOAP_TYPE_string:
+		return soap_out_string(soap, tag, id, (char*const*)&ptr, "xsd:string");
+	}
+	return SOAP_OK;
+}
+#endif
+
+#ifndef WITH_NOIDREF
+SOAP_FMAC3 void SOAP_FMAC4 soap_markelement(struct soap *soap, const void *ptr, int type)
+{
+	(void)soap; (void)ptr; (void)type; /* appease -Wall -Werror */
+	switch (type)
+	{
+	case SOAP_TYPE_ns1__hydropathy:
+		soap_serialize_ns1__hydropathy(soap, (const struct ns1__hydropathy *)ptr);
+		break;
+	case SOAP_TYPE_ns1__hydropathyResponse:
+		soap_serialize_ns1__hydropathyResponse(soap, (const struct ns1__hydropathyResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__help:
+		soap_serialize_ns1__help(soap, (const struct ns1__help *)ptr);
+		break;
+	case SOAP_TYPE_ns1__helpResponse:
+		soap_serialize_ns1__helpResponse(soap, (const struct ns1__helpResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__S_USCOREvalue:
+		soap_serialize_ns1__S_USCOREvalue(soap, (const struct ns1__S_USCOREvalue *)ptr);
+		break;
+	case SOAP_TYPE_ns1__S_USCOREvalueResponse:
+		soap_serialize_ns1__S_USCOREvalueResponse(soap, (const struct ns1__S_USCOREvalueResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__leading_USCOREstrand:
+		soap_serialize_ns1__leading_USCOREstrand(soap, (const struct ns1__leading_USCOREstrand *)ptr);
+		break;
+	case SOAP_TYPE_ns1__leading_USCOREstrandResponse:
+		soap_serialize_ns1__leading_USCOREstrandResponse(soap, (const struct ns1__leading_USCOREstrandResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__scs:
+		soap_serialize_ns1__scs(soap, (const struct ns1__scs *)ptr);
+		break;
+	case SOAP_TYPE_ns1__scsResponse:
+		soap_serialize_ns1__scsResponse(soap, (const struct ns1__scsResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__lda_USCOREbias:
+		soap_serialize_ns1__lda_USCOREbias(soap, (const struct ns1__lda_USCOREbias *)ptr);
+		break;
+	case SOAP_TYPE_ns1__lda_USCOREbiasResponse:
+		soap_serialize_ns1__lda_USCOREbiasResponse(soap, (const struct ns1__lda_USCOREbiasResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__kmer_USCOREtable:
+		soap_serialize_ns1__kmer_USCOREtable(soap, (const struct ns1__kmer_USCOREtable *)ptr);
+		break;
+	case SOAP_TYPE_ns1__kmer_USCOREtableResponse:
+		soap_serialize_ns1__kmer_USCOREtableResponse(soap, (const struct ns1__kmer_USCOREtableResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__base_USCOREz_USCOREvalue:
+		soap_serialize_ns1__base_USCOREz_USCOREvalue(soap, (const struct ns1__base_USCOREz_USCOREvalue *)ptr);
+		break;
+	case SOAP_TYPE_ns1__base_USCOREz_USCOREvalueResponse:
+		soap_serialize_ns1__base_USCOREz_USCOREvalueResponse(soap, (const struct ns1__base_USCOREz_USCOREvalueResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__base_USCOREcounter:
+		soap_serialize_ns1__base_USCOREcounter(soap, (const struct ns1__base_USCOREcounter *)ptr);
+		break;
+	case SOAP_TYPE_ns1__base_USCOREcounterResponse:
+		soap_serialize_ns1__base_USCOREcounterResponse(soap, (const struct ns1__base_USCOREcounterResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__B2:
+		soap_serialize_ns1__B2(soap, (const struct ns1__B2 *)ptr);
+		break;
+	case SOAP_TYPE_ns1__B2Response:
+		soap_serialize_ns1__B2Response(soap, (const struct ns1__B2Response *)ptr);
+		break;
+	case SOAP_TYPE_ns1__B1:
+		soap_serialize_ns1__B1(soap, (const struct ns1__B1 *)ptr);
+		break;
+	case SOAP_TYPE_ns1__B1Response:
+		soap_serialize_ns1__B1Response(soap, (const struct ns1__B1Response *)ptr);
+		break;
+	case SOAP_TYPE_ns1__cgr:
+		soap_serialize_ns1__cgr(soap, (const struct ns1__cgr *)ptr);
+		break;
+	case SOAP_TYPE_ns1__cgrResponse:
+		soap_serialize_ns1__cgrResponse(soap, (const struct ns1__cgrResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__dinuc:
+		soap_serialize_ns1__dinuc(soap, (const struct ns1__dinuc *)ptr);
+		break;
+	case SOAP_TYPE_ns1__dinucResponse:
+		soap_serialize_ns1__dinucResponse(soap, (const struct ns1__dinucResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__least_USCOREsquares_USCOREfit:
+		soap_serialize_ns1__least_USCOREsquares_USCOREfit(soap, (const struct ns1__least_USCOREsquares_USCOREfit *)ptr);
+		break;
+	case SOAP_TYPE_ns1__least_USCOREsquares_USCOREfitResponse:
+		soap_serialize_ns1__least_USCOREsquares_USCOREfitResponse(soap, (const struct ns1__least_USCOREsquares_USCOREfitResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__palindrome:
+		soap_serialize_ns1__palindrome(soap, (const struct ns1__palindrome *)ptr);
+		break;
+	case SOAP_TYPE_ns1__palindromeResponse:
+		soap_serialize_ns1__palindromeResponse(soap, (const struct ns1__palindromeResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__entrez:
+		soap_serialize_ns1__entrez(soap, (const struct ns1__entrez *)ptr);
+		break;
+	case SOAP_TYPE_ns1__entrezResponse:
+		soap_serialize_ns1__entrezResponse(soap, (const struct ns1__entrezResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__codon_USCOREcounter:
+		soap_serialize_ns1__codon_USCOREcounter(soap, (const struct ns1__codon_USCOREcounter *)ptr);
+		break;
+	case SOAP_TYPE_ns1__codon_USCOREcounterResponse:
+		soap_serialize_ns1__codon_USCOREcounterResponse(soap, (const struct ns1__codon_USCOREcounterResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__mean:
+		soap_serialize_ns1__mean(soap, (const struct ns1__mean *)ptr);
+		break;
+	case SOAP_TYPE_ns1__meanResponse:
+		soap_serialize_ns1__meanResponse(soap, (const struct ns1__meanResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__complement:
+		soap_serialize_ns1__complement(soap, (const struct ns1__complement *)ptr);
+		break;
+	case SOAP_TYPE_ns1__complementResponse:
+		soap_serialize_ns1__complementResponse(soap, (const struct ns1__complementResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__find_USCOREiteron:
+		soap_serialize_ns1__find_USCOREiteron(soap, (const struct ns1__find_USCOREiteron *)ptr);
+		break;
+	case SOAP_TYPE_ns1__find_USCOREiteronResponse:
+		soap_serialize_ns1__find_USCOREiteronResponse(soap, (const struct ns1__find_USCOREiteronResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__min:
+		soap_serialize_ns1__min(soap, (const struct ns1__min *)ptr);
+		break;
+	case SOAP_TYPE_ns1__minResponse:
+		soap_serialize_ns1__minResponse(soap, (const struct ns1__minResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__codon_USCOREusage:
+		soap_serialize_ns1__codon_USCOREusage(soap, (const struct ns1__codon_USCOREusage *)ptr);
+		break;
+	case SOAP_TYPE_ns1__codon_USCOREusageResponse:
+		soap_serialize_ns1__codon_USCOREusageResponse(soap, (const struct ns1__codon_USCOREusageResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__oligomer_USCOREcounter:
+		soap_serialize_ns1__oligomer_USCOREcounter(soap, (const struct ns1__oligomer_USCOREcounter *)ptr);
+		break;
+	case SOAP_TYPE_ns1__oligomer_USCOREcounterResponse:
+		soap_serialize_ns1__oligomer_USCOREcounterResponse(soap, (const struct ns1__oligomer_USCOREcounterResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__gcwin:
+		soap_serialize_ns1__gcwin(soap, (const struct ns1__gcwin *)ptr);
+		break;
+	case SOAP_TYPE_ns1__gcwinResponse:
+		soap_serialize_ns1__gcwinResponse(soap, (const struct ns1__gcwinResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__find_USCOREpattern:
+		soap_serialize_ns1__find_USCOREpattern(soap, (const struct ns1__find_USCOREpattern *)ptr);
+		break;
+	case SOAP_TYPE_ns1__find_USCOREpatternResponse:
+		soap_serialize_ns1__find_USCOREpatternResponse(soap, (const struct ns1__find_USCOREpatternResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__oligomer_USCOREsearch:
+		soap_serialize_ns1__oligomer_USCOREsearch(soap, (const struct ns1__oligomer_USCOREsearch *)ptr);
+		break;
+	case SOAP_TYPE_ns1__oligomer_USCOREsearchResponse:
+		soap_serialize_ns1__oligomer_USCOREsearchResponse(soap, (const struct ns1__oligomer_USCOREsearchResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__shuffleseq:
+		soap_serialize_ns1__shuffleseq(soap, (const struct ns1__shuffleseq *)ptr);
+		break;
+	case SOAP_TYPE_ns1__shuffleseqResponse:
+		soap_serialize_ns1__shuffleseqResponse(soap, (const struct ns1__shuffleseqResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__find_USCOREter:
+		soap_serialize_ns1__find_USCOREter(soap, (const struct ns1__find_USCOREter *)ptr);
+		break;
+	case SOAP_TYPE_ns1__find_USCOREterResponse:
+		soap_serialize_ns1__find_USCOREterResponse(soap, (const struct ns1__find_USCOREterResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__dnawalk:
+		soap_serialize_ns1__dnawalk(soap, (const struct ns1__dnawalk *)ptr);
+		break;
+	case SOAP_TYPE_ns1__dnawalkResponse:
+		soap_serialize_ns1__dnawalkResponse(soap, (const struct ns1__dnawalkResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontent:
+		soap_serialize_ns1__base_USCOREinformation_USCOREcontent(soap, (const struct ns1__base_USCOREinformation_USCOREcontent *)ptr);
+		break;
+	case SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentResponse:
+		soap_serialize_ns1__base_USCOREinformation_USCOREcontentResponse(soap, (const struct ns1__base_USCOREinformation_USCOREcontentResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__signature:
+		soap_serialize_ns1__signature(soap, (const struct ns1__signature *)ptr);
+		break;
+	case SOAP_TYPE_ns1__signatureResponse:
+		soap_serialize_ns1__signatureResponse(soap, (const struct ns1__signatureResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__seqinfo:
+		soap_serialize_ns1__seqinfo(soap, (const struct ns1__seqinfo *)ptr);
+		break;
+	case SOAP_TYPE_ns1__seqinfoResponse:
+		soap_serialize_ns1__seqinfoResponse(soap, (const struct ns1__seqinfoResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__genome_USCOREmap3:
+		soap_serialize_ns1__genome_USCOREmap3(soap, (const struct ns1__genome_USCOREmap3 *)ptr);
+		break;
+	case SOAP_TYPE_ns1__genome_USCOREmap3Response:
+		soap_serialize_ns1__genome_USCOREmap3Response(soap, (const struct ns1__genome_USCOREmap3Response *)ptr);
+		break;
+	case SOAP_TYPE_ns1__gcskew:
+		soap_serialize_ns1__gcskew(soap, (const struct ns1__gcskew *)ptr);
+		break;
+	case SOAP_TYPE_ns1__gcskewResponse:
+		soap_serialize_ns1__gcskewResponse(soap, (const struct ns1__gcskewResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__molecular_USCOREweight:
+		soap_serialize_ns1__molecular_USCOREweight(soap, (const struct ns1__molecular_USCOREweight *)ptr);
+		break;
+	case SOAP_TYPE_ns1__molecular_USCOREweightResponse:
+		soap_serialize_ns1__molecular_USCOREweightResponse(soap, (const struct ns1__molecular_USCOREweightResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__delta_USCOREgcskew:
+		soap_serialize_ns1__delta_USCOREgcskew(soap, (const struct ns1__delta_USCOREgcskew *)ptr);
+		break;
+	case SOAP_TYPE_ns1__delta_USCOREgcskewResponse:
+		soap_serialize_ns1__delta_USCOREgcskewResponse(soap, (const struct ns1__delta_USCOREgcskewResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__delta_USCOREenc:
+		soap_serialize_ns1__delta_USCOREenc(soap, (const struct ns1__delta_USCOREenc *)ptr);
+		break;
+	case SOAP_TYPE_ns1__delta_USCOREencResponse:
+		soap_serialize_ns1__delta_USCOREencResponse(soap, (const struct ns1__delta_USCOREencResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__cumulative:
+		soap_serialize_ns1__cumulative(soap, (const struct ns1__cumulative *)ptr);
+		break;
+	case SOAP_TYPE_ns1__cumulativeResponse:
+		soap_serialize_ns1__cumulativeResponse(soap, (const struct ns1__cumulativeResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__cor:
+		soap_serialize_ns1__cor(soap, (const struct ns1__cor *)ptr);
+		break;
+	case SOAP_TYPE_ns1__corResponse:
+		soap_serialize_ns1__corResponse(soap, (const struct ns1__corResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__standard_USCOREdeviation:
+		soap_serialize_ns1__standard_USCOREdeviation(soap, (const struct ns1__standard_USCOREdeviation *)ptr);
+		break;
+	case SOAP_TYPE_ns1__standard_USCOREdeviationResponse:
+		soap_serialize_ns1__standard_USCOREdeviationResponse(soap, (const struct ns1__standard_USCOREdeviationResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__geneskew:
+		soap_serialize_ns1__geneskew(soap, (const struct ns1__geneskew *)ptr);
+		break;
+	case SOAP_TYPE_ns1__geneskewResponse:
+		soap_serialize_ns1__geneskewResponse(soap, (const struct ns1__geneskewResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__genes_USCOREfrom_USCOREori:
+		soap_serialize_ns1__genes_USCOREfrom_USCOREori(soap, (const struct ns1__genes_USCOREfrom_USCOREori *)ptr);
+		break;
+	case SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriResponse:
+		soap_serialize_ns1__genes_USCOREfrom_USCOREoriResponse(soap, (const struct ns1__genes_USCOREfrom_USCOREoriResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__cbi:
+		soap_serialize_ns1__cbi(soap, (const struct ns1__cbi *)ptr);
+		break;
+	case SOAP_TYPE_ns1__cbiResponse:
+		soap_serialize_ns1__cbiResponse(soap, (const struct ns1__cbiResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__find_USCOREdif:
+		soap_serialize_ns1__find_USCOREdif(soap, (const struct ns1__find_USCOREdif *)ptr);
+		break;
+	case SOAP_TYPE_ns1__find_USCOREdifResponse:
+		soap_serialize_ns1__find_USCOREdifResponse(soap, (const struct ns1__find_USCOREdifResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__to_USCOREfasta:
+		soap_serialize_ns1__to_USCOREfasta(soap, (const struct ns1__to_USCOREfasta *)ptr);
+		break;
+	case SOAP_TYPE_ns1__to_USCOREfastaResponse:
+		soap_serialize_ns1__to_USCOREfastaResponse(soap, (const struct ns1__to_USCOREfastaResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__base_USCOREentropy:
+		soap_serialize_ns1__base_USCOREentropy(soap, (const struct ns1__base_USCOREentropy *)ptr);
+		break;
+	case SOAP_TYPE_ns1__base_USCOREentropyResponse:
+		soap_serialize_ns1__base_USCOREentropyResponse(soap, (const struct ns1__base_USCOREentropyResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__DoubleHelix:
+		soap_serialize_ns1__DoubleHelix(soap, (const struct ns1__DoubleHelix *)ptr);
+		break;
+	case SOAP_TYPE_ns1__DoubleHelixResponse:
+		soap_serialize_ns1__DoubleHelixResponse(soap, (const struct ns1__DoubleHelixResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__calc_USCOREpI:
+		soap_serialize_ns1__calc_USCOREpI(soap, (const struct ns1__calc_USCOREpI *)ptr);
+		break;
+	case SOAP_TYPE_ns1__calc_USCOREpIResponse:
+		soap_serialize_ns1__calc_USCOREpIResponse(soap, (const struct ns1__calc_USCOREpIResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__rep_USCOREori_USCOREter:
+		soap_serialize_ns1__rep_USCOREori_USCOREter(soap, (const struct ns1__rep_USCOREori_USCOREter *)ptr);
+		break;
+	case SOAP_TYPE_ns1__rep_USCOREori_USCOREterResponse:
+		soap_serialize_ns1__rep_USCOREori_USCOREterResponse(soap, (const struct ns1__rep_USCOREori_USCOREterResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__longest_USCOREORF:
+		soap_serialize_ns1__longest_USCOREORF(soap, (const struct ns1__longest_USCOREORF *)ptr);
+		break;
+	case SOAP_TYPE_ns1__longest_USCOREORFResponse:
+		soap_serialize_ns1__longest_USCOREORFResponse(soap, (const struct ns1__longest_USCOREORFResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__genome_USCOREmap:
+		soap_serialize_ns1__genome_USCOREmap(soap, (const struct ns1__genome_USCOREmap *)ptr);
+		break;
+	case SOAP_TYPE_ns1__genome_USCOREmapResponse:
+		soap_serialize_ns1__genome_USCOREmapResponse(soap, (const struct ns1__genome_USCOREmapResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__consensus_USCOREz:
+		soap_serialize_ns1__consensus_USCOREz(soap, (const struct ns1__consensus_USCOREz *)ptr);
+		break;
+	case SOAP_TYPE_ns1__consensus_USCOREzResponse:
+		soap_serialize_ns1__consensus_USCOREzResponse(soap, (const struct ns1__consensus_USCOREzResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__mindex:
+		soap_serialize_ns1__mindex(soap, (const struct ns1__mindex *)ptr);
+		break;
+	case SOAP_TYPE_ns1__mindexResponse:
+		soap_serialize_ns1__mindexResponse(soap, (const struct ns1__mindexResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__query_USCOREarm:
+		soap_serialize_ns1__query_USCOREarm(soap, (const struct ns1__query_USCOREarm *)ptr);
+		break;
+	case SOAP_TYPE_ns1__query_USCOREarmResponse:
+		soap_serialize_ns1__query_USCOREarmResponse(soap, (const struct ns1__query_USCOREarmResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__max:
+		soap_serialize_ns1__max(soap, (const struct ns1__max *)ptr);
+		break;
+	case SOAP_TYPE_ns1__maxResponse:
+		soap_serialize_ns1__maxResponse(soap, (const struct ns1__maxResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__maxdex:
+		soap_serialize_ns1__maxdex(soap, (const struct ns1__maxdex *)ptr);
+		break;
+	case SOAP_TYPE_ns1__maxdexResponse:
+		soap_serialize_ns1__maxdexResponse(soap, (const struct ns1__maxdexResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__cai:
+		soap_serialize_ns1__cai(soap, (const struct ns1__cai *)ptr);
+		break;
+	case SOAP_TYPE_ns1__caiResponse:
+		soap_serialize_ns1__caiResponse(soap, (const struct ns1__caiResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__gcsi:
+		soap_serialize_ns1__gcsi(soap, (const struct ns1__gcsi *)ptr);
+		break;
+	case SOAP_TYPE_ns1__gcsiResponse:
+		soap_serialize_ns1__gcsiResponse(soap, (const struct ns1__gcsiResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatg:
+		soap_serialize_ns1__filter_USCOREcds_USCOREby_USCOREatg(soap, (const struct ns1__filter_USCOREcds_USCOREby_USCOREatg *)ptr);
+		break;
+	case SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse:
+		soap_serialize_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, (const struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__genomicskew:
+		soap_serialize_ns1__genomicskew(soap, (const struct ns1__genomicskew *)ptr);
+		break;
+	case SOAP_TYPE_ns1__genomicskewResponse:
+		soap_serialize_ns1__genomicskewResponse(soap, (const struct ns1__genomicskewResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__query_USCOREstrand:
+		soap_serialize_ns1__query_USCOREstrand(soap, (const struct ns1__query_USCOREstrand *)ptr);
+		break;
+	case SOAP_TYPE_ns1__query_USCOREstrandResponse:
+		soap_serialize_ns1__query_USCOREstrandResponse(soap, (const struct ns1__query_USCOREstrandResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__view_USCOREcds:
+		soap_serialize_ns1__view_USCOREcds(soap, (const struct ns1__view_USCOREcds *)ptr);
+		break;
+	case SOAP_TYPE_ns1__view_USCOREcdsResponse:
+		soap_serialize_ns1__view_USCOREcdsResponse(soap, (const struct ns1__view_USCOREcdsResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__base_USCORErelative_USCOREentropy:
+		soap_serialize_ns1__base_USCORErelative_USCOREentropy(soap, (const struct ns1__base_USCORErelative_USCOREentropy *)ptr);
+		break;
+	case SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyResponse:
+		soap_serialize_ns1__base_USCORErelative_USCOREentropyResponse(soap, (const struct ns1__base_USCORErelative_USCOREentropyResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__Ew:
+		soap_serialize_ns1__Ew(soap, (const struct ns1__Ew *)ptr);
+		break;
+	case SOAP_TYPE_ns1__EwResponse:
+		soap_serialize_ns1__EwResponse(soap, (const struct ns1__EwResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__over_USCORElapping_USCOREfinder:
+		soap_serialize_ns1__over_USCORElapping_USCOREfinder(soap, (const struct ns1__over_USCORElapping_USCOREfinder *)ptr);
+		break;
+	case SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderResponse:
+		soap_serialize_ns1__over_USCORElapping_USCOREfinderResponse(soap, (const struct ns1__over_USCORElapping_USCOREfinderResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__codon_USCOREcompiler:
+		soap_serialize_ns1__codon_USCOREcompiler(soap, (const struct ns1__codon_USCOREcompiler *)ptr);
+		break;
+	case SOAP_TYPE_ns1__codon_USCOREcompilerResponse:
+		soap_serialize_ns1__codon_USCOREcompilerResponse(soap, (const struct ns1__codon_USCOREcompilerResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__aaui:
+		soap_serialize_ns1__aaui(soap, (const struct ns1__aaui *)ptr);
+		break;
+	case SOAP_TYPE_ns1__aauiResponse:
+		soap_serialize_ns1__aauiResponse(soap, (const struct ns1__aauiResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__amino_USCOREcounter:
+		soap_serialize_ns1__amino_USCOREcounter(soap, (const struct ns1__amino_USCOREcounter *)ptr);
+		break;
+	case SOAP_TYPE_ns1__amino_USCOREcounterResponse:
+		soap_serialize_ns1__amino_USCOREcounterResponse(soap, (const struct ns1__amino_USCOREcounterResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__seq2png:
+		soap_serialize_ns1__seq2png(soap, (const struct ns1__seq2png *)ptr);
+		break;
+	case SOAP_TYPE_ns1__seq2pngResponse:
+		soap_serialize_ns1__seq2pngResponse(soap, (const struct ns1__seq2pngResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__ttest:
+		soap_serialize_ns1__ttest(soap, (const struct ns1__ttest *)ptr);
+		break;
+	case SOAP_TYPE_ns1__ttestResponse:
+		soap_serialize_ns1__ttestResponse(soap, (const struct ns1__ttestResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__find_USCOREdnaAbox:
+		soap_serialize_ns1__find_USCOREdnaAbox(soap, (const struct ns1__find_USCOREdnaAbox *)ptr);
+		break;
+	case SOAP_TYPE_ns1__find_USCOREdnaAboxResponse:
+		soap_serialize_ns1__find_USCOREdnaAboxResponse(soap, (const struct ns1__find_USCOREdnaAboxResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__dist_USCOREin_USCOREcc:
+		soap_serialize_ns1__dist_USCOREin_USCOREcc(soap, (const struct ns1__dist_USCOREin_USCOREcc *)ptr);
+		break;
+	case SOAP_TYPE_ns1__dist_USCOREin_USCOREccResponse:
+		soap_serialize_ns1__dist_USCOREin_USCOREccResponse(soap, (const struct ns1__dist_USCOREin_USCOREccResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__bui:
+		soap_serialize_ns1__bui(soap, (const struct ns1__bui *)ptr);
+		break;
+	case SOAP_TYPE_ns1__buiResponse:
+		soap_serialize_ns1__buiResponse(soap, (const struct ns1__buiResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__fop:
+		soap_serialize_ns1__fop(soap, (const struct ns1__fop *)ptr);
+		break;
+	case SOAP_TYPE_ns1__fopResponse:
+		soap_serialize_ns1__fopResponse(soap, (const struct ns1__fopResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__enc:
+		soap_serialize_ns1__enc(soap, (const struct ns1__enc *)ptr);
+		break;
+	case SOAP_TYPE_ns1__encResponse:
+		soap_serialize_ns1__encResponse(soap, (const struct ns1__encResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__icdi:
+		soap_serialize_ns1__icdi(soap, (const struct ns1__icdi *)ptr);
+		break;
+	case SOAP_TYPE_ns1__icdiResponse:
+		soap_serialize_ns1__icdiResponse(soap, (const struct ns1__icdiResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__phx:
+		soap_serialize_ns1__phx(soap, (const struct ns1__phx *)ptr);
+		break;
+	case SOAP_TYPE_ns1__phxResponse:
+		soap_serialize_ns1__phxResponse(soap, (const struct ns1__phxResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__translate:
+		soap_serialize_ns1__translate(soap, (const struct ns1__translate *)ptr);
+		break;
+	case SOAP_TYPE_ns1__translateResponse:
+		soap_serialize_ns1__translateResponse(soap, (const struct ns1__translateResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__togoWS:
+		soap_serialize_ns1__togoWS(soap, (const struct ns1__togoWS *)ptr);
+		break;
+	case SOAP_TYPE_ns1__togoWSResponse:
+		soap_serialize_ns1__togoWSResponse(soap, (const struct ns1__togoWSResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__circular_USCOREmap:
+		soap_serialize_ns1__circular_USCOREmap(soap, (const struct ns1__circular_USCOREmap *)ptr);
+		break;
+	case SOAP_TYPE_ns1__circular_USCOREmapResponse:
+		soap_serialize_ns1__circular_USCOREmapResponse(soap, (const struct ns1__circular_USCOREmapResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__amino_USCOREinfo:
+		soap_serialize_ns1__amino_USCOREinfo(soap, (const struct ns1__amino_USCOREinfo *)ptr);
+		break;
+	case SOAP_TYPE_ns1__amino_USCOREinfoResponse:
+		soap_serialize_ns1__amino_USCOREinfoResponse(soap, (const struct ns1__amino_USCOREinfoResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__variance:
+		soap_serialize_ns1__variance(soap, (const struct ns1__variance *)ptr);
+		break;
+	case SOAP_TYPE_ns1__varianceResponse:
+		soap_serialize_ns1__varianceResponse(soap, (const struct ns1__varianceResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__nucleotide_USCOREperiodicity:
+		soap_serialize_ns1__nucleotide_USCOREperiodicity(soap, (const struct ns1__nucleotide_USCOREperiodicity *)ptr);
+		break;
+	case SOAP_TYPE_ns1__nucleotide_USCOREperiodicityResponse:
+		soap_serialize_ns1__nucleotide_USCOREperiodicityResponse(soap, (const struct ns1__nucleotide_USCOREperiodicityResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__sum:
+		soap_serialize_ns1__sum(soap, (const struct ns1__sum *)ptr);
+		break;
+	case SOAP_TYPE_ns1__sumResponse:
+		soap_serialize_ns1__sumResponse(soap, (const struct ns1__sumResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__plasmid_USCOREmap:
+		soap_serialize_ns1__plasmid_USCOREmap(soap, (const struct ns1__plasmid_USCOREmap *)ptr);
+		break;
+	case SOAP_TYPE_ns1__plasmid_USCOREmapResponse:
+		soap_serialize_ns1__plasmid_USCOREmapResponse(soap, (const struct ns1__plasmid_USCOREmapResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__find_USCOREori_USCOREter:
+		soap_serialize_ns1__find_USCOREori_USCOREter(soap, (const struct ns1__find_USCOREori_USCOREter *)ptr);
+		break;
+	case SOAP_TYPE_ns1__find_USCOREori_USCOREterResponse:
+		soap_serialize_ns1__find_USCOREori_USCOREterResponse(soap, (const struct ns1__find_USCOREori_USCOREterResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__median:
+		soap_serialize_ns1__median(soap, (const struct ns1__median *)ptr);
+		break;
+	case SOAP_TYPE_ns1__medianResponse:
+		soap_serialize_ns1__medianResponse(soap, (const struct ns1__medianResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__splitprintseq:
+		soap_serialize_ns1__splitprintseq(soap, (const struct ns1__splitprintseq *)ptr);
+		break;
+	case SOAP_TYPE_ns1__splitprintseqResponse:
+		soap_serialize_ns1__splitprintseqResponse(soap, (const struct ns1__splitprintseqResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__w_USCOREvalue:
+		soap_serialize_ns1__w_USCOREvalue(soap, (const struct ns1__w_USCOREvalue *)ptr);
+		break;
+	case SOAP_TYPE_ns1__w_USCOREvalueResponse:
+		soap_serialize_ns1__w_USCOREvalueResponse(soap, (const struct ns1__w_USCOREvalueResponse *)ptr);
+		break;
+	case SOAP_TYPE_ns1__P2:
+		soap_serialize_ns1__P2(soap, (const struct ns1__P2 *)ptr);
+		break;
+	case SOAP_TYPE_ns1__P2Response:
+		soap_serialize_ns1__P2Response(soap, (const struct ns1__P2Response *)ptr);
+		break;
+	case SOAP_TYPE_ns1__codon_USCOREmva:
+		soap_serialize_ns1__codon_USCOREmva(soap, (const struct ns1__codon_USCOREmva *)ptr);
+		break;
+	case SOAP_TYPE_ns1__codon_USCOREmvaResponse:
+		soap_serialize_ns1__codon_USCOREmvaResponse(soap, (const struct ns1__codon_USCOREmvaResponse *)ptr);
+		break;
+	case SOAP_TYPE_arrayOut:
+		soap_serialize_arrayOut(soap, (const struct arrayOut *)ptr);
+		break;
+	case SOAP_TYPE_arrayIn:
+		soap_serialize_arrayIn(soap, (const struct arrayIn *)ptr);
+		break;
+	case SOAP_TYPE_ns1__S_USCOREvalueInputParams:
+		soap_serialize_ns1__S_USCOREvalueInputParams(soap, (const struct ns1__S_USCOREvalueInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__scsInputParams:
+		soap_serialize_ns1__scsInputParams(soap, (const struct ns1__scsInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__signatureInputParams:
+		soap_serialize_ns1__signatureInputParams(soap, (const struct ns1__signatureInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__lda_USCOREbiasInputParams:
+		soap_serialize_ns1__lda_USCOREbiasInputParams(soap, (const struct ns1__lda_USCOREbiasInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__kmer_USCOREtableInputParams:
+		soap_serialize_ns1__kmer_USCOREtableInputParams(soap, (const struct ns1__kmer_USCOREtableInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__base_USCOREz_USCOREvalueInputParams:
+		soap_serialize_ns1__base_USCOREz_USCOREvalueInputParams(soap, (const struct ns1__base_USCOREz_USCOREvalueInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__base_USCOREcounterInputParams:
+		soap_serialize_ns1__base_USCOREcounterInputParams(soap, (const struct ns1__base_USCOREcounterInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__B1InputParams:
+		soap_serialize_ns1__B1InputParams(soap, (const struct ns1__B1InputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__cgrInputParams:
+		soap_serialize_ns1__cgrInputParams(soap, (const struct ns1__cgrInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__dinucInputParams:
+		soap_serialize_ns1__dinucInputParams(soap, (const struct ns1__dinucInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__caiInputParams:
+		soap_serialize_ns1__caiInputParams(soap, (const struct ns1__caiInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams:
+		soap_serialize_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, (const struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__gcsiInputParams:
+		soap_serialize_ns1__gcsiInputParams(soap, (const struct ns1__gcsiInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__query_USCOREstrandInputParams:
+		soap_serialize_ns1__query_USCOREstrandInputParams(soap, (const struct ns1__query_USCOREstrandInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__genomicskewInputParams:
+		soap_serialize_ns1__genomicskewInputParams(soap, (const struct ns1__genomicskewInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__palindromeInputParams:
+		soap_serialize_ns1__palindromeInputParams(soap, (const struct ns1__palindromeInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyInputParams:
+		soap_serialize_ns1__base_USCORErelative_USCOREentropyInputParams(soap, (const struct ns1__base_USCORErelative_USCOREentropyInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__view_USCOREcdsInputParams:
+		soap_serialize_ns1__view_USCOREcdsInputParams(soap, (const struct ns1__view_USCOREcdsInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__codon_USCOREcounterInputParams:
+		soap_serialize_ns1__codon_USCOREcounterInputParams(soap, (const struct ns1__codon_USCOREcounterInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__EwInputParams:
+		soap_serialize_ns1__EwInputParams(soap, (const struct ns1__EwInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__find_USCOREiteronInputParams:
+		soap_serialize_ns1__find_USCOREiteronInputParams(soap, (const struct ns1__find_USCOREiteronInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderInputParams:
+		soap_serialize_ns1__over_USCORElapping_USCOREfinderInputParams(soap, (const struct ns1__over_USCORElapping_USCOREfinderInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__codon_USCOREcompilerInputParams:
+		soap_serialize_ns1__codon_USCOREcompilerInputParams(soap, (const struct ns1__codon_USCOREcompilerInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__aauiInputParams:
+		soap_serialize_ns1__aauiInputParams(soap, (const struct ns1__aauiInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__amino_USCOREcounterInputParams:
+		soap_serialize_ns1__amino_USCOREcounterInputParams(soap, (const struct ns1__amino_USCOREcounterInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__seq2pngInputParams:
+		soap_serialize_ns1__seq2pngInputParams(soap, (const struct ns1__seq2pngInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__ttestInputParams:
+		soap_serialize_ns1__ttestInputParams(soap, (const struct ns1__ttestInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__find_USCOREdnaAboxInputParams:
+		soap_serialize_ns1__find_USCOREdnaAboxInputParams(soap, (const struct ns1__find_USCOREdnaAboxInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__codon_USCOREusageInputParams:
+		soap_serialize_ns1__codon_USCOREusageInputParams(soap, (const struct ns1__codon_USCOREusageInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__buiInputParams:
+		soap_serialize_ns1__buiInputParams(soap, (const struct ns1__buiInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__fopInputParams:
+		soap_serialize_ns1__fopInputParams(soap, (const struct ns1__fopInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__oligomer_USCOREcounterInputParams:
+		soap_serialize_ns1__oligomer_USCOREcounterInputParams(soap, (const struct ns1__oligomer_USCOREcounterInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__encInputParams:
+		soap_serialize_ns1__encInputParams(soap, (const struct ns1__encInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__icdiInputParams:
+		soap_serialize_ns1__icdiInputParams(soap, (const struct ns1__icdiInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__gcwinInputParams:
+		soap_serialize_ns1__gcwinInputParams(soap, (const struct ns1__gcwinInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__find_USCOREpatternInputParams:
+		soap_serialize_ns1__find_USCOREpatternInputParams(soap, (const struct ns1__find_USCOREpatternInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__oligomer_USCOREsearchInputParams:
+		soap_serialize_ns1__oligomer_USCOREsearchInputParams(soap, (const struct ns1__oligomer_USCOREsearchInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__phxInputParams:
+		soap_serialize_ns1__phxInputParams(soap, (const struct ns1__phxInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__shuffleseqInputParams:
+		soap_serialize_ns1__shuffleseqInputParams(soap, (const struct ns1__shuffleseqInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__find_USCOREterInputParams:
+		soap_serialize_ns1__find_USCOREterInputParams(soap, (const struct ns1__find_USCOREterInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__dnawalkInputParams:
+		soap_serialize_ns1__dnawalkInputParams(soap, (const struct ns1__dnawalkInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentInputParams:
+		soap_serialize_ns1__base_USCOREinformation_USCOREcontentInputParams(soap, (const struct ns1__base_USCOREinformation_USCOREcontentInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__togoWSInputParams:
+		soap_serialize_ns1__togoWSInputParams(soap, (const struct ns1__togoWSInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__genome_USCOREmap3InputParams:
+		soap_serialize_ns1__genome_USCOREmap3InputParams(soap, (const struct ns1__genome_USCOREmap3InputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__gcskewInputParams:
+		soap_serialize_ns1__gcskewInputParams(soap, (const struct ns1__gcskewInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__circular_USCOREmapInputParams:
+		soap_serialize_ns1__circular_USCOREmapInputParams(soap, (const struct ns1__circular_USCOREmapInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__molecular_USCOREweightInputParams:
+		soap_serialize_ns1__molecular_USCOREweightInputParams(soap, (const struct ns1__molecular_USCOREweightInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__delta_USCOREgcskewInputParams:
+		soap_serialize_ns1__delta_USCOREgcskewInputParams(soap, (const struct ns1__delta_USCOREgcskewInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__corInputParams:
+		soap_serialize_ns1__corInputParams(soap, (const struct ns1__corInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__geneskewInputParams:
+		soap_serialize_ns1__geneskewInputParams(soap, (const struct ns1__geneskewInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriInputParams:
+		soap_serialize_ns1__genes_USCOREfrom_USCOREoriInputParams(soap, (const struct ns1__genes_USCOREfrom_USCOREoriInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__cbiInputParams:
+		soap_serialize_ns1__cbiInputParams(soap, (const struct ns1__cbiInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__find_USCOREdifInputParams:
+		soap_serialize_ns1__find_USCOREdifInputParams(soap, (const struct ns1__find_USCOREdifInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__to_USCOREfastaInputParams:
+		soap_serialize_ns1__to_USCOREfastaInputParams(soap, (const struct ns1__to_USCOREfastaInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__nucleotide_USCOREperiodicityInputParams:
+		soap_serialize_ns1__nucleotide_USCOREperiodicityInputParams(soap, (const struct ns1__nucleotide_USCOREperiodicityInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__base_USCOREentropyInputParams:
+		soap_serialize_ns1__base_USCOREentropyInputParams(soap, (const struct ns1__base_USCOREentropyInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__plasmid_USCOREmapInputParams:
+		soap_serialize_ns1__plasmid_USCOREmapInputParams(soap, (const struct ns1__plasmid_USCOREmapInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__DoubleHelixInputParams:
+		soap_serialize_ns1__DoubleHelixInputParams(soap, (const struct ns1__DoubleHelixInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__rep_USCOREori_USCOREterInputParams:
+		soap_serialize_ns1__rep_USCOREori_USCOREterInputParams(soap, (const struct ns1__rep_USCOREori_USCOREterInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__genome_USCOREmapInputParams:
+		soap_serialize_ns1__genome_USCOREmapInputParams(soap, (const struct ns1__genome_USCOREmapInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__consensus_USCOREzInputParams:
+		soap_serialize_ns1__consensus_USCOREzInputParams(soap, (const struct ns1__consensus_USCOREzInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__find_USCOREori_USCOREterInputParams:
+		soap_serialize_ns1__find_USCOREori_USCOREterInputParams(soap, (const struct ns1__find_USCOREori_USCOREterInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__w_USCOREvalueInputParams:
+		soap_serialize_ns1__w_USCOREvalueInputParams(soap, (const struct ns1__w_USCOREvalueInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__P2InputParams:
+		soap_serialize_ns1__P2InputParams(soap, (const struct ns1__P2InputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__codon_USCOREmvaInputParams:
+		soap_serialize_ns1__codon_USCOREmvaInputParams(soap, (const struct ns1__codon_USCOREmvaInputParams *)ptr);
+		break;
+	case SOAP_TYPE_ns1__Definition:
+		soap_serialize_ns1__Definition(soap, (const struct ns1__Definition *)ptr);
+		break;
+	case SOAP_TYPE_PointerTofloat:
+		soap_serialize_PointerTofloat(soap, (float *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__S_USCOREvalueInputParams:
+		soap_serialize_PointerTons1__S_USCOREvalueInputParams(soap, (struct ns1__S_USCOREvalueInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__leading_USCOREstrandResponse:
+		soap_serialize_PointerTons1__leading_USCOREstrandResponse(soap, (struct ns1__leading_USCOREstrandResponse *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__scsInputParams:
+		soap_serialize_PointerTons1__scsInputParams(soap, (struct ns1__scsInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__lda_USCOREbiasInputParams:
+		soap_serialize_PointerTons1__lda_USCOREbiasInputParams(soap, (struct ns1__lda_USCOREbiasInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__kmer_USCOREtableInputParams:
+		soap_serialize_PointerTons1__kmer_USCOREtableInputParams(soap, (struct ns1__kmer_USCOREtableInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__base_USCOREz_USCOREvalueInputParams:
+		soap_serialize_PointerTons1__base_USCOREz_USCOREvalueInputParams(soap, (struct ns1__base_USCOREz_USCOREvalueInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__base_USCOREcounterInputParams:
+		soap_serialize_PointerTons1__base_USCOREcounterInputParams(soap, (struct ns1__base_USCOREcounterInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__B1InputParams:
+		soap_serialize_PointerTons1__B1InputParams(soap, (struct ns1__B1InputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__cgrInputParams:
+		soap_serialize_PointerTons1__cgrInputParams(soap, (struct ns1__cgrInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__dinucInputParams:
+		soap_serialize_PointerTons1__dinucInputParams(soap, (struct ns1__dinucInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__least_USCOREsquares_USCOREfitResponse:
+		soap_serialize_PointerTons1__least_USCOREsquares_USCOREfitResponse(soap, (struct ns1__least_USCOREsquares_USCOREfitResponse *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__palindromeInputParams:
+		soap_serialize_PointerTons1__palindromeInputParams(soap, (struct ns1__palindromeInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__codon_USCOREcounterInputParams:
+		soap_serialize_PointerTons1__codon_USCOREcounterInputParams(soap, (struct ns1__codon_USCOREcounterInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__find_USCOREiteronInputParams:
+		soap_serialize_PointerTons1__find_USCOREiteronInputParams(soap, (struct ns1__find_USCOREiteronInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__codon_USCOREusageInputParams:
+		soap_serialize_PointerTons1__codon_USCOREusageInputParams(soap, (struct ns1__codon_USCOREusageInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__oligomer_USCOREcounterInputParams:
+		soap_serialize_PointerTons1__oligomer_USCOREcounterInputParams(soap, (struct ns1__oligomer_USCOREcounterInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__gcwinInputParams:
+		soap_serialize_PointerTons1__gcwinInputParams(soap, (struct ns1__gcwinInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__find_USCOREpatternInputParams:
+		soap_serialize_PointerTons1__find_USCOREpatternInputParams(soap, (struct ns1__find_USCOREpatternInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__oligomer_USCOREsearchResponse:
+		soap_serialize_PointerTons1__oligomer_USCOREsearchResponse(soap, (struct ns1__oligomer_USCOREsearchResponse *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__oligomer_USCOREsearchInputParams:
+		soap_serialize_PointerTons1__oligomer_USCOREsearchInputParams(soap, (struct ns1__oligomer_USCOREsearchInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__shuffleseqInputParams:
+		soap_serialize_PointerTons1__shuffleseqInputParams(soap, (struct ns1__shuffleseqInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__find_USCOREterResponse:
+		soap_serialize_PointerTons1__find_USCOREterResponse(soap, (struct ns1__find_USCOREterResponse *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__find_USCOREterInputParams:
+		soap_serialize_PointerTons1__find_USCOREterInputParams(soap, (struct ns1__find_USCOREterInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__dnawalkInputParams:
+		soap_serialize_PointerTons1__dnawalkInputParams(soap, (struct ns1__dnawalkInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__base_USCOREinformation_USCOREcontentInputParams:
+		soap_serialize_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(soap, (struct ns1__base_USCOREinformation_USCOREcontentInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__signatureInputParams:
+		soap_serialize_PointerTons1__signatureInputParams(soap, (struct ns1__signatureInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__genome_USCOREmap3InputParams:
+		soap_serialize_PointerTons1__genome_USCOREmap3InputParams(soap, (struct ns1__genome_USCOREmap3InputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__gcskewInputParams:
+		soap_serialize_PointerTons1__gcskewInputParams(soap, (struct ns1__gcskewInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__molecular_USCOREweightInputParams:
+		soap_serialize_PointerTons1__molecular_USCOREweightInputParams(soap, (struct ns1__molecular_USCOREweightInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__delta_USCOREgcskewInputParams:
+		soap_serialize_PointerTons1__delta_USCOREgcskewInputParams(soap, (struct ns1__delta_USCOREgcskewInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__cumulativeResponse:
+		soap_serialize_PointerTons1__cumulativeResponse(soap, (struct ns1__cumulativeResponse *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__corResponse:
+		soap_serialize_PointerTons1__corResponse(soap, (struct ns1__corResponse *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__corInputParams:
+		soap_serialize_PointerTons1__corInputParams(soap, (struct ns1__corInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__geneskewInputParams:
+		soap_serialize_PointerTons1__geneskewInputParams(soap, (struct ns1__geneskewInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__genes_USCOREfrom_USCOREoriResponse:
+		soap_serialize_PointerTons1__genes_USCOREfrom_USCOREoriResponse(soap, (struct ns1__genes_USCOREfrom_USCOREoriResponse *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__genes_USCOREfrom_USCOREoriInputParams:
+		soap_serialize_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(soap, (struct ns1__genes_USCOREfrom_USCOREoriInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__cbiInputParams:
+		soap_serialize_PointerTons1__cbiInputParams(soap, (struct ns1__cbiInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__find_USCOREdifResponse:
+		soap_serialize_PointerTons1__find_USCOREdifResponse(soap, (struct ns1__find_USCOREdifResponse *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__find_USCOREdifInputParams:
+		soap_serialize_PointerTons1__find_USCOREdifInputParams(soap, (struct ns1__find_USCOREdifInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__to_USCOREfastaInputParams:
+		soap_serialize_PointerTons1__to_USCOREfastaInputParams(soap, (struct ns1__to_USCOREfastaInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__base_USCOREentropyInputParams:
+		soap_serialize_PointerTons1__base_USCOREentropyInputParams(soap, (struct ns1__base_USCOREentropyInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__DoubleHelixInputParams:
+		soap_serialize_PointerTons1__DoubleHelixInputParams(soap, (struct ns1__DoubleHelixInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__rep_USCOREori_USCOREterInputParams:
+		soap_serialize_PointerTons1__rep_USCOREori_USCOREterInputParams(soap, (struct ns1__rep_USCOREori_USCOREterInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__genome_USCOREmapInputParams:
+		soap_serialize_PointerTons1__genome_USCOREmapInputParams(soap, (struct ns1__genome_USCOREmapInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__consensus_USCOREzInputParams:
+		soap_serialize_PointerTons1__consensus_USCOREzInputParams(soap, (struct ns1__consensus_USCOREzInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__caiInputParams:
+		soap_serialize_PointerTons1__caiInputParams(soap, (struct ns1__caiInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__gcsiInputParams:
+		soap_serialize_PointerTons1__gcsiInputParams(soap, (struct ns1__gcsiInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse:
+		soap_serialize_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, (struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams:
+		soap_serialize_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, (struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__genomicskewInputParams:
+		soap_serialize_PointerTons1__genomicskewInputParams(soap, (struct ns1__genomicskewInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__query_USCOREstrandInputParams:
+		soap_serialize_PointerTons1__query_USCOREstrandInputParams(soap, (struct ns1__query_USCOREstrandInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__view_USCOREcdsInputParams:
+		soap_serialize_PointerTons1__view_USCOREcdsInputParams(soap, (struct ns1__view_USCOREcdsInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__base_USCORErelative_USCOREentropyInputParams:
+		soap_serialize_PointerTons1__base_USCORErelative_USCOREentropyInputParams(soap, (struct ns1__base_USCORErelative_USCOREentropyInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__EwInputParams:
+		soap_serialize_PointerTons1__EwInputParams(soap, (struct ns1__EwInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__over_USCORElapping_USCOREfinderInputParams:
+		soap_serialize_PointerTons1__over_USCORElapping_USCOREfinderInputParams(soap, (struct ns1__over_USCORElapping_USCOREfinderInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__codon_USCOREcompilerInputParams:
+		soap_serialize_PointerTons1__codon_USCOREcompilerInputParams(soap, (struct ns1__codon_USCOREcompilerInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__aauiInputParams:
+		soap_serialize_PointerTons1__aauiInputParams(soap, (struct ns1__aauiInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__amino_USCOREcounterInputParams:
+		soap_serialize_PointerTons1__amino_USCOREcounterInputParams(soap, (struct ns1__amino_USCOREcounterInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__seq2pngInputParams:
+		soap_serialize_PointerTons1__seq2pngInputParams(soap, (struct ns1__seq2pngInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__ttestResponse:
+		soap_serialize_PointerTons1__ttestResponse(soap, (struct ns1__ttestResponse *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__ttestInputParams:
+		soap_serialize_PointerTons1__ttestInputParams(soap, (struct ns1__ttestInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerToarrayOut:
+		soap_serialize_PointerToarrayOut(soap, (struct arrayOut *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__find_USCOREdnaAboxInputParams:
+		soap_serialize_PointerTons1__find_USCOREdnaAboxInputParams(soap, (struct ns1__find_USCOREdnaAboxInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__buiInputParams:
+		soap_serialize_PointerTons1__buiInputParams(soap, (struct ns1__buiInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__fopInputParams:
+		soap_serialize_PointerTons1__fopInputParams(soap, (struct ns1__fopInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__encInputParams:
+		soap_serialize_PointerTons1__encInputParams(soap, (struct ns1__encInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__icdiInputParams:
+		soap_serialize_PointerTons1__icdiInputParams(soap, (struct ns1__icdiInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__phxInputParams:
+		soap_serialize_PointerTons1__phxInputParams(soap, (struct ns1__phxInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__togoWSInputParams:
+		soap_serialize_PointerTons1__togoWSInputParams(soap, (struct ns1__togoWSInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__circular_USCOREmapInputParams:
+		soap_serialize_PointerTons1__circular_USCOREmapInputParams(soap, (struct ns1__circular_USCOREmapInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__nucleotide_USCOREperiodicityInputParams:
+		soap_serialize_PointerTons1__nucleotide_USCOREperiodicityInputParams(soap, (struct ns1__nucleotide_USCOREperiodicityInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__plasmid_USCOREmapInputParams:
+		soap_serialize_PointerTons1__plasmid_USCOREmapInputParams(soap, (struct ns1__plasmid_USCOREmapInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__find_USCOREori_USCOREterInputParams:
+		soap_serialize_PointerTons1__find_USCOREori_USCOREterInputParams(soap, (struct ns1__find_USCOREori_USCOREterInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerToarrayIn:
+		soap_serialize_PointerToarrayIn(soap, (struct arrayIn *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__w_USCOREvalueInputParams:
+		soap_serialize_PointerTons1__w_USCOREvalueInputParams(soap, (struct ns1__w_USCOREvalueInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__P2InputParams:
+		soap_serialize_PointerTons1__P2InputParams(soap, (struct ns1__P2InputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTons1__codon_USCOREmvaInputParams:
+		soap_serialize_PointerTons1__codon_USCOREmvaInputParams(soap, (struct ns1__codon_USCOREmvaInputParams *const*)ptr);
+		break;
+	case SOAP_TYPE_PointerTostring:
+		soap_serialize_PointerTostring(soap, (char **const*)ptr);
+		break;
+	case SOAP_TYPE__QName:
+		soap_serialize_string(soap, (char*const*)&ptr);
+		break;
+	case SOAP_TYPE_string:
+		soap_serialize_string(soap, (char*const*)&ptr);
+		break;
+	}
+}
+#endif
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_byte(struct soap *soap, char *a)
+{
+	(void)soap; /* appease -Wall -Werror */
+#ifdef SOAP_DEFAULT_byte
+	*a = SOAP_DEFAULT_byte;
+#else
+	*a = (char)0;
+#endif
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_byte(struct soap *soap, const char *tag, int id, const char *a, const char *type)
+{	(void)soap; (void)type; (void)tag; (void)id;
+	return soap_outbyte(soap, tag, id, a, type, SOAP_TYPE_byte);
+}
+
+SOAP_FMAC3 char * SOAP_FMAC4 soap_in_byte(struct soap *soap, const char *tag, char *a, const char *type)
+{	char *p;
+	p = soap_inbyte(soap, tag, a, type, SOAP_TYPE_byte);
+	return p;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_byte(struct soap *soap, const char *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_byte);
+	if (soap_out_byte(soap, tag?tag:"byte", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 char * SOAP_FMAC4 soap_get_byte(struct soap *soap, char *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_byte(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_int(struct soap *soap, int *a)
+{
+	(void)soap; /* appease -Wall -Werror */
+#ifdef SOAP_DEFAULT_int
+	*a = SOAP_DEFAULT_int;
+#else
+	*a = (int)0;
+#endif
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_int(struct soap *soap, const char *tag, int id, const int *a, const char *type)
+{	(void)soap; (void)type; (void)tag; (void)id;
+	return soap_outint(soap, tag, id, a, type, SOAP_TYPE_int);
+}
+
+SOAP_FMAC3 int * SOAP_FMAC4 soap_in_int(struct soap *soap, const char *tag, int *a, const char *type)
+{	int *p;
+	p = soap_inint(soap, tag, a, type, SOAP_TYPE_int);
+	return p;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_int(struct soap *soap, const int *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_int);
+	if (soap_out_int(soap, tag?tag:"int", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 int * SOAP_FMAC4 soap_get_int(struct soap *soap, int *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_int(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_float(struct soap *soap, float *a)
+{
+	(void)soap; /* appease -Wall -Werror */
+#ifdef SOAP_DEFAULT_float
+	*a = SOAP_DEFAULT_float;
+#else
+	*a = (float)0;
+#endif
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_float(struct soap *soap, const char *tag, int id, const float *a, const char *type)
+{	(void)soap; (void)type; (void)tag; (void)id;
+	return soap_outfloat(soap, tag, id, a, type, SOAP_TYPE_float);
+}
+
+SOAP_FMAC3 float * SOAP_FMAC4 soap_in_float(struct soap *soap, const char *tag, float *a, const char *type)
+{	float *p;
+	p = soap_infloat(soap, tag, a, type, SOAP_TYPE_float);
+	return p;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_float(struct soap *soap, const float *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_float);
+	if (soap_out_float(soap, tag?tag:"float", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 float * SOAP_FMAC4 soap_get_float(struct soap *soap, float *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_float(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_double(struct soap *soap, double *a)
+{
+	(void)soap; /* appease -Wall -Werror */
+#ifdef SOAP_DEFAULT_double
+	*a = SOAP_DEFAULT_double;
+#else
+	*a = (double)0;
+#endif
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_double(struct soap *soap, const char *tag, int id, const double *a, const char *type)
+{	(void)soap; (void)type; (void)tag; (void)id;
+	return soap_outdouble(soap, tag, id, a, type, SOAP_TYPE_double);
+}
+
+SOAP_FMAC3 double * SOAP_FMAC4 soap_in_double(struct soap *soap, const char *tag, double *a, const char *type)
+{	double *p;
+	p = soap_indouble(soap, tag, a, type, SOAP_TYPE_double);
+	return p;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_double(struct soap *soap, const double *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_double);
+	if (soap_out_double(soap, tag?tag:"double", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 double * SOAP_FMAC4 soap_get_double(struct soap *soap, double *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_double(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+#ifndef WITH_NOGLOBAL
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Fault(struct soap *soap, struct SOAP_ENV__Fault *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default__QName(soap, &a->faultcode);
+	soap_default_string(soap, &a->faultstring);
+	soap_default_string(soap, &a->faultactor);
+	a->detail = NULL;
+	a->SOAP_ENV__Code = NULL;
+	a->SOAP_ENV__Reason = NULL;
+	soap_default_string(soap, &a->SOAP_ENV__Node);
+	soap_default_string(soap, &a->SOAP_ENV__Role);
+	a->SOAP_ENV__Detail = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Fault(struct soap *soap, const struct SOAP_ENV__Fault *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize__QName(soap, &a->faultcode);
+	soap_serialize_string(soap, &a->faultstring);
+	soap_serialize_string(soap, &a->faultactor);
+	soap_serialize_PointerToSOAP_ENV__Detail(soap, &a->detail);
+	soap_serialize_PointerToSOAP_ENV__Code(soap, &a->SOAP_ENV__Code);
+	soap_serialize_PointerToSOAP_ENV__Reason(soap, &a->SOAP_ENV__Reason);
+	soap_serialize_string(soap, &a->SOAP_ENV__Node);
+	soap_serialize_string(soap, &a->SOAP_ENV__Role);
+	soap_serialize_PointerToSOAP_ENV__Detail(soap, &a->SOAP_ENV__Detail);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Fault(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Fault *a, const char *type)
+{
+	const char *soap_tmp_faultcode = soap_QName2s(soap, a->faultcode);
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Fault), type))
+		return soap->error;
+	if (soap_out__QName(soap, "faultcode", -1, (char*const*)&soap_tmp_faultcode, ""))
+		return soap->error;
+	if (soap_out_string(soap, "faultstring", -1, &a->faultstring, ""))
+		return soap->error;
+	if (soap_out_string(soap, "faultactor", -1, &a->faultactor, ""))
+		return soap->error;
+	if (soap_out_PointerToSOAP_ENV__Detail(soap, "detail", -1, &a->detail, ""))
+		return soap->error;
+	if (soap_out_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Code", -1, &a->SOAP_ENV__Code, ""))
+		return soap->error;
+	if (soap_out_PointerToSOAP_ENV__Reason(soap, "SOAP-ENV:Reason", -1, &a->SOAP_ENV__Reason, ""))
+		return soap->error;
+	if (soap_out_string(soap, "SOAP-ENV:Node", -1, &a->SOAP_ENV__Node, ""))
+		return soap->error;
+	if (soap_out_string(soap, "SOAP-ENV:Role", -1, &a->SOAP_ENV__Role, ""))
+		return soap->error;
+	if (soap_out_PointerToSOAP_ENV__Detail(soap, "SOAP-ENV:Detail", -1, &a->SOAP_ENV__Detail, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct SOAP_ENV__Fault * SOAP_FMAC4 soap_in_SOAP_ENV__Fault(struct soap *soap, const char *tag, struct SOAP_ENV__Fault *a, const char *type)
+{
+	size_t soap_flag_faultcode = 1;
+	size_t soap_flag_faultstring = 1;
+	size_t soap_flag_faultactor = 1;
+	size_t soap_flag_detail = 1;
+	size_t soap_flag_SOAP_ENV__Code = 1;
+	size_t soap_flag_SOAP_ENV__Reason = 1;
+	size_t soap_flag_SOAP_ENV__Node = 1;
+	size_t soap_flag_SOAP_ENV__Role = 1;
+	size_t soap_flag_SOAP_ENV__Detail = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct SOAP_ENV__Fault *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Fault, sizeof(struct SOAP_ENV__Fault), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_SOAP_ENV__Fault(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_faultcode && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in__QName(soap, "faultcode", &a->faultcode, ""))
+				{	soap_flag_faultcode--;
+					continue;
+				}
+			if (soap_flag_faultstring && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "faultstring", &a->faultstring, "xsd:string"))
+				{	soap_flag_faultstring--;
+					continue;
+				}
+			if (soap_flag_faultactor && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "faultactor", &a->faultactor, "xsd:string"))
+				{	soap_flag_faultactor--;
+					continue;
+				}
+			if (soap_flag_detail && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToSOAP_ENV__Detail(soap, "detail", &a->detail, ""))
+				{	soap_flag_detail--;
+					continue;
+				}
+			if (soap_flag_SOAP_ENV__Code && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Code", &a->SOAP_ENV__Code, ""))
+				{	soap_flag_SOAP_ENV__Code--;
+					continue;
+				}
+			if (soap_flag_SOAP_ENV__Reason && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToSOAP_ENV__Reason(soap, "SOAP-ENV:Reason", &a->SOAP_ENV__Reason, ""))
+				{	soap_flag_SOAP_ENV__Reason--;
+					continue;
+				}
+			if (soap_flag_SOAP_ENV__Node && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "SOAP-ENV:Node", &a->SOAP_ENV__Node, "xsd:string"))
+				{	soap_flag_SOAP_ENV__Node--;
+					continue;
+				}
+			if (soap_flag_SOAP_ENV__Role && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "SOAP-ENV:Role", &a->SOAP_ENV__Role, "xsd:string"))
+				{	soap_flag_SOAP_ENV__Role--;
+					continue;
+				}
+			if (soap_flag_SOAP_ENV__Detail && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToSOAP_ENV__Detail(soap, "SOAP-ENV:Detail", &a->SOAP_ENV__Detail, ""))
+				{	soap_flag_SOAP_ENV__Detail--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct SOAP_ENV__Fault *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Fault, 0, sizeof(struct SOAP_ENV__Fault), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Fault(struct soap *soap, const struct SOAP_ENV__Fault *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Fault);
+	if (soap_out_SOAP_ENV__Fault(soap, tag?tag:"SOAP-ENV:Fault", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct SOAP_ENV__Fault * SOAP_FMAC4 soap_get_SOAP_ENV__Fault(struct soap *soap, struct SOAP_ENV__Fault *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_SOAP_ENV__Fault(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+#endif
+
+#ifndef WITH_NOGLOBAL
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->SOAP_ENV__Text);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Reason(struct soap *soap, const struct SOAP_ENV__Reason *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->SOAP_ENV__Text);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Reason(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Reason *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Reason), type))
+		return soap->error;
+	if (soap->lang)
+		soap_set_attr(soap, "xml:lang", soap->lang, 1);
+	if (soap_out_string(soap, "SOAP-ENV:Text", -1, &a->SOAP_ENV__Text, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct SOAP_ENV__Reason * SOAP_FMAC4 soap_in_SOAP_ENV__Reason(struct soap *soap, const char *tag, struct SOAP_ENV__Reason *a, const char *type)
+{
+	size_t soap_flag_SOAP_ENV__Text = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct SOAP_ENV__Reason *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Reason, sizeof(struct SOAP_ENV__Reason), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_SOAP_ENV__Reason(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_SOAP_ENV__Text && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "SOAP-ENV:Text", &a->SOAP_ENV__Text, "xsd:string"))
+				{	soap_flag_SOAP_ENV__Text--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct SOAP_ENV__Reason *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Reason, 0, sizeof(struct SOAP_ENV__Reason), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Reason(struct soap *soap, const struct SOAP_ENV__Reason *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Reason);
+	if (soap_out_SOAP_ENV__Reason(soap, tag?tag:"SOAP-ENV:Reason", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct SOAP_ENV__Reason * SOAP_FMAC4 soap_get_SOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_SOAP_ENV__Reason(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+#endif
+
+#ifndef WITH_NOGLOBAL
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->__any = NULL;
+	a->__type = 0;
+	a->fault = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Detail(struct soap *soap, const struct SOAP_ENV__Detail *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_markelement(soap, a->fault, a->__type);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Detail(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Detail *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Detail), type))
+		return soap->error;
+	soap_outliteral(soap, "-any", &a->__any, NULL);
+	if (soap_putelement(soap, a->fault, "fault", -1, a->__type))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct SOAP_ENV__Detail * SOAP_FMAC4 soap_in_SOAP_ENV__Detail(struct soap *soap, const char *tag, struct SOAP_ENV__Detail *a, const char *type)
+{
+	size_t soap_flag___any = 1;
+	size_t soap_flag_fault = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct SOAP_ENV__Detail *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Detail, sizeof(struct SOAP_ENV__Detail), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_SOAP_ENV__Detail(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_fault && soap->error == SOAP_TAG_MISMATCH)
+				if ((a->fault = soap_getelement(soap, &a->__type)))
+				{	soap_flag_fault = 0;
+					continue;
+				}
+			if (soap_flag___any && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_inliteral(soap, "-any", &a->__any))
+				{	soap_flag___any--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct SOAP_ENV__Detail *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Detail, 0, sizeof(struct SOAP_ENV__Detail), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Detail(struct soap *soap, const struct SOAP_ENV__Detail *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Detail);
+	if (soap_out_SOAP_ENV__Detail(soap, tag?tag:"SOAP-ENV:Detail", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct SOAP_ENV__Detail * SOAP_FMAC4 soap_get_SOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_SOAP_ENV__Detail(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+#endif
+
+#ifndef WITH_NOGLOBAL
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default__QName(soap, &a->SOAP_ENV__Value);
+	a->SOAP_ENV__Subcode = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Code(struct soap *soap, const struct SOAP_ENV__Code *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize__QName(soap, &a->SOAP_ENV__Value);
+	soap_serialize_PointerToSOAP_ENV__Code(soap, &a->SOAP_ENV__Subcode);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Code(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Code *a, const char *type)
+{
+	const char *soap_tmp_SOAP_ENV__Value = soap_QName2s(soap, a->SOAP_ENV__Value);
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Code), type))
+		return soap->error;
+	if (soap_out__QName(soap, "SOAP-ENV:Value", -1, (char*const*)&soap_tmp_SOAP_ENV__Value, ""))
+		return soap->error;
+	if (soap_out_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Subcode", -1, &a->SOAP_ENV__Subcode, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct SOAP_ENV__Code * SOAP_FMAC4 soap_in_SOAP_ENV__Code(struct soap *soap, const char *tag, struct SOAP_ENV__Code *a, const char *type)
+{
+	size_t soap_flag_SOAP_ENV__Value = 1;
+	size_t soap_flag_SOAP_ENV__Subcode = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct SOAP_ENV__Code *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Code, sizeof(struct SOAP_ENV__Code), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_SOAP_ENV__Code(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_SOAP_ENV__Value && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in__QName(soap, "SOAP-ENV:Value", &a->SOAP_ENV__Value, ""))
+				{	soap_flag_SOAP_ENV__Value--;
+					continue;
+				}
+			if (soap_flag_SOAP_ENV__Subcode && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Subcode", &a->SOAP_ENV__Subcode, ""))
+				{	soap_flag_SOAP_ENV__Subcode--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct SOAP_ENV__Code *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Code, 0, sizeof(struct SOAP_ENV__Code), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Code(struct soap *soap, const struct SOAP_ENV__Code *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Code);
+	if (soap_out_SOAP_ENV__Code(soap, tag?tag:"SOAP-ENV:Code", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct SOAP_ENV__Code * SOAP_FMAC4 soap_get_SOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_SOAP_ENV__Code(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+#endif
+
+#ifndef WITH_NOGLOBAL
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Header(struct soap *soap, struct SOAP_ENV__Header *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Header(struct soap *soap, const struct SOAP_ENV__Header *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Header(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Header *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Header), type))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct SOAP_ENV__Header * SOAP_FMAC4 soap_in_SOAP_ENV__Header(struct soap *soap, const char *tag, struct SOAP_ENV__Header *a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct SOAP_ENV__Header *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Header, sizeof(struct SOAP_ENV__Header), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_SOAP_ENV__Header(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct SOAP_ENV__Header *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Header, 0, sizeof(struct SOAP_ENV__Header), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Header(struct soap *soap, const struct SOAP_ENV__Header *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Header);
+	if (soap_out_SOAP_ENV__Header(soap, tag?tag:"SOAP-ENV:Header", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct SOAP_ENV__Header * SOAP_FMAC4 soap_get_SOAP_ENV__Header(struct soap *soap, struct SOAP_ENV__Header *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_SOAP_ENV__Header(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+#endif
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__hydropathy(struct soap *soap, struct ns1__hydropathy *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__hydropathy(struct soap *soap, const struct ns1__hydropathy *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__hydropathy(struct soap *soap, const char *tag, int id, const struct ns1__hydropathy *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__hydropathy), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__hydropathy * SOAP_FMAC4 soap_in_ns1__hydropathy(struct soap *soap, const char *tag, struct ns1__hydropathy *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__hydropathy *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__hydropathy, sizeof(struct ns1__hydropathy), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__hydropathy(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__hydropathy *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__hydropathy, 0, sizeof(struct ns1__hydropathy), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__hydropathy(struct soap *soap, const struct ns1__hydropathy *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__hydropathy);
+	if (soap_out_ns1__hydropathy(soap, tag?tag:"ns1:hydropathy", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__hydropathy * SOAP_FMAC4 soap_get_ns1__hydropathy(struct soap *soap, struct ns1__hydropathy *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__hydropathy(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__hydropathyResponse(struct soap *soap, struct ns1__hydropathyResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__hydropathyResponse(struct soap *soap, const struct ns1__hydropathyResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTofloat(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__hydropathyResponse(struct soap *soap, const char *tag, int id, const struct ns1__hydropathyResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__hydropathyResponse), type))
+		return soap->error;
+	if (soap_out_PointerTofloat(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__hydropathyResponse * SOAP_FMAC4 soap_in_ns1__hydropathyResponse(struct soap *soap, const char *tag, struct ns1__hydropathyResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__hydropathyResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__hydropathyResponse, sizeof(struct ns1__hydropathyResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__hydropathyResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTofloat(soap, NULL, &a->_result, "xsd:float"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__hydropathyResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__hydropathyResponse, 0, sizeof(struct ns1__hydropathyResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__hydropathyResponse(struct soap *soap, const struct ns1__hydropathyResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__hydropathyResponse);
+	if (soap_out_ns1__hydropathyResponse(soap, tag?tag:"ns1:hydropathyResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__hydropathyResponse * SOAP_FMAC4 soap_get_ns1__hydropathyResponse(struct soap *soap, struct ns1__hydropathyResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__hydropathyResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__help(struct soap *soap, struct ns1__help *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_keywords);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__help(struct soap *soap, const struct ns1__help *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_keywords);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__help(struct soap *soap, const char *tag, int id, const struct ns1__help *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__help), type))
+		return soap->error;
+	if (soap_out_string(soap, "keywords", -1, &a->_keywords, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__help * SOAP_FMAC4 soap_in_ns1__help(struct soap *soap, const char *tag, struct ns1__help *a, const char *type)
+{
+	size_t soap_flag__keywords = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__help *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__help, sizeof(struct ns1__help), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__help(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__keywords && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_keywords, "xsd:string"))
+				{	soap_flag__keywords--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__help *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__help, 0, sizeof(struct ns1__help), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__help(struct soap *soap, const struct ns1__help *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__help);
+	if (soap_out_ns1__help(soap, tag?tag:"ns1:help", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__help * SOAP_FMAC4 soap_get_ns1__help(struct soap *soap, struct ns1__help *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__help(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__helpResponse(struct soap *soap, struct ns1__helpResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__helpResponse(struct soap *soap, const struct ns1__helpResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__helpResponse(struct soap *soap, const char *tag, int id, const struct ns1__helpResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__helpResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__helpResponse * SOAP_FMAC4 soap_in_ns1__helpResponse(struct soap *soap, const char *tag, struct ns1__helpResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__helpResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__helpResponse, sizeof(struct ns1__helpResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__helpResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__helpResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__helpResponse, 0, sizeof(struct ns1__helpResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__helpResponse(struct soap *soap, const struct ns1__helpResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__helpResponse);
+	if (soap_out_ns1__helpResponse(soap, tag?tag:"ns1:helpResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__helpResponse * SOAP_FMAC4 soap_get_ns1__helpResponse(struct soap *soap, struct ns1__helpResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__helpResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__S_USCOREvalue(struct soap *soap, struct ns1__S_USCOREvalue *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__S_USCOREvalue(struct soap *soap, const struct ns1__S_USCOREvalue *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__S_USCOREvalueInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__S_USCOREvalue(struct soap *soap, const char *tag, int id, const struct ns1__S_USCOREvalue *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__S_USCOREvalue), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__S_USCOREvalueInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__S_USCOREvalue * SOAP_FMAC4 soap_in_ns1__S_USCOREvalue(struct soap *soap, const char *tag, struct ns1__S_USCOREvalue *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__S_USCOREvalue *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__S_USCOREvalue, sizeof(struct ns1__S_USCOREvalue), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__S_USCOREvalue(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__S_USCOREvalueInputParams(soap, NULL, &a->_params, "ns1:S_valueInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__S_USCOREvalue *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__S_USCOREvalue, 0, sizeof(struct ns1__S_USCOREvalue), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__S_USCOREvalue(struct soap *soap, const struct ns1__S_USCOREvalue *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__S_USCOREvalue);
+	if (soap_out_ns1__S_USCOREvalue(soap, tag?tag:"ns1:S_value", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__S_USCOREvalue * SOAP_FMAC4 soap_get_ns1__S_USCOREvalue(struct soap *soap, struct ns1__S_USCOREvalue *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__S_USCOREvalue(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__S_USCOREvalueResponse(struct soap *soap, struct ns1__S_USCOREvalueResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__S_USCOREvalueResponse(struct soap *soap, const struct ns1__S_USCOREvalueResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__S_USCOREvalueResponse(struct soap *soap, const char *tag, int id, const struct ns1__S_USCOREvalueResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__S_USCOREvalueResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__S_USCOREvalueResponse * SOAP_FMAC4 soap_in_ns1__S_USCOREvalueResponse(struct soap *soap, const char *tag, struct ns1__S_USCOREvalueResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__S_USCOREvalueResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__S_USCOREvalueResponse, sizeof(struct ns1__S_USCOREvalueResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__S_USCOREvalueResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__S_USCOREvalueResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__S_USCOREvalueResponse, 0, sizeof(struct ns1__S_USCOREvalueResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__S_USCOREvalueResponse(struct soap *soap, const struct ns1__S_USCOREvalueResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__S_USCOREvalueResponse);
+	if (soap_out_ns1__S_USCOREvalueResponse(soap, tag?tag:"ns1:S_valueResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__S_USCOREvalueResponse * SOAP_FMAC4 soap_get_ns1__S_USCOREvalueResponse(struct soap *soap, struct ns1__S_USCOREvalueResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__S_USCOREvalueResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__leading_USCOREstrand(struct soap *soap, struct ns1__leading_USCOREstrand *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__leading_USCOREstrand(struct soap *soap, const struct ns1__leading_USCOREstrand *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__leading_USCOREstrand(struct soap *soap, const char *tag, int id, const struct ns1__leading_USCOREstrand *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__leading_USCOREstrand), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__leading_USCOREstrand * SOAP_FMAC4 soap_in_ns1__leading_USCOREstrand(struct soap *soap, const char *tag, struct ns1__leading_USCOREstrand *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__leading_USCOREstrand *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__leading_USCOREstrand, sizeof(struct ns1__leading_USCOREstrand), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__leading_USCOREstrand(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__leading_USCOREstrand *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__leading_USCOREstrand, 0, sizeof(struct ns1__leading_USCOREstrand), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__leading_USCOREstrand(struct soap *soap, const struct ns1__leading_USCOREstrand *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__leading_USCOREstrand);
+	if (soap_out_ns1__leading_USCOREstrand(soap, tag?tag:"ns1:leading_strand", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__leading_USCOREstrand * SOAP_FMAC4 soap_get_ns1__leading_USCOREstrand(struct soap *soap, struct ns1__leading_USCOREstrand *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__leading_USCOREstrand(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__leading_USCOREstrandResponse(struct soap *soap, struct ns1__leading_USCOREstrandResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__leading_USCOREstrandResponse(struct soap *soap, const struct ns1__leading_USCOREstrandResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayOut(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__leading_USCOREstrandResponse(struct soap *soap, const char *tag, int id, const struct ns1__leading_USCOREstrandResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__leading_USCOREstrandResponse), type))
+		return soap->error;
+	if (soap_out_PointerToarrayOut(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__leading_USCOREstrandResponse * SOAP_FMAC4 soap_in_ns1__leading_USCOREstrandResponse(struct soap *soap, const char *tag, struct ns1__leading_USCOREstrandResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__leading_USCOREstrandResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__leading_USCOREstrandResponse, sizeof(struct ns1__leading_USCOREstrandResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__leading_USCOREstrandResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayOut(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__leading_USCOREstrandResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__leading_USCOREstrandResponse, 0, sizeof(struct ns1__leading_USCOREstrandResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__leading_USCOREstrandResponse(struct soap *soap, const struct ns1__leading_USCOREstrandResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__leading_USCOREstrandResponse);
+	if (soap_out_ns1__leading_USCOREstrandResponse(soap, tag?tag:"ns1:leading_strandResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__leading_USCOREstrandResponse * SOAP_FMAC4 soap_get_ns1__leading_USCOREstrandResponse(struct soap *soap, struct ns1__leading_USCOREstrandResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__leading_USCOREstrandResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__scs(struct soap *soap, struct ns1__scs *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__scs(struct soap *soap, const struct ns1__scs *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__scsInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__scs(struct soap *soap, const char *tag, int id, const struct ns1__scs *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__scs), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__scsInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__scs * SOAP_FMAC4 soap_in_ns1__scs(struct soap *soap, const char *tag, struct ns1__scs *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__scs *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__scs, sizeof(struct ns1__scs), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__scs(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__scsInputParams(soap, NULL, &a->_params, "ns1:scsInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__scs *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__scs, 0, sizeof(struct ns1__scs), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__scs(struct soap *soap, const struct ns1__scs *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__scs);
+	if (soap_out_ns1__scs(soap, tag?tag:"ns1:scs", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__scs * SOAP_FMAC4 soap_get_ns1__scs(struct soap *soap, struct ns1__scs *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__scs(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__scsResponse(struct soap *soap, struct ns1__scsResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__scsResponse(struct soap *soap, const struct ns1__scsResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__scsResponse(struct soap *soap, const char *tag, int id, const struct ns1__scsResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__scsResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__scsResponse * SOAP_FMAC4 soap_in_ns1__scsResponse(struct soap *soap, const char *tag, struct ns1__scsResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__scsResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__scsResponse, sizeof(struct ns1__scsResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__scsResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__scsResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__scsResponse, 0, sizeof(struct ns1__scsResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__scsResponse(struct soap *soap, const struct ns1__scsResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__scsResponse);
+	if (soap_out_ns1__scsResponse(soap, tag?tag:"ns1:scsResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__scsResponse * SOAP_FMAC4 soap_get_ns1__scsResponse(struct soap *soap, struct ns1__scsResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__scsResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__lda_USCOREbias(struct soap *soap, struct ns1__lda_USCOREbias *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__lda_USCOREbias(struct soap *soap, const struct ns1__lda_USCOREbias *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__lda_USCOREbiasInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__lda_USCOREbias(struct soap *soap, const char *tag, int id, const struct ns1__lda_USCOREbias *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__lda_USCOREbias), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__lda_USCOREbiasInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__lda_USCOREbias * SOAP_FMAC4 soap_in_ns1__lda_USCOREbias(struct soap *soap, const char *tag, struct ns1__lda_USCOREbias *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__lda_USCOREbias *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__lda_USCOREbias, sizeof(struct ns1__lda_USCOREbias), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__lda_USCOREbias(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__lda_USCOREbiasInputParams(soap, NULL, &a->_params, "ns1:lda_biasInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__lda_USCOREbias *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__lda_USCOREbias, 0, sizeof(struct ns1__lda_USCOREbias), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__lda_USCOREbias(struct soap *soap, const struct ns1__lda_USCOREbias *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__lda_USCOREbias);
+	if (soap_out_ns1__lda_USCOREbias(soap, tag?tag:"ns1:lda_bias", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__lda_USCOREbias * SOAP_FMAC4 soap_get_ns1__lda_USCOREbias(struct soap *soap, struct ns1__lda_USCOREbias *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__lda_USCOREbias(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__lda_USCOREbiasResponse(struct soap *soap, struct ns1__lda_USCOREbiasResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__lda_USCOREbiasResponse(struct soap *soap, const struct ns1__lda_USCOREbiasResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__lda_USCOREbiasResponse(struct soap *soap, const char *tag, int id, const struct ns1__lda_USCOREbiasResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__lda_USCOREbiasResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__lda_USCOREbiasResponse * SOAP_FMAC4 soap_in_ns1__lda_USCOREbiasResponse(struct soap *soap, const char *tag, struct ns1__lda_USCOREbiasResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__lda_USCOREbiasResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__lda_USCOREbiasResponse, sizeof(struct ns1__lda_USCOREbiasResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__lda_USCOREbiasResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__lda_USCOREbiasResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__lda_USCOREbiasResponse, 0, sizeof(struct ns1__lda_USCOREbiasResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__lda_USCOREbiasResponse(struct soap *soap, const struct ns1__lda_USCOREbiasResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__lda_USCOREbiasResponse);
+	if (soap_out_ns1__lda_USCOREbiasResponse(soap, tag?tag:"ns1:lda_biasResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__lda_USCOREbiasResponse * SOAP_FMAC4 soap_get_ns1__lda_USCOREbiasResponse(struct soap *soap, struct ns1__lda_USCOREbiasResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__lda_USCOREbiasResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__kmer_USCOREtable(struct soap *soap, struct ns1__kmer_USCOREtable *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__kmer_USCOREtable(struct soap *soap, const struct ns1__kmer_USCOREtable *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__kmer_USCOREtableInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__kmer_USCOREtable(struct soap *soap, const char *tag, int id, const struct ns1__kmer_USCOREtable *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__kmer_USCOREtable), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__kmer_USCOREtableInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__kmer_USCOREtable * SOAP_FMAC4 soap_in_ns1__kmer_USCOREtable(struct soap *soap, const char *tag, struct ns1__kmer_USCOREtable *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__kmer_USCOREtable *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__kmer_USCOREtable, sizeof(struct ns1__kmer_USCOREtable), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__kmer_USCOREtable(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__kmer_USCOREtableInputParams(soap, NULL, &a->_params, "ns1:kmer_tableInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__kmer_USCOREtable *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__kmer_USCOREtable, 0, sizeof(struct ns1__kmer_USCOREtable), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__kmer_USCOREtable(struct soap *soap, const struct ns1__kmer_USCOREtable *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__kmer_USCOREtable);
+	if (soap_out_ns1__kmer_USCOREtable(soap, tag?tag:"ns1:kmer_table", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__kmer_USCOREtable * SOAP_FMAC4 soap_get_ns1__kmer_USCOREtable(struct soap *soap, struct ns1__kmer_USCOREtable *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__kmer_USCOREtable(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__kmer_USCOREtableResponse(struct soap *soap, struct ns1__kmer_USCOREtableResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__kmer_USCOREtableResponse(struct soap *soap, const struct ns1__kmer_USCOREtableResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__kmer_USCOREtableResponse(struct soap *soap, const char *tag, int id, const struct ns1__kmer_USCOREtableResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__kmer_USCOREtableResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__kmer_USCOREtableResponse * SOAP_FMAC4 soap_in_ns1__kmer_USCOREtableResponse(struct soap *soap, const char *tag, struct ns1__kmer_USCOREtableResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__kmer_USCOREtableResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__kmer_USCOREtableResponse, sizeof(struct ns1__kmer_USCOREtableResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__kmer_USCOREtableResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__kmer_USCOREtableResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__kmer_USCOREtableResponse, 0, sizeof(struct ns1__kmer_USCOREtableResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__kmer_USCOREtableResponse(struct soap *soap, const struct ns1__kmer_USCOREtableResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__kmer_USCOREtableResponse);
+	if (soap_out_ns1__kmer_USCOREtableResponse(soap, tag?tag:"ns1:kmer_tableResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__kmer_USCOREtableResponse * SOAP_FMAC4 soap_get_ns1__kmer_USCOREtableResponse(struct soap *soap, struct ns1__kmer_USCOREtableResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__kmer_USCOREtableResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREz_USCOREvalue(struct soap *soap, struct ns1__base_USCOREz_USCOREvalue *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREz_USCOREvalue(struct soap *soap, const struct ns1__base_USCOREz_USCOREvalue *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__base_USCOREz_USCOREvalueInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREz_USCOREvalue(struct soap *soap, const char *tag, int id, const struct ns1__base_USCOREz_USCOREvalue *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__base_USCOREz_USCOREvalue), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__base_USCOREz_USCOREvalueInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREz_USCOREvalue * SOAP_FMAC4 soap_in_ns1__base_USCOREz_USCOREvalue(struct soap *soap, const char *tag, struct ns1__base_USCOREz_USCOREvalue *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__base_USCOREz_USCOREvalue *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__base_USCOREz_USCOREvalue, sizeof(struct ns1__base_USCOREz_USCOREvalue), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__base_USCOREz_USCOREvalue(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__base_USCOREz_USCOREvalueInputParams(soap, NULL, &a->_params, "ns1:base_z_valueInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__base_USCOREz_USCOREvalue *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__base_USCOREz_USCOREvalue, 0, sizeof(struct ns1__base_USCOREz_USCOREvalue), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREz_USCOREvalue(struct soap *soap, const struct ns1__base_USCOREz_USCOREvalue *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__base_USCOREz_USCOREvalue);
+	if (soap_out_ns1__base_USCOREz_USCOREvalue(soap, tag?tag:"ns1:base_z_value", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREz_USCOREvalue * SOAP_FMAC4 soap_get_ns1__base_USCOREz_USCOREvalue(struct soap *soap, struct ns1__base_USCOREz_USCOREvalue *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__base_USCOREz_USCOREvalue(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREz_USCOREvalueResponse(struct soap *soap, struct ns1__base_USCOREz_USCOREvalueResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREz_USCOREvalueResponse(struct soap *soap, const struct ns1__base_USCOREz_USCOREvalueResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREz_USCOREvalueResponse(struct soap *soap, const char *tag, int id, const struct ns1__base_USCOREz_USCOREvalueResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__base_USCOREz_USCOREvalueResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREz_USCOREvalueResponse * SOAP_FMAC4 soap_in_ns1__base_USCOREz_USCOREvalueResponse(struct soap *soap, const char *tag, struct ns1__base_USCOREz_USCOREvalueResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__base_USCOREz_USCOREvalueResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__base_USCOREz_USCOREvalueResponse, sizeof(struct ns1__base_USCOREz_USCOREvalueResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__base_USCOREz_USCOREvalueResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__base_USCOREz_USCOREvalueResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__base_USCOREz_USCOREvalueResponse, 0, sizeof(struct ns1__base_USCOREz_USCOREvalueResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREz_USCOREvalueResponse(struct soap *soap, const struct ns1__base_USCOREz_USCOREvalueResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__base_USCOREz_USCOREvalueResponse);
+	if (soap_out_ns1__base_USCOREz_USCOREvalueResponse(soap, tag?tag:"ns1:base_z_valueResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREz_USCOREvalueResponse * SOAP_FMAC4 soap_get_ns1__base_USCOREz_USCOREvalueResponse(struct soap *soap, struct ns1__base_USCOREz_USCOREvalueResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__base_USCOREz_USCOREvalueResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREcounter(struct soap *soap, struct ns1__base_USCOREcounter *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREcounter(struct soap *soap, const struct ns1__base_USCOREcounter *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__base_USCOREcounterInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREcounter(struct soap *soap, const char *tag, int id, const struct ns1__base_USCOREcounter *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__base_USCOREcounter), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__base_USCOREcounterInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREcounter * SOAP_FMAC4 soap_in_ns1__base_USCOREcounter(struct soap *soap, const char *tag, struct ns1__base_USCOREcounter *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__base_USCOREcounter *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__base_USCOREcounter, sizeof(struct ns1__base_USCOREcounter), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__base_USCOREcounter(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__base_USCOREcounterInputParams(soap, NULL, &a->_params, "ns1:base_counterInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__base_USCOREcounter *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__base_USCOREcounter, 0, sizeof(struct ns1__base_USCOREcounter), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREcounter(struct soap *soap, const struct ns1__base_USCOREcounter *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__base_USCOREcounter);
+	if (soap_out_ns1__base_USCOREcounter(soap, tag?tag:"ns1:base_counter", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREcounter * SOAP_FMAC4 soap_get_ns1__base_USCOREcounter(struct soap *soap, struct ns1__base_USCOREcounter *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__base_USCOREcounter(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREcounterResponse(struct soap *soap, struct ns1__base_USCOREcounterResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREcounterResponse(struct soap *soap, const struct ns1__base_USCOREcounterResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREcounterResponse(struct soap *soap, const char *tag, int id, const struct ns1__base_USCOREcounterResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__base_USCOREcounterResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREcounterResponse * SOAP_FMAC4 soap_in_ns1__base_USCOREcounterResponse(struct soap *soap, const char *tag, struct ns1__base_USCOREcounterResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__base_USCOREcounterResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__base_USCOREcounterResponse, sizeof(struct ns1__base_USCOREcounterResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__base_USCOREcounterResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__base_USCOREcounterResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__base_USCOREcounterResponse, 0, sizeof(struct ns1__base_USCOREcounterResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREcounterResponse(struct soap *soap, const struct ns1__base_USCOREcounterResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__base_USCOREcounterResponse);
+	if (soap_out_ns1__base_USCOREcounterResponse(soap, tag?tag:"ns1:base_counterResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREcounterResponse * SOAP_FMAC4 soap_get_ns1__base_USCOREcounterResponse(struct soap *soap, struct ns1__base_USCOREcounterResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__base_USCOREcounterResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__B2(struct soap *soap, struct ns1__B2 *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__B2(struct soap *soap, const struct ns1__B2 *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__B2(struct soap *soap, const char *tag, int id, const struct ns1__B2 *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__B2), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__B2 * SOAP_FMAC4 soap_in_ns1__B2(struct soap *soap, const char *tag, struct ns1__B2 *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__B2 *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__B2, sizeof(struct ns1__B2), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__B2(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__B2 *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__B2, 0, sizeof(struct ns1__B2), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__B2(struct soap *soap, const struct ns1__B2 *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__B2);
+	if (soap_out_ns1__B2(soap, tag?tag:"ns1:B2", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__B2 * SOAP_FMAC4 soap_get_ns1__B2(struct soap *soap, struct ns1__B2 *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__B2(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__B2Response(struct soap *soap, struct ns1__B2Response *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__B2Response(struct soap *soap, const struct ns1__B2Response *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__B2Response(struct soap *soap, const char *tag, int id, const struct ns1__B2Response *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__B2Response), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__B2Response * SOAP_FMAC4 soap_in_ns1__B2Response(struct soap *soap, const char *tag, struct ns1__B2Response *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__B2Response *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__B2Response, sizeof(struct ns1__B2Response), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__B2Response(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__B2Response *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__B2Response, 0, sizeof(struct ns1__B2Response), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__B2Response(struct soap *soap, const struct ns1__B2Response *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__B2Response);
+	if (soap_out_ns1__B2Response(soap, tag?tag:"ns1:B2Response", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__B2Response * SOAP_FMAC4 soap_get_ns1__B2Response(struct soap *soap, struct ns1__B2Response *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__B2Response(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__B1(struct soap *soap, struct ns1__B1 *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__B1(struct soap *soap, const struct ns1__B1 *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__B1InputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__B1(struct soap *soap, const char *tag, int id, const struct ns1__B1 *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__B1), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__B1InputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__B1 * SOAP_FMAC4 soap_in_ns1__B1(struct soap *soap, const char *tag, struct ns1__B1 *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__B1 *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__B1, sizeof(struct ns1__B1), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__B1(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__B1InputParams(soap, NULL, &a->_params, "ns1:B1InputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__B1 *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__B1, 0, sizeof(struct ns1__B1), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__B1(struct soap *soap, const struct ns1__B1 *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__B1);
+	if (soap_out_ns1__B1(soap, tag?tag:"ns1:B1", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__B1 * SOAP_FMAC4 soap_get_ns1__B1(struct soap *soap, struct ns1__B1 *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__B1(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__B1Response(struct soap *soap, struct ns1__B1Response *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__B1Response(struct soap *soap, const struct ns1__B1Response *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__B1Response(struct soap *soap, const char *tag, int id, const struct ns1__B1Response *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__B1Response), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__B1Response * SOAP_FMAC4 soap_in_ns1__B1Response(struct soap *soap, const char *tag, struct ns1__B1Response *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__B1Response *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__B1Response, sizeof(struct ns1__B1Response), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__B1Response(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__B1Response *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__B1Response, 0, sizeof(struct ns1__B1Response), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__B1Response(struct soap *soap, const struct ns1__B1Response *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__B1Response);
+	if (soap_out_ns1__B1Response(soap, tag?tag:"ns1:B1Response", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__B1Response * SOAP_FMAC4 soap_get_ns1__B1Response(struct soap *soap, struct ns1__B1Response *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__B1Response(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__cgr(struct soap *soap, struct ns1__cgr *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__cgr(struct soap *soap, const struct ns1__cgr *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__cgrInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__cgr(struct soap *soap, const char *tag, int id, const struct ns1__cgr *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__cgr), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__cgrInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__cgr * SOAP_FMAC4 soap_in_ns1__cgr(struct soap *soap, const char *tag, struct ns1__cgr *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__cgr *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__cgr, sizeof(struct ns1__cgr), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__cgr(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__cgrInputParams(soap, NULL, &a->_params, "ns1:cgrInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__cgr *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__cgr, 0, sizeof(struct ns1__cgr), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__cgr(struct soap *soap, const struct ns1__cgr *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__cgr);
+	if (soap_out_ns1__cgr(soap, tag?tag:"ns1:cgr", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__cgr * SOAP_FMAC4 soap_get_ns1__cgr(struct soap *soap, struct ns1__cgr *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__cgr(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__cgrResponse(struct soap *soap, struct ns1__cgrResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__cgrResponse(struct soap *soap, const struct ns1__cgrResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__cgrResponse(struct soap *soap, const char *tag, int id, const struct ns1__cgrResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__cgrResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__cgrResponse * SOAP_FMAC4 soap_in_ns1__cgrResponse(struct soap *soap, const char *tag, struct ns1__cgrResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__cgrResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__cgrResponse, sizeof(struct ns1__cgrResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__cgrResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__cgrResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__cgrResponse, 0, sizeof(struct ns1__cgrResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__cgrResponse(struct soap *soap, const struct ns1__cgrResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__cgrResponse);
+	if (soap_out_ns1__cgrResponse(soap, tag?tag:"ns1:cgrResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__cgrResponse * SOAP_FMAC4 soap_get_ns1__cgrResponse(struct soap *soap, struct ns1__cgrResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__cgrResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__dinuc(struct soap *soap, struct ns1__dinuc *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__dinuc(struct soap *soap, const struct ns1__dinuc *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__dinucInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__dinuc(struct soap *soap, const char *tag, int id, const struct ns1__dinuc *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__dinuc), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__dinucInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__dinuc * SOAP_FMAC4 soap_in_ns1__dinuc(struct soap *soap, const char *tag, struct ns1__dinuc *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__dinuc *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__dinuc, sizeof(struct ns1__dinuc), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__dinuc(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__dinucInputParams(soap, NULL, &a->_params, "ns1:dinucInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__dinuc *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__dinuc, 0, sizeof(struct ns1__dinuc), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__dinuc(struct soap *soap, const struct ns1__dinuc *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__dinuc);
+	if (soap_out_ns1__dinuc(soap, tag?tag:"ns1:dinuc", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__dinuc * SOAP_FMAC4 soap_get_ns1__dinuc(struct soap *soap, struct ns1__dinuc *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__dinuc(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__dinucResponse(struct soap *soap, struct ns1__dinucResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__dinucResponse(struct soap *soap, const struct ns1__dinucResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__dinucResponse(struct soap *soap, const char *tag, int id, const struct ns1__dinucResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__dinucResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__dinucResponse * SOAP_FMAC4 soap_in_ns1__dinucResponse(struct soap *soap, const char *tag, struct ns1__dinucResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__dinucResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__dinucResponse, sizeof(struct ns1__dinucResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__dinucResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__dinucResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__dinucResponse, 0, sizeof(struct ns1__dinucResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__dinucResponse(struct soap *soap, const struct ns1__dinucResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__dinucResponse);
+	if (soap_out_ns1__dinucResponse(soap, tag?tag:"ns1:dinucResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__dinucResponse * SOAP_FMAC4 soap_get_ns1__dinucResponse(struct soap *soap, struct ns1__dinucResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__dinucResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__least_USCOREsquares_USCOREfit(struct soap *soap, struct ns1__least_USCOREsquares_USCOREfit *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_array = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__least_USCOREsquares_USCOREfit(struct soap *soap, const struct ns1__least_USCOREsquares_USCOREfit *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayIn(soap, &a->_array);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__least_USCOREsquares_USCOREfit(struct soap *soap, const char *tag, int id, const struct ns1__least_USCOREsquares_USCOREfit *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__least_USCOREsquares_USCOREfit), type))
+		return soap->error;
+	if (soap_out_PointerToarrayIn(soap, "array", -1, &a->_array, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__least_USCOREsquares_USCOREfit * SOAP_FMAC4 soap_in_ns1__least_USCOREsquares_USCOREfit(struct soap *soap, const char *tag, struct ns1__least_USCOREsquares_USCOREfit *a, const char *type)
+{
+	size_t soap_flag__array = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__least_USCOREsquares_USCOREfit *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__least_USCOREsquares_USCOREfit, sizeof(struct ns1__least_USCOREsquares_USCOREfit), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__least_USCOREsquares_USCOREfit(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__array && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayIn(soap, NULL, &a->_array, "xsd:string"))
+				{	soap_flag__array--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__least_USCOREsquares_USCOREfit *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__least_USCOREsquares_USCOREfit, 0, sizeof(struct ns1__least_USCOREsquares_USCOREfit), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__least_USCOREsquares_USCOREfit(struct soap *soap, const struct ns1__least_USCOREsquares_USCOREfit *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__least_USCOREsquares_USCOREfit);
+	if (soap_out_ns1__least_USCOREsquares_USCOREfit(soap, tag?tag:"ns1:least_squares_fit", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__least_USCOREsquares_USCOREfit * SOAP_FMAC4 soap_get_ns1__least_USCOREsquares_USCOREfit(struct soap *soap, struct ns1__least_USCOREsquares_USCOREfit *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__least_USCOREsquares_USCOREfit(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__least_USCOREsquares_USCOREfitResponse(struct soap *soap, struct ns1__least_USCOREsquares_USCOREfitResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__least_USCOREsquares_USCOREfitResponse(struct soap *soap, const struct ns1__least_USCOREsquares_USCOREfitResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayOut(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__least_USCOREsquares_USCOREfitResponse(struct soap *soap, const char *tag, int id, const struct ns1__least_USCOREsquares_USCOREfitResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__least_USCOREsquares_USCOREfitResponse), type))
+		return soap->error;
+	if (soap_out_PointerToarrayOut(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__least_USCOREsquares_USCOREfitResponse * SOAP_FMAC4 soap_in_ns1__least_USCOREsquares_USCOREfitResponse(struct soap *soap, const char *tag, struct ns1__least_USCOREsquares_USCOREfitResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__least_USCOREsquares_USCOREfitResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__least_USCOREsquares_USCOREfitResponse, sizeof(struct ns1__least_USCOREsquares_USCOREfitResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__least_USCOREsquares_USCOREfitResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayOut(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__least_USCOREsquares_USCOREfitResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__least_USCOREsquares_USCOREfitResponse, 0, sizeof(struct ns1__least_USCOREsquares_USCOREfitResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__least_USCOREsquares_USCOREfitResponse(struct soap *soap, const struct ns1__least_USCOREsquares_USCOREfitResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__least_USCOREsquares_USCOREfitResponse);
+	if (soap_out_ns1__least_USCOREsquares_USCOREfitResponse(soap, tag?tag:"ns1:least_squares_fitResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__least_USCOREsquares_USCOREfitResponse * SOAP_FMAC4 soap_get_ns1__least_USCOREsquares_USCOREfitResponse(struct soap *soap, struct ns1__least_USCOREsquares_USCOREfitResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__least_USCOREsquares_USCOREfitResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__palindrome(struct soap *soap, struct ns1__palindrome *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__palindrome(struct soap *soap, const struct ns1__palindrome *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__palindromeInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__palindrome(struct soap *soap, const char *tag, int id, const struct ns1__palindrome *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__palindrome), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__palindromeInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__palindrome * SOAP_FMAC4 soap_in_ns1__palindrome(struct soap *soap, const char *tag, struct ns1__palindrome *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__palindrome *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__palindrome, sizeof(struct ns1__palindrome), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__palindrome(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__palindromeInputParams(soap, NULL, &a->_params, "ns1:palindromeInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__palindrome *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__palindrome, 0, sizeof(struct ns1__palindrome), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__palindrome(struct soap *soap, const struct ns1__palindrome *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__palindrome);
+	if (soap_out_ns1__palindrome(soap, tag?tag:"ns1:palindrome", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__palindrome * SOAP_FMAC4 soap_get_ns1__palindrome(struct soap *soap, struct ns1__palindrome *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__palindrome(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__palindromeResponse(struct soap *soap, struct ns1__palindromeResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__palindromeResponse(struct soap *soap, const struct ns1__palindromeResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__palindromeResponse(struct soap *soap, const char *tag, int id, const struct ns1__palindromeResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__palindromeResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__palindromeResponse * SOAP_FMAC4 soap_in_ns1__palindromeResponse(struct soap *soap, const char *tag, struct ns1__palindromeResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__palindromeResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__palindromeResponse, sizeof(struct ns1__palindromeResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__palindromeResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__palindromeResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__palindromeResponse, 0, sizeof(struct ns1__palindromeResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__palindromeResponse(struct soap *soap, const struct ns1__palindromeResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__palindromeResponse);
+	if (soap_out_ns1__palindromeResponse(soap, tag?tag:"ns1:palindromeResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__palindromeResponse * SOAP_FMAC4 soap_get_ns1__palindromeResponse(struct soap *soap, struct ns1__palindromeResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__palindromeResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__entrez(struct soap *soap, struct ns1__entrez *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_database);
+	soap_default_string(soap, &a->_query);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__entrez(struct soap *soap, const struct ns1__entrez *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_database);
+	soap_serialize_string(soap, &a->_query);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__entrez(struct soap *soap, const char *tag, int id, const struct ns1__entrez *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__entrez), type))
+		return soap->error;
+	if (soap_out_string(soap, "database", -1, &a->_database, ""))
+		return soap->error;
+	if (soap_out_string(soap, "query", -1, &a->_query, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__entrez * SOAP_FMAC4 soap_in_ns1__entrez(struct soap *soap, const char *tag, struct ns1__entrez *a, const char *type)
+{
+	size_t soap_flag__database = 1;
+	size_t soap_flag__query = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__entrez *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__entrez, sizeof(struct ns1__entrez), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__entrez(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__database && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_database, "xsd:string"))
+				{	soap_flag__database--;
+					continue;
+				}
+			if (soap_flag__query && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_query, "xsd:string"))
+				{	soap_flag__query--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__entrez *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__entrez, 0, sizeof(struct ns1__entrez), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__entrez(struct soap *soap, const struct ns1__entrez *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__entrez);
+	if (soap_out_ns1__entrez(soap, tag?tag:"ns1:entrez", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__entrez * SOAP_FMAC4 soap_get_ns1__entrez(struct soap *soap, struct ns1__entrez *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__entrez(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__entrezResponse(struct soap *soap, struct ns1__entrezResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__entrezResponse(struct soap *soap, const struct ns1__entrezResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__entrezResponse(struct soap *soap, const char *tag, int id, const struct ns1__entrezResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__entrezResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__entrezResponse * SOAP_FMAC4 soap_in_ns1__entrezResponse(struct soap *soap, const char *tag, struct ns1__entrezResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__entrezResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__entrezResponse, sizeof(struct ns1__entrezResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__entrezResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__entrezResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__entrezResponse, 0, sizeof(struct ns1__entrezResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__entrezResponse(struct soap *soap, const struct ns1__entrezResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__entrezResponse);
+	if (soap_out_ns1__entrezResponse(soap, tag?tag:"ns1:entrezResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__entrezResponse * SOAP_FMAC4 soap_get_ns1__entrezResponse(struct soap *soap, struct ns1__entrezResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__entrezResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREcounter(struct soap *soap, struct ns1__codon_USCOREcounter *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREcounter(struct soap *soap, const struct ns1__codon_USCOREcounter *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__codon_USCOREcounterInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREcounter(struct soap *soap, const char *tag, int id, const struct ns1__codon_USCOREcounter *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__codon_USCOREcounter), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__codon_USCOREcounterInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREcounter * SOAP_FMAC4 soap_in_ns1__codon_USCOREcounter(struct soap *soap, const char *tag, struct ns1__codon_USCOREcounter *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__codon_USCOREcounter *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__codon_USCOREcounter, sizeof(struct ns1__codon_USCOREcounter), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__codon_USCOREcounter(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__codon_USCOREcounterInputParams(soap, NULL, &a->_params, "ns1:codon_counterInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__codon_USCOREcounter *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__codon_USCOREcounter, 0, sizeof(struct ns1__codon_USCOREcounter), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREcounter(struct soap *soap, const struct ns1__codon_USCOREcounter *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__codon_USCOREcounter);
+	if (soap_out_ns1__codon_USCOREcounter(soap, tag?tag:"ns1:codon_counter", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREcounter * SOAP_FMAC4 soap_get_ns1__codon_USCOREcounter(struct soap *soap, struct ns1__codon_USCOREcounter *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__codon_USCOREcounter(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREcounterResponse(struct soap *soap, struct ns1__codon_USCOREcounterResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREcounterResponse(struct soap *soap, const struct ns1__codon_USCOREcounterResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREcounterResponse(struct soap *soap, const char *tag, int id, const struct ns1__codon_USCOREcounterResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__codon_USCOREcounterResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREcounterResponse * SOAP_FMAC4 soap_in_ns1__codon_USCOREcounterResponse(struct soap *soap, const char *tag, struct ns1__codon_USCOREcounterResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__codon_USCOREcounterResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__codon_USCOREcounterResponse, sizeof(struct ns1__codon_USCOREcounterResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__codon_USCOREcounterResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__codon_USCOREcounterResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__codon_USCOREcounterResponse, 0, sizeof(struct ns1__codon_USCOREcounterResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREcounterResponse(struct soap *soap, const struct ns1__codon_USCOREcounterResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__codon_USCOREcounterResponse);
+	if (soap_out_ns1__codon_USCOREcounterResponse(soap, tag?tag:"ns1:codon_counterResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREcounterResponse * SOAP_FMAC4 soap_get_ns1__codon_USCOREcounterResponse(struct soap *soap, struct ns1__codon_USCOREcounterResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__codon_USCOREcounterResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__mean(struct soap *soap, struct ns1__mean *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_array = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__mean(struct soap *soap, const struct ns1__mean *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayIn(soap, &a->_array);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__mean(struct soap *soap, const char *tag, int id, const struct ns1__mean *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__mean), type))
+		return soap->error;
+	if (soap_out_PointerToarrayIn(soap, "array", -1, &a->_array, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__mean * SOAP_FMAC4 soap_in_ns1__mean(struct soap *soap, const char *tag, struct ns1__mean *a, const char *type)
+{
+	size_t soap_flag__array = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__mean *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__mean, sizeof(struct ns1__mean), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__mean(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__array && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayIn(soap, NULL, &a->_array, "xsd:string"))
+				{	soap_flag__array--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__mean *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__mean, 0, sizeof(struct ns1__mean), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__mean(struct soap *soap, const struct ns1__mean *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__mean);
+	if (soap_out_ns1__mean(soap, tag?tag:"ns1:mean", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__mean * SOAP_FMAC4 soap_get_ns1__mean(struct soap *soap, struct ns1__mean *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__mean(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__meanResponse(struct soap *soap, struct ns1__meanResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__meanResponse(struct soap *soap, const struct ns1__meanResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__meanResponse(struct soap *soap, const char *tag, int id, const struct ns1__meanResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__meanResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__meanResponse * SOAP_FMAC4 soap_in_ns1__meanResponse(struct soap *soap, const char *tag, struct ns1__meanResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__meanResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__meanResponse, sizeof(struct ns1__meanResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__meanResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__meanResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__meanResponse, 0, sizeof(struct ns1__meanResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__meanResponse(struct soap *soap, const struct ns1__meanResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__meanResponse);
+	if (soap_out_ns1__meanResponse(soap, tag?tag:"ns1:meanResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__meanResponse * SOAP_FMAC4 soap_get_ns1__meanResponse(struct soap *soap, struct ns1__meanResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__meanResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__complement(struct soap *soap, struct ns1__complement *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__complement(struct soap *soap, const struct ns1__complement *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__complement(struct soap *soap, const char *tag, int id, const struct ns1__complement *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__complement), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__complement * SOAP_FMAC4 soap_in_ns1__complement(struct soap *soap, const char *tag, struct ns1__complement *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__complement *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__complement, sizeof(struct ns1__complement), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__complement(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__complement *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__complement, 0, sizeof(struct ns1__complement), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__complement(struct soap *soap, const struct ns1__complement *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__complement);
+	if (soap_out_ns1__complement(soap, tag?tag:"ns1:complement", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__complement * SOAP_FMAC4 soap_get_ns1__complement(struct soap *soap, struct ns1__complement *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__complement(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__complementResponse(struct soap *soap, struct ns1__complementResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__complementResponse(struct soap *soap, const struct ns1__complementResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__complementResponse(struct soap *soap, const char *tag, int id, const struct ns1__complementResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__complementResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__complementResponse * SOAP_FMAC4 soap_in_ns1__complementResponse(struct soap *soap, const char *tag, struct ns1__complementResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__complementResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__complementResponse, sizeof(struct ns1__complementResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__complementResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__complementResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__complementResponse, 0, sizeof(struct ns1__complementResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__complementResponse(struct soap *soap, const struct ns1__complementResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__complementResponse);
+	if (soap_out_ns1__complementResponse(soap, tag?tag:"ns1:complementResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__complementResponse * SOAP_FMAC4 soap_get_ns1__complementResponse(struct soap *soap, struct ns1__complementResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__complementResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREiteron(struct soap *soap, struct ns1__find_USCOREiteron *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREiteron(struct soap *soap, const struct ns1__find_USCOREiteron *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__find_USCOREiteronInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREiteron(struct soap *soap, const char *tag, int id, const struct ns1__find_USCOREiteron *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__find_USCOREiteron), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__find_USCOREiteronInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREiteron * SOAP_FMAC4 soap_in_ns1__find_USCOREiteron(struct soap *soap, const char *tag, struct ns1__find_USCOREiteron *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__find_USCOREiteron *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__find_USCOREiteron, sizeof(struct ns1__find_USCOREiteron), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__find_USCOREiteron(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__find_USCOREiteronInputParams(soap, NULL, &a->_params, "ns1:find_iteronInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREiteron *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__find_USCOREiteron, 0, sizeof(struct ns1__find_USCOREiteron), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREiteron(struct soap *soap, const struct ns1__find_USCOREiteron *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__find_USCOREiteron);
+	if (soap_out_ns1__find_USCOREiteron(soap, tag?tag:"ns1:find_iteron", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREiteron * SOAP_FMAC4 soap_get_ns1__find_USCOREiteron(struct soap *soap, struct ns1__find_USCOREiteron *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__find_USCOREiteron(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREiteronResponse(struct soap *soap, struct ns1__find_USCOREiteronResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREiteronResponse(struct soap *soap, const struct ns1__find_USCOREiteronResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREiteronResponse(struct soap *soap, const char *tag, int id, const struct ns1__find_USCOREiteronResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__find_USCOREiteronResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREiteronResponse * SOAP_FMAC4 soap_in_ns1__find_USCOREiteronResponse(struct soap *soap, const char *tag, struct ns1__find_USCOREiteronResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__find_USCOREiteronResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__find_USCOREiteronResponse, sizeof(struct ns1__find_USCOREiteronResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__find_USCOREiteronResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREiteronResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__find_USCOREiteronResponse, 0, sizeof(struct ns1__find_USCOREiteronResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREiteronResponse(struct soap *soap, const struct ns1__find_USCOREiteronResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__find_USCOREiteronResponse);
+	if (soap_out_ns1__find_USCOREiteronResponse(soap, tag?tag:"ns1:find_iteronResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREiteronResponse * SOAP_FMAC4 soap_get_ns1__find_USCOREiteronResponse(struct soap *soap, struct ns1__find_USCOREiteronResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__find_USCOREiteronResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__min(struct soap *soap, struct ns1__min *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_array = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__min(struct soap *soap, const struct ns1__min *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayIn(soap, &a->_array);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__min(struct soap *soap, const char *tag, int id, const struct ns1__min *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__min), type))
+		return soap->error;
+	if (soap_out_PointerToarrayIn(soap, "array", -1, &a->_array, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__min * SOAP_FMAC4 soap_in_ns1__min(struct soap *soap, const char *tag, struct ns1__min *a, const char *type)
+{
+	size_t soap_flag__array = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__min *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__min, sizeof(struct ns1__min), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__min(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__array && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayIn(soap, NULL, &a->_array, "xsd:string"))
+				{	soap_flag__array--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__min *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__min, 0, sizeof(struct ns1__min), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__min(struct soap *soap, const struct ns1__min *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__min);
+	if (soap_out_ns1__min(soap, tag?tag:"ns1:min", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__min * SOAP_FMAC4 soap_get_ns1__min(struct soap *soap, struct ns1__min *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__min(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__minResponse(struct soap *soap, struct ns1__minResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__minResponse(struct soap *soap, const struct ns1__minResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__minResponse(struct soap *soap, const char *tag, int id, const struct ns1__minResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__minResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__minResponse * SOAP_FMAC4 soap_in_ns1__minResponse(struct soap *soap, const char *tag, struct ns1__minResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__minResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__minResponse, sizeof(struct ns1__minResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__minResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__minResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__minResponse, 0, sizeof(struct ns1__minResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__minResponse(struct soap *soap, const struct ns1__minResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__minResponse);
+	if (soap_out_ns1__minResponse(soap, tag?tag:"ns1:minResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__minResponse * SOAP_FMAC4 soap_get_ns1__minResponse(struct soap *soap, struct ns1__minResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__minResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREusage(struct soap *soap, struct ns1__codon_USCOREusage *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREusage(struct soap *soap, const struct ns1__codon_USCOREusage *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__codon_USCOREusageInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREusage(struct soap *soap, const char *tag, int id, const struct ns1__codon_USCOREusage *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__codon_USCOREusage), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__codon_USCOREusageInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREusage * SOAP_FMAC4 soap_in_ns1__codon_USCOREusage(struct soap *soap, const char *tag, struct ns1__codon_USCOREusage *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__codon_USCOREusage *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__codon_USCOREusage, sizeof(struct ns1__codon_USCOREusage), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__codon_USCOREusage(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__codon_USCOREusageInputParams(soap, NULL, &a->_params, "ns1:codon_usageInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__codon_USCOREusage *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__codon_USCOREusage, 0, sizeof(struct ns1__codon_USCOREusage), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREusage(struct soap *soap, const struct ns1__codon_USCOREusage *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__codon_USCOREusage);
+	if (soap_out_ns1__codon_USCOREusage(soap, tag?tag:"ns1:codon_usage", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREusage * SOAP_FMAC4 soap_get_ns1__codon_USCOREusage(struct soap *soap, struct ns1__codon_USCOREusage *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__codon_USCOREusage(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREusageResponse(struct soap *soap, struct ns1__codon_USCOREusageResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREusageResponse(struct soap *soap, const struct ns1__codon_USCOREusageResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREusageResponse(struct soap *soap, const char *tag, int id, const struct ns1__codon_USCOREusageResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__codon_USCOREusageResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREusageResponse * SOAP_FMAC4 soap_in_ns1__codon_USCOREusageResponse(struct soap *soap, const char *tag, struct ns1__codon_USCOREusageResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__codon_USCOREusageResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__codon_USCOREusageResponse, sizeof(struct ns1__codon_USCOREusageResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__codon_USCOREusageResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__codon_USCOREusageResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__codon_USCOREusageResponse, 0, sizeof(struct ns1__codon_USCOREusageResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREusageResponse(struct soap *soap, const struct ns1__codon_USCOREusageResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__codon_USCOREusageResponse);
+	if (soap_out_ns1__codon_USCOREusageResponse(soap, tag?tag:"ns1:codon_usageResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREusageResponse * SOAP_FMAC4 soap_get_ns1__codon_USCOREusageResponse(struct soap *soap, struct ns1__codon_USCOREusageResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__codon_USCOREusageResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__oligomer_USCOREcounter(struct soap *soap, struct ns1__oligomer_USCOREcounter *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	soap_default_string(soap, &a->_oligomer);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__oligomer_USCOREcounter(struct soap *soap, const struct ns1__oligomer_USCOREcounter *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_string(soap, &a->_oligomer);
+	soap_serialize_PointerTons1__oligomer_USCOREcounterInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__oligomer_USCOREcounter(struct soap *soap, const char *tag, int id, const struct ns1__oligomer_USCOREcounter *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__oligomer_USCOREcounter), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_string(soap, "oligomer", -1, &a->_oligomer, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__oligomer_USCOREcounterInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREcounter * SOAP_FMAC4 soap_in_ns1__oligomer_USCOREcounter(struct soap *soap, const char *tag, struct ns1__oligomer_USCOREcounter *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__oligomer = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__oligomer_USCOREcounter *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__oligomer_USCOREcounter, sizeof(struct ns1__oligomer_USCOREcounter), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__oligomer_USCOREcounter(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__oligomer && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_oligomer, "xsd:string"))
+				{	soap_flag__oligomer--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__oligomer_USCOREcounterInputParams(soap, NULL, &a->_params, "ns1:oligomer_counterInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__oligomer_USCOREcounter *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__oligomer_USCOREcounter, 0, sizeof(struct ns1__oligomer_USCOREcounter), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__oligomer_USCOREcounter(struct soap *soap, const struct ns1__oligomer_USCOREcounter *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__oligomer_USCOREcounter);
+	if (soap_out_ns1__oligomer_USCOREcounter(soap, tag?tag:"ns1:oligomer_counter", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREcounter * SOAP_FMAC4 soap_get_ns1__oligomer_USCOREcounter(struct soap *soap, struct ns1__oligomer_USCOREcounter *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__oligomer_USCOREcounter(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__oligomer_USCOREcounterResponse(struct soap *soap, struct ns1__oligomer_USCOREcounterResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__oligomer_USCOREcounterResponse(struct soap *soap, const struct ns1__oligomer_USCOREcounterResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__oligomer_USCOREcounterResponse(struct soap *soap, const char *tag, int id, const struct ns1__oligomer_USCOREcounterResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__oligomer_USCOREcounterResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREcounterResponse * SOAP_FMAC4 soap_in_ns1__oligomer_USCOREcounterResponse(struct soap *soap, const char *tag, struct ns1__oligomer_USCOREcounterResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__oligomer_USCOREcounterResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__oligomer_USCOREcounterResponse, sizeof(struct ns1__oligomer_USCOREcounterResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__oligomer_USCOREcounterResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__oligomer_USCOREcounterResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__oligomer_USCOREcounterResponse, 0, sizeof(struct ns1__oligomer_USCOREcounterResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__oligomer_USCOREcounterResponse(struct soap *soap, const struct ns1__oligomer_USCOREcounterResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__oligomer_USCOREcounterResponse);
+	if (soap_out_ns1__oligomer_USCOREcounterResponse(soap, tag?tag:"ns1:oligomer_counterResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREcounterResponse * SOAP_FMAC4 soap_get_ns1__oligomer_USCOREcounterResponse(struct soap *soap, struct ns1__oligomer_USCOREcounterResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__oligomer_USCOREcounterResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__gcwin(struct soap *soap, struct ns1__gcwin *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__gcwin(struct soap *soap, const struct ns1__gcwin *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__gcwinInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__gcwin(struct soap *soap, const char *tag, int id, const struct ns1__gcwin *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__gcwin), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__gcwinInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__gcwin * SOAP_FMAC4 soap_in_ns1__gcwin(struct soap *soap, const char *tag, struct ns1__gcwin *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__gcwin *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__gcwin, sizeof(struct ns1__gcwin), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__gcwin(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__gcwinInputParams(soap, NULL, &a->_params, "ns1:gcwinInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__gcwin *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__gcwin, 0, sizeof(struct ns1__gcwin), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__gcwin(struct soap *soap, const struct ns1__gcwin *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__gcwin);
+	if (soap_out_ns1__gcwin(soap, tag?tag:"ns1:gcwin", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__gcwin * SOAP_FMAC4 soap_get_ns1__gcwin(struct soap *soap, struct ns1__gcwin *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__gcwin(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__gcwinResponse(struct soap *soap, struct ns1__gcwinResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__gcwinResponse(struct soap *soap, const struct ns1__gcwinResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__gcwinResponse(struct soap *soap, const char *tag, int id, const struct ns1__gcwinResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__gcwinResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__gcwinResponse * SOAP_FMAC4 soap_in_ns1__gcwinResponse(struct soap *soap, const char *tag, struct ns1__gcwinResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__gcwinResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__gcwinResponse, sizeof(struct ns1__gcwinResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__gcwinResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__gcwinResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__gcwinResponse, 0, sizeof(struct ns1__gcwinResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__gcwinResponse(struct soap *soap, const struct ns1__gcwinResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__gcwinResponse);
+	if (soap_out_ns1__gcwinResponse(soap, tag?tag:"ns1:gcwinResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__gcwinResponse * SOAP_FMAC4 soap_get_ns1__gcwinResponse(struct soap *soap, struct ns1__gcwinResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__gcwinResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREpattern(struct soap *soap, struct ns1__find_USCOREpattern *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	soap_default_string(soap, &a->_pattern);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREpattern(struct soap *soap, const struct ns1__find_USCOREpattern *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_string(soap, &a->_pattern);
+	soap_serialize_PointerTons1__find_USCOREpatternInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREpattern(struct soap *soap, const char *tag, int id, const struct ns1__find_USCOREpattern *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__find_USCOREpattern), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_string(soap, "pattern", -1, &a->_pattern, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__find_USCOREpatternInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREpattern * SOAP_FMAC4 soap_in_ns1__find_USCOREpattern(struct soap *soap, const char *tag, struct ns1__find_USCOREpattern *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__pattern = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__find_USCOREpattern *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__find_USCOREpattern, sizeof(struct ns1__find_USCOREpattern), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__find_USCOREpattern(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__pattern && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_pattern, "xsd:string"))
+				{	soap_flag__pattern--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__find_USCOREpatternInputParams(soap, NULL, &a->_params, "ns1:find_patternInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREpattern *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__find_USCOREpattern, 0, sizeof(struct ns1__find_USCOREpattern), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREpattern(struct soap *soap, const struct ns1__find_USCOREpattern *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__find_USCOREpattern);
+	if (soap_out_ns1__find_USCOREpattern(soap, tag?tag:"ns1:find_pattern", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREpattern * SOAP_FMAC4 soap_get_ns1__find_USCOREpattern(struct soap *soap, struct ns1__find_USCOREpattern *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__find_USCOREpattern(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREpatternResponse(struct soap *soap, struct ns1__find_USCOREpatternResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREpatternResponse(struct soap *soap, const struct ns1__find_USCOREpatternResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREpatternResponse(struct soap *soap, const char *tag, int id, const struct ns1__find_USCOREpatternResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__find_USCOREpatternResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREpatternResponse * SOAP_FMAC4 soap_in_ns1__find_USCOREpatternResponse(struct soap *soap, const char *tag, struct ns1__find_USCOREpatternResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__find_USCOREpatternResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__find_USCOREpatternResponse, sizeof(struct ns1__find_USCOREpatternResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__find_USCOREpatternResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREpatternResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__find_USCOREpatternResponse, 0, sizeof(struct ns1__find_USCOREpatternResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREpatternResponse(struct soap *soap, const struct ns1__find_USCOREpatternResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__find_USCOREpatternResponse);
+	if (soap_out_ns1__find_USCOREpatternResponse(soap, tag?tag:"ns1:find_patternResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREpatternResponse * SOAP_FMAC4 soap_get_ns1__find_USCOREpatternResponse(struct soap *soap, struct ns1__find_USCOREpatternResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__find_USCOREpatternResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__oligomer_USCOREsearch(struct soap *soap, struct ns1__oligomer_USCOREsearch *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	soap_default_string(soap, &a->_oligomer);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__oligomer_USCOREsearch(struct soap *soap, const struct ns1__oligomer_USCOREsearch *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_string(soap, &a->_oligomer);
+	soap_serialize_PointerTons1__oligomer_USCOREsearchInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__oligomer_USCOREsearch(struct soap *soap, const char *tag, int id, const struct ns1__oligomer_USCOREsearch *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__oligomer_USCOREsearch), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_string(soap, "oligomer", -1, &a->_oligomer, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__oligomer_USCOREsearchInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREsearch * SOAP_FMAC4 soap_in_ns1__oligomer_USCOREsearch(struct soap *soap, const char *tag, struct ns1__oligomer_USCOREsearch *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__oligomer = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__oligomer_USCOREsearch *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__oligomer_USCOREsearch, sizeof(struct ns1__oligomer_USCOREsearch), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__oligomer_USCOREsearch(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__oligomer && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_oligomer, "xsd:string"))
+				{	soap_flag__oligomer--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__oligomer_USCOREsearchInputParams(soap, NULL, &a->_params, "ns1:oligomer_searchInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__oligomer_USCOREsearch *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__oligomer_USCOREsearch, 0, sizeof(struct ns1__oligomer_USCOREsearch), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__oligomer_USCOREsearch(struct soap *soap, const struct ns1__oligomer_USCOREsearch *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__oligomer_USCOREsearch);
+	if (soap_out_ns1__oligomer_USCOREsearch(soap, tag?tag:"ns1:oligomer_search", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREsearch * SOAP_FMAC4 soap_get_ns1__oligomer_USCOREsearch(struct soap *soap, struct ns1__oligomer_USCOREsearch *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__oligomer_USCOREsearch(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__oligomer_USCOREsearchResponse(struct soap *soap, struct ns1__oligomer_USCOREsearchResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__oligomer_USCOREsearchResponse(struct soap *soap, const struct ns1__oligomer_USCOREsearchResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayOut(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__oligomer_USCOREsearchResponse(struct soap *soap, const char *tag, int id, const struct ns1__oligomer_USCOREsearchResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__oligomer_USCOREsearchResponse), type))
+		return soap->error;
+	if (soap_out_PointerToarrayOut(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREsearchResponse * SOAP_FMAC4 soap_in_ns1__oligomer_USCOREsearchResponse(struct soap *soap, const char *tag, struct ns1__oligomer_USCOREsearchResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__oligomer_USCOREsearchResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__oligomer_USCOREsearchResponse, sizeof(struct ns1__oligomer_USCOREsearchResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__oligomer_USCOREsearchResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayOut(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__oligomer_USCOREsearchResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__oligomer_USCOREsearchResponse, 0, sizeof(struct ns1__oligomer_USCOREsearchResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__oligomer_USCOREsearchResponse(struct soap *soap, const struct ns1__oligomer_USCOREsearchResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__oligomer_USCOREsearchResponse);
+	if (soap_out_ns1__oligomer_USCOREsearchResponse(soap, tag?tag:"ns1:oligomer_searchResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREsearchResponse * SOAP_FMAC4 soap_get_ns1__oligomer_USCOREsearchResponse(struct soap *soap, struct ns1__oligomer_USCOREsearchResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__oligomer_USCOREsearchResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__shuffleseq(struct soap *soap, struct ns1__shuffleseq *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__shuffleseq(struct soap *soap, const struct ns1__shuffleseq *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__shuffleseqInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__shuffleseq(struct soap *soap, const char *tag, int id, const struct ns1__shuffleseq *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__shuffleseq), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__shuffleseqInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__shuffleseq * SOAP_FMAC4 soap_in_ns1__shuffleseq(struct soap *soap, const char *tag, struct ns1__shuffleseq *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__shuffleseq *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__shuffleseq, sizeof(struct ns1__shuffleseq), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__shuffleseq(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__shuffleseqInputParams(soap, NULL, &a->_params, "ns1:shuffleseqInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__shuffleseq *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__shuffleseq, 0, sizeof(struct ns1__shuffleseq), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__shuffleseq(struct soap *soap, const struct ns1__shuffleseq *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__shuffleseq);
+	if (soap_out_ns1__shuffleseq(soap, tag?tag:"ns1:shuffleseq", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__shuffleseq * SOAP_FMAC4 soap_get_ns1__shuffleseq(struct soap *soap, struct ns1__shuffleseq *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__shuffleseq(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__shuffleseqResponse(struct soap *soap, struct ns1__shuffleseqResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__shuffleseqResponse(struct soap *soap, const struct ns1__shuffleseqResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__shuffleseqResponse(struct soap *soap, const char *tag, int id, const struct ns1__shuffleseqResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__shuffleseqResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__shuffleseqResponse * SOAP_FMAC4 soap_in_ns1__shuffleseqResponse(struct soap *soap, const char *tag, struct ns1__shuffleseqResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__shuffleseqResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__shuffleseqResponse, sizeof(struct ns1__shuffleseqResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__shuffleseqResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__shuffleseqResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__shuffleseqResponse, 0, sizeof(struct ns1__shuffleseqResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__shuffleseqResponse(struct soap *soap, const struct ns1__shuffleseqResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__shuffleseqResponse);
+	if (soap_out_ns1__shuffleseqResponse(soap, tag?tag:"ns1:shuffleseqResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__shuffleseqResponse * SOAP_FMAC4 soap_get_ns1__shuffleseqResponse(struct soap *soap, struct ns1__shuffleseqResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__shuffleseqResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREter(struct soap *soap, struct ns1__find_USCOREter *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREter(struct soap *soap, const struct ns1__find_USCOREter *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__find_USCOREterInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREter(struct soap *soap, const char *tag, int id, const struct ns1__find_USCOREter *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__find_USCOREter), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__find_USCOREterInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREter * SOAP_FMAC4 soap_in_ns1__find_USCOREter(struct soap *soap, const char *tag, struct ns1__find_USCOREter *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__find_USCOREter *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__find_USCOREter, sizeof(struct ns1__find_USCOREter), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__find_USCOREter(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__find_USCOREterInputParams(soap, NULL, &a->_params, "ns1:find_terInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREter *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__find_USCOREter, 0, sizeof(struct ns1__find_USCOREter), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREter(struct soap *soap, const struct ns1__find_USCOREter *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__find_USCOREter);
+	if (soap_out_ns1__find_USCOREter(soap, tag?tag:"ns1:find_ter", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREter * SOAP_FMAC4 soap_get_ns1__find_USCOREter(struct soap *soap, struct ns1__find_USCOREter *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__find_USCOREter(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREterResponse(struct soap *soap, struct ns1__find_USCOREterResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREterResponse(struct soap *soap, const struct ns1__find_USCOREterResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayOut(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREterResponse(struct soap *soap, const char *tag, int id, const struct ns1__find_USCOREterResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__find_USCOREterResponse), type))
+		return soap->error;
+	if (soap_out_PointerToarrayOut(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREterResponse * SOAP_FMAC4 soap_in_ns1__find_USCOREterResponse(struct soap *soap, const char *tag, struct ns1__find_USCOREterResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__find_USCOREterResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__find_USCOREterResponse, sizeof(struct ns1__find_USCOREterResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__find_USCOREterResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayOut(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREterResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__find_USCOREterResponse, 0, sizeof(struct ns1__find_USCOREterResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREterResponse(struct soap *soap, const struct ns1__find_USCOREterResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__find_USCOREterResponse);
+	if (soap_out_ns1__find_USCOREterResponse(soap, tag?tag:"ns1:find_terResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREterResponse * SOAP_FMAC4 soap_get_ns1__find_USCOREterResponse(struct soap *soap, struct ns1__find_USCOREterResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__find_USCOREterResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__dnawalk(struct soap *soap, struct ns1__dnawalk *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__dnawalk(struct soap *soap, const struct ns1__dnawalk *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__dnawalkInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__dnawalk(struct soap *soap, const char *tag, int id, const struct ns1__dnawalk *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__dnawalk), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__dnawalkInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__dnawalk * SOAP_FMAC4 soap_in_ns1__dnawalk(struct soap *soap, const char *tag, struct ns1__dnawalk *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__dnawalk *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__dnawalk, sizeof(struct ns1__dnawalk), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__dnawalk(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__dnawalkInputParams(soap, NULL, &a->_params, "ns1:dnawalkInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__dnawalk *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__dnawalk, 0, sizeof(struct ns1__dnawalk), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__dnawalk(struct soap *soap, const struct ns1__dnawalk *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__dnawalk);
+	if (soap_out_ns1__dnawalk(soap, tag?tag:"ns1:dnawalk", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__dnawalk * SOAP_FMAC4 soap_get_ns1__dnawalk(struct soap *soap, struct ns1__dnawalk *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__dnawalk(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__dnawalkResponse(struct soap *soap, struct ns1__dnawalkResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__dnawalkResponse(struct soap *soap, const struct ns1__dnawalkResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__dnawalkResponse(struct soap *soap, const char *tag, int id, const struct ns1__dnawalkResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__dnawalkResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__dnawalkResponse * SOAP_FMAC4 soap_in_ns1__dnawalkResponse(struct soap *soap, const char *tag, struct ns1__dnawalkResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__dnawalkResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__dnawalkResponse, sizeof(struct ns1__dnawalkResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__dnawalkResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__dnawalkResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__dnawalkResponse, 0, sizeof(struct ns1__dnawalkResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__dnawalkResponse(struct soap *soap, const struct ns1__dnawalkResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__dnawalkResponse);
+	if (soap_out_ns1__dnawalkResponse(soap, tag?tag:"ns1:dnawalkResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__dnawalkResponse * SOAP_FMAC4 soap_get_ns1__dnawalkResponse(struct soap *soap, struct ns1__dnawalkResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__dnawalkResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREinformation_USCOREcontent(struct soap *soap, struct ns1__base_USCOREinformation_USCOREcontent *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREinformation_USCOREcontent(struct soap *soap, const struct ns1__base_USCOREinformation_USCOREcontent *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREinformation_USCOREcontent(struct soap *soap, const char *tag, int id, const struct ns1__base_USCOREinformation_USCOREcontent *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontent), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREinformation_USCOREcontent * SOAP_FMAC4 soap_in_ns1__base_USCOREinformation_USCOREcontent(struct soap *soap, const char *tag, struct ns1__base_USCOREinformation_USCOREcontent *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__base_USCOREinformation_USCOREcontent *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontent, sizeof(struct ns1__base_USCOREinformation_USCOREcontent), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__base_USCOREinformation_USCOREcontent(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(soap, NULL, &a->_params, "ns1:base_information_contentInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__base_USCOREinformation_USCOREcontent *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontent, 0, sizeof(struct ns1__base_USCOREinformation_USCOREcontent), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREinformation_USCOREcontent(struct soap *soap, const struct ns1__base_USCOREinformation_USCOREcontent *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontent);
+	if (soap_out_ns1__base_USCOREinformation_USCOREcontent(soap, tag?tag:"ns1:base_information_content", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREinformation_USCOREcontent * SOAP_FMAC4 soap_get_ns1__base_USCOREinformation_USCOREcontent(struct soap *soap, struct ns1__base_USCOREinformation_USCOREcontent *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__base_USCOREinformation_USCOREcontent(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREinformation_USCOREcontentResponse(struct soap *soap, struct ns1__base_USCOREinformation_USCOREcontentResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREinformation_USCOREcontentResponse(struct soap *soap, const struct ns1__base_USCOREinformation_USCOREcontentResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREinformation_USCOREcontentResponse(struct soap *soap, const char *tag, int id, const struct ns1__base_USCOREinformation_USCOREcontentResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREinformation_USCOREcontentResponse * SOAP_FMAC4 soap_in_ns1__base_USCOREinformation_USCOREcontentResponse(struct soap *soap, const char *tag, struct ns1__base_USCOREinformation_USCOREcontentResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__base_USCOREinformation_USCOREcontentResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentResponse, sizeof(struct ns1__base_USCOREinformation_USCOREcontentResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__base_USCOREinformation_USCOREcontentResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__base_USCOREinformation_USCOREcontentResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentResponse, 0, sizeof(struct ns1__base_USCOREinformation_USCOREcontentResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREinformation_USCOREcontentResponse(struct soap *soap, const struct ns1__base_USCOREinformation_USCOREcontentResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentResponse);
+	if (soap_out_ns1__base_USCOREinformation_USCOREcontentResponse(soap, tag?tag:"ns1:base_information_contentResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREinformation_USCOREcontentResponse * SOAP_FMAC4 soap_get_ns1__base_USCOREinformation_USCOREcontentResponse(struct soap *soap, struct ns1__base_USCOREinformation_USCOREcontentResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__base_USCOREinformation_USCOREcontentResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__signature(struct soap *soap, struct ns1__signature *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__signature(struct soap *soap, const struct ns1__signature *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__signatureInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__signature(struct soap *soap, const char *tag, int id, const struct ns1__signature *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__signature), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__signatureInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__signature * SOAP_FMAC4 soap_in_ns1__signature(struct soap *soap, const char *tag, struct ns1__signature *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__signature *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__signature, sizeof(struct ns1__signature), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__signature(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__signatureInputParams(soap, NULL, &a->_params, "ns1:signatureInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__signature *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__signature, 0, sizeof(struct ns1__signature), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__signature(struct soap *soap, const struct ns1__signature *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__signature);
+	if (soap_out_ns1__signature(soap, tag?tag:"ns1:signature", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__signature * SOAP_FMAC4 soap_get_ns1__signature(struct soap *soap, struct ns1__signature *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__signature(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__signatureResponse(struct soap *soap, struct ns1__signatureResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__signatureResponse(struct soap *soap, const struct ns1__signatureResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__signatureResponse(struct soap *soap, const char *tag, int id, const struct ns1__signatureResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__signatureResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__signatureResponse * SOAP_FMAC4 soap_in_ns1__signatureResponse(struct soap *soap, const char *tag, struct ns1__signatureResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__signatureResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__signatureResponse, sizeof(struct ns1__signatureResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__signatureResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__signatureResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__signatureResponse, 0, sizeof(struct ns1__signatureResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__signatureResponse(struct soap *soap, const struct ns1__signatureResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__signatureResponse);
+	if (soap_out_ns1__signatureResponse(soap, tag?tag:"ns1:signatureResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__signatureResponse * SOAP_FMAC4 soap_get_ns1__signatureResponse(struct soap *soap, struct ns1__signatureResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__signatureResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__seqinfo(struct soap *soap, struct ns1__seqinfo *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__seqinfo(struct soap *soap, const struct ns1__seqinfo *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__seqinfo(struct soap *soap, const char *tag, int id, const struct ns1__seqinfo *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__seqinfo), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__seqinfo * SOAP_FMAC4 soap_in_ns1__seqinfo(struct soap *soap, const char *tag, struct ns1__seqinfo *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__seqinfo *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__seqinfo, sizeof(struct ns1__seqinfo), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__seqinfo(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__seqinfo *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__seqinfo, 0, sizeof(struct ns1__seqinfo), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__seqinfo(struct soap *soap, const struct ns1__seqinfo *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__seqinfo);
+	if (soap_out_ns1__seqinfo(soap, tag?tag:"ns1:seqinfo", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__seqinfo * SOAP_FMAC4 soap_get_ns1__seqinfo(struct soap *soap, struct ns1__seqinfo *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__seqinfo(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__seqinfoResponse(struct soap *soap, struct ns1__seqinfoResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__seqinfoResponse(struct soap *soap, const struct ns1__seqinfoResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__seqinfoResponse(struct soap *soap, const char *tag, int id, const struct ns1__seqinfoResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__seqinfoResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__seqinfoResponse * SOAP_FMAC4 soap_in_ns1__seqinfoResponse(struct soap *soap, const char *tag, struct ns1__seqinfoResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__seqinfoResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__seqinfoResponse, sizeof(struct ns1__seqinfoResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__seqinfoResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__seqinfoResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__seqinfoResponse, 0, sizeof(struct ns1__seqinfoResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__seqinfoResponse(struct soap *soap, const struct ns1__seqinfoResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__seqinfoResponse);
+	if (soap_out_ns1__seqinfoResponse(soap, tag?tag:"ns1:seqinfoResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__seqinfoResponse * SOAP_FMAC4 soap_get_ns1__seqinfoResponse(struct soap *soap, struct ns1__seqinfoResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__seqinfoResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genome_USCOREmap3(struct soap *soap, struct ns1__genome_USCOREmap3 *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genome_USCOREmap3(struct soap *soap, const struct ns1__genome_USCOREmap3 *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__genome_USCOREmap3InputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genome_USCOREmap3(struct soap *soap, const char *tag, int id, const struct ns1__genome_USCOREmap3 *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__genome_USCOREmap3), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__genome_USCOREmap3InputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__genome_USCOREmap3 * SOAP_FMAC4 soap_in_ns1__genome_USCOREmap3(struct soap *soap, const char *tag, struct ns1__genome_USCOREmap3 *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__genome_USCOREmap3 *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__genome_USCOREmap3, sizeof(struct ns1__genome_USCOREmap3), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__genome_USCOREmap3(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__genome_USCOREmap3InputParams(soap, NULL, &a->_params, "ns1:genome_map3InputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__genome_USCOREmap3 *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__genome_USCOREmap3, 0, sizeof(struct ns1__genome_USCOREmap3), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genome_USCOREmap3(struct soap *soap, const struct ns1__genome_USCOREmap3 *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__genome_USCOREmap3);
+	if (soap_out_ns1__genome_USCOREmap3(soap, tag?tag:"ns1:genome_map3", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__genome_USCOREmap3 * SOAP_FMAC4 soap_get_ns1__genome_USCOREmap3(struct soap *soap, struct ns1__genome_USCOREmap3 *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__genome_USCOREmap3(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genome_USCOREmap3Response(struct soap *soap, struct ns1__genome_USCOREmap3Response *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genome_USCOREmap3Response(struct soap *soap, const struct ns1__genome_USCOREmap3Response *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genome_USCOREmap3Response(struct soap *soap, const char *tag, int id, const struct ns1__genome_USCOREmap3Response *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__genome_USCOREmap3Response), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__genome_USCOREmap3Response * SOAP_FMAC4 soap_in_ns1__genome_USCOREmap3Response(struct soap *soap, const char *tag, struct ns1__genome_USCOREmap3Response *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__genome_USCOREmap3Response *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__genome_USCOREmap3Response, sizeof(struct ns1__genome_USCOREmap3Response), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__genome_USCOREmap3Response(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__genome_USCOREmap3Response *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__genome_USCOREmap3Response, 0, sizeof(struct ns1__genome_USCOREmap3Response), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genome_USCOREmap3Response(struct soap *soap, const struct ns1__genome_USCOREmap3Response *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__genome_USCOREmap3Response);
+	if (soap_out_ns1__genome_USCOREmap3Response(soap, tag?tag:"ns1:genome_map3Response", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__genome_USCOREmap3Response * SOAP_FMAC4 soap_get_ns1__genome_USCOREmap3Response(struct soap *soap, struct ns1__genome_USCOREmap3Response *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__genome_USCOREmap3Response(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__gcskew(struct soap *soap, struct ns1__gcskew *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__gcskew(struct soap *soap, const struct ns1__gcskew *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__gcskewInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__gcskew(struct soap *soap, const char *tag, int id, const struct ns1__gcskew *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__gcskew), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__gcskewInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__gcskew * SOAP_FMAC4 soap_in_ns1__gcskew(struct soap *soap, const char *tag, struct ns1__gcskew *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__gcskew *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__gcskew, sizeof(struct ns1__gcskew), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__gcskew(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__gcskewInputParams(soap, NULL, &a->_params, "ns1:gcskewInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__gcskew *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__gcskew, 0, sizeof(struct ns1__gcskew), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__gcskew(struct soap *soap, const struct ns1__gcskew *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__gcskew);
+	if (soap_out_ns1__gcskew(soap, tag?tag:"ns1:gcskew", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__gcskew * SOAP_FMAC4 soap_get_ns1__gcskew(struct soap *soap, struct ns1__gcskew *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__gcskew(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__gcskewResponse(struct soap *soap, struct ns1__gcskewResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__gcskewResponse(struct soap *soap, const struct ns1__gcskewResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__gcskewResponse(struct soap *soap, const char *tag, int id, const struct ns1__gcskewResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__gcskewResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__gcskewResponse * SOAP_FMAC4 soap_in_ns1__gcskewResponse(struct soap *soap, const char *tag, struct ns1__gcskewResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__gcskewResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__gcskewResponse, sizeof(struct ns1__gcskewResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__gcskewResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__gcskewResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__gcskewResponse, 0, sizeof(struct ns1__gcskewResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__gcskewResponse(struct soap *soap, const struct ns1__gcskewResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__gcskewResponse);
+	if (soap_out_ns1__gcskewResponse(soap, tag?tag:"ns1:gcskewResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__gcskewResponse * SOAP_FMAC4 soap_get_ns1__gcskewResponse(struct soap *soap, struct ns1__gcskewResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__gcskewResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__molecular_USCOREweight(struct soap *soap, struct ns1__molecular_USCOREweight *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__molecular_USCOREweight(struct soap *soap, const struct ns1__molecular_USCOREweight *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__molecular_USCOREweightInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__molecular_USCOREweight(struct soap *soap, const char *tag, int id, const struct ns1__molecular_USCOREweight *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__molecular_USCOREweight), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__molecular_USCOREweightInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__molecular_USCOREweight * SOAP_FMAC4 soap_in_ns1__molecular_USCOREweight(struct soap *soap, const char *tag, struct ns1__molecular_USCOREweight *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__molecular_USCOREweight *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__molecular_USCOREweight, sizeof(struct ns1__molecular_USCOREweight), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__molecular_USCOREweight(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__molecular_USCOREweightInputParams(soap, NULL, &a->_params, "ns1:molecular_weightInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__molecular_USCOREweight *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__molecular_USCOREweight, 0, sizeof(struct ns1__molecular_USCOREweight), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__molecular_USCOREweight(struct soap *soap, const struct ns1__molecular_USCOREweight *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__molecular_USCOREweight);
+	if (soap_out_ns1__molecular_USCOREweight(soap, tag?tag:"ns1:molecular_weight", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__molecular_USCOREweight * SOAP_FMAC4 soap_get_ns1__molecular_USCOREweight(struct soap *soap, struct ns1__molecular_USCOREweight *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__molecular_USCOREweight(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__molecular_USCOREweightResponse(struct soap *soap, struct ns1__molecular_USCOREweightResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__molecular_USCOREweightResponse(struct soap *soap, const struct ns1__molecular_USCOREweightResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__molecular_USCOREweightResponse(struct soap *soap, const char *tag, int id, const struct ns1__molecular_USCOREweightResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__molecular_USCOREweightResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__molecular_USCOREweightResponse * SOAP_FMAC4 soap_in_ns1__molecular_USCOREweightResponse(struct soap *soap, const char *tag, struct ns1__molecular_USCOREweightResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__molecular_USCOREweightResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__molecular_USCOREweightResponse, sizeof(struct ns1__molecular_USCOREweightResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__molecular_USCOREweightResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__molecular_USCOREweightResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__molecular_USCOREweightResponse, 0, sizeof(struct ns1__molecular_USCOREweightResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__molecular_USCOREweightResponse(struct soap *soap, const struct ns1__molecular_USCOREweightResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__molecular_USCOREweightResponse);
+	if (soap_out_ns1__molecular_USCOREweightResponse(soap, tag?tag:"ns1:molecular_weightResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__molecular_USCOREweightResponse * SOAP_FMAC4 soap_get_ns1__molecular_USCOREweightResponse(struct soap *soap, struct ns1__molecular_USCOREweightResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__molecular_USCOREweightResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__delta_USCOREgcskew(struct soap *soap, struct ns1__delta_USCOREgcskew *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__delta_USCOREgcskew(struct soap *soap, const struct ns1__delta_USCOREgcskew *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__delta_USCOREgcskewInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__delta_USCOREgcskew(struct soap *soap, const char *tag, int id, const struct ns1__delta_USCOREgcskew *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__delta_USCOREgcskew), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__delta_USCOREgcskewInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__delta_USCOREgcskew * SOAP_FMAC4 soap_in_ns1__delta_USCOREgcskew(struct soap *soap, const char *tag, struct ns1__delta_USCOREgcskew *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__delta_USCOREgcskew *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__delta_USCOREgcskew, sizeof(struct ns1__delta_USCOREgcskew), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__delta_USCOREgcskew(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__delta_USCOREgcskewInputParams(soap, NULL, &a->_params, "ns1:delta_gcskewInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__delta_USCOREgcskew *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__delta_USCOREgcskew, 0, sizeof(struct ns1__delta_USCOREgcskew), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__delta_USCOREgcskew(struct soap *soap, const struct ns1__delta_USCOREgcskew *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__delta_USCOREgcskew);
+	if (soap_out_ns1__delta_USCOREgcskew(soap, tag?tag:"ns1:delta_gcskew", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__delta_USCOREgcskew * SOAP_FMAC4 soap_get_ns1__delta_USCOREgcskew(struct soap *soap, struct ns1__delta_USCOREgcskew *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__delta_USCOREgcskew(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__delta_USCOREgcskewResponse(struct soap *soap, struct ns1__delta_USCOREgcskewResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__delta_USCOREgcskewResponse(struct soap *soap, const struct ns1__delta_USCOREgcskewResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__delta_USCOREgcskewResponse(struct soap *soap, const char *tag, int id, const struct ns1__delta_USCOREgcskewResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__delta_USCOREgcskewResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__delta_USCOREgcskewResponse * SOAP_FMAC4 soap_in_ns1__delta_USCOREgcskewResponse(struct soap *soap, const char *tag, struct ns1__delta_USCOREgcskewResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__delta_USCOREgcskewResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__delta_USCOREgcskewResponse, sizeof(struct ns1__delta_USCOREgcskewResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__delta_USCOREgcskewResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__delta_USCOREgcskewResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__delta_USCOREgcskewResponse, 0, sizeof(struct ns1__delta_USCOREgcskewResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__delta_USCOREgcskewResponse(struct soap *soap, const struct ns1__delta_USCOREgcskewResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__delta_USCOREgcskewResponse);
+	if (soap_out_ns1__delta_USCOREgcskewResponse(soap, tag?tag:"ns1:delta_gcskewResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__delta_USCOREgcskewResponse * SOAP_FMAC4 soap_get_ns1__delta_USCOREgcskewResponse(struct soap *soap, struct ns1__delta_USCOREgcskewResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__delta_USCOREgcskewResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__delta_USCOREenc(struct soap *soap, struct ns1__delta_USCOREenc *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__delta_USCOREenc(struct soap *soap, const struct ns1__delta_USCOREenc *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__delta_USCOREenc(struct soap *soap, const char *tag, int id, const struct ns1__delta_USCOREenc *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__delta_USCOREenc), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__delta_USCOREenc * SOAP_FMAC4 soap_in_ns1__delta_USCOREenc(struct soap *soap, const char *tag, struct ns1__delta_USCOREenc *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__delta_USCOREenc *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__delta_USCOREenc, sizeof(struct ns1__delta_USCOREenc), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__delta_USCOREenc(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__delta_USCOREenc *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__delta_USCOREenc, 0, sizeof(struct ns1__delta_USCOREenc), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__delta_USCOREenc(struct soap *soap, const struct ns1__delta_USCOREenc *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__delta_USCOREenc);
+	if (soap_out_ns1__delta_USCOREenc(soap, tag?tag:"ns1:delta_enc", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__delta_USCOREenc * SOAP_FMAC4 soap_get_ns1__delta_USCOREenc(struct soap *soap, struct ns1__delta_USCOREenc *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__delta_USCOREenc(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__delta_USCOREencResponse(struct soap *soap, struct ns1__delta_USCOREencResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__delta_USCOREencResponse(struct soap *soap, const struct ns1__delta_USCOREencResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__delta_USCOREencResponse(struct soap *soap, const char *tag, int id, const struct ns1__delta_USCOREencResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__delta_USCOREencResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__delta_USCOREencResponse * SOAP_FMAC4 soap_in_ns1__delta_USCOREencResponse(struct soap *soap, const char *tag, struct ns1__delta_USCOREencResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__delta_USCOREencResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__delta_USCOREencResponse, sizeof(struct ns1__delta_USCOREencResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__delta_USCOREencResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__delta_USCOREencResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__delta_USCOREencResponse, 0, sizeof(struct ns1__delta_USCOREencResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__delta_USCOREencResponse(struct soap *soap, const struct ns1__delta_USCOREencResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__delta_USCOREencResponse);
+	if (soap_out_ns1__delta_USCOREencResponse(soap, tag?tag:"ns1:delta_encResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__delta_USCOREencResponse * SOAP_FMAC4 soap_get_ns1__delta_USCOREencResponse(struct soap *soap, struct ns1__delta_USCOREencResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__delta_USCOREencResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__cumulative(struct soap *soap, struct ns1__cumulative *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_array = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__cumulative(struct soap *soap, const struct ns1__cumulative *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayIn(soap, &a->_array);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__cumulative(struct soap *soap, const char *tag, int id, const struct ns1__cumulative *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__cumulative), type))
+		return soap->error;
+	if (soap_out_PointerToarrayIn(soap, "array", -1, &a->_array, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__cumulative * SOAP_FMAC4 soap_in_ns1__cumulative(struct soap *soap, const char *tag, struct ns1__cumulative *a, const char *type)
+{
+	size_t soap_flag__array = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__cumulative *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__cumulative, sizeof(struct ns1__cumulative), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__cumulative(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__array && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayIn(soap, NULL, &a->_array, "xsd:string"))
+				{	soap_flag__array--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__cumulative *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__cumulative, 0, sizeof(struct ns1__cumulative), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__cumulative(struct soap *soap, const struct ns1__cumulative *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__cumulative);
+	if (soap_out_ns1__cumulative(soap, tag?tag:"ns1:cumulative", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__cumulative * SOAP_FMAC4 soap_get_ns1__cumulative(struct soap *soap, struct ns1__cumulative *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__cumulative(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__cumulativeResponse(struct soap *soap, struct ns1__cumulativeResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__cumulativeResponse(struct soap *soap, const struct ns1__cumulativeResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayOut(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__cumulativeResponse(struct soap *soap, const char *tag, int id, const struct ns1__cumulativeResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__cumulativeResponse), type))
+		return soap->error;
+	if (soap_out_PointerToarrayOut(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__cumulativeResponse * SOAP_FMAC4 soap_in_ns1__cumulativeResponse(struct soap *soap, const char *tag, struct ns1__cumulativeResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__cumulativeResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__cumulativeResponse, sizeof(struct ns1__cumulativeResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__cumulativeResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayOut(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__cumulativeResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__cumulativeResponse, 0, sizeof(struct ns1__cumulativeResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__cumulativeResponse(struct soap *soap, const struct ns1__cumulativeResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__cumulativeResponse);
+	if (soap_out_ns1__cumulativeResponse(soap, tag?tag:"ns1:cumulativeResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__cumulativeResponse * SOAP_FMAC4 soap_get_ns1__cumulativeResponse(struct soap *soap, struct ns1__cumulativeResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__cumulativeResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__cor(struct soap *soap, struct ns1__cor *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_array1 = NULL;
+	a->_array2 = NULL;
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__cor(struct soap *soap, const struct ns1__cor *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayIn(soap, &a->_array1);
+	soap_serialize_PointerToarrayIn(soap, &a->_array2);
+	soap_serialize_PointerTons1__corInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__cor(struct soap *soap, const char *tag, int id, const struct ns1__cor *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__cor), type))
+		return soap->error;
+	if (soap_out_PointerToarrayIn(soap, "array1", -1, &a->_array1, ""))
+		return soap->error;
+	if (soap_out_PointerToarrayIn(soap, "array2", -1, &a->_array2, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__corInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__cor * SOAP_FMAC4 soap_in_ns1__cor(struct soap *soap, const char *tag, struct ns1__cor *a, const char *type)
+{
+	size_t soap_flag__array1 = 1;
+	size_t soap_flag__array2 = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__cor *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__cor, sizeof(struct ns1__cor), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__cor(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__array1 && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayIn(soap, NULL, &a->_array1, "xsd:string"))
+				{	soap_flag__array1--;
+					continue;
+				}
+			if (soap_flag__array2 && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayIn(soap, NULL, &a->_array2, "xsd:string"))
+				{	soap_flag__array2--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__corInputParams(soap, NULL, &a->_params, "ns1:corInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__cor *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__cor, 0, sizeof(struct ns1__cor), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__cor(struct soap *soap, const struct ns1__cor *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__cor);
+	if (soap_out_ns1__cor(soap, tag?tag:"ns1:cor", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__cor * SOAP_FMAC4 soap_get_ns1__cor(struct soap *soap, struct ns1__cor *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__cor(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__corResponse(struct soap *soap, struct ns1__corResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__corResponse(struct soap *soap, const struct ns1__corResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayOut(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__corResponse(struct soap *soap, const char *tag, int id, const struct ns1__corResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__corResponse), type))
+		return soap->error;
+	if (soap_out_PointerToarrayOut(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__corResponse * SOAP_FMAC4 soap_in_ns1__corResponse(struct soap *soap, const char *tag, struct ns1__corResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__corResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__corResponse, sizeof(struct ns1__corResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__corResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayOut(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__corResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__corResponse, 0, sizeof(struct ns1__corResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__corResponse(struct soap *soap, const struct ns1__corResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__corResponse);
+	if (soap_out_ns1__corResponse(soap, tag?tag:"ns1:corResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__corResponse * SOAP_FMAC4 soap_get_ns1__corResponse(struct soap *soap, struct ns1__corResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__corResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__standard_USCOREdeviation(struct soap *soap, struct ns1__standard_USCOREdeviation *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_array = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__standard_USCOREdeviation(struct soap *soap, const struct ns1__standard_USCOREdeviation *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayIn(soap, &a->_array);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__standard_USCOREdeviation(struct soap *soap, const char *tag, int id, const struct ns1__standard_USCOREdeviation *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__standard_USCOREdeviation), type))
+		return soap->error;
+	if (soap_out_PointerToarrayIn(soap, "array", -1, &a->_array, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__standard_USCOREdeviation * SOAP_FMAC4 soap_in_ns1__standard_USCOREdeviation(struct soap *soap, const char *tag, struct ns1__standard_USCOREdeviation *a, const char *type)
+{
+	size_t soap_flag__array = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__standard_USCOREdeviation *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__standard_USCOREdeviation, sizeof(struct ns1__standard_USCOREdeviation), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__standard_USCOREdeviation(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__array && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayIn(soap, NULL, &a->_array, "xsd:string"))
+				{	soap_flag__array--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__standard_USCOREdeviation *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__standard_USCOREdeviation, 0, sizeof(struct ns1__standard_USCOREdeviation), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__standard_USCOREdeviation(struct soap *soap, const struct ns1__standard_USCOREdeviation *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__standard_USCOREdeviation);
+	if (soap_out_ns1__standard_USCOREdeviation(soap, tag?tag:"ns1:standard_deviation", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__standard_USCOREdeviation * SOAP_FMAC4 soap_get_ns1__standard_USCOREdeviation(struct soap *soap, struct ns1__standard_USCOREdeviation *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__standard_USCOREdeviation(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__standard_USCOREdeviationResponse(struct soap *soap, struct ns1__standard_USCOREdeviationResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__standard_USCOREdeviationResponse(struct soap *soap, const struct ns1__standard_USCOREdeviationResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__standard_USCOREdeviationResponse(struct soap *soap, const char *tag, int id, const struct ns1__standard_USCOREdeviationResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__standard_USCOREdeviationResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__standard_USCOREdeviationResponse * SOAP_FMAC4 soap_in_ns1__standard_USCOREdeviationResponse(struct soap *soap, const char *tag, struct ns1__standard_USCOREdeviationResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__standard_USCOREdeviationResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__standard_USCOREdeviationResponse, sizeof(struct ns1__standard_USCOREdeviationResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__standard_USCOREdeviationResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__standard_USCOREdeviationResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__standard_USCOREdeviationResponse, 0, sizeof(struct ns1__standard_USCOREdeviationResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__standard_USCOREdeviationResponse(struct soap *soap, const struct ns1__standard_USCOREdeviationResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__standard_USCOREdeviationResponse);
+	if (soap_out_ns1__standard_USCOREdeviationResponse(soap, tag?tag:"ns1:standard_deviationResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__standard_USCOREdeviationResponse * SOAP_FMAC4 soap_get_ns1__standard_USCOREdeviationResponse(struct soap *soap, struct ns1__standard_USCOREdeviationResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__standard_USCOREdeviationResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__geneskew(struct soap *soap, struct ns1__geneskew *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__geneskew(struct soap *soap, const struct ns1__geneskew *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__geneskewInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__geneskew(struct soap *soap, const char *tag, int id, const struct ns1__geneskew *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__geneskew), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__geneskewInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__geneskew * SOAP_FMAC4 soap_in_ns1__geneskew(struct soap *soap, const char *tag, struct ns1__geneskew *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__geneskew *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__geneskew, sizeof(struct ns1__geneskew), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__geneskew(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__geneskewInputParams(soap, NULL, &a->_params, "ns1:geneskewInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__geneskew *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__geneskew, 0, sizeof(struct ns1__geneskew), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__geneskew(struct soap *soap, const struct ns1__geneskew *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__geneskew);
+	if (soap_out_ns1__geneskew(soap, tag?tag:"ns1:geneskew", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__geneskew * SOAP_FMAC4 soap_get_ns1__geneskew(struct soap *soap, struct ns1__geneskew *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__geneskew(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__geneskewResponse(struct soap *soap, struct ns1__geneskewResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__geneskewResponse(struct soap *soap, const struct ns1__geneskewResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__geneskewResponse(struct soap *soap, const char *tag, int id, const struct ns1__geneskewResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__geneskewResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__geneskewResponse * SOAP_FMAC4 soap_in_ns1__geneskewResponse(struct soap *soap, const char *tag, struct ns1__geneskewResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__geneskewResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__geneskewResponse, sizeof(struct ns1__geneskewResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__geneskewResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__geneskewResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__geneskewResponse, 0, sizeof(struct ns1__geneskewResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__geneskewResponse(struct soap *soap, const struct ns1__geneskewResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__geneskewResponse);
+	if (soap_out_ns1__geneskewResponse(soap, tag?tag:"ns1:geneskewResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__geneskewResponse * SOAP_FMAC4 soap_get_ns1__geneskewResponse(struct soap *soap, struct ns1__geneskewResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__geneskewResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genes_USCOREfrom_USCOREori(struct soap *soap, struct ns1__genes_USCOREfrom_USCOREori *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	soap_default_string(soap, &a->_direction);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genes_USCOREfrom_USCOREori(struct soap *soap, const struct ns1__genes_USCOREfrom_USCOREori *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_string(soap, &a->_direction);
+	soap_serialize_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genes_USCOREfrom_USCOREori(struct soap *soap, const char *tag, int id, const struct ns1__genes_USCOREfrom_USCOREori *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__genes_USCOREfrom_USCOREori), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_string(soap, "direction", -1, &a->_direction, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__genes_USCOREfrom_USCOREori * SOAP_FMAC4 soap_in_ns1__genes_USCOREfrom_USCOREori(struct soap *soap, const char *tag, struct ns1__genes_USCOREfrom_USCOREori *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__direction = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__genes_USCOREfrom_USCOREori *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__genes_USCOREfrom_USCOREori, sizeof(struct ns1__genes_USCOREfrom_USCOREori), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__genes_USCOREfrom_USCOREori(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__direction && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_direction, "xsd:string"))
+				{	soap_flag__direction--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(soap, NULL, &a->_params, "ns1:genes_from_oriInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__genes_USCOREfrom_USCOREori *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__genes_USCOREfrom_USCOREori, 0, sizeof(struct ns1__genes_USCOREfrom_USCOREori), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genes_USCOREfrom_USCOREori(struct soap *soap, const struct ns1__genes_USCOREfrom_USCOREori *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__genes_USCOREfrom_USCOREori);
+	if (soap_out_ns1__genes_USCOREfrom_USCOREori(soap, tag?tag:"ns1:genes_from_ori", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__genes_USCOREfrom_USCOREori * SOAP_FMAC4 soap_get_ns1__genes_USCOREfrom_USCOREori(struct soap *soap, struct ns1__genes_USCOREfrom_USCOREori *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__genes_USCOREfrom_USCOREori(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genes_USCOREfrom_USCOREoriResponse(struct soap *soap, struct ns1__genes_USCOREfrom_USCOREoriResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genes_USCOREfrom_USCOREoriResponse(struct soap *soap, const struct ns1__genes_USCOREfrom_USCOREoriResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayOut(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genes_USCOREfrom_USCOREoriResponse(struct soap *soap, const char *tag, int id, const struct ns1__genes_USCOREfrom_USCOREoriResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriResponse), type))
+		return soap->error;
+	if (soap_out_PointerToarrayOut(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__genes_USCOREfrom_USCOREoriResponse * SOAP_FMAC4 soap_in_ns1__genes_USCOREfrom_USCOREoriResponse(struct soap *soap, const char *tag, struct ns1__genes_USCOREfrom_USCOREoriResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__genes_USCOREfrom_USCOREoriResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriResponse, sizeof(struct ns1__genes_USCOREfrom_USCOREoriResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__genes_USCOREfrom_USCOREoriResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayOut(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__genes_USCOREfrom_USCOREoriResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriResponse, 0, sizeof(struct ns1__genes_USCOREfrom_USCOREoriResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genes_USCOREfrom_USCOREoriResponse(struct soap *soap, const struct ns1__genes_USCOREfrom_USCOREoriResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriResponse);
+	if (soap_out_ns1__genes_USCOREfrom_USCOREoriResponse(soap, tag?tag:"ns1:genes_from_oriResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__genes_USCOREfrom_USCOREoriResponse * SOAP_FMAC4 soap_get_ns1__genes_USCOREfrom_USCOREoriResponse(struct soap *soap, struct ns1__genes_USCOREfrom_USCOREoriResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__genes_USCOREfrom_USCOREoriResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__cbi(struct soap *soap, struct ns1__cbi *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__cbi(struct soap *soap, const struct ns1__cbi *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__cbiInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__cbi(struct soap *soap, const char *tag, int id, const struct ns1__cbi *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__cbi), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__cbiInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__cbi * SOAP_FMAC4 soap_in_ns1__cbi(struct soap *soap, const char *tag, struct ns1__cbi *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__cbi *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__cbi, sizeof(struct ns1__cbi), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__cbi(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__cbiInputParams(soap, NULL, &a->_params, "ns1:cbiInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__cbi *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__cbi, 0, sizeof(struct ns1__cbi), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__cbi(struct soap *soap, const struct ns1__cbi *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__cbi);
+	if (soap_out_ns1__cbi(soap, tag?tag:"ns1:cbi", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__cbi * SOAP_FMAC4 soap_get_ns1__cbi(struct soap *soap, struct ns1__cbi *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__cbi(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__cbiResponse(struct soap *soap, struct ns1__cbiResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__cbiResponse(struct soap *soap, const struct ns1__cbiResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__cbiResponse(struct soap *soap, const char *tag, int id, const struct ns1__cbiResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__cbiResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__cbiResponse * SOAP_FMAC4 soap_in_ns1__cbiResponse(struct soap *soap, const char *tag, struct ns1__cbiResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__cbiResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__cbiResponse, sizeof(struct ns1__cbiResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__cbiResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__cbiResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__cbiResponse, 0, sizeof(struct ns1__cbiResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__cbiResponse(struct soap *soap, const struct ns1__cbiResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__cbiResponse);
+	if (soap_out_ns1__cbiResponse(soap, tag?tag:"ns1:cbiResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__cbiResponse * SOAP_FMAC4 soap_get_ns1__cbiResponse(struct soap *soap, struct ns1__cbiResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__cbiResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREdif(struct soap *soap, struct ns1__find_USCOREdif *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREdif(struct soap *soap, const struct ns1__find_USCOREdif *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__find_USCOREdifInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREdif(struct soap *soap, const char *tag, int id, const struct ns1__find_USCOREdif *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__find_USCOREdif), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__find_USCOREdifInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREdif * SOAP_FMAC4 soap_in_ns1__find_USCOREdif(struct soap *soap, const char *tag, struct ns1__find_USCOREdif *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__find_USCOREdif *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__find_USCOREdif, sizeof(struct ns1__find_USCOREdif), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__find_USCOREdif(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__find_USCOREdifInputParams(soap, NULL, &a->_params, "ns1:find_difInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREdif *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__find_USCOREdif, 0, sizeof(struct ns1__find_USCOREdif), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREdif(struct soap *soap, const struct ns1__find_USCOREdif *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__find_USCOREdif);
+	if (soap_out_ns1__find_USCOREdif(soap, tag?tag:"ns1:find_dif", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREdif * SOAP_FMAC4 soap_get_ns1__find_USCOREdif(struct soap *soap, struct ns1__find_USCOREdif *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__find_USCOREdif(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREdifResponse(struct soap *soap, struct ns1__find_USCOREdifResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREdifResponse(struct soap *soap, const struct ns1__find_USCOREdifResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayOut(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREdifResponse(struct soap *soap, const char *tag, int id, const struct ns1__find_USCOREdifResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__find_USCOREdifResponse), type))
+		return soap->error;
+	if (soap_out_PointerToarrayOut(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREdifResponse * SOAP_FMAC4 soap_in_ns1__find_USCOREdifResponse(struct soap *soap, const char *tag, struct ns1__find_USCOREdifResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__find_USCOREdifResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__find_USCOREdifResponse, sizeof(struct ns1__find_USCOREdifResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__find_USCOREdifResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayOut(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREdifResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__find_USCOREdifResponse, 0, sizeof(struct ns1__find_USCOREdifResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREdifResponse(struct soap *soap, const struct ns1__find_USCOREdifResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__find_USCOREdifResponse);
+	if (soap_out_ns1__find_USCOREdifResponse(soap, tag?tag:"ns1:find_difResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREdifResponse * SOAP_FMAC4 soap_get_ns1__find_USCOREdifResponse(struct soap *soap, struct ns1__find_USCOREdifResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__find_USCOREdifResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__to_USCOREfasta(struct soap *soap, struct ns1__to_USCOREfasta *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__to_USCOREfasta(struct soap *soap, const struct ns1__to_USCOREfasta *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__to_USCOREfastaInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__to_USCOREfasta(struct soap *soap, const char *tag, int id, const struct ns1__to_USCOREfasta *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__to_USCOREfasta), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__to_USCOREfastaInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__to_USCOREfasta * SOAP_FMAC4 soap_in_ns1__to_USCOREfasta(struct soap *soap, const char *tag, struct ns1__to_USCOREfasta *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__to_USCOREfasta *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__to_USCOREfasta, sizeof(struct ns1__to_USCOREfasta), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__to_USCOREfasta(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__to_USCOREfastaInputParams(soap, NULL, &a->_params, "ns1:to_fastaInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__to_USCOREfasta *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__to_USCOREfasta, 0, sizeof(struct ns1__to_USCOREfasta), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__to_USCOREfasta(struct soap *soap, const struct ns1__to_USCOREfasta *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__to_USCOREfasta);
+	if (soap_out_ns1__to_USCOREfasta(soap, tag?tag:"ns1:to_fasta", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__to_USCOREfasta * SOAP_FMAC4 soap_get_ns1__to_USCOREfasta(struct soap *soap, struct ns1__to_USCOREfasta *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__to_USCOREfasta(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__to_USCOREfastaResponse(struct soap *soap, struct ns1__to_USCOREfastaResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__to_USCOREfastaResponse(struct soap *soap, const struct ns1__to_USCOREfastaResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__to_USCOREfastaResponse(struct soap *soap, const char *tag, int id, const struct ns1__to_USCOREfastaResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__to_USCOREfastaResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__to_USCOREfastaResponse * SOAP_FMAC4 soap_in_ns1__to_USCOREfastaResponse(struct soap *soap, const char *tag, struct ns1__to_USCOREfastaResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__to_USCOREfastaResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__to_USCOREfastaResponse, sizeof(struct ns1__to_USCOREfastaResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__to_USCOREfastaResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__to_USCOREfastaResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__to_USCOREfastaResponse, 0, sizeof(struct ns1__to_USCOREfastaResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__to_USCOREfastaResponse(struct soap *soap, const struct ns1__to_USCOREfastaResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__to_USCOREfastaResponse);
+	if (soap_out_ns1__to_USCOREfastaResponse(soap, tag?tag:"ns1:to_fastaResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__to_USCOREfastaResponse * SOAP_FMAC4 soap_get_ns1__to_USCOREfastaResponse(struct soap *soap, struct ns1__to_USCOREfastaResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__to_USCOREfastaResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREentropy(struct soap *soap, struct ns1__base_USCOREentropy *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREentropy(struct soap *soap, const struct ns1__base_USCOREentropy *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__base_USCOREentropyInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREentropy(struct soap *soap, const char *tag, int id, const struct ns1__base_USCOREentropy *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__base_USCOREentropy), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__base_USCOREentropyInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREentropy * SOAP_FMAC4 soap_in_ns1__base_USCOREentropy(struct soap *soap, const char *tag, struct ns1__base_USCOREentropy *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__base_USCOREentropy *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__base_USCOREentropy, sizeof(struct ns1__base_USCOREentropy), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__base_USCOREentropy(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__base_USCOREentropyInputParams(soap, NULL, &a->_params, "ns1:base_entropyInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__base_USCOREentropy *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__base_USCOREentropy, 0, sizeof(struct ns1__base_USCOREentropy), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREentropy(struct soap *soap, const struct ns1__base_USCOREentropy *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__base_USCOREentropy);
+	if (soap_out_ns1__base_USCOREentropy(soap, tag?tag:"ns1:base_entropy", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREentropy * SOAP_FMAC4 soap_get_ns1__base_USCOREentropy(struct soap *soap, struct ns1__base_USCOREentropy *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__base_USCOREentropy(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREentropyResponse(struct soap *soap, struct ns1__base_USCOREentropyResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREentropyResponse(struct soap *soap, const struct ns1__base_USCOREentropyResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREentropyResponse(struct soap *soap, const char *tag, int id, const struct ns1__base_USCOREentropyResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__base_USCOREentropyResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREentropyResponse * SOAP_FMAC4 soap_in_ns1__base_USCOREentropyResponse(struct soap *soap, const char *tag, struct ns1__base_USCOREentropyResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__base_USCOREentropyResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__base_USCOREentropyResponse, sizeof(struct ns1__base_USCOREentropyResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__base_USCOREentropyResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__base_USCOREentropyResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__base_USCOREentropyResponse, 0, sizeof(struct ns1__base_USCOREentropyResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREentropyResponse(struct soap *soap, const struct ns1__base_USCOREentropyResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__base_USCOREentropyResponse);
+	if (soap_out_ns1__base_USCOREentropyResponse(soap, tag?tag:"ns1:base_entropyResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREentropyResponse * SOAP_FMAC4 soap_get_ns1__base_USCOREentropyResponse(struct soap *soap, struct ns1__base_USCOREentropyResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__base_USCOREentropyResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__DoubleHelix(struct soap *soap, struct ns1__DoubleHelix *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__DoubleHelix(struct soap *soap, const struct ns1__DoubleHelix *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__DoubleHelixInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__DoubleHelix(struct soap *soap, const char *tag, int id, const struct ns1__DoubleHelix *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__DoubleHelix), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__DoubleHelixInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__DoubleHelix * SOAP_FMAC4 soap_in_ns1__DoubleHelix(struct soap *soap, const char *tag, struct ns1__DoubleHelix *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__DoubleHelix *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__DoubleHelix, sizeof(struct ns1__DoubleHelix), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__DoubleHelix(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__DoubleHelixInputParams(soap, NULL, &a->_params, "ns1:DoubleHelixInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__DoubleHelix *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__DoubleHelix, 0, sizeof(struct ns1__DoubleHelix), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__DoubleHelix(struct soap *soap, const struct ns1__DoubleHelix *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__DoubleHelix);
+	if (soap_out_ns1__DoubleHelix(soap, tag?tag:"ns1:DoubleHelix", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__DoubleHelix * SOAP_FMAC4 soap_get_ns1__DoubleHelix(struct soap *soap, struct ns1__DoubleHelix *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__DoubleHelix(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__DoubleHelixResponse(struct soap *soap, struct ns1__DoubleHelixResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__DoubleHelixResponse(struct soap *soap, const struct ns1__DoubleHelixResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__DoubleHelixResponse(struct soap *soap, const char *tag, int id, const struct ns1__DoubleHelixResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__DoubleHelixResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__DoubleHelixResponse * SOAP_FMAC4 soap_in_ns1__DoubleHelixResponse(struct soap *soap, const char *tag, struct ns1__DoubleHelixResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__DoubleHelixResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__DoubleHelixResponse, sizeof(struct ns1__DoubleHelixResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__DoubleHelixResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__DoubleHelixResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__DoubleHelixResponse, 0, sizeof(struct ns1__DoubleHelixResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__DoubleHelixResponse(struct soap *soap, const struct ns1__DoubleHelixResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__DoubleHelixResponse);
+	if (soap_out_ns1__DoubleHelixResponse(soap, tag?tag:"ns1:DoubleHelixResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__DoubleHelixResponse * SOAP_FMAC4 soap_get_ns1__DoubleHelixResponse(struct soap *soap, struct ns1__DoubleHelixResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__DoubleHelixResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__calc_USCOREpI(struct soap *soap, struct ns1__calc_USCOREpI *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__calc_USCOREpI(struct soap *soap, const struct ns1__calc_USCOREpI *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__calc_USCOREpI(struct soap *soap, const char *tag, int id, const struct ns1__calc_USCOREpI *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__calc_USCOREpI), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__calc_USCOREpI * SOAP_FMAC4 soap_in_ns1__calc_USCOREpI(struct soap *soap, const char *tag, struct ns1__calc_USCOREpI *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__calc_USCOREpI *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__calc_USCOREpI, sizeof(struct ns1__calc_USCOREpI), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__calc_USCOREpI(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__calc_USCOREpI *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__calc_USCOREpI, 0, sizeof(struct ns1__calc_USCOREpI), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__calc_USCOREpI(struct soap *soap, const struct ns1__calc_USCOREpI *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__calc_USCOREpI);
+	if (soap_out_ns1__calc_USCOREpI(soap, tag?tag:"ns1:calc_pI", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__calc_USCOREpI * SOAP_FMAC4 soap_get_ns1__calc_USCOREpI(struct soap *soap, struct ns1__calc_USCOREpI *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__calc_USCOREpI(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__calc_USCOREpIResponse(struct soap *soap, struct ns1__calc_USCOREpIResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__calc_USCOREpIResponse(struct soap *soap, const struct ns1__calc_USCOREpIResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__calc_USCOREpIResponse(struct soap *soap, const char *tag, int id, const struct ns1__calc_USCOREpIResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__calc_USCOREpIResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__calc_USCOREpIResponse * SOAP_FMAC4 soap_in_ns1__calc_USCOREpIResponse(struct soap *soap, const char *tag, struct ns1__calc_USCOREpIResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__calc_USCOREpIResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__calc_USCOREpIResponse, sizeof(struct ns1__calc_USCOREpIResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__calc_USCOREpIResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__calc_USCOREpIResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__calc_USCOREpIResponse, 0, sizeof(struct ns1__calc_USCOREpIResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__calc_USCOREpIResponse(struct soap *soap, const struct ns1__calc_USCOREpIResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__calc_USCOREpIResponse);
+	if (soap_out_ns1__calc_USCOREpIResponse(soap, tag?tag:"ns1:calc_pIResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__calc_USCOREpIResponse * SOAP_FMAC4 soap_get_ns1__calc_USCOREpIResponse(struct soap *soap, struct ns1__calc_USCOREpIResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__calc_USCOREpIResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__rep_USCOREori_USCOREter(struct soap *soap, struct ns1__rep_USCOREori_USCOREter *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__rep_USCOREori_USCOREter(struct soap *soap, const struct ns1__rep_USCOREori_USCOREter *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__rep_USCOREori_USCOREterInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__rep_USCOREori_USCOREter(struct soap *soap, const char *tag, int id, const struct ns1__rep_USCOREori_USCOREter *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__rep_USCOREori_USCOREter), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__rep_USCOREori_USCOREterInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__rep_USCOREori_USCOREter * SOAP_FMAC4 soap_in_ns1__rep_USCOREori_USCOREter(struct soap *soap, const char *tag, struct ns1__rep_USCOREori_USCOREter *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__rep_USCOREori_USCOREter *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__rep_USCOREori_USCOREter, sizeof(struct ns1__rep_USCOREori_USCOREter), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__rep_USCOREori_USCOREter(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__rep_USCOREori_USCOREterInputParams(soap, NULL, &a->_params, "ns1:rep_ori_terInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__rep_USCOREori_USCOREter *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__rep_USCOREori_USCOREter, 0, sizeof(struct ns1__rep_USCOREori_USCOREter), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__rep_USCOREori_USCOREter(struct soap *soap, const struct ns1__rep_USCOREori_USCOREter *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__rep_USCOREori_USCOREter);
+	if (soap_out_ns1__rep_USCOREori_USCOREter(soap, tag?tag:"ns1:rep_ori_ter", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__rep_USCOREori_USCOREter * SOAP_FMAC4 soap_get_ns1__rep_USCOREori_USCOREter(struct soap *soap, struct ns1__rep_USCOREori_USCOREter *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__rep_USCOREori_USCOREter(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__rep_USCOREori_USCOREterResponse(struct soap *soap, struct ns1__rep_USCOREori_USCOREterResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__rep_USCOREori_USCOREterResponse(struct soap *soap, const struct ns1__rep_USCOREori_USCOREterResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__rep_USCOREori_USCOREterResponse(struct soap *soap, const char *tag, int id, const struct ns1__rep_USCOREori_USCOREterResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__rep_USCOREori_USCOREterResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__rep_USCOREori_USCOREterResponse * SOAP_FMAC4 soap_in_ns1__rep_USCOREori_USCOREterResponse(struct soap *soap, const char *tag, struct ns1__rep_USCOREori_USCOREterResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__rep_USCOREori_USCOREterResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__rep_USCOREori_USCOREterResponse, sizeof(struct ns1__rep_USCOREori_USCOREterResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__rep_USCOREori_USCOREterResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__rep_USCOREori_USCOREterResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__rep_USCOREori_USCOREterResponse, 0, sizeof(struct ns1__rep_USCOREori_USCOREterResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__rep_USCOREori_USCOREterResponse(struct soap *soap, const struct ns1__rep_USCOREori_USCOREterResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__rep_USCOREori_USCOREterResponse);
+	if (soap_out_ns1__rep_USCOREori_USCOREterResponse(soap, tag?tag:"ns1:rep_ori_terResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__rep_USCOREori_USCOREterResponse * SOAP_FMAC4 soap_get_ns1__rep_USCOREori_USCOREterResponse(struct soap *soap, struct ns1__rep_USCOREori_USCOREterResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__rep_USCOREori_USCOREterResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__longest_USCOREORF(struct soap *soap, struct ns1__longest_USCOREORF *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__longest_USCOREORF(struct soap *soap, const struct ns1__longest_USCOREORF *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__longest_USCOREORF(struct soap *soap, const char *tag, int id, const struct ns1__longest_USCOREORF *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__longest_USCOREORF), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__longest_USCOREORF * SOAP_FMAC4 soap_in_ns1__longest_USCOREORF(struct soap *soap, const char *tag, struct ns1__longest_USCOREORF *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__longest_USCOREORF *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__longest_USCOREORF, sizeof(struct ns1__longest_USCOREORF), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__longest_USCOREORF(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__longest_USCOREORF *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__longest_USCOREORF, 0, sizeof(struct ns1__longest_USCOREORF), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__longest_USCOREORF(struct soap *soap, const struct ns1__longest_USCOREORF *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__longest_USCOREORF);
+	if (soap_out_ns1__longest_USCOREORF(soap, tag?tag:"ns1:longest_ORF", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__longest_USCOREORF * SOAP_FMAC4 soap_get_ns1__longest_USCOREORF(struct soap *soap, struct ns1__longest_USCOREORF *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__longest_USCOREORF(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__longest_USCOREORFResponse(struct soap *soap, struct ns1__longest_USCOREORFResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__longest_USCOREORFResponse(struct soap *soap, const struct ns1__longest_USCOREORFResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__longest_USCOREORFResponse(struct soap *soap, const char *tag, int id, const struct ns1__longest_USCOREORFResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__longest_USCOREORFResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__longest_USCOREORFResponse * SOAP_FMAC4 soap_in_ns1__longest_USCOREORFResponse(struct soap *soap, const char *tag, struct ns1__longest_USCOREORFResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__longest_USCOREORFResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__longest_USCOREORFResponse, sizeof(struct ns1__longest_USCOREORFResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__longest_USCOREORFResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__longest_USCOREORFResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__longest_USCOREORFResponse, 0, sizeof(struct ns1__longest_USCOREORFResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__longest_USCOREORFResponse(struct soap *soap, const struct ns1__longest_USCOREORFResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__longest_USCOREORFResponse);
+	if (soap_out_ns1__longest_USCOREORFResponse(soap, tag?tag:"ns1:longest_ORFResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__longest_USCOREORFResponse * SOAP_FMAC4 soap_get_ns1__longest_USCOREORFResponse(struct soap *soap, struct ns1__longest_USCOREORFResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__longest_USCOREORFResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genome_USCOREmap(struct soap *soap, struct ns1__genome_USCOREmap *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genome_USCOREmap(struct soap *soap, const struct ns1__genome_USCOREmap *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__genome_USCOREmapInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genome_USCOREmap(struct soap *soap, const char *tag, int id, const struct ns1__genome_USCOREmap *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__genome_USCOREmap), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__genome_USCOREmapInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__genome_USCOREmap * SOAP_FMAC4 soap_in_ns1__genome_USCOREmap(struct soap *soap, const char *tag, struct ns1__genome_USCOREmap *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__genome_USCOREmap *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__genome_USCOREmap, sizeof(struct ns1__genome_USCOREmap), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__genome_USCOREmap(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__genome_USCOREmapInputParams(soap, NULL, &a->_params, "ns1:genome_mapInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__genome_USCOREmap *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__genome_USCOREmap, 0, sizeof(struct ns1__genome_USCOREmap), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genome_USCOREmap(struct soap *soap, const struct ns1__genome_USCOREmap *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__genome_USCOREmap);
+	if (soap_out_ns1__genome_USCOREmap(soap, tag?tag:"ns1:genome_map", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__genome_USCOREmap * SOAP_FMAC4 soap_get_ns1__genome_USCOREmap(struct soap *soap, struct ns1__genome_USCOREmap *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__genome_USCOREmap(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genome_USCOREmapResponse(struct soap *soap, struct ns1__genome_USCOREmapResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genome_USCOREmapResponse(struct soap *soap, const struct ns1__genome_USCOREmapResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genome_USCOREmapResponse(struct soap *soap, const char *tag, int id, const struct ns1__genome_USCOREmapResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__genome_USCOREmapResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__genome_USCOREmapResponse * SOAP_FMAC4 soap_in_ns1__genome_USCOREmapResponse(struct soap *soap, const char *tag, struct ns1__genome_USCOREmapResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__genome_USCOREmapResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__genome_USCOREmapResponse, sizeof(struct ns1__genome_USCOREmapResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__genome_USCOREmapResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__genome_USCOREmapResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__genome_USCOREmapResponse, 0, sizeof(struct ns1__genome_USCOREmapResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genome_USCOREmapResponse(struct soap *soap, const struct ns1__genome_USCOREmapResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__genome_USCOREmapResponse);
+	if (soap_out_ns1__genome_USCOREmapResponse(soap, tag?tag:"ns1:genome_mapResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__genome_USCOREmapResponse * SOAP_FMAC4 soap_get_ns1__genome_USCOREmapResponse(struct soap *soap, struct ns1__genome_USCOREmapResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__genome_USCOREmapResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__consensus_USCOREz(struct soap *soap, struct ns1__consensus_USCOREz *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_array_USCOREseq = NULL;
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__consensus_USCOREz(struct soap *soap, const struct ns1__consensus_USCOREz *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayIn(soap, &a->_array_USCOREseq);
+	soap_serialize_PointerTons1__consensus_USCOREzInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__consensus_USCOREz(struct soap *soap, const char *tag, int id, const struct ns1__consensus_USCOREz *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__consensus_USCOREz), type))
+		return soap->error;
+	if (soap_out_PointerToarrayIn(soap, "array_seq", -1, &a->_array_USCOREseq, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__consensus_USCOREzInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__consensus_USCOREz * SOAP_FMAC4 soap_in_ns1__consensus_USCOREz(struct soap *soap, const char *tag, struct ns1__consensus_USCOREz *a, const char *type)
+{
+	size_t soap_flag__array_USCOREseq = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__consensus_USCOREz *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__consensus_USCOREz, sizeof(struct ns1__consensus_USCOREz), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__consensus_USCOREz(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__array_USCOREseq && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayIn(soap, NULL, &a->_array_USCOREseq, "xsd:string"))
+				{	soap_flag__array_USCOREseq--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__consensus_USCOREzInputParams(soap, NULL, &a->_params, "ns1:consensus_zInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__consensus_USCOREz *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__consensus_USCOREz, 0, sizeof(struct ns1__consensus_USCOREz), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__consensus_USCOREz(struct soap *soap, const struct ns1__consensus_USCOREz *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__consensus_USCOREz);
+	if (soap_out_ns1__consensus_USCOREz(soap, tag?tag:"ns1:consensus_z", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__consensus_USCOREz * SOAP_FMAC4 soap_get_ns1__consensus_USCOREz(struct soap *soap, struct ns1__consensus_USCOREz *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__consensus_USCOREz(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__consensus_USCOREzResponse(struct soap *soap, struct ns1__consensus_USCOREzResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__consensus_USCOREzResponse(struct soap *soap, const struct ns1__consensus_USCOREzResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__consensus_USCOREzResponse(struct soap *soap, const char *tag, int id, const struct ns1__consensus_USCOREzResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__consensus_USCOREzResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__consensus_USCOREzResponse * SOAP_FMAC4 soap_in_ns1__consensus_USCOREzResponse(struct soap *soap, const char *tag, struct ns1__consensus_USCOREzResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__consensus_USCOREzResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__consensus_USCOREzResponse, sizeof(struct ns1__consensus_USCOREzResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__consensus_USCOREzResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__consensus_USCOREzResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__consensus_USCOREzResponse, 0, sizeof(struct ns1__consensus_USCOREzResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__consensus_USCOREzResponse(struct soap *soap, const struct ns1__consensus_USCOREzResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__consensus_USCOREzResponse);
+	if (soap_out_ns1__consensus_USCOREzResponse(soap, tag?tag:"ns1:consensus_zResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__consensus_USCOREzResponse * SOAP_FMAC4 soap_get_ns1__consensus_USCOREzResponse(struct soap *soap, struct ns1__consensus_USCOREzResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__consensus_USCOREzResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__mindex(struct soap *soap, struct ns1__mindex *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_array = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__mindex(struct soap *soap, const struct ns1__mindex *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayIn(soap, &a->_array);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__mindex(struct soap *soap, const char *tag, int id, const struct ns1__mindex *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__mindex), type))
+		return soap->error;
+	if (soap_out_PointerToarrayIn(soap, "array", -1, &a->_array, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__mindex * SOAP_FMAC4 soap_in_ns1__mindex(struct soap *soap, const char *tag, struct ns1__mindex *a, const char *type)
+{
+	size_t soap_flag__array = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__mindex *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__mindex, sizeof(struct ns1__mindex), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__mindex(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__array && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayIn(soap, NULL, &a->_array, "xsd:string"))
+				{	soap_flag__array--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__mindex *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__mindex, 0, sizeof(struct ns1__mindex), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__mindex(struct soap *soap, const struct ns1__mindex *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__mindex);
+	if (soap_out_ns1__mindex(soap, tag?tag:"ns1:mindex", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__mindex * SOAP_FMAC4 soap_get_ns1__mindex(struct soap *soap, struct ns1__mindex *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__mindex(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__mindexResponse(struct soap *soap, struct ns1__mindexResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__mindexResponse(struct soap *soap, const struct ns1__mindexResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__mindexResponse(struct soap *soap, const char *tag, int id, const struct ns1__mindexResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__mindexResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__mindexResponse * SOAP_FMAC4 soap_in_ns1__mindexResponse(struct soap *soap, const char *tag, struct ns1__mindexResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__mindexResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__mindexResponse, sizeof(struct ns1__mindexResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__mindexResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__mindexResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__mindexResponse, 0, sizeof(struct ns1__mindexResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__mindexResponse(struct soap *soap, const struct ns1__mindexResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__mindexResponse);
+	if (soap_out_ns1__mindexResponse(soap, tag?tag:"ns1:mindexResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__mindexResponse * SOAP_FMAC4 soap_get_ns1__mindexResponse(struct soap *soap, struct ns1__mindexResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__mindexResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__query_USCOREarm(struct soap *soap, struct ns1__query_USCOREarm *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	soap_default_int(soap, &a->_position);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__query_USCOREarm(struct soap *soap, const struct ns1__query_USCOREarm *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__query_USCOREarm(struct soap *soap, const char *tag, int id, const struct ns1__query_USCOREarm *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__query_USCOREarm), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_int(soap, "position", -1, &a->_position, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__query_USCOREarm * SOAP_FMAC4 soap_in_ns1__query_USCOREarm(struct soap *soap, const char *tag, struct ns1__query_USCOREarm *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__position = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__query_USCOREarm *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__query_USCOREarm, sizeof(struct ns1__query_USCOREarm), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__query_USCOREarm(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__position && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, NULL, &a->_position, "xsd:int"))
+				{	soap_flag__position--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__query_USCOREarm *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__query_USCOREarm, 0, sizeof(struct ns1__query_USCOREarm), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__position > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__query_USCOREarm(struct soap *soap, const struct ns1__query_USCOREarm *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__query_USCOREarm);
+	if (soap_out_ns1__query_USCOREarm(soap, tag?tag:"ns1:query_arm", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__query_USCOREarm * SOAP_FMAC4 soap_get_ns1__query_USCOREarm(struct soap *soap, struct ns1__query_USCOREarm *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__query_USCOREarm(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__query_USCOREarmResponse(struct soap *soap, struct ns1__query_USCOREarmResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__query_USCOREarmResponse(struct soap *soap, const struct ns1__query_USCOREarmResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__query_USCOREarmResponse(struct soap *soap, const char *tag, int id, const struct ns1__query_USCOREarmResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__query_USCOREarmResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__query_USCOREarmResponse * SOAP_FMAC4 soap_in_ns1__query_USCOREarmResponse(struct soap *soap, const char *tag, struct ns1__query_USCOREarmResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__query_USCOREarmResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__query_USCOREarmResponse, sizeof(struct ns1__query_USCOREarmResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__query_USCOREarmResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__query_USCOREarmResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__query_USCOREarmResponse, 0, sizeof(struct ns1__query_USCOREarmResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__query_USCOREarmResponse(struct soap *soap, const struct ns1__query_USCOREarmResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__query_USCOREarmResponse);
+	if (soap_out_ns1__query_USCOREarmResponse(soap, tag?tag:"ns1:query_armResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__query_USCOREarmResponse * SOAP_FMAC4 soap_get_ns1__query_USCOREarmResponse(struct soap *soap, struct ns1__query_USCOREarmResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__query_USCOREarmResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__max(struct soap *soap, struct ns1__max *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_array = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__max(struct soap *soap, const struct ns1__max *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayIn(soap, &a->_array);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__max(struct soap *soap, const char *tag, int id, const struct ns1__max *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__max), type))
+		return soap->error;
+	if (soap_out_PointerToarrayIn(soap, "array", -1, &a->_array, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__max * SOAP_FMAC4 soap_in_ns1__max(struct soap *soap, const char *tag, struct ns1__max *a, const char *type)
+{
+	size_t soap_flag__array = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__max *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__max, sizeof(struct ns1__max), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__max(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__array && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayIn(soap, NULL, &a->_array, "xsd:string"))
+				{	soap_flag__array--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__max *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__max, 0, sizeof(struct ns1__max), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__max(struct soap *soap, const struct ns1__max *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__max);
+	if (soap_out_ns1__max(soap, tag?tag:"ns1:max", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__max * SOAP_FMAC4 soap_get_ns1__max(struct soap *soap, struct ns1__max *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__max(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__maxResponse(struct soap *soap, struct ns1__maxResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__maxResponse(struct soap *soap, const struct ns1__maxResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__maxResponse(struct soap *soap, const char *tag, int id, const struct ns1__maxResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__maxResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__maxResponse * SOAP_FMAC4 soap_in_ns1__maxResponse(struct soap *soap, const char *tag, struct ns1__maxResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__maxResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__maxResponse, sizeof(struct ns1__maxResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__maxResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__maxResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__maxResponse, 0, sizeof(struct ns1__maxResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__maxResponse(struct soap *soap, const struct ns1__maxResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__maxResponse);
+	if (soap_out_ns1__maxResponse(soap, tag?tag:"ns1:maxResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__maxResponse * SOAP_FMAC4 soap_get_ns1__maxResponse(struct soap *soap, struct ns1__maxResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__maxResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__maxdex(struct soap *soap, struct ns1__maxdex *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_array = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__maxdex(struct soap *soap, const struct ns1__maxdex *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayIn(soap, &a->_array);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__maxdex(struct soap *soap, const char *tag, int id, const struct ns1__maxdex *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__maxdex), type))
+		return soap->error;
+	if (soap_out_PointerToarrayIn(soap, "array", -1, &a->_array, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__maxdex * SOAP_FMAC4 soap_in_ns1__maxdex(struct soap *soap, const char *tag, struct ns1__maxdex *a, const char *type)
+{
+	size_t soap_flag__array = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__maxdex *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__maxdex, sizeof(struct ns1__maxdex), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__maxdex(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__array && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayIn(soap, NULL, &a->_array, "xsd:string"))
+				{	soap_flag__array--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__maxdex *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__maxdex, 0, sizeof(struct ns1__maxdex), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__maxdex(struct soap *soap, const struct ns1__maxdex *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__maxdex);
+	if (soap_out_ns1__maxdex(soap, tag?tag:"ns1:maxdex", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__maxdex * SOAP_FMAC4 soap_get_ns1__maxdex(struct soap *soap, struct ns1__maxdex *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__maxdex(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__maxdexResponse(struct soap *soap, struct ns1__maxdexResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__maxdexResponse(struct soap *soap, const struct ns1__maxdexResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__maxdexResponse(struct soap *soap, const char *tag, int id, const struct ns1__maxdexResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__maxdexResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__maxdexResponse * SOAP_FMAC4 soap_in_ns1__maxdexResponse(struct soap *soap, const char *tag, struct ns1__maxdexResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__maxdexResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__maxdexResponse, sizeof(struct ns1__maxdexResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__maxdexResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__maxdexResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__maxdexResponse, 0, sizeof(struct ns1__maxdexResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__maxdexResponse(struct soap *soap, const struct ns1__maxdexResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__maxdexResponse);
+	if (soap_out_ns1__maxdexResponse(soap, tag?tag:"ns1:maxdexResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__maxdexResponse * SOAP_FMAC4 soap_get_ns1__maxdexResponse(struct soap *soap, struct ns1__maxdexResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__maxdexResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__cai(struct soap *soap, struct ns1__cai *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__cai(struct soap *soap, const struct ns1__cai *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__caiInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__cai(struct soap *soap, const char *tag, int id, const struct ns1__cai *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__cai), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__caiInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__cai * SOAP_FMAC4 soap_in_ns1__cai(struct soap *soap, const char *tag, struct ns1__cai *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__cai *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__cai, sizeof(struct ns1__cai), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__cai(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__caiInputParams(soap, NULL, &a->_params, "ns1:caiInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__cai *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__cai, 0, sizeof(struct ns1__cai), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__cai(struct soap *soap, const struct ns1__cai *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__cai);
+	if (soap_out_ns1__cai(soap, tag?tag:"ns1:cai", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__cai * SOAP_FMAC4 soap_get_ns1__cai(struct soap *soap, struct ns1__cai *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__cai(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__caiResponse(struct soap *soap, struct ns1__caiResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__caiResponse(struct soap *soap, const struct ns1__caiResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__caiResponse(struct soap *soap, const char *tag, int id, const struct ns1__caiResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__caiResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__caiResponse * SOAP_FMAC4 soap_in_ns1__caiResponse(struct soap *soap, const char *tag, struct ns1__caiResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__caiResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__caiResponse, sizeof(struct ns1__caiResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__caiResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__caiResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__caiResponse, 0, sizeof(struct ns1__caiResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__caiResponse(struct soap *soap, const struct ns1__caiResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__caiResponse);
+	if (soap_out_ns1__caiResponse(soap, tag?tag:"ns1:caiResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__caiResponse * SOAP_FMAC4 soap_get_ns1__caiResponse(struct soap *soap, struct ns1__caiResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__caiResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__gcsi(struct soap *soap, struct ns1__gcsi *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__gcsi(struct soap *soap, const struct ns1__gcsi *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__gcsiInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__gcsi(struct soap *soap, const char *tag, int id, const struct ns1__gcsi *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__gcsi), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__gcsiInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__gcsi * SOAP_FMAC4 soap_in_ns1__gcsi(struct soap *soap, const char *tag, struct ns1__gcsi *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__gcsi *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__gcsi, sizeof(struct ns1__gcsi), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__gcsi(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__gcsiInputParams(soap, NULL, &a->_params, "ns1:gcsiInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__gcsi *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__gcsi, 0, sizeof(struct ns1__gcsi), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__gcsi(struct soap *soap, const struct ns1__gcsi *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__gcsi);
+	if (soap_out_ns1__gcsi(soap, tag?tag:"ns1:gcsi", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__gcsi * SOAP_FMAC4 soap_get_ns1__gcsi(struct soap *soap, struct ns1__gcsi *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__gcsi(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__gcsiResponse(struct soap *soap, struct ns1__gcsiResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__gcsiResponse(struct soap *soap, const struct ns1__gcsiResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__gcsiResponse(struct soap *soap, const char *tag, int id, const struct ns1__gcsiResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__gcsiResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__gcsiResponse * SOAP_FMAC4 soap_in_ns1__gcsiResponse(struct soap *soap, const char *tag, struct ns1__gcsiResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__gcsiResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__gcsiResponse, sizeof(struct ns1__gcsiResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__gcsiResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__gcsiResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__gcsiResponse, 0, sizeof(struct ns1__gcsiResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__gcsiResponse(struct soap *soap, const struct ns1__gcsiResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__gcsiResponse);
+	if (soap_out_ns1__gcsiResponse(soap, tag?tag:"ns1:gcsiResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__gcsiResponse * SOAP_FMAC4 soap_get_ns1__gcsiResponse(struct soap *soap, struct ns1__gcsiResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__gcsiResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__filter_USCOREcds_USCOREby_USCOREatg(struct soap *soap, struct ns1__filter_USCOREcds_USCOREby_USCOREatg *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__filter_USCOREcds_USCOREby_USCOREatg(struct soap *soap, const struct ns1__filter_USCOREcds_USCOREby_USCOREatg *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__filter_USCOREcds_USCOREby_USCOREatg(struct soap *soap, const char *tag, int id, const struct ns1__filter_USCOREcds_USCOREby_USCOREatg *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatg), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__filter_USCOREcds_USCOREby_USCOREatg * SOAP_FMAC4 soap_in_ns1__filter_USCOREcds_USCOREby_USCOREatg(struct soap *soap, const char *tag, struct ns1__filter_USCOREcds_USCOREby_USCOREatg *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__filter_USCOREcds_USCOREby_USCOREatg *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatg, sizeof(struct ns1__filter_USCOREcds_USCOREby_USCOREatg), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__filter_USCOREcds_USCOREby_USCOREatg(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, NULL, &a->_params, "ns1:filter_cds_by_atgInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__filter_USCOREcds_USCOREby_USCOREatg *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatg, 0, sizeof(struct ns1__filter_USCOREcds_USCOREby_USCOREatg), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__filter_USCOREcds_USCOREby_USCOREatg(struct soap *soap, const struct ns1__filter_USCOREcds_USCOREby_USCOREatg *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatg);
+	if (soap_out_ns1__filter_USCOREcds_USCOREby_USCOREatg(soap, tag?tag:"ns1:filter_cds_by_atg", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__filter_USCOREcds_USCOREby_USCOREatg * SOAP_FMAC4 soap_get_ns1__filter_USCOREcds_USCOREby_USCOREatg(struct soap *soap, struct ns1__filter_USCOREcds_USCOREby_USCOREatg *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__filter_USCOREcds_USCOREby_USCOREatg(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap *soap, struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap *soap, const struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayOut(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap *soap, const char *tag, int id, const struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse), type))
+		return soap->error;
+	if (soap_out_PointerToarrayOut(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse * SOAP_FMAC4 soap_in_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap *soap, const char *tag, struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse, sizeof(struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayOut(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse, 0, sizeof(struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap *soap, const struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse);
+	if (soap_out_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, tag?tag:"ns1:filter_cds_by_atgResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse * SOAP_FMAC4 soap_get_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap *soap, struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genomicskew(struct soap *soap, struct ns1__genomicskew *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genomicskew(struct soap *soap, const struct ns1__genomicskew *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__genomicskewInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genomicskew(struct soap *soap, const char *tag, int id, const struct ns1__genomicskew *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__genomicskew), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__genomicskewInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__genomicskew * SOAP_FMAC4 soap_in_ns1__genomicskew(struct soap *soap, const char *tag, struct ns1__genomicskew *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__genomicskew *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__genomicskew, sizeof(struct ns1__genomicskew), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__genomicskew(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__genomicskewInputParams(soap, NULL, &a->_params, "ns1:genomicskewInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__genomicskew *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__genomicskew, 0, sizeof(struct ns1__genomicskew), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genomicskew(struct soap *soap, const struct ns1__genomicskew *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__genomicskew);
+	if (soap_out_ns1__genomicskew(soap, tag?tag:"ns1:genomicskew", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__genomicskew * SOAP_FMAC4 soap_get_ns1__genomicskew(struct soap *soap, struct ns1__genomicskew *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__genomicskew(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genomicskewResponse(struct soap *soap, struct ns1__genomicskewResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genomicskewResponse(struct soap *soap, const struct ns1__genomicskewResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genomicskewResponse(struct soap *soap, const char *tag, int id, const struct ns1__genomicskewResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__genomicskewResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__genomicskewResponse * SOAP_FMAC4 soap_in_ns1__genomicskewResponse(struct soap *soap, const char *tag, struct ns1__genomicskewResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__genomicskewResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__genomicskewResponse, sizeof(struct ns1__genomicskewResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__genomicskewResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__genomicskewResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__genomicskewResponse, 0, sizeof(struct ns1__genomicskewResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genomicskewResponse(struct soap *soap, const struct ns1__genomicskewResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__genomicskewResponse);
+	if (soap_out_ns1__genomicskewResponse(soap, tag?tag:"ns1:genomicskewResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__genomicskewResponse * SOAP_FMAC4 soap_get_ns1__genomicskewResponse(struct soap *soap, struct ns1__genomicskewResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__genomicskewResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__query_USCOREstrand(struct soap *soap, struct ns1__query_USCOREstrand *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	soap_default_int(soap, &a->_position);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__query_USCOREstrand(struct soap *soap, const struct ns1__query_USCOREstrand *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__query_USCOREstrandInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__query_USCOREstrand(struct soap *soap, const char *tag, int id, const struct ns1__query_USCOREstrand *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__query_USCOREstrand), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_int(soap, "position", -1, &a->_position, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__query_USCOREstrandInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__query_USCOREstrand * SOAP_FMAC4 soap_in_ns1__query_USCOREstrand(struct soap *soap, const char *tag, struct ns1__query_USCOREstrand *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__position = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__query_USCOREstrand *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__query_USCOREstrand, sizeof(struct ns1__query_USCOREstrand), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__query_USCOREstrand(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__position && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, NULL, &a->_position, "xsd:int"))
+				{	soap_flag__position--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__query_USCOREstrandInputParams(soap, NULL, &a->_params, "ns1:query_strandInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__query_USCOREstrand *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__query_USCOREstrand, 0, sizeof(struct ns1__query_USCOREstrand), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__position > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__query_USCOREstrand(struct soap *soap, const struct ns1__query_USCOREstrand *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__query_USCOREstrand);
+	if (soap_out_ns1__query_USCOREstrand(soap, tag?tag:"ns1:query_strand", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__query_USCOREstrand * SOAP_FMAC4 soap_get_ns1__query_USCOREstrand(struct soap *soap, struct ns1__query_USCOREstrand *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__query_USCOREstrand(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__query_USCOREstrandResponse(struct soap *soap, struct ns1__query_USCOREstrandResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__query_USCOREstrandResponse(struct soap *soap, const struct ns1__query_USCOREstrandResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__query_USCOREstrandResponse(struct soap *soap, const char *tag, int id, const struct ns1__query_USCOREstrandResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__query_USCOREstrandResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__query_USCOREstrandResponse * SOAP_FMAC4 soap_in_ns1__query_USCOREstrandResponse(struct soap *soap, const char *tag, struct ns1__query_USCOREstrandResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__query_USCOREstrandResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__query_USCOREstrandResponse, sizeof(struct ns1__query_USCOREstrandResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__query_USCOREstrandResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__query_USCOREstrandResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__query_USCOREstrandResponse, 0, sizeof(struct ns1__query_USCOREstrandResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__query_USCOREstrandResponse(struct soap *soap, const struct ns1__query_USCOREstrandResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__query_USCOREstrandResponse);
+	if (soap_out_ns1__query_USCOREstrandResponse(soap, tag?tag:"ns1:query_strandResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__query_USCOREstrandResponse * SOAP_FMAC4 soap_get_ns1__query_USCOREstrandResponse(struct soap *soap, struct ns1__query_USCOREstrandResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__query_USCOREstrandResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__view_USCOREcds(struct soap *soap, struct ns1__view_USCOREcds *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__view_USCOREcds(struct soap *soap, const struct ns1__view_USCOREcds *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__view_USCOREcdsInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__view_USCOREcds(struct soap *soap, const char *tag, int id, const struct ns1__view_USCOREcds *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__view_USCOREcds), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__view_USCOREcdsInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__view_USCOREcds * SOAP_FMAC4 soap_in_ns1__view_USCOREcds(struct soap *soap, const char *tag, struct ns1__view_USCOREcds *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__view_USCOREcds *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__view_USCOREcds, sizeof(struct ns1__view_USCOREcds), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__view_USCOREcds(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__view_USCOREcdsInputParams(soap, NULL, &a->_params, "ns1:view_cdsInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__view_USCOREcds *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__view_USCOREcds, 0, sizeof(struct ns1__view_USCOREcds), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__view_USCOREcds(struct soap *soap, const struct ns1__view_USCOREcds *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__view_USCOREcds);
+	if (soap_out_ns1__view_USCOREcds(soap, tag?tag:"ns1:view_cds", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__view_USCOREcds * SOAP_FMAC4 soap_get_ns1__view_USCOREcds(struct soap *soap, struct ns1__view_USCOREcds *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__view_USCOREcds(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__view_USCOREcdsResponse(struct soap *soap, struct ns1__view_USCOREcdsResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__view_USCOREcdsResponse(struct soap *soap, const struct ns1__view_USCOREcdsResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__view_USCOREcdsResponse(struct soap *soap, const char *tag, int id, const struct ns1__view_USCOREcdsResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__view_USCOREcdsResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__view_USCOREcdsResponse * SOAP_FMAC4 soap_in_ns1__view_USCOREcdsResponse(struct soap *soap, const char *tag, struct ns1__view_USCOREcdsResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__view_USCOREcdsResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__view_USCOREcdsResponse, sizeof(struct ns1__view_USCOREcdsResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__view_USCOREcdsResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__view_USCOREcdsResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__view_USCOREcdsResponse, 0, sizeof(struct ns1__view_USCOREcdsResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__view_USCOREcdsResponse(struct soap *soap, const struct ns1__view_USCOREcdsResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__view_USCOREcdsResponse);
+	if (soap_out_ns1__view_USCOREcdsResponse(soap, tag?tag:"ns1:view_cdsResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__view_USCOREcdsResponse * SOAP_FMAC4 soap_get_ns1__view_USCOREcdsResponse(struct soap *soap, struct ns1__view_USCOREcdsResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__view_USCOREcdsResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCORErelative_USCOREentropy(struct soap *soap, struct ns1__base_USCORErelative_USCOREentropy *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCORErelative_USCOREentropy(struct soap *soap, const struct ns1__base_USCORErelative_USCOREentropy *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__base_USCORErelative_USCOREentropyInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCORErelative_USCOREentropy(struct soap *soap, const char *tag, int id, const struct ns1__base_USCORErelative_USCOREentropy *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__base_USCORErelative_USCOREentropy), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__base_USCORErelative_USCOREentropyInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__base_USCORErelative_USCOREentropy * SOAP_FMAC4 soap_in_ns1__base_USCORErelative_USCOREentropy(struct soap *soap, const char *tag, struct ns1__base_USCORErelative_USCOREentropy *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__base_USCORErelative_USCOREentropy *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__base_USCORErelative_USCOREentropy, sizeof(struct ns1__base_USCORErelative_USCOREentropy), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__base_USCORErelative_USCOREentropy(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__base_USCORErelative_USCOREentropyInputParams(soap, NULL, &a->_params, "ns1:base_relative_entropyInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__base_USCORErelative_USCOREentropy *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__base_USCORErelative_USCOREentropy, 0, sizeof(struct ns1__base_USCORErelative_USCOREentropy), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCORErelative_USCOREentropy(struct soap *soap, const struct ns1__base_USCORErelative_USCOREentropy *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__base_USCORErelative_USCOREentropy);
+	if (soap_out_ns1__base_USCORErelative_USCOREentropy(soap, tag?tag:"ns1:base_relative_entropy", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__base_USCORErelative_USCOREentropy * SOAP_FMAC4 soap_get_ns1__base_USCORErelative_USCOREentropy(struct soap *soap, struct ns1__base_USCORErelative_USCOREentropy *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__base_USCORErelative_USCOREentropy(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCORErelative_USCOREentropyResponse(struct soap *soap, struct ns1__base_USCORErelative_USCOREentropyResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCORErelative_USCOREentropyResponse(struct soap *soap, const struct ns1__base_USCORErelative_USCOREentropyResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCORErelative_USCOREentropyResponse(struct soap *soap, const char *tag, int id, const struct ns1__base_USCORErelative_USCOREentropyResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__base_USCORErelative_USCOREentropyResponse * SOAP_FMAC4 soap_in_ns1__base_USCORErelative_USCOREentropyResponse(struct soap *soap, const char *tag, struct ns1__base_USCORErelative_USCOREentropyResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__base_USCORErelative_USCOREentropyResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyResponse, sizeof(struct ns1__base_USCORErelative_USCOREentropyResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__base_USCORErelative_USCOREentropyResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__base_USCORErelative_USCOREentropyResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyResponse, 0, sizeof(struct ns1__base_USCORErelative_USCOREentropyResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCORErelative_USCOREentropyResponse(struct soap *soap, const struct ns1__base_USCORErelative_USCOREentropyResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyResponse);
+	if (soap_out_ns1__base_USCORErelative_USCOREentropyResponse(soap, tag?tag:"ns1:base_relative_entropyResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__base_USCORErelative_USCOREentropyResponse * SOAP_FMAC4 soap_get_ns1__base_USCORErelative_USCOREentropyResponse(struct soap *soap, struct ns1__base_USCORErelative_USCOREentropyResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__base_USCORErelative_USCOREentropyResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__Ew(struct soap *soap, struct ns1__Ew *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__Ew(struct soap *soap, const struct ns1__Ew *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__EwInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__Ew(struct soap *soap, const char *tag, int id, const struct ns1__Ew *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__Ew), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__EwInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__Ew * SOAP_FMAC4 soap_in_ns1__Ew(struct soap *soap, const char *tag, struct ns1__Ew *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__Ew *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__Ew, sizeof(struct ns1__Ew), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__Ew(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__EwInputParams(soap, NULL, &a->_params, "ns1:EwInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__Ew *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__Ew, 0, sizeof(struct ns1__Ew), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__Ew(struct soap *soap, const struct ns1__Ew *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__Ew);
+	if (soap_out_ns1__Ew(soap, tag?tag:"ns1:Ew", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__Ew * SOAP_FMAC4 soap_get_ns1__Ew(struct soap *soap, struct ns1__Ew *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__Ew(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__EwResponse(struct soap *soap, struct ns1__EwResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__EwResponse(struct soap *soap, const struct ns1__EwResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__EwResponse(struct soap *soap, const char *tag, int id, const struct ns1__EwResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__EwResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__EwResponse * SOAP_FMAC4 soap_in_ns1__EwResponse(struct soap *soap, const char *tag, struct ns1__EwResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__EwResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__EwResponse, sizeof(struct ns1__EwResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__EwResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__EwResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__EwResponse, 0, sizeof(struct ns1__EwResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__EwResponse(struct soap *soap, const struct ns1__EwResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__EwResponse);
+	if (soap_out_ns1__EwResponse(soap, tag?tag:"ns1:EwResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__EwResponse * SOAP_FMAC4 soap_get_ns1__EwResponse(struct soap *soap, struct ns1__EwResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__EwResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__over_USCORElapping_USCOREfinder(struct soap *soap, struct ns1__over_USCORElapping_USCOREfinder *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__over_USCORElapping_USCOREfinder(struct soap *soap, const struct ns1__over_USCORElapping_USCOREfinder *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__over_USCORElapping_USCOREfinderInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__over_USCORElapping_USCOREfinder(struct soap *soap, const char *tag, int id, const struct ns1__over_USCORElapping_USCOREfinder *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__over_USCORElapping_USCOREfinder), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__over_USCORElapping_USCOREfinderInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__over_USCORElapping_USCOREfinder * SOAP_FMAC4 soap_in_ns1__over_USCORElapping_USCOREfinder(struct soap *soap, const char *tag, struct ns1__over_USCORElapping_USCOREfinder *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__over_USCORElapping_USCOREfinder *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__over_USCORElapping_USCOREfinder, sizeof(struct ns1__over_USCORElapping_USCOREfinder), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__over_USCORElapping_USCOREfinder(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__over_USCORElapping_USCOREfinderInputParams(soap, NULL, &a->_params, "ns1:over_lapping_finderInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__over_USCORElapping_USCOREfinder *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__over_USCORElapping_USCOREfinder, 0, sizeof(struct ns1__over_USCORElapping_USCOREfinder), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__over_USCORElapping_USCOREfinder(struct soap *soap, const struct ns1__over_USCORElapping_USCOREfinder *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__over_USCORElapping_USCOREfinder);
+	if (soap_out_ns1__over_USCORElapping_USCOREfinder(soap, tag?tag:"ns1:over_lapping_finder", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__over_USCORElapping_USCOREfinder * SOAP_FMAC4 soap_get_ns1__over_USCORElapping_USCOREfinder(struct soap *soap, struct ns1__over_USCORElapping_USCOREfinder *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__over_USCORElapping_USCOREfinder(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__over_USCORElapping_USCOREfinderResponse(struct soap *soap, struct ns1__over_USCORElapping_USCOREfinderResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__over_USCORElapping_USCOREfinderResponse(struct soap *soap, const struct ns1__over_USCORElapping_USCOREfinderResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__over_USCORElapping_USCOREfinderResponse(struct soap *soap, const char *tag, int id, const struct ns1__over_USCORElapping_USCOREfinderResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__over_USCORElapping_USCOREfinderResponse * SOAP_FMAC4 soap_in_ns1__over_USCORElapping_USCOREfinderResponse(struct soap *soap, const char *tag, struct ns1__over_USCORElapping_USCOREfinderResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__over_USCORElapping_USCOREfinderResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderResponse, sizeof(struct ns1__over_USCORElapping_USCOREfinderResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__over_USCORElapping_USCOREfinderResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__over_USCORElapping_USCOREfinderResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderResponse, 0, sizeof(struct ns1__over_USCORElapping_USCOREfinderResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__over_USCORElapping_USCOREfinderResponse(struct soap *soap, const struct ns1__over_USCORElapping_USCOREfinderResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderResponse);
+	if (soap_out_ns1__over_USCORElapping_USCOREfinderResponse(soap, tag?tag:"ns1:over_lapping_finderResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__over_USCORElapping_USCOREfinderResponse * SOAP_FMAC4 soap_get_ns1__over_USCORElapping_USCOREfinderResponse(struct soap *soap, struct ns1__over_USCORElapping_USCOREfinderResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__over_USCORElapping_USCOREfinderResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREcompiler(struct soap *soap, struct ns1__codon_USCOREcompiler *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREcompiler(struct soap *soap, const struct ns1__codon_USCOREcompiler *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__codon_USCOREcompilerInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREcompiler(struct soap *soap, const char *tag, int id, const struct ns1__codon_USCOREcompiler *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__codon_USCOREcompiler), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__codon_USCOREcompilerInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREcompiler * SOAP_FMAC4 soap_in_ns1__codon_USCOREcompiler(struct soap *soap, const char *tag, struct ns1__codon_USCOREcompiler *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__codon_USCOREcompiler *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__codon_USCOREcompiler, sizeof(struct ns1__codon_USCOREcompiler), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__codon_USCOREcompiler(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__codon_USCOREcompilerInputParams(soap, NULL, &a->_params, "ns1:codon_compilerInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__codon_USCOREcompiler *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__codon_USCOREcompiler, 0, sizeof(struct ns1__codon_USCOREcompiler), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREcompiler(struct soap *soap, const struct ns1__codon_USCOREcompiler *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__codon_USCOREcompiler);
+	if (soap_out_ns1__codon_USCOREcompiler(soap, tag?tag:"ns1:codon_compiler", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREcompiler * SOAP_FMAC4 soap_get_ns1__codon_USCOREcompiler(struct soap *soap, struct ns1__codon_USCOREcompiler *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__codon_USCOREcompiler(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREcompilerResponse(struct soap *soap, struct ns1__codon_USCOREcompilerResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREcompilerResponse(struct soap *soap, const struct ns1__codon_USCOREcompilerResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREcompilerResponse(struct soap *soap, const char *tag, int id, const struct ns1__codon_USCOREcompilerResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__codon_USCOREcompilerResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREcompilerResponse * SOAP_FMAC4 soap_in_ns1__codon_USCOREcompilerResponse(struct soap *soap, const char *tag, struct ns1__codon_USCOREcompilerResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__codon_USCOREcompilerResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__codon_USCOREcompilerResponse, sizeof(struct ns1__codon_USCOREcompilerResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__codon_USCOREcompilerResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__codon_USCOREcompilerResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__codon_USCOREcompilerResponse, 0, sizeof(struct ns1__codon_USCOREcompilerResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREcompilerResponse(struct soap *soap, const struct ns1__codon_USCOREcompilerResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__codon_USCOREcompilerResponse);
+	if (soap_out_ns1__codon_USCOREcompilerResponse(soap, tag?tag:"ns1:codon_compilerResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREcompilerResponse * SOAP_FMAC4 soap_get_ns1__codon_USCOREcompilerResponse(struct soap *soap, struct ns1__codon_USCOREcompilerResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__codon_USCOREcompilerResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__aaui(struct soap *soap, struct ns1__aaui *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__aaui(struct soap *soap, const struct ns1__aaui *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__aauiInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__aaui(struct soap *soap, const char *tag, int id, const struct ns1__aaui *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__aaui), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__aauiInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__aaui * SOAP_FMAC4 soap_in_ns1__aaui(struct soap *soap, const char *tag, struct ns1__aaui *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__aaui *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__aaui, sizeof(struct ns1__aaui), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__aaui(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__aauiInputParams(soap, NULL, &a->_params, "ns1:aauiInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__aaui *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__aaui, 0, sizeof(struct ns1__aaui), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__aaui(struct soap *soap, const struct ns1__aaui *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__aaui);
+	if (soap_out_ns1__aaui(soap, tag?tag:"ns1:aaui", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__aaui * SOAP_FMAC4 soap_get_ns1__aaui(struct soap *soap, struct ns1__aaui *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__aaui(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__aauiResponse(struct soap *soap, struct ns1__aauiResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__aauiResponse(struct soap *soap, const struct ns1__aauiResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__aauiResponse(struct soap *soap, const char *tag, int id, const struct ns1__aauiResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__aauiResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__aauiResponse * SOAP_FMAC4 soap_in_ns1__aauiResponse(struct soap *soap, const char *tag, struct ns1__aauiResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__aauiResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__aauiResponse, sizeof(struct ns1__aauiResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__aauiResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__aauiResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__aauiResponse, 0, sizeof(struct ns1__aauiResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__aauiResponse(struct soap *soap, const struct ns1__aauiResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__aauiResponse);
+	if (soap_out_ns1__aauiResponse(soap, tag?tag:"ns1:aauiResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__aauiResponse * SOAP_FMAC4 soap_get_ns1__aauiResponse(struct soap *soap, struct ns1__aauiResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__aauiResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__amino_USCOREcounter(struct soap *soap, struct ns1__amino_USCOREcounter *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__amino_USCOREcounter(struct soap *soap, const struct ns1__amino_USCOREcounter *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__amino_USCOREcounterInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__amino_USCOREcounter(struct soap *soap, const char *tag, int id, const struct ns1__amino_USCOREcounter *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__amino_USCOREcounter), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__amino_USCOREcounterInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__amino_USCOREcounter * SOAP_FMAC4 soap_in_ns1__amino_USCOREcounter(struct soap *soap, const char *tag, struct ns1__amino_USCOREcounter *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__amino_USCOREcounter *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__amino_USCOREcounter, sizeof(struct ns1__amino_USCOREcounter), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__amino_USCOREcounter(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__amino_USCOREcounterInputParams(soap, NULL, &a->_params, "ns1:amino_counterInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__amino_USCOREcounter *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__amino_USCOREcounter, 0, sizeof(struct ns1__amino_USCOREcounter), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__amino_USCOREcounter(struct soap *soap, const struct ns1__amino_USCOREcounter *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__amino_USCOREcounter);
+	if (soap_out_ns1__amino_USCOREcounter(soap, tag?tag:"ns1:amino_counter", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__amino_USCOREcounter * SOAP_FMAC4 soap_get_ns1__amino_USCOREcounter(struct soap *soap, struct ns1__amino_USCOREcounter *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__amino_USCOREcounter(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__amino_USCOREcounterResponse(struct soap *soap, struct ns1__amino_USCOREcounterResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__amino_USCOREcounterResponse(struct soap *soap, const struct ns1__amino_USCOREcounterResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__amino_USCOREcounterResponse(struct soap *soap, const char *tag, int id, const struct ns1__amino_USCOREcounterResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__amino_USCOREcounterResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__amino_USCOREcounterResponse * SOAP_FMAC4 soap_in_ns1__amino_USCOREcounterResponse(struct soap *soap, const char *tag, struct ns1__amino_USCOREcounterResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__amino_USCOREcounterResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__amino_USCOREcounterResponse, sizeof(struct ns1__amino_USCOREcounterResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__amino_USCOREcounterResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__amino_USCOREcounterResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__amino_USCOREcounterResponse, 0, sizeof(struct ns1__amino_USCOREcounterResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__amino_USCOREcounterResponse(struct soap *soap, const struct ns1__amino_USCOREcounterResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__amino_USCOREcounterResponse);
+	if (soap_out_ns1__amino_USCOREcounterResponse(soap, tag?tag:"ns1:amino_counterResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__amino_USCOREcounterResponse * SOAP_FMAC4 soap_get_ns1__amino_USCOREcounterResponse(struct soap *soap, struct ns1__amino_USCOREcounterResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__amino_USCOREcounterResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__seq2png(struct soap *soap, struct ns1__seq2png *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__seq2png(struct soap *soap, const struct ns1__seq2png *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__seq2pngInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__seq2png(struct soap *soap, const char *tag, int id, const struct ns1__seq2png *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__seq2png), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__seq2pngInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__seq2png * SOAP_FMAC4 soap_in_ns1__seq2png(struct soap *soap, const char *tag, struct ns1__seq2png *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__seq2png *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__seq2png, sizeof(struct ns1__seq2png), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__seq2png(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__seq2pngInputParams(soap, NULL, &a->_params, "ns1:seq2pngInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__seq2png *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__seq2png, 0, sizeof(struct ns1__seq2png), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__seq2png(struct soap *soap, const struct ns1__seq2png *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__seq2png);
+	if (soap_out_ns1__seq2png(soap, tag?tag:"ns1:seq2png", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__seq2png * SOAP_FMAC4 soap_get_ns1__seq2png(struct soap *soap, struct ns1__seq2png *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__seq2png(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__seq2pngResponse(struct soap *soap, struct ns1__seq2pngResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__seq2pngResponse(struct soap *soap, const struct ns1__seq2pngResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__seq2pngResponse(struct soap *soap, const char *tag, int id, const struct ns1__seq2pngResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__seq2pngResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__seq2pngResponse * SOAP_FMAC4 soap_in_ns1__seq2pngResponse(struct soap *soap, const char *tag, struct ns1__seq2pngResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__seq2pngResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__seq2pngResponse, sizeof(struct ns1__seq2pngResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__seq2pngResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__seq2pngResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__seq2pngResponse, 0, sizeof(struct ns1__seq2pngResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__seq2pngResponse(struct soap *soap, const struct ns1__seq2pngResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__seq2pngResponse);
+	if (soap_out_ns1__seq2pngResponse(soap, tag?tag:"ns1:seq2pngResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__seq2pngResponse * SOAP_FMAC4 soap_get_ns1__seq2pngResponse(struct soap *soap, struct ns1__seq2pngResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__seq2pngResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__ttest(struct soap *soap, struct ns1__ttest *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_array1 = NULL;
+	a->_array2 = NULL;
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__ttest(struct soap *soap, const struct ns1__ttest *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayIn(soap, &a->_array1);
+	soap_serialize_PointerToarrayIn(soap, &a->_array2);
+	soap_serialize_PointerTons1__ttestInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__ttest(struct soap *soap, const char *tag, int id, const struct ns1__ttest *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__ttest), type))
+		return soap->error;
+	if (soap_out_PointerToarrayIn(soap, "array1", -1, &a->_array1, ""))
+		return soap->error;
+	if (soap_out_PointerToarrayIn(soap, "array2", -1, &a->_array2, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__ttestInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__ttest * SOAP_FMAC4 soap_in_ns1__ttest(struct soap *soap, const char *tag, struct ns1__ttest *a, const char *type)
+{
+	size_t soap_flag__array1 = 1;
+	size_t soap_flag__array2 = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__ttest *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__ttest, sizeof(struct ns1__ttest), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__ttest(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__array1 && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayIn(soap, NULL, &a->_array1, "xsd:string"))
+				{	soap_flag__array1--;
+					continue;
+				}
+			if (soap_flag__array2 && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayIn(soap, NULL, &a->_array2, "xsd:string"))
+				{	soap_flag__array2--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__ttestInputParams(soap, NULL, &a->_params, "ns1:ttestInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__ttest *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__ttest, 0, sizeof(struct ns1__ttest), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__ttest(struct soap *soap, const struct ns1__ttest *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__ttest);
+	if (soap_out_ns1__ttest(soap, tag?tag:"ns1:ttest", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__ttest * SOAP_FMAC4 soap_get_ns1__ttest(struct soap *soap, struct ns1__ttest *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__ttest(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__ttestResponse(struct soap *soap, struct ns1__ttestResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__ttestResponse(struct soap *soap, const struct ns1__ttestResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayOut(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__ttestResponse(struct soap *soap, const char *tag, int id, const struct ns1__ttestResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__ttestResponse), type))
+		return soap->error;
+	if (soap_out_PointerToarrayOut(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__ttestResponse * SOAP_FMAC4 soap_in_ns1__ttestResponse(struct soap *soap, const char *tag, struct ns1__ttestResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__ttestResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__ttestResponse, sizeof(struct ns1__ttestResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__ttestResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayOut(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__ttestResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__ttestResponse, 0, sizeof(struct ns1__ttestResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__ttestResponse(struct soap *soap, const struct ns1__ttestResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__ttestResponse);
+	if (soap_out_ns1__ttestResponse(soap, tag?tag:"ns1:ttestResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__ttestResponse * SOAP_FMAC4 soap_get_ns1__ttestResponse(struct soap *soap, struct ns1__ttestResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__ttestResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREdnaAbox(struct soap *soap, struct ns1__find_USCOREdnaAbox *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREdnaAbox(struct soap *soap, const struct ns1__find_USCOREdnaAbox *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__find_USCOREdnaAboxInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREdnaAbox(struct soap *soap, const char *tag, int id, const struct ns1__find_USCOREdnaAbox *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__find_USCOREdnaAbox), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__find_USCOREdnaAboxInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREdnaAbox * SOAP_FMAC4 soap_in_ns1__find_USCOREdnaAbox(struct soap *soap, const char *tag, struct ns1__find_USCOREdnaAbox *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__find_USCOREdnaAbox *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__find_USCOREdnaAbox, sizeof(struct ns1__find_USCOREdnaAbox), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__find_USCOREdnaAbox(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__find_USCOREdnaAboxInputParams(soap, NULL, &a->_params, "ns1:find_dnaAboxInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREdnaAbox *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__find_USCOREdnaAbox, 0, sizeof(struct ns1__find_USCOREdnaAbox), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREdnaAbox(struct soap *soap, const struct ns1__find_USCOREdnaAbox *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__find_USCOREdnaAbox);
+	if (soap_out_ns1__find_USCOREdnaAbox(soap, tag?tag:"ns1:find_dnaAbox", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREdnaAbox * SOAP_FMAC4 soap_get_ns1__find_USCOREdnaAbox(struct soap *soap, struct ns1__find_USCOREdnaAbox *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__find_USCOREdnaAbox(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREdnaAboxResponse(struct soap *soap, struct ns1__find_USCOREdnaAboxResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREdnaAboxResponse(struct soap *soap, const struct ns1__find_USCOREdnaAboxResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREdnaAboxResponse(struct soap *soap, const char *tag, int id, const struct ns1__find_USCOREdnaAboxResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__find_USCOREdnaAboxResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREdnaAboxResponse * SOAP_FMAC4 soap_in_ns1__find_USCOREdnaAboxResponse(struct soap *soap, const char *tag, struct ns1__find_USCOREdnaAboxResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__find_USCOREdnaAboxResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__find_USCOREdnaAboxResponse, sizeof(struct ns1__find_USCOREdnaAboxResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__find_USCOREdnaAboxResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREdnaAboxResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__find_USCOREdnaAboxResponse, 0, sizeof(struct ns1__find_USCOREdnaAboxResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREdnaAboxResponse(struct soap *soap, const struct ns1__find_USCOREdnaAboxResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__find_USCOREdnaAboxResponse);
+	if (soap_out_ns1__find_USCOREdnaAboxResponse(soap, tag?tag:"ns1:find_dnaAboxResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREdnaAboxResponse * SOAP_FMAC4 soap_get_ns1__find_USCOREdnaAboxResponse(struct soap *soap, struct ns1__find_USCOREdnaAboxResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__find_USCOREdnaAboxResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__dist_USCOREin_USCOREcc(struct soap *soap, struct ns1__dist_USCOREin_USCOREcc *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	soap_default_int(soap, &a->_position1);
+	soap_default_int(soap, &a->_position2);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__dist_USCOREin_USCOREcc(struct soap *soap, const struct ns1__dist_USCOREin_USCOREcc *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__dist_USCOREin_USCOREcc(struct soap *soap, const char *tag, int id, const struct ns1__dist_USCOREin_USCOREcc *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__dist_USCOREin_USCOREcc), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_int(soap, "position1", -1, &a->_position1, ""))
+		return soap->error;
+	if (soap_out_int(soap, "position2", -1, &a->_position2, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__dist_USCOREin_USCOREcc * SOAP_FMAC4 soap_in_ns1__dist_USCOREin_USCOREcc(struct soap *soap, const char *tag, struct ns1__dist_USCOREin_USCOREcc *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__position1 = 1;
+	size_t soap_flag__position2 = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__dist_USCOREin_USCOREcc *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__dist_USCOREin_USCOREcc, sizeof(struct ns1__dist_USCOREin_USCOREcc), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__dist_USCOREin_USCOREcc(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__position1 && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, NULL, &a->_position1, "xsd:int"))
+				{	soap_flag__position1--;
+					continue;
+				}
+			if (soap_flag__position2 && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, NULL, &a->_position2, "xsd:int"))
+				{	soap_flag__position2--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__dist_USCOREin_USCOREcc *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__dist_USCOREin_USCOREcc, 0, sizeof(struct ns1__dist_USCOREin_USCOREcc), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__position1 > 0 || soap_flag__position2 > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__dist_USCOREin_USCOREcc(struct soap *soap, const struct ns1__dist_USCOREin_USCOREcc *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__dist_USCOREin_USCOREcc);
+	if (soap_out_ns1__dist_USCOREin_USCOREcc(soap, tag?tag:"ns1:dist_in_cc", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__dist_USCOREin_USCOREcc * SOAP_FMAC4 soap_get_ns1__dist_USCOREin_USCOREcc(struct soap *soap, struct ns1__dist_USCOREin_USCOREcc *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__dist_USCOREin_USCOREcc(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__dist_USCOREin_USCOREccResponse(struct soap *soap, struct ns1__dist_USCOREin_USCOREccResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__dist_USCOREin_USCOREccResponse(struct soap *soap, const struct ns1__dist_USCOREin_USCOREccResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__dist_USCOREin_USCOREccResponse(struct soap *soap, const char *tag, int id, const struct ns1__dist_USCOREin_USCOREccResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__dist_USCOREin_USCOREccResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__dist_USCOREin_USCOREccResponse * SOAP_FMAC4 soap_in_ns1__dist_USCOREin_USCOREccResponse(struct soap *soap, const char *tag, struct ns1__dist_USCOREin_USCOREccResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__dist_USCOREin_USCOREccResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__dist_USCOREin_USCOREccResponse, sizeof(struct ns1__dist_USCOREin_USCOREccResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__dist_USCOREin_USCOREccResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__dist_USCOREin_USCOREccResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__dist_USCOREin_USCOREccResponse, 0, sizeof(struct ns1__dist_USCOREin_USCOREccResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__dist_USCOREin_USCOREccResponse(struct soap *soap, const struct ns1__dist_USCOREin_USCOREccResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__dist_USCOREin_USCOREccResponse);
+	if (soap_out_ns1__dist_USCOREin_USCOREccResponse(soap, tag?tag:"ns1:dist_in_ccResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__dist_USCOREin_USCOREccResponse * SOAP_FMAC4 soap_get_ns1__dist_USCOREin_USCOREccResponse(struct soap *soap, struct ns1__dist_USCOREin_USCOREccResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__dist_USCOREin_USCOREccResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__bui(struct soap *soap, struct ns1__bui *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__bui(struct soap *soap, const struct ns1__bui *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__buiInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__bui(struct soap *soap, const char *tag, int id, const struct ns1__bui *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__bui), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__buiInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__bui * SOAP_FMAC4 soap_in_ns1__bui(struct soap *soap, const char *tag, struct ns1__bui *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__bui *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__bui, sizeof(struct ns1__bui), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__bui(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__buiInputParams(soap, NULL, &a->_params, "ns1:buiInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__bui *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__bui, 0, sizeof(struct ns1__bui), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__bui(struct soap *soap, const struct ns1__bui *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__bui);
+	if (soap_out_ns1__bui(soap, tag?tag:"ns1:bui", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__bui * SOAP_FMAC4 soap_get_ns1__bui(struct soap *soap, struct ns1__bui *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__bui(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__buiResponse(struct soap *soap, struct ns1__buiResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__buiResponse(struct soap *soap, const struct ns1__buiResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__buiResponse(struct soap *soap, const char *tag, int id, const struct ns1__buiResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__buiResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__buiResponse * SOAP_FMAC4 soap_in_ns1__buiResponse(struct soap *soap, const char *tag, struct ns1__buiResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__buiResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__buiResponse, sizeof(struct ns1__buiResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__buiResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__buiResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__buiResponse, 0, sizeof(struct ns1__buiResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__buiResponse(struct soap *soap, const struct ns1__buiResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__buiResponse);
+	if (soap_out_ns1__buiResponse(soap, tag?tag:"ns1:buiResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__buiResponse * SOAP_FMAC4 soap_get_ns1__buiResponse(struct soap *soap, struct ns1__buiResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__buiResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__fop(struct soap *soap, struct ns1__fop *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__fop(struct soap *soap, const struct ns1__fop *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__fopInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__fop(struct soap *soap, const char *tag, int id, const struct ns1__fop *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__fop), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__fopInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__fop * SOAP_FMAC4 soap_in_ns1__fop(struct soap *soap, const char *tag, struct ns1__fop *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__fop *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__fop, sizeof(struct ns1__fop), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__fop(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__fopInputParams(soap, NULL, &a->_params, "ns1:fopInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__fop *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__fop, 0, sizeof(struct ns1__fop), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__fop(struct soap *soap, const struct ns1__fop *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__fop);
+	if (soap_out_ns1__fop(soap, tag?tag:"ns1:fop", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__fop * SOAP_FMAC4 soap_get_ns1__fop(struct soap *soap, struct ns1__fop *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__fop(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__fopResponse(struct soap *soap, struct ns1__fopResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__fopResponse(struct soap *soap, const struct ns1__fopResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__fopResponse(struct soap *soap, const char *tag, int id, const struct ns1__fopResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__fopResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__fopResponse * SOAP_FMAC4 soap_in_ns1__fopResponse(struct soap *soap, const char *tag, struct ns1__fopResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__fopResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__fopResponse, sizeof(struct ns1__fopResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__fopResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__fopResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__fopResponse, 0, sizeof(struct ns1__fopResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__fopResponse(struct soap *soap, const struct ns1__fopResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__fopResponse);
+	if (soap_out_ns1__fopResponse(soap, tag?tag:"ns1:fopResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__fopResponse * SOAP_FMAC4 soap_get_ns1__fopResponse(struct soap *soap, struct ns1__fopResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__fopResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__enc(struct soap *soap, struct ns1__enc *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__enc(struct soap *soap, const struct ns1__enc *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__encInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__enc(struct soap *soap, const char *tag, int id, const struct ns1__enc *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__enc), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__encInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__enc * SOAP_FMAC4 soap_in_ns1__enc(struct soap *soap, const char *tag, struct ns1__enc *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__enc *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__enc, sizeof(struct ns1__enc), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__enc(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__encInputParams(soap, NULL, &a->_params, "ns1:encInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__enc *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__enc, 0, sizeof(struct ns1__enc), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__enc(struct soap *soap, const struct ns1__enc *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__enc);
+	if (soap_out_ns1__enc(soap, tag?tag:"ns1:enc", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__enc * SOAP_FMAC4 soap_get_ns1__enc(struct soap *soap, struct ns1__enc *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__enc(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__encResponse(struct soap *soap, struct ns1__encResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__encResponse(struct soap *soap, const struct ns1__encResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__encResponse(struct soap *soap, const char *tag, int id, const struct ns1__encResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__encResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__encResponse * SOAP_FMAC4 soap_in_ns1__encResponse(struct soap *soap, const char *tag, struct ns1__encResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__encResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__encResponse, sizeof(struct ns1__encResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__encResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__encResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__encResponse, 0, sizeof(struct ns1__encResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__encResponse(struct soap *soap, const struct ns1__encResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__encResponse);
+	if (soap_out_ns1__encResponse(soap, tag?tag:"ns1:encResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__encResponse * SOAP_FMAC4 soap_get_ns1__encResponse(struct soap *soap, struct ns1__encResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__encResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__icdi(struct soap *soap, struct ns1__icdi *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__icdi(struct soap *soap, const struct ns1__icdi *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__icdiInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__icdi(struct soap *soap, const char *tag, int id, const struct ns1__icdi *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__icdi), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__icdiInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__icdi * SOAP_FMAC4 soap_in_ns1__icdi(struct soap *soap, const char *tag, struct ns1__icdi *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__icdi *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__icdi, sizeof(struct ns1__icdi), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__icdi(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__icdiInputParams(soap, NULL, &a->_params, "ns1:icdiInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__icdi *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__icdi, 0, sizeof(struct ns1__icdi), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__icdi(struct soap *soap, const struct ns1__icdi *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__icdi);
+	if (soap_out_ns1__icdi(soap, tag?tag:"ns1:icdi", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__icdi * SOAP_FMAC4 soap_get_ns1__icdi(struct soap *soap, struct ns1__icdi *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__icdi(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__icdiResponse(struct soap *soap, struct ns1__icdiResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__icdiResponse(struct soap *soap, const struct ns1__icdiResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__icdiResponse(struct soap *soap, const char *tag, int id, const struct ns1__icdiResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__icdiResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__icdiResponse * SOAP_FMAC4 soap_in_ns1__icdiResponse(struct soap *soap, const char *tag, struct ns1__icdiResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__icdiResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__icdiResponse, sizeof(struct ns1__icdiResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__icdiResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__icdiResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__icdiResponse, 0, sizeof(struct ns1__icdiResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__icdiResponse(struct soap *soap, const struct ns1__icdiResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__icdiResponse);
+	if (soap_out_ns1__icdiResponse(soap, tag?tag:"ns1:icdiResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__icdiResponse * SOAP_FMAC4 soap_get_ns1__icdiResponse(struct soap *soap, struct ns1__icdiResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__icdiResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__phx(struct soap *soap, struct ns1__phx *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__phx(struct soap *soap, const struct ns1__phx *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__phxInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__phx(struct soap *soap, const char *tag, int id, const struct ns1__phx *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__phx), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__phxInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__phx * SOAP_FMAC4 soap_in_ns1__phx(struct soap *soap, const char *tag, struct ns1__phx *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__phx *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__phx, sizeof(struct ns1__phx), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__phx(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__phxInputParams(soap, NULL, &a->_params, "ns1:phxInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__phx *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__phx, 0, sizeof(struct ns1__phx), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__phx(struct soap *soap, const struct ns1__phx *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__phx);
+	if (soap_out_ns1__phx(soap, tag?tag:"ns1:phx", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__phx * SOAP_FMAC4 soap_get_ns1__phx(struct soap *soap, struct ns1__phx *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__phx(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__phxResponse(struct soap *soap, struct ns1__phxResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__phxResponse(struct soap *soap, const struct ns1__phxResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__phxResponse(struct soap *soap, const char *tag, int id, const struct ns1__phxResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__phxResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__phxResponse * SOAP_FMAC4 soap_in_ns1__phxResponse(struct soap *soap, const char *tag, struct ns1__phxResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__phxResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__phxResponse, sizeof(struct ns1__phxResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__phxResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__phxResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__phxResponse, 0, sizeof(struct ns1__phxResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__phxResponse(struct soap *soap, const struct ns1__phxResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__phxResponse);
+	if (soap_out_ns1__phxResponse(soap, tag?tag:"ns1:phxResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__phxResponse * SOAP_FMAC4 soap_get_ns1__phxResponse(struct soap *soap, struct ns1__phxResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__phxResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__translate(struct soap *soap, struct ns1__translate *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__translate(struct soap *soap, const struct ns1__translate *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__translate(struct soap *soap, const char *tag, int id, const struct ns1__translate *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__translate), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__translate * SOAP_FMAC4 soap_in_ns1__translate(struct soap *soap, const char *tag, struct ns1__translate *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__translate *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__translate, sizeof(struct ns1__translate), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__translate(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__translate *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__translate, 0, sizeof(struct ns1__translate), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__translate(struct soap *soap, const struct ns1__translate *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__translate);
+	if (soap_out_ns1__translate(soap, tag?tag:"ns1:translate", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__translate * SOAP_FMAC4 soap_get_ns1__translate(struct soap *soap, struct ns1__translate *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__translate(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__translateResponse(struct soap *soap, struct ns1__translateResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__translateResponse(struct soap *soap, const struct ns1__translateResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__translateResponse(struct soap *soap, const char *tag, int id, const struct ns1__translateResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__translateResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__translateResponse * SOAP_FMAC4 soap_in_ns1__translateResponse(struct soap *soap, const char *tag, struct ns1__translateResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__translateResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__translateResponse, sizeof(struct ns1__translateResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__translateResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__translateResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__translateResponse, 0, sizeof(struct ns1__translateResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__translateResponse(struct soap *soap, const struct ns1__translateResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__translateResponse);
+	if (soap_out_ns1__translateResponse(soap, tag?tag:"ns1:translateResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__translateResponse * SOAP_FMAC4 soap_get_ns1__translateResponse(struct soap *soap, struct ns1__translateResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__translateResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__togoWS(struct soap *soap, struct ns1__togoWS *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_query);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__togoWS(struct soap *soap, const struct ns1__togoWS *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_query);
+	soap_serialize_PointerTons1__togoWSInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__togoWS(struct soap *soap, const char *tag, int id, const struct ns1__togoWS *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__togoWS), type))
+		return soap->error;
+	if (soap_out_string(soap, "query", -1, &a->_query, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__togoWSInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__togoWS * SOAP_FMAC4 soap_in_ns1__togoWS(struct soap *soap, const char *tag, struct ns1__togoWS *a, const char *type)
+{
+	size_t soap_flag__query = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__togoWS *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__togoWS, sizeof(struct ns1__togoWS), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__togoWS(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__query && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_query, "xsd:string"))
+				{	soap_flag__query--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__togoWSInputParams(soap, NULL, &a->_params, "ns1:togoWSInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__togoWS *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__togoWS, 0, sizeof(struct ns1__togoWS), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__togoWS(struct soap *soap, const struct ns1__togoWS *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__togoWS);
+	if (soap_out_ns1__togoWS(soap, tag?tag:"ns1:togoWS", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__togoWS * SOAP_FMAC4 soap_get_ns1__togoWS(struct soap *soap, struct ns1__togoWS *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__togoWS(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__togoWSResponse(struct soap *soap, struct ns1__togoWSResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__togoWSResponse(struct soap *soap, const struct ns1__togoWSResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__togoWSResponse(struct soap *soap, const char *tag, int id, const struct ns1__togoWSResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__togoWSResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__togoWSResponse * SOAP_FMAC4 soap_in_ns1__togoWSResponse(struct soap *soap, const char *tag, struct ns1__togoWSResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__togoWSResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__togoWSResponse, sizeof(struct ns1__togoWSResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__togoWSResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__togoWSResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__togoWSResponse, 0, sizeof(struct ns1__togoWSResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__togoWSResponse(struct soap *soap, const struct ns1__togoWSResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__togoWSResponse);
+	if (soap_out_ns1__togoWSResponse(soap, tag?tag:"ns1:togoWSResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__togoWSResponse * SOAP_FMAC4 soap_get_ns1__togoWSResponse(struct soap *soap, struct ns1__togoWSResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__togoWSResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__circular_USCOREmap(struct soap *soap, struct ns1__circular_USCOREmap *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__circular_USCOREmap(struct soap *soap, const struct ns1__circular_USCOREmap *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__circular_USCOREmapInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__circular_USCOREmap(struct soap *soap, const char *tag, int id, const struct ns1__circular_USCOREmap *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__circular_USCOREmap), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__circular_USCOREmapInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__circular_USCOREmap * SOAP_FMAC4 soap_in_ns1__circular_USCOREmap(struct soap *soap, const char *tag, struct ns1__circular_USCOREmap *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__circular_USCOREmap *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__circular_USCOREmap, sizeof(struct ns1__circular_USCOREmap), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__circular_USCOREmap(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__circular_USCOREmapInputParams(soap, NULL, &a->_params, "ns1:circular_mapInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__circular_USCOREmap *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__circular_USCOREmap, 0, sizeof(struct ns1__circular_USCOREmap), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__circular_USCOREmap(struct soap *soap, const struct ns1__circular_USCOREmap *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__circular_USCOREmap);
+	if (soap_out_ns1__circular_USCOREmap(soap, tag?tag:"ns1:circular_map", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__circular_USCOREmap * SOAP_FMAC4 soap_get_ns1__circular_USCOREmap(struct soap *soap, struct ns1__circular_USCOREmap *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__circular_USCOREmap(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__circular_USCOREmapResponse(struct soap *soap, struct ns1__circular_USCOREmapResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__circular_USCOREmapResponse(struct soap *soap, const struct ns1__circular_USCOREmapResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__circular_USCOREmapResponse(struct soap *soap, const char *tag, int id, const struct ns1__circular_USCOREmapResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__circular_USCOREmapResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__circular_USCOREmapResponse * SOAP_FMAC4 soap_in_ns1__circular_USCOREmapResponse(struct soap *soap, const char *tag, struct ns1__circular_USCOREmapResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__circular_USCOREmapResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__circular_USCOREmapResponse, sizeof(struct ns1__circular_USCOREmapResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__circular_USCOREmapResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__circular_USCOREmapResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__circular_USCOREmapResponse, 0, sizeof(struct ns1__circular_USCOREmapResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__circular_USCOREmapResponse(struct soap *soap, const struct ns1__circular_USCOREmapResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__circular_USCOREmapResponse);
+	if (soap_out_ns1__circular_USCOREmapResponse(soap, tag?tag:"ns1:circular_mapResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__circular_USCOREmapResponse * SOAP_FMAC4 soap_get_ns1__circular_USCOREmapResponse(struct soap *soap, struct ns1__circular_USCOREmapResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__circular_USCOREmapResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__amino_USCOREinfo(struct soap *soap, struct ns1__amino_USCOREinfo *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__amino_USCOREinfo(struct soap *soap, const struct ns1__amino_USCOREinfo *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__amino_USCOREinfo(struct soap *soap, const char *tag, int id, const struct ns1__amino_USCOREinfo *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__amino_USCOREinfo), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__amino_USCOREinfo * SOAP_FMAC4 soap_in_ns1__amino_USCOREinfo(struct soap *soap, const char *tag, struct ns1__amino_USCOREinfo *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__amino_USCOREinfo *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__amino_USCOREinfo, sizeof(struct ns1__amino_USCOREinfo), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__amino_USCOREinfo(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__amino_USCOREinfo *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__amino_USCOREinfo, 0, sizeof(struct ns1__amino_USCOREinfo), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__amino_USCOREinfo(struct soap *soap, const struct ns1__amino_USCOREinfo *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__amino_USCOREinfo);
+	if (soap_out_ns1__amino_USCOREinfo(soap, tag?tag:"ns1:amino_info", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__amino_USCOREinfo * SOAP_FMAC4 soap_get_ns1__amino_USCOREinfo(struct soap *soap, struct ns1__amino_USCOREinfo *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__amino_USCOREinfo(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__amino_USCOREinfoResponse(struct soap *soap, struct ns1__amino_USCOREinfoResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__amino_USCOREinfoResponse(struct soap *soap, const struct ns1__amino_USCOREinfoResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__amino_USCOREinfoResponse(struct soap *soap, const char *tag, int id, const struct ns1__amino_USCOREinfoResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__amino_USCOREinfoResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__amino_USCOREinfoResponse * SOAP_FMAC4 soap_in_ns1__amino_USCOREinfoResponse(struct soap *soap, const char *tag, struct ns1__amino_USCOREinfoResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__amino_USCOREinfoResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__amino_USCOREinfoResponse, sizeof(struct ns1__amino_USCOREinfoResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__amino_USCOREinfoResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__amino_USCOREinfoResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__amino_USCOREinfoResponse, 0, sizeof(struct ns1__amino_USCOREinfoResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__amino_USCOREinfoResponse(struct soap *soap, const struct ns1__amino_USCOREinfoResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__amino_USCOREinfoResponse);
+	if (soap_out_ns1__amino_USCOREinfoResponse(soap, tag?tag:"ns1:amino_infoResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__amino_USCOREinfoResponse * SOAP_FMAC4 soap_get_ns1__amino_USCOREinfoResponse(struct soap *soap, struct ns1__amino_USCOREinfoResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__amino_USCOREinfoResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__variance(struct soap *soap, struct ns1__variance *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_array = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__variance(struct soap *soap, const struct ns1__variance *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayIn(soap, &a->_array);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__variance(struct soap *soap, const char *tag, int id, const struct ns1__variance *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__variance), type))
+		return soap->error;
+	if (soap_out_PointerToarrayIn(soap, "array", -1, &a->_array, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__variance * SOAP_FMAC4 soap_in_ns1__variance(struct soap *soap, const char *tag, struct ns1__variance *a, const char *type)
+{
+	size_t soap_flag__array = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__variance *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__variance, sizeof(struct ns1__variance), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__variance(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__array && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayIn(soap, NULL, &a->_array, "xsd:string"))
+				{	soap_flag__array--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__variance *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__variance, 0, sizeof(struct ns1__variance), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__variance(struct soap *soap, const struct ns1__variance *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__variance);
+	if (soap_out_ns1__variance(soap, tag?tag:"ns1:variance", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__variance * SOAP_FMAC4 soap_get_ns1__variance(struct soap *soap, struct ns1__variance *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__variance(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__varianceResponse(struct soap *soap, struct ns1__varianceResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__varianceResponse(struct soap *soap, const struct ns1__varianceResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__varianceResponse(struct soap *soap, const char *tag, int id, const struct ns1__varianceResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__varianceResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__varianceResponse * SOAP_FMAC4 soap_in_ns1__varianceResponse(struct soap *soap, const char *tag, struct ns1__varianceResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__varianceResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__varianceResponse, sizeof(struct ns1__varianceResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__varianceResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__varianceResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__varianceResponse, 0, sizeof(struct ns1__varianceResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__varianceResponse(struct soap *soap, const struct ns1__varianceResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__varianceResponse);
+	if (soap_out_ns1__varianceResponse(soap, tag?tag:"ns1:varianceResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__varianceResponse * SOAP_FMAC4 soap_get_ns1__varianceResponse(struct soap *soap, struct ns1__varianceResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__varianceResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__nucleotide_USCOREperiodicity(struct soap *soap, struct ns1__nucleotide_USCOREperiodicity *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__nucleotide_USCOREperiodicity(struct soap *soap, const struct ns1__nucleotide_USCOREperiodicity *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__nucleotide_USCOREperiodicityInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__nucleotide_USCOREperiodicity(struct soap *soap, const char *tag, int id, const struct ns1__nucleotide_USCOREperiodicity *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__nucleotide_USCOREperiodicity), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__nucleotide_USCOREperiodicityInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__nucleotide_USCOREperiodicity * SOAP_FMAC4 soap_in_ns1__nucleotide_USCOREperiodicity(struct soap *soap, const char *tag, struct ns1__nucleotide_USCOREperiodicity *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__nucleotide_USCOREperiodicity *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__nucleotide_USCOREperiodicity, sizeof(struct ns1__nucleotide_USCOREperiodicity), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__nucleotide_USCOREperiodicity(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__nucleotide_USCOREperiodicityInputParams(soap, NULL, &a->_params, "ns1:nucleotide_periodicityInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__nucleotide_USCOREperiodicity *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__nucleotide_USCOREperiodicity, 0, sizeof(struct ns1__nucleotide_USCOREperiodicity), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__nucleotide_USCOREperiodicity(struct soap *soap, const struct ns1__nucleotide_USCOREperiodicity *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__nucleotide_USCOREperiodicity);
+	if (soap_out_ns1__nucleotide_USCOREperiodicity(soap, tag?tag:"ns1:nucleotide_periodicity", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__nucleotide_USCOREperiodicity * SOAP_FMAC4 soap_get_ns1__nucleotide_USCOREperiodicity(struct soap *soap, struct ns1__nucleotide_USCOREperiodicity *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__nucleotide_USCOREperiodicity(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__nucleotide_USCOREperiodicityResponse(struct soap *soap, struct ns1__nucleotide_USCOREperiodicityResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__nucleotide_USCOREperiodicityResponse(struct soap *soap, const struct ns1__nucleotide_USCOREperiodicityResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__nucleotide_USCOREperiodicityResponse(struct soap *soap, const char *tag, int id, const struct ns1__nucleotide_USCOREperiodicityResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__nucleotide_USCOREperiodicityResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__nucleotide_USCOREperiodicityResponse * SOAP_FMAC4 soap_in_ns1__nucleotide_USCOREperiodicityResponse(struct soap *soap, const char *tag, struct ns1__nucleotide_USCOREperiodicityResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__nucleotide_USCOREperiodicityResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__nucleotide_USCOREperiodicityResponse, sizeof(struct ns1__nucleotide_USCOREperiodicityResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__nucleotide_USCOREperiodicityResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__nucleotide_USCOREperiodicityResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__nucleotide_USCOREperiodicityResponse, 0, sizeof(struct ns1__nucleotide_USCOREperiodicityResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__nucleotide_USCOREperiodicityResponse(struct soap *soap, const struct ns1__nucleotide_USCOREperiodicityResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__nucleotide_USCOREperiodicityResponse);
+	if (soap_out_ns1__nucleotide_USCOREperiodicityResponse(soap, tag?tag:"ns1:nucleotide_periodicityResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__nucleotide_USCOREperiodicityResponse * SOAP_FMAC4 soap_get_ns1__nucleotide_USCOREperiodicityResponse(struct soap *soap, struct ns1__nucleotide_USCOREperiodicityResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__nucleotide_USCOREperiodicityResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__sum(struct soap *soap, struct ns1__sum *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_array = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__sum(struct soap *soap, const struct ns1__sum *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayIn(soap, &a->_array);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__sum(struct soap *soap, const char *tag, int id, const struct ns1__sum *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__sum), type))
+		return soap->error;
+	if (soap_out_PointerToarrayIn(soap, "array", -1, &a->_array, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__sum * SOAP_FMAC4 soap_in_ns1__sum(struct soap *soap, const char *tag, struct ns1__sum *a, const char *type)
+{
+	size_t soap_flag__array = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__sum *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__sum, sizeof(struct ns1__sum), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__sum(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__array && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayIn(soap, NULL, &a->_array, "xsd:string"))
+				{	soap_flag__array--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__sum *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__sum, 0, sizeof(struct ns1__sum), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__sum(struct soap *soap, const struct ns1__sum *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__sum);
+	if (soap_out_ns1__sum(soap, tag?tag:"ns1:sum", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__sum * SOAP_FMAC4 soap_get_ns1__sum(struct soap *soap, struct ns1__sum *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__sum(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__sumResponse(struct soap *soap, struct ns1__sumResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__sumResponse(struct soap *soap, const struct ns1__sumResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__sumResponse(struct soap *soap, const char *tag, int id, const struct ns1__sumResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__sumResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__sumResponse * SOAP_FMAC4 soap_in_ns1__sumResponse(struct soap *soap, const char *tag, struct ns1__sumResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__sumResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__sumResponse, sizeof(struct ns1__sumResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__sumResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__sumResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__sumResponse, 0, sizeof(struct ns1__sumResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__sumResponse(struct soap *soap, const struct ns1__sumResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__sumResponse);
+	if (soap_out_ns1__sumResponse(soap, tag?tag:"ns1:sumResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__sumResponse * SOAP_FMAC4 soap_get_ns1__sumResponse(struct soap *soap, struct ns1__sumResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__sumResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__plasmid_USCOREmap(struct soap *soap, struct ns1__plasmid_USCOREmap *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__plasmid_USCOREmap(struct soap *soap, const struct ns1__plasmid_USCOREmap *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__plasmid_USCOREmapInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__plasmid_USCOREmap(struct soap *soap, const char *tag, int id, const struct ns1__plasmid_USCOREmap *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__plasmid_USCOREmap), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__plasmid_USCOREmapInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__plasmid_USCOREmap * SOAP_FMAC4 soap_in_ns1__plasmid_USCOREmap(struct soap *soap, const char *tag, struct ns1__plasmid_USCOREmap *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__plasmid_USCOREmap *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__plasmid_USCOREmap, sizeof(struct ns1__plasmid_USCOREmap), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__plasmid_USCOREmap(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__plasmid_USCOREmapInputParams(soap, NULL, &a->_params, "ns1:plasmid_mapInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__plasmid_USCOREmap *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__plasmid_USCOREmap, 0, sizeof(struct ns1__plasmid_USCOREmap), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__plasmid_USCOREmap(struct soap *soap, const struct ns1__plasmid_USCOREmap *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__plasmid_USCOREmap);
+	if (soap_out_ns1__plasmid_USCOREmap(soap, tag?tag:"ns1:plasmid_map", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__plasmid_USCOREmap * SOAP_FMAC4 soap_get_ns1__plasmid_USCOREmap(struct soap *soap, struct ns1__plasmid_USCOREmap *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__plasmid_USCOREmap(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__plasmid_USCOREmapResponse(struct soap *soap, struct ns1__plasmid_USCOREmapResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__plasmid_USCOREmapResponse(struct soap *soap, const struct ns1__plasmid_USCOREmapResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__plasmid_USCOREmapResponse(struct soap *soap, const char *tag, int id, const struct ns1__plasmid_USCOREmapResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__plasmid_USCOREmapResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__plasmid_USCOREmapResponse * SOAP_FMAC4 soap_in_ns1__plasmid_USCOREmapResponse(struct soap *soap, const char *tag, struct ns1__plasmid_USCOREmapResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__plasmid_USCOREmapResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__plasmid_USCOREmapResponse, sizeof(struct ns1__plasmid_USCOREmapResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__plasmid_USCOREmapResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__plasmid_USCOREmapResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__plasmid_USCOREmapResponse, 0, sizeof(struct ns1__plasmid_USCOREmapResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__plasmid_USCOREmapResponse(struct soap *soap, const struct ns1__plasmid_USCOREmapResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__plasmid_USCOREmapResponse);
+	if (soap_out_ns1__plasmid_USCOREmapResponse(soap, tag?tag:"ns1:plasmid_mapResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__plasmid_USCOREmapResponse * SOAP_FMAC4 soap_get_ns1__plasmid_USCOREmapResponse(struct soap *soap, struct ns1__plasmid_USCOREmapResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__plasmid_USCOREmapResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREori_USCOREter(struct soap *soap, struct ns1__find_USCOREori_USCOREter *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREori_USCOREter(struct soap *soap, const struct ns1__find_USCOREori_USCOREter *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__find_USCOREori_USCOREterInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREori_USCOREter(struct soap *soap, const char *tag, int id, const struct ns1__find_USCOREori_USCOREter *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__find_USCOREori_USCOREter), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__find_USCOREori_USCOREterInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREori_USCOREter * SOAP_FMAC4 soap_in_ns1__find_USCOREori_USCOREter(struct soap *soap, const char *tag, struct ns1__find_USCOREori_USCOREter *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__find_USCOREori_USCOREter *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__find_USCOREori_USCOREter, sizeof(struct ns1__find_USCOREori_USCOREter), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__find_USCOREori_USCOREter(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__find_USCOREori_USCOREterInputParams(soap, NULL, &a->_params, "ns1:find_ori_terInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREori_USCOREter *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__find_USCOREori_USCOREter, 0, sizeof(struct ns1__find_USCOREori_USCOREter), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREori_USCOREter(struct soap *soap, const struct ns1__find_USCOREori_USCOREter *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__find_USCOREori_USCOREter);
+	if (soap_out_ns1__find_USCOREori_USCOREter(soap, tag?tag:"ns1:find_ori_ter", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREori_USCOREter * SOAP_FMAC4 soap_get_ns1__find_USCOREori_USCOREter(struct soap *soap, struct ns1__find_USCOREori_USCOREter *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__find_USCOREori_USCOREter(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREori_USCOREterResponse(struct soap *soap, struct ns1__find_USCOREori_USCOREterResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREori_USCOREterResponse(struct soap *soap, const struct ns1__find_USCOREori_USCOREterResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREori_USCOREterResponse(struct soap *soap, const char *tag, int id, const struct ns1__find_USCOREori_USCOREterResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__find_USCOREori_USCOREterResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREori_USCOREterResponse * SOAP_FMAC4 soap_in_ns1__find_USCOREori_USCOREterResponse(struct soap *soap, const char *tag, struct ns1__find_USCOREori_USCOREterResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__find_USCOREori_USCOREterResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__find_USCOREori_USCOREterResponse, sizeof(struct ns1__find_USCOREori_USCOREterResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__find_USCOREori_USCOREterResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREori_USCOREterResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__find_USCOREori_USCOREterResponse, 0, sizeof(struct ns1__find_USCOREori_USCOREterResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREori_USCOREterResponse(struct soap *soap, const struct ns1__find_USCOREori_USCOREterResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__find_USCOREori_USCOREterResponse);
+	if (soap_out_ns1__find_USCOREori_USCOREterResponse(soap, tag?tag:"ns1:find_ori_terResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREori_USCOREterResponse * SOAP_FMAC4 soap_get_ns1__find_USCOREori_USCOREterResponse(struct soap *soap, struct ns1__find_USCOREori_USCOREterResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__find_USCOREori_USCOREterResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__median(struct soap *soap, struct ns1__median *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_array = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__median(struct soap *soap, const struct ns1__median *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerToarrayIn(soap, &a->_array);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__median(struct soap *soap, const char *tag, int id, const struct ns1__median *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__median), type))
+		return soap->error;
+	if (soap_out_PointerToarrayIn(soap, "array", -1, &a->_array, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__median * SOAP_FMAC4 soap_in_ns1__median(struct soap *soap, const char *tag, struct ns1__median *a, const char *type)
+{
+	size_t soap_flag__array = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__median *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__median, sizeof(struct ns1__median), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__median(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__array && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerToarrayIn(soap, NULL, &a->_array, "xsd:string"))
+				{	soap_flag__array--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__median *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__median, 0, sizeof(struct ns1__median), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__median(struct soap *soap, const struct ns1__median *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__median);
+	if (soap_out_ns1__median(soap, tag?tag:"ns1:median", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__median * SOAP_FMAC4 soap_get_ns1__median(struct soap *soap, struct ns1__median *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__median(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__medianResponse(struct soap *soap, struct ns1__medianResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__medianResponse(struct soap *soap, const struct ns1__medianResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__medianResponse(struct soap *soap, const char *tag, int id, const struct ns1__medianResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__medianResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__medianResponse * SOAP_FMAC4 soap_in_ns1__medianResponse(struct soap *soap, const char *tag, struct ns1__medianResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__medianResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__medianResponse, sizeof(struct ns1__medianResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__medianResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__medianResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__medianResponse, 0, sizeof(struct ns1__medianResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__medianResponse(struct soap *soap, const struct ns1__medianResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__medianResponse);
+	if (soap_out_ns1__medianResponse(soap, tag?tag:"ns1:medianResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__medianResponse * SOAP_FMAC4 soap_get_ns1__medianResponse(struct soap *soap, struct ns1__medianResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__medianResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__splitprintseq(struct soap *soap, struct ns1__splitprintseq *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__splitprintseq(struct soap *soap, const struct ns1__splitprintseq *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__splitprintseq(struct soap *soap, const char *tag, int id, const struct ns1__splitprintseq *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__splitprintseq), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__splitprintseq * SOAP_FMAC4 soap_in_ns1__splitprintseq(struct soap *soap, const char *tag, struct ns1__splitprintseq *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__splitprintseq *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__splitprintseq, sizeof(struct ns1__splitprintseq), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__splitprintseq(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__splitprintseq *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__splitprintseq, 0, sizeof(struct ns1__splitprintseq), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__splitprintseq(struct soap *soap, const struct ns1__splitprintseq *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__splitprintseq);
+	if (soap_out_ns1__splitprintseq(soap, tag?tag:"ns1:splitprintseq", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__splitprintseq * SOAP_FMAC4 soap_get_ns1__splitprintseq(struct soap *soap, struct ns1__splitprintseq *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__splitprintseq(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__splitprintseqResponse(struct soap *soap, struct ns1__splitprintseqResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__splitprintseqResponse(struct soap *soap, const struct ns1__splitprintseqResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__splitprintseqResponse(struct soap *soap, const char *tag, int id, const struct ns1__splitprintseqResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__splitprintseqResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__splitprintseqResponse * SOAP_FMAC4 soap_in_ns1__splitprintseqResponse(struct soap *soap, const char *tag, struct ns1__splitprintseqResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__splitprintseqResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__splitprintseqResponse, sizeof(struct ns1__splitprintseqResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__splitprintseqResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__splitprintseqResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__splitprintseqResponse, 0, sizeof(struct ns1__splitprintseqResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__splitprintseqResponse(struct soap *soap, const struct ns1__splitprintseqResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__splitprintseqResponse);
+	if (soap_out_ns1__splitprintseqResponse(soap, tag?tag:"ns1:splitprintseqResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__splitprintseqResponse * SOAP_FMAC4 soap_get_ns1__splitprintseqResponse(struct soap *soap, struct ns1__splitprintseqResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__splitprintseqResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__w_USCOREvalue(struct soap *soap, struct ns1__w_USCOREvalue *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__w_USCOREvalue(struct soap *soap, const struct ns1__w_USCOREvalue *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__w_USCOREvalueInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__w_USCOREvalue(struct soap *soap, const char *tag, int id, const struct ns1__w_USCOREvalue *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__w_USCOREvalue), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__w_USCOREvalueInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__w_USCOREvalue * SOAP_FMAC4 soap_in_ns1__w_USCOREvalue(struct soap *soap, const char *tag, struct ns1__w_USCOREvalue *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__w_USCOREvalue *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__w_USCOREvalue, sizeof(struct ns1__w_USCOREvalue), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__w_USCOREvalue(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__w_USCOREvalueInputParams(soap, NULL, &a->_params, "ns1:w_valueInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__w_USCOREvalue *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__w_USCOREvalue, 0, sizeof(struct ns1__w_USCOREvalue), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__w_USCOREvalue(struct soap *soap, const struct ns1__w_USCOREvalue *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__w_USCOREvalue);
+	if (soap_out_ns1__w_USCOREvalue(soap, tag?tag:"ns1:w_value", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__w_USCOREvalue * SOAP_FMAC4 soap_get_ns1__w_USCOREvalue(struct soap *soap, struct ns1__w_USCOREvalue *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__w_USCOREvalue(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__w_USCOREvalueResponse(struct soap *soap, struct ns1__w_USCOREvalueResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__w_USCOREvalueResponse(struct soap *soap, const struct ns1__w_USCOREvalueResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__w_USCOREvalueResponse(struct soap *soap, const char *tag, int id, const struct ns1__w_USCOREvalueResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__w_USCOREvalueResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__w_USCOREvalueResponse * SOAP_FMAC4 soap_in_ns1__w_USCOREvalueResponse(struct soap *soap, const char *tag, struct ns1__w_USCOREvalueResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__w_USCOREvalueResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__w_USCOREvalueResponse, sizeof(struct ns1__w_USCOREvalueResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__w_USCOREvalueResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__w_USCOREvalueResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__w_USCOREvalueResponse, 0, sizeof(struct ns1__w_USCOREvalueResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__w_USCOREvalueResponse(struct soap *soap, const struct ns1__w_USCOREvalueResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__w_USCOREvalueResponse);
+	if (soap_out_ns1__w_USCOREvalueResponse(soap, tag?tag:"ns1:w_valueResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__w_USCOREvalueResponse * SOAP_FMAC4 soap_get_ns1__w_USCOREvalueResponse(struct soap *soap, struct ns1__w_USCOREvalueResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__w_USCOREvalueResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__P2(struct soap *soap, struct ns1__P2 *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__P2(struct soap *soap, const struct ns1__P2 *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__P2InputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__P2(struct soap *soap, const char *tag, int id, const struct ns1__P2 *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__P2), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__P2InputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__P2 * SOAP_FMAC4 soap_in_ns1__P2(struct soap *soap, const char *tag, struct ns1__P2 *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__P2 *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__P2, sizeof(struct ns1__P2), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__P2(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__P2InputParams(soap, NULL, &a->_params, "ns1:P2InputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__P2 *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__P2, 0, sizeof(struct ns1__P2), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__P2(struct soap *soap, const struct ns1__P2 *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__P2);
+	if (soap_out_ns1__P2(soap, tag?tag:"ns1:P2", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__P2 * SOAP_FMAC4 soap_get_ns1__P2(struct soap *soap, struct ns1__P2 *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__P2(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__P2Response(struct soap *soap, struct ns1__P2Response *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__P2Response(struct soap *soap, const struct ns1__P2Response *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__P2Response(struct soap *soap, const char *tag, int id, const struct ns1__P2Response *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__P2Response), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__P2Response * SOAP_FMAC4 soap_in_ns1__P2Response(struct soap *soap, const char *tag, struct ns1__P2Response *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__P2Response *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__P2Response, sizeof(struct ns1__P2Response), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__P2Response(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__P2Response *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__P2Response, 0, sizeof(struct ns1__P2Response), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__P2Response(struct soap *soap, const struct ns1__P2Response *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__P2Response);
+	if (soap_out_ns1__P2Response(soap, tag?tag:"ns1:P2Response", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__P2Response * SOAP_FMAC4 soap_get_ns1__P2Response(struct soap *soap, struct ns1__P2Response *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__P2Response(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREmva(struct soap *soap, struct ns1__codon_USCOREmva *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_sequence);
+	a->_params = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREmva(struct soap *soap, const struct ns1__codon_USCOREmva *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_sequence);
+	soap_serialize_PointerTons1__codon_USCOREmvaInputParams(soap, &a->_params);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREmva(struct soap *soap, const char *tag, int id, const struct ns1__codon_USCOREmva *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__codon_USCOREmva), type))
+		return soap->error;
+	if (soap_out_string(soap, "sequence", -1, &a->_sequence, ""))
+		return soap->error;
+	if (soap_out_PointerTons1__codon_USCOREmvaInputParams(soap, "params", -1, &a->_params, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREmva * SOAP_FMAC4 soap_in_ns1__codon_USCOREmva(struct soap *soap, const char *tag, struct ns1__codon_USCOREmva *a, const char *type)
+{
+	size_t soap_flag__sequence = 1;
+	size_t soap_flag__params = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__codon_USCOREmva *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__codon_USCOREmva, sizeof(struct ns1__codon_USCOREmva), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__codon_USCOREmva(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__sequence && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_sequence, "xsd:string"))
+				{	soap_flag__sequence--;
+					continue;
+				}
+			if (soap_flag__params && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTons1__codon_USCOREmvaInputParams(soap, NULL, &a->_params, "ns1:codon_mvaInputParams"))
+				{	soap_flag__params--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__codon_USCOREmva *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__codon_USCOREmva, 0, sizeof(struct ns1__codon_USCOREmva), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREmva(struct soap *soap, const struct ns1__codon_USCOREmva *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__codon_USCOREmva);
+	if (soap_out_ns1__codon_USCOREmva(soap, tag?tag:"ns1:codon_mva", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREmva * SOAP_FMAC4 soap_get_ns1__codon_USCOREmva(struct soap *soap, struct ns1__codon_USCOREmva *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__codon_USCOREmva(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREmvaResponse(struct soap *soap, struct ns1__codon_USCOREmvaResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	a->_result = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREmvaResponse(struct soap *soap, const struct ns1__codon_USCOREmvaResponse *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_PointerTostring(soap, &a->_result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREmvaResponse(struct soap *soap, const char *tag, int id, const struct ns1__codon_USCOREmvaResponse *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__codon_USCOREmvaResponse), type))
+		return soap->error;
+	if (soap_out_PointerTostring(soap, "result", -1, &a->_result, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREmvaResponse * SOAP_FMAC4 soap_in_ns1__codon_USCOREmvaResponse(struct soap *soap, const char *tag, struct ns1__codon_USCOREmvaResponse *a, const char *type)
+{
+	size_t soap_flag__result = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__codon_USCOREmvaResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__codon_USCOREmvaResponse, sizeof(struct ns1__codon_USCOREmvaResponse), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__codon_USCOREmvaResponse(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__result && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_PointerTostring(soap, NULL, &a->_result, "xsd:string"))
+				{	soap_flag__result--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__codon_USCOREmvaResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__codon_USCOREmvaResponse, 0, sizeof(struct ns1__codon_USCOREmvaResponse), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREmvaResponse(struct soap *soap, const struct ns1__codon_USCOREmvaResponse *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__codon_USCOREmvaResponse);
+	if (soap_out_ns1__codon_USCOREmvaResponse(soap, tag?tag:"ns1:codon_mvaResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREmvaResponse * SOAP_FMAC4 soap_get_ns1__codon_USCOREmvaResponse(struct soap *soap, struct ns1__codon_USCOREmvaResponse *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__codon_USCOREmvaResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_arrayOut(struct soap *soap, struct arrayOut *a)
+{	(void)soap;
+	(void)soap; /* appease -Wall -Werror */
+	a->__size = 0;
+	a->__ptr = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_arrayOut(struct soap *soap, struct arrayOut const*a)
+{
+	int i;
+	if (a->__ptr && !soap_array_reference(soap, a, (struct soap_array*)&a->__ptr, 1, SOAP_TYPE_arrayOut))
+		for (i = 0; i < a->__size; i++)
+		{
+			soap_serialize_string(soap, a->__ptr + i);
+		}
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_arrayOut(struct soap *soap, const char *tag, int id, const struct arrayOut *a, const char *type)
+{
+	int i, n = a->__size;
+	char *t = a->__ptr ? soap_putsize(soap, "xsd:string", a->__size) : NULL;
+	id = soap_element_id(soap, tag, id, a, (struct soap_array*)&a->__ptr, 1, type, SOAP_TYPE_arrayOut);
+	if (id < 0)
+		return soap->error;
+	if (soap_array_begin_out(soap, tag, id, t, NULL))
+		return soap->error;
+	for (i = 0; i < n; i++)
+	{
+		soap->position = 1;
+		soap->positions[0] = i;
+		soap_out_string(soap, "item", -1, &a->__ptr[i], "");
+	}
+	soap->position = 0;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct arrayOut * SOAP_FMAC4 soap_in_arrayOut(struct soap *soap, const char *tag, struct arrayOut *a, const char *type)
+{	int i, j;
+	char **p;
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (soap_match_array(soap, type))
+	{	soap->error = SOAP_TYPE;
+		return NULL;
+	}
+	a = (struct arrayOut *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_arrayOut, sizeof(struct arrayOut), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_arrayOut(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		a->__size = soap_getsize(soap->arraySize, soap->arrayOffset, &j);
+		if (a->__size >= 0)
+		{	a->__ptr = (char **)soap_malloc(soap, sizeof(char *) * a->__size);
+			for (i = 0; i < a->__size; i++)
+				a->__ptr[i] = NULL;
+			for (i = 0; i < a->__size; i++)
+			{	soap_peek_element(soap);
+				if (soap->position)
+				{	i = soap->positions[0]-j;
+					if (i < 0 || i >= a->__size)
+					{	soap->error = SOAP_IOB;
+						return NULL;
+					}
+				}
+				if (!soap_in_string(soap, NULL, a->__ptr + i, "xsd:string"))
+				{	if (soap->error != SOAP_NO_TAG)
+						return NULL;
+					soap->error = SOAP_OK;
+					break;
+				}
+			}
+		}
+		else
+		{	if (soap_new_block(soap) == NULL)
+				return NULL;
+			for (a->__size = 0; ; a->__size++)
+			{	p = (char **)soap_push_block(soap, NULL, sizeof(char *));
+				if (!p)
+					return NULL;
+				*p = NULL;
+				if (!soap_in_string(soap, NULL, p, "xsd:string"))
+				{	if (soap->error != SOAP_NO_TAG)
+						return NULL;
+					soap->error = SOAP_OK;
+					break;
+				}
+			}
+			soap_pop_block(soap, NULL);
+			a->__ptr = (char **)soap_malloc(soap, soap->blist->size);
+			soap_save_block(soap, NULL, (char*)a->__ptr, 1);
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct arrayOut *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_arrayOut, 0, sizeof(struct arrayOut), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_arrayOut(struct soap *soap, const struct arrayOut *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, (struct soap_array*)&a->__ptr, 1, tag, SOAP_TYPE_arrayOut);
+	if (soap_out_arrayOut(soap, tag?tag:"SOAP-ENC:Array", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct arrayOut * SOAP_FMAC4 soap_get_arrayOut(struct soap *soap, struct arrayOut *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_arrayOut(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_arrayIn(struct soap *soap, struct arrayIn *a)
+{	(void)soap;
+	(void)soap; /* appease -Wall -Werror */
+	a->__size = 0;
+	a->__ptr = NULL;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_arrayIn(struct soap *soap, struct arrayIn const*a)
+{
+	int i;
+	if (a->__ptr && !soap_array_reference(soap, a, (struct soap_array*)&a->__ptr, 1, SOAP_TYPE_arrayIn))
+		for (i = 0; i < a->__size; i++)
+		{
+			soap_serialize_string(soap, a->__ptr + i);
+		}
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_arrayIn(struct soap *soap, const char *tag, int id, const struct arrayIn *a, const char *type)
+{
+	int i, n = a->__size;
+	char *t = a->__ptr ? soap_putsize(soap, "xsd:string", a->__size) : NULL;
+	id = soap_element_id(soap, tag, id, a, (struct soap_array*)&a->__ptr, 1, type, SOAP_TYPE_arrayIn);
+	if (id < 0)
+		return soap->error;
+	if (soap_array_begin_out(soap, tag, id, t, NULL))
+		return soap->error;
+	for (i = 0; i < n; i++)
+	{
+		soap->position = 1;
+		soap->positions[0] = i;
+		soap_out_string(soap, "item", -1, &a->__ptr[i], "");
+	}
+	soap->position = 0;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct arrayIn * SOAP_FMAC4 soap_in_arrayIn(struct soap *soap, const char *tag, struct arrayIn *a, const char *type)
+{	int i, j;
+	char **p;
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (soap_match_array(soap, type))
+	{	soap->error = SOAP_TYPE;
+		return NULL;
+	}
+	a = (struct arrayIn *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_arrayIn, sizeof(struct arrayIn), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_arrayIn(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		a->__size = soap_getsize(soap->arraySize, soap->arrayOffset, &j);
+		if (a->__size >= 0)
+		{	a->__ptr = (char **)soap_malloc(soap, sizeof(char *) * a->__size);
+			for (i = 0; i < a->__size; i++)
+				a->__ptr[i] = NULL;
+			for (i = 0; i < a->__size; i++)
+			{	soap_peek_element(soap);
+				if (soap->position)
+				{	i = soap->positions[0]-j;
+					if (i < 0 || i >= a->__size)
+					{	soap->error = SOAP_IOB;
+						return NULL;
+					}
+				}
+				if (!soap_in_string(soap, NULL, a->__ptr + i, "xsd:string"))
+				{	if (soap->error != SOAP_NO_TAG)
+						return NULL;
+					soap->error = SOAP_OK;
+					break;
+				}
+			}
+		}
+		else
+		{	if (soap_new_block(soap) == NULL)
+				return NULL;
+			for (a->__size = 0; ; a->__size++)
+			{	p = (char **)soap_push_block(soap, NULL, sizeof(char *));
+				if (!p)
+					return NULL;
+				*p = NULL;
+				if (!soap_in_string(soap, NULL, p, "xsd:string"))
+				{	if (soap->error != SOAP_NO_TAG)
+						return NULL;
+					soap->error = SOAP_OK;
+					break;
+				}
+			}
+			soap_pop_block(soap, NULL);
+			a->__ptr = (char **)soap_malloc(soap, soap->blist->size);
+			soap_save_block(soap, NULL, (char*)a->__ptr, 1);
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct arrayIn *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_arrayIn, 0, sizeof(struct arrayIn), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_arrayIn(struct soap *soap, const struct arrayIn *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, (struct soap_array*)&a->__ptr, 1, tag, SOAP_TYPE_arrayIn);
+	if (soap_out_arrayIn(soap, tag?tag:"SOAP-ENC:Array", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct arrayIn * SOAP_FMAC4 soap_get_arrayIn(struct soap *soap, struct arrayIn *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_arrayIn(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__S_USCOREvalueInputParams(struct soap *soap, struct ns1__S_USCOREvalueInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->sharp);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__S_USCOREvalueInputParams(struct soap *soap, const struct ns1__S_USCOREvalueInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__S_USCOREvalueInputParams(struct soap *soap, const char *tag, int id, const struct ns1__S_USCOREvalueInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__S_USCOREvalueInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "sharp", -1, &a->sharp, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__S_USCOREvalueInputParams * SOAP_FMAC4 soap_in_ns1__S_USCOREvalueInputParams(struct soap *soap, const char *tag, struct ns1__S_USCOREvalueInputParams *a, const char *type)
+{
+	size_t soap_flag_sharp = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__S_USCOREvalueInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__S_USCOREvalueInputParams, sizeof(struct ns1__S_USCOREvalueInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__S_USCOREvalueInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_sharp && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "sharp", &a->sharp, "xsd:int"))
+				{	soap_flag_sharp--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__S_USCOREvalueInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__S_USCOREvalueInputParams, 0, sizeof(struct ns1__S_USCOREvalueInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_sharp > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__S_USCOREvalueInputParams(struct soap *soap, const struct ns1__S_USCOREvalueInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__S_USCOREvalueInputParams);
+	if (soap_out_ns1__S_USCOREvalueInputParams(soap, tag?tag:"ns1:S_valueInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__S_USCOREvalueInputParams * SOAP_FMAC4 soap_get_ns1__S_USCOREvalueInputParams(struct soap *soap, struct ns1__S_USCOREvalueInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__S_USCOREvalueInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__scsInputParams(struct soap *soap, struct ns1__scsInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->id);
+	soap_default_int(soap, &a->translate);
+	soap_default_string(soap, &a->del_USCOREkey);
+	soap_default_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__scsInputParams(struct soap *soap, const struct ns1__scsInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->id);
+	soap_serialize_string(soap, &a->del_USCOREkey);
+	soap_serialize_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__scsInputParams(struct soap *soap, const char *tag, int id, const struct ns1__scsInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__scsInputParams), type))
+		return soap->error;
+	if (a->id)
+	{	if (soap_out_string(soap, "id", -1, &a->id, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "id"))
+		return soap->error;
+	if (soap_out_int(soap, "translate", -1, &a->translate, ""))
+		return soap->error;
+	if (a->del_USCOREkey)
+	{	if (soap_out_string(soap, "del_key", -1, &a->del_USCOREkey, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "del_key"))
+		return soap->error;
+	if (a->tag)
+	{	if (soap_out_string(soap, "tag", -1, &a->tag, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "tag"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__scsInputParams * SOAP_FMAC4 soap_in_ns1__scsInputParams(struct soap *soap, const char *tag, struct ns1__scsInputParams *a, const char *type)
+{
+	size_t soap_flag_id = 1;
+	size_t soap_flag_translate = 1;
+	size_t soap_flag_del_USCOREkey = 1;
+	size_t soap_flag_tag = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__scsInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__scsInputParams, sizeof(struct ns1__scsInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__scsInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_id && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "id", &a->id, "xsd:string"))
+				{	soap_flag_id--;
+					continue;
+				}
+			if (soap_flag_translate && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "translate", &a->translate, "xsd:int"))
+				{	soap_flag_translate--;
+					continue;
+				}
+			if (soap_flag_del_USCOREkey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "del_key", &a->del_USCOREkey, "xsd:string"))
+				{	soap_flag_del_USCOREkey--;
+					continue;
+				}
+			if (soap_flag_tag && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "tag", &a->tag, "xsd:string"))
+				{	soap_flag_tag--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__scsInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__scsInputParams, 0, sizeof(struct ns1__scsInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_id > 0 || soap_flag_translate > 0 || soap_flag_del_USCOREkey > 0 || soap_flag_tag > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__scsInputParams(struct soap *soap, const struct ns1__scsInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__scsInputParams);
+	if (soap_out_ns1__scsInputParams(soap, tag?tag:"ns1:scsInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__scsInputParams * SOAP_FMAC4 soap_get_ns1__scsInputParams(struct soap *soap, struct ns1__scsInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__scsInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__signatureInputParams(struct soap *soap, struct ns1__signatureInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->wordlength);
+	soap_default_int(soap, &a->bothstrand);
+	soap_default_int(soap, &a->oe);
+	soap_default_string(soap, &a->seq);
+	soap_default_string(soap, &a->memo);
+	soap_default_int(soap, &a->header);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__signatureInputParams(struct soap *soap, const struct ns1__signatureInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->seq);
+	soap_serialize_string(soap, &a->memo);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__signatureInputParams(struct soap *soap, const char *tag, int id, const struct ns1__signatureInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__signatureInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "wordlength", -1, &a->wordlength, ""))
+		return soap->error;
+	if (soap_out_int(soap, "bothstrand", -1, &a->bothstrand, ""))
+		return soap->error;
+	if (soap_out_int(soap, "oe", -1, &a->oe, ""))
+		return soap->error;
+	if (a->seq)
+	{	if (soap_out_string(soap, "seq", -1, &a->seq, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "seq"))
+		return soap->error;
+	if (a->memo)
+	{	if (soap_out_string(soap, "memo", -1, &a->memo, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "memo"))
+		return soap->error;
+	if (soap_out_int(soap, "header", -1, &a->header, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__signatureInputParams * SOAP_FMAC4 soap_in_ns1__signatureInputParams(struct soap *soap, const char *tag, struct ns1__signatureInputParams *a, const char *type)
+{
+	size_t soap_flag_wordlength = 1;
+	size_t soap_flag_bothstrand = 1;
+	size_t soap_flag_oe = 1;
+	size_t soap_flag_seq = 1;
+	size_t soap_flag_memo = 1;
+	size_t soap_flag_header = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__signatureInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__signatureInputParams, sizeof(struct ns1__signatureInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__signatureInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_wordlength && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "wordlength", &a->wordlength, "xsd:int"))
+				{	soap_flag_wordlength--;
+					continue;
+				}
+			if (soap_flag_bothstrand && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "bothstrand", &a->bothstrand, "xsd:int"))
+				{	soap_flag_bothstrand--;
+					continue;
+				}
+			if (soap_flag_oe && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "oe", &a->oe, "xsd:int"))
+				{	soap_flag_oe--;
+					continue;
+				}
+			if (soap_flag_seq && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "seq", &a->seq, "xsd:string"))
+				{	soap_flag_seq--;
+					continue;
+				}
+			if (soap_flag_memo && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "memo", &a->memo, "xsd:string"))
+				{	soap_flag_memo--;
+					continue;
+				}
+			if (soap_flag_header && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "header", &a->header, "xsd:int"))
+				{	soap_flag_header--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__signatureInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__signatureInputParams, 0, sizeof(struct ns1__signatureInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_wordlength > 0 || soap_flag_bothstrand > 0 || soap_flag_oe > 0 || soap_flag_seq > 0 || soap_flag_memo > 0 || soap_flag_header > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__signatureInputParams(struct soap *soap, const struct ns1__signatureInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__signatureInputParams);
+	if (soap_out_ns1__signatureInputParams(soap, tag?tag:"ns1:signatureInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__signatureInputParams * SOAP_FMAC4 soap_get_ns1__signatureInputParams(struct soap *soap, struct ns1__signatureInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__signatureInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__lda_USCOREbiasInputParams(struct soap *soap, struct ns1__lda_USCOREbiasInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->variable);
+	soap_default_int(soap, &a->coefficients);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__lda_USCOREbiasInputParams(struct soap *soap, const struct ns1__lda_USCOREbiasInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->variable);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__lda_USCOREbiasInputParams(struct soap *soap, const char *tag, int id, const struct ns1__lda_USCOREbiasInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__lda_USCOREbiasInputParams), type))
+		return soap->error;
+	if (a->variable)
+	{	if (soap_out_string(soap, "variable", -1, &a->variable, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "variable"))
+		return soap->error;
+	if (soap_out_int(soap, "coefficients", -1, &a->coefficients, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__lda_USCOREbiasInputParams * SOAP_FMAC4 soap_in_ns1__lda_USCOREbiasInputParams(struct soap *soap, const char *tag, struct ns1__lda_USCOREbiasInputParams *a, const char *type)
+{
+	size_t soap_flag_variable = 1;
+	size_t soap_flag_coefficients = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__lda_USCOREbiasInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__lda_USCOREbiasInputParams, sizeof(struct ns1__lda_USCOREbiasInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__lda_USCOREbiasInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_variable && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "variable", &a->variable, "xsd:string"))
+				{	soap_flag_variable--;
+					continue;
+				}
+			if (soap_flag_coefficients && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "coefficients", &a->coefficients, "xsd:int"))
+				{	soap_flag_coefficients--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__lda_USCOREbiasInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__lda_USCOREbiasInputParams, 0, sizeof(struct ns1__lda_USCOREbiasInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_variable > 0 || soap_flag_coefficients > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__lda_USCOREbiasInputParams(struct soap *soap, const struct ns1__lda_USCOREbiasInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__lda_USCOREbiasInputParams);
+	if (soap_out_ns1__lda_USCOREbiasInputParams(soap, tag?tag:"ns1:lda_biasInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__lda_USCOREbiasInputParams * SOAP_FMAC4 soap_get_ns1__lda_USCOREbiasInputParams(struct soap *soap, struct ns1__lda_USCOREbiasInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__lda_USCOREbiasInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__kmer_USCOREtableInputParams(struct soap *soap, struct ns1__kmer_USCOREtableInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->k);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__kmer_USCOREtableInputParams(struct soap *soap, const struct ns1__kmer_USCOREtableInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__kmer_USCOREtableInputParams(struct soap *soap, const char *tag, int id, const struct ns1__kmer_USCOREtableInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__kmer_USCOREtableInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "k", -1, &a->k, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__kmer_USCOREtableInputParams * SOAP_FMAC4 soap_in_ns1__kmer_USCOREtableInputParams(struct soap *soap, const char *tag, struct ns1__kmer_USCOREtableInputParams *a, const char *type)
+{
+	size_t soap_flag_k = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__kmer_USCOREtableInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__kmer_USCOREtableInputParams, sizeof(struct ns1__kmer_USCOREtableInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__kmer_USCOREtableInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_k && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "k", &a->k, "xsd:int"))
+				{	soap_flag_k--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__kmer_USCOREtableInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__kmer_USCOREtableInputParams, 0, sizeof(struct ns1__kmer_USCOREtableInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_k > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__kmer_USCOREtableInputParams(struct soap *soap, const struct ns1__kmer_USCOREtableInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__kmer_USCOREtableInputParams);
+	if (soap_out_ns1__kmer_USCOREtableInputParams(soap, tag?tag:"ns1:kmer_tableInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__kmer_USCOREtableInputParams * SOAP_FMAC4 soap_get_ns1__kmer_USCOREtableInputParams(struct soap *soap, struct ns1__kmer_USCOREtableInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__kmer_USCOREtableInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREz_USCOREvalueInputParams(struct soap *soap, struct ns1__base_USCOREz_USCOREvalueInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->limit);
+	soap_default_string(soap, &a->position);
+	soap_default_int(soap, &a->PatLen);
+	soap_default_int(soap, &a->upstream);
+	soap_default_int(soap, &a->downstream);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREz_USCOREvalueInputParams(struct soap *soap, const struct ns1__base_USCOREz_USCOREvalueInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->position);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREz_USCOREvalueInputParams(struct soap *soap, const char *tag, int id, const struct ns1__base_USCOREz_USCOREvalueInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__base_USCOREz_USCOREvalueInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "limit", -1, &a->limit, ""))
+		return soap->error;
+	if (a->position)
+	{	if (soap_out_string(soap, "position", -1, &a->position, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "position"))
+		return soap->error;
+	if (soap_out_int(soap, "PatLen", -1, &a->PatLen, ""))
+		return soap->error;
+	if (soap_out_int(soap, "upstream", -1, &a->upstream, ""))
+		return soap->error;
+	if (soap_out_int(soap, "downstream", -1, &a->downstream, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREz_USCOREvalueInputParams * SOAP_FMAC4 soap_in_ns1__base_USCOREz_USCOREvalueInputParams(struct soap *soap, const char *tag, struct ns1__base_USCOREz_USCOREvalueInputParams *a, const char *type)
+{
+	size_t soap_flag_limit = 1;
+	size_t soap_flag_position = 1;
+	size_t soap_flag_PatLen = 1;
+	size_t soap_flag_upstream = 1;
+	size_t soap_flag_downstream = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__base_USCOREz_USCOREvalueInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__base_USCOREz_USCOREvalueInputParams, sizeof(struct ns1__base_USCOREz_USCOREvalueInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__base_USCOREz_USCOREvalueInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_limit && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "limit", &a->limit, "xsd:int"))
+				{	soap_flag_limit--;
+					continue;
+				}
+			if (soap_flag_position && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "position", &a->position, "xsd:string"))
+				{	soap_flag_position--;
+					continue;
+				}
+			if (soap_flag_PatLen && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "PatLen", &a->PatLen, "xsd:int"))
+				{	soap_flag_PatLen--;
+					continue;
+				}
+			if (soap_flag_upstream && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "upstream", &a->upstream, "xsd:int"))
+				{	soap_flag_upstream--;
+					continue;
+				}
+			if (soap_flag_downstream && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "downstream", &a->downstream, "xsd:int"))
+				{	soap_flag_downstream--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__base_USCOREz_USCOREvalueInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__base_USCOREz_USCOREvalueInputParams, 0, sizeof(struct ns1__base_USCOREz_USCOREvalueInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_limit > 0 || soap_flag_position > 0 || soap_flag_PatLen > 0 || soap_flag_upstream > 0 || soap_flag_downstream > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREz_USCOREvalueInputParams(struct soap *soap, const struct ns1__base_USCOREz_USCOREvalueInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__base_USCOREz_USCOREvalueInputParams);
+	if (soap_out_ns1__base_USCOREz_USCOREvalueInputParams(soap, tag?tag:"ns1:base_z_valueInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREz_USCOREvalueInputParams * SOAP_FMAC4 soap_get_ns1__base_USCOREz_USCOREvalueInputParams(struct soap *soap, struct ns1__base_USCOREz_USCOREvalueInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__base_USCOREz_USCOREvalueInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREcounterInputParams(struct soap *soap, struct ns1__base_USCOREcounterInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->position);
+	soap_default_int(soap, &a->PatLen);
+	soap_default_int(soap, &a->upstream);
+	soap_default_int(soap, &a->downstream);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREcounterInputParams(struct soap *soap, const struct ns1__base_USCOREcounterInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->position);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREcounterInputParams(struct soap *soap, const char *tag, int id, const struct ns1__base_USCOREcounterInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__base_USCOREcounterInputParams), type))
+		return soap->error;
+	if (a->position)
+	{	if (soap_out_string(soap, "position", -1, &a->position, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "position"))
+		return soap->error;
+	if (soap_out_int(soap, "PatLen", -1, &a->PatLen, ""))
+		return soap->error;
+	if (soap_out_int(soap, "upstream", -1, &a->upstream, ""))
+		return soap->error;
+	if (soap_out_int(soap, "downstream", -1, &a->downstream, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREcounterInputParams * SOAP_FMAC4 soap_in_ns1__base_USCOREcounterInputParams(struct soap *soap, const char *tag, struct ns1__base_USCOREcounterInputParams *a, const char *type)
+{
+	size_t soap_flag_position = 1;
+	size_t soap_flag_PatLen = 1;
+	size_t soap_flag_upstream = 1;
+	size_t soap_flag_downstream = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__base_USCOREcounterInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__base_USCOREcounterInputParams, sizeof(struct ns1__base_USCOREcounterInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__base_USCOREcounterInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_position && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "position", &a->position, "xsd:string"))
+				{	soap_flag_position--;
+					continue;
+				}
+			if (soap_flag_PatLen && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "PatLen", &a->PatLen, "xsd:int"))
+				{	soap_flag_PatLen--;
+					continue;
+				}
+			if (soap_flag_upstream && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "upstream", &a->upstream, "xsd:int"))
+				{	soap_flag_upstream--;
+					continue;
+				}
+			if (soap_flag_downstream && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "downstream", &a->downstream, "xsd:int"))
+				{	soap_flag_downstream--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__base_USCOREcounterInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__base_USCOREcounterInputParams, 0, sizeof(struct ns1__base_USCOREcounterInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_position > 0 || soap_flag_PatLen > 0 || soap_flag_upstream > 0 || soap_flag_downstream > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREcounterInputParams(struct soap *soap, const struct ns1__base_USCOREcounterInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__base_USCOREcounterInputParams);
+	if (soap_out_ns1__base_USCOREcounterInputParams(soap, tag?tag:"ns1:base_counterInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREcounterInputParams * SOAP_FMAC4 soap_get_ns1__base_USCOREcounterInputParams(struct soap *soap, struct ns1__base_USCOREcounterInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__base_USCOREcounterInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__B1InputParams(struct soap *soap, struct ns1__B1InputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->method);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__B1InputParams(struct soap *soap, const struct ns1__B1InputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->method);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__B1InputParams(struct soap *soap, const char *tag, int id, const struct ns1__B1InputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__B1InputParams), type))
+		return soap->error;
+	if (a->method)
+	{	if (soap_out_string(soap, "method", -1, &a->method, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "method"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__B1InputParams * SOAP_FMAC4 soap_in_ns1__B1InputParams(struct soap *soap, const char *tag, struct ns1__B1InputParams *a, const char *type)
+{
+	size_t soap_flag_method = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__B1InputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__B1InputParams, sizeof(struct ns1__B1InputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__B1InputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_method && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "method", &a->method, "xsd:string"))
+				{	soap_flag_method--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__B1InputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__B1InputParams, 0, sizeof(struct ns1__B1InputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_method > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__B1InputParams(struct soap *soap, const struct ns1__B1InputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__B1InputParams);
+	if (soap_out_ns1__B1InputParams(soap, tag?tag:"ns1:B1InputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__B1InputParams * SOAP_FMAC4 soap_get_ns1__B1InputParams(struct soap *soap, struct ns1__B1InputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__B1InputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__cgrInputParams(struct soap *soap, struct ns1__cgrInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->width);
+	soap_default_int(soap, &a->level);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__cgrInputParams(struct soap *soap, const struct ns1__cgrInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__cgrInputParams(struct soap *soap, const char *tag, int id, const struct ns1__cgrInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__cgrInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "width", -1, &a->width, ""))
+		return soap->error;
+	if (soap_out_int(soap, "level", -1, &a->level, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__cgrInputParams * SOAP_FMAC4 soap_in_ns1__cgrInputParams(struct soap *soap, const char *tag, struct ns1__cgrInputParams *a, const char *type)
+{
+	size_t soap_flag_width = 1;
+	size_t soap_flag_level = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__cgrInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__cgrInputParams, sizeof(struct ns1__cgrInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__cgrInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_width && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "width", &a->width, "xsd:int"))
+				{	soap_flag_width--;
+					continue;
+				}
+			if (soap_flag_level && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "level", &a->level, "xsd:int"))
+				{	soap_flag_level--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__cgrInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__cgrInputParams, 0, sizeof(struct ns1__cgrInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_width > 0 || soap_flag_level > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__cgrInputParams(struct soap *soap, const struct ns1__cgrInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__cgrInputParams);
+	if (soap_out_ns1__cgrInputParams(soap, tag?tag:"ns1:cgrInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__cgrInputParams * SOAP_FMAC4 soap_get_ns1__cgrInputParams(struct soap *soap, struct ns1__cgrInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__cgrInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__dinucInputParams(struct soap *soap, struct ns1__dinucInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->position);
+	soap_default_string(soap, &a->id);
+	soap_default_string(soap, &a->output);
+	soap_default_int(soap, &a->translate);
+	soap_default_string(soap, &a->del_USCOREkey);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__dinucInputParams(struct soap *soap, const struct ns1__dinucInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->position);
+	soap_serialize_string(soap, &a->id);
+	soap_serialize_string(soap, &a->output);
+	soap_serialize_string(soap, &a->del_USCOREkey);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__dinucInputParams(struct soap *soap, const char *tag, int id, const struct ns1__dinucInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__dinucInputParams), type))
+		return soap->error;
+	if (a->position)
+	{	if (soap_out_string(soap, "position", -1, &a->position, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "position"))
+		return soap->error;
+	if (a->id)
+	{	if (soap_out_string(soap, "id", -1, &a->id, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "id"))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	if (soap_out_int(soap, "translate", -1, &a->translate, ""))
+		return soap->error;
+	if (a->del_USCOREkey)
+	{	if (soap_out_string(soap, "del_key", -1, &a->del_USCOREkey, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "del_key"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__dinucInputParams * SOAP_FMAC4 soap_in_ns1__dinucInputParams(struct soap *soap, const char *tag, struct ns1__dinucInputParams *a, const char *type)
+{
+	size_t soap_flag_position = 1;
+	size_t soap_flag_id = 1;
+	size_t soap_flag_output = 1;
+	size_t soap_flag_translate = 1;
+	size_t soap_flag_del_USCOREkey = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__dinucInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__dinucInputParams, sizeof(struct ns1__dinucInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__dinucInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_position && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "position", &a->position, "xsd:string"))
+				{	soap_flag_position--;
+					continue;
+				}
+			if (soap_flag_id && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "id", &a->id, "xsd:string"))
+				{	soap_flag_id--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap_flag_translate && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "translate", &a->translate, "xsd:int"))
+				{	soap_flag_translate--;
+					continue;
+				}
+			if (soap_flag_del_USCOREkey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "del_key", &a->del_USCOREkey, "xsd:string"))
+				{	soap_flag_del_USCOREkey--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__dinucInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__dinucInputParams, 0, sizeof(struct ns1__dinucInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_position > 0 || soap_flag_id > 0 || soap_flag_output > 0 || soap_flag_translate > 0 || soap_flag_del_USCOREkey > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__dinucInputParams(struct soap *soap, const struct ns1__dinucInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__dinucInputParams);
+	if (soap_out_ns1__dinucInputParams(soap, tag?tag:"ns1:dinucInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__dinucInputParams * SOAP_FMAC4 soap_get_ns1__dinucInputParams(struct soap *soap, struct ns1__dinucInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__dinucInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__caiInputParams(struct soap *soap, struct ns1__caiInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->w_USCOREoutput);
+	soap_default_int(soap, &a->translate);
+	soap_default_string(soap, &a->output);
+	soap_default_string(soap, &a->w_USCOREfilename);
+	soap_default_string(soap, &a->w_USCOREabsent);
+	soap_default_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__caiInputParams(struct soap *soap, const struct ns1__caiInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->w_USCOREoutput);
+	soap_serialize_string(soap, &a->output);
+	soap_serialize_string(soap, &a->w_USCOREfilename);
+	soap_serialize_string(soap, &a->w_USCOREabsent);
+	soap_serialize_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__caiInputParams(struct soap *soap, const char *tag, int id, const struct ns1__caiInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__caiInputParams), type))
+		return soap->error;
+	if (a->w_USCOREoutput)
+	{	if (soap_out_string(soap, "w_output", -1, &a->w_USCOREoutput, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "w_output"))
+		return soap->error;
+	if (soap_out_int(soap, "translate", -1, &a->translate, ""))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	if (a->w_USCOREfilename)
+	{	if (soap_out_string(soap, "w_filename", -1, &a->w_USCOREfilename, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "w_filename"))
+		return soap->error;
+	if (a->w_USCOREabsent)
+	{	if (soap_out_string(soap, "w_absent", -1, &a->w_USCOREabsent, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "w_absent"))
+		return soap->error;
+	if (a->tag)
+	{	if (soap_out_string(soap, "tag", -1, &a->tag, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "tag"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__caiInputParams * SOAP_FMAC4 soap_in_ns1__caiInputParams(struct soap *soap, const char *tag, struct ns1__caiInputParams *a, const char *type)
+{
+	size_t soap_flag_w_USCOREoutput = 1;
+	size_t soap_flag_translate = 1;
+	size_t soap_flag_output = 1;
+	size_t soap_flag_w_USCOREfilename = 1;
+	size_t soap_flag_w_USCOREabsent = 1;
+	size_t soap_flag_tag = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__caiInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__caiInputParams, sizeof(struct ns1__caiInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__caiInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_w_USCOREoutput && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "w_output", &a->w_USCOREoutput, "xsd:string"))
+				{	soap_flag_w_USCOREoutput--;
+					continue;
+				}
+			if (soap_flag_translate && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "translate", &a->translate, "xsd:int"))
+				{	soap_flag_translate--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap_flag_w_USCOREfilename && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "w_filename", &a->w_USCOREfilename, "xsd:string"))
+				{	soap_flag_w_USCOREfilename--;
+					continue;
+				}
+			if (soap_flag_w_USCOREabsent && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "w_absent", &a->w_USCOREabsent, "xsd:string"))
+				{	soap_flag_w_USCOREabsent--;
+					continue;
+				}
+			if (soap_flag_tag && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "tag", &a->tag, "xsd:string"))
+				{	soap_flag_tag--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__caiInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__caiInputParams, 0, sizeof(struct ns1__caiInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_w_USCOREoutput > 0 || soap_flag_translate > 0 || soap_flag_output > 0 || soap_flag_w_USCOREfilename > 0 || soap_flag_w_USCOREabsent > 0 || soap_flag_tag > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__caiInputParams(struct soap *soap, const struct ns1__caiInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__caiInputParams);
+	if (soap_out_ns1__caiInputParams(soap, tag?tag:"ns1:caiInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__caiInputParams * SOAP_FMAC4 soap_get_ns1__caiInputParams(struct soap *soap, struct ns1__caiInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__caiInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap *soap, struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->upstream);
+	soap_default_string(soap, &a->codon);
+	soap_default_int(soap, &a->downstream);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap *soap, const struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->codon);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap *soap, const char *tag, int id, const struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "upstream", -1, &a->upstream, ""))
+		return soap->error;
+	if (a->codon)
+	{	if (soap_out_string(soap, "codon", -1, &a->codon, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "codon"))
+		return soap->error;
+	if (soap_out_int(soap, "downstream", -1, &a->downstream, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams * SOAP_FMAC4 soap_in_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap *soap, const char *tag, struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *a, const char *type)
+{
+	size_t soap_flag_upstream = 1;
+	size_t soap_flag_codon = 1;
+	size_t soap_flag_downstream = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams, sizeof(struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_upstream && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "upstream", &a->upstream, "xsd:int"))
+				{	soap_flag_upstream--;
+					continue;
+				}
+			if (soap_flag_codon && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "codon", &a->codon, "xsd:string"))
+				{	soap_flag_codon--;
+					continue;
+				}
+			if (soap_flag_downstream && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "downstream", &a->downstream, "xsd:int"))
+				{	soap_flag_downstream--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams, 0, sizeof(struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_upstream > 0 || soap_flag_codon > 0 || soap_flag_downstream > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap *soap, const struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams);
+	if (soap_out_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, tag?tag:"ns1:filter_cds_by_atgInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams * SOAP_FMAC4 soap_get_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap *soap, struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__gcsiInputParams(struct soap *soap, struct ns1__gcsiInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->p);
+	soap_default_int(soap, &a->window);
+	soap_default_int(soap, &a->version);
+	soap_default_int(soap, &a->purine);
+	soap_default_int(soap, &a->at);
+	soap_default_int(soap, &a->keto);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__gcsiInputParams(struct soap *soap, const struct ns1__gcsiInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__gcsiInputParams(struct soap *soap, const char *tag, int id, const struct ns1__gcsiInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__gcsiInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "p", -1, &a->p, ""))
+		return soap->error;
+	if (soap_out_int(soap, "window", -1, &a->window, ""))
+		return soap->error;
+	if (soap_out_int(soap, "version", -1, &a->version, ""))
+		return soap->error;
+	if (soap_out_int(soap, "purine", -1, &a->purine, ""))
+		return soap->error;
+	if (soap_out_int(soap, "at", -1, &a->at, ""))
+		return soap->error;
+	if (soap_out_int(soap, "keto", -1, &a->keto, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__gcsiInputParams * SOAP_FMAC4 soap_in_ns1__gcsiInputParams(struct soap *soap, const char *tag, struct ns1__gcsiInputParams *a, const char *type)
+{
+	size_t soap_flag_p = 1;
+	size_t soap_flag_window = 1;
+	size_t soap_flag_version = 1;
+	size_t soap_flag_purine = 1;
+	size_t soap_flag_at = 1;
+	size_t soap_flag_keto = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__gcsiInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__gcsiInputParams, sizeof(struct ns1__gcsiInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__gcsiInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_p && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "p", &a->p, "xsd:int"))
+				{	soap_flag_p--;
+					continue;
+				}
+			if (soap_flag_window && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "window", &a->window, "xsd:int"))
+				{	soap_flag_window--;
+					continue;
+				}
+			if (soap_flag_version && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "version", &a->version, "xsd:int"))
+				{	soap_flag_version--;
+					continue;
+				}
+			if (soap_flag_purine && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "purine", &a->purine, "xsd:int"))
+				{	soap_flag_purine--;
+					continue;
+				}
+			if (soap_flag_at && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "at", &a->at, "xsd:int"))
+				{	soap_flag_at--;
+					continue;
+				}
+			if (soap_flag_keto && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "keto", &a->keto, "xsd:int"))
+				{	soap_flag_keto--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__gcsiInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__gcsiInputParams, 0, sizeof(struct ns1__gcsiInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_p > 0 || soap_flag_window > 0 || soap_flag_version > 0 || soap_flag_purine > 0 || soap_flag_at > 0 || soap_flag_keto > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__gcsiInputParams(struct soap *soap, const struct ns1__gcsiInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__gcsiInputParams);
+	if (soap_out_ns1__gcsiInputParams(soap, tag?tag:"ns1:gcsiInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__gcsiInputParams * SOAP_FMAC4 soap_get_ns1__gcsiInputParams(struct soap *soap, struct ns1__gcsiInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__gcsiInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__query_USCOREstrandInputParams(struct soap *soap, struct ns1__query_USCOREstrandInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->direction);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__query_USCOREstrandInputParams(struct soap *soap, const struct ns1__query_USCOREstrandInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->direction);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__query_USCOREstrandInputParams(struct soap *soap, const char *tag, int id, const struct ns1__query_USCOREstrandInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__query_USCOREstrandInputParams), type))
+		return soap->error;
+	if (a->direction)
+	{	if (soap_out_string(soap, "direction", -1, &a->direction, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "direction"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__query_USCOREstrandInputParams * SOAP_FMAC4 soap_in_ns1__query_USCOREstrandInputParams(struct soap *soap, const char *tag, struct ns1__query_USCOREstrandInputParams *a, const char *type)
+{
+	size_t soap_flag_direction = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__query_USCOREstrandInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__query_USCOREstrandInputParams, sizeof(struct ns1__query_USCOREstrandInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__query_USCOREstrandInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_direction && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "direction", &a->direction, "xsd:string"))
+				{	soap_flag_direction--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__query_USCOREstrandInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__query_USCOREstrandInputParams, 0, sizeof(struct ns1__query_USCOREstrandInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_direction > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__query_USCOREstrandInputParams(struct soap *soap, const struct ns1__query_USCOREstrandInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__query_USCOREstrandInputParams);
+	if (soap_out_ns1__query_USCOREstrandInputParams(soap, tag?tag:"ns1:query_strandInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__query_USCOREstrandInputParams * SOAP_FMAC4 soap_get_ns1__query_USCOREstrandInputParams(struct soap *soap, struct ns1__query_USCOREstrandInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__query_USCOREstrandInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genomicskewInputParams(struct soap *soap, struct ns1__genomicskewInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->divide);
+	soap_default_int(soap, &a->at);
+	soap_default_string(soap, &a->output);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genomicskewInputParams(struct soap *soap, const struct ns1__genomicskewInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genomicskewInputParams(struct soap *soap, const char *tag, int id, const struct ns1__genomicskewInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__genomicskewInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "divide", -1, &a->divide, ""))
+		return soap->error;
+	if (soap_out_int(soap, "at", -1, &a->at, ""))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__genomicskewInputParams * SOAP_FMAC4 soap_in_ns1__genomicskewInputParams(struct soap *soap, const char *tag, struct ns1__genomicskewInputParams *a, const char *type)
+{
+	size_t soap_flag_divide = 1;
+	size_t soap_flag_at = 1;
+	size_t soap_flag_output = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__genomicskewInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__genomicskewInputParams, sizeof(struct ns1__genomicskewInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__genomicskewInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_divide && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "divide", &a->divide, "xsd:int"))
+				{	soap_flag_divide--;
+					continue;
+				}
+			if (soap_flag_at && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "at", &a->at, "xsd:int"))
+				{	soap_flag_at--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__genomicskewInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__genomicskewInputParams, 0, sizeof(struct ns1__genomicskewInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_divide > 0 || soap_flag_at > 0 || soap_flag_output > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genomicskewInputParams(struct soap *soap, const struct ns1__genomicskewInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__genomicskewInputParams);
+	if (soap_out_ns1__genomicskewInputParams(soap, tag?tag:"ns1:genomicskewInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__genomicskewInputParams * SOAP_FMAC4 soap_get_ns1__genomicskewInputParams(struct soap *soap, struct ns1__genomicskewInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__genomicskewInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__palindromeInputParams(struct soap *soap, struct ns1__palindromeInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->gtmatch);
+	soap_default_string(soap, &a->output);
+	soap_default_int(soap, &a->loop);
+	soap_default_int(soap, &a->shortest);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__palindromeInputParams(struct soap *soap, const struct ns1__palindromeInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__palindromeInputParams(struct soap *soap, const char *tag, int id, const struct ns1__palindromeInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__palindromeInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "gtmatch", -1, &a->gtmatch, ""))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	if (soap_out_int(soap, "loop", -1, &a->loop, ""))
+		return soap->error;
+	if (soap_out_int(soap, "shortest", -1, &a->shortest, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__palindromeInputParams * SOAP_FMAC4 soap_in_ns1__palindromeInputParams(struct soap *soap, const char *tag, struct ns1__palindromeInputParams *a, const char *type)
+{
+	size_t soap_flag_gtmatch = 1;
+	size_t soap_flag_output = 1;
+	size_t soap_flag_loop = 1;
+	size_t soap_flag_shortest = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__palindromeInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__palindromeInputParams, sizeof(struct ns1__palindromeInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__palindromeInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_gtmatch && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "gtmatch", &a->gtmatch, "xsd:int"))
+				{	soap_flag_gtmatch--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap_flag_loop && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "loop", &a->loop, "xsd:int"))
+				{	soap_flag_loop--;
+					continue;
+				}
+			if (soap_flag_shortest && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "shortest", &a->shortest, "xsd:int"))
+				{	soap_flag_shortest--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__palindromeInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__palindromeInputParams, 0, sizeof(struct ns1__palindromeInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_gtmatch > 0 || soap_flag_output > 0 || soap_flag_loop > 0 || soap_flag_shortest > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__palindromeInputParams(struct soap *soap, const struct ns1__palindromeInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__palindromeInputParams);
+	if (soap_out_ns1__palindromeInputParams(soap, tag?tag:"ns1:palindromeInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__palindromeInputParams * SOAP_FMAC4 soap_get_ns1__palindromeInputParams(struct soap *soap, struct ns1__palindromeInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__palindromeInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCORErelative_USCOREentropyInputParams(struct soap *soap, struct ns1__base_USCORErelative_USCOREentropyInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->upstream);
+	soap_default_string(soap, &a->position);
+	soap_default_int(soap, &a->downstream);
+	soap_default_string(soap, &a->output);
+	soap_default_int(soap, &a->PatLength);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCORErelative_USCOREentropyInputParams(struct soap *soap, const struct ns1__base_USCORErelative_USCOREentropyInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->position);
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCORErelative_USCOREentropyInputParams(struct soap *soap, const char *tag, int id, const struct ns1__base_USCORErelative_USCOREentropyInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "upstream", -1, &a->upstream, ""))
+		return soap->error;
+	if (a->position)
+	{	if (soap_out_string(soap, "position", -1, &a->position, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "position"))
+		return soap->error;
+	if (soap_out_int(soap, "downstream", -1, &a->downstream, ""))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	if (soap_out_int(soap, "PatLength", -1, &a->PatLength, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__base_USCORErelative_USCOREentropyInputParams * SOAP_FMAC4 soap_in_ns1__base_USCORErelative_USCOREentropyInputParams(struct soap *soap, const char *tag, struct ns1__base_USCORErelative_USCOREentropyInputParams *a, const char *type)
+{
+	size_t soap_flag_upstream = 1;
+	size_t soap_flag_position = 1;
+	size_t soap_flag_downstream = 1;
+	size_t soap_flag_output = 1;
+	size_t soap_flag_PatLength = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__base_USCORErelative_USCOREentropyInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyInputParams, sizeof(struct ns1__base_USCORErelative_USCOREentropyInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__base_USCORErelative_USCOREentropyInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_upstream && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "upstream", &a->upstream, "xsd:int"))
+				{	soap_flag_upstream--;
+					continue;
+				}
+			if (soap_flag_position && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "position", &a->position, "xsd:string"))
+				{	soap_flag_position--;
+					continue;
+				}
+			if (soap_flag_downstream && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "downstream", &a->downstream, "xsd:int"))
+				{	soap_flag_downstream--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap_flag_PatLength && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "PatLength", &a->PatLength, "xsd:int"))
+				{	soap_flag_PatLength--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__base_USCORErelative_USCOREentropyInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyInputParams, 0, sizeof(struct ns1__base_USCORErelative_USCOREentropyInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_upstream > 0 || soap_flag_position > 0 || soap_flag_downstream > 0 || soap_flag_output > 0 || soap_flag_PatLength > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCORErelative_USCOREentropyInputParams(struct soap *soap, const struct ns1__base_USCORErelative_USCOREentropyInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyInputParams);
+	if (soap_out_ns1__base_USCORErelative_USCOREentropyInputParams(soap, tag?tag:"ns1:base_relative_entropyInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__base_USCORErelative_USCOREentropyInputParams * SOAP_FMAC4 soap_get_ns1__base_USCORErelative_USCOREentropyInputParams(struct soap *soap, struct ns1__base_USCORErelative_USCOREentropyInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__base_USCORErelative_USCOREentropyInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__view_USCOREcdsInputParams(struct soap *soap, struct ns1__view_USCOREcdsInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->length);
+	soap_default_int(soap, &a->gap);
+	soap_default_string(soap, &a->output);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__view_USCOREcdsInputParams(struct soap *soap, const struct ns1__view_USCOREcdsInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__view_USCOREcdsInputParams(struct soap *soap, const char *tag, int id, const struct ns1__view_USCOREcdsInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__view_USCOREcdsInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "length", -1, &a->length, ""))
+		return soap->error;
+	if (soap_out_int(soap, "gap", -1, &a->gap, ""))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__view_USCOREcdsInputParams * SOAP_FMAC4 soap_in_ns1__view_USCOREcdsInputParams(struct soap *soap, const char *tag, struct ns1__view_USCOREcdsInputParams *a, const char *type)
+{
+	size_t soap_flag_length = 1;
+	size_t soap_flag_gap = 1;
+	size_t soap_flag_output = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__view_USCOREcdsInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__view_USCOREcdsInputParams, sizeof(struct ns1__view_USCOREcdsInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__view_USCOREcdsInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_length && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "length", &a->length, "xsd:int"))
+				{	soap_flag_length--;
+					continue;
+				}
+			if (soap_flag_gap && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "gap", &a->gap, "xsd:int"))
+				{	soap_flag_gap--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__view_USCOREcdsInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__view_USCOREcdsInputParams, 0, sizeof(struct ns1__view_USCOREcdsInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_length > 0 || soap_flag_gap > 0 || soap_flag_output > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__view_USCOREcdsInputParams(struct soap *soap, const struct ns1__view_USCOREcdsInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__view_USCOREcdsInputParams);
+	if (soap_out_ns1__view_USCOREcdsInputParams(soap, tag?tag:"ns1:view_cdsInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__view_USCOREcdsInputParams * SOAP_FMAC4 soap_get_ns1__view_USCOREcdsInputParams(struct soap *soap, struct ns1__view_USCOREcdsInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__view_USCOREcdsInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREcounterInputParams(struct soap *soap, struct ns1__codon_USCOREcounterInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->CDSid);
+	soap_default_string(soap, &a->output);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREcounterInputParams(struct soap *soap, const struct ns1__codon_USCOREcounterInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->CDSid);
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREcounterInputParams(struct soap *soap, const char *tag, int id, const struct ns1__codon_USCOREcounterInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__codon_USCOREcounterInputParams), type))
+		return soap->error;
+	if (a->CDSid)
+	{	if (soap_out_string(soap, "CDSid", -1, &a->CDSid, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "CDSid"))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREcounterInputParams * SOAP_FMAC4 soap_in_ns1__codon_USCOREcounterInputParams(struct soap *soap, const char *tag, struct ns1__codon_USCOREcounterInputParams *a, const char *type)
+{
+	size_t soap_flag_CDSid = 1;
+	size_t soap_flag_output = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__codon_USCOREcounterInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__codon_USCOREcounterInputParams, sizeof(struct ns1__codon_USCOREcounterInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__codon_USCOREcounterInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_CDSid && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "CDSid", &a->CDSid, "xsd:string"))
+				{	soap_flag_CDSid--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__codon_USCOREcounterInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__codon_USCOREcounterInputParams, 0, sizeof(struct ns1__codon_USCOREcounterInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_CDSid > 0 || soap_flag_output > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREcounterInputParams(struct soap *soap, const struct ns1__codon_USCOREcounterInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__codon_USCOREcounterInputParams);
+	if (soap_out_ns1__codon_USCOREcounterInputParams(soap, tag?tag:"ns1:codon_counterInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREcounterInputParams * SOAP_FMAC4 soap_get_ns1__codon_USCOREcounterInputParams(struct soap *soap, struct ns1__codon_USCOREcounterInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__codon_USCOREcounterInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__EwInputParams(struct soap *soap, struct ns1__EwInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->translate);
+	soap_default_string(soap, &a->output);
+	soap_default_string(soap, &a->del_USCOREkey);
+	soap_default_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__EwInputParams(struct soap *soap, const struct ns1__EwInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->output);
+	soap_serialize_string(soap, &a->del_USCOREkey);
+	soap_serialize_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__EwInputParams(struct soap *soap, const char *tag, int id, const struct ns1__EwInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__EwInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "translate", -1, &a->translate, ""))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	if (a->del_USCOREkey)
+	{	if (soap_out_string(soap, "del_key", -1, &a->del_USCOREkey, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "del_key"))
+		return soap->error;
+	if (a->tag)
+	{	if (soap_out_string(soap, "tag", -1, &a->tag, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "tag"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__EwInputParams * SOAP_FMAC4 soap_in_ns1__EwInputParams(struct soap *soap, const char *tag, struct ns1__EwInputParams *a, const char *type)
+{
+	size_t soap_flag_translate = 1;
+	size_t soap_flag_output = 1;
+	size_t soap_flag_del_USCOREkey = 1;
+	size_t soap_flag_tag = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__EwInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__EwInputParams, sizeof(struct ns1__EwInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__EwInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_translate && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "translate", &a->translate, "xsd:int"))
+				{	soap_flag_translate--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap_flag_del_USCOREkey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "del_key", &a->del_USCOREkey, "xsd:string"))
+				{	soap_flag_del_USCOREkey--;
+					continue;
+				}
+			if (soap_flag_tag && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "tag", &a->tag, "xsd:string"))
+				{	soap_flag_tag--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__EwInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__EwInputParams, 0, sizeof(struct ns1__EwInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_translate > 0 || soap_flag_output > 0 || soap_flag_del_USCOREkey > 0 || soap_flag_tag > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__EwInputParams(struct soap *soap, const struct ns1__EwInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__EwInputParams);
+	if (soap_out_ns1__EwInputParams(soap, tag?tag:"ns1:EwInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__EwInputParams * SOAP_FMAC4 soap_get_ns1__EwInputParams(struct soap *soap, struct ns1__EwInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__EwInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREiteronInputParams(struct soap *soap, struct ns1__find_USCOREiteronInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->output);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREiteronInputParams(struct soap *soap, const struct ns1__find_USCOREiteronInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREiteronInputParams(struct soap *soap, const char *tag, int id, const struct ns1__find_USCOREiteronInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__find_USCOREiteronInputParams), type))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREiteronInputParams * SOAP_FMAC4 soap_in_ns1__find_USCOREiteronInputParams(struct soap *soap, const char *tag, struct ns1__find_USCOREiteronInputParams *a, const char *type)
+{
+	size_t soap_flag_output = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__find_USCOREiteronInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__find_USCOREiteronInputParams, sizeof(struct ns1__find_USCOREiteronInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__find_USCOREiteronInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREiteronInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__find_USCOREiteronInputParams, 0, sizeof(struct ns1__find_USCOREiteronInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_output > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREiteronInputParams(struct soap *soap, const struct ns1__find_USCOREiteronInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__find_USCOREiteronInputParams);
+	if (soap_out_ns1__find_USCOREiteronInputParams(soap, tag?tag:"ns1:find_iteronInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREiteronInputParams * SOAP_FMAC4 soap_get_ns1__find_USCOREiteronInputParams(struct soap *soap, struct ns1__find_USCOREiteronInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__find_USCOREiteronInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__over_USCORElapping_USCOREfinderInputParams(struct soap *soap, struct ns1__over_USCORElapping_USCOREfinderInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->output);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__over_USCORElapping_USCOREfinderInputParams(struct soap *soap, const struct ns1__over_USCORElapping_USCOREfinderInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__over_USCORElapping_USCOREfinderInputParams(struct soap *soap, const char *tag, int id, const struct ns1__over_USCORElapping_USCOREfinderInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderInputParams), type))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__over_USCORElapping_USCOREfinderInputParams * SOAP_FMAC4 soap_in_ns1__over_USCORElapping_USCOREfinderInputParams(struct soap *soap, const char *tag, struct ns1__over_USCORElapping_USCOREfinderInputParams *a, const char *type)
+{
+	size_t soap_flag_output = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__over_USCORElapping_USCOREfinderInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderInputParams, sizeof(struct ns1__over_USCORElapping_USCOREfinderInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__over_USCORElapping_USCOREfinderInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__over_USCORElapping_USCOREfinderInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderInputParams, 0, sizeof(struct ns1__over_USCORElapping_USCOREfinderInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_output > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__over_USCORElapping_USCOREfinderInputParams(struct soap *soap, const struct ns1__over_USCORElapping_USCOREfinderInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderInputParams);
+	if (soap_out_ns1__over_USCORElapping_USCOREfinderInputParams(soap, tag?tag:"ns1:over_lapping_finderInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__over_USCORElapping_USCOREfinderInputParams * SOAP_FMAC4 soap_get_ns1__over_USCORElapping_USCOREfinderInputParams(struct soap *soap, struct ns1__over_USCORElapping_USCOREfinderInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__over_USCORElapping_USCOREfinderInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREcompilerInputParams(struct soap *soap, struct ns1__codon_USCOREcompilerInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->translate);
+	soap_default_string(soap, &a->id);
+	soap_default_string(soap, &a->data);
+	soap_default_string(soap, &a->output);
+	soap_default_string(soap, &a->del_USCOREkey);
+	soap_default_int(soap, &a->startcodon);
+	soap_default_int(soap, &a->stopcodon);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREcompilerInputParams(struct soap *soap, const struct ns1__codon_USCOREcompilerInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->id);
+	soap_serialize_string(soap, &a->data);
+	soap_serialize_string(soap, &a->output);
+	soap_serialize_string(soap, &a->del_USCOREkey);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREcompilerInputParams(struct soap *soap, const char *tag, int id, const struct ns1__codon_USCOREcompilerInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__codon_USCOREcompilerInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "translate", -1, &a->translate, ""))
+		return soap->error;
+	if (a->id)
+	{	if (soap_out_string(soap, "id", -1, &a->id, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "id"))
+		return soap->error;
+	if (a->data)
+	{	if (soap_out_string(soap, "data", -1, &a->data, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "data"))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	if (a->del_USCOREkey)
+	{	if (soap_out_string(soap, "del_key", -1, &a->del_USCOREkey, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "del_key"))
+		return soap->error;
+	if (soap_out_int(soap, "startcodon", -1, &a->startcodon, ""))
+		return soap->error;
+	if (soap_out_int(soap, "stopcodon", -1, &a->stopcodon, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREcompilerInputParams * SOAP_FMAC4 soap_in_ns1__codon_USCOREcompilerInputParams(struct soap *soap, const char *tag, struct ns1__codon_USCOREcompilerInputParams *a, const char *type)
+{
+	size_t soap_flag_translate = 1;
+	size_t soap_flag_id = 1;
+	size_t soap_flag_data = 1;
+	size_t soap_flag_output = 1;
+	size_t soap_flag_del_USCOREkey = 1;
+	size_t soap_flag_startcodon = 1;
+	size_t soap_flag_stopcodon = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__codon_USCOREcompilerInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__codon_USCOREcompilerInputParams, sizeof(struct ns1__codon_USCOREcompilerInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__codon_USCOREcompilerInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_translate && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "translate", &a->translate, "xsd:int"))
+				{	soap_flag_translate--;
+					continue;
+				}
+			if (soap_flag_id && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "id", &a->id, "xsd:string"))
+				{	soap_flag_id--;
+					continue;
+				}
+			if (soap_flag_data && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "data", &a->data, "xsd:string"))
+				{	soap_flag_data--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap_flag_del_USCOREkey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "del_key", &a->del_USCOREkey, "xsd:string"))
+				{	soap_flag_del_USCOREkey--;
+					continue;
+				}
+			if (soap_flag_startcodon && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "startcodon", &a->startcodon, "xsd:int"))
+				{	soap_flag_startcodon--;
+					continue;
+				}
+			if (soap_flag_stopcodon && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "stopcodon", &a->stopcodon, "xsd:int"))
+				{	soap_flag_stopcodon--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__codon_USCOREcompilerInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__codon_USCOREcompilerInputParams, 0, sizeof(struct ns1__codon_USCOREcompilerInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_translate > 0 || soap_flag_id > 0 || soap_flag_data > 0 || soap_flag_output > 0 || soap_flag_del_USCOREkey > 0 || soap_flag_startcodon > 0 || soap_flag_stopcodon > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREcompilerInputParams(struct soap *soap, const struct ns1__codon_USCOREcompilerInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__codon_USCOREcompilerInputParams);
+	if (soap_out_ns1__codon_USCOREcompilerInputParams(soap, tag?tag:"ns1:codon_compilerInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREcompilerInputParams * SOAP_FMAC4 soap_get_ns1__codon_USCOREcompilerInputParams(struct soap *soap, struct ns1__codon_USCOREcompilerInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__codon_USCOREcompilerInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__aauiInputParams(struct soap *soap, struct ns1__aauiInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->id);
+	soap_default_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__aauiInputParams(struct soap *soap, const struct ns1__aauiInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->id);
+	soap_serialize_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__aauiInputParams(struct soap *soap, const char *tag, int id, const struct ns1__aauiInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__aauiInputParams), type))
+		return soap->error;
+	if (a->id)
+	{	if (soap_out_string(soap, "id", -1, &a->id, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "id"))
+		return soap->error;
+	if (a->tag)
+	{	if (soap_out_string(soap, "tag", -1, &a->tag, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "tag"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__aauiInputParams * SOAP_FMAC4 soap_in_ns1__aauiInputParams(struct soap *soap, const char *tag, struct ns1__aauiInputParams *a, const char *type)
+{
+	size_t soap_flag_id = 1;
+	size_t soap_flag_tag = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__aauiInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__aauiInputParams, sizeof(struct ns1__aauiInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__aauiInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_id && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "id", &a->id, "xsd:string"))
+				{	soap_flag_id--;
+					continue;
+				}
+			if (soap_flag_tag && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "tag", &a->tag, "xsd:string"))
+				{	soap_flag_tag--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__aauiInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__aauiInputParams, 0, sizeof(struct ns1__aauiInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_id > 0 || soap_flag_tag > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__aauiInputParams(struct soap *soap, const struct ns1__aauiInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__aauiInputParams);
+	if (soap_out_ns1__aauiInputParams(soap, tag?tag:"ns1:aauiInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__aauiInputParams * SOAP_FMAC4 soap_get_ns1__aauiInputParams(struct soap *soap, struct ns1__aauiInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__aauiInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__amino_USCOREcounterInputParams(struct soap *soap, struct ns1__amino_USCOREcounterInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->CDSid);
+	soap_default_string(soap, &a->output);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__amino_USCOREcounterInputParams(struct soap *soap, const struct ns1__amino_USCOREcounterInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->CDSid);
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__amino_USCOREcounterInputParams(struct soap *soap, const char *tag, int id, const struct ns1__amino_USCOREcounterInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__amino_USCOREcounterInputParams), type))
+		return soap->error;
+	if (a->CDSid)
+	{	if (soap_out_string(soap, "CDSid", -1, &a->CDSid, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "CDSid"))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__amino_USCOREcounterInputParams * SOAP_FMAC4 soap_in_ns1__amino_USCOREcounterInputParams(struct soap *soap, const char *tag, struct ns1__amino_USCOREcounterInputParams *a, const char *type)
+{
+	size_t soap_flag_CDSid = 1;
+	size_t soap_flag_output = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__amino_USCOREcounterInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__amino_USCOREcounterInputParams, sizeof(struct ns1__amino_USCOREcounterInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__amino_USCOREcounterInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_CDSid && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "CDSid", &a->CDSid, "xsd:string"))
+				{	soap_flag_CDSid--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__amino_USCOREcounterInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__amino_USCOREcounterInputParams, 0, sizeof(struct ns1__amino_USCOREcounterInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_CDSid > 0 || soap_flag_output > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__amino_USCOREcounterInputParams(struct soap *soap, const struct ns1__amino_USCOREcounterInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__amino_USCOREcounterInputParams);
+	if (soap_out_ns1__amino_USCOREcounterInputParams(soap, tag?tag:"ns1:amino_counterInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__amino_USCOREcounterInputParams * SOAP_FMAC4 soap_get_ns1__amino_USCOREcounterInputParams(struct soap *soap, struct ns1__amino_USCOREcounterInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__amino_USCOREcounterInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__seq2pngInputParams(struct soap *soap, struct ns1__seq2pngInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->width);
+	soap_default_int(soap, &a->window);
+	soap_default_string(soap, &a->output);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__seq2pngInputParams(struct soap *soap, const struct ns1__seq2pngInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__seq2pngInputParams(struct soap *soap, const char *tag, int id, const struct ns1__seq2pngInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__seq2pngInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "width", -1, &a->width, ""))
+		return soap->error;
+	if (soap_out_int(soap, "window", -1, &a->window, ""))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__seq2pngInputParams * SOAP_FMAC4 soap_in_ns1__seq2pngInputParams(struct soap *soap, const char *tag, struct ns1__seq2pngInputParams *a, const char *type)
+{
+	size_t soap_flag_width = 1;
+	size_t soap_flag_window = 1;
+	size_t soap_flag_output = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__seq2pngInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__seq2pngInputParams, sizeof(struct ns1__seq2pngInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__seq2pngInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_width && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "width", &a->width, "xsd:int"))
+				{	soap_flag_width--;
+					continue;
+				}
+			if (soap_flag_window && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "window", &a->window, "xsd:int"))
+				{	soap_flag_window--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__seq2pngInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__seq2pngInputParams, 0, sizeof(struct ns1__seq2pngInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_width > 0 || soap_flag_window > 0 || soap_flag_output > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__seq2pngInputParams(struct soap *soap, const struct ns1__seq2pngInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__seq2pngInputParams);
+	if (soap_out_ns1__seq2pngInputParams(soap, tag?tag:"ns1:seq2pngInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__seq2pngInputParams * SOAP_FMAC4 soap_get_ns1__seq2pngInputParams(struct soap *soap, struct ns1__seq2pngInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__seq2pngInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__ttestInputParams(struct soap *soap, struct ns1__ttestInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->paired);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__ttestInputParams(struct soap *soap, const struct ns1__ttestInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__ttestInputParams(struct soap *soap, const char *tag, int id, const struct ns1__ttestInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__ttestInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "paired", -1, &a->paired, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__ttestInputParams * SOAP_FMAC4 soap_in_ns1__ttestInputParams(struct soap *soap, const char *tag, struct ns1__ttestInputParams *a, const char *type)
+{
+	size_t soap_flag_paired = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__ttestInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__ttestInputParams, sizeof(struct ns1__ttestInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__ttestInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_paired && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "paired", &a->paired, "xsd:int"))
+				{	soap_flag_paired--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__ttestInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__ttestInputParams, 0, sizeof(struct ns1__ttestInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_paired > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__ttestInputParams(struct soap *soap, const struct ns1__ttestInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__ttestInputParams);
+	if (soap_out_ns1__ttestInputParams(soap, tag?tag:"ns1:ttestInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__ttestInputParams * SOAP_FMAC4 soap_get_ns1__ttestInputParams(struct soap *soap, struct ns1__ttestInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__ttestInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREdnaAboxInputParams(struct soap *soap, struct ns1__find_USCOREdnaAboxInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->output);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREdnaAboxInputParams(struct soap *soap, const struct ns1__find_USCOREdnaAboxInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREdnaAboxInputParams(struct soap *soap, const char *tag, int id, const struct ns1__find_USCOREdnaAboxInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__find_USCOREdnaAboxInputParams), type))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREdnaAboxInputParams * SOAP_FMAC4 soap_in_ns1__find_USCOREdnaAboxInputParams(struct soap *soap, const char *tag, struct ns1__find_USCOREdnaAboxInputParams *a, const char *type)
+{
+	size_t soap_flag_output = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__find_USCOREdnaAboxInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__find_USCOREdnaAboxInputParams, sizeof(struct ns1__find_USCOREdnaAboxInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__find_USCOREdnaAboxInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREdnaAboxInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__find_USCOREdnaAboxInputParams, 0, sizeof(struct ns1__find_USCOREdnaAboxInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_output > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREdnaAboxInputParams(struct soap *soap, const struct ns1__find_USCOREdnaAboxInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__find_USCOREdnaAboxInputParams);
+	if (soap_out_ns1__find_USCOREdnaAboxInputParams(soap, tag?tag:"ns1:find_dnaAboxInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREdnaAboxInputParams * SOAP_FMAC4 soap_get_ns1__find_USCOREdnaAboxInputParams(struct soap *soap, struct ns1__find_USCOREdnaAboxInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__find_USCOREdnaAboxInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREusageInputParams(struct soap *soap, struct ns1__codon_USCOREusageInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->version);
+	soap_default_string(soap, &a->CDSid);
+	soap_default_string(soap, &a->output);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREusageInputParams(struct soap *soap, const struct ns1__codon_USCOREusageInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->CDSid);
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREusageInputParams(struct soap *soap, const char *tag, int id, const struct ns1__codon_USCOREusageInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__codon_USCOREusageInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "version", -1, &a->version, ""))
+		return soap->error;
+	if (a->CDSid)
+	{	if (soap_out_string(soap, "CDSid", -1, &a->CDSid, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "CDSid"))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREusageInputParams * SOAP_FMAC4 soap_in_ns1__codon_USCOREusageInputParams(struct soap *soap, const char *tag, struct ns1__codon_USCOREusageInputParams *a, const char *type)
+{
+	size_t soap_flag_version = 1;
+	size_t soap_flag_CDSid = 1;
+	size_t soap_flag_output = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__codon_USCOREusageInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__codon_USCOREusageInputParams, sizeof(struct ns1__codon_USCOREusageInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__codon_USCOREusageInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_version && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "version", &a->version, "xsd:int"))
+				{	soap_flag_version--;
+					continue;
+				}
+			if (soap_flag_CDSid && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "CDSid", &a->CDSid, "xsd:string"))
+				{	soap_flag_CDSid--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__codon_USCOREusageInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__codon_USCOREusageInputParams, 0, sizeof(struct ns1__codon_USCOREusageInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_version > 0 || soap_flag_CDSid > 0 || soap_flag_output > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREusageInputParams(struct soap *soap, const struct ns1__codon_USCOREusageInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__codon_USCOREusageInputParams);
+	if (soap_out_ns1__codon_USCOREusageInputParams(soap, tag?tag:"ns1:codon_usageInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREusageInputParams * SOAP_FMAC4 soap_get_ns1__codon_USCOREusageInputParams(struct soap *soap, struct ns1__codon_USCOREusageInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__codon_USCOREusageInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__buiInputParams(struct soap *soap, struct ns1__buiInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->translate);
+	soap_default_string(soap, &a->position);
+	soap_default_string(soap, &a->id);
+	soap_default_string(soap, &a->del_USCOREkey);
+	soap_default_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__buiInputParams(struct soap *soap, const struct ns1__buiInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->position);
+	soap_serialize_string(soap, &a->id);
+	soap_serialize_string(soap, &a->del_USCOREkey);
+	soap_serialize_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__buiInputParams(struct soap *soap, const char *tag, int id, const struct ns1__buiInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__buiInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "translate", -1, &a->translate, ""))
+		return soap->error;
+	if (a->position)
+	{	if (soap_out_string(soap, "position", -1, &a->position, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "position"))
+		return soap->error;
+	if (a->id)
+	{	if (soap_out_string(soap, "id", -1, &a->id, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "id"))
+		return soap->error;
+	if (a->del_USCOREkey)
+	{	if (soap_out_string(soap, "del_key", -1, &a->del_USCOREkey, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "del_key"))
+		return soap->error;
+	if (a->tag)
+	{	if (soap_out_string(soap, "tag", -1, &a->tag, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "tag"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__buiInputParams * SOAP_FMAC4 soap_in_ns1__buiInputParams(struct soap *soap, const char *tag, struct ns1__buiInputParams *a, const char *type)
+{
+	size_t soap_flag_translate = 1;
+	size_t soap_flag_position = 1;
+	size_t soap_flag_id = 1;
+	size_t soap_flag_del_USCOREkey = 1;
+	size_t soap_flag_tag = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__buiInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__buiInputParams, sizeof(struct ns1__buiInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__buiInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_translate && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "translate", &a->translate, "xsd:int"))
+				{	soap_flag_translate--;
+					continue;
+				}
+			if (soap_flag_position && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "position", &a->position, "xsd:string"))
+				{	soap_flag_position--;
+					continue;
+				}
+			if (soap_flag_id && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "id", &a->id, "xsd:string"))
+				{	soap_flag_id--;
+					continue;
+				}
+			if (soap_flag_del_USCOREkey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "del_key", &a->del_USCOREkey, "xsd:string"))
+				{	soap_flag_del_USCOREkey--;
+					continue;
+				}
+			if (soap_flag_tag && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "tag", &a->tag, "xsd:string"))
+				{	soap_flag_tag--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__buiInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__buiInputParams, 0, sizeof(struct ns1__buiInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_translate > 0 || soap_flag_position > 0 || soap_flag_id > 0 || soap_flag_del_USCOREkey > 0 || soap_flag_tag > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__buiInputParams(struct soap *soap, const struct ns1__buiInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__buiInputParams);
+	if (soap_out_ns1__buiInputParams(soap, tag?tag:"ns1:buiInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__buiInputParams * SOAP_FMAC4 soap_get_ns1__buiInputParams(struct soap *soap, struct ns1__buiInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__buiInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__fopInputParams(struct soap *soap, struct ns1__fopInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->translate);
+	soap_default_string(soap, &a->output);
+	soap_default_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__fopInputParams(struct soap *soap, const struct ns1__fopInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->output);
+	soap_serialize_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__fopInputParams(struct soap *soap, const char *tag, int id, const struct ns1__fopInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__fopInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "translate", -1, &a->translate, ""))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	if (a->tag)
+	{	if (soap_out_string(soap, "tag", -1, &a->tag, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "tag"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__fopInputParams * SOAP_FMAC4 soap_in_ns1__fopInputParams(struct soap *soap, const char *tag, struct ns1__fopInputParams *a, const char *type)
+{
+	size_t soap_flag_translate = 1;
+	size_t soap_flag_output = 1;
+	size_t soap_flag_tag = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__fopInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__fopInputParams, sizeof(struct ns1__fopInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__fopInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_translate && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "translate", &a->translate, "xsd:int"))
+				{	soap_flag_translate--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap_flag_tag && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "tag", &a->tag, "xsd:string"))
+				{	soap_flag_tag--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__fopInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__fopInputParams, 0, sizeof(struct ns1__fopInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_translate > 0 || soap_flag_output > 0 || soap_flag_tag > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__fopInputParams(struct soap *soap, const struct ns1__fopInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__fopInputParams);
+	if (soap_out_ns1__fopInputParams(soap, tag?tag:"ns1:fopInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__fopInputParams * SOAP_FMAC4 soap_get_ns1__fopInputParams(struct soap *soap, struct ns1__fopInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__fopInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__oligomer_USCOREcounterInputParams(struct soap *soap, struct ns1__oligomer_USCOREcounterInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->window);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__oligomer_USCOREcounterInputParams(struct soap *soap, const struct ns1__oligomer_USCOREcounterInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__oligomer_USCOREcounterInputParams(struct soap *soap, const char *tag, int id, const struct ns1__oligomer_USCOREcounterInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__oligomer_USCOREcounterInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "window", -1, &a->window, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREcounterInputParams * SOAP_FMAC4 soap_in_ns1__oligomer_USCOREcounterInputParams(struct soap *soap, const char *tag, struct ns1__oligomer_USCOREcounterInputParams *a, const char *type)
+{
+	size_t soap_flag_window = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__oligomer_USCOREcounterInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__oligomer_USCOREcounterInputParams, sizeof(struct ns1__oligomer_USCOREcounterInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__oligomer_USCOREcounterInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_window && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "window", &a->window, "xsd:int"))
+				{	soap_flag_window--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__oligomer_USCOREcounterInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__oligomer_USCOREcounterInputParams, 0, sizeof(struct ns1__oligomer_USCOREcounterInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_window > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__oligomer_USCOREcounterInputParams(struct soap *soap, const struct ns1__oligomer_USCOREcounterInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__oligomer_USCOREcounterInputParams);
+	if (soap_out_ns1__oligomer_USCOREcounterInputParams(soap, tag?tag:"ns1:oligomer_counterInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREcounterInputParams * SOAP_FMAC4 soap_get_ns1__oligomer_USCOREcounterInputParams(struct soap *soap, struct ns1__oligomer_USCOREcounterInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__oligomer_USCOREcounterInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__encInputParams(struct soap *soap, struct ns1__encInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->translate);
+	soap_default_string(soap, &a->id);
+	soap_default_string(soap, &a->del_USCOREkey);
+	soap_default_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__encInputParams(struct soap *soap, const struct ns1__encInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->id);
+	soap_serialize_string(soap, &a->del_USCOREkey);
+	soap_serialize_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__encInputParams(struct soap *soap, const char *tag, int id, const struct ns1__encInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__encInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "translate", -1, &a->translate, ""))
+		return soap->error;
+	if (a->id)
+	{	if (soap_out_string(soap, "id", -1, &a->id, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "id"))
+		return soap->error;
+	if (a->del_USCOREkey)
+	{	if (soap_out_string(soap, "del_key", -1, &a->del_USCOREkey, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "del_key"))
+		return soap->error;
+	if (a->tag)
+	{	if (soap_out_string(soap, "tag", -1, &a->tag, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "tag"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__encInputParams * SOAP_FMAC4 soap_in_ns1__encInputParams(struct soap *soap, const char *tag, struct ns1__encInputParams *a, const char *type)
+{
+	size_t soap_flag_translate = 1;
+	size_t soap_flag_id = 1;
+	size_t soap_flag_del_USCOREkey = 1;
+	size_t soap_flag_tag = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__encInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__encInputParams, sizeof(struct ns1__encInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__encInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_translate && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "translate", &a->translate, "xsd:int"))
+				{	soap_flag_translate--;
+					continue;
+				}
+			if (soap_flag_id && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "id", &a->id, "xsd:string"))
+				{	soap_flag_id--;
+					continue;
+				}
+			if (soap_flag_del_USCOREkey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "del_key", &a->del_USCOREkey, "xsd:string"))
+				{	soap_flag_del_USCOREkey--;
+					continue;
+				}
+			if (soap_flag_tag && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "tag", &a->tag, "xsd:string"))
+				{	soap_flag_tag--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__encInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__encInputParams, 0, sizeof(struct ns1__encInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_translate > 0 || soap_flag_id > 0 || soap_flag_del_USCOREkey > 0 || soap_flag_tag > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__encInputParams(struct soap *soap, const struct ns1__encInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__encInputParams);
+	if (soap_out_ns1__encInputParams(soap, tag?tag:"ns1:encInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__encInputParams * SOAP_FMAC4 soap_get_ns1__encInputParams(struct soap *soap, struct ns1__encInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__encInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__icdiInputParams(struct soap *soap, struct ns1__icdiInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->translate);
+	soap_default_string(soap, &a->id);
+	soap_default_string(soap, &a->del_USCOREkey);
+	soap_default_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__icdiInputParams(struct soap *soap, const struct ns1__icdiInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->id);
+	soap_serialize_string(soap, &a->del_USCOREkey);
+	soap_serialize_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__icdiInputParams(struct soap *soap, const char *tag, int id, const struct ns1__icdiInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__icdiInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "translate", -1, &a->translate, ""))
+		return soap->error;
+	if (a->id)
+	{	if (soap_out_string(soap, "id", -1, &a->id, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "id"))
+		return soap->error;
+	if (a->del_USCOREkey)
+	{	if (soap_out_string(soap, "del_key", -1, &a->del_USCOREkey, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "del_key"))
+		return soap->error;
+	if (a->tag)
+	{	if (soap_out_string(soap, "tag", -1, &a->tag, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "tag"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__icdiInputParams * SOAP_FMAC4 soap_in_ns1__icdiInputParams(struct soap *soap, const char *tag, struct ns1__icdiInputParams *a, const char *type)
+{
+	size_t soap_flag_translate = 1;
+	size_t soap_flag_id = 1;
+	size_t soap_flag_del_USCOREkey = 1;
+	size_t soap_flag_tag = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__icdiInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__icdiInputParams, sizeof(struct ns1__icdiInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__icdiInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_translate && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "translate", &a->translate, "xsd:int"))
+				{	soap_flag_translate--;
+					continue;
+				}
+			if (soap_flag_id && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "id", &a->id, "xsd:string"))
+				{	soap_flag_id--;
+					continue;
+				}
+			if (soap_flag_del_USCOREkey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "del_key", &a->del_USCOREkey, "xsd:string"))
+				{	soap_flag_del_USCOREkey--;
+					continue;
+				}
+			if (soap_flag_tag && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "tag", &a->tag, "xsd:string"))
+				{	soap_flag_tag--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__icdiInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__icdiInputParams, 0, sizeof(struct ns1__icdiInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_translate > 0 || soap_flag_id > 0 || soap_flag_del_USCOREkey > 0 || soap_flag_tag > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__icdiInputParams(struct soap *soap, const struct ns1__icdiInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__icdiInputParams);
+	if (soap_out_ns1__icdiInputParams(soap, tag?tag:"ns1:icdiInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__icdiInputParams * SOAP_FMAC4 soap_get_ns1__icdiInputParams(struct soap *soap, struct ns1__icdiInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__icdiInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__gcwinInputParams(struct soap *soap, struct ns1__gcwinInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->window);
+	soap_default_int(soap, &a->at);
+	soap_default_int(soap, &a->purine);
+	soap_default_string(soap, &a->application);
+	soap_default_string(soap, &a->output);
+	soap_default_int(soap, &a->keto);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__gcwinInputParams(struct soap *soap, const struct ns1__gcwinInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->application);
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__gcwinInputParams(struct soap *soap, const char *tag, int id, const struct ns1__gcwinInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__gcwinInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "window", -1, &a->window, ""))
+		return soap->error;
+	if (soap_out_int(soap, "at", -1, &a->at, ""))
+		return soap->error;
+	if (soap_out_int(soap, "purine", -1, &a->purine, ""))
+		return soap->error;
+	if (a->application)
+	{	if (soap_out_string(soap, "application", -1, &a->application, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "application"))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	if (soap_out_int(soap, "keto", -1, &a->keto, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__gcwinInputParams * SOAP_FMAC4 soap_in_ns1__gcwinInputParams(struct soap *soap, const char *tag, struct ns1__gcwinInputParams *a, const char *type)
+{
+	size_t soap_flag_window = 1;
+	size_t soap_flag_at = 1;
+	size_t soap_flag_purine = 1;
+	size_t soap_flag_application = 1;
+	size_t soap_flag_output = 1;
+	size_t soap_flag_keto = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__gcwinInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__gcwinInputParams, sizeof(struct ns1__gcwinInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__gcwinInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_window && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "window", &a->window, "xsd:int"))
+				{	soap_flag_window--;
+					continue;
+				}
+			if (soap_flag_at && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "at", &a->at, "xsd:int"))
+				{	soap_flag_at--;
+					continue;
+				}
+			if (soap_flag_purine && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "purine", &a->purine, "xsd:int"))
+				{	soap_flag_purine--;
+					continue;
+				}
+			if (soap_flag_application && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "application", &a->application, "xsd:string"))
+				{	soap_flag_application--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap_flag_keto && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "keto", &a->keto, "xsd:int"))
+				{	soap_flag_keto--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__gcwinInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__gcwinInputParams, 0, sizeof(struct ns1__gcwinInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_window > 0 || soap_flag_at > 0 || soap_flag_purine > 0 || soap_flag_application > 0 || soap_flag_output > 0 || soap_flag_keto > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__gcwinInputParams(struct soap *soap, const struct ns1__gcwinInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__gcwinInputParams);
+	if (soap_out_ns1__gcwinInputParams(soap, tag?tag:"ns1:gcwinInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__gcwinInputParams * SOAP_FMAC4 soap_get_ns1__gcwinInputParams(struct soap *soap, struct ns1__gcwinInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__gcwinInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREpatternInputParams(struct soap *soap, struct ns1__find_USCOREpatternInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->output);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREpatternInputParams(struct soap *soap, const struct ns1__find_USCOREpatternInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREpatternInputParams(struct soap *soap, const char *tag, int id, const struct ns1__find_USCOREpatternInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__find_USCOREpatternInputParams), type))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREpatternInputParams * SOAP_FMAC4 soap_in_ns1__find_USCOREpatternInputParams(struct soap *soap, const char *tag, struct ns1__find_USCOREpatternInputParams *a, const char *type)
+{
+	size_t soap_flag_output = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__find_USCOREpatternInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__find_USCOREpatternInputParams, sizeof(struct ns1__find_USCOREpatternInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__find_USCOREpatternInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREpatternInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__find_USCOREpatternInputParams, 0, sizeof(struct ns1__find_USCOREpatternInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_output > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREpatternInputParams(struct soap *soap, const struct ns1__find_USCOREpatternInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__find_USCOREpatternInputParams);
+	if (soap_out_ns1__find_USCOREpatternInputParams(soap, tag?tag:"ns1:find_patternInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREpatternInputParams * SOAP_FMAC4 soap_get_ns1__find_USCOREpatternInputParams(struct soap *soap, struct ns1__find_USCOREpatternInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__find_USCOREpatternInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__oligomer_USCOREsearchInputParams(struct soap *soap, struct ns1__oligomer_USCOREsearchInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->return_);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__oligomer_USCOREsearchInputParams(struct soap *soap, const struct ns1__oligomer_USCOREsearchInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->return_);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__oligomer_USCOREsearchInputParams(struct soap *soap, const char *tag, int id, const struct ns1__oligomer_USCOREsearchInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__oligomer_USCOREsearchInputParams), type))
+		return soap->error;
+	if (a->return_)
+	{	if (soap_out_string(soap, "return", -1, &a->return_, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "return"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREsearchInputParams * SOAP_FMAC4 soap_in_ns1__oligomer_USCOREsearchInputParams(struct soap *soap, const char *tag, struct ns1__oligomer_USCOREsearchInputParams *a, const char *type)
+{
+	size_t soap_flag_return_ = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__oligomer_USCOREsearchInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__oligomer_USCOREsearchInputParams, sizeof(struct ns1__oligomer_USCOREsearchInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__oligomer_USCOREsearchInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_return_ && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "return", &a->return_, "xsd:string"))
+				{	soap_flag_return_--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__oligomer_USCOREsearchInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__oligomer_USCOREsearchInputParams, 0, sizeof(struct ns1__oligomer_USCOREsearchInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_return_ > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__oligomer_USCOREsearchInputParams(struct soap *soap, const struct ns1__oligomer_USCOREsearchInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__oligomer_USCOREsearchInputParams);
+	if (soap_out_ns1__oligomer_USCOREsearchInputParams(soap, tag?tag:"ns1:oligomer_searchInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREsearchInputParams * SOAP_FMAC4 soap_get_ns1__oligomer_USCOREsearchInputParams(struct soap *soap, struct ns1__oligomer_USCOREsearchInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__oligomer_USCOREsearchInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__phxInputParams(struct soap *soap, struct ns1__phxInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->usage);
+	soap_default_int(soap, &a->translate);
+	soap_default_string(soap, &a->output);
+	soap_default_string(soap, &a->del_USCOREkey);
+	soap_default_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__phxInputParams(struct soap *soap, const struct ns1__phxInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->usage);
+	soap_serialize_string(soap, &a->output);
+	soap_serialize_string(soap, &a->del_USCOREkey);
+	soap_serialize_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__phxInputParams(struct soap *soap, const char *tag, int id, const struct ns1__phxInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__phxInputParams), type))
+		return soap->error;
+	if (a->usage)
+	{	if (soap_out_string(soap, "usage", -1, &a->usage, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "usage"))
+		return soap->error;
+	if (soap_out_int(soap, "translate", -1, &a->translate, ""))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	if (a->del_USCOREkey)
+	{	if (soap_out_string(soap, "del_key", -1, &a->del_USCOREkey, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "del_key"))
+		return soap->error;
+	if (a->tag)
+	{	if (soap_out_string(soap, "tag", -1, &a->tag, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "tag"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__phxInputParams * SOAP_FMAC4 soap_in_ns1__phxInputParams(struct soap *soap, const char *tag, struct ns1__phxInputParams *a, const char *type)
+{
+	size_t soap_flag_usage = 1;
+	size_t soap_flag_translate = 1;
+	size_t soap_flag_output = 1;
+	size_t soap_flag_del_USCOREkey = 1;
+	size_t soap_flag_tag = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__phxInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__phxInputParams, sizeof(struct ns1__phxInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__phxInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_usage && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "usage", &a->usage, "xsd:string"))
+				{	soap_flag_usage--;
+					continue;
+				}
+			if (soap_flag_translate && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "translate", &a->translate, "xsd:int"))
+				{	soap_flag_translate--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap_flag_del_USCOREkey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "del_key", &a->del_USCOREkey, "xsd:string"))
+				{	soap_flag_del_USCOREkey--;
+					continue;
+				}
+			if (soap_flag_tag && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "tag", &a->tag, "xsd:string"))
+				{	soap_flag_tag--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__phxInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__phxInputParams, 0, sizeof(struct ns1__phxInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_usage > 0 || soap_flag_translate > 0 || soap_flag_output > 0 || soap_flag_del_USCOREkey > 0 || soap_flag_tag > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__phxInputParams(struct soap *soap, const struct ns1__phxInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__phxInputParams);
+	if (soap_out_ns1__phxInputParams(soap, tag?tag:"ns1:phxInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__phxInputParams * SOAP_FMAC4 soap_get_ns1__phxInputParams(struct soap *soap, struct ns1__phxInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__phxInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__shuffleseqInputParams(struct soap *soap, struct ns1__shuffleseqInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->k);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__shuffleseqInputParams(struct soap *soap, const struct ns1__shuffleseqInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__shuffleseqInputParams(struct soap *soap, const char *tag, int id, const struct ns1__shuffleseqInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__shuffleseqInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "k", -1, &a->k, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__shuffleseqInputParams * SOAP_FMAC4 soap_in_ns1__shuffleseqInputParams(struct soap *soap, const char *tag, struct ns1__shuffleseqInputParams *a, const char *type)
+{
+	size_t soap_flag_k = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__shuffleseqInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__shuffleseqInputParams, sizeof(struct ns1__shuffleseqInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__shuffleseqInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_k && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "k", &a->k, "xsd:int"))
+				{	soap_flag_k--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__shuffleseqInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__shuffleseqInputParams, 0, sizeof(struct ns1__shuffleseqInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_k > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__shuffleseqInputParams(struct soap *soap, const struct ns1__shuffleseqInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__shuffleseqInputParams);
+	if (soap_out_ns1__shuffleseqInputParams(soap, tag?tag:"ns1:shuffleseqInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__shuffleseqInputParams * SOAP_FMAC4 soap_get_ns1__shuffleseqInputParams(struct soap *soap, struct ns1__shuffleseqInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__shuffleseqInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREterInputParams(struct soap *soap, struct ns1__find_USCOREterInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->_x002dtype);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREterInputParams(struct soap *soap, const struct ns1__find_USCOREterInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_x002dtype);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREterInputParams(struct soap *soap, const char *tag, int id, const struct ns1__find_USCOREterInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__find_USCOREterInputParams), type))
+		return soap->error;
+	if (a->_x002dtype)
+	{	if (soap_out_string(soap, "-type", -1, &a->_x002dtype, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "-type"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREterInputParams * SOAP_FMAC4 soap_in_ns1__find_USCOREterInputParams(struct soap *soap, const char *tag, struct ns1__find_USCOREterInputParams *a, const char *type)
+{
+	size_t soap_flag__x002dtype = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__find_USCOREterInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__find_USCOREterInputParams, sizeof(struct ns1__find_USCOREterInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__find_USCOREterInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag__x002dtype && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "-type", &a->_x002dtype, "xsd:string"))
+				{	soap_flag__x002dtype--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREterInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__find_USCOREterInputParams, 0, sizeof(struct ns1__find_USCOREterInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__x002dtype > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREterInputParams(struct soap *soap, const struct ns1__find_USCOREterInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__find_USCOREterInputParams);
+	if (soap_out_ns1__find_USCOREterInputParams(soap, tag?tag:"ns1:find_terInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREterInputParams * SOAP_FMAC4 soap_get_ns1__find_USCOREterInputParams(struct soap *soap, struct ns1__find_USCOREterInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__find_USCOREterInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__dnawalkInputParams(struct soap *soap, struct ns1__dnawalkInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->gmap);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__dnawalkInputParams(struct soap *soap, const struct ns1__dnawalkInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__dnawalkInputParams(struct soap *soap, const char *tag, int id, const struct ns1__dnawalkInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__dnawalkInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "gmap", -1, &a->gmap, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__dnawalkInputParams * SOAP_FMAC4 soap_in_ns1__dnawalkInputParams(struct soap *soap, const char *tag, struct ns1__dnawalkInputParams *a, const char *type)
+{
+	size_t soap_flag_gmap = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__dnawalkInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__dnawalkInputParams, sizeof(struct ns1__dnawalkInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__dnawalkInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_gmap && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "gmap", &a->gmap, "xsd:int"))
+				{	soap_flag_gmap--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__dnawalkInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__dnawalkInputParams, 0, sizeof(struct ns1__dnawalkInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_gmap > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__dnawalkInputParams(struct soap *soap, const struct ns1__dnawalkInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__dnawalkInputParams);
+	if (soap_out_ns1__dnawalkInputParams(soap, tag?tag:"ns1:dnawalkInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__dnawalkInputParams * SOAP_FMAC4 soap_get_ns1__dnawalkInputParams(struct soap *soap, struct ns1__dnawalkInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__dnawalkInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREinformation_USCOREcontentInputParams(struct soap *soap, struct ns1__base_USCOREinformation_USCOREcontentInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->upstream);
+	soap_default_string(soap, &a->position);
+	soap_default_int(soap, &a->downstream);
+	soap_default_string(soap, &a->output);
+	soap_default_int(soap, &a->PatLength);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREinformation_USCOREcontentInputParams(struct soap *soap, const struct ns1__base_USCOREinformation_USCOREcontentInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->position);
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREinformation_USCOREcontentInputParams(struct soap *soap, const char *tag, int id, const struct ns1__base_USCOREinformation_USCOREcontentInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "upstream", -1, &a->upstream, ""))
+		return soap->error;
+	if (a->position)
+	{	if (soap_out_string(soap, "position", -1, &a->position, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "position"))
+		return soap->error;
+	if (soap_out_int(soap, "downstream", -1, &a->downstream, ""))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	if (soap_out_int(soap, "PatLength", -1, &a->PatLength, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREinformation_USCOREcontentInputParams * SOAP_FMAC4 soap_in_ns1__base_USCOREinformation_USCOREcontentInputParams(struct soap *soap, const char *tag, struct ns1__base_USCOREinformation_USCOREcontentInputParams *a, const char *type)
+{
+	size_t soap_flag_upstream = 1;
+	size_t soap_flag_position = 1;
+	size_t soap_flag_downstream = 1;
+	size_t soap_flag_output = 1;
+	size_t soap_flag_PatLength = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__base_USCOREinformation_USCOREcontentInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentInputParams, sizeof(struct ns1__base_USCOREinformation_USCOREcontentInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__base_USCOREinformation_USCOREcontentInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_upstream && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "upstream", &a->upstream, "xsd:int"))
+				{	soap_flag_upstream--;
+					continue;
+				}
+			if (soap_flag_position && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "position", &a->position, "xsd:string"))
+				{	soap_flag_position--;
+					continue;
+				}
+			if (soap_flag_downstream && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "downstream", &a->downstream, "xsd:int"))
+				{	soap_flag_downstream--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap_flag_PatLength && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "PatLength", &a->PatLength, "xsd:int"))
+				{	soap_flag_PatLength--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__base_USCOREinformation_USCOREcontentInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentInputParams, 0, sizeof(struct ns1__base_USCOREinformation_USCOREcontentInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_upstream > 0 || soap_flag_position > 0 || soap_flag_downstream > 0 || soap_flag_output > 0 || soap_flag_PatLength > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREinformation_USCOREcontentInputParams(struct soap *soap, const struct ns1__base_USCOREinformation_USCOREcontentInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentInputParams);
+	if (soap_out_ns1__base_USCOREinformation_USCOREcontentInputParams(soap, tag?tag:"ns1:base_information_contentInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREinformation_USCOREcontentInputParams * SOAP_FMAC4 soap_get_ns1__base_USCOREinformation_USCOREcontentInputParams(struct soap *soap, struct ns1__base_USCOREinformation_USCOREcontentInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__base_USCOREinformation_USCOREcontentInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__togoWSInputParams(struct soap *soap, struct ns1__togoWSInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->search);
+	soap_default_string(soap, &a->db);
+	soap_default_string(soap, &a->format);
+	soap_default_string(soap, &a->field);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__togoWSInputParams(struct soap *soap, const struct ns1__togoWSInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->search);
+	soap_serialize_string(soap, &a->db);
+	soap_serialize_string(soap, &a->format);
+	soap_serialize_string(soap, &a->field);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__togoWSInputParams(struct soap *soap, const char *tag, int id, const struct ns1__togoWSInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__togoWSInputParams), type))
+		return soap->error;
+	if (a->search)
+	{	if (soap_out_string(soap, "search", -1, &a->search, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "search"))
+		return soap->error;
+	if (a->db)
+	{	if (soap_out_string(soap, "db", -1, &a->db, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "db"))
+		return soap->error;
+	if (a->format)
+	{	if (soap_out_string(soap, "format", -1, &a->format, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "format"))
+		return soap->error;
+	if (a->field)
+	{	if (soap_out_string(soap, "field", -1, &a->field, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "field"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__togoWSInputParams * SOAP_FMAC4 soap_in_ns1__togoWSInputParams(struct soap *soap, const char *tag, struct ns1__togoWSInputParams *a, const char *type)
+{
+	size_t soap_flag_search = 1;
+	size_t soap_flag_db = 1;
+	size_t soap_flag_format = 1;
+	size_t soap_flag_field = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__togoWSInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__togoWSInputParams, sizeof(struct ns1__togoWSInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__togoWSInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_search && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "search", &a->search, "xsd:string"))
+				{	soap_flag_search--;
+					continue;
+				}
+			if (soap_flag_db && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "db", &a->db, "xsd:string"))
+				{	soap_flag_db--;
+					continue;
+				}
+			if (soap_flag_format && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "format", &a->format, "xsd:string"))
+				{	soap_flag_format--;
+					continue;
+				}
+			if (soap_flag_field && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "field", &a->field, "xsd:string"))
+				{	soap_flag_field--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__togoWSInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__togoWSInputParams, 0, sizeof(struct ns1__togoWSInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_search > 0 || soap_flag_db > 0 || soap_flag_format > 0 || soap_flag_field > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__togoWSInputParams(struct soap *soap, const struct ns1__togoWSInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__togoWSInputParams);
+	if (soap_out_ns1__togoWSInputParams(soap, tag?tag:"ns1:togoWSInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__togoWSInputParams * SOAP_FMAC4 soap_get_ns1__togoWSInputParams(struct soap *soap, struct ns1__togoWSInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__togoWSInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genome_USCOREmap3InputParams(struct soap *soap, struct ns1__genome_USCOREmap3InputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->width);
+	soap_default_string(soap, &a->datafilename);
+	soap_default_int(soap, &a->gmap);
+	soap_default_string(soap, &a->output);
+	soap_default_int(soap, &a->height);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genome_USCOREmap3InputParams(struct soap *soap, const struct ns1__genome_USCOREmap3InputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->datafilename);
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genome_USCOREmap3InputParams(struct soap *soap, const char *tag, int id, const struct ns1__genome_USCOREmap3InputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__genome_USCOREmap3InputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "width", -1, &a->width, ""))
+		return soap->error;
+	if (a->datafilename)
+	{	if (soap_out_string(soap, "datafilename", -1, &a->datafilename, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "datafilename"))
+		return soap->error;
+	if (soap_out_int(soap, "gmap", -1, &a->gmap, ""))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	if (soap_out_int(soap, "height", -1, &a->height, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__genome_USCOREmap3InputParams * SOAP_FMAC4 soap_in_ns1__genome_USCOREmap3InputParams(struct soap *soap, const char *tag, struct ns1__genome_USCOREmap3InputParams *a, const char *type)
+{
+	size_t soap_flag_width = 1;
+	size_t soap_flag_datafilename = 1;
+	size_t soap_flag_gmap = 1;
+	size_t soap_flag_output = 1;
+	size_t soap_flag_height = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__genome_USCOREmap3InputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__genome_USCOREmap3InputParams, sizeof(struct ns1__genome_USCOREmap3InputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__genome_USCOREmap3InputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_width && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "width", &a->width, "xsd:int"))
+				{	soap_flag_width--;
+					continue;
+				}
+			if (soap_flag_datafilename && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "datafilename", &a->datafilename, "xsd:string"))
+				{	soap_flag_datafilename--;
+					continue;
+				}
+			if (soap_flag_gmap && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "gmap", &a->gmap, "xsd:int"))
+				{	soap_flag_gmap--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap_flag_height && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "height", &a->height, "xsd:int"))
+				{	soap_flag_height--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__genome_USCOREmap3InputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__genome_USCOREmap3InputParams, 0, sizeof(struct ns1__genome_USCOREmap3InputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_width > 0 || soap_flag_datafilename > 0 || soap_flag_gmap > 0 || soap_flag_output > 0 || soap_flag_height > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genome_USCOREmap3InputParams(struct soap *soap, const struct ns1__genome_USCOREmap3InputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__genome_USCOREmap3InputParams);
+	if (soap_out_ns1__genome_USCOREmap3InputParams(soap, tag?tag:"ns1:genome_map3InputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__genome_USCOREmap3InputParams * SOAP_FMAC4 soap_get_ns1__genome_USCOREmap3InputParams(struct soap *soap, struct ns1__genome_USCOREmap3InputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__genome_USCOREmap3InputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__gcskewInputParams(struct soap *soap, struct ns1__gcskewInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->window);
+	soap_default_int(soap, &a->slide);
+	soap_default_int(soap, &a->cumulative);
+	soap_default_int(soap, &a->at);
+	soap_default_int(soap, &a->purine);
+	soap_default_int(soap, &a->keto);
+	soap_default_string(soap, &a->output);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__gcskewInputParams(struct soap *soap, const struct ns1__gcskewInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__gcskewInputParams(struct soap *soap, const char *tag, int id, const struct ns1__gcskewInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__gcskewInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "window", -1, &a->window, ""))
+		return soap->error;
+	if (soap_out_int(soap, "slide", -1, &a->slide, ""))
+		return soap->error;
+	if (soap_out_int(soap, "cumulative", -1, &a->cumulative, ""))
+		return soap->error;
+	if (soap_out_int(soap, "at", -1, &a->at, ""))
+		return soap->error;
+	if (soap_out_int(soap, "purine", -1, &a->purine, ""))
+		return soap->error;
+	if (soap_out_int(soap, "keto", -1, &a->keto, ""))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__gcskewInputParams * SOAP_FMAC4 soap_in_ns1__gcskewInputParams(struct soap *soap, const char *tag, struct ns1__gcskewInputParams *a, const char *type)
+{
+	size_t soap_flag_window = 1;
+	size_t soap_flag_slide = 1;
+	size_t soap_flag_cumulative = 1;
+	size_t soap_flag_at = 1;
+	size_t soap_flag_purine = 1;
+	size_t soap_flag_keto = 1;
+	size_t soap_flag_output = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__gcskewInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__gcskewInputParams, sizeof(struct ns1__gcskewInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__gcskewInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_window && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "window", &a->window, "xsd:int"))
+				{	soap_flag_window--;
+					continue;
+				}
+			if (soap_flag_slide && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "slide", &a->slide, "xsd:int"))
+				{	soap_flag_slide--;
+					continue;
+				}
+			if (soap_flag_cumulative && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "cumulative", &a->cumulative, "xsd:int"))
+				{	soap_flag_cumulative--;
+					continue;
+				}
+			if (soap_flag_at && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "at", &a->at, "xsd:int"))
+				{	soap_flag_at--;
+					continue;
+				}
+			if (soap_flag_purine && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "purine", &a->purine, "xsd:int"))
+				{	soap_flag_purine--;
+					continue;
+				}
+			if (soap_flag_keto && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "keto", &a->keto, "xsd:int"))
+				{	soap_flag_keto--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__gcskewInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__gcskewInputParams, 0, sizeof(struct ns1__gcskewInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_window > 0 || soap_flag_slide > 0 || soap_flag_cumulative > 0 || soap_flag_at > 0 || soap_flag_purine > 0 || soap_flag_keto > 0 || soap_flag_output > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__gcskewInputParams(struct soap *soap, const struct ns1__gcskewInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__gcskewInputParams);
+	if (soap_out_ns1__gcskewInputParams(soap, tag?tag:"ns1:gcskewInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__gcskewInputParams * SOAP_FMAC4 soap_get_ns1__gcskewInputParams(struct soap *soap, struct ns1__gcskewInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__gcskewInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__circular_USCOREmapInputParams(struct soap *soap, struct ns1__circular_USCOREmapInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->gmap);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__circular_USCOREmapInputParams(struct soap *soap, const struct ns1__circular_USCOREmapInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__circular_USCOREmapInputParams(struct soap *soap, const char *tag, int id, const struct ns1__circular_USCOREmapInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__circular_USCOREmapInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "gmap", -1, &a->gmap, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__circular_USCOREmapInputParams * SOAP_FMAC4 soap_in_ns1__circular_USCOREmapInputParams(struct soap *soap, const char *tag, struct ns1__circular_USCOREmapInputParams *a, const char *type)
+{
+	size_t soap_flag_gmap = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__circular_USCOREmapInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__circular_USCOREmapInputParams, sizeof(struct ns1__circular_USCOREmapInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__circular_USCOREmapInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_gmap && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "gmap", &a->gmap, "xsd:int"))
+				{	soap_flag_gmap--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__circular_USCOREmapInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__circular_USCOREmapInputParams, 0, sizeof(struct ns1__circular_USCOREmapInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_gmap > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__circular_USCOREmapInputParams(struct soap *soap, const struct ns1__circular_USCOREmapInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__circular_USCOREmapInputParams);
+	if (soap_out_ns1__circular_USCOREmapInputParams(soap, tag?tag:"ns1:circular_mapInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__circular_USCOREmapInputParams * SOAP_FMAC4 soap_get_ns1__circular_USCOREmapInputParams(struct soap *soap, struct ns1__circular_USCOREmapInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__circular_USCOREmapInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__molecular_USCOREweightInputParams(struct soap *soap, struct ns1__molecular_USCOREweightInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->strand);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__molecular_USCOREweightInputParams(struct soap *soap, const struct ns1__molecular_USCOREweightInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->strand);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__molecular_USCOREweightInputParams(struct soap *soap, const char *tag, int id, const struct ns1__molecular_USCOREweightInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__molecular_USCOREweightInputParams), type))
+		return soap->error;
+	if (a->strand)
+	{	if (soap_out_string(soap, "strand", -1, &a->strand, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "strand"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__molecular_USCOREweightInputParams * SOAP_FMAC4 soap_in_ns1__molecular_USCOREweightInputParams(struct soap *soap, const char *tag, struct ns1__molecular_USCOREweightInputParams *a, const char *type)
+{
+	size_t soap_flag_strand = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__molecular_USCOREweightInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__molecular_USCOREweightInputParams, sizeof(struct ns1__molecular_USCOREweightInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__molecular_USCOREweightInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_strand && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "strand", &a->strand, "xsd:string"))
+				{	soap_flag_strand--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__molecular_USCOREweightInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__molecular_USCOREweightInputParams, 0, sizeof(struct ns1__molecular_USCOREweightInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_strand > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__molecular_USCOREweightInputParams(struct soap *soap, const struct ns1__molecular_USCOREweightInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__molecular_USCOREweightInputParams);
+	if (soap_out_ns1__molecular_USCOREweightInputParams(soap, tag?tag:"ns1:molecular_weightInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__molecular_USCOREweightInputParams * SOAP_FMAC4 soap_get_ns1__molecular_USCOREweightInputParams(struct soap *soap, struct ns1__molecular_USCOREweightInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__molecular_USCOREweightInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__delta_USCOREgcskewInputParams(struct soap *soap, struct ns1__delta_USCOREgcskewInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->method);
+	soap_default_int(soap, &a->at);
+	soap_default_int(soap, &a->purine);
+	soap_default_int(soap, &a->keto);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__delta_USCOREgcskewInputParams(struct soap *soap, const struct ns1__delta_USCOREgcskewInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->method);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__delta_USCOREgcskewInputParams(struct soap *soap, const char *tag, int id, const struct ns1__delta_USCOREgcskewInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__delta_USCOREgcskewInputParams), type))
+		return soap->error;
+	if (a->method)
+	{	if (soap_out_string(soap, "method", -1, &a->method, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "method"))
+		return soap->error;
+	if (soap_out_int(soap, "at", -1, &a->at, ""))
+		return soap->error;
+	if (soap_out_int(soap, "purine", -1, &a->purine, ""))
+		return soap->error;
+	if (soap_out_int(soap, "keto", -1, &a->keto, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__delta_USCOREgcskewInputParams * SOAP_FMAC4 soap_in_ns1__delta_USCOREgcskewInputParams(struct soap *soap, const char *tag, struct ns1__delta_USCOREgcskewInputParams *a, const char *type)
+{
+	size_t soap_flag_method = 1;
+	size_t soap_flag_at = 1;
+	size_t soap_flag_purine = 1;
+	size_t soap_flag_keto = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__delta_USCOREgcskewInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__delta_USCOREgcskewInputParams, sizeof(struct ns1__delta_USCOREgcskewInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__delta_USCOREgcskewInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_method && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "method", &a->method, "xsd:string"))
+				{	soap_flag_method--;
+					continue;
+				}
+			if (soap_flag_at && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "at", &a->at, "xsd:int"))
+				{	soap_flag_at--;
+					continue;
+				}
+			if (soap_flag_purine && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "purine", &a->purine, "xsd:int"))
+				{	soap_flag_purine--;
+					continue;
+				}
+			if (soap_flag_keto && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "keto", &a->keto, "xsd:int"))
+				{	soap_flag_keto--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__delta_USCOREgcskewInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__delta_USCOREgcskewInputParams, 0, sizeof(struct ns1__delta_USCOREgcskewInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_method > 0 || soap_flag_at > 0 || soap_flag_purine > 0 || soap_flag_keto > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__delta_USCOREgcskewInputParams(struct soap *soap, const struct ns1__delta_USCOREgcskewInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__delta_USCOREgcskewInputParams);
+	if (soap_out_ns1__delta_USCOREgcskewInputParams(soap, tag?tag:"ns1:delta_gcskewInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__delta_USCOREgcskewInputParams * SOAP_FMAC4 soap_get_ns1__delta_USCOREgcskewInputParams(struct soap *soap, struct ns1__delta_USCOREgcskewInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__delta_USCOREgcskewInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__corInputParams(struct soap *soap, struct ns1__corInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->sorted);
+	soap_default_string(soap, &a->method);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__corInputParams(struct soap *soap, const struct ns1__corInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->method);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__corInputParams(struct soap *soap, const char *tag, int id, const struct ns1__corInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__corInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "sorted", -1, &a->sorted, ""))
+		return soap->error;
+	if (a->method)
+	{	if (soap_out_string(soap, "method", -1, &a->method, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "method"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__corInputParams * SOAP_FMAC4 soap_in_ns1__corInputParams(struct soap *soap, const char *tag, struct ns1__corInputParams *a, const char *type)
+{
+	size_t soap_flag_sorted = 1;
+	size_t soap_flag_method = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__corInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__corInputParams, sizeof(struct ns1__corInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__corInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_sorted && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "sorted", &a->sorted, "xsd:int"))
+				{	soap_flag_sorted--;
+					continue;
+				}
+			if (soap_flag_method && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "method", &a->method, "xsd:string"))
+				{	soap_flag_method--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__corInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__corInputParams, 0, sizeof(struct ns1__corInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_sorted > 0 || soap_flag_method > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__corInputParams(struct soap *soap, const struct ns1__corInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__corInputParams);
+	if (soap_out_ns1__corInputParams(soap, tag?tag:"ns1:corInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__corInputParams * SOAP_FMAC4 soap_get_ns1__corInputParams(struct soap *soap, struct ns1__corInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__corInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__geneskewInputParams(struct soap *soap, struct ns1__geneskewInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->window);
+	soap_default_int(soap, &a->slide);
+	soap_default_int(soap, &a->cumulative);
+	soap_default_string(soap, &a->base);
+	soap_default_int(soap, &a->gc3);
+	soap_default_string(soap, &a->output);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__geneskewInputParams(struct soap *soap, const struct ns1__geneskewInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->base);
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__geneskewInputParams(struct soap *soap, const char *tag, int id, const struct ns1__geneskewInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__geneskewInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "window", -1, &a->window, ""))
+		return soap->error;
+	if (soap_out_int(soap, "slide", -1, &a->slide, ""))
+		return soap->error;
+	if (soap_out_int(soap, "cumulative", -1, &a->cumulative, ""))
+		return soap->error;
+	if (a->base)
+	{	if (soap_out_string(soap, "base", -1, &a->base, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "base"))
+		return soap->error;
+	if (soap_out_int(soap, "gc3", -1, &a->gc3, ""))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__geneskewInputParams * SOAP_FMAC4 soap_in_ns1__geneskewInputParams(struct soap *soap, const char *tag, struct ns1__geneskewInputParams *a, const char *type)
+{
+	size_t soap_flag_window = 1;
+	size_t soap_flag_slide = 1;
+	size_t soap_flag_cumulative = 1;
+	size_t soap_flag_base = 1;
+	size_t soap_flag_gc3 = 1;
+	size_t soap_flag_output = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__geneskewInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__geneskewInputParams, sizeof(struct ns1__geneskewInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__geneskewInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_window && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "window", &a->window, "xsd:int"))
+				{	soap_flag_window--;
+					continue;
+				}
+			if (soap_flag_slide && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "slide", &a->slide, "xsd:int"))
+				{	soap_flag_slide--;
+					continue;
+				}
+			if (soap_flag_cumulative && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "cumulative", &a->cumulative, "xsd:int"))
+				{	soap_flag_cumulative--;
+					continue;
+				}
+			if (soap_flag_base && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "base", &a->base, "xsd:string"))
+				{	soap_flag_base--;
+					continue;
+				}
+			if (soap_flag_gc3 && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "gc3", &a->gc3, "xsd:int"))
+				{	soap_flag_gc3--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__geneskewInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__geneskewInputParams, 0, sizeof(struct ns1__geneskewInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_window > 0 || soap_flag_slide > 0 || soap_flag_cumulative > 0 || soap_flag_base > 0 || soap_flag_gc3 > 0 || soap_flag_output > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__geneskewInputParams(struct soap *soap, const struct ns1__geneskewInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__geneskewInputParams);
+	if (soap_out_ns1__geneskewInputParams(soap, tag?tag:"ns1:geneskewInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__geneskewInputParams * SOAP_FMAC4 soap_get_ns1__geneskewInputParams(struct soap *soap, struct ns1__geneskewInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__geneskewInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genes_USCOREfrom_USCOREoriInputParams(struct soap *soap, struct ns1__genes_USCOREfrom_USCOREoriInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->window);
+	soap_default_int(soap, &a->purine);
+	soap_default_string(soap, &a->output);
+	soap_default_int(soap, &a->keto);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genes_USCOREfrom_USCOREoriInputParams(struct soap *soap, const struct ns1__genes_USCOREfrom_USCOREoriInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genes_USCOREfrom_USCOREoriInputParams(struct soap *soap, const char *tag, int id, const struct ns1__genes_USCOREfrom_USCOREoriInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "window", -1, &a->window, ""))
+		return soap->error;
+	if (soap_out_int(soap, "purine", -1, &a->purine, ""))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	if (soap_out_int(soap, "keto", -1, &a->keto, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__genes_USCOREfrom_USCOREoriInputParams * SOAP_FMAC4 soap_in_ns1__genes_USCOREfrom_USCOREoriInputParams(struct soap *soap, const char *tag, struct ns1__genes_USCOREfrom_USCOREoriInputParams *a, const char *type)
+{
+	size_t soap_flag_window = 1;
+	size_t soap_flag_purine = 1;
+	size_t soap_flag_output = 1;
+	size_t soap_flag_keto = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__genes_USCOREfrom_USCOREoriInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriInputParams, sizeof(struct ns1__genes_USCOREfrom_USCOREoriInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__genes_USCOREfrom_USCOREoriInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_window && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "window", &a->window, "xsd:int"))
+				{	soap_flag_window--;
+					continue;
+				}
+			if (soap_flag_purine && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "purine", &a->purine, "xsd:int"))
+				{	soap_flag_purine--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap_flag_keto && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "keto", &a->keto, "xsd:int"))
+				{	soap_flag_keto--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__genes_USCOREfrom_USCOREoriInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriInputParams, 0, sizeof(struct ns1__genes_USCOREfrom_USCOREoriInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_window > 0 || soap_flag_purine > 0 || soap_flag_output > 0 || soap_flag_keto > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genes_USCOREfrom_USCOREoriInputParams(struct soap *soap, const struct ns1__genes_USCOREfrom_USCOREoriInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriInputParams);
+	if (soap_out_ns1__genes_USCOREfrom_USCOREoriInputParams(soap, tag?tag:"ns1:genes_from_oriInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__genes_USCOREfrom_USCOREoriInputParams * SOAP_FMAC4 soap_get_ns1__genes_USCOREfrom_USCOREoriInputParams(struct soap *soap, struct ns1__genes_USCOREfrom_USCOREoriInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__genes_USCOREfrom_USCOREoriInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__cbiInputParams(struct soap *soap, struct ns1__cbiInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->translate);
+	soap_default_string(soap, &a->id);
+	soap_default_string(soap, &a->del_USCOREkey);
+	soap_default_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__cbiInputParams(struct soap *soap, const struct ns1__cbiInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->id);
+	soap_serialize_string(soap, &a->del_USCOREkey);
+	soap_serialize_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__cbiInputParams(struct soap *soap, const char *tag, int id, const struct ns1__cbiInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__cbiInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "translate", -1, &a->translate, ""))
+		return soap->error;
+	if (a->id)
+	{	if (soap_out_string(soap, "id", -1, &a->id, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "id"))
+		return soap->error;
+	if (a->del_USCOREkey)
+	{	if (soap_out_string(soap, "del_key", -1, &a->del_USCOREkey, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "del_key"))
+		return soap->error;
+	if (a->tag)
+	{	if (soap_out_string(soap, "tag", -1, &a->tag, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "tag"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__cbiInputParams * SOAP_FMAC4 soap_in_ns1__cbiInputParams(struct soap *soap, const char *tag, struct ns1__cbiInputParams *a, const char *type)
+{
+	size_t soap_flag_translate = 1;
+	size_t soap_flag_id = 1;
+	size_t soap_flag_del_USCOREkey = 1;
+	size_t soap_flag_tag = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__cbiInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__cbiInputParams, sizeof(struct ns1__cbiInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__cbiInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_translate && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "translate", &a->translate, "xsd:int"))
+				{	soap_flag_translate--;
+					continue;
+				}
+			if (soap_flag_id && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "id", &a->id, "xsd:string"))
+				{	soap_flag_id--;
+					continue;
+				}
+			if (soap_flag_del_USCOREkey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "del_key", &a->del_USCOREkey, "xsd:string"))
+				{	soap_flag_del_USCOREkey--;
+					continue;
+				}
+			if (soap_flag_tag && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "tag", &a->tag, "xsd:string"))
+				{	soap_flag_tag--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__cbiInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__cbiInputParams, 0, sizeof(struct ns1__cbiInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_translate > 0 || soap_flag_id > 0 || soap_flag_del_USCOREkey > 0 || soap_flag_tag > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__cbiInputParams(struct soap *soap, const struct ns1__cbiInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__cbiInputParams);
+	if (soap_out_ns1__cbiInputParams(soap, tag?tag:"ns1:cbiInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__cbiInputParams * SOAP_FMAC4 soap_get_ns1__cbiInputParams(struct soap *soap, struct ns1__cbiInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__cbiInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREdifInputParams(struct soap *soap, struct ns1__find_USCOREdifInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->type);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREdifInputParams(struct soap *soap, const struct ns1__find_USCOREdifInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->type);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREdifInputParams(struct soap *soap, const char *tag, int id, const struct ns1__find_USCOREdifInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__find_USCOREdifInputParams), type))
+		return soap->error;
+	if (a->type)
+	{	if (soap_out_string(soap, "type", -1, &a->type, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "type"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREdifInputParams * SOAP_FMAC4 soap_in_ns1__find_USCOREdifInputParams(struct soap *soap, const char *tag, struct ns1__find_USCOREdifInputParams *a, const char *type)
+{
+	size_t soap_flag_type = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__find_USCOREdifInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__find_USCOREdifInputParams, sizeof(struct ns1__find_USCOREdifInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__find_USCOREdifInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_type && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "type", &a->type, "xsd:string"))
+				{	soap_flag_type--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREdifInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__find_USCOREdifInputParams, 0, sizeof(struct ns1__find_USCOREdifInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_type > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREdifInputParams(struct soap *soap, const struct ns1__find_USCOREdifInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__find_USCOREdifInputParams);
+	if (soap_out_ns1__find_USCOREdifInputParams(soap, tag?tag:"ns1:find_difInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREdifInputParams * SOAP_FMAC4 soap_get_ns1__find_USCOREdifInputParams(struct soap *soap, struct ns1__find_USCOREdifInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__find_USCOREdifInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__to_USCOREfastaInputParams(struct soap *soap, struct ns1__to_USCOREfastaInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->length);
+	soap_default_string(soap, &a->name);
+	soap_default_string(soap, &a->output);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__to_USCOREfastaInputParams(struct soap *soap, const struct ns1__to_USCOREfastaInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->name);
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__to_USCOREfastaInputParams(struct soap *soap, const char *tag, int id, const struct ns1__to_USCOREfastaInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__to_USCOREfastaInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "length", -1, &a->length, ""))
+		return soap->error;
+	if (a->name)
+	{	if (soap_out_string(soap, "name", -1, &a->name, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "name"))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__to_USCOREfastaInputParams * SOAP_FMAC4 soap_in_ns1__to_USCOREfastaInputParams(struct soap *soap, const char *tag, struct ns1__to_USCOREfastaInputParams *a, const char *type)
+{
+	size_t soap_flag_length = 1;
+	size_t soap_flag_name = 1;
+	size_t soap_flag_output = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__to_USCOREfastaInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__to_USCOREfastaInputParams, sizeof(struct ns1__to_USCOREfastaInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__to_USCOREfastaInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_length && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "length", &a->length, "xsd:int"))
+				{	soap_flag_length--;
+					continue;
+				}
+			if (soap_flag_name && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "name", &a->name, "xsd:string"))
+				{	soap_flag_name--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__to_USCOREfastaInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__to_USCOREfastaInputParams, 0, sizeof(struct ns1__to_USCOREfastaInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_length > 0 || soap_flag_name > 0 || soap_flag_output > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__to_USCOREfastaInputParams(struct soap *soap, const struct ns1__to_USCOREfastaInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__to_USCOREfastaInputParams);
+	if (soap_out_ns1__to_USCOREfastaInputParams(soap, tag?tag:"ns1:to_fastaInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__to_USCOREfastaInputParams * SOAP_FMAC4 soap_get_ns1__to_USCOREfastaInputParams(struct soap *soap, struct ns1__to_USCOREfastaInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__to_USCOREfastaInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__nucleotide_USCOREperiodicityInputParams(struct soap *soap, struct ns1__nucleotide_USCOREperiodicityInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->window);
+	soap_default_string(soap, &a->nucleotide);
+	soap_default_string(soap, &a->output);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__nucleotide_USCOREperiodicityInputParams(struct soap *soap, const struct ns1__nucleotide_USCOREperiodicityInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->nucleotide);
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__nucleotide_USCOREperiodicityInputParams(struct soap *soap, const char *tag, int id, const struct ns1__nucleotide_USCOREperiodicityInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__nucleotide_USCOREperiodicityInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "window", -1, &a->window, ""))
+		return soap->error;
+	if (a->nucleotide)
+	{	if (soap_out_string(soap, "nucleotide", -1, &a->nucleotide, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "nucleotide"))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__nucleotide_USCOREperiodicityInputParams * SOAP_FMAC4 soap_in_ns1__nucleotide_USCOREperiodicityInputParams(struct soap *soap, const char *tag, struct ns1__nucleotide_USCOREperiodicityInputParams *a, const char *type)
+{
+	size_t soap_flag_window = 1;
+	size_t soap_flag_nucleotide = 1;
+	size_t soap_flag_output = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__nucleotide_USCOREperiodicityInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__nucleotide_USCOREperiodicityInputParams, sizeof(struct ns1__nucleotide_USCOREperiodicityInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__nucleotide_USCOREperiodicityInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_window && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "window", &a->window, "xsd:int"))
+				{	soap_flag_window--;
+					continue;
+				}
+			if (soap_flag_nucleotide && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "nucleotide", &a->nucleotide, "xsd:string"))
+				{	soap_flag_nucleotide--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__nucleotide_USCOREperiodicityInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__nucleotide_USCOREperiodicityInputParams, 0, sizeof(struct ns1__nucleotide_USCOREperiodicityInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_window > 0 || soap_flag_nucleotide > 0 || soap_flag_output > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__nucleotide_USCOREperiodicityInputParams(struct soap *soap, const struct ns1__nucleotide_USCOREperiodicityInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__nucleotide_USCOREperiodicityInputParams);
+	if (soap_out_ns1__nucleotide_USCOREperiodicityInputParams(soap, tag?tag:"ns1:nucleotide_periodicityInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__nucleotide_USCOREperiodicityInputParams * SOAP_FMAC4 soap_get_ns1__nucleotide_USCOREperiodicityInputParams(struct soap *soap, struct ns1__nucleotide_USCOREperiodicityInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__nucleotide_USCOREperiodicityInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREentropyInputParams(struct soap *soap, struct ns1__base_USCOREentropyInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->upstream);
+	soap_default_string(soap, &a->position);
+	soap_default_int(soap, &a->downstream);
+	soap_default_string(soap, &a->output);
+	soap_default_int(soap, &a->PatLength);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREentropyInputParams(struct soap *soap, const struct ns1__base_USCOREentropyInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->position);
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREentropyInputParams(struct soap *soap, const char *tag, int id, const struct ns1__base_USCOREentropyInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__base_USCOREentropyInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "upstream", -1, &a->upstream, ""))
+		return soap->error;
+	if (a->position)
+	{	if (soap_out_string(soap, "position", -1, &a->position, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "position"))
+		return soap->error;
+	if (soap_out_int(soap, "downstream", -1, &a->downstream, ""))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	if (soap_out_int(soap, "PatLength", -1, &a->PatLength, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREentropyInputParams * SOAP_FMAC4 soap_in_ns1__base_USCOREentropyInputParams(struct soap *soap, const char *tag, struct ns1__base_USCOREentropyInputParams *a, const char *type)
+{
+	size_t soap_flag_upstream = 1;
+	size_t soap_flag_position = 1;
+	size_t soap_flag_downstream = 1;
+	size_t soap_flag_output = 1;
+	size_t soap_flag_PatLength = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__base_USCOREentropyInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__base_USCOREentropyInputParams, sizeof(struct ns1__base_USCOREentropyInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__base_USCOREentropyInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_upstream && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "upstream", &a->upstream, "xsd:int"))
+				{	soap_flag_upstream--;
+					continue;
+				}
+			if (soap_flag_position && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "position", &a->position, "xsd:string"))
+				{	soap_flag_position--;
+					continue;
+				}
+			if (soap_flag_downstream && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "downstream", &a->downstream, "xsd:int"))
+				{	soap_flag_downstream--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap_flag_PatLength && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "PatLength", &a->PatLength, "xsd:int"))
+				{	soap_flag_PatLength--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__base_USCOREentropyInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__base_USCOREentropyInputParams, 0, sizeof(struct ns1__base_USCOREentropyInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_upstream > 0 || soap_flag_position > 0 || soap_flag_downstream > 0 || soap_flag_output > 0 || soap_flag_PatLength > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREentropyInputParams(struct soap *soap, const struct ns1__base_USCOREentropyInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__base_USCOREentropyInputParams);
+	if (soap_out_ns1__base_USCOREentropyInputParams(soap, tag?tag:"ns1:base_entropyInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREentropyInputParams * SOAP_FMAC4 soap_get_ns1__base_USCOREentropyInputParams(struct soap *soap, struct ns1__base_USCOREentropyInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__base_USCOREentropyInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__plasmid_USCOREmapInputParams(struct soap *soap, struct ns1__plasmid_USCOREmapInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->ptt);
+	soap_default_int(soap, &a->cgi);
+	soap_default_string(soap, &a->output);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__plasmid_USCOREmapInputParams(struct soap *soap, const struct ns1__plasmid_USCOREmapInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->ptt);
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__plasmid_USCOREmapInputParams(struct soap *soap, const char *tag, int id, const struct ns1__plasmid_USCOREmapInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__plasmid_USCOREmapInputParams), type))
+		return soap->error;
+	if (a->ptt)
+	{	if (soap_out_string(soap, "ptt", -1, &a->ptt, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "ptt"))
+		return soap->error;
+	if (soap_out_int(soap, "cgi", -1, &a->cgi, ""))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__plasmid_USCOREmapInputParams * SOAP_FMAC4 soap_in_ns1__plasmid_USCOREmapInputParams(struct soap *soap, const char *tag, struct ns1__plasmid_USCOREmapInputParams *a, const char *type)
+{
+	size_t soap_flag_ptt = 1;
+	size_t soap_flag_cgi = 1;
+	size_t soap_flag_output = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__plasmid_USCOREmapInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__plasmid_USCOREmapInputParams, sizeof(struct ns1__plasmid_USCOREmapInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__plasmid_USCOREmapInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_ptt && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "ptt", &a->ptt, "xsd:string"))
+				{	soap_flag_ptt--;
+					continue;
+				}
+			if (soap_flag_cgi && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "cgi", &a->cgi, "xsd:int"))
+				{	soap_flag_cgi--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__plasmid_USCOREmapInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__plasmid_USCOREmapInputParams, 0, sizeof(struct ns1__plasmid_USCOREmapInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_ptt > 0 || soap_flag_cgi > 0 || soap_flag_output > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__plasmid_USCOREmapInputParams(struct soap *soap, const struct ns1__plasmid_USCOREmapInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__plasmid_USCOREmapInputParams);
+	if (soap_out_ns1__plasmid_USCOREmapInputParams(soap, tag?tag:"ns1:plasmid_mapInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__plasmid_USCOREmapInputParams * SOAP_FMAC4 soap_get_ns1__plasmid_USCOREmapInputParams(struct soap *soap, struct ns1__plasmid_USCOREmapInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__plasmid_USCOREmapInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__DoubleHelixInputParams(struct soap *soap, struct ns1__DoubleHelixInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_double(soap, &a->speed);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__DoubleHelixInputParams(struct soap *soap, const struct ns1__DoubleHelixInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__DoubleHelixInputParams(struct soap *soap, const char *tag, int id, const struct ns1__DoubleHelixInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__DoubleHelixInputParams), type))
+		return soap->error;
+	if (soap_out_double(soap, "speed", -1, &a->speed, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__DoubleHelixInputParams * SOAP_FMAC4 soap_in_ns1__DoubleHelixInputParams(struct soap *soap, const char *tag, struct ns1__DoubleHelixInputParams *a, const char *type)
+{
+	size_t soap_flag_speed = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__DoubleHelixInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__DoubleHelixInputParams, sizeof(struct ns1__DoubleHelixInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__DoubleHelixInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_speed && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_double(soap, "speed", &a->speed, "xsd:double"))
+				{	soap_flag_speed--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__DoubleHelixInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__DoubleHelixInputParams, 0, sizeof(struct ns1__DoubleHelixInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_speed > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__DoubleHelixInputParams(struct soap *soap, const struct ns1__DoubleHelixInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__DoubleHelixInputParams);
+	if (soap_out_ns1__DoubleHelixInputParams(soap, tag?tag:"ns1:DoubleHelixInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__DoubleHelixInputParams * SOAP_FMAC4 soap_get_ns1__DoubleHelixInputParams(struct soap *soap, struct ns1__DoubleHelixInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__DoubleHelixInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__rep_USCOREori_USCOREterInputParams(struct soap *soap, struct ns1__rep_USCOREori_USCOREterInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->oriloc);
+	soap_default_int(soap, &a->gcskew);
+	soap_default_int(soap, &a->dif_threshold);
+	soap_default_int(soap, &a->dbonly);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__rep_USCOREori_USCOREterInputParams(struct soap *soap, const struct ns1__rep_USCOREori_USCOREterInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__rep_USCOREori_USCOREterInputParams(struct soap *soap, const char *tag, int id, const struct ns1__rep_USCOREori_USCOREterInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__rep_USCOREori_USCOREterInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "oriloc", -1, &a->oriloc, ""))
+		return soap->error;
+	if (soap_out_int(soap, "gcskew", -1, &a->gcskew, ""))
+		return soap->error;
+	if (soap_out_int(soap, "dif-threshold", -1, &a->dif_threshold, ""))
+		return soap->error;
+	if (soap_out_int(soap, "dbonly", -1, &a->dbonly, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__rep_USCOREori_USCOREterInputParams * SOAP_FMAC4 soap_in_ns1__rep_USCOREori_USCOREterInputParams(struct soap *soap, const char *tag, struct ns1__rep_USCOREori_USCOREterInputParams *a, const char *type)
+{
+	size_t soap_flag_oriloc = 1;
+	size_t soap_flag_gcskew = 1;
+	size_t soap_flag_dif_threshold = 1;
+	size_t soap_flag_dbonly = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__rep_USCOREori_USCOREterInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__rep_USCOREori_USCOREterInputParams, sizeof(struct ns1__rep_USCOREori_USCOREterInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__rep_USCOREori_USCOREterInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_oriloc && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "oriloc", &a->oriloc, "xsd:int"))
+				{	soap_flag_oriloc--;
+					continue;
+				}
+			if (soap_flag_gcskew && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "gcskew", &a->gcskew, "xsd:int"))
+				{	soap_flag_gcskew--;
+					continue;
+				}
+			if (soap_flag_dif_threshold && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "dif-threshold", &a->dif_threshold, "xsd:int"))
+				{	soap_flag_dif_threshold--;
+					continue;
+				}
+			if (soap_flag_dbonly && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "dbonly", &a->dbonly, "xsd:int"))
+				{	soap_flag_dbonly--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__rep_USCOREori_USCOREterInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__rep_USCOREori_USCOREterInputParams, 0, sizeof(struct ns1__rep_USCOREori_USCOREterInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_oriloc > 0 || soap_flag_gcskew > 0 || soap_flag_dif_threshold > 0 || soap_flag_dbonly > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__rep_USCOREori_USCOREterInputParams(struct soap *soap, const struct ns1__rep_USCOREori_USCOREterInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__rep_USCOREori_USCOREterInputParams);
+	if (soap_out_ns1__rep_USCOREori_USCOREterInputParams(soap, tag?tag:"ns1:rep_ori_terInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__rep_USCOREori_USCOREterInputParams * SOAP_FMAC4 soap_get_ns1__rep_USCOREori_USCOREterInputParams(struct soap *soap, struct ns1__rep_USCOREori_USCOREterInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__rep_USCOREori_USCOREterInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genome_USCOREmapInputParams(struct soap *soap, struct ns1__genome_USCOREmapInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->window);
+	soap_default_int(soap, &a->name);
+	soap_default_string(soap, &a->output);
+	soap_default_double(soap, &a->amp);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genome_USCOREmapInputParams(struct soap *soap, const struct ns1__genome_USCOREmapInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genome_USCOREmapInputParams(struct soap *soap, const char *tag, int id, const struct ns1__genome_USCOREmapInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__genome_USCOREmapInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "window", -1, &a->window, ""))
+		return soap->error;
+	if (soap_out_int(soap, "name", -1, &a->name, ""))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	if (soap_out_double(soap, "amp", -1, &a->amp, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__genome_USCOREmapInputParams * SOAP_FMAC4 soap_in_ns1__genome_USCOREmapInputParams(struct soap *soap, const char *tag, struct ns1__genome_USCOREmapInputParams *a, const char *type)
+{
+	size_t soap_flag_window = 1;
+	size_t soap_flag_name = 1;
+	size_t soap_flag_output = 1;
+	size_t soap_flag_amp = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__genome_USCOREmapInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__genome_USCOREmapInputParams, sizeof(struct ns1__genome_USCOREmapInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__genome_USCOREmapInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_window && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "window", &a->window, "xsd:int"))
+				{	soap_flag_window--;
+					continue;
+				}
+			if (soap_flag_name && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "name", &a->name, "xsd:int"))
+				{	soap_flag_name--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap_flag_amp && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_double(soap, "amp", &a->amp, "xsd:double"))
+				{	soap_flag_amp--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__genome_USCOREmapInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__genome_USCOREmapInputParams, 0, sizeof(struct ns1__genome_USCOREmapInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_window > 0 || soap_flag_name > 0 || soap_flag_output > 0 || soap_flag_amp > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genome_USCOREmapInputParams(struct soap *soap, const struct ns1__genome_USCOREmapInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__genome_USCOREmapInputParams);
+	if (soap_out_ns1__genome_USCOREmapInputParams(soap, tag?tag:"ns1:genome_mapInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__genome_USCOREmapInputParams * SOAP_FMAC4 soap_get_ns1__genome_USCOREmapInputParams(struct soap *soap, struct ns1__genome_USCOREmapInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__genome_USCOREmapInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__consensus_USCOREzInputParams(struct soap *soap, struct ns1__consensus_USCOREzInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->high);
+	soap_default_double(soap, &a->low);
+	soap_default_string(soap, &a->output);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__consensus_USCOREzInputParams(struct soap *soap, const struct ns1__consensus_USCOREzInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->output);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__consensus_USCOREzInputParams(struct soap *soap, const char *tag, int id, const struct ns1__consensus_USCOREzInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__consensus_USCOREzInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "high", -1, &a->high, ""))
+		return soap->error;
+	if (soap_out_double(soap, "low", -1, &a->low, ""))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__consensus_USCOREzInputParams * SOAP_FMAC4 soap_in_ns1__consensus_USCOREzInputParams(struct soap *soap, const char *tag, struct ns1__consensus_USCOREzInputParams *a, const char *type)
+{
+	size_t soap_flag_high = 1;
+	size_t soap_flag_low = 1;
+	size_t soap_flag_output = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__consensus_USCOREzInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__consensus_USCOREzInputParams, sizeof(struct ns1__consensus_USCOREzInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__consensus_USCOREzInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_high && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "high", &a->high, "xsd:int"))
+				{	soap_flag_high--;
+					continue;
+				}
+			if (soap_flag_low && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_double(soap, "low", &a->low, "xsd:double"))
+				{	soap_flag_low--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__consensus_USCOREzInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__consensus_USCOREzInputParams, 0, sizeof(struct ns1__consensus_USCOREzInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_high > 0 || soap_flag_low > 0 || soap_flag_output > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__consensus_USCOREzInputParams(struct soap *soap, const struct ns1__consensus_USCOREzInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__consensus_USCOREzInputParams);
+	if (soap_out_ns1__consensus_USCOREzInputParams(soap, tag?tag:"ns1:consensus_zInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__consensus_USCOREzInputParams * SOAP_FMAC4 soap_get_ns1__consensus_USCOREzInputParams(struct soap *soap, struct ns1__consensus_USCOREzInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__consensus_USCOREzInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREori_USCOREterInputParams(struct soap *soap, struct ns1__find_USCOREori_USCOREterInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->window);
+	soap_default_int(soap, &a->purine);
+	soap_default_int(soap, &a->filter);
+	soap_default_int(soap, &a->keto);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREori_USCOREterInputParams(struct soap *soap, const struct ns1__find_USCOREori_USCOREterInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREori_USCOREterInputParams(struct soap *soap, const char *tag, int id, const struct ns1__find_USCOREori_USCOREterInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__find_USCOREori_USCOREterInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "window", -1, &a->window, ""))
+		return soap->error;
+	if (soap_out_int(soap, "purine", -1, &a->purine, ""))
+		return soap->error;
+	if (soap_out_int(soap, "filter", -1, &a->filter, ""))
+		return soap->error;
+	if (soap_out_int(soap, "keto", -1, &a->keto, ""))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREori_USCOREterInputParams * SOAP_FMAC4 soap_in_ns1__find_USCOREori_USCOREterInputParams(struct soap *soap, const char *tag, struct ns1__find_USCOREori_USCOREterInputParams *a, const char *type)
+{
+	size_t soap_flag_window = 1;
+	size_t soap_flag_purine = 1;
+	size_t soap_flag_filter = 1;
+	size_t soap_flag_keto = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__find_USCOREori_USCOREterInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__find_USCOREori_USCOREterInputParams, sizeof(struct ns1__find_USCOREori_USCOREterInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__find_USCOREori_USCOREterInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_window && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "window", &a->window, "xsd:int"))
+				{	soap_flag_window--;
+					continue;
+				}
+			if (soap_flag_purine && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "purine", &a->purine, "xsd:int"))
+				{	soap_flag_purine--;
+					continue;
+				}
+			if (soap_flag_filter && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "filter", &a->filter, "xsd:int"))
+				{	soap_flag_filter--;
+					continue;
+				}
+			if (soap_flag_keto && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "keto", &a->keto, "xsd:int"))
+				{	soap_flag_keto--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREori_USCOREterInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__find_USCOREori_USCOREterInputParams, 0, sizeof(struct ns1__find_USCOREori_USCOREterInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_window > 0 || soap_flag_purine > 0 || soap_flag_filter > 0 || soap_flag_keto > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREori_USCOREterInputParams(struct soap *soap, const struct ns1__find_USCOREori_USCOREterInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__find_USCOREori_USCOREterInputParams);
+	if (soap_out_ns1__find_USCOREori_USCOREterInputParams(soap, tag?tag:"ns1:find_ori_terInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREori_USCOREterInputParams * SOAP_FMAC4 soap_get_ns1__find_USCOREori_USCOREterInputParams(struct soap *soap, struct ns1__find_USCOREori_USCOREterInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__find_USCOREori_USCOREterInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__w_USCOREvalueInputParams(struct soap *soap, struct ns1__w_USCOREvalueInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->include);
+	soap_default_string(soap, &a->output);
+	soap_default_string(soap, &a->exclude);
+	soap_default_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__w_USCOREvalueInputParams(struct soap *soap, const struct ns1__w_USCOREvalueInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->include);
+	soap_serialize_string(soap, &a->output);
+	soap_serialize_string(soap, &a->exclude);
+	soap_serialize_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__w_USCOREvalueInputParams(struct soap *soap, const char *tag, int id, const struct ns1__w_USCOREvalueInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__w_USCOREvalueInputParams), type))
+		return soap->error;
+	if (a->include)
+	{	if (soap_out_string(soap, "include", -1, &a->include, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "include"))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	if (a->exclude)
+	{	if (soap_out_string(soap, "exclude", -1, &a->exclude, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "exclude"))
+		return soap->error;
+	if (a->tag)
+	{	if (soap_out_string(soap, "tag", -1, &a->tag, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "tag"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__w_USCOREvalueInputParams * SOAP_FMAC4 soap_in_ns1__w_USCOREvalueInputParams(struct soap *soap, const char *tag, struct ns1__w_USCOREvalueInputParams *a, const char *type)
+{
+	size_t soap_flag_include = 1;
+	size_t soap_flag_output = 1;
+	size_t soap_flag_exclude = 1;
+	size_t soap_flag_tag = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__w_USCOREvalueInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__w_USCOREvalueInputParams, sizeof(struct ns1__w_USCOREvalueInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__w_USCOREvalueInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_include && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "include", &a->include, "xsd:string"))
+				{	soap_flag_include--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap_flag_exclude && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "exclude", &a->exclude, "xsd:string"))
+				{	soap_flag_exclude--;
+					continue;
+				}
+			if (soap_flag_tag && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "tag", &a->tag, "xsd:string"))
+				{	soap_flag_tag--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__w_USCOREvalueInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__w_USCOREvalueInputParams, 0, sizeof(struct ns1__w_USCOREvalueInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_include > 0 || soap_flag_output > 0 || soap_flag_exclude > 0 || soap_flag_tag > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__w_USCOREvalueInputParams(struct soap *soap, const struct ns1__w_USCOREvalueInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__w_USCOREvalueInputParams);
+	if (soap_out_ns1__w_USCOREvalueInputParams(soap, tag?tag:"ns1:w_valueInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__w_USCOREvalueInputParams * SOAP_FMAC4 soap_get_ns1__w_USCOREvalueInputParams(struct soap *soap, struct ns1__w_USCOREvalueInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__w_USCOREvalueInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__P2InputParams(struct soap *soap, struct ns1__P2InputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->output);
+	soap_default_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__P2InputParams(struct soap *soap, const struct ns1__P2InputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->output);
+	soap_serialize_string(soap, &a->tag);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__P2InputParams(struct soap *soap, const char *tag, int id, const struct ns1__P2InputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__P2InputParams), type))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	if (a->tag)
+	{	if (soap_out_string(soap, "tag", -1, &a->tag, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "tag"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__P2InputParams * SOAP_FMAC4 soap_in_ns1__P2InputParams(struct soap *soap, const char *tag, struct ns1__P2InputParams *a, const char *type)
+{
+	size_t soap_flag_output = 1;
+	size_t soap_flag_tag = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__P2InputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__P2InputParams, sizeof(struct ns1__P2InputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__P2InputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap_flag_tag && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "tag", &a->tag, "xsd:string"))
+				{	soap_flag_tag--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__P2InputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__P2InputParams, 0, sizeof(struct ns1__P2InputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_output > 0 || soap_flag_tag > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__P2InputParams(struct soap *soap, const struct ns1__P2InputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__P2InputParams);
+	if (soap_out_ns1__P2InputParams(soap, tag?tag:"ns1:P2InputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__P2InputParams * SOAP_FMAC4 soap_get_ns1__P2InputParams(struct soap *soap, struct ns1__P2InputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__P2InputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREmvaInputParams(struct soap *soap, struct ns1__codon_USCOREmvaInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_int(soap, &a->parameter);
+	soap_default_int(soap, &a->naxis);
+	soap_default_int(soap, &a->translate);
+	soap_default_int(soap, &a->data);
+	soap_default_string(soap, &a->method);
+	soap_default_string(soap, &a->output);
+	soap_default_string(soap, &a->del_USCOREkey);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREmvaInputParams(struct soap *soap, const struct ns1__codon_USCOREmvaInputParams *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->method);
+	soap_serialize_string(soap, &a->output);
+	soap_serialize_string(soap, &a->del_USCOREkey);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREmvaInputParams(struct soap *soap, const char *tag, int id, const struct ns1__codon_USCOREmvaInputParams *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__codon_USCOREmvaInputParams), type))
+		return soap->error;
+	if (soap_out_int(soap, "parameter", -1, &a->parameter, ""))
+		return soap->error;
+	if (soap_out_int(soap, "naxis", -1, &a->naxis, ""))
+		return soap->error;
+	if (soap_out_int(soap, "translate", -1, &a->translate, ""))
+		return soap->error;
+	if (soap_out_int(soap, "data", -1, &a->data, ""))
+		return soap->error;
+	if (a->method)
+	{	if (soap_out_string(soap, "method", -1, &a->method, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "method"))
+		return soap->error;
+	if (a->output)
+	{	if (soap_out_string(soap, "output", -1, &a->output, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "output"))
+		return soap->error;
+	if (a->del_USCOREkey)
+	{	if (soap_out_string(soap, "del_key", -1, &a->del_USCOREkey, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "del_key"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREmvaInputParams * SOAP_FMAC4 soap_in_ns1__codon_USCOREmvaInputParams(struct soap *soap, const char *tag, struct ns1__codon_USCOREmvaInputParams *a, const char *type)
+{
+	size_t soap_flag_parameter = 1;
+	size_t soap_flag_naxis = 1;
+	size_t soap_flag_translate = 1;
+	size_t soap_flag_data = 1;
+	size_t soap_flag_method = 1;
+	size_t soap_flag_output = 1;
+	size_t soap_flag_del_USCOREkey = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__codon_USCOREmvaInputParams *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__codon_USCOREmvaInputParams, sizeof(struct ns1__codon_USCOREmvaInputParams), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__codon_USCOREmvaInputParams(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_parameter && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "parameter", &a->parameter, "xsd:int"))
+				{	soap_flag_parameter--;
+					continue;
+				}
+			if (soap_flag_naxis && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "naxis", &a->naxis, "xsd:int"))
+				{	soap_flag_naxis--;
+					continue;
+				}
+			if (soap_flag_translate && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "translate", &a->translate, "xsd:int"))
+				{	soap_flag_translate--;
+					continue;
+				}
+			if (soap_flag_data && soap->error == SOAP_TAG_MISMATCH)
+				if (soap_in_int(soap, "data", &a->data, "xsd:int"))
+				{	soap_flag_data--;
+					continue;
+				}
+			if (soap_flag_method && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "method", &a->method, "xsd:string"))
+				{	soap_flag_method--;
+					continue;
+				}
+			if (soap_flag_output && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "output", &a->output, "xsd:string"))
+				{	soap_flag_output--;
+					continue;
+				}
+			if (soap_flag_del_USCOREkey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "del_key", &a->del_USCOREkey, "xsd:string"))
+				{	soap_flag_del_USCOREkey--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__codon_USCOREmvaInputParams *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__codon_USCOREmvaInputParams, 0, sizeof(struct ns1__codon_USCOREmvaInputParams), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_parameter > 0 || soap_flag_naxis > 0 || soap_flag_translate > 0 || soap_flag_data > 0 || soap_flag_method > 0 || soap_flag_output > 0 || soap_flag_del_USCOREkey > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREmvaInputParams(struct soap *soap, const struct ns1__codon_USCOREmvaInputParams *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__codon_USCOREmvaInputParams);
+	if (soap_out_ns1__codon_USCOREmvaInputParams(soap, tag?tag:"ns1:codon_mvaInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREmvaInputParams * SOAP_FMAC4 soap_get_ns1__codon_USCOREmvaInputParams(struct soap *soap, struct ns1__codon_USCOREmvaInputParams *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__codon_USCOREmvaInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__Definition(struct soap *soap, struct ns1__Definition *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_default_string(soap, &a->entry);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__Definition(struct soap *soap, const struct ns1__Definition *a)
+{
+	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->entry);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__Definition(struct soap *soap, const char *tag, int id, const struct ns1__Definition *a, const char *type)
+{
+	(void)soap; (void)tag; (void)id; (void)type;
+	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__Definition), type))
+		return soap->error;
+	if (a->entry)
+	{	if (soap_out_string(soap, "entry", -1, &a->entry, ""))
+			return soap->error;
+	}
+	else if (soap_element_nil(soap, "entry"))
+		return soap->error;
+	return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct ns1__Definition * SOAP_FMAC4 soap_in_ns1__Definition(struct soap *soap, const char *tag, struct ns1__Definition *a, const char *type)
+{
+	size_t soap_flag_entry = 1;
+	if (soap_element_begin_in(soap, tag, 0, type))
+		return NULL;
+	a = (struct ns1__Definition *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__Definition, sizeof(struct ns1__Definition), 0, NULL, NULL, NULL);
+	if (!a)
+		return NULL;
+	soap_default_ns1__Definition(soap, a);
+	if (soap->body && !*soap->href)
+	{
+		for (;;)
+		{	soap->error = SOAP_TAG_MISMATCH;
+			if (soap_flag_entry && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, "entry", &a->entry, "xsd:string"))
+				{	soap_flag_entry--;
+					continue;
+				}
+			if (soap->error == SOAP_TAG_MISMATCH)
+				soap->error = soap_ignore_element(soap);
+			if (soap->error == SOAP_NO_TAG)
+				break;
+			if (soap->error)
+				return NULL;
+		}
+		if (soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__Definition *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__Definition, 0, sizeof(struct ns1__Definition), 0, NULL);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_entry > 0))
+	{	soap->error = SOAP_OCCURS;
+		return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__Definition(struct soap *soap, const struct ns1__Definition *a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__Definition);
+	if (soap_out_ns1__Definition(soap, tag?tag:"ns1:Definition", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__Definition * SOAP_FMAC4 soap_get_ns1__Definition(struct soap *soap, struct ns1__Definition *p, const char *tag, const char *type)
+{
+	if ((p = soap_in_ns1__Definition(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+#ifndef WITH_NOGLOBAL
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_SOAP_ENV__Reason))
+		soap_serialize_SOAP_ENV__Reason(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Reason(struct soap *soap, const char *tag, int id, struct SOAP_ENV__Reason *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_SOAP_ENV__Reason);
+	if (id < 0)
+		return soap->error;
+	return soap_out_SOAP_ENV__Reason(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct SOAP_ENV__Reason ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Reason(struct soap *soap, const char *tag, struct SOAP_ENV__Reason **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct SOAP_ENV__Reason **)soap_malloc(soap, sizeof(struct SOAP_ENV__Reason *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_SOAP_ENV__Reason(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct SOAP_ENV__Reason **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_SOAP_ENV__Reason, sizeof(struct SOAP_ENV__Reason), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerToSOAP_ENV__Reason);
+	if (soap_out_PointerToSOAP_ENV__Reason(soap, tag?tag:"SOAP-ENV:Reason", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct SOAP_ENV__Reason ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerToSOAP_ENV__Reason(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+#endif
+
+#ifndef WITH_NOGLOBAL
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_SOAP_ENV__Detail))
+		soap_serialize_SOAP_ENV__Detail(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Detail(struct soap *soap, const char *tag, int id, struct SOAP_ENV__Detail *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_SOAP_ENV__Detail);
+	if (id < 0)
+		return soap->error;
+	return soap_out_SOAP_ENV__Detail(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct SOAP_ENV__Detail ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Detail(struct soap *soap, const char *tag, struct SOAP_ENV__Detail **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct SOAP_ENV__Detail **)soap_malloc(soap, sizeof(struct SOAP_ENV__Detail *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_SOAP_ENV__Detail(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct SOAP_ENV__Detail **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_SOAP_ENV__Detail, sizeof(struct SOAP_ENV__Detail), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerToSOAP_ENV__Detail);
+	if (soap_out_PointerToSOAP_ENV__Detail(soap, tag?tag:"SOAP-ENV:Detail", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct SOAP_ENV__Detail ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerToSOAP_ENV__Detail(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+#endif
+
+#ifndef WITH_NOGLOBAL
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_SOAP_ENV__Code))
+		soap_serialize_SOAP_ENV__Code(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Code(struct soap *soap, const char *tag, int id, struct SOAP_ENV__Code *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_SOAP_ENV__Code);
+	if (id < 0)
+		return soap->error;
+	return soap_out_SOAP_ENV__Code(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct SOAP_ENV__Code ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Code(struct soap *soap, const char *tag, struct SOAP_ENV__Code **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct SOAP_ENV__Code **)soap_malloc(soap, sizeof(struct SOAP_ENV__Code *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_SOAP_ENV__Code(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct SOAP_ENV__Code **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_SOAP_ENV__Code, sizeof(struct SOAP_ENV__Code), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerToSOAP_ENV__Code);
+	if (soap_out_PointerToSOAP_ENV__Code(soap, tag?tag:"SOAP-ENV:Code", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct SOAP_ENV__Code ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerToSOAP_ENV__Code(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+#endif
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTofloat(struct soap *soap, float *const*a)
+{
+	soap_reference(soap, *a, SOAP_TYPE_float);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTofloat(struct soap *soap, const char *tag, int id, float *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_float);
+	if (id < 0)
+		return soap->error;
+	return soap_out_float(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 float ** SOAP_FMAC4 soap_in_PointerTofloat(struct soap *soap, const char *tag, float **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (float **)soap_malloc(soap, sizeof(float *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_float(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (float **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_float, sizeof(float), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTofloat(struct soap *soap, float *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTofloat);
+	if (soap_out_PointerTofloat(soap, tag?tag:"float", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 float ** SOAP_FMAC4 soap_get_PointerTofloat(struct soap *soap, float **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTofloat(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__S_USCOREvalueInputParams(struct soap *soap, struct ns1__S_USCOREvalueInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__S_USCOREvalueInputParams))
+		soap_serialize_ns1__S_USCOREvalueInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__S_USCOREvalueInputParams(struct soap *soap, const char *tag, int id, struct ns1__S_USCOREvalueInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__S_USCOREvalueInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__S_USCOREvalueInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__S_USCOREvalueInputParams ** SOAP_FMAC4 soap_in_PointerTons1__S_USCOREvalueInputParams(struct soap *soap, const char *tag, struct ns1__S_USCOREvalueInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__S_USCOREvalueInputParams **)soap_malloc(soap, sizeof(struct ns1__S_USCOREvalueInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__S_USCOREvalueInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__S_USCOREvalueInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__S_USCOREvalueInputParams, sizeof(struct ns1__S_USCOREvalueInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__S_USCOREvalueInputParams(struct soap *soap, struct ns1__S_USCOREvalueInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__S_USCOREvalueInputParams);
+	if (soap_out_PointerTons1__S_USCOREvalueInputParams(soap, tag?tag:"ns1:S_valueInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__S_USCOREvalueInputParams ** SOAP_FMAC4 soap_get_PointerTons1__S_USCOREvalueInputParams(struct soap *soap, struct ns1__S_USCOREvalueInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__S_USCOREvalueInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__leading_USCOREstrandResponse(struct soap *soap, struct ns1__leading_USCOREstrandResponse *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__leading_USCOREstrandResponse))
+		soap_serialize_ns1__leading_USCOREstrandResponse(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__leading_USCOREstrandResponse(struct soap *soap, const char *tag, int id, struct ns1__leading_USCOREstrandResponse *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__leading_USCOREstrandResponse);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__leading_USCOREstrandResponse(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__leading_USCOREstrandResponse ** SOAP_FMAC4 soap_in_PointerTons1__leading_USCOREstrandResponse(struct soap *soap, const char *tag, struct ns1__leading_USCOREstrandResponse **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__leading_USCOREstrandResponse **)soap_malloc(soap, sizeof(struct ns1__leading_USCOREstrandResponse *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__leading_USCOREstrandResponse(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__leading_USCOREstrandResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__leading_USCOREstrandResponse, sizeof(struct ns1__leading_USCOREstrandResponse), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__leading_USCOREstrandResponse(struct soap *soap, struct ns1__leading_USCOREstrandResponse *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__leading_USCOREstrandResponse);
+	if (soap_out_PointerTons1__leading_USCOREstrandResponse(soap, tag?tag:"ns1:leading_strandResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__leading_USCOREstrandResponse ** SOAP_FMAC4 soap_get_PointerTons1__leading_USCOREstrandResponse(struct soap *soap, struct ns1__leading_USCOREstrandResponse **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__leading_USCOREstrandResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__scsInputParams(struct soap *soap, struct ns1__scsInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__scsInputParams))
+		soap_serialize_ns1__scsInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__scsInputParams(struct soap *soap, const char *tag, int id, struct ns1__scsInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__scsInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__scsInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__scsInputParams ** SOAP_FMAC4 soap_in_PointerTons1__scsInputParams(struct soap *soap, const char *tag, struct ns1__scsInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__scsInputParams **)soap_malloc(soap, sizeof(struct ns1__scsInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__scsInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__scsInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__scsInputParams, sizeof(struct ns1__scsInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__scsInputParams(struct soap *soap, struct ns1__scsInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__scsInputParams);
+	if (soap_out_PointerTons1__scsInputParams(soap, tag?tag:"ns1:scsInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__scsInputParams ** SOAP_FMAC4 soap_get_PointerTons1__scsInputParams(struct soap *soap, struct ns1__scsInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__scsInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__lda_USCOREbiasInputParams(struct soap *soap, struct ns1__lda_USCOREbiasInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__lda_USCOREbiasInputParams))
+		soap_serialize_ns1__lda_USCOREbiasInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__lda_USCOREbiasInputParams(struct soap *soap, const char *tag, int id, struct ns1__lda_USCOREbiasInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__lda_USCOREbiasInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__lda_USCOREbiasInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__lda_USCOREbiasInputParams ** SOAP_FMAC4 soap_in_PointerTons1__lda_USCOREbiasInputParams(struct soap *soap, const char *tag, struct ns1__lda_USCOREbiasInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__lda_USCOREbiasInputParams **)soap_malloc(soap, sizeof(struct ns1__lda_USCOREbiasInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__lda_USCOREbiasInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__lda_USCOREbiasInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__lda_USCOREbiasInputParams, sizeof(struct ns1__lda_USCOREbiasInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__lda_USCOREbiasInputParams(struct soap *soap, struct ns1__lda_USCOREbiasInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__lda_USCOREbiasInputParams);
+	if (soap_out_PointerTons1__lda_USCOREbiasInputParams(soap, tag?tag:"ns1:lda_biasInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__lda_USCOREbiasInputParams ** SOAP_FMAC4 soap_get_PointerTons1__lda_USCOREbiasInputParams(struct soap *soap, struct ns1__lda_USCOREbiasInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__lda_USCOREbiasInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__kmer_USCOREtableInputParams(struct soap *soap, struct ns1__kmer_USCOREtableInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__kmer_USCOREtableInputParams))
+		soap_serialize_ns1__kmer_USCOREtableInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__kmer_USCOREtableInputParams(struct soap *soap, const char *tag, int id, struct ns1__kmer_USCOREtableInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__kmer_USCOREtableInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__kmer_USCOREtableInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__kmer_USCOREtableInputParams ** SOAP_FMAC4 soap_in_PointerTons1__kmer_USCOREtableInputParams(struct soap *soap, const char *tag, struct ns1__kmer_USCOREtableInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__kmer_USCOREtableInputParams **)soap_malloc(soap, sizeof(struct ns1__kmer_USCOREtableInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__kmer_USCOREtableInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__kmer_USCOREtableInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__kmer_USCOREtableInputParams, sizeof(struct ns1__kmer_USCOREtableInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__kmer_USCOREtableInputParams(struct soap *soap, struct ns1__kmer_USCOREtableInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__kmer_USCOREtableInputParams);
+	if (soap_out_PointerTons1__kmer_USCOREtableInputParams(soap, tag?tag:"ns1:kmer_tableInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__kmer_USCOREtableInputParams ** SOAP_FMAC4 soap_get_PointerTons1__kmer_USCOREtableInputParams(struct soap *soap, struct ns1__kmer_USCOREtableInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__kmer_USCOREtableInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__base_USCOREz_USCOREvalueInputParams(struct soap *soap, struct ns1__base_USCOREz_USCOREvalueInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__base_USCOREz_USCOREvalueInputParams))
+		soap_serialize_ns1__base_USCOREz_USCOREvalueInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__base_USCOREz_USCOREvalueInputParams(struct soap *soap, const char *tag, int id, struct ns1__base_USCOREz_USCOREvalueInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__base_USCOREz_USCOREvalueInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__base_USCOREz_USCOREvalueInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREz_USCOREvalueInputParams ** SOAP_FMAC4 soap_in_PointerTons1__base_USCOREz_USCOREvalueInputParams(struct soap *soap, const char *tag, struct ns1__base_USCOREz_USCOREvalueInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__base_USCOREz_USCOREvalueInputParams **)soap_malloc(soap, sizeof(struct ns1__base_USCOREz_USCOREvalueInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__base_USCOREz_USCOREvalueInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__base_USCOREz_USCOREvalueInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__base_USCOREz_USCOREvalueInputParams, sizeof(struct ns1__base_USCOREz_USCOREvalueInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__base_USCOREz_USCOREvalueInputParams(struct soap *soap, struct ns1__base_USCOREz_USCOREvalueInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__base_USCOREz_USCOREvalueInputParams);
+	if (soap_out_PointerTons1__base_USCOREz_USCOREvalueInputParams(soap, tag?tag:"ns1:base_z_valueInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREz_USCOREvalueInputParams ** SOAP_FMAC4 soap_get_PointerTons1__base_USCOREz_USCOREvalueInputParams(struct soap *soap, struct ns1__base_USCOREz_USCOREvalueInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__base_USCOREz_USCOREvalueInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__base_USCOREcounterInputParams(struct soap *soap, struct ns1__base_USCOREcounterInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__base_USCOREcounterInputParams))
+		soap_serialize_ns1__base_USCOREcounterInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__base_USCOREcounterInputParams(struct soap *soap, const char *tag, int id, struct ns1__base_USCOREcounterInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__base_USCOREcounterInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__base_USCOREcounterInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREcounterInputParams ** SOAP_FMAC4 soap_in_PointerTons1__base_USCOREcounterInputParams(struct soap *soap, const char *tag, struct ns1__base_USCOREcounterInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__base_USCOREcounterInputParams **)soap_malloc(soap, sizeof(struct ns1__base_USCOREcounterInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__base_USCOREcounterInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__base_USCOREcounterInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__base_USCOREcounterInputParams, sizeof(struct ns1__base_USCOREcounterInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__base_USCOREcounterInputParams(struct soap *soap, struct ns1__base_USCOREcounterInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__base_USCOREcounterInputParams);
+	if (soap_out_PointerTons1__base_USCOREcounterInputParams(soap, tag?tag:"ns1:base_counterInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREcounterInputParams ** SOAP_FMAC4 soap_get_PointerTons1__base_USCOREcounterInputParams(struct soap *soap, struct ns1__base_USCOREcounterInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__base_USCOREcounterInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__B1InputParams(struct soap *soap, struct ns1__B1InputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__B1InputParams))
+		soap_serialize_ns1__B1InputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__B1InputParams(struct soap *soap, const char *tag, int id, struct ns1__B1InputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__B1InputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__B1InputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__B1InputParams ** SOAP_FMAC4 soap_in_PointerTons1__B1InputParams(struct soap *soap, const char *tag, struct ns1__B1InputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__B1InputParams **)soap_malloc(soap, sizeof(struct ns1__B1InputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__B1InputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__B1InputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__B1InputParams, sizeof(struct ns1__B1InputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__B1InputParams(struct soap *soap, struct ns1__B1InputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__B1InputParams);
+	if (soap_out_PointerTons1__B1InputParams(soap, tag?tag:"ns1:B1InputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__B1InputParams ** SOAP_FMAC4 soap_get_PointerTons1__B1InputParams(struct soap *soap, struct ns1__B1InputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__B1InputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__cgrInputParams(struct soap *soap, struct ns1__cgrInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__cgrInputParams))
+		soap_serialize_ns1__cgrInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__cgrInputParams(struct soap *soap, const char *tag, int id, struct ns1__cgrInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__cgrInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__cgrInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__cgrInputParams ** SOAP_FMAC4 soap_in_PointerTons1__cgrInputParams(struct soap *soap, const char *tag, struct ns1__cgrInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__cgrInputParams **)soap_malloc(soap, sizeof(struct ns1__cgrInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__cgrInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__cgrInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__cgrInputParams, sizeof(struct ns1__cgrInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__cgrInputParams(struct soap *soap, struct ns1__cgrInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__cgrInputParams);
+	if (soap_out_PointerTons1__cgrInputParams(soap, tag?tag:"ns1:cgrInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__cgrInputParams ** SOAP_FMAC4 soap_get_PointerTons1__cgrInputParams(struct soap *soap, struct ns1__cgrInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__cgrInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__dinucInputParams(struct soap *soap, struct ns1__dinucInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__dinucInputParams))
+		soap_serialize_ns1__dinucInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__dinucInputParams(struct soap *soap, const char *tag, int id, struct ns1__dinucInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__dinucInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__dinucInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__dinucInputParams ** SOAP_FMAC4 soap_in_PointerTons1__dinucInputParams(struct soap *soap, const char *tag, struct ns1__dinucInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__dinucInputParams **)soap_malloc(soap, sizeof(struct ns1__dinucInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__dinucInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__dinucInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__dinucInputParams, sizeof(struct ns1__dinucInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__dinucInputParams(struct soap *soap, struct ns1__dinucInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__dinucInputParams);
+	if (soap_out_PointerTons1__dinucInputParams(soap, tag?tag:"ns1:dinucInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__dinucInputParams ** SOAP_FMAC4 soap_get_PointerTons1__dinucInputParams(struct soap *soap, struct ns1__dinucInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__dinucInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__least_USCOREsquares_USCOREfitResponse(struct soap *soap, struct ns1__least_USCOREsquares_USCOREfitResponse *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__least_USCOREsquares_USCOREfitResponse))
+		soap_serialize_ns1__least_USCOREsquares_USCOREfitResponse(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__least_USCOREsquares_USCOREfitResponse(struct soap *soap, const char *tag, int id, struct ns1__least_USCOREsquares_USCOREfitResponse *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__least_USCOREsquares_USCOREfitResponse);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__least_USCOREsquares_USCOREfitResponse(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__least_USCOREsquares_USCOREfitResponse ** SOAP_FMAC4 soap_in_PointerTons1__least_USCOREsquares_USCOREfitResponse(struct soap *soap, const char *tag, struct ns1__least_USCOREsquares_USCOREfitResponse **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__least_USCOREsquares_USCOREfitResponse **)soap_malloc(soap, sizeof(struct ns1__least_USCOREsquares_USCOREfitResponse *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__least_USCOREsquares_USCOREfitResponse(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__least_USCOREsquares_USCOREfitResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__least_USCOREsquares_USCOREfitResponse, sizeof(struct ns1__least_USCOREsquares_USCOREfitResponse), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__least_USCOREsquares_USCOREfitResponse(struct soap *soap, struct ns1__least_USCOREsquares_USCOREfitResponse *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__least_USCOREsquares_USCOREfitResponse);
+	if (soap_out_PointerTons1__least_USCOREsquares_USCOREfitResponse(soap, tag?tag:"ns1:least_squares_fitResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__least_USCOREsquares_USCOREfitResponse ** SOAP_FMAC4 soap_get_PointerTons1__least_USCOREsquares_USCOREfitResponse(struct soap *soap, struct ns1__least_USCOREsquares_USCOREfitResponse **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__least_USCOREsquares_USCOREfitResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__palindromeInputParams(struct soap *soap, struct ns1__palindromeInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__palindromeInputParams))
+		soap_serialize_ns1__palindromeInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__palindromeInputParams(struct soap *soap, const char *tag, int id, struct ns1__palindromeInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__palindromeInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__palindromeInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__palindromeInputParams ** SOAP_FMAC4 soap_in_PointerTons1__palindromeInputParams(struct soap *soap, const char *tag, struct ns1__palindromeInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__palindromeInputParams **)soap_malloc(soap, sizeof(struct ns1__palindromeInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__palindromeInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__palindromeInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__palindromeInputParams, sizeof(struct ns1__palindromeInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__palindromeInputParams(struct soap *soap, struct ns1__palindromeInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__palindromeInputParams);
+	if (soap_out_PointerTons1__palindromeInputParams(soap, tag?tag:"ns1:palindromeInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__palindromeInputParams ** SOAP_FMAC4 soap_get_PointerTons1__palindromeInputParams(struct soap *soap, struct ns1__palindromeInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__palindromeInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__codon_USCOREcounterInputParams(struct soap *soap, struct ns1__codon_USCOREcounterInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__codon_USCOREcounterInputParams))
+		soap_serialize_ns1__codon_USCOREcounterInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__codon_USCOREcounterInputParams(struct soap *soap, const char *tag, int id, struct ns1__codon_USCOREcounterInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__codon_USCOREcounterInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__codon_USCOREcounterInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREcounterInputParams ** SOAP_FMAC4 soap_in_PointerTons1__codon_USCOREcounterInputParams(struct soap *soap, const char *tag, struct ns1__codon_USCOREcounterInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__codon_USCOREcounterInputParams **)soap_malloc(soap, sizeof(struct ns1__codon_USCOREcounterInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__codon_USCOREcounterInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__codon_USCOREcounterInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__codon_USCOREcounterInputParams, sizeof(struct ns1__codon_USCOREcounterInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__codon_USCOREcounterInputParams(struct soap *soap, struct ns1__codon_USCOREcounterInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__codon_USCOREcounterInputParams);
+	if (soap_out_PointerTons1__codon_USCOREcounterInputParams(soap, tag?tag:"ns1:codon_counterInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREcounterInputParams ** SOAP_FMAC4 soap_get_PointerTons1__codon_USCOREcounterInputParams(struct soap *soap, struct ns1__codon_USCOREcounterInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__codon_USCOREcounterInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__find_USCOREiteronInputParams(struct soap *soap, struct ns1__find_USCOREiteronInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__find_USCOREiteronInputParams))
+		soap_serialize_ns1__find_USCOREiteronInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__find_USCOREiteronInputParams(struct soap *soap, const char *tag, int id, struct ns1__find_USCOREiteronInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__find_USCOREiteronInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__find_USCOREiteronInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREiteronInputParams ** SOAP_FMAC4 soap_in_PointerTons1__find_USCOREiteronInputParams(struct soap *soap, const char *tag, struct ns1__find_USCOREiteronInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__find_USCOREiteronInputParams **)soap_malloc(soap, sizeof(struct ns1__find_USCOREiteronInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__find_USCOREiteronInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREiteronInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__find_USCOREiteronInputParams, sizeof(struct ns1__find_USCOREiteronInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__find_USCOREiteronInputParams(struct soap *soap, struct ns1__find_USCOREiteronInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__find_USCOREiteronInputParams);
+	if (soap_out_PointerTons1__find_USCOREiteronInputParams(soap, tag?tag:"ns1:find_iteronInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREiteronInputParams ** SOAP_FMAC4 soap_get_PointerTons1__find_USCOREiteronInputParams(struct soap *soap, struct ns1__find_USCOREiteronInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__find_USCOREiteronInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__codon_USCOREusageInputParams(struct soap *soap, struct ns1__codon_USCOREusageInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__codon_USCOREusageInputParams))
+		soap_serialize_ns1__codon_USCOREusageInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__codon_USCOREusageInputParams(struct soap *soap, const char *tag, int id, struct ns1__codon_USCOREusageInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__codon_USCOREusageInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__codon_USCOREusageInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREusageInputParams ** SOAP_FMAC4 soap_in_PointerTons1__codon_USCOREusageInputParams(struct soap *soap, const char *tag, struct ns1__codon_USCOREusageInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__codon_USCOREusageInputParams **)soap_malloc(soap, sizeof(struct ns1__codon_USCOREusageInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__codon_USCOREusageInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__codon_USCOREusageInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__codon_USCOREusageInputParams, sizeof(struct ns1__codon_USCOREusageInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__codon_USCOREusageInputParams(struct soap *soap, struct ns1__codon_USCOREusageInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__codon_USCOREusageInputParams);
+	if (soap_out_PointerTons1__codon_USCOREusageInputParams(soap, tag?tag:"ns1:codon_usageInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREusageInputParams ** SOAP_FMAC4 soap_get_PointerTons1__codon_USCOREusageInputParams(struct soap *soap, struct ns1__codon_USCOREusageInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__codon_USCOREusageInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__oligomer_USCOREcounterInputParams(struct soap *soap, struct ns1__oligomer_USCOREcounterInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__oligomer_USCOREcounterInputParams))
+		soap_serialize_ns1__oligomer_USCOREcounterInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__oligomer_USCOREcounterInputParams(struct soap *soap, const char *tag, int id, struct ns1__oligomer_USCOREcounterInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__oligomer_USCOREcounterInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__oligomer_USCOREcounterInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREcounterInputParams ** SOAP_FMAC4 soap_in_PointerTons1__oligomer_USCOREcounterInputParams(struct soap *soap, const char *tag, struct ns1__oligomer_USCOREcounterInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__oligomer_USCOREcounterInputParams **)soap_malloc(soap, sizeof(struct ns1__oligomer_USCOREcounterInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__oligomer_USCOREcounterInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__oligomer_USCOREcounterInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__oligomer_USCOREcounterInputParams, sizeof(struct ns1__oligomer_USCOREcounterInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__oligomer_USCOREcounterInputParams(struct soap *soap, struct ns1__oligomer_USCOREcounterInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__oligomer_USCOREcounterInputParams);
+	if (soap_out_PointerTons1__oligomer_USCOREcounterInputParams(soap, tag?tag:"ns1:oligomer_counterInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREcounterInputParams ** SOAP_FMAC4 soap_get_PointerTons1__oligomer_USCOREcounterInputParams(struct soap *soap, struct ns1__oligomer_USCOREcounterInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__oligomer_USCOREcounterInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__gcwinInputParams(struct soap *soap, struct ns1__gcwinInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__gcwinInputParams))
+		soap_serialize_ns1__gcwinInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__gcwinInputParams(struct soap *soap, const char *tag, int id, struct ns1__gcwinInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__gcwinInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__gcwinInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__gcwinInputParams ** SOAP_FMAC4 soap_in_PointerTons1__gcwinInputParams(struct soap *soap, const char *tag, struct ns1__gcwinInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__gcwinInputParams **)soap_malloc(soap, sizeof(struct ns1__gcwinInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__gcwinInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__gcwinInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__gcwinInputParams, sizeof(struct ns1__gcwinInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__gcwinInputParams(struct soap *soap, struct ns1__gcwinInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__gcwinInputParams);
+	if (soap_out_PointerTons1__gcwinInputParams(soap, tag?tag:"ns1:gcwinInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__gcwinInputParams ** SOAP_FMAC4 soap_get_PointerTons1__gcwinInputParams(struct soap *soap, struct ns1__gcwinInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__gcwinInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__find_USCOREpatternInputParams(struct soap *soap, struct ns1__find_USCOREpatternInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__find_USCOREpatternInputParams))
+		soap_serialize_ns1__find_USCOREpatternInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__find_USCOREpatternInputParams(struct soap *soap, const char *tag, int id, struct ns1__find_USCOREpatternInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__find_USCOREpatternInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__find_USCOREpatternInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREpatternInputParams ** SOAP_FMAC4 soap_in_PointerTons1__find_USCOREpatternInputParams(struct soap *soap, const char *tag, struct ns1__find_USCOREpatternInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__find_USCOREpatternInputParams **)soap_malloc(soap, sizeof(struct ns1__find_USCOREpatternInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__find_USCOREpatternInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREpatternInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__find_USCOREpatternInputParams, sizeof(struct ns1__find_USCOREpatternInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__find_USCOREpatternInputParams(struct soap *soap, struct ns1__find_USCOREpatternInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__find_USCOREpatternInputParams);
+	if (soap_out_PointerTons1__find_USCOREpatternInputParams(soap, tag?tag:"ns1:find_patternInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREpatternInputParams ** SOAP_FMAC4 soap_get_PointerTons1__find_USCOREpatternInputParams(struct soap *soap, struct ns1__find_USCOREpatternInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__find_USCOREpatternInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__oligomer_USCOREsearchResponse(struct soap *soap, struct ns1__oligomer_USCOREsearchResponse *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__oligomer_USCOREsearchResponse))
+		soap_serialize_ns1__oligomer_USCOREsearchResponse(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__oligomer_USCOREsearchResponse(struct soap *soap, const char *tag, int id, struct ns1__oligomer_USCOREsearchResponse *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__oligomer_USCOREsearchResponse);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__oligomer_USCOREsearchResponse(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREsearchResponse ** SOAP_FMAC4 soap_in_PointerTons1__oligomer_USCOREsearchResponse(struct soap *soap, const char *tag, struct ns1__oligomer_USCOREsearchResponse **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__oligomer_USCOREsearchResponse **)soap_malloc(soap, sizeof(struct ns1__oligomer_USCOREsearchResponse *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__oligomer_USCOREsearchResponse(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__oligomer_USCOREsearchResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__oligomer_USCOREsearchResponse, sizeof(struct ns1__oligomer_USCOREsearchResponse), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__oligomer_USCOREsearchResponse(struct soap *soap, struct ns1__oligomer_USCOREsearchResponse *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__oligomer_USCOREsearchResponse);
+	if (soap_out_PointerTons1__oligomer_USCOREsearchResponse(soap, tag?tag:"ns1:oligomer_searchResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREsearchResponse ** SOAP_FMAC4 soap_get_PointerTons1__oligomer_USCOREsearchResponse(struct soap *soap, struct ns1__oligomer_USCOREsearchResponse **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__oligomer_USCOREsearchResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__oligomer_USCOREsearchInputParams(struct soap *soap, struct ns1__oligomer_USCOREsearchInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__oligomer_USCOREsearchInputParams))
+		soap_serialize_ns1__oligomer_USCOREsearchInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__oligomer_USCOREsearchInputParams(struct soap *soap, const char *tag, int id, struct ns1__oligomer_USCOREsearchInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__oligomer_USCOREsearchInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__oligomer_USCOREsearchInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREsearchInputParams ** SOAP_FMAC4 soap_in_PointerTons1__oligomer_USCOREsearchInputParams(struct soap *soap, const char *tag, struct ns1__oligomer_USCOREsearchInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__oligomer_USCOREsearchInputParams **)soap_malloc(soap, sizeof(struct ns1__oligomer_USCOREsearchInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__oligomer_USCOREsearchInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__oligomer_USCOREsearchInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__oligomer_USCOREsearchInputParams, sizeof(struct ns1__oligomer_USCOREsearchInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__oligomer_USCOREsearchInputParams(struct soap *soap, struct ns1__oligomer_USCOREsearchInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__oligomer_USCOREsearchInputParams);
+	if (soap_out_PointerTons1__oligomer_USCOREsearchInputParams(soap, tag?tag:"ns1:oligomer_searchInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREsearchInputParams ** SOAP_FMAC4 soap_get_PointerTons1__oligomer_USCOREsearchInputParams(struct soap *soap, struct ns1__oligomer_USCOREsearchInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__oligomer_USCOREsearchInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__shuffleseqInputParams(struct soap *soap, struct ns1__shuffleseqInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__shuffleseqInputParams))
+		soap_serialize_ns1__shuffleseqInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__shuffleseqInputParams(struct soap *soap, const char *tag, int id, struct ns1__shuffleseqInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__shuffleseqInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__shuffleseqInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__shuffleseqInputParams ** SOAP_FMAC4 soap_in_PointerTons1__shuffleseqInputParams(struct soap *soap, const char *tag, struct ns1__shuffleseqInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__shuffleseqInputParams **)soap_malloc(soap, sizeof(struct ns1__shuffleseqInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__shuffleseqInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__shuffleseqInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__shuffleseqInputParams, sizeof(struct ns1__shuffleseqInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__shuffleseqInputParams(struct soap *soap, struct ns1__shuffleseqInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__shuffleseqInputParams);
+	if (soap_out_PointerTons1__shuffleseqInputParams(soap, tag?tag:"ns1:shuffleseqInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__shuffleseqInputParams ** SOAP_FMAC4 soap_get_PointerTons1__shuffleseqInputParams(struct soap *soap, struct ns1__shuffleseqInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__shuffleseqInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__find_USCOREterResponse(struct soap *soap, struct ns1__find_USCOREterResponse *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__find_USCOREterResponse))
+		soap_serialize_ns1__find_USCOREterResponse(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__find_USCOREterResponse(struct soap *soap, const char *tag, int id, struct ns1__find_USCOREterResponse *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__find_USCOREterResponse);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__find_USCOREterResponse(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREterResponse ** SOAP_FMAC4 soap_in_PointerTons1__find_USCOREterResponse(struct soap *soap, const char *tag, struct ns1__find_USCOREterResponse **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__find_USCOREterResponse **)soap_malloc(soap, sizeof(struct ns1__find_USCOREterResponse *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__find_USCOREterResponse(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREterResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__find_USCOREterResponse, sizeof(struct ns1__find_USCOREterResponse), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__find_USCOREterResponse(struct soap *soap, struct ns1__find_USCOREterResponse *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__find_USCOREterResponse);
+	if (soap_out_PointerTons1__find_USCOREterResponse(soap, tag?tag:"ns1:find_terResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREterResponse ** SOAP_FMAC4 soap_get_PointerTons1__find_USCOREterResponse(struct soap *soap, struct ns1__find_USCOREterResponse **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__find_USCOREterResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__find_USCOREterInputParams(struct soap *soap, struct ns1__find_USCOREterInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__find_USCOREterInputParams))
+		soap_serialize_ns1__find_USCOREterInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__find_USCOREterInputParams(struct soap *soap, const char *tag, int id, struct ns1__find_USCOREterInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__find_USCOREterInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__find_USCOREterInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREterInputParams ** SOAP_FMAC4 soap_in_PointerTons1__find_USCOREterInputParams(struct soap *soap, const char *tag, struct ns1__find_USCOREterInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__find_USCOREterInputParams **)soap_malloc(soap, sizeof(struct ns1__find_USCOREterInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__find_USCOREterInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREterInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__find_USCOREterInputParams, sizeof(struct ns1__find_USCOREterInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__find_USCOREterInputParams(struct soap *soap, struct ns1__find_USCOREterInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__find_USCOREterInputParams);
+	if (soap_out_PointerTons1__find_USCOREterInputParams(soap, tag?tag:"ns1:find_terInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREterInputParams ** SOAP_FMAC4 soap_get_PointerTons1__find_USCOREterInputParams(struct soap *soap, struct ns1__find_USCOREterInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__find_USCOREterInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__dnawalkInputParams(struct soap *soap, struct ns1__dnawalkInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__dnawalkInputParams))
+		soap_serialize_ns1__dnawalkInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__dnawalkInputParams(struct soap *soap, const char *tag, int id, struct ns1__dnawalkInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__dnawalkInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__dnawalkInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__dnawalkInputParams ** SOAP_FMAC4 soap_in_PointerTons1__dnawalkInputParams(struct soap *soap, const char *tag, struct ns1__dnawalkInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__dnawalkInputParams **)soap_malloc(soap, sizeof(struct ns1__dnawalkInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__dnawalkInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__dnawalkInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__dnawalkInputParams, sizeof(struct ns1__dnawalkInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__dnawalkInputParams(struct soap *soap, struct ns1__dnawalkInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__dnawalkInputParams);
+	if (soap_out_PointerTons1__dnawalkInputParams(soap, tag?tag:"ns1:dnawalkInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__dnawalkInputParams ** SOAP_FMAC4 soap_get_PointerTons1__dnawalkInputParams(struct soap *soap, struct ns1__dnawalkInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__dnawalkInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(struct soap *soap, struct ns1__base_USCOREinformation_USCOREcontentInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentInputParams))
+		soap_serialize_ns1__base_USCOREinformation_USCOREcontentInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(struct soap *soap, const char *tag, int id, struct ns1__base_USCOREinformation_USCOREcontentInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__base_USCOREinformation_USCOREcontentInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREinformation_USCOREcontentInputParams ** SOAP_FMAC4 soap_in_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(struct soap *soap, const char *tag, struct ns1__base_USCOREinformation_USCOREcontentInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__base_USCOREinformation_USCOREcontentInputParams **)soap_malloc(soap, sizeof(struct ns1__base_USCOREinformation_USCOREcontentInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__base_USCOREinformation_USCOREcontentInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__base_USCOREinformation_USCOREcontentInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentInputParams, sizeof(struct ns1__base_USCOREinformation_USCOREcontentInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(struct soap *soap, struct ns1__base_USCOREinformation_USCOREcontentInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__base_USCOREinformation_USCOREcontentInputParams);
+	if (soap_out_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(soap, tag?tag:"ns1:base_information_contentInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREinformation_USCOREcontentInputParams ** SOAP_FMAC4 soap_get_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(struct soap *soap, struct ns1__base_USCOREinformation_USCOREcontentInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__signatureInputParams(struct soap *soap, struct ns1__signatureInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__signatureInputParams))
+		soap_serialize_ns1__signatureInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__signatureInputParams(struct soap *soap, const char *tag, int id, struct ns1__signatureInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__signatureInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__signatureInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__signatureInputParams ** SOAP_FMAC4 soap_in_PointerTons1__signatureInputParams(struct soap *soap, const char *tag, struct ns1__signatureInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__signatureInputParams **)soap_malloc(soap, sizeof(struct ns1__signatureInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__signatureInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__signatureInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__signatureInputParams, sizeof(struct ns1__signatureInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__signatureInputParams(struct soap *soap, struct ns1__signatureInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__signatureInputParams);
+	if (soap_out_PointerTons1__signatureInputParams(soap, tag?tag:"ns1:signatureInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__signatureInputParams ** SOAP_FMAC4 soap_get_PointerTons1__signatureInputParams(struct soap *soap, struct ns1__signatureInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__signatureInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__genome_USCOREmap3InputParams(struct soap *soap, struct ns1__genome_USCOREmap3InputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__genome_USCOREmap3InputParams))
+		soap_serialize_ns1__genome_USCOREmap3InputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__genome_USCOREmap3InputParams(struct soap *soap, const char *tag, int id, struct ns1__genome_USCOREmap3InputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__genome_USCOREmap3InputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__genome_USCOREmap3InputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__genome_USCOREmap3InputParams ** SOAP_FMAC4 soap_in_PointerTons1__genome_USCOREmap3InputParams(struct soap *soap, const char *tag, struct ns1__genome_USCOREmap3InputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__genome_USCOREmap3InputParams **)soap_malloc(soap, sizeof(struct ns1__genome_USCOREmap3InputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__genome_USCOREmap3InputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__genome_USCOREmap3InputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__genome_USCOREmap3InputParams, sizeof(struct ns1__genome_USCOREmap3InputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__genome_USCOREmap3InputParams(struct soap *soap, struct ns1__genome_USCOREmap3InputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__genome_USCOREmap3InputParams);
+	if (soap_out_PointerTons1__genome_USCOREmap3InputParams(soap, tag?tag:"ns1:genome_map3InputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__genome_USCOREmap3InputParams ** SOAP_FMAC4 soap_get_PointerTons1__genome_USCOREmap3InputParams(struct soap *soap, struct ns1__genome_USCOREmap3InputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__genome_USCOREmap3InputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__gcskewInputParams(struct soap *soap, struct ns1__gcskewInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__gcskewInputParams))
+		soap_serialize_ns1__gcskewInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__gcskewInputParams(struct soap *soap, const char *tag, int id, struct ns1__gcskewInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__gcskewInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__gcskewInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__gcskewInputParams ** SOAP_FMAC4 soap_in_PointerTons1__gcskewInputParams(struct soap *soap, const char *tag, struct ns1__gcskewInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__gcskewInputParams **)soap_malloc(soap, sizeof(struct ns1__gcskewInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__gcskewInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__gcskewInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__gcskewInputParams, sizeof(struct ns1__gcskewInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__gcskewInputParams(struct soap *soap, struct ns1__gcskewInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__gcskewInputParams);
+	if (soap_out_PointerTons1__gcskewInputParams(soap, tag?tag:"ns1:gcskewInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__gcskewInputParams ** SOAP_FMAC4 soap_get_PointerTons1__gcskewInputParams(struct soap *soap, struct ns1__gcskewInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__gcskewInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__molecular_USCOREweightInputParams(struct soap *soap, struct ns1__molecular_USCOREweightInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__molecular_USCOREweightInputParams))
+		soap_serialize_ns1__molecular_USCOREweightInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__molecular_USCOREweightInputParams(struct soap *soap, const char *tag, int id, struct ns1__molecular_USCOREweightInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__molecular_USCOREweightInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__molecular_USCOREweightInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__molecular_USCOREweightInputParams ** SOAP_FMAC4 soap_in_PointerTons1__molecular_USCOREweightInputParams(struct soap *soap, const char *tag, struct ns1__molecular_USCOREweightInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__molecular_USCOREweightInputParams **)soap_malloc(soap, sizeof(struct ns1__molecular_USCOREweightInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__molecular_USCOREweightInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__molecular_USCOREweightInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__molecular_USCOREweightInputParams, sizeof(struct ns1__molecular_USCOREweightInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__molecular_USCOREweightInputParams(struct soap *soap, struct ns1__molecular_USCOREweightInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__molecular_USCOREweightInputParams);
+	if (soap_out_PointerTons1__molecular_USCOREweightInputParams(soap, tag?tag:"ns1:molecular_weightInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__molecular_USCOREweightInputParams ** SOAP_FMAC4 soap_get_PointerTons1__molecular_USCOREweightInputParams(struct soap *soap, struct ns1__molecular_USCOREweightInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__molecular_USCOREweightInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__delta_USCOREgcskewInputParams(struct soap *soap, struct ns1__delta_USCOREgcskewInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__delta_USCOREgcskewInputParams))
+		soap_serialize_ns1__delta_USCOREgcskewInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__delta_USCOREgcskewInputParams(struct soap *soap, const char *tag, int id, struct ns1__delta_USCOREgcskewInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__delta_USCOREgcskewInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__delta_USCOREgcskewInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__delta_USCOREgcskewInputParams ** SOAP_FMAC4 soap_in_PointerTons1__delta_USCOREgcskewInputParams(struct soap *soap, const char *tag, struct ns1__delta_USCOREgcskewInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__delta_USCOREgcskewInputParams **)soap_malloc(soap, sizeof(struct ns1__delta_USCOREgcskewInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__delta_USCOREgcskewInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__delta_USCOREgcskewInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__delta_USCOREgcskewInputParams, sizeof(struct ns1__delta_USCOREgcskewInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__delta_USCOREgcskewInputParams(struct soap *soap, struct ns1__delta_USCOREgcskewInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__delta_USCOREgcskewInputParams);
+	if (soap_out_PointerTons1__delta_USCOREgcskewInputParams(soap, tag?tag:"ns1:delta_gcskewInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__delta_USCOREgcskewInputParams ** SOAP_FMAC4 soap_get_PointerTons1__delta_USCOREgcskewInputParams(struct soap *soap, struct ns1__delta_USCOREgcskewInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__delta_USCOREgcskewInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__cumulativeResponse(struct soap *soap, struct ns1__cumulativeResponse *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__cumulativeResponse))
+		soap_serialize_ns1__cumulativeResponse(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__cumulativeResponse(struct soap *soap, const char *tag, int id, struct ns1__cumulativeResponse *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__cumulativeResponse);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__cumulativeResponse(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__cumulativeResponse ** SOAP_FMAC4 soap_in_PointerTons1__cumulativeResponse(struct soap *soap, const char *tag, struct ns1__cumulativeResponse **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__cumulativeResponse **)soap_malloc(soap, sizeof(struct ns1__cumulativeResponse *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__cumulativeResponse(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__cumulativeResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__cumulativeResponse, sizeof(struct ns1__cumulativeResponse), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__cumulativeResponse(struct soap *soap, struct ns1__cumulativeResponse *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__cumulativeResponse);
+	if (soap_out_PointerTons1__cumulativeResponse(soap, tag?tag:"ns1:cumulativeResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__cumulativeResponse ** SOAP_FMAC4 soap_get_PointerTons1__cumulativeResponse(struct soap *soap, struct ns1__cumulativeResponse **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__cumulativeResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__corResponse(struct soap *soap, struct ns1__corResponse *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__corResponse))
+		soap_serialize_ns1__corResponse(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__corResponse(struct soap *soap, const char *tag, int id, struct ns1__corResponse *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__corResponse);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__corResponse(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__corResponse ** SOAP_FMAC4 soap_in_PointerTons1__corResponse(struct soap *soap, const char *tag, struct ns1__corResponse **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__corResponse **)soap_malloc(soap, sizeof(struct ns1__corResponse *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__corResponse(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__corResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__corResponse, sizeof(struct ns1__corResponse), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__corResponse(struct soap *soap, struct ns1__corResponse *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__corResponse);
+	if (soap_out_PointerTons1__corResponse(soap, tag?tag:"ns1:corResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__corResponse ** SOAP_FMAC4 soap_get_PointerTons1__corResponse(struct soap *soap, struct ns1__corResponse **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__corResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__corInputParams(struct soap *soap, struct ns1__corInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__corInputParams))
+		soap_serialize_ns1__corInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__corInputParams(struct soap *soap, const char *tag, int id, struct ns1__corInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__corInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__corInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__corInputParams ** SOAP_FMAC4 soap_in_PointerTons1__corInputParams(struct soap *soap, const char *tag, struct ns1__corInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__corInputParams **)soap_malloc(soap, sizeof(struct ns1__corInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__corInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__corInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__corInputParams, sizeof(struct ns1__corInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__corInputParams(struct soap *soap, struct ns1__corInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__corInputParams);
+	if (soap_out_PointerTons1__corInputParams(soap, tag?tag:"ns1:corInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__corInputParams ** SOAP_FMAC4 soap_get_PointerTons1__corInputParams(struct soap *soap, struct ns1__corInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__corInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__geneskewInputParams(struct soap *soap, struct ns1__geneskewInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__geneskewInputParams))
+		soap_serialize_ns1__geneskewInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__geneskewInputParams(struct soap *soap, const char *tag, int id, struct ns1__geneskewInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__geneskewInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__geneskewInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__geneskewInputParams ** SOAP_FMAC4 soap_in_PointerTons1__geneskewInputParams(struct soap *soap, const char *tag, struct ns1__geneskewInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__geneskewInputParams **)soap_malloc(soap, sizeof(struct ns1__geneskewInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__geneskewInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__geneskewInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__geneskewInputParams, sizeof(struct ns1__geneskewInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__geneskewInputParams(struct soap *soap, struct ns1__geneskewInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__geneskewInputParams);
+	if (soap_out_PointerTons1__geneskewInputParams(soap, tag?tag:"ns1:geneskewInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__geneskewInputParams ** SOAP_FMAC4 soap_get_PointerTons1__geneskewInputParams(struct soap *soap, struct ns1__geneskewInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__geneskewInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__genes_USCOREfrom_USCOREoriResponse(struct soap *soap, struct ns1__genes_USCOREfrom_USCOREoriResponse *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriResponse))
+		soap_serialize_ns1__genes_USCOREfrom_USCOREoriResponse(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__genes_USCOREfrom_USCOREoriResponse(struct soap *soap, const char *tag, int id, struct ns1__genes_USCOREfrom_USCOREoriResponse *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriResponse);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__genes_USCOREfrom_USCOREoriResponse(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__genes_USCOREfrom_USCOREoriResponse ** SOAP_FMAC4 soap_in_PointerTons1__genes_USCOREfrom_USCOREoriResponse(struct soap *soap, const char *tag, struct ns1__genes_USCOREfrom_USCOREoriResponse **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__genes_USCOREfrom_USCOREoriResponse **)soap_malloc(soap, sizeof(struct ns1__genes_USCOREfrom_USCOREoriResponse *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__genes_USCOREfrom_USCOREoriResponse(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__genes_USCOREfrom_USCOREoriResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriResponse, sizeof(struct ns1__genes_USCOREfrom_USCOREoriResponse), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__genes_USCOREfrom_USCOREoriResponse(struct soap *soap, struct ns1__genes_USCOREfrom_USCOREoriResponse *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__genes_USCOREfrom_USCOREoriResponse);
+	if (soap_out_PointerTons1__genes_USCOREfrom_USCOREoriResponse(soap, tag?tag:"ns1:genes_from_oriResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__genes_USCOREfrom_USCOREoriResponse ** SOAP_FMAC4 soap_get_PointerTons1__genes_USCOREfrom_USCOREoriResponse(struct soap *soap, struct ns1__genes_USCOREfrom_USCOREoriResponse **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__genes_USCOREfrom_USCOREoriResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(struct soap *soap, struct ns1__genes_USCOREfrom_USCOREoriInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriInputParams))
+		soap_serialize_ns1__genes_USCOREfrom_USCOREoriInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(struct soap *soap, const char *tag, int id, struct ns1__genes_USCOREfrom_USCOREoriInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__genes_USCOREfrom_USCOREoriInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__genes_USCOREfrom_USCOREoriInputParams ** SOAP_FMAC4 soap_in_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(struct soap *soap, const char *tag, struct ns1__genes_USCOREfrom_USCOREoriInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__genes_USCOREfrom_USCOREoriInputParams **)soap_malloc(soap, sizeof(struct ns1__genes_USCOREfrom_USCOREoriInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__genes_USCOREfrom_USCOREoriInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__genes_USCOREfrom_USCOREoriInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriInputParams, sizeof(struct ns1__genes_USCOREfrom_USCOREoriInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(struct soap *soap, struct ns1__genes_USCOREfrom_USCOREoriInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__genes_USCOREfrom_USCOREoriInputParams);
+	if (soap_out_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(soap, tag?tag:"ns1:genes_from_oriInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__genes_USCOREfrom_USCOREoriInputParams ** SOAP_FMAC4 soap_get_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(struct soap *soap, struct ns1__genes_USCOREfrom_USCOREoriInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__cbiInputParams(struct soap *soap, struct ns1__cbiInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__cbiInputParams))
+		soap_serialize_ns1__cbiInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__cbiInputParams(struct soap *soap, const char *tag, int id, struct ns1__cbiInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__cbiInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__cbiInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__cbiInputParams ** SOAP_FMAC4 soap_in_PointerTons1__cbiInputParams(struct soap *soap, const char *tag, struct ns1__cbiInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__cbiInputParams **)soap_malloc(soap, sizeof(struct ns1__cbiInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__cbiInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__cbiInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__cbiInputParams, sizeof(struct ns1__cbiInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__cbiInputParams(struct soap *soap, struct ns1__cbiInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__cbiInputParams);
+	if (soap_out_PointerTons1__cbiInputParams(soap, tag?tag:"ns1:cbiInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__cbiInputParams ** SOAP_FMAC4 soap_get_PointerTons1__cbiInputParams(struct soap *soap, struct ns1__cbiInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__cbiInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__find_USCOREdifResponse(struct soap *soap, struct ns1__find_USCOREdifResponse *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__find_USCOREdifResponse))
+		soap_serialize_ns1__find_USCOREdifResponse(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__find_USCOREdifResponse(struct soap *soap, const char *tag, int id, struct ns1__find_USCOREdifResponse *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__find_USCOREdifResponse);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__find_USCOREdifResponse(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREdifResponse ** SOAP_FMAC4 soap_in_PointerTons1__find_USCOREdifResponse(struct soap *soap, const char *tag, struct ns1__find_USCOREdifResponse **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__find_USCOREdifResponse **)soap_malloc(soap, sizeof(struct ns1__find_USCOREdifResponse *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__find_USCOREdifResponse(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREdifResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__find_USCOREdifResponse, sizeof(struct ns1__find_USCOREdifResponse), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__find_USCOREdifResponse(struct soap *soap, struct ns1__find_USCOREdifResponse *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__find_USCOREdifResponse);
+	if (soap_out_PointerTons1__find_USCOREdifResponse(soap, tag?tag:"ns1:find_difResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREdifResponse ** SOAP_FMAC4 soap_get_PointerTons1__find_USCOREdifResponse(struct soap *soap, struct ns1__find_USCOREdifResponse **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__find_USCOREdifResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__find_USCOREdifInputParams(struct soap *soap, struct ns1__find_USCOREdifInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__find_USCOREdifInputParams))
+		soap_serialize_ns1__find_USCOREdifInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__find_USCOREdifInputParams(struct soap *soap, const char *tag, int id, struct ns1__find_USCOREdifInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__find_USCOREdifInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__find_USCOREdifInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREdifInputParams ** SOAP_FMAC4 soap_in_PointerTons1__find_USCOREdifInputParams(struct soap *soap, const char *tag, struct ns1__find_USCOREdifInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__find_USCOREdifInputParams **)soap_malloc(soap, sizeof(struct ns1__find_USCOREdifInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__find_USCOREdifInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREdifInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__find_USCOREdifInputParams, sizeof(struct ns1__find_USCOREdifInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__find_USCOREdifInputParams(struct soap *soap, struct ns1__find_USCOREdifInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__find_USCOREdifInputParams);
+	if (soap_out_PointerTons1__find_USCOREdifInputParams(soap, tag?tag:"ns1:find_difInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREdifInputParams ** SOAP_FMAC4 soap_get_PointerTons1__find_USCOREdifInputParams(struct soap *soap, struct ns1__find_USCOREdifInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__find_USCOREdifInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__to_USCOREfastaInputParams(struct soap *soap, struct ns1__to_USCOREfastaInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__to_USCOREfastaInputParams))
+		soap_serialize_ns1__to_USCOREfastaInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__to_USCOREfastaInputParams(struct soap *soap, const char *tag, int id, struct ns1__to_USCOREfastaInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__to_USCOREfastaInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__to_USCOREfastaInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__to_USCOREfastaInputParams ** SOAP_FMAC4 soap_in_PointerTons1__to_USCOREfastaInputParams(struct soap *soap, const char *tag, struct ns1__to_USCOREfastaInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__to_USCOREfastaInputParams **)soap_malloc(soap, sizeof(struct ns1__to_USCOREfastaInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__to_USCOREfastaInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__to_USCOREfastaInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__to_USCOREfastaInputParams, sizeof(struct ns1__to_USCOREfastaInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__to_USCOREfastaInputParams(struct soap *soap, struct ns1__to_USCOREfastaInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__to_USCOREfastaInputParams);
+	if (soap_out_PointerTons1__to_USCOREfastaInputParams(soap, tag?tag:"ns1:to_fastaInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__to_USCOREfastaInputParams ** SOAP_FMAC4 soap_get_PointerTons1__to_USCOREfastaInputParams(struct soap *soap, struct ns1__to_USCOREfastaInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__to_USCOREfastaInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__base_USCOREentropyInputParams(struct soap *soap, struct ns1__base_USCOREentropyInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__base_USCOREentropyInputParams))
+		soap_serialize_ns1__base_USCOREentropyInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__base_USCOREentropyInputParams(struct soap *soap, const char *tag, int id, struct ns1__base_USCOREentropyInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__base_USCOREentropyInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__base_USCOREentropyInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREentropyInputParams ** SOAP_FMAC4 soap_in_PointerTons1__base_USCOREentropyInputParams(struct soap *soap, const char *tag, struct ns1__base_USCOREentropyInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__base_USCOREentropyInputParams **)soap_malloc(soap, sizeof(struct ns1__base_USCOREentropyInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__base_USCOREentropyInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__base_USCOREentropyInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__base_USCOREentropyInputParams, sizeof(struct ns1__base_USCOREentropyInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__base_USCOREentropyInputParams(struct soap *soap, struct ns1__base_USCOREentropyInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__base_USCOREentropyInputParams);
+	if (soap_out_PointerTons1__base_USCOREentropyInputParams(soap, tag?tag:"ns1:base_entropyInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__base_USCOREentropyInputParams ** SOAP_FMAC4 soap_get_PointerTons1__base_USCOREentropyInputParams(struct soap *soap, struct ns1__base_USCOREentropyInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__base_USCOREentropyInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__DoubleHelixInputParams(struct soap *soap, struct ns1__DoubleHelixInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__DoubleHelixInputParams))
+		soap_serialize_ns1__DoubleHelixInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__DoubleHelixInputParams(struct soap *soap, const char *tag, int id, struct ns1__DoubleHelixInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__DoubleHelixInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__DoubleHelixInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__DoubleHelixInputParams ** SOAP_FMAC4 soap_in_PointerTons1__DoubleHelixInputParams(struct soap *soap, const char *tag, struct ns1__DoubleHelixInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__DoubleHelixInputParams **)soap_malloc(soap, sizeof(struct ns1__DoubleHelixInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__DoubleHelixInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__DoubleHelixInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__DoubleHelixInputParams, sizeof(struct ns1__DoubleHelixInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__DoubleHelixInputParams(struct soap *soap, struct ns1__DoubleHelixInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__DoubleHelixInputParams);
+	if (soap_out_PointerTons1__DoubleHelixInputParams(soap, tag?tag:"ns1:DoubleHelixInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__DoubleHelixInputParams ** SOAP_FMAC4 soap_get_PointerTons1__DoubleHelixInputParams(struct soap *soap, struct ns1__DoubleHelixInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__DoubleHelixInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__rep_USCOREori_USCOREterInputParams(struct soap *soap, struct ns1__rep_USCOREori_USCOREterInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__rep_USCOREori_USCOREterInputParams))
+		soap_serialize_ns1__rep_USCOREori_USCOREterInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__rep_USCOREori_USCOREterInputParams(struct soap *soap, const char *tag, int id, struct ns1__rep_USCOREori_USCOREterInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__rep_USCOREori_USCOREterInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__rep_USCOREori_USCOREterInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__rep_USCOREori_USCOREterInputParams ** SOAP_FMAC4 soap_in_PointerTons1__rep_USCOREori_USCOREterInputParams(struct soap *soap, const char *tag, struct ns1__rep_USCOREori_USCOREterInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__rep_USCOREori_USCOREterInputParams **)soap_malloc(soap, sizeof(struct ns1__rep_USCOREori_USCOREterInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__rep_USCOREori_USCOREterInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__rep_USCOREori_USCOREterInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__rep_USCOREori_USCOREterInputParams, sizeof(struct ns1__rep_USCOREori_USCOREterInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__rep_USCOREori_USCOREterInputParams(struct soap *soap, struct ns1__rep_USCOREori_USCOREterInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__rep_USCOREori_USCOREterInputParams);
+	if (soap_out_PointerTons1__rep_USCOREori_USCOREterInputParams(soap, tag?tag:"ns1:rep_ori_terInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__rep_USCOREori_USCOREterInputParams ** SOAP_FMAC4 soap_get_PointerTons1__rep_USCOREori_USCOREterInputParams(struct soap *soap, struct ns1__rep_USCOREori_USCOREterInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__rep_USCOREori_USCOREterInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__genome_USCOREmapInputParams(struct soap *soap, struct ns1__genome_USCOREmapInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__genome_USCOREmapInputParams))
+		soap_serialize_ns1__genome_USCOREmapInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__genome_USCOREmapInputParams(struct soap *soap, const char *tag, int id, struct ns1__genome_USCOREmapInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__genome_USCOREmapInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__genome_USCOREmapInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__genome_USCOREmapInputParams ** SOAP_FMAC4 soap_in_PointerTons1__genome_USCOREmapInputParams(struct soap *soap, const char *tag, struct ns1__genome_USCOREmapInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__genome_USCOREmapInputParams **)soap_malloc(soap, sizeof(struct ns1__genome_USCOREmapInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__genome_USCOREmapInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__genome_USCOREmapInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__genome_USCOREmapInputParams, sizeof(struct ns1__genome_USCOREmapInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__genome_USCOREmapInputParams(struct soap *soap, struct ns1__genome_USCOREmapInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__genome_USCOREmapInputParams);
+	if (soap_out_PointerTons1__genome_USCOREmapInputParams(soap, tag?tag:"ns1:genome_mapInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__genome_USCOREmapInputParams ** SOAP_FMAC4 soap_get_PointerTons1__genome_USCOREmapInputParams(struct soap *soap, struct ns1__genome_USCOREmapInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__genome_USCOREmapInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__consensus_USCOREzInputParams(struct soap *soap, struct ns1__consensus_USCOREzInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__consensus_USCOREzInputParams))
+		soap_serialize_ns1__consensus_USCOREzInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__consensus_USCOREzInputParams(struct soap *soap, const char *tag, int id, struct ns1__consensus_USCOREzInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__consensus_USCOREzInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__consensus_USCOREzInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__consensus_USCOREzInputParams ** SOAP_FMAC4 soap_in_PointerTons1__consensus_USCOREzInputParams(struct soap *soap, const char *tag, struct ns1__consensus_USCOREzInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__consensus_USCOREzInputParams **)soap_malloc(soap, sizeof(struct ns1__consensus_USCOREzInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__consensus_USCOREzInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__consensus_USCOREzInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__consensus_USCOREzInputParams, sizeof(struct ns1__consensus_USCOREzInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__consensus_USCOREzInputParams(struct soap *soap, struct ns1__consensus_USCOREzInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__consensus_USCOREzInputParams);
+	if (soap_out_PointerTons1__consensus_USCOREzInputParams(soap, tag?tag:"ns1:consensus_zInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__consensus_USCOREzInputParams ** SOAP_FMAC4 soap_get_PointerTons1__consensus_USCOREzInputParams(struct soap *soap, struct ns1__consensus_USCOREzInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__consensus_USCOREzInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__caiInputParams(struct soap *soap, struct ns1__caiInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__caiInputParams))
+		soap_serialize_ns1__caiInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__caiInputParams(struct soap *soap, const char *tag, int id, struct ns1__caiInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__caiInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__caiInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__caiInputParams ** SOAP_FMAC4 soap_in_PointerTons1__caiInputParams(struct soap *soap, const char *tag, struct ns1__caiInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__caiInputParams **)soap_malloc(soap, sizeof(struct ns1__caiInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__caiInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__caiInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__caiInputParams, sizeof(struct ns1__caiInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__caiInputParams(struct soap *soap, struct ns1__caiInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__caiInputParams);
+	if (soap_out_PointerTons1__caiInputParams(soap, tag?tag:"ns1:caiInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__caiInputParams ** SOAP_FMAC4 soap_get_PointerTons1__caiInputParams(struct soap *soap, struct ns1__caiInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__caiInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__gcsiInputParams(struct soap *soap, struct ns1__gcsiInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__gcsiInputParams))
+		soap_serialize_ns1__gcsiInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__gcsiInputParams(struct soap *soap, const char *tag, int id, struct ns1__gcsiInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__gcsiInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__gcsiInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__gcsiInputParams ** SOAP_FMAC4 soap_in_PointerTons1__gcsiInputParams(struct soap *soap, const char *tag, struct ns1__gcsiInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__gcsiInputParams **)soap_malloc(soap, sizeof(struct ns1__gcsiInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__gcsiInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__gcsiInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__gcsiInputParams, sizeof(struct ns1__gcsiInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__gcsiInputParams(struct soap *soap, struct ns1__gcsiInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__gcsiInputParams);
+	if (soap_out_PointerTons1__gcsiInputParams(soap, tag?tag:"ns1:gcsiInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__gcsiInputParams ** SOAP_FMAC4 soap_get_PointerTons1__gcsiInputParams(struct soap *soap, struct ns1__gcsiInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__gcsiInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap *soap, struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse))
+		soap_serialize_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap *soap, const char *tag, int id, struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse ** SOAP_FMAC4 soap_in_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap *soap, const char *tag, struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse **)soap_malloc(soap, sizeof(struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse, sizeof(struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap *soap, struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse);
+	if (soap_out_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, tag?tag:"ns1:filter_cds_by_atgResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse ** SOAP_FMAC4 soap_get_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap *soap, struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap *soap, struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams))
+		soap_serialize_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap *soap, const char *tag, int id, struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams ** SOAP_FMAC4 soap_in_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap *soap, const char *tag, struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams **)soap_malloc(soap, sizeof(struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams, sizeof(struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap *soap, struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams);
+	if (soap_out_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, tag?tag:"ns1:filter_cds_by_atgInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams ** SOAP_FMAC4 soap_get_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap *soap, struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__genomicskewInputParams(struct soap *soap, struct ns1__genomicskewInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__genomicskewInputParams))
+		soap_serialize_ns1__genomicskewInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__genomicskewInputParams(struct soap *soap, const char *tag, int id, struct ns1__genomicskewInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__genomicskewInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__genomicskewInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__genomicskewInputParams ** SOAP_FMAC4 soap_in_PointerTons1__genomicskewInputParams(struct soap *soap, const char *tag, struct ns1__genomicskewInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__genomicskewInputParams **)soap_malloc(soap, sizeof(struct ns1__genomicskewInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__genomicskewInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__genomicskewInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__genomicskewInputParams, sizeof(struct ns1__genomicskewInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__genomicskewInputParams(struct soap *soap, struct ns1__genomicskewInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__genomicskewInputParams);
+	if (soap_out_PointerTons1__genomicskewInputParams(soap, tag?tag:"ns1:genomicskewInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__genomicskewInputParams ** SOAP_FMAC4 soap_get_PointerTons1__genomicskewInputParams(struct soap *soap, struct ns1__genomicskewInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__genomicskewInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__query_USCOREstrandInputParams(struct soap *soap, struct ns1__query_USCOREstrandInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__query_USCOREstrandInputParams))
+		soap_serialize_ns1__query_USCOREstrandInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__query_USCOREstrandInputParams(struct soap *soap, const char *tag, int id, struct ns1__query_USCOREstrandInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__query_USCOREstrandInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__query_USCOREstrandInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__query_USCOREstrandInputParams ** SOAP_FMAC4 soap_in_PointerTons1__query_USCOREstrandInputParams(struct soap *soap, const char *tag, struct ns1__query_USCOREstrandInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__query_USCOREstrandInputParams **)soap_malloc(soap, sizeof(struct ns1__query_USCOREstrandInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__query_USCOREstrandInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__query_USCOREstrandInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__query_USCOREstrandInputParams, sizeof(struct ns1__query_USCOREstrandInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__query_USCOREstrandInputParams(struct soap *soap, struct ns1__query_USCOREstrandInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__query_USCOREstrandInputParams);
+	if (soap_out_PointerTons1__query_USCOREstrandInputParams(soap, tag?tag:"ns1:query_strandInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__query_USCOREstrandInputParams ** SOAP_FMAC4 soap_get_PointerTons1__query_USCOREstrandInputParams(struct soap *soap, struct ns1__query_USCOREstrandInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__query_USCOREstrandInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__view_USCOREcdsInputParams(struct soap *soap, struct ns1__view_USCOREcdsInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__view_USCOREcdsInputParams))
+		soap_serialize_ns1__view_USCOREcdsInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__view_USCOREcdsInputParams(struct soap *soap, const char *tag, int id, struct ns1__view_USCOREcdsInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__view_USCOREcdsInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__view_USCOREcdsInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__view_USCOREcdsInputParams ** SOAP_FMAC4 soap_in_PointerTons1__view_USCOREcdsInputParams(struct soap *soap, const char *tag, struct ns1__view_USCOREcdsInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__view_USCOREcdsInputParams **)soap_malloc(soap, sizeof(struct ns1__view_USCOREcdsInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__view_USCOREcdsInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__view_USCOREcdsInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__view_USCOREcdsInputParams, sizeof(struct ns1__view_USCOREcdsInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__view_USCOREcdsInputParams(struct soap *soap, struct ns1__view_USCOREcdsInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__view_USCOREcdsInputParams);
+	if (soap_out_PointerTons1__view_USCOREcdsInputParams(soap, tag?tag:"ns1:view_cdsInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__view_USCOREcdsInputParams ** SOAP_FMAC4 soap_get_PointerTons1__view_USCOREcdsInputParams(struct soap *soap, struct ns1__view_USCOREcdsInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__view_USCOREcdsInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__base_USCORErelative_USCOREentropyInputParams(struct soap *soap, struct ns1__base_USCORErelative_USCOREentropyInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyInputParams))
+		soap_serialize_ns1__base_USCORErelative_USCOREentropyInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__base_USCORErelative_USCOREentropyInputParams(struct soap *soap, const char *tag, int id, struct ns1__base_USCORErelative_USCOREentropyInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__base_USCORErelative_USCOREentropyInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__base_USCORErelative_USCOREentropyInputParams ** SOAP_FMAC4 soap_in_PointerTons1__base_USCORErelative_USCOREentropyInputParams(struct soap *soap, const char *tag, struct ns1__base_USCORErelative_USCOREentropyInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__base_USCORErelative_USCOREentropyInputParams **)soap_malloc(soap, sizeof(struct ns1__base_USCORErelative_USCOREentropyInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__base_USCORErelative_USCOREentropyInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__base_USCORErelative_USCOREentropyInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyInputParams, sizeof(struct ns1__base_USCORErelative_USCOREentropyInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__base_USCORErelative_USCOREentropyInputParams(struct soap *soap, struct ns1__base_USCORErelative_USCOREentropyInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__base_USCORErelative_USCOREentropyInputParams);
+	if (soap_out_PointerTons1__base_USCORErelative_USCOREentropyInputParams(soap, tag?tag:"ns1:base_relative_entropyInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__base_USCORErelative_USCOREentropyInputParams ** SOAP_FMAC4 soap_get_PointerTons1__base_USCORErelative_USCOREentropyInputParams(struct soap *soap, struct ns1__base_USCORErelative_USCOREentropyInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__base_USCORErelative_USCOREentropyInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__EwInputParams(struct soap *soap, struct ns1__EwInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__EwInputParams))
+		soap_serialize_ns1__EwInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__EwInputParams(struct soap *soap, const char *tag, int id, struct ns1__EwInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__EwInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__EwInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__EwInputParams ** SOAP_FMAC4 soap_in_PointerTons1__EwInputParams(struct soap *soap, const char *tag, struct ns1__EwInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__EwInputParams **)soap_malloc(soap, sizeof(struct ns1__EwInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__EwInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__EwInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__EwInputParams, sizeof(struct ns1__EwInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__EwInputParams(struct soap *soap, struct ns1__EwInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__EwInputParams);
+	if (soap_out_PointerTons1__EwInputParams(soap, tag?tag:"ns1:EwInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__EwInputParams ** SOAP_FMAC4 soap_get_PointerTons1__EwInputParams(struct soap *soap, struct ns1__EwInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__EwInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__over_USCORElapping_USCOREfinderInputParams(struct soap *soap, struct ns1__over_USCORElapping_USCOREfinderInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderInputParams))
+		soap_serialize_ns1__over_USCORElapping_USCOREfinderInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__over_USCORElapping_USCOREfinderInputParams(struct soap *soap, const char *tag, int id, struct ns1__over_USCORElapping_USCOREfinderInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__over_USCORElapping_USCOREfinderInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__over_USCORElapping_USCOREfinderInputParams ** SOAP_FMAC4 soap_in_PointerTons1__over_USCORElapping_USCOREfinderInputParams(struct soap *soap, const char *tag, struct ns1__over_USCORElapping_USCOREfinderInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__over_USCORElapping_USCOREfinderInputParams **)soap_malloc(soap, sizeof(struct ns1__over_USCORElapping_USCOREfinderInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__over_USCORElapping_USCOREfinderInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__over_USCORElapping_USCOREfinderInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderInputParams, sizeof(struct ns1__over_USCORElapping_USCOREfinderInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__over_USCORElapping_USCOREfinderInputParams(struct soap *soap, struct ns1__over_USCORElapping_USCOREfinderInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__over_USCORElapping_USCOREfinderInputParams);
+	if (soap_out_PointerTons1__over_USCORElapping_USCOREfinderInputParams(soap, tag?tag:"ns1:over_lapping_finderInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__over_USCORElapping_USCOREfinderInputParams ** SOAP_FMAC4 soap_get_PointerTons1__over_USCORElapping_USCOREfinderInputParams(struct soap *soap, struct ns1__over_USCORElapping_USCOREfinderInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__over_USCORElapping_USCOREfinderInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__codon_USCOREcompilerInputParams(struct soap *soap, struct ns1__codon_USCOREcompilerInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__codon_USCOREcompilerInputParams))
+		soap_serialize_ns1__codon_USCOREcompilerInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__codon_USCOREcompilerInputParams(struct soap *soap, const char *tag, int id, struct ns1__codon_USCOREcompilerInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__codon_USCOREcompilerInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__codon_USCOREcompilerInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREcompilerInputParams ** SOAP_FMAC4 soap_in_PointerTons1__codon_USCOREcompilerInputParams(struct soap *soap, const char *tag, struct ns1__codon_USCOREcompilerInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__codon_USCOREcompilerInputParams **)soap_malloc(soap, sizeof(struct ns1__codon_USCOREcompilerInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__codon_USCOREcompilerInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__codon_USCOREcompilerInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__codon_USCOREcompilerInputParams, sizeof(struct ns1__codon_USCOREcompilerInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__codon_USCOREcompilerInputParams(struct soap *soap, struct ns1__codon_USCOREcompilerInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__codon_USCOREcompilerInputParams);
+	if (soap_out_PointerTons1__codon_USCOREcompilerInputParams(soap, tag?tag:"ns1:codon_compilerInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREcompilerInputParams ** SOAP_FMAC4 soap_get_PointerTons1__codon_USCOREcompilerInputParams(struct soap *soap, struct ns1__codon_USCOREcompilerInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__codon_USCOREcompilerInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__aauiInputParams(struct soap *soap, struct ns1__aauiInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__aauiInputParams))
+		soap_serialize_ns1__aauiInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__aauiInputParams(struct soap *soap, const char *tag, int id, struct ns1__aauiInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__aauiInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__aauiInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__aauiInputParams ** SOAP_FMAC4 soap_in_PointerTons1__aauiInputParams(struct soap *soap, const char *tag, struct ns1__aauiInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__aauiInputParams **)soap_malloc(soap, sizeof(struct ns1__aauiInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__aauiInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__aauiInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__aauiInputParams, sizeof(struct ns1__aauiInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__aauiInputParams(struct soap *soap, struct ns1__aauiInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__aauiInputParams);
+	if (soap_out_PointerTons1__aauiInputParams(soap, tag?tag:"ns1:aauiInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__aauiInputParams ** SOAP_FMAC4 soap_get_PointerTons1__aauiInputParams(struct soap *soap, struct ns1__aauiInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__aauiInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__amino_USCOREcounterInputParams(struct soap *soap, struct ns1__amino_USCOREcounterInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__amino_USCOREcounterInputParams))
+		soap_serialize_ns1__amino_USCOREcounterInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__amino_USCOREcounterInputParams(struct soap *soap, const char *tag, int id, struct ns1__amino_USCOREcounterInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__amino_USCOREcounterInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__amino_USCOREcounterInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__amino_USCOREcounterInputParams ** SOAP_FMAC4 soap_in_PointerTons1__amino_USCOREcounterInputParams(struct soap *soap, const char *tag, struct ns1__amino_USCOREcounterInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__amino_USCOREcounterInputParams **)soap_malloc(soap, sizeof(struct ns1__amino_USCOREcounterInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__amino_USCOREcounterInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__amino_USCOREcounterInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__amino_USCOREcounterInputParams, sizeof(struct ns1__amino_USCOREcounterInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__amino_USCOREcounterInputParams(struct soap *soap, struct ns1__amino_USCOREcounterInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__amino_USCOREcounterInputParams);
+	if (soap_out_PointerTons1__amino_USCOREcounterInputParams(soap, tag?tag:"ns1:amino_counterInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__amino_USCOREcounterInputParams ** SOAP_FMAC4 soap_get_PointerTons1__amino_USCOREcounterInputParams(struct soap *soap, struct ns1__amino_USCOREcounterInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__amino_USCOREcounterInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__seq2pngInputParams(struct soap *soap, struct ns1__seq2pngInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__seq2pngInputParams))
+		soap_serialize_ns1__seq2pngInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__seq2pngInputParams(struct soap *soap, const char *tag, int id, struct ns1__seq2pngInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__seq2pngInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__seq2pngInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__seq2pngInputParams ** SOAP_FMAC4 soap_in_PointerTons1__seq2pngInputParams(struct soap *soap, const char *tag, struct ns1__seq2pngInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__seq2pngInputParams **)soap_malloc(soap, sizeof(struct ns1__seq2pngInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__seq2pngInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__seq2pngInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__seq2pngInputParams, sizeof(struct ns1__seq2pngInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__seq2pngInputParams(struct soap *soap, struct ns1__seq2pngInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__seq2pngInputParams);
+	if (soap_out_PointerTons1__seq2pngInputParams(soap, tag?tag:"ns1:seq2pngInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__seq2pngInputParams ** SOAP_FMAC4 soap_get_PointerTons1__seq2pngInputParams(struct soap *soap, struct ns1__seq2pngInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__seq2pngInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__ttestResponse(struct soap *soap, struct ns1__ttestResponse *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__ttestResponse))
+		soap_serialize_ns1__ttestResponse(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__ttestResponse(struct soap *soap, const char *tag, int id, struct ns1__ttestResponse *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__ttestResponse);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__ttestResponse(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__ttestResponse ** SOAP_FMAC4 soap_in_PointerTons1__ttestResponse(struct soap *soap, const char *tag, struct ns1__ttestResponse **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__ttestResponse **)soap_malloc(soap, sizeof(struct ns1__ttestResponse *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__ttestResponse(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__ttestResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__ttestResponse, sizeof(struct ns1__ttestResponse), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__ttestResponse(struct soap *soap, struct ns1__ttestResponse *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__ttestResponse);
+	if (soap_out_PointerTons1__ttestResponse(soap, tag?tag:"ns1:ttestResponse", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__ttestResponse ** SOAP_FMAC4 soap_get_PointerTons1__ttestResponse(struct soap *soap, struct ns1__ttestResponse **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__ttestResponse(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__ttestInputParams(struct soap *soap, struct ns1__ttestInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__ttestInputParams))
+		soap_serialize_ns1__ttestInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__ttestInputParams(struct soap *soap, const char *tag, int id, struct ns1__ttestInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__ttestInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__ttestInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__ttestInputParams ** SOAP_FMAC4 soap_in_PointerTons1__ttestInputParams(struct soap *soap, const char *tag, struct ns1__ttestInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__ttestInputParams **)soap_malloc(soap, sizeof(struct ns1__ttestInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__ttestInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__ttestInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__ttestInputParams, sizeof(struct ns1__ttestInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__ttestInputParams(struct soap *soap, struct ns1__ttestInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__ttestInputParams);
+	if (soap_out_PointerTons1__ttestInputParams(soap, tag?tag:"ns1:ttestInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__ttestInputParams ** SOAP_FMAC4 soap_get_PointerTons1__ttestInputParams(struct soap *soap, struct ns1__ttestInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__ttestInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToarrayOut(struct soap *soap, struct arrayOut *const*a)
+{
+	if (*a)
+		soap_serialize_arrayOut(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToarrayOut(struct soap *soap, const char *tag, int id, struct arrayOut *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, (struct soap_array*)&(*a)->__ptr, 1, type, SOAP_TYPE_arrayOut);
+	if (id < 0)
+		return soap->error;
+	return soap_out_arrayOut(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct arrayOut ** SOAP_FMAC4 soap_in_PointerToarrayOut(struct soap *soap, const char *tag, struct arrayOut **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct arrayOut **)soap_malloc(soap, sizeof(struct arrayOut *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_arrayOut(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct arrayOut **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_arrayOut, sizeof(struct arrayOut), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToarrayOut(struct soap *soap, struct arrayOut *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerToarrayOut);
+	if (soap_out_PointerToarrayOut(soap, tag?tag:"SOAP-ENC:Array", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct arrayOut ** SOAP_FMAC4 soap_get_PointerToarrayOut(struct soap *soap, struct arrayOut **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerToarrayOut(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__find_USCOREdnaAboxInputParams(struct soap *soap, struct ns1__find_USCOREdnaAboxInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__find_USCOREdnaAboxInputParams))
+		soap_serialize_ns1__find_USCOREdnaAboxInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__find_USCOREdnaAboxInputParams(struct soap *soap, const char *tag, int id, struct ns1__find_USCOREdnaAboxInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__find_USCOREdnaAboxInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__find_USCOREdnaAboxInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREdnaAboxInputParams ** SOAP_FMAC4 soap_in_PointerTons1__find_USCOREdnaAboxInputParams(struct soap *soap, const char *tag, struct ns1__find_USCOREdnaAboxInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__find_USCOREdnaAboxInputParams **)soap_malloc(soap, sizeof(struct ns1__find_USCOREdnaAboxInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__find_USCOREdnaAboxInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREdnaAboxInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__find_USCOREdnaAboxInputParams, sizeof(struct ns1__find_USCOREdnaAboxInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__find_USCOREdnaAboxInputParams(struct soap *soap, struct ns1__find_USCOREdnaAboxInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__find_USCOREdnaAboxInputParams);
+	if (soap_out_PointerTons1__find_USCOREdnaAboxInputParams(soap, tag?tag:"ns1:find_dnaAboxInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREdnaAboxInputParams ** SOAP_FMAC4 soap_get_PointerTons1__find_USCOREdnaAboxInputParams(struct soap *soap, struct ns1__find_USCOREdnaAboxInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__find_USCOREdnaAboxInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__buiInputParams(struct soap *soap, struct ns1__buiInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__buiInputParams))
+		soap_serialize_ns1__buiInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__buiInputParams(struct soap *soap, const char *tag, int id, struct ns1__buiInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__buiInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__buiInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__buiInputParams ** SOAP_FMAC4 soap_in_PointerTons1__buiInputParams(struct soap *soap, const char *tag, struct ns1__buiInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__buiInputParams **)soap_malloc(soap, sizeof(struct ns1__buiInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__buiInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__buiInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__buiInputParams, sizeof(struct ns1__buiInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__buiInputParams(struct soap *soap, struct ns1__buiInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__buiInputParams);
+	if (soap_out_PointerTons1__buiInputParams(soap, tag?tag:"ns1:buiInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__buiInputParams ** SOAP_FMAC4 soap_get_PointerTons1__buiInputParams(struct soap *soap, struct ns1__buiInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__buiInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__fopInputParams(struct soap *soap, struct ns1__fopInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__fopInputParams))
+		soap_serialize_ns1__fopInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__fopInputParams(struct soap *soap, const char *tag, int id, struct ns1__fopInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__fopInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__fopInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__fopInputParams ** SOAP_FMAC4 soap_in_PointerTons1__fopInputParams(struct soap *soap, const char *tag, struct ns1__fopInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__fopInputParams **)soap_malloc(soap, sizeof(struct ns1__fopInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__fopInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__fopInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__fopInputParams, sizeof(struct ns1__fopInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__fopInputParams(struct soap *soap, struct ns1__fopInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__fopInputParams);
+	if (soap_out_PointerTons1__fopInputParams(soap, tag?tag:"ns1:fopInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__fopInputParams ** SOAP_FMAC4 soap_get_PointerTons1__fopInputParams(struct soap *soap, struct ns1__fopInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__fopInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__encInputParams(struct soap *soap, struct ns1__encInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__encInputParams))
+		soap_serialize_ns1__encInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__encInputParams(struct soap *soap, const char *tag, int id, struct ns1__encInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__encInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__encInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__encInputParams ** SOAP_FMAC4 soap_in_PointerTons1__encInputParams(struct soap *soap, const char *tag, struct ns1__encInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__encInputParams **)soap_malloc(soap, sizeof(struct ns1__encInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__encInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__encInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__encInputParams, sizeof(struct ns1__encInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__encInputParams(struct soap *soap, struct ns1__encInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__encInputParams);
+	if (soap_out_PointerTons1__encInputParams(soap, tag?tag:"ns1:encInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__encInputParams ** SOAP_FMAC4 soap_get_PointerTons1__encInputParams(struct soap *soap, struct ns1__encInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__encInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__icdiInputParams(struct soap *soap, struct ns1__icdiInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__icdiInputParams))
+		soap_serialize_ns1__icdiInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__icdiInputParams(struct soap *soap, const char *tag, int id, struct ns1__icdiInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__icdiInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__icdiInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__icdiInputParams ** SOAP_FMAC4 soap_in_PointerTons1__icdiInputParams(struct soap *soap, const char *tag, struct ns1__icdiInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__icdiInputParams **)soap_malloc(soap, sizeof(struct ns1__icdiInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__icdiInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__icdiInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__icdiInputParams, sizeof(struct ns1__icdiInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__icdiInputParams(struct soap *soap, struct ns1__icdiInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__icdiInputParams);
+	if (soap_out_PointerTons1__icdiInputParams(soap, tag?tag:"ns1:icdiInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__icdiInputParams ** SOAP_FMAC4 soap_get_PointerTons1__icdiInputParams(struct soap *soap, struct ns1__icdiInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__icdiInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__phxInputParams(struct soap *soap, struct ns1__phxInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__phxInputParams))
+		soap_serialize_ns1__phxInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__phxInputParams(struct soap *soap, const char *tag, int id, struct ns1__phxInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__phxInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__phxInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__phxInputParams ** SOAP_FMAC4 soap_in_PointerTons1__phxInputParams(struct soap *soap, const char *tag, struct ns1__phxInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__phxInputParams **)soap_malloc(soap, sizeof(struct ns1__phxInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__phxInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__phxInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__phxInputParams, sizeof(struct ns1__phxInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__phxInputParams(struct soap *soap, struct ns1__phxInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__phxInputParams);
+	if (soap_out_PointerTons1__phxInputParams(soap, tag?tag:"ns1:phxInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__phxInputParams ** SOAP_FMAC4 soap_get_PointerTons1__phxInputParams(struct soap *soap, struct ns1__phxInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__phxInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__togoWSInputParams(struct soap *soap, struct ns1__togoWSInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__togoWSInputParams))
+		soap_serialize_ns1__togoWSInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__togoWSInputParams(struct soap *soap, const char *tag, int id, struct ns1__togoWSInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__togoWSInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__togoWSInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__togoWSInputParams ** SOAP_FMAC4 soap_in_PointerTons1__togoWSInputParams(struct soap *soap, const char *tag, struct ns1__togoWSInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__togoWSInputParams **)soap_malloc(soap, sizeof(struct ns1__togoWSInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__togoWSInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__togoWSInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__togoWSInputParams, sizeof(struct ns1__togoWSInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__togoWSInputParams(struct soap *soap, struct ns1__togoWSInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__togoWSInputParams);
+	if (soap_out_PointerTons1__togoWSInputParams(soap, tag?tag:"ns1:togoWSInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__togoWSInputParams ** SOAP_FMAC4 soap_get_PointerTons1__togoWSInputParams(struct soap *soap, struct ns1__togoWSInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__togoWSInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__circular_USCOREmapInputParams(struct soap *soap, struct ns1__circular_USCOREmapInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__circular_USCOREmapInputParams))
+		soap_serialize_ns1__circular_USCOREmapInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__circular_USCOREmapInputParams(struct soap *soap, const char *tag, int id, struct ns1__circular_USCOREmapInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__circular_USCOREmapInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__circular_USCOREmapInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__circular_USCOREmapInputParams ** SOAP_FMAC4 soap_in_PointerTons1__circular_USCOREmapInputParams(struct soap *soap, const char *tag, struct ns1__circular_USCOREmapInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__circular_USCOREmapInputParams **)soap_malloc(soap, sizeof(struct ns1__circular_USCOREmapInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__circular_USCOREmapInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__circular_USCOREmapInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__circular_USCOREmapInputParams, sizeof(struct ns1__circular_USCOREmapInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__circular_USCOREmapInputParams(struct soap *soap, struct ns1__circular_USCOREmapInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__circular_USCOREmapInputParams);
+	if (soap_out_PointerTons1__circular_USCOREmapInputParams(soap, tag?tag:"ns1:circular_mapInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__circular_USCOREmapInputParams ** SOAP_FMAC4 soap_get_PointerTons1__circular_USCOREmapInputParams(struct soap *soap, struct ns1__circular_USCOREmapInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__circular_USCOREmapInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__nucleotide_USCOREperiodicityInputParams(struct soap *soap, struct ns1__nucleotide_USCOREperiodicityInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__nucleotide_USCOREperiodicityInputParams))
+		soap_serialize_ns1__nucleotide_USCOREperiodicityInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__nucleotide_USCOREperiodicityInputParams(struct soap *soap, const char *tag, int id, struct ns1__nucleotide_USCOREperiodicityInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__nucleotide_USCOREperiodicityInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__nucleotide_USCOREperiodicityInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__nucleotide_USCOREperiodicityInputParams ** SOAP_FMAC4 soap_in_PointerTons1__nucleotide_USCOREperiodicityInputParams(struct soap *soap, const char *tag, struct ns1__nucleotide_USCOREperiodicityInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__nucleotide_USCOREperiodicityInputParams **)soap_malloc(soap, sizeof(struct ns1__nucleotide_USCOREperiodicityInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__nucleotide_USCOREperiodicityInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__nucleotide_USCOREperiodicityInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__nucleotide_USCOREperiodicityInputParams, sizeof(struct ns1__nucleotide_USCOREperiodicityInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__nucleotide_USCOREperiodicityInputParams(struct soap *soap, struct ns1__nucleotide_USCOREperiodicityInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__nucleotide_USCOREperiodicityInputParams);
+	if (soap_out_PointerTons1__nucleotide_USCOREperiodicityInputParams(soap, tag?tag:"ns1:nucleotide_periodicityInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__nucleotide_USCOREperiodicityInputParams ** SOAP_FMAC4 soap_get_PointerTons1__nucleotide_USCOREperiodicityInputParams(struct soap *soap, struct ns1__nucleotide_USCOREperiodicityInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__nucleotide_USCOREperiodicityInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__plasmid_USCOREmapInputParams(struct soap *soap, struct ns1__plasmid_USCOREmapInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__plasmid_USCOREmapInputParams))
+		soap_serialize_ns1__plasmid_USCOREmapInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__plasmid_USCOREmapInputParams(struct soap *soap, const char *tag, int id, struct ns1__plasmid_USCOREmapInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__plasmid_USCOREmapInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__plasmid_USCOREmapInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__plasmid_USCOREmapInputParams ** SOAP_FMAC4 soap_in_PointerTons1__plasmid_USCOREmapInputParams(struct soap *soap, const char *tag, struct ns1__plasmid_USCOREmapInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__plasmid_USCOREmapInputParams **)soap_malloc(soap, sizeof(struct ns1__plasmid_USCOREmapInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__plasmid_USCOREmapInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__plasmid_USCOREmapInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__plasmid_USCOREmapInputParams, sizeof(struct ns1__plasmid_USCOREmapInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__plasmid_USCOREmapInputParams(struct soap *soap, struct ns1__plasmid_USCOREmapInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__plasmid_USCOREmapInputParams);
+	if (soap_out_PointerTons1__plasmid_USCOREmapInputParams(soap, tag?tag:"ns1:plasmid_mapInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__plasmid_USCOREmapInputParams ** SOAP_FMAC4 soap_get_PointerTons1__plasmid_USCOREmapInputParams(struct soap *soap, struct ns1__plasmid_USCOREmapInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__plasmid_USCOREmapInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__find_USCOREori_USCOREterInputParams(struct soap *soap, struct ns1__find_USCOREori_USCOREterInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__find_USCOREori_USCOREterInputParams))
+		soap_serialize_ns1__find_USCOREori_USCOREterInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__find_USCOREori_USCOREterInputParams(struct soap *soap, const char *tag, int id, struct ns1__find_USCOREori_USCOREterInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__find_USCOREori_USCOREterInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__find_USCOREori_USCOREterInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREori_USCOREterInputParams ** SOAP_FMAC4 soap_in_PointerTons1__find_USCOREori_USCOREterInputParams(struct soap *soap, const char *tag, struct ns1__find_USCOREori_USCOREterInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__find_USCOREori_USCOREterInputParams **)soap_malloc(soap, sizeof(struct ns1__find_USCOREori_USCOREterInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__find_USCOREori_USCOREterInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__find_USCOREori_USCOREterInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__find_USCOREori_USCOREterInputParams, sizeof(struct ns1__find_USCOREori_USCOREterInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__find_USCOREori_USCOREterInputParams(struct soap *soap, struct ns1__find_USCOREori_USCOREterInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__find_USCOREori_USCOREterInputParams);
+	if (soap_out_PointerTons1__find_USCOREori_USCOREterInputParams(soap, tag?tag:"ns1:find_ori_terInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__find_USCOREori_USCOREterInputParams ** SOAP_FMAC4 soap_get_PointerTons1__find_USCOREori_USCOREterInputParams(struct soap *soap, struct ns1__find_USCOREori_USCOREterInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__find_USCOREori_USCOREterInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToarrayIn(struct soap *soap, struct arrayIn *const*a)
+{
+	if (*a)
+		soap_serialize_arrayIn(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToarrayIn(struct soap *soap, const char *tag, int id, struct arrayIn *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, (struct soap_array*)&(*a)->__ptr, 1, type, SOAP_TYPE_arrayIn);
+	if (id < 0)
+		return soap->error;
+	return soap_out_arrayIn(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct arrayIn ** SOAP_FMAC4 soap_in_PointerToarrayIn(struct soap *soap, const char *tag, struct arrayIn **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct arrayIn **)soap_malloc(soap, sizeof(struct arrayIn *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_arrayIn(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct arrayIn **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_arrayIn, sizeof(struct arrayIn), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToarrayIn(struct soap *soap, struct arrayIn *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerToarrayIn);
+	if (soap_out_PointerToarrayIn(soap, tag?tag:"SOAP-ENC:Array", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct arrayIn ** SOAP_FMAC4 soap_get_PointerToarrayIn(struct soap *soap, struct arrayIn **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerToarrayIn(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__w_USCOREvalueInputParams(struct soap *soap, struct ns1__w_USCOREvalueInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__w_USCOREvalueInputParams))
+		soap_serialize_ns1__w_USCOREvalueInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__w_USCOREvalueInputParams(struct soap *soap, const char *tag, int id, struct ns1__w_USCOREvalueInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__w_USCOREvalueInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__w_USCOREvalueInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__w_USCOREvalueInputParams ** SOAP_FMAC4 soap_in_PointerTons1__w_USCOREvalueInputParams(struct soap *soap, const char *tag, struct ns1__w_USCOREvalueInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__w_USCOREvalueInputParams **)soap_malloc(soap, sizeof(struct ns1__w_USCOREvalueInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__w_USCOREvalueInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__w_USCOREvalueInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__w_USCOREvalueInputParams, sizeof(struct ns1__w_USCOREvalueInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__w_USCOREvalueInputParams(struct soap *soap, struct ns1__w_USCOREvalueInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__w_USCOREvalueInputParams);
+	if (soap_out_PointerTons1__w_USCOREvalueInputParams(soap, tag?tag:"ns1:w_valueInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__w_USCOREvalueInputParams ** SOAP_FMAC4 soap_get_PointerTons1__w_USCOREvalueInputParams(struct soap *soap, struct ns1__w_USCOREvalueInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__w_USCOREvalueInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__P2InputParams(struct soap *soap, struct ns1__P2InputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__P2InputParams))
+		soap_serialize_ns1__P2InputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__P2InputParams(struct soap *soap, const char *tag, int id, struct ns1__P2InputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__P2InputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__P2InputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__P2InputParams ** SOAP_FMAC4 soap_in_PointerTons1__P2InputParams(struct soap *soap, const char *tag, struct ns1__P2InputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__P2InputParams **)soap_malloc(soap, sizeof(struct ns1__P2InputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__P2InputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__P2InputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__P2InputParams, sizeof(struct ns1__P2InputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__P2InputParams(struct soap *soap, struct ns1__P2InputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__P2InputParams);
+	if (soap_out_PointerTons1__P2InputParams(soap, tag?tag:"ns1:P2InputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__P2InputParams ** SOAP_FMAC4 soap_get_PointerTons1__P2InputParams(struct soap *soap, struct ns1__P2InputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__P2InputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__codon_USCOREmvaInputParams(struct soap *soap, struct ns1__codon_USCOREmvaInputParams *const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_ns1__codon_USCOREmvaInputParams))
+		soap_serialize_ns1__codon_USCOREmvaInputParams(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__codon_USCOREmvaInputParams(struct soap *soap, const char *tag, int id, struct ns1__codon_USCOREmvaInputParams *const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_ns1__codon_USCOREmvaInputParams);
+	if (id < 0)
+		return soap->error;
+	return soap_out_ns1__codon_USCOREmvaInputParams(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREmvaInputParams ** SOAP_FMAC4 soap_in_PointerTons1__codon_USCOREmvaInputParams(struct soap *soap, const char *tag, struct ns1__codon_USCOREmvaInputParams **a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (struct ns1__codon_USCOREmvaInputParams **)soap_malloc(soap, sizeof(struct ns1__codon_USCOREmvaInputParams *))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_ns1__codon_USCOREmvaInputParams(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (struct ns1__codon_USCOREmvaInputParams **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ns1__codon_USCOREmvaInputParams, sizeof(struct ns1__codon_USCOREmvaInputParams), 0);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__codon_USCOREmvaInputParams(struct soap *soap, struct ns1__codon_USCOREmvaInputParams *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTons1__codon_USCOREmvaInputParams);
+	if (soap_out_PointerTons1__codon_USCOREmvaInputParams(soap, tag?tag:"ns1:codon_mvaInputParams", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 struct ns1__codon_USCOREmvaInputParams ** SOAP_FMAC4 soap_get_PointerTons1__codon_USCOREmvaInputParams(struct soap *soap, struct ns1__codon_USCOREmvaInputParams **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTons1__codon_USCOREmvaInputParams(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTostring(struct soap *soap, char **const*a)
+{
+	if (!soap_reference(soap, *a, SOAP_TYPE_string))
+		soap_serialize_string(soap, *a);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTostring(struct soap *soap, const char *tag, int id, char **const*a, const char *type)
+{
+	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_string);
+	if (id < 0)
+		return soap->error;
+	return soap_out_string(soap, tag, id, *a, type);
+}
+
+SOAP_FMAC3 char *** SOAP_FMAC4 soap_in_PointerTostring(struct soap *soap, const char *tag, char ***a, const char *type)
+{
+	if (soap_element_begin_in(soap, tag, 1, NULL))
+		return NULL;
+	if (!a)
+		if (!(a = (char ***)soap_malloc(soap, sizeof(char **))))
+			return NULL;
+	*a = NULL;
+	if (!soap->null && *soap->href != '#')
+	{	soap_revert(soap);
+		if (!(*a = soap_in_string(soap, tag, *a, type)))
+			return NULL;
+	}
+	else
+	{	a = (char ***)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_string, sizeof(char *), 1);
+		if (soap->body && soap_element_end_in(soap, tag))
+			return NULL;
+	}
+	return a;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTostring(struct soap *soap, char **const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTostring);
+	if (soap_out_PointerTostring(soap, tag?tag:"byte", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 char *** SOAP_FMAC4 soap_get_PointerTostring(struct soap *soap, char ***p, const char *tag, const char *type)
+{
+	if ((p = soap_in_PointerTostring(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out__QName(struct soap *soap, const char *tag, int id, char *const*a, const char *type)
+{
+	return soap_outstring(soap, tag, id, a, type, SOAP_TYPE__QName);
+}
+
+SOAP_FMAC3 char * * SOAP_FMAC4 soap_in__QName(struct soap *soap, const char *tag, char **a, const char *type)
+{	char **p;
+	p = soap_instring(soap, tag, a, type, SOAP_TYPE__QName, 2, 0, -1);
+	return p;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put__QName(struct soap *soap, char *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE__QName);
+	if (soap_out__QName(soap, tag?tag:"byte", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 char ** SOAP_FMAC4 soap_get__QName(struct soap *soap, char **p, const char *tag, const char *type)
+{
+	if ((p = soap_in__QName(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_string(struct soap *soap, char **a)
+{
+	(void)soap; /* appease -Wall -Werror */
+#ifdef SOAP_DEFAULT_string
+	*a = SOAP_DEFAULT_string;
+#else
+	*a = (char *)0;
+#endif
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_string(struct soap *soap, char *const*a)
+{
+	soap_reference(soap, *a, SOAP_TYPE_string);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_string(struct soap *soap, const char *tag, int id, char *const*a, const char *type)
+{
+	return soap_outstring(soap, tag, id, a, type, SOAP_TYPE_string);
+}
+
+SOAP_FMAC3 char * * SOAP_FMAC4 soap_in_string(struct soap *soap, const char *tag, char **a, const char *type)
+{	char **p;
+	p = soap_instring(soap, tag, a, type, SOAP_TYPE_string, 1, 0, -1);
+	return p;
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_string(struct soap *soap, char *const*a, const char *tag, const char *type)
+{
+	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_string);
+	if (soap_out_string(soap, tag?tag:"byte", id, a, type))
+		return soap->error;
+	return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_string(struct soap *soap, char **p, const char *tag, const char *type)
+{
+	if ((p = soap_in_string(soap, tag, p, type)))
+		if (soap_getindependent(soap))
+			return NULL;
+	return p;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#if defined(__BORLANDC__)
+#pragma option pop
+#pragma option pop
+#endif
+
+/* End of soapC.c */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/soapClient.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,5174 @@
+/* soapClient.c
+   Generated by gSOAP 2.8.6 from gae.h
+
+Copyright(C) 2000-2011, Robert van Engelen, Genivia Inc. All Rights Reserved.
+The generated code is released under one of the following licenses:
+1) GPL or 2) Genivia's license for commercial use.
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+*/
+
+#if defined(__BORLANDC__)
+#pragma option push -w-8060
+#pragma option push -w-8004
+#endif
+#include "soapH.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SOAP_SOURCE_STAMP("@(#) soapClient.c ver 2.8.6 2013-04-04 13:42:58 GMT")
+
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__codon_USCOREmva(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__codon_USCOREmvaInputParams *_params, char **_result)
+{	struct ns1__codon_USCOREmva soap_tmp_ns1__codon_USCOREmva;
+	struct ns1__codon_USCOREmvaResponse *soap_tmp_ns1__codon_USCOREmvaResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#codon_mva";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__codon_USCOREmva._sequence = _sequence;
+	soap_tmp_ns1__codon_USCOREmva._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__codon_USCOREmva(soap, &soap_tmp_ns1__codon_USCOREmva);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__codon_USCOREmva(soap, &soap_tmp_ns1__codon_USCOREmva, "ns1:codon_mva", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__codon_USCOREmva(soap, &soap_tmp_ns1__codon_USCOREmva, "ns1:codon_mva", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__codon_USCOREmvaResponse = soap_get_ns1__codon_USCOREmvaResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__codon_USCOREmvaResponse->_result)
+		*_result = *soap_tmp_ns1__codon_USCOREmvaResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__P2(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__P2InputParams *_params, char **_result)
+{	struct ns1__P2 soap_tmp_ns1__P2;
+	struct ns1__P2Response *soap_tmp_ns1__P2Response;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#P2";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__P2._sequence = _sequence;
+	soap_tmp_ns1__P2._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__P2(soap, &soap_tmp_ns1__P2);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__P2(soap, &soap_tmp_ns1__P2, "ns1:P2", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__P2(soap, &soap_tmp_ns1__P2, "ns1:P2", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__P2Response = soap_get_ns1__P2Response(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__P2Response->_result)
+		*_result = *soap_tmp_ns1__P2Response->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__w_USCOREvalue(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__w_USCOREvalueInputParams *_params, char **_result)
+{	struct ns1__w_USCOREvalue soap_tmp_ns1__w_USCOREvalue;
+	struct ns1__w_USCOREvalueResponse *soap_tmp_ns1__w_USCOREvalueResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#w_value";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__w_USCOREvalue._sequence = _sequence;
+	soap_tmp_ns1__w_USCOREvalue._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__w_USCOREvalue(soap, &soap_tmp_ns1__w_USCOREvalue);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__w_USCOREvalue(soap, &soap_tmp_ns1__w_USCOREvalue, "ns1:w_value", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__w_USCOREvalue(soap, &soap_tmp_ns1__w_USCOREvalue, "ns1:w_value", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__w_USCOREvalueResponse = soap_get_ns1__w_USCOREvalueResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__w_USCOREvalueResponse->_result)
+		*_result = *soap_tmp_ns1__w_USCOREvalueResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__splitprintseq(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char **_result)
+{	struct ns1__splitprintseq soap_tmp_ns1__splitprintseq;
+	struct ns1__splitprintseqResponse *soap_tmp_ns1__splitprintseqResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#splitprintseq";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__splitprintseq._sequence = _sequence;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__splitprintseq(soap, &soap_tmp_ns1__splitprintseq);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__splitprintseq(soap, &soap_tmp_ns1__splitprintseq, "ns1:splitprintseq", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__splitprintseq(soap, &soap_tmp_ns1__splitprintseq, "ns1:splitprintseq", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__splitprintseqResponse = soap_get_ns1__splitprintseqResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__splitprintseqResponse->_result)
+		*_result = *soap_tmp_ns1__splitprintseqResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__median(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, char **_result)
+{	struct ns1__median soap_tmp_ns1__median;
+	struct ns1__medianResponse *soap_tmp_ns1__medianResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#median";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__median._array = _array;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__median(soap, &soap_tmp_ns1__median);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__median(soap, &soap_tmp_ns1__median, "ns1:median", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__median(soap, &soap_tmp_ns1__median, "ns1:median", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__medianResponse = soap_get_ns1__medianResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__medianResponse->_result)
+		*_result = *soap_tmp_ns1__medianResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__find_USCOREori_USCOREter(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__find_USCOREori_USCOREterInputParams *_params, char **_result)
+{	struct ns1__find_USCOREori_USCOREter soap_tmp_ns1__find_USCOREori_USCOREter;
+	struct ns1__find_USCOREori_USCOREterResponse *soap_tmp_ns1__find_USCOREori_USCOREterResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#find_ori_ter";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__find_USCOREori_USCOREter._sequence = _sequence;
+	soap_tmp_ns1__find_USCOREori_USCOREter._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__find_USCOREori_USCOREter(soap, &soap_tmp_ns1__find_USCOREori_USCOREter);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__find_USCOREori_USCOREter(soap, &soap_tmp_ns1__find_USCOREori_USCOREter, "ns1:find_ori_ter", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__find_USCOREori_USCOREter(soap, &soap_tmp_ns1__find_USCOREori_USCOREter, "ns1:find_ori_ter", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__find_USCOREori_USCOREterResponse = soap_get_ns1__find_USCOREori_USCOREterResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__find_USCOREori_USCOREterResponse->_result)
+		*_result = *soap_tmp_ns1__find_USCOREori_USCOREterResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__plasmid_USCOREmap(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__plasmid_USCOREmapInputParams *_params, char **_result)
+{	struct ns1__plasmid_USCOREmap soap_tmp_ns1__plasmid_USCOREmap;
+	struct ns1__plasmid_USCOREmapResponse *soap_tmp_ns1__plasmid_USCOREmapResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#plasmid_map";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__plasmid_USCOREmap._sequence = _sequence;
+	soap_tmp_ns1__plasmid_USCOREmap._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__plasmid_USCOREmap(soap, &soap_tmp_ns1__plasmid_USCOREmap);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__plasmid_USCOREmap(soap, &soap_tmp_ns1__plasmid_USCOREmap, "ns1:plasmid_map", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__plasmid_USCOREmap(soap, &soap_tmp_ns1__plasmid_USCOREmap, "ns1:plasmid_map", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__plasmid_USCOREmapResponse = soap_get_ns1__plasmid_USCOREmapResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__plasmid_USCOREmapResponse->_result)
+		*_result = *soap_tmp_ns1__plasmid_USCOREmapResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__sum(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, char **_result)
+{	struct ns1__sum soap_tmp_ns1__sum;
+	struct ns1__sumResponse *soap_tmp_ns1__sumResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#sum";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__sum._array = _array;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__sum(soap, &soap_tmp_ns1__sum);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__sum(soap, &soap_tmp_ns1__sum, "ns1:sum", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__sum(soap, &soap_tmp_ns1__sum, "ns1:sum", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__sumResponse = soap_get_ns1__sumResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__sumResponse->_result)
+		*_result = *soap_tmp_ns1__sumResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__nucleotide_USCOREperiodicity(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__nucleotide_USCOREperiodicityInputParams *_params, char **_result)
+{	struct ns1__nucleotide_USCOREperiodicity soap_tmp_ns1__nucleotide_USCOREperiodicity;
+	struct ns1__nucleotide_USCOREperiodicityResponse *soap_tmp_ns1__nucleotide_USCOREperiodicityResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#nucleotide_periodicity";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__nucleotide_USCOREperiodicity._sequence = _sequence;
+	soap_tmp_ns1__nucleotide_USCOREperiodicity._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__nucleotide_USCOREperiodicity(soap, &soap_tmp_ns1__nucleotide_USCOREperiodicity);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__nucleotide_USCOREperiodicity(soap, &soap_tmp_ns1__nucleotide_USCOREperiodicity, "ns1:nucleotide_periodicity", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__nucleotide_USCOREperiodicity(soap, &soap_tmp_ns1__nucleotide_USCOREperiodicity, "ns1:nucleotide_periodicity", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__nucleotide_USCOREperiodicityResponse = soap_get_ns1__nucleotide_USCOREperiodicityResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__nucleotide_USCOREperiodicityResponse->_result)
+		*_result = *soap_tmp_ns1__nucleotide_USCOREperiodicityResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__variance(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, char **_result)
+{	struct ns1__variance soap_tmp_ns1__variance;
+	struct ns1__varianceResponse *soap_tmp_ns1__varianceResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#variance";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__variance._array = _array;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__variance(soap, &soap_tmp_ns1__variance);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__variance(soap, &soap_tmp_ns1__variance, "ns1:variance", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__variance(soap, &soap_tmp_ns1__variance, "ns1:variance", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__varianceResponse = soap_get_ns1__varianceResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__varianceResponse->_result)
+		*_result = *soap_tmp_ns1__varianceResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__amino_USCOREinfo(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char **_result)
+{	struct ns1__amino_USCOREinfo soap_tmp_ns1__amino_USCOREinfo;
+	struct ns1__amino_USCOREinfoResponse *soap_tmp_ns1__amino_USCOREinfoResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#amino_info";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__amino_USCOREinfo._sequence = _sequence;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__amino_USCOREinfo(soap, &soap_tmp_ns1__amino_USCOREinfo);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__amino_USCOREinfo(soap, &soap_tmp_ns1__amino_USCOREinfo, "ns1:amino_info", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__amino_USCOREinfo(soap, &soap_tmp_ns1__amino_USCOREinfo, "ns1:amino_info", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__amino_USCOREinfoResponse = soap_get_ns1__amino_USCOREinfoResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__amino_USCOREinfoResponse->_result)
+		*_result = *soap_tmp_ns1__amino_USCOREinfoResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__circular_USCOREmap(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__circular_USCOREmapInputParams *_params, char **_result)
+{	struct ns1__circular_USCOREmap soap_tmp_ns1__circular_USCOREmap;
+	struct ns1__circular_USCOREmapResponse *soap_tmp_ns1__circular_USCOREmapResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#circular_map";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__circular_USCOREmap._sequence = _sequence;
+	soap_tmp_ns1__circular_USCOREmap._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__circular_USCOREmap(soap, &soap_tmp_ns1__circular_USCOREmap);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__circular_USCOREmap(soap, &soap_tmp_ns1__circular_USCOREmap, "ns1:circular_map", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__circular_USCOREmap(soap, &soap_tmp_ns1__circular_USCOREmap, "ns1:circular_map", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__circular_USCOREmapResponse = soap_get_ns1__circular_USCOREmapResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__circular_USCOREmapResponse->_result)
+		*_result = *soap_tmp_ns1__circular_USCOREmapResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__togoWS(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_query, struct ns1__togoWSInputParams *_params, char **_result)
+{	struct ns1__togoWS soap_tmp_ns1__togoWS;
+	struct ns1__togoWSResponse *soap_tmp_ns1__togoWSResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#togoWS";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__togoWS._query = _query;
+	soap_tmp_ns1__togoWS._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__togoWS(soap, &soap_tmp_ns1__togoWS);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__togoWS(soap, &soap_tmp_ns1__togoWS, "ns1:togoWS", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__togoWS(soap, &soap_tmp_ns1__togoWS, "ns1:togoWS", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__togoWSResponse = soap_get_ns1__togoWSResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__togoWSResponse->_result)
+		*_result = *soap_tmp_ns1__togoWSResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__translate(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char **_result)
+{	struct ns1__translate soap_tmp_ns1__translate;
+	struct ns1__translateResponse *soap_tmp_ns1__translateResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#translate";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__translate._sequence = _sequence;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__translate(soap, &soap_tmp_ns1__translate);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__translate(soap, &soap_tmp_ns1__translate, "ns1:translate", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__translate(soap, &soap_tmp_ns1__translate, "ns1:translate", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__translateResponse = soap_get_ns1__translateResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__translateResponse->_result)
+		*_result = *soap_tmp_ns1__translateResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__phx(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__phxInputParams *_params, char **_result)
+{	struct ns1__phx soap_tmp_ns1__phx;
+	struct ns1__phxResponse *soap_tmp_ns1__phxResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#phx";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__phx._sequence = _sequence;
+	soap_tmp_ns1__phx._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__phx(soap, &soap_tmp_ns1__phx);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__phx(soap, &soap_tmp_ns1__phx, "ns1:phx", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__phx(soap, &soap_tmp_ns1__phx, "ns1:phx", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__phxResponse = soap_get_ns1__phxResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__phxResponse->_result)
+		*_result = *soap_tmp_ns1__phxResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__icdi(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__icdiInputParams *_params, char **_result)
+{	struct ns1__icdi soap_tmp_ns1__icdi;
+	struct ns1__icdiResponse *soap_tmp_ns1__icdiResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#icdi";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__icdi._sequence = _sequence;
+	soap_tmp_ns1__icdi._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__icdi(soap, &soap_tmp_ns1__icdi);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__icdi(soap, &soap_tmp_ns1__icdi, "ns1:icdi", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__icdi(soap, &soap_tmp_ns1__icdi, "ns1:icdi", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__icdiResponse = soap_get_ns1__icdiResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__icdiResponse->_result)
+		*_result = *soap_tmp_ns1__icdiResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__enc(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__encInputParams *_params, char **_result)
+{	struct ns1__enc soap_tmp_ns1__enc;
+	struct ns1__encResponse *soap_tmp_ns1__encResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#enc";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__enc._sequence = _sequence;
+	soap_tmp_ns1__enc._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__enc(soap, &soap_tmp_ns1__enc);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__enc(soap, &soap_tmp_ns1__enc, "ns1:enc", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__enc(soap, &soap_tmp_ns1__enc, "ns1:enc", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__encResponse = soap_get_ns1__encResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__encResponse->_result)
+		*_result = *soap_tmp_ns1__encResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__fop(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__fopInputParams *_params, char **_result)
+{	struct ns1__fop soap_tmp_ns1__fop;
+	struct ns1__fopResponse *soap_tmp_ns1__fopResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#fop";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__fop._sequence = _sequence;
+	soap_tmp_ns1__fop._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__fop(soap, &soap_tmp_ns1__fop);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__fop(soap, &soap_tmp_ns1__fop, "ns1:fop", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__fop(soap, &soap_tmp_ns1__fop, "ns1:fop", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__fopResponse = soap_get_ns1__fopResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__fopResponse->_result)
+		*_result = *soap_tmp_ns1__fopResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__bui(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__buiInputParams *_params, char **_result)
+{	struct ns1__bui soap_tmp_ns1__bui;
+	struct ns1__buiResponse *soap_tmp_ns1__buiResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#bui";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__bui._sequence = _sequence;
+	soap_tmp_ns1__bui._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__bui(soap, &soap_tmp_ns1__bui);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__bui(soap, &soap_tmp_ns1__bui, "ns1:bui", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__bui(soap, &soap_tmp_ns1__bui, "ns1:bui", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__buiResponse = soap_get_ns1__buiResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__buiResponse->_result)
+		*_result = *soap_tmp_ns1__buiResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__dist_USCOREin_USCOREcc(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, int _position1, int _position2, char **_result)
+{	struct ns1__dist_USCOREin_USCOREcc soap_tmp_ns1__dist_USCOREin_USCOREcc;
+	struct ns1__dist_USCOREin_USCOREccResponse *soap_tmp_ns1__dist_USCOREin_USCOREccResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#dist_in_cc";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__dist_USCOREin_USCOREcc._sequence = _sequence;
+	soap_tmp_ns1__dist_USCOREin_USCOREcc._position1 = _position1;
+	soap_tmp_ns1__dist_USCOREin_USCOREcc._position2 = _position2;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__dist_USCOREin_USCOREcc(soap, &soap_tmp_ns1__dist_USCOREin_USCOREcc);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__dist_USCOREin_USCOREcc(soap, &soap_tmp_ns1__dist_USCOREin_USCOREcc, "ns1:dist_in_cc", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__dist_USCOREin_USCOREcc(soap, &soap_tmp_ns1__dist_USCOREin_USCOREcc, "ns1:dist_in_cc", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__dist_USCOREin_USCOREccResponse = soap_get_ns1__dist_USCOREin_USCOREccResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__dist_USCOREin_USCOREccResponse->_result)
+		*_result = *soap_tmp_ns1__dist_USCOREin_USCOREccResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__find_USCOREdnaAbox(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__find_USCOREdnaAboxInputParams *_params, char **_result)
+{	struct ns1__find_USCOREdnaAbox soap_tmp_ns1__find_USCOREdnaAbox;
+	struct ns1__find_USCOREdnaAboxResponse *soap_tmp_ns1__find_USCOREdnaAboxResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#find_dnaAbox";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__find_USCOREdnaAbox._sequence = _sequence;
+	soap_tmp_ns1__find_USCOREdnaAbox._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__find_USCOREdnaAbox(soap, &soap_tmp_ns1__find_USCOREdnaAbox);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__find_USCOREdnaAbox(soap, &soap_tmp_ns1__find_USCOREdnaAbox, "ns1:find_dnaAbox", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__find_USCOREdnaAbox(soap, &soap_tmp_ns1__find_USCOREdnaAbox, "ns1:find_dnaAbox", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__find_USCOREdnaAboxResponse = soap_get_ns1__find_USCOREdnaAboxResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__find_USCOREdnaAboxResponse->_result)
+		*_result = *soap_tmp_ns1__find_USCOREdnaAboxResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__ttest(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array1, struct arrayIn *_array2, struct ns1__ttestInputParams *_params, struct ns1__ttestResponse *_param_1)
+{	struct ns1__ttest soap_tmp_ns1__ttest;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#ttest";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__ttest._array1 = _array1;
+	soap_tmp_ns1__ttest._array2 = _array2;
+	soap_tmp_ns1__ttest._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__ttest(soap, &soap_tmp_ns1__ttest);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__ttest(soap, &soap_tmp_ns1__ttest, "ns1:ttest", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__ttest(soap, &soap_tmp_ns1__ttest, "ns1:ttest", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_param_1)
+		return soap_closesock(soap);
+	soap_default_ns1__ttestResponse(soap, _param_1);
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_get_ns1__ttestResponse(soap, _param_1, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__seq2png(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__seq2pngInputParams *_params, char **_result)
+{	struct ns1__seq2png soap_tmp_ns1__seq2png;
+	struct ns1__seq2pngResponse *soap_tmp_ns1__seq2pngResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#seq2png";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__seq2png._sequence = _sequence;
+	soap_tmp_ns1__seq2png._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__seq2png(soap, &soap_tmp_ns1__seq2png);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__seq2png(soap, &soap_tmp_ns1__seq2png, "ns1:seq2png", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__seq2png(soap, &soap_tmp_ns1__seq2png, "ns1:seq2png", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__seq2pngResponse = soap_get_ns1__seq2pngResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__seq2pngResponse->_result)
+		*_result = *soap_tmp_ns1__seq2pngResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__amino_USCOREcounter(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__amino_USCOREcounterInputParams *_params, char **_result)
+{	struct ns1__amino_USCOREcounter soap_tmp_ns1__amino_USCOREcounter;
+	struct ns1__amino_USCOREcounterResponse *soap_tmp_ns1__amino_USCOREcounterResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#amino_counter";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__amino_USCOREcounter._sequence = _sequence;
+	soap_tmp_ns1__amino_USCOREcounter._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__amino_USCOREcounter(soap, &soap_tmp_ns1__amino_USCOREcounter);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__amino_USCOREcounter(soap, &soap_tmp_ns1__amino_USCOREcounter, "ns1:amino_counter", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__amino_USCOREcounter(soap, &soap_tmp_ns1__amino_USCOREcounter, "ns1:amino_counter", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__amino_USCOREcounterResponse = soap_get_ns1__amino_USCOREcounterResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__amino_USCOREcounterResponse->_result)
+		*_result = *soap_tmp_ns1__amino_USCOREcounterResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__aaui(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__aauiInputParams *_params, char **_result)
+{	struct ns1__aaui soap_tmp_ns1__aaui;
+	struct ns1__aauiResponse *soap_tmp_ns1__aauiResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#aaui";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__aaui._sequence = _sequence;
+	soap_tmp_ns1__aaui._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__aaui(soap, &soap_tmp_ns1__aaui);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__aaui(soap, &soap_tmp_ns1__aaui, "ns1:aaui", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__aaui(soap, &soap_tmp_ns1__aaui, "ns1:aaui", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__aauiResponse = soap_get_ns1__aauiResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__aauiResponse->_result)
+		*_result = *soap_tmp_ns1__aauiResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__codon_USCOREcompiler(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__codon_USCOREcompilerInputParams *_params, char **_result)
+{	struct ns1__codon_USCOREcompiler soap_tmp_ns1__codon_USCOREcompiler;
+	struct ns1__codon_USCOREcompilerResponse *soap_tmp_ns1__codon_USCOREcompilerResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#codon_compiler";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__codon_USCOREcompiler._sequence = _sequence;
+	soap_tmp_ns1__codon_USCOREcompiler._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__codon_USCOREcompiler(soap, &soap_tmp_ns1__codon_USCOREcompiler);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__codon_USCOREcompiler(soap, &soap_tmp_ns1__codon_USCOREcompiler, "ns1:codon_compiler", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__codon_USCOREcompiler(soap, &soap_tmp_ns1__codon_USCOREcompiler, "ns1:codon_compiler", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__codon_USCOREcompilerResponse = soap_get_ns1__codon_USCOREcompilerResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__codon_USCOREcompilerResponse->_result)
+		*_result = *soap_tmp_ns1__codon_USCOREcompilerResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__over_USCORElapping_USCOREfinder(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__over_USCORElapping_USCOREfinderInputParams *_params, char **_result)
+{	struct ns1__over_USCORElapping_USCOREfinder soap_tmp_ns1__over_USCORElapping_USCOREfinder;
+	struct ns1__over_USCORElapping_USCOREfinderResponse *soap_tmp_ns1__over_USCORElapping_USCOREfinderResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#over_lapping_finder";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__over_USCORElapping_USCOREfinder._sequence = _sequence;
+	soap_tmp_ns1__over_USCORElapping_USCOREfinder._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__over_USCORElapping_USCOREfinder(soap, &soap_tmp_ns1__over_USCORElapping_USCOREfinder);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__over_USCORElapping_USCOREfinder(soap, &soap_tmp_ns1__over_USCORElapping_USCOREfinder, "ns1:over_lapping_finder", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__over_USCORElapping_USCOREfinder(soap, &soap_tmp_ns1__over_USCORElapping_USCOREfinder, "ns1:over_lapping_finder", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__over_USCORElapping_USCOREfinderResponse = soap_get_ns1__over_USCORElapping_USCOREfinderResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__over_USCORElapping_USCOREfinderResponse->_result)
+		*_result = *soap_tmp_ns1__over_USCORElapping_USCOREfinderResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__Ew(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__EwInputParams *_params, char **_result)
+{	struct ns1__Ew soap_tmp_ns1__Ew;
+	struct ns1__EwResponse *soap_tmp_ns1__EwResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#Ew";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__Ew._sequence = _sequence;
+	soap_tmp_ns1__Ew._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__Ew(soap, &soap_tmp_ns1__Ew);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__Ew(soap, &soap_tmp_ns1__Ew, "ns1:Ew", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__Ew(soap, &soap_tmp_ns1__Ew, "ns1:Ew", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__EwResponse = soap_get_ns1__EwResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__EwResponse->_result)
+		*_result = *soap_tmp_ns1__EwResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__base_USCORErelative_USCOREentropy(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__base_USCORErelative_USCOREentropyInputParams *_params, char **_result)
+{	struct ns1__base_USCORErelative_USCOREentropy soap_tmp_ns1__base_USCORErelative_USCOREentropy;
+	struct ns1__base_USCORErelative_USCOREentropyResponse *soap_tmp_ns1__base_USCORErelative_USCOREentropyResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#base_relative_entropy";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__base_USCORErelative_USCOREentropy._sequence = _sequence;
+	soap_tmp_ns1__base_USCORErelative_USCOREentropy._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__base_USCORErelative_USCOREentropy(soap, &soap_tmp_ns1__base_USCORErelative_USCOREentropy);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__base_USCORErelative_USCOREentropy(soap, &soap_tmp_ns1__base_USCORErelative_USCOREentropy, "ns1:base_relative_entropy", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__base_USCORErelative_USCOREentropy(soap, &soap_tmp_ns1__base_USCORErelative_USCOREentropy, "ns1:base_relative_entropy", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__base_USCORErelative_USCOREentropyResponse = soap_get_ns1__base_USCORErelative_USCOREentropyResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__base_USCORErelative_USCOREentropyResponse->_result)
+		*_result = *soap_tmp_ns1__base_USCORErelative_USCOREentropyResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__view_USCOREcds(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__view_USCOREcdsInputParams *_params, char **_result)
+{	struct ns1__view_USCOREcds soap_tmp_ns1__view_USCOREcds;
+	struct ns1__view_USCOREcdsResponse *soap_tmp_ns1__view_USCOREcdsResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#view_cds";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__view_USCOREcds._sequence = _sequence;
+	soap_tmp_ns1__view_USCOREcds._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__view_USCOREcds(soap, &soap_tmp_ns1__view_USCOREcds);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__view_USCOREcds(soap, &soap_tmp_ns1__view_USCOREcds, "ns1:view_cds", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__view_USCOREcds(soap, &soap_tmp_ns1__view_USCOREcds, "ns1:view_cds", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__view_USCOREcdsResponse = soap_get_ns1__view_USCOREcdsResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__view_USCOREcdsResponse->_result)
+		*_result = *soap_tmp_ns1__view_USCOREcdsResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__query_USCOREstrand(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, int _position, struct ns1__query_USCOREstrandInputParams *_params, char **_result)
+{	struct ns1__query_USCOREstrand soap_tmp_ns1__query_USCOREstrand;
+	struct ns1__query_USCOREstrandResponse *soap_tmp_ns1__query_USCOREstrandResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#query_strand";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__query_USCOREstrand._sequence = _sequence;
+	soap_tmp_ns1__query_USCOREstrand._position = _position;
+	soap_tmp_ns1__query_USCOREstrand._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__query_USCOREstrand(soap, &soap_tmp_ns1__query_USCOREstrand);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__query_USCOREstrand(soap, &soap_tmp_ns1__query_USCOREstrand, "ns1:query_strand", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__query_USCOREstrand(soap, &soap_tmp_ns1__query_USCOREstrand, "ns1:query_strand", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__query_USCOREstrandResponse = soap_get_ns1__query_USCOREstrandResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__query_USCOREstrandResponse->_result)
+		*_result = *soap_tmp_ns1__query_USCOREstrandResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__genomicskew(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__genomicskewInputParams *_params, char **_result)
+{	struct ns1__genomicskew soap_tmp_ns1__genomicskew;
+	struct ns1__genomicskewResponse *soap_tmp_ns1__genomicskewResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#genomicskew";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__genomicskew._sequence = _sequence;
+	soap_tmp_ns1__genomicskew._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__genomicskew(soap, &soap_tmp_ns1__genomicskew);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__genomicskew(soap, &soap_tmp_ns1__genomicskew, "ns1:genomicskew", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__genomicskew(soap, &soap_tmp_ns1__genomicskew, "ns1:genomicskew", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__genomicskewResponse = soap_get_ns1__genomicskewResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__genomicskewResponse->_result)
+		*_result = *soap_tmp_ns1__genomicskewResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__filter_USCOREcds_USCOREby_USCOREatg(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *_params, struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *_param_2)
+{	struct ns1__filter_USCOREcds_USCOREby_USCOREatg soap_tmp_ns1__filter_USCOREcds_USCOREby_USCOREatg;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#filter_cds_by_atg";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__filter_USCOREcds_USCOREby_USCOREatg._sequence = _sequence;
+	soap_tmp_ns1__filter_USCOREcds_USCOREby_USCOREatg._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__filter_USCOREcds_USCOREby_USCOREatg(soap, &soap_tmp_ns1__filter_USCOREcds_USCOREby_USCOREatg);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__filter_USCOREcds_USCOREby_USCOREatg(soap, &soap_tmp_ns1__filter_USCOREcds_USCOREby_USCOREatg, "ns1:filter_cds_by_atg", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__filter_USCOREcds_USCOREby_USCOREatg(soap, &soap_tmp_ns1__filter_USCOREcds_USCOREby_USCOREatg, "ns1:filter_cds_by_atg", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_param_2)
+		return soap_closesock(soap);
+	soap_default_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, _param_2);
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_get_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, _param_2, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__gcsi(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__gcsiInputParams *_params, char **_result)
+{	struct ns1__gcsi soap_tmp_ns1__gcsi;
+	struct ns1__gcsiResponse *soap_tmp_ns1__gcsiResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#gcsi";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__gcsi._sequence = _sequence;
+	soap_tmp_ns1__gcsi._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__gcsi(soap, &soap_tmp_ns1__gcsi);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__gcsi(soap, &soap_tmp_ns1__gcsi, "ns1:gcsi", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__gcsi(soap, &soap_tmp_ns1__gcsi, "ns1:gcsi", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__gcsiResponse = soap_get_ns1__gcsiResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__gcsiResponse->_result)
+		*_result = *soap_tmp_ns1__gcsiResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__cai(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__caiInputParams *_params, char **_result)
+{	struct ns1__cai soap_tmp_ns1__cai;
+	struct ns1__caiResponse *soap_tmp_ns1__caiResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#cai";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__cai._sequence = _sequence;
+	soap_tmp_ns1__cai._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__cai(soap, &soap_tmp_ns1__cai);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__cai(soap, &soap_tmp_ns1__cai, "ns1:cai", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__cai(soap, &soap_tmp_ns1__cai, "ns1:cai", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__caiResponse = soap_get_ns1__caiResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__caiResponse->_result)
+		*_result = *soap_tmp_ns1__caiResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__maxdex(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, char **_result)
+{	struct ns1__maxdex soap_tmp_ns1__maxdex;
+	struct ns1__maxdexResponse *soap_tmp_ns1__maxdexResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#maxdex";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__maxdex._array = _array;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__maxdex(soap, &soap_tmp_ns1__maxdex);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__maxdex(soap, &soap_tmp_ns1__maxdex, "ns1:maxdex", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__maxdex(soap, &soap_tmp_ns1__maxdex, "ns1:maxdex", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__maxdexResponse = soap_get_ns1__maxdexResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__maxdexResponse->_result)
+		*_result = *soap_tmp_ns1__maxdexResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__max(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, char **_result)
+{	struct ns1__max soap_tmp_ns1__max;
+	struct ns1__maxResponse *soap_tmp_ns1__maxResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#max";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__max._array = _array;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__max(soap, &soap_tmp_ns1__max);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__max(soap, &soap_tmp_ns1__max, "ns1:max", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__max(soap, &soap_tmp_ns1__max, "ns1:max", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__maxResponse = soap_get_ns1__maxResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__maxResponse->_result)
+		*_result = *soap_tmp_ns1__maxResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__query_USCOREarm(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, int _position, char **_result)
+{	struct ns1__query_USCOREarm soap_tmp_ns1__query_USCOREarm;
+	struct ns1__query_USCOREarmResponse *soap_tmp_ns1__query_USCOREarmResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#query_arm";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__query_USCOREarm._sequence = _sequence;
+	soap_tmp_ns1__query_USCOREarm._position = _position;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__query_USCOREarm(soap, &soap_tmp_ns1__query_USCOREarm);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__query_USCOREarm(soap, &soap_tmp_ns1__query_USCOREarm, "ns1:query_arm", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__query_USCOREarm(soap, &soap_tmp_ns1__query_USCOREarm, "ns1:query_arm", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__query_USCOREarmResponse = soap_get_ns1__query_USCOREarmResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__query_USCOREarmResponse->_result)
+		*_result = *soap_tmp_ns1__query_USCOREarmResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__mindex(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, char **_result)
+{	struct ns1__mindex soap_tmp_ns1__mindex;
+	struct ns1__mindexResponse *soap_tmp_ns1__mindexResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#mindex";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__mindex._array = _array;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__mindex(soap, &soap_tmp_ns1__mindex);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__mindex(soap, &soap_tmp_ns1__mindex, "ns1:mindex", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__mindex(soap, &soap_tmp_ns1__mindex, "ns1:mindex", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__mindexResponse = soap_get_ns1__mindexResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__mindexResponse->_result)
+		*_result = *soap_tmp_ns1__mindexResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__consensus_USCOREz(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array_USCOREseq, struct ns1__consensus_USCOREzInputParams *_params, char **_result)
+{	struct ns1__consensus_USCOREz soap_tmp_ns1__consensus_USCOREz;
+	struct ns1__consensus_USCOREzResponse *soap_tmp_ns1__consensus_USCOREzResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#consensus_z";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__consensus_USCOREz._array_USCOREseq = _array_USCOREseq;
+	soap_tmp_ns1__consensus_USCOREz._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__consensus_USCOREz(soap, &soap_tmp_ns1__consensus_USCOREz);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__consensus_USCOREz(soap, &soap_tmp_ns1__consensus_USCOREz, "ns1:consensus_z", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__consensus_USCOREz(soap, &soap_tmp_ns1__consensus_USCOREz, "ns1:consensus_z", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__consensus_USCOREzResponse = soap_get_ns1__consensus_USCOREzResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__consensus_USCOREzResponse->_result)
+		*_result = *soap_tmp_ns1__consensus_USCOREzResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__genome_USCOREmap(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__genome_USCOREmapInputParams *_params, char **_result)
+{	struct ns1__genome_USCOREmap soap_tmp_ns1__genome_USCOREmap;
+	struct ns1__genome_USCOREmapResponse *soap_tmp_ns1__genome_USCOREmapResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#genome_map";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__genome_USCOREmap._sequence = _sequence;
+	soap_tmp_ns1__genome_USCOREmap._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__genome_USCOREmap(soap, &soap_tmp_ns1__genome_USCOREmap);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__genome_USCOREmap(soap, &soap_tmp_ns1__genome_USCOREmap, "ns1:genome_map", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__genome_USCOREmap(soap, &soap_tmp_ns1__genome_USCOREmap, "ns1:genome_map", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__genome_USCOREmapResponse = soap_get_ns1__genome_USCOREmapResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__genome_USCOREmapResponse->_result)
+		*_result = *soap_tmp_ns1__genome_USCOREmapResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__longest_USCOREORF(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char **_result)
+{	struct ns1__longest_USCOREORF soap_tmp_ns1__longest_USCOREORF;
+	struct ns1__longest_USCOREORFResponse *soap_tmp_ns1__longest_USCOREORFResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#longest_ORF";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__longest_USCOREORF._sequence = _sequence;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__longest_USCOREORF(soap, &soap_tmp_ns1__longest_USCOREORF);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__longest_USCOREORF(soap, &soap_tmp_ns1__longest_USCOREORF, "ns1:longest_ORF", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__longest_USCOREORF(soap, &soap_tmp_ns1__longest_USCOREORF, "ns1:longest_ORF", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__longest_USCOREORFResponse = soap_get_ns1__longest_USCOREORFResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__longest_USCOREORFResponse->_result)
+		*_result = *soap_tmp_ns1__longest_USCOREORFResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__rep_USCOREori_USCOREter(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__rep_USCOREori_USCOREterInputParams *_params, char **_result)
+{	struct ns1__rep_USCOREori_USCOREter soap_tmp_ns1__rep_USCOREori_USCOREter;
+	struct ns1__rep_USCOREori_USCOREterResponse *soap_tmp_ns1__rep_USCOREori_USCOREterResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#rep_ori_ter";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__rep_USCOREori_USCOREter._sequence = _sequence;
+	soap_tmp_ns1__rep_USCOREori_USCOREter._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__rep_USCOREori_USCOREter(soap, &soap_tmp_ns1__rep_USCOREori_USCOREter);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__rep_USCOREori_USCOREter(soap, &soap_tmp_ns1__rep_USCOREori_USCOREter, "ns1:rep_ori_ter", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__rep_USCOREori_USCOREter(soap, &soap_tmp_ns1__rep_USCOREori_USCOREter, "ns1:rep_ori_ter", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__rep_USCOREori_USCOREterResponse = soap_get_ns1__rep_USCOREori_USCOREterResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__rep_USCOREori_USCOREterResponse->_result)
+		*_result = *soap_tmp_ns1__rep_USCOREori_USCOREterResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__calc_USCOREpI(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char **_result)
+{	struct ns1__calc_USCOREpI soap_tmp_ns1__calc_USCOREpI;
+	struct ns1__calc_USCOREpIResponse *soap_tmp_ns1__calc_USCOREpIResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#calc_pI";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__calc_USCOREpI._sequence = _sequence;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__calc_USCOREpI(soap, &soap_tmp_ns1__calc_USCOREpI);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__calc_USCOREpI(soap, &soap_tmp_ns1__calc_USCOREpI, "ns1:calc_pI", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__calc_USCOREpI(soap, &soap_tmp_ns1__calc_USCOREpI, "ns1:calc_pI", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__calc_USCOREpIResponse = soap_get_ns1__calc_USCOREpIResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__calc_USCOREpIResponse->_result)
+		*_result = *soap_tmp_ns1__calc_USCOREpIResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__DoubleHelix(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__DoubleHelixInputParams *_params, char **_result)
+{	struct ns1__DoubleHelix soap_tmp_ns1__DoubleHelix;
+	struct ns1__DoubleHelixResponse *soap_tmp_ns1__DoubleHelixResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#DoubleHelix";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__DoubleHelix._sequence = _sequence;
+	soap_tmp_ns1__DoubleHelix._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__DoubleHelix(soap, &soap_tmp_ns1__DoubleHelix);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__DoubleHelix(soap, &soap_tmp_ns1__DoubleHelix, "ns1:DoubleHelix", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__DoubleHelix(soap, &soap_tmp_ns1__DoubleHelix, "ns1:DoubleHelix", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__DoubleHelixResponse = soap_get_ns1__DoubleHelixResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__DoubleHelixResponse->_result)
+		*_result = *soap_tmp_ns1__DoubleHelixResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__base_USCOREentropy(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__base_USCOREentropyInputParams *_params, char **_result)
+{	struct ns1__base_USCOREentropy soap_tmp_ns1__base_USCOREentropy;
+	struct ns1__base_USCOREentropyResponse *soap_tmp_ns1__base_USCOREentropyResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#base_entropy";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__base_USCOREentropy._sequence = _sequence;
+	soap_tmp_ns1__base_USCOREentropy._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__base_USCOREentropy(soap, &soap_tmp_ns1__base_USCOREentropy);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__base_USCOREentropy(soap, &soap_tmp_ns1__base_USCOREentropy, "ns1:base_entropy", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__base_USCOREentropy(soap, &soap_tmp_ns1__base_USCOREentropy, "ns1:base_entropy", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__base_USCOREentropyResponse = soap_get_ns1__base_USCOREentropyResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__base_USCOREentropyResponse->_result)
+		*_result = *soap_tmp_ns1__base_USCOREentropyResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__to_USCOREfasta(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__to_USCOREfastaInputParams *_params, char **_result)
+{	struct ns1__to_USCOREfasta soap_tmp_ns1__to_USCOREfasta;
+	struct ns1__to_USCOREfastaResponse *soap_tmp_ns1__to_USCOREfastaResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#to_fasta";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__to_USCOREfasta._sequence = _sequence;
+	soap_tmp_ns1__to_USCOREfasta._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__to_USCOREfasta(soap, &soap_tmp_ns1__to_USCOREfasta);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__to_USCOREfasta(soap, &soap_tmp_ns1__to_USCOREfasta, "ns1:to_fasta", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__to_USCOREfasta(soap, &soap_tmp_ns1__to_USCOREfasta, "ns1:to_fasta", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__to_USCOREfastaResponse = soap_get_ns1__to_USCOREfastaResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__to_USCOREfastaResponse->_result)
+		*_result = *soap_tmp_ns1__to_USCOREfastaResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__find_USCOREdif(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__find_USCOREdifInputParams *_params, struct ns1__find_USCOREdifResponse *_param_3)
+{	struct ns1__find_USCOREdif soap_tmp_ns1__find_USCOREdif;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#find_dif";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__find_USCOREdif._sequence = _sequence;
+	soap_tmp_ns1__find_USCOREdif._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__find_USCOREdif(soap, &soap_tmp_ns1__find_USCOREdif);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__find_USCOREdif(soap, &soap_tmp_ns1__find_USCOREdif, "ns1:find_dif", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__find_USCOREdif(soap, &soap_tmp_ns1__find_USCOREdif, "ns1:find_dif", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_param_3)
+		return soap_closesock(soap);
+	soap_default_ns1__find_USCOREdifResponse(soap, _param_3);
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_get_ns1__find_USCOREdifResponse(soap, _param_3, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__cbi(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__cbiInputParams *_params, char **_result)
+{	struct ns1__cbi soap_tmp_ns1__cbi;
+	struct ns1__cbiResponse *soap_tmp_ns1__cbiResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#cbi";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__cbi._sequence = _sequence;
+	soap_tmp_ns1__cbi._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__cbi(soap, &soap_tmp_ns1__cbi);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__cbi(soap, &soap_tmp_ns1__cbi, "ns1:cbi", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__cbi(soap, &soap_tmp_ns1__cbi, "ns1:cbi", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__cbiResponse = soap_get_ns1__cbiResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__cbiResponse->_result)
+		*_result = *soap_tmp_ns1__cbiResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__genes_USCOREfrom_USCOREori(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char *_direction, struct ns1__genes_USCOREfrom_USCOREoriInputParams *_params, struct ns1__genes_USCOREfrom_USCOREoriResponse *_param_4)
+{	struct ns1__genes_USCOREfrom_USCOREori soap_tmp_ns1__genes_USCOREfrom_USCOREori;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#genes_from_ori";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__genes_USCOREfrom_USCOREori._sequence = _sequence;
+	soap_tmp_ns1__genes_USCOREfrom_USCOREori._direction = _direction;
+	soap_tmp_ns1__genes_USCOREfrom_USCOREori._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__genes_USCOREfrom_USCOREori(soap, &soap_tmp_ns1__genes_USCOREfrom_USCOREori);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__genes_USCOREfrom_USCOREori(soap, &soap_tmp_ns1__genes_USCOREfrom_USCOREori, "ns1:genes_from_ori", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__genes_USCOREfrom_USCOREori(soap, &soap_tmp_ns1__genes_USCOREfrom_USCOREori, "ns1:genes_from_ori", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_param_4)
+		return soap_closesock(soap);
+	soap_default_ns1__genes_USCOREfrom_USCOREoriResponse(soap, _param_4);
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_get_ns1__genes_USCOREfrom_USCOREoriResponse(soap, _param_4, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__geneskew(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__geneskewInputParams *_params, char **_result)
+{	struct ns1__geneskew soap_tmp_ns1__geneskew;
+	struct ns1__geneskewResponse *soap_tmp_ns1__geneskewResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#geneskew";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__geneskew._sequence = _sequence;
+	soap_tmp_ns1__geneskew._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__geneskew(soap, &soap_tmp_ns1__geneskew);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__geneskew(soap, &soap_tmp_ns1__geneskew, "ns1:geneskew", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__geneskew(soap, &soap_tmp_ns1__geneskew, "ns1:geneskew", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__geneskewResponse = soap_get_ns1__geneskewResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__geneskewResponse->_result)
+		*_result = *soap_tmp_ns1__geneskewResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__standard_USCOREdeviation(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, char **_result)
+{	struct ns1__standard_USCOREdeviation soap_tmp_ns1__standard_USCOREdeviation;
+	struct ns1__standard_USCOREdeviationResponse *soap_tmp_ns1__standard_USCOREdeviationResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#standard_deviation";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__standard_USCOREdeviation._array = _array;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__standard_USCOREdeviation(soap, &soap_tmp_ns1__standard_USCOREdeviation);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__standard_USCOREdeviation(soap, &soap_tmp_ns1__standard_USCOREdeviation, "ns1:standard_deviation", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__standard_USCOREdeviation(soap, &soap_tmp_ns1__standard_USCOREdeviation, "ns1:standard_deviation", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__standard_USCOREdeviationResponse = soap_get_ns1__standard_USCOREdeviationResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__standard_USCOREdeviationResponse->_result)
+		*_result = *soap_tmp_ns1__standard_USCOREdeviationResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__cor(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array1, struct arrayIn *_array2, struct ns1__corInputParams *_params, struct ns1__corResponse *_param_5)
+{	struct ns1__cor soap_tmp_ns1__cor;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#cor";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__cor._array1 = _array1;
+	soap_tmp_ns1__cor._array2 = _array2;
+	soap_tmp_ns1__cor._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__cor(soap, &soap_tmp_ns1__cor);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__cor(soap, &soap_tmp_ns1__cor, "ns1:cor", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__cor(soap, &soap_tmp_ns1__cor, "ns1:cor", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_param_5)
+		return soap_closesock(soap);
+	soap_default_ns1__corResponse(soap, _param_5);
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_get_ns1__corResponse(soap, _param_5, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__cumulative(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, struct ns1__cumulativeResponse *_param_6)
+{	struct ns1__cumulative soap_tmp_ns1__cumulative;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#cumulative";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__cumulative._array = _array;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__cumulative(soap, &soap_tmp_ns1__cumulative);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__cumulative(soap, &soap_tmp_ns1__cumulative, "ns1:cumulative", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__cumulative(soap, &soap_tmp_ns1__cumulative, "ns1:cumulative", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_param_6)
+		return soap_closesock(soap);
+	soap_default_ns1__cumulativeResponse(soap, _param_6);
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_get_ns1__cumulativeResponse(soap, _param_6, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__delta_USCOREenc(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char **_result)
+{	struct ns1__delta_USCOREenc soap_tmp_ns1__delta_USCOREenc;
+	struct ns1__delta_USCOREencResponse *soap_tmp_ns1__delta_USCOREencResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#delta_enc";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__delta_USCOREenc._sequence = _sequence;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__delta_USCOREenc(soap, &soap_tmp_ns1__delta_USCOREenc);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__delta_USCOREenc(soap, &soap_tmp_ns1__delta_USCOREenc, "ns1:delta_enc", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__delta_USCOREenc(soap, &soap_tmp_ns1__delta_USCOREenc, "ns1:delta_enc", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__delta_USCOREencResponse = soap_get_ns1__delta_USCOREencResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__delta_USCOREencResponse->_result)
+		*_result = *soap_tmp_ns1__delta_USCOREencResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__delta_USCOREgcskew(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__delta_USCOREgcskewInputParams *_params, char **_result)
+{	struct ns1__delta_USCOREgcskew soap_tmp_ns1__delta_USCOREgcskew;
+	struct ns1__delta_USCOREgcskewResponse *soap_tmp_ns1__delta_USCOREgcskewResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#delta_gcskew";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__delta_USCOREgcskew._sequence = _sequence;
+	soap_tmp_ns1__delta_USCOREgcskew._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__delta_USCOREgcskew(soap, &soap_tmp_ns1__delta_USCOREgcskew);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__delta_USCOREgcskew(soap, &soap_tmp_ns1__delta_USCOREgcskew, "ns1:delta_gcskew", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__delta_USCOREgcskew(soap, &soap_tmp_ns1__delta_USCOREgcskew, "ns1:delta_gcskew", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__delta_USCOREgcskewResponse = soap_get_ns1__delta_USCOREgcskewResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__delta_USCOREgcskewResponse->_result)
+		*_result = *soap_tmp_ns1__delta_USCOREgcskewResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__molecular_USCOREweight(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__molecular_USCOREweightInputParams *_params, char **_result)
+{	struct ns1__molecular_USCOREweight soap_tmp_ns1__molecular_USCOREweight;
+	struct ns1__molecular_USCOREweightResponse *soap_tmp_ns1__molecular_USCOREweightResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#molecular_weight";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__molecular_USCOREweight._sequence = _sequence;
+	soap_tmp_ns1__molecular_USCOREweight._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__molecular_USCOREweight(soap, &soap_tmp_ns1__molecular_USCOREweight);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__molecular_USCOREweight(soap, &soap_tmp_ns1__molecular_USCOREweight, "ns1:molecular_weight", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__molecular_USCOREweight(soap, &soap_tmp_ns1__molecular_USCOREweight, "ns1:molecular_weight", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__molecular_USCOREweightResponse = soap_get_ns1__molecular_USCOREweightResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__molecular_USCOREweightResponse->_result)
+		*_result = *soap_tmp_ns1__molecular_USCOREweightResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__gcskew(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__gcskewInputParams *_params, char **_result)
+{	struct ns1__gcskew soap_tmp_ns1__gcskew;
+	struct ns1__gcskewResponse *soap_tmp_ns1__gcskewResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#gcskew";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__gcskew._sequence = _sequence;
+	soap_tmp_ns1__gcskew._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__gcskew(soap, &soap_tmp_ns1__gcskew);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__gcskew(soap, &soap_tmp_ns1__gcskew, "ns1:gcskew", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__gcskew(soap, &soap_tmp_ns1__gcskew, "ns1:gcskew", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__gcskewResponse = soap_get_ns1__gcskewResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__gcskewResponse->_result)
+		*_result = *soap_tmp_ns1__gcskewResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__genome_USCOREmap3(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__genome_USCOREmap3InputParams *_params, char **_result)
+{	struct ns1__genome_USCOREmap3 soap_tmp_ns1__genome_USCOREmap3;
+	struct ns1__genome_USCOREmap3Response *soap_tmp_ns1__genome_USCOREmap3Response;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#genome_map3";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__genome_USCOREmap3._sequence = _sequence;
+	soap_tmp_ns1__genome_USCOREmap3._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__genome_USCOREmap3(soap, &soap_tmp_ns1__genome_USCOREmap3);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__genome_USCOREmap3(soap, &soap_tmp_ns1__genome_USCOREmap3, "ns1:genome_map3", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__genome_USCOREmap3(soap, &soap_tmp_ns1__genome_USCOREmap3, "ns1:genome_map3", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__genome_USCOREmap3Response = soap_get_ns1__genome_USCOREmap3Response(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__genome_USCOREmap3Response->_result)
+		*_result = *soap_tmp_ns1__genome_USCOREmap3Response->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__seqinfo(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char **_result)
+{	struct ns1__seqinfo soap_tmp_ns1__seqinfo;
+	struct ns1__seqinfoResponse *soap_tmp_ns1__seqinfoResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#seqinfo";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__seqinfo._sequence = _sequence;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__seqinfo(soap, &soap_tmp_ns1__seqinfo);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__seqinfo(soap, &soap_tmp_ns1__seqinfo, "ns1:seqinfo", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__seqinfo(soap, &soap_tmp_ns1__seqinfo, "ns1:seqinfo", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__seqinfoResponse = soap_get_ns1__seqinfoResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__seqinfoResponse->_result)
+		*_result = *soap_tmp_ns1__seqinfoResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__signature(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__signatureInputParams *_params, char **_result)
+{	struct ns1__signature soap_tmp_ns1__signature;
+	struct ns1__signatureResponse *soap_tmp_ns1__signatureResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#signature";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__signature._sequence = _sequence;
+	soap_tmp_ns1__signature._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__signature(soap, &soap_tmp_ns1__signature);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__signature(soap, &soap_tmp_ns1__signature, "ns1:signature", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__signature(soap, &soap_tmp_ns1__signature, "ns1:signature", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__signatureResponse = soap_get_ns1__signatureResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__signatureResponse->_result)
+		*_result = *soap_tmp_ns1__signatureResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__base_USCOREinformation_USCOREcontent(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__base_USCOREinformation_USCOREcontentInputParams *_params, char **_result)
+{	struct ns1__base_USCOREinformation_USCOREcontent soap_tmp_ns1__base_USCOREinformation_USCOREcontent;
+	struct ns1__base_USCOREinformation_USCOREcontentResponse *soap_tmp_ns1__base_USCOREinformation_USCOREcontentResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#base_information_content";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__base_USCOREinformation_USCOREcontent._sequence = _sequence;
+	soap_tmp_ns1__base_USCOREinformation_USCOREcontent._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__base_USCOREinformation_USCOREcontent(soap, &soap_tmp_ns1__base_USCOREinformation_USCOREcontent);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__base_USCOREinformation_USCOREcontent(soap, &soap_tmp_ns1__base_USCOREinformation_USCOREcontent, "ns1:base_information_content", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__base_USCOREinformation_USCOREcontent(soap, &soap_tmp_ns1__base_USCOREinformation_USCOREcontent, "ns1:base_information_content", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__base_USCOREinformation_USCOREcontentResponse = soap_get_ns1__base_USCOREinformation_USCOREcontentResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__base_USCOREinformation_USCOREcontentResponse->_result)
+		*_result = *soap_tmp_ns1__base_USCOREinformation_USCOREcontentResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__dnawalk(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__dnawalkInputParams *_params, char **_result)
+{	struct ns1__dnawalk soap_tmp_ns1__dnawalk;
+	struct ns1__dnawalkResponse *soap_tmp_ns1__dnawalkResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#dnawalk";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__dnawalk._sequence = _sequence;
+	soap_tmp_ns1__dnawalk._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__dnawalk(soap, &soap_tmp_ns1__dnawalk);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__dnawalk(soap, &soap_tmp_ns1__dnawalk, "ns1:dnawalk", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__dnawalk(soap, &soap_tmp_ns1__dnawalk, "ns1:dnawalk", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__dnawalkResponse = soap_get_ns1__dnawalkResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__dnawalkResponse->_result)
+		*_result = *soap_tmp_ns1__dnawalkResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__find_USCOREter(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__find_USCOREterInputParams *_params, struct ns1__find_USCOREterResponse *_param_7)
+{	struct ns1__find_USCOREter soap_tmp_ns1__find_USCOREter;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#find_ter";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__find_USCOREter._sequence = _sequence;
+	soap_tmp_ns1__find_USCOREter._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__find_USCOREter(soap, &soap_tmp_ns1__find_USCOREter);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__find_USCOREter(soap, &soap_tmp_ns1__find_USCOREter, "ns1:find_ter", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__find_USCOREter(soap, &soap_tmp_ns1__find_USCOREter, "ns1:find_ter", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_param_7)
+		return soap_closesock(soap);
+	soap_default_ns1__find_USCOREterResponse(soap, _param_7);
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_get_ns1__find_USCOREterResponse(soap, _param_7, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__shuffleseq(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__shuffleseqInputParams *_params, char **_result)
+{	struct ns1__shuffleseq soap_tmp_ns1__shuffleseq;
+	struct ns1__shuffleseqResponse *soap_tmp_ns1__shuffleseqResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#shuffleseq";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__shuffleseq._sequence = _sequence;
+	soap_tmp_ns1__shuffleseq._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__shuffleseq(soap, &soap_tmp_ns1__shuffleseq);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__shuffleseq(soap, &soap_tmp_ns1__shuffleseq, "ns1:shuffleseq", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__shuffleseq(soap, &soap_tmp_ns1__shuffleseq, "ns1:shuffleseq", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__shuffleseqResponse = soap_get_ns1__shuffleseqResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__shuffleseqResponse->_result)
+		*_result = *soap_tmp_ns1__shuffleseqResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__oligomer_USCOREsearch(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char *_oligomer, struct ns1__oligomer_USCOREsearchInputParams *_params, struct ns1__oligomer_USCOREsearchResponse *_param_8)
+{	struct ns1__oligomer_USCOREsearch soap_tmp_ns1__oligomer_USCOREsearch;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#oligomer_search";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__oligomer_USCOREsearch._sequence = _sequence;
+	soap_tmp_ns1__oligomer_USCOREsearch._oligomer = _oligomer;
+	soap_tmp_ns1__oligomer_USCOREsearch._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__oligomer_USCOREsearch(soap, &soap_tmp_ns1__oligomer_USCOREsearch);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__oligomer_USCOREsearch(soap, &soap_tmp_ns1__oligomer_USCOREsearch, "ns1:oligomer_search", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__oligomer_USCOREsearch(soap, &soap_tmp_ns1__oligomer_USCOREsearch, "ns1:oligomer_search", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_param_8)
+		return soap_closesock(soap);
+	soap_default_ns1__oligomer_USCOREsearchResponse(soap, _param_8);
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_get_ns1__oligomer_USCOREsearchResponse(soap, _param_8, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__find_USCOREpattern(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char *_pattern, struct ns1__find_USCOREpatternInputParams *_params, char **_result)
+{	struct ns1__find_USCOREpattern soap_tmp_ns1__find_USCOREpattern;
+	struct ns1__find_USCOREpatternResponse *soap_tmp_ns1__find_USCOREpatternResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#find_pattern";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__find_USCOREpattern._sequence = _sequence;
+	soap_tmp_ns1__find_USCOREpattern._pattern = _pattern;
+	soap_tmp_ns1__find_USCOREpattern._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__find_USCOREpattern(soap, &soap_tmp_ns1__find_USCOREpattern);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__find_USCOREpattern(soap, &soap_tmp_ns1__find_USCOREpattern, "ns1:find_pattern", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__find_USCOREpattern(soap, &soap_tmp_ns1__find_USCOREpattern, "ns1:find_pattern", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__find_USCOREpatternResponse = soap_get_ns1__find_USCOREpatternResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__find_USCOREpatternResponse->_result)
+		*_result = *soap_tmp_ns1__find_USCOREpatternResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__gcwin(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__gcwinInputParams *_params, char **_result)
+{	struct ns1__gcwin soap_tmp_ns1__gcwin;
+	struct ns1__gcwinResponse *soap_tmp_ns1__gcwinResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#gcwin";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__gcwin._sequence = _sequence;
+	soap_tmp_ns1__gcwin._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__gcwin(soap, &soap_tmp_ns1__gcwin);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__gcwin(soap, &soap_tmp_ns1__gcwin, "ns1:gcwin", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__gcwin(soap, &soap_tmp_ns1__gcwin, "ns1:gcwin", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__gcwinResponse = soap_get_ns1__gcwinResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__gcwinResponse->_result)
+		*_result = *soap_tmp_ns1__gcwinResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__oligomer_USCOREcounter(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char *_oligomer, struct ns1__oligomer_USCOREcounterInputParams *_params, char **_result)
+{	struct ns1__oligomer_USCOREcounter soap_tmp_ns1__oligomer_USCOREcounter;
+	struct ns1__oligomer_USCOREcounterResponse *soap_tmp_ns1__oligomer_USCOREcounterResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#oligomer_counter";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__oligomer_USCOREcounter._sequence = _sequence;
+	soap_tmp_ns1__oligomer_USCOREcounter._oligomer = _oligomer;
+	soap_tmp_ns1__oligomer_USCOREcounter._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__oligomer_USCOREcounter(soap, &soap_tmp_ns1__oligomer_USCOREcounter);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__oligomer_USCOREcounter(soap, &soap_tmp_ns1__oligomer_USCOREcounter, "ns1:oligomer_counter", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__oligomer_USCOREcounter(soap, &soap_tmp_ns1__oligomer_USCOREcounter, "ns1:oligomer_counter", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__oligomer_USCOREcounterResponse = soap_get_ns1__oligomer_USCOREcounterResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__oligomer_USCOREcounterResponse->_result)
+		*_result = *soap_tmp_ns1__oligomer_USCOREcounterResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__codon_USCOREusage(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__codon_USCOREusageInputParams *_params, char **_result)
+{	struct ns1__codon_USCOREusage soap_tmp_ns1__codon_USCOREusage;
+	struct ns1__codon_USCOREusageResponse *soap_tmp_ns1__codon_USCOREusageResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#codon_usage";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__codon_USCOREusage._sequence = _sequence;
+	soap_tmp_ns1__codon_USCOREusage._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__codon_USCOREusage(soap, &soap_tmp_ns1__codon_USCOREusage);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__codon_USCOREusage(soap, &soap_tmp_ns1__codon_USCOREusage, "ns1:codon_usage", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__codon_USCOREusage(soap, &soap_tmp_ns1__codon_USCOREusage, "ns1:codon_usage", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__codon_USCOREusageResponse = soap_get_ns1__codon_USCOREusageResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__codon_USCOREusageResponse->_result)
+		*_result = *soap_tmp_ns1__codon_USCOREusageResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__min(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, char **_result)
+{	struct ns1__min soap_tmp_ns1__min;
+	struct ns1__minResponse *soap_tmp_ns1__minResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#min";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__min._array = _array;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__min(soap, &soap_tmp_ns1__min);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__min(soap, &soap_tmp_ns1__min, "ns1:min", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__min(soap, &soap_tmp_ns1__min, "ns1:min", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__minResponse = soap_get_ns1__minResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__minResponse->_result)
+		*_result = *soap_tmp_ns1__minResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__find_USCOREiteron(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__find_USCOREiteronInputParams *_params, char **_result)
+{	struct ns1__find_USCOREiteron soap_tmp_ns1__find_USCOREiteron;
+	struct ns1__find_USCOREiteronResponse *soap_tmp_ns1__find_USCOREiteronResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#find_iteron";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__find_USCOREiteron._sequence = _sequence;
+	soap_tmp_ns1__find_USCOREiteron._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__find_USCOREiteron(soap, &soap_tmp_ns1__find_USCOREiteron);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__find_USCOREiteron(soap, &soap_tmp_ns1__find_USCOREiteron, "ns1:find_iteron", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__find_USCOREiteron(soap, &soap_tmp_ns1__find_USCOREiteron, "ns1:find_iteron", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__find_USCOREiteronResponse = soap_get_ns1__find_USCOREiteronResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__find_USCOREiteronResponse->_result)
+		*_result = *soap_tmp_ns1__find_USCOREiteronResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__complement(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char **_result)
+{	struct ns1__complement soap_tmp_ns1__complement;
+	struct ns1__complementResponse *soap_tmp_ns1__complementResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#complement";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__complement._sequence = _sequence;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__complement(soap, &soap_tmp_ns1__complement);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__complement(soap, &soap_tmp_ns1__complement, "ns1:complement", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__complement(soap, &soap_tmp_ns1__complement, "ns1:complement", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__complementResponse = soap_get_ns1__complementResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__complementResponse->_result)
+		*_result = *soap_tmp_ns1__complementResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__mean(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, char **_result)
+{	struct ns1__mean soap_tmp_ns1__mean;
+	struct ns1__meanResponse *soap_tmp_ns1__meanResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#mean";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__mean._array = _array;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__mean(soap, &soap_tmp_ns1__mean);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__mean(soap, &soap_tmp_ns1__mean, "ns1:mean", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__mean(soap, &soap_tmp_ns1__mean, "ns1:mean", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__meanResponse = soap_get_ns1__meanResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__meanResponse->_result)
+		*_result = *soap_tmp_ns1__meanResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__codon_USCOREcounter(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__codon_USCOREcounterInputParams *_params, char **_result)
+{	struct ns1__codon_USCOREcounter soap_tmp_ns1__codon_USCOREcounter;
+	struct ns1__codon_USCOREcounterResponse *soap_tmp_ns1__codon_USCOREcounterResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#codon_counter";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__codon_USCOREcounter._sequence = _sequence;
+	soap_tmp_ns1__codon_USCOREcounter._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__codon_USCOREcounter(soap, &soap_tmp_ns1__codon_USCOREcounter);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__codon_USCOREcounter(soap, &soap_tmp_ns1__codon_USCOREcounter, "ns1:codon_counter", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__codon_USCOREcounter(soap, &soap_tmp_ns1__codon_USCOREcounter, "ns1:codon_counter", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__codon_USCOREcounterResponse = soap_get_ns1__codon_USCOREcounterResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__codon_USCOREcounterResponse->_result)
+		*_result = *soap_tmp_ns1__codon_USCOREcounterResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__entrez(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_database, char *_query, char **_result)
+{	struct ns1__entrez soap_tmp_ns1__entrez;
+	struct ns1__entrezResponse *soap_tmp_ns1__entrezResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#entrez";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__entrez._database = _database;
+	soap_tmp_ns1__entrez._query = _query;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__entrez(soap, &soap_tmp_ns1__entrez);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__entrez(soap, &soap_tmp_ns1__entrez, "ns1:entrez", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__entrez(soap, &soap_tmp_ns1__entrez, "ns1:entrez", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__entrezResponse = soap_get_ns1__entrezResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__entrezResponse->_result)
+		*_result = *soap_tmp_ns1__entrezResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__palindrome(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__palindromeInputParams *_params, char **_result)
+{	struct ns1__palindrome soap_tmp_ns1__palindrome;
+	struct ns1__palindromeResponse *soap_tmp_ns1__palindromeResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#palindrome";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__palindrome._sequence = _sequence;
+	soap_tmp_ns1__palindrome._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__palindrome(soap, &soap_tmp_ns1__palindrome);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__palindrome(soap, &soap_tmp_ns1__palindrome, "ns1:palindrome", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__palindrome(soap, &soap_tmp_ns1__palindrome, "ns1:palindrome", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__palindromeResponse = soap_get_ns1__palindromeResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__palindromeResponse->_result)
+		*_result = *soap_tmp_ns1__palindromeResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__least_USCOREsquares_USCOREfit(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, struct ns1__least_USCOREsquares_USCOREfitResponse *_param_9)
+{	struct ns1__least_USCOREsquares_USCOREfit soap_tmp_ns1__least_USCOREsquares_USCOREfit;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#least_squares_fit";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__least_USCOREsquares_USCOREfit._array = _array;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__least_USCOREsquares_USCOREfit(soap, &soap_tmp_ns1__least_USCOREsquares_USCOREfit);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__least_USCOREsquares_USCOREfit(soap, &soap_tmp_ns1__least_USCOREsquares_USCOREfit, "ns1:least_squares_fit", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__least_USCOREsquares_USCOREfit(soap, &soap_tmp_ns1__least_USCOREsquares_USCOREfit, "ns1:least_squares_fit", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_param_9)
+		return soap_closesock(soap);
+	soap_default_ns1__least_USCOREsquares_USCOREfitResponse(soap, _param_9);
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_get_ns1__least_USCOREsquares_USCOREfitResponse(soap, _param_9, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__dinuc(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__dinucInputParams *_params, char **_result)
+{	struct ns1__dinuc soap_tmp_ns1__dinuc;
+	struct ns1__dinucResponse *soap_tmp_ns1__dinucResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#dinuc";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__dinuc._sequence = _sequence;
+	soap_tmp_ns1__dinuc._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__dinuc(soap, &soap_tmp_ns1__dinuc);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__dinuc(soap, &soap_tmp_ns1__dinuc, "ns1:dinuc", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__dinuc(soap, &soap_tmp_ns1__dinuc, "ns1:dinuc", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__dinucResponse = soap_get_ns1__dinucResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__dinucResponse->_result)
+		*_result = *soap_tmp_ns1__dinucResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__cgr(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__cgrInputParams *_params, char **_result)
+{	struct ns1__cgr soap_tmp_ns1__cgr;
+	struct ns1__cgrResponse *soap_tmp_ns1__cgrResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#cgr";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__cgr._sequence = _sequence;
+	soap_tmp_ns1__cgr._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__cgr(soap, &soap_tmp_ns1__cgr);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__cgr(soap, &soap_tmp_ns1__cgr, "ns1:cgr", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__cgr(soap, &soap_tmp_ns1__cgr, "ns1:cgr", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__cgrResponse = soap_get_ns1__cgrResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__cgrResponse->_result)
+		*_result = *soap_tmp_ns1__cgrResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__B1(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__B1InputParams *_params, char **_result)
+{	struct ns1__B1 soap_tmp_ns1__B1;
+	struct ns1__B1Response *soap_tmp_ns1__B1Response;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#B1";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__B1._sequence = _sequence;
+	soap_tmp_ns1__B1._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__B1(soap, &soap_tmp_ns1__B1);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__B1(soap, &soap_tmp_ns1__B1, "ns1:B1", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__B1(soap, &soap_tmp_ns1__B1, "ns1:B1", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__B1Response = soap_get_ns1__B1Response(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__B1Response->_result)
+		*_result = *soap_tmp_ns1__B1Response->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__B2(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char **_result)
+{	struct ns1__B2 soap_tmp_ns1__B2;
+	struct ns1__B2Response *soap_tmp_ns1__B2Response;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#B2";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__B2._sequence = _sequence;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__B2(soap, &soap_tmp_ns1__B2);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__B2(soap, &soap_tmp_ns1__B2, "ns1:B2", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__B2(soap, &soap_tmp_ns1__B2, "ns1:B2", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__B2Response = soap_get_ns1__B2Response(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__B2Response->_result)
+		*_result = *soap_tmp_ns1__B2Response->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__base_USCOREcounter(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__base_USCOREcounterInputParams *_params, char **_result)
+{	struct ns1__base_USCOREcounter soap_tmp_ns1__base_USCOREcounter;
+	struct ns1__base_USCOREcounterResponse *soap_tmp_ns1__base_USCOREcounterResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#base_counter";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__base_USCOREcounter._sequence = _sequence;
+	soap_tmp_ns1__base_USCOREcounter._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__base_USCOREcounter(soap, &soap_tmp_ns1__base_USCOREcounter);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__base_USCOREcounter(soap, &soap_tmp_ns1__base_USCOREcounter, "ns1:base_counter", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__base_USCOREcounter(soap, &soap_tmp_ns1__base_USCOREcounter, "ns1:base_counter", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__base_USCOREcounterResponse = soap_get_ns1__base_USCOREcounterResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__base_USCOREcounterResponse->_result)
+		*_result = *soap_tmp_ns1__base_USCOREcounterResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__base_USCOREz_USCOREvalue(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__base_USCOREz_USCOREvalueInputParams *_params, char **_result)
+{	struct ns1__base_USCOREz_USCOREvalue soap_tmp_ns1__base_USCOREz_USCOREvalue;
+	struct ns1__base_USCOREz_USCOREvalueResponse *soap_tmp_ns1__base_USCOREz_USCOREvalueResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#base_z_value";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__base_USCOREz_USCOREvalue._sequence = _sequence;
+	soap_tmp_ns1__base_USCOREz_USCOREvalue._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__base_USCOREz_USCOREvalue(soap, &soap_tmp_ns1__base_USCOREz_USCOREvalue);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__base_USCOREz_USCOREvalue(soap, &soap_tmp_ns1__base_USCOREz_USCOREvalue, "ns1:base_z_value", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__base_USCOREz_USCOREvalue(soap, &soap_tmp_ns1__base_USCOREz_USCOREvalue, "ns1:base_z_value", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__base_USCOREz_USCOREvalueResponse = soap_get_ns1__base_USCOREz_USCOREvalueResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__base_USCOREz_USCOREvalueResponse->_result)
+		*_result = *soap_tmp_ns1__base_USCOREz_USCOREvalueResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__kmer_USCOREtable(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__kmer_USCOREtableInputParams *_params, char **_result)
+{	struct ns1__kmer_USCOREtable soap_tmp_ns1__kmer_USCOREtable;
+	struct ns1__kmer_USCOREtableResponse *soap_tmp_ns1__kmer_USCOREtableResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#kmer_table";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__kmer_USCOREtable._sequence = _sequence;
+	soap_tmp_ns1__kmer_USCOREtable._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__kmer_USCOREtable(soap, &soap_tmp_ns1__kmer_USCOREtable);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__kmer_USCOREtable(soap, &soap_tmp_ns1__kmer_USCOREtable, "ns1:kmer_table", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__kmer_USCOREtable(soap, &soap_tmp_ns1__kmer_USCOREtable, "ns1:kmer_table", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__kmer_USCOREtableResponse = soap_get_ns1__kmer_USCOREtableResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__kmer_USCOREtableResponse->_result)
+		*_result = *soap_tmp_ns1__kmer_USCOREtableResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__lda_USCOREbias(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__lda_USCOREbiasInputParams *_params, char **_result)
+{	struct ns1__lda_USCOREbias soap_tmp_ns1__lda_USCOREbias;
+	struct ns1__lda_USCOREbiasResponse *soap_tmp_ns1__lda_USCOREbiasResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#lda_bias";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__lda_USCOREbias._sequence = _sequence;
+	soap_tmp_ns1__lda_USCOREbias._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__lda_USCOREbias(soap, &soap_tmp_ns1__lda_USCOREbias);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__lda_USCOREbias(soap, &soap_tmp_ns1__lda_USCOREbias, "ns1:lda_bias", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__lda_USCOREbias(soap, &soap_tmp_ns1__lda_USCOREbias, "ns1:lda_bias", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__lda_USCOREbiasResponse = soap_get_ns1__lda_USCOREbiasResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__lda_USCOREbiasResponse->_result)
+		*_result = *soap_tmp_ns1__lda_USCOREbiasResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__scs(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__scsInputParams *_params, char **_result)
+{	struct ns1__scs soap_tmp_ns1__scs;
+	struct ns1__scsResponse *soap_tmp_ns1__scsResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#scs";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__scs._sequence = _sequence;
+	soap_tmp_ns1__scs._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__scs(soap, &soap_tmp_ns1__scs);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__scs(soap, &soap_tmp_ns1__scs, "ns1:scs", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__scs(soap, &soap_tmp_ns1__scs, "ns1:scs", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__scsResponse = soap_get_ns1__scsResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__scsResponse->_result)
+		*_result = *soap_tmp_ns1__scsResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__leading_USCOREstrand(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__leading_USCOREstrandResponse *_param_10)
+{	struct ns1__leading_USCOREstrand soap_tmp_ns1__leading_USCOREstrand;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#leading_strand";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__leading_USCOREstrand._sequence = _sequence;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__leading_USCOREstrand(soap, &soap_tmp_ns1__leading_USCOREstrand);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__leading_USCOREstrand(soap, &soap_tmp_ns1__leading_USCOREstrand, "ns1:leading_strand", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__leading_USCOREstrand(soap, &soap_tmp_ns1__leading_USCOREstrand, "ns1:leading_strand", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_param_10)
+		return soap_closesock(soap);
+	soap_default_ns1__leading_USCOREstrandResponse(soap, _param_10);
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_get_ns1__leading_USCOREstrandResponse(soap, _param_10, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__S_USCOREvalue(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__S_USCOREvalueInputParams *_params, char **_result)
+{	struct ns1__S_USCOREvalue soap_tmp_ns1__S_USCOREvalue;
+	struct ns1__S_USCOREvalueResponse *soap_tmp_ns1__S_USCOREvalueResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#S_value";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__S_USCOREvalue._sequence = _sequence;
+	soap_tmp_ns1__S_USCOREvalue._params = _params;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__S_USCOREvalue(soap, &soap_tmp_ns1__S_USCOREvalue);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__S_USCOREvalue(soap, &soap_tmp_ns1__S_USCOREvalue, "ns1:S_value", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__S_USCOREvalue(soap, &soap_tmp_ns1__S_USCOREvalue, "ns1:S_value", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__S_USCOREvalueResponse = soap_get_ns1__S_USCOREvalueResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__S_USCOREvalueResponse->_result)
+		*_result = *soap_tmp_ns1__S_USCOREvalueResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__help(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_keywords, char **_result)
+{	struct ns1__help soap_tmp_ns1__help;
+	struct ns1__helpResponse *soap_tmp_ns1__helpResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#help";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__help._keywords = _keywords;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__help(soap, &soap_tmp_ns1__help);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__help(soap, &soap_tmp_ns1__help, "ns1:help", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__help(soap, &soap_tmp_ns1__help, "ns1:help", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	*_result = NULL;
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__helpResponse = soap_get_ns1__helpResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__helpResponse->_result)
+		*_result = *soap_tmp_ns1__helpResponse->_result;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__hydropathy(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, float *_result)
+{	struct ns1__hydropathy soap_tmp_ns1__hydropathy;
+	struct ns1__hydropathyResponse *soap_tmp_ns1__hydropathyResponse;
+	if (!soap_endpoint)
+		soap_endpoint = "http://soap.g-language.org/WS/g-language.cgi";
+	if (!soap_action)
+		soap_action = "http://soap.g-language.org/GLANG#hydropathy";
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	soap_tmp_ns1__hydropathy._sequence = _sequence;
+	soap_begin(soap);
+	soap_serializeheader(soap);
+	soap_serialize_ns1__hydropathy(soap, &soap_tmp_ns1__hydropathy);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__hydropathy(soap, &soap_tmp_ns1__hydropathy, "ns1:hydropathy", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	}
+	if (soap_end_count(soap))
+		return soap->error;
+	if (soap_connect(soap, soap_endpoint, soap_action)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__hydropathy(soap, &soap_tmp_ns1__hydropathy, "ns1:hydropathy", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap_closesock(soap);
+	if (!_result)
+		return soap_closesock(soap);
+	soap_default_float(soap, _result);
+	if (soap_begin_recv(soap)
+	 || soap_envelope_begin_in(soap)
+	 || soap_recv_header(soap)
+	 || soap_body_begin_in(soap))
+		return soap_closesock(soap);
+	if (soap_recv_fault(soap, 1))
+		return soap->error;
+	soap_tmp_ns1__hydropathyResponse = soap_get_ns1__hydropathyResponse(soap, NULL, "", "");
+	if (soap->error)
+		return soap_recv_fault(soap, 0);
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap_closesock(soap);
+	if (_result && soap_tmp_ns1__hydropathyResponse->_result)
+		*_result = *soap_tmp_ns1__hydropathyResponse->_result;
+	return soap_closesock(soap);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#if defined(__BORLANDC__)
+#pragma option pop
+#pragma option pop
+#endif
+
+/* End of soapClient.c */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/soapClientLib.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,20 @@
+/* soapClientLib.c
+   Generated by gSOAP 2.8.6 from gae.h
+
+Copyright(C) 2000-2011, Robert van Engelen, Genivia Inc. All Rights Reserved.
+The generated code is released under one of the following licenses:
+1) GPL or 2) Genivia's license for commercial use.
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+*/
+
+/** Use this file in your project build instead of the two files soapC.c and soapClient.c. This hides the serializer functions and avoids linking problems when linking multiple clients and servers. */
+
+#ifndef WITH_NOGLOBAL
+#define WITH_NOGLOBAL
+#endif
+#define SOAP_FMAC3 static
+#include "soapC.c"
+#include "soapClient.c"
+
+/* End of soapClientLib.c */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/soapH.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,7101 @@
+/* soapH.h
+   Generated by gSOAP 2.8.6 from gae.h
+
+Copyright(C) 2000-2011, Robert van Engelen, Genivia Inc. All Rights Reserved.
+The generated code is released under one of the following licenses:
+1) GPL or 2) Genivia's license for commercial use.
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+*/
+
+#ifndef soapH_H
+#define soapH_H
+#include "soapStub.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+#ifndef WITH_NOIDREF
+SOAP_FMAC3 void SOAP_FMAC4 soap_markelement(struct soap*, const void*, int);
+SOAP_FMAC3 int SOAP_FMAC4 soap_putelement(struct soap*, const void*, const char*, int, int);
+SOAP_FMAC3 void *SOAP_FMAC4 soap_getelement(struct soap*, int*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_putindependent(struct soap*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_getindependent(struct soap*);
+#endif
+SOAP_FMAC3 int SOAP_FMAC4 soap_ignore_element(struct soap*);
+
+#ifndef SOAP_TYPE_byte
+#define SOAP_TYPE_byte (3)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_byte(struct soap*, char *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_byte(struct soap*, const char*, int, const char *, const char*);
+SOAP_FMAC3 char * SOAP_FMAC4 soap_in_byte(struct soap*, const char*, char *, const char*);
+
+#ifndef soap_write_byte
+#define soap_write_byte(soap, data) ( soap_begin_send(soap) || soap_put_byte(soap, data, "byte", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_byte(struct soap*, const char *, const char*, const char*);
+
+#ifndef soap_read_byte
+#define soap_read_byte(soap, data) ( soap_begin_recv(soap) || !soap_get_byte(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 char * SOAP_FMAC4 soap_get_byte(struct soap*, char *, const char*, const char*);
+
+#ifndef SOAP_TYPE_int
+#define SOAP_TYPE_int (1)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_int(struct soap*, int *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_int(struct soap*, const char*, int, const int *, const char*);
+SOAP_FMAC3 int * SOAP_FMAC4 soap_in_int(struct soap*, const char*, int *, const char*);
+
+#ifndef soap_write_int
+#define soap_write_int(soap, data) ( soap_begin_send(soap) || soap_put_int(soap, data, "int", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_int(struct soap*, const int *, const char*, const char*);
+
+#ifndef soap_read_int
+#define soap_read_int(soap, data) ( soap_begin_recv(soap) || !soap_get_int(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 int * SOAP_FMAC4 soap_get_int(struct soap*, int *, const char*, const char*);
+
+#ifndef SOAP_TYPE_float
+#define SOAP_TYPE_float (424)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_float(struct soap*, float *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_float(struct soap*, const char*, int, const float *, const char*);
+SOAP_FMAC3 float * SOAP_FMAC4 soap_in_float(struct soap*, const char*, float *, const char*);
+
+#ifndef soap_write_float
+#define soap_write_float(soap, data) ( soap_begin_send(soap) || soap_put_float(soap, data, "float", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_float(struct soap*, const float *, const char*, const char*);
+
+#ifndef soap_read_float
+#define soap_read_float(soap, data) ( soap_begin_recv(soap) || !soap_get_float(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 float * SOAP_FMAC4 soap_get_float(struct soap*, float *, const char*, const char*);
+
+#ifndef SOAP_TYPE_double
+#define SOAP_TYPE_double (13)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_double(struct soap*, double *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_double(struct soap*, const char*, int, const double *, const char*);
+SOAP_FMAC3 double * SOAP_FMAC4 soap_in_double(struct soap*, const char*, double *, const char*);
+
+#ifndef soap_write_double
+#define soap_write_double(soap, data) ( soap_begin_send(soap) || soap_put_double(soap, data, "double", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_double(struct soap*, const double *, const char*, const char*);
+
+#ifndef soap_read_double
+#define soap_read_double(soap, data) ( soap_begin_recv(soap) || !soap_get_double(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 double * SOAP_FMAC4 soap_get_double(struct soap*, double *, const char*, const char*);
+
+#ifndef WITH_NOGLOBAL
+
+#ifndef SOAP_TYPE_SOAP_ENV__Fault
+#define SOAP_TYPE_SOAP_ENV__Fault (436)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Fault(struct soap*, struct SOAP_ENV__Fault *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Fault(struct soap*, const struct SOAP_ENV__Fault *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Fault(struct soap*, const char*, int, const struct SOAP_ENV__Fault *, const char*);
+SOAP_FMAC3 struct SOAP_ENV__Fault * SOAP_FMAC4 soap_in_SOAP_ENV__Fault(struct soap*, const char*, struct SOAP_ENV__Fault *, const char*);
+
+#ifndef soap_write_SOAP_ENV__Fault
+#define soap_write_SOAP_ENV__Fault(soap, data) ( soap_begin_send(soap) || (soap_serialize_SOAP_ENV__Fault(soap, data), 0) || soap_put_SOAP_ENV__Fault(soap, data, "SOAP-ENV:Fault", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Fault(struct soap*, const struct SOAP_ENV__Fault *, const char*, const char*);
+
+#ifndef soap_read_SOAP_ENV__Fault
+#define soap_read_SOAP_ENV__Fault(soap, data) ( soap_begin_recv(soap) || !soap_get_SOAP_ENV__Fault(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct SOAP_ENV__Fault * SOAP_FMAC4 soap_get_SOAP_ENV__Fault(struct soap*, struct SOAP_ENV__Fault *, const char*, const char*);
+
+#endif
+
+#ifndef WITH_NOGLOBAL
+
+#ifndef SOAP_TYPE_SOAP_ENV__Reason
+#define SOAP_TYPE_SOAP_ENV__Reason (435)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Reason(struct soap*, const struct SOAP_ENV__Reason *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Reason(struct soap*, const char*, int, const struct SOAP_ENV__Reason *, const char*);
+SOAP_FMAC3 struct SOAP_ENV__Reason * SOAP_FMAC4 soap_in_SOAP_ENV__Reason(struct soap*, const char*, struct SOAP_ENV__Reason *, const char*);
+
+#ifndef soap_write_SOAP_ENV__Reason
+#define soap_write_SOAP_ENV__Reason(soap, data) ( soap_begin_send(soap) || (soap_serialize_SOAP_ENV__Reason(soap, data), 0) || soap_put_SOAP_ENV__Reason(soap, data, "SOAP-ENV:Reason", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Reason(struct soap*, const struct SOAP_ENV__Reason *, const char*, const char*);
+
+#ifndef soap_read_SOAP_ENV__Reason
+#define soap_read_SOAP_ENV__Reason(soap, data) ( soap_begin_recv(soap) || !soap_get_SOAP_ENV__Reason(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct SOAP_ENV__Reason * SOAP_FMAC4 soap_get_SOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason *, const char*, const char*);
+
+#endif
+
+#ifndef WITH_NOGLOBAL
+
+#ifndef SOAP_TYPE_SOAP_ENV__Detail
+#define SOAP_TYPE_SOAP_ENV__Detail (432)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Detail(struct soap*, const struct SOAP_ENV__Detail *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Detail(struct soap*, const char*, int, const struct SOAP_ENV__Detail *, const char*);
+SOAP_FMAC3 struct SOAP_ENV__Detail * SOAP_FMAC4 soap_in_SOAP_ENV__Detail(struct soap*, const char*, struct SOAP_ENV__Detail *, const char*);
+
+#ifndef soap_write_SOAP_ENV__Detail
+#define soap_write_SOAP_ENV__Detail(soap, data) ( soap_begin_send(soap) || (soap_serialize_SOAP_ENV__Detail(soap, data), 0) || soap_put_SOAP_ENV__Detail(soap, data, "SOAP-ENV:Detail", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Detail(struct soap*, const struct SOAP_ENV__Detail *, const char*, const char*);
+
+#ifndef soap_read_SOAP_ENV__Detail
+#define soap_read_SOAP_ENV__Detail(soap, data) ( soap_begin_recv(soap) || !soap_get_SOAP_ENV__Detail(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct SOAP_ENV__Detail * SOAP_FMAC4 soap_get_SOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail *, const char*, const char*);
+
+#endif
+
+#ifndef WITH_NOGLOBAL
+
+#ifndef SOAP_TYPE_SOAP_ENV__Code
+#define SOAP_TYPE_SOAP_ENV__Code (430)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Code(struct soap*, const struct SOAP_ENV__Code *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Code(struct soap*, const char*, int, const struct SOAP_ENV__Code *, const char*);
+SOAP_FMAC3 struct SOAP_ENV__Code * SOAP_FMAC4 soap_in_SOAP_ENV__Code(struct soap*, const char*, struct SOAP_ENV__Code *, const char*);
+
+#ifndef soap_write_SOAP_ENV__Code
+#define soap_write_SOAP_ENV__Code(soap, data) ( soap_begin_send(soap) || (soap_serialize_SOAP_ENV__Code(soap, data), 0) || soap_put_SOAP_ENV__Code(soap, data, "SOAP-ENV:Code", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Code(struct soap*, const struct SOAP_ENV__Code *, const char*, const char*);
+
+#ifndef soap_read_SOAP_ENV__Code
+#define soap_read_SOAP_ENV__Code(soap, data) ( soap_begin_recv(soap) || !soap_get_SOAP_ENV__Code(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct SOAP_ENV__Code * SOAP_FMAC4 soap_get_SOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code *, const char*, const char*);
+
+#endif
+
+#ifndef WITH_NOGLOBAL
+
+#ifndef SOAP_TYPE_SOAP_ENV__Header
+#define SOAP_TYPE_SOAP_ENV__Header (429)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Header(struct soap*, struct SOAP_ENV__Header *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Header(struct soap*, const struct SOAP_ENV__Header *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Header(struct soap*, const char*, int, const struct SOAP_ENV__Header *, const char*);
+SOAP_FMAC3 struct SOAP_ENV__Header * SOAP_FMAC4 soap_in_SOAP_ENV__Header(struct soap*, const char*, struct SOAP_ENV__Header *, const char*);
+
+#ifndef soap_write_SOAP_ENV__Header
+#define soap_write_SOAP_ENV__Header(soap, data) ( soap_begin_send(soap) || (soap_serialize_SOAP_ENV__Header(soap, data), 0) || soap_put_SOAP_ENV__Header(soap, data, "SOAP-ENV:Header", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Header(struct soap*, const struct SOAP_ENV__Header *, const char*, const char*);
+
+#ifndef soap_read_SOAP_ENV__Header
+#define soap_read_SOAP_ENV__Header(soap, data) ( soap_begin_recv(soap) || !soap_get_SOAP_ENV__Header(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct SOAP_ENV__Header * SOAP_FMAC4 soap_get_SOAP_ENV__Header(struct soap*, struct SOAP_ENV__Header *, const char*, const char*);
+
+#endif
+
+#ifndef SOAP_TYPE_ns1__hydropathy
+#define SOAP_TYPE_ns1__hydropathy (428)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__hydropathy(struct soap*, struct ns1__hydropathy *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__hydropathy(struct soap*, const struct ns1__hydropathy *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__hydropathy(struct soap*, const char*, int, const struct ns1__hydropathy *, const char*);
+SOAP_FMAC3 struct ns1__hydropathy * SOAP_FMAC4 soap_in_ns1__hydropathy(struct soap*, const char*, struct ns1__hydropathy *, const char*);
+
+#ifndef soap_write_ns1__hydropathy
+#define soap_write_ns1__hydropathy(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__hydropathy(soap, data), 0) || soap_put_ns1__hydropathy(soap, data, "ns1:hydropathy", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__hydropathy(struct soap*, const struct ns1__hydropathy *, const char*, const char*);
+
+#ifndef soap_read_ns1__hydropathy
+#define soap_read_ns1__hydropathy(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__hydropathy(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__hydropathy * SOAP_FMAC4 soap_get_ns1__hydropathy(struct soap*, struct ns1__hydropathy *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__hydropathyResponse
+#define SOAP_TYPE_ns1__hydropathyResponse (427)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__hydropathyResponse(struct soap*, struct ns1__hydropathyResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__hydropathyResponse(struct soap*, const struct ns1__hydropathyResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__hydropathyResponse(struct soap*, const char*, int, const struct ns1__hydropathyResponse *, const char*);
+SOAP_FMAC3 struct ns1__hydropathyResponse * SOAP_FMAC4 soap_in_ns1__hydropathyResponse(struct soap*, const char*, struct ns1__hydropathyResponse *, const char*);
+
+#ifndef soap_write_ns1__hydropathyResponse
+#define soap_write_ns1__hydropathyResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__hydropathyResponse(soap, data), 0) || soap_put_ns1__hydropathyResponse(soap, data, "ns1:hydropathyResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__hydropathyResponse(struct soap*, const struct ns1__hydropathyResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__hydropathyResponse
+#define soap_read_ns1__hydropathyResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__hydropathyResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__hydropathyResponse * SOAP_FMAC4 soap_get_ns1__hydropathyResponse(struct soap*, struct ns1__hydropathyResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__help
+#define SOAP_TYPE_ns1__help (423)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__help(struct soap*, struct ns1__help *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__help(struct soap*, const struct ns1__help *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__help(struct soap*, const char*, int, const struct ns1__help *, const char*);
+SOAP_FMAC3 struct ns1__help * SOAP_FMAC4 soap_in_ns1__help(struct soap*, const char*, struct ns1__help *, const char*);
+
+#ifndef soap_write_ns1__help
+#define soap_write_ns1__help(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__help(soap, data), 0) || soap_put_ns1__help(soap, data, "ns1:help", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__help(struct soap*, const struct ns1__help *, const char*, const char*);
+
+#ifndef soap_read_ns1__help
+#define soap_read_ns1__help(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__help(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__help * SOAP_FMAC4 soap_get_ns1__help(struct soap*, struct ns1__help *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__helpResponse
+#define SOAP_TYPE_ns1__helpResponse (422)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__helpResponse(struct soap*, struct ns1__helpResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__helpResponse(struct soap*, const struct ns1__helpResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__helpResponse(struct soap*, const char*, int, const struct ns1__helpResponse *, const char*);
+SOAP_FMAC3 struct ns1__helpResponse * SOAP_FMAC4 soap_in_ns1__helpResponse(struct soap*, const char*, struct ns1__helpResponse *, const char*);
+
+#ifndef soap_write_ns1__helpResponse
+#define soap_write_ns1__helpResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__helpResponse(soap, data), 0) || soap_put_ns1__helpResponse(soap, data, "ns1:helpResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__helpResponse(struct soap*, const struct ns1__helpResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__helpResponse
+#define soap_read_ns1__helpResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__helpResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__helpResponse * SOAP_FMAC4 soap_get_ns1__helpResponse(struct soap*, struct ns1__helpResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__S_USCOREvalue
+#define SOAP_TYPE_ns1__S_USCOREvalue (420)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__S_USCOREvalue(struct soap*, struct ns1__S_USCOREvalue *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__S_USCOREvalue(struct soap*, const struct ns1__S_USCOREvalue *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__S_USCOREvalue(struct soap*, const char*, int, const struct ns1__S_USCOREvalue *, const char*);
+SOAP_FMAC3 struct ns1__S_USCOREvalue * SOAP_FMAC4 soap_in_ns1__S_USCOREvalue(struct soap*, const char*, struct ns1__S_USCOREvalue *, const char*);
+
+#ifndef soap_write_ns1__S_USCOREvalue
+#define soap_write_ns1__S_USCOREvalue(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__S_USCOREvalue(soap, data), 0) || soap_put_ns1__S_USCOREvalue(soap, data, "ns1:S_value", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__S_USCOREvalue(struct soap*, const struct ns1__S_USCOREvalue *, const char*, const char*);
+
+#ifndef soap_read_ns1__S_USCOREvalue
+#define soap_read_ns1__S_USCOREvalue(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__S_USCOREvalue(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__S_USCOREvalue * SOAP_FMAC4 soap_get_ns1__S_USCOREvalue(struct soap*, struct ns1__S_USCOREvalue *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__S_USCOREvalueResponse
+#define SOAP_TYPE_ns1__S_USCOREvalueResponse (419)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__S_USCOREvalueResponse(struct soap*, struct ns1__S_USCOREvalueResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__S_USCOREvalueResponse(struct soap*, const struct ns1__S_USCOREvalueResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__S_USCOREvalueResponse(struct soap*, const char*, int, const struct ns1__S_USCOREvalueResponse *, const char*);
+SOAP_FMAC3 struct ns1__S_USCOREvalueResponse * SOAP_FMAC4 soap_in_ns1__S_USCOREvalueResponse(struct soap*, const char*, struct ns1__S_USCOREvalueResponse *, const char*);
+
+#ifndef soap_write_ns1__S_USCOREvalueResponse
+#define soap_write_ns1__S_USCOREvalueResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__S_USCOREvalueResponse(soap, data), 0) || soap_put_ns1__S_USCOREvalueResponse(soap, data, "ns1:S_valueResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__S_USCOREvalueResponse(struct soap*, const struct ns1__S_USCOREvalueResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__S_USCOREvalueResponse
+#define soap_read_ns1__S_USCOREvalueResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__S_USCOREvalueResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__S_USCOREvalueResponse * SOAP_FMAC4 soap_get_ns1__S_USCOREvalueResponse(struct soap*, struct ns1__S_USCOREvalueResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__leading_USCOREstrand
+#define SOAP_TYPE_ns1__leading_USCOREstrand (416)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__leading_USCOREstrand(struct soap*, struct ns1__leading_USCOREstrand *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__leading_USCOREstrand(struct soap*, const struct ns1__leading_USCOREstrand *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__leading_USCOREstrand(struct soap*, const char*, int, const struct ns1__leading_USCOREstrand *, const char*);
+SOAP_FMAC3 struct ns1__leading_USCOREstrand * SOAP_FMAC4 soap_in_ns1__leading_USCOREstrand(struct soap*, const char*, struct ns1__leading_USCOREstrand *, const char*);
+
+#ifndef soap_write_ns1__leading_USCOREstrand
+#define soap_write_ns1__leading_USCOREstrand(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__leading_USCOREstrand(soap, data), 0) || soap_put_ns1__leading_USCOREstrand(soap, data, "ns1:leading_strand", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__leading_USCOREstrand(struct soap*, const struct ns1__leading_USCOREstrand *, const char*, const char*);
+
+#ifndef soap_read_ns1__leading_USCOREstrand
+#define soap_read_ns1__leading_USCOREstrand(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__leading_USCOREstrand(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__leading_USCOREstrand * SOAP_FMAC4 soap_get_ns1__leading_USCOREstrand(struct soap*, struct ns1__leading_USCOREstrand *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__leading_USCOREstrandResponse
+#define SOAP_TYPE_ns1__leading_USCOREstrandResponse (413)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__leading_USCOREstrandResponse(struct soap*, struct ns1__leading_USCOREstrandResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__leading_USCOREstrandResponse(struct soap*, const struct ns1__leading_USCOREstrandResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__leading_USCOREstrandResponse(struct soap*, const char*, int, const struct ns1__leading_USCOREstrandResponse *, const char*);
+SOAP_FMAC3 struct ns1__leading_USCOREstrandResponse * SOAP_FMAC4 soap_in_ns1__leading_USCOREstrandResponse(struct soap*, const char*, struct ns1__leading_USCOREstrandResponse *, const char*);
+
+#ifndef soap_write_ns1__leading_USCOREstrandResponse
+#define soap_write_ns1__leading_USCOREstrandResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__leading_USCOREstrandResponse(soap, data), 0) || soap_put_ns1__leading_USCOREstrandResponse(soap, data, "ns1:leading_strandResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__leading_USCOREstrandResponse(struct soap*, const struct ns1__leading_USCOREstrandResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__leading_USCOREstrandResponse
+#define soap_read_ns1__leading_USCOREstrandResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__leading_USCOREstrandResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__leading_USCOREstrandResponse * SOAP_FMAC4 soap_get_ns1__leading_USCOREstrandResponse(struct soap*, struct ns1__leading_USCOREstrandResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__scs
+#define SOAP_TYPE_ns1__scs (412)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__scs(struct soap*, struct ns1__scs *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__scs(struct soap*, const struct ns1__scs *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__scs(struct soap*, const char*, int, const struct ns1__scs *, const char*);
+SOAP_FMAC3 struct ns1__scs * SOAP_FMAC4 soap_in_ns1__scs(struct soap*, const char*, struct ns1__scs *, const char*);
+
+#ifndef soap_write_ns1__scs
+#define soap_write_ns1__scs(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__scs(soap, data), 0) || soap_put_ns1__scs(soap, data, "ns1:scs", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__scs(struct soap*, const struct ns1__scs *, const char*, const char*);
+
+#ifndef soap_read_ns1__scs
+#define soap_read_ns1__scs(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__scs(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__scs * SOAP_FMAC4 soap_get_ns1__scs(struct soap*, struct ns1__scs *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__scsResponse
+#define SOAP_TYPE_ns1__scsResponse (411)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__scsResponse(struct soap*, struct ns1__scsResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__scsResponse(struct soap*, const struct ns1__scsResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__scsResponse(struct soap*, const char*, int, const struct ns1__scsResponse *, const char*);
+SOAP_FMAC3 struct ns1__scsResponse * SOAP_FMAC4 soap_in_ns1__scsResponse(struct soap*, const char*, struct ns1__scsResponse *, const char*);
+
+#ifndef soap_write_ns1__scsResponse
+#define soap_write_ns1__scsResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__scsResponse(soap, data), 0) || soap_put_ns1__scsResponse(soap, data, "ns1:scsResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__scsResponse(struct soap*, const struct ns1__scsResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__scsResponse
+#define soap_read_ns1__scsResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__scsResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__scsResponse * SOAP_FMAC4 soap_get_ns1__scsResponse(struct soap*, struct ns1__scsResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__lda_USCOREbias
+#define SOAP_TYPE_ns1__lda_USCOREbias (408)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__lda_USCOREbias(struct soap*, struct ns1__lda_USCOREbias *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__lda_USCOREbias(struct soap*, const struct ns1__lda_USCOREbias *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__lda_USCOREbias(struct soap*, const char*, int, const struct ns1__lda_USCOREbias *, const char*);
+SOAP_FMAC3 struct ns1__lda_USCOREbias * SOAP_FMAC4 soap_in_ns1__lda_USCOREbias(struct soap*, const char*, struct ns1__lda_USCOREbias *, const char*);
+
+#ifndef soap_write_ns1__lda_USCOREbias
+#define soap_write_ns1__lda_USCOREbias(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__lda_USCOREbias(soap, data), 0) || soap_put_ns1__lda_USCOREbias(soap, data, "ns1:lda_bias", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__lda_USCOREbias(struct soap*, const struct ns1__lda_USCOREbias *, const char*, const char*);
+
+#ifndef soap_read_ns1__lda_USCOREbias
+#define soap_read_ns1__lda_USCOREbias(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__lda_USCOREbias(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__lda_USCOREbias * SOAP_FMAC4 soap_get_ns1__lda_USCOREbias(struct soap*, struct ns1__lda_USCOREbias *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__lda_USCOREbiasResponse
+#define SOAP_TYPE_ns1__lda_USCOREbiasResponse (407)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__lda_USCOREbiasResponse(struct soap*, struct ns1__lda_USCOREbiasResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__lda_USCOREbiasResponse(struct soap*, const struct ns1__lda_USCOREbiasResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__lda_USCOREbiasResponse(struct soap*, const char*, int, const struct ns1__lda_USCOREbiasResponse *, const char*);
+SOAP_FMAC3 struct ns1__lda_USCOREbiasResponse * SOAP_FMAC4 soap_in_ns1__lda_USCOREbiasResponse(struct soap*, const char*, struct ns1__lda_USCOREbiasResponse *, const char*);
+
+#ifndef soap_write_ns1__lda_USCOREbiasResponse
+#define soap_write_ns1__lda_USCOREbiasResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__lda_USCOREbiasResponse(soap, data), 0) || soap_put_ns1__lda_USCOREbiasResponse(soap, data, "ns1:lda_biasResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__lda_USCOREbiasResponse(struct soap*, const struct ns1__lda_USCOREbiasResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__lda_USCOREbiasResponse
+#define soap_read_ns1__lda_USCOREbiasResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__lda_USCOREbiasResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__lda_USCOREbiasResponse * SOAP_FMAC4 soap_get_ns1__lda_USCOREbiasResponse(struct soap*, struct ns1__lda_USCOREbiasResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__kmer_USCOREtable
+#define SOAP_TYPE_ns1__kmer_USCOREtable (404)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__kmer_USCOREtable(struct soap*, struct ns1__kmer_USCOREtable *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__kmer_USCOREtable(struct soap*, const struct ns1__kmer_USCOREtable *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__kmer_USCOREtable(struct soap*, const char*, int, const struct ns1__kmer_USCOREtable *, const char*);
+SOAP_FMAC3 struct ns1__kmer_USCOREtable * SOAP_FMAC4 soap_in_ns1__kmer_USCOREtable(struct soap*, const char*, struct ns1__kmer_USCOREtable *, const char*);
+
+#ifndef soap_write_ns1__kmer_USCOREtable
+#define soap_write_ns1__kmer_USCOREtable(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__kmer_USCOREtable(soap, data), 0) || soap_put_ns1__kmer_USCOREtable(soap, data, "ns1:kmer_table", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__kmer_USCOREtable(struct soap*, const struct ns1__kmer_USCOREtable *, const char*, const char*);
+
+#ifndef soap_read_ns1__kmer_USCOREtable
+#define soap_read_ns1__kmer_USCOREtable(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__kmer_USCOREtable(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__kmer_USCOREtable * SOAP_FMAC4 soap_get_ns1__kmer_USCOREtable(struct soap*, struct ns1__kmer_USCOREtable *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__kmer_USCOREtableResponse
+#define SOAP_TYPE_ns1__kmer_USCOREtableResponse (403)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__kmer_USCOREtableResponse(struct soap*, struct ns1__kmer_USCOREtableResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__kmer_USCOREtableResponse(struct soap*, const struct ns1__kmer_USCOREtableResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__kmer_USCOREtableResponse(struct soap*, const char*, int, const struct ns1__kmer_USCOREtableResponse *, const char*);
+SOAP_FMAC3 struct ns1__kmer_USCOREtableResponse * SOAP_FMAC4 soap_in_ns1__kmer_USCOREtableResponse(struct soap*, const char*, struct ns1__kmer_USCOREtableResponse *, const char*);
+
+#ifndef soap_write_ns1__kmer_USCOREtableResponse
+#define soap_write_ns1__kmer_USCOREtableResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__kmer_USCOREtableResponse(soap, data), 0) || soap_put_ns1__kmer_USCOREtableResponse(soap, data, "ns1:kmer_tableResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__kmer_USCOREtableResponse(struct soap*, const struct ns1__kmer_USCOREtableResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__kmer_USCOREtableResponse
+#define soap_read_ns1__kmer_USCOREtableResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__kmer_USCOREtableResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__kmer_USCOREtableResponse * SOAP_FMAC4 soap_get_ns1__kmer_USCOREtableResponse(struct soap*, struct ns1__kmer_USCOREtableResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__base_USCOREz_USCOREvalue
+#define SOAP_TYPE_ns1__base_USCOREz_USCOREvalue (400)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREz_USCOREvalue(struct soap*, struct ns1__base_USCOREz_USCOREvalue *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREz_USCOREvalue(struct soap*, const struct ns1__base_USCOREz_USCOREvalue *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREz_USCOREvalue(struct soap*, const char*, int, const struct ns1__base_USCOREz_USCOREvalue *, const char*);
+SOAP_FMAC3 struct ns1__base_USCOREz_USCOREvalue * SOAP_FMAC4 soap_in_ns1__base_USCOREz_USCOREvalue(struct soap*, const char*, struct ns1__base_USCOREz_USCOREvalue *, const char*);
+
+#ifndef soap_write_ns1__base_USCOREz_USCOREvalue
+#define soap_write_ns1__base_USCOREz_USCOREvalue(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__base_USCOREz_USCOREvalue(soap, data), 0) || soap_put_ns1__base_USCOREz_USCOREvalue(soap, data, "ns1:base_z_value", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREz_USCOREvalue(struct soap*, const struct ns1__base_USCOREz_USCOREvalue *, const char*, const char*);
+
+#ifndef soap_read_ns1__base_USCOREz_USCOREvalue
+#define soap_read_ns1__base_USCOREz_USCOREvalue(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__base_USCOREz_USCOREvalue(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__base_USCOREz_USCOREvalue * SOAP_FMAC4 soap_get_ns1__base_USCOREz_USCOREvalue(struct soap*, struct ns1__base_USCOREz_USCOREvalue *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__base_USCOREz_USCOREvalueResponse
+#define SOAP_TYPE_ns1__base_USCOREz_USCOREvalueResponse (399)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREz_USCOREvalueResponse(struct soap*, struct ns1__base_USCOREz_USCOREvalueResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREz_USCOREvalueResponse(struct soap*, const struct ns1__base_USCOREz_USCOREvalueResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREz_USCOREvalueResponse(struct soap*, const char*, int, const struct ns1__base_USCOREz_USCOREvalueResponse *, const char*);
+SOAP_FMAC3 struct ns1__base_USCOREz_USCOREvalueResponse * SOAP_FMAC4 soap_in_ns1__base_USCOREz_USCOREvalueResponse(struct soap*, const char*, struct ns1__base_USCOREz_USCOREvalueResponse *, const char*);
+
+#ifndef soap_write_ns1__base_USCOREz_USCOREvalueResponse
+#define soap_write_ns1__base_USCOREz_USCOREvalueResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__base_USCOREz_USCOREvalueResponse(soap, data), 0) || soap_put_ns1__base_USCOREz_USCOREvalueResponse(soap, data, "ns1:base_z_valueResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREz_USCOREvalueResponse(struct soap*, const struct ns1__base_USCOREz_USCOREvalueResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__base_USCOREz_USCOREvalueResponse
+#define soap_read_ns1__base_USCOREz_USCOREvalueResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__base_USCOREz_USCOREvalueResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__base_USCOREz_USCOREvalueResponse * SOAP_FMAC4 soap_get_ns1__base_USCOREz_USCOREvalueResponse(struct soap*, struct ns1__base_USCOREz_USCOREvalueResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__base_USCOREcounter
+#define SOAP_TYPE_ns1__base_USCOREcounter (396)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREcounter(struct soap*, struct ns1__base_USCOREcounter *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREcounter(struct soap*, const struct ns1__base_USCOREcounter *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREcounter(struct soap*, const char*, int, const struct ns1__base_USCOREcounter *, const char*);
+SOAP_FMAC3 struct ns1__base_USCOREcounter * SOAP_FMAC4 soap_in_ns1__base_USCOREcounter(struct soap*, const char*, struct ns1__base_USCOREcounter *, const char*);
+
+#ifndef soap_write_ns1__base_USCOREcounter
+#define soap_write_ns1__base_USCOREcounter(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__base_USCOREcounter(soap, data), 0) || soap_put_ns1__base_USCOREcounter(soap, data, "ns1:base_counter", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREcounter(struct soap*, const struct ns1__base_USCOREcounter *, const char*, const char*);
+
+#ifndef soap_read_ns1__base_USCOREcounter
+#define soap_read_ns1__base_USCOREcounter(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__base_USCOREcounter(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__base_USCOREcounter * SOAP_FMAC4 soap_get_ns1__base_USCOREcounter(struct soap*, struct ns1__base_USCOREcounter *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__base_USCOREcounterResponse
+#define SOAP_TYPE_ns1__base_USCOREcounterResponse (395)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREcounterResponse(struct soap*, struct ns1__base_USCOREcounterResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREcounterResponse(struct soap*, const struct ns1__base_USCOREcounterResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREcounterResponse(struct soap*, const char*, int, const struct ns1__base_USCOREcounterResponse *, const char*);
+SOAP_FMAC3 struct ns1__base_USCOREcounterResponse * SOAP_FMAC4 soap_in_ns1__base_USCOREcounterResponse(struct soap*, const char*, struct ns1__base_USCOREcounterResponse *, const char*);
+
+#ifndef soap_write_ns1__base_USCOREcounterResponse
+#define soap_write_ns1__base_USCOREcounterResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__base_USCOREcounterResponse(soap, data), 0) || soap_put_ns1__base_USCOREcounterResponse(soap, data, "ns1:base_counterResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREcounterResponse(struct soap*, const struct ns1__base_USCOREcounterResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__base_USCOREcounterResponse
+#define soap_read_ns1__base_USCOREcounterResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__base_USCOREcounterResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__base_USCOREcounterResponse * SOAP_FMAC4 soap_get_ns1__base_USCOREcounterResponse(struct soap*, struct ns1__base_USCOREcounterResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__B2
+#define SOAP_TYPE_ns1__B2 (392)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__B2(struct soap*, struct ns1__B2 *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__B2(struct soap*, const struct ns1__B2 *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__B2(struct soap*, const char*, int, const struct ns1__B2 *, const char*);
+SOAP_FMAC3 struct ns1__B2 * SOAP_FMAC4 soap_in_ns1__B2(struct soap*, const char*, struct ns1__B2 *, const char*);
+
+#ifndef soap_write_ns1__B2
+#define soap_write_ns1__B2(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__B2(soap, data), 0) || soap_put_ns1__B2(soap, data, "ns1:B2", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__B2(struct soap*, const struct ns1__B2 *, const char*, const char*);
+
+#ifndef soap_read_ns1__B2
+#define soap_read_ns1__B2(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__B2(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__B2 * SOAP_FMAC4 soap_get_ns1__B2(struct soap*, struct ns1__B2 *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__B2Response
+#define SOAP_TYPE_ns1__B2Response (391)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__B2Response(struct soap*, struct ns1__B2Response *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__B2Response(struct soap*, const struct ns1__B2Response *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__B2Response(struct soap*, const char*, int, const struct ns1__B2Response *, const char*);
+SOAP_FMAC3 struct ns1__B2Response * SOAP_FMAC4 soap_in_ns1__B2Response(struct soap*, const char*, struct ns1__B2Response *, const char*);
+
+#ifndef soap_write_ns1__B2Response
+#define soap_write_ns1__B2Response(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__B2Response(soap, data), 0) || soap_put_ns1__B2Response(soap, data, "ns1:B2Response", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__B2Response(struct soap*, const struct ns1__B2Response *, const char*, const char*);
+
+#ifndef soap_read_ns1__B2Response
+#define soap_read_ns1__B2Response(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__B2Response(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__B2Response * SOAP_FMAC4 soap_get_ns1__B2Response(struct soap*, struct ns1__B2Response *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__B1
+#define SOAP_TYPE_ns1__B1 (389)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__B1(struct soap*, struct ns1__B1 *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__B1(struct soap*, const struct ns1__B1 *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__B1(struct soap*, const char*, int, const struct ns1__B1 *, const char*);
+SOAP_FMAC3 struct ns1__B1 * SOAP_FMAC4 soap_in_ns1__B1(struct soap*, const char*, struct ns1__B1 *, const char*);
+
+#ifndef soap_write_ns1__B1
+#define soap_write_ns1__B1(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__B1(soap, data), 0) || soap_put_ns1__B1(soap, data, "ns1:B1", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__B1(struct soap*, const struct ns1__B1 *, const char*, const char*);
+
+#ifndef soap_read_ns1__B1
+#define soap_read_ns1__B1(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__B1(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__B1 * SOAP_FMAC4 soap_get_ns1__B1(struct soap*, struct ns1__B1 *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__B1Response
+#define SOAP_TYPE_ns1__B1Response (388)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__B1Response(struct soap*, struct ns1__B1Response *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__B1Response(struct soap*, const struct ns1__B1Response *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__B1Response(struct soap*, const char*, int, const struct ns1__B1Response *, const char*);
+SOAP_FMAC3 struct ns1__B1Response * SOAP_FMAC4 soap_in_ns1__B1Response(struct soap*, const char*, struct ns1__B1Response *, const char*);
+
+#ifndef soap_write_ns1__B1Response
+#define soap_write_ns1__B1Response(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__B1Response(soap, data), 0) || soap_put_ns1__B1Response(soap, data, "ns1:B1Response", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__B1Response(struct soap*, const struct ns1__B1Response *, const char*, const char*);
+
+#ifndef soap_read_ns1__B1Response
+#define soap_read_ns1__B1Response(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__B1Response(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__B1Response * SOAP_FMAC4 soap_get_ns1__B1Response(struct soap*, struct ns1__B1Response *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__cgr
+#define SOAP_TYPE_ns1__cgr (385)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__cgr(struct soap*, struct ns1__cgr *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__cgr(struct soap*, const struct ns1__cgr *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__cgr(struct soap*, const char*, int, const struct ns1__cgr *, const char*);
+SOAP_FMAC3 struct ns1__cgr * SOAP_FMAC4 soap_in_ns1__cgr(struct soap*, const char*, struct ns1__cgr *, const char*);
+
+#ifndef soap_write_ns1__cgr
+#define soap_write_ns1__cgr(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__cgr(soap, data), 0) || soap_put_ns1__cgr(soap, data, "ns1:cgr", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__cgr(struct soap*, const struct ns1__cgr *, const char*, const char*);
+
+#ifndef soap_read_ns1__cgr
+#define soap_read_ns1__cgr(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__cgr(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__cgr * SOAP_FMAC4 soap_get_ns1__cgr(struct soap*, struct ns1__cgr *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__cgrResponse
+#define SOAP_TYPE_ns1__cgrResponse (384)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__cgrResponse(struct soap*, struct ns1__cgrResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__cgrResponse(struct soap*, const struct ns1__cgrResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__cgrResponse(struct soap*, const char*, int, const struct ns1__cgrResponse *, const char*);
+SOAP_FMAC3 struct ns1__cgrResponse * SOAP_FMAC4 soap_in_ns1__cgrResponse(struct soap*, const char*, struct ns1__cgrResponse *, const char*);
+
+#ifndef soap_write_ns1__cgrResponse
+#define soap_write_ns1__cgrResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__cgrResponse(soap, data), 0) || soap_put_ns1__cgrResponse(soap, data, "ns1:cgrResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__cgrResponse(struct soap*, const struct ns1__cgrResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__cgrResponse
+#define soap_read_ns1__cgrResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__cgrResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__cgrResponse * SOAP_FMAC4 soap_get_ns1__cgrResponse(struct soap*, struct ns1__cgrResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__dinuc
+#define SOAP_TYPE_ns1__dinuc (381)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__dinuc(struct soap*, struct ns1__dinuc *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__dinuc(struct soap*, const struct ns1__dinuc *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__dinuc(struct soap*, const char*, int, const struct ns1__dinuc *, const char*);
+SOAP_FMAC3 struct ns1__dinuc * SOAP_FMAC4 soap_in_ns1__dinuc(struct soap*, const char*, struct ns1__dinuc *, const char*);
+
+#ifndef soap_write_ns1__dinuc
+#define soap_write_ns1__dinuc(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__dinuc(soap, data), 0) || soap_put_ns1__dinuc(soap, data, "ns1:dinuc", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__dinuc(struct soap*, const struct ns1__dinuc *, const char*, const char*);
+
+#ifndef soap_read_ns1__dinuc
+#define soap_read_ns1__dinuc(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__dinuc(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__dinuc * SOAP_FMAC4 soap_get_ns1__dinuc(struct soap*, struct ns1__dinuc *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__dinucResponse
+#define SOAP_TYPE_ns1__dinucResponse (380)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__dinucResponse(struct soap*, struct ns1__dinucResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__dinucResponse(struct soap*, const struct ns1__dinucResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__dinucResponse(struct soap*, const char*, int, const struct ns1__dinucResponse *, const char*);
+SOAP_FMAC3 struct ns1__dinucResponse * SOAP_FMAC4 soap_in_ns1__dinucResponse(struct soap*, const char*, struct ns1__dinucResponse *, const char*);
+
+#ifndef soap_write_ns1__dinucResponse
+#define soap_write_ns1__dinucResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__dinucResponse(soap, data), 0) || soap_put_ns1__dinucResponse(soap, data, "ns1:dinucResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__dinucResponse(struct soap*, const struct ns1__dinucResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__dinucResponse
+#define soap_read_ns1__dinucResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__dinucResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__dinucResponse * SOAP_FMAC4 soap_get_ns1__dinucResponse(struct soap*, struct ns1__dinucResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__least_USCOREsquares_USCOREfit
+#define SOAP_TYPE_ns1__least_USCOREsquares_USCOREfit (377)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__least_USCOREsquares_USCOREfit(struct soap*, struct ns1__least_USCOREsquares_USCOREfit *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__least_USCOREsquares_USCOREfit(struct soap*, const struct ns1__least_USCOREsquares_USCOREfit *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__least_USCOREsquares_USCOREfit(struct soap*, const char*, int, const struct ns1__least_USCOREsquares_USCOREfit *, const char*);
+SOAP_FMAC3 struct ns1__least_USCOREsquares_USCOREfit * SOAP_FMAC4 soap_in_ns1__least_USCOREsquares_USCOREfit(struct soap*, const char*, struct ns1__least_USCOREsquares_USCOREfit *, const char*);
+
+#ifndef soap_write_ns1__least_USCOREsquares_USCOREfit
+#define soap_write_ns1__least_USCOREsquares_USCOREfit(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__least_USCOREsquares_USCOREfit(soap, data), 0) || soap_put_ns1__least_USCOREsquares_USCOREfit(soap, data, "ns1:least_squares_fit", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__least_USCOREsquares_USCOREfit(struct soap*, const struct ns1__least_USCOREsquares_USCOREfit *, const char*, const char*);
+
+#ifndef soap_read_ns1__least_USCOREsquares_USCOREfit
+#define soap_read_ns1__least_USCOREsquares_USCOREfit(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__least_USCOREsquares_USCOREfit(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__least_USCOREsquares_USCOREfit * SOAP_FMAC4 soap_get_ns1__least_USCOREsquares_USCOREfit(struct soap*, struct ns1__least_USCOREsquares_USCOREfit *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__least_USCOREsquares_USCOREfitResponse
+#define SOAP_TYPE_ns1__least_USCOREsquares_USCOREfitResponse (374)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__least_USCOREsquares_USCOREfitResponse(struct soap*, struct ns1__least_USCOREsquares_USCOREfitResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__least_USCOREsquares_USCOREfitResponse(struct soap*, const struct ns1__least_USCOREsquares_USCOREfitResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__least_USCOREsquares_USCOREfitResponse(struct soap*, const char*, int, const struct ns1__least_USCOREsquares_USCOREfitResponse *, const char*);
+SOAP_FMAC3 struct ns1__least_USCOREsquares_USCOREfitResponse * SOAP_FMAC4 soap_in_ns1__least_USCOREsquares_USCOREfitResponse(struct soap*, const char*, struct ns1__least_USCOREsquares_USCOREfitResponse *, const char*);
+
+#ifndef soap_write_ns1__least_USCOREsquares_USCOREfitResponse
+#define soap_write_ns1__least_USCOREsquares_USCOREfitResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__least_USCOREsquares_USCOREfitResponse(soap, data), 0) || soap_put_ns1__least_USCOREsquares_USCOREfitResponse(soap, data, "ns1:least_squares_fitResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__least_USCOREsquares_USCOREfitResponse(struct soap*, const struct ns1__least_USCOREsquares_USCOREfitResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__least_USCOREsquares_USCOREfitResponse
+#define soap_read_ns1__least_USCOREsquares_USCOREfitResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__least_USCOREsquares_USCOREfitResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__least_USCOREsquares_USCOREfitResponse * SOAP_FMAC4 soap_get_ns1__least_USCOREsquares_USCOREfitResponse(struct soap*, struct ns1__least_USCOREsquares_USCOREfitResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__palindrome
+#define SOAP_TYPE_ns1__palindrome (373)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__palindrome(struct soap*, struct ns1__palindrome *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__palindrome(struct soap*, const struct ns1__palindrome *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__palindrome(struct soap*, const char*, int, const struct ns1__palindrome *, const char*);
+SOAP_FMAC3 struct ns1__palindrome * SOAP_FMAC4 soap_in_ns1__palindrome(struct soap*, const char*, struct ns1__palindrome *, const char*);
+
+#ifndef soap_write_ns1__palindrome
+#define soap_write_ns1__palindrome(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__palindrome(soap, data), 0) || soap_put_ns1__palindrome(soap, data, "ns1:palindrome", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__palindrome(struct soap*, const struct ns1__palindrome *, const char*, const char*);
+
+#ifndef soap_read_ns1__palindrome
+#define soap_read_ns1__palindrome(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__palindrome(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__palindrome * SOAP_FMAC4 soap_get_ns1__palindrome(struct soap*, struct ns1__palindrome *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__palindromeResponse
+#define SOAP_TYPE_ns1__palindromeResponse (372)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__palindromeResponse(struct soap*, struct ns1__palindromeResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__palindromeResponse(struct soap*, const struct ns1__palindromeResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__palindromeResponse(struct soap*, const char*, int, const struct ns1__palindromeResponse *, const char*);
+SOAP_FMAC3 struct ns1__palindromeResponse * SOAP_FMAC4 soap_in_ns1__palindromeResponse(struct soap*, const char*, struct ns1__palindromeResponse *, const char*);
+
+#ifndef soap_write_ns1__palindromeResponse
+#define soap_write_ns1__palindromeResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__palindromeResponse(soap, data), 0) || soap_put_ns1__palindromeResponse(soap, data, "ns1:palindromeResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__palindromeResponse(struct soap*, const struct ns1__palindromeResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__palindromeResponse
+#define soap_read_ns1__palindromeResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__palindromeResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__palindromeResponse * SOAP_FMAC4 soap_get_ns1__palindromeResponse(struct soap*, struct ns1__palindromeResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__entrez
+#define SOAP_TYPE_ns1__entrez (369)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__entrez(struct soap*, struct ns1__entrez *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__entrez(struct soap*, const struct ns1__entrez *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__entrez(struct soap*, const char*, int, const struct ns1__entrez *, const char*);
+SOAP_FMAC3 struct ns1__entrez * SOAP_FMAC4 soap_in_ns1__entrez(struct soap*, const char*, struct ns1__entrez *, const char*);
+
+#ifndef soap_write_ns1__entrez
+#define soap_write_ns1__entrez(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__entrez(soap, data), 0) || soap_put_ns1__entrez(soap, data, "ns1:entrez", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__entrez(struct soap*, const struct ns1__entrez *, const char*, const char*);
+
+#ifndef soap_read_ns1__entrez
+#define soap_read_ns1__entrez(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__entrez(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__entrez * SOAP_FMAC4 soap_get_ns1__entrez(struct soap*, struct ns1__entrez *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__entrezResponse
+#define SOAP_TYPE_ns1__entrezResponse (368)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__entrezResponse(struct soap*, struct ns1__entrezResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__entrezResponse(struct soap*, const struct ns1__entrezResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__entrezResponse(struct soap*, const char*, int, const struct ns1__entrezResponse *, const char*);
+SOAP_FMAC3 struct ns1__entrezResponse * SOAP_FMAC4 soap_in_ns1__entrezResponse(struct soap*, const char*, struct ns1__entrezResponse *, const char*);
+
+#ifndef soap_write_ns1__entrezResponse
+#define soap_write_ns1__entrezResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__entrezResponse(soap, data), 0) || soap_put_ns1__entrezResponse(soap, data, "ns1:entrezResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__entrezResponse(struct soap*, const struct ns1__entrezResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__entrezResponse
+#define soap_read_ns1__entrezResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__entrezResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__entrezResponse * SOAP_FMAC4 soap_get_ns1__entrezResponse(struct soap*, struct ns1__entrezResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREcounter
+#define SOAP_TYPE_ns1__codon_USCOREcounter (366)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREcounter(struct soap*, struct ns1__codon_USCOREcounter *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREcounter(struct soap*, const struct ns1__codon_USCOREcounter *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREcounter(struct soap*, const char*, int, const struct ns1__codon_USCOREcounter *, const char*);
+SOAP_FMAC3 struct ns1__codon_USCOREcounter * SOAP_FMAC4 soap_in_ns1__codon_USCOREcounter(struct soap*, const char*, struct ns1__codon_USCOREcounter *, const char*);
+
+#ifndef soap_write_ns1__codon_USCOREcounter
+#define soap_write_ns1__codon_USCOREcounter(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__codon_USCOREcounter(soap, data), 0) || soap_put_ns1__codon_USCOREcounter(soap, data, "ns1:codon_counter", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREcounter(struct soap*, const struct ns1__codon_USCOREcounter *, const char*, const char*);
+
+#ifndef soap_read_ns1__codon_USCOREcounter
+#define soap_read_ns1__codon_USCOREcounter(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__codon_USCOREcounter(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__codon_USCOREcounter * SOAP_FMAC4 soap_get_ns1__codon_USCOREcounter(struct soap*, struct ns1__codon_USCOREcounter *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREcounterResponse
+#define SOAP_TYPE_ns1__codon_USCOREcounterResponse (365)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREcounterResponse(struct soap*, struct ns1__codon_USCOREcounterResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREcounterResponse(struct soap*, const struct ns1__codon_USCOREcounterResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREcounterResponse(struct soap*, const char*, int, const struct ns1__codon_USCOREcounterResponse *, const char*);
+SOAP_FMAC3 struct ns1__codon_USCOREcounterResponse * SOAP_FMAC4 soap_in_ns1__codon_USCOREcounterResponse(struct soap*, const char*, struct ns1__codon_USCOREcounterResponse *, const char*);
+
+#ifndef soap_write_ns1__codon_USCOREcounterResponse
+#define soap_write_ns1__codon_USCOREcounterResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__codon_USCOREcounterResponse(soap, data), 0) || soap_put_ns1__codon_USCOREcounterResponse(soap, data, "ns1:codon_counterResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREcounterResponse(struct soap*, const struct ns1__codon_USCOREcounterResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__codon_USCOREcounterResponse
+#define soap_read_ns1__codon_USCOREcounterResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__codon_USCOREcounterResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__codon_USCOREcounterResponse * SOAP_FMAC4 soap_get_ns1__codon_USCOREcounterResponse(struct soap*, struct ns1__codon_USCOREcounterResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__mean
+#define SOAP_TYPE_ns1__mean (362)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__mean(struct soap*, struct ns1__mean *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__mean(struct soap*, const struct ns1__mean *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__mean(struct soap*, const char*, int, const struct ns1__mean *, const char*);
+SOAP_FMAC3 struct ns1__mean * SOAP_FMAC4 soap_in_ns1__mean(struct soap*, const char*, struct ns1__mean *, const char*);
+
+#ifndef soap_write_ns1__mean
+#define soap_write_ns1__mean(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__mean(soap, data), 0) || soap_put_ns1__mean(soap, data, "ns1:mean", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__mean(struct soap*, const struct ns1__mean *, const char*, const char*);
+
+#ifndef soap_read_ns1__mean
+#define soap_read_ns1__mean(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__mean(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__mean * SOAP_FMAC4 soap_get_ns1__mean(struct soap*, struct ns1__mean *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__meanResponse
+#define SOAP_TYPE_ns1__meanResponse (361)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__meanResponse(struct soap*, struct ns1__meanResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__meanResponse(struct soap*, const struct ns1__meanResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__meanResponse(struct soap*, const char*, int, const struct ns1__meanResponse *, const char*);
+SOAP_FMAC3 struct ns1__meanResponse * SOAP_FMAC4 soap_in_ns1__meanResponse(struct soap*, const char*, struct ns1__meanResponse *, const char*);
+
+#ifndef soap_write_ns1__meanResponse
+#define soap_write_ns1__meanResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__meanResponse(soap, data), 0) || soap_put_ns1__meanResponse(soap, data, "ns1:meanResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__meanResponse(struct soap*, const struct ns1__meanResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__meanResponse
+#define soap_read_ns1__meanResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__meanResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__meanResponse * SOAP_FMAC4 soap_get_ns1__meanResponse(struct soap*, struct ns1__meanResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__complement
+#define SOAP_TYPE_ns1__complement (359)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__complement(struct soap*, struct ns1__complement *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__complement(struct soap*, const struct ns1__complement *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__complement(struct soap*, const char*, int, const struct ns1__complement *, const char*);
+SOAP_FMAC3 struct ns1__complement * SOAP_FMAC4 soap_in_ns1__complement(struct soap*, const char*, struct ns1__complement *, const char*);
+
+#ifndef soap_write_ns1__complement
+#define soap_write_ns1__complement(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__complement(soap, data), 0) || soap_put_ns1__complement(soap, data, "ns1:complement", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__complement(struct soap*, const struct ns1__complement *, const char*, const char*);
+
+#ifndef soap_read_ns1__complement
+#define soap_read_ns1__complement(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__complement(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__complement * SOAP_FMAC4 soap_get_ns1__complement(struct soap*, struct ns1__complement *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__complementResponse
+#define SOAP_TYPE_ns1__complementResponse (358)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__complementResponse(struct soap*, struct ns1__complementResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__complementResponse(struct soap*, const struct ns1__complementResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__complementResponse(struct soap*, const char*, int, const struct ns1__complementResponse *, const char*);
+SOAP_FMAC3 struct ns1__complementResponse * SOAP_FMAC4 soap_in_ns1__complementResponse(struct soap*, const char*, struct ns1__complementResponse *, const char*);
+
+#ifndef soap_write_ns1__complementResponse
+#define soap_write_ns1__complementResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__complementResponse(soap, data), 0) || soap_put_ns1__complementResponse(soap, data, "ns1:complementResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__complementResponse(struct soap*, const struct ns1__complementResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__complementResponse
+#define soap_read_ns1__complementResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__complementResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__complementResponse * SOAP_FMAC4 soap_get_ns1__complementResponse(struct soap*, struct ns1__complementResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__find_USCOREiteron
+#define SOAP_TYPE_ns1__find_USCOREiteron (356)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREiteron(struct soap*, struct ns1__find_USCOREiteron *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREiteron(struct soap*, const struct ns1__find_USCOREiteron *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREiteron(struct soap*, const char*, int, const struct ns1__find_USCOREiteron *, const char*);
+SOAP_FMAC3 struct ns1__find_USCOREiteron * SOAP_FMAC4 soap_in_ns1__find_USCOREiteron(struct soap*, const char*, struct ns1__find_USCOREiteron *, const char*);
+
+#ifndef soap_write_ns1__find_USCOREiteron
+#define soap_write_ns1__find_USCOREiteron(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__find_USCOREiteron(soap, data), 0) || soap_put_ns1__find_USCOREiteron(soap, data, "ns1:find_iteron", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREiteron(struct soap*, const struct ns1__find_USCOREiteron *, const char*, const char*);
+
+#ifndef soap_read_ns1__find_USCOREiteron
+#define soap_read_ns1__find_USCOREiteron(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__find_USCOREiteron(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREiteron * SOAP_FMAC4 soap_get_ns1__find_USCOREiteron(struct soap*, struct ns1__find_USCOREiteron *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__find_USCOREiteronResponse
+#define SOAP_TYPE_ns1__find_USCOREiteronResponse (355)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREiteronResponse(struct soap*, struct ns1__find_USCOREiteronResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREiteronResponse(struct soap*, const struct ns1__find_USCOREiteronResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREiteronResponse(struct soap*, const char*, int, const struct ns1__find_USCOREiteronResponse *, const char*);
+SOAP_FMAC3 struct ns1__find_USCOREiteronResponse * SOAP_FMAC4 soap_in_ns1__find_USCOREiteronResponse(struct soap*, const char*, struct ns1__find_USCOREiteronResponse *, const char*);
+
+#ifndef soap_write_ns1__find_USCOREiteronResponse
+#define soap_write_ns1__find_USCOREiteronResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__find_USCOREiteronResponse(soap, data), 0) || soap_put_ns1__find_USCOREiteronResponse(soap, data, "ns1:find_iteronResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREiteronResponse(struct soap*, const struct ns1__find_USCOREiteronResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__find_USCOREiteronResponse
+#define soap_read_ns1__find_USCOREiteronResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__find_USCOREiteronResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREiteronResponse * SOAP_FMAC4 soap_get_ns1__find_USCOREiteronResponse(struct soap*, struct ns1__find_USCOREiteronResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__min
+#define SOAP_TYPE_ns1__min (352)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__min(struct soap*, struct ns1__min *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__min(struct soap*, const struct ns1__min *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__min(struct soap*, const char*, int, const struct ns1__min *, const char*);
+SOAP_FMAC3 struct ns1__min * SOAP_FMAC4 soap_in_ns1__min(struct soap*, const char*, struct ns1__min *, const char*);
+
+#ifndef soap_write_ns1__min
+#define soap_write_ns1__min(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__min(soap, data), 0) || soap_put_ns1__min(soap, data, "ns1:min", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__min(struct soap*, const struct ns1__min *, const char*, const char*);
+
+#ifndef soap_read_ns1__min
+#define soap_read_ns1__min(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__min(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__min * SOAP_FMAC4 soap_get_ns1__min(struct soap*, struct ns1__min *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__minResponse
+#define SOAP_TYPE_ns1__minResponse (351)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__minResponse(struct soap*, struct ns1__minResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__minResponse(struct soap*, const struct ns1__minResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__minResponse(struct soap*, const char*, int, const struct ns1__minResponse *, const char*);
+SOAP_FMAC3 struct ns1__minResponse * SOAP_FMAC4 soap_in_ns1__minResponse(struct soap*, const char*, struct ns1__minResponse *, const char*);
+
+#ifndef soap_write_ns1__minResponse
+#define soap_write_ns1__minResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__minResponse(soap, data), 0) || soap_put_ns1__minResponse(soap, data, "ns1:minResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__minResponse(struct soap*, const struct ns1__minResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__minResponse
+#define soap_read_ns1__minResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__minResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__minResponse * SOAP_FMAC4 soap_get_ns1__minResponse(struct soap*, struct ns1__minResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREusage
+#define SOAP_TYPE_ns1__codon_USCOREusage (349)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREusage(struct soap*, struct ns1__codon_USCOREusage *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREusage(struct soap*, const struct ns1__codon_USCOREusage *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREusage(struct soap*, const char*, int, const struct ns1__codon_USCOREusage *, const char*);
+SOAP_FMAC3 struct ns1__codon_USCOREusage * SOAP_FMAC4 soap_in_ns1__codon_USCOREusage(struct soap*, const char*, struct ns1__codon_USCOREusage *, const char*);
+
+#ifndef soap_write_ns1__codon_USCOREusage
+#define soap_write_ns1__codon_USCOREusage(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__codon_USCOREusage(soap, data), 0) || soap_put_ns1__codon_USCOREusage(soap, data, "ns1:codon_usage", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREusage(struct soap*, const struct ns1__codon_USCOREusage *, const char*, const char*);
+
+#ifndef soap_read_ns1__codon_USCOREusage
+#define soap_read_ns1__codon_USCOREusage(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__codon_USCOREusage(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__codon_USCOREusage * SOAP_FMAC4 soap_get_ns1__codon_USCOREusage(struct soap*, struct ns1__codon_USCOREusage *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREusageResponse
+#define SOAP_TYPE_ns1__codon_USCOREusageResponse (348)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREusageResponse(struct soap*, struct ns1__codon_USCOREusageResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREusageResponse(struct soap*, const struct ns1__codon_USCOREusageResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREusageResponse(struct soap*, const char*, int, const struct ns1__codon_USCOREusageResponse *, const char*);
+SOAP_FMAC3 struct ns1__codon_USCOREusageResponse * SOAP_FMAC4 soap_in_ns1__codon_USCOREusageResponse(struct soap*, const char*, struct ns1__codon_USCOREusageResponse *, const char*);
+
+#ifndef soap_write_ns1__codon_USCOREusageResponse
+#define soap_write_ns1__codon_USCOREusageResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__codon_USCOREusageResponse(soap, data), 0) || soap_put_ns1__codon_USCOREusageResponse(soap, data, "ns1:codon_usageResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREusageResponse(struct soap*, const struct ns1__codon_USCOREusageResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__codon_USCOREusageResponse
+#define soap_read_ns1__codon_USCOREusageResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__codon_USCOREusageResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__codon_USCOREusageResponse * SOAP_FMAC4 soap_get_ns1__codon_USCOREusageResponse(struct soap*, struct ns1__codon_USCOREusageResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__oligomer_USCOREcounter
+#define SOAP_TYPE_ns1__oligomer_USCOREcounter (345)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__oligomer_USCOREcounter(struct soap*, struct ns1__oligomer_USCOREcounter *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__oligomer_USCOREcounter(struct soap*, const struct ns1__oligomer_USCOREcounter *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__oligomer_USCOREcounter(struct soap*, const char*, int, const struct ns1__oligomer_USCOREcounter *, const char*);
+SOAP_FMAC3 struct ns1__oligomer_USCOREcounter * SOAP_FMAC4 soap_in_ns1__oligomer_USCOREcounter(struct soap*, const char*, struct ns1__oligomer_USCOREcounter *, const char*);
+
+#ifndef soap_write_ns1__oligomer_USCOREcounter
+#define soap_write_ns1__oligomer_USCOREcounter(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__oligomer_USCOREcounter(soap, data), 0) || soap_put_ns1__oligomer_USCOREcounter(soap, data, "ns1:oligomer_counter", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__oligomer_USCOREcounter(struct soap*, const struct ns1__oligomer_USCOREcounter *, const char*, const char*);
+
+#ifndef soap_read_ns1__oligomer_USCOREcounter
+#define soap_read_ns1__oligomer_USCOREcounter(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__oligomer_USCOREcounter(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREcounter * SOAP_FMAC4 soap_get_ns1__oligomer_USCOREcounter(struct soap*, struct ns1__oligomer_USCOREcounter *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__oligomer_USCOREcounterResponse
+#define SOAP_TYPE_ns1__oligomer_USCOREcounterResponse (344)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__oligomer_USCOREcounterResponse(struct soap*, struct ns1__oligomer_USCOREcounterResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__oligomer_USCOREcounterResponse(struct soap*, const struct ns1__oligomer_USCOREcounterResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__oligomer_USCOREcounterResponse(struct soap*, const char*, int, const struct ns1__oligomer_USCOREcounterResponse *, const char*);
+SOAP_FMAC3 struct ns1__oligomer_USCOREcounterResponse * SOAP_FMAC4 soap_in_ns1__oligomer_USCOREcounterResponse(struct soap*, const char*, struct ns1__oligomer_USCOREcounterResponse *, const char*);
+
+#ifndef soap_write_ns1__oligomer_USCOREcounterResponse
+#define soap_write_ns1__oligomer_USCOREcounterResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__oligomer_USCOREcounterResponse(soap, data), 0) || soap_put_ns1__oligomer_USCOREcounterResponse(soap, data, "ns1:oligomer_counterResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__oligomer_USCOREcounterResponse(struct soap*, const struct ns1__oligomer_USCOREcounterResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__oligomer_USCOREcounterResponse
+#define soap_read_ns1__oligomer_USCOREcounterResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__oligomer_USCOREcounterResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREcounterResponse * SOAP_FMAC4 soap_get_ns1__oligomer_USCOREcounterResponse(struct soap*, struct ns1__oligomer_USCOREcounterResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__gcwin
+#define SOAP_TYPE_ns1__gcwin (341)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__gcwin(struct soap*, struct ns1__gcwin *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__gcwin(struct soap*, const struct ns1__gcwin *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__gcwin(struct soap*, const char*, int, const struct ns1__gcwin *, const char*);
+SOAP_FMAC3 struct ns1__gcwin * SOAP_FMAC4 soap_in_ns1__gcwin(struct soap*, const char*, struct ns1__gcwin *, const char*);
+
+#ifndef soap_write_ns1__gcwin
+#define soap_write_ns1__gcwin(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__gcwin(soap, data), 0) || soap_put_ns1__gcwin(soap, data, "ns1:gcwin", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__gcwin(struct soap*, const struct ns1__gcwin *, const char*, const char*);
+
+#ifndef soap_read_ns1__gcwin
+#define soap_read_ns1__gcwin(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__gcwin(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__gcwin * SOAP_FMAC4 soap_get_ns1__gcwin(struct soap*, struct ns1__gcwin *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__gcwinResponse
+#define SOAP_TYPE_ns1__gcwinResponse (340)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__gcwinResponse(struct soap*, struct ns1__gcwinResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__gcwinResponse(struct soap*, const struct ns1__gcwinResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__gcwinResponse(struct soap*, const char*, int, const struct ns1__gcwinResponse *, const char*);
+SOAP_FMAC3 struct ns1__gcwinResponse * SOAP_FMAC4 soap_in_ns1__gcwinResponse(struct soap*, const char*, struct ns1__gcwinResponse *, const char*);
+
+#ifndef soap_write_ns1__gcwinResponse
+#define soap_write_ns1__gcwinResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__gcwinResponse(soap, data), 0) || soap_put_ns1__gcwinResponse(soap, data, "ns1:gcwinResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__gcwinResponse(struct soap*, const struct ns1__gcwinResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__gcwinResponse
+#define soap_read_ns1__gcwinResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__gcwinResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__gcwinResponse * SOAP_FMAC4 soap_get_ns1__gcwinResponse(struct soap*, struct ns1__gcwinResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__find_USCOREpattern
+#define SOAP_TYPE_ns1__find_USCOREpattern (337)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREpattern(struct soap*, struct ns1__find_USCOREpattern *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREpattern(struct soap*, const struct ns1__find_USCOREpattern *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREpattern(struct soap*, const char*, int, const struct ns1__find_USCOREpattern *, const char*);
+SOAP_FMAC3 struct ns1__find_USCOREpattern * SOAP_FMAC4 soap_in_ns1__find_USCOREpattern(struct soap*, const char*, struct ns1__find_USCOREpattern *, const char*);
+
+#ifndef soap_write_ns1__find_USCOREpattern
+#define soap_write_ns1__find_USCOREpattern(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__find_USCOREpattern(soap, data), 0) || soap_put_ns1__find_USCOREpattern(soap, data, "ns1:find_pattern", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREpattern(struct soap*, const struct ns1__find_USCOREpattern *, const char*, const char*);
+
+#ifndef soap_read_ns1__find_USCOREpattern
+#define soap_read_ns1__find_USCOREpattern(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__find_USCOREpattern(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREpattern * SOAP_FMAC4 soap_get_ns1__find_USCOREpattern(struct soap*, struct ns1__find_USCOREpattern *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__find_USCOREpatternResponse
+#define SOAP_TYPE_ns1__find_USCOREpatternResponse (336)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREpatternResponse(struct soap*, struct ns1__find_USCOREpatternResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREpatternResponse(struct soap*, const struct ns1__find_USCOREpatternResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREpatternResponse(struct soap*, const char*, int, const struct ns1__find_USCOREpatternResponse *, const char*);
+SOAP_FMAC3 struct ns1__find_USCOREpatternResponse * SOAP_FMAC4 soap_in_ns1__find_USCOREpatternResponse(struct soap*, const char*, struct ns1__find_USCOREpatternResponse *, const char*);
+
+#ifndef soap_write_ns1__find_USCOREpatternResponse
+#define soap_write_ns1__find_USCOREpatternResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__find_USCOREpatternResponse(soap, data), 0) || soap_put_ns1__find_USCOREpatternResponse(soap, data, "ns1:find_patternResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREpatternResponse(struct soap*, const struct ns1__find_USCOREpatternResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__find_USCOREpatternResponse
+#define soap_read_ns1__find_USCOREpatternResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__find_USCOREpatternResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREpatternResponse * SOAP_FMAC4 soap_get_ns1__find_USCOREpatternResponse(struct soap*, struct ns1__find_USCOREpatternResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__oligomer_USCOREsearch
+#define SOAP_TYPE_ns1__oligomer_USCOREsearch (333)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__oligomer_USCOREsearch(struct soap*, struct ns1__oligomer_USCOREsearch *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__oligomer_USCOREsearch(struct soap*, const struct ns1__oligomer_USCOREsearch *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__oligomer_USCOREsearch(struct soap*, const char*, int, const struct ns1__oligomer_USCOREsearch *, const char*);
+SOAP_FMAC3 struct ns1__oligomer_USCOREsearch * SOAP_FMAC4 soap_in_ns1__oligomer_USCOREsearch(struct soap*, const char*, struct ns1__oligomer_USCOREsearch *, const char*);
+
+#ifndef soap_write_ns1__oligomer_USCOREsearch
+#define soap_write_ns1__oligomer_USCOREsearch(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__oligomer_USCOREsearch(soap, data), 0) || soap_put_ns1__oligomer_USCOREsearch(soap, data, "ns1:oligomer_search", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__oligomer_USCOREsearch(struct soap*, const struct ns1__oligomer_USCOREsearch *, const char*, const char*);
+
+#ifndef soap_read_ns1__oligomer_USCOREsearch
+#define soap_read_ns1__oligomer_USCOREsearch(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__oligomer_USCOREsearch(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREsearch * SOAP_FMAC4 soap_get_ns1__oligomer_USCOREsearch(struct soap*, struct ns1__oligomer_USCOREsearch *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__oligomer_USCOREsearchResponse
+#define SOAP_TYPE_ns1__oligomer_USCOREsearchResponse (329)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__oligomer_USCOREsearchResponse(struct soap*, struct ns1__oligomer_USCOREsearchResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__oligomer_USCOREsearchResponse(struct soap*, const struct ns1__oligomer_USCOREsearchResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__oligomer_USCOREsearchResponse(struct soap*, const char*, int, const struct ns1__oligomer_USCOREsearchResponse *, const char*);
+SOAP_FMAC3 struct ns1__oligomer_USCOREsearchResponse * SOAP_FMAC4 soap_in_ns1__oligomer_USCOREsearchResponse(struct soap*, const char*, struct ns1__oligomer_USCOREsearchResponse *, const char*);
+
+#ifndef soap_write_ns1__oligomer_USCOREsearchResponse
+#define soap_write_ns1__oligomer_USCOREsearchResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__oligomer_USCOREsearchResponse(soap, data), 0) || soap_put_ns1__oligomer_USCOREsearchResponse(soap, data, "ns1:oligomer_searchResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__oligomer_USCOREsearchResponse(struct soap*, const struct ns1__oligomer_USCOREsearchResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__oligomer_USCOREsearchResponse
+#define soap_read_ns1__oligomer_USCOREsearchResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__oligomer_USCOREsearchResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREsearchResponse * SOAP_FMAC4 soap_get_ns1__oligomer_USCOREsearchResponse(struct soap*, struct ns1__oligomer_USCOREsearchResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__shuffleseq
+#define SOAP_TYPE_ns1__shuffleseq (328)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__shuffleseq(struct soap*, struct ns1__shuffleseq *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__shuffleseq(struct soap*, const struct ns1__shuffleseq *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__shuffleseq(struct soap*, const char*, int, const struct ns1__shuffleseq *, const char*);
+SOAP_FMAC3 struct ns1__shuffleseq * SOAP_FMAC4 soap_in_ns1__shuffleseq(struct soap*, const char*, struct ns1__shuffleseq *, const char*);
+
+#ifndef soap_write_ns1__shuffleseq
+#define soap_write_ns1__shuffleseq(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__shuffleseq(soap, data), 0) || soap_put_ns1__shuffleseq(soap, data, "ns1:shuffleseq", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__shuffleseq(struct soap*, const struct ns1__shuffleseq *, const char*, const char*);
+
+#ifndef soap_read_ns1__shuffleseq
+#define soap_read_ns1__shuffleseq(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__shuffleseq(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__shuffleseq * SOAP_FMAC4 soap_get_ns1__shuffleseq(struct soap*, struct ns1__shuffleseq *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__shuffleseqResponse
+#define SOAP_TYPE_ns1__shuffleseqResponse (327)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__shuffleseqResponse(struct soap*, struct ns1__shuffleseqResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__shuffleseqResponse(struct soap*, const struct ns1__shuffleseqResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__shuffleseqResponse(struct soap*, const char*, int, const struct ns1__shuffleseqResponse *, const char*);
+SOAP_FMAC3 struct ns1__shuffleseqResponse * SOAP_FMAC4 soap_in_ns1__shuffleseqResponse(struct soap*, const char*, struct ns1__shuffleseqResponse *, const char*);
+
+#ifndef soap_write_ns1__shuffleseqResponse
+#define soap_write_ns1__shuffleseqResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__shuffleseqResponse(soap, data), 0) || soap_put_ns1__shuffleseqResponse(soap, data, "ns1:shuffleseqResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__shuffleseqResponse(struct soap*, const struct ns1__shuffleseqResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__shuffleseqResponse
+#define soap_read_ns1__shuffleseqResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__shuffleseqResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__shuffleseqResponse * SOAP_FMAC4 soap_get_ns1__shuffleseqResponse(struct soap*, struct ns1__shuffleseqResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__find_USCOREter
+#define SOAP_TYPE_ns1__find_USCOREter (324)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREter(struct soap*, struct ns1__find_USCOREter *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREter(struct soap*, const struct ns1__find_USCOREter *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREter(struct soap*, const char*, int, const struct ns1__find_USCOREter *, const char*);
+SOAP_FMAC3 struct ns1__find_USCOREter * SOAP_FMAC4 soap_in_ns1__find_USCOREter(struct soap*, const char*, struct ns1__find_USCOREter *, const char*);
+
+#ifndef soap_write_ns1__find_USCOREter
+#define soap_write_ns1__find_USCOREter(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__find_USCOREter(soap, data), 0) || soap_put_ns1__find_USCOREter(soap, data, "ns1:find_ter", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREter(struct soap*, const struct ns1__find_USCOREter *, const char*, const char*);
+
+#ifndef soap_read_ns1__find_USCOREter
+#define soap_read_ns1__find_USCOREter(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__find_USCOREter(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREter * SOAP_FMAC4 soap_get_ns1__find_USCOREter(struct soap*, struct ns1__find_USCOREter *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__find_USCOREterResponse
+#define SOAP_TYPE_ns1__find_USCOREterResponse (320)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREterResponse(struct soap*, struct ns1__find_USCOREterResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREterResponse(struct soap*, const struct ns1__find_USCOREterResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREterResponse(struct soap*, const char*, int, const struct ns1__find_USCOREterResponse *, const char*);
+SOAP_FMAC3 struct ns1__find_USCOREterResponse * SOAP_FMAC4 soap_in_ns1__find_USCOREterResponse(struct soap*, const char*, struct ns1__find_USCOREterResponse *, const char*);
+
+#ifndef soap_write_ns1__find_USCOREterResponse
+#define soap_write_ns1__find_USCOREterResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__find_USCOREterResponse(soap, data), 0) || soap_put_ns1__find_USCOREterResponse(soap, data, "ns1:find_terResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREterResponse(struct soap*, const struct ns1__find_USCOREterResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__find_USCOREterResponse
+#define soap_read_ns1__find_USCOREterResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__find_USCOREterResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREterResponse * SOAP_FMAC4 soap_get_ns1__find_USCOREterResponse(struct soap*, struct ns1__find_USCOREterResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__dnawalk
+#define SOAP_TYPE_ns1__dnawalk (319)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__dnawalk(struct soap*, struct ns1__dnawalk *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__dnawalk(struct soap*, const struct ns1__dnawalk *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__dnawalk(struct soap*, const char*, int, const struct ns1__dnawalk *, const char*);
+SOAP_FMAC3 struct ns1__dnawalk * SOAP_FMAC4 soap_in_ns1__dnawalk(struct soap*, const char*, struct ns1__dnawalk *, const char*);
+
+#ifndef soap_write_ns1__dnawalk
+#define soap_write_ns1__dnawalk(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__dnawalk(soap, data), 0) || soap_put_ns1__dnawalk(soap, data, "ns1:dnawalk", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__dnawalk(struct soap*, const struct ns1__dnawalk *, const char*, const char*);
+
+#ifndef soap_read_ns1__dnawalk
+#define soap_read_ns1__dnawalk(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__dnawalk(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__dnawalk * SOAP_FMAC4 soap_get_ns1__dnawalk(struct soap*, struct ns1__dnawalk *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__dnawalkResponse
+#define SOAP_TYPE_ns1__dnawalkResponse (318)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__dnawalkResponse(struct soap*, struct ns1__dnawalkResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__dnawalkResponse(struct soap*, const struct ns1__dnawalkResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__dnawalkResponse(struct soap*, const char*, int, const struct ns1__dnawalkResponse *, const char*);
+SOAP_FMAC3 struct ns1__dnawalkResponse * SOAP_FMAC4 soap_in_ns1__dnawalkResponse(struct soap*, const char*, struct ns1__dnawalkResponse *, const char*);
+
+#ifndef soap_write_ns1__dnawalkResponse
+#define soap_write_ns1__dnawalkResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__dnawalkResponse(soap, data), 0) || soap_put_ns1__dnawalkResponse(soap, data, "ns1:dnawalkResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__dnawalkResponse(struct soap*, const struct ns1__dnawalkResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__dnawalkResponse
+#define soap_read_ns1__dnawalkResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__dnawalkResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__dnawalkResponse * SOAP_FMAC4 soap_get_ns1__dnawalkResponse(struct soap*, struct ns1__dnawalkResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontent
+#define SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontent (315)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREinformation_USCOREcontent(struct soap*, struct ns1__base_USCOREinformation_USCOREcontent *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREinformation_USCOREcontent(struct soap*, const struct ns1__base_USCOREinformation_USCOREcontent *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREinformation_USCOREcontent(struct soap*, const char*, int, const struct ns1__base_USCOREinformation_USCOREcontent *, const char*);
+SOAP_FMAC3 struct ns1__base_USCOREinformation_USCOREcontent * SOAP_FMAC4 soap_in_ns1__base_USCOREinformation_USCOREcontent(struct soap*, const char*, struct ns1__base_USCOREinformation_USCOREcontent *, const char*);
+
+#ifndef soap_write_ns1__base_USCOREinformation_USCOREcontent
+#define soap_write_ns1__base_USCOREinformation_USCOREcontent(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__base_USCOREinformation_USCOREcontent(soap, data), 0) || soap_put_ns1__base_USCOREinformation_USCOREcontent(soap, data, "ns1:base_information_content", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREinformation_USCOREcontent(struct soap*, const struct ns1__base_USCOREinformation_USCOREcontent *, const char*, const char*);
+
+#ifndef soap_read_ns1__base_USCOREinformation_USCOREcontent
+#define soap_read_ns1__base_USCOREinformation_USCOREcontent(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__base_USCOREinformation_USCOREcontent(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__base_USCOREinformation_USCOREcontent * SOAP_FMAC4 soap_get_ns1__base_USCOREinformation_USCOREcontent(struct soap*, struct ns1__base_USCOREinformation_USCOREcontent *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentResponse
+#define SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentResponse (314)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREinformation_USCOREcontentResponse(struct soap*, struct ns1__base_USCOREinformation_USCOREcontentResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREinformation_USCOREcontentResponse(struct soap*, const struct ns1__base_USCOREinformation_USCOREcontentResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREinformation_USCOREcontentResponse(struct soap*, const char*, int, const struct ns1__base_USCOREinformation_USCOREcontentResponse *, const char*);
+SOAP_FMAC3 struct ns1__base_USCOREinformation_USCOREcontentResponse * SOAP_FMAC4 soap_in_ns1__base_USCOREinformation_USCOREcontentResponse(struct soap*, const char*, struct ns1__base_USCOREinformation_USCOREcontentResponse *, const char*);
+
+#ifndef soap_write_ns1__base_USCOREinformation_USCOREcontentResponse
+#define soap_write_ns1__base_USCOREinformation_USCOREcontentResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__base_USCOREinformation_USCOREcontentResponse(soap, data), 0) || soap_put_ns1__base_USCOREinformation_USCOREcontentResponse(soap, data, "ns1:base_information_contentResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREinformation_USCOREcontentResponse(struct soap*, const struct ns1__base_USCOREinformation_USCOREcontentResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__base_USCOREinformation_USCOREcontentResponse
+#define soap_read_ns1__base_USCOREinformation_USCOREcontentResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__base_USCOREinformation_USCOREcontentResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__base_USCOREinformation_USCOREcontentResponse * SOAP_FMAC4 soap_get_ns1__base_USCOREinformation_USCOREcontentResponse(struct soap*, struct ns1__base_USCOREinformation_USCOREcontentResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__signature
+#define SOAP_TYPE_ns1__signature (311)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__signature(struct soap*, struct ns1__signature *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__signature(struct soap*, const struct ns1__signature *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__signature(struct soap*, const char*, int, const struct ns1__signature *, const char*);
+SOAP_FMAC3 struct ns1__signature * SOAP_FMAC4 soap_in_ns1__signature(struct soap*, const char*, struct ns1__signature *, const char*);
+
+#ifndef soap_write_ns1__signature
+#define soap_write_ns1__signature(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__signature(soap, data), 0) || soap_put_ns1__signature(soap, data, "ns1:signature", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__signature(struct soap*, const struct ns1__signature *, const char*, const char*);
+
+#ifndef soap_read_ns1__signature
+#define soap_read_ns1__signature(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__signature(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__signature * SOAP_FMAC4 soap_get_ns1__signature(struct soap*, struct ns1__signature *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__signatureResponse
+#define SOAP_TYPE_ns1__signatureResponse (310)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__signatureResponse(struct soap*, struct ns1__signatureResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__signatureResponse(struct soap*, const struct ns1__signatureResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__signatureResponse(struct soap*, const char*, int, const struct ns1__signatureResponse *, const char*);
+SOAP_FMAC3 struct ns1__signatureResponse * SOAP_FMAC4 soap_in_ns1__signatureResponse(struct soap*, const char*, struct ns1__signatureResponse *, const char*);
+
+#ifndef soap_write_ns1__signatureResponse
+#define soap_write_ns1__signatureResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__signatureResponse(soap, data), 0) || soap_put_ns1__signatureResponse(soap, data, "ns1:signatureResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__signatureResponse(struct soap*, const struct ns1__signatureResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__signatureResponse
+#define soap_read_ns1__signatureResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__signatureResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__signatureResponse * SOAP_FMAC4 soap_get_ns1__signatureResponse(struct soap*, struct ns1__signatureResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__seqinfo
+#define SOAP_TYPE_ns1__seqinfo (307)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__seqinfo(struct soap*, struct ns1__seqinfo *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__seqinfo(struct soap*, const struct ns1__seqinfo *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__seqinfo(struct soap*, const char*, int, const struct ns1__seqinfo *, const char*);
+SOAP_FMAC3 struct ns1__seqinfo * SOAP_FMAC4 soap_in_ns1__seqinfo(struct soap*, const char*, struct ns1__seqinfo *, const char*);
+
+#ifndef soap_write_ns1__seqinfo
+#define soap_write_ns1__seqinfo(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__seqinfo(soap, data), 0) || soap_put_ns1__seqinfo(soap, data, "ns1:seqinfo", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__seqinfo(struct soap*, const struct ns1__seqinfo *, const char*, const char*);
+
+#ifndef soap_read_ns1__seqinfo
+#define soap_read_ns1__seqinfo(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__seqinfo(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__seqinfo * SOAP_FMAC4 soap_get_ns1__seqinfo(struct soap*, struct ns1__seqinfo *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__seqinfoResponse
+#define SOAP_TYPE_ns1__seqinfoResponse (306)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__seqinfoResponse(struct soap*, struct ns1__seqinfoResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__seqinfoResponse(struct soap*, const struct ns1__seqinfoResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__seqinfoResponse(struct soap*, const char*, int, const struct ns1__seqinfoResponse *, const char*);
+SOAP_FMAC3 struct ns1__seqinfoResponse * SOAP_FMAC4 soap_in_ns1__seqinfoResponse(struct soap*, const char*, struct ns1__seqinfoResponse *, const char*);
+
+#ifndef soap_write_ns1__seqinfoResponse
+#define soap_write_ns1__seqinfoResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__seqinfoResponse(soap, data), 0) || soap_put_ns1__seqinfoResponse(soap, data, "ns1:seqinfoResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__seqinfoResponse(struct soap*, const struct ns1__seqinfoResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__seqinfoResponse
+#define soap_read_ns1__seqinfoResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__seqinfoResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__seqinfoResponse * SOAP_FMAC4 soap_get_ns1__seqinfoResponse(struct soap*, struct ns1__seqinfoResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__genome_USCOREmap3
+#define SOAP_TYPE_ns1__genome_USCOREmap3 (304)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genome_USCOREmap3(struct soap*, struct ns1__genome_USCOREmap3 *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genome_USCOREmap3(struct soap*, const struct ns1__genome_USCOREmap3 *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genome_USCOREmap3(struct soap*, const char*, int, const struct ns1__genome_USCOREmap3 *, const char*);
+SOAP_FMAC3 struct ns1__genome_USCOREmap3 * SOAP_FMAC4 soap_in_ns1__genome_USCOREmap3(struct soap*, const char*, struct ns1__genome_USCOREmap3 *, const char*);
+
+#ifndef soap_write_ns1__genome_USCOREmap3
+#define soap_write_ns1__genome_USCOREmap3(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__genome_USCOREmap3(soap, data), 0) || soap_put_ns1__genome_USCOREmap3(soap, data, "ns1:genome_map3", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genome_USCOREmap3(struct soap*, const struct ns1__genome_USCOREmap3 *, const char*, const char*);
+
+#ifndef soap_read_ns1__genome_USCOREmap3
+#define soap_read_ns1__genome_USCOREmap3(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__genome_USCOREmap3(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__genome_USCOREmap3 * SOAP_FMAC4 soap_get_ns1__genome_USCOREmap3(struct soap*, struct ns1__genome_USCOREmap3 *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__genome_USCOREmap3Response
+#define SOAP_TYPE_ns1__genome_USCOREmap3Response (303)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genome_USCOREmap3Response(struct soap*, struct ns1__genome_USCOREmap3Response *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genome_USCOREmap3Response(struct soap*, const struct ns1__genome_USCOREmap3Response *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genome_USCOREmap3Response(struct soap*, const char*, int, const struct ns1__genome_USCOREmap3Response *, const char*);
+SOAP_FMAC3 struct ns1__genome_USCOREmap3Response * SOAP_FMAC4 soap_in_ns1__genome_USCOREmap3Response(struct soap*, const char*, struct ns1__genome_USCOREmap3Response *, const char*);
+
+#ifndef soap_write_ns1__genome_USCOREmap3Response
+#define soap_write_ns1__genome_USCOREmap3Response(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__genome_USCOREmap3Response(soap, data), 0) || soap_put_ns1__genome_USCOREmap3Response(soap, data, "ns1:genome_map3Response", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genome_USCOREmap3Response(struct soap*, const struct ns1__genome_USCOREmap3Response *, const char*, const char*);
+
+#ifndef soap_read_ns1__genome_USCOREmap3Response
+#define soap_read_ns1__genome_USCOREmap3Response(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__genome_USCOREmap3Response(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__genome_USCOREmap3Response * SOAP_FMAC4 soap_get_ns1__genome_USCOREmap3Response(struct soap*, struct ns1__genome_USCOREmap3Response *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__gcskew
+#define SOAP_TYPE_ns1__gcskew (300)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__gcskew(struct soap*, struct ns1__gcskew *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__gcskew(struct soap*, const struct ns1__gcskew *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__gcskew(struct soap*, const char*, int, const struct ns1__gcskew *, const char*);
+SOAP_FMAC3 struct ns1__gcskew * SOAP_FMAC4 soap_in_ns1__gcskew(struct soap*, const char*, struct ns1__gcskew *, const char*);
+
+#ifndef soap_write_ns1__gcskew
+#define soap_write_ns1__gcskew(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__gcskew(soap, data), 0) || soap_put_ns1__gcskew(soap, data, "ns1:gcskew", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__gcskew(struct soap*, const struct ns1__gcskew *, const char*, const char*);
+
+#ifndef soap_read_ns1__gcskew
+#define soap_read_ns1__gcskew(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__gcskew(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__gcskew * SOAP_FMAC4 soap_get_ns1__gcskew(struct soap*, struct ns1__gcskew *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__gcskewResponse
+#define SOAP_TYPE_ns1__gcskewResponse (299)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__gcskewResponse(struct soap*, struct ns1__gcskewResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__gcskewResponse(struct soap*, const struct ns1__gcskewResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__gcskewResponse(struct soap*, const char*, int, const struct ns1__gcskewResponse *, const char*);
+SOAP_FMAC3 struct ns1__gcskewResponse * SOAP_FMAC4 soap_in_ns1__gcskewResponse(struct soap*, const char*, struct ns1__gcskewResponse *, const char*);
+
+#ifndef soap_write_ns1__gcskewResponse
+#define soap_write_ns1__gcskewResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__gcskewResponse(soap, data), 0) || soap_put_ns1__gcskewResponse(soap, data, "ns1:gcskewResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__gcskewResponse(struct soap*, const struct ns1__gcskewResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__gcskewResponse
+#define soap_read_ns1__gcskewResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__gcskewResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__gcskewResponse * SOAP_FMAC4 soap_get_ns1__gcskewResponse(struct soap*, struct ns1__gcskewResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__molecular_USCOREweight
+#define SOAP_TYPE_ns1__molecular_USCOREweight (296)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__molecular_USCOREweight(struct soap*, struct ns1__molecular_USCOREweight *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__molecular_USCOREweight(struct soap*, const struct ns1__molecular_USCOREweight *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__molecular_USCOREweight(struct soap*, const char*, int, const struct ns1__molecular_USCOREweight *, const char*);
+SOAP_FMAC3 struct ns1__molecular_USCOREweight * SOAP_FMAC4 soap_in_ns1__molecular_USCOREweight(struct soap*, const char*, struct ns1__molecular_USCOREweight *, const char*);
+
+#ifndef soap_write_ns1__molecular_USCOREweight
+#define soap_write_ns1__molecular_USCOREweight(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__molecular_USCOREweight(soap, data), 0) || soap_put_ns1__molecular_USCOREweight(soap, data, "ns1:molecular_weight", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__molecular_USCOREweight(struct soap*, const struct ns1__molecular_USCOREweight *, const char*, const char*);
+
+#ifndef soap_read_ns1__molecular_USCOREweight
+#define soap_read_ns1__molecular_USCOREweight(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__molecular_USCOREweight(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__molecular_USCOREweight * SOAP_FMAC4 soap_get_ns1__molecular_USCOREweight(struct soap*, struct ns1__molecular_USCOREweight *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__molecular_USCOREweightResponse
+#define SOAP_TYPE_ns1__molecular_USCOREweightResponse (295)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__molecular_USCOREweightResponse(struct soap*, struct ns1__molecular_USCOREweightResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__molecular_USCOREweightResponse(struct soap*, const struct ns1__molecular_USCOREweightResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__molecular_USCOREweightResponse(struct soap*, const char*, int, const struct ns1__molecular_USCOREweightResponse *, const char*);
+SOAP_FMAC3 struct ns1__molecular_USCOREweightResponse * SOAP_FMAC4 soap_in_ns1__molecular_USCOREweightResponse(struct soap*, const char*, struct ns1__molecular_USCOREweightResponse *, const char*);
+
+#ifndef soap_write_ns1__molecular_USCOREweightResponse
+#define soap_write_ns1__molecular_USCOREweightResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__molecular_USCOREweightResponse(soap, data), 0) || soap_put_ns1__molecular_USCOREweightResponse(soap, data, "ns1:molecular_weightResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__molecular_USCOREweightResponse(struct soap*, const struct ns1__molecular_USCOREweightResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__molecular_USCOREweightResponse
+#define soap_read_ns1__molecular_USCOREweightResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__molecular_USCOREweightResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__molecular_USCOREweightResponse * SOAP_FMAC4 soap_get_ns1__molecular_USCOREweightResponse(struct soap*, struct ns1__molecular_USCOREweightResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__delta_USCOREgcskew
+#define SOAP_TYPE_ns1__delta_USCOREgcskew (292)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__delta_USCOREgcskew(struct soap*, struct ns1__delta_USCOREgcskew *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__delta_USCOREgcskew(struct soap*, const struct ns1__delta_USCOREgcskew *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__delta_USCOREgcskew(struct soap*, const char*, int, const struct ns1__delta_USCOREgcskew *, const char*);
+SOAP_FMAC3 struct ns1__delta_USCOREgcskew * SOAP_FMAC4 soap_in_ns1__delta_USCOREgcskew(struct soap*, const char*, struct ns1__delta_USCOREgcskew *, const char*);
+
+#ifndef soap_write_ns1__delta_USCOREgcskew
+#define soap_write_ns1__delta_USCOREgcskew(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__delta_USCOREgcskew(soap, data), 0) || soap_put_ns1__delta_USCOREgcskew(soap, data, "ns1:delta_gcskew", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__delta_USCOREgcskew(struct soap*, const struct ns1__delta_USCOREgcskew *, const char*, const char*);
+
+#ifndef soap_read_ns1__delta_USCOREgcskew
+#define soap_read_ns1__delta_USCOREgcskew(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__delta_USCOREgcskew(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__delta_USCOREgcskew * SOAP_FMAC4 soap_get_ns1__delta_USCOREgcskew(struct soap*, struct ns1__delta_USCOREgcskew *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__delta_USCOREgcskewResponse
+#define SOAP_TYPE_ns1__delta_USCOREgcskewResponse (291)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__delta_USCOREgcskewResponse(struct soap*, struct ns1__delta_USCOREgcskewResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__delta_USCOREgcskewResponse(struct soap*, const struct ns1__delta_USCOREgcskewResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__delta_USCOREgcskewResponse(struct soap*, const char*, int, const struct ns1__delta_USCOREgcskewResponse *, const char*);
+SOAP_FMAC3 struct ns1__delta_USCOREgcskewResponse * SOAP_FMAC4 soap_in_ns1__delta_USCOREgcskewResponse(struct soap*, const char*, struct ns1__delta_USCOREgcskewResponse *, const char*);
+
+#ifndef soap_write_ns1__delta_USCOREgcskewResponse
+#define soap_write_ns1__delta_USCOREgcskewResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__delta_USCOREgcskewResponse(soap, data), 0) || soap_put_ns1__delta_USCOREgcskewResponse(soap, data, "ns1:delta_gcskewResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__delta_USCOREgcskewResponse(struct soap*, const struct ns1__delta_USCOREgcskewResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__delta_USCOREgcskewResponse
+#define soap_read_ns1__delta_USCOREgcskewResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__delta_USCOREgcskewResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__delta_USCOREgcskewResponse * SOAP_FMAC4 soap_get_ns1__delta_USCOREgcskewResponse(struct soap*, struct ns1__delta_USCOREgcskewResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__delta_USCOREenc
+#define SOAP_TYPE_ns1__delta_USCOREenc (288)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__delta_USCOREenc(struct soap*, struct ns1__delta_USCOREenc *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__delta_USCOREenc(struct soap*, const struct ns1__delta_USCOREenc *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__delta_USCOREenc(struct soap*, const char*, int, const struct ns1__delta_USCOREenc *, const char*);
+SOAP_FMAC3 struct ns1__delta_USCOREenc * SOAP_FMAC4 soap_in_ns1__delta_USCOREenc(struct soap*, const char*, struct ns1__delta_USCOREenc *, const char*);
+
+#ifndef soap_write_ns1__delta_USCOREenc
+#define soap_write_ns1__delta_USCOREenc(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__delta_USCOREenc(soap, data), 0) || soap_put_ns1__delta_USCOREenc(soap, data, "ns1:delta_enc", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__delta_USCOREenc(struct soap*, const struct ns1__delta_USCOREenc *, const char*, const char*);
+
+#ifndef soap_read_ns1__delta_USCOREenc
+#define soap_read_ns1__delta_USCOREenc(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__delta_USCOREenc(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__delta_USCOREenc * SOAP_FMAC4 soap_get_ns1__delta_USCOREenc(struct soap*, struct ns1__delta_USCOREenc *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__delta_USCOREencResponse
+#define SOAP_TYPE_ns1__delta_USCOREencResponse (287)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__delta_USCOREencResponse(struct soap*, struct ns1__delta_USCOREencResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__delta_USCOREencResponse(struct soap*, const struct ns1__delta_USCOREencResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__delta_USCOREencResponse(struct soap*, const char*, int, const struct ns1__delta_USCOREencResponse *, const char*);
+SOAP_FMAC3 struct ns1__delta_USCOREencResponse * SOAP_FMAC4 soap_in_ns1__delta_USCOREencResponse(struct soap*, const char*, struct ns1__delta_USCOREencResponse *, const char*);
+
+#ifndef soap_write_ns1__delta_USCOREencResponse
+#define soap_write_ns1__delta_USCOREencResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__delta_USCOREencResponse(soap, data), 0) || soap_put_ns1__delta_USCOREencResponse(soap, data, "ns1:delta_encResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__delta_USCOREencResponse(struct soap*, const struct ns1__delta_USCOREencResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__delta_USCOREencResponse
+#define soap_read_ns1__delta_USCOREencResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__delta_USCOREencResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__delta_USCOREencResponse * SOAP_FMAC4 soap_get_ns1__delta_USCOREencResponse(struct soap*, struct ns1__delta_USCOREencResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__cumulative
+#define SOAP_TYPE_ns1__cumulative (285)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__cumulative(struct soap*, struct ns1__cumulative *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__cumulative(struct soap*, const struct ns1__cumulative *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__cumulative(struct soap*, const char*, int, const struct ns1__cumulative *, const char*);
+SOAP_FMAC3 struct ns1__cumulative * SOAP_FMAC4 soap_in_ns1__cumulative(struct soap*, const char*, struct ns1__cumulative *, const char*);
+
+#ifndef soap_write_ns1__cumulative
+#define soap_write_ns1__cumulative(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__cumulative(soap, data), 0) || soap_put_ns1__cumulative(soap, data, "ns1:cumulative", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__cumulative(struct soap*, const struct ns1__cumulative *, const char*, const char*);
+
+#ifndef soap_read_ns1__cumulative
+#define soap_read_ns1__cumulative(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__cumulative(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__cumulative * SOAP_FMAC4 soap_get_ns1__cumulative(struct soap*, struct ns1__cumulative *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__cumulativeResponse
+#define SOAP_TYPE_ns1__cumulativeResponse (282)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__cumulativeResponse(struct soap*, struct ns1__cumulativeResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__cumulativeResponse(struct soap*, const struct ns1__cumulativeResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__cumulativeResponse(struct soap*, const char*, int, const struct ns1__cumulativeResponse *, const char*);
+SOAP_FMAC3 struct ns1__cumulativeResponse * SOAP_FMAC4 soap_in_ns1__cumulativeResponse(struct soap*, const char*, struct ns1__cumulativeResponse *, const char*);
+
+#ifndef soap_write_ns1__cumulativeResponse
+#define soap_write_ns1__cumulativeResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__cumulativeResponse(soap, data), 0) || soap_put_ns1__cumulativeResponse(soap, data, "ns1:cumulativeResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__cumulativeResponse(struct soap*, const struct ns1__cumulativeResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__cumulativeResponse
+#define soap_read_ns1__cumulativeResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__cumulativeResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__cumulativeResponse * SOAP_FMAC4 soap_get_ns1__cumulativeResponse(struct soap*, struct ns1__cumulativeResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__cor
+#define SOAP_TYPE_ns1__cor (281)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__cor(struct soap*, struct ns1__cor *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__cor(struct soap*, const struct ns1__cor *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__cor(struct soap*, const char*, int, const struct ns1__cor *, const char*);
+SOAP_FMAC3 struct ns1__cor * SOAP_FMAC4 soap_in_ns1__cor(struct soap*, const char*, struct ns1__cor *, const char*);
+
+#ifndef soap_write_ns1__cor
+#define soap_write_ns1__cor(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__cor(soap, data), 0) || soap_put_ns1__cor(soap, data, "ns1:cor", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__cor(struct soap*, const struct ns1__cor *, const char*, const char*);
+
+#ifndef soap_read_ns1__cor
+#define soap_read_ns1__cor(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__cor(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__cor * SOAP_FMAC4 soap_get_ns1__cor(struct soap*, struct ns1__cor *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__corResponse
+#define SOAP_TYPE_ns1__corResponse (277)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__corResponse(struct soap*, struct ns1__corResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__corResponse(struct soap*, const struct ns1__corResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__corResponse(struct soap*, const char*, int, const struct ns1__corResponse *, const char*);
+SOAP_FMAC3 struct ns1__corResponse * SOAP_FMAC4 soap_in_ns1__corResponse(struct soap*, const char*, struct ns1__corResponse *, const char*);
+
+#ifndef soap_write_ns1__corResponse
+#define soap_write_ns1__corResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__corResponse(soap, data), 0) || soap_put_ns1__corResponse(soap, data, "ns1:corResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__corResponse(struct soap*, const struct ns1__corResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__corResponse
+#define soap_read_ns1__corResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__corResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__corResponse * SOAP_FMAC4 soap_get_ns1__corResponse(struct soap*, struct ns1__corResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__standard_USCOREdeviation
+#define SOAP_TYPE_ns1__standard_USCOREdeviation (276)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__standard_USCOREdeviation(struct soap*, struct ns1__standard_USCOREdeviation *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__standard_USCOREdeviation(struct soap*, const struct ns1__standard_USCOREdeviation *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__standard_USCOREdeviation(struct soap*, const char*, int, const struct ns1__standard_USCOREdeviation *, const char*);
+SOAP_FMAC3 struct ns1__standard_USCOREdeviation * SOAP_FMAC4 soap_in_ns1__standard_USCOREdeviation(struct soap*, const char*, struct ns1__standard_USCOREdeviation *, const char*);
+
+#ifndef soap_write_ns1__standard_USCOREdeviation
+#define soap_write_ns1__standard_USCOREdeviation(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__standard_USCOREdeviation(soap, data), 0) || soap_put_ns1__standard_USCOREdeviation(soap, data, "ns1:standard_deviation", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__standard_USCOREdeviation(struct soap*, const struct ns1__standard_USCOREdeviation *, const char*, const char*);
+
+#ifndef soap_read_ns1__standard_USCOREdeviation
+#define soap_read_ns1__standard_USCOREdeviation(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__standard_USCOREdeviation(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__standard_USCOREdeviation * SOAP_FMAC4 soap_get_ns1__standard_USCOREdeviation(struct soap*, struct ns1__standard_USCOREdeviation *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__standard_USCOREdeviationResponse
+#define SOAP_TYPE_ns1__standard_USCOREdeviationResponse (275)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__standard_USCOREdeviationResponse(struct soap*, struct ns1__standard_USCOREdeviationResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__standard_USCOREdeviationResponse(struct soap*, const struct ns1__standard_USCOREdeviationResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__standard_USCOREdeviationResponse(struct soap*, const char*, int, const struct ns1__standard_USCOREdeviationResponse *, const char*);
+SOAP_FMAC3 struct ns1__standard_USCOREdeviationResponse * SOAP_FMAC4 soap_in_ns1__standard_USCOREdeviationResponse(struct soap*, const char*, struct ns1__standard_USCOREdeviationResponse *, const char*);
+
+#ifndef soap_write_ns1__standard_USCOREdeviationResponse
+#define soap_write_ns1__standard_USCOREdeviationResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__standard_USCOREdeviationResponse(soap, data), 0) || soap_put_ns1__standard_USCOREdeviationResponse(soap, data, "ns1:standard_deviationResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__standard_USCOREdeviationResponse(struct soap*, const struct ns1__standard_USCOREdeviationResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__standard_USCOREdeviationResponse
+#define soap_read_ns1__standard_USCOREdeviationResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__standard_USCOREdeviationResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__standard_USCOREdeviationResponse * SOAP_FMAC4 soap_get_ns1__standard_USCOREdeviationResponse(struct soap*, struct ns1__standard_USCOREdeviationResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__geneskew
+#define SOAP_TYPE_ns1__geneskew (273)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__geneskew(struct soap*, struct ns1__geneskew *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__geneskew(struct soap*, const struct ns1__geneskew *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__geneskew(struct soap*, const char*, int, const struct ns1__geneskew *, const char*);
+SOAP_FMAC3 struct ns1__geneskew * SOAP_FMAC4 soap_in_ns1__geneskew(struct soap*, const char*, struct ns1__geneskew *, const char*);
+
+#ifndef soap_write_ns1__geneskew
+#define soap_write_ns1__geneskew(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__geneskew(soap, data), 0) || soap_put_ns1__geneskew(soap, data, "ns1:geneskew", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__geneskew(struct soap*, const struct ns1__geneskew *, const char*, const char*);
+
+#ifndef soap_read_ns1__geneskew
+#define soap_read_ns1__geneskew(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__geneskew(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__geneskew * SOAP_FMAC4 soap_get_ns1__geneskew(struct soap*, struct ns1__geneskew *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__geneskewResponse
+#define SOAP_TYPE_ns1__geneskewResponse (272)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__geneskewResponse(struct soap*, struct ns1__geneskewResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__geneskewResponse(struct soap*, const struct ns1__geneskewResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__geneskewResponse(struct soap*, const char*, int, const struct ns1__geneskewResponse *, const char*);
+SOAP_FMAC3 struct ns1__geneskewResponse * SOAP_FMAC4 soap_in_ns1__geneskewResponse(struct soap*, const char*, struct ns1__geneskewResponse *, const char*);
+
+#ifndef soap_write_ns1__geneskewResponse
+#define soap_write_ns1__geneskewResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__geneskewResponse(soap, data), 0) || soap_put_ns1__geneskewResponse(soap, data, "ns1:geneskewResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__geneskewResponse(struct soap*, const struct ns1__geneskewResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__geneskewResponse
+#define soap_read_ns1__geneskewResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__geneskewResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__geneskewResponse * SOAP_FMAC4 soap_get_ns1__geneskewResponse(struct soap*, struct ns1__geneskewResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__genes_USCOREfrom_USCOREori
+#define SOAP_TYPE_ns1__genes_USCOREfrom_USCOREori (269)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genes_USCOREfrom_USCOREori(struct soap*, struct ns1__genes_USCOREfrom_USCOREori *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genes_USCOREfrom_USCOREori(struct soap*, const struct ns1__genes_USCOREfrom_USCOREori *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genes_USCOREfrom_USCOREori(struct soap*, const char*, int, const struct ns1__genes_USCOREfrom_USCOREori *, const char*);
+SOAP_FMAC3 struct ns1__genes_USCOREfrom_USCOREori * SOAP_FMAC4 soap_in_ns1__genes_USCOREfrom_USCOREori(struct soap*, const char*, struct ns1__genes_USCOREfrom_USCOREori *, const char*);
+
+#ifndef soap_write_ns1__genes_USCOREfrom_USCOREori
+#define soap_write_ns1__genes_USCOREfrom_USCOREori(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__genes_USCOREfrom_USCOREori(soap, data), 0) || soap_put_ns1__genes_USCOREfrom_USCOREori(soap, data, "ns1:genes_from_ori", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genes_USCOREfrom_USCOREori(struct soap*, const struct ns1__genes_USCOREfrom_USCOREori *, const char*, const char*);
+
+#ifndef soap_read_ns1__genes_USCOREfrom_USCOREori
+#define soap_read_ns1__genes_USCOREfrom_USCOREori(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__genes_USCOREfrom_USCOREori(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__genes_USCOREfrom_USCOREori * SOAP_FMAC4 soap_get_ns1__genes_USCOREfrom_USCOREori(struct soap*, struct ns1__genes_USCOREfrom_USCOREori *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriResponse
+#define SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriResponse (265)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genes_USCOREfrom_USCOREoriResponse(struct soap*, struct ns1__genes_USCOREfrom_USCOREoriResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genes_USCOREfrom_USCOREoriResponse(struct soap*, const struct ns1__genes_USCOREfrom_USCOREoriResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genes_USCOREfrom_USCOREoriResponse(struct soap*, const char*, int, const struct ns1__genes_USCOREfrom_USCOREoriResponse *, const char*);
+SOAP_FMAC3 struct ns1__genes_USCOREfrom_USCOREoriResponse * SOAP_FMAC4 soap_in_ns1__genes_USCOREfrom_USCOREoriResponse(struct soap*, const char*, struct ns1__genes_USCOREfrom_USCOREoriResponse *, const char*);
+
+#ifndef soap_write_ns1__genes_USCOREfrom_USCOREoriResponse
+#define soap_write_ns1__genes_USCOREfrom_USCOREoriResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__genes_USCOREfrom_USCOREoriResponse(soap, data), 0) || soap_put_ns1__genes_USCOREfrom_USCOREoriResponse(soap, data, "ns1:genes_from_oriResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genes_USCOREfrom_USCOREoriResponse(struct soap*, const struct ns1__genes_USCOREfrom_USCOREoriResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__genes_USCOREfrom_USCOREoriResponse
+#define soap_read_ns1__genes_USCOREfrom_USCOREoriResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__genes_USCOREfrom_USCOREoriResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__genes_USCOREfrom_USCOREoriResponse * SOAP_FMAC4 soap_get_ns1__genes_USCOREfrom_USCOREoriResponse(struct soap*, struct ns1__genes_USCOREfrom_USCOREoriResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__cbi
+#define SOAP_TYPE_ns1__cbi (264)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__cbi(struct soap*, struct ns1__cbi *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__cbi(struct soap*, const struct ns1__cbi *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__cbi(struct soap*, const char*, int, const struct ns1__cbi *, const char*);
+SOAP_FMAC3 struct ns1__cbi * SOAP_FMAC4 soap_in_ns1__cbi(struct soap*, const char*, struct ns1__cbi *, const char*);
+
+#ifndef soap_write_ns1__cbi
+#define soap_write_ns1__cbi(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__cbi(soap, data), 0) || soap_put_ns1__cbi(soap, data, "ns1:cbi", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__cbi(struct soap*, const struct ns1__cbi *, const char*, const char*);
+
+#ifndef soap_read_ns1__cbi
+#define soap_read_ns1__cbi(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__cbi(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__cbi * SOAP_FMAC4 soap_get_ns1__cbi(struct soap*, struct ns1__cbi *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__cbiResponse
+#define SOAP_TYPE_ns1__cbiResponse (263)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__cbiResponse(struct soap*, struct ns1__cbiResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__cbiResponse(struct soap*, const struct ns1__cbiResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__cbiResponse(struct soap*, const char*, int, const struct ns1__cbiResponse *, const char*);
+SOAP_FMAC3 struct ns1__cbiResponse * SOAP_FMAC4 soap_in_ns1__cbiResponse(struct soap*, const char*, struct ns1__cbiResponse *, const char*);
+
+#ifndef soap_write_ns1__cbiResponse
+#define soap_write_ns1__cbiResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__cbiResponse(soap, data), 0) || soap_put_ns1__cbiResponse(soap, data, "ns1:cbiResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__cbiResponse(struct soap*, const struct ns1__cbiResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__cbiResponse
+#define soap_read_ns1__cbiResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__cbiResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__cbiResponse * SOAP_FMAC4 soap_get_ns1__cbiResponse(struct soap*, struct ns1__cbiResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__find_USCOREdif
+#define SOAP_TYPE_ns1__find_USCOREdif (260)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREdif(struct soap*, struct ns1__find_USCOREdif *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREdif(struct soap*, const struct ns1__find_USCOREdif *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREdif(struct soap*, const char*, int, const struct ns1__find_USCOREdif *, const char*);
+SOAP_FMAC3 struct ns1__find_USCOREdif * SOAP_FMAC4 soap_in_ns1__find_USCOREdif(struct soap*, const char*, struct ns1__find_USCOREdif *, const char*);
+
+#ifndef soap_write_ns1__find_USCOREdif
+#define soap_write_ns1__find_USCOREdif(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__find_USCOREdif(soap, data), 0) || soap_put_ns1__find_USCOREdif(soap, data, "ns1:find_dif", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREdif(struct soap*, const struct ns1__find_USCOREdif *, const char*, const char*);
+
+#ifndef soap_read_ns1__find_USCOREdif
+#define soap_read_ns1__find_USCOREdif(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__find_USCOREdif(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREdif * SOAP_FMAC4 soap_get_ns1__find_USCOREdif(struct soap*, struct ns1__find_USCOREdif *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__find_USCOREdifResponse
+#define SOAP_TYPE_ns1__find_USCOREdifResponse (256)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREdifResponse(struct soap*, struct ns1__find_USCOREdifResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREdifResponse(struct soap*, const struct ns1__find_USCOREdifResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREdifResponse(struct soap*, const char*, int, const struct ns1__find_USCOREdifResponse *, const char*);
+SOAP_FMAC3 struct ns1__find_USCOREdifResponse * SOAP_FMAC4 soap_in_ns1__find_USCOREdifResponse(struct soap*, const char*, struct ns1__find_USCOREdifResponse *, const char*);
+
+#ifndef soap_write_ns1__find_USCOREdifResponse
+#define soap_write_ns1__find_USCOREdifResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__find_USCOREdifResponse(soap, data), 0) || soap_put_ns1__find_USCOREdifResponse(soap, data, "ns1:find_difResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREdifResponse(struct soap*, const struct ns1__find_USCOREdifResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__find_USCOREdifResponse
+#define soap_read_ns1__find_USCOREdifResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__find_USCOREdifResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREdifResponse * SOAP_FMAC4 soap_get_ns1__find_USCOREdifResponse(struct soap*, struct ns1__find_USCOREdifResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__to_USCOREfasta
+#define SOAP_TYPE_ns1__to_USCOREfasta (255)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__to_USCOREfasta(struct soap*, struct ns1__to_USCOREfasta *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__to_USCOREfasta(struct soap*, const struct ns1__to_USCOREfasta *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__to_USCOREfasta(struct soap*, const char*, int, const struct ns1__to_USCOREfasta *, const char*);
+SOAP_FMAC3 struct ns1__to_USCOREfasta * SOAP_FMAC4 soap_in_ns1__to_USCOREfasta(struct soap*, const char*, struct ns1__to_USCOREfasta *, const char*);
+
+#ifndef soap_write_ns1__to_USCOREfasta
+#define soap_write_ns1__to_USCOREfasta(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__to_USCOREfasta(soap, data), 0) || soap_put_ns1__to_USCOREfasta(soap, data, "ns1:to_fasta", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__to_USCOREfasta(struct soap*, const struct ns1__to_USCOREfasta *, const char*, const char*);
+
+#ifndef soap_read_ns1__to_USCOREfasta
+#define soap_read_ns1__to_USCOREfasta(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__to_USCOREfasta(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__to_USCOREfasta * SOAP_FMAC4 soap_get_ns1__to_USCOREfasta(struct soap*, struct ns1__to_USCOREfasta *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__to_USCOREfastaResponse
+#define SOAP_TYPE_ns1__to_USCOREfastaResponse (254)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__to_USCOREfastaResponse(struct soap*, struct ns1__to_USCOREfastaResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__to_USCOREfastaResponse(struct soap*, const struct ns1__to_USCOREfastaResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__to_USCOREfastaResponse(struct soap*, const char*, int, const struct ns1__to_USCOREfastaResponse *, const char*);
+SOAP_FMAC3 struct ns1__to_USCOREfastaResponse * SOAP_FMAC4 soap_in_ns1__to_USCOREfastaResponse(struct soap*, const char*, struct ns1__to_USCOREfastaResponse *, const char*);
+
+#ifndef soap_write_ns1__to_USCOREfastaResponse
+#define soap_write_ns1__to_USCOREfastaResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__to_USCOREfastaResponse(soap, data), 0) || soap_put_ns1__to_USCOREfastaResponse(soap, data, "ns1:to_fastaResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__to_USCOREfastaResponse(struct soap*, const struct ns1__to_USCOREfastaResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__to_USCOREfastaResponse
+#define soap_read_ns1__to_USCOREfastaResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__to_USCOREfastaResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__to_USCOREfastaResponse * SOAP_FMAC4 soap_get_ns1__to_USCOREfastaResponse(struct soap*, struct ns1__to_USCOREfastaResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__base_USCOREentropy
+#define SOAP_TYPE_ns1__base_USCOREentropy (251)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREentropy(struct soap*, struct ns1__base_USCOREentropy *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREentropy(struct soap*, const struct ns1__base_USCOREentropy *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREentropy(struct soap*, const char*, int, const struct ns1__base_USCOREentropy *, const char*);
+SOAP_FMAC3 struct ns1__base_USCOREentropy * SOAP_FMAC4 soap_in_ns1__base_USCOREentropy(struct soap*, const char*, struct ns1__base_USCOREentropy *, const char*);
+
+#ifndef soap_write_ns1__base_USCOREentropy
+#define soap_write_ns1__base_USCOREentropy(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__base_USCOREentropy(soap, data), 0) || soap_put_ns1__base_USCOREentropy(soap, data, "ns1:base_entropy", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREentropy(struct soap*, const struct ns1__base_USCOREentropy *, const char*, const char*);
+
+#ifndef soap_read_ns1__base_USCOREentropy
+#define soap_read_ns1__base_USCOREentropy(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__base_USCOREentropy(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__base_USCOREentropy * SOAP_FMAC4 soap_get_ns1__base_USCOREentropy(struct soap*, struct ns1__base_USCOREentropy *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__base_USCOREentropyResponse
+#define SOAP_TYPE_ns1__base_USCOREentropyResponse (250)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREentropyResponse(struct soap*, struct ns1__base_USCOREentropyResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREentropyResponse(struct soap*, const struct ns1__base_USCOREentropyResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREentropyResponse(struct soap*, const char*, int, const struct ns1__base_USCOREentropyResponse *, const char*);
+SOAP_FMAC3 struct ns1__base_USCOREentropyResponse * SOAP_FMAC4 soap_in_ns1__base_USCOREentropyResponse(struct soap*, const char*, struct ns1__base_USCOREentropyResponse *, const char*);
+
+#ifndef soap_write_ns1__base_USCOREentropyResponse
+#define soap_write_ns1__base_USCOREentropyResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__base_USCOREentropyResponse(soap, data), 0) || soap_put_ns1__base_USCOREentropyResponse(soap, data, "ns1:base_entropyResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREentropyResponse(struct soap*, const struct ns1__base_USCOREentropyResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__base_USCOREentropyResponse
+#define soap_read_ns1__base_USCOREentropyResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__base_USCOREentropyResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__base_USCOREentropyResponse * SOAP_FMAC4 soap_get_ns1__base_USCOREentropyResponse(struct soap*, struct ns1__base_USCOREentropyResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__DoubleHelix
+#define SOAP_TYPE_ns1__DoubleHelix (247)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__DoubleHelix(struct soap*, struct ns1__DoubleHelix *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__DoubleHelix(struct soap*, const struct ns1__DoubleHelix *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__DoubleHelix(struct soap*, const char*, int, const struct ns1__DoubleHelix *, const char*);
+SOAP_FMAC3 struct ns1__DoubleHelix * SOAP_FMAC4 soap_in_ns1__DoubleHelix(struct soap*, const char*, struct ns1__DoubleHelix *, const char*);
+
+#ifndef soap_write_ns1__DoubleHelix
+#define soap_write_ns1__DoubleHelix(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__DoubleHelix(soap, data), 0) || soap_put_ns1__DoubleHelix(soap, data, "ns1:DoubleHelix", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__DoubleHelix(struct soap*, const struct ns1__DoubleHelix *, const char*, const char*);
+
+#ifndef soap_read_ns1__DoubleHelix
+#define soap_read_ns1__DoubleHelix(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__DoubleHelix(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__DoubleHelix * SOAP_FMAC4 soap_get_ns1__DoubleHelix(struct soap*, struct ns1__DoubleHelix *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__DoubleHelixResponse
+#define SOAP_TYPE_ns1__DoubleHelixResponse (246)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__DoubleHelixResponse(struct soap*, struct ns1__DoubleHelixResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__DoubleHelixResponse(struct soap*, const struct ns1__DoubleHelixResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__DoubleHelixResponse(struct soap*, const char*, int, const struct ns1__DoubleHelixResponse *, const char*);
+SOAP_FMAC3 struct ns1__DoubleHelixResponse * SOAP_FMAC4 soap_in_ns1__DoubleHelixResponse(struct soap*, const char*, struct ns1__DoubleHelixResponse *, const char*);
+
+#ifndef soap_write_ns1__DoubleHelixResponse
+#define soap_write_ns1__DoubleHelixResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__DoubleHelixResponse(soap, data), 0) || soap_put_ns1__DoubleHelixResponse(soap, data, "ns1:DoubleHelixResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__DoubleHelixResponse(struct soap*, const struct ns1__DoubleHelixResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__DoubleHelixResponse
+#define soap_read_ns1__DoubleHelixResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__DoubleHelixResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__DoubleHelixResponse * SOAP_FMAC4 soap_get_ns1__DoubleHelixResponse(struct soap*, struct ns1__DoubleHelixResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__calc_USCOREpI
+#define SOAP_TYPE_ns1__calc_USCOREpI (243)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__calc_USCOREpI(struct soap*, struct ns1__calc_USCOREpI *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__calc_USCOREpI(struct soap*, const struct ns1__calc_USCOREpI *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__calc_USCOREpI(struct soap*, const char*, int, const struct ns1__calc_USCOREpI *, const char*);
+SOAP_FMAC3 struct ns1__calc_USCOREpI * SOAP_FMAC4 soap_in_ns1__calc_USCOREpI(struct soap*, const char*, struct ns1__calc_USCOREpI *, const char*);
+
+#ifndef soap_write_ns1__calc_USCOREpI
+#define soap_write_ns1__calc_USCOREpI(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__calc_USCOREpI(soap, data), 0) || soap_put_ns1__calc_USCOREpI(soap, data, "ns1:calc_pI", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__calc_USCOREpI(struct soap*, const struct ns1__calc_USCOREpI *, const char*, const char*);
+
+#ifndef soap_read_ns1__calc_USCOREpI
+#define soap_read_ns1__calc_USCOREpI(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__calc_USCOREpI(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__calc_USCOREpI * SOAP_FMAC4 soap_get_ns1__calc_USCOREpI(struct soap*, struct ns1__calc_USCOREpI *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__calc_USCOREpIResponse
+#define SOAP_TYPE_ns1__calc_USCOREpIResponse (242)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__calc_USCOREpIResponse(struct soap*, struct ns1__calc_USCOREpIResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__calc_USCOREpIResponse(struct soap*, const struct ns1__calc_USCOREpIResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__calc_USCOREpIResponse(struct soap*, const char*, int, const struct ns1__calc_USCOREpIResponse *, const char*);
+SOAP_FMAC3 struct ns1__calc_USCOREpIResponse * SOAP_FMAC4 soap_in_ns1__calc_USCOREpIResponse(struct soap*, const char*, struct ns1__calc_USCOREpIResponse *, const char*);
+
+#ifndef soap_write_ns1__calc_USCOREpIResponse
+#define soap_write_ns1__calc_USCOREpIResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__calc_USCOREpIResponse(soap, data), 0) || soap_put_ns1__calc_USCOREpIResponse(soap, data, "ns1:calc_pIResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__calc_USCOREpIResponse(struct soap*, const struct ns1__calc_USCOREpIResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__calc_USCOREpIResponse
+#define soap_read_ns1__calc_USCOREpIResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__calc_USCOREpIResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__calc_USCOREpIResponse * SOAP_FMAC4 soap_get_ns1__calc_USCOREpIResponse(struct soap*, struct ns1__calc_USCOREpIResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__rep_USCOREori_USCOREter
+#define SOAP_TYPE_ns1__rep_USCOREori_USCOREter (240)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__rep_USCOREori_USCOREter(struct soap*, struct ns1__rep_USCOREori_USCOREter *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__rep_USCOREori_USCOREter(struct soap*, const struct ns1__rep_USCOREori_USCOREter *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__rep_USCOREori_USCOREter(struct soap*, const char*, int, const struct ns1__rep_USCOREori_USCOREter *, const char*);
+SOAP_FMAC3 struct ns1__rep_USCOREori_USCOREter * SOAP_FMAC4 soap_in_ns1__rep_USCOREori_USCOREter(struct soap*, const char*, struct ns1__rep_USCOREori_USCOREter *, const char*);
+
+#ifndef soap_write_ns1__rep_USCOREori_USCOREter
+#define soap_write_ns1__rep_USCOREori_USCOREter(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__rep_USCOREori_USCOREter(soap, data), 0) || soap_put_ns1__rep_USCOREori_USCOREter(soap, data, "ns1:rep_ori_ter", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__rep_USCOREori_USCOREter(struct soap*, const struct ns1__rep_USCOREori_USCOREter *, const char*, const char*);
+
+#ifndef soap_read_ns1__rep_USCOREori_USCOREter
+#define soap_read_ns1__rep_USCOREori_USCOREter(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__rep_USCOREori_USCOREter(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__rep_USCOREori_USCOREter * SOAP_FMAC4 soap_get_ns1__rep_USCOREori_USCOREter(struct soap*, struct ns1__rep_USCOREori_USCOREter *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__rep_USCOREori_USCOREterResponse
+#define SOAP_TYPE_ns1__rep_USCOREori_USCOREterResponse (239)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__rep_USCOREori_USCOREterResponse(struct soap*, struct ns1__rep_USCOREori_USCOREterResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__rep_USCOREori_USCOREterResponse(struct soap*, const struct ns1__rep_USCOREori_USCOREterResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__rep_USCOREori_USCOREterResponse(struct soap*, const char*, int, const struct ns1__rep_USCOREori_USCOREterResponse *, const char*);
+SOAP_FMAC3 struct ns1__rep_USCOREori_USCOREterResponse * SOAP_FMAC4 soap_in_ns1__rep_USCOREori_USCOREterResponse(struct soap*, const char*, struct ns1__rep_USCOREori_USCOREterResponse *, const char*);
+
+#ifndef soap_write_ns1__rep_USCOREori_USCOREterResponse
+#define soap_write_ns1__rep_USCOREori_USCOREterResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__rep_USCOREori_USCOREterResponse(soap, data), 0) || soap_put_ns1__rep_USCOREori_USCOREterResponse(soap, data, "ns1:rep_ori_terResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__rep_USCOREori_USCOREterResponse(struct soap*, const struct ns1__rep_USCOREori_USCOREterResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__rep_USCOREori_USCOREterResponse
+#define soap_read_ns1__rep_USCOREori_USCOREterResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__rep_USCOREori_USCOREterResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__rep_USCOREori_USCOREterResponse * SOAP_FMAC4 soap_get_ns1__rep_USCOREori_USCOREterResponse(struct soap*, struct ns1__rep_USCOREori_USCOREterResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__longest_USCOREORF
+#define SOAP_TYPE_ns1__longest_USCOREORF (236)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__longest_USCOREORF(struct soap*, struct ns1__longest_USCOREORF *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__longest_USCOREORF(struct soap*, const struct ns1__longest_USCOREORF *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__longest_USCOREORF(struct soap*, const char*, int, const struct ns1__longest_USCOREORF *, const char*);
+SOAP_FMAC3 struct ns1__longest_USCOREORF * SOAP_FMAC4 soap_in_ns1__longest_USCOREORF(struct soap*, const char*, struct ns1__longest_USCOREORF *, const char*);
+
+#ifndef soap_write_ns1__longest_USCOREORF
+#define soap_write_ns1__longest_USCOREORF(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__longest_USCOREORF(soap, data), 0) || soap_put_ns1__longest_USCOREORF(soap, data, "ns1:longest_ORF", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__longest_USCOREORF(struct soap*, const struct ns1__longest_USCOREORF *, const char*, const char*);
+
+#ifndef soap_read_ns1__longest_USCOREORF
+#define soap_read_ns1__longest_USCOREORF(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__longest_USCOREORF(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__longest_USCOREORF * SOAP_FMAC4 soap_get_ns1__longest_USCOREORF(struct soap*, struct ns1__longest_USCOREORF *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__longest_USCOREORFResponse
+#define SOAP_TYPE_ns1__longest_USCOREORFResponse (235)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__longest_USCOREORFResponse(struct soap*, struct ns1__longest_USCOREORFResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__longest_USCOREORFResponse(struct soap*, const struct ns1__longest_USCOREORFResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__longest_USCOREORFResponse(struct soap*, const char*, int, const struct ns1__longest_USCOREORFResponse *, const char*);
+SOAP_FMAC3 struct ns1__longest_USCOREORFResponse * SOAP_FMAC4 soap_in_ns1__longest_USCOREORFResponse(struct soap*, const char*, struct ns1__longest_USCOREORFResponse *, const char*);
+
+#ifndef soap_write_ns1__longest_USCOREORFResponse
+#define soap_write_ns1__longest_USCOREORFResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__longest_USCOREORFResponse(soap, data), 0) || soap_put_ns1__longest_USCOREORFResponse(soap, data, "ns1:longest_ORFResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__longest_USCOREORFResponse(struct soap*, const struct ns1__longest_USCOREORFResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__longest_USCOREORFResponse
+#define soap_read_ns1__longest_USCOREORFResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__longest_USCOREORFResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__longest_USCOREORFResponse * SOAP_FMAC4 soap_get_ns1__longest_USCOREORFResponse(struct soap*, struct ns1__longest_USCOREORFResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__genome_USCOREmap
+#define SOAP_TYPE_ns1__genome_USCOREmap (233)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genome_USCOREmap(struct soap*, struct ns1__genome_USCOREmap *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genome_USCOREmap(struct soap*, const struct ns1__genome_USCOREmap *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genome_USCOREmap(struct soap*, const char*, int, const struct ns1__genome_USCOREmap *, const char*);
+SOAP_FMAC3 struct ns1__genome_USCOREmap * SOAP_FMAC4 soap_in_ns1__genome_USCOREmap(struct soap*, const char*, struct ns1__genome_USCOREmap *, const char*);
+
+#ifndef soap_write_ns1__genome_USCOREmap
+#define soap_write_ns1__genome_USCOREmap(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__genome_USCOREmap(soap, data), 0) || soap_put_ns1__genome_USCOREmap(soap, data, "ns1:genome_map", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genome_USCOREmap(struct soap*, const struct ns1__genome_USCOREmap *, const char*, const char*);
+
+#ifndef soap_read_ns1__genome_USCOREmap
+#define soap_read_ns1__genome_USCOREmap(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__genome_USCOREmap(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__genome_USCOREmap * SOAP_FMAC4 soap_get_ns1__genome_USCOREmap(struct soap*, struct ns1__genome_USCOREmap *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__genome_USCOREmapResponse
+#define SOAP_TYPE_ns1__genome_USCOREmapResponse (232)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genome_USCOREmapResponse(struct soap*, struct ns1__genome_USCOREmapResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genome_USCOREmapResponse(struct soap*, const struct ns1__genome_USCOREmapResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genome_USCOREmapResponse(struct soap*, const char*, int, const struct ns1__genome_USCOREmapResponse *, const char*);
+SOAP_FMAC3 struct ns1__genome_USCOREmapResponse * SOAP_FMAC4 soap_in_ns1__genome_USCOREmapResponse(struct soap*, const char*, struct ns1__genome_USCOREmapResponse *, const char*);
+
+#ifndef soap_write_ns1__genome_USCOREmapResponse
+#define soap_write_ns1__genome_USCOREmapResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__genome_USCOREmapResponse(soap, data), 0) || soap_put_ns1__genome_USCOREmapResponse(soap, data, "ns1:genome_mapResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genome_USCOREmapResponse(struct soap*, const struct ns1__genome_USCOREmapResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__genome_USCOREmapResponse
+#define soap_read_ns1__genome_USCOREmapResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__genome_USCOREmapResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__genome_USCOREmapResponse * SOAP_FMAC4 soap_get_ns1__genome_USCOREmapResponse(struct soap*, struct ns1__genome_USCOREmapResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__consensus_USCOREz
+#define SOAP_TYPE_ns1__consensus_USCOREz (229)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__consensus_USCOREz(struct soap*, struct ns1__consensus_USCOREz *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__consensus_USCOREz(struct soap*, const struct ns1__consensus_USCOREz *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__consensus_USCOREz(struct soap*, const char*, int, const struct ns1__consensus_USCOREz *, const char*);
+SOAP_FMAC3 struct ns1__consensus_USCOREz * SOAP_FMAC4 soap_in_ns1__consensus_USCOREz(struct soap*, const char*, struct ns1__consensus_USCOREz *, const char*);
+
+#ifndef soap_write_ns1__consensus_USCOREz
+#define soap_write_ns1__consensus_USCOREz(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__consensus_USCOREz(soap, data), 0) || soap_put_ns1__consensus_USCOREz(soap, data, "ns1:consensus_z", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__consensus_USCOREz(struct soap*, const struct ns1__consensus_USCOREz *, const char*, const char*);
+
+#ifndef soap_read_ns1__consensus_USCOREz
+#define soap_read_ns1__consensus_USCOREz(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__consensus_USCOREz(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__consensus_USCOREz * SOAP_FMAC4 soap_get_ns1__consensus_USCOREz(struct soap*, struct ns1__consensus_USCOREz *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__consensus_USCOREzResponse
+#define SOAP_TYPE_ns1__consensus_USCOREzResponse (228)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__consensus_USCOREzResponse(struct soap*, struct ns1__consensus_USCOREzResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__consensus_USCOREzResponse(struct soap*, const struct ns1__consensus_USCOREzResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__consensus_USCOREzResponse(struct soap*, const char*, int, const struct ns1__consensus_USCOREzResponse *, const char*);
+SOAP_FMAC3 struct ns1__consensus_USCOREzResponse * SOAP_FMAC4 soap_in_ns1__consensus_USCOREzResponse(struct soap*, const char*, struct ns1__consensus_USCOREzResponse *, const char*);
+
+#ifndef soap_write_ns1__consensus_USCOREzResponse
+#define soap_write_ns1__consensus_USCOREzResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__consensus_USCOREzResponse(soap, data), 0) || soap_put_ns1__consensus_USCOREzResponse(soap, data, "ns1:consensus_zResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__consensus_USCOREzResponse(struct soap*, const struct ns1__consensus_USCOREzResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__consensus_USCOREzResponse
+#define soap_read_ns1__consensus_USCOREzResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__consensus_USCOREzResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__consensus_USCOREzResponse * SOAP_FMAC4 soap_get_ns1__consensus_USCOREzResponse(struct soap*, struct ns1__consensus_USCOREzResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__mindex
+#define SOAP_TYPE_ns1__mindex (225)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__mindex(struct soap*, struct ns1__mindex *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__mindex(struct soap*, const struct ns1__mindex *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__mindex(struct soap*, const char*, int, const struct ns1__mindex *, const char*);
+SOAP_FMAC3 struct ns1__mindex * SOAP_FMAC4 soap_in_ns1__mindex(struct soap*, const char*, struct ns1__mindex *, const char*);
+
+#ifndef soap_write_ns1__mindex
+#define soap_write_ns1__mindex(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__mindex(soap, data), 0) || soap_put_ns1__mindex(soap, data, "ns1:mindex", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__mindex(struct soap*, const struct ns1__mindex *, const char*, const char*);
+
+#ifndef soap_read_ns1__mindex
+#define soap_read_ns1__mindex(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__mindex(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__mindex * SOAP_FMAC4 soap_get_ns1__mindex(struct soap*, struct ns1__mindex *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__mindexResponse
+#define SOAP_TYPE_ns1__mindexResponse (224)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__mindexResponse(struct soap*, struct ns1__mindexResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__mindexResponse(struct soap*, const struct ns1__mindexResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__mindexResponse(struct soap*, const char*, int, const struct ns1__mindexResponse *, const char*);
+SOAP_FMAC3 struct ns1__mindexResponse * SOAP_FMAC4 soap_in_ns1__mindexResponse(struct soap*, const char*, struct ns1__mindexResponse *, const char*);
+
+#ifndef soap_write_ns1__mindexResponse
+#define soap_write_ns1__mindexResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__mindexResponse(soap, data), 0) || soap_put_ns1__mindexResponse(soap, data, "ns1:mindexResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__mindexResponse(struct soap*, const struct ns1__mindexResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__mindexResponse
+#define soap_read_ns1__mindexResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__mindexResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__mindexResponse * SOAP_FMAC4 soap_get_ns1__mindexResponse(struct soap*, struct ns1__mindexResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__query_USCOREarm
+#define SOAP_TYPE_ns1__query_USCOREarm (222)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__query_USCOREarm(struct soap*, struct ns1__query_USCOREarm *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__query_USCOREarm(struct soap*, const struct ns1__query_USCOREarm *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__query_USCOREarm(struct soap*, const char*, int, const struct ns1__query_USCOREarm *, const char*);
+SOAP_FMAC3 struct ns1__query_USCOREarm * SOAP_FMAC4 soap_in_ns1__query_USCOREarm(struct soap*, const char*, struct ns1__query_USCOREarm *, const char*);
+
+#ifndef soap_write_ns1__query_USCOREarm
+#define soap_write_ns1__query_USCOREarm(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__query_USCOREarm(soap, data), 0) || soap_put_ns1__query_USCOREarm(soap, data, "ns1:query_arm", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__query_USCOREarm(struct soap*, const struct ns1__query_USCOREarm *, const char*, const char*);
+
+#ifndef soap_read_ns1__query_USCOREarm
+#define soap_read_ns1__query_USCOREarm(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__query_USCOREarm(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__query_USCOREarm * SOAP_FMAC4 soap_get_ns1__query_USCOREarm(struct soap*, struct ns1__query_USCOREarm *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__query_USCOREarmResponse
+#define SOAP_TYPE_ns1__query_USCOREarmResponse (221)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__query_USCOREarmResponse(struct soap*, struct ns1__query_USCOREarmResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__query_USCOREarmResponse(struct soap*, const struct ns1__query_USCOREarmResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__query_USCOREarmResponse(struct soap*, const char*, int, const struct ns1__query_USCOREarmResponse *, const char*);
+SOAP_FMAC3 struct ns1__query_USCOREarmResponse * SOAP_FMAC4 soap_in_ns1__query_USCOREarmResponse(struct soap*, const char*, struct ns1__query_USCOREarmResponse *, const char*);
+
+#ifndef soap_write_ns1__query_USCOREarmResponse
+#define soap_write_ns1__query_USCOREarmResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__query_USCOREarmResponse(soap, data), 0) || soap_put_ns1__query_USCOREarmResponse(soap, data, "ns1:query_armResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__query_USCOREarmResponse(struct soap*, const struct ns1__query_USCOREarmResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__query_USCOREarmResponse
+#define soap_read_ns1__query_USCOREarmResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__query_USCOREarmResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__query_USCOREarmResponse * SOAP_FMAC4 soap_get_ns1__query_USCOREarmResponse(struct soap*, struct ns1__query_USCOREarmResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__max
+#define SOAP_TYPE_ns1__max (219)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__max(struct soap*, struct ns1__max *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__max(struct soap*, const struct ns1__max *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__max(struct soap*, const char*, int, const struct ns1__max *, const char*);
+SOAP_FMAC3 struct ns1__max * SOAP_FMAC4 soap_in_ns1__max(struct soap*, const char*, struct ns1__max *, const char*);
+
+#ifndef soap_write_ns1__max
+#define soap_write_ns1__max(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__max(soap, data), 0) || soap_put_ns1__max(soap, data, "ns1:max", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__max(struct soap*, const struct ns1__max *, const char*, const char*);
+
+#ifndef soap_read_ns1__max
+#define soap_read_ns1__max(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__max(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__max * SOAP_FMAC4 soap_get_ns1__max(struct soap*, struct ns1__max *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__maxResponse
+#define SOAP_TYPE_ns1__maxResponse (218)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__maxResponse(struct soap*, struct ns1__maxResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__maxResponse(struct soap*, const struct ns1__maxResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__maxResponse(struct soap*, const char*, int, const struct ns1__maxResponse *, const char*);
+SOAP_FMAC3 struct ns1__maxResponse * SOAP_FMAC4 soap_in_ns1__maxResponse(struct soap*, const char*, struct ns1__maxResponse *, const char*);
+
+#ifndef soap_write_ns1__maxResponse
+#define soap_write_ns1__maxResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__maxResponse(soap, data), 0) || soap_put_ns1__maxResponse(soap, data, "ns1:maxResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__maxResponse(struct soap*, const struct ns1__maxResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__maxResponse
+#define soap_read_ns1__maxResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__maxResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__maxResponse * SOAP_FMAC4 soap_get_ns1__maxResponse(struct soap*, struct ns1__maxResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__maxdex
+#define SOAP_TYPE_ns1__maxdex (216)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__maxdex(struct soap*, struct ns1__maxdex *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__maxdex(struct soap*, const struct ns1__maxdex *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__maxdex(struct soap*, const char*, int, const struct ns1__maxdex *, const char*);
+SOAP_FMAC3 struct ns1__maxdex * SOAP_FMAC4 soap_in_ns1__maxdex(struct soap*, const char*, struct ns1__maxdex *, const char*);
+
+#ifndef soap_write_ns1__maxdex
+#define soap_write_ns1__maxdex(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__maxdex(soap, data), 0) || soap_put_ns1__maxdex(soap, data, "ns1:maxdex", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__maxdex(struct soap*, const struct ns1__maxdex *, const char*, const char*);
+
+#ifndef soap_read_ns1__maxdex
+#define soap_read_ns1__maxdex(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__maxdex(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__maxdex * SOAP_FMAC4 soap_get_ns1__maxdex(struct soap*, struct ns1__maxdex *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__maxdexResponse
+#define SOAP_TYPE_ns1__maxdexResponse (215)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__maxdexResponse(struct soap*, struct ns1__maxdexResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__maxdexResponse(struct soap*, const struct ns1__maxdexResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__maxdexResponse(struct soap*, const char*, int, const struct ns1__maxdexResponse *, const char*);
+SOAP_FMAC3 struct ns1__maxdexResponse * SOAP_FMAC4 soap_in_ns1__maxdexResponse(struct soap*, const char*, struct ns1__maxdexResponse *, const char*);
+
+#ifndef soap_write_ns1__maxdexResponse
+#define soap_write_ns1__maxdexResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__maxdexResponse(soap, data), 0) || soap_put_ns1__maxdexResponse(soap, data, "ns1:maxdexResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__maxdexResponse(struct soap*, const struct ns1__maxdexResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__maxdexResponse
+#define soap_read_ns1__maxdexResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__maxdexResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__maxdexResponse * SOAP_FMAC4 soap_get_ns1__maxdexResponse(struct soap*, struct ns1__maxdexResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__cai
+#define SOAP_TYPE_ns1__cai (213)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__cai(struct soap*, struct ns1__cai *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__cai(struct soap*, const struct ns1__cai *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__cai(struct soap*, const char*, int, const struct ns1__cai *, const char*);
+SOAP_FMAC3 struct ns1__cai * SOAP_FMAC4 soap_in_ns1__cai(struct soap*, const char*, struct ns1__cai *, const char*);
+
+#ifndef soap_write_ns1__cai
+#define soap_write_ns1__cai(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__cai(soap, data), 0) || soap_put_ns1__cai(soap, data, "ns1:cai", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__cai(struct soap*, const struct ns1__cai *, const char*, const char*);
+
+#ifndef soap_read_ns1__cai
+#define soap_read_ns1__cai(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__cai(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__cai * SOAP_FMAC4 soap_get_ns1__cai(struct soap*, struct ns1__cai *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__caiResponse
+#define SOAP_TYPE_ns1__caiResponse (212)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__caiResponse(struct soap*, struct ns1__caiResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__caiResponse(struct soap*, const struct ns1__caiResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__caiResponse(struct soap*, const char*, int, const struct ns1__caiResponse *, const char*);
+SOAP_FMAC3 struct ns1__caiResponse * SOAP_FMAC4 soap_in_ns1__caiResponse(struct soap*, const char*, struct ns1__caiResponse *, const char*);
+
+#ifndef soap_write_ns1__caiResponse
+#define soap_write_ns1__caiResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__caiResponse(soap, data), 0) || soap_put_ns1__caiResponse(soap, data, "ns1:caiResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__caiResponse(struct soap*, const struct ns1__caiResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__caiResponse
+#define soap_read_ns1__caiResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__caiResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__caiResponse * SOAP_FMAC4 soap_get_ns1__caiResponse(struct soap*, struct ns1__caiResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__gcsi
+#define SOAP_TYPE_ns1__gcsi (209)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__gcsi(struct soap*, struct ns1__gcsi *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__gcsi(struct soap*, const struct ns1__gcsi *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__gcsi(struct soap*, const char*, int, const struct ns1__gcsi *, const char*);
+SOAP_FMAC3 struct ns1__gcsi * SOAP_FMAC4 soap_in_ns1__gcsi(struct soap*, const char*, struct ns1__gcsi *, const char*);
+
+#ifndef soap_write_ns1__gcsi
+#define soap_write_ns1__gcsi(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__gcsi(soap, data), 0) || soap_put_ns1__gcsi(soap, data, "ns1:gcsi", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__gcsi(struct soap*, const struct ns1__gcsi *, const char*, const char*);
+
+#ifndef soap_read_ns1__gcsi
+#define soap_read_ns1__gcsi(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__gcsi(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__gcsi * SOAP_FMAC4 soap_get_ns1__gcsi(struct soap*, struct ns1__gcsi *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__gcsiResponse
+#define SOAP_TYPE_ns1__gcsiResponse (208)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__gcsiResponse(struct soap*, struct ns1__gcsiResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__gcsiResponse(struct soap*, const struct ns1__gcsiResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__gcsiResponse(struct soap*, const char*, int, const struct ns1__gcsiResponse *, const char*);
+SOAP_FMAC3 struct ns1__gcsiResponse * SOAP_FMAC4 soap_in_ns1__gcsiResponse(struct soap*, const char*, struct ns1__gcsiResponse *, const char*);
+
+#ifndef soap_write_ns1__gcsiResponse
+#define soap_write_ns1__gcsiResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__gcsiResponse(soap, data), 0) || soap_put_ns1__gcsiResponse(soap, data, "ns1:gcsiResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__gcsiResponse(struct soap*, const struct ns1__gcsiResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__gcsiResponse
+#define soap_read_ns1__gcsiResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__gcsiResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__gcsiResponse * SOAP_FMAC4 soap_get_ns1__gcsiResponse(struct soap*, struct ns1__gcsiResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatg
+#define SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatg (205)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__filter_USCOREcds_USCOREby_USCOREatg(struct soap*, struct ns1__filter_USCOREcds_USCOREby_USCOREatg *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__filter_USCOREcds_USCOREby_USCOREatg(struct soap*, const struct ns1__filter_USCOREcds_USCOREby_USCOREatg *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__filter_USCOREcds_USCOREby_USCOREatg(struct soap*, const char*, int, const struct ns1__filter_USCOREcds_USCOREby_USCOREatg *, const char*);
+SOAP_FMAC3 struct ns1__filter_USCOREcds_USCOREby_USCOREatg * SOAP_FMAC4 soap_in_ns1__filter_USCOREcds_USCOREby_USCOREatg(struct soap*, const char*, struct ns1__filter_USCOREcds_USCOREby_USCOREatg *, const char*);
+
+#ifndef soap_write_ns1__filter_USCOREcds_USCOREby_USCOREatg
+#define soap_write_ns1__filter_USCOREcds_USCOREby_USCOREatg(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__filter_USCOREcds_USCOREby_USCOREatg(soap, data), 0) || soap_put_ns1__filter_USCOREcds_USCOREby_USCOREatg(soap, data, "ns1:filter_cds_by_atg", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__filter_USCOREcds_USCOREby_USCOREatg(struct soap*, const struct ns1__filter_USCOREcds_USCOREby_USCOREatg *, const char*, const char*);
+
+#ifndef soap_read_ns1__filter_USCOREcds_USCOREby_USCOREatg
+#define soap_read_ns1__filter_USCOREcds_USCOREby_USCOREatg(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__filter_USCOREcds_USCOREby_USCOREatg(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__filter_USCOREcds_USCOREby_USCOREatg * SOAP_FMAC4 soap_get_ns1__filter_USCOREcds_USCOREby_USCOREatg(struct soap*, struct ns1__filter_USCOREcds_USCOREby_USCOREatg *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse
+#define SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse (201)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap*, struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap*, const struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap*, const char*, int, const struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *, const char*);
+SOAP_FMAC3 struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse * SOAP_FMAC4 soap_in_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap*, const char*, struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *, const char*);
+
+#ifndef soap_write_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse
+#define soap_write_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, data), 0) || soap_put_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, data, "ns1:filter_cds_by_atgResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap*, const struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse
+#define soap_read_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse * SOAP_FMAC4 soap_get_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap*, struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__genomicskew
+#define SOAP_TYPE_ns1__genomicskew (200)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genomicskew(struct soap*, struct ns1__genomicskew *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genomicskew(struct soap*, const struct ns1__genomicskew *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genomicskew(struct soap*, const char*, int, const struct ns1__genomicskew *, const char*);
+SOAP_FMAC3 struct ns1__genomicskew * SOAP_FMAC4 soap_in_ns1__genomicskew(struct soap*, const char*, struct ns1__genomicskew *, const char*);
+
+#ifndef soap_write_ns1__genomicskew
+#define soap_write_ns1__genomicskew(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__genomicskew(soap, data), 0) || soap_put_ns1__genomicskew(soap, data, "ns1:genomicskew", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genomicskew(struct soap*, const struct ns1__genomicskew *, const char*, const char*);
+
+#ifndef soap_read_ns1__genomicskew
+#define soap_read_ns1__genomicskew(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__genomicskew(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__genomicskew * SOAP_FMAC4 soap_get_ns1__genomicskew(struct soap*, struct ns1__genomicskew *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__genomicskewResponse
+#define SOAP_TYPE_ns1__genomicskewResponse (199)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genomicskewResponse(struct soap*, struct ns1__genomicskewResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genomicskewResponse(struct soap*, const struct ns1__genomicskewResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genomicskewResponse(struct soap*, const char*, int, const struct ns1__genomicskewResponse *, const char*);
+SOAP_FMAC3 struct ns1__genomicskewResponse * SOAP_FMAC4 soap_in_ns1__genomicskewResponse(struct soap*, const char*, struct ns1__genomicskewResponse *, const char*);
+
+#ifndef soap_write_ns1__genomicskewResponse
+#define soap_write_ns1__genomicskewResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__genomicskewResponse(soap, data), 0) || soap_put_ns1__genomicskewResponse(soap, data, "ns1:genomicskewResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genomicskewResponse(struct soap*, const struct ns1__genomicskewResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__genomicskewResponse
+#define soap_read_ns1__genomicskewResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__genomicskewResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__genomicskewResponse * SOAP_FMAC4 soap_get_ns1__genomicskewResponse(struct soap*, struct ns1__genomicskewResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__query_USCOREstrand
+#define SOAP_TYPE_ns1__query_USCOREstrand (196)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__query_USCOREstrand(struct soap*, struct ns1__query_USCOREstrand *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__query_USCOREstrand(struct soap*, const struct ns1__query_USCOREstrand *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__query_USCOREstrand(struct soap*, const char*, int, const struct ns1__query_USCOREstrand *, const char*);
+SOAP_FMAC3 struct ns1__query_USCOREstrand * SOAP_FMAC4 soap_in_ns1__query_USCOREstrand(struct soap*, const char*, struct ns1__query_USCOREstrand *, const char*);
+
+#ifndef soap_write_ns1__query_USCOREstrand
+#define soap_write_ns1__query_USCOREstrand(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__query_USCOREstrand(soap, data), 0) || soap_put_ns1__query_USCOREstrand(soap, data, "ns1:query_strand", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__query_USCOREstrand(struct soap*, const struct ns1__query_USCOREstrand *, const char*, const char*);
+
+#ifndef soap_read_ns1__query_USCOREstrand
+#define soap_read_ns1__query_USCOREstrand(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__query_USCOREstrand(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__query_USCOREstrand * SOAP_FMAC4 soap_get_ns1__query_USCOREstrand(struct soap*, struct ns1__query_USCOREstrand *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__query_USCOREstrandResponse
+#define SOAP_TYPE_ns1__query_USCOREstrandResponse (195)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__query_USCOREstrandResponse(struct soap*, struct ns1__query_USCOREstrandResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__query_USCOREstrandResponse(struct soap*, const struct ns1__query_USCOREstrandResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__query_USCOREstrandResponse(struct soap*, const char*, int, const struct ns1__query_USCOREstrandResponse *, const char*);
+SOAP_FMAC3 struct ns1__query_USCOREstrandResponse * SOAP_FMAC4 soap_in_ns1__query_USCOREstrandResponse(struct soap*, const char*, struct ns1__query_USCOREstrandResponse *, const char*);
+
+#ifndef soap_write_ns1__query_USCOREstrandResponse
+#define soap_write_ns1__query_USCOREstrandResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__query_USCOREstrandResponse(soap, data), 0) || soap_put_ns1__query_USCOREstrandResponse(soap, data, "ns1:query_strandResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__query_USCOREstrandResponse(struct soap*, const struct ns1__query_USCOREstrandResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__query_USCOREstrandResponse
+#define soap_read_ns1__query_USCOREstrandResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__query_USCOREstrandResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__query_USCOREstrandResponse * SOAP_FMAC4 soap_get_ns1__query_USCOREstrandResponse(struct soap*, struct ns1__query_USCOREstrandResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__view_USCOREcds
+#define SOAP_TYPE_ns1__view_USCOREcds (192)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__view_USCOREcds(struct soap*, struct ns1__view_USCOREcds *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__view_USCOREcds(struct soap*, const struct ns1__view_USCOREcds *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__view_USCOREcds(struct soap*, const char*, int, const struct ns1__view_USCOREcds *, const char*);
+SOAP_FMAC3 struct ns1__view_USCOREcds * SOAP_FMAC4 soap_in_ns1__view_USCOREcds(struct soap*, const char*, struct ns1__view_USCOREcds *, const char*);
+
+#ifndef soap_write_ns1__view_USCOREcds
+#define soap_write_ns1__view_USCOREcds(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__view_USCOREcds(soap, data), 0) || soap_put_ns1__view_USCOREcds(soap, data, "ns1:view_cds", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__view_USCOREcds(struct soap*, const struct ns1__view_USCOREcds *, const char*, const char*);
+
+#ifndef soap_read_ns1__view_USCOREcds
+#define soap_read_ns1__view_USCOREcds(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__view_USCOREcds(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__view_USCOREcds * SOAP_FMAC4 soap_get_ns1__view_USCOREcds(struct soap*, struct ns1__view_USCOREcds *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__view_USCOREcdsResponse
+#define SOAP_TYPE_ns1__view_USCOREcdsResponse (191)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__view_USCOREcdsResponse(struct soap*, struct ns1__view_USCOREcdsResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__view_USCOREcdsResponse(struct soap*, const struct ns1__view_USCOREcdsResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__view_USCOREcdsResponse(struct soap*, const char*, int, const struct ns1__view_USCOREcdsResponse *, const char*);
+SOAP_FMAC3 struct ns1__view_USCOREcdsResponse * SOAP_FMAC4 soap_in_ns1__view_USCOREcdsResponse(struct soap*, const char*, struct ns1__view_USCOREcdsResponse *, const char*);
+
+#ifndef soap_write_ns1__view_USCOREcdsResponse
+#define soap_write_ns1__view_USCOREcdsResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__view_USCOREcdsResponse(soap, data), 0) || soap_put_ns1__view_USCOREcdsResponse(soap, data, "ns1:view_cdsResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__view_USCOREcdsResponse(struct soap*, const struct ns1__view_USCOREcdsResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__view_USCOREcdsResponse
+#define soap_read_ns1__view_USCOREcdsResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__view_USCOREcdsResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__view_USCOREcdsResponse * SOAP_FMAC4 soap_get_ns1__view_USCOREcdsResponse(struct soap*, struct ns1__view_USCOREcdsResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__base_USCORErelative_USCOREentropy
+#define SOAP_TYPE_ns1__base_USCORErelative_USCOREentropy (188)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCORErelative_USCOREentropy(struct soap*, struct ns1__base_USCORErelative_USCOREentropy *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCORErelative_USCOREentropy(struct soap*, const struct ns1__base_USCORErelative_USCOREentropy *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCORErelative_USCOREentropy(struct soap*, const char*, int, const struct ns1__base_USCORErelative_USCOREentropy *, const char*);
+SOAP_FMAC3 struct ns1__base_USCORErelative_USCOREentropy * SOAP_FMAC4 soap_in_ns1__base_USCORErelative_USCOREentropy(struct soap*, const char*, struct ns1__base_USCORErelative_USCOREentropy *, const char*);
+
+#ifndef soap_write_ns1__base_USCORErelative_USCOREentropy
+#define soap_write_ns1__base_USCORErelative_USCOREentropy(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__base_USCORErelative_USCOREentropy(soap, data), 0) || soap_put_ns1__base_USCORErelative_USCOREentropy(soap, data, "ns1:base_relative_entropy", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCORErelative_USCOREentropy(struct soap*, const struct ns1__base_USCORErelative_USCOREentropy *, const char*, const char*);
+
+#ifndef soap_read_ns1__base_USCORErelative_USCOREentropy
+#define soap_read_ns1__base_USCORErelative_USCOREentropy(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__base_USCORErelative_USCOREentropy(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__base_USCORErelative_USCOREentropy * SOAP_FMAC4 soap_get_ns1__base_USCORErelative_USCOREentropy(struct soap*, struct ns1__base_USCORErelative_USCOREentropy *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyResponse
+#define SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyResponse (187)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCORErelative_USCOREentropyResponse(struct soap*, struct ns1__base_USCORErelative_USCOREentropyResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCORErelative_USCOREentropyResponse(struct soap*, const struct ns1__base_USCORErelative_USCOREentropyResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCORErelative_USCOREentropyResponse(struct soap*, const char*, int, const struct ns1__base_USCORErelative_USCOREentropyResponse *, const char*);
+SOAP_FMAC3 struct ns1__base_USCORErelative_USCOREentropyResponse * SOAP_FMAC4 soap_in_ns1__base_USCORErelative_USCOREentropyResponse(struct soap*, const char*, struct ns1__base_USCORErelative_USCOREentropyResponse *, const char*);
+
+#ifndef soap_write_ns1__base_USCORErelative_USCOREentropyResponse
+#define soap_write_ns1__base_USCORErelative_USCOREentropyResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__base_USCORErelative_USCOREentropyResponse(soap, data), 0) || soap_put_ns1__base_USCORErelative_USCOREentropyResponse(soap, data, "ns1:base_relative_entropyResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCORErelative_USCOREentropyResponse(struct soap*, const struct ns1__base_USCORErelative_USCOREentropyResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__base_USCORErelative_USCOREentropyResponse
+#define soap_read_ns1__base_USCORErelative_USCOREentropyResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__base_USCORErelative_USCOREentropyResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__base_USCORErelative_USCOREentropyResponse * SOAP_FMAC4 soap_get_ns1__base_USCORErelative_USCOREentropyResponse(struct soap*, struct ns1__base_USCORErelative_USCOREentropyResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__Ew
+#define SOAP_TYPE_ns1__Ew (184)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__Ew(struct soap*, struct ns1__Ew *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__Ew(struct soap*, const struct ns1__Ew *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__Ew(struct soap*, const char*, int, const struct ns1__Ew *, const char*);
+SOAP_FMAC3 struct ns1__Ew * SOAP_FMAC4 soap_in_ns1__Ew(struct soap*, const char*, struct ns1__Ew *, const char*);
+
+#ifndef soap_write_ns1__Ew
+#define soap_write_ns1__Ew(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__Ew(soap, data), 0) || soap_put_ns1__Ew(soap, data, "ns1:Ew", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__Ew(struct soap*, const struct ns1__Ew *, const char*, const char*);
+
+#ifndef soap_read_ns1__Ew
+#define soap_read_ns1__Ew(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__Ew(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__Ew * SOAP_FMAC4 soap_get_ns1__Ew(struct soap*, struct ns1__Ew *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__EwResponse
+#define SOAP_TYPE_ns1__EwResponse (183)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__EwResponse(struct soap*, struct ns1__EwResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__EwResponse(struct soap*, const struct ns1__EwResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__EwResponse(struct soap*, const char*, int, const struct ns1__EwResponse *, const char*);
+SOAP_FMAC3 struct ns1__EwResponse * SOAP_FMAC4 soap_in_ns1__EwResponse(struct soap*, const char*, struct ns1__EwResponse *, const char*);
+
+#ifndef soap_write_ns1__EwResponse
+#define soap_write_ns1__EwResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__EwResponse(soap, data), 0) || soap_put_ns1__EwResponse(soap, data, "ns1:EwResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__EwResponse(struct soap*, const struct ns1__EwResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__EwResponse
+#define soap_read_ns1__EwResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__EwResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__EwResponse * SOAP_FMAC4 soap_get_ns1__EwResponse(struct soap*, struct ns1__EwResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__over_USCORElapping_USCOREfinder
+#define SOAP_TYPE_ns1__over_USCORElapping_USCOREfinder (180)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__over_USCORElapping_USCOREfinder(struct soap*, struct ns1__over_USCORElapping_USCOREfinder *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__over_USCORElapping_USCOREfinder(struct soap*, const struct ns1__over_USCORElapping_USCOREfinder *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__over_USCORElapping_USCOREfinder(struct soap*, const char*, int, const struct ns1__over_USCORElapping_USCOREfinder *, const char*);
+SOAP_FMAC3 struct ns1__over_USCORElapping_USCOREfinder * SOAP_FMAC4 soap_in_ns1__over_USCORElapping_USCOREfinder(struct soap*, const char*, struct ns1__over_USCORElapping_USCOREfinder *, const char*);
+
+#ifndef soap_write_ns1__over_USCORElapping_USCOREfinder
+#define soap_write_ns1__over_USCORElapping_USCOREfinder(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__over_USCORElapping_USCOREfinder(soap, data), 0) || soap_put_ns1__over_USCORElapping_USCOREfinder(soap, data, "ns1:over_lapping_finder", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__over_USCORElapping_USCOREfinder(struct soap*, const struct ns1__over_USCORElapping_USCOREfinder *, const char*, const char*);
+
+#ifndef soap_read_ns1__over_USCORElapping_USCOREfinder
+#define soap_read_ns1__over_USCORElapping_USCOREfinder(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__over_USCORElapping_USCOREfinder(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__over_USCORElapping_USCOREfinder * SOAP_FMAC4 soap_get_ns1__over_USCORElapping_USCOREfinder(struct soap*, struct ns1__over_USCORElapping_USCOREfinder *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderResponse
+#define SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderResponse (179)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__over_USCORElapping_USCOREfinderResponse(struct soap*, struct ns1__over_USCORElapping_USCOREfinderResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__over_USCORElapping_USCOREfinderResponse(struct soap*, const struct ns1__over_USCORElapping_USCOREfinderResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__over_USCORElapping_USCOREfinderResponse(struct soap*, const char*, int, const struct ns1__over_USCORElapping_USCOREfinderResponse *, const char*);
+SOAP_FMAC3 struct ns1__over_USCORElapping_USCOREfinderResponse * SOAP_FMAC4 soap_in_ns1__over_USCORElapping_USCOREfinderResponse(struct soap*, const char*, struct ns1__over_USCORElapping_USCOREfinderResponse *, const char*);
+
+#ifndef soap_write_ns1__over_USCORElapping_USCOREfinderResponse
+#define soap_write_ns1__over_USCORElapping_USCOREfinderResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__over_USCORElapping_USCOREfinderResponse(soap, data), 0) || soap_put_ns1__over_USCORElapping_USCOREfinderResponse(soap, data, "ns1:over_lapping_finderResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__over_USCORElapping_USCOREfinderResponse(struct soap*, const struct ns1__over_USCORElapping_USCOREfinderResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__over_USCORElapping_USCOREfinderResponse
+#define soap_read_ns1__over_USCORElapping_USCOREfinderResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__over_USCORElapping_USCOREfinderResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__over_USCORElapping_USCOREfinderResponse * SOAP_FMAC4 soap_get_ns1__over_USCORElapping_USCOREfinderResponse(struct soap*, struct ns1__over_USCORElapping_USCOREfinderResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREcompiler
+#define SOAP_TYPE_ns1__codon_USCOREcompiler (176)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREcompiler(struct soap*, struct ns1__codon_USCOREcompiler *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREcompiler(struct soap*, const struct ns1__codon_USCOREcompiler *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREcompiler(struct soap*, const char*, int, const struct ns1__codon_USCOREcompiler *, const char*);
+SOAP_FMAC3 struct ns1__codon_USCOREcompiler * SOAP_FMAC4 soap_in_ns1__codon_USCOREcompiler(struct soap*, const char*, struct ns1__codon_USCOREcompiler *, const char*);
+
+#ifndef soap_write_ns1__codon_USCOREcompiler
+#define soap_write_ns1__codon_USCOREcompiler(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__codon_USCOREcompiler(soap, data), 0) || soap_put_ns1__codon_USCOREcompiler(soap, data, "ns1:codon_compiler", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREcompiler(struct soap*, const struct ns1__codon_USCOREcompiler *, const char*, const char*);
+
+#ifndef soap_read_ns1__codon_USCOREcompiler
+#define soap_read_ns1__codon_USCOREcompiler(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__codon_USCOREcompiler(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__codon_USCOREcompiler * SOAP_FMAC4 soap_get_ns1__codon_USCOREcompiler(struct soap*, struct ns1__codon_USCOREcompiler *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREcompilerResponse
+#define SOAP_TYPE_ns1__codon_USCOREcompilerResponse (175)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREcompilerResponse(struct soap*, struct ns1__codon_USCOREcompilerResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREcompilerResponse(struct soap*, const struct ns1__codon_USCOREcompilerResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREcompilerResponse(struct soap*, const char*, int, const struct ns1__codon_USCOREcompilerResponse *, const char*);
+SOAP_FMAC3 struct ns1__codon_USCOREcompilerResponse * SOAP_FMAC4 soap_in_ns1__codon_USCOREcompilerResponse(struct soap*, const char*, struct ns1__codon_USCOREcompilerResponse *, const char*);
+
+#ifndef soap_write_ns1__codon_USCOREcompilerResponse
+#define soap_write_ns1__codon_USCOREcompilerResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__codon_USCOREcompilerResponse(soap, data), 0) || soap_put_ns1__codon_USCOREcompilerResponse(soap, data, "ns1:codon_compilerResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREcompilerResponse(struct soap*, const struct ns1__codon_USCOREcompilerResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__codon_USCOREcompilerResponse
+#define soap_read_ns1__codon_USCOREcompilerResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__codon_USCOREcompilerResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__codon_USCOREcompilerResponse * SOAP_FMAC4 soap_get_ns1__codon_USCOREcompilerResponse(struct soap*, struct ns1__codon_USCOREcompilerResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__aaui
+#define SOAP_TYPE_ns1__aaui (172)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__aaui(struct soap*, struct ns1__aaui *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__aaui(struct soap*, const struct ns1__aaui *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__aaui(struct soap*, const char*, int, const struct ns1__aaui *, const char*);
+SOAP_FMAC3 struct ns1__aaui * SOAP_FMAC4 soap_in_ns1__aaui(struct soap*, const char*, struct ns1__aaui *, const char*);
+
+#ifndef soap_write_ns1__aaui
+#define soap_write_ns1__aaui(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__aaui(soap, data), 0) || soap_put_ns1__aaui(soap, data, "ns1:aaui", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__aaui(struct soap*, const struct ns1__aaui *, const char*, const char*);
+
+#ifndef soap_read_ns1__aaui
+#define soap_read_ns1__aaui(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__aaui(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__aaui * SOAP_FMAC4 soap_get_ns1__aaui(struct soap*, struct ns1__aaui *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__aauiResponse
+#define SOAP_TYPE_ns1__aauiResponse (171)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__aauiResponse(struct soap*, struct ns1__aauiResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__aauiResponse(struct soap*, const struct ns1__aauiResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__aauiResponse(struct soap*, const char*, int, const struct ns1__aauiResponse *, const char*);
+SOAP_FMAC3 struct ns1__aauiResponse * SOAP_FMAC4 soap_in_ns1__aauiResponse(struct soap*, const char*, struct ns1__aauiResponse *, const char*);
+
+#ifndef soap_write_ns1__aauiResponse
+#define soap_write_ns1__aauiResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__aauiResponse(soap, data), 0) || soap_put_ns1__aauiResponse(soap, data, "ns1:aauiResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__aauiResponse(struct soap*, const struct ns1__aauiResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__aauiResponse
+#define soap_read_ns1__aauiResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__aauiResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__aauiResponse * SOAP_FMAC4 soap_get_ns1__aauiResponse(struct soap*, struct ns1__aauiResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__amino_USCOREcounter
+#define SOAP_TYPE_ns1__amino_USCOREcounter (168)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__amino_USCOREcounter(struct soap*, struct ns1__amino_USCOREcounter *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__amino_USCOREcounter(struct soap*, const struct ns1__amino_USCOREcounter *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__amino_USCOREcounter(struct soap*, const char*, int, const struct ns1__amino_USCOREcounter *, const char*);
+SOAP_FMAC3 struct ns1__amino_USCOREcounter * SOAP_FMAC4 soap_in_ns1__amino_USCOREcounter(struct soap*, const char*, struct ns1__amino_USCOREcounter *, const char*);
+
+#ifndef soap_write_ns1__amino_USCOREcounter
+#define soap_write_ns1__amino_USCOREcounter(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__amino_USCOREcounter(soap, data), 0) || soap_put_ns1__amino_USCOREcounter(soap, data, "ns1:amino_counter", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__amino_USCOREcounter(struct soap*, const struct ns1__amino_USCOREcounter *, const char*, const char*);
+
+#ifndef soap_read_ns1__amino_USCOREcounter
+#define soap_read_ns1__amino_USCOREcounter(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__amino_USCOREcounter(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__amino_USCOREcounter * SOAP_FMAC4 soap_get_ns1__amino_USCOREcounter(struct soap*, struct ns1__amino_USCOREcounter *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__amino_USCOREcounterResponse
+#define SOAP_TYPE_ns1__amino_USCOREcounterResponse (167)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__amino_USCOREcounterResponse(struct soap*, struct ns1__amino_USCOREcounterResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__amino_USCOREcounterResponse(struct soap*, const struct ns1__amino_USCOREcounterResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__amino_USCOREcounterResponse(struct soap*, const char*, int, const struct ns1__amino_USCOREcounterResponse *, const char*);
+SOAP_FMAC3 struct ns1__amino_USCOREcounterResponse * SOAP_FMAC4 soap_in_ns1__amino_USCOREcounterResponse(struct soap*, const char*, struct ns1__amino_USCOREcounterResponse *, const char*);
+
+#ifndef soap_write_ns1__amino_USCOREcounterResponse
+#define soap_write_ns1__amino_USCOREcounterResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__amino_USCOREcounterResponse(soap, data), 0) || soap_put_ns1__amino_USCOREcounterResponse(soap, data, "ns1:amino_counterResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__amino_USCOREcounterResponse(struct soap*, const struct ns1__amino_USCOREcounterResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__amino_USCOREcounterResponse
+#define soap_read_ns1__amino_USCOREcounterResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__amino_USCOREcounterResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__amino_USCOREcounterResponse * SOAP_FMAC4 soap_get_ns1__amino_USCOREcounterResponse(struct soap*, struct ns1__amino_USCOREcounterResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__seq2png
+#define SOAP_TYPE_ns1__seq2png (164)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__seq2png(struct soap*, struct ns1__seq2png *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__seq2png(struct soap*, const struct ns1__seq2png *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__seq2png(struct soap*, const char*, int, const struct ns1__seq2png *, const char*);
+SOAP_FMAC3 struct ns1__seq2png * SOAP_FMAC4 soap_in_ns1__seq2png(struct soap*, const char*, struct ns1__seq2png *, const char*);
+
+#ifndef soap_write_ns1__seq2png
+#define soap_write_ns1__seq2png(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__seq2png(soap, data), 0) || soap_put_ns1__seq2png(soap, data, "ns1:seq2png", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__seq2png(struct soap*, const struct ns1__seq2png *, const char*, const char*);
+
+#ifndef soap_read_ns1__seq2png
+#define soap_read_ns1__seq2png(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__seq2png(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__seq2png * SOAP_FMAC4 soap_get_ns1__seq2png(struct soap*, struct ns1__seq2png *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__seq2pngResponse
+#define SOAP_TYPE_ns1__seq2pngResponse (163)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__seq2pngResponse(struct soap*, struct ns1__seq2pngResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__seq2pngResponse(struct soap*, const struct ns1__seq2pngResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__seq2pngResponse(struct soap*, const char*, int, const struct ns1__seq2pngResponse *, const char*);
+SOAP_FMAC3 struct ns1__seq2pngResponse * SOAP_FMAC4 soap_in_ns1__seq2pngResponse(struct soap*, const char*, struct ns1__seq2pngResponse *, const char*);
+
+#ifndef soap_write_ns1__seq2pngResponse
+#define soap_write_ns1__seq2pngResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__seq2pngResponse(soap, data), 0) || soap_put_ns1__seq2pngResponse(soap, data, "ns1:seq2pngResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__seq2pngResponse(struct soap*, const struct ns1__seq2pngResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__seq2pngResponse
+#define soap_read_ns1__seq2pngResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__seq2pngResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__seq2pngResponse * SOAP_FMAC4 soap_get_ns1__seq2pngResponse(struct soap*, struct ns1__seq2pngResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__ttest
+#define SOAP_TYPE_ns1__ttest (160)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__ttest(struct soap*, struct ns1__ttest *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__ttest(struct soap*, const struct ns1__ttest *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__ttest(struct soap*, const char*, int, const struct ns1__ttest *, const char*);
+SOAP_FMAC3 struct ns1__ttest * SOAP_FMAC4 soap_in_ns1__ttest(struct soap*, const char*, struct ns1__ttest *, const char*);
+
+#ifndef soap_write_ns1__ttest
+#define soap_write_ns1__ttest(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__ttest(soap, data), 0) || soap_put_ns1__ttest(soap, data, "ns1:ttest", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__ttest(struct soap*, const struct ns1__ttest *, const char*, const char*);
+
+#ifndef soap_read_ns1__ttest
+#define soap_read_ns1__ttest(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__ttest(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__ttest * SOAP_FMAC4 soap_get_ns1__ttest(struct soap*, struct ns1__ttest *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__ttestResponse
+#define SOAP_TYPE_ns1__ttestResponse (155)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__ttestResponse(struct soap*, struct ns1__ttestResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__ttestResponse(struct soap*, const struct ns1__ttestResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__ttestResponse(struct soap*, const char*, int, const struct ns1__ttestResponse *, const char*);
+SOAP_FMAC3 struct ns1__ttestResponse * SOAP_FMAC4 soap_in_ns1__ttestResponse(struct soap*, const char*, struct ns1__ttestResponse *, const char*);
+
+#ifndef soap_write_ns1__ttestResponse
+#define soap_write_ns1__ttestResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__ttestResponse(soap, data), 0) || soap_put_ns1__ttestResponse(soap, data, "ns1:ttestResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__ttestResponse(struct soap*, const struct ns1__ttestResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__ttestResponse
+#define soap_read_ns1__ttestResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__ttestResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__ttestResponse * SOAP_FMAC4 soap_get_ns1__ttestResponse(struct soap*, struct ns1__ttestResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__find_USCOREdnaAbox
+#define SOAP_TYPE_ns1__find_USCOREdnaAbox (154)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREdnaAbox(struct soap*, struct ns1__find_USCOREdnaAbox *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREdnaAbox(struct soap*, const struct ns1__find_USCOREdnaAbox *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREdnaAbox(struct soap*, const char*, int, const struct ns1__find_USCOREdnaAbox *, const char*);
+SOAP_FMAC3 struct ns1__find_USCOREdnaAbox * SOAP_FMAC4 soap_in_ns1__find_USCOREdnaAbox(struct soap*, const char*, struct ns1__find_USCOREdnaAbox *, const char*);
+
+#ifndef soap_write_ns1__find_USCOREdnaAbox
+#define soap_write_ns1__find_USCOREdnaAbox(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__find_USCOREdnaAbox(soap, data), 0) || soap_put_ns1__find_USCOREdnaAbox(soap, data, "ns1:find_dnaAbox", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREdnaAbox(struct soap*, const struct ns1__find_USCOREdnaAbox *, const char*, const char*);
+
+#ifndef soap_read_ns1__find_USCOREdnaAbox
+#define soap_read_ns1__find_USCOREdnaAbox(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__find_USCOREdnaAbox(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREdnaAbox * SOAP_FMAC4 soap_get_ns1__find_USCOREdnaAbox(struct soap*, struct ns1__find_USCOREdnaAbox *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__find_USCOREdnaAboxResponse
+#define SOAP_TYPE_ns1__find_USCOREdnaAboxResponse (153)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREdnaAboxResponse(struct soap*, struct ns1__find_USCOREdnaAboxResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREdnaAboxResponse(struct soap*, const struct ns1__find_USCOREdnaAboxResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREdnaAboxResponse(struct soap*, const char*, int, const struct ns1__find_USCOREdnaAboxResponse *, const char*);
+SOAP_FMAC3 struct ns1__find_USCOREdnaAboxResponse * SOAP_FMAC4 soap_in_ns1__find_USCOREdnaAboxResponse(struct soap*, const char*, struct ns1__find_USCOREdnaAboxResponse *, const char*);
+
+#ifndef soap_write_ns1__find_USCOREdnaAboxResponse
+#define soap_write_ns1__find_USCOREdnaAboxResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__find_USCOREdnaAboxResponse(soap, data), 0) || soap_put_ns1__find_USCOREdnaAboxResponse(soap, data, "ns1:find_dnaAboxResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREdnaAboxResponse(struct soap*, const struct ns1__find_USCOREdnaAboxResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__find_USCOREdnaAboxResponse
+#define soap_read_ns1__find_USCOREdnaAboxResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__find_USCOREdnaAboxResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREdnaAboxResponse * SOAP_FMAC4 soap_get_ns1__find_USCOREdnaAboxResponse(struct soap*, struct ns1__find_USCOREdnaAboxResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__dist_USCOREin_USCOREcc
+#define SOAP_TYPE_ns1__dist_USCOREin_USCOREcc (150)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__dist_USCOREin_USCOREcc(struct soap*, struct ns1__dist_USCOREin_USCOREcc *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__dist_USCOREin_USCOREcc(struct soap*, const struct ns1__dist_USCOREin_USCOREcc *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__dist_USCOREin_USCOREcc(struct soap*, const char*, int, const struct ns1__dist_USCOREin_USCOREcc *, const char*);
+SOAP_FMAC3 struct ns1__dist_USCOREin_USCOREcc * SOAP_FMAC4 soap_in_ns1__dist_USCOREin_USCOREcc(struct soap*, const char*, struct ns1__dist_USCOREin_USCOREcc *, const char*);
+
+#ifndef soap_write_ns1__dist_USCOREin_USCOREcc
+#define soap_write_ns1__dist_USCOREin_USCOREcc(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__dist_USCOREin_USCOREcc(soap, data), 0) || soap_put_ns1__dist_USCOREin_USCOREcc(soap, data, "ns1:dist_in_cc", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__dist_USCOREin_USCOREcc(struct soap*, const struct ns1__dist_USCOREin_USCOREcc *, const char*, const char*);
+
+#ifndef soap_read_ns1__dist_USCOREin_USCOREcc
+#define soap_read_ns1__dist_USCOREin_USCOREcc(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__dist_USCOREin_USCOREcc(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__dist_USCOREin_USCOREcc * SOAP_FMAC4 soap_get_ns1__dist_USCOREin_USCOREcc(struct soap*, struct ns1__dist_USCOREin_USCOREcc *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__dist_USCOREin_USCOREccResponse
+#define SOAP_TYPE_ns1__dist_USCOREin_USCOREccResponse (149)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__dist_USCOREin_USCOREccResponse(struct soap*, struct ns1__dist_USCOREin_USCOREccResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__dist_USCOREin_USCOREccResponse(struct soap*, const struct ns1__dist_USCOREin_USCOREccResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__dist_USCOREin_USCOREccResponse(struct soap*, const char*, int, const struct ns1__dist_USCOREin_USCOREccResponse *, const char*);
+SOAP_FMAC3 struct ns1__dist_USCOREin_USCOREccResponse * SOAP_FMAC4 soap_in_ns1__dist_USCOREin_USCOREccResponse(struct soap*, const char*, struct ns1__dist_USCOREin_USCOREccResponse *, const char*);
+
+#ifndef soap_write_ns1__dist_USCOREin_USCOREccResponse
+#define soap_write_ns1__dist_USCOREin_USCOREccResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__dist_USCOREin_USCOREccResponse(soap, data), 0) || soap_put_ns1__dist_USCOREin_USCOREccResponse(soap, data, "ns1:dist_in_ccResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__dist_USCOREin_USCOREccResponse(struct soap*, const struct ns1__dist_USCOREin_USCOREccResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__dist_USCOREin_USCOREccResponse
+#define soap_read_ns1__dist_USCOREin_USCOREccResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__dist_USCOREin_USCOREccResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__dist_USCOREin_USCOREccResponse * SOAP_FMAC4 soap_get_ns1__dist_USCOREin_USCOREccResponse(struct soap*, struct ns1__dist_USCOREin_USCOREccResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__bui
+#define SOAP_TYPE_ns1__bui (147)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__bui(struct soap*, struct ns1__bui *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__bui(struct soap*, const struct ns1__bui *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__bui(struct soap*, const char*, int, const struct ns1__bui *, const char*);
+SOAP_FMAC3 struct ns1__bui * SOAP_FMAC4 soap_in_ns1__bui(struct soap*, const char*, struct ns1__bui *, const char*);
+
+#ifndef soap_write_ns1__bui
+#define soap_write_ns1__bui(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__bui(soap, data), 0) || soap_put_ns1__bui(soap, data, "ns1:bui", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__bui(struct soap*, const struct ns1__bui *, const char*, const char*);
+
+#ifndef soap_read_ns1__bui
+#define soap_read_ns1__bui(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__bui(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__bui * SOAP_FMAC4 soap_get_ns1__bui(struct soap*, struct ns1__bui *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__buiResponse
+#define SOAP_TYPE_ns1__buiResponse (146)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__buiResponse(struct soap*, struct ns1__buiResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__buiResponse(struct soap*, const struct ns1__buiResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__buiResponse(struct soap*, const char*, int, const struct ns1__buiResponse *, const char*);
+SOAP_FMAC3 struct ns1__buiResponse * SOAP_FMAC4 soap_in_ns1__buiResponse(struct soap*, const char*, struct ns1__buiResponse *, const char*);
+
+#ifndef soap_write_ns1__buiResponse
+#define soap_write_ns1__buiResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__buiResponse(soap, data), 0) || soap_put_ns1__buiResponse(soap, data, "ns1:buiResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__buiResponse(struct soap*, const struct ns1__buiResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__buiResponse
+#define soap_read_ns1__buiResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__buiResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__buiResponse * SOAP_FMAC4 soap_get_ns1__buiResponse(struct soap*, struct ns1__buiResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__fop
+#define SOAP_TYPE_ns1__fop (143)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__fop(struct soap*, struct ns1__fop *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__fop(struct soap*, const struct ns1__fop *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__fop(struct soap*, const char*, int, const struct ns1__fop *, const char*);
+SOAP_FMAC3 struct ns1__fop * SOAP_FMAC4 soap_in_ns1__fop(struct soap*, const char*, struct ns1__fop *, const char*);
+
+#ifndef soap_write_ns1__fop
+#define soap_write_ns1__fop(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__fop(soap, data), 0) || soap_put_ns1__fop(soap, data, "ns1:fop", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__fop(struct soap*, const struct ns1__fop *, const char*, const char*);
+
+#ifndef soap_read_ns1__fop
+#define soap_read_ns1__fop(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__fop(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__fop * SOAP_FMAC4 soap_get_ns1__fop(struct soap*, struct ns1__fop *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__fopResponse
+#define SOAP_TYPE_ns1__fopResponse (142)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__fopResponse(struct soap*, struct ns1__fopResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__fopResponse(struct soap*, const struct ns1__fopResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__fopResponse(struct soap*, const char*, int, const struct ns1__fopResponse *, const char*);
+SOAP_FMAC3 struct ns1__fopResponse * SOAP_FMAC4 soap_in_ns1__fopResponse(struct soap*, const char*, struct ns1__fopResponse *, const char*);
+
+#ifndef soap_write_ns1__fopResponse
+#define soap_write_ns1__fopResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__fopResponse(soap, data), 0) || soap_put_ns1__fopResponse(soap, data, "ns1:fopResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__fopResponse(struct soap*, const struct ns1__fopResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__fopResponse
+#define soap_read_ns1__fopResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__fopResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__fopResponse * SOAP_FMAC4 soap_get_ns1__fopResponse(struct soap*, struct ns1__fopResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__enc
+#define SOAP_TYPE_ns1__enc (139)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__enc(struct soap*, struct ns1__enc *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__enc(struct soap*, const struct ns1__enc *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__enc(struct soap*, const char*, int, const struct ns1__enc *, const char*);
+SOAP_FMAC3 struct ns1__enc * SOAP_FMAC4 soap_in_ns1__enc(struct soap*, const char*, struct ns1__enc *, const char*);
+
+#ifndef soap_write_ns1__enc
+#define soap_write_ns1__enc(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__enc(soap, data), 0) || soap_put_ns1__enc(soap, data, "ns1:enc", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__enc(struct soap*, const struct ns1__enc *, const char*, const char*);
+
+#ifndef soap_read_ns1__enc
+#define soap_read_ns1__enc(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__enc(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__enc * SOAP_FMAC4 soap_get_ns1__enc(struct soap*, struct ns1__enc *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__encResponse
+#define SOAP_TYPE_ns1__encResponse (138)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__encResponse(struct soap*, struct ns1__encResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__encResponse(struct soap*, const struct ns1__encResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__encResponse(struct soap*, const char*, int, const struct ns1__encResponse *, const char*);
+SOAP_FMAC3 struct ns1__encResponse * SOAP_FMAC4 soap_in_ns1__encResponse(struct soap*, const char*, struct ns1__encResponse *, const char*);
+
+#ifndef soap_write_ns1__encResponse
+#define soap_write_ns1__encResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__encResponse(soap, data), 0) || soap_put_ns1__encResponse(soap, data, "ns1:encResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__encResponse(struct soap*, const struct ns1__encResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__encResponse
+#define soap_read_ns1__encResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__encResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__encResponse * SOAP_FMAC4 soap_get_ns1__encResponse(struct soap*, struct ns1__encResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__icdi
+#define SOAP_TYPE_ns1__icdi (135)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__icdi(struct soap*, struct ns1__icdi *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__icdi(struct soap*, const struct ns1__icdi *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__icdi(struct soap*, const char*, int, const struct ns1__icdi *, const char*);
+SOAP_FMAC3 struct ns1__icdi * SOAP_FMAC4 soap_in_ns1__icdi(struct soap*, const char*, struct ns1__icdi *, const char*);
+
+#ifndef soap_write_ns1__icdi
+#define soap_write_ns1__icdi(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__icdi(soap, data), 0) || soap_put_ns1__icdi(soap, data, "ns1:icdi", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__icdi(struct soap*, const struct ns1__icdi *, const char*, const char*);
+
+#ifndef soap_read_ns1__icdi
+#define soap_read_ns1__icdi(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__icdi(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__icdi * SOAP_FMAC4 soap_get_ns1__icdi(struct soap*, struct ns1__icdi *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__icdiResponse
+#define SOAP_TYPE_ns1__icdiResponse (134)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__icdiResponse(struct soap*, struct ns1__icdiResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__icdiResponse(struct soap*, const struct ns1__icdiResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__icdiResponse(struct soap*, const char*, int, const struct ns1__icdiResponse *, const char*);
+SOAP_FMAC3 struct ns1__icdiResponse * SOAP_FMAC4 soap_in_ns1__icdiResponse(struct soap*, const char*, struct ns1__icdiResponse *, const char*);
+
+#ifndef soap_write_ns1__icdiResponse
+#define soap_write_ns1__icdiResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__icdiResponse(soap, data), 0) || soap_put_ns1__icdiResponse(soap, data, "ns1:icdiResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__icdiResponse(struct soap*, const struct ns1__icdiResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__icdiResponse
+#define soap_read_ns1__icdiResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__icdiResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__icdiResponse * SOAP_FMAC4 soap_get_ns1__icdiResponse(struct soap*, struct ns1__icdiResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__phx
+#define SOAP_TYPE_ns1__phx (131)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__phx(struct soap*, struct ns1__phx *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__phx(struct soap*, const struct ns1__phx *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__phx(struct soap*, const char*, int, const struct ns1__phx *, const char*);
+SOAP_FMAC3 struct ns1__phx * SOAP_FMAC4 soap_in_ns1__phx(struct soap*, const char*, struct ns1__phx *, const char*);
+
+#ifndef soap_write_ns1__phx
+#define soap_write_ns1__phx(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__phx(soap, data), 0) || soap_put_ns1__phx(soap, data, "ns1:phx", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__phx(struct soap*, const struct ns1__phx *, const char*, const char*);
+
+#ifndef soap_read_ns1__phx
+#define soap_read_ns1__phx(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__phx(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__phx * SOAP_FMAC4 soap_get_ns1__phx(struct soap*, struct ns1__phx *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__phxResponse
+#define SOAP_TYPE_ns1__phxResponse (130)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__phxResponse(struct soap*, struct ns1__phxResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__phxResponse(struct soap*, const struct ns1__phxResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__phxResponse(struct soap*, const char*, int, const struct ns1__phxResponse *, const char*);
+SOAP_FMAC3 struct ns1__phxResponse * SOAP_FMAC4 soap_in_ns1__phxResponse(struct soap*, const char*, struct ns1__phxResponse *, const char*);
+
+#ifndef soap_write_ns1__phxResponse
+#define soap_write_ns1__phxResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__phxResponse(soap, data), 0) || soap_put_ns1__phxResponse(soap, data, "ns1:phxResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__phxResponse(struct soap*, const struct ns1__phxResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__phxResponse
+#define soap_read_ns1__phxResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__phxResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__phxResponse * SOAP_FMAC4 soap_get_ns1__phxResponse(struct soap*, struct ns1__phxResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__translate
+#define SOAP_TYPE_ns1__translate (127)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__translate(struct soap*, struct ns1__translate *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__translate(struct soap*, const struct ns1__translate *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__translate(struct soap*, const char*, int, const struct ns1__translate *, const char*);
+SOAP_FMAC3 struct ns1__translate * SOAP_FMAC4 soap_in_ns1__translate(struct soap*, const char*, struct ns1__translate *, const char*);
+
+#ifndef soap_write_ns1__translate
+#define soap_write_ns1__translate(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__translate(soap, data), 0) || soap_put_ns1__translate(soap, data, "ns1:translate", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__translate(struct soap*, const struct ns1__translate *, const char*, const char*);
+
+#ifndef soap_read_ns1__translate
+#define soap_read_ns1__translate(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__translate(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__translate * SOAP_FMAC4 soap_get_ns1__translate(struct soap*, struct ns1__translate *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__translateResponse
+#define SOAP_TYPE_ns1__translateResponse (126)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__translateResponse(struct soap*, struct ns1__translateResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__translateResponse(struct soap*, const struct ns1__translateResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__translateResponse(struct soap*, const char*, int, const struct ns1__translateResponse *, const char*);
+SOAP_FMAC3 struct ns1__translateResponse * SOAP_FMAC4 soap_in_ns1__translateResponse(struct soap*, const char*, struct ns1__translateResponse *, const char*);
+
+#ifndef soap_write_ns1__translateResponse
+#define soap_write_ns1__translateResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__translateResponse(soap, data), 0) || soap_put_ns1__translateResponse(soap, data, "ns1:translateResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__translateResponse(struct soap*, const struct ns1__translateResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__translateResponse
+#define soap_read_ns1__translateResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__translateResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__translateResponse * SOAP_FMAC4 soap_get_ns1__translateResponse(struct soap*, struct ns1__translateResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__togoWS
+#define SOAP_TYPE_ns1__togoWS (124)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__togoWS(struct soap*, struct ns1__togoWS *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__togoWS(struct soap*, const struct ns1__togoWS *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__togoWS(struct soap*, const char*, int, const struct ns1__togoWS *, const char*);
+SOAP_FMAC3 struct ns1__togoWS * SOAP_FMAC4 soap_in_ns1__togoWS(struct soap*, const char*, struct ns1__togoWS *, const char*);
+
+#ifndef soap_write_ns1__togoWS
+#define soap_write_ns1__togoWS(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__togoWS(soap, data), 0) || soap_put_ns1__togoWS(soap, data, "ns1:togoWS", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__togoWS(struct soap*, const struct ns1__togoWS *, const char*, const char*);
+
+#ifndef soap_read_ns1__togoWS
+#define soap_read_ns1__togoWS(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__togoWS(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__togoWS * SOAP_FMAC4 soap_get_ns1__togoWS(struct soap*, struct ns1__togoWS *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__togoWSResponse
+#define SOAP_TYPE_ns1__togoWSResponse (123)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__togoWSResponse(struct soap*, struct ns1__togoWSResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__togoWSResponse(struct soap*, const struct ns1__togoWSResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__togoWSResponse(struct soap*, const char*, int, const struct ns1__togoWSResponse *, const char*);
+SOAP_FMAC3 struct ns1__togoWSResponse * SOAP_FMAC4 soap_in_ns1__togoWSResponse(struct soap*, const char*, struct ns1__togoWSResponse *, const char*);
+
+#ifndef soap_write_ns1__togoWSResponse
+#define soap_write_ns1__togoWSResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__togoWSResponse(soap, data), 0) || soap_put_ns1__togoWSResponse(soap, data, "ns1:togoWSResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__togoWSResponse(struct soap*, const struct ns1__togoWSResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__togoWSResponse
+#define soap_read_ns1__togoWSResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__togoWSResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__togoWSResponse * SOAP_FMAC4 soap_get_ns1__togoWSResponse(struct soap*, struct ns1__togoWSResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__circular_USCOREmap
+#define SOAP_TYPE_ns1__circular_USCOREmap (120)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__circular_USCOREmap(struct soap*, struct ns1__circular_USCOREmap *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__circular_USCOREmap(struct soap*, const struct ns1__circular_USCOREmap *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__circular_USCOREmap(struct soap*, const char*, int, const struct ns1__circular_USCOREmap *, const char*);
+SOAP_FMAC3 struct ns1__circular_USCOREmap * SOAP_FMAC4 soap_in_ns1__circular_USCOREmap(struct soap*, const char*, struct ns1__circular_USCOREmap *, const char*);
+
+#ifndef soap_write_ns1__circular_USCOREmap
+#define soap_write_ns1__circular_USCOREmap(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__circular_USCOREmap(soap, data), 0) || soap_put_ns1__circular_USCOREmap(soap, data, "ns1:circular_map", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__circular_USCOREmap(struct soap*, const struct ns1__circular_USCOREmap *, const char*, const char*);
+
+#ifndef soap_read_ns1__circular_USCOREmap
+#define soap_read_ns1__circular_USCOREmap(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__circular_USCOREmap(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__circular_USCOREmap * SOAP_FMAC4 soap_get_ns1__circular_USCOREmap(struct soap*, struct ns1__circular_USCOREmap *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__circular_USCOREmapResponse
+#define SOAP_TYPE_ns1__circular_USCOREmapResponse (119)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__circular_USCOREmapResponse(struct soap*, struct ns1__circular_USCOREmapResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__circular_USCOREmapResponse(struct soap*, const struct ns1__circular_USCOREmapResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__circular_USCOREmapResponse(struct soap*, const char*, int, const struct ns1__circular_USCOREmapResponse *, const char*);
+SOAP_FMAC3 struct ns1__circular_USCOREmapResponse * SOAP_FMAC4 soap_in_ns1__circular_USCOREmapResponse(struct soap*, const char*, struct ns1__circular_USCOREmapResponse *, const char*);
+
+#ifndef soap_write_ns1__circular_USCOREmapResponse
+#define soap_write_ns1__circular_USCOREmapResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__circular_USCOREmapResponse(soap, data), 0) || soap_put_ns1__circular_USCOREmapResponse(soap, data, "ns1:circular_mapResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__circular_USCOREmapResponse(struct soap*, const struct ns1__circular_USCOREmapResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__circular_USCOREmapResponse
+#define soap_read_ns1__circular_USCOREmapResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__circular_USCOREmapResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__circular_USCOREmapResponse * SOAP_FMAC4 soap_get_ns1__circular_USCOREmapResponse(struct soap*, struct ns1__circular_USCOREmapResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__amino_USCOREinfo
+#define SOAP_TYPE_ns1__amino_USCOREinfo (116)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__amino_USCOREinfo(struct soap*, struct ns1__amino_USCOREinfo *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__amino_USCOREinfo(struct soap*, const struct ns1__amino_USCOREinfo *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__amino_USCOREinfo(struct soap*, const char*, int, const struct ns1__amino_USCOREinfo *, const char*);
+SOAP_FMAC3 struct ns1__amino_USCOREinfo * SOAP_FMAC4 soap_in_ns1__amino_USCOREinfo(struct soap*, const char*, struct ns1__amino_USCOREinfo *, const char*);
+
+#ifndef soap_write_ns1__amino_USCOREinfo
+#define soap_write_ns1__amino_USCOREinfo(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__amino_USCOREinfo(soap, data), 0) || soap_put_ns1__amino_USCOREinfo(soap, data, "ns1:amino_info", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__amino_USCOREinfo(struct soap*, const struct ns1__amino_USCOREinfo *, const char*, const char*);
+
+#ifndef soap_read_ns1__amino_USCOREinfo
+#define soap_read_ns1__amino_USCOREinfo(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__amino_USCOREinfo(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__amino_USCOREinfo * SOAP_FMAC4 soap_get_ns1__amino_USCOREinfo(struct soap*, struct ns1__amino_USCOREinfo *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__amino_USCOREinfoResponse
+#define SOAP_TYPE_ns1__amino_USCOREinfoResponse (115)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__amino_USCOREinfoResponse(struct soap*, struct ns1__amino_USCOREinfoResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__amino_USCOREinfoResponse(struct soap*, const struct ns1__amino_USCOREinfoResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__amino_USCOREinfoResponse(struct soap*, const char*, int, const struct ns1__amino_USCOREinfoResponse *, const char*);
+SOAP_FMAC3 struct ns1__amino_USCOREinfoResponse * SOAP_FMAC4 soap_in_ns1__amino_USCOREinfoResponse(struct soap*, const char*, struct ns1__amino_USCOREinfoResponse *, const char*);
+
+#ifndef soap_write_ns1__amino_USCOREinfoResponse
+#define soap_write_ns1__amino_USCOREinfoResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__amino_USCOREinfoResponse(soap, data), 0) || soap_put_ns1__amino_USCOREinfoResponse(soap, data, "ns1:amino_infoResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__amino_USCOREinfoResponse(struct soap*, const struct ns1__amino_USCOREinfoResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__amino_USCOREinfoResponse
+#define soap_read_ns1__amino_USCOREinfoResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__amino_USCOREinfoResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__amino_USCOREinfoResponse * SOAP_FMAC4 soap_get_ns1__amino_USCOREinfoResponse(struct soap*, struct ns1__amino_USCOREinfoResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__variance
+#define SOAP_TYPE_ns1__variance (113)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__variance(struct soap*, struct ns1__variance *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__variance(struct soap*, const struct ns1__variance *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__variance(struct soap*, const char*, int, const struct ns1__variance *, const char*);
+SOAP_FMAC3 struct ns1__variance * SOAP_FMAC4 soap_in_ns1__variance(struct soap*, const char*, struct ns1__variance *, const char*);
+
+#ifndef soap_write_ns1__variance
+#define soap_write_ns1__variance(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__variance(soap, data), 0) || soap_put_ns1__variance(soap, data, "ns1:variance", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__variance(struct soap*, const struct ns1__variance *, const char*, const char*);
+
+#ifndef soap_read_ns1__variance
+#define soap_read_ns1__variance(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__variance(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__variance * SOAP_FMAC4 soap_get_ns1__variance(struct soap*, struct ns1__variance *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__varianceResponse
+#define SOAP_TYPE_ns1__varianceResponse (112)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__varianceResponse(struct soap*, struct ns1__varianceResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__varianceResponse(struct soap*, const struct ns1__varianceResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__varianceResponse(struct soap*, const char*, int, const struct ns1__varianceResponse *, const char*);
+SOAP_FMAC3 struct ns1__varianceResponse * SOAP_FMAC4 soap_in_ns1__varianceResponse(struct soap*, const char*, struct ns1__varianceResponse *, const char*);
+
+#ifndef soap_write_ns1__varianceResponse
+#define soap_write_ns1__varianceResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__varianceResponse(soap, data), 0) || soap_put_ns1__varianceResponse(soap, data, "ns1:varianceResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__varianceResponse(struct soap*, const struct ns1__varianceResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__varianceResponse
+#define soap_read_ns1__varianceResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__varianceResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__varianceResponse * SOAP_FMAC4 soap_get_ns1__varianceResponse(struct soap*, struct ns1__varianceResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__nucleotide_USCOREperiodicity
+#define SOAP_TYPE_ns1__nucleotide_USCOREperiodicity (110)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__nucleotide_USCOREperiodicity(struct soap*, struct ns1__nucleotide_USCOREperiodicity *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__nucleotide_USCOREperiodicity(struct soap*, const struct ns1__nucleotide_USCOREperiodicity *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__nucleotide_USCOREperiodicity(struct soap*, const char*, int, const struct ns1__nucleotide_USCOREperiodicity *, const char*);
+SOAP_FMAC3 struct ns1__nucleotide_USCOREperiodicity * SOAP_FMAC4 soap_in_ns1__nucleotide_USCOREperiodicity(struct soap*, const char*, struct ns1__nucleotide_USCOREperiodicity *, const char*);
+
+#ifndef soap_write_ns1__nucleotide_USCOREperiodicity
+#define soap_write_ns1__nucleotide_USCOREperiodicity(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__nucleotide_USCOREperiodicity(soap, data), 0) || soap_put_ns1__nucleotide_USCOREperiodicity(soap, data, "ns1:nucleotide_periodicity", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__nucleotide_USCOREperiodicity(struct soap*, const struct ns1__nucleotide_USCOREperiodicity *, const char*, const char*);
+
+#ifndef soap_read_ns1__nucleotide_USCOREperiodicity
+#define soap_read_ns1__nucleotide_USCOREperiodicity(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__nucleotide_USCOREperiodicity(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__nucleotide_USCOREperiodicity * SOAP_FMAC4 soap_get_ns1__nucleotide_USCOREperiodicity(struct soap*, struct ns1__nucleotide_USCOREperiodicity *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__nucleotide_USCOREperiodicityResponse
+#define SOAP_TYPE_ns1__nucleotide_USCOREperiodicityResponse (109)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__nucleotide_USCOREperiodicityResponse(struct soap*, struct ns1__nucleotide_USCOREperiodicityResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__nucleotide_USCOREperiodicityResponse(struct soap*, const struct ns1__nucleotide_USCOREperiodicityResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__nucleotide_USCOREperiodicityResponse(struct soap*, const char*, int, const struct ns1__nucleotide_USCOREperiodicityResponse *, const char*);
+SOAP_FMAC3 struct ns1__nucleotide_USCOREperiodicityResponse * SOAP_FMAC4 soap_in_ns1__nucleotide_USCOREperiodicityResponse(struct soap*, const char*, struct ns1__nucleotide_USCOREperiodicityResponse *, const char*);
+
+#ifndef soap_write_ns1__nucleotide_USCOREperiodicityResponse
+#define soap_write_ns1__nucleotide_USCOREperiodicityResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__nucleotide_USCOREperiodicityResponse(soap, data), 0) || soap_put_ns1__nucleotide_USCOREperiodicityResponse(soap, data, "ns1:nucleotide_periodicityResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__nucleotide_USCOREperiodicityResponse(struct soap*, const struct ns1__nucleotide_USCOREperiodicityResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__nucleotide_USCOREperiodicityResponse
+#define soap_read_ns1__nucleotide_USCOREperiodicityResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__nucleotide_USCOREperiodicityResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__nucleotide_USCOREperiodicityResponse * SOAP_FMAC4 soap_get_ns1__nucleotide_USCOREperiodicityResponse(struct soap*, struct ns1__nucleotide_USCOREperiodicityResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__sum
+#define SOAP_TYPE_ns1__sum (106)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__sum(struct soap*, struct ns1__sum *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__sum(struct soap*, const struct ns1__sum *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__sum(struct soap*, const char*, int, const struct ns1__sum *, const char*);
+SOAP_FMAC3 struct ns1__sum * SOAP_FMAC4 soap_in_ns1__sum(struct soap*, const char*, struct ns1__sum *, const char*);
+
+#ifndef soap_write_ns1__sum
+#define soap_write_ns1__sum(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__sum(soap, data), 0) || soap_put_ns1__sum(soap, data, "ns1:sum", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__sum(struct soap*, const struct ns1__sum *, const char*, const char*);
+
+#ifndef soap_read_ns1__sum
+#define soap_read_ns1__sum(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__sum(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__sum * SOAP_FMAC4 soap_get_ns1__sum(struct soap*, struct ns1__sum *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__sumResponse
+#define SOAP_TYPE_ns1__sumResponse (105)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__sumResponse(struct soap*, struct ns1__sumResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__sumResponse(struct soap*, const struct ns1__sumResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__sumResponse(struct soap*, const char*, int, const struct ns1__sumResponse *, const char*);
+SOAP_FMAC3 struct ns1__sumResponse * SOAP_FMAC4 soap_in_ns1__sumResponse(struct soap*, const char*, struct ns1__sumResponse *, const char*);
+
+#ifndef soap_write_ns1__sumResponse
+#define soap_write_ns1__sumResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__sumResponse(soap, data), 0) || soap_put_ns1__sumResponse(soap, data, "ns1:sumResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__sumResponse(struct soap*, const struct ns1__sumResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__sumResponse
+#define soap_read_ns1__sumResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__sumResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__sumResponse * SOAP_FMAC4 soap_get_ns1__sumResponse(struct soap*, struct ns1__sumResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__plasmid_USCOREmap
+#define SOAP_TYPE_ns1__plasmid_USCOREmap (103)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__plasmid_USCOREmap(struct soap*, struct ns1__plasmid_USCOREmap *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__plasmid_USCOREmap(struct soap*, const struct ns1__plasmid_USCOREmap *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__plasmid_USCOREmap(struct soap*, const char*, int, const struct ns1__plasmid_USCOREmap *, const char*);
+SOAP_FMAC3 struct ns1__plasmid_USCOREmap * SOAP_FMAC4 soap_in_ns1__plasmid_USCOREmap(struct soap*, const char*, struct ns1__plasmid_USCOREmap *, const char*);
+
+#ifndef soap_write_ns1__plasmid_USCOREmap
+#define soap_write_ns1__plasmid_USCOREmap(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__plasmid_USCOREmap(soap, data), 0) || soap_put_ns1__plasmid_USCOREmap(soap, data, "ns1:plasmid_map", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__plasmid_USCOREmap(struct soap*, const struct ns1__plasmid_USCOREmap *, const char*, const char*);
+
+#ifndef soap_read_ns1__plasmid_USCOREmap
+#define soap_read_ns1__plasmid_USCOREmap(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__plasmid_USCOREmap(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__plasmid_USCOREmap * SOAP_FMAC4 soap_get_ns1__plasmid_USCOREmap(struct soap*, struct ns1__plasmid_USCOREmap *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__plasmid_USCOREmapResponse
+#define SOAP_TYPE_ns1__plasmid_USCOREmapResponse (102)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__plasmid_USCOREmapResponse(struct soap*, struct ns1__plasmid_USCOREmapResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__plasmid_USCOREmapResponse(struct soap*, const struct ns1__plasmid_USCOREmapResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__plasmid_USCOREmapResponse(struct soap*, const char*, int, const struct ns1__plasmid_USCOREmapResponse *, const char*);
+SOAP_FMAC3 struct ns1__plasmid_USCOREmapResponse * SOAP_FMAC4 soap_in_ns1__plasmid_USCOREmapResponse(struct soap*, const char*, struct ns1__plasmid_USCOREmapResponse *, const char*);
+
+#ifndef soap_write_ns1__plasmid_USCOREmapResponse
+#define soap_write_ns1__plasmid_USCOREmapResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__plasmid_USCOREmapResponse(soap, data), 0) || soap_put_ns1__plasmid_USCOREmapResponse(soap, data, "ns1:plasmid_mapResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__plasmid_USCOREmapResponse(struct soap*, const struct ns1__plasmid_USCOREmapResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__plasmid_USCOREmapResponse
+#define soap_read_ns1__plasmid_USCOREmapResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__plasmid_USCOREmapResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__plasmid_USCOREmapResponse * SOAP_FMAC4 soap_get_ns1__plasmid_USCOREmapResponse(struct soap*, struct ns1__plasmid_USCOREmapResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__find_USCOREori_USCOREter
+#define SOAP_TYPE_ns1__find_USCOREori_USCOREter (99)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREori_USCOREter(struct soap*, struct ns1__find_USCOREori_USCOREter *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREori_USCOREter(struct soap*, const struct ns1__find_USCOREori_USCOREter *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREori_USCOREter(struct soap*, const char*, int, const struct ns1__find_USCOREori_USCOREter *, const char*);
+SOAP_FMAC3 struct ns1__find_USCOREori_USCOREter * SOAP_FMAC4 soap_in_ns1__find_USCOREori_USCOREter(struct soap*, const char*, struct ns1__find_USCOREori_USCOREter *, const char*);
+
+#ifndef soap_write_ns1__find_USCOREori_USCOREter
+#define soap_write_ns1__find_USCOREori_USCOREter(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__find_USCOREori_USCOREter(soap, data), 0) || soap_put_ns1__find_USCOREori_USCOREter(soap, data, "ns1:find_ori_ter", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREori_USCOREter(struct soap*, const struct ns1__find_USCOREori_USCOREter *, const char*, const char*);
+
+#ifndef soap_read_ns1__find_USCOREori_USCOREter
+#define soap_read_ns1__find_USCOREori_USCOREter(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__find_USCOREori_USCOREter(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREori_USCOREter * SOAP_FMAC4 soap_get_ns1__find_USCOREori_USCOREter(struct soap*, struct ns1__find_USCOREori_USCOREter *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__find_USCOREori_USCOREterResponse
+#define SOAP_TYPE_ns1__find_USCOREori_USCOREterResponse (98)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREori_USCOREterResponse(struct soap*, struct ns1__find_USCOREori_USCOREterResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREori_USCOREterResponse(struct soap*, const struct ns1__find_USCOREori_USCOREterResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREori_USCOREterResponse(struct soap*, const char*, int, const struct ns1__find_USCOREori_USCOREterResponse *, const char*);
+SOAP_FMAC3 struct ns1__find_USCOREori_USCOREterResponse * SOAP_FMAC4 soap_in_ns1__find_USCOREori_USCOREterResponse(struct soap*, const char*, struct ns1__find_USCOREori_USCOREterResponse *, const char*);
+
+#ifndef soap_write_ns1__find_USCOREori_USCOREterResponse
+#define soap_write_ns1__find_USCOREori_USCOREterResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__find_USCOREori_USCOREterResponse(soap, data), 0) || soap_put_ns1__find_USCOREori_USCOREterResponse(soap, data, "ns1:find_ori_terResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREori_USCOREterResponse(struct soap*, const struct ns1__find_USCOREori_USCOREterResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__find_USCOREori_USCOREterResponse
+#define soap_read_ns1__find_USCOREori_USCOREterResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__find_USCOREori_USCOREterResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREori_USCOREterResponse * SOAP_FMAC4 soap_get_ns1__find_USCOREori_USCOREterResponse(struct soap*, struct ns1__find_USCOREori_USCOREterResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__median
+#define SOAP_TYPE_ns1__median (95)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__median(struct soap*, struct ns1__median *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__median(struct soap*, const struct ns1__median *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__median(struct soap*, const char*, int, const struct ns1__median *, const char*);
+SOAP_FMAC3 struct ns1__median * SOAP_FMAC4 soap_in_ns1__median(struct soap*, const char*, struct ns1__median *, const char*);
+
+#ifndef soap_write_ns1__median
+#define soap_write_ns1__median(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__median(soap, data), 0) || soap_put_ns1__median(soap, data, "ns1:median", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__median(struct soap*, const struct ns1__median *, const char*, const char*);
+
+#ifndef soap_read_ns1__median
+#define soap_read_ns1__median(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__median(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__median * SOAP_FMAC4 soap_get_ns1__median(struct soap*, struct ns1__median *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__medianResponse
+#define SOAP_TYPE_ns1__medianResponse (94)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__medianResponse(struct soap*, struct ns1__medianResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__medianResponse(struct soap*, const struct ns1__medianResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__medianResponse(struct soap*, const char*, int, const struct ns1__medianResponse *, const char*);
+SOAP_FMAC3 struct ns1__medianResponse * SOAP_FMAC4 soap_in_ns1__medianResponse(struct soap*, const char*, struct ns1__medianResponse *, const char*);
+
+#ifndef soap_write_ns1__medianResponse
+#define soap_write_ns1__medianResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__medianResponse(soap, data), 0) || soap_put_ns1__medianResponse(soap, data, "ns1:medianResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__medianResponse(struct soap*, const struct ns1__medianResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__medianResponse
+#define soap_read_ns1__medianResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__medianResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__medianResponse * SOAP_FMAC4 soap_get_ns1__medianResponse(struct soap*, struct ns1__medianResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__splitprintseq
+#define SOAP_TYPE_ns1__splitprintseq (91)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__splitprintseq(struct soap*, struct ns1__splitprintseq *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__splitprintseq(struct soap*, const struct ns1__splitprintseq *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__splitprintseq(struct soap*, const char*, int, const struct ns1__splitprintseq *, const char*);
+SOAP_FMAC3 struct ns1__splitprintseq * SOAP_FMAC4 soap_in_ns1__splitprintseq(struct soap*, const char*, struct ns1__splitprintseq *, const char*);
+
+#ifndef soap_write_ns1__splitprintseq
+#define soap_write_ns1__splitprintseq(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__splitprintseq(soap, data), 0) || soap_put_ns1__splitprintseq(soap, data, "ns1:splitprintseq", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__splitprintseq(struct soap*, const struct ns1__splitprintseq *, const char*, const char*);
+
+#ifndef soap_read_ns1__splitprintseq
+#define soap_read_ns1__splitprintseq(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__splitprintseq(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__splitprintseq * SOAP_FMAC4 soap_get_ns1__splitprintseq(struct soap*, struct ns1__splitprintseq *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__splitprintseqResponse
+#define SOAP_TYPE_ns1__splitprintseqResponse (90)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__splitprintseqResponse(struct soap*, struct ns1__splitprintseqResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__splitprintseqResponse(struct soap*, const struct ns1__splitprintseqResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__splitprintseqResponse(struct soap*, const char*, int, const struct ns1__splitprintseqResponse *, const char*);
+SOAP_FMAC3 struct ns1__splitprintseqResponse * SOAP_FMAC4 soap_in_ns1__splitprintseqResponse(struct soap*, const char*, struct ns1__splitprintseqResponse *, const char*);
+
+#ifndef soap_write_ns1__splitprintseqResponse
+#define soap_write_ns1__splitprintseqResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__splitprintseqResponse(soap, data), 0) || soap_put_ns1__splitprintseqResponse(soap, data, "ns1:splitprintseqResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__splitprintseqResponse(struct soap*, const struct ns1__splitprintseqResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__splitprintseqResponse
+#define soap_read_ns1__splitprintseqResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__splitprintseqResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__splitprintseqResponse * SOAP_FMAC4 soap_get_ns1__splitprintseqResponse(struct soap*, struct ns1__splitprintseqResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__w_USCOREvalue
+#define SOAP_TYPE_ns1__w_USCOREvalue (88)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__w_USCOREvalue(struct soap*, struct ns1__w_USCOREvalue *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__w_USCOREvalue(struct soap*, const struct ns1__w_USCOREvalue *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__w_USCOREvalue(struct soap*, const char*, int, const struct ns1__w_USCOREvalue *, const char*);
+SOAP_FMAC3 struct ns1__w_USCOREvalue * SOAP_FMAC4 soap_in_ns1__w_USCOREvalue(struct soap*, const char*, struct ns1__w_USCOREvalue *, const char*);
+
+#ifndef soap_write_ns1__w_USCOREvalue
+#define soap_write_ns1__w_USCOREvalue(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__w_USCOREvalue(soap, data), 0) || soap_put_ns1__w_USCOREvalue(soap, data, "ns1:w_value", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__w_USCOREvalue(struct soap*, const struct ns1__w_USCOREvalue *, const char*, const char*);
+
+#ifndef soap_read_ns1__w_USCOREvalue
+#define soap_read_ns1__w_USCOREvalue(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__w_USCOREvalue(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__w_USCOREvalue * SOAP_FMAC4 soap_get_ns1__w_USCOREvalue(struct soap*, struct ns1__w_USCOREvalue *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__w_USCOREvalueResponse
+#define SOAP_TYPE_ns1__w_USCOREvalueResponse (87)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__w_USCOREvalueResponse(struct soap*, struct ns1__w_USCOREvalueResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__w_USCOREvalueResponse(struct soap*, const struct ns1__w_USCOREvalueResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__w_USCOREvalueResponse(struct soap*, const char*, int, const struct ns1__w_USCOREvalueResponse *, const char*);
+SOAP_FMAC3 struct ns1__w_USCOREvalueResponse * SOAP_FMAC4 soap_in_ns1__w_USCOREvalueResponse(struct soap*, const char*, struct ns1__w_USCOREvalueResponse *, const char*);
+
+#ifndef soap_write_ns1__w_USCOREvalueResponse
+#define soap_write_ns1__w_USCOREvalueResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__w_USCOREvalueResponse(soap, data), 0) || soap_put_ns1__w_USCOREvalueResponse(soap, data, "ns1:w_valueResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__w_USCOREvalueResponse(struct soap*, const struct ns1__w_USCOREvalueResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__w_USCOREvalueResponse
+#define soap_read_ns1__w_USCOREvalueResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__w_USCOREvalueResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__w_USCOREvalueResponse * SOAP_FMAC4 soap_get_ns1__w_USCOREvalueResponse(struct soap*, struct ns1__w_USCOREvalueResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__P2
+#define SOAP_TYPE_ns1__P2 (84)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__P2(struct soap*, struct ns1__P2 *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__P2(struct soap*, const struct ns1__P2 *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__P2(struct soap*, const char*, int, const struct ns1__P2 *, const char*);
+SOAP_FMAC3 struct ns1__P2 * SOAP_FMAC4 soap_in_ns1__P2(struct soap*, const char*, struct ns1__P2 *, const char*);
+
+#ifndef soap_write_ns1__P2
+#define soap_write_ns1__P2(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__P2(soap, data), 0) || soap_put_ns1__P2(soap, data, "ns1:P2", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__P2(struct soap*, const struct ns1__P2 *, const char*, const char*);
+
+#ifndef soap_read_ns1__P2
+#define soap_read_ns1__P2(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__P2(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__P2 * SOAP_FMAC4 soap_get_ns1__P2(struct soap*, struct ns1__P2 *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__P2Response
+#define SOAP_TYPE_ns1__P2Response (83)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__P2Response(struct soap*, struct ns1__P2Response *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__P2Response(struct soap*, const struct ns1__P2Response *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__P2Response(struct soap*, const char*, int, const struct ns1__P2Response *, const char*);
+SOAP_FMAC3 struct ns1__P2Response * SOAP_FMAC4 soap_in_ns1__P2Response(struct soap*, const char*, struct ns1__P2Response *, const char*);
+
+#ifndef soap_write_ns1__P2Response
+#define soap_write_ns1__P2Response(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__P2Response(soap, data), 0) || soap_put_ns1__P2Response(soap, data, "ns1:P2Response", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__P2Response(struct soap*, const struct ns1__P2Response *, const char*, const char*);
+
+#ifndef soap_read_ns1__P2Response
+#define soap_read_ns1__P2Response(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__P2Response(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__P2Response * SOAP_FMAC4 soap_get_ns1__P2Response(struct soap*, struct ns1__P2Response *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREmva
+#define SOAP_TYPE_ns1__codon_USCOREmva (80)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREmva(struct soap*, struct ns1__codon_USCOREmva *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREmva(struct soap*, const struct ns1__codon_USCOREmva *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREmva(struct soap*, const char*, int, const struct ns1__codon_USCOREmva *, const char*);
+SOAP_FMAC3 struct ns1__codon_USCOREmva * SOAP_FMAC4 soap_in_ns1__codon_USCOREmva(struct soap*, const char*, struct ns1__codon_USCOREmva *, const char*);
+
+#ifndef soap_write_ns1__codon_USCOREmva
+#define soap_write_ns1__codon_USCOREmva(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__codon_USCOREmva(soap, data), 0) || soap_put_ns1__codon_USCOREmva(soap, data, "ns1:codon_mva", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREmva(struct soap*, const struct ns1__codon_USCOREmva *, const char*, const char*);
+
+#ifndef soap_read_ns1__codon_USCOREmva
+#define soap_read_ns1__codon_USCOREmva(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__codon_USCOREmva(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__codon_USCOREmva * SOAP_FMAC4 soap_get_ns1__codon_USCOREmva(struct soap*, struct ns1__codon_USCOREmva *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREmvaResponse
+#define SOAP_TYPE_ns1__codon_USCOREmvaResponse (79)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREmvaResponse(struct soap*, struct ns1__codon_USCOREmvaResponse *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREmvaResponse(struct soap*, const struct ns1__codon_USCOREmvaResponse *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREmvaResponse(struct soap*, const char*, int, const struct ns1__codon_USCOREmvaResponse *, const char*);
+SOAP_FMAC3 struct ns1__codon_USCOREmvaResponse * SOAP_FMAC4 soap_in_ns1__codon_USCOREmvaResponse(struct soap*, const char*, struct ns1__codon_USCOREmvaResponse *, const char*);
+
+#ifndef soap_write_ns1__codon_USCOREmvaResponse
+#define soap_write_ns1__codon_USCOREmvaResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__codon_USCOREmvaResponse(soap, data), 0) || soap_put_ns1__codon_USCOREmvaResponse(soap, data, "ns1:codon_mvaResponse", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREmvaResponse(struct soap*, const struct ns1__codon_USCOREmvaResponse *, const char*, const char*);
+
+#ifndef soap_read_ns1__codon_USCOREmvaResponse
+#define soap_read_ns1__codon_USCOREmvaResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__codon_USCOREmvaResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__codon_USCOREmvaResponse * SOAP_FMAC4 soap_get_ns1__codon_USCOREmvaResponse(struct soap*, struct ns1__codon_USCOREmvaResponse *, const char*, const char*);
+
+#ifndef SOAP_TYPE_arrayOut
+#define SOAP_TYPE_arrayOut (76)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_arrayOut(struct soap*, struct arrayOut *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_arrayOut(struct soap*, struct arrayOut const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_arrayOut(struct soap*, const char*, int, const struct arrayOut *, const char*);
+SOAP_FMAC3 struct arrayOut * SOAP_FMAC4 soap_in_arrayOut(struct soap*, const char*, struct arrayOut *, const char*);
+
+#ifndef soap_write_arrayOut
+#define soap_write_arrayOut(soap, data) ( soap_begin_send(soap) || (soap_serialize_arrayOut(soap, data), 0) || soap_put_arrayOut(soap, data, "SOAP-ENC:Array", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_arrayOut(struct soap*, const struct arrayOut *, const char*, const char*);
+
+#ifndef soap_read_arrayOut
+#define soap_read_arrayOut(soap, data) ( soap_begin_recv(soap) || !soap_get_arrayOut(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct arrayOut * SOAP_FMAC4 soap_get_arrayOut(struct soap*, struct arrayOut *, const char*, const char*);
+
+#ifndef SOAP_TYPE_arrayIn
+#define SOAP_TYPE_arrayIn (74)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_arrayIn(struct soap*, struct arrayIn *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_arrayIn(struct soap*, struct arrayIn const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_arrayIn(struct soap*, const char*, int, const struct arrayIn *, const char*);
+SOAP_FMAC3 struct arrayIn * SOAP_FMAC4 soap_in_arrayIn(struct soap*, const char*, struct arrayIn *, const char*);
+
+#ifndef soap_write_arrayIn
+#define soap_write_arrayIn(soap, data) ( soap_begin_send(soap) || (soap_serialize_arrayIn(soap, data), 0) || soap_put_arrayIn(soap, data, "SOAP-ENC:Array", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_arrayIn(struct soap*, const struct arrayIn *, const char*, const char*);
+
+#ifndef soap_read_arrayIn
+#define soap_read_arrayIn(soap, data) ( soap_begin_recv(soap) || !soap_get_arrayIn(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct arrayIn * SOAP_FMAC4 soap_get_arrayIn(struct soap*, struct arrayIn *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__S_USCOREvalueInputParams
+#define SOAP_TYPE_ns1__S_USCOREvalueInputParams (73)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__S_USCOREvalueInputParams(struct soap*, struct ns1__S_USCOREvalueInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__S_USCOREvalueInputParams(struct soap*, const struct ns1__S_USCOREvalueInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__S_USCOREvalueInputParams(struct soap*, const char*, int, const struct ns1__S_USCOREvalueInputParams *, const char*);
+SOAP_FMAC3 struct ns1__S_USCOREvalueInputParams * SOAP_FMAC4 soap_in_ns1__S_USCOREvalueInputParams(struct soap*, const char*, struct ns1__S_USCOREvalueInputParams *, const char*);
+
+#ifndef soap_write_ns1__S_USCOREvalueInputParams
+#define soap_write_ns1__S_USCOREvalueInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__S_USCOREvalueInputParams(soap, data), 0) || soap_put_ns1__S_USCOREvalueInputParams(soap, data, "ns1:S_valueInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__S_USCOREvalueInputParams(struct soap*, const struct ns1__S_USCOREvalueInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__S_USCOREvalueInputParams
+#define soap_read_ns1__S_USCOREvalueInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__S_USCOREvalueInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__S_USCOREvalueInputParams * SOAP_FMAC4 soap_get_ns1__S_USCOREvalueInputParams(struct soap*, struct ns1__S_USCOREvalueInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__scsInputParams
+#define SOAP_TYPE_ns1__scsInputParams (72)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__scsInputParams(struct soap*, struct ns1__scsInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__scsInputParams(struct soap*, const struct ns1__scsInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__scsInputParams(struct soap*, const char*, int, const struct ns1__scsInputParams *, const char*);
+SOAP_FMAC3 struct ns1__scsInputParams * SOAP_FMAC4 soap_in_ns1__scsInputParams(struct soap*, const char*, struct ns1__scsInputParams *, const char*);
+
+#ifndef soap_write_ns1__scsInputParams
+#define soap_write_ns1__scsInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__scsInputParams(soap, data), 0) || soap_put_ns1__scsInputParams(soap, data, "ns1:scsInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__scsInputParams(struct soap*, const struct ns1__scsInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__scsInputParams
+#define soap_read_ns1__scsInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__scsInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__scsInputParams * SOAP_FMAC4 soap_get_ns1__scsInputParams(struct soap*, struct ns1__scsInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__signatureInputParams
+#define SOAP_TYPE_ns1__signatureInputParams (71)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__signatureInputParams(struct soap*, struct ns1__signatureInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__signatureInputParams(struct soap*, const struct ns1__signatureInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__signatureInputParams(struct soap*, const char*, int, const struct ns1__signatureInputParams *, const char*);
+SOAP_FMAC3 struct ns1__signatureInputParams * SOAP_FMAC4 soap_in_ns1__signatureInputParams(struct soap*, const char*, struct ns1__signatureInputParams *, const char*);
+
+#ifndef soap_write_ns1__signatureInputParams
+#define soap_write_ns1__signatureInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__signatureInputParams(soap, data), 0) || soap_put_ns1__signatureInputParams(soap, data, "ns1:signatureInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__signatureInputParams(struct soap*, const struct ns1__signatureInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__signatureInputParams
+#define soap_read_ns1__signatureInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__signatureInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__signatureInputParams * SOAP_FMAC4 soap_get_ns1__signatureInputParams(struct soap*, struct ns1__signatureInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__lda_USCOREbiasInputParams
+#define SOAP_TYPE_ns1__lda_USCOREbiasInputParams (70)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__lda_USCOREbiasInputParams(struct soap*, struct ns1__lda_USCOREbiasInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__lda_USCOREbiasInputParams(struct soap*, const struct ns1__lda_USCOREbiasInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__lda_USCOREbiasInputParams(struct soap*, const char*, int, const struct ns1__lda_USCOREbiasInputParams *, const char*);
+SOAP_FMAC3 struct ns1__lda_USCOREbiasInputParams * SOAP_FMAC4 soap_in_ns1__lda_USCOREbiasInputParams(struct soap*, const char*, struct ns1__lda_USCOREbiasInputParams *, const char*);
+
+#ifndef soap_write_ns1__lda_USCOREbiasInputParams
+#define soap_write_ns1__lda_USCOREbiasInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__lda_USCOREbiasInputParams(soap, data), 0) || soap_put_ns1__lda_USCOREbiasInputParams(soap, data, "ns1:lda_biasInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__lda_USCOREbiasInputParams(struct soap*, const struct ns1__lda_USCOREbiasInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__lda_USCOREbiasInputParams
+#define soap_read_ns1__lda_USCOREbiasInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__lda_USCOREbiasInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__lda_USCOREbiasInputParams * SOAP_FMAC4 soap_get_ns1__lda_USCOREbiasInputParams(struct soap*, struct ns1__lda_USCOREbiasInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__kmer_USCOREtableInputParams
+#define SOAP_TYPE_ns1__kmer_USCOREtableInputParams (69)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__kmer_USCOREtableInputParams(struct soap*, struct ns1__kmer_USCOREtableInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__kmer_USCOREtableInputParams(struct soap*, const struct ns1__kmer_USCOREtableInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__kmer_USCOREtableInputParams(struct soap*, const char*, int, const struct ns1__kmer_USCOREtableInputParams *, const char*);
+SOAP_FMAC3 struct ns1__kmer_USCOREtableInputParams * SOAP_FMAC4 soap_in_ns1__kmer_USCOREtableInputParams(struct soap*, const char*, struct ns1__kmer_USCOREtableInputParams *, const char*);
+
+#ifndef soap_write_ns1__kmer_USCOREtableInputParams
+#define soap_write_ns1__kmer_USCOREtableInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__kmer_USCOREtableInputParams(soap, data), 0) || soap_put_ns1__kmer_USCOREtableInputParams(soap, data, "ns1:kmer_tableInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__kmer_USCOREtableInputParams(struct soap*, const struct ns1__kmer_USCOREtableInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__kmer_USCOREtableInputParams
+#define soap_read_ns1__kmer_USCOREtableInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__kmer_USCOREtableInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__kmer_USCOREtableInputParams * SOAP_FMAC4 soap_get_ns1__kmer_USCOREtableInputParams(struct soap*, struct ns1__kmer_USCOREtableInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__base_USCOREz_USCOREvalueInputParams
+#define SOAP_TYPE_ns1__base_USCOREz_USCOREvalueInputParams (68)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREz_USCOREvalueInputParams(struct soap*, struct ns1__base_USCOREz_USCOREvalueInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREz_USCOREvalueInputParams(struct soap*, const struct ns1__base_USCOREz_USCOREvalueInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREz_USCOREvalueInputParams(struct soap*, const char*, int, const struct ns1__base_USCOREz_USCOREvalueInputParams *, const char*);
+SOAP_FMAC3 struct ns1__base_USCOREz_USCOREvalueInputParams * SOAP_FMAC4 soap_in_ns1__base_USCOREz_USCOREvalueInputParams(struct soap*, const char*, struct ns1__base_USCOREz_USCOREvalueInputParams *, const char*);
+
+#ifndef soap_write_ns1__base_USCOREz_USCOREvalueInputParams
+#define soap_write_ns1__base_USCOREz_USCOREvalueInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__base_USCOREz_USCOREvalueInputParams(soap, data), 0) || soap_put_ns1__base_USCOREz_USCOREvalueInputParams(soap, data, "ns1:base_z_valueInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREz_USCOREvalueInputParams(struct soap*, const struct ns1__base_USCOREz_USCOREvalueInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__base_USCOREz_USCOREvalueInputParams
+#define soap_read_ns1__base_USCOREz_USCOREvalueInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__base_USCOREz_USCOREvalueInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__base_USCOREz_USCOREvalueInputParams * SOAP_FMAC4 soap_get_ns1__base_USCOREz_USCOREvalueInputParams(struct soap*, struct ns1__base_USCOREz_USCOREvalueInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__base_USCOREcounterInputParams
+#define SOAP_TYPE_ns1__base_USCOREcounterInputParams (67)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREcounterInputParams(struct soap*, struct ns1__base_USCOREcounterInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREcounterInputParams(struct soap*, const struct ns1__base_USCOREcounterInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREcounterInputParams(struct soap*, const char*, int, const struct ns1__base_USCOREcounterInputParams *, const char*);
+SOAP_FMAC3 struct ns1__base_USCOREcounterInputParams * SOAP_FMAC4 soap_in_ns1__base_USCOREcounterInputParams(struct soap*, const char*, struct ns1__base_USCOREcounterInputParams *, const char*);
+
+#ifndef soap_write_ns1__base_USCOREcounterInputParams
+#define soap_write_ns1__base_USCOREcounterInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__base_USCOREcounterInputParams(soap, data), 0) || soap_put_ns1__base_USCOREcounterInputParams(soap, data, "ns1:base_counterInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREcounterInputParams(struct soap*, const struct ns1__base_USCOREcounterInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__base_USCOREcounterInputParams
+#define soap_read_ns1__base_USCOREcounterInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__base_USCOREcounterInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__base_USCOREcounterInputParams * SOAP_FMAC4 soap_get_ns1__base_USCOREcounterInputParams(struct soap*, struct ns1__base_USCOREcounterInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__B1InputParams
+#define SOAP_TYPE_ns1__B1InputParams (66)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__B1InputParams(struct soap*, struct ns1__B1InputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__B1InputParams(struct soap*, const struct ns1__B1InputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__B1InputParams(struct soap*, const char*, int, const struct ns1__B1InputParams *, const char*);
+SOAP_FMAC3 struct ns1__B1InputParams * SOAP_FMAC4 soap_in_ns1__B1InputParams(struct soap*, const char*, struct ns1__B1InputParams *, const char*);
+
+#ifndef soap_write_ns1__B1InputParams
+#define soap_write_ns1__B1InputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__B1InputParams(soap, data), 0) || soap_put_ns1__B1InputParams(soap, data, "ns1:B1InputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__B1InputParams(struct soap*, const struct ns1__B1InputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__B1InputParams
+#define soap_read_ns1__B1InputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__B1InputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__B1InputParams * SOAP_FMAC4 soap_get_ns1__B1InputParams(struct soap*, struct ns1__B1InputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__cgrInputParams
+#define SOAP_TYPE_ns1__cgrInputParams (65)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__cgrInputParams(struct soap*, struct ns1__cgrInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__cgrInputParams(struct soap*, const struct ns1__cgrInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__cgrInputParams(struct soap*, const char*, int, const struct ns1__cgrInputParams *, const char*);
+SOAP_FMAC3 struct ns1__cgrInputParams * SOAP_FMAC4 soap_in_ns1__cgrInputParams(struct soap*, const char*, struct ns1__cgrInputParams *, const char*);
+
+#ifndef soap_write_ns1__cgrInputParams
+#define soap_write_ns1__cgrInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__cgrInputParams(soap, data), 0) || soap_put_ns1__cgrInputParams(soap, data, "ns1:cgrInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__cgrInputParams(struct soap*, const struct ns1__cgrInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__cgrInputParams
+#define soap_read_ns1__cgrInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__cgrInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__cgrInputParams * SOAP_FMAC4 soap_get_ns1__cgrInputParams(struct soap*, struct ns1__cgrInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__dinucInputParams
+#define SOAP_TYPE_ns1__dinucInputParams (64)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__dinucInputParams(struct soap*, struct ns1__dinucInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__dinucInputParams(struct soap*, const struct ns1__dinucInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__dinucInputParams(struct soap*, const char*, int, const struct ns1__dinucInputParams *, const char*);
+SOAP_FMAC3 struct ns1__dinucInputParams * SOAP_FMAC4 soap_in_ns1__dinucInputParams(struct soap*, const char*, struct ns1__dinucInputParams *, const char*);
+
+#ifndef soap_write_ns1__dinucInputParams
+#define soap_write_ns1__dinucInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__dinucInputParams(soap, data), 0) || soap_put_ns1__dinucInputParams(soap, data, "ns1:dinucInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__dinucInputParams(struct soap*, const struct ns1__dinucInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__dinucInputParams
+#define soap_read_ns1__dinucInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__dinucInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__dinucInputParams * SOAP_FMAC4 soap_get_ns1__dinucInputParams(struct soap*, struct ns1__dinucInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__caiInputParams
+#define SOAP_TYPE_ns1__caiInputParams (63)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__caiInputParams(struct soap*, struct ns1__caiInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__caiInputParams(struct soap*, const struct ns1__caiInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__caiInputParams(struct soap*, const char*, int, const struct ns1__caiInputParams *, const char*);
+SOAP_FMAC3 struct ns1__caiInputParams * SOAP_FMAC4 soap_in_ns1__caiInputParams(struct soap*, const char*, struct ns1__caiInputParams *, const char*);
+
+#ifndef soap_write_ns1__caiInputParams
+#define soap_write_ns1__caiInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__caiInputParams(soap, data), 0) || soap_put_ns1__caiInputParams(soap, data, "ns1:caiInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__caiInputParams(struct soap*, const struct ns1__caiInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__caiInputParams
+#define soap_read_ns1__caiInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__caiInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__caiInputParams * SOAP_FMAC4 soap_get_ns1__caiInputParams(struct soap*, struct ns1__caiInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams
+#define SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams (62)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap*, struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap*, const struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap*, const char*, int, const struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *, const char*);
+SOAP_FMAC3 struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams * SOAP_FMAC4 soap_in_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap*, const char*, struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *, const char*);
+
+#ifndef soap_write_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams
+#define soap_write_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, data), 0) || soap_put_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, data, "ns1:filter_cds_by_atgInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap*, const struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams
+#define soap_read_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams * SOAP_FMAC4 soap_get_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap*, struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__gcsiInputParams
+#define SOAP_TYPE_ns1__gcsiInputParams (61)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__gcsiInputParams(struct soap*, struct ns1__gcsiInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__gcsiInputParams(struct soap*, const struct ns1__gcsiInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__gcsiInputParams(struct soap*, const char*, int, const struct ns1__gcsiInputParams *, const char*);
+SOAP_FMAC3 struct ns1__gcsiInputParams * SOAP_FMAC4 soap_in_ns1__gcsiInputParams(struct soap*, const char*, struct ns1__gcsiInputParams *, const char*);
+
+#ifndef soap_write_ns1__gcsiInputParams
+#define soap_write_ns1__gcsiInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__gcsiInputParams(soap, data), 0) || soap_put_ns1__gcsiInputParams(soap, data, "ns1:gcsiInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__gcsiInputParams(struct soap*, const struct ns1__gcsiInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__gcsiInputParams
+#define soap_read_ns1__gcsiInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__gcsiInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__gcsiInputParams * SOAP_FMAC4 soap_get_ns1__gcsiInputParams(struct soap*, struct ns1__gcsiInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__query_USCOREstrandInputParams
+#define SOAP_TYPE_ns1__query_USCOREstrandInputParams (60)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__query_USCOREstrandInputParams(struct soap*, struct ns1__query_USCOREstrandInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__query_USCOREstrandInputParams(struct soap*, const struct ns1__query_USCOREstrandInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__query_USCOREstrandInputParams(struct soap*, const char*, int, const struct ns1__query_USCOREstrandInputParams *, const char*);
+SOAP_FMAC3 struct ns1__query_USCOREstrandInputParams * SOAP_FMAC4 soap_in_ns1__query_USCOREstrandInputParams(struct soap*, const char*, struct ns1__query_USCOREstrandInputParams *, const char*);
+
+#ifndef soap_write_ns1__query_USCOREstrandInputParams
+#define soap_write_ns1__query_USCOREstrandInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__query_USCOREstrandInputParams(soap, data), 0) || soap_put_ns1__query_USCOREstrandInputParams(soap, data, "ns1:query_strandInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__query_USCOREstrandInputParams(struct soap*, const struct ns1__query_USCOREstrandInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__query_USCOREstrandInputParams
+#define soap_read_ns1__query_USCOREstrandInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__query_USCOREstrandInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__query_USCOREstrandInputParams * SOAP_FMAC4 soap_get_ns1__query_USCOREstrandInputParams(struct soap*, struct ns1__query_USCOREstrandInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__genomicskewInputParams
+#define SOAP_TYPE_ns1__genomicskewInputParams (59)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genomicskewInputParams(struct soap*, struct ns1__genomicskewInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genomicskewInputParams(struct soap*, const struct ns1__genomicskewInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genomicskewInputParams(struct soap*, const char*, int, const struct ns1__genomicskewInputParams *, const char*);
+SOAP_FMAC3 struct ns1__genomicskewInputParams * SOAP_FMAC4 soap_in_ns1__genomicskewInputParams(struct soap*, const char*, struct ns1__genomicskewInputParams *, const char*);
+
+#ifndef soap_write_ns1__genomicskewInputParams
+#define soap_write_ns1__genomicskewInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__genomicskewInputParams(soap, data), 0) || soap_put_ns1__genomicskewInputParams(soap, data, "ns1:genomicskewInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genomicskewInputParams(struct soap*, const struct ns1__genomicskewInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__genomicskewInputParams
+#define soap_read_ns1__genomicskewInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__genomicskewInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__genomicskewInputParams * SOAP_FMAC4 soap_get_ns1__genomicskewInputParams(struct soap*, struct ns1__genomicskewInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__palindromeInputParams
+#define SOAP_TYPE_ns1__palindromeInputParams (58)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__palindromeInputParams(struct soap*, struct ns1__palindromeInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__palindromeInputParams(struct soap*, const struct ns1__palindromeInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__palindromeInputParams(struct soap*, const char*, int, const struct ns1__palindromeInputParams *, const char*);
+SOAP_FMAC3 struct ns1__palindromeInputParams * SOAP_FMAC4 soap_in_ns1__palindromeInputParams(struct soap*, const char*, struct ns1__palindromeInputParams *, const char*);
+
+#ifndef soap_write_ns1__palindromeInputParams
+#define soap_write_ns1__palindromeInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__palindromeInputParams(soap, data), 0) || soap_put_ns1__palindromeInputParams(soap, data, "ns1:palindromeInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__palindromeInputParams(struct soap*, const struct ns1__palindromeInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__palindromeInputParams
+#define soap_read_ns1__palindromeInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__palindromeInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__palindromeInputParams * SOAP_FMAC4 soap_get_ns1__palindromeInputParams(struct soap*, struct ns1__palindromeInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyInputParams
+#define SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyInputParams (57)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCORErelative_USCOREentropyInputParams(struct soap*, struct ns1__base_USCORErelative_USCOREentropyInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCORErelative_USCOREentropyInputParams(struct soap*, const struct ns1__base_USCORErelative_USCOREentropyInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCORErelative_USCOREentropyInputParams(struct soap*, const char*, int, const struct ns1__base_USCORErelative_USCOREentropyInputParams *, const char*);
+SOAP_FMAC3 struct ns1__base_USCORErelative_USCOREentropyInputParams * SOAP_FMAC4 soap_in_ns1__base_USCORErelative_USCOREentropyInputParams(struct soap*, const char*, struct ns1__base_USCORErelative_USCOREentropyInputParams *, const char*);
+
+#ifndef soap_write_ns1__base_USCORErelative_USCOREentropyInputParams
+#define soap_write_ns1__base_USCORErelative_USCOREentropyInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__base_USCORErelative_USCOREentropyInputParams(soap, data), 0) || soap_put_ns1__base_USCORErelative_USCOREentropyInputParams(soap, data, "ns1:base_relative_entropyInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCORErelative_USCOREentropyInputParams(struct soap*, const struct ns1__base_USCORErelative_USCOREentropyInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__base_USCORErelative_USCOREentropyInputParams
+#define soap_read_ns1__base_USCORErelative_USCOREentropyInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__base_USCORErelative_USCOREentropyInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__base_USCORErelative_USCOREentropyInputParams * SOAP_FMAC4 soap_get_ns1__base_USCORErelative_USCOREentropyInputParams(struct soap*, struct ns1__base_USCORErelative_USCOREentropyInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__view_USCOREcdsInputParams
+#define SOAP_TYPE_ns1__view_USCOREcdsInputParams (56)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__view_USCOREcdsInputParams(struct soap*, struct ns1__view_USCOREcdsInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__view_USCOREcdsInputParams(struct soap*, const struct ns1__view_USCOREcdsInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__view_USCOREcdsInputParams(struct soap*, const char*, int, const struct ns1__view_USCOREcdsInputParams *, const char*);
+SOAP_FMAC3 struct ns1__view_USCOREcdsInputParams * SOAP_FMAC4 soap_in_ns1__view_USCOREcdsInputParams(struct soap*, const char*, struct ns1__view_USCOREcdsInputParams *, const char*);
+
+#ifndef soap_write_ns1__view_USCOREcdsInputParams
+#define soap_write_ns1__view_USCOREcdsInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__view_USCOREcdsInputParams(soap, data), 0) || soap_put_ns1__view_USCOREcdsInputParams(soap, data, "ns1:view_cdsInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__view_USCOREcdsInputParams(struct soap*, const struct ns1__view_USCOREcdsInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__view_USCOREcdsInputParams
+#define soap_read_ns1__view_USCOREcdsInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__view_USCOREcdsInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__view_USCOREcdsInputParams * SOAP_FMAC4 soap_get_ns1__view_USCOREcdsInputParams(struct soap*, struct ns1__view_USCOREcdsInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREcounterInputParams
+#define SOAP_TYPE_ns1__codon_USCOREcounterInputParams (55)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREcounterInputParams(struct soap*, struct ns1__codon_USCOREcounterInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREcounterInputParams(struct soap*, const struct ns1__codon_USCOREcounterInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREcounterInputParams(struct soap*, const char*, int, const struct ns1__codon_USCOREcounterInputParams *, const char*);
+SOAP_FMAC3 struct ns1__codon_USCOREcounterInputParams * SOAP_FMAC4 soap_in_ns1__codon_USCOREcounterInputParams(struct soap*, const char*, struct ns1__codon_USCOREcounterInputParams *, const char*);
+
+#ifndef soap_write_ns1__codon_USCOREcounterInputParams
+#define soap_write_ns1__codon_USCOREcounterInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__codon_USCOREcounterInputParams(soap, data), 0) || soap_put_ns1__codon_USCOREcounterInputParams(soap, data, "ns1:codon_counterInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREcounterInputParams(struct soap*, const struct ns1__codon_USCOREcounterInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__codon_USCOREcounterInputParams
+#define soap_read_ns1__codon_USCOREcounterInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__codon_USCOREcounterInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__codon_USCOREcounterInputParams * SOAP_FMAC4 soap_get_ns1__codon_USCOREcounterInputParams(struct soap*, struct ns1__codon_USCOREcounterInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__EwInputParams
+#define SOAP_TYPE_ns1__EwInputParams (54)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__EwInputParams(struct soap*, struct ns1__EwInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__EwInputParams(struct soap*, const struct ns1__EwInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__EwInputParams(struct soap*, const char*, int, const struct ns1__EwInputParams *, const char*);
+SOAP_FMAC3 struct ns1__EwInputParams * SOAP_FMAC4 soap_in_ns1__EwInputParams(struct soap*, const char*, struct ns1__EwInputParams *, const char*);
+
+#ifndef soap_write_ns1__EwInputParams
+#define soap_write_ns1__EwInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__EwInputParams(soap, data), 0) || soap_put_ns1__EwInputParams(soap, data, "ns1:EwInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__EwInputParams(struct soap*, const struct ns1__EwInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__EwInputParams
+#define soap_read_ns1__EwInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__EwInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__EwInputParams * SOAP_FMAC4 soap_get_ns1__EwInputParams(struct soap*, struct ns1__EwInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__find_USCOREiteronInputParams
+#define SOAP_TYPE_ns1__find_USCOREiteronInputParams (53)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREiteronInputParams(struct soap*, struct ns1__find_USCOREiteronInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREiteronInputParams(struct soap*, const struct ns1__find_USCOREiteronInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREiteronInputParams(struct soap*, const char*, int, const struct ns1__find_USCOREiteronInputParams *, const char*);
+SOAP_FMAC3 struct ns1__find_USCOREiteronInputParams * SOAP_FMAC4 soap_in_ns1__find_USCOREiteronInputParams(struct soap*, const char*, struct ns1__find_USCOREiteronInputParams *, const char*);
+
+#ifndef soap_write_ns1__find_USCOREiteronInputParams
+#define soap_write_ns1__find_USCOREiteronInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__find_USCOREiteronInputParams(soap, data), 0) || soap_put_ns1__find_USCOREiteronInputParams(soap, data, "ns1:find_iteronInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREiteronInputParams(struct soap*, const struct ns1__find_USCOREiteronInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__find_USCOREiteronInputParams
+#define soap_read_ns1__find_USCOREiteronInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__find_USCOREiteronInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREiteronInputParams * SOAP_FMAC4 soap_get_ns1__find_USCOREiteronInputParams(struct soap*, struct ns1__find_USCOREiteronInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderInputParams
+#define SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderInputParams (52)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__over_USCORElapping_USCOREfinderInputParams(struct soap*, struct ns1__over_USCORElapping_USCOREfinderInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__over_USCORElapping_USCOREfinderInputParams(struct soap*, const struct ns1__over_USCORElapping_USCOREfinderInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__over_USCORElapping_USCOREfinderInputParams(struct soap*, const char*, int, const struct ns1__over_USCORElapping_USCOREfinderInputParams *, const char*);
+SOAP_FMAC3 struct ns1__over_USCORElapping_USCOREfinderInputParams * SOAP_FMAC4 soap_in_ns1__over_USCORElapping_USCOREfinderInputParams(struct soap*, const char*, struct ns1__over_USCORElapping_USCOREfinderInputParams *, const char*);
+
+#ifndef soap_write_ns1__over_USCORElapping_USCOREfinderInputParams
+#define soap_write_ns1__over_USCORElapping_USCOREfinderInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__over_USCORElapping_USCOREfinderInputParams(soap, data), 0) || soap_put_ns1__over_USCORElapping_USCOREfinderInputParams(soap, data, "ns1:over_lapping_finderInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__over_USCORElapping_USCOREfinderInputParams(struct soap*, const struct ns1__over_USCORElapping_USCOREfinderInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__over_USCORElapping_USCOREfinderInputParams
+#define soap_read_ns1__over_USCORElapping_USCOREfinderInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__over_USCORElapping_USCOREfinderInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__over_USCORElapping_USCOREfinderInputParams * SOAP_FMAC4 soap_get_ns1__over_USCORElapping_USCOREfinderInputParams(struct soap*, struct ns1__over_USCORElapping_USCOREfinderInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREcompilerInputParams
+#define SOAP_TYPE_ns1__codon_USCOREcompilerInputParams (51)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREcompilerInputParams(struct soap*, struct ns1__codon_USCOREcompilerInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREcompilerInputParams(struct soap*, const struct ns1__codon_USCOREcompilerInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREcompilerInputParams(struct soap*, const char*, int, const struct ns1__codon_USCOREcompilerInputParams *, const char*);
+SOAP_FMAC3 struct ns1__codon_USCOREcompilerInputParams * SOAP_FMAC4 soap_in_ns1__codon_USCOREcompilerInputParams(struct soap*, const char*, struct ns1__codon_USCOREcompilerInputParams *, const char*);
+
+#ifndef soap_write_ns1__codon_USCOREcompilerInputParams
+#define soap_write_ns1__codon_USCOREcompilerInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__codon_USCOREcompilerInputParams(soap, data), 0) || soap_put_ns1__codon_USCOREcompilerInputParams(soap, data, "ns1:codon_compilerInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREcompilerInputParams(struct soap*, const struct ns1__codon_USCOREcompilerInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__codon_USCOREcompilerInputParams
+#define soap_read_ns1__codon_USCOREcompilerInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__codon_USCOREcompilerInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__codon_USCOREcompilerInputParams * SOAP_FMAC4 soap_get_ns1__codon_USCOREcompilerInputParams(struct soap*, struct ns1__codon_USCOREcompilerInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__aauiInputParams
+#define SOAP_TYPE_ns1__aauiInputParams (50)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__aauiInputParams(struct soap*, struct ns1__aauiInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__aauiInputParams(struct soap*, const struct ns1__aauiInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__aauiInputParams(struct soap*, const char*, int, const struct ns1__aauiInputParams *, const char*);
+SOAP_FMAC3 struct ns1__aauiInputParams * SOAP_FMAC4 soap_in_ns1__aauiInputParams(struct soap*, const char*, struct ns1__aauiInputParams *, const char*);
+
+#ifndef soap_write_ns1__aauiInputParams
+#define soap_write_ns1__aauiInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__aauiInputParams(soap, data), 0) || soap_put_ns1__aauiInputParams(soap, data, "ns1:aauiInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__aauiInputParams(struct soap*, const struct ns1__aauiInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__aauiInputParams
+#define soap_read_ns1__aauiInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__aauiInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__aauiInputParams * SOAP_FMAC4 soap_get_ns1__aauiInputParams(struct soap*, struct ns1__aauiInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__amino_USCOREcounterInputParams
+#define SOAP_TYPE_ns1__amino_USCOREcounterInputParams (49)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__amino_USCOREcounterInputParams(struct soap*, struct ns1__amino_USCOREcounterInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__amino_USCOREcounterInputParams(struct soap*, const struct ns1__amino_USCOREcounterInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__amino_USCOREcounterInputParams(struct soap*, const char*, int, const struct ns1__amino_USCOREcounterInputParams *, const char*);
+SOAP_FMAC3 struct ns1__amino_USCOREcounterInputParams * SOAP_FMAC4 soap_in_ns1__amino_USCOREcounterInputParams(struct soap*, const char*, struct ns1__amino_USCOREcounterInputParams *, const char*);
+
+#ifndef soap_write_ns1__amino_USCOREcounterInputParams
+#define soap_write_ns1__amino_USCOREcounterInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__amino_USCOREcounterInputParams(soap, data), 0) || soap_put_ns1__amino_USCOREcounterInputParams(soap, data, "ns1:amino_counterInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__amino_USCOREcounterInputParams(struct soap*, const struct ns1__amino_USCOREcounterInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__amino_USCOREcounterInputParams
+#define soap_read_ns1__amino_USCOREcounterInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__amino_USCOREcounterInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__amino_USCOREcounterInputParams * SOAP_FMAC4 soap_get_ns1__amino_USCOREcounterInputParams(struct soap*, struct ns1__amino_USCOREcounterInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__seq2pngInputParams
+#define SOAP_TYPE_ns1__seq2pngInputParams (48)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__seq2pngInputParams(struct soap*, struct ns1__seq2pngInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__seq2pngInputParams(struct soap*, const struct ns1__seq2pngInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__seq2pngInputParams(struct soap*, const char*, int, const struct ns1__seq2pngInputParams *, const char*);
+SOAP_FMAC3 struct ns1__seq2pngInputParams * SOAP_FMAC4 soap_in_ns1__seq2pngInputParams(struct soap*, const char*, struct ns1__seq2pngInputParams *, const char*);
+
+#ifndef soap_write_ns1__seq2pngInputParams
+#define soap_write_ns1__seq2pngInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__seq2pngInputParams(soap, data), 0) || soap_put_ns1__seq2pngInputParams(soap, data, "ns1:seq2pngInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__seq2pngInputParams(struct soap*, const struct ns1__seq2pngInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__seq2pngInputParams
+#define soap_read_ns1__seq2pngInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__seq2pngInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__seq2pngInputParams * SOAP_FMAC4 soap_get_ns1__seq2pngInputParams(struct soap*, struct ns1__seq2pngInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__ttestInputParams
+#define SOAP_TYPE_ns1__ttestInputParams (47)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__ttestInputParams(struct soap*, struct ns1__ttestInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__ttestInputParams(struct soap*, const struct ns1__ttestInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__ttestInputParams(struct soap*, const char*, int, const struct ns1__ttestInputParams *, const char*);
+SOAP_FMAC3 struct ns1__ttestInputParams * SOAP_FMAC4 soap_in_ns1__ttestInputParams(struct soap*, const char*, struct ns1__ttestInputParams *, const char*);
+
+#ifndef soap_write_ns1__ttestInputParams
+#define soap_write_ns1__ttestInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__ttestInputParams(soap, data), 0) || soap_put_ns1__ttestInputParams(soap, data, "ns1:ttestInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__ttestInputParams(struct soap*, const struct ns1__ttestInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__ttestInputParams
+#define soap_read_ns1__ttestInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__ttestInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__ttestInputParams * SOAP_FMAC4 soap_get_ns1__ttestInputParams(struct soap*, struct ns1__ttestInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__find_USCOREdnaAboxInputParams
+#define SOAP_TYPE_ns1__find_USCOREdnaAboxInputParams (46)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREdnaAboxInputParams(struct soap*, struct ns1__find_USCOREdnaAboxInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREdnaAboxInputParams(struct soap*, const struct ns1__find_USCOREdnaAboxInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREdnaAboxInputParams(struct soap*, const char*, int, const struct ns1__find_USCOREdnaAboxInputParams *, const char*);
+SOAP_FMAC3 struct ns1__find_USCOREdnaAboxInputParams * SOAP_FMAC4 soap_in_ns1__find_USCOREdnaAboxInputParams(struct soap*, const char*, struct ns1__find_USCOREdnaAboxInputParams *, const char*);
+
+#ifndef soap_write_ns1__find_USCOREdnaAboxInputParams
+#define soap_write_ns1__find_USCOREdnaAboxInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__find_USCOREdnaAboxInputParams(soap, data), 0) || soap_put_ns1__find_USCOREdnaAboxInputParams(soap, data, "ns1:find_dnaAboxInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREdnaAboxInputParams(struct soap*, const struct ns1__find_USCOREdnaAboxInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__find_USCOREdnaAboxInputParams
+#define soap_read_ns1__find_USCOREdnaAboxInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__find_USCOREdnaAboxInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREdnaAboxInputParams * SOAP_FMAC4 soap_get_ns1__find_USCOREdnaAboxInputParams(struct soap*, struct ns1__find_USCOREdnaAboxInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREusageInputParams
+#define SOAP_TYPE_ns1__codon_USCOREusageInputParams (45)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREusageInputParams(struct soap*, struct ns1__codon_USCOREusageInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREusageInputParams(struct soap*, const struct ns1__codon_USCOREusageInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREusageInputParams(struct soap*, const char*, int, const struct ns1__codon_USCOREusageInputParams *, const char*);
+SOAP_FMAC3 struct ns1__codon_USCOREusageInputParams * SOAP_FMAC4 soap_in_ns1__codon_USCOREusageInputParams(struct soap*, const char*, struct ns1__codon_USCOREusageInputParams *, const char*);
+
+#ifndef soap_write_ns1__codon_USCOREusageInputParams
+#define soap_write_ns1__codon_USCOREusageInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__codon_USCOREusageInputParams(soap, data), 0) || soap_put_ns1__codon_USCOREusageInputParams(soap, data, "ns1:codon_usageInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREusageInputParams(struct soap*, const struct ns1__codon_USCOREusageInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__codon_USCOREusageInputParams
+#define soap_read_ns1__codon_USCOREusageInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__codon_USCOREusageInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__codon_USCOREusageInputParams * SOAP_FMAC4 soap_get_ns1__codon_USCOREusageInputParams(struct soap*, struct ns1__codon_USCOREusageInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__buiInputParams
+#define SOAP_TYPE_ns1__buiInputParams (44)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__buiInputParams(struct soap*, struct ns1__buiInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__buiInputParams(struct soap*, const struct ns1__buiInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__buiInputParams(struct soap*, const char*, int, const struct ns1__buiInputParams *, const char*);
+SOAP_FMAC3 struct ns1__buiInputParams * SOAP_FMAC4 soap_in_ns1__buiInputParams(struct soap*, const char*, struct ns1__buiInputParams *, const char*);
+
+#ifndef soap_write_ns1__buiInputParams
+#define soap_write_ns1__buiInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__buiInputParams(soap, data), 0) || soap_put_ns1__buiInputParams(soap, data, "ns1:buiInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__buiInputParams(struct soap*, const struct ns1__buiInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__buiInputParams
+#define soap_read_ns1__buiInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__buiInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__buiInputParams * SOAP_FMAC4 soap_get_ns1__buiInputParams(struct soap*, struct ns1__buiInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__fopInputParams
+#define SOAP_TYPE_ns1__fopInputParams (43)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__fopInputParams(struct soap*, struct ns1__fopInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__fopInputParams(struct soap*, const struct ns1__fopInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__fopInputParams(struct soap*, const char*, int, const struct ns1__fopInputParams *, const char*);
+SOAP_FMAC3 struct ns1__fopInputParams * SOAP_FMAC4 soap_in_ns1__fopInputParams(struct soap*, const char*, struct ns1__fopInputParams *, const char*);
+
+#ifndef soap_write_ns1__fopInputParams
+#define soap_write_ns1__fopInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__fopInputParams(soap, data), 0) || soap_put_ns1__fopInputParams(soap, data, "ns1:fopInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__fopInputParams(struct soap*, const struct ns1__fopInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__fopInputParams
+#define soap_read_ns1__fopInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__fopInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__fopInputParams * SOAP_FMAC4 soap_get_ns1__fopInputParams(struct soap*, struct ns1__fopInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__oligomer_USCOREcounterInputParams
+#define SOAP_TYPE_ns1__oligomer_USCOREcounterInputParams (42)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__oligomer_USCOREcounterInputParams(struct soap*, struct ns1__oligomer_USCOREcounterInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__oligomer_USCOREcounterInputParams(struct soap*, const struct ns1__oligomer_USCOREcounterInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__oligomer_USCOREcounterInputParams(struct soap*, const char*, int, const struct ns1__oligomer_USCOREcounterInputParams *, const char*);
+SOAP_FMAC3 struct ns1__oligomer_USCOREcounterInputParams * SOAP_FMAC4 soap_in_ns1__oligomer_USCOREcounterInputParams(struct soap*, const char*, struct ns1__oligomer_USCOREcounterInputParams *, const char*);
+
+#ifndef soap_write_ns1__oligomer_USCOREcounterInputParams
+#define soap_write_ns1__oligomer_USCOREcounterInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__oligomer_USCOREcounterInputParams(soap, data), 0) || soap_put_ns1__oligomer_USCOREcounterInputParams(soap, data, "ns1:oligomer_counterInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__oligomer_USCOREcounterInputParams(struct soap*, const struct ns1__oligomer_USCOREcounterInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__oligomer_USCOREcounterInputParams
+#define soap_read_ns1__oligomer_USCOREcounterInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__oligomer_USCOREcounterInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREcounterInputParams * SOAP_FMAC4 soap_get_ns1__oligomer_USCOREcounterInputParams(struct soap*, struct ns1__oligomer_USCOREcounterInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__encInputParams
+#define SOAP_TYPE_ns1__encInputParams (41)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__encInputParams(struct soap*, struct ns1__encInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__encInputParams(struct soap*, const struct ns1__encInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__encInputParams(struct soap*, const char*, int, const struct ns1__encInputParams *, const char*);
+SOAP_FMAC3 struct ns1__encInputParams * SOAP_FMAC4 soap_in_ns1__encInputParams(struct soap*, const char*, struct ns1__encInputParams *, const char*);
+
+#ifndef soap_write_ns1__encInputParams
+#define soap_write_ns1__encInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__encInputParams(soap, data), 0) || soap_put_ns1__encInputParams(soap, data, "ns1:encInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__encInputParams(struct soap*, const struct ns1__encInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__encInputParams
+#define soap_read_ns1__encInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__encInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__encInputParams * SOAP_FMAC4 soap_get_ns1__encInputParams(struct soap*, struct ns1__encInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__icdiInputParams
+#define SOAP_TYPE_ns1__icdiInputParams (40)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__icdiInputParams(struct soap*, struct ns1__icdiInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__icdiInputParams(struct soap*, const struct ns1__icdiInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__icdiInputParams(struct soap*, const char*, int, const struct ns1__icdiInputParams *, const char*);
+SOAP_FMAC3 struct ns1__icdiInputParams * SOAP_FMAC4 soap_in_ns1__icdiInputParams(struct soap*, const char*, struct ns1__icdiInputParams *, const char*);
+
+#ifndef soap_write_ns1__icdiInputParams
+#define soap_write_ns1__icdiInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__icdiInputParams(soap, data), 0) || soap_put_ns1__icdiInputParams(soap, data, "ns1:icdiInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__icdiInputParams(struct soap*, const struct ns1__icdiInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__icdiInputParams
+#define soap_read_ns1__icdiInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__icdiInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__icdiInputParams * SOAP_FMAC4 soap_get_ns1__icdiInputParams(struct soap*, struct ns1__icdiInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__gcwinInputParams
+#define SOAP_TYPE_ns1__gcwinInputParams (39)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__gcwinInputParams(struct soap*, struct ns1__gcwinInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__gcwinInputParams(struct soap*, const struct ns1__gcwinInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__gcwinInputParams(struct soap*, const char*, int, const struct ns1__gcwinInputParams *, const char*);
+SOAP_FMAC3 struct ns1__gcwinInputParams * SOAP_FMAC4 soap_in_ns1__gcwinInputParams(struct soap*, const char*, struct ns1__gcwinInputParams *, const char*);
+
+#ifndef soap_write_ns1__gcwinInputParams
+#define soap_write_ns1__gcwinInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__gcwinInputParams(soap, data), 0) || soap_put_ns1__gcwinInputParams(soap, data, "ns1:gcwinInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__gcwinInputParams(struct soap*, const struct ns1__gcwinInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__gcwinInputParams
+#define soap_read_ns1__gcwinInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__gcwinInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__gcwinInputParams * SOAP_FMAC4 soap_get_ns1__gcwinInputParams(struct soap*, struct ns1__gcwinInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__find_USCOREpatternInputParams
+#define SOAP_TYPE_ns1__find_USCOREpatternInputParams (38)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREpatternInputParams(struct soap*, struct ns1__find_USCOREpatternInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREpatternInputParams(struct soap*, const struct ns1__find_USCOREpatternInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREpatternInputParams(struct soap*, const char*, int, const struct ns1__find_USCOREpatternInputParams *, const char*);
+SOAP_FMAC3 struct ns1__find_USCOREpatternInputParams * SOAP_FMAC4 soap_in_ns1__find_USCOREpatternInputParams(struct soap*, const char*, struct ns1__find_USCOREpatternInputParams *, const char*);
+
+#ifndef soap_write_ns1__find_USCOREpatternInputParams
+#define soap_write_ns1__find_USCOREpatternInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__find_USCOREpatternInputParams(soap, data), 0) || soap_put_ns1__find_USCOREpatternInputParams(soap, data, "ns1:find_patternInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREpatternInputParams(struct soap*, const struct ns1__find_USCOREpatternInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__find_USCOREpatternInputParams
+#define soap_read_ns1__find_USCOREpatternInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__find_USCOREpatternInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREpatternInputParams * SOAP_FMAC4 soap_get_ns1__find_USCOREpatternInputParams(struct soap*, struct ns1__find_USCOREpatternInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__oligomer_USCOREsearchInputParams
+#define SOAP_TYPE_ns1__oligomer_USCOREsearchInputParams (37)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__oligomer_USCOREsearchInputParams(struct soap*, struct ns1__oligomer_USCOREsearchInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__oligomer_USCOREsearchInputParams(struct soap*, const struct ns1__oligomer_USCOREsearchInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__oligomer_USCOREsearchInputParams(struct soap*, const char*, int, const struct ns1__oligomer_USCOREsearchInputParams *, const char*);
+SOAP_FMAC3 struct ns1__oligomer_USCOREsearchInputParams * SOAP_FMAC4 soap_in_ns1__oligomer_USCOREsearchInputParams(struct soap*, const char*, struct ns1__oligomer_USCOREsearchInputParams *, const char*);
+
+#ifndef soap_write_ns1__oligomer_USCOREsearchInputParams
+#define soap_write_ns1__oligomer_USCOREsearchInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__oligomer_USCOREsearchInputParams(soap, data), 0) || soap_put_ns1__oligomer_USCOREsearchInputParams(soap, data, "ns1:oligomer_searchInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__oligomer_USCOREsearchInputParams(struct soap*, const struct ns1__oligomer_USCOREsearchInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__oligomer_USCOREsearchInputParams
+#define soap_read_ns1__oligomer_USCOREsearchInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__oligomer_USCOREsearchInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREsearchInputParams * SOAP_FMAC4 soap_get_ns1__oligomer_USCOREsearchInputParams(struct soap*, struct ns1__oligomer_USCOREsearchInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__phxInputParams
+#define SOAP_TYPE_ns1__phxInputParams (36)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__phxInputParams(struct soap*, struct ns1__phxInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__phxInputParams(struct soap*, const struct ns1__phxInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__phxInputParams(struct soap*, const char*, int, const struct ns1__phxInputParams *, const char*);
+SOAP_FMAC3 struct ns1__phxInputParams * SOAP_FMAC4 soap_in_ns1__phxInputParams(struct soap*, const char*, struct ns1__phxInputParams *, const char*);
+
+#ifndef soap_write_ns1__phxInputParams
+#define soap_write_ns1__phxInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__phxInputParams(soap, data), 0) || soap_put_ns1__phxInputParams(soap, data, "ns1:phxInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__phxInputParams(struct soap*, const struct ns1__phxInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__phxInputParams
+#define soap_read_ns1__phxInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__phxInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__phxInputParams * SOAP_FMAC4 soap_get_ns1__phxInputParams(struct soap*, struct ns1__phxInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__shuffleseqInputParams
+#define SOAP_TYPE_ns1__shuffleseqInputParams (35)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__shuffleseqInputParams(struct soap*, struct ns1__shuffleseqInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__shuffleseqInputParams(struct soap*, const struct ns1__shuffleseqInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__shuffleseqInputParams(struct soap*, const char*, int, const struct ns1__shuffleseqInputParams *, const char*);
+SOAP_FMAC3 struct ns1__shuffleseqInputParams * SOAP_FMAC4 soap_in_ns1__shuffleseqInputParams(struct soap*, const char*, struct ns1__shuffleseqInputParams *, const char*);
+
+#ifndef soap_write_ns1__shuffleseqInputParams
+#define soap_write_ns1__shuffleseqInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__shuffleseqInputParams(soap, data), 0) || soap_put_ns1__shuffleseqInputParams(soap, data, "ns1:shuffleseqInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__shuffleseqInputParams(struct soap*, const struct ns1__shuffleseqInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__shuffleseqInputParams
+#define soap_read_ns1__shuffleseqInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__shuffleseqInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__shuffleseqInputParams * SOAP_FMAC4 soap_get_ns1__shuffleseqInputParams(struct soap*, struct ns1__shuffleseqInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__find_USCOREterInputParams
+#define SOAP_TYPE_ns1__find_USCOREterInputParams (34)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREterInputParams(struct soap*, struct ns1__find_USCOREterInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREterInputParams(struct soap*, const struct ns1__find_USCOREterInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREterInputParams(struct soap*, const char*, int, const struct ns1__find_USCOREterInputParams *, const char*);
+SOAP_FMAC3 struct ns1__find_USCOREterInputParams * SOAP_FMAC4 soap_in_ns1__find_USCOREterInputParams(struct soap*, const char*, struct ns1__find_USCOREterInputParams *, const char*);
+
+#ifndef soap_write_ns1__find_USCOREterInputParams
+#define soap_write_ns1__find_USCOREterInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__find_USCOREterInputParams(soap, data), 0) || soap_put_ns1__find_USCOREterInputParams(soap, data, "ns1:find_terInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREterInputParams(struct soap*, const struct ns1__find_USCOREterInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__find_USCOREterInputParams
+#define soap_read_ns1__find_USCOREterInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__find_USCOREterInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREterInputParams * SOAP_FMAC4 soap_get_ns1__find_USCOREterInputParams(struct soap*, struct ns1__find_USCOREterInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__dnawalkInputParams
+#define SOAP_TYPE_ns1__dnawalkInputParams (33)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__dnawalkInputParams(struct soap*, struct ns1__dnawalkInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__dnawalkInputParams(struct soap*, const struct ns1__dnawalkInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__dnawalkInputParams(struct soap*, const char*, int, const struct ns1__dnawalkInputParams *, const char*);
+SOAP_FMAC3 struct ns1__dnawalkInputParams * SOAP_FMAC4 soap_in_ns1__dnawalkInputParams(struct soap*, const char*, struct ns1__dnawalkInputParams *, const char*);
+
+#ifndef soap_write_ns1__dnawalkInputParams
+#define soap_write_ns1__dnawalkInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__dnawalkInputParams(soap, data), 0) || soap_put_ns1__dnawalkInputParams(soap, data, "ns1:dnawalkInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__dnawalkInputParams(struct soap*, const struct ns1__dnawalkInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__dnawalkInputParams
+#define soap_read_ns1__dnawalkInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__dnawalkInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__dnawalkInputParams * SOAP_FMAC4 soap_get_ns1__dnawalkInputParams(struct soap*, struct ns1__dnawalkInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentInputParams
+#define SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentInputParams (32)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREinformation_USCOREcontentInputParams(struct soap*, struct ns1__base_USCOREinformation_USCOREcontentInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREinformation_USCOREcontentInputParams(struct soap*, const struct ns1__base_USCOREinformation_USCOREcontentInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREinformation_USCOREcontentInputParams(struct soap*, const char*, int, const struct ns1__base_USCOREinformation_USCOREcontentInputParams *, const char*);
+SOAP_FMAC3 struct ns1__base_USCOREinformation_USCOREcontentInputParams * SOAP_FMAC4 soap_in_ns1__base_USCOREinformation_USCOREcontentInputParams(struct soap*, const char*, struct ns1__base_USCOREinformation_USCOREcontentInputParams *, const char*);
+
+#ifndef soap_write_ns1__base_USCOREinformation_USCOREcontentInputParams
+#define soap_write_ns1__base_USCOREinformation_USCOREcontentInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__base_USCOREinformation_USCOREcontentInputParams(soap, data), 0) || soap_put_ns1__base_USCOREinformation_USCOREcontentInputParams(soap, data, "ns1:base_information_contentInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREinformation_USCOREcontentInputParams(struct soap*, const struct ns1__base_USCOREinformation_USCOREcontentInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__base_USCOREinformation_USCOREcontentInputParams
+#define soap_read_ns1__base_USCOREinformation_USCOREcontentInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__base_USCOREinformation_USCOREcontentInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__base_USCOREinformation_USCOREcontentInputParams * SOAP_FMAC4 soap_get_ns1__base_USCOREinformation_USCOREcontentInputParams(struct soap*, struct ns1__base_USCOREinformation_USCOREcontentInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__togoWSInputParams
+#define SOAP_TYPE_ns1__togoWSInputParams (31)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__togoWSInputParams(struct soap*, struct ns1__togoWSInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__togoWSInputParams(struct soap*, const struct ns1__togoWSInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__togoWSInputParams(struct soap*, const char*, int, const struct ns1__togoWSInputParams *, const char*);
+SOAP_FMAC3 struct ns1__togoWSInputParams * SOAP_FMAC4 soap_in_ns1__togoWSInputParams(struct soap*, const char*, struct ns1__togoWSInputParams *, const char*);
+
+#ifndef soap_write_ns1__togoWSInputParams
+#define soap_write_ns1__togoWSInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__togoWSInputParams(soap, data), 0) || soap_put_ns1__togoWSInputParams(soap, data, "ns1:togoWSInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__togoWSInputParams(struct soap*, const struct ns1__togoWSInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__togoWSInputParams
+#define soap_read_ns1__togoWSInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__togoWSInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__togoWSInputParams * SOAP_FMAC4 soap_get_ns1__togoWSInputParams(struct soap*, struct ns1__togoWSInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__genome_USCOREmap3InputParams
+#define SOAP_TYPE_ns1__genome_USCOREmap3InputParams (30)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genome_USCOREmap3InputParams(struct soap*, struct ns1__genome_USCOREmap3InputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genome_USCOREmap3InputParams(struct soap*, const struct ns1__genome_USCOREmap3InputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genome_USCOREmap3InputParams(struct soap*, const char*, int, const struct ns1__genome_USCOREmap3InputParams *, const char*);
+SOAP_FMAC3 struct ns1__genome_USCOREmap3InputParams * SOAP_FMAC4 soap_in_ns1__genome_USCOREmap3InputParams(struct soap*, const char*, struct ns1__genome_USCOREmap3InputParams *, const char*);
+
+#ifndef soap_write_ns1__genome_USCOREmap3InputParams
+#define soap_write_ns1__genome_USCOREmap3InputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__genome_USCOREmap3InputParams(soap, data), 0) || soap_put_ns1__genome_USCOREmap3InputParams(soap, data, "ns1:genome_map3InputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genome_USCOREmap3InputParams(struct soap*, const struct ns1__genome_USCOREmap3InputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__genome_USCOREmap3InputParams
+#define soap_read_ns1__genome_USCOREmap3InputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__genome_USCOREmap3InputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__genome_USCOREmap3InputParams * SOAP_FMAC4 soap_get_ns1__genome_USCOREmap3InputParams(struct soap*, struct ns1__genome_USCOREmap3InputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__gcskewInputParams
+#define SOAP_TYPE_ns1__gcskewInputParams (29)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__gcskewInputParams(struct soap*, struct ns1__gcskewInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__gcskewInputParams(struct soap*, const struct ns1__gcskewInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__gcskewInputParams(struct soap*, const char*, int, const struct ns1__gcskewInputParams *, const char*);
+SOAP_FMAC3 struct ns1__gcskewInputParams * SOAP_FMAC4 soap_in_ns1__gcskewInputParams(struct soap*, const char*, struct ns1__gcskewInputParams *, const char*);
+
+#ifndef soap_write_ns1__gcskewInputParams
+#define soap_write_ns1__gcskewInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__gcskewInputParams(soap, data), 0) || soap_put_ns1__gcskewInputParams(soap, data, "ns1:gcskewInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__gcskewInputParams(struct soap*, const struct ns1__gcskewInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__gcskewInputParams
+#define soap_read_ns1__gcskewInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__gcskewInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__gcskewInputParams * SOAP_FMAC4 soap_get_ns1__gcskewInputParams(struct soap*, struct ns1__gcskewInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__circular_USCOREmapInputParams
+#define SOAP_TYPE_ns1__circular_USCOREmapInputParams (28)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__circular_USCOREmapInputParams(struct soap*, struct ns1__circular_USCOREmapInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__circular_USCOREmapInputParams(struct soap*, const struct ns1__circular_USCOREmapInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__circular_USCOREmapInputParams(struct soap*, const char*, int, const struct ns1__circular_USCOREmapInputParams *, const char*);
+SOAP_FMAC3 struct ns1__circular_USCOREmapInputParams * SOAP_FMAC4 soap_in_ns1__circular_USCOREmapInputParams(struct soap*, const char*, struct ns1__circular_USCOREmapInputParams *, const char*);
+
+#ifndef soap_write_ns1__circular_USCOREmapInputParams
+#define soap_write_ns1__circular_USCOREmapInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__circular_USCOREmapInputParams(soap, data), 0) || soap_put_ns1__circular_USCOREmapInputParams(soap, data, "ns1:circular_mapInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__circular_USCOREmapInputParams(struct soap*, const struct ns1__circular_USCOREmapInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__circular_USCOREmapInputParams
+#define soap_read_ns1__circular_USCOREmapInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__circular_USCOREmapInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__circular_USCOREmapInputParams * SOAP_FMAC4 soap_get_ns1__circular_USCOREmapInputParams(struct soap*, struct ns1__circular_USCOREmapInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__molecular_USCOREweightInputParams
+#define SOAP_TYPE_ns1__molecular_USCOREweightInputParams (27)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__molecular_USCOREweightInputParams(struct soap*, struct ns1__molecular_USCOREweightInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__molecular_USCOREweightInputParams(struct soap*, const struct ns1__molecular_USCOREweightInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__molecular_USCOREweightInputParams(struct soap*, const char*, int, const struct ns1__molecular_USCOREweightInputParams *, const char*);
+SOAP_FMAC3 struct ns1__molecular_USCOREweightInputParams * SOAP_FMAC4 soap_in_ns1__molecular_USCOREweightInputParams(struct soap*, const char*, struct ns1__molecular_USCOREweightInputParams *, const char*);
+
+#ifndef soap_write_ns1__molecular_USCOREweightInputParams
+#define soap_write_ns1__molecular_USCOREweightInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__molecular_USCOREweightInputParams(soap, data), 0) || soap_put_ns1__molecular_USCOREweightInputParams(soap, data, "ns1:molecular_weightInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__molecular_USCOREweightInputParams(struct soap*, const struct ns1__molecular_USCOREweightInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__molecular_USCOREweightInputParams
+#define soap_read_ns1__molecular_USCOREweightInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__molecular_USCOREweightInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__molecular_USCOREweightInputParams * SOAP_FMAC4 soap_get_ns1__molecular_USCOREweightInputParams(struct soap*, struct ns1__molecular_USCOREweightInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__delta_USCOREgcskewInputParams
+#define SOAP_TYPE_ns1__delta_USCOREgcskewInputParams (26)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__delta_USCOREgcskewInputParams(struct soap*, struct ns1__delta_USCOREgcskewInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__delta_USCOREgcskewInputParams(struct soap*, const struct ns1__delta_USCOREgcskewInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__delta_USCOREgcskewInputParams(struct soap*, const char*, int, const struct ns1__delta_USCOREgcskewInputParams *, const char*);
+SOAP_FMAC3 struct ns1__delta_USCOREgcskewInputParams * SOAP_FMAC4 soap_in_ns1__delta_USCOREgcskewInputParams(struct soap*, const char*, struct ns1__delta_USCOREgcskewInputParams *, const char*);
+
+#ifndef soap_write_ns1__delta_USCOREgcskewInputParams
+#define soap_write_ns1__delta_USCOREgcskewInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__delta_USCOREgcskewInputParams(soap, data), 0) || soap_put_ns1__delta_USCOREgcskewInputParams(soap, data, "ns1:delta_gcskewInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__delta_USCOREgcskewInputParams(struct soap*, const struct ns1__delta_USCOREgcskewInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__delta_USCOREgcskewInputParams
+#define soap_read_ns1__delta_USCOREgcskewInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__delta_USCOREgcskewInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__delta_USCOREgcskewInputParams * SOAP_FMAC4 soap_get_ns1__delta_USCOREgcskewInputParams(struct soap*, struct ns1__delta_USCOREgcskewInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__corInputParams
+#define SOAP_TYPE_ns1__corInputParams (25)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__corInputParams(struct soap*, struct ns1__corInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__corInputParams(struct soap*, const struct ns1__corInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__corInputParams(struct soap*, const char*, int, const struct ns1__corInputParams *, const char*);
+SOAP_FMAC3 struct ns1__corInputParams * SOAP_FMAC4 soap_in_ns1__corInputParams(struct soap*, const char*, struct ns1__corInputParams *, const char*);
+
+#ifndef soap_write_ns1__corInputParams
+#define soap_write_ns1__corInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__corInputParams(soap, data), 0) || soap_put_ns1__corInputParams(soap, data, "ns1:corInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__corInputParams(struct soap*, const struct ns1__corInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__corInputParams
+#define soap_read_ns1__corInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__corInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__corInputParams * SOAP_FMAC4 soap_get_ns1__corInputParams(struct soap*, struct ns1__corInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__geneskewInputParams
+#define SOAP_TYPE_ns1__geneskewInputParams (24)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__geneskewInputParams(struct soap*, struct ns1__geneskewInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__geneskewInputParams(struct soap*, const struct ns1__geneskewInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__geneskewInputParams(struct soap*, const char*, int, const struct ns1__geneskewInputParams *, const char*);
+SOAP_FMAC3 struct ns1__geneskewInputParams * SOAP_FMAC4 soap_in_ns1__geneskewInputParams(struct soap*, const char*, struct ns1__geneskewInputParams *, const char*);
+
+#ifndef soap_write_ns1__geneskewInputParams
+#define soap_write_ns1__geneskewInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__geneskewInputParams(soap, data), 0) || soap_put_ns1__geneskewInputParams(soap, data, "ns1:geneskewInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__geneskewInputParams(struct soap*, const struct ns1__geneskewInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__geneskewInputParams
+#define soap_read_ns1__geneskewInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__geneskewInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__geneskewInputParams * SOAP_FMAC4 soap_get_ns1__geneskewInputParams(struct soap*, struct ns1__geneskewInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriInputParams
+#define SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriInputParams (23)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genes_USCOREfrom_USCOREoriInputParams(struct soap*, struct ns1__genes_USCOREfrom_USCOREoriInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genes_USCOREfrom_USCOREoriInputParams(struct soap*, const struct ns1__genes_USCOREfrom_USCOREoriInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genes_USCOREfrom_USCOREoriInputParams(struct soap*, const char*, int, const struct ns1__genes_USCOREfrom_USCOREoriInputParams *, const char*);
+SOAP_FMAC3 struct ns1__genes_USCOREfrom_USCOREoriInputParams * SOAP_FMAC4 soap_in_ns1__genes_USCOREfrom_USCOREoriInputParams(struct soap*, const char*, struct ns1__genes_USCOREfrom_USCOREoriInputParams *, const char*);
+
+#ifndef soap_write_ns1__genes_USCOREfrom_USCOREoriInputParams
+#define soap_write_ns1__genes_USCOREfrom_USCOREoriInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__genes_USCOREfrom_USCOREoriInputParams(soap, data), 0) || soap_put_ns1__genes_USCOREfrom_USCOREoriInputParams(soap, data, "ns1:genes_from_oriInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genes_USCOREfrom_USCOREoriInputParams(struct soap*, const struct ns1__genes_USCOREfrom_USCOREoriInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__genes_USCOREfrom_USCOREoriInputParams
+#define soap_read_ns1__genes_USCOREfrom_USCOREoriInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__genes_USCOREfrom_USCOREoriInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__genes_USCOREfrom_USCOREoriInputParams * SOAP_FMAC4 soap_get_ns1__genes_USCOREfrom_USCOREoriInputParams(struct soap*, struct ns1__genes_USCOREfrom_USCOREoriInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__cbiInputParams
+#define SOAP_TYPE_ns1__cbiInputParams (22)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__cbiInputParams(struct soap*, struct ns1__cbiInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__cbiInputParams(struct soap*, const struct ns1__cbiInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__cbiInputParams(struct soap*, const char*, int, const struct ns1__cbiInputParams *, const char*);
+SOAP_FMAC3 struct ns1__cbiInputParams * SOAP_FMAC4 soap_in_ns1__cbiInputParams(struct soap*, const char*, struct ns1__cbiInputParams *, const char*);
+
+#ifndef soap_write_ns1__cbiInputParams
+#define soap_write_ns1__cbiInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__cbiInputParams(soap, data), 0) || soap_put_ns1__cbiInputParams(soap, data, "ns1:cbiInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__cbiInputParams(struct soap*, const struct ns1__cbiInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__cbiInputParams
+#define soap_read_ns1__cbiInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__cbiInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__cbiInputParams * SOAP_FMAC4 soap_get_ns1__cbiInputParams(struct soap*, struct ns1__cbiInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__find_USCOREdifInputParams
+#define SOAP_TYPE_ns1__find_USCOREdifInputParams (21)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREdifInputParams(struct soap*, struct ns1__find_USCOREdifInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREdifInputParams(struct soap*, const struct ns1__find_USCOREdifInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREdifInputParams(struct soap*, const char*, int, const struct ns1__find_USCOREdifInputParams *, const char*);
+SOAP_FMAC3 struct ns1__find_USCOREdifInputParams * SOAP_FMAC4 soap_in_ns1__find_USCOREdifInputParams(struct soap*, const char*, struct ns1__find_USCOREdifInputParams *, const char*);
+
+#ifndef soap_write_ns1__find_USCOREdifInputParams
+#define soap_write_ns1__find_USCOREdifInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__find_USCOREdifInputParams(soap, data), 0) || soap_put_ns1__find_USCOREdifInputParams(soap, data, "ns1:find_difInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREdifInputParams(struct soap*, const struct ns1__find_USCOREdifInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__find_USCOREdifInputParams
+#define soap_read_ns1__find_USCOREdifInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__find_USCOREdifInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREdifInputParams * SOAP_FMAC4 soap_get_ns1__find_USCOREdifInputParams(struct soap*, struct ns1__find_USCOREdifInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__to_USCOREfastaInputParams
+#define SOAP_TYPE_ns1__to_USCOREfastaInputParams (20)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__to_USCOREfastaInputParams(struct soap*, struct ns1__to_USCOREfastaInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__to_USCOREfastaInputParams(struct soap*, const struct ns1__to_USCOREfastaInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__to_USCOREfastaInputParams(struct soap*, const char*, int, const struct ns1__to_USCOREfastaInputParams *, const char*);
+SOAP_FMAC3 struct ns1__to_USCOREfastaInputParams * SOAP_FMAC4 soap_in_ns1__to_USCOREfastaInputParams(struct soap*, const char*, struct ns1__to_USCOREfastaInputParams *, const char*);
+
+#ifndef soap_write_ns1__to_USCOREfastaInputParams
+#define soap_write_ns1__to_USCOREfastaInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__to_USCOREfastaInputParams(soap, data), 0) || soap_put_ns1__to_USCOREfastaInputParams(soap, data, "ns1:to_fastaInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__to_USCOREfastaInputParams(struct soap*, const struct ns1__to_USCOREfastaInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__to_USCOREfastaInputParams
+#define soap_read_ns1__to_USCOREfastaInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__to_USCOREfastaInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__to_USCOREfastaInputParams * SOAP_FMAC4 soap_get_ns1__to_USCOREfastaInputParams(struct soap*, struct ns1__to_USCOREfastaInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__nucleotide_USCOREperiodicityInputParams
+#define SOAP_TYPE_ns1__nucleotide_USCOREperiodicityInputParams (19)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__nucleotide_USCOREperiodicityInputParams(struct soap*, struct ns1__nucleotide_USCOREperiodicityInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__nucleotide_USCOREperiodicityInputParams(struct soap*, const struct ns1__nucleotide_USCOREperiodicityInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__nucleotide_USCOREperiodicityInputParams(struct soap*, const char*, int, const struct ns1__nucleotide_USCOREperiodicityInputParams *, const char*);
+SOAP_FMAC3 struct ns1__nucleotide_USCOREperiodicityInputParams * SOAP_FMAC4 soap_in_ns1__nucleotide_USCOREperiodicityInputParams(struct soap*, const char*, struct ns1__nucleotide_USCOREperiodicityInputParams *, const char*);
+
+#ifndef soap_write_ns1__nucleotide_USCOREperiodicityInputParams
+#define soap_write_ns1__nucleotide_USCOREperiodicityInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__nucleotide_USCOREperiodicityInputParams(soap, data), 0) || soap_put_ns1__nucleotide_USCOREperiodicityInputParams(soap, data, "ns1:nucleotide_periodicityInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__nucleotide_USCOREperiodicityInputParams(struct soap*, const struct ns1__nucleotide_USCOREperiodicityInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__nucleotide_USCOREperiodicityInputParams
+#define soap_read_ns1__nucleotide_USCOREperiodicityInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__nucleotide_USCOREperiodicityInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__nucleotide_USCOREperiodicityInputParams * SOAP_FMAC4 soap_get_ns1__nucleotide_USCOREperiodicityInputParams(struct soap*, struct ns1__nucleotide_USCOREperiodicityInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__base_USCOREentropyInputParams
+#define SOAP_TYPE_ns1__base_USCOREentropyInputParams (18)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__base_USCOREentropyInputParams(struct soap*, struct ns1__base_USCOREentropyInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__base_USCOREentropyInputParams(struct soap*, const struct ns1__base_USCOREentropyInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__base_USCOREentropyInputParams(struct soap*, const char*, int, const struct ns1__base_USCOREentropyInputParams *, const char*);
+SOAP_FMAC3 struct ns1__base_USCOREentropyInputParams * SOAP_FMAC4 soap_in_ns1__base_USCOREentropyInputParams(struct soap*, const char*, struct ns1__base_USCOREentropyInputParams *, const char*);
+
+#ifndef soap_write_ns1__base_USCOREentropyInputParams
+#define soap_write_ns1__base_USCOREentropyInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__base_USCOREentropyInputParams(soap, data), 0) || soap_put_ns1__base_USCOREentropyInputParams(soap, data, "ns1:base_entropyInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__base_USCOREentropyInputParams(struct soap*, const struct ns1__base_USCOREentropyInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__base_USCOREentropyInputParams
+#define soap_read_ns1__base_USCOREentropyInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__base_USCOREentropyInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__base_USCOREentropyInputParams * SOAP_FMAC4 soap_get_ns1__base_USCOREentropyInputParams(struct soap*, struct ns1__base_USCOREentropyInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__plasmid_USCOREmapInputParams
+#define SOAP_TYPE_ns1__plasmid_USCOREmapInputParams (17)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__plasmid_USCOREmapInputParams(struct soap*, struct ns1__plasmid_USCOREmapInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__plasmid_USCOREmapInputParams(struct soap*, const struct ns1__plasmid_USCOREmapInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__plasmid_USCOREmapInputParams(struct soap*, const char*, int, const struct ns1__plasmid_USCOREmapInputParams *, const char*);
+SOAP_FMAC3 struct ns1__plasmid_USCOREmapInputParams * SOAP_FMAC4 soap_in_ns1__plasmid_USCOREmapInputParams(struct soap*, const char*, struct ns1__plasmid_USCOREmapInputParams *, const char*);
+
+#ifndef soap_write_ns1__plasmid_USCOREmapInputParams
+#define soap_write_ns1__plasmid_USCOREmapInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__plasmid_USCOREmapInputParams(soap, data), 0) || soap_put_ns1__plasmid_USCOREmapInputParams(soap, data, "ns1:plasmid_mapInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__plasmid_USCOREmapInputParams(struct soap*, const struct ns1__plasmid_USCOREmapInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__plasmid_USCOREmapInputParams
+#define soap_read_ns1__plasmid_USCOREmapInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__plasmid_USCOREmapInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__plasmid_USCOREmapInputParams * SOAP_FMAC4 soap_get_ns1__plasmid_USCOREmapInputParams(struct soap*, struct ns1__plasmid_USCOREmapInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__DoubleHelixInputParams
+#define SOAP_TYPE_ns1__DoubleHelixInputParams (16)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__DoubleHelixInputParams(struct soap*, struct ns1__DoubleHelixInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__DoubleHelixInputParams(struct soap*, const struct ns1__DoubleHelixInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__DoubleHelixInputParams(struct soap*, const char*, int, const struct ns1__DoubleHelixInputParams *, const char*);
+SOAP_FMAC3 struct ns1__DoubleHelixInputParams * SOAP_FMAC4 soap_in_ns1__DoubleHelixInputParams(struct soap*, const char*, struct ns1__DoubleHelixInputParams *, const char*);
+
+#ifndef soap_write_ns1__DoubleHelixInputParams
+#define soap_write_ns1__DoubleHelixInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__DoubleHelixInputParams(soap, data), 0) || soap_put_ns1__DoubleHelixInputParams(soap, data, "ns1:DoubleHelixInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__DoubleHelixInputParams(struct soap*, const struct ns1__DoubleHelixInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__DoubleHelixInputParams
+#define soap_read_ns1__DoubleHelixInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__DoubleHelixInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__DoubleHelixInputParams * SOAP_FMAC4 soap_get_ns1__DoubleHelixInputParams(struct soap*, struct ns1__DoubleHelixInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__rep_USCOREori_USCOREterInputParams
+#define SOAP_TYPE_ns1__rep_USCOREori_USCOREterInputParams (15)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__rep_USCOREori_USCOREterInputParams(struct soap*, struct ns1__rep_USCOREori_USCOREterInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__rep_USCOREori_USCOREterInputParams(struct soap*, const struct ns1__rep_USCOREori_USCOREterInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__rep_USCOREori_USCOREterInputParams(struct soap*, const char*, int, const struct ns1__rep_USCOREori_USCOREterInputParams *, const char*);
+SOAP_FMAC3 struct ns1__rep_USCOREori_USCOREterInputParams * SOAP_FMAC4 soap_in_ns1__rep_USCOREori_USCOREterInputParams(struct soap*, const char*, struct ns1__rep_USCOREori_USCOREterInputParams *, const char*);
+
+#ifndef soap_write_ns1__rep_USCOREori_USCOREterInputParams
+#define soap_write_ns1__rep_USCOREori_USCOREterInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__rep_USCOREori_USCOREterInputParams(soap, data), 0) || soap_put_ns1__rep_USCOREori_USCOREterInputParams(soap, data, "ns1:rep_ori_terInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__rep_USCOREori_USCOREterInputParams(struct soap*, const struct ns1__rep_USCOREori_USCOREterInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__rep_USCOREori_USCOREterInputParams
+#define soap_read_ns1__rep_USCOREori_USCOREterInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__rep_USCOREori_USCOREterInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__rep_USCOREori_USCOREterInputParams * SOAP_FMAC4 soap_get_ns1__rep_USCOREori_USCOREterInputParams(struct soap*, struct ns1__rep_USCOREori_USCOREterInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__genome_USCOREmapInputParams
+#define SOAP_TYPE_ns1__genome_USCOREmapInputParams (14)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__genome_USCOREmapInputParams(struct soap*, struct ns1__genome_USCOREmapInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__genome_USCOREmapInputParams(struct soap*, const struct ns1__genome_USCOREmapInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__genome_USCOREmapInputParams(struct soap*, const char*, int, const struct ns1__genome_USCOREmapInputParams *, const char*);
+SOAP_FMAC3 struct ns1__genome_USCOREmapInputParams * SOAP_FMAC4 soap_in_ns1__genome_USCOREmapInputParams(struct soap*, const char*, struct ns1__genome_USCOREmapInputParams *, const char*);
+
+#ifndef soap_write_ns1__genome_USCOREmapInputParams
+#define soap_write_ns1__genome_USCOREmapInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__genome_USCOREmapInputParams(soap, data), 0) || soap_put_ns1__genome_USCOREmapInputParams(soap, data, "ns1:genome_mapInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__genome_USCOREmapInputParams(struct soap*, const struct ns1__genome_USCOREmapInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__genome_USCOREmapInputParams
+#define soap_read_ns1__genome_USCOREmapInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__genome_USCOREmapInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__genome_USCOREmapInputParams * SOAP_FMAC4 soap_get_ns1__genome_USCOREmapInputParams(struct soap*, struct ns1__genome_USCOREmapInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__consensus_USCOREzInputParams
+#define SOAP_TYPE_ns1__consensus_USCOREzInputParams (12)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__consensus_USCOREzInputParams(struct soap*, struct ns1__consensus_USCOREzInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__consensus_USCOREzInputParams(struct soap*, const struct ns1__consensus_USCOREzInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__consensus_USCOREzInputParams(struct soap*, const char*, int, const struct ns1__consensus_USCOREzInputParams *, const char*);
+SOAP_FMAC3 struct ns1__consensus_USCOREzInputParams * SOAP_FMAC4 soap_in_ns1__consensus_USCOREzInputParams(struct soap*, const char*, struct ns1__consensus_USCOREzInputParams *, const char*);
+
+#ifndef soap_write_ns1__consensus_USCOREzInputParams
+#define soap_write_ns1__consensus_USCOREzInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__consensus_USCOREzInputParams(soap, data), 0) || soap_put_ns1__consensus_USCOREzInputParams(soap, data, "ns1:consensus_zInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__consensus_USCOREzInputParams(struct soap*, const struct ns1__consensus_USCOREzInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__consensus_USCOREzInputParams
+#define soap_read_ns1__consensus_USCOREzInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__consensus_USCOREzInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__consensus_USCOREzInputParams * SOAP_FMAC4 soap_get_ns1__consensus_USCOREzInputParams(struct soap*, struct ns1__consensus_USCOREzInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__find_USCOREori_USCOREterInputParams
+#define SOAP_TYPE_ns1__find_USCOREori_USCOREterInputParams (11)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__find_USCOREori_USCOREterInputParams(struct soap*, struct ns1__find_USCOREori_USCOREterInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__find_USCOREori_USCOREterInputParams(struct soap*, const struct ns1__find_USCOREori_USCOREterInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__find_USCOREori_USCOREterInputParams(struct soap*, const char*, int, const struct ns1__find_USCOREori_USCOREterInputParams *, const char*);
+SOAP_FMAC3 struct ns1__find_USCOREori_USCOREterInputParams * SOAP_FMAC4 soap_in_ns1__find_USCOREori_USCOREterInputParams(struct soap*, const char*, struct ns1__find_USCOREori_USCOREterInputParams *, const char*);
+
+#ifndef soap_write_ns1__find_USCOREori_USCOREterInputParams
+#define soap_write_ns1__find_USCOREori_USCOREterInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__find_USCOREori_USCOREterInputParams(soap, data), 0) || soap_put_ns1__find_USCOREori_USCOREterInputParams(soap, data, "ns1:find_ori_terInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__find_USCOREori_USCOREterInputParams(struct soap*, const struct ns1__find_USCOREori_USCOREterInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__find_USCOREori_USCOREterInputParams
+#define soap_read_ns1__find_USCOREori_USCOREterInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__find_USCOREori_USCOREterInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREori_USCOREterInputParams * SOAP_FMAC4 soap_get_ns1__find_USCOREori_USCOREterInputParams(struct soap*, struct ns1__find_USCOREori_USCOREterInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__w_USCOREvalueInputParams
+#define SOAP_TYPE_ns1__w_USCOREvalueInputParams (10)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__w_USCOREvalueInputParams(struct soap*, struct ns1__w_USCOREvalueInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__w_USCOREvalueInputParams(struct soap*, const struct ns1__w_USCOREvalueInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__w_USCOREvalueInputParams(struct soap*, const char*, int, const struct ns1__w_USCOREvalueInputParams *, const char*);
+SOAP_FMAC3 struct ns1__w_USCOREvalueInputParams * SOAP_FMAC4 soap_in_ns1__w_USCOREvalueInputParams(struct soap*, const char*, struct ns1__w_USCOREvalueInputParams *, const char*);
+
+#ifndef soap_write_ns1__w_USCOREvalueInputParams
+#define soap_write_ns1__w_USCOREvalueInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__w_USCOREvalueInputParams(soap, data), 0) || soap_put_ns1__w_USCOREvalueInputParams(soap, data, "ns1:w_valueInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__w_USCOREvalueInputParams(struct soap*, const struct ns1__w_USCOREvalueInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__w_USCOREvalueInputParams
+#define soap_read_ns1__w_USCOREvalueInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__w_USCOREvalueInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__w_USCOREvalueInputParams * SOAP_FMAC4 soap_get_ns1__w_USCOREvalueInputParams(struct soap*, struct ns1__w_USCOREvalueInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__P2InputParams
+#define SOAP_TYPE_ns1__P2InputParams (9)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__P2InputParams(struct soap*, struct ns1__P2InputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__P2InputParams(struct soap*, const struct ns1__P2InputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__P2InputParams(struct soap*, const char*, int, const struct ns1__P2InputParams *, const char*);
+SOAP_FMAC3 struct ns1__P2InputParams * SOAP_FMAC4 soap_in_ns1__P2InputParams(struct soap*, const char*, struct ns1__P2InputParams *, const char*);
+
+#ifndef soap_write_ns1__P2InputParams
+#define soap_write_ns1__P2InputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__P2InputParams(soap, data), 0) || soap_put_ns1__P2InputParams(soap, data, "ns1:P2InputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__P2InputParams(struct soap*, const struct ns1__P2InputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__P2InputParams
+#define soap_read_ns1__P2InputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__P2InputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__P2InputParams * SOAP_FMAC4 soap_get_ns1__P2InputParams(struct soap*, struct ns1__P2InputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREmvaInputParams
+#define SOAP_TYPE_ns1__codon_USCOREmvaInputParams (8)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__codon_USCOREmvaInputParams(struct soap*, struct ns1__codon_USCOREmvaInputParams *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__codon_USCOREmvaInputParams(struct soap*, const struct ns1__codon_USCOREmvaInputParams *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__codon_USCOREmvaInputParams(struct soap*, const char*, int, const struct ns1__codon_USCOREmvaInputParams *, const char*);
+SOAP_FMAC3 struct ns1__codon_USCOREmvaInputParams * SOAP_FMAC4 soap_in_ns1__codon_USCOREmvaInputParams(struct soap*, const char*, struct ns1__codon_USCOREmvaInputParams *, const char*);
+
+#ifndef soap_write_ns1__codon_USCOREmvaInputParams
+#define soap_write_ns1__codon_USCOREmvaInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__codon_USCOREmvaInputParams(soap, data), 0) || soap_put_ns1__codon_USCOREmvaInputParams(soap, data, "ns1:codon_mvaInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__codon_USCOREmvaInputParams(struct soap*, const struct ns1__codon_USCOREmvaInputParams *, const char*, const char*);
+
+#ifndef soap_read_ns1__codon_USCOREmvaInputParams
+#define soap_read_ns1__codon_USCOREmvaInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__codon_USCOREmvaInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__codon_USCOREmvaInputParams * SOAP_FMAC4 soap_get_ns1__codon_USCOREmvaInputParams(struct soap*, struct ns1__codon_USCOREmvaInputParams *, const char*, const char*);
+
+#ifndef SOAP_TYPE_ns1__Definition
+#define SOAP_TYPE_ns1__Definition (7)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__Definition(struct soap*, struct ns1__Definition *);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__Definition(struct soap*, const struct ns1__Definition *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__Definition(struct soap*, const char*, int, const struct ns1__Definition *, const char*);
+SOAP_FMAC3 struct ns1__Definition * SOAP_FMAC4 soap_in_ns1__Definition(struct soap*, const char*, struct ns1__Definition *, const char*);
+
+#ifndef soap_write_ns1__Definition
+#define soap_write_ns1__Definition(soap, data) ( soap_begin_send(soap) || (soap_serialize_ns1__Definition(soap, data), 0) || soap_put_ns1__Definition(soap, data, "ns1:Definition", NULL) || soap_end_send(soap) )
+#endif
+
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__Definition(struct soap*, const struct ns1__Definition *, const char*, const char*);
+
+#ifndef soap_read_ns1__Definition
+#define soap_read_ns1__Definition(soap, data) ( soap_begin_recv(soap) || !soap_get_ns1__Definition(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__Definition * SOAP_FMAC4 soap_get_ns1__Definition(struct soap*, struct ns1__Definition *, const char*, const char*);
+
+#ifndef WITH_NOGLOBAL
+
+#ifndef SOAP_TYPE_PointerToSOAP_ENV__Reason
+#define SOAP_TYPE_PointerToSOAP_ENV__Reason (438)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Reason(struct soap*, const char *, int, struct SOAP_ENV__Reason *const*, const char *);
+SOAP_FMAC3 struct SOAP_ENV__Reason ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Reason(struct soap*, const char*, struct SOAP_ENV__Reason **, const char*);
+
+#ifndef soap_write_PointerToSOAP_ENV__Reason
+#define soap_write_PointerToSOAP_ENV__Reason(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerToSOAP_ENV__Reason(soap, data), 0) || soap_put_PointerToSOAP_ENV__Reason(soap, data, "SOAP-ENV:Reason", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason *const*, const char*, const char*);
+
+#ifndef soap_read_PointerToSOAP_ENV__Reason
+#define soap_read_PointerToSOAP_ENV__Reason(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerToSOAP_ENV__Reason(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct SOAP_ENV__Reason ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason **, const char*, const char*);
+
+#endif
+
+#ifndef WITH_NOGLOBAL
+
+#ifndef SOAP_TYPE_PointerToSOAP_ENV__Detail
+#define SOAP_TYPE_PointerToSOAP_ENV__Detail (437)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Detail(struct soap*, const char *, int, struct SOAP_ENV__Detail *const*, const char *);
+SOAP_FMAC3 struct SOAP_ENV__Detail ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Detail(struct soap*, const char*, struct SOAP_ENV__Detail **, const char*);
+
+#ifndef soap_write_PointerToSOAP_ENV__Detail
+#define soap_write_PointerToSOAP_ENV__Detail(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerToSOAP_ENV__Detail(soap, data), 0) || soap_put_PointerToSOAP_ENV__Detail(soap, data, "SOAP-ENV:Detail", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail *const*, const char*, const char*);
+
+#ifndef soap_read_PointerToSOAP_ENV__Detail
+#define soap_read_PointerToSOAP_ENV__Detail(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerToSOAP_ENV__Detail(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct SOAP_ENV__Detail ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail **, const char*, const char*);
+
+#endif
+
+#ifndef WITH_NOGLOBAL
+
+#ifndef SOAP_TYPE_PointerToSOAP_ENV__Code
+#define SOAP_TYPE_PointerToSOAP_ENV__Code (431)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Code(struct soap*, const char *, int, struct SOAP_ENV__Code *const*, const char *);
+SOAP_FMAC3 struct SOAP_ENV__Code ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Code(struct soap*, const char*, struct SOAP_ENV__Code **, const char*);
+
+#ifndef soap_write_PointerToSOAP_ENV__Code
+#define soap_write_PointerToSOAP_ENV__Code(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerToSOAP_ENV__Code(soap, data), 0) || soap_put_PointerToSOAP_ENV__Code(soap, data, "SOAP-ENV:Code", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code *const*, const char*, const char*);
+
+#ifndef soap_read_PointerToSOAP_ENV__Code
+#define soap_read_PointerToSOAP_ENV__Code(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerToSOAP_ENV__Code(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct SOAP_ENV__Code ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code **, const char*, const char*);
+
+#endif
+
+#ifndef SOAP_TYPE_PointerTofloat
+#define SOAP_TYPE_PointerTofloat (425)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTofloat(struct soap*, float *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTofloat(struct soap*, const char *, int, float *const*, const char *);
+SOAP_FMAC3 float ** SOAP_FMAC4 soap_in_PointerTofloat(struct soap*, const char*, float **, const char*);
+
+#ifndef soap_write_PointerTofloat
+#define soap_write_PointerTofloat(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTofloat(soap, data), 0) || soap_put_PointerTofloat(soap, data, "float", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTofloat(struct soap*, float *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTofloat
+#define soap_read_PointerTofloat(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTofloat(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 float ** SOAP_FMAC4 soap_get_PointerTofloat(struct soap*, float **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__S_USCOREvalueInputParams
+#define SOAP_TYPE_PointerTons1__S_USCOREvalueInputParams (417)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__S_USCOREvalueInputParams(struct soap*, struct ns1__S_USCOREvalueInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__S_USCOREvalueInputParams(struct soap*, const char *, int, struct ns1__S_USCOREvalueInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__S_USCOREvalueInputParams ** SOAP_FMAC4 soap_in_PointerTons1__S_USCOREvalueInputParams(struct soap*, const char*, struct ns1__S_USCOREvalueInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__S_USCOREvalueInputParams
+#define soap_write_PointerTons1__S_USCOREvalueInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__S_USCOREvalueInputParams(soap, data), 0) || soap_put_PointerTons1__S_USCOREvalueInputParams(soap, data, "ns1:S_valueInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__S_USCOREvalueInputParams(struct soap*, struct ns1__S_USCOREvalueInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__S_USCOREvalueInputParams
+#define soap_read_PointerTons1__S_USCOREvalueInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__S_USCOREvalueInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__S_USCOREvalueInputParams ** SOAP_FMAC4 soap_get_PointerTons1__S_USCOREvalueInputParams(struct soap*, struct ns1__S_USCOREvalueInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__leading_USCOREstrandResponse
+#define SOAP_TYPE_PointerTons1__leading_USCOREstrandResponse (414)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__leading_USCOREstrandResponse(struct soap*, struct ns1__leading_USCOREstrandResponse *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__leading_USCOREstrandResponse(struct soap*, const char *, int, struct ns1__leading_USCOREstrandResponse *const*, const char *);
+SOAP_FMAC3 struct ns1__leading_USCOREstrandResponse ** SOAP_FMAC4 soap_in_PointerTons1__leading_USCOREstrandResponse(struct soap*, const char*, struct ns1__leading_USCOREstrandResponse **, const char*);
+
+#ifndef soap_write_PointerTons1__leading_USCOREstrandResponse
+#define soap_write_PointerTons1__leading_USCOREstrandResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__leading_USCOREstrandResponse(soap, data), 0) || soap_put_PointerTons1__leading_USCOREstrandResponse(soap, data, "ns1:leading_strandResponse", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__leading_USCOREstrandResponse(struct soap*, struct ns1__leading_USCOREstrandResponse *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__leading_USCOREstrandResponse
+#define soap_read_PointerTons1__leading_USCOREstrandResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__leading_USCOREstrandResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__leading_USCOREstrandResponse ** SOAP_FMAC4 soap_get_PointerTons1__leading_USCOREstrandResponse(struct soap*, struct ns1__leading_USCOREstrandResponse **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__scsInputParams
+#define SOAP_TYPE_PointerTons1__scsInputParams (409)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__scsInputParams(struct soap*, struct ns1__scsInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__scsInputParams(struct soap*, const char *, int, struct ns1__scsInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__scsInputParams ** SOAP_FMAC4 soap_in_PointerTons1__scsInputParams(struct soap*, const char*, struct ns1__scsInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__scsInputParams
+#define soap_write_PointerTons1__scsInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__scsInputParams(soap, data), 0) || soap_put_PointerTons1__scsInputParams(soap, data, "ns1:scsInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__scsInputParams(struct soap*, struct ns1__scsInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__scsInputParams
+#define soap_read_PointerTons1__scsInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__scsInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__scsInputParams ** SOAP_FMAC4 soap_get_PointerTons1__scsInputParams(struct soap*, struct ns1__scsInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__lda_USCOREbiasInputParams
+#define SOAP_TYPE_PointerTons1__lda_USCOREbiasInputParams (405)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__lda_USCOREbiasInputParams(struct soap*, struct ns1__lda_USCOREbiasInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__lda_USCOREbiasInputParams(struct soap*, const char *, int, struct ns1__lda_USCOREbiasInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__lda_USCOREbiasInputParams ** SOAP_FMAC4 soap_in_PointerTons1__lda_USCOREbiasInputParams(struct soap*, const char*, struct ns1__lda_USCOREbiasInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__lda_USCOREbiasInputParams
+#define soap_write_PointerTons1__lda_USCOREbiasInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__lda_USCOREbiasInputParams(soap, data), 0) || soap_put_PointerTons1__lda_USCOREbiasInputParams(soap, data, "ns1:lda_biasInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__lda_USCOREbiasInputParams(struct soap*, struct ns1__lda_USCOREbiasInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__lda_USCOREbiasInputParams
+#define soap_read_PointerTons1__lda_USCOREbiasInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__lda_USCOREbiasInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__lda_USCOREbiasInputParams ** SOAP_FMAC4 soap_get_PointerTons1__lda_USCOREbiasInputParams(struct soap*, struct ns1__lda_USCOREbiasInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__kmer_USCOREtableInputParams
+#define SOAP_TYPE_PointerTons1__kmer_USCOREtableInputParams (401)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__kmer_USCOREtableInputParams(struct soap*, struct ns1__kmer_USCOREtableInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__kmer_USCOREtableInputParams(struct soap*, const char *, int, struct ns1__kmer_USCOREtableInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__kmer_USCOREtableInputParams ** SOAP_FMAC4 soap_in_PointerTons1__kmer_USCOREtableInputParams(struct soap*, const char*, struct ns1__kmer_USCOREtableInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__kmer_USCOREtableInputParams
+#define soap_write_PointerTons1__kmer_USCOREtableInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__kmer_USCOREtableInputParams(soap, data), 0) || soap_put_PointerTons1__kmer_USCOREtableInputParams(soap, data, "ns1:kmer_tableInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__kmer_USCOREtableInputParams(struct soap*, struct ns1__kmer_USCOREtableInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__kmer_USCOREtableInputParams
+#define soap_read_PointerTons1__kmer_USCOREtableInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__kmer_USCOREtableInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__kmer_USCOREtableInputParams ** SOAP_FMAC4 soap_get_PointerTons1__kmer_USCOREtableInputParams(struct soap*, struct ns1__kmer_USCOREtableInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__base_USCOREz_USCOREvalueInputParams
+#define SOAP_TYPE_PointerTons1__base_USCOREz_USCOREvalueInputParams (397)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__base_USCOREz_USCOREvalueInputParams(struct soap*, struct ns1__base_USCOREz_USCOREvalueInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__base_USCOREz_USCOREvalueInputParams(struct soap*, const char *, int, struct ns1__base_USCOREz_USCOREvalueInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__base_USCOREz_USCOREvalueInputParams ** SOAP_FMAC4 soap_in_PointerTons1__base_USCOREz_USCOREvalueInputParams(struct soap*, const char*, struct ns1__base_USCOREz_USCOREvalueInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__base_USCOREz_USCOREvalueInputParams
+#define soap_write_PointerTons1__base_USCOREz_USCOREvalueInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__base_USCOREz_USCOREvalueInputParams(soap, data), 0) || soap_put_PointerTons1__base_USCOREz_USCOREvalueInputParams(soap, data, "ns1:base_z_valueInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__base_USCOREz_USCOREvalueInputParams(struct soap*, struct ns1__base_USCOREz_USCOREvalueInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__base_USCOREz_USCOREvalueInputParams
+#define soap_read_PointerTons1__base_USCOREz_USCOREvalueInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__base_USCOREz_USCOREvalueInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__base_USCOREz_USCOREvalueInputParams ** SOAP_FMAC4 soap_get_PointerTons1__base_USCOREz_USCOREvalueInputParams(struct soap*, struct ns1__base_USCOREz_USCOREvalueInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__base_USCOREcounterInputParams
+#define SOAP_TYPE_PointerTons1__base_USCOREcounterInputParams (393)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__base_USCOREcounterInputParams(struct soap*, struct ns1__base_USCOREcounterInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__base_USCOREcounterInputParams(struct soap*, const char *, int, struct ns1__base_USCOREcounterInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__base_USCOREcounterInputParams ** SOAP_FMAC4 soap_in_PointerTons1__base_USCOREcounterInputParams(struct soap*, const char*, struct ns1__base_USCOREcounterInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__base_USCOREcounterInputParams
+#define soap_write_PointerTons1__base_USCOREcounterInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__base_USCOREcounterInputParams(soap, data), 0) || soap_put_PointerTons1__base_USCOREcounterInputParams(soap, data, "ns1:base_counterInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__base_USCOREcounterInputParams(struct soap*, struct ns1__base_USCOREcounterInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__base_USCOREcounterInputParams
+#define soap_read_PointerTons1__base_USCOREcounterInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__base_USCOREcounterInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__base_USCOREcounterInputParams ** SOAP_FMAC4 soap_get_PointerTons1__base_USCOREcounterInputParams(struct soap*, struct ns1__base_USCOREcounterInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__B1InputParams
+#define SOAP_TYPE_PointerTons1__B1InputParams (386)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__B1InputParams(struct soap*, struct ns1__B1InputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__B1InputParams(struct soap*, const char *, int, struct ns1__B1InputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__B1InputParams ** SOAP_FMAC4 soap_in_PointerTons1__B1InputParams(struct soap*, const char*, struct ns1__B1InputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__B1InputParams
+#define soap_write_PointerTons1__B1InputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__B1InputParams(soap, data), 0) || soap_put_PointerTons1__B1InputParams(soap, data, "ns1:B1InputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__B1InputParams(struct soap*, struct ns1__B1InputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__B1InputParams
+#define soap_read_PointerTons1__B1InputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__B1InputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__B1InputParams ** SOAP_FMAC4 soap_get_PointerTons1__B1InputParams(struct soap*, struct ns1__B1InputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__cgrInputParams
+#define SOAP_TYPE_PointerTons1__cgrInputParams (382)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__cgrInputParams(struct soap*, struct ns1__cgrInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__cgrInputParams(struct soap*, const char *, int, struct ns1__cgrInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__cgrInputParams ** SOAP_FMAC4 soap_in_PointerTons1__cgrInputParams(struct soap*, const char*, struct ns1__cgrInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__cgrInputParams
+#define soap_write_PointerTons1__cgrInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__cgrInputParams(soap, data), 0) || soap_put_PointerTons1__cgrInputParams(soap, data, "ns1:cgrInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__cgrInputParams(struct soap*, struct ns1__cgrInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__cgrInputParams
+#define soap_read_PointerTons1__cgrInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__cgrInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__cgrInputParams ** SOAP_FMAC4 soap_get_PointerTons1__cgrInputParams(struct soap*, struct ns1__cgrInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__dinucInputParams
+#define SOAP_TYPE_PointerTons1__dinucInputParams (378)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__dinucInputParams(struct soap*, struct ns1__dinucInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__dinucInputParams(struct soap*, const char *, int, struct ns1__dinucInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__dinucInputParams ** SOAP_FMAC4 soap_in_PointerTons1__dinucInputParams(struct soap*, const char*, struct ns1__dinucInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__dinucInputParams
+#define soap_write_PointerTons1__dinucInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__dinucInputParams(soap, data), 0) || soap_put_PointerTons1__dinucInputParams(soap, data, "ns1:dinucInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__dinucInputParams(struct soap*, struct ns1__dinucInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__dinucInputParams
+#define soap_read_PointerTons1__dinucInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__dinucInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__dinucInputParams ** SOAP_FMAC4 soap_get_PointerTons1__dinucInputParams(struct soap*, struct ns1__dinucInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__least_USCOREsquares_USCOREfitResponse
+#define SOAP_TYPE_PointerTons1__least_USCOREsquares_USCOREfitResponse (375)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__least_USCOREsquares_USCOREfitResponse(struct soap*, struct ns1__least_USCOREsquares_USCOREfitResponse *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__least_USCOREsquares_USCOREfitResponse(struct soap*, const char *, int, struct ns1__least_USCOREsquares_USCOREfitResponse *const*, const char *);
+SOAP_FMAC3 struct ns1__least_USCOREsquares_USCOREfitResponse ** SOAP_FMAC4 soap_in_PointerTons1__least_USCOREsquares_USCOREfitResponse(struct soap*, const char*, struct ns1__least_USCOREsquares_USCOREfitResponse **, const char*);
+
+#ifndef soap_write_PointerTons1__least_USCOREsquares_USCOREfitResponse
+#define soap_write_PointerTons1__least_USCOREsquares_USCOREfitResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__least_USCOREsquares_USCOREfitResponse(soap, data), 0) || soap_put_PointerTons1__least_USCOREsquares_USCOREfitResponse(soap, data, "ns1:least_squares_fitResponse", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__least_USCOREsquares_USCOREfitResponse(struct soap*, struct ns1__least_USCOREsquares_USCOREfitResponse *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__least_USCOREsquares_USCOREfitResponse
+#define soap_read_PointerTons1__least_USCOREsquares_USCOREfitResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__least_USCOREsquares_USCOREfitResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__least_USCOREsquares_USCOREfitResponse ** SOAP_FMAC4 soap_get_PointerTons1__least_USCOREsquares_USCOREfitResponse(struct soap*, struct ns1__least_USCOREsquares_USCOREfitResponse **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__palindromeInputParams
+#define SOAP_TYPE_PointerTons1__palindromeInputParams (370)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__palindromeInputParams(struct soap*, struct ns1__palindromeInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__palindromeInputParams(struct soap*, const char *, int, struct ns1__palindromeInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__palindromeInputParams ** SOAP_FMAC4 soap_in_PointerTons1__palindromeInputParams(struct soap*, const char*, struct ns1__palindromeInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__palindromeInputParams
+#define soap_write_PointerTons1__palindromeInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__palindromeInputParams(soap, data), 0) || soap_put_PointerTons1__palindromeInputParams(soap, data, "ns1:palindromeInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__palindromeInputParams(struct soap*, struct ns1__palindromeInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__palindromeInputParams
+#define soap_read_PointerTons1__palindromeInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__palindromeInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__palindromeInputParams ** SOAP_FMAC4 soap_get_PointerTons1__palindromeInputParams(struct soap*, struct ns1__palindromeInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__codon_USCOREcounterInputParams
+#define SOAP_TYPE_PointerTons1__codon_USCOREcounterInputParams (363)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__codon_USCOREcounterInputParams(struct soap*, struct ns1__codon_USCOREcounterInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__codon_USCOREcounterInputParams(struct soap*, const char *, int, struct ns1__codon_USCOREcounterInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__codon_USCOREcounterInputParams ** SOAP_FMAC4 soap_in_PointerTons1__codon_USCOREcounterInputParams(struct soap*, const char*, struct ns1__codon_USCOREcounterInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__codon_USCOREcounterInputParams
+#define soap_write_PointerTons1__codon_USCOREcounterInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__codon_USCOREcounterInputParams(soap, data), 0) || soap_put_PointerTons1__codon_USCOREcounterInputParams(soap, data, "ns1:codon_counterInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__codon_USCOREcounterInputParams(struct soap*, struct ns1__codon_USCOREcounterInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__codon_USCOREcounterInputParams
+#define soap_read_PointerTons1__codon_USCOREcounterInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__codon_USCOREcounterInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__codon_USCOREcounterInputParams ** SOAP_FMAC4 soap_get_PointerTons1__codon_USCOREcounterInputParams(struct soap*, struct ns1__codon_USCOREcounterInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__find_USCOREiteronInputParams
+#define SOAP_TYPE_PointerTons1__find_USCOREiteronInputParams (353)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__find_USCOREiteronInputParams(struct soap*, struct ns1__find_USCOREiteronInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__find_USCOREiteronInputParams(struct soap*, const char *, int, struct ns1__find_USCOREiteronInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__find_USCOREiteronInputParams ** SOAP_FMAC4 soap_in_PointerTons1__find_USCOREiteronInputParams(struct soap*, const char*, struct ns1__find_USCOREiteronInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__find_USCOREiteronInputParams
+#define soap_write_PointerTons1__find_USCOREiteronInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__find_USCOREiteronInputParams(soap, data), 0) || soap_put_PointerTons1__find_USCOREiteronInputParams(soap, data, "ns1:find_iteronInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__find_USCOREiteronInputParams(struct soap*, struct ns1__find_USCOREiteronInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__find_USCOREiteronInputParams
+#define soap_read_PointerTons1__find_USCOREiteronInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__find_USCOREiteronInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREiteronInputParams ** SOAP_FMAC4 soap_get_PointerTons1__find_USCOREiteronInputParams(struct soap*, struct ns1__find_USCOREiteronInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__codon_USCOREusageInputParams
+#define SOAP_TYPE_PointerTons1__codon_USCOREusageInputParams (346)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__codon_USCOREusageInputParams(struct soap*, struct ns1__codon_USCOREusageInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__codon_USCOREusageInputParams(struct soap*, const char *, int, struct ns1__codon_USCOREusageInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__codon_USCOREusageInputParams ** SOAP_FMAC4 soap_in_PointerTons1__codon_USCOREusageInputParams(struct soap*, const char*, struct ns1__codon_USCOREusageInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__codon_USCOREusageInputParams
+#define soap_write_PointerTons1__codon_USCOREusageInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__codon_USCOREusageInputParams(soap, data), 0) || soap_put_PointerTons1__codon_USCOREusageInputParams(soap, data, "ns1:codon_usageInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__codon_USCOREusageInputParams(struct soap*, struct ns1__codon_USCOREusageInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__codon_USCOREusageInputParams
+#define soap_read_PointerTons1__codon_USCOREusageInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__codon_USCOREusageInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__codon_USCOREusageInputParams ** SOAP_FMAC4 soap_get_PointerTons1__codon_USCOREusageInputParams(struct soap*, struct ns1__codon_USCOREusageInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__oligomer_USCOREcounterInputParams
+#define SOAP_TYPE_PointerTons1__oligomer_USCOREcounterInputParams (342)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__oligomer_USCOREcounterInputParams(struct soap*, struct ns1__oligomer_USCOREcounterInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__oligomer_USCOREcounterInputParams(struct soap*, const char *, int, struct ns1__oligomer_USCOREcounterInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__oligomer_USCOREcounterInputParams ** SOAP_FMAC4 soap_in_PointerTons1__oligomer_USCOREcounterInputParams(struct soap*, const char*, struct ns1__oligomer_USCOREcounterInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__oligomer_USCOREcounterInputParams
+#define soap_write_PointerTons1__oligomer_USCOREcounterInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__oligomer_USCOREcounterInputParams(soap, data), 0) || soap_put_PointerTons1__oligomer_USCOREcounterInputParams(soap, data, "ns1:oligomer_counterInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__oligomer_USCOREcounterInputParams(struct soap*, struct ns1__oligomer_USCOREcounterInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__oligomer_USCOREcounterInputParams
+#define soap_read_PointerTons1__oligomer_USCOREcounterInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__oligomer_USCOREcounterInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREcounterInputParams ** SOAP_FMAC4 soap_get_PointerTons1__oligomer_USCOREcounterInputParams(struct soap*, struct ns1__oligomer_USCOREcounterInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__gcwinInputParams
+#define SOAP_TYPE_PointerTons1__gcwinInputParams (338)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__gcwinInputParams(struct soap*, struct ns1__gcwinInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__gcwinInputParams(struct soap*, const char *, int, struct ns1__gcwinInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__gcwinInputParams ** SOAP_FMAC4 soap_in_PointerTons1__gcwinInputParams(struct soap*, const char*, struct ns1__gcwinInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__gcwinInputParams
+#define soap_write_PointerTons1__gcwinInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__gcwinInputParams(soap, data), 0) || soap_put_PointerTons1__gcwinInputParams(soap, data, "ns1:gcwinInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__gcwinInputParams(struct soap*, struct ns1__gcwinInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__gcwinInputParams
+#define soap_read_PointerTons1__gcwinInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__gcwinInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__gcwinInputParams ** SOAP_FMAC4 soap_get_PointerTons1__gcwinInputParams(struct soap*, struct ns1__gcwinInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__find_USCOREpatternInputParams
+#define SOAP_TYPE_PointerTons1__find_USCOREpatternInputParams (334)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__find_USCOREpatternInputParams(struct soap*, struct ns1__find_USCOREpatternInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__find_USCOREpatternInputParams(struct soap*, const char *, int, struct ns1__find_USCOREpatternInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__find_USCOREpatternInputParams ** SOAP_FMAC4 soap_in_PointerTons1__find_USCOREpatternInputParams(struct soap*, const char*, struct ns1__find_USCOREpatternInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__find_USCOREpatternInputParams
+#define soap_write_PointerTons1__find_USCOREpatternInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__find_USCOREpatternInputParams(soap, data), 0) || soap_put_PointerTons1__find_USCOREpatternInputParams(soap, data, "ns1:find_patternInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__find_USCOREpatternInputParams(struct soap*, struct ns1__find_USCOREpatternInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__find_USCOREpatternInputParams
+#define soap_read_PointerTons1__find_USCOREpatternInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__find_USCOREpatternInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREpatternInputParams ** SOAP_FMAC4 soap_get_PointerTons1__find_USCOREpatternInputParams(struct soap*, struct ns1__find_USCOREpatternInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__oligomer_USCOREsearchResponse
+#define SOAP_TYPE_PointerTons1__oligomer_USCOREsearchResponse (331)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__oligomer_USCOREsearchResponse(struct soap*, struct ns1__oligomer_USCOREsearchResponse *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__oligomer_USCOREsearchResponse(struct soap*, const char *, int, struct ns1__oligomer_USCOREsearchResponse *const*, const char *);
+SOAP_FMAC3 struct ns1__oligomer_USCOREsearchResponse ** SOAP_FMAC4 soap_in_PointerTons1__oligomer_USCOREsearchResponse(struct soap*, const char*, struct ns1__oligomer_USCOREsearchResponse **, const char*);
+
+#ifndef soap_write_PointerTons1__oligomer_USCOREsearchResponse
+#define soap_write_PointerTons1__oligomer_USCOREsearchResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__oligomer_USCOREsearchResponse(soap, data), 0) || soap_put_PointerTons1__oligomer_USCOREsearchResponse(soap, data, "ns1:oligomer_searchResponse", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__oligomer_USCOREsearchResponse(struct soap*, struct ns1__oligomer_USCOREsearchResponse *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__oligomer_USCOREsearchResponse
+#define soap_read_PointerTons1__oligomer_USCOREsearchResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__oligomer_USCOREsearchResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREsearchResponse ** SOAP_FMAC4 soap_get_PointerTons1__oligomer_USCOREsearchResponse(struct soap*, struct ns1__oligomer_USCOREsearchResponse **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__oligomer_USCOREsearchInputParams
+#define SOAP_TYPE_PointerTons1__oligomer_USCOREsearchInputParams (330)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__oligomer_USCOREsearchInputParams(struct soap*, struct ns1__oligomer_USCOREsearchInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__oligomer_USCOREsearchInputParams(struct soap*, const char *, int, struct ns1__oligomer_USCOREsearchInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__oligomer_USCOREsearchInputParams ** SOAP_FMAC4 soap_in_PointerTons1__oligomer_USCOREsearchInputParams(struct soap*, const char*, struct ns1__oligomer_USCOREsearchInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__oligomer_USCOREsearchInputParams
+#define soap_write_PointerTons1__oligomer_USCOREsearchInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__oligomer_USCOREsearchInputParams(soap, data), 0) || soap_put_PointerTons1__oligomer_USCOREsearchInputParams(soap, data, "ns1:oligomer_searchInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__oligomer_USCOREsearchInputParams(struct soap*, struct ns1__oligomer_USCOREsearchInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__oligomer_USCOREsearchInputParams
+#define soap_read_PointerTons1__oligomer_USCOREsearchInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__oligomer_USCOREsearchInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__oligomer_USCOREsearchInputParams ** SOAP_FMAC4 soap_get_PointerTons1__oligomer_USCOREsearchInputParams(struct soap*, struct ns1__oligomer_USCOREsearchInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__shuffleseqInputParams
+#define SOAP_TYPE_PointerTons1__shuffleseqInputParams (325)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__shuffleseqInputParams(struct soap*, struct ns1__shuffleseqInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__shuffleseqInputParams(struct soap*, const char *, int, struct ns1__shuffleseqInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__shuffleseqInputParams ** SOAP_FMAC4 soap_in_PointerTons1__shuffleseqInputParams(struct soap*, const char*, struct ns1__shuffleseqInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__shuffleseqInputParams
+#define soap_write_PointerTons1__shuffleseqInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__shuffleseqInputParams(soap, data), 0) || soap_put_PointerTons1__shuffleseqInputParams(soap, data, "ns1:shuffleseqInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__shuffleseqInputParams(struct soap*, struct ns1__shuffleseqInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__shuffleseqInputParams
+#define soap_read_PointerTons1__shuffleseqInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__shuffleseqInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__shuffleseqInputParams ** SOAP_FMAC4 soap_get_PointerTons1__shuffleseqInputParams(struct soap*, struct ns1__shuffleseqInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__find_USCOREterResponse
+#define SOAP_TYPE_PointerTons1__find_USCOREterResponse (322)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__find_USCOREterResponse(struct soap*, struct ns1__find_USCOREterResponse *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__find_USCOREterResponse(struct soap*, const char *, int, struct ns1__find_USCOREterResponse *const*, const char *);
+SOAP_FMAC3 struct ns1__find_USCOREterResponse ** SOAP_FMAC4 soap_in_PointerTons1__find_USCOREterResponse(struct soap*, const char*, struct ns1__find_USCOREterResponse **, const char*);
+
+#ifndef soap_write_PointerTons1__find_USCOREterResponse
+#define soap_write_PointerTons1__find_USCOREterResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__find_USCOREterResponse(soap, data), 0) || soap_put_PointerTons1__find_USCOREterResponse(soap, data, "ns1:find_terResponse", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__find_USCOREterResponse(struct soap*, struct ns1__find_USCOREterResponse *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__find_USCOREterResponse
+#define soap_read_PointerTons1__find_USCOREterResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__find_USCOREterResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREterResponse ** SOAP_FMAC4 soap_get_PointerTons1__find_USCOREterResponse(struct soap*, struct ns1__find_USCOREterResponse **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__find_USCOREterInputParams
+#define SOAP_TYPE_PointerTons1__find_USCOREterInputParams (321)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__find_USCOREterInputParams(struct soap*, struct ns1__find_USCOREterInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__find_USCOREterInputParams(struct soap*, const char *, int, struct ns1__find_USCOREterInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__find_USCOREterInputParams ** SOAP_FMAC4 soap_in_PointerTons1__find_USCOREterInputParams(struct soap*, const char*, struct ns1__find_USCOREterInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__find_USCOREterInputParams
+#define soap_write_PointerTons1__find_USCOREterInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__find_USCOREterInputParams(soap, data), 0) || soap_put_PointerTons1__find_USCOREterInputParams(soap, data, "ns1:find_terInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__find_USCOREterInputParams(struct soap*, struct ns1__find_USCOREterInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__find_USCOREterInputParams
+#define soap_read_PointerTons1__find_USCOREterInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__find_USCOREterInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREterInputParams ** SOAP_FMAC4 soap_get_PointerTons1__find_USCOREterInputParams(struct soap*, struct ns1__find_USCOREterInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__dnawalkInputParams
+#define SOAP_TYPE_PointerTons1__dnawalkInputParams (316)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__dnawalkInputParams(struct soap*, struct ns1__dnawalkInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__dnawalkInputParams(struct soap*, const char *, int, struct ns1__dnawalkInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__dnawalkInputParams ** SOAP_FMAC4 soap_in_PointerTons1__dnawalkInputParams(struct soap*, const char*, struct ns1__dnawalkInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__dnawalkInputParams
+#define soap_write_PointerTons1__dnawalkInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__dnawalkInputParams(soap, data), 0) || soap_put_PointerTons1__dnawalkInputParams(soap, data, "ns1:dnawalkInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__dnawalkInputParams(struct soap*, struct ns1__dnawalkInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__dnawalkInputParams
+#define soap_read_PointerTons1__dnawalkInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__dnawalkInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__dnawalkInputParams ** SOAP_FMAC4 soap_get_PointerTons1__dnawalkInputParams(struct soap*, struct ns1__dnawalkInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__base_USCOREinformation_USCOREcontentInputParams
+#define SOAP_TYPE_PointerTons1__base_USCOREinformation_USCOREcontentInputParams (312)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(struct soap*, struct ns1__base_USCOREinformation_USCOREcontentInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(struct soap*, const char *, int, struct ns1__base_USCOREinformation_USCOREcontentInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__base_USCOREinformation_USCOREcontentInputParams ** SOAP_FMAC4 soap_in_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(struct soap*, const char*, struct ns1__base_USCOREinformation_USCOREcontentInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__base_USCOREinformation_USCOREcontentInputParams
+#define soap_write_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(soap, data), 0) || soap_put_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(soap, data, "ns1:base_information_contentInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(struct soap*, struct ns1__base_USCOREinformation_USCOREcontentInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__base_USCOREinformation_USCOREcontentInputParams
+#define soap_read_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__base_USCOREinformation_USCOREcontentInputParams ** SOAP_FMAC4 soap_get_PointerTons1__base_USCOREinformation_USCOREcontentInputParams(struct soap*, struct ns1__base_USCOREinformation_USCOREcontentInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__signatureInputParams
+#define SOAP_TYPE_PointerTons1__signatureInputParams (308)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__signatureInputParams(struct soap*, struct ns1__signatureInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__signatureInputParams(struct soap*, const char *, int, struct ns1__signatureInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__signatureInputParams ** SOAP_FMAC4 soap_in_PointerTons1__signatureInputParams(struct soap*, const char*, struct ns1__signatureInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__signatureInputParams
+#define soap_write_PointerTons1__signatureInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__signatureInputParams(soap, data), 0) || soap_put_PointerTons1__signatureInputParams(soap, data, "ns1:signatureInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__signatureInputParams(struct soap*, struct ns1__signatureInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__signatureInputParams
+#define soap_read_PointerTons1__signatureInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__signatureInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__signatureInputParams ** SOAP_FMAC4 soap_get_PointerTons1__signatureInputParams(struct soap*, struct ns1__signatureInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__genome_USCOREmap3InputParams
+#define SOAP_TYPE_PointerTons1__genome_USCOREmap3InputParams (301)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__genome_USCOREmap3InputParams(struct soap*, struct ns1__genome_USCOREmap3InputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__genome_USCOREmap3InputParams(struct soap*, const char *, int, struct ns1__genome_USCOREmap3InputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__genome_USCOREmap3InputParams ** SOAP_FMAC4 soap_in_PointerTons1__genome_USCOREmap3InputParams(struct soap*, const char*, struct ns1__genome_USCOREmap3InputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__genome_USCOREmap3InputParams
+#define soap_write_PointerTons1__genome_USCOREmap3InputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__genome_USCOREmap3InputParams(soap, data), 0) || soap_put_PointerTons1__genome_USCOREmap3InputParams(soap, data, "ns1:genome_map3InputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__genome_USCOREmap3InputParams(struct soap*, struct ns1__genome_USCOREmap3InputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__genome_USCOREmap3InputParams
+#define soap_read_PointerTons1__genome_USCOREmap3InputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__genome_USCOREmap3InputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__genome_USCOREmap3InputParams ** SOAP_FMAC4 soap_get_PointerTons1__genome_USCOREmap3InputParams(struct soap*, struct ns1__genome_USCOREmap3InputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__gcskewInputParams
+#define SOAP_TYPE_PointerTons1__gcskewInputParams (297)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__gcskewInputParams(struct soap*, struct ns1__gcskewInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__gcskewInputParams(struct soap*, const char *, int, struct ns1__gcskewInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__gcskewInputParams ** SOAP_FMAC4 soap_in_PointerTons1__gcskewInputParams(struct soap*, const char*, struct ns1__gcskewInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__gcskewInputParams
+#define soap_write_PointerTons1__gcskewInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__gcskewInputParams(soap, data), 0) || soap_put_PointerTons1__gcskewInputParams(soap, data, "ns1:gcskewInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__gcskewInputParams(struct soap*, struct ns1__gcskewInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__gcskewInputParams
+#define soap_read_PointerTons1__gcskewInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__gcskewInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__gcskewInputParams ** SOAP_FMAC4 soap_get_PointerTons1__gcskewInputParams(struct soap*, struct ns1__gcskewInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__molecular_USCOREweightInputParams
+#define SOAP_TYPE_PointerTons1__molecular_USCOREweightInputParams (293)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__molecular_USCOREweightInputParams(struct soap*, struct ns1__molecular_USCOREweightInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__molecular_USCOREweightInputParams(struct soap*, const char *, int, struct ns1__molecular_USCOREweightInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__molecular_USCOREweightInputParams ** SOAP_FMAC4 soap_in_PointerTons1__molecular_USCOREweightInputParams(struct soap*, const char*, struct ns1__molecular_USCOREweightInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__molecular_USCOREweightInputParams
+#define soap_write_PointerTons1__molecular_USCOREweightInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__molecular_USCOREweightInputParams(soap, data), 0) || soap_put_PointerTons1__molecular_USCOREweightInputParams(soap, data, "ns1:molecular_weightInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__molecular_USCOREweightInputParams(struct soap*, struct ns1__molecular_USCOREweightInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__molecular_USCOREweightInputParams
+#define soap_read_PointerTons1__molecular_USCOREweightInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__molecular_USCOREweightInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__molecular_USCOREweightInputParams ** SOAP_FMAC4 soap_get_PointerTons1__molecular_USCOREweightInputParams(struct soap*, struct ns1__molecular_USCOREweightInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__delta_USCOREgcskewInputParams
+#define SOAP_TYPE_PointerTons1__delta_USCOREgcskewInputParams (289)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__delta_USCOREgcskewInputParams(struct soap*, struct ns1__delta_USCOREgcskewInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__delta_USCOREgcskewInputParams(struct soap*, const char *, int, struct ns1__delta_USCOREgcskewInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__delta_USCOREgcskewInputParams ** SOAP_FMAC4 soap_in_PointerTons1__delta_USCOREgcskewInputParams(struct soap*, const char*, struct ns1__delta_USCOREgcskewInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__delta_USCOREgcskewInputParams
+#define soap_write_PointerTons1__delta_USCOREgcskewInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__delta_USCOREgcskewInputParams(soap, data), 0) || soap_put_PointerTons1__delta_USCOREgcskewInputParams(soap, data, "ns1:delta_gcskewInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__delta_USCOREgcskewInputParams(struct soap*, struct ns1__delta_USCOREgcskewInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__delta_USCOREgcskewInputParams
+#define soap_read_PointerTons1__delta_USCOREgcskewInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__delta_USCOREgcskewInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__delta_USCOREgcskewInputParams ** SOAP_FMAC4 soap_get_PointerTons1__delta_USCOREgcskewInputParams(struct soap*, struct ns1__delta_USCOREgcskewInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__cumulativeResponse
+#define SOAP_TYPE_PointerTons1__cumulativeResponse (283)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__cumulativeResponse(struct soap*, struct ns1__cumulativeResponse *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__cumulativeResponse(struct soap*, const char *, int, struct ns1__cumulativeResponse *const*, const char *);
+SOAP_FMAC3 struct ns1__cumulativeResponse ** SOAP_FMAC4 soap_in_PointerTons1__cumulativeResponse(struct soap*, const char*, struct ns1__cumulativeResponse **, const char*);
+
+#ifndef soap_write_PointerTons1__cumulativeResponse
+#define soap_write_PointerTons1__cumulativeResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__cumulativeResponse(soap, data), 0) || soap_put_PointerTons1__cumulativeResponse(soap, data, "ns1:cumulativeResponse", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__cumulativeResponse(struct soap*, struct ns1__cumulativeResponse *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__cumulativeResponse
+#define soap_read_PointerTons1__cumulativeResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__cumulativeResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__cumulativeResponse ** SOAP_FMAC4 soap_get_PointerTons1__cumulativeResponse(struct soap*, struct ns1__cumulativeResponse **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__corResponse
+#define SOAP_TYPE_PointerTons1__corResponse (279)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__corResponse(struct soap*, struct ns1__corResponse *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__corResponse(struct soap*, const char *, int, struct ns1__corResponse *const*, const char *);
+SOAP_FMAC3 struct ns1__corResponse ** SOAP_FMAC4 soap_in_PointerTons1__corResponse(struct soap*, const char*, struct ns1__corResponse **, const char*);
+
+#ifndef soap_write_PointerTons1__corResponse
+#define soap_write_PointerTons1__corResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__corResponse(soap, data), 0) || soap_put_PointerTons1__corResponse(soap, data, "ns1:corResponse", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__corResponse(struct soap*, struct ns1__corResponse *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__corResponse
+#define soap_read_PointerTons1__corResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__corResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__corResponse ** SOAP_FMAC4 soap_get_PointerTons1__corResponse(struct soap*, struct ns1__corResponse **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__corInputParams
+#define SOAP_TYPE_PointerTons1__corInputParams (278)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__corInputParams(struct soap*, struct ns1__corInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__corInputParams(struct soap*, const char *, int, struct ns1__corInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__corInputParams ** SOAP_FMAC4 soap_in_PointerTons1__corInputParams(struct soap*, const char*, struct ns1__corInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__corInputParams
+#define soap_write_PointerTons1__corInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__corInputParams(soap, data), 0) || soap_put_PointerTons1__corInputParams(soap, data, "ns1:corInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__corInputParams(struct soap*, struct ns1__corInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__corInputParams
+#define soap_read_PointerTons1__corInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__corInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__corInputParams ** SOAP_FMAC4 soap_get_PointerTons1__corInputParams(struct soap*, struct ns1__corInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__geneskewInputParams
+#define SOAP_TYPE_PointerTons1__geneskewInputParams (270)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__geneskewInputParams(struct soap*, struct ns1__geneskewInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__geneskewInputParams(struct soap*, const char *, int, struct ns1__geneskewInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__geneskewInputParams ** SOAP_FMAC4 soap_in_PointerTons1__geneskewInputParams(struct soap*, const char*, struct ns1__geneskewInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__geneskewInputParams
+#define soap_write_PointerTons1__geneskewInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__geneskewInputParams(soap, data), 0) || soap_put_PointerTons1__geneskewInputParams(soap, data, "ns1:geneskewInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__geneskewInputParams(struct soap*, struct ns1__geneskewInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__geneskewInputParams
+#define soap_read_PointerTons1__geneskewInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__geneskewInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__geneskewInputParams ** SOAP_FMAC4 soap_get_PointerTons1__geneskewInputParams(struct soap*, struct ns1__geneskewInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__genes_USCOREfrom_USCOREoriResponse
+#define SOAP_TYPE_PointerTons1__genes_USCOREfrom_USCOREoriResponse (267)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__genes_USCOREfrom_USCOREoriResponse(struct soap*, struct ns1__genes_USCOREfrom_USCOREoriResponse *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__genes_USCOREfrom_USCOREoriResponse(struct soap*, const char *, int, struct ns1__genes_USCOREfrom_USCOREoriResponse *const*, const char *);
+SOAP_FMAC3 struct ns1__genes_USCOREfrom_USCOREoriResponse ** SOAP_FMAC4 soap_in_PointerTons1__genes_USCOREfrom_USCOREoriResponse(struct soap*, const char*, struct ns1__genes_USCOREfrom_USCOREoriResponse **, const char*);
+
+#ifndef soap_write_PointerTons1__genes_USCOREfrom_USCOREoriResponse
+#define soap_write_PointerTons1__genes_USCOREfrom_USCOREoriResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__genes_USCOREfrom_USCOREoriResponse(soap, data), 0) || soap_put_PointerTons1__genes_USCOREfrom_USCOREoriResponse(soap, data, "ns1:genes_from_oriResponse", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__genes_USCOREfrom_USCOREoriResponse(struct soap*, struct ns1__genes_USCOREfrom_USCOREoriResponse *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__genes_USCOREfrom_USCOREoriResponse
+#define soap_read_PointerTons1__genes_USCOREfrom_USCOREoriResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__genes_USCOREfrom_USCOREoriResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__genes_USCOREfrom_USCOREoriResponse ** SOAP_FMAC4 soap_get_PointerTons1__genes_USCOREfrom_USCOREoriResponse(struct soap*, struct ns1__genes_USCOREfrom_USCOREoriResponse **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__genes_USCOREfrom_USCOREoriInputParams
+#define SOAP_TYPE_PointerTons1__genes_USCOREfrom_USCOREoriInputParams (266)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(struct soap*, struct ns1__genes_USCOREfrom_USCOREoriInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(struct soap*, const char *, int, struct ns1__genes_USCOREfrom_USCOREoriInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__genes_USCOREfrom_USCOREoriInputParams ** SOAP_FMAC4 soap_in_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(struct soap*, const char*, struct ns1__genes_USCOREfrom_USCOREoriInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__genes_USCOREfrom_USCOREoriInputParams
+#define soap_write_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(soap, data), 0) || soap_put_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(soap, data, "ns1:genes_from_oriInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(struct soap*, struct ns1__genes_USCOREfrom_USCOREoriInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__genes_USCOREfrom_USCOREoriInputParams
+#define soap_read_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__genes_USCOREfrom_USCOREoriInputParams ** SOAP_FMAC4 soap_get_PointerTons1__genes_USCOREfrom_USCOREoriInputParams(struct soap*, struct ns1__genes_USCOREfrom_USCOREoriInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__cbiInputParams
+#define SOAP_TYPE_PointerTons1__cbiInputParams (261)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__cbiInputParams(struct soap*, struct ns1__cbiInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__cbiInputParams(struct soap*, const char *, int, struct ns1__cbiInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__cbiInputParams ** SOAP_FMAC4 soap_in_PointerTons1__cbiInputParams(struct soap*, const char*, struct ns1__cbiInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__cbiInputParams
+#define soap_write_PointerTons1__cbiInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__cbiInputParams(soap, data), 0) || soap_put_PointerTons1__cbiInputParams(soap, data, "ns1:cbiInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__cbiInputParams(struct soap*, struct ns1__cbiInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__cbiInputParams
+#define soap_read_PointerTons1__cbiInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__cbiInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__cbiInputParams ** SOAP_FMAC4 soap_get_PointerTons1__cbiInputParams(struct soap*, struct ns1__cbiInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__find_USCOREdifResponse
+#define SOAP_TYPE_PointerTons1__find_USCOREdifResponse (258)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__find_USCOREdifResponse(struct soap*, struct ns1__find_USCOREdifResponse *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__find_USCOREdifResponse(struct soap*, const char *, int, struct ns1__find_USCOREdifResponse *const*, const char *);
+SOAP_FMAC3 struct ns1__find_USCOREdifResponse ** SOAP_FMAC4 soap_in_PointerTons1__find_USCOREdifResponse(struct soap*, const char*, struct ns1__find_USCOREdifResponse **, const char*);
+
+#ifndef soap_write_PointerTons1__find_USCOREdifResponse
+#define soap_write_PointerTons1__find_USCOREdifResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__find_USCOREdifResponse(soap, data), 0) || soap_put_PointerTons1__find_USCOREdifResponse(soap, data, "ns1:find_difResponse", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__find_USCOREdifResponse(struct soap*, struct ns1__find_USCOREdifResponse *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__find_USCOREdifResponse
+#define soap_read_PointerTons1__find_USCOREdifResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__find_USCOREdifResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREdifResponse ** SOAP_FMAC4 soap_get_PointerTons1__find_USCOREdifResponse(struct soap*, struct ns1__find_USCOREdifResponse **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__find_USCOREdifInputParams
+#define SOAP_TYPE_PointerTons1__find_USCOREdifInputParams (257)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__find_USCOREdifInputParams(struct soap*, struct ns1__find_USCOREdifInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__find_USCOREdifInputParams(struct soap*, const char *, int, struct ns1__find_USCOREdifInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__find_USCOREdifInputParams ** SOAP_FMAC4 soap_in_PointerTons1__find_USCOREdifInputParams(struct soap*, const char*, struct ns1__find_USCOREdifInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__find_USCOREdifInputParams
+#define soap_write_PointerTons1__find_USCOREdifInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__find_USCOREdifInputParams(soap, data), 0) || soap_put_PointerTons1__find_USCOREdifInputParams(soap, data, "ns1:find_difInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__find_USCOREdifInputParams(struct soap*, struct ns1__find_USCOREdifInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__find_USCOREdifInputParams
+#define soap_read_PointerTons1__find_USCOREdifInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__find_USCOREdifInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREdifInputParams ** SOAP_FMAC4 soap_get_PointerTons1__find_USCOREdifInputParams(struct soap*, struct ns1__find_USCOREdifInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__to_USCOREfastaInputParams
+#define SOAP_TYPE_PointerTons1__to_USCOREfastaInputParams (252)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__to_USCOREfastaInputParams(struct soap*, struct ns1__to_USCOREfastaInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__to_USCOREfastaInputParams(struct soap*, const char *, int, struct ns1__to_USCOREfastaInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__to_USCOREfastaInputParams ** SOAP_FMAC4 soap_in_PointerTons1__to_USCOREfastaInputParams(struct soap*, const char*, struct ns1__to_USCOREfastaInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__to_USCOREfastaInputParams
+#define soap_write_PointerTons1__to_USCOREfastaInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__to_USCOREfastaInputParams(soap, data), 0) || soap_put_PointerTons1__to_USCOREfastaInputParams(soap, data, "ns1:to_fastaInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__to_USCOREfastaInputParams(struct soap*, struct ns1__to_USCOREfastaInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__to_USCOREfastaInputParams
+#define soap_read_PointerTons1__to_USCOREfastaInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__to_USCOREfastaInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__to_USCOREfastaInputParams ** SOAP_FMAC4 soap_get_PointerTons1__to_USCOREfastaInputParams(struct soap*, struct ns1__to_USCOREfastaInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__base_USCOREentropyInputParams
+#define SOAP_TYPE_PointerTons1__base_USCOREentropyInputParams (248)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__base_USCOREentropyInputParams(struct soap*, struct ns1__base_USCOREentropyInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__base_USCOREentropyInputParams(struct soap*, const char *, int, struct ns1__base_USCOREentropyInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__base_USCOREentropyInputParams ** SOAP_FMAC4 soap_in_PointerTons1__base_USCOREentropyInputParams(struct soap*, const char*, struct ns1__base_USCOREentropyInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__base_USCOREentropyInputParams
+#define soap_write_PointerTons1__base_USCOREentropyInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__base_USCOREentropyInputParams(soap, data), 0) || soap_put_PointerTons1__base_USCOREentropyInputParams(soap, data, "ns1:base_entropyInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__base_USCOREentropyInputParams(struct soap*, struct ns1__base_USCOREentropyInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__base_USCOREentropyInputParams
+#define soap_read_PointerTons1__base_USCOREentropyInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__base_USCOREentropyInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__base_USCOREentropyInputParams ** SOAP_FMAC4 soap_get_PointerTons1__base_USCOREentropyInputParams(struct soap*, struct ns1__base_USCOREentropyInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__DoubleHelixInputParams
+#define SOAP_TYPE_PointerTons1__DoubleHelixInputParams (244)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__DoubleHelixInputParams(struct soap*, struct ns1__DoubleHelixInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__DoubleHelixInputParams(struct soap*, const char *, int, struct ns1__DoubleHelixInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__DoubleHelixInputParams ** SOAP_FMAC4 soap_in_PointerTons1__DoubleHelixInputParams(struct soap*, const char*, struct ns1__DoubleHelixInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__DoubleHelixInputParams
+#define soap_write_PointerTons1__DoubleHelixInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__DoubleHelixInputParams(soap, data), 0) || soap_put_PointerTons1__DoubleHelixInputParams(soap, data, "ns1:DoubleHelixInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__DoubleHelixInputParams(struct soap*, struct ns1__DoubleHelixInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__DoubleHelixInputParams
+#define soap_read_PointerTons1__DoubleHelixInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__DoubleHelixInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__DoubleHelixInputParams ** SOAP_FMAC4 soap_get_PointerTons1__DoubleHelixInputParams(struct soap*, struct ns1__DoubleHelixInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__rep_USCOREori_USCOREterInputParams
+#define SOAP_TYPE_PointerTons1__rep_USCOREori_USCOREterInputParams (237)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__rep_USCOREori_USCOREterInputParams(struct soap*, struct ns1__rep_USCOREori_USCOREterInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__rep_USCOREori_USCOREterInputParams(struct soap*, const char *, int, struct ns1__rep_USCOREori_USCOREterInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__rep_USCOREori_USCOREterInputParams ** SOAP_FMAC4 soap_in_PointerTons1__rep_USCOREori_USCOREterInputParams(struct soap*, const char*, struct ns1__rep_USCOREori_USCOREterInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__rep_USCOREori_USCOREterInputParams
+#define soap_write_PointerTons1__rep_USCOREori_USCOREterInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__rep_USCOREori_USCOREterInputParams(soap, data), 0) || soap_put_PointerTons1__rep_USCOREori_USCOREterInputParams(soap, data, "ns1:rep_ori_terInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__rep_USCOREori_USCOREterInputParams(struct soap*, struct ns1__rep_USCOREori_USCOREterInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__rep_USCOREori_USCOREterInputParams
+#define soap_read_PointerTons1__rep_USCOREori_USCOREterInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__rep_USCOREori_USCOREterInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__rep_USCOREori_USCOREterInputParams ** SOAP_FMAC4 soap_get_PointerTons1__rep_USCOREori_USCOREterInputParams(struct soap*, struct ns1__rep_USCOREori_USCOREterInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__genome_USCOREmapInputParams
+#define SOAP_TYPE_PointerTons1__genome_USCOREmapInputParams (230)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__genome_USCOREmapInputParams(struct soap*, struct ns1__genome_USCOREmapInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__genome_USCOREmapInputParams(struct soap*, const char *, int, struct ns1__genome_USCOREmapInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__genome_USCOREmapInputParams ** SOAP_FMAC4 soap_in_PointerTons1__genome_USCOREmapInputParams(struct soap*, const char*, struct ns1__genome_USCOREmapInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__genome_USCOREmapInputParams
+#define soap_write_PointerTons1__genome_USCOREmapInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__genome_USCOREmapInputParams(soap, data), 0) || soap_put_PointerTons1__genome_USCOREmapInputParams(soap, data, "ns1:genome_mapInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__genome_USCOREmapInputParams(struct soap*, struct ns1__genome_USCOREmapInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__genome_USCOREmapInputParams
+#define soap_read_PointerTons1__genome_USCOREmapInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__genome_USCOREmapInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__genome_USCOREmapInputParams ** SOAP_FMAC4 soap_get_PointerTons1__genome_USCOREmapInputParams(struct soap*, struct ns1__genome_USCOREmapInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__consensus_USCOREzInputParams
+#define SOAP_TYPE_PointerTons1__consensus_USCOREzInputParams (226)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__consensus_USCOREzInputParams(struct soap*, struct ns1__consensus_USCOREzInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__consensus_USCOREzInputParams(struct soap*, const char *, int, struct ns1__consensus_USCOREzInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__consensus_USCOREzInputParams ** SOAP_FMAC4 soap_in_PointerTons1__consensus_USCOREzInputParams(struct soap*, const char*, struct ns1__consensus_USCOREzInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__consensus_USCOREzInputParams
+#define soap_write_PointerTons1__consensus_USCOREzInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__consensus_USCOREzInputParams(soap, data), 0) || soap_put_PointerTons1__consensus_USCOREzInputParams(soap, data, "ns1:consensus_zInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__consensus_USCOREzInputParams(struct soap*, struct ns1__consensus_USCOREzInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__consensus_USCOREzInputParams
+#define soap_read_PointerTons1__consensus_USCOREzInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__consensus_USCOREzInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__consensus_USCOREzInputParams ** SOAP_FMAC4 soap_get_PointerTons1__consensus_USCOREzInputParams(struct soap*, struct ns1__consensus_USCOREzInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__caiInputParams
+#define SOAP_TYPE_PointerTons1__caiInputParams (210)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__caiInputParams(struct soap*, struct ns1__caiInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__caiInputParams(struct soap*, const char *, int, struct ns1__caiInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__caiInputParams ** SOAP_FMAC4 soap_in_PointerTons1__caiInputParams(struct soap*, const char*, struct ns1__caiInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__caiInputParams
+#define soap_write_PointerTons1__caiInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__caiInputParams(soap, data), 0) || soap_put_PointerTons1__caiInputParams(soap, data, "ns1:caiInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__caiInputParams(struct soap*, struct ns1__caiInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__caiInputParams
+#define soap_read_PointerTons1__caiInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__caiInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__caiInputParams ** SOAP_FMAC4 soap_get_PointerTons1__caiInputParams(struct soap*, struct ns1__caiInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__gcsiInputParams
+#define SOAP_TYPE_PointerTons1__gcsiInputParams (206)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__gcsiInputParams(struct soap*, struct ns1__gcsiInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__gcsiInputParams(struct soap*, const char *, int, struct ns1__gcsiInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__gcsiInputParams ** SOAP_FMAC4 soap_in_PointerTons1__gcsiInputParams(struct soap*, const char*, struct ns1__gcsiInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__gcsiInputParams
+#define soap_write_PointerTons1__gcsiInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__gcsiInputParams(soap, data), 0) || soap_put_PointerTons1__gcsiInputParams(soap, data, "ns1:gcsiInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__gcsiInputParams(struct soap*, struct ns1__gcsiInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__gcsiInputParams
+#define soap_read_PointerTons1__gcsiInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__gcsiInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__gcsiInputParams ** SOAP_FMAC4 soap_get_PointerTons1__gcsiInputParams(struct soap*, struct ns1__gcsiInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse
+#define SOAP_TYPE_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse (203)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap*, struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap*, const char *, int, struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *const*, const char *);
+SOAP_FMAC3 struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse ** SOAP_FMAC4 soap_in_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap*, const char*, struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse **, const char*);
+
+#ifndef soap_write_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse
+#define soap_write_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, data), 0) || soap_put_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, data, "ns1:filter_cds_by_atgResponse", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap*, struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse
+#define soap_read_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse ** SOAP_FMAC4 soap_get_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgResponse(struct soap*, struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams
+#define SOAP_TYPE_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams (202)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap*, struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap*, const char *, int, struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams ** SOAP_FMAC4 soap_in_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap*, const char*, struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams
+#define soap_write_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, data), 0) || soap_put_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, data, "ns1:filter_cds_by_atgInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap*, struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams
+#define soap_read_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams ** SOAP_FMAC4 soap_get_PointerTons1__filter_USCOREcds_USCOREby_USCOREatgInputParams(struct soap*, struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__genomicskewInputParams
+#define SOAP_TYPE_PointerTons1__genomicskewInputParams (197)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__genomicskewInputParams(struct soap*, struct ns1__genomicskewInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__genomicskewInputParams(struct soap*, const char *, int, struct ns1__genomicskewInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__genomicskewInputParams ** SOAP_FMAC4 soap_in_PointerTons1__genomicskewInputParams(struct soap*, const char*, struct ns1__genomicskewInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__genomicskewInputParams
+#define soap_write_PointerTons1__genomicskewInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__genomicskewInputParams(soap, data), 0) || soap_put_PointerTons1__genomicskewInputParams(soap, data, "ns1:genomicskewInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__genomicskewInputParams(struct soap*, struct ns1__genomicskewInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__genomicskewInputParams
+#define soap_read_PointerTons1__genomicskewInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__genomicskewInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__genomicskewInputParams ** SOAP_FMAC4 soap_get_PointerTons1__genomicskewInputParams(struct soap*, struct ns1__genomicskewInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__query_USCOREstrandInputParams
+#define SOAP_TYPE_PointerTons1__query_USCOREstrandInputParams (193)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__query_USCOREstrandInputParams(struct soap*, struct ns1__query_USCOREstrandInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__query_USCOREstrandInputParams(struct soap*, const char *, int, struct ns1__query_USCOREstrandInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__query_USCOREstrandInputParams ** SOAP_FMAC4 soap_in_PointerTons1__query_USCOREstrandInputParams(struct soap*, const char*, struct ns1__query_USCOREstrandInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__query_USCOREstrandInputParams
+#define soap_write_PointerTons1__query_USCOREstrandInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__query_USCOREstrandInputParams(soap, data), 0) || soap_put_PointerTons1__query_USCOREstrandInputParams(soap, data, "ns1:query_strandInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__query_USCOREstrandInputParams(struct soap*, struct ns1__query_USCOREstrandInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__query_USCOREstrandInputParams
+#define soap_read_PointerTons1__query_USCOREstrandInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__query_USCOREstrandInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__query_USCOREstrandInputParams ** SOAP_FMAC4 soap_get_PointerTons1__query_USCOREstrandInputParams(struct soap*, struct ns1__query_USCOREstrandInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__view_USCOREcdsInputParams
+#define SOAP_TYPE_PointerTons1__view_USCOREcdsInputParams (189)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__view_USCOREcdsInputParams(struct soap*, struct ns1__view_USCOREcdsInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__view_USCOREcdsInputParams(struct soap*, const char *, int, struct ns1__view_USCOREcdsInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__view_USCOREcdsInputParams ** SOAP_FMAC4 soap_in_PointerTons1__view_USCOREcdsInputParams(struct soap*, const char*, struct ns1__view_USCOREcdsInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__view_USCOREcdsInputParams
+#define soap_write_PointerTons1__view_USCOREcdsInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__view_USCOREcdsInputParams(soap, data), 0) || soap_put_PointerTons1__view_USCOREcdsInputParams(soap, data, "ns1:view_cdsInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__view_USCOREcdsInputParams(struct soap*, struct ns1__view_USCOREcdsInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__view_USCOREcdsInputParams
+#define soap_read_PointerTons1__view_USCOREcdsInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__view_USCOREcdsInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__view_USCOREcdsInputParams ** SOAP_FMAC4 soap_get_PointerTons1__view_USCOREcdsInputParams(struct soap*, struct ns1__view_USCOREcdsInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__base_USCORErelative_USCOREentropyInputParams
+#define SOAP_TYPE_PointerTons1__base_USCORErelative_USCOREentropyInputParams (185)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__base_USCORErelative_USCOREentropyInputParams(struct soap*, struct ns1__base_USCORErelative_USCOREentropyInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__base_USCORErelative_USCOREentropyInputParams(struct soap*, const char *, int, struct ns1__base_USCORErelative_USCOREentropyInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__base_USCORErelative_USCOREentropyInputParams ** SOAP_FMAC4 soap_in_PointerTons1__base_USCORErelative_USCOREentropyInputParams(struct soap*, const char*, struct ns1__base_USCORErelative_USCOREentropyInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__base_USCORErelative_USCOREentropyInputParams
+#define soap_write_PointerTons1__base_USCORErelative_USCOREentropyInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__base_USCORErelative_USCOREentropyInputParams(soap, data), 0) || soap_put_PointerTons1__base_USCORErelative_USCOREentropyInputParams(soap, data, "ns1:base_relative_entropyInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__base_USCORErelative_USCOREentropyInputParams(struct soap*, struct ns1__base_USCORErelative_USCOREentropyInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__base_USCORErelative_USCOREentropyInputParams
+#define soap_read_PointerTons1__base_USCORErelative_USCOREentropyInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__base_USCORErelative_USCOREentropyInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__base_USCORErelative_USCOREentropyInputParams ** SOAP_FMAC4 soap_get_PointerTons1__base_USCORErelative_USCOREentropyInputParams(struct soap*, struct ns1__base_USCORErelative_USCOREentropyInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__EwInputParams
+#define SOAP_TYPE_PointerTons1__EwInputParams (181)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__EwInputParams(struct soap*, struct ns1__EwInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__EwInputParams(struct soap*, const char *, int, struct ns1__EwInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__EwInputParams ** SOAP_FMAC4 soap_in_PointerTons1__EwInputParams(struct soap*, const char*, struct ns1__EwInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__EwInputParams
+#define soap_write_PointerTons1__EwInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__EwInputParams(soap, data), 0) || soap_put_PointerTons1__EwInputParams(soap, data, "ns1:EwInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__EwInputParams(struct soap*, struct ns1__EwInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__EwInputParams
+#define soap_read_PointerTons1__EwInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__EwInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__EwInputParams ** SOAP_FMAC4 soap_get_PointerTons1__EwInputParams(struct soap*, struct ns1__EwInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__over_USCORElapping_USCOREfinderInputParams
+#define SOAP_TYPE_PointerTons1__over_USCORElapping_USCOREfinderInputParams (177)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__over_USCORElapping_USCOREfinderInputParams(struct soap*, struct ns1__over_USCORElapping_USCOREfinderInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__over_USCORElapping_USCOREfinderInputParams(struct soap*, const char *, int, struct ns1__over_USCORElapping_USCOREfinderInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__over_USCORElapping_USCOREfinderInputParams ** SOAP_FMAC4 soap_in_PointerTons1__over_USCORElapping_USCOREfinderInputParams(struct soap*, const char*, struct ns1__over_USCORElapping_USCOREfinderInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__over_USCORElapping_USCOREfinderInputParams
+#define soap_write_PointerTons1__over_USCORElapping_USCOREfinderInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__over_USCORElapping_USCOREfinderInputParams(soap, data), 0) || soap_put_PointerTons1__over_USCORElapping_USCOREfinderInputParams(soap, data, "ns1:over_lapping_finderInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__over_USCORElapping_USCOREfinderInputParams(struct soap*, struct ns1__over_USCORElapping_USCOREfinderInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__over_USCORElapping_USCOREfinderInputParams
+#define soap_read_PointerTons1__over_USCORElapping_USCOREfinderInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__over_USCORElapping_USCOREfinderInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__over_USCORElapping_USCOREfinderInputParams ** SOAP_FMAC4 soap_get_PointerTons1__over_USCORElapping_USCOREfinderInputParams(struct soap*, struct ns1__over_USCORElapping_USCOREfinderInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__codon_USCOREcompilerInputParams
+#define SOAP_TYPE_PointerTons1__codon_USCOREcompilerInputParams (173)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__codon_USCOREcompilerInputParams(struct soap*, struct ns1__codon_USCOREcompilerInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__codon_USCOREcompilerInputParams(struct soap*, const char *, int, struct ns1__codon_USCOREcompilerInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__codon_USCOREcompilerInputParams ** SOAP_FMAC4 soap_in_PointerTons1__codon_USCOREcompilerInputParams(struct soap*, const char*, struct ns1__codon_USCOREcompilerInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__codon_USCOREcompilerInputParams
+#define soap_write_PointerTons1__codon_USCOREcompilerInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__codon_USCOREcompilerInputParams(soap, data), 0) || soap_put_PointerTons1__codon_USCOREcompilerInputParams(soap, data, "ns1:codon_compilerInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__codon_USCOREcompilerInputParams(struct soap*, struct ns1__codon_USCOREcompilerInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__codon_USCOREcompilerInputParams
+#define soap_read_PointerTons1__codon_USCOREcompilerInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__codon_USCOREcompilerInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__codon_USCOREcompilerInputParams ** SOAP_FMAC4 soap_get_PointerTons1__codon_USCOREcompilerInputParams(struct soap*, struct ns1__codon_USCOREcompilerInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__aauiInputParams
+#define SOAP_TYPE_PointerTons1__aauiInputParams (169)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__aauiInputParams(struct soap*, struct ns1__aauiInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__aauiInputParams(struct soap*, const char *, int, struct ns1__aauiInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__aauiInputParams ** SOAP_FMAC4 soap_in_PointerTons1__aauiInputParams(struct soap*, const char*, struct ns1__aauiInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__aauiInputParams
+#define soap_write_PointerTons1__aauiInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__aauiInputParams(soap, data), 0) || soap_put_PointerTons1__aauiInputParams(soap, data, "ns1:aauiInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__aauiInputParams(struct soap*, struct ns1__aauiInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__aauiInputParams
+#define soap_read_PointerTons1__aauiInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__aauiInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__aauiInputParams ** SOAP_FMAC4 soap_get_PointerTons1__aauiInputParams(struct soap*, struct ns1__aauiInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__amino_USCOREcounterInputParams
+#define SOAP_TYPE_PointerTons1__amino_USCOREcounterInputParams (165)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__amino_USCOREcounterInputParams(struct soap*, struct ns1__amino_USCOREcounterInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__amino_USCOREcounterInputParams(struct soap*, const char *, int, struct ns1__amino_USCOREcounterInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__amino_USCOREcounterInputParams ** SOAP_FMAC4 soap_in_PointerTons1__amino_USCOREcounterInputParams(struct soap*, const char*, struct ns1__amino_USCOREcounterInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__amino_USCOREcounterInputParams
+#define soap_write_PointerTons1__amino_USCOREcounterInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__amino_USCOREcounterInputParams(soap, data), 0) || soap_put_PointerTons1__amino_USCOREcounterInputParams(soap, data, "ns1:amino_counterInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__amino_USCOREcounterInputParams(struct soap*, struct ns1__amino_USCOREcounterInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__amino_USCOREcounterInputParams
+#define soap_read_PointerTons1__amino_USCOREcounterInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__amino_USCOREcounterInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__amino_USCOREcounterInputParams ** SOAP_FMAC4 soap_get_PointerTons1__amino_USCOREcounterInputParams(struct soap*, struct ns1__amino_USCOREcounterInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__seq2pngInputParams
+#define SOAP_TYPE_PointerTons1__seq2pngInputParams (161)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__seq2pngInputParams(struct soap*, struct ns1__seq2pngInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__seq2pngInputParams(struct soap*, const char *, int, struct ns1__seq2pngInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__seq2pngInputParams ** SOAP_FMAC4 soap_in_PointerTons1__seq2pngInputParams(struct soap*, const char*, struct ns1__seq2pngInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__seq2pngInputParams
+#define soap_write_PointerTons1__seq2pngInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__seq2pngInputParams(soap, data), 0) || soap_put_PointerTons1__seq2pngInputParams(soap, data, "ns1:seq2pngInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__seq2pngInputParams(struct soap*, struct ns1__seq2pngInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__seq2pngInputParams
+#define soap_read_PointerTons1__seq2pngInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__seq2pngInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__seq2pngInputParams ** SOAP_FMAC4 soap_get_PointerTons1__seq2pngInputParams(struct soap*, struct ns1__seq2pngInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__ttestResponse
+#define SOAP_TYPE_PointerTons1__ttestResponse (158)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__ttestResponse(struct soap*, struct ns1__ttestResponse *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__ttestResponse(struct soap*, const char *, int, struct ns1__ttestResponse *const*, const char *);
+SOAP_FMAC3 struct ns1__ttestResponse ** SOAP_FMAC4 soap_in_PointerTons1__ttestResponse(struct soap*, const char*, struct ns1__ttestResponse **, const char*);
+
+#ifndef soap_write_PointerTons1__ttestResponse
+#define soap_write_PointerTons1__ttestResponse(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__ttestResponse(soap, data), 0) || soap_put_PointerTons1__ttestResponse(soap, data, "ns1:ttestResponse", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__ttestResponse(struct soap*, struct ns1__ttestResponse *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__ttestResponse
+#define soap_read_PointerTons1__ttestResponse(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__ttestResponse(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__ttestResponse ** SOAP_FMAC4 soap_get_PointerTons1__ttestResponse(struct soap*, struct ns1__ttestResponse **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__ttestInputParams
+#define SOAP_TYPE_PointerTons1__ttestInputParams (157)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__ttestInputParams(struct soap*, struct ns1__ttestInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__ttestInputParams(struct soap*, const char *, int, struct ns1__ttestInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__ttestInputParams ** SOAP_FMAC4 soap_in_PointerTons1__ttestInputParams(struct soap*, const char*, struct ns1__ttestInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__ttestInputParams
+#define soap_write_PointerTons1__ttestInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__ttestInputParams(soap, data), 0) || soap_put_PointerTons1__ttestInputParams(soap, data, "ns1:ttestInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__ttestInputParams(struct soap*, struct ns1__ttestInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__ttestInputParams
+#define soap_read_PointerTons1__ttestInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__ttestInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__ttestInputParams ** SOAP_FMAC4 soap_get_PointerTons1__ttestInputParams(struct soap*, struct ns1__ttestInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerToarrayOut
+#define SOAP_TYPE_PointerToarrayOut (156)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToarrayOut(struct soap*, struct arrayOut *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToarrayOut(struct soap*, const char *, int, struct arrayOut *const*, const char *);
+SOAP_FMAC3 struct arrayOut ** SOAP_FMAC4 soap_in_PointerToarrayOut(struct soap*, const char*, struct arrayOut **, const char*);
+
+#ifndef soap_write_PointerToarrayOut
+#define soap_write_PointerToarrayOut(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerToarrayOut(soap, data), 0) || soap_put_PointerToarrayOut(soap, data, "SOAP-ENC:Array", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToarrayOut(struct soap*, struct arrayOut *const*, const char*, const char*);
+
+#ifndef soap_read_PointerToarrayOut
+#define soap_read_PointerToarrayOut(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerToarrayOut(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct arrayOut ** SOAP_FMAC4 soap_get_PointerToarrayOut(struct soap*, struct arrayOut **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__find_USCOREdnaAboxInputParams
+#define SOAP_TYPE_PointerTons1__find_USCOREdnaAboxInputParams (151)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__find_USCOREdnaAboxInputParams(struct soap*, struct ns1__find_USCOREdnaAboxInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__find_USCOREdnaAboxInputParams(struct soap*, const char *, int, struct ns1__find_USCOREdnaAboxInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__find_USCOREdnaAboxInputParams ** SOAP_FMAC4 soap_in_PointerTons1__find_USCOREdnaAboxInputParams(struct soap*, const char*, struct ns1__find_USCOREdnaAboxInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__find_USCOREdnaAboxInputParams
+#define soap_write_PointerTons1__find_USCOREdnaAboxInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__find_USCOREdnaAboxInputParams(soap, data), 0) || soap_put_PointerTons1__find_USCOREdnaAboxInputParams(soap, data, "ns1:find_dnaAboxInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__find_USCOREdnaAboxInputParams(struct soap*, struct ns1__find_USCOREdnaAboxInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__find_USCOREdnaAboxInputParams
+#define soap_read_PointerTons1__find_USCOREdnaAboxInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__find_USCOREdnaAboxInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREdnaAboxInputParams ** SOAP_FMAC4 soap_get_PointerTons1__find_USCOREdnaAboxInputParams(struct soap*, struct ns1__find_USCOREdnaAboxInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__buiInputParams
+#define SOAP_TYPE_PointerTons1__buiInputParams (144)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__buiInputParams(struct soap*, struct ns1__buiInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__buiInputParams(struct soap*, const char *, int, struct ns1__buiInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__buiInputParams ** SOAP_FMAC4 soap_in_PointerTons1__buiInputParams(struct soap*, const char*, struct ns1__buiInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__buiInputParams
+#define soap_write_PointerTons1__buiInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__buiInputParams(soap, data), 0) || soap_put_PointerTons1__buiInputParams(soap, data, "ns1:buiInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__buiInputParams(struct soap*, struct ns1__buiInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__buiInputParams
+#define soap_read_PointerTons1__buiInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__buiInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__buiInputParams ** SOAP_FMAC4 soap_get_PointerTons1__buiInputParams(struct soap*, struct ns1__buiInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__fopInputParams
+#define SOAP_TYPE_PointerTons1__fopInputParams (140)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__fopInputParams(struct soap*, struct ns1__fopInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__fopInputParams(struct soap*, const char *, int, struct ns1__fopInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__fopInputParams ** SOAP_FMAC4 soap_in_PointerTons1__fopInputParams(struct soap*, const char*, struct ns1__fopInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__fopInputParams
+#define soap_write_PointerTons1__fopInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__fopInputParams(soap, data), 0) || soap_put_PointerTons1__fopInputParams(soap, data, "ns1:fopInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__fopInputParams(struct soap*, struct ns1__fopInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__fopInputParams
+#define soap_read_PointerTons1__fopInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__fopInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__fopInputParams ** SOAP_FMAC4 soap_get_PointerTons1__fopInputParams(struct soap*, struct ns1__fopInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__encInputParams
+#define SOAP_TYPE_PointerTons1__encInputParams (136)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__encInputParams(struct soap*, struct ns1__encInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__encInputParams(struct soap*, const char *, int, struct ns1__encInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__encInputParams ** SOAP_FMAC4 soap_in_PointerTons1__encInputParams(struct soap*, const char*, struct ns1__encInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__encInputParams
+#define soap_write_PointerTons1__encInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__encInputParams(soap, data), 0) || soap_put_PointerTons1__encInputParams(soap, data, "ns1:encInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__encInputParams(struct soap*, struct ns1__encInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__encInputParams
+#define soap_read_PointerTons1__encInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__encInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__encInputParams ** SOAP_FMAC4 soap_get_PointerTons1__encInputParams(struct soap*, struct ns1__encInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__icdiInputParams
+#define SOAP_TYPE_PointerTons1__icdiInputParams (132)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__icdiInputParams(struct soap*, struct ns1__icdiInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__icdiInputParams(struct soap*, const char *, int, struct ns1__icdiInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__icdiInputParams ** SOAP_FMAC4 soap_in_PointerTons1__icdiInputParams(struct soap*, const char*, struct ns1__icdiInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__icdiInputParams
+#define soap_write_PointerTons1__icdiInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__icdiInputParams(soap, data), 0) || soap_put_PointerTons1__icdiInputParams(soap, data, "ns1:icdiInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__icdiInputParams(struct soap*, struct ns1__icdiInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__icdiInputParams
+#define soap_read_PointerTons1__icdiInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__icdiInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__icdiInputParams ** SOAP_FMAC4 soap_get_PointerTons1__icdiInputParams(struct soap*, struct ns1__icdiInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__phxInputParams
+#define SOAP_TYPE_PointerTons1__phxInputParams (128)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__phxInputParams(struct soap*, struct ns1__phxInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__phxInputParams(struct soap*, const char *, int, struct ns1__phxInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__phxInputParams ** SOAP_FMAC4 soap_in_PointerTons1__phxInputParams(struct soap*, const char*, struct ns1__phxInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__phxInputParams
+#define soap_write_PointerTons1__phxInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__phxInputParams(soap, data), 0) || soap_put_PointerTons1__phxInputParams(soap, data, "ns1:phxInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__phxInputParams(struct soap*, struct ns1__phxInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__phxInputParams
+#define soap_read_PointerTons1__phxInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__phxInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__phxInputParams ** SOAP_FMAC4 soap_get_PointerTons1__phxInputParams(struct soap*, struct ns1__phxInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__togoWSInputParams
+#define SOAP_TYPE_PointerTons1__togoWSInputParams (121)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__togoWSInputParams(struct soap*, struct ns1__togoWSInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__togoWSInputParams(struct soap*, const char *, int, struct ns1__togoWSInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__togoWSInputParams ** SOAP_FMAC4 soap_in_PointerTons1__togoWSInputParams(struct soap*, const char*, struct ns1__togoWSInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__togoWSInputParams
+#define soap_write_PointerTons1__togoWSInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__togoWSInputParams(soap, data), 0) || soap_put_PointerTons1__togoWSInputParams(soap, data, "ns1:togoWSInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__togoWSInputParams(struct soap*, struct ns1__togoWSInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__togoWSInputParams
+#define soap_read_PointerTons1__togoWSInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__togoWSInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__togoWSInputParams ** SOAP_FMAC4 soap_get_PointerTons1__togoWSInputParams(struct soap*, struct ns1__togoWSInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__circular_USCOREmapInputParams
+#define SOAP_TYPE_PointerTons1__circular_USCOREmapInputParams (117)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__circular_USCOREmapInputParams(struct soap*, struct ns1__circular_USCOREmapInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__circular_USCOREmapInputParams(struct soap*, const char *, int, struct ns1__circular_USCOREmapInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__circular_USCOREmapInputParams ** SOAP_FMAC4 soap_in_PointerTons1__circular_USCOREmapInputParams(struct soap*, const char*, struct ns1__circular_USCOREmapInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__circular_USCOREmapInputParams
+#define soap_write_PointerTons1__circular_USCOREmapInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__circular_USCOREmapInputParams(soap, data), 0) || soap_put_PointerTons1__circular_USCOREmapInputParams(soap, data, "ns1:circular_mapInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__circular_USCOREmapInputParams(struct soap*, struct ns1__circular_USCOREmapInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__circular_USCOREmapInputParams
+#define soap_read_PointerTons1__circular_USCOREmapInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__circular_USCOREmapInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__circular_USCOREmapInputParams ** SOAP_FMAC4 soap_get_PointerTons1__circular_USCOREmapInputParams(struct soap*, struct ns1__circular_USCOREmapInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__nucleotide_USCOREperiodicityInputParams
+#define SOAP_TYPE_PointerTons1__nucleotide_USCOREperiodicityInputParams (107)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__nucleotide_USCOREperiodicityInputParams(struct soap*, struct ns1__nucleotide_USCOREperiodicityInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__nucleotide_USCOREperiodicityInputParams(struct soap*, const char *, int, struct ns1__nucleotide_USCOREperiodicityInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__nucleotide_USCOREperiodicityInputParams ** SOAP_FMAC4 soap_in_PointerTons1__nucleotide_USCOREperiodicityInputParams(struct soap*, const char*, struct ns1__nucleotide_USCOREperiodicityInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__nucleotide_USCOREperiodicityInputParams
+#define soap_write_PointerTons1__nucleotide_USCOREperiodicityInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__nucleotide_USCOREperiodicityInputParams(soap, data), 0) || soap_put_PointerTons1__nucleotide_USCOREperiodicityInputParams(soap, data, "ns1:nucleotide_periodicityInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__nucleotide_USCOREperiodicityInputParams(struct soap*, struct ns1__nucleotide_USCOREperiodicityInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__nucleotide_USCOREperiodicityInputParams
+#define soap_read_PointerTons1__nucleotide_USCOREperiodicityInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__nucleotide_USCOREperiodicityInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__nucleotide_USCOREperiodicityInputParams ** SOAP_FMAC4 soap_get_PointerTons1__nucleotide_USCOREperiodicityInputParams(struct soap*, struct ns1__nucleotide_USCOREperiodicityInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__plasmid_USCOREmapInputParams
+#define SOAP_TYPE_PointerTons1__plasmid_USCOREmapInputParams (100)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__plasmid_USCOREmapInputParams(struct soap*, struct ns1__plasmid_USCOREmapInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__plasmid_USCOREmapInputParams(struct soap*, const char *, int, struct ns1__plasmid_USCOREmapInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__plasmid_USCOREmapInputParams ** SOAP_FMAC4 soap_in_PointerTons1__plasmid_USCOREmapInputParams(struct soap*, const char*, struct ns1__plasmid_USCOREmapInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__plasmid_USCOREmapInputParams
+#define soap_write_PointerTons1__plasmid_USCOREmapInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__plasmid_USCOREmapInputParams(soap, data), 0) || soap_put_PointerTons1__plasmid_USCOREmapInputParams(soap, data, "ns1:plasmid_mapInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__plasmid_USCOREmapInputParams(struct soap*, struct ns1__plasmid_USCOREmapInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__plasmid_USCOREmapInputParams
+#define soap_read_PointerTons1__plasmid_USCOREmapInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__plasmid_USCOREmapInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__plasmid_USCOREmapInputParams ** SOAP_FMAC4 soap_get_PointerTons1__plasmid_USCOREmapInputParams(struct soap*, struct ns1__plasmid_USCOREmapInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__find_USCOREori_USCOREterInputParams
+#define SOAP_TYPE_PointerTons1__find_USCOREori_USCOREterInputParams (96)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__find_USCOREori_USCOREterInputParams(struct soap*, struct ns1__find_USCOREori_USCOREterInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__find_USCOREori_USCOREterInputParams(struct soap*, const char *, int, struct ns1__find_USCOREori_USCOREterInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__find_USCOREori_USCOREterInputParams ** SOAP_FMAC4 soap_in_PointerTons1__find_USCOREori_USCOREterInputParams(struct soap*, const char*, struct ns1__find_USCOREori_USCOREterInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__find_USCOREori_USCOREterInputParams
+#define soap_write_PointerTons1__find_USCOREori_USCOREterInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__find_USCOREori_USCOREterInputParams(soap, data), 0) || soap_put_PointerTons1__find_USCOREori_USCOREterInputParams(soap, data, "ns1:find_ori_terInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__find_USCOREori_USCOREterInputParams(struct soap*, struct ns1__find_USCOREori_USCOREterInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__find_USCOREori_USCOREterInputParams
+#define soap_read_PointerTons1__find_USCOREori_USCOREterInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__find_USCOREori_USCOREterInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__find_USCOREori_USCOREterInputParams ** SOAP_FMAC4 soap_get_PointerTons1__find_USCOREori_USCOREterInputParams(struct soap*, struct ns1__find_USCOREori_USCOREterInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerToarrayIn
+#define SOAP_TYPE_PointerToarrayIn (92)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToarrayIn(struct soap*, struct arrayIn *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToarrayIn(struct soap*, const char *, int, struct arrayIn *const*, const char *);
+SOAP_FMAC3 struct arrayIn ** SOAP_FMAC4 soap_in_PointerToarrayIn(struct soap*, const char*, struct arrayIn **, const char*);
+
+#ifndef soap_write_PointerToarrayIn
+#define soap_write_PointerToarrayIn(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerToarrayIn(soap, data), 0) || soap_put_PointerToarrayIn(soap, data, "SOAP-ENC:Array", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToarrayIn(struct soap*, struct arrayIn *const*, const char*, const char*);
+
+#ifndef soap_read_PointerToarrayIn
+#define soap_read_PointerToarrayIn(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerToarrayIn(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct arrayIn ** SOAP_FMAC4 soap_get_PointerToarrayIn(struct soap*, struct arrayIn **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__w_USCOREvalueInputParams
+#define SOAP_TYPE_PointerTons1__w_USCOREvalueInputParams (85)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__w_USCOREvalueInputParams(struct soap*, struct ns1__w_USCOREvalueInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__w_USCOREvalueInputParams(struct soap*, const char *, int, struct ns1__w_USCOREvalueInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__w_USCOREvalueInputParams ** SOAP_FMAC4 soap_in_PointerTons1__w_USCOREvalueInputParams(struct soap*, const char*, struct ns1__w_USCOREvalueInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__w_USCOREvalueInputParams
+#define soap_write_PointerTons1__w_USCOREvalueInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__w_USCOREvalueInputParams(soap, data), 0) || soap_put_PointerTons1__w_USCOREvalueInputParams(soap, data, "ns1:w_valueInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__w_USCOREvalueInputParams(struct soap*, struct ns1__w_USCOREvalueInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__w_USCOREvalueInputParams
+#define soap_read_PointerTons1__w_USCOREvalueInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__w_USCOREvalueInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__w_USCOREvalueInputParams ** SOAP_FMAC4 soap_get_PointerTons1__w_USCOREvalueInputParams(struct soap*, struct ns1__w_USCOREvalueInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__P2InputParams
+#define SOAP_TYPE_PointerTons1__P2InputParams (81)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__P2InputParams(struct soap*, struct ns1__P2InputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__P2InputParams(struct soap*, const char *, int, struct ns1__P2InputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__P2InputParams ** SOAP_FMAC4 soap_in_PointerTons1__P2InputParams(struct soap*, const char*, struct ns1__P2InputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__P2InputParams
+#define soap_write_PointerTons1__P2InputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__P2InputParams(soap, data), 0) || soap_put_PointerTons1__P2InputParams(soap, data, "ns1:P2InputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__P2InputParams(struct soap*, struct ns1__P2InputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__P2InputParams
+#define soap_read_PointerTons1__P2InputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__P2InputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__P2InputParams ** SOAP_FMAC4 soap_get_PointerTons1__P2InputParams(struct soap*, struct ns1__P2InputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTons1__codon_USCOREmvaInputParams
+#define SOAP_TYPE_PointerTons1__codon_USCOREmvaInputParams (77)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTons1__codon_USCOREmvaInputParams(struct soap*, struct ns1__codon_USCOREmvaInputParams *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTons1__codon_USCOREmvaInputParams(struct soap*, const char *, int, struct ns1__codon_USCOREmvaInputParams *const*, const char *);
+SOAP_FMAC3 struct ns1__codon_USCOREmvaInputParams ** SOAP_FMAC4 soap_in_PointerTons1__codon_USCOREmvaInputParams(struct soap*, const char*, struct ns1__codon_USCOREmvaInputParams **, const char*);
+
+#ifndef soap_write_PointerTons1__codon_USCOREmvaInputParams
+#define soap_write_PointerTons1__codon_USCOREmvaInputParams(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTons1__codon_USCOREmvaInputParams(soap, data), 0) || soap_put_PointerTons1__codon_USCOREmvaInputParams(soap, data, "ns1:codon_mvaInputParams", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTons1__codon_USCOREmvaInputParams(struct soap*, struct ns1__codon_USCOREmvaInputParams *const*, const char*, const char*);
+
+#ifndef soap_read_PointerTons1__codon_USCOREmvaInputParams
+#define soap_read_PointerTons1__codon_USCOREmvaInputParams(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTons1__codon_USCOREmvaInputParams(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 struct ns1__codon_USCOREmvaInputParams ** SOAP_FMAC4 soap_get_PointerTons1__codon_USCOREmvaInputParams(struct soap*, struct ns1__codon_USCOREmvaInputParams **, const char*, const char*);
+
+#ifndef SOAP_TYPE_PointerTostring
+#define SOAP_TYPE_PointerTostring (75)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTostring(struct soap*, char **const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTostring(struct soap*, const char *, int, char **const*, const char *);
+SOAP_FMAC3 char *** SOAP_FMAC4 soap_in_PointerTostring(struct soap*, const char*, char ***, const char*);
+
+#ifndef soap_write_PointerTostring
+#define soap_write_PointerTostring(soap, data) ( soap_begin_send(soap) || (soap_serialize_PointerTostring(soap, data), 0) || soap_put_PointerTostring(soap, data, "byte", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTostring(struct soap*, char **const*, const char*, const char*);
+
+#ifndef soap_read_PointerTostring
+#define soap_read_PointerTostring(soap, data) ( soap_begin_recv(soap) || !soap_get_PointerTostring(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 char *** SOAP_FMAC4 soap_get_PointerTostring(struct soap*, char ***, const char*, const char*);
+
+#ifndef SOAP_TYPE__QName
+#define SOAP_TYPE__QName (5)
+#endif
+
+#define soap_default__QName(soap, a) soap_default_string(soap, a)
+
+
+#define soap_serialize__QName(soap, a) soap_serialize_string(soap, a)
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out__QName(struct soap*, const char*, int, char*const*, const char*);
+SOAP_FMAC3 char * * SOAP_FMAC4 soap_in__QName(struct soap*, const char*, char **, const char*);
+
+#ifndef soap_write__QName
+#define soap_write__QName(soap, data) ( soap_begin_send(soap) || (soap_serialize__QName(soap, data), 0) || soap_put__QName(soap, data, "byte", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put__QName(struct soap*, char *const*, const char*, const char*);
+
+#ifndef soap_read__QName
+#define soap_read__QName(soap, data) ( soap_begin_recv(soap) || !soap_get__QName(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 char ** SOAP_FMAC4 soap_get__QName(struct soap*, char **, const char*, const char*);
+
+#ifndef SOAP_TYPE_string
+#define SOAP_TYPE_string (4)
+#endif
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_string(struct soap*, char **);
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_string(struct soap*, char *const*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_string(struct soap*, const char*, int, char*const*, const char*);
+SOAP_FMAC3 char * * SOAP_FMAC4 soap_in_string(struct soap*, const char*, char **, const char*);
+
+#ifndef soap_write_string
+#define soap_write_string(soap, data) ( soap_begin_send(soap) || (soap_serialize_string(soap, data), 0) || soap_put_string(soap, data, "byte", NULL) || soap_end_send(soap) )
+#endif
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_string(struct soap*, char *const*, const char*, const char*);
+
+#ifndef soap_read_string
+#define soap_read_string(soap, data) ( soap_begin_recv(soap) || !soap_get_string(soap, data, NULL, NULL) || soap_end_recv(soap) )
+#endif
+
+SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_string(struct soap*, char **, const char*, const char*);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+/* End of soapH.h */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/soapServer.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,4231 @@
+/* soapServer.c
+   Generated by gSOAP 2.8.6 from gae.h
+
+Copyright(C) 2000-2011, Robert van Engelen, Genivia Inc. All Rights Reserved.
+The generated code is released under one of the following licenses:
+1) GPL or 2) Genivia's license for commercial use.
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+*/
+
+#if defined(__BORLANDC__)
+#pragma option push -w-8060
+#pragma option push -w-8004
+#endif
+#include "soapH.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SOAP_SOURCE_STAMP("@(#) soapServer.c ver 2.8.6 2013-04-04 13:42:58 GMT")
+
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve(struct soap *soap)
+{
+#ifndef WITH_FASTCGI
+	unsigned int k = soap->max_keep_alive;
+#endif
+	do
+	{
+#ifndef WITH_FASTCGI
+		if (soap->max_keep_alive > 0 && !--k)
+			soap->keep_alive = 0;
+#endif
+		if (soap_begin_serve(soap))
+		{	if (soap->error >= SOAP_STOP)
+				continue;
+			return soap->error;
+		}
+		if (soap_serve_request(soap) || (soap->fserveloop && soap->fserveloop(soap)))
+		{
+#ifdef WITH_FASTCGI
+			soap_send_fault(soap);
+#else
+			return soap_send_fault(soap);
+#endif
+		}
+
+#ifdef WITH_FASTCGI
+		soap_destroy(soap);
+		soap_end(soap);
+	} while (1);
+#else
+	} while (soap->keep_alive);
+#endif
+	return SOAP_OK;
+}
+
+#ifndef WITH_NOSERVEREQUEST
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_request(struct soap *soap)
+{
+	soap_peek_element(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:codon_mva"))
+		return soap_serve_ns1__codon_USCOREmva(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:P2"))
+		return soap_serve_ns1__P2(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:w_value"))
+		return soap_serve_ns1__w_USCOREvalue(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:splitprintseq"))
+		return soap_serve_ns1__splitprintseq(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:median"))
+		return soap_serve_ns1__median(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:find_ori_ter"))
+		return soap_serve_ns1__find_USCOREori_USCOREter(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:plasmid_map"))
+		return soap_serve_ns1__plasmid_USCOREmap(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:sum"))
+		return soap_serve_ns1__sum(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:nucleotide_periodicity"))
+		return soap_serve_ns1__nucleotide_USCOREperiodicity(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:variance"))
+		return soap_serve_ns1__variance(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:amino_info"))
+		return soap_serve_ns1__amino_USCOREinfo(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:circular_map"))
+		return soap_serve_ns1__circular_USCOREmap(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:togoWS"))
+		return soap_serve_ns1__togoWS(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:translate"))
+		return soap_serve_ns1__translate(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:phx"))
+		return soap_serve_ns1__phx(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:icdi"))
+		return soap_serve_ns1__icdi(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:enc"))
+		return soap_serve_ns1__enc(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:fop"))
+		return soap_serve_ns1__fop(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:bui"))
+		return soap_serve_ns1__bui(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:dist_in_cc"))
+		return soap_serve_ns1__dist_USCOREin_USCOREcc(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:find_dnaAbox"))
+		return soap_serve_ns1__find_USCOREdnaAbox(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:ttest"))
+		return soap_serve_ns1__ttest(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:seq2png"))
+		return soap_serve_ns1__seq2png(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:amino_counter"))
+		return soap_serve_ns1__amino_USCOREcounter(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:aaui"))
+		return soap_serve_ns1__aaui(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:codon_compiler"))
+		return soap_serve_ns1__codon_USCOREcompiler(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:over_lapping_finder"))
+		return soap_serve_ns1__over_USCORElapping_USCOREfinder(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:Ew"))
+		return soap_serve_ns1__Ew(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:base_relative_entropy"))
+		return soap_serve_ns1__base_USCORErelative_USCOREentropy(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:view_cds"))
+		return soap_serve_ns1__view_USCOREcds(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:query_strand"))
+		return soap_serve_ns1__query_USCOREstrand(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:genomicskew"))
+		return soap_serve_ns1__genomicskew(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:filter_cds_by_atg"))
+		return soap_serve_ns1__filter_USCOREcds_USCOREby_USCOREatg(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:gcsi"))
+		return soap_serve_ns1__gcsi(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:cai"))
+		return soap_serve_ns1__cai(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:maxdex"))
+		return soap_serve_ns1__maxdex(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:max"))
+		return soap_serve_ns1__max(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:query_arm"))
+		return soap_serve_ns1__query_USCOREarm(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:mindex"))
+		return soap_serve_ns1__mindex(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:consensus_z"))
+		return soap_serve_ns1__consensus_USCOREz(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:genome_map"))
+		return soap_serve_ns1__genome_USCOREmap(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:longest_ORF"))
+		return soap_serve_ns1__longest_USCOREORF(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:rep_ori_ter"))
+		return soap_serve_ns1__rep_USCOREori_USCOREter(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:calc_pI"))
+		return soap_serve_ns1__calc_USCOREpI(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:DoubleHelix"))
+		return soap_serve_ns1__DoubleHelix(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:base_entropy"))
+		return soap_serve_ns1__base_USCOREentropy(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:to_fasta"))
+		return soap_serve_ns1__to_USCOREfasta(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:find_dif"))
+		return soap_serve_ns1__find_USCOREdif(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:cbi"))
+		return soap_serve_ns1__cbi(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:genes_from_ori"))
+		return soap_serve_ns1__genes_USCOREfrom_USCOREori(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:geneskew"))
+		return soap_serve_ns1__geneskew(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:standard_deviation"))
+		return soap_serve_ns1__standard_USCOREdeviation(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:cor"))
+		return soap_serve_ns1__cor(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:cumulative"))
+		return soap_serve_ns1__cumulative(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:delta_enc"))
+		return soap_serve_ns1__delta_USCOREenc(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:delta_gcskew"))
+		return soap_serve_ns1__delta_USCOREgcskew(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:molecular_weight"))
+		return soap_serve_ns1__molecular_USCOREweight(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:gcskew"))
+		return soap_serve_ns1__gcskew(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:genome_map3"))
+		return soap_serve_ns1__genome_USCOREmap3(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:seqinfo"))
+		return soap_serve_ns1__seqinfo(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:signature"))
+		return soap_serve_ns1__signature(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:base_information_content"))
+		return soap_serve_ns1__base_USCOREinformation_USCOREcontent(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:dnawalk"))
+		return soap_serve_ns1__dnawalk(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:find_ter"))
+		return soap_serve_ns1__find_USCOREter(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:shuffleseq"))
+		return soap_serve_ns1__shuffleseq(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:oligomer_search"))
+		return soap_serve_ns1__oligomer_USCOREsearch(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:find_pattern"))
+		return soap_serve_ns1__find_USCOREpattern(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:gcwin"))
+		return soap_serve_ns1__gcwin(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:oligomer_counter"))
+		return soap_serve_ns1__oligomer_USCOREcounter(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:codon_usage"))
+		return soap_serve_ns1__codon_USCOREusage(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:min"))
+		return soap_serve_ns1__min(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:find_iteron"))
+		return soap_serve_ns1__find_USCOREiteron(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:complement"))
+		return soap_serve_ns1__complement(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:mean"))
+		return soap_serve_ns1__mean(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:codon_counter"))
+		return soap_serve_ns1__codon_USCOREcounter(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:entrez"))
+		return soap_serve_ns1__entrez(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:palindrome"))
+		return soap_serve_ns1__palindrome(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:least_squares_fit"))
+		return soap_serve_ns1__least_USCOREsquares_USCOREfit(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:dinuc"))
+		return soap_serve_ns1__dinuc(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:cgr"))
+		return soap_serve_ns1__cgr(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:B1"))
+		return soap_serve_ns1__B1(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:B2"))
+		return soap_serve_ns1__B2(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:base_counter"))
+		return soap_serve_ns1__base_USCOREcounter(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:base_z_value"))
+		return soap_serve_ns1__base_USCOREz_USCOREvalue(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:kmer_table"))
+		return soap_serve_ns1__kmer_USCOREtable(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:lda_bias"))
+		return soap_serve_ns1__lda_USCOREbias(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:scs"))
+		return soap_serve_ns1__scs(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:leading_strand"))
+		return soap_serve_ns1__leading_USCOREstrand(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:S_value"))
+		return soap_serve_ns1__S_USCOREvalue(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:help"))
+		return soap_serve_ns1__help(soap);
+	if (!soap_match_tag(soap, soap->tag, "ns1:hydropathy"))
+		return soap_serve_ns1__hydropathy(soap);
+	return soap->error = SOAP_NO_METHOD;
+}
+#endif
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__codon_USCOREmva(struct soap *soap)
+{	struct ns1__codon_USCOREmva soap_tmp_ns1__codon_USCOREmva;
+	struct ns1__codon_USCOREmvaResponse soap_tmp_ns1__codon_USCOREmvaResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__codon_USCOREmvaResponse(soap, &soap_tmp_ns1__codon_USCOREmvaResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__codon_USCOREmvaResponse._result = &soap_tmp_string;
+	soap_default_ns1__codon_USCOREmva(soap, &soap_tmp_ns1__codon_USCOREmva);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__codon_USCOREmva(soap, &soap_tmp_ns1__codon_USCOREmva, "ns1:codon_mva", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__codon_USCOREmva(soap, soap_tmp_ns1__codon_USCOREmva._sequence, soap_tmp_ns1__codon_USCOREmva._params, soap_tmp_ns1__codon_USCOREmvaResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__codon_USCOREmvaResponse(soap, &soap_tmp_ns1__codon_USCOREmvaResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__codon_USCOREmvaResponse(soap, &soap_tmp_ns1__codon_USCOREmvaResponse, "ns1:codon_mvaResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__codon_USCOREmvaResponse(soap, &soap_tmp_ns1__codon_USCOREmvaResponse, "ns1:codon_mvaResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__P2(struct soap *soap)
+{	struct ns1__P2 soap_tmp_ns1__P2;
+	struct ns1__P2Response soap_tmp_ns1__P2Response;
+	char * soap_tmp_string;
+	soap_default_ns1__P2Response(soap, &soap_tmp_ns1__P2Response);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__P2Response._result = &soap_tmp_string;
+	soap_default_ns1__P2(soap, &soap_tmp_ns1__P2);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__P2(soap, &soap_tmp_ns1__P2, "ns1:P2", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__P2(soap, soap_tmp_ns1__P2._sequence, soap_tmp_ns1__P2._params, soap_tmp_ns1__P2Response._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__P2Response(soap, &soap_tmp_ns1__P2Response);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__P2Response(soap, &soap_tmp_ns1__P2Response, "ns1:P2Response", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__P2Response(soap, &soap_tmp_ns1__P2Response, "ns1:P2Response", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__w_USCOREvalue(struct soap *soap)
+{	struct ns1__w_USCOREvalue soap_tmp_ns1__w_USCOREvalue;
+	struct ns1__w_USCOREvalueResponse soap_tmp_ns1__w_USCOREvalueResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__w_USCOREvalueResponse(soap, &soap_tmp_ns1__w_USCOREvalueResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__w_USCOREvalueResponse._result = &soap_tmp_string;
+	soap_default_ns1__w_USCOREvalue(soap, &soap_tmp_ns1__w_USCOREvalue);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__w_USCOREvalue(soap, &soap_tmp_ns1__w_USCOREvalue, "ns1:w_value", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__w_USCOREvalue(soap, soap_tmp_ns1__w_USCOREvalue._sequence, soap_tmp_ns1__w_USCOREvalue._params, soap_tmp_ns1__w_USCOREvalueResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__w_USCOREvalueResponse(soap, &soap_tmp_ns1__w_USCOREvalueResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__w_USCOREvalueResponse(soap, &soap_tmp_ns1__w_USCOREvalueResponse, "ns1:w_valueResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__w_USCOREvalueResponse(soap, &soap_tmp_ns1__w_USCOREvalueResponse, "ns1:w_valueResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__splitprintseq(struct soap *soap)
+{	struct ns1__splitprintseq soap_tmp_ns1__splitprintseq;
+	struct ns1__splitprintseqResponse soap_tmp_ns1__splitprintseqResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__splitprintseqResponse(soap, &soap_tmp_ns1__splitprintseqResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__splitprintseqResponse._result = &soap_tmp_string;
+	soap_default_ns1__splitprintseq(soap, &soap_tmp_ns1__splitprintseq);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__splitprintseq(soap, &soap_tmp_ns1__splitprintseq, "ns1:splitprintseq", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__splitprintseq(soap, soap_tmp_ns1__splitprintseq._sequence, soap_tmp_ns1__splitprintseqResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__splitprintseqResponse(soap, &soap_tmp_ns1__splitprintseqResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__splitprintseqResponse(soap, &soap_tmp_ns1__splitprintseqResponse, "ns1:splitprintseqResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__splitprintseqResponse(soap, &soap_tmp_ns1__splitprintseqResponse, "ns1:splitprintseqResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__median(struct soap *soap)
+{	struct ns1__median soap_tmp_ns1__median;
+	struct ns1__medianResponse soap_tmp_ns1__medianResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__medianResponse(soap, &soap_tmp_ns1__medianResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__medianResponse._result = &soap_tmp_string;
+	soap_default_ns1__median(soap, &soap_tmp_ns1__median);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__median(soap, &soap_tmp_ns1__median, "ns1:median", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__median(soap, soap_tmp_ns1__median._array, soap_tmp_ns1__medianResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__medianResponse(soap, &soap_tmp_ns1__medianResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__medianResponse(soap, &soap_tmp_ns1__medianResponse, "ns1:medianResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__medianResponse(soap, &soap_tmp_ns1__medianResponse, "ns1:medianResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__find_USCOREori_USCOREter(struct soap *soap)
+{	struct ns1__find_USCOREori_USCOREter soap_tmp_ns1__find_USCOREori_USCOREter;
+	struct ns1__find_USCOREori_USCOREterResponse soap_tmp_ns1__find_USCOREori_USCOREterResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__find_USCOREori_USCOREterResponse(soap, &soap_tmp_ns1__find_USCOREori_USCOREterResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__find_USCOREori_USCOREterResponse._result = &soap_tmp_string;
+	soap_default_ns1__find_USCOREori_USCOREter(soap, &soap_tmp_ns1__find_USCOREori_USCOREter);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__find_USCOREori_USCOREter(soap, &soap_tmp_ns1__find_USCOREori_USCOREter, "ns1:find_ori_ter", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__find_USCOREori_USCOREter(soap, soap_tmp_ns1__find_USCOREori_USCOREter._sequence, soap_tmp_ns1__find_USCOREori_USCOREter._params, soap_tmp_ns1__find_USCOREori_USCOREterResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__find_USCOREori_USCOREterResponse(soap, &soap_tmp_ns1__find_USCOREori_USCOREterResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__find_USCOREori_USCOREterResponse(soap, &soap_tmp_ns1__find_USCOREori_USCOREterResponse, "ns1:find_ori_terResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__find_USCOREori_USCOREterResponse(soap, &soap_tmp_ns1__find_USCOREori_USCOREterResponse, "ns1:find_ori_terResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__plasmid_USCOREmap(struct soap *soap)
+{	struct ns1__plasmid_USCOREmap soap_tmp_ns1__plasmid_USCOREmap;
+	struct ns1__plasmid_USCOREmapResponse soap_tmp_ns1__plasmid_USCOREmapResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__plasmid_USCOREmapResponse(soap, &soap_tmp_ns1__plasmid_USCOREmapResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__plasmid_USCOREmapResponse._result = &soap_tmp_string;
+	soap_default_ns1__plasmid_USCOREmap(soap, &soap_tmp_ns1__plasmid_USCOREmap);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__plasmid_USCOREmap(soap, &soap_tmp_ns1__plasmid_USCOREmap, "ns1:plasmid_map", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__plasmid_USCOREmap(soap, soap_tmp_ns1__plasmid_USCOREmap._sequence, soap_tmp_ns1__plasmid_USCOREmap._params, soap_tmp_ns1__plasmid_USCOREmapResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__plasmid_USCOREmapResponse(soap, &soap_tmp_ns1__plasmid_USCOREmapResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__plasmid_USCOREmapResponse(soap, &soap_tmp_ns1__plasmid_USCOREmapResponse, "ns1:plasmid_mapResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__plasmid_USCOREmapResponse(soap, &soap_tmp_ns1__plasmid_USCOREmapResponse, "ns1:plasmid_mapResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__sum(struct soap *soap)
+{	struct ns1__sum soap_tmp_ns1__sum;
+	struct ns1__sumResponse soap_tmp_ns1__sumResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__sumResponse(soap, &soap_tmp_ns1__sumResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__sumResponse._result = &soap_tmp_string;
+	soap_default_ns1__sum(soap, &soap_tmp_ns1__sum);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__sum(soap, &soap_tmp_ns1__sum, "ns1:sum", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__sum(soap, soap_tmp_ns1__sum._array, soap_tmp_ns1__sumResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__sumResponse(soap, &soap_tmp_ns1__sumResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__sumResponse(soap, &soap_tmp_ns1__sumResponse, "ns1:sumResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__sumResponse(soap, &soap_tmp_ns1__sumResponse, "ns1:sumResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__nucleotide_USCOREperiodicity(struct soap *soap)
+{	struct ns1__nucleotide_USCOREperiodicity soap_tmp_ns1__nucleotide_USCOREperiodicity;
+	struct ns1__nucleotide_USCOREperiodicityResponse soap_tmp_ns1__nucleotide_USCOREperiodicityResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__nucleotide_USCOREperiodicityResponse(soap, &soap_tmp_ns1__nucleotide_USCOREperiodicityResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__nucleotide_USCOREperiodicityResponse._result = &soap_tmp_string;
+	soap_default_ns1__nucleotide_USCOREperiodicity(soap, &soap_tmp_ns1__nucleotide_USCOREperiodicity);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__nucleotide_USCOREperiodicity(soap, &soap_tmp_ns1__nucleotide_USCOREperiodicity, "ns1:nucleotide_periodicity", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__nucleotide_USCOREperiodicity(soap, soap_tmp_ns1__nucleotide_USCOREperiodicity._sequence, soap_tmp_ns1__nucleotide_USCOREperiodicity._params, soap_tmp_ns1__nucleotide_USCOREperiodicityResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__nucleotide_USCOREperiodicityResponse(soap, &soap_tmp_ns1__nucleotide_USCOREperiodicityResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__nucleotide_USCOREperiodicityResponse(soap, &soap_tmp_ns1__nucleotide_USCOREperiodicityResponse, "ns1:nucleotide_periodicityResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__nucleotide_USCOREperiodicityResponse(soap, &soap_tmp_ns1__nucleotide_USCOREperiodicityResponse, "ns1:nucleotide_periodicityResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__variance(struct soap *soap)
+{	struct ns1__variance soap_tmp_ns1__variance;
+	struct ns1__varianceResponse soap_tmp_ns1__varianceResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__varianceResponse(soap, &soap_tmp_ns1__varianceResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__varianceResponse._result = &soap_tmp_string;
+	soap_default_ns1__variance(soap, &soap_tmp_ns1__variance);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__variance(soap, &soap_tmp_ns1__variance, "ns1:variance", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__variance(soap, soap_tmp_ns1__variance._array, soap_tmp_ns1__varianceResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__varianceResponse(soap, &soap_tmp_ns1__varianceResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__varianceResponse(soap, &soap_tmp_ns1__varianceResponse, "ns1:varianceResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__varianceResponse(soap, &soap_tmp_ns1__varianceResponse, "ns1:varianceResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__amino_USCOREinfo(struct soap *soap)
+{	struct ns1__amino_USCOREinfo soap_tmp_ns1__amino_USCOREinfo;
+	struct ns1__amino_USCOREinfoResponse soap_tmp_ns1__amino_USCOREinfoResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__amino_USCOREinfoResponse(soap, &soap_tmp_ns1__amino_USCOREinfoResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__amino_USCOREinfoResponse._result = &soap_tmp_string;
+	soap_default_ns1__amino_USCOREinfo(soap, &soap_tmp_ns1__amino_USCOREinfo);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__amino_USCOREinfo(soap, &soap_tmp_ns1__amino_USCOREinfo, "ns1:amino_info", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__amino_USCOREinfo(soap, soap_tmp_ns1__amino_USCOREinfo._sequence, soap_tmp_ns1__amino_USCOREinfoResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__amino_USCOREinfoResponse(soap, &soap_tmp_ns1__amino_USCOREinfoResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__amino_USCOREinfoResponse(soap, &soap_tmp_ns1__amino_USCOREinfoResponse, "ns1:amino_infoResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__amino_USCOREinfoResponse(soap, &soap_tmp_ns1__amino_USCOREinfoResponse, "ns1:amino_infoResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__circular_USCOREmap(struct soap *soap)
+{	struct ns1__circular_USCOREmap soap_tmp_ns1__circular_USCOREmap;
+	struct ns1__circular_USCOREmapResponse soap_tmp_ns1__circular_USCOREmapResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__circular_USCOREmapResponse(soap, &soap_tmp_ns1__circular_USCOREmapResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__circular_USCOREmapResponse._result = &soap_tmp_string;
+	soap_default_ns1__circular_USCOREmap(soap, &soap_tmp_ns1__circular_USCOREmap);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__circular_USCOREmap(soap, &soap_tmp_ns1__circular_USCOREmap, "ns1:circular_map", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__circular_USCOREmap(soap, soap_tmp_ns1__circular_USCOREmap._sequence, soap_tmp_ns1__circular_USCOREmap._params, soap_tmp_ns1__circular_USCOREmapResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__circular_USCOREmapResponse(soap, &soap_tmp_ns1__circular_USCOREmapResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__circular_USCOREmapResponse(soap, &soap_tmp_ns1__circular_USCOREmapResponse, "ns1:circular_mapResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__circular_USCOREmapResponse(soap, &soap_tmp_ns1__circular_USCOREmapResponse, "ns1:circular_mapResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__togoWS(struct soap *soap)
+{	struct ns1__togoWS soap_tmp_ns1__togoWS;
+	struct ns1__togoWSResponse soap_tmp_ns1__togoWSResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__togoWSResponse(soap, &soap_tmp_ns1__togoWSResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__togoWSResponse._result = &soap_tmp_string;
+	soap_default_ns1__togoWS(soap, &soap_tmp_ns1__togoWS);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__togoWS(soap, &soap_tmp_ns1__togoWS, "ns1:togoWS", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__togoWS(soap, soap_tmp_ns1__togoWS._query, soap_tmp_ns1__togoWS._params, soap_tmp_ns1__togoWSResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__togoWSResponse(soap, &soap_tmp_ns1__togoWSResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__togoWSResponse(soap, &soap_tmp_ns1__togoWSResponse, "ns1:togoWSResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__togoWSResponse(soap, &soap_tmp_ns1__togoWSResponse, "ns1:togoWSResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__translate(struct soap *soap)
+{	struct ns1__translate soap_tmp_ns1__translate;
+	struct ns1__translateResponse soap_tmp_ns1__translateResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__translateResponse(soap, &soap_tmp_ns1__translateResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__translateResponse._result = &soap_tmp_string;
+	soap_default_ns1__translate(soap, &soap_tmp_ns1__translate);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__translate(soap, &soap_tmp_ns1__translate, "ns1:translate", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__translate(soap, soap_tmp_ns1__translate._sequence, soap_tmp_ns1__translateResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__translateResponse(soap, &soap_tmp_ns1__translateResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__translateResponse(soap, &soap_tmp_ns1__translateResponse, "ns1:translateResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__translateResponse(soap, &soap_tmp_ns1__translateResponse, "ns1:translateResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__phx(struct soap *soap)
+{	struct ns1__phx soap_tmp_ns1__phx;
+	struct ns1__phxResponse soap_tmp_ns1__phxResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__phxResponse(soap, &soap_tmp_ns1__phxResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__phxResponse._result = &soap_tmp_string;
+	soap_default_ns1__phx(soap, &soap_tmp_ns1__phx);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__phx(soap, &soap_tmp_ns1__phx, "ns1:phx", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__phx(soap, soap_tmp_ns1__phx._sequence, soap_tmp_ns1__phx._params, soap_tmp_ns1__phxResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__phxResponse(soap, &soap_tmp_ns1__phxResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__phxResponse(soap, &soap_tmp_ns1__phxResponse, "ns1:phxResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__phxResponse(soap, &soap_tmp_ns1__phxResponse, "ns1:phxResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__icdi(struct soap *soap)
+{	struct ns1__icdi soap_tmp_ns1__icdi;
+	struct ns1__icdiResponse soap_tmp_ns1__icdiResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__icdiResponse(soap, &soap_tmp_ns1__icdiResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__icdiResponse._result = &soap_tmp_string;
+	soap_default_ns1__icdi(soap, &soap_tmp_ns1__icdi);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__icdi(soap, &soap_tmp_ns1__icdi, "ns1:icdi", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__icdi(soap, soap_tmp_ns1__icdi._sequence, soap_tmp_ns1__icdi._params, soap_tmp_ns1__icdiResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__icdiResponse(soap, &soap_tmp_ns1__icdiResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__icdiResponse(soap, &soap_tmp_ns1__icdiResponse, "ns1:icdiResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__icdiResponse(soap, &soap_tmp_ns1__icdiResponse, "ns1:icdiResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__enc(struct soap *soap)
+{	struct ns1__enc soap_tmp_ns1__enc;
+	struct ns1__encResponse soap_tmp_ns1__encResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__encResponse(soap, &soap_tmp_ns1__encResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__encResponse._result = &soap_tmp_string;
+	soap_default_ns1__enc(soap, &soap_tmp_ns1__enc);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__enc(soap, &soap_tmp_ns1__enc, "ns1:enc", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__enc(soap, soap_tmp_ns1__enc._sequence, soap_tmp_ns1__enc._params, soap_tmp_ns1__encResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__encResponse(soap, &soap_tmp_ns1__encResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__encResponse(soap, &soap_tmp_ns1__encResponse, "ns1:encResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__encResponse(soap, &soap_tmp_ns1__encResponse, "ns1:encResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__fop(struct soap *soap)
+{	struct ns1__fop soap_tmp_ns1__fop;
+	struct ns1__fopResponse soap_tmp_ns1__fopResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__fopResponse(soap, &soap_tmp_ns1__fopResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__fopResponse._result = &soap_tmp_string;
+	soap_default_ns1__fop(soap, &soap_tmp_ns1__fop);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__fop(soap, &soap_tmp_ns1__fop, "ns1:fop", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__fop(soap, soap_tmp_ns1__fop._sequence, soap_tmp_ns1__fop._params, soap_tmp_ns1__fopResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__fopResponse(soap, &soap_tmp_ns1__fopResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__fopResponse(soap, &soap_tmp_ns1__fopResponse, "ns1:fopResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__fopResponse(soap, &soap_tmp_ns1__fopResponse, "ns1:fopResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__bui(struct soap *soap)
+{	struct ns1__bui soap_tmp_ns1__bui;
+	struct ns1__buiResponse soap_tmp_ns1__buiResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__buiResponse(soap, &soap_tmp_ns1__buiResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__buiResponse._result = &soap_tmp_string;
+	soap_default_ns1__bui(soap, &soap_tmp_ns1__bui);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__bui(soap, &soap_tmp_ns1__bui, "ns1:bui", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__bui(soap, soap_tmp_ns1__bui._sequence, soap_tmp_ns1__bui._params, soap_tmp_ns1__buiResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__buiResponse(soap, &soap_tmp_ns1__buiResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__buiResponse(soap, &soap_tmp_ns1__buiResponse, "ns1:buiResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__buiResponse(soap, &soap_tmp_ns1__buiResponse, "ns1:buiResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__dist_USCOREin_USCOREcc(struct soap *soap)
+{	struct ns1__dist_USCOREin_USCOREcc soap_tmp_ns1__dist_USCOREin_USCOREcc;
+	struct ns1__dist_USCOREin_USCOREccResponse soap_tmp_ns1__dist_USCOREin_USCOREccResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__dist_USCOREin_USCOREccResponse(soap, &soap_tmp_ns1__dist_USCOREin_USCOREccResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__dist_USCOREin_USCOREccResponse._result = &soap_tmp_string;
+	soap_default_ns1__dist_USCOREin_USCOREcc(soap, &soap_tmp_ns1__dist_USCOREin_USCOREcc);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__dist_USCOREin_USCOREcc(soap, &soap_tmp_ns1__dist_USCOREin_USCOREcc, "ns1:dist_in_cc", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__dist_USCOREin_USCOREcc(soap, soap_tmp_ns1__dist_USCOREin_USCOREcc._sequence, soap_tmp_ns1__dist_USCOREin_USCOREcc._position1, soap_tmp_ns1__dist_USCOREin_USCOREcc._position2, soap_tmp_ns1__dist_USCOREin_USCOREccResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__dist_USCOREin_USCOREccResponse(soap, &soap_tmp_ns1__dist_USCOREin_USCOREccResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__dist_USCOREin_USCOREccResponse(soap, &soap_tmp_ns1__dist_USCOREin_USCOREccResponse, "ns1:dist_in_ccResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__dist_USCOREin_USCOREccResponse(soap, &soap_tmp_ns1__dist_USCOREin_USCOREccResponse, "ns1:dist_in_ccResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__find_USCOREdnaAbox(struct soap *soap)
+{	struct ns1__find_USCOREdnaAbox soap_tmp_ns1__find_USCOREdnaAbox;
+	struct ns1__find_USCOREdnaAboxResponse soap_tmp_ns1__find_USCOREdnaAboxResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__find_USCOREdnaAboxResponse(soap, &soap_tmp_ns1__find_USCOREdnaAboxResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__find_USCOREdnaAboxResponse._result = &soap_tmp_string;
+	soap_default_ns1__find_USCOREdnaAbox(soap, &soap_tmp_ns1__find_USCOREdnaAbox);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__find_USCOREdnaAbox(soap, &soap_tmp_ns1__find_USCOREdnaAbox, "ns1:find_dnaAbox", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__find_USCOREdnaAbox(soap, soap_tmp_ns1__find_USCOREdnaAbox._sequence, soap_tmp_ns1__find_USCOREdnaAbox._params, soap_tmp_ns1__find_USCOREdnaAboxResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__find_USCOREdnaAboxResponse(soap, &soap_tmp_ns1__find_USCOREdnaAboxResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__find_USCOREdnaAboxResponse(soap, &soap_tmp_ns1__find_USCOREdnaAboxResponse, "ns1:find_dnaAboxResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__find_USCOREdnaAboxResponse(soap, &soap_tmp_ns1__find_USCOREdnaAboxResponse, "ns1:find_dnaAboxResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__ttest(struct soap *soap)
+{	struct ns1__ttest soap_tmp_ns1__ttest;
+	struct ns1__ttestResponse _param_1;
+	soap_default_ns1__ttestResponse(soap, &_param_1);
+	soap_default_ns1__ttest(soap, &soap_tmp_ns1__ttest);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__ttest(soap, &soap_tmp_ns1__ttest, "ns1:ttest", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__ttest(soap, soap_tmp_ns1__ttest._array1, soap_tmp_ns1__ttest._array2, soap_tmp_ns1__ttest._params, &_param_1);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__ttestResponse(soap, &_param_1);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__ttestResponse(soap, &_param_1, "ns1:ttestResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__ttestResponse(soap, &_param_1, "ns1:ttestResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__seq2png(struct soap *soap)
+{	struct ns1__seq2png soap_tmp_ns1__seq2png;
+	struct ns1__seq2pngResponse soap_tmp_ns1__seq2pngResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__seq2pngResponse(soap, &soap_tmp_ns1__seq2pngResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__seq2pngResponse._result = &soap_tmp_string;
+	soap_default_ns1__seq2png(soap, &soap_tmp_ns1__seq2png);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__seq2png(soap, &soap_tmp_ns1__seq2png, "ns1:seq2png", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__seq2png(soap, soap_tmp_ns1__seq2png._sequence, soap_tmp_ns1__seq2png._params, soap_tmp_ns1__seq2pngResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__seq2pngResponse(soap, &soap_tmp_ns1__seq2pngResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__seq2pngResponse(soap, &soap_tmp_ns1__seq2pngResponse, "ns1:seq2pngResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__seq2pngResponse(soap, &soap_tmp_ns1__seq2pngResponse, "ns1:seq2pngResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__amino_USCOREcounter(struct soap *soap)
+{	struct ns1__amino_USCOREcounter soap_tmp_ns1__amino_USCOREcounter;
+	struct ns1__amino_USCOREcounterResponse soap_tmp_ns1__amino_USCOREcounterResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__amino_USCOREcounterResponse(soap, &soap_tmp_ns1__amino_USCOREcounterResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__amino_USCOREcounterResponse._result = &soap_tmp_string;
+	soap_default_ns1__amino_USCOREcounter(soap, &soap_tmp_ns1__amino_USCOREcounter);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__amino_USCOREcounter(soap, &soap_tmp_ns1__amino_USCOREcounter, "ns1:amino_counter", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__amino_USCOREcounter(soap, soap_tmp_ns1__amino_USCOREcounter._sequence, soap_tmp_ns1__amino_USCOREcounter._params, soap_tmp_ns1__amino_USCOREcounterResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__amino_USCOREcounterResponse(soap, &soap_tmp_ns1__amino_USCOREcounterResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__amino_USCOREcounterResponse(soap, &soap_tmp_ns1__amino_USCOREcounterResponse, "ns1:amino_counterResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__amino_USCOREcounterResponse(soap, &soap_tmp_ns1__amino_USCOREcounterResponse, "ns1:amino_counterResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__aaui(struct soap *soap)
+{	struct ns1__aaui soap_tmp_ns1__aaui;
+	struct ns1__aauiResponse soap_tmp_ns1__aauiResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__aauiResponse(soap, &soap_tmp_ns1__aauiResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__aauiResponse._result = &soap_tmp_string;
+	soap_default_ns1__aaui(soap, &soap_tmp_ns1__aaui);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__aaui(soap, &soap_tmp_ns1__aaui, "ns1:aaui", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__aaui(soap, soap_tmp_ns1__aaui._sequence, soap_tmp_ns1__aaui._params, soap_tmp_ns1__aauiResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__aauiResponse(soap, &soap_tmp_ns1__aauiResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__aauiResponse(soap, &soap_tmp_ns1__aauiResponse, "ns1:aauiResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__aauiResponse(soap, &soap_tmp_ns1__aauiResponse, "ns1:aauiResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__codon_USCOREcompiler(struct soap *soap)
+{	struct ns1__codon_USCOREcompiler soap_tmp_ns1__codon_USCOREcompiler;
+	struct ns1__codon_USCOREcompilerResponse soap_tmp_ns1__codon_USCOREcompilerResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__codon_USCOREcompilerResponse(soap, &soap_tmp_ns1__codon_USCOREcompilerResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__codon_USCOREcompilerResponse._result = &soap_tmp_string;
+	soap_default_ns1__codon_USCOREcompiler(soap, &soap_tmp_ns1__codon_USCOREcompiler);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__codon_USCOREcompiler(soap, &soap_tmp_ns1__codon_USCOREcompiler, "ns1:codon_compiler", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__codon_USCOREcompiler(soap, soap_tmp_ns1__codon_USCOREcompiler._sequence, soap_tmp_ns1__codon_USCOREcompiler._params, soap_tmp_ns1__codon_USCOREcompilerResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__codon_USCOREcompilerResponse(soap, &soap_tmp_ns1__codon_USCOREcompilerResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__codon_USCOREcompilerResponse(soap, &soap_tmp_ns1__codon_USCOREcompilerResponse, "ns1:codon_compilerResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__codon_USCOREcompilerResponse(soap, &soap_tmp_ns1__codon_USCOREcompilerResponse, "ns1:codon_compilerResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__over_USCORElapping_USCOREfinder(struct soap *soap)
+{	struct ns1__over_USCORElapping_USCOREfinder soap_tmp_ns1__over_USCORElapping_USCOREfinder;
+	struct ns1__over_USCORElapping_USCOREfinderResponse soap_tmp_ns1__over_USCORElapping_USCOREfinderResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__over_USCORElapping_USCOREfinderResponse(soap, &soap_tmp_ns1__over_USCORElapping_USCOREfinderResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__over_USCORElapping_USCOREfinderResponse._result = &soap_tmp_string;
+	soap_default_ns1__over_USCORElapping_USCOREfinder(soap, &soap_tmp_ns1__over_USCORElapping_USCOREfinder);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__over_USCORElapping_USCOREfinder(soap, &soap_tmp_ns1__over_USCORElapping_USCOREfinder, "ns1:over_lapping_finder", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__over_USCORElapping_USCOREfinder(soap, soap_tmp_ns1__over_USCORElapping_USCOREfinder._sequence, soap_tmp_ns1__over_USCORElapping_USCOREfinder._params, soap_tmp_ns1__over_USCORElapping_USCOREfinderResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__over_USCORElapping_USCOREfinderResponse(soap, &soap_tmp_ns1__over_USCORElapping_USCOREfinderResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__over_USCORElapping_USCOREfinderResponse(soap, &soap_tmp_ns1__over_USCORElapping_USCOREfinderResponse, "ns1:over_lapping_finderResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__over_USCORElapping_USCOREfinderResponse(soap, &soap_tmp_ns1__over_USCORElapping_USCOREfinderResponse, "ns1:over_lapping_finderResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__Ew(struct soap *soap)
+{	struct ns1__Ew soap_tmp_ns1__Ew;
+	struct ns1__EwResponse soap_tmp_ns1__EwResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__EwResponse(soap, &soap_tmp_ns1__EwResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__EwResponse._result = &soap_tmp_string;
+	soap_default_ns1__Ew(soap, &soap_tmp_ns1__Ew);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__Ew(soap, &soap_tmp_ns1__Ew, "ns1:Ew", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__Ew(soap, soap_tmp_ns1__Ew._sequence, soap_tmp_ns1__Ew._params, soap_tmp_ns1__EwResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__EwResponse(soap, &soap_tmp_ns1__EwResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__EwResponse(soap, &soap_tmp_ns1__EwResponse, "ns1:EwResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__EwResponse(soap, &soap_tmp_ns1__EwResponse, "ns1:EwResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__base_USCORErelative_USCOREentropy(struct soap *soap)
+{	struct ns1__base_USCORErelative_USCOREentropy soap_tmp_ns1__base_USCORErelative_USCOREentropy;
+	struct ns1__base_USCORErelative_USCOREentropyResponse soap_tmp_ns1__base_USCORErelative_USCOREentropyResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__base_USCORErelative_USCOREentropyResponse(soap, &soap_tmp_ns1__base_USCORErelative_USCOREentropyResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__base_USCORErelative_USCOREentropyResponse._result = &soap_tmp_string;
+	soap_default_ns1__base_USCORErelative_USCOREentropy(soap, &soap_tmp_ns1__base_USCORErelative_USCOREentropy);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__base_USCORErelative_USCOREentropy(soap, &soap_tmp_ns1__base_USCORErelative_USCOREentropy, "ns1:base_relative_entropy", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__base_USCORErelative_USCOREentropy(soap, soap_tmp_ns1__base_USCORErelative_USCOREentropy._sequence, soap_tmp_ns1__base_USCORErelative_USCOREentropy._params, soap_tmp_ns1__base_USCORErelative_USCOREentropyResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__base_USCORErelative_USCOREentropyResponse(soap, &soap_tmp_ns1__base_USCORErelative_USCOREentropyResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__base_USCORErelative_USCOREentropyResponse(soap, &soap_tmp_ns1__base_USCORErelative_USCOREentropyResponse, "ns1:base_relative_entropyResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__base_USCORErelative_USCOREentropyResponse(soap, &soap_tmp_ns1__base_USCORErelative_USCOREentropyResponse, "ns1:base_relative_entropyResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__view_USCOREcds(struct soap *soap)
+{	struct ns1__view_USCOREcds soap_tmp_ns1__view_USCOREcds;
+	struct ns1__view_USCOREcdsResponse soap_tmp_ns1__view_USCOREcdsResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__view_USCOREcdsResponse(soap, &soap_tmp_ns1__view_USCOREcdsResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__view_USCOREcdsResponse._result = &soap_tmp_string;
+	soap_default_ns1__view_USCOREcds(soap, &soap_tmp_ns1__view_USCOREcds);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__view_USCOREcds(soap, &soap_tmp_ns1__view_USCOREcds, "ns1:view_cds", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__view_USCOREcds(soap, soap_tmp_ns1__view_USCOREcds._sequence, soap_tmp_ns1__view_USCOREcds._params, soap_tmp_ns1__view_USCOREcdsResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__view_USCOREcdsResponse(soap, &soap_tmp_ns1__view_USCOREcdsResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__view_USCOREcdsResponse(soap, &soap_tmp_ns1__view_USCOREcdsResponse, "ns1:view_cdsResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__view_USCOREcdsResponse(soap, &soap_tmp_ns1__view_USCOREcdsResponse, "ns1:view_cdsResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__query_USCOREstrand(struct soap *soap)
+{	struct ns1__query_USCOREstrand soap_tmp_ns1__query_USCOREstrand;
+	struct ns1__query_USCOREstrandResponse soap_tmp_ns1__query_USCOREstrandResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__query_USCOREstrandResponse(soap, &soap_tmp_ns1__query_USCOREstrandResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__query_USCOREstrandResponse._result = &soap_tmp_string;
+	soap_default_ns1__query_USCOREstrand(soap, &soap_tmp_ns1__query_USCOREstrand);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__query_USCOREstrand(soap, &soap_tmp_ns1__query_USCOREstrand, "ns1:query_strand", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__query_USCOREstrand(soap, soap_tmp_ns1__query_USCOREstrand._sequence, soap_tmp_ns1__query_USCOREstrand._position, soap_tmp_ns1__query_USCOREstrand._params, soap_tmp_ns1__query_USCOREstrandResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__query_USCOREstrandResponse(soap, &soap_tmp_ns1__query_USCOREstrandResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__query_USCOREstrandResponse(soap, &soap_tmp_ns1__query_USCOREstrandResponse, "ns1:query_strandResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__query_USCOREstrandResponse(soap, &soap_tmp_ns1__query_USCOREstrandResponse, "ns1:query_strandResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__genomicskew(struct soap *soap)
+{	struct ns1__genomicskew soap_tmp_ns1__genomicskew;
+	struct ns1__genomicskewResponse soap_tmp_ns1__genomicskewResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__genomicskewResponse(soap, &soap_tmp_ns1__genomicskewResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__genomicskewResponse._result = &soap_tmp_string;
+	soap_default_ns1__genomicskew(soap, &soap_tmp_ns1__genomicskew);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__genomicskew(soap, &soap_tmp_ns1__genomicskew, "ns1:genomicskew", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__genomicskew(soap, soap_tmp_ns1__genomicskew._sequence, soap_tmp_ns1__genomicskew._params, soap_tmp_ns1__genomicskewResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__genomicskewResponse(soap, &soap_tmp_ns1__genomicskewResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__genomicskewResponse(soap, &soap_tmp_ns1__genomicskewResponse, "ns1:genomicskewResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__genomicskewResponse(soap, &soap_tmp_ns1__genomicskewResponse, "ns1:genomicskewResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__filter_USCOREcds_USCOREby_USCOREatg(struct soap *soap)
+{	struct ns1__filter_USCOREcds_USCOREby_USCOREatg soap_tmp_ns1__filter_USCOREcds_USCOREby_USCOREatg;
+	struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse _param_2;
+	soap_default_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, &_param_2);
+	soap_default_ns1__filter_USCOREcds_USCOREby_USCOREatg(soap, &soap_tmp_ns1__filter_USCOREcds_USCOREby_USCOREatg);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__filter_USCOREcds_USCOREby_USCOREatg(soap, &soap_tmp_ns1__filter_USCOREcds_USCOREby_USCOREatg, "ns1:filter_cds_by_atg", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__filter_USCOREcds_USCOREby_USCOREatg(soap, soap_tmp_ns1__filter_USCOREcds_USCOREby_USCOREatg._sequence, soap_tmp_ns1__filter_USCOREcds_USCOREby_USCOREatg._params, &_param_2);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, &_param_2);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, &_param_2, "ns1:filter_cds_by_atgResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse(soap, &_param_2, "ns1:filter_cds_by_atgResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__gcsi(struct soap *soap)
+{	struct ns1__gcsi soap_tmp_ns1__gcsi;
+	struct ns1__gcsiResponse soap_tmp_ns1__gcsiResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__gcsiResponse(soap, &soap_tmp_ns1__gcsiResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__gcsiResponse._result = &soap_tmp_string;
+	soap_default_ns1__gcsi(soap, &soap_tmp_ns1__gcsi);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__gcsi(soap, &soap_tmp_ns1__gcsi, "ns1:gcsi", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__gcsi(soap, soap_tmp_ns1__gcsi._sequence, soap_tmp_ns1__gcsi._params, soap_tmp_ns1__gcsiResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__gcsiResponse(soap, &soap_tmp_ns1__gcsiResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__gcsiResponse(soap, &soap_tmp_ns1__gcsiResponse, "ns1:gcsiResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__gcsiResponse(soap, &soap_tmp_ns1__gcsiResponse, "ns1:gcsiResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__cai(struct soap *soap)
+{	struct ns1__cai soap_tmp_ns1__cai;
+	struct ns1__caiResponse soap_tmp_ns1__caiResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__caiResponse(soap, &soap_tmp_ns1__caiResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__caiResponse._result = &soap_tmp_string;
+	soap_default_ns1__cai(soap, &soap_tmp_ns1__cai);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__cai(soap, &soap_tmp_ns1__cai, "ns1:cai", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__cai(soap, soap_tmp_ns1__cai._sequence, soap_tmp_ns1__cai._params, soap_tmp_ns1__caiResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__caiResponse(soap, &soap_tmp_ns1__caiResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__caiResponse(soap, &soap_tmp_ns1__caiResponse, "ns1:caiResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__caiResponse(soap, &soap_tmp_ns1__caiResponse, "ns1:caiResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__maxdex(struct soap *soap)
+{	struct ns1__maxdex soap_tmp_ns1__maxdex;
+	struct ns1__maxdexResponse soap_tmp_ns1__maxdexResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__maxdexResponse(soap, &soap_tmp_ns1__maxdexResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__maxdexResponse._result = &soap_tmp_string;
+	soap_default_ns1__maxdex(soap, &soap_tmp_ns1__maxdex);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__maxdex(soap, &soap_tmp_ns1__maxdex, "ns1:maxdex", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__maxdex(soap, soap_tmp_ns1__maxdex._array, soap_tmp_ns1__maxdexResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__maxdexResponse(soap, &soap_tmp_ns1__maxdexResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__maxdexResponse(soap, &soap_tmp_ns1__maxdexResponse, "ns1:maxdexResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__maxdexResponse(soap, &soap_tmp_ns1__maxdexResponse, "ns1:maxdexResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__max(struct soap *soap)
+{	struct ns1__max soap_tmp_ns1__max;
+	struct ns1__maxResponse soap_tmp_ns1__maxResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__maxResponse(soap, &soap_tmp_ns1__maxResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__maxResponse._result = &soap_tmp_string;
+	soap_default_ns1__max(soap, &soap_tmp_ns1__max);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__max(soap, &soap_tmp_ns1__max, "ns1:max", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__max(soap, soap_tmp_ns1__max._array, soap_tmp_ns1__maxResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__maxResponse(soap, &soap_tmp_ns1__maxResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__maxResponse(soap, &soap_tmp_ns1__maxResponse, "ns1:maxResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__maxResponse(soap, &soap_tmp_ns1__maxResponse, "ns1:maxResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__query_USCOREarm(struct soap *soap)
+{	struct ns1__query_USCOREarm soap_tmp_ns1__query_USCOREarm;
+	struct ns1__query_USCOREarmResponse soap_tmp_ns1__query_USCOREarmResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__query_USCOREarmResponse(soap, &soap_tmp_ns1__query_USCOREarmResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__query_USCOREarmResponse._result = &soap_tmp_string;
+	soap_default_ns1__query_USCOREarm(soap, &soap_tmp_ns1__query_USCOREarm);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__query_USCOREarm(soap, &soap_tmp_ns1__query_USCOREarm, "ns1:query_arm", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__query_USCOREarm(soap, soap_tmp_ns1__query_USCOREarm._sequence, soap_tmp_ns1__query_USCOREarm._position, soap_tmp_ns1__query_USCOREarmResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__query_USCOREarmResponse(soap, &soap_tmp_ns1__query_USCOREarmResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__query_USCOREarmResponse(soap, &soap_tmp_ns1__query_USCOREarmResponse, "ns1:query_armResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__query_USCOREarmResponse(soap, &soap_tmp_ns1__query_USCOREarmResponse, "ns1:query_armResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__mindex(struct soap *soap)
+{	struct ns1__mindex soap_tmp_ns1__mindex;
+	struct ns1__mindexResponse soap_tmp_ns1__mindexResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__mindexResponse(soap, &soap_tmp_ns1__mindexResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__mindexResponse._result = &soap_tmp_string;
+	soap_default_ns1__mindex(soap, &soap_tmp_ns1__mindex);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__mindex(soap, &soap_tmp_ns1__mindex, "ns1:mindex", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__mindex(soap, soap_tmp_ns1__mindex._array, soap_tmp_ns1__mindexResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__mindexResponse(soap, &soap_tmp_ns1__mindexResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__mindexResponse(soap, &soap_tmp_ns1__mindexResponse, "ns1:mindexResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__mindexResponse(soap, &soap_tmp_ns1__mindexResponse, "ns1:mindexResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__consensus_USCOREz(struct soap *soap)
+{	struct ns1__consensus_USCOREz soap_tmp_ns1__consensus_USCOREz;
+	struct ns1__consensus_USCOREzResponse soap_tmp_ns1__consensus_USCOREzResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__consensus_USCOREzResponse(soap, &soap_tmp_ns1__consensus_USCOREzResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__consensus_USCOREzResponse._result = &soap_tmp_string;
+	soap_default_ns1__consensus_USCOREz(soap, &soap_tmp_ns1__consensus_USCOREz);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__consensus_USCOREz(soap, &soap_tmp_ns1__consensus_USCOREz, "ns1:consensus_z", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__consensus_USCOREz(soap, soap_tmp_ns1__consensus_USCOREz._array_USCOREseq, soap_tmp_ns1__consensus_USCOREz._params, soap_tmp_ns1__consensus_USCOREzResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__consensus_USCOREzResponse(soap, &soap_tmp_ns1__consensus_USCOREzResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__consensus_USCOREzResponse(soap, &soap_tmp_ns1__consensus_USCOREzResponse, "ns1:consensus_zResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__consensus_USCOREzResponse(soap, &soap_tmp_ns1__consensus_USCOREzResponse, "ns1:consensus_zResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__genome_USCOREmap(struct soap *soap)
+{	struct ns1__genome_USCOREmap soap_tmp_ns1__genome_USCOREmap;
+	struct ns1__genome_USCOREmapResponse soap_tmp_ns1__genome_USCOREmapResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__genome_USCOREmapResponse(soap, &soap_tmp_ns1__genome_USCOREmapResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__genome_USCOREmapResponse._result = &soap_tmp_string;
+	soap_default_ns1__genome_USCOREmap(soap, &soap_tmp_ns1__genome_USCOREmap);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__genome_USCOREmap(soap, &soap_tmp_ns1__genome_USCOREmap, "ns1:genome_map", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__genome_USCOREmap(soap, soap_tmp_ns1__genome_USCOREmap._sequence, soap_tmp_ns1__genome_USCOREmap._params, soap_tmp_ns1__genome_USCOREmapResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__genome_USCOREmapResponse(soap, &soap_tmp_ns1__genome_USCOREmapResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__genome_USCOREmapResponse(soap, &soap_tmp_ns1__genome_USCOREmapResponse, "ns1:genome_mapResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__genome_USCOREmapResponse(soap, &soap_tmp_ns1__genome_USCOREmapResponse, "ns1:genome_mapResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__longest_USCOREORF(struct soap *soap)
+{	struct ns1__longest_USCOREORF soap_tmp_ns1__longest_USCOREORF;
+	struct ns1__longest_USCOREORFResponse soap_tmp_ns1__longest_USCOREORFResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__longest_USCOREORFResponse(soap, &soap_tmp_ns1__longest_USCOREORFResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__longest_USCOREORFResponse._result = &soap_tmp_string;
+	soap_default_ns1__longest_USCOREORF(soap, &soap_tmp_ns1__longest_USCOREORF);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__longest_USCOREORF(soap, &soap_tmp_ns1__longest_USCOREORF, "ns1:longest_ORF", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__longest_USCOREORF(soap, soap_tmp_ns1__longest_USCOREORF._sequence, soap_tmp_ns1__longest_USCOREORFResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__longest_USCOREORFResponse(soap, &soap_tmp_ns1__longest_USCOREORFResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__longest_USCOREORFResponse(soap, &soap_tmp_ns1__longest_USCOREORFResponse, "ns1:longest_ORFResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__longest_USCOREORFResponse(soap, &soap_tmp_ns1__longest_USCOREORFResponse, "ns1:longest_ORFResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__rep_USCOREori_USCOREter(struct soap *soap)
+{	struct ns1__rep_USCOREori_USCOREter soap_tmp_ns1__rep_USCOREori_USCOREter;
+	struct ns1__rep_USCOREori_USCOREterResponse soap_tmp_ns1__rep_USCOREori_USCOREterResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__rep_USCOREori_USCOREterResponse(soap, &soap_tmp_ns1__rep_USCOREori_USCOREterResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__rep_USCOREori_USCOREterResponse._result = &soap_tmp_string;
+	soap_default_ns1__rep_USCOREori_USCOREter(soap, &soap_tmp_ns1__rep_USCOREori_USCOREter);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__rep_USCOREori_USCOREter(soap, &soap_tmp_ns1__rep_USCOREori_USCOREter, "ns1:rep_ori_ter", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__rep_USCOREori_USCOREter(soap, soap_tmp_ns1__rep_USCOREori_USCOREter._sequence, soap_tmp_ns1__rep_USCOREori_USCOREter._params, soap_tmp_ns1__rep_USCOREori_USCOREterResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__rep_USCOREori_USCOREterResponse(soap, &soap_tmp_ns1__rep_USCOREori_USCOREterResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__rep_USCOREori_USCOREterResponse(soap, &soap_tmp_ns1__rep_USCOREori_USCOREterResponse, "ns1:rep_ori_terResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__rep_USCOREori_USCOREterResponse(soap, &soap_tmp_ns1__rep_USCOREori_USCOREterResponse, "ns1:rep_ori_terResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__calc_USCOREpI(struct soap *soap)
+{	struct ns1__calc_USCOREpI soap_tmp_ns1__calc_USCOREpI;
+	struct ns1__calc_USCOREpIResponse soap_tmp_ns1__calc_USCOREpIResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__calc_USCOREpIResponse(soap, &soap_tmp_ns1__calc_USCOREpIResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__calc_USCOREpIResponse._result = &soap_tmp_string;
+	soap_default_ns1__calc_USCOREpI(soap, &soap_tmp_ns1__calc_USCOREpI);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__calc_USCOREpI(soap, &soap_tmp_ns1__calc_USCOREpI, "ns1:calc_pI", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__calc_USCOREpI(soap, soap_tmp_ns1__calc_USCOREpI._sequence, soap_tmp_ns1__calc_USCOREpIResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__calc_USCOREpIResponse(soap, &soap_tmp_ns1__calc_USCOREpIResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__calc_USCOREpIResponse(soap, &soap_tmp_ns1__calc_USCOREpIResponse, "ns1:calc_pIResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__calc_USCOREpIResponse(soap, &soap_tmp_ns1__calc_USCOREpIResponse, "ns1:calc_pIResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__DoubleHelix(struct soap *soap)
+{	struct ns1__DoubleHelix soap_tmp_ns1__DoubleHelix;
+	struct ns1__DoubleHelixResponse soap_tmp_ns1__DoubleHelixResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__DoubleHelixResponse(soap, &soap_tmp_ns1__DoubleHelixResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__DoubleHelixResponse._result = &soap_tmp_string;
+	soap_default_ns1__DoubleHelix(soap, &soap_tmp_ns1__DoubleHelix);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__DoubleHelix(soap, &soap_tmp_ns1__DoubleHelix, "ns1:DoubleHelix", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__DoubleHelix(soap, soap_tmp_ns1__DoubleHelix._sequence, soap_tmp_ns1__DoubleHelix._params, soap_tmp_ns1__DoubleHelixResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__DoubleHelixResponse(soap, &soap_tmp_ns1__DoubleHelixResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__DoubleHelixResponse(soap, &soap_tmp_ns1__DoubleHelixResponse, "ns1:DoubleHelixResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__DoubleHelixResponse(soap, &soap_tmp_ns1__DoubleHelixResponse, "ns1:DoubleHelixResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__base_USCOREentropy(struct soap *soap)
+{	struct ns1__base_USCOREentropy soap_tmp_ns1__base_USCOREentropy;
+	struct ns1__base_USCOREentropyResponse soap_tmp_ns1__base_USCOREentropyResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__base_USCOREentropyResponse(soap, &soap_tmp_ns1__base_USCOREentropyResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__base_USCOREentropyResponse._result = &soap_tmp_string;
+	soap_default_ns1__base_USCOREentropy(soap, &soap_tmp_ns1__base_USCOREentropy);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__base_USCOREentropy(soap, &soap_tmp_ns1__base_USCOREentropy, "ns1:base_entropy", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__base_USCOREentropy(soap, soap_tmp_ns1__base_USCOREentropy._sequence, soap_tmp_ns1__base_USCOREentropy._params, soap_tmp_ns1__base_USCOREentropyResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__base_USCOREentropyResponse(soap, &soap_tmp_ns1__base_USCOREentropyResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__base_USCOREentropyResponse(soap, &soap_tmp_ns1__base_USCOREentropyResponse, "ns1:base_entropyResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__base_USCOREentropyResponse(soap, &soap_tmp_ns1__base_USCOREentropyResponse, "ns1:base_entropyResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__to_USCOREfasta(struct soap *soap)
+{	struct ns1__to_USCOREfasta soap_tmp_ns1__to_USCOREfasta;
+	struct ns1__to_USCOREfastaResponse soap_tmp_ns1__to_USCOREfastaResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__to_USCOREfastaResponse(soap, &soap_tmp_ns1__to_USCOREfastaResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__to_USCOREfastaResponse._result = &soap_tmp_string;
+	soap_default_ns1__to_USCOREfasta(soap, &soap_tmp_ns1__to_USCOREfasta);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__to_USCOREfasta(soap, &soap_tmp_ns1__to_USCOREfasta, "ns1:to_fasta", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__to_USCOREfasta(soap, soap_tmp_ns1__to_USCOREfasta._sequence, soap_tmp_ns1__to_USCOREfasta._params, soap_tmp_ns1__to_USCOREfastaResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__to_USCOREfastaResponse(soap, &soap_tmp_ns1__to_USCOREfastaResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__to_USCOREfastaResponse(soap, &soap_tmp_ns1__to_USCOREfastaResponse, "ns1:to_fastaResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__to_USCOREfastaResponse(soap, &soap_tmp_ns1__to_USCOREfastaResponse, "ns1:to_fastaResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__find_USCOREdif(struct soap *soap)
+{	struct ns1__find_USCOREdif soap_tmp_ns1__find_USCOREdif;
+	struct ns1__find_USCOREdifResponse _param_3;
+	soap_default_ns1__find_USCOREdifResponse(soap, &_param_3);
+	soap_default_ns1__find_USCOREdif(soap, &soap_tmp_ns1__find_USCOREdif);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__find_USCOREdif(soap, &soap_tmp_ns1__find_USCOREdif, "ns1:find_dif", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__find_USCOREdif(soap, soap_tmp_ns1__find_USCOREdif._sequence, soap_tmp_ns1__find_USCOREdif._params, &_param_3);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__find_USCOREdifResponse(soap, &_param_3);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__find_USCOREdifResponse(soap, &_param_3, "ns1:find_difResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__find_USCOREdifResponse(soap, &_param_3, "ns1:find_difResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__cbi(struct soap *soap)
+{	struct ns1__cbi soap_tmp_ns1__cbi;
+	struct ns1__cbiResponse soap_tmp_ns1__cbiResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__cbiResponse(soap, &soap_tmp_ns1__cbiResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__cbiResponse._result = &soap_tmp_string;
+	soap_default_ns1__cbi(soap, &soap_tmp_ns1__cbi);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__cbi(soap, &soap_tmp_ns1__cbi, "ns1:cbi", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__cbi(soap, soap_tmp_ns1__cbi._sequence, soap_tmp_ns1__cbi._params, soap_tmp_ns1__cbiResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__cbiResponse(soap, &soap_tmp_ns1__cbiResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__cbiResponse(soap, &soap_tmp_ns1__cbiResponse, "ns1:cbiResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__cbiResponse(soap, &soap_tmp_ns1__cbiResponse, "ns1:cbiResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__genes_USCOREfrom_USCOREori(struct soap *soap)
+{	struct ns1__genes_USCOREfrom_USCOREori soap_tmp_ns1__genes_USCOREfrom_USCOREori;
+	struct ns1__genes_USCOREfrom_USCOREoriResponse _param_4;
+	soap_default_ns1__genes_USCOREfrom_USCOREoriResponse(soap, &_param_4);
+	soap_default_ns1__genes_USCOREfrom_USCOREori(soap, &soap_tmp_ns1__genes_USCOREfrom_USCOREori);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__genes_USCOREfrom_USCOREori(soap, &soap_tmp_ns1__genes_USCOREfrom_USCOREori, "ns1:genes_from_ori", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__genes_USCOREfrom_USCOREori(soap, soap_tmp_ns1__genes_USCOREfrom_USCOREori._sequence, soap_tmp_ns1__genes_USCOREfrom_USCOREori._direction, soap_tmp_ns1__genes_USCOREfrom_USCOREori._params, &_param_4);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__genes_USCOREfrom_USCOREoriResponse(soap, &_param_4);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__genes_USCOREfrom_USCOREoriResponse(soap, &_param_4, "ns1:genes_from_oriResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__genes_USCOREfrom_USCOREoriResponse(soap, &_param_4, "ns1:genes_from_oriResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__geneskew(struct soap *soap)
+{	struct ns1__geneskew soap_tmp_ns1__geneskew;
+	struct ns1__geneskewResponse soap_tmp_ns1__geneskewResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__geneskewResponse(soap, &soap_tmp_ns1__geneskewResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__geneskewResponse._result = &soap_tmp_string;
+	soap_default_ns1__geneskew(soap, &soap_tmp_ns1__geneskew);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__geneskew(soap, &soap_tmp_ns1__geneskew, "ns1:geneskew", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__geneskew(soap, soap_tmp_ns1__geneskew._sequence, soap_tmp_ns1__geneskew._params, soap_tmp_ns1__geneskewResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__geneskewResponse(soap, &soap_tmp_ns1__geneskewResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__geneskewResponse(soap, &soap_tmp_ns1__geneskewResponse, "ns1:geneskewResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__geneskewResponse(soap, &soap_tmp_ns1__geneskewResponse, "ns1:geneskewResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__standard_USCOREdeviation(struct soap *soap)
+{	struct ns1__standard_USCOREdeviation soap_tmp_ns1__standard_USCOREdeviation;
+	struct ns1__standard_USCOREdeviationResponse soap_tmp_ns1__standard_USCOREdeviationResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__standard_USCOREdeviationResponse(soap, &soap_tmp_ns1__standard_USCOREdeviationResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__standard_USCOREdeviationResponse._result = &soap_tmp_string;
+	soap_default_ns1__standard_USCOREdeviation(soap, &soap_tmp_ns1__standard_USCOREdeviation);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__standard_USCOREdeviation(soap, &soap_tmp_ns1__standard_USCOREdeviation, "ns1:standard_deviation", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__standard_USCOREdeviation(soap, soap_tmp_ns1__standard_USCOREdeviation._array, soap_tmp_ns1__standard_USCOREdeviationResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__standard_USCOREdeviationResponse(soap, &soap_tmp_ns1__standard_USCOREdeviationResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__standard_USCOREdeviationResponse(soap, &soap_tmp_ns1__standard_USCOREdeviationResponse, "ns1:standard_deviationResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__standard_USCOREdeviationResponse(soap, &soap_tmp_ns1__standard_USCOREdeviationResponse, "ns1:standard_deviationResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__cor(struct soap *soap)
+{	struct ns1__cor soap_tmp_ns1__cor;
+	struct ns1__corResponse _param_5;
+	soap_default_ns1__corResponse(soap, &_param_5);
+	soap_default_ns1__cor(soap, &soap_tmp_ns1__cor);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__cor(soap, &soap_tmp_ns1__cor, "ns1:cor", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__cor(soap, soap_tmp_ns1__cor._array1, soap_tmp_ns1__cor._array2, soap_tmp_ns1__cor._params, &_param_5);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__corResponse(soap, &_param_5);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__corResponse(soap, &_param_5, "ns1:corResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__corResponse(soap, &_param_5, "ns1:corResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__cumulative(struct soap *soap)
+{	struct ns1__cumulative soap_tmp_ns1__cumulative;
+	struct ns1__cumulativeResponse _param_6;
+	soap_default_ns1__cumulativeResponse(soap, &_param_6);
+	soap_default_ns1__cumulative(soap, &soap_tmp_ns1__cumulative);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__cumulative(soap, &soap_tmp_ns1__cumulative, "ns1:cumulative", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__cumulative(soap, soap_tmp_ns1__cumulative._array, &_param_6);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__cumulativeResponse(soap, &_param_6);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__cumulativeResponse(soap, &_param_6, "ns1:cumulativeResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__cumulativeResponse(soap, &_param_6, "ns1:cumulativeResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__delta_USCOREenc(struct soap *soap)
+{	struct ns1__delta_USCOREenc soap_tmp_ns1__delta_USCOREenc;
+	struct ns1__delta_USCOREencResponse soap_tmp_ns1__delta_USCOREencResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__delta_USCOREencResponse(soap, &soap_tmp_ns1__delta_USCOREencResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__delta_USCOREencResponse._result = &soap_tmp_string;
+	soap_default_ns1__delta_USCOREenc(soap, &soap_tmp_ns1__delta_USCOREenc);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__delta_USCOREenc(soap, &soap_tmp_ns1__delta_USCOREenc, "ns1:delta_enc", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__delta_USCOREenc(soap, soap_tmp_ns1__delta_USCOREenc._sequence, soap_tmp_ns1__delta_USCOREencResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__delta_USCOREencResponse(soap, &soap_tmp_ns1__delta_USCOREencResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__delta_USCOREencResponse(soap, &soap_tmp_ns1__delta_USCOREencResponse, "ns1:delta_encResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__delta_USCOREencResponse(soap, &soap_tmp_ns1__delta_USCOREencResponse, "ns1:delta_encResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__delta_USCOREgcskew(struct soap *soap)
+{	struct ns1__delta_USCOREgcskew soap_tmp_ns1__delta_USCOREgcskew;
+	struct ns1__delta_USCOREgcskewResponse soap_tmp_ns1__delta_USCOREgcskewResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__delta_USCOREgcskewResponse(soap, &soap_tmp_ns1__delta_USCOREgcskewResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__delta_USCOREgcskewResponse._result = &soap_tmp_string;
+	soap_default_ns1__delta_USCOREgcskew(soap, &soap_tmp_ns1__delta_USCOREgcskew);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__delta_USCOREgcskew(soap, &soap_tmp_ns1__delta_USCOREgcskew, "ns1:delta_gcskew", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__delta_USCOREgcskew(soap, soap_tmp_ns1__delta_USCOREgcskew._sequence, soap_tmp_ns1__delta_USCOREgcskew._params, soap_tmp_ns1__delta_USCOREgcskewResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__delta_USCOREgcskewResponse(soap, &soap_tmp_ns1__delta_USCOREgcskewResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__delta_USCOREgcskewResponse(soap, &soap_tmp_ns1__delta_USCOREgcskewResponse, "ns1:delta_gcskewResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__delta_USCOREgcskewResponse(soap, &soap_tmp_ns1__delta_USCOREgcskewResponse, "ns1:delta_gcskewResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__molecular_USCOREweight(struct soap *soap)
+{	struct ns1__molecular_USCOREweight soap_tmp_ns1__molecular_USCOREweight;
+	struct ns1__molecular_USCOREweightResponse soap_tmp_ns1__molecular_USCOREweightResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__molecular_USCOREweightResponse(soap, &soap_tmp_ns1__molecular_USCOREweightResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__molecular_USCOREweightResponse._result = &soap_tmp_string;
+	soap_default_ns1__molecular_USCOREweight(soap, &soap_tmp_ns1__molecular_USCOREweight);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__molecular_USCOREweight(soap, &soap_tmp_ns1__molecular_USCOREweight, "ns1:molecular_weight", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__molecular_USCOREweight(soap, soap_tmp_ns1__molecular_USCOREweight._sequence, soap_tmp_ns1__molecular_USCOREweight._params, soap_tmp_ns1__molecular_USCOREweightResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__molecular_USCOREweightResponse(soap, &soap_tmp_ns1__molecular_USCOREweightResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__molecular_USCOREweightResponse(soap, &soap_tmp_ns1__molecular_USCOREweightResponse, "ns1:molecular_weightResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__molecular_USCOREweightResponse(soap, &soap_tmp_ns1__molecular_USCOREweightResponse, "ns1:molecular_weightResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__gcskew(struct soap *soap)
+{	struct ns1__gcskew soap_tmp_ns1__gcskew;
+	struct ns1__gcskewResponse soap_tmp_ns1__gcskewResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__gcskewResponse(soap, &soap_tmp_ns1__gcskewResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__gcskewResponse._result = &soap_tmp_string;
+	soap_default_ns1__gcskew(soap, &soap_tmp_ns1__gcskew);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__gcskew(soap, &soap_tmp_ns1__gcskew, "ns1:gcskew", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__gcskew(soap, soap_tmp_ns1__gcskew._sequence, soap_tmp_ns1__gcskew._params, soap_tmp_ns1__gcskewResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__gcskewResponse(soap, &soap_tmp_ns1__gcskewResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__gcskewResponse(soap, &soap_tmp_ns1__gcskewResponse, "ns1:gcskewResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__gcskewResponse(soap, &soap_tmp_ns1__gcskewResponse, "ns1:gcskewResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__genome_USCOREmap3(struct soap *soap)
+{	struct ns1__genome_USCOREmap3 soap_tmp_ns1__genome_USCOREmap3;
+	struct ns1__genome_USCOREmap3Response soap_tmp_ns1__genome_USCOREmap3Response;
+	char * soap_tmp_string;
+	soap_default_ns1__genome_USCOREmap3Response(soap, &soap_tmp_ns1__genome_USCOREmap3Response);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__genome_USCOREmap3Response._result = &soap_tmp_string;
+	soap_default_ns1__genome_USCOREmap3(soap, &soap_tmp_ns1__genome_USCOREmap3);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__genome_USCOREmap3(soap, &soap_tmp_ns1__genome_USCOREmap3, "ns1:genome_map3", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__genome_USCOREmap3(soap, soap_tmp_ns1__genome_USCOREmap3._sequence, soap_tmp_ns1__genome_USCOREmap3._params, soap_tmp_ns1__genome_USCOREmap3Response._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__genome_USCOREmap3Response(soap, &soap_tmp_ns1__genome_USCOREmap3Response);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__genome_USCOREmap3Response(soap, &soap_tmp_ns1__genome_USCOREmap3Response, "ns1:genome_map3Response", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__genome_USCOREmap3Response(soap, &soap_tmp_ns1__genome_USCOREmap3Response, "ns1:genome_map3Response", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__seqinfo(struct soap *soap)
+{	struct ns1__seqinfo soap_tmp_ns1__seqinfo;
+	struct ns1__seqinfoResponse soap_tmp_ns1__seqinfoResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__seqinfoResponse(soap, &soap_tmp_ns1__seqinfoResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__seqinfoResponse._result = &soap_tmp_string;
+	soap_default_ns1__seqinfo(soap, &soap_tmp_ns1__seqinfo);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__seqinfo(soap, &soap_tmp_ns1__seqinfo, "ns1:seqinfo", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__seqinfo(soap, soap_tmp_ns1__seqinfo._sequence, soap_tmp_ns1__seqinfoResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__seqinfoResponse(soap, &soap_tmp_ns1__seqinfoResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__seqinfoResponse(soap, &soap_tmp_ns1__seqinfoResponse, "ns1:seqinfoResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__seqinfoResponse(soap, &soap_tmp_ns1__seqinfoResponse, "ns1:seqinfoResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__signature(struct soap *soap)
+{	struct ns1__signature soap_tmp_ns1__signature;
+	struct ns1__signatureResponse soap_tmp_ns1__signatureResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__signatureResponse(soap, &soap_tmp_ns1__signatureResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__signatureResponse._result = &soap_tmp_string;
+	soap_default_ns1__signature(soap, &soap_tmp_ns1__signature);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__signature(soap, &soap_tmp_ns1__signature, "ns1:signature", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__signature(soap, soap_tmp_ns1__signature._sequence, soap_tmp_ns1__signature._params, soap_tmp_ns1__signatureResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__signatureResponse(soap, &soap_tmp_ns1__signatureResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__signatureResponse(soap, &soap_tmp_ns1__signatureResponse, "ns1:signatureResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__signatureResponse(soap, &soap_tmp_ns1__signatureResponse, "ns1:signatureResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__base_USCOREinformation_USCOREcontent(struct soap *soap)
+{	struct ns1__base_USCOREinformation_USCOREcontent soap_tmp_ns1__base_USCOREinformation_USCOREcontent;
+	struct ns1__base_USCOREinformation_USCOREcontentResponse soap_tmp_ns1__base_USCOREinformation_USCOREcontentResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__base_USCOREinformation_USCOREcontentResponse(soap, &soap_tmp_ns1__base_USCOREinformation_USCOREcontentResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__base_USCOREinformation_USCOREcontentResponse._result = &soap_tmp_string;
+	soap_default_ns1__base_USCOREinformation_USCOREcontent(soap, &soap_tmp_ns1__base_USCOREinformation_USCOREcontent);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__base_USCOREinformation_USCOREcontent(soap, &soap_tmp_ns1__base_USCOREinformation_USCOREcontent, "ns1:base_information_content", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__base_USCOREinformation_USCOREcontent(soap, soap_tmp_ns1__base_USCOREinformation_USCOREcontent._sequence, soap_tmp_ns1__base_USCOREinformation_USCOREcontent._params, soap_tmp_ns1__base_USCOREinformation_USCOREcontentResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__base_USCOREinformation_USCOREcontentResponse(soap, &soap_tmp_ns1__base_USCOREinformation_USCOREcontentResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__base_USCOREinformation_USCOREcontentResponse(soap, &soap_tmp_ns1__base_USCOREinformation_USCOREcontentResponse, "ns1:base_information_contentResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__base_USCOREinformation_USCOREcontentResponse(soap, &soap_tmp_ns1__base_USCOREinformation_USCOREcontentResponse, "ns1:base_information_contentResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__dnawalk(struct soap *soap)
+{	struct ns1__dnawalk soap_tmp_ns1__dnawalk;
+	struct ns1__dnawalkResponse soap_tmp_ns1__dnawalkResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__dnawalkResponse(soap, &soap_tmp_ns1__dnawalkResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__dnawalkResponse._result = &soap_tmp_string;
+	soap_default_ns1__dnawalk(soap, &soap_tmp_ns1__dnawalk);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__dnawalk(soap, &soap_tmp_ns1__dnawalk, "ns1:dnawalk", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__dnawalk(soap, soap_tmp_ns1__dnawalk._sequence, soap_tmp_ns1__dnawalk._params, soap_tmp_ns1__dnawalkResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__dnawalkResponse(soap, &soap_tmp_ns1__dnawalkResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__dnawalkResponse(soap, &soap_tmp_ns1__dnawalkResponse, "ns1:dnawalkResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__dnawalkResponse(soap, &soap_tmp_ns1__dnawalkResponse, "ns1:dnawalkResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__find_USCOREter(struct soap *soap)
+{	struct ns1__find_USCOREter soap_tmp_ns1__find_USCOREter;
+	struct ns1__find_USCOREterResponse _param_7;
+	soap_default_ns1__find_USCOREterResponse(soap, &_param_7);
+	soap_default_ns1__find_USCOREter(soap, &soap_tmp_ns1__find_USCOREter);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__find_USCOREter(soap, &soap_tmp_ns1__find_USCOREter, "ns1:find_ter", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__find_USCOREter(soap, soap_tmp_ns1__find_USCOREter._sequence, soap_tmp_ns1__find_USCOREter._params, &_param_7);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__find_USCOREterResponse(soap, &_param_7);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__find_USCOREterResponse(soap, &_param_7, "ns1:find_terResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__find_USCOREterResponse(soap, &_param_7, "ns1:find_terResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__shuffleseq(struct soap *soap)
+{	struct ns1__shuffleseq soap_tmp_ns1__shuffleseq;
+	struct ns1__shuffleseqResponse soap_tmp_ns1__shuffleseqResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__shuffleseqResponse(soap, &soap_tmp_ns1__shuffleseqResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__shuffleseqResponse._result = &soap_tmp_string;
+	soap_default_ns1__shuffleseq(soap, &soap_tmp_ns1__shuffleseq);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__shuffleseq(soap, &soap_tmp_ns1__shuffleseq, "ns1:shuffleseq", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__shuffleseq(soap, soap_tmp_ns1__shuffleseq._sequence, soap_tmp_ns1__shuffleseq._params, soap_tmp_ns1__shuffleseqResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__shuffleseqResponse(soap, &soap_tmp_ns1__shuffleseqResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__shuffleseqResponse(soap, &soap_tmp_ns1__shuffleseqResponse, "ns1:shuffleseqResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__shuffleseqResponse(soap, &soap_tmp_ns1__shuffleseqResponse, "ns1:shuffleseqResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__oligomer_USCOREsearch(struct soap *soap)
+{	struct ns1__oligomer_USCOREsearch soap_tmp_ns1__oligomer_USCOREsearch;
+	struct ns1__oligomer_USCOREsearchResponse _param_8;
+	soap_default_ns1__oligomer_USCOREsearchResponse(soap, &_param_8);
+	soap_default_ns1__oligomer_USCOREsearch(soap, &soap_tmp_ns1__oligomer_USCOREsearch);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__oligomer_USCOREsearch(soap, &soap_tmp_ns1__oligomer_USCOREsearch, "ns1:oligomer_search", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__oligomer_USCOREsearch(soap, soap_tmp_ns1__oligomer_USCOREsearch._sequence, soap_tmp_ns1__oligomer_USCOREsearch._oligomer, soap_tmp_ns1__oligomer_USCOREsearch._params, &_param_8);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__oligomer_USCOREsearchResponse(soap, &_param_8);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__oligomer_USCOREsearchResponse(soap, &_param_8, "ns1:oligomer_searchResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__oligomer_USCOREsearchResponse(soap, &_param_8, "ns1:oligomer_searchResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__find_USCOREpattern(struct soap *soap)
+{	struct ns1__find_USCOREpattern soap_tmp_ns1__find_USCOREpattern;
+	struct ns1__find_USCOREpatternResponse soap_tmp_ns1__find_USCOREpatternResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__find_USCOREpatternResponse(soap, &soap_tmp_ns1__find_USCOREpatternResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__find_USCOREpatternResponse._result = &soap_tmp_string;
+	soap_default_ns1__find_USCOREpattern(soap, &soap_tmp_ns1__find_USCOREpattern);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__find_USCOREpattern(soap, &soap_tmp_ns1__find_USCOREpattern, "ns1:find_pattern", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__find_USCOREpattern(soap, soap_tmp_ns1__find_USCOREpattern._sequence, soap_tmp_ns1__find_USCOREpattern._pattern, soap_tmp_ns1__find_USCOREpattern._params, soap_tmp_ns1__find_USCOREpatternResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__find_USCOREpatternResponse(soap, &soap_tmp_ns1__find_USCOREpatternResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__find_USCOREpatternResponse(soap, &soap_tmp_ns1__find_USCOREpatternResponse, "ns1:find_patternResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__find_USCOREpatternResponse(soap, &soap_tmp_ns1__find_USCOREpatternResponse, "ns1:find_patternResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__gcwin(struct soap *soap)
+{	struct ns1__gcwin soap_tmp_ns1__gcwin;
+	struct ns1__gcwinResponse soap_tmp_ns1__gcwinResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__gcwinResponse(soap, &soap_tmp_ns1__gcwinResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__gcwinResponse._result = &soap_tmp_string;
+	soap_default_ns1__gcwin(soap, &soap_tmp_ns1__gcwin);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__gcwin(soap, &soap_tmp_ns1__gcwin, "ns1:gcwin", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__gcwin(soap, soap_tmp_ns1__gcwin._sequence, soap_tmp_ns1__gcwin._params, soap_tmp_ns1__gcwinResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__gcwinResponse(soap, &soap_tmp_ns1__gcwinResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__gcwinResponse(soap, &soap_tmp_ns1__gcwinResponse, "ns1:gcwinResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__gcwinResponse(soap, &soap_tmp_ns1__gcwinResponse, "ns1:gcwinResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__oligomer_USCOREcounter(struct soap *soap)
+{	struct ns1__oligomer_USCOREcounter soap_tmp_ns1__oligomer_USCOREcounter;
+	struct ns1__oligomer_USCOREcounterResponse soap_tmp_ns1__oligomer_USCOREcounterResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__oligomer_USCOREcounterResponse(soap, &soap_tmp_ns1__oligomer_USCOREcounterResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__oligomer_USCOREcounterResponse._result = &soap_tmp_string;
+	soap_default_ns1__oligomer_USCOREcounter(soap, &soap_tmp_ns1__oligomer_USCOREcounter);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__oligomer_USCOREcounter(soap, &soap_tmp_ns1__oligomer_USCOREcounter, "ns1:oligomer_counter", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__oligomer_USCOREcounter(soap, soap_tmp_ns1__oligomer_USCOREcounter._sequence, soap_tmp_ns1__oligomer_USCOREcounter._oligomer, soap_tmp_ns1__oligomer_USCOREcounter._params, soap_tmp_ns1__oligomer_USCOREcounterResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__oligomer_USCOREcounterResponse(soap, &soap_tmp_ns1__oligomer_USCOREcounterResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__oligomer_USCOREcounterResponse(soap, &soap_tmp_ns1__oligomer_USCOREcounterResponse, "ns1:oligomer_counterResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__oligomer_USCOREcounterResponse(soap, &soap_tmp_ns1__oligomer_USCOREcounterResponse, "ns1:oligomer_counterResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__codon_USCOREusage(struct soap *soap)
+{	struct ns1__codon_USCOREusage soap_tmp_ns1__codon_USCOREusage;
+	struct ns1__codon_USCOREusageResponse soap_tmp_ns1__codon_USCOREusageResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__codon_USCOREusageResponse(soap, &soap_tmp_ns1__codon_USCOREusageResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__codon_USCOREusageResponse._result = &soap_tmp_string;
+	soap_default_ns1__codon_USCOREusage(soap, &soap_tmp_ns1__codon_USCOREusage);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__codon_USCOREusage(soap, &soap_tmp_ns1__codon_USCOREusage, "ns1:codon_usage", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__codon_USCOREusage(soap, soap_tmp_ns1__codon_USCOREusage._sequence, soap_tmp_ns1__codon_USCOREusage._params, soap_tmp_ns1__codon_USCOREusageResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__codon_USCOREusageResponse(soap, &soap_tmp_ns1__codon_USCOREusageResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__codon_USCOREusageResponse(soap, &soap_tmp_ns1__codon_USCOREusageResponse, "ns1:codon_usageResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__codon_USCOREusageResponse(soap, &soap_tmp_ns1__codon_USCOREusageResponse, "ns1:codon_usageResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__min(struct soap *soap)
+{	struct ns1__min soap_tmp_ns1__min;
+	struct ns1__minResponse soap_tmp_ns1__minResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__minResponse(soap, &soap_tmp_ns1__minResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__minResponse._result = &soap_tmp_string;
+	soap_default_ns1__min(soap, &soap_tmp_ns1__min);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__min(soap, &soap_tmp_ns1__min, "ns1:min", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__min(soap, soap_tmp_ns1__min._array, soap_tmp_ns1__minResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__minResponse(soap, &soap_tmp_ns1__minResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__minResponse(soap, &soap_tmp_ns1__minResponse, "ns1:minResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__minResponse(soap, &soap_tmp_ns1__minResponse, "ns1:minResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__find_USCOREiteron(struct soap *soap)
+{	struct ns1__find_USCOREiteron soap_tmp_ns1__find_USCOREiteron;
+	struct ns1__find_USCOREiteronResponse soap_tmp_ns1__find_USCOREiteronResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__find_USCOREiteronResponse(soap, &soap_tmp_ns1__find_USCOREiteronResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__find_USCOREiteronResponse._result = &soap_tmp_string;
+	soap_default_ns1__find_USCOREiteron(soap, &soap_tmp_ns1__find_USCOREiteron);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__find_USCOREiteron(soap, &soap_tmp_ns1__find_USCOREiteron, "ns1:find_iteron", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__find_USCOREiteron(soap, soap_tmp_ns1__find_USCOREiteron._sequence, soap_tmp_ns1__find_USCOREiteron._params, soap_tmp_ns1__find_USCOREiteronResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__find_USCOREiteronResponse(soap, &soap_tmp_ns1__find_USCOREiteronResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__find_USCOREiteronResponse(soap, &soap_tmp_ns1__find_USCOREiteronResponse, "ns1:find_iteronResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__find_USCOREiteronResponse(soap, &soap_tmp_ns1__find_USCOREiteronResponse, "ns1:find_iteronResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__complement(struct soap *soap)
+{	struct ns1__complement soap_tmp_ns1__complement;
+	struct ns1__complementResponse soap_tmp_ns1__complementResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__complementResponse(soap, &soap_tmp_ns1__complementResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__complementResponse._result = &soap_tmp_string;
+	soap_default_ns1__complement(soap, &soap_tmp_ns1__complement);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__complement(soap, &soap_tmp_ns1__complement, "ns1:complement", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__complement(soap, soap_tmp_ns1__complement._sequence, soap_tmp_ns1__complementResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__complementResponse(soap, &soap_tmp_ns1__complementResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__complementResponse(soap, &soap_tmp_ns1__complementResponse, "ns1:complementResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__complementResponse(soap, &soap_tmp_ns1__complementResponse, "ns1:complementResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__mean(struct soap *soap)
+{	struct ns1__mean soap_tmp_ns1__mean;
+	struct ns1__meanResponse soap_tmp_ns1__meanResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__meanResponse(soap, &soap_tmp_ns1__meanResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__meanResponse._result = &soap_tmp_string;
+	soap_default_ns1__mean(soap, &soap_tmp_ns1__mean);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__mean(soap, &soap_tmp_ns1__mean, "ns1:mean", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__mean(soap, soap_tmp_ns1__mean._array, soap_tmp_ns1__meanResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__meanResponse(soap, &soap_tmp_ns1__meanResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__meanResponse(soap, &soap_tmp_ns1__meanResponse, "ns1:meanResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__meanResponse(soap, &soap_tmp_ns1__meanResponse, "ns1:meanResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__codon_USCOREcounter(struct soap *soap)
+{	struct ns1__codon_USCOREcounter soap_tmp_ns1__codon_USCOREcounter;
+	struct ns1__codon_USCOREcounterResponse soap_tmp_ns1__codon_USCOREcounterResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__codon_USCOREcounterResponse(soap, &soap_tmp_ns1__codon_USCOREcounterResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__codon_USCOREcounterResponse._result = &soap_tmp_string;
+	soap_default_ns1__codon_USCOREcounter(soap, &soap_tmp_ns1__codon_USCOREcounter);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__codon_USCOREcounter(soap, &soap_tmp_ns1__codon_USCOREcounter, "ns1:codon_counter", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__codon_USCOREcounter(soap, soap_tmp_ns1__codon_USCOREcounter._sequence, soap_tmp_ns1__codon_USCOREcounter._params, soap_tmp_ns1__codon_USCOREcounterResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__codon_USCOREcounterResponse(soap, &soap_tmp_ns1__codon_USCOREcounterResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__codon_USCOREcounterResponse(soap, &soap_tmp_ns1__codon_USCOREcounterResponse, "ns1:codon_counterResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__codon_USCOREcounterResponse(soap, &soap_tmp_ns1__codon_USCOREcounterResponse, "ns1:codon_counterResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__entrez(struct soap *soap)
+{	struct ns1__entrez soap_tmp_ns1__entrez;
+	struct ns1__entrezResponse soap_tmp_ns1__entrezResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__entrezResponse(soap, &soap_tmp_ns1__entrezResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__entrezResponse._result = &soap_tmp_string;
+	soap_default_ns1__entrez(soap, &soap_tmp_ns1__entrez);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__entrez(soap, &soap_tmp_ns1__entrez, "ns1:entrez", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__entrez(soap, soap_tmp_ns1__entrez._database, soap_tmp_ns1__entrez._query, soap_tmp_ns1__entrezResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__entrezResponse(soap, &soap_tmp_ns1__entrezResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__entrezResponse(soap, &soap_tmp_ns1__entrezResponse, "ns1:entrezResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__entrezResponse(soap, &soap_tmp_ns1__entrezResponse, "ns1:entrezResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__palindrome(struct soap *soap)
+{	struct ns1__palindrome soap_tmp_ns1__palindrome;
+	struct ns1__palindromeResponse soap_tmp_ns1__palindromeResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__palindromeResponse(soap, &soap_tmp_ns1__palindromeResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__palindromeResponse._result = &soap_tmp_string;
+	soap_default_ns1__palindrome(soap, &soap_tmp_ns1__palindrome);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__palindrome(soap, &soap_tmp_ns1__palindrome, "ns1:palindrome", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__palindrome(soap, soap_tmp_ns1__palindrome._sequence, soap_tmp_ns1__palindrome._params, soap_tmp_ns1__palindromeResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__palindromeResponse(soap, &soap_tmp_ns1__palindromeResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__palindromeResponse(soap, &soap_tmp_ns1__palindromeResponse, "ns1:palindromeResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__palindromeResponse(soap, &soap_tmp_ns1__palindromeResponse, "ns1:palindromeResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__least_USCOREsquares_USCOREfit(struct soap *soap)
+{	struct ns1__least_USCOREsquares_USCOREfit soap_tmp_ns1__least_USCOREsquares_USCOREfit;
+	struct ns1__least_USCOREsquares_USCOREfitResponse _param_9;
+	soap_default_ns1__least_USCOREsquares_USCOREfitResponse(soap, &_param_9);
+	soap_default_ns1__least_USCOREsquares_USCOREfit(soap, &soap_tmp_ns1__least_USCOREsquares_USCOREfit);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__least_USCOREsquares_USCOREfit(soap, &soap_tmp_ns1__least_USCOREsquares_USCOREfit, "ns1:least_squares_fit", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__least_USCOREsquares_USCOREfit(soap, soap_tmp_ns1__least_USCOREsquares_USCOREfit._array, &_param_9);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__least_USCOREsquares_USCOREfitResponse(soap, &_param_9);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__least_USCOREsquares_USCOREfitResponse(soap, &_param_9, "ns1:least_squares_fitResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__least_USCOREsquares_USCOREfitResponse(soap, &_param_9, "ns1:least_squares_fitResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__dinuc(struct soap *soap)
+{	struct ns1__dinuc soap_tmp_ns1__dinuc;
+	struct ns1__dinucResponse soap_tmp_ns1__dinucResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__dinucResponse(soap, &soap_tmp_ns1__dinucResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__dinucResponse._result = &soap_tmp_string;
+	soap_default_ns1__dinuc(soap, &soap_tmp_ns1__dinuc);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__dinuc(soap, &soap_tmp_ns1__dinuc, "ns1:dinuc", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__dinuc(soap, soap_tmp_ns1__dinuc._sequence, soap_tmp_ns1__dinuc._params, soap_tmp_ns1__dinucResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__dinucResponse(soap, &soap_tmp_ns1__dinucResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__dinucResponse(soap, &soap_tmp_ns1__dinucResponse, "ns1:dinucResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__dinucResponse(soap, &soap_tmp_ns1__dinucResponse, "ns1:dinucResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__cgr(struct soap *soap)
+{	struct ns1__cgr soap_tmp_ns1__cgr;
+	struct ns1__cgrResponse soap_tmp_ns1__cgrResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__cgrResponse(soap, &soap_tmp_ns1__cgrResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__cgrResponse._result = &soap_tmp_string;
+	soap_default_ns1__cgr(soap, &soap_tmp_ns1__cgr);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__cgr(soap, &soap_tmp_ns1__cgr, "ns1:cgr", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__cgr(soap, soap_tmp_ns1__cgr._sequence, soap_tmp_ns1__cgr._params, soap_tmp_ns1__cgrResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__cgrResponse(soap, &soap_tmp_ns1__cgrResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__cgrResponse(soap, &soap_tmp_ns1__cgrResponse, "ns1:cgrResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__cgrResponse(soap, &soap_tmp_ns1__cgrResponse, "ns1:cgrResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__B1(struct soap *soap)
+{	struct ns1__B1 soap_tmp_ns1__B1;
+	struct ns1__B1Response soap_tmp_ns1__B1Response;
+	char * soap_tmp_string;
+	soap_default_ns1__B1Response(soap, &soap_tmp_ns1__B1Response);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__B1Response._result = &soap_tmp_string;
+	soap_default_ns1__B1(soap, &soap_tmp_ns1__B1);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__B1(soap, &soap_tmp_ns1__B1, "ns1:B1", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__B1(soap, soap_tmp_ns1__B1._sequence, soap_tmp_ns1__B1._params, soap_tmp_ns1__B1Response._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__B1Response(soap, &soap_tmp_ns1__B1Response);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__B1Response(soap, &soap_tmp_ns1__B1Response, "ns1:B1Response", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__B1Response(soap, &soap_tmp_ns1__B1Response, "ns1:B1Response", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__B2(struct soap *soap)
+{	struct ns1__B2 soap_tmp_ns1__B2;
+	struct ns1__B2Response soap_tmp_ns1__B2Response;
+	char * soap_tmp_string;
+	soap_default_ns1__B2Response(soap, &soap_tmp_ns1__B2Response);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__B2Response._result = &soap_tmp_string;
+	soap_default_ns1__B2(soap, &soap_tmp_ns1__B2);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__B2(soap, &soap_tmp_ns1__B2, "ns1:B2", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__B2(soap, soap_tmp_ns1__B2._sequence, soap_tmp_ns1__B2Response._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__B2Response(soap, &soap_tmp_ns1__B2Response);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__B2Response(soap, &soap_tmp_ns1__B2Response, "ns1:B2Response", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__B2Response(soap, &soap_tmp_ns1__B2Response, "ns1:B2Response", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__base_USCOREcounter(struct soap *soap)
+{	struct ns1__base_USCOREcounter soap_tmp_ns1__base_USCOREcounter;
+	struct ns1__base_USCOREcounterResponse soap_tmp_ns1__base_USCOREcounterResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__base_USCOREcounterResponse(soap, &soap_tmp_ns1__base_USCOREcounterResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__base_USCOREcounterResponse._result = &soap_tmp_string;
+	soap_default_ns1__base_USCOREcounter(soap, &soap_tmp_ns1__base_USCOREcounter);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__base_USCOREcounter(soap, &soap_tmp_ns1__base_USCOREcounter, "ns1:base_counter", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__base_USCOREcounter(soap, soap_tmp_ns1__base_USCOREcounter._sequence, soap_tmp_ns1__base_USCOREcounter._params, soap_tmp_ns1__base_USCOREcounterResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__base_USCOREcounterResponse(soap, &soap_tmp_ns1__base_USCOREcounterResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__base_USCOREcounterResponse(soap, &soap_tmp_ns1__base_USCOREcounterResponse, "ns1:base_counterResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__base_USCOREcounterResponse(soap, &soap_tmp_ns1__base_USCOREcounterResponse, "ns1:base_counterResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__base_USCOREz_USCOREvalue(struct soap *soap)
+{	struct ns1__base_USCOREz_USCOREvalue soap_tmp_ns1__base_USCOREz_USCOREvalue;
+	struct ns1__base_USCOREz_USCOREvalueResponse soap_tmp_ns1__base_USCOREz_USCOREvalueResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__base_USCOREz_USCOREvalueResponse(soap, &soap_tmp_ns1__base_USCOREz_USCOREvalueResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__base_USCOREz_USCOREvalueResponse._result = &soap_tmp_string;
+	soap_default_ns1__base_USCOREz_USCOREvalue(soap, &soap_tmp_ns1__base_USCOREz_USCOREvalue);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__base_USCOREz_USCOREvalue(soap, &soap_tmp_ns1__base_USCOREz_USCOREvalue, "ns1:base_z_value", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__base_USCOREz_USCOREvalue(soap, soap_tmp_ns1__base_USCOREz_USCOREvalue._sequence, soap_tmp_ns1__base_USCOREz_USCOREvalue._params, soap_tmp_ns1__base_USCOREz_USCOREvalueResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__base_USCOREz_USCOREvalueResponse(soap, &soap_tmp_ns1__base_USCOREz_USCOREvalueResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__base_USCOREz_USCOREvalueResponse(soap, &soap_tmp_ns1__base_USCOREz_USCOREvalueResponse, "ns1:base_z_valueResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__base_USCOREz_USCOREvalueResponse(soap, &soap_tmp_ns1__base_USCOREz_USCOREvalueResponse, "ns1:base_z_valueResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__kmer_USCOREtable(struct soap *soap)
+{	struct ns1__kmer_USCOREtable soap_tmp_ns1__kmer_USCOREtable;
+	struct ns1__kmer_USCOREtableResponse soap_tmp_ns1__kmer_USCOREtableResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__kmer_USCOREtableResponse(soap, &soap_tmp_ns1__kmer_USCOREtableResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__kmer_USCOREtableResponse._result = &soap_tmp_string;
+	soap_default_ns1__kmer_USCOREtable(soap, &soap_tmp_ns1__kmer_USCOREtable);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__kmer_USCOREtable(soap, &soap_tmp_ns1__kmer_USCOREtable, "ns1:kmer_table", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__kmer_USCOREtable(soap, soap_tmp_ns1__kmer_USCOREtable._sequence, soap_tmp_ns1__kmer_USCOREtable._params, soap_tmp_ns1__kmer_USCOREtableResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__kmer_USCOREtableResponse(soap, &soap_tmp_ns1__kmer_USCOREtableResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__kmer_USCOREtableResponse(soap, &soap_tmp_ns1__kmer_USCOREtableResponse, "ns1:kmer_tableResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__kmer_USCOREtableResponse(soap, &soap_tmp_ns1__kmer_USCOREtableResponse, "ns1:kmer_tableResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__lda_USCOREbias(struct soap *soap)
+{	struct ns1__lda_USCOREbias soap_tmp_ns1__lda_USCOREbias;
+	struct ns1__lda_USCOREbiasResponse soap_tmp_ns1__lda_USCOREbiasResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__lda_USCOREbiasResponse(soap, &soap_tmp_ns1__lda_USCOREbiasResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__lda_USCOREbiasResponse._result = &soap_tmp_string;
+	soap_default_ns1__lda_USCOREbias(soap, &soap_tmp_ns1__lda_USCOREbias);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__lda_USCOREbias(soap, &soap_tmp_ns1__lda_USCOREbias, "ns1:lda_bias", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__lda_USCOREbias(soap, soap_tmp_ns1__lda_USCOREbias._sequence, soap_tmp_ns1__lda_USCOREbias._params, soap_tmp_ns1__lda_USCOREbiasResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__lda_USCOREbiasResponse(soap, &soap_tmp_ns1__lda_USCOREbiasResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__lda_USCOREbiasResponse(soap, &soap_tmp_ns1__lda_USCOREbiasResponse, "ns1:lda_biasResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__lda_USCOREbiasResponse(soap, &soap_tmp_ns1__lda_USCOREbiasResponse, "ns1:lda_biasResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__scs(struct soap *soap)
+{	struct ns1__scs soap_tmp_ns1__scs;
+	struct ns1__scsResponse soap_tmp_ns1__scsResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__scsResponse(soap, &soap_tmp_ns1__scsResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__scsResponse._result = &soap_tmp_string;
+	soap_default_ns1__scs(soap, &soap_tmp_ns1__scs);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__scs(soap, &soap_tmp_ns1__scs, "ns1:scs", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__scs(soap, soap_tmp_ns1__scs._sequence, soap_tmp_ns1__scs._params, soap_tmp_ns1__scsResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__scsResponse(soap, &soap_tmp_ns1__scsResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__scsResponse(soap, &soap_tmp_ns1__scsResponse, "ns1:scsResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__scsResponse(soap, &soap_tmp_ns1__scsResponse, "ns1:scsResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__leading_USCOREstrand(struct soap *soap)
+{	struct ns1__leading_USCOREstrand soap_tmp_ns1__leading_USCOREstrand;
+	struct ns1__leading_USCOREstrandResponse _param_10;
+	soap_default_ns1__leading_USCOREstrandResponse(soap, &_param_10);
+	soap_default_ns1__leading_USCOREstrand(soap, &soap_tmp_ns1__leading_USCOREstrand);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__leading_USCOREstrand(soap, &soap_tmp_ns1__leading_USCOREstrand, "ns1:leading_strand", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__leading_USCOREstrand(soap, soap_tmp_ns1__leading_USCOREstrand._sequence, &_param_10);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__leading_USCOREstrandResponse(soap, &_param_10);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__leading_USCOREstrandResponse(soap, &_param_10, "ns1:leading_strandResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__leading_USCOREstrandResponse(soap, &_param_10, "ns1:leading_strandResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__S_USCOREvalue(struct soap *soap)
+{	struct ns1__S_USCOREvalue soap_tmp_ns1__S_USCOREvalue;
+	struct ns1__S_USCOREvalueResponse soap_tmp_ns1__S_USCOREvalueResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__S_USCOREvalueResponse(soap, &soap_tmp_ns1__S_USCOREvalueResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__S_USCOREvalueResponse._result = &soap_tmp_string;
+	soap_default_ns1__S_USCOREvalue(soap, &soap_tmp_ns1__S_USCOREvalue);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__S_USCOREvalue(soap, &soap_tmp_ns1__S_USCOREvalue, "ns1:S_value", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__S_USCOREvalue(soap, soap_tmp_ns1__S_USCOREvalue._sequence, soap_tmp_ns1__S_USCOREvalue._params, soap_tmp_ns1__S_USCOREvalueResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__S_USCOREvalueResponse(soap, &soap_tmp_ns1__S_USCOREvalueResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__S_USCOREvalueResponse(soap, &soap_tmp_ns1__S_USCOREvalueResponse, "ns1:S_valueResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__S_USCOREvalueResponse(soap, &soap_tmp_ns1__S_USCOREvalueResponse, "ns1:S_valueResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__help(struct soap *soap)
+{	struct ns1__help soap_tmp_ns1__help;
+	struct ns1__helpResponse soap_tmp_ns1__helpResponse;
+	char * soap_tmp_string;
+	soap_default_ns1__helpResponse(soap, &soap_tmp_ns1__helpResponse);
+	soap_tmp_string = NULL;
+	soap_tmp_ns1__helpResponse._result = &soap_tmp_string;
+	soap_default_ns1__help(soap, &soap_tmp_ns1__help);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__help(soap, &soap_tmp_ns1__help, "ns1:help", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__help(soap, soap_tmp_ns1__help._keywords, soap_tmp_ns1__helpResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__helpResponse(soap, &soap_tmp_ns1__helpResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__helpResponse(soap, &soap_tmp_ns1__helpResponse, "ns1:helpResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__helpResponse(soap, &soap_tmp_ns1__helpResponse, "ns1:helpResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__hydropathy(struct soap *soap)
+{	struct ns1__hydropathy soap_tmp_ns1__hydropathy;
+	struct ns1__hydropathyResponse soap_tmp_ns1__hydropathyResponse;
+	float soap_tmp_float;
+	soap_default_ns1__hydropathyResponse(soap, &soap_tmp_ns1__hydropathyResponse);
+	soap_default_float(soap, &soap_tmp_float);
+	soap_tmp_ns1__hydropathyResponse._result = &soap_tmp_float;
+	soap_default_ns1__hydropathy(soap, &soap_tmp_ns1__hydropathy);
+	soap->encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/";
+	if (!soap_get_ns1__hydropathy(soap, &soap_tmp_ns1__hydropathy, "ns1:hydropathy", NULL))
+		return soap->error;
+	if (soap_body_end_in(soap)
+	 || soap_envelope_end_in(soap)
+	 || soap_end_recv(soap))
+		return soap->error;
+	soap->error = ns1__hydropathy(soap, soap_tmp_ns1__hydropathy._sequence, soap_tmp_ns1__hydropathyResponse._result);
+	if (soap->error)
+		return soap->error;
+	soap_serializeheader(soap);
+	soap_serialize_ns1__hydropathyResponse(soap, &soap_tmp_ns1__hydropathyResponse);
+	if (soap_begin_count(soap))
+		return soap->error;
+	if (soap->mode & SOAP_IO_LENGTH)
+	{	if (soap_envelope_begin_out(soap)
+		 || soap_putheader(soap)
+		 || soap_body_begin_out(soap)
+		 || soap_put_ns1__hydropathyResponse(soap, &soap_tmp_ns1__hydropathyResponse, "ns1:hydropathyResponse", NULL)
+		 || soap_body_end_out(soap)
+		 || soap_envelope_end_out(soap))
+			 return soap->error;
+	};
+	if (soap_end_count(soap)
+	 || soap_response(soap, SOAP_OK)
+	 || soap_envelope_begin_out(soap)
+	 || soap_putheader(soap)
+	 || soap_body_begin_out(soap)
+	 || soap_put_ns1__hydropathyResponse(soap, &soap_tmp_ns1__hydropathyResponse, "ns1:hydropathyResponse", NULL)
+	 || soap_body_end_out(soap)
+	 || soap_envelope_end_out(soap)
+	 || soap_end_send(soap))
+		return soap->error;
+	return soap_closesock(soap);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#if defined(__BORLANDC__)
+#pragma option pop
+#pragma option pop
+#endif
+
+/* End of soapServer.c */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/soapServerLib.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,20 @@
+/* soapServerLib.c
+   Generated by gSOAP 2.8.6 from gae.h
+
+Copyright(C) 2000-2011, Robert van Engelen, Genivia Inc. All Rights Reserved.
+The generated code is released under one of the following licenses:
+1) GPL or 2) Genivia's license for commercial use.
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+*/
+
+/** Use this file in your project build instead of the two files soapC.c and soapServer.c. This hides the serializer functions and avoids linking problems when linking multiple clients and servers. */
+
+#ifndef WITH_NOGLOBAL
+#define WITH_NOGLOBAL
+#endif
+#define SOAP_FMAC3 static
+#include "soapC.c"
+#include "soapServer.c"
+
+/* End of soapServerLib.c */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/include/soapStub.h	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,3194 @@
+/* soapStub.h
+   Generated by gSOAP 2.8.6 from gae.h
+
+Copyright(C) 2000-2011, Robert van Engelen, Genivia Inc. All Rights Reserved.
+The generated code is released under one of the following licenses:
+1) GPL or 2) Genivia's license for commercial use.
+This program is released under the GPL with the additional exemption that
+compiling, linking, and/or using OpenSSL is allowed.
+*/
+
+#ifndef soapStub_H
+#define soapStub_H
+#define SOAP_NAMESPACE_OF_ns1	"http://soap.g-language.org/GLANG"
+#include "stdsoap2.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/******************************************************************************\
+ *                                                                            *
+ * Enumerations                                                               *
+ *                                                                            *
+\******************************************************************************/
+
+
+/******************************************************************************\
+ *                                                                            *
+ * Types with Custom Serializers                                              *
+ *                                                                            *
+\******************************************************************************/
+
+
+/******************************************************************************\
+ *                                                                            *
+ * Classes and Structs                                                        *
+ *                                                                            *
+\******************************************************************************/
+
+
+#if 0 /* volatile type: do not declare here, declared elsewhere */
+
+#endif
+
+#ifndef SOAP_TYPE_ns1__Definition
+#define SOAP_TYPE_ns1__Definition (7)
+/* ns1:Definition */
+struct ns1__Definition
+{
+	char *entry;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREmvaInputParams
+#define SOAP_TYPE_ns1__codon_USCOREmvaInputParams (8)
+/* ns1:codon_mvaInputParams */
+struct ns1__codon_USCOREmvaInputParams
+{
+	int parameter;	/* required element of type xsd:int */
+	int naxis;	/* required element of type xsd:int */
+	int translate;	/* required element of type xsd:int */
+	int data;	/* required element of type xsd:int */
+	char *method;	/* required element of type xsd:string */
+	char *output;	/* required element of type xsd:string */
+	char *del_USCOREkey;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__P2InputParams
+#define SOAP_TYPE_ns1__P2InputParams (9)
+/* ns1:P2InputParams */
+struct ns1__P2InputParams
+{
+	char *output;	/* required element of type xsd:string */
+	char *tag;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__w_USCOREvalueInputParams
+#define SOAP_TYPE_ns1__w_USCOREvalueInputParams (10)
+/* ns1:w_valueInputParams */
+struct ns1__w_USCOREvalueInputParams
+{
+	char *include;	/* required element of type xsd:string */
+	char *output;	/* required element of type xsd:string */
+	char *exclude;	/* required element of type xsd:string */
+	char *tag;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__find_USCOREori_USCOREterInputParams
+#define SOAP_TYPE_ns1__find_USCOREori_USCOREterInputParams (11)
+/* ns1:find_ori_terInputParams */
+struct ns1__find_USCOREori_USCOREterInputParams
+{
+	int window;	/* required element of type xsd:int */
+	int purine;	/* required element of type xsd:int */
+	int filter;	/* required element of type xsd:int */
+	int keto;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__consensus_USCOREzInputParams
+#define SOAP_TYPE_ns1__consensus_USCOREzInputParams (12)
+/* ns1:consensus_zInputParams */
+struct ns1__consensus_USCOREzInputParams
+{
+	int high;	/* required element of type xsd:int */
+	double low;	/* required element of type xsd:double */
+	char *output;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__genome_USCOREmapInputParams
+#define SOAP_TYPE_ns1__genome_USCOREmapInputParams (14)
+/* ns1:genome_mapInputParams */
+struct ns1__genome_USCOREmapInputParams
+{
+	int window;	/* required element of type xsd:int */
+	int name;	/* required element of type xsd:int */
+	char *output;	/* required element of type xsd:string */
+	double amp;	/* required element of type xsd:double */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__rep_USCOREori_USCOREterInputParams
+#define SOAP_TYPE_ns1__rep_USCOREori_USCOREterInputParams (15)
+/* ns1:rep_ori_terInputParams */
+struct ns1__rep_USCOREori_USCOREterInputParams
+{
+	int oriloc;	/* required element of type xsd:int */
+	int gcskew;	/* required element of type xsd:int */
+	int dif_threshold;	/* required element of type xsd:int */
+	int dbonly;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__DoubleHelixInputParams
+#define SOAP_TYPE_ns1__DoubleHelixInputParams (16)
+/* ns1:DoubleHelixInputParams */
+struct ns1__DoubleHelixInputParams
+{
+	double speed;	/* required element of type xsd:double */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__plasmid_USCOREmapInputParams
+#define SOAP_TYPE_ns1__plasmid_USCOREmapInputParams (17)
+/* ns1:plasmid_mapInputParams */
+struct ns1__plasmid_USCOREmapInputParams
+{
+	char *ptt;	/* required element of type xsd:string */
+	int cgi;	/* required element of type xsd:int */
+	char *output;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__base_USCOREentropyInputParams
+#define SOAP_TYPE_ns1__base_USCOREentropyInputParams (18)
+/* ns1:base_entropyInputParams */
+struct ns1__base_USCOREentropyInputParams
+{
+	int upstream;	/* required element of type xsd:int */
+	char *position;	/* required element of type xsd:string */
+	int downstream;	/* required element of type xsd:int */
+	char *output;	/* required element of type xsd:string */
+	int PatLength;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__nucleotide_USCOREperiodicityInputParams
+#define SOAP_TYPE_ns1__nucleotide_USCOREperiodicityInputParams (19)
+/* ns1:nucleotide_periodicityInputParams */
+struct ns1__nucleotide_USCOREperiodicityInputParams
+{
+	int window;	/* required element of type xsd:int */
+	char *nucleotide;	/* required element of type xsd:string */
+	char *output;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__to_USCOREfastaInputParams
+#define SOAP_TYPE_ns1__to_USCOREfastaInputParams (20)
+/* ns1:to_fastaInputParams */
+struct ns1__to_USCOREfastaInputParams
+{
+	int length;	/* required element of type xsd:int */
+	char *name;	/* required element of type xsd:string */
+	char *output;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__find_USCOREdifInputParams
+#define SOAP_TYPE_ns1__find_USCOREdifInputParams (21)
+/* ns1:find_difInputParams */
+struct ns1__find_USCOREdifInputParams
+{
+	char *type;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__cbiInputParams
+#define SOAP_TYPE_ns1__cbiInputParams (22)
+/* ns1:cbiInputParams */
+struct ns1__cbiInputParams
+{
+	int translate;	/* required element of type xsd:int */
+	char *id;	/* required element of type xsd:string */
+	char *del_USCOREkey;	/* required element of type xsd:string */
+	char *tag;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriInputParams
+#define SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriInputParams (23)
+/* ns1:genes_from_oriInputParams */
+struct ns1__genes_USCOREfrom_USCOREoriInputParams
+{
+	int window;	/* required element of type xsd:int */
+	int purine;	/* required element of type xsd:int */
+	char *output;	/* required element of type xsd:string */
+	int keto;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__geneskewInputParams
+#define SOAP_TYPE_ns1__geneskewInputParams (24)
+/* ns1:geneskewInputParams */
+struct ns1__geneskewInputParams
+{
+	int window;	/* required element of type xsd:int */
+	int slide;	/* required element of type xsd:int */
+	int cumulative;	/* required element of type xsd:int */
+	char *base;	/* required element of type xsd:string */
+	int gc3;	/* required element of type xsd:int */
+	char *output;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__corInputParams
+#define SOAP_TYPE_ns1__corInputParams (25)
+/* ns1:corInputParams */
+struct ns1__corInputParams
+{
+	int sorted;	/* required element of type xsd:int */
+	char *method;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__delta_USCOREgcskewInputParams
+#define SOAP_TYPE_ns1__delta_USCOREgcskewInputParams (26)
+/* ns1:delta_gcskewInputParams */
+struct ns1__delta_USCOREgcskewInputParams
+{
+	char *method;	/* required element of type xsd:string */
+	int at;	/* required element of type xsd:int */
+	int purine;	/* required element of type xsd:int */
+	int keto;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__molecular_USCOREweightInputParams
+#define SOAP_TYPE_ns1__molecular_USCOREweightInputParams (27)
+/* ns1:molecular_weightInputParams */
+struct ns1__molecular_USCOREweightInputParams
+{
+	char *strand;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__circular_USCOREmapInputParams
+#define SOAP_TYPE_ns1__circular_USCOREmapInputParams (28)
+/* ns1:circular_mapInputParams */
+struct ns1__circular_USCOREmapInputParams
+{
+	int gmap;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__gcskewInputParams
+#define SOAP_TYPE_ns1__gcskewInputParams (29)
+/* ns1:gcskewInputParams */
+struct ns1__gcskewInputParams
+{
+	int window;	/* required element of type xsd:int */
+	int slide;	/* required element of type xsd:int */
+	int cumulative;	/* required element of type xsd:int */
+	int at;	/* required element of type xsd:int */
+	int purine;	/* required element of type xsd:int */
+	int keto;	/* required element of type xsd:int */
+	char *output;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__genome_USCOREmap3InputParams
+#define SOAP_TYPE_ns1__genome_USCOREmap3InputParams (30)
+/* ns1:genome_map3InputParams */
+struct ns1__genome_USCOREmap3InputParams
+{
+	int width;	/* required element of type xsd:int */
+	char *datafilename;	/* required element of type xsd:string */
+	int gmap;	/* required element of type xsd:int */
+	char *output;	/* required element of type xsd:string */
+	int height;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__togoWSInputParams
+#define SOAP_TYPE_ns1__togoWSInputParams (31)
+/* ns1:togoWSInputParams */
+struct ns1__togoWSInputParams
+{
+	char *search;	/* required element of type xsd:string */
+	char *db;	/* required element of type xsd:string */
+	char *format;	/* required element of type xsd:string */
+	char *field;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentInputParams
+#define SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentInputParams (32)
+/* ns1:base_information_contentInputParams */
+struct ns1__base_USCOREinformation_USCOREcontentInputParams
+{
+	int upstream;	/* required element of type xsd:int */
+	char *position;	/* required element of type xsd:string */
+	int downstream;	/* required element of type xsd:int */
+	char *output;	/* required element of type xsd:string */
+	int PatLength;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__dnawalkInputParams
+#define SOAP_TYPE_ns1__dnawalkInputParams (33)
+/* ns1:dnawalkInputParams */
+struct ns1__dnawalkInputParams
+{
+	int gmap;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__find_USCOREterInputParams
+#define SOAP_TYPE_ns1__find_USCOREterInputParams (34)
+/* ns1:find_terInputParams */
+struct ns1__find_USCOREterInputParams
+{
+	char *_x002dtype;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__shuffleseqInputParams
+#define SOAP_TYPE_ns1__shuffleseqInputParams (35)
+/* ns1:shuffleseqInputParams */
+struct ns1__shuffleseqInputParams
+{
+	int k;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__phxInputParams
+#define SOAP_TYPE_ns1__phxInputParams (36)
+/* ns1:phxInputParams */
+struct ns1__phxInputParams
+{
+	char *usage;	/* required element of type xsd:string */
+	int translate;	/* required element of type xsd:int */
+	char *output;	/* required element of type xsd:string */
+	char *del_USCOREkey;	/* required element of type xsd:string */
+	char *tag;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__oligomer_USCOREsearchInputParams
+#define SOAP_TYPE_ns1__oligomer_USCOREsearchInputParams (37)
+/* ns1:oligomer_searchInputParams */
+struct ns1__oligomer_USCOREsearchInputParams
+{
+	char *return_;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__find_USCOREpatternInputParams
+#define SOAP_TYPE_ns1__find_USCOREpatternInputParams (38)
+/* ns1:find_patternInputParams */
+struct ns1__find_USCOREpatternInputParams
+{
+	char *output;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__gcwinInputParams
+#define SOAP_TYPE_ns1__gcwinInputParams (39)
+/* ns1:gcwinInputParams */
+struct ns1__gcwinInputParams
+{
+	int window;	/* required element of type xsd:int */
+	int at;	/* required element of type xsd:int */
+	int purine;	/* required element of type xsd:int */
+	char *application;	/* required element of type xsd:string */
+	char *output;	/* required element of type xsd:string */
+	int keto;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__icdiInputParams
+#define SOAP_TYPE_ns1__icdiInputParams (40)
+/* ns1:icdiInputParams */
+struct ns1__icdiInputParams
+{
+	int translate;	/* required element of type xsd:int */
+	char *id;	/* required element of type xsd:string */
+	char *del_USCOREkey;	/* required element of type xsd:string */
+	char *tag;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__encInputParams
+#define SOAP_TYPE_ns1__encInputParams (41)
+/* ns1:encInputParams */
+struct ns1__encInputParams
+{
+	int translate;	/* required element of type xsd:int */
+	char *id;	/* required element of type xsd:string */
+	char *del_USCOREkey;	/* required element of type xsd:string */
+	char *tag;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__oligomer_USCOREcounterInputParams
+#define SOAP_TYPE_ns1__oligomer_USCOREcounterInputParams (42)
+/* ns1:oligomer_counterInputParams */
+struct ns1__oligomer_USCOREcounterInputParams
+{
+	int window;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__fopInputParams
+#define SOAP_TYPE_ns1__fopInputParams (43)
+/* ns1:fopInputParams */
+struct ns1__fopInputParams
+{
+	int translate;	/* required element of type xsd:int */
+	char *output;	/* required element of type xsd:string */
+	char *tag;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__buiInputParams
+#define SOAP_TYPE_ns1__buiInputParams (44)
+/* ns1:buiInputParams */
+struct ns1__buiInputParams
+{
+	int translate;	/* required element of type xsd:int */
+	char *position;	/* required element of type xsd:string */
+	char *id;	/* required element of type xsd:string */
+	char *del_USCOREkey;	/* required element of type xsd:string */
+	char *tag;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREusageInputParams
+#define SOAP_TYPE_ns1__codon_USCOREusageInputParams (45)
+/* ns1:codon_usageInputParams */
+struct ns1__codon_USCOREusageInputParams
+{
+	int version;	/* required element of type xsd:int */
+	char *CDSid;	/* required element of type xsd:string */
+	char *output;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__find_USCOREdnaAboxInputParams
+#define SOAP_TYPE_ns1__find_USCOREdnaAboxInputParams (46)
+/* ns1:find_dnaAboxInputParams */
+struct ns1__find_USCOREdnaAboxInputParams
+{
+	char *output;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__ttestInputParams
+#define SOAP_TYPE_ns1__ttestInputParams (47)
+/* ns1:ttestInputParams */
+struct ns1__ttestInputParams
+{
+	int paired;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__seq2pngInputParams
+#define SOAP_TYPE_ns1__seq2pngInputParams (48)
+/* ns1:seq2pngInputParams */
+struct ns1__seq2pngInputParams
+{
+	int width;	/* required element of type xsd:int */
+	int window;	/* required element of type xsd:int */
+	char *output;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__amino_USCOREcounterInputParams
+#define SOAP_TYPE_ns1__amino_USCOREcounterInputParams (49)
+/* ns1:amino_counterInputParams */
+struct ns1__amino_USCOREcounterInputParams
+{
+	char *CDSid;	/* required element of type xsd:string */
+	char *output;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__aauiInputParams
+#define SOAP_TYPE_ns1__aauiInputParams (50)
+/* ns1:aauiInputParams */
+struct ns1__aauiInputParams
+{
+	char *id;	/* required element of type xsd:string */
+	char *tag;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREcompilerInputParams
+#define SOAP_TYPE_ns1__codon_USCOREcompilerInputParams (51)
+/* ns1:codon_compilerInputParams */
+struct ns1__codon_USCOREcompilerInputParams
+{
+	int translate;	/* required element of type xsd:int */
+	char *id;	/* required element of type xsd:string */
+	char *data;	/* required element of type xsd:string */
+	char *output;	/* required element of type xsd:string */
+	char *del_USCOREkey;	/* required element of type xsd:string */
+	int startcodon;	/* required element of type xsd:int */
+	int stopcodon;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderInputParams
+#define SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderInputParams (52)
+/* ns1:over_lapping_finderInputParams */
+struct ns1__over_USCORElapping_USCOREfinderInputParams
+{
+	char *output;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__find_USCOREiteronInputParams
+#define SOAP_TYPE_ns1__find_USCOREiteronInputParams (53)
+/* ns1:find_iteronInputParams */
+struct ns1__find_USCOREiteronInputParams
+{
+	char *output;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__EwInputParams
+#define SOAP_TYPE_ns1__EwInputParams (54)
+/* ns1:EwInputParams */
+struct ns1__EwInputParams
+{
+	int translate;	/* required element of type xsd:int */
+	char *output;	/* required element of type xsd:string */
+	char *del_USCOREkey;	/* required element of type xsd:string */
+	char *tag;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREcounterInputParams
+#define SOAP_TYPE_ns1__codon_USCOREcounterInputParams (55)
+/* ns1:codon_counterInputParams */
+struct ns1__codon_USCOREcounterInputParams
+{
+	char *CDSid;	/* required element of type xsd:string */
+	char *output;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__view_USCOREcdsInputParams
+#define SOAP_TYPE_ns1__view_USCOREcdsInputParams (56)
+/* ns1:view_cdsInputParams */
+struct ns1__view_USCOREcdsInputParams
+{
+	int length;	/* required element of type xsd:int */
+	int gap;	/* required element of type xsd:int */
+	char *output;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyInputParams
+#define SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyInputParams (57)
+/* ns1:base_relative_entropyInputParams */
+struct ns1__base_USCORErelative_USCOREentropyInputParams
+{
+	int upstream;	/* required element of type xsd:int */
+	char *position;	/* required element of type xsd:string */
+	int downstream;	/* required element of type xsd:int */
+	char *output;	/* required element of type xsd:string */
+	int PatLength;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__palindromeInputParams
+#define SOAP_TYPE_ns1__palindromeInputParams (58)
+/* ns1:palindromeInputParams */
+struct ns1__palindromeInputParams
+{
+	int gtmatch;	/* required element of type xsd:int */
+	char *output;	/* required element of type xsd:string */
+	int loop;	/* required element of type xsd:int */
+	int shortest;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__genomicskewInputParams
+#define SOAP_TYPE_ns1__genomicskewInputParams (59)
+/* ns1:genomicskewInputParams */
+struct ns1__genomicskewInputParams
+{
+	int divide;	/* required element of type xsd:int */
+	int at;	/* required element of type xsd:int */
+	char *output;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__query_USCOREstrandInputParams
+#define SOAP_TYPE_ns1__query_USCOREstrandInputParams (60)
+/* ns1:query_strandInputParams */
+struct ns1__query_USCOREstrandInputParams
+{
+	char *direction;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__gcsiInputParams
+#define SOAP_TYPE_ns1__gcsiInputParams (61)
+/* ns1:gcsiInputParams */
+struct ns1__gcsiInputParams
+{
+	int p;	/* required element of type xsd:int */
+	int window;	/* required element of type xsd:int */
+	int version;	/* required element of type xsd:int */
+	int purine;	/* required element of type xsd:int */
+	int at;	/* required element of type xsd:int */
+	int keto;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams
+#define SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams (62)
+/* ns1:filter_cds_by_atgInputParams */
+struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams
+{
+	int upstream;	/* required element of type xsd:int */
+	char *codon;	/* required element of type xsd:string */
+	int downstream;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__caiInputParams
+#define SOAP_TYPE_ns1__caiInputParams (63)
+/* ns1:caiInputParams */
+struct ns1__caiInputParams
+{
+	char *w_USCOREoutput;	/* required element of type xsd:string */
+	int translate;	/* required element of type xsd:int */
+	char *output;	/* required element of type xsd:string */
+	char *w_USCOREfilename;	/* required element of type xsd:string */
+	char *w_USCOREabsent;	/* required element of type xsd:string */
+	char *tag;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__dinucInputParams
+#define SOAP_TYPE_ns1__dinucInputParams (64)
+/* ns1:dinucInputParams */
+struct ns1__dinucInputParams
+{
+	char *position;	/* required element of type xsd:string */
+	char *id;	/* required element of type xsd:string */
+	char *output;	/* required element of type xsd:string */
+	int translate;	/* required element of type xsd:int */
+	char *del_USCOREkey;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__cgrInputParams
+#define SOAP_TYPE_ns1__cgrInputParams (65)
+/* ns1:cgrInputParams */
+struct ns1__cgrInputParams
+{
+	int width;	/* required element of type xsd:int */
+	int level;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__B1InputParams
+#define SOAP_TYPE_ns1__B1InputParams (66)
+/* ns1:B1InputParams */
+struct ns1__B1InputParams
+{
+	char *method;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__base_USCOREcounterInputParams
+#define SOAP_TYPE_ns1__base_USCOREcounterInputParams (67)
+/* ns1:base_counterInputParams */
+struct ns1__base_USCOREcounterInputParams
+{
+	char *position;	/* required element of type xsd:string */
+	int PatLen;	/* required element of type xsd:int */
+	int upstream;	/* required element of type xsd:int */
+	int downstream;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__base_USCOREz_USCOREvalueInputParams
+#define SOAP_TYPE_ns1__base_USCOREz_USCOREvalueInputParams (68)
+/* ns1:base_z_valueInputParams */
+struct ns1__base_USCOREz_USCOREvalueInputParams
+{
+	int limit;	/* required element of type xsd:int */
+	char *position;	/* required element of type xsd:string */
+	int PatLen;	/* required element of type xsd:int */
+	int upstream;	/* required element of type xsd:int */
+	int downstream;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__kmer_USCOREtableInputParams
+#define SOAP_TYPE_ns1__kmer_USCOREtableInputParams (69)
+/* ns1:kmer_tableInputParams */
+struct ns1__kmer_USCOREtableInputParams
+{
+	int k;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__lda_USCOREbiasInputParams
+#define SOAP_TYPE_ns1__lda_USCOREbiasInputParams (70)
+/* ns1:lda_biasInputParams */
+struct ns1__lda_USCOREbiasInputParams
+{
+	char *variable;	/* required element of type xsd:string */
+	int coefficients;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__signatureInputParams
+#define SOAP_TYPE_ns1__signatureInputParams (71)
+/* ns1:signatureInputParams */
+struct ns1__signatureInputParams
+{
+	int wordlength;	/* required element of type xsd:int */
+	int bothstrand;	/* required element of type xsd:int */
+	int oe;	/* required element of type xsd:int */
+	char *seq;	/* required element of type xsd:string */
+	char *memo;	/* required element of type xsd:string */
+	int header;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__scsInputParams
+#define SOAP_TYPE_ns1__scsInputParams (72)
+/* ns1:scsInputParams */
+struct ns1__scsInputParams
+{
+	char *id;	/* required element of type xsd:string */
+	int translate;	/* required element of type xsd:int */
+	char *del_USCOREkey;	/* required element of type xsd:string */
+	char *tag;	/* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__S_USCOREvalueInputParams
+#define SOAP_TYPE_ns1__S_USCOREvalueInputParams (73)
+/* ns1:S_valueInputParams */
+struct ns1__S_USCOREvalueInputParams
+{
+	int sharp;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_arrayIn
+#define SOAP_TYPE_arrayIn (74)
+/* SOAP encoded array of xsd:string schema type: */
+struct arrayIn
+{
+	char **__ptr;
+	int __size;
+};
+#endif
+
+#ifndef SOAP_TYPE_arrayOut
+#define SOAP_TYPE_arrayOut (76)
+/* SOAP encoded array of xsd:string schema type: */
+struct arrayOut
+{
+	char **__ptr;
+	int __size;
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREmvaResponse
+#define SOAP_TYPE_ns1__codon_USCOREmvaResponse (79)
+/* ns1:codon_mvaResponse */
+struct ns1__codon_USCOREmvaResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREmva
+#define SOAP_TYPE_ns1__codon_USCOREmva (80)
+/* ns1:codon_mva */
+struct ns1__codon_USCOREmva
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__codon_USCOREmvaInputParams *_params;	/* optional element of type ns1:codon_mvaInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__P2Response
+#define SOAP_TYPE_ns1__P2Response (83)
+/* ns1:P2Response */
+struct ns1__P2Response
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__P2
+#define SOAP_TYPE_ns1__P2 (84)
+/* ns1:P2 */
+struct ns1__P2
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__P2InputParams *_params;	/* optional element of type ns1:P2InputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__w_USCOREvalueResponse
+#define SOAP_TYPE_ns1__w_USCOREvalueResponse (87)
+/* ns1:w_valueResponse */
+struct ns1__w_USCOREvalueResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__w_USCOREvalue
+#define SOAP_TYPE_ns1__w_USCOREvalue (88)
+/* ns1:w_value */
+struct ns1__w_USCOREvalue
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__w_USCOREvalueInputParams *_params;	/* optional element of type ns1:w_valueInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__splitprintseqResponse
+#define SOAP_TYPE_ns1__splitprintseqResponse (90)
+/* ns1:splitprintseqResponse */
+struct ns1__splitprintseqResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__splitprintseq
+#define SOAP_TYPE_ns1__splitprintseq (91)
+/* ns1:splitprintseq */
+struct ns1__splitprintseq
+{
+	char *_sequence;	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__medianResponse
+#define SOAP_TYPE_ns1__medianResponse (94)
+/* ns1:medianResponse */
+struct ns1__medianResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__median
+#define SOAP_TYPE_ns1__median (95)
+/* ns1:median */
+struct ns1__median
+{
+	struct arrayIn *_array;	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__find_USCOREori_USCOREterResponse
+#define SOAP_TYPE_ns1__find_USCOREori_USCOREterResponse (98)
+/* ns1:find_ori_terResponse */
+struct ns1__find_USCOREori_USCOREterResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__find_USCOREori_USCOREter
+#define SOAP_TYPE_ns1__find_USCOREori_USCOREter (99)
+/* ns1:find_ori_ter */
+struct ns1__find_USCOREori_USCOREter
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__find_USCOREori_USCOREterInputParams *_params;	/* optional element of type ns1:find_ori_terInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__plasmid_USCOREmapResponse
+#define SOAP_TYPE_ns1__plasmid_USCOREmapResponse (102)
+/* ns1:plasmid_mapResponse */
+struct ns1__plasmid_USCOREmapResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__plasmid_USCOREmap
+#define SOAP_TYPE_ns1__plasmid_USCOREmap (103)
+/* ns1:plasmid_map */
+struct ns1__plasmid_USCOREmap
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__plasmid_USCOREmapInputParams *_params;	/* optional element of type ns1:plasmid_mapInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__sumResponse
+#define SOAP_TYPE_ns1__sumResponse (105)
+/* ns1:sumResponse */
+struct ns1__sumResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__sum
+#define SOAP_TYPE_ns1__sum (106)
+/* ns1:sum */
+struct ns1__sum
+{
+	struct arrayIn *_array;	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__nucleotide_USCOREperiodicityResponse
+#define SOAP_TYPE_ns1__nucleotide_USCOREperiodicityResponse (109)
+/* ns1:nucleotide_periodicityResponse */
+struct ns1__nucleotide_USCOREperiodicityResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__nucleotide_USCOREperiodicity
+#define SOAP_TYPE_ns1__nucleotide_USCOREperiodicity (110)
+/* ns1:nucleotide_periodicity */
+struct ns1__nucleotide_USCOREperiodicity
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__nucleotide_USCOREperiodicityInputParams *_params;	/* optional element of type ns1:nucleotide_periodicityInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__varianceResponse
+#define SOAP_TYPE_ns1__varianceResponse (112)
+/* ns1:varianceResponse */
+struct ns1__varianceResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__variance
+#define SOAP_TYPE_ns1__variance (113)
+/* ns1:variance */
+struct ns1__variance
+{
+	struct arrayIn *_array;	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__amino_USCOREinfoResponse
+#define SOAP_TYPE_ns1__amino_USCOREinfoResponse (115)
+/* ns1:amino_infoResponse */
+struct ns1__amino_USCOREinfoResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__amino_USCOREinfo
+#define SOAP_TYPE_ns1__amino_USCOREinfo (116)
+/* ns1:amino_info */
+struct ns1__amino_USCOREinfo
+{
+	char *_sequence;	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__circular_USCOREmapResponse
+#define SOAP_TYPE_ns1__circular_USCOREmapResponse (119)
+/* ns1:circular_mapResponse */
+struct ns1__circular_USCOREmapResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__circular_USCOREmap
+#define SOAP_TYPE_ns1__circular_USCOREmap (120)
+/* ns1:circular_map */
+struct ns1__circular_USCOREmap
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__circular_USCOREmapInputParams *_params;	/* optional element of type ns1:circular_mapInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__togoWSResponse
+#define SOAP_TYPE_ns1__togoWSResponse (123)
+/* ns1:togoWSResponse */
+struct ns1__togoWSResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__togoWS
+#define SOAP_TYPE_ns1__togoWS (124)
+/* ns1:togoWS */
+struct ns1__togoWS
+{
+	char *_query;	/* optional element of type xsd:string */
+	struct ns1__togoWSInputParams *_params;	/* optional element of type ns1:togoWSInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__translateResponse
+#define SOAP_TYPE_ns1__translateResponse (126)
+/* ns1:translateResponse */
+struct ns1__translateResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__translate
+#define SOAP_TYPE_ns1__translate (127)
+/* ns1:translate */
+struct ns1__translate
+{
+	char *_sequence;	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__phxResponse
+#define SOAP_TYPE_ns1__phxResponse (130)
+/* ns1:phxResponse */
+struct ns1__phxResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__phx
+#define SOAP_TYPE_ns1__phx (131)
+/* ns1:phx */
+struct ns1__phx
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__phxInputParams *_params;	/* optional element of type ns1:phxInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__icdiResponse
+#define SOAP_TYPE_ns1__icdiResponse (134)
+/* ns1:icdiResponse */
+struct ns1__icdiResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__icdi
+#define SOAP_TYPE_ns1__icdi (135)
+/* ns1:icdi */
+struct ns1__icdi
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__icdiInputParams *_params;	/* optional element of type ns1:icdiInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__encResponse
+#define SOAP_TYPE_ns1__encResponse (138)
+/* ns1:encResponse */
+struct ns1__encResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__enc
+#define SOAP_TYPE_ns1__enc (139)
+/* ns1:enc */
+struct ns1__enc
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__encInputParams *_params;	/* optional element of type ns1:encInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__fopResponse
+#define SOAP_TYPE_ns1__fopResponse (142)
+/* ns1:fopResponse */
+struct ns1__fopResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__fop
+#define SOAP_TYPE_ns1__fop (143)
+/* ns1:fop */
+struct ns1__fop
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__fopInputParams *_params;	/* optional element of type ns1:fopInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__buiResponse
+#define SOAP_TYPE_ns1__buiResponse (146)
+/* ns1:buiResponse */
+struct ns1__buiResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__bui
+#define SOAP_TYPE_ns1__bui (147)
+/* ns1:bui */
+struct ns1__bui
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__buiInputParams *_params;	/* optional element of type ns1:buiInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__dist_USCOREin_USCOREccResponse
+#define SOAP_TYPE_ns1__dist_USCOREin_USCOREccResponse (149)
+/* ns1:dist_in_ccResponse */
+struct ns1__dist_USCOREin_USCOREccResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__dist_USCOREin_USCOREcc
+#define SOAP_TYPE_ns1__dist_USCOREin_USCOREcc (150)
+/* ns1:dist_in_cc */
+struct ns1__dist_USCOREin_USCOREcc
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	int _position1;	/* required element of type xsd:int */
+	int _position2;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__find_USCOREdnaAboxResponse
+#define SOAP_TYPE_ns1__find_USCOREdnaAboxResponse (153)
+/* ns1:find_dnaAboxResponse */
+struct ns1__find_USCOREdnaAboxResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__find_USCOREdnaAbox
+#define SOAP_TYPE_ns1__find_USCOREdnaAbox (154)
+/* ns1:find_dnaAbox */
+struct ns1__find_USCOREdnaAbox
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__find_USCOREdnaAboxInputParams *_params;	/* optional element of type ns1:find_dnaAboxInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__ttestResponse
+#define SOAP_TYPE_ns1__ttestResponse (155)
+/* ns1:ttestResponse */
+struct ns1__ttestResponse
+{
+	struct arrayOut *_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__ttest
+#define SOAP_TYPE_ns1__ttest (160)
+/* ns1:ttest */
+struct ns1__ttest
+{
+	struct arrayIn *_array1;	/* optional element of type ArrayOfstring */
+	struct arrayIn *_array2;	/* optional element of type ArrayOfstring */
+	struct ns1__ttestInputParams *_params;	/* optional element of type ns1:ttestInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__seq2pngResponse
+#define SOAP_TYPE_ns1__seq2pngResponse (163)
+/* ns1:seq2pngResponse */
+struct ns1__seq2pngResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__seq2png
+#define SOAP_TYPE_ns1__seq2png (164)
+/* ns1:seq2png */
+struct ns1__seq2png
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__seq2pngInputParams *_params;	/* optional element of type ns1:seq2pngInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__amino_USCOREcounterResponse
+#define SOAP_TYPE_ns1__amino_USCOREcounterResponse (167)
+/* ns1:amino_counterResponse */
+struct ns1__amino_USCOREcounterResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__amino_USCOREcounter
+#define SOAP_TYPE_ns1__amino_USCOREcounter (168)
+/* ns1:amino_counter */
+struct ns1__amino_USCOREcounter
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__amino_USCOREcounterInputParams *_params;	/* optional element of type ns1:amino_counterInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__aauiResponse
+#define SOAP_TYPE_ns1__aauiResponse (171)
+/* ns1:aauiResponse */
+struct ns1__aauiResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__aaui
+#define SOAP_TYPE_ns1__aaui (172)
+/* ns1:aaui */
+struct ns1__aaui
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__aauiInputParams *_params;	/* optional element of type ns1:aauiInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREcompilerResponse
+#define SOAP_TYPE_ns1__codon_USCOREcompilerResponse (175)
+/* ns1:codon_compilerResponse */
+struct ns1__codon_USCOREcompilerResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREcompiler
+#define SOAP_TYPE_ns1__codon_USCOREcompiler (176)
+/* ns1:codon_compiler */
+struct ns1__codon_USCOREcompiler
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__codon_USCOREcompilerInputParams *_params;	/* optional element of type ns1:codon_compilerInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderResponse
+#define SOAP_TYPE_ns1__over_USCORElapping_USCOREfinderResponse (179)
+/* ns1:over_lapping_finderResponse */
+struct ns1__over_USCORElapping_USCOREfinderResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__over_USCORElapping_USCOREfinder
+#define SOAP_TYPE_ns1__over_USCORElapping_USCOREfinder (180)
+/* ns1:over_lapping_finder */
+struct ns1__over_USCORElapping_USCOREfinder
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__over_USCORElapping_USCOREfinderInputParams *_params;	/* optional element of type ns1:over_lapping_finderInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__EwResponse
+#define SOAP_TYPE_ns1__EwResponse (183)
+/* ns1:EwResponse */
+struct ns1__EwResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__Ew
+#define SOAP_TYPE_ns1__Ew (184)
+/* ns1:Ew */
+struct ns1__Ew
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__EwInputParams *_params;	/* optional element of type ns1:EwInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyResponse
+#define SOAP_TYPE_ns1__base_USCORErelative_USCOREentropyResponse (187)
+/* ns1:base_relative_entropyResponse */
+struct ns1__base_USCORErelative_USCOREentropyResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__base_USCORErelative_USCOREentropy
+#define SOAP_TYPE_ns1__base_USCORErelative_USCOREentropy (188)
+/* ns1:base_relative_entropy */
+struct ns1__base_USCORErelative_USCOREentropy
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__base_USCORErelative_USCOREentropyInputParams *_params;	/* optional element of type ns1:base_relative_entropyInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__view_USCOREcdsResponse
+#define SOAP_TYPE_ns1__view_USCOREcdsResponse (191)
+/* ns1:view_cdsResponse */
+struct ns1__view_USCOREcdsResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__view_USCOREcds
+#define SOAP_TYPE_ns1__view_USCOREcds (192)
+/* ns1:view_cds */
+struct ns1__view_USCOREcds
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__view_USCOREcdsInputParams *_params;	/* optional element of type ns1:view_cdsInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__query_USCOREstrandResponse
+#define SOAP_TYPE_ns1__query_USCOREstrandResponse (195)
+/* ns1:query_strandResponse */
+struct ns1__query_USCOREstrandResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__query_USCOREstrand
+#define SOAP_TYPE_ns1__query_USCOREstrand (196)
+/* ns1:query_strand */
+struct ns1__query_USCOREstrand
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	int _position;	/* required element of type xsd:int */
+	struct ns1__query_USCOREstrandInputParams *_params;	/* optional element of type ns1:query_strandInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__genomicskewResponse
+#define SOAP_TYPE_ns1__genomicskewResponse (199)
+/* ns1:genomicskewResponse */
+struct ns1__genomicskewResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__genomicskew
+#define SOAP_TYPE_ns1__genomicskew (200)
+/* ns1:genomicskew */
+struct ns1__genomicskew
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__genomicskewInputParams *_params;	/* optional element of type ns1:genomicskewInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse
+#define SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatgResponse (201)
+/* ns1:filter_cds_by_atgResponse */
+struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse
+{
+	struct arrayOut *_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatg
+#define SOAP_TYPE_ns1__filter_USCOREcds_USCOREby_USCOREatg (205)
+/* ns1:filter_cds_by_atg */
+struct ns1__filter_USCOREcds_USCOREby_USCOREatg
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *_params;	/* optional element of type ns1:filter_cds_by_atgInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__gcsiResponse
+#define SOAP_TYPE_ns1__gcsiResponse (208)
+/* ns1:gcsiResponse */
+struct ns1__gcsiResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__gcsi
+#define SOAP_TYPE_ns1__gcsi (209)
+/* ns1:gcsi */
+struct ns1__gcsi
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__gcsiInputParams *_params;	/* optional element of type ns1:gcsiInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__caiResponse
+#define SOAP_TYPE_ns1__caiResponse (212)
+/* ns1:caiResponse */
+struct ns1__caiResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__cai
+#define SOAP_TYPE_ns1__cai (213)
+/* ns1:cai */
+struct ns1__cai
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__caiInputParams *_params;	/* optional element of type ns1:caiInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__maxdexResponse
+#define SOAP_TYPE_ns1__maxdexResponse (215)
+/* ns1:maxdexResponse */
+struct ns1__maxdexResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__maxdex
+#define SOAP_TYPE_ns1__maxdex (216)
+/* ns1:maxdex */
+struct ns1__maxdex
+{
+	struct arrayIn *_array;	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__maxResponse
+#define SOAP_TYPE_ns1__maxResponse (218)
+/* ns1:maxResponse */
+struct ns1__maxResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__max
+#define SOAP_TYPE_ns1__max (219)
+/* ns1:max */
+struct ns1__max
+{
+	struct arrayIn *_array;	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__query_USCOREarmResponse
+#define SOAP_TYPE_ns1__query_USCOREarmResponse (221)
+/* ns1:query_armResponse */
+struct ns1__query_USCOREarmResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__query_USCOREarm
+#define SOAP_TYPE_ns1__query_USCOREarm (222)
+/* ns1:query_arm */
+struct ns1__query_USCOREarm
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	int _position;	/* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__mindexResponse
+#define SOAP_TYPE_ns1__mindexResponse (224)
+/* ns1:mindexResponse */
+struct ns1__mindexResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__mindex
+#define SOAP_TYPE_ns1__mindex (225)
+/* ns1:mindex */
+struct ns1__mindex
+{
+	struct arrayIn *_array;	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__consensus_USCOREzResponse
+#define SOAP_TYPE_ns1__consensus_USCOREzResponse (228)
+/* ns1:consensus_zResponse */
+struct ns1__consensus_USCOREzResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__consensus_USCOREz
+#define SOAP_TYPE_ns1__consensus_USCOREz (229)
+/* ns1:consensus_z */
+struct ns1__consensus_USCOREz
+{
+	struct arrayIn *_array_USCOREseq;	/* optional element of type ArrayOfstring */
+	struct ns1__consensus_USCOREzInputParams *_params;	/* optional element of type ns1:consensus_zInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__genome_USCOREmapResponse
+#define SOAP_TYPE_ns1__genome_USCOREmapResponse (232)
+/* ns1:genome_mapResponse */
+struct ns1__genome_USCOREmapResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__genome_USCOREmap
+#define SOAP_TYPE_ns1__genome_USCOREmap (233)
+/* ns1:genome_map */
+struct ns1__genome_USCOREmap
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__genome_USCOREmapInputParams *_params;	/* optional element of type ns1:genome_mapInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__longest_USCOREORFResponse
+#define SOAP_TYPE_ns1__longest_USCOREORFResponse (235)
+/* ns1:longest_ORFResponse */
+struct ns1__longest_USCOREORFResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__longest_USCOREORF
+#define SOAP_TYPE_ns1__longest_USCOREORF (236)
+/* ns1:longest_ORF */
+struct ns1__longest_USCOREORF
+{
+	char *_sequence;	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__rep_USCOREori_USCOREterResponse
+#define SOAP_TYPE_ns1__rep_USCOREori_USCOREterResponse (239)
+/* ns1:rep_ori_terResponse */
+struct ns1__rep_USCOREori_USCOREterResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__rep_USCOREori_USCOREter
+#define SOAP_TYPE_ns1__rep_USCOREori_USCOREter (240)
+/* ns1:rep_ori_ter */
+struct ns1__rep_USCOREori_USCOREter
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__rep_USCOREori_USCOREterInputParams *_params;	/* optional element of type ns1:rep_ori_terInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__calc_USCOREpIResponse
+#define SOAP_TYPE_ns1__calc_USCOREpIResponse (242)
+/* ns1:calc_pIResponse */
+struct ns1__calc_USCOREpIResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__calc_USCOREpI
+#define SOAP_TYPE_ns1__calc_USCOREpI (243)
+/* ns1:calc_pI */
+struct ns1__calc_USCOREpI
+{
+	char *_sequence;	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__DoubleHelixResponse
+#define SOAP_TYPE_ns1__DoubleHelixResponse (246)
+/* ns1:DoubleHelixResponse */
+struct ns1__DoubleHelixResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__DoubleHelix
+#define SOAP_TYPE_ns1__DoubleHelix (247)
+/* ns1:DoubleHelix */
+struct ns1__DoubleHelix
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__DoubleHelixInputParams *_params;	/* optional element of type ns1:DoubleHelixInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__base_USCOREentropyResponse
+#define SOAP_TYPE_ns1__base_USCOREentropyResponse (250)
+/* ns1:base_entropyResponse */
+struct ns1__base_USCOREentropyResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__base_USCOREentropy
+#define SOAP_TYPE_ns1__base_USCOREentropy (251)
+/* ns1:base_entropy */
+struct ns1__base_USCOREentropy
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__base_USCOREentropyInputParams *_params;	/* optional element of type ns1:base_entropyInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__to_USCOREfastaResponse
+#define SOAP_TYPE_ns1__to_USCOREfastaResponse (254)
+/* ns1:to_fastaResponse */
+struct ns1__to_USCOREfastaResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__to_USCOREfasta
+#define SOAP_TYPE_ns1__to_USCOREfasta (255)
+/* ns1:to_fasta */
+struct ns1__to_USCOREfasta
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__to_USCOREfastaInputParams *_params;	/* optional element of type ns1:to_fastaInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__find_USCOREdifResponse
+#define SOAP_TYPE_ns1__find_USCOREdifResponse (256)
+/* ns1:find_difResponse */
+struct ns1__find_USCOREdifResponse
+{
+	struct arrayOut *_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__find_USCOREdif
+#define SOAP_TYPE_ns1__find_USCOREdif (260)
+/* ns1:find_dif */
+struct ns1__find_USCOREdif
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__find_USCOREdifInputParams *_params;	/* optional element of type ns1:find_difInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__cbiResponse
+#define SOAP_TYPE_ns1__cbiResponse (263)
+/* ns1:cbiResponse */
+struct ns1__cbiResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__cbi
+#define SOAP_TYPE_ns1__cbi (264)
+/* ns1:cbi */
+struct ns1__cbi
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__cbiInputParams *_params;	/* optional element of type ns1:cbiInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriResponse
+#define SOAP_TYPE_ns1__genes_USCOREfrom_USCOREoriResponse (265)
+/* ns1:genes_from_oriResponse */
+struct ns1__genes_USCOREfrom_USCOREoriResponse
+{
+	struct arrayOut *_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__genes_USCOREfrom_USCOREori
+#define SOAP_TYPE_ns1__genes_USCOREfrom_USCOREori (269)
+/* ns1:genes_from_ori */
+struct ns1__genes_USCOREfrom_USCOREori
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	char *_direction;	/* optional element of type xsd:string */
+	struct ns1__genes_USCOREfrom_USCOREoriInputParams *_params;	/* optional element of type ns1:genes_from_oriInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__geneskewResponse
+#define SOAP_TYPE_ns1__geneskewResponse (272)
+/* ns1:geneskewResponse */
+struct ns1__geneskewResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__geneskew
+#define SOAP_TYPE_ns1__geneskew (273)
+/* ns1:geneskew */
+struct ns1__geneskew
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__geneskewInputParams *_params;	/* optional element of type ns1:geneskewInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__standard_USCOREdeviationResponse
+#define SOAP_TYPE_ns1__standard_USCOREdeviationResponse (275)
+/* ns1:standard_deviationResponse */
+struct ns1__standard_USCOREdeviationResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__standard_USCOREdeviation
+#define SOAP_TYPE_ns1__standard_USCOREdeviation (276)
+/* ns1:standard_deviation */
+struct ns1__standard_USCOREdeviation
+{
+	struct arrayIn *_array;	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__corResponse
+#define SOAP_TYPE_ns1__corResponse (277)
+/* ns1:corResponse */
+struct ns1__corResponse
+{
+	struct arrayOut *_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__cor
+#define SOAP_TYPE_ns1__cor (281)
+/* ns1:cor */
+struct ns1__cor
+{
+	struct arrayIn *_array1;	/* optional element of type ArrayOfstring */
+	struct arrayIn *_array2;	/* optional element of type ArrayOfstring */
+	struct ns1__corInputParams *_params;	/* optional element of type ns1:corInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__cumulativeResponse
+#define SOAP_TYPE_ns1__cumulativeResponse (282)
+/* ns1:cumulativeResponse */
+struct ns1__cumulativeResponse
+{
+	struct arrayOut *_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__cumulative
+#define SOAP_TYPE_ns1__cumulative (285)
+/* ns1:cumulative */
+struct ns1__cumulative
+{
+	struct arrayIn *_array;	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__delta_USCOREencResponse
+#define SOAP_TYPE_ns1__delta_USCOREencResponse (287)
+/* ns1:delta_encResponse */
+struct ns1__delta_USCOREencResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__delta_USCOREenc
+#define SOAP_TYPE_ns1__delta_USCOREenc (288)
+/* ns1:delta_enc */
+struct ns1__delta_USCOREenc
+{
+	char *_sequence;	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__delta_USCOREgcskewResponse
+#define SOAP_TYPE_ns1__delta_USCOREgcskewResponse (291)
+/* ns1:delta_gcskewResponse */
+struct ns1__delta_USCOREgcskewResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__delta_USCOREgcskew
+#define SOAP_TYPE_ns1__delta_USCOREgcskew (292)
+/* ns1:delta_gcskew */
+struct ns1__delta_USCOREgcskew
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__delta_USCOREgcskewInputParams *_params;	/* optional element of type ns1:delta_gcskewInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__molecular_USCOREweightResponse
+#define SOAP_TYPE_ns1__molecular_USCOREweightResponse (295)
+/* ns1:molecular_weightResponse */
+struct ns1__molecular_USCOREweightResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__molecular_USCOREweight
+#define SOAP_TYPE_ns1__molecular_USCOREweight (296)
+/* ns1:molecular_weight */
+struct ns1__molecular_USCOREweight
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__molecular_USCOREweightInputParams *_params;	/* optional element of type ns1:molecular_weightInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__gcskewResponse
+#define SOAP_TYPE_ns1__gcskewResponse (299)
+/* ns1:gcskewResponse */
+struct ns1__gcskewResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__gcskew
+#define SOAP_TYPE_ns1__gcskew (300)
+/* ns1:gcskew */
+struct ns1__gcskew
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__gcskewInputParams *_params;	/* optional element of type ns1:gcskewInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__genome_USCOREmap3Response
+#define SOAP_TYPE_ns1__genome_USCOREmap3Response (303)
+/* ns1:genome_map3Response */
+struct ns1__genome_USCOREmap3Response
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__genome_USCOREmap3
+#define SOAP_TYPE_ns1__genome_USCOREmap3 (304)
+/* ns1:genome_map3 */
+struct ns1__genome_USCOREmap3
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__genome_USCOREmap3InputParams *_params;	/* optional element of type ns1:genome_map3InputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__seqinfoResponse
+#define SOAP_TYPE_ns1__seqinfoResponse (306)
+/* ns1:seqinfoResponse */
+struct ns1__seqinfoResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__seqinfo
+#define SOAP_TYPE_ns1__seqinfo (307)
+/* ns1:seqinfo */
+struct ns1__seqinfo
+{
+	char *_sequence;	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__signatureResponse
+#define SOAP_TYPE_ns1__signatureResponse (310)
+/* ns1:signatureResponse */
+struct ns1__signatureResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__signature
+#define SOAP_TYPE_ns1__signature (311)
+/* ns1:signature */
+struct ns1__signature
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__signatureInputParams *_params;	/* optional element of type ns1:signatureInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentResponse
+#define SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontentResponse (314)
+/* ns1:base_information_contentResponse */
+struct ns1__base_USCOREinformation_USCOREcontentResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontent
+#define SOAP_TYPE_ns1__base_USCOREinformation_USCOREcontent (315)
+/* ns1:base_information_content */
+struct ns1__base_USCOREinformation_USCOREcontent
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__base_USCOREinformation_USCOREcontentInputParams *_params;	/* optional element of type ns1:base_information_contentInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__dnawalkResponse
+#define SOAP_TYPE_ns1__dnawalkResponse (318)
+/* ns1:dnawalkResponse */
+struct ns1__dnawalkResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__dnawalk
+#define SOAP_TYPE_ns1__dnawalk (319)
+/* ns1:dnawalk */
+struct ns1__dnawalk
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__dnawalkInputParams *_params;	/* optional element of type ns1:dnawalkInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__find_USCOREterResponse
+#define SOAP_TYPE_ns1__find_USCOREterResponse (320)
+/* ns1:find_terResponse */
+struct ns1__find_USCOREterResponse
+{
+	struct arrayOut *_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__find_USCOREter
+#define SOAP_TYPE_ns1__find_USCOREter (324)
+/* ns1:find_ter */
+struct ns1__find_USCOREter
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__find_USCOREterInputParams *_params;	/* optional element of type ns1:find_terInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__shuffleseqResponse
+#define SOAP_TYPE_ns1__shuffleseqResponse (327)
+/* ns1:shuffleseqResponse */
+struct ns1__shuffleseqResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__shuffleseq
+#define SOAP_TYPE_ns1__shuffleseq (328)
+/* ns1:shuffleseq */
+struct ns1__shuffleseq
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__shuffleseqInputParams *_params;	/* optional element of type ns1:shuffleseqInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__oligomer_USCOREsearchResponse
+#define SOAP_TYPE_ns1__oligomer_USCOREsearchResponse (329)
+/* ns1:oligomer_searchResponse */
+struct ns1__oligomer_USCOREsearchResponse
+{
+	struct arrayOut *_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__oligomer_USCOREsearch
+#define SOAP_TYPE_ns1__oligomer_USCOREsearch (333)
+/* ns1:oligomer_search */
+struct ns1__oligomer_USCOREsearch
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	char *_oligomer;	/* optional element of type xsd:string */
+	struct ns1__oligomer_USCOREsearchInputParams *_params;	/* optional element of type ns1:oligomer_searchInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__find_USCOREpatternResponse
+#define SOAP_TYPE_ns1__find_USCOREpatternResponse (336)
+/* ns1:find_patternResponse */
+struct ns1__find_USCOREpatternResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__find_USCOREpattern
+#define SOAP_TYPE_ns1__find_USCOREpattern (337)
+/* ns1:find_pattern */
+struct ns1__find_USCOREpattern
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	char *_pattern;	/* optional element of type xsd:string */
+	struct ns1__find_USCOREpatternInputParams *_params;	/* optional element of type ns1:find_patternInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__gcwinResponse
+#define SOAP_TYPE_ns1__gcwinResponse (340)
+/* ns1:gcwinResponse */
+struct ns1__gcwinResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__gcwin
+#define SOAP_TYPE_ns1__gcwin (341)
+/* ns1:gcwin */
+struct ns1__gcwin
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__gcwinInputParams *_params;	/* optional element of type ns1:gcwinInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__oligomer_USCOREcounterResponse
+#define SOAP_TYPE_ns1__oligomer_USCOREcounterResponse (344)
+/* ns1:oligomer_counterResponse */
+struct ns1__oligomer_USCOREcounterResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__oligomer_USCOREcounter
+#define SOAP_TYPE_ns1__oligomer_USCOREcounter (345)
+/* ns1:oligomer_counter */
+struct ns1__oligomer_USCOREcounter
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	char *_oligomer;	/* optional element of type xsd:string */
+	struct ns1__oligomer_USCOREcounterInputParams *_params;	/* optional element of type ns1:oligomer_counterInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREusageResponse
+#define SOAP_TYPE_ns1__codon_USCOREusageResponse (348)
+/* ns1:codon_usageResponse */
+struct ns1__codon_USCOREusageResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREusage
+#define SOAP_TYPE_ns1__codon_USCOREusage (349)
+/* ns1:codon_usage */
+struct ns1__codon_USCOREusage
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__codon_USCOREusageInputParams *_params;	/* optional element of type ns1:codon_usageInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__minResponse
+#define SOAP_TYPE_ns1__minResponse (351)
+/* ns1:minResponse */
+struct ns1__minResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__min
+#define SOAP_TYPE_ns1__min (352)
+/* ns1:min */
+struct ns1__min
+{
+	struct arrayIn *_array;	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__find_USCOREiteronResponse
+#define SOAP_TYPE_ns1__find_USCOREiteronResponse (355)
+/* ns1:find_iteronResponse */
+struct ns1__find_USCOREiteronResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__find_USCOREiteron
+#define SOAP_TYPE_ns1__find_USCOREiteron (356)
+/* ns1:find_iteron */
+struct ns1__find_USCOREiteron
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__find_USCOREiteronInputParams *_params;	/* optional element of type ns1:find_iteronInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__complementResponse
+#define SOAP_TYPE_ns1__complementResponse (358)
+/* ns1:complementResponse */
+struct ns1__complementResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__complement
+#define SOAP_TYPE_ns1__complement (359)
+/* ns1:complement */
+struct ns1__complement
+{
+	char *_sequence;	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__meanResponse
+#define SOAP_TYPE_ns1__meanResponse (361)
+/* ns1:meanResponse */
+struct ns1__meanResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__mean
+#define SOAP_TYPE_ns1__mean (362)
+/* ns1:mean */
+struct ns1__mean
+{
+	struct arrayIn *_array;	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREcounterResponse
+#define SOAP_TYPE_ns1__codon_USCOREcounterResponse (365)
+/* ns1:codon_counterResponse */
+struct ns1__codon_USCOREcounterResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__codon_USCOREcounter
+#define SOAP_TYPE_ns1__codon_USCOREcounter (366)
+/* ns1:codon_counter */
+struct ns1__codon_USCOREcounter
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__codon_USCOREcounterInputParams *_params;	/* optional element of type ns1:codon_counterInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__entrezResponse
+#define SOAP_TYPE_ns1__entrezResponse (368)
+/* ns1:entrezResponse */
+struct ns1__entrezResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__entrez
+#define SOAP_TYPE_ns1__entrez (369)
+/* ns1:entrez */
+struct ns1__entrez
+{
+	char *_database;	/* optional element of type xsd:string */
+	char *_query;	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__palindromeResponse
+#define SOAP_TYPE_ns1__palindromeResponse (372)
+/* ns1:palindromeResponse */
+struct ns1__palindromeResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__palindrome
+#define SOAP_TYPE_ns1__palindrome (373)
+/* ns1:palindrome */
+struct ns1__palindrome
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__palindromeInputParams *_params;	/* optional element of type ns1:palindromeInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__least_USCOREsquares_USCOREfitResponse
+#define SOAP_TYPE_ns1__least_USCOREsquares_USCOREfitResponse (374)
+/* ns1:least_squares_fitResponse */
+struct ns1__least_USCOREsquares_USCOREfitResponse
+{
+	struct arrayOut *_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__least_USCOREsquares_USCOREfit
+#define SOAP_TYPE_ns1__least_USCOREsquares_USCOREfit (377)
+/* ns1:least_squares_fit */
+struct ns1__least_USCOREsquares_USCOREfit
+{
+	struct arrayIn *_array;	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__dinucResponse
+#define SOAP_TYPE_ns1__dinucResponse (380)
+/* ns1:dinucResponse */
+struct ns1__dinucResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__dinuc
+#define SOAP_TYPE_ns1__dinuc (381)
+/* ns1:dinuc */
+struct ns1__dinuc
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__dinucInputParams *_params;	/* optional element of type ns1:dinucInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__cgrResponse
+#define SOAP_TYPE_ns1__cgrResponse (384)
+/* ns1:cgrResponse */
+struct ns1__cgrResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__cgr
+#define SOAP_TYPE_ns1__cgr (385)
+/* ns1:cgr */
+struct ns1__cgr
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__cgrInputParams *_params;	/* optional element of type ns1:cgrInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__B1Response
+#define SOAP_TYPE_ns1__B1Response (388)
+/* ns1:B1Response */
+struct ns1__B1Response
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__B1
+#define SOAP_TYPE_ns1__B1 (389)
+/* ns1:B1 */
+struct ns1__B1
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__B1InputParams *_params;	/* optional element of type ns1:B1InputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__B2Response
+#define SOAP_TYPE_ns1__B2Response (391)
+/* ns1:B2Response */
+struct ns1__B2Response
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__B2
+#define SOAP_TYPE_ns1__B2 (392)
+/* ns1:B2 */
+struct ns1__B2
+{
+	char *_sequence;	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__base_USCOREcounterResponse
+#define SOAP_TYPE_ns1__base_USCOREcounterResponse (395)
+/* ns1:base_counterResponse */
+struct ns1__base_USCOREcounterResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__base_USCOREcounter
+#define SOAP_TYPE_ns1__base_USCOREcounter (396)
+/* ns1:base_counter */
+struct ns1__base_USCOREcounter
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__base_USCOREcounterInputParams *_params;	/* optional element of type ns1:base_counterInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__base_USCOREz_USCOREvalueResponse
+#define SOAP_TYPE_ns1__base_USCOREz_USCOREvalueResponse (399)
+/* ns1:base_z_valueResponse */
+struct ns1__base_USCOREz_USCOREvalueResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__base_USCOREz_USCOREvalue
+#define SOAP_TYPE_ns1__base_USCOREz_USCOREvalue (400)
+/* ns1:base_z_value */
+struct ns1__base_USCOREz_USCOREvalue
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__base_USCOREz_USCOREvalueInputParams *_params;	/* optional element of type ns1:base_z_valueInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__kmer_USCOREtableResponse
+#define SOAP_TYPE_ns1__kmer_USCOREtableResponse (403)
+/* ns1:kmer_tableResponse */
+struct ns1__kmer_USCOREtableResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__kmer_USCOREtable
+#define SOAP_TYPE_ns1__kmer_USCOREtable (404)
+/* ns1:kmer_table */
+struct ns1__kmer_USCOREtable
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__kmer_USCOREtableInputParams *_params;	/* optional element of type ns1:kmer_tableInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__lda_USCOREbiasResponse
+#define SOAP_TYPE_ns1__lda_USCOREbiasResponse (407)
+/* ns1:lda_biasResponse */
+struct ns1__lda_USCOREbiasResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__lda_USCOREbias
+#define SOAP_TYPE_ns1__lda_USCOREbias (408)
+/* ns1:lda_bias */
+struct ns1__lda_USCOREbias
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__lda_USCOREbiasInputParams *_params;	/* optional element of type ns1:lda_biasInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__scsResponse
+#define SOAP_TYPE_ns1__scsResponse (411)
+/* ns1:scsResponse */
+struct ns1__scsResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__scs
+#define SOAP_TYPE_ns1__scs (412)
+/* ns1:scs */
+struct ns1__scs
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__scsInputParams *_params;	/* optional element of type ns1:scsInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__leading_USCOREstrandResponse
+#define SOAP_TYPE_ns1__leading_USCOREstrandResponse (413)
+/* ns1:leading_strandResponse */
+struct ns1__leading_USCOREstrandResponse
+{
+	struct arrayOut *_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type ArrayOfstring */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__leading_USCOREstrand
+#define SOAP_TYPE_ns1__leading_USCOREstrand (416)
+/* ns1:leading_strand */
+struct ns1__leading_USCOREstrand
+{
+	char *_sequence;	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__S_USCOREvalueResponse
+#define SOAP_TYPE_ns1__S_USCOREvalueResponse (419)
+/* ns1:S_valueResponse */
+struct ns1__S_USCOREvalueResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__S_USCOREvalue
+#define SOAP_TYPE_ns1__S_USCOREvalue (420)
+/* ns1:S_value */
+struct ns1__S_USCOREvalue
+{
+	char *_sequence;	/* optional element of type xsd:string */
+	struct ns1__S_USCOREvalueInputParams *_params;	/* optional element of type ns1:S_valueInputParams */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__helpResponse
+#define SOAP_TYPE_ns1__helpResponse (422)
+/* ns1:helpResponse */
+struct ns1__helpResponse
+{
+	char **_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__help
+#define SOAP_TYPE_ns1__help (423)
+/* ns1:help */
+struct ns1__help
+{
+	char *_keywords;	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__hydropathyResponse
+#define SOAP_TYPE_ns1__hydropathyResponse (427)
+/* ns1:hydropathyResponse */
+struct ns1__hydropathyResponse
+{
+	float *_result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* optional element of type xsd:float */
+};
+#endif
+
+#ifndef SOAP_TYPE_ns1__hydropathy
+#define SOAP_TYPE_ns1__hydropathy (428)
+/* ns1:hydropathy */
+struct ns1__hydropathy
+{
+	char *_sequence;	/* optional element of type xsd:string */
+};
+#endif
+
+#ifndef WITH_NOGLOBAL
+
+#ifndef SOAP_TYPE_SOAP_ENV__Header
+#define SOAP_TYPE_SOAP_ENV__Header (429)
+/* SOAP Header: */
+struct SOAP_ENV__Header
+{
+#ifdef WITH_NOEMPTYSTRUCT
+	char dummy;	/* dummy member to enable compilation */
+#endif
+};
+#endif
+
+#endif
+
+#ifndef WITH_NOGLOBAL
+
+#ifndef SOAP_TYPE_SOAP_ENV__Code
+#define SOAP_TYPE_SOAP_ENV__Code (430)
+/* SOAP Fault Code: */
+struct SOAP_ENV__Code
+{
+	char *SOAP_ENV__Value;	/* optional element of type xsd:QName */
+	struct SOAP_ENV__Code *SOAP_ENV__Subcode;	/* optional element of type SOAP-ENV:Code */
+};
+#endif
+
+#endif
+
+#ifndef WITH_NOGLOBAL
+
+#ifndef SOAP_TYPE_SOAP_ENV__Detail
+#define SOAP_TYPE_SOAP_ENV__Detail (432)
+/* SOAP-ENV:Detail */
+struct SOAP_ENV__Detail
+{
+	char *__any;
+	int __type;	/* any type of element <fault> (defined below) */
+	void *fault;	/* transient */
+};
+#endif
+
+#endif
+
+#ifndef WITH_NOGLOBAL
+
+#ifndef SOAP_TYPE_SOAP_ENV__Reason
+#define SOAP_TYPE_SOAP_ENV__Reason (435)
+/* SOAP-ENV:Reason */
+struct SOAP_ENV__Reason
+{
+	char *SOAP_ENV__Text;	/* optional element of type xsd:string */
+};
+#endif
+
+#endif
+
+#ifndef WITH_NOGLOBAL
+
+#ifndef SOAP_TYPE_SOAP_ENV__Fault
+#define SOAP_TYPE_SOAP_ENV__Fault (436)
+/* SOAP Fault: */
+struct SOAP_ENV__Fault
+{
+	char *faultcode;	/* optional element of type xsd:QName */
+	char *faultstring;	/* optional element of type xsd:string */
+	char *faultactor;	/* optional element of type xsd:string */
+	struct SOAP_ENV__Detail *detail;	/* optional element of type SOAP-ENV:Detail */
+	struct SOAP_ENV__Code *SOAP_ENV__Code;	/* optional element of type SOAP-ENV:Code */
+	struct SOAP_ENV__Reason *SOAP_ENV__Reason;	/* optional element of type SOAP-ENV:Reason */
+	char *SOAP_ENV__Node;	/* optional element of type xsd:string */
+	char *SOAP_ENV__Role;	/* optional element of type xsd:string */
+	struct SOAP_ENV__Detail *SOAP_ENV__Detail;	/* optional element of type SOAP-ENV:Detail */
+};
+#endif
+
+#endif
+
+/******************************************************************************\
+ *                                                                            *
+ * Typedefs                                                                   *
+ *                                                                            *
+\******************************************************************************/
+
+#ifndef SOAP_TYPE__QName
+#define SOAP_TYPE__QName (5)
+typedef char *_QName;
+#endif
+
+#ifndef SOAP_TYPE__XML
+#define SOAP_TYPE__XML (6)
+typedef char *_XML;
+#endif
+
+
+/******************************************************************************\
+ *                                                                            *
+ * Externals                                                                  *
+ *                                                                            *
+\******************************************************************************/
+
+
+/******************************************************************************\
+ *                                                                            *
+ * Server-Side Operations                                                     *
+ *                                                                            *
+\******************************************************************************/
+
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__codon_USCOREmva(struct soap*, char *_sequence, struct ns1__codon_USCOREmvaInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__P2(struct soap*, char *_sequence, struct ns1__P2InputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__w_USCOREvalue(struct soap*, char *_sequence, struct ns1__w_USCOREvalueInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__splitprintseq(struct soap*, char *_sequence, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__median(struct soap*, struct arrayIn *_array, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__find_USCOREori_USCOREter(struct soap*, char *_sequence, struct ns1__find_USCOREori_USCOREterInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__plasmid_USCOREmap(struct soap*, char *_sequence, struct ns1__plasmid_USCOREmapInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__sum(struct soap*, struct arrayIn *_array, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__nucleotide_USCOREperiodicity(struct soap*, char *_sequence, struct ns1__nucleotide_USCOREperiodicityInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__variance(struct soap*, struct arrayIn *_array, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__amino_USCOREinfo(struct soap*, char *_sequence, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__circular_USCOREmap(struct soap*, char *_sequence, struct ns1__circular_USCOREmapInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__togoWS(struct soap*, char *_query, struct ns1__togoWSInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__translate(struct soap*, char *_sequence, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__phx(struct soap*, char *_sequence, struct ns1__phxInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__icdi(struct soap*, char *_sequence, struct ns1__icdiInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__enc(struct soap*, char *_sequence, struct ns1__encInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__fop(struct soap*, char *_sequence, struct ns1__fopInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__bui(struct soap*, char *_sequence, struct ns1__buiInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__dist_USCOREin_USCOREcc(struct soap*, char *_sequence, int _position1, int _position2, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__find_USCOREdnaAbox(struct soap*, char *_sequence, struct ns1__find_USCOREdnaAboxInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__ttest(struct soap*, struct arrayIn *_array1, struct arrayIn *_array2, struct ns1__ttestInputParams *_params, struct ns1__ttestResponse *_param_1);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__seq2png(struct soap*, char *_sequence, struct ns1__seq2pngInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__amino_USCOREcounter(struct soap*, char *_sequence, struct ns1__amino_USCOREcounterInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__aaui(struct soap*, char *_sequence, struct ns1__aauiInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__codon_USCOREcompiler(struct soap*, char *_sequence, struct ns1__codon_USCOREcompilerInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__over_USCORElapping_USCOREfinder(struct soap*, char *_sequence, struct ns1__over_USCORElapping_USCOREfinderInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__Ew(struct soap*, char *_sequence, struct ns1__EwInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__base_USCORErelative_USCOREentropy(struct soap*, char *_sequence, struct ns1__base_USCORErelative_USCOREentropyInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__view_USCOREcds(struct soap*, char *_sequence, struct ns1__view_USCOREcdsInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__query_USCOREstrand(struct soap*, char *_sequence, int _position, struct ns1__query_USCOREstrandInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__genomicskew(struct soap*, char *_sequence, struct ns1__genomicskewInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__filter_USCOREcds_USCOREby_USCOREatg(struct soap*, char *_sequence, struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *_params, struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *_param_2);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__gcsi(struct soap*, char *_sequence, struct ns1__gcsiInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__cai(struct soap*, char *_sequence, struct ns1__caiInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__maxdex(struct soap*, struct arrayIn *_array, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__max(struct soap*, struct arrayIn *_array, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__query_USCOREarm(struct soap*, char *_sequence, int _position, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__mindex(struct soap*, struct arrayIn *_array, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__consensus_USCOREz(struct soap*, struct arrayIn *_array_USCOREseq, struct ns1__consensus_USCOREzInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__genome_USCOREmap(struct soap*, char *_sequence, struct ns1__genome_USCOREmapInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__longest_USCOREORF(struct soap*, char *_sequence, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__rep_USCOREori_USCOREter(struct soap*, char *_sequence, struct ns1__rep_USCOREori_USCOREterInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__calc_USCOREpI(struct soap*, char *_sequence, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__DoubleHelix(struct soap*, char *_sequence, struct ns1__DoubleHelixInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__base_USCOREentropy(struct soap*, char *_sequence, struct ns1__base_USCOREentropyInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__to_USCOREfasta(struct soap*, char *_sequence, struct ns1__to_USCOREfastaInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__find_USCOREdif(struct soap*, char *_sequence, struct ns1__find_USCOREdifInputParams *_params, struct ns1__find_USCOREdifResponse *_param_3);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__cbi(struct soap*, char *_sequence, struct ns1__cbiInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__genes_USCOREfrom_USCOREori(struct soap*, char *_sequence, char *_direction, struct ns1__genes_USCOREfrom_USCOREoriInputParams *_params, struct ns1__genes_USCOREfrom_USCOREoriResponse *_param_4);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__geneskew(struct soap*, char *_sequence, struct ns1__geneskewInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__standard_USCOREdeviation(struct soap*, struct arrayIn *_array, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__cor(struct soap*, struct arrayIn *_array1, struct arrayIn *_array2, struct ns1__corInputParams *_params, struct ns1__corResponse *_param_5);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__cumulative(struct soap*, struct arrayIn *_array, struct ns1__cumulativeResponse *_param_6);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__delta_USCOREenc(struct soap*, char *_sequence, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__delta_USCOREgcskew(struct soap*, char *_sequence, struct ns1__delta_USCOREgcskewInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__molecular_USCOREweight(struct soap*, char *_sequence, struct ns1__molecular_USCOREweightInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__gcskew(struct soap*, char *_sequence, struct ns1__gcskewInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__genome_USCOREmap3(struct soap*, char *_sequence, struct ns1__genome_USCOREmap3InputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__seqinfo(struct soap*, char *_sequence, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__signature(struct soap*, char *_sequence, struct ns1__signatureInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__base_USCOREinformation_USCOREcontent(struct soap*, char *_sequence, struct ns1__base_USCOREinformation_USCOREcontentInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__dnawalk(struct soap*, char *_sequence, struct ns1__dnawalkInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__find_USCOREter(struct soap*, char *_sequence, struct ns1__find_USCOREterInputParams *_params, struct ns1__find_USCOREterResponse *_param_7);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__shuffleseq(struct soap*, char *_sequence, struct ns1__shuffleseqInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__oligomer_USCOREsearch(struct soap*, char *_sequence, char *_oligomer, struct ns1__oligomer_USCOREsearchInputParams *_params, struct ns1__oligomer_USCOREsearchResponse *_param_8);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__find_USCOREpattern(struct soap*, char *_sequence, char *_pattern, struct ns1__find_USCOREpatternInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__gcwin(struct soap*, char *_sequence, struct ns1__gcwinInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__oligomer_USCOREcounter(struct soap*, char *_sequence, char *_oligomer, struct ns1__oligomer_USCOREcounterInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__codon_USCOREusage(struct soap*, char *_sequence, struct ns1__codon_USCOREusageInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__min(struct soap*, struct arrayIn *_array, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__find_USCOREiteron(struct soap*, char *_sequence, struct ns1__find_USCOREiteronInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__complement(struct soap*, char *_sequence, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__mean(struct soap*, struct arrayIn *_array, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__codon_USCOREcounter(struct soap*, char *_sequence, struct ns1__codon_USCOREcounterInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__entrez(struct soap*, char *_database, char *_query, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__palindrome(struct soap*, char *_sequence, struct ns1__palindromeInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__least_USCOREsquares_USCOREfit(struct soap*, struct arrayIn *_array, struct ns1__least_USCOREsquares_USCOREfitResponse *_param_9);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__dinuc(struct soap*, char *_sequence, struct ns1__dinucInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__cgr(struct soap*, char *_sequence, struct ns1__cgrInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__B1(struct soap*, char *_sequence, struct ns1__B1InputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__B2(struct soap*, char *_sequence, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__base_USCOREcounter(struct soap*, char *_sequence, struct ns1__base_USCOREcounterInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__base_USCOREz_USCOREvalue(struct soap*, char *_sequence, struct ns1__base_USCOREz_USCOREvalueInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__kmer_USCOREtable(struct soap*, char *_sequence, struct ns1__kmer_USCOREtableInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__lda_USCOREbias(struct soap*, char *_sequence, struct ns1__lda_USCOREbiasInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__scs(struct soap*, char *_sequence, struct ns1__scsInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__leading_USCOREstrand(struct soap*, char *_sequence, struct ns1__leading_USCOREstrandResponse *_param_10);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__S_USCOREvalue(struct soap*, char *_sequence, struct ns1__S_USCOREvalueInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__help(struct soap*, char *_keywords, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 ns1__hydropathy(struct soap*, char *_sequence, float *_result);
+
+/******************************************************************************\
+ *                                                                            *
+ * Server-Side Skeletons to Invoke Service Operations                         *
+ *                                                                            *
+\******************************************************************************/
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_request(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__codon_USCOREmva(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__P2(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__w_USCOREvalue(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__splitprintseq(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__median(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__find_USCOREori_USCOREter(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__plasmid_USCOREmap(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__sum(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__nucleotide_USCOREperiodicity(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__variance(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__amino_USCOREinfo(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__circular_USCOREmap(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__togoWS(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__translate(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__phx(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__icdi(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__enc(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__fop(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__bui(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__dist_USCOREin_USCOREcc(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__find_USCOREdnaAbox(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__ttest(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__seq2png(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__amino_USCOREcounter(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__aaui(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__codon_USCOREcompiler(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__over_USCORElapping_USCOREfinder(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__Ew(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__base_USCORErelative_USCOREentropy(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__view_USCOREcds(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__query_USCOREstrand(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__genomicskew(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__filter_USCOREcds_USCOREby_USCOREatg(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__gcsi(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__cai(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__maxdex(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__max(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__query_USCOREarm(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__mindex(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__consensus_USCOREz(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__genome_USCOREmap(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__longest_USCOREORF(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__rep_USCOREori_USCOREter(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__calc_USCOREpI(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__DoubleHelix(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__base_USCOREentropy(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__to_USCOREfasta(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__find_USCOREdif(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__cbi(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__genes_USCOREfrom_USCOREori(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__geneskew(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__standard_USCOREdeviation(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__cor(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__cumulative(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__delta_USCOREenc(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__delta_USCOREgcskew(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__molecular_USCOREweight(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__gcskew(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__genome_USCOREmap3(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__seqinfo(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__signature(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__base_USCOREinformation_USCOREcontent(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__dnawalk(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__find_USCOREter(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__shuffleseq(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__oligomer_USCOREsearch(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__find_USCOREpattern(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__gcwin(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__oligomer_USCOREcounter(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__codon_USCOREusage(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__min(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__find_USCOREiteron(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__complement(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__mean(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__codon_USCOREcounter(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__entrez(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__palindrome(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__least_USCOREsquares_USCOREfit(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__dinuc(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__cgr(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__B1(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__B2(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__base_USCOREcounter(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__base_USCOREz_USCOREvalue(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__kmer_USCOREtable(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__lda_USCOREbias(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__scs(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__leading_USCOREstrand(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__S_USCOREvalue(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__help(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__hydropathy(struct soap*);
+
+/******************************************************************************\
+ *                                                                            *
+ * Client-Side Call Stubs                                                     *
+ *                                                                            *
+\******************************************************************************/
+
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__codon_USCOREmva(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__codon_USCOREmvaInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__P2(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__P2InputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__w_USCOREvalue(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__w_USCOREvalueInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__splitprintseq(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__median(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__find_USCOREori_USCOREter(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__find_USCOREori_USCOREterInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__plasmid_USCOREmap(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__plasmid_USCOREmapInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__sum(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__nucleotide_USCOREperiodicity(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__nucleotide_USCOREperiodicityInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__variance(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__amino_USCOREinfo(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__circular_USCOREmap(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__circular_USCOREmapInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__togoWS(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_query, struct ns1__togoWSInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__translate(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__phx(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__phxInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__icdi(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__icdiInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__enc(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__encInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__fop(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__fopInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__bui(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__buiInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__dist_USCOREin_USCOREcc(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, int _position1, int _position2, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__find_USCOREdnaAbox(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__find_USCOREdnaAboxInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__ttest(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array1, struct arrayIn *_array2, struct ns1__ttestInputParams *_params, struct ns1__ttestResponse *_param_1);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__seq2png(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__seq2pngInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__amino_USCOREcounter(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__amino_USCOREcounterInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__aaui(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__aauiInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__codon_USCOREcompiler(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__codon_USCOREcompilerInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__over_USCORElapping_USCOREfinder(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__over_USCORElapping_USCOREfinderInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__Ew(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__EwInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__base_USCORErelative_USCOREentropy(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__base_USCORErelative_USCOREentropyInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__view_USCOREcds(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__view_USCOREcdsInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__query_USCOREstrand(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, int _position, struct ns1__query_USCOREstrandInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__genomicskew(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__genomicskewInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__filter_USCOREcds_USCOREby_USCOREatg(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__filter_USCOREcds_USCOREby_USCOREatgInputParams *_params, struct ns1__filter_USCOREcds_USCOREby_USCOREatgResponse *_param_2);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__gcsi(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__gcsiInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__cai(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__caiInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__maxdex(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__max(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__query_USCOREarm(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, int _position, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__mindex(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__consensus_USCOREz(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array_USCOREseq, struct ns1__consensus_USCOREzInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__genome_USCOREmap(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__genome_USCOREmapInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__longest_USCOREORF(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__rep_USCOREori_USCOREter(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__rep_USCOREori_USCOREterInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__calc_USCOREpI(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__DoubleHelix(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__DoubleHelixInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__base_USCOREentropy(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__base_USCOREentropyInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__to_USCOREfasta(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__to_USCOREfastaInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__find_USCOREdif(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__find_USCOREdifInputParams *_params, struct ns1__find_USCOREdifResponse *_param_3);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__cbi(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__cbiInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__genes_USCOREfrom_USCOREori(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char *_direction, struct ns1__genes_USCOREfrom_USCOREoriInputParams *_params, struct ns1__genes_USCOREfrom_USCOREoriResponse *_param_4);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__geneskew(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__geneskewInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__standard_USCOREdeviation(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__cor(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array1, struct arrayIn *_array2, struct ns1__corInputParams *_params, struct ns1__corResponse *_param_5);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__cumulative(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, struct ns1__cumulativeResponse *_param_6);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__delta_USCOREenc(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__delta_USCOREgcskew(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__delta_USCOREgcskewInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__molecular_USCOREweight(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__molecular_USCOREweightInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__gcskew(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__gcskewInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__genome_USCOREmap3(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__genome_USCOREmap3InputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__seqinfo(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__signature(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__signatureInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__base_USCOREinformation_USCOREcontent(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__base_USCOREinformation_USCOREcontentInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__dnawalk(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__dnawalkInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__find_USCOREter(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__find_USCOREterInputParams *_params, struct ns1__find_USCOREterResponse *_param_7);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__shuffleseq(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__shuffleseqInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__oligomer_USCOREsearch(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char *_oligomer, struct ns1__oligomer_USCOREsearchInputParams *_params, struct ns1__oligomer_USCOREsearchResponse *_param_8);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__find_USCOREpattern(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char *_pattern, struct ns1__find_USCOREpatternInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__gcwin(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__gcwinInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__oligomer_USCOREcounter(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char *_oligomer, struct ns1__oligomer_USCOREcounterInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__codon_USCOREusage(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__codon_USCOREusageInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__min(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__find_USCOREiteron(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__find_USCOREiteronInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__complement(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__mean(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__codon_USCOREcounter(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__codon_USCOREcounterInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__entrez(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_database, char *_query, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__palindrome(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__palindromeInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__least_USCOREsquares_USCOREfit(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct arrayIn *_array, struct ns1__least_USCOREsquares_USCOREfitResponse *_param_9);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__dinuc(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__dinucInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__cgr(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__cgrInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__B1(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__B1InputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__B2(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__base_USCOREcounter(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__base_USCOREcounterInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__base_USCOREz_USCOREvalue(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__base_USCOREz_USCOREvalueInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__kmer_USCOREtable(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__kmer_USCOREtableInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__lda_USCOREbias(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__lda_USCOREbiasInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__scs(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__scsInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__leading_USCOREstrand(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__leading_USCOREstrandResponse *_param_10);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__S_USCOREvalue(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, struct ns1__S_USCOREvalueInputParams *_params, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__help(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_keywords, char **_result);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns1__hydropathy(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *_sequence, float *_result);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+/* End of soapStub.h */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/install-sh	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,501 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2013-12-25.23; # UTC
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# 'make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+
+tab='	'
+nl='
+'
+IFS=" $tab$nl"
+
+# Set DOITPROG to "echo" to test this script.
+
+doit=${DOITPROG-}
+doit_exec=${doit:-exec}
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd="$rmprog -f"
+stripcmd=
+
+src=
+dst=
+dir_arg=
+dst_arg=
+
+copy_on_change=false
+is_target_a_directory=possibly
+
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+     --help     display this help and exit.
+     --version  display version info and exit.
+
+  -c            (ignored)
+  -C            install only if different (preserve the last data modification time)
+  -d            create directories instead of installing files.
+  -g GROUP      $chgrpprog installed files to GROUP.
+  -m MODE       $chmodprog installed files to MODE.
+  -o USER       $chownprog installed files to USER.
+  -s            $stripprog installed files.
+  -t DIRECTORY  install into DIRECTORY.
+  -T            report an error if DSTFILE is a directory.
+
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+  RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+  case $1 in
+    -c) ;;
+
+    -C) copy_on_change=true;;
+
+    -d) dir_arg=true;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+        shift;;
+
+    --help) echo "$usage"; exit $?;;
+
+    -m) mode=$2
+        case $mode in
+          *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+            echo "$0: invalid mode: $mode" >&2
+            exit 1;;
+        esac
+        shift;;
+
+    -o) chowncmd="$chownprog $2"
+        shift;;
+
+    -s) stripcmd=$stripprog;;
+
+    -t)
+        is_target_a_directory=always
+        dst_arg=$2
+        # Protect names problematic for 'test' and other utilities.
+        case $dst_arg in
+          -* | [=\(\)!]) dst_arg=./$dst_arg;;
+        esac
+        shift;;
+
+    -T) is_target_a_directory=never;;
+
+    --version) echo "$0 $scriptversion"; exit $?;;
+
+    --) shift
+        break;;
+
+    -*) echo "$0: invalid option: $1" >&2
+        exit 1;;
+
+    *)  break;;
+  esac
+  shift
+done
+
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+  if test -n "$dst_arg"; then
+    echo "$0: target directory not allowed when installing a directory." >&2
+    exit 1
+  fi
+fi
+
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+  # When -d is used, all remaining arguments are directories to create.
+  # When -t is used, the destination is already specified.
+  # Otherwise, the last argument is the destination.  Remove it from $@.
+  for arg
+  do
+    if test -n "$dst_arg"; then
+      # $@ is not empty: it contains at least $arg.
+      set fnord "$@" "$dst_arg"
+      shift # fnord
+    fi
+    shift # arg
+    dst_arg=$arg
+    # Protect names problematic for 'test' and other utilities.
+    case $dst_arg in
+      -* | [=\(\)!]) dst_arg=./$dst_arg;;
+    esac
+  done
+fi
+
+if test $# -eq 0; then
+  if test -z "$dir_arg"; then
+    echo "$0: no input file specified." >&2
+    exit 1
+  fi
+  # It's OK to call 'install-sh -d' without argument.
+  # This can happen when creating conditional directories.
+  exit 0
+fi
+
+if test -z "$dir_arg"; then
+  if test $# -gt 1 || test "$is_target_a_directory" = always; then
+    if test ! -d "$dst_arg"; then
+      echo "$0: $dst_arg: Is not a directory." >&2
+      exit 1
+    fi
+  fi
+fi
+
+if test -z "$dir_arg"; then
+  do_exit='(exit $ret); exit $ret'
+  trap "ret=129; $do_exit" 1
+  trap "ret=130; $do_exit" 2
+  trap "ret=141; $do_exit" 13
+  trap "ret=143; $do_exit" 15
+
+  # Set umask so as not to create temps with too-generous modes.
+  # However, 'strip' requires both read and write access to temps.
+  case $mode in
+    # Optimize common cases.
+    *644) cp_umask=133;;
+    *755) cp_umask=22;;
+
+    *[0-7])
+      if test -z "$stripcmd"; then
+        u_plus_rw=
+      else
+        u_plus_rw='% 200'
+      fi
+      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+    *)
+      if test -z "$stripcmd"; then
+        u_plus_rw=
+      else
+        u_plus_rw=,u+rw
+      fi
+      cp_umask=$mode$u_plus_rw;;
+  esac
+fi
+
+for src
+do
+  # Protect names problematic for 'test' and other utilities.
+  case $src in
+    -* | [=\(\)!]) src=./$src;;
+  esac
+
+  if test -n "$dir_arg"; then
+    dst=$src
+    dstdir=$dst
+    test -d "$dstdir"
+    dstdir_status=$?
+  else
+
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+    # might cause directories to be created, which would be especially bad
+    # if $src (and thus $dsttmp) contains '*'.
+    if test ! -f "$src" && test ! -d "$src"; then
+      echo "$0: $src does not exist." >&2
+      exit 1
+    fi
+
+    if test -z "$dst_arg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
+    dst=$dst_arg
+
+    # If destination is a directory, append the input filename; won't work
+    # if double slashes aren't ignored.
+    if test -d "$dst"; then
+      if test "$is_target_a_directory" = never; then
+        echo "$0: $dst_arg: Is a directory" >&2
+        exit 1
+      fi
+      dstdir=$dst
+      dst=$dstdir/`basename "$src"`
+      dstdir_status=0
+    else
+      dstdir=`dirname "$dst"`
+      test -d "$dstdir"
+      dstdir_status=$?
+    fi
+  fi
+
+  obsolete_mkdir_used=false
+
+  if test $dstdir_status != 0; then
+    case $posix_mkdir in
+      '')
+        # Create intermediate dirs using mode 755 as modified by the umask.
+        # This is like FreeBSD 'install' as of 1997-10-28.
+        umask=`umask`
+        case $stripcmd.$umask in
+          # Optimize common cases.
+          *[2367][2367]) mkdir_umask=$umask;;
+          .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+          *[0-7])
+            mkdir_umask=`expr $umask + 22 \
+              - $umask % 100 % 40 + $umask % 20 \
+              - $umask % 10 % 4 + $umask % 2
+            `;;
+          *) mkdir_umask=$umask,go-w;;
+        esac
+
+        # With -d, create the new directory with the user-specified mode.
+        # Otherwise, rely on $mkdir_umask.
+        if test -n "$dir_arg"; then
+          mkdir_mode=-m$mode
+        else
+          mkdir_mode=
+        fi
+
+        posix_mkdir=false
+        case $umask in
+          *[123567][0-7][0-7])
+            # POSIX mkdir -p sets u+wx bits regardless of umask, which
+            # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+            ;;
+          *)
+            tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+            trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+            if (umask $mkdir_umask &&
+                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+            then
+              if test -z "$dir_arg" || {
+                   # Check for POSIX incompatibilities with -m.
+                   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+                   # other-writable bit of parent directory when it shouldn't.
+                   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+                   ls_ld_tmpdir=`ls -ld "$tmpdir"`
+                   case $ls_ld_tmpdir in
+                     d????-?r-*) different_mode=700;;
+                     d????-?--*) different_mode=755;;
+                     *) false;;
+                   esac &&
+                   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+                     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+                     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+                   }
+                 }
+              then posix_mkdir=:
+              fi
+              rmdir "$tmpdir/d" "$tmpdir"
+            else
+              # Remove any dirs left behind by ancient mkdir implementations.
+              rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+            fi
+            trap '' 0;;
+        esac;;
+    esac
+
+    if
+      $posix_mkdir && (
+        umask $mkdir_umask &&
+        $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+      )
+    then :
+    else
+
+      # The umask is ridiculous, or mkdir does not conform to POSIX,
+      # or it failed possibly due to a race condition.  Create the
+      # directory the slow way, step by step, checking for races as we go.
+
+      case $dstdir in
+        /*) prefix='/';;
+        [-=\(\)!]*) prefix='./';;
+        *)  prefix='';;
+      esac
+
+      oIFS=$IFS
+      IFS=/
+      set -f
+      set fnord $dstdir
+      shift
+      set +f
+      IFS=$oIFS
+
+      prefixes=
+
+      for d
+      do
+        test X"$d" = X && continue
+
+        prefix=$prefix$d
+        if test -d "$prefix"; then
+          prefixes=
+        else
+          if $posix_mkdir; then
+            (umask=$mkdir_umask &&
+             $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+            # Don't fail if two instances are running concurrently.
+            test -d "$prefix" || exit 1
+          else
+            case $prefix in
+              *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+              *) qprefix=$prefix;;
+            esac
+            prefixes="$prefixes '$qprefix'"
+          fi
+        fi
+        prefix=$prefix/
+      done
+
+      if test -n "$prefixes"; then
+        # Don't fail if two instances are running concurrently.
+        (umask $mkdir_umask &&
+         eval "\$doit_exec \$mkdirprog $prefixes") ||
+          test -d "$dstdir" || exit 1
+        obsolete_mkdir_used=true
+      fi
+    fi
+  fi
+
+  if test -n "$dir_arg"; then
+    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+  else
+
+    # Make a couple of temp file names in the proper directory.
+    dsttmp=$dstdir/_inst.$$_
+    rmtmp=$dstdir/_rm.$$_
+
+    # Trap to clean up those temp files at exit.
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+    # Copy the file name to the temp name.
+    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+    # and set any options; do chmod last to preserve setuid bits.
+    #
+    # If any of these fail, we abort the whole thing.  If we want to
+    # ignore errors from any of these, just make sure not to ignore
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
+    #
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+    # If -C, don't bother to copy if it wouldn't change the file.
+    if $copy_on_change &&
+       old=`LC_ALL=C ls -dlL "$dst"     2>/dev/null` &&
+       new=`LC_ALL=C ls -dlL "$dsttmp"  2>/dev/null` &&
+       set -f &&
+       set X $old && old=:$2:$4:$5:$6 &&
+       set X $new && new=:$2:$4:$5:$6 &&
+       set +f &&
+       test "$old" = "$new" &&
+       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+    then
+      rm -f "$dsttmp"
+    else
+      # Rename the file to the real destination.
+      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+      # The rename failed, perhaps because mv can't rename something else
+      # to itself, or perhaps because mv is so ancient that it does not
+      # support -f.
+      {
+        # Now remove or move aside any old file at destination location.
+        # We try this two ways since rm can't unlink itself on some
+        # systems and the destination file might be busy for other
+        # reasons.  In this case, the final cleanup might fail but the new
+        # file should still install successfully.
+        {
+          test ! -f "$dst" ||
+          $doit $rmcmd -f "$dst" 2>/dev/null ||
+          { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+            { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+          } ||
+          { echo "$0: cannot unlink or rename $dst" >&2
+            (exit 1); exit 1
+          }
+        } &&
+
+        # Now rename the file to the real destination.
+        $doit $mvcmd "$dsttmp" "$dst"
+      }
+    fi || exit 1
+
+    trap '' 0
+  fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/ltmain.sh	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,11140 @@
+#! /bin/sh
+## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
+##               by inline-source v2014-01-03.01
+
+# libtool (GNU libtool) 2.4.5
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+
+# Copyright (C) 1996-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+
+PROGRAM=libtool
+PACKAGE=libtool
+VERSION=2.4.5
+package_revision=2.4.5
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Run './libtool --help' for help with using this script from the
+# command line.
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# After configure completes, it has a better idea of some of the
+# shell tools we need than the defaults used by the functions shared
+# with bootstrap, so set those here where they can still be over-
+# ridden by the user, but otherwise take precedence.
+
+: ${AUTOCONF="autoconf"}
+: ${AUTOMAKE="automake"}
+
+
+## -------------------------- ##
+## Source external libraries. ##
+## -------------------------- ##
+
+# Much of our low-level functionality needs to be sourced from external
+# libraries, which are installed to $pkgauxdir.
+
+# Set a version string for this script.
+scriptversion=2014-01-03.01; # UTC
+
+# General shell script boiler plate, and helper functions.
+# Written by Gary V. Vaughan, 2004
+
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+
+# As a special exception to the GNU General Public License, if you distribute
+# this file as part of a program or library that is built using GNU Libtool,
+# you may include this file under the same distribution terms that you use
+# for the rest of that program.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Please report bugs or propose patches to gary@gnu.org.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Evaluate this file near the top of your script to gain access to
+# the functions and variables defined here:
+#
+#   . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh
+#
+# If you need to override any of the default environment variable
+# settings, do that before evaluating this file.
+
+
+## -------------------- ##
+## Shell normalisation. ##
+## -------------------- ##
+
+# Some shells need a little help to be as Bourne compatible as possible.
+# Before doing anything else, make sure all that help has been provided!
+
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac
+fi
+
+# NLS nuisances: We save the old values in case they are required later.
+_G_user_locale=
+_G_safe_locale=
+for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+  eval "if test set = \"\${$_G_var+set}\"; then
+          save_$_G_var=\$$_G_var
+          $_G_var=C
+	  export $_G_var
+	  _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\"
+	  _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
+	fi"
+done
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Make sure IFS has a sensible default
+sp=' '
+nl='
+'
+IFS="$sp	$nl"
+
+# There are apparently some retarded systems that use ';' as a PATH separator!
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+
+## ------------------------- ##
+## Locate command utilities. ##
+## ------------------------- ##
+
+
+# func_executable_p FILE
+# ----------------------
+# Check that FILE is an executable regular file.
+func_executable_p ()
+{
+    test -f "$1" && test -x "$1"
+}
+
+
+# func_path_progs PROGS_LIST CHECK_FUNC [PATH]
+# --------------------------------------------
+# Search for either a program that responds to --version with output
+# containing "GNU", or else returned by CHECK_FUNC otherwise, by
+# trying all the directories in PATH with each of the elements of
+# PROGS_LIST.
+#
+# CHECK_FUNC should accept the path to a candidate program, and
+# set $func_check_prog_result if it truncates its output less than
+# $_G_path_prog_max characters.
+func_path_progs ()
+{
+    _G_progs_list=$1
+    _G_check_func=$2
+    _G_PATH=${3-"$PATH"}
+
+    _G_path_prog_max=0
+    _G_path_prog_found=false
+    _G_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+    for _G_dir in $_G_PATH; do
+      IFS=$_G_save_IFS
+      test -z "$_G_dir" && _G_dir=.
+      for _G_prog_name in $_G_progs_list; do
+        for _exeext in '' .EXE; do
+          _G_path_prog=$_G_dir/$_G_prog_name$_exeext
+          func_executable_p "$_G_path_prog" || continue
+          case `"$_G_path_prog" --version 2>&1` in
+            *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;;
+            *)     $_G_check_func $_G_path_prog
+		   func_path_progs_result=$func_check_prog_result
+		   ;;
+          esac
+          $_G_path_prog_found && break 3
+        done
+      done
+    done
+    IFS=$_G_save_IFS
+    test -z "$func_path_progs_result" && {
+      echo "no acceptable sed could be found in \$PATH" >&2
+      exit 1
+    }
+}
+
+
+# We want to be able to use the functions in this file before configure
+# has figured out where the best binaries are kept, which means we have
+# to search for them ourselves - except when the results are already set
+# where we skip the searches.
+
+# Unless the user overrides by setting SED, search the path for either GNU
+# sed, or the sed that truncates its output the least.
+test -z "$SED" && {
+  _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+  for _G_i in 1 2 3 4 5 6 7; do
+    _G_sed_script=$_G_sed_script$nl$_G_sed_script
+  done
+  echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed
+  _G_sed_script=
+
+  func_check_prog_sed ()
+  {
+    _G_path_prog=$1
+
+    _G_count=0
+    printf 0123456789 >conftest.in
+    while :
+    do
+      cat conftest.in conftest.in >conftest.tmp
+      mv conftest.tmp conftest.in
+      cp conftest.in conftest.nl
+      echo '' >> conftest.nl
+      "$_G_path_prog" -f conftest.sed <conftest.nl >conftest.out 2>/dev/null || break
+      diff conftest.out conftest.nl >/dev/null 2>&1 || break
+      _G_count=`expr $_G_count + 1`
+      if test "$_G_count" -gt "$_G_path_prog_max"; then
+        # Best one so far, save it but keep looking for a better one
+        func_check_prog_result=$_G_path_prog
+        _G_path_prog_max=$_G_count
+      fi
+      # 10*(2^10) chars as input seems more than enough
+      test 10 -lt "$_G_count" && break
+    done
+    rm -f conftest.in conftest.tmp conftest.nl conftest.out
+  }
+
+  func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin
+  rm -f conftest.sed
+  SED=$func_path_progs_result
+}
+
+
+# Unless the user overrides by setting GREP, search the path for either GNU
+# grep, or the grep that truncates its output the least.
+test -z "$GREP" && {
+  func_check_prog_grep ()
+  {
+    _G_path_prog=$1
+
+    _G_count=0
+    _G_path_prog_max=0
+    printf 0123456789 >conftest.in
+    while :
+    do
+      cat conftest.in conftest.in >conftest.tmp
+      mv conftest.tmp conftest.in
+      cp conftest.in conftest.nl
+      echo 'GREP' >> conftest.nl
+      "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' <conftest.nl >conftest.out 2>/dev/null || break
+      diff conftest.out conftest.nl >/dev/null 2>&1 || break
+      _G_count=`expr $_G_count + 1`
+      if test "$_G_count" -gt "$_G_path_prog_max"; then
+        # Best one so far, save it but keep looking for a better one
+        func_check_prog_result=$_G_path_prog
+        _G_path_prog_max=$_G_count
+      fi
+      # 10*(2^10) chars as input seems more than enough
+      test 10 -lt "$_G_count" && break
+    done
+    rm -f conftest.in conftest.tmp conftest.nl conftest.out
+  }
+
+  func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin
+  GREP=$func_path_progs_result
+}
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# All uppercase variable names are used for environment variables.  These
+# variables can be overridden by the user before calling a script that
+# uses them if a suitable command of that name is not already available
+# in the command search PATH.
+
+: ${CP="cp -f"}
+: ${ECHO="printf %s\n"}
+: ${EGREP="$GREP -E"}
+: ${FGREP="$GREP -F"}
+: ${LN_S="ln -s"}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+
+
+## -------------------- ##
+## Useful sed snippets. ##
+## -------------------- ##
+
+sed_dirname='s|/[^/]*$||'
+sed_basename='s|^.*/||'
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s|\([`"$\\]\)|\\\1|g'
+
+# Same as above, but do not quote variable references.
+sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution that turns a string into a regex matching for the
+# string literally.
+sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
+
+# Sed substitution that converts a w32 file name or path
+# that contains forward slashes, into one that contains
+# (escaped) backslashes.  A very naive implementation.
+sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+
+# Re-'\' parameter expansions in output of sed_double_quote_subst that
+# were '\'-ed in input to the same.  If an odd number of '\' preceded a
+# '$' in input to sed_double_quote_subst, that '$' was protected from
+# expansion.  Since each input '\' is now two '\'s, look for any number
+# of runs of four '\'s followed by two '\'s and then a '$'.  '\' that '$'.
+_G_bs='\\'
+_G_bs2='\\\\'
+_G_bs4='\\\\\\\\'
+_G_dollar='\$'
+sed_double_backslash="\
+  s/$_G_bs4/&\\
+/g
+  s/^$_G_bs2$_G_dollar/$_G_bs&/
+  s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g
+  s/\n//g"
+
+
+## ----------------- ##
+## Global variables. ##
+## ----------------- ##
+
+# Except for the global variables explicitly listed below, the following
+# functions in the '^func_' namespace, and the '^require_' namespace
+# variables initialised in the 'Resource management' section, sourcing
+# this file will not pollute your global namespace with anything
+# else. There's no portable way to scope variables in Bourne shell
+# though, so actually running these functions will sometimes place
+# results into a variable named after the function, and often use
+# temporary variables in the '^_G_' namespace. If you are careful to
+# avoid using those namespaces casually in your sourcing script, things
+# should continue to work as you expect. And, of course, you can freely
+# overwrite any of the functions or variables defined here before
+# calling anything to customize them.
+
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
+
+# Allow overriding, eg assuming that you follow the convention of
+# putting '$debug_cmd' at the start of all your functions, you can get
+# bash to show function call trace with:
+#
+#    debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
+debug_cmd=${debug_cmd-":"}
+exit_cmd=:
+
+# By convention, finish your script with:
+#
+#    exit $exit_status
+#
+# so that you can set exit_status to non-zero if you want to indicate
+# something went wrong during execution without actually bailing out at
+# the point of failure.
+exit_status=$EXIT_SUCCESS
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath=$0
+
+# The name of this program.
+progname=`$ECHO "$progpath" |$SED "$sed_basename"`
+
+# Make sure we have an absolute progpath for reexecution:
+case $progpath in
+  [\\/]*|[A-Za-z]:\\*) ;;
+  *[\\/]*)
+     progdir=`$ECHO "$progpath" |$SED "$sed_dirname"`
+     progdir=`cd "$progdir" && pwd`
+     progpath=$progdir/$progname
+     ;;
+  *)
+     _G_IFS=$IFS
+     IFS=${PATH_SEPARATOR-:}
+     for progdir in $PATH; do
+       IFS=$_G_IFS
+       test -x "$progdir/$progname" && break
+     done
+     IFS=$_G_IFS
+     test -n "$progdir" || progdir=`pwd`
+     progpath=$progdir/$progname
+     ;;
+esac
+
+
+## ----------------- ##
+## Standard options. ##
+## ----------------- ##
+
+# The following options affect the operation of the functions defined
+# below, and should be set appropriately depending on run-time para-
+# meters passed on the command line.
+
+opt_dry_run=false
+opt_quiet=false
+opt_verbose=false
+
+# Categories 'all' and 'none' are always available.  Append any others
+# you will pass as the first argument to func_warning from your own
+# code.
+warning_categories=
+
+# By default, display warnings according to 'opt_warning_types'.  Set
+# 'warning_func'  to ':' to elide all warnings, or func_fatal_error to
+# treat the next displayed warning as a fatal error.
+warning_func=func_warn_and_continue
+
+# Set to 'all' to display all warnings, 'none' to suppress all
+# warnings, or a space delimited list of some subset of
+# 'warning_categories' to display only the listed warnings.
+opt_warning_types=all
+
+
+## -------------------- ##
+## Resource management. ##
+## -------------------- ##
+
+# This section contains definitions for functions that each ensure a
+# particular resource (a file, or a non-empty configuration variable for
+# example) is available, and if appropriate to extract default values
+# from pertinent package files. Call them using their associated
+# 'require_*' variable to ensure that they are executed, at most, once.
+#
+# It's entirely deliberate that calling these functions can set
+# variables that don't obey the namespace limitations obeyed by the rest
+# of this file, in order that that they be as useful as possible to
+# callers.
+
+
+# require_term_colors
+# -------------------
+# Allow display of bold text on terminals that support it.
+require_term_colors=func_require_term_colors
+func_require_term_colors ()
+{
+    $debug_cmd
+
+    test -t 1 && {
+      # COLORTERM and USE_ANSI_COLORS environment variables take
+      # precedence, because most terminfo databases neglect to describe
+      # whether color sequences are supported.
+      test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"}
+
+      if test 1 = "$USE_ANSI_COLORS"; then
+        # Standard ANSI escape sequences
+        tc_reset=''
+        tc_bold='';   tc_standout=''
+        tc_red='';   tc_green=''
+        tc_blue='';  tc_cyan=''
+      else
+        # Otherwise trust the terminfo database after all.
+        test -n "`tput sgr0 2>/dev/null`" && {
+          tc_reset=`tput sgr0`
+          test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold`
+          tc_standout=$tc_bold
+          test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso`
+          test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1`
+          test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2`
+          test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4`
+          test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5`
+        }
+      fi
+    }
+
+    require_term_colors=:
+}
+
+
+## ----------------- ##
+## Function library. ##
+## ----------------- ##
+
+# This section contains a variety of useful functions to call in your
+# scripts. Take note of the portable wrappers for features provided by
+# some modern shells, which will fall back to slower equivalents on
+# less featureful shells.
+
+
+# func_append VAR VALUE
+# ---------------------
+# Append VALUE onto the existing contents of VAR.
+
+  # We should try to minimise forks, especially on Windows where they are
+  # unreasonably slow, so skip the feature probes when bash or zsh are
+  # being used:
+  if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then
+    : ${_G_HAVE_ARITH_OP="yes"}
+    : ${_G_HAVE_XSI_OPS="yes"}
+    # The += operator was introduced in bash 3.1
+    case $BASH_VERSION in
+      [12].* | 3.0 | 3.0*) ;;
+      *)
+        : ${_G_HAVE_PLUSEQ_OP="yes"}
+        ;;
+    esac
+  fi
+
+  # _G_HAVE_PLUSEQ_OP
+  # Can be empty, in which case the shell is probed, "yes" if += is
+  # useable or anything else if it does not work.
+  test -z "$_G_HAVE_PLUSEQ_OP" \
+    && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \
+    && _G_HAVE_PLUSEQ_OP=yes
+
+if test yes = "$_G_HAVE_PLUSEQ_OP"
+then
+  # This is an XSI compatible shell, allowing a faster implementation...
+  eval 'func_append ()
+  {
+    $debug_cmd
+
+    eval "$1+=\$2"
+  }'
+else
+  # ...otherwise fall back to using expr, which is often a shell builtin.
+  func_append ()
+  {
+    $debug_cmd
+
+    eval "$1=\$$1\$2"
+  }
+fi
+
+
+# func_append_quoted VAR VALUE
+# ----------------------------
+# Quote VALUE and append to the end of shell variable VAR, separated
+# by a space.
+if test yes = "$_G_HAVE_PLUSEQ_OP"; then
+  eval 'func_append_quoted ()
+  {
+    $debug_cmd
+
+    func_quote_for_eval "$2"
+    eval "$1+=\\ \$func_quote_for_eval_result"
+  }'
+else
+  func_append_quoted ()
+  {
+    $debug_cmd
+
+    func_quote_for_eval "$2"
+    eval "$1=\$$1\\ \$func_quote_for_eval_result"
+  }
+fi
+
+
+# func_append_uniq VAR VALUE
+# --------------------------
+# Append unique VALUE onto the existing contents of VAR, assuming
+# entries are delimited by the first character of VALUE.  For example:
+#
+#   func_append_uniq options " --another-option option-argument"
+#
+# will only append to $options if " --another-option option-argument "
+# is not already present somewhere in $options already (note spaces at
+# each end implied by leading space in second argument).
+func_append_uniq ()
+{
+    $debug_cmd
+
+    eval _G_current_value='`$ECHO $'$1'`'
+    _G_delim=`expr "$2" : '\(.\)'`
+
+    case $_G_delim$_G_current_value$_G_delim in
+      *"$2$_G_delim"*) ;;
+      *) func_append "$@" ;;
+    esac
+}
+
+
+# func_arith TERM...
+# ------------------
+# Set func_arith_result to the result of evaluating TERMs.
+  test -z "$_G_HAVE_ARITH_OP" \
+    && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \
+    && _G_HAVE_ARITH_OP=yes
+
+if test yes = "$_G_HAVE_ARITH_OP"; then
+  eval 'func_arith ()
+  {
+    $debug_cmd
+
+    func_arith_result=$(( $* ))
+  }'
+else
+  func_arith ()
+  {
+    $debug_cmd
+
+    func_arith_result=`expr "$@"`
+  }
+fi
+
+
+# func_basename FILE
+# ------------------
+# Set func_basename_result to FILE with everything up to and including
+# the last / stripped.
+if test yes = "$_G_HAVE_XSI_OPS"; then
+  # If this shell supports suffix pattern removal, then use it to avoid
+  # forking. Hide the definitions single quotes in case the shell chokes
+  # on unsupported syntax...
+  _b='func_basename_result=${1##*/}'
+  _d='case $1 in
+        */*) func_dirname_result=${1%/*}$2 ;;
+        *  ) func_dirname_result=$3        ;;
+      esac'
+
+else
+  # ...otherwise fall back to using sed.
+  _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'
+  _d='func_dirname_result=`$ECHO "$1"  |$SED "$sed_dirname"`
+      if test "X$func_dirname_result" = "X$1"; then
+        func_dirname_result=$3
+      else
+        func_append func_dirname_result "$2"
+      fi'
+fi
+
+eval 'func_basename ()
+{
+    $debug_cmd
+
+    '"$_b"'
+}'
+
+
+# func_dirname FILE APPEND NONDIR_REPLACEMENT
+# -------------------------------------------
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+eval 'func_dirname ()
+{
+    $debug_cmd
+
+    '"$_d"'
+}'
+
+
+# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT
+# --------------------------------------------------------
+# Perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# For efficiency, we do not delegate to the functions above but instead
+# duplicate the functionality here.
+eval 'func_dirname_and_basename ()
+{
+    $debug_cmd
+
+    '"$_b"'
+    '"$_d"'
+}'
+
+
+# func_echo ARG...
+# ----------------
+# Echo program name prefixed message.
+func_echo ()
+{
+    $debug_cmd
+
+    _G_message=$*
+
+    func_echo_IFS=$IFS
+    IFS=$nl
+    for _G_line in $_G_message; do
+      IFS=$func_echo_IFS
+      $ECHO "$progname: $_G_line"
+    done
+    IFS=$func_echo_IFS
+}
+
+
+# func_echo_all ARG...
+# --------------------
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO "$*"
+}
+
+
+# func_echo_infix_1 INFIX ARG...
+# ------------------------------
+# Echo program name, followed by INFIX on the first line, with any
+# additional lines not showing INFIX.
+func_echo_infix_1 ()
+{
+    $debug_cmd
+
+    $require_term_colors
+
+    _G_infix=$1; shift
+    _G_indent=$_G_infix
+    _G_prefix="$progname: $_G_infix: "
+    _G_message=$*
+
+    # Strip color escape sequences before counting printable length
+    for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan"
+    do
+      test -n "$_G_tc" && {
+        _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"`
+        _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"`
+      }
+    done
+    _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`"  " ## exclude from sc_prohibit_nested_quotes
+
+    func_echo_infix_1_IFS=$IFS
+    IFS=$nl
+    for _G_line in $_G_message; do
+      IFS=$func_echo_infix_1_IFS
+      $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
+      _G_prefix=$_G_indent
+    done
+    IFS=$func_echo_infix_1_IFS
+}
+
+
+# func_error ARG...
+# -----------------
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+    $debug_cmd
+
+    $require_term_colors
+
+    func_echo_infix_1 "  $tc_standout${tc_red}error$tc_reset" "$*" >&2
+}
+
+
+# func_fatal_error ARG...
+# -----------------------
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+    $debug_cmd
+
+    func_error "$*"
+    exit $EXIT_FAILURE
+}
+
+
+# func_grep EXPRESSION FILENAME
+# -----------------------------
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+    $debug_cmd
+
+    $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_len STRING
+# ---------------
+# Set func_len_result to the length of STRING. STRING may not
+# start with a hyphen.
+  test -z "$_G_HAVE_XSI_OPS" \
+    && (eval 'x=a/b/c;
+      test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+    && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+  eval 'func_len ()
+  {
+    $debug_cmd
+
+    func_len_result=${#1}
+  }'
+else
+  func_len ()
+  {
+    $debug_cmd
+
+    func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+  }
+fi
+
+
+# func_mkdir_p DIRECTORY-PATH
+# ---------------------------
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+    $debug_cmd
+
+    _G_directory_path=$1
+    _G_dir_list=
+
+    if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then
+
+      # Protect directory names starting with '-'
+      case $_G_directory_path in
+        -*) _G_directory_path=./$_G_directory_path ;;
+      esac
+
+      # While some portion of DIR does not yet exist...
+      while test ! -d "$_G_directory_path"; do
+        # ...make a list in topmost first order.  Use a colon delimited
+	# list incase some portion of path contains whitespace.
+        _G_dir_list=$_G_directory_path:$_G_dir_list
+
+        # If the last portion added has no slash in it, the list is done
+        case $_G_directory_path in */*) ;; *) break ;; esac
+
+        # ...otherwise throw away the child directory and loop
+        _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"`
+      done
+      _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'`
+
+      func_mkdir_p_IFS=$IFS; IFS=:
+      for _G_dir in $_G_dir_list; do
+	IFS=$func_mkdir_p_IFS
+        # mkdir can fail with a 'File exist' error if two processes
+        # try to create one of the directories concurrently.  Don't
+        # stop in that case!
+        $MKDIR "$_G_dir" 2>/dev/null || :
+      done
+      IFS=$func_mkdir_p_IFS
+
+      # Bail out if we (or some other process) failed to create a directory.
+      test -d "$_G_directory_path" || \
+        func_fatal_error "Failed to create '$1'"
+    fi
+}
+
+
+# func_mktempdir [BASENAME]
+# -------------------------
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible.  If
+# given, BASENAME is the basename for that directory.
+func_mktempdir ()
+{
+    $debug_cmd
+
+    _G_template=${TMPDIR-/tmp}/${1-$progname}
+
+    if test : = "$opt_dry_run"; then
+      # Return a directory name, but don't create it in dry-run mode
+      _G_tmpdir=$_G_template-$$
+    else
+
+      # If mktemp works, use that first and foremost
+      _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null`
+
+      if test ! -d "$_G_tmpdir"; then
+        # Failing that, at least try and use $RANDOM to avoid a race
+        _G_tmpdir=$_G_template-${RANDOM-0}$$
+
+        func_mktempdir_umask=`umask`
+        umask 0077
+        $MKDIR "$_G_tmpdir"
+        umask $func_mktempdir_umask
+      fi
+
+      # If we're not in dry-run mode, bomb out on failure
+      test -d "$_G_tmpdir" || \
+        func_fatal_error "cannot create temporary directory '$_G_tmpdir'"
+    fi
+
+    $ECHO "$_G_tmpdir"
+}
+
+
+# func_normal_abspath PATH
+# ------------------------
+# Remove doubled-up and trailing slashes, "." path components,
+# and cancel out any ".." path components in PATH after making
+# it an absolute path.
+func_normal_abspath ()
+{
+    $debug_cmd
+
+    # These SED scripts presuppose an absolute path with a trailing slash.
+    _G_pathcar='s|^/\([^/]*\).*$|\1|'
+    _G_pathcdr='s|^/[^/]*||'
+    _G_removedotparts=':dotsl
+		s|/\./|/|g
+		t dotsl
+		s|/\.$|/|'
+    _G_collapseslashes='s|/\{1,\}|/|g'
+    _G_finalslash='s|/*$|/|'
+
+    # Start from root dir and reassemble the path.
+    func_normal_abspath_result=
+    func_normal_abspath_tpath=$1
+    func_normal_abspath_altnamespace=
+    case $func_normal_abspath_tpath in
+      "")
+        # Empty path, that just means $cwd.
+        func_stripname '' '/' "`pwd`"
+        func_normal_abspath_result=$func_stripname_result
+        return
+        ;;
+      # The next three entries are used to spot a run of precisely
+      # two leading slashes without using negated character classes;
+      # we take advantage of case's first-match behaviour.
+      ///*)
+        # Unusual form of absolute path, do nothing.
+        ;;
+      //*)
+        # Not necessarily an ordinary path; POSIX reserves leading '//'
+        # and for example Cygwin uses it to access remote file shares
+        # over CIFS/SMB, so we conserve a leading double slash if found.
+        func_normal_abspath_altnamespace=/
+        ;;
+      /*)
+        # Absolute path, do nothing.
+        ;;
+      *)
+        # Relative path, prepend $cwd.
+        func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
+        ;;
+    esac
+
+    # Cancel out all the simple stuff to save iterations.  We also want
+    # the path to end with a slash for ease of parsing, so make sure
+    # there is one (and only one) here.
+    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+          -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"`
+    while :; do
+      # Processed it all yet?
+      if test / = "$func_normal_abspath_tpath"; then
+        # If we ascended to the root using ".." the result may be empty now.
+        if test -z "$func_normal_abspath_result"; then
+          func_normal_abspath_result=/
+        fi
+        break
+      fi
+      func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+          -e "$_G_pathcar"`
+      func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+          -e "$_G_pathcdr"`
+      # Figure out what to do with it
+      case $func_normal_abspath_tcomponent in
+        "")
+          # Trailing empty path component, ignore it.
+          ;;
+        ..)
+          # Parent dir; strip last assembled component from result.
+          func_dirname "$func_normal_abspath_result"
+          func_normal_abspath_result=$func_dirname_result
+          ;;
+        *)
+          # Actual path component, append it.
+          func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent"
+          ;;
+      esac
+    done
+    # Restore leading double-slash if one was found on entry.
+    func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
+}
+
+
+# func_notquiet ARG...
+# --------------------
+# Echo program name prefixed message only when not in quiet mode.
+func_notquiet ()
+{
+    $debug_cmd
+
+    $opt_quiet || func_echo ${1+"$@"}
+
+    # A bug in bash halts the script if the last line of a function
+    # fails when set -e is in force, so we need another command to
+    # work around that:
+    :
+}
+
+
+# func_relative_path SRCDIR DSTDIR
+# --------------------------------
+# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR.
+func_relative_path ()
+{
+    $debug_cmd
+
+    func_relative_path_result=
+    func_normal_abspath "$1"
+    func_relative_path_tlibdir=$func_normal_abspath_result
+    func_normal_abspath "$2"
+    func_relative_path_tbindir=$func_normal_abspath_result
+
+    # Ascend the tree starting from libdir
+    while :; do
+      # check if we have found a prefix of bindir
+      case $func_relative_path_tbindir in
+        $func_relative_path_tlibdir)
+          # found an exact match
+          func_relative_path_tcancelled=
+          break
+          ;;
+        $func_relative_path_tlibdir*)
+          # found a matching prefix
+          func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+          func_relative_path_tcancelled=$func_stripname_result
+          if test -z "$func_relative_path_result"; then
+            func_relative_path_result=.
+          fi
+          break
+          ;;
+        *)
+          func_dirname $func_relative_path_tlibdir
+          func_relative_path_tlibdir=$func_dirname_result
+          if test -z "$func_relative_path_tlibdir"; then
+            # Have to descend all the way to the root!
+            func_relative_path_result=../$func_relative_path_result
+            func_relative_path_tcancelled=$func_relative_path_tbindir
+            break
+          fi
+          func_relative_path_result=../$func_relative_path_result
+          ;;
+      esac
+    done
+
+    # Now calculate path; take care to avoid doubling-up slashes.
+    func_stripname '' '/' "$func_relative_path_result"
+    func_relative_path_result=$func_stripname_result
+    func_stripname '/' '/' "$func_relative_path_tcancelled"
+    if test -n "$func_stripname_result"; then
+      func_append func_relative_path_result "/$func_stripname_result"
+    fi
+
+    # Normalisation. If bindir is libdir, return '.' else relative path.
+    if test -n "$func_relative_path_result"; then
+      func_stripname './' '' "$func_relative_path_result"
+      func_relative_path_result=$func_stripname_result
+    fi
+
+    test -n "$func_relative_path_result" || func_relative_path_result=.
+
+    :
+}
+
+
+# func_quote_for_eval ARG...
+# --------------------------
+# Aesthetically quote ARGs to be evaled later.
+# This function returns two values:
+#   i) func_quote_for_eval_result
+#      double-quoted, suitable for a subsequent eval
+#  ii) func_quote_for_eval_unquoted_result
+#      has all characters that are still active within double
+#      quotes backslashified.
+func_quote_for_eval ()
+{
+    $debug_cmd
+
+    func_quote_for_eval_unquoted_result=
+    func_quote_for_eval_result=
+    while test 0 -lt $#; do
+      case $1 in
+        *[\\\`\"\$]*)
+	  _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
+        *)
+          _G_unquoted_arg=$1 ;;
+      esac
+      if test -n "$func_quote_for_eval_unquoted_result"; then
+	func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
+      else
+        func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
+      fi
+
+      case $_G_unquoted_arg in
+        # Double-quote args containing shell metacharacters to delay
+        # word splitting, command substitution and variable expansion
+        # for a subsequent eval.
+        # Many Bourne shells cannot handle close brackets correctly
+        # in scan sets, so we specify it separately.
+        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+          _G_quoted_arg=\"$_G_unquoted_arg\"
+          ;;
+        *)
+          _G_quoted_arg=$_G_unquoted_arg
+	  ;;
+      esac
+
+      if test -n "$func_quote_for_eval_result"; then
+	func_append func_quote_for_eval_result " $_G_quoted_arg"
+      else
+        func_append func_quote_for_eval_result "$_G_quoted_arg"
+      fi
+      shift
+    done
+}
+
+
+# func_quote_for_expand ARG
+# -------------------------
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
+{
+    $debug_cmd
+
+    case $1 in
+      *[\\\`\"]*)
+	_G_arg=`$ECHO "$1" | $SED \
+	    -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
+      *)
+        _G_arg=$1 ;;
+    esac
+
+    case $_G_arg in
+      # Double-quote args containing shell metacharacters to delay
+      # word splitting and command substitution for a subsequent eval.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, so we specify it separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+        _G_arg=\"$_G_arg\"
+        ;;
+    esac
+
+    func_quote_for_expand_result=$_G_arg
+}
+
+
+# func_stripname PREFIX SUFFIX NAME
+# ---------------------------------
+# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+if test yes = "$_G_HAVE_XSI_OPS"; then
+  eval 'func_stripname ()
+  {
+    $debug_cmd
+
+    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+    # positional parameters, so assign one to ordinary variable first.
+    func_stripname_result=$3
+    func_stripname_result=${func_stripname_result#"$1"}
+    func_stripname_result=${func_stripname_result%"$2"}
+  }'
+else
+  func_stripname ()
+  {
+    $debug_cmd
+
+    case $2 in
+      .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;;
+      *)  func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;;
+    esac
+  }
+fi
+
+
+# func_show_eval CMD [FAIL_EXP]
+# -----------------------------
+# Unless opt_quiet is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+    $debug_cmd
+
+    _G_cmd=$1
+    _G_fail_exp=${2-':'}
+
+    func_quote_for_expand "$_G_cmd"
+    eval "func_notquiet $func_quote_for_expand_result"
+
+    $opt_dry_run || {
+      eval "$_G_cmd"
+      _G_status=$?
+      if test 0 -ne "$_G_status"; then
+	eval "(exit $_G_status); $_G_fail_exp"
+      fi
+    }
+}
+
+
+# func_show_eval_locale CMD [FAIL_EXP]
+# ------------------------------------
+# Unless opt_quiet is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.  Use the saved locale for evaluation.
+func_show_eval_locale ()
+{
+    $debug_cmd
+
+    _G_cmd=$1
+    _G_fail_exp=${2-':'}
+
+    $opt_quiet || {
+      func_quote_for_expand "$_G_cmd"
+      eval "func_echo $func_quote_for_expand_result"
+    }
+
+    $opt_dry_run || {
+      eval "$_G_user_locale
+	    $_G_cmd"
+      _G_status=$?
+      eval "$_G_safe_locale"
+      if test 0 -ne "$_G_status"; then
+	eval "(exit $_G_status); $_G_fail_exp"
+      fi
+    }
+}
+
+
+# func_tr_sh
+# ----------
+# Turn $1 into a string suitable for a shell variable name.
+# Result is stored in $func_tr_sh_result.  All characters
+# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
+# if $1 begins with a digit, a '_' is prepended as well.
+func_tr_sh ()
+{
+    $debug_cmd
+
+    case $1 in
+    [0-9]* | *[!a-zA-Z0-9_]*)
+      func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'`
+      ;;
+    * )
+      func_tr_sh_result=$1
+      ;;
+    esac
+}
+
+
+# func_verbose ARG...
+# -------------------
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+    $debug_cmd
+
+    $opt_verbose && func_echo "$*"
+
+    :
+}
+
+
+# func_warn_and_continue ARG...
+# -----------------------------
+# Echo program name prefixed warning message to standard error.
+func_warn_and_continue ()
+{
+    $debug_cmd
+
+    $require_term_colors
+
+    func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2
+}
+
+
+# func_warning CATEGORY ARG...
+# ----------------------------
+# Echo program name prefixed warning message to standard error. Warning
+# messages can be filtered according to CATEGORY, where this function
+# elides messages where CATEGORY is not listed in the global variable
+# 'opt_warning_types'.
+func_warning ()
+{
+    $debug_cmd
+
+    # CATEGORY must be in the warning_categories list!
+    case " $warning_categories " in
+      *" $1 "*) ;;
+      *) func_internal_error "invalid warning category '$1'" ;;
+    esac
+
+    _G_category=$1
+    shift
+
+    case " $opt_warning_types " in
+      *" $_G_category "*) $warning_func ${1+"$@"} ;;
+    esac
+}
+
+
+# func_sort_ver VER1 VER2
+# -----------------------
+# 'sort -V' is not generally available.
+# Note this deviates from the version comparison in automake
+# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
+# but this should suffice as we won't be specifying old
+# version formats or redundant trailing .0 in bootstrap.conf.
+# If we did want full compatibility then we should probably
+# use m4_version_compare from autoconf.
+func_sort_ver ()
+{
+    $debug_cmd
+
+    printf '%s\n%s\n' "$1" "$2" \
+      | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n
+}
+
+# func_lt_ver PREV CURR
+# ---------------------
+# Return true if PREV and CURR are in the correct order according to
+# func_sort_ver, otherwise false.  Use it like this:
+#
+#  func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..."
+func_lt_ver ()
+{
+    $debug_cmd
+
+    test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q`
+}
+
+
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
+#! /bin/sh
+
+# Set a version string for this script.
+scriptversion=2014-01-07.03; # UTC
+
+# A portable, pluggable option parser for Bourne shell.
+# Written by Gary V. Vaughan, 2010
+
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Please report bugs or propose patches to gary@gnu.org.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# This file is a library for parsing options in your shell scripts along
+# with assorted other useful supporting features that you can make use
+# of too.
+#
+# For the simplest scripts you might need only:
+#
+#   #!/bin/sh
+#   . relative/path/to/funclib.sh
+#   . relative/path/to/options-parser
+#   scriptversion=1.0
+#   func_options ${1+"$@"}
+#   eval set dummy "$func_options_result"; shift
+#   ...rest of your script...
+#
+# In order for the '--version' option to work, you will need to have a
+# suitably formatted comment like the one at the top of this file
+# starting with '# Written by ' and ending with '# warranty; '.
+#
+# For '-h' and '--help' to work, you will also need a one line
+# description of your script's purpose in a comment directly above the
+# '# Written by ' line, like the one at the top of this file.
+#
+# The default options also support '--debug', which will turn on shell
+# execution tracing (see the comment above debug_cmd below for another
+# use), and '--verbose' and the func_verbose function to allow your script
+# to display verbose messages only when your user has specified
+# '--verbose'.
+#
+# After sourcing this file, you can plug processing for additional
+# options by amending the variables from the 'Configuration' section
+# below, and following the instructions in the 'Option parsing'
+# section further down.
+
+## -------------- ##
+## Configuration. ##
+## -------------- ##
+
+# You should override these variables in your script after sourcing this
+# file so that they reflect the customisations you have added to the
+# option parser.
+
+# The usage line for option parsing errors and the start of '-h' and
+# '--help' output messages. You can embed shell variables for delayed
+# expansion at the time the message is displayed, but you will need to
+# quote other shell meta-characters carefully to prevent them being
+# expanded when the contents are evaled.
+usage='$progpath [OPTION]...'
+
+# Short help message in response to '-h' and '--help'.  Add to this or
+# override it after sourcing this library to reflect the full set of
+# options your script accepts.
+usage_message="\
+       --debug        enable verbose shell tracing
+   -W, --warnings=CATEGORY
+                      report the warnings falling in CATEGORY [all]
+   -v, --verbose      verbosely report processing
+       --version      print version information and exit
+   -h, --help         print short or long help message and exit
+"
+
+# Additional text appended to 'usage_message' in response to '--help'.
+long_help_message="
+Warning categories include:
+       'all'          show all warnings
+       'none'         turn off all the warnings
+       'error'        warnings are treated as fatal errors"
+
+# Help message printed before fatal option parsing errors.
+fatal_help="Try '\$progname --help' for more information."
+
+
+
+## ------------------------- ##
+## Hook function management. ##
+## ------------------------- ##
+
+# This section contains functions for adding, removing, and running hooks
+# to the main code.  A hook is just a named list of of function, that can
+# be run in order later on.
+
+# func_hookable FUNC_NAME
+# -----------------------
+# Declare that FUNC_NAME will run hooks added with
+# 'func_add_hook FUNC_NAME ...'.
+func_hookable ()
+{
+    $debug_cmd
+
+    func_append hookable_fns " $1"
+}
+
+
+# func_add_hook FUNC_NAME HOOK_FUNC
+# ---------------------------------
+# Request that FUNC_NAME call HOOK_FUNC before it returns.  FUNC_NAME must
+# first have been declared "hookable" by a call to 'func_hookable'.
+func_add_hook ()
+{
+    $debug_cmd
+
+    case " $hookable_fns " in
+      *" $1 "*) ;;
+      *) func_fatal_error "'$1' does not accept hook functions." ;;
+    esac
+
+    eval func_append ${1}_hooks '" $2"'
+}
+
+
+# func_remove_hook FUNC_NAME HOOK_FUNC
+# ------------------------------------
+# Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
+func_remove_hook ()
+{
+    $debug_cmd
+
+    eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`'
+}
+
+
+# func_run_hooks FUNC_NAME [ARG]...
+# ---------------------------------
+# Run all hook functions registered to FUNC_NAME.
+# It is assumed that the list of hook functions contains nothing more
+# than a whitespace-delimited list of legal shell function names, and
+# no effort is wasted trying to catch shell meta-characters or preserve
+# whitespace.
+func_run_hooks ()
+{
+    $debug_cmd
+
+    case " $hookable_fns " in
+      *" $1 "*) ;;
+      *) func_fatal_error "'$1' does not support hook funcions.n" ;;
+    esac
+
+    eval _G_hook_fns=\$$1_hooks; shift
+
+    for _G_hook in $_G_hook_fns; do
+      eval $_G_hook '"$@"'
+
+      # store returned options list back into positional
+      # parameters for next 'cmd' execution.
+      eval _G_hook_result=\$${_G_hook}_result
+      eval set dummy "$_G_hook_result"; shift
+    done
+
+    func_quote_for_eval ${1+"$@"}
+    func_run_hooks_result=$func_quote_for_eval_result
+}
+
+
+
+## --------------- ##
+## Option parsing. ##
+## --------------- ##
+
+# In order to add your own option parsing hooks, you must accept the
+# full positional parameter list in your hook function, remove any
+# options that you action, and then pass back the remaining unprocessed
+# options in '<hooked_function_name>_result', escaped suitably for
+# 'eval'.  Like this:
+#
+#    my_options_prep ()
+#    {
+#        $debug_cmd
+#
+#        # Extend the existing usage message.
+#        usage_message=$usage_message'
+#      -s, --silent       don'\''t print informational messages
+#    '
+#
+#        func_quote_for_eval ${1+"$@"}
+#        my_options_prep_result=$func_quote_for_eval_result
+#    }
+#    func_add_hook func_options_prep my_options_prep
+#
+#
+#    my_silent_option ()
+#    {
+#        $debug_cmd
+#
+#        # Note that for efficiency, we parse as many options as we can
+#        # recognise in a loop before passing the remainder back to the
+#        # caller on the first unrecognised argument we encounter.
+#        while test $# -gt 0; do
+#          opt=$1; shift
+#          case $opt in
+#            --silent|-s) opt_silent=: ;;
+#            # Separate non-argument short options:
+#            -s*)         func_split_short_opt "$_G_opt"
+#                         set dummy "$func_split_short_opt_name" \
+#                             "-$func_split_short_opt_arg" ${1+"$@"}
+#                         shift
+#                         ;;
+#            *)            set dummy "$_G_opt" "$*"; shift; break ;;
+#          esac
+#        done
+#
+#        func_quote_for_eval ${1+"$@"}
+#        my_silent_option_result=$func_quote_for_eval_result
+#    }
+#    func_add_hook func_parse_options my_silent_option
+#
+#
+#    my_option_validation ()
+#    {
+#        $debug_cmd
+#
+#        $opt_silent && $opt_verbose && func_fatal_help "\
+#    '--silent' and '--verbose' options are mutually exclusive."
+#
+#        func_quote_for_eval ${1+"$@"}
+#        my_option_validation_result=$func_quote_for_eval_result
+#    }
+#    func_add_hook func_validate_options my_option_validation
+#
+# You'll alse need to manually amend $usage_message to reflect the extra
+# options you parse.  It's preferable to append if you can, so that
+# multiple option parsing hooks can be added safely.
+
+
+# func_options [ARG]...
+# ---------------------
+# All the functions called inside func_options are hookable. See the
+# individual implementations for details.
+func_hookable func_options
+func_options ()
+{
+    $debug_cmd
+
+    func_options_prep ${1+"$@"}
+    eval func_parse_options \
+        ${func_options_prep_result+"$func_options_prep_result"}
+    eval func_validate_options \
+        ${func_parse_options_result+"$func_parse_options_result"}
+
+    eval func_run_hooks func_options \
+        ${func_validate_options_result+"$func_validate_options_result"}
+
+    # save modified positional parameters for caller
+    func_options_result=$func_run_hooks_result
+}
+
+
+# func_options_prep [ARG]...
+# --------------------------
+# All initialisations required before starting the option parse loop.
+# Note that when calling hook functions, we pass through the list of
+# positional parameters.  If a hook function modifies that list, and
+# needs to propogate that back to rest of this script, then the complete
+# modified list must be put in 'func_run_hooks_result' before
+# returning.
+func_hookable func_options_prep
+func_options_prep ()
+{
+    $debug_cmd
+
+    # Option defaults:
+    opt_verbose=false
+    opt_warning_types=
+
+    func_run_hooks func_options_prep ${1+"$@"}
+
+    # save modified positional parameters for caller
+    func_options_prep_result=$func_run_hooks_result
+}
+
+
+# func_parse_options [ARG]...
+# ---------------------------
+# The main option parsing loop.
+func_hookable func_parse_options
+func_parse_options ()
+{
+    $debug_cmd
+
+    func_parse_options_result=
+
+    # this just eases exit handling
+    while test $# -gt 0; do
+      # Defer to hook functions for initial option parsing, so they
+      # get priority in the event of reusing an option name.
+      func_run_hooks func_parse_options ${1+"$@"}
+
+      # Adjust func_parse_options positional parameters to match
+      eval set dummy "$func_run_hooks_result"; shift
+
+      # Break out of the loop if we already parsed every option.
+      test $# -gt 0 || break
+
+      _G_opt=$1
+      shift
+      case $_G_opt in
+        --debug|-x)   debug_cmd='set -x'
+                      func_echo "enabling shell trace mode"
+                      $debug_cmd
+                      ;;
+
+        --no-warnings|--no-warning|--no-warn)
+                      set dummy --warnings none ${1+"$@"}
+                      shift
+		      ;;
+
+        --warnings|--warning|-W)
+                      test $# = 0 && func_missing_arg $_G_opt && break
+                      case " $warning_categories $1" in
+                        *" $1 "*)
+                          # trailing space prevents matching last $1 above
+                          func_append_uniq opt_warning_types " $1"
+                          ;;
+                        *all)
+                          opt_warning_types=$warning_categories
+                          ;;
+                        *none)
+                          opt_warning_types=none
+                          warning_func=:
+                          ;;
+                        *error)
+                          opt_warning_types=$warning_categories
+                          warning_func=func_fatal_error
+                          ;;
+                        *)
+                          func_fatal_error \
+                             "unsupported warning category: '$1'"
+                          ;;
+                      esac
+                      shift
+                      ;;
+
+        --verbose|-v) opt_verbose=: ;;
+        --version)    func_version ;;
+        -\?|-h)       func_usage ;;
+        --help)       func_help ;;
+
+	# Separate optargs to long options (plugins may need this):
+	--*=*)        func_split_equals "$_G_opt"
+	              set dummy "$func_split_equals_lhs" \
+                          "$func_split_equals_rhs" ${1+"$@"}
+                      shift
+                      ;;
+
+       # Separate optargs to short options:
+        -W*)
+                      func_split_short_opt "$_G_opt"
+                      set dummy "$func_split_short_opt_name" \
+                          "$func_split_short_opt_arg" ${1+"$@"}
+                      shift
+                      ;;
+
+        # Separate non-argument short options:
+        -\?*|-h*|-v*|-x*)
+                      func_split_short_opt "$_G_opt"
+                      set dummy "$func_split_short_opt_name" \
+                          "-$func_split_short_opt_arg" ${1+"$@"}
+                      shift
+                      ;;
+
+        --)           break ;;
+        -*)           func_fatal_help "unrecognised option: '$_G_opt'" ;;
+        *)            set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+      esac
+    done
+
+    # save modified positional parameters for caller
+    func_quote_for_eval ${1+"$@"}
+    func_parse_options_result=$func_quote_for_eval_result
+}
+
+
+# func_validate_options [ARG]...
+# ------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+func_hookable func_validate_options
+func_validate_options ()
+{
+    $debug_cmd
+
+    # Display all warnings if -W was not given.
+    test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
+
+    func_run_hooks func_validate_options ${1+"$@"}
+
+    # Bail if the options were screwed!
+    $exit_cmd $EXIT_FAILURE
+
+    # save modified positional parameters for caller
+    func_validate_options_result=$func_run_hooks_result
+}
+
+
+
+## ----------------- ##
+## Helper functions. ##
+## ----------------- ##
+
+# This section contains the helper functions used by the rest of the
+# hookable option parser framework in ascii-betical order.
+
+
+# func_fatal_help ARG...
+# ----------------------
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+    $debug_cmd
+
+    eval \$ECHO \""Usage: $usage"\"
+    eval \$ECHO \""$fatal_help"\"
+    func_error ${1+"$@"}
+    exit $EXIT_FAILURE
+}
+
+
+# func_help
+# ---------
+# Echo long help message to standard output and exit.
+func_help ()
+{
+    $debug_cmd
+
+    func_usage_message
+    $ECHO "$long_help_message"
+    exit 0
+}
+
+
+# func_missing_arg ARGNAME
+# ------------------------
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+    $debug_cmd
+
+    func_error "Missing argument for '$1'."
+    exit_cmd=exit
+}
+
+
+# func_split_equals STRING
+# ------------------------
+# Set func_split_equals_lhs and func_split_equals_rhs shell variables after
+# splitting STRING at the '=' sign.
+test -z "$_G_HAVE_XSI_OPS" \
+    && (eval 'x=a/b/c;
+      test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+    && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+  # This is an XSI compatible shell, allowing a faster implementation...
+  eval 'func_split_equals ()
+  {
+      $debug_cmd
+
+      func_split_equals_lhs=${1%%=*}
+      func_split_equals_rhs=${1#*=}
+      test "x$func_split_equals_lhs" = "x$1" \
+        && func_split_equals_rhs=
+  }'
+else
+  # ...otherwise fall back to using expr, which is often a shell builtin.
+  func_split_equals ()
+  {
+      $debug_cmd
+
+      func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
+      func_split_equals_rhs=
+      test "x$func_split_equals_lhs" = "x$1" \
+        || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
+  }
+fi #func_split_equals
+
+
+# func_split_short_opt SHORTOPT
+# -----------------------------
+# Set func_split_short_opt_name and func_split_short_opt_arg shell
+# variables after splitting SHORTOPT after the 2nd character.
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+  # This is an XSI compatible shell, allowing a faster implementation...
+  eval 'func_split_short_opt ()
+  {
+      $debug_cmd
+
+      func_split_short_opt_arg=${1#??}
+      func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
+  }'
+else
+  # ...otherwise fall back to using expr, which is often a shell builtin.
+  func_split_short_opt ()
+  {
+      $debug_cmd
+
+      func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
+      func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
+  }
+fi #func_split_short_opt
+
+
+# func_usage
+# ----------
+# Echo short help message to standard output and exit.
+func_usage ()
+{
+    $debug_cmd
+
+    func_usage_message
+    $ECHO "Run '$progname --help |${PAGER-more}' for full usage"
+    exit 0
+}
+
+
+# func_usage_message
+# ------------------
+# Echo short help message to standard output.
+func_usage_message ()
+{
+    $debug_cmd
+
+    eval \$ECHO \""Usage: $usage"\"
+    echo
+    $SED -n 's|^# ||
+        /^Written by/{
+          x;p;x
+        }
+	h
+	/^Written by/q' < "$progpath"
+    echo
+    eval \$ECHO \""$usage_message"\"
+}
+
+
+# func_version
+# ------------
+# Echo version message to standard output and exit.
+func_version ()
+{
+    $debug_cmd
+
+    printf '%s\n' "$progname $scriptversion"
+    $SED -n '
+        /(C)/!b go
+        :more
+        /\./!{
+          N
+          s|\n# | |
+          b more
+        }
+        :go
+        /^# Written by /,/# warranty; / {
+          s|^# ||
+          s|^# *$||
+          s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
+          p
+        }
+        /^# Written by / {
+          s|^# ||
+          p
+        }
+        /^warranty; /q' < "$progpath"
+
+    exit $?
+}
+
+
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
+
+# Set a version string.
+scriptversion='(GNU libtool) 2.4.5'
+
+
+# func_echo ARG...
+# ----------------
+# Libtool also displays the current mode in messages, so override
+# funclib.sh func_echo with this custom definition.
+func_echo ()
+{
+    $debug_cmd
+
+    _G_message=$*
+
+    func_echo_IFS=$IFS
+    IFS=$nl
+    for _G_line in $_G_message; do
+      IFS=$func_echo_IFS
+      $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line"
+    done
+    IFS=$func_echo_IFS
+}
+
+
+# func_warning ARG...
+# -------------------
+# Libtool warnings are not categorized, so override funclib.sh
+# func_warning with this simpler definition.
+func_warning ()
+{
+    $debug_cmd
+
+    $warning_func ${1+"$@"}
+}
+
+
+## ---------------- ##
+## Options parsing. ##
+## ---------------- ##
+
+# Hook in the functions to make sure our own options are parsed during
+# the option parsing loop.
+
+usage='$progpath [OPTION]... [MODE-ARG]...'
+
+# Short help message in response to '-h'.
+usage_message="Options:
+       --config             show all configuration variables
+       --debug              enable verbose shell tracing
+   -n, --dry-run            display commands without modifying any files
+       --features           display basic configuration information and exit
+       --mode=MODE          use operation mode MODE
+       --no-warnings        equivalent to '-Wnone'
+       --preserve-dup-deps  don't remove duplicate dependency libraries
+       --quiet, --silent    don't print informational messages
+       --tag=TAG            use configuration variables from tag TAG
+   -v, --verbose            print more informational messages than default
+       --version            print version information
+   -W, --warnings=CATEGORY  report the warnings falling in CATEGORY [all]
+   -h, --help, --help-all   print short, long, or detailed help message
+"
+
+# Additional text appended to 'usage_message' in response to '--help'.
+long_help_message=$long_help_message"
+
+MODE must be one of the following:
+
+       clean           remove files from the build directory
+       compile         compile a source file into a libtool object
+       execute         automatically set library path, then run a program
+       finish          complete the installation of libtool libraries
+       install         install libraries or executables
+       link            create a library or an executable
+       uninstall       remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE.  When passed as first option,
+'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that.
+Try '$progname --help --mode=MODE' for a more detailed description of MODE.
+
+When reporting a bug, please describe a test case to reproduce it and
+include the following information:
+
+       host-triplet:   $host
+       shell:          $SHELL
+       compiler:       $LTCC
+       compiler flags: $LTCFLAGS
+       linker:         $LD (gnu? $with_gnu_ld)
+       version:        $progname (GNU libtool) 2.4.5
+       automake:       `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
+       autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
+
+Report bugs to <bug-libtool@gnu.org>.
+GNU libtool home page: <http://www.gnu.org/software/libtool/>.
+General help using GNU software: <http://www.gnu.org/gethelp/>."
+
+
+# func_lo2o OBJECT-NAME
+# ---------------------
+# Transform OBJECT-NAME from a '.lo' suffix to the platform specific
+# object suffix.
+
+lo2o=s/\\.lo\$/.$objext/
+o2lo=s/\\.$objext\$/.lo/
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+  eval 'func_lo2o ()
+  {
+    case $1 in
+      *.lo) func_lo2o_result=${1%.lo}.$objext ;;
+      *   ) func_lo2o_result=$1               ;;
+    esac
+  }'
+
+  # func_xform LIBOBJ-OR-SOURCE
+  # ---------------------------
+  # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise)
+  # suffix to a '.lo' libtool-object suffix.
+  eval 'func_xform ()
+  {
+    func_xform_result=${1%.*}.lo
+  }'
+else
+  # ...otherwise fall back to using sed.
+  func_lo2o ()
+  {
+    func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"`
+  }
+
+  func_xform ()
+  {
+    func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'`
+  }
+fi
+
+
+# func_fatal_configuration ARG...
+# -------------------------------
+# Echo program name prefixed message to standard error, followed by
+# a configuration failure hint, and exit.
+func_fatal_configuration ()
+{
+    func__fatal_error ${1+"$@"} \
+      "See the $PACKAGE documentation for more information." \
+      "Fatal configuration error."
+}
+
+
+# func_config
+# -----------
+# Display the configuration for all the tags in this script.
+func_config ()
+{
+    re_begincf='^# ### BEGIN LIBTOOL'
+    re_endcf='^# ### END LIBTOOL'
+
+    # Default configuration.
+    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
+
+    # Now print the configurations for the tags.
+    for tagname in $taglist; do
+      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
+    done
+
+    exit $?
+}
+
+
+# func_features
+# -------------
+# Display the features supported by this script.
+func_features ()
+{
+    echo "host: $host"
+    if test yes = "$build_libtool_libs"; then
+      echo "enable shared libraries"
+    else
+      echo "disable shared libraries"
+    fi
+    if test yes = "$build_old_libs"; then
+      echo "enable static libraries"
+    else
+      echo "disable static libraries"
+    fi
+
+    exit $?
+}
+
+
+# func_enable_tag TAGNAME
+# -----------------------
+# Verify that TAGNAME is valid, and either flag an error and exit, or
+# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
+# variable here.
+func_enable_tag ()
+{
+    # Global variable:
+    tagname=$1
+
+    re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+    re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+    sed_extractcf=/$re_begincf/,/$re_endcf/p
+
+    # Validate tagname.
+    case $tagname in
+      *[!-_A-Za-z0-9,/]*)
+        func_fatal_error "invalid tag name: $tagname"
+        ;;
+    esac
+
+    # Don't test for the "default" C tag, as we know it's
+    # there but not specially marked.
+    case $tagname in
+        CC) ;;
+    *)
+        if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+	  taglist="$taglist $tagname"
+
+	  # Evaluate the configuration.  Be careful to quote the path
+	  # and the sed script, to avoid splitting on whitespace, but
+	  # also don't use non-portable quotes within backquotes within
+	  # quotes we have to do it in 2 steps:
+	  extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+	  eval "$extractedcf"
+        else
+	  func_error "ignoring unknown tag $tagname"
+        fi
+        ;;
+    esac
+}
+
+
+# func_check_version_match
+# ------------------------
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
+{
+    if test "$package_revision" != "$macro_revision"; then
+      if test "$VERSION" != "$macro_version"; then
+        if test -z "$macro_version"; then
+          cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+        else
+          cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+        fi
+      else
+        cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+      fi
+
+      exit $EXIT_MISMATCH
+    fi
+}
+
+
+# libtool_options_prep [ARG]...
+# -----------------------------
+# Preparation for options parsed by libtool.
+libtool_options_prep ()
+{
+    $debug_mode
+
+    # Option defaults:
+    opt_config=false
+    opt_dlopen=
+    opt_dry_run=false
+    opt_help=false
+    opt_mode=
+    opt_preserve_dup_deps=false
+    opt_quiet=false
+
+    nonopt=
+    preserve_args=
+
+    # Shorthand for --mode=foo, only valid as the first argument
+    case $1 in
+    clean|clea|cle|cl)
+      shift; set dummy --mode clean ${1+"$@"}; shift
+      ;;
+    compile|compil|compi|comp|com|co|c)
+      shift; set dummy --mode compile ${1+"$@"}; shift
+      ;;
+    execute|execut|execu|exec|exe|ex|e)
+      shift; set dummy --mode execute ${1+"$@"}; shift
+      ;;
+    finish|finis|fini|fin|fi|f)
+      shift; set dummy --mode finish ${1+"$@"}; shift
+      ;;
+    install|instal|insta|inst|ins|in|i)
+      shift; set dummy --mode install ${1+"$@"}; shift
+      ;;
+    link|lin|li|l)
+      shift; set dummy --mode link ${1+"$@"}; shift
+      ;;
+    uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+      shift; set dummy --mode uninstall ${1+"$@"}; shift
+      ;;
+    esac
+
+    # Pass back the list of options.
+    func_quote_for_eval ${1+"$@"}
+    libtool_options_prep_result=$func_quote_for_eval_result
+}
+func_add_hook func_options_prep libtool_options_prep
+
+
+# libtool_parse_options [ARG]...
+# ---------------------------------
+# Provide handling for libtool specific options.
+libtool_parse_options ()
+{
+    $debug_cmd
+
+    # Perform our own loop to consume as many options as possible in
+    # each iteration.
+    while test $# -gt 0; do
+      _G_opt=$1
+      shift
+      case $_G_opt in
+        --dry-run|--dryrun|-n)
+                        opt_dry_run=:
+                        ;;
+
+        --config)       func_config ;;
+
+        --dlopen|-dlopen)
+                        opt_dlopen="${opt_dlopen+$opt_dlopen
+}$1"
+                        shift
+                        ;;
+
+        --preserve-dup-deps)
+                        opt_preserve_dup_deps=: ;;
+
+        --features)     func_features ;;
+
+        --finish)       set dummy --mode finish ${1+"$@"}; shift ;;
+
+        --help)         opt_help=: ;;
+
+        --help-all)     opt_help=': help-all' ;;
+
+        --mode)         test $# = 0 && func_missing_arg $_G_opt && break
+                        opt_mode=$1
+                        case $1 in
+                          # Valid mode arguments:
+                          clean|compile|execute|finish|install|link|relink|uninstall) ;;
+
+                          # Catch anything else as an error
+                          *) func_error "invalid argument for $_G_opt"
+                             exit_cmd=exit
+                             break
+                             ;;
+                        esac
+                        shift
+                        ;;
+
+        --no-silent|--no-quiet)
+                        opt_quiet=false
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        --no-warnings|--no-warning|--no-warn)
+                        opt_warning=false
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        --no-verbose)
+                        opt_verbose=false
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        --silent|--quiet)
+                        opt_quiet=:
+                        opt_verbose=false
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        --tag)          test $# = 0 && func_missing_arg $_G_opt && break
+                        opt_tag=$1
+                        func_append preserve_args " $_G_opt $1"
+                        func_enable_tag "$1"
+                        shift
+                        ;;
+
+        --verbose|-v)   opt_quiet=false
+                        opt_verbose=:
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+	# An option not handled by this hook function:
+        *)		set dummy "$_G_opt" ${1+"$@"};	shift; break  ;;
+      esac
+    done
+
+
+    # save modified positional parameters for caller
+    func_quote_for_eval ${1+"$@"}
+    libtool_parse_options_result=$func_quote_for_eval_result
+}
+func_add_hook func_parse_options libtool_parse_options
+
+
+
+# libtool_validate_options [ARG]...
+# ---------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+libtool_validate_options ()
+{
+    # save first non-option argument
+    if test 0 -lt $#; then
+      nonopt=$1
+      shift
+    fi
+
+    # preserve --debug
+    test : = "$debug_cmd" || func_append preserve_args " --debug"
+
+    case $host in
+      # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
+      # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
+      *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
+        # don't eliminate duplications in $postdeps and $predeps
+        opt_duplicate_compiler_generated_deps=:
+        ;;
+      *)
+        opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
+        ;;
+    esac
+
+    $opt_help || {
+      # Sanity checks first:
+      func_check_version_match
+
+      test yes != "$build_libtool_libs" \
+        && test yes != "$build_old_libs" \
+        && func_fatal_configuration "not configured to build any kind of library"
+
+      # Darwin sucks
+      eval std_shrext=\"$shrext_cmds\"
+
+      # Only execute mode is allowed to have -dlopen flags.
+      if test -n "$opt_dlopen" && test execute != "$opt_mode"; then
+        func_error "unrecognized option '-dlopen'"
+        $ECHO "$help" 1>&2
+        exit $EXIT_FAILURE
+      fi
+
+      # Change the help message to a mode-specific one.
+      generic_help=$help
+      help="Try '$progname --help --mode=$opt_mode' for more information."
+    }
+
+    # Pass back the unparsed argument list
+    func_quote_for_eval ${1+"$@"}
+    libtool_validate_options_result=$func_quote_for_eval_result
+}
+func_add_hook func_validate_options libtool_validate_options
+
+
+# Process options as early as possible so that --help and --version
+# can return quickly.
+func_options ${1+"$@"}
+eval set dummy "$func_options_result"; shift
+
+
+
+## ----------- ##
+##    Main.    ##
+## ----------- ##
+
+magic='%%%MAGIC variable%%%'
+magic_exe='%%%MAGIC EXE variable%%%'
+
+# Global variables.
+extracted_archives=
+extracted_serial=0
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end.  This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+
+# func_generated_by_libtool
+# True iff stdin has been generated by Libtool. This function is only
+# a basic sanity check; it will hardly flush out determined imposters.
+func_generated_by_libtool_p ()
+{
+  $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
+# func_lalib_p file
+# True iff FILE is a libtool '.la' library or '.lo' object file.
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_lalib_p ()
+{
+    test -f "$1" &&
+      $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p
+}
+
+# func_lalib_unsafe_p file
+# True iff FILE is a libtool '.la' library or '.lo' object file.
+# This function implements the same check as func_lalib_p without
+# resorting to external programs.  To this end, it redirects stdin and
+# closes it afterwards, without saving the original file descriptor.
+# As a safety measure, use it only where a negative result would be
+# fatal anyway.  Works if 'file' does not exist.
+func_lalib_unsafe_p ()
+{
+    lalib_p=no
+    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
+	for lalib_p_l in 1 2 3 4
+	do
+	    read lalib_p_line
+	    case $lalib_p_line in
+		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
+	    esac
+	done
+	exec 0<&5 5<&-
+    fi
+    test yes = "$lalib_p"
+}
+
+# func_ltwrapper_script_p file
+# True iff FILE is a libtool wrapper script
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_script_p ()
+{
+    test -f "$1" &&
+      $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p
+}
+
+# func_ltwrapper_executable_p file
+# True iff FILE is a libtool wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_executable_p ()
+{
+    func_ltwrapper_exec_suffix=
+    case $1 in
+    *.exe) ;;
+    *) func_ltwrapper_exec_suffix=.exe ;;
+    esac
+    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
+}
+
+# func_ltwrapper_scriptname file
+# Assumes file is an ltwrapper_executable
+# uses $file to determine the appropriate filename for a
+# temporary ltwrapper_script.
+func_ltwrapper_scriptname ()
+{
+    func_dirname_and_basename "$1" "" "."
+    func_stripname '' '.exe' "$func_basename_result"
+    func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper
+}
+
+# func_ltwrapper_p file
+# True iff FILE is a libtool wrapper script or wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_p ()
+{
+    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
+}
+
+
+# func_execute_cmds commands fail_cmd
+# Execute tilde-delimited COMMANDS.
+# If FAIL_CMD is given, eval that upon failure.
+# FAIL_CMD may read-access the current command in variable CMD!
+func_execute_cmds ()
+{
+    $debug_cmd
+
+    save_ifs=$IFS; IFS='~'
+    for cmd in $1; do
+      IFS=$sp$nl
+      eval cmd=\"$cmd\"
+      IFS=$save_ifs
+      func_show_eval "$cmd" "${2-:}"
+    done
+    IFS=$save_ifs
+}
+
+
+# func_source file
+# Source FILE, adding directory component if necessary.
+# Note that it is not necessary on cygwin/mingw to append a dot to
+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
+# behavior happens only for exec(3), not for open(2)!  Also, sourcing
+# 'FILE.' does not work on cygwin managed mounts.
+func_source ()
+{
+    $debug_cmd
+
+    case $1 in
+    */* | *\\*)	. "$1" ;;
+    *)		. "./$1" ;;
+    esac
+}
+
+
+# func_resolve_sysroot PATH
+# Replace a leading = in PATH with a sysroot.  Store the result into
+# func_resolve_sysroot_result
+func_resolve_sysroot ()
+{
+  func_resolve_sysroot_result=$1
+  case $func_resolve_sysroot_result in
+  =*)
+    func_stripname '=' '' "$func_resolve_sysroot_result"
+    func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
+    ;;
+  esac
+}
+
+# func_replace_sysroot PATH
+# If PATH begins with the sysroot, replace it with = and
+# store the result into func_replace_sysroot_result.
+func_replace_sysroot ()
+{
+  case $lt_sysroot:$1 in
+  ?*:"$lt_sysroot"*)
+    func_stripname "$lt_sysroot" '' "$1"
+    func_replace_sysroot_result='='$func_stripname_result
+    ;;
+  *)
+    # Including no sysroot.
+    func_replace_sysroot_result=$1
+    ;;
+  esac
+}
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+    $debug_cmd
+
+    if test -n "$available_tags" && test -z "$tagname"; then
+      CC_quoted=
+      for arg in $CC; do
+	func_append_quoted CC_quoted "$arg"
+      done
+      CC_expanded=`func_echo_all $CC`
+      CC_quoted_expanded=`func_echo_all $CC_quoted`
+      case $@ in
+      # Blanks in the command may have been stripped by the calling shell,
+      # but not from the CC environment variable when configure was run.
+      " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+      " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
+      # Blanks at the start of $base_compile will cause this to fail
+      # if we don't check for them as well.
+      *)
+	for z in $available_tags; do
+	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+	    # Evaluate the configuration.
+	    eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+	    CC_quoted=
+	    for arg in $CC; do
+	      # Double-quote args containing other shell metacharacters.
+	      func_append_quoted CC_quoted "$arg"
+	    done
+	    CC_expanded=`func_echo_all $CC`
+	    CC_quoted_expanded=`func_echo_all $CC_quoted`
+	    case "$@ " in
+	    " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+	    " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
+	      # The compiler in the base compile command matches
+	      # the one in the tagged configuration.
+	      # Assume this is the tagged configuration we want.
+	      tagname=$z
+	      break
+	      ;;
+	    esac
+	  fi
+	done
+	# If $tagname still isn't set, then no tagged configuration
+	# was found and let the user know that the "--tag" command
+	# line option must be used.
+	if test -z "$tagname"; then
+	  func_echo "unable to infer tagged configuration"
+	  func_fatal_error "specify a tag with '--tag'"
+#	else
+#	  func_verbose "using $tagname tagged configuration"
+	fi
+	;;
+      esac
+    fi
+}
+
+
+
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
+{
+    write_libobj=$1
+    if test yes = "$build_libtool_libs"; then
+      write_lobj=\'$2\'
+    else
+      write_lobj=none
+    fi
+
+    if test yes = "$build_old_libs"; then
+      write_oldobj=\'$3\'
+    else
+      write_oldobj=none
+    fi
+
+    $opt_dry_run || {
+      cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object=$write_lobj
+
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
+
+EOF
+      $MV "${write_libobj}T" "$write_libobj"
+    }
+}
+
+
+##################################################
+# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
+##################################################
+
+# func_convert_core_file_wine_to_w32 ARG
+# Helper function used by file name conversion functions when $build is *nix,
+# and $host is mingw, cygwin, or some other w32 environment. Relies on a
+# correctly configured wine environment available, with the winepath program
+# in $build's $PATH.
+#
+# ARG is the $build file name to be converted to w32 format.
+# Result is available in $func_convert_core_file_wine_to_w32_result, and will
+# be empty on error (or when ARG is empty)
+func_convert_core_file_wine_to_w32 ()
+{
+  $debug_cmd
+
+  func_convert_core_file_wine_to_w32_result=$1
+  if test -n "$1"; then
+    # Unfortunately, winepath does not exit with a non-zero error code, so we
+    # are forced to check the contents of stdout. On the other hand, if the
+    # command is not found, the shell will set an exit code of 127 and print
+    # *an error message* to stdout. So we must check for both error code of
+    # zero AND non-empty stdout, which explains the odd construction:
+    func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
+    if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then
+      func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
+        $SED -e "$sed_naive_backslashify"`
+    else
+      func_convert_core_file_wine_to_w32_result=
+    fi
+  fi
+}
+# end: func_convert_core_file_wine_to_w32
+
+
+# func_convert_core_path_wine_to_w32 ARG
+# Helper function used by path conversion functions when $build is *nix, and
+# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
+# configured wine environment available, with the winepath program in $build's
+# $PATH. Assumes ARG has no leading or trailing path separator characters.
+#
+# ARG is path to be converted from $build format to win32.
+# Result is available in $func_convert_core_path_wine_to_w32_result.
+# Unconvertible file (directory) names in ARG are skipped; if no directory names
+# are convertible, then the result may be empty.
+func_convert_core_path_wine_to_w32 ()
+{
+  $debug_cmd
+
+  # unfortunately, winepath doesn't convert paths, only file names
+  func_convert_core_path_wine_to_w32_result=
+  if test -n "$1"; then
+    oldIFS=$IFS
+    IFS=:
+    for func_convert_core_path_wine_to_w32_f in $1; do
+      IFS=$oldIFS
+      func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
+      if test -n "$func_convert_core_file_wine_to_w32_result"; then
+        if test -z "$func_convert_core_path_wine_to_w32_result"; then
+          func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result
+        else
+          func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
+        fi
+      fi
+    done
+    IFS=$oldIFS
+  fi
+}
+# end: func_convert_core_path_wine_to_w32
+
+
+# func_cygpath ARGS...
+# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
+# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
+# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
+# (2), returns the Cygwin file name or path in func_cygpath_result (input
+# file name or path is assumed to be in w32 format, as previously converted
+# from $build's *nix or MSYS format). In case (3), returns the w32 file name
+# or path in func_cygpath_result (input file name or path is assumed to be in
+# Cygwin format). Returns an empty string on error.
+#
+# ARGS are passed to cygpath, with the last one being the file name or path to
+# be converted.
+#
+# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
+# environment variable; do not put it in $PATH.
+func_cygpath ()
+{
+  $debug_cmd
+
+  if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
+    func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
+    if test "$?" -ne 0; then
+      # on failure, ensure result is empty
+      func_cygpath_result=
+    fi
+  else
+    func_cygpath_result=
+    func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'"
+  fi
+}
+#end: func_cygpath
+
+
+# func_convert_core_msys_to_w32 ARG
+# Convert file name or path ARG from MSYS format to w32 format.  Return
+# result in func_convert_core_msys_to_w32_result.
+func_convert_core_msys_to_w32 ()
+{
+  $debug_cmd
+
+  # awkward: cmd appends spaces to result
+  func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
+    $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
+}
+#end: func_convert_core_msys_to_w32
+
+
+# func_convert_file_check ARG1 ARG2
+# Verify that ARG1 (a file name in $build format) was converted to $host
+# format in ARG2. Otherwise, emit an error message, but continue (resetting
+# func_to_host_file_result to ARG1).
+func_convert_file_check ()
+{
+  $debug_cmd
+
+  if test -z "$2" && test -n "$1"; then
+    func_error "Could not determine host file name corresponding to"
+    func_error "  '$1'"
+    func_error "Continuing, but uninstalled executables may not work."
+    # Fallback:
+    func_to_host_file_result=$1
+  fi
+}
+# end func_convert_file_check
+
+
+# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
+# Verify that FROM_PATH (a path in $build format) was converted to $host
+# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
+# func_to_host_file_result to a simplistic fallback value (see below).
+func_convert_path_check ()
+{
+  $debug_cmd
+
+  if test -z "$4" && test -n "$3"; then
+    func_error "Could not determine the host path corresponding to"
+    func_error "  '$3'"
+    func_error "Continuing, but uninstalled executables may not work."
+    # Fallback.  This is a deliberately simplistic "conversion" and
+    # should not be "improved".  See libtool.info.
+    if test "x$1" != "x$2"; then
+      lt_replace_pathsep_chars="s|$1|$2|g"
+      func_to_host_path_result=`echo "$3" |
+        $SED -e "$lt_replace_pathsep_chars"`
+    else
+      func_to_host_path_result=$3
+    fi
+  fi
+}
+# end func_convert_path_check
+
+
+# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
+# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
+# and appending REPL if ORIG matches BACKPAT.
+func_convert_path_front_back_pathsep ()
+{
+  $debug_cmd
+
+  case $4 in
+  $1 ) func_to_host_path_result=$3$func_to_host_path_result
+    ;;
+  esac
+  case $4 in
+  $2 ) func_append func_to_host_path_result "$3"
+    ;;
+  esac
+}
+# end func_convert_path_front_back_pathsep
+
+
+##################################################
+# $build to $host FILE NAME CONVERSION FUNCTIONS #
+##################################################
+# invoked via '$to_host_file_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# Result will be available in $func_to_host_file_result.
+
+
+# func_to_host_file ARG
+# Converts the file name ARG from $build format to $host format. Return result
+# in func_to_host_file_result.
+func_to_host_file ()
+{
+  $debug_cmd
+
+  $to_host_file_cmd "$1"
+}
+# end func_to_host_file
+
+
+# func_to_tool_file ARG LAZY
+# converts the file name ARG from $build format to toolchain format. Return
+# result in func_to_tool_file_result.  If the conversion in use is listed
+# in (the comma separated) LAZY, no conversion takes place.
+func_to_tool_file ()
+{
+  $debug_cmd
+
+  case ,$2, in
+    *,"$to_tool_file_cmd",*)
+      func_to_tool_file_result=$1
+      ;;
+    *)
+      $to_tool_file_cmd "$1"
+      func_to_tool_file_result=$func_to_host_file_result
+      ;;
+  esac
+}
+# end func_to_tool_file
+
+
+# func_convert_file_noop ARG
+# Copy ARG to func_to_host_file_result.
+func_convert_file_noop ()
+{
+  func_to_host_file_result=$1
+}
+# end func_convert_file_noop
+
+
+# func_convert_file_msys_to_w32 ARG
+# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper.  Returns result in
+# func_to_host_file_result.
+func_convert_file_msys_to_w32 ()
+{
+  $debug_cmd
+
+  func_to_host_file_result=$1
+  if test -n "$1"; then
+    func_convert_core_msys_to_w32 "$1"
+    func_to_host_file_result=$func_convert_core_msys_to_w32_result
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_w32
+
+
+# func_convert_file_cygwin_to_w32 ARG
+# Convert file name ARG from Cygwin to w32 format.  Returns result in
+# func_to_host_file_result.
+func_convert_file_cygwin_to_w32 ()
+{
+  $debug_cmd
+
+  func_to_host_file_result=$1
+  if test -n "$1"; then
+    # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
+    # LT_CYGPATH in this case.
+    func_to_host_file_result=`cygpath -m "$1"`
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_cygwin_to_w32
+
+
+# func_convert_file_nix_to_w32 ARG
+# Convert file name ARG from *nix to w32 format.  Requires a wine environment
+# and a working winepath. Returns result in func_to_host_file_result.
+func_convert_file_nix_to_w32 ()
+{
+  $debug_cmd
+
+  func_to_host_file_result=$1
+  if test -n "$1"; then
+    func_convert_core_file_wine_to_w32 "$1"
+    func_to_host_file_result=$func_convert_core_file_wine_to_w32_result
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_w32
+
+
+# func_convert_file_msys_to_cygwin ARG
+# Convert file name ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_file_msys_to_cygwin ()
+{
+  $debug_cmd
+
+  func_to_host_file_result=$1
+  if test -n "$1"; then
+    func_convert_core_msys_to_w32 "$1"
+    func_cygpath -u "$func_convert_core_msys_to_w32_result"
+    func_to_host_file_result=$func_cygpath_result
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_cygwin
+
+
+# func_convert_file_nix_to_cygwin ARG
+# Convert file name ARG from *nix to Cygwin format.  Requires Cygwin installed
+# in a wine environment, working winepath, and LT_CYGPATH set.  Returns result
+# in func_to_host_file_result.
+func_convert_file_nix_to_cygwin ()
+{
+  $debug_cmd
+
+  func_to_host_file_result=$1
+  if test -n "$1"; then
+    # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
+    func_convert_core_file_wine_to_w32 "$1"
+    func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
+    func_to_host_file_result=$func_cygpath_result
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_cygwin
+
+
+#############################################
+# $build to $host PATH CONVERSION FUNCTIONS #
+#############################################
+# invoked via '$to_host_path_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# The result will be available in $func_to_host_path_result.
+#
+# Path separators are also converted from $build format to $host format.  If
+# ARG begins or ends with a path separator character, it is preserved (but
+# converted to $host format) on output.
+#
+# All path conversion functions are named using the following convention:
+#   file name conversion function    : func_convert_file_X_to_Y ()
+#   path conversion function         : func_convert_path_X_to_Y ()
+# where, for any given $build/$host combination the 'X_to_Y' value is the
+# same.  If conversion functions are added for new $build/$host combinations,
+# the two new functions must follow this pattern, or func_init_to_host_path_cmd
+# will break.
+
+
+# func_init_to_host_path_cmd
+# Ensures that function "pointer" variable $to_host_path_cmd is set to the
+# appropriate value, based on the value of $to_host_file_cmd.
+to_host_path_cmd=
+func_init_to_host_path_cmd ()
+{
+  $debug_cmd
+
+  if test -z "$to_host_path_cmd"; then
+    func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
+    to_host_path_cmd=func_convert_path_$func_stripname_result
+  fi
+}
+
+
+# func_to_host_path ARG
+# Converts the path ARG from $build format to $host format. Return result
+# in func_to_host_path_result.
+func_to_host_path ()
+{
+  $debug_cmd
+
+  func_init_to_host_path_cmd
+  $to_host_path_cmd "$1"
+}
+# end func_to_host_path
+
+
+# func_convert_path_noop ARG
+# Copy ARG to func_to_host_path_result.
+func_convert_path_noop ()
+{
+  func_to_host_path_result=$1
+}
+# end func_convert_path_noop
+
+
+# func_convert_path_msys_to_w32 ARG
+# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper.  Returns result in
+# func_to_host_path_result.
+func_convert_path_msys_to_w32 ()
+{
+  $debug_cmd
+
+  func_to_host_path_result=$1
+  if test -n "$1"; then
+    # Remove leading and trailing path separator characters from ARG.  MSYS
+    # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
+    # and winepath ignores them completely.
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+    func_to_host_path_result=$func_convert_core_msys_to_w32_result
+    func_convert_path_check : ";" \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+  fi
+}
+# end func_convert_path_msys_to_w32
+
+
+# func_convert_path_cygwin_to_w32 ARG
+# Convert path ARG from Cygwin to w32 format.  Returns result in
+# func_to_host_file_result.
+func_convert_path_cygwin_to_w32 ()
+{
+  $debug_cmd
+
+  func_to_host_path_result=$1
+  if test -n "$1"; then
+    # See func_convert_path_msys_to_w32:
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
+    func_convert_path_check : ";" \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+  fi
+}
+# end func_convert_path_cygwin_to_w32
+
+
+# func_convert_path_nix_to_w32 ARG
+# Convert path ARG from *nix to w32 format.  Requires a wine environment and
+# a working winepath.  Returns result in func_to_host_file_result.
+func_convert_path_nix_to_w32 ()
+{
+  $debug_cmd
+
+  func_to_host_path_result=$1
+  if test -n "$1"; then
+    # See func_convert_path_msys_to_w32:
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+    func_to_host_path_result=$func_convert_core_path_wine_to_w32_result
+    func_convert_path_check : ";" \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+  fi
+}
+# end func_convert_path_nix_to_w32
+
+
+# func_convert_path_msys_to_cygwin ARG
+# Convert path ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_path_msys_to_cygwin ()
+{
+  $debug_cmd
+
+  func_to_host_path_result=$1
+  if test -n "$1"; then
+    # See func_convert_path_msys_to_w32:
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+    func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
+    func_to_host_path_result=$func_cygpath_result
+    func_convert_path_check : : \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+  fi
+}
+# end func_convert_path_msys_to_cygwin
+
+
+# func_convert_path_nix_to_cygwin ARG
+# Convert path ARG from *nix to Cygwin format.  Requires Cygwin installed in a
+# a wine environment, working winepath, and LT_CYGPATH set.  Returns result in
+# func_to_host_file_result.
+func_convert_path_nix_to_cygwin ()
+{
+  $debug_cmd
+
+  func_to_host_path_result=$1
+  if test -n "$1"; then
+    # Remove leading and trailing path separator characters from
+    # ARG. msys behavior is inconsistent here, cygpath turns them
+    # into '.;' and ';.', and winepath ignores them completely.
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+    func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
+    func_to_host_path_result=$func_cygpath_result
+    func_convert_path_check : : \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+  fi
+}
+# end func_convert_path_nix_to_cygwin
+
+
+# func_dll_def_p FILE
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with _LT_DLL_DEF_P in libtool.m4
+func_dll_def_p ()
+{
+  $debug_cmd
+
+  func_dll_def_p_tmp=`$SED -n \
+    -e 's/^[	 ]*//' \
+    -e '/^\(;.*\)*$/d' \
+    -e 's/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p' \
+    -e q \
+    "$1"`
+  test DEF = "$func_dll_def_p_tmp"
+}
+
+
+# func_mode_compile arg...
+func_mode_compile ()
+{
+    $debug_cmd
+
+    # Get the compilation command and the source file.
+    base_compile=
+    srcfile=$nonopt  #  always keep a non-empty value in "srcfile"
+    suppress_opt=yes
+    suppress_output=
+    arg_mode=normal
+    libobj=
+    later=
+    pie_flag=
+
+    for arg
+    do
+      case $arg_mode in
+      arg  )
+	# do not "continue".  Instead, add this to base_compile
+	lastarg=$arg
+	arg_mode=normal
+	;;
+
+      target )
+	libobj=$arg
+	arg_mode=normal
+	continue
+	;;
+
+      normal )
+	# Accept any command-line options.
+	case $arg in
+	-o)
+	  test -n "$libobj" && \
+	    func_fatal_error "you cannot specify '-o' more than once"
+	  arg_mode=target
+	  continue
+	  ;;
+
+	-pie | -fpie | -fPIE)
+          func_append pie_flag " $arg"
+	  continue
+	  ;;
+
+	-shared | -static | -prefer-pic | -prefer-non-pic)
+	  func_append later " $arg"
+	  continue
+	  ;;
+
+	-no-suppress)
+	  suppress_opt=no
+	  continue
+	  ;;
+
+	-Xcompiler)
+	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
+	  continue      #  The current "srcfile" will either be retained or
+	  ;;            #  replaced later.  I would guess that would be a bug.
+
+	-Wc,*)
+	  func_stripname '-Wc,' '' "$arg"
+	  args=$func_stripname_result
+	  lastarg=
+	  save_ifs=$IFS; IFS=,
+	  for arg in $args; do
+	    IFS=$save_ifs
+	    func_append_quoted lastarg "$arg"
+	  done
+	  IFS=$save_ifs
+	  func_stripname ' ' '' "$lastarg"
+	  lastarg=$func_stripname_result
+
+	  # Add the arguments to base_compile.
+	  func_append base_compile " $lastarg"
+	  continue
+	  ;;
+
+	*)
+	  # Accept the current argument as the source file.
+	  # The previous "srcfile" becomes the current argument.
+	  #
+	  lastarg=$srcfile
+	  srcfile=$arg
+	  ;;
+	esac  #  case $arg
+	;;
+      esac    #  case $arg_mode
+
+      # Aesthetically quote the previous argument.
+      func_append_quoted base_compile "$lastarg"
+    done # for arg
+
+    case $arg_mode in
+    arg)
+      func_fatal_error "you must specify an argument for -Xcompile"
+      ;;
+    target)
+      func_fatal_error "you must specify a target with '-o'"
+      ;;
+    *)
+      # Get the name of the library object.
+      test -z "$libobj" && {
+	func_basename "$srcfile"
+	libobj=$func_basename_result
+      }
+      ;;
+    esac
+
+    # Recognize several different file suffixes.
+    # If the user specifies -o file.o, it is replaced with file.lo
+    case $libobj in
+    *.[cCFSifmso] | \
+    *.ada | *.adb | *.ads | *.asm | \
+    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+    *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
+      func_xform "$libobj"
+      libobj=$func_xform_result
+      ;;
+    esac
+
+    case $libobj in
+    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
+    *)
+      func_fatal_error "cannot determine name of library object from '$libobj'"
+      ;;
+    esac
+
+    func_infer_tag $base_compile
+
+    for arg in $later; do
+      case $arg in
+      -shared)
+	test yes = "$build_libtool_libs" \
+	  || func_fatal_configuration "cannot build a shared library"
+	build_old_libs=no
+	continue
+	;;
+
+      -static)
+	build_libtool_libs=no
+	build_old_libs=yes
+	continue
+	;;
+
+      -prefer-pic)
+	pic_mode=yes
+	continue
+	;;
+
+      -prefer-non-pic)
+	pic_mode=no
+	continue
+	;;
+      esac
+    done
+
+    func_quote_for_eval "$libobj"
+    test "X$libobj" != "X$func_quote_for_eval_result" \
+      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
+      && func_warning "libobj name '$libobj' may not contain shell special characters."
+    func_dirname_and_basename "$obj" "/" ""
+    objname=$func_basename_result
+    xdir=$func_dirname_result
+    lobj=$xdir$objdir/$objname
+
+    test -z "$base_compile" && \
+      func_fatal_help "you must specify a compilation command"
+
+    # Delete any leftover library objects.
+    if test yes = "$build_old_libs"; then
+      removelist="$obj $lobj $libobj ${libobj}T"
+    else
+      removelist="$lobj $libobj ${libobj}T"
+    fi
+
+    # On Cygwin there's no "real" PIC flag so we must build both object types
+    case $host_os in
+    cygwin* | mingw* | pw32* | os2* | cegcc*)
+      pic_mode=default
+      ;;
+    esac
+    if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then
+      # non-PIC code in shared libraries is not supported
+      pic_mode=default
+    fi
+
+    # Calculate the filename of the output object if compiler does
+    # not support -o with -c
+    if test no = "$compiler_c_o"; then
+      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext
+      lockfile=$output_obj.lock
+    else
+      output_obj=
+      need_locks=no
+      lockfile=
+    fi
+
+    # Lock this critical section if it is needed
+    # We use this script file to make the link, it avoids creating a new file
+    if test yes = "$need_locks"; then
+      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+	func_echo "Waiting for $lockfile to be removed"
+	sleep 2
+      done
+    elif test warn = "$need_locks"; then
+      if test -f "$lockfile"; then
+	$ECHO "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support '-c' and '-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$opt_dry_run || $RM $removelist
+	exit $EXIT_FAILURE
+      fi
+      func_append removelist " $output_obj"
+      $ECHO "$srcfile" > "$lockfile"
+    fi
+
+    $opt_dry_run || $RM $removelist
+    func_append removelist " $lockfile"
+    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
+    func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
+    srcfile=$func_to_tool_file_result
+    func_quote_for_eval "$srcfile"
+    qsrcfile=$func_quote_for_eval_result
+
+    # Only build a PIC object if we are building libtool libraries.
+    if test yes = "$build_libtool_libs"; then
+      # Without this assignment, base_compile gets emptied.
+      fbsd_hideous_sh_bug=$base_compile
+
+      if test no != "$pic_mode"; then
+	command="$base_compile $qsrcfile $pic_flag"
+      else
+	# Don't build PIC code
+	command="$base_compile $qsrcfile"
+      fi
+
+      func_mkdir_p "$xdir$objdir"
+
+      if test -z "$output_obj"; then
+	# Place PIC objects in $objdir
+	func_append command " -o $lobj"
+      fi
+
+      func_show_eval_locale "$command"	\
+          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
+
+      if test warn = "$need_locks" &&
+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+	$ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support '-c' and '-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$opt_dry_run || $RM $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed, then go on to compile the next one
+      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+	func_show_eval '$MV "$output_obj" "$lobj"' \
+	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+      fi
+
+      # Allow error messages only from the first compilation.
+      if test yes = "$suppress_opt"; then
+	suppress_output=' >/dev/null 2>&1'
+      fi
+    fi
+
+    # Only build a position-dependent object if we build old libraries.
+    if test yes = "$build_old_libs"; then
+      if test yes != "$pic_mode"; then
+	# Don't build PIC code
+	command="$base_compile $qsrcfile$pie_flag"
+      else
+	command="$base_compile $qsrcfile $pic_flag"
+      fi
+      if test yes = "$compiler_c_o"; then
+	func_append command " -o $obj"
+      fi
+
+      # Suppress compiler output if we already did a PIC compilation.
+      func_append command "$suppress_output"
+      func_show_eval_locale "$command" \
+        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
+
+      if test warn = "$need_locks" &&
+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+	$ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support '-c' and '-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$opt_dry_run || $RM $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed
+      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+	func_show_eval '$MV "$output_obj" "$obj"' \
+	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+      fi
+    fi
+
+    $opt_dry_run || {
+      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
+
+      # Unlock the critical section if it was locked
+      if test no != "$need_locks"; then
+	removelist=$lockfile
+        $RM "$lockfile"
+      fi
+    }
+
+    exit $EXIT_SUCCESS
+}
+
+$opt_help || {
+  test compile = "$opt_mode" && func_mode_compile ${1+"$@"}
+}
+
+func_mode_help ()
+{
+    # We need to display help for each of the modes.
+    case $opt_mode in
+      "")
+        # Generic help is extracted from the usage comments
+        # at the start of this file.
+        func_help
+        ;;
+
+      clean)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically '/bin/rm').  RM-OPTIONS are options (such as '-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+        ;;
+
+      compile)
+      $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
+  -no-suppress      do not suppress compiler output for multiple passes
+  -prefer-pic       try to build PIC objects only
+  -prefer-non-pic   try to build non-PIC objects only
+  -shared           do not build a '.o' file suitable for static linking
+  -static           only build a '.o' file suitable for static linking
+  -Wc,FLAG          pass FLAG directly to the compiler
+
+COMPILE-COMMAND is a command to be used in creating a 'standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix '.c' with the
+library object suffix, '.lo'."
+        ;;
+
+      execute)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+  -dlopen FILE      add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to '-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+        ;;
+
+      finish)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges.  Use
+the '--dry-run' option if you just want to see what would be executed."
+        ;;
+
+      install)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command.  The first component should be
+either the 'install' or 'cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+  -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+        ;;
+
+      link)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+  -all-static       do not do any dynamic linking at all
+  -avoid-version    do not add a version suffix if possible
+  -bindir BINDIR    specify path to binaries directory (for systems where
+                    libraries must be found in the PATH setting at runtime)
+  -dlopen FILE      '-dlpreopen' FILE if it cannot be dlopened at runtime
+  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
+  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+  -export-symbols SYMFILE
+                    try to export only the symbols listed in SYMFILE
+  -export-symbols-regex REGEX
+                    try to export only the symbols matching REGEX
+  -LLIBDIR          search LIBDIR for required installed libraries
+  -lNAME            OUTPUT-FILE requires the installed library libNAME
+  -module           build a library that can dlopened
+  -no-fast-install  disable the fast-install mode
+  -no-install       link a not-installable executable
+  -no-undefined     declare that a library does not refer to external symbols
+  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
+  -objectlist FILE  use a list of object files found in FILE to specify objects
+  -os2dllname NAME  force a short DLL name on OS/2 (no effect on other OSes)
+  -precious-files-regex REGEX
+                    don't remove output files matching REGEX
+  -release RELEASE  specify package release information
+  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
+  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
+  -shared           only do dynamic linking of libtool libraries
+  -shrext SUFFIX    override the standard shared library file extension
+  -static           do not do any dynamic linking of uninstalled libtool libraries
+  -static-libtool-libs
+                    do not do any dynamic linking of libtool libraries
+  -version-info CURRENT[:REVISION[:AGE]]
+                    specify library version info [each variable defaults to 0]
+  -weak LIBNAME     declare that the target provides the LIBNAME interface
+  -Wc,FLAG
+  -Xcompiler FLAG   pass linker-specific FLAG directly to the compiler
+  -Wl,FLAG
+  -Xlinker FLAG     pass linker-specific FLAG directly to the linker
+  -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)
+
+All other options (arguments beginning with '-') are ignored.
+
+Every other argument is treated as a filename.  Files ending in '.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in '.la', then a libtool library is created,
+only library objects ('.lo' files) may be specified, and '-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created
+using 'ar' and 'ranlib', or on Windows using 'lib'.
+
+If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file
+is created, otherwise an executable program is created."
+        ;;
+
+      uninstall)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically '/bin/rm').  RM-OPTIONS are options (such as '-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+        ;;
+
+      *)
+        func_fatal_help "invalid operation mode '$opt_mode'"
+        ;;
+    esac
+
+    echo
+    $ECHO "Try '$progname --help' for more information about other modes."
+}
+
+# Now that we've collected a possible --mode arg, show help if necessary
+if $opt_help; then
+  if test : = "$opt_help"; then
+    func_mode_help
+  else
+    {
+      func_help noexit
+      for opt_mode in compile link execute install finish uninstall clean; do
+	func_mode_help
+      done
+    } | $SED -n '1p; 2,$s/^Usage:/  or: /p'
+    {
+      func_help noexit
+      for opt_mode in compile link execute install finish uninstall clean; do
+	echo
+	func_mode_help
+      done
+    } |
+    $SED '1d
+      /^When reporting/,/^Report/{
+	H
+	d
+      }
+      $x
+      /information about other modes/d
+      /more detailed .*MODE/d
+      s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
+  fi
+  exit $?
+fi
+
+
+# func_mode_execute arg...
+func_mode_execute ()
+{
+    $debug_cmd
+
+    # The first argument is the command name.
+    cmd=$nonopt
+    test -z "$cmd" && \
+      func_fatal_help "you must specify a COMMAND"
+
+    # Handle -dlopen flags immediately.
+    for file in $opt_dlopen; do
+      test -f "$file" \
+	|| func_fatal_help "'$file' is not a file"
+
+      dir=
+      case $file in
+      *.la)
+	func_resolve_sysroot "$file"
+	file=$func_resolve_sysroot_result
+
+	# Check to see that this really is a libtool archive.
+	func_lalib_unsafe_p "$file" \
+	  || func_fatal_help "'$lib' is not a valid libtool archive"
+
+	# Read the libtool library.
+	dlname=
+	library_names=
+	func_source "$file"
+
+	# Skip this library if it cannot be dlopened.
+	if test -z "$dlname"; then
+	  # Warn if it was a shared library.
+	  test -n "$library_names" && \
+	    func_warning "'$file' was not linked with '-export-dynamic'"
+	  continue
+	fi
+
+	func_dirname "$file" "" "."
+	dir=$func_dirname_result
+
+	if test -f "$dir/$objdir/$dlname"; then
+	  func_append dir "/$objdir"
+	else
+	  if test ! -f "$dir/$dlname"; then
+	    func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'"
+	  fi
+	fi
+	;;
+
+      *.lo)
+	# Just add the directory containing the .lo file.
+	func_dirname "$file" "" "."
+	dir=$func_dirname_result
+	;;
+
+      *)
+	func_warning "'-dlopen' is ignored for non-libtool libraries and objects"
+	continue
+	;;
+      esac
+
+      # Get the absolute pathname.
+      absdir=`cd "$dir" && pwd`
+      test -n "$absdir" && dir=$absdir
+
+      # Now add the directory to shlibpath_var.
+      if eval "test -z \"\$$shlibpath_var\""; then
+	eval "$shlibpath_var=\"\$dir\""
+      else
+	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+      fi
+    done
+
+    # This variable tells wrapper scripts just to set shlibpath_var
+    # rather than running their programs.
+    libtool_execute_magic=$magic
+
+    # Check if any of the arguments is a wrapper script.
+    args=
+    for file
+    do
+      case $file in
+      -* | *.la | *.lo ) ;;
+      *)
+	# Do a test to see if this is really a libtool program.
+	if func_ltwrapper_script_p "$file"; then
+	  func_source "$file"
+	  # Transform arg to wrapped name.
+	  file=$progdir/$program
+	elif func_ltwrapper_executable_p "$file"; then
+	  func_ltwrapper_scriptname "$file"
+	  func_source "$func_ltwrapper_scriptname_result"
+	  # Transform arg to wrapped name.
+	  file=$progdir/$program
+	fi
+	;;
+      esac
+      # Quote arguments (to preserve shell metacharacters).
+      func_append_quoted args "$file"
+    done
+
+    if $opt_dry_run; then
+      # Display what would be done.
+      if test -n "$shlibpath_var"; then
+	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+	echo "export $shlibpath_var"
+      fi
+      $ECHO "$cmd$args"
+      exit $EXIT_SUCCESS
+    else
+      if test -n "$shlibpath_var"; then
+	# Export the shlibpath_var.
+	eval "export $shlibpath_var"
+      fi
+
+      # Restore saved environment variables
+      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+      do
+	eval "if test \"\${save_$lt_var+set}\" = set; then
+                $lt_var=\$save_$lt_var; export $lt_var
+	      else
+		$lt_unset $lt_var
+	      fi"
+      done
+
+      # Now prepare to actually exec the command.
+      exec_cmd=\$cmd$args
+    fi
+}
+
+test execute = "$opt_mode" && func_mode_execute ${1+"$@"}
+
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+    $debug_cmd
+
+    libs=
+    libdirs=
+    admincmds=
+
+    for opt in "$nonopt" ${1+"$@"}
+    do
+      if test -d "$opt"; then
+	func_append libdirs " $opt"
+
+      elif test -f "$opt"; then
+	if func_lalib_unsafe_p "$opt"; then
+	  func_append libs " $opt"
+	else
+	  func_warning "'$opt' is not a valid libtool archive"
+	fi
+
+      else
+	func_fatal_error "invalid argument '$opt'"
+      fi
+    done
+
+    if test -n "$libs"; then
+      if test -n "$lt_sysroot"; then
+        sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
+        sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
+      else
+        sysroot_cmd=
+      fi
+
+      # Remove sysroot references
+      if $opt_dry_run; then
+        for lib in $libs; do
+          echo "removing references to $lt_sysroot and '=' prefixes from $lib"
+        done
+      else
+        tmpdir=`func_mktempdir`
+        for lib in $libs; do
+	  $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
+	    > $tmpdir/tmp-la
+	  mv -f $tmpdir/tmp-la $lib
+	done
+        ${RM}r "$tmpdir"
+      fi
+    fi
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      for libdir in $libdirs; do
+	if test -n "$finish_cmds"; then
+	  # Do each command in the finish commands.
+	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
+'"$cmd"'"'
+	fi
+	if test -n "$finish_eval"; then
+	  # Do the single finish_eval.
+	  eval cmds=\"$finish_eval\"
+	  $opt_dry_run || eval "$cmds" || func_append admincmds "
+       $cmds"
+	fi
+      done
+    fi
+
+    # Exit here if they wanted silent mode.
+    $opt_quiet && exit $EXIT_SUCCESS
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      echo "----------------------------------------------------------------------"
+      echo "Libraries have been installed in:"
+      for libdir in $libdirs; do
+	$ECHO "   $libdir"
+      done
+      echo
+      echo "If you ever happen to want to link against installed libraries"
+      echo "in a given directory, LIBDIR, you must either use libtool, and"
+      echo "specify the full pathname of the library, or use the '-LLIBDIR'"
+      echo "flag during linking and do at least one of the following:"
+      if test -n "$shlibpath_var"; then
+	echo "   - add LIBDIR to the '$shlibpath_var' environment variable"
+	echo "     during execution"
+      fi
+      if test -n "$runpath_var"; then
+	echo "   - add LIBDIR to the '$runpath_var' environment variable"
+	echo "     during linking"
+      fi
+      if test -n "$hardcode_libdir_flag_spec"; then
+	libdir=LIBDIR
+	eval flag=\"$hardcode_libdir_flag_spec\"
+
+	$ECHO "   - use the '$flag' linker flag"
+      fi
+      if test -n "$admincmds"; then
+	$ECHO "   - have your system administrator run these commands:$admincmds"
+      fi
+      if test -f /etc/ld.so.conf; then
+	echo "   - have your system administrator add LIBDIR to '/etc/ld.so.conf'"
+      fi
+      echo
+
+      echo "See any operating system documentation about shared libraries for"
+      case $host in
+	solaris2.[6789]|solaris2.1[0-9])
+	  echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+	  echo "pages."
+	  ;;
+	*)
+	  echo "more information, such as the ld(1) and ld.so(8) manual pages."
+	  ;;
+      esac
+      echo "----------------------------------------------------------------------"
+    fi
+    exit $EXIT_SUCCESS
+}
+
+test finish = "$opt_mode" && func_mode_finish ${1+"$@"}
+
+
+# func_mode_install arg...
+func_mode_install ()
+{
+    $debug_cmd
+
+    # There may be an optional sh(1) argument at the beginning of
+    # install_prog (especially on Windows NT).
+    if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" ||
+       # Allow the use of GNU shtool's install command.
+       case $nonopt in *shtool*) :;; *) false;; esac
+    then
+      # Aesthetically quote it.
+      func_quote_for_eval "$nonopt"
+      install_prog="$func_quote_for_eval_result "
+      arg=$1
+      shift
+    else
+      install_prog=
+      arg=$nonopt
+    fi
+
+    # The real first argument should be the name of the installation program.
+    # Aesthetically quote it.
+    func_quote_for_eval "$arg"
+    func_append install_prog "$func_quote_for_eval_result"
+    install_shared_prog=$install_prog
+    case " $install_prog " in
+      *[\\\ /]cp\ *) install_cp=: ;;
+      *) install_cp=false ;;
+    esac
+
+    # We need to accept at least all the BSD install flags.
+    dest=
+    files=
+    opts=
+    prev=
+    install_type=
+    isdir=false
+    stripme=
+    no_mode=:
+    for arg
+    do
+      arg2=
+      if test -n "$dest"; then
+	func_append files " $dest"
+	dest=$arg
+	continue
+      fi
+
+      case $arg in
+      -d) isdir=: ;;
+      -f)
+	if $install_cp; then :; else
+	  prev=$arg
+	fi
+	;;
+      -g | -m | -o)
+	prev=$arg
+	;;
+      -s)
+	stripme=" -s"
+	continue
+	;;
+      -*)
+	;;
+      *)
+	# If the previous option needed an argument, then skip it.
+	if test -n "$prev"; then
+	  if test X-m = "X$prev" && test -n "$install_override_mode"; then
+	    arg2=$install_override_mode
+	    no_mode=false
+	  fi
+	  prev=
+	else
+	  dest=$arg
+	  continue
+	fi
+	;;
+      esac
+
+      # Aesthetically quote the argument.
+      func_quote_for_eval "$arg"
+      func_append install_prog " $func_quote_for_eval_result"
+      if test -n "$arg2"; then
+	func_quote_for_eval "$arg2"
+      fi
+      func_append install_shared_prog " $func_quote_for_eval_result"
+    done
+
+    test -z "$install_prog" && \
+      func_fatal_help "you must specify an install program"
+
+    test -n "$prev" && \
+      func_fatal_help "the '$prev' option requires an argument"
+
+    if test -n "$install_override_mode" && $no_mode; then
+      if $install_cp; then :; else
+	func_quote_for_eval "$install_override_mode"
+	func_append install_shared_prog " -m $func_quote_for_eval_result"
+      fi
+    fi
+
+    if test -z "$files"; then
+      if test -z "$dest"; then
+	func_fatal_help "no file or destination specified"
+      else
+	func_fatal_help "you must specify a destination"
+      fi
+    fi
+
+    # Strip any trailing slash from the destination.
+    func_stripname '' '/' "$dest"
+    dest=$func_stripname_result
+
+    # Check to see that the destination is a directory.
+    test -d "$dest" && isdir=:
+    if $isdir; then
+      destdir=$dest
+      destname=
+    else
+      func_dirname_and_basename "$dest" "" "."
+      destdir=$func_dirname_result
+      destname=$func_basename_result
+
+      # Not a directory, so check to see that there is only one file specified.
+      set dummy $files; shift
+      test "$#" -gt 1 && \
+	func_fatal_help "'$dest' is not a directory"
+    fi
+    case $destdir in
+    [\\/]* | [A-Za-z]:[\\/]*) ;;
+    *)
+      for file in $files; do
+	case $file in
+	*.lo) ;;
+	*)
+	  func_fatal_help "'$destdir' must be an absolute directory name"
+	  ;;
+	esac
+      done
+      ;;
+    esac
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic=$magic
+
+    staticlibs=
+    future_libdirs=
+    current_libdirs=
+    for file in $files; do
+
+      # Do each installation.
+      case $file in
+      *.$libext)
+	# Do the static libraries later.
+	func_append staticlibs " $file"
+	;;
+
+      *.la)
+	func_resolve_sysroot "$file"
+	file=$func_resolve_sysroot_result
+
+	# Check to see that this really is a libtool archive.
+	func_lalib_unsafe_p "$file" \
+	  || func_fatal_help "'$file' is not a valid libtool archive"
+
+	library_names=
+	old_library=
+	relink_command=
+	func_source "$file"
+
+	# Add the libdir to current_libdirs if it is the destination.
+	if test "X$destdir" = "X$libdir"; then
+	  case "$current_libdirs " in
+	  *" $libdir "*) ;;
+	  *) func_append current_libdirs " $libdir" ;;
+	  esac
+	else
+	  # Note the libdir as a future libdir.
+	  case "$future_libdirs " in
+	  *" $libdir "*) ;;
+	  *) func_append future_libdirs " $libdir" ;;
+	  esac
+	fi
+
+	func_dirname "$file" "/" ""
+	dir=$func_dirname_result
+	func_append dir "$objdir"
+
+	if test -n "$relink_command"; then
+	  # Determine the prefix the user has applied to our future dir.
+	  inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
+
+	  # Don't allow the user to place us outside of our expected
+	  # location b/c this prevents finding dependent libraries that
+	  # are installed to the same prefix.
+	  # At present, this check doesn't affect windows .dll's that
+	  # are installed into $libdir/../bin (currently, that works fine)
+	  # but it's something to keep an eye on.
+	  test "$inst_prefix_dir" = "$destdir" && \
+	    func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
+
+	  if test -n "$inst_prefix_dir"; then
+	    # Stick the inst_prefix_dir data into the link command.
+	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+	  else
+	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+	  fi
+
+	  func_warning "relinking '$file'"
+	  func_show_eval "$relink_command" \
+	    'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"'
+	fi
+
+	# See the names of the shared library.
+	set dummy $library_names; shift
+	if test -n "$1"; then
+	  realname=$1
+	  shift
+
+	  srcname=$realname
+	  test -n "$relink_command" && srcname=${realname}T
+
+	  # Install the shared library and build the symlinks.
+	  func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
+	      'exit $?'
+	  tstripme=$stripme
+	  case $host_os in
+	  cygwin* | mingw* | pw32* | cegcc*)
+	    case $realname in
+	    *.dll.a)
+	      tstripme=
+	      ;;
+	    esac
+	    ;;
+	  os2*)
+	    case $realname in
+	    *_dll.a)
+	      tstripme=
+	      ;;
+	    esac
+	    ;;
+	  esac
+	  if test -n "$tstripme" && test -n "$striplib"; then
+	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
+	  fi
+
+	  if test "$#" -gt 0; then
+	    # Delete the old symlinks, and create new ones.
+	    # Try 'ln -sf' first, because the 'ln' binary might depend on
+	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
+	    # so we also need to try rm && ln -s.
+	    for linkname
+	    do
+	      test "$linkname" != "$realname" \
+		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
+	    done
+	  fi
+
+	  # Do each command in the postinstall commands.
+	  lib=$destdir/$realname
+	  func_execute_cmds "$postinstall_cmds" 'exit $?'
+	fi
+
+	# Install the pseudo-library for information purposes.
+	func_basename "$file"
+	name=$func_basename_result
+	instname=$dir/${name}i
+	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+	# Maybe install the static library, too.
+	test -n "$old_library" && func_append staticlibs " $dir/$old_library"
+	;;
+
+      *.lo)
+	# Install (i.e. copy) a libtool object.
+
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile=$destdir/$destname
+	else
+	  func_basename "$file"
+	  destfile=$func_basename_result
+	  destfile=$destdir/$destfile
+	fi
+
+	# Deduce the name of the destination old-style object file.
+	case $destfile in
+	*.lo)
+	  func_lo2o "$destfile"
+	  staticdest=$func_lo2o_result
+	  ;;
+	*.$objext)
+	  staticdest=$destfile
+	  destfile=
+	  ;;
+	*)
+	  func_fatal_help "cannot copy a libtool object to '$destfile'"
+	  ;;
+	esac
+
+	# Install the libtool object if requested.
+	test -n "$destfile" && \
+	  func_show_eval "$install_prog $file $destfile" 'exit $?'
+
+	# Install the old object if enabled.
+	if test yes = "$build_old_libs"; then
+	  # Deduce the name of the old-style object file.
+	  func_lo2o "$file"
+	  staticobj=$func_lo2o_result
+	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
+	fi
+	exit $EXIT_SUCCESS
+	;;
+
+      *)
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile=$destdir/$destname
+	else
+	  func_basename "$file"
+	  destfile=$func_basename_result
+	  destfile=$destdir/$destfile
+	fi
+
+	# If the file is missing, and there is a .exe on the end, strip it
+	# because it is most likely a libtool script we actually want to
+	# install
+	stripped_ext=
+	case $file in
+	  *.exe)
+	    if test ! -f "$file"; then
+	      func_stripname '' '.exe' "$file"
+	      file=$func_stripname_result
+	      stripped_ext=.exe
+	    fi
+	    ;;
+	esac
+
+	# Do a test to see if this is really a libtool program.
+	case $host in
+	*cygwin* | *mingw*)
+	    if func_ltwrapper_executable_p "$file"; then
+	      func_ltwrapper_scriptname "$file"
+	      wrapper=$func_ltwrapper_scriptname_result
+	    else
+	      func_stripname '' '.exe' "$file"
+	      wrapper=$func_stripname_result
+	    fi
+	    ;;
+	*)
+	    wrapper=$file
+	    ;;
+	esac
+	if func_ltwrapper_script_p "$wrapper"; then
+	  notinst_deplibs=
+	  relink_command=
+
+	  func_source "$wrapper"
+
+	  # Check the variables that should have been set.
+	  test -z "$generated_by_libtool_version" && \
+	    func_fatal_error "invalid libtool wrapper script '$wrapper'"
+
+	  finalize=:
+	  for lib in $notinst_deplibs; do
+	    # Check to see that each library is installed.
+	    libdir=
+	    if test -f "$lib"; then
+	      func_source "$lib"
+	    fi
+	    libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'`
+	    if test -n "$libdir" && test ! -f "$libfile"; then
+	      func_warning "'$lib' has not been installed in '$libdir'"
+	      finalize=false
+	    fi
+	  done
+
+	  relink_command=
+	  func_source "$wrapper"
+
+	  outputname=
+	  if test no = "$fast_install" && test -n "$relink_command"; then
+	    $opt_dry_run || {
+	      if $finalize; then
+	        tmpdir=`func_mktempdir`
+		func_basename "$file$stripped_ext"
+		file=$func_basename_result
+	        outputname=$tmpdir/$file
+	        # Replace the output file specification.
+	        relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
+
+	        $opt_quiet || {
+	          func_quote_for_expand "$relink_command"
+		  eval "func_echo $func_quote_for_expand_result"
+	        }
+	        if eval "$relink_command"; then :
+	          else
+		  func_error "error: relink '$file' with the above command before installing it"
+		  $opt_dry_run || ${RM}r "$tmpdir"
+		  continue
+	        fi
+	        file=$outputname
+	      else
+	        func_warning "cannot relink '$file'"
+	      fi
+	    }
+	  else
+	    # Install the binary that we compiled earlier.
+	    file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
+	  fi
+	fi
+
+	# remove .exe since cygwin /usr/bin/install will append another
+	# one anyway
+	case $install_prog,$host in
+	*/usr/bin/install*,*cygwin*)
+	  case $file:$destfile in
+	  *.exe:*.exe)
+	    # this is ok
+	    ;;
+	  *.exe:*)
+	    destfile=$destfile.exe
+	    ;;
+	  *:*.exe)
+	    func_stripname '' '.exe' "$destfile"
+	    destfile=$func_stripname_result
+	    ;;
+	  esac
+	  ;;
+	esac
+	func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
+	$opt_dry_run || if test -n "$outputname"; then
+	  ${RM}r "$tmpdir"
+	fi
+	;;
+      esac
+    done
+
+    for file in $staticlibs; do
+      func_basename "$file"
+      name=$func_basename_result
+
+      # Set up the ranlib parameters.
+      oldlib=$destdir/$name
+      func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+      tool_oldlib=$func_to_tool_file_result
+
+      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+      if test -n "$stripme" && test -n "$old_striplib"; then
+	func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
+      fi
+
+      # Do each command in the postinstall commands.
+      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+    done
+
+    test -n "$future_libdirs" && \
+      func_warning "remember to run '$progname --finish$future_libdirs'"
+
+    if test -n "$current_libdirs"; then
+      # Maybe just do a dry run.
+      $opt_dry_run && current_libdirs=" -n$current_libdirs"
+      exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs'
+    else
+      exit $EXIT_SUCCESS
+    fi
+}
+
+test install = "$opt_mode" && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+    $debug_cmd
+
+    my_outputname=$1
+    my_originator=$2
+    my_pic_p=${3-false}
+    my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'`
+    my_dlsyms=
+
+    if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+      if test -n "$NM" && test -n "$global_symbol_pipe"; then
+	my_dlsyms=${my_outputname}S.c
+      else
+	func_error "not configured to extract global symbols from dlpreopened files"
+      fi
+    fi
+
+    if test -n "$my_dlsyms"; then
+      case $my_dlsyms in
+      "") ;;
+      *.c)
+	# Discover the nlist of each of the dlfiles.
+	nlist=$output_objdir/$my_outputname.nm
+
+	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
+	# Parse the name list into a source file.
+	func_verbose "creating $output_objdir/$my_dlsyms"
+
+	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
+#endif
+
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
+# define LT_DLSYM_CONST
+#elif defined __osf__
+/* This system does not cope well with relocations in const data.  */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
+/* External symbol declarations for the compiler. */\
+"
+
+	if test yes = "$dlself"; then
+	  func_verbose "generating symbol list for '$output'"
+
+	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+	  # Add our own program objects to the symbol list.
+	  progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+	  for progfile in $progfiles; do
+	    func_to_tool_file "$progfile" func_convert_file_msys_to_w32
+	    func_verbose "extracting global C symbols from '$func_to_tool_file_result'"
+	    $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
+	  done
+
+	  if test -n "$exclude_expsyms"; then
+	    $opt_dry_run || {
+	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+	      eval '$MV "$nlist"T "$nlist"'
+	    }
+	  fi
+
+	  if test -n "$export_symbols_regex"; then
+	    $opt_dry_run || {
+	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+	      eval '$MV "$nlist"T "$nlist"'
+	    }
+	  fi
+
+	  # Prepare the list of exported symbols
+	  if test -z "$export_symbols"; then
+	    export_symbols=$output_objdir/$outputname.exp
+	    $opt_dry_run || {
+	      $RM $export_symbols
+	      eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+	      case $host in
+	      *cygwin* | *mingw* | *cegcc* )
+                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+	        ;;
+	      esac
+	    }
+	  else
+	    $opt_dry_run || {
+	      eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+	      eval '$MV "$nlist"T "$nlist"'
+	      case $host in
+	        *cygwin* | *mingw* | *cegcc* )
+	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+	          ;;
+	      esac
+	    }
+	  fi
+	fi
+
+	for dlprefile in $dlprefiles; do
+	  func_verbose "extracting global C symbols from '$dlprefile'"
+	  func_basename "$dlprefile"
+	  name=$func_basename_result
+          case $host in
+	    *cygwin* | *mingw* | *cegcc* )
+	      # if an import library, we need to obtain dlname
+	      if func_win32_import_lib_p "$dlprefile"; then
+	        func_tr_sh "$dlprefile"
+	        eval "curr_lafile=\$libfile_$func_tr_sh_result"
+	        dlprefile_dlbasename=
+	        if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
+	          # Use subshell, to avoid clobbering current variable values
+	          dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
+	          if test -n "$dlprefile_dlname"; then
+	            func_basename "$dlprefile_dlname"
+	            dlprefile_dlbasename=$func_basename_result
+	          else
+	            # no lafile. user explicitly requested -dlpreopen <import library>.
+	            $sharedlib_from_linklib_cmd "$dlprefile"
+	            dlprefile_dlbasename=$sharedlib_from_linklib_result
+	          fi
+	        fi
+	        $opt_dry_run || {
+	          if test -n "$dlprefile_dlbasename"; then
+	            eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
+	          else
+	            func_warning "Could not compute DLL name from $name"
+	            eval '$ECHO ": $name " >> "$nlist"'
+	          fi
+	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
+	            $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
+	        }
+	      else # not an import lib
+	        $opt_dry_run || {
+	          eval '$ECHO ": $name " >> "$nlist"'
+	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+	        }
+	      fi
+	    ;;
+	    *)
+	      $opt_dry_run || {
+	        eval '$ECHO ": $name " >> "$nlist"'
+	        func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+	        eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+	      }
+	    ;;
+          esac
+	done
+
+	$opt_dry_run || {
+	  # Make sure we have at least an empty file.
+	  test -f "$nlist" || : > "$nlist"
+
+	  if test -n "$exclude_expsyms"; then
+	    $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+	    $MV "$nlist"T "$nlist"
+	  fi
+
+	  # Try sorting and uniquifying the output.
+	  if $GREP -v "^: " < "$nlist" |
+	      if sort -k 3 </dev/null >/dev/null 2>&1; then
+		sort -k 3
+	      else
+		sort +2
+	      fi |
+	      uniq > "$nlist"S; then
+	    :
+	  else
+	    $GREP -v "^: " < "$nlist" > "$nlist"S
+	  fi
+
+	  if test -f "$nlist"S; then
+	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+	  else
+	    echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
+	  fi
+
+	  func_show_eval '$RM "${nlist}I"'
+	  if test -n "$global_symbol_to_import"; then
+	    eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I'
+	  fi
+
+	  echo >> "$output_objdir/$my_dlsyms" "\
+
+/* The mapping between symbol names and symbols.  */
+typedef struct {
+  const char *name;
+  void *address;
+} lt_dlsymlist;
+extern LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];\
+"
+
+	  if test -s "$nlist"I; then
+	    echo >> "$output_objdir/$my_dlsyms" "\
+static void lt_syminit(void)
+{
+  LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols;
+  for (; symbol->name; ++symbol)
+    {"
+	    $SED 's/.*/      if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms"
+	    echo >> "$output_objdir/$my_dlsyms" "\
+    }
+}"
+	  fi
+	  echo >> "$output_objdir/$my_dlsyms" "\
+LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{ {\"$my_originator\", (void *) 0},"
+
+	  if test -s "$nlist"I; then
+	    echo >> "$output_objdir/$my_dlsyms" "\
+  {\"@INIT@\", (void *) &lt_syminit},"
+	  fi
+
+	  case $need_lib_prefix in
+	  no)
+	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+	    ;;
+	  *)
+	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+	    ;;
+	  esac
+	  echo >> "$output_objdir/$my_dlsyms" "\
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+	} # !$opt_dry_run
+
+	pic_flag_for_symtable=
+	case "$compile_command " in
+	*" -static "*) ;;
+	*)
+	  case $host in
+	  # compiling the symbol table file with pic_flag works around
+	  # a FreeBSD bug that causes programs to crash when -lm is
+	  # linked before any other PIC object.  But we must not use
+	  # pic_flag when linking with -static.  The problem exists in
+	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+	  *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+	  *-*-hpux*)
+	    pic_flag_for_symtable=" $pic_flag"  ;;
+	  *)
+	    $my_pic_p && pic_flag_for_symtable=" $pic_flag"
+	    ;;
+	  esac
+	  ;;
+	esac
+	symtab_cflags=
+	for arg in $LTCFLAGS; do
+	  case $arg in
+	  -pie | -fpie | -fPIE) ;;
+	  *) func_append symtab_cflags " $arg" ;;
+	  esac
+	done
+
+	# Now compile the dynamic symbol file.
+	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+	# Clean up the generated files.
+	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"'
+
+	# Transform the symbol file into the correct name.
+	symfileobj=$output_objdir/${my_outputname}S.$objext
+	case $host in
+	*cygwin* | *mingw* | *cegcc* )
+	  if test -f "$output_objdir/$my_outputname.def"; then
+	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+	  else
+	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+	  fi
+	  ;;
+	*)
+	  compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+	  finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+	  ;;
+	esac
+	;;
+      *)
+	func_fatal_error "unknown suffix for '$my_dlsyms'"
+	;;
+      esac
+    else
+      # We keep going just in case the user didn't refer to
+      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
+      # really was required.
+
+      # Nullify the symbol file.
+      compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
+      finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
+    fi
+}
+
+# func_cygming_gnu_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is a GNU/binutils-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_gnu_implib_p ()
+{
+  $debug_cmd
+
+  func_to_tool_file "$1" func_convert_file_msys_to_w32
+  func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
+  test -n "$func_cygming_gnu_implib_tmp"
+}
+
+# func_cygming_ms_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is an MS-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_ms_implib_p ()
+{
+  $debug_cmd
+
+  func_to_tool_file "$1" func_convert_file_msys_to_w32
+  func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
+  test -n "$func_cygming_ms_implib_tmp"
+}
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+# Despite the name, also deal with 64 bit binaries.
+func_win32_libid ()
+{
+  $debug_cmd
+
+  win32_libid_type=unknown
+  win32_fileres=`file -L $1 2>/dev/null`
+  case $win32_fileres in
+  *ar\ archive\ import\ library*) # definitely import
+    win32_libid_type="x86 archive import"
+    ;;
+  *ar\ archive*) # could be an import, or static
+    # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
+    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+       $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
+      case $nm_interface in
+      "MS dumpbin")
+	if func_cygming_ms_implib_p "$1" ||
+	   func_cygming_gnu_implib_p "$1"
+	then
+	  win32_nmres=import
+	else
+	  win32_nmres=
+	fi
+	;;
+      *)
+	func_to_tool_file "$1" func_convert_file_msys_to_w32
+	win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
+	  $SED -n -e '
+	    1,100{
+		/ I /{
+		    s|.*|import|
+		    p
+		    q
+		}
+	    }'`
+	;;
+      esac
+      case $win32_nmres in
+      import*)  win32_libid_type="x86 archive import";;
+      *)        win32_libid_type="x86 archive static";;
+      esac
+    fi
+    ;;
+  *DLL*)
+    win32_libid_type="x86 DLL"
+    ;;
+  *executable*) # but shell scripts are "executable" too...
+    case $win32_fileres in
+    *MS\ Windows\ PE\ Intel*)
+      win32_libid_type="x86 DLL"
+      ;;
+    esac
+    ;;
+  esac
+  $ECHO "$win32_libid_type"
+}
+
+# func_cygming_dll_for_implib ARG
+#
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+# Invoked by eval'ing the libtool variable
+#    $sharedlib_from_linklib_cmd
+# Result is available in the variable
+#    $sharedlib_from_linklib_result
+func_cygming_dll_for_implib ()
+{
+  $debug_cmd
+
+  sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
+}
+
+# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
+#
+# The is the core of a fallback implementation of a
+# platform-specific function to extract the name of the
+# DLL associated with the specified import library LIBNAME.
+#
+# SECTION_NAME is either .idata$6 or .idata$7, depending
+# on the platform and compiler that created the implib.
+#
+# Echos the name of the DLL associated with the
+# specified import library.
+func_cygming_dll_for_implib_fallback_core ()
+{
+  $debug_cmd
+
+  match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
+  $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
+    $SED '/^Contents of section '"$match_literal"':/{
+      # Place marker at beginning of archive member dllname section
+      s/.*/====MARK====/
+      p
+      d
+    }
+    # These lines can sometimes be longer than 43 characters, but
+    # are always uninteresting
+    /:[	 ]*file format pe[i]\{,1\}-/d
+    /^In archive [^:]*:/d
+    # Ensure marker is printed
+    /^====MARK====/p
+    # Remove all lines with less than 43 characters
+    /^.\{43\}/!d
+    # From remaining lines, remove first 43 characters
+    s/^.\{43\}//' |
+    $SED -n '
+      # Join marker and all lines until next marker into a single line
+      /^====MARK====/ b para
+      H
+      $ b para
+      b
+      :para
+      x
+      s/\n//g
+      # Remove the marker
+      s/^====MARK====//
+      # Remove trailing dots and whitespace
+      s/[\. \t]*$//
+      # Print
+      /./p' |
+    # we now have a list, one entry per line, of the stringified
+    # contents of the appropriate section of all members of the
+    # archive that possess that section. Heuristic: eliminate
+    # all those that have a first or second character that is
+    # a '.' (that is, objdump's representation of an unprintable
+    # character.) This should work for all archives with less than
+    # 0x302f exports -- but will fail for DLLs whose name actually
+    # begins with a literal '.' or a single character followed by
+    # a '.'.
+    #
+    # Of those that remain, print the first one.
+    $SED -e '/^\./d;/^.\./d;q'
+}
+
+# func_cygming_dll_for_implib_fallback ARG
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+#
+# This fallback implementation is for use when $DLLTOOL
+# does not support the --identify-strict option.
+# Invoked by eval'ing the libtool variable
+#    $sharedlib_from_linklib_cmd
+# Result is available in the variable
+#    $sharedlib_from_linklib_result
+func_cygming_dll_for_implib_fallback ()
+{
+  $debug_cmd
+
+  if func_cygming_gnu_implib_p "$1"; then
+    # binutils import library
+    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
+  elif func_cygming_ms_implib_p "$1"; then
+    # ms-generated import library
+    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
+  else
+    # unknown
+    sharedlib_from_linklib_result=
+  fi
+}
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+    $debug_cmd
+
+    f_ex_an_ar_dir=$1; shift
+    f_ex_an_ar_oldlib=$1
+    if test yes = "$lock_old_archive_extraction"; then
+      lockfile=$f_ex_an_ar_oldlib.lock
+      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+	func_echo "Waiting for $lockfile to be removed"
+	sleep 2
+      done
+    fi
+    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
+		   'stat=$?; rm -f "$lockfile"; exit $stat'
+    if test yes = "$lock_old_archive_extraction"; then
+      $opt_dry_run || rm -f "$lockfile"
+    fi
+    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+     :
+    else
+      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
+    fi
+}
+
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+    $debug_cmd
+
+    my_gentop=$1; shift
+    my_oldlibs=${1+"$@"}
+    my_oldobjs=
+    my_xlib=
+    my_xabs=
+    my_xdir=
+
+    for my_xlib in $my_oldlibs; do
+      # Extract the objects.
+      case $my_xlib in
+	[\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;;
+	*) my_xabs=`pwd`"/$my_xlib" ;;
+      esac
+      func_basename "$my_xlib"
+      my_xlib=$func_basename_result
+      my_xlib_u=$my_xlib
+      while :; do
+        case " $extracted_archives " in
+	*" $my_xlib_u "*)
+	  func_arith $extracted_serial + 1
+	  extracted_serial=$func_arith_result
+	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
+	*) break ;;
+	esac
+      done
+      extracted_archives="$extracted_archives $my_xlib_u"
+      my_xdir=$my_gentop/$my_xlib_u
+
+      func_mkdir_p "$my_xdir"
+
+      case $host in
+      *-darwin*)
+	func_verbose "Extracting $my_xabs"
+	# Do not bother doing anything if just a dry run
+	$opt_dry_run || {
+	  darwin_orig_dir=`pwd`
+	  cd $my_xdir || exit $?
+	  darwin_archive=$my_xabs
+	  darwin_curdir=`pwd`
+	  func_basename "$darwin_archive"
+	  darwin_base_archive=$func_basename_result
+	  darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+	  if test -n "$darwin_arches"; then
+	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+	    darwin_arch=
+	    func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+	    for darwin_arch in  $darwin_arches; do
+	      func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch"
+	      $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive"
+	      cd "unfat-$$/$darwin_base_archive-$darwin_arch"
+	      func_extract_an_archive "`pwd`" "$darwin_base_archive"
+	      cd "$darwin_curdir"
+	      $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive"
+	    done # $darwin_arches
+            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u`
+	    darwin_file=
+	    darwin_files=
+	    for darwin_file in $darwin_filelist; do
+	      darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
+	      $LIPO -create -output "$darwin_file" $darwin_files
+	    done # $darwin_filelist
+	    $RM -rf unfat-$$
+	    cd "$darwin_orig_dir"
+	  else
+	    cd $darwin_orig_dir
+	    func_extract_an_archive "$my_xdir" "$my_xabs"
+	  fi # $darwin_arches
+	} # !$opt_dry_run
+	;;
+      *)
+        func_extract_an_archive "$my_xdir" "$my_xabs"
+	;;
+      esac
+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
+    done
+
+    func_extract_archives_result=$my_oldobjs
+}
+
+
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable.  Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take.  If 'yes', then the emitted script
+# will assume that the directory where it is stored is
+# the $objdir directory.  This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+	func_emit_wrapper_arg1=${1-no}
+
+	$ECHO "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='$sed_quote_subst'
+
+# Be Bourne compatible
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+  # install mode needs the following variables:
+  generated_by_libtool_version='$macro_version'
+  notinst_deplibs='$notinst_deplibs'
+else
+  # When we are sourced in execute mode, \$file and \$ECHO are already set.
+  if test \"\$libtool_execute_magic\" != \"$magic\"; then
+    file=\"\$0\""
+
+    qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
+    $ECHO "\
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+    ECHO=\"$qECHO\"
+  fi
+
+# Very basic option parsing. These options are (a) specific to
+# the libtool wrapper, (b) are identical between the wrapper
+# /script/ and the wrapper /executable/ that is used only on
+# windows platforms, and (c) all begin with the string "--lt-"
+# (application programs are unlikely to have options that match
+# this pattern).
+#
+# There are only two supported options: --lt-debug and
+# --lt-dump-script. There is, deliberately, no --lt-help.
+#
+# The first argument to this parsing function should be the
+# script's $0 value, followed by "$@".
+lt_option_debug=
+func_parse_lt_options ()
+{
+  lt_script_arg0=\$0
+  shift
+  for lt_opt
+  do
+    case \"\$lt_opt\" in
+    --lt-debug) lt_option_debug=1 ;;
+    --lt-dump-script)
+        lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
+        test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
+        lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
+        cat \"\$lt_dump_D/\$lt_dump_F\"
+        exit 0
+      ;;
+    --lt-*)
+        \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
+        exit 1
+      ;;
+    esac
+  done
+
+  # Print the debug banner immediately:
+  if test -n \"\$lt_option_debug\"; then
+    echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2
+  fi
+}
+
+# Used when --lt-debug. Prints its arguments to stdout
+# (redirection is the responsibility of the caller)
+func_lt_dump_args ()
+{
+  lt_dump_args_N=1;
+  for lt_arg
+  do
+    \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\"
+    lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
+  done
+}
+
+# Core function for launching the target application
+func_exec_program_core ()
+{
+"
+  case $host in
+  # Backslashes separate directories on plain windows
+  *-*-mingw | *-*-os2* | *-cegcc*)
+    $ECHO "\
+      if test -n \"\$lt_option_debug\"; then
+        \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
+        func_lt_dump_args \${1+\"\$@\"} 1>&2
+      fi
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+    ;;
+
+  *)
+    $ECHO "\
+      if test -n \"\$lt_option_debug\"; then
+        \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2
+        func_lt_dump_args \${1+\"\$@\"} 1>&2
+      fi
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+    ;;
+  esac
+  $ECHO "\
+      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+      exit 1
+}
+
+# A function to encapsulate launching the target application
+# Strips options in the --lt-* namespace from \$@ and
+# launches target application with the remaining arguments.
+func_exec_program ()
+{
+  case \" \$* \" in
+  *\\ --lt-*)
+    for lt_wr_arg
+    do
+      case \$lt_wr_arg in
+      --lt-*) ;;
+      *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+      esac
+      shift
+    done ;;
+  esac
+  func_exec_program_core \${1+\"\$@\"}
+}
+
+  # Parse options
+  func_parse_lt_options \"\$0\" \${1+\"\$@\"}
+
+  # Find the directory that this script lives in.
+  thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
+  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
+  while test -n \"\$file\"; do
+    destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
+
+    # If there was a directory component, then change thisdir.
+    if test \"x\$destdir\" != \"x\$file\"; then
+      case \"\$destdir\" in
+      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+      *) thisdir=\"\$thisdir/\$destdir\" ;;
+      esac
+    fi
+
+    file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
+  done
+
+  # Usually 'no', except on cygwin/mingw when embedded into
+  # the cwrapper.
+  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
+  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+    # special case for '.'
+    if test \"\$thisdir\" = \".\"; then
+      thisdir=\`pwd\`
+    fi
+    # remove .libs from thisdir
+    case \"\$thisdir\" in
+    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
+    $objdir )   thisdir=. ;;
+    esac
+  fi
+
+  # Try to get the absolute directory name.
+  absdir=\`cd \"\$thisdir\" && pwd\`
+  test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+	if test yes = "$fast_install"; then
+	  $ECHO "\
+  program=lt-'$outputname'$exeext
+  progdir=\"\$thisdir/$objdir\"
+
+  if test ! -f \"\$progdir/\$program\" ||
+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\
+       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+    file=\"\$\$-\$program\"
+
+    if test ! -d \"\$progdir\"; then
+      $MKDIR \"\$progdir\"
+    else
+      $RM \"\$progdir/\$file\"
+    fi"
+
+	  $ECHO "\
+
+    # relink executable if necessary
+    if test -n \"\$relink_command\"; then
+      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+      else
+	\$ECHO \"\$relink_command_output\" >&2
+	$RM \"\$progdir/\$file\"
+	exit 1
+      fi
+    fi
+
+    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+    { $RM \"\$progdir/\$program\";
+      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+    $RM \"\$progdir/\$file\"
+  fi"
+	else
+	  $ECHO "\
+  program='$outputname'
+  progdir=\"\$thisdir/$objdir\"
+"
+	fi
+
+	$ECHO "\
+
+  if test -f \"\$progdir/\$program\"; then"
+
+	# fixup the dll searchpath if we need to.
+	#
+	# Fix the DLL searchpath if we need to.  Do this before prepending
+	# to shlibpath, because on Windows, both are PATH and uninstalled
+	# libraries must come first.
+	if test -n "$dllsearchpath"; then
+	  $ECHO "\
+    # Add the dll search path components to the executable PATH
+    PATH=$dllsearchpath:\$PATH
+"
+	fi
+
+	# Export our shlibpath_var if we have one.
+	if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+	  $ECHO "\
+    # Add our own library path to $shlibpath_var
+    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+    # Some systems cannot cope with colon-terminated $shlibpath_var
+    # The second colon is a workaround for a bug in BeOS R4 sed
+    $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
+
+    export $shlibpath_var
+"
+	fi
+
+	$ECHO "\
+    if test \"\$libtool_execute_magic\" != \"$magic\"; then
+      # Run the actual program with our arguments.
+      func_exec_program \${1+\"\$@\"}
+    fi
+  else
+    # The program doesn't exist.
+    \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2
+    \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
+    \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+    exit 1
+  fi
+fi\
+"
+}
+
+
+# func_emit_cwrapperexe_src
+# emit the source code for a wrapper executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_cwrapperexe_src ()
+{
+	cat <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+   Generated by $PROGRAM (GNU $PACKAGE) $VERSION
+
+   The $output program cannot be directly executed until all the libtool
+   libraries that it depends on are installed.
+
+   This wrapper executable should never be moved out of the build directory.
+   If it is, it will not operate correctly.
+*/
+EOF
+	    cat <<"EOF"
+#ifdef _MSC_VER
+# define _CRT_SECURE_NO_DEPRECATE 1
+#endif
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+#  include <io.h>
+# endif
+#endif
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
+/* declarations of non-ANSI functions */
+#if defined __MINGW32__
+# ifdef __STRICT_ANSI__
+int _putenv (const char *);
+# endif
+#elif defined __CYGWIN__
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
+/* #elif defined other_platform || defined ... */
+#endif
+
+/* portability defines, excluding path handling macros */
+#if defined _MSC_VER
+# define setmode _setmode
+# define stat    _stat
+# define chmod   _chmod
+# define getcwd  _getcwd
+# define putenv  _putenv
+# define S_IXUSR _S_IEXEC
+#elif defined __MINGW32__
+# define setmode _setmode
+# define stat    _stat
+# define chmod   _chmod
+# define getcwd  _getcwd
+# define putenv  _putenv
+#elif defined __CYGWIN__
+# define HAVE_SETENV
+# define FOPEN_WB "wb"
+/* #elif defined other platforms ... */
+#endif
+
+#if defined PATH_MAX
+# define LT_PATHMAX PATH_MAX
+#elif defined MAXPATHLEN
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef S_IXOTH
+# define S_IXOTH 0
+#endif
+#ifndef S_IXGRP
+# define S_IXGRP 0
+#endif
+
+/* path handling portability macros */
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \
+  defined __OS2__
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# define FOPEN_WB "wb"
+# ifndef DIR_SEPARATOR_2
+#  define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+#  define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#ifndef FOPEN_WB
+# define FOPEN_WB "w"
+#endif
+#ifndef _O_BINARY
+# define _O_BINARY 0
+#endif
+
+#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+  if (stale) { free (stale); stale = 0; } \
+} while (0)
+
+#if defined LT_DEBUGWRAPPER
+static int lt_debug = 1;
+#else
+static int lt_debug = 0;
+#endif
+
+const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
+
+void *xmalloc (size_t num);
+char *xstrdup (const char *string);
+const char *base_name (const char *name);
+char *find_executable (const char *wrapper);
+char *chase_symlinks (const char *pathspec);
+int make_executable (const char *path);
+int check_executable (const char *path);
+char *strendzap (char *str, const char *pat);
+void lt_debugprintf (const char *file, int line, const char *fmt, ...);
+void lt_fatal (const char *file, int line, const char *message, ...);
+static const char *nonnull (const char *s);
+static const char *nonempty (const char *s);
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+char **prepare_spawn (char **argv);
+void lt_dump_script (FILE *f);
+EOF
+
+	    cat <<EOF
+#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
+# define externally_visible volatile
+#else
+# define externally_visible __attribute__((externally_visible)) volatile
+#endif
+externally_visible const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
+EOF
+
+	    if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+              func_to_host_path "$temp_rpath"
+	      cat <<EOF
+const char * LIB_PATH_VALUE   = "$func_to_host_path_result";
+EOF
+	    else
+	      cat <<"EOF"
+const char * LIB_PATH_VALUE   = "";
+EOF
+	    fi
+
+	    if test -n "$dllsearchpath"; then
+              func_to_host_path "$dllsearchpath:"
+	      cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE   = "$func_to_host_path_result";
+EOF
+	    else
+	      cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE   = "";
+EOF
+	    fi
+
+	    if test yes = "$fast_install"; then
+	      cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+	    else
+	      cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+	    fi
+
+
+	    cat <<"EOF"
+
+#define LTWRAPPER_OPTION_PREFIX         "--lt-"
+
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
+static const char *debug_opt            = LTWRAPPER_OPTION_PREFIX "debug";
+
+int
+main (int argc, char *argv[])
+{
+  char **newargz;
+  int  newargc;
+  char *tmp_pathspec;
+  char *actual_cwrapper_path;
+  char *actual_cwrapper_name;
+  char *target_name;
+  char *lt_argv_zero;
+  int rval = 127;
+
+  int i;
+
+  program_name = (char *) xstrdup (base_name (argv[0]));
+  newargz = XMALLOC (char *, (size_t) argc + 1);
+
+  /* very simple arg parsing; don't want to rely on getopt
+   * also, copy all non cwrapper options to newargz, except
+   * argz[0], which is handled differently
+   */
+  newargc=0;
+  for (i = 1; i < argc; i++)
+    {
+      if (STREQ (argv[i], dumpscript_opt))
+	{
+EOF
+	    case $host in
+	      *mingw* | *cygwin* )
+		# make stdout use "unix" line endings
+		echo "          setmode(1,_O_BINARY);"
+		;;
+	      esac
+
+	    cat <<"EOF"
+	  lt_dump_script (stdout);
+	  return 0;
+	}
+      if (STREQ (argv[i], debug_opt))
+	{
+          lt_debug = 1;
+          continue;
+	}
+      if (STREQ (argv[i], ltwrapper_option_prefix))
+        {
+          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+             namespace, but it is not one of the ones we know about and
+             have already dealt with, above (inluding dump-script), then
+             report an error. Otherwise, targets might begin to believe
+             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+             namespace. The first time any user complains about this, we'll
+             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+             or a configure.ac-settable value.
+           */
+          lt_fatal (__FILE__, __LINE__,
+		    "unrecognized %s option: '%s'",
+                    ltwrapper_option_prefix, argv[i]);
+        }
+      /* otherwise ... */
+      newargz[++newargc] = xstrdup (argv[i]);
+    }
+  newargz[++newargc] = NULL;
+
+EOF
+	    cat <<EOF
+  /* The GNU banner must be the first non-error debug message */
+  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE) $VERSION\n");
+EOF
+	    cat <<"EOF"
+  lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
+  lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
+
+  tmp_pathspec = find_executable (argv[0]);
+  if (tmp_pathspec == NULL)
+    lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
+  lt_debugprintf (__FILE__, __LINE__,
+                  "(main) found exe (before symlink chase) at: %s\n",
+		  tmp_pathspec);
+
+  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+  lt_debugprintf (__FILE__, __LINE__,
+                  "(main) found exe (after symlink chase) at: %s\n",
+		  actual_cwrapper_path);
+  XFREE (tmp_pathspec);
+
+  actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
+  strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+  /* wrapper name transforms */
+  strendzap (actual_cwrapper_name, ".exe");
+  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+  XFREE (actual_cwrapper_name);
+  actual_cwrapper_name = tmp_pathspec;
+  tmp_pathspec = 0;
+
+  /* target_name transforms -- use actual target program name; might have lt- prefix */
+  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+  strendzap (target_name, ".exe");
+  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+  XFREE (target_name);
+  target_name = tmp_pathspec;
+  tmp_pathspec = 0;
+
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(main) libtool target name: %s\n",
+		  target_name);
+EOF
+
+	    cat <<EOF
+  newargz[0] =
+    XMALLOC (char, (strlen (actual_cwrapper_path) +
+		    strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+  strcpy (newargz[0], actual_cwrapper_path);
+  strcat (newargz[0], "$objdir");
+  strcat (newargz[0], "/");
+EOF
+
+	    cat <<"EOF"
+  /* stop here, and copy so we don't have to do this twice */
+  tmp_pathspec = xstrdup (newargz[0]);
+
+  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+  strcat (newargz[0], actual_cwrapper_name);
+
+  /* DO want the lt- prefix here if it exists, so use target_name */
+  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+  XFREE (tmp_pathspec);
+  tmp_pathspec = NULL;
+EOF
+
+	    case $host_os in
+	      mingw*)
+	    cat <<"EOF"
+  {
+    char* p;
+    while ((p = strchr (newargz[0], '\\')) != NULL)
+      {
+	*p = '/';
+      }
+    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
+      {
+	*p = '/';
+      }
+  }
+EOF
+	    ;;
+	    esac
+
+	    cat <<"EOF"
+  XFREE (target_name);
+  XFREE (actual_cwrapper_path);
+  XFREE (actual_cwrapper_name);
+
+  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
+  /* Update the DLL searchpath.  EXE_PATH_VALUE ($dllsearchpath) must
+     be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
+     because on Windows, both *_VARNAMEs are PATH but uninstalled
+     libraries must come first. */
+  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+
+  lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
+		  nonnull (lt_argv_zero));
+  for (i = 0; i < newargc; i++)
+    {
+      lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
+		      i, nonnull (newargz[i]));
+    }
+
+EOF
+
+	    case $host_os in
+	      mingw*)
+		cat <<"EOF"
+  /* execv doesn't actually work on mingw as expected on unix */
+  newargz = prepare_spawn (newargz);
+  rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+  if (rval == -1)
+    {
+      /* failed to start process */
+      lt_debugprintf (__FILE__, __LINE__,
+		      "(main) failed to launch target \"%s\": %s\n",
+		      lt_argv_zero, nonnull (strerror (errno)));
+      return 127;
+    }
+  return rval;
+EOF
+		;;
+	      *)
+		cat <<"EOF"
+  execv (lt_argv_zero, newargz);
+  return rval; /* =127, but avoids unused variable warning */
+EOF
+		;;
+	    esac
+
+	    cat <<"EOF"
+}
+
+void *
+xmalloc (size_t num)
+{
+  void *p = (void *) malloc (num);
+  if (!p)
+    lt_fatal (__FILE__, __LINE__, "memory exhausted");
+
+  return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
+			  string) : NULL;
+}
+
+const char *
+base_name (const char *name)
+{
+  const char *base;
+
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
+  /* Skip over the disk name in MSDOS pathnames. */
+  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
+    name += 2;
+#endif
+
+  for (base = name; *name; name++)
+    if (IS_DIR_SEPARATOR (*name))
+      base = name + 1;
+  return base;
+}
+
+int
+check_executable (const char *path)
+{
+  struct stat st;
+
+  lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
+                  nonempty (path));
+  if ((!path) || (!*path))
+    return 0;
+
+  if ((stat (path, &st) >= 0)
+      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
+    return 1;
+  else
+    return 0;
+}
+
+int
+make_executable (const char *path)
+{
+  int rval = 0;
+  struct stat st;
+
+  lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
+                  nonempty (path));
+  if ((!path) || (!*path))
+    return 0;
+
+  if (stat (path, &st) >= 0)
+    {
+      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
+    }
+  return rval;
+}
+
+/* Searches for the full path of the wrapper.  Returns
+   newly allocated full path name if found, NULL otherwise
+   Does not chase symlinks, even on platforms that support them.
+*/
+char *
+find_executable (const char *wrapper)
+{
+  int has_slash = 0;
+  const char *p;
+  const char *p_next;
+  /* static buffer for getcwd */
+  char tmp[LT_PATHMAX + 1];
+  size_t tmp_len;
+  char *concat_name;
+
+  lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
+                  nonempty (wrapper));
+
+  if ((wrapper == NULL) || (*wrapper == '\0'))
+    return NULL;
+
+  /* Absolute path? */
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
+  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
+    {
+      concat_name = xstrdup (wrapper);
+      if (check_executable (concat_name))
+	return concat_name;
+      XFREE (concat_name);
+    }
+  else
+    {
+#endif
+      if (IS_DIR_SEPARATOR (wrapper[0]))
+	{
+	  concat_name = xstrdup (wrapper);
+	  if (check_executable (concat_name))
+	    return concat_name;
+	  XFREE (concat_name);
+	}
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
+    }
+#endif
+
+  for (p = wrapper; *p; p++)
+    if (*p == '/')
+      {
+	has_slash = 1;
+	break;
+      }
+  if (!has_slash)
+    {
+      /* no slashes; search PATH */
+      const char *path = getenv ("PATH");
+      if (path != NULL)
+	{
+	  for (p = path; *p; p = p_next)
+	    {
+	      const char *q;
+	      size_t p_len;
+	      for (q = p; *q; q++)
+		if (IS_PATH_SEPARATOR (*q))
+		  break;
+	      p_len = (size_t) (q - p);
+	      p_next = (*q == '\0' ? q : q + 1);
+	      if (p_len == 0)
+		{
+		  /* empty path: current directory */
+		  if (getcwd (tmp, LT_PATHMAX) == NULL)
+		    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+                              nonnull (strerror (errno)));
+		  tmp_len = strlen (tmp);
+		  concat_name =
+		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+		  memcpy (concat_name, tmp, tmp_len);
+		  concat_name[tmp_len] = '/';
+		  strcpy (concat_name + tmp_len + 1, wrapper);
+		}
+	      else
+		{
+		  concat_name =
+		    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
+		  memcpy (concat_name, p, p_len);
+		  concat_name[p_len] = '/';
+		  strcpy (concat_name + p_len + 1, wrapper);
+		}
+	      if (check_executable (concat_name))
+		return concat_name;
+	      XFREE (concat_name);
+	    }
+	}
+      /* not found in PATH; assume curdir */
+    }
+  /* Relative path | not found in path: prepend cwd */
+  if (getcwd (tmp, LT_PATHMAX) == NULL)
+    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+              nonnull (strerror (errno)));
+  tmp_len = strlen (tmp);
+  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+  memcpy (concat_name, tmp, tmp_len);
+  concat_name[tmp_len] = '/';
+  strcpy (concat_name + tmp_len + 1, wrapper);
+
+  if (check_executable (concat_name))
+    return concat_name;
+  XFREE (concat_name);
+  return NULL;
+}
+
+char *
+chase_symlinks (const char *pathspec)
+{
+#ifndef S_ISLNK
+  return xstrdup (pathspec);
+#else
+  char buf[LT_PATHMAX];
+  struct stat s;
+  char *tmp_pathspec = xstrdup (pathspec);
+  char *p;
+  int has_symlinks = 0;
+  while (strlen (tmp_pathspec) && !has_symlinks)
+    {
+      lt_debugprintf (__FILE__, __LINE__,
+		      "checking path component for symlinks: %s\n",
+		      tmp_pathspec);
+      if (lstat (tmp_pathspec, &s) == 0)
+	{
+	  if (S_ISLNK (s.st_mode) != 0)
+	    {
+	      has_symlinks = 1;
+	      break;
+	    }
+
+	  /* search backwards for last DIR_SEPARATOR */
+	  p = tmp_pathspec + strlen (tmp_pathspec) - 1;
+	  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+	    p--;
+	  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+	    {
+	      /* no more DIR_SEPARATORS left */
+	      break;
+	    }
+	  *p = '\0';
+	}
+      else
+	{
+	  lt_fatal (__FILE__, __LINE__,
+		    "error accessing file \"%s\": %s",
+		    tmp_pathspec, nonnull (strerror (errno)));
+	}
+    }
+  XFREE (tmp_pathspec);
+
+  if (!has_symlinks)
+    {
+      return xstrdup (pathspec);
+    }
+
+  tmp_pathspec = realpath (pathspec, buf);
+  if (tmp_pathspec == 0)
+    {
+      lt_fatal (__FILE__, __LINE__,
+		"could not follow symlinks for %s", pathspec);
+    }
+  return xstrdup (tmp_pathspec);
+#endif
+}
+
+char *
+strendzap (char *str, const char *pat)
+{
+  size_t len, patlen;
+
+  assert (str != NULL);
+  assert (pat != NULL);
+
+  len = strlen (str);
+  patlen = strlen (pat);
+
+  if (patlen <= len)
+    {
+      str += len - patlen;
+      if (STREQ (str, pat))
+	*str = '\0';
+    }
+  return str;
+}
+
+void
+lt_debugprintf (const char *file, int line, const char *fmt, ...)
+{
+  va_list args;
+  if (lt_debug)
+    {
+      (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
+      va_start (args, fmt);
+      (void) vfprintf (stderr, fmt, args);
+      va_end (args);
+    }
+}
+
+static void
+lt_error_core (int exit_status, const char *file,
+	       int line, const char *mode,
+	       const char *message, va_list ap)
+{
+  fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
+  vfprintf (stderr, message, ap);
+  fprintf (stderr, ".\n");
+
+  if (exit_status >= 0)
+    exit (exit_status);
+}
+
+void
+lt_fatal (const char *file, int line, const char *message, ...)
+{
+  va_list ap;
+  va_start (ap, message);
+  lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
+  va_end (ap);
+}
+
+static const char *
+nonnull (const char *s)
+{
+  return s ? s : "(null)";
+}
+
+static const char *
+nonempty (const char *s)
+{
+  return (s && !*s) ? "(empty)" : nonnull (s);
+}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(lt_setenv) setting '%s' to '%s'\n",
+                  nonnull (name), nonnull (value));
+  {
+#ifdef HAVE_SETENV
+    /* always make a copy, for consistency with !HAVE_SETENV */
+    char *str = xstrdup (value);
+    setenv (name, str, 1);
+#else
+    size_t len = strlen (name) + 1 + strlen (value) + 1;
+    char *str = XMALLOC (char, len);
+    sprintf (str, "%s=%s", name, value);
+    if (putenv (str) != EXIT_SUCCESS)
+      {
+        XFREE (str);
+      }
+#endif
+  }
+}
+
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+  char *new_value;
+  if (orig_value && *orig_value)
+    {
+      size_t orig_value_len = strlen (orig_value);
+      size_t add_len = strlen (add);
+      new_value = XMALLOC (char, add_len + orig_value_len + 1);
+      if (to_end)
+        {
+          strcpy (new_value, orig_value);
+          strcpy (new_value + orig_value_len, add);
+        }
+      else
+        {
+          strcpy (new_value, add);
+          strcpy (new_value + add_len, orig_value);
+        }
+    }
+  else
+    {
+      new_value = xstrdup (add);
+    }
+  return new_value;
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+                  nonnull (name), nonnull (value));
+
+  if (name && *name && value && *value)
+    {
+      char *new_value = lt_extend_str (getenv (name), value, 0);
+      /* some systems can't cope with a ':'-terminated path #' */
+      size_t len = strlen (new_value);
+      while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+        {
+          new_value[--len] = '\0';
+        }
+      lt_setenv (name, new_value);
+      XFREE (new_value);
+    }
+}
+
+void
+lt_update_lib_path (const char *name, const char *value)
+{
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+                  nonnull (name), nonnull (value));
+
+  if (name && *name && value && *value)
+    {
+      char *new_value = lt_extend_str (getenv (name), value, 0);
+      lt_setenv (name, new_value);
+      XFREE (new_value);
+    }
+}
+
+EOF
+	    case $host_os in
+	      mingw*)
+		cat <<"EOF"
+
+/* Prepares an argument vector before calling spawn().
+   Note that spawn() does not by itself call the command interpreter
+     (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
+      ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+         GetVersionEx(&v);
+         v.dwPlatformId == VER_PLATFORM_WIN32_NT;
+      }) ? "cmd.exe" : "command.com").
+   Instead it simply concatenates the arguments, separated by ' ', and calls
+   CreateProcess().  We must quote the arguments since Win32 CreateProcess()
+   interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
+   special way:
+   - Space and tab are interpreted as delimiters. They are not treated as
+     delimiters if they are surrounded by double quotes: "...".
+   - Unescaped double quotes are removed from the input. Their only effect is
+     that within double quotes, space and tab are treated like normal
+     characters.
+   - Backslashes not followed by double quotes are not special.
+   - But 2*n+1 backslashes followed by a double quote become
+     n backslashes followed by a double quote (n >= 0):
+       \" -> "
+       \\\" -> \"
+       \\\\\" -> \\"
+ */
+#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+char **
+prepare_spawn (char **argv)
+{
+  size_t argc;
+  char **new_argv;
+  size_t i;
+
+  /* Count number of arguments.  */
+  for (argc = 0; argv[argc] != NULL; argc++)
+    ;
+
+  /* Allocate new argument vector.  */
+  new_argv = XMALLOC (char *, argc + 1);
+
+  /* Put quoted arguments into the new argument vector.  */
+  for (i = 0; i < argc; i++)
+    {
+      const char *string = argv[i];
+
+      if (string[0] == '\0')
+	new_argv[i] = xstrdup ("\"\"");
+      else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
+	{
+	  int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
+	  size_t length;
+	  unsigned int backslashes;
+	  const char *s;
+	  char *quoted_string;
+	  char *p;
+
+	  length = 0;
+	  backslashes = 0;
+	  if (quote_around)
+	    length++;
+	  for (s = string; *s != '\0'; s++)
+	    {
+	      char c = *s;
+	      if (c == '"')
+		length += backslashes + 1;
+	      length++;
+	      if (c == '\\')
+		backslashes++;
+	      else
+		backslashes = 0;
+	    }
+	  if (quote_around)
+	    length += backslashes + 1;
+
+	  quoted_string = XMALLOC (char, length + 1);
+
+	  p = quoted_string;
+	  backslashes = 0;
+	  if (quote_around)
+	    *p++ = '"';
+	  for (s = string; *s != '\0'; s++)
+	    {
+	      char c = *s;
+	      if (c == '"')
+		{
+		  unsigned int j;
+		  for (j = backslashes + 1; j > 0; j--)
+		    *p++ = '\\';
+		}
+	      *p++ = c;
+	      if (c == '\\')
+		backslashes++;
+	      else
+		backslashes = 0;
+	    }
+	  if (quote_around)
+	    {
+	      unsigned int j;
+	      for (j = backslashes; j > 0; j--)
+		*p++ = '\\';
+	      *p++ = '"';
+	    }
+	  *p = '\0';
+
+	  new_argv[i] = quoted_string;
+	}
+      else
+	new_argv[i] = (char *) string;
+    }
+  new_argv[argc] = NULL;
+
+  return new_argv;
+}
+EOF
+		;;
+	    esac
+
+            cat <<"EOF"
+void lt_dump_script (FILE* f)
+{
+EOF
+	    func_emit_wrapper yes |
+	      $SED -n -e '
+s/^\(.\{79\}\)\(..*\)/\1\
+\2/
+h
+s/\([\\"]\)/\\\1/g
+s/$/\\n/
+s/\([^\n]*\).*/  fputs ("\1", f);/p
+g
+D'
+            cat <<"EOF"
+}
+EOF
+}
+# end: func_emit_cwrapperexe_src
+
+# func_win32_import_lib_p ARG
+# True if ARG is an import lib, as indicated by $file_magic_cmd
+func_win32_import_lib_p ()
+{
+    $debug_cmd
+
+    case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
+    *import*) : ;;
+    *) false ;;
+    esac
+}
+
+# func_suncc_cstd_abi
+# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!!
+# Several compiler flags select an ABI that is incompatible with the
+# Cstd library. Avoid specifying it if any are in CXXFLAGS.
+func_suncc_cstd_abi ()
+{
+    $debug_cmd
+
+    case " $compile_command " in
+    *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*)
+      suncc_use_cstd_abi=no
+      ;;
+    *)
+      suncc_use_cstd_abi=yes
+      ;;
+    esac
+}
+
+# func_mode_link arg...
+func_mode_link ()
+{
+    $debug_cmd
+
+    case $host in
+    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+      # It is impossible to link a dll without this setting, and
+      # we shouldn't force the makefile maintainer to figure out
+      # what system we are compiling for in order to pass an extra
+      # flag for every libtool invocation.
+      # allow_undefined=no
+
+      # FIXME: Unfortunately, there are problems with the above when trying
+      # to make a dll that has undefined symbols, in which case not
+      # even a static library is built.  For now, we need to specify
+      # -no-undefined on the libtool link line when we can be certain
+      # that all symbols are satisfied, otherwise we get a static library.
+      allow_undefined=yes
+      ;;
+    *)
+      allow_undefined=yes
+      ;;
+    esac
+    libtool_args=$nonopt
+    base_compile="$nonopt $@"
+    compile_command=$nonopt
+    finalize_command=$nonopt
+
+    compile_rpath=
+    finalize_rpath=
+    compile_shlibpath=
+    finalize_shlibpath=
+    convenience=
+    old_convenience=
+    deplibs=
+    old_deplibs=
+    compiler_flags=
+    linker_flags=
+    dllsearchpath=
+    lib_search_path=`pwd`
+    inst_prefix_dir=
+    new_inherited_linker_flags=
+
+    avoid_version=no
+    bindir=
+    dlfiles=
+    dlprefiles=
+    dlself=no
+    export_dynamic=no
+    export_symbols=
+    export_symbols_regex=
+    generated=
+    libobjs=
+    ltlibs=
+    module=no
+    no_install=no
+    objs=
+    os2dllname=
+    non_pic_objects=
+    precious_files_regex=
+    prefer_static_libs=no
+    preload=false
+    prev=
+    prevarg=
+    release=
+    rpath=
+    xrpath=
+    perm_rpath=
+    temp_rpath=
+    thread_safe=no
+    vinfo=
+    vinfo_number=no
+    weak_libs=
+    single_module=$wl-single_module
+    func_infer_tag $base_compile
+
+    # We need to know -static, to get the right output filenames.
+    for arg
+    do
+      case $arg in
+      -shared)
+	test yes != "$build_libtool_libs" \
+	  && func_fatal_configuration "cannot build a shared library"
+	build_old_libs=no
+	break
+	;;
+      -all-static | -static | -static-libtool-libs)
+	case $arg in
+	-all-static)
+	  if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then
+	    func_warning "complete static linking is impossible in this configuration"
+	  fi
+	  if test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=yes
+	  ;;
+	-static)
+	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=built
+	  ;;
+	-static-libtool-libs)
+	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=yes
+	  ;;
+	esac
+	build_libtool_libs=no
+	build_old_libs=yes
+	break
+	;;
+      esac
+    done
+
+    # See if our shared archives depend on static archives.
+    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+    # Go through the arguments, transforming them on the way.
+    while test "$#" -gt 0; do
+      arg=$1
+      shift
+      func_quote_for_eval "$arg"
+      qarg=$func_quote_for_eval_unquoted_result
+      func_append libtool_args " $func_quote_for_eval_result"
+
+      # If the previous option needs an argument, assign it.
+      if test -n "$prev"; then
+	case $prev in
+	output)
+	  func_append compile_command " @OUTPUT@"
+	  func_append finalize_command " @OUTPUT@"
+	  ;;
+	esac
+
+	case $prev in
+	bindir)
+	  bindir=$arg
+	  prev=
+	  continue
+	  ;;
+	dlfiles|dlprefiles)
+	  $preload || {
+	    # Add the symbol object into the linking commands.
+	    func_append compile_command " @SYMFILE@"
+	    func_append finalize_command " @SYMFILE@"
+	    preload=:
+	  }
+	  case $arg in
+	  *.la | *.lo) ;;  # We handle these cases below.
+	  force)
+	    if test no = "$dlself"; then
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  self)
+	    if test dlprefiles = "$prev"; then
+	      dlself=yes
+	    elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then
+	      dlself=yes
+	    else
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  *)
+	    if test dlfiles = "$prev"; then
+	      func_append dlfiles " $arg"
+	    else
+	      func_append dlprefiles " $arg"
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  esac
+	  ;;
+	expsyms)
+	  export_symbols=$arg
+	  test -f "$arg" \
+	    || func_fatal_error "symbol file '$arg' does not exist"
+	  prev=
+	  continue
+	  ;;
+	expsyms_regex)
+	  export_symbols_regex=$arg
+	  prev=
+	  continue
+	  ;;
+	framework)
+	  case $host in
+	    *-*-darwin*)
+	      case "$deplibs " in
+		*" $qarg.ltframework "*) ;;
+		*) func_append deplibs " $qarg.ltframework" # this is fixed later
+		   ;;
+	      esac
+	      ;;
+	  esac
+	  prev=
+	  continue
+	  ;;
+	inst_prefix)
+	  inst_prefix_dir=$arg
+	  prev=
+	  continue
+	  ;;
+	mllvm)
+	  # Clang does not use LLVM to link, so we can simply discard any
+	  # '-mllvm $arg' options when doing the link step.
+	  prev=
+	  continue
+	  ;;
+	objectlist)
+	  if test -f "$arg"; then
+	    save_arg=$arg
+	    moreargs=
+	    for fil in `cat "$save_arg"`
+	    do
+#	      func_append moreargs " $fil"
+	      arg=$fil
+	      # A libtool-controlled object.
+
+	      # Check to see that this really is a libtool object.
+	      if func_lalib_unsafe_p "$arg"; then
+		pic_object=
+		non_pic_object=
+
+		# Read the .lo file
+		func_source "$arg"
+
+		if test -z "$pic_object" ||
+		   test -z "$non_pic_object" ||
+		   test none = "$pic_object" &&
+		   test none = "$non_pic_object"; then
+		  func_fatal_error "cannot find name of object for '$arg'"
+		fi
+
+		# Extract subdirectory from the argument.
+		func_dirname "$arg" "/" ""
+		xdir=$func_dirname_result
+
+		if test none != "$pic_object"; then
+		  # Prepend the subdirectory the object is found in.
+		  pic_object=$xdir$pic_object
+
+		  if test dlfiles = "$prev"; then
+		    if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
+		      func_append dlfiles " $pic_object"
+		      prev=
+		      continue
+		    else
+		      # If libtool objects are unsupported, then we need to preload.
+		      prev=dlprefiles
+		    fi
+		  fi
+
+		  # CHECK ME:  I think I busted this.  -Ossama
+		  if test dlprefiles = "$prev"; then
+		    # Preload the old-style object.
+		    func_append dlprefiles " $pic_object"
+		    prev=
+		  fi
+
+		  # A PIC object.
+		  func_append libobjs " $pic_object"
+		  arg=$pic_object
+		fi
+
+		# Non-PIC object.
+		if test none != "$non_pic_object"; then
+		  # Prepend the subdirectory the object is found in.
+		  non_pic_object=$xdir$non_pic_object
+
+		  # A standard non-PIC object
+		  func_append non_pic_objects " $non_pic_object"
+		  if test -z "$pic_object" || test none = "$pic_object"; then
+		    arg=$non_pic_object
+		  fi
+		else
+		  # If the PIC object exists, use it instead.
+		  # $xdir was prepended to $pic_object above.
+		  non_pic_object=$pic_object
+		  func_append non_pic_objects " $non_pic_object"
+		fi
+	      else
+		# Only an error if not doing a dry-run.
+		if $opt_dry_run; then
+		  # Extract subdirectory from the argument.
+		  func_dirname "$arg" "/" ""
+		  xdir=$func_dirname_result
+
+		  func_lo2o "$arg"
+		  pic_object=$xdir$objdir/$func_lo2o_result
+		  non_pic_object=$xdir$func_lo2o_result
+		  func_append libobjs " $pic_object"
+		  func_append non_pic_objects " $non_pic_object"
+	        else
+		  func_fatal_error "'$arg' is not a valid libtool object"
+		fi
+	      fi
+	    done
+	  else
+	    func_fatal_error "link input file '$arg' does not exist"
+	  fi
+	  arg=$save_arg
+	  prev=
+	  continue
+	  ;;
+	os2dllname)
+	  os2dllname=$arg
+	  prev=
+	  continue
+	  ;;
+	precious_regex)
+	  precious_files_regex=$arg
+	  prev=
+	  continue
+	  ;;
+	release)
+	  release=-$arg
+	  prev=
+	  continue
+	  ;;
+	rpath | xrpath)
+	  # We need an absolute path.
+	  case $arg in
+	  [\\/]* | [A-Za-z]:[\\/]*) ;;
+	  *)
+	    func_fatal_error "only absolute run-paths are allowed"
+	    ;;
+	  esac
+	  if test rpath = "$prev"; then
+	    case "$rpath " in
+	    *" $arg "*) ;;
+	    *) func_append rpath " $arg" ;;
+	    esac
+	  else
+	    case "$xrpath " in
+	    *" $arg "*) ;;
+	    *) func_append xrpath " $arg" ;;
+	    esac
+	  fi
+	  prev=
+	  continue
+	  ;;
+	shrext)
+	  shrext_cmds=$arg
+	  prev=
+	  continue
+	  ;;
+	weak)
+	  func_append weak_libs " $arg"
+	  prev=
+	  continue
+	  ;;
+	xcclinker)
+	  func_append linker_flags " $qarg"
+	  func_append compiler_flags " $qarg"
+	  prev=
+	  func_append compile_command " $qarg"
+	  func_append finalize_command " $qarg"
+	  continue
+	  ;;
+	xcompiler)
+	  func_append compiler_flags " $qarg"
+	  prev=
+	  func_append compile_command " $qarg"
+	  func_append finalize_command " $qarg"
+	  continue
+	  ;;
+	xlinker)
+	  func_append linker_flags " $qarg"
+	  func_append compiler_flags " $wl$qarg"
+	  prev=
+	  func_append compile_command " $wl$qarg"
+	  func_append finalize_command " $wl$qarg"
+	  continue
+	  ;;
+	*)
+	  eval "$prev=\"\$arg\""
+	  prev=
+	  continue
+	  ;;
+	esac
+      fi # test -n "$prev"
+
+      prevarg=$arg
+
+      case $arg in
+      -all-static)
+	if test -n "$link_static_flag"; then
+	  # See comment for -static flag below, for more details.
+	  func_append compile_command " $link_static_flag"
+	  func_append finalize_command " $link_static_flag"
+	fi
+	continue
+	;;
+
+      -allow-undefined)
+	# FIXME: remove this flag sometime in the future.
+	func_fatal_error "'-allow-undefined' must not be used because it is the default"
+	;;
+
+      -avoid-version)
+	avoid_version=yes
+	continue
+	;;
+
+      -bindir)
+	prev=bindir
+	continue
+	;;
+
+      -dlopen)
+	prev=dlfiles
+	continue
+	;;
+
+      -dlpreopen)
+	prev=dlprefiles
+	continue
+	;;
+
+      -export-dynamic)
+	export_dynamic=yes
+	continue
+	;;
+
+      -export-symbols | -export-symbols-regex)
+	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+	  func_fatal_error "more than one -exported-symbols argument is not allowed"
+	fi
+	if test X-export-symbols = "X$arg"; then
+	  prev=expsyms
+	else
+	  prev=expsyms_regex
+	fi
+	continue
+	;;
+
+      -framework)
+	prev=framework
+	continue
+	;;
+
+      -inst-prefix-dir)
+	prev=inst_prefix
+	continue
+	;;
+
+      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+      # so, if we see these flags be careful not to treat them like -L
+      -L[A-Z][A-Z]*:*)
+	case $with_gcc/$host in
+	no/*-*-irix* | /*-*-irix*)
+	  func_append compile_command " $arg"
+	  func_append finalize_command " $arg"
+	  ;;
+	esac
+	continue
+	;;
+
+      -L*)
+	func_stripname "-L" '' "$arg"
+	if test -z "$func_stripname_result"; then
+	  if test "$#" -gt 0; then
+	    func_fatal_error "require no space between '-L' and '$1'"
+	  else
+	    func_fatal_error "need path for '-L' option"
+	  fi
+	fi
+	func_resolve_sysroot "$func_stripname_result"
+	dir=$func_resolve_sysroot_result
+	# We need an absolute path.
+	case $dir in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	*)
+	  absdir=`cd "$dir" && pwd`
+	  test -z "$absdir" && \
+	    func_fatal_error "cannot determine absolute directory name of '$dir'"
+	  dir=$absdir
+	  ;;
+	esac
+	case "$deplibs " in
+	*" -L$dir "* | *" $arg "*)
+	  # Will only happen for absolute or sysroot arguments
+	  ;;
+	*)
+	  # Preserve sysroot, but never include relative directories
+	  case $dir in
+	    [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
+	    *) func_append deplibs " -L$dir" ;;
+	  esac
+	  func_append lib_search_path " $dir"
+	  ;;
+	esac
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+	  testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
+	  case :$dllsearchpath: in
+	  *":$dir:"*) ;;
+	  ::) dllsearchpath=$dir;;
+	  *) func_append dllsearchpath ":$dir";;
+	  esac
+	  case :$dllsearchpath: in
+	  *":$testbindir:"*) ;;
+	  ::) dllsearchpath=$testbindir;;
+	  *) func_append dllsearchpath ":$testbindir";;
+	  esac
+	  ;;
+	esac
+	continue
+	;;
+
+      -l*)
+	if test X-lc = "X$arg" || test X-lm = "X$arg"; then
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
+	    # These systems don't actually have a C or math library (as such)
+	    continue
+	    ;;
+	  *-*-os2*)
+	    # These systems don't actually have a C library (as such)
+	    test X-lc = "X$arg" && continue
+	    ;;
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
+	    # Do not include libc due to us having libc/libc_r.
+	    test X-lc = "X$arg" && continue
+	    ;;
+	  *-*-rhapsody* | *-*-darwin1.[012])
+	    # Rhapsody C and math libraries are in the System framework
+	    func_append deplibs " System.ltframework"
+	    continue
+	    ;;
+	  *-*-sco3.2v5* | *-*-sco5v6*)
+	    # Causes problems with __ctype
+	    test X-lc = "X$arg" && continue
+	    ;;
+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+	    # Compiler inserts libc in the correct place for threads to work
+	    test X-lc = "X$arg" && continue
+	    ;;
+	  esac
+	elif test X-lc_r = "X$arg"; then
+	 case $host in
+	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
+	   # Do not include libc_r directly, use -pthread flag.
+	   continue
+	   ;;
+	 esac
+	fi
+	func_append deplibs " $arg"
+	continue
+	;;
+
+      -mllvm)
+	prev=mllvm
+	continue
+	;;
+
+      -module)
+	module=yes
+	continue
+	;;
+
+      # Tru64 UNIX uses -model [arg] to determine the layout of C++
+      # classes, name mangling, and exception handling.
+      # Darwin uses the -arch flag to determine output architecture.
+      -model|-arch|-isysroot|--sysroot)
+	func_append compiler_flags " $arg"
+	func_append compile_command " $arg"
+	func_append finalize_command " $arg"
+	prev=xcompiler
+	continue
+	;;
+
+      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+      |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+	func_append compiler_flags " $arg"
+	func_append compile_command " $arg"
+	func_append finalize_command " $arg"
+	case "$new_inherited_linker_flags " in
+	    *" $arg "*) ;;
+	    * ) func_append new_inherited_linker_flags " $arg" ;;
+	esac
+	continue
+	;;
+
+      -multi_module)
+	single_module=$wl-multi_module
+	continue
+	;;
+
+      -no-fast-install)
+	fast_install=no
+	continue
+	;;
+
+      -no-install)
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
+	  # The PATH hackery in wrapper scripts is required on Windows
+	  # and Darwin in order for the loader to find any dlls it needs.
+	  func_warning "'-no-install' is ignored for $host"
+	  func_warning "assuming '-no-fast-install' instead"
+	  fast_install=no
+	  ;;
+	*) no_install=yes ;;
+	esac
+	continue
+	;;
+
+      -no-undefined)
+	allow_undefined=no
+	continue
+	;;
+
+      -objectlist)
+	prev=objectlist
+	continue
+	;;
+
+      -os2dllname)
+	prev=os2dllname
+	continue
+	;;
+
+      -o) prev=output ;;
+
+      -precious-files-regex)
+	prev=precious_regex
+	continue
+	;;
+
+      -release)
+	prev=release
+	continue
+	;;
+
+      -rpath)
+	prev=rpath
+	continue
+	;;
+
+      -R)
+	prev=xrpath
+	continue
+	;;
+
+      -R*)
+	func_stripname '-R' '' "$arg"
+	dir=$func_stripname_result
+	# We need an absolute path.
+	case $dir in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	=*)
+	  func_stripname '=' '' "$dir"
+	  dir=$lt_sysroot$func_stripname_result
+	  ;;
+	*)
+	  func_fatal_error "only absolute run-paths are allowed"
+	  ;;
+	esac
+	case "$xrpath " in
+	*" $dir "*) ;;
+	*) func_append xrpath " $dir" ;;
+	esac
+	continue
+	;;
+
+      -shared)
+	# The effects of -shared are defined in a previous loop.
+	continue
+	;;
+
+      -shrext)
+	prev=shrext
+	continue
+	;;
+
+      -static | -static-libtool-libs)
+	# The effects of -static are defined in a previous loop.
+	# We used to do the same as -all-static on platforms that
+	# didn't have a PIC flag, but the assumption that the effects
+	# would be equivalent was wrong.  It would break on at least
+	# Digital Unix and AIX.
+	continue
+	;;
+
+      -thread-safe)
+	thread_safe=yes
+	continue
+	;;
+
+      -version-info)
+	prev=vinfo
+	continue
+	;;
+
+      -version-number)
+	prev=vinfo
+	vinfo_number=yes
+	continue
+	;;
+
+      -weak)
+        prev=weak
+	continue
+	;;
+
+      -Wc,*)
+	func_stripname '-Wc,' '' "$arg"
+	args=$func_stripname_result
+	arg=
+	save_ifs=$IFS; IFS=,
+	for flag in $args; do
+	  IFS=$save_ifs
+          func_quote_for_eval "$flag"
+	  func_append arg " $func_quote_for_eval_result"
+	  func_append compiler_flags " $func_quote_for_eval_result"
+	done
+	IFS=$save_ifs
+	func_stripname ' ' '' "$arg"
+	arg=$func_stripname_result
+	;;
+
+      -Wl,*)
+	func_stripname '-Wl,' '' "$arg"
+	args=$func_stripname_result
+	arg=
+	save_ifs=$IFS; IFS=,
+	for flag in $args; do
+	  IFS=$save_ifs
+          func_quote_for_eval "$flag"
+	  func_append arg " $wl$func_quote_for_eval_result"
+	  func_append compiler_flags " $wl$func_quote_for_eval_result"
+	  func_append linker_flags " $func_quote_for_eval_result"
+	done
+	IFS=$save_ifs
+	func_stripname ' ' '' "$arg"
+	arg=$func_stripname_result
+	;;
+
+      -Xcompiler)
+	prev=xcompiler
+	continue
+	;;
+
+      -Xlinker)
+	prev=xlinker
+	continue
+	;;
+
+      -XCClinker)
+	prev=xcclinker
+	continue
+	;;
+
+      # -msg_* for osf cc
+      -msg_*)
+	func_quote_for_eval "$arg"
+	arg=$func_quote_for_eval_result
+	;;
+
+      # Flags to be passed through unchanged, with rationale:
+      # -64, -mips[0-9]      enable 64-bit mode for the SGI compiler
+      # -r[0-9][0-9]*        specify processor for the SGI compiler
+      # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
+      # +DA*, +DD*           enable 64-bit mode for the HP compiler
+      # -q*                  compiler args for the IBM compiler
+      # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
+      # -F/path              path to uninstalled frameworks, gcc on darwin
+      # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC
+      # -fstack-protector*   stack protector flags for GCC
+      # @file                GCC response files
+      # -tp=*                Portland pgcc target processor selection
+      # --sysroot=*          for sysroot support
+      # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+      # -stdlib=*            select c++ std lib with clang
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
+        func_quote_for_eval "$arg"
+	arg=$func_quote_for_eval_result
+        func_append compile_command " $arg"
+        func_append finalize_command " $arg"
+        func_append compiler_flags " $arg"
+        continue
+        ;;
+
+      -Z*)
+        if test os2 = "`expr $host : '.*\(os2\)'`"; then
+          # OS/2 uses -Zxxx to specify OS/2-specific options
+	  compiler_flags="$compiler_flags $arg"
+	  func_append compile_command " $arg"
+	  func_append finalize_command " $arg"
+	  case $arg in
+	  -Zlinker | -Zstack)
+	    prev=xcompiler
+	    ;;
+	  esac
+	  continue
+        else
+	  # Otherwise treat like 'Some other compiler flag' below
+	  func_quote_for_eval "$arg"
+	  arg=$func_quote_for_eval_result
+        fi
+	;;
+
+      # Some other compiler flag.
+      -* | +*)
+        func_quote_for_eval "$arg"
+	arg=$func_quote_for_eval_result
+	;;
+
+      *.$objext)
+	# A standard object.
+	func_append objs " $arg"
+	;;
+
+      *.lo)
+	# A libtool-controlled object.
+
+	# Check to see that this really is a libtool object.
+	if func_lalib_unsafe_p "$arg"; then
+	  pic_object=
+	  non_pic_object=
+
+	  # Read the .lo file
+	  func_source "$arg"
+
+	  if test -z "$pic_object" ||
+	     test -z "$non_pic_object" ||
+	     test none = "$pic_object" &&
+	     test none = "$non_pic_object"; then
+	    func_fatal_error "cannot find name of object for '$arg'"
+	  fi
+
+	  # Extract subdirectory from the argument.
+	  func_dirname "$arg" "/" ""
+	  xdir=$func_dirname_result
+
+	  test none = "$pic_object" || {
+	    # Prepend the subdirectory the object is found in.
+	    pic_object=$xdir$pic_object
+
+	    if test dlfiles = "$prev"; then
+	      if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
+		func_append dlfiles " $pic_object"
+		prev=
+		continue
+	      else
+		# If libtool objects are unsupported, then we need to preload.
+		prev=dlprefiles
+	      fi
+	    fi
+
+	    # CHECK ME:  I think I busted this.  -Ossama
+	    if test dlprefiles = "$prev"; then
+	      # Preload the old-style object.
+	      func_append dlprefiles " $pic_object"
+	      prev=
+	    fi
+
+	    # A PIC object.
+	    func_append libobjs " $pic_object"
+	    arg=$pic_object
+	  }
+
+	  # Non-PIC object.
+	  if test none != "$non_pic_object"; then
+	    # Prepend the subdirectory the object is found in.
+	    non_pic_object=$xdir$non_pic_object
+
+	    # A standard non-PIC object
+	    func_append non_pic_objects " $non_pic_object"
+	    if test -z "$pic_object" || test none = "$pic_object"; then
+	      arg=$non_pic_object
+	    fi
+	  else
+	    # If the PIC object exists, use it instead.
+	    # $xdir was prepended to $pic_object above.
+	    non_pic_object=$pic_object
+	    func_append non_pic_objects " $non_pic_object"
+	  fi
+	else
+	  # Only an error if not doing a dry-run.
+	  if $opt_dry_run; then
+	    # Extract subdirectory from the argument.
+	    func_dirname "$arg" "/" ""
+	    xdir=$func_dirname_result
+
+	    func_lo2o "$arg"
+	    pic_object=$xdir$objdir/$func_lo2o_result
+	    non_pic_object=$xdir$func_lo2o_result
+	    func_append libobjs " $pic_object"
+	    func_append non_pic_objects " $non_pic_object"
+	  else
+	    func_fatal_error "'$arg' is not a valid libtool object"
+	  fi
+	fi
+	;;
+
+      *.$libext)
+	# An archive.
+	func_append deplibs " $arg"
+	func_append old_deplibs " $arg"
+	continue
+	;;
+
+      *.la)
+	# A libtool-controlled library.
+
+	func_resolve_sysroot "$arg"
+	if test dlfiles = "$prev"; then
+	  # This library was specified with -dlopen.
+	  func_append dlfiles " $func_resolve_sysroot_result"
+	  prev=
+	elif test dlprefiles = "$prev"; then
+	  # The library was specified with -dlpreopen.
+	  func_append dlprefiles " $func_resolve_sysroot_result"
+	  prev=
+	else
+	  func_append deplibs " $func_resolve_sysroot_result"
+	fi
+	continue
+	;;
+
+      # Some other compiler argument.
+      *)
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	func_quote_for_eval "$arg"
+	arg=$func_quote_for_eval_result
+	;;
+      esac # arg
+
+      # Now actually substitute the argument into the commands.
+      if test -n "$arg"; then
+	func_append compile_command " $arg"
+	func_append finalize_command " $arg"
+      fi
+    done # argument parsing loop
+
+    test -n "$prev" && \
+      func_fatal_help "the '$prevarg' option requires an argument"
+
+    if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then
+      eval arg=\"$export_dynamic_flag_spec\"
+      func_append compile_command " $arg"
+      func_append finalize_command " $arg"
+    fi
+
+    oldlibs=
+    # calculate the name of the file, without its directory
+    func_basename "$output"
+    outputname=$func_basename_result
+    libobjs_save=$libobjs
+
+    if test -n "$shlibpath_var"; then
+      # get the directories listed in $shlibpath_var
+      eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\`
+    else
+      shlib_search_path=
+    fi
+    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+    # Definition is injected by LT_CONFIG during libtool generation.
+    func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH"
+
+    func_dirname "$output" "/" ""
+    output_objdir=$func_dirname_result$objdir
+    func_to_tool_file "$output_objdir/"
+    tool_output_objdir=$func_to_tool_file_result
+    # Create the object directory.
+    func_mkdir_p "$output_objdir"
+
+    # Determine the type of output
+    case $output in
+    "")
+      func_fatal_help "you must specify an output file"
+      ;;
+    *.$libext) linkmode=oldlib ;;
+    *.lo | *.$objext) linkmode=obj ;;
+    *.la) linkmode=lib ;;
+    *) linkmode=prog ;; # Anything else should be a program.
+    esac
+
+    specialdeplibs=
+
+    libs=
+    # Find all interdependent deplibs by searching for libraries
+    # that are linked more than once (e.g. -la -lb -la)
+    for deplib in $deplibs; do
+      if $opt_preserve_dup_deps; then
+	case "$libs " in
+	*" $deplib "*) func_append specialdeplibs " $deplib" ;;
+	esac
+      fi
+      func_append libs " $deplib"
+    done
+
+    if test lib = "$linkmode"; then
+      libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+      # Compute libraries that are listed more than once in $predeps
+      # $postdeps and mark them as special (i.e., whose duplicates are
+      # not to be eliminated).
+      pre_post_deps=
+      if $opt_duplicate_compiler_generated_deps; then
+	for pre_post_dep in $predeps $postdeps; do
+	  case "$pre_post_deps " in
+	  *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
+	  esac
+	  func_append pre_post_deps " $pre_post_dep"
+	done
+      fi
+      pre_post_deps=
+    fi
+
+    deplibs=
+    newdependency_libs=
+    newlib_search_path=
+    need_relink=no # whether we're linking any uninstalled libtool libraries
+    notinst_deplibs= # not-installed libtool libraries
+    notinst_path= # paths that contain not-installed libtool libraries
+
+    case $linkmode in
+    lib)
+	passes="conv dlpreopen link"
+	for file in $dlfiles $dlprefiles; do
+	  case $file in
+	  *.la) ;;
+	  *)
+	    func_fatal_help "libraries can '-dlopen' only libtool libraries: $file"
+	    ;;
+	  esac
+	done
+	;;
+    prog)
+	compile_deplibs=
+	finalize_deplibs=
+	alldeplibs=false
+	newdlfiles=
+	newdlprefiles=
+	passes="conv scan dlopen dlpreopen link"
+	;;
+    *)  passes="conv"
+	;;
+    esac
+
+    for pass in $passes; do
+      # The preopen pass in lib mode reverses $deplibs; put it back here
+      # so that -L comes before libs that need it for instance...
+      if test lib,link = "$linkmode,$pass"; then
+	## FIXME: Find the place where the list is rebuilt in the wrong
+	##        order, and fix it there properly
+        tmp_deplibs=
+	for deplib in $deplibs; do
+	  tmp_deplibs="$deplib $tmp_deplibs"
+	done
+	deplibs=$tmp_deplibs
+      fi
+
+      if test lib,link = "$linkmode,$pass" ||
+	 test prog,scan = "$linkmode,$pass"; then
+	libs=$deplibs
+	deplibs=
+      fi
+      if test prog = "$linkmode"; then
+	case $pass in
+	dlopen) libs=$dlfiles ;;
+	dlpreopen) libs=$dlprefiles ;;
+	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+	esac
+      fi
+      if test lib,dlpreopen = "$linkmode,$pass"; then
+	# Collect and forward deplibs of preopened libtool libs
+	for lib in $dlprefiles; do
+	  # Ignore non-libtool-libs
+	  dependency_libs=
+	  func_resolve_sysroot "$lib"
+	  case $lib in
+	  *.la)	func_source "$func_resolve_sysroot_result" ;;
+	  esac
+
+	  # Collect preopened libtool deplibs, except any this library
+	  # has declared as weak libs
+	  for deplib in $dependency_libs; do
+	    func_basename "$deplib"
+            deplib_base=$func_basename_result
+	    case " $weak_libs " in
+	    *" $deplib_base "*) ;;
+	    *) func_append deplibs " $deplib" ;;
+	    esac
+	  done
+	done
+	libs=$dlprefiles
+      fi
+      if test dlopen = "$pass"; then
+	# Collect dlpreopened libraries
+	save_deplibs=$deplibs
+	deplibs=
+      fi
+
+      for deplib in $libs; do
+	lib=
+	found=false
+	case $deplib in
+	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+        |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+	  if test prog,link = "$linkmode,$pass"; then
+	    compile_deplibs="$deplib $compile_deplibs"
+	    finalize_deplibs="$deplib $finalize_deplibs"
+	  else
+	    func_append compiler_flags " $deplib"
+	    if test lib = "$linkmode"; then
+		case "$new_inherited_linker_flags " in
+		    *" $deplib "*) ;;
+		    * ) func_append new_inherited_linker_flags " $deplib" ;;
+		esac
+	    fi
+	  fi
+	  continue
+	  ;;
+	-l*)
+	  if test lib != "$linkmode" && test prog != "$linkmode"; then
+	    func_warning "'-l' is ignored for archives/objects"
+	    continue
+	  fi
+	  func_stripname '-l' '' "$deplib"
+	  name=$func_stripname_result
+	  if test lib = "$linkmode"; then
+	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+	  else
+	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+	  fi
+	  for searchdir in $searchdirs; do
+	    for search_ext in .la $std_shrext .so .a; do
+	      # Search the libtool library
+	      lib=$searchdir/lib$name$search_ext
+	      if test -f "$lib"; then
+		if test .la = "$search_ext"; then
+		  found=:
+		else
+		  found=false
+		fi
+		break 2
+	      fi
+	    done
+	  done
+	  if $found; then
+	    # deplib is a libtool library
+	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+	    # We need to do some special things here, and not later.
+	    if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+	      case " $predeps $postdeps " in
+	      *" $deplib "*)
+		if func_lalib_p "$lib"; then
+		  library_names=
+		  old_library=
+		  func_source "$lib"
+		  for l in $old_library $library_names; do
+		    ll=$l
+		  done
+		  if test "X$ll" = "X$old_library"; then # only static version available
+		    found=false
+		    func_dirname "$lib" "" "."
+		    ladir=$func_dirname_result
+		    lib=$ladir/$old_library
+		    if test prog,link = "$linkmode,$pass"; then
+		      compile_deplibs="$deplib $compile_deplibs"
+		      finalize_deplibs="$deplib $finalize_deplibs"
+		    else
+		      deplibs="$deplib $deplibs"
+		      test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
+		    fi
+		    continue
+		  fi
+		fi
+		;;
+	      *) ;;
+	      esac
+	    fi
+	  else
+	    # deplib doesn't seem to be a libtool library
+	    if test prog,link = "$linkmode,$pass"; then
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      deplibs="$deplib $deplibs"
+	      test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    continue
+	  fi
+	  ;; # -l
+	*.ltframework)
+	  if test prog,link = "$linkmode,$pass"; then
+	    compile_deplibs="$deplib $compile_deplibs"
+	    finalize_deplibs="$deplib $finalize_deplibs"
+	  else
+	    deplibs="$deplib $deplibs"
+	    if test lib = "$linkmode"; then
+		case "$new_inherited_linker_flags " in
+		    *" $deplib "*) ;;
+		    * ) func_append new_inherited_linker_flags " $deplib" ;;
+		esac
+	    fi
+	  fi
+	  continue
+	  ;;
+	-L*)
+	  case $linkmode in
+	  lib)
+	    deplibs="$deplib $deplibs"
+	    test conv = "$pass" && continue
+	    newdependency_libs="$deplib $newdependency_libs"
+	    func_stripname '-L' '' "$deplib"
+	    func_resolve_sysroot "$func_stripname_result"
+	    func_append newlib_search_path " $func_resolve_sysroot_result"
+	    ;;
+	  prog)
+	    if test conv = "$pass"; then
+	      deplibs="$deplib $deplibs"
+	      continue
+	    fi
+	    if test scan = "$pass"; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    func_stripname '-L' '' "$deplib"
+	    func_resolve_sysroot "$func_stripname_result"
+	    func_append newlib_search_path " $func_resolve_sysroot_result"
+	    ;;
+	  *)
+	    func_warning "'-L' is ignored for archives/objects"
+	    ;;
+	  esac # linkmode
+	  continue
+	  ;; # -L
+	-R*)
+	  if test link = "$pass"; then
+	    func_stripname '-R' '' "$deplib"
+	    func_resolve_sysroot "$func_stripname_result"
+	    dir=$func_resolve_sysroot_result
+	    # Make sure the xrpath contains only unique directories.
+	    case "$xrpath " in
+	    *" $dir "*) ;;
+	    *) func_append xrpath " $dir" ;;
+	    esac
+	  fi
+	  deplibs="$deplib $deplibs"
+	  continue
+	  ;;
+	*.la)
+	  func_resolve_sysroot "$deplib"
+	  lib=$func_resolve_sysroot_result
+	  ;;
+	*.$libext)
+	  if test conv = "$pass"; then
+	    deplibs="$deplib $deplibs"
+	    continue
+	  fi
+	  case $linkmode in
+	  lib)
+	    # Linking convenience modules into shared libraries is allowed,
+	    # but linking other static libraries is non-portable.
+	    case " $dlpreconveniencelibs " in
+	    *" $deplib "*) ;;
+	    *)
+	      valid_a_lib=false
+	      case $deplibs_check_method in
+		match_pattern*)
+		  set dummy $deplibs_check_method; shift
+		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+		  if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
+		    | $EGREP "$match_pattern_regex" > /dev/null; then
+		    valid_a_lib=:
+		  fi
+		;;
+		pass_all)
+		  valid_a_lib=:
+		;;
+	      esac
+	      if $valid_a_lib; then
+		echo
+		$ECHO "*** Warning: Linking the shared library $output against the"
+		$ECHO "*** static library $deplib is not portable!"
+		deplibs="$deplib $deplibs"
+	      else
+		echo
+		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
+		echo "*** I have the capability to make that library automatically link in when"
+		echo "*** you link to this library.  But I can only do this if you have a"
+		echo "*** shared version of the library, which you do not appear to have"
+		echo "*** because the file extensions .$libext of this argument makes me believe"
+		echo "*** that it is just a static archive that I should not use here."
+	      fi
+	      ;;
+	    esac
+	    continue
+	    ;;
+	  prog)
+	    if test link != "$pass"; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    continue
+	    ;;
+	  esac # linkmode
+	  ;; # *.$libext
+	*.lo | *.$objext)
+	  if test conv = "$pass"; then
+	    deplibs="$deplib $deplibs"
+	  elif test prog = "$linkmode"; then
+	    if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then
+	      # If there is no dlopen support or we're linking statically,
+	      # we need to preload.
+	      func_append newdlprefiles " $deplib"
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      func_append newdlfiles " $deplib"
+	    fi
+	  fi
+	  continue
+	  ;;
+	%DEPLIBS%)
+	  alldeplibs=:
+	  continue
+	  ;;
+	esac # case $deplib
+
+	$found || test -f "$lib" \
+	  || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'"
+
+	# Check to see that this really is a libtool archive.
+	func_lalib_unsafe_p "$lib" \
+	  || func_fatal_error "'$lib' is not a valid libtool archive"
+
+	func_dirname "$lib" "" "."
+	ladir=$func_dirname_result
+
+	dlname=
+	dlopen=
+	dlpreopen=
+	libdir=
+	library_names=
+	old_library=
+	inherited_linker_flags=
+	# If the library was installed with an old release of libtool,
+	# it will not redefine variables installed, or shouldnotlink
+	installed=yes
+	shouldnotlink=no
+	avoidtemprpath=
+
+
+	# Read the .la file
+	func_source "$lib"
+
+	# Convert "-framework foo" to "foo.ltframework"
+	if test -n "$inherited_linker_flags"; then
+	  tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
+	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+	    case " $new_inherited_linker_flags " in
+	      *" $tmp_inherited_linker_flag "*) ;;
+	      *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
+	    esac
+	  done
+	fi
+	dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	if test lib,link = "$linkmode,$pass" ||
+	   test prog,scan = "$linkmode,$pass" ||
+	   { test prog != "$linkmode" && test lib != "$linkmode"; }; then
+	  test -n "$dlopen" && func_append dlfiles " $dlopen"
+	  test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
+	fi
+
+	if test conv = "$pass"; then
+	  # Only check for convenience libraries
+	  deplibs="$lib $deplibs"
+	  if test -z "$libdir"; then
+	    if test -z "$old_library"; then
+	      func_fatal_error "cannot find name of link library for '$lib'"
+	    fi
+	    # It is a libtool convenience library, so add in its objects.
+	    func_append convenience " $ladir/$objdir/$old_library"
+	    func_append old_convenience " $ladir/$objdir/$old_library"
+	  elif test prog != "$linkmode" && test lib != "$linkmode"; then
+	    func_fatal_error "'$lib' is not a convenience library"
+	  fi
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    deplibs="$deplib $deplibs"
+	    if $opt_preserve_dup_deps; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+	      esac
+	    fi
+	    func_append tmp_libs " $deplib"
+	  done
+	  continue
+	fi # $pass = conv
+
+
+	# Get the name of the library we link against.
+	linklib=
+	if test -n "$old_library" &&
+	   { test yes = "$prefer_static_libs" ||
+	     test built,no = "$prefer_static_libs,$installed"; }; then
+	  linklib=$old_library
+	else
+	  for l in $old_library $library_names; do
+	    linklib=$l
+	  done
+	fi
+	if test -z "$linklib"; then
+	  func_fatal_error "cannot find name of link library for '$lib'"
+	fi
+
+	# This library was specified with -dlopen.
+	if test dlopen = "$pass"; then
+	  test -z "$libdir" \
+	    && func_fatal_error "cannot -dlopen a convenience library: '$lib'"
+	  if test -z "$dlname" ||
+	     test yes != "$dlopen_support" ||
+	     test no = "$build_libtool_libs"
+	  then
+	    # If there is no dlname, no dlopen support or we're linking
+	    # statically, we need to preload.  We also need to preload any
+	    # dependent libraries so libltdl's deplib preloader doesn't
+	    # bomb out in the load deplibs phase.
+	    func_append dlprefiles " $lib $dependency_libs"
+	  else
+	    func_append newdlfiles " $lib"
+	  fi
+	  continue
+	fi # $pass = dlopen
+
+	# We need an absolute path.
+	case $ladir in
+	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;;
+	*)
+	  abs_ladir=`cd "$ladir" && pwd`
+	  if test -z "$abs_ladir"; then
+	    func_warning "cannot determine absolute directory name of '$ladir'"
+	    func_warning "passing it literally to the linker, although it might fail"
+	    abs_ladir=$ladir
+	  fi
+	  ;;
+	esac
+	func_basename "$lib"
+	laname=$func_basename_result
+
+	# Find the relevant object directory and library name.
+	if test yes = "$installed"; then
+	  if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    func_warning "library '$lib' was moved."
+	    dir=$ladir
+	    absdir=$abs_ladir
+	    libdir=$abs_ladir
+	  else
+	    dir=$lt_sysroot$libdir
+	    absdir=$lt_sysroot$libdir
+	  fi
+	  test yes = "$hardcode_automatic" && avoidtemprpath=yes
+	else
+	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    dir=$ladir
+	    absdir=$abs_ladir
+	    # Remove this search path later
+	    func_append notinst_path " $abs_ladir"
+	  else
+	    dir=$ladir/$objdir
+	    absdir=$abs_ladir/$objdir
+	    # Remove this search path later
+	    func_append notinst_path " $abs_ladir"
+	  fi
+	fi # $installed = yes
+	func_stripname 'lib' '.la' "$laname"
+	name=$func_stripname_result
+
+	# This library was specified with -dlpreopen.
+	if test dlpreopen = "$pass"; then
+	  if test -z "$libdir" && test prog = "$linkmode"; then
+	    func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'"
+	  fi
+	  case $host in
+	    # special handling for platforms with PE-DLLs.
+	    *cygwin* | *mingw* | *cegcc* )
+	      # Linker will automatically link against shared library if both
+	      # static and shared are present.  Therefore, ensure we extract
+	      # symbols from the import library if a shared library is present
+	      # (otherwise, the dlopen module name will be incorrect).  We do
+	      # this by putting the import library name into $newdlprefiles.
+	      # We recover the dlopen module name by 'saving' the la file
+	      # name in a special purpose variable, and (later) extracting the
+	      # dlname from the la file.
+	      if test -n "$dlname"; then
+	        func_tr_sh "$dir/$linklib"
+	        eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
+	        func_append newdlprefiles " $dir/$linklib"
+	      else
+	        func_append newdlprefiles " $dir/$old_library"
+	        # Keep a list of preopened convenience libraries to check
+	        # that they are being used correctly in the link pass.
+	        test -z "$libdir" && \
+	          func_append dlpreconveniencelibs " $dir/$old_library"
+	      fi
+	    ;;
+	    * )
+	      # Prefer using a static library (so that no silly _DYNAMIC symbols
+	      # are required to link).
+	      if test -n "$old_library"; then
+	        func_append newdlprefiles " $dir/$old_library"
+	        # Keep a list of preopened convenience libraries to check
+	        # that they are being used correctly in the link pass.
+	        test -z "$libdir" && \
+	          func_append dlpreconveniencelibs " $dir/$old_library"
+	      # Otherwise, use the dlname, so that lt_dlopen finds it.
+	      elif test -n "$dlname"; then
+	        func_append newdlprefiles " $dir/$dlname"
+	      else
+	        func_append newdlprefiles " $dir/$linklib"
+	      fi
+	    ;;
+	  esac
+	fi # $pass = dlpreopen
+
+	if test -z "$libdir"; then
+	  # Link the convenience library
+	  if test lib = "$linkmode"; then
+	    deplibs="$dir/$old_library $deplibs"
+	  elif test prog,link = "$linkmode,$pass"; then
+	    compile_deplibs="$dir/$old_library $compile_deplibs"
+	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
+	  else
+	    deplibs="$lib $deplibs" # used for prog,scan pass
+	  fi
+	  continue
+	fi
+
+
+	if test prog = "$linkmode" && test link != "$pass"; then
+	  func_append newlib_search_path " $ladir"
+	  deplibs="$lib $deplibs"
+
+	  linkalldeplibs=false
+	  if test no != "$link_all_deplibs" || test -z "$library_names" ||
+	     test no = "$build_libtool_libs"; then
+	    linkalldeplibs=:
+	  fi
+
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    case $deplib in
+	    -L*) func_stripname '-L' '' "$deplib"
+	         func_resolve_sysroot "$func_stripname_result"
+	         func_append newlib_search_path " $func_resolve_sysroot_result"
+		 ;;
+	    esac
+	    # Need to link against all dependency_libs?
+	    if $linkalldeplibs; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      # Need to hardcode shared library paths
+	      # or/and link against static libraries
+	      newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    if $opt_preserve_dup_deps; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+	      esac
+	    fi
+	    func_append tmp_libs " $deplib"
+	  done # for deplib
+	  continue
+	fi # $linkmode = prog...
+
+	if test prog,link = "$linkmode,$pass"; then
+	  if test -n "$library_names" &&
+	     { { test no = "$prefer_static_libs" ||
+	         test built,yes = "$prefer_static_libs,$installed"; } ||
+	       test -z "$old_library"; }; then
+	    # We need to hardcode the library path
+	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then
+	      # Make sure the rpath contains only unique directories.
+	      case $temp_rpath: in
+	      *"$absdir:"*) ;;
+	      *) func_append temp_rpath "$absdir:" ;;
+	      esac
+	    fi
+
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) func_append compile_rpath " $absdir" ;;
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) func_append finalize_rpath " $libdir" ;;
+	      esac
+	      ;;
+	    esac
+	  fi # $linkmode,$pass = prog,link...
+
+	  if $alldeplibs &&
+	     { test pass_all = "$deplibs_check_method" ||
+	       { test yes = "$build_libtool_libs" &&
+		 test -n "$library_names"; }; }; then
+	    # We only need to search for static libraries
+	    continue
+	  fi
+	fi
+
+	link_static=no # Whether the deplib will be linked statically
+	use_static_libs=$prefer_static_libs
+	if test built = "$use_static_libs" && test yes = "$installed"; then
+	  use_static_libs=no
+	fi
+	if test -n "$library_names" &&
+	   { test no = "$use_static_libs" || test -z "$old_library"; }; then
+	  case $host in
+	  *cygwin* | *mingw* | *cegcc* | *os2*)
+	      # No point in relinking DLLs because paths are not encoded
+	      func_append notinst_deplibs " $lib"
+	      need_relink=no
+	    ;;
+	  *)
+	    if test no = "$installed"; then
+	      func_append notinst_deplibs " $lib"
+	      need_relink=yes
+	    fi
+	    ;;
+	  esac
+	  # This is a shared library
+
+	  # Warn about portability, can't link against -module's on some
+	  # systems (darwin).  Don't bleat about dlopened modules though!
+	  dlopenmodule=
+	  for dlpremoduletest in $dlprefiles; do
+	    if test "X$dlpremoduletest" = "X$lib"; then
+	      dlopenmodule=$dlpremoduletest
+	      break
+	    fi
+	  done
+	  if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then
+	    echo
+	    if test prog = "$linkmode"; then
+	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
+	    else
+	      $ECHO "*** Warning: Linking the shared library $output against the loadable module"
+	    fi
+	    $ECHO "*** $linklib is not portable!"
+	  fi
+	  if test lib = "$linkmode" &&
+	     test yes = "$hardcode_into_libs"; then
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) func_append compile_rpath " $absdir" ;;
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) func_append finalize_rpath " $libdir" ;;
+	      esac
+	      ;;
+	    esac
+	  fi
+
+	  if test -n "$old_archive_from_expsyms_cmds"; then
+	    # figure out the soname
+	    set dummy $library_names
+	    shift
+	    realname=$1
+	    shift
+	    libname=`eval "\\$ECHO \"$libname_spec\""`
+	    # use dlname if we got it. it's perfectly good, no?
+	    if test -n "$dlname"; then
+	      soname=$dlname
+	    elif test -n "$soname_spec"; then
+	      # bleh windows
+	      case $host in
+	      *cygwin* | mingw* | *cegcc* | *os2*)
+	        func_arith $current - $age
+		major=$func_arith_result
+		versuffix=-$major
+		;;
+	      esac
+	      eval soname=\"$soname_spec\"
+	    else
+	      soname=$realname
+	    fi
+
+	    # Make a new name for the extract_expsyms_cmds to use
+	    soroot=$soname
+	    func_basename "$soroot"
+	    soname=$func_basename_result
+	    func_stripname 'lib' '.dll' "$soname"
+	    newlib=libimp-$func_stripname_result.a
+
+	    # If the library has no export list, then create one now
+	    if test -f "$output_objdir/$soname-def"; then :
+	    else
+	      func_verbose "extracting exported symbol list from '$soname'"
+	      func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
+	    fi
+
+	    # Create $newlib
+	    if test -f "$output_objdir/$newlib"; then :; else
+	      func_verbose "generating import library for '$soname'"
+	      func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
+	    fi
+	    # make sure the library variables are pointing to the new library
+	    dir=$output_objdir
+	    linklib=$newlib
+	  fi # test -n "$old_archive_from_expsyms_cmds"
+
+	  if test prog = "$linkmode" || test relink != "$opt_mode"; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    lib_linked=yes
+	    case $hardcode_action in
+	    immediate | unsupported)
+	      if test no = "$hardcode_direct"; then
+		add=$dir/$linklib
+		case $host in
+		  *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
+		  *-*-sysv4*uw2*) add_dir=-L$dir ;;
+		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+		    *-*-unixware7*) add_dir=-L$dir ;;
+		  *-*-darwin* )
+		    # if the lib is a (non-dlopened) module then we cannot
+		    # link against it, someone is ignoring the earlier warnings
+		    if /usr/bin/file -L $add 2> /dev/null |
+			 $GREP ": [^:]* bundle" >/dev/null; then
+		      if test "X$dlopenmodule" != "X$lib"; then
+			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
+			if test -z "$old_library"; then
+			  echo
+			  echo "*** And there doesn't seem to be a static archive available"
+			  echo "*** The link will probably fail, sorry"
+			else
+			  add=$dir/$old_library
+			fi
+		      elif test -n "$old_library"; then
+			add=$dir/$old_library
+		      fi
+		    fi
+		esac
+	      elif test no = "$hardcode_minus_L"; then
+		case $host in
+		*-*-sunos*) add_shlibpath=$dir ;;
+		esac
+		add_dir=-L$dir
+		add=-l$name
+	      elif test no = "$hardcode_shlibpath_var"; then
+		add_shlibpath=$dir
+		add=-l$name
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    relink)
+	      if test yes = "$hardcode_direct" &&
+	         test no = "$hardcode_direct_absolute"; then
+		add=$dir/$linklib
+	      elif test yes = "$hardcode_minus_L"; then
+		add_dir=-L$absdir
+		# Try looking first in the location we're being installed to.
+		if test -n "$inst_prefix_dir"; then
+		  case $libdir in
+		    [\\/]*)
+		      func_append add_dir " -L$inst_prefix_dir$libdir"
+		      ;;
+		  esac
+		fi
+		add=-l$name
+	      elif test yes = "$hardcode_shlibpath_var"; then
+		add_shlibpath=$dir
+		add=-l$name
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    *) lib_linked=no ;;
+	    esac
+
+	    if test yes != "$lib_linked"; then
+	      func_fatal_configuration "unsupported hardcode properties"
+	    fi
+
+	    if test -n "$add_shlibpath"; then
+	      case :$compile_shlibpath: in
+	      *":$add_shlibpath:"*) ;;
+	      *) func_append compile_shlibpath "$add_shlibpath:" ;;
+	      esac
+	    fi
+	    if test prog = "$linkmode"; then
+	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	      if test yes != "$hardcode_direct" &&
+		 test yes != "$hardcode_minus_L" &&
+		 test yes = "$hardcode_shlibpath_var"; then
+		case :$finalize_shlibpath: in
+		*":$libdir:"*) ;;
+		*) func_append finalize_shlibpath "$libdir:" ;;
+		esac
+	      fi
+	    fi
+	  fi
+
+	  if test prog = "$linkmode" || test relink = "$opt_mode"; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    # Finalize command for both is simple: just hardcode it.
+	    if test yes = "$hardcode_direct" &&
+	       test no = "$hardcode_direct_absolute"; then
+	      add=$libdir/$linklib
+	    elif test yes = "$hardcode_minus_L"; then
+	      add_dir=-L$libdir
+	      add=-l$name
+	    elif test yes = "$hardcode_shlibpath_var"; then
+	      case :$finalize_shlibpath: in
+	      *":$libdir:"*) ;;
+	      *) func_append finalize_shlibpath "$libdir:" ;;
+	      esac
+	      add=-l$name
+	    elif test yes = "$hardcode_automatic"; then
+	      if test -n "$inst_prefix_dir" &&
+		 test -f "$inst_prefix_dir$libdir/$linklib"; then
+		add=$inst_prefix_dir$libdir/$linklib
+	      else
+		add=$libdir/$linklib
+	      fi
+	    else
+	      # We cannot seem to hardcode it, guess we'll fake it.
+	      add_dir=-L$libdir
+	      # Try looking first in the location we're being installed to.
+	      if test -n "$inst_prefix_dir"; then
+		case $libdir in
+		  [\\/]*)
+		    func_append add_dir " -L$inst_prefix_dir$libdir"
+		    ;;
+		esac
+	      fi
+	      add=-l$name
+	    fi
+
+	    if test prog = "$linkmode"; then
+	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	    fi
+	  fi
+	elif test prog = "$linkmode"; then
+	  # Here we assume that one of hardcode_direct or hardcode_minus_L
+	  # is not unsupported.  This is valid on all known static and
+	  # shared platforms.
+	  if test unsupported != "$hardcode_direct"; then
+	    test -n "$old_library" && linklib=$old_library
+	    compile_deplibs="$dir/$linklib $compile_deplibs"
+	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
+	  else
+	    compile_deplibs="-l$name -L$dir $compile_deplibs"
+	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+	  fi
+	elif test yes = "$build_libtool_libs"; then
+	  # Not a shared library
+	  if test pass_all != "$deplibs_check_method"; then
+	    # We're trying link a shared library against a static one
+	    # but the system doesn't support it.
+
+	    # Just print a warning and add the library to dependency_libs so
+	    # that the program can be linked against the static library.
+	    echo
+	    $ECHO "*** Warning: This system cannot link to static lib archive $lib."
+	    echo "*** I have the capability to make that library automatically link in when"
+	    echo "*** you link to this library.  But I can only do this if you have a"
+	    echo "*** shared version of the library, which you do not appear to have."
+	    if test yes = "$module"; then
+	      echo "*** But as you try to build a module library, libtool will still create "
+	      echo "*** a static module, that should work as long as the dlopening application"
+	      echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+	      if test -z "$global_symbol_pipe"; then
+		echo
+		echo "*** However, this would only work if libtool was able to extract symbol"
+		echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
+		echo "*** not find such a program.  So, this module is probably useless."
+		echo "*** 'nm' from GNU binutils and a full rebuild may help."
+	      fi
+	      if test no = "$build_old_libs"; then
+		build_libtool_libs=module
+		build_old_libs=yes
+	      else
+		build_libtool_libs=no
+	      fi
+	    fi
+	  else
+	    deplibs="$dir/$old_library $deplibs"
+	    link_static=yes
+	  fi
+	fi # link shared/static library?
+
+	if test lib = "$linkmode"; then
+	  if test -n "$dependency_libs" &&
+	     { test yes != "$hardcode_into_libs" ||
+	       test yes = "$build_old_libs" ||
+	       test yes = "$link_static"; }; then
+	    # Extract -R from dependency_libs
+	    temp_deplibs=
+	    for libdir in $dependency_libs; do
+	      case $libdir in
+	      -R*) func_stripname '-R' '' "$libdir"
+	           temp_xrpath=$func_stripname_result
+		   case " $xrpath " in
+		   *" $temp_xrpath "*) ;;
+		   *) func_append xrpath " $temp_xrpath";;
+		   esac;;
+	      *) func_append temp_deplibs " $libdir";;
+	      esac
+	    done
+	    dependency_libs=$temp_deplibs
+	  fi
+
+	  func_append newlib_search_path " $absdir"
+	  # Link against this library
+	  test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+	  # ... and its dependency_libs
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    newdependency_libs="$deplib $newdependency_libs"
+	    case $deplib in
+              -L*) func_stripname '-L' '' "$deplib"
+                   func_resolve_sysroot "$func_stripname_result";;
+              *) func_resolve_sysroot "$deplib" ;;
+            esac
+	    if $opt_preserve_dup_deps; then
+	      case "$tmp_libs " in
+	      *" $func_resolve_sysroot_result "*)
+                func_append specialdeplibs " $func_resolve_sysroot_result" ;;
+	      esac
+	    fi
+	    func_append tmp_libs " $func_resolve_sysroot_result"
+	  done
+
+	  if test no != "$link_all_deplibs"; then
+	    # Add the search paths of all dependency libraries
+	    for deplib in $dependency_libs; do
+	      path=
+	      case $deplib in
+	      -L*) path=$deplib ;;
+	      *.la)
+	        func_resolve_sysroot "$deplib"
+	        deplib=$func_resolve_sysroot_result
+	        func_dirname "$deplib" "" "."
+		dir=$func_dirname_result
+		# We need an absolute path.
+		case $dir in
+		[\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;;
+		*)
+		  absdir=`cd "$dir" && pwd`
+		  if test -z "$absdir"; then
+		    func_warning "cannot determine absolute directory name of '$dir'"
+		    absdir=$dir
+		  fi
+		  ;;
+		esac
+		if $GREP "^installed=no" $deplib > /dev/null; then
+		case $host in
+		*-*-darwin*)
+		  depdepl=
+		  eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+		  if test -n "$deplibrary_names"; then
+		    for tmp in $deplibrary_names; do
+		      depdepl=$tmp
+		    done
+		    if test -f "$absdir/$objdir/$depdepl"; then
+		      depdepl=$absdir/$objdir/$depdepl
+		      darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+                      if test -z "$darwin_install_name"; then
+                          darwin_install_name=`$OTOOL64 -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
+                      fi
+		      func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl"
+		      func_append linker_flags " -dylib_file $darwin_install_name:$depdepl"
+		      path=
+		    fi
+		  fi
+		  ;;
+		*)
+		  path=-L$absdir/$objdir
+		  ;;
+		esac
+		else
+		  eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		  test -z "$libdir" && \
+		    func_fatal_error "'$deplib' is not a valid libtool archive"
+		  test "$absdir" != "$libdir" && \
+		    func_warning "'$deplib' seems to be moved"
+
+		  path=-L$absdir
+		fi
+		;;
+	      esac
+	      case " $deplibs " in
+	      *" $path "*) ;;
+	      *) deplibs="$path $deplibs" ;;
+	      esac
+	    done
+	  fi # link_all_deplibs != no
+	fi # linkmode = lib
+      done # for deplib in $libs
+      if test link = "$pass"; then
+	if test prog = "$linkmode"; then
+	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
+	else
+	  compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	fi
+      fi
+      dependency_libs=$newdependency_libs
+      if test dlpreopen = "$pass"; then
+	# Link the dlpreopened libraries before other libraries
+	for deplib in $save_deplibs; do
+	  deplibs="$deplib $deplibs"
+	done
+      fi
+      if test dlopen != "$pass"; then
+	test conv = "$pass" || {
+	  # Make sure lib_search_path contains only unique directories.
+	  lib_search_path=
+	  for dir in $newlib_search_path; do
+	    case "$lib_search_path " in
+	    *" $dir "*) ;;
+	    *) func_append lib_search_path " $dir" ;;
+	    esac
+	  done
+	  newlib_search_path=
+	}
+
+	if test prog,link = "$linkmode,$pass"; then
+	  vars="compile_deplibs finalize_deplibs"
+	else
+	  vars=deplibs
+	fi
+	for var in $vars dependency_libs; do
+	  # Add libraries to $var in reverse order
+	  eval tmp_libs=\"\$$var\"
+	  new_libs=
+	  for deplib in $tmp_libs; do
+	    # FIXME: Pedantically, this is the right thing to do, so
+	    #        that some nasty dependency loop isn't accidentally
+	    #        broken:
+	    #new_libs="$deplib $new_libs"
+	    # Pragmatically, this seems to cause very few problems in
+	    # practice:
+	    case $deplib in
+	    -L*) new_libs="$deplib $new_libs" ;;
+	    -R*) ;;
+	    *)
+	      # And here is the reason: when a library appears more
+	      # than once as an explicit dependence of a library, or
+	      # is implicitly linked in more than once by the
+	      # compiler, it is considered special, and multiple
+	      # occurrences thereof are not removed.  Compare this
+	      # with having the same library being listed as a
+	      # dependency of multiple other libraries: in this case,
+	      # we know (pedantically, we assume) the library does not
+	      # need to be listed more than once, so we keep only the
+	      # last copy.  This is not always right, but it is rare
+	      # enough that we require users that really mean to play
+	      # such unportable linking tricks to link the library
+	      # using -Wl,-lname, so that libtool does not consider it
+	      # for duplicate removal.
+	      case " $specialdeplibs " in
+	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
+	      *)
+		case " $new_libs " in
+		*" $deplib "*) ;;
+		*) new_libs="$deplib $new_libs" ;;
+		esac
+		;;
+	      esac
+	      ;;
+	    esac
+	  done
+	  tmp_libs=
+	  for deplib in $new_libs; do
+	    case $deplib in
+	    -L*)
+	      case " $tmp_libs " in
+	      *" $deplib "*) ;;
+	      *) func_append tmp_libs " $deplib" ;;
+	      esac
+	      ;;
+	    *) func_append tmp_libs " $deplib" ;;
+	    esac
+	  done
+	  eval $var=\"$tmp_libs\"
+	done # for var
+      fi
+
+      # Add Sun CC postdeps if required:
+      test CXX = "$tagname" && {
+        case $host_os in
+        linux*)
+          case `$CC -V 2>&1 | sed 5q` in
+          *Sun\ C*) # Sun C++ 5.9
+            func_suncc_cstd_abi
+
+            if test no != "$suncc_use_cstd_abi"; then
+              func_append postdeps ' -library=Cstd -library=Crun'
+            fi
+            ;;
+          esac
+          ;;
+
+        solaris*)
+          func_cc_basename "$CC"
+          case $func_cc_basename_result in
+          CC* | sunCC*)
+            func_suncc_cstd_abi
+
+            if test no != "$suncc_use_cstd_abi"; then
+              func_append postdeps ' -library=Cstd -library=Crun'
+            fi
+            ;;
+          esac
+          ;;
+        esac
+      }
+
+      # Last step: remove runtime libs from dependency_libs
+      # (they stay in deplibs)
+      tmp_libs=
+      for i in $dependency_libs; do
+	case " $predeps $postdeps $compiler_lib_search_path " in
+	*" $i "*)
+	  i=
+	  ;;
+	esac
+	if test -n "$i"; then
+	  func_append tmp_libs " $i"
+	fi
+      done
+      dependency_libs=$tmp_libs
+    done # for pass
+    if test prog = "$linkmode"; then
+      dlfiles=$newdlfiles
+    fi
+    if test prog = "$linkmode" || test lib = "$linkmode"; then
+      dlprefiles=$newdlprefiles
+    fi
+
+    case $linkmode in
+    oldlib)
+      if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+	func_warning "'-dlopen' is ignored for archives"
+      fi
+
+      case " $deplibs" in
+      *\ -l* | *\ -L*)
+	func_warning "'-l' and '-L' are ignored for archives" ;;
+      esac
+
+      test -n "$rpath" && \
+	func_warning "'-rpath' is ignored for archives"
+
+      test -n "$xrpath" && \
+	func_warning "'-R' is ignored for archives"
+
+      test -n "$vinfo" && \
+	func_warning "'-version-info/-version-number' is ignored for archives"
+
+      test -n "$release" && \
+	func_warning "'-release' is ignored for archives"
+
+      test -n "$export_symbols$export_symbols_regex" && \
+	func_warning "'-export-symbols' is ignored for archives"
+
+      # Now set the variables for building old libraries.
+      build_libtool_libs=no
+      oldlibs=$output
+      func_append objs "$old_deplibs"
+      ;;
+
+    lib)
+      # Make sure we only generate libraries of the form 'libNAME.la'.
+      case $outputname in
+      lib*)
+	func_stripname 'lib' '.la' "$outputname"
+	name=$func_stripname_result
+	eval shared_ext=\"$shrext_cmds\"
+	eval libname=\"$libname_spec\"
+	;;
+      *)
+	test no = "$module" \
+	  && func_fatal_help "libtool library '$output' must begin with 'lib'"
+
+	if test no != "$need_lib_prefix"; then
+	  # Add the "lib" prefix for modules if required
+	  func_stripname '' '.la' "$outputname"
+	  name=$func_stripname_result
+	  eval shared_ext=\"$shrext_cmds\"
+	  eval libname=\"$libname_spec\"
+	else
+	  func_stripname '' '.la' "$outputname"
+	  libname=$func_stripname_result
+	fi
+	;;
+      esac
+
+      if test -n "$objs"; then
+	if test pass_all != "$deplibs_check_method"; then
+	  func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs"
+	else
+	  echo
+	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+	  $ECHO "*** objects $objs is not portable!"
+	  func_append libobjs " $objs"
+	fi
+      fi
+
+      test no = "$dlself" \
+	|| func_warning "'-dlopen self' is ignored for libtool libraries"
+
+      set dummy $rpath
+      shift
+      test 1 -lt "$#" \
+	&& func_warning "ignoring multiple '-rpath's for a libtool library"
+
+      install_libdir=$1
+
+      oldlibs=
+      if test -z "$rpath"; then
+	if test yes = "$build_libtool_libs"; then
+	  # Building a libtool convenience library.
+	  # Some compilers have problems with a '.al' extension so
+	  # convenience libraries should have the same extension an
+	  # archive normally would.
+	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
+	  build_libtool_libs=convenience
+	  build_old_libs=yes
+	fi
+
+	test -n "$vinfo" && \
+	  func_warning "'-version-info/-version-number' is ignored for convenience libraries"
+
+	test -n "$release" && \
+	  func_warning "'-release' is ignored for convenience libraries"
+      else
+
+	# Parse the version information argument.
+	save_ifs=$IFS; IFS=:
+	set dummy $vinfo 0 0 0
+	shift
+	IFS=$save_ifs
+
+	test -n "$7" && \
+	  func_fatal_help "too many parameters to '-version-info'"
+
+	# convert absolute version numbers to libtool ages
+	# this retains compatibility with .la files and attempts
+	# to make the code below a bit more comprehensible
+
+	case $vinfo_number in
+	yes)
+	  number_major=$1
+	  number_minor=$2
+	  number_revision=$3
+	  #
+	  # There are really only two kinds -- those that
+	  # use the current revision as the major version
+	  # and those that subtract age and use age as
+	  # a minor version.  But, then there is irix
+	  # that has an extra 1 added just for fun
+	  #
+	  case $version_type in
+	  # correct linux to gnu/linux during the next big refactor
+	  darwin|freebsd-elf|linux|osf|windows|none)
+	    func_arith $number_major + $number_minor
+	    current=$func_arith_result
+	    age=$number_minor
+	    revision=$number_revision
+	    ;;
+	  freebsd-aout|qnx|sunos)
+	    current=$number_major
+	    revision=$number_minor
+	    age=0
+	    ;;
+	  irix|nonstopux)
+	    func_arith $number_major + $number_minor
+	    current=$func_arith_result
+	    age=$number_minor
+	    revision=$number_minor
+	    lt_irix_increment=no
+	    ;;
+	  esac
+	  ;;
+	no)
+	  current=$1
+	  revision=$2
+	  age=$3
+	  ;;
+	esac
+
+	# Check that each of the things are valid numbers.
+	case $current in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  func_error "CURRENT '$current' must be a nonnegative integer"
+	  func_fatal_error "'$vinfo' is not valid version information"
+	  ;;
+	esac
+
+	case $revision in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  func_error "REVISION '$revision' must be a nonnegative integer"
+	  func_fatal_error "'$vinfo' is not valid version information"
+	  ;;
+	esac
+
+	case $age in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  func_error "AGE '$age' must be a nonnegative integer"
+	  func_fatal_error "'$vinfo' is not valid version information"
+	  ;;
+	esac
+
+	if test "$age" -gt "$current"; then
+	  func_error "AGE '$age' is greater than the current interface number '$current'"
+	  func_fatal_error "'$vinfo' is not valid version information"
+	fi
+
+	# Calculate the version variables.
+	major=
+	versuffix=
+	verstring=
+	case $version_type in
+	none) ;;
+
+	darwin)
+	  # Like Linux, but with the current version available in
+	  # verstring for coding it into the library header
+	  func_arith $current - $age
+	  major=.$func_arith_result
+	  versuffix=$major.$age.$revision
+	  # Darwin ld doesn't like 0 for these options...
+	  func_arith $current + 1
+	  minor_current=$func_arith_result
+	  xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
+	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+          # On Darwin other compilers
+          case $CC in
+              nagfor*)
+                  verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
+                  ;;
+              *)
+                  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+                  ;;
+          esac
+	  ;;
+
+	freebsd-aout)
+	  major=.$current
+	  versuffix=.$current.$revision
+	  ;;
+
+	freebsd-elf)
+	  func_arith $current - $age
+	  major=.$func_arith_result
+	  versuffix=$major.$age.$revision
+	  ;;
+
+	irix | nonstopux)
+	  if test no = "$lt_irix_increment"; then
+	    func_arith $current - $age
+	  else
+	    func_arith $current - $age + 1
+	  fi
+	  major=$func_arith_result
+
+	  case $version_type in
+	    nonstopux) verstring_prefix=nonstopux ;;
+	    *)         verstring_prefix=sgi ;;
+	  esac
+	  verstring=$verstring_prefix$major.$revision
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$revision
+	  while test 0 -ne "$loop"; do
+	    func_arith $revision - $loop
+	    iface=$func_arith_result
+	    func_arith $loop - 1
+	    loop=$func_arith_result
+	    verstring=$verstring_prefix$major.$iface:$verstring
+	  done
+
+	  # Before this point, $major must not contain '.'.
+	  major=.$major
+	  versuffix=$major.$revision
+	  ;;
+
+	linux) # correct to gnu/linux during the next big refactor
+	  func_arith $current - $age
+	  major=.$func_arith_result
+	  versuffix=$major.$age.$revision
+	  ;;
+
+	osf)
+	  func_arith $current - $age
+	  major=.$func_arith_result
+	  versuffix=.$current.$age.$revision
+	  verstring=$current.$age.$revision
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$age
+	  while test 0 -ne "$loop"; do
+	    func_arith $current - $loop
+	    iface=$func_arith_result
+	    func_arith $loop - 1
+	    loop=$func_arith_result
+	    verstring=$verstring:$iface.0
+	  done
+
+	  # Make executables depend on our current version.
+	  func_append verstring ":$current.0"
+	  ;;
+
+	qnx)
+	  major=.$current
+	  versuffix=.$current
+	  ;;
+
+	sco)
+	  major=.$current
+	  versuffix=.$current
+	  ;;
+
+	sunos)
+	  major=.$current
+	  versuffix=.$current.$revision
+	  ;;
+
+	windows)
+	  # Use '-' rather than '.', since we only want one
+	  # extension on DOS 8.3 file systems.
+	  func_arith $current - $age
+	  major=$func_arith_result
+	  versuffix=-$major
+	  ;;
+
+	*)
+	  func_fatal_configuration "unknown library version type '$version_type'"
+	  ;;
+	esac
+
+	# Clear the version info if we defaulted, and they specified a release.
+	if test -z "$vinfo" && test -n "$release"; then
+	  major=
+	  case $version_type in
+	  darwin)
+	    # we can't check for "0.0" in archive_cmds due to quoting
+	    # problems, so we reset it completely
+	    verstring=
+	    ;;
+	  *)
+	    verstring=0.0
+	    ;;
+	  esac
+	  if test no = "$need_version"; then
+	    versuffix=
+	  else
+	    versuffix=.0.0
+	  fi
+	fi
+
+	# Remove version info from name if versioning should be avoided
+	if test yes,no = "$avoid_version,$need_version"; then
+	  major=
+	  versuffix=
+	  verstring=
+	fi
+
+	# Check to see if the archive will have undefined symbols.
+	if test yes = "$allow_undefined"; then
+	  if test unsupported = "$allow_undefined_flag"; then
+	    if test yes = "$build_old_libs"; then
+	      func_warning "undefined symbols not allowed in $host shared libraries; building static only"
+	      build_libtool_libs=no
+	    else
+	      func_fatal_error "can't build $host shared library unless -no-undefined is specified"
+	    fi
+	  fi
+	else
+	  # Don't allow undefined symbols.
+	  allow_undefined_flag=$no_undefined_flag
+	fi
+
+      fi
+
+      func_generate_dlsyms "$libname" "$libname" :
+      func_append libobjs " $symfileobj"
+      test " " = "$libobjs" && libobjs=
+
+      if test relink != "$opt_mode"; then
+	# Remove our outputs, but don't remove object files since they
+	# may have been created when compiling PIC objects.
+	removelist=
+	tempremovelist=`$ECHO "$output_objdir/*"`
+	for p in $tempremovelist; do
+	  case $p in
+	    *.$objext | *.gcno)
+	       ;;
+	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*)
+	       if test -n "$precious_files_regex"; then
+		 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+		 then
+		   continue
+		 fi
+	       fi
+	       func_append removelist " $p"
+	       ;;
+	    *) ;;
+	  esac
+	done
+	test -n "$removelist" && \
+	  func_show_eval "${RM}r \$removelist"
+      fi
+
+      # Now set the variables for building old libraries.
+      if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then
+	func_append oldlibs " $output_objdir/$libname.$libext"
+
+	# Transform .lo files to .o files.
+	oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP`
+      fi
+
+      # Eliminate all temporary directories.
+      #for path in $notinst_path; do
+      #	lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
+      #	deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
+      #	dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
+      #done
+
+      if test -n "$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	temp_xrpath=
+	for libdir in $xrpath; do
+	  func_replace_sysroot "$libdir"
+	  func_append temp_xrpath " -R$func_replace_sysroot_result"
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) func_append finalize_rpath " $libdir" ;;
+	  esac
+	done
+	if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then
+	  dependency_libs="$temp_xrpath $dependency_libs"
+	fi
+      fi
+
+      # Make sure dlfiles contains only unique files that won't be dlpreopened
+      old_dlfiles=$dlfiles
+      dlfiles=
+      for lib in $old_dlfiles; do
+	case " $dlprefiles $dlfiles " in
+	*" $lib "*) ;;
+	*) func_append dlfiles " $lib" ;;
+	esac
+      done
+
+      # Make sure dlprefiles contains only unique files
+      old_dlprefiles=$dlprefiles
+      dlprefiles=
+      for lib in $old_dlprefiles; do
+	case "$dlprefiles " in
+	*" $lib "*) ;;
+	*) func_append dlprefiles " $lib" ;;
+	esac
+      done
+
+      if test yes = "$build_libtool_libs"; then
+	if test -n "$rpath"; then
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
+	    # these systems don't actually have a c library (as such)!
+	    ;;
+	  *-*-rhapsody* | *-*-darwin1.[012])
+	    # Rhapsody C library is in the System framework
+	    func_append deplibs " System.ltframework"
+	    ;;
+	  *-*-netbsd*)
+	    # Don't link with libc until the a.out ld.so is fixed.
+	    ;;
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	    # Do not include libc due to us having libc/libc_r.
+	    ;;
+	  *-*-sco3.2v5* | *-*-sco5v6*)
+	    # Causes problems with __ctype
+	    ;;
+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+	    # Compiler inserts libc in the correct place for threads to work
+	    ;;
+	  *)
+	    # Add libc to deplibs on all other systems if necessary.
+	    if test yes = "$build_libtool_need_lc"; then
+	      func_append deplibs " -lc"
+	    fi
+	    ;;
+	  esac
+	fi
+
+	# Transform deplibs into only deplibs that can be linked in shared.
+	name_save=$name
+	libname_save=$libname
+	release_save=$release
+	versuffix_save=$versuffix
+	major_save=$major
+	# I'm not sure if I'm treating the release correctly.  I think
+	# release should show up in the -l (ie -lgmp5) so we don't want to
+	# add it in twice.  Is that correct?
+	release=
+	versuffix=
+	major=
+	newdeplibs=
+	droppeddeps=no
+	case $deplibs_check_method in
+	pass_all)
+	  # Don't check for shared/static.  Everything works.
+	  # This might be a little naive.  We might want to check
+	  # whether the library exists or not.  But this is on
+	  # osf3 & osf4 and I'm not really sure... Just
+	  # implementing what was already the behavior.
+	  newdeplibs=$deplibs
+	  ;;
+	test_compile)
+	  # This code stresses the "libraries are programs" paradigm to its
+	  # limits. Maybe even breaks it.  We compile a program, linking it
+	  # against the deplibs as a proxy for the library.  Then we can check
+	  # whether they linked in statically or dynamically with ldd.
+	  $opt_dry_run || $RM conftest.c
+	  cat > conftest.c <<EOF
+	  int main() { return 0; }
+EOF
+	  $opt_dry_run || $RM conftest
+	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
+	    ldd_output=`ldd conftest`
+	    for i in $deplibs; do
+	      case $i in
+	      -l*)
+		func_stripname -l '' "$i"
+		name=$func_stripname_result
+		if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+		  case " $predeps $postdeps " in
+		  *" $i "*)
+		    func_append newdeplibs " $i"
+		    i=
+		    ;;
+		  esac
+		fi
+		if test -n "$i"; then
+		  libname=`eval "\\$ECHO \"$libname_spec\""`
+		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+		  set dummy $deplib_matches; shift
+		  deplib_match=$1
+		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
+		    func_append newdeplibs " $i"
+		  else
+		    droppeddeps=yes
+		    echo
+		    $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+		    echo "*** I have the capability to make that library automatically link in when"
+		    echo "*** you link to this library.  But I can only do this if you have a"
+		    echo "*** shared version of the library, which I believe you do not have"
+		    echo "*** because a test_compile did reveal that the linker did not use it for"
+		    echo "*** its dynamic dependency list that programs get resolved with at runtime."
+		  fi
+		fi
+		;;
+	      *)
+		func_append newdeplibs " $i"
+		;;
+	      esac
+	    done
+	  else
+	    # Error occurred in the first compile.  Let's try to salvage
+	    # the situation: Compile a separate program for each library.
+	    for i in $deplibs; do
+	      case $i in
+	      -l*)
+		func_stripname -l '' "$i"
+		name=$func_stripname_result
+		$opt_dry_run || $RM conftest
+		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
+		  ldd_output=`ldd conftest`
+		  if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+		    case " $predeps $postdeps " in
+		    *" $i "*)
+		      func_append newdeplibs " $i"
+		      i=
+		      ;;
+		    esac
+		  fi
+		  if test -n "$i"; then
+		    libname=`eval "\\$ECHO \"$libname_spec\""`
+		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+		    set dummy $deplib_matches; shift
+		    deplib_match=$1
+		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
+		      func_append newdeplibs " $i"
+		    else
+		      droppeddeps=yes
+		      echo
+		      $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+		      echo "*** I have the capability to make that library automatically link in when"
+		      echo "*** you link to this library.  But I can only do this if you have a"
+		      echo "*** shared version of the library, which you do not appear to have"
+		      echo "*** because a test_compile did reveal that the linker did not use this one"
+		      echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+		    fi
+		  fi
+		else
+		  droppeddeps=yes
+		  echo
+		  $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
+		  echo "*** make it link in!  You will probably need to install it or some"
+		  echo "*** library that it depends on before this library will be fully"
+		  echo "*** functional.  Installing it before continuing would be even better."
+		fi
+		;;
+	      *)
+		func_append newdeplibs " $i"
+		;;
+	      esac
+	    done
+	  fi
+	  ;;
+	file_magic*)
+	  set dummy $deplibs_check_method; shift
+	  file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    case $a_deplib in
+	    -l*)
+	      func_stripname -l '' "$a_deplib"
+	      name=$func_stripname_result
+	      if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+		case " $predeps $postdeps " in
+		*" $a_deplib "*)
+		  func_append newdeplibs " $a_deplib"
+		  a_deplib=
+		  ;;
+		esac
+	      fi
+	      if test -n "$a_deplib"; then
+		libname=`eval "\\$ECHO \"$libname_spec\""`
+		if test -n "$file_magic_glob"; then
+		  libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
+		else
+		  libnameglob=$libname
+		fi
+		test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob`
+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		  if test yes = "$want_nocaseglob"; then
+		    shopt -s nocaseglob
+		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+		    $nocaseglob
+		  else
+		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+		  fi
+		  for potent_lib in $potential_libs; do
+		      # Follow soft links.
+		      if ls -lLd "$potent_lib" 2>/dev/null |
+			 $GREP " -> " >/dev/null; then
+			continue
+		      fi
+		      # The statement above tries to avoid entering an
+		      # endless loop below, in case of cyclic links.
+		      # We might still enter an endless loop, since a link
+		      # loop can be closed while we follow links,
+		      # but so what?
+		      potlib=$potent_lib
+		      while test -h "$potlib" 2>/dev/null; do
+			potliblink=`ls -ld $potlib | $SED 's/.* -> //'`
+			case $potliblink in
+			[\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;;
+			*) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";;
+			esac
+		      done
+		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+			 $SED -e 10q |
+			 $EGREP "$file_magic_regex" > /dev/null; then
+			func_append newdeplibs " $a_deplib"
+			a_deplib=
+			break 2
+		      fi
+		  done
+		done
+	      fi
+	      if test -n "$a_deplib"; then
+		droppeddeps=yes
+		echo
+		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+		echo "*** I have the capability to make that library automatically link in when"
+		echo "*** you link to this library.  But I can only do this if you have a"
+		echo "*** shared version of the library, which you do not appear to have"
+		echo "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib"; then
+		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
+		else
+		  $ECHO "*** with $libname and none of the candidates passed a file format test"
+		  $ECHO "*** using a file magic. Last file checked: $potlib"
+		fi
+	      fi
+	      ;;
+	    *)
+	      # Add a -L argument.
+	      func_append newdeplibs " $a_deplib"
+	      ;;
+	    esac
+	  done # Gone through all deplibs.
+	  ;;
+	match_pattern*)
+	  set dummy $deplibs_check_method; shift
+	  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    case $a_deplib in
+	    -l*)
+	      func_stripname -l '' "$a_deplib"
+	      name=$func_stripname_result
+	      if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+		case " $predeps $postdeps " in
+		*" $a_deplib "*)
+		  func_append newdeplibs " $a_deplib"
+		  a_deplib=
+		  ;;
+		esac
+	      fi
+	      if test -n "$a_deplib"; then
+		libname=`eval "\\$ECHO \"$libname_spec\""`
+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+		  for potent_lib in $potential_libs; do
+		    potlib=$potent_lib # see symlink-check above in file_magic test
+		    if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
+		       $EGREP "$match_pattern_regex" > /dev/null; then
+		      func_append newdeplibs " $a_deplib"
+		      a_deplib=
+		      break 2
+		    fi
+		  done
+		done
+	      fi
+	      if test -n "$a_deplib"; then
+		droppeddeps=yes
+		echo
+		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+		echo "*** I have the capability to make that library automatically link in when"
+		echo "*** you link to this library.  But I can only do this if you have a"
+		echo "*** shared version of the library, which you do not appear to have"
+		echo "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib"; then
+		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
+		else
+		  $ECHO "*** with $libname and none of the candidates passed a file format test"
+		  $ECHO "*** using a regex pattern. Last file checked: $potlib"
+		fi
+	      fi
+	      ;;
+	    *)
+	      # Add a -L argument.
+	      func_append newdeplibs " $a_deplib"
+	      ;;
+	    esac
+	  done # Gone through all deplibs.
+	  ;;
+	none | unknown | *)
+	  newdeplibs=
+	  tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
+	  if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+	    for i in $predeps $postdeps; do
+	      # can't use Xsed below, because $i might contain '/'
+	      tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"`
+	    done
+	  fi
+	  case $tmp_deplibs in
+	  *[!\	\ ]*)
+	    echo
+	    if test none = "$deplibs_check_method"; then
+	      echo "*** Warning: inter-library dependencies are not supported in this platform."
+	    else
+	      echo "*** Warning: inter-library dependencies are not known to be supported."
+	    fi
+	    echo "*** All declared inter-library dependencies are being dropped."
+	    droppeddeps=yes
+	    ;;
+	  esac
+	  ;;
+	esac
+	versuffix=$versuffix_save
+	major=$major_save
+	release=$release_save
+	libname=$libname_save
+	name=$name_save
+
+	case $host in
+	*-*-rhapsody* | *-*-darwin1.[012])
+	  # On Rhapsody replace the C library with the System framework
+	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
+	  ;;
+	esac
+
+	if test yes = "$droppeddeps"; then
+	  if test yes = "$module"; then
+	    echo
+	    echo "*** Warning: libtool could not satisfy all declared inter-library"
+	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
+	    echo "*** a static module, that should work as long as the dlopening"
+	    echo "*** application is linked with the -dlopen flag."
+	    if test -z "$global_symbol_pipe"; then
+	      echo
+	      echo "*** However, this would only work if libtool was able to extract symbol"
+	      echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
+	      echo "*** not find such a program.  So, this module is probably useless."
+	      echo "*** 'nm' from GNU binutils and a full rebuild may help."
+	    fi
+	    if test no = "$build_old_libs"; then
+	      oldlibs=$output_objdir/$libname.$libext
+	      build_libtool_libs=module
+	      build_old_libs=yes
+	    else
+	      build_libtool_libs=no
+	    fi
+	  else
+	    echo "*** The inter-library dependencies that have been dropped here will be"
+	    echo "*** automatically added whenever a program is linked with this library"
+	    echo "*** or is declared to -dlopen it."
+
+	    if test no = "$allow_undefined"; then
+	      echo
+	      echo "*** Since this library must not contain undefined symbols,"
+	      echo "*** because either the platform does not support them or"
+	      echo "*** it was explicitly requested with -no-undefined,"
+	      echo "*** libtool will only create a static version of it."
+	      if test no = "$build_old_libs"; then
+		oldlibs=$output_objdir/$libname.$libext
+		build_libtool_libs=module
+		build_old_libs=yes
+	      else
+		build_libtool_libs=no
+	      fi
+	    fi
+	  fi
+	fi
+	# Done checking deplibs!
+	deplibs=$newdeplibs
+      fi
+      # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+      case $host in
+	*-*-darwin*)
+	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  ;;
+      esac
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+	case " $new_libs " in
+	*" -L$path/$objdir "*) ;;
+	*)
+	  case " $deplibs " in
+	  *" -L$path/$objdir "*)
+	    func_append new_libs " -L$path/$objdir" ;;
+	  esac
+	  ;;
+	esac
+      done
+      for deplib in $deplibs; do
+	case $deplib in
+	-L*)
+	  case " $new_libs " in
+	  *" $deplib "*) ;;
+	  *) func_append new_libs " $deplib" ;;
+	  esac
+	  ;;
+	*) func_append new_libs " $deplib" ;;
+	esac
+      done
+      deplibs=$new_libs
+
+      # All the library-specific variables (install_libdir is set above).
+      library_names=
+      old_library=
+      dlname=
+
+      # Test again, we may have decided not to build it any more
+      if test yes = "$build_libtool_libs"; then
+	# Remove $wl instances when linking with ld.
+	# FIXME: should test the right _cmds variable.
+	case $archive_cmds in
+	  *\$LD\ *) wl= ;;
+        esac
+	if test yes = "$hardcode_into_libs"; then
+	  # Hardcode the library paths
+	  hardcode_libdirs=
+	  dep_rpath=
+	  rpath=$finalize_rpath
+	  test relink = "$opt_mode" || rpath=$compile_rpath$rpath
+	  for libdir in $rpath; do
+	    if test -n "$hardcode_libdir_flag_spec"; then
+	      if test -n "$hardcode_libdir_separator"; then
+		func_replace_sysroot "$libdir"
+		libdir=$func_replace_sysroot_result
+		if test -z "$hardcode_libdirs"; then
+		  hardcode_libdirs=$libdir
+		else
+		  # Just accumulate the unique libdirs.
+		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		    ;;
+		  *)
+		    func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+		    ;;
+		  esac
+		fi
+	      else
+		eval flag=\"$hardcode_libdir_flag_spec\"
+		func_append dep_rpath " $flag"
+	      fi
+	    elif test -n "$runpath_var"; then
+	      case "$perm_rpath " in
+	      *" $libdir "*) ;;
+	      *) func_append perm_rpath " $libdir" ;;
+	      esac
+	    fi
+	  done
+	  # Substitute the hardcoded libdirs into the rpath.
+	  if test -n "$hardcode_libdir_separator" &&
+	     test -n "$hardcode_libdirs"; then
+	    libdir=$hardcode_libdirs
+	    eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
+	  fi
+	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
+	    # We should set the runpath_var.
+	    rpath=
+	    for dir in $perm_rpath; do
+	      func_append rpath "$dir:"
+	    done
+	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+	  fi
+	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+	fi
+
+	shlibpath=$finalize_shlibpath
+	test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath
+	if test -n "$shlibpath"; then
+	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+	fi
+
+	# Get the real and link names of the library.
+	eval shared_ext=\"$shrext_cmds\"
+	eval library_names=\"$library_names_spec\"
+	set dummy $library_names
+	shift
+	realname=$1
+	shift
+
+	if test -n "$soname_spec"; then
+	  eval soname=\"$soname_spec\"
+	else
+	  soname=$realname
+	fi
+	if test -z "$dlname"; then
+	  dlname=$soname
+	fi
+
+	lib=$output_objdir/$realname
+	linknames=
+	for link
+	do
+	  func_append linknames " $link"
+	done
+
+	# Use standard objects if they are pic
+	test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+	test "X$libobjs" = "X " && libobjs=
+
+	delfiles=
+	if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+	  export_symbols=$output_objdir/$libname.uexp
+	  func_append delfiles " $export_symbols"
+	fi
+
+	orig_export_symbols=
+	case $host_os in
+	cygwin* | mingw* | cegcc*)
+	  if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
+	    # exporting using user supplied symfile
+	    func_dll_def_p "$export_symbols" || {
+	      # and it's NOT already a .def file. Must figure out
+	      # which of the given symbols are data symbols and tag
+	      # them as such. So, trigger use of export_symbols_cmds.
+	      # export_symbols gets reassigned inside the "prepare
+	      # the list of exported symbols" if statement, so the
+	      # include_expsyms logic still works.
+	      orig_export_symbols=$export_symbols
+	      export_symbols=
+	      always_export_symbols=yes
+	    }
+	  fi
+	  ;;
+	esac
+
+	# Prepare the list of exported symbols
+	if test -z "$export_symbols"; then
+	  if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then
+	    func_verbose "generating symbol list for '$libname.la'"
+	    export_symbols=$output_objdir/$libname.exp
+	    $opt_dry_run || $RM $export_symbols
+	    cmds=$export_symbols_cmds
+	    save_ifs=$IFS; IFS='~'
+	    for cmd1 in $cmds; do
+	      IFS=$save_ifs
+	      # Take the normal branch if the nm_file_list_spec branch
+	      # doesn't work or if tool conversion is not needed.
+	      case $nm_file_list_spec~$to_tool_file_cmd in
+		*~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
+		  try_normal_branch=yes
+		  eval cmd=\"$cmd1\"
+		  func_len " $cmd"
+		  len=$func_len_result
+		  ;;
+		*)
+		  try_normal_branch=no
+		  ;;
+	      esac
+	      if test yes = "$try_normal_branch" \
+		 && { test "$len" -lt "$max_cmd_len" \
+		      || test "$max_cmd_len" -le -1; }
+	      then
+		func_show_eval "$cmd" 'exit $?'
+		skipped_export=false
+	      elif test -n "$nm_file_list_spec"; then
+		func_basename "$output"
+		output_la=$func_basename_result
+		save_libobjs=$libobjs
+		save_output=$output
+		output=$output_objdir/$output_la.nm
+		func_to_tool_file "$output"
+		libobjs=$nm_file_list_spec$func_to_tool_file_result
+		func_append delfiles " $output"
+		func_verbose "creating $NM input file list: $output"
+		for obj in $save_libobjs; do
+		  func_to_tool_file "$obj"
+		  $ECHO "$func_to_tool_file_result"
+		done > "$output"
+		eval cmd=\"$cmd1\"
+		func_show_eval "$cmd" 'exit $?'
+		output=$save_output
+		libobjs=$save_libobjs
+		skipped_export=false
+	      else
+		# The command line is too long to execute in one step.
+		func_verbose "using reloadable object file for export list..."
+		skipped_export=:
+		# Break out early, otherwise skipped_export may be
+		# set to false by a later but shorter cmd.
+		break
+	      fi
+	    done
+	    IFS=$save_ifs
+	    if test -n "$export_symbols_regex" && test : != "$skipped_export"; then
+	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+	    fi
+	  fi
+	fi
+
+	if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	  tmp_export_symbols=$export_symbols
+	  test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
+	  $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+	fi
+
+	if test : != "$skipped_export" && test -n "$orig_export_symbols"; then
+	  # The given exports_symbols file has to be filtered, so filter it.
+	  func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
+	  # FIXME: $output_objdir/$libname.filter potentially contains lots of
+	  # 's' commands, which not all seds can handle. GNU sed should be fine
+	  # though. Also, the filter scales superlinearly with the number of
+	  # global variables. join(1) would be nice here, but unfortunately
+	  # isn't a blessed tool.
+	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+	  func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+	  export_symbols=$output_objdir/$libname.def
+	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+	fi
+
+	tmp_deplibs=
+	for test_deplib in $deplibs; do
+	  case " $convenience " in
+	  *" $test_deplib "*) ;;
+	  *)
+	    func_append tmp_deplibs " $test_deplib"
+	    ;;
+	  esac
+	done
+	deplibs=$tmp_deplibs
+
+	if test -n "$convenience"; then
+	  if test -n "$whole_archive_flag_spec" &&
+	    test yes = "$compiler_needs_object" &&
+	    test -z "$libobjs"; then
+	    # extract the archives, so we have objects to list.
+	    # TODO: could optimize this to just extract one archive.
+	    whole_archive_flag_spec=
+	  fi
+	  if test -n "$whole_archive_flag_spec"; then
+	    save_libobjs=$libobjs
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	    test "X$libobjs" = "X " && libobjs=
+	  else
+	    gentop=$output_objdir/${outputname}x
+	    func_append generated " $gentop"
+
+	    func_extract_archives $gentop $convenience
+	    func_append libobjs " $func_extract_archives_result"
+	    test "X$libobjs" = "X " && libobjs=
+	  fi
+	fi
+
+	if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then
+	  eval flag=\"$thread_safe_flag_spec\"
+	  func_append linker_flags " $flag"
+	fi
+
+	# Make a backup of the uninstalled library when relinking
+	if test relink = "$opt_mode"; then
+	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
+	fi
+
+	# Do each of the archive commands.
+	if test yes = "$module" && test -n "$module_cmds"; then
+	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+	    eval test_cmds=\"$module_expsym_cmds\"
+	    cmds=$module_expsym_cmds
+	  else
+	    eval test_cmds=\"$module_cmds\"
+	    cmds=$module_cmds
+	  fi
+	else
+	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	    eval test_cmds=\"$archive_expsym_cmds\"
+	    cmds=$archive_expsym_cmds
+	  else
+	    eval test_cmds=\"$archive_cmds\"
+	    cmds=$archive_cmds
+	  fi
+	fi
+
+	if test : != "$skipped_export" &&
+	   func_len " $test_cmds" &&
+	   len=$func_len_result &&
+	   test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	  :
+	else
+	  # The command line is too long to link in one step, link piecewise
+	  # or, if using GNU ld and skipped_export is not :, use a linker
+	  # script.
+
+	  # Save the value of $output and $libobjs because we want to
+	  # use them later.  If we have whole_archive_flag_spec, we
+	  # want to use save_libobjs as it was before
+	  # whole_archive_flag_spec was expanded, because we can't
+	  # assume the linker understands whole_archive_flag_spec.
+	  # This may have to be revisited, in case too many
+	  # convenience libraries get linked in and end up exceeding
+	  # the spec.
+	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+	    save_libobjs=$libobjs
+	  fi
+	  save_output=$output
+	  func_basename "$output"
+	  output_la=$func_basename_result
+
+	  # Clear the reloadable object creation command queue and
+	  # initialize k to one.
+	  test_cmds=
+	  concat_cmds=
+	  objlist=
+	  last_robj=
+	  k=1
+
+	  if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then
+	    output=$output_objdir/$output_la.lnkscript
+	    func_verbose "creating GNU ld script: $output"
+	    echo 'INPUT (' > $output
+	    for obj in $save_libobjs
+	    do
+	      func_to_tool_file "$obj"
+	      $ECHO "$func_to_tool_file_result" >> $output
+	    done
+	    echo ')' >> $output
+	    func_append delfiles " $output"
+	    func_to_tool_file "$output"
+	    output=$func_to_tool_file_result
+	  elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then
+	    output=$output_objdir/$output_la.lnk
+	    func_verbose "creating linker input file list: $output"
+	    : > $output
+	    set x $save_libobjs
+	    shift
+	    firstobj=
+	    if test yes = "$compiler_needs_object"; then
+	      firstobj="$1 "
+	      shift
+	    fi
+	    for obj
+	    do
+	      func_to_tool_file "$obj"
+	      $ECHO "$func_to_tool_file_result" >> $output
+	    done
+	    func_append delfiles " $output"
+	    func_to_tool_file "$output"
+	    output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
+	  else
+	    if test -n "$save_libobjs"; then
+	      func_verbose "creating reloadable object files..."
+	      output=$output_objdir/$output_la-$k.$objext
+	      eval test_cmds=\"$reload_cmds\"
+	      func_len " $test_cmds"
+	      len0=$func_len_result
+	      len=$len0
+
+	      # Loop over the list of objects to be linked.
+	      for obj in $save_libobjs
+	      do
+		func_len " $obj"
+		func_arith $len + $func_len_result
+		len=$func_arith_result
+		if test -z "$objlist" ||
+		   test "$len" -lt "$max_cmd_len"; then
+		  func_append objlist " $obj"
+		else
+		  # The command $test_cmds is almost too long, add a
+		  # command to the queue.
+		  if test 1 -eq "$k"; then
+		    # The first file doesn't have a previous command to add.
+		    reload_objs=$objlist
+		    eval concat_cmds=\"$reload_cmds\"
+		  else
+		    # All subsequent reloadable object files will link in
+		    # the last one created.
+		    reload_objs="$objlist $last_robj"
+		    eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
+		  fi
+		  last_robj=$output_objdir/$output_la-$k.$objext
+		  func_arith $k + 1
+		  k=$func_arith_result
+		  output=$output_objdir/$output_la-$k.$objext
+		  objlist=" $obj"
+		  func_len " $last_robj"
+		  func_arith $len0 + $func_len_result
+		  len=$func_arith_result
+		fi
+	      done
+	      # Handle the remaining objects by creating one last
+	      # reloadable object file.  All subsequent reloadable object
+	      # files will link in the last one created.
+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	      reload_objs="$objlist $last_robj"
+	      eval concat_cmds=\"\$concat_cmds$reload_cmds\"
+	      if test -n "$last_robj"; then
+	        eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+	      fi
+	      func_append delfiles " $output"
+
+	    else
+	      output=
+	    fi
+
+	    ${skipped_export-false} && {
+	      func_verbose "generating symbol list for '$libname.la'"
+	      export_symbols=$output_objdir/$libname.exp
+	      $opt_dry_run || $RM $export_symbols
+	      libobjs=$output
+	      # Append the command to create the export file.
+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	      eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+	      if test -n "$last_robj"; then
+		eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+	      fi
+	    }
+
+	    test -n "$save_libobjs" &&
+	      func_verbose "creating a temporary reloadable object file: $output"
+
+	    # Loop through the commands generated above and execute them.
+	    save_ifs=$IFS; IFS='~'
+	    for cmd in $concat_cmds; do
+	      IFS=$save_ifs
+	      $opt_quiet || {
+		  func_quote_for_expand "$cmd"
+		  eval "func_echo $func_quote_for_expand_result"
+	      }
+	      $opt_dry_run || eval "$cmd" || {
+		lt_exit=$?
+
+		# Restore the uninstalled library and exit
+		if test relink = "$opt_mode"; then
+		  ( cd "$output_objdir" && \
+		    $RM "${realname}T" && \
+		    $MV "${realname}U" "$realname" )
+		fi
+
+		exit $lt_exit
+	      }
+	    done
+	    IFS=$save_ifs
+
+	    if test -n "$export_symbols_regex" && ${skipped_export-false}; then
+	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+	    fi
+	  fi
+
+          ${skipped_export-false} && {
+	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	      tmp_export_symbols=$export_symbols
+	      test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
+	      $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+	    fi
+
+	    if test -n "$orig_export_symbols"; then
+	      # The given exports_symbols file has to be filtered, so filter it.
+	      func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
+	      # FIXME: $output_objdir/$libname.filter potentially contains lots of
+	      # 's' commands, which not all seds can handle. GNU sed should be fine
+	      # though. Also, the filter scales superlinearly with the number of
+	      # global variables. join(1) would be nice here, but unfortunately
+	      # isn't a blessed tool.
+	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+	      func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+	      export_symbols=$output_objdir/$libname.def
+	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+	    fi
+	  }
+
+	  libobjs=$output
+	  # Restore the value of output.
+	  output=$save_output
+
+	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	    test "X$libobjs" = "X " && libobjs=
+	  fi
+	  # Expand the library linking commands again to reset the
+	  # value of $libobjs for piecewise linking.
+
+	  # Do each of the archive commands.
+	  if test yes = "$module" && test -n "$module_cmds"; then
+	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+	      cmds=$module_expsym_cmds
+	    else
+	      cmds=$module_cmds
+	    fi
+	  else
+	    if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	      cmds=$archive_expsym_cmds
+	    else
+	      cmds=$archive_cmds
+	    fi
+	  fi
+	fi
+
+	if test -n "$delfiles"; then
+	  # Append the command to remove temporary files to $cmds.
+	  eval cmds=\"\$cmds~\$RM $delfiles\"
+	fi
+
+	# Add any objects from preloaded convenience libraries
+	if test -n "$dlprefiles"; then
+	  gentop=$output_objdir/${outputname}x
+	  func_append generated " $gentop"
+
+	  func_extract_archives $gentop $dlprefiles
+	  func_append libobjs " $func_extract_archives_result"
+	  test "X$libobjs" = "X " && libobjs=
+	fi
+
+	save_ifs=$IFS; IFS='~'
+	for cmd in $cmds; do
+	  IFS=$sp$nl
+	  eval cmd=\"$cmd\"
+	  IFS=$save_ifs
+	  $opt_quiet || {
+	    func_quote_for_expand "$cmd"
+	    eval "func_echo $func_quote_for_expand_result"
+	  }
+	  $opt_dry_run || eval "$cmd" || {
+	    lt_exit=$?
+
+	    # Restore the uninstalled library and exit
+	    if test relink = "$opt_mode"; then
+	      ( cd "$output_objdir" && \
+	        $RM "${realname}T" && \
+		$MV "${realname}U" "$realname" )
+	    fi
+
+	    exit $lt_exit
+	  }
+	done
+	IFS=$save_ifs
+
+	# Restore the uninstalled library and exit
+	if test relink = "$opt_mode"; then
+	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
+
+	  if test -n "$convenience"; then
+	    if test -z "$whole_archive_flag_spec"; then
+	      func_show_eval '${RM}r "$gentop"'
+	    fi
+	  fi
+
+	  exit $EXIT_SUCCESS
+	fi
+
+	# Create links to the real library.
+	for linkname in $linknames; do
+	  if test "$realname" != "$linkname"; then
+	    func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
+	  fi
+	done
+
+	# If -module or -export-dynamic was specified, set the dlname.
+	if test yes = "$module" || test yes = "$export_dynamic"; then
+	  # On all known operating systems, these are identical.
+	  dlname=$soname
+	fi
+      fi
+      ;;
+
+    obj)
+      if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+	func_warning "'-dlopen' is ignored for objects"
+      fi
+
+      case " $deplibs" in
+      *\ -l* | *\ -L*)
+	func_warning "'-l' and '-L' are ignored for objects" ;;
+      esac
+
+      test -n "$rpath" && \
+	func_warning "'-rpath' is ignored for objects"
+
+      test -n "$xrpath" && \
+	func_warning "'-R' is ignored for objects"
+
+      test -n "$vinfo" && \
+	func_warning "'-version-info' is ignored for objects"
+
+      test -n "$release" && \
+	func_warning "'-release' is ignored for objects"
+
+      case $output in
+      *.lo)
+	test -n "$objs$old_deplibs" && \
+	  func_fatal_error "cannot build library object '$output' from non-libtool objects"
+
+	libobj=$output
+	func_lo2o "$libobj"
+	obj=$func_lo2o_result
+	;;
+      *)
+	libobj=
+	obj=$output
+	;;
+      esac
+
+      # Delete the old objects.
+      $opt_dry_run || $RM $obj $libobj
+
+      # Objects from convenience libraries.  This assumes
+      # single-version convenience libraries.  Whenever we create
+      # different ones for PIC/non-PIC, this we'll have to duplicate
+      # the extraction.
+      reload_conv_objs=
+      gentop=
+      # if reload_cmds runs $LD directly, get rid of -Wl from
+      # whole_archive_flag_spec and hope we can get by with turning comma
+      # into space.
+      case $reload_cmds in
+        *\$LD[\ \$]*) wl= ;;
+      esac
+      if test -n "$convenience"; then
+	if test -n "$whole_archive_flag_spec"; then
+	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+	  test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+	  reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags
+	else
+	  gentop=$output_objdir/${obj}x
+	  func_append generated " $gentop"
+
+	  func_extract_archives $gentop $convenience
+	  reload_conv_objs="$reload_objs $func_extract_archives_result"
+	fi
+      fi
+
+      # If we're not building shared, we need to use non_pic_objs
+      test yes = "$build_libtool_libs" || libobjs=$non_pic_objects
+
+      # Create the old-style object.
+      reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs
+
+      output=$obj
+      func_execute_cmds "$reload_cmds" 'exit $?'
+
+      # Exit if we aren't doing a library object file.
+      if test -z "$libobj"; then
+	if test -n "$gentop"; then
+	  func_show_eval '${RM}r "$gentop"'
+	fi
+
+	exit $EXIT_SUCCESS
+      fi
+
+      test yes = "$build_libtool_libs" || {
+	if test -n "$gentop"; then
+	  func_show_eval '${RM}r "$gentop"'
+	fi
+
+	# Create an invalid libtool object if no PIC, so that we don't
+	# accidentally link it into a program.
+	# $show "echo timestamp > $libobj"
+	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
+	exit $EXIT_SUCCESS
+      }
+
+      if test -n "$pic_flag" || test default != "$pic_mode"; then
+	# Only do commands if we really have different PIC objects.
+	reload_objs="$libobjs $reload_conv_objs"
+	output=$libobj
+	func_execute_cmds "$reload_cmds" 'exit $?'
+      fi
+
+      if test -n "$gentop"; then
+	func_show_eval '${RM}r "$gentop"'
+      fi
+
+      exit $EXIT_SUCCESS
+      ;;
+
+    prog)
+      case $host in
+	*cygwin*) func_stripname '' '.exe' "$output"
+	          output=$func_stripname_result.exe;;
+      esac
+      test -n "$vinfo" && \
+	func_warning "'-version-info' is ignored for programs"
+
+      test -n "$release" && \
+	func_warning "'-release' is ignored for programs"
+
+      $preload \
+	&& test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \
+	&& func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support."
+
+      case $host in
+      *-*-rhapsody* | *-*-darwin1.[012])
+	# On Rhapsody replace the C library is the System framework
+	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
+	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
+	;;
+      esac
+
+      case $host in
+      *-*-darwin*)
+	# Don't allow lazy linking, it breaks C++ global constructors
+	# But is supposedly fixed on 10.4 or later (yay!).
+	if test CXX = "$tagname"; then
+	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+	    10.[0123])
+	      func_append compile_command " $wl-bind_at_load"
+	      func_append finalize_command " $wl-bind_at_load"
+	    ;;
+	  esac
+	fi
+	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
+	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	;;
+      esac
+
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+	case " $new_libs " in
+	*" -L$path/$objdir "*) ;;
+	*)
+	  case " $compile_deplibs " in
+	  *" -L$path/$objdir "*)
+	    func_append new_libs " -L$path/$objdir" ;;
+	  esac
+	  ;;
+	esac
+      done
+      for deplib in $compile_deplibs; do
+	case $deplib in
+	-L*)
+	  case " $new_libs " in
+	  *" $deplib "*) ;;
+	  *) func_append new_libs " $deplib" ;;
+	  esac
+	  ;;
+	*) func_append new_libs " $deplib" ;;
+	esac
+      done
+      compile_deplibs=$new_libs
+
+
+      func_append compile_command " $compile_deplibs"
+      func_append finalize_command " $finalize_deplibs"
+
+      if test -n "$rpath$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	for libdir in $rpath $xrpath; do
+	  # This is the magic to use -rpath.
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) func_append finalize_rpath " $libdir" ;;
+	  esac
+	done
+      fi
+
+      # Now hardcode the library paths
+      rpath=
+      hardcode_libdirs=
+      for libdir in $compile_rpath $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs=$libdir
+	    else
+	      # Just accumulate the unique libdirs.
+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    func_append rpath " $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) func_append perm_rpath " $libdir" ;;
+	  esac
+	fi
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+	  testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
+	  case :$dllsearchpath: in
+	  *":$libdir:"*) ;;
+	  ::) dllsearchpath=$libdir;;
+	  *) func_append dllsearchpath ":$libdir";;
+	  esac
+	  case :$dllsearchpath: in
+	  *":$testbindir:"*) ;;
+	  ::) dllsearchpath=$testbindir;;
+	  *) func_append dllsearchpath ":$testbindir";;
+	  esac
+	  ;;
+	esac
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir=$hardcode_libdirs
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      compile_rpath=$rpath
+
+      rpath=
+      hardcode_libdirs=
+      for libdir in $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs=$libdir
+	    else
+	      # Just accumulate the unique libdirs.
+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    func_append rpath " $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$finalize_perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) func_append finalize_perm_rpath " $libdir" ;;
+	  esac
+	fi
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir=$hardcode_libdirs
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      finalize_rpath=$rpath
+
+      if test -n "$libobjs" && test yes = "$build_old_libs"; then
+	# Transform all the library objects into standard objects.
+	compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+	finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+      fi
+
+      func_generate_dlsyms "$outputname" "@PROGRAM@" false
+
+      # template prelinking step
+      if test -n "$prelink_cmds"; then
+	func_execute_cmds "$prelink_cmds" 'exit $?'
+      fi
+
+      wrappers_required=:
+      case $host in
+      *cegcc* | *mingw32ce*)
+        # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
+        wrappers_required=false
+        ;;
+      *cygwin* | *mingw* )
+        test yes = "$build_libtool_libs" || wrappers_required=false
+        ;;
+      *)
+        if test no = "$need_relink" || test yes != "$build_libtool_libs"; then
+          wrappers_required=false
+        fi
+        ;;
+      esac
+      $wrappers_required || {
+	# Replace the output file specification.
+	compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
+	link_command=$compile_command$compile_rpath
+
+	# We have no uninstalled library dependencies, so finalize right now.
+	exit_status=0
+	func_show_eval "$link_command" 'exit_status=$?'
+
+	if test -n "$postlink_cmds"; then
+	  func_to_tool_file "$output"
+	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+	  func_execute_cmds "$postlink_cmds" 'exit $?'
+	fi
+
+	# Delete the generated files.
+	if test -f "$output_objdir/${outputname}S.$objext"; then
+	  func_show_eval '$RM "$output_objdir/${outputname}S.$objext"'
+	fi
+
+	exit $exit_status
+      }
+
+      if test -n "$compile_shlibpath$finalize_shlibpath"; then
+	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+      fi
+      if test -n "$finalize_shlibpath"; then
+	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+      fi
+
+      compile_var=
+      finalize_var=
+      if test -n "$runpath_var"; then
+	if test -n "$perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $perm_rpath; do
+	    func_append rpath "$dir:"
+	  done
+	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+	if test -n "$finalize_perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $finalize_perm_rpath; do
+	    func_append rpath "$dir:"
+	  done
+	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+      fi
+
+      if test yes = "$no_install"; then
+	# We don't need to create a wrapper script.
+	link_command=$compile_var$compile_command$compile_rpath
+	# Replace the output file specification.
+	link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
+	# Delete the old output file.
+	$opt_dry_run || $RM $output
+	# Link the executable and exit
+	func_show_eval "$link_command" 'exit $?'
+
+	if test -n "$postlink_cmds"; then
+	  func_to_tool_file "$output"
+	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+	  func_execute_cmds "$postlink_cmds" 'exit $?'
+	fi
+
+	exit $EXIT_SUCCESS
+      fi
+
+      case $hardcode_action,$fast_install in
+        relink,*)
+	  # Fast installation is not supported
+	  link_command=$compile_var$compile_command$compile_rpath
+	  relink_command=$finalize_var$finalize_command$finalize_rpath
+
+	  func_warning "this platform does not like uninstalled shared libraries"
+	  func_warning "'$output' will be relinked during installation"
+	  ;;
+        *,yes)
+	  link_command=$finalize_var$compile_command$finalize_rpath
+	  relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
+          ;;
+	*,no)
+	  link_command=$compile_var$compile_command$compile_rpath
+	  relink_command=$finalize_var$finalize_command$finalize_rpath
+          ;;
+	*,needless)
+	  link_command=$finalize_var$compile_command$finalize_rpath
+	  relink_command=
+          ;;
+      esac
+
+      # Replace the output file specification.
+      link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+      # Delete the old output files.
+      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+      func_show_eval "$link_command" 'exit $?'
+
+      if test -n "$postlink_cmds"; then
+	func_to_tool_file "$output_objdir/$outputname"
+	postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+	func_execute_cmds "$postlink_cmds" 'exit $?'
+      fi
+
+      # Now create the wrapper script.
+      func_verbose "creating $output"
+
+      # Quote the relink command for shipping.
+      if test -n "$relink_command"; then
+	# Preserve any variables that may affect compiler behavior
+	for var in $variables_saved_for_relink; do
+	  if eval test -z \"\${$var+set}\"; then
+	    relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+	  elif eval var_value=\$$var; test -z "$var_value"; then
+	    relink_command="$var=; export $var; $relink_command"
+	  else
+	    func_quote_for_eval "$var_value"
+	    relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+	  fi
+	done
+	relink_command="(cd `pwd`; $relink_command)"
+	relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+      fi
+
+      # Only actually do things if not in dry run mode.
+      $opt_dry_run || {
+	# win32 will think the script is a binary if it has
+	# a .exe suffix, so we strip it off here.
+	case $output in
+	  *.exe) func_stripname '' '.exe' "$output"
+	         output=$func_stripname_result ;;
+	esac
+	# test for cygwin because mv fails w/o .exe extensions
+	case $host in
+	  *cygwin*)
+	    exeext=.exe
+	    func_stripname '' '.exe' "$outputname"
+	    outputname=$func_stripname_result ;;
+	  *) exeext= ;;
+	esac
+	case $host in
+	  *cygwin* | *mingw* )
+	    func_dirname_and_basename "$output" "" "."
+	    output_name=$func_basename_result
+	    output_path=$func_dirname_result
+	    cwrappersource=$output_path/$objdir/lt-$output_name.c
+	    cwrapper=$output_path/$output_name.exe
+	    $RM $cwrappersource $cwrapper
+	    trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+	    func_emit_cwrapperexe_src > $cwrappersource
+
+	    # The wrapper executable is built using the $host compiler,
+	    # because it contains $host paths and files. If cross-
+	    # compiling, it, like the target executable, must be
+	    # executed on the $host or under an emulation environment.
+	    $opt_dry_run || {
+	      $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
+	      $STRIP $cwrapper
+	    }
+
+	    # Now, create the wrapper script for func_source use:
+	    func_ltwrapper_scriptname $cwrapper
+	    $RM $func_ltwrapper_scriptname_result
+	    trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
+	    $opt_dry_run || {
+	      # note: this script will not be executed, so do not chmod.
+	      if test "x$build" = "x$host"; then
+		$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
+	      else
+		func_emit_wrapper no > $func_ltwrapper_scriptname_result
+	      fi
+	    }
+	  ;;
+	  * )
+	    $RM $output
+	    trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
+
+	    func_emit_wrapper no > $output
+	    chmod +x $output
+	  ;;
+	esac
+      }
+      exit $EXIT_SUCCESS
+      ;;
+    esac
+
+    # See if we need to build an old-fashioned archive.
+    for oldlib in $oldlibs; do
+
+      case $build_libtool_libs in
+        convenience)
+	  oldobjs="$libobjs_save $symfileobj"
+	  addlibs=$convenience
+	  build_libtool_libs=no
+	  ;;
+	module)
+	  oldobjs=$libobjs_save
+	  addlibs=$old_convenience
+	  build_libtool_libs=no
+          ;;
+	*)
+	  oldobjs="$old_deplibs $non_pic_objects"
+	  $preload && test -f "$symfileobj" \
+	    && func_append oldobjs " $symfileobj"
+	  addlibs=$old_convenience
+	  ;;
+      esac
+
+      if test -n "$addlibs"; then
+	gentop=$output_objdir/${outputname}x
+	func_append generated " $gentop"
+
+	func_extract_archives $gentop $addlibs
+	func_append oldobjs " $func_extract_archives_result"
+      fi
+
+      # Do each command in the archive commands.
+      if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then
+	cmds=$old_archive_from_new_cmds
+      else
+
+	# Add any objects from preloaded convenience libraries
+	if test -n "$dlprefiles"; then
+	  gentop=$output_objdir/${outputname}x
+	  func_append generated " $gentop"
+
+	  func_extract_archives $gentop $dlprefiles
+	  func_append oldobjs " $func_extract_archives_result"
+	fi
+
+	# POSIX demands no paths to be encoded in archives.  We have
+	# to avoid creating archives with duplicate basenames if we
+	# might have to extract them afterwards, e.g., when creating a
+	# static archive out of a convenience library, or when linking
+	# the entirety of a libtool archive into another (currently
+	# not supported by libtool).
+	if (for obj in $oldobjs
+	    do
+	      func_basename "$obj"
+	      $ECHO "$func_basename_result"
+	    done | sort | sort -uc >/dev/null 2>&1); then
+	  :
+	else
+	  echo "copying selected object files to avoid basename conflicts..."
+	  gentop=$output_objdir/${outputname}x
+	  func_append generated " $gentop"
+	  func_mkdir_p "$gentop"
+	  save_oldobjs=$oldobjs
+	  oldobjs=
+	  counter=1
+	  for obj in $save_oldobjs
+	  do
+	    func_basename "$obj"
+	    objbase=$func_basename_result
+	    case " $oldobjs " in
+	    " ") oldobjs=$obj ;;
+	    *[\ /]"$objbase "*)
+	      while :; do
+		# Make sure we don't pick an alternate name that also
+		# overlaps.
+		newobj=lt$counter-$objbase
+		func_arith $counter + 1
+		counter=$func_arith_result
+		case " $oldobjs " in
+		*[\ /]"$newobj "*) ;;
+		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
+		esac
+	      done
+	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+	      func_append oldobjs " $gentop/$newobj"
+	      ;;
+	    *) func_append oldobjs " $obj" ;;
+	    esac
+	  done
+	fi
+	func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+	tool_oldlib=$func_to_tool_file_result
+	eval cmds=\"$old_archive_cmds\"
+
+	func_len " $cmds"
+	len=$func_len_result
+	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	  cmds=$old_archive_cmds
+	elif test -n "$archiver_list_spec"; then
+	  func_verbose "using command file archive linking..."
+	  for obj in $oldobjs
+	  do
+	    func_to_tool_file "$obj"
+	    $ECHO "$func_to_tool_file_result"
+	  done > $output_objdir/$libname.libcmd
+	  func_to_tool_file "$output_objdir/$libname.libcmd"
+	  oldobjs=" $archiver_list_spec$func_to_tool_file_result"
+	  cmds=$old_archive_cmds
+	else
+	  # the command line is too long to link in one step, link in parts
+	  func_verbose "using piecewise archive linking..."
+	  save_RANLIB=$RANLIB
+	  RANLIB=:
+	  objlist=
+	  concat_cmds=
+	  save_oldobjs=$oldobjs
+	  oldobjs=
+	  # Is there a better way of finding the last object in the list?
+	  for obj in $save_oldobjs
+	  do
+	    last_oldobj=$obj
+	  done
+	  eval test_cmds=\"$old_archive_cmds\"
+	  func_len " $test_cmds"
+	  len0=$func_len_result
+	  len=$len0
+	  for obj in $save_oldobjs
+	  do
+	    func_len " $obj"
+	    func_arith $len + $func_len_result
+	    len=$func_arith_result
+	    func_append objlist " $obj"
+	    if test "$len" -lt "$max_cmd_len"; then
+	      :
+	    else
+	      # the above command should be used before it gets too long
+	      oldobjs=$objlist
+	      if test "$obj" = "$last_oldobj"; then
+		RANLIB=$save_RANLIB
+	      fi
+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	      eval concat_cmds=\"\$concat_cmds$old_archive_cmds\"
+	      objlist=
+	      len=$len0
+	    fi
+	  done
+	  RANLIB=$save_RANLIB
+	  oldobjs=$objlist
+	  if test -z "$oldobjs"; then
+	    eval cmds=\"\$concat_cmds\"
+	  else
+	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+	  fi
+	fi
+      fi
+      func_execute_cmds "$cmds" 'exit $?'
+    done
+
+    test -n "$generated" && \
+      func_show_eval "${RM}r$generated"
+
+    # Now create the libtool archive.
+    case $output in
+    *.la)
+      old_library=
+      test yes = "$build_old_libs" && old_library=$libname.$libext
+      func_verbose "creating $output"
+
+      # Preserve any variables that may affect compiler behavior
+      for var in $variables_saved_for_relink; do
+	if eval test -z \"\${$var+set}\"; then
+	  relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+	elif eval var_value=\$$var; test -z "$var_value"; then
+	  relink_command="$var=; export $var; $relink_command"
+	else
+	  func_quote_for_eval "$var_value"
+	  relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+	fi
+      done
+      # Quote the link command for shipping.
+      relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+      relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+      if test yes = "$hardcode_automatic"; then
+	relink_command=
+      fi
+
+      # Only create the output if not a dry run.
+      $opt_dry_run || {
+	for installed in no yes; do
+	  if test yes = "$installed"; then
+	    if test -z "$install_libdir"; then
+	      break
+	    fi
+	    output=$output_objdir/${outputname}i
+	    # Replace all uninstalled libtool libraries with the installed ones
+	    newdependency_libs=
+	    for deplib in $dependency_libs; do
+	      case $deplib in
+	      *.la)
+		func_basename "$deplib"
+		name=$func_basename_result
+		func_resolve_sysroot "$deplib"
+		eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
+		test -z "$libdir" && \
+		  func_fatal_error "'$deplib' is not a valid libtool archive"
+		func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
+		;;
+	      -L*)
+		func_stripname -L '' "$deplib"
+		func_replace_sysroot "$func_stripname_result"
+		func_append newdependency_libs " -L$func_replace_sysroot_result"
+		;;
+	      -R*)
+		func_stripname -R '' "$deplib"
+		func_replace_sysroot "$func_stripname_result"
+		func_append newdependency_libs " -R$func_replace_sysroot_result"
+		;;
+	      *) func_append newdependency_libs " $deplib" ;;
+	      esac
+	    done
+	    dependency_libs=$newdependency_libs
+	    newdlfiles=
+
+	    for lib in $dlfiles; do
+	      case $lib in
+	      *.la)
+	        func_basename "$lib"
+		name=$func_basename_result
+		eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+		test -z "$libdir" && \
+		  func_fatal_error "'$lib' is not a valid libtool archive"
+		func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
+		;;
+	      *) func_append newdlfiles " $lib" ;;
+	      esac
+	    done
+	    dlfiles=$newdlfiles
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      case $lib in
+	      *.la)
+		# Only pass preopened files to the pseudo-archive (for
+		# eventual linking with the app. that links it) if we
+		# didn't already link the preopened objects directly into
+		# the library:
+		func_basename "$lib"
+		name=$func_basename_result
+		eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+		test -z "$libdir" && \
+		  func_fatal_error "'$lib' is not a valid libtool archive"
+		func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
+		;;
+	      esac
+	    done
+	    dlprefiles=$newdlprefiles
+	  else
+	    newdlfiles=
+	    for lib in $dlfiles; do
+	      case $lib in
+		[\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
+		*) abs=`pwd`"/$lib" ;;
+	      esac
+	      func_append newdlfiles " $abs"
+	    done
+	    dlfiles=$newdlfiles
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      case $lib in
+		[\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
+		*) abs=`pwd`"/$lib" ;;
+	      esac
+	      func_append newdlprefiles " $abs"
+	    done
+	    dlprefiles=$newdlprefiles
+	  fi
+	  $RM $output
+	  # place dlname in correct position for cygwin
+	  # In fact, it would be nice if we could use this code for all target
+	  # systems that can't hard-code library paths into their executables
+	  # and that have no shared library path variable independent of PATH,
+	  # but it turns out we can't easily determine that from inspecting
+	  # libtool variables, so we have to hard-code the OSs to which it
+	  # applies here; at the moment, that means platforms that use the PE
+	  # object format with DLL files.  See the long comment at the top of
+	  # tests/bindir.at for full details.
+	  tdlname=$dlname
+	  case $host,$output,$installed,$module,$dlname in
+	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
+	      # If a -bindir argument was supplied, place the dll there.
+	      if test -n "$bindir"; then
+		func_relative_path "$install_libdir" "$bindir"
+		tdlname=$func_relative_path_result/$dlname
+	      else
+		# Otherwise fall back on heuristic.
+		tdlname=../bin/$dlname
+	      fi
+	      ;;
+	  esac
+	  $ECHO > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Linker flags that cannot go in dependency_libs.
+inherited_linker_flags='$new_inherited_linker_flags'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Names of additional weak libraries provided by this library
+weak_library_names='$weak_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+	  if test no,yes = "$installed,$need_relink"; then
+	    $ECHO >> $output "\
+relink_command=\"$relink_command\""
+	  fi
+	done
+      }
+
+      # Do a symbolic link so that the libtool archive can be found in
+      # LD_LIBRARY_PATH before the program is installed.
+      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
+      ;;
+    esac
+    exit $EXIT_SUCCESS
+}
+
+if test link = "$opt_mode" || test relink = "$opt_mode"; then
+  func_mode_link ${1+"$@"}
+fi
+
+
+# func_mode_uninstall arg...
+func_mode_uninstall ()
+{
+    $debug_cmd
+
+    RM=$nonopt
+    files=
+    rmforce=false
+    exit_status=0
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic=$magic
+
+    for arg
+    do
+      case $arg in
+      -f) func_append RM " $arg"; rmforce=: ;;
+      -*) func_append RM " $arg" ;;
+      *) func_append files " $arg" ;;
+      esac
+    done
+
+    test -z "$RM" && \
+      func_fatal_help "you must specify an RM program"
+
+    rmdirs=
+
+    for file in $files; do
+      func_dirname "$file" "" "."
+      dir=$func_dirname_result
+      if test . = "$dir"; then
+	odir=$objdir
+      else
+	odir=$dir/$objdir
+      fi
+      func_basename "$file"
+      name=$func_basename_result
+      test uninstall = "$opt_mode" && odir=$dir
+
+      # Remember odir for removal later, being careful to avoid duplicates
+      if test clean = "$opt_mode"; then
+	case " $rmdirs " in
+	  *" $odir "*) ;;
+	  *) func_append rmdirs " $odir" ;;
+	esac
+      fi
+
+      # Don't error if the file doesn't exist and rm -f was used.
+      if { test -L "$file"; } >/dev/null 2>&1 ||
+	 { test -h "$file"; } >/dev/null 2>&1 ||
+	 test -f "$file"; then
+	:
+      elif test -d "$file"; then
+	exit_status=1
+	continue
+      elif $rmforce; then
+	continue
+      fi
+
+      rmfiles=$file
+
+      case $name in
+      *.la)
+	# Possibly a libtool archive, so verify it.
+	if func_lalib_p "$file"; then
+	  func_source $dir/$name
+
+	  # Delete the libtool libraries and symlinks.
+	  for n in $library_names; do
+	    func_append rmfiles " $odir/$n"
+	  done
+	  test -n "$old_library" && func_append rmfiles " $odir/$old_library"
+
+	  case $opt_mode in
+	  clean)
+	    case " $library_names " in
+	    *" $dlname "*) ;;
+	    *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
+	    esac
+	    test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
+	    ;;
+	  uninstall)
+	    if test -n "$library_names"; then
+	      # Do each command in the postuninstall commands.
+	      func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1'
+	    fi
+
+	    if test -n "$old_library"; then
+	      # Do each command in the old_postuninstall commands.
+	      func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1'
+	    fi
+	    # FIXME: should reinstall the best remaining shared library.
+	    ;;
+	  esac
+	fi
+	;;
+
+      *.lo)
+	# Possibly a libtool object, so verify it.
+	if func_lalib_p "$file"; then
+
+	  # Read the .lo file
+	  func_source $dir/$name
+
+	  # Add PIC object to the list of files to remove.
+	  if test -n "$pic_object" && test none != "$pic_object"; then
+	    func_append rmfiles " $dir/$pic_object"
+	  fi
+
+	  # Add non-PIC object to the list of files to remove.
+	  if test -n "$non_pic_object" && test none != "$non_pic_object"; then
+	    func_append rmfiles " $dir/$non_pic_object"
+	  fi
+	fi
+	;;
+
+      *)
+	if test clean = "$opt_mode"; then
+	  noexename=$name
+	  case $file in
+	  *.exe)
+	    func_stripname '' '.exe' "$file"
+	    file=$func_stripname_result
+	    func_stripname '' '.exe' "$name"
+	    noexename=$func_stripname_result
+	    # $file with .exe has already been added to rmfiles,
+	    # add $file without .exe
+	    func_append rmfiles " $file"
+	    ;;
+	  esac
+	  # Do a test to see if this is a libtool program.
+	  if func_ltwrapper_p "$file"; then
+	    if func_ltwrapper_executable_p "$file"; then
+	      func_ltwrapper_scriptname "$file"
+	      relink_command=
+	      func_source $func_ltwrapper_scriptname_result
+	      func_append rmfiles " $func_ltwrapper_scriptname_result"
+	    else
+	      relink_command=
+	      func_source $dir/$noexename
+	    fi
+
+	    # note $name still contains .exe if it was in $file originally
+	    # as does the version of $file that was added into $rmfiles
+	    func_append rmfiles " $odir/$name $odir/${name}S.$objext"
+	    if test yes = "$fast_install" && test -n "$relink_command"; then
+	      func_append rmfiles " $odir/lt-$name"
+	    fi
+	    if test "X$noexename" != "X$name"; then
+	      func_append rmfiles " $odir/lt-$noexename.c"
+	    fi
+	  fi
+	fi
+	;;
+      esac
+      func_show_eval "$RM $rmfiles" 'exit_status=1'
+    done
+
+    # Try to remove the $objdir's in the directories where we deleted files
+    for dir in $rmdirs; do
+      if test -d "$dir"; then
+	func_show_eval "rmdir $dir >/dev/null 2>&1"
+      fi
+    done
+
+    exit $exit_status
+}
+
+if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then
+  func_mode_uninstall ${1+"$@"}
+fi
+
+test -z "$opt_mode" && {
+  help=$generic_help
+  func_fatal_help "you must specify a MODE"
+}
+
+test -z "$exec_cmd" && \
+  func_fatal_help "invalid operation mode '$opt_mode'"
+
+if test -n "$exec_cmd"; then
+  eval exec "$exec_cmd"
+  exit $EXIT_FAILURE
+fi
+
+exit $exit_status
+
+
+# The TAGs below are defined such that we never get into a situation
+# where we disable both kinds of libraries.  Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them.  This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration.  But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+build_libtool_libs=no
+build_old_libs=yes
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
Binary file GEMBASSY-1.0.3/m4/._libtool.m4 has changed
Binary file GEMBASSY-1.0.3/m4/._ltoptions.m4 has changed
Binary file GEMBASSY-1.0.3/m4/._ltsugar.m4 has changed
Binary file GEMBASSY-1.0.3/m4/._lt~obsolete.m4 has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/m4/general.m4	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,32 @@
+AC_DEFUN([CHECK_GENERAL],
+#
+# Handle general setup e.g. documentation directory
+#
+[AC_MSG_CHECKING(if docroot is given)
+AC_ARG_WITH([docroot],
+    [AS_HELP_STRING([--with-docroot=DIR],
+        [root directory path of documentation (defaults to none)])],
+[if test "$withval" != no ; then
+  AC_MSG_RESULT(yes)
+  CPPFLAGS="$CPPFLAGS -DDOC_ROOT=\\\"$withval\\\""
+fi], [
+AC_MSG_RESULT(no)
+])
+]
+
+
+# GCC profiling
+[AC_MSG_CHECKING(if gcc profiling is selected)
+AC_ARG_WITH([gccprofile],
+    [AS_HELP_STRING([--with-gccprofile], [selects profiling])],
+[if test "$withval" != no ; then
+  AC_MSG_RESULT(yes)
+  CFLAGS="$CFLAGS -g -pg"
+  LDFLAGS="$LDFLAGS -pg"
+fi], [
+AC_MSG_RESULT(no)
+])
+
+]
+)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/m4/hpdf.m4	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,89 @@
+dnl @synopsis CHECK_HPDF()
+dnl
+dnl This macro searches for an installed libhpdf (libharu) library. If nothing
+dnl was specified when calling configure, it first searches in /usr/local
+dnl and then in /usr. If the --with-hpdf=DIR is specified, it will try
+dnl to find it in DIR/include and DIR/lib.
+dnl
+dnl It defines the symbol PLD_pdf if the library is found.
+dnl
+
+
+AC_DEFUN([CHECK_HPDF],
+#
+# Handle user hints
+#
+[AC_MSG_CHECKING([whether to look for pdf support])
+AC_ARG_WITH([hpdf],
+    [AS_HELP_STRING([--with-hpdf=DIR],
+        [root directory path of hpdf installation @<:@defaults to /usr@:>@])],
+    [if test "$withval" != no ; then
+      AC_MSG_RESULT(yes)
+      ALT_HOME="$withval"
+    else
+      AC_MSG_RESULT([no])
+    fi], [
+    AC_MSG_RESULT([yes])
+    ALT_HOME=/usr
+])
+
+
+#
+# Locate hpdf
+#
+if test -d "${ALT_HOME}"
+then
+
+#
+# Keep a copy if it fails
+#
+	ALT_LDFLAGS="$LDFLAGS"
+	ALT_CPPFLAGS="$CPPFLAGS"
+
+#
+# Set 
+#
+        LDFLAGS="${LDFLAGS} -L${ALT_HOME}/lib"
+        CPPFLAGS="$CPPFLAGS -I$ALT_HOME/include"
+
+#
+# Check for libharu in ALT_HOME
+#
+        AC_CHECK_LIB(hpdf, HPDF_New, CHECK=1, CHECK=0, -L${ALT_HOME}/lib)
+#
+#
+# If everything found okay then proceed to include png driver in config.
+#
+	if test $CHECK = "1" ; then
+	  LIBS="$LIBS -lhpdf"
+
+	  case $host_os in
+	  solaris*)
+		LDFLAGS="$LDFLAGS -R$ALT_HOME/lib"
+		;;
+          esac
+
+	  AC_DEFINE([PLD_pdf], [1], [Define to 1 if PDF support is available])
+	  AM_CONDITIONAL(AMPDF, true)
+	  echo PDF support found
+	    if test $ALT_HOME = "/usr" ; then
+		  LDFLAGS="$ALT_LDFLAGS"
+		  CPPFLAGS="$ALT_CPPFLAGS"
+	    fi
+	else
+#
+# If not okay then reset FLAGS.
+#
+  	  AM_CONDITIONAL(AMPDF, false)
+	  LDFLAGS="$ALT_LDFLAGS"
+	  CPPFLAGS="$ALT_CPPFLAGS"
+	  echo "No pdf support (libhpdf) found."
+	fi
+
+else
+        if test $withval != "no"; then
+		echo "Directory $ALT_HOME does not exist"
+		exit 0
+        fi
+fi
+])
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/m4/java.m4	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,249 @@
+dnl                                            -*- Autoconf -*-
+dnl @synopsis CHECK_JAVA()
+dnl
+dnl Need to specify --with-java and --with-javaos
+dnl @author Alan Bleasby
+dnl
+dnl This macro calls:
+dnl
+dnl   AC_SUBST([JAVA_CFLAGS])
+dnl   AC_SUBST([JAVA_CPPFLAGS])
+dnl   AC_SUBST([JAVA_LDFLAGS])
+dnl
+dnl   AM_CONDITIONAL([JAVA_BUILD], ...)
+dnl
+dnl And sets:
+dnl
+dnl   AC_DEFINE([HAVE_JAVA], ...)
+dnl
+dnl   AC_PATH_PROG([ANT], ...)
+dnl   AC_PATH_PROG([JAR], ...)
+dnl   AC_PATH_PROG([JAVA], ...)
+dnl   AC_PATH_PROG([JAVAC], ...)
+
+AC_DEFUN([CHECK_JAVA],
+[
+  JAVA_CFLAGS=""
+  JAVA_CPPFLAGS=""
+  JAVA_LDFLAGS=""
+
+  have_java="yes"
+  auth_java=""
+
+  AC_MSG_CHECKING([for Java JNI])
+
+  AC_ARG_WITH([java],
+  [AS_HELP_STRING([--with-java@<:@=ARG@:>@],
+  [root directory path of Java installation])],
+  [
+    AC_MSG_RESULT([${withval}])
+    AS_IF([test "x${withval}" = "xno"], [have_java="no"])
+  ],
+  [
+    AC_MSG_RESULT([no])
+    have_java="no"
+  ])
+
+  AS_IF([test "x${have_java}" = "xyes"],
+  [
+    # If specified, the Java JNI include directory has to exist.
+    AS_IF([test -d ${with_java}],
+    [AS_VAR_SET([JAVA_CPPFLAGS], ["-I${withval}"])],
+    [
+      have_java="no"
+      AC_MSG_ERROR([Java include directory ${withval} does not exist])
+    ])
+  ])
+
+  AC_MSG_CHECKING([for Java JNI OS])
+
+  AC_ARG_WITH([javaos],
+  [AS_HELP_STRING([--with-javaos@<:@=ARG@:>@],
+  [root directory path of Java OS include])],
+  [
+    AC_MSG_RESULT([${withval}])
+
+    AS_IF([test "x${withval}" != "xno"],
+    [
+      # If specified, the Java JNI OS include directory has to exist.
+      AS_IF([test "x${have_java}" = "xyes" && test -d ${withval}],
+      [AS_VAR_APPEND([JAVA_CPPFLAGS], [" -I${withval}"])],
+      [
+        have_java="no"
+        AC_MSG_ERROR([Java OS include directory ${withval} does not exist])
+      ])
+    ])
+  ],
+  [
+    AC_MSG_RESULT([no])
+  ])
+
+  # Authorisation type
+
+  AC_MSG_CHECKING([for authorisation type])
+
+  AC_ARG_WITH([auth],
+  [AS_HELP_STRING([--with-auth@<:@=ARG@:>@],
+  [authorisation mechanism for Jemboss server @<:@default=PAM@:>@])],
+  [
+    AS_IF([test "x${withval}" != "xno"],
+    [
+      AC_MSG_RESULT([yes])
+
+      AS_CASE([${withval}],
+      [yes],
+      [
+        auth_java="PAM"
+        AC_CHECK_LIB([pam], [main],
+        [AS_VAR_APPEND([JAVA_LDFLAGS], [" -lpam"])])
+      ],
+      [pam],
+      [
+        auth_java="PAM"
+        AC_CHECK_LIB([pam], [main],
+        [AS_VAR_APPEND([JAVA_LDFLAGS], [" -lpam"])])
+      ],
+      [shadow],
+      [
+        auth_java="N_SHADOW"
+        AC_CHECK_LIB([crypy], [main],
+        [AS_VAR_APPEND([JAVA_LDFLAGS], [" -lcrypt"])])
+      ],
+      [rshadow],
+      [
+        auth_java="R_SHADOW"
+        AC_CHECK_LIB([crypy], [main],
+        [AS_VAR_APPEND([JAVA_LDFLAGS], [" -lcrypt"])])
+      ],
+      [noshadow],
+      [auth_java="NO_SHADOW"],
+      [rnoshadow],
+      [auth_java="RNO_SHADOW"],
+      [aixshadow],
+      [auth_java="AIX_SHADOW"],
+      [hpuxshadow],
+      [auth_java="HPUX_SHADOW"])
+    ],
+    [AC_MSG_RESULT([no])])
+  ],
+  [AC_MSG_RESULT([no])])
+
+  AS_IF([test -n "${auth_java}"],
+  [AS_VAR_APPEND([JAVA_CPPFLAGS], [" -D${auth_java}"])],
+  [AS_VAR_APPEND([JAVA_CPPFLAGS], [" -DNO_AUTH"])])
+
+  # Threading type
+
+  AC_MSG_CHECKING([for threading type])
+
+  AC_ARG_WITH([thread],
+  [AS_HELP_STRING([--with-thread@<:@=ARG@:>@],
+  [thread type @<:@default=linux@:>@])],
+  [
+    AS_IF([test "x${withval}" != "xno"],
+    [
+      AC_MSG_RESULT([yes])
+
+      AS_CASE([${withval}],
+      [yes],
+      [
+        AS_VAR_APPEND([JAVA_CPPFLAGS], [" -D_REENTRANT"])
+        AS_VAR_APPEND([JAVA_LDFLAGS], [" -lpthread"])
+        # AS_VAR_APPEND([LIBS], [" -lpthread"])
+      ],
+      [freebsd],
+      [
+        AS_VAR_APPEND([JAVA_CPPFLAGS], [" -D_THREAD_SAFE"])
+        AS_VAR_APPEND([JAVA_LDFLAGS], [" -pthread"])
+        # AS_VAR_APPEND([LIBS], [" -lc_r"])
+      ],
+      [linux],
+      [
+        AS_VAR_APPEND([JAVA_CPPFLAGS], [" -D_REENTRANT"])
+        AS_VAR_APPEND([JAVA_LDFLAGS], [" -lpthread"])
+        # AS_VAR_APPEND([LIBS], [" -lpthread"])
+      ],
+      [solaris],
+      [
+        AS_VAR_APPEND([JAVA_CPPFLAGS], [" -D_POSIX_C_SOURCE=199506L"])
+        AS_VAR_APPEND([JAVA_LDFLAGS], [" -lpthread"])
+        # AS_VAR_APPEND([LIBS], [" -lpthread"])
+      ],
+      [macos],
+      [
+        # AS_VAR_APPEND([JAVA_CPPFLAGS], [""])
+        # AS_VAR_APPEND([JAVA_LDFLAGS], [" -lpthread"])
+        # AS_VAR_APPEND([LIBS], [" -lpthread"])
+      ],
+      [hpux],
+      [
+        AS_VAR_APPEND([JAVA_CFLAGS], [" -Ae +z"])
+        AS_VAR_APPEND([JAVA CPPFLAGS], [" -DNATIVE -D_POSIX_C_SOURCE=199506L"])
+        AS_VAR_APPEND([JAVA_LDFLAGS], [" -lpthread"])
+        # AS_VAR_APPEND([LIBS], [" -lpthread"])
+      ],
+      [irix],
+      [
+        # AS_VAR_APPEND([JAVA_CFLAGS], [""])
+        AS_VAR_APPEND([JAVA_LDFLAGS], [" -lpthread"])
+        AS_VAR_APPEND([LIBS], [" -lpthread"])
+      ],
+      [aix],
+      [
+        AS_VAR_APPEND([JAVA_CPPFLAGS], [" -D_REENTRANT"])
+        AS_VAR_APPEND([JAVA_LDFLAGS], [" -lpthread"])
+        AS_VAR_APPEND([LIBS], [" -lpthread"])
+      ],
+      [osf],
+      [
+        AS_VAR_APPEND([JAVA_CPPFLAGS], [" -D_REENTRANT -D_OSF_SOURCE"])
+        AS_VAR_APPEND([JAVA_LDFLAGS], [" -lpthread"])
+        AS_VAR_APPEND([LIBS], [" -lpthread"])
+      ])
+    ],
+    [AC_MSG_RESULT([no])])
+  ],
+  [AC_MSG_RESULT([no])])
+
+  # Test for programs ant, jar, java and javac.
+
+  AS_IF([test "x${have_java}" = "xyes"],
+  [
+    AC_PATH_PROG([ANT], [ant], [no])
+    AS_IF([test "x${ANT}" = "xno"], [have_java="no"])
+
+    AC_PATH_PROG([JAR], [jar], [no])
+    AS_IF([test "x${JAR}" = "xno"], [have_java="no"])
+
+    AC_PATH_PROG([JAVA], [java], [no])
+    AS_IF([test "x${JAVA}" = "xno"], [have_java="no"])
+
+    AC_PATH_PROG([JAVAC], [javac], [no])
+    AS_IF([test "x${JAVAC}" = "xno"], [have_java="no"])
+  ])
+
+  AS_IF([test "x${have_java}" = "xyes"],
+  [
+    AC_DEFINE([HAVE_JAVA], [1],
+    [Define to 1 if the Java Native Interface (JNI) is available.])
+
+    ### FIXME: Append -DDEBIAN for the moment.
+    # Debian uses PAM service "ssh" instead of "login", see ajjava.c
+    # This could use AC_DEFINE() if no better option was avialable.
+    # Ultimately, this should be configurable via server configuration
+    # files.
+    AS_IF([test -f "/etc/debian_release" || test -f /etc/debian_version],
+    [AS_VAR_APPEND([JAVA_CPPFLAGS], [" -DDEBIAN"])])
+  ])
+
+  AC_ARG_VAR([ANT], [Path to the Apache Ant make tool])
+  AC_ARG_VAR([JAR], [Path to the Java archive tool])
+  AC_ARG_VAR([JAVA], [Path to the Java application launcher])
+  AC_ARG_VAR([JAVAC], [Path to the Java compiler])
+
+  AC_SUBST([JAVA_CFLAGS])
+  AC_SUBST([JAVA_CPPFLAGS])
+  AC_SUBST([JAVA_LDFLAGS])
+
+  AM_CONDITIONAL([JAVA_BUILD], [test "x${have_java}" = "xyes"])
+])
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/m4/lf_x11.m4	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,78 @@
+dnl Copyright (C) 1988 Eleftherios Gkioulekas <lf@amath.washington.edu>
+dnl  
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2 of the License, or
+dnl (at your option) any later version.
+dnl 
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+dnl GNU General Public License for more details.
+dnl 
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software 
+dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+dnl 
+dnl As a special exception to the GNU General Public License, if you 
+dnl distribute this file as part of a program that contains a configuration 
+dnl script generated by Autoconf, you may include it under the same 
+dnl distribution terms that you use for the rest of that program.
+
+ 
+#-----------------------------------------------------------------------
+# This macro searches for Xlib and when it finds it it adds the 
+# appropriate flags to CFLAGS and export the link sequence to 
+# the variable XLIB. 
+# In your configure.in file add:
+#   LF_PATH_XLIB
+# In your Makefile.am add
+#   program_LDADD = .... $(XLIB)
+#------------------------------------------------------------------------
+#
+# Just added EMBOSS into LF_PATH_XLIB so that on the systems where
+# LF_PATH_XLIB exists there are no duplication errors.
+
+
+AC_DEFUN([LF_EMBOSS_PATH_XLIB],[
+  CFLAGS="$CFLAGS $X_CFLAGS"
+
+case $host_os in
+irix*)
+    XLIB="-lX11 $X_EXTRA_LIBS"
+    ;;
+*)
+    XLIB="$X_LIBS -lX11 $X_EXTRA_LIBS"
+    ;;
+esac
+
+  AC_SUBST([XLIB])
+
+AC_CHECK_HEADER(X11/Xlib.h,
+[
+	AC_DEFINE([PLD_xwin], [1], [Define to 1 if X11 support is available])
+],
+[
+	echo ""
+	echo "X11 graphics have been selected but no X11 header files"
+        echo "have been found."
+        echo ""
+        echo "This error usually happens on Linux/MacOSX distributions"
+	echo "where the optional X11 development files have not been installed."
+        echo "On Linux RPM systems this package is usually called something"
+        echo "like xorg-x11-proto-devel whereas on Debian/Ubuntu it may"
+        echo "be called x-dev. On MacOSX installation DVDs the X11 files"
+        echo "can usually be found as an explicitly named optional"
+        echo "installation."
+        echo ""
+        echo "After installing the X11 development files you should do a"
+        echo "'make clean' and perform the configure stage again."
+        echo ""
+        echo "Alternatively, to install EMBOSS without X11 support, you can add"
+        echo "the --without-x switch to the configure command."
+	echo ""
+        exit $?
+])
+
+])
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/m4/libtool.m4	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,8364 @@
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+#   Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+# This file 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.
+
+m4_define([_LT_COPYING], [dnl
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the  same
+# distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+])
+
+# serial 58 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+       [m4_default([$3],
+		   [m4_fatal([Libtool version $1 or higher is required],
+		             63)])],
+       [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+  *\ * | *\	*)
+    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
+AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS=$ltmain
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_PREPARE_CC_BASENAME
+# -----------------------
+m4_defun([_LT_PREPARE_CC_BASENAME], [
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in @S|@*""; do
+      case $cc_temp in
+        compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+        distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+])# _LT_PREPARE_CC_BASENAME
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
+# but that macro is also expanded into generated libtool script, which
+# arranges for $SED and $ECHO to be set by different means.
+m4_defun([_LT_CC_BASENAME],
+[m4_require([_LT_PREPARE_CC_BASENAME])dnl
+AC_REQUIRE([_LT_DECL_SED])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+func_cc_basename $1
+cc_basename=$func_cc_basename_result
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+
+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
+dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_WITH_SYSROOT])dnl
+m4_require([_LT_CMD_TRUNCATE])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options that allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}"; then
+   setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}"; then
+   setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test set != "${COLLECT_NAMES+set}"; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a '.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+old_CC=$CC
+old_CFLAGS=$CFLAGS
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    _LT_PATH_MAGIC
+  fi
+  ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PREPARE_SED_QUOTE_VARS
+# --------------------------
+# Define a few sed substitution that help us do robust quoting.
+m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
+[# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+])
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from 'configure', and 'config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
+# 'config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain=$ac_aux_dir/ltmain.sh
+])# _LT_PROG_LTMAIN
+
+
+## ------------------------------------- ##
+## Accumulate code for creating libtool. ##
+## ------------------------------------- ##
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the 'libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+                     [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+                     [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+## ------------------------ ##
+## FIXME: Eliminate VARNAME ##
+## ------------------------ ##
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME.  Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+	[m4_ifval([$1], [$1], [$2])])
+    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+    m4_ifval([$4],
+	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+    lt_dict_add_subkey([lt_decl_dict], [$2],
+	[tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+  [0], [m4_fatal([$0: too few arguments: $#])],
+  [1], [m4_fatal([$0: too few arguments: $#: $1])],
+  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+     m4_if([$2], [],
+	   m4_quote(lt_decl_varnames),
+	m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to 'config.status' so that its
+# declaration there will have the same value as in 'configure'.  VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly.  In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags='_LT_TAGS'dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+#    # Some comment about what VAR is for.
+#    visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+					   [description])))[]dnl
+m4_pushdef([_libtool_name],
+    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+    [0], [_libtool_name=[$]$1],
+    [1], [_libtool_name=$lt_[]$1],
+    [2], [_libtool_name=$lt_[]$1],
+    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
+# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into 'config.status', and then the shell code to quote escape them in
+# for loops in 'config.status'.  Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+	dnl If the libtool generation code has been placed in $CONFIG_LT,
+	dnl instead of duplicating it all over again into config.status,
+	dnl then we will have config.status run $CONFIG_LT later, so it
+	dnl needs to know what name is stored there:
+        [AC_CONFIG_COMMANDS([libtool],
+            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+    dnl If the libtool generation code is destined for config.status,
+    dnl expand the accumulated commands and init code now:
+    [AC_CONFIG_COMMANDS([libtool],
+        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+\$[]1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
+# ------------------------------------
+# Generate a child script FILE with all initialization necessary to
+# reuse the environment learned by the parent script, and make the
+# file executable.  If COMMENT is supplied, it is inserted after the
+# '#!' sequence but before initialization text begins.  After this
+# macro, additional text can be appended to FILE to form the body of
+# the child script.  The macro ends with non-zero status if the
+# file could not be fully written (such as if the disk is full).
+m4_ifdef([AS_INIT_GENERATED],
+[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
+[m4_defun([_LT_GENERATED_FILE_INIT],
+[m4_require([AS_PREPARE])]dnl
+[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
+[lt_write_fail=0
+cat >$1 <<_ASEOF || lt_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+$2
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$1 <<\_ASEOF || lt_write_fail=1
+AS_SHELL_SANITIZE
+_AS_PREPARE
+exec AS_MESSAGE_FD>&1
+_ASEOF
+test 0 = "$lt_write_fail" && chmod +x $1[]dnl
+m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
+[# Run this file to recreate a libtool stub with the current configuration.])
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+lt_cl_silent=false
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+  echo
+  AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+'$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+  -h, --help      print this help, then exit
+  -V, --version   print version number, then exit
+  -q, --quiet     do not print progress messages
+  -d, --debug     don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2011 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test 0 != $[#]
+do
+  case $[1] in
+    --version | --v* | -V )
+      echo "$lt_cl_version"; exit 0 ;;
+    --help | --h* | -h )
+      echo "$lt_cl_help"; exit 0 ;;
+    --debug | --d* | -d )
+      debug=: ;;
+    --quiet | --q* | --silent | --s* | -q )
+      lt_cl_silent=: ;;
+
+    -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try '$[0] --help' for more information.]) ;;
+
+    *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try '$[0] --help' for more information.]) ;;
+  esac
+  shift
+done
+
+if $lt_cl_silent; then
+  exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure.  Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+lt_cl_success=:
+test yes = "$silent" &&
+  lt_config_lt_args="$lt_config_lt_args --quiet"
+exec AS_MESSAGE_LOG_FD>/dev/null
+$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+exec AS_MESSAGE_LOG_FD>>config.log
+$lt_cl_success || AS_EXIT(1)
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars.  Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+  m4_if(_LT_TAG, [C], [
+    # See if we are running on zsh, and set the options that allow our
+    # commands through without removal of \ escapes.
+    if test -n "${ZSH_VERSION+set}"; then
+      setopt NO_GLOB_SUBST
+    fi
+
+    cfgfile=${ofile}T
+    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+    $RM "$cfgfile"
+
+    cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+# Generated automatically by $as_me ($PACKAGE) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$LT_SYS_LIBRARY_PATH"}
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+    cat <<'_LT_EOF' >> "$cfgfile"
+## -------------------------------------- ##
+## Shell functions shared with configure. ##
+## -------------------------------------- ##
+
+_LT_PREPARE_MUNGE_PATH_LIST
+_LT_PREPARE_CC_BASENAME
+
+_LT_EOF
+
+  case $host_os in
+  aix3*)
+    cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test set != "${COLLECT_NAMES+set}"; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+_LT_EOF
+    ;;
+  esac
+
+  _LT_PROG_LTMAIN
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '$q' "$ltmain" >> "$cfgfile" \
+     || (rm -f "$cfgfile"; exit 1)
+
+   mv -f "$cfgfile" "$ofile" ||
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+    PACKAGE='$PACKAGE'
+    VERSION='$VERSION'
+    RM='$RM'
+    ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+  [C],			[_LT_LANG(C)],
+  [C++],		[_LT_LANG(CXX)],
+  [Go],			[_LT_LANG(GO)],
+  [Java],		[_LT_LANG(GCJ)],
+  [Fortran 77],		[_LT_LANG(F77)],
+  [Fortran],		[_LT_LANG(FC)],
+  [Windows Resource],	[_LT_LANG(RC)],
+  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+    [_LT_LANG($1)],
+    [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+  [LT_SUPPORTED_TAG([$1])dnl
+  m4_append([_LT_TAGS], [$1 ])dnl
+  m4_define([_LT_LANG_]$1[_enabled], [])dnl
+  _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+m4_ifndef([AC_PROG_GO], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+############################################################
+m4_defun([AC_PROG_GO],
+[AC_LANG_PUSH(Go)dnl
+AC_ARG_VAR([GOC],     [Go compiler command])dnl
+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+AC_CHECK_TOOL(GOC, gccgo)
+if test -z "$GOC"; then
+  if test -n "$ac_tool_prefix"; then
+    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
+  fi
+fi
+if test -z "$GOC"; then
+  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
+fi
+])#m4_defun
+])#m4_ifndef
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+  [LT_LANG(CXX)],
+  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+  [LT_LANG(F77)],
+  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+  [LT_LANG(FC)],
+  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+  [LT_LANG(GCJ)],
+  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+    [LT_LANG(GCJ)],
+    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+      [LT_LANG(GCJ)],
+      [m4_ifdef([AC_PROG_GCJ],
+	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+       m4_ifdef([A][M_PROG_GCJ],
+	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+       m4_ifdef([LT_PROG_GCJ],
+	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([AC_PROG_GO],
+  [LT_LANG(GO)],
+  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+  [LT_LANG(RC)],
+  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+dnl AC_DEFUN([AC_LIBTOOL_RC], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+  case $host_os in
+    rhapsody* | darwin*)
+    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+    AC_CHECK_TOOL([LIPO], [lipo], [:])
+    AC_CHECK_TOOL([OTOOL], [otool], [:])
+    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+    _LT_DECL([], [DSYMUTIL], [1],
+      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+    _LT_DECL([], [NMEDIT], [1],
+      [Tool to change global to local symbols on Mac OS X])
+    _LT_DECL([], [LIPO], [1],
+      [Tool to manipulate fat objects and archives on Mac OS X])
+    _LT_DECL([], [OTOOL], [1],
+      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+    _LT_DECL([], [OTOOL64], [1],
+      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+      [lt_cv_apple_cc_single_mod=no
+      if test -z "$LT_MULTI_MODULE"; then
+	# By default we will add the -single_module flag. You can override
+	# by either setting the environment variable LT_MULTI_MODULE
+	# non-empty at configure time, or by adding -multi_module to the
+	# link flags.
+	rm -rf libconftest.dylib*
+	echo "int foo(void){return 1;}" > conftest.c
+	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+        _lt_result=$?
+	# If there is a non-empty error log, and "single_module"
+	# appears in it, assume the flag caused a linker warning
+        if test -s conftest.err && $GREP single_module conftest.err; then
+	  cat conftest.err >&AS_MESSAGE_LOG_FD
+	# Otherwise, if the output was created with a 0 exit code from
+	# the compiler, it worked.
+	elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
+	  lt_cv_apple_cc_single_mod=yes
+	else
+	  cat conftest.err >&AS_MESSAGE_LOG_FD
+	fi
+	rm -rf libconftest.dylib*
+	rm -f conftest.*
+      fi])
+
+    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+      [lt_cv_ld_exported_symbols_list],
+      [lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+	[lt_cv_ld_exported_symbols_list=yes],
+	[lt_cv_ld_exported_symbols_list=no])
+	LDFLAGS=$save_LDFLAGS
+    ])
+
+    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
+      [lt_cv_ld_force_load=no
+      cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
+      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
+      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+      cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
+      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+      _lt_result=$?
+      if test -s conftest.err && $GREP force_load conftest.err; then
+	cat conftest.err >&AS_MESSAGE_LOG_FD
+      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
+	lt_cv_ld_force_load=yes
+      else
+	cat conftest.err >&AS_MESSAGE_LOG_FD
+      fi
+        rm -f conftest.err libconftest.a conftest conftest.c
+        rm -rf conftest.dSYM
+    ])
+    case $host_os in
+    rhapsody* | darwin1.[[012]])
+      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
+    darwin1.*)
+      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+    darwin*) # darwin 5.x on
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+	10.[[012]][[,.]]*)
+	  _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+	10.*)
+	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test yes = "$lt_cv_apple_cc_single_mod"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test yes = "$lt_cv_ld_exported_symbols_list"; then
+      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
+    else
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
+    fi
+    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
+      _lt_dsymutil='~$DSYMUTIL $lib || :'
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES([TAG])
+# ---------------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+  _LT_TAGVAR(hardcode_direct, $1)=no
+  _LT_TAGVAR(hardcode_automatic, $1)=yes
+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  if test yes = "$lt_cv_ld_force_load"; then
+    _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
+                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
+  else
+    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+  fi
+  _LT_TAGVAR(link_all_deplibs, $1)=yes
+  _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
+  case $cc_basename in
+     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
+     *) _lt_dar_can_shared=$GCC ;;
+  esac
+  if test yes = "$_lt_dar_can_shared"; then
+    output_verbose_link_cmd=func_echo_all
+    _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+    _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+    _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
+    m4_if([$1], [CXX],
+[   if test yes != "$lt_cv_apple_cc_single_mod"; then
+      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
+      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
+    fi
+],[])
+  else
+  _LT_TAGVAR(ld_shlibs, $1)=no
+  fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
+# ----------------------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+# Store the results from the different compilers for each TAGNAME.
+# Allow to override them for all tags through lt_cv_aix_libpath.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+if test set = "${lt_cv_aix_libpath+set}"; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
+  [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
+  lt_aix_libpath_sed='[
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }]'
+  _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi],[])
+  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
+  fi
+  ])
+  aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
+fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[m4_divert_text([M4SH-INIT], [$1
+])])# _LT_SHELL_INIT
+
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Find how we can fake an echo command that does not interpret backslash.
+# In particular, with Autoconf 2.60 or later we add some code to the start
+# of the generated configure script that will find a shell with a builtin
+# printf (that we can use as an echo command).
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+AC_MSG_CHECKING([how to print strings])
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='printf %s\n'
+else
+  # Use this function as a fallback that always works.
+  func_fallback_echo ()
+  {
+    eval 'cat <<_LTECHO_EOF
+$[]1
+_LTECHO_EOF'
+  }
+  ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO "$*"
+}
+
+case $ECHO in
+  printf*) AC_MSG_RESULT([printf]) ;;
+  print*) AC_MSG_RESULT([print -r]) ;;
+  *) AC_MSG_RESULT([cat]) ;;
+esac
+
+m4_ifdef([_AS_DETECT_SUGGESTED],
+[_AS_DETECT_SUGGESTED([
+  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
+    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+    PATH=/empty FPATH=/empty; export PATH FPATH
+    test "X`printf %s $ECHO`" = "X$ECHO" \
+      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
+
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_WITH_SYSROOT
+# ----------------
+AC_DEFUN([_LT_WITH_SYSROOT],
+[AC_MSG_CHECKING([for sysroot])
+AC_ARG_WITH([sysroot],
+[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
+  [Search for dependent libraries within DIR (or the compiler's sysroot
+   if not specified).])],
+[], [with_sysroot=no])
+
+dnl lt_sysroot will always be passed unquoted.  We quote it here
+dnl in case the user passed a directory name.
+lt_sysroot=
+case $with_sysroot in #(
+ yes)
+   if test yes = "$GCC"; then
+     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+   fi
+   ;; #(
+ /*)
+   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+   ;; #(
+ no|'')
+   ;; #(
+ *)
+   AC_MSG_RESULT([$with_sysroot])
+   AC_MSG_ERROR([The sysroot must be an absolute path.])
+   ;;
+esac
+
+ AC_MSG_RESULT([${lt_sysroot:-no}])
+_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
+[dependent libraries, and where our libraries should be installed.])])
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+  [AS_HELP_STRING([--disable-libtool-lock],
+    [avoid locking (might break parallel builds)])])
+test no = "$enable_libtool_lock" || enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out what ABI is being produced by ac_compile, and set mode
+  # options accordingly.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.$ac_objext` in
+      *ELF-32*)
+	HPUX_IA64_MODE=32
+	;;
+      *ELF-64*)
+	HPUX_IA64_MODE=64
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    if test yes = "$lt_cv_prog_gnu_ld"; then
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -melf32bsmip"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -melf32bmipn32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -melf64bmip"
+	;;
+      esac
+    else
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -32"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -n32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -64"
+	  ;;
+      esac
+    fi
+  fi
+  rm -rf conftest*
+  ;;
+
+mips64*-*linux*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    emul=elf
+    case `/usr/bin/file conftest.$ac_objext` in
+      *32-bit*)
+	emul="${emul}32"
+	;;
+      *64-bit*)
+	emul="${emul}64"
+	;;
+    esac
+    case `/usr/bin/file conftest.$ac_objext` in
+      *MSB*)
+	emul="${emul}btsmip"
+	;;
+      *LSB*)
+	emul="${emul}ltsmip"
+	;;
+    esac
+    case `/usr/bin/file conftest.$ac_objext` in
+      *N32*)
+	emul="${emul}n32"
+	;;
+    esac
+    LD="${LD-ld} -m $emul"
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.  Note that the listed cases only cover the
+  # situations where additional linker options are needed (such as when
+  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+  # vice versa); the common cases where no linker options are needed do
+  # not appear in the list.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+      *32-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_i386_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    case `/usr/bin/file conftest.o` in
+	      *x86-64*)
+		LD="${LD-ld} -m elf32_x86_64"
+		;;
+	      *)
+		LD="${LD-ld} -m elf_i386"
+		;;
+	    esac
+	    ;;
+	  powerpc64le-*linux*)
+	    LD="${LD-ld} -m elf32lppclinux"
+	    ;;
+	  powerpc64-*linux*)
+	    LD="${LD-ld} -m elf32ppclinux"
+	    ;;
+	  s390x-*linux*)
+	    LD="${LD-ld} -m elf_s390"
+	    ;;
+	  sparc64-*linux*)
+	    LD="${LD-ld} -m elf32_sparc"
+	    ;;
+	esac
+	;;
+      *64-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_x86_64_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_x86_64"
+	    ;;
+	  powerpcle-*linux*)
+	    LD="${LD-ld} -m elf64lppc"
+	    ;;
+	  powerpc-*linux*)
+	    LD="${LD-ld} -m elf64ppc"
+	    ;;
+	  s390*-*linux*|s390*-*tpf*)
+	    LD="${LD-ld} -m elf64_s390"
+	    ;;
+	  sparc*-*linux*)
+	    LD="${LD-ld} -m elf64_sparc"
+	    ;;
+	esac
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS=$CFLAGS
+  CFLAGS="$CFLAGS -belf"
+  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+    [AC_LANG_PUSH(C)
+     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+     AC_LANG_POP])
+  if test yes != "$lt_cv_cc_needs_belf"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS=$SAVE_CFLAGS
+  fi
+  ;;
+*-*solaris*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*)
+        case $host in
+        i?86-*-solaris*|x86_64-*-solaris*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        sparc*-*-solaris*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+        esac
+        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
+        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+          LD=${LD-ld}_sol2
+        fi
+        ;;
+      *)
+	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+	  LD="${LD-ld} -64"
+	fi
+	;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+esac
+
+need_locks=$enable_libtool_lock
+])# _LT_ENABLE_LOCK
+
+
+# _LT_PROG_AR
+# -----------
+m4_defun([_LT_PROG_AR],
+[AC_CHECK_TOOLS(AR, [ar], false)
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
+
+AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
+  [lt_cv_ar_at_file=no
+   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
+     [echo conftest.$ac_objext > conftest.lst
+      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
+      AC_TRY_EVAL([lt_ar_try])
+      if test 0 -eq "$ac_status"; then
+	# Ensure the archiver fails upon bogus file names.
+	rm -f conftest.$ac_objext libconftest.a
+	AC_TRY_EVAL([lt_ar_try])
+	if test 0 -ne "$ac_status"; then
+          lt_cv_ar_at_file=@
+        fi
+      fi
+      rm -f conftest.* libconftest.a
+     ])
+  ])
+
+if test no = "$lt_cv_ar_at_file"; then
+  archiver_list_spec=
+else
+  archiver_list_spec=$lt_cv_ar_at_file
+fi
+_LT_DECL([], [archiver_list_spec], [1],
+  [How to feed a file listing to the archiver])
+])# _LT_PROG_AR
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[_LT_PROG_AR
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+    [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  bitrig* | openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
+
+case $host_os in
+  darwin*)
+    lock_old_archive_extraction=yes ;;
+  *)
+    lock_old_archive_extraction=no ;;
+esac
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+    [Commands used to build an old-style archive])
+_LT_DECL([], [lock_old_archive_extraction], [0],
+    [Whether to use a lock for old archive extraction])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$3"  ## exclude from sc_useless_quotes_in_assignment
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       $2=yes
+     fi
+   fi
+   $RM conftest*
+])
+
+if test yes = "[$]$2"; then
+    m4_if([$5], , :, [$5])
+else
+    m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#                  [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   save_LDFLAGS=$LDFLAGS
+   LDFLAGS="$LDFLAGS $3"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&AS_MESSAGE_LOG_FD
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         $2=yes
+       fi
+     else
+       $2=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS=$save_LDFLAGS
+])
+
+if test yes = "[$]$2"; then
+    m4_if([$4], , :, [$4])
+else
+    m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+  i=0
+  teststring=ABCD
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw* | cegcc*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  mint*)
+    # On MiNT this can take a long time and run out of memory.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  os2*)
+    # The test takes a long time on OS/2.
+    lt_cv_sys_max_cmd_len=8192
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len" && \
+       test undefined != "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
+	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+	      test 17 != "$i" # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
+])
+if test -n "$lt_cv_sys_max_cmd_len"; then
+  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+  AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+    [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test yes = "$cross_compiling"; then :
+  [$4]
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+[#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+/* When -fvisibility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}]
+_LT_EOF
+  if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
+    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) $1 ;;
+      x$lt_dlneed_uscore) $2 ;;
+      x$lt_dlunknown|x*) $3 ;;
+    esac
+  else :
+    # compilation failed
+    $3
+  fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test yes != "$enable_dlopen"; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen=load_add_on
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32* | cegcc*)
+    lt_cv_dlopen=LoadLibrary
+    lt_cv_dlopen_libs=
+    ;;
+
+  cygwin*)
+    lt_cv_dlopen=dlopen
+    lt_cv_dlopen_libs=
+    ;;
+
+  darwin*)
+    # if libdl is installed we need to link against it
+    AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
+    lt_cv_dlopen=dyld
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ])
+    ;;
+
+  tpf*)
+    # Don't try to run any link tests for TPF.  We know it's impossible
+    # because TPF is a cross-compiler, and we know how we open DSOs.
+    lt_cv_dlopen=dlopen
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=no
+    ;;
+
+  *)
+    AC_CHECK_FUNC([shl_load],
+	  [lt_cv_dlopen=shl_load],
+      [AC_CHECK_LIB([dld], [shl_load],
+	    [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
+	[AC_CHECK_FUNC([dlopen],
+	      [lt_cv_dlopen=dlopen],
+	  [AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
+	    [AC_CHECK_LIB([svld], [dlopen],
+		  [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
+	      [AC_CHECK_LIB([dld], [dld_link],
+		    [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
+	      ])
+	    ])
+	  ])
+	])
+      ])
+    ;;
+  esac
+
+  if test no = "$lt_cv_dlopen"; then
+    enable_dlopen=no
+  else
+    enable_dlopen=yes
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS=$CPPFLAGS
+    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS=$LDFLAGS
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS=$LIBS
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    AC_CACHE_CHECK([whether a program can dlopen itself],
+	  lt_cv_dlopen_self, [dnl
+	  _LT_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+    ])
+
+    if test yes = "$lt_cv_dlopen_self"; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+	  lt_cv_dlopen_self_static, [dnl
+	  _LT_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
+      ])
+    fi
+
+    CPPFLAGS=$save_CPPFLAGS
+    LDFLAGS=$save_LDFLAGS
+    LIBS=$save_LIBS
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+	 [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+	 [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+	 [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+     fi
+   fi
+   chmod u+w . 2>&AS_MESSAGE_LOG_FD
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+	[Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links=nottested
+if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
+  # do not overwrite the value of need_locks provided by the user
+  AC_MSG_CHECKING([if we can lock with hard links])
+  hard_links=yes
+  $RM conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  AC_MSG_RESULT([$hard_links])
+  if test no = "$hard_links"; then
+    AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+         [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
+  [Define to the sub-directory where libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+   test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
+
+  # We can hardcode non-existent directories.
+  if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
+     test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
+    # Linking always hardcodes the temporary library directory.
+    _LT_TAGVAR(hardcode_action, $1)=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    _LT_TAGVAR(hardcode_action, $1)=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
+   test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test yes = "$shlibpath_overrides_runpath" ||
+     test no = "$enable_shared"; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+    [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+  darwin*)
+    if test -n "$STRIP"; then
+      striplib="$STRIP -x"
+      old_striplib="$STRIP -S"
+      AC_MSG_RESULT([yes])
+    else
+      AC_MSG_RESULT([no])
+    fi
+    ;;
+  *)
+    AC_MSG_RESULT([no])
+    ;;
+  esac
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_PREPARE_MUNGE_PATH_LIST
+# ---------------------------
+# Make sure func_munge_path_list() is defined correctly.
+m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
+[[# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x@S|@2 in
+    x)
+        ;;
+    *:)
+        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \$@S|@1\"
+        ;;
+    x:*)
+        eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
+        ;;
+    *)
+        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+]])# _LT_PREPARE_PATH_LIST
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+	[], [
+if test yes = "$GCC"; then
+  case $host_os in
+    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+    *) lt_awk_arg='/^libraries:/' ;;
+  esac
+  case $host_os in
+    mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
+    *) lt_sed_strip_eq='s|=/|/|g' ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+  case $lt_search_path_spec in
+  *\;*)
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+    ;;
+  *)
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+    ;;
+  esac
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary...
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  # ...but if some path component already ends with the multilib dir we assume
+  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+  case "$lt_multi_os_dir; $lt_search_path_spec " in
+  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+    lt_multi_os_dir=
+    ;;
+  esac
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+    elif test -n "$lt_multi_os_dir"; then
+      test -d "$lt_sys_path" && \
+	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS = " "; FS = "/|\n";} {
+  lt_foo = "";
+  lt_count = 0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo = "/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+  # AWK program above erroneously prepends '/' to C:/dos/paths
+  # for these hosts.
+  case $host_os in
+    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+      $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
+  esac
+  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=.so
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
+[User-defined run-time library search path.])
+
+case $host_os in
+aix3*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='$libname$release$shared_ext$major'
+  ;;
+
+aix[[4-9]]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test ia64 = "$host_cpu"; then
+    # AIX 5 supports IA64
+    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line '#! .'.  This would cause the generated library to
+    # depend on '.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[[01]] | aix4.[[01]].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # Using Import Files as archive members, it is possible to support
+    # filename-based versioning of shared library archives on AIX. While
+    # this would work for both with and without runtime linking, it will
+    # prevent static linking of such archives. So we do filename-based
+    # shared library versioning with .so extension only, which is used
+    # when both runtime linking and shared linking is enabled.
+    # Unfortunately, runtime linking may impact performance, so we do
+    # not want this to be the default eventually. Also, we use the
+    # versioned .so libs for executables only if there is the -brtl
+    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+    # To allow for filename-based versioning support, we need to create
+    # libNAME.so.V as an archive file, containing:
+    # *) an Import File, referring to the versioned filename of the
+    #    archive as well as the shared archive member, telling the
+    #    bitwidth (32 or 64) of that shared object, and providing the
+    #    list of exported symbols of that shared object, eventually
+    #    decorated with the 'weak' keyword
+    # *) the shared object with the F_LOADONLY flag set, to really avoid
+    #    it being seen by the linker.
+    # At run time we better use the real file rather than another symlink,
+    # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+    case $with_aix_soname,$aix_use_runtimelinking in
+    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    aix,yes) # traditional libtool
+      dynamic_linker='AIX unversionable lib.so'
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      ;;
+    aix,no) # traditional AIX only
+      dynamic_linker='AIX lib.a[(]lib.so.V[)]'
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      ;;
+    svr4,*) # full svr4 only
+      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,yes) # both, prefer svr4
+      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # unpreferred sharedlib libNAME.a needs extra handling
+      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,no) # both, prefer aix
+      dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+      ;;
+    esac
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
+  ;;
+
+beos*)
+  library_names_spec='$libname$shared_ext'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[[45]]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+  version_type=windows
+  shrext_cmds=.dll
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$cc_basename in
+  yes,*)
+    # gcc
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+m4_if([$1], [],[
+      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+      ;;
+    esac
+    dynamic_linker='Win32 ld.exe'
+    ;;
+
+  *,cl*)
+    # Native MSVC
+    libname_spec='$name'
+    soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+    library_names_spec='$libname.dll.lib'
+
+    case $build_os in
+    mingw*)
+      sys_lib_search_path_spec=
+      lt_save_ifs=$IFS
+      IFS=';'
+      for lt_path in $LIB
+      do
+        IFS=$lt_save_ifs
+        # Let DOS variable expansion print the short 8.3 style file name.
+        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+      done
+      IFS=$lt_save_ifs
+      # Convert to MSYS style.
+      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
+      ;;
+    cygwin*)
+      # Convert to unix form, then to dos form, then back to unix form
+      # but this time dos style (no spaces!) so that the unix form looks
+      # like /cygdrive/c/PROGRA~1:/cygdr...
+      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      ;;
+    *)
+      sys_lib_search_path_spec=$LIB
+      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+        # It is most probably a Windows format PATH.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      # FIXME: find the short name or the path components, as spaces are
+      # common. (e.g. "Program Files" -> "PROGRA~1")
+      ;;
+    esac
+
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+    dynamic_linker='Win32 link.exe'
+    ;;
+
+  *)
+    # Assume MSVC wrapper
+    library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
+    dynamic_linker='Win32 ld.exe'
+    ;;
+  esac
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$major$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[[23]].*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      soname_spec='$libname$release$shared_ext$major'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2.*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+haiku*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    if test 32 = "$HPUX_IA64_MODE"; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
+    fi
+    ;;
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+  postinstall_cmds='chmod 555 $lib'
+  # or fails outright, so override atomically:
+  install_override_mode=555
+  ;;
+
+interix[[3-9]]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test yes = "$lt_cv_prog_gnu_ld"; then
+		version_type=linux # correct to gnu/linux during the next big refactor
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+linux*android*)
+  version_type=none # Android doesn't support versioned libraries.
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext'
+  soname_spec='$libname$release$shared_ext'
+  finish_cmds=
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  dynamic_linker='Android linker'
+  # Don't embed -rpath directories since the linker doesn't support them.
+  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+  ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+
+  # Some binutils ld are patched to set DT_RUNPATH
+  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
+    [lt_cv_shlibpath_overrides_runpath=no
+    save_LDFLAGS=$LDFLAGS
+    save_libdir=$libdir
+    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+	 [lt_cv_shlibpath_overrides_runpath=yes])])
+    LDFLAGS=$save_LDFLAGS
+    libdir=$save_libdir
+    ])
+  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Ideally, we could use ldconfig to report *all* directores which are
+  # searched for libraries, however this is still not possible.  Aside from not
+  # being certain /sbin/ldconfig is available, command
+  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+  # even though it is searched at run-time.  Try to do the best guess by
+  # appending ld.so.conf contents (and includes) to the search path.
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+*nto* | *qnx*)
+  version_type=qnx
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
+  ;;
+
+openbsd* | bitrig*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec=/usr/lib
+  need_lib_prefix=no
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+    need_version=no
+  else
+    need_version=yes
+  fi
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+os2*)
+  libname_spec='$name'
+  version_type=windows
+  shrext_cmds=.dll
+  need_version=no
+  need_lib_prefix=no
+  # OS/2 can only load a DLL with a base name of 8 characters or less.
+  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+    v=$($ECHO $release$versuffix | tr -d .-);
+    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+    $ECHO $n$v`$shared_ext'
+  library_names_spec='${libname}_dll.$libext'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=BEGINLIBPATH
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  postinstall_cmds='base_file=`basename \$file`~
+    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+    dldir=$destdir/`dirname \$dlpath`~
+    test -d \$dldir || mkdir -p \$dldir~
+    $install_prog $dir/$dlname \$dldir/$dlname~
+    chmod a+x \$dldir/$dlname~
+    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+    fi'
+  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+    dlpath=$dir/\$dldll~
+    $RM \$dlpath'
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  ;;
+
+rdos*)
+  dynamic_linker=no
+  ;;
+
+solaris*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test yes = "$with_gnu_ld"; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec; then
+    version_type=linux # correct to gnu/linux during the next big refactor
+    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+    soname_spec='$libname$shared_ext.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=sco
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  if test yes = "$with_gnu_ld"; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+uts4*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test no = "$dynamic_linker" && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test yes = "$GCC"; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
+fi
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
+fi
+
+# lt_cv_sys_lib... is unaugmented for libtool script decls...
+lt_cv_sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec
+
+# ..but sys_lib_... needs LT_SYS_LIBRARY_PATH munging for
+# LT_SYS_DLSEARCH_PATH macro in ltdl.m4 to work with the correct paths:
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+    [Variables whose values should be saved in libtool wrapper scripts and
+    restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+    [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+    [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+    [[List of archive names.  First name is the real one, the rest are links.
+    The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+    [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [install_override_mode], [1],
+    [Permission mode override for installation of shared libraries])
+_LT_DECL([], [postinstall_cmds], [2],
+    [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+    [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+    [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+    [[As "finish_cmds", except a single script fragment to be evaled but
+    not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+    [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+    [Compile-time system search path for libraries])
+_LT_DECL([sys_lib_dlsearch_path_spec], [lt_cv_sys_lib_dlsearch_path_spec], [2],
+    [Run-time system search path for libraries])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program that can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] |  ?:[\\/]*])
+  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD=$MAGIC_CMD
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word.  This closes a longstanding sh security hole.
+  ac_dummy="m4_if([$2], , $PATH, [$2])"
+  for ac_dir in $ac_dummy; do
+    IFS=$lt_save_ifs
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$1"; then
+      lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS=$lt_save_ifs
+  MAGIC_CMD=$lt_save_MAGIC_CMD
+  ;;
+esac])
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+if test -n "$MAGIC_CMD"; then
+  AC_MSG_RESULT($MAGIC_CMD)
+else
+  AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program that can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+  else
+    MAGIC_CMD=:
+  fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
+
+AC_ARG_WITH([gnu-ld],
+    [AS_HELP_STRING([--with-gnu-ld],
+	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
+    [test no = "$withval" || with_gnu_ld=yes],
+    [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test yes = "$GCC"; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by $CC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return, which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [[\\/]]* | ?:[[\\/]]*)
+      re_direlt='/[[^/]][[^/]]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD=$ac_prog
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test yes = "$with_gnu_ld"; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS=$lt_save_ifs
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD=$ac_dir/$ac_prog
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test no != "$with_gnu_ld" && break
+	;;
+      *)
+	test yes != "$with_gnu_ld" && break
+	;;
+      esac
+    fi
+  done
+  IFS=$lt_save_ifs
+else
+  lt_cv_path_LD=$LD # Let the user override the test with a path.
+fi])
+LD=$lt_cv_path_LD
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
+
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+#   -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+  lt_cv_ld_reload_flag,
+  [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    if test yes != "$GCC"; then
+      reload_cmds=false
+    fi
+    ;;
+  darwin*)
+    if test yes = "$GCC"; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_TAGDECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
+
+
+# _LT_PATH_DD
+# -----------
+# find a working dd
+m4_defun([_LT_PATH_DD],
+[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
+[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+  cmp -s conftest.i conftest.out \
+  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi])
+rm -f conftest.i conftest2.i conftest.out])
+])# _LT_PATH_DD
+
+
+# _LT_CMD_TRUNCATE
+# ----------------
+# find command to truncate a binary pipe
+m4_defun([_LT_CMD_TRUNCATE],
+[m4_require([_LT_PATH_DD])
+AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+  cmp -s conftest.i conftest.out \
+  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
+fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
+_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
+  [Command to truncate a binary pipe])
+])# _LT_CMD_TRUNCATE
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+#  -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# 'unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# that responds to the $file_magic_cmd with a given extended regex.
+# If you have 'file' or equivalent on your system and you're not sure
+# whether 'pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[[4-9]]*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[[45]]*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    # Keep this pattern in sync with the one in func_win32_libid.
+    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
+  ;;
+
+cegcc*)
+  # use the weaker test based on 'objdump'. See mingw*.
+  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | dragonfly*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+haiku*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix[[3-9]]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+*nto* | *qnx*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+openbsd* | bitrig*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+os2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+])
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+  case $host_os in
+  mingw* | pw32*)
+    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+      want_nocaseglob=yes
+    else
+      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
+    fi
+    ;;
+  esac
+fi
+
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+_LT_DECL([], [deplibs_check_method], [1],
+    [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+    [Command to use when deplibs_check_method = "file_magic"])
+_LT_DECL([], [file_magic_glob], [1],
+    [How to find potential files when deplibs_check_method = "file_magic"])
+_LT_DECL([], [want_nocaseglob], [1],
+    [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM=$NM
+else
+  lt_nm_to_check=${ac_tool_prefix}nm
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS=$lt_save_ifs
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm=$ac_dir/$lt_tmp_nm
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the 'sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+	case $build_os in
+	mingw*) lt_bad_file=conftest.nm/nofile ;;
+	*) lt_bad_file=/dev/null ;;
+	esac
+	case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+	*$lt_bad_file* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break 2
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break 2
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS=$lt_save_ifs
+  done
+  : ${lt_cv_path_NM=no}
+fi])
+if test no != "$lt_cv_path_NM"; then
+  NM=$lt_cv_path_NM
+else
+  # Didn't find any BSD compatible name lister, look for dumpbin.
+  if test -n "$DUMPBIN"; then :
+    # Let the user override the test.
+  else
+    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
+    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
+    *COFF*)
+      DUMPBIN="$DUMPBIN -symbols -headers"
+      ;;
+    *)
+      DUMPBIN=:
+      ;;
+    esac
+  fi
+  AC_SUBST([DUMPBIN])
+  if test : != "$DUMPBIN"; then
+    NM=$DUMPBIN
+  fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+  [lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
+  cat conftest.out >&AS_MESSAGE_LOG_FD
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+# --------------------------------
+# how to determine the name of the shared library
+# associated with a specific link library.
+#  -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+m4_require([_LT_DECL_DLLTOOL])
+AC_CACHE_CHECK([how to associate runtime and link libraries],
+lt_cv_sharedlib_from_linklib_cmd,
+[lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+  # two different shell functions defined in ltmain.sh;
+  # decide which one to use based on capabilities of $DLLTOOL
+  case `$DLLTOOL --help 2>&1` in
+  *--identify-strict*)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+    ;;
+  *)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+    ;;
+  esac
+  ;;
+*)
+  # fallback: assume linklib IS sharedlib
+  lt_cv_sharedlib_from_linklib_cmd=$ECHO
+  ;;
+esac
+])
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
+    [Command to associate shared and link libraries])
+])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+
+
+# _LT_PATH_MANIFEST_TOOL
+# ----------------------
+# locate the manifest tool
+m4_defun([_LT_PATH_MANIFEST_TOOL],
+[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
+  [lt_cv_path_mainfest_tool=no
+  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
+  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+    lt_cv_path_mainfest_tool=yes
+  fi
+  rm -f conftest*])
+if test yes != "$lt_cv_path_mainfest_tool"; then
+  MANIFEST_TOOL=:
+fi
+_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
+])# _LT_PATH_MANIFEST_TOOL
+
+
+# _LT_DLL_DEF_P([FILE])
+# ---------------------
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with func_dll_def_p in the libtool script
+AC_DEFUN([_LT_DLL_DEF_P],
+[dnl
+  test DEF = "`$SED -n dnl
+    -e '\''s/^[[	 ]]*//'\'' dnl Strip leading whitespace
+    -e '\''/^\(;.*\)*$/d'\'' dnl      Delete empty lines and comments
+    -e '\''s/^\(EXPORTS\|LIBRARY\)\([[	 ]].*\)*$/DEF/p'\'' dnl
+    -e q dnl                          Only consider the first "real" line
+    $1`" dnl
+])# _LT_DLL_DEF_P
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
+  # These system don't have libm, or don't need it
+  ;;
+*-ncr-sysv4.3*)
+  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
+  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+  ;;
+*)
+  AC_CHECK_LIB(m, cos, LIBM=-lm)
+  ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test yes = "$GCC"; then
+  case $cc_basename in
+  nvcc*)
+    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
+  *)
+    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
+  esac
+
+  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+    lt_cv_prog_compiler_rtti_exceptions,
+    [-fno-rtti -fno-exceptions], [],
+    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+	[Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[[BCDT]]'
+  ;;
+cygwin* | mingw* | pw32* | cegcc*)
+  symcode='[[ABCDGISTW]]'
+  ;;
+hpux*)
+  if test ia64 = "$host_cpu"; then
+    symcode='[[ABCDEGRST]]'
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[[BCDEGRST]]'
+  ;;
+osf*)
+  symcode='[[BCDEGQRST]]'
+  ;;
+solaris*)
+  symcode='[[BDRT]]'
+  ;;
+sco3.2v5*)
+  symcode='[[DT]]'
+  ;;
+sysv4.2uw2*)
+  symcode='[[DT]]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[[ABDT]]'
+  ;;
+sysv4)
+  symcode='[[DFNSTU]]'
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  # Gets list of data symbols to import.
+  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+  # Adjust the below global symbol transforms to fixup imported variables.
+  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
+  lt_c_name_lib_hook="\
+  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
+  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
+else
+  # Disable hooks by default.
+  lt_cv_sys_global_symbol_to_import=
+  lt_cdecl_hook=
+  lt_c_name_hook=
+  lt_c_name_lib_hook=
+fi
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+    # Fake it for dumpbin and say T for any non-static function,
+    # D for any global variable and I for any imported variable.
+    # Also find C++ and __fastcall symbols from MSVC++,
+    # which start with @ or ?.
+    lt_cv_sys_global_symbol_pipe="$AWK ['"\
+"     {last_section=section; section=\$ 3};"\
+"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
+"     \$ 0!~/External *\|/{next};"\
+"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+"     {if(hide[section]) next};"\
+"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
+"     ' prfx=^$ac_symprfx]"
+  else
+    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+  fi
+  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+  if AC_TRY_EVAL(ac_compile); then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
+# define LT@&t@_DLSYM_CONST
+#elif defined __osf__
+/* This system does not cope well with relocations in const data.  */
+# define LT@&t@_DLSYM_CONST
+#else
+# define LT@&t@_DLSYM_CONST const
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+	  cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols.  */
+LT@&t@_DLSYM_CONST struct {
+  const char *name;
+  void       *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+  { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+	  $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+	  cat <<\_LT_EOF >> conftest.$ac_ext
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+	  # Now try linking the two files.
+	  mv conftest.$ac_objext conftstm.$ac_objext
+	  lt_globsym_save_LIBS=$LIBS
+	  lt_globsym_save_CFLAGS=$CFLAGS
+	  LIBS=conftstm.$ac_objext
+	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+	  if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
+	    pipe_works=yes
+	  fi
+	  LIBS=$lt_globsym_save_LIBS
+	  CFLAGS=$lt_globsym_save_CFLAGS
+	else
+	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+    fi
+  else
+    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+    cat conftest.$ac_ext >&5
+  fi
+  rm -rf conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test yes = "$pipe_works"; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  AC_MSG_RESULT(failed)
+else
+  AC_MSG_RESULT(ok)
+fi
+
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
+  nm_file_list_spec='@'
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+    [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+    [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
+    [Transform the output of nm into a list of symbols to manually relocate])
+_LT_DECL([global_symbol_to_c_name_address],
+    [lt_cv_sys_global_symbol_to_c_name_address], [1],
+    [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+    [Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
+    [The name lister interface])
+_LT_DECL([], [nm_file_list_spec], [1],
+    [Specify filename containing input files for $NM])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+m4_if([$1], [CXX], [
+  # C++ specific cases for pic, static, wl, etc.
+  if test yes = "$GXX"; then
+    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+    aix*)
+      # All AIX code is PIC.
+      if test ia64 = "$host_cpu"; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the '-m68020' flag to GCC prevents building anything better,
+            # like '-m68040'.
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | cygwin* | os2* | pw32* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      case $host_os in
+      os2*)
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+	;;
+      esac
+      ;;
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+      ;;
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)=
+      ;;
+    interix[[3-9]]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+    *qnx* | *nto*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+    *)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    case $host_os in
+      aix[[4-9]]*)
+	# All AIX code is PIC.
+	if test ia64 = "$host_cpu"; then
+	  # AIX 5 now supports IA64 processor
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	else
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+	fi
+	;;
+      chorus*)
+	case $cc_basename in
+	cxch68*)
+	  # Green Hills C++ Compiler
+	  # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+	  ;;
+	esac
+	;;
+      mingw* | cygwin* | os2* | pw32* | cegcc*)
+	# This hack is so that the source file can tell whether it is being
+	# built for inclusion in a dll (and should export symbols for example).
+	m4_if([$1], [GCJ], [],
+	  [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+	;;
+      dgux*)
+	case $cc_basename in
+	  ec++*)
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  ghcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      freebsd* | dragonfly*)
+	# FreeBSD uses GNU C++
+	;;
+      hpux9* | hpux10* | hpux11*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+	    if test ia64 != "$host_cpu"; then
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	    fi
+	    ;;
+	  aCC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+	    case $host_cpu in
+	    hppa*64*|ia64*)
+	      # +Z the default
+	      ;;
+	    *)
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	      ;;
+	    esac
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      interix*)
+	# This is c89, which is MS Visual C++ (no shared libs)
+	# Anyone wants to do a port?
+	;;
+      irix5* | irix6* | nonstopux*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    # CC pic flag -KPIC is the default.
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+	case $cc_basename in
+	  KCC*)
+	    # KAI C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	    ;;
+	  ecpc* )
+	    # old Intel C++ for x86_64, which still supported -KPIC.
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	    ;;
+	  icpc* )
+	    # Intel C++, used to be incompatible with GCC.
+	    # ICC 10 doesn't accept -KPIC any more.
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	    ;;
+	  pgCC* | pgcpp*)
+	    # Portland Group C++ compiler
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  cxx*)
+	    # Compaq C++
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
+	    # IBM XL 8.0, 9.0 on PPC and BlueGene
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+      lynxos*)
+	;;
+      m88k*)
+	;;
+      mvs*)
+	case $cc_basename in
+	  cxx*)
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      netbsd*)
+	;;
+      *qnx* | *nto*)
+        # QNX uses GNU C++, but need to define -shared option too, otherwise
+        # it will coredump.
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+        ;;
+      osf3* | osf4* | osf5*)
+	case $cc_basename in
+	  KCC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    ;;
+	  RCC*)
+	    # Rational C++ 2.4.1
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  cxx*)
+	    # Digital/Compaq C++
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      psos*)
+	;;
+      solaris*)
+	case $cc_basename in
+	  CC* | sunCC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	    ;;
+	  gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sunos4*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.x
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  lcc*)
+	    # Lucid
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	esac
+	;;
+      tandem*)
+	case $cc_basename in
+	  NCC*)
+	    # NonStop-UX NCC 3.20
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      vxworks*)
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+	;;
+    esac
+  fi
+],
+[
+  if test yes = "$GCC"; then
+    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test ia64 = "$host_cpu"; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the '-m68020' flag to GCC prevents building anything better,
+            # like '-m68040'.
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      case $host_os in
+      os2*)
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+	;;
+      esac
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)=
+      ;;
+
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+	# +Z the default
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+
+    interix[[3-9]]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      enable_shared=no
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+
+    *)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+
+    case $cc_basename in
+    nvcc*) # Cuda Compiler Driver 2.2
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
+      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
+      fi
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      if test ia64 = "$host_cpu"; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      else
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      case $cc_basename in
+      nagfor*)
+        # NAG Fortran compiler
+        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+        ;;
+      esac
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      case $host_os in
+      os2*)
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+	;;
+      esac
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC (with -KPIC) is the default.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+      case $cc_basename in
+      # old Intel for x86_64, which still supported -KPIC.
+      ecc*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      # icc used to be incompatible with GCC.
+      # ICC 10 doesn't accept -KPIC any more.
+      icc* | ifort*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      # Lahey Fortran 8.1.
+      lf95*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+	;;
+      nagfor*)
+	# NAG Fortran compiler
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	;;
+      tcc*)
+	# Fabrice Bellard et al's Tiny C Compiler
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	;;
+      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+        ;;
+      ccc*)
+        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+        # All Alpha code is PIC.
+        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+        ;;
+      xl* | bgxl* | bgf* | mpixl*)
+	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+	;;
+      *)
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+	  ;;
+	*Sun\ F* | *Sun*Fortran*)
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	  ;;
+	*Sun\ C*)
+	  # Sun C 5.9
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  ;;
+        *Intel*\ [[CF]]*Compiler*)
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	  ;;
+	*Portland\ Group*)
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  ;;
+	esac
+	;;
+      esac
+      ;;
+
+    newsos6)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+
+    osf3* | osf4* | osf5*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # All OSF/1 code is PIC.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    rdos*)
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    solaris*)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    unicos*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+
+    uts4*)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *)
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+    esac
+  fi
+])
+case $host_os in
+  # For platforms that do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+    ;;
+  *)
+    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+    ;;
+esac
+
+AC_CACHE_CHECK([for $compiler option to produce PIC],
+  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
+  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+     "" | " "*) ;;
+     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+     esac],
+    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+	[Additional compiler flags for building library objects])
+
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+	[How to pass a linker flag through the compiler])
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+  $lt_tmp_static_flag,
+  [],
+  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+	[Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+  case $host_os in
+  aix[[4-9]]*)
+    # If we're using GNU nm, then we don't want the "-C" option.
+    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+    # Without the "-l" option, or with the "-B" option, AIX nm treats
+    # weak defined symbols like other global defined symbols, whereas
+    # GNU nm marks them as "W".
+    # While the 'weak' keyword is ignored in the Export File, we need
+    # it in the Import File for the 'aix-soname' feature, so we have
+    # to replace the "-B" option with "-P" for AIX nm.
+    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
+    else
+      _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+    fi
+    ;;
+  pw32*)
+    _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
+    ;;
+  cygwin* | mingw* | cegcc*)
+    case $cc_basename in
+    cl*)
+      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+      ;;
+    *)
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+      ;;
+    esac
+    ;;
+  *)
+    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+    ;;
+  esac
+], [
+  runpath_var=
+  _LT_TAGVAR(allow_undefined_flag, $1)=
+  _LT_TAGVAR(always_export_symbols, $1)=no
+  _LT_TAGVAR(archive_cmds, $1)=
+  _LT_TAGVAR(archive_expsym_cmds, $1)=
+  _LT_TAGVAR(compiler_needs_object, $1)=no
+  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  _LT_TAGVAR(hardcode_automatic, $1)=no
+  _LT_TAGVAR(hardcode_direct, $1)=no
+  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+  _LT_TAGVAR(hardcode_libdir_separator, $1)=
+  _LT_TAGVAR(hardcode_minus_L, $1)=no
+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  _LT_TAGVAR(inherit_rpath, $1)=no
+  _LT_TAGVAR(link_all_deplibs, $1)=unknown
+  _LT_TAGVAR(module_cmds, $1)=
+  _LT_TAGVAR(module_expsym_cmds, $1)=
+  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+  _LT_TAGVAR(thread_safe_flag_spec, $1)=
+  _LT_TAGVAR(whole_archive_flag_spec, $1)=
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  _LT_TAGVAR(include_expsyms, $1)=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ' (' and ')$', so one must not match beginning or
+  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
+  # as well as any symbol that contains 'd'.
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+  extract_expsyms_cmds=
+
+  case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test yes != "$GCC"; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd* | bitrig*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  _LT_TAGVAR(ld_shlibs, $1)=yes
+
+  # On some targets, GNU ld is compatible enough with the native linker
+  # that we're better off using the native interface for both.
+  lt_use_gnu_ld_interface=no
+  if test yes = "$with_gnu_ld"; then
+    case $host_os in
+      aix*)
+	# The AIX port of GNU ld has always aspired to compatibility
+	# with the native linker.  However, as the warning in the GNU ld
+	# block says, versions before 2.19.5* couldn't really create working
+	# shared libraries, regardless of the interface used.
+	case `$LD -v 2>&1` in
+	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
+	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
+	  *)
+	    lt_use_gnu_ld_interface=yes
+	    ;;
+	esac
+	;;
+      *)
+	lt_use_gnu_ld_interface=yes
+	;;
+    esac
+  fi
+
+  if test yes = "$lt_use_gnu_ld_interface"; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='$wl'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+    else
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
+      *GNU\ gold*) supports_anon_versioning=yes ;;
+      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix[[3-9]]*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test ia64 != "$host_cpu"; then
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+
+_LT_EOF
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
+        ;;
+      m68k)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
+        ;;
+      esac
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+      # as there is no search path for DLLs.
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(always_export_symbols, $1)=no
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+
+      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file, use it as
+	# is; otherwise, prepend EXPORTS...
+	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+          cp $export_symbols $output_objdir/$soname.def;
+        else
+          echo EXPORTS > $output_objdir/$soname.def;
+          cat $export_symbols >> $output_objdir/$soname.def;
+        fi~
+        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    haiku*)
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    os2*)
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      shrext_cmds=.dll
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
+    interix[[3-9]]*)
+      _LT_TAGVAR(hardcode_direct, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+      tmp_diet=no
+      if test linux-dietlibc = "$host_os"; then
+	case $cc_basename in
+	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
+	esac
+      fi
+      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+	 && test no = "$tmp_diet"
+      then
+	tmp_addflag=' $pic_flag'
+	tmp_sharedflag='-shared'
+	case $cc_basename,$host_cpu in
+        pgcc*)				# Portland Group C compiler
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95* | pgfortran*)
+					# Portland Group f77 and f90 compilers
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	lf95*)				# Lahey Fortran 8.1
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
+	  tmp_sharedflag='--shared' ;;
+        nagfor*)                        # NAGFOR 5.3
+          tmp_sharedflag='-Wl,-shared' ;;
+	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+	  tmp_sharedflag='-qmkshrobj'
+	  tmp_addflag= ;;
+	nvcc*)	# Cuda Compiler Driver 2.2
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	  _LT_TAGVAR(compiler_needs_object, $1)=yes
+	  ;;
+	esac
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	  _LT_TAGVAR(compiler_needs_object, $1)=yes
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	esac
+	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+
+        if test yes = "$supports_anon_versioning"; then
+          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+            cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+            echo "local: *; };" >> $output_objdir/$libname.ver~
+            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
+        fi
+
+	case $cc_basename in
+	tcc*)
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
+	  ;;
+	xlf* | bgf* | bgxlf* | mpixlf*)
+	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+	  if test yes = "$supports_anon_versioning"; then
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+              cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+              echo "local: *; };" >> $output_objdir/$libname.ver~
+              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+	  fi
+	  ;;
+	esac
+      else
+        _LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  # For security reasons, it is highly recommended that you always
+	  # use absolute paths for naming shared libraries, and exclude the
+	  # DT_RUNPATH tag from executables and libraries.  But doing so
+	  # requires that you compile everything twice, which is a pain.
+	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+	  else
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+    esac
+
+    if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
+      runpath_var=
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(always_export_symbols, $1)=yes
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	_LT_TAGVAR(hardcode_direct, $1)=unsupported
+      fi
+      ;;
+
+    aix[[4-9]]*)
+      if test ia64 = "$host_cpu"; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to GNU nm, but means don't demangle to AIX nm.
+	# Without the "-l" option, or with the "-B" option, AIX nm treats
+	# weak defined symbols like other global defined symbols, whereas
+	# GNU nm marks them as "W".
+	# While the 'weak' keyword is ignored in the Export File, we need
+	# it in the Import File for the 'aix-soname' feature, so we have
+	# to replace the "-B" option with "-P" for AIX nm.
+	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
+	else
+	  _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# have runtime linking enabled, and use it for executables.
+	# For shared libraries, we enable/disable runtime linking
+	# depending on the kind of the shared library created -
+	# when "with_aix_soname,aix_use_runtimelinking" is:
+	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "aix,yes"  lib.so          shared, rtl:yes, for executables
+	#            lib.a           static archive
+	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
+	#            lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a(lib.so.V) shared, rtl:no
+	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a           static archive
+	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+	  for ld_flag in $LDFLAGS; do
+	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
+	    aix_use_runtimelinking=yes
+	    break
+	  fi
+	  done
+	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
+	    # so we don't have lib.a shared libs to link our executables.
+	    # We have to force runtime linking in this case.
+	    aix_use_runtimelinking=yes
+	    LDFLAGS="$LDFLAGS -Wl,-brtl"
+	  fi
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      _LT_TAGVAR(archive_cmds, $1)=''
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+      case $with_aix_soname,$aix_use_runtimelinking in
+      aix,*) ;; # traditional, no import file
+      svr4,* | *,yes) # use import file
+	# The Import File defines what to hardcode.
+	_LT_TAGVAR(hardcode_direct, $1)=no
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+	;;
+      esac
+
+      if test yes = "$GCC"; then
+	case $host_os in aix4.[[012]]|aix4.[[012]].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`$CC -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	  # We have reworked collect2
+	  :
+	  else
+	  # We have old collect2
+	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test yes = "$aix_use_runtimelinking"; then
+	  shared_flag="$shared_flag "'$wl-G'
+	fi
+	# Need to ensure runtime linking is disabled for the traditional
+	# shared library, or the linker may eventually find shared libraries
+	# /with/ Import File - we do not want to mix them.
+	shared_flag_aix='-shared'
+	shared_flag_svr4='-shared $wl-G'
+      else
+	# not using gcc
+	if test ia64 = "$host_cpu"; then
+	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test yes = "$aix_use_runtimelinking"; then
+	    shared_flag='$wl-G'
+	  else
+	    shared_flag='$wl-bM:SRE'
+	  fi
+	  shared_flag_aix='$wl-bM:SRE'
+	  shared_flag_svr4='$wl-G'
+	fi
+      fi
+
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      _LT_TAGVAR(always_export_symbols, $1)=yes
+      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        _LT_SYS_MODULE_PATH_AIX([$1])
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
+      else
+	if test ia64 = "$host_cpu"; then
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
+	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an
+	 # empty executable.
+	 _LT_SYS_MODULE_PATH_AIX([$1])
+	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+	  _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+	  if test yes = "$with_gnu_ld"; then
+	    # We only use this code for GNU lds that support --whole-archive.
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
+	  else
+	    # Exported symbols can be pulled into shared objects from archives
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	  fi
+	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+	  # -brtl affects multiple linker settings, -berok does not and is overridden later
+	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+	  if test svr4 != "$with_aix_soname"; then
+	    # This is similar to how AIX traditionally builds its shared libraries.
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+	  fi
+	  if test aix != "$with_aix_soname"; then
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+	  else
+	    # used by -dlpreopen to get the symbols
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+	  fi
+	  _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
+        ;;
+      m68k)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
+        ;;
+      esac
+      ;;
+
+    bsdi[[45]]*)
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      case $cc_basename in
+      cl*)
+	# Native MSVC
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	_LT_TAGVAR(always_export_symbols, $1)=yes
+	_LT_TAGVAR(file_list_spec, $1)='@'
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=.dll
+	# FIXME: Setting linknames here is a bad hack.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+            cp "$export_symbols" "$output_objdir/$soname.def";
+            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+          else
+            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+          fi~
+          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+          linknames='
+	# The linker will not automatically build a static lib if we build a DLL.
+	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+	_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+	# Don't use ranlib
+	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+	_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+          lt_tool_outputfile="@TOOL_OUTPUT@"~
+          case $lt_outputfile in
+            *.exe|*.EXE) ;;
+            *)
+              lt_outputfile=$lt_outputfile.exe
+              lt_tool_outputfile=$lt_tool_outputfile.exe
+              ;;
+          esac~
+          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+            $RM "$lt_outputfile.manifest";
+          fi'
+	;;
+      *)
+	# Assume MSVC wrapper
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=.dll
+	# FIXME: Setting linknames here is a bad hack.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+	# The linker will automatically build a .lib file if we build a DLL.
+	_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+	# FIXME: Should let the user specify the lib program.
+	_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	;;
+      esac
+      ;;
+
+    darwin* | rhapsody*)
+      _LT_DARWIN_LINKER_FEATURES($1)
+      ;;
+
+    dgux*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2.*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    hpux9*)
+      if test yes = "$GCC"; then
+	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+      ;;
+
+    hpux10*)
+      if test yes,no = "$GCC,$with_gnu_ld"; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test no = "$with_gnu_ld"; then
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
+	_LT_TAGVAR(hardcode_direct, $1)=yes
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	_LT_TAGVAR(hardcode_minus_L, $1)=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test yes,no = "$GCC,$with_gnu_ld"; then
+	case $host_cpu in
+	hppa*64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	m4_if($1, [], [
+	  # Older versions of the 11.00 compiler do not understand -b yet
+	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+	  _LT_LINKER_OPTION([if $CC understands -b],
+	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
+	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
+	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
+	  ;;
+	esac
+      fi
+      if test no = "$with_gnu_ld"; then
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  _LT_TAGVAR(hardcode_direct, $1)=no
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  ;;
+	*)
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test yes = "$GCC"; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+	# Try to use the -exported_symbol ld option, if it does not
+	# work, assume that -exports_file does not work either and
+	# implicitly export all symbols.
+	# This should be the same for all languages, so no per-tag cache variable.
+	AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
+	  [lt_cv_irix_exported_symbol],
+	  [save_LDFLAGS=$LDFLAGS
+	   LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
+	   AC_LINK_IFELSE(
+	     [AC_LANG_SOURCE(
+	        [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
+			      [C++], [[int foo (void) { return 0; }]],
+			      [Fortran 77], [[
+      subroutine foo
+      end]],
+			      [Fortran], [[
+      subroutine foo
+      end]])])],
+	      [lt_cv_irix_exported_symbol=yes],
+	      [lt_cv_irix_exported_symbol=no])
+           LDFLAGS=$save_LDFLAGS])
+	if test yes = "$lt_cv_irix_exported_symbol"; then
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
+	fi
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(inherit_rpath, $1)=yes
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    linux*)
+      case $cc_basename in
+      tcc*)
+	# Fabrice Bellard et al's Tiny C Compiler
+	_LT_TAGVAR(ld_shlibs, $1)=yes
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      esac
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    newsos6)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *nto* | *qnx*)
+      ;;
+
+    openbsd* | bitrig*)
+      if test -f /usr/libexec/ld.so; then
+	_LT_TAGVAR(hardcode_direct, $1)=yes
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+	else
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	fi
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    os2*)
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      shrext_cmds=.dll
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
+    osf3*)
+      if test yes = "$GCC"; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+      else
+	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test yes = "$GCC"; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+      else
+	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+          $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    solaris*)
+      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+      if test yes = "$GCC"; then
+	wlarc='$wl'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+          $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+      else
+	case `$CC -V 2>&1` in
+	*"Compilers 5.0"*)
+	  wlarc=''
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+	  ;;
+	*)
+	  wlarc='$wl'
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+	  ;;
+	esac
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      case $host_os in
+      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+      *)
+	# The compiler driver will combine and reorder linker options,
+	# but understands '-z linker_flag'.  GCC discards it without '$wl',
+	# but is careful enough not to reorder.
+	# Supported since Solaris 2.6 (maybe 2.5.1?)
+	if test yes = "$GCC"; then
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+	else
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	fi
+	;;
+      esac
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    sunos4*)
+      if test sequent = "$host_vendor"; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+	  _LT_TAGVAR(hardcode_direct, $1)=no
+        ;;
+	motorola)
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4.3*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	_LT_TAGVAR(ld_shlibs, $1)=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      if test yes = "$GCC"; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We CANNOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+      _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test yes = "$GCC"; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      _LT_TAGVAR(ld_shlibs, $1)=no
+      ;;
+    esac
+
+    if test sni = "$host_vendor"; then
+      case $host in
+      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
+	;;
+      esac
+    fi
+  fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+    [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+  # Assume -lc should be added
+  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+  if test yes,yes = "$GCC,$enable_shared"; then
+    case $_LT_TAGVAR(archive_cmds, $1) in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
+	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
+	[$RM conftest*
+	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+	  soname=conftest
+	  lib=conftest
+	  libobjs=conftest.$ac_objext
+	  deplibs=
+	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+	  compiler_flags=-v
+	  linker_flags=-v
+	  verstring=
+	  output_objdir=.
+	  libname=conftest
+	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+	  _LT_TAGVAR(allow_undefined_flag, $1)=
+	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+	  then
+	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	  else
+	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	  fi
+	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+	else
+	  cat conftest.err 1>&5
+	fi
+	$RM conftest*
+	])
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+    [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+    [enable_shared_with_static_runtimes], [0],
+    [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+    [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+    [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+    [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+    [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+    [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+    [Commands used to build a loadable module if different from building
+    a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+    [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+    [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+    [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+    [Flag to hardcode $libdir into a binary during linking.
+    This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+    [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
+    DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
+    DIR into the resulting binary and the resulting library dependency is
+    "absolute", i.e impossible to change by setting $shlibpath_var if the
+    library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+    into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+    into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+    [Set to "yes" if building a shared library automatically hardcodes DIR
+    into the library and all subsequent libraries and executables linked
+    against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+    [Set to yes if linker adds runtime paths of dependent libraries
+    to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+    [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [always_export_symbols], [0],
+    [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+    [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+    [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+    [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+    [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [postlink_cmds], [2],
+    [Commands necessary for finishing linking programs])
+_LT_TAGDECL([], [file_list_spec], [1],
+    [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl    [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined.  These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC=$CC
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_SYS_DYNAMIC_LINKER($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+  LT_SYS_DLOPEN_SELF
+  _LT_CMD_STRIPLIB
+
+  # Report what library types will actually be built
+  AC_MSG_CHECKING([if libtool supports shared libraries])
+  AC_MSG_RESULT([$can_build_shared])
+
+  AC_MSG_CHECKING([whether to build shared libraries])
+  test no = "$can_build_shared" && enable_shared=no
+
+  # On AIX, shared libraries and static libraries use the same namespace, and
+  # are all built from PIC.
+  case $host_os in
+  aix3*)
+    test yes = "$enable_shared" && enable_static=no
+    if test -n "$RANLIB"; then
+      archive_cmds="$archive_cmds~\$RANLIB \$lib"
+      postinstall_cmds='$RANLIB $lib'
+    fi
+    ;;
+
+  aix[[4-9]]*)
+    if test ia64 != "$host_cpu"; then
+      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+      yes,aix,yes) ;;			# shared object as lib.so file only
+      yes,svr4,*) ;;			# shared object as lib.so archive member only
+      yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+      esac
+    fi
+    ;;
+  esac
+  AC_MSG_RESULT([$enable_shared])
+
+  AC_MSG_CHECKING([whether to build static libraries])
+  # Make sure either enable_shared or enable_static is yes.
+  test yes = "$enable_shared" || enable_static=yes
+  AC_MSG_RESULT([$enable_static])
+
+  _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC=$lt_save_CC
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined.  These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+if test -n "$CXX" && ( test no != "$CXX" &&
+    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
+    (test g++ != "$CXX"))); then
+  AC_PROG_CXXCPP
+else
+  _lt_caught_CXX_error=yes
+fi
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test yes != "$_lt_caught_CXX_error"; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="int some_variable = 0;"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC=$CC
+  lt_save_CFLAGS=$CFLAGS
+  lt_save_LD=$LD
+  lt_save_GCC=$GCC
+  GCC=$GXX
+  lt_save_with_gnu_ld=$with_gnu_ld
+  lt_save_path_LD=$lt_cv_path_LD
+  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+  else
+    $as_unset lt_cv_prog_gnu_ld
+  fi
+  if test -n "${lt_cv_path_LDCXX+set}"; then
+    lt_cv_path_LD=$lt_cv_path_LDCXX
+  else
+    $as_unset lt_cv_path_LD
+  fi
+  test -z "${LDCXX+set}" || LD=$LDCXX
+  CC=${CXX-"c++"}
+  CFLAGS=$CXXFLAGS
+  compiler=$CC
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+
+  if test -n "$compiler"; then
+    # We don't want -fno-exception when compiling C++ code, so set the
+    # no_builtin_flag separately
+    if test yes = "$GXX"; then
+      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+    else
+      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+    fi
+
+    if test yes = "$GXX"; then
+      # Set up default GNU C++ configuration
+
+      LT_PATH_LD
+
+      # Check if GNU C++ uses GNU ld as the underlying linker, since the
+      # archiving commands below assume that GNU ld is being used.
+      if test yes = "$with_gnu_ld"; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+
+        # If archive_cmds runs LD, not CC, wlarc should be empty
+        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+        #     investigate it a little bit more. (MM)
+        wlarc='$wl'
+
+        # ancient GNU ld didn't support --whole-archive et. al.
+        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+	  $GREP 'no-whole-archive' > /dev/null; then
+          _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+        else
+          _LT_TAGVAR(whole_archive_flag_spec, $1)=
+        fi
+      else
+        with_gnu_ld=no
+        wlarc=
+
+        # A generic and very simple default shared library creation
+        # command for GNU C++ for the case where it uses the native
+        # linker, instead of GNU ld.  If possible, this setting should
+        # overridden to take advantage of the native linker features on
+        # the platform it is being used on.
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      fi
+
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+    else
+      GXX=no
+      with_gnu_ld=no
+      wlarc=
+    fi
+
+    # PORTME: fill in a description of your system's C++ link characteristics
+    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+    _LT_TAGVAR(ld_shlibs, $1)=yes
+    case $host_os in
+      aix3*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+      aix[[4-9]]*)
+        if test ia64 = "$host_cpu"; then
+          # On IA64, the linker does run time linking by default, so we don't
+          # have to do anything special.
+          aix_use_runtimelinking=no
+          exp_sym_flag='-Bexport'
+          no_entry_flag=
+        else
+          aix_use_runtimelinking=no
+
+          # Test if we are trying to use run time linking or normal
+          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+          # have runtime linking enabled, and use it for executables.
+          # For shared libraries, we enable/disable runtime linking
+          # depending on the kind of the shared library created -
+          # when "with_aix_soname,aix_use_runtimelinking" is:
+          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+          # "aix,yes"  lib.so          shared, rtl:yes, for executables
+          #            lib.a           static archive
+          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
+          #            lib.a(lib.so.V) shared, rtl:no,  for executables
+          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+          #            lib.a(lib.so.V) shared, rtl:no
+          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+          #            lib.a           static archive
+          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+	    for ld_flag in $LDFLAGS; do
+	      case $ld_flag in
+	      *-brtl*)
+	        aix_use_runtimelinking=yes
+	        break
+	        ;;
+	      esac
+	    done
+	    if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+	      # With aix-soname=svr4, we create the lib.so.V shared archives only,
+	      # so we don't have lib.a shared libs to link our executables.
+	      # We have to force runtime linking in this case.
+	      aix_use_runtimelinking=yes
+	      LDFLAGS="$LDFLAGS -Wl,-brtl"
+	    fi
+	    ;;
+          esac
+
+          exp_sym_flag='-bexport'
+          no_entry_flag='-bnoentry'
+        fi
+
+        # When large executables or shared objects are built, AIX ld can
+        # have problems creating the table of contents.  If linking a library
+        # or program results in "error TOC overflow" add -mminimal-toc to
+        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+        _LT_TAGVAR(archive_cmds, $1)=''
+        _LT_TAGVAR(hardcode_direct, $1)=yes
+        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+        _LT_TAGVAR(link_all_deplibs, $1)=yes
+        _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+        case $with_aix_soname,$aix_use_runtimelinking in
+        aix,*) ;;	# no import file
+        svr4,* | *,yes) # use import file
+          # The Import File defines what to hardcode.
+          _LT_TAGVAR(hardcode_direct, $1)=no
+          _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+          ;;
+        esac
+
+        if test yes = "$GXX"; then
+          case $host_os in aix4.[[012]]|aix4.[[012]].*)
+          # We only want to do this on AIX 4.2 and lower, the check
+          # below for broken collect2 doesn't work under 4.3+
+	  collect2name=`$CC -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	    # We have reworked collect2
+	    :
+	  else
+	    # We have old collect2
+	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
+	    # It fails to find uninstalled libraries when the uninstalled
+	    # path is not listed in the libpath.  Setting hardcode_minus_L
+	    # to unsupported forces relinking
+	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
+	  fi
+          esac
+          shared_flag='-shared'
+	  if test yes = "$aix_use_runtimelinking"; then
+	    shared_flag=$shared_flag' $wl-G'
+	  fi
+	  # Need to ensure runtime linking is disabled for the traditional
+	  # shared library, or the linker may eventually find shared libraries
+	  # /with/ Import File - we do not want to mix them.
+	  shared_flag_aix='-shared'
+	  shared_flag_svr4='-shared $wl-G'
+        else
+          # not using gcc
+          if test ia64 = "$host_cpu"; then
+	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	  # chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+          else
+	    if test yes = "$aix_use_runtimelinking"; then
+	      shared_flag='$wl-G'
+	    else
+	      shared_flag='$wl-bM:SRE'
+	    fi
+	    shared_flag_aix='$wl-bM:SRE'
+	    shared_flag_svr4='$wl-G'
+          fi
+        fi
+
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
+        # It seems that -bexpall does not export symbols beginning with
+        # underscore (_), so it is better to generate a list of symbols to
+	# export.
+        _LT_TAGVAR(always_export_symbols, $1)=yes
+	if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
+          # Warning - without using the other runtime loading flags (-brtl),
+          # -berok will link without error, but may produce a broken library.
+          # The "-G" linker flag allows undefined symbols.
+          _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
+          # Determine the default libpath from the value encoded in an empty
+          # executable.
+          _LT_SYS_MODULE_PATH_AIX([$1])
+          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
+        else
+          if test ia64 = "$host_cpu"; then
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
+	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
+          else
+	    # Determine the default libpath from the value encoded in an
+	    # empty executable.
+	    _LT_SYS_MODULE_PATH_AIX([$1])
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+	    # Warning - without using the other run time loading flags,
+	    # -berok will link without error, but may produce a broken library.
+	    _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+	    _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+	    if test yes = "$with_gnu_ld"; then
+	      # We only use this code for GNU lds that support --whole-archive.
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
+	    else
+	      # Exported symbols can be pulled into shared objects from archives
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	    fi
+	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+	    # -brtl affects multiple linker settings, -berok does not and is overridden later
+	    compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+	    if test svr4 != "$with_aix_soname"; then
+	      # This is similar to how AIX traditionally builds its shared
+	      # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
+	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+	    fi
+	    if test aix != "$with_aix_soname"; then
+	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+	    else
+	      # used by -dlpreopen to get the symbols
+	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+	    fi
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
+          fi
+        fi
+        ;;
+
+      beos*)
+	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+	  # support --undefined.  This deserves some investigation.  FIXME
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	else
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+
+      chorus*)
+        case $cc_basename in
+          *)
+	  # FIXME: insert proper C++ library support
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	  ;;
+        esac
+        ;;
+
+      cygwin* | mingw* | pw32* | cegcc*)
+	case $GXX,$cc_basename in
+	,cl* | no,cl*)
+	  # Native MSVC
+	  # hardcode_libdir_flag_spec is actually meaningless, as there is
+	  # no search path for DLLs.
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	  _LT_TAGVAR(always_export_symbols, $1)=yes
+	  _LT_TAGVAR(file_list_spec, $1)='@'
+	  # Tell ltmain to make .lib files, not .a files.
+	  libext=lib
+	  # Tell ltmain to make .dll files, not .so files.
+	  shrext_cmds=.dll
+	  # FIXME: Setting linknames here is a bad hack.
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+              cp "$export_symbols" "$output_objdir/$soname.def";
+              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+            else
+              $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+            fi~
+            $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+            linknames='
+	  # The linker will not automatically build a static lib if we build a DLL.
+	  # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	  # Don't use ranlib
+	  _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+	  _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+            lt_tool_outputfile="@TOOL_OUTPUT@"~
+            case $lt_outputfile in
+              *.exe|*.EXE) ;;
+              *)
+                lt_outputfile=$lt_outputfile.exe
+                lt_tool_outputfile=$lt_tool_outputfile.exe
+                ;;
+            esac~
+            func_to_tool_file "$lt_outputfile"~
+            if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+              $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+              $RM "$lt_outputfile.manifest";
+            fi'
+	  ;;
+	*)
+	  # g++
+	  # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+	  # as there is no search path for DLLs.
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	  _LT_TAGVAR(always_export_symbols, $1)=no
+	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	    # If the export-symbols file already is a .def file, use it as
+	    # is; otherwise, prepend EXPORTS...
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+              cp $export_symbols $output_objdir/$soname.def;
+            else
+              echo EXPORTS > $output_objdir/$soname.def;
+              cat $export_symbols >> $output_objdir/$soname.def;
+            fi~
+            $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	  else
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	  fi
+	  ;;
+	esac
+	;;
+      darwin* | rhapsody*)
+        _LT_DARWIN_LINKER_FEATURES($1)
+	;;
+
+      os2*)
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	_LT_TAGVAR(hardcode_minus_L, $1)=yes
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	shrext_cmds=.dll
+	_LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	  $ECHO EXPORTS >> $output_objdir/$libname.def~
+	  emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	  emximp -o $lib $output_objdir/$libname.def'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	  $ECHO EXPORTS >> $output_objdir/$libname.def~
+	  prefix_cmds="$SED"~
+	  if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	    prefix_cmds="$prefix_cmds -e 1d";
+	  fi~
+	  prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	  cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	  emximp -o $lib $output_objdir/$libname.def'
+	_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	;;
+
+      dgux*)
+        case $cc_basename in
+          ec++*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          ghcx*)
+	    # Green Hills C++ Compiler
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      freebsd2.*)
+        # C++ shared libraries reported to be fairly broken before
+	# switch to ELF
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      freebsd-elf*)
+        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+        ;;
+
+      freebsd* | dragonfly*)
+        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+        # conventions
+        _LT_TAGVAR(ld_shlibs, $1)=yes
+        ;;
+
+      haiku*)
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+        _LT_TAGVAR(link_all_deplibs, $1)=yes
+        ;;
+
+      hpux9*)
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+        _LT_TAGVAR(hardcode_direct, $1)=yes
+        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+				             # but as the default
+				             # location of the library.
+
+        case $cc_basename in
+          CC*)
+            # FIXME: insert proper C++ library support
+            _LT_TAGVAR(ld_shlibs, $1)=no
+            ;;
+          aCC*)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+            # Commands to make compiler produce verbose output that lists
+            # what "hidden" libraries, object files and flags are used when
+            # linking a shared library.
+            #
+            # There doesn't appear to be a way to prevent this compiler from
+            # explicitly linking system object files so we need to strip them
+            # from the output so that they don't get included in the library
+            # dependencies.
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+            ;;
+          *)
+            if test yes = "$GXX"; then
+              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+            else
+              # FIXME: insert proper C++ library support
+              _LT_TAGVAR(ld_shlibs, $1)=no
+            fi
+            ;;
+        esac
+        ;;
+
+      hpux10*|hpux11*)
+        if test no = "$with_gnu_ld"; then
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+          case $host_cpu in
+            hppa*64*|ia64*)
+              ;;
+            *)
+	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+              ;;
+          esac
+        fi
+        case $host_cpu in
+          hppa*64*|ia64*)
+            _LT_TAGVAR(hardcode_direct, $1)=no
+            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+            ;;
+          *)
+            _LT_TAGVAR(hardcode_direct, $1)=yes
+            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+					         # but as the default
+					         # location of the library.
+            ;;
+        esac
+
+        case $cc_basename in
+          CC*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          aCC*)
+	    case $host_cpu in
+	      hppa*64*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      ia64*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      *)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	    esac
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+	    ;;
+          *)
+	    if test yes = "$GXX"; then
+	      if test no = "$with_gnu_ld"; then
+	        case $host_cpu in
+	          hppa*64*)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          ia64*)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          *)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	        esac
+	      fi
+	    else
+	      # FIXME: insert proper C++ library support
+	      _LT_TAGVAR(ld_shlibs, $1)=no
+	    fi
+	    ;;
+        esac
+        ;;
+
+      interix[[3-9]]*)
+	_LT_TAGVAR(hardcode_direct, $1)=no
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+	# Instead, shared libraries are loaded at an image base (0x10000000 by
+	# default) and relocated if they conflict, which is a slow very memory
+	# consuming and fragmenting process.  To avoid this, we pick a random,
+	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	;;
+      irix5* | irix6*)
+        case $cc_basename in
+          CC*)
+	    # SGI C++
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    if test yes = "$GXX"; then
+	      if test no = "$with_gnu_ld"; then
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+	      else
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
+	      fi
+	    fi
+	    _LT_TAGVAR(link_all_deplibs, $1)=yes
+	    ;;
+        esac
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+        _LT_TAGVAR(inherit_rpath, $1)=yes
+        ;;
+
+      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+	    ;;
+	  icpc* | ecpc* )
+	    # Intel C++
+	    with_gnu_ld=yes
+	    # version 8.0 and above of icpc choke on multiply defined symbols
+	    # if we add $predep_objects and $postdep_objects, however 7.1 and
+	    # earlier do not add the objects themselves.
+	    case `$CC -V 2>&1` in
+	      *"Version 7."*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	      *)  # Version 8.0 or newer
+	        tmp_idyn=
+	        case $host_cpu in
+		  ia64*) tmp_idyn=' -i_dynamic';;
+		esac
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	    esac
+	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
+	    ;;
+          pgCC* | pgcpp*)
+            # Portland Group C++ compiler
+	    case `$CC -V` in
+	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
+	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+               rm -rf $tpldir~
+               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+                rm -rf $tpldir~
+                $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+                $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+                $RANLIB $oldlib'
+	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+                rm -rf $tpldir~
+                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+                rm -rf $tpldir~
+                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+	      ;;
+	    *) # Version 6 and above use weak symbols
+	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+	      ;;
+	    esac
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+            ;;
+	  cxx*)
+	    # Compaq C++
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname  -o $lib $wl-retain-symbols-file $wl$export_symbols'
+
+	    runpath_var=LD_RUN_PATH
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+	    ;;
+	  xl* | mpixl* | bgxl*)
+	    # IBM XL 8.0 on PPC, with GNU ld
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	    if test yes = "$supports_anon_versioning"; then
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+                cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+                echo "local: *; };" >> $output_objdir/$libname.ver~
+                $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
+	    fi
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	      _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	      _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+	      # Not sure whether something based on
+	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+	      # would be better.
+	      output_verbose_link_cmd='func_echo_all'
+
+	      # Archives containing C++ object files must be created using
+	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	      # necessary to make sure instantiated templates are included
+	      # in the archive.
+	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+
+      lynxos*)
+        # FIXME: insert proper C++ library support
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      m88k*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      mvs*)
+        case $cc_basename in
+          cxx*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+	  *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+	esac
+	;;
+
+      netbsd*)
+        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+	  wlarc=
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	fi
+	# Workaround some broken pre-1.5 toolchains
+	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+	;;
+
+      *nto* | *qnx*)
+        _LT_TAGVAR(ld_shlibs, $1)=yes
+	;;
+
+      openbsd* | bitrig*)
+	if test -f /usr/libexec/ld.so; then
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+	  fi
+	  output_verbose_link_cmd=func_echo_all
+	else
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+
+      osf3* | osf4* | osf5*)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Archives containing C++ object files must be created using
+	    # the KAI C++ compiler.
+	    case $host in
+	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+	    esac
+	    ;;
+          RCC*)
+	    # Rational C++ 2.4.1
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          cxx*)
+	    case $host in
+	      osf3*)
+	        _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+		;;
+	      *)
+	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+                  echo "-hidden">> $lib.exp~
+                  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
+                  $RM $lib.exp'
+	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+		;;
+	    esac
+
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+	    ;;
+	  *)
+	    if test yes,no = "$GXX,$with_gnu_ld"; then
+	      _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+	      case $host in
+	        osf3*)
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+		  ;;
+	        *)
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+		  ;;
+	      esac
+
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	      # Commands to make compiler produce verbose output that lists
+	      # what "hidden" libraries, object files and flags are used when
+	      # linking a shared library.
+	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+	    else
+	      # FIXME: insert proper C++ library support
+	      _LT_TAGVAR(ld_shlibs, $1)=no
+	    fi
+	    ;;
+        esac
+        ;;
+
+      psos*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      sunos4*)
+        case $cc_basename in
+          CC*)
+	    # Sun C++ 4.x
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          lcc*)
+	    # Lucid
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      solaris*)
+        case $cc_basename in
+          CC* | sunCC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+              $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	    case $host_os in
+	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+	      *)
+		# The compiler driver will combine and reorder linker options,
+		# but understands '-z linker_flag'.
+	        # Supported since Solaris 2.6 (maybe 2.5.1?)
+		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	        ;;
+	    esac
+	    _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+	    output_verbose_link_cmd='func_echo_all'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	    ;;
+          gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+
+	    # The C++ compiler must be used to create the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    # GNU C++ compiler with Solaris linker
+	    if test yes,no = "$GXX,$with_gnu_ld"; then
+	      _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
+	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+                  $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	        # Commands to make compiler produce verbose output that lists
+	        # what "hidden" libraries, object files and flags are used when
+	        # linking a shared library.
+	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+	      else
+	        # g++ 2.7 appears to require '-G' NOT '-shared' on this
+	        # platform.
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+                  $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	        # Commands to make compiler produce verbose output that lists
+	        # what "hidden" libraries, object files and flags are used when
+	        # linking a shared library.
+	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+	      fi
+
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
+	      case $host_os in
+		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+		*)
+		  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+		  ;;
+	      esac
+	    fi
+	    ;;
+        esac
+        ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      case $cc_basename in
+        CC*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+      esac
+      ;;
+
+      sysv5* | sco3.2v5* | sco5v6*)
+	# Note: We CANNOT use -z defs as we might desire, because we do not
+	# link with -lc, and that would cause any symbols used from libc to
+	# always be unresolved, which means just about no library would
+	# ever link correctly.  If we're not using GNU ld we use -z text
+	# though, which does catch some bad symbols but isn't as heavy-handed
+	# as -z defs.
+	_LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+	_LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
+	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+	_LT_TAGVAR(link_all_deplibs, $1)=yes
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
+	runpath_var='LD_RUN_PATH'
+
+	case $cc_basename in
+          CC*)
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
+              '"$_LT_TAGVAR(old_archive_cmds, $1)"
+	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
+              '"$_LT_TAGVAR(reload_cmds, $1)"
+	    ;;
+	  *)
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    ;;
+	esac
+      ;;
+
+      tandem*)
+        case $cc_basename in
+          NCC*)
+	    # NonStop-UX NCC 3.20
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      vxworks*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      *)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+    esac
+
+    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+    test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
+
+    _LT_TAGVAR(GCC, $1)=$GXX
+    _LT_TAGVAR(LD, $1)=$LD
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_SYS_HIDDEN_LIBDEPS($1)
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  CC=$lt_save_CC
+  CFLAGS=$lt_save_CFLAGS
+  LDCXX=$LD
+  LD=$lt_save_LD
+  GCC=$lt_save_GCC
+  with_gnu_ld=$lt_save_with_gnu_ld
+  lt_cv_path_LDCXX=$lt_cv_path_LD
+  lt_cv_path_LD=$lt_save_path_LD
+  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test yes != "$_lt_caught_CXX_error"
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_FUNC_STRIPNAME_CNF
+# ----------------------
+# func_stripname_cnf prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+#
+# This function is identical to the (non-XSI) version of func_stripname,
+# except this one can be used by m4 code that may be executed by configure,
+# rather than the libtool script.
+m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
+AC_REQUIRE([_LT_DECL_SED])
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
+func_stripname_cnf ()
+{
+  case @S|@2 in
+  .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
+  *)  func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
+  esac
+} # func_stripname_cnf
+])# _LT_FUNC_STRIPNAME_CNF
+
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library.  It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+      subroutine foo
+      implicit none
+      integer*4 a
+      a=0
+      return
+      end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+      subroutine foo
+      implicit none
+      integer a
+      a=0
+      return
+      end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+  private int a;
+  public void bar (void) {
+    a = 0;
+  }
+};
+_LT_EOF
+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
+package foo
+func foo() {
+}
+_LT_EOF
+])
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+  # Parse the compiler output and extract the necessary
+  # objects, libraries and library flags.
+
+  # Sentinel used to keep track of whether or not we are before
+  # the conftest object file.
+  pre_test_object_deps_done=no
+
+  for p in `eval "$output_verbose_link_cmd"`; do
+    case $prev$p in
+
+    -L* | -R* | -l*)
+       # Some compilers place space between "-{L,R}" and the path.
+       # Remove the space.
+       if test x-L = "$p" ||
+          test x-R = "$p"; then
+	 prev=$p
+	 continue
+       fi
+
+       # Expand the sysroot to ease extracting the directories later.
+       if test -z "$prev"; then
+         case $p in
+         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+         esac
+       fi
+       case $p in
+       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+       esac
+       if test no = "$pre_test_object_deps_done"; then
+	 case $prev in
+	 -L | -R)
+	   # Internal compiler library paths should come after those
+	   # provided the user.  The postdeps already come after the
+	   # user supplied libs so there is no need to process them.
+	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+	     _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
+	   else
+	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
+	   fi
+	   ;;
+	 # The "-l" case would never come before the object being
+	 # linked, so don't bother handling this case.
+	 esac
+       else
+	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+	   _LT_TAGVAR(postdeps, $1)=$prev$p
+	 else
+	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
+	 fi
+       fi
+       prev=
+       ;;
+
+    *.lto.$objext) ;; # Ignore GCC LTO objects
+    *.$objext)
+       # This assumes that the test object file only shows up
+       # once in the compiler output.
+       if test "$p" = "conftest.$objext"; then
+	 pre_test_object_deps_done=yes
+	 continue
+       fi
+
+       if test no = "$pre_test_object_deps_done"; then
+	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+	   _LT_TAGVAR(predep_objects, $1)=$p
+	 else
+	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+	 fi
+       else
+	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+	   _LT_TAGVAR(postdep_objects, $1)=$p
+	 else
+	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+	 fi
+       fi
+       ;;
+
+    *) ;; # Ignore the rest.
+
+    esac
+  done
+
+  # Clean up.
+  rm -f a.out a.exe
+else
+  echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  _LT_TAGVAR(predep_objects,$1)=
+  _LT_TAGVAR(postdep_objects,$1)=
+  _LT_TAGVAR(postdeps,$1)=
+  ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+    [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+    [Dependencies to place before and after the objects being linked to
+    create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+    [The library search path used internally by the compiler when linking
+    a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_LANG_PUSH(Fortran 77)
+if test -z "$F77" || test no = "$F77"; then
+  _lt_disable_F77=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test yes != "$_lt_disable_F77"; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code="\
+      program t
+      end
+"
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC=$CC
+  lt_save_GCC=$GCC
+  lt_save_CFLAGS=$CFLAGS
+  CC=${F77-"f77"}
+  CFLAGS=$FFLAGS
+  compiler=$CC
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+  GCC=$G77
+  if test -n "$compiler"; then
+    AC_MSG_CHECKING([if libtool supports shared libraries])
+    AC_MSG_RESULT([$can_build_shared])
+
+    AC_MSG_CHECKING([whether to build shared libraries])
+    test no = "$can_build_shared" && enable_shared=no
+
+    # On AIX, shared libraries and static libraries use the same namespace, and
+    # are all built from PIC.
+    case $host_os in
+      aix3*)
+        test yes = "$enable_shared" && enable_static=no
+        if test -n "$RANLIB"; then
+          archive_cmds="$archive_cmds~\$RANLIB \$lib"
+          postinstall_cmds='$RANLIB $lib'
+        fi
+        ;;
+      aix[[4-9]]*)
+	if test ia64 != "$host_cpu"; then
+	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+	  yes,aix,yes) ;;		# shared object as lib.so file only
+	  yes,svr4,*) ;;		# shared object as lib.so archive member only
+	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+	  esac
+	fi
+        ;;
+    esac
+    AC_MSG_RESULT([$enable_shared])
+
+    AC_MSG_CHECKING([whether to build static libraries])
+    # Make sure either enable_shared or enable_static is yes.
+    test yes = "$enable_shared" || enable_static=yes
+    AC_MSG_RESULT([$enable_static])
+
+    _LT_TAGVAR(GCC, $1)=$G77
+    _LT_TAGVAR(LD, $1)=$LD
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  GCC=$lt_save_GCC
+  CC=$lt_save_CC
+  CFLAGS=$lt_save_CFLAGS
+fi # test yes != "$_lt_disable_F77"
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_LANG_PUSH(Fortran)
+
+if test -z "$FC" || test no = "$FC"; then
+  _lt_disable_FC=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test yes != "$_lt_disable_FC"; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code="\
+      program t
+      end
+"
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC=$CC
+  lt_save_GCC=$GCC
+  lt_save_CFLAGS=$CFLAGS
+  CC=${FC-"f95"}
+  CFLAGS=$FCFLAGS
+  compiler=$CC
+  GCC=$ac_cv_fc_compiler_gnu
+
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+
+  if test -n "$compiler"; then
+    AC_MSG_CHECKING([if libtool supports shared libraries])
+    AC_MSG_RESULT([$can_build_shared])
+
+    AC_MSG_CHECKING([whether to build shared libraries])
+    test no = "$can_build_shared" && enable_shared=no
+
+    # On AIX, shared libraries and static libraries use the same namespace, and
+    # are all built from PIC.
+    case $host_os in
+      aix3*)
+        test yes = "$enable_shared" && enable_static=no
+        if test -n "$RANLIB"; then
+          archive_cmds="$archive_cmds~\$RANLIB \$lib"
+          postinstall_cmds='$RANLIB $lib'
+        fi
+        ;;
+      aix[[4-9]]*)
+	if test ia64 != "$host_cpu"; then
+	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+	  yes,aix,yes) ;;		# shared object as lib.so file only
+	  yes,svr4,*) ;;		# shared object as lib.so archive member only
+	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+	  esac
+	fi
+        ;;
+    esac
+    AC_MSG_RESULT([$enable_shared])
+
+    AC_MSG_CHECKING([whether to build static libraries])
+    # Make sure either enable_shared or enable_static is yes.
+    test yes = "$enable_shared" || enable_static=yes
+    AC_MSG_RESULT([$enable_static])
+
+    _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
+    _LT_TAGVAR(LD, $1)=$LD
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_SYS_HIDDEN_LIBDEPS($1)
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  GCC=$lt_save_GCC
+  CC=$lt_save_CC
+  CFLAGS=$lt_save_CFLAGS
+fi # test yes != "$_lt_disable_FC"
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+CFLAGS=$GCJFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)=$LD
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+
+  _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_GO_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Go compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_GO_CONFIG],
+[AC_REQUIRE([LT_PROG_GO])dnl
+AC_LANG_SAVE
+
+# Source file extension for Go test sources.
+ac_ext=go
+
+# Object file extension for compiled Go test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="package main; func main() { }"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='package main; func main() { }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GOC-"gccgo"}
+CFLAGS=$GOFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)=$LD
+_LT_CC_BASENAME([$compiler])
+
+# Go did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+
+  _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GO_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code=$lt_simple_compile_test_code
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+CFLAGS=
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+  :
+  _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+    [AC_CHECK_TOOL(GCJ, gcj,)
+      test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
+      AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_GO
+# ----------
+AC_DEFUN([LT_PROG_GO],
+[AC_CHECK_TOOL(GOC, gccgo,)
+])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+# _LT_DECL_DLLTOOL
+# ----------------
+# Ensure DLLTOOL variable is set.
+m4_defun([_LT_DECL_DLLTOOL],
+[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
+AC_SUBST([DLLTOOL])
+])
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible.  Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+############################################################
+
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for lt_ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+      fi
+    done
+  done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+  test ! -f "$lt_ac_sed" && continue
+  cat /dev/null > conftest.in
+  lt_ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+  # Check for GNU sed and select it if it is found.
+  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+    lt_cv_path_SED=$lt_ac_sed
+    break
+  fi
+  while true; do
+    cat conftest.in conftest.in >conftest.tmp
+    mv conftest.tmp conftest.in
+    cp conftest.in conftest.nl
+    echo >>conftest.nl
+    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+    cmp -s conftest.out conftest.nl || break
+    # 10000 chars as input seems more than enough
+    test 10 -lt "$lt_ac_count" && break
+    lt_ac_count=`expr $lt_ac_count + 1`
+    if test "$lt_ac_count" -gt "$lt_ac_max"; then
+      lt_ac_max=$lt_ac_count
+      lt_cv_path_SED=$lt_ac_sed
+    fi
+  done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
+else
+  lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  lt_SP2NL='tr \040 \012'
+  lt_NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  lt_SP2NL='tr \100 \n'
+  lt_NL2SP='tr \r\n \100\100'
+  ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PATH_CONVERSION_FUNCTIONS
+# -----------------------------
+# Determine what file name conversion functions should be used by
+# func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
+# for certain cross-compile configurations and native mingw.
+m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_MSG_CHECKING([how to convert $build file names to $host format])
+AC_CACHE_VAL(lt_cv_to_host_file_cmd,
+[case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+        ;;
+    esac
+    ;;
+  *-*-cygwin* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_noop
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+        ;;
+    esac
+    ;;
+  * ) # unhandled hosts (and "normal" native builds)
+    lt_cv_to_host_file_cmd=func_convert_file_noop
+    ;;
+esac
+])
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
+_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
+         [0], [convert $build file names to $host format])dnl
+
+AC_MSG_CHECKING([how to convert $build file names to toolchain format])
+AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
+[#assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+        ;;
+    esac
+    ;;
+esac
+])
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
+         [0], [convert $build files to toolchain format])dnl
+])# _LT_PATH_CONVERSION_FUNCTIONS
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/m4/ltoptions.m4	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,437 @@
+# Helper functions for option handling.                    -*- Autoconf -*-
+#
+#   Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
+#   Foundation, Inc.
+#   Written by Gary V. Vaughan, 2004
+#
+# This file 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.
+
+# serial 8 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+        _LT_MANGLE_DEFUN([$1], [$2]),
+    [m4_warning([Unknown $1 option '$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+		      [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME.  If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+    [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+  dnl
+  dnl Simply set some default values (i.e off) if boolean options were not
+  dnl specified:
+  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+  ])
+  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+  ])
+  dnl
+  dnl If no reference was made to various pairs of opposing options, then
+  dnl we run the default mode handler for the pair.  For example, if neither
+  dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
+  dnl archives by default:
+  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+		   [_LT_ENABLE_FAST_INSTALL])
+  _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
+		   [_LT_WITH_AIX_SONAME([aix])])
+  ])
+])# _LT_SET_OPTIONS
+
+
+## --------------------------------- ##
+## Macros to handle LT_INIT options. ##
+## --------------------------------- ##
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the 'dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+  AC_CHECK_TOOL(AS, as, false)
+  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+  AC_CHECK_TOOL(OBJDUMP, objdump, false)
+  ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS],      [1], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the 'win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the 'shared' and
+# 'disable-shared' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for pkg in $enableval; do
+	IFS=$lt_save_ifs
+	if test "X$pkg" = "X$p"; then
+	  enable_shared=yes
+	fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac],
+    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+    _LT_DECL([build_libtool_libs], [enable_shared], [0],
+	[Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the 'static' and
+# 'disable-static' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for pkg in $enableval; do
+	IFS=$lt_save_ifs
+	if test "X$pkg" = "X$p"; then
+	  enable_static=yes
+	fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac],
+    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+    _LT_DECL([build_old_libs], [enable_static], [0],
+	[Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the 'fast-install'
+# and 'disable-fast-install' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for pkg in $enableval; do
+	IFS=$lt_save_ifs
+	if test "X$pkg" = "X$p"; then
+	  enable_fast_install=yes
+	fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac],
+    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+	 [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the 'fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the 'disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_AIX_SONAME([DEFAULT])
+# ----------------------------------
+# implement the --with-aix-soname flag, and support the `aix-soname=aix'
+# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
+# is either `aix', `both' or `svr4'.  If omitted, it defaults to `aix'.
+m4_define([_LT_WITH_AIX_SONAME],
+[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
+shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[[5-9]]*,yes)
+  AC_MSG_CHECKING([which variant of shared library versioning to provide])
+  AC_ARG_WITH([aix-soname],
+    [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
+      [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
+    [case $withval in
+    aix|svr4|both)
+      ;;
+    *)
+      AC_MSG_ERROR([Unknown argument to --with-aix-soname])
+      ;;
+    esac
+    lt_cv_with_aix_soname=$with_aix_soname],
+    [AC_CACHE_VAL([lt_cv_with_aix_soname],
+      [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
+    with_aix_soname=$lt_cv_with_aix_soname])
+  AC_MSG_RESULT([$with_aix_soname])
+  if test aix != "$with_aix_soname"; then
+    # For the AIX way of multilib, we name the shared archive member
+    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+    # the AIX toolchain works better with OBJECT_MODE set (default 32).
+    if test 64 = "${OBJECT_MODE-32}"; then
+      shared_archive_member_spec=shr_64
+    else
+      shared_archive_member_spec=shr
+    fi
+  fi
+  ;;
+*)
+  with_aix_soname=aix
+  ;;
+esac
+
+_LT_DECL([], [shared_archive_member_spec], [0],
+    [Shared archive member basename, for filename based shared library versioning on AIX])dnl
+])# _LT_WITH_AIX_SONAME
+
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
+# LT_INIT options.
+# MODE is either 'yes' or 'no'.  If omitted, it defaults to 'both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
+	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+    [lt_p=${PACKAGE-default}
+    case $withval in
+    yes|no) pic_mode=$withval ;;
+    *)
+      pic_mode=default
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for lt_pkg in $withval; do
+	IFS=$lt_save_ifs
+	if test "X$lt_pkg" = "X$lt_p"; then
+	  pic_mode=yes
+	fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac],
+    [pic_mode=m4_default([$1], [default])])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the 'pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+## ----------------- ##
+## LTDL_INIT Options ##
+## ----------------- ##
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+		 [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+		 [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+		 [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+		 [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+		 [m4_define([_LTDL_TYPE], [convenience])])
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/m4/ltsugar.m4	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,124 @@
+# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
+#
+# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
+# Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file 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.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+       [$#], [2], [[$2]],
+       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59, which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+       [$#], 1, [],
+       [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+	     [m4_foreach([_Lt_suffix],
+		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+		 [lt_append([$1], [$2], [$3])$4],
+		 [$5])],
+	  [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+	[$5],
+    [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+  [lt_join(m4_quote(m4_default([$4], [[, ]])),
+           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/m4/ltversion.m4	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,23 @@
+# ltversion.m4 -- version numbers			-*- Autoconf -*-
+#
+#   Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
+#   Written by Scott James Remnant, 2004
+#
+# This file 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.
+
+# @configure_input@
+
+# serial 4171 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.4.5])
+m4_define([LT_PACKAGE_REVISION], [2.4.5])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.4.5'
+macro_revision='2.4.5'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/m4/lt~obsolete.m4	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,99 @@
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
+#
+#   Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
+#   Foundation, Inc.
+#   Written by Scott James Remnant, 2004.
+#
+# This file 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.
+
+# serial 5 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else.  This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
+m4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
+m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
+m4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
+m4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
+m4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/m4/mysql.m4	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,187 @@
+dnl                                            -*- Autoconf -*-
+##### http://autoconf-archive.cryp.to/ax_lib_mysql.html
+#
+# SYNOPSIS
+#
+#   AX_LIB_MYSQL([MINIMUM-VERSION])
+#
+# DESCRIPTION
+#
+#   This macro provides tests of availability of MySQL 'libmysqlclient'
+#   library of particular version or newer.
+#
+#   AX_LIB_MYSQL macro takes only one argument which is optional.
+#   If there is no required version passed, then macro does not run
+#   version test.
+#
+#   The --with-mysql option takes one of three possible values:
+#
+#   no - do not check for MySQL client library
+#
+#   yes - do check for MySQL library in standard locations
+#   (mysql_config should be in the PATH)
+#
+#   path - complete path to mysql_config utility, use this option if
+#   mysql_config can't be found in the PATH
+#
+#   This macro calls:
+#
+#     AC_SUBST([MYSQL_CFLAGS])
+#     AC_SUBST([MYSQL_CPPFLAGS])
+#     AC_SUBST([MYSQL_LDFLAGS])
+#     AC_SUBST([MYSQL_VERSION])
+#
+#   And sets:
+#
+#     HAVE_MYSQL
+#
+# LAST MODIFICATION
+#
+#   2006-07-16
+#   2007-01-09 MKS: mysql_config --cflags may set gcc -fomit-frame-pointers,
+#                   which prevents gdb from displaying stack traces.
+#                   Changed mysql_config --cflags to mysql_config --include
+#   2009-09-23 AJB: Checking for availability of both, include files and
+#                   library files.
+#   2010-06-14 MKS: Added MYSQL_CPPFLAGS
+#   2011-08-01 MKS: Made test constructs more portable
+#
+# COPYLEFT
+#
+#   Copyright (c) 2006 Mateusz Loskot <mateusz@loskot.net>
+#
+#   Copying and distribution of this file, with or without
+#   modification, are permitted in any medium without royalty provided
+#   the copyright notice and this notice are preserved.
+
+AC_DEFUN([AX_LIB_MYSQL],
+[
+  MYSQL_CFLAGS=""
+  MYSQL_CPPFLAGS=""
+  MYSQL_LDFLAGS=""
+  MYSQL_CONFIG=""
+  MYSQL_VERSION=""
+
+  AC_ARG_WITH([mysql],
+  [AS_HELP_STRING([--with-mysql@<:@=ARG@:>@],
+  [use MySQL client library @<:@default=yes@:>@, optionally specify path to mysql_config])],
+  [
+    AS_IF([test "x${withval}" = "xno"],
+    [want_mysql="no"],
+    [test "x${withval}" = "xyes"],
+    [want_mysql="yes"],
+    [
+      want_mysql="yes"
+      MYSQL_CONFIG="${withval}"
+    ])
+  ],
+  [want_mysql="yes"])
+
+  dnl
+  dnl Check MySQL libraries (libmysqlclient)
+  dnl
+
+  AS_IF([test "x${want_mysql}" = "xyes"],
+  [
+    AS_IF([test -z "${MYSQL_CONFIG}" -o test],
+    [AC_PATH_PROG([MYSQL_CONFIG], [mysql_config], [no])])
+
+    AS_IF([test "x${MYSQL_CONFIG}" != "xno"],
+    [
+      AC_MSG_CHECKING([for MySQL libraries])
+
+      MYSQL_CFLAGS="`${MYSQL_CONFIG} --cflags`"
+      MYSQL_CPPFLAGS="`${MYSQL_CONFIG} --include`"
+      MYSQL_LDFLAGS="`${MYSQL_CONFIG} --libs`"
+
+      MYSQL_VERSION=`${MYSQL_CONFIG} --version`
+
+      dnl It isn't enough to just test for mysql_config as Fedora
+      dnl provides it in the mysql RPM even though mysql-devel may
+      dnl not be installed
+
+      EMBCPPFLAGS="${CPPFLAGS}"
+      EMBLDFLAGS="${LDFLAGS}"
+
+      CPPFLAGS="${MYSQL_CPPFLAGS} ${EMBCPPFLAGS}"
+      LDFLAGS="${MYSQL_LDFLAGS} ${EMBLDFLAGS}"
+
+      AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
+                                        #include "mysql.h"]],
+                                      [[mysql_info(NULL)]])],
+        [havemysql="yes"],
+        [havemysql="no"])
+
+      CPPFLAGS="${EMBCPPFLAGS}"
+      LDFLAGS="${EMBLDFLAGS}"
+
+      AS_IF([test "x${havemysql}" = "xyes"],
+      [
+        AC_DEFINE([HAVE_MYSQL], [1],
+        [Define to 1 if MySQL libraries are available.])
+        found_mysql="yes"
+        AC_MSG_RESULT([yes])
+      ],
+      [
+        MYSQL_CFLAGS=""
+        MYSQL_CPPFLAGS=""
+        MYSQL_LDFLAGS=""
+        found_mysql="no"
+        AC_MSG_RESULT([no])
+      ])
+    ],
+    [
+      found_mysql="no"
+    ])
+  ])
+
+  dnl
+  dnl Check if required version of MySQL is available
+  dnl
+
+  mysql_version_req=ifelse([$1], [], [], [$1])
+
+  AS_IF([test "x${found_mysql}" = "xyes" -a -n "${mysql_version_req}"],
+  [
+    AC_MSG_CHECKING([if MySQL version is >= ${mysql_version_req}])
+
+    dnl Decompose required version string of MySQL
+    dnl and calculate its number representation
+
+    mysql_version_req_major=`expr ${mysql_version_req} : '\([[0-9]]*\)'`
+    mysql_version_req_minor=`expr ${mysql_version_req} : '[[0-9]]*\.\([[0-9]]*\)'`
+    mysql_version_req_micro=`expr ${mysql_version_req} : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
+
+    AS_IF([test "x${mysql_version_req_micro}" = "x"],
+    [mysql_version_req_micro="0"])
+
+    mysql_version_req_number=`expr ${mysql_version_req_major} \* 1000000 \
+                             \+ ${mysql_version_req_minor} \* 1000 \
+                             \+ ${mysql_version_req_micro}`
+
+    dnl Decompose version string of installed MySQL
+    dnl and calculate its number representation
+
+    mysql_version_major=`expr ${MYSQL_VERSION} : '\([[0-9]]*\)'`
+    mysql_version_minor=`expr ${MYSQL_VERSION} : '[[0-9]]*\.\([[0-9]]*\)'`
+    mysql_version_micro=`expr ${MYSQL_VERSION} : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
+
+    AS_IF([test "x${mysql_version_micro}" = "x"],
+    [mysql_version_micro="0"])
+
+    mysql_version_number=`expr ${mysql_version_major} \* 1000000 \
+                         \+ ${mysql_version_minor} \* 1000 \
+                         \+ ${mysql_version_micro}`
+
+    mysql_version_check=`expr ${mysql_version_number} \>\= ${mysql_version_req_number}`
+
+    AS_IF([test "x${mysql_version_check}" = "x1"],
+    [AC_MSG_RESULT([yes])],
+    [AC_MSG_RESULT([no])])
+  ])
+
+  AC_SUBST([MYSQL_CFLAGS])
+  AC_SUBST([MYSQL_CPPFLAGS])
+  AC_SUBST([MYSQL_LDFLAGS])
+  AC_SUBST([MYSQL_VERSION])
+])
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/m4/pngdriver.m4	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,145 @@
+dnl @synopsis CHECK_PNGDRIVER()
+dnl
+dnl This macro searches for an installed png/gd/zlib library. If nothing
+dnl was specified when calling configure, it searches first in /usr/local
+dnl and then in /usr. If the --with-pngdriver=DIR is specified, it will try
+dnl to find it in DIR/include/zlib.h and DIR/lib/libz.a. If --without-pngdriver
+dnl is specified, the library is not searched at all.
+dnl
+dnl It defines the symbol PLD_png if the librarys are found. You should
+dnl use autoheader to include a definition for this symbol in a config.h
+dnl file.
+dnl
+dnl Sources files should then use something like
+dnl
+dnl   #ifdef PLD_png
+dnl   #include <zlib.h>
+dnl   #endif /* PLD_png */
+dnl
+dnl @author Ian Longden <il@sanger.ac.uk>
+dnl Modified: Alan Bleasby. Corrected library order
+dnl
+
+AC_DEFUN([CHECK_PNGDRIVER],
+#
+# Handle user hints
+#
+[AC_MSG_CHECKING([if png driver is wanted])
+AC_ARG_WITH([pngdriver],
+    [AS_HELP_STRING([--with-pngdriver=@<:@DIR@:>@],
+        [root directory path of png/gd/zlib installation (defaults to /usr)])],
+[if test "$withval" != no ; then
+  AC_MSG_RESULT([yes])
+  ALT_HOME="$withval"
+else
+  AC_MSG_RESULT([no])
+fi], [
+AC_MSG_RESULT([yes])
+ALT_HOME=/usr
+])
+
+
+#
+# Locate png/gd/zlib, if wanted
+#
+if test -d "${ALT_HOME}"
+then
+
+#
+# Keep a copy if it fails
+#
+	ALT_LDFLAGS="$LDFLAGS"
+	ALT_CPPFLAGS="$CPPFLAGS"
+
+#
+# Set 
+#
+        LDFLAGS="${LDFLAGS} -L${ALT_HOME}/lib"
+        CPPFLAGS="$CPPFLAGS -I$ALT_HOME/include"
+
+	  ICCHECK=0
+	  case $host_os in
+          solaris*)
+	        AC_CHECK_LIB(iconv, libiconv_close, ICCHECK=1, ICCHECK=0, -L${ALT_HOME}/lib -liconv)
+	           if test $ICCHECK = "1" ; then
+	               LDFLAGS="${LDFLAGS} -L${ALT_HOME}/lib -liconv"
+	           fi
+	        LDFLAGS="$LDFLAGS -R$ALT_HOME/lib"
+                ;;
+          esac
+
+
+
+
+
+#
+# Check for zlib in ALT_HOME
+#
+        AC_CHECK_LIB(z, inflateEnd, CHECK=1, CHECK=0, -L${ALT_HOME}/lib -lz)
+#
+
+#
+# Check for png
+#
+	if test $CHECK = "1" ; then
+	  AC_CHECK_LIB(png, png_destroy_read_struct, CHECK=1, CHECK=0 , -L${ALT_HOME}/lib -lz)
+	fi
+	
+
+
+
+#
+# Check for gd
+#
+	if test $CHECK = "1"; then
+	  AC_CHECK_LIB(gd, gdImageCreateFromPng, CHECK=1, CHECK=0 , -L${ALT_HOME}/lib -lgd -lpng -lz -lm)
+          if test $CHECK = "0"; then
+		echo need to upgrade gd for png driver for plplot
+	  fi
+	fi
+#
+# If everything found okay then proceed to include png driver in config.
+#
+	if test $CHECK = "1" ; then
+	  LIBS="$LIBS -lgd -lpng -lz -lm"
+
+	  if test $ICCHECK = "1" ; then
+		  LIBS="$LIBS -liconv"
+	  fi
+        
+          case $host_os in
+          solaris*)
+	      LDFLAGS="$LDFLAGS -R$ALT_HOME/lib"
+              ;;
+          esac
+
+	  AC_DEFINE([PLD_png], [1], [Define to 1 is PNG support is available])
+	  AM_CONDITIONAL(AMPNG, true)
+	  echo PNG libraries found
+	    if test $ALT_HOME = "/usr" ; then
+		  LDFLAGS="$ALT_LDFLAGS"
+		  CPPFLAGS="$ALT_CPPFLAGS"
+	    fi
+	else
+#
+# If not okay then reset FLAGS.
+#
+  	  AM_CONDITIONAL(AMPNG, false)
+	  LDFLAGS="$ALT_LDFLAGS"
+	  CPPFLAGS="$ALT_CPPFLAGS"
+	  echo No png driver will be made due to librarys missing/old.
+	fi
+#       echo PNG STUFF FOLLOWS!!!
+#       echo CHECK = $CHECK
+#       echo LIBS = $LIBS
+#       echo LDFLAGS = $LDFLAGS
+#       echo CPPFLAGS = $CPPFLAGS
+
+
+else
+        if test $withval != "no"; then
+		echo "Directory $ALT_HOME does not exist"
+		exit 0
+        fi
+fi
+])
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/m4/postgresql.m4	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,184 @@
+dnl                                            -*- Autoconf -*-
+##### http://autoconf-archive.cryp.to/ax_lib_postgresql.html
+#
+# SYNOPSIS
+#
+#   AX_LIB_POSTGRESQL([MINIMUM-VERSION])
+#
+# DESCRIPTION
+#
+#   This macro provides tests of availability of PostgreSQL 'libpq'
+#   library of particular version or newer.
+#
+#   AX_LIB_POSTGRESQL macro takes only one argument which is optional.
+#   If there is no required version passed, then macro does not run
+#   version test.
+#
+#   The --with-postgresql option takes one of three possible values:
+#
+#   no - do not check for PostgreSQL client library
+#
+#   yes - do check for PostgreSQL library in standard locations
+#   (pg_config should be in the PATH)
+#
+#   path - complete path to pg_config utility, use this option if
+#   pg_config can't be found in the PATH
+#
+#   This macro calls:
+#
+#     AC_SUBST([POSTGRESQL_CFLAGS])
+#     AC_SUBST([POSTGRESQL_CPPFLAGS])
+#     AC_SUBST([POSTGRESQL_LDFLAGS])
+#     AC_SUBST([POSTGRESQL_VERSION])
+#
+#   And sets:
+#
+#     HAVE_POSTGRESQL
+#
+# LAST MODIFICATION
+#
+#   2006-07-16
+#   2010-05-14 MKS: Added POSTGRESQL_CPPFLAGS
+#   2011-06-21 AJB: Added workaround for Fedora pg_config oddity
+#   2011-08-01 MKS: Changed PG_CONFIG to POSTGRESQL_CONFIG
+#                   Made test constructs more portable
+#
+# COPYLEFT
+#
+#   Copyright (c) 2006 Mateusz Loskot <mateusz@loskot.net>
+#
+#   Copying and distribution of this file, with or without
+#   modification, are permitted in any medium without royalty provided
+#   the copyright notice and this notice are preserved.
+
+AC_DEFUN([AX_LIB_POSTGRESQL],
+[
+  POSTGRESQL_CFLAGS=""
+  POSTGRESQL_CPPFLAGS=""
+  POSTGRESQL_LDFLAGS=""
+  POSTGRESQL_CONFIG=""
+  POSTGRESQL_VERSION=""
+
+  AC_ARG_WITH([postgresql],
+  [AS_HELP_STRING([--with-postgresql@<:=@ARG@:>@],
+  [use PostgreSQL library @<:@default=yes@:>@, optionally specify path to pg_config])],
+  [
+    AS_IF([test "x${withval}" = "xno"],
+    [want_postgresql="no"],
+    [test "x${withval}" = "xyes"],
+    [want_postgresql="yes"],
+    [
+      want_postgresql="yes"
+      POSTGRESQL_CONFIG="${withval}"
+    ])
+  ],
+  [want_postgresql="yes"])
+
+  dnl
+  dnl Check PostgreSQL libraries (libpq)
+  dnl
+
+  AS_IF([test "x${want_postgresql}" = "xyes"],
+  [
+    AS_IF([test -z "${POSTGRESQL_CONFIG}" -o test],
+    [AC_PATH_PROG([POSTGRESQL_CONFIG], [pg_config], [no])])
+
+    AS_IF([test "x${POSTGRESQL_CONFIG}" != "xno"],
+    [
+      AC_MSG_CHECKING([for PostgreSQL libraries])
+
+      POSTGRESQL_CFLAGS="-I`${POSTGRESQL_CONFIG} --includedir`"
+      POSTGRESQL_CPPFLAGS="-I`${POSTGRESQL_CONFIG} --includedir`"
+      POSTGRESQL_LDFLAGS="-L`${POSTGRESQL_CONFIG} --libdir` -lpq"
+
+      POSTGRESQL_VERSION=`${POSTGRESQL_CONFIG} --version | sed -e 's#PostgreSQL ##'`
+
+      dnl It isn't enough to just test for pg_config as Fedora
+      dnl provides it in the postgresql RPM even though postgresql-devel may
+      dnl not be installed
+
+      EMBCPPFLAGS="${CPPFLAGS}"
+      EMBLDFLAGS="${LDFLAGS}"
+
+      CPPFLAGS="${POSTGRESQL_CPPFLAGS} ${EMBCPPFLAGS}"
+      LDFLAGS="${POSTGRESQL_LDFLAGS} ${EMBLDFLAGS}"
+
+      AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
+                                        #include "libpq-fe.h"]],
+                                      [[PQconnectdb(NULL)]])],
+        [havepostgresql="yes"],
+        [havepostgresql="no"])
+
+      CPPFLAGS="${EMBCPPFLAGS}"
+      LDFLAGS="${EMBLDFLAGS}"
+
+      AS_IF([test "x${havepostgresql}" = "xyes"],
+      [
+        AC_DEFINE([HAVE_POSTGRESQL], [1],
+        [Define to 1 if PostgreSQL libraries are available.])
+        found_postgresql="yes"
+        AC_MSG_RESULT([yes])
+      ],
+      [
+        POSTGRESQL_CFLAGS=""
+        POSTGRESQL_CPPFLAGS=""
+        POSTGRESQL_LDFLAGS=""
+        found_postgresql="no"
+        AC_MSG_RESULT([no])
+      ])
+    ],
+    [
+      found_postgresql="no"
+    ])
+  ])
+
+  dnl
+  dnl Check if required version of PostgreSQL is available
+  dnl
+
+  postgresql_version_req=ifelse([$1], [], [], [$1])
+
+  AS_IF([test "x${found_postgresql}" = "xyes" -a -n "${postgresql_version_req}"],
+  [
+    AC_MSG_CHECKING([if PostgreSQL version is >= ${postgresql_version_req}])
+
+    dnl Decompose required version string of PostgreSQL
+    dnl and calculate its number representation
+
+    postgresql_version_req_major=`expr ${postgresql_version_req} : '\([[0-9]]*\)'`
+    postgresql_version_req_minor=`expr ${postgresql_version_req} : '[[0-9]]*\.\([[0-9]]*\)'`
+    postgresql_version_req_micro=`expr ${postgresql_version_req} : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
+
+    AS_IF([test "x${postgresql_version_req_micro}" = "x"],
+    [postgresql_version_req_micro="0"])
+
+    postgresql_version_req_number=`expr ${postgresql_version_req_major} \* 1000000 \
+                                  \+ ${postgresql_version_req_minor} \* 1000 \
+                                  \+ ${postgresql_version_req_micro}`
+
+    dnl Decompose version string of installed PostgreSQL
+    dnl and calculate its number representation
+
+    postgresql_version_major=`expr ${POSTGRESQL_VERSION} : '\([[0-9]]*\)'`
+    postgresql_version_minor=`expr ${POSTGRESQL_VERSION} : '[[0-9]]*\.\([[0-9]]*\)'`
+    postgresql_version_micro=`expr ${POSTGRESQL_VERSION} : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
+
+    AS_IF([test "x${postgresql_version_micro}" = "x"],
+      [postgresql_version_micro="0"])
+
+    postgresql_version_number=`expr ${postgresql_version_major} \* 1000000 \
+                              \+ ${postgresql_version_minor} \* 1000 \
+                              \+ ${postgresql_version_micro}`
+
+    postgresql_version_check=`expr ${postgresql_version_number} \>\= ${postgresql_version_req_number}`
+
+    AS_IF([test "x${postgresql_version_check}" = "x1"],
+    [AC_MSG_RESULT([yes])],
+    [AC_MSG_RESULT([no])])
+  ])
+
+  AC_SUBST([POSTGRESQL_CFLAGS])
+  AC_SUBST([POSTGRESQL_CPPFLAGS])
+  AC_SUBST([POSTGRESQL_LDFLAGS])
+  AC_SUBST([POSTGRESQL_VERSION])
+])
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/m4/sgi.m4	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,53 @@
+AC_DEFUN([CHECK_SGI],
+#
+# Handle SGI compiler flags
+#
+[AC_MSG_CHECKING([for sgiabi])
+AC_ARG_WITH([sgiabi],
+    [AS_HELP_STRING([--with-sgiabi=@<:@ARG@:>@],
+        [SGI compiler flags @<:@default=no@:>@])],
+[if test "$withval" != no ; then
+  AC_MSG_RESULT([yes])
+
+  case $host_os in
+  irix*)
+    if test "$withval" = n32m3 ; then
+      CFLAGS="-n32 -mips3 $CFLAGS"
+      LD="/usr/bin/ld -n32 -mips3 -IPA -L/usr/lib32"
+	if test -d /usr/freeware ; then
+          LDFLAGS="-L/usr/freeware/lib32 $LDFLAGS"
+        fi
+    fi
+
+    if test "$withval" = n32m4 ; then
+      CFLAGS="-n32 -mips4 $CFLAGS"
+      LD="/usr/bin/ld -n32 -mips4 -IPA -L/usr/lib32"
+	if test -d /usr/freeware ; then
+          LDFLAGS="-L/usr/freeware/lib32 $LDFLAGS"
+        fi
+    fi
+
+    if test "$withval" = 64m3 ; then
+      CFLAGS="-64 -mips3 $CFLAGS"
+      LD="/usr/bin/ld -64 -mips3 -IPA -L/usr/lib64"
+	if test -d /usr/freeware ; then
+          LDFLAGS="-L/usr/freeware/lib64 $LDFLAGS"
+        fi
+    fi
+
+    if test "$withval" = 64m4 ; then
+      CFLAGS="-64 -mips4 $CFLAGS"
+      LD="/usr/bin/ld -64 -mips4 -IPA -L/usr/lib64"
+	if test -d /usr/freeware ; then
+          LDFLAGS="-L/usr/freeware/lib64 $LDFLAGS"
+        fi
+    fi
+    ;;
+  esac
+
+
+fi], [
+AC_MSG_RESULT([no])
+])
+]
+)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/missing	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,215 @@
+#! /bin/sh
+# Common wrapper for a few potentially missing GNU programs.
+
+scriptversion=2013-10-28.13; # UTC
+
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try '$0 --help' for more information"
+  exit 1
+fi
+
+case $1 in
+
+  --is-lightweight)
+    # Used by our autoconf macros to check whether the available missing
+    # script is modern enough.
+    exit 0
+    ;;
+
+  --run)
+    # Back-compat with the calling convention used by older automake.
+    shift
+    ;;
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+
+Supported PROGRAM values:
+  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
+  bison     yacc      flex         lex       help2man
+
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
+
+Send bug reports to <bug-automake@gnu.org>."
+    exit $?
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing $scriptversion (GNU Automake)"
+    exit $?
+    ;;
+
+  -*)
+    echo 1>&2 "$0: unknown '$1' option"
+    echo 1>&2 "Try '$0 --help' for more information"
+    exit 1
+    ;;
+
+esac
+
+# Run the given program, remember its exit status.
+"$@"; st=$?
+
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
+
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch.  This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+  msg="probably too old"
+elif test $st -eq 127; then
+  # Program was missing.
+  msg="missing on your system"
+else
+  # Program was found and executed, but failed.  Give up.
+  exit $st
+fi
+
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+  case $1 in
+    aclocal|automake)
+      echo "The '$1' program is part of the GNU Automake package:"
+      echo "<$gnu_software_URL/automake>"
+      echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/autoconf>"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+    autoconf|autom4te|autoheader)
+      echo "The '$1' program is part of the GNU Autoconf package:"
+      echo "<$gnu_software_URL/autoconf/>"
+      echo "It also requires GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+  esac
+}
+
+give_advice ()
+{
+  # Normalize program name to check for.
+  normalized_program=`echo "$1" | sed '
+    s/^gnu-//; t
+    s/^gnu//; t
+    s/^g//; t'`
+
+  printf '%s\n' "'$1' is $msg."
+
+  configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+  case $normalized_program in
+    autoconf*)
+      echo "You should only need it if you modified 'configure.ac',"
+      echo "or m4 files included by it."
+      program_details 'autoconf'
+      ;;
+    autoheader*)
+      echo "You should only need it if you modified 'acconfig.h' or"
+      echo "$configure_deps."
+      program_details 'autoheader'
+      ;;
+    automake*)
+      echo "You should only need it if you modified 'Makefile.am' or"
+      echo "$configure_deps."
+      program_details 'automake'
+      ;;
+    aclocal*)
+      echo "You should only need it if you modified 'acinclude.m4' or"
+      echo "$configure_deps."
+      program_details 'aclocal'
+      ;;
+   autom4te*)
+      echo "You might have modified some maintainer files that require"
+      echo "the 'autom4te' program to be rebuilt."
+      program_details 'autom4te'
+      ;;
+    bison*|yacc*)
+      echo "You should only need it if you modified a '.y' file."
+      echo "You may want to install the GNU Bison package:"
+      echo "<$gnu_software_URL/bison/>"
+      ;;
+    lex*|flex*)
+      echo "You should only need it if you modified a '.l' file."
+      echo "You may want to install the Fast Lexical Analyzer package:"
+      echo "<$flex_URL>"
+      ;;
+    help2man*)
+      echo "You should only need it if you modified a dependency" \
+           "of a man page."
+      echo "You may want to install the GNU Help2man package:"
+      echo "<$gnu_software_URL/help2man/>"
+    ;;
+    makeinfo*)
+      echo "You should only need it if you modified a '.texi' file, or"
+      echo "any other file indirectly affecting the aspect of the manual."
+      echo "You might want to install the Texinfo package:"
+      echo "<$gnu_software_URL/texinfo/>"
+      echo "The spurious makeinfo call might also be the consequence of"
+      echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+      echo "want to install GNU make:"
+      echo "<$gnu_software_URL/make/>"
+      ;;
+    *)
+      echo "You might have modified some files without having the proper"
+      echo "tools for further handling them.  Check the 'README' file, it"
+      echo "often tells you about the needed prerequisites for installing"
+      echo "this package.  You may also peek at any GNU archive site, in"
+      echo "case some other package contains this missing '$1' program."
+      ;;
+  esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+                       -e '2,$s/^/         /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/Makefile.am	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,164 @@
+## Process this file with automake to produce Makefile.in
+
+if LOCALLINK
+INCLUDES = -I../include -I../../../nucleus -I../../../ajax/pcre \
+	-I../../../ajax/expat -I../../../ajax/zlib \
+	-I../../../ajax/core -I../../../ajax/graphics \
+	-I../../../ajax/ensembl -I../../../ajax/ajaxdb \
+	-I../../../ajax/acd -I../../../plplot -I../gsoap
+else
+INCLUDES = -I../include -I${embprefix}/include -I${embprefix}/include/eplplot -I${embprefix}/include/epcre -I${embprefix}/include/ezlib -I../gsoap
+endif
+
+if ISSHARED
+if ISAIXIA64
+if LOCALLINK
+AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L../../../plplot/.libs \
+-L../../../ajax/pcre/.libs -L../../../ajax/expat/.libs \
+-L../../../ajax/zlib/.libs -L../../../ajax/core/.libs \
+-L../../../ajax/graphics/.libs -L../../../ajax/ensembl/.libs \
+-L../../../ajax/ajaxdb/.libs -L../../../ajax/acd/.libs \
+-L../../../nucleus/.libs \
+-lnucleus -lacd -lajaxdb -lensembl -lajaxg -lajax -leexpat -lepcre \
+-lezlib -leplplot
+else
+AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L${embprefix}/lib -lnucleus -lacd \
+-lajaxdb -lensembl -lajaxg -lajax -leexpat -lepcre -lezlib -leplplot
+endif
+endif
+endif
+
+AM_CFLAGS =  $(AIX_CFLAGS) $(WARN_CFLAGS) $(DEVWARN_CFLAGS)
+
+## To add programs
+## Add the program binary name to bin_PROGRAMS
+## (using \ as a continuation character for multiple lines)
+##
+## And add a programname_SOURCES line to define the source files
+## to be compiled and linked
+##
+## make will compile and link the program
+## make install will copy the program to the install directory
+
+bin_PROGRAMS = genret \
+               gaaui\
+               gaminoinfo\
+               gb1\
+               gb2\
+               gbasecounter\
+               gbaseentropy\
+               gbaseinformationcontent\
+               gbaserelativeentropy\
+               gbasezvalue\
+	       gbui\
+               gcai\
+               gcbi\
+               gcgr\
+               gcircularmap\
+               gcodoncompiler\
+               gconsensusz\
+               gdeltaenc\
+               gdeltagcskew\
+               gdinuc\
+               gdistincc\
+               gdnawalk\
+               genc\
+               gentrez\
+               gew\
+               gfindoriter\
+               gfop\
+               ggcsi\
+               ggcskew\
+               ggcwin\
+               ggeneskew\
+               ggenomicskew\
+               ggenomemap3\
+               gicdi\
+               gkmertable\
+               gldabias\
+               gnucleotideperiodicity\
+	       goligomercounter\
+	       goligomersearch\
+               gp2\
+               gpalindrome\
+               gphx\
+               gqueryarm\
+               gquerystrand\
+               greporiter\
+               gsvalue\
+               gscs\
+               gseq2png\
+               gseqinfo\
+               gshuffleseq\
+               gsignature\
+               gviewcds\
+               gwvalue
+
+genret_SOURCES                  = genret.c
+gaaui_SOURCES                   = gaaui.c
+gaminoinfo_SOURCES              = gaminoinfo.c
+gb1_SOURCES                     = gb1.c
+gb2_SOURCES                     = gb2.c
+gbasecounter_SOURCES            = gbasecounter.c
+gbaseentropy_SOURCES            = gbaseentropy.c
+gbaseinformationcontent_SOURCES = gbaseinformationcontent.c
+gbaserelativeentropy_SOURCES    = gbaserelativeentropy.c
+gbasezvalue_SOURCES             = gbasezvalue.c
+gbui_SOURCES                    = gbui.c
+gcai_SOURCES                    = gcai.c
+gcbi_SOURCES                    = gcbi.c
+gcgr_SOURCES                    = gcgr.c
+gcircularmap_SOURCES            = gcircularmap.c
+gcodoncompiler_SOURCES          = gcodoncompiler.c
+gconsensusz_SOURCES             = gconsensusz.c
+gdeltaenc_SOURCES               = gdeltaenc.c
+gdeltagcskew_SOURCES            = gdeltagcskew.c
+gdistincc_SOURCES               = gdistincc.c
+gdinuc_SOURCES                  = gdinuc.c
+gdnawalk_SOURCES                = gdnawalk.c
+genc_SOURCES                    = genc.c
+gentrez_SOURCES                 = gentrez.c
+gew_SOURCES                     = gew.c
+gfindoriter_SOURCES             = gfindoriter.c
+gfop_SOURCES                    = gfop.c
+ggcsi_SOURCES                   = ggcsi.c
+ggcwin_SOURCES                  = ggcwin.c
+ggeneskew_SOURCES               = ggeneskew.c
+ggenomicskew_SOURCES            = ggenomicskew.c
+ggenomemap3_SOURCES             = ggenomemap3.c
+gicdi_SOURCES                   = gicdi.c
+gkmertable_SOURCES              = gkmertable.c
+gldabias_SOURCES                = gldabias.c
+gnucleotideperiodicity_SOURCES  = gnucleotideperiodicity.c
+goligomercounter_SOURCES        = goligomercounter.c
+goligomersearch_SOURCES         = goligomersearch.c
+gp2_SOURCES                     = gp2.c
+gpalindrome_SOURCES             = gpalindrome.c
+gphx_SOURCES                    = gphx.c
+gqueryarm_SOURCES               = gqueryarm.c
+gquerystrand_SOURCES            = gquerystrand.c
+greporiter_SOURCES              = greporiter.c
+gsvalue_SOURCES                 = gsvalue.c
+gscs_SOURCES                    = gscs.c
+gseq2png_SOURCES                = gseq2png.c
+gseqinfo_SOURCES                = gseqinfo.c
+gshuffleseq_SOURCES             = gshuffleseq.c
+gsignature_SOURCES              = gsignature.c
+gviewcds_SOURCES                = gviewcds.c
+gwvalue_SOURCES                 = gwvalue.c
+
+if LOCALLINK
+LDADD = ../../../nucleus/libnucleus.la ../../../ajax/acd/libacd.la \
+	../../../ajax/ajaxdb/libajaxdb.la \
+	../../../ajax/ensembl/libensembl.la \
+	../../../ajax/graphics/libajaxg.la \
+	../../../ajax/core/libajax.la \
+	../../../ajax/zlib/libezlib.la \
+	../../../ajax/expat/libeexpat.la \
+	../../../ajax/pcre/libepcre.la \
+	../../../plplot/libeplplot.la \
+        $(XLIB)
+else
+LDADD = -L${embprefix}/lib -L../include -lnucleus -lacd -lajaxdb -lensembl \
+        -lajaxg -lajax -leexpat -lepcre -lezlib -leplplot $(XLIB)
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/Makefile.in	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,1920 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 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@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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 = genret$(EXEEXT) gaaui$(EXEEXT) gaminoinfo$(EXEEXT) \
+	gb1$(EXEEXT) gb2$(EXEEXT) gbasecounter$(EXEEXT) \
+	gbaseentropy$(EXEEXT) gbaseinformationcontent$(EXEEXT) \
+	gbaserelativeentropy$(EXEEXT) gbasezvalue$(EXEEXT) \
+	gbui$(EXEEXT) gcai$(EXEEXT) gcbi$(EXEEXT) gcgr$(EXEEXT) \
+	gcircularmap$(EXEEXT) gcodoncompiler$(EXEEXT) \
+	gconsensusz$(EXEEXT) gdeltaenc$(EXEEXT) gdeltagcskew$(EXEEXT) \
+	gdinuc$(EXEEXT) gdistincc$(EXEEXT) gdnawalk$(EXEEXT) \
+	genc$(EXEEXT) gentrez$(EXEEXT) gew$(EXEEXT) \
+	gfindoriter$(EXEEXT) gfop$(EXEEXT) ggcsi$(EXEEXT) \
+	ggcskew$(EXEEXT) ggcwin$(EXEEXT) ggeneskew$(EXEEXT) \
+	ggenomicskew$(EXEEXT) ggenomemap3$(EXEEXT) gicdi$(EXEEXT) \
+	gkmertable$(EXEEXT) gldabias$(EXEEXT) \
+	gnucleotideperiodicity$(EXEEXT) goligomercounter$(EXEEXT) \
+	goligomersearch$(EXEEXT) gp2$(EXEEXT) gpalindrome$(EXEEXT) \
+	gphx$(EXEEXT) gqueryarm$(EXEEXT) gquerystrand$(EXEEXT) \
+	greporiter$(EXEEXT) gsvalue$(EXEEXT) gscs$(EXEEXT) \
+	gseq2png$(EXEEXT) gseqinfo$(EXEEXT) gshuffleseq$(EXEEXT) \
+	gsignature$(EXEEXT) gviewcds$(EXEEXT) gwvalue$(EXEEXT)
+subdir = src
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/general.m4 \
+	$(top_srcdir)/m4/hpdf.m4 $(top_srcdir)/m4/java.m4 \
+	$(top_srcdir)/m4/lf_x11.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)/m4/mysql.m4 $(top_srcdir)/m4/pngdriver.m4 \
+	$(top_srcdir)/m4/postgresql.m4 $(top_srcdir)/m4/sgi.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+PROGRAMS = $(bin_PROGRAMS)
+am_gaaui_OBJECTS = gaaui.$(OBJEXT)
+gaaui_OBJECTS = $(am_gaaui_OBJECTS)
+gaaui_LDADD = $(LDADD)
+am__DEPENDENCIES_1 =
+@LOCALLINK_FALSE@gaaui_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gaaui_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 = 
+am_gaminoinfo_OBJECTS = gaminoinfo.$(OBJEXT)
+gaminoinfo_OBJECTS = $(am_gaminoinfo_OBJECTS)
+gaminoinfo_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gaminoinfo_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gaminoinfo_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gb1_OBJECTS = gb1.$(OBJEXT)
+gb1_OBJECTS = $(am_gb1_OBJECTS)
+gb1_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gb1_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gb1_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gb2_OBJECTS = gb2.$(OBJEXT)
+gb2_OBJECTS = $(am_gb2_OBJECTS)
+gb2_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gb2_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gb2_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gbasecounter_OBJECTS = gbasecounter.$(OBJEXT)
+gbasecounter_OBJECTS = $(am_gbasecounter_OBJECTS)
+gbasecounter_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gbasecounter_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gbasecounter_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gbaseentropy_OBJECTS = gbaseentropy.$(OBJEXT)
+gbaseentropy_OBJECTS = $(am_gbaseentropy_OBJECTS)
+gbaseentropy_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gbaseentropy_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gbaseentropy_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gbaseinformationcontent_OBJECTS =  \
+	gbaseinformationcontent.$(OBJEXT)
+gbaseinformationcontent_OBJECTS =  \
+	$(am_gbaseinformationcontent_OBJECTS)
+gbaseinformationcontent_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gbaseinformationcontent_DEPENDENCIES =  \
+@LOCALLINK_FALSE@	$(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gbaseinformationcontent_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gbaserelativeentropy_OBJECTS = gbaserelativeentropy.$(OBJEXT)
+gbaserelativeentropy_OBJECTS = $(am_gbaserelativeentropy_OBJECTS)
+gbaserelativeentropy_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gbaserelativeentropy_DEPENDENCIES =  \
+@LOCALLINK_FALSE@	$(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gbaserelativeentropy_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gbasezvalue_OBJECTS = gbasezvalue.$(OBJEXT)
+gbasezvalue_OBJECTS = $(am_gbasezvalue_OBJECTS)
+gbasezvalue_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gbasezvalue_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gbasezvalue_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gbui_OBJECTS = gbui.$(OBJEXT)
+gbui_OBJECTS = $(am_gbui_OBJECTS)
+gbui_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gbui_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gbui_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gcai_OBJECTS = gcai.$(OBJEXT)
+gcai_OBJECTS = $(am_gcai_OBJECTS)
+gcai_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gcai_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gcai_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gcbi_OBJECTS = gcbi.$(OBJEXT)
+gcbi_OBJECTS = $(am_gcbi_OBJECTS)
+gcbi_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gcbi_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gcbi_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gcgr_OBJECTS = gcgr.$(OBJEXT)
+gcgr_OBJECTS = $(am_gcgr_OBJECTS)
+gcgr_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gcgr_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gcgr_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gcircularmap_OBJECTS = gcircularmap.$(OBJEXT)
+gcircularmap_OBJECTS = $(am_gcircularmap_OBJECTS)
+gcircularmap_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gcircularmap_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gcircularmap_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gcodoncompiler_OBJECTS = gcodoncompiler.$(OBJEXT)
+gcodoncompiler_OBJECTS = $(am_gcodoncompiler_OBJECTS)
+gcodoncompiler_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gcodoncompiler_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gcodoncompiler_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gconsensusz_OBJECTS = gconsensusz.$(OBJEXT)
+gconsensusz_OBJECTS = $(am_gconsensusz_OBJECTS)
+gconsensusz_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gconsensusz_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gconsensusz_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gdeltaenc_OBJECTS = gdeltaenc.$(OBJEXT)
+gdeltaenc_OBJECTS = $(am_gdeltaenc_OBJECTS)
+gdeltaenc_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gdeltaenc_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gdeltaenc_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gdeltagcskew_OBJECTS = gdeltagcskew.$(OBJEXT)
+gdeltagcskew_OBJECTS = $(am_gdeltagcskew_OBJECTS)
+gdeltagcskew_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gdeltagcskew_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gdeltagcskew_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gdinuc_OBJECTS = gdinuc.$(OBJEXT)
+gdinuc_OBJECTS = $(am_gdinuc_OBJECTS)
+gdinuc_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gdinuc_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gdinuc_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gdistincc_OBJECTS = gdistincc.$(OBJEXT)
+gdistincc_OBJECTS = $(am_gdistincc_OBJECTS)
+gdistincc_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gdistincc_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gdistincc_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gdnawalk_OBJECTS = gdnawalk.$(OBJEXT)
+gdnawalk_OBJECTS = $(am_gdnawalk_OBJECTS)
+gdnawalk_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gdnawalk_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gdnawalk_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_genc_OBJECTS = genc.$(OBJEXT)
+genc_OBJECTS = $(am_genc_OBJECTS)
+genc_LDADD = $(LDADD)
+@LOCALLINK_FALSE@genc_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@genc_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_genret_OBJECTS = genret.$(OBJEXT)
+genret_OBJECTS = $(am_genret_OBJECTS)
+genret_LDADD = $(LDADD)
+@LOCALLINK_FALSE@genret_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@genret_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gentrez_OBJECTS = gentrez.$(OBJEXT)
+gentrez_OBJECTS = $(am_gentrez_OBJECTS)
+gentrez_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gentrez_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gentrez_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gew_OBJECTS = gew.$(OBJEXT)
+gew_OBJECTS = $(am_gew_OBJECTS)
+gew_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gew_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gew_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gfindoriter_OBJECTS = gfindoriter.$(OBJEXT)
+gfindoriter_OBJECTS = $(am_gfindoriter_OBJECTS)
+gfindoriter_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gfindoriter_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gfindoriter_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gfop_OBJECTS = gfop.$(OBJEXT)
+gfop_OBJECTS = $(am_gfop_OBJECTS)
+gfop_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gfop_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gfop_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_ggcsi_OBJECTS = ggcsi.$(OBJEXT)
+ggcsi_OBJECTS = $(am_ggcsi_OBJECTS)
+ggcsi_LDADD = $(LDADD)
+@LOCALLINK_FALSE@ggcsi_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@ggcsi_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+ggcskew_SOURCES = ggcskew.c
+ggcskew_OBJECTS = ggcskew.$(OBJEXT)
+ggcskew_LDADD = $(LDADD)
+@LOCALLINK_FALSE@ggcskew_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@ggcskew_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_ggcwin_OBJECTS = ggcwin.$(OBJEXT)
+ggcwin_OBJECTS = $(am_ggcwin_OBJECTS)
+ggcwin_LDADD = $(LDADD)
+@LOCALLINK_FALSE@ggcwin_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@ggcwin_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_ggeneskew_OBJECTS = ggeneskew.$(OBJEXT)
+ggeneskew_OBJECTS = $(am_ggeneskew_OBJECTS)
+ggeneskew_LDADD = $(LDADD)
+@LOCALLINK_FALSE@ggeneskew_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@ggeneskew_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_ggenomemap3_OBJECTS = ggenomemap3.$(OBJEXT)
+ggenomemap3_OBJECTS = $(am_ggenomemap3_OBJECTS)
+ggenomemap3_LDADD = $(LDADD)
+@LOCALLINK_FALSE@ggenomemap3_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@ggenomemap3_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_ggenomicskew_OBJECTS = ggenomicskew.$(OBJEXT)
+ggenomicskew_OBJECTS = $(am_ggenomicskew_OBJECTS)
+ggenomicskew_LDADD = $(LDADD)
+@LOCALLINK_FALSE@ggenomicskew_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@ggenomicskew_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gicdi_OBJECTS = gicdi.$(OBJEXT)
+gicdi_OBJECTS = $(am_gicdi_OBJECTS)
+gicdi_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gicdi_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gicdi_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gkmertable_OBJECTS = gkmertable.$(OBJEXT)
+gkmertable_OBJECTS = $(am_gkmertable_OBJECTS)
+gkmertable_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gkmertable_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gkmertable_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gldabias_OBJECTS = gldabias.$(OBJEXT)
+gldabias_OBJECTS = $(am_gldabias_OBJECTS)
+gldabias_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gldabias_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gldabias_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gnucleotideperiodicity_OBJECTS = gnucleotideperiodicity.$(OBJEXT)
+gnucleotideperiodicity_OBJECTS = $(am_gnucleotideperiodicity_OBJECTS)
+gnucleotideperiodicity_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gnucleotideperiodicity_DEPENDENCIES =  \
+@LOCALLINK_FALSE@	$(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gnucleotideperiodicity_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_goligomercounter_OBJECTS = goligomercounter.$(OBJEXT)
+goligomercounter_OBJECTS = $(am_goligomercounter_OBJECTS)
+goligomercounter_LDADD = $(LDADD)
+@LOCALLINK_FALSE@goligomercounter_DEPENDENCIES =  \
+@LOCALLINK_FALSE@	$(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@goligomercounter_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_goligomersearch_OBJECTS = goligomersearch.$(OBJEXT)
+goligomersearch_OBJECTS = $(am_goligomersearch_OBJECTS)
+goligomersearch_LDADD = $(LDADD)
+@LOCALLINK_FALSE@goligomersearch_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@goligomersearch_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gp2_OBJECTS = gp2.$(OBJEXT)
+gp2_OBJECTS = $(am_gp2_OBJECTS)
+gp2_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gp2_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gp2_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gpalindrome_OBJECTS = gpalindrome.$(OBJEXT)
+gpalindrome_OBJECTS = $(am_gpalindrome_OBJECTS)
+gpalindrome_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gpalindrome_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gpalindrome_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gphx_OBJECTS = gphx.$(OBJEXT)
+gphx_OBJECTS = $(am_gphx_OBJECTS)
+gphx_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gphx_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gphx_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gqueryarm_OBJECTS = gqueryarm.$(OBJEXT)
+gqueryarm_OBJECTS = $(am_gqueryarm_OBJECTS)
+gqueryarm_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gqueryarm_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gqueryarm_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gquerystrand_OBJECTS = gquerystrand.$(OBJEXT)
+gquerystrand_OBJECTS = $(am_gquerystrand_OBJECTS)
+gquerystrand_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gquerystrand_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gquerystrand_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_greporiter_OBJECTS = greporiter.$(OBJEXT)
+greporiter_OBJECTS = $(am_greporiter_OBJECTS)
+greporiter_LDADD = $(LDADD)
+@LOCALLINK_FALSE@greporiter_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@greporiter_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gscs_OBJECTS = gscs.$(OBJEXT)
+gscs_OBJECTS = $(am_gscs_OBJECTS)
+gscs_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gscs_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gscs_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gseq2png_OBJECTS = gseq2png.$(OBJEXT)
+gseq2png_OBJECTS = $(am_gseq2png_OBJECTS)
+gseq2png_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gseq2png_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gseq2png_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gseqinfo_OBJECTS = gseqinfo.$(OBJEXT)
+gseqinfo_OBJECTS = $(am_gseqinfo_OBJECTS)
+gseqinfo_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gseqinfo_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gseqinfo_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gshuffleseq_OBJECTS = gshuffleseq.$(OBJEXT)
+gshuffleseq_OBJECTS = $(am_gshuffleseq_OBJECTS)
+gshuffleseq_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gshuffleseq_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gshuffleseq_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gsignature_OBJECTS = gsignature.$(OBJEXT)
+gsignature_OBJECTS = $(am_gsignature_OBJECTS)
+gsignature_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gsignature_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gsignature_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gsvalue_OBJECTS = gsvalue.$(OBJEXT)
+gsvalue_OBJECTS = $(am_gsvalue_OBJECTS)
+gsvalue_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gsvalue_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gsvalue_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gviewcds_OBJECTS = gviewcds.$(OBJEXT)
+gviewcds_OBJECTS = $(am_gviewcds_OBJECTS)
+gviewcds_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gviewcds_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gviewcds_DEPENDENCIES =  \
+@LOCALLINK_TRUE@	../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+am_gwvalue_OBJECTS = gwvalue.$(OBJEXT)
+gwvalue_OBJECTS = $(am_gwvalue_OBJECTS)
+gwvalue_LDADD = $(LDADD)
+@LOCALLINK_FALSE@gwvalue_DEPENDENCIES = $(am__DEPENDENCIES_1)
+@LOCALLINK_TRUE@gwvalue_DEPENDENCIES = ../../../nucleus/libnucleus.la \
+@LOCALLINK_TRUE@	../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@	$(am__DEPENDENCIES_1)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
+SOURCES = $(gaaui_SOURCES) $(gaminoinfo_SOURCES) $(gb1_SOURCES) \
+	$(gb2_SOURCES) $(gbasecounter_SOURCES) $(gbaseentropy_SOURCES) \
+	$(gbaseinformationcontent_SOURCES) \
+	$(gbaserelativeentropy_SOURCES) $(gbasezvalue_SOURCES) \
+	$(gbui_SOURCES) $(gcai_SOURCES) $(gcbi_SOURCES) \
+	$(gcgr_SOURCES) $(gcircularmap_SOURCES) \
+	$(gcodoncompiler_SOURCES) $(gconsensusz_SOURCES) \
+	$(gdeltaenc_SOURCES) $(gdeltagcskew_SOURCES) $(gdinuc_SOURCES) \
+	$(gdistincc_SOURCES) $(gdnawalk_SOURCES) $(genc_SOURCES) \
+	$(genret_SOURCES) $(gentrez_SOURCES) $(gew_SOURCES) \
+	$(gfindoriter_SOURCES) $(gfop_SOURCES) $(ggcsi_SOURCES) \
+	ggcskew.c $(ggcwin_SOURCES) $(ggeneskew_SOURCES) \
+	$(ggenomemap3_SOURCES) $(ggenomicskew_SOURCES) \
+	$(gicdi_SOURCES) $(gkmertable_SOURCES) $(gldabias_SOURCES) \
+	$(gnucleotideperiodicity_SOURCES) $(goligomercounter_SOURCES) \
+	$(goligomersearch_SOURCES) $(gp2_SOURCES) \
+	$(gpalindrome_SOURCES) $(gphx_SOURCES) $(gqueryarm_SOURCES) \
+	$(gquerystrand_SOURCES) $(greporiter_SOURCES) $(gscs_SOURCES) \
+	$(gseq2png_SOURCES) $(gseqinfo_SOURCES) $(gshuffleseq_SOURCES) \
+	$(gsignature_SOURCES) $(gsvalue_SOURCES) $(gviewcds_SOURCES) \
+	$(gwvalue_SOURCES)
+DIST_SOURCES = $(gaaui_SOURCES) $(gaminoinfo_SOURCES) $(gb1_SOURCES) \
+	$(gb2_SOURCES) $(gbasecounter_SOURCES) $(gbaseentropy_SOURCES) \
+	$(gbaseinformationcontent_SOURCES) \
+	$(gbaserelativeentropy_SOURCES) $(gbasezvalue_SOURCES) \
+	$(gbui_SOURCES) $(gcai_SOURCES) $(gcbi_SOURCES) \
+	$(gcgr_SOURCES) $(gcircularmap_SOURCES) \
+	$(gcodoncompiler_SOURCES) $(gconsensusz_SOURCES) \
+	$(gdeltaenc_SOURCES) $(gdeltagcskew_SOURCES) $(gdinuc_SOURCES) \
+	$(gdistincc_SOURCES) $(gdnawalk_SOURCES) $(genc_SOURCES) \
+	$(genret_SOURCES) $(gentrez_SOURCES) $(gew_SOURCES) \
+	$(gfindoriter_SOURCES) $(gfop_SOURCES) $(ggcsi_SOURCES) \
+	ggcskew.c $(ggcwin_SOURCES) $(ggeneskew_SOURCES) \
+	$(ggenomemap3_SOURCES) $(ggenomicskew_SOURCES) \
+	$(gicdi_SOURCES) $(gkmertable_SOURCES) $(gldabias_SOURCES) \
+	$(gnucleotideperiodicity_SOURCES) $(goligomercounter_SOURCES) \
+	$(goligomersearch_SOURCES) $(gp2_SOURCES) \
+	$(gpalindrome_SOURCES) $(gphx_SOURCES) $(gqueryarm_SOURCES) \
+	$(gquerystrand_SOURCES) $(greporiter_SOURCES) $(gscs_SOURCES) \
+	$(gseq2png_SOURCES) $(gseqinfo_SOURCES) $(gshuffleseq_SOURCES) \
+	$(gsignature_SOURCES) $(gsvalue_SOURCES) $(gviewcds_SOURCES) \
+	$(gwvalue_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+	$(LISP)config.h.in
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+	$(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+ANT = @ANT@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DEVWARN_CFLAGS = @DEVWARN_CFLAGS@
+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_MEMMOVE = @HAVE_MEMMOVE@
+HAVE_STRERROR = @HAVE_STRERROR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVA_CFLAGS = @JAVA_CFLAGS@
+JAVA_CPPFLAGS = @JAVA_CPPFLAGS@
+JAVA_LDFLAGS = @JAVA_LDFLAGS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MYSQL_CFLAGS = @MYSQL_CFLAGS@
+MYSQL_CONFIG = @MYSQL_CONFIG@
+MYSQL_CPPFLAGS = @MYSQL_CPPFLAGS@
+MYSQL_LDFLAGS = @MYSQL_LDFLAGS@
+MYSQL_VERSION = @MYSQL_VERSION@
+NM = @NM@
+NMEDIT = @NMEDIT@
+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_SEPARATOR = @PATH_SEPARATOR@
+PCRE_DATE = @PCRE_DATE@
+PCRE_LIB_VERSION = @PCRE_LIB_VERSION@
+PCRE_MAJOR = @PCRE_MAJOR@
+PCRE_MINOR = @PCRE_MINOR@
+PCRE_POSIXLIB_VERSION = @PCRE_POSIXLIB_VERSION@
+PCRE_VERSION = @PCRE_VERSION@
+POSIX_MALLOC_THRESHOLD = @POSIX_MALLOC_THRESHOLD@
+POSTGRESQL_CFLAGS = @POSTGRESQL_CFLAGS@
+POSTGRESQL_CONFIG = @POSTGRESQL_CONFIG@
+POSTGRESQL_CPPFLAGS = @POSTGRESQL_CPPFLAGS@
+POSTGRESQL_LDFLAGS = @POSTGRESQL_LDFLAGS@
+POSTGRESQL_VERSION = @POSTGRESQL_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+XLIB = @XLIB@
+XMKMF = @XMKMF@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+embprefix = @embprefix@
+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@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+@LOCALLINK_FALSE@INCLUDES = -I../include -I${embprefix}/include -I${embprefix}/include/eplplot -I${embprefix}/include/epcre -I${embprefix}/include/ezlib -I../gsoap
+@LOCALLINK_TRUE@INCLUDES = -I../include -I../../../nucleus -I../../../ajax/pcre \
+@LOCALLINK_TRUE@	-I../../../ajax/expat -I../../../ajax/zlib \
+@LOCALLINK_TRUE@	-I../../../ajax/core -I../../../ajax/graphics \
+@LOCALLINK_TRUE@	-I../../../ajax/ensembl -I../../../ajax/ajaxdb \
+@LOCALLINK_TRUE@	-I../../../ajax/acd -I../../../plplot -I../gsoap
+
+@ISAIXIA64_TRUE@@ISSHARED_TRUE@@LOCALLINK_FALSE@AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L${embprefix}/lib -lnucleus -lacd \
+@ISAIXIA64_TRUE@@ISSHARED_TRUE@@LOCALLINK_FALSE@-lajaxdb -lensembl -lajaxg -lajax -leexpat -lepcre -lezlib -leplplot
+
+@ISAIXIA64_TRUE@@ISSHARED_TRUE@@LOCALLINK_TRUE@AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L../../../plplot/.libs \
+@ISAIXIA64_TRUE@@ISSHARED_TRUE@@LOCALLINK_TRUE@-L../../../ajax/pcre/.libs -L../../../ajax/expat/.libs \
+@ISAIXIA64_TRUE@@ISSHARED_TRUE@@LOCALLINK_TRUE@-L../../../ajax/zlib/.libs -L../../../ajax/core/.libs \
+@ISAIXIA64_TRUE@@ISSHARED_TRUE@@LOCALLINK_TRUE@-L../../../ajax/graphics/.libs -L../../../ajax/ensembl/.libs \
+@ISAIXIA64_TRUE@@ISSHARED_TRUE@@LOCALLINK_TRUE@-L../../../ajax/ajaxdb/.libs -L../../../ajax/acd/.libs \
+@ISAIXIA64_TRUE@@ISSHARED_TRUE@@LOCALLINK_TRUE@-L../../../nucleus/.libs \
+@ISAIXIA64_TRUE@@ISSHARED_TRUE@@LOCALLINK_TRUE@-lnucleus -lacd -lajaxdb -lensembl -lajaxg -lajax -leexpat -lepcre \
+@ISAIXIA64_TRUE@@ISSHARED_TRUE@@LOCALLINK_TRUE@-lezlib -leplplot
+
+AM_CFLAGS = $(AIX_CFLAGS) $(WARN_CFLAGS) $(DEVWARN_CFLAGS)
+genret_SOURCES = genret.c
+gaaui_SOURCES = gaaui.c
+gaminoinfo_SOURCES = gaminoinfo.c
+gb1_SOURCES = gb1.c
+gb2_SOURCES = gb2.c
+gbasecounter_SOURCES = gbasecounter.c
+gbaseentropy_SOURCES = gbaseentropy.c
+gbaseinformationcontent_SOURCES = gbaseinformationcontent.c
+gbaserelativeentropy_SOURCES = gbaserelativeentropy.c
+gbasezvalue_SOURCES = gbasezvalue.c
+gbui_SOURCES = gbui.c
+gcai_SOURCES = gcai.c
+gcbi_SOURCES = gcbi.c
+gcgr_SOURCES = gcgr.c
+gcircularmap_SOURCES = gcircularmap.c
+gcodoncompiler_SOURCES = gcodoncompiler.c
+gconsensusz_SOURCES = gconsensusz.c
+gdeltaenc_SOURCES = gdeltaenc.c
+gdeltagcskew_SOURCES = gdeltagcskew.c
+gdistincc_SOURCES = gdistincc.c
+gdinuc_SOURCES = gdinuc.c
+gdnawalk_SOURCES = gdnawalk.c
+genc_SOURCES = genc.c
+gentrez_SOURCES = gentrez.c
+gew_SOURCES = gew.c
+gfindoriter_SOURCES = gfindoriter.c
+gfop_SOURCES = gfop.c
+ggcsi_SOURCES = ggcsi.c
+ggcwin_SOURCES = ggcwin.c
+ggeneskew_SOURCES = ggeneskew.c
+ggenomicskew_SOURCES = ggenomicskew.c
+ggenomemap3_SOURCES = ggenomemap3.c
+gicdi_SOURCES = gicdi.c
+gkmertable_SOURCES = gkmertable.c
+gldabias_SOURCES = gldabias.c
+gnucleotideperiodicity_SOURCES = gnucleotideperiodicity.c
+goligomercounter_SOURCES = goligomercounter.c
+goligomersearch_SOURCES = goligomersearch.c
+gp2_SOURCES = gp2.c
+gpalindrome_SOURCES = gpalindrome.c
+gphx_SOURCES = gphx.c
+gqueryarm_SOURCES = gqueryarm.c
+gquerystrand_SOURCES = gquerystrand.c
+greporiter_SOURCES = greporiter.c
+gsvalue_SOURCES = gsvalue.c
+gscs_SOURCES = gscs.c
+gseq2png_SOURCES = gseq2png.c
+gseqinfo_SOURCES = gseqinfo.c
+gshuffleseq_SOURCES = gshuffleseq.c
+gsignature_SOURCES = gsignature.c
+gviewcds_SOURCES = gviewcds.c
+gwvalue_SOURCES = gwvalue.c
+@LOCALLINK_FALSE@LDADD = -L${embprefix}/lib -L../include -lnucleus -lacd -lajaxdb -lensembl \
+@LOCALLINK_FALSE@        -lajaxg -lajax -leexpat -lepcre -lezlib -leplplot $(XLIB)
+
+@LOCALLINK_TRUE@LDADD = ../../../nucleus/libnucleus.la ../../../ajax/acd/libacd.la \
+@LOCALLINK_TRUE@	../../../ajax/ajaxdb/libajaxdb.la \
+@LOCALLINK_TRUE@	../../../ajax/ensembl/libensembl.la \
+@LOCALLINK_TRUE@	../../../ajax/graphics/libajaxg.la \
+@LOCALLINK_TRUE@	../../../ajax/core/libajax.la \
+@LOCALLINK_TRUE@	../../../ajax/zlib/libezlib.la \
+@LOCALLINK_TRUE@	../../../ajax/expat/libeexpat.la \
+@LOCALLINK_TRUE@	../../../ajax/pcre/libepcre.la \
+@LOCALLINK_TRUE@	../../../plplot/libeplplot.la \
+@LOCALLINK_TRUE@        $(XLIB)
+
+all: config.h
+	$(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu src/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:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+config.h: stamp-h1
+	@test -f $@ || rm -f stamp-h1
+	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+	@rm -f stamp-h1
+	cd $(top_builddir) && $(SHELL) ./config.status src/config.h
+$(srcdir)/config.h.in:  $(am__configure_deps) 
+	($(am__cd) $(top_srcdir) && $(AUTOHEADER))
+	rm -f stamp-h1
+	touch $@
+
+distclean-hdr:
+	-rm -f config.h stamp-h1
+install-binPROGRAMS: $(bin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+	fi; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p \
+	 || test -f $$p1 \
+	  ; then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' \
+	    -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+	    } \
+	; done
+
+uninstall-binPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' \
+	`; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+	@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+
+gaaui$(EXEEXT): $(gaaui_OBJECTS) $(gaaui_DEPENDENCIES) $(EXTRA_gaaui_DEPENDENCIES) 
+	@rm -f gaaui$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gaaui_OBJECTS) $(gaaui_LDADD) $(LIBS)
+
+gaminoinfo$(EXEEXT): $(gaminoinfo_OBJECTS) $(gaminoinfo_DEPENDENCIES) $(EXTRA_gaminoinfo_DEPENDENCIES) 
+	@rm -f gaminoinfo$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gaminoinfo_OBJECTS) $(gaminoinfo_LDADD) $(LIBS)
+
+gb1$(EXEEXT): $(gb1_OBJECTS) $(gb1_DEPENDENCIES) $(EXTRA_gb1_DEPENDENCIES) 
+	@rm -f gb1$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gb1_OBJECTS) $(gb1_LDADD) $(LIBS)
+
+gb2$(EXEEXT): $(gb2_OBJECTS) $(gb2_DEPENDENCIES) $(EXTRA_gb2_DEPENDENCIES) 
+	@rm -f gb2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gb2_OBJECTS) $(gb2_LDADD) $(LIBS)
+
+gbasecounter$(EXEEXT): $(gbasecounter_OBJECTS) $(gbasecounter_DEPENDENCIES) $(EXTRA_gbasecounter_DEPENDENCIES) 
+	@rm -f gbasecounter$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gbasecounter_OBJECTS) $(gbasecounter_LDADD) $(LIBS)
+
+gbaseentropy$(EXEEXT): $(gbaseentropy_OBJECTS) $(gbaseentropy_DEPENDENCIES) $(EXTRA_gbaseentropy_DEPENDENCIES) 
+	@rm -f gbaseentropy$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gbaseentropy_OBJECTS) $(gbaseentropy_LDADD) $(LIBS)
+
+gbaseinformationcontent$(EXEEXT): $(gbaseinformationcontent_OBJECTS) $(gbaseinformationcontent_DEPENDENCIES) $(EXTRA_gbaseinformationcontent_DEPENDENCIES) 
+	@rm -f gbaseinformationcontent$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gbaseinformationcontent_OBJECTS) $(gbaseinformationcontent_LDADD) $(LIBS)
+
+gbaserelativeentropy$(EXEEXT): $(gbaserelativeentropy_OBJECTS) $(gbaserelativeentropy_DEPENDENCIES) $(EXTRA_gbaserelativeentropy_DEPENDENCIES) 
+	@rm -f gbaserelativeentropy$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gbaserelativeentropy_OBJECTS) $(gbaserelativeentropy_LDADD) $(LIBS)
+
+gbasezvalue$(EXEEXT): $(gbasezvalue_OBJECTS) $(gbasezvalue_DEPENDENCIES) $(EXTRA_gbasezvalue_DEPENDENCIES) 
+	@rm -f gbasezvalue$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gbasezvalue_OBJECTS) $(gbasezvalue_LDADD) $(LIBS)
+
+gbui$(EXEEXT): $(gbui_OBJECTS) $(gbui_DEPENDENCIES) $(EXTRA_gbui_DEPENDENCIES) 
+	@rm -f gbui$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gbui_OBJECTS) $(gbui_LDADD) $(LIBS)
+
+gcai$(EXEEXT): $(gcai_OBJECTS) $(gcai_DEPENDENCIES) $(EXTRA_gcai_DEPENDENCIES) 
+	@rm -f gcai$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gcai_OBJECTS) $(gcai_LDADD) $(LIBS)
+
+gcbi$(EXEEXT): $(gcbi_OBJECTS) $(gcbi_DEPENDENCIES) $(EXTRA_gcbi_DEPENDENCIES) 
+	@rm -f gcbi$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gcbi_OBJECTS) $(gcbi_LDADD) $(LIBS)
+
+gcgr$(EXEEXT): $(gcgr_OBJECTS) $(gcgr_DEPENDENCIES) $(EXTRA_gcgr_DEPENDENCIES) 
+	@rm -f gcgr$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gcgr_OBJECTS) $(gcgr_LDADD) $(LIBS)
+
+gcircularmap$(EXEEXT): $(gcircularmap_OBJECTS) $(gcircularmap_DEPENDENCIES) $(EXTRA_gcircularmap_DEPENDENCIES) 
+	@rm -f gcircularmap$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gcircularmap_OBJECTS) $(gcircularmap_LDADD) $(LIBS)
+
+gcodoncompiler$(EXEEXT): $(gcodoncompiler_OBJECTS) $(gcodoncompiler_DEPENDENCIES) $(EXTRA_gcodoncompiler_DEPENDENCIES) 
+	@rm -f gcodoncompiler$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gcodoncompiler_OBJECTS) $(gcodoncompiler_LDADD) $(LIBS)
+
+gconsensusz$(EXEEXT): $(gconsensusz_OBJECTS) $(gconsensusz_DEPENDENCIES) $(EXTRA_gconsensusz_DEPENDENCIES) 
+	@rm -f gconsensusz$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gconsensusz_OBJECTS) $(gconsensusz_LDADD) $(LIBS)
+
+gdeltaenc$(EXEEXT): $(gdeltaenc_OBJECTS) $(gdeltaenc_DEPENDENCIES) $(EXTRA_gdeltaenc_DEPENDENCIES) 
+	@rm -f gdeltaenc$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gdeltaenc_OBJECTS) $(gdeltaenc_LDADD) $(LIBS)
+
+gdeltagcskew$(EXEEXT): $(gdeltagcskew_OBJECTS) $(gdeltagcskew_DEPENDENCIES) $(EXTRA_gdeltagcskew_DEPENDENCIES) 
+	@rm -f gdeltagcskew$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gdeltagcskew_OBJECTS) $(gdeltagcskew_LDADD) $(LIBS)
+
+gdinuc$(EXEEXT): $(gdinuc_OBJECTS) $(gdinuc_DEPENDENCIES) $(EXTRA_gdinuc_DEPENDENCIES) 
+	@rm -f gdinuc$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gdinuc_OBJECTS) $(gdinuc_LDADD) $(LIBS)
+
+gdistincc$(EXEEXT): $(gdistincc_OBJECTS) $(gdistincc_DEPENDENCIES) $(EXTRA_gdistincc_DEPENDENCIES) 
+	@rm -f gdistincc$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gdistincc_OBJECTS) $(gdistincc_LDADD) $(LIBS)
+
+gdnawalk$(EXEEXT): $(gdnawalk_OBJECTS) $(gdnawalk_DEPENDENCIES) $(EXTRA_gdnawalk_DEPENDENCIES) 
+	@rm -f gdnawalk$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gdnawalk_OBJECTS) $(gdnawalk_LDADD) $(LIBS)
+
+genc$(EXEEXT): $(genc_OBJECTS) $(genc_DEPENDENCIES) $(EXTRA_genc_DEPENDENCIES) 
+	@rm -f genc$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(genc_OBJECTS) $(genc_LDADD) $(LIBS)
+
+genret$(EXEEXT): $(genret_OBJECTS) $(genret_DEPENDENCIES) $(EXTRA_genret_DEPENDENCIES) 
+	@rm -f genret$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(genret_OBJECTS) $(genret_LDADD) $(LIBS)
+
+gentrez$(EXEEXT): $(gentrez_OBJECTS) $(gentrez_DEPENDENCIES) $(EXTRA_gentrez_DEPENDENCIES) 
+	@rm -f gentrez$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gentrez_OBJECTS) $(gentrez_LDADD) $(LIBS)
+
+gew$(EXEEXT): $(gew_OBJECTS) $(gew_DEPENDENCIES) $(EXTRA_gew_DEPENDENCIES) 
+	@rm -f gew$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gew_OBJECTS) $(gew_LDADD) $(LIBS)
+
+gfindoriter$(EXEEXT): $(gfindoriter_OBJECTS) $(gfindoriter_DEPENDENCIES) $(EXTRA_gfindoriter_DEPENDENCIES) 
+	@rm -f gfindoriter$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gfindoriter_OBJECTS) $(gfindoriter_LDADD) $(LIBS)
+
+gfop$(EXEEXT): $(gfop_OBJECTS) $(gfop_DEPENDENCIES) $(EXTRA_gfop_DEPENDENCIES) 
+	@rm -f gfop$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gfop_OBJECTS) $(gfop_LDADD) $(LIBS)
+
+ggcsi$(EXEEXT): $(ggcsi_OBJECTS) $(ggcsi_DEPENDENCIES) $(EXTRA_ggcsi_DEPENDENCIES) 
+	@rm -f ggcsi$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ggcsi_OBJECTS) $(ggcsi_LDADD) $(LIBS)
+
+ggcskew$(EXEEXT): $(ggcskew_OBJECTS) $(ggcskew_DEPENDENCIES) $(EXTRA_ggcskew_DEPENDENCIES) 
+	@rm -f ggcskew$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ggcskew_OBJECTS) $(ggcskew_LDADD) $(LIBS)
+
+ggcwin$(EXEEXT): $(ggcwin_OBJECTS) $(ggcwin_DEPENDENCIES) $(EXTRA_ggcwin_DEPENDENCIES) 
+	@rm -f ggcwin$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ggcwin_OBJECTS) $(ggcwin_LDADD) $(LIBS)
+
+ggeneskew$(EXEEXT): $(ggeneskew_OBJECTS) $(ggeneskew_DEPENDENCIES) $(EXTRA_ggeneskew_DEPENDENCIES) 
+	@rm -f ggeneskew$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ggeneskew_OBJECTS) $(ggeneskew_LDADD) $(LIBS)
+
+ggenomemap3$(EXEEXT): $(ggenomemap3_OBJECTS) $(ggenomemap3_DEPENDENCIES) $(EXTRA_ggenomemap3_DEPENDENCIES) 
+	@rm -f ggenomemap3$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ggenomemap3_OBJECTS) $(ggenomemap3_LDADD) $(LIBS)
+
+ggenomicskew$(EXEEXT): $(ggenomicskew_OBJECTS) $(ggenomicskew_DEPENDENCIES) $(EXTRA_ggenomicskew_DEPENDENCIES) 
+	@rm -f ggenomicskew$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ggenomicskew_OBJECTS) $(ggenomicskew_LDADD) $(LIBS)
+
+gicdi$(EXEEXT): $(gicdi_OBJECTS) $(gicdi_DEPENDENCIES) $(EXTRA_gicdi_DEPENDENCIES) 
+	@rm -f gicdi$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gicdi_OBJECTS) $(gicdi_LDADD) $(LIBS)
+
+gkmertable$(EXEEXT): $(gkmertable_OBJECTS) $(gkmertable_DEPENDENCIES) $(EXTRA_gkmertable_DEPENDENCIES) 
+	@rm -f gkmertable$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gkmertable_OBJECTS) $(gkmertable_LDADD) $(LIBS)
+
+gldabias$(EXEEXT): $(gldabias_OBJECTS) $(gldabias_DEPENDENCIES) $(EXTRA_gldabias_DEPENDENCIES) 
+	@rm -f gldabias$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gldabias_OBJECTS) $(gldabias_LDADD) $(LIBS)
+
+gnucleotideperiodicity$(EXEEXT): $(gnucleotideperiodicity_OBJECTS) $(gnucleotideperiodicity_DEPENDENCIES) $(EXTRA_gnucleotideperiodicity_DEPENDENCIES) 
+	@rm -f gnucleotideperiodicity$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gnucleotideperiodicity_OBJECTS) $(gnucleotideperiodicity_LDADD) $(LIBS)
+
+goligomercounter$(EXEEXT): $(goligomercounter_OBJECTS) $(goligomercounter_DEPENDENCIES) $(EXTRA_goligomercounter_DEPENDENCIES) 
+	@rm -f goligomercounter$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(goligomercounter_OBJECTS) $(goligomercounter_LDADD) $(LIBS)
+
+goligomersearch$(EXEEXT): $(goligomersearch_OBJECTS) $(goligomersearch_DEPENDENCIES) $(EXTRA_goligomersearch_DEPENDENCIES) 
+	@rm -f goligomersearch$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(goligomersearch_OBJECTS) $(goligomersearch_LDADD) $(LIBS)
+
+gp2$(EXEEXT): $(gp2_OBJECTS) $(gp2_DEPENDENCIES) $(EXTRA_gp2_DEPENDENCIES) 
+	@rm -f gp2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gp2_OBJECTS) $(gp2_LDADD) $(LIBS)
+
+gpalindrome$(EXEEXT): $(gpalindrome_OBJECTS) $(gpalindrome_DEPENDENCIES) $(EXTRA_gpalindrome_DEPENDENCIES) 
+	@rm -f gpalindrome$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gpalindrome_OBJECTS) $(gpalindrome_LDADD) $(LIBS)
+
+gphx$(EXEEXT): $(gphx_OBJECTS) $(gphx_DEPENDENCIES) $(EXTRA_gphx_DEPENDENCIES) 
+	@rm -f gphx$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gphx_OBJECTS) $(gphx_LDADD) $(LIBS)
+
+gqueryarm$(EXEEXT): $(gqueryarm_OBJECTS) $(gqueryarm_DEPENDENCIES) $(EXTRA_gqueryarm_DEPENDENCIES) 
+	@rm -f gqueryarm$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gqueryarm_OBJECTS) $(gqueryarm_LDADD) $(LIBS)
+
+gquerystrand$(EXEEXT): $(gquerystrand_OBJECTS) $(gquerystrand_DEPENDENCIES) $(EXTRA_gquerystrand_DEPENDENCIES) 
+	@rm -f gquerystrand$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gquerystrand_OBJECTS) $(gquerystrand_LDADD) $(LIBS)
+
+greporiter$(EXEEXT): $(greporiter_OBJECTS) $(greporiter_DEPENDENCIES) $(EXTRA_greporiter_DEPENDENCIES) 
+	@rm -f greporiter$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(greporiter_OBJECTS) $(greporiter_LDADD) $(LIBS)
+
+gscs$(EXEEXT): $(gscs_OBJECTS) $(gscs_DEPENDENCIES) $(EXTRA_gscs_DEPENDENCIES) 
+	@rm -f gscs$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gscs_OBJECTS) $(gscs_LDADD) $(LIBS)
+
+gseq2png$(EXEEXT): $(gseq2png_OBJECTS) $(gseq2png_DEPENDENCIES) $(EXTRA_gseq2png_DEPENDENCIES) 
+	@rm -f gseq2png$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gseq2png_OBJECTS) $(gseq2png_LDADD) $(LIBS)
+
+gseqinfo$(EXEEXT): $(gseqinfo_OBJECTS) $(gseqinfo_DEPENDENCIES) $(EXTRA_gseqinfo_DEPENDENCIES) 
+	@rm -f gseqinfo$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gseqinfo_OBJECTS) $(gseqinfo_LDADD) $(LIBS)
+
+gshuffleseq$(EXEEXT): $(gshuffleseq_OBJECTS) $(gshuffleseq_DEPENDENCIES) $(EXTRA_gshuffleseq_DEPENDENCIES) 
+	@rm -f gshuffleseq$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gshuffleseq_OBJECTS) $(gshuffleseq_LDADD) $(LIBS)
+
+gsignature$(EXEEXT): $(gsignature_OBJECTS) $(gsignature_DEPENDENCIES) $(EXTRA_gsignature_DEPENDENCIES) 
+	@rm -f gsignature$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gsignature_OBJECTS) $(gsignature_LDADD) $(LIBS)
+
+gsvalue$(EXEEXT): $(gsvalue_OBJECTS) $(gsvalue_DEPENDENCIES) $(EXTRA_gsvalue_DEPENDENCIES) 
+	@rm -f gsvalue$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gsvalue_OBJECTS) $(gsvalue_LDADD) $(LIBS)
+
+gviewcds$(EXEEXT): $(gviewcds_OBJECTS) $(gviewcds_DEPENDENCIES) $(EXTRA_gviewcds_DEPENDENCIES) 
+	@rm -f gviewcds$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gviewcds_OBJECTS) $(gviewcds_LDADD) $(LIBS)
+
+gwvalue$(EXEEXT): $(gwvalue_OBJECTS) $(gwvalue_DEPENDENCIES) $(EXTRA_gwvalue_DEPENDENCIES) 
+	@rm -f gwvalue$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gwvalue_OBJECTS) $(gwvalue_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaaui.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaminoinfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gb1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gb2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gbasecounter.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gbaseentropy.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gbaseinformationcontent.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gbaserelativeentropy.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gbasezvalue.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gbui.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gcai.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gcbi.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gcgr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gcircularmap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gcodoncompiler.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gconsensusz.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdeltaenc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdeltagcskew.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdinuc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdistincc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdnawalk.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/genc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/genret.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gentrez.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gew.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gfindoriter.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gfop.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ggcsi.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ggcskew.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ggcwin.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ggeneskew.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ggenomemap3.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ggenomicskew.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gicdi.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gkmertable.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gldabias.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnucleotideperiodicity.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/goligomercounter.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/goligomersearch.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gp2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpalindrome.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gphx.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gqueryarm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gquerystrand.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/greporiter.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gscs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gseq2png.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gseqinfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gshuffleseq.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsignature.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsvalue.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gviewcds.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gwvalue.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$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: check-am
+all-am: Makefile $(PROGRAMS) config.h
+installdirs:
+	for dir in "$(DESTDIR)$(bindir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: 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:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+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-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+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
+
+.MAKE: all install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
+	clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
+	ctags ctags-am 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-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	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 tags-am uninstall uninstall-am \
+	uninstall-binPROGRAMS
+
+.PRECIOUS: Makefile
+
+
+# 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:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/config.h.in	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,202 @@
+/* src/config.h.in.  Generated from configure.in by autoheader.  */
+
+/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD
+
+/* Define to 1 to compile all deprecated functions */
+#undef AJ_COMPILE_DEPRECATED
+
+/* Define to 1 to compile deprecated functions used in book texts for 6.2.0 */
+#undef AJ_COMPILE_DEPRECATED_BOOK
+
+/* Define to 1 to collect AJAX library usage statistics. */
+#undef AJ_SAVESTATS
+
+/* Define to 1 if the `getpgrp' function requires zero arguments. */
+#undef GETPGRP_VOID
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+   */
+#undef HAVE_DIRENT_H
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
+#undef HAVE_DOPRNT
+
+/* Define to 1 if you have the `erand48' function. */
+#undef HAVE_ERAND48
+
+/* Define to 1 if you have the `fork' function. */
+#undef HAVE_FORK
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if the Java Native Interface (JNI) is available. */
+#undef HAVE_JAVA
+
+/* Define to 1 if you have the `curl' library (-lcurl). */
+#undef HAVE_LIBCURL
+
+/* Define to 1 if you have the `m' library (-lm). */
+#undef HAVE_LIBM
+
+/* Define to 1 if you have the `mcheck' function. */
+#undef HAVE_MCHECK
+
+/* Define to 1 if you have the `memmove' function. */
+#undef HAVE_MEMMOVE
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if MySQL libraries are available. */
+#undef HAVE_MYSQL
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+#undef HAVE_NDIR_H
+
+/* Define to 1 if PostgreSQL libraries are available. */
+#undef HAVE_POSTGRESQL
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `strchr' function. */
+#undef HAVE_STRCHR
+
+/* Define to 1 if you have the `strdup' function. */
+#undef HAVE_STRDUP
+
+/* Define to 1 if you have the `strftime' function. */
+#undef HAVE_STRFTIME
+
+/* 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 `strstr' function. */
+#undef HAVE_STRSTR
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+   */
+#undef HAVE_SYS_DIR_H
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+   */
+#undef HAVE_SYS_NDIR_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/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <TargetConfig.h> header file. */
+#undef HAVE_TARGETCONFIG_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the `vfork' function. */
+#undef HAVE_VFORK
+
+/* Define to 1 if you have the <vfork.h> header file. */
+#undef HAVE_VFORK_H
+
+/* Define to 1 if you have the `vprintf' function. */
+#undef HAVE_VPRINTF
+
+/* Define to 1 if `fork' works. */
+#undef HAVE_WORKING_FORK
+
+/* Define to 1 if `vfork' works. */
+#undef HAVE_WORKING_VFORK
+
+/* Set to 1 if HPUX 64bit ptrs on 32 bit m/c */
+#undef HPUX64PTRS
+
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
+#undef LT_OBJDIR
+
+/* 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
+
+/* Define to 1 if PDF support is available */
+#undef PLD_pdf
+
+/* Define to 1 is PNG support is available */
+#undef PLD_png
+
+/* Define to 1 if X11 support is available */
+#undef PLD_xwin
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
+#undef TM_IN_SYS_TIME
+
+/* Version number of package */
+#undef VERSION
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+   significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+#  define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+#  undef WORDS_BIGENDIAN
+# endif
+#endif
+
+/* Define to 1 if the X Window System is missing or not being used. */
+#undef X_DISPLAY_MISSING
+
+/* Set to 2 for open args */
+#undef _FORTIFY_SOURCE
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* 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 `int' if <sys/types.h> does not define. */
+#undef pid_t
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
+
+/* Define as `fork' if `vfork' does not work. */
+#undef vfork
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gaaui.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,147 @@
+/******************************************************************************
+** @source gaaui
+**
+** Calculates various indeces of amino acid usage
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gaaui ****************************************************************
+**
+** Calculates various indeces of amino acid usage
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gaaui", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall = ajAcdGetSeqall("sequence");
+  accid  = ajAcdGetBoolean("accid");
+  outf   = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/aaui/output=f/tag=gene", base, restid);
+
+      ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+      if(!gFileOutURLS(url, &outf))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gaminoinfo.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,121 @@
+/******************************************************************************
+** @source gaminoinfo
+**
+** Prints out basic amino acid sequence statistics
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gaminoinfo ***********************************************************
+**
+** Prints out basic amino acid sequence statisctics
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gaminoinfo", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPStr    tmpname = NULL;
+  AjPSeqout tmpout  = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall = ajAcdGetSeqall("sequence");
+  outf   = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+  ajStrAppendC(&tmpname, ".fasta");
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      tmpout = ajSeqoutNew();
+
+      if(!ajSeqoutOpenFilename(tmpout, tmpname))
+        {
+          embExitBad();
+        }
+
+      ajSeqoutSetFormatS(tmpout,ajStrNewC("fasta"));
+      ajSeqoutWriteSeq(tmpout, seq);
+      ajSeqoutClose(tmpout);
+      ajSeqoutDel(&tmpout);
+
+      ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+      gFilePostSS(url, tmpname, &restid);
+      ajStrDel(&url);
+      ajSysFileUnlinkS(tmpname);
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/amino_info", base, restid);
+
+      ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+      if(!gFileOutURLS(url, &outf))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gb1.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,160 @@
+/******************************************************************************
+** @source gb1
+**
+** Calculate strand bias of bacterial genome using B1 index
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gb1 ******************************************************************
+**
+** Calculate strand bias of bacterial genome using B1 index
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gb1", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq    = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPStr method = NULL;
+
+  AjPFile outf = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFilebuff tmp = NULL;
+  AjPStr     line = NULL;
+
+  seqall = ajAcdGetSeqall("sequence");
+  method = ajAcdGetSelectSingle("method");
+  accid  = ajAcdGetBoolean("accid");
+  outf   = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/B1/method=%S", base, restid, method);
+
+      if(!gFilebuffURLS(url, &tmp))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajBuffreadLine(tmp, &line);
+
+      ajStrRemoveSetC(&line, "\n");
+
+      ajFmtPrintF(outf, "Sequence: %S B1: %S\n", seqid, line);
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  ajStrDel(&method);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gb2.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,155 @@
+/******************************************************************************
+** @source gb2
+**
+** Calculate strand bias of bacterial genome using B2 index
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gb2 ******************************************************************
+**
+** Calculate strand bias of bacterial genome using B2 index
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gb2", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq    = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile outf = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFilebuff tmp = NULL;
+  AjPStr     line = NULL;
+
+  seqall = ajAcdGetSeqall("sequence");
+  accid  = ajAcdGetBoolean("accid");
+  outf   = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                    "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/B2", base, restid);
+
+      if(!gFilebuffURLS(url, &tmp))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajBuffreadLine(tmp, &line);
+
+      ajStrRemoveSetC(&line, "\n");
+
+      ajFmtPrintF(outf, "Sequence: %S B2: %S\n", seqid, line);
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gbasecounter.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,159 @@
+/******************************************************************************
+** @source gbasecounter
+**
+** Creates a position weight matrix of oligomers around start codon
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gbasecounter *********************************************************
+**
+** Creates a position weight matrix of oligomers around start codon
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gbasecounter", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjPStr position   = NULL;
+  ajint	 PatLen     = 0;
+  ajint	 upstream   = 0;
+  ajint	 downstream = 0;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall     = ajAcdGetSeqall("sequence");
+  position   = ajAcdGetSelectSingle("position");
+  PatLen     = ajAcdGetInt("patlen");
+  upstream   = ajAcdGetInt("upstream");
+  downstream = ajAcdGetInt("downstream");
+  accid      = ajAcdGetBoolean("accid");
+  outf       = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/base_counter/position=%S/PatLen=%d"
+                  "upstream=%d/downstream=%d/output=f/tag=gene",
+                  base, restid, position, PatLen, upstream, downstream);
+
+      ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+      if(!gFileOutURLS(url, &outf))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  ajStrDel(&position);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gbaseentropy.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,205 @@
+/******************************************************************************
+** @source gbaseentropy
+**
+** Calculates and graphs the sequence conservation using Shanon uncertainty
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gbaseentropy *******************************************************
+**
+** Calculates and graphs the sequence conservation using Shanon uncertainty
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gbaseentropy", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjPStr position   = 0;
+  ajint  PatLen     = 0;
+  ajint  upstream   = 0;
+  ajint  downstream = 0;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjBool      plot = 0;
+  AjPFile     outf = NULL;
+  AjPFilebuff buff = NULL;
+  AjPGraph    mult = NULL;
+
+  gPlotParams gpp;
+  AjPStr      title = NULL;
+
+  seqall     = ajAcdGetSeqall("sequence");
+  position   = ajAcdGetSelectSingle("position");
+  PatLen     = ajAcdGetInt("patlen");
+  upstream   = ajAcdGetInt("upstream");
+  downstream = ajAcdGetInt("downstream");
+  accid      = ajAcdGetBoolean("accid");
+
+  plot = ajAcdGetToggle("plot");
+  outf = ajAcdGetOutfile("outfile");
+  mult = ajAcdGetGraphxy("graph");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              gAssignUniqueName(&tmpname);
+
+              tmpfile = ajFileNewOutNameS(tmpname);
+
+              if(!tmpfile)
+                {
+                  ajFmtError("Output file (%S) open error\n", tmpname);
+                  embExitBad();
+                }
+
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/base_entropy/position=%S/PatLen=%d/"
+                  "upstream=%d/downstream=%d/output=f/tag=gene", base, restid,
+                  position, PatLen, upstream, downstream);
+
+      if(plot)
+        {
+          title = ajStrNew();
+
+          ajStrAppendC(&title, argv[0]);
+          ajStrAppendC(&title, " of ");
+          ajStrAppendS(&title, seqid);
+
+          gpp.title = ajStrNewS(title);
+          gpp.xlab = ajStrNewC("position");
+          gpp.ylab = ajStrNewC("entropy");
+
+          if(!gFilebuffURLS(url, &buff))
+            {
+              ajDie("File downloading error from:\n%S\n", url);
+            }
+
+          if(!gPlotFilebuff(buff, mult, &gpp))
+            {
+              ajDie("Error in plotting\n");
+            }
+
+          AJFREE(gpp.title);
+          AJFREE(gpp.xlab);
+          AJFREE(gpp.ylab);
+          ajStrDel(&title);
+          ajFilebuffDel(&buff);
+        }
+      else
+        {
+          ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+          if(!gFileOutURLS(url, &outf))
+            {
+              ajDie("File downloading error from:\n%S\n", url);
+            }
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  ajStrDel(&position);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gbaseinformationcontent.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,205 @@
+/******************************************************************************
+** @source gbaseinformationcontent
+**
+** Calculates and graphs the sequence conservation using information content
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gbaseinformationcontent **********************************************
+**
+** Calculates and graphs the sequence conservation using information content
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gbaseinformationcontent", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjPStr position   = 0;
+  ajint  PatLen     = 0;
+  ajint  upstream   = 0;
+  ajint  downstream = 0;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjBool      plot = 0;
+  AjPFile     outf = NULL;
+  AjPFilebuff buff = NULL;
+  AjPGraph    mult = NULL;
+
+  gPlotParams gpp;
+  AjPStr      title = NULL;
+
+  seqall     = ajAcdGetSeqall("sequence");
+  position   = ajAcdGetSelectSingle("position");
+  PatLen     = ajAcdGetInt("patlen");
+  upstream   = ajAcdGetInt("upstream");
+  downstream = ajAcdGetInt("downstream");
+  accid      = ajAcdGetBoolean("accid");
+
+  plot = ajAcdGetToggle("plot");
+  outf = ajAcdGetOutfile("outfile");
+  mult = ajAcdGetGraphxy("graph");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              gAssignUniqueName(&tmpname);
+
+              tmpfile = ajFileNewOutNameS(tmpname);
+
+              if(!tmpfile)
+                {
+                  ajFmtError("Output file (%S) open error\n", tmpname);
+                  embExitBad();
+                }
+
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/base_information_content/position=%S/"
+                  "PatLen=%d/upstream=%d/downstream=%d/output=f/tag=gene",
+                  base, restid, position, PatLen, upstream, downstream);
+
+      if(plot)
+        {
+          title = ajStrNew();
+
+          ajStrAppendC(&title, argv[0]);
+          ajStrAppendC(&title, " of ");
+          ajStrAppendS(&title, seqid);
+
+          gpp.title = ajStrNewS(title);
+          gpp.xlab = ajStrNewC("position");
+          gpp.ylab = ajStrNewC("information content");
+
+          if(!gFilebuffURLS(url, &buff))
+            {
+              ajDie("File downloading error from:\n%S\n", url);
+            }
+
+          if(!gPlotFilebuff(buff, mult, &gpp))
+            {
+              ajDie("Error in plotting\n");
+            }
+
+          AJFREE(gpp.title);
+          AJFREE(gpp.xlab);
+          AJFREE(gpp.ylab);
+          ajStrDel(&title);
+          ajFilebuffDel(&buff);
+        }
+      else
+        {
+          ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+          if(!gFileOutURLS(url, &outf))
+            {
+              ajDie("File downloading error from:\n%S\n", url);
+            }
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  ajStrDel(&position);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gbaserelativeentropy.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,207 @@
+/******************************************************************************
+** @source gbaserelativeentropy
+**
+** Calculates and graphs the sequence conservation using Kullback-Leibler
+** divergence (relative entropy)
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gbaserelativeentropy *************************************************
+**
+** Calculates and graphs the sequence conservation using Kullback-Leibler
+** divergence (relative entropy)
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gbaserelativeentropy", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjPStr position   = 0;
+  ajint  PatLen     = 0;
+  ajint  upstream   = 0;
+  ajint  downstream = 0;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjBool      plot = 0;
+  AjPFile     outf = NULL;
+  AjPFilebuff buff = NULL;
+  AjPGraph    mult = NULL;
+
+  gPlotParams gpp;
+  AjPStr      title = NULL;
+
+  seqall     = ajAcdGetSeqall("sequence");
+  position   = ajAcdGetSelectSingle("position");
+  PatLen     = ajAcdGetInt("patlen");
+  upstream   = ajAcdGetInt("upstream");
+  downstream = ajAcdGetInt("downstream");
+  accid      = ajAcdGetBoolean("accid");
+
+  plot = ajAcdGetToggle("plot");
+  outf = ajAcdGetOutfile("outfile");
+  mult = ajAcdGetGraphxy("graph");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              gAssignUniqueName(&tmpname);
+
+              tmpfile = ajFileNewOutNameS(tmpname);
+
+              if(!tmpfile)
+                {
+                  ajFmtError("Output file (%S) open error\n", tmpname);
+                  embExitBad();
+                }
+
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/base_relative_entropy/position=%S/"
+                  "PatLen=%d/upstream=%d/downstream=%d/output=f/tag=gene",
+                  base, restid, position, PatLen, upstream, downstream);
+
+      if(plot)
+        {
+          title = ajStrNew();
+
+          ajStrAppendC(&title, argv[0]);
+          ajStrAppendC(&title, " of ");
+          ajStrAppendS(&title, seqid);
+
+          gpp.title = ajStrNewS(title);
+          gpp.xlab = ajStrNewC("position");
+          gpp.ylab = ajStrNewC("relative entropy");
+
+          if(!gFilebuffURLS(url, &buff))
+            {
+              ajDie("File downloading error from:\n%S\n", url);
+            }
+
+          if(!gPlotFilebuff(buff, mult, &gpp))
+            {
+              ajDie("Error in plotting\n");
+            }
+
+          AJFREE(gpp.title);
+          AJFREE(gpp.xlab);
+          AJFREE(gpp.ylab);
+          ajStrDel(&title);
+          ajFilebuffDel(&buff);
+        }
+      else
+        {
+          ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+          if(!gFileOutURLS(url, &outf))
+            {
+              ajDie("File downloading error from:\n%S\n", url);
+            }
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  ajStrDel(&position);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gbasezvalue.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,162 @@
+/******************************************************************************
+** @source gbasezvalue
+**
+** Extracts conserved oligomers per position using Z-score
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gbasezvalue ********************************************************
+**
+** Extracts conserved oligomers per position using Z-score
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gbasezvalue", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjPStr position   = NULL;
+  ajint	 limit      = 0;
+  ajint  PatLen     = 0;
+  ajint  upstream   = 0;
+  ajint  downstream = 0;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall     = ajAcdGetSeqall("sequence");
+  position   = ajAcdGetSelectSingle("position");
+  limit      = ajAcdGetInt("limit");
+  PatLen     = ajAcdGetInt("patlen");
+  upstream   = ajAcdGetInt("upstream");
+  downstream = ajAcdGetInt("downstream");
+  accid      = ajAcdGetBoolean("accid");
+  outf       = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/base_z_value/position=%S/PatLen=%d"
+                  "upstream=%d/downstream=%d/limit=%d/output=f/tag=gene",
+                  base, restid, position, PatLen, upstream, downstream, limit);
+
+      ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+      if(!gFileOutURLS(url, &outf))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  ajStrDel(&position);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gbui.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,165 @@
+/******************************************************************************
+** @source gbui
+**
+** Calculates base usage indices for protein-coding sequences
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gbui ****************************************************************
+**
+** Calculates base usage indices for protein-coding sequences
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gbui", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjBool translate = ajFalse;
+  AjPStr position  = NULL;
+  AjPStr delkey    = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall    = ajAcdGetSeqall("sequence");
+  translate = ajAcdGetBoolean("translate");
+  position  = ajAcdGetListSingle("position");
+  delkey    = ajAcdGetString("delkey");
+  accid     = ajAcdGetBoolean("accid");
+  outf      = ajAcdGetOutfile("outfile");
+
+  if(ajStrMatchC(position, "all"))
+    {
+      ajStrDel(&position);
+      position = ajStrNew();
+    }
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/bui/translate=%d/position=%S/"
+                  "delkey=%S/output=f/tag=gene", base, restid, translate,
+                  position, delkey);
+
+      ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+      if(!gFileOutURLS(url, &outf))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  ajStrDel(&position);
+  ajStrDel(&delkey);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gcai.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,161 @@
+/******************************************************************************
+** @source gcai
+**
+** Calculate codon adaptation index for each gene
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gcai *****************************************************************
+**
+** Calculate codon adaptation index for each gene
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gcai", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjBool translate = ajFalse;
+  AjPStr wabsent   = NULL;
+  AjBool tai       = ajFalse;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall    = ajAcdGetSeqall("sequence");
+  translate = ajAcdGetBoolean("translate");
+  wabsent   = ajAcdGetString("wabsent");
+  tai       = ajAcdGetBoolean("tai");
+  accid     = ajAcdGetBoolean("accid");
+  outf      = ajAcdGetOutfile("outfile");
+
+  if(ajStrPrefixC(wabsent, "-"))
+    {
+      ajStrAssignC(&wabsent, "-");
+    }
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/cai/translate=%d/wabsent=%S/"
+                  "tai=%d/output=f/tag=gene", base, restid, translate,
+                  wabsent, tai);
+
+      ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+      if(!gtaiFileOutURLS(url, &outf, tai))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gcbi.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,155 @@
+/******************************************************************************
+** @source gcbi
+**
+** Calculates the codon bias index
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gcbi *****************************************************************
+**
+** Calculates the codon bias index
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gcbi", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjBool translate = ajFalse;
+  AjPStr delkey    = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall    = ajAcdGetSeqall("sequence");
+  translate = ajAcdGetBoolean("translate");
+  delkey    = ajAcdGetString("delkey");
+  accid     = ajAcdGetBoolean("accid");
+  outf      = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/cbi/translate=%d/delkey=%S/"
+                  "output=f/tag=gene", base, restid, translate, delkey);
+
+      ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+      if(!gFileOutURLS(url, &outf))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  ajStrDel(&delkey);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gcgr.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,164 @@
+/******************************************************************************
+** @source gcgr
+**
+** Create a Chaos Game Representation of a given sequence
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "soapH.h"
+#include "GLANGSoapBinding.nsmap"
+#include "soapClient.c"
+#include "soapC.c"
+#include "../gsoap/stdsoap2.c"
+#include "glibs.h"
+
+
+
+
+/* @prog gcgr ****************************************************************
+**
+** Create a Chaos Game Representation of a given sequence
+**
+*****************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gcgr", argc, argv, "GEMBASSY", "1.0.3");
+
+  struct soap soap;
+  struct ns1__cgrInputParams params;
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq    = NULL;
+  AjPStr    seqid    = NULL;
+  ajint	    width    = 0;
+  AjPFile   outf     = NULL;
+  AjPStr    filename = NULL;
+  AjPStr    outfname = NULL;
+  AjPStr    format   = NULL;
+
+  ajint i;
+
+  char *in0;
+  char *result;
+
+  seqall   = ajAcdGetSeqall("sequence");
+  width    = ajAcdGetInt("width");
+  filename = ajAcdGetString("goutfile");
+  format   = ajAcdGetString("format");
+
+  params.width = width;
+
+  i = 0;
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      soap_init(&soap);
+
+      inseq = NULL;
+
+      ajStrAppendC(&inseq, ">");
+      ajStrAppendS(&inseq, ajSeqGetAccS(seq));
+      ajStrAppendC(&inseq, "\n");
+      ajStrAppendS(&inseq, ajSeqGetSeqS(seq));
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0) {
+        ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+      }
+
+      in0 = ajCharNewS(inseq);
+
+      if(soap_call_ns1__cgr(
+                           &soap,
+			    NULL,
+			    NULL,
+			    in0,
+			   &params,
+			   &result
+                           ) == SOAP_OK)
+	{
+          ++i;
+
+	  outfname = ajStrNewS(ajFmtStr("%S.%d.%S",
+                                        filename,
+                                        i,
+                                        format));
+
+	  outf = ajFileNewOutNameS(outfname);
+
+          if(!outf)
+            {
+              ajDie("File open error\n");
+            }
+
+          if(!ajStrMatchC(format, "png"))
+            {
+              if(!gHttpConvertC(result, &outf, ajStrNewC("png"), format))
+                {
+                  ajDie("File downloading error from:\n%s\n", result);
+                }
+              else
+                {
+                  ajFmtPrint("Created %S\n", outfname);
+                }
+            }
+          else
+            {
+              if(!gHttpGetBinC(result, &outf))
+                {
+                  ajDie("File downloading error from:\n%s\n", result);
+                }
+              else
+                {
+                  ajFmtPrint("Created %S\n", outfname);
+                }
+            }
+
+	  ajStrDel(&outfname);
+	}
+      else
+	{
+	  soap_print_fault(&soap, stderr);
+	}
+
+      soap_destroy(&soap);
+      soap_end(&soap);
+      soap_done(&soap);
+
+      AJFREE(in0);
+
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+
+  ajStrDel(&filename);
+
+  embExit();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gcircularmap.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,186 @@
+/******************************************************************************
+** @source gcircularmap
+**
+** Draws circular map of the genome
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "soapH.h"
+#include "GLANGSoapBinding.nsmap"
+#include "soapClient.c"
+#include "soapC.c"
+#include "../gsoap/stdsoap2.c"
+#include "glibs.h"
+
+
+
+
+/* @prog gcircularmap ********************************************************
+**
+** Draws circular map of the genome
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gcircularmap", argc, argv, "GEMBASSY", "1.0.3");
+
+  struct soap soap;
+  struct ns1__circular_USCOREmapInputParams params;
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq    = NULL;
+  AjPStr    seqid    = NULL;
+  AjBool    accid    = ajFalse;
+  AjPFile   outf     = NULL;
+  AjPStr    filename = NULL;
+  AjPStr    outfname = NULL;
+  AjPStr    format   = NULL;
+
+  ajint i;
+
+  char *in0;
+  char *result;
+
+  seqall   = ajAcdGetSeqall("sequence");
+  filename = ajAcdGetString("goutfile");
+  accid    = ajAcdGetBoolean("accid");
+  format   = ajAcdGetString("format");
+
+  params.gmap = 0;
+
+  i = 0;
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      soap_init(&soap);
+
+      soap.send_timeout = 0;
+      soap.recv_timeout = 0;
+
+      inseq = NULL;
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid || !gFormatGenbank(seq, &inseq))
+        {
+          if(!accid)
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID:%S\n", seqid);
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+
+          ajStrAssignS(&inseq, seqid);
+        }
+
+      in0 = ajCharNewS(inseq);
+
+      if(soap_call_ns1__circular_USCOREmap(
+	                                  &soap,
+					   NULL,
+					   NULL,
+					   in0,
+					  &params,
+					  &result
+                                          ) == SOAP_OK)
+	{
+          ++i;
+
+          outfname = ajStrNewS(ajFmtStr("%S.%d.%S",
+                                        filename,
+                                        i,
+                                        format));
+
+          outf = ajFileNewOutNameS(outfname);
+
+          if(!outf)
+            {
+              ajDie("File open error\n");
+            }
+
+          if(!ajStrMatchC(format, "svg"))
+            {
+              if(!gHttpConvertC(result, &outf, ajStrNewC("svg"), format))
+                {
+                  ajDie("File downloading error from:\n%s\n", result);
+                }
+              else
+                {
+                  ajFmtPrint("Created %S\n", outfname);
+                }
+            }
+          else
+            {
+              if(!gHttpGetBinC(result, &outf))
+                {
+                  ajDie("File downloading error from:\n%s\n", result);
+                }
+              else
+                {
+                  ajFmtPrint("Created %S\n", outfname);
+                }
+            }
+
+          ajStrDel(&outfname);
+	}
+      else
+	{
+	  soap_print_fault(&soap, stderr);
+	}
+
+      soap_destroy(&soap);
+      soap_end(&soap);
+      soap_done(&soap);
+
+      AJFREE(in0);
+
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+
+  ajStrDel(&filename);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gcodoncompiler.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,163 @@
+/******************************************************************************
+** @source gcodoncompiler
+**
+** Calculate various kinds of amino acid and codon usage data
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gcodoncompiler ******************************************************
+**
+** Calculate various kinds of amino acid and codon usage data
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gcodoncompiler", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjBool translate  = ajFalse;
+  AjBool startcodon = ajFalse;
+  AjBool stopcodon  = ajFalse;
+  AjPStr delkey     = NULL;
+  AjPStr data       = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall     = ajAcdGetSeqall("sequence");
+  translate  = ajAcdGetBoolean("translate");
+  startcodon = ajAcdGetBoolean("startcodon");
+  stopcodon  = ajAcdGetBoolean("stopcodon");
+  delkey     = ajAcdGetString("delkey");
+  data       = ajAcdGetListSingle("data");
+  accid      = ajAcdGetBoolean("accid");
+  outf       = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                    "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/codon_compiler//translate=%d/"
+                  "startcodon=%d/stopcodon=%d/delkey=%S/data=%S/output=f/",
+                  base, restid, translate, startcodon, stopcodon, delkey, data);
+      
+      ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+      if(!gFileOutURLS(url, &outf))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  ajStrDel(&delkey);
+  ajStrDel(&data);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gconsensusz.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,188 @@
+/******************************************************************************
+** @source gconsensusz
+**
+** Calculate the consensus in givin array of sequences
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "soapH.h"
+#include "GLANGSoapBinding.nsmap"
+#include "soapClient.c"
+#include "soapC.c"
+#include "../gsoap/stdsoap2.c"
+#include "glibs.h"
+
+
+
+
+/* @prog gconsensusz *********************************************************
+**
+** Calculate the consensus in givin array of sequences
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gconsensusz", argc, argv, "GEMBASSY", "1.0.3");
+
+  struct soap	  soap;
+  struct ns1__consensus_USCOREzInputParams params;
+  struct arrayIn  array_seq;
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  ajint	    high  = 0;
+  double    low   = 0;
+
+  char *result;
+
+  AjBool      plot = 0;
+  AjPFile     outf = NULL;
+  AjPFilebuff buff = NULL;
+  AjPGraph    mult = NULL;
+
+  gPlotParams gpp;
+  AjPStr      title = NULL;
+
+  ajint i;
+  ajint size = 0;
+  char **ptr = NULL;
+
+  seqall = ajAcdGetSeqall("sequence");
+  high   = ajAcdGetInt("high");
+  low    = ajAcdGetFloat("low");
+
+  plot = ajAcdGetToggle("plot");
+  outf = ajAcdGetOutfile("outfile");
+  mult = ajAcdGetGraphxy("graph");
+
+  params.high   = high;
+  params.low    = low;
+  params.output = "f";
+
+  array_seq.__ptr = NULL;
+  array_seq.__size = 0;
+
+  ptr = (char**)malloc(sizeof(char*));
+
+  if(!ptr)
+    {
+      ajDie("Error in allocation\n");
+    }
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      ptr = (char**)realloc(ptr, sizeof(char*) * (size + 1));
+
+      if(!ptr)
+	{
+	  ajDie("Error in allocation\n");
+	}
+
+      *(ptr + size) = ajCharNewS(ajSeqGetSeqS(seq));
+
+      ++size;
+    }
+
+  if(size < 2)
+    {
+      AJFREE(*ptr);
+      AJFREE(ptr);
+
+      ajDie("File only has one sequence. Please input more than two.\n");
+    }
+
+  array_seq.__ptr = ptr;
+  array_seq.__size = size;
+
+  soap_init(&soap);
+
+  if(soap_call_ns1__consensus_USCOREz(
+                                     &soap,
+				      NULL,
+				      NULL,
+				     &array_seq,
+				     &params,
+				     &result
+                                     ) == SOAP_OK)
+    {
+      if(plot)
+	{
+	  ajStrAppendC(&title, argv[0]);
+
+	  gpp.title = ajStrNewS(title);
+	  gpp.xlab = ajStrNewC("position");
+	  gpp.ylab = ajStrNewC("consensus");
+
+          if(!gFilebuffURLC(result, &buff))
+            {
+              ajDie("File downloading error from:\n%s\n", result);
+            }
+
+          if(!gPlotFilebuff(buff, mult, &gpp))
+            {
+              ajDie("Error in plotting\n");
+            }
+
+	  ajStrDel(&title);
+	  ajStrDel(&(gpp.xlab));
+	  ajStrDel(&(gpp.ylab));
+	}
+      else
+	{
+	  if(!gFileOutURLC(result, &outf))
+	    {
+              ajDie("File downloading error from:\n%s\n", result);
+              embExitBad();
+	    }
+	}
+    }
+  else
+    {
+      soap_print_fault(&soap, stderr);
+    }
+
+  soap_destroy(&soap);
+  soap_end(&soap);
+  soap_done(&soap);
+  
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+
+  i = 0;
+
+  while(i < size)
+    {
+      AJFREE(*(ptr + i));
+      ++i;
+    }
+
+  AJFREE(ptr);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gdeltaenc.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,157 @@
+/******************************************************************************
+** @source gdeltaenc
+**
+** Calculate the codon usage bias related to translation optimization
+** (delta enc)
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gdeltaenc **********************************************************
+**
+** Calculate the codon usage bias related to translation optimization
+** (delta enc)
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gdeltaenc", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+  AjPFilebuff tmp = NULL;
+
+  AjPStr line = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall = ajAcdGetSeqall("sequence");
+  accid  = ajAcdGetBoolean("accid");
+  outf   = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                    "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/delta_enc/", base, restid);
+
+      if(!gFilebuffURLS(url, &tmp))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajBuffreadLine(tmp, &line);
+
+      ajStrRemoveSetC(&line, "\n");
+
+      ajFmtPrintF(outf, "Sequence: %S DELTA-ENC %S\n", seqid, line);
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gdeltagcskew.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,164 @@
+/******************************************************************************
+** @source gdeltagcskew
+**
+** Calculates strand bias of bacterial genome using delta GC skew index
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gdeltagcskew ********************************************************
+**
+** Calculates strand bias of bacterial genome using delta GC skew index
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gdeltagcskew", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjBool at     = 0;
+  AjBool purine = 0;
+  AjBool keto   = 0;
+  AjPStr method = 0;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+  AjPFilebuff tmp = NULL;
+
+  AjPStr line = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall = ajAcdGetSeqall("sequence");
+  at     = ajAcdGetBoolean("at");
+  purine = ajAcdGetBoolean("purine");
+  keto   = ajAcdGetBoolean("keto");
+  method = ajAcdGetSelectSingle("method");
+  accid  = ajAcdGetBoolean("accid");
+  outf   = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/delta_gcskew/", base, restid);
+
+      if(!gFilebuffURLS(url, &tmp))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajBuffreadLine(tmp, &line);
+
+      ajStrRemoveSetC(&line, "\n");
+
+      ajFmtPrintF(outf, "Sequence: %S DELTA-GCskew %S\n", seqid, line);
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gdinuc.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,165 @@
+/******************************************************************************
+** @source gdinuc
+**
+** Calculates dinucleotide usage
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gdinuc ***************************************************************
+**
+** Calculates dinucleotide usage
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gdinuc", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjBool translate = ajFalse;
+  AjPStr position  = NULL;
+  AjPStr delkey    = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall    = ajAcdGetSeqall("sequence");
+  translate = ajAcdGetBoolean("translate");
+  position  = ajAcdGetListSingle("position");
+  delkey    = ajAcdGetString("delkey");
+  accid     = ajAcdGetBoolean("accid");
+  outf      = ajAcdGetOutfile("outfile");
+
+  if(ajStrMatchCaseC(position, "all"))
+    {
+      ajStrDel(&position);
+      position = ajStrNew();
+    }
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/dinuc/translate=%d/position=%S/"
+                  "delkey=%S/output=f/tag=gene", base, restid, translate,
+                  position, delkey);
+
+      ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+      if(!gFileOutURLS(url, &outf))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  ajStrDel(&position);
+  ajStrDel(&delkey);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gdistincc.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,194 @@
+/******************************************************************************
+** @source gdistincc
+**
+** Calculates distance betwwen two loci in cirular chromosomes
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Support sequences without features
+** @modified 2015/2/7   Remove negative distance bug
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+
+/* @prog gdistincc **********************************************************
+**
+** Calculates distance betwwen two loci in cirular chromosomes
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gdistincc", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq;
+
+  AjBool accid = ajFalse;
+  AjPStr seqid  = NULL;
+  AjPStr restid = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  ajint first;
+  ajint second;
+
+  AjPFile     outfile = NULL;
+  AjPFile     tmpfile = NULL;
+  AjPStr      tmpname = NULL;
+  AjPStr      fstname = NULL;
+  AjPFilebuff tmp     = NULL;
+  AjPStr      line    = NULL;
+  AjPSeqout   tmpout  = NULL;
+
+  seqall  = ajAcdGetSeqall("sequence");
+  first   = ajAcdGetInt("first");
+  second  = ajAcdGetInt("second");
+  accid   = ajAcdGetBoolean("accid");
+  outfile = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+  gAssignUniqueName(&fstname);
+  ajStrAppendC(&fstname, ".fasta");
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = ajStrNew();
+
+      tmpout = ajSeqoutNew();
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              if(!ajSeqoutOpenFilename(tmpout, fstname))
+                {
+                  embExitBad();
+                }
+
+              ajSeqoutSetFormatS(tmpout,ajStrNewC("fasta"));
+              ajSeqoutWriteSeq(tmpout, seq);
+              ajSeqoutClose(tmpout);
+              ajSeqoutDel(&tmpout);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, fstname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(fstname);
+            }
+        }      
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      if(second >= 0)
+        {
+          ajFmtPrintS(&url, "http://%S/%S/dist_in_cc/%d/%d",
+                      base, restid, first, second);
+        }
+      else
+        {
+          ajFmtPrintS(&url, "http://%S/%S/dist_in_cc/%d",
+                      base, restid, first);
+        }
+
+      if(!gFilebuffURLS(url, &tmp))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajBuffreadLine(tmp, &line);
+
+      ajStrRemoveSetC(&line, "\n");
+
+      if(second >= 0)
+        {
+          ajFmtPrintF(outfile, "Sequence: %S Position1: %d Position2: %d "
+                      "Distance %S\n", seqid, first, line);
+        }
+      else
+        {
+          ajFmtPrintF(outfile, "Sequence: %S Position1: %d Distance %S\n",
+                      seqid, first, line);
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+    }
+
+  ajFileClose(&outfile);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gdnawalk.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,163 @@
+/******************************************************************************
+** @source gdnawalk
+**
+** Draws DNA Walk map of the genome
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "soapH.h"
+#include "GLANGSoapBinding.nsmap"
+#include "soapClient.c"
+#include "soapC.c"
+#include "../gsoap/stdsoap2.c"
+#include "glibs.h"
+
+
+
+
+/* @prog gdnawalk *************************************************************
+**
+** Draws DNA Walk map of the genome
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gdnawalk", argc, argv, "GEMBASSY", "1.0.3");
+
+  struct soap soap;
+  struct ns1__dnawalkInputParams params;
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq    = NULL;
+  AjPStr    seqid    = NULL;
+  AjPFile   outf     = NULL;
+  AjPStr    filename = NULL;
+  AjPStr    outfname = NULL;
+  AjPStr    format   = NULL;
+
+  ajint i;
+
+  char *in0;
+  char *result;
+
+  seqall   = ajAcdGetSeqall("sequence");
+  filename = ajAcdGetString("goutfile");
+  format   = ajAcdGetString("format");
+
+  params.gmap = 0;
+
+  i = 0;
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      soap_init(&soap);
+
+      soap.send_timeout = 0;
+      soap.recv_timeout = 0;
+
+      inseq = NULL;
+
+      ajStrAppendC(&inseq, ">");
+      ajStrAppendS(&inseq, ajSeqGetAccS(seq));
+      ajStrAppendC(&inseq, "\n");
+      ajStrAppendS(&inseq, ajSeqGetSeqS(seq));
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      in0 = ajCharNewS(inseq);
+
+      if(soap_call_ns1__dnawalk(
+	                       &soap,
+			        NULL,
+			        NULL,
+			        in0,
+			       &params,
+			       &result
+                               ) == SOAP_OK)
+	{
+          ++i;
+
+          outfname = ajStrNewS(ajFmtStr("%S.%d.%S",
+                                        filename,
+                                        i,
+                                        format));
+
+          outf = ajFileNewOutNameS(outfname);
+
+          if(!outf)
+            {
+              ajDie("File open error\n");
+            }
+
+          if(!ajStrMatchC(format, "png"))
+            {
+              if(!gHttpConvertC(result, &outf, ajStrNewC("png"), format))
+                {
+                  ajDie("File downloading error from:\n%s\n", result);
+                }
+              else
+                {
+                  ajFmtPrint("Created %S\n", outfname);
+                }
+            }
+          else
+            {
+              if(!gHttpGetBinC(result, &outf))
+                {
+                  ajDie("File downloading error from:\n%s\n", result);
+                }
+              else
+                {
+                  ajFmtPrint("Created %S\n", outfname);
+                }
+            }
+
+          ajStrDel(&outfname);
+        }
+      else
+        {
+          soap_print_fault(&soap, stderr);
+        }
+
+      soap_destroy(&soap);
+      soap_end(&soap);
+      soap_done(&soap);
+
+      AJFREE(in0);
+
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+
+  ajStrDel(&filename);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/genc.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,153 @@
+/******************************************************************************
+** @source genc
+**
+** Calculate the effective number of codons (Nc)
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog genc *****************************************************************
+**
+** Calculate the effective number of codons (Nc)
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("genc", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjBool translate = ajFalse;
+  AjPStr delkey    = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall    = ajAcdGetSeqall("sequence");
+  translate = ajAcdGetBoolean("translate");
+  delkey    = ajAcdGetString("delkey");
+  accid     = ajAcdGetBoolean("accid");
+  outf      = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/enc/translate=%d/delkey=%S/"
+                  "output=f/tag=gene", base, restid, translate, delkey);
+
+      ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+      if(!gFileOutURLS(url, &outf))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&seqid);
+
+  ajStrDel(&delkey);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/genret.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,302 @@
+/******************************************************************************
+** @source genret
+**
+** Retrieves various gene related infomration from genome flatfile
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog genret ***************************************************************
+**
+** Retrieves various gene related infomration from genome flatfile
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("genret", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq seq      = NULL;
+  AjPStr inseq    = NULL;
+  AjPStr gene     = NULL;
+  AjPStr access   = NULL;
+  AjBool accid    = ajTrue;
+  AjPStr argument = NULL;
+  AjPFile outfile = NULL;
+
+  AjPStr seqid  = NULL;
+  AjPStr restid = NULL;
+
+  AjBool valid = ajFalse;
+  AjBool isseq = ajFalse;
+  AjBool isgbk = ajFalse;
+
+  AjPFilebuff buff = NULL;
+  AjPFile  tmpfile = NULL;
+  AjPStr   tmpname = NULL;
+
+  AjPStr regexstr = NULL;
+  AjPStrTok token = NULL;
+  AjPRegexp regex = NULL;
+
+  AjPStr url  = NULL;
+  AjPStr base = NULL;
+  AjPStr head = NULL;
+  AjPStr line = NULL;
+
+  seqall   = ajAcdGetSeqall("sequence");
+  access   = ajAcdGetString("access");
+  gene     = ajAcdGetString("gene");
+  argument = ajAcdGetString("argument");
+  accid    = ajAcdGetBoolean("accid");
+  outfile  = ajAcdGetOutfile("outfile");
+
+  if(
+     ajStrMatchC(access, "translation") ||
+     ajStrMatchC(access, "get_exon") ||
+     ajStrMatchC(access, "get_exons") ||
+     ajStrMatchC(access, "get_cdsseq") ||
+     ajStrMatchC(access, "get_gbkseq") ||
+     ajStrMatchC(access, "get_geneseq") ||
+     ajStrMatchC(access, "get_intron") ||
+     ajStrMatchC(access, "getseq") ||
+     ajStrMatchC(access, "seq") ||
+     ajStrMatchC(access, "around_startcodon") ||
+     ajStrMatchC(access, "around_stopcodon") ||
+     ajStrMatchC(access, "before_startcodon") ||
+     ajStrMatchC(access, "before_stopcodon") ||
+     ajStrMatchC(access, "after_startcodon") ||
+     ajStrMatchC(access, "after_stopcodon")
+     )
+    {
+      isseq = ajTrue;
+    }
+  else if(ajStrMatchC(access, "annotate") ||
+          ajStrMatchC(access, "output"))
+    {
+      isgbk = ajTrue;
+    }
+  else
+    {
+      ajFmtPrintF(outfile, "gene,%S\n", access);
+    }
+
+  base = ajStrNewC("rest.g-language.org");
+
+  ajStrExchangeCC(&argument, " ", "/");
+  ajStrExchangeCC(&argument, ",", "/");
+  ajStrExchangeCC(&argument, "\t", "/");
+  ajStrExchangeCC(&argument, "\r", "/");
+  ajStrExchangeCC(&argument, "\n", "/");
+
+  if(ajStrMatchC(gene, "*"))
+    {
+      ajStrInsertK(&gene, 0, '.');
+    }
+
+  if(ajStrPrefixC(gene, "@") || ajStrPrefixC(gene, "list::"))
+    {
+      ajStrExchangeCC(&gene, "@", "");
+      ajStrExchangeCC(&gene, "list::", "");
+      ajStrAssignS(&tmpname, gene);
+
+      tmpfile = ajFileNewInNameS(tmpname);
+
+      if(!tmpfile)
+        {
+          ajDie("List file (%S) open error\n", tmpname);
+        }
+
+      gene = ajStrNew();
+
+      while(ajReadline(tmpfile, &line))
+        {
+          ajStrAppendS(&gene, line);
+        }
+
+      ajFileClose(&tmpfile);
+      ajStrDel(&tmpname);
+      ajStrDel(&line);
+    }
+
+  tmpname = ajStrNew();
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = ajStrNew();
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+
+              ajFmtPrintF(tmpfile, "%S", inseq);
+
+              ajFileClose(&tmpfile);
+
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+
+              gFilePostSS(url, tmpname, &restid);
+
+              ajStrDel(&url);
+
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      if(isgbk)
+        {
+          ajFmtPrintS(&url, "http://%S/%S/%S", base, restid, access);
+        }
+      else
+        {
+          ajFmtPrintS(&url, "http://%S/%S/*/%S/%S", base, restid, access, argument);
+        }
+
+      if(!gFilebuffURLS(url, &buff))
+        {
+          ajDie("GET error from %S\n", url);
+        }
+
+      while(ajBuffreadLine(buff, &line))
+        {
+          if(isgbk){
+            ajFmtPrintF(outfile, "%S", line);
+            continue;
+          }
+
+          ajStrRemoveLastNewline(&line);
+
+          regex = ajRegCompC("^>");
+
+          if(ajRegExec(regex, line))
+            {
+              head = ajStrNew();
+
+              ajStrAssignS(&head, line);
+              ajStrTrimStartC(&head, ">");
+
+              valid = ajFalse;
+
+              token = ajStrTokenNewC(ajStrNewS(gene), " ,\t\r\n");
+
+              while(ajStrTokenNextParse(token, &regexstr))
+                {
+                  if(ajStrGetLen(regexstr))
+                    {
+                      regex = ajRegComp(regexstr);
+
+                      if(ajRegExec(regex, line))
+                        {
+                          valid = ajTrue;
+                          if(ajStrIsAlnum(regexstr))
+                            {
+                              ajStrExchangeSC(&gene, regexstr, "");
+                            }
+                        }
+
+                      ajRegFree(&regex);
+                    }
+                }
+            }
+          else
+            {
+              if(valid)
+                {
+                  if(isseq)
+                    {
+                      ajStrFmtWrap(&line, 60);
+                      ajFmtPrintF(outfile, ">%S\n%S\n", head, line);
+                    }
+                  else
+                    {
+                      ajFmtPrintF(outfile, "%S,%S\n", head, line);
+                    }
+
+                  valid = ajFalse;
+                }
+            }
+        }
+
+      ajFileClose(&outfile);
+
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&access);
+  ajStrDel(&gene);
+
+  embExit();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gentrez.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,108 @@
+/******************************************************************************
+** @source gentrez
+**
+** Search NCBI Entrez in G-language Shell
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+
+#include "emboss.h"
+#include "soapH.h"
+#include "GLANGSoapBinding.nsmap"
+#include "soapClient.c"
+#include "soapC.c"
+#include "../gsoap/stdsoap2.c"
+#include "glibs.h"
+
+
+
+
+/* @prog gentrez **************************************************************
+**
+** Search NCBI Entrez in G-language Shell
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gentrez", argc, argv, "GEMBASSY", "1.0.3");
+
+  struct soap soap;
+
+  AjPStr database = NULL;
+  AjPStr query    = NULL;
+
+  char *in0;
+  char *in1;
+  char *result;
+
+  AjPFile outf = NULL;
+
+  database = ajAcdGetString("database");
+  query    = ajAcdGetString("query");
+  outf     = ajAcdGetOutfile("outfile");
+
+  in0 = ajCharNewS(database);
+  in1 = ajCharNewS(query);
+
+  soap_init(&soap);
+
+  if(soap_call_ns1__entrez(
+                          &soap,
+			   NULL,
+			   NULL,
+			   in0,
+			   in1,
+			  &result
+			  ) == SOAP_OK)
+    {
+      if(result)
+        {
+          ajFmtPrintF(outf, "%s", result);
+        }
+      else
+        {
+          ajFmtPrintF(outf, "No results found.\n");
+        }
+    }
+  else
+    {
+      soap_print_fault(&soap, stderr);
+    }
+
+  soap_destroy(&soap);
+  soap_end(&soap);
+  soap_done(&soap);
+
+  ajFileClose(&outf);
+
+  AJFREE(in0);
+  AJFREE(in1);
+
+  ajStrDel(&database);
+  ajStrDel(&query);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gew.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,155 @@
+/******************************************************************************
+** @source gew
+**
+** Calculate a measure of synonymous codon usage evenness (Ew)
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3   Revision 1
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gew ******************************************************************
+**
+** Calculate a measure of synonymous codon usage evenness (Ew)
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gew", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjBool translate = ajFalse;
+  AjPStr delkey    = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall    = ajAcdGetSeqall("sequence");
+  translate = ajAcdGetBoolean("translate");
+  delkey    = ajAcdGetString("delkey");
+  accid     = ajAcdGetBoolean("accid");
+  outf      = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/Ew/translate=%d/delkey=%S/"
+                  "output=f/tag=gene", base, restid, translate, delkey);
+
+      ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+      if(!gFileOutURLS(url, &outf))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  ajStrDel(&delkey);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gfindoriter.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,167 @@
+/******************************************************************************
+** @source gfindoriter
+**
+** Predict the replication origin and terminus in bacterial genomes
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   RESTify
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gfindoriter ********************************************************
+**
+** Predict the replication origin and terminus in bacterial genomes
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gfindoriter", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+
+  ajint	 window  = 0;
+  AjBool purine  = 0;
+  AjBool keto    = 0;
+  ajint	 lowpass = 0;
+
+  AjPStr ori = NULL;
+  AjPStr ter = NULL;
+
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPStr      tmpname = NULL;
+  AjPSeqout   tmpout  = NULL;
+  AjPFilebuff tmpbuff = NULL;
+
+  AjPStr tmp  = NULL;
+  AjPStr line = NULL;
+
+  AjPRegexp regex;
+
+  AjPFile outf = NULL;
+
+  seqall = ajAcdGetSeqall("sequence");
+  window = ajAcdGetInt("window");
+  lowpass = ajAcdGetInt("lowpass");
+  purine = ajAcdGetBoolean("purine");
+  keto   = ajAcdGetBoolean("keto");
+  outf   = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+  ajStrAppendC(&tmpname, ".fasta");
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      tmpout = ajSeqoutNew();
+
+      if(!ajSeqoutOpenFilename(tmpout, tmpname))
+        {
+          embExitBad();
+        }
+
+      ajSeqoutSetFormatS(tmpout,ajStrNewC("fasta"));
+      ajSeqoutWriteSeq(tmpout, seq);
+      ajSeqoutClose(tmpout);
+      ajSeqoutDel(&tmpout);
+
+      ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+      gFilePostSS(url, tmpname, &restid);
+      ajStrDel(&url);
+      ajSysFileUnlinkS(tmpname);
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/find_ori_ter/window=%d/lowpass=%d/"
+                  "purine=%d/keto=%d/", base, restid, window, lowpass,
+                  purine, keto);
+
+      if(!gFilebuffURLS(url, &tmpbuff))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      regex = ajRegCompC("([0-9]+)$");
+
+      while(ajBuffreadLine(tmpbuff, &line))
+        {
+          if(ajRegExec(regex, line))
+            {
+              if(ajRegSubI(regex, 0, &tmp))
+                {
+                  if(ajStrGetLen(ori) == 0)
+                    {
+                      ajStrAssignS(&ori, tmp);
+                    }
+                  else if(ajStrGetLen(ter) == 0)
+                    {
+                      ajStrAssignS(&ter, tmp);
+                    }
+                }
+            }
+        }
+
+      ajFmtPrintF(outf, "Sequence: %S Origin: %S Terminus: %S\n",
+                  seqid, ori, ter);
+
+      ajStrDel(&tmp);
+      ajStrDel(&ori);
+      ajStrDel(&ter);
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&seqid);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gfop.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,153 @@
+/******************************************************************************
+** @source gfop
+**
+** Calculate the frequency of optimal codons (Fop)
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gfop *****************************************************************
+**
+** Calculate the frequency of optimal codons (Fop)
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gfop", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjBool translate = ajFalse;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall    = ajAcdGetSeqall("sequence");
+  translate = ajAcdGetBoolean("translate");
+  accid     = ajAcdGetBoolean("accid");
+  outf      = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/fop/translate=%d/output=f/tag=gene",
+                  base, restid, translate);
+
+      ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+      if(!gFileOutURLS(url, &outf))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/ggcsi.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,192 @@
+/******************************************************************************
+** @source ggcsi
+**
+** GC Skew Index: an index for strand-specific mutational bias
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   RESTify
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog ggcsi ****************************************************************
+**
+** GC Skew Index: an index for strand-specific mutational bias
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("ggcsi", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq   = NULL;
+
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  ajint	 window  = 0;
+  AjBool at      = 0;
+  AjBool purine  = 0;
+  AjBool keto    = 0;
+  AjBool pval    = 0;
+  AjPStr version = NULL;
+
+  AjPStr      tmpname = NULL;
+  AjPSeqout   tmpout  = NULL;
+  AjPFilebuff tmpbuff = NULL;
+
+  AjPStr tmp   = NULL;
+  AjPStr parse = NULL;
+  AjPStr gcsi  = NULL;
+  AjPStr sa    = NULL;
+  AjPStr dist  = NULL;
+  AjPStr z     = NULL;
+  AjPStr p     = NULL;
+
+  AjPStrTok handle  = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall  = ajAcdGetSeqall("sequence");
+  window  = ajAcdGetInt("window");
+  at      = ajAcdGetBoolean("at");
+  purine  = ajAcdGetBoolean("purine");
+  keto    = ajAcdGetBoolean("keto");
+  pval    = ajAcdGetBoolean("pval");
+  version = ajAcdGetSelectSingle("gcsi");
+  outf    = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+  ajStrAppendC(&tmpname, ".fasta");
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      tmpout = ajSeqoutNew();
+
+      if(!ajSeqoutOpenFilename(tmpout, tmpname))
+        {
+          embExitBad();
+        }
+
+      ajSeqoutSetFormatS(tmpout,ajStrNewC("fasta"));
+      ajSeqoutWriteSeq(tmpout, seq);
+      ajSeqoutClose(tmpout);
+      ajSeqoutDel(&tmpout);
+
+      ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+      gFilePostSS(url, tmpname, &restid);
+      ajStrDel(&url);
+      ajSysFileUnlinkS(tmpname);
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/gcsi/window=%d/at=%d/purine=%d/"
+                  "keto=%d/p=%d/version=%d/", base, restid, window, at, purine,
+                  keto, pval, version);
+
+      if(!gFilebuffURLS(url, &tmpbuff))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajBuffreadLine(tmpbuff, &tmp);
+
+      parse = ajStrNew();
+      gcsi  = ajStrNew();
+      sa    = ajStrNew();
+      dist  = ajStrNew();
+      z     = ajStrNew();
+      p     = ajStrNew();
+
+      ajStrRemoveLastNewline(&tmp);
+
+      handle = ajStrTokenNewC(tmp, ",");
+
+      while (ajStrTokenNextParse(handle, &parse))
+        {
+          if (ajStrIsFloat(parse))
+            {
+              if(!ajStrGetLen(gcsi))
+                ajStrAssignS(&gcsi, parse);
+              else if(!ajStrGetLen(sa))
+                ajStrAssignS(&sa, parse);
+              else if(!ajStrGetLen(dist))
+                ajStrAssignS(&dist, parse);
+              else if(!ajStrGetLen(z))
+                ajStrAssignS(&z, parse);
+              else if(!ajStrGetLen(p))
+                ajStrAssignS(&p, parse);
+            }
+        }
+
+      tmp = ajFmtStr("Sequence: %S GCSI: %S SA: %S DIST: %S",
+                     seqid, gcsi, sa, dist);
+
+      if(pval)
+        tmp = ajFmtStr("%S Z: %S P: %S", tmp, z, p);
+
+      ajFmtPrintF(outf, "%S\n", tmp);
+
+      ajStrDel(&tmp);
+      ajStrDel(&parse);
+      ajStrDel(&gcsi);
+      ajStrDel(&sa);
+      ajStrDel(&dist);
+      ajStrDel(&z);
+      ajStrDel(&p);
+
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&seqid);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/ggcskew.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,178 @@
+/******************************************************************************
+** @source ggcskew
+**
+** Calculates the GC skew of the input sequence
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   RESTify
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog ggcskew **************************************************************
+**
+** Calculates the GC skew of the input sequence
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("ggcskew", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq      = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPStr    tmpname = NULL;
+  AjPSeqout tmpout  = NULL;
+
+  ajint	 window     = 0;
+  ajint	 slide      = 0;
+  AjBool cumulative = 0;
+  AjBool at         = 0;
+  AjBool purine     = 0;
+  AjBool keto       = 0;
+
+  AjBool      plot = 0;
+  AjPFile     outf = NULL;
+  AjPFilebuff buff = NULL;
+  AjPGraph    mult = NULL;
+
+  gPlotParams gpp;
+  AjPStr      title = NULL;
+
+  seqall     = ajAcdGetSeqall("sequence");
+  window     = ajAcdGetInt("window");
+  slide      = ajAcdGetInt("slide");
+  cumulative = ajAcdGetBoolean("cumulative");
+  at         = ajAcdGetBoolean("at");
+  purine     = ajAcdGetBoolean("purine");
+  keto       = ajAcdGetBoolean("keto");
+
+  plot = ajAcdGetToggle("plot");
+  outf = ajAcdGetOutfile("outfile");
+  mult = ajAcdGetGraphxy("graph");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+  ajStrAppendC(&tmpname, ".fasta");
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      tmpout = ajSeqoutNew();
+
+      if(!ajSeqoutOpenFilename(tmpout, tmpname))
+        {
+          embExitBad();
+        }
+
+      ajSeqoutSetFormatS(tmpout,ajStrNewC("fasta"));
+      ajSeqoutWriteSeq(tmpout, seq);
+      ajSeqoutClose(tmpout);
+      ajSeqoutDel(&tmpout);
+
+      ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+      gFilePostSS(url, tmpname, &restid);
+      ajStrDel(&url);
+      ajSysFileUnlinkS(tmpname);
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/gcskew/window=%d/slide=%d/cumulative=%d/"
+                  "at=%d/purine=%d/keto=%d/output=f/", base, restid, window,
+                  slide, cumulative, at, purine, keto);
+
+      if(plot)
+        {
+          title = ajStrNew();
+
+          ajStrAppendC(&title, argv[0]);
+          ajStrAppendC(&title, " of ");
+          ajStrAppendS(&title, seqid);
+
+          gpp.title = ajStrNewS(title);
+          gpp.xlab = ajStrNewC("location");
+          gpp.ylab = ajStrNewC("GC skew");
+
+          if(!gFilebuffURLS(url, &buff))
+            {
+              ajDie("File downloading error from:\n%S\n", url);
+            }
+
+          if(!gPlotFilebuff(buff, mult, &gpp))
+            {
+              ajDie("Error in plotting\n");
+            }
+
+          AJFREE(gpp.title);
+          AJFREE(gpp.xlab);
+          AJFREE(gpp.ylab);
+          ajStrDel(&title);
+          ajFilebuffDel(&buff);
+        }
+      else
+        {
+          ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+          if(!gFileOutURLS(url, &outf))
+            {
+              ajDie("File downloading error from:\n%S\n", url);
+            }
+        }
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/ggcwin.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,173 @@
+/******************************************************************************
+** @source ggcwin
+**
+** Calculates the GC content along the given genome
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   RESTify
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog ggcwin ***************************************************************
+**
+** Calculates the GC content along the given genome
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("ggcwin", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq      = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPStr    tmpname = NULL;
+  AjPSeqout tmpout  = NULL;
+
+  ajint  window = 0;
+  AjBool at     = 0;
+  AjBool purine = 0;
+  AjBool keto   = 0;
+
+  AjBool      plot = 0;
+  AjPFile     outf = NULL;
+  AjPFilebuff buff = NULL;
+  AjPGraph    mult = NULL;
+
+  gPlotParams gpp;
+  AjPStr      title = NULL;
+
+  seqall = ajAcdGetSeqall("sequence");
+  window = ajAcdGetInt("window");
+  at     = ajAcdGetBoolean("at");
+  purine = ajAcdGetBoolean("purine");
+  keto   = ajAcdGetBoolean("keto");
+
+  plot = ajAcdGetToggle("plot");
+  outf = ajAcdGetOutfile("outfile");
+  mult = ajAcdGetGraphxy("graph");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+  ajStrAppendC(&tmpname, ".fasta");
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      tmpout = ajSeqoutNew();
+
+      if(!ajSeqoutOpenFilename(tmpout, tmpname))
+        {
+          embExitBad();
+        }
+
+      ajSeqoutSetFormatS(tmpout,ajStrNewC("fasta"));
+      ajSeqoutWriteSeq(tmpout, seq);
+      ajSeqoutClose(tmpout);
+      ajSeqoutDel(&tmpout);
+
+      ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+      gFilePostSS(url, tmpname, &restid);
+      ajStrDel(&url);
+      ajSysFileUnlinkS(tmpname);
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/gcwin/window=%d/at=%d/purine=%d/"
+                  "keto=%d/output=f/", base, restid, window, at, purine, keto);
+
+      if(plot)
+        {
+          title = ajStrNew();
+
+          ajStrAppendC(&title, argv[0]);
+          ajStrAppendC(&title, " of ");
+          ajStrAppendS(&title, seqid);
+
+          gpp.title = ajStrNewS(title);
+          gpp.xlab = ajStrNewC("location");
+          gpp.ylab = ajStrNewC("GC content");
+
+          if(!gFilebuffURLS(url, &buff))
+            {
+              ajDie("File downloading error from:\n%S\n", url);
+            }
+
+          if(!gPlotFilebuff(buff, mult, &gpp))
+            {
+              ajDie("Error in plotting\n");
+            }
+
+          AJFREE(gpp.title);
+          AJFREE(gpp.xlab);
+          AJFREE(gpp.ylab);
+          ajStrDel(&title);
+          ajFilebuffDel(&buff);
+        }
+      else
+        {
+          ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+          if(!gFileOutURLS(url, &outf))
+            {
+              ajDie("File downloading error from:\n%S\n", url);
+            }
+        }
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/ggeneskew.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,208 @@
+/******************************************************************************
+** @source ggeneskew
+**
+** Calculate the gene strand bias of the given genome
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog ggeneskew ************************************************************
+**
+** Calculate the gene strand bias of the given genome
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("ggeneskew", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  ajint	 window     = 0;
+  ajint	 slide      = 0;
+  AjBool cumulative = ajFalse;
+  AjBool gc3        = ajFalse;
+  AjPStr basetype   = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjBool      plot = 0;
+  AjPFile     outf = NULL;
+  AjPFilebuff buff = NULL;
+  AjPGraph    mult = NULL;
+
+  gPlotParams gpp;
+  AjPStr      title = NULL;
+
+  seqall     = ajAcdGetSeqall("sequence");
+  window     = ajAcdGetInt("window");
+  slide      = ajAcdGetInt("slide");
+  cumulative = ajAcdGetBoolean("cumulative");
+  gc3        = ajAcdGetBoolean("gctri");
+  basetype   = ajAcdGetSelectSingle("base");
+  accid      = ajAcdGetBoolean("accid");
+
+  plot = ajAcdGetToggle("plot");
+  outf = ajAcdGetOutfile("outfile");
+  mult = ajAcdGetGraphxy("graph");
+
+  if(ajStrMatchC(base, "none"))
+    basetype = ajStrNewC("");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              gAssignUniqueName(&tmpname);
+
+              tmpfile = ajFileNewOutNameS(tmpname);
+
+              if(!tmpfile)
+                {
+                  ajFmtError("Output file (%S) open error\n", tmpname);
+                  embExitBad();
+                }
+
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajFmtError("Sequence does not have features\n"
+                         "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/geneskew/window=%d/slide=%d/"
+                  "cumulative=%d/gc3=%d/base=%S/output=f/tag=gene",
+                  base, restid, window, slide, cumulative, gc3, basetype);
+
+      if(plot)
+        {
+          title = ajStrNew();
+
+          ajStrAppendC(&title, argv[0]);
+          ajStrAppendC(&title, " of ");
+          ajStrAppendS(&title, seqid);
+
+          gpp.title = ajStrNewS(title);
+          gpp.xlab = ajStrNewC("gene skew");
+          gpp.ylab = ajStrNewC("bp");
+
+          if(!gFilebuffURLS(url, &buff))
+            {
+              ajDie("File downloading error from:\n%S\n", url);
+            }
+
+          if(!gPlotFilebuff(buff, mult, &gpp))
+            {
+              ajDie("Error in plotting\n");
+            }
+
+          AJFREE(gpp.title);
+          AJFREE(gpp.xlab);
+          AJFREE(gpp.ylab);
+          ajStrDel(&title);
+          ajFilebuffDel(&buff);
+        }
+      else
+        {
+          ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+          if(!gFileOutURLS(url, &outf))
+            {
+              ajDie("File downloading error from:\n%S\n", url);
+            }
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/ggenomemap3.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,191 @@
+/******************************************************************************
+** @source ggenomemap3
+**
+** Draws the map of the genome (Version 3)
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7  Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "soapH.h"
+#include "GLANGSoapBinding.nsmap"
+#include "soapClient.c"
+#include "soapC.c"
+#include "../gsoap/stdsoap2.c"
+#include "glibs.h"
+
+
+
+
+/* @prog ggenomemap3 **********************************************************
+**
+** Draws the map of the genome (Version 3)
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("ggenomemap3", argc, argv, "GEMBASSY", "1.0.3");
+
+  struct soap soap;
+  struct ns1__genome_USCOREmap3InputParams params;
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq    = NULL;
+  AjPStr    seqid    = NULL;
+  ajint     width;
+  ajint     height;
+  AjBool    accid    = ajFalse;
+  AjPFile   outf     = NULL;
+  AjPStr    filename = NULL;
+  AjPStr    outfname = NULL;
+  AjPStr    format   = NULL;
+
+  ajint i;
+
+  char *in0;
+  char *result;
+
+  seqall   = ajAcdGetSeqall("sequence");
+  width    = ajAcdGetInt("width");
+  height   = ajAcdGetInt("height");
+  filename = ajAcdGetString("goutfile");
+  accid    = ajAcdGetBoolean("accid");
+  format   = ajAcdGetString("format");
+
+  params.width  = width;
+  params.height = height;
+  params.gmap   = 0;
+  params.datafilename = "";
+  params.output = "g";
+
+  i = 0;
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+
+      soap_init(&soap);
+
+      soap.send_timeout = 0;
+      soap.recv_timeout = 0;
+
+      inseq = NULL;
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(!ajStrGetLen(seqid))
+        ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+
+      if(!ajStrGetLen(seqid))
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid || !gFormatGenbank(seq, &inseq))
+        {
+          if(!accid)
+            ajWarn("Sequence does not have features\n"
+                   "Proceeding with sequence accession ID:%S\n", seqid);
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+
+          ajStrAssignS(&inseq, seqid);
+        }
+
+      in0 = ajCharNewS(inseq);
+
+      if(soap_call_ns1__genome_USCOREmap3(
+                                          &soap,
+					  NULL,
+					  NULL,
+					  in0,
+                                          &params,
+                                          &result
+                                          ) == SOAP_OK)
+	{
+          ++i;
+
+          outfname = ajStrNewS(ajFmtStr("%S.%d.%S",
+                                        filename,
+                                        i,
+                                        format));
+
+          outf = ajFileNewOutNameS(outfname);
+
+          if(!outf)
+            {
+              ajDie("File open error\n");
+            }
+
+          if(!ajStrMatchC(format, "png"))
+            {
+              if(!gHttpConvertC(result, &outf, ajStrNewC("png"), format))
+                {
+                  ajDie("File downloading error from:\n%s\n", result);
+                }
+              else
+                {
+                  ajFmtPrint("Created %S\n", outfname);
+                }
+            }
+          else
+            {
+              if(!gHttpGetBinC(result, &outf))
+                {
+                  ajDie("File downloading error from:\n%s\n", result);
+                }
+              else
+                {
+                  ajFmtPrint("Created %S\n", outfname);
+                }
+            }
+
+          ajStrDel(&outfname);
+        }
+      else
+        {
+          soap_print_fault(&soap, stderr);
+        }
+
+      soap_destroy(&soap);
+      soap_end(&soap);
+      soap_done(&soap);
+
+      AJFREE(in0);
+
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+
+  ajStrDel(&filename);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/ggenomicskew.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,219 @@
+/******************************************************************************
+** @source ggenomicskew
+**
+** Calculates the GC skew in different regions of the given genome
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   RESTify
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog ggenomicskew *********************************************************
+**
+** Calculates the GC skew in different regions of the given genome
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("ggenomicskew", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  ajint divide = 0;
+  AjBool at    = ajFalse;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjBool      plot = 0;
+  AjPFile     outf = NULL;
+  AjPFilebuff buff = NULL;
+  AjPGraph    mult = NULL;
+
+  gPlotParams gpp;
+  AjPStr      title = NULL;
+  AjPPStr     names = NULL;
+
+  ajint i;
+
+  seqall = ajAcdGetSeqall("sequence");
+  divide = ajAcdGetInt("divide");
+  at     = ajAcdGetBoolean("at");
+  accid  = ajAcdGetBoolean("accid");
+
+  plot = ajAcdGetToggle("plot");
+  outf = ajAcdGetOutfile("outfile");
+  mult = ajAcdGetGraphxy("graph");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while (ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              gAssignUniqueName(&tmpname);
+
+              tmpfile = ajFileNewOutNameS(tmpname);
+
+              if(!tmpfile)
+                {
+                  ajFmtError("Output file (%S) open error\n", tmpname);
+                  embExitBad();
+                }
+
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajFmtError("Sequence does not have features\n"
+                         "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/genomicskew/divide=%d/at=%d/"
+                  "output=f/tag=gene", base, restid, divide, at);
+      if(plot)
+        {
+          if((names = (AjPPStr)malloc(sizeof(AjPStr) * 5)) == NULL) {
+            ajDie("Error in memory allocation, exiting\n");
+          }
+              
+          names[0] = NULL;
+          names[1] = ajStrNewC("whole genome");
+          names[2] = ajStrNewC("coding region");
+          names[3] = ajStrNewC("intergenic region");
+          names[4] = ajStrNewC("codon third position");
+
+          ajStrAppendC(&title, argv[0]);
+          ajStrAppendC(&title, " of ");
+          ajStrAppendS(&title, seqid);
+
+          gpp.title = ajStrNewS(title);
+          gpp.xlab = ajStrNewC("location");
+          gpp.ylab = ajStrNewC("GC skew");
+          gpp.names = names;
+
+          if(!gFilebuffURLS(url, &buff))
+            {
+              ajDie("File downloading error from:\n%S\n", url);
+            }
+
+          if(!gPlotFilebuff(buff, mult, &gpp))
+            {
+              ajDie("Error in plotting\n");
+            }
+
+          i = 0;
+          while(names[i])
+            {
+              AJFREE(names[i]);
+              ++i;
+            }
+
+          AJFREE(names);
+
+          ajStrDel(&title);
+          ajStrDel(&(gpp.title));
+          ajStrDel(&(gpp.xlab));
+          ajStrDel(&(gpp.ylab));
+          ajFilebuffDel(&buff);
+        }
+      else
+        {
+          ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+          if(!gFileOutURLS(url, &outf))
+            {
+              ajDie("File downloading error from:\n%S\n", url);
+            }
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gicdi.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,157 @@
+/******************************************************************************
+** @source gicdi
+**
+** Calculates the intrinsic codon deviation index
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gicdi ****************************************************************
+**
+** Calculates the intrinsic codon deviation index
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gicdi", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjBool translate = ajFalse;
+  AjPStr delkey    = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall    = ajAcdGetSeqall("sequence");
+  translate = ajAcdGetBoolean("translate");
+  delkey    = ajAcdGetString("delkey");
+  accid     = ajAcdGetBoolean("accid");
+  outf      = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/icdi/translate=%d/delkey=%S/"
+                  "output=f/tag=gene", base, restid, translate, delkey);
+
+      ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+      if(!gFileOutURLS(url, &outf))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  ajStrDel(&delkey);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gkmertable.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,164 @@
+/******************************************************************************
+** @source gkmertable
+**
+** Create an image showing all k-mer abundance within a sequence
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "soapH.h"
+#include "GLANGSoapBinding.nsmap"
+#include "soapClient.c"
+#include "soapC.c"
+#include "../gsoap/stdsoap2.c"
+#include "glibs.h"
+
+
+
+
+/* @prog gkmertable ***********************************************************
+**
+** Create an image showing all k-mer abundance within a sequence
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gkmertable", argc, argv, "GEMBASSY", "1.0.3");
+
+  struct soap soap;
+  struct ns1__kmer_USCOREtableInputParams params;
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq    = NULL;
+  AjPStr    seqid    = NULL;
+  ajint     k        = 0;
+  AjBool    accid    = ajFalse;
+  AjPFile   outf     = NULL;
+  AjPStr    filename = NULL;
+  AjPStr    outfname = NULL;
+  AjPStr    format   = NULL;
+
+  ajint i;
+
+  char *in0;
+  char *result;
+
+  seqall   = ajAcdGetSeqall("sequence");
+  k        = ajAcdGetInt("k");
+  filename = ajAcdGetString("goutfile");
+  format   = ajAcdGetString("format");
+
+  params.k = k;
+
+  i = 0;
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+
+      soap_init(&soap);
+
+      inseq = NULL;
+
+      ajStrAppendC(&inseq, ">");
+      ajStrAppendS(&inseq, ajSeqGetAccS(seq));
+      ajStrAppendC(&inseq, "\n");
+      ajStrAppendS(&inseq, ajSeqGetSeqS(seq));
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      in0 = ajCharNewS(inseq);
+
+      if(soap_call_ns1__kmer_USCOREtable(
+                                        &soap,
+                                         NULL,
+                                         NULL,
+                                         in0,
+                                        &params,
+                                        &result
+                                        ) == SOAP_OK)
+	{
+          ++i;
+
+          outfname = ajStrNewS(ajFmtStr("%S.%d.%S",
+                                        filename,
+                                        i,
+                                        format));
+
+          outf = ajFileNewOutNameS(outfname);
+
+          if(!outf)
+            {
+              ajDie("File open error\n");
+            }
+
+          if(!ajStrMatchC(format, "png"))
+            {
+              if(!gHttpConvertC(result, &outf, ajStrNewC("png"), format))
+                {
+                  ajDie("File downloading error from:\n%s\n", result);
+                }
+              else
+                {
+                  ajFmtPrint("Created %S\n", outfname);
+                }
+            }
+          else
+            {
+              if(!gHttpGetBinC(result, &outf))
+                {
+                  ajDie("File downloading error from:\n%s\n", result);
+                }
+              else
+                {
+                  ajFmtPrint("Created %S\n", outfname);
+                }
+            }
+
+          ajStrDel(&outfname);
+        }
+      else
+	{
+	  soap_print_fault(&soap, stderr);
+	}
+
+      soap_destroy(&soap);
+      soap_end(&soap);
+      soap_done(&soap);
+
+      AJFREE(in0);
+
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+
+  ajStrDel(&filename);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gldabias.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,163 @@
+/******************************************************************************
+** @source gldabias
+**
+** Calculate strand bias of bacterial genome using linear discriminant
+** analysis (LDA)
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gldabias ************************************************************
+**
+** Calculate strand bias of bacterial genome using linear discriminant
+** analysis (LDA)
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gldabias", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  ajint	 coefficients = 0;
+  AjPStr variable = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFilebuff tmp = NULL;
+  AjPStr     line = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall       = ajAcdGetSeqall("sequence");
+  coefficients = ajAcdGetInt("coefficients");
+  variable     = ajAcdGetSelectSingle("variable");
+  accid        = ajAcdGetBoolean("accid");
+  outf         = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                    "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/lda_bias/coefficients=%d/variable=%S",
+                  base, restid, coefficients, variable);
+
+      if(!gFilebuffURLS(url, &tmp))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajBuffreadLine(tmp, &line);
+
+      ajStrRemoveSetC(&line, "\n");
+
+      ajFmtPrintF(outf, "Sequence: %S LDA-BIAS: %S\n", seqid, line);
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gnucleotideperiodicity.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,194 @@
+/******************************************************************************
+** @source gnucleotideperiodicity
+**
+** Checks the periodicity of certain oligonucleotides
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "../include/glibs.h"
+
+
+
+
+/* @prog gnucleotideperiodicity ***********************************************
+**
+** Checks the periodicity of certain oligonucleotides
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gnucleotideperiodicity", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  ajint  window     = 0;
+  AjPStr nucleotide = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjBool      plot = 0;
+  AjPFile     outf = NULL;
+  AjPFilebuff buff = NULL;
+  AjPGraph    mult = NULL;
+
+  gPlotParams gpp;
+  AjPStr      title = NULL;
+
+  seqall     = ajAcdGetSeqall("sequence");
+  window     = ajAcdGetInt("window");
+  nucleotide = ajAcdGetString("nucleotide");
+  accid      = ajAcdGetBoolean("accid");
+
+  plot = ajAcdGetToggle("plot");
+  outf = ajAcdGetOutfile("outfile");
+  mult = ajAcdGetGraphxy("graph");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              gAssignUniqueName(&tmpname);
+
+              tmpfile = ajFileNewOutNameS(tmpname);
+
+              if(!tmpfile)
+                {
+                  ajFmtError("Output file (%S) open error\n", tmpname);
+                  embExitBad();
+                }
+
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajFmtError("Sequence does not have features\n"
+                         "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/nucleotide_periodicity/output=f/gmap=0/"
+                  "nucleotide=%S/window=%d", base, restid, nucleotide, window);
+
+      if(plot)
+        {
+          title = ajStrNew();
+
+          ajStrAppendC(&title, argv[0]);
+          ajStrAppendC(&title, " of ");
+          ajStrAppendS(&title, seqid);
+
+          gpp.title = ajStrNewS(title);
+          gpp.xlab = ajStrNewC("window");
+          gpp.ylab = ajStrNewC("value");
+
+          if(!gFilebuffURLS(url, &buff))
+            {
+              ajDie("File downloading error from:\n%S\n", url);
+            }
+
+          if(!gPlotFilebuff(buff, mult, &gpp))
+            {
+              ajDie("Error in plotting\n");
+            }
+
+          AJFREE(gpp.title);
+          AJFREE(gpp.xlab);
+          AJFREE(gpp.ylab);
+          ajStrDel(&title);
+          ajFilebuffDel(&buff);
+        }
+      else
+        {
+          ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+          if(!gFileOutURLS(url, &outf))
+            {
+              ajDie("File downloading error from:\n%S\n", url);
+            }
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/goligomercounter.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,142 @@
+/******************************************************************************
+** @source goligomercounter
+**
+** Counts the number of given oligomers in a sequence
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3   Revision 1
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog goligomercounter ****************************************************
+**
+** Counts the number of given oligomers in a sequence
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("goligomercounter", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq    = NULL;
+  AjPStr    oligomer = NULL;
+
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  ajint window = 0;
+
+  AjPFile outf = NULL;
+
+  AjPStr    tmpname = NULL;
+  AjPSeqout tmpout  = NULL;
+
+  AjPFilebuff tmp = NULL;
+  AjPStr     line = NULL;
+
+  seqall   = ajAcdGetSeqall("sequence");
+  oligomer = ajAcdGetString("oligomer");
+  window   = ajAcdGetInt("window");
+  outf     = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+  ajStrAppendC(&tmpname, ".fasta");
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      tmpout = ajSeqoutNew();
+
+      if(!ajSeqoutOpenFilename(tmpout, tmpname))
+        {
+          embExitBad();
+        }
+
+      ajSeqoutSetFormatS(tmpout,ajStrNewC("fasta"));
+      ajSeqoutWriteSeq(tmpout, seq);
+      ajSeqoutClose(tmpout);
+      ajSeqoutDel(&tmpout);
+
+      ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+      gFilePostSS(url, tmpname, &restid);
+      ajStrDel(&url);
+      ajSysFileUnlinkS(tmpname);
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/oligomer_counter/%S",
+                  base, restid, oligomer);
+
+      if(!gFilebuffURLS(url, &tmp))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajBuffreadLine(tmp, &line);
+
+      ajStrRemoveSetC(&line, "\n");
+
+      ajFmtPrintF(outf, "Sequence: %S Oligomer: %S Number: %S\n",
+                  seqid, oligomer, line);
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  ajStrDel(&oligomer);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/goligomersearch.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,142 @@
+/******************************************************************************
+** @source goligomersearch
+**
+** Counts the number of given oligomers in a sequence
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog goligomersearch ******************************************************
+**
+** Counts the number of given oligomers in a sequence
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("goligomersearch", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq    = NULL;
+  AjPStr    oligomer = NULL;
+
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPStr _return = NULL;
+
+  AjPStr    tmpname = NULL;
+  AjPSeqout tmpout  = NULL;
+
+  AjPFilebuff tmp  = NULL;
+  AjPStr      line = NULL;
+
+  AjPFile outfile = NULL;
+
+  seqall   = ajAcdGetSeqall("sequence");
+  oligomer = ajAcdGetString("oligomer");
+  _return  = ajAcdGetSelectSingle("return");
+  outfile  = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+  ajStrAppendC(&tmpname, ".fasta");
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      tmpout = ajSeqoutNew();
+
+      if(!ajSeqoutOpenFilename(tmpout, tmpname))
+        {
+          embExitBad();
+        }
+
+      ajSeqoutSetFormatS(tmpout,ajStrNewC("fasta"));
+      ajSeqoutWriteSeq(tmpout, seq);
+      ajSeqoutClose(tmpout);
+      ajSeqoutDel(&tmpout);
+
+      ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+      gFilePostSS(url, tmpname, &restid);
+      ajStrDel(&url);
+      ajSysFileUnlinkS(tmpname);
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/oligomer_search/%S/return=%S",
+                  base, restid, oligomer, _return);
+
+      if(!gFilebuffURLS(url, &tmp))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajBuffreadLine(tmp, &line);
+
+      ajStrRemoveSetC(&line, "\n");
+
+      ajFmtPrintF(outfile, "Sequence: %S Oligomer: %S Return: %S\n",
+                  seqid, oligomer, line);
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outfile);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  ajStrDel(&oligomer);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gp2.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,147 @@
+/******************************************************************************
+** @source gp2
+**
+** 
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gp2 ******************************************************************
+**
+** Predict highly expressed gene
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gp2", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall = ajAcdGetSeqall("sequence");
+  accid  = ajAcdGetBoolean("accid");
+  outf   = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/P2/output=f/tag=gene", base, restid);
+
+      ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+      if(!gFileOutURLS(url, &outf))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gpalindrome.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,131 @@
+/******************************************************************************
+** @source gpalindrome
+**
+** Searches palindrome sequences
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "soapH.h"
+#include "GLANGSoapBinding.nsmap"
+#include "soapClient.c"
+#include "soapC.c"
+#include "../gsoap/stdsoap2.c"
+#include "glibs.h"
+
+
+
+
+/* @prog gpalindrome **********************************************************
+**
+** Searches palindrome sequences
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gpalindrome", argc, argv, "GEMBASSY", "1.0.3");
+
+  struct soap soap;
+  struct ns1__palindromeInputParams params;
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+  AjPStr    seqid = NULL;
+  ajint	    shortest = 0;
+  ajint	    loop = 0;
+  AjBool    gtmatch = 0;
+
+  char *in0;
+  char *result;
+
+  AjPFile outf = NULL;
+
+  seqall   = ajAcdGetSeqall("sequence");
+  shortest = ajAcdGetInt("shortest");
+  loop     = ajAcdGetInt("loop");
+  gtmatch  = ajAcdGetBoolean("gtmatch");
+  outf     = ajAcdGetOutfile("outfile");
+
+  params.shortest = shortest;
+  params.loop     = loop;
+  params.gtmatch  = gtmatch;
+  params.output   = "f";
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      soap_init(&soap);
+
+      inseq = NULL;
+
+      ajStrAppendC(&inseq, ">");
+      ajStrAppendS(&inseq, ajSeqGetNameS(seq));
+      ajStrAppendC(&inseq, "\n");
+      ajStrAppendS(&inseq, ajSeqGetSeqS(seq));
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      in0 = ajCharNewS(inseq);
+
+      if(soap_call_ns1__palindrome(
+				  &soap,
+                                   NULL,
+                                   NULL,
+				   in0,
+                                  &params,
+                                  &result
+				  ) == SOAP_OK)
+        {
+          ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+
+          if(!gFileOutURLC(result, &outf))
+            {
+              ajDie("File downloading error from:\n%s\n", result);
+              embExitBad();
+            }
+        }
+      else
+        {
+          soap_print_fault(&soap, stderr);
+        }
+
+      soap_destroy(&soap);
+      soap_end(&soap);
+      soap_done(&soap);
+
+      AJFREE(in0);
+
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&seqid);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gphx.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,156 @@
+/******************************************************************************
+** @source gphx
+**
+** Identify predict highly expressed gene
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gphx *****************************************************************
+**
+** Identify predict highly expressed gene
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gphx", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjBool translate = ajFalse;
+  AjPStr delkey    = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall    = ajAcdGetSeqall("sequence");
+  translate = ajAcdGetBoolean("translate");
+  delkey    = ajAcdGetString("delkey");
+  accid     = ajAcdGetBoolean("accid");
+  outf      = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/phx/translate=%d/delkey=%S/"
+                  "output=f/tag=gene", base, restid, translate, delkey);
+
+      ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+      if(!gFileOutURLS(url, &outf))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  ajStrDel(&delkey);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gqueryarm.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,159 @@
+/******************************************************************************
+** @source gqueryarm
+**
+** Get the replication arm name (left or right) from the given position
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   RESTify
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gqueryarm ***********************************************************
+**
+** Get the replication arm name (left or right) from the given position
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gqueryarm", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq    = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  ajint	 position = 0;
+
+  AjPFile outf = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFilebuff tmp = NULL;
+  AjPStr     line = NULL;
+
+  seqall   = ajAcdGetSeqall("sequence");
+  position = ajAcdGetInt("position");
+  accid    = ajAcdGetBoolean("accid");
+  outf     = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/query_arm/%d/", base, restid, position);
+
+      if(!gFilebuffURLS(url, &tmp))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajBuffreadLine(tmp, &line);
+
+      ajStrRemoveSetC(&line, "\n");
+
+      ajFmtPrintF(outf, "Sequence: %S Arm: %S\n", seqid, line);
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gquerystrand.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,162 @@
+/******************************************************************************
+** @source gquerystrand
+**
+** Get the strand name (leading or lagging) from the given position
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   RESTify
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gquerystrand *********************************************************
+**
+** Get the strand name (leading or lagging) from the given position
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gquerystrand", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq    = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  ajint	 position  = 0;
+  AjPStr direction = 0;
+
+  AjPFile outf = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFilebuff tmp = NULL;
+  AjPStr     line = NULL;
+
+  seqall    = ajAcdGetSeqall("sequence");
+  position  = ajAcdGetInt("position");
+  direction = ajAcdGetSelectSingle("direction");
+  accid     = ajAcdGetBoolean("accid");
+  outf      = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/query_strand/%d/direction=%S/", base,
+                  restid, position, direction);
+
+      if(!gFilebuffURLS(url, &tmp))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajBuffreadLine(tmp, &line);
+
+      ajStrRemoveSetC(&line, "\n");
+
+      ajFmtPrintF(outf, "Sequence: %S Strand: %S\n", seqid, line);
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/greporiter.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,191 @@
+/******************************************************************************
+** @source greporiter
+**
+** Get the positions of replication origin and terminus
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   RESTify
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog greporiter *********************************************************
+**
+** Get the positions of replication origin and terminus
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("greporiter", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq  = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjBool oriloc = 0;
+  AjBool gcskew = 0;
+  AjBool dbonly = 0;
+  ajint	 difthreshold = 0;
+
+  AjPFile outf = NULL;
+
+  AjPFile     tmpfile = NULL;
+  AjPStr      tmpname = NULL;
+  AjPStr      fstname = NULL;
+  AjPFilebuff tmp     = NULL;
+  AjPStr      line    = NULL;
+  AjPSeqout   tmpout  = NULL;
+
+  AjPRegexp regex;
+
+  AjPStr    ori    = NULL;
+  AjPStr    ter    = NULL;
+
+  seqall = ajAcdGetSeqall("sequence");
+  difthreshold = ajAcdGetInt("difthreshold");
+  oriloc = ajAcdGetBoolean("oriloc");
+  gcskew = ajAcdGetBoolean("gcskew");
+  dbonly = ajAcdGetBoolean("dbonly");
+  accid  = ajAcdGetBoolean("accid");
+  outf   = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+  gAssignUniqueName(&fstname);
+  ajStrAppendC(&fstname, ".fasta");
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = ajStrNew();
+
+      tmpout = ajSeqoutNew();
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              if(!ajSeqoutOpenFilename(tmpout, fstname))
+                {
+                  embExitBad();
+                }
+
+              ajSeqoutSetFormatS(tmpout,ajStrNewC("fasta"));
+              ajSeqoutWriteSeq(tmpout, seq);
+              ajSeqoutClose(tmpout);
+              ajSeqoutDel(&tmpout);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, fstname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(fstname);
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/rep_ori_ter/oriloc=%d/gcskew=%d/"
+                  "difthreshold=%d/dbonly=%d/",  base, restid, oriloc, gcskew,
+                  difthreshold, dbonly);
+
+      if(!gFilebuffURLS(url, &tmp))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajBuffreadLine(tmp, &line);
+
+      regex = ajRegCompC("([0-9]+),([0-9]+)");
+
+      if(ajRegExec(regex, line)) {
+        if(ajRegSubI(regex, 1, &ori), ajRegSubI(regex, 2, &ter)) {
+          ajFmtPrint("%S Origin: %S Terminus %S\n", seqid, ori, ter);
+        }
+      }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gscs.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,157 @@
+/******************************************************************************
+** @source gscs
+**
+** Calculates the scaled chi-square
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gscs *****************************************************************
+**
+** Calculates the scaled chi-square
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gscs", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjBool translate = ajFalse;
+  AjPStr delkey    = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall    = ajAcdGetSeqall("sequence");
+  translate = ajAcdGetBoolean("translate");
+  delkey    = ajAcdGetString("delkey");
+  accid     = ajAcdGetBoolean("accid");
+  outf      = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/scs/translate=%d/delkey=%S/"
+                  "output=f/tag=gene", base, restid, translate, delkey);
+
+      ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+      if(!gFileOutURLS(url, &outf))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  ajStrDel(&delkey);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gseq2png.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,171 @@
+/******************************************************************************
+** @source gseq2png
+**
+** Converts a sequence to PNG image
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "soapH.h"
+#include "GLANGSoapBinding.nsmap"
+#include "soapClient.c"
+#include "soapC.c"
+#include "../gsoap/stdsoap2.c"
+#include "glibs.h"
+
+
+
+
+/* @prog gseq2png *************************************************************
+**
+** Converts a sequence to PNG image
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gseq2png", argc, argv, "GEMBASSY", "1.0.3");
+
+  struct soap soap;
+  struct ns1__seq2pngInputParams params;
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq    = NULL;
+  AjPStr    seqid    = NULL;
+  ajint	    width    = 0;
+  ajint	    window   = 0;
+  AjPFile   outf     = NULL;
+  AjPStr    filename = NULL;
+  AjPStr    outfname = NULL;
+  AjPStr    tempname = NULL;
+  AjPStr    appname  = NULL;
+  AjPStr    convert  = NULL;
+  AjPStr    format   = NULL;
+
+  ajint i;
+
+  char *in0;
+  char *result;
+
+  seqall   = ajAcdGetSeqall("sequence");
+  window   = ajAcdGetInt("window");
+  width    = ajAcdGetInt("width");
+  filename = ajAcdGetString("goutfile");
+  format   = ajAcdGetString("format");
+
+  appname = ajStrNewC("convert");
+
+  params.window = window;
+  params.width  = width;
+  params.output = "g";
+
+  i = 0;
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      soap_init(&soap);
+
+      inseq = NULL;
+
+      ajStrAppendC(&inseq, ">");
+      ajStrAppendS(&inseq, ajSeqGetNameS(seq));
+      ajStrAppendC(&inseq, "\n");
+      ajStrAppendS(&inseq, ajSeqGetSeqS(seq));
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      in0 = ajCharNewS(inseq);
+
+      if(soap_call_ns1__seq2png(
+			       &soap,
+                                NULL,
+                                NULL,
+			        in0,
+                               &params,
+                               &result
+			       ) == SOAP_OK)
+        {
+          ++i;
+
+          outfname = ajStrNewS(ajFmtStr("%S.%d.%S",
+                                        filename,
+                                        i,
+                                        format));
+
+          outf = ajFileNewOutNameS(outfname);
+
+          if(!outf)
+            {
+              ajDie("File open error\n");
+            }
+
+          if(!ajStrMatchC(format, "png"))
+            {
+              if(!gHttpConvertC(result, &outf, ajStrNewC("png"), format))
+                {
+                  ajDie("File downloading error from:\n%s\n", result);
+                }
+              else
+                {
+                  ajFmtPrint("Created %S\n", outfname);
+                }
+            }
+          else
+            {
+              if(!gHttpGetBinC(result, &outf))
+                {
+                  ajDie("File downloading error from:\n%s\n", result);
+                }
+              else
+                {
+                  ajFmtPrint("Created %S\n", outfname);
+                }
+            }
+
+          ajStrDel(&outfname);
+        }
+      else
+        {
+          soap_print_fault(&soap, stderr);
+        }
+
+      soap_destroy(&soap);
+      soap_end(&soap);
+      soap_done(&soap);
+
+      AJFREE(in0);
+
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+
+  ajStrDel(&filename);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gseqinfo.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,127 @@
+/******************************************************************************
+** @source gseqinfo
+**
+** Prints out basic nucleotide sequence statistics
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   RESTify
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gseqinfo *************************************************************
+**
+** Prints out basic nucleotide sequence statistics
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gseqinfo", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq  = NULL;
+
+  AjPStr ori = NULL;
+  AjPStr ter = NULL;
+
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPStr      tmpname = NULL;
+  AjPSeqout   tmpout  = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall = ajAcdGetSeqall("sequence");
+  outf = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+  ajStrAppendC(&tmpname, ".fasta");
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      tmpout = ajSeqoutNew();
+
+      if(!ajSeqoutOpenFilename(tmpout, tmpname))
+        {
+          embExitBad();
+        }
+
+      ajSeqoutSetFormatS(tmpout,ajStrNewC("fasta"));
+      ajSeqoutWriteSeq(tmpout, seq);
+      ajSeqoutClose(tmpout);
+      ajSeqoutDel(&tmpout);
+
+      ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+      gFilePostSS(url, tmpname, &restid);
+      ajStrDel(&url);
+      ajSysFileUnlinkS(tmpname);
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/seqinfo/", base, restid);
+
+      ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+      if(!gFileOutURLS(url, &outf))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gshuffleseq.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,114 @@
+/******************************************************************************
+** @source gshuffleseq
+**
+** Create randomized sequence with conserved k-mer composition
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   RESTify
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "soapH.h"
+#include "GLANGSoapBinding.nsmap"
+#include "soapClient.c"
+#include "soapC.c"
+#include "../gsoap/stdsoap2.c"
+#include "glibs.h"
+
+
+
+
+/* @prog gshuffleseq **********************************************************
+**
+** Create randomized sequence with conserved k-mer composition
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gshuffleseq", argc, argv, "GEMBASSY", "1.0.3");
+
+  struct soap soap;
+  struct ns1__shuffleseqInputParams params;
+
+  AjPSeqall seqall;
+  AjPSeqout seqout;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+  ajint	    k = 0;
+
+  char *in0;
+  char *result;
+
+  seqall = ajAcdGetSeqall("sequence");
+  k      = ajAcdGetInt("k");
+  seqout = ajAcdGetSeqout("outseq");
+
+  params.k = k;
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+
+      soap_init(&soap);
+
+      inseq = NULL;
+
+      ajStrAppendS(&inseq, ajSeqGetSeqS(seq));
+
+      in0 = ajCharNewS(inseq);
+
+      if(soap_call_ns1__shuffleseq(
+				  &soap,
+                                   NULL,
+                                   NULL,
+				   in0,
+                                  &params,
+                                  &result
+				  ) == SOAP_OK)
+        {
+          ajCharFmtUpper(result);
+          ajSeqAssignSeqC(seq, result);
+          ajSeqoutWriteSeq(seqout, seq);
+        }
+      else
+        {
+          soap_print_fault(&soap, stderr);
+        }
+
+      soap_destroy(&soap);
+      soap_end(&soap);
+      soap_done(&soap);
+
+      AJFREE(in0);
+
+      ajStrDel(&inseq);
+  }
+
+  ajSeqoutClose(seqout);
+  ajSeqoutDel(&seqout);
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gsignature.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,156 @@
+/******************************************************************************
+** @source gsignature
+**
+** Calculate oligonucleotide usage (genomic signature)
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gsignature ***********************************************************
+**
+** Calculate oligonucleotide usage (genomic signature)
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gsignature", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  ajint	 wordlength = 0;
+  AjBool bothstrand = ajFalse;
+  AjBool oe         = ajFalse;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall = ajAcdGetSeqall("sequence");
+  wordlength = ajAcdGetInt("wordlength");
+  bothstrand = ajAcdGetBoolean("bothstrand");
+  oe     = ajAcdGetBoolean("oe");
+  accid  = ajAcdGetBoolean("accid");
+  outf   = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/signature/wordlength=%d/bothstrand=%d/"
+                  "oe=%d/output=f/tag=gene", base, restid, wordlength,
+                  bothstrand, oe);
+
+      ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+      if(!gFileOutURLS(url, &outf))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gsvalue.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,159 @@
+/******************************************************************************
+** @source gsvalue
+**
+** Calculate the strength of selected codon usage bias
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gsvalue **************************************************************
+**
+** Calculate the strength of selected codon usage bias
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gsvalue", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  AjBool sharp = ajFalse;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFilebuff tmp = NULL;
+  AjPStr     line = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall = ajAcdGetSeqall("sequence");
+  sharp  = ajAcdGetBoolean("sharp");
+  accid  = ajAcdGetBoolean("accid");
+  outf   = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                     "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+  ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+  if(ajStrGetLen(seqid) == 0)
+    {
+      ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+    }
+
+  if(ajStrGetLen(seqid) == 0)
+    {
+      ajWarn("No valid header information\n");
+    }
+
+  if(accid)
+    {
+      ajStrAssignS(&restid, seqid);
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajDie("Cannot proceed without header with -accid\n");
+        }
+
+      if(!gValID(seqid))
+        {
+          ajDie("Invalid accession ID:%S, exiting\n", seqid);
+        }
+    }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/S_value/sharp=%d/output=f/tag=gene",
+                  base, restid, sharp);
+
+      if(!gFilebuffURLS(url, &tmp))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajBuffreadLine(tmp, &line);
+
+      ajStrRemoveSetC(&line, "\n");
+
+      ajFmtPrintF(outf, "Sequence: %S S-value: %S\n", seqid, line);
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gviewcds.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,216 @@
+/******************************************************************************
+** @source gviewcds
+**
+** Displays a graph of nucleotide contents around start and stop codons
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gviewcds ************************************************************
+**
+** Displays a graph of nucleotide contents around start and stop codons
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gviewcds", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq = NULL;
+
+  ajint	length = 0;
+  ajint	gap = 0;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjBool      plot = 0;
+  AjPFile     outf = NULL;
+  AjPFilebuff buff = NULL;
+  AjPGraph    mult = NULL;
+
+  gPlotParams gpp;
+  AjPStr      title = NULL;
+  AjPPStr     names = NULL;
+
+  ajint i;
+
+  seqall = ajAcdGetSeqall("sequence");
+  length = ajAcdGetInt("length");
+  gap    = ajAcdGetInt("gap");
+  accid  = ajAcdGetBoolean("accid");
+
+  plot = ajAcdGetToggle("plot");
+  outf = ajAcdGetOutfile("outfile");
+  mult = ajAcdGetGraphxy("graph");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              gAssignUniqueName(&tmpname);
+
+              tmpfile = ajFileNewOutNameS(tmpname);
+
+              if(!tmpfile)
+                {
+                  ajFmtError("Output file (%S) open error\n", tmpname);
+                  embExitBad();
+                }
+
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajFmtError("Sequence does not have features\n"
+                         "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/view_cds/length=%d/gap=%d/"
+                  "output=f/tag=gene", base, restid, length, gap);
+
+      if(plot)
+        {
+          if((names = (AjPPStr)malloc(sizeof(AjPStr) * 5)) == NULL) {
+            ajDie("Error in memory allocation, exiting\n");
+          }
+
+          names[0] = NULL;
+          names[1] = ajStrNewC("A");
+          names[2] = ajStrNewC("T");
+          names[3] = ajStrNewC("G");
+          names[4] = ajStrNewC("C");
+
+          title = ajStrNew();
+
+          ajStrAppendC(&title, argv[0]);
+          ajStrAppendC(&title, " of ");
+          ajStrAppendS(&title, seqid);
+
+          gpp.title = ajStrNewS(title);
+          gpp.xlab = ajStrNewC("position");
+          gpp.ylab = ajStrNewC("percentage");
+          gpp.names = names;
+
+          if(!gFilebuffURLS(url, &buff))
+            {
+              ajDie("File downloading error from:\n%S\n", url);
+            }
+
+          if(!gPlotFilebuff(buff, mult, &gpp))
+            {
+              ajDie("Error in plotting\n");
+            }
+
+          i = 0;
+          while(names[i])
+            {
+              AJFREE(names[i]);
+              ++i;
+            }
+
+          AJFREE(names);
+
+          AJFREE(gpp.title);
+          AJFREE(gpp.xlab);
+          AJFREE(gpp.ylab);
+          ajStrDel(&title);
+          ajFilebuffDel(&buff);
+        }
+      else
+        {
+          ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+          if(!gFileOutURLS(url, &outf))
+            {
+              ajDie("File downloading error from:\n%S\n", url);
+            }
+        }
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&seqid);
+
+  embExit();
+
+  return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEMBASSY-1.0.3/src/gwvalue.c	Fri Jun 26 05:19:29 2015 -0400
@@ -0,0 +1,154 @@
+/******************************************************************************
+** @source gwvalue
+**
+** Calculate the 'relative adaptiveness of each codon' (W)
+**
+** @author Copyright (C) 2012 Hidetoshi Itaya
+** @version 1.0.3
+** @modified 2012/1/20  Hidetoshi Itaya  Created!
+** @modified 2013/6/16  Revision 1
+** @modified 2015/2/7   Refactor
+** @@
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+******************************************************************************/
+
+#include "emboss.h"
+#include "glibs.h"
+
+
+
+
+/* @prog gwvalue *************************************************************
+**
+** Calculate the 'relative adaptiveness of each codon' (W)
+**
+******************************************************************************/
+
+int main(int argc, char *argv[])
+{
+  embInitPV("gwvalue", argc, argv, "GEMBASSY", "1.0.3");
+
+  AjPSeqall seqall;
+  AjPSeq    seq;
+  AjPStr    inseq   = NULL;
+
+  AjPStr include = NULL;
+  AjPStr exclude = NULL;
+
+  AjBool accid  = ajFalse;
+  AjPStr restid = NULL;
+  AjPStr seqid  = NULL;
+
+  AjPStr base = NULL;
+  AjPStr url  = NULL;
+
+  AjPFile tmpfile = NULL;
+  AjPStr  tmpname = NULL;
+
+  AjPFile outf = NULL;
+
+  seqall  = ajAcdGetSeqall("sequence");
+  include = ajAcdGetString("include");
+  exclude = ajAcdGetString("exclude");
+  accid   = ajAcdGetBoolean("accid");
+
+  outf = ajAcdGetOutfile("outfile");
+
+  base = ajStrNewC("rest.g-language.org");
+
+  gAssignUniqueName(&tmpname);
+
+  while(ajSeqallNext(seqall, &seq))
+    {
+      inseq = NULL;
+
+      if(!accid)
+        {
+          if(gFormatGenbank(seq, &inseq))
+            {
+              tmpfile = ajFileNewOutNameS(tmpname);
+              if(!tmpfile)
+                {
+                  ajDie("Output file (%S) open error\n", tmpname);
+                }
+              ajFmtPrintF(tmpfile, "%S", inseq);
+              ajFileClose(&tmpfile);
+              ajFmtPrintS(&url, "http://%S/upload/upl.pl", base);
+              gFilePostSS(url, tmpname, &restid);
+              ajStrDel(&url);
+              ajSysFileUnlinkS(tmpname);
+            }
+          else
+            {
+              ajWarn("Sequence does not have features\n"
+                    "Proceeding with sequence accession ID\n");
+              accid = ajTrue;
+            }
+        }
+
+      ajStrAssignS(&seqid, ajSeqGetAccS(seq));
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajStrAssignS(&seqid, ajSeqGetNameS(seq));
+        }
+
+      if(ajStrGetLen(seqid) == 0)
+        {
+          ajWarn("No valid header information\n");
+        }
+
+      if(accid)
+        {
+          ajStrAssignS(&restid, seqid);
+          if(ajStrGetLen(seqid) == 0)
+            {
+              ajDie("Cannot proceed without header with -accid\n");
+            }
+
+          if(!gValID(seqid))
+            {
+              ajDie("Invalid accession ID:%S, exiting\n", seqid);
+            }
+        }
+
+      url = ajStrNew();
+
+      ajFmtPrintS(&url, "http://%S/%S/w_value/include=%S/exclude=%S/output=f",
+                  base, restid, include, exclude);
+
+      ajFmtPrintF(outf, "Sequence: %S\n", seqid);
+      if(!gFileOutURLS(url, &outf))
+        {
+          ajDie("Failed to download result from:\n%S\n", url);
+        }
+
+      ajStrDel(&url);
+      ajStrDel(&restid);
+      ajStrDel(&seqid);
+      ajStrDel(&inseq);
+    }
+
+  ajFileClose(&outf);
+
+  ajSeqallDel(&seqall);
+  ajSeqDel(&seq);
+  ajStrDel(&base);
+
+  embExit();
+
+  return 0;
+}